官术网_书友最值得收藏!

5.4 主數(shù)據(jù)分發(fā)與共享

主數(shù)據(jù)管理系統(tǒng)的構(gòu)建,最后要讓基礎(chǔ)數(shù)據(jù)在全局得到統(tǒng)一。我們之所以強(qiáng)調(diào)主數(shù)據(jù)管理體系,強(qiáng)調(diào)行政組織保障和管理規(guī)范,最終的目的就是保證各個(gè)系統(tǒng)中的基礎(chǔ)數(shù)據(jù)與全局主數(shù)據(jù)保持一致。

我們需要將主數(shù)據(jù)傳遞到企業(yè)中每一個(gè)需要它的角落,甚至和企業(yè)外部關(guān)聯(lián)業(yè)務(wù)實(shí)體進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)交換工作可以劃分到應(yīng)用集成工作的范疇。應(yīng)用集成工作歷來是一項(xiàng)麻煩的工作,涉及各個(gè)系統(tǒng)的改造。如果我們不對(duì)這些系統(tǒng)進(jìn)行集成,那么就只能依靠線下的人工操作來推動(dòng)數(shù)據(jù)的流轉(zhuǎn)。顯然這樣的做法比應(yīng)用集成更加麻煩且成本昂貴。

現(xiàn)在我們假設(shè)只有兩個(gè)系統(tǒng)。一個(gè)是源系統(tǒng),通常是主數(shù)據(jù)管理系統(tǒng)、專業(yè)業(yè)務(wù)系統(tǒng)、服務(wù)總線或數(shù)據(jù)API(應(yīng)用程序接口);另一個(gè)是數(shù)據(jù)消費(fèi)系統(tǒng)或稱目標(biāo)系統(tǒng)。我們先將這兩個(gè)系統(tǒng)間進(jìn)行數(shù)據(jù)傳遞的事情說清楚,這樣的話,一個(gè)源到多個(gè)目標(biāo)的路線也就清晰了。一般我們不建議采用數(shù)據(jù)層層傳遞和網(wǎng)狀傳遞的方案。

在設(shè)計(jì)數(shù)據(jù)傳遞方案時(shí),有兩個(gè)關(guān)鍵要素決定我們方案的設(shè)計(jì)內(nèi)容,如下。

(1)實(shí)時(shí)性要求:要求數(shù)據(jù)在變動(dòng)時(shí)及時(shí)讓消費(fèi)系統(tǒng)獲取。

(2)健壯性要求:保證數(shù)據(jù)能夠傳遞到消費(fèi)系統(tǒng)中,不會(huì)丟失。

常用的幾種數(shù)據(jù)傳遞方式如表5-1所示。

表5-1

1.數(shù)據(jù)推送(推式)

數(shù)據(jù)推送指的是將主數(shù)據(jù)推送到應(yīng)用系統(tǒng)中,數(shù)據(jù)所有者為主動(dòng)方,數(shù)據(jù)目標(biāo)系統(tǒng)為被動(dòng)方。此種方式是由主動(dòng)方主動(dòng)調(diào)用接收方的數(shù)據(jù)接口,將數(shù)據(jù)推送到接收方的應(yīng)用系統(tǒng)中的。按照面向服務(wù)的設(shè)計(jì)理念,應(yīng)用系統(tǒng)需要開發(fā)出一個(gè)能夠接收主數(shù)據(jù)的服務(wù),這樣數(shù)據(jù)推送方在進(jìn)行數(shù)據(jù)推送時(shí)就能夠調(diào)用這個(gè)服務(wù)將數(shù)據(jù)傳遞給應(yīng)用系統(tǒng)。

數(shù)據(jù)推送方并不關(guān)心數(shù)據(jù)接收方具體的業(yè)務(wù)邏輯,它只負(fù)責(zé)把數(shù)據(jù)交給應(yīng)用系統(tǒng),至于應(yīng)用系統(tǒng)如何處理都交給數(shù)據(jù)接收方。

此種方式的特點(diǎn):數(shù)據(jù)實(shí)時(shí)性較強(qiáng),主數(shù)據(jù)一旦發(fā)生變動(dòng)就能夠把變動(dòng)信息傳播到體系內(nèi)的各個(gè)角落,而每一個(gè)對(duì)應(yīng)的基礎(chǔ)數(shù)據(jù)都能夠在第一時(shí)間進(jìn)行更新。

對(duì)于數(shù)據(jù)傳遞異常的情況,由數(shù)據(jù)推送方處理。數(shù)據(jù)如果沒有推送成功,那么數(shù)據(jù)推送方將決定異常處理方式。比如,重新推送,或者過一段時(shí)間再次推送(一般會(huì)約定補(bǔ)充推送的時(shí)間點(diǎn)),或者直接改為手工處理。所以數(shù)據(jù)推送按照其具體的技術(shù)手段,又分為自動(dòng)推送和手動(dòng)推送兩種。

2.數(shù)據(jù)拉?。ɡ剑?/p>

數(shù)據(jù)拉取指的是由主數(shù)據(jù)源頭發(fā)布數(shù)據(jù)獲取服務(wù),靜待數(shù)據(jù)使用者調(diào)用服務(wù)將主數(shù)據(jù)調(diào)至目標(biāo)系統(tǒng)。主數(shù)據(jù)源頭沒有將數(shù)據(jù)信息進(jìn)行實(shí)時(shí)廣播,而是等待第三方使用者來調(diào)取。主數(shù)據(jù)源頭一般需要提供以下服務(wù)組合:“獲取全部數(shù)據(jù)”“獲取單條數(shù)據(jù)”“獲取某個(gè)時(shí)間點(diǎn)以后的所有最新數(shù)據(jù)”等相關(guān)服務(wù),而數(shù)據(jù)使用者需要自己編寫代碼來獲取數(shù)據(jù),一般來講需要支持定時(shí)獲取和手動(dòng)獲取兩種模式。

數(shù)據(jù)拉取方式較為穩(wěn)定,并且把異常處理工作交由第三方來完成。如果第三方支持?jǐn)?shù)據(jù)拉取方式,那么數(shù)據(jù)傳遞的準(zhǔn)確性就得到了很大程度的保證。只是此種方式的數(shù)據(jù)實(shí)時(shí)性較差,可以與定時(shí)獲取方式結(jié)合使用,通常系統(tǒng)會(huì)將自動(dòng)獲取時(shí)間設(shè)置為一天左右。

3.在底層數(shù)據(jù)庫層面進(jìn)行數(shù)據(jù)拷貝

通過數(shù)據(jù)服務(wù)讓數(shù)據(jù)在信息系統(tǒng)間進(jìn)行傳遞是相對(duì)標(biāo)準(zhǔn)的一套做法,數(shù)據(jù)源頭、數(shù)據(jù)使用者的定位和分工都相對(duì)明確,但是采用這種做法,開發(fā)工作量會(huì)比較大,運(yùn)維成本也相對(duì)較高。我們還可以通過數(shù)據(jù)層面進(jìn)行數(shù)據(jù)同步,即通過ETL工具(支持?jǐn)?shù)據(jù)抽取、轉(zhuǎn)換和裝載的工具)在數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)傳遞。需要強(qiáng)調(diào)的是,這個(gè)方案中不應(yīng)當(dāng)操作第三方系統(tǒng)中的任何原有表,只是把數(shù)據(jù)存儲(chǔ)在新建的表中。這類似于供應(yīng)鏈的一種處理模式:供應(yīng)商并不等收到甲方的采購單后再發(fā)貨,而是直接在甲方的生產(chǎn)車間建立自己的倉庫,甲方隨用隨取。

在很多極端的情況下,我們甚至需要這幾種模式同時(shí)支持,這樣才能同時(shí)滿足所有要素的需求??偨Y(jié)下來,我們需要結(jié)合實(shí)際的業(yè)務(wù)情況來最終確定應(yīng)用集成的方案(這個(gè)方案應(yīng)當(dāng)由主數(shù)據(jù)廠商、系統(tǒng)服務(wù)商和甲方共同制訂),最終依據(jù)方案進(jìn)行應(yīng)用集成的改造和集成。

主站蜘蛛池模板: 六枝特区| 五大连池市| 洪洞县| 张家口市| 陈巴尔虎旗| 东平县| 定日县| 南江县| 弋阳县| 长治县| 波密县| 光山县| 崇礼县| 汉川市| 扎赉特旗| 景东| 乐都县| 南岸区| 呼和浩特市| 宁强县| 昆明市| 沈阳市| 监利县| 青龙| 鲁山县| 万盛区| 区。| 垦利县| 武功县| 吉木乃县| 磐安县| 宜城市| 吉隆县| 彰化市| 北宁市| 昭觉县| 叙永县| 鲜城| 饶河县| 松桃| 崇明县|