CN113760320A - 元数据部署方法和装置 - Google Patents

元数据部署方法和装置 Download PDF

Info

Publication number
CN113760320A
CN113760320A CN202110004024.4A CN202110004024A CN113760320A CN 113760320 A CN113760320 A CN 113760320A CN 202110004024 A CN202110004024 A CN 202110004024A CN 113760320 A CN113760320 A CN 113760320A
Authority
CN
China
Prior art keywords
metadata
relationship
searched
changed
check
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.)
Pending
Application number
CN202110004024.4A
Other languages
English (en)
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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110004024.4A priority Critical patent/CN113760320A/zh
Publication of CN113760320A publication Critical patent/CN113760320A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明公开了一种元数据部署方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。该实施方式能够确定与发生变更的元数据相关的元数据进而执行热加载,从而以局部热加载的方式克服现有技术中全量元数据加载方式造成的影响范围广、后果不可控的缺陷。

Description

元数据部署方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种元数据部署方法和装置。
背景技术
在支持应用程序的计算机集群中往往存在多个元数据,当某一元数据发生变更时,需要在集群中的各服务器进行同步以确保数据一致性。现有技术中,一般通过两种方式实现上述同步,一种是重启服务器来加载所有元数据,另一种是通过热部署的方式在各服务器加载所有元数据,这两种方式都需要服务器加载所有元数据,由此造成热部署影响范围较广,影响后果不可控的问题。例如,当某租户变更其定义的元数据时,现有技术需要重新加载全部元数据,包括其他租户定义的元数据,这对没有变更元数据的其他租户来说势必会形成较大影响。
发明内容
有鉴于此,本发明实施例提供一种元数据部署方法和装置,能够确定与发生变更的元数据相关的元数据进而执行热加载,从而以局部热加载的方式克服现有技术中全量元数据加载方式造成的影响范围广、后果不可控的缺陷。
为实现上述目的,根据本发明的一个方面,提供了一种元数据部署方法。
本发明实施例的元数据部署方法包括:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
可选地,所述数据库为图数据库;以及,所述在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据,包括:在所述数据库中获取所述任一元数据的关系网,将所述关系网中涉及的元数据确定为与所述任一元数据相关的元数据。
可选地,所述方法进一步包括:在所述根据预设规则对查找到的元数据进行一致性校验之前,将所述关系网拆分为直系网链和旁系网链;其中,所述直系网链是基于元数据之间的继承关系或实现关系确定的,所述旁系网链是基于元数据之间的关联关系确定的;所述根据预设规则对查找到的元数据进行一致性校验,包括:对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。
可选地,所述将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器,包括:将热加载消息推送到预设的消息池中,为所述热加载消息设置当前版本号;所述热加载消息中含有所述查找到的元数据以及变更后的所述任一元数据的标识信息;其中,计算机集群中的任一可用服务器从所述消息池中获取所述热加载消息,并在判断本地已经加载的元数据版本号中不存在所述当前版本号时,根据所述热加载消息加载所述查找到的元数据以及变更后的所述任一元数据。
可选地,所述任一元数据为:租户级元数据、平台级元数据或者行业级元数据,任一元数据发生变更包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
为实现上述目的,根据本发明的另一方面,提供了一种元数据部署装置。
本发明实施例的元数据部署装置可包括:查询单元,用于:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;分析及部署单元,用于:在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
可选地,所述数据库为图数据库;以及,查询单元可进一步用于:在所述数据库中获取所述任一元数据的关系网,将所述关系网中涉及的元数据确定为与所述任一元数据相关的元数据;分析及部署单元可进一步用于:在所述根据预设规则对查找到的元数据进行一致性校验之前,将所述关系网拆分为直系网链和旁系网链;其中,所述直系网链是基于元数据之间的继承关系或实现关系确定的,所述旁系网链是基于元数据之间的关联关系确定的;对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。
可选地,分析及部署单元可进一步用于:将热加载消息推送到预设的消息池中,为所述热加载消息设置当前版本号;所述热加载消息中含有所述查找到的元数据以及变更后的所述任一元数据的标识信息;其中,计算机集群中的任一可用服务器从所述消息池中获取所述热加载消息,并在判断本地已经加载的元数据版本号中不存在所述当前版本号时,根据所述热加载消息加载所述查找到的元数据以及变更后的所述任一元数据;以及,所述任一元数据为:租户级元数据、平台级元数据或者行业级元数据,任一元数据发生变更包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的元数据部署方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的元数据部署方法。
根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:当计算机集群的元数据发生变更时,在图数据库中查找该元数据的关系网,并将关系网拆分为直系网链和旁系网链,此后根据预设规则对旁系网链中的元数据进行一致性校验且在校验通过之后将查找到的元数据以及变更后的该元数据热加载在各服务器,由此实现了影响范围可控的局部热加载方案,解决了现有技术中全量元数据加载方式造成的影响范围广、后果不可控的问题,提升了应用服务器的更新部署效率和灵活性,同时保证了计算机集群各服务器之间的数据一致性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例中元数据部署方法的主要步骤示意图;
图2是本发明实施例中元数据关系网示意图;
图3是本发明实施例中元数据部署方法的具体执行流程示意图;
图4是本发明实施例中元数据热加载流程示意图;
图5是本发明实施例中元数据部署装置的组成部分示意图;
图6是用来实现本发明实施例中元数据部署方法的电子设备结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例中元数据部署方法的主要步骤示意图。
如图1所示,本发明实施例的元数据部署方法可具体按照如下步骤执行:
步骤S101:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据。
在本发明实施例中,计算机集群用于支持应用系统,可包括至少一台服务器。元数据指的是用于对目标对象的特征进行描述的数据,也即用于描述其它数据的数据,每一元数据可以包括一个实体和至少一个属性,其中,实体作为元数据的标识,属性作为元数据进行描述的项目。例如,订单元数据包括订单实体和属性A、B、C,通过这些属性即可准确描述任意一个订单的特征。
元数据之间可以具有不同的关系,这些关系包括继承(extends,也称泛化)、实现(realization)、关联(association)、聚合(aggregation)和组合(composition)。其中,继承关系指一个元数据可以继承另外一个元数据的功能,并可以增加自己的新功能;实现关系是指一个元数据实现另一元数据从而具有其功能,类似于Java中类与接口的关系;关联关系指的是两个元数据由于具有至少一个相同属性而产生的关系,该属性称为这两个元数据的相关属性。
聚合是关联关系的特例,是一种强的关联关系,聚合是整体与个体的关系,即has-a关系,此时整体和个体是可以分离的,他们具有各自的生命周期,个体可以属于多个整体,也可以被多个整体共享。组合也是关联关系的一种特例,体现的是一种contain-a关系,比聚合更强,是一种强聚合关系。它同样体现整体与个体的关系,但此时整体与个体是不可分的,整体生命周期的结束也意味着个体生命周期的结束,反之亦然。
实际应用中,元数据可以按照所属级别分为租户级元数据、平台级元数据和行业级元数据。其中,租户是云计算领域的用词,指的是使用云计算服务的互联网用户,可以理解,租户一般具有账户、权限的分配职能,不同的租户之间具有数据隔离。租户级元数据指的是由某一租户自行定义的元数据,这种元数据不会对其它租户定义的元数据产生影响。平台级元数据和行业级元数据都是可以被任何租户使用的元数据,其中平台级元数据是云计算平台定义的元数据,行业级元数据是被全行业承认的通用元数据。
在本步骤中,当任一元数据(可以是租户级元数据、平台级元数据或行业级元数据,以下将该任一元数据称为第一元数据)发生变更时,可以在预先建立的数据库中查找与第一元数据相关的元数据。较佳地,上述数据库可以是具有较高查询效率的图数据库,其用于存储元数据以及元数据之间的相互关系。元数据发生变更可以包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
在一个实施例中,可以通过以下方式查询与第一元数据相关的元数据:使用预先编写的元数据影响分析器(一种用于查询元数据相关关系的应用程序),在上述数据库中获取第一元数据的关系网,将关系网中涉及的元数据确定为与第一元数据相关的元数据。其中,上述关系网是由与第一元数据具有相互关系(包括继承、实现、关联、聚合、组合关系)的多个元数据组成的网络结构,如图2所示,订单元数据包括订单实体和属性A、B、C,用户元数据包括用户实体和属性A、D、E、F,配送元数据包括配送实体和属性G、H、I;订单元数据和用户元数据具有关联关系,属性A为二者的相关属性;订单元数据和配送元数据具有继承关系,当订单元数据发生变更时,图2展示的网络结构即可以是订单元数据的关系网。
可以理解,第一元数据的关系网可以通过以下方式确定:首先,获取与第一元数据具有相互关系的元数据(可称为第一层级元数据),之后获取与第一层级元数据具有相互关系的元数据(可称为第二层级元数据),此后获取与第二层级元数据具有相互关系的元数据……执行以上步骤直至遍历整个数据库,查找到的各层级元数据即可形成第一元数据的关系网。
通过以上步骤,能够首先确定第一元数据变更在所有元数据中的影响范围,后续可以根据该影响范围执行热加载(可以理解,热加载指的是不重启服务器的情况下进行加载),由此将热加载对使用者的影响降到最低。
步骤S102:在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
在本发明实施例中,执行本步骤之前,可以首先将上述关系网拆分为直系网链和旁系网链。具体地,直系网链和旁系网链均为由具有相互关系的多个元数据组成的树状或网状结构,直系网链可以基于元数据之间的继承关系或实现关系确定,旁系网链可以基于元数据之间的关联关系、聚合关系或组合关系确定。
例如,元数据A被元数据B、C继承,元数据B被元数据D实现,元数据D被元数据E继承,则A、B、C、D、E组成直系网链。一般地,直系网链中不涉及关联关系、聚合关系和组合关系。又如,元数据A与元数据B关联,元数据B被元数据C继承,元数据C与元数据D关联,则元数据A、B、C、D组成旁系网链。可以看到,旁系网链中可能涉及继承关系和实现关系。
实际应用中,可以使用预先编写的实体关系分析器(一种用于具体分析元数据相关关系的应用程序),将步骤S101得到的关系网拆分为直系网链和旁系网链。
步骤S102中的校验用于检测各元数据之间是否满足数据一致性的要求,上述预设规则可以根据实际需求设置,例如,可以设置为:对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。实际应用中,当某租户修改第一元数据时,其直系网链中的元数据并不需要修改,因此平台也不需要校验数据一致性;但是其旁系网链中具有关联关系的元数据则需要满足数据一致性,因此需要该租户对相应的元数据进行同步修改,此后平台在加载元数据之前对各元数据的一致性进行校验,并在校验通过之后执行元数据加载。如果对某旁系网链的某一次校验未通过,则不会加载该旁系网链的元数据,直到校验通过之后再进行加载。具体应用中,可以使用预先编写的校验分析器执行以上校验。
例如,在图2示例中,订单元数据和用户元数据具有关联关系,属性A为二者的相关属性,当相关属性A修改时,用户元数据需要进行相应修改,此后校验分析器针对相关属性A进行校验,即校验订单元数据和用户元数据的相关属性A是否一致。
通过以上步骤,能够在校验各元数据的一致性通过之后执行元数据加载,从而在满足数据一致性的前提下最大程度减轻元数据加载对无关用户的干扰。可以理解,对于租户级元数据来说,由于上述数据库能够体现不同租户定义的元数据之间的隔离,因此步骤S101和步骤S102中的查询过程不会跨越上述隔离,例如,如果发生变更的第一元数据为租户1定义的元数据,则由于数据库本身的隔离性,步骤S101和步骤S102只能在租户1定义的所有元数据中进行查找,因此查找结果不会涉及其他租户定义的元数据。
在确定与第一元数据直接相关的元数据之后,可以利用预先编写的元数据热加载器、通过以下步骤执行元数据在各服务器的热加载:计算机集群中的各服务器预先通过本地服务将服务器的实时状态信息(例如是否可用)更新到注册中心,并使用服务器别名注册JSF提供者(JSF即Java Server Faces,是一种用于构建网页应用程序的标准Java框架)。当目标服务器(即首先对第一元数据执行更改的服务器,可以理解,步骤S101、S102、S103的执行主体也是目标服务器)更改第一元数据之后,将热加载消息推送到预设的消息池中,并为热加载消息设置当前版本号;其中,热加载消息中含有变更后的第一元数据以及与第一元数据直接相关的元数据的标识信息(例如各元数据中的实体名称),上述元数据的数据内容可以存储在云端服务器。此后,计算机集群中的任一可用服务器利用JSF提供者从消息池中获取热加载消息,并在判断本地已经加载的元数据版本号中不存在上述当前版本号时,根据热加载消息加载变更后的第一元数据以及与第一元数据直接相关的元数据;当服务器判断本地已经加载的元数据版本号中存在上述当前版本号时,不执行以上加载动作。
图3是本发明实施例中元数据部署方法的具体执行流程示意图,如图3所示,当目标服务器在变更第一元数据时,首先可以判断第一元数据为租户级元数据、平台级元数据还是行业级元数据,并根据不同的元数据级别在数据库中执行查询。接着,可以通过实体关系分析器查找关系网链,包括直系网链和旁系网链。对于直系网链涉及的任意一个元数据,可以不经校验直接加载;对于旁系网链涉及的元数据,需要使用校验分析器进行校验之后再行加载,并向目标服务器返回相应通知。在基于元数据热加载器执行加载之后,可将执行结果(包括执行成功和执行失败)通知向目标服务器返回。
图4是本发明实施例中元数据热加载流程示意图,如图4所示,应用服务器A与应用服务器B均通过本地服务向注册中心更新实时状态,在确定待加载的元数据之后,应用服务器A注册JSF提供者(即JSF Provider),利用JSF提供者从消息池中获取热加载消息(即消息体),并调用预先编写的消息处理器执行相应处理以完成元数据加载。同样地,应用服务器B注册JSF提供者,调用消息处理器处理热加载消息,并对热加载消息的版本执行校验并校验分布式锁,在本地加载成功之后释放锁,从而实现元数据热加载后的数据一致性。
在本发明实施例的技术方案中,当计算机集群的元数据发生变更时,在图数据库中查找该元数据的关系网,并将关系网拆分为直系网链和旁系网链,此后根据预设规则对旁系网链中的元数据进行一致性校验且在校验通过之后将查找到的元数据以及变更后的该元数据热加载在各服务器,由此实现了影响范围可控的局部热加载方案,解决了现有技术中全量元数据加载方式造成的影响范围广、后果不可控的问题,提升了应用服务器的更新部署效率和灵活性,同时保证了计算机集群各服务器之间的数据一致性。
需要说明的是,对于前述的各方法实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图5所示,本发明实施例提供的元数据部署装置500可以包括:查询单元501和分析及部署单元502。
其中,查询单元501可用于:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;分析及部署单元502可用于:在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
在本发明实施例中,所述数据库为图数据库;以及,查询单元501可进一步用于:在所述数据库中获取所述任一元数据的关系网,将所述关系网中涉及的元数据确定为与所述任一元数据相关的元数据;分析及部署单元502可进一步用于:在所述根据预设规则对查找到的元数据进行一致性校验之前,将所述关系网拆分为直系网链和旁系网链;其中,所述直系网链是基于元数据之间的继承关系或实现关系确定的,所述旁系网链是基于元数据之间的关联关系确定的;对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。
较佳地,分析及部署单元502可进一步用于:将热加载消息推送到预设的消息池中,为所述热加载消息设置当前版本号;所述热加载消息中含有所述查找到的元数据以及变更后的所述任一元数据的标识信息;其中,计算机集群中的任一可用服务器从所述消息池中获取所述热加载消息,并在判断本地已经加载的元数据版本号中不存在所述当前版本号时,根据所述热加载消息加载所述查找到的元数据以及变更后的所述任一元数据;以及,所述任一元数据为:租户级元数据、平台级元数据或者行业级元数据,任一元数据发生变更包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
在本发明实施例的技术方案中,当计算机集群的元数据发生变更时,在图数据库中查找该元数据的关系网,并将关系网拆分为直系网链和旁系网链,此后根据预设规则对旁系网链中的元数据进行一致性校验且在校验通过之后将查找到的元数据以及变更后的该元数据热加载在各服务器,由此实现了影响范围可控的局部热加载方案,解决了现有技术中全量元数据加载方式造成的影响范围广、后果不可控的问题,提升了应用服务器的更新部署效率和灵活性,同时保证了计算机集群各服务器之间的数据一致性。
本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的元数据部署方法。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括查询单元和分析及部署单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,查询单元还可以被描述为“向分析及部署单元提供与任一元数据相关的元数据的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
在本发明实施例的技术方案中,当计算机集群的元数据发生变更时,在图数据库中查找该元数据的关系网,并将关系网拆分为直系网链和旁系网链,此后根据预设规则对旁系网链中的元数据进行一致性校验且在校验通过之后将查找到的元数据以及变更后的该元数据热加载在各服务器,由此实现了影响范围可控的局部热加载方案,解决了现有技术中全量元数据加载方式造成的影响范围广、后果不可控的问题,提升了应用服务器的更新部署效率和灵活性,同时保证了计算机集群各服务器之间的数据一致性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种元数据部署方法,其特征在于,包括:
当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;
在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
2.根据权利要求1所述的方法,其特征在于,所述数据库为图数据库;以及,所述在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据,包括:
在所述数据库中获取所述任一元数据的关系网,将所述关系网中涉及的元数据确定为与所述任一元数据相关的元数据。
3.根据权利要求2所述的方法,其特征在于,
所述方法进一步包括:在所述根据预设规则对查找到的元数据进行一致性校验之前,将所述关系网拆分为直系网链和旁系网链;其中,所述直系网链是基于元数据之间的继承关系或实现关系确定的,所述旁系网链是基于元数据之间的关联关系确定的;
所述根据预设规则对查找到的元数据进行一致性校验,包括:对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。
4.根据权利要求1所述的方法,其特征在于,所述将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器,包括:
将热加载消息推送到预设的消息池中,为所述热加载消息设置当前版本号;所述热加载消息中含有所述查找到的元数据以及变更后的所述任一元数据的标识信息;其中,
计算机集群中的任一可用服务器从所述消息池中获取所述热加载消息,并在判断本地已经加载的元数据版本号中不存在所述当前版本号时,根据所述热加载消息加载所述查找到的元数据以及变更后的所述任一元数据。
5.根据权利要求1-4任一所述的方法,其特征在于,所述任一元数据为:租户级元数据、平台级元数据或者行业级元数据,任一元数据发生变更包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
6.一种元数据部署装置,其特征在于,包括:
查询单元,用于:当基于计算机集群的任一元数据发生变更时,在预先建立的、并用于存储元数据以及元数据之间关系的数据库中查找与所述任一元数据相关的元数据;
分析及部署单元,用于:在根据预设规则对查找到的元数据进行一致性校验且校验通过之后,将查找到的元数据以及变更后的所述任一元数据以热加载的方式部署在计算机集群的各服务器。
7.根据权利要求6所述的装置,其特征在于,所述数据库为图数据库;以及,查询单元进一步用于:
在所述数据库中获取所述任一元数据的关系网,将所述关系网中涉及的元数据确定为与所述任一元数据相关的元数据;
分析及部署单元进一步用于:在所述根据预设规则对查找到的元数据进行一致性校验之前,将所述关系网拆分为直系网链和旁系网链;其中,所述直系网链是基于元数据之间的继承关系或实现关系确定的,所述旁系网链是基于元数据之间的关联关系确定的;对于旁系网链中具有关联关系的任意两个元数据,校验该任意两个元数据的相关属性是否一致:若是,则校验通过;否则,校验未通过。
8.根据权利要求6或7所述的装置,其特征在于,分析及部署单元进一步用于:
将热加载消息推送到预设的消息池中,为所述热加载消息设置当前版本号;所述热加载消息中含有所述查找到的元数据以及变更后的所述任一元数据的标识信息;其中,计算机集群中的任一可用服务器从所述消息池中获取所述热加载消息,并在判断本地已经加载的元数据版本号中不存在所述当前版本号时,根据所述热加载消息加载所述查找到的元数据以及变更后的所述任一元数据;以及
所述任一元数据为:租户级元数据、平台级元数据或者行业级元数据,任一元数据发生变更包括以下至少一种情况:该元数据增加、该元数据删除、该元数据发布、该元数据的结构修改、该元数据与其它元数据之间关系的增加、该元数据与其它元数据之间关系的删除、该元数据与其它元数据之间关系的修改。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202110004024.4A 2021-01-04 2021-01-04 元数据部署方法和装置 Pending CN113760320A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110004024.4A CN113760320A (zh) 2021-01-04 2021-01-04 元数据部署方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110004024.4A CN113760320A (zh) 2021-01-04 2021-01-04 元数据部署方法和装置

Publications (1)

Publication Number Publication Date
CN113760320A true CN113760320A (zh) 2021-12-07

Family

ID=78786317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110004024.4A Pending CN113760320A (zh) 2021-01-04 2021-01-04 元数据部署方法和装置

Country Status (1)

Country Link
CN (1) CN113760320A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090288078A1 (en) * 2008-05-15 2009-11-19 International Business Machines Corporation Method and Apparatus for Deploying Applications
CN106155750A (zh) * 2016-07-29 2016-11-23 腾讯科技(深圳)有限公司 一种资源文件的加载方法和装置
CN108446331A (zh) * 2018-02-13 2018-08-24 江苏省公安科学技术研究所 关系网络数据更新的方法和装置、计算机可读存储介质
CN110391938A (zh) * 2019-07-26 2019-10-29 北京百度网讯科技有限公司 用于部署服务的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090288078A1 (en) * 2008-05-15 2009-11-19 International Business Machines Corporation Method and Apparatus for Deploying Applications
CN106155750A (zh) * 2016-07-29 2016-11-23 腾讯科技(深圳)有限公司 一种资源文件的加载方法和装置
CN108446331A (zh) * 2018-02-13 2018-08-24 江苏省公安科学技术研究所 关系网络数据更新的方法和装置、计算机可读存储介质
CN110391938A (zh) * 2019-07-26 2019-10-29 北京百度网讯科技有限公司 用于部署服务的方法和装置

Similar Documents

Publication Publication Date Title
US11093377B2 (en) Systems and methods for testing source code
US10776104B2 (en) Systems and methods for tracking configuration file changes
US10042746B2 (en) Callpath finder
US11093232B2 (en) Microservice update system
US8869111B2 (en) Method and system for generating test cases for a software application
US11055180B2 (en) Backup management of software environments in a distributed network environment
US10826993B2 (en) Cloud resource provisioning using blueprint chaining
US10204125B2 (en) Method, apparatus, and application platform for updating application object attribute
US11159390B2 (en) Systems and methods for service-aware mapping of a system infrastructure
CN111831325B (zh) 应用中配置文件的更新方法、装置、系统和介质
CN111026568A (zh) 数据和任务关系构建方法、装置、计算机设备及存储介质
JP2017091533A (ja) 製品ライフサイクル管理(plm)システムとソースコード管理(scm)システムとの間のデータの双方向同期
JP2017091531A (ja) ソースコード管理(scm)システムから製品ライフサイクル管理(plm)システムへの階層的なデータのエクスポート
US11200052B1 (en) Documentation enforcement during compilation
CN111831567B (zh) 应用的测试环境配置方法、装置、系统和介质
EP4030280A1 (en) Seamless lifecycle stability for extensible software features
CN113760320A (zh) 元数据部署方法和装置
US20180375788A1 (en) Cloud Extensibility Framework
JP2017091532A (ja) 製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート
US20210073018A1 (en) Enhanced virtual machine image management system
CN112667491A (zh) 虚拟机的功能测试方法及装置
CN111221560A (zh) 一种资源管理方法、装置和电子设备
US11330079B2 (en) Environment for developing of distributed multicloud applications
US11223526B1 (en) Cloud computing infrastructure pipelines with run triggers
CN115525722B (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