异构系统论文基于异构系统数据时间同步模型的研究与应用.docVIP

异构系统论文基于异构系统数据时间同步模型的研究与应用.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异构系统论文:基于异构系统数据时间同步模型的研究与应用 摘要:针对异构数据库系统数据时间同步所提出的新问题,详细介绍了异构数据库系统数据时间同步的特点、要求。根据异构数据库系统数据时间同步的特点,提出了一种基于新时钟、时间戳与触发器的异构数据库系统数据时间同步模型。?   关键词:异构性;数据库系统;时间同步;时间戳;触发器?   ?   1异构数据库系统数据时间同步模型与算法的研究?   ?   异构数据库系统数据时间同步的精确度主要受到以下因素的影响:异构数据库系统数据时间同步采取的策略;服务器端与客户端时钟系统的精确度;服务器端与客户端运行的操作系统;服务器端与客户端所运行的DBMS;服务器端与客户端的网络状况等。?   现行的异构系统使用的数据同步策略主要有基于快照差分算法的数据同步策略与基于日志分析的数据同步策略。?   基于快照差分算法的策略不但需要消耗同等数量级的存储空间和I/O开销,而且需要大量的时间进行数据的排序、分析和比对,特别是对于大数据量的快照差分,数据同步的效率会急剧下降;基于日志的数据同步策略虽然效率会提高,但是对数据日志的分析一般难以实现。可见,必须找出另外方法,本文在触发器的基础上,将电子商务中的时间戳技术运用到其中,提出了一种基于时间戳和触发器的数据同步策略。?   在本策略中有两个难点需要解决,一个是数据源的类型多样,如何方便地自动地无需人工干预建立触发器。第二个难点是如何在分布式环境下最大化地减少数据传输的冗余量,实现数据的快速同步,且减少对数据源的影压力。?   针对第一个问题,因为异构数据源的类型不确定,可以采用函数的方法,实现触发器的自动建立。针对数据库管理系统多样性,数据库触发器的建立方法不同,可事先针对不同的数据库系统分别建立不同的函数。当第一次集成的时候,自动加载相应的函数到数据库管理系统当中去,并执行函数给每个要集成的表建立触发器。?   针对第二个问题,在目前常用的数据同步策略中,传输对象都是以一条一条记录为最小单位的,也就是说,当数据源表中某一个字段发生变化时,会把该条记录的内容全部发送给目的端,这种处理方式导致数据的传输冗余量太大,严重的增加了网络的负载,影响了数据同步的效率。在这里,考虑将监视发送对象缩小到字段,在传输的过程当中只把变化字段的内容发送给目标端,平衡网络的负载。同时为了减少对数据源的压力,设计了一个源操作表,它记录了对数据的所有操作,包括增加、修改和删除记录等信息。?   源操作表位于源数据端,随时同源表的数据保持一致,在第一次抽取的时候会建立,每个要抽取的表都各自对应一个源操作表,其表名为要抽取的表名加后缀“_SNP”源操作表的结构如表1所示。?   ?   (1)当修改数据的记录时,触发器被触发,将操作的时间、类型和修改的值以及记录的标示写入源操作表当中;比如,当修改源表的某条记录的一个字段时,查找源操作表是否有关于该字段的修改记录(字段Data_primary和Name_column的值必须完全匹配),如果有则直接在该记录上修改(Type_oper字段值为U),并将修改的值填入Data_column字段即可,如果没有则在源操作表插入一条记录即可。?   当源表中插入一条记录时,只需要在源操作表中将非空字段的信息写入即可(Type_oper字段值为I),那些空值的字段不需要填写其信息,也就是说,虽然源表有N个字段,但在插入一记录时只由M个字段插入了新值,源操作表中只增加了M个记录而不是N个记录。?   当在源表中删除一条记录时,查找源操作表是否有关于该记录的信息(只要字段Data_primary匹配),如果信息表明该记录是新插入的(即该记录信息中有一个Type_oper为I的记录)把找到的所有记录删除即可,如果该记录不是新插入的(即不能找到该记录信息中有一个Type_oper为I的记录)则将信息写入源操作表(字段Typeoper值为D)。 (2)同步模块将根据源操作表的内容和修改时间字段的值,更新临时数据表中的内容(临时数据表相当于临时中间数据缓冲区),实现了临时表和源数据的同步,并返回从系统新时钟读取的更新的时间New_Updatetime(其值也就是字段Update_time的值);?   (3)将源操作表当中字段Update_time的值小于New_Updatetime的所有记录删除。?   解决了上述关键性问题之后,下面我们提出基于异构系统数据时间同步的模块结构图。如图2所示:?     其中数据源为用户所需要的数据来源,也是异构系统同步的数据源,比如:SQLServer、Oracle、DB2、access等;目标数据库是数据的目的地;中间数据区作为数据的中介,是数据集成的主要环节,用户所要进行的数据转换都

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档