李鴻赟
文章編號:2095-6835(2016)17-0022-01
摘 要:一個大型的應(yīng)用信息化系統(tǒng)在部署實施過程中可能需要兼容和對接很多其他的信息化系統(tǒng)的功能和數(shù)據(jù)。在系統(tǒng)對接時,容易出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)格式不兼容、狀態(tài)不容易同步、接口可靠性差等問題。針對以上幾個系統(tǒng)對接中存在的問題,研究了融合對接多個業(yè)務(wù)系統(tǒng)功能和數(shù)據(jù)框架必備的一些基本功能。
關(guān)鍵詞:融合多業(yè)務(wù);信息化系統(tǒng);數(shù)據(jù)格式;功能接口
中圖分類號:TN929.1 文獻標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2016.17.022
1 融合多業(yè)務(wù)的信息化系統(tǒng)概述
隨著社會的快速發(fā)展,尤其是近年來信息技術(shù)行業(yè)的迅猛發(fā)展,社會生產(chǎn)效率得到了有效的提高。但是,信息技術(shù)行業(yè)更新?lián)Q代的速度非???,一個信息化系統(tǒng)數(shù)年后可能滿足不了新的需求。
在一個涉及大型組織機構(gòu)的單位中,如果要部署實施一套新的信息化系統(tǒng),將會面臨很多原有系統(tǒng)數(shù)據(jù)整合的問題。在這些原有的信息化系統(tǒng)中,有一部分系統(tǒng)功能可能由于種種原因不會被新系統(tǒng)取代,舊系統(tǒng)的功能需要在新系統(tǒng)中繼續(xù)發(fā)揮。另外,有一部分原有信息化系統(tǒng)需要被新系統(tǒng)完全取代,但是這些舊信息系統(tǒng)中沉淀了許多不能丟棄的數(shù)據(jù),并且這些業(yè)務(wù)數(shù)據(jù)需要在新系統(tǒng)中無縫切換,從而實現(xiàn)系統(tǒng)功能的平滑過渡。
2 融合多業(yè)務(wù)的信息化系統(tǒng)存在的問題
2.1 數(shù)據(jù)格式不兼容
每個舊系統(tǒng)擁有不同的數(shù)據(jù)庫,其中,表結(jié)構(gòu)設(shè)計大部分無法直接被應(yīng)用到現(xiàn)有系統(tǒng)中,并且一部分?jǐn)?shù)據(jù)與新系統(tǒng)格式不匹配,另一部分?jǐn)?shù)據(jù)可能不滿足新系統(tǒng)的需求,需要補充和擴展。
2.2 功能接口不匹配
在舊系統(tǒng)中,設(shè)計的功能接口在新系統(tǒng)中基本無法直接調(diào)用,有的接口格式和類型不匹配,有的功能接口的原有設(shè)計邏輯可能不符合當(dāng)前新系統(tǒng)的使用邏輯,從而無法直接利用。
2.3 運行狀態(tài)不同步
在新系統(tǒng)的部分功能依賴于原有舊系統(tǒng)運行時,由于系統(tǒng)功能運行出錯、狀態(tài)返回錯誤、原系統(tǒng)對外接口不完善等多種問題,新系統(tǒng)在調(diào)用舊系統(tǒng)功能時,得到的功能運行狀態(tài)與實際系統(tǒng)運行狀態(tài)不一致。這就會導(dǎo)致新系統(tǒng)的功能無法正常發(fā)揮。
2.4 接口可靠性差
由于原系統(tǒng)提供的接口起初對外接口的設(shè)計原因,或者由于其他客觀原因,原系統(tǒng)的功能無法很好地在新系統(tǒng)中調(diào)用。當(dāng)新系統(tǒng)在調(diào)用多個舊系統(tǒng)協(xié)作時,在多個系統(tǒng)接口不可靠的情況下,完整的系統(tǒng)功能將消耗大量的時間等待重復(fù)嘗試,從而大大降低系統(tǒng)的運行效率。
3 融合多業(yè)務(wù)的信息化系統(tǒng)框架設(shè)計
針對上述融合多業(yè)務(wù)的信息化系統(tǒng)存在的問題,從以下4個方面著手解決后,信息化系統(tǒng)的運行穩(wěn)定性和運行效率都得到了有效的提升。
3.1 數(shù)據(jù)對接適配
在設(shè)計數(shù)據(jù)存儲時,需要設(shè)計好數(shù)據(jù)庫表結(jié)構(gòu),對于數(shù)據(jù)量比較大的數(shù)據(jù),要提前做好數(shù)據(jù)庫的分庫和分表,以支持在與高并發(fā)系統(tǒng)對接時傳遞的數(shù)據(jù)量。
在面對大量異構(gòu)系統(tǒng)對接時,除了要做好大量結(jié)構(gòu)化的數(shù)據(jù)庫數(shù)據(jù)設(shè)計對原系統(tǒng)的兼容外,還有很大一部分?jǐn)?shù)據(jù),比如配置文件、運行過程的臨時數(shù)據(jù)等不適合存儲在RDBMS中,以及一部分?jǐn)?shù)據(jù)量很大,但是實時性要求不是很高的數(shù)據(jù),在采用結(jié)構(gòu)化存儲時會引起讀寫性能問題。對于這些數(shù)據(jù),可以采用非結(jié)構(gòu)化存儲,采用NOSQL數(shù)據(jù)存儲技術(shù),然后通過最終一致性提升系統(tǒng)的可用性。
3.2 功能接口適配
對于原有系統(tǒng)功能接口的調(diào)用模塊設(shè)計,采用設(shè)計模式中的適配器。其中,適配器主要分為具備以下2類功能的適配器:①最基本的將原系統(tǒng)功能的接口與現(xiàn)有系統(tǒng)適配,使得現(xiàn)有系統(tǒng)可以直接調(diào)用原系統(tǒng)的功能接口;②需要更進一步地對原系統(tǒng)接口的功能邏輯封裝,提供更加符合現(xiàn)有系統(tǒng)功能邏輯的接口。
3.3 狀態(tài)監(jiān)測機制
原有系統(tǒng)的狀態(tài)監(jiān)測主要包括數(shù)據(jù)同步監(jiān)測和系統(tǒng)運行狀態(tài)監(jiān)測。其中,數(shù)據(jù)同步監(jiān)測可實時、同步地監(jiān)測所有的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),保證系統(tǒng)程序的運行基礎(chǔ)數(shù)據(jù)同步。在原有舊系統(tǒng)運行的過程中,新系統(tǒng)要對舊系統(tǒng)的運行狀態(tài)進行實時監(jiān)測,以確保舊系統(tǒng)按照符合新系統(tǒng)調(diào)用邏輯運行,并且在運行狀態(tài)出現(xiàn)問題后可以及時地報警通知,從而保證新系統(tǒng)運行的可靠性。
3.4 消息通知機制
在新系統(tǒng)的某個功能的發(fā)揮依賴于多個舊系統(tǒng)時,可以將多個舊系統(tǒng)的功能拆分出來,區(qū)別出哪些功能是需要同步運行的,哪些功能是需要異步運行的。對于這2類接口,都采用不同的消息隊列同步調(diào)用,比如淘寶的開源框架Notify消息隊列引擎。對于需要同步調(diào)用的接口,必須同步調(diào)用每個接口,等待所有接口都執(zhí)行完成后,接口調(diào)用才算完畢;對于可以異步調(diào)用的接口,可以并發(fā)地去調(diào)用這些接口,減少系統(tǒng)接口運行的總時間,并且對于調(diào)用失敗的接口調(diào)用,可以存儲在消息隊列中,等待失敗的接口調(diào)用成功執(zhí)行完畢后,對后續(xù)失敗的接口重新調(diào)用。
4 結(jié)束語
綜上所述,在設(shè)計一個大型信息化系統(tǒng)時,如果該系統(tǒng)最后在應(yīng)用中存在多個系統(tǒng)對接問題,那么必須提前制訂應(yīng)對方案。本文的解決方式在應(yīng)用中有效地實現(xiàn)了多個系統(tǒng)的對接,在多個系統(tǒng)的對接過程中,其效率得到了提升,可靠性得到了保障。
參考文獻
[1]謝華成,陳向東.面向云存儲的非結(jié)構(gòu)化數(shù)據(jù)存儲[J].計算機應(yīng)用,2012(07).
[2]司徒放.基于事件的分布式系統(tǒng)監(jiān)控[D].上海:上海交通大學(xué),2009.
[3]阿里中間件團隊.中間件及雙十一實踐·消息中間件篇[EB/OL].[2014-03-05].http://jm.taobao.org/2014/03/05/3483/.
〔編輯:劉曉芳〕