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

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

| 来源:网友投稿

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

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

 

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

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

 关键词:数据交换,智能代理,主动数据库 中图分类号: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年大学生档案自我鉴定300字10篇

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

追梦筑梦圆梦演讲稿

最近发表了一篇名为《追梦筑梦圆梦演讲稿》的范文,感觉很有用处,这里给大家转摘到。演讲稿特别注重结构清楚,层次简明。在日新月异的现代社会中,在很多情况下需要用到演讲稿,如何写一份恰当的演讲稿呢?下面是小编为大家整理的追梦筑梦圆梦演讲稿,希望能够帮助到大家!追梦筑梦圆梦演讲稿1尊敬的

《********大宣讲特别节目》直播观后感

最近发表了一篇名为《2022《********大宣讲特别节目》直播观后感【精选】》的范文,感觉写的不错,希望对您有帮助,希望对网友有用。,安全,在学校里,在校外,安全这个词恐怕是再熟悉不过了吧,让将安全铭记心中,时进刻刻都做到安全,让父母不再操心,让长辈不再担心,让安全从我做起,从身边

2022年度有关安全学习心得合集(2022年)

本页是最新发布的《有关安全学习心得》的详细范文参考文章,感觉很有用处,看完如果觉得有帮助请记得(CTRL+D)收藏本页。有了一些收获以后,可以记录在心得体会中,这么做能够提升的书面表达能力。相信许多人会觉得心得体会很难写吧,下面是小编为大家收集的有关学习心得,供大家参考借鉴,希望可以帮

2022员工培训学习心得体会范本合集(范文推荐)

最近发表了一篇名为《员工培训学习心得体会范文》的范文,感觉写的不错,希望对您有帮助,为了方便大家的阅读。培训能让员工不断的提高,并清楚的意识到自己的缺点。经过员工培训,你一定有许多的收获,不妨来写一篇员工培训心得。你是否在找正准备撰写“员工培训心得体会范文”,下面小编收集了相关的素材,

2022年度中考优秀作文素材别样美三篇

最近发表了一篇名为《中考优秀作文素材别样的美精选三篇》的范文,好的范文应该跟大家分享,看完如果觉得有帮助请记得(CTRL+D)收藏本页。雨过天晴,花坛边上,几只蜗牛缓缓的爬行着,留下一道彩虹般的痕迹,那柔软的外面,是坚硬的外壳,那也是一道的美丽。下面是小编为大家收集整理的关于素材别样的美精

2022不期而遇作文600字初中记叙文

《不期而遇作文600字初中记叙文》是一篇好的范文,感觉很有用处,希望对网友有用。,美词,像是袭袭的寒风慢慢轻掠大地,刺刺的,一缕****的阳光下有一小缕的橘红色静静的生长。下面是小编为大家收集整理的关于不期而遇600字初中记叙文,一起来看看吧!不期而遇作文600字篇一苏轼有语人间有味是清欢,或许正是

2022年度幼儿园清明节主题活动总结范本

《2022幼儿园清明节主题活动总结范文【精选】》是一篇好的范文,感觉很有用处,为了方便大家的阅读。,又称踏青节、行清节、三月节、祭祖节等,节期在仲春与暮春之交。清明节源自上古时代的祖先信仰与春祭礼俗,以下是小编整理的2022园清明节主题总结,希望可以提供给大家进行参考和借鉴。2022幼儿园清明节

建团百周年活动策划

《2022建团百周年活动策划【精选】》是一篇好的范文,感觉很有用处,希望大家能有所收获。党的领导是共青团顺利发展的关键所在,无论是中国早期青年团的建立,还是中国共青团的正式成立,都离不开党的领导。下面小编为大家整理了2022建团百周年策划【精选】的相关内容,以供参考,希望给大家带来帮助!20

以小见大作文500字范本(范文推荐)

最近发表了一篇名为《以小见大作文500字范文【精选】》的范文,感觉写的不错,希望对您有帮助,重新编辑了一下发到。一件事情的发生,离不开时间、地点、人物、事情的起因、经过和结果这六方面,即常说的六要素,只有交待清楚这几方面,才能使读者对所叙述的事,有个清楚、全面的了解。这里小编

大一暑假社会实践报告(精选文档)

本页是最新发布的《2022大一暑假社会实践报告》的详细范文参考文章,感觉写的不错,希望对您有帮助,希望大家能有所收获。这个暑假过得是否充实呢,有些小伙伴在假期中参加了实践,那么如何做一份报告呢?下面是小编整理的2022大一暑假社会实践报告,仅供参考,希望能够帮助到大家。2022大一暑假社会

小学品德教师期末工作总结范本合集

最近发表了一篇名为《小学品德教师期末工作总结范文》的范文,感觉很有用处,重新整理了一下发到这里[http: www fwwang cn]。时光飞逝,如梭之日,回顾这段时间的工作,一定有许多的艰难困苦,是时候在工作总结中好好总结过去的成绩了。下面小编在这里为大家精心整理了几篇小学教师期