基于多数据库环境数据集成技术的研究
2016-03-04张鹏
张鹏
摘要:为了满足面向中小型企业应用的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.