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