宋曉波,方 梅,梁 靜
(安徽繼遠(yuǎn)軟件有限公司,安徽 合肥 230088)
套裝軟件(ERP)系統(tǒng)實(shí)現(xiàn)了項(xiàng)目的預(yù)算管理、采購(gòu)管理,為了實(shí)現(xiàn)各系統(tǒng)間的信息共享,需要在多個(gè)系統(tǒng)中通過(guò)接口實(shí)現(xiàn)數(shù)據(jù)共享和業(yè)務(wù)融合,譬如:項(xiàng)目執(zhí)行過(guò)程中的數(shù)據(jù)信息,為了推進(jìn)計(jì)劃管理與套裝軟件的數(shù)據(jù)共享與業(yè)務(wù)融合,每月ERP系統(tǒng)將項(xiàng)目執(zhí)行情況數(shù)據(jù)推送至規(guī)劃計(jì)劃系統(tǒng),現(xiàn)金流量分類(lèi)、會(huì)計(jì)科目、利潤(rùn)中心|公司代碼、資產(chǎn)分類(lèi)等主數(shù)據(jù)以系統(tǒng)B為準(zhǔn),需要推送至ERP系統(tǒng)。
在數(shù)據(jù)共享融合中,ERP作為一個(gè)中間環(huán)節(jié),作為數(shù)據(jù)的源端或者數(shù)據(jù)的接收端,譬如:ERP向規(guī)劃平臺(tái)推送月度項(xiàng)目執(zhí)行情況數(shù)據(jù),系統(tǒng)B推送主數(shù)據(jù)信息至ERP系統(tǒng),均存在數(shù)據(jù)推送不成功或數(shù)據(jù)丟失等現(xiàn)象,主要是DXP交換通道引起,現(xiàn)需要將DXP交換方式更改為統(tǒng)一數(shù)據(jù)交換平臺(tái)(Unified-data Exchange Platform,UEP)。
操作數(shù)據(jù)存儲(chǔ)(Operational Data Stored,ODS)是數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)的可選部分。ODS存儲(chǔ)的數(shù)據(jù)基本上與源系統(tǒng)保持一致用于存儲(chǔ)緩沖數(shù)據(jù);ODS統(tǒng)一信息試圖區(qū)將數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換整合為企業(yè)提供唯一事實(shí)的共享數(shù)據(jù)并為數(shù)據(jù)的橫向共享提供場(chǎng)所,數(shù)據(jù)在線(xiàn)存儲(chǔ)的周期一般較短,稱(chēng)為“當(dāng)前的、不斷變化”的數(shù)據(jù)。ODS對(duì)于數(shù)據(jù)交換來(lái)說(shuō),主要是提供場(chǎng)所的作用。
DXP為數(shù)據(jù)交換平臺(tái),是為了構(gòu)建兩級(jí)數(shù)據(jù)中心間的交換通道,使數(shù)據(jù)中心可以級(jí)聯(lián),要求兩級(jí)數(shù)據(jù)中心中的業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)是同構(gòu)的。
UEP旨在解決復(fù)雜環(huán)境下、異構(gòu)系統(tǒng)間企業(yè)數(shù)據(jù)孤島問(wèn)題。主要提供了數(shù)據(jù)交換、數(shù)據(jù)處理、數(shù)據(jù)安全、數(shù)據(jù)質(zhì)量、圖形化/可視化開(kāi)發(fā)等功能。其中數(shù)據(jù)交換功能提供了即時(shí)數(shù)據(jù)總線(xiàn)、批量數(shù)據(jù)總線(xiàn)功能,可完成消息型數(shù)據(jù)的準(zhǔn)實(shí)時(shí)雙向通信,可對(duì)數(shù)據(jù)庫(kù)表、XML文件、文件夾等類(lèi)型數(shù)據(jù)進(jìn)行基于文件的批量數(shù)據(jù)交換,在數(shù)據(jù)交換過(guò)程中可以配置策略對(duì)數(shù)據(jù)進(jìn)行處理加工。
UEP使用安全可管理的“插座式”數(shù)據(jù)交換和數(shù)據(jù)管理架構(gòu),具有很強(qiáng)的擴(kuò)展性、可靠性和安全性;提供可視化/圖形化開(kāi)發(fā)界面開(kāi)發(fā)異構(gòu)系統(tǒng)之間的數(shù)據(jù)交換并建立交換規(guī)范,保證數(shù)據(jù)質(zhì)量;提供面向數(shù)據(jù)整合的傳輸通道實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)傳遞和加工,保證數(shù)據(jù)傳輸?shù)囊恢滦院涂煽啃?;提供安全可管理的服?wù)總線(xiàn),可通過(guò)URL、API、定時(shí)調(diào)度等多種方式共享調(diào)用數(shù)據(jù)服務(wù)。
UEP主要由引擎(節(jié)點(diǎn))、規(guī)則庫(kù)、管理服務(wù)器、管理工具、開(kāi)發(fā)接口組成。
一套UEP系統(tǒng)具有一個(gè)管理服務(wù)器,對(duì)多個(gè)引擎進(jìn)行管理,用戶(hù)通過(guò)管理工具連接到管理服務(wù)器進(jìn)行圖形化/可視化開(kāi)發(fā)管理,管理服務(wù)器將用戶(hù)配置的服務(wù)、流程等轉(zhuǎn)換成規(guī)則保存在規(guī)則庫(kù)中,并按照分工將規(guī)則下發(fā)到對(duì)應(yīng)的引擎。引擎分布式部署在不同機(jī)器上,他們按照規(guī)則相互協(xié)作對(duì)數(shù)據(jù)進(jìn)行加工、傳輸?shù)忍幚?,引擎間可以彼此調(diào)用對(duì)方的服務(wù)與資源。第三方系統(tǒng)通過(guò)平臺(tái)提供的API、URL、定時(shí)調(diào)度等方式調(diào)用總線(xiàn)上的數(shù)據(jù)交換服務(wù)或流程完成數(shù)據(jù)交換任務(wù)。
ERP系統(tǒng)和規(guī)劃計(jì)劃項(xiàng)目執(zhí)行接口原技術(shù)路線(xiàn)為,ERP將數(shù)據(jù)推送至本地ODS,本地ODS調(diào)用DXP將數(shù)據(jù)推送至總部ODS。
(1)DXP的集成架構(gòu)模式,實(shí)現(xiàn)規(guī)劃計(jì)劃系統(tǒng)與ERP之間的數(shù)據(jù)交互需求。采用數(shù)據(jù)中心推送/抽取技術(shù),在總部通過(guò)數(shù)據(jù)中心ODS實(shí)現(xiàn)規(guī)劃計(jì)劃與ERP間橫向的數(shù)據(jù)交互,在本地由ERP直接與數(shù)據(jù)中心ODS交互實(shí)現(xiàn)計(jì)劃執(zhí)行信息數(shù)據(jù)在ODS的讀寫(xiě)。(2)采用DXP增量傳輸方式,實(shí)現(xiàn)總部數(shù)據(jù)中心ODS與本地?cái)?shù)據(jù)中心ODS的數(shù)據(jù)縱向交互需求。(3)ERP將項(xiàng)目的實(shí)施進(jìn)展情況推入本地?cái)?shù)據(jù)中心,通過(guò)兩級(jí)數(shù)據(jù)中心縱向交互到總部數(shù)據(jù)中心。(4)規(guī)劃計(jì)劃通過(guò)總部數(shù)據(jù)中心,獲取ERP項(xiàng)目實(shí)際進(jìn)展情況信息。(5)為保障DXP數(shù)據(jù)傳輸通道通暢,由本地?cái)?shù)據(jù)中心數(shù)據(jù)分批次傳送至總部數(shù)據(jù)中心。
為了實(shí)現(xiàn)數(shù)據(jù)共享,ERP系統(tǒng)中的數(shù)據(jù)交換平臺(tái)DXP缺乏大數(shù)據(jù)量穩(wěn)定傳輸能力,缺乏文件傳輸服務(wù),缺乏服務(wù)質(zhì)量管理等問(wèn)題。同時(shí)因平臺(tái)建設(shè)時(shí)間久,集成架構(gòu)和技術(shù)陳舊,運(yùn)維支撐力度不夠,無(wú)法支撐公司目前現(xiàn)有的數(shù)據(jù)交換業(yè)務(wù)需求。統(tǒng)一數(shù)據(jù)交換平臺(tái)UEP相比于DXP有著較多的不同點(diǎn),開(kāi)發(fā)和運(yùn)維更加簡(jiǎn)單,DXP對(duì)大數(shù)據(jù)傳輸支持不好,必須要對(duì)數(shù)據(jù)進(jìn)行分批計(jì)算傳輸,傳輸中還經(jīng)常因?yàn)镈XP服務(wù)器資源問(wèn)題導(dǎo)致傳輸失敗,極不穩(wěn)定。UEP則可以支持大數(shù)據(jù)量傳輸,無(wú)需對(duì)數(shù)據(jù)進(jìn)行分批傳輸,數(shù)據(jù)傳輸安全穩(wěn)定。
即時(shí)數(shù)據(jù)總線(xiàn)DXP上傳輸兩級(jí)之間的實(shí)時(shí)/非實(shí)時(shí)數(shù)據(jù),但定位不準(zhǔn)、能力欠缺,如:通過(guò)WebService通道傳輸小于5M的結(jié)構(gòu)化數(shù)據(jù),與ESB功能重復(fù);另外,DXP采用消息隊(duì)列傳輸大于5M的結(jié)構(gòu)化數(shù)據(jù),對(duì)于大數(shù)據(jù)量不適合。
UEP不僅具有DXP的相關(guān)功能,同時(shí)包括以下特點(diǎn)。
(1)開(kāi)展消息總線(xiàn)能力增強(qiáng)與升級(jí)工作,保障數(shù)據(jù)交換服務(wù)質(zhì)量??偨Y(jié)前期建設(shè)經(jīng)驗(yàn)及不足,進(jìn)一步對(duì)消息總線(xiàn)的能力進(jìn)行增強(qiáng),從傳輸能力增強(qiáng)、問(wèn)題回溯手段完善、監(jiān)控管理能力增強(qiáng)等方面開(kāi)展。已應(yīng)用的保持不變,在有提升需求或項(xiàng)目建設(shè)時(shí)采用完善后的消息總線(xiàn)。
(2)建立技術(shù)標(biāo)準(zhǔn)規(guī)范,三總線(xiàn)統(tǒng)一管控,形成統(tǒng)一的數(shù)據(jù)交換平臺(tái)明確三總線(xiàn)技術(shù)路線(xiàn),構(gòu)建統(tǒng)一的管控平臺(tái)。統(tǒng)一需求接入及過(guò)程管控,形成統(tǒng)一的數(shù)據(jù)交換平臺(tái)。
(3)統(tǒng)一融合,批量數(shù)據(jù)總線(xiàn)和消息總線(xiàn)實(shí)現(xiàn)集中調(diào)度。批量與消息總線(xiàn)合一部署,形成統(tǒng)一的數(shù)據(jù)傳輸組件。根據(jù)業(yè)務(wù)的需求,數(shù)據(jù)交換任務(wù)可以在批量與消息總線(xiàn)之間統(tǒng)一靈活調(diào)度。
批量數(shù)據(jù)總線(xiàn)目前管理層做到統(tǒng)一配置管理、統(tǒng)一監(jiān)控、異常處理機(jī)制,基于成熟中間件產(chǎn)品開(kāi)發(fā)批量交換的配置、監(jiān)控異常處理、審計(jì)等功能。
批量數(shù)據(jù)傳輸層基于成熟中間件完成總線(xiàn)傳輸、安全、高性能、可靠性等要求。
ERP將數(shù)據(jù)推送至規(guī)劃計(jì)劃系統(tǒng)的優(yōu)化方法如下。
(1)ERP系統(tǒng)將傳輸數(shù)據(jù)推入本地?cái)?shù)據(jù)中心ODS,通過(guò)統(tǒng)一數(shù)據(jù)交換平臺(tái)將本地?cái)?shù)據(jù)中心ODS數(shù)據(jù)縱向交換到總部數(shù)據(jù)中心ODS。
(2)統(tǒng)一數(shù)據(jù)交換平臺(tái)將本地?cái)?shù)據(jù)中心ODS數(shù)據(jù)縱向交換到總部數(shù)據(jù)中心ODS之后,發(fā)送消息通知規(guī)劃計(jì)劃。
(3)規(guī)劃計(jì)劃系統(tǒng)接收到統(tǒng)一數(shù)據(jù)交換發(fā)送的信息之后,到數(shù)據(jù)中心ODS獲取數(shù)據(jù),并判斷當(dāng)前月份數(shù)據(jù)條數(shù)是否與數(shù)據(jù)中心一致,如果無(wú)誤,規(guī)劃計(jì)劃通過(guò)兩級(jí)企業(yè)服務(wù)總線(xiàn)反饋接收結(jié)果success;否則,反饋false,并刪除數(shù)據(jù)中心數(shù)據(jù)。并通過(guò)發(fā)送郵件的方式將結(jié)果反饋給ERP。
(4)若推送失敗,由本地ERP系統(tǒng)項(xiàng)目組核實(shí)原因并重新推送。
在程序取數(shù)方面,因涉及大量的數(shù)據(jù),通過(guò)邏輯關(guān)聯(lián)多張表取數(shù)時(shí),先將數(shù)據(jù)取到內(nèi)表中進(jìn)行篩選運(yùn)算,減少數(shù)據(jù)庫(kù)層的表讀取次數(shù),大量的數(shù)據(jù)存放到內(nèi)表中進(jìn)行處理,精簡(jiǎn)大數(shù)據(jù)量?jī)?nèi)表的循環(huán)次數(shù),在一個(gè)循環(huán)中盡量計(jì)算更多數(shù)據(jù)。
ERP作為接收方,接收其他系統(tǒng)(B系統(tǒng))的數(shù)據(jù),優(yōu)化方法如下。
(1)B系統(tǒng)將數(shù)據(jù)推送至總部數(shù)據(jù)中心ODS,通過(guò)統(tǒng)一數(shù)據(jù)平臺(tái)將總部數(shù)據(jù)中心的數(shù)據(jù)推入本地?cái)?shù)據(jù)中心。
(2)統(tǒng)一數(shù)據(jù)交換平臺(tái)發(fā)送消息至ERP系統(tǒng)。
(3)ERP系統(tǒng)接收到統(tǒng)一數(shù)據(jù)交換平臺(tái)發(fā)送的信息后,到數(shù)據(jù)中心ODS獲取數(shù)據(jù),并通過(guò)郵件的方式將結(jié)果反饋給B系統(tǒng)。
(4)若推送失敗,由B系統(tǒng)項(xiàng)目組核實(shí)原因并重新推送。
同時(shí),針對(duì)涉及大數(shù)據(jù)量的表進(jìn)行內(nèi)表(如BSEG、MSEG等)數(shù)據(jù)處理時(shí),盡可能地使用二分法進(jìn)行處理,也可使用hashed table進(jìn)行處理。
實(shí)現(xiàn)ERP與各業(yè)務(wù)系統(tǒng)通過(guò)統(tǒng)一數(shù)據(jù)交換平臺(tái)進(jìn)行數(shù)據(jù)交換,其效益主要體現(xiàn)在以下方面。
(1)使用的統(tǒng)一數(shù)據(jù)交換平臺(tái)相比于之前規(guī)劃計(jì)劃與ERP接口使用的DXP和ESB,在滿(mǎn)足已有功能點(diǎn)的同時(shí),提高了系統(tǒng)間大數(shù)據(jù)穩(wěn)定傳輸?shù)哪芰?。僅ERP和規(guī)劃計(jì)劃系統(tǒng)的項(xiàng)目執(zhí)行情況數(shù)據(jù),每個(gè)月的數(shù)據(jù)量為50萬(wàn)條,接口運(yùn)行穩(wěn)定,傳輸數(shù)據(jù)較快,每個(gè)月由本地ODS推送至總部ODS需要用時(shí)10分鐘左右。
(2)ERP與其他業(yè)務(wù)系統(tǒng)基于統(tǒng)一的數(shù)據(jù)交換平臺(tái)進(jìn)行橫縱向數(shù)據(jù)交換,進(jìn)行統(tǒng)一的接入、加工、傳輸、管理、監(jiān)控和運(yùn)維,確保數(shù)據(jù)交換的過(guò)程和業(yè)務(wù)系統(tǒng)本身完全隔離,降低信息系統(tǒng)間的耦合度,大幅提升信息系統(tǒng)的健壯性、安全性、可靠性和可用性,社會(huì)和經(jīng)濟(jì)效益巨大。
(3)與此同時(shí),使用統(tǒng)一數(shù)據(jù)交換平臺(tái)較原先的DXP可以降低業(yè)務(wù)系統(tǒng)自身開(kāi)發(fā)的工作量,減少人員和產(chǎn)品研發(fā)的投入。