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

数据处理方法、装置及系统与流程

2022-09-03 13:44:16 来源:中国专利 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.在所述处理节点中增加m个处理单元时,执行x次脚本获取操作,以得到所述m个处理单元用于运行的n个脚本;其中,m≥x≥n≥1;一次所述脚本获取操作对应所述n个脚本中的一个脚本,所述脚本获取操作用于:在所述目标处理单元的内存中存储有对应的脚本时,从所述内存中获取所述对应的脚本;在所述内存中未存储有所述对应的脚本时,向所述第二中转节点发送所述对应的脚本的获取请求,并接收所述第二中转节点根据所述获取请求发送的所述对应的脚本;
27.根据所述n个脚本,创建所述m个处理单元。
28.可选地,m>x=n。
29.可选地,所述方法还包括:
30.统计所述内存和所述第二中转节点上存储的各个脚本被运行的频率;
31.当所述第二中转节点中存储的第一脚本被运行的频率大于第一频率阈值时,将所述第一脚本从所述第二中转节点中移动至所述内存;
32.当所述内存中存储的第二脚本被运行的频率大于第二频率阈值且小于或等于所述第一频率阈值时,将所述第二脚本从所述内存中移动至所述第二中转节点。
33.可选地,在执行所述数据处理请求所请求的数据处理操作之前,所述方法还包括:
34.在接收到所述第一中转节点发送的多个数据处理请求时,利用多个线程并行根据所述多个数据处理请求,确定所述处理节点中分别用于运行所述多个数据处理请求对应的脚本的处理单元。
35.第二方面,提供了一种数据处理方法,所述方法用于数据处理系统中的第一中转节点,所述数据处理系统还包括:至少一个请求节点和至少一个处理节点,所述方法包括:
36.接收目标请求节点发送的数据处理请求,所述数据处理请求由目标请求节点根据所述数据处理系统的待处理数据发送,所述目标请求节点为所述至少一个请求节点中的任一请求节点;
37.向目标处理节点发送所述数据处理请求,以便于所述目标处理节点执行所述数据处理请求所请求的数据处理操作,并将所述数据处理操作的处理结果传输至所述目标请求节点,所述目标处理节点为所述至少一个处理节点中的任一处理节点。
38.可选地,所述数据传输系统还包括第二中转节点,所述目标处理节点用于将所述处理结果发送至所述第二中转节点,所述方法还包括:
39.接收所述目标处理节点发送的所述数据处理请求的数据处理响应,所述数据处理响应用于指示已得到所述处理结果;
40.向所述目标请求节点发送所述数据处理响应,以便于所述目标请求节点根据所述数据处理响应,从所述第二中转节点上获取所述处理结果。
41.可选地,所述向目标处理节点发送所述数据处理请求,包括:
42.在接收到所述目标请求节点发送的多个数据处理请求时,向目标处理节点发送所述多个数据处理请求中的第一数据处理请求;
43.在接收到所述第一数据处理请求的数据处理响应后,向所述目标处理节点发送所述多个数据处理请求中的第二数据处理请求。
44.可选地,在接收目标请求节点发送的数据处理请求之后,所述方法还包括:
45.将所述数据处理请求加入第一队列;
46.向目标处理节点发送所述数据处理请求,包括:
47.向所述目标处理节点发送所述第一队列中的数据处理请求;
48.在接收所述目标处理节点发送的所述数据处理请求的数据处理响应之后,所述方法还包括:
49.将所述数据处理响应加入第二队列;
50.向所述目标请求节点发送所述数据处理响应,包括:
51.向所述目标请求节点发送所述第二队列中的数据处理响应。
52.第三方面,提供了一种数据处理方法,所述方法用于数据处理系统中的目标请求节点,所述数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点,所述目标请求节点为所述至少一个请求节点中的任一请求节点,所述方法包括:
53.获取所述数据处理系统的待处理数据;
54.根据所述待处理数据向所述第一中转节点发送数据处理请求,以便于所述第一中转节点向目标处理节点发送所述数据处理请求,以及所述目标处理节点执行所述数据处理请求所请求的数据处理操作,所述目标处理节点为所述至少一个处理节点中的任一处理节点;
55.获取来自所述目标处理节点的所述数据处理操作的处理结果。
56.可选地,所述数据传输系统还包括第二中转节点,所述目标处理节点用于将所述处理结果发送至所述第二中转节点,以及向所述第一中转节点发送所述数据处理请求的数据处理响应,所述数据处理响应用于指示已得到所述处理结果;
57.所述获取来自所述目标处理节点的所述数据处理操作的处理结果,包括:
58.接收所述第一中转节点发送的所述数据处理响应;
59.根据所述数据处理响应,从所述第二中转节点上获取所述处理结果。
60.第四方面,提供了一种数据处理装置,所述数据处理装置包括:处理器和存储器,
所述存储器中存储有程序,所述处理器用于执行所述存储器中存储的程序,以实现第一方面、第二方面或第三方面中任一设计所述的数据处理方法。
61.第五方面,提供了一种数据处理系统,所述数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点,
62.所述处理节点用于执行第一方面中任一设计所述的数据处理方法;
63.所述第一中转节点用于执行第二方面中任一设计所述的数据处理方法;
64.所述请求节点用于执行第三方面中任一设计所述的数据处理方法。
65.第六方面,提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如第一方面、第二方面或第三方面中任一设计所述的数据处理方法。
66.第七方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面、第二方面或第三方面中任一设计所述的数据处理方法。
67.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。其中,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
68.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
附图说明
69.图1为本技术实施例提供的一种数据处理系统的结构示意图;
70.图2为本技术实施例提供的另一种数据处理系统的结构示意图;
71.图3为本技术实施例提供的一种数据处理方法的流程图;
72.图4为本技术实施例提供的一种时间单元和时间段的关系示意图;
73.图5为本技术实施例提供的另一种时间单元和时间段的关系示意图;
74.图6为本技术实施例提供的一种目标处理节点的单元划分示意图;
75.图7为本技术实施例提供的另一种数据处理方法的流程图;
76.图8为本技术实施例提供的另一种数据处理方法的流程图;
77.图9为本技术实施例提供的另一种数据处理方法的流程图;
78.图10为本技术实施例提供的一种多个线程与多个数据处理请求的关系示意图;
79.图11为本技术实施例提供的一种数据处理装置的结构示意图;
80.图12为本技术实施例提供的另一种数据处理装置的结构示意图;
81.图13为本技术实施例提供的另一种数据处理装置的结构示意图;
82.图14为本技术实施例提供的另一种数据处理装置的结构示意图;
83.图15为本技术实施例提供的另一种数据处理装置的结构示意图;
84.图16为本技术实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
85.为使本技术的原理、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
86.数据处理是各种领域中必不可少的一个环节。
87.比如,在物联网领域中,多个物联网设备采用不同格式的数据,需要对这些不同格式的数据进行格式统一。例如,上述不同格式可以包括:js对象简谱(javascript object notation,json)格式(一种轻量级的数据交换格式),测试表达式(test expression expression,test)格式,二进制(binary)格式等。采用不同格式的数据可以是采用不同或相同的通信协议,这些通信协议例如传输控制协议(transmission control protocol,tcp)、消息队列遥测传输(message queuing telemetry transport,mqtt)协议、用户数据报协议(user datagram protocol,udp)、受约束的应用程序协议(the constrained application protocol,coap)等。
88.又比如,在通信领域中,一个通信设备需要对接收到的另一个通信设备发送的请求数据进行处理,得到该请求数据的响应数据,并将响应数据反馈给该另一个通信设备。示例地,在该请求数据为鉴权数据时,该请求数据的响应数据可以是鉴权数据的鉴权结果。
89.相关技术中采用一台数据处理设备接收待处理的数据,并对该数据进行处理。但是,目前数据处理的方式较为单一。并且,在需要对较多数据进行处理的情况下,一台数据处理设备的吞吐量较小,采用一台数据处理设备对海量数据进行处理的效率较低,且容易导致该数据处理设备故障。并且,数据处理设备在出厂后,数据处理设备的硬件较难改变,因此,导致数据处理设备的处理能力固定,较难对数据处理设备进行性能的提升。
90.基于此,本技术实施例提供了一种数据处理系统,该数据处理系统能够对数据进行处理,并且,该数据处理系统处理数据的方式与上述一台数据处理设备处理数据的方式不同,丰富了数据处理的方式。另外,该数据处理系统的吞吐量较大,能够支持对海量数据进行处理,数据处理系统不容易故障。再者,在数据处理系统使用的过程中,还可以根据需要对数据处理系统的处理能力进行灵活调整。
91.示例地,图1为本技术实施例提供的一种数据处理系统的结构示意图,如图1所示,该数据处理系统包括:第一中转节点01,至少一个请求节点02,以及至少一个处理节点03。请求节点02和处理节点03均与第一中转节点01通信连接。
92.需要说明的是,数据处理系统中请求节点02的个数可以大于或等于1,处理节点03的个数也可以大于或等于1,图1中以请求节点02和处理节点03的个数均为1为例。数据处理系统中的节点(如第一中转节点、请求节点和处理节点等)均可以是一台设备,如服务器、服务器集群等,也可以是一台设备中的一部分,如设备中的接口板等,本技术实施例对此不作限定。
93.可选地,请继续参考图1,该数据处理系统还可以包括第二中转节点04,请求节点02和处理节点03均与第二中转节点04通信连接。
94.又可选地,该数据处理系统还可以包括存储节点05,该第二中转节点04还可以与该存储节点05通信连接。或者,如图2所示,该存储节点05也可以与第二中转节点04不通信
连接,而是与处理节点03通信连接。
95.以下将以本技术实施例提供的数据处理方法为例,对该数据处理系统的功能进行介绍。
96.示例地,图3为本技术实施例提供的一种数据处理方法的流程图。该数据处理方法可以用于本技术实施例提供的数据处理系统中的目标处理节点,该目标处理节点为数据处理系统中至少一个处理节点的任一处理节点。该至少一个处理节点中除目标处理节点之外的其他处理节点用于执行的数据处理方法,可以参考目标处理节点用于执行的数据处理方法。
97.如图3所示,该数据处理方法可以包括:
98.步骤201、接收第一中转节点发送的数据处理请求,数据处理请求由目标请求节点根据数据处理系统的待处理数据发送给第一中转节点,目标请求节点为至少一个请求节点中的任一请求节点。
99.目标请求节点能够获取该数据处理系统的待处理数据,并根据该待处理数据生成数据处理请求,该数据处理请求用于请求执行该待处理数据的处理操作。该处理操作可以是任一种处理数据的操作,比如,对数据进行格式的转换,或者生成数据的响应数据等。
100.目标请求节点在得到数据处理请求后,还可以将该数据处理请求发送给第一中转节点,并由第一中转节点将该数据处理请求发送给目标处理节点。
101.步骤202、执行数据处理请求所请求的数据处理操作。
102.步骤203、将数据处理操作的处理结果传输至目标请求节点。
103.目标处理节点在执行数据处理请求所请求的数据处理操作后,可以将得到的数据处理操作的处理结果传输至目标请求节点,从而使得目标请求节点得到该处理结果。
104.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。其中,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
105.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
106.进一步地,在上述步骤203中,目标处理节点可以通过多种方式中的任一种方式将处理结果传输至目标请求节点。
107.比如,目标处理节点可以与目标请求节点通信连接,此时目标处理节点可以直接将该处理节点发送给目标请求节点。
108.又比如,在数据传输系统还包括第二中转节点时,目标处理节点可以向该第二中转节点发送该处理结果,并向第一中转节点发送数据处理请求的数据处理响应,数据处理响应用于指示已得到处理结果。第一中转节点在接收到该数据处理响应后,可以向目标请求节点发送该数据处理响应。之后,目标请求节点便可以根据该数据处理响应从第二中转节点获取处理结果。这种情况下,目标请求节点、第一中转节点和目标处理节点之间的链路
上无需传输处理结果,因此减少了该链路的传输负载,降低了该链路的带宽,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
109.可选地,数据处理请求携带有:数据处理请求对应的脚本的标识;数据处理请求对应的脚本为:执行数据处理请求所请求的数据处理操作所需运行的脚本。目标处理节点在执行步骤202时,可以利用处理节点中已创建的用于运行数据处理请求对应的脚本的处理单元,执行该数据处理请求所请求的数据处理操作。可以看出,本技术中的数据处理请求携带脚本标识,这样一来,便无需在数据处理请求中携带脚本,使得数据处理请求的数据量较低,目标请求节点、第一中转节点和目标处理节点之间链路的传输负载较低,降低该链路的带宽,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
110.可选地,数据处理请求还可以携带有:运行数据处理请求对应的脚本所需的元数据,处理单元可以根据该元数据运行该数据处理请求对应的脚本。当然,数据处理请求也可以不携带有该元数据,本技术实施例对此不作限定。
111.可选地,数据处理请求还可以携带有待处理数据。可以理解的是,数据处理请求也可以不携带有该待处理数据,而是携带有待处理数据的标识。这种情况下,目标请求节点还可以将待处理数据传输至第二中转节点,目标处理节点在接收到数据处理请求后,可以根据数据处理请求携带的待处理数据的标识,从第二中转节点获取该待处理数据,进而对该待处理数据进行处理。
112.进一步地,在第一中转节点发送的数据处理请求包括:对应同一脚本的不同数据处理请求时,不同数据处理请求所请求的数据处理操作可以由目标处理节点中的同一处理单元执行。这样一来,相同脚本的请求采用相同的处理单元执行数据处理操作,从而避免创建多个相同的处理单元,减轻处理节点创建处理单元的负载,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
113.可以理解的是,对应同一脚本的请求所请求的数据处理操作也可以由不同的处理单元执行。或者,一部分对应同一脚本的不同数据处理请求所请求的数据处理操作由同一处理单元执行,另一部分对应同一脚本的不同数据处理请求所请求的数据处理操作由不同的处理单元执行。
114.进一步地,目标处理节点可以对其中的处理单元的数量进行管理。
115.示例地,目标处理节点还可以多次确定最近的第一时间段内接收到的数据处理请求的第一个数;在第一个数的增长率大于第一概率阈值时,目标处理节点可以增加目标处理节点中的处理单元,第一概率阈值大于零;在第一个数的增长率小于第二概率阈值时(第一个数的减少率较高),目标处理节点可以减少目标处理节点中的处理单元,第二概率阈值小于零。
116.可见,目标处理节点可以根据接收到的数据处理请求的个数,适当增加或减少目标处理节点中处理单元的个数,以在保证处理速度的前提下,尽量减少功耗,实现对目标处理节点的资源的合理利用。
117.可选地,目标处理节点在增加(或减少)目标处理节点中的处理单元前,可以根据第一个数的增长率确定需要增加(或减少)的处理单元的个数。或者,目标处理节点每次增加(或减少)处理单元的个数均为固定值。
118.又可选地,目标处理节点在每次确定最近的第一时间段内接收到的数据处理请求
的第一个数时,还可以确定该第一时间段内接收到的对应同一脚本的数据处理请求的辅助个数。目标处理节点在增加(或减少)目标处理节点中的处理单元前,可以根据该辅助个数的增长率,确定是否需要增加(或减少)用于运行该同一脚本的处理单元。比如,在该辅助个数的增长率大于第三概率阈值时,增加目标处理节点中用于运行该同一脚本的处理单元,第三概率阈值大于零;在该辅助个数的增长率小于第四概率阈值时(辅助个数的减少率较高),减少目标处理节点中用于运行该同一脚本的处理单元,第四概率阈值小于零。
119.又示例地,目标处理节点还可以多次确定最近的第二时间段内接收到的对应同一脚本的数据处理请求的第二个数;在第二个数的增长率大于第三概率阈值时,增加目标处理节点中用于运行该同一脚本的处理单元;在第二个数的增长率小于第四概率阈值时(第二个数的减少率较高),减少目标处理节点中用于运行同一脚本的处理单元。
120.可以看出,本技术实施例中,目标处理节点可以根据接收到的对应同一脚本的请求的个数,适当增加或减少用于运行该脚本的处理单元的个数,以在保证数据处理效率的前提下,尽量减少目标处理节点的功耗。
121.可选地,目标处理节点可以采用滑动时间窗口算法确定上述第一个数、第二个数、辅助个数。
122.示例地,以第一个数为例,目标处理节点可以对每个第一时间单元内接收到的数据处理请求的个数进行第一统计,第一时间段包括连续的多个第一时间单元。目标处理节点在采用滑动时间窗口算法确定第一个数时,目标处理节点可以根据第一统计确定该第一个数。
123.如图4所示,假设第一时间单元为10秒,第一时间段为1分钟(包括6个第一时间单元),则目标处理节点可以每10秒对接收到的数据处理请求的个数进行统计。在每次确定第一个数时,目标处理节点可以获取最近6个第一时间单元内统计得到的个数,并将这些个数之和确定为第一个数。目标处理节点在多次确定第一个数时所确定的最近的6个第一时间单元会随着时间的推移变化。比如,目标处理节点在第一次确定第一个数时确定的最近的6个第一时间单元如图4所示,目标处理节点在第二次确定第一个数时确定的最近的6个第一时间单元如图5所示,第二次确定第一个数的时间和第一次确定第一个数的时间相差一个第一时间单元(10秒)。
124.类似的,对于辅助个数,该数据处理方法还包括:目标处理节点对每个第一时间单元内接收到的对应同一脚本的数据处理请求的个数进行第二统计,第一时间段包括连续的多个第一时间单元;目标处理节点在采用滑动时间窗口算法确定辅助个数时,目标处理节点可以根据第二统计确定该辅助个数。对于第二个数,该数据处理方法还包括:目标处理节点对每个第二时间单元内接收到的对应同一脚本的数据处理请求的个数进行第三统计,第二时间段包括连续的多个第二时间单元;目标处理节点在采用滑动时间窗口算法确定第二个数时,目标处理节点可以根据第三统计确定该第二个数。
125.进一步地,根据前述内容可知,目标处理节点利用已创建的处理单元执行数据处理操作。目标处理节点创建处理单元的过程可有称为目标处理节点增加处理单元的过程。目标处理节点在增加m个处理单元时,需要执行x次脚本获取操作,以得到该m个处理单元用于运行的n个脚本(其中每个处理单元用于运行一个脚本),再根据这n个脚本创建该m个处理单元,m≥x≥n≥1。
126.示例地,一次脚本获取操作对应n个脚本中的一个脚本,脚本获取操作用于:在目标处理单元的内存中存储有对应的脚本时,从内存中获取该对应的脚本;在该内存中未存储有该对应的脚本时,向第二中转节点发送该对应的脚本的获取请求,并接收第二中转节点根据该获取请求发送的该对应的脚本。
127.一方面,若第二中转节点与存储节点通信连接,则第二中转节点在接收到该获取请求后,可以先检查本地是否存储有该获取请求用于获取的脚本。在本地并未存储有该脚本时,第二中转节点可以从连接的存储节点上获取该脚本,并将该脚本存储在第二中转节点本地,以及向目标处理节点发送该脚本。
128.另一方面,若第二中转节点与存储节点未通信连接,且存储节点与目标处理节点通信连接,则在第二中转节点的本地未存储有获取请求所请求的某一脚本时,第二中转节点也可以向目标处理节点发送未存储有该脚本的获取响应。此时,目标处理节点可以向存储节点发送该获取请求,以及接收存储节点发送的该脚本。之后,目标处理节点可以将该脚本再发送给第二中转节点,以使第二中转节点存储有该脚本。
129.可选地,目标处理节点的内存和第二中转节点均可以通过缓存的方式存储信息(如脚本)。因此,被存储在该内存或第二中转节点上的脚本均具有有效期,且该有效期会随时间减小。当该有效期减小为零时,该脚本会被释放,从而避免该脚本对存储位置的占用,减少了目标处理节点或第二中转节点的负载。另外,若脚本在被读取后,脚本的有效期会被重置为初始值(大于零)。
130.上述存储节点可以以非缓存的方式(如持久化存储的方式)存储信息(如脚本),本技术实施例对此不作限定。存储节点可以是关系型数据库管理系统(mysql)节点。
131.可选地,m>x=n。在m>n时,m个处理单元中存在用于运行相同脚本的多个处理单元。由于x=n,因此,目标处理节点执行脚本获取操作的次数与m个处理单元用于运行的脚本的数量n相同。并且,对于用于运行相同脚本的多个处理单元,目标处理节点仅需执行该相同脚本的一次脚本获取操作即可,而无需执行多次脚本获取操作,从而避免了在内存、第二中转节点或存储节点上重复获取相同的脚本影响内存和第二中转节点性能的问题。
132.在第二中转节点采用缓存的方式存储信息时,若重复在第二中转节点上获取相同的脚本,且第二中转节点上并未缓存有该脚本,则再重复在存储节点上获取该脚本的现象称为缓存击穿。缓存击穿会造成惊群效应,影响整个数据处理系统的性能。采用本技术实施例提供的方案能够避免缓存击穿,避免惊群效应,保证整个数据处理系统的性能。另外,还能够避免第二中转节点或目标处理节点重复将该相同的脚本缓存在第二中转节点上,减轻了第二中转节点或目标处理节点的负载。
133.进一步地,目标处理节点还可以统计内存和第二中转节点上存储的各个脚本被运行的频率(被处理单元运行的频率);当第二中转节点中存储的第一脚本被运行的频率大于第一频率阈值时,目标处理节点可以将第一脚本从第二中转节点中移动至内存;当内存中存储的第二脚本被运行的频率大于第二频率阈值且小于或等于第一频率阈值(第一频率阈值可以大于或等于零)时,目标处理节点可以将第二脚本从内存中移动至第二中转节点。
134.可见,对于内存和第二中转节点上存储的脚本,目标处理节点可以根据脚本被运行的频率调整脚本的存储位置,以使被运行频率较高的第一脚本存储在内存中,提升目标处理节点读取第一脚本的效率。另外,还可以使运行频率较低的第二脚本存储在第二中转
节点中,以避免第二脚本对目标处理节点的内存的占用。
135.可以理解的是,在内存和第二中转节点采用缓存的方式存储脚本时,脚本具有有效期,当目标处理节点将脚本在内存和第二中转节点之间转移后,脚本的有效期会重置。
136.可选地,在执行数据处理请求所请求的数据处理操作之前,目标处理节点还需要确定(如创建或查找)用于执行数据处理请求所请求的数据处理操作的处理单元。示例地,目标处理节点在接收到第一中转节点发送的多个数据处理请求时,可以利用多个线程并行根据多个数据处理请求,确定处理节点中分别用于运行多个数据处理请求对应的脚本的处理单元。这样一来,通过多个线程并行确定处理单元,能够提升效率,进一步地提升系统吞吐量,从而使得数据处理系统能够支持海量数据的处理。
137.示例地,根据本技术实施例提供的目标处理节点的功能,可以将目标处理节点划分为多种单元。比如,如图6所示,该目标处理节点可以包括:主控单元、统计单元、处理单元和缓存单元。
138.统计单元用于统计上述第一个数、第二个数、辅助个数、脚本被运行的频率等。
139.处理单元用于运行脚本以执行数据处理请求对应的数据处理操作,并得到处理结果。
140.缓存单元用于根据脚本被运行的频率,调整脚本在内存和第二中转节点上的存储位置。缓存单元还可以用于执行上述脚本获取操作。
141.在用于目标处理单元的方法中,除统计单元、处理单元和缓存单元用于执行的操作之外的操作均可以由主控单元执行。比如,主控单元用于接收第一中转节点发送的数据处理请求;根据该数据处理请求确定用于执行该数据处理请求所请求的数据处理操作的处理单元;向第二中转节点发送处理结果;向第一中转节点发送数据处理响应;以及,根据统计单元统计的结果调整处理单元的数量。
142.图7为本技术实施例提供的另一种数据处理方法的流程图,该数据处理方法可以用于本技术实施例提供的数据处理系统中的第一中转节点。如图7所示,该数据处理方法可以包括:
143.步骤301、接收目标请求节点发送的数据处理请求,数据处理请求由目标请求节点根据数据处理系统的待处理数据发送,目标请求节点为数据处理系统中至少一个请求节点中的任一请求节点。
144.步骤302、向目标处理节点发送数据处理请求,以便于目标处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的处理结果传输至目标请求节点,目标处理节点为数据处理系统中至少一个处理节点中的任一处理节点。
145.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。其中,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
146.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性
能的灵活调整。
147.可选地,数据传输系统还包括第二中转节点,目标处理节点用于将处理结果发送至第二中转节点。此时,该数据处理方法还包括:第一中转节点接收目标处理节点发送的数据处理请求的数据处理响应,数据处理响应用于指示已得到处理结果;之后,第一中转节点向目标请求节点发送数据处理响应,以便于目标请求节点根据数据处理响应,从第二中转节点上获取处理结果。这种情况下,目标请求节点、第一中转节点和目标处理节点之间的链路上无需传输处理结果,因此减少了该链路的传输负载,降低了该链路的带宽,降低数据处理系统的资源消耗,提升了数据处理系统的吞吐量。
148.本技术实施例中以目标处理节点将处理结果通过第二中转节点传输至目标请求节点为例。可选地,目标处理节点也可以直接将处理结果传输至目标请求节点,此时,第一中转节点无需接收数据处理响应,也无需将数据处理响应发送至目标请求节点。第二中转节点也无需存储上述处理结果。
149.可选地,第一中转节点在接收到数据处理请求后,还可以解析数据处理请求,以得到数据处理请求携带的信息,如数据处理请求对应的脚本的标识等。第一中转节点还可以按照一定的格式将这些信息包装为消息结构体对象(也称request msg),以更新该数据处理请求。后续第一中转节点可以向目标处理节点发送该更新的数据处理请求。这样一来,就使得目标处理节点接收到的所有数据处理请求都采用该消息结构体对象的结构,便于目标处理节点对数据处理请求的解析和处理。
150.在数据处理请求携带有数据处理请求对应的脚本的标识时,便无需在数据处理请求中携带脚本,使得数据处理请求的数据量较低。目标请求节点、第一中转节点和目标处理节点之间链路的传输负载较低,降低该链路的带宽,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
151.可选地,数据处理请求还可以携带有:运行数据处理请求对应的脚本所需的元数据。当然,数据处理请求也可以不携带有该元数据,本技术实施例对此不作限定。
152.可选地,数据处理请求还可以携带有待处理数据。可以理解的是,数据处理请求也可以不携带有该待处理数据,而是携带有待处理数据的标识。这种情况下,目标请求节点还可以将待处理数据传输至第二中转节点,目标处理节点在接收到数据处理请求后,可以根据数据处理请求携带的待处理数据的标识,从第二中转节点获取该待处理数据,进而对该待处理数据进行处理。
153.可选地,在步骤302中,第一中转节点可以在接收到目标请求节点发送的多个数据处理请求时,向目标处理节点发送多个数据处理请求中的(一个或多个)第一数据处理请求;在接收到第一数据处理请求的数据处理响应后,向目标处理节点发送多个数据处理请求中的(一个或多个)第二数据处理请求。可以看出,第一中转节点可以每次向目标处理节点发送一组数据处理请求,在收到目标处理节点发送的该组数据处理请求的数据处理响应后,再向目标处理节点发送下一组数据处理请求。
154.这样一来,就不会出现大量数据处理请求涌入处理节点,导致处理节点故障的情况,起到了对数据处理请求削峰的效果。并且,待发往目标处理节点的多个数据处理请求可以在第一中转节点上缓冲,使得数据处理系统能够对更多的数据进行处理,提升了整个数据处理系统的吞吐量。
155.可选地,第一中转节点中可以维护有多个队列。在接收目标请求节点发送的数据处理请求之后,第一中转节点可以将该数据处理请求加入其中的第一队列,此时第一中转节点在向目标处理节点发送数据处理请求时,可以向目标处理节点发送第一队列中的数据处理请求。在接收目标处理节点发送的数据处理请求的数据处理响应之后,第一中转节点可以将该数据处理响应加入多个队列中的第二队列,此时第一中转节点在向目标请求节点发送数据处理响应时,可以向目标请求节点发送第二队列中的数据处理响应。
156.第一中转节点通过队列来缓存接收到的数据处理请求和数据处理响应,能够保持这些数据处理请求和数据处理响应的有序性。另外,加入队列的数据处理请求和数据处理响应一般在队列未满之前不会被删除,所以可以实现数据处理请求和数据处理响应在第一中转节点上的持久性。
157.可选地,该第一队列和第二队列均可以是通过订阅的方式确定。示例地,目标处理节点可以向第一中转节点发送第一队列的标识,以向第一中转节点订阅第一队列。之后,若第一中转节点接收到需要发往目标处理节点的数据处理请求,便可以将该数据处理请求加入第一队列,进而向目标处理节点发送该第一队列中的数据处理请求。类似地,目标请求节点可以向第一中转节点发送第二队列的标识,以向第一中转节点订阅第二队列。之后,若第一中转节点接收到需要发往目标请求节点的数据处理响应,便可以将该数据处理响应加入第二队列,进而向目标请求节点发送该第二队列中的数据处理响应。
158.第一队列和第二队列的数量可以是一个也可以是多个,本技术实施例对此不作限定。示例地,第一中转节点中可以维护有多组队列,其中包括一组第一队列,以及一组第二队列,每组队列包括至少一个队列。目标处理节点在订阅第一队列时,可以向第一中转节点发送该一组第一队列中各个队列的标识,或者发送该一组第一队列的标识。目标请求节点在订阅第二队列时,可以向第一中转节点发送该一组第二队列中各个队列的标识,或者发送该一组第二队列的标识。其中,一组队列的标识可以称为一个话题(topic)。
159.进一步地,当存在多个第一队列时,目标请求节点还可以指定数据处理请求进入哪个第一队列(比如数据处理请求携带有其需要进入的第一队列的标识)。或者,目标请求节点也可以不指定数据处理请求进入哪个第一队列,而是由第一中转节点确定(如采用随机的方式确定,或者根据各个第一队列的长度确定等)数据处理请求进入的第一队列。类似地,当存在多个第二队列时,目标处理节点还可以指定数据处理响应进入哪个第二队列(比如数据处理响应携带有其需要进入的第二队列的标识)。或者,目标处理节点也可以不指定数据处理响应进入哪个第二队列,而是由第一中转节点确定(如采用随机的方式确定,或者根据各个第二队列的长度确定等)目标处理响应进入的第二队列。
160.在第一中转节点维护有上述多个队列时,该第一中转节点可以是kafka(一种开源流处理平台)节点或nats(一种即发即弃的消息传递系统)节点。在第二中转节点采用缓存的方式存储信息时,第二中转节点可以是远程字典服务(remote dictionary server,redis)节点。
161.图8为本技术实施例提供的另一种数据处理方法的流程图,该数据处理方法可以用于本技术实施例提供的数据处理系统中的目标请求节点。该目标请求节点可以是该数据处理系统中至少一个请求节点中的任一请求节点。
162.步骤401、获取数据处理系统的待处理数据。
163.请求节点可以与数据处理系统之外的设备通信连接,请求节点可以接收数据处理系统之外的设备发送的待处理数据。
164.示例地,该数据处理系统之外的设备可以包括多个物联网设备,多个物联网设备中至少部分物联网设备所采用的数据格式不同,因此,物联网设备需要将其采用的数据发送至数据处理系统进行数据格式的转换。此时,物联网设备便可以将其采用的数据发送给目标请求节点,以使目标请求节点获取到待处理数据,进而通过后续步骤实现对该待处理数据的处理。
165.可以理解的是,该待处理数据也可以不是数据处理系统之外的设备发送的数据,比如,该待处理数据为用户输入目标请求节点的数据,本技术实施例对此不作限定。
166.步骤402、根据待处理数据向第一中转节点发送数据处理请求,以便于第一中转节点向目标处理节点发送数据处理请求,以及目标处理节点执行数据处理请求所请求的数据处理操作,目标处理节点为至少一个处理节点中的任一处理节点。
167.目标处理节点可以根据待处理数据,封装数据处理请求,之后再将该数据处理请求发送给第一中转节点。
168.步骤403、获取来自目标处理节点的数据处理操作的处理结果。
169.数据请求节点在获取到处理结果后,可以将该处理结果传输至其他设备,也可以进一步对该处理结果进行处理等,本技术实施例不对数据请求节点获取到处理结果后的操作进行限定。
170.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。其中,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
171.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
172.可选地,数据传输系统还包括第二中转节点,目标处理节点用于将处理结果发送至第二中转节点,以及向第一中转节点发送数据处理请求的数据处理响应,数据处理响应用于指示已得到处理结果;在步骤403中,目标请求节点可以在接收第一中转节点发送的数据处理响应后,根据该数据处理响应,从第二中转节点上获取处理结果。这种情况下,目标请求节点、第一中转节点和目标处理节点之间的链路上无需传输处理结果,因此减少了该链路的传输负载,降低了该链路的带宽,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
173.本技术实施例中以目标处理节点将处理结果通过第二中转节点传输至目标请求节点为例。可选地,目标处理节点也可以与目标请求节点通信连接,目标请求节点可以直接接收目标处理节点发送的处理结果,本技术实施例对此不做限定。
174.可选地,上述数据处理请求携带有:数据处理请求对应的脚本的标识;数据处理请求对应的脚本为:执行数据处理请求所请求的数据处理操作所需运行的脚本;目标处理节
点可以利用处理节点中已创建的用于运行数据处理请求对应的脚本的处理单元执行该数据处理请求所请求的数据处理操作。可以看出,本技术中的数据处理请求携带脚本标识,这样一来,便无需在数据处理请求中携带脚本,使得数据处理请求的数据量较低,目标请求节点、第一中转节点和目标处理节点之间链路的传输负载较低,降低该链路的带宽,降低数据处理系统的资源消耗,提升数据处理系统的吞吐量。
175.可选地,数据处理请求还可以携带有:运行数据处理请求对应的脚本所需的元数据,处理单元可以根据该元数据运行该数据处理请求对应的脚本。当然,数据处理请求也可以不携带有该元数据,本技术实施例对此不作限定。
176.可选地,数据处理请求还可以携带有待处理数据。可以理解的是,数据处理请求也可以不携带有该待处理数据,而是携带有待处理数据的标识。这种情况下,目标请求节点还可以将待处理数据传输至第二中转节点,目标处理节点在接收到数据处理请求后,可以根据数据处理请求携带的待处理数据的标识,从第二中转节点获取该待处理数据,进而对该待处理数据进行处理。
177.图9为本技术实施例提供的另一种数据处理方法,该数据处理方法可以用于本技术实施例提供的数据处理系统。如图9所示,该数据处理方法可以包括:
178.步骤501、目标请求节点获取数据处理系统的待处理数据。
179.步骤501可以参考图8所示的实施例中的相关解释(如步骤401等),本技术实施例在此不作赘述。
180.目标请求节点获取的待处理数据可以是待转换格式的数据,或者,待处理数据可以是待得到响应数据的请求数据。
181.示例地,待处理数据可以是数据处理系统之外的物联网设备用于发往物联网平台的上行数据,此时,数据处理系统需要将该待处理数据的格式转换为物联网平台采用的格式。
182.又示例地,待处理数据可以是物联网平台用于发往物联网设备的下行数据,此时,数据处理系统需要将该待处理数据的格式转换为物联网设备采用的格式。
183.可选地,在待处理数据与物联网平台相关时,本技术实施例提供的数据处理系统中的至少一个节点可以与物联网平台集成,或者整个数据处理系统独立于物联网平台。其中,物联网平台是一种基于云计算技术的平台,物联网平台能够提供多协议/多种类设备的接入、设备管理、设备监控、统一设备模型(是指将不同模型的设备的数据进行格式统一)、设备影子以及数据处理分析等能力。
184.再示例地,待处理数据为鉴权数据,数据处理系统需要对该鉴权数据进行处理,以得到该鉴权数据的鉴权结果。
185.步骤502、目标请求节点根据获取的待处理数据,向第一中转节点发送数据处理请求。
186.步骤502可以参考图8所示的实施例中的相关解释(如步骤402等),本技术实施例在此不作赘述。
187.目标处理节点可以根据待处理数据,封装数据处理请求,之后再将该数据处理请求发送给第一中转节点。示例地,该数据处理请求(如数据处理请求的负载)可以携带有:待处理数据(msg)、数据处理请求的标识(request id)、数据处理请求对应的脚本的标识
(id)、运行该脚本所需的元数据(metadata)。
188.步骤503、第一中转节点向目标处理节点发送数据处理请求。
189.步骤503可以参考图7所示的实施例中的相关解释(如步骤302等),本技术实施例在此不作赘述。
190.示例地,第一中转节点中维护有多个队列。在步骤503之前,目标处理节点可以向第一中转节点发送订阅请求,该订阅请求携带有该多个队列中一个队列组(包括至少一个第一队列)的标识。第一中转节点在步骤502中接收到目标请求节点发送的数据处理请求后,可以根据该队列组的标识,将该数据处理请求加入该队列组中的一个第一队列。并且,第一中转节点在步骤503中可以向目标处理节点发送该一个队列组中的数据处理请求。
191.第一中转节点在向目标处理节点发送一个第一队列中的数据处理请求时,可以每次向目标处理节点发送该第一队列中的一组数据处理请求,在接收到目标处理节点发送的这一组数据处理请求的数据处理响应后,可以继续向目标处理节点发送该第一队列中的下一组数据处理请求。其中,每组数据处理请求包括连续的至少一个数据处理请求。
192.步骤504、目标处理节点执行数据处理请求所请求的数据处理操作。
193.步骤504可以参考图3所示的实施例中的相关解释(如步骤202等),本技术实施例在此不作赘述。
194.目标处理节点会同时接收到一个或多个数据处理请求。对于目标处理节点接收到的一个数据处理请求,目标处理节点首先会解析该数据处理请求,以确定该数据处理请求携带的待处理数据、数据处理请求的标识、数据处理请求对应的脚本的标识、运行该脚本所需的元数据。之后,目标处理节点需要根据该数据处理请求对应的脚本的标识,确定目标处理节点中用于运行该脚本的处理单元。最后,目标处理节点可以利用该处理单元根据该元数据执行该数据处理请求所请求的数据处理操作。
195.需要说明的是,处理单元是目标处理节点中具有处理功能的一个单元,处理单元可以被目标处理节点创建和销毁。处理单元在执行一个数据处理请求所请求的数据处理操作时,会运行该数据处理请求对应的脚本,构建执行该数据处理操作的环境,进而执行该数据处理操作,以对该数据处理请求中的待处理数据进行处理。
196.目标处理节点中可能已创建有该处理单元,也可能未创建有该处理单元,在目标处理节点中未创建有该处理单元时,目标处理节点可以创建该处理单元。
197.目标处理节点可以在解析得到该脚本的标识,并确定目标处理节点中未创建有该处理单元时,立即创建该处理单元。或者,目标处理节点可以在采用图3所示的实施例中增加处理单元的方案增加处理单元时,创建用于运行该脚本的处理单元,本技术实施例对此不作限定。
198.可选地,当目标处理节点同时接收到多个数据处理请求时,目标处理节点可以利用多个线程并行对数据处理请求进行解析,以及确定用于运行该数据处理请求对应的脚本的处理单元。示例地,如图10所示,假设第一中转节点将第一队列中的数据处理请求1、2、3、4同时发送给目标处理节点。目标处理节点可以利用线程1、2、3、4一一对应地对数据处理请求1、2、3、4进行解析,以及确定用于运行该数据处理请求1、2、3、4对应的脚本的各个处理单元,其中,线程1、2、3、4并行工作。
199.步骤505、目标处理节点向第二中转节点发送处理结果。
200.步骤505可以参考图3所示的实施例中的相关解释,本技术实施例在此不作赘述。
201.目标处理节点在得到一个数据处理请求所请求的数据处理操作的处理结果后,可以将该处理结果发送给第二中转节点。示例地,该处理结果可以携带有处理后的待处理数据以及该数据处理请求的标识,该数据处理请求的标识用于指示该处理结果为该数据处理请求的处理结果。
202.第二中转节点在接收到该处理结果后,可以存储该处理结果,以便于后续目标请求节点读取该处理结果。
203.步骤506、目标处理节点向第一中转节点发送数据处理请求的数据处理响应,数据处理响应用于指示已得到该处理结果。
204.步骤506可以参考图3所示的实施例中的相关解释,本技术实施例在此不作赘述。
205.目标处理节点在得到处理结果后,还可以向第一中转节点发送数据处理响应,该数据处理响应并未携带处理结果(如处理后的待处理数据),且该数据处理响应可以携带有该数据处理请求的标识,以及用于指示已得到处理结果的指示。
206.步骤507、第一中转节点向目标请求节点发送数据处理响应。
207.示例地,第一中转节点中维护有多个队列。在步骤507之前,目标请求节点可以向第一中转节点发送订阅请求,该订阅请求携带有该多个队列中一个队列组(包括至少一个第二队列)的标识。第一中转节点在步骤506中接收到目标处理节点发送的数据处理响应后,可以根据该队列组的标识,将该数据处理响应加入该队列组中的一个第二队列。并且,第一中转节点在步骤507中可以向目标请求节点发送该一个队列组中的数据处理响应。
208.步骤508、目标请求节点根据数据处理响应,从第二中转节点上获取处理结果。
209.目标请求节点在接收到数据处理响应后,可以根据数据处理响应中的数据处理请求的标识,从第二中转节点上获取携带有该数据处理请求的标识的处理结果。
210.示例地,目标请求节点可以根据该数据处理响应向第二中转节点发送读取请求,该读取请求携带有该数据处理请求的标识。第二中转节点在接收到该读取请求后,可以查找携带有该数据处理请求的标识的处理结果,并将该处理结果发送给目标请求节点。
211.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。其中,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
212.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
213.在图9所示的实施例中,目标处理节点还可以对目标处理节点中处理单元的数量进行管理,比如,可以参考图3所示的实施例,根据统计的第一个数、第二个数和辅助个数,增加或减少处理单元的个数。目标处理节点还可以参考图3所示的实施例将脚本在内存和第二中转节点之间移动。
214.需要说明的是,图3、图7、图8和图9所示的四个实施例中的方案可以相互结合,相
似方案的解释和效果可以相互参考,本技术实施例在此不做赘述。
215.根据以上数据传输方法的实施例可知,目标请求节点用于获取数据处理系统的待处理数据,并根据所述待处理数据向第一中转节点发送数据处理请求。
216.第一中转节点用于向目标处理节点发送数据处理请求。
217.目标处理节点用于执行数据处理请求所请求的数据处理操作,并向目标请求节点传输该数据处理操作的处理结果;
218.目标请求节点用于获取来自所述目标处理节点的数据处理操作的处理结果。
219.可选地,所述数据传输系统还包括第二中转节点,目标处理节点用于向所述第二中转节点发送所述处理结果,以及向所述第一中转节点发送所述数据处理请求的数据处理响应。
220.所述第一中转节点还用于向所述目标请求节点发送所述数据处理响应。
221.所述目标请求节点用于根据所述数据处理响应从所述第二中转节点获取所述处理结果,所述数据处理响应用于指示已得到所述处理结果。
222.可选地,所述数据处理请求携带有:所述数据处理请求对应的脚本的标识;所述数据处理请求对应的脚本为:执行所述数据处理请求所请求的数据处理操作所需运行的脚本;
223.目标处理节点用于:
224.利用所述处理节点中已创建的用于运行所述数据处理请求对应的脚本的处理单元执行所述数据处理操作。
225.可选地,所述第一中转节点发送的数据处理请求包括:对应同一脚本的不同数据处理请求;所述不同数据处理请求所请求的数据处理操作由同一所述处理单元执行。
226.可选地,目标处理节点还用于:
227.多次确定最近的第一时间段内接收到的所述数据处理请求的第一个数;
228.在所述第一个数的增长率大于第一概率阈值时,增加所述目标处理节点中的所述处理单元,所述第一概率阈值大于零;
229.在所述第一个数的增长率小于第二概率阈值时,减少所述目标处理节点中的所述处理单元,所述第二概率阈值小于零。
230.可选地,目标处理节点还用于:
231.多次确定最近的第二时间段内接收到的对应同一脚本的所述数据处理请求的第二个数;
232.在所述第二个数的增长率大于第三概率阈值时,增加所述目标处理节点中用于运行所述同一脚本的处理单元,所述第三概率阈值大于零;
233.在所述第二个数的增长率小于第四概率阈值时,减少所述目标处理节点中用于运行所述同一脚本的处理单元,所述第四概率阈值小于零。
234.可选地,所述数据处理系统还包括:第二中转节点,所述目标处理节点用于:
235.在所述处理节点中增加m个处理单元时,执行x次脚本获取操作,以得到所述m个处理单元用于运行的n个脚本;其中,m≥x≥n≥1;一次所述脚本获取操作对应所述n个脚本中的一个脚本,所述脚本获取操作用于:在所述目标处理单元的内存中存储有对应的脚本时,从所述内存中获取所述对应的脚本;在所述内存中未存储有所述对应的脚本时,向所述第
二中转节点发送所述对应的脚本的获取请求,并接收所述第二中转节点根据所述获取请求发送的所述对应的脚本;
236.根据所述n个脚本,创建所述m个处理单元。
237.可选地,m>x=n。
238.可选地,目标处理节点还用于:
239.统计所述内存和所述第二中转节点上存储的各个脚本被运行的频率;
240.当所述第二中转节点中存储的第一脚本被运行的频率大于第一频率阈值时,将所述第一脚本从所述第二中转节点中移动至所述内存;
241.当所述内存中存储的第二脚本被运行的频率大于第二频率阈值且小于或等于所述第一频率阈值时,将所述第二脚本从所述内存中移动至所述第二中转节点。
242.可选地,目标处理节点还用于:在接收到所述第一中转节点发送的多个数据处理请求时,利用多个线程并行根据所述多个数据处理请求,确定所述处理节点中分别用于运行所述多个数据处理请求对应的脚本的处理单元。
243.可选地,第一中转节点用于:
244.在接收到所述目标请求节点发送的多个数据处理请求时,向目标处理节点发送所述多个数据处理请求中的第一数据处理请求;
245.在接收到所述第一数据处理请求的数据处理响应后,向所述目标处理节点发送所述多个数据处理请求中的第二数据处理请求。
246.可选地,第一中转节点用于:在接收目标请求节点发送的数据处理请求之后,将所述数据处理请求加入第一队列,以及向所述目标处理节点发送所述第一队列中的数据处理请求;在接收所述目标处理节点发送的所述数据处理请求的数据处理响应之后,将所述数据处理响应加入第二队列,以及向所述目标请求节点发送所述第二队列中的数据处理响应。
247.图11为本技术实施例提供的一种数据处理装置的结构示意图,所述数据处理装置用于数据处理系统中的目标处理节点,所述数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点,所述目标处理节点为所述至少一个处理节点中的任一处理节点。如图11所示,所述数据处理装置包括:
248.接收模块1001,用于接收所述第一中转节点发送的数据处理请求,所述数据处理请求由目标请求节点根据所述数据处理系统的待处理数据发送给所述第一中转节点,所述目标请求节点为所述至少一个请求节点中的任一请求节点;接收模块1001的功能可以参考图3、图7、图8、图9中与目标处理节点接收数据处理请求相关的内容,本技术实施例在此不做赘述。
249.执行模块1002,用于执行所述数据处理请求所请求的数据处理操作;执行模块1002的功能可以参考图3、图7、图8、图9中与目标处理节点执行数据处理请求相关的内容,本技术实施例在此不做赘述。
250.传输模块1003,用于将所述数据处理操作的处理结果传输至所述目标请求节点。传输模块1003的功能可以参考图3、图7、图8、图9中与目标处理节点向目标请求节点传输数据处理请求相关的内容,本技术实施例在此不做赘述。
251.可选地,所述数据传输系统还包括第二中转节点,所述传输模块1003用于:
252.向所述第二中转节点发送所述处理结果;
253.向所述第一中转节点发送所述数据处理请求的数据处理响应,以便于所述第一中转节点向所述目标请求节点发送所述数据处理响应,以及所述目标请求节点根据所述数据处理响应从所述第二中转节点获取所述处理结果,所述数据处理响应用于指示已得到所述处理结果。
254.可选地,所述数据处理请求携带有:待处理数据,以及所述数据处理请求对应的脚本的标识;所述数据处理请求对应的脚本为:执行所述数据处理请求所请求的数据处理操作所需运行的脚本;所述执行模块1002用于:利用所述处理节点中已创建的用于运行所述数据处理请求对应的脚本的处理单元执行所述数据处理操作。
255.可选地,所述第一中转节点发送的数据处理请求包括:对应同一脚本的不同数据处理请求;所述不同数据处理请求所请求的数据处理操作由同一所述处理单元执行。
256.可选地,如图12所示,在图11的基础上,所述数据处理装置还包括:
257.第一确定模块1004,用于多次确定最近的第一时间段内接收到的所述数据处理请求的第一个数;第一确定模块1004的功能可以参考图3、图7、图8、图9中与目标处理节点确定第一个数相关的内容,本技术实施例在此不做赘述。
258.第一增加模块1005,用于在所述第一个数的增长率大于第一概率阈值时,增加所述目标处理节点中的所述处理单元,所述第一概率阈值大于零;第一增加模块1005的功能可以参考图3、图7、图8、图9中与目标处理节点在第一个数的增长率大于第一概率阈值时增加处理单元相关的内容,本技术实施例在此不做赘述。
259.第一减少模块1006,用于在所述第一个数的增长率小于第二概率阈值时,减少所述目标处理节点中的所述处理单元,所述第二概率阈值小于零。第一减少模块1006的功能可以参考图3、图7、图8、图9中与目标处理节点在第一个数的增长率小于第二概率阈值时增加处理单元相关的内容,本技术实施例在此不做赘述。
260.可选地,如图12所示,所述数据处理装置还包括:
261.第二确定模块1007,用于多次确定最近的第二时间段内接收到的对应同一脚本的所述数据处理请求的第二个数;第二确定模块1007的功能可以参考图3、图7、图8、图9中与目标处理节点确定第二个数相关的内容,本技术实施例在此不做赘述。
262.第二增加模块1008,用于在所述第二个数的增长率大于第三概率阈值时,增加所述目标处理节点中用于运行所述同一脚本的处理单元,所述第三概率阈值大于零;第二增加模块1008的功能可以参考图3、图7、图8、图9中与目标处理节点在第二个数的增长率大于第三概率阈值时增加处理单元相关的内容,本技术实施例在此不做赘述。
263.第二减少模块1009,用于在所述第二个数的增长率小于第四概率阈值时,减少所述目标处理节点中用于运行所述同一脚本的处理单元,所述第四概率阈值小于零。第二减少模块1009的功能可以参考图3、图7、图8、图9中与目标处理节点在第二个数的增长率小于第四概率阈值时增加处理单元相关的内容,本技术实施例在此不做赘述。
264.可选地,所述数据处理系统还包括:第二中转节点,所述目标处理节点用于(如上述第一增加模块或第二增加模块用于):在所述处理节点中增加m个处理单元时,执行x次脚本获取操作,以得到所述m个处理单元用于运行的n个脚本;其中,m≥x≥n≥1;一次所述脚本获取操作对应所述n个脚本中的一个脚本,所述脚本获取操作用于:在所述目标处理单元
的内存中存储有对应的脚本时,从所述内存中获取所述对应的脚本;在所述内存中未存储有所述对应的脚本时,向所述第二中转节点发送所述对应的脚本的获取请求,并接收所述第二中转节点根据所述获取请求发送的所述对应的脚本;根据所述n个脚本,创建所述m个处理单元。
265.可选地,m>x=n。
266.可选地,如图12所示,所述数据处理装置还包括:
267.统计模块1010,用于统计所述内存和所述第二中转节点上存储的各个脚本被运行的频率;统计模块的功能可以参考图3、图7、图8、图9中与目标处理节点统计脚本被运行的频率相关的内容,本技术实施例在此不做赘述。
268.第一移动模块1011,用于当所述第二中转节点中存储的第一脚本被运行的频率大于第一频率阈值时,将所述第一脚本从所述第二中转节点中移动至所述内存;
269.第二移动模块1012,用于当所述内存中存储的第二脚本被运行的频率大于第二频率阈值且小于或等于所述第一频率阈值时,将所述第二脚本从所述内存中移动至所述第二中转节点。
270.第一移动模块和第二移动模块的功能可以参考图3、图7、图8、图9中与目标处理节点在内存和第二中转节点之间移动脚本相关的内容,本技术实施例在此不做赘述。
271.可选地,所述数据处理装置还包括:
272.第三确定模块1013,用于在接收到所述第一中转节点发送的多个数据处理请求时,利用多个线程并行根据所述多个数据处理请求,确定所述处理节点中分别用于运行所述多个数据处理请求对应的脚本的处理单元。第三确定模块的功能可以参考图3、图7、图8、图9中与目标处理节点利用多个线程并行确定处理单元相关的内容,本技术实施例在此不做赘述。
273.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。根据本技术实施例提供的数据处理装置的功能可知,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
274.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
275.图13为本技术实施例提供的另一种数据处理装置的结构示意图,所述数据处理装置用于数据处理系统中的第一中转节点,所述数据处理系统还包括:至少一个请求节点和至少一个处理节点。如图13所示,所述数据处理装置包括:
276.第一接收模块1101,用于接收目标请求节点发送的数据处理请求,所述数据处理请求由目标请求节点根据所述数据处理系统的待处理数据发送,所述目标请求节点为所述至少一个请求节点中的任一请求节点;第一接收模块1101的功能可以参考图3、图7、图8、图9中与第一中转节点接收数据处理请求相关的内容,如步骤301,本技术实施例在此不做赘
述。
277.第一发送模块1102,用于向目标处理节点发送所述数据处理请求,以便于所述目标处理节点执行所述数据处理请求所请求的数据处理操作,并将所述数据处理操作的处理结果传输至所述目标请求节点,所述目标处理节点为所述至少一个处理节点中的任一处理节点。第一发送模块1102的功能可以参考图3、图7、图8、图9中与第一中转节点发送数据处理请求相关的内容,如步骤302,本技术实施例在此不做赘述。
278.可选地,所述数据传输系统还包括第二中转节点,所述目标处理节点用于将所述处理结果发送至所述第二中转节点,如图14所示,在图13的基础上,所述数据处理装置还包括:
279.第二接收模块1103,用于接收所述目标处理节点发送的所述数据处理请求的数据处理响应,所述数据处理响应用于指示已得到所述处理结果;第二接收模块的功能可以参考图3、图7、图8、图9中与第一中转节点接收数据处理响应相关的内容,本技术实施例在此不做赘述。
280.第二发送模块1104,用于向所述目标请求节点发送所述数据处理响应,以便于所述目标请求节点根据所述数据处理响应,从所述第二中转节点上获取所述处理结果。第二发送模块的功能可以参考图3、图7、图8、图9中与第一中转节点发送数据处理响应相关的内容,本技术实施例在此不做赘述。
281.可选地,所述第一发送模块1101用于:
282.在接收到所述目标请求节点发送的多个数据处理请求时,向目标处理节点发送所述多个数据处理请求中的第一数据处理请求;
283.在接收到所述第一数据处理请求的数据处理响应后,向所述目标处理节点发送所述多个数据处理请求中的第二数据处理请求。
284.可选地,如图14所示,所述数据处理装置还包括:
285.第一加入模块1105,用于将所述数据处理请求加入第一队列;第一加入模块的功能可以参考图3、图7、图8、图9中与第一中转节点将数据处理请求加入第一队列相关的内容,本技术实施例在此不做赘述。
286.第二加入模块1106,用于将所述数据处理响应加入第二队列;第二加入模块的功能可以参考图3、图7、图8、图9中与第一中转节点将数据处理响应加入第二队列相关的内容,本技术实施例在此不做赘述。
287.第一发送模块1101用于:向所述目标处理节点发送所述第一队列中的数据处理请求;
288.第二发送模块1104用于:向所述目标请求节点发送所述第二队列中的数据处理响应。
289.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。根据本技术实施例提供的数据处理装置的功能可知,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
290.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
291.图15为本技术实施例提供的另一种数据处理装置的结构示意图,所述数据处理装置用于数据处理系统中的目标请求节点,所述数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点,所述目标请求节点为所述至少一个请求节点中的任一请求节点。如图15所示,所述数据处理装置包括:
292.第一获取模块1201,用于获取所述数据处理系统的待处理数据;第一获取模块1201的功能可以参考图3、图7、图8、图9中与目标请求节点获取待处理数据相关的内容,如步骤401,本技术实施例在此不做赘述。
293.发送模块1202,用于根据所述待处理数据向所述第一中转节点发送数据处理请求,以便于所述第一中转节点向目标处理节点发送所述数据处理请求,以及所述目标处理节点执行所述数据处理请求所请求的数据处理操作,所述目标处理节点为所述至少一个处理节点中的任一处理节点;发送模块1202的功能可以参考图3、图7、图8、图9中与目标请求节点向第一中转节点发送数据处理请求相关的内容,如步骤402,本技术实施例在此不做赘述。
294.第二获取模块1203,用于获取来自所述目标处理节点的所述数据处理操作的处理结果。第二获取模块1203的功能可以参考图3、图7、图8、图9中与目标请求节点向第一中转节点获取处理结果相关的内容,如步骤403,本技术实施例在此不做赘述。
295.可选地,所述数据传输系统还包括第二中转节点,所述目标处理节点用于将所述处理结果发送至所述第二中转节点,以及向所述第一中转节点发送所述数据处理请求的数据处理响应,所述数据处理响应用于指示已得到所述处理结果;
296.所述第二获取模块1203用于:接收所述第一中转节点发送的所述数据处理响应;根据所述数据处理响应,从所述第二中转节点上获取所述处理结果。
297.综上所述,本技术提供的数据处理系统包括:第一中转节点、至少一个请求节点和至少一个处理节点。根据本技术实施例提供的数据处理装置的功能可知,每个请求节点均可以通过第一中转节点向任一处理节点发送数据处理请求,以使处理节点执行数据处理请求所请求的数据处理操作,并将数据处理操作的结果传输至请求节点。可以看出,在本技术提供的数据处理系统的基础上,本技术提供了一种全新的数据处理方式,丰富了数据处理的方式。
298.另外,本技术提供的数据处理系统和数据处理方法,能够将请求节点与处理节点解耦,使得请求节点和处理节点的数量均可以扩展。并且,在请求节点和处理节点中至少一种节点的数量扩展时,数据处理系统的性能会改变,因此,本技术能够支持数据处理系统性能的灵活调整。
299.图16为本技术实施例提供的另一种数据处理装置,如图16所示,该数据处理装置包括:处理器1301和存储器1302,存储器1302中存储有程序,处理器1301用于执行存储器1302中存储的程序,以实现本技术实施例提供的任一种用于数据处理系统中的任一节点(如目标请求节点、第一中转节点、目标处理节点等)的数据处理方法,如图3、图7、图8或图9
所示的数据处理方法中用于该任一节点的方法。
300.本技术实施例还提供了一种非瞬态计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行本技术实施例提供的任一种用于数据处理系统中的任一节点(如目标请求节点、第一中转节点、目标处理节点等)的数据处理方法,如图3、图7、图8或图9所示的数据处理方法中用于该任一节点的方法。
301.本技术实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本技术实施例提供的任一种用于数据处理系统中的任一节点(如目标请求节点、第一中转节点、目标处理节点等)的数据处理方法,如图3、图7、图8或图9所示的数据处理方法中用于该任一节点的方法。
302.需要说明的是,本技术所涉及的数据(包括但不限于用于处理的数据、用于存储的数据等),均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的待处理数据都是在充分授权的情况下获取的。
303.在本公开中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
304.需要说明的是,本技术实施例提供的方法实施例能够与相应的装置实施例相互参考,本技术实施例对此不做限定。本技术实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献