CN115480934A - 一种分布式数据处理的方法、装置、设备及储存介质 - Google Patents

一种分布式数据处理的方法、装置、设备及储存介质 Download PDF

Info

Publication number
CN115480934A
CN115480934A CN202211057210.5A CN202211057210A CN115480934A CN 115480934 A CN115480934 A CN 115480934A CN 202211057210 A CN202211057210 A CN 202211057210A CN 115480934 A CN115480934 A CN 115480934A
Authority
CN
China
Prior art keywords
service
node
data
target
processed
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
CN202211057210.5A
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.)
China Automotive Innovation Co Ltd
Original Assignee
China Automotive Innovation 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 China Automotive Innovation Co Ltd filed Critical China Automotive Innovation Co Ltd
Priority to CN202211057210.5A priority Critical patent/CN115480934A/zh
Publication of CN115480934A publication Critical patent/CN115480934A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式数据处理的方法、装置、设备及储存介质,包括:确定目标服务所在的目标节点;向目标节点发送服务调用请求,服务调用请求包括所述目标服务的目标服务标识;将待处理数据写入共享内存,以使得目标节点从共享内存中读取待处理数据;调用目标服务标识对应的目标服务,对待处理数据进行处理,得到已处理数据;将已处理数据写入所述共享内存中;从共享内存中读取所述已处理数据;本发明将多个服务存放于多个不同的执行节点,以优化分布式服务的系统架构,从而提高数据处理的效率。

Description

一种分布式数据处理的方法、装置、设备及储存介质
技术领域
本发明涉及一种计算机技术领域,具体为一种分布式数据处理的方法、装置、设备及储存介质。
背景技术
现有的虚拟化方案中,后端驱动服务都统一存放在虚拟机监视器中,或是将后端驱动服务都统一存放在一个具有超级权限的特殊虚拟机中,虽然存放的位置各有差异,但都是将后端驱动服务统一存放于同一个节点。
将后端驱动服务统一存放于同一个节点,导致节点的架构变得厚重,进一步地,会导致分布式集群中服务的运行效率和数据处理效率降低。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是由于后端驱动服务统一存放导致硬件资源高度集中,从而导致节点的架构变得厚重,进而影响分布式集群中服务运行效率和数据处理效率的问题。
为了上述提出的至少一个技术问题,本发明公开一种分布式数据处理方法、装置、设备及储存介质。
根据本公开的一方面,提供了一种分布式数据处理方法,包括:
确定目标服务所在的目标节点;
向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
从所述共享内存中读取所述已处理数据。
在一些可能的实施方式中,所述确定目标服务所在的目标节点,包括:
向管理节点发送服务查询请求;所述服务查询请求包括所述目标服务标识;
接收所述管理节点基于所述目标服务标识返回的查询结果;所述查询结果包括至少一个候选节点的候选节点标识;
基于所述至少一个候选节点的候选节点标识确定所述目标节点。
在一些可能的实施方式中,在所述确定目标服务所在的目标节点之前,所述方法还包括:
向管理节点发送服务注册请求;所述服务注册请求中包括注册节点标识信息、注册服务标识信息以及注册服务功能信息;
基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
在一些可能的实施方式中,所述向管理节点发送服务查询请求包括;
调用服务查询接口;
将所述目标服务标识传入所述服务查询接口;
基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
在一些可能的实施方式中,所述服务调用请求包括调用节点的调用节点标识;
所述将待处理数据写入共享内存,包括:
将所述待处理数据与所述调用节点标识写入所述共享内存;以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
根据本公开的第二方面,提供了另一种分布式数据处理方法,包括:
接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
将所述已处理数据写入所述共享内存中。
根据本公开的第三方面,提供了一种分布式数据处理的装置,包括:
目标节点确定模块,用于确定目标服务所在的目标节点;
请求调用模块,用于向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
第一数据写入模块,用于将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
数据读取模块,用于从所述共享内存中读取所述已处理数据。
根据本公开的第四方面,提供了另一种分布式数据处理的装置,包括:
请求接收模块,用于接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
数据获取模块,用于从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
数据处理模块,用于调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
第二数据写入模块,用于将所述已处理数据写入所述共享内存中。
根据本公开的第五方面,提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由所述处理器加载并执行以实现如上所述的分布式数据处理的方法。
根据本公开的第六方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由处理器加载并执行以实现如上所述的分布式数据处理的方法。
实施本发明,具有如下有益效果:
将多个服务存放于多个不同的执行节点,能够避免由于多个服务存放过于集中导致的节点架构变得厚重,进而能够优化分布式服务的系统架构;基于共享内存完成目标节点和调用节点之间的数据交互,能够减少管理节点承载的数据量,减少节点间的交互次数;同时能够减少节点间直接通信的数据量,从而节省资源带宽。
根据下面参考附图对示例性实施例的详细说明,本公开的其他特征及方面将变得清楚。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的实施环境示意图;
图2本发明实施例提供的分布式数据处理的方法流程示意图;
图3是本发明实施例提供的目标节点流程示意图;
图4是本发明实施例提供的发送服务查询请求流程示意图;
图5是本发明实施例提供的另一种分布式数据处理的方法流程示意图;
图6是本发明的一种实施例对应的虚拟架构示意图;
图7是本发明的一种实施例对应的数据通信示意图;
图8是本发明实施例提供的一种分布式数据处理装置的结构示意图;
图9是本发明实施例提供的另一种分布式数据处理装置的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出分布式数据处理的方法对应的实施环境示意图,如图1所示,分布式集群中包括一个管理节点以及多个执行节点;执行节点基于管理节点发送、订阅或查询服务信息,并接收管理节点返回的查询结果;执行节点中,需要进行服务调用的节点被确定为调用节点,需要提供服务的节点被确定为目标节点;任意执行节点既可以作为目标节点,也可以作为调用节点。
此外,分布式集群中还包括共享内存,执行节点可以访问共享内存,向共享内存中写入数据或读取数据。
图2为分布式数据处理的方法流程示意图,执行主体可以是分布式集群中的任意执行节点,如图2所示,一种分布式数据处理的方法,包括:
步骤S201:确定目标服务所在的目标节点;
在本发明实施例中,目标节点可以是能够提供后端驱动服务的任意一台虚拟机,调用节点可以是能够调用后端驱动服务的任意一台虚拟机,目标服务可以是存放于虚拟机中的后端驱动服务。每一个目标节点中可以同时存在多个不同的服务,相同的服务可以部署在不同的目标节点中。
在一个具体的实施例中,目标节点的数量为多个,多个目标节点上部署相同的目标服务时,调用节点可以根据多个目标节点分别对应的当前请求数量,从多个目标节点中选择当前请求数量少的目标节点;也可以根据调用节点和目标节点之间数据交互的复杂度,从多个目标节点中选择数据交互复杂度低的目标节点。
步骤S202:向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
在本发明实施例中,调用节点根据待处理数据确定需要调用的目标服务,生成包含目标服务标识的服务调用请求后,调用节点通过向目标节点发送服务调用请求,从而调用目标服务。
步骤S203:将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
在本发明实施例中,调用节点向目标节点发送服务调用请求后,将待处理数据存入共享内存,等待目标节点读取;目标节点获取到服务调用请求后,从共享内存中读取待处理数据,并选择对应的目标服务对待处理数据进行处理得到已处理数据;目标节点将已处理数据存入共享内存,等待调用节点读取。
步骤S204:从所述共享内存中读取所述已处理数据。
通过上述分布式数据处理方法,将各种服务分别部署到分布式集群的多个任意执行节点中,能够避免由于服务存放于单一节点带来的冗余,同时能够减少每一个节点的负载,优化了分布式服务的系统架构;分布式集群中的每一个节点都可以访问共享内存,通过在共享内存中读取和写入数据,完成不同节点之间的数据交互,不需要在多个节点之间多次发送请求信息,能够减少节点间的交互次数,进一步地,能够节省资源带宽。
具体的,图3为确定目标节点流程示意图,如图3所示,所述确定目标服务所在的目标节点,包括:
步骤S301:向管理节点发送服务查询请求;所述服务查询请求包括所述目标服务标识;
在本发明实施例中,目标服务标识可以为目标服务的名称标识信息,或者目标服务的功能标识信息。确定目标服务所在的目标节点可以包括:基于目标服务的服务名称确定目标节点;还可以包括:基于目标服务的服务功能确定目标节点。
在一个具体的实施例中,管理节点可以是虚拟机监视器中的消息中心,提供服务注册、查询、订阅的接口;调用节点通过管理节点提供的查询接口,发送包含目标服务标识的服务查询请求,查询管理节点中存储的服务注册信息。
步骤S302:接收所述管理节点基于所述目标服务标识返回的查询结果;所述查询结果包括至少一个候选节点的候选节点标识;
在本发明实施例中,管理节点基于调用节点发送的服务查询请求中包含的目标服务标识,查询与目标服务标识匹配的服务注册信息,并生成对应的查询结果;调用节点接收查询结果。
进一步地,与目标服务标识相匹配,查询结果可以基于目标服务的名称标识信息生成,或者基于目标服务的功能标识信息生成。
在一个具体的实施例中,基于目标服务的名称标识信息生成查询结果可以包括:根据调用节点要调用的目标服务的名称标识信息,生成服务查询请求;
向管理节点发送服务查询请求,基于管理节点查询同样名称的服务注册信息,并生成查询结果;
接收管理节点基于目标服务标识返回的查询结果;查询结果包括至少一个候选节点的候选节点标识,基于至少一个候选节点的候选节点标识确定所述目标节点,例如候选节点标识a,候选节点标识b,候选节点标识c。
在另一个具体的实施例中,基于目标服务的功能标识信息生成查询结果可以包括:根据调用节点要调用的目标服务的功能标识信息,生成服务查询请求;
向管理节点发送服务查询请求,基于管理节点查询同样功能的服务注册信息,并生成查询结果;
接收管理节点基于目标服务标识返回的查询结果;查询结果包括至少一个候选节点的候选节点标识,基于至少一个候选节点的候选节点标识确定所述目标节点,例如候选节点标识1,候选节点标识2,候选节点标识3,候选节点标识4。
步骤S303:基于所述至少一个候选节点的候选节点标识确定所述目标节点。
在本发明实施例中,管理节点包含至少一个与服务查询请求匹配的服务注册信息,进一步地,查询结果会包含至少一个相应的目标节点标识,这些目标节点标识作为候选节点标识,发送至调用节点,调用节点从至少一个候选节点标识中选择匹配的目标节点。
在一个具体的实施例中,候选的目标节点数量为多个,多个候选的目标节点上部署相同的目标服务时,调用节点可以根据多个候选的目标节点分别对应的当前请求数量,从多个候选的目标节点中选择当前请求数量少的目标节点;也可以根据调用节点和目标节点之间数据交互的复杂度,从多个候选的目标节点中选择数据交互复杂度低的目标节点。
通过管理节点返回至调用节点的查询结果,调用节点可以自行选择适用于当前待处理数据的目标服务,从而实现对资源的合理利用,进一步地,能够提高数据处理的效率。
进一步地,在所述确定目标服务所在的目标节点之前,所述方法还包括:
向管理节点发送服务注册请求;所述服务注册请求中包括注册节点标识信息、注册服务标识信息以及注册服务功能信息;
在本发明实施例中,管理节点用于提供注册、订阅以及查询的接口,并保存服务注册信息。基于分布式集群中每个执行节点中的存放的服务信息,执行节点生成服务注册请求,在调用节点发送服务查询请求之前,执行节点首先通过管理节点提供的注册接口,将注册节点标识信息、注册服务标识信息以及注册服务功能信息上传至管理节点进行注册;注册服务标识信息包括服务的名称标识信息以及服务的功能标识信息;注册服务功能信息包括服务功能描述信息。
基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
在本发明实施例中,管理节点基于执行节点发送的服务注册请求,对注册节点标识信息、注册服务标识信息以及注册服务功能信息进行注册,生成服务注册信息,并保存至管理节点。服务注册信息用于匹配服务查询请求,基于目标服务标识和服务注册信息,在管理节点进行匹配,能够从多个执行节点中确认目标节点。
将执行节点中存放的服务信息发送至管理节点并生成注册信息,管理节点用于服务注册,不需要在管理节点上进行部署服务,从而能够减少管理节点承载的数据量。
具体的,如图4所示,所述向管理节点发送服务查询请求包括;
步骤S401:调用服务查询接口;
步骤S402:将所述目标服务标识传入所述服务查询接口;
在本发明实施例中,调用节点通过管理节点提供的查询接口,发送包括目标服务标识的服务查询请求。
步骤S403:基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
在本发明实施例中,调用节点通过调用目标节点中的目标服务进行数据处理。为了调用匹配的目标服务,首先要确定存放目标服务的目标节点;通过向管理节点发送服务查询请求寻找匹配的目标服务,调用节点接收管理节点返回的查询结果,确定目标节点。
基于服务查询请求,在管理节点中查询服务注册信息,能够减少节点间用于查询服务的数据量,提高服务查询的便利性,进一步地,能够提高服务查询的效率。
进一步地,所述服务调用请求包括调用节点的调用节点标识;
所述将待处理数据写入共享内存,包括:
将所述待处理数据与所述调用节点标识写入所述共享内存;以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
在本发明实施例中,调用节点向共享内存写入待处理数据,为了使目标节点能够准确读取待处理数据,调用节点同时向共享内存中写入调用节点标识,目标节点访问共享内存时识别调用节点标识,基于调用节点标识,目标节点能够准确读取到共享内存中存放的待处理数据。
写入待处理数据的同时,调用节点也向共享内存写入调用节点标识,能够使目标节点准确读取待处理数据;调用节点和目标节点基于共享内存对数据进行读取和写入,能够有效减少节点间的交互次数。
图5为分布式数据处理的方法流程示意图,执行主体可以是分布式集群中的任意执行节点,在另一些实施例中,如图5所示,所述分布式数据处理方法还包括:
步骤501:接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
在本发明实施例中,调用节点向目标节点发送服务调用请求;由于一个目标节点中存放至少一个目标服务,调用节点发送的服务调用请求中需要包括目标服务的目标服务标识,以便目标节点能够识别出需要调用的目标服务。
步骤S502:从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
在本发明实施例中,目标节点接收到服务调用请求后,访问共享内存中的待处理数据,为了使目标节点准确识别到共享内存中存放的待处理数据,调用节点向共享内存写入待处理数据的同时,向共享内存中写入调用节点标识,目标节点访问共享内存时识别调用节点标识,基于调用节点标识,目标节点能够准确读取到共享内存中存放的待处理数据。
步骤S503:调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
在本发明实施例中,目标节点从共享内存中读取待处理数据后,基于对应的目标服务进行数据处理,得到已处理数据。
步骤S504:将所述已处理数据写入所述共享内存中。
通过上述分布式数据处理方法,将各种服务分别部署到分布式集群的多个任意执行节点中,能够避免由于服务存放于单一节点带来的冗余,同时能够减少每一个节点的负载,优化了分布式服务的系统架构;分布式集群中的每一个节点都可以访问共享内存,通过在共享内存中读取和写入数据,完成不同节点之间的数据交互,不需要在多个节点之间多次发送请求信息,能够减少节点间的交互次数,进一步地,能够节省资源带宽。
图6是本发明的一种实施例对应的虚拟架构示意图,图7是本发明的一种实施例对应的数据通信示意图;请参阅图6以及图7,在一个具体的实施例中,分布式数据处理的方法可以应用于多个虚拟机终端,包括:
具体的,执行节点中的目标节点可以是本实施例中的虚拟机a,调用节点可以是本实施例中的虚拟机b;管理节点可以是由虚拟机监视器提供的消息中心;目标服务可以是后端驱动服务,共享内存可以用于存放虚拟队列。
具体的,如图6所示,虚拟机a用于提供后端驱动服务;虚拟机b用于调用后端驱动服务;消息中心用于提供服务注册、查询和订阅的接口;虚拟队列即前后端环形队列进行数据交换的实际数据链路,用于实现共享内存中数据的读取和写入;在建立二者之间的通信通道之前,虚拟机a通过消息中心提供的注册接口对后端驱动服务进行注册,虚拟机通过消息中心提供的查询接口对已注册的后端驱动服务进行查询。
进一步地,如图7所示,基于virtio标准,通过虚拟队列建立虚拟机a和虚拟机b之间的半虚拟通信通道;虚拟机b通过将数据插入虚拟队列,实现将待处理数据和调用节点标识写入共享内存;虚拟机a接收到服务调用请求,调用函数读取与调用节点标识匹配的待处理数据;虚拟机a读取待处理数据后,调用匹配的后端驱动服务对待处理数据进行处理,得到已处理数据;虚拟机b读取共享内存获取已处理数据。
本发明实施例还提供了一种分布式数据处理的装置,如图8所示,所示装置包括:
第一目标节点确定模块810,用于确定目标服务所在的目标节点;
请求调用模块820,用于向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
第一数据写入模块830,用于将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
数据读取模块840,用于从所述共享内存中读取所述已处理数据。
在另一些实施例中,第一目标节点确定模块包括:
第一查询请求发送模块,用于向管理节点发送服务查询请求;
查询结果接收模块,用于接收所述管理节点基于所述目标服务标识返回的查询结果;
第二目标节点确定模块,用于基于所述至少一个候选节点的候选节点标识确定所述目标节点。
在另一些实施例中,所述装置还包括:
注册请求发送模块,用于向管理节点发送服务注册请求;
注册信息生成模块,用于基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
在另一些实施例中,第一查询请求发送模块包括:
查询接口调用模块,用于调用服务查询接口;
服务标识传入模块,用于将所述目标服务标识传入所述服务查询接口;
第二查询请求发送模块,用于基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
在另一些实施例中,服务调用请求包括调用节点的调用节点标识;
第一数据写入模块包括:
标识写入模块,用于将所述待处理数据与所述调用节点标识写入所述共享内存,以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
本发明实施例还提供了另一种分布式数据处理的装置,如图9所示,所示装置包括:
请求接收模块910,用于接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
数据获取模块920,用于从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
数据处理模块930,用于调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
第二数据写入模块940,用于将所述已处理数据写入所述共享内存中。
所述的装置实施例中的装置与方法实施例基于同样的发明构思,用于实现上述分布式数据处理的方法。
本发明的实施例还提供了一种分布式数据处理设备,所述设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如方法实施例中的一种分布式数据处理方法。
本发明的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种分布式数据处理方法的至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现任一所述的分布式数据处理方法。
可选地,在本发明的实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本发明的实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本发明提供的分布式数据处理方法、装置、设备和存储介质的实施例可见,本发明的分布式数据处理方法、装置、设备和存储介质通过将多个服务存放于多个不同的执行节点,能够避免由于多个服务存放过于集中导致的节点架构变得厚重,进而能够优化分布式服务的系统架构;基于共享内存完成节点间的数据交互,能够减少管理节点承载的数据量,从而减少节点间的交互次数;同时能够减少节点间直接通信的数据量,从而节省资源带宽。
需要说明的是:以上已经描述了本公开的各实施例,上述说明是示例性的,并非是穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对应本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种分布式数据处理的方法,其特征在于,包括:
确定目标服务所在的目标节点;
向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
从所述共享内存中读取所述已处理数据。
2.根据权利要求1所述的一种分布式数据处理方法,其特征在于,所述确定目标服务所在的目标节点,包括:
向管理节点发送服务查询请求;所述服务查询请求包括所述目标服务标识;
接收所述管理节点基于所述目标服务标识返回的查询结果;所述查询结果包括至少一个候选节点的候选节点标识;
基于所述至少一个候选节点的候选节点标识确定所述目标节点。
3.根据权利要求1所述的一种分布式数据处理方法,其特征在于,在所述确定目标服务所在的目标节点之前,所述方法还包括:
向管理节点发送服务注册请求;所述服务注册请求中包括注册节点标识信息、注册服务标识信息以及注册服务功能信息;
基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
4.根据权利要求2所述的一种分布式数据处理方法,其特征在于,所述向管理节点发送服务查询请求包括;
调用服务查询接口;
将所述目标服务标识传入所述服务查询接口;
基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
5.根据权利要求1所述的一种分布式数据处理方法,其特征在于,所述服务调用请求包括调用节点的调用节点标识;
所述将待处理数据写入共享内存,包括:
将所述待处理数据与所述调用节点标识写入所述共享内存;以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
6.一种分布式数据处理方法,其特征在于,包括:
接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
将所述已处理数据写入所述共享内存中。
7.一种分布式数据处理的装置,其特征在于,包括:
目标节点确定模块,用于确定目标服务所在的目标节点;
请求调用模块,用于向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
第一数据写入模块,用于将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
数据读取模块,用于从所述共享内存中读取所述已处理数据。
8.一种分布式数据处理的装置,其特征在于,包括:
请求接收模块,用于接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
数据获取模块,用于从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
数据处理模块,用于调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
第二数据写入模块,用于将所述已处理数据写入所述共享内存中。
9.一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由所述处理器加载并执行以实现如权利要求1-6中任意一项所述分布式数据处理的方法。
10.一种计算机存储介质,所述计算机存储介质中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由处理器加载并执行以实现如权利要求1-6中任意一项所述分布式数据处理的方法。
CN202211057210.5A 2022-08-31 2022-08-31 一种分布式数据处理的方法、装置、设备及储存介质 Pending CN115480934A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211057210.5A CN115480934A (zh) 2022-08-31 2022-08-31 一种分布式数据处理的方法、装置、设备及储存介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211057210.5A CN115480934A (zh) 2022-08-31 2022-08-31 一种分布式数据处理的方法、装置、设备及储存介质

Publications (1)

Publication Number Publication Date
CN115480934A true CN115480934A (zh) 2022-12-16

Family

ID=84420853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211057210.5A Pending CN115480934A (zh) 2022-08-31 2022-08-31 一种分布式数据处理的方法、装置、设备及储存介质

Country Status (1)

Country Link
CN (1) CN115480934A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662038A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息检测方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662038A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息检测方法、装置、设备及介质
CN116662038B (zh) * 2023-07-25 2023-10-27 菲特(天津)检测技术有限公司 基于共享内存的工业信息检测方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110968586A (zh) 分布式事务处理方法及装置
US5535334A (en) Fault-tolerant system-to-system communications system and method utilizing multiple communications methods to transfer a single message
US8832215B2 (en) Load-balancing in replication engine of directory server
US6108689A (en) Method and system for processing messages in a distributed computing environment
CN112685148B (zh) 海量终端的异步通信方法、装置、计算机设备和存储介质
CN113326155A (zh) 一种信息处理方法、装置、系统和存储介质
CN111163130A (zh) 一种网络服务系统及其数据传输方法
CN109819023B (zh) 分布式事务处理方法及相关产品
CN115480934A (zh) 一种分布式数据处理的方法、装置、设备及储存介质
CN114338769B (zh) 访问请求的处理方法及装置
CN115576654A (zh) 一种请求处理方法、装置、设备及存储介质
CN111464574A (zh) 调用、加载、注册、管理方法和路由、服务器、节点和介质
US8850440B2 (en) Managing the processing of processing requests in a data processing system comprising a plurality of processing environments
CN113986995A (zh) 请求分发方法、装置、存储介质及电子设备
CN108920277B (zh) 业务执行系统、方法及装置、业务隔离系统
CN112637201A (zh) 一种web服务端的请求处理方法、装置、设备及系统
CN112188012A (zh) 客服会话的建立方法、装置、电子设备及可读存储介质
US8549537B2 (en) Middleware bridge system and method
CN113114737B (zh) 信息的发送方法、装置及服务器
US11872497B1 (en) Customer-generated video game player matchmaking in a multi-tenant environment
CN117640363B (zh) 微服务配置与管控方法和系统
CN115604333B (zh) 基于dubbo的分布式大数据分析服务调度方法及系统
CN111767330B (zh) 一种数据交互方法、装置、电子设备及存储介质
WO2023250018A1 (en) Communication system node having multiple modules and a shared memory
CN116170372A (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