亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)框架的制作方法

文檔序號(hào):12121409閱讀:434來(lái)源:國(guó)知局
本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,具體涉及一種讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)框架。
背景技術(shù)
:隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)量使用的日益增加。從海量數(shù)據(jù)文件,如文本,圖片、音頻、多媒體文件等多種格式文本中獲取用戶想要的信息已經(jīng)成為當(dāng)今的熱點(diǎn)課題。全文檢索技術(shù)作為當(dāng)前網(wǎng)絡(luò)時(shí)代的主流技術(shù)之一,為海量結(jié)構(gòu)化數(shù)據(jù)及非結(jié)構(gòu)化數(shù)據(jù)提供了高效,準(zhǔn)確,快捷的存儲(chǔ)和訪問(wèn)的解決方案。傳統(tǒng)的全文檢索系統(tǒng)框架都是部署在傳統(tǒng)的x86服務(wù)器上。然而隨著網(wǎng)絡(luò)上部署的服務(wù)器數(shù)量不斷增長(zhǎng),電消耗成本的比重也逐年增加。驚人的服務(wù)器用電量,讓更多的企業(yè)在滿足性能要求的前提下,更傾向于采用比傳統(tǒng)服務(wù)器省電的低功耗服務(wù)器。因此,從節(jié)約成本,降低能源消耗的角度,使用低功耗服務(wù)器定制解決方案設(shè)計(jì)全文檢索系統(tǒng)框架已經(jīng)成為當(dāng)前大數(shù)據(jù)海量檢索技術(shù)的重點(diǎn)及創(chuàng)新點(diǎn)。技術(shù)實(shí)現(xiàn)要素:發(fā)明目的:本發(fā)明的目的是解決傳統(tǒng)服務(wù)器的海量數(shù)據(jù)全文檢索系統(tǒng)造成的龐大耗電量,從節(jié)省成本,降低能源消耗的角度出發(fā),引入低功耗ARM架構(gòu)服務(wù)器。技術(shù)方案:讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)框架,讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)框架,其特征在于,包括可寫(xiě)端和只讀端,所述可寫(xiě)端部署至少一個(gè)管理節(jié)點(diǎn)Master和至少一個(gè)數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,所述只讀端部署至少一個(gè)數(shù)據(jù)服務(wù)節(jié)點(diǎn);所述可寫(xiě)端的數(shù)據(jù)服務(wù)節(jié)點(diǎn)和只讀端的數(shù)據(jù)服務(wù)節(jié)點(diǎn)都與元數(shù)據(jù)庫(kù)關(guān)聯(lián),所述元數(shù)據(jù)庫(kù)保存所有的數(shù)據(jù)分片的元數(shù)據(jù)信息;所述可寫(xiě)端的數(shù)據(jù)服務(wù)節(jié)點(diǎn)在寫(xiě)數(shù)據(jù)過(guò)程中將數(shù)據(jù)寫(xiě)入可寫(xiě)端;所述只讀端的數(shù)據(jù)服務(wù)節(jié)點(diǎn)將要讀取的數(shù)據(jù)發(fā)送給客戶端;所述管理節(jié)點(diǎn)管理元數(shù)據(jù)庫(kù)和數(shù)據(jù)服務(wù)節(jié)點(diǎn);所述只讀端部署在ARM架構(gòu)服務(wù)器。所述管理節(jié)點(diǎn)與數(shù)據(jù)服務(wù)節(jié)點(diǎn)通過(guò)protocolbuffer消息交互方式通信。Protocolbuffer消息交互是一種二進(jìn)制的格式,可以用于分布式應(yīng)用之間的數(shù)據(jù)通信或者異構(gòu)環(huán)境下的數(shù)據(jù)交換。作為一種效率和兼容性都很優(yōu)秀的二進(jìn)制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲(chǔ)等諸多領(lǐng)域。所述管理節(jié)點(diǎn)定時(shí)啟動(dòng)數(shù)據(jù)遷移,將可寫(xiě)端的數(shù)據(jù)遷移到只讀端。所述管理節(jié)點(diǎn)進(jìn)行查詢時(shí),在可寫(xiě)端和只讀端上同時(shí)查詢結(jié)果,并將結(jié)果集匯總返回給客戶端。有益效果:與傳統(tǒng)的大數(shù)據(jù)全文檢索系統(tǒng)框架相比,本發(fā)明采用了低功耗ARM服務(wù)器作為只讀端,規(guī)避了ARM服務(wù)器的寫(xiě)性能不如X86服務(wù)器寫(xiě)性能的缺點(diǎn),又從整體上發(fā)揮了ARM服務(wù)器的低功耗性,利用傳統(tǒng)服務(wù)器與低功耗ARM架構(gòu)服務(wù)器混搭的讀寫(xiě)分離的方式實(shí)現(xiàn)全文檢索系統(tǒng)的框架,提供一種高效,穩(wěn)定,準(zhǔn)確,讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)。附圖說(shuō)明圖1是本發(fā)明公開(kāi)的讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)的整體框架;圖2是實(shí)施例提供的海量數(shù)據(jù)全文檢索系統(tǒng)寫(xiě)過(guò)程消息流程圖;圖3是實(shí)施例提供的海量數(shù)據(jù)全文檢索系統(tǒng)讀過(guò)程消息流程圖。具體實(shí)施方式下面結(jié)合附圖和具體實(shí)施方式,進(jìn)一步闡明本發(fā)明。ARM架構(gòu)服務(wù)器與傳統(tǒng)的X86服務(wù)器的區(qū)別在于,ARM服務(wù)器具有低功耗的性能,但是寫(xiě)性能略遜于傳統(tǒng)的X86服務(wù)器。為了引入低功耗ARM架構(gòu)服務(wù)器,又不影響全文檢索系統(tǒng)的整體性能,采用讀寫(xiě)分離方法。即將傳統(tǒng)的X86服務(wù)器作為可寫(xiě)端,低功耗ARM架構(gòu)服務(wù)器作為只讀端。本實(shí)施例中將可寫(xiě)端部署在X86服務(wù)器上,只讀端部署在ARM服務(wù)器上,即管理節(jié)點(diǎn)Master部署在X86服務(wù)器上,一部分?jǐn)?shù)據(jù)服務(wù)節(jié)點(diǎn)Slave部署在X86服務(wù)器上,一部分Slave部署在ARM服務(wù)器上,管理節(jié)點(diǎn)Master負(fù)責(zé)管理所有的數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave和元數(shù)據(jù)庫(kù),其中負(fù)責(zé)管理元數(shù)據(jù)庫(kù)的部分為元數(shù)據(jù)管理模塊??梢圆渴鹨粋€(gè)主管理節(jié)點(diǎn),也可以部署多個(gè)主從關(guān)系的管理節(jié)點(diǎn)。作為可寫(xiě)端,X86服務(wù)器上的數(shù)據(jù)服務(wù)節(jié)點(diǎn)主要負(fù)責(zé)對(duì)數(shù)據(jù)的寫(xiě)入,至少部署一個(gè)。ARM服務(wù)器作為只讀端,部署的數(shù)據(jù)服務(wù)節(jié)點(diǎn)主要負(fù)責(zé)讀取數(shù)據(jù)。所有的數(shù)據(jù)服務(wù)節(jié)點(diǎn)都關(guān)聯(lián)到元數(shù)據(jù)庫(kù),元數(shù)據(jù)庫(kù)保存可寫(xiě)端與只讀端所有數(shù)據(jù)分片的元數(shù)據(jù)信息。管理節(jié)點(diǎn)與數(shù)據(jù)服務(wù)節(jié)點(diǎn)通過(guò)protocolbuffer消息交互方式通信。讀寫(xiě)分離的低功耗海量數(shù)據(jù)全文檢索系統(tǒng)的整體框架如圖1所示。101為可寫(xiě)端上的存儲(chǔ)引擎,102為可寫(xiě)端上全文檢索系統(tǒng)關(guān)聯(lián)的元數(shù)據(jù)庫(kù)。103為只讀端上的存儲(chǔ)引擎,104為只讀端上全文檢索系統(tǒng)關(guān)聯(lián)的元數(shù)據(jù)庫(kù),本實(shí)施例采用MySQL數(shù)據(jù)庫(kù)服務(wù)。啟動(dòng)管理節(jié)點(diǎn)讀取元數(shù)據(jù)表中元數(shù)據(jù)信息并啟動(dòng)消息服務(wù),準(zhǔn)備接收來(lái)自數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave上報(bào)的磁盤信息。全文檢索系統(tǒng)寫(xiě)數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)導(dǎo)入工具ETL(ETL,即Extract-Transform-Load的縮寫(xiě),用來(lái)描述將數(shù)據(jù)從來(lái)源端經(jīng)過(guò)抽取extract、轉(zhuǎn)換transform、加載load至目的端的過(guò)程),全文檢索系統(tǒng)將存入的數(shù)據(jù)轉(zhuǎn)換為索引文件,并以數(shù)據(jù)分片的形式存入可寫(xiě)端的存儲(chǔ)引擎。索引文件也就是存放數(shù)據(jù)的數(shù)據(jù)分片,一般數(shù)據(jù)分片都至少有一個(gè)副本,并按照時(shí)間分區(qū)。為方便管理數(shù)據(jù)分片,相同的數(shù)據(jù)分片有其唯一標(biāo)識(shí)shardID。由元數(shù)據(jù)管理模塊管理數(shù)據(jù)分片的元數(shù)據(jù)信息,包括數(shù)據(jù)分片的shardID,存放的磁盤diskuuid,磁盤的路徑path,分片是否可寫(xiě)writable,分片的狀態(tài)status,分區(qū)時(shí)間datetime,分片大小size等等。元數(shù)據(jù)庫(kù)保存著可寫(xiě)端和只讀端所有的數(shù)據(jù)分片的元數(shù)據(jù)信息。寫(xiě)數(shù)據(jù)過(guò)程只在可寫(xiě)端上進(jìn)行,詳細(xì)的寫(xiě)數(shù)據(jù)消息流程如圖2所示,201為數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,202為客戶端,203為管理節(jié)點(diǎn)Master。當(dāng)客戶端發(fā)送寫(xiě)入數(shù)據(jù)消息給數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave有沒(méi)寫(xiě)滿的分片,那么將數(shù)據(jù)直接寫(xiě)入到內(nèi)存并將數(shù)據(jù)壓緊存入可寫(xiě)端的磁盤。否則客戶端節(jié)點(diǎn)發(fā)送消息給管理節(jié)點(diǎn)Master,管理節(jié)點(diǎn)Master根據(jù)元數(shù)據(jù)信息找到分片對(duì)應(yīng)的數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,并發(fā)送消息給該節(jié)點(diǎn)。數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave數(shù)據(jù)寫(xiě)入完成后會(huì)通知客戶端和管理節(jié)點(diǎn)Master。由管理節(jié)點(diǎn)Master更新元數(shù)據(jù)表。全文檢索系統(tǒng)會(huì)定時(shí)啟動(dòng)數(shù)據(jù)遷移任務(wù),由Master遍歷可寫(xiě)端的數(shù)據(jù)分片將寫(xiě)滿狀態(tài)的數(shù)據(jù)分片放入到待遷移的任務(wù)隊(duì)列中,根據(jù)同一數(shù)據(jù)分片的副本不放在同一機(jī)器的原則,輪詢可遷移的只讀端Slave節(jié)點(diǎn),采用scp或ftp傳輸方式(傳輸方式可配置)將數(shù)據(jù)分片由源可寫(xiě)端Slave節(jié)點(diǎn)遷移到目的只讀端Slave節(jié)點(diǎn)上。數(shù)據(jù)分片的正常狀態(tài)為NORMAL,遷移過(guò)程中的分片狀態(tài)為MOVING。數(shù)據(jù)分片遷移到目的只讀端后,會(huì)進(jìn)行CRC校驗(yàn)。若校驗(yàn)成功,會(huì)將原來(lái)的可寫(xiě)端的數(shù)據(jù)分片及元數(shù)據(jù)信息刪除,并更新元數(shù)據(jù)庫(kù)中的數(shù)據(jù)分片所在機(jī)器、磁盤等元數(shù)據(jù)狀態(tài)信息。若校驗(yàn)失敗,由目的只讀端Slave節(jié)點(diǎn)通知管理節(jié)點(diǎn)Master遷移失敗,將數(shù)據(jù)分片狀態(tài)修改為NORMAL,并重新放入到待遷移隊(duì)列,等待下一次定時(shí)任務(wù)重新遷移。在數(shù)據(jù)讀取的時(shí)候,客戶端在可寫(xiě)端直接從內(nèi)存中讀取NORMAL和MOVING狀態(tài)的分片,在只讀端只查詢NORMAL的分片。數(shù)據(jù)在沒(méi)有寫(xiě)滿的時(shí)候不會(huì)遷移,沒(méi)有寫(xiě)滿的分片會(huì)在隔天的時(shí)候啟動(dòng)天切換遷移機(jī)制將沒(méi)有寫(xiě)滿狀態(tài)的數(shù)據(jù)分片改為寫(xiě)滿狀態(tài)并統(tǒng)一遷移。因此數(shù)據(jù)遷移不會(huì)影響數(shù)據(jù)的讀寫(xiě),數(shù)據(jù)遷移完成后會(huì)更新元數(shù)據(jù)庫(kù)。通過(guò)元數(shù)據(jù)信息定位數(shù)據(jù)分片的位置,大小以及狀態(tài)信息等,以便于準(zhǔn)確靈活地遷移和管理數(shù)據(jù)分片。數(shù)據(jù)讀取的具體消息流程圖如圖3所示,301為數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,302為客戶端,303為管理節(jié)點(diǎn)Master。當(dāng)客戶端發(fā)送讀取數(shù)據(jù)的命令給管理節(jié)點(diǎn)Master,管理節(jié)點(diǎn)Master同時(shí)通過(guò)可寫(xiě)端和只讀端上的元數(shù)據(jù)庫(kù)中的元數(shù)據(jù)信息找到數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)服務(wù)節(jié)點(diǎn)Slave,即在可寫(xiě)端和只讀端上同時(shí)查詢,并發(fā)送給客戶端,客戶端節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令消息給對(duì)應(yīng)的數(shù)據(jù)服務(wù)節(jié)點(diǎn)Salve,Slave節(jié)點(diǎn)將有關(guān)數(shù)據(jù)的結(jié)果集匯總發(fā)送給客戶端。本實(shí)施例中采用Xapian搜索引擎為客戶端提供搜索服務(wù)。本實(shí)施例通過(guò)元數(shù)據(jù)管理模塊為管理節(jié)點(diǎn)Master提供數(shù)據(jù)分片的元數(shù)據(jù)信息,將數(shù)據(jù)分片從可寫(xiě)端遷移到只讀端,利用此讀寫(xiě)分離的方式讀寫(xiě)數(shù)據(jù),將傳統(tǒng)服務(wù)器與低功耗ARM架構(gòu)服務(wù)器混搭應(yīng)用到海量數(shù)據(jù)全文檢索系統(tǒng)實(shí)現(xiàn)對(duì)海量結(jié)構(gòu)化及非結(jié)構(gòu)化數(shù)據(jù)高效,穩(wěn)定,快捷的存儲(chǔ)和訪問(wèn)。將低功耗ARM架構(gòu)服務(wù)器作為只讀端,規(guī)避了ARM架構(gòu)服務(wù)器的寫(xiě)性能缺點(diǎn),發(fā)揚(yáng)了ARM架構(gòu)服務(wù)器的低成本、低功耗的優(yōu)點(diǎn),在滿足性能的前提下,實(shí)現(xiàn)整個(gè)全文檢索系統(tǒng)的低功耗性。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1