一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-12-20 01:58:52 来源:中国专利 TAG:


1.本发明涉及一种计算机技术领域,具体为一种分布式数据处理的方法、装置、设备及储存介质。


背景技术:

2.现有的虚拟化方案中,后端驱动服务都统一存放在虚拟机监视器中,或是将后端驱动服务都统一存放在一个具有超级权限的特殊虚拟机中,虽然存放的位置各有差异,但都是将后端驱动服务统一存放于同一个节点。
3.将后端驱动服务统一存放于同一个节点,导致节点的架构变得厚重,进一步地,会导致分布式集群中服务的运行效率和数据处理效率降低。


技术实现要素:

4.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是由于后端驱动服务统一存放导致硬件资源高度集中,从而导致节点的架构变得厚重,进而影响分布式集群中服务运行效率和数据处理效率的问题。
5.为了上述提出的至少一个技术问题,本发明公开一种分布式数据处理方法、装置、设备及储存介质。
6.根据本公开的一方面,提供了一种分布式数据处理方法,包括:
7.确定目标服务所在的目标节点;
8.向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
9.将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
10.从所述共享内存中读取所述已处理数据。
11.在一些可能的实施方式中,所述确定目标服务所在的目标节点,包括:
12.向管理节点发送服务查询请求;所述服务查询请求包括所述目标服务标识;
13.接收所述管理节点基于所述目标服务标识返回的查询结果;所述查询结果包括至少一个候选节点的候选节点标识;
14.基于所述至少一个候选节点的候选节点标识确定所述目标节点。
15.在一些可能的实施方式中,在所述确定目标服务所在的目标节点之前,所述方法还包括:
16.向管理节点发送服务注册请求;所述服务注册请求中包括注册节点标识信息、注册服务标识信息以及注册服务功能信息;
17.基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
18.在一些可能的实施方式中,所述向管理节点发送服务查询请求包括;
19.调用服务查询接口;
20.将所述目标服务标识传入所述服务查询接口;
21.基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
22.在一些可能的实施方式中,所述服务调用请求包括调用节点的调用节点标识;
23.所述将待处理数据写入共享内存,包括:
24.将所述待处理数据与所述调用节点标识写入所述共享内存;以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
25.根据本公开的第二方面,提供了另一种分布式数据处理方法,包括:
26.接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
27.从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
28.调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
29.将所述已处理数据写入所述共享内存中。
30.根据本公开的第三方面,提供了一种分布式数据处理的装置,包括:
31.目标节点确定模块,用于确定目标服务所在的目标节点;
32.请求调用模块,用于向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
33.第一数据写入模块,用于将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
34.数据读取模块,用于从所述共享内存中读取所述已处理数据。
35.根据本公开的第四方面,提供了另一种分布式数据处理的装置,包括:
36.请求接收模块,用于接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
37.数据获取模块,用于从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
38.数据处理模块,用于调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
39.第二数据写入模块,用于将所述已处理数据写入所述共享内存中。
40.根据本公开的第五方面,提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由所述处理器加载并执行以实现如上所述的分布式数据处理的方法。
41.根据本公开的第六方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由处理器加载并执行以实现如上所述的分布式数据处理的方法。
所说明的任何实施例不必解释为优于或好于其它实施例。
59.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
60.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
61.图1示出分布式数据处理的方法对应的实施环境示意图,如图1所示,分布式集群中包括一个管理节点以及多个执行节点;执行节点基于管理节点发送、订阅或查询服务信息,并接收管理节点返回的查询结果;执行节点中,需要进行服务调用的节点被确定为调用节点,需要提供服务的节点被确定为目标节点;任意执行节点既可以作为目标节点,也可以作为调用节点。
62.此外,分布式集群中还包括共享内存,执行节点可以访问共享内存,向共享内存中写入数据或读取数据。
63.图2为分布式数据处理的方法流程示意图,执行主体可以是分布式集群中的任意执行节点,如图2所示,一种分布式数据处理的方法,包括:
64.步骤s201:确定目标服务所在的目标节点;
65.在本发明实施例中,目标节点可以是能够提供后端驱动服务的任意一台虚拟机,调用节点可以是能够调用后端驱动服务的任意一台虚拟机,目标服务可以是存放于虚拟机中的后端驱动服务。每一个目标节点中可以同时存在多个不同的服务,相同的服务可以部署在不同的目标节点中。
66.在一个具体的实施例中,目标节点的数量为多个,多个目标节点上部署相同的目标服务时,调用节点可以根据多个目标节点分别对应的当前请求数量,从多个目标节点中选择当前请求数量少的目标节点;也可以根据调用节点和目标节点之间数据交互的复杂度,从多个目标节点中选择数据交互复杂度低的目标节点。
67.步骤s202:向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
68.在本发明实施例中,调用节点根据待处理数据确定需要调用的目标服务,生成包含目标服务标识的服务调用请求后,调用节点通过向目标节点发送服务调用请求,从而调用目标服务。
69.步骤s203:将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
70.在本发明实施例中,调用节点向目标节点发送服务调用请求后,将待处理数据存入共享内存,等待目标节点读取;目标节点获取到服务调用请求后,从共享内存中读取待处理数据,并选择对应的目标服务对待处理数据进行处理得到已处理数据;目标节点将已处理数据存入共享内存,等待调用节点读取。
71.步骤s204:从所述共享内存中读取所述已处理数据。
72.通过上述分布式数据处理方法,将各种服务分别部署到分布式集群的多个任意执行节点中,能够避免由于服务存放于单一节点带来的冗余,同时能够减少每一个节点的负载,优化了分布式服务的系统架构;分布式集群中的每一个节点都可以访问共享内存,通过在共享内存中读取和写入数据,完成不同节点之间的数据交互,不需要在多个节点之间多次发送请求信息,能够减少节点间的交互次数,进一步地,能够节省资源带宽。
73.具体的,图3为确定目标节点流程示意图,如图3所示,所述确定目标服务所在的目标节点,包括:
74.步骤s301:向管理节点发送服务查询请求;所述服务查询请求包括所述目标服务标识;
75.在本发明实施例中,目标服务标识可以为目标服务的名称标识信息,或者目标服务的功能标识信息。确定目标服务所在的目标节点可以包括:基于目标服务的服务名称确定目标节点;还可以包括:基于目标服务的服务功能确定目标节点。
76.在一个具体的实施例中,管理节点可以是虚拟机监视器中的消息中心,提供服务注册、查询、订阅的接口;调用节点通过管理节点提供的查询接口,发送包含目标服务标识的服务查询请求,查询管理节点中存储的服务注册信息。
77.步骤s302:接收所述管理节点基于所述目标服务标识返回的查询结果;所述查询结果包括至少一个候选节点的候选节点标识;
78.在本发明实施例中,管理节点基于调用节点发送的服务查询请求中包含的目标服务标识,查询与目标服务标识匹配的服务注册信息,并生成对应的查询结果;调用节点接收查询结果。
79.进一步地,与目标服务标识相匹配,查询结果可以基于目标服务的名称标识信息生成,或者基于目标服务的功能标识信息生成。
80.在一个具体的实施例中,基于目标服务的名称标识信息生成查询结果可以包括:根据调用节点要调用的目标服务的名称标识信息,生成服务查询请求;
81.向管理节点发送服务查询请求,基于管理节点查询同样名称的服务注册信息,并生成查询结果;
82.接收管理节点基于目标服务标识返回的查询结果;查询结果包括至少一个候选节点的候选节点标识,基于至少一个候选节点的候选节点标识确定所述目标节点,例如候选节点标识a,候选节点标识b,候选节点标识c。
83.在另一个具体的实施例中,基于目标服务的功能标识信息生成查询结果可以包括:根据调用节点要调用的目标服务的功能标识信息,生成服务查询请求;
84.向管理节点发送服务查询请求,基于管理节点查询同样功能的服务注册信息,并生成查询结果;
85.接收管理节点基于目标服务标识返回的查询结果;查询结果包括至少一个候选节点的候选节点标识,基于至少一个候选节点的候选节点标识确定所述目标节点,例如候选节点标识1,候选节点标识2,候选节点标识3,候选节点标识4。
86.步骤s303:基于所述至少一个候选节点的候选节点标识确定所述目标节点。
87.在本发明实施例中,管理节点包含至少一个与服务查询请求匹配的服务注册信息,进一步地,查询结果会包含至少一个相应的目标节点标识,这些目标节点标识作为候选
节点标识,发送至调用节点,调用节点从至少一个候选节点标识中选择匹配的目标节点。
88.在一个具体的实施例中,候选的目标节点数量为多个,多个候选的目标节点上部署相同的目标服务时,调用节点可以根据多个候选的目标节点分别对应的当前请求数量,从多个候选的目标节点中选择当前请求数量少的目标节点;也可以根据调用节点和目标节点之间数据交互的复杂度,从多个候选的目标节点中选择数据交互复杂度低的目标节点。
89.通过管理节点返回至调用节点的查询结果,调用节点可以自行选择适用于当前待处理数据的目标服务,从而实现对资源的合理利用,进一步地,能够提高数据处理的效率。
90.进一步地,在所述确定目标服务所在的目标节点之前,所述方法还包括:
91.向管理节点发送服务注册请求;所述服务注册请求中包括注册节点标识信息、注册服务标识信息以及注册服务功能信息;
92.在本发明实施例中,管理节点用于提供注册、订阅以及查询的接口,并保存服务注册信息。基于分布式集群中每个执行节点中的存放的服务信息,执行节点生成服务注册请求,在调用节点发送服务查询请求之前,执行节点首先通过管理节点提供的注册接口,将注册节点标识信息、注册服务标识信息以及注册服务功能信息上传至管理节点进行注册;注册服务标识信息包括服务的名称标识信息以及服务的功能标识信息;注册服务功能信息包括服务功能描述信息。
93.基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
94.在本发明实施例中,管理节点基于执行节点发送的服务注册请求,对注册节点标识信息、注册服务标识信息以及注册服务功能信息进行注册,生成服务注册信息,并保存至管理节点。服务注册信息用于匹配服务查询请求,基于目标服务标识和服务注册信息,在管理节点进行匹配,能够从多个执行节点中确认目标节点。
95.将执行节点中存放的服务信息发送至管理节点并生成注册信息,管理节点用于服务注册,不需要在管理节点上进行部署服务,从而能够减少管理节点承载的数据量。
96.具体的,如图4所示,所述向管理节点发送服务查询请求包括;
97.步骤s401:调用服务查询接口;
98.步骤s402:将所述目标服务标识传入所述服务查询接口;
99.在本发明实施例中,调用节点通过管理节点提供的查询接口,发送包括目标服务标识的服务查询请求。
100.步骤s403:基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
101.在本发明实施例中,调用节点通过调用目标节点中的目标服务进行数据处理。为了调用匹配的目标服务,首先要确定存放目标服务的目标节点;通过向管理节点发送服务查询请求寻找匹配的目标服务,调用节点接收管理节点返回的查询结果,确定目标节点。
102.基于服务查询请求,在管理节点中查询服务注册信息,能够减少节点间用于查询服务的数据量,提高服务查询的便利性,进一步地,能够提高服务查询的效率。
103.进一步地,所述服务调用请求包括调用节点的调用节点标识;
104.所述将待处理数据写入共享内存,包括:
105.将所述待处理数据与所述调用节点标识写入所述共享内存;以使得所述目标节点
从所述共享内存中读取与所述调用节点标识对应的待处理数据。
106.在本发明实施例中,调用节点向共享内存写入待处理数据,为了使目标节点能够准确读取待处理数据,调用节点同时向共享内存中写入调用节点标识,目标节点访问共享内存时识别调用节点标识,基于调用节点标识,目标节点能够准确读取到共享内存中存放的待处理数据。
107.写入待处理数据的同时,调用节点也向共享内存写入调用节点标识,能够使目标节点准确读取待处理数据;调用节点和目标节点基于共享内存对数据进行读取和写入,能够有效减少节点间的交互次数。
108.图5为分布式数据处理的方法流程示意图,执行主体可以是分布式集群中的任意执行节点,在另一些实施例中,如图5所示,所述分布式数据处理方法还包括:
109.步骤501:接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
110.在本发明实施例中,调用节点向目标节点发送服务调用请求;由于一个目标节点中存放至少一个目标服务,调用节点发送的服务调用请求中需要包括目标服务的目标服务标识,以便目标节点能够识别出需要调用的目标服务。
111.步骤s502:从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
112.在本发明实施例中,目标节点接收到服务调用请求后,访问共享内存中的待处理数据,为了使目标节点准确识别到共享内存中存放的待处理数据,调用节点向共享内存写入待处理数据的同时,向共享内存中写入调用节点标识,目标节点访问共享内存时识别调用节点标识,基于调用节点标识,目标节点能够准确读取到共享内存中存放的待处理数据。
113.步骤s503:调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
114.在本发明实施例中,目标节点从共享内存中读取待处理数据后,基于对应的目标服务进行数据处理,得到已处理数据。
115.步骤s504:将所述已处理数据写入所述共享内存中。
116.通过上述分布式数据处理方法,将各种服务分别部署到分布式集群的多个任意执行节点中,能够避免由于服务存放于单一节点带来的冗余,同时能够减少每一个节点的负载,优化了分布式服务的系统架构;分布式集群中的每一个节点都可以访问共享内存,通过在共享内存中读取和写入数据,完成不同节点之间的数据交互,不需要在多个节点之间多次发送请求信息,能够减少节点间的交互次数,进一步地,能够节省资源带宽。
117.图6是本发明的一种实施例对应的虚拟架构示意图,图7是本发明的一种实施例对应的数据通信示意图;请参阅图6以及图7,在一个具体的实施例中,分布式数据处理的方法可以应用于多个虚拟机终端,包括:
118.具体的,执行节点中的目标节点可以是本实施例中的虚拟机a,调用节点可以是本实施例中的虚拟机b;管理节点可以是由虚拟机监视器提供的消息中心;目标服务可以是后端驱动服务,共享内存可以用于存放虚拟队列。
119.具体的,如图6所示,虚拟机a用于提供后端驱动服务;虚拟机b用于调用后端驱动服务;消息中心用于提供服务注册、查询和订阅的接口;虚拟队列即前后端环形队列进行数
据交换的实际数据链路,用于实现共享内存中数据的读取和写入;在建立二者之间的通信通道之前,虚拟机a通过消息中心提供的注册接口对后端驱动服务进行注册,虚拟机通过消息中心提供的查询接口对已注册的后端驱动服务进行查询。
120.进一步地,如图7所示,基于virtio标准,通过虚拟队列建立虚拟机a和虚拟机b之间的半虚拟通信通道;虚拟机b通过将数据插入虚拟队列,实现将待处理数据和调用节点标识写入共享内存;虚拟机a接收到服务调用请求,调用函数读取与调用节点标识匹配的待处理数据;虚拟机a读取待处理数据后,调用匹配的后端驱动服务对待处理数据进行处理,得到已处理数据;虚拟机b读取共享内存获取已处理数据。
121.本发明实施例还提供了一种分布式数据处理的装置,如图8所示,所示装置包括:
122.第一目标节点确定模块810,用于确定目标服务所在的目标节点;
123.请求调用模块820,用于向所述目标节点发送服务调用请求,所述服务调用请求包括所述目标服务的目标服务标识;
124.第一数据写入模块830,用于将待处理数据写入共享内存,以使得所述目标节点:从所述共享内存中读取所述待处理数据;调用所述目标服务标识对应的所述目标服务,对所述待处理数据进行处理,得到已处理数据;将所述已处理数据写入所述共享内存中;
125.数据读取模块840,用于从所述共享内存中读取所述已处理数据。
126.在另一些实施例中,第一目标节点确定模块包括:
127.第一查询请求发送模块,用于向管理节点发送服务查询请求;
128.查询结果接收模块,用于接收所述管理节点基于所述目标服务标识返回的查询结果;
129.第二目标节点确定模块,用于基于所述至少一个候选节点的候选节点标识确定所述目标节点。
130.在另一些实施例中,所述装置还包括:
131.注册请求发送模块,用于向管理节点发送服务注册请求;
132.注册信息生成模块,用于基于所述管理节点对所述注册节点标识信息、所述注册服务标识信息以及所述注册服务功能信息进行注册,生成服务注册信息。
133.在另一些实施例中,第一查询请求发送模块包括:
134.查询接口调用模块,用于调用服务查询接口;
135.服务标识传入模块,用于将所述目标服务标识传入所述服务查询接口;
136.第二查询请求发送模块,用于基于已传入所述目标服务标识的服务查询接口,向管理节点发送所述服务查询请求。
137.在另一些实施例中,服务调用请求包括调用节点的调用节点标识;
138.第一数据写入模块包括:
139.标识写入模块,用于将所述待处理数据与所述调用节点标识写入所述共享内存,以使得所述目标节点从所述共享内存中读取与所述调用节点标识对应的待处理数据。
140.本发明实施例还提供了另一种分布式数据处理的装置,如图9所示,所示装置包括:
141.请求接收模块910,用于接收调用节点发送的服务调用请求;所述服务调用请求包括所述目标服务的目标服务标识;
142.数据获取模块920,用于从共享内存中读取待处理数据;所述待处理数据通过所述调用节点写入所述共享内存;
143.数据处理模块930,用于调用所述目标服务标识对应的目标服务,对所述待处理数据进行处理,得到已处理数据;
144.第二数据写入模块940,用于将所述已处理数据写入所述共享内存中。
145.所述的装置实施例中的装置与方法实施例基于同样的发明构思,用于实现上述分布式数据处理的方法。
146.本发明的实施例还提供了一种分布式数据处理设备,所述设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如方法实施例中的一种分布式数据处理方法。
147.本发明的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种分布式数据处理方法的至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现任一所述的分布式数据处理方法。
148.可选地,在本发明的实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本发明的实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
149.由上述本发明提供的分布式数据处理方法、装置、设备和存储介质的实施例可见,本发明的分布式数据处理方法、装置、设备和存储介质通过将多个服务存放于多个不同的执行节点,能够避免由于多个服务存放过于集中导致的节点架构变得厚重,进而能够优化分布式服务的系统架构;基于共享内存完成节点间的数据交互,能够减少管理节点承载的数据量,从而减少节点间的交互次数;同时能够减少节点间直接通信的数据量,从而节省资源带宽。
150.需要说明的是:以上已经描述了本公开的各实施例,上述说明是示例性的,并非是穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对应本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献