CN113590284A - 一种云平台分布式组件交互任务批处理方法、系统、设备 - Google Patents
一种云平台分布式组件交互任务批处理方法、系统、设备 Download PDFInfo
- Publication number
- CN113590284A CN113590284A CN202110829354.7A CN202110829354A CN113590284A CN 113590284 A CN113590284 A CN 113590284A CN 202110829354 A CN202110829354 A CN 202110829354A CN 113590284 A CN113590284 A CN 113590284A
- Authority
- CN
- China
- Prior art keywords
- queue
- request
- processing
- response
- requests
- 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
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 21
- 238000003672 processing method Methods 0.000 title claims description 14
- 238000012545 processing Methods 0.000 claims abstract description 167
- 230000004044 response Effects 0.000 claims abstract description 128
- 230000000977 initiatory effect Effects 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 239000003999 initiator Substances 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 description 6
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000265 homogenisation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/546—Message passing systems or structures, e.g. queues
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种云平台分布式组件交互任务批处理方法、系统、设备,所述方法包括如下步骤:发起端接收处理请求并将接收到的请求放入第一队列;当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;将取出的请求进行分类合并;将分类合并后的请求发送到响应端进行处理;接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了请求处理吞吐量。将跨组件调用场景中发生在响应端的并发前置,在请求发起端基于队列进行缓冲实现批处理代理,降低了请求响应端的必要响应频率。
Description
技术领域
本发明涉及云平台数据交互技术领域,具体涉及一种云平台分布式组件交互任务批处理方法、系统、设备。
背景技术
云平台是一种典型的分布式系统,主要用于管理计算、网络、存储资源池。各种资源池的维护任务,都有相应的独立组件来支撑,各组件之间通过http(https)协议交互,组件之间保持最低限度的耦合,交互接口的设计遵循Rest规范。
Rest规范理念的基础就是,互联网上的一切事物皆为资源,都可以进行增(以及批量增加)删改(以及批量更新)查,并且将http(https)请求类型(GET/POST/PUT/DELETE)与之一一对应。并且,请求体与响应体都遵循约定的格式。
目前云平台中普遍存在的问题是,许多资源管理任务的处理,涉及跨组件交互但是处理的资源往往是单个的。例如,新建100台单网卡的云主机,那么计算与网络之间就需要连续发起100次接口调用,每次处理1个网卡的创建任务。这样的现状,没有将支持批量创建的Rest接口利用起来以提高任务处理吞吐量,所以就存在以下问题:a.无法处理大并发请求。b.分布式组件的过量频繁调用,徒增压力,增加硬件成本,也增大了控制面板不稳定的风险。
发明内容
针对无法处理大并发请求以及分布式组件的过量频繁调用,徒增压力,增加硬件成本,也增大了控制面板不稳定的风险的问题,本发明提供一种云平台分布式组件交互任务批处理方法、系统、设备。
本发明的技术方案是:
第一方面,本发明技术方案提供一种云平台分布式组件交互任务批处理方法,分布式组件包括发起端和响应端,所述方法包括如下步骤:
发起端接收处理请求并将接收到的请求放入第一队列;
当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;
将取出的请求进行分类合并;
将分类合并后的请求发送到响应端进行处理;
接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。
将跨组件调用场景中发生在响应端的并发前置,在请求发起端基于队列进行缓冲实现批处理代理,降低了请求响应端的必要响应频率,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。
进一步的,所述的当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出的步骤具体包括:
不间断检测第一队列的长度是否达到设定的长度阈值;
若是,将第一队列的请求全部取出;
否则,判断批处理执行的间隔是否当达到设定的批处理周期,若是,执行步骤:将第一队列的请求全部取出;若否,执行步骤:发起端接收处理请求并将接收到的请求放入第一队列。
基于队列机制实现请求、响应的排队。
进一步的,所述的将分类合并后的请求发送到响应端进行处理的步骤具体包括:
在发起端通过处理函数将分类合并后的请求发送到响应端进行处理。
跨组件的多API请求合并批处理代理,将分散的请求进行合并处理,提升API吞吐量,批处理响应之后进行响应体分拆、分发。
进一步的,所述的将取出的请求进行分类合并的步骤中,合并的请求需用户相同。
进一步的,所述的接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列的步骤具体包括:
接收响应端返回的响应体;
对响应体进行分类拆分;
将拆分后的结果放入第二队列,同时,将响应后的请求放入第二队列;
发起端从第二队列中获取对应的资源。
拆分的目的在于,原请求可以根据请求的资源的特征(用户、网络、网卡mac)识别出创建好的对应的资源。
进一步的,发起端包括计算组件,响应端包括网络组件;
所述的在发起端通过处理函数将分类合并后的请求发送到响应端进行处理的步骤包括:
计算组件通过处理函数将合并之后的请求发送到网络组件的API服务进行处理;
网络组件将处理后的响应体返回计算组件。
第二方面,本发明技术方案还提供一种云平台分布式组件交互任务批处理系统,包括发起端和响应端,发起端设置有批处理函数模组;
所述的批处理函数模块包括接收模块、判断处理模块、处理函数模块、第一队列和第二队列;响应端包括请求处理模块;
接收模块,用于接收处理请求并将接收到的请求放入第一队列;
判断处理模块,用于当达到设定的批处理周期或判断第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;并将取出的请求进行分类合并;
处理函数模块,用于将分类合并后的请求发送到响应端;
请求处理模块,用于接收请求并对接收到的请求进行处理并返回响应体到判断处理模块;
判断处理模块,用于接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列;
第一队列,用于保存待处理的请求;
第二队列,用于保存判断处理模块的处理结果以及处理后的请求。
将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。
将跨组件调用场景中发生在响应端的并发前置,在请求发起端基于队列进行缓冲实现批处理代理,降低了请求响应端的必要响应频率,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。
进一步的,判断处理模块包括长度检测单元、时间判断单元、取出单元;
长度检测单元,用于不间断检测第一队列的长度是否达到设定的长度阈值;
取出单元,用于当长度检测单元检测第一队列的长度达到设定的长度阈值时或时间判断单元判断批处理执行的间隔达到设定的批处理周期时,将第一队列的请求全部取出;
时间判断单元,用于判断批处理执行的间隔是否当达到设定的批处理周期。
进一步的,判断处理模块还包括分类合并单元、分类拆分单元;
分类合并单元,用于将取出单元取出的请求进行分类合并;
分类拆分单元,用于接收请求处理模块返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
进一步的,分类合并单元,具体用于将取出单元取出的请求中用户相同的请求进行合并。
进一步的,发起端为计算组件,响应端为网络组件;
计算组件通过处理函数模块将合并之后的请求发送到网络组件的API服务进行处理;
网络组件的请求处理模块,用于将处理后的响应体返回计算组件;
计算组件的计算服务从第二队列中获取到对应的资源。
第三方面,本发明技术方案还提供一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的云平台分布式组件交互任务批处理方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述云平台分布式组件交互任务批处理方法。
从以上技术方案可以看出,本发明具有以下优点:跨组件的多API请求合并批处理,将分散的请求进行合并处理,提升API吞吐量。批处理响应之后进行响应体分拆、分发。基于队列机制实现请求、响应的排队。
本发明将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。将跨组件调用场景中发生在响应端的并发前置,在请求发起端(基于队列进行缓冲)实现批处理代理,降低了请求响应端的必要响应频率,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明另一个实施例的方法的流程图。
图3是本发明一个实施例的批处理代理实现原理。
图4为本发明实施例中请求合并前示例。
图5为本发明实施例中请求合并后示例。
图6为本发明实施例中响应体示例。
图7为本发明实施例中响应体拆分示例。
图8为本发明实施例提供的系统示意框图。
图中,10-发起端,101-接收模块,102第一队列,103-判断处理模块,104-处理函数模块,105-第二队列,20-响应端,201-请求处理模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明一个实施例提供一种云平台分布式组件交互任务批处理方法,分布式组件包括发起端和响应端,所述方法包括如下步骤:
步骤11:发起端接收处理请求并将接收到的请求放入第一队列;
步骤12:当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;
步骤13:将取出的请求进行分类合并;
步骤14:将分类合并后的请求发送到响应端进行处理;
步骤15:接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。
将跨组件调用场景中发生在响应端的并发前置,在请求发起端基于队列进行缓冲实现批处理代理,降低了请求响应端的必要响应频率,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。
如图2所示,本发明另一个实施例提供一种云平台分布式组件交互任务批处理方法,分布式组件包括发起端和响应端,所述方法包括如下步骤:
步骤21:发起端接收处理请求并将接收到的请求放入第一队列;
步骤22:不间断检测第一队列的长度是否达到设定的长度阈值;若是,执行步骤24,否则,执行步骤23;
步骤23:判断批处理执行的间隔是否当达到设定的批处理周期;若是,执行步骤24,否则执行步骤21;
步骤24:将第一队列的请求全部取出;
步骤26:将取出的请求进行分类合并;
步骤27:将分类合并后的请求发送到响应端进行处理;
步骤28:接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
基于队列机制实现请求、响应的排队。
需要说明的是,所述的将分类合并后的请求发送到响应端进行处理的步骤具体包括:
在发起端通过处理函数将分类合并后的请求发送到响应端进行处理。
跨组件的多API请求合并批处理代理,将分散的请求进行合并处理,提升API吞吐量,批处理响应之后进行响应体分拆、分发。
为了方便处理以及后期的拆分方便,在将取出的请求进行分类合并的步骤中,合并的请求需用户相同。
步骤28中,所述的接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列的步骤具体包括:
步骤281:接收响应端返回的响应体;
步骤282:对响应体进行分类拆分;
步骤283:将拆分后的结果放入第二队列,同时,将响应后的请求放入第二队列;
步骤284:发起端从第二队列中获取对应的资源。
拆分的目的在于,原请求可以根据请求的资源的特征(用户、网络、网卡mac)识别出创建好的对应的资源。
另外,发起端包括计算组件,响应端包括网络组件;
所述的在发起端通过处理函数将分类合并后的请求发送到响应端进行处理的步骤包括:
计算组件通过处理函数将合并之后的请求发送到网络组件的API服务进行处理;
网络组件将处理后的响应体返回计算组件。
本发明的具体实施过程如下:
1)基于装饰器(编程语言中的一种概念,Python语言中有装饰器或Java语言中有注解,旨在通过一种不修改原类、函数定义的方式改变其对应运作行为)机制,实现将跨组件API调用的发起端函数进行包装,替换为新的批处理函数。
对于计算组件而言,批处理组件中的批处理函数与原函数同名,批处理组件的批处理机制主要依赖两个队列(一个是待处理请求队列,如图3中的第一队列,一个是已处理请求队列,如图3中的第二队列)、一个loop任务、以及原C函数。
第一队列的作用:在接纳单个请求时,并不会直接调用原C函数,而是将请求放到第一队列中(如图3的step1和step2),进行排队等候。
loop任务的作用:它是一个while循环,不断确认第一队列是否达到预定长度或者达到了批处理周期,如果是,则把第一队列中的请求全部取出(如图3的step3),经过分类合并,并调用原C函数进行处理。
例如,仍以云平台创建虚拟机时,计算服务请求网络服务创建网卡为例,可以合并的请求需要是用户相同的。
C函数的作用:保持原来的功能不变。在示例场景中即为发起创建网卡请求(如图3的step4和step5)。
第二队列的作用:用于保存loop任务的处理结果(如图3的step6),同时供原来进入C2请求等候执行结果(如图3的step7和step8)。
2)当多个请求到来时,请求被放入第一队列;
3)loop任务作为while循环,不间断检测队列是否达到一定长度或者当前时间距离上次批处理执行的间隔大于预设时间,也就是批处理周期,如果是,则取出第一队列的全部请求,请求合并前如图4所示,分类(如图5示例)归组。如果在极端的场景,例如在大规模测试中执行并发测试(或者电商类厂商业务高峰期业务扩容),使用特定网络新建1000台云主机,那么在此时(请求同质化严重的场景),分类归组合并请求的效果是最好的,即原来需要连发1000请求,此时只需要1个请求即可。
如图4所示,合并前,用户1和用户2的多个请求,例如:
http请求头(用户1)http请求体-基于net1分配mac1的网卡;
http请求头(用户1)http请求体-基于net1分配mac2的网卡;
http请求头(用户1)http请求体-基于net2分配mac3的网卡;
http请求头(用户2)http请求体-基于net1分配mac4的网卡;
http请求头(用户2)http请求体-基于net1分配mac5的网卡;
合并后如图5所示:
http请求头(用户1)http请求体-网卡1(net1/mac1),网卡2(net1/mac2),网卡3(net2/mac3);
http请求头(用户2)http请求体-网卡4(net1/mac4),网卡5(net1/mac5)。
4)合并之后的请求被计算组件通过C函数发送到网络服务的API服务进行处理。
5)loop任务将步骤4)处理请求得到的响应体,执行拆分操作,见如6和图7,与图4、图5刚好相反。拆分的目的在于,原请求可以根据请求的资源的特征(用户、网络、网卡mac)识别出创建好的对应的资源。
响应体示例如图6所示:
http响应头(用户1)http响应体-网卡1(net1/mac1),网卡2(net1/mac2),网卡3(net2/mac3);
响应体拆分如图7所示:
http响应头(用户1)http响应体-基于net1分配mac1的网卡;
http响应头(用户1)http响应体-基于net1分配mac2的网卡;
http响应头(用户1)http响应体-基于net2分配mac3的网卡。
6)计算服务从维护的第二队列中获取到对应的网卡资源。
本发明将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。将跨组件调用场景中发生在响应端的并发前置,在请求发起端(基于队列进行缓冲)实现批处理代理,降低了请求响应端的必要响应频率,避免Race Condition,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。该方案实现的基础是装饰器机制、Rest规范,因为二者的通用性,因此该方案在确定API服务端支持资源批处理的情况下,建构与二者之上的该方法也是具有通用性。
如图8所示,本发明技术方案还提供一种云平台分布式组件交互任务批处理系统,包括发起端10和响应端20,发起端10设置有批处理函数模组;
所述的批处理函数模块包括接收模块101、判断处理模块103、处理函数模块104、第一队列102和第二队列105;响应端20包括请求处理模块201;;
接收模块101,用于接收处理请求并将接收到的请求放入第一队列102;
判断处理模块103,用于当达到设定的批处理周期或判断第一队列102的长度达到设定的长度阈值时,将第一队列102的请求全部取出;并将取出的请求进行分类合并;
处理函数模块104,用于将分类合并后的请求发送到响应端20;
请求处理模块201,用于接收请求并对接收到的请求进行处理并返回响应体到判断处理模块103;
判断处理模块103,还用于接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列105;
第一队列102,用于保存待处理的请求;
第二队列105,用于保存判断处理模块的处理结果以及处理后的请求。
将云平台中跨组件调用发生的类似请求进行大量合并,在不用扩容硬件增加成本的前提下提高了API请求处理吞吐量。
将跨组件调用场景中发生在响应端的并发前置,在请求发起端基于队列进行缓冲实现批处理代理,降低了请求响应端的必要响应频率,避免因为响应端异常导致请求发起端所在组件因为异常阻塞主业务流程以及反复失败重试。
在有些实施例中,判断处理模块103包括长度检测单元、时间判断单元、取出单元、分类合并单元、分类拆分单元;
长度检测单元,用于不间断检测第一队列的长度是否达到设定的长度阈值;
取出单元,用于当长度检测单元检测第一队列的长度达到设定的长度阈值时或时间判断单元判断批处理执行的间隔达到设定的批处理周期时,将第一队列的请求全部取出;
时间判断单元,用于判断批处理执行的间隔是否当达到设定的批处理周期;
分类合并单元,用于将取出单元取出的请求进行分类合并;
分类拆分单元,用于接收请求处理模块返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
需要说明的是,分类合并单元,具体用于将取出单元取出的请求中用户相同的请求进行合并。
在有些实施例中,发起端为计算组件,响应端为网络组件;
计算组件通过处理函数模块将合并之后的请求发送到网络组件的API服务进行处理;
网络组件的请求处理模块,用于将处理后的响应体返回计算组件;
计算组件的计算服务从第二队列中获取到对应的资源。
例如,仍以云平台创建虚拟机时,计算服务请求网络服务创建网卡为例,可以合并的请求需要是用户相同的。在这里,处理函数模块为C函数;判断处理模块为loop任务;请求处理模块为网络服务的API服务;
C函数的作用:保持原来的功能不变。在示例场景中即为发起创建网卡请求。
第二队列的作用:用于保存loop任务的处理结果,同时供原来进入批处理组件请求等候执行结果。
2)当多个请求到来时,请求被放入第一队列;
3)loop任务作为while循环,不间断检测队列是否达到一定长度或者当前时间距离上次批处理执行的间隔大于预设时间,也就是批处理周期,如果是,则取出第一队列的全部请求,分类归组。如果在极端的场景,例如在大规模测试中执行并发测试(或者电商类厂商业务高峰期业务扩容),使用特定网络新建1000台云主机,那么在此时(请求同质化严重的场景),分类归组合并请求的效果是最好的,即原来需要连发1000请求,此时只需要1个请求即可。
4)合并之后的请求被计算组件通过C函数发送到网络服务的API服务进行处理。
5)loop任务将步骤4)处理请求得到的响应体,执行拆分操作,拆分的目的在于,原请求可以根据请求的资源的特征(用户、网络、网卡mac)识别出创建好的对应的资源。
6)计算服务从维护的第二队列中获取到对应的网卡资源。
本发明实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行上述各方法实施例所提供的方法,例如包括:步骤21:发起端接收处理请求并将接收到的请求放入第一队列;步骤22:不间断检测第一队列的长度是否达到设定的长度阈值;若是,执行步骤24,否则,执行步骤23;步骤23:判断批处理执行的间隔是否当达到设定的批处理周期;若是,执行步骤24,否则执行步骤21;步骤24:将第一队列的请求全部取出;步骤26:将取出的请求进行分类合并;步骤27:将分类合并后的请求发送到响应端进行处理;步骤28:接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:步骤21:发起端接收处理请求并将接收到的请求放入第一队列;步骤22:不间断检测第一队列的长度是否达到设定的长度阈值;若是,执行步骤24,否则,执行步骤23;步骤23:判断批处理执行的间隔是否当达到设定的批处理周期;若是,执行步骤24,否则执行步骤21;步骤24:将第一队列的请求全部取出;步骤26:将取出的请求进行分类合并;步骤27:将分类合并后的请求发送到响应端进行处理;步骤28:接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种云平台分布式组件交互任务批处理方法,其特征在于,分布式组件包括发起端和响应端,所述方法包括如下步骤:
发起端接收处理请求并将接收到的请求放入第一队列;
当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;
将取出的请求进行分类合并;
将分类合并后的请求发送到响应端进行处理;
接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
2.根据权利要求1所述的云平台分布式组件交互任务批处理方法,其特征在于,所述的当达到设定的批处理周期或第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出的步骤具体包括:
不间断检测第一队列的长度是否达到设定的长度阈值;
若是,将第一队列的请求全部取出;
否则,判断批处理执行的间隔是否当达到设定的批处理周期,若是,执行步骤:将第一队列的请求全部取出;若否,执行步骤:发起端接收处理请求并将接收到的请求放入第一队列。
3.根据权利要求2所述的云平台分布式组件交互任务批处理方法,其特征在于,所述的将分类合并后的请求发送到响应端进行处理的步骤具体包括:
在发起端通过处理函数将分类合并后的请求发送到响应端进行处理。
4.根据权利要求3所述的云平台分布式组件交互任务批处理方法,其特征在于,所述的将取出的请求进行分类合并的步骤中,合并的请求需用户相同。
5.根据权利要求4所述的云平台分布式组件交互任务批处理方法,其特征在于,所述的接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列的步骤具体包括:
接收响应端返回的响应体;
对响应体进行分类拆分;
将拆分后的结果放入第二队列,同时,将响应后的请求放入第二队列;
发起端从第二队列中获取对应的资源。
6.根据权利要求2所述的云平台分布式组件交互任务批处理方法,其特征在于,发起端包括计算组件,响应端包括网络组件;
所述的在发起端通过处理函数将分类合并后的请求发送到响应端进行处理的步骤包括:
计算组件通过处理函数将合并之后的请求发送到网络组件的API服务进行处理;
网络组件将处理后的响应体返回计算组件。
7.一种云平台分布式组件交互任务批处理系统,其特征在于,包括发起端和响应端,发起端设置有批处理函数模组;
所述的批处理函数模块包括接收模块、判断处理模块、处理函数模块、第一队列和第二队列;响应端包括请求处理模块;
接收模块,用于接收处理请求并将接收到的请求放入第一队列;
判断处理模块,用于当达到设定的批处理周期或判断第一队列的长度达到设定的长度阈值时,将第一队列的请求全部取出;并将取出的请求进行分类合并;
处理函数模块,用于将分类合并后的请求发送到响应端;
请求处理模块,用于接收请求并对接收到的请求进行处理并返回响应体到判断处理模块;
判断处理模块,用于接收响应端返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列;
第一队列,用于保存待处理的请求;
第二队列,用于保存判断处理模块的处理结果以及处理后的请求。
8.根据权利要求7所述的云平台分布式组件交互任务批处理系统,其特征在于,判断处理模块包括长度检测单元、时间判断单元、取出单元;
长度检测单元,用于不间断检测第一队列的长度是否达到设定的长度阈值;
取出单元,用于当长度检测单元检测第一队列的长度达到设定的长度阈值时或时间判断单元判断批处理执行的间隔达到设定的批处理周期时,将第一队列的请求全部取出;
时间判断单元,用于判断批处理执行的间隔是否当达到设定的批处理周期。
9.根据权利要求8所述的云平台分布式组件交互任务批处理系统,其特征在于,判断处理模块还包括分类合并单元、分类拆分单元;
分类合并单元,用于将取出单元取出的请求进行分类合并;
分类拆分单元,用于接收请求处理模块返回的响应体,并对响应体进行分类拆分,并将结果放入第二队列。
10.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一项权利要求所述的云平台分布式组件交互任务批处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110829354.7A CN113590284A (zh) | 2021-07-22 | 2021-07-22 | 一种云平台分布式组件交互任务批处理方法、系统、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110829354.7A CN113590284A (zh) | 2021-07-22 | 2021-07-22 | 一种云平台分布式组件交互任务批处理方法、系统、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113590284A true CN113590284A (zh) | 2021-11-02 |
Family
ID=78248738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110829354.7A Pending CN113590284A (zh) | 2021-07-22 | 2021-07-22 | 一种云平台分布式组件交互任务批处理方法、系统、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590284A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048418A (zh) * | 2022-08-12 | 2022-09-13 | 深圳市必凡娱乐科技有限公司 | 一种数据处理方法及系统 |
-
2021
- 2021-07-22 CN CN202110829354.7A patent/CN113590284A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048418A (zh) * | 2022-08-12 | 2022-09-13 | 深圳市必凡娱乐科技有限公司 | 一种数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411825B2 (en) | In intelligent autoscale of services | |
US9015227B2 (en) | Distributed data processing system | |
CN108897854B (zh) | 一种超时任务的监控方法和装置 | |
US11249826B2 (en) | Link optimization for callout request messages | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
CN113014608B (zh) | 一种流量分发控制方法、装置、电子设备及存储介质 | |
CN114697391B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN113590284A (zh) | 一种云平台分布式组件交互任务批处理方法、系统、设备 | |
CN107342929B (zh) | 一种新消息通知的发送方法、装置及系统 | |
CN108429703B (zh) | Dhcp客户端上线方法及装置 | |
US10270815B1 (en) | Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network | |
CN116095005A (zh) | 流量管理方法、装置、设备、介质和程序产品 | |
CN112491066B (zh) | 负载均衡方法、装置、系统、目标负载均衡设备及介质 | |
CN115567602A (zh) | Cdn节点回源方法、设备及计算机可读存储介质 | |
CN114390104A (zh) | 过程取证系统、方法、装置、计算机设备及介质 | |
US10623523B2 (en) | Distributed communication and task handling to facilitate operations of application system | |
CN114793234B (zh) | 消息处理方法、装置、设备和存储介质 | |
CN115037803B (zh) | 一种服务调用方法、电子设备及存储介质 | |
CN116996481B (zh) | 直播数据获取方法、装置、电子设备和存储介质 | |
CN113242307B (zh) | 服务请求处理方法、装置、服务器及存储介质 | |
CN110049071A (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 |