摘要:醫(yī)療保險劃卡收費系統(tǒng)在全國大部分地區(qū)都已應用,本文介紹如何提高劃卡收費系統(tǒng)的并發(fā)性能。
關鍵詞:劃卡收費系統(tǒng);并發(fā)性
中圖分類號:TP399文獻標志碼:A 文章編號:1009-3044(2008)28-0024-01
The Concurrency Research of Medical Treatment Card Charge System
YAO Chun-chen
(School of Computer Science Technology, Soochow University, Suzhou 215006,China)
Abstract:The medical treatment card charge system have already apply in greatly parts of regions in the whole country. This article introduces how to improve concurrency for the card charge system.
Key words:Card Charge System; Concurrency
1 引言
隨著醫(yī)療保險改革的不斷深入,各地醫(yī)保機構都向參保人員發(fā)放醫(yī)保IC卡。當參保人員在藥店或醫(yī)院就醫(yī)時,使用IC卡進行實時結算。結算一般需要進行以下步驟:
1) 從IC卡上讀出參保個人編號和個人賬戶余額。
2) 根據(jù)參保個人編號,查詢醫(yī)保中心數(shù)據(jù)庫,判斷該員工醫(yī)保參保狀態(tài)是否正常。如不正常,則不能劃卡結算,本次交易結束;正常則繼續(xù)下一步。
3) 由收費人員輸入各個藥品名稱和診療項目,結算模塊根據(jù)藥品編號和診療項目編號,查詢醫(yī)保中心數(shù)據(jù)庫,讀取報銷比例。
4) 結算模塊根據(jù)報銷比例,計算出參保人員自負金額和醫(yī)保統(tǒng)籌基金支付金額,如果個人賬戶上有余額,參保人員自負金額可以從個人賬戶上先行扣除。
5) 把本次交易和明細記錄保存回醫(yī)保中心數(shù)據(jù)庫。
6) 更新IC卡上個人賬戶余額字段,打印發(fā)票,一次交易結束。
2 具體研究
因為醫(yī)保報銷政策經(jīng)常有變化,如果使用C/S架構,則每次更新程序后,每個收費端軟件都要進行更新,這樣比較費時費力,也不能保證所有客戶端按時更新。如果使用B/S架構,客戶端使用瀏覽器進行操作,軟件更新的問題可以不用考慮,但瀏覽器是解釋執(zhí)行HTML語言,在客戶端操作時速度比較慢,不能滿足需求。因此采用三層架構,收費操作模塊作為一個程序放在客戶端,結算模塊編寫成ActiveX組件,放在醫(yī)保中心的應用服務器上。客戶端和結算組件模塊通過DCOM通信,結算組件模塊再訪問數(shù)據(jù)庫,把數(shù)據(jù)傳回給客戶端。
當收費客戶端比較少(少于50個)時,這樣一個三層架構能滿足應用。但如果客戶端很多,大量參保人員同時刷卡時,應用層的結算模塊就無法正常工作了,并發(fā)性能比較差。主要原因是客戶端和應用服務器上的結算模塊采用的是同步通信模式,客戶端的一次交易一定要等結算模塊結束后才能與應用服務器斷開,所以客戶端在等待時大量消耗了應用服務器的資源,降低了服務器的性能。如果把同步通信變成異步通信,就能大幅度提高并發(fā)性能。通過多種平臺的比較,推薦使用BEA公司的Tuxedo平臺。
Tuxedo是BEA公司的交易中間件產(chǎn)品,1984年由貝爾實驗室開發(fā)成功,經(jīng)過十多年的不斷更新和完善,Tuxedo已經(jīng)發(fā)展成為交易中間件領域事實上的標準。 它可以有效地整合企業(yè)異構C/S系統(tǒng),實現(xiàn)大規(guī)模的關鍵業(yè)務處理和分布式事務管理,從而為企業(yè)提供一個可靠的、高性能的、易維護的三層分布式計算機環(huán)境。
Tuxedo中間件通過消息隊列異步通信和兩階段提交機制保證異步交易的事務成功。在服務器上編寫Tuxedo程序作為劃卡結算服務。當客戶端向服務器發(fā)送結算請求后,客戶端只訪問自己本機的消息隊列進行等待,不再“鎖定”應用服務器。當劃卡結算服務計算結束后,把結果發(fā)回客戶端的消息隊列,客戶端從消息隊列取出后即可完成一次劃卡收費。
3 結束語
通過引入Tuxedo 中間件服務平臺,改變傳統(tǒng)的同步通信模式,使用異步通信可以大幅度提高醫(yī)保劃卡收費系統(tǒng)的并發(fā)性能,從而使參保人員能更好地享受醫(yī)療保險各項服務。
參考文獻:
[1] 彭晏飛,楊德權. 基于MVC+Struts的醫(yī)療保險管理系統(tǒng)設計與實現(xiàn)[J]. 現(xiàn)代計算機(專業(yè)版),2008(02):126-128.
[2] 王偉俊.三層架構在上海醫(yī)療保險計算機結算系統(tǒng)中的應用[J].計算機應用與軟件,2005,7(01):33-34.