国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)的改寫(xiě)方法及裝置與流程

      文檔序號(hào):11590577閱讀:318來(lái)源:國(guó)知局
      本公開(kāi)涉及計(jì)算機(jī)
      技術(shù)領(lǐng)域
      ,尤其涉及一種數(shù)據(jù)的改寫(xiě)方法及裝置。
      背景技術(shù)
      :分布式文件系統(tǒng)進(jìn)行改寫(xiě)操作的過(guò)程中,若系統(tǒng)調(diào)用i/o(input/output,輸入/輸出)接口后,收到硬盤(pán)返回的寫(xiě)完成信息前發(fā)生異常導(dǎo)致掉電,則系統(tǒng)無(wú)法收到硬盤(pán)返回的寫(xiě)完成信息,從而系統(tǒng)無(wú)法得知數(shù)據(jù)是否完成改寫(xiě)操作,導(dǎo)致硬盤(pán)上的數(shù)據(jù)不可靠。其中,改寫(xiě)可以指將本次寫(xiě)入的數(shù)據(jù)替換硬盤(pán)中的原有數(shù)據(jù)的操作,即將新數(shù)據(jù)替換舊數(shù)據(jù)。在分布式文件系統(tǒng)中,可以通過(guò)日志系統(tǒng)進(jìn)行掉電保護(hù),即在硬盤(pán)進(jìn)行改寫(xiě)操作之前,先將數(shù)據(jù)寫(xiě)入日志系統(tǒng),在數(shù)據(jù)成功寫(xiě)入日志系統(tǒng)后,再將數(shù)據(jù)寫(xiě)入硬盤(pán)。若系統(tǒng)在將數(shù)據(jù)寫(xiě)入硬盤(pán)的過(guò)程中發(fā)生異常導(dǎo)致掉電,則系統(tǒng)等待上電后,可以讀取日志系統(tǒng)中的數(shù)據(jù)并將該數(shù)據(jù)再次寫(xiě)入硬盤(pán)。圖1示出相關(guān)技術(shù)中改寫(xiě)操作的應(yīng)用場(chǎng)景的示意圖。如圖1所示,存儲(chǔ)系統(tǒng)在接收到來(lái)自客戶(hù)端的寫(xiě)請(qǐng)求后,先將數(shù)據(jù)寫(xiě)入日志系統(tǒng)。其中,日志系統(tǒng)可以通過(guò)在硬盤(pán)的分區(qū)上創(chuàng)建xfs(本地文件系統(tǒng)的一種),然后在本地文件系統(tǒng)中創(chuàng)建一個(gè)文件,將客戶(hù)端發(fā)送的數(shù)據(jù)寫(xiě)入文件。數(shù)據(jù)在日志系統(tǒng)中寫(xiě)完成后,通知存儲(chǔ)系統(tǒng)日志系統(tǒng)寫(xiě)完成。存儲(chǔ)系統(tǒng)獲取數(shù)據(jù)在硬盤(pán)上的lba(logicalblockaddress,邏輯區(qū)塊地址),并向該lba寫(xiě)入數(shù)據(jù)。日志系統(tǒng)解決了由于數(shù)據(jù)寫(xiě)入過(guò)程中系統(tǒng)掉電引起的數(shù)據(jù)破壞的問(wèn)題,但是同時(shí)引入了兩次寫(xiě)入數(shù)據(jù)的問(wèn)題。如圖1所示,在第一次寫(xiě)操作中,將數(shù)據(jù)寫(xiě)入日志系統(tǒng)。在第二次寫(xiě)操作中,將數(shù)據(jù)寫(xiě)入硬盤(pán)。一份數(shù)據(jù)需要在存儲(chǔ)系統(tǒng)的硬盤(pán)進(jìn)行兩次寫(xiě)操作。在存儲(chǔ)系統(tǒng)中,硬盤(pán)處理i/o接口的速度和cpu(centralprocessingunit,中央處理器)處理i/o接口的速度相比慢很多,此外,硬盤(pán)處理i/o接口的速度和內(nèi)存處理i/o接口的速度相比也慢很多,而兩次寫(xiě)入數(shù)據(jù)的問(wèn)題將導(dǎo)致硬盤(pán)需要處理的i/o接口次數(shù)翻倍,進(jìn)而導(dǎo)致存儲(chǔ)系統(tǒng)處理業(yè)務(wù)的iops(input/outputoperationspersecond,每秒進(jìn)行讀寫(xiě)操作的次數(shù))和帶寬都降低,導(dǎo)致存儲(chǔ)系統(tǒng)的性能降低。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本公開(kāi)提出了一種數(shù)據(jù)的改寫(xiě)方法及裝置,能夠防止系統(tǒng)掉電時(shí)破壞舊數(shù)據(jù),避免采用日志系統(tǒng)進(jìn)行掉電保護(hù)引起的兩次寫(xiě)入數(shù)據(jù)引起的iops和帶寬降低,存儲(chǔ)系統(tǒng)的性能降低的問(wèn)題。根據(jù)本公開(kāi)的第一方面,提供了一種數(shù)據(jù)的改寫(xiě)方法,包括:在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,所述改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和所述待寫(xiě)入數(shù)據(jù)的大??;根據(jù)所述當(dāng)前的磁頭位置和所述待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊;將所述待寫(xiě)入數(shù)據(jù)寫(xiě)入所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊;在元數(shù)據(jù)中記錄所述第一邏輯區(qū)塊地址;獲取所述改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,所述第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)所述待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù);將所述第二邏輯區(qū)塊地址加入回收列表。在一種可能的實(shí)現(xiàn)方式中,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為存儲(chǔ)空間大于或等于所述待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊中距離所述當(dāng)前的磁頭位置最近的邏輯區(qū)塊。在一種可能的實(shí)現(xiàn)方式中,獲取硬盤(pán)當(dāng)前的磁頭位置,包括:獲取記錄的提交i/o接口中的偏移地址。在一種可能的實(shí)現(xiàn)方式中,確定第一邏輯區(qū)塊地址之前,所述方法還包括:在所述待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,將所述待寫(xiě)入數(shù)據(jù)的大小調(diào)整為所述第一數(shù)值的整數(shù)倍。根據(jù)本公開(kāi)的第二方面,提供了一種數(shù)據(jù)的改寫(xiě)裝置,包括:第一獲取模塊,用于在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,所述改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和所述待寫(xiě)入數(shù)據(jù)的大小;確定模塊,用于根據(jù)所述當(dāng)前的磁頭位置和所述待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊;寫(xiě)入模塊,用于將所述待寫(xiě)入數(shù)據(jù)寫(xiě)入所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊;記錄模塊,用于在元數(shù)據(jù)中記錄所述第一邏輯區(qū)塊地址;第二獲取模塊,用于獲取所述改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,所述第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)所述待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù);加入模塊,用于將所述第二邏輯區(qū)塊地址加入回收列表。在一種可能的實(shí)現(xiàn)方式中,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為存儲(chǔ)空間大于或等于所述待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊中距離所述當(dāng)前的磁頭位置最近的邏輯區(qū)塊。在一種可能的實(shí)現(xiàn)方式中,所述第一獲取模塊包括:磁頭位置獲取子模塊,用于獲取記錄的提交i/o接口中的偏移地址。在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:調(diào)整模塊,用于在所述待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,將所述待寫(xiě)入數(shù)據(jù)的大小調(diào)整為所述第一數(shù)值的整數(shù)倍。根據(jù)本公開(kāi)的第三方面,提供了一種數(shù)據(jù)的改寫(xiě)裝置,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,所述改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和所述待寫(xiě)入數(shù)據(jù)的大?。桓鶕?jù)所述當(dāng)前的磁頭位置和所述待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊;將所述待寫(xiě)入數(shù)據(jù)寫(xiě)入所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊;在元數(shù)據(jù)中記錄所述第一邏輯區(qū)塊地址;獲取所述改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,所述第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)所述待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù);將所述第二邏輯區(qū)塊地址加入回收列表。根據(jù)本公開(kāi)的第四方面,提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由終端和/或服務(wù)器的處理器執(zhí)行時(shí),使得終端和/或服務(wù)器能夠執(zhí)行上述方法。本公開(kāi)的數(shù)據(jù)的改寫(xiě)方法及裝置,改變了相關(guān)技術(shù)中使用先寫(xiě)入日志系統(tǒng),然后再寫(xiě)入存儲(chǔ)系統(tǒng)的方法,而在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,將待寫(xiě)入數(shù)據(jù)寫(xiě)入第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊,在元數(shù)據(jù)中記錄第一邏輯區(qū)塊地址,并獲取改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,將第二邏輯區(qū)塊地址加入回收列表,由此能夠防止系統(tǒng)掉電時(shí)破壞舊數(shù)據(jù),并避免采用日志系統(tǒng)進(jìn)行掉電保護(hù)引起的兩次寫(xiě)入數(shù)據(jù),從而提高iops和帶寬,提高存儲(chǔ)系統(tǒng)的性能。根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本公開(kāi)的其它特征及方面將變得清楚。附圖說(shuō)明包含在說(shuō)明書(shū)中并且構(gòu)成說(shuō)明書(shū)的一部分的附圖與說(shuō)明書(shū)一起示出了本公開(kāi)的示例性實(shí)施例、特征和方面,并且用于解釋本公開(kāi)的原理。圖1示出相關(guān)技術(shù)中改寫(xiě)操作的應(yīng)用場(chǎng)景的示意圖。圖2示出根據(jù)本公開(kāi)一實(shí)施例的數(shù)據(jù)的改寫(xiě)方法的流程圖。圖3示出根據(jù)本公開(kāi)一實(shí)施例的調(diào)用提交i/o接口的示意圖。圖4示出根據(jù)本公開(kāi)一實(shí)施例的元數(shù)據(jù)的結(jié)構(gòu)示意圖。圖5a示出相關(guān)技術(shù)中改寫(xiě)操作的處理流程的示意圖。圖5b示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的示意圖。圖5c示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的另一示意圖。圖5d示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的另一示意圖。圖6示出根據(jù)本公開(kāi)一實(shí)施例的數(shù)據(jù)的改寫(xiě)方法的一示例性的流程圖。圖7示出根據(jù)本公開(kāi)一實(shí)施例的調(diào)整待寫(xiě)入數(shù)據(jù)的大小時(shí)邏輯區(qū)塊的結(jié)構(gòu)示意圖。圖8是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)的改寫(xiě)裝置的框圖。圖9是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)的改寫(xiě)裝置的一示例性的框圖。圖10是根據(jù)一示例性實(shí)施例示出的一種用于數(shù)據(jù)的改寫(xiě)的裝置900的框圖。具體實(shí)施方式以下將參考附圖詳細(xì)說(shuō)明本公開(kāi)的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。在這里專(zhuān)用的詞“示例性”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例性”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。另外,為了更好的說(shuō)明本公開(kāi),在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有某些具體細(xì)節(jié),本公開(kāi)同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開(kāi)的主旨。實(shí)施例1圖2示出根據(jù)本公開(kāi)一實(shí)施例的數(shù)據(jù)的改寫(xiě)方法的流程圖。該數(shù)據(jù)的改寫(xiě)方法可以應(yīng)用于nas(networkattachedstorage,網(wǎng)絡(luò)附屬存儲(chǔ))中。如圖2所示,該數(shù)據(jù)的改寫(xiě)方法,包括以下步驟。在步驟s201中,在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,該改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和待寫(xiě)入數(shù)據(jù)的大小。本實(shí)施例的改寫(xiě)可以指將本次寫(xiě)入的數(shù)據(jù)替換硬盤(pán)中的原有的數(shù)據(jù)的操作,即用新數(shù)據(jù)替換舊數(shù)據(jù)。硬盤(pán)驅(qū)動(dòng)器可以指計(jì)算機(jī)中控制硬盤(pán)尋址以及存取數(shù)據(jù)的裝置。硬盤(pán)可以作為計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器。本實(shí)施例不限制硬盤(pán)的類(lèi)型,例如硬盤(pán)可以為機(jī)械硬盤(pán)或混合硬盤(pán)等。一般而言,硬盤(pán)可以密封固定在硬盤(pán)驅(qū)動(dòng)器中。本實(shí)施例的磁頭指的是通過(guò)磁性原理讀取磁性介質(zhì)上數(shù)據(jù)的部件。硬盤(pán)在工作時(shí),磁頭可以通過(guò)感應(yīng)旋轉(zhuǎn)的盤(pán)片上磁場(chǎng)的變化來(lái)讀取數(shù)據(jù),通過(guò)改變盤(pán)片上的磁場(chǎng)來(lái)寫(xiě)入數(shù)據(jù)。硬盤(pán)當(dāng)前的磁頭位置可以指硬盤(pán)的磁頭當(dāng)前所處盤(pán)片的位置。相關(guān)技術(shù)中,硬盤(pán)當(dāng)前的磁頭位置可以通過(guò)邏輯區(qū)塊地址表示。在獲取硬盤(pán)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小后,可以尋找適合存儲(chǔ)待寫(xiě)入數(shù)據(jù)的空閑的邏輯區(qū)塊,并將待寫(xiě)入數(shù)據(jù)存儲(chǔ)至選定的空閑的邏輯區(qū)塊。在一種可能的實(shí)現(xiàn)方式中,獲取硬盤(pán)當(dāng)前的磁頭位置可以包括:獲取記錄的提交i/o接口中的偏移地址。圖3示出根據(jù)本公開(kāi)一實(shí)施例的調(diào)用提交i/o接口的示意圖。如圖3所示,每次提交i/o接口都會(huì)調(diào)用submit指令,記錄提交i/o接口中的偏移地址。通過(guò)獲取記錄的提交i/o接口中的偏移地址,可以確定硬盤(pán)當(dāng)前的磁頭位置。在步驟s202中,根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊。在一種可能的實(shí)現(xiàn)方式中,第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為存儲(chǔ)空間大于或等于待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊。在一種可能的實(shí)現(xiàn)方式中,第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為存儲(chǔ)空間大于或等于待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊中距離當(dāng)前的磁頭位置最近的邏輯區(qū)塊。采用該方法確定第一邏輯區(qū)塊地址,能夠使得磁頭的移動(dòng)范圍最小,降低硬盤(pán)尋址時(shí)間。作為該實(shí)現(xiàn)方式的一個(gè)示例,可以先確定硬盤(pán)中存儲(chǔ)空間大于或等于待寫(xiě)入數(shù)據(jù)的大小的各個(gè)空閑的邏輯區(qū)塊,然后從各個(gè)空閑的邏輯區(qū)塊中選擇距離當(dāng)前磁頭位置最近的邏輯區(qū)塊。在確定用于存儲(chǔ)待寫(xiě)入數(shù)據(jù)的邏輯區(qū)塊后,可以獲取該邏輯區(qū)塊對(duì)應(yīng)的邏輯區(qū)塊地址,作為第一邏輯區(qū)塊地址。其中,硬盤(pán)中各個(gè)空閑的邏輯區(qū)塊可以通過(guò)邏輯區(qū)塊地址空間表確定。作為該實(shí)現(xiàn)方式的另一個(gè)示例,可以按照距離當(dāng)前的磁頭位置由近到遠(yuǎn)的順序,依次將各個(gè)空閑的邏輯區(qū)塊的存儲(chǔ)空間大小與待寫(xiě)入數(shù)據(jù)的大小進(jìn)行比較,選取存儲(chǔ)空間大于或等于待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊中距離當(dāng)前的磁頭位置最近的邏輯區(qū)塊。在確定用于存儲(chǔ)待寫(xiě)入數(shù)據(jù)的邏輯區(qū)塊后,可以獲取該邏輯區(qū)塊對(duì)應(yīng)的邏輯區(qū)塊地址,作為第一邏輯區(qū)塊地址。在步驟s203中,將待寫(xiě)入數(shù)據(jù)寫(xiě)入第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊。需要說(shuō)明的是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)能夠理解,相關(guān)技術(shù)中有各種方式可以實(shí)現(xiàn)將待寫(xiě)入數(shù)據(jù)寫(xiě)入第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊,在此不做限定。例如,可以采用多區(qū)段寫(xiě)入的方式將待寫(xiě)入數(shù)據(jù)寫(xiě)入第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊。在步驟s204中,在元數(shù)據(jù)中記錄第一邏輯區(qū)塊地址。元數(shù)據(jù)(metadata)可以指用于描述數(shù)據(jù)屬性的信息。元數(shù)據(jù)可以記錄所管理的數(shù)據(jù)在硬盤(pán)中的位置,通過(guò)元數(shù)據(jù)可以實(shí)現(xiàn)指示存儲(chǔ)位置、歷史數(shù)據(jù)、資源查找和文件記錄等功能。圖4示出根據(jù)本公開(kāi)一實(shí)施例的元數(shù)據(jù)的結(jié)構(gòu)示意圖。如圖4所示,存儲(chǔ)對(duì)象的元數(shù)據(jù)為onode(索引節(jié)點(diǎn))結(jié)構(gòu),onode結(jié)構(gòu)是常駐內(nèi)存的數(shù)據(jù)結(jié)構(gòu),持久化的時(shí)候會(huì)以鍵值對(duì)(key-value)的形式存到硬盤(pán)上。其中,onode結(jié)構(gòu)中可以分為多個(gè)邏輯區(qū)塊lextent,用一個(gè)map來(lái)記錄。map為一種用于位圖映射的數(shù)據(jù)結(jié)構(gòu)。邏輯區(qū)塊lextent可以對(duì)應(yīng)到實(shí)際物理盤(pán)上的區(qū)域,即通過(guò)offset和length來(lái)定位物理盤(pán)的位置區(qū)域,offset值為邏輯區(qū)塊地址。作為本實(shí)施例的一個(gè)示例,采用原子操作的方式在元數(shù)據(jù)中記錄第一邏輯區(qū)塊地址。例如,在元數(shù)據(jù)中記錄第一邏輯區(qū)塊地址對(duì)應(yīng)的offset和length。其中,原子操作可以指不會(huì)被線程調(diào)度機(jī)制打斷的操作。原子操作一旦開(kāi)始,則一直運(yùn)行到結(jié)束,中間不會(huì)有任何線程切換。在步驟s205中,獲取改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)。在步驟s206中,將第二邏輯區(qū)塊地址加入回收列表。其中,第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)。將第二邏輯區(qū)塊地址加入回收列表,硬盤(pán)能夠?qū)厥樟斜碇杏涗浀牡诙壿媴^(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊進(jìn)行釋放,從而使得第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊變成空閑的邏輯區(qū)塊。圖5a示出相關(guān)技術(shù)中改寫(xiě)操作的處理流程的示意圖。元數(shù)據(jù)中記錄管理數(shù)據(jù)在磁盤(pán)中位置的信息。相關(guān)技術(shù)中,先將待寫(xiě)入數(shù)據(jù)寫(xiě)入日志系統(tǒng),在數(shù)據(jù)成功寫(xiě)入日志系統(tǒng)后,再將待寫(xiě)入數(shù)據(jù)寫(xiě)入硬盤(pán)。如圖5a所示,在將待寫(xiě)入數(shù)據(jù)寫(xiě)入硬盤(pán)的過(guò)程中,通過(guò)查詢(xún)?cè)獢?shù)據(jù)的信息,找到舊數(shù)據(jù)對(duì)應(yīng)的邏輯區(qū)塊地址,將待寫(xiě)入數(shù)據(jù)直接寫(xiě)到邏輯區(qū)塊地址處。在該過(guò)程中,只是查詢(xún)?cè)獢?shù)據(jù),而無(wú)需修改元數(shù)據(jù)。若系統(tǒng)在將待寫(xiě)入數(shù)據(jù)寫(xiě)入硬盤(pán)的過(guò)程中發(fā)生異常導(dǎo)致掉電,舊數(shù)據(jù)雖然被破壞,但是等待系統(tǒng)上電后則可直接讀取日志系統(tǒng)中的數(shù)據(jù)并將該數(shù)據(jù)再次寫(xiě)入硬盤(pán)。圖5b示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的示意圖。圖5c示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的另一示意圖。圖5d示出根據(jù)本公開(kāi)一實(shí)施例的改寫(xiě)操作的處理流程的另一示意圖。本實(shí)施例的數(shù)據(jù)的改寫(xiě)方法,可以不采用日志系統(tǒng),而將待寫(xiě)入數(shù)據(jù)直接寫(xiě)入硬盤(pán)中的空閑的邏輯區(qū)塊。如圖5b至5d所示,超級(jí)塊1至超級(jí)塊4指向舊元數(shù)據(jù)。采用新申請(qǐng)的空閑的邏輯區(qū)塊來(lái)寫(xiě)入待寫(xiě)入數(shù)據(jù),并在待寫(xiě)入數(shù)據(jù)寫(xiě)入成功后,將新申請(qǐng)的邏輯區(qū)塊地址修改到新元數(shù)據(jù)中。其中,先修改超級(jí)塊1和超級(jí)塊3,在超級(jí)塊1和超級(jí)塊3修改成功的情況下,再修改超級(jí)塊2和超級(jí)塊4,使得超級(jí)塊1至超級(jí)塊4指向新元數(shù)據(jù)。在超級(jí)塊1和超級(jí)塊3修改不成功的情況下,則再通過(guò)超級(jí)塊2和超級(jí)塊4恢復(fù)超級(jí)塊1和超級(jí)塊3。若系統(tǒng)在將待寫(xiě)入數(shù)據(jù)寫(xiě)入硬盤(pán)的過(guò)程中發(fā)生異常導(dǎo)致掉電,由于是將待寫(xiě)入數(shù)據(jù)直接寫(xiě)入硬盤(pán)中的空閑的邏輯區(qū)塊,因此舊數(shù)據(jù)不會(huì)因?yàn)橄到y(tǒng)掉電而被破壞。表1示出采用日志系統(tǒng)和采用本實(shí)施例的數(shù)據(jù)的改寫(xiě)方法的性能對(duì)比測(cè)試結(jié)果。通過(guò)表1的測(cè)試結(jié)果,可以發(fā)現(xiàn)本實(shí)施例的數(shù)據(jù)的改寫(xiě)方法能夠提高iops和帶寬,提高存儲(chǔ)系統(tǒng)的性能。如表1所示,iops表示每秒進(jìn)行讀寫(xiě)i/o接口操作的次數(shù),用于衡量隨機(jī)訪問(wèn)的性能。bw(bandwidth,頻帶寬度)表示每秒傳輸?shù)臄?shù)據(jù)量,用于衡量系統(tǒng)的吞吐能力。resp(時(shí)延)表示i/o接口的時(shí)延,用于衡量系統(tǒng)的性能。表1塊大小iorate(iops)bwresp(時(shí)延)日志系統(tǒng)4k(隨機(jī)寫(xiě))4369.917.07mb/sec29.3msec本實(shí)施例4k(隨機(jī)寫(xiě))7407.528.94mb/sec17.275msec日志系統(tǒng)64k(隨機(jī)寫(xiě))2105.7131.61mb/sec60.77msec本實(shí)施例64k(隨機(jī)寫(xiě))6437.9402.2mb/sec19.875msec本實(shí)施例的數(shù)據(jù)的改寫(xiě)方法,改變了相關(guān)技術(shù)中使用先寫(xiě)入日志系統(tǒng),然后再寫(xiě)入存儲(chǔ)系統(tǒng)的方法,而通過(guò)將待寫(xiě)入數(shù)據(jù)寫(xiě)入空閑的邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊,并將硬盤(pán)中存儲(chǔ)待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)的邏輯區(qū)塊得到釋放變成空閑的邏輯區(qū)塊。若在將待寫(xiě)入數(shù)據(jù)寫(xiě)入空閑的邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊的過(guò)程中發(fā)生異常導(dǎo)致掉電,則由于待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)沒(méi)有被覆蓋,由此能夠防止系統(tǒng)掉電時(shí)破壞舊數(shù)據(jù),并避免采用日志系統(tǒng)進(jìn)行掉電保護(hù)引起的兩次寫(xiě)入數(shù)據(jù),從而提高iops和帶寬,提高存儲(chǔ)系統(tǒng)的性能。圖6示出根據(jù)本公開(kāi)一實(shí)施例的數(shù)據(jù)的改寫(xiě)方法的一示例性的流程圖。如圖6所示,該數(shù)據(jù)的改寫(xiě)方法,包括以下步驟。在步驟s601中,在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,該改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和待寫(xiě)入數(shù)據(jù)的大小。對(duì)該步驟的描述可以參見(jiàn)步驟s201。在步驟s602中,判斷待寫(xiě)入數(shù)據(jù)的大小是否為第一數(shù)值的整數(shù)倍,在待寫(xiě)入數(shù)據(jù)的大小為第一數(shù)值的整數(shù)倍的情況下,執(zhí)行步驟s603,在待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,執(zhí)行步驟s608。其中,第一數(shù)值可以為預(yù)先設(shè)置的數(shù)據(jù),例如4kb等,在此不做限定。在步驟s603中,根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊。作為本實(shí)施例的一個(gè)示例,在待寫(xiě)入數(shù)據(jù)的大小為第一數(shù)值的整數(shù)倍的情況下,根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址。例如,第一數(shù)值為4kb,若待寫(xiě)入數(shù)據(jù)的大小為12kb,待寫(xiě)入數(shù)據(jù)的大小為第一數(shù)值的3倍,則根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小12kb,確定第一邏輯區(qū)塊地址。在步驟s604中,將待寫(xiě)入數(shù)據(jù)寫(xiě)入第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊。對(duì)該步驟的描述可以參見(jiàn)步驟s203。在步驟s605中,在元數(shù)據(jù)中記錄第一邏輯區(qū)塊地址。對(duì)該步驟的描述可以參見(jiàn)步驟s204。在步驟s606中,獲取改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)。對(duì)該步驟的描述可以參見(jiàn)步驟s205。在步驟s607中,將第二邏輯區(qū)塊地址加入回收列表。對(duì)該步驟的描述可以參見(jiàn)步驟s206。在步驟s608中,將待寫(xiě)入數(shù)據(jù)的大小調(diào)整為第一數(shù)值的整數(shù)倍。在步驟s609中,根據(jù)當(dāng)前的磁頭位置和該調(diào)整后的待寫(xiě)入數(shù)據(jù)的大小,確定第三邏輯區(qū)塊地址,第三邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊。在步驟s610中,將該調(diào)整后的待寫(xiě)入數(shù)據(jù)寫(xiě)入第三邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊。作為本實(shí)施例的一個(gè)示例,在待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,可以將待寫(xiě)入數(shù)據(jù)的大小調(diào)整為第一數(shù)值的整數(shù)倍,并根據(jù)當(dāng)前的磁頭位置和該調(diào)整后的待寫(xiě)入數(shù)據(jù)的大小,確定第三邏輯區(qū)塊地址。其中,第三邏輯區(qū)塊地址中的offset為某一個(gè)邏輯區(qū)塊的起始地址。例如,第一數(shù)值為4kb,若待寫(xiě)入數(shù)據(jù)的大小為13kb,待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍,則將待寫(xiě)入數(shù)據(jù)的大小調(diào)整為第一數(shù)值的整數(shù)倍,例如16kb。根據(jù)當(dāng)前的磁頭位置和待寫(xiě)入數(shù)據(jù)的大小16kb,確定第三邏輯區(qū)塊地址,其中,第三邏輯區(qū)塊地址中的offset為某一個(gè)邏輯區(qū)塊的起始地址。作為本實(shí)施例的另一個(gè)示例,在待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,可以根據(jù)當(dāng)前的磁頭位置和該待寫(xiě)入數(shù)據(jù)的大小,確定第四邏輯區(qū)塊地址,并將待寫(xiě)入數(shù)據(jù)的大小調(diào)整為第一數(shù)值的整數(shù)倍。圖7示出根據(jù)本公開(kāi)一實(shí)施例的調(diào)整待寫(xiě)入數(shù)據(jù)的大小時(shí)邏輯區(qū)塊的結(jié)構(gòu)示意圖。例如,如圖7所示,若第四邏輯區(qū)塊地址中的offset不為某一個(gè)邏輯區(qū)塊的起始地址,且待寫(xiě)入數(shù)據(jù)的length的結(jié)尾不為某一個(gè)邏輯區(qū)塊的結(jié)束地址。則可以通過(guò)在待寫(xiě)入數(shù)據(jù)的前面和后面分別填補(bǔ)0,使得調(diào)整后的待寫(xiě)入數(shù)據(jù)的大小變?yōu)榈谝粩?shù)值的整數(shù)倍。在步驟s611中,在元數(shù)據(jù)中記錄第三邏輯區(qū)塊地址。需要說(shuō)明的是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)能夠理解,調(diào)整后的待寫(xiě)入數(shù)據(jù)的大小只要為第一數(shù)值的整數(shù)倍即可,由此使得硬盤(pán)中均按照第一數(shù)值的整數(shù)倍進(jìn)行數(shù)據(jù)的寫(xiě)入或空間的釋放,能夠有效地避免磁盤(pán)碎片。此外,可以將待寫(xiě)入數(shù)據(jù)調(diào)整為大小為第一數(shù)值的整數(shù)倍且與待寫(xiě)入數(shù)據(jù)的大小相差最小的數(shù)值,從而節(jié)省硬盤(pán)中的存儲(chǔ)空間。在步驟s612中,獲取改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù)。對(duì)該步驟的描述可以參見(jiàn)步驟s205。在步驟s613中,將第二邏輯區(qū)塊地址加入回收列表。對(duì)該步驟的描述可以參見(jiàn)步驟s206。實(shí)施例2圖8是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)的改寫(xiě)裝置的框圖。如圖8所示,該數(shù)據(jù)的改寫(xiě)裝置,包括:第一獲取模塊11,用于在接收到客戶(hù)端的改寫(xiě)請(qǐng)求的情況下,獲取硬盤(pán)當(dāng)前的磁頭位置,所述改寫(xiě)請(qǐng)求包括待寫(xiě)入數(shù)據(jù)和所述待寫(xiě)入數(shù)據(jù)的大??;確定模塊12,用于根據(jù)所述當(dāng)前的磁頭位置和所述待寫(xiě)入數(shù)據(jù)的大小,確定第一邏輯區(qū)塊地址,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為空閑的邏輯區(qū)塊;寫(xiě)入模塊13,用于將所述待寫(xiě)入數(shù)據(jù)寫(xiě)入所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊;記錄模塊14,用于在元數(shù)據(jù)中記錄所述第一邏輯區(qū)塊地址;第二獲取模塊15,用于獲取所述改寫(xiě)請(qǐng)求對(duì)應(yīng)的第二邏輯區(qū)塊地址,所述第二邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊存儲(chǔ)所述待寫(xiě)入數(shù)據(jù)對(duì)應(yīng)的舊數(shù)據(jù);加入模塊16,用于將所述第二邏輯區(qū)塊地址加入回收列表。在一種可能的實(shí)現(xiàn)方式中,所述第一邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊為存儲(chǔ)空間大于或等于所述待寫(xiě)入數(shù)據(jù)的大小的邏輯區(qū)塊中距離所述當(dāng)前的磁頭位置最近的邏輯區(qū)塊。圖9是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)的改寫(xiě)裝置的一示例性的框圖。如圖9所示:在一種可能的實(shí)現(xiàn)方式中,所述第一獲取模塊11包括:磁頭位置獲取子模塊111,用于獲取記錄的提交i/o接口中的偏移地址。在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:調(diào)整模塊17,用于在所述待寫(xiě)入數(shù)據(jù)的大小不為第一數(shù)值的整數(shù)倍的情況下,將所述待寫(xiě)入數(shù)據(jù)的大小調(diào)整為所述第一數(shù)值的整數(shù)倍。本實(shí)施例的數(shù)據(jù)的改寫(xiě)裝置,改變了相關(guān)技術(shù)中使用先寫(xiě)入日志系統(tǒng),然后再寫(xiě)入存儲(chǔ)系統(tǒng)的方法,而通過(guò)將待寫(xiě)入數(shù)據(jù)寫(xiě)入空閑的邏輯區(qū)塊地址對(duì)應(yīng)的邏輯區(qū)塊,避免對(duì)硬盤(pán)中的原有數(shù)據(jù)的破壞,由此避免采用日志系統(tǒng)進(jìn)行掉電保護(hù)引起的兩次寫(xiě)入數(shù)據(jù),從而提高iops和帶寬,提高存儲(chǔ)系統(tǒng)的性能。實(shí)施例3圖10是根據(jù)一示例性實(shí)施例示出的一種用于數(shù)據(jù)的改寫(xiě)的裝置900的框圖。參照?qǐng)D10,裝置900可以包括以下一個(gè)或多個(gè)組件:處理組件901,存儲(chǔ)器902,電源組件903,以及輸入/輸出(i/o)的接口904。處理組件901通??刂蒲b置900的整體操作。處理組件901可以包括一個(gè)或多個(gè)處理器9011來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。存儲(chǔ)器902被配置為存儲(chǔ)各種類(lèi)型的數(shù)據(jù)以支持在裝置900的操作。存儲(chǔ)器902可以由任何類(lèi)型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(sram),電可擦除可編程只讀存儲(chǔ)器(eeprom),可擦除可編程只讀存儲(chǔ)器(eprom),可編程只讀存儲(chǔ)器(prom),只讀存儲(chǔ)器(rom),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤(pán)或光盤(pán)。電源組件903為裝置900的各種組件提供電力。電源組件903可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置900生成、管理和分配電力相關(guān)聯(lián)的組件。i/o接口904為處理組件901和外圍接口模塊之間提供接口。在示例性實(shí)施例中,裝置900可以被一個(gè)或多個(gè)應(yīng)用專(zhuān)用集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器902,上述指令可由裝置900的處理器9011執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、隨機(jī)存取存儲(chǔ)器(ram)、cd-rom、磁帶、軟盤(pán)和光數(shù)據(jù)存儲(chǔ)設(shè)備等。本公開(kāi)可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本公開(kāi)的各個(gè)方面的計(jì)算機(jī)可讀程序指令。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、便攜式壓縮盤(pán)只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能盤(pán)(dvd)、記憶棒、軟盤(pán)、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。用于執(zhí)行本公開(kāi)操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫(xiě)的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如smalltalk、c++等,以及常規(guī)的過(guò)程式編程語(yǔ)言—諸如“c”語(yǔ)言或類(lèi)似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶(hù)計(jì)算機(jī)上執(zhí)行、部分地在用戶(hù)計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶(hù)計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶(hù)計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本公開(kāi)的各個(gè)方面。這里參照根據(jù)本公開(kāi)實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本公開(kāi)的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。附圖中的流程圖和框圖顯示了根據(jù)本公開(kāi)的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。以上已經(jīng)描述了本公開(kāi)的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本
      技術(shù)領(lǐng)域
      的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本
      技術(shù)領(lǐng)域
      的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。當(dāng)前第1頁(yè)12
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1