999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PACS中異構數據庫中間件的研究與實現

2011-01-29 06:25:30
制造業自動化 2011年12期
關鍵詞:數據庫服務系統

李 燕

LI Yan

(桂林航天工業高等專科學校,桂林 541004)

0 引言

醫院數字化是目前國家衛生信息化發展的重點之一,也是國內醫院現代化建設新興的熱點。在數字化醫院中,PACS是比較重要的系統之一。但是,PACS的數據來源于醫療中的各個環節和醫院信息系統的各個子系統,而許多子系統是由不同時期不同廠家開發的,這樣存在異構數據庫的數據共享問題,為了節約成本,充分利用現有資源,不可能全部將現有系統更換。為此,需要采用中間件技術來解決PACS異構數據庫的數據共享問題[1-3]。

本文在現有異構數據庫領域研究成果的基礎上,針對PACS中異構數據庫數據共享問題,采用XM L的異構數據庫中間件技術實現異構數據庫之間信息交換。把來自醫院不同部門的影像數據轉化到中間件這個統一的框架中,進行交互、轉化和加工,從而解決異構數據源的集成問題,進而更有效地利用醫院各種信息資源,為PACS系統中異構數據庫在更大范圍內實現了數據的共享。這一方法具有可擴展性好、跨平臺特性、執行效率較高的優點,具有很高的實用價值。

1 PACS數據庫集成模型設計

本方案采用XML作為異構數據源的全局模式,通過XML的標記來定義PACS的數據對象,具有平臺無關性,適合在不同平臺下進行影像數據交換,而且XML具有數據和表現樣式相分離的特點,同一份XML文檔可和不同的樣式文件相結合,得到不同的數據視圖,可以滿足不同的臨床醫療需求。Web Services完全是基于XML、SOAP、HTTP、WSDL、UDDI等獨立于平臺、獨立于軟件開發商的標準。是創建可互操作的、分布式應用程序的新平臺。它能跨越防火墻的通信,而不用像傳統的分布式組件技術那樣,要開放特定的端口,才允許訪問內部資源,給相關單位帶來安全上的漏洞。web Services是建立在發布服務的應用程序和使用服務的應用程序之間的松散耦合之上的,因而具有很好的靈活性、可擴展性、且其實施既便宜又快速[4-7]。方案的總體框架分為3個部分,如圖1所示。

圖1 PACS數據庫集成模型

1.1 數據層

數據層中,每個數據源由一個web服務包裝器來進行封裝,實現對各局部數據源的代理。將生成的web服務注冊到服務注冊中心,服務請求者(中間層的服務引用)調用服務后,Web服務根據請求執行相應的服務,服務完成后把結果打包為SOAP傳送給中間件層。

1.2 中間件層

該層是PACS數據集成的業務邏輯核心,主要包括結果生成、服務結果、服務分解、服務引用,服務管理和注冊服務。服務引用的功能是:根據服務注冊中心提供的WSDL文件生成本地代理,并與相應的Web Service綁定,通過調用服務引用公共的函數就可以獲得Web服務提供的有關功能,它屏蔽了操作系統、網絡協議、數據格式、開發工具、數據位置等差異,同時由于請求者和調用者之間數據傳輸采用的是SOAP,因此能夠穿透防火墻,這體現了Web服務的一個重要優勢。中間件首先要初始化,根據服務管理的界面生成虛擬數據庫,即元數據。當用戶提交請求后,由服務分解模塊根據元數據中的映射關系將用戶的請求分解為相應的請求,并轉給對應的服務引用去申請Web服務。由Web Service包裝器將執行完后的結果打包交回給中間件層,由服務結果模塊進行相應的處理,再由結果生成模塊根據用戶請求傳給應用界面顯示給用戶。

1.3 應用層

這部分負責與用戶實現交互。使用者調用中間件層返回的生成結果,應用層根據需求的不同,以不同的格式包裝后顯示給應用層。使用者不需要了解數據所在地、數據存儲格式以及在數據所在系統等細節,用戶根據工作提出集成請求,經過中間件層和數據層的處理后就可以得到想要的結果。

2 中間件中關鍵模塊的設計與實現

2.1 數據初始化

通常異構數據庫的基礎數據會存在著相同意義不同字段名稱的情況,這樣為訪問數據庫造成了很大的麻煩,所以需要在系統開始運行階段為系統中的虛擬數據庫創建一個能體現他們之間相同之處的表格。這個表格提取異構數據庫表中所有具有相同意義的基礎字段,然后由中間件管理員創建一個元數據字段,每個局部數據庫管理員登錄后,從元數據中選取自已數據庫中具有相同意義的表,并且將自己表中與元數據字段具有相同意義的字段做映射,從而實現了系統的初始化部分,為中間件層的服務分解階段提供了基礎。

2.2 服務分解模塊

本模塊主要負責接收從用戶客戶端發送過來的標準SQL,根據元數據中全局數據與局部數據的映射關系,將全局查詢語句的字段名映射為局部數據的字段名,同時獲得局部數據庫在UDDI中的注冊信息,這樣就將全局查詢分解成針對不同數據庫的子查詢。查詢分解模塊首先得到SQL語句中的元數據表表名,接著查詢系統初始化階段生成的以元數據表表名命名的XML文件,從中查詢到與業務處理系統處理的業務類型相同的局部數據庫表,然后將SQL語句中的元數據表字段對應為相應的局部數據表字段,將元數據表的XML文件中每個局部表合并成一個SQL語句,最后把它們放入到服務引用模塊,由服務引用模塊根據其所提供的服務調用相應的遠端數據層的Web Service包裝器。

利用Visual Studio.NET 2005開發平臺與C#程序語言來開發此異構中間件,同時用DOM來對XML進行解析。以下是系統實現中解析XML的部分代碼。

2.3 服務引用模塊

該模塊接收從服務分解模塊傳送過來的局部數據源,依據Web Service包裝器在UDDI中的注冊服務信息,從UDDI服務中心查找到所對應服務的WSDL文件,生成本地代理,這樣就可以調用局部數據源所提供的Web服務。在本方案中,采用在運行時生成代理的方法來添加Web引用。首先將UDDI.SDK類添加到項目中,利用Inquire的Url屬性獲得UDDI的服務地址,用FindTModel方法查詢全部合乎條件的tModel對象,用getTModelDetail方法取得tModel對象的詳細信息,即TModel類。TModel類包括了tModel的主要屬性,如 Category、Identifier、Operator、OverviewDoc等等。

下面是系統服務引用模塊中根據tModel參數,尋找Web服務包裝器在UDDI中注冊的WSDL文件地址的部分代碼:

調用Find_tModel函數之后,能得到局部數據源包裝器的WSDL文件的地址,通過該地址調用InvokeWebService函數動態生成本地客戶端代理,然后就可以象調用本地方法一樣調用遠程Web服務包裝器的方法。

2.4 服務結果模塊

該模塊的主要功能是取得各異構數據源包裝器執行完后的服務結果。本模塊中用Dataset對象接收數據。DataSet類是在ADO.NET中實現的,.NET中的擴展支持可以自動創建和填充DataSet對象和類型化DataSet對象。DataSet能夠將自身序列轉化為XML,并能在序列化過程中表現內容的架構。因此使用DataSet對象可簡化應用程序的開發。DataSet對象實際上是所查詢數據集的XML的內存表示。使用DataSet的WriteXml方法可將其數據集保存為XML文檔。

實現本系統的中間件時,采取讀取客戶端IP地址和計算所查詢的異構數據庫個數來命名從異構數據源返回的XML文檔。該部分實現的關鍵代碼如下:

2.5 服務生成模塊

該模塊的主要功能是:將查詢各異構數據庫所返回的結果合為同一筆記錄,按照數據庫中間件系統與業務處理系統的接口進行封裝,最后返回給應用層。本系統仍然通過DOM技術對XML文件進行解析和合并。首先加載從服務結果中生成的XML文件,用DocumentElement方法得到需要合并的多個XML文件的根元素,然后根據服務結果中的XML文檔命名法,取計算為1的文檔為準,用ImportNode方法將其它XML文件中的數據合并到該文檔,最后根據元數據表與局部數據的映射文件,利用ModifyNodeName函數修改該文檔的節點,使其符合服務請求時查詢結果要求。實現該模塊的部分代碼如下:AppendChild (docl.ImportNode(elem, true));

2.6 UDDI注冊服務中心

該模塊的主要功能是記錄能提供服務的各種相關信息,用來供服務引用模塊根據服務注冊中心的WSDL文件生成服務引用信息。在構建Web服務應用程序時,可以采用設計時和運行時兩種編程模式。

設計時訪問是在編制面向服務的應用程序時,通過注冊中心的瀏覽頁面找到所需要的web服務,并在應用程序中調用它。運行時訪問是通過在應用程序中編寫代碼查找在注冊中心里注冊的Web服務,并且對它進行調用。無論使用哪一種方法,都需要先將Web服務的WSDL文件注冊為tModel,利用tModel來尋找所需要的服務信息。本系統中利用Windows Server 2003所提供的UDDI服務功能來建立私有的UDDI注冊中心。

3 實驗結果

首先利用Microsoft的web用戶界面進行UDDI注冊,然后以數據庫中間件管理員的身份登錄中間件注冊全局信息,接著以局部數據庫管理員登錄中間件,注冊本地數據庫信息與元數據表的映射信息。系統運行過程主要是用戶啟動瀏覽器,通過數據庫中間件對異構數據庫進行訪問,并在瀏覽器端看到查詢的結果。如圖2所示是輸入住院號和姓名后所得到的查詢結果。

圖2 病人病歷查詢結果顯示圖

4 結束語

由于PACS中異構數據源之間的差異,使得異構數據源集成了一個很難解決的問題,文章設計并實現了一種基于XML和WEB Services異構數據庫中間件技術的集成方案。把來自不同部門的影像數據轉化到中間件這個統一的框架中,進行交互、轉化和加工,從而解決異構數據源的集成問題,進而更有效地利用醫院各種信息資源,為PACS系統中異構數據庫在更大范圍內實現了數據的共享。最后本文以一個實驗系統實現了該數據庫中間件的主要功能。

[1]趙芳云.基于XML的異構數據源查詢系統設計[J].計算機應用與軟件, 2009, 26(8)∶185-187.

[2]郝少華.基于XML技術的異構關系數據庫集成模型[J].計算機工程與設計, 2010, 31(24)∶ 5285-5288.

[3]李黎, 楊春.基于RDBMS的xml數據管理技術研究[J].計算機工程與設計, 2007, 28(24)∶ 6008-6010.

[4]俞國紅.基于XML的異構數據庫中間件的設計與實現[J].中國現代教育裝備, 2010, 35(19)∶ 63-65.

[5]孫友倉, 宋彩利, 李潤洲.一種基于Web Service的異構數據集成中間件[J].西安科技大學學報, 2007, 27(2)∶ 284-287.

[6]李欣, 李園.基于中間件技術的后方綜合倉庫管理信息系統集成研究[J].軍事交通學院學報, 2009, 11(6), 53-56.

[7]Popa L, Velegrakis Y, Miller R J, et al.Translating web data[J].VLDB Journal, 2002, 11(3)∶ 233-246.

猜你喜歡
數據庫服務系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
主站蜘蛛池模板: 在线精品视频成人网| 亚洲中文无码av永久伊人| 国产成人凹凸视频在线| 中文字幕无线码一区| 亚洲中文字幕手机在线第一页| 国产99视频精品免费观看9e| 91成人在线免费观看| 四虎亚洲精品| 日韩成人午夜| 日韩精品无码免费专网站| 精品久久久久成人码免费动漫| 亚洲无码电影| 日韩专区欧美| 国产乱人伦AV在线A| 一本久道热中字伊人| 国产精品久久久久久久久久久久| 伊人中文网| 色亚洲激情综合精品无码视频 | 日韩二区三区| 国产成人久视频免费 | 99久久婷婷国产综合精| 91蜜芽尤物福利在线观看| 国产日韩丝袜一二三区| 亚洲一级毛片在线观播放| 国产在线第二页| 久青草免费在线视频| 成人午夜网址| 日韩久草视频| 97视频免费在线观看| 色成人亚洲| 国产呦视频免费视频在线观看| 国产成人福利在线| 综合色区亚洲熟妇在线| 欧美特黄一级大黄录像| 成人在线天堂| 久久免费精品琪琪| 国产精品流白浆在线观看| 国产精品污污在线观看网站| 国产黄在线免费观看| 日韩黄色大片免费看| 国产成人在线无码免费视频| 青青草国产一区二区三区| 在线一级毛片| 狠狠色综合久久狠狠色综合| 日韩高清在线观看不卡一区二区 | 伊人久久久大香线蕉综合直播| 国产日韩丝袜一二三区| 亚洲黄网在线| 99久久婷婷国产综合精| 在线99视频| 97超级碰碰碰碰精品| 亚洲成年人片| 亚洲精品无码在线播放网站| 国产日本一线在线观看免费| 亚洲h视频在线| 久久6免费视频| 少妇露出福利视频| 极品av一区二区| 久久中文字幕2021精品| 日本尹人综合香蕉在线观看| 中文字幕亚洲精品2页| 99这里只有精品免费视频| 国产精品理论片| 国产美女一级毛片| 97超碰精品成人国产| 精品撒尿视频一区二区三区| 国产一区二区三区免费观看| 三上悠亚精品二区在线观看| 日韩a级毛片| 中文字幕在线永久在线视频2020| 国产视频a| 国产91蝌蚪窝| 免费看的一级毛片| 国产精品久久久久鬼色| 国产精品网址你懂的| 九九精品在线观看| 欧美日韩高清在线| 免费无遮挡AV| 亚洲成人在线免费| 97视频免费看| 久久久久国色AV免费观看性色| 这里只有精品国产|