CN114401239B - 元数据传输方法、装置、计算机设备和存储介质 - Google Patents
元数据传输方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114401239B CN114401239B CN202111564254.2A CN202111564254A CN114401239B CN 114401239 B CN114401239 B CN 114401239B CN 202111564254 A CN202111564254 A CN 202111564254A CN 114401239 B CN114401239 B CN 114401239B
- Authority
- CN
- China
- Prior art keywords
- message
- metadata
- topic
- target
- theme
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 101001048454 Homo sapiens Protein Hook homolog 1 Proteins 0.000 description 11
- 101001048456 Homo sapiens Protein Hook homolog 2 Proteins 0.000 description 11
- 102100023602 Protein Hook homolog 1 Human genes 0.000 description 11
- 102100023601 Protein Hook homolog 2 Human genes 0.000 description 11
- 238000013480 data collection Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 101000866633 Homo sapiens Protein Hook homolog 3 Proteins 0.000 description 3
- 102100031717 Protein Hook homolog 3 Human genes 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能领域,通过对消息主题进行拆分,可以实现由消息中间件中的多个消息主题对元数据进行并行发布与消费,避免元数据丢失,保证元数据传输的完整性与准确性。涉及一种元数据传输方法、装置、设备和介质,该方法包括:对消息中间件进行消息主题拆分,获得消息中间件的多个消息主题;接收到数据仓库集群的至少一个元数据,确定每个元数据对应的消息主题,并将每个元数据发布到对应的消息主题;接收到服务器集群的消费请求,确定消费请求在消息中间件中的目标消息主题;确定消费请求对应的目标服务器,将发布到目标消息主题对应的元数据发送至目标服务器。此外,本申请还涉及区块链技术,元数据可存储于区块链中。
Description
技术领域
本申请涉及人工智能、数据处理领域,尤其涉及一种元数据传输方法、装置、计算机设备和存储介质。
背景技术
在处理业务数据时,通常采用数据仓库工具Hive进行数据计算;由于数据仓库工具Hive计算得到的元数据包含重要信息,因此需要将元数据传输到Atlas服务器存储。
现有的元数据传输方式,一般是通过消息中间件将产生的元数据中转到Atlas服务器。但当元数据的数量激增时,元数据写入消息中间件的速度大于Atlas服务器消费元数据的速度,会导致消息中间件上的元数据严重堆积,最终超时丢失,降低了元数据传输的完整性与准确性。
因此,如何提高元数据传输的完整性与准确性成为亟需解决的问题。
发明内容
本申请提供了一种元数据传输方法、装置、计算机设备和存储介质,通过对消息主题进行拆分,可以实现由消息中间件中的多个消息主题对元数据进行并行发布与消费,避免元数据丢失,保证了元数据传输的完整性与准确性。
第一方面,本申请提供了一种元数据传输方法,所述方法包括:
对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题;
接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;
接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;
确定所述消费请求对应的目标服务器,将发布到所述目标消息主题的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
第二方面,本申请还提供了一种元数据传输装置,所述装置包括:
消息主题拆分模块,用于对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题;
元数据发布模块,用于接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;
目标消息主题确定模块,用于接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;
元数据发送模块,用于确定所述消费请求对应的目标服务器,将发布到所述目标消息主题对应的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的元数据传输方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的元数据传输方法。
本申请公开了一种元数据传输方法、装置、计算机设备和存储介质,通过对消息中间件进行消息主题拆分,可以实现将消息中间件原有的一个消息主题拆分成多个消息主题;通过在接收到数据仓库集群的至少一个元数据时,确定每个元数据对应的消息主题并将每个元数据发布到对应的消息主题,可以实现对数据仓库集群产生的元数据并行发布;通过在接收到服务器集群的消费请求时,确定消费请求在消息中间件中对应的目标消息主题,可以实现从消费请求对应的目标消息主题中读取元数据;通过确定消费请求对应的目标服务器,将发布到目标消息主题的元数据发送至目标服务器,可以实现由消息中间件中的多个消息主题对元数据进行并行消费,避免元数据丢失,保证了元数据传输的完整性与准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种元数据传输方法的示意性流程图;
图2是本申请实施例提供的一种拆分消息主题的示意图;
图3是本申请实施例提供的一种发送消息主题名称的示意图;
图4是本申请实施例提供的另一种发送消息主题名称的示意图;
图5是本申请实施例提供的一种确定每个元数据对应的消息主题的子步骤的示意性流程图;
图6是本申请实施例提供的一种增加新增消息主题的示意图;
图7是本申请实施例提供的一种元数据传输装置的示意性框图;
图8是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种元数据传输方法、装置、计算机设备和存储介质。其中,该元数据传输方法可以应用于消息中间件集群中,通过对消息主题进行拆分,可以实现由消息中间件中的多个消息主题对元数据进行并行发布与消费,避免元数据丢失,保证了元数据传输的完整性与准确性。
示例性的,消息中间件集群可以包括多个消息中间件服务器。其中,消息中间件服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,元数据传输方法包括步骤S10至步骤S40。
步骤S10、对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题。
需要说明的是,本申请实施例提供的元数据传输方法可以应用于消息中间件集群中,消息中间件集群中的消息中间件可以将数据仓库集群的元数据发布至对应的消息主题中,并根据服务器集群的消费请求进行元数据消费,实现由消息中间件中的多个消息主题并行发布与消费元数据,解决了消息堆积问题,防止元数据丢失,进而保证了元数据的完整性与准确性。
可以理解的是,消息中间件集群包括多个消息中间件,每个消息中间件可以部署在消息中间件服务器中。数据仓库集群包括多个数据仓库客户端,例如,Hive客户端;其中,每个Hive客户端相当于元数据生产者。服务器集群是指消费消息中间件上的元数据的服务器,例如,Atlas服务器;其中每个Atlas服务器相当于消费者。
示例性的,消息中间件可以包括但不限于RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ以及MetaMQ等等。在本申请实施例中,以消息中间件集群中的其中一个消息中间件为例,详细说明如何对元数据进行并行发布与消费。
在一些实施例中,对消息中间件进行消息主题拆分,获得消息中间件的多个消息主题,可以包括:确定数据仓库集群中的客户端分组总数;基于客户端分组总数,对消息中间件中的消息主题进行拆分,获得与客户端分组总数相同数量的消息主题。
需要说明的是,数据仓库集群中的Hive客户端是一种提供数据仓库工具的客户端。每个Hive客户端设有一个Hook采集工具以及存储Hook采集工具对应的配置文件。其中,Hook采集工具是Hive客户端上的第三方钩子程序,用于捕捉在Hive客户端提交执行的SQL语句,并将元数据实时发送到消息中间件的消息主题中,属于消息生产者。
示例性的,可以检测数据仓库集群中的客户端分组类别,根据客户端分组类别确定客户端分组总数。需要说明的是,在本申请实施例中,开发人员可以根据运维层面的监控来观察提交到各个Hive客户端的任务量,按任务量大小对所有Hive客户端进行分组,将同一组内的全部Hive客户端中的Hook数据采集工具的配置文件指定为同一个消息主题名称,以使同一组内的Hive客户端通过Hook数据采集工具将生产的元数据发送到同一个消息主题。
示例性的,基于客户端分组总数,对消息中间件中的消息主题进行拆分,获得与客户端分组总数相同数量的消息主题。
请参阅图2,图2是本申请实施例提供的一种拆分消息主题的示意图,如图2所示,若客户端分组总数为5,则可以将消息中间件中的消息主题拆分成5个消息主题。如第一消息主题、第二消息主题、第三消息主题、第四消息主题以及第五消息主题。
又例如,若客户端分组总数为10,则可以将消息中间件中的消息主题拆分成10个消息主题。
通过对消息中间件进行消息主题拆分,可以将消息中间件原有的一个消息主题拆分成多个消息主题,实现由多个消息主题进行元数据发布与消费,可以成倍地提高元数据的传输效率。
需要说明的是,在本申请实施例中,获得与客户端分组总数相同数量的消息主题之后,还需要确定每个消息主题的消息主题名称,并根据消息主题名称对客户端与服务器进行消息主题名称配置,以使客户端将元数据发送至对应的消息主题以及使服务器从对应的消息主题消费元数据,实现元数据的并行发布与消费。
在一些实施例中,获得与客户端分组总数相同数量的消息主题之后,还可以包括:确定每个消息主题对应的消息主题名称;确定每个消息主题对应的目标客户端分组,并将每个消息主题对应的消息主题名称发送至对应的目标客户端分组,以供目标客户端分组中的每个客户端根据消息主题名称对数据采集工具进行消息主题名称配置;确定每个消息主题对应的目标服务器,并将每个消息主题对应的消息主题名称发送至对应的目标服务器,以供目标服务器根据消息主题名称进行消息主题名称配置。
示例性的,确定每个消息主题对应的消息主题名称;例如,第一消息主题对应的消息主题名称为HOOK1,第二消息主题对应的消息主题名称为HOOK2,第三消息主题对应的消息主题名称为HOOK3,依次类推。
在一些实施方式中,在确定每个消息主题对应的目标客户端分组时,可以对客户端分组进行编号,例如客户端分组A、客户端分组B、客户端分组C等等。然后,定义每个消息主题对应的目标客户端分组。例如,第一消息主题对应客户端分组A,第二消息主题对应客户端分组B,第三消息主题对应客户端分组C。
示例性的,将每个消息主题对应的消息主题名称发送至对应的目标客户端分组。请参阅图3,图3是本申请实施例提供的一种发送消息主题名称的示意图,如图3所示,将第一消息主题对应的消息主题名称HOOK1发送至客户端分组A中的客户端;将第二消息主题对应的消息主题名称HOOK2发送至客户端分组B中的客户端;将第三消息主题对应的消息主题名称HOOK3发送至客户端分组C中的客户端。
在本申请实施例中,目标客户端分组中的每个客户端可以根据消息主题名称对数据采集工具进行消息主题名称配置。其中,数据采集工具对应的配置文件为atlas-application.properties文件,在该配置文件中有对应的配置项“atlas.notification.hook.topic.name=HOOKN”。
示例性的,客户端可以将消息主题名称添加至数据采集工具对应的配置文件中。例如,对于客户端分组A中的客户端,每个客户端可以将消息主题名称HOOK1添加至配置文件,以将配置文件中的配置项设为“atlas.notification.hook.topic.name=HOOK1”。又例如,对于客户端分组B中的客户端,每个客户端可以将消息主题名称HOOK2添加至配置文件,以将配置文件中的配置项设为“atlas.notification.hook.topic.name=HOOK2”。
通过对同一分组内客户端的数据采集工具进行消息主题名称配置,可以确保同一分组内的数据采集工具将生产的元数据发送至同一消息主题。
在一些实施方式中,在确定每个消息主题对应的目标服务器时,可以定义每个消息主题对应的目标服务器。例如,第一消息主题对应第一服务器,第二消息主题对应第二服务器,第三消息主题对应第三服务器。然后,将每个消息主题对应的消息主题名称发送至对应的目标服务器。
请参阅图4,图4是本申请实施例提供的另一种发送消息主题名称的示意图,如图4所示,将第一消息主题对应的消息主题名称HOOK1发送至第一服务器;将第二消息主题对应的消息主题名称HOOK2发送至第二服务器;将第三消息主题对应的消息主题名称HOOK3发送至第三服务器。
在本申请实施例中,每个目标服务器在接收到消息中间件发送的消息主题名称时,可以根据消息主题名称进行消息主题名称配置。需要说明的是,服务器集群中的每个服务器都有对应的配置文件,如atlas-application.properties文件;配置文件用于指定服务器对应的消息主题。例如,第一服务器可以将配置文件中的配置项设为“atlas.notification.hook.consumer.topic..names=HOOK1”。又例如,第二服务器可以将配置文件中的配置项设为“atlas.notification.hook.consumer.topic.names=HOOK2”。
通过确定每个消息主题对应的目标服务器,并将每个消息主题对应的消息主题名称发送至对应的目标服务器,可以使得目标服务器根据消息主题名称进行消息主题名称配置,进而可以实现每个服务器根据消息主题名称消费对应的消息主题的元数据。
步骤S20、接收到数据仓库集群的至少一个元数据时,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题。
示例性的,当接收到数据仓库集群的至少一个元数据时,消息中间件需要将每个元数据发布到对应的消息主题中。其中,元数据由数据仓库集群中的Hive客户端发送至消息中间件。在本申请实施例中,将对如何发布元数据进行详细说明。
请参阅图5,图5是本申请实施例提供的一种确定每个元数据对应的消息主题的子步骤的示意性流程图,具体可以包括以下步骤S201至步骤S203。
步骤S201、确定每个所述元数据对应的目标客户端,所述目标客户端为所述数据仓库集群中的其中一个客户端。
示例性的,当接收到数据仓库集群的至少一个元数据时,可以将发送每个元数据的客户端,确定为每个元数据对应的目标客户端。需要说明的是,客户端中的数据采集工具在生产元数据之后,可以客户端可以根据数据采集工具的配置文件中的消息主题名称,确定元数据的目标消息主题;然后,将元数据发送至目标消息主题。
步骤S202、获取所述目标客户端中的数据采集工具对应的配置文件,并提取所述配置文件中的消息主题名称。
示例性的,当目标客户端为客户端分组A中的客户端1时,可以获取客户端1中的数据采集工具对应的配置文件,并提取配置文件中的消息主题名称。例如,读取配置文件中的配置项“atlas.notification.hook.topic.name=HOOK1”,得到的消息主题名称为HOOK1。
示例性的,当目标客户端为客户端分组B中的客户端2时,可以获取客户端2中的数据采集工具对应的配置文件,并提取配置文件中的消息主题名称。例如,读取配置文件中的配置项“atlas.notification.hook.topic.name=HOOK2”,得到的消息主题名称为HOOK2。
步骤S203、查询所述消息中间件,将所述消息中间件中消息主题名称与所述配置文件中的消息主题名称匹配的消息主题,确定为每个所述元数据对应的消息主题。
示例性的,对于元数据A,当确定配置文件中的消息主题名称为HOOK1时,可以将消息中间件中消息主题名称HOOK1对应的消息主题,确定为元数据A对应的消息主题。
示例性的,对于元数据B,当确定配置文件中的消息主题名称为HOOK2时,可以将消息中间件中消息主题名称HOOK2对应的消息主题,确定为元数据B对应的消息主题。
在一些实施方式中,在确定每个元数据对应的消息主题之后,将每个元数据发布到对应的消息主题。
示例性的,可以将每个元数据发布至对应的消息主题的队列中。需要说明的是,在本申请实施例中,每个消息主题都有对应的队列,队列用于存储消息主题的元数据。在对消息中间件中的消息主题进行拆分之后,可以对得到的每个消息主题创建对应的队列。其中,创建队列的具体过程,在此不作限定。
为进一步保证上述元数据的私密和安全性,上述元数据可以存储于一区块链的节点中。
通过确定每个元数据对应的消息主题,并将每个元数据发布到对应的消息主题,可以实现对元数据进行并行发布,避免将全部元数据发布到同一个消息主题导致出现消息堆积问题。
步骤S30、接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题。
需要说明的是,在本申请实施例中,服务器集群中的服务器可以是Atlas服务器。每个Atlas服务器可以作为元数据的消费者,发送消费请求至消息中间件,以消费对应的消息主题的元数据。
示例性的,当接收到服务器集群的消费请求时,需要确定消费请求在消息中间件中对应的目标消息主题。
在一些实施例中,确定消费请求在消息中间件中对应的目标消息主题,可以包括:获取消费请求中的消息主题标签;查询消息中间件,将消息中间件中消息主题名称与消息主题标签匹配的消息主题,确定为目标消息主题。
需要说明的是,服务器集群中的每个服务器都有对应的消息主题,可以通过服务器的配置文件进行设定。例如,在配置文件中添加指定消息主题对应的消息主题标签,服务器在发送消费请求时,可以将消息主题标签添加至消费消费请求中。从而服务器可以消费指定消息主题的元数据。其中,消息主题标签可以包括消息主题名称。
示例性的,可以获取消息请求中的消息主题标签;然后,将消息中间件中消息主题名称与消息主题标签匹配的消息主题,确定为目标消息主题。例如,若消息主题标签为HOOK1时,可以将消息中间件中消息主题名称HOOK1对应的消息主题,确定为目标消息主题。又例如,若消息主题标签为HOOK2时,可以将消息中间件中消息主题名称HOOK2对应的消息主题,确定为目标消息主题。
通过确定消费请求在消息中间件中对应的目标消息主题,可以确定该消息请求对应消费的消息主题。
步骤S40、确定所述消费请求对应的目标服务器,将发布到所述目标消息主题的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
示例性的,可以将发送消费请求的服务器,确定为目标服务器;然后,将发布到目标消息主题的元数据发送至目标服务器。例如,若目标服务器为服务器1,目标消息主题为HOOK1,则可以将目标消息主题HOOK1的元数据发送至服务器1。又例如,若目标服务器为服务器2,目标消息主题为HOOK2,则可以将目标消息主题HOOK2的元数据发送至服务器2。
通过确定消费请求对应的目标服务器,可以实现将发布到目标消息主题的元数据发送至目标服务器;通过发布到目标消息主题的元数据发送至目标服务器,可以实现并行消费元数据,避免元数据丢失,保证了元数据传输的完整性与准确性。
需要说明的是,在本申请实施例中,在对消息中间件进行消息主题拆分之后,若数据仓库集群扩展客户端,则可以采用水平扩展的方式对消息中间件中的消息主题以及服务器集群进行动态扩展,以匹配数据仓库集群中扩展的客户端。
可以理解的是,通过对消息中间件中的消息主题以及服务器集群进行动态扩展,可以解决元数据在经消息中间件传输时的瓶颈,可以适配于不同的元数据采集规模,并且可以稳定、高效地完成元数据的传输工作。
在一些实施例中,对消息中间件进行消息主题拆分之后,还可以包括:当检测到数据仓库集群存在新增客户端分组时,执行消息主题新增操作,获得新增客户端分组对应的新增消息主题;确定新增消息主题对应的消息主题名称,将新增消息主题对应的消息主题名称发送至新增客户端分组中的每个客户端,以供每个客户端根据消息主题名称进行消息主题名称配置。
示例性的,当检测到数据仓库集群存在新增客户端分组D时,可以执行消息主题新增操作,对消息中间件现有的消息主题的基础上增加一个新增消息主题。请参阅图6,图6是本申请实施例提供的一种增加新增消息主题的示意图。如图6所示,新增消息主题可以是第四消息主题。然后,确定新增消息主题对应的消息主题名称。例如,新增消息主题的消息主题名称设为HOOK4。
示例性的,在确定新增消息主题对应的消息主题名称后,可以将新增消息主题对应的消息主题名称发送至新增客户端分组中的每个客户端,以供每个客户端根据消息主题名称进行消息主题名称配置。
通过将新增消息主题对应的消息主题名称发送至新增客户端分组中的每个客户端,以供每个客户端根据消息主题名称进行消息主题名称配置,进而使得新增客户端分组中的客户端将元数据发送至新增消息主题。
如图6所示,若新增客户端分组为客户端分组D,则可以将新增消息主题的消息主题名称HOOK4发送至客户端分组D中的每个客户端,由客户端分组D中的每个客户端根据消息主题名称HOOK4进行消息主题名称配置。
其中,在确定新增消息主题对应的消息主题名称之后,还可以包括:生成消费者新增指令,将消费者新增指令发送至服务器集群,以供服务器集群根据消费者新增指令进行服务器增加操作;当检测到服务器集群中的新增服务器时,将新增消息主题对应的消息主题名称发送至新增服务器,以供新增服务器根据新增消息主题对应的消息主题名称进行消息主题名称配置。
示例性的,当检测到服务器集群中的新增服务器时,可以将新增消息主题的消息主题名称发送至新增服务器,以供新增服务器根据新增消息主题对应的消息主题名称进行消息主题名称配置。如图6所示,新增服务器可以是第四服务器;可以将消息主题名称HOOK4发送至第四服务器,由第四服务器将配置文件中的配置项设为“atlas.notification.hook.consumer.topic..names=HOOK4”。
通过将新增消息主题对应的消息主题名称发送至新增服务器,以供新增服务器根据新增消息主题对应的消息主题名称进行消息主题名称配置,可以实现新增服务器消费新增消息主题的元数据。
上述实施例提供的元数据传输方法,通过对消息中间件进行消息主题拆分,可以将消息中间件原有的一个消息主题拆分成多个消息主题,实现由多个消息主题进行元数据发布与消费,可以成倍地提高元数据的传输效率;通过确定每个消息主题对应的目标服务器,并将每个消息主题对应的消息主题名称发送至对应的目标服务器,可以使得目标服务器根据消息主题名称进行消息主题名称配置,进而可以实现每个服务器根据消息主题名称消费对应的消息主题的元数据;通过确定每个元数据对应的消息主题,并将每个元数据发布到对应的消息主题,可以实现对元数据进行并行发布,避免将全部元数据发布到同一个消息主题导致出现消息堆积问题;通过确定消费请求在消息中间件中对应的目标消息主题,可以确定该消息请求对应消费的消息主题;通过确定消费请求对应的目标服务器,可以实现将发布到目标消息主题的元数据发送至目标服务器;通过发布到目标消息主题的元数据发送至目标服务器,可以实现并行消费元数据,避免元数据丢失,保证了元数据传输的完整性与准确性;通过对消息中间件中的消息主题以及服务器集群进行动态扩展,可以解决元数据在经消息中间件传输时的瓶颈,可以适配于不同的元数据采集规模,并且可以稳定、高效地完成元数据的传输工作。
请参阅图7,图7是本申请的实施例还提供一种元数据传输装置1000的示意性框图,该元数据传输装置用于执行前述的元数据传输方法。其中,该元数据传输装置可以配置于消息中间件服务器中。
如图7所示,该元数据传输装置1000,包括:消息主题拆分模块1001、元数据发布模块1002、目标消息主题确定模块1003和元数据发送模块1004。
消息主题拆分模块1001,用于对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题。
元数据发布模块1002,用于接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题。
目标消息主题确定模块1003,用于接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题。
元数据发送模块1004,用于确定所述消费请求对应的目标服务器,将发布到所述目标消息主题对应的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的结构示意性框图。
请参阅图8,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括存储介质和内存储器。所述存储介质可以是非易失性存储介质,也可以是易失性存储介质。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种元数据传输方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题;接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;确定所述消费请求对应的目标服务器,将发布到所述目标消息主题的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
在一个实施例中,所述处理器在实现对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题时,用于实现:
确定所述数据仓库集群中的客户端分组总数;基于所述客户端分组总数,对所述消息中间件中的消息主题进行拆分,获得与所述客户端分组总数相同数量的消息主题。
在一个实施例中,所述处理器在实现获得与所述客户端分组总数相同数量的消息主题之后,还用于实现:
确定每个所述消息主题对应的消息主题名称;确定每个所述消息主题对应的目标客户端分组,并将每个所述消息主题对应的消息主题名称发送至对应的目标客户端分组,以供所述目标客户端分组中的每个客户端根据消息主题名称对数据采集工具进行消息主题名称配置;确定每个所述消息主题对应的目标服务器,并将每个所述消息主题对应的消息主题名称发送至对应的目标服务器,以供所述目标服务器根据消息主题名称进行消息主题名称配置。
在一个实施例中,所述处理器在实现确定每个所述元数据对应的消息主题时,用于实现:
确定每个所述元数据对应的目标客户端,所述目标客户端为所述数据仓库集群中的其中一个客户端;获取所述目标客户端中的数据采集工具对应的配置文件,并提取所述配置文件中的消息主题名称;查询所述消息中间件,将所述消息中间件中消息主题名称与所述配置文件中的消息主题名称匹配的消息主题,确定为每个所述元数据对应的消息主题。
在一个实施例中,所述处理器在实现确定所述消费请求在所述消息中间件中对应的目标消息主题时,用于实现:
获取所述消费请求中的消息主题标签;查询所述消息中间件,将所述消息中间件中消息主题名称与所述消息主题标签匹配的消息主题,确定为所述目标消息主题。
在一个实施例中,所述处理器在实现对消息中间件进行消息主题拆分之后,还用于实现:
当检测到所述数据仓库集群存在新增客户端分组时,执行消息主题新增操作,获得所述新增客户端分组对应的新增消息主题;确定所述新增消息主题对应的消息主题名称,将所述新增消息主题对应的消息主题名称发送至所述新增客户端分组中的每个客户端,以供每个所述客户端根据所述消息主题名称进行消息主题名称配置。
在一个实施例中,所述处理器在实现确定所述新增消息主题对应的消息主题名称之后,还用于实现:
生成消费者新增指令,将所述消费者新增指令发送至所述服务器集群,以供所述服务器集群根据所述消费者新增指令进行服务器增加操作;当检测到所述服务器集群中的新增服务器时,将所述新增消息主题对应的消息主题名称发送至所述新增服务器,以供所述新增服务器根据所述新增消息主题对应的消息主题名称进行消息主题名称配置。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项元数据传输方法。
例如,该程序被处理器加载,可以执行如下步骤:
对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题;接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;确定所述消费请求对应的目标服务器,将发布到所述目标消息主题的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种元数据传输方法,其特征在于,包括:
对消息中间件中的消息主题进行消息主题拆分,获得所述消息中间件的多个消息主题;
接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;
接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;
确定所述消费请求对应的目标服务器,将发布到所述目标消息主题的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
2.根据权利要求1所述的元数据传输方法,其特征在于,所述对消息中间件进行消息主题拆分,获得所述消息中间件的多个消息主题,包括:
确定所述数据仓库集群中的客户端分组总数;
基于所述客户端分组总数,对所述消息中间件中的消息主题进行拆分,获得与所述客户端分组总数相同数量的消息主题。
3.根据权利要求2所述的元数据传输方法,其特征在于,所述获得与所述客户端分组总数相同数量的消息主题之后,还包括:
确定每个所述消息主题对应的消息主题名称;
确定每个所述消息主题对应的目标客户端分组,并将每个所述消息主题对应的消息主题名称发送至对应的目标客户端分组,以供所述目标客户端分组中的每个客户端根据消息主题名称对数据采集工具进行消息主题名称配置;
确定每个所述消息主题对应的目标服务器,并将每个所述消息主题对应的消息主题名称发送至对应的目标服务器,以供所述目标服务器根据消息主题名称进行消息主题名称配置。
4.根据权利要求1所述的元数据传输方法,其特征在于,所述确定每个所述元数据对应的消息主题,包括:
确定每个所述元数据对应的目标客户端,所述目标客户端为所述数据仓库集群中的其中一个客户端;
获取所述目标客户端中的数据采集工具对应的配置文件,并提取所述配置文件中的消息主题名称;
查询所述消息中间件,将所述消息中间件中消息主题名称与所述配置文件中的消息主题名称匹配的消息主题,确定为每个所述元数据对应的消息主题。
5.根据权利要求1所述的元数据传输方法,其特征在于,所述确定所述消费请求在所述消息中间件中对应的目标消息主题,包括:
获取所述消费请求中的消息主题标签;
查询所述消息中间件,将所述消息中间件中消息主题名称与所述消息主题标签匹配的消息主题,确定为所述目标消息主题。
6.根据权利要求1-5任一项所述的元数据传输方法,其特征在于,所述对消息中间件进行消息主题拆分之后,所述方法还包括:
当检测到所述数据仓库集群存在新增客户端分组时,执行消息主题新增操作,获得所述新增客户端分组对应的新增消息主题;
确定所述新增消息主题对应的消息主题名称,将所述新增消息主题对应的消息主题名称发送至所述新增客户端分组中的每个客户端,以供每个所述客户端根据所述消息主题名称进行消息主题名称配置。
7.根据权利要求6所述的元数据传输方法,其特征在于,所述确定所述新增消息主题对应的消息主题名称之后,还包括:
生成消费者新增指令,将所述消费者新增指令发送至所述服务器集群,以供所述服务器集群根据所述消费者新增指令进行服务器增加操作;
当检测到所述服务器集群中的新增服务器时,将所述新增消息主题对应的消息主题名称发送至所述新增服务器,以供所述新增服务器根据所述新增消息主题对应的消息主题名称进行消息主题名称配置。
8.一种元数据传输装置,其特征在于,包括:
消息主题拆分模块,用于对消息中间件中的消息主题进行消息主题拆分,获得所述消息中间件的多个消息主题;
元数据发布模块,用于接收到数据仓库集群的至少一个元数据,确定每个所述元数据对应的消息主题,并将每个所述元数据发布到对应的消息主题;
目标消息主题确定模块,用于接收到服务器集群的消费请求,确定所述消费请求在所述消息中间件中对应的目标消息主题;
元数据发送模块,用于确定所述消费请求对应的目标服务器,将发布到所述目标消息主题对应的元数据发送至所述目标服务器,所述目标服务器为所述服务器集群中的其中一个服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7任一项所述的元数据传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7任一项所述的元数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111564254.2A CN114401239B (zh) | 2021-12-20 | 2021-12-20 | 元数据传输方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111564254.2A CN114401239B (zh) | 2021-12-20 | 2021-12-20 | 元数据传输方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114401239A CN114401239A (zh) | 2022-04-26 |
CN114401239B true CN114401239B (zh) | 2023-11-14 |
Family
ID=81227231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111564254.2A Active CN114401239B (zh) | 2021-12-20 | 2021-12-20 | 元数据传输方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114401239B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103018B (zh) * | 2022-06-16 | 2024-04-05 | 珠海格力电器股份有限公司 | 一种数据传输方法、装置、系统、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375200A (zh) * | 2016-11-08 | 2017-02-01 | 上海找钢网信息科技股份有限公司 | 消息系统及消息处理方法 |
CN110875885A (zh) * | 2018-08-31 | 2020-03-10 | 武汉斗鱼网络科技有限公司 | 消息处理方法、服务器、终端、系统及存储介质 |
CN111866045A (zh) * | 2019-04-29 | 2020-10-30 | 京东数字科技控股有限公司 | 信息处理方法及其装置、计算机系统及计算机可读介质 |
CN111970195A (zh) * | 2020-08-13 | 2020-11-20 | 上海哔哩哔哩科技有限公司 | 数据传输方法和流式数据传输系统 |
CN112445626A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东振世信息技术有限公司 | 一种基于消息中间件的数据处理方法和装置 |
CN112491998A (zh) * | 2020-11-18 | 2021-03-12 | 平安消费金融有限公司 | 消息推送方法及相关设备 |
WO2021051531A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 处理多集群作业记录的方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177455A1 (zh) * | 2016-04-15 | 2017-10-19 | 华为技术有限公司 | 一种消息呈现的方法、设备及系统 |
US20180097748A1 (en) * | 2016-09-30 | 2018-04-05 | Microsoft Technology Licensing, Llc | Partitioned Topic Based Queue with Automatic Processing Scaling |
-
2021
- 2021-12-20 CN CN202111564254.2A patent/CN114401239B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375200A (zh) * | 2016-11-08 | 2017-02-01 | 上海找钢网信息科技股份有限公司 | 消息系统及消息处理方法 |
CN110875885A (zh) * | 2018-08-31 | 2020-03-10 | 武汉斗鱼网络科技有限公司 | 消息处理方法、服务器、终端、系统及存储介质 |
CN111866045A (zh) * | 2019-04-29 | 2020-10-30 | 京东数字科技控股有限公司 | 信息处理方法及其装置、计算机系统及计算机可读介质 |
CN112445626A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东振世信息技术有限公司 | 一种基于消息中间件的数据处理方法和装置 |
WO2021051531A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 处理多集群作业记录的方法、装置、设备及存储介质 |
CN111970195A (zh) * | 2020-08-13 | 2020-11-20 | 上海哔哩哔哩科技有限公司 | 数据传输方法和流式数据传输系统 |
CN112491998A (zh) * | 2020-11-18 | 2021-03-12 | 平安消费金融有限公司 | 消息推送方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
基于元元模型的多维元数据管理研究与实现;周芳;文必龙;王守信;张伟静;;计算机工程与设计(10);第93-95页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114401239A (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN107577805B (zh) | 一种面向日志大数据分析的业务服务系统 | |
US9467460B1 (en) | Modularized database architecture using vertical partitioning for a state machine | |
US9906477B2 (en) | Distributing retained messages information in a clustered publish/subscribe system | |
WO2021217863A1 (zh) | 订单标识生成方法、装置、服务器及存储介质 | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
US10331484B2 (en) | Distributed data platform resource allocator | |
CN114401239B (zh) | 元数据传输方法、装置、计算机设备和存储介质 | |
CN113890712A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN112948723A (zh) | 接口调用方法、装置及相关设备 | |
US11880703B2 (en) | Optimization of multi-layered images | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
JP2010128597A (ja) | 情報処理装置及び情報処理装置の運用方法 | |
EP3555767A1 (en) | Partial storage of large files in distinct storage systems | |
CN113779021B (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
Racka | Apache Nifi As A Tool For Stream Processing Of Measurement Data | |
US11409769B2 (en) | Computer-implemented method and system for attribute discovery for operation objects from operation data | |
CN114201466A (zh) | 防缓存击穿方法、装置、设备及可读存储介质 | |
WO2015116195A1 (en) | Performing processing tasks using an auxiliary processing unit | |
CN115390912B (zh) | 资源发现方法、装置、计算机设备和存储介质 | |
CN113485811B (zh) | 计算任务管理方法、装置、计算机设备及存储介质 | |
CN111737211A (zh) | 日志收集方法、装置、设备及存储介质 | |
CN108280048B (zh) | 信息处理方法和装置 | |
CN110321335B (zh) | 建模数据下载方法、装置、电子设备及计算机存储介质 | |
CN110213314B (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 |