当前位置: 简表范文网 > 专题范文 > 公文范文 >

异构数据交换平台智能局部代理研究与实现,优秀专业论文(全文)

| 来源:网友投稿

下面是小编为大家整理的异构数据交换平台智能局部代理研究与实现,优秀专业论文(全文),供大家参考。

异构数据交换平台智能局部代理研究与实现,优秀专业论文(全文)

 

 异构数据交换平台智能局部代理的研究与实现 摘 摘

 要 要:异构数据交换是指异构数据处理环境下不同数据源之间的互操作,本文针对传统数据交换平台中实时性差的缺点,对异构数据交换平台进行扩展,采用主动数据库技术在局部数据源端开发智能局部代理,捕获数据源的更新,从而实现实时的异构数据交换。文中对智能局部代理的设计进行了详细的阐述,并对其主要功能进行了实现,最后将其应用到某纺织企业的异构数据交换平台中,事实证明该智能局部代理可以有效的满足企业对实时数据交换的需求。

 关键词:数据交换,智能代理,主动数据库 中图分类号:TP311

  文献标识码:A Research and Realization of Heterogeneous Data Exchange Platform Intelligence Agent Abstract: Heterogeneous data exchange refers to the interoperability between different data sources under the heterogeneous data processing environment.This article expands the heterogeneous data exchange platform aiming to the bad real-time property of the traditional data exchange platform. It develops the intelligent local agent in the local data source through active database technology to capture the updates of data sources, so as to realize the real-time exchange of the heterogeneous data.The article describes the design of intelligent local agent in detail, and applies the main functions to the heterogeneous data exchange platform of a textile enterprise, which proves that the intelligent agent can effectively meet the real-time data exchange requirements of enterprise. Key words: Data Exchange, Intelligence Agent, Active Database 0 引言 随着企业信息化建设的逐渐深入,企业内部信息系统之间的实时的数据交换需求也进一步得到了提高,然而由于目前大多企业信息系统都是以非主动数据源为基础进行建立的,传统的数据交换平台也仅支持被动的数据交换。但对于制造企业,需要获取生产过程中产生的实时数据,这就需要异构数据交换平台能够提供主动的数据交换机制,当源数据源得到更新后,数据交换平台应该能够按照预先定义好的数据交换规则,将更新的数据及时加载到目标数据源中。

 由于 XML 具有跨平台和内容与结构相分离的特性,已经成为数据交换领域用来表示中间数据的事实上的标准,语义网中的本体作为共享模型的明确的形式化规范说明 [1] ,对消除异构系统间的语义异构问题提供了一个很好的解决方案。文献[2]和[3]提出了一种基于本体和 XML 的异构数据交换模型,而本文则针对棉纺制造业对实时数据交换的需求对基于本体的异构数据交换模型进行扩充,通过开发基于主动数据库技术的智能局部代理,使局部数据源具有主动服务的功能,从而实现异构数据源间实时的数据交换。

 1 主动数据库技术 主动数据库技术是使数据库系统具有主动服务功能的技术,它能够主动监视数据库事件 、根 据预 先定义 的规 则触 发相 应动作 。通 常情 况下 ,主动 数据 库技 术采 用ECA(Event-Condition-Action,事件-条件-动作)模型进行实现。

 要实现主动数据库的功能通常有三种方法 [4] :(1)在原有的数据库系统基础之上进行改造。该方法通过增加一个外部事件监视器监控数据库事件的发生,并执行相应的预定义动作。(2)将一般程序设计语言改造为主动程序设计语言。(3)重新设计一种主动数据库程序设计语

 言。上述方法中第一种方法比较容易实现,第二种方法在一定程度上可提高系统的运行效率,第三种方法最为彻底,但是实现上比较困难。

 目前主流的数据库系统(例如 SQL Server、Oracle 等)都提供了触发器机制用来实现主动数据库功能,触发器是一种特殊类型的存储过程,触发器在发生 INSERT、UPDATE 和DELETE 事件时触发,触发器中是用户希望在数据表发生变化时所执行的一些 SQL 语句。它可用于对约束、默认值和规则的完整性检查。根据触发器触发的事件不同,触发器可分为插入触发器、更新触发器和删除触发器。根据触发器发生的时间不同,可将触发器分为AFTER 触发器和 INSTEAD OF 触发器,AFTER 触发器在数据变动完成之后触发,而INSTEAD OF 触发器则在数据变动之前触发。

 本文利用原有的数据库技术对局部异构数据源建立基于表的各种触发器,实时的捕获局部数据源的数据更新,然后通过监听程序将捕获到的数据转换成 XML 格式并调用数据交换引擎将更新的数据加载到目标数据源。

 2 异构数据交换平台模型体系结构 经过扩展的异构数据交换平台模型体系结构如图 1 所示,该模型使用混合本体的方法解决异构数据库的语义异构问题。XML 作为数据交换平台的中间数据表示形式消除了异构数据源间的结构异构。数据交换平台采用 SOA 的架构,将局部数据源的包装器,局部智能代理以及数据交换模块等都封装成 Web 服务的形式,使得跨网络的数据交换成为可能。智能局部代理使用触发器机制感知局部数据源的变化,一旦发现需交换的数据得到更新,就调用数据交换服务,实现数据的同步更新。

 Web客户端SQLServerOraclePostgreSQL智能局部代理应用1适配器智能局部代理适配器智能局部代理适配器应用2应用3数据源层UDDIPKI安全设施安全管理用户管理日志管理本体库管理模式库管理数据交换层应用层SOAP/HTTPSOAP/HTTPSOAP/HTTPSOAP/HTTPSOAP/HTTPSOAP/HTTPHTTP本体库全局本体局部本体领域本体库局部数据源模式库模式1模式N本体映射器数据交换中心转换方案生成器数据转换器 图 1 异构数据交换平台体系结构图 3 异构数据交换平台智能局部代理设计 智能局部代理基于主动数据库机制,其通过感知数据库变化事件触发相应的处理机制,从而达到数据库的实时更新。局部智能代理主要采用数据库中的触发器技术对数据库变化事件进行检测,捕获数据库变化事件的类型和变化的数据,然后将变化的数据转换成 XML 格式与事件类型一起通过调用数据交换中心的数据交换服务传送到数据交换中心。智能局部代理的结构及进行数据交换的过程如图 2 所示。

 智能局部代理源数据库更新/插入触发器自动数据交换规则配置器监控器数据抽取器数据交换服务器端数据交换数据源端数据交换服务SOAP/HTTPXML数据监控线程数据交换中心调用触发器生成器自动创建目标数据库适配器服务数据加载XML解析器XML加载器SOAP/HTTP数据库连接配置文件XML数据智能代理数据库Hibernate图 2 智能局部代理数据交换过程 智能局部代理通过更新/插入触发器将捕获到的更新数据存储到临时数据缓冲区中,监控器每隔固定的时间对缓冲区,扫描到更新的数据后使用数据抽取器将缓冲区中的数据转换成 XML 格式并清空缓冲区,通过数据交换服务将待交换的数据传递到数据交换中心。数据交换服务通过局部本体和全局本体间的映射得到两个局部数据源间的映射关系,从而生成XSLT 转换文档,将源 XML 文档转换成符合目标数据库结构的目标 XML 文档后调用目标数据库的适配器服务将目标 XML 文档解析并加载到目标数据库中。由图 2 可知,智能局部代理主要由数据更新触发器、自动数据交换规则配置器和监控器组成。

 数据更新/插入触发器主要用到 AFTER 触发器,即在数据源更新完成之后触发。触发器触发的事件主要包括有更新和插入操作。在局部数据源端为每个数据表定义一个触发器,触发器的名称为表名加 trigger,例如表名为 chemical_fiber_test 的表所对应的触发器名称为chemical_fiber_test_trigger。触发器由触发器生成器根据触发器和数据表的映射关系自动进行创建。触发器将捕获到的更新数据存储到临时数据缓冲区中,该缓冲区是一个和原数据表结构相同的用于存储临时数据的表,表名通过事先设置好的映射得到,用于存储触发器和表的映射关系的数据表结构如表 1 所示:

 表 1 触发器和数据表的映射关系表 字段名称 中文含义 数据类型 备注 trigger_name 触发器名称 varchar(30) 主键 table_name 数据表名称 varchar(30)

 temp_table_name 缓冲区表名称 varchar(30)

 is_on 触发器是否开启 int

 触发器和数据表的映射关系表中所描述的数据表存储了一个触发器所对应的数据表和用于存储临时数据的表的名称,还使用 is_on 字段存储了当前触发器的状态,它用来判断触发器是否开启,0 代表触发器关闭,1 代表触发器开启。

 下 面分别以 SQL Server 和 Oracle 数据库为例 , SQL Server 中 创建 数据表chemical_fiber_test 的插入触发器的 Transact-SQL 语句为:

 CREATE TRIGGER

 chemical_fiber_test_trigger

 ON

 chemical_fiber_test

  FOR INSERT AS

 BEGIN

 IF object_id("chemical_fiber_test_temp","u") is not null--

 判断缓冲区表是否存在

  INSERT into chemical_fiber_test_temp select * from INSERTED

 ELSE

  SELECT * into chemical_fiber_test_temp from INSERTED END 创建 Oracle 行级插入触发器的 PL/SQL 语句为:

 CREATE OR REPLACE TRIGGER chemical_fiber_test_trigger AFTER INSERT ON chemical_fiber_test FOR EACH ROW BEGIN SELECT count(0) into num

 FROM user_tables WHERE table_name=" CHEMICAL_FIBER_TEST_TEMP’; IF num> 0 THEN--判断缓冲区表是否存在

  INSERT into chemical_fiber_test_temp select * from :new;

 ELSE

  SELECT * into chemical_fiber_test_temp from :new;

 END IF; END; 上述创建触发器的语句中先判断用于存储临时更新数据的缓冲区表是否已经存在,如果已经存在,则执行 INSERT INTO SELECT 语句,将 INSERTED 表中存储的新插入的数据复制到缓冲区表中,SQL Server 将被 INSERT 和 UPDATE 语句影响的新的数据行存储到INSERTED 表中,INSERTED 表是一个存储在内存中的临时表,通过查询 INSERTED 表可以得到新插入的数据行,Oracle 使用临时表 new 实现与 INSERTED 表同样的功能。如果缓冲区表不存在,则执行 SELECT INTO 语句。INSERT INTO SELECT 和 SELECT INTO 语句是分别用于目标表已存在和目标表不存在情况下的表复制语句。

 自动数据交换规则配置器是一个用于设置自动数据交换的 Web 服务,数据交换中心通过调用该配置器实现自动数据交换的开启和关闭操作。

 ALTER TABLE

 tableName ENABLE TRIGGER triggerName--开启触发器 ALTER TABLE

 tableName DISABLE TRIGGER triggerName--关闭触发器 在开启或关闭触发器的同时,数据交换规则配置器还需要将表 1 中所描述的表中触发器的状态设置为开启或者关闭状态。

 监控器由负责监控数据是否更新的监控线程和数据抽取器组成,监控线程每隔一定的时间对触发器处于开启状态的数据表所对应的缓冲区进行扫描,检查缓冲区中是否有新的数据行,如果有新的数据行,则将调用数据抽取器抽取更新数据并调用数据交换服务,然后清空数据缓冲区。如果数据交换成功,完成此次数据交换任务,否则数据交换中心将该次的数据交换失败信息记录到系统日志中,供管理员进行处理。如果没有数据更新则继续进行扫描。监控器在进行数据抽取的同时将每次数据抽取的详细信息以日志的方式进行记录,方便在发生错误时进行数据的修复。日志中主要记录了抽取的数据表名、数据数量、抽取时间等信息。为了提高智能局部代理的可移植性,它通过使用 Hibernate 访问用于保存监控日志和触发器与数据表映射关系数据库。

 4 智能局部代 理的实现

 下面以某棉纺制造企业数据交换平台为应用背景对智能局部代理进行实现。该棉纺企业在信息化建设过程中相继建立了原料质量管理、生产计划管理、配棉管理、财务管理、设备管理、供应链管理、成本控制管理等信息系统,这些系统由于建立时间和开发技术的不同导致了信息孤岛的存在,系统间的数据共享问题成了制约企业发展的瓶颈。并且由于企业分部需要及时的将产品的生产和销售数据汇总到总部,以便总部进行统计和决策支持,我们通过将智能局部代理应用到数据交换平台中实现该企业实时的数据交换。

 智能局部代理主要包括有四个主要功能,分别为监控程序管理、触发器初始化管理、触发器状态管理以及数据抽取日志管理。这里仅列出监控器的主要实现代码:

 public class Monitor { public static Timer timer; … public void startMonitor(int seconds){

 if (timer == null) {

  timer = new Timer();

  //启动监控线程

 timer.scheduleAtFixedRate(new MonitorTask(), new Date(),seconds * 1000);

 } } public void terminateMonitor(){

 timer.cancel();//结束监控线程 } class MonitorTask extends TimerTask {//内部类,用于执行数据抽取任务

  public void run() {

 String xmlData =””;

 try {

  xmlData = extractXML();//检测是否有数据更新,有则抽取数据

  transferXML(xmlData);//将抽取到的数据传输到数据交换中心

 } catch (Exception e) {

  e.printStackTrace();

 }

  }

  } public void transferXML(String xmlData){//调用数据交换引擎服务

 String endpoint =

 "http://localhost:8080/dataexchangeplantform/DataTransform...

相关推荐

热门文章

关于河流污染演讲稿合集(完整)

最近发表了一篇名为《关于河流污染的演讲稿》的范文,感觉很有用处,重新编辑了一下发到。演讲稿具有逻辑严密,态度明确,观点鲜明的特点。在不断进步的时代,能够利用到演讲稿的场合越来越多,在写之前,可以先参考范文。下面是小编为大家整理的关于河流的演讲稿,希望能够帮助到大家!关于河流污

2022年度大学生个人实习报告最新(完整文档)

最近发表了一篇名为《2022年大学生个人实习报告最新》的范文,觉得有用就收藏了,希望大家能有所收获。使大学生增加社会阅历,积累经验。社会阅历和工作经验是职业场中的决定因素。只有参加实习,通过实习的检验,才能积累自身的阅历和经验。小编在这给大家带来2022年大学生个人实习报告最新,欢迎大

2022教学工作会议演讲稿(全文完整)

《教学工作会议演讲稿》是一篇好的范文,觉得应该跟大家分享,希望大家能有所收获。演讲稿是人们在工作和社会生活中经常使用的一种文体。它可以用来交流思想,感情,表达主张,见解。也可以用来介绍自己的学习,工作情况和经验等等。下面是小编为大家整理的工作会议演讲稿,希望能够帮助到大家!教学工作会议演讲稿1各位:

优秀大学生实习报告【完整版】

最近发表了一篇名为《优秀大学生实习报告2022精选》的范文,好的范文应该跟大家分享,看完如果觉得有帮助请记得(CTRL+D)收藏本页。能拓展大学生的综合素质,培养适应型人才。实习是大学生拓展自身素质的主要载体之一,那么关于一份好的实习报告要怎么写?以下是小编为大家准备了优秀大学生实习报告2

2022年度集体荣誉感演讲稿大全【优秀范文】

本页是最新发布的《集体荣誉感演讲稿大全》的详细范文参考文章,感觉写的不错,希望对您有帮助,希望大家能有所收获。演讲稿是人们在工作和社会生活中经常使用的一种文体。它可以用来交流思想、感情,表达自己的主张、看法;也可以用来介绍自己的学习、工作情况和经验……下面是小编为大家整理的荣誉感演讲稿大全

三下乡社会实践报告最新

《2022三下乡社会实践报告最新》是一篇好的范文,好的范文应该跟大家分享,为了方便大家的阅读。随着个人的文明素养不断提升,报告的使用成为日常生活的常态,通常情况下,报告的内容含量大、篇幅较长,那么下面给分享关于2022报告最新,欢迎阅读!三下乡社会实践报告【篇1】20__年8月,队(新城区三分队)在

2022年度清明节感怀演讲稿【完整版】

本页是最新发布的《2022清明节感怀演讲稿》的详细范文参考文章,好的范文应该跟大家分享,重新编辑了一下发到。4月4日,是我国的传统节日:清明节,让怀着无比沉重和景仰的心情来缅怀革命,继承革命传统。你知道么,今天小编整理了清明节感怀演讲稿供大家参考,一起来看看吧!清明节感怀演讲稿一

小学生寒假安全教育家长心得3篇通用

本页是最新发布的《小学生寒假安全教育家长心得3篇通用》的详细范文参考文章,好的范文应该跟大家分享,这里给大家转摘到。是生命之本,安全是头等财富!我们每个人都应该重视自己安全。写一篇安全心得能让自己在安全教育过后的总结中得到许多的收获。你是否在找正准备撰写“小寒假安全教育家长心得”

五四青年节青春演讲稿

《五四青年节青春演讲稿2022》是一篇好的范文,觉得有用就收藏了,重新编辑了一下发到。青年们还要集中进行各种社会志愿和社会实践活动,还有许多地方在青年节期间举行****仪式。五四的核心内容为,进步,民主,科学。以下是小编为大家准备了五四青年节演讲稿2022范本,欢迎参阅。五四青年节青春演讲

2022大学自我鉴定毕业生登记表不足之处10篇(精选文档)

《大学自我鉴定毕业生登记表不足之处精选10篇》是一篇好的范文,感觉写的不错,希望对您有帮助,为了方便大家的阅读。对于刚刚毕业的生,写好一份自我鉴定也是进入岗位的开始,但刚毕业的大学生如何写好自我鉴定呢?下面是小编给大家带来的大学自我鉴定毕业生登记表不足之处精选10篇,欢迎大家阅读参考,我们一起来看看

梦想从这里起航演讲稿10分钟左右(全文完整)

本页是最新发布的《梦想从这里起航演讲稿10分钟左右》的详细范文参考文章,感觉很有用处,为了方便大家的阅读。是什么?是人们在梦里所大胆的想象,是美好的期望,它不一定会实现。那既然有可能实现不了,为什么还要人们拼命去实现呢?因为梦想的美好在于实现它的过程。下面是小编为大家整理的梦想从这里起航演

五四精神演讲稿

本页是最新发布的《2022五四精神演讲稿》的详细范文参考文章,感觉很有用处,这里给大家转摘到。演讲稿也叫演讲词,它是在较为隆重的仪式上和某些公众场合发表的讲话文稿。演讲稿是进行演讲的依据,是对演讲内容和形式的规范和提示,它体现着演讲的目的和手段。以下是小编整理的2022五四演讲稿