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

?

基于關(guān)系模式的通用數(shù)據(jù)交換系統(tǒng)的構(gòu)建

2013-08-08 06:17周文軍
中國科技信息 2013年16期
關(guān)鍵詞:消息數(shù)據(jù)庫模塊

周文軍

河北省交通通信管理局,河北 石家莊 050031

1 概述

近年來隨著信息化建設(shè)的不斷推進,我國企業(yè)信息化和電子政務(wù)建設(shè)已經(jīng)進入了一個新階段。在信息化建設(shè)過程中,各個企業(yè)和各個部門都出現(xiàn)了多個獨立系統(tǒng)并存的現(xiàn)象,這些系統(tǒng)出自不同的開發(fā)商,不同的技術(shù)架構(gòu),就必然造成數(shù)據(jù)不能交換,不能共享,即所謂的‘信息孤島’問題。另外,隨著我國電子政務(wù)各項工作的深入推進,以及網(wǎng)上企業(yè)年檢、銀稅共享工程等一批信息化應(yīng)用工程的建設(shè),許多政府部門需要共享機關(guān)、企業(yè)、事業(yè)和社團等多種基礎(chǔ)信息。目前整體的IT戰(zhàn)略價值很難體現(xiàn),信息交換與共享勢在必行。

面對信息化過程中所遇見的這些困惑和需求,目前通常的做法是正面回避數(shù)據(jù)交換問題,而是在架構(gòu)和平臺層面,通過XML技術(shù)和Web service技術(shù)[1,2,3]進行數(shù)據(jù)、應(yīng)用、業(yè)務(wù)和流程層面的整合,實現(xiàn)應(yīng)用系統(tǒng)間的集成性、共享性、互操作性。面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture, SOA)作為開放的Internet時代IT 體系結(jié)構(gòu)新樣式,雖然支持將業(yè)務(wù)作為鏈接服務(wù)或可重復(fù)業(yè)務(wù)任務(wù)進行集成、跨網(wǎng)絡(luò)訪問[3],但松耦合在帶來應(yīng)變敏捷性的同時,也給業(yè)務(wù)建模和服務(wù)劃分帶來難題,并且對集成遺留系統(tǒng)的工作始終是一個挑戰(zhàn)。

文獻[2]通過建立交換中心來管理交換節(jié)點的服務(wù)注冊和異構(gòu)數(shù)據(jù)映射,帶來了實現(xiàn)和管理的復(fù)雜化。文獻[4]通過郵件方式交換數(shù)據(jù),但只是完成信息的整體添加。

在電子政務(wù)系統(tǒng)中,人們期望不同數(shù)據(jù)交換節(jié)點間以對等的方式進行;在接口中定義每個節(jié)點的標(biāo)準(zhǔn)數(shù)據(jù)交換平臺的功能和邏輯表現(xiàn),雙方在對應(yīng)的協(xié)議層次上進行對話。數(shù)據(jù)交換平臺把本屬各部門的異構(gòu)數(shù)據(jù)聯(lián)結(jié)起來,在統(tǒng)一的接口的基礎(chǔ)之上,為每個單位的應(yīng)用系統(tǒng)提供了全局的、透明的數(shù)據(jù)交換和共享。

本文通過參照網(wǎng)絡(luò)信息交換的原理探討建立一種基于Socket(套接字)的通用數(shù)據(jù)交換系統(tǒng)(Universal Data Exchange System)UDE,旨在達(dá)到像網(wǎng)絡(luò)互聯(lián)那樣實現(xiàn)應(yīng)用系統(tǒng)間數(shù)據(jù)共享、互操作的目的。該模型支持在各種技術(shù)環(huán)境中實現(xiàn)系統(tǒng)之間的消息交換,并能在不同的編程語言和操作系統(tǒng)中應(yīng)用;對新業(yè)務(wù)需求的變化具有可擴充性;設(shè)計了一個面向模式的規(guī)則驅(qū)動的數(shù)據(jù)交換方法,該方法以關(guān)系模式為交換標(biāo)準(zhǔn),所有XML描述格式都通過關(guān)系模式這一中間標(biāo)準(zhǔn)完成交換,同時對交換雙方數(shù)據(jù)庫的異構(gòu)性進行了技術(shù)性統(tǒng)一。

2 系統(tǒng)設(shè)計原理

2.1 UDE概述

按照 ISO/OSI參考模型,模型建立在協(xié)議的最高層—應(yīng)用層,采取點對點對等通訊模式,由于是構(gòu)筑在星狀體系上的交換模式,所有的交換單體彼此是獨立的、相互無關(guān)的。數(shù)據(jù)交換功能的直接體現(xiàn)包括獲取、更新、添加、刪除等內(nèi)容。還包括信息的統(tǒng)一封裝,即信息的打包和應(yīng)用系統(tǒng)的統(tǒng)一編址,對傳輸?shù)倪^程進行全程監(jiān)控,提供日志、審計、會話管理、傳輸優(yōu)先級設(shè)定、流量負(fù)荷分析等。在實際應(yīng)用中采用如圖1所示的連接方式。

圖1 UDE應(yīng)用示意圖

UDE實現(xiàn)多線程,負(fù)責(zé)接收和發(fā)送,在完成數(shù)據(jù)的查詢、修改的通信協(xié)議中,消息(Message)是數(shù)據(jù)交換的基本單位,通過消息傳遞的方式實現(xiàn)信息交換非常類似于網(wǎng)絡(luò)的消息包傳遞方式。接收節(jié)點負(fù)責(zé)將消息解析成SQL語句,直接操作數(shù)據(jù)庫完成數(shù)據(jù)交換。

2.2 UDE結(jié)構(gòu)

UDE工作原理如圖2所示:

2.2.1 Send/Receive module(發(fā)送/接收模塊):

采用TCP/IP通訊協(xié)議,發(fā)送方即提起服務(wù)申請方向接收方發(fā)送消息數(shù)據(jù)包,信息格式為符合特定標(biāo)準(zhǔn)的XML字符串格式。接收方接收并解析協(xié)議包,將解析后的信息組合成操作數(shù)據(jù)庫的SQL語句,更新數(shù)據(jù)庫或提取符合條件的數(shù)據(jù)并返回。每次接收完成后回復(fù)發(fā)送端一個ACK確認(rèn)信息,確認(rèn)信息已經(jīng)發(fā)送成功。

2.2.2 Message Parser/Builder module(消息包轉(zhuǎn)換模塊):

實現(xiàn)字符串格式數(shù)據(jù)與XML格式之間的相互轉(zhuǎn)換,對信息格式進行檢查驗證,保證發(fā)送/接收數(shù)據(jù)的正確完整性。

2.2.3 UDE API module(應(yīng)用接口模塊):

參與數(shù)據(jù)交換的應(yīng)用系統(tǒng)可以調(diào)用接口函數(shù),按照規(guī)定格式填寫參數(shù),實現(xiàn)向其他應(yīng)用系統(tǒng)發(fā)送數(shù)據(jù)。該模塊也可以調(diào)用事件處理程序,接收其他應(yīng)用系統(tǒng)的數(shù)據(jù)消息。

2.2.4 DB Wrapper Adaptor module(數(shù)據(jù)庫轉(zhuǎn)接模塊):

圖2 UDE結(jié)構(gòu)

支持各種常見數(shù)據(jù)庫系統(tǒng)。在定義數(shù)據(jù)源連接時,增加一項數(shù)據(jù)庫操作驅(qū)動配置,用于隔離不同數(shù)據(jù)庫和數(shù)據(jù)庫驅(qū)動的差異,使應(yīng)用系統(tǒng)做到與數(shù)據(jù)庫無關(guān)性,可以將應(yīng)用系統(tǒng)方便地移植到任何其它數(shù)據(jù)庫。

同時數(shù)據(jù)庫適配器DBAdapter還負(fù)責(zé):

維護Connection Wrapper對象集和映射連接: Connection Wrapper對象有名稱和打開、關(guān)閉連接方法;

準(zhǔn)備Connection: 當(dāng)申請連接的新Connection Wrapper在對象集中有同名對象,則直接取該同名對象映射的已申請過的連接作為當(dāng)前連接進行數(shù)據(jù)庫操作,否則調(diào)用新Connection Wrapper的方法取到連接作為當(dāng)前連接,并將對象和連接映射關(guān)系放進對象集。

維護數(shù)據(jù)庫操作的事務(wù)完整性:對每個Connection Wrapper進行提交和回滾,一旦出錯自動回滾。

釋放所有連接:除了通過正常方法釋放外,在它被回收時強制進行所有連接的釋放。

2.2.5 Fields Mapping module(關(guān)系模式定義模塊):

采用ORM(Object Relational Mapping,對象關(guān)系映射)方式,提供數(shù)據(jù)交換雙方數(shù)據(jù)元的翻譯對照功能,可以進行定制設(shè)置來提高系統(tǒng)的通用性,以系統(tǒng)唯一標(biāo)識(PROCID)以區(qū)分各系統(tǒng)。目的是在異構(gòu)關(guān)系數(shù)據(jù)庫之間建立元模型統(tǒng)一數(shù)據(jù)的語義。

2.2.6 SQL Generator module(SQL語句生成模塊):

根據(jù)數(shù)據(jù)庫適配器DBAdapter和Fields Map,將消息轉(zhuǎn)換成操作數(shù)據(jù)庫的SQL語句,減少接口API的復(fù)雜度以及對舊數(shù)據(jù)庫系統(tǒng)具有良好的兼容性。

2.3 消息定義

在UDE通信協(xié)議中,消息(Message)是數(shù)據(jù)交換的基本單位,通過消息傳遞的方式實現(xiàn)信息交換非常類似于網(wǎng)絡(luò)的消息包傳遞方式。信息由以下幾部分組成:

(1)信息頭(Message Header):包含包長度和信息類型(Message type)。包長度用于判斷消息是否接收完畢,在生成消息時自動添加。每種信息類型用于定義信息目的和用途,如REQ表示請求,ANS表示返回信息,ACK表示消息應(yīng)答等。

(2)信息體(Message Body):是消息的主要載負(fù),即關(guān)系模式定義,包含操作類型、字段類型、數(shù)據(jù)狀態(tài)、數(shù)據(jù)等,使開發(fā)人員更為方便的定義與實現(xiàn)查詢工作,例如查詢分頁功能的自動處理機制,查尋條件的逃逸處理機制,查尋條件的復(fù)合匹配機制等。定義如圖3。

圖3 消息體定義

詳細(xì)XML定義示例如下:

operType=[add,updaate,delete,que ry],filteLevel表示該字段是否為過濾字段以及級別,如為0則表示為普通數(shù)據(jù),不為條件字段,級別相同且不為0的表示在形成條件語句時在一個括號內(nèi)。LogicOper為邏輯操作符(and或or),最后一個則忽略。Join描述多表間的連接關(guān)系。rowsPerPage和curPage實現(xiàn)分頁處理。

3 系統(tǒng)應(yīng)用

本文建立的基于消息的通用數(shù)據(jù)交換模型為應(yīng)用系統(tǒng)間數(shù)據(jù)交換提供了理論依據(jù)。據(jù)此,某公司設(shè)計開發(fā)了一套醫(yī)保經(jīng)辦機構(gòu)與參保單位、定點醫(yī)療機構(gòu)、定點藥店、財稅部門、銀行、商業(yè)保險公司、學(xué)校、社區(qū)等的數(shù)據(jù)交換平臺,實現(xiàn)了與各部門的互聯(lián)。下面僅就銀行代收費系統(tǒng)利用UDE數(shù)據(jù)交換模型的實現(xiàn)加以簡單介紹。

1)消息傳輸模塊:主要實現(xiàn)消息的發(fā)送和接收,采用客戶機/服務(wù)器模式,采用TCP/IP協(xié)議進行通信,利用Socket編程實現(xiàn)網(wǎng)絡(luò)通信。

在客戶端通過構(gòu)造一個Socket類來建立與服務(wù)器的數(shù)據(jù)流連接,以服務(wù)器監(jiān)聽套接字的IP地址和端口號為參數(shù),連接套接字建立好后,建立套接字的輸入、輸出流,然后分別用read()和write()函數(shù)從套接字輸入和輸出流中進行讀、寫數(shù)據(jù),進行和服務(wù)器端的雙向通信。

在服務(wù)器端構(gòu)造一個ServerSocket類,然后利用accept()方法監(jiān)聽服務(wù)器的端口是否有客戶端請求連接,如果有請求并連接成功,則創(chuàng)建套接字的輸入、輸出流,同客戶端進行通信。

2)消息構(gòu)造、解析模塊:實現(xiàn)消息的解析和消息命令碼的執(zhí)行。

由于該系統(tǒng)功能相對簡單、交換內(nèi)容較為固定,將請求消息封裝成幾個操作碼,如identity(getFee(提取該參保人員的應(yīng)繳費信息)、feeOK(繳費確認(rèn))、feeReturn(取消回退)。其它類型消息按照模型格式設(shè)定。

3)數(shù)據(jù)庫接口:主要實現(xiàn)對數(shù)據(jù)庫的查詢以及更新功能,通過嵌入式的SQL語句實現(xiàn)。

以下是系統(tǒng)部分關(guān)鍵Delphi示例代碼:

該系統(tǒng)通過實現(xiàn)UDE模型,使交換雙方的對接變得非常簡單,交換系統(tǒng)不會過多地受技術(shù)環(huán)境的限制,如操作系統(tǒng)、應(yīng)用服務(wù)器、組件支持環(huán)境等,能避免動態(tài)鏈接庫的泛濫,較好的保持系統(tǒng)的干凈程度。

4 結(jié)束語

本模型將數(shù)據(jù)交換的實質(zhì)功能——數(shù)據(jù)提取和更新,通過消息包的形式傳遞服務(wù)請求,最終翻譯成直接操作數(shù)據(jù)庫的SQL命令,來屏蔽交換雙方系統(tǒng)技術(shù)環(huán)境的差異,達(dá)到系統(tǒng)間對接容易、簡單的目的。通過數(shù)據(jù)元對照和數(shù)據(jù)庫適配器功能,屏蔽數(shù)據(jù)源異構(gòu)性,實現(xiàn)數(shù)據(jù)表字段語義的一致性處理,達(dá)到系統(tǒng)通用性的效果。當(dāng)雙方需求有變化時,只需要更新雙方的數(shù)據(jù)元對照信息即可,不會涉及再開發(fā)問題,僅僅是雙方授權(quán)的交換內(nèi)容的改變。

該模型能較好的解決應(yīng)用系統(tǒng)間數(shù)據(jù)交換的問題,為在實際應(yīng)用中達(dá)到較好的效果,還要在細(xì)節(jié)問題上多考慮,如數(shù)據(jù)壓縮減少網(wǎng)絡(luò)傳輸量,PKI機制實現(xiàn)身份認(rèn)證,關(guān)系模式定義隨著與之交換的系統(tǒng)的增多而增多問題等。

[1]李冬睿,李梅等.一種電子政務(wù)數(shù)據(jù)交換模型的設(shè)計[J].微計算機信息,2010,2-3:154-155

[2]作者不詳. PowerDX創(chuàng)智數(shù)據(jù)交換平臺[EB/OL]. [2009-02-18].http://www.powerise.cn/GSCP/DZZW/2009-02/20090218031726Info_326f80ccb 516400a8c05cf174.html

[3]梅立軍,付小龍,劉啟新等. 基于 SOA 的數(shù)據(jù)交換平臺研究與實現(xiàn)[J]. 計算機工程與設(shè)計,2008, 27(19):69 -71.

[4]崔學(xué)榮,李 娟. 一個基于Email的數(shù)據(jù)交換模型[J/OL][2010-01-29].電子技術(shù)應(yīng)用http://www.chinaaet.com/article/index.aspx?id=20203.

猜你喜歡
消息數(shù)據(jù)庫模塊
28通道收發(fā)處理模塊設(shè)計
“選修3—3”模塊的復(fù)習(xí)備考
一張圖看5G消息
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
消息
消息
消息