电子商务毕业论文

数据交换实现模式

时间:2022-10-05 22:02:07 电子商务毕业论文 我要投稿
  • 相关推荐

数据交换实现模式

  数据交换实现模式【1】

  摘 要 随着互联网的广泛普及以及用户计算机数量的剧增,各种数据呈现爆发式增长,其具有来源广泛,类型各异等特点。

  数据交换需要提供数据载体对异构数据库中的数据进行数据描述。

  XML和CSV作为两种数据描述语言,具有各自的特点,文章对两者进行介绍和比较并介绍了数据交换的实现模式。

  关键词 XML;CSV;数据交换

  1 XML和CSV数据描述语言比较

  1.1 XML语言描述

  可扩展置标语言(eXtensible Markup Language,简称XML),又称可扩展标记语言,是一种置标语言。

  置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。

  如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。

  XML是从标准通用置标语言(SGML)中简化修改出来的。

  它主要用到的有可扩展置标语言、可扩展样式语言(XSL)、XBRL和XPath等。

  1.2 CSV介绍

  逗号分隔型取值格式(英文全称为Comma Separated Values,简称CSV),是一种纯文本格式,用来存储数据。

  在CSV中,每一行都对应表中的行,数据的字段由逗号分开,每个字段都对应一个表中的数据项。

  由于CSV文件格式非常简单,并支持几乎所有的电子表格和数据库管理系统,所以CSV文件常常被用于两个不同的计算机程序的移动表格数据,例如关系数据库程序和电子表格程序。

  许多编程语言提供了库支持CSV文件。

  因此该格式广泛应用于数据的导入和导出。

  在计算机科学方面,这种类型的格式是所谓的“平面文件”,因为只有一个表可以存储在CSV文件。

  大多数系统都使用了一系列的表来存储他们的信息,因此往往信息重复几次,才能创建一个文件。

  1.3 XML同CSV比较

  1)应用XML可以使用XPath,XML Schema,XSLT这些宣告性(Declarative)的技术,如果用CSV就要用程序性(Procedural)的方式来达到同样的效果。

  宣告语句比程序语句更容易维护,换句话说就是CSV中无法包含属性定义信息,所以要编写相应的解释程序,大大增加了编程量。

  2)另外XML是一种描述性的跨平台语言,他可以很方便的表示节点的含义,而CSV在这方面比较弱一些。

  3)在C#或java中都有相对应的底层XML处理接口,可以很方便的去操作XML,而CSV则必须重新编写底层处理接口,这样也大大的增加了编程量。

  4)CSV文件是扁平式的文件格式,只能描述一个表的数据,而XML是具有自描述能力的结构化的文件格式,能够描述任意多表的数据,以及表之间的关系。

  综上所述,建议选用XML技术来实现数据交换共享。

  2 数据交换的实现模式

  2.1 面向应用接口的交换模式

  面向应用接口的数据交换模式,即通过各个应用接口在接口之间转换、传输数据。

  通过这种交换模式,开发人员就可以将现有应用捆绑在一起,实现对数据逻辑与信息的共享,但这种交换模式要受到接口特征以及接口功能的限制。

  2.2 面向数据的交换模式

  面向数据的数据交换一般是在不同系统的数据库之间进行的,通过将数据从A数据源移植到B数据源来完成数据交换。

  这种交换模式可以直接在数据访问层作应用系统开发,而不用对应用逻辑与数据结构作任何改变。

  但是因为这种模式需要直接对数据库进行操作,程序员需要对原有数据访问层做大量修改,而且在修改的同时又必须保证数据的完整性,因此在通过互联网进行数据交换时,由于系统需要详细了解交换双方数据库的结构以及实现方式,所以需要承担很高的安全风险,而且,对于不同的应用,这种交换模式还需要作不同的设计,因而系统的可重用性很差。

  2.3 面向服务的中间数据交换模式

  面向服务的中间数据交换模式,即在网络环境中的跨平台应用程序之间,建立一个可供多方共享的中间数据服务层,这些服务与数据库物理分离,数据接收方通过这些数据服务来获取对方数据的一种模式。

  面向服务的中间数据交换模式对数据接口的开放性和安全性方面来说都是最佳的一种模式。

  数据提供方通过建立一系列的中间数据服务,针对不同的第三方系统灵活定制不同的数据服务,同时制定不同的开放策略,灵活性很高。

  数据接收方要获取数据,必须先获得调用中间服务的许可权,有了许可权,就可以直接调用开放的中间数据服务来获取想要的数据。

  中间数据服务的开发语言可以有很多种,最常见的有基于.Net或J2EE架构下开发的Web Service服务。

  Web服务(Web Service)是近年内兴起的另一种基于Internet的技术,在近几年受到了极大的关注。

  该技术的出现标志着人类已经迈入应用程序开发技术的新纪元,它使得Internet不仅是传输数据的平台,也变成了传递服务的平台。

  采用面向服务的中间数据交换模式可以实现互联网环境下的企业应用的松散耦合和集成,使各个应用系统可以方便的集成现有的应用并开发新的应用。

  参考文献

  [1]冯延晖,叶毅峰.XML完全手册[M].北京:中国电力出版社,2000.

  [2]Subrahmanyam Allamaraju Cedric Buest John Davies等.J2EE编程指南[M].北京:电子工业出版社,2002.

  [3]Natanya Pitts,等.XML技术内幕[M].北京:机械工业出版社,2002.

  [4]杨剑,唐慧佳,孙林夫,等.基于XML的异构数据交换系统的研究与实现[J].计算机工程,2005,31(19):195-197.

  基于XML的数据交换的研究与实现【2】

  摘要:近年来,随着数据交换的发展,HTML因其难以扩展、交互性差等缺陷严重阻碍了数据交换前进的脚步。

  而XML凭借简单、规范、平台无关性、自描述性等优势在数据交换技术中得到了广泛的应用。

  本文采用XML技术完成了一个数据交换系统,实现了异构数据的交换,达到了信息共享的目的。

  关键词:XML;数据交换;异构数据

  HTML作为描述Internet上信息的一种语言,由于简单易用,有力地促进了Internet的发展。

  但是HTML难以扩展、交互性差、语义性差以及单向的超链接等缺点使其在电子数据交换、数据库与搜索引擎等领域的应用存在着障碍[1]。

  为了解决这个问题,W3协会制定了一种可扩展标记语言,即XML[2] (eXtensible Markup Language)。

  XML的优点使得其迅速成为一个与平台无关、厂商无关的数据格式标准[3]。

  首先,XML简单、规范,使得对XML的查询简单;其次,XML跨平台的特性让它在异构数据库系统的应用中解决了平台无关性;另外,XML的自描述性为描述数据库的全局数据字典提供了简单、快捷、高效的方法。

  1 数据交换和XML技术

  数据交换是指数据在不同的信息实体之间的相互发送、传递的过程。

  实行数据交换的不同信息实体必须统一建立一种数据传输的标准格式,因此在数据交换过程中会涉及到不同数据格式之间的转换和适配。

  XML标准的出现,使基于统一的规范格式的数据交换系统在实现技术上成为可能,各个应用系统可以制订底层数据交换的规范,并定制符合自己领域需要的配套标签[4]。

  利用XML文档作为中间数据源实现数据库间信息的交换需要将信息从源数据库提取出来转移到XML文档,然后再将信息从XML文档转移到目的数据库。

  2 系统设计与实现

  2.1 系统结构和流程

  考虑到系统的整体功能,系统采用B/S三层架构,分别为基于Web浏览器的表示层、处理逻辑关系的业务层以及处理数据关系的数据层。

  本系统采用的开发环境和开发工具为:Microsoft Windows Server 2008、Microsoft Visual Studio 2008、SQL Server 2005。

  为了满足数据交换的要求,通常数据交换系统包括数据发送和数据接收这两个部分。

  数据发送部分的工作主要是把需要交换的数据通过一定的方式发送出去,而数据接收部分的工作主要是把从发送端接收到的数据进行解析并保存。

  基于以上情况,本文设计的系统将通过以下的流程运行:系统接收到发送请求以后,立即对数据库执行查询操作,并把数据导入到数据处理部分。

  数据在数据处理部分被封装成XML并打包成ZIP文件,然后发送出去,再由接受端解压ZIP文件并解析XML文件,生成数据并更新数据库,返回结果。

  这个过程可由图1表示。

  2.2 数据的生成

  两个系统之间进行数据交换,如果传输的数据非异构数据,则数据可以直接交换。

  但实际情况中,大多数的数据交换都是基于异构数据的交换,数据不能直接传输,必须以其他方式传输。

  本文首先会将数据库中的表转换为XML文件,然后再进行交换。

  具体实现过程如下:当接收到发送请求以后,系统会立即对数据库进行查询操作。

  判断数据在数据库中对应的表之后,实例化业务层中对应的类,调用在数据层中定义的GetList方法将所需要的数据导入到DataSet。

  DataSet中的数据会经由WriteXml(string fileName)方法转换为XML文件并存入指定的文件夹。

  2.3 数据的压缩和解析

  如果文件的传输以XML进行,将会导致文件数量庞大,过程繁琐,较容易出错,因此系统会将XML文件压缩成ZIP文件进行传输。

  压缩部分的主要步骤是:首先找出需要传输的XML文件,存入数组,再压缩成ZIP文件。

  该功能部分代码如下:ArrayList al = new ArrayList();

  string stSJ = DateTime.Now.ToString("yyyyMMddHHmm");

  string[] stFiles = new string[al.Count];

  string stFilename = this.Server.MapPath("temp/");

  al.Add("D:WebSitessjjhxml" + stname + "" + stname + " " + stSJ + ".xml");

  for (int ii = 0; ii < al.Count; ii++)

  {stFiles[ii] = al[ii].ToString();}

  zip(stFiles, stFilename, stSJ);

  为了确保安全性,在ZIP文件传输之前系统用MD5对其进行加密操作。

  当接收端接收到ZIP文件之后,首先用Unzip方法解压,并验证MD5的值,与原文件中MD5值相同则验证通过,不同则返回重传。

  得到XML文件以后,首先利用DirectoryInfo类和FileInfo类获取每个XML文件,并用ReadXml方法将XML中的数据转入DataSet。

  接下来必须判断这些数据对应的数据库中的表,由于每个XML的文件名都事先由表名和时间定义,而时间是长度为16的字符串,因此用finame.Remove(finame.Length - 16)即能获取相应的表名。

  在存入数据库之前,必须保证这些数据与目标数据库中的数据不重复。

  由于每条数据的ID是唯一的,因此用判断ID是否存在来判断数据的重复与否。

  在存入每条数据之前用方法Exists(string ID)检测ID,如重复则更新该条数据,不重复则存入数据库。

  2.4 数据交换日志

  为了方便查询和管理,在每次完成数据交换之后,系统都会提供相应的数据交换日志。

  该日志包含时间、是否成功以及备注,其中备注的格式为“导入表名为:T_BGSL。

  导入数据总共14条,成功13条,失败0条,重复1条”。

  具体实现过程如下:在dataset中的数据导入数据库之前加入try{……}catch{ intsb++;},在将每条数据库逐一导入数据库之前加入try{ …… intcs++;}catch{ intss++;}。

  如果导入失败,intsb的值为1,而intcs则为导入成功的条数,intss为导入失败的条数。

  3 总结

  本文结合实际需求,利用VS2008构建了一个基于XML的数据交换系统,实现了异构数据库之间的信息共享,并提供了相应的数据交换日志。

  本文的不足之处是,系统对数据库中表的格式和XML文件的格式有严格的要求,只有格式一致才能复用。

  参考文献:

  [1]王海波,耿晖,姜吉发,白硕,祝明发. 基于XML的数据交换的实现[J]. 计算机应用,2010.4

  [2]W3C.XML[DB/OL].http://www.w3school.com.cn/xml/index.asp.2012-03-01/2011-03-012.

  [3]孙冬冬,张景,怀等.基于XML,SOAP的企业应用集成技术[J].计算机工程与应用,2003(31):205—207.

  [4]尹建璋.基于XML的应用层数据交换技术的研究[J].计算机与现代化,2009,9(8).

  基于ODI的数据交换平台设计与实现【3】

  【摘 要】随着高校信息化的建设的加速,信息孤岛现象目益严重,构成了一个庞大的异构环境。

  为了解决信息孤岛带来的信息屏障,就必须建立一个统一的情息平台作为桥梁。

  本文介绍了一种基于ODI的数据交换平台的总体架构,然后根据总体架构ODI的监控进行设计,从而实现对数据交换过程的监控,提高网络管理员的管理效率。

  【关键词】信息孤岛;数据交换;ODI;共享数据库

  0.引言

  随着信息化的普及,高校校园网上运行的业务子系统日益增多,这些应用系统在为学校师生提供信息服务的同时,也提高了学院的管理手段和方法。

  然而,这些应用系统在建设初期只是根据应用部门的实际需求而设计开发,并没有统一的设计规划,所采用的编译环境和数据库也不一样,形成了一个个相对独立的信息孤岛,如何将这些网络资源进行统一管理,是高校网络管理急切需要解决的问题[1]。

  Oracle公司的ODI数据集成工具,可以实现大多数异构数据的交换,但数据交换工作均在后台实现,所以实现数据交换过程的监控是提升数据交换管理的一个有效手段。

  1.数据集成的现状

  就高校而言,数据集成工作还处于初级阶段,往往是用户根据需要而将一些分散的数据按照某种形式进行一些简单集成工作,这些集成工作大多都是系统之间、应用对应用之间以及数据库之间的某个表的映射[2],随着高校应用系统的日益增加,这些看视简单的集成关系往往没有起到推进作用,相反却制约着信息化的发展。

  所以,集成、整合校园内众多应用系统内的所有数据,其中包括已有的和即将开发的应用系统,使用户能够得到一个统一的应用环境,统一的服务界面,这是实现信息化校园的一个关键问题[3]。

  数据交换平台的建设是整个信息化校园建设中的重中之重,它将从整体上对信息化校园的建设工作给予规划和指导;在功能上完成不同系统之间的数据交换[4];在管理上减少管理人员的工作量,因此数据交换平台在信息化校园建设中显得尤为重要。

  2.ODI和ODI的工作原理

  2.1 ODI

  ODI是Oracle公司在2006年10月收购Sunopsis公司后,整合Sunopsis Active Integration Platform而推出的一款E-LT(Extraction- Loading Transformation)数据集成工具,与传统的ETL(Extraction Transformation Loading)工具不同之处在于,ODI在实施数据交换时提供了设计方法,以便更好地实施系统间的无缝集成和实时集成。

  2.2 ODI的工作原理

  ODI可以完成对大多数异构数据源的集成工作。

  ODI提供了调用 web service的机制,同时ODI的接口也可以暴露为web service组件,从而可以和SOA环境进行交互[5]。

  ODI里有100多个KM(知识模块),ODI把数据抽取和数据订阅的实现过程详细的记录到KM中,KM可以使用Jython脚本语言和SQL语句编辑完成。

  相对于用户来说更为方便,有些集成工作用户可以直接利用KM来完成数据交换的工作,当然KM也可由用户单独编辑,同时这些可热插拔的知识模块,增加了ODI的灵活性和可扩展性[6]。

  ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),本项目主要应用的是LKM(load KM)、IKM(Integration KM)和SKM(Service KM):

  RKM:对数据源的数据结构和目标数据的数据结构的捕捉,建立一种数据模型,形成映射关系。

  CKM:对数据源进行质量检查。

  JKM日志记录知识模块,记录表或视图等中的新数据和更新的数据。

  LKM:将数据源的数据加载到ODI系统库的临时表中。

  LKM:将ODI系统库临时表中的数据加载到目标数据库中。

  SKM:ODI和WEB服务接口。

  3.系统设计与实现

  3.1整体设计

  根据需求分析,数据交换平台在结构上可以分为一下几个部分组成,其关系图如图1所示。

  其中监控模块是数据交换过程的Web展示。

  图1数据交换平台关系图

  3.2监控管理模块的设计

  监控管理模块是利用ODI的系统库,针对数据交换平台的管理人员开发的管理模块,该模块能对数据交换平台所交换的数据提供更直观的展示,并且能及时、准确的提供异常数据,方便平台管理员管理和维护。

  该模块根据功能可以分为:集成信息服务展示、运行状态监控、异常管理、集成数据统计、系统管理等五个子模块,系统总体功能结构图如图2所示。

  图2监控模块功能图

  集成信息展示能为管理员提供,在数据集成过程中涉及的所有项目、子项目、流程等信息,包括创建用户、创建时间以及最近修改用户和修改时间。

  集成数据统计将集成的所有项目、子项目、包、接口等信息以图表的形式作出展示,用户可以根据条件进行查询,并能展示在集成过程中所有增量和删除数据的比例以及集成数据数量的趋势。

  运行监视提供所有任务的运行状态和执行时间,ODI执行过程中把任务的执行时间表示为一个个Agent,在后台中用Agent控制任务的启动和停止。

  异常管理将ODI集成过程中的经常出现的抛出异常信息展示出来,利用消息提醒和邮件的方式提示网络管理员。

  同时建立一个知识库将这些错误信息和处理办法进行统计,以方便其他管理员进行管理。

  用户管理是针对不同部门的管理员提供访问权限。

  3.3监控管理模块的实现

  为了提高开发速度和开发效率,提高代码的可重用性和可维护性,降低系统的耦合度,系统采用了JSF+Spring+Hibernate +Webservice为开发框架。

  主要技术应用关系图如下图3所示。

  图3主要技术应用关系图

  ODI数据集成工具主要负责业务数据库和共享数据库中数据抽取和数据订阅。

  Hibernate主要完成对数据库的操作,Hibernate通过JDBC实现与底层关系数据库的交互,这里的数据库指的是ODI系统库。

  Sring负责处理用户请求的业务逻辑,提供业务模型组件,业务模型组件通过调用DAO(数据访问对象)操纵数据库,完成业务逻辑。

  IOC还提供事物处理、缓冲池等容器组件,提升系统性能,保证数据完整性。

  Web Service作为通用Web调用接口,负责客户端与服务应用组件的通信[7]。

  4.系统测试

  模拟一些数据,将数据的抽取和数据的订阅的过程进行测试,把业务库到共享库的集成看做是数据抽取,把共享库到业务库的集成看做是数据订阅,结果表明可以进行数据交换,同时监控平台对数据集成的信息的抓取和对异常信息的捕获也是准确、无误,基本实现了功能需求。

  5.总结

  数据交换平台是信息化校园中的核心组成部分,是信息化校园中信息传输和交换枢纽。

  通过数据交换平台的建设将全校的数据进行清洗、整合和统一存放,即完成了全校范围内的信息共享,为数据的查询、分析奠定了基础,又保留了各业务系统原有数据库,保证了各业务系统的完整性。

  【参考文献】

  [1]孔存金.数字化校园共享数据中心建设研究[D].北京:北京大学学位论.

  [2]蒋东兴,陈怀楚,郭大勇.大学资源计划理论探讨与实践[J].教育信息化. 2005(9):4-7.

  [3]王旭,蒋东兴,陈怀楚.大学资源计划的理论与发展[J].教育信息化.2005(11):14-16.

  [4]肖麒.数据交换平台技术在校园管理中的应用[D].江苏:浙江大学学位论文,2009.

  [5]Oracle.Oracle Hyperion Data Relationship Management[EB/OL].[2011-4-28].

  [6]Oracle.The Oracle Data Integrator Enterprise Edition Configuration files[P].2008.

  [7]Paul M.An introduction to Web Services.BT Technology Journal,2004,(22):9-18.

【数据交换实现模式】相关文章:

电子政务系统中数据交换模式的比较10-05

跨企业协同信息管理竞争力物流实现模式10-05

中国特色人力资源当期实现价值计量模式的构建10-08

计算机网络数据交换技术论文10-09

计算机网络数据交换技术的发展论文10-11

实现梦想征文06-11

实现梦想作文02-25

网络规划及实现09-30

实现梦想的作文10-26