張鵬
摘要:為了滿足面向中小型企業(yè)應(yīng)用的B2B電子商務(wù)系統(tǒng)的平臺(tái)級(jí)信息化管理的需求,該文通過對(duì)數(shù)據(jù)集成技術(shù)的應(yīng)用研究,結(jié)合B2B電子商務(wù)系統(tǒng)的實(shí)際業(yè)務(wù)環(huán)境,研究出了平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)的設(shè)計(jì)方案,并對(duì)方案的實(shí)現(xiàn)給予部分展示。
關(guān)鍵詞:多數(shù)據(jù)庫;電子商務(wù);數(shù)據(jù)集成
中圖分類號(hào):TP391. 41 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1009-3044(2015)36-0141-02
隨著網(wǎng)絡(luò)信息技術(shù)的發(fā)展,業(yè)務(wù)復(fù)雜性的提高,用戶不在局限于本身存儲(chǔ)的數(shù)據(jù),而是需要通過網(wǎng)獲取跨領(lǐng)域、跨服務(wù)器的數(shù)據(jù),在這種背景下數(shù)據(jù)集成技術(shù)應(yīng)運(yùn)而生,總的來說,數(shù)據(jù)集成[2]是通過一些的技術(shù)手段,將分布式的、異構(gòu)的獨(dú)立數(shù)據(jù)源按照一定的規(guī)則統(tǒng)一起來,為用戶提供統(tǒng)一的數(shù)據(jù)接口,用戶以透明的方式訪問這些數(shù)據(jù),而不需要知道數(shù)據(jù)來自于哪個(gè)數(shù)據(jù)源。本文基于為中小企業(yè)開發(fā)的B2B電子商務(wù)系統(tǒng),該系統(tǒng)建立于多數(shù)據(jù)庫環(huán)境[1]下,為多家企業(yè)提供集中的信息智能化服務(wù),所有注冊(cè)企業(yè)共用一套應(yīng)用軟件,每個(gè)企業(yè)及其下屬企業(yè)擁有一套獨(dú)立的數(shù)據(jù)庫。因此,為了綜合管理各企業(yè),及其員工、銷售、倉庫等信息,需要采用數(shù)據(jù)集成技術(shù)為其設(shè)計(jì)開發(fā)一套平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)。
1 數(shù)據(jù)集成技術(shù)介紹
傳統(tǒng)的數(shù)據(jù)集成技術(shù)主要分為兩大類,基于數(shù)據(jù)復(fù)制的數(shù)據(jù)集成技術(shù)和基于中間件的數(shù)據(jù)集成技術(shù)。
1.1 基于數(shù)據(jù)復(fù)制的數(shù)據(jù)集成技術(shù)
基于數(shù)據(jù)復(fù)制的數(shù)據(jù)集成技術(shù)需要設(shè)置一個(gè)集成數(shù)據(jù)庫,將來自不同數(shù)據(jù)源的數(shù)據(jù)復(fù)制到集成數(shù)據(jù)庫中,針對(duì)異構(gòu)性的數(shù)據(jù)源還要經(jīng)過抽取、轉(zhuǎn)換、加載(Extract、Transform、Lode,ETL)[3]的過程來消除異構(gòu)性,用戶訪問數(shù)據(jù)集成系統(tǒng)時(shí)直接從集成系統(tǒng)獲得數(shù)據(jù)而不需要再訪問各數(shù)據(jù)源。通常所說的數(shù)據(jù)倉庫方法就是基于數(shù)據(jù)復(fù)制的數(shù)據(jù)集成方式。此方法的缺點(diǎn)是數(shù)據(jù)更新不夠及時(shí),時(shí)效性略差。
1.2 基于中間件的數(shù)據(jù)集成技術(shù)
此方法也叫虛擬視圖法,主要包括兩部分:中介器(Mediator)和包裝器(Wrapper),將來自不同數(shù)據(jù)源的異構(gòu)性數(shù)據(jù)進(jìn)行包裝,消除數(shù)據(jù)源的異構(gòu)性[6],向用戶提供一個(gè)虛擬的用戶視圖,基于中間件的數(shù)據(jù)集成系統(tǒng)本身不存儲(chǔ)任何實(shí)際的數(shù)據(jù),用戶在虛擬視圖的基礎(chǔ)上向中介器發(fā)出數(shù)據(jù)查詢請(qǐng)求,中介器將查詢請(qǐng)求分解為面向各數(shù)據(jù)源的子查詢請(qǐng)求,包裝器執(zhí)行子查詢將經(jīng)過包裝的數(shù)據(jù)返回給中介器。由于數(shù)據(jù)集成系統(tǒng)中沒有存儲(chǔ)實(shí)際的數(shù)據(jù),用戶查詢的數(shù)據(jù)都是最新的,所以相對(duì)于基于數(shù)據(jù)復(fù)制的數(shù)據(jù)集成方法此方法的時(shí)效性要好。
2 平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)體系結(jié)構(gòu)
針對(duì)平臺(tái)用戶的需求分析,平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)[4]擦用基于B/S體系Spring MVC框架設(shè)計(jì)模式的解決方案,B/S體系是隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展采用互聯(lián)網(wǎng)模式構(gòu)建的數(shù)據(jù)訪問系統(tǒng),系統(tǒng)設(shè)計(jì)為三層模型,如圖1所示,數(shù)據(jù)層系統(tǒng)依托于B2B電子商務(wù)系統(tǒng)的基于Oracle的分布式多數(shù)據(jù)庫環(huán)境,有個(gè)數(shù)據(jù)庫分布在多個(gè)服務(wù)器上,存儲(chǔ)各個(gè)企業(yè)節(jié)點(diǎn)的業(yè)務(wù)數(shù)據(jù),各數(shù)據(jù)庫服務(wù)器的鏈接采用DBLINK技術(shù),次技術(shù)為分布式數(shù)據(jù)庫應(yīng)用環(huán)境的兩臺(tái)數(shù)據(jù)庫實(shí)現(xiàn)跨數(shù)據(jù)庫訪問搭建通信橋梁,通過DBLINK本地?cái)?shù)據(jù)庫可以像訪問本地?cái)?shù)據(jù)庫一樣訪問遠(yuǎn)程數(shù)據(jù)庫。中間層為系統(tǒng)核心功能層應(yīng)用服務(wù)層,完成主要的數(shù)據(jù)集成工作以及數(shù)據(jù)集成完整性監(jiān)控工作。上層為應(yīng)用顯示層主要為用戶提供集成數(shù)據(jù)的查詢與集成結(jié)果的展示工作。
本系統(tǒng)作為一個(gè)web應(yīng)用運(yùn)行在一個(gè)web服務(wù)器上,用戶只需通過瀏覽器即訪問系統(tǒng)的應(yīng)用顯示層界面,當(dāng)前流行的WEB開發(fā)有多種,例如C#,PHP,J2EE等,本系統(tǒng)采用基于JAVA的J2EE WEB開發(fā)技術(shù),因?yàn)镴2EE是面向企業(yè)級(jí)應(yīng)用開發(fā)的平臺(tái)[5],通過基于組件的程序模型為分布式應(yīng)用提供統(tǒng)一的標(biāo)準(zhǔn),具有可伸縮性、靈活性、易維護(hù)性等優(yōu)點(diǎn)。
2.2 系統(tǒng)集成數(shù)據(jù)模型設(shè)計(jì)
平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)需要綜合反映出所有注冊(cè)企業(yè)的基本信息,如企業(yè)的銷售額統(tǒng)計(jì)、企業(yè)和倉庫的正常、注銷等情況,企業(yè)信息可直接取自各企業(yè)數(shù)據(jù)節(jié)點(diǎn)的企業(yè)信息表,而銷售額統(tǒng)計(jì)信息則需要統(tǒng)計(jì)過各個(gè)企業(yè)數(shù)據(jù)節(jié)點(diǎn)的訂單之后通過計(jì)算得到,因此臺(tái)賬表的數(shù)據(jù)直接或間接來源于企業(yè)數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表,數(shù)據(jù)模型如圖2所示,依據(jù)該模型,為本系統(tǒng)設(shè)計(jì)了三張平臺(tái)級(jí)臺(tái)賬數(shù)據(jù)表,存儲(chǔ)各企業(yè)數(shù)據(jù)節(jié)點(diǎn)集成而來的數(shù)據(jù),分別為企業(yè)銷售臺(tái)賬表,企業(yè)信息臺(tái)賬表和企業(yè)倉庫信息臺(tái)賬表。
2.3 數(shù)據(jù)集成策略選擇
B2B電子商務(wù)系統(tǒng)基于分布式多數(shù)據(jù)庫環(huán)境下,多個(gè)企業(yè)數(shù)據(jù)節(jié)點(diǎn)分布在不同的數(shù)據(jù)庫服務(wù)器上,因此存在兩種數(shù)據(jù)集成策略,一種是平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)輪流調(diào)度節(jié)點(diǎn)拉取數(shù)據(jù),一種是分布式企業(yè)數(shù)據(jù)節(jié)點(diǎn)主動(dòng)向平臺(tái)級(jí)電子臺(tái)系統(tǒng)推送數(shù)據(jù)。采取第一種方式,平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)按企業(yè)編號(hào)串行抽取數(shù)據(jù)獲得數(shù)據(jù),此策略需要維護(hù)一張企業(yè)調(diào)度表,針對(duì)添加和注銷企業(yè)的情況,需要實(shí)時(shí)維護(hù)調(diào)度表,另外企業(yè)數(shù)據(jù)的傳輸量不固定,數(shù)據(jù)傳輸量的大小決定數(shù)據(jù)集成用時(shí)的長短,而且系統(tǒng)集成方式設(shè)計(jì)為定時(shí)集成策略,當(dāng)企業(yè)節(jié)點(diǎn)規(guī)模擴(kuò)大時(shí)采取此策略會(huì)導(dǎo)致等待調(diào)度的時(shí)間大大延長,消耗不必要的時(shí)間,同時(shí)由于時(shí)間點(diǎn)的錯(cuò)位也可能導(dǎo)致集成數(shù)據(jù)的不準(zhǔn)確。而分布式節(jié)點(diǎn)主動(dòng)推送數(shù)據(jù)的策略不需要額外維護(hù)調(diào)度表,靈活性高,而且根據(jù)平臺(tái)級(jí)臺(tái)賬系統(tǒng)的實(shí)際需求企業(yè)節(jié)點(diǎn)推送的數(shù)據(jù)不會(huì)過大,同時(shí)企業(yè)節(jié)點(diǎn)定時(shí)準(zhǔn)備數(shù)據(jù)、推送數(shù)據(jù),可以保證數(shù)據(jù)的準(zhǔn)確性。
因此,根據(jù)實(shí)際應(yīng)用綜合比較后,采取企業(yè)數(shù)據(jù)節(jié)點(diǎn)定時(shí)主動(dòng)推送的集成策略,并且依據(jù)數(shù)據(jù)更新的頻率,將企業(yè)信息和倉庫信息的推送設(shè)置為按月推送,企業(yè)銷售額信息則設(shè)計(jì)為按日定時(shí)推送,以便用戶及時(shí)掌握各企業(yè)的銷售情況。
2.4 集成數(shù)據(jù)完整性監(jiān)控
首先,為保證集成數(shù)據(jù)的準(zhǔn)確性和完整性,需要設(shè)計(jì)一張集成日志信息表,當(dāng)企業(yè)數(shù)據(jù)節(jié)點(diǎn)向平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)表推送完數(shù)據(jù)后,向此數(shù)據(jù)表插入一條數(shù)據(jù)表明數(shù)據(jù)推送完畢,該條數(shù)據(jù)表示推送數(shù)據(jù)的數(shù)據(jù)庫實(shí)例,數(shù)據(jù)表空間,推送時(shí)間、數(shù)據(jù)推送數(shù)據(jù)量等推送日志信息。
然后,各企業(yè)數(shù)據(jù)節(jié)點(diǎn)推送完數(shù)據(jù),啟動(dòng)一個(gè)監(jiān)控進(jìn)程,設(shè)置數(shù)據(jù)推送一個(gè)小時(shí)之后啟動(dòng),工作分為兩步,一是統(tǒng)計(jì)數(shù)據(jù)推送日志信息,對(duì)比日志信息和企業(yè)數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)量,二是判斷集成信息日志表是否包含所有企業(yè)數(shù)據(jù)節(jié)點(diǎn),因?yàn)楫?dāng)出現(xiàn)網(wǎng)絡(luò)故障時(shí),如一個(gè)企業(yè)節(jié)點(diǎn)失去聯(lián)系,則該數(shù)據(jù)節(jié)點(diǎn)數(shù)據(jù)不會(huì)推送成功,因此集成日志信息將沒有該節(jié)點(diǎn)的日志信息,當(dāng)出現(xiàn)上述兩種情況時(shí)標(biāo)明該企業(yè)節(jié)點(diǎn)數(shù)據(jù)集成失敗,監(jiān)控進(jìn)程要對(duì)失敗的企業(yè)數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)重新集成,因?yàn)楸WC合理性,應(yīng)對(duì)突發(fā)性網(wǎng)絡(luò)故障,監(jiān)控進(jìn)程要執(zhí)行三次每個(gè)一小時(shí)啟動(dòng)執(zhí)行一次,執(zhí)行完后對(duì)仍然數(shù)據(jù)集成失敗的企業(yè)數(shù)據(jù)節(jié)點(diǎn)要設(shè)置推送結(jié)果標(biāo)志位字段,表明該企業(yè)數(shù)據(jù)節(jié)點(diǎn)數(shù)據(jù)集成失敗,平臺(tái)用戶根據(jù)集成日志信息表,排查原因,并設(shè)置對(duì)數(shù)據(jù)集成失敗的企業(yè)節(jié)點(diǎn)采用手動(dòng)集成的方式重新集成數(shù)據(jù)功能。監(jiān)控工作流程圖3所示:
2.5 實(shí)驗(yàn)結(jié)果部分展示
以企業(yè)銷售臺(tái)賬為例,企業(yè)銷售臺(tái)賬需要企業(yè)節(jié)點(diǎn)每日零點(diǎn)定時(shí)推送當(dāng)日銷售額,以供平臺(tái)級(jí)用戶了解各企業(yè)節(jié)點(diǎn)的銷售情況,如圖4所示:
3 結(jié)束語
本文首先介紹了數(shù)據(jù)集成的概念,并介紹一些集成方法,接著基于B2B電子商務(wù)系的實(shí)際需求,設(shè)計(jì)了平臺(tái)級(jí)電子臺(tái)賬系統(tǒng)的系統(tǒng)結(jié)構(gòu),數(shù)據(jù)模型,提出了數(shù)據(jù)主動(dòng)推送的數(shù)據(jù)集成策略,并對(duì)相關(guān)實(shí)驗(yàn)結(jié)果給予展示。但是隨著企業(yè)節(jié)點(diǎn)的逐步增多,數(shù)據(jù)集成策略的優(yōu)化將是今后研究的重點(diǎn)。
參考文獻(xiàn):
[1] 吳明禮, 張其麟. 基于Oracle實(shí)現(xiàn)多數(shù)據(jù)庫環(huán)境多級(jí)數(shù)據(jù)倉庫的ETL[J]. 現(xiàn)代計(jì)算機(jī), 2014(5): 54-57.
[2] 龔建華. 數(shù)據(jù)集成技術(shù)研究[J]. 辦公自動(dòng)化雜志, 2012(5): 52-53.
[3] 李軍, 孫蕾, 王澤芳. 基于ETL 的校園數(shù)據(jù)集成技術(shù)研究[J]. 電腦知識(shí)與技術(shù), 2013(28).
[4] 王家宏, 孫晉海, 尹超. 基于數(shù)據(jù)集成的水上項(xiàng)目國家隊(duì)數(shù)據(jù)庫網(wǎng)絡(luò)管理平臺(tái)的設(shè)計(jì)與開發(fā)[J]. 山東體育學(xué)院學(xué)報(bào), 2015, 31(1): 1-7.
[5] 劉雍, 陳振中. 基于J2EE和XML的數(shù)據(jù)集成技術(shù)研究[J]. 科技信息, 2013(5).
[6] 張靜. 高校異構(gòu)數(shù)據(jù)集成的分析與設(shè)計(jì)[J]. 科技經(jīng)濟(jì)市場, 2010(7): 3-5.