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

基于ZeroMQ與ProtocolBuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)的制作方法

文檔序號:11691084閱讀:299來源:國知局
基于ZeroMQ與ProtocolBuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)的制造方法與工藝

本發(fā)明涉及一種基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng),屬于分布式遙感影像技術(shù)領(lǐng)域。



背景技術(shù):

遙感影像是各種傳感器所獲信息的產(chǎn)物,是遙感探測目標(biāo)的信息載體。航天遙感技術(shù)經(jīng)過多年的發(fā)展,無論在光譜分辨率、空間分辨率、時間分辨率等方面都有了長足的進(jìn)步。遙感影像無論在國防安全——如戰(zhàn)略規(guī)劃、軍事部署,還是在人民生活——如地圖搜索、路線規(guī)劃中的作用越來越重要。但與此同時,隨著國家與人民對遙感影像的需求日益攀升,傳統(tǒng)的單機(jī)生產(chǎn)系統(tǒng)早已無法滿足需求,存在以下不足:

(1)首先單機(jī)生產(chǎn)系統(tǒng)的計算能力有限,很難滿足日益攀升的需求,單純地縱向提高計算機(jī)的性能,并不能解決根本問題;

(2)如今衛(wèi)星拍攝的原始數(shù)據(jù)已經(jīng)逐步增長到幾百gb的數(shù)量級,而且還在呈逐步上升的趨勢。單機(jī)生產(chǎn)系統(tǒng)的存儲無法承載如此大規(guī)模的影像數(shù)據(jù),單機(jī)硬盤會很快裝滿,這使得單機(jī)存儲系統(tǒng)不易擴(kuò)展的缺點(diǎn)暴露無遺;

(3)最重要的一點(diǎn),單機(jī)生產(chǎn)系統(tǒng)的可靠性不易保證,當(dāng)機(jī)器出現(xiàn)故障時,當(dāng)前的計算任務(wù)與機(jī)器中存儲的數(shù)據(jù)都無法得到保障。

隨著大數(shù)據(jù)時代的到來,分布式計算系統(tǒng)成為了解決超大規(guī)模計算的不二選擇。分布式計算系統(tǒng)擁有高可靠性、高并發(fā)性、易橫向擴(kuò)展等諸多優(yōu)點(diǎn)。對于以上遙感影像遇到的問題,使用分布式計算系統(tǒng)可以輕松的解決。但分布式計算系統(tǒng)內(nèi)各個組件間的通信協(xié)同問題亟待解決,主要有以下幾個問題:

(1)各組件之間需要異步通信,這樣可以防止耗時的任務(wù)長期占用連接,降低系統(tǒng)的并發(fā)度;

(2)上游組件向下游組件下發(fā)任務(wù)時,當(dāng)下游組件正忙于其他任務(wù),需要將上游組件的任務(wù)緩沖下來,留到下游組件空閑時再做處理,即需要有“削峰”的作用;

(3)可以支持組件的動態(tài)加入,即上游組件發(fā)布任務(wù)時,無需關(guān)心下游組件(具體生產(chǎn)者)的數(shù)目,下游組件可以動態(tài)加入計算系統(tǒng)進(jìn)行生產(chǎn)工作;

(4)通信方式與消息格式可以支持多種語言、多種平臺。

0mq(zeromq)是一個在lgpl許可協(xié)議下的輕量級消息內(nèi)核。它可用于c、c++、python、.net/mono、fortran和java語言。它運(yùn)行在aix,freebsd的,基于hp-ux,linux和macos下,openbsd系統(tǒng),openvms,qnxneutrino,solaris和windows操作系統(tǒng)。

作為一種消息內(nèi)核,zeromq提供了多種模式:

(1)request-reply模式:為應(yīng)用間提供有序的單點(diǎn)請求與應(yīng)答通信;

(2)publish-subscribe模式:為應(yīng)用間提供發(fā)布/訂閱模式通信;

(3)parallelpipeline模式:專為分布式系統(tǒng)提供并發(fā)通信——上游應(yīng)用負(fù)責(zé)發(fā)布任務(wù),并推送到管道中;下游應(yīng)用負(fù)責(zé)從管道中拉去任務(wù),支持下游任務(wù)動態(tài)加入,易于系統(tǒng)擴(kuò)展。

protocolbuffer(以下簡稱pb)是google的一種數(shù)據(jù)交換的格式,它獨(dú)立于語言,獨(dú)立于平臺。google提供了多種語言的實(shí)現(xiàn):java、c#、c++、go和python,每一種實(shí)現(xiàn)都包含了相應(yīng)語言的編譯器以及庫文件。由于它是一種二進(jìn)制的格式,比使用xml進(jìn)行數(shù)據(jù)交換快許多??梢园阉糜诜植际綉?yīng)用之間的數(shù)據(jù)通信或者異構(gòu)環(huán)境下的數(shù)據(jù)交換。作為一種效率和兼容性都很優(yōu)秀的二進(jìn)制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲等諸多領(lǐng)域。



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

本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng),主要解決大規(guī)模分布式生產(chǎn)遙感影像時分布式計算系統(tǒng)內(nèi)各個組件的協(xié)同與通信問題。

按照本發(fā)明提供的技術(shù)方案,所述基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng),其特征是:包括衛(wèi)星原始數(shù)據(jù)引接組件、共享平臺組件、數(shù)據(jù)生產(chǎn)規(guī)劃組件、數(shù)據(jù)生產(chǎn)組件和數(shù)據(jù)導(dǎo)出組件;

所述衛(wèi)星原始數(shù)據(jù)引接組件負(fù)責(zé)將衛(wèi)星原始數(shù)據(jù)存入共享平臺組件的云存儲當(dāng)中,并向共享平臺組件發(fā)送消息,請求共享平臺組件存儲該原始數(shù)據(jù)的相關(guān)信息;

所述共享平臺組件負(fù)責(zé)將衛(wèi)星原始數(shù)據(jù)引接組件發(fā)送的原始數(shù)據(jù)元信息與數(shù)據(jù)生產(chǎn)規(guī)劃組件發(fā)送的數(shù)據(jù)產(chǎn)品元信息存入到關(guān)系型數(shù)據(jù)庫;向數(shù)據(jù)生產(chǎn)規(guī)劃組件提供查詢接口,供其查詢原始數(shù)據(jù)元信息;向數(shù)據(jù)導(dǎo)出組件提供查詢接口,供其查詢與導(dǎo)出數(shù)據(jù)產(chǎn)品元信息;

所述數(shù)據(jù)生產(chǎn)規(guī)劃組件提供前端界面,向共享平臺組件發(fā)起原始數(shù)據(jù)查詢請求,并根據(jù)查詢的返回結(jié)果以及操作人員的選擇,發(fā)起數(shù)據(jù)生產(chǎn)任務(wù);

所述數(shù)據(jù)生產(chǎn)組件負(fù)責(zé)向數(shù)據(jù)生產(chǎn)規(guī)劃組件拉取生產(chǎn)任務(wù),負(fù)責(zé)遙感數(shù)據(jù)的實(shí)際生產(chǎn);

所述數(shù)據(jù)導(dǎo)出組件提供前端界面,向共享平臺組件發(fā)起數(shù)據(jù)產(chǎn)品查詢請求,并根據(jù)查詢的返回結(jié)果以及操作人員的選擇,導(dǎo)出數(shù)據(jù)產(chǎn)品。

進(jìn)一步的,所述衛(wèi)星原始數(shù)據(jù)引接組件、數(shù)據(jù)生產(chǎn)規(guī)劃組件、數(shù)據(jù)生產(chǎn)組件和數(shù)據(jù)導(dǎo)出組件與共享平臺組件進(jìn)行通信時,均為一次請求與一次響應(yīng)交替進(jìn)行。

進(jìn)一步的,所述共享平臺組件與其他組件之間采用zeromq的request-response模式進(jìn)行通信,以共享平臺組件為server端,其他組件為client端。

進(jìn)一步的,所述數(shù)據(jù)生產(chǎn)組件動態(tài)加入系統(tǒng),在空閑時向數(shù)據(jù)生產(chǎn)規(guī)劃組件拉取任務(wù)。

進(jìn)一步的,所述分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)進(jìn)行消息傳遞時,使用protocolbuffer格式。

本發(fā)明所述基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng),將遙感影像生產(chǎn)與計算放置于分布式系統(tǒng)中,采用zeromq作為系統(tǒng)內(nèi)各組件的通信方式,采用protocolbuffer作為數(shù)據(jù)交換的格式,該分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)擁有易部署、高可靠、高并發(fā)、易于橫向擴(kuò)展、通信數(shù)據(jù)精巧簡潔,滿足了國家與人民對遙感影像日益增長的需求。

附圖說明

圖1為本發(fā)明所述基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)的框圖。

圖2為所述共享平臺組件的流程圖。

圖3為與共享平臺組件通信的其他組件的流程圖。

圖4為所述數(shù)據(jù)生產(chǎn)規(guī)劃組件的流程圖。

圖5為所述數(shù)據(jù)生產(chǎn)組件的流程圖。

具體實(shí)施方式

下面結(jié)合具體附圖對本發(fā)明作進(jìn)一步說明。

如圖1所示,本發(fā)明所述基于zeromq與protocolbuffer的分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)包括衛(wèi)星原始數(shù)據(jù)引接組件1、共享平臺組件2、數(shù)據(jù)生產(chǎn)規(guī)劃組件3、數(shù)據(jù)生產(chǎn)組件4和數(shù)據(jù)導(dǎo)出組件5。

所述衛(wèi)星原始數(shù)據(jù)引接組件1負(fù)責(zé)將衛(wèi)星原始數(shù)據(jù)存入共享平臺組件2的云存儲當(dāng)中,并向共享平臺組件2發(fā)送消息,請求共享平臺組件2存儲該原始數(shù)據(jù)的相關(guān)信息;

所述共享平臺組件2負(fù)責(zé)將衛(wèi)星原始數(shù)據(jù)引接組件1發(fā)送的原始數(shù)據(jù)元信息與數(shù)據(jù)生產(chǎn)規(guī)劃組件3發(fā)送的數(shù)據(jù)產(chǎn)品元信息存入到關(guān)系型數(shù)據(jù)庫;向數(shù)據(jù)生產(chǎn)規(guī)劃組件3提供查詢接口,供其查詢原始數(shù)據(jù)元信息;向數(shù)據(jù)導(dǎo)出組件5提供查詢接口,供其查詢與導(dǎo)出數(shù)據(jù)產(chǎn)品元信息;

所述數(shù)據(jù)生產(chǎn)規(guī)劃組件3提供前端界面,可以向共享平臺組件2發(fā)起原始數(shù)據(jù)查詢請求,并根據(jù)查詢的返回結(jié)果以及操作人員的選擇,發(fā)起數(shù)據(jù)生產(chǎn)任務(wù);

所述數(shù)據(jù)生產(chǎn)組件4負(fù)責(zé)向數(shù)據(jù)生產(chǎn)規(guī)劃組件3拉取生產(chǎn)任務(wù),負(fù)責(zé)遙感數(shù)據(jù)的實(shí)際生產(chǎn);

所述數(shù)據(jù)導(dǎo)出組件5提供前端界面,可以向共享平臺組件2發(fā)起數(shù)據(jù)產(chǎn)品查詢請求,并根據(jù)查詢的返回結(jié)果以及操作人員的選擇,導(dǎo)出數(shù)據(jù)產(chǎn)品。

其他組件與共享平臺組件2進(jìn)行通信時,均為一次請求與一次響應(yīng)交替進(jìn)行,因此可以采用zeromq的request-response模式進(jìn)行通信,以共享平臺組件為server端,其他組件為client端。

如圖2所示,所述共享平臺組件2的流程為:

(1)啟動共享平臺組件;

(2)初始化zmq.context;

(3)初始化zmq.socket,socket類型為zmq.rep;

(4)將socket綁定到本機(jī)指定的端口;

(5)接收請求;

(6)解析請求;

(7)執(zhí)行相應(yīng)操作;

(8)返回響應(yīng)。

與共享組件平臺通信的其他組件流程如圖3所示。

數(shù)據(jù)生產(chǎn)規(guī)劃組件3與數(shù)據(jù)生產(chǎn)組件4的通信非常特殊,不能單純地使用點(diǎn)對點(diǎn)通信。數(shù)據(jù)生產(chǎn)規(guī)劃組件3負(fù)責(zé)發(fā)布生產(chǎn)計劃,但具體由哪個生產(chǎn)組件、幾個生產(chǎn)組件來完成生產(chǎn)計劃,不應(yīng)該由數(shù)據(jù)生產(chǎn)規(guī)劃組件3負(fù)責(zé)。數(shù)據(jù)生產(chǎn)組件4應(yīng)該可以動態(tài)地加入系統(tǒng),在空閑時向數(shù)據(jù)生產(chǎn)規(guī)劃組件3拉取任務(wù)。這種設(shè)計可以保證系統(tǒng)的橫向擴(kuò)展能力,在需要擴(kuò)大生產(chǎn)規(guī)模時,只需要加入更多的數(shù)據(jù)生產(chǎn)組件即可;同時也保證了系統(tǒng)的可靠性,在某個數(shù)據(jù)生產(chǎn)組件所在機(jī)器因?yàn)槟撤N原因出現(xiàn)故障時,該任務(wù)可以由其他數(shù)據(jù)生產(chǎn)組件重新拉去,并完成生產(chǎn)。數(shù)據(jù)生產(chǎn)規(guī)劃組件的流程圖如圖4所示。數(shù)據(jù)生產(chǎn)組件的流程圖如圖5所示。

本發(fā)明進(jìn)行消息傳遞時,使用protocolbuffer格式,具有以下優(yōu)點(diǎn):

(1)消息精巧簡潔——相對于xml、json等序列化中間格式來說,protocolbuffer更加高效;

(2)提供多語言多平臺支持:

(3)方便易用,只需要定義.proto文件,并利用自帶的編譯軟件編譯成所用語言下的類/結(jié)構(gòu)文件即可。

本發(fā)明通過結(jié)合zeromq的request-response模式與parallelpipeline模式,將分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)間各個組件連接為一個整體;同時消息格式采用protocolbuffer,消息更加精巧簡潔。本發(fā)明所述分布式遙感數(shù)據(jù)生產(chǎn)系統(tǒng)擁有易部署、高可靠、高并發(fā)、易于橫向擴(kuò)展、通信數(shù)據(jù)精巧簡潔,滿足了國家與人民對遙感影像日益增長的需求。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
扶风县| 崇明县| 新沂市| 项城市| 邳州市| 花垣县| 德昌县| 蓬安县| 新宾| 濮阳县| 黄浦区| 九台市| 永顺县| 禄丰县| 将乐县| 加查县| 繁峙县| 房产| 进贤县| 金湖县| 岳阳市| 那坡县| 宾川县| 沂水县| 广饶县| 旬阳县| 万源市| 内黄县| 平和县| 杭锦旗| 西乡县| 玉林市| 城口县| 繁昌县| 磴口县| 光山县| 黔西| 丰原市| 锡林郭勒盟| 鸡西市| 镇赉县|