流程引擎的并发测试方法、装置、存储介质及设备与流程

文档序号:14609319发布日期:2018-06-05 20:29阅读:215来源:国知局
流程引擎的并发测试方法、装置、存储介质及设备与流程

本公开涉及电子技术领域,具体地,涉及一种流程引擎的并发测试方法、装置、存储介质及设备。



背景技术:

流程引擎是一个复杂的任务处理及状态机,涉及各类复杂的流程处理操作以及流程处理逻辑,通常大量处理逻辑在高并发的情况下,很容易造成流程引擎的堵塞,进而出现非正常运作。因此,现有技术中,对流程引擎的测试方法会采用不断加大并发量,尽量增加出现并发的几率的方式,尽可能的模拟高并发的流程处理情形,但是由于并发加压机器发送的处理逻辑经过网络传输过程以及流程引擎的内部的流转过程,会由于网络连接不畅以及引擎内部的各种阻断,会导致很多逻辑通路无法被模拟,也就存在无法模拟真实的高并发流程请求的问题,无法通过并发测试对流程引擎进行完善。



技术实现要素:

本公开的目的是提供一种流程引擎的并发测试方法、装置、存储介质及设备,能够克服高并发的流程请求无法模拟的问题。

为了实现上述目的,本公开提供一种流程引擎的并发测试方法,所述方法包括:

在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,所述当前的分配策略是预先确定的分配策略集合中的任一分配策略;

每当有所述n个请求中的任一请求执行至所述任一请求对应的逻辑步骤时,将所述任一请求缓存在所述任一请求对应的逻辑步骤的缓存池中;

在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤,得到所述当前的分配策略对应的并发测试结果;

在将所述分配策略集合中的下一分配策略作为所述当前的分配策略后,再次触发并发的n个请求,并重复执行所述根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤至所述在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤的步骤,直至得到所述预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。

可选的,所述根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,包括:

当接收到所述n个请求中的第i请求时,根据所述当前的分配策略确定所述第i请求对应的逻辑步骤,所述第i请求对应的逻辑步骤为所述第一处理逻辑中的任一逻辑步骤,i小于或等于n;

为所述第i请求标记步骤标识,所述步骤标识用于指示所述第i请求对应的逻辑步骤;

当再次接收到n个请求中的任一请求时,令i=i+1,并重复执行所述当接收到所述n个请求中的第i请求时,根据所述当前的分配策略确定所述第i请求对应的逻辑步骤至为所述第i请求标记步骤标识,所述步骤标识用于指示所述第i请求对应的逻辑步骤,直至所述n个请求均已确定对应的逻辑步骤。

可选的,所述每当有所述n个请求中的任一请求执行至所述任一请求对应的逻辑步骤时,将所述任一请求缓存在所述任一请求对应的逻辑步骤的缓存池中,包括:

当所述n个请求中的第一请求执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个逻辑步骤是否为所述第一请求对应的逻辑步骤;

当所述第i个逻辑步骤是所述第一请求对应的逻辑步骤时,拦截所述第一请求,并将所述第一请求缓存在所述第i个逻辑步骤的缓冲池中;

当所述第i个逻辑步骤不是所述第一请求对应的逻辑步骤时,根据所述第一请求执行所述第i个逻辑步骤,并令i=i+1,再次执行当第一请求时执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个逻辑步骤是否为所述第一请求对应的逻辑步骤的步骤,直至所述第一请求被缓存在对应的逻辑步骤的缓冲池中。

可选的,所述当所述n个请求中的第一请求执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个逻辑步骤是否为所述第一请求对应的逻辑步骤,包括:

当所述n个请求中的第一请求执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个步骤与所述第一请求的步骤标识是否匹配;

当所述第i个步骤与所述第一请求的步骤标识匹配时,确定所述第i个逻辑步骤是所述第一请求对应的逻辑步骤;

当所述第i个步骤与所述第一请求的步骤标识不匹配时,确定所述第i个逻辑步骤不是所述第一请求对应的逻辑步骤。

可选的,在所述n个请求发出之前,所述方法还包括:

根据所述n个请求和所述第一处理逻辑中包含的k个逻辑步骤,利用枚举法确定所述n个请求分配给所述k个逻辑步骤的所有分配策略,并将所述所有分配策略作为所述预先确定的分配策略集合。

根据本公开实施例的第二方面,提供一种流程引擎的并发测试装置,所述装置包括:

步骤确定模块,用于在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,所述当前的分配策略是预先确定的分配策略集合中的任一分配策略;

请求缓存模块,用于每当有所述n个请求中的任一请求执行至所述任一请求对应的逻辑步骤时,将所述任一请求缓存在所述任一请求对应的逻辑步骤的缓存池中;

执行模块,用于在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤,得到所述当前的分配策略对应的并发测试结果;

重复执行模块,用于在将所述分配策略集合中的下一分配策略作为所述当前的分配策略后,再次触发并发的n个请求,并重复执行所述根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤至所述在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤的步骤,直至得到所述预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。

可选的,所述步骤确定模块,包括:

逻辑步骤确定子模块,用于当接收到所述n个请求中的第i请求时,根据所述当前的分配策略确定所述第i请求对应的逻辑步骤,所述第i请求对应的逻辑步骤为所述第一处理逻辑中的任一逻辑步骤,i小于或等于n;

标识子模块,用于为所述第i请求标记步骤标识,所述步骤标识用于指示所述第i请求对应的逻辑步骤;

重复执行子模块,用于当再次接收到n个请求中的任一请求时,令i=i+1,并重复执行所述当接收到所述n个请求中的第i请求时,根据所述当前的分配策略确定所述第i请求对应的逻辑步骤至为所述第i请求标记步骤标识,所述步骤标识用于指示所述第i请求对应的逻辑步骤,直至所述n个请求均已确定对应的逻辑步骤。

可选的,所述请求缓存模块,包括:

步骤识别子模块,用于当所述n个请求中的第一请求执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个逻辑步骤是否为所述第一请求对应的逻辑步骤;

请求缓存子模块,用于当所述第i个逻辑步骤是所述第一请求对应的逻辑步骤时,拦截所述第一请求,并将所述第一请求缓存在所述第i个逻辑步骤的缓冲池中;

重复执行子模块,用于当所述第i个逻辑步骤不是所述第一请求对应的逻辑步骤时,根据所述第一请求执行所述第i个逻辑步骤,并令i=i+1,再次执行当第一请求时执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个逻辑步骤是否为所述第一请求对应的逻辑步骤的步骤,直至所述第一请求被缓存在对应的逻辑步骤的缓冲池中。

可选的,所述步骤识别子模块,用于:

当所述n个请求中的第一请求执行至所述第一处理逻辑的中的第i个逻辑步骤时,确定所述第i个步骤与所述第一请求的步骤标识是否匹配;

当所述第i个步骤与所述第一请求的步骤标识匹配时,确定所述第i个逻辑步骤是所述第一请求对应的逻辑步骤;

当所述第i个步骤与所述第一请求的步骤标识不匹配时,确定所述第i个逻辑步骤不是所述第一请求对应的逻辑步骤。

可选的,所述装置还包括:

分配策略确定模块,用于在所述n个请求发出之前,根据所述n个请求和所述第一处理逻辑中包含的k个逻辑步骤,利用枚举法确定所述n个请求分配给所述k个逻辑步骤的所有分配策略,并将所述所有分配策略作为所述预先确定的分配策略集合。

本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述方法的步骤。

本公开实施例的第四方面,提供一种电子设备,包括:

第三方面所述的计算机可读存储介质;以及

一个或者多个处理器,用于执行所述计算机可读存储介质中的计算机程序。

本公开提供的流程引擎的并发测试方法、装置、存储介质及设备,通过在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,所述当前的分配策略是预先确定的分配策略集合中的任一分配策略;每当有所述n个请求中的任一请求执行至所述任一请求对应的逻辑步骤时,将所述任一请求缓存在所述任一请求对应的逻辑步骤的缓存池中;在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤,得到所述当前的分配策略对应的并发测试结果;在将所述分配策略集合中的下一分配策略作为所述当前的分配策略后,再次触发并发的n个请求,并重复执行所述根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤至所述在所述n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据所述m个逻辑步骤的缓冲池中的所述n个请求执行所述m个逻辑步骤的步骤,直至得到所述预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。因此,本公开通过将并发的n个请求拦截并缓存在对应的逻辑步骤的缓冲池中,待n个请求都到达其对应步骤时,再对这n个请求执行相应的逻辑步骤,能够避免由于网络传输问题导致的不能模拟真实的高并发流程请求的问题,从而能够实现对高并发流程请求的实际情况的模拟,从而发现实际可能出现的问题,对流程引擎进行优化。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种流程引擎的并发测试方法的流程图;

图2是根据一示例性实施例示出的另一种流程引擎的并发测试方法的流程图;

图3是根据一示例性实施例示出的又一种流程引擎的并发测试方法的流程图;

图4是根据一示例性实施例示出的又一种流程引擎的并发测试方法的流程图;

图5是根据一示例性实施例示出的一种流程引擎的并发测试装置的框图;

图6是根据一示例性实施例示出的一种步骤确定模块的框图;

图7是根据一示例性实施例示出的一种请求缓存模块的框图;

图8是根据一示例性实施例示出的另一种流程引擎的并发测试装置的框图;

图9是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性实施例示出的一种流程引擎的并发测试方法的流程图,如图1所示,包括以下步骤:

步骤101,在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤。

示例地,流程引擎中的任一处理逻辑都可以包含有多个步骤,每个不同的处理逻辑所包含的多个步骤也可以不相同,因此在进行流程引擎的测试之前,首先需要对进行测试的第一处理逻辑进行逻辑以及所包含子步骤的分析,确定其中包含的每个子步骤以及各个子步骤之间的执行顺序关系。在本实施例中,这n个请求均是对第一处理逻辑的请求发出的并发请求(即同时发出的n个请求),也就是通过并发的n个请求对第一处理逻辑进行并发测试。在n的取值上,应选择较大的值,例如1000,从而实现对实际的高并发情形的模拟。

其中,当前的分配策略是预先确定的分配策略集合中的任一分配策略。也就是说,预先确定的分配策略集合中包括多个分配策略。在进行一次测试时,选取分配策略集合中的任一个分配策略对n个请求进行分配,即,将这n个请求分别分配至第一处理逻辑中所包含的逻辑步骤上,当这n个请求执行到对应的逻辑步骤时,将会被缓冲在对应的缓冲池中,相当于是将n个请求在执行到各自对应的逻辑步骤时被拦截下来暂停执行,缓存在缓冲池中,也就是执行步骤102的操作。

步骤102,每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中。

示例地,当n的取值为1000,第一处理逻辑所对应的逻辑步骤个数为4个,而步骤101所选取的当前的分配策略为每个逻辑步骤分配250个请求时,这1000个请求,将在执行到对应的逻辑步骤时被分别缓存至逻辑步骤对应的缓冲池中,也就是说,最终将在每个逻辑步骤的缓冲池中缓冲250个请求。

步骤103,在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行所述m个逻辑步骤,得到当前的分配策略对应的并发测试结果。

示例地,当上述1000个请求均被缓存至对应的缓冲池中之后,用于拦截这1000个请求的引擎拦截器将发送消息给引擎请求处理器,用以说明1000个请求已完成缓存,可以进行并发执行的测试。当引擎请求处理器收到上述消息后,将并发执行缓存在4个逻辑步骤中的1000个请求。

需要说明的是,该引擎请求拦截器是专门为流程引擎测试时开设的,在正常引擎逻辑下,该引擎请求拦截器是被关闭的。

步骤104,在将分配策略集合中的下一分配策略作为当前的分配策略后,再次触发并发的n个请求,并重复执行步骤101-步骤103的操作,直至得到预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。

示例地,对n个请求的多个分配策略需要逐一完成,因此重复进行上述请求缓存以及请求并发的操作,以便获取所有分配策略下的并发测试结果,从而根据所有分配策略的并发测试结果,确定可能会导致流程引擎出现问题的情况,进而针对该问题对流程引擎进行优化。

综上所述,本公开提供的流程引擎的并发测试方法,通过在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中;在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行m个逻辑步骤,得到当前的分配策略对应的并发测试结果;在将分配策略集合中的下一分配策略作为当前的分配策略后,再次触发并发的n个请求,并重复执行直至得到预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。因此,通过将并发的n个请求拦截并缓存在对应的逻辑步骤的缓冲池中,待n个请求都到达其对应步骤时,再对这n个请求执行相应的逻辑步骤,能够避免由于网络传输问题导致的不能模拟真实的高并发流程请求的问题,从而能够实现对高并发流程请求的实际情况的模拟,从而发现实际可能出现的问题,对流程引擎进行优化。

图2是根据一示例性实施例示出的另一种流程引擎的并发测试方法的流程图,如图2所示,步骤101所述的根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,包括以下步骤:

步骤1011,当接收到n个请求中的第i请求时,根据当前的分配策略确定第i请求对应的逻辑步骤。

其中,第i请求对应的逻辑步骤为第一处理逻辑中的任一逻辑步骤,i小于或等于n。

步骤1012,为第i请求标记步骤标识。

其中,步骤标识用于指示第i请求对应的逻辑步骤。

步骤1013,当再次接收到n个请求中的任一请求时,令i=i+1,并重复执行步骤1011-步骤1012的操作,直至n个请求均已确定对应的逻辑步骤。

示例地,通过上述步骤将对1000个请求依次进行对应逻辑步骤的标记,以便在步骤102中,这1000个请求被缓存在对应的缓冲池中。

图3是根据一示例性实施例示出的又一种流程引擎的并发测试方法的流程图,如图3所示,步骤102所述的每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中,包括以下步骤:

步骤1021,当n个请求中的第一请求执行至第一处理逻辑的中的第i个逻辑步骤时,确定第i个逻辑步骤是否为第一请求对应的逻辑步骤。

示例地,当n个请求中的第一请求执行至第一处理逻辑的中的第i个逻辑步骤时,确定第i个步骤与第一请求的步骤标识是否匹配。

根据上述步骤101中进行的步骤标识的标记,判断对应的逻辑步骤匹配。当第i个步骤与第一请求的步骤标识匹配时,确定第i个逻辑步骤是第一请求对应的逻辑步骤,继续执行步骤1022;当第i个步骤与第一请求的步骤标识不匹配时,确定第i个逻辑步骤不是第一请求对应的逻辑步骤,继续执行步骤1023。

当第i个逻辑步骤是第一请求对应的逻辑步骤时,执行步骤1022,拦截第一请求,并将第一请求缓存在第i个逻辑步骤的缓冲池中。

当第i个逻辑步骤不是第一请求对应的逻辑步骤时,执行步骤1023,根据第一请求执行第i个逻辑步骤,并令i=i+1,再次执行步骤1021的判断,直至第一请求被缓存在对应的逻辑步骤的缓冲池中。

示例地,假设,第一请求在步骤101中被标记在第3个逻辑步骤,上述步骤可以为:首先,i=1,第一请求在执行第1个逻辑步骤之前,确定第一请求与第1逻辑步骤的步骤标识并不匹配,因此第1个逻辑步骤不是第一请求对应的逻辑步骤,因此先执行第1个逻辑步骤;完成第1个逻辑步骤之后令i=i+1,即i为2,到第2个逻辑步骤时,确定该第2逻辑步骤也不是第一请求对应的逻辑步骤,因此再执行第2个逻辑步骤;完成之后令i=i+1,即i为3,在执行第3个逻辑步骤之前,确定该第3个逻辑步骤与第一请求的步骤标识匹配,因此第3个逻辑步骤是与第一请求对应的逻辑步骤,因此拦截该第一请求,将其缓存在第3个逻辑步骤的缓冲池中,完成本次操作。所有的1000个请求都按照上述操作依次进行,直到这1000个请求均位于对应的逻辑步骤的缓冲池中为止。

图4是根据一示例性实施例示出的又一种流程引擎的并发测试方法的流程图,如图4所示,包括以下步骤:

步骤105,根据n个请求和第一处理逻辑中包含的k个逻辑步骤,利用枚举法确定n个请求分配给k个逻辑步骤的所有分配策略,并将所有分配策略作为预先确定的分配策略集合。

示例地,在步骤101并发n个请求之前,还需确定分配策略结合,可以采用枚举法进行排列组合,枚举出所有可能的组合类型,确定为分配策略集合,从而实现尽可能的模拟实际情况。

综上所述,本公开提供的流程引擎的并发测试方法,通过在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中;在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行m个逻辑步骤,得到当前的分配策略对应的并发测试结果;在将分配策略集合中的下一分配策略作为当前的分配策略后,再次触发并发的n个请求,并重复执行直至得到预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。因此,能够实现对高并发流程请求的实际情况的模拟,从而发现实际可能出现的问题,对流程引擎进行优化。

图5是根据一示例性实施例示出的一种流程引擎的并发测试装置的框图,该装置500可以用于执行上述实施例任一所述的方法,参见图5,该装置500包括:

步骤确定模块510,用于在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,当前的分配策略是预先确定的分配策略集合中的任一分配策略。

请求缓存模块520,用于每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中。

执行模块530,用于在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行m个逻辑步骤,得到当前的分配策略对应的并发测试结果。

重复执行模块540,用于在将分配策略集合中的下一分配策略作为当前的分配策略后,再次触发并发的n个请求,并重复执行根据当前的分配策略确定并发的n个请求分别对应的逻辑至在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行m个逻辑步骤的步骤,直至得到预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。

图6是根据一示例性实施例示出的一种步骤确定模块的框图,如图6所示,该步骤确定模块510包括:

逻辑步骤确定子模块511,用于当接收到n个请求中的第i请求时,根据当前的分配策略确定第i请求对应的逻辑步骤,第i请求对应的逻辑步骤为第一处理逻辑中的任一逻辑步骤,i小于或等于n。

标识子模块512,用于为第i请求标记步骤标识,步骤标识用于指示第i请求对应的逻辑步骤。

重复执行子模块513,用于当再次接收到n个请求中的任一请求时,令i=i+1,并重复执行当接收到n个请求中的第i请求时,根据当前的分配策略确定第i请求对应的逻辑步骤至为第i请求标记步骤标识,步骤标识用于指示第i请求对应的逻辑步骤,直至n个请求均已确定对应的逻辑步骤。

图7是根据一示例性实施例示出的一种请求缓存模块的框图,如图7所示,该请求缓存模块520包括:

步骤识别子模块521,用于当n个请求中的第一请求执行至第一处理逻辑的中的第i个逻辑步骤时,确定第i个逻辑步骤是否为第一请求对应的逻辑步骤。

请求缓存子模块522,用于当第i个逻辑步骤是第一请求对应的逻辑步骤时,拦截第一请求,并将第一请求缓存在第i个逻辑步骤的缓冲池中。

重复执行子模块523,用于当第i个逻辑步骤不是第一请求对应的逻辑步骤时,根据第一请求执行第i个逻辑步骤,并令i=i+1,再次执行当第一请求时执行至第一处理逻辑的中的第i个逻辑步骤时,确定第i个逻辑步骤是否为第一请求对应的逻辑步骤的步骤,直至第一请求被缓存在对应的逻辑步骤的缓冲池中。

可选的,步骤识别子模块521,用于:

当n个请求中的第一请求执行至第一处理逻辑的中的第i个逻辑步骤时,确定第i个步骤与第一请求的步骤标识是否匹配。

当第i个步骤与第一请求的步骤标识匹配时,确定第i个逻辑步骤是第一请求对应的逻辑步骤。

当第i个步骤与第一请求的步骤标识不匹配时,确定第i个逻辑步骤不是第一请求对应的逻辑步骤。

图8是根据一示例性实施例示出的另一种流程引擎的并发测试装置的框图,参见图8,该装置500还包括:

分配策略确定模块550,用于在n个请求发出之前,根据n个请求和第一处理逻辑中包含的k个逻辑步骤,利用枚举法确定n个请求分配给k个逻辑步骤的所有分配策略,并将所有分配策略作为预先确定的分配策略集合。

综上所述,本公开提供的流程引擎的并发测试装置,通过在针对第一处理逻辑进行并发测试时,根据当前的分配策略确定并发的n个请求分别对应的逻辑步骤,每当有n个请求中的任一请求执行至任一请求对应的逻辑步骤时,将任一请求缓存在任一请求对应的逻辑步骤的缓存池中;在n个请求被缓存在对应的m个逻辑步骤的缓冲池中时,根据m个逻辑步骤的缓冲池中的n个请求执行m个逻辑步骤,得到当前的分配策略对应的并发测试结果;在将分配策略集合中的下一分配策略作为当前的分配策略后,再次触发并发的n个请求,并重复执行直至得到预先确定的分配策略集合中的所有分配策略对应的并发测试结果为止。因此,能够实现对高并发流程请求的实际情况的模拟,从而发现实际可能出现的问题,对流程引擎进行优化。

图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902,多媒体组件903,输入/输出(I/O)接口904,以及通信组件905。

其中,处理器901用于控制该电子设备900的整体操作,以完成上述的基于数据的分配方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。

在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于数据的分配方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的基于数据的分配方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1