一種基礎數據共享系統及其方法
【技術領域】
[0001]本發明涉及數據處理領域,尤其涉及一種基礎數據共享系統及其方法。
【背景技術】
[0002]在許多機構的信息化建設過程中,由于缺少整體規劃,各部門的信息系統都以本部門某一業務為核心來構建,沒有考慮異構信息系統間的交互問題,導致出現了大量的“信息孤島”。信息系統交換數據的核心在于如何讓對方系統讀懂數據,尤其是基礎數據。基礎數據一般被機構內的兩個或兩個以上的業務系統使用,具有跨部門和跨系統的特性,并且需要在整個機構內部保持一致。基礎數據比較穩定,變化頻率低,具備長時效性,被訪問的概率遠高于業務系統運行、使用過程中產生的其它數據,是連通機構內的業務系統,實現數據跨部門、跨系統共享的基礎。
[0003]目前,主要采用以下方法來實現基礎數據的交換或共享:不同業務系統擁有自己的基礎數據,進行信息交換的業務系統需要對基礎數據建立交叉索引,在一方基礎數據變動時及時通知對方更新映射。這種方法的缺點在于當機構內部需要進行交互的信息系統增多時,基礎數據建立交叉索引需求會帶來爆炸式增長,數據變更帶來的維護工作十分繁重,對系統穩定性靈活性都有很大的影響。
[0004]另一種常見的解決方案是構建一個共享基礎數據管理系統,共享基礎數據管理系統中的數據從各個業務系統中收集而來。每一業務系統都賦予了不同的職責在本地存儲和維護一部分基礎數據,并將數據變更同步到共享基礎數據管理系統。當一個業務系統要用到其他業務系統維護的基礎數據時,通過共享基礎數據管理系統提供的遠程接口獲取。這種方法雖然能夠解決交叉索引需求爆炸式增長和基礎數據不一致的問題,但是如果使用其他業務系統維護的基礎數據時,需要通過調用共享基礎數據管理系統的遠程接口來獲取,這些基礎數據不能參與到業務系統數據庫的關聯查詢中,一個關聯查詢可以查詢到的數據往往編程要多次調用遠程接口來獲取相關數據,不僅提高了系統的開發復雜度,也大幅地降低了系統的性能。
[0005]還有一種方法是構建一個基礎數據同步管理系統,業務系統在本地維護基礎數據,數據變更上報到基礎數據同步管理系統,再由基礎數據同步管理系統同步到其他業務系統,以保持機構中的基礎數據的一致性。這種技術方案的弊端是:為了避免多個業務系統在同一時間對同一個基礎數據進行修改時產生沖突,必須制定沖突解決策略,從而大幅提高了系統實現的復雜度。
【發明內容】
[0006]本發明解決的問題是提供一種基礎數據共享系統及其方法,不僅實現機構內基礎數據的一致性、提高系統間的互連互通性,還減少了業務系統的開發工作量和開發成本。
[0007]為了解決上述問題,本發明提供了一種基礎數據共享系統,包括基礎數據統一管理平臺,與所述基礎數據統一管理平臺連接的業務系統,其中,所述基礎數據統一管理平臺包括基礎數據管理系統和消息隊列中間件;所述業務系統包括消息接收與處理模塊。
[0008]上述所述一種基礎數據共享系統,其中,所述基礎數據管理系統包括基礎數據庫和基礎數據管理程序。
[0009]上述所述一種基礎數據共享系統,其中,所述基礎數據管理程序包括基礎數據管理模塊、與所述基礎數據管理模塊連接的同步消息管理模塊以及與所述同步消息管理模塊連接的數據變更訂閱管理模塊。
[0010]上述所述一種基礎數據共享系統,其中,所述基礎數據管理模塊提供接口和頁面兩種方式供所述業務系統調用。
[0011]上述所述一種基礎數據共享系統,其中,所述同步消息管理模塊包括消息生成子模塊、消息發送子模塊和異常處理子模塊。
[0012]為了解決上述問題,本發明還提供了一種基礎數據共享方法,包括如下步驟:
[0013](I)所述業務系統通過所述基礎數據統一管理平臺的接口或頁面對所述基礎數據進行維護;
[0014](2)將所述維護的結果存儲于所述基礎數據數據庫,所述基礎數據管理模塊調用所述同步消息管理模塊生成基礎數據同步消息;
[0015](3)通過所述消息隊列中間件,將所述基礎數據同步消息發送給需要所述基礎數據的業務系統;
[0016](4)所述需要所述基礎數據的業務系統對所述基礎數據同步消息進行處理,并更新其數據庫。
[0017]上述所述一種基礎數據共享方法,其中,所述業務系統在對所述需共享基礎數據進行維護之前,若所述業務系統為新業務系統,則采用數據庫腳本,將基礎數據統一管理平臺的基礎數據導入所述所述新業務系統,并在所述數據變更訂閱管理模塊注冊所述業務系統。
[0018]上述所述一種基礎數據共享方法,其中,所述業務系統在對所述需共享基礎數據進行維護之前,若所述業務系統為遺留系統,則獲取所述遺留系統中的基礎數據和所述基礎數據統一管理平臺中的基礎數據之間的對應關系;根據所述對應關系,更新所述遺留系統中的基礎數據;為所述遺留系統開發定制的所述消息接收與處理模塊,并在所述數據變更訂閱管理模塊中注冊所述消息接收處理模塊。
[0019]上述所述一種基礎數據共享方法,其中,將所述基礎數據同步消息發送給需要所述基礎數據的業務系統的過程為:通過所述數據變更訂閱管理模塊,所述同步消息模塊得到需要所述基礎數據的業務系統;所述同步消息管理模塊通過所述消息隊列中間件,將所述基礎數據同步消息發送給所述需要所述基礎數據的業務系統的消息接收與處理模塊。
[0020]上述所述一種基礎數據共享方法,其中,所述消息接收與處理模塊內置或外置在所述業務系統中。
[0021]與現有技術相比,本發明引入基礎數據統一管理平臺,避免了多頭維護帶來的數據沖突的難題,提高了系統可靠性,降低了系統開發的難度;免去了業務系統中開發基礎數據管理的功能,減少了業務系統開發工作量,降低業務系統開發成本;
[0022]進一步地,采用消息機制將基礎數據統一管理平臺單向同步到業務系統,保證了基礎數據的一致性,無需為機構中的多個業務系統建立交叉索弓I,降低了用戶的維護難度;
[0023]進一步地,基礎數據在基礎數據統一管理平臺上統一維護,業務系統在本地數據庫保存一份基礎數據的拷貝,使得業務系統可以在本地對基礎數據做關聯查詢,提高了系統性能,也降低了系統開發的復雜度。
【附圖說明】
[0024]圖1所示為本發明實施例一種基礎數據共享系統的結構示意圖;
[0025]圖2所示為本發明實施例一種基礎數據共享系統的流程示意圖;
[0026]圖3所示為本發明實施例將所述遺留系統集成到所述基礎數據統一管理平臺的流程示意圖。
【具體實施方式】
[0027]在下面的描述中闡述了很多具體細節以便于充分理解本發明。但是本發明能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣,因此本發明不受下面公開的具體實施的限制。
[0028]其次,本發明利用示意圖進行詳細描述,在詳述本發明實施例時,為便于說明,所述示意圖只是實例,其在此不應限制本發明保護的范圍。
[0029]下面結合附圖和實施例對本發明一種基礎數據共享系統及其方法進行詳細地描述。本發明實施例一種基礎數據共享系統如圖1所示,所述系統包括基礎數據統一管理平臺1,所述基礎數據統一管理平臺I用于維護和同步基礎數據;與所述基礎數據統一管理平臺I連接的業務系統2。其中,所述業務系統2為新業務系統(具有處理所述基礎數據統一管理平臺的基礎數據同步消息的業務系統)或遺留系統(第三方系統),包括數據庫和消息接收與處理模塊21。具體地,所述基礎數據統一管理平臺I包括基礎數據管理系統11和與所述基礎數據管理系統11連接的消息隊列中間件12。所述基礎數據管理系統11為一個web應用系統,包括基礎數據數據庫110以及基礎數據管理程序120。其中,所述基礎數據管理程序120包括基礎數據管理模塊121、與所述基礎數據管理模塊121連接的同步消息管理模塊122以及與所述同步消息管理模塊122連接的數據變更訂閱管理模塊123。具體地,在本實施例中,所述基礎數據管理模塊121用于維護基礎數據,所述業務系統2通過所述基礎數據管理模塊121提供的功能可以對基礎數據進行增、刪、改、查等操作,所述基礎數據管理模塊121提供了接口(web service接口)和頁面(web頁面)兩種方式供所述業務系統2調用,所述業務系統2根據自身業務需求選擇使用哪種接口,也可以混合使用。使用web service接口,業務系統可以根據自身的要求開發與所述系統風格一致、業務邏輯復雜的維護界面;而直接使用所述基礎數據統一管理平臺提供的web頁面來維護基礎數據,則節省業務系統開發工作量和成本。
[0030]所述同步消息管理模塊122用于生成和發送同步消息,包括消息生成子模塊、消息發送子模塊和異常處理子模塊。其中,所述基礎數據管理模塊121對基礎數據進行維護后,調用所述消息生成子模塊,生成基礎數據同步消息;然后,通過所述消息發送子模塊進行發送。所述消息發送子模塊通過所述消息隊列中間件12將消息發送到所述數據變更訂閱管理模塊123指定的業務系統。所述異常處理子模塊負責對失步消息進行記錄,并能夠發送消息給系統管理員,讓系統管理員能夠及時地對問題進行處理。所述數據變更訂閱管理模塊123管理同步消息的訂閱者,所述業務系統在所述數據變更訂閱管理模塊123注冊,并指定需要訂閱的某些類型的基礎數據的同步消息,只有在所述數據變更訂閱模塊中注冊的業務系統才能接收到其訂閱的基礎數據同步消息。
[0031]所述業務系統2通過所述基礎數據統一管理平臺I提供的功能對所述基礎數