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