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