CN117435558A - 一种元数据管理方法、计算设备及存储介质 - Google Patents

一种元数据管理方法、计算设备及存储介质 Download PDF

Info

Publication number
CN117435558A
CN117435558A CN202311754773.4A CN202311754773A CN117435558A CN 117435558 A CN117435558 A CN 117435558A CN 202311754773 A CN202311754773 A CN 202311754773A CN 117435558 A CN117435558 A CN 117435558A
Authority
CN
China
Prior art keywords
metadata
scene
database
scene model
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311754773.4A
Other languages
English (en)
Other versions
CN117435558B (zh
Inventor
潘亚良
王禹翰
燕为
田梦垚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Shuopan Intelligent Technology Co ltd
Original Assignee
Hangzhou Shuopan Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Shuopan Intelligent Technology Co ltd filed Critical Hangzhou Shuopan Intelligent Technology Co ltd
Priority to CN202311754773.4A priority Critical patent/CN117435558B/zh
Publication of CN117435558A publication Critical patent/CN117435558A/zh
Application granted granted Critical
Publication of CN117435558B publication Critical patent/CN117435558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本说明书实施例提供了一种元数据管理方法,基于场景对象及挂载于场景对象下的元数据构建了树形结构的场景模型,在场景模型中,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应,可以基于树形结构的增删改查实现对实际业务场景进行分类管理的目的。同时,该元数据管理方法基于元数据驱动进行场景对象下的元数据挂载,使得该方法在面对不同的实际业务场景时,只需要基于标准化的元数据进行数据挂载即可,即使在面对较为复杂的业务场景时,也只需对元数据进行简单继承和扩展即可满足复杂业务场景的需求,有效减少了开发和维护的成本。

Description

一种元数据管理方法、计算设备及存储介质
技术领域
本说明书涉及数据处理技术领域,具体地说,涉及数据处理技术领域下的元数据管理技术,更具体地说,涉及一种元数据管理方法、计算设备及存储介质。
背景技术
随着信息化进程的不断加速,数字化转型已成为许多企业的必然趋势。随着行业竞争的不断增强,企业数字化转型,能够给企业带来的不只是成本上的优化,经营的改善,更多的是战略上的提升。企业数字化转型涉及对企业的数据资产进行管理,企业的数据资产是指企业拥有或者控制的数据资源,企业的数据资源可以理解为是能够为企业带来价值的数据。
元数据作为描述数据的数据,元数据管理贯穿数据资产管理的流程,是实现数据资产管理的重要基础,因此对企业的元数据进行管理具有重要的意义。在此背景下,如何提供技术方案,以优化元数据管理,成为了本领域技术人员亟需解决的技术问题。
发明内容
本说明书实施例提供了一种元数据管理方法、计算设备及存储介质,通过针对场景对象的分类管理,实现了优化元数据管理的目的。
为实现上述技术目的,本说明书实施例提供了如下技术方案:
第一方面,本说明书的一个实施方式提供一种元数据管理方法,元数据包括逻辑实体,所述元数据管理方法包括:
建立场景对象,一个场景对象与一个实际业务场景相对应;
获取元数据,并将所述元数据挂载于所述场景对象下;
构建场景模型,所述场景模型包括多个节点,所述多个节点构成树形结构,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应。
第二方面,本说明书的一个实施方式还提供了一种计算设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的元数据管理方法。
第三方面,本说明书的一个实施方式还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的元数据管理方法。
第四方面,本说明书实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的元数据管理方法的步骤。
从上述技术方案可以看出,本说明书实施例提供的元数据管理方法,基于场景对象及挂载于场景对象下的元数据构建了树形结构的场景模型,在场景模型中,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应,可以基于树形结构的增删改查实现对实际业务场景进行分类管理的目的。同时,该元数据管理方法基于元数据驱动进行场景对象下的元数据挂载,使得该方法在面对不同的实际业务场景时,只需要基于标准化的元数据进行数据挂载即可,即使在面对较为复杂的业务场景时,也只需对元数据进行简单继承和扩展即可满足复杂业务场景的需求,有效减少了开发和维护的成本。也即,本说明书实施方式提供的元数据管理方法通过元数据驱动的方式实现场景对象下的元数据挂载与实际业务场景的分类管理,实现了优化元数据管理的目的。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本说明书的一个实施方式提供的一种元数据管理方法的流程示意图。
图2为本说明书的一个实施方式提供的一种场景模型的示意图。
图3为本说明书的一个实施方式提供的一种第一数据库与第二数据库之间进行数据同步的流程示意图。
图4为本说明书的一个实施方式提供的一种场景模型发布的流程示意图。
图5为本说明书的一个实施方式提供的一种场景模型对比的流程示意图。
图6为本说明书的一个实施方式提供的一种元数据管理装置的结构示意图。
图7为本说明书的一个实施方式提供的一种计算设备的结构示意图。
具体实施方式
除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
相关技术中,在构建场景知识平台时,普遍基于行业相关的数据治理业务实现,即为了适应企业业务,抽象出业务数据的数据特征,整合出元数据并进行管理,这种实现方式具有很强的业务性。在针对不同的业务场景构建元数据并进行管理时需要做不同的适配,在面对复杂场景时,需要重复化地编写代码,开发成本较高。
为了解决这一问题,本说明书的发明人在进行场景模型建立时,发现可以基于树形结构构建场景模型,实现对场景模型中不同场景对象对应的实际业务场景的分类和管理;同时基于元数据驱动的特性,通过构建元数据,并将元数据挂载于场景对象下的方式,使得在面对不同的实际业务场景时,只需要基于标准化的元数据进行数据挂载即可,即使在面对较为复杂的业务场景时,也只需对元数据进行简单继承和扩展即可满足复杂业务场景的需求,有效减少了开发和维护的成本。
基于此,本说明书实施方式提供了一种改进的元数据管理方案,该方案可以基于场景对象及挂载于场景对象下的元数据构建了树形结构的场景模型,在场景模型中,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应,实现了对实际业务场景进行分类管理的目的。同时,该元数据管理方法基于元数据驱动进行场景对象下的元数据挂载,使得该方法在面对不同的实际业务场景时,只需要基于标准化的元数据进行数据挂载即可,即使在面对较为复杂的业务场景时,也只需对元数据进行简单继承和扩展即可满足复杂业务场景的需求,有效减少了开发和维护的成本。也即,本说明书实施方式提供的元数据管理方法通过元数据驱动的方式实现场景对象下的元数据挂载与实际业务场景的分类管理,实现了优化元数据管理的目的。
基于上述的构思,下面将结合附图对本说明书实施方式提供的元数据管理方法进行示例性描述。
作为可选实施方式,图1示例性的示出了本说明书实施方式提供的元数据管理方法的可选流程图,该方法流程可以由场景知识平台实现,例如由形成场景知识平台的服务器实现。
参考图1,所述元数据管理方法可以包括如下步骤。
S101:建立场景对象,一个场景对象与一个实际业务场景相对应。
实际业务场景可以包括一个企业或者行业需要关注的业务场景,例如对于电商企业来讲,实际业务场景可以包括商品管理场景、订单处理场景、客户服务场景等;在这些场景中,商品管理场景又可以包括商品上架场景、商品下架场景和信息修改场景等子场景,商品管理场景与这些子场景之间的关系为父子层级的关系。类似的,订单处理场景可以包括下单场景、支付场景、出库场景和发货场景等子场景,订单处理场景与这些子场景之间的关系也为父子层级的关系。客户服务场景可以包括客户咨询场景、退换货处理场景和投诉处理场景等子场景,客户服务场景与这些子场景之间的关系也为父子层级的关系。上面提到各个场景均可以称为一个实际业务场景,场景对象可以是指与这些实际业务场景对应的虚拟对象。需要说明的是,实际业务场景并不局限于电商场景下业务场景,而是可以根据实际需求选择,上述说明仅是一种示例。
S102:获取元数据,并将所述元数据挂载于所述场景对象下。
元数据是描述数据的数据,在一个可选地实施方式中,元数据可以包括逻辑模型信息、逻辑实体属性和ER(Entity Relationship,实体关系)关系等,逻辑模型也可称为逻辑实体。在数据建模获得的数据模型中,主要涉及逻辑模型和物理模型。数据建模是发现、分析和确定数据需求的过程。
可以发现,在一些实际业务场景下,元数据具有通用性,可以适用于各个实际业务场景中。例如在电商场景下,元数据包括的逻辑模型信息可以包括商品信息、客户信息和订单信息等等,逻辑实体属性可以包括商品信息中的商品ID、商品名称、客户信息中的客户ID、客户地址、订单信息中的订单ID和下单时间等,ER关系可以包括订单信息与商品信息之间的关系等等,这些元数据在各个实际业务场景(商品管理场景、订单处理场景和客户服务场景及其子场景)中均可适用。因此,在本实施方式中,步骤S102中构建的元数据可以称为标准元数据,所述元数据为标准元数据,所述标准元数据适用于多个所述实际业务场景,通过将标准元数据挂载于场景对象下,实现通过元数据驱动的元数据管理方法,使得该方法在面对不同的实际业务场景时,只需要基于标准化的元数据进行数据挂载即可,即使在面对较为复杂的业务场景时,也只需对元数据进行简单继承和扩展即可满足复杂业务场景的需求,有效减少了开发和维护的成本。
S103:构建场景模型,所述场景模型包括多个节点,所述多个节点构成树形结构,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应。
场景模型可以是一个包括多个节点的树形结构,该树形结构除了可以包括多个节点(Node)之外,还可以包括多条边(Edge),边连接两个节点。在树形结构中,处于不同层级且通过边连接的节点存在父子关系。参考图2,图2示出了前文提到的电商场景下,各实际业务场景构成的场景模型的示意图。通过图2不难发现,通过构建场景模型,使得一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应,实现了对实际业务场景进行分类管理的目的。
在本说明书的一个实施方式中,可以通过基于树形结构的节点的增删查改的方法,实现场景模型中场景对象的分类和管理。具体可以采用递归的思想,在保证树形结构稳定的前提下,对树形结构的节点进行增删查改。
具体地,对于树形结构的节点进行增(或称创建Create)操作可以包括:通过对父节点的子节点列表的递归操作,将需要增加的子节点加入到父节点的子节点列表中。
对于树形结构的节点进行删(Delete)操作可以包括:从要删除的节点开始,递归地访问每个子节点并删除。需要注重的是在删除过程中保证剩下的树结构是有效的,方法可以是删除所有子节点,或者把子节点挂载到删除节点的父节点下。
对于树形结构的节点进行查(或称读取Read)操作可以包括:从根结点开始,递归访问每个子节点,在找到目标节点时返回结果,否则继续进行递归搜索。
对于树形结构的节点进行改(或称更新Update)操作可以包括:更新节点的值和更新节点的位置。在这两种操作中,我们都需要先找到目标节点,实际上,这是一个读取(查找)的过程,只不过在找到目标节点后,会进行更新操作,比如改变它的值或移动它的位置。在这个过程中可以使用递归来保证这个过程在整棵树上都能完整地进行,同时需要确保操作的合法性,比如移动后的位置不会引入循环。
如前文所述,在一些实施方式中,所述元数据包括逻辑模型信息、逻辑实体属性和ER关系;而ER关系通常较为复杂,为了便于管理复杂的ER关系数据,在本说明书的一个实施方式中,所述元数据管理方法还包括:
将所述元数据的第一部分存储于第一数据库;所述元数据的第一部分至少包括所述元数据中的所述逻辑模型信息和所述ER关系,所述第一数据库包括图数据库;
将所述元数据的第二部分存储于第二数据库,所述元数据的第二部分至少包括所述元数据中的逻辑实体属性,所述第二数据库包括关系型数据库。
图数据库是一种用来存储、查询和处理图结构数据的数据库。图这种数据结构由节点(也可以称为顶点)和称为边的连接线组成。这使得图数据库能够直接、本质地表示对象间的关系,也使得图数据库成为一种非常适合存储和查询复杂关系的数据库。因此,在本实施方式中,将包括ER关系的元数据的第一部分存储于第一数据库中,便于进行复杂关系的查找操作。
但图数据库在存储一些细节数据时,可能不如关系型数据库的优势更大,因此在本实施方式中,将包括元数据中的逻辑实体属性的第二部分存储于第二数据库中,实现了充分发挥关系型数据库和图数据库的各自优势进行元数据存储的目的。
可选地,在利用关系型数据库和图数据库进行元数据存储的基础上,为了发挥图数据库的优势,在本说明书的一个实施方式中,所述元数据的管理方法还包括:
响应于携带关系查询请求,在所述第一数据库中查询与所述关系查询请求对应的ER关系作为响应结果返回给所述关系查询请求的请求方。
在本实施方式中,在响应针对ER关系查询的关系查询请求时,在所述第一数据库中进行ER关系的查询,以充分发挥图数据库便于查询复杂关系的优势,提升查询效率。
可选地,所述第一数据库包括Neo4j数据库,所述第二数据库包括PostgreSQL数据库。Neo4j数据库可以以自然而直观的方式表示信息,可以实现高效的图数据处理,使得数据查询和处理变得更加简单和快捷。PostgreSQL数据库是一个功能强大的开源对象关系数据库系统。它使用并扩展了 SQL (Structured Query Language,结构化查询语言)语言,使其能够存储和查询各种类型的数据。
为了实现第一数据库和第二数据库的数据同步,在本说明书的一个实施方式中,所述元数据管理方法还包括:
监听所述第二数据库中的数据变化,在存储于所述第二数据库中的元数据发生变化时,生成携带有元数据变化信息的同步指令,所述同步指令包括基于图数据库脚本语言的指令;
执行所述同步指令,以使所述第一数据库与所述第二数据库中的元数据同步。
以所述第一数据库包括Neo4j数据库,所述第二数据库包括PostgreSQL数据库为例,所述同步指令可以是基于CQL(Cypher Query Language,Cypher 查询语言)语句的指令,上述同步过程可参考图3,该过程可以包括:
S1、监听PostgreSQL 数据库的数据变化:这可以通过在PostgreSQL上设置触发器或者使用监听工具来实现。当PostgreSQL的数据发生变化,比如插入、更新或删除时,能够实时捕捉到这种变化。
S2、转换成图数据库对应的CQL语句:捕捉到PostgreSQL数据库中的数据变化信息后,这一步的目标是将这些变化转化为对应的CQL语句;在获得对应的CQL语句后加入消息队列等待执行。CQL是Neo4j的图查询语言,就像SQL对于关系数据库一样。这一步相当于是一个翻译过程,将具体的数据变动翻译成CQL,以便在Neo4j上执行。
S3、执行CQL语句:在将数据变动转化为CQL语句之后,最后一步就是在Neo4j上执行这些CQL语句。这样,就可以完成从PostgreSQL数据库到Neo4j数据库的数据同步。
在场景模型构建完成后,还涉及到模型发布的过程,所述元数据管理方法还包括:
响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息;
在所述元数据差异信息的修改审批通过后,根据所述元数据差异信息,更新所述历史场景模型中的元数据。
在本实施方式中,在发布位置存在历史场景模型时,表明构建的当前的场景模型是对历史场景模型的更新,可以通过对比所述历史场景模型与所述场景模型,获得元数据差异信息,并在元数据差异信息的修改审批通过后更新所述历史场景模型中的元数据,以此方式,便于对元数据差异信息的管理和审批。
元数据差异信息的修改审批申请可以通过开源的流程引擎Camunda工具,提交给开发人员,使开发人员对模型的更改信息进行审批。具体地,可以在流程引擎界面构建审批流程图,定义任务标签,后台需要遵循Camunda的接口协议,绑定对应的任务标签,创建审批流接口。
其中,参考图4,所述响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息包括:
响应于携带有所述场景模型的发布位置的模型发布请求,调用指定预设命名空间的更改发布模型接口,所述预设命名空间包括数据库的对象集合,所述预设命名空间与所述场景模型的发布位置的模型发布请求对应;
在所述预设命名空间不存在时,创建所述预设命名空间;
在所述预设命名空间中查询所述历史场景模型,若存在所述历史场景模型,则对比所述历史场景模型与所述场景模型,获得元数据差异信息;若不存在所述历史场景模型,则在所述预设命名空间中创建所述场景模型。
在查询所述历史场景模型时,可以通过查询场景模型中的逻辑模型信息和逻辑实体属性来实现历史场景模型的查询。
对比新旧模型(即所述历史场景模型和所述场景模型)获得的元数据差异信息可以包括:逻辑实体属性新增信息、逻辑实体属性重命名信息、逻辑实体属性非空约束、唯一性约束不一致信息、逻辑实体属性默认值不一致信息、逻辑实体属性类型变化或精度变化信息以及索引的变化信息等。
不存在所述历史场景模型的情况下,在所述预设命名空间中创建所述场景模型可以是指根据构建的所述场景模型在所述预设命名空间中创建场景模型。
为了简化对比所述历史场景模型与所述场景模型的过程,在本说明书的一个实施方式中,所述对比所述历史场景模型与所述场景模型包括:
在所述历史场景模型中创建第一游标,在所述场景模型中创建第二游标;所述第一游标用于定位所述历史场景模型中的键值对,所述第二游标用于定位所述场景模型中的键值对;所述键值对包括场景对象和挂载于所述场景对象下的元数据;
通过移动所述第一游标和所述第二游标,依次比较所述历史场景模型和所述场景模型中的键值对,以确定所述元数据差异信息。
参考图5,该对比过程具体可以包括:
获取游标A和游标B:游标A和游标B分别可以是指历史场景模型和场景模型中创建的第一游标和第二游标;
游标A下移一行:可以是指游标A在历史场景模型对应的数据库中所指向的位置向下移动一行;
游标B下移一行:可以是指游标B在场景模型对应的数据库中所指向的位置向下移动一行;
判断游标AB到底:可以是指判断游标A和游标B在各自数据库中的位置是否指向最后一行,如果是,则判定对比结束;如果否,则判断游标A是否到底;
在游标A到底的情况下,确定A中余下数据未在B中(即游标A指向的数据库中的余下数据未在游标B指向的数据库中);
在游标A未到底的情况下,判断游标B是否到底,在游标B到底的情况下,确定B中余下数据未在A中(即游标B指向的数据库中的余下数据未在游标A指向的数据库中);
在游标B未到底的情况下,取出游标处主键keyA和keyB:即取出游标A和游标B分别指向的数据库的一行数据的字段或字段组合,主键可以是任何能够确保每一行数据的唯一性的值。
若keyA=keyB,则表示两个游标处的主键值相等,则判断其他字段是否相等,在其他字段相等的情况下,输出两个游标所指向的数据相等的结论,并返回游标A下移一行的步骤,执行下一行数据的对比;在其他字段不相等的情况下,输出两个游标所指向的数据不同的结论,并返回游标A下移一行的步骤,执行下一行数据的对比;
若keyA≠keyB,且keyA<keyB,则表示未在B中,即游标A指向的行数据未在游标B指向的数据库中,并执行游标A下移一行的操作,在游标A下移一行后,判断游标A是否到底,在游标A到底的情况下,输出A中余下数据未在B中的结论;在游标A未到底的情况下,返回取出游标处主键keyA和keyB的步骤;
若keyA≠keyB,且keyA>keyB,则表示未在A中,即游标B指向的行数据未在游标A指向的数据库中,并执行游标B下移一行的操作,在游标B下移一行后,判断游标B是否到底,在游标B到底的情况下,输出B中余下数据未在A中的结论;在游标B未到底的情况下,返回取出游标处主键keyA和keyB的步骤。
通过上述方式可以高效且可靠地实现对比历史场景模型和场景模型的目的,这是因为通过游标对比方法在两个数据库之间仅比较和处理发生变化的部分,而不是遍历整个数据库。这种增量式比较和同步的方法能够显著提高处理大型数据库的效率,减少了不必要的计算和传输开销;此外,通过比较主键值,游标对比方法可以确保在同步过程中不会重复处理已经同步的数据,避免数据的重复插入或删除。同时,由于采用增量式比较和同步的方式,即使在同步过程中出现错误或中断,可以很容易地恢复同步并继续处理剩余的数据,从而保障数据的一致性和完整性。
本说明书实施方式还提供了一种元数据管理装置,下文描述的内容可以与上文描述相互对应参照。图6示例性的示出了元数据管理装置的可选框图,参考图6,所述元数据管理装置可以包括:
对象建立模块601,用于建立场景对象,一个场景对象与一个实际业务场景相对应;
数据获取模块602,用于获取元数据,并将所述元数据挂载于所述场景对象下;
模型构建模块603,用于构建场景模型,所述场景模型包括多个节点,所述多个节点构成树形结构,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应。
可选地,所述元数据包括逻辑模型信息、逻辑实体属性和ER关系;
所述元数据管理装置还包括:
数据存储模块,用于将所述元数据的第一部分存储于第一数据库;所述元数据的第一部分至少包括所述元数据中的所述逻辑模型信息和所述ER关系,所述第一数据库包括图数据库;
将所述元数据的第二部分存储于第二数据库,所述元数据的第二部分至少包括所述元数据中的逻辑实体属性,所述第二数据库包括关系型数据库。
可选地,所述元数据管理装置还包括:
数据同步模块,用于监听所述第二数据库中的数据变化,在存储于所述第二数据库中的元数据发生变化时,生成携带有元数据变化信息的同步指令,所述同步指令包括基于图数据库脚本语言的指令;
执行所述同步指令,以使所述第一数据库与所述第二数据库中的元数据同步。
可选地,所述元数据管理装置还包括:关系查询模块,用于响应于携带关系查询请求,在所述第一数据库中查询与所述关系查询请求对应的ER关系作为响应结果返回给所述关系查询请求的请求方。
可选地,所述第一数据库包括Neo4j数据库,所述第二数据库包括PostgreSQL数据库。
可选地,所述元数据管理装置还包括:
数据更新模块,用于响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息;
在所述元数据差异信息的修改审批通过后,根据所述元数据差异信息,更新所述历史场景模型中的元数据。
可选地,所述数据更新模块对比所述历史场景模型与所述场景模型具体用于:
在所述历史场景模型中创建第一游标,在所述场景模型中创建第二游标;所述第一游标用于定位所述历史场景模型中的键值对,所述第二游标用于定位所述场景模型中的键值对;所述键值对包括场景对象和挂载于所述场景对象下的元数据;
通过移动所述第一游标和所述第二游标,依次比较所述历史场景模型和所述场景模型中的键值对,以确定所述元数据差异信息。
可选地,所述数据更新模块响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息具体用于:
响应于携带有所述场景模型的发布位置的模型发布请求,调用指定预设命名空间的更改发布模型接口,所述预设命名空间包括数据库的对象集合,所述预设命名空间与所述场景模型的发布位置的模型发布请求对应;
在所述预设命名空间不存在时,创建所述预设命名空间;
在所述预设命名空间中查询所述历史场景模型,若存在所述历史场景模型,则对比所述历史场景模型与所述场景模型,获得元数据差异信息;若不存在所述历史场景模型,则在所述预设命名空间中创建所述场景模型。
关于元数据管理装置的具体限定可以参见上文中关于元数据管理方法的限定,在此不再赘述。上述分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请另一实施例还提出一种计算设备,参见图7所示,本说明书的一个示例性实施例还提供了一种计算设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本说明书上述实施例中描述的根据本说明书各种实施例的元数据管理方法中的步骤。
该计算设备的内部结构可以如图7所示,该计算设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该计算设备的处理器用于提供计算和控制能力。该计算设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以本说明书上述实施例中描述的根据本说明书各种实施例的元数据管理方法中的步骤。
处理器可包括主处理器,还可包括基带芯片、调制解调器等。
存储器中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
处理器可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
输入设备可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器执行存储器中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种元数据管理方法的各个步骤。
该计算设备还可以包括显示组件和语音组件,该显示组件可以是液晶显示屏或者电子墨水显示屏,该计算设备的输入装置可以是显示组件上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
除了上述方法和设备以外,本说明书实施例提供的元数据管理方法还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的元数据管理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的元数据管理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本说明书实施例提供的方案范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种元数据管理方法,其特征在于,元数据包括逻辑实体,所述元数据管理方法包括:
建立场景对象,一个场景对象与一个实际业务场景相对应;
获取元数据,并将所述元数据挂载于所述场景对象下,所述元数据为标准元数据,所述标准元数据适用于多个所述实际业务场景;
构建场景模型,所述场景模型包括多个节点,所述多个节点构成树形结构,一个所述节点包括一个所述场景对象,各所述节点之间的层级关系与各所述节点包括的所述场景对象之间的层级关系对应;
响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息;
在所述元数据差异信息的修改审批通过后,根据所述元数据差异信息,更新所述历史场景模型中的元数据。
2.根据权利要求1所述的方法,其特征在于,所述元数据包括逻辑模型信息、逻辑实体属性和ER关系;
所述元数据管理方法还包括:
将所述元数据的第一部分存储于第一数据库;所述元数据的第一部分至少包括所述元数据中的所述逻辑模型信息和所述ER关系,所述第一数据库包括图数据库;
将所述元数据的第二部分存储于第二数据库,所述元数据的第二部分至少包括所述元数据中的逻辑实体属性,所述第二数据库包括关系型数据库。
3.根据权利要求2所述的方法,其特征在于,还包括:
监听所述第二数据库中的数据变化,在存储于所述第二数据库中的元数据发生变化时,生成携带有元数据变化信息的同步指令,所述同步指令包括基于图数据库脚本语言的指令;
执行所述同步指令,以使所述第一数据库与所述第二数据库中的元数据同步。
4.根据权利要求2所述的方法,其特征在于,还包括:
响应于携带关系查询请求,在所述第一数据库中查询与所述关系查询请求对应的ER关系作为响应结果返回给所述关系查询请求的请求方。
5.根据权利要求2~4任一项所述的方法,其特征在于,所述第一数据库包括Neo4j数据库,所述第二数据库包括PostgreSQL数据库。
6.根据权利要求1所述的方法,其特征在于,所述对比所述历史场景模型与所述场景模型包括:
在所述历史场景模型中创建第一游标,在所述场景模型中创建第二游标;所述第一游标用于定位所述历史场景模型中的键值对,所述第二游标用于定位所述场景模型中的键值对;所述键值对包括场景对象和挂载于所述场景对象下的元数据;
通过移动所述第一游标和所述第二游标,依次比较所述历史场景模型和所述场景模型中的键值对,以确定所述元数据差异信息。
7.根据权利要求1所述的方法,其特征在于,所述响应于携带有所述场景模型的发布位置的模型发布请求,在所述发布位置存在历史场景模型时,对比所述历史场景模型与所述场景模型,获得元数据差异信息包括:
响应于携带有所述场景模型的发布位置的模型发布请求,调用指定预设命名空间的更改发布模型接口,所述预设命名空间包括数据库的对象集合,所述预设命名空间与所述场景模型的发布位置的模型发布请求对应;
在所述预设命名空间不存在时,创建所述预设命名空间;
在所述预设命名空间中查询所述历史场景模型,若存在所述历史场景模型,则对比所述历史场景模型与所述场景模型,获得元数据差异信息;若不存在所述历史场景模型,则在所述预设命名空间中创建所述场景模型。
8.一种计算设备,其特征在于,包括:至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1-7任一项所述的元数据管理方法。
9.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如权利要求1-7任一项所述的元数据管理方法。
CN202311754773.4A 2023-12-20 2023-12-20 一种元数据管理方法、计算设备及存储介质 Active CN117435558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311754773.4A CN117435558B (zh) 2023-12-20 2023-12-20 一种元数据管理方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311754773.4A CN117435558B (zh) 2023-12-20 2023-12-20 一种元数据管理方法、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN117435558A true CN117435558A (zh) 2024-01-23
CN117435558B CN117435558B (zh) 2024-03-29

Family

ID=89553855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311754773.4A Active CN117435558B (zh) 2023-12-20 2023-12-20 一种元数据管理方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN117435558B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944209A (zh) * 2010-09-21 2011-01-12 用友软件股份有限公司 元数据定制方法和装置
US20140368522A1 (en) * 2013-06-13 2014-12-18 Autodesk, Inc. File format and system for distributed scene graphs
US20170139987A1 (en) * 2015-11-18 2017-05-18 Sap Se Calculation scenarios with extended semantic nodes
CN108733713A (zh) * 2017-04-21 2018-11-02 阿里巴巴集团控股有限公司 数据仓库中的数据查询方法及装置
CN109344173A (zh) * 2018-09-10 2019-02-15 阿里巴巴集团控股有限公司 数据管理方法和装置、数据结构
CN109859319A (zh) * 2018-12-14 2019-06-07 浙江永拓信息科技有限公司 场景可视化编辑系统
CN113392227A (zh) * 2021-05-31 2021-09-14 交控科技股份有限公司 面向轨道交通领域的元数据知识图谱引擎系统
CN114970318A (zh) * 2022-04-22 2022-08-30 同济大学 基于行为结果双代理模型的自动驾驶系统安全测评方法
CN114996930A (zh) * 2022-05-26 2022-09-02 广东电网有限责任公司 一种建模方法、装置、电子设备及存储介质
CN115185891A (zh) * 2022-09-14 2022-10-14 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质
CN115712623A (zh) * 2022-11-22 2023-02-24 中国司法大数据研究院有限公司 一种基于捕获元数据变更的批量数据容错采集方法
CN115858498A (zh) * 2022-12-20 2023-03-28 上海方融科技有限责任公司 五维时空分布式数据库构建方法及装置
CN116360766A (zh) * 2023-04-10 2023-06-30 深圳市惟客数据科技有限公司 一种基于ddd可视化设计器的低代码系统和装置
CN116400900A (zh) * 2023-04-04 2023-07-07 上海太美数字科技有限公司 生成指标的方法及装置
CN116992887A (zh) * 2023-08-31 2023-11-03 广东粤电南水发电有限责任公司 一种元数据的数据目录处理方法、装置以及处理设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944209A (zh) * 2010-09-21 2011-01-12 用友软件股份有限公司 元数据定制方法和装置
US20140368522A1 (en) * 2013-06-13 2014-12-18 Autodesk, Inc. File format and system for distributed scene graphs
US20170139987A1 (en) * 2015-11-18 2017-05-18 Sap Se Calculation scenarios with extended semantic nodes
CN108733713A (zh) * 2017-04-21 2018-11-02 阿里巴巴集团控股有限公司 数据仓库中的数据查询方法及装置
CN109344173A (zh) * 2018-09-10 2019-02-15 阿里巴巴集团控股有限公司 数据管理方法和装置、数据结构
CN109859319A (zh) * 2018-12-14 2019-06-07 浙江永拓信息科技有限公司 场景可视化编辑系统
CN113392227A (zh) * 2021-05-31 2021-09-14 交控科技股份有限公司 面向轨道交通领域的元数据知识图谱引擎系统
CN114970318A (zh) * 2022-04-22 2022-08-30 同济大学 基于行为结果双代理模型的自动驾驶系统安全测评方法
CN114996930A (zh) * 2022-05-26 2022-09-02 广东电网有限责任公司 一种建模方法、装置、电子设备及存储介质
CN115185891A (zh) * 2022-09-14 2022-10-14 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质
CN115712623A (zh) * 2022-11-22 2023-02-24 中国司法大数据研究院有限公司 一种基于捕获元数据变更的批量数据容错采集方法
CN115858498A (zh) * 2022-12-20 2023-03-28 上海方融科技有限责任公司 五维时空分布式数据库构建方法及装置
CN116400900A (zh) * 2023-04-04 2023-07-07 上海太美数字科技有限公司 生成指标的方法及装置
CN116360766A (zh) * 2023-04-10 2023-06-30 深圳市惟客数据科技有限公司 一种基于ddd可视化设计器的低代码系统和装置
CN116992887A (zh) * 2023-08-31 2023-11-03 广东粤电南水发电有限责任公司 一种元数据的数据目录处理方法、装置以及处理设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
XIUQI HUANG; YUANNING GAO; XINYI ZHOU; XIAOFENG GAO; GUIHAI CHEN: "An Adaptive Metadata Management Scheme Based on Deep Reinforcement Learning for Large-Scale Distributed File Systems", IEEE/ACM TRANSACTIONS ON NETWORKING, 21 April 2023 (2023-04-21), pages 2840 *
乔嘉林: "物联网时序数据库管理系统文件结构设计与优化研究", 中国博士学位论文全文数据库, 15 January 2023 (2023-01-15), pages 138 - 27 *
王威;刘卫东;宋佳兴;: "基于Globe的分布式LDAP元数据目录服务框架", 计算机工程, no. 11, 5 June 2006 (2006-06-05), pages 72 - 74 *
衡星辰;陈丰;张诗军;甘杉;: "元数据管理系统在电力企业的研究与实践", 自动化与仪器仪表, no. 04, 25 April 2017 (2017-04-25), pages 107 - 109 *

Also Published As

Publication number Publication date
CN117435558B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US11550769B2 (en) Data processing method, apparatus, and system
US10558642B2 (en) Mechanism for deprecating object oriented data
US8751437B2 (en) Single persistence implementation of business objects
US7599948B2 (en) Object relational mapping layer
US8065323B2 (en) Offline validation of data in a database system for foreign key constraints
CN109492053B (zh) 用于访问数据的方法和装置
CN109240946A (zh) 数据的多级缓存方法及终端设备
US11775507B2 (en) Methods and apparatuses for reading and updating data structures, and electronic devices
WO2020192141A1 (zh) 接口模拟方法、装置、计算机设备和存储介质
US20100185928A1 (en) Extensibility for web based diagram visualization
WO2023130933A1 (zh) 模型处理方法、代码获得方法、装置以及电子设备
CN112860953A (zh) 图数据库的数据导入方法、装置、设备及存储介质
CN117435558B (zh) 一种元数据管理方法、计算设备及存储介质
CN117453980A (zh) 元数据管理、配置页面生成方法、服务器及存储介质
US9411555B2 (en) Systems and methods for creating context sensitive graph topologies based on multidimensional context information
US11016830B2 (en) Entity-based service operation for object-based persistence
US10970316B1 (en) Maintaining a class hierarchy of an object-oriented data model using shared columns and/or overflow tables
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
US10114864B1 (en) List element query support and processing
CN112347794B (zh) 数据翻译方法、装置、设备及计算机存储介质
TWI620134B (zh) 整合裝置及其整合方法
US20130060831A1 (en) Systems and methods for message-based distributed computing
WO2024001569A1 (zh) 网络配置方法、装置以及存储介质、电子装置
WO2024016789A1 (zh) 日志数据查询方法、装置、设备和介质
TWI699658B (zh) 共享資料系統及共享資料方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant