本發(fā)明涉及計算機技術領域,特別涉及一種磁盤流量的控制方法和裝置。
背景技術:
近年來,隨著大數(shù)據(jù)的發(fā)展,人們對磁盤性能的要求逐漸增強。在磁盤空間一定的情況下,如何提高磁盤的寫入速度是人們一直關心的問題。
現(xiàn)有技術中,針對接收到的待寫入信息,一般即時將待寫入信息寫入磁盤。當一段時間內接收到多個待寫入信息時,需要按照接收到的時間,依次將每一個待寫入信息寫入磁盤。
但是,由于不同的待寫入信息存儲地址的差異,磁頭需要在磁盤來回移動,增加磁盤尋道時間較長,導致磁盤的寫入效率較低。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種磁盤流量的控制方法和裝置,能夠提高磁盤的寫入效率。
第一方面,本發(fā)明實施例提供了一種磁盤流量的控制方法,預先設置時間間隔,還包括:
當接收到外部發(fā)送的第一待寫入信息時,確定當前時刻;
在外部磁盤的地址中,為所述第一待寫入信息分配至少一個第一地址;
判斷從所述當前時刻起,所述時間間隔內是否接收到外部發(fā)送的第二待寫入信息,如果是,在所述地址中,為所述第二待寫入信息分配至少一個第二地址;根據(jù)所述至少一個第二地址,確定第二磁盤區(qū)域;根據(jù)所述至少一個第一地址,確定第一磁盤區(qū)域;判斷所述第一磁盤區(qū)域與所述第二磁盤區(qū)域是否存在交集,如果是,將所述第一待寫入信息寫入所述至少一個第一地址,同時將所述第二待寫入信息寫入所述至少一個第二地址。
優(yōu)選地,
進一步包括:
確定每一個所述地址的寫入順序,所述地址中包括:柱面號、磁頭號和扇區(qū)號;
所述根據(jù)所述至少一個第一地址,確定第一磁盤區(qū)域,包括:
根據(jù)每一個所述第一地址的柱面號、磁頭號和扇區(qū)號,確定每一個所述第一地址對應的第一寫入順序;
根據(jù)所述第一寫入順序中排在第一位的所述第一地址和所述第一寫入順序中排在最后一位的所述第一地址,確定所述第一磁盤區(qū)域。
優(yōu)選地,
所述根據(jù)所述至少一個第二地址,確定第二磁盤區(qū)域,包括:
根據(jù)每一個所述第二地址的柱面號、磁頭號和扇區(qū)號,確定每一個所述第二地址對應的第二寫入順序;
根據(jù)所述第二寫入順序中排在第一位的所述第二地址和所述第二寫入順序中排在最后一位的所述第二地址,確定所述第二磁盤區(qū)域。
優(yōu)選地,
所述將所述第一待寫入信息寫入所述至少一個第一地址,同時將所述第二待寫入信息寫入所述至少一個第二地址,包括:
根據(jù)所述第一寫入順序和所述第二寫入順序,將所述第一待寫入信息寫入所述至少一個第一地址,同時將所述第二待寫入信息寫入所述至少一個第二地址。
優(yōu)選地,
進一步包括:
當所述第一磁盤區(qū)域與所述第二磁盤區(qū)域不存在交集時,將所述第一待寫入信息寫入所述至少一個第一地址;將所述第二待寫入信息寫入所述至少一個第二地址。
第二方面,本發(fā)明實施例提供了一種磁盤流量的控制裝置,還包括:
設置單元,用于設置時間間隔,
確定單元,用于當接收到外部發(fā)送的第一待寫入信息時,確定當前時刻;
分配單元,用于在外部磁盤的地址中,為所述確定單元接收的所述第一待寫入信息分配至少一個第一地址;
處理單元,用于判斷從所述確定單元確定的所述當前時刻起,所述設置單元設置的所述時間間隔內是否接收到外部發(fā)送的第二待寫入信息,如果是,在所述地址中,為所述第二待寫入信息分配至少一個第二地址;根據(jù)所述至少一個第二地址,確定第二磁盤區(qū)域;根據(jù)所述分配單元分配的所述至少一個第一地址,確定第一磁盤區(qū)域;判斷所述第一磁盤區(qū)域與所述第二磁盤區(qū)域是否存在交集,如果是,將所述第一待寫入信息寫入所述至少一個第一地址,同時將所述第二待寫入信息寫入所述至少一個第二地址。
優(yōu)選地,
確定單元,進一步用于確定每一個所述地址的寫入順序,所述地址中包括:柱面號、磁頭號和扇區(qū)號;
所述處理單元,用于根據(jù)所述確定單元確定的每一個所述第一地址的柱面號、磁頭號和扇區(qū)號,確定每一個所述第一地址對應的第一寫入順序;根據(jù)所述第一寫入順序中排在第一位的所述第一地址和所述第一寫入順序中排在最后一位的所述第一地址,確定所述第一磁盤區(qū)域。
優(yōu)選地,
所述處理單元,用于根據(jù)每一個所述第二地址的柱面號、磁頭號和扇區(qū)號,確定每一個所述第二地址對應的第二寫入順序;根據(jù)所述第二寫入順序中排在第一位的所述第二地址和所述第二寫入順序中排在最后一位的所述第二地址,確定所述第二磁盤區(qū)域。
優(yōu)選地,
所述處理單元,用于根據(jù)所述第一寫入順序和所述第二寫入順序,將所述第一待寫入信息寫入所述至少一個第一地址,同時將所述第二待寫入信息寫入所述至少一個第二地址。
優(yōu)選地,
所述處理單元,進一步用于當所述第一磁盤區(qū)域與所述第二磁盤區(qū)域不存在交集時,將所述第一待寫入信息寫入所述至少一個第一地址;將所述第二待寫入信息寫入所述至少一個第二地址。
本發(fā)明實施例提供了一種磁盤流量的控制方法和裝置,其中,當在預設的時間間隔內接收到第一待寫入信息和第二待寫入信息時,可以為第一待寫入信息和第二待寫入信息分配存儲所需的第一地址和第二地址,并通過第一地址和第二地址判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域存在交集時,說明第一地址的和第二地址的位置相近,此時,應根據(jù)第一地址和第二地址在磁盤中的寫入順序,將第一待寫入信息和第二待寫入信息寫入磁盤的相應位置,與現(xiàn)有技術先寫入第一待寫入信息再寫入第二待寫入信息相對,該方法可以實現(xiàn)第一待寫入信息和第二待寫入信息的交替寫入。避免磁頭在磁盤來回移動,提高磁盤的寫入效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種磁盤流量的控制方法流程圖;
圖2是本發(fā)明另一個實施例提供的一種磁盤流量的控制方法流程圖;
圖3是本發(fā)明一個實施例提供的一種磁盤流量的控制裝置結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種磁盤流量的控制方法,該方法可以包括以下步驟:
步驟101:設置時間間隔;
步驟102:當接收到外部發(fā)送的第一待寫入信息時,確定當前時刻;
步驟103:在外部磁盤的地址中,為第一待寫入信息分配至少一個第一地址;
步驟104:判斷從當前時刻起,時間間隔內是否接收到外部發(fā)送的第二待寫入信息,如果是,執(zhí)行步驟105;
步驟105:在地址中,為第二待寫入信息分配至少一個第二地址;
步驟106:根據(jù)至少一個第二地址,確定第二磁盤區(qū)域;根據(jù)至少一個第一地址,確定第一磁盤區(qū)域;
步驟107:判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,如果是,執(zhí)行步驟108;
步驟108:將第一待寫入信息寫入至少一個第一地址,同時將第二待寫入信息寫入至少一個第二地址。
在圖1所示的實施例中,當在預設的時間間隔內接收到第一待寫入信息和第二待寫入信息時,可以為第一待寫入信息和第二待寫入信息分配存儲所需的第一地址和第二地址,并通過第一地址和第二地址判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域存在交集時,說明第一地址的和第二地址的位置相近,此時,應根據(jù)第一地址和第二地址在磁盤中的寫入順序,將第一待寫入信息和第二待寫入信息寫入磁盤的相應位置,與現(xiàn)有技術先寫入第一待寫入信息再寫入第二待寫入信息相對,該方法可以實現(xiàn)第一待寫入信息和第二待寫入信息的交替寫入。避免磁頭在磁盤來回移動,提高磁盤的寫入效率。
在本發(fā)明的一個實施例中,為了確定在寫入第一待寫入信息時,磁頭在磁盤上的運動區(qū)域,該方法還包括:確定每一個地址的寫入順序,地址中包括:柱面號、磁頭號和扇區(qū)號;
根據(jù)至少一個第一地址,確定第一磁盤區(qū)域,包括:
根據(jù)每一個第一地址的柱面號、磁頭號和扇區(qū)號,確定每一個第一地址對應的第一寫入順序;
根據(jù)第一寫入順序中排在第一位的第一地址和第一寫入順序中排在最后一位的第一地址,確定第一磁盤區(qū)域。
在實際應用場景中,可以通過柱面號,磁頭號,扇區(qū)號確定存儲位置。系統(tǒng)將文件存儲到磁盤上時,按柱面、磁頭、扇區(qū)的方式進行,即最先是第1磁道的第一磁頭下(也就是第1盤面的第一磁道)的所有扇區(qū),然后,是同一柱面的下一磁頭,一個柱面存儲滿后就推進到下一個柱面,直到把文件內容全部寫入磁盤。
例如,第一地址a、b、c對應的柱面號、磁頭號和扇區(qū)號分別為111、115、118,則第一磁盤區(qū)域包括的磁盤的地址為111、112、……117、118。
在本發(fā)明的一個實施例中,為了確定在寫入第二待寫入信息時,磁頭在磁盤上的運動區(qū)域,根據(jù)至少一個第二地址,確定第二磁盤區(qū)域,包括:
根據(jù)每一個第二地址的柱面號、磁頭號和扇區(qū)號,確定每一個第二地址對應的第二寫入順序;
根據(jù)第二寫入順序中排在第一位的第二地址和第二寫入順序中排在最后一位的第二地址,確定第二磁盤區(qū)域。
第二磁盤區(qū)域與第一磁盤區(qū)域的確定方法相同,本實施例不再贅述。
在本發(fā)明的一個實施例中,為了根據(jù)第一地址和第二地址在磁盤中的執(zhí)行順序,將第一待寫入信息和第二待寫入信息分別寫入第一地址和第二地址,將第一待寫入信息寫入至少一個第一地址,同時將第二待寫入信息寫入至少一個第二地址,包括:
根據(jù)第一寫入順序和第二寫入順序,將第一待寫入信息寫入至少一個第一地址,同時將第二待寫入信息寫入至少一個第二地址。
例如,第一地址a、b、c對應的柱面號、磁頭號和扇區(qū)號分別為111、115、118,第二地址d、e對應的柱面號、磁頭號和扇區(qū)號分別為112、113,則磁盤的寫入順序為a、d、e、b、c,即第一待寫入信息和第二待寫入信息被交替寫入磁盤。
在本發(fā)明的一個實施例中,當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域不存在交集時,按照接收到的時間的先后順序,將第一待寫入信息寫入至少一個第一地址;將第二待寫入信息寫入至少一個第二地址。
例如,第一地址a、b、c對應的柱面號、磁頭號和扇區(qū)號分別為111、115、118,第二地址d、e對應的柱面號、磁頭號和扇區(qū)號分別為120、125,則磁盤的寫入順序為a、b、c、d、e,即先寫入第一待寫入信息,再寫入第二待寫入信息。
如圖2所示,本發(fā)明實施例以向磁盤中寫入m、n為例,對磁盤流量的控制方法進行詳細地說明,該方法包括以下步驟:
步驟201:設置時間間隔。
設置時間間隔為1s。
步驟202:當接收到外部發(fā)送的第一待寫入信息m時,確定當前時刻。
接收系統(tǒng)發(fā)送的第一待寫入信息m,確定當前時刻為10:00:00。
需要說明的是,在同一時刻,可以接收外部發(fā)送的多個第一待寫入信息,每一個第一待寫入信息的處理方法相同,在本實施例中,僅以一個第一待寫入信息的處理為例進行說明。
步驟203:在外部磁盤的地址中,為第一待寫入信息m分配至少一個第一地址。
分配的第一地址的數(shù)量根據(jù)第一待寫入信息m的大小進行確定。
例如,為第一待寫入信息分配三個第一地址a、b、c。
步驟204:判斷從當前時刻起,時間間隔內是否接收到外部發(fā)送的第二待寫入信息n,如果是,執(zhí)行步驟205,否則,執(zhí)行步驟206。
在10:00:01內接收到外部發(fā)送的第二待寫入信息n,執(zhí)行步驟205。
在同一時刻,可能接收到多個第二待寫入信息,每一個第二待寫入信息的處理過程相同,本實施例僅以一個第二待寫入信息為例進行說明。
步驟205:在地址中,為第二待寫入信息n分配至少一個第二地址,執(zhí)行步驟207。
為第二待寫入信息n分配兩個第二地址d、e。
步驟206:將第一待寫入信息m寫入至少一個第一地址,并終止當前流程。
如果沒有接收到第二待寫入信息n,則將第一待寫入信息寫入第一地址a、b、c。
步驟207:確定每一個地址的寫入順序,地址中包括:柱面號、磁頭號和扇區(qū)號。
確定磁盤中每一個地址的執(zhí)行順序。在實際應用場景中,可以通過柱面號,磁頭號,扇區(qū)號確定存儲位置。系統(tǒng)將文件存儲到磁盤上時,按柱面、磁頭、扇區(qū)的方式進行,即最先是第1磁道的第一磁頭下(也就是第1盤面的第一磁道)的所有扇區(qū),然后,是同一柱面的下一磁頭,一個柱面存儲滿后就推進到下一個柱面,直到把文件內容全部寫入磁盤。
步驟208:根據(jù)每一個第二地址的柱面號、磁頭號和扇區(qū)號,確定每一個第二地址對應的第二寫入順序。
例如,第二地址d、e對應的柱面號、磁頭號和扇區(qū)號分別為112、113,對應的第二寫入順序分別為112、113。
步驟209:根據(jù)第二寫入順序中排在第一位的第二地址和第二寫入順序中排在最后一位的第二地址,確定第二磁盤區(qū)域。
確定第二磁盤區(qū)域中包括的磁盤的地址為112、113。
步驟210:根據(jù)每一個第一地址的柱面號、磁頭號和扇區(qū)號,確定每一個第一地址對應的第一寫入順序。
第一地址a、b、c對應的柱面號、磁頭號和扇區(qū)號分別為111、115、118,第一寫入順序為111、115、118。
步驟211:根據(jù)第一寫入順序中排在第一位的第一地址和第一寫入順序中排在最后一位的第一地址,確定第一磁盤區(qū)域。
第一磁盤區(qū)域包括的磁盤的地址為111、112……118。
步驟212:判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,如果是,執(zhí)行步驟213,否則,執(zhí)行步驟214。
第一磁盤區(qū)域與第二磁盤區(qū)域存在交集,即公有地址112、113,所以執(zhí)行步驟213。
步驟213:根據(jù)第一寫入順序和第二寫入順序,將第一待寫入信息m寫入至少一個第一地址,同時將第二待寫入信息n寫入至少一個第二地址。
寫入順序為a、d、e、b、c,即第一待寫入信息和第二待寫入信息被交替寫入磁盤。第一待寫入信息的寫入方式為隨機寫入,第二待寫入信息的寫入方式為順序寫入。
步驟214:將第一待寫入信息m寫入至少一個第一地址,將第二待寫入信息n寫入至少一個第二地址。
當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域不存在交集時,按照接收到的時間的先后順序進行寫入。
寫入順序為a、b、c、d、e,即先寫入第一待寫入信息,再寫入第二待寫入信息。
如圖3所示,本發(fā)明實施例提供了一種磁盤流量的控制裝置,包括:
設置單元301,用于設置時間間隔,
確定單元302,用于當接收到外部發(fā)送的第一待寫入信息時,確定當前時刻;
分配單元303,用于在外部磁盤的地址中,為確定單元302接收的第一待寫入信息分配至少一個第一地址;
處理單元304,用于判斷從確定單元302確定的當前時刻起,設置單元301設置的時間間隔內是否接收到外部發(fā)送的第二待寫入信息,如果是,在地址中,為第二待寫入信息分配至少一個第二地址;根據(jù)至少一個第二地址,確定第二磁盤區(qū)域;根據(jù)分配單元303分配的至少一個第一地址,確定第一磁盤區(qū)域;判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,如果是,將第一待寫入信息寫入至少一個第一地址,同時將第二待寫入信息寫入至少一個第二地址。
在本發(fā)明的一個實施例中,確定單元302,進一步用于確定每一個地址的寫入順序,地址中包括:柱面號、磁頭號和扇區(qū)號;
處理單元304,用于根據(jù)每一個第一地址的柱面號、磁頭號和扇區(qū)號,確定每一個第一地址對應的第一寫入順序;根據(jù)第一寫入順序中排在第一位的第一地址和第一寫入順序中排在最后一位的第一地址,確定第一磁盤區(qū)域。
在本發(fā)明的一個實施例中,處理單元304,用于根據(jù)每一個第二地址的柱面號、磁頭號和扇區(qū)號,確定每一個第二地址對應的第二寫入順序;根據(jù)第二寫入順序中排在第一位的第二地址和第二寫入順序中排在最后一位的第二地址,確定第二磁盤區(qū)域。
在本發(fā)明的一個實施例中,處理單元304,用于根據(jù)第一寫入順序和第二寫入順序,將第一待寫入信息寫入至少一個第一地址,同時將第二待寫入信息寫入至少一個第二地址。
在本發(fā)明的一個實施例中,處理單元304,進一步用于當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域不存在交集時,將第一待寫入信息寫入至少一個第一地址;將第二待寫入信息寫入至少一個第二地址。
上述裝置內的各單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,具體內容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
本發(fā)明實施例提供了一種可讀介質,包括執(zhí)行指令,當存儲控制器的處理器執(zhí)行執(zhí)行指令時,存儲控制器執(zhí)行上述任一實施例的方法。
本發(fā)明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
存儲器用于存儲執(zhí)行指令,處理器與存儲器通過總線連接,當存儲控制器運行時,處理器執(zhí)行存儲器存儲的執(zhí)行指令,以使存儲控制器執(zhí)行上述任一實施例的方法。
綜上,本發(fā)明各個實施例至少具有如下效果:
1、在本發(fā)明實施例中,當在預設的時間間隔內接收到第一待寫入信息和第二待寫入信息時,可以為第一待寫入信息和第二待寫入信息分配存儲所需的第一地址和第二地址,并通過第一地址和第二地址判斷第一磁盤區(qū)域與第二磁盤區(qū)域是否存在交集,當?shù)谝淮疟P區(qū)域與第二磁盤區(qū)域存在交集時,說明第一地址的和第二地址的位置相近,此時,應根據(jù)第一地址和第二地址在磁盤中的寫入順序,將第一待寫入信息和第二待寫入信息寫入磁盤的相應位置,與現(xiàn)有技術先寫入第一待寫入信息再寫入第二待寫入信息相對,該方法可以實現(xiàn)第一待寫入信息和第二待寫入信息的交替寫入。避免磁頭在磁盤來回移動,提高磁盤的寫入效率。
2、在本發(fā)明實施例中,可以根據(jù)地址中的柱面號、磁頭號和扇區(qū)號,確定地址的寫入順序,進而判斷第一磁盤區(qū)域和第二磁盤區(qū)域是否交集。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個······”限定的要素,并不排除在包括要素的過程、方法、物品或者設備中還存在另外的相同因素。
最后需要說明的是:以上僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。