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

?

基于消息的水利數(shù)據(jù)共享交換平臺設(shè)計(jì)與實(shí)現(xiàn)

2012-04-30 01:56:58許明家高祥濤胡金龍
水利信息化 2012年4期
關(guān)鍵詞:分中心隊(duì)列消息

陳 寧 ,許明家 ,高祥濤 ,胡金龍

(1. 江蘇省水文水資源勘測局,江蘇 南京 210029;2. 水利部水文局,北京 100053)

0 引言

隨著水利信息化的日趨深入,對各類水利應(yīng)用系統(tǒng)之間的數(shù)據(jù)共享、交換要求日益提高。設(shè)計(jì)建設(shè)統(tǒng)一的水利數(shù)據(jù)共享交換平臺,可為水利行業(yè)跨部門間的信息共享,以及跨學(xué)科的科學(xué)計(jì)算提供相應(yīng)的數(shù)據(jù)支撐[1],是水利信息化的主要研究內(nèi)容之一。

江蘇省水利數(shù)據(jù)交換的形式主要包括以下幾種:省中心與分中心之間的數(shù)據(jù)交換;分中心與分中心之間通過省中心中轉(zhuǎn)的數(shù)據(jù)交換;省中心運(yùn)行正常情況下,省中心與備份中心(江蘇省太湖管理處)的數(shù)據(jù)同步;省中心出現(xiàn)故障時,備份中心與分中心之間的數(shù)據(jù)交換,以及分中心與分中心之間通過備份中心中轉(zhuǎn)的數(shù)據(jù)交換;省中心(或分中心)與其它省中心(或國家流域中心)之間的數(shù)據(jù)交換。

數(shù)據(jù)交換主要包括以下幾種:數(shù)據(jù)庫與應(yīng)用系統(tǒng)之間、應(yīng)用系統(tǒng)與應(yīng)用系統(tǒng)之間、數(shù)據(jù)庫與數(shù)據(jù)庫之間、數(shù)據(jù)文件與數(shù)據(jù)文件之間、數(shù)據(jù)文件與數(shù)據(jù)庫之間、應(yīng)用系統(tǒng)與數(shù)據(jù)文件之間等的數(shù)據(jù)交換。

1 設(shè)計(jì)原則

水利數(shù)據(jù)共享交換平臺設(shè)計(jì)需遵循以下原則:

1)開放性。為降低由技術(shù)本身的限制而產(chǎn)生的對數(shù)據(jù)共享交換系統(tǒng)發(fā)展帶來的風(fēng)險,保護(hù)水利信息化上的長期投資,有效地規(guī)避風(fēng)險,數(shù)據(jù)共享交換平臺的選型應(yīng)當(dāng)遵循開放的技術(shù)原則,保證構(gòu)架內(nèi)外現(xiàn)有的、可能增加的不同應(yīng)用模型系統(tǒng)容易集成。

2)可擴(kuò)展性。隨著各項(xiàng)水利應(yīng)用的增加,業(yè)務(wù)量的加大,應(yīng)用終端用戶的增長,數(shù)據(jù)共享交換系統(tǒng)應(yīng)能夠通過服務(wù)器等硬件設(shè)備的添加實(shí)現(xiàn)快速、有效的擴(kuò)展,無需對系統(tǒng)邏輯構(gòu)架、系統(tǒng)或業(yè)務(wù)應(yīng)用進(jìn)行改動,使得系統(tǒng)能夠隨著業(yè)務(wù)的變化易于做出改變。

3)安全性。水利數(shù)據(jù)共享交換平臺應(yīng)采用全面開放的安全體系結(jié)構(gòu),保證平臺的物理和邏輯安全。物理安全指系統(tǒng)設(shè)備及相關(guān)設(shè)施受到物理保護(hù),免于破壞和丟失;邏輯安全包括信息完整性、保密性和可用性,建立相應(yīng)的安全管理制度。

4)可管理性。水利數(shù)據(jù)共享交換平臺是一個跨部門、用戶群的大型系統(tǒng)。對不同性質(zhì)用戶、系統(tǒng)運(yùn)行狀態(tài)、數(shù)據(jù)資源等應(yīng)具有良好的可管理性和可維護(hù)性。系統(tǒng)可進(jìn)行集中的監(jiān)控和管理,快速發(fā)現(xiàn)已發(fā)生或潛在的問題并做出判斷,在此基礎(chǔ)上自動解決問題或者提出相應(yīng)的建議和策略,以保障系統(tǒng)的可用性與穩(wěn)定性。

5)先進(jìn)性和成熟性。隨著新技術(shù)的發(fā)展,許多新產(chǎn)品不斷出現(xiàn),為了保障系統(tǒng)的穩(wěn)定性和可靠性,應(yīng)在選用成熟產(chǎn)品的前提下,充分利用新開發(fā)的并已有成功經(jīng)驗(yàn)[2]的技術(shù)。

2 平臺架構(gòu)

基于消息中間件的水利數(shù)據(jù)共享交換平臺整體架構(gòu)如圖 1 所示。

圖1 平臺整體架構(gòu)圖

省中心和各分中心的應(yīng)用系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)文件通過數(shù)據(jù)共享交換平臺實(shí)現(xiàn)系統(tǒng)間的實(shí)時數(shù)據(jù)傳輸。數(shù)據(jù)共享交換平臺為各應(yīng)用系統(tǒng)提供標(biāo)準(zhǔn)的應(yīng)用程序調(diào)用接口,數(shù)據(jù)交換共享系統(tǒng)間通過消息中間件實(shí)現(xiàn)數(shù)據(jù)交互。

1)數(shù)據(jù)交換共享平臺。實(shí)現(xiàn)應(yīng)用系統(tǒng)間的數(shù)據(jù)交換,為應(yīng)用系統(tǒng)屏蔽傳輸?shù)讓印?shù)據(jù)交換共享平臺如圖 2 所示。

DEM(Data Exchange Manager):數(shù)據(jù)交換系統(tǒng)核心,作為數(shù)據(jù)交換系統(tǒng)的控制層,提供路由、規(guī)則、日志和安全管理等功能。

消息中間件:實(shí)現(xiàn)數(shù)據(jù)交換共享系統(tǒng)間可靠的消息傳輸。

2)日志數(shù)據(jù)庫。是整個數(shù)據(jù)交換共享系統(tǒng)日志記錄的數(shù)據(jù)庫。

3)路由管理。數(shù)據(jù)交換系統(tǒng)以傳輸隊(duì)列設(shè)計(jì)為基礎(chǔ),通過對傳輸數(shù)據(jù)控制信息的配置實(shí)現(xiàn)消息路由的策略。

圖2 數(shù)據(jù)交換共享平臺

數(shù)據(jù)交換系統(tǒng)內(nèi)部建有消息路由表,含消息的源、目的、類型及相對應(yīng)傳輸隊(duì)列名等字段;傳輸消息的控制信息也含有消息的源、類型等數(shù)據(jù)項(xiàng),通過查詢路由表消息流程明確該業(yè)務(wù)對象應(yīng)該送去哪里、怎么送。

4)規(guī)則管理。數(shù)據(jù)交換系統(tǒng)通過管理配置設(shè)計(jì)提供數(shù)據(jù)規(guī)則管理功能。通過該功能,用戶可維護(hù)交換的數(shù)據(jù)包類型、數(shù)據(jù)記錄類型、數(shù)據(jù)記錄各字段類型和格式,這些信息可以存放在數(shù)據(jù)庫中。

5)日志管理。數(shù)據(jù)交換系統(tǒng)提供完善的日志管理功能,包括數(shù)據(jù)庫和非數(shù)據(jù)庫方式,通過該功能可以調(diào)閱數(shù)據(jù)交換共享系統(tǒng)上流過的每條消息,并且進(jìn)行跟蹤。

6)安全管理。數(shù)據(jù)交換系統(tǒng)提供消息的加密傳輸功能及相應(yīng)的監(jiān)控界面,以保證系統(tǒng)運(yùn)行的可靠性。

3 數(shù)據(jù)流程

各水利業(yè)務(wù)應(yīng)用系統(tǒng)通過數(shù)據(jù)交換共享平臺提供的接口接入中心數(shù)據(jù)交換系統(tǒng),并通過數(shù)據(jù)交換平臺實(shí)現(xiàn)和其它應(yīng)用系統(tǒng)的數(shù)據(jù)交換。完整的收發(fā)流程數(shù)據(jù)流向圖如圖 3 所示。

省中心和分中心的各應(yīng)用系統(tǒng)可以根據(jù)是否具有數(shù)據(jù)存儲功能分成有數(shù)據(jù)庫和沒有數(shù)據(jù)庫的 2 類應(yīng)用系統(tǒng)[3]。

3.1 數(shù)據(jù)庫方式

若應(yīng)用系統(tǒng)具有數(shù)據(jù)庫,考慮到數(shù)據(jù)交換系統(tǒng)對應(yīng)用系統(tǒng)的非侵入性及減少應(yīng)用系統(tǒng)的實(shí)施風(fēng)險,需在應(yīng)用系統(tǒng)數(shù)據(jù)庫中建立統(tǒng)一結(jié)構(gòu)的發(fā)送和接收接口。以省中心應(yīng)用系統(tǒng)發(fā)送數(shù)據(jù)至分中心應(yīng)用系統(tǒng)為例,整體流程圖如圖 4 所示。

圖3 數(shù)據(jù)收發(fā)流向圖

發(fā)送數(shù)據(jù)時,省中心應(yīng)用系統(tǒng)只需將待發(fā)送的數(shù)據(jù)組織后成功插入發(fā)送接口,省中心數(shù)據(jù)交換系統(tǒng)就會自動取出該數(shù)據(jù),根據(jù)該數(shù)據(jù)的配置信息送到省中心數(shù)據(jù)交換系統(tǒng)至分中心數(shù)據(jù)交換系統(tǒng)傳輸隊(duì)列里。

接收數(shù)據(jù)時,分中心數(shù)據(jù)交換系統(tǒng)會自動從本地接收隊(duì)列將消息提出,并成功插入分中心應(yīng)用系統(tǒng)的接收接口,應(yīng)用系統(tǒng)接收該數(shù)據(jù)并做相應(yīng)處理。收發(fā)詳細(xì)流程圖如圖 5 和 6 所示。

3.1.1 發(fā)送

1)DEM 偵聽發(fā)送接口表,提取應(yīng)用系統(tǒng)插入的尚未發(fā)送或者發(fā)送不成功的數(shù)據(jù)。

2)每條數(shù)據(jù)都有相應(yīng)的控制信息,通過該控制信息可以確定待發(fā)送數(shù)據(jù)的目標(biāo)系統(tǒng)、數(shù)據(jù)類型及發(fā)送方式(點(diǎn)對點(diǎn)、廣播和發(fā)布訂閱)。

圖4 數(shù)據(jù)庫方式下數(shù)據(jù)收發(fā)流向圖

圖5 數(shù)據(jù)庫方式下發(fā)送流程圖

3)DEM 根據(jù)數(shù)據(jù)的控制信息判斷發(fā)送方式和相應(yīng)傳輸隊(duì)列名稱,調(diào)用消息中間件接口將數(shù)據(jù)寫入相應(yīng)的傳輸隊(duì)列,并根據(jù)發(fā)送結(jié)果修改接口表中數(shù)據(jù)的“發(fā)送狀態(tài)”字段。

4)數(shù)據(jù)發(fā)送的可靠性由消息中間件的相關(guān)機(jī)制保證。

3.1.2 接收

1)DEM 偵聽本地接收隊(duì)列。當(dāng)本地接收隊(duì)列有消息存在時,提取該消息,并根據(jù)該消息中的控制信息分發(fā)到本地接收子隊(duì)列。

圖6 數(shù)據(jù)庫方式下接收流程圖

2)DEM 偵聽本地接收子隊(duì)列。當(dāng)本地接收子隊(duì)列有消息存在時,DEM 調(diào)用消息中間件接收接口取出該數(shù)據(jù)并插入應(yīng)用系統(tǒng)接口表,在保證成功插入接口表時再刪除本地接收隊(duì)列中的相關(guān)數(shù)據(jù)。

3)應(yīng)用從接收接口表提取數(shù)據(jù),做相應(yīng)的業(yè)務(wù)處理。

3.2 非數(shù)據(jù)庫方式

若應(yīng)用系統(tǒng)無數(shù)據(jù)庫,或需要交換共享的水利數(shù)據(jù)以非數(shù)據(jù)庫方式存放,數(shù)據(jù)交換共享系統(tǒng)提供了標(biāo)準(zhǔn)的接口供應(yīng)用系統(tǒng)調(diào)用,收發(fā)詳細(xì)流程如圖 7和 8 所示。

3.2.1 發(fā)送

1)數(shù)據(jù)交換系統(tǒng)提供發(fā)送 API 供應(yīng)用系統(tǒng)調(diào)用,API 接口方式如下(C 語言或者 Java,以下只列出 C 接口):int dem_send(const char* messageid,void* buffer, int length, int priority )。其中 messageid表示消息號;buffer 表示待發(fā)送的數(shù)據(jù);length 表示數(shù)據(jù)長度;priority 表示數(shù)據(jù)發(fā)送優(yōu)先級。

2)DEM 根據(jù)數(shù)據(jù)的控制信息判斷發(fā)送類型(點(diǎn)對點(diǎn)、廣播和發(fā)布訂閱)和相應(yīng)傳輸隊(duì)列名稱,并調(diào)用消息中間件接口將數(shù)據(jù)寫入相應(yīng)的傳輸隊(duì)列。

3.2.2 接收

1)DEM 偵聽本地接收隊(duì)列。當(dāng)本地接收隊(duì)列有信息存在時,提取該信息,并根據(jù)該信息中的控制信息分發(fā)到本地接收子隊(duì)列。

圖7 非數(shù)據(jù)庫方式下發(fā)送流程圖

圖8 非數(shù)據(jù)庫方式下接收流程圖

2)應(yīng)用系統(tǒng)調(diào)用數(shù)據(jù)交換系統(tǒng)提供的接收數(shù)據(jù)API。該 API 完成從本地接收子隊(duì)列收取消息(不關(guān)心消息的發(fā)送地址)的工作。接口聲明如下:int dem_receive(char* messageid, char* systemid, void*buffer, int timeout)。其中 messageid 表示接收到的消息號;systemid 表示接收該消息的應(yīng)用系統(tǒng)代號;buffer 表示收到的數(shù)據(jù)內(nèi)容;timeout 表示等待超時間,單位 ms。

3)應(yīng)用系統(tǒng)收到消息后,做相應(yīng)的業(yè)務(wù)處理。

4 結(jié)語

該平臺在分析各類水利數(shù)據(jù)的標(biāo)準(zhǔn)、結(jié)構(gòu)、管理,以及互操作的基礎(chǔ)上,實(shí)現(xiàn)了水利數(shù)據(jù)的共享交換服務(wù),并緊密結(jié)合應(yīng)用,為突破水利數(shù)據(jù)信息行業(yè)壁壘,更好地為社會公眾服務(wù)提供了思路和技術(shù)參考。

目前,基于消息中間件的水利數(shù)據(jù)共享交換平臺已經(jīng)在江蘇省太湖自動監(jiān)測系統(tǒng)工程中部署應(yīng)用,實(shí)現(xiàn)了江蘇省太湖地區(qū)各級水利部門各類信息資源的交換與共享,為防洪排澇、水資源管理、調(diào)水改善水環(huán)境工作提供了歷史和實(shí)時信息,為各級水行政主管部門和生產(chǎn)單位提供了準(zhǔn)確、及時、有效的信息服務(wù)。

[1]朱星明,張行南,白婧怡,等. 水利科學(xué)數(shù)據(jù)共享元數(shù)據(jù)理論的應(yīng)用探討[J]. 水利學(xué)報,2005, 36 (8): 56-59.

[2]司存友,高祥濤. 國家防汛指揮系統(tǒng)江蘇省水情分中心設(shè)計(jì)思路[J]. 江蘇水利,2006 (8): 30-32.

[3]高祥濤,陳寧,胡金龍. 江蘇省水利廳數(shù)據(jù)存儲體系架構(gòu)淺析[J]. 江蘇水利,2009 (3): 29-30.

猜你喜歡
分中心隊(duì)列消息
浙江大學(xué)基礎(chǔ)醫(yī)學(xué)實(shí)驗(yàn)教學(xué)中心機(jī)能分中心
浙江大學(xué)基礎(chǔ)醫(yī)學(xué)實(shí)驗(yàn)教學(xué)中心機(jī)能分中心
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
軟件(2020年3期)2020-04-20 00:58:44
一張圖看5G消息
在隊(duì)列里
豐田加速駛?cè)胱詣玉{駛隊(duì)列
高速公路監(jiān)控分中心網(wǎng)絡(luò)配置探析
消息
消息
河源市| 红原县| 搜索| 壶关县| 崇左市| 凌海市| 会东县| 汪清县| 汤阴县| 贵港市| 太保市| 秦皇岛市| 郎溪县| 衡阳市| 固始县| 正阳县| 昭觉县| 尉犁县| 迁安市| 彰化县| 察雅县| 乐陵市| 桓台县| 上杭县| 连南| 陆丰市| 桐庐县| 天峻县| 凭祥市| 玉田县| 武汉市| 陇西县| 启东市| 志丹县| 洪洞县| 佳木斯市| 康马县| 弥渡县| 绥德县| 雷波县| 东莞市|