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