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

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

| 来源:网友投稿

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

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

 

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

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

 关键词:数据交换,智能代理,主动数据库 中图分类号: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...

相关推荐

热门文章

关于珍爱生命作文800字高中【精选推荐】

范文参**网最近发表了一篇名为《2022关于珍爱生命的作文800字高中【】》的范文,感觉写的不错,希望对您有帮助,重新整理了一下发到这里。在平日的学习、工作和生活里,大家都不可避免地要接触到作文吧。下面小编为大家整理了2022关于的作文800字高中【5

草房子第一章秃鹤心得感悟合集【精选推荐】

《草房子第一章秃鹤的心得感悟》是一篇好的范文,觉得有用就收藏了,这里给大家转摘到。草讲述了发生在20世纪60年代初江南水乡动人动情的童年故事。读完了草房子小说,你有着怎样的草房子读书?你是否在找正准备撰写“草房子第一章秃鹤的心得感悟”,下面小编收集了相关的素材,供大家写文参考!草房子第

共青团成立100周年作文600字(完整)

本页是最新发布的《2022共青团成立100周年作文600字【精选】》的详细范文参考文章,好的范文应该跟大家分享,这里给大家转摘到。共青团员是中国共产党的后备力量,也是党的生命力的源,理论上的成熟是****上成熟的基础,****上的清醒来源于理论上的坚定。下面是小编为大家带来的

2022百年奋斗谋复兴勇毅前行兴伟业学习心得体会范本合集

《2022百年奋斗谋复兴勇毅前行兴伟业学习心得体会范文》是一篇好的范文,觉得有用就收藏了,希望对网友有用。2022百年奋斗谋复兴勇毅前行兴伟业学习心得体会范文了不起的红色精神,值得永远待播与发扬下去!相信祖国将会更加强大,更加繁荣富强。下面是小编为您推荐2022百年奋斗谋复兴勇毅前

2022年度关于端正态度作文初三(精选文档)

《2022关于端正态度的作文初三【精选】》是一篇好的范文,觉得有用就收藏了,看完如果觉得有帮助请记得(CTRL+D)收藏本页。在生活、工作和中,大家都不可避免地要接触到作文吧,作文是通过文字来表达一个主题意义的记叙方法。下面小编为大家整理了2022关于端正的作文初三【精选】的相关内容,以供参

2022清明网上祭英烈活动心得感悟经典范本10篇600字

本页是最新发布的《清明网上祭英烈活动心得感悟经典范文10篇600字》的详细范文参考文章,觉得有用就收藏了,希望大家能有所收获。清明祭心得感悟经典范文10篇600字说到清明节这个大家熟悉的节日,大家一定都是去祭拜祖先!但是可曾想过在清明节这天来祭奠我们的英烈们呢?下面是小编为您推荐

2022年度《公民节约用水行为规范》倡议书范本

最近发表了一篇名为《2022《公民节约用水行为规范》倡议书范文【五篇】》的范文,感觉很有用处,看完如果觉得有帮助请记得(CTRL+D)收藏本页。虽然人类已浪费了许多,但是人类们已经感觉到水的可贵而开始保护起来。在此大家一起杜绝浪费水之源,保护水资源吧。下面小编在这里为大家精心整理了几篇20

2022年大学生档案自我鉴定300字10篇

2022年普通大学生个人社会实践实习报告精选服务社会做好思想准备和业务准备,公司内部电脑系统都是统一英文系统,就要求自己以职场……[详细]2022年党员思想汇报例文两篇【完整版】所以在以后的学习和生活中,经历过苦难的中国,工作以及生活中,特别是通过学习党章党纪……[详细]企业员工服务意识培训心得体会

关于学习主题讲话稿范本10篇(2022年)

本页是最新发布的《2022年关于学习主题讲话稿范文10篇》的详细范文参考文章,觉得有用就收藏了,希望大家能有所收获。讲话稿是一个统称,涵盖面较大。它的适用范围,主要是各种会议和一些较庄重、隆重的场合。下面是小编收集整理的2022年关于主题讲话稿,大家一起来看看吧。2022年关于学习主题讲话

2022年争先创优演讲稿最新10篇(完整文档)

《争先创优演讲稿最新10篇》是一篇好的范文,觉得有用就收藏了,这里给大家转摘到。演讲稿具有宣传、鼓动、教育和欣赏等作用,它可以把演讲者的观点、主张与思想感情传达给听众以及读者,使他们信服并在思想感情上产生共鸣。下面小编给大家带来关于争先创优演讲稿,希望会对大家的与有所帮助。争先创优演讲稿1

2022全国中小学生安全教育日心得体会三篇

最近发表了一篇名为《2022全国中小学生安全教育日心得体会三篇》的范文,感觉写的不错,希望对您有帮助,重新编辑了一下发到。2022全国中小学生日心得体会三篇为贯彻落实珍爱,安全第一为主题的中小学安全日教育活动,我校领导高度重视,紧紧围绕安全日安全教育这一主线,在师生中开展了丰富多

2022年爱细节作文600字初中范本

《2022爱的细节作文600字初中范文【】》是一篇好的范文,觉得应该跟大家分享,希望对网友有用。爱是冬日的一缕阳光,使饥寒交迫的人感到人间的温暖;爱是一场洒落在久旱的土地上的甘霖,使濒临绝境的人重新看到生活的希望;爱是一首飘落在夜空里的歌谣,使孤苦无依的人获得心灵的慰藉。下面小编为大家整理了20