欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

磁盤數(shù)據(jù)讀寫方法及磁盤存儲裝置制造方法

文檔序號:6513294閱讀:227來源:國知局
磁盤數(shù)據(jù)讀寫方法及磁盤存儲裝置制造方法
【專利摘要】本發(fā)明提供一種磁盤數(shù)據(jù)讀寫方法及磁盤存儲裝置。其中,所述方法包括:獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置;獲取磁頭當前位置;根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短;根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。本發(fā)明實施例根據(jù)多進程讀寫指令對應的讀取位置和/或寫入位置,將多進程讀寫指令根據(jù)磁盤物理位置進行排序,以使所述磁頭的尋道距離最短,進而縮短了磁頭尋道時間,提高了數(shù)據(jù)存儲的效率。
【專利說明】磁盤數(shù)據(jù)讀寫方法及磁盤存儲裝置

【技術領域】
[0001]本發(fā)明涉及計算機數(shù)據(jù)存儲技術,尤其涉及一種磁盤數(shù)據(jù)讀寫方法及磁盤存儲裝置。

【背景技術】
[0002]隨著網(wǎng)絡的發(fā)展,數(shù)據(jù)量不斷增大,基于關系數(shù)據(jù)模型的數(shù)據(jù)庫,在數(shù)據(jù)檢索速度上,逐漸不能滿足人們的需要。而今科技的高速發(fā)展,海量硬盤逐漸走入了人們的生活,因此硬盤容量已不再是系統(tǒng)的制約因素,線性數(shù)據(jù)模型的優(yōu)勢得以顯現(xiàn)。單機所能承載的數(shù)據(jù)總量不斷上升,但是磁頭尋道時間依舊是現(xiàn)有磁盤提高數(shù)據(jù)讀寫效率的主要瓶頸。


【發(fā)明內(nèi)容】

[0003]本發(fā)明提供一種磁盤讀寫方法及磁盤存儲裝置,用于提高數(shù)據(jù)讀寫效率。
[0004]本發(fā)明的第一個方面是提供一種磁盤數(shù)據(jù)讀寫方法,包括:
[0005]獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置;
[0006]獲取磁頭當前位置;
[0007]根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短;
[0008]根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
[0009]本發(fā)明的另一個方面是提供一種磁盤存儲裝置,包括:
[0010]第一獲取模塊,用于獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置;
[0011]第二獲取模塊,用于獲取磁頭當前位置;
[0012]排序模塊,用于根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短;
[0013]執(zhí)行模塊,用于根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
[0014]由上述技術方案可知,本發(fā)明實施例根據(jù)多進程讀寫指令對應的讀取位置和/或寫入位置,將多進程讀寫指令根據(jù)磁盤物理位置進行排序,以使所述磁頭的尋道距離最短,進而縮短了磁頭尋道時間,提高了數(shù)據(jù)存儲的效率。

【專利附圖】

【附圖說明】
[0015]圖1為本發(fā)明實施例一提供的磁盤數(shù)據(jù)讀寫方法的流程示意圖;
[0016]圖2為本發(fā)明實施例一中例舉的一具體磁道的原理不意圖;
[0017]圖3為本發(fā)明實施例三提供的磁盤存儲裝置的結構示意圖。

【具體實施方式】
[0018]如圖1所示,本發(fā)明實施例一提供的磁盤數(shù)據(jù)讀寫方法的流程示意圖。如圖1所示,本發(fā)明實施例一所述的方法的執(zhí)行主體為磁盤存儲裝置,所述方法包括:
[0019]步驟101、獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置。
[0020]其中,一個時間周期內(nèi)可能只有一個或多個讀取指令,可能只有一個或多個寫入指令,還可能有一個或多個讀取指令以及一個或多個寫入指令。所述時間周期可預先設定。
[0021]具體地,本步驟的一種可能實現(xiàn)方式如下:遍歷磁盤中的索引信息,分別獲取所述時間周期內(nèi)的所有讀取指令欲讀取數(shù)據(jù)在所述磁盤中的讀取位置,所述讀取位置為所述讀取指令對應的操作位置;和/或根據(jù)所述時間周期內(nèi)的所有寫入指令,分別為各寫入指令欲存儲數(shù)據(jù)選取在所述磁盤中的寫入位置,所述寫入位置為所述寫入指令對應的操作位置。更具體地,本實施例中磁盤存儲裝置可采用數(shù)據(jù)塊為最小存儲單位,較大數(shù)據(jù)的存儲消耗多個連續(xù)的數(shù)據(jù)塊,具體可采用bitmap打點算法記錄數(shù)據(jù)塊使用情況。磁盤存儲裝置可根據(jù)欲存儲數(shù)據(jù)長度的匹配度來選擇數(shù)據(jù)寫入位置,即優(yōu)先選擇合適的空閑塊,并能夠根據(jù)數(shù)據(jù)長度統(tǒng)計信息決定是否對連續(xù)塊進行切割,避免碎片的形成。
[0022]其中,所述磁盤中的索引信息可采用哈希結構,即分離鏈接哈希結構,長度可取素數(shù)。
[0023]步驟102、獲取磁頭當前位置。
[0024]其中,所述磁盤存儲裝置實時記錄磁頭的位置,以便獲取當前時間周期開始時所述磁頭的當前位置。
[0025]步驟103、根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。
[0026]其中,磁盤是提供多個進程共享的存儲設備,但磁盤每個時刻只能為一個進程服務器。當有進程在訪問磁盤時,其他訪問該磁盤的進程必須等待,直到磁盤一次工作結束。本實施例就是采用電梯調(diào)度算法對所述多個進程提出讀取和/或寫入指令進行排序,然后根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
[0027]具體地,根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,采用電梯調(diào)度算法對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。
[0028]其中,所述電梯調(diào)度算法(又稱SCAN算法)是磁頭前進方向上的最短尋道時間優(yōu)先算法,該算法避免了磁頭在磁盤局部位置上的往復移動。所述電梯調(diào)度算法具體為:所述算法不僅考慮到欲訪問的磁道與當前磁頭所在磁道的距離,更優(yōu)先考慮了磁頭的當前移動方向。例如,當磁頭正在自里向外移動時,所述算法所選擇的下一個訪問對象應是其欲訪問的磁道既在當前磁道之外,又是距離最近的。這樣自里向外地訪問,直到再無更外的磁道需要訪問才將磁臂換向,使磁頭自外向里移動,此時,同樣也是每次選擇這樣的進程來調(diào)度。由于這種算法中磁頭移動的規(guī)律頗似電梯的運行,故稱為電梯調(diào)度算法。
[0029]例如:如圖2所示的磁道,假設在一個時間周期內(nèi)磁盤存儲裝置順序接收到三個讀取指令,這三個讀取指令對應的操作位置分別為:CBE,磁頭當前位置為A。若磁盤存儲裝置按照讀取指令接收順序,則磁頭的尋道過程為:磁頭由A移至C,讀取C處的數(shù)據(jù)后,磁頭再由C移動至B,讀取B處的數(shù)據(jù)后,磁頭再由B移動至E,讀取E處的數(shù)據(jù)。由此可知,磁頭的尋道距離為:
[0030]SI= (a.size+b.size) + (c.size+b.size) + (c.size+d.size)
[0031]其中,a.size為磁盤位置A處存儲數(shù)據(jù)的大小,b.size為磁盤位置B處存儲數(shù)據(jù)的大小,c.size為磁盤位置C處存儲數(shù)據(jù)的大小,d.size為磁盤位置D處存儲數(shù)據(jù)的大小。
[0032]采用本發(fā)明實施例提供的方法,即采用電梯調(diào)度算法,先對接收到的三個讀取指令進行排序,即這三個讀取指令排序后順次對應的操作位置分別為:BCE。此時,磁頭的尋道過程為:磁頭由A移至B,讀取B處的數(shù)據(jù)后,磁頭再由B移動至C,讀取C處的數(shù)據(jù)后,磁頭再由C移動至E,讀取E處的數(shù)據(jù)。因此,磁頭的尋道距離為:
[0033]S2=a.size+d.size
[0034]比較上述SI和S2,可明顯的得出:采用本發(fā)明實施例提供的方法,磁盤尋道的距離最短。這里需要說明的是:本示例僅示出了多個讀取指令的情況,多個寫入指令以及多個讀取指令和多個寫入指令的情況,同理,此處不再贅述。
[0035]步驟104、根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
[0036]具體地,所述執(zhí)行讀取操作具體為:讀取磁盤上所述讀取指令對應的操作位置處存儲的數(shù)據(jù),并啟動所述操作位置對應的引用計數(shù)器加I ;讀取完成后,所述引用計數(shù)器減
1
[0037]其中,讀取操作時增加引用技術器加I的目的是:采用引用計數(shù)器來鎖定數(shù)據(jù)塊,使其不能被更改,防止在讀取過程中,數(shù)據(jù)發(fā)生變化。具體體現(xiàn)在當磁盤接收到數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令時,若直接將數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令對應的操作位置處的數(shù)據(jù)進行刪除或更新操作,此時若還有進程在訪問此操作位置處的數(shù)據(jù),則會出錯或進入互斥狀態(tài)。因此,本實施例一所述的方法還包括:
[0038]當接收到數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令時,獲取接收到的數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令對應的操作位置;判斷所述操作位置對應的引用計數(shù)器的計數(shù)值是否為0,若不為0,則等待所述引用計數(shù)器的計數(shù)值為O后,執(zhí)行相應地數(shù)據(jù)刪除或數(shù)據(jù)更新操作。
[0039]實際上,若是刪除數(shù)據(jù),則磁盤存儲裝置在將刪除數(shù)據(jù)對應的索引信息項從索引中移除或更新后,不立刻釋放磁盤空間和內(nèi)存,而是將其放入臨時存儲結構,等待引用計數(shù)器歸零后,再進行刪除操作;若是數(shù)據(jù)更新,則等待引用計數(shù)器歸零后,再進行數(shù)據(jù)更新操作,以避免在其他讀取進程過程中將數(shù)據(jù)刪除致使存儲裝置出錯或進入互斥狀態(tài),進而提高了磁盤存儲裝置的健壯性以及并發(fā)能力較強。
[0040]所述執(zhí)行存儲操作,具體為:在所述磁盤上所述寫入指令對應的操作位置處寫入數(shù)據(jù),并在所述磁盤的索引信息中增加新的索引信息項,以便后續(xù)能通過所述索引查找到所述存儲操作后寫入的數(shù)據(jù)在所述磁盤中的寫入位置。
[0041]本發(fā)明實施例根據(jù)多進程讀寫指令對應的讀取位置和/或寫入位置,將多進程讀寫指令根據(jù)磁盤物理位置進行排序,以使所述磁頭的尋道距離最短,進而縮短了磁頭尋道時間,提高了數(shù)據(jù)存儲的效率。
[0042]本領域普通技術人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0043]如圖3所示,本發(fā)明實施例二提供的磁盤存儲裝置的結構示意圖。如圖3所示,本實施例二所述的磁盤存儲裝置包括:第一獲取模塊1、第二獲取模塊2、排序模塊3和執(zhí)行模塊4。其中,所述第一獲取模塊I用于獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置。所述第二獲取模塊2用于獲取磁頭當前位置。所述排序模塊3用于根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。所述執(zhí)行模塊4用于根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
[0044]本發(fā)明實施例根據(jù)多進程讀寫指令對應的讀取位置和/或寫入位置,將多進程讀寫指令根據(jù)磁盤物理位置進行排序,以使所述磁頭的尋道距離最短,進而縮短了磁頭尋道時間,提高了數(shù)據(jù)存儲的效率。
[0045]進一步地,上述實施例二中所述的第一獲取模塊,具體用于遍歷磁盤中的索引信息,分別獲取所述時間周期內(nèi)的所有讀取指令欲讀取數(shù)據(jù)在所述磁盤中的讀取位置,所述讀取位置為所述讀取指令對應的操作位置;和/或根據(jù)所述時間周期內(nèi)的所有寫入指令,分別為各寫入指令欲存儲數(shù)據(jù)選取在所述磁盤中的寫入位置,所述寫入位置為所述寫入指令對應的操作位置。
[0046]所述排序模塊具體用于根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,采用電梯調(diào)度算法對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。
[0047]所述執(zhí)行模塊,具體用于讀取磁盤上所述讀取指令對應的操作位置處存儲的數(shù)據(jù),并啟動所述操作位置對應的引用計數(shù)器加I;讀取完成后,所述引用計數(shù)器減I。相應地,本實施例二所述的磁盤存儲裝置,還包括:第三獲取模塊和判斷執(zhí)行模塊。其中,所述第三獲取模塊用于接收到數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令時,獲取接收到的數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令對應的操作位置。所述判斷執(zhí)行模塊用于判斷所述操作位置對應的引用計數(shù)器的計數(shù)值是否為0,若不為0,則等待所述引用計數(shù)器的計數(shù)值為O后,執(zhí)行相應地數(shù)據(jù)刪除或數(shù)據(jù)更新操作。
[0048]進一步地,所述執(zhí)行模塊,具體用于在所述磁盤上所述寫入指令對應的操作位置處寫入數(shù)據(jù),并在所述磁盤的索引信息中增加新的索引信息項,以便后續(xù)能通過所述索引查找到所述存儲操作后寫入的數(shù)據(jù)在所述磁盤中的存儲位置。
[0049]最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的范圍。
【權利要求】
1.一種磁盤數(shù)據(jù)讀寫方法,其特征在于,包括: 獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置; 獲取磁頭當前位置; 根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短; 根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
2.根據(jù)權利要求1所述的方法,其特征在于,所述獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置,包括: 遍歷磁盤中的索引信息,分別獲取所述時間周期內(nèi)的所有讀取指令欲讀取數(shù)據(jù)在所述磁盤中的讀取位置,所述讀取位置為所述讀取指令對應的操作位置; 和/或 根據(jù)所述時間周期內(nèi)的所有寫入指令,分別為各寫入指令欲存儲數(shù)據(jù)選取在所述磁盤中的寫入位置,所述寫入位置為所述寫入指令對應的操作位置。
3.根據(jù)權利要求1或2所述的方法,其特征在于,所述根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短,具體為: 根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,采用電梯調(diào)度算法對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。
4.根據(jù)權利要求1所述的方法,其特征在于,所述執(zhí)行讀取操作,具體為: 讀取磁盤上所述讀取指令對應的操作位置處存儲的數(shù)據(jù),并啟動所述操作位置對應的引用計數(shù)器加I ;讀取完成后,所述引用計數(shù)器減I。
5.根據(jù)權利要求4所述的方法,其特征在于,還包括: 當接收到數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令時,獲取接收到的數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令對應的操作位置; 判斷所述操作位置對應的引用計數(shù)器的計數(shù)值是否為O,若不為O,則等待所述引用計數(shù)器的計數(shù)值為O后,執(zhí)行相應地數(shù)據(jù)刪除或數(shù)據(jù)更新操作。
6.根據(jù)權利要求1所述的方法,其特征在于,所述執(zhí)行存儲操作,具體為: 在所述磁盤上所述寫入指令對應的操作位置處寫入數(shù)據(jù),并在所述磁盤的索引信息中增加新的索引信息項,以便后續(xù)能通過所述索引查找到所述存儲操作后寫入的數(shù)據(jù)在所述磁盤中的存儲位置。
7.—種磁盤存儲裝置,其特征在于,包括: 第一獲取模塊,用于獲取時間周期內(nèi)的所有讀取指令和/或寫入指令對應的操作位置; 第二獲取模塊,用于獲取磁頭當前位置; 排序模塊,用于根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短; 執(zhí)行模塊,用于根據(jù)排序結果,順序執(zhí)行相應的讀取或存儲操作。
8.根據(jù)權利要求7所述的磁盤存儲裝置,其特征在于,所述第一獲取模塊,具體用于遍歷磁盤中的索引信息,分別獲取所述時間周期內(nèi)的所有讀取指令欲讀取數(shù)據(jù)在所述磁盤中的讀取位置,所述讀取位置為所述讀取指令對應的操作位置;和/或根據(jù)所述時間周期內(nèi)的所有寫入指令,分別為各寫入指令欲存儲數(shù)據(jù)選取在所述磁盤中的寫入位置,所述寫入位置為所述寫入指令對應的操作位置。
9.根據(jù)權利要求7或8所述的磁盤存儲裝置,其特征在于,所述排序模塊具體用于根據(jù)所述磁頭當前位置以及所述時間周期內(nèi)的所有操作位置,采用電梯調(diào)度算法對所述時間周期內(nèi)的所有讀取指令和/或寫入指令進行排序,以使所述磁頭的尋道距離最短。
10.根據(jù)權利要求7所述的磁盤存儲裝置,其特征在于,所述執(zhí)行模塊,具體用于讀取磁盤上所述讀取指令對應的操作位置處存儲的數(shù)據(jù),并啟動所述操作位置對應的引用計數(shù)器加I;讀取完成后,所述引用計數(shù)器減I。
11.根據(jù)權利要求11所述的磁盤存儲裝置,其特征在于,還包括: 第三獲取模塊,用于接收到數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令時,獲取接收到的數(shù)據(jù)刪除指令或數(shù)據(jù)更新指令對應的操作位置; 判斷執(zhí)行模塊,用于判斷所述操作位置對應的引用計數(shù)器的計數(shù)值是否為0,若不為0,則等待所述引用計數(shù)器的計數(shù)值為O后,執(zhí)行相應地數(shù)據(jù)刪除或數(shù)據(jù)更新操作。
12.根據(jù)權利要求7或10所述的磁盤存儲裝置,其特征在于,所述執(zhí)行模塊,具體用于在所述磁盤上所述寫入指令對應的操作位置處寫入數(shù)據(jù),并在所述磁盤的索引信息中增加新的索引信息項,以便后續(xù)能通過所述索引查找到所述存儲操作后寫入的數(shù)據(jù)在所述磁盤中的存儲位置。
【文檔編號】G06F17/30GK104516677SQ201310445513
【公開日】2015年4月15日 申請日期:2013年9月26日 優(yōu)先權日:2013年9月26日
【發(fā)明者】梁肖, 于曉明, 楊建武 申請人:北大方正集團有限公司, 北京大學, 北京北大方正電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
布拖县| 新野县| 沈丘县| 罗平县| 文水县| 涟源市| 长治县| 岳池县| 齐河县| 健康| 广东省| 温宿县| 湘潭市| 中山市| 罗田县| 新泰市| 兴山县| 岳西县| 于都县| 石家庄市| 扎鲁特旗| 红原县| 高尔夫| 汶上县| 榕江县| 宜兴市| 广宗县| 临澧县| 大厂| 西安市| 迁西县| 永靖县| 通河县| 常熟市| 碌曲县| 吴川市| 吴旗县| 平乡县| 潍坊市| 茂名市| 清镇市|