CN116521744B - 全双工元数据传输方法、装置、系统和计算机设备 - Google Patents
全双工元数据传输方法、装置、系统和计算机设备 Download PDFInfo
- Publication number
- CN116521744B CN116521744B CN202310791946.3A CN202310791946A CN116521744B CN 116521744 B CN116521744 B CN 116521744B CN 202310791946 A CN202310791946 A CN 202310791946A CN 116521744 B CN116521744 B CN 116521744B
- Authority
- CN
- China
- Prior art keywords
- metadata
- target
- user instruction
- distributor
- target metadata
- 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 67
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种全双工元数据传输方法、装置、系统和计算机设备,其中,该全双工元数据传输方法包括:通过在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器;进一步地,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据,通过本申请,解决了无法支持计算节点主动获取所需元数据的问题,实现了提高计算节点处理用户指令的效率,以提升数据库的整体性能。
Description
技术领域
本申请涉及数据处理领域,特别是涉及全双工元数据传输方法、装置、系统和计算机设备。
背景技术
对于主从模式下采用存算分离架构的分布式数据库,主节点用于接收和解析用户指令,从节点为弹性分布式计算架构的无状态计算节点,负责处理用户指令,读取和处理数据,并将处理结果返回主节点。而在接收到用户指令时,主节点需要查询计算节点所需的元数据,将元数据发送至对应的计算节点,使得计算节点能够根据元数据对用户指令进行处理,其中,元数据是描述数据属性的数据信息,用于支持指示存储位置、历史数据查找以及文件记录等功能。
目前的元数据传输方法,当用户向主节点发送查询指令,主节点根据指令访问元数据服务,获取元数据对指令进行解析,同时收集计算节点所需的元数据,进一步地,主节点控制计算节点启动,向计算节点发送指令和元数据,从而计算节点能够根据元数据处理该指令。然而,上述方法中元数据单向流动,此时计算节点被动接收元数据信息,需要等待所有元数据信息接收完毕才可启动指令处理,无法支持计算节点主动获取所需元数据,导致计算节点处理用户指令的效率较低。
针对相关技术中存在无法支持计算节点主动获取所需元数据的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种全双工元数据传输方法、装置、系统和计算机设备,以解决相关技术中无法支持计算节点主动获取所需元数据的问题。
第一个方面,在本实施例中提供了一种全双工元数据传输方法,所述方法包括:
在主节点接收到用户指令时,向元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个计算节点发送所述用户指令;
确定所述查询信息对应的目标元数据,并通过元数据同步单元,将所述目标元数据转发至元数据分发器;
在所述计算节点未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据。
在其中的一些实施例中,所述向元数据收集器发送与所述用户指令对应的查询信息之前,还包括:
根据所述主节点预收集的元数据信息,对所述用户指令进行解析,得到对应的解析结果;
将所述解析结果发送至对应的多个所述计算节点。
在其中的一些实施例中,所述通过元数据同步单元,将所述目标元数据转发至元数据分发器之前,还包括:
基于异步流式传输模式,将所述目标元数据发送至所述元数据同步单元。
在其中的一些实施例中,所述通过元数据同步单元,将所述目标元数据转发至元数据分发器,包括:
在所述元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将所述目标元数据发送至对应的各个第二元数据同步器;
通过所述第二元数据同步器,将所述目标元数据转发至对应的元数据分发器。
在其中的一些实施例中,所述在所述计算节点未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据之前,还包括:
基于所述用户指令,控制所述计算节点对共享内存模块进行检索;
在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点。
在其中的一些实施例中,所述根据所述用户指令,从所述元数据分发器中获取所述目标元数据,包括:
根据所述用户指令,生成对应的元数据查询请求;
根据所述元数据查询请求,对所述元数据分发器中存储模块进行检索;
在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点。
第二个方面,在本实施例中提供了一种全双工元数据传输装置,所述装置包括发送模块、查询模块和获取模块;
所述发送模块,用于在主节点接收到用户指令时,向元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个计算节点发送所述用户指令;
所述查询模块,用于确定所述查询信息对应的目标元数据,并通过元数据同步单元,将所述目标元数据转发至元数据分发器;
所述获取模块,用于在所述计算节点未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据。
第三个方面,在本实施例中提供了一种全双工元数据传输系统,所述系统包括主节点、元数据收集器、元数据同步单元、元数据分发器和多个计算节点;
所述主节点,用于接收用户指令,向所述元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个所述计算节点发送所述用户指令;
所述元数据收集器,用于确定所述查询信息对应的目标元数据,并将所述目标元数据发送至所述元数据同步单元;
所述元数据同步单元,用于将所述目标元数据转发至所述元数据分发器;
所述元数据分发器,用于将所述用户指令对应的目标元数据发送至所述计算节点;
所述计算节点,用于在未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据。
第四个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的全双工元数据传输方法。
第五个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的全双工元数据传输方法。
与相关技术相比,在本实施例中提供的全双工元数据传输方法、装置、系统和计算机设备,通过在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器;进一步地,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据,解决了无法支持计算节点主动获取所需元数据的问题,实现了提高计算节点处理用户指令的效率,以提升数据库的整体性能。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例提供的全双工元数据传输方法的终端设备的硬件结构框图;
图2是本申请一实施例提供的全双工元数据传输方法的流程图;
图3是本申请一优选实施例提供的全双工元数据传输方法的流程图;
图4是本申请一实施例提供的全双工元数据传输装置的结构框图;
图5是本申请一实施例提供的全双工元数据传输系统的结构框图;
图6是本申请一实施例提供的元数据收集器的结构框图;
图7是本申请一实施例提供的元数据同步单元的结构框图;
图8是本申请一实施例提供的元数据分发器的结构框图。
图中:102、处理器;104、存储器;106、传输设备;108、输入输出设备;10、发送模块;20、查询模块;30、获取模块;100、主节点;200、元数据收集器;210、分析模块;220、预取模块;230、发送模块;240、缓存模块;300、元数据同步单元;310、第一元数据同步器;311、收集模块;320、第二元数据同步器;321、传输模块;400、元数据分发器;410、存储模块;420、请求处理模块;430、管理模块;500、计算节点;600、元数据服务;700、共享内存模块。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的全双工元数据传输方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的全双工元数据传输方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(RadioFrequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种全双工元数据传输方法,图2是本实施例的全双工元数据传输方法的流程图,如图2所示,该流程包括如下步骤:
步骤S220,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令。
需要知道的是,本实施例可应用于云原生数据库的分布式查询。云原生数据部署在公有云环境上,其元数据信息存储于元数据服务中,用户数据则存于公有云对象存储服务中,所有数据通过网络进行传输和获取。在进行分布式查询时,主节点将用户指令发送至对应的计算节点,每个计算节点负责其中一部分的用户数据计算任务,并将处理结果返回至主节点,由主节点对结果进行合并。其中,在解析、翻译以及处理用户指令等过程中,均需要元数据参与处理。
具体地,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送启动请求和用户指令,启动请求用于启动计算节点。
步骤S240,确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器。
具体地,通过元数据收集器中的分析模块,对接收到的查询信息进行分析,得到计算节点处理用户指令所需的目标元数据,并将所需的目标元数据发送至预取模块。由预取模块从元数据服务中查询所需的目标元数据,并将查询结果传输至发送模块,由发送模块收集处理当前用户指令所需的目标元数据。
步骤S260,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据。
需要知道的是,计算节点会预先根据用户指令,对系统中的共享内存模块进行检索,在计算节点未检索到目标元数据时,则生成对应的元数据查询请求,并根据元数据查询请求,从元数据分发器中获取目标元数据,用于处理用户指令。
目前的元数据传输方法,当用户向主节点发送查询指令,主节点根据指令访问元数据服务,获取元数据对指令进行解析,同时收集计算节点所需的元数据,进一步地,主节点控制计算节点启动,向计算节点发送指令和元数据,从而计算节点能够根据元数据处理该指令。然而,上述方法中元数据单向流动,此时计算节点被动接收元数据信息,需要等待所有元数据信息接收完毕才可启动指令处理,无法支持计算节点主动获取所需元数据,导致计算节点处理用户指令的效率较低。而本申请相较于现有技术,在元数据传输系统中设置元数据收集器、元数据同步单元和元数据分发器,改变了元数据在同一时间只能单向流动的设计,支持元数据的全双工传输和异步分发,使计算节点能够主动获取计算所需的元数据,无需等待元数据信息接收完毕才可启动用户指令的处理,提高了计算节点处理用户指令的效率,且各个节点负载均衡,提升了数据库整体性能。
具体地,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器;进一步地,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据,解决了无法支持计算节点主动获取所需元数据的问题,实现了提高计算节点处理用户指令的效率,以提升数据库的整体性能。
在其中的一些实施例中,向元数据收集器发送与用户指令对应的查询信息之前,还包括:
根据主节点预收集的元数据信息,对用户指令进行解析,得到对应的解析结果;
将解析结果发送至对应的多个计算节点。
需要知道的是,主节点预先收集可复用的元数据信息,该元数据信息可暂存于元数据收集器的缓存模块中,用于解析用户指令,以及用于计算节点处理用户指令。
具体地,在主节点接收到用户指令时,根据可复用的元数据信息对用户指令进行解析,得到对应的解析结果,并将该解析结果发送至对应的各个计算节点,而解析结果用于指示计算节点执行与用户指令对应的操作。
通过本实施例,根据主节点预收集的元数据信息,对用户指令进行解析,将解析结果发送至对应的多个计算节点,支持元数据的预加载,从而能够有效分析用户指令,以指示计算节点执行相应操作。
在其中的一些实施例中,通过元数据同步单元,将目标元数据转发至元数据分发器之前,还包括:
基于异步流式传输模式,将目标元数据发送至元数据同步单元。
具体地,在元数据收集器中,当分析模块接收到用户指令对应的查询信息,对查询信息进行分析,得到计算节点处理用户指令所需的目标元数据,并将所需的目标元数据发送至预取模块。
进一步地,上述预取模块与元数据服务相连接,从元数据服务中查询所需的目标元数据,并将查询结果传输至发送模块,由发送模块收集处理当前用户指令所需的目标元数据。
需要知道的是,发送模块会将目标元数据异步流式传输至对应的元数据同步单元,即按照处理用户指令所需元数据的优先级,收集或发送目标元数据。
通过本实施例,基于异步流式传输模式,将目标元数据发送至元数据同步单元,从而能够将处理当前用户指令时优先使用的元数据传输至元数据同步单元,提高了元数据传输效率,并减少处理用户指令的延迟。
在其中的一些实施例中,通过元数据同步单元,将目标元数据转发至元数据分发器,包括:
步骤S241,在元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将目标元数据发送至对应的各个第二元数据同步器;
步骤S242,通过第二元数据同步器,将目标元数据转发至对应的元数据分发器。
具体地,元数据同步单元包括第一元数据同步器和第二元数据同步器,其中,第一元数据同步器在收集侧,而第二元数据同步器在分发侧。元数据收集器中发送模块将目标元数据传输至第一元数据同步器,由第一元数据同步器向关联的第二元数据同步器推送目标元数据。
进一步地,通过各个第二元数据同步器,将目标元数据转发至对应的元数据分发器。其中,元数据同步单元会自动保证由元数据收集器传输到元数据分发器的数据是完全同步的,且整个元数据同步过程为异步流式传输,则计算节点无需等待全部的目标元数据传输完成,即可进行用户指令处理。
通过本实施例,在元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将目标元数据发送至对应的各个第二元数据同步器,并通过第二元数据同步器,将目标元数据转发至对应的元数据分发器,从而实现元数据在不同物理节点的数据同步和传输,提高元数据传输效率,并减少处理用户指令的延迟。
在其中的一些实施例中,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据之前,还包括:
步骤S251,基于用户指令,控制计算节点对共享内存模块进行检索;
步骤S252,在检索到目标元数据时,将目标元数据返回至对应的计算节点。
具体地,计算节点启动后,根据接收到的用户指令对共享内存模块进行检索。若在共享内存模块中检索到目标元数据,则将目标元数据返回至对应的计算节点,若在共享内存模块中未检索到目标元数据,则根据用户指令,从元数据分发器中获取目标元数据。
需要知道的是,在元数据分发器中,存储模块保存接收到的所有目标元数据,而在每次请求处理模块将存储模块中的目标元数据返回至计算节点时,均会通知管理模块将目标元数据同步至共享内存模块,以便于计算节点下次可直接在共享内存模块中检索到该目标元数据并进行读取。其中,管理模块同时负责清理共享内存模块中的过期数据。
通过本实施例,计算节点优先对共享内存模块进行检索,在检索到目标元数据时,直接读取共享内存模块中的目标元数据,以此实现计算节点主动获取所需的元数据信息,无需等待元数据传输完成才可启动计算,并有效减少元数据重复传输的数据量,节省了网络传输带宽,降低用户查询成本。
在其中的一些实施例中,根据用户指令,从元数据分发器中获取目标元数据,包括:
步骤S261,根据用户指令,生成对应的元数据查询请求;
步骤S262,根据元数据查询请求,对元数据分发器中存储模块进行检索;
步骤S263,在检索到目标元数据时,将目标元数据返回至对应的计算节点。
具体地,在共享内存模块中未检索到目标元数据时,计算节点根据用户指令,生成对应的元数据查询请求,并向元数据分发器发送该元数据查询请求。
进一步地,在元数据分发器中,存储模块负责接收来自第二元数据同步器的目标元数据,并储存于自身内存中。当请求处理模块接收到元数据查询请求,对存储模块进行检索,将检索到的目标元数据返回至对应的计算节点。此时,请求处理模块会通知管理模块将目标元数据同步至共享内存模块中。
通过本实施例,在共享内存模块中无法检索到目标元数据时,计算节点生成与用户指令对应的元数据查询请求,从而能够根据元数据查询请求,从元数据分发器中获取目标元数据,实现计算节点主动获取所需的元数据信息,无需等待元数据传输完成才可启动计算。
下面通过优选实施例对本实施例进行描述和说明。
图3是本优选实施例的全双工元数据传输方法的流程图,如图3所示,该全双工元数据传输方法包括如下步骤:
步骤S310,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;
步骤S320,确定查询信息对应的目标元数据,并基于异步流式传输模式,将目标元数据发送至元数据同步单元;
步骤S330,通过元数据同步单元,将目标元数据转发至元数据分发器;
步骤S340,基于用户指令,控制计算节点对共享内存模块进行检索;
步骤S350,在检索到目标元数据时,将目标元数据返回至对应的计算节点;
步骤S360,在未检索到目标元数据时,根据用户指令生成对应的元数据查询请求;
步骤S370,根据元数据查询请求,对元数据分发器中存储模块进行检索;
步骤S380,在检索到目标元数据时,将目标元数据返回至对应的计算节点。
通过本实施例,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送启动请求和用户指令;通过元数据收集器确定查询信息对应的目标元数据,并基于异步流式传输模式,将目标元数据发送至元数据同步单元,从而能够将处理当前用户指令时优先使用的元数据传输至元数据同步单元;计算节点启动后,根据用户指令对共享内存模块进行检索,若检索到目标元数据,则计算节点可直接读取目标元数据,而在未检索到目标元数据时,计算节点将生成对应的元数据查询请求,并根据元数据查询请求,从元数据分发器中获取目标元数据,改变了现有技术中元数据在同一时间只能单向流动的设计,支持元数据的全双工传输,解决了无法支持计算节点主动获取所需元数据的问题,无需等待元数据传输完成才可启动计算,实现了提高计算节点处理用户指令的效率。
在本实施例的元数据传输过程中,支持全双工传输,计算节点可主动获取所需元数据;且实行单独信道传输,不占用主节点至计算节点的数据传输信道,节省了主节点资源;此外,通过异步流式传输数据和加载数据,能够有效减少处理用户指令的延迟。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中还提供了一种全双工元数据传输装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本实施例的全双工元数据传输装置的结构框图,如图4所示,该装置包括发送模块10、查询模块20和获取模块30;
发送模块10,用于在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;
查询模块20,用于确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器;
获取模块30,用于在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据。
通过本实施例提供的装置,在主节点接收到用户指令时,向元数据收集器发送与用户指令对应的查询信息,并向对应的多个计算节点发送用户指令;确定查询信息对应的目标元数据,并通过元数据同步单元,将目标元数据转发至元数据分发器;进一步地,在计算节点未检索到目标元数据时,根据用户指令,从元数据分发器中获取目标元数据,通过本申请,解决了无法支持计算节点主动获取所需元数据的问题,实现了提高计算节点处理用户指令的效率,以提升数据库的整体性能。
在其中的一些实施例中,在图4的基础上,该装置还包括解析模块,用于根据主节点预收集的元数据信息,对用户指令进行解析,得到对应的解析结果;将解析结果发送至对应的多个计算节点。
在其中的一些实施例中,在图4的基础上,该装置还包括传输模块,用于基于异步流式传输模式,将目标元数据发送至元数据同步单元。
在其中的一些实施例中,在图4的基础上,该装置还包括分发模块,用于在元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将目标元数据发送至对应的各个第二元数据同步器;通过第二元数据同步器,将目标元数据转发至对应的元数据分发器。
在其中的一些实施例中,在图4的基础上,该装置还包括第一检索模块,用于基于用户指令,控制计算节点对共享内存模块进行检索;在检索到目标元数据时,将目标元数据返回至对应的计算节点。
在其中的一些实施例中,在图4的基础上,该装置还包括第二检索模块,用于根据用户指令,生成对应的元数据查询请求;根据元数据查询请求,对元数据分发器中存储模块进行检索;在检索到目标元数据时,将目标元数据返回至对应的计算节点。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种全双工元数据传输系统,如图5所示,该系统包括主节点100、元数据收集器200、元数据同步单元300、元数据分发器400和多个计算节点500;
主节点100,用于接收用户指令,向元数据收集器200发送与用户指令对应的查询信息,并向对应的多个计算节点500发送用户指令;
元数据收集器200,用于确定查询信息对应的目标元数据,并将目标元数据发送至元数据同步单元300;
元数据同步单元300,用于将目标元数据转发至元数据分发器400;
元数据分发器400,用于将用户指令对应的目标元数据发送至计算节点500;
计算节点500,用于在未检索到目标元数据时,根据用户指令,从元数据分发器400中获取目标元数据。
具体地,在主节点100接收到用户指令时,向元数据收集器200发送与用户指令对应的查询信息,以及主节点100预收集的元数据信息,并向对应的多个计算节点500发送启动请求和用户指令。
其中,如图6所示,元数据收集器200包括分析模块210、预取模块220、发送模块230和缓存模块240,且系统还包括元数据服务600。由分析模块210接收主节点100发出的查询信息以及预收集的元数据信息,将预收集的元数据信息传输至缓存模块240进行暂存,并将查询信息发送至预取模块220。通过预取模块220,向元数据服务600查询处理当前用户指令所需的目标元数据,发送模块230则收集所需的目标元数据,并将目标元数据发送至对应的元数据同步单元300,且元数据收集器200与元数据同步单元300为多对多结构。
需要知道的是,如图7所示,元数据同步单元300包括第一元数据同步器310和第二元数据同步器320,第一元数据同步器310与第二元数据同步器320为一对多结构,其中第一元数据同步器310在收集侧,包括收集模块311,而第二元数据同步器320在分发侧,包括传输模块321。基于异步流式传输模式,元数据收集器200中发送模块230将目标元数据传输至第一元数据同步器310,由第一元数据同步器310向关联的第二元数据同步器320推送目标元数据,并通过各个第二元数据同步器320,将目标元数据转发至对应的元数据分发器400,且元数据同步单元300与元数据分发器400为多对多结构。
进一步地,如图8所示,元数据分发器400包括存储模块410、请求处理模块420和管理模块430,存储模块410负责接收第二元数据同步器320发出的目标元数据,并存储于自身内存中,而系统还包括共享内存模块700。计算节点500启动后,根据接收到的用户指令对共享内存模块700进行检索,若在共享内存模块700中检索到目标元数据,则将目标元数据返回至对应的计算节点500,若在共享内存模块700中未检索到目标元数据,请求处理模块420根据计算节点500生成的元数据查询请求,对存储模块410进行检索,并将检索到的目标元数据返回至对应的计算节点500,同时请求处理模块420会通知管理模块430将目标元数据同步至共享内存模块700中。其中,在每个物理节点上,均设置一个元数据收集器200与一个元数据分发器400。
通过本实施例,在主节点100接收到用户指令时,向元数据收集器200发送与用户指令对应的查询信息,并向对应的多个计算节点500发送启动请求和用户指令;通过元数据收集器200确定查询信息对应的目标元数据,并基于异步流式传输模式,将目标元数据发送至元数据同步单元300,从而能够将处理当前用户指令时优先使用的元数据传输至元数据同步单元300,提高了元数据传输效率,并减少处理用户指令的延迟;通过元数据同步单元300,将目标元数据转发至对应的元数据分发器400,由存储模块410对目标元数据进行接收和保存。
计算节点500启动后,根据用户指令对共享内存模块700进行检索,若检索到目标元数据,则计算节点500可直接读取目标元数据,而在未检索到目标元数据时,计算节点500将生成对应的元数据查询请求,并根据元数据查询请求,从元数据分发器400中获取目标元数据,解决了无法支持计算节点500主动获取所需元数据的问题,无需等待元数据传输完成才可启动计算,实现了提高计算节点500处理用户指令的效率。
在本实施例中还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述计算机设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
此外,结合上述实施例中提供的全双工元数据传输方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种全双工元数据传输方法。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (7)
1.一种全双工元数据传输方法,其特征在于,所述方法包括:
在主节点接收到用户指令时,向元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个计算节点发送所述用户指令;
确定所述查询信息对应的目标元数据,并通过元数据同步单元,将所述目标元数据转发至元数据分发器;其中,通过元数据同步单元,将所述目标元数据转发至元数据分发器包括:在所述元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将所述目标元数据发送至对应的各个第二元数据同步器;通过所述第二元数据同步器,将所述目标元数据转发至对应的元数据分发器;
基于所述用户指令,控制所述计算节点对共享内存模块进行检索;在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点;
在所述计算节点未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据;其中,根据所述用户指令,从所述元数据分发器中获取所述目标元数据包括:根据所述用户指令,生成对应的元数据查询请求;根据所述元数据查询请求,对所述元数据分发器中存储模块进行检索;在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点。
2.根据权利要求1所述的全双工元数据传输方法,其特征在于,所述向元数据收集器发送与所述用户指令对应的查询信息之前,还包括:
根据所述主节点预收集的元数据信息,对所述用户指令进行解析,得到对应的解析结果;
将所述解析结果发送至对应的多个所述计算节点。
3.根据权利要求1所述的全双工元数据传输方法,其特征在于,所述通过元数据同步单元,将所述目标元数据转发至元数据分发器之前,还包括:
基于异步流式传输模式,将所述目标元数据发送至所述元数据同步单元。
4.一种全双工元数据传输装置,其特征在于,所述装置包括发送模块、查询模块和获取模块;
所述发送模块,用于在主节点接收到用户指令时,向元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个计算节点发送所述用户指令;
所述查询模块,用于确定所述查询信息对应的目标元数据,并通过元数据同步单元,将所述目标元数据转发至元数据分发器;其中,通过元数据同步单元,将所述目标元数据转发至元数据分发器包括:在所述元数据同步单元中,基于异步流式传输模式,通过第一元数据同步器将所述目标元数据发送至对应的各个第二元数据同步器;通过所述第二元数据同步器,将所述目标元数据转发至对应的元数据分发器;
所述获取模块,用于基于所述用户指令,控制所述计算节点对共享内存模块进行检索;在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点;
所述获取模块,还用于在所述计算节点未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据;其中,根据所述用户指令,从所述元数据分发器中获取所述目标元数据包括:根据所述用户指令,生成对应的元数据查询请求;根据所述元数据查询请求,对所述元数据分发器中存储模块进行检索;在检索到所述目标元数据时,将所述目标元数据返回至对应的计算节点。
5.一种全双工元数据传输系统,其特征在于,所述系统包括主节点、元数据收集器、元数据同步单元、元数据分发器和多个计算节点;其中,所述元数据同步单元包括第一元数据同步器和第二元数据同步器;
所述主节点,用于接收用户指令,向所述元数据收集器发送与所述用户指令对应的查询信息,并向对应的多个所述计算节点发送所述用户指令;
所述元数据收集器,用于确定所述查询信息对应的目标元数据,并将所述目标元数据发送至所述元数据同步单元;
所述元数据同步单元,用于将所述目标元数据转发至所述元数据分发器;
所述第一元数据同步器,用于基于异步流式传输模式,将所述目标元数据发送至对应的各个所述第二元数据同步器;
所述第二元数据同步器,用于将所述目标元数据转发至对应的元数据分发器;
所述元数据分发器,用于将所述用户指令对应的目标元数据发送至所述计算节点;
所述计算节点,用于基于所述用户指令对共享内存模块进行检索;在检索到所述目标元数据时,从所述共享内存模块中获取所述目标元数据;
所述计算节点,还用于在未检索到所述目标元数据时,根据所述用户指令,从所述元数据分发器中获取所述目标元数据;其中,根据所述用户指令,从所述元数据分发器中获取所述目标元数据包括:根据所述用户指令,生成对应的元数据查询请求;根据所述元数据查询请求,对所述元数据分发器中存储模块进行检索;在检索到所述目标元数据时,从所述存储模块中获取所述目标元数据。
6.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至权利要求3中任一项所述的全双工元数据传输方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求3中任一项所述的全双工元数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310791946.3A CN116521744B (zh) | 2023-06-30 | 2023-06-30 | 全双工元数据传输方法、装置、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310791946.3A CN116521744B (zh) | 2023-06-30 | 2023-06-30 | 全双工元数据传输方法、装置、系统和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116521744A CN116521744A (zh) | 2023-08-01 |
CN116521744B true CN116521744B (zh) | 2023-09-12 |
Family
ID=87390595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310791946.3A Active CN116521744B (zh) | 2023-06-30 | 2023-06-30 | 全双工元数据传输方法、装置、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521744B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117634866B (zh) * | 2024-01-25 | 2024-04-19 | 中国人民解放军国防科技大学 | 工作流调度引擎节点间数据处理方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN104735110A (zh) * | 2013-12-23 | 2015-06-24 | 中国电信股份有限公司 | 元数据管理方法和系统 |
WO2016086649A1 (zh) * | 2014-12-04 | 2016-06-09 | 中兴通讯股份有限公司 | 写、读、删除、查询文件的方法、客户端和存储介质 |
CN111858496A (zh) * | 2020-07-27 | 2020-10-30 | 北京大道云行科技有限公司 | 一种元数据的检索方法、装置、存储介质和电子设备 |
CN112579536A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 数据查询方法、装置、计算机设备以及存储介质 |
CN112835890A (zh) * | 2021-01-13 | 2021-05-25 | 北京金山云网络技术有限公司 | 元数据的处理方法、装置及电子设备 |
CN114490527A (zh) * | 2021-11-12 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 元数据检索方法、系统、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719517B1 (en) * | 2019-12-18 | 2020-07-21 | Snowflake Inc. | Distributed metadata-based cluster computing |
-
2023
- 2023-06-30 CN CN202310791946.3A patent/CN116521744B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN104735110A (zh) * | 2013-12-23 | 2015-06-24 | 中国电信股份有限公司 | 元数据管理方法和系统 |
WO2016086649A1 (zh) * | 2014-12-04 | 2016-06-09 | 中兴通讯股份有限公司 | 写、读、删除、查询文件的方法、客户端和存储介质 |
CN112579536A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 数据查询方法、装置、计算机设备以及存储介质 |
CN111858496A (zh) * | 2020-07-27 | 2020-10-30 | 北京大道云行科技有限公司 | 一种元数据的检索方法、装置、存储介质和电子设备 |
CN112835890A (zh) * | 2021-01-13 | 2021-05-25 | 北京金山云网络技术有限公司 | 元数据的处理方法、装置及电子设备 |
CN114490527A (zh) * | 2021-11-12 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 元数据检索方法、系统、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
敏感数据自主可控的云存储平台元数据管理;许青林;覃国民;姜文超;谢燕丽;;广东工业大学学报(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116521744A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981765B (zh) | 用于确定内容分发网络的访问路径的方法和装置 | |
CN116521744B (zh) | 全双工元数据传输方法、装置、系统和计算机设备 | |
US8321539B2 (en) | Peer-to-peer (P2P) network system and method of operating the same | |
US7376749B2 (en) | Heuristics-based peer to peer message routing | |
US20100223283A1 (en) | Apparatus and method for processing query | |
US20140237085A1 (en) | Communication method of content requester and content provider to provide content and real-time streaming content in content-centric network (ccn) based on content name | |
JP4755683B2 (ja) | ピア・ツー・ピア(p2p)・ネットワークを効率的に拡張するための方法、装置、およびプログラム | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN103227826A (zh) | 一种文件传输方法及装置 | |
CN113162970B (zh) | 基于发布/订阅模型的消息路由方法、装置、设备及介质 | |
CN101640623A (zh) | 在对等网络中搜索资源的方法和设备 | |
CN110365541B (zh) | 一种网关中对应关系的生成方法、指令发送方法及装置 | |
CN103609072A (zh) | 管理由多个无线移动设备提供的用于分布式高速缓存的库存数据 | |
JP2005070987A (ja) | ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。 | |
EP2802108B1 (en) | Data-centric communications system and data forwarding method | |
US20170161508A1 (en) | Management device, method executed by the management device, and non-transitory computer-readable storage medium | |
KR20140125223A (ko) | 정보 중심 네트워킹 기반의 콘텐츠 네트워크에서 관리 인터페이스를 이용한 정보 수집 방법, 콘텐츠 네트워크 관리 시스템 및 노드 장치 | |
CN113452732A (zh) | 一种电力物联网网络管理系统及方法 | |
CN111881086B (zh) | 大数据的存储方法、查询方法、电子装置及存储介质 | |
KR20220078180A (ko) | 분산 네트워크 환경에서의 쿼리 배치 장치 및 그 방법 | |
KR100772983B1 (ko) | 인터넷 트래픽 측정 시스템 및 측정 방법 | |
US10084875B2 (en) | Method of transferring data, data transfer device and non-transitory computer-readable storage medium | |
KR100565168B1 (ko) | 피투피 데이터 통신을 위한 최적 노드 검색 장치 및 방법,그리고 이 방법을 실행하는 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체 | |
CN109542621B (zh) | 基于消息总线的前置机负载均衡方法和系统 | |
JP4615396B2 (ja) | ロケーションレジスタ及び収容移管制御方法 |
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 |