两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于養(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù)庫中間件訪問技術的制作方法

文檔序號:6583310閱讀:203來源:國知局
專利名稱:基于養(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù)庫中間件訪問技術的制作方法
技術領域
本發(fā)明涉及的是一種數(shù)據(jù)庫技術領域,具體是基于養(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù) 庫中間件訪問技術。
背景技術
隨著Web技術的不斷發(fā)展,信息共享和數(shù)據(jù)交換的范圍不斷擴大,傳統(tǒng)的關系數(shù) 據(jù)庫也面臨著挑戰(zhàn),各種不同的數(shù)據(jù)庫管理系統(tǒng)之間的異構性及其所依賴操作系統(tǒng)的異構 性,嚴重限制了信息共享和數(shù)據(jù)交換范圍,與此同時,人們對信息的需求越來越廣泛,這種 需求已不僅局限于一個部門內(nèi)數(shù)據(jù)庫的相互訪問,還涉及到部門之間的數(shù)據(jù)共享。因此,當 今用戶所面對的是一個多廠商異種數(shù)據(jù)庫、異種操作系統(tǒng)和異種網(wǎng)絡的環(huán)境,異種數(shù)據(jù)庫 間互聯(lián)成為人們越來越迫切的需求急切的需要一種可以訪問各類數(shù)據(jù)庫的技術出現(xiàn)。目前,對異構數(shù)據(jù)庫的訪問的研究分為兩個層面(1)對數(shù)據(jù)源的集成,即對外提供一個統(tǒng)一的訪問機制,但不能跨數(shù)據(jù)庫訪問;(2)對不同的數(shù)據(jù)源之間數(shù)據(jù)的集成,可以跨數(shù)據(jù)庫訪問,針對第二個層面提出了 兩種解決方案,一種是采用數(shù)據(jù)庫或者中間件等技術解決;另一種是采用XML DTD以及RDF 等技術作為異構數(shù)據(jù)源數(shù)據(jù)模式來解決。

發(fā)明內(nèi)容
由于養(yǎng)老保險預警系統(tǒng)的數(shù)據(jù)不僅僅是需要訪問本地DB2數(shù)據(jù)庫,在以后還有可 能要訪問地稅接口的Oracle數(shù)據(jù)庫和其他類型的數(shù)據(jù)庫,所以,需要采用非完全的異構數(shù) 據(jù)庫中間件訪問技術。本發(fā)明的創(chuàng)新點是系統(tǒng)與數(shù)據(jù)庫相關操作全部由后臺業(yè)務程序提交給數(shù)據(jù)庫中 間件,在數(shù)據(jù)庫中間件中再根據(jù)所需要連接的數(shù)據(jù)庫申請不同的數(shù)據(jù)庫連接池,系統(tǒng)利用 數(shù)據(jù)庫連接池連接相應數(shù)據(jù)庫,并將得到的連接交給數(shù)據(jù)接口,再根據(jù)不同數(shù)據(jù)庫結構特 點執(zhí)行相應的SQL語句或操作并獲取返回值?;陴B(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù)庫中間件訪問技術體系結構如

圖1所示,由系 統(tǒng)配置模塊(S2)、XML解釋器模塊(S;3)、SQL執(zhí)行模塊(S4)、客戶端連接管理模塊(S5)、數(shù) 據(jù)庫連接管理模塊(S6)這五大模塊為具體的組成部分。(一 )系統(tǒng)配置模塊該模塊的功能是設置數(shù)據(jù)庫中間件的參數(shù)信息。該模塊的圖形界面由Swing組件 實現(xiàn)。用戶在“數(shù)據(jù)庫信息配置”界面中錄入各種數(shù)據(jù)庫的類型、URL地址(包括數(shù)據(jù)庫名 及端口號)、數(shù)據(jù)庫賬戶及登錄密碼等信息;在“中間件信息配置”界面中,設定與客戶端的 最大連接數(shù)和與數(shù)據(jù)庫的最大連接數(shù)。該模塊根據(jù)這些用戶設定,生成配置信息,供其它模 塊使用。(二)XML解析模塊該模塊是負責對XML文檔進行解析。具體包括(1)接受客戶端發(fā)過來的符合XML規(guī)范的字節(jié)流,并把它轉換成Document對象;(2)解析請求;(3)把對相應數(shù)據(jù)庫的操作結 果映射到Document對象中,然后轉換成字節(jié)流發(fā)送到客戶端;(4)把Document對象轉換成 XML文件保存在磁盤中;(5)把保存在磁盤中的XML文件轉換成Document對象。(三)SQL的執(zhí)行模塊該模塊負責響應客戶端的請求。把客戶端的請求分成五類數(shù)據(jù)查詢(select)、 數(shù)據(jù)定義(create, drop, alter)、數(shù)據(jù)操參從(insert, update, delete)、數(shù)據(jù)控帝[J (grant, revoke)、存儲過程W]。該模塊在解析請求時,獲知目的數(shù)據(jù)庫和對此執(zhí)行何種操作,轉換 成相應的sql語句,通過數(shù)據(jù)庫連接池的相應Connection,來訪問數(shù)據(jù)庫,并把結果返回給 客戶端,完成此次請求。如果執(zhí)行錯誤,則返回錯誤代碼。具體實現(xiàn)的關鍵技術主要有全局數(shù)據(jù)庫命名、數(shù)據(jù)庫連接、數(shù)據(jù)庫查詢和處理、 關閉連接等。1)全局數(shù)據(jù)庫命名要在整個系統(tǒng)中實現(xiàn)異構分布式數(shù)據(jù)訪問,需要建立全局數(shù)據(jù)庫模式和全局數(shù)據(jù) 庫字典,按相應的原則給各個數(shù)據(jù)庫命名。2)數(shù)據(jù)庫連接前臺受理97數(shù)據(jù)庫的配置文件如下DB97 {driverClass = oracle, jdbc. driver. OracleDriverdbUrl = jdbc:oracle:thin:§192. 168. 1. 5:1521:db97dbUser = dbadbPass = 123456connect ionPoo ISize = 20statementPoolSize = 10idleTimeout = 1800shrinklnterval = 1800}上面driverClass是表示Oracle數(shù)據(jù)庫專用JDBC驅動程序。dbtol是表 示數(shù)據(jù)庫連接的相關信息,“jd-bc:0racle:thin”是服務器使用的協(xié)議和子協(xié)議, “192. 168. 1.5:8521”是服務器的IP地址和端口,db97是數(shù)據(jù)庫的SID,dWser是表示用戶 名,dbPass是表示口令。同樣可以配置計費系統(tǒng)的數(shù)據(jù)庫信息FEE10。3)數(shù)據(jù)庫查詢和處理假設要查詢某客戶的客戶資料和相關費用,則先訪問前臺受理97數(shù)據(jù)庫DB97和 計費數(shù)據(jù)庫FEE10,將結果合并后映射成XML文檔,然后發(fā)給客戶端。ConnectionPool pool97 = ConnectionManager. get-ConnectionPool("DB97");Statement stmt97 = pool97. createStatement();ResultSet set97 = stmt97. executeQuery (sql-Text) ;//sqlText 為相應的 SQL 語句這樣就可得到前臺受理97數(shù)據(jù)庫中客戶資料的結果集,同樣,可以得到計費數(shù)據(jù) 庫中客戶相關費用的結果集。然后整合這兩個結果集,最后轉化成XML文檔,從而實現(xiàn)異質 數(shù)據(jù)庫的透明訪問。
4)連接關閉當使用完數(shù)據(jù)庫后應釋放資源。下面源代碼釋放Statement對象和 ConnectoinPool占用的資源。stmt97. closeO ;pool97. close ();(四)客戶端的連接管理模塊該模塊的功能是管理客戶端的連接。把客戶端的連接存放在一隊列中,當連接的 個數(shù)超過設定的數(shù)目時,則返回“中間件忙”,讓客戶端等待。(五)數(shù)據(jù)庫的連接管理模塊該模塊的功能是分配和釋放數(shù)據(jù)庫的連接。具體的分配、釋放策略如下當客戶請求數(shù)據(jù)庫連接時,首先看連接池中是否有空閑連接,這里的空閑是指目 前沒有分配出去的連接。如果存在空閑連接則把連接分配給客戶,并做相應處理,主要的處 理策略就是標記該連接為已分配。若連接池中沒有空閑連接,就在已經(jīng)分配出去的連接中 尋找一個合適的連接給客戶,此時該連接在多個客戶間復用。當客戶釋放數(shù)據(jù)庫連接時,可 以根據(jù)該連接是否被復用進行不同的處理。如果連接沒有使用者,就放入到連接池中,而不 是被關閉??梢钥闯稣沁@套策略保證了數(shù)據(jù)庫連接的有效復用。數(shù)據(jù)庫連接池中到底要 放置多少個連接,連接耗盡后該如何處理呢?這是一個配置策略。一般的配置策略是開始 時,根據(jù)具體的應用需求給出一個初始的連接池中連接的數(shù)目以及一個連接池可以擴張到 的最大連接數(shù)目。本發(fā)明就是按照這種策略實現(xiàn)的。四、附圖及附圖的簡單說明圖1異構數(shù)據(jù)庫中間件體系結構圖;圖2系統(tǒng)架構圖;圖中主要符號說明Sl通用數(shù)據(jù)接口;S2系統(tǒng)配置模塊;S3XML解釋器模塊;S4SQL執(zhí)行模塊;S5客戶端連接管理子模塊;S6數(shù)據(jù)庫連接管理子模塊;
具體實施例方式本發(fā)明不受以下實施實例限制。實施實例如圖2所示,本發(fā)明的數(shù)據(jù)庫中間件與養(yǎng)老保險預警系統(tǒng)采用Socket進行通信, 并用XML來封裝數(shù)據(jù),通過JDBC來訪問數(shù)據(jù)庫,用數(shù)據(jù)庫連接池來管理數(shù)據(jù)庫的連接。為 了使數(shù)據(jù)庫具有跨平臺的能力,選用Java作為開發(fā)語言。因為Java提供了 JDBC公用數(shù)據(jù) 庫API,JDBC API提供封裝具體功能的Java類和接口,并通過加載相應的數(shù)據(jù)庫驅動程序, 將Java語言的平臺無關性擴展到數(shù)據(jù)庫。此外,為屏蔽不同數(shù)據(jù)庫系統(tǒng)的差異,在數(shù)據(jù)交 換的過程中需要存放信息的中介。由于需要存放的數(shù)據(jù)往往是龐大而復雜的,并且要保證數(shù)據(jù)結構無損,因此采用可擴展標記語言XML來封裝數(shù)據(jù)。XML不僅提供數(shù)據(jù)本身的信息, 而且側重于對數(shù)據(jù)結構的描述,且XML具有平臺無關性及可擴展性等特點,使XML成為異構 平臺間數(shù)據(jù)交換的理想中介。通過JDOM對XML文檔進行解析。具體實施步驟如下(1)與客戶端建立連接監(jiān)聽客戶端的請求,建立Socket連接。0)SQL的執(zhí)行通過JDOM對客戶端發(fā)過來的請求進行解析,把請求翻譯成對 相應的數(shù)據(jù)庫的操作,采用JDBC API與數(shù)據(jù)庫建立連接,通過調(diào)用Cormec-tion對象的 DatabaseMetadata接口提供的一系列方法,將對數(shù)據(jù)庫的操作結果封裝到XML文檔中。(3)操作結果的返回把操作的結果的XML文檔發(fā)送給客戶端,完成響應的請求。
權利要求
1.基于養(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù)庫中間件訪問技術,其特征在于,包括系統(tǒng)配 置子模塊,設置數(shù)據(jù)庫中間件的參數(shù)信息。XML解析子模塊,負責對XML文檔進行解析。 SQL的執(zhí)行子模塊,負責響應客戶端的請求。 客戶端的連接管理子模塊,管理客戶端的連接。 數(shù)據(jù)庫的連接管理子模塊,分配和釋放數(shù)據(jù)庫的連接。
2.如權利要求1所述,系統(tǒng)配置子模塊根據(jù)用戶設定,生成配置信息,供其它模塊使用。
3.如權利要求1所述,XML解析子模塊具體包括(1)接受客戶端發(fā)過來的符合XML規(guī) 范的字節(jié)流,并把它轉換成Document對象;(2)解析請求;(3)把對相應數(shù)據(jù)庫的操作結果 映射到Document對象中,然后轉換成字節(jié)流發(fā)送到客戶端;(4)把Document對象轉換成 XML文件保存在磁盤中;(5)把保存在磁盤中的XML文件轉換成Document對象。
4.如權利要求1所述,SQL的執(zhí)行子模塊具體實現(xiàn)的關鍵技術主要有全局數(shù)據(jù)庫命 名、數(shù)據(jù)庫連接、數(shù)據(jù)庫查詢和處理、關閉連接等。
5.如權利要求1所述,客戶端的連接管理子模塊把客戶端的連接存放在一隊列中,當 連接的個數(shù)超過設定的數(shù)目時,則返回“中間件忙”,讓客戶端等待。
6.如權利要求1所述,數(shù)據(jù)庫的連接管理子模塊功能是分配和釋放數(shù)據(jù)庫的連接。
全文摘要
本發(fā)明是一種基于養(yǎng)老保險預警系統(tǒng)的異構數(shù)據(jù)庫中間件訪問技術。其中系統(tǒng)配置子模塊、XML解釋器子模塊、SQL執(zhí)行子模塊、客戶端連接管理子模塊、數(shù)據(jù)庫連接管理子模塊這五大模塊為具體的組成部分。本技術系統(tǒng)與數(shù)據(jù)庫相關操作全部由后臺業(yè)務程序提交給數(shù)據(jù)庫中間件,在數(shù)據(jù)庫中間件中再根據(jù)所需要連接的數(shù)據(jù)庫申請不同的數(shù)據(jù)庫連接池,系統(tǒng)利用數(shù)據(jù)庫連接池連接相應數(shù)據(jù)庫,并將得到的連接交給數(shù)據(jù)接口,再根據(jù)不同數(shù)據(jù)庫結構特點執(zhí)行相應的SQL語句或操作并獲取返回值。本發(fā)明實現(xiàn)的異構數(shù)據(jù)庫的中間件訪問技術通過在養(yǎng)老預警系統(tǒng)里的應用,收到了良好的應用效果,節(jié)約了開發(fā)成本,縮短了開發(fā)周期,產(chǎn)生了良好的經(jīng)濟效益,有著廣泛的應用前景。
文檔編號G06Q40/00GK102110099SQ20091021426
公開日2011年6月29日 申請日期2009年12月28日 優(yōu)先權日2009年12月28日
發(fā)明者張丹松, 楊軍, 楊濤, 王柱, 鄧金英, 鄭力源 申請人:五邑大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武定县| 泗洪县| 鲁山县| 大余县| 龙胜| 广丰县| 蓬莱市| 巨鹿县| 天门市| 开远市| 辛集市| 油尖旺区| 沾益县| 龙游县| 桑日县| 普兰店市| 仁怀市| 札达县| 扶余县| 鄂伦春自治旗| 菏泽市| 长葛市| 张家川| 六盘水市| 花莲县| 太仓市| 藁城市| 中超| 临颍县| 株洲市| 崇仁县| 盐池县| 集安市| 浦县| 滨州市| 汾阳市| 思南县| 当涂县| 彝良县| 新源县| 嘉善县|