亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種IO請(qǐng)求的調(diào)度方法及裝置與流程

文檔序號(hào):12836935閱讀:177來(lái)源:國(guó)知局
一種IO請(qǐng)求的調(diào)度方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種輸入輸出io請(qǐng)求的調(diào)度方法及裝置。



背景技術(shù):

硬盤(pán)由一個(gè)或多個(gè)圓形的“盤(pán)片”組成,該盤(pán)片表層分為由同心圓組成的若干個(gè)磁道,這些磁道又依次分為若干個(gè)扇區(qū)。其中,盤(pán)片可以圍繞著一個(gè)普通的軸旋轉(zhuǎn),并且磁頭可以沿盤(pán)片半徑移動(dòng),如此磁頭便可以隨著盤(pán)片的旋轉(zhuǎn)對(duì)磁盤(pán)的任一磁道上的數(shù)據(jù)進(jìn)行讀寫(xiě)操作。

但是,在對(duì)硬盤(pán)上存儲(chǔ)的一個(gè)數(shù)據(jù)進(jìn)行讀寫(xiě)操作時(shí),需要控制磁頭移動(dòng)到該數(shù)據(jù)所在的磁道上,該過(guò)程需要花費(fèi)較長(zhǎng)的時(shí)間。由此,若連續(xù)讀寫(xiě)的多個(gè)數(shù)據(jù)分布在不同的磁道,那么則需要控制磁頭在硬盤(pán)的不同磁道來(lái)回移動(dòng),磁頭移動(dòng)的總距離越大所需時(shí)間則越長(zhǎng),硬盤(pán)的性能則越差。

現(xiàn)有技術(shù)中,為了減少磁頭在硬盤(pán)上的來(lái)回移動(dòng)對(duì)硬盤(pán)性能的影響,可以為每一個(gè)輸入輸出(input/output,io)請(qǐng)求設(shè)置一個(gè)固定的等待時(shí)間,并識(shí)別出該等待時(shí)間內(nèi)接收的多個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址;將要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址相近的io請(qǐng)求合并后下發(fā)給硬盤(pán)設(shè)備。如此,對(duì)合并后要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址相近的io請(qǐng)求,進(jìn)行集中處理,便可以減少磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

但是,在現(xiàn)有技術(shù)中,若設(shè)置較短的等待時(shí)間,則可合并的io請(qǐng)求的數(shù)量則會(huì)很少,對(duì)硬盤(pán)性能的提升不明顯;若設(shè)置較長(zhǎng)的等待時(shí)間,又會(huì)因?yàn)槊總€(gè)io請(qǐng)求的時(shí)延要求不同,導(dǎo)致對(duì)時(shí)延敏感的io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。由此可見(jiàn),采用現(xiàn)有技術(shù)的方案不能在提高硬盤(pán)性能的同時(shí),保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的按時(shí)執(zhí)行,即不能保證io請(qǐng)求對(duì) 應(yīng)業(yè)務(wù)的成功率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)施例提供一種io請(qǐng)求的調(diào)度方法及裝置,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求,盡可能的合并較多的io請(qǐng)求,從而可以在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:

本發(fā)明實(shí)施例的第一方面,提供一種io請(qǐng)求的調(diào)度方法,用于進(jìn)行io請(qǐng)求的調(diào)度,此處的io請(qǐng)求要求訪(fǎng)問(wèn)硬盤(pán)設(shè)備中配置的硬盤(pán)中的數(shù)據(jù)。

該io請(qǐng)求的調(diào)度方法包括:接收io請(qǐng)求,并記錄接收io請(qǐng)求的時(shí)間;該io請(qǐng)求中攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址、該io請(qǐng)求的時(shí)延要求和該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小;按照該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將該io請(qǐng)求插入到io地址隊(duì)列;按照上述io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該任一io請(qǐng)求的時(shí)間計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求。其中,該任一io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交任一io請(qǐng)求的最晚時(shí)間。

可以想到的是,若在該任一io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以保證該任一io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入io地址隊(duì)列,如此便可以按照該io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的在硬盤(pán)中的物理地址相近的io請(qǐng)求,從而硬盤(pán)設(shè)備便可以對(duì)物理地址相近的io請(qǐng)求進(jìn)行集中處理,可以減少 磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

并且,本方案中,可以根據(jù)一個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,以及接收該io請(qǐng)求的時(shí)間,計(jì)算得到該io請(qǐng)求的要求提交時(shí)間;而一個(gè)io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間,即如果在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,便可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。因此,在io地址隊(duì)列中的任一io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),便優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以避免io地址隊(duì)列中的部分io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。

由此可見(jiàn),通過(guò)本方案,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

進(jìn)一步的,為了避免一段時(shí)間內(nèi)待處理的io請(qǐng)求較多,不能及時(shí)處理接收到的io請(qǐng)求,本發(fā)明實(shí)施例還可以為硬盤(pán)配置一個(gè)請(qǐng)求緩存池,并將接收到到io請(qǐng)求先保存在請(qǐng)求緩存池中,然后再將請(qǐng)求緩存池中的io請(qǐng)求一一插入io地址隊(duì)列。

具體的,上述“按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將io請(qǐng)求插入到io地址隊(duì)列”具體可以包括:將io請(qǐng)求添加至請(qǐng)求緩存池,并按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將io請(qǐng)求插入到io地址隊(duì)列。

示例性的,在本發(fā)明實(shí)施例中,可以根據(jù)接收io請(qǐng)求的時(shí)間的先后順序,依次將請(qǐng)求緩存池中的io請(qǐng)求插入io地址隊(duì)列。例如,若接收io請(qǐng)求1的時(shí)間為2016年4月11日9:00,接收io請(qǐng)求2的時(shí)間為2016年4月11日9:02,則可以在從請(qǐng)求緩存池中將io請(qǐng)求1插入io地址隊(duì)列后,再將io請(qǐng)求2插入io地址隊(duì)列。

可以想到的是,為了避免冗余io請(qǐng)求,如已經(jīng)從請(qǐng)求緩存池中插入 io地址隊(duì)列的io請(qǐng)求,對(duì)請(qǐng)求緩存池的存儲(chǔ)空間的占用,在本發(fā)明實(shí)施例中,若一個(gè)io請(qǐng)求已經(jīng)從請(qǐng)求緩存池中插入io地址隊(duì)列,便可以從請(qǐng)求緩存池中將該io請(qǐng)求刪除。

示例性的,第一方面中“根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收任一io請(qǐng)求的時(shí)間,計(jì)算任一io請(qǐng)求的要求提交時(shí)間”的方法可以包括:根據(jù)任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理任一io請(qǐng)求的處理用時(shí);根據(jù)接收任一io請(qǐng)求的時(shí)間、任一io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理任一io請(qǐng)求的處理用時(shí),計(jì)算任一io請(qǐng)求的要求提交時(shí)間。

進(jìn)一步的,硬盤(pán)設(shè)置中配置的硬盤(pán)不僅可以對(duì)應(yīng)于一個(gè)io地址隊(duì)列,還可以對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列。即在本發(fā)明實(shí)施例中,可以通過(guò)io時(shí)延隊(duì)列的方式來(lái)檢測(cè)一個(gè)io請(qǐng)求在預(yù)設(shè)時(shí)間內(nèi)是否會(huì)超時(shí)。

在本發(fā)明實(shí)施例中,io時(shí)延隊(duì)列中的io請(qǐng)求可以按照io請(qǐng)求的要求提交時(shí)間的先后進(jìn)行排序。具體的,按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求之前,本發(fā)明實(shí)施例的方法還可以包括:根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí);根據(jù)接收該io請(qǐng)求的時(shí)間、該io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí),計(jì)算該io請(qǐng)求的要求提交時(shí)間;然后按照該io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將該io請(qǐng)求插入到該io時(shí)延隊(duì)列。

可以想到的是,上述io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交io請(qǐng)求的最晚時(shí)間。若在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,則可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

并且,在上述io時(shí)延隊(duì)列中,io請(qǐng)求是按照io請(qǐng)求的要求提交時(shí)間的先后進(jìn)行排序的,位于上述io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間早于io時(shí)延隊(duì)列中其他io請(qǐng)求的要求提交時(shí)間。

可以理解的是,若硬盤(pán)設(shè)備中的硬盤(pán)配置有請(qǐng)求緩存池,那么上述io請(qǐng)求也可以經(jīng)由請(qǐng)求緩存池,插入io時(shí)延隊(duì)列。

具體的,在本發(fā)明實(shí)施例中,可以按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從請(qǐng)求緩存池中,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

可以想到的是,與從請(qǐng)求緩存池中,將io請(qǐng)求插入io地址隊(duì)列的方式類(lèi)似,本發(fā)明實(shí)施例中可以根據(jù)接收io請(qǐng)求的時(shí)間的先后順序,依次將請(qǐng)求緩存池中的io請(qǐng)求插入io時(shí)延隊(duì)列。

具體的,上述“按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收任一io請(qǐng)求的時(shí)間,計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間時(shí),優(yōu)先向硬盤(pán)設(shè)備提交任一io請(qǐng)求”可以包括:

按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的io請(qǐng)求,并在向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的任一個(gè)io請(qǐng)求之前,判斷上述io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi);

若該io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi),則優(yōu)先向硬盤(pán)設(shè)備提交該io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求;

若該io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間不在預(yù)設(shè)時(shí)間內(nèi),則向硬盤(pán)設(shè)備提交上述待提交的任一個(gè)io請(qǐng)求。

進(jìn)一步的,在本發(fā)明實(shí)施例中,硬盤(pán)設(shè)備中可以配置至少兩個(gè)硬盤(pán);該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)io地址隊(duì)列,每個(gè)io地址隊(duì)列中的io請(qǐng)求按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在對(duì)應(yīng)硬盤(pán)中的物理地址進(jìn)行排序。

相應(yīng)的,接收自流媒體服務(wù)器的io請(qǐng)求中還可以攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。如,上述io請(qǐng)求中還攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。

可以理解的是,若硬盤(pán)設(shè)備中配置有至少兩個(gè)硬盤(pán),那么在接收到io請(qǐng)求后,則需要根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),從上述 至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io地址隊(duì)列中,確定出該io請(qǐng)求待插入的io地址隊(duì)列;然后再根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入上述確定的io地址隊(duì)列。

可以想到的是,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)還可以對(duì)應(yīng)一個(gè)io時(shí)延隊(duì)列。在將io請(qǐng)求插入io時(shí)延隊(duì)列之前,也需要從上述至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io時(shí)延隊(duì)列中,確定出該io請(qǐng)求待插入的io時(shí)延隊(duì)列;然后再按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

進(jìn)一步的,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)可以對(duì)應(yīng)一個(gè)請(qǐng)求緩存池。本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法中,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將該io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池,然后再?gòu)拿總€(gè)硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入對(duì)應(yīng)硬盤(pán)的io地址隊(duì)列。

具體的,“按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將所述io請(qǐng)求插入到所述io地址隊(duì)列”的方法可以包括:根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將io請(qǐng)求添加至所述io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池;按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列。

本方案中,在硬盤(pán)設(shè)備中配置有至少兩個(gè)硬盤(pán)時(shí),可以將接收到的io請(qǐng)求添加至其要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池,即可以在將io請(qǐng)求插入io地址隊(duì)列之前,先對(duì)訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流,然后再對(duì)訪(fǎng)問(wèn)各個(gè)硬盤(pán)的io請(qǐng)求分別進(jìn)行排序,可以提高io請(qǐng)求的調(diào)度效率。

相應(yīng)的,若上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)不僅對(duì)應(yīng)一個(gè)請(qǐng)求緩存池,至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)io地址隊(duì)列,該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)還分別對(duì)應(yīng)一個(gè)io時(shí)延隊(duì)列;那么本發(fā)明實(shí)施例提供 的io請(qǐng)求的調(diào)度方法中,可以在將一個(gè)io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池后,從每個(gè)硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入對(duì)應(yīng)硬盤(pán)的io時(shí)延隊(duì)列。

具體的,“按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列”的方法可以包括:按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io時(shí)延隊(duì)列。

綜上所述,本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法,不僅可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率;還可以對(duì)訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流,然后再對(duì)訪(fǎng)問(wèn)各個(gè)硬盤(pán)的io請(qǐng)求分別進(jìn)行排序,可以提高io請(qǐng)求的調(diào)度效率。

本發(fā)明實(shí)施例的第二方面,提供一種io請(qǐng)求的調(diào)度裝置,包括:請(qǐng)求接收模塊、請(qǐng)求排序模塊和請(qǐng)求處理模塊。

請(qǐng)求接收模塊,用于接收io請(qǐng)求,并記錄接收io請(qǐng)求的時(shí)間;io請(qǐng)求中攜帶有io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址、io請(qǐng)求的時(shí)延要求和io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小。

請(qǐng)求排序模塊,用于按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將上述請(qǐng)求接收模塊接收的io請(qǐng)求插入到io地址隊(duì)列。

請(qǐng)求處理模塊,用于按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該任一io請(qǐng)求的時(shí)間,計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),優(yōu)先向硬盤(pán)設(shè)備提交任一io請(qǐng)求,該任一io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間。

可選的,上述請(qǐng)求排序模塊,具體用于將io請(qǐng)求添加至請(qǐng)求緩存池,并按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將io請(qǐng)求插入到io地址隊(duì)列。

可選的,上述請(qǐng)求處理模塊,還用于根據(jù)任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理任一io請(qǐng)求的處理用時(shí);根據(jù)接收任一io請(qǐng)求的時(shí)間、任一io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理任一io請(qǐng)求的處理用時(shí),計(jì)算任一io請(qǐng)求的要求提交時(shí)間。

可選的,上述請(qǐng)求排序模塊,還可以用于在上述請(qǐng)求處理模塊按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求之前,根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理io請(qǐng)求的處理用時(shí);根據(jù)請(qǐng)求接收模塊接收io請(qǐng)求的時(shí)間、io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理io請(qǐng)求的處理用時(shí),計(jì)算io請(qǐng)求的要求提交時(shí)間,io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交io請(qǐng)求的最晚時(shí)間;按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

其中,位于上述io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間早于該io時(shí)延隊(duì)列中其他io請(qǐng)求的要求提交時(shí)間。

可選的,上述請(qǐng)求處理模塊,具體用于:

按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在向硬盤(pán)設(shè)備提交io地址隊(duì)列中的任一個(gè)io請(qǐng)求之前,判斷io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間是否在的預(yù)設(shè)時(shí)間內(nèi);

若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi),則優(yōu)先向硬盤(pán)設(shè)備提交io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求;

若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間不在預(yù)設(shè)時(shí)間內(nèi),則向硬盤(pán)設(shè)備提交上述待提交的任一個(gè)io請(qǐng)求。

可選的,上述請(qǐng)求排序模塊,具體用于按照io請(qǐng)求的要求提交時(shí)間 與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從請(qǐng)求緩存池中,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

可選的,上述硬盤(pán)設(shè)備中可以配置有至少兩個(gè)硬盤(pán);該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)io地址隊(duì)列。

本發(fā)明實(shí)施例中的io請(qǐng)求中還可以攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。

相應(yīng)的,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)請(qǐng)求緩存池。

上述請(qǐng)求排序模塊,具體可以用于根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將io請(qǐng)求添加至io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池;按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列。

需要說(shuō)明的是,本發(fā)明實(shí)施例中第二方面中各個(gè)功能模塊的具體描述及其技術(shù)效果可參見(jiàn)上述第一方面及其各種可選方式中的相關(guān)描述,此處不再贅述。

本發(fā)明實(shí)施例的第三方面,提供一種io請(qǐng)求的調(diào)度裝置,該io請(qǐng)求的調(diào)度裝置包括:一個(gè)或多個(gè)處理器、存儲(chǔ)器、總線(xiàn)系統(tǒng)、收發(fā)器以及一個(gè)或多個(gè)應(yīng)用程序,上述一個(gè)或多個(gè)處理器、存儲(chǔ)器和收發(fā)器通過(guò)所述總線(xiàn)系統(tǒng)相連。

其中,一個(gè)或多個(gè)應(yīng)用程序存儲(chǔ)在存儲(chǔ)器中,一個(gè)或多個(gè)應(yīng)用程序包括指令,當(dāng)io請(qǐng)求的調(diào)度裝置的處理器執(zhí)行存儲(chǔ)器中的指令時(shí),io請(qǐng)求的調(diào)度裝置執(zhí)行如第一方面及其各種可選方式所述的io請(qǐng)求的調(diào)度方法。

本發(fā)明實(shí)施例第四方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有一個(gè)或多個(gè)程序,該一個(gè)或多個(gè)程序包括指令,當(dāng)io請(qǐng)求的調(diào)度裝置的處理器執(zhí)行所述指令時(shí),io請(qǐng)求的調(diào)度裝置執(zhí)行如第一 方面及其各種可選方式所述的io請(qǐng)求的調(diào)度方法。

需要說(shuō)明的是,本發(fā)明實(shí)施例中第三方面中各個(gè)功能模塊的具體描述及其技術(shù)效果可參見(jiàn)上述第一方面及其各種可選方式中的相關(guān)描述,此處不再贅述。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖2為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖3為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖4為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖5為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖6為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖7為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖;

圖8為本發(fā)明實(shí)施例提供的一種io請(qǐng)求的調(diào)度方法的流程示意圖;

圖9為本發(fā)明實(shí)施例提供的一種io地址隊(duì)列的實(shí)例示意圖;

圖10為本發(fā)明實(shí)施例提供的另一種io地址隊(duì)列的實(shí)例示意圖;

圖11為本發(fā)明實(shí)施例提供的一種io時(shí)延隊(duì)列的實(shí)例示意圖;

圖12為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度方法的流程示意圖;

圖13為本發(fā)明實(shí)施例提供的另一種io時(shí)延隊(duì)列的實(shí)例示意圖;

圖14為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度方法的流程示意圖;

圖15為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度方法的流程示意圖;

圖16為本發(fā)明實(shí)施例提供的一種io請(qǐng)求的調(diào)度裝置的結(jié)構(gòu)組成示意圖;

圖17為本發(fā)明實(shí)施例提供的另一種io請(qǐng)求的調(diào)度裝置的結(jié)構(gòu)組成示意圖。

具體實(shí)施方式

在本發(fā)明的描述中,除非另有說(shuō)明,“至少兩個(gè)“或“多個(gè)”的含義是指兩個(gè)或兩個(gè)以上。例如,至少兩個(gè)硬盤(pán)是指兩個(gè)或兩個(gè)以上硬盤(pán),多個(gè)處理器是指兩個(gè)或兩個(gè)以上處理器。

此外,本發(fā)明的描述中所提到的術(shù)語(yǔ)“包括”和“具有”以及它們的任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒(méi)有限定于已列出的步驟或單元,而是可選地還包括其他沒(méi)有列出的步驟或單元,或可選地還包括對(duì)于這些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

以下描述中,為了說(shuō)明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、接口、技術(shù)之類(lèi)的具體細(xì)節(jié),以便透切理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒(méi)有這些具體細(xì)節(jié)的其它實(shí)施例中也可以實(shí)現(xiàn)本發(fā)明。在其它情況中,省略對(duì)眾所周知的裝置、電路以及方法的詳細(xì)說(shuō)明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行詳細(xì)地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法、裝置及系統(tǒng)可以應(yīng)用于硬盤(pán)設(shè)備處理io請(qǐng)求之前的io請(qǐng)求調(diào)度過(guò)程中,可以將接收到的io請(qǐng)求進(jìn)行排序合并,然后再輸出至硬盤(pán)設(shè)備。

示例性的,本發(fā)明實(shí)施例中的io請(qǐng)求可以為接收自流媒體服務(wù)器的視頻請(qǐng)求,該io請(qǐng)求要求訪(fǎng)問(wèn)硬盤(pán)中的視頻數(shù)據(jù)。

請(qǐng)參考圖1-圖7中的任一附圖,其示出了本發(fā)明實(shí)施例提供的一種io請(qǐng)求的調(diào)度系統(tǒng)的結(jié)構(gòu)組成示意圖。

如圖1-圖7中的任一附圖所示,該io請(qǐng)求的調(diào)度系統(tǒng)中可以包括:流媒體服務(wù)器11、io請(qǐng)求的調(diào)度裝置12和硬盤(pán)設(shè)備13。其中,io請(qǐng)求的調(diào)度裝置12可以包括:請(qǐng)求接收模塊121、請(qǐng)求排序模塊122和請(qǐng)求處理模塊123。

其中,如圖1-圖4中的任一附圖硬盤(pán)設(shè)備13中可以配置至少一個(gè)硬盤(pán),該硬盤(pán)設(shè)備13接收io請(qǐng)求的調(diào)度裝置12發(fā)送的、來(lái)自流媒體服務(wù)器11發(fā)送的io請(qǐng)求,并根據(jù)該io請(qǐng)求對(duì)該硬盤(pán)中存儲(chǔ)的數(shù)據(jù)進(jìn)行讀寫(xiě)操作。

示例性的,以下以圖1所示的硬盤(pán)設(shè)備13中配置一個(gè)硬盤(pán)為例,對(duì)io請(qǐng)求的調(diào)度系統(tǒng)中io請(qǐng)求的處理流程進(jìn)行詳細(xì)說(shuō)明:

流媒體服務(wù)器11,用于向io請(qǐng)求的調(diào)度裝置12下發(fā)io請(qǐng)求。其中,這里的io請(qǐng)求可以包括:普通視頻業(yè)務(wù)的io請(qǐng)求和快進(jìn)快退業(yè)務(wù)的io請(qǐng)求等。

io請(qǐng)求的調(diào)度裝置12中的請(qǐng)求接收模塊121,用于接收流媒體服務(wù)器11下發(fā)的io請(qǐng)求;然后由請(qǐng)求排序模塊122根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在對(duì)應(yīng)硬盤(pán)中的物理地址,將該io請(qǐng)求插入該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列;再由請(qǐng)求處理模塊123按照io請(qǐng)求在io地址隊(duì)列中的排序,依次向硬盤(pán)設(shè)備輸出io請(qǐng)求,并在根據(jù)io地址 隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該io請(qǐng)求的時(shí)間計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),優(yōu)先向硬盤(pán)設(shè)備提交該io請(qǐng)求。

其中,io地址隊(duì)列中的io請(qǐng)求按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在所述硬盤(pán)中的物理地址進(jìn)行排序。

進(jìn)一步的,如圖2所示,如圖1所示的硬盤(pán)還可以對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列。io時(shí)延隊(duì)列中的io請(qǐng)求按照io請(qǐng)求的要求提交時(shí)間的先后進(jìn)行排序。其中,io請(qǐng)求的要求提交時(shí)間是根據(jù)該io請(qǐng)求的時(shí)延要求、該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該io請(qǐng)求的時(shí)間確定的。

請(qǐng)求排序模塊122,還用于根據(jù)請(qǐng)求接收模塊121接收的io請(qǐng)求的時(shí)延要求、該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該io請(qǐng)求的時(shí)間確定該io請(qǐng)求的要求提交時(shí)間;并按照該io請(qǐng)求的要求提交時(shí)間,將該io請(qǐng)求插入io時(shí)延隊(duì)列。

相應(yīng)的,請(qǐng)求處理模塊123便可以在確定預(yù)設(shè)時(shí)間后到達(dá)io時(shí)延隊(duì)的隊(duì)首的io請(qǐng)求的要求提交時(shí)間后,優(yōu)先輸出該io時(shí)延隊(duì)的隊(duì)首的io請(qǐng)求。

進(jìn)一步的,為了避免一段時(shí)間內(nèi)待處理的io請(qǐng)求較多,請(qǐng)求排序模塊122不能及時(shí)將接收到的io請(qǐng)求插入對(duì)應(yīng)的io地址隊(duì)列或者io時(shí)延隊(duì)列,如圖3所示,本發(fā)明實(shí)施例中還可以為硬盤(pán)配置一個(gè)請(qǐng)求緩存池,請(qǐng)求接收模塊121可以在接收到io請(qǐng)求后,先將io請(qǐng)求先保存在請(qǐng)求緩存池中,然后再由請(qǐng)求排序模塊122將請(qǐng)求緩存池中的io請(qǐng)求一一插入io地址隊(duì)列。

當(dāng)然,硬盤(pán)設(shè)備中的硬盤(pán)可以在對(duì)應(yīng)于一個(gè)io地址隊(duì)列的同時(shí),對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列,那么如圖4所示,請(qǐng)求排序模塊122也可以將請(qǐng)求緩存池中的io請(qǐng)求一一插入io時(shí)延隊(duì)列。

優(yōu)選的,本發(fā)明實(shí)施例中的硬盤(pán)設(shè)備13中可以配置至少兩個(gè)硬盤(pán),以下以圖1所示的硬盤(pán)設(shè)備13中配置有兩個(gè)硬盤(pán)為例,對(duì)io請(qǐng)求的調(diào)度系統(tǒng)中io請(qǐng)求的處理流程進(jìn)行詳細(xì)說(shuō)明:

當(dāng)硬盤(pán)設(shè)備13中可以配置至少兩個(gè)硬盤(pán)時(shí),該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)一個(gè)io地址隊(duì)列,每個(gè)io地址隊(duì)列中的io請(qǐng)求按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在對(duì)應(yīng)硬盤(pán)中的物理地址進(jìn)行排序。

示例性的,如圖5所示,硬盤(pán)1對(duì)應(yīng)于io地址隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io地址隊(duì)列2。io地址隊(duì)列1用于存放要求訪(fǎng)問(wèn)的數(shù)據(jù)存儲(chǔ)在硬盤(pán)1的io請(qǐng)求,io地址隊(duì)列2用于存放要求訪(fǎng)問(wèn)的數(shù)據(jù)存儲(chǔ)在硬盤(pán)2的io請(qǐng)求。

相應(yīng)的,由于每一個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)可能存儲(chǔ)于不同的硬盤(pán),此時(shí),接收自流媒體服務(wù)器的io請(qǐng)求中還可以攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。請(qǐng)求排序模塊122可以根據(jù)流媒體服務(wù)器發(fā)送的io請(qǐng)求中攜帶地該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將該io請(qǐng)求插入該硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列。

優(yōu)選的,硬盤(pán)設(shè)備13中可以配置至少兩個(gè)硬盤(pán),至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)一個(gè)請(qǐng)求緩存池,并且至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)于一個(gè)io地址隊(duì)列。

示例性的,如圖6所示,硬盤(pán)設(shè)備13中可以配置兩個(gè)硬盤(pán),硬盤(pán)1對(duì)應(yīng)于請(qǐng)求緩存池1,硬盤(pán)2對(duì)應(yīng)于請(qǐng)求緩存池2;并且,硬盤(pán)1對(duì)應(yīng)于io地址隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io地址隊(duì)列2。

可以想到的是,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)可以在分別對(duì)應(yīng)于一個(gè)io地址隊(duì)列的同時(shí),還分別對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列。如圖7所示,硬盤(pán)1對(duì)應(yīng)于請(qǐng)求緩存池1,硬盤(pán)2對(duì)應(yīng)于請(qǐng)求緩存池2;硬盤(pán)1對(duì)應(yīng)于io地址隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io地址隊(duì)列2,并且,硬盤(pán)1對(duì)應(yīng)于io時(shí)延隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io時(shí)延隊(duì)列2。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法的執(zhí)行主體:io請(qǐng)求的調(diào)度裝置,可以為用于向硬盤(pán)設(shè)備傳輸流媒體服務(wù)器的io請(qǐng)求,以及向流媒體服務(wù)器傳輸硬盤(pán)設(shè)備對(duì)io請(qǐng)求的處理結(jié)果的網(wǎng)絡(luò)設(shè)備或者服務(wù)器?;蛘撸搃o請(qǐng)求的調(diào)度裝置可以為上述網(wǎng)絡(luò)設(shè)備或者服務(wù)器的中央處理器(centralprocessingunit,cpu)或者可以為上述網(wǎng)絡(luò)設(shè)備或者服務(wù)器的中的控制單元或者模塊。當(dāng)然,上述io請(qǐng)求的調(diào)度裝置也可以與硬盤(pán) 設(shè)備集成在一個(gè)設(shè)備或者服務(wù)器上實(shí)現(xiàn)。

下面結(jié)合附圖,通過(guò)具體的實(shí)施例及其應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例提供的一種io請(qǐng)求的調(diào)度方法及裝置進(jìn)行詳細(xì)地說(shuō)明。

實(shí)施例一

本發(fā)明實(shí)施例提供一種io請(qǐng)求的調(diào)度方法,如圖8所示,該io請(qǐng)求的調(diào)度方法包括:

s801、流媒體服務(wù)器向io請(qǐng)求的調(diào)度裝置下發(fā)io請(qǐng)求。

其中,本發(fā)明實(shí)施例中的io請(qǐng)求可以為普通視頻業(yè)務(wù)的io請(qǐng)求、快進(jìn)快退業(yè)務(wù)的io請(qǐng)求或者其他類(lèi)型的視頻業(yè)務(wù)的io請(qǐng)求等。

可以想到的是,流媒體服務(wù)器下發(fā)給io請(qǐng)求的調(diào)度裝置的io請(qǐng)求可以為流媒體服務(wù)器根據(jù)用戶(hù)終端發(fā)送的視頻播放請(qǐng)求生成的。流媒體服務(wù)器可以接收至少一個(gè)用戶(hù)終端發(fā)送的視頻播放請(qǐng)求,然后根據(jù)接收到視頻播放請(qǐng)求生成相應(yīng)的io請(qǐng)求,用于向硬盤(pán)設(shè)備請(qǐng)求訪(fǎng)問(wèn)存儲(chǔ)在硬盤(pán)中的視頻數(shù)據(jù)。其中,一個(gè)視頻播放請(qǐng)求可以對(duì)應(yīng)于至少一個(gè)io請(qǐng)求。

s802、io請(qǐng)求的調(diào)度裝置接收流媒體服務(wù)器下發(fā)的io請(qǐng)求,并記錄接收該io請(qǐng)求的時(shí)間。

其中,io請(qǐng)求的調(diào)度裝置接收的每個(gè)io請(qǐng)求中都攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址、該io請(qǐng)求的時(shí)延要求和該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小。

s803、io請(qǐng)求的調(diào)度裝置按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將該io請(qǐng)求插入到io地址隊(duì)列。

其中,io地址隊(duì)列中的io請(qǐng)求都是按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序插入到io地址隊(duì)列中的。

示例性的,假設(shè)io地址隊(duì)列當(dāng)前包含三個(gè)io請(qǐng)求:io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3,io請(qǐng)求1要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址為0x00001100,io請(qǐng)求2要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址為0x00000500,io請(qǐng)求3要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址為 0x00000100;那么,如圖9所示,io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3在io地址隊(duì)列中的排序應(yīng)該為:io請(qǐng)求3、io請(qǐng)求2、io請(qǐng)求1。

示例性的,假設(shè)上述接收到的一io請(qǐng)求(記作io請(qǐng)求x)要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址為0x00000400。由于0x00000400位于io請(qǐng)求2要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址0x00000500和io請(qǐng)求3要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址0x00000100之間;因此,如圖10所示,io請(qǐng)求的調(diào)度裝置則可以將io請(qǐng)求x插入io地址隊(duì)列中請(qǐng)求2和io請(qǐng)求3之間的位置。

進(jìn)一步的,在本發(fā)明實(shí)施例中,硬盤(pán)設(shè)備中可以配置至少兩個(gè)硬盤(pán);該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)一個(gè)io地址隊(duì)列,每個(gè)io地址隊(duì)列中的io請(qǐng)求按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在對(duì)應(yīng)硬盤(pán)中的物理地址進(jìn)行排序。如圖5所示,硬盤(pán)設(shè)備中可以配置兩個(gè)硬盤(pán),硬盤(pán)1和硬盤(pán)2;該硬盤(pán)1對(duì)應(yīng)io地址隊(duì)列1,硬盤(pán)2對(duì)應(yīng)io地址隊(duì)列2。

相應(yīng)的,io請(qǐng)求的調(diào)度裝置接收自流媒體服務(wù)器的io請(qǐng)求中還可以攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。如,上述每一個(gè)io請(qǐng)求中還攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。

可以想到的是,如果硬盤(pán)設(shè)備中配置有至少兩個(gè)硬盤(pán),那么io請(qǐng)求的調(diào)度裝置在接收到一個(gè)io請(qǐng)求后,則需要根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),從上述至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io地址隊(duì)列中,確定出該io請(qǐng)求待插入的io地址隊(duì)列;然后再根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入上述確定的io地址隊(duì)列。

具體的,在s803之前,本發(fā)明實(shí)施例的方法還可以包括:io請(qǐng)求的調(diào)度裝置根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),從至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io地址隊(duì)列中,確定出該io請(qǐng)求待插入的io地址隊(duì)列。

相應(yīng)的,在s803中io請(qǐng)求的調(diào)度裝置則可以按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將該io請(qǐng)求插入到上述確定的io地址 隊(duì)列。

s804、io請(qǐng)求的調(diào)度裝置根據(jù)io請(qǐng)求的時(shí)延要求、io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收io請(qǐng)求的時(shí)間,計(jì)算io請(qǐng)求的要求提交時(shí)間。

本發(fā)明實(shí)施例中,io請(qǐng)求的時(shí)延要求可以表征該io請(qǐng)求可接受的最大時(shí)延,并且,由于io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)越大,硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí)則越長(zhǎng),即io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小可以決定硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí);因此,io請(qǐng)求的調(diào)度裝置根據(jù)一個(gè)io請(qǐng)求的要求完成時(shí)間和硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí),便可以計(jì)算得到該io請(qǐng)求的要求提交時(shí)間。

其中,上述io請(qǐng)求的要求提交時(shí)間為在保證該io請(qǐng)求不超時(shí)的情況下,向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間。

可以想到的是,若在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,則可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

本發(fā)明實(shí)施例中對(duì)于s803和s804執(zhí)行的先后順序不做限制,可以先執(zhí)行s803,再執(zhí)行s804;也可以先執(zhí)行s804,再執(zhí)行s803;還可以同時(shí)執(zhí)行s803和s804。

需要說(shuō)明的是,s804是可選的,本發(fā)明實(shí)施例中可以不執(zhí)行s804,而是在按照io地址隊(duì)列中io請(qǐng)求的排序向硬盤(pán)設(shè)備提交io地址隊(duì)列中的任一個(gè)io請(qǐng)求之前,再分別根據(jù)io地址隊(duì)列中的所有io請(qǐng)求中每個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收時(shí)間,計(jì)算io請(qǐng)求的要求提交時(shí)間。

當(dāng)然,如果已經(jīng)通過(guò)s804計(jì)算得到了io請(qǐng)求的要求提交時(shí)間,那么s805中則可以直接判斷io地址隊(duì)列中任一io請(qǐng)求的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi)。

具體的,請(qǐng)參考圖1,當(dāng)硬盤(pán)設(shè)置中配置有一個(gè)硬盤(pán),且該硬盤(pán)對(duì)應(yīng)于一個(gè)io地址隊(duì)列時(shí),如圖8所示,該io請(qǐng)求的調(diào)度方法可以包括s801、s802、s803和s805;或者,該io請(qǐng)求的調(diào)度方法可以包括s801-s805。

s805、io請(qǐng)求的調(diào)度裝置按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收任一io請(qǐng)求的時(shí)間計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),優(yōu)先向硬盤(pán)設(shè)備提交任一io請(qǐng)求。

其中,任一io請(qǐng)求的要求提交時(shí)間為在保證該任一io請(qǐng)求不超時(shí)的情況下,向硬盤(pán)設(shè)備提交任一io請(qǐng)求的最晚時(shí)間。

可以想到的是,若在該任一io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以保證該任一io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

基于上述描述,io請(qǐng)求的調(diào)度裝置可以根據(jù)io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該io請(qǐng)求的時(shí)間,確定計(jì)算得到的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi),即該io請(qǐng)求在預(yù)設(shè)時(shí)間內(nèi)是否超時(shí)。

其中,上述預(yù)設(shè)時(shí)間可以為從當(dāng)前時(shí)間計(jì)時(shí)開(kāi)始的一段預(yù)先配置的固定時(shí)間內(nèi),如預(yù)先設(shè)置的固定時(shí)間可以為10毫秒ms、20ms或者5ms等時(shí)間長(zhǎng)度中的任一個(gè),本發(fā)明對(duì)此不做限制。

示例性的,此處以預(yù)先設(shè)置的固定時(shí)間為5ms為例,假設(shè)一io請(qǐng)求的要求提交時(shí)間為10:10:1.100(即10點(diǎn)10分1秒零100ms),即io請(qǐng)求的調(diào)度裝置需要在10:10:1.100(即10點(diǎn)10分1秒零100ms)之前,向硬盤(pán)設(shè)備提交一io請(qǐng)求,才能保證該io請(qǐng)求不超時(shí),且當(dāng)前時(shí)間為10:10:1.095。在本發(fā)明實(shí)施例中,io請(qǐng)求的調(diào)度裝置便可以在當(dāng)前時(shí)間,即10:10:1.095,判斷得到該io請(qǐng)求的要求提交時(shí)間在當(dāng)前時(shí)間后的5ms內(nèi)時(shí),確定該該io請(qǐng)求會(huì)在當(dāng)前時(shí)間后的5ms后(即10:10:1.100之后)超時(shí)。此時(shí),該io請(qǐng)求的調(diào)度裝置則可以在10:10:1.095-10:10:1.100這5ms內(nèi),向硬盤(pán)設(shè)備提交該io請(qǐng)求,如此便可以避免io請(qǐng)求超時(shí),保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的正常運(yùn)行。

示例性的,以如圖9所示的io地址隊(duì)列為例,按照io地址隊(duì)列中io請(qǐng)求的排序,io請(qǐng)求的調(diào)度裝置當(dāng)前應(yīng)該向硬盤(pán)設(shè)備提交io請(qǐng)求3;但 是,由于io請(qǐng)求的調(diào)度裝置根據(jù)io請(qǐng)求1的時(shí)延要求、io請(qǐng)求1要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收io請(qǐng)求1的時(shí)間,確定io請(qǐng)求1的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi);此時(shí),io請(qǐng)求的調(diào)度裝置則可以?xún)?yōu)先向硬盤(pán)設(shè)備提交io請(qǐng)求1。

示例性的,本發(fā)明實(shí)施例s804和s805中,io請(qǐng)求的調(diào)度裝置根據(jù)一io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該io請(qǐng)求的時(shí)間,計(jì)算該io請(qǐng)求的要求提交時(shí)間的方法均可以包括sa-sb:

sa、io請(qǐng)求的調(diào)度裝置根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí)。

示例性的,以如圖9所示的io地址隊(duì)列中的三個(gè)io請(qǐng)求為例,假設(shè)io請(qǐng)求1的時(shí)延要求為500ms,io請(qǐng)求1要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小為2兆mb,接收io請(qǐng)求1的時(shí)間為10:10:1.100;io請(qǐng)求2的時(shí)延要求為100ms,io請(qǐng)求1要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小為3mb,接收io請(qǐng)求1的時(shí)間為10:10:1.300;io請(qǐng)求3的時(shí)延要求為500ms,io請(qǐng)求3要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小為4mb,接收io請(qǐng)求3的時(shí)間為10:10:1.500。

假設(shè)硬盤(pán)設(shè)備處理1mb的數(shù)據(jù)的處理用時(shí)為25ms,那么io請(qǐng)求的調(diào)度裝置可以根據(jù)io請(qǐng)求1要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小(2mb),確定硬盤(pán)設(shè)備處理io請(qǐng)求1的處理用時(shí)為50ms;根據(jù)io請(qǐng)求2要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小(3mb),確定硬盤(pán)設(shè)備處理io請(qǐng)求2的處理用時(shí)為75ms;根據(jù)io請(qǐng)求3要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小(4mb),確定硬盤(pán)設(shè)備處理io請(qǐng)求3的處理用時(shí)為100ms。

sb、io請(qǐng)求的調(diào)度裝置根據(jù)接收該io請(qǐng)求的時(shí)間、該io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理該io請(qǐng)求的處理用時(shí),計(jì)算該io請(qǐng)求的要求提交時(shí)間,要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間。

示例性的,io請(qǐng)求的調(diào)度裝置可以采用以下公式:

ty=tj+ts-td

計(jì)算每一個(gè)io請(qǐng)求的要求提交時(shí)間。

其中,ty用于表示io請(qǐng)求的要求提交時(shí)間,tj用于表示接收io請(qǐng)求的時(shí)間,ts用于表示io請(qǐng)求的時(shí)延要求,td用于表示硬盤(pán)設(shè)備處理io請(qǐng)求的處理用時(shí)。

基于上述實(shí)例,io請(qǐng)求的調(diào)度裝置可以計(jì)算得到io請(qǐng)求1的要求提交時(shí)間ty1為:10:10:1.100+500ms-50ms=10:10:1.550,io請(qǐng)求2的要求提交時(shí)間ty2為:10:10:1.300+100ms-75ms=10:10:1.325,io請(qǐng)求3的要求提交時(shí)間ty3為:10:10:1.500+500ms-100ms=10:10:1.900。

進(jìn)一步的,本發(fā)明實(shí)施例中,硬盤(pán)設(shè)備可以接收io請(qǐng)求的調(diào)度裝置提交的io請(qǐng)求,并按照io請(qǐng)求的調(diào)度裝置提交io請(qǐng)求的順序,依次處理io請(qǐng)求的調(diào)度裝置提交的io請(qǐng)求;硬盤(pán)設(shè)備可以在處理完一個(gè)io請(qǐng)求后,得到該io請(qǐng)求的處理結(jié)果,并將該io請(qǐng)求的處理結(jié)果返回給io請(qǐng)求的調(diào)度裝置,由io請(qǐng)求的調(diào)度裝置將該io請(qǐng)求的處理結(jié)果發(fā)送給流媒體服務(wù)器。具體的,本發(fā)明實(shí)施例的方法還可以包括s806-s810:

s806、硬盤(pán)設(shè)備接收io請(qǐng)求的調(diào)度裝置提交的io請(qǐng)求。

s807、硬盤(pán)設(shè)備按照io請(qǐng)求提交的先后順序,依次處理接收到的io請(qǐng)求。

s808、硬盤(pán)設(shè)備向io請(qǐng)求的調(diào)度裝置返回io請(qǐng)求的處理結(jié)果。

s809、io請(qǐng)求的調(diào)度裝置接收硬盤(pán)設(shè)備發(fā)送的io請(qǐng)求的處理結(jié)果。

s810、io請(qǐng)求的調(diào)度裝置向流媒體服務(wù)器發(fā)送io請(qǐng)求的處理結(jié)果。

可以想到的是,本發(fā)明實(shí)施例中,流媒體服務(wù)器、io請(qǐng)求的調(diào)度裝置和硬盤(pán)設(shè)備之間可以通過(guò)不同的接口進(jìn)行通信。

需要說(shuō)明的是,本發(fā)明實(shí)施例中“硬盤(pán)設(shè)備處理io請(qǐng)求,并通過(guò)io請(qǐng)求的調(diào)度裝置向流媒體服務(wù)器返回io請(qǐng)求的處理結(jié)果”的方法可以參考現(xiàn)有技術(shù)中“硬盤(pán)設(shè)備處理io請(qǐng)求,并返回io請(qǐng)求的處理結(jié)果”的方法,本發(fā)明實(shí)施例這里不再詳細(xì)描述。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入io地址隊(duì)列,如此便可以按照該io地址隊(duì)列中io請(qǐng)求的排序,依次 向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的在硬盤(pán)中的物理地址相近的io請(qǐng)求,從而硬盤(pán)設(shè)備便可以對(duì)物理地址相近的io請(qǐng)求進(jìn)行集中處理,可以減少磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

并且,本方案中,可以根據(jù)一個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,以及接收該io請(qǐng)求的時(shí)間,計(jì)算得到該io請(qǐng)求的要求提交時(shí)間;而一個(gè)io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間,即如果在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,便可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。因此,在io地址隊(duì)列中的任一io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),便優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以避免io地址隊(duì)列中的部分io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。

由此可見(jiàn),通過(guò)本方案,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

進(jìn)一步的,請(qǐng)參考圖2,硬盤(pán)設(shè)置中配置的硬盤(pán)不僅可以對(duì)應(yīng)于一個(gè)io地址隊(duì)列,還可以對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列。其中,io時(shí)延隊(duì)列中的io請(qǐng)求可以按照io請(qǐng)求的要求提交時(shí)間的先后進(jìn)行排序。

舉例來(lái)說(shuō),假設(shè)io時(shí)延隊(duì)列當(dāng)前包含三個(gè)io請(qǐng)求:io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3,io請(qǐng)求1的要求提交時(shí)間ty1為10:10:1.550,io請(qǐng)求2的要求提交時(shí)間ty2為10:10:1.325,io請(qǐng)求3的要求提交時(shí)間ty3為10:10:1.900。那么,如圖11所示,io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3在io時(shí)延隊(duì)列中的排序應(yīng)該為:io請(qǐng)求2、io請(qǐng)求1、io請(qǐng)求3。

具體的,如圖12所示,在如圖8所示的s804之后,s805之前,本發(fā)明實(shí)施例的方法還可以包括s811:

s811、io請(qǐng)求的調(diào)度裝置按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

示例性的,假設(shè)上述io請(qǐng)求x的要求提交時(shí)間為10:10:1.400。由于 10:10:1.400在io請(qǐng)求1的要求提交時(shí)間10:10:1.550之前,且在io請(qǐng)求2的要求提交時(shí)間10:10:1.325之后,因此,如圖13所示,io請(qǐng)求的調(diào)度裝置則可以將io請(qǐng)求x插入io時(shí)延隊(duì)列中請(qǐng)求2和io請(qǐng)求1之間的位置。

在本發(fā)明實(shí)施例中,io請(qǐng)求的調(diào)度裝置可以通過(guò)io時(shí)延隊(duì)列的方式來(lái)檢測(cè)一個(gè)io請(qǐng)求在當(dāng)前時(shí)間后的預(yù)設(shè)時(shí)間內(nèi)是否超時(shí)。具體的,如圖12所示,當(dāng)本發(fā)明實(shí)施例的方法包括s111時(shí),圖8中的s805可以替換為s805a-s805c:

s805a、io請(qǐng)求的調(diào)度裝置按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在向硬盤(pán)設(shè)備提交io地址隊(duì)列中的任一個(gè)io請(qǐng)求之前,判斷io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi)。

示例性的,請(qǐng)參考圖9和圖11,io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3在如圖9所示的io地址隊(duì)列中的排序與io請(qǐng)求1、io請(qǐng)求2和io請(qǐng)求3在如圖11所示的io時(shí)延隊(duì)列中的排序不同。

io請(qǐng)求的調(diào)度裝置可以按照如圖9所示的io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求3、io請(qǐng)求2和io請(qǐng)求1。以io請(qǐng)求的調(diào)度裝置向硬盤(pán)設(shè)備提交io請(qǐng)求3為例,io請(qǐng)求的調(diào)度裝置在向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求3之前,可以判斷如圖12所示的io時(shí)延隊(duì)列中io請(qǐng)求2(io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求)的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi)。

s805b、若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi),io請(qǐng)求的調(diào)度裝置則優(yōu)先向硬盤(pán)設(shè)備提交io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求。

基于上述實(shí)例中,io請(qǐng)求1的要求提交時(shí)間為10:10:1.550,io請(qǐng)求2的要求提交時(shí)間為10:10:1.325,io請(qǐng)求3的要求提交時(shí)間為10:10:1.900。假設(shè)預(yù)先設(shè)置的固定時(shí)間為10ms,當(dāng)前時(shí)間為10:10:1.315,那么io請(qǐng)求的調(diào)度裝置可以確定在10ms后,io請(qǐng)求2的要求提交時(shí)間10:10:1.325到達(dá),此時(shí)io請(qǐng)求的調(diào)度裝置則可以?xún)?yōu)先向硬盤(pán)設(shè) 備提交如圖11所示的io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求2。

s805c、若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間不在預(yù)設(shè)時(shí)間內(nèi),io請(qǐng)求的調(diào)度裝置則向硬盤(pán)設(shè)備提交待提交的任一個(gè)io請(qǐng)求。

假設(shè)當(dāng)前時(shí)間為10:10:1.310,那么io請(qǐng)求的調(diào)度裝置可以確定io請(qǐng)求2的要求提交時(shí)間10:10:1.325不在當(dāng)前時(shí)間10:10:1.310后的10ms內(nèi),即10:10:1.325不在10:10:1.310至10:10:1.320之間,此時(shí)io請(qǐng)求的調(diào)度裝置則向硬盤(pán)設(shè)備提交如圖9所示的io地址隊(duì)列的隊(duì)首的io請(qǐng)求3。

通過(guò)本方案,io請(qǐng)求的調(diào)度裝置可以在可以io地址隊(duì)列的隊(duì)首的io請(qǐng)求,即io地址隊(duì)列中要求提交時(shí)間最早的io請(qǐng)求,的要求提交時(shí)間到達(dá)之前,便將硬盤(pán)設(shè)備提交該io地址隊(duì)列的隊(duì)首的io請(qǐng)求,如此便可以避免io請(qǐng)求超時(shí),保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的正常運(yùn)行。

進(jìn)一步的,為了避免一段時(shí)間內(nèi)待處理的io請(qǐng)求較多,io請(qǐng)求的調(diào)度裝置不能及時(shí)將接收到的io請(qǐng)求插入對(duì)應(yīng)的io地址隊(duì)列或者io時(shí)延隊(duì)列,請(qǐng)參考圖3或圖4,本發(fā)明實(shí)施例中還可以為硬盤(pán)配置一個(gè)請(qǐng)求緩存池,io請(qǐng)求的調(diào)度裝置可以在接收到io請(qǐng)求后,先將io請(qǐng)求先保存在請(qǐng)求緩存池中,然后再將請(qǐng)求緩存池中的io請(qǐng)求一一插入io地址隊(duì)列。

具體的,如圖14所示,在如圖8所示的s803之前,本發(fā)明實(shí)施例的方法還可以包括s812:

s812、io請(qǐng)求的調(diào)度裝置將io請(qǐng)求添加至請(qǐng)求緩存池。

相應(yīng)的,請(qǐng)參考圖3或圖4,當(dāng)硬盤(pán)配置有請(qǐng)求緩存池時(shí),如圖14所示,如圖8所示的s803可以替換為s803a:

s803a、io請(qǐng)求的調(diào)度裝置按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將io請(qǐng)求插入到io地址隊(duì)列。

請(qǐng)參考圖4,當(dāng)硬盤(pán)配置有請(qǐng)求緩存池,且該硬盤(pán)對(duì)應(yīng)一個(gè)io地址隊(duì)列和io時(shí)延隊(duì)列時(shí),如圖15所示,在如圖12所示的s803之前,本發(fā)明實(shí)施例的方法也可以包括s812,如圖12所示的s803可以替換為 s803a,如圖12所示的s811可以替換為s811a:

s811a、io請(qǐng)求的調(diào)度裝置按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從請(qǐng)求緩存池中,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

示例性的,在本發(fā)明實(shí)施例中,io請(qǐng)求的調(diào)度裝置可以根據(jù)接收io請(qǐng)求的時(shí)間的先后順序,依次將請(qǐng)求緩存池中的io請(qǐng)求插入io地址隊(duì)列或者io時(shí)延隊(duì)列。

此處以將請(qǐng)求緩存池中的io請(qǐng)求插入io地址隊(duì)列為例,對(duì)io請(qǐng)求的調(diào)度裝置根據(jù)接收io請(qǐng)求的時(shí)間的先后順序,依次將請(qǐng)求緩存池中的io請(qǐng)求插入io地址隊(duì)列的方法進(jìn)行說(shuō)明:

假設(shè)io請(qǐng)求的調(diào)度裝置接收io請(qǐng)求a的時(shí)間為2016年4月11日9:00,接收io請(qǐng)求b的時(shí)間為2016年4月11日9:02;則io請(qǐng)求的調(diào)度裝置可以在從請(qǐng)求緩存池中將io請(qǐng)求a插入io地址隊(duì)列后,再將io請(qǐng)求b插入io地址隊(duì)列。

本方案中,io請(qǐng)求的調(diào)度裝置可以將接收到的io請(qǐng)求存放在請(qǐng)求緩存池中,然后再將請(qǐng)求緩存池中的io請(qǐng)求一一插入io地址隊(duì)列;如此,便可以避免由于一段時(shí)間內(nèi)待處理的io請(qǐng)求較多,io請(qǐng)求的調(diào)度裝置不能及時(shí)將接收到的io請(qǐng)求插入對(duì)應(yīng)的io地址隊(duì)列或者io時(shí)延隊(duì)列的問(wèn)題。

優(yōu)選的,為了避免冗余io請(qǐng)求(即已經(jīng)從請(qǐng)求緩存池中插入io地址隊(duì)列的io請(qǐng)求和io時(shí)延隊(duì)列的io請(qǐng)求)對(duì)請(qǐng)求緩存池的存儲(chǔ)空間的占用,在本發(fā)明實(shí)施例中,若一個(gè)io請(qǐng)求已經(jīng)從請(qǐng)求緩存池中插入io地址隊(duì)列和io時(shí)延隊(duì)列,便可以從請(qǐng)求緩存池中將該io請(qǐng)求刪除。

優(yōu)選的,硬盤(pán)設(shè)備中可以配置至少兩個(gè)硬盤(pán),至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)一個(gè)請(qǐng)求緩存池,并且至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)于一個(gè)io地址隊(duì)列。如圖6所示,硬盤(pán)設(shè)備13中可以配置兩個(gè)硬盤(pán),硬盤(pán)1對(duì)應(yīng)于請(qǐng)求緩存池1,硬盤(pán)2對(duì)應(yīng)于請(qǐng)求緩存池2;并且,硬盤(pán)1對(duì)應(yīng)于io地址隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io地址隊(duì)列2。

可以想到的是,由于至少兩個(gè)硬盤(pán)中的每一個(gè)硬盤(pán)均對(duì)應(yīng)一個(gè)請(qǐng)求緩存池,那么io請(qǐng)求的調(diào)度裝置在接收到io請(qǐng)求后,則可以將接收到的io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池,以實(shí)現(xiàn)對(duì)接收到的多個(gè)io請(qǐng)求的分流。

具體的,s803可以包括s803b-s803c:

s803b、io請(qǐng)求的調(diào)度裝置根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將該io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池。

示例性的,假設(shè)一個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)為如圖6所示的硬盤(pán)1,那么io請(qǐng)求的調(diào)度裝置則可以將該io請(qǐng)求添加至如圖6所示的請(qǐng)求緩存池1。

s803c、io請(qǐng)求的調(diào)度裝置按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列。

示例性的,io請(qǐng)求的調(diào)度裝置在將該io請(qǐng)求添加至如圖6所示的請(qǐng)求緩存池1后,可以根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)1中的物理地址從請(qǐng)求緩存池1中,將該io請(qǐng)求插入io地址隊(duì)列1。

可以理解的是,若硬盤(pán)設(shè)備中的硬盤(pán)數(shù)量較多,訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求的數(shù)量也會(huì)相應(yīng)增加,這樣很容易造成io請(qǐng)求的錯(cuò)誤調(diào)度。本發(fā)明實(shí)施例中,可以至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)均配置一個(gè)請(qǐng)求緩存池,在接收到io請(qǐng)求后,將io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池,實(shí)現(xiàn)了對(duì)多個(gè)io請(qǐng)求的分流。如此,便可以減少io請(qǐng)求的錯(cuò)誤調(diào)度,提高調(diào)度效率。

可以想到的是,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)還可以對(duì)應(yīng)一個(gè)io時(shí)延隊(duì)列。如圖7所示,硬盤(pán)1對(duì)應(yīng)于io時(shí)延隊(duì)列1,硬盤(pán)2對(duì)應(yīng)于io時(shí)延隊(duì)列。

示例性的,假設(shè)一個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)為如圖7所示的硬盤(pán)1,那么io請(qǐng)求的調(diào)度裝置在將該io請(qǐng)求添加至如圖7所示的請(qǐng)求緩存池1后,可以根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)1中的物理地址,從請(qǐng)求緩存池1中將該io請(qǐng)求插入io地址隊(duì)列1,并根據(jù)該io請(qǐng)求的要求提交時(shí)間,從請(qǐng)求緩存池1中將該io請(qǐng)求插入io時(shí)延隊(duì)列1。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度方法,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入io地址隊(duì)列,如此便可以按照該io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的在硬盤(pán)中的物理地址相近的io請(qǐng)求,從而硬盤(pán)設(shè)備便可以對(duì)物理地址相近的io請(qǐng)求進(jìn)行集中處理,可以減少磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

并且,本方案中,可以根據(jù)一個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,以及接收該io請(qǐng)求的時(shí)間,計(jì)算得到該io請(qǐng)求的要求提交時(shí)間;而一個(gè)io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間,即如果在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,便可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。因此,在io地址隊(duì)列中的任一io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),便優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以避免io地址隊(duì)列中的部分io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。

由此可見(jiàn),通過(guò)本方案,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

進(jìn)一步的,通過(guò)本方案,還可以通過(guò)對(duì)接收到要求訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流處理,減少io請(qǐng)求的錯(cuò)誤調(diào)度,提高調(diào)度效率。

實(shí)施例二

本發(fā)明實(shí)施例提供一種io請(qǐng)求的調(diào)度裝置,該io請(qǐng)求要求訪(fǎng)問(wèn)硬盤(pán)設(shè)備中配置的硬盤(pán)中的數(shù)據(jù),如圖16所示,該io請(qǐng)求的調(diào)度裝置包括:請(qǐng)求接收模塊1601、請(qǐng)求排序模塊1602和請(qǐng)求處理模塊1603。

請(qǐng)求接收模塊1601,用于接收io請(qǐng)求,并記錄接收該io請(qǐng)求的時(shí)間;該io請(qǐng)求中攜帶有該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址、該io請(qǐng)求的時(shí)延要求和該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小。

請(qǐng)求排序模塊1602,用于按照該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,將上述請(qǐng)求接收模塊1601接收的該io請(qǐng)求插入到上述io地址隊(duì)列。

請(qǐng)求處理模塊1603,用于按照上述io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的io請(qǐng)求,并在根據(jù)該io地址隊(duì)列中的任一io請(qǐng)求的時(shí)延要求、該任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小和接收該任一io請(qǐng)求的時(shí)間,計(jì)算得到的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求。

其中,該任一io請(qǐng)求的要求提交時(shí)間為向所述硬盤(pán)設(shè)備提交該任一io請(qǐng)求的最晚時(shí)間。

可以想到的是,若在該任一io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以保證該任一io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該任一io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

需要說(shuō)明的是,本實(shí)施例中的請(qǐng)求接收模塊1601即為如圖1-圖7中任一附圖所示的請(qǐng)求接收模塊121,請(qǐng)求排序模塊1602即為如圖1-圖7中任一附圖所示的請(qǐng)求排序模塊122,請(qǐng)求處理模塊1603即為如圖1-圖7中任一附圖所示的請(qǐng)求處理模塊123。

進(jìn)一步的,為了避免一段時(shí)間內(nèi)待處理的io請(qǐng)求較多,不能及時(shí)處理接收到的io請(qǐng)求,本發(fā)明實(shí)施例還可以為硬盤(pán)配置一個(gè)請(qǐng)求緩存池,請(qǐng)求排序模塊1602可以將上述請(qǐng)求接收模塊1601接收到到io請(qǐng)求先保存在請(qǐng)求緩存池中,然后再將請(qǐng)求緩存池中的io請(qǐng)求一一插入io地址隊(duì)列。

可以想到的是,如果硬盤(pán)設(shè)備中的硬盤(pán)對(duì)應(yīng)于一個(gè)請(qǐng)求緩存池,且該硬盤(pán)對(duì)應(yīng)于一個(gè)io地址隊(duì)列;那么,上述請(qǐng)求排序模塊1602,具體可以用于:

將上述請(qǐng)求接收模塊1601接收到的io請(qǐng)求添加至請(qǐng)求緩存池,并按照該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,從請(qǐng)求緩存池中將該io請(qǐng)求插入到io地址隊(duì)列。

可以想到的是,為了避免冗余io請(qǐng)求,如已經(jīng)從請(qǐng)求緩存池中插入io地址隊(duì)列的io請(qǐng)求,對(duì)請(qǐng)求緩存池的存儲(chǔ)空間的占用,請(qǐng)求處理模塊1603可以將已經(jīng)從請(qǐng)求緩存池中插入io地址隊(duì)列的io請(qǐng)求從請(qǐng)求緩存池中刪除。

進(jìn)一步的,上述請(qǐng)求處理模塊1603,還可以用于:

根據(jù)上述任一io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理該任一io請(qǐng)求的處理用時(shí);

根據(jù)接收該任一io請(qǐng)求的時(shí)間、該任一io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理該任一io請(qǐng)求的處理用時(shí),計(jì)算該任一io請(qǐng)求的要求提交時(shí)間。

進(jìn)一步的,在本發(fā)明實(shí)施例的一種應(yīng)用場(chǎng)景中,硬盤(pán)設(shè)置中配置的硬盤(pán)不僅可以對(duì)應(yīng)于一個(gè)io地址隊(duì)列,還可以對(duì)應(yīng)于一個(gè)io時(shí)延隊(duì)列。即在本發(fā)明實(shí)施例中,可以通過(guò)io時(shí)延隊(duì)列的方式來(lái)檢測(cè)一個(gè)io請(qǐng)求在預(yù)設(shè)時(shí)間內(nèi)是否會(huì)超時(shí)。

具體的,上述請(qǐng)求排序模塊1602,還可以用于在上述請(qǐng)求處理模塊1603按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求之前,

根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,確定硬盤(pán)設(shè)備處理io請(qǐng)求的處理用時(shí);

根據(jù)請(qǐng)求接收模塊1601接收io請(qǐng)求的時(shí)間、io請(qǐng)求的時(shí)延要求,以及硬盤(pán)設(shè)備處理io請(qǐng)求的處理用時(shí),計(jì)算io請(qǐng)求的要求提交時(shí)間;

按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

其中,io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交io請(qǐng)求的最晚時(shí)間。 位于io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間早于io時(shí)延隊(duì)列中其他io請(qǐng)求的要求提交時(shí)間。

可以想到的是,上述io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交io請(qǐng)求的最晚時(shí)間。若在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,則可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。

并且,在上述io時(shí)延隊(duì)列中,io請(qǐng)求是按照io請(qǐng)求的要求提交時(shí)間的先后進(jìn)行排序的,位于上述io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間早于io時(shí)延隊(duì)列中其他io請(qǐng)求的要求提交時(shí)間。

可以理解的是,若硬盤(pán)設(shè)備中的硬盤(pán)配置有請(qǐng)求緩存池,那么上述io請(qǐng)求也可以經(jīng)由請(qǐng)求緩存池,插入io時(shí)延隊(duì)列。

進(jìn)一步的,上述請(qǐng)求處理模塊1603,具體用于:

按照io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交io地址隊(duì)列中的io請(qǐng)求,并在向硬盤(pán)設(shè)備提交io地址隊(duì)列中的任一個(gè)io請(qǐng)求之前,判斷io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間是否在預(yù)設(shè)時(shí)間內(nèi);

若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi),則優(yōu)先向硬盤(pán)設(shè)備提交io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求;

若io時(shí)延隊(duì)列的隊(duì)首的io請(qǐng)求的要求提交時(shí)間不在預(yù)設(shè)時(shí)間內(nèi),則向硬盤(pán)設(shè)備提交任一個(gè)io請(qǐng)求。

進(jìn)一步的,上述請(qǐng)求排序模塊1602,具體用于按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從請(qǐng)求緩存池中,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

優(yōu)選的,在本發(fā)明實(shí)施例中,硬盤(pán)設(shè)備中可以配置至少兩個(gè)硬盤(pán)。

該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)io地址隊(duì)列,每個(gè)io地址隊(duì)列中的io請(qǐng)求按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在對(duì)應(yīng)硬盤(pán)中的物理地址進(jìn)行排序。

相應(yīng)的,上述請(qǐng)求接收模塊1601接收自流媒體服務(wù)器的io請(qǐng)求中還攜帶有io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí)。

可以理解的是,若硬盤(pán)設(shè)備中配置有至少兩個(gè)硬盤(pán),那么請(qǐng)求排序模塊1602在請(qǐng)求接收模塊1601接收到io請(qǐng)求后,則需要根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),從上述至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io地址隊(duì)列中,確定出該io請(qǐng)求待插入的io地址隊(duì)列;然后再根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入上述確定的io地址隊(duì)列。

相應(yīng)的,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)還可以對(duì)應(yīng)一個(gè)io時(shí)延隊(duì)列。上述請(qǐng)求排序模塊1602在將io請(qǐng)求插入io時(shí)延隊(duì)列之前,也需要從上述至少兩個(gè)硬盤(pán)中每個(gè)硬盤(pán)所對(duì)應(yīng)的io時(shí)延隊(duì)列中,確定出該io請(qǐng)求待插入的io時(shí)延隊(duì)列;然后再按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,將io請(qǐng)求插入到io時(shí)延隊(duì)列。

進(jìn)一步的,上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)對(duì)應(yīng)一個(gè)請(qǐng)求緩存池。

上述請(qǐng)求排序模塊1602,具體用于根據(jù)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)的標(biāo)識(shí),將io請(qǐng)求添加至io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池;按照io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址與io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列中各個(gè)io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io地址隊(duì)列。

在硬盤(pán)設(shè)備中配置有至少兩個(gè)硬盤(pán)時(shí),請(qǐng)求排序模塊1602可以將請(qǐng)求接收模塊1601接收到的io請(qǐng)求添加至其要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池,即請(qǐng)求排序模塊1602可以在將io請(qǐng)求插入io隊(duì)列(io地址隊(duì)列或者io時(shí)延隊(duì)列)之前,先對(duì)訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流,然后再對(duì)訪(fǎng)問(wèn)各個(gè)硬盤(pán)的io請(qǐng)求分別進(jìn)行排序,可以提高io請(qǐng)求的調(diào)度效率。

相應(yīng)的,若上述至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)不僅對(duì)應(yīng)一個(gè)請(qǐng)求緩存池,至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)分別對(duì)應(yīng)一個(gè)io地址隊(duì)列,該至少兩個(gè)硬盤(pán)中的每個(gè)硬盤(pán)還分別對(duì)應(yīng)一個(gè)io時(shí)延隊(duì)列;那么在本發(fā)明實(shí)施例中, 上述請(qǐng)求排序模塊1602則可以在將一個(gè)io請(qǐng)求添加至該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池后,從每個(gè)硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入對(duì)應(yīng)硬盤(pán)的io時(shí)延隊(duì)列。

具體的,上述請(qǐng)求排序模塊1602,還可以用于按照io請(qǐng)求的要求提交時(shí)間與io時(shí)延隊(duì)列中各個(gè)io請(qǐng)求的要求提交時(shí)間的先后排序,從io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的請(qǐng)求緩存池中,將io請(qǐng)求插入到io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)所在硬盤(pán)對(duì)應(yīng)的io時(shí)延隊(duì)列。

需要說(shuō)明的是,本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度裝置中各個(gè)功能模塊為了執(zhí)行上述方法實(shí)施例中的io請(qǐng)求的調(diào)度方法,而對(duì)io請(qǐng)求的調(diào)度裝置進(jìn)行的邏輯上的劃分,因此io請(qǐng)求的調(diào)度裝置中各個(gè)功能模塊的詳細(xì)描述可以參考上述方法實(shí)施例中相關(guān)步驟的描述,本發(fā)明實(shí)施例這里不再贅述。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度裝置,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入io地址隊(duì)列,如此便可以按照該io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的在硬盤(pán)中的物理地址相近的io請(qǐng)求,從而硬盤(pán)設(shè)備便可以對(duì)物理地址相近的io請(qǐng)求進(jìn)行集中處理,可以減少磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

并且,本方案中,可以根據(jù)一個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,以及接收該io請(qǐng)求的時(shí)間,計(jì)算得到該io請(qǐng)求的要求提交時(shí)間;而一個(gè)io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間,即如果在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,便可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。因此,在io地址隊(duì)列中的任一io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),便優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以避免io地址隊(duì)列中的部分io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。

由此可見(jiàn),通過(guò)本方案,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán) 性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

進(jìn)一步的,通過(guò)本方案,還可以通過(guò)對(duì)接收到要求訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流處理,減少io請(qǐng)求的錯(cuò)誤調(diào)度,提高調(diào)度效率。

實(shí)施例三

本發(fā)明實(shí)施例提供一種io請(qǐng)求的調(diào)度裝置,如圖17所示,該io請(qǐng)求的調(diào)度裝置包括:

一個(gè)或多個(gè)處理器1701、存儲(chǔ)器1702、總線(xiàn)系統(tǒng)1703、收發(fā)器1704,以及一個(gè)或多個(gè)應(yīng)用程序,所述一個(gè)或多個(gè)處理器1701、收發(fā)器1704和存儲(chǔ)器1702通過(guò)所述總線(xiàn)系統(tǒng)1703相連;所述一個(gè)或多個(gè)應(yīng)用程序存儲(chǔ)在所述存儲(chǔ)器1702中,所述一個(gè)或多個(gè)應(yīng)用程序包括指令。

上述收發(fā)器1704用于代替上述請(qǐng)求接收模塊121接收io請(qǐng)求,所述處理器1701用于執(zhí)行所述指令,并具體用于代替上述請(qǐng)求排序模塊和請(qǐng)求處理模塊,執(zhí)行如圖8、圖12、圖14-圖17中任一附圖所示的io請(qǐng)求的調(diào)度方法。即處理器1701可以為上述請(qǐng)求排序模塊和請(qǐng)求處理模塊等功能單元或功能模塊的集成,即上述各功能模塊可以集成在一個(gè)該處理器1701中實(shí)現(xiàn)。

所述處理器1701可能是一個(gè)中央處理器(centralprocessingunit,cpu),或者是特定集成電路(applicationspecificintegratedcircuit,asic),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。

其中,總線(xiàn)可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrystandardarchitecture,isa)總線(xiàn)、外部設(shè)備互連(peripheralcomponentinterconnect,pci)總線(xiàn)或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(extendedindustrystandardarchitecture,eisa)總線(xiàn)等。該總線(xiàn)可以分為地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)等。為便于表示,圖17中僅用一條粗線(xiàn)表示,但并不表示僅有一根總線(xiàn)或一種類(lèi)型的總線(xiàn)。

本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有一個(gè)或多個(gè)程序,該一個(gè)或多個(gè)程序包括指令,當(dāng)io請(qǐng)求的調(diào)度裝置的處理器執(zhí)行所述指令時(shí),io請(qǐng)求的調(diào)度裝置執(zhí)行如圖8、圖 12、圖14-圖17中任一附圖所示的io請(qǐng)求的調(diào)度方法

所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可能包含高速ram存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。

需要說(shuō)明的是,上述程序代碼可以作為運(yùn)行于io請(qǐng)求的調(diào)度裝置的嵌入式操作系統(tǒng)的一個(gè)組件,也可以作為運(yùn)行于io請(qǐng)求的調(diào)度裝置上的各種應(yīng)用程序中的一個(gè)組件。

需要說(shuō)明的是,本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度裝置中功能模塊的具體描述可以參考本發(fā)明方法實(shí)施例中對(duì)應(yīng)部分的相關(guān)描述,本實(shí)施例這里不再贅述。

本發(fā)明實(shí)施例提供的io請(qǐng)求的調(diào)度裝置,可以在接收到一個(gè)io請(qǐng)求后,根據(jù)該io請(qǐng)求要求訪(fǎng)問(wèn)的數(shù)據(jù)在硬盤(pán)中的物理地址,將該io請(qǐng)求插入io地址隊(duì)列,如此便可以按照該io地址隊(duì)列中io請(qǐng)求的排序,依次向硬盤(pán)設(shè)備提交該io地址隊(duì)列中的在硬盤(pán)中的物理地址相近的io請(qǐng)求,從而硬盤(pán)設(shè)備便可以對(duì)物理地址相近的io請(qǐng)求進(jìn)行集中處理,可以減少磁頭在硬盤(pán)上的移動(dòng)距離,進(jìn)而提升硬盤(pán)性能。

并且,本方案中,可以根據(jù)一個(gè)io請(qǐng)求的時(shí)延要求、要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,以及接收該io請(qǐng)求的時(shí)間,計(jì)算得到該io請(qǐng)求的要求提交時(shí)間;而一個(gè)io請(qǐng)求的要求提交時(shí)間為向硬盤(pán)設(shè)備提交該io請(qǐng)求的最晚時(shí)間,即如果在該io請(qǐng)求的要求提交時(shí)間之前,向硬盤(pán)設(shè)備提交該io請(qǐng)求,便可以保證該io請(qǐng)求不超時(shí),即可以按時(shí)執(zhí)行完該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù),保證該io請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)的成功率。因此,在io地址隊(duì)列中的任一io請(qǐng)求的要求提交時(shí)間在預(yù)設(shè)時(shí)間內(nèi)時(shí),便優(yōu)先向硬盤(pán)設(shè)備提交該任一io請(qǐng)求,則可以避免io地址隊(duì)列中的部分io請(qǐng)求由于等待時(shí)間過(guò)長(zhǎng)而導(dǎo)致業(yè)務(wù)失敗。

由此可見(jiàn),通過(guò)本方案,可以參考各個(gè)io請(qǐng)求的不同時(shí)延要求以及要求訪(fǎng)問(wèn)的數(shù)據(jù)的大小,盡可能的合并較多的io請(qǐng)求,從而在提升硬盤(pán)性能的同時(shí),避免io請(qǐng)求的超時(shí),以保證io請(qǐng)求對(duì)應(yīng)業(yè)務(wù)的成功率。

進(jìn)一步的,通過(guò)本方案,還可以通過(guò)對(duì)接收到要求訪(fǎng)問(wèn)不同硬盤(pán)的io請(qǐng)求進(jìn)行分流處理,減少io請(qǐng)求的錯(cuò)誤調(diào)度,提高調(diào)度效率。

通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。

基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(rom,read-only memory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1