摘要:針對兩層C/S模式應用中的一些弊端進行了研究,介紹了IBM中間件CICS,對醫(yī)保實時交易系統(tǒng)進行了分析,劃分出醫(yī)保實時交易系統(tǒng)的功能和實現(xiàn)環(huán)境,在原來的C/S兩層基礎(chǔ)上提出使用基于IBM中間件CICS的服務層、應用層、客戶端層的三層結(jié)構(gòu)來實現(xiàn)醫(yī)保實時交易系統(tǒng)的設(shè)計,使系統(tǒng)能夠支持大量并發(fā)用戶,并能處理海量數(shù)據(jù),對信息的訪問能更安全,能應付大量小事務處理請求,支持復雜的網(wǎng)絡(luò)。
關(guān)鍵詞:醫(yī)療保險 實時交易系統(tǒng) 中間件 三層結(jié)構(gòu)
0 引言
隨著我國醫(yī)療保障事業(yè)的發(fā)展,越來越多的醫(yī)保經(jīng)辦機構(gòu)需要依靠信息系統(tǒng)來支撐它們的日常業(yè)務辦理,其中最為關(guān)鍵的是醫(yī)保實時交易系統(tǒng)。這是一種聯(lián)機事務處理(OLTP)系統(tǒng),這類系統(tǒng)常見的還有銀行柜臺系統(tǒng)、證券交易系統(tǒng)等。OLTP系統(tǒng)具有并發(fā)用戶多、交易時間短、傳輸數(shù)據(jù)少、輸入?yún)?shù)固定、后臺數(shù)據(jù)庫容量大的特點。
早期的OLTP系統(tǒng)一般是基于兩層的C/S模式[1]。在這種模式中,客戶端負責用戶界面和應用邏輯的處理。當需要訪問后臺數(shù)據(jù)庫時,客戶端發(fā)送SQL語句給后臺數(shù)據(jù)庫服務器,由數(shù)據(jù)庫對SQL語句進行解析和執(zhí)行,最后把處理結(jié)果返回給客戶端。對兩層C/S模式的進一步改進是把數(shù)據(jù)庫訪問中密集的應用邏輯剝離出來,利用數(shù)據(jù)庫的存儲過程功能,開發(fā)獨立的存儲過程包模塊供客戶端訪問。但這也會帶來弊端:數(shù)據(jù)庫服務器需要為每個客戶端的請求分配相應的資源。由于數(shù)據(jù)庫的連接數(shù)有限制,所以能同時“享受服務”的客戶端數(shù)量是有限的。此外,網(wǎng)絡(luò)上大量傳輸?shù)氖荢QL語句和數(shù)據(jù)控制信息(有很多數(shù)據(jù)是不必要的),容易造成網(wǎng)絡(luò)堵塞。同時客戶端程序由于集中了大量應用邏輯代碼而變得臃腫不堪,維護成本很高。
在解決這些問題的過程中,OLTP系統(tǒng)的構(gòu)架不斷從主機、兩層C/S方式逐漸演化到現(xiàn)在的“三層”或“多層”模式[1]。三層C/S結(jié)構(gòu)是將應用架構(gòu)分成客戶端(表示層)、業(yè)務邏輯層(功能層)和數(shù)據(jù)庫服務層(數(shù)據(jù)層)三個部分,其主要優(yōu)點在于可以將數(shù)據(jù)處理從客戶端轉(zhuǎn)移到業(yè)務邏輯層和數(shù)據(jù)庫服務層上。這樣,客戶端與業(yè)務邏輯層之間可能存在著多達數(shù)百個的連接,而業(yè)務邏輯層與數(shù)據(jù)庫服務器之間的連接卻只有少數(shù)幾個,從而可以減少通信線路上傳遞的數(shù)據(jù)量。這種三層C/S模式體系結(jié)構(gòu)在實際應用中逐漸發(fā)展出目前主流的“應用服務器”(Application Server) ,出現(xiàn)了象CICS這樣的中間件產(chǎn)品,在應用服務器上構(gòu)建應用系統(tǒng)也變得更為簡單了。
1 CICS簡介
CICS的全稱是Customer Information Control System ,即客戶信息控制系統(tǒng)。CICS作為一種交易中間件,為IBM和非IBM平臺上的應用提供聯(lián)機事務處理和事務管理的產(chǎn)品,其功能是為商業(yè)應用提供一個事務處理環(huán)境[2]。CICS可為應用程序的開發(fā)、通信、顯示、數(shù)據(jù)管理、安全性和內(nèi)部通信等提供多項服務。其結(jié)構(gòu)設(shè)計也是面向事務處理的,它構(gòu)建的是一個三層結(jié)構(gòu)的應用系統(tǒng),有效地區(qū)分應用系統(tǒng)中的表述邏輯層、業(yè)務邏輯層和數(shù)據(jù)邏輯層,從而使應用系統(tǒng)結(jié)構(gòu)清晰,維護簡單易行。
CICS由客戶端發(fā)起交易請求,把需要調(diào)用的服務器程序名和數(shù)據(jù)通過通訊存儲區(qū)傳給服務器程序,CICS則在服務端喚起相應的服務程序,并在第一個可用的應用服務器進程的緩存中運行,最后把結(jié)果通過通訊存儲區(qū)返回到客戶端。當交易運行失敗時,無論數(shù)據(jù)分布在何地,CICS對數(shù)據(jù)的修改都會自動回滾,這就保證了數(shù)據(jù)的一致性[3]。
2 實時交易系統(tǒng)分析
在醫(yī)保實時交易系統(tǒng)中,由于醫(yī)保中心系統(tǒng)需要與醫(yī)院系統(tǒng)聯(lián)網(wǎng),實時處理醫(yī)院系統(tǒng)發(fā)送的數(shù)據(jù)處理請求,如參保人身份確認、門診住院交易業(yè)務、個人帳戶變動等,并進行藥品、項目的比例計算和醫(yī)保政策分攤計算,前端的海量交易信息需要實時處理,這極大的加重了數(shù)據(jù)庫服務器的負荷。在醫(yī)保系統(tǒng)中采用三層結(jié)構(gòu),由中間層應用服務器負責醫(yī)院系統(tǒng)的連接處理,將醫(yī)院系統(tǒng)的數(shù)據(jù)處理請求轉(zhuǎn)送中心數(shù)據(jù)庫,并將中心數(shù)據(jù)庫返回的數(shù)據(jù)集傳輸給前端,中心數(shù)據(jù)庫服務器只需處理與中間應用服務器間的連接,不需處理與醫(yī)院系統(tǒng)的連接,由此大幅減輕了中心數(shù)據(jù)庫的負擔,從而提升了整個中心系統(tǒng)的工作性能,解決了前端數(shù)據(jù)量較大、聯(lián)網(wǎng)醫(yī)院客戶端數(shù)量過多帶來的系統(tǒng)性能問題,使系統(tǒng)的穩(wěn)定、高效運行得到保障。由于醫(yī)保政策調(diào)整頻繁的特點,使得醫(yī)保系統(tǒng)執(zhí)行標準需要隨之調(diào)整。在醫(yī)保系統(tǒng)中采用三層結(jié)構(gòu),將全部醫(yī)保政策規(guī)則集中在應用服務器上進行處理,在醫(yī)保政策發(fā)生變動時只需調(diào)整應用服務器中相應的中間業(yè)務邏輯處理模塊即可完成醫(yī)保系統(tǒng)的調(diào)整,使得醫(yī)保系統(tǒng)的政策適應性極大增強,同時也大大加強了系統(tǒng)的可維護性和可擴展性。
3 系統(tǒng)的功能
醫(yī)保管理通過建設(shè)數(shù)據(jù)統(tǒng)一、以人為本、全過程動態(tài)管理的信息系統(tǒng),形成社會化、人性化和網(wǎng)絡(luò)化的醫(yī)保管理體系,構(gòu)筑每個參保人記錄一生、服務一生、管理一生和受益一生的醫(yī)保綜合業(yè)務平臺。從功能角度,各類系統(tǒng)功能圍繞中心數(shù)據(jù)庫形成星型結(jié)構(gòu),相互關(guān)聯(lián),實現(xiàn)參保征繳、待遇審核、基金結(jié)算等醫(yī)保業(yè)務,并實現(xiàn)對外接口,共同組成完整的醫(yī)保信息系統(tǒng)。系統(tǒng)主要功能包括:①綜合業(yè)務管理。包括參保管理、個賬管理、社保卡管理、就醫(yī)管理、基金監(jiān)督審核、財務結(jié)算等;②實時交易處理。對醫(yī)院提交的參保人就診醫(yī)療交易信息進行實時計算,執(zhí)行醫(yī)保政策,并完成與醫(yī)院系統(tǒng)的實時數(shù)據(jù)交換;③交易通信管理。醫(yī)保前置機完成醫(yī)院就診醫(yī)療業(yè)務交易數(shù)據(jù)上傳、費用目錄比對備案,以及社保卡信息的實時驗證;④簡易HIS系統(tǒng)。針對部分沒有系統(tǒng)的小型醫(yī)院提供基本的醫(yī)保費用結(jié)算和管理功能。
4 系統(tǒng)的體系結(jié)構(gòu)與開發(fā)環(huán)境
由于定點醫(yī)院與醫(yī)保中心之間采用廣域網(wǎng)連接,為確保門急診和住院業(yè)務的實時性,在醫(yī)療機構(gòu)端設(shè)置一臺前置服務器,醫(yī)院客戶端通過前置機的交易通信管理程序和CICS Client客戶端與中心端CICS應用服務器把參保人就醫(yī)費用數(shù)據(jù)實時上傳給中心系統(tǒng),在與醫(yī)保中心網(wǎng)絡(luò)中斷的情況下還可以通過社保卡內(nèi)記錄的人員待遇類別進行應急記賬。體系結(jié)構(gòu)見下圖:
在服務器端的軟件平臺是使用AIX操作系統(tǒng),Oracle數(shù)據(jù)庫。在客戶端則只要安裝交易通信管理程序和CICS Client客戶端軟件。
5 結(jié)束語
由于采用CICS中間件來實現(xiàn)醫(yī)保實時交易系統(tǒng),因此系統(tǒng)具有支持大量在線并發(fā)用戶,能處理海量數(shù)據(jù),對信息的訪問更安全,能夠應付大量小事務處理請求,支持復雜網(wǎng)絡(luò)等技術(shù)特點。經(jīng)過實際應用和測試,系統(tǒng)的主要優(yōu)點有:
①應用規(guī)范。系統(tǒng)設(shè)計符合三層架構(gòu)要求,充分考慮到對不同業(yè)務環(huán)境的規(guī)范要求,能夠保證各類醫(yī)保業(yè)務的規(guī)范應用。②開放性好。系統(tǒng)能夠適應不同的軟硬件環(huán)境及數(shù)據(jù)庫平臺,真正做到設(shè)備管理、系統(tǒng)擴容和業(yè)務維護不依賴于單一軟硬件供應商的產(chǎn)品。③可靠性高。系統(tǒng)基于CICS完善的交易并發(fā)處理和負載均衡機制保證整個系統(tǒng)高效運轉(zhuǎn),采用多種手段保證系統(tǒng)的高可靠性和穩(wěn)定性,支持7×24小時不間斷服務。④安全性強。充分利用CICS系統(tǒng)的安全策略和機制,可以根據(jù)不同的業(yè)務要求和應用處理,設(shè)置交易級別并保證交易的安全性。⑤數(shù)據(jù)完整性保證。系統(tǒng)充分考慮了醫(yī)保實時交易完整性的重要性,具備超時機制、退款和存儲轉(zhuǎn)發(fā)功能,對那些響應超時的實時交易進行自動處理。⑥可擴展。系統(tǒng)基于開放的軟硬件平臺,在系統(tǒng)容量、處理能力和政策適應等方面具有良好的可擴展能力,能方便地進行系統(tǒng)維護和升級,以適應各種業(yè)務的不斷發(fā)展。
參考文獻:
[1]宋曉梁.中間件及其在三層客戶機/服務器模型中的應用[J].計算機應用,2005,19(7).
[2]程朝暉.IBM TXSeries(CICS)(內(nèi)部資料)[Z].北京:IBM中國軟件部,1999.
[3]王益民.基于金融交易的CICS中間件應用設(shè)計,[J]計算機工程與設(shè)計,2004,25(5):P720-72