支持分层的元数据同步方法及元数据同步装置制造方法及图纸

技术编号:14828782 阅读:38 留言:0更新日期:2017-03-16 15:12
本发明专利技术提供了一种支持分层的元数据同步方法及元数据同步装置,其中,元数据同步方法包括:分别根据源数据库中和目标数据库中的元数据描述的对象结构,确定所述对象结构分别对应的源XML结构和目标XML结构;根据配置的元数据需要同步的层次、源XML结构和目标XML结构,分别将源数据库中和目标数据库中的所述层次的元数据转换为源XML和目标XML;根据所述源XML和所述目标XML确定差异节点,所述差异节点表示所述层次的元数据在从所述源数据库中同步到所述目标数据库中时对应的变更类型;根据所述差异节点生成对应的目标数据库操作脚本;在所述目标数据库中执行所述目标数据库操作脚本,以将所述层次的元数据在所述源数据库与所述目标数据库之间进行同步。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体而言,涉及一种支持分层的元数据同步方法和一种支持分层的元数据同步装置。
技术介绍
元数据是用于描述要素、数据集或数据集系列的内容、覆盖范围、质量、管理方式、数据的所有者和数据的提供方式等有关的信息,也即是用于描述数据的数据,元数据可以为数据说明其元素或属性或结构或其相关数据等,是最小的数据单元。比如,一条职员实体信息记录中,其中包括字段姓名(name)、年龄(age)、性别(male)等,那么name、age和male就是元数据。元数据通常是在开发环境即源数据库中创建和维护,并在生产环境即目标数据库中使用的,如果元数据有变化需要更新时,需要在源数据库中进行变更,然后再同步到目标数据库中来实现目标数据库中的元数据更新。现有的同步方式通常是将源数据库中的元数据导出为数据库脚本,然后将目标数据库中描述相同对象的元数据删除,之后在目标数据库中执行该数据库脚本,重新创建该元数据,以实现元数据的同步。但是,现有的这种以迁移方式实现数据同步的方法并没有考虑目标数据库中的元数据与源数据库中的元数据是否相同。在元数据相同或部分相同的情况下,若仍全部删除目标数据库中的元数据,则会造成数据资源的浪费,进而影响了处理器的处理性能。同时,企业软件一般都是允许基于标准产品(出厂产品)进行客户开发或者行业扩展开发等,对于同一种元数据(比如职员信息),客户开发或者行业扩展开发通常会进行属性的添加替换等,为了保证标准产品的元数据结构不被破坏,这种情况下客户开发或者行业开发修改的元数据是不能直接覆盖标准产品的元数据,而是要有自己专属层的元数据,在专属层上客户开发或者行业开发可以根据实际需要对元数据进行修改。因此,如何能够在进行元数据同步时,避免全部删除目标数据库中的元数据之后再执行数据库脚本而造成数据资源的浪费,同时避免不同层次的元数据相互覆盖成为亟待解决的技术问题。
技术实现思路
本专利技术正是基于上述技术问题至少之一,提出了一种新的支持分层的元数据同步方案,可以避免不同层次的元数据之间出现相互覆盖的问题,同时无需完全删除目标数据库中的所有元数据之后再重新创建元数据,避免了数据资源的浪费,有利于提高处理器的处理性能。有鉴于此,根据本专利技术的第一方面,提出了一种支持分层的元数据同步方法,包括:分别根据源数据库中和目标数据库中的元数据描述的对象结构,确定所述对象结构分别对应的源XML(ExtensibleMarkupLanguage,可扩展标记语言)结构和目标XML结构;根据配置的元数据需要同步的层次、所述源XML结构和所述目标XML结构,分别将所述源数据库中和所述目标数据库中的所述层次的元数据转换为源XML和目标XML;根据所述源XML和所述目标XML确定差异节点,所述差异节点表示所述层次的元数据在从所述源数据库中同步到所述目标数据库中时对应的变更类型;根据所述差异节点生成对应的目标数据库操作脚本;在所述目标数据库中执行所述目标数据库操作脚本,以将所述层次的元数据在所述源数据库与所述目标数据库之间进行同步。在该技术方案中,通过根据源数据库中和目标数据库中的元数据描述的对象结构,确定源XML结构和目标XML结构,进而根据配置的元数据需要同步的层次以及确定的源XML结构和目标XML结构,将源数据库中和目标数据库中对应层次的元数据转换为源XML和目标XML,以基于源XML和目标XML的对比来进行元数据的同步,使得在进行元数据的同步时,能够考虑到元数据的分层问题,进而能够避免不同层次的元数据之间出现相互覆盖的问题。而通过根据源XML和目标XML确定差异节点,根据差异节点生成对应的目标数据库操作脚本,并在目标数据库中执行目标数据库操作脚本,以将相应层次的元数据在源数据库与目标数据库之间进行同步,使得在进行元数据的同步时,仅需根据源数据库与目标数据库中存在差异的部分生成相应的数据库操作脚本,无需完全删除目标数据库中的所有元数据之后再重新创建元数据,避免了数据资源的浪费,并且能够提高处理器的处理性能。在上述技术方案中,优选地,根据所述源XML和所述目标XML确定差异节点的步骤,具体包括:基于XMLDiff算法获取所述源XML与所述目标XML之间所有不同的节点;根据所述所有不同的节点确定所述源XML相对于所述目标XML的所述差异节点,所述差异节点包括更新节点、新增节点和删除节点。在该技术方案中,XMLDiff算法即是将源XML与目标XML进行对比,以获取到二者之间不相同的节点,进而可以确定源XML相对于目标XML的差异节点。具体地,比如源XML和目标XML的一个相同节点的数值不同,那么该差异节点即为更新节点,只需更新相应节点的数值即可;若源XML相比于目标XML增加了一个新的节点,那么该差异节点即为新增节点,需要在目标数据库中增加该节点;若源XML相比于目标XML减少了一个新的节点,那么该差异节点即为删除节点,需要在目标数据库中删除该节点。进一步地,在基于XMLDiff算法获取所述源XML与所述目标XML之间所有不同的节点的步骤之前,还包括:在所述源数据库中将所述源XML保存为文件;将所述文件移动至所述目标数据库中,以基于所述XMLDiff算法获取所述文件中的所述源XML与所述目标XML之间所有不同的节点。在该技术方案中,由于源XML是位于源数据库中,而目标XML是位于目标数据库中的,因此通过在源数据库中将源XML保存为文件,并移动至目标数据库中,使得源XML与目标XML之间能够进行对比,以获取到二者之间所有不同的节点。在上述任一技术方案中,优选地,在根据所述源XML和所述目标XML确定差异节点的步骤之后,还包括:在所述源XML中标记出所述差异节点;显示标记有所述差异节点的所述源XML和所述目标XML。在该技术方案中,通过在源XML中标记出源XML与目标XML之间的差异节点,并显示标记有差异节点的源XML和目标XML,使得用户能够清楚直观地得知源XML与目标XML之间存在差异的节点。在上述任一技术方案中,优选地,所述的支持分层的元数据同步方法,还包括:显示用于配置元数据需要同步的层次的配置界面;基于用户的配置操作,确定所述元数据需要同步的层次。在该技术方案中,通过显示用于配置元数据需要同步的层次的配置界面,以基于用户的配置操作来确定元数据需要同步的层次,使得用户能够灵活地对需要同步的元数据的层次来进行配置。根据本专利技术的第二方面,还提出了一种支持分层的元数据同步装置,包括:预处理单元,用于分别根据源数据库中和目标数据库中的元数据描述的对象结构,确定所述对象结构分别对应的源XML结构和目标XML结构;XML生成单元,用于根据配置的元数据需要同步的层次、所述源XML结构和所述目标XML结构,分别将所述源数据库中和所述目标数据库中的所述层次的元数据转换为源XML和目标XML;差异节点确定单元,用于根据所述源XML和所述目标XML确定差异节点,所述差异节点表示所述层次的元数据在从所述源数据库中同步到所述目标数据库中时对应的变更类型;脚本生成单元,用于根据所述差异节点生成对应的目标数据库操作脚本;数据同步单元,用于在所述目标数据库中执行所述目标数据库操作脚本,以将所述层次的元数据在所述源数据库与所述目标数据库之间进行同步。在该本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610959823.html" title="支持分层的元数据同步方法及元数据同步装置原文来自X技术">支持分层的元数据同步方法及元数据同步装置</a>

【技术保护点】
一种支持分层的元数据同步方法,其特征在于,包括:分别根据源数据库中和目标数据库中的元数据描述的对象结构,确定所述对象结构分别对应的源XML结构和目标XML结构;根据配置的元数据需要同步的层次、所述源XML结构和所述目标XML结构,分别将所述源数据库中和所述目标数据库中的所述层次的元数据转换为源XML和目标XML;根据所述源XML和所述目标XML确定差异节点,所述差异节点表示所述层次的元数据在从所述源数据库中同步到所述目标数据库中时对应的变更类型;根据所述差异节点生成对应的目标数据库操作脚本;在所述目标数据库中执行所述目标数据库操作脚本,以将所述层次的元数据在所述源数据库与所述目标数据库之间进行同步。

【技术特征摘要】
1.一种支持分层的元数据同步方法,其特征在于,包括:分别根据源数据库中和目标数据库中的元数据描述的对象结构,确定所述对象结构分别对应的源XML结构和目标XML结构;根据配置的元数据需要同步的层次、所述源XML结构和所述目标XML结构,分别将所述源数据库中和所述目标数据库中的所述层次的元数据转换为源XML和目标XML;根据所述源XML和所述目标XML确定差异节点,所述差异节点表示所述层次的元数据在从所述源数据库中同步到所述目标数据库中时对应的变更类型;根据所述差异节点生成对应的目标数据库操作脚本;在所述目标数据库中执行所述目标数据库操作脚本,以将所述层次的元数据在所述源数据库与所述目标数据库之间进行同步。2.根据权利要求1所述的支持分层的元数据同步方法,其特征在于,根据所述源XML和所述目标XML确定差异节点的步骤,具体包括:基于XMLDiff算法获取所述源XML与所述目标XML之间所有不同的节点;根据所述所有不同的节点确定所述源XML相对于所述目标XML的所述差异节点,所述差异节点包括更新节点、新增节点和删除节点。3.根据权利要求2所述的支持分层的元数据同步方法,其特征在于,在基于XMLDiff算法获取所述源XML与所述目标XML之间所有不同的节点的步骤之前,还包括:在所述源数据库中将所述源XML保存为文件;将所述文件移动至所述目标数据库中,以基于所述XMLDiff算法获取所述文件中的所述源XML与所述目标XML之间所有不同的节点。4.根据权利要求1所述的支持分层的元数据同步方法,其特征在于,在根据所述源XML和所述目标XML确定差异节点的步骤之后,还包括:在所述源XML中标记出所述差异节点;显示标记有所述差异节点的所述源XML和所述目标XML。5.根据权利要求1至4中任一项所述的支持分层的元数据同步方法,其特征在于,还包括:显示用于配置元数据需要同步的层次的配置界面;基于用户的配置操作,确定所述元数据需要同步的层次。6.一种支持分层的元数据同步装置,其特征在于,包括:预处理...

【专利技术属性】
技术研发人员:田锋涛
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1