本發(fā)明屬于數(shù)據(jù)存儲(chǔ)與調(diào)用技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)提取方法和系統(tǒng)。
背景技術(shù):
云存儲(chǔ),是在云計(jì)算概念上延伸和發(fā)展出來(lái)的概念,其為一種新的網(wǎng)絡(luò)存儲(chǔ)技術(shù),通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類(lèi)型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。
隨著科技的發(fā)展,云部署的規(guī)模越來(lái)越大,數(shù)據(jù)量正在以千萬(wàn)數(shù)量級(jí)增長(zhǎng),同時(shí)用戶(hù)對(duì)云存儲(chǔ)性能和應(yīng)用體驗(yàn)的要求也越來(lái)越高。
當(dāng)用戶(hù)所請(qǐng)求的數(shù)據(jù)存儲(chǔ)在多個(gè)存儲(chǔ)云時(shí),現(xiàn)有技術(shù)通常是采用遍歷所有存儲(chǔ)云的方式來(lái)查找并提取數(shù)據(jù),這種方式不但效率低而且用戶(hù)體驗(yàn)效果差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種數(shù)據(jù)提取方法和系統(tǒng),以提高從多個(gè)存儲(chǔ)云中提取數(shù)據(jù)的效率。
本發(fā)明的一個(gè)方面提供了一種數(shù)據(jù)提取方法,應(yīng)用于云存儲(chǔ)系統(tǒng),所述云存儲(chǔ)系統(tǒng)包括第一提取管理服務(wù)器、主存儲(chǔ)云以及多個(gè)從存儲(chǔ)云,所述方法包括:所述第一提取管理服務(wù)器接收用戶(hù)終端發(fā)送的數(shù)據(jù)提取請(qǐng)求,所述數(shù)據(jù)提取請(qǐng)求中包含待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)位置信息;所述第一提取管理服務(wù)器根據(jù)所述存儲(chǔ)位置信息確定對(duì)應(yīng)的主存儲(chǔ)云,并將所述數(shù)據(jù)提取請(qǐng)求發(fā)送至所述主存儲(chǔ)云,其中,所述主存儲(chǔ)云為初始存儲(chǔ)所述待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)云;所述主存儲(chǔ)云根據(jù)所述數(shù)據(jù)提取請(qǐng)求獲取與所述待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息;所述主存儲(chǔ)云基于所述數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)發(fā)送至用戶(hù)終端。
本發(fā)明的另一個(gè)方面提供了一種數(shù)據(jù)提取系統(tǒng),包括第一提取管理服務(wù)器、主存儲(chǔ)云以及多個(gè)從存儲(chǔ)云;第一提取管理服務(wù)器,用于接收并根據(jù)用戶(hù)終端發(fā)送的數(shù)據(jù)提取請(qǐng)求確定對(duì)應(yīng)的主存儲(chǔ)云,并將所述數(shù)據(jù)提取請(qǐng)求發(fā)送至所述主存儲(chǔ)云;其中,所述數(shù)據(jù)提取請(qǐng)求中包含待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)位置信息,所述主存儲(chǔ)云為初始存儲(chǔ)所述待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)云;主存儲(chǔ)云,用于根據(jù)所述數(shù)據(jù)提取請(qǐng)求獲取與所述待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息,并基于所述數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)發(fā)送至用戶(hù)終端。
本發(fā)明通過(guò)先將用戶(hù)發(fā)送來(lái)的數(shù)據(jù)提取請(qǐng)求發(fā)送至初始存儲(chǔ)待提取目標(biāo)數(shù)據(jù)的主存儲(chǔ)云,再通過(guò)在主存儲(chǔ)云中獲取與待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息,并基于該數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),避免了遍歷所有存儲(chǔ)云服務(wù)器的繁瑣工作,有效提高了提取效率。
附圖說(shuō)明
圖1是云存儲(chǔ)系統(tǒng)正常寫(xiě)入數(shù)據(jù)的一實(shí)施例的示意圖;
圖2是云存儲(chǔ)系統(tǒng)異常寫(xiě)入數(shù)據(jù)的一實(shí)施例的示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)提取方法的一實(shí)施例的流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)分散存儲(chǔ)在存儲(chǔ)云的一實(shí)施例的示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)提取過(guò)程中異常情況下云間切換中轉(zhuǎn)數(shù)據(jù)的一實(shí)施例的示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)提取系統(tǒng)的一實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)施方式并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說(shuō)明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
圖1是云存儲(chǔ)系統(tǒng)正常寫(xiě)入數(shù)據(jù)的一實(shí)施例的示意圖。
首先,在從云存儲(chǔ)環(huán)境中提取數(shù)據(jù)之前,通常會(huì)先向云存儲(chǔ)系統(tǒng)的多個(gè)存儲(chǔ)云中寫(xiě)入數(shù)據(jù)。在正常使用環(huán)境中,云存儲(chǔ)系統(tǒng)會(huì)以就近原則寫(xiě)入數(shù)據(jù),如圖1所示正常寫(xiě)入數(shù)據(jù)的例子:具有多個(gè)相互協(xié)同關(guān)聯(lián)的存儲(chǔ)云,包括:云1、……云n。每個(gè)存儲(chǔ)云中有多個(gè)云存儲(chǔ)節(jié)點(diǎn)。用戶(hù)終端寫(xiě)入的數(shù)據(jù)來(lái)自各個(gè)進(jìn)行錄像的前端攝像頭的編碼器,比如:前端攝像頭采集的圖像經(jīng)其編碼器形成數(shù)據(jù),并將數(shù)據(jù)寫(xiě)入(或上傳)到同一網(wǎng)段或鄰近網(wǎng)段的存儲(chǔ)云,來(lái)保證數(shù)據(jù)安全可靠。
圖2是云存儲(chǔ)系統(tǒng)異常寫(xiě)入數(shù)據(jù)的一實(shí)施例的示意圖。
用戶(hù)終端向云存儲(chǔ)系統(tǒng)發(fā)送數(shù)據(jù)存儲(chǔ)請(qǐng)求,云存儲(chǔ)系統(tǒng)將數(shù)據(jù)存儲(chǔ)請(qǐng)求發(fā)送到與用戶(hù)終端ip(網(wǎng)絡(luò)之間互連的協(xié)議,internetprotocol)地址地理位置最近的存儲(chǔ)云,該最近的存儲(chǔ)云即為主存儲(chǔ)云;當(dāng)主存儲(chǔ)云發(fā)生故障或由于其他特殊原因,主存儲(chǔ)云需要將數(shù)據(jù)拆分成數(shù)據(jù)塊并分散存儲(chǔ)到多個(gè)其他存儲(chǔ)云,這些分散存儲(chǔ)數(shù)據(jù)的其他存儲(chǔ)云即為從存儲(chǔ)云,當(dāng)主存儲(chǔ)云的故障恢復(fù)時(shí),多個(gè)從存儲(chǔ)云將數(shù)據(jù)存儲(chǔ)信息回傳給主存儲(chǔ)云,主存儲(chǔ)云將多個(gè)從存儲(chǔ)云回傳的數(shù)據(jù)存儲(chǔ)信息匯總后形成數(shù)據(jù)索引信息。作為本發(fā)明的一種實(shí)施方式,數(shù)據(jù)索引信息記錄了各數(shù)據(jù)塊的存儲(chǔ)路徑信息,或從存儲(chǔ)云的ip地址與所存儲(chǔ)的數(shù)據(jù)塊的標(biāo)識(shí)信息的映射關(guān)系。
需要說(shuō)明的是:本發(fā)明中,“主存儲(chǔ)云”和“從存儲(chǔ)云”是一對(duì)相對(duì)概念,僅僅在針對(duì)某個(gè)具體數(shù)據(jù)時(shí)才會(huì)區(qū)分;同一個(gè)存儲(chǔ)云,對(duì)于某個(gè)數(shù)據(jù)來(lái)說(shuō)是主存儲(chǔ)云,對(duì)于其他數(shù)據(jù)來(lái)說(shuō),可能是從存儲(chǔ)云。
如圖2所示異常寫(xiě)入數(shù)據(jù)的例子:將寫(xiě)入出現(xiàn)故障的存儲(chǔ)云云1(主存儲(chǔ)云)的數(shù)據(jù),轉(zhuǎn)存到工作正常的附近關(guān)聯(lián)協(xié)同工作的存儲(chǔ)云n(從存儲(chǔ)云)中。主存儲(chǔ)云通過(guò)將數(shù)據(jù)分散存儲(chǔ)到其他多個(gè)從存儲(chǔ)云中可以確保數(shù)據(jù)的完整性,這樣,在數(shù)據(jù)提取過(guò)程中,先要從各個(gè)存儲(chǔ)云中檢索出數(shù)據(jù)索引信息,再根據(jù)數(shù)據(jù)索引信息找到相應(yīng)的數(shù)據(jù)存儲(chǔ)位置完成數(shù)據(jù)提取工作,但由于某個(gè)存儲(chǔ)云發(fā)生故障時(shí)數(shù)據(jù)會(huì)分散存儲(chǔ)到多個(gè)存儲(chǔ)云中,在進(jìn)行數(shù)據(jù)提取時(shí)需要對(duì)所有的存儲(chǔ)云進(jìn)行檢索,才能得到數(shù)據(jù)存儲(chǔ)信息,這種檢索方式,在進(jìn)行檢索時(shí)占用資源多,且檢索效率不高。
基于上述前提,如圖3所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)提取方法,應(yīng)用于云存儲(chǔ)系統(tǒng),云存儲(chǔ)系統(tǒng)包括第一提取管理服務(wù)器、主存儲(chǔ)云以及多個(gè)從存儲(chǔ)云,該方法包括:
步驟s110,第一提取管理服務(wù)器接收用戶(hù)終端發(fā)送的數(shù)據(jù)提取請(qǐng)求,所述數(shù)據(jù)提取請(qǐng)求中包含待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)位置信息。
在本步驟中,當(dāng)用戶(hù)要提取數(shù)據(jù)時(shí),通過(guò)用戶(hù)終端向第一提取管理服務(wù)器發(fā)送數(shù)據(jù)提取請(qǐng)求,數(shù)據(jù)提取請(qǐng)求中包含待提取數(shù)據(jù)的存儲(chǔ)位置信息,即存儲(chǔ)待提取數(shù)據(jù)的主存儲(chǔ)云位置信息,其中,所述主存儲(chǔ)云為初始存儲(chǔ)所述待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)云。作為本發(fā)明的一種實(shí)施方式,該存儲(chǔ)位置信息可以是主存儲(chǔ)云的ip地址。另外,作為本發(fā)明一種實(shí)施方式,數(shù)據(jù)提取請(qǐng)求中還可以包含用戶(hù)id(identification,用戶(hù)識(shí)別信息),即發(fā)送數(shù)據(jù)提取請(qǐng)求的用戶(hù)終端的標(biāo)識(shí)信息。
需要說(shuō)明的是,第一提取管理服務(wù)器為首次接收到用戶(hù)終端發(fā)送的數(shù)據(jù)提取請(qǐng)求的服務(wù)器,它通常屬于與用戶(hù)終端ip地址地理位置上最近的存儲(chǔ)云,即主存儲(chǔ)云。當(dāng)然,它也可以根據(jù)預(yù)定的接收消息策略而設(shè)置,不屬于主存儲(chǔ)云。本發(fā)明在此不做限定。
步驟s120,第一提取管理服務(wù)器根據(jù)存儲(chǔ)位置信息確定對(duì)應(yīng)的主存儲(chǔ)云,并將數(shù)據(jù)提取請(qǐng)求發(fā)送至主存儲(chǔ)云,其中,主存儲(chǔ)云為初始存儲(chǔ)待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)云。
本步驟中,第一提取管理服務(wù)器接收到數(shù)據(jù)提取請(qǐng)求后,從該數(shù)據(jù)提取請(qǐng)求中提取出待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)位置信息,根據(jù)存儲(chǔ)位置信息確定對(duì)應(yīng)的主存儲(chǔ)云,將所述數(shù)據(jù)提取請(qǐng)求發(fā)送至該主存儲(chǔ)云,通常主存儲(chǔ)云是該待提取數(shù)據(jù)初始存儲(chǔ)時(shí)所在的存儲(chǔ)云。用戶(hù)在將數(shù)據(jù)寫(xiě)入存儲(chǔ)云的時(shí)候,數(shù)據(jù)會(huì)有一個(gè)初始存儲(chǔ)位置,我們將初始存儲(chǔ)某數(shù)據(jù)的云定義為主存儲(chǔ)云,當(dāng)主存儲(chǔ)云發(fā)生故障或其他特殊原因,主存儲(chǔ)云才將數(shù)據(jù)切分為若干數(shù)據(jù)塊,分散存儲(chǔ)到其他存儲(chǔ)云中,這些其他存儲(chǔ)云即為從存儲(chǔ)云。
步驟s130,主存儲(chǔ)云根據(jù)數(shù)據(jù)提取請(qǐng)求獲取與待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息。
待提取數(shù)據(jù)初始存儲(chǔ)時(shí)所在的存儲(chǔ)云(主存儲(chǔ)云)中存儲(chǔ)有數(shù)據(jù)索引信息,該數(shù)據(jù)索引信息是數(shù)據(jù)寫(xiě)入過(guò)程中主存儲(chǔ)云將多個(gè)從存儲(chǔ)云回傳的數(shù)據(jù)存儲(chǔ)信息匯總后形成的,數(shù)據(jù)索引信息中包含有分散存儲(chǔ)的各數(shù)據(jù)塊的存儲(chǔ)路徑信息。
在本步驟中,主存儲(chǔ)云接收到所述數(shù)據(jù)提取請(qǐng)求后,根據(jù)該數(shù)據(jù)提取請(qǐng)求獲取與所述待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息,數(shù)據(jù)索引信息至少包含數(shù)據(jù)分散存儲(chǔ)的各個(gè)從存儲(chǔ)云的信息,即待提取目標(biāo)數(shù)據(jù)實(shí)際分散存儲(chǔ)的多個(gè)從存儲(chǔ)云。在本發(fā)明的一種實(shí)施方式中,數(shù)據(jù)索引信息記錄了分散存儲(chǔ)的各數(shù)據(jù)塊的存儲(chǔ)路徑信息,或從存儲(chǔ)云的ip地址與所存儲(chǔ)的數(shù)據(jù)塊的標(biāo)識(shí)信息的映射關(guān)系。因此,根據(jù)該存儲(chǔ)路徑信息或映射關(guān)系,主存儲(chǔ)云可以找到存儲(chǔ)待提取數(shù)據(jù)的各個(gè)從存儲(chǔ)云。
步驟s140,主存儲(chǔ)云基于數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),并將目標(biāo)數(shù)據(jù)發(fā)送至用戶(hù)終端。
本步驟中,由于數(shù)據(jù)提取請(qǐng)求中還包含用戶(hù)id(identification,用戶(hù)識(shí)別信息),即發(fā)送數(shù)據(jù)提取請(qǐng)求的用戶(hù)終端的標(biāo)識(shí)信息,主存儲(chǔ)云根據(jù)用戶(hù)id將提取到的目標(biāo)數(shù)據(jù)發(fā)送至用戶(hù)終端。
本發(fā)明實(shí)施例通過(guò)先將用戶(hù)發(fā)送來(lái)的數(shù)據(jù)提取請(qǐng)求發(fā)送至初始存儲(chǔ)待提取目標(biāo)數(shù)據(jù)的主存儲(chǔ)云,再通過(guò)在主存儲(chǔ)云中獲取與待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息,并基于該數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),避免了遍歷所有云存儲(chǔ)服務(wù)器的繁瑣工作,有效提高了提取效率。
進(jìn)一步的,由于數(shù)據(jù)分散存儲(chǔ)在多個(gè)存儲(chǔ)云中,每個(gè)存儲(chǔ)云的讀寫(xiě)壓力不同,網(wǎng)絡(luò)壓力也不同。本發(fā)明的一個(gè)實(shí)施方式中,主存儲(chǔ)云包括第二提取管理服務(wù)器,用于基于數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),在進(jìn)行數(shù)據(jù)提取(包括下載該數(shù)據(jù))時(shí),主存儲(chǔ)云的第二提取管理服務(wù)器首先對(duì)數(shù)據(jù)索引信息進(jìn)行分析,由于數(shù)據(jù)索引信息是主存儲(chǔ)云將多個(gè)從存儲(chǔ)云回傳的數(shù)據(jù)存儲(chǔ)信息匯總后形成的,因此,數(shù)據(jù)索引信息中包含有數(shù)據(jù)塊的存儲(chǔ)路徑信息,根據(jù)該存儲(chǔ)路徑信息,第二提取管理服務(wù)器可得知各個(gè)從存儲(chǔ)云的地址信息,各個(gè)從存儲(chǔ)云的地址信息可以是從存儲(chǔ)云的ip地址。第二提取管理服務(wù)器根據(jù)各個(gè)從存儲(chǔ)云的ip地址,獲取各個(gè)從存儲(chǔ)云的性能參數(shù)和/或網(wǎng)絡(luò)環(huán)境參數(shù),制定多個(gè)從存儲(chǔ)云的數(shù)據(jù)提取策略。
這里需要說(shuō)明的是,“第一提取管理服務(wù)器”與“第二提取管理服務(wù)器”是為描述清楚而給服務(wù)器定義的代號(hào),本發(fā)明實(shí)施例中,當(dāng)與用戶(hù)終端地理位置最近的存儲(chǔ)云,跟本發(fā)明中所提及的主存儲(chǔ)云相同是,“第一提取管理服務(wù)器”與“第二提取管理服務(wù)器”為同一提取管理服務(wù)器;當(dāng)與用戶(hù)終端地理位置最近的存儲(chǔ)云,跟本發(fā)明中所提及的主存儲(chǔ)云為不同的存儲(chǔ)云時(shí),“第一提取管理服務(wù)器”與“第二提取管理服務(wù)器”為不同的提取管理服務(wù)器,這兩種實(shí)施方式均包含在本發(fā)明的保護(hù)范圍中。
如圖4所示,在一個(gè)實(shí)施方式中,在云存儲(chǔ)技術(shù)中,各個(gè)存儲(chǔ)云(云1、云二)作為云存儲(chǔ)節(jié)點(diǎn)(云存儲(chǔ)節(jié)點(diǎn)一、二……五)。在存儲(chǔ)數(shù)據(jù)時(shí),采用分散存儲(chǔ)策略,一個(gè)完整的文件(即數(shù)據(jù))會(huì)被分割成多個(gè)數(shù)據(jù)塊(數(shù)據(jù)塊1、2、3……30),分散存儲(chǔ)到多個(gè)存儲(chǔ)云的云存儲(chǔ)節(jié)點(diǎn)中。每個(gè)存儲(chǔ)云的性能參數(shù)和/或網(wǎng)絡(luò)環(huán)境參數(shù)不同,例如讀寫(xiě)壓力不同,進(jìn)而每個(gè)云存儲(chǔ)節(jié)點(diǎn)的讀寫(xiě)壓力也都不同,當(dāng)主存儲(chǔ)云獲取到數(shù)據(jù)索引信息后,對(duì)數(shù)據(jù)索引信息進(jìn)行分析,制定合理的數(shù)據(jù)提取策略。
具體的,步驟s140進(jìn)一步包括:
步驟s410,所述第二提取管理服務(wù)器對(duì)數(shù)據(jù)索引信息進(jìn)行解析以獲取數(shù)據(jù)存儲(chǔ)的各個(gè)從存儲(chǔ)云的信息,所述數(shù)據(jù)索引信息至少包含分散存儲(chǔ)的待提取數(shù)據(jù)的存儲(chǔ)路徑信息,通過(guò)該存儲(chǔ)路徑信息,可以進(jìn)一步得知各個(gè)從存儲(chǔ)云的信息,例如從存儲(chǔ)云的ip地址等。
本步驟中,第二提取管理服務(wù)器通過(guò)解析數(shù)據(jù)索引信息,獲取待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)路徑信息,即分散存儲(chǔ)在各個(gè)從存儲(chǔ)云的存儲(chǔ)位置,進(jìn)一步的,通過(guò)該存儲(chǔ)路徑信息可以對(duì)應(yīng)獲知各從存儲(chǔ)云的ip地址等信息。本發(fā)明實(shí)施例中,各個(gè)從存儲(chǔ)云的信息包括存儲(chǔ)云的性能參數(shù)和/或網(wǎng)絡(luò)環(huán)境參數(shù),其中,網(wǎng)絡(luò)環(huán)境參數(shù)包括網(wǎng)絡(luò)延時(shí)、丟包率、網(wǎng)絡(luò)io使用率等,性能參數(shù)包括cpu使用率、內(nèi)存占用率等。第二提取管理服務(wù)器在獲取到從存儲(chǔ)云的ip地址后,可以根據(jù)ip地址得到存儲(chǔ)云的性能參數(shù)和/或網(wǎng)絡(luò)環(huán)境參數(shù)。
步驟s420,所述第二提取管理服務(wù)器基于數(shù)據(jù)存儲(chǔ)的各個(gè)從存儲(chǔ)云的信息形成數(shù)據(jù)提取策略。
本步驟中,基于分散存儲(chǔ)在各從存儲(chǔ)云的數(shù)據(jù)塊的存儲(chǔ)路徑信息結(jié)合各從從存儲(chǔ)云的網(wǎng)絡(luò)環(huán)境參數(shù)、云存儲(chǔ)節(jié)點(diǎn)性能等形成數(shù)據(jù)提取策略,
優(yōu)選的,在所述第二提取管理服務(wù)器基于數(shù)據(jù)存儲(chǔ)的各個(gè)從存儲(chǔ)云的信息形成數(shù)據(jù)提取策略的步驟之后,還包括:第二提取管理服務(wù)器存儲(chǔ)該數(shù)據(jù)提取策略,這樣,以后再次訪問(wèn)/提取該數(shù)據(jù)時(shí),不需要執(zhí)行云間的數(shù)據(jù)索引信息,直接調(diào)用存儲(chǔ)的數(shù)據(jù)提取策略,執(zhí)行數(shù)據(jù)提取。
承接上述存儲(chǔ)該數(shù)據(jù)提取策略的過(guò)程,如果主存儲(chǔ)云的第二提取服務(wù)器查找到當(dāng)前目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)提取策略,則根據(jù)該數(shù)據(jù)提取策略從相應(yīng)的多個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù)并返回給用戶(hù)終端,本發(fā)明通過(guò)存儲(chǔ)數(shù)據(jù)提取策略,提高檢索效率,進(jìn)而提高數(shù)據(jù)提取效率。
步驟s430,所述第二提取管理服務(wù)器根據(jù)所述數(shù)據(jù)提取策略從所述各個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù)。
步驟s440,所述第二提取管理服務(wù)器將提取到的目標(biāo)數(shù)據(jù)返回給用戶(hù)終端。
本步驟中,第二提取管理服務(wù)器根據(jù)制定的數(shù)據(jù)提取策略,從各個(gè)從存儲(chǔ)云中提取目標(biāo)數(shù)據(jù),并將從多個(gè)從存儲(chǔ)云返回的數(shù)據(jù)塊組合還原成完整的目標(biāo)數(shù)據(jù),然后返回該目標(biāo)數(shù)據(jù)返回給用戶(hù)終端。
關(guān)于數(shù)據(jù)提取策略的描述請(qǐng)參見(jiàn)下述描述。
在一實(shí)施方式中,所述數(shù)據(jù)提取策略包括:優(yōu)先從網(wǎng)絡(luò)狀態(tài)好的存儲(chǔ)云中提取數(shù)據(jù)。本步驟中,在向各個(gè)存儲(chǔ)云寫(xiě)入數(shù)據(jù)或從存儲(chǔ)云提取數(shù)據(jù)時(shí),第二提取管理服務(wù)器會(huì)實(shí)時(shí)監(jiān)控當(dāng)前網(wǎng)絡(luò)的狀態(tài),包括網(wǎng)絡(luò)延時(shí)、丟包率和是否有斷網(wǎng)等情況。具體的,基于檢測(cè)到的各個(gè)存儲(chǔ)云的網(wǎng)絡(luò)狀態(tài),判斷每個(gè)數(shù)據(jù)存儲(chǔ)云的網(wǎng)絡(luò)延時(shí)是否小于延時(shí)上限值、丟包率是否小于丟包率下限值或網(wǎng)絡(luò)連接是否異常(即網(wǎng)絡(luò)是否處于正常連通狀態(tài)),當(dāng)判斷結(jié)果為是時(shí)(即判斷結(jié)果為某個(gè)/某幾個(gè)存儲(chǔ)云的網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值、丟包率小于丟包率下限值或網(wǎng)絡(luò)連接正常時(shí),優(yōu)先從網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值、丟包率小于丟包率下限值或網(wǎng)絡(luò)連接正常的所述存儲(chǔ)云中提取數(shù)據(jù)。例如,當(dāng)某個(gè)數(shù)據(jù)存儲(chǔ)云的網(wǎng)絡(luò)延時(shí)小于50ms時(shí),優(yōu)先從該網(wǎng)絡(luò)延時(shí)小的數(shù)據(jù)存儲(chǔ)云中提取數(shù)據(jù)。
在一實(shí)施方式中,所述數(shù)據(jù)提取方法還包括:為數(shù)據(jù)提取任務(wù)量多的數(shù)據(jù)存儲(chǔ)云分配更多的線程,每個(gè)數(shù)據(jù)提取請(qǐng)求任務(wù)分配n個(gè)線程,即多線程,n≥1即根據(jù)云存儲(chǔ)服務(wù)器中數(shù)據(jù)提取量大小的比值計(jì)算線程分配數(shù)量。本發(fā)明實(shí)施例中,由于數(shù)據(jù)存儲(chǔ)時(shí)采用分散存儲(chǔ),存儲(chǔ)到每個(gè)存儲(chǔ)云中的數(shù)據(jù)量是不等的,在提取數(shù)據(jù)時(shí)可以查詢(xún)到存儲(chǔ)在每個(gè)存儲(chǔ)云中的數(shù)據(jù)總量,然后根據(jù)數(shù)據(jù)量的比值分配線程。具體的,基于各個(gè)存儲(chǔ)云中數(shù)據(jù)提取量的比值,為每個(gè)數(shù)據(jù)提取請(qǐng)求分配線程(每個(gè)數(shù)據(jù)提取請(qǐng)求即是一個(gè)數(shù)據(jù)提取任務(wù));其中,每個(gè)數(shù)據(jù)提取請(qǐng)求任務(wù)分配n個(gè)線程,n≥1,并發(fā)提取所述數(shù)據(jù),且每個(gè)存儲(chǔ)云同時(shí)提取數(shù)據(jù)的線程不能大于t個(gè)線程,t<n/2。這樣,使得數(shù)據(jù)提取量多的存儲(chǔ)云分配更多的線程,并保證每個(gè)存儲(chǔ)云同時(shí)提取數(shù)據(jù)的線程不能大于t個(gè),t<n/2。比如,存儲(chǔ)云為每個(gè)提取數(shù)據(jù)任務(wù)分配5個(gè)線程,如果云存儲(chǔ)服務(wù)器中存儲(chǔ)的數(shù)據(jù)量較大(本次提取任務(wù)),數(shù)據(jù)存儲(chǔ)云首先將各個(gè)存儲(chǔ)云按提取數(shù)據(jù)量排隊(duì),然后根據(jù)數(shù)據(jù)量的比值分配線程;如果數(shù)據(jù)提取量較小,可以分配一個(gè)線程或暫不分配(即讓某個(gè)處于等待狀態(tài))。
在一實(shí)施方式中,所述數(shù)據(jù)提取方法還包括:當(dāng)某個(gè)存儲(chǔ)云無(wú)法提取數(shù)據(jù)時(shí),通過(guò)中轉(zhuǎn)方式提取所述數(shù)據(jù)。在提取數(shù)據(jù)過(guò)程中,同時(shí)提取數(shù)據(jù)的任務(wù)量小于等于提取上限值。本步驟中,當(dāng)某個(gè)存儲(chǔ)云無(wú)法提取數(shù)據(jù)時(shí),判斷無(wú)法提取的原因,并通過(guò)中轉(zhuǎn)方式提取所述數(shù)據(jù)。另外,數(shù)據(jù)在提取數(shù)據(jù)的過(guò)程中,數(shù)據(jù)存儲(chǔ)云需要優(yōu)先保證寫(xiě)入任務(wù)的正確執(zhí)行,所以對(duì)存儲(chǔ)云提取數(shù)據(jù)的任務(wù)量進(jìn)行了限制,每個(gè)存儲(chǔ)云最大提取數(shù)據(jù)的任務(wù)量不能超過(guò)提取上限值。所述提取上限值可以是根據(jù)多個(gè)數(shù)據(jù)存儲(chǔ)云的環(huán)境預(yù)先設(shè)定的一個(gè)閾值,例如,可以設(shè)定提取數(shù)據(jù)最大值為錄像任務(wù)的30%。
下面是對(duì)上述幾種數(shù)據(jù)提取策略的詳細(xì)說(shuō)明。
所述數(shù)據(jù)提取策略包括:對(duì)網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值的某個(gè)從存儲(chǔ)云,分配低于線程下限值或低于其他從存儲(chǔ)云的線程提取目標(biāo)數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:每個(gè)所述存儲(chǔ)云包括多個(gè)云存儲(chǔ)節(jié)點(diǎn),所述數(shù)據(jù)提取策略還包括:對(duì)cpu使用率小于cpu使用率閾值和/或內(nèi)存占用率小于內(nèi)存占用率閾值和/或網(wǎng)絡(luò)io使用率小于io使用率閾值的云存儲(chǔ)節(jié)點(diǎn),分配低于線程下限值或低于其他從存儲(chǔ)云的線程提取目標(biāo)數(shù)據(jù)。
具體的,在向各個(gè)存儲(chǔ)云寫(xiě)入數(shù)據(jù)或從多個(gè)存儲(chǔ)云提取數(shù)據(jù)時(shí),實(shí)時(shí)監(jiān)控當(dāng)前網(wǎng)絡(luò)狀態(tài),包括網(wǎng)絡(luò)連接是否正常、網(wǎng)絡(luò)延時(shí)和丟包率等情況。具體的,如果某個(gè)從存儲(chǔ)云的網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值,則為該數(shù)據(jù)存儲(chǔ)云分配低于線程下限值的線程提取數(shù)據(jù)。例如,在提取數(shù)據(jù)過(guò)程中,為保證寫(xiě)入任務(wù)可以穩(wěn)定執(zhí)行,在提取數(shù)據(jù)時(shí),如果數(shù)據(jù)所在的存儲(chǔ)云的cpu使用率不超過(guò)50%和/或內(nèi)存占用率不超過(guò)70%和/或網(wǎng)絡(luò)io使用率不超過(guò)70%,為該云存儲(chǔ)節(jié)點(diǎn)分配低于線程下限值的線程進(jìn)行數(shù)據(jù)的提取,例如,為該存儲(chǔ)云分配3個(gè)線程提取數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:對(duì)網(wǎng)絡(luò)延時(shí)大于延時(shí)上限值或丟包率大于丟包率上限值的某個(gè)從存儲(chǔ)云,延時(shí)從該從存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:對(duì)cpu使用率大于cpu使用率閾值和/或內(nèi)存占用率大于內(nèi)存占用率閾值或網(wǎng)絡(luò)io使用率大于io使用率閾值的云存儲(chǔ)節(jié)點(diǎn),延時(shí)從該從存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。
具體的,若數(shù)據(jù)所在存儲(chǔ)云壓力大,則延時(shí)提取。如果數(shù)據(jù)所在云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于cpu使用率閾值和/或內(nèi)存占用率大于內(nèi)存占用率閾值和/或網(wǎng)絡(luò)io使用率大于io使用率閾值,延時(shí)從該存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。例如,當(dāng)數(shù)據(jù)所在云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于60%時(shí)和/或內(nèi)存占用率大于70%和/或網(wǎng)絡(luò)io使用率大于70%,延時(shí)從該云存儲(chǔ)節(jié)點(diǎn)中提取數(shù)據(jù)。
進(jìn)一步,在制定數(shù)據(jù)提取策略時(shí),考慮到提取壓力均衡策略,即可以在后續(xù)提取或者當(dāng)前狀態(tài)下,存在某個(gè)存儲(chǔ)云數(shù)據(jù)提取任務(wù)量負(fù)荷過(guò)高,可以通過(guò)其他存儲(chǔ)云提取備份數(shù)據(jù)或副本數(shù)據(jù),從而提高網(wǎng)絡(luò)利用率和有效利用多個(gè)云存儲(chǔ)資源,平衡云和云之間的壓力。
所述數(shù)據(jù)提取策略還包括:當(dāng)某個(gè)從存儲(chǔ)云的網(wǎng)絡(luò)延時(shí)大于延時(shí)上限值或丟包率大于丟包率上限值時(shí),從該從存儲(chǔ)云和/或與之網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值的其他從存儲(chǔ)云提取該從存儲(chǔ)云的備份目標(biāo)數(shù)據(jù)或容災(zāi)目標(biāo)數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:當(dāng)某個(gè)云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于cpu使用率閾值、內(nèi)存占用率大于內(nèi)存占用率閾值或網(wǎng)絡(luò)io使用率大于io使用率閾值時(shí),從該從存儲(chǔ)云和/或與之網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值的其他從存儲(chǔ)云提取該從存儲(chǔ)云的備份目標(biāo)數(shù)據(jù)或容災(zāi)目標(biāo)數(shù)據(jù)。
具體的,如果某個(gè)從存儲(chǔ)云的網(wǎng)絡(luò)環(huán)境較差,例如,某個(gè)云存儲(chǔ)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)大于延時(shí)上限值或丟包率大于丟包率上限值,則通過(guò)與該從存儲(chǔ)云網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值的其他從存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。例如,當(dāng)某個(gè)存儲(chǔ)云的心跳超時(shí)(15秒)、網(wǎng)絡(luò)延時(shí)大于1秒或發(fā)生斷網(wǎng)現(xiàn)象(即處于無(wú)法正常通訊)時(shí),通過(guò)網(wǎng)絡(luò)連接正常延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值和/或檢測(cè)到網(wǎng)絡(luò)連接正常的存儲(chǔ)云提取數(shù)據(jù)。如果某個(gè)云存儲(chǔ)節(jié)點(diǎn)的負(fù)荷過(guò)高,例如,某個(gè)云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于cpu使用率閾值和/或內(nèi)存占用率大于內(nèi)存占用率閾值和/或網(wǎng)絡(luò)io使用率大于io使用率閾值時(shí),通過(guò)與該從存儲(chǔ)云網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值的其他從存儲(chǔ)云(即負(fù)荷低的從存儲(chǔ)云)提取該從存儲(chǔ)云的備份目標(biāo)數(shù)據(jù)或容災(zāi)目標(biāo)數(shù)據(jù)。本發(fā)明通過(guò)平衡提取壓力策略,提高網(wǎng)絡(luò)利用率,有效利用資源,平衡云間寫(xiě)入和提取壓力。這里,延時(shí)提取的恢復(fù)時(shí)間可由用戶(hù)自定義設(shè)置。
進(jìn)一步,在制定數(shù)據(jù)提取策略時(shí),考慮到云間切換策略,即可以在后續(xù)提取或當(dāng)前狀態(tài)下,如果提取數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)云網(wǎng)絡(luò)連接異常,可以通過(guò)與該從存儲(chǔ)云網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云中轉(zhuǎn)提取數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:當(dāng)某個(gè)從存儲(chǔ)云網(wǎng)絡(luò)連接異常時(shí),通過(guò)與之網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云中轉(zhuǎn)提取目標(biāo)數(shù)據(jù)。
所述數(shù)據(jù)提取策略還包括:當(dāng)某個(gè)云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于cpu使用率閾值、內(nèi)存占用率大于內(nèi)存占用率閾值或網(wǎng)絡(luò)io使用率大于io使用率閾值時(shí),通過(guò)與之網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云中轉(zhuǎn)提取數(shù)據(jù)。
具體的,當(dāng)某個(gè)從存儲(chǔ)云的網(wǎng)絡(luò)連接異常時(shí),切換或調(diào)整到與該從存儲(chǔ)云網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云提取數(shù)據(jù)。例如,當(dāng)某個(gè)存儲(chǔ)云網(wǎng)絡(luò)連接異常時(shí),查找與異常存儲(chǔ)云網(wǎng)絡(luò)連接正常且正在執(zhí)行提取數(shù)據(jù)任務(wù)的任一從存儲(chǔ)(即中轉(zhuǎn)存儲(chǔ)云),由所述中轉(zhuǎn)存儲(chǔ)云提取目標(biāo)數(shù)據(jù)給用戶(hù)終端。
圖5是根據(jù)本發(fā)明的數(shù)據(jù)提取過(guò)程中異常情況下云間切換中轉(zhuǎn)數(shù)據(jù)的一實(shí)施例的示意圖。
如圖5所示,在數(shù)據(jù)提取過(guò)程中,基于數(shù)據(jù)提取策略所做的云間切換的例子,其示意了如果下載(數(shù)據(jù)提取)過(guò)程中網(wǎng)絡(luò)連接異?;虼鎯?chǔ)云的云存儲(chǔ)節(jié)點(diǎn)性能異常,則主動(dòng)切換或調(diào)整到其他數(shù)據(jù)提取方法(下載策略)。當(dāng)網(wǎng)絡(luò)異常時(shí),通過(guò)其他存儲(chǔ)云檢測(cè)當(dāng)前網(wǎng)絡(luò)異常的存儲(chǔ)云,以查找到與異常存儲(chǔ)云之間的網(wǎng)絡(luò)正常的任一正在執(zhí)行數(shù)據(jù)提取的存儲(chǔ)云,并由所述查找到的存儲(chǔ)云中轉(zhuǎn)存在異常的存儲(chǔ)云中所提取的數(shù)據(jù)給用戶(hù)終端。例如,請(qǐng)求提取數(shù)據(jù)的用戶(hù)所在客戶(hù)端從數(shù)據(jù)存儲(chǔ)云n提取數(shù)據(jù)時(shí),出現(xiàn)了網(wǎng)絡(luò)異常,此時(shí)按照云間切換策略,通過(guò)與該云n協(xié)作相關(guān)聯(lián)的其他云檢測(cè)當(dāng)前異常的云n的狀態(tài),檢測(cè)該云n與該云存儲(chǔ)系統(tǒng)的某個(gè)云之間的網(wǎng)絡(luò)是否正常,以及檢測(cè)到的該云與該客戶(hù)端連接的網(wǎng)絡(luò)是否正常。如果檢測(cè)到與云n協(xié)作相關(guān)聯(lián)的云1與該云n網(wǎng)絡(luò)連接正常,該云1還與該客戶(hù)端連接且網(wǎng)絡(luò)正常,那么就可以通過(guò)將該客戶(hù)端請(qǐng)求提取的數(shù)據(jù)從云n傳到云1再最后返回到該客戶(hù)端,即進(jìn)行中轉(zhuǎn)數(shù)據(jù)。
本發(fā)明中,基于對(duì)數(shù)據(jù)索引信息的分析,制定多個(gè)存儲(chǔ)云之間并發(fā)提取數(shù)據(jù)的方法,這樣,只需要從一個(gè)存儲(chǔ)云提交數(shù)據(jù)提取請(qǐng)求,來(lái)查找到數(shù)據(jù)索引信息后并發(fā)分散地從多個(gè)存儲(chǔ)云中并發(fā)提取數(shù)據(jù),省略了每個(gè)存儲(chǔ)云單獨(dú)檢索的流程,提高數(shù)據(jù)提取速度和用戶(hù)體驗(yàn)效果。
下面將結(jié)合附圖描述本發(fā)明的數(shù)據(jù)提取系統(tǒng)的實(shí)施例。本發(fā)明的系統(tǒng)與本發(fā)明的方法相對(duì)應(yīng)。
圖6是根據(jù)本發(fā)明的數(shù)據(jù)提取系統(tǒng)的一實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖。
如圖6所示,本發(fā)明的數(shù)據(jù)提取系統(tǒng)包括第一提取管理服務(wù)器20、主存儲(chǔ)云30以及多個(gè)從存儲(chǔ)云40。
第一提取管理服務(wù)器20連接到多個(gè)存儲(chǔ)云,存儲(chǔ)云用于存儲(chǔ)數(shù)據(jù),所述存儲(chǔ)云包括主存儲(chǔ)云30和從存儲(chǔ)云40。
每個(gè)存儲(chǔ)云包括多個(gè)云存儲(chǔ)節(jié)點(diǎn),用于接收并根據(jù)用戶(hù)終端發(fā)送的數(shù)據(jù)提取請(qǐng)求確定對(duì)應(yīng)的主存儲(chǔ)云30,并將所述數(shù)據(jù)提取請(qǐng)求發(fā)送至所述主存儲(chǔ)云30;其中,所述數(shù)據(jù)提取請(qǐng)求中包含待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)位置信息,所述主存儲(chǔ)云30為初始存儲(chǔ)所述待提取目標(biāo)數(shù)據(jù)的存儲(chǔ)云。
數(shù)據(jù)在寫(xiě)入時(shí),基于各個(gè)存儲(chǔ)云的系統(tǒng)性能,將數(shù)據(jù)優(yōu)先分散寫(xiě)入到寫(xiě)入壓力小于壓力下限值的所述多個(gè)存儲(chǔ)云中;當(dāng)寫(xiě)入任務(wù)對(duì)應(yīng)的存儲(chǔ)云發(fā)生故障時(shí),基于所述故障存儲(chǔ)云的ip地址,將數(shù)據(jù)寫(xiě)入到與該故障存儲(chǔ)云相鄰的任一存儲(chǔ)云(替代存儲(chǔ)云)中,待故障恢復(fù)后或者用戶(hù)寫(xiě)入的文件完成后,所述替代存儲(chǔ)云將所述寫(xiě)入任務(wù)歸還給所述故障存儲(chǔ)云,并將數(shù)據(jù)索引信息回傳到該故障存儲(chǔ)云,這樣,除了原有的故障存儲(chǔ)云具有該數(shù)據(jù)索引信息外,還自動(dòng)備份到了一個(gè)替代存儲(chǔ)云中,即云間備份數(shù)據(jù)索引信息。
主存儲(chǔ)云30,用于根據(jù)所述數(shù)據(jù)提取請(qǐng)求獲取與所述待提取目標(biāo)數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)索引信息,并基于所述數(shù)據(jù)索引信息從相應(yīng)的多個(gè)從存儲(chǔ)云40中提取目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)發(fā)送至用戶(hù)終端。
進(jìn)一步,所述主存儲(chǔ)云30包括第二提取管理服務(wù)器31,其用于在獲取到數(shù)據(jù)存儲(chǔ)索引信息之后,執(zhí)行下述操作:
對(duì)數(shù)據(jù)索引信息進(jìn)行解析以獲取數(shù)據(jù)存儲(chǔ)的各個(gè)從存儲(chǔ)云40的信息,基于數(shù)據(jù)存儲(chǔ)的各個(gè)從存儲(chǔ)云40的信息形成數(shù)據(jù)提取策略,根據(jù)所述數(shù)據(jù)提取策略從所述各個(gè)從存儲(chǔ)云40中提取目標(biāo)數(shù)據(jù),將提取到的目標(biāo)數(shù)據(jù)返回給用戶(hù)終端。
所述第二提取管理服務(wù)器31在形成數(shù)據(jù)提取策略的步驟之后,執(zhí)行下述操作:存儲(chǔ)數(shù)據(jù)提取策略。
主存儲(chǔ)云30在將數(shù)據(jù)提取請(qǐng)求發(fā)送至主存儲(chǔ)云的步驟之后,執(zhí)行下述操作:
如果主存儲(chǔ)云30的第二提取管理服務(wù)器31查找到當(dāng)前目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)提取策略,則根據(jù)該數(shù)據(jù)提取策略從相應(yīng)的多個(gè)從存儲(chǔ)云40中提取目標(biāo)數(shù)據(jù)并返回給用戶(hù)終端。
進(jìn)一步的,第二提取管理服務(wù)器(31)具體用于:
對(duì)數(shù)據(jù)索引信息進(jìn)行解析以獲取各個(gè)所述從存儲(chǔ)云(40)的信息;
基于各個(gè)所述從存儲(chǔ)云(40)的信息形成數(shù)據(jù)提取策略;
根據(jù)所述數(shù)據(jù)提取策略從各個(gè)所述從存儲(chǔ)云(40)中提取目標(biāo)數(shù)據(jù);以及,
將提取到的目標(biāo)數(shù)據(jù)返回給用戶(hù)終端。
進(jìn)一步的,從存儲(chǔ)云的信息包括網(wǎng)絡(luò)延時(shí)和/或丟包率,
第二提取管理服務(wù)器(31)還用于:獲取從存儲(chǔ)云(40)的網(wǎng)絡(luò)延時(shí)和/或丟包率;以及,如果判斷所述從存儲(chǔ)云(40)的網(wǎng)絡(luò)連接正常且網(wǎng)絡(luò)延時(shí)小于延時(shí)上限值和/或丟包率小于丟包率下限值,分配低于線程下限值的線程提取目標(biāo)數(shù)據(jù);
如果判斷所述從存儲(chǔ)云(40)的網(wǎng)絡(luò)延時(shí)大于延時(shí)上限值或丟包率大于丟包率上限值,延時(shí)從該從存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。
進(jìn)一步的,從存儲(chǔ)云(40)包括多個(gè)云存儲(chǔ)節(jié)點(diǎn),從存儲(chǔ)云的信息包括cpu使用率和/或內(nèi)存占用率和/或網(wǎng)絡(luò)io使用率,
第二提取管理服務(wù)器(31)還用于:獲取從存儲(chǔ)云的cpu使用率和/或內(nèi)存占用率和/或網(wǎng)絡(luò)io使用率;
如果判斷從存儲(chǔ)云的cpu使用率小于cpu使用率閾值和/或內(nèi)存占用率小于內(nèi)存占用率閾值和/或網(wǎng)絡(luò)io使用率小于io使用率閾值,分配低于線程下限值提取目標(biāo)數(shù)據(jù);
如果判斷從存儲(chǔ)云的cpu使用率大于cpu使用率閾值和/或內(nèi)存占用率大于內(nèi)存占用率閾值和/或網(wǎng)絡(luò)io使用率大于io使用率閾值的云存儲(chǔ)節(jié)點(diǎn),延時(shí)從該從存儲(chǔ)云提取目標(biāo)數(shù)據(jù)。
進(jìn)一步的,第二提取管理服務(wù)器(31)還用于:如果判斷從存儲(chǔ)云的網(wǎng)絡(luò)連接異常,則通過(guò)與之網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云中轉(zhuǎn)提取目標(biāo)數(shù)據(jù);或者,
第二提取管理服務(wù)器(31)如果判斷云存儲(chǔ)節(jié)點(diǎn)的cpu使用率大于cpu使用率閾值、內(nèi)存占用率大于內(nèi)存占用率閾值或網(wǎng)絡(luò)io使用率大于io使用率閾值時(shí),則通過(guò)與之網(wǎng)絡(luò)連接正常的其他從存儲(chǔ)云中轉(zhuǎn)提取數(shù)據(jù)。
由于本發(fā)明系統(tǒng)對(duì)應(yīng)的實(shí)施例中所涉及模塊和結(jié)構(gòu)實(shí)現(xiàn)的處理及功能基本相應(yīng)于前述的各方法相關(guān)的實(shí)施例,故系統(tǒng)的實(shí)施例的描述中未詳盡之處,可以參見(jiàn)前述方法的實(shí)施例中的相關(guān)說(shuō)明,在此不做贅述。
如上所述,通過(guò)本發(fā)明的方案,能充分利用當(dāng)前已有的多個(gè)相互關(guān)聯(lián)的云存儲(chǔ)系統(tǒng)環(huán)境的資源,實(shí)現(xiàn)高效提取的功能,增強(qiáng)了云存儲(chǔ)的性能。根據(jù)對(duì)實(shí)際用戶(hù)需求的分析采用合理方式快速檢索數(shù)據(jù)信息。進(jìn)而,依據(jù)該快速提取的檢索數(shù)據(jù)信息的分析,在提取較大數(shù)據(jù)時(shí),形成提取策略,可以根據(jù)云存儲(chǔ)具有的特性進(jìn)行并發(fā)讀取,資源利用率和讀取效率都得到較大提高。并且,這種讀取不是現(xiàn)有技術(shù)中簡(jiǎn)單的分塊讀取,利用相應(yīng)的提取策略,可以根據(jù)云存儲(chǔ)的特性合理分配資源和做出相應(yīng)的適當(dāng)調(diào)整,進(jìn)而在應(yīng)對(duì)高并發(fā)提取數(shù)據(jù)時(shí)也不會(huì)影響云存儲(chǔ)主要的功能。
總的來(lái)說(shuō),本發(fā)明的數(shù)據(jù)提取方法及系統(tǒng),能夠有效保證各個(gè)數(shù)據(jù)存儲(chǔ)云整體性能,并且有效提高了數(shù)據(jù)提取速度,使得系統(tǒng)達(dá)到高效穩(wěn)定的要求,同時(shí)相應(yīng)地也提升了用戶(hù)的體驗(yàn)效果,滿(mǎn)足云技術(shù)的要求。
對(duì)于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱(chēng)得的存儲(chǔ)介質(zhì),如:rom/ram、磁碟、光盤(pán)等。應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。