国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

遙感數(shù)據(jù)分發(fā)系統(tǒng)單隊(duì)列控制模式的設(shè)計(jì)與實(shí)現(xiàn)

2015-05-30 10:48沈夏炯張振鵬段勝強(qiáng)
計(jì)算機(jī)時(shí)代 2015年5期
關(guān)鍵詞:隊(duì)列控制

沈夏炯 張振鵬 段勝強(qiáng)

摘 要: 鑒于遙感單一影像文件大、總體數(shù)據(jù)海量的特點(diǎn),針對如何保證遙感數(shù)據(jù)分發(fā)系統(tǒng)能有序、規(guī)范、高效地為各行業(yè)用戶提供共享數(shù)據(jù)問題,對遙感數(shù)據(jù)分

發(fā)系統(tǒng)的硬件部署框架結(jié)構(gòu)進(jìn)行分析,提出一種基于固定容量的單隊(duì)列控制模式解決方案,并對其進(jìn)行實(shí)現(xiàn)。通過單隊(duì)列控制模式的控制流程及策略,系統(tǒng)穩(wěn)定并可靠地完成了數(shù)據(jù)分發(fā)任務(wù),最終保證了系統(tǒng)的運(yùn)行性能和數(shù)據(jù)的傳輸質(zhì)量,滿足了用戶對遙感影像的獲取需求。

關(guān)鍵詞: 遙感數(shù)據(jù); 分發(fā); 隊(duì)列; 控制

中圖分類號:TP399 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)05-07-03

Abstract: In consideration of the characteristics of remote sensing image data that the single file is large and the total data is massive, aiming at how to ensure the remote sensing data distribution system orderly, standardized and efficiently provides the users in various industries with shared data, a hardware deployment framework of remote sensing data distribution system is analyzed, and a single queue control mode with fixed capacity is proposed and realized. By controlling the processes and strategies of single queue control mode, the system is stable and reliable to complete the data distribution task, ensures the performance and the transmission quality of data, meets the needs of users to access remote sensing images.

Key words: remote sensing data; distribution; queue; control

0 引言

隨著高分辨率系列遙感衛(wèi)星的不斷升空及獲取遙感影像技術(shù)的不斷成熟,每天獲取的遙感影像數(shù)據(jù)量也在急劇增長。面對海量的遙感數(shù)據(jù),建立一套遙感影像數(shù)據(jù)分發(fā)系統(tǒng),實(shí)現(xiàn)遙感數(shù)據(jù)資源的有序、規(guī)范、高效共享,為各行業(yè)用戶提供遙感影像的查詢與獲取很有必要。由于遙感數(shù)據(jù)的特殊性與信息安全的需要,遙感數(shù)據(jù)集中存儲(chǔ)在數(shù)據(jù)分發(fā)中心,由數(shù)據(jù)分發(fā)中心的數(shù)據(jù)庫管理系統(tǒng)負(fù)責(zé)對其進(jìn)行統(tǒng)一整理、存儲(chǔ)和統(tǒng)計(jì)。單個(gè)遙感影像文件的大小通常在數(shù)百兆甚至更大,在數(shù)據(jù)分發(fā)過程中,占用網(wǎng)絡(luò)資源較多,傳輸壓力主要集中在數(shù)據(jù)分發(fā)中心。如何在網(wǎng)絡(luò)資源有限的環(huán)境下對到達(dá)數(shù)據(jù)分發(fā)中心的大批量數(shù)據(jù)分發(fā)請求進(jìn)行處理,同時(shí)保證用戶的體驗(yàn)與服務(wù)性能,是遙感影像數(shù)據(jù)分發(fā)系統(tǒng)中必須解決的問題。

如果采用傳統(tǒng)的方法,可以使用多線程技術(shù)對每一條到達(dá)的分發(fā)請求建立單獨(dú)線程處理,即立即響應(yīng)請求的控制策略[3],但這樣在大批量分發(fā)請求的環(huán)境下,會(huì)出現(xiàn)兩個(gè)問題:第一,數(shù)據(jù)分發(fā)中心將在服務(wù)器上不斷的創(chuàng)建銷毀線程,這是對系統(tǒng)性能和計(jì)算資源的浪費(fèi);第二,數(shù)據(jù)中心的網(wǎng)絡(luò)帶寬有限,在大量請求環(huán)境下,不僅降低系統(tǒng)的整體分發(fā)效率,同時(shí)還會(huì)增加數(shù)據(jù)傳輸出錯(cuò)的概率。

針對遙感數(shù)據(jù)的特點(diǎn)及傳統(tǒng)分發(fā)控制方法的不足,本文實(shí)現(xiàn)基于固定容量大小的單隊(duì)列控制模式,通過控制數(shù)據(jù)分發(fā)中心處理分發(fā)請求的順序及數(shù)量,保證系統(tǒng)的運(yùn)行性能和數(shù)據(jù)的傳輸質(zhì)量,滿足多用戶多行業(yè)對遙感影像的獲取請求。

1 系統(tǒng)總體框架結(jié)構(gòu)

遙感數(shù)據(jù)分發(fā)系統(tǒng)采用SOA架構(gòu)設(shè)計(jì),各子系統(tǒng)之間通過WebService進(jìn)行消息通信,其部署架構(gòu)圖如圖1所示。

遙感數(shù)據(jù)分發(fā)系統(tǒng)總體由1個(gè)數(shù)據(jù)分發(fā)中心和k個(gè)板塊中心構(gòu)成。通過在數(shù)據(jù)分發(fā)中心和用戶中間添加板塊中心層,將用戶登錄、訂單管理和數(shù)據(jù)檢索等系統(tǒng)壓力轉(zhuǎn)移至板塊中心,隔離數(shù)據(jù)分發(fā)中心與用戶的操作,使得數(shù)據(jù)分發(fā)中心保持?jǐn)?shù)據(jù)存儲(chǔ)及分發(fā)功能惟一性。板塊中心擁有用戶并負(fù)責(zé)管理自己的用戶,與數(shù)據(jù)分發(fā)中心始終保持系統(tǒng)已有遙感影像衛(wèi)星、傳感器類型、分辨率、經(jīng)緯度等元數(shù)據(jù)信息的同步。用戶從自己所注冊的板塊中心檢索符合要求的數(shù)據(jù),通過板塊中心向數(shù)據(jù)分發(fā)中心提交數(shù)據(jù)獲取請求,數(shù)據(jù)分發(fā)中心將數(shù)據(jù)安全可靠的推送至對應(yīng)的板塊中心。

數(shù)據(jù)分發(fā)中心由m個(gè)磁盤陣列、n個(gè)推送數(shù)據(jù)的服務(wù)站點(diǎn)和協(xié)同子系統(tǒng)組成。磁盤陣列即數(shù)據(jù)分發(fā)中心的數(shù)據(jù)庫管理系統(tǒng),主要負(fù)責(zé)組織、存儲(chǔ)和管理系統(tǒng)的數(shù)據(jù),部署在內(nèi)網(wǎng)環(huán)境中,以保證數(shù)據(jù)的安全;推送站點(diǎn)主要功能是將用戶需要的數(shù)據(jù)安全、可靠的從磁盤陣列推送至板塊中心。

協(xié)同子系統(tǒng)負(fù)責(zé)與各個(gè)板塊中心、磁盤陣列和推送站點(diǎn)之間的消息通信,控制數(shù)據(jù)傳輸?shù)牧鞒蹋WC系統(tǒng)在網(wǎng)絡(luò)與系統(tǒng)資源有限的情況下高質(zhì)量的數(shù)據(jù)分發(fā),是整個(gè)系統(tǒng)的不可或缺的服務(wù)組件。協(xié)同子系統(tǒng)中的任務(wù)庫用來保存板塊中心信息、系統(tǒng)配置及數(shù)據(jù)分發(fā)過程產(chǎn)生的狀態(tài)信息等少量控制信息,任務(wù)控制隊(duì)列負(fù)責(zé)統(tǒng)一調(diào)度控制數(shù)據(jù)的分發(fā),是整個(gè)系統(tǒng)的核心,也是本文討論的重點(diǎn)。

2 單隊(duì)列控制模式的設(shè)計(jì)

2.1 數(shù)據(jù)分發(fā)流程

從系統(tǒng)部署架構(gòu)圖(圖1)中的數(shù)據(jù)流向可以得知,為保證數(shù)據(jù)的安全,系統(tǒng)分發(fā)過程中遙感數(shù)據(jù)首先在數(shù)據(jù)分發(fā)中心內(nèi)部從磁盤陣列轉(zhuǎn)移至推送站點(diǎn),再由推送站點(diǎn)負(fù)責(zé)將數(shù)據(jù)推送至板塊中心,最終到達(dá)用戶手中。具體的分發(fā)流程如下。

⑴ 用戶從板塊中心登錄系統(tǒng),在檢索界面設(shè)置衛(wèi)星、傳感器、經(jīng)緯度和拍攝時(shí)間等條件,檢索滿足條件的遙感數(shù)據(jù),可以通過查看數(shù)據(jù)的詳細(xì)元數(shù)據(jù)信息或縮略圖等方式確認(rèn)自己需要的影像。

⑵ 將需要得到的數(shù)據(jù)作為訂單提交至板塊中心,板塊中心調(diào)用數(shù)據(jù)分發(fā)中心協(xié)同子系統(tǒng)提供的提交訂單WebService服務(wù),提交數(shù)據(jù)分發(fā)任務(wù)。

⑶ 協(xié)同子系統(tǒng)將收到的分發(fā)任務(wù)存放在任務(wù)庫中,等待控制隊(duì)列的調(diào)度執(zhí)行,同時(shí)告知板塊中心任務(wù)提交成功處于等待處理狀態(tài)。

⑷ 執(zhí)行分發(fā)任務(wù)時(shí),協(xié)同子系統(tǒng)選擇推送站點(diǎn)將用戶請求的數(shù)據(jù)推送到用戶所屬的板塊中心。

⑸ 推送成功后,由協(xié)同子系統(tǒng)通知相應(yīng)的板塊中心用戶可以取走數(shù)據(jù)。

⑹ 數(shù)據(jù)在分發(fā)過程中如果出錯(cuò)即任務(wù)失敗,則由協(xié)同子系統(tǒng)告知板塊中心,允許用戶再次提交對該數(shù)據(jù)的獲取請求。

2.2 隊(duì)列控制流程設(shè)計(jì)

從系統(tǒng)整體部署框架結(jié)構(gòu)可以看出,系統(tǒng)實(shí)際運(yùn)行時(shí),每時(shí)每刻都可能有大量的下載請求到達(dá)數(shù)據(jù)分發(fā)中心,為保證各個(gè)板塊中心的數(shù)據(jù)需求,在傳輸數(shù)據(jù)上實(shí)現(xiàn)資源的公平分配,同時(shí)結(jié)合遙感數(shù)據(jù)大、傳輸時(shí)間不確定的特點(diǎn),數(shù)據(jù)分發(fā)中心采用主動(dòng)的、有固定容量的任務(wù)控制隊(duì)列針對板塊中心提交的數(shù)據(jù)分發(fā)任務(wù)進(jìn)行統(tǒng)一調(diào)度控制。主動(dòng)性是指隊(duì)列主動(dòng)去任務(wù)庫中獲取等待處理的分發(fā)任務(wù);固定容量指控制隊(duì)列的處理資源有限,系統(tǒng)同時(shí)運(yùn)行的任務(wù)最多不會(huì)超過某個(gè)閾值,控制系統(tǒng)并行傳輸數(shù)據(jù)量,減小使用網(wǎng)絡(luò)資源,保證傳輸速度與質(zhì)量。

在此模式下,用戶從板塊中心提交的數(shù)據(jù)分發(fā)請求不會(huì)立即得到響應(yīng),而是將請求的數(shù)據(jù)ID、數(shù)據(jù)名稱、數(shù)據(jù)類型等信息存儲(chǔ)在協(xié)同子系統(tǒng)的任務(wù)庫中,任務(wù)控制隊(duì)列主動(dòng)從任務(wù)庫中獲取等待分發(fā)的任務(wù)進(jìn)行處理,具體控制流程如圖2所示。

2.3 隊(duì)列控制流程描述

第一步:協(xié)同子系統(tǒng)將用戶從板塊中心提交的分發(fā)任務(wù)解析加入任務(wù)庫,同時(shí)發(fā)送消息通知控制隊(duì)列有新的分發(fā)任務(wù)到達(dá),控制隊(duì)列如果處于正在“取出wait”狀態(tài),則取消該狀態(tài)立即響應(yīng)新到達(dá)的任務(wù),開始分發(fā)流程,否則控制隊(duì)列忽略該消息,繼續(xù)執(zhí)行自己的控制流程。

第二步:控制隊(duì)列主動(dòng)從任務(wù)庫中獲取等待分發(fā)的任務(wù),如果任務(wù)庫中不存在等待分發(fā)的任務(wù),控制隊(duì)列進(jìn)入“取出wait”狀態(tài),等待取消該狀態(tài)的消息到來。

第三步:成功獲取到下一條待處理的分發(fā)任務(wù),如果控制隊(duì)列沒有空閑資源,即系統(tǒng)正在執(zhí)行的分發(fā)任務(wù)占滿了隊(duì)列容量,控制隊(duì)列進(jìn)入“加入wait”狀態(tài),等待取消該狀態(tài)的消息到來。

第四步:隊(duì)列有空閑資源時(shí),則將分發(fā)任務(wù)加入隊(duì)列,同時(shí)減少隊(duì)列的空閑資源數(shù)量,該任務(wù)進(jìn)入數(shù)據(jù)分發(fā)子流程,同時(shí)隊(duì)列繼續(xù)獲取下一條待處理的分發(fā)任務(wù)。

第五步:數(shù)據(jù)分發(fā)子流程中隊(duì)列解析任務(wù)相關(guān)信息并選擇推送站點(diǎn)將數(shù)據(jù)安全可靠地推送至指定位置(板塊中心的惟一FTP地址)。

第六步:推送站點(diǎn)將隊(duì)列分配的任務(wù)完成后,發(fā)送消息通知控制隊(duì)列一條分發(fā)任務(wù)處理完成,如果隊(duì)列處于“加入wait”狀態(tài),則取消該狀態(tài),將待處理的任務(wù)加入隊(duì)列,否則控制隊(duì)列忽略該消息,繼續(xù)執(zhí)行自己的控制流程。

2.4 隊(duì)列控制策略設(shè)計(jì)

對用戶不同需求提供對應(yīng)的不同服務(wù)是保證網(wǎng)絡(luò)服務(wù)質(zhì)量的一個(gè)重要原則[4],數(shù)據(jù)分發(fā)中心為了保證對板塊中心的平等服務(wù),除了采用固定容量、主動(dòng)的隊(duì)列外,系統(tǒng)還設(shè)計(jì)了一系列其他控制策略。

由于數(shù)據(jù)分發(fā)中心對用戶是透明的,所以隊(duì)列在獲取分發(fā)任務(wù)時(shí),對每個(gè)板塊中心平等對待。在控制隊(duì)列容量和板塊中心數(shù)量相等時(shí),如果板塊中心均有分發(fā)請求,則每個(gè)板塊中心均有一條正在執(zhí)行的分發(fā)任務(wù),如果存在某個(gè)板塊中心沒有分發(fā)請求,則進(jìn)行下一個(gè)板塊中心的分發(fā)任務(wù),即控制隊(duì)列獲取等待分發(fā)任務(wù)時(shí),針對所有板塊中心進(jìn)行輪詢,同時(shí)不浪費(fèi)空間資源,保證每個(gè)中心得到均勻的任務(wù)響應(yīng)。

在傳輸過程中系統(tǒng)可能出現(xiàn)無法控制的未知異?;蝈e(cuò)誤,如網(wǎng)絡(luò)中斷、數(shù)據(jù)庫系統(tǒng)或某個(gè)推送站點(diǎn)意外宕機(jī)等,此時(shí)協(xié)同子系統(tǒng)無法得到失敗消息,會(huì)導(dǎo)致分發(fā)任務(wù)無法按照正常的流程執(zhí)行完畢而一直占用隊(duì)列資源,進(jìn)而影響后續(xù)分發(fā)任務(wù)的執(zhí)行,因此隊(duì)列提供定時(shí)檢測機(jī)制,對長時(shí)間沒有結(jié)束的任務(wù)進(jìn)行強(qiáng)制移除。

數(shù)據(jù)傳輸量大,防止用戶惡意提交大批量任務(wù)占用系統(tǒng)資源,板塊中心對每個(gè)用戶每天數(shù)據(jù)下載量進(jìn)行控制,同時(shí)數(shù)據(jù)分發(fā)中心對板塊中心每年數(shù)據(jù)下載量控制。

3 運(yùn)行實(shí)例

協(xié)同子系統(tǒng)采用Java+Axis2技術(shù)開發(fā),使用Hibernate操作任務(wù)庫,部署在Linux平臺下的Tomcat服務(wù)器中,以WebService服務(wù)的方式與板塊中心、磁盤陣列、推送站點(diǎn)進(jìn)行消息通信??刂脐?duì)列作為協(xié)同子系統(tǒng)的核心功能,在協(xié)同子系統(tǒng)啟動(dòng)時(shí)開始執(zhí)行隊(duì)列控制流程,貫穿系統(tǒng)整個(gè)運(yùn)行期間,保證數(shù)據(jù)的有序、高效分發(fā)。在實(shí)際運(yùn)行環(huán)境中,板塊中心為6個(gè),網(wǎng)絡(luò)為千兆網(wǎng),設(shè)置控制隊(duì)列容量為6,可以保證對板塊中心的平均分配,若網(wǎng)絡(luò)環(huán)境不允許可適當(dāng)調(diào)低隊(duì)列容量大小。策略上間隔5分鐘對隊(duì)列任務(wù)執(zhí)行一次超時(shí)檢測,經(jīng)測試最終設(shè)置超時(shí)閾值為30分鐘。

控制隊(duì)列沒有可視化運(yùn)行界面,但可以通過即時(shí)監(jiān)控其執(zhí)行日志獲得隊(duì)列的控制流程及運(yùn)行情況,如圖3所示。可以看到,系統(tǒng)在11月4日14:12沒有分發(fā)任務(wù),控制隊(duì)列進(jìn)入“取出wait”狀態(tài),在11月4日20:33進(jìn)入“加入wait”狀態(tài),在11月4日20:34取消“加入wait”狀態(tài)的消息到來,在11月4日20:35再次進(jìn)入“加入wait”狀態(tài),在11月4日20:36進(jìn)行了一次超時(shí)檢測??刂脐?duì)列執(zhí)行過程中對分發(fā)任務(wù)的狀態(tài)進(jìn)行更新,用戶可以通過在板塊中心查看操作歷史記錄獲得分發(fā)任務(wù)的即時(shí)執(zhí)行狀態(tài),如圖4所示。

4 結(jié)束語

本文闡述了一種基于SOA架構(gòu)的數(shù)據(jù)分發(fā)系統(tǒng)結(jié)構(gòu),并針對系統(tǒng)中影像文件大、占用資源嚴(yán)重等特點(diǎn),提出基于固定容量大小的單隊(duì)列控制模式解決方案,通過控制分發(fā)流程及控制策略,保證系統(tǒng)的性能及數(shù)據(jù)的傳輸質(zhì)量,實(shí)現(xiàn)遙感影像數(shù)據(jù)的有序、規(guī)范、高效共享,滿足多用戶多行對遙感影像的獲取需求。

在實(shí)際運(yùn)行測試環(huán)境中,單隊(duì)列控制模式穩(wěn)定可靠地完成了數(shù)據(jù)的分發(fā)任務(wù),但同時(shí)也發(fā)現(xiàn)該解決方案的不足,即沒有實(shí)現(xiàn)任務(wù)優(yōu)先級的設(shè)計(jì),無法滿足系統(tǒng)對應(yīng)急分發(fā)任務(wù)及時(shí)優(yōu)先處理的需要,對此,我們將在后續(xù)的工作中進(jìn)一步研究與完善。

參考文獻(xiàn):

[1] ??藸枺溃┲愱基i譯.Java編程思想[M].機(jī)械工業(yè)出版社,2007.

[2] 盧傳富,蔡志明,夏學(xué)知.數(shù)據(jù)分發(fā)服務(wù)體系結(jié)構(gòu)的研究[J].計(jì)算機(jī)與數(shù)字工程,2008.36(5):67-69,82

[3] 黃飛龍.分布式計(jì)算中多隊(duì)列線程池的設(shè)計(jì)與實(shí)現(xiàn)[J].科協(xié)論壇,2013.4:95-98

[4] 徐建,李善平.用戶公平的活動(dòng)隊(duì)列管理[J].電子學(xué)報(bào),2004.32(3):435-440

[5] 倪志偉.基于排隊(duì)論的訂單處理系統(tǒng)建模與仿真[D].北京交通大學(xué),2009.

[6] 李男,黃永忠,郭紹忠.基于多隊(duì)列思想的作業(yè)處理環(huán)境的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2008.28:116-119

[7] 孟憲福.分布式環(huán)境下任務(wù)調(diào)度模型研究[J].大連理工大學(xué)學(xué)報(bào),2006.46(6):920-925

[8] 蘭秀菊,湯洪濤,陳勇.訂單處理過程的響應(yīng)性分析[J].浙江工業(yè)大學(xué)學(xué)報(bào),2006.34(1):74-77

猜你喜歡
隊(duì)列控制
隊(duì)列隊(duì)形體育教案
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
在隊(duì)列里
豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
社會(huì)轉(zhuǎn)型期行政權(quán)控制的路徑探索
淺析應(yīng)收賬款的產(chǎn)生原因和對策
會(huì)計(jì)預(yù)算控制現(xiàn)狀及方法
淺談高層建筑沉降監(jiān)測關(guān)鍵環(huán)節(jié)控制
保險(xiǎn)公司財(cái)務(wù)風(fēng)險(xiǎn)管理及控制研究