发明内容
本发明实施例提供一种并发处理系统的模拟方法及装置,用于解决现有技术中的利用Benchmark技术对并发处理系统进行模拟时的资源利用率较低的问题。
本发明实施例的第一个方面是提供一种并发处理系统的模拟方法,包括:
将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,所述并发处理系统包括多个执行实体;
将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中;
调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为。
结合第一个方面提供的并发处理系统的模拟方法,在第一种可能的实现方式中,所述执行实体包括定时器执行实体和事务执行实体;
相应地,所述将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中包括:
将所述并发处理系统的至少一个定时器执行实体接收到的至少一个用户请求,加入到所述定时器队列中;
相应地,所述调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求包括:
调用所述并发处理系统的至少一个事务执行实体,依次处理所述就绪队列中的用户请求。
结合第一个方面提供的并发处理系统的模拟方法,在第二种可能的实现方式中,所述将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中之前,所述方法还包括:
预先为所述接收到的至少一个用户请求分别分配思考时间和键盘输入时间,并将两项时间之和作为所述至少一个用户请求的超时时间;其中,所述思考时间和键盘输入时间分别为发送所述至少一个用户请求的用户的模拟思考时间和模拟键盘输入时间。
结合第一个方面提供的并发处理系统的模拟方法,在第三种可能的实现方式中,所述方法还包括:
在所述并发处理系统的吞吐率与理想值的差值大于或等于门限值时,对所述并发处理系统中的执行实体数进行调整,以使执行实体数调整后的所述并发处理系统中的各个执行实体,接收用户请求。
结合第一个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述对所述并发处理系统中的执行实体数进行调整包括:
根据所述并发处理系统的执行实体数、用户请求数和吞吐率的历史数据,获得拟合的系统模型;
根据吞吐率的理想值和所述拟合的系统模型,获得更新的执行实体数;
根据所述更新的执行实体数,对所述并发处理系统中的执行实体数进行调整。
结合第一个方面的第一至四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述执行实体为线程;
相应地,所述定时器执行实体为定时器线程,所述事务执行实体为事务线程。
结合第一个方面的第一至四种可能的实现方式中的任意一种,在第六种可能的实现方式中,所述执行实体为进程;
相应地,所述定时器执行实体为定时器进程,所述事务执行实体为事务进程。
本发明实施例的第二个方面是提供一种并发处理系统的模拟装置,包括:
接收单元,用于将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,所述并发处理系统包括多个执行实体;
处理单元,用于将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中;
调用单元,用于调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为。
结合第二个方面提供的并发处理系统的模拟装置,在第一种可能的实现方式中,所述执行实体包括定时器执行实体和事务执行实体;
相应地,所述接收单元具体用于:
将所述并发处理系统的至少一个定时器执行实体接收到的至少一个用户请求,加入到所述定时器队列中;
相应地,所述调用单元还具体于:
调用所述并发处理系统的至少一个事务执行实体,依次处理所述就绪队列中的用户请求。
结合第二个方面提供的并发处理系统的模拟装置,在第二种可能的实现方式中,所述并发处理系统的模拟装置还包括:
分配单元,用于预先为接收到的所述至少一个用户请求分别分配思考时间和键盘输入时间,并将两项时间之和作为所述至少一个用户请求的超时时间;其中,所述思考时间和键盘输入时间分别为发送所述至少一个用户请求的用户的模拟思考时间和模拟键盘输入时间。
结合第二个方面提供的并发处理系统的模拟装置,在第三种可能的实现方式中,所述并发处理系统的模拟装置还包括:
调整单元,用于在所述并发处理系统的吞吐率与理想值的差值大于或等于门限值时,对所述并发处理系统中的执行实体数进行调整,以使执行实体数调整后的所述并发处理系统中的各个执行实体,接收用户请求。
结合第二个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述调整单元,具体包括:
拟合模块,用于根据所述并发处理系统的执行实体数、用户请求数和吞吐率的历史数据,获得拟合的系统模型;
更新模块,用于根据吞吐率的理想值和所述拟合模块获得的拟合的系统模型,获得更新的执行实体数;
调整模块,用于根据所述更新的执行实体数,对所述并发处理系统中的执行实体数进行调整。
结合第二个方面的第一至第四种可能的实现方式中的任意一种,在第五种可能实现方式中,所述并发处理系统的所述执行实体为线程;
相应地,所述定时器执行实体为定时器线程,所述事务执行实体为事务线程。
结合第二个方面的第一至第四种可能的实现方式中的任意一种,在第六种可能实现方式中,所述并发处理系统的所述执行实体为进程;
相应地,所述定时器执行实体为定时器进程,所述事务执行实体为事务进程。
本发明实施例提供的并发处理系统的模拟方法及装置,将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,将定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中,调用并发处理系统的至少一个执行实体依次处理就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为;通过在并发处理系统的执行实体中聚合至少一个用户请求,将其中已超时的用户请求加入就绪队列中,再依次处理就绪队列中的用户请求,由于执行实体不再仅用于模拟单个用户,因此可以利用部分用户请求等待超时的时间,处理已超时的用户请求,有效地提高了对并发处理系统进行模拟时的资源利用率。
具体实施方式
为了提高对并发处理系统进行模拟时的资源利用率,对Benchmark技术进行改进,不再利用一个线程或进程模拟单个用户请求,而是将多个用户请求聚合在一个线程或进程中。通过利用本发明各实施例中所述的对并发处理系统进行模拟的方法,能够有效地提高对并发处理系统进行模拟时的资源利用率。
本发明各实施例中的方法及装置可以应用在多种需要进行并发控制的系统中。本发明各实施例中所述的并发处理系统的模拟装置可以为独立的设备,也可以为服务器中的功能模块。
图1为本发明实施例提供的并发处理系统的模拟方法的流程图,如图1所示,该方法包括:
101、将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中。其中,所述并发处理系统包括多个执行实体。
具体的,执行实体可以为该并发处理系统中的进程或者线程。该执行实体或者为线程,或者为进程,不可以在完整的实现方法中既代表线程,又代表进程。也就是说,本发明各实施例中所述的方法可以在线程对应的维度内实现,也可以在进程对应的维度内实现。
在并发处理系统中,可以包括一个或多个执行实体,每个执行实体中可以聚合一个或多个用户请求。为了模拟实际的用户请求,为每个用户请求设定相应的时间长度,即超时时间,以模拟用户的键盘输入时间和用户的思考时间。在用户请求需要等待的超时时间结束之后,可以执行该用户请求,以模拟用户与并发处理系统之间的交互行为。
并发处理系统的执行实体在接收到用户请求之后,为用户请求分配相应的超时时间,然后将分配了超时时间的用户请求加入到定时器队列中。
102、将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中。
并发处理系统的模拟装置中预先设置有对定时器队列中的用户请求是否超时进行判断的机制。将为用户请求分配超时时间的时间点作为起始时间,在当前时间与该起始时间之间的差值大于或等于该用户请求对应的超时时间的情况下,并发处理系统的模拟装置可以将该用户请求从定时器队列中,转移到就绪队列中。就绪队列用于暂时存储已超时的用户请求或者这些用户请求的标识信息,以便并发处理系统能够获知哪些用户请求是已超时的。
103、调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为。
具体的,并发处理系统的模拟装置中的每个就绪队列是与各执行实体分别对应的。也就是说,每个执行实体分别有相应的就绪队列,用于对用户请求进行暂存。
在并发处理系统的模拟装置的就绪队列中暂存的用户请求,均需要被处理,因此,并发处理系统的模拟装置可以根据各用户请求加入到该就绪队列时的顺序,依次对各用户请求进行处理。从而实现对并发处理系统与用户的交互行为的模拟。
在并发处理系统的模拟装置运行过程中,在部分用户请求处于未超时的等待阶段时,并发处理系统的模拟装置可以对已超时的用户请求进行处理,因此,减少了并发处理系统的模拟装置在等待用户请求超时的过程中,对系统资源造成的浪费。
本发明实施例提供的并发处理系统的模拟方法,将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,将定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中,调用并发处理系统的至少一个执行实体依次处理就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为;通过在并发处理系统的执行实体中聚合至少一个用户请求,将其中已超时的用户请求加入就绪队列中,再依次处理就绪队列中的用户请求,由于执行实体不再仅用于模拟单个用户,因此可以利用部分用户请求等待超时的时间,处理已超时的用户请求,有效地提高了对并发处理系统进行模拟时的资源利用率。
图2为本发明实施例提供的另一并发处理系统的模拟方法的流程图,如图2所示,该方法包括:
201、预先为所述接收到的至少一个用户请求分别分配思考时间和键盘输入时间,并将两项时间之和作为所述至少一个用户请求的超时时间。其中,所述思考时间和键盘输入时间分别为发送所述至少一个用户请求的用户的模拟思考时间和模拟键盘输入时间。
具体的,并发处理系统的模拟装置可以在初始接收到用户请求时为其分配超时时间,也可以在该用户请求被执行完成之后,再次为其分配超时时间。也就是说,在进行模拟时,用户请求可以在该并发处理系统的模拟装置中循环被模拟,每次被分配的超时时间可以相同,也可以不相同。可以根据一定的策略进行分配时长的大小,也可以随机分成时长的大小。
由于需要对用户的思考时间和键盘输入时间进行模拟,因此将用于模拟用户的思考时间和键盘输入时间的两项时间之和,作为超时时间;或者说为接收到的用户请求分配的超时时间,用于表征用户的模拟思考时间和模拟键盘输入时间。
202、将所述并发处理系统的至少一个定时器执行实体接收到的至少一个用户请求,加入到所述定时器队列中。
具体的,可以参见步骤101中所述的实现方式。
进一步地,在图1所述实施例的基础上,并发处理系统的模拟装置可以利用两类执行实体完成上述功能。其中一类执行实体为定时器执行实体,另一类执行实体为事务执行实体。在这样的情况下,定时器执行实体和事务执行实体中均需要聚合一个或多个用户请求。
定时器执行实体在接收到用户请求之后,并为用户请求分配了超时时间之后,将该用户请求加入到定时器队列中。
由于执行实体可以为线程或者进程,定时器执行实体相应地可以为定时器线程或定时器进程,事务执行实体相应地可以为事务线程或事务进程。在执行实体为线程的实现方式中,定时器执行实体和事务执行实体分别为定时器线程和事务线程;在执行实体为进程的实现方式中,定时器执行实体和事务执行实体分别为定时器进程和事务进程。在完整的实现方法中,不存在将定时器线程与事务进程混用,或者将定时器进程与事务线程进行混用的情况。也就是说,本发明各实施例中所述的方法可以在线程对应的维度内实现,也可以在进程对应的维度内实现。
203、将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中。
具体的,可以参见步骤102中所述的实现方式。
进一步地,在步骤202的基础上,并发处理系统的模拟装置调用定时器执行实体判断其上所聚合的一个或多个用户请求是否已超时,将其中超时的用户请求加入到就绪队列中。
204、调用所述并发处理系统的至少一个事务执行实体,依次处理所述就绪队列中的用户请求。
具体的,可以参见步骤103中所述的实现方式。
进一步地,并发处理系统的模拟装置调用事务执行实体,依次处理就绪队列中的各用户请求。
利用定时器执行实体和事务执行实体分别实现上述步骤的好处在于,一个定时器执行实体可以为多个事务执行实体服务。并发处理系统的模拟装置中定时器执行实体的数量可以比事务执行实体的数量少。
205、在所述并发处理系统的吞吐率与理想值的差值大于或等于门限值时,对所述并发处理系统中的执行实体数进行调整。
执行步骤205是为了使执行实体数调整后的所述并发处理系统中的各个执行实体,接收用户请求。
具体的,并发处理系统的模拟装置在执行用户请求的过程中,或获取该并发处理系统的吞吐率。由于并发处理系统的模拟装置中预先设置有吞吐率的理想值以及门限值,因此将对获取到的吞吐率的数值大小与该理想值的差值,与该门限值进行比较。
若并发处理系统的模拟装置判断出所获取到的吞吐率与该理想值的差值小于该门限值,则不需要对该并发处理系统中的执行实体数进行调整;
若并发处理系统的模拟装置判断出所获取到的吞吐率与该理想值的差值大于或等于该门限值,则需要对并发处理系统中的执行实体数进行调整。
并发处理系统的模拟装置可以周期性地,或者根据接收到的触发信号,进行上述判断和调整的过程。
进一步地,对并发处理系统中的执行实体数进行调整时,可以采用如下的实现方式。
根据所述并发处理系统的执行实体数、用户请求数和吞吐率的历史数据,获得拟合的系统模型;
根据吞吐率的理想值和所述拟合的系统模型,获得更新的执行实体数;
根据所述更新的执行实体数,对所述并发处理系统中的执行实体数进行调整。
具体的,并发处理系统的模拟装置将在运行过程中的执行实体的数量、用户请求的数量以及对应获得的吞吐率,三者对应地存储为历史数据。利用这些历史数据,拟合出该并发处理系统的模型,作为拟合的系统模型。
该拟合的系统模型反映了并发处理系统的吞吐率与执行实体数和用户请求数的关系。在获得了该拟合的系统模型之后,并发处理系统的模拟装置可以根据吞吐率的理想值和需要执行的用户请求数,计算出需要采用的执行实体的数量,并将该执行实体的数量作为更新的执行实体数。
若该更新的执行实体数的数值在并发处理系统可处理的范围内,则将该并发处理系统的执行实体数,调整为该更新的执行实体数。
若该更新的执行实体数的数值不在并发处理系统可处理的范围内,则从并发处理系统可处理的执行实体数的范围内,选择与该更新的执行实体数最接近的执行实体数,对该并发处理系统进行调整即可。
例如,当吞吐率y与理想值y*之间的差值大于或等于门限值时,根据执行实体数Nthread、用户请求数w和吞吐率y的历史数据,计算出中的模型系数a、b和c,从而获得拟合后的系统模型根据该拟合的系统模型、w和y*,计算出需要采用的执行实体数。
根据用户请求数和新的执行实体数得到的吞吐率,可以再继续与y*进行比较,在满足上述条件的情况下,对执行实体数进行调整。
本发明实施例提供的并发处理系统的模拟方法,将并发处理系统的至少一个定时器执行实体接收到的至少一个用户请求,加入到定时器队列中,将定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中,调用并发处理系统的至少一个事务执行实体依次处理就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为;通过在并发处理系统的执行实体中聚合至少一个用户请求,将其中已超时的用户请求加入就绪队列中,再依次处理就绪队列中的用户请求,由于执行实体不再仅用于模拟单个用户,因此可以利用部分用户请求等待超时的时间,处理已超时的用户请求,有效地提高了对并发处理系统进行模拟时的资源利用率。
以下通过举例以执行实体为线程的情况进行说明。
在每个活动周期中,Benchmark技术需要为用户模拟五个顺序动作,即思考行为、键盘输入行为、提交请求、等待返回信息和接收返回结果。用户行为在这五个活动状态中循环转换。其中,提交请求、等待返回信息和接收返回结果构成了用户与系统的交互行为;思考行为和键盘输入行为可以通过随机生成等待时间的方式实现。
当多个用户聚合在一个线程上时,该线程需要控制和协调其上所聚合的用户的行为,并使每个用户的行为能够按照预设的规则进行执行。
为了对线程上所聚合的用户进行协调,利用对每个用户的思考行为和键盘输入行为进行模拟的时间,对该线程上的其他用户的交互行为进行模拟。由于对用户的思考行为和键盘输入行为进行模拟时,可以利用系统资源对其他用户的交互行为进行模拟,因此可以实现对聚合在同一个线程上的多个用户进行并发的模拟。
对线程上所聚合的用户的思考行为和键盘输入行为进行模拟时,可以利用定时器机制。
在并发处理系统的模拟方法中,为每个用户分配一个虚拟定时器,并采用一个定时器队列对这些虚拟定时器进行管理。虚拟定时器并不具有倒计时功能,而是用于记录该用户对应的超时时间,即超时时间,以及进行倒计时状态的起始时间点。
当某个用户进入思考状态和键盘输入状态时,为该用户启动其虚拟定时器,并为该用户分配超时时间,将该超时时间代表该用户的思考行为和键盘输入行为所占用的时间。并将该用户加入到定时器队列中。
在该用户的超时时间结束之前,该线程可以对其上的其他用户的交互行为进行模拟。利用一个用户就绪队列对等待执行交互行为的用户进行管理
当某个用户的虚拟定时器对应的超时时间结束,即已超时,表示该用户的思考行为和键盘输入行为结束,将该用户加入到用户就绪队列中,以使该用户等待被调度和执行后续的交互行为。
由于每个线程上仅能够具有一个系统定时器,因此需要根据定时器队列中各用户的剩余时间,对队列中的各用户进行升序排列,将其中位于队首的用户的虚拟定时器,作为系统定时器。
本发明各实施例中的并发处理系统的模拟方法,可以利用单线程实现,也可以利用双线程实现。
利用单线程实现的方式如下。
判断系统定时器是否超时。若系统定时器未超时,则进一步地判断用户就绪队列是否为空;若用户就绪队列为空,则判断是否循环结束,若是,则结束操作,若否,则返回判断系统定时器是否超时;若用户就绪队列不为空,则为队列中的用户模拟系统交互行为,并将完成交互行为的用户加入到定时器队列中,并启动虚拟定时器。若系统定时器已超时,则执行超时处理。
其中,超时处理具体为,将所有超时的用户从定时器队列中取出,依次加入到用户就绪队列的队尾,并将启动定时器队列中的下一个用户的虚拟定时器作为新的系统定时器。
模拟系统交互行为具体为,以及将用户就绪队列中队首的用户取出,为该用户模拟交互行为。
将用户加入到定时器队列具体为,在对用户的交互行为模拟完成之后,为该用户随机生成思考行为和键盘输入行为所占用的时间,并将两项时间之和作为该用户虚拟定时器的超时时间。将该用户加入到定时器队列中时根据该虚拟定时器当前的剩余时间,在定时器队列中进行升序排列,调整到相应的顺序位置上。
对定时器队列中产生新的系统定时器时,将定时器队列中的各虚拟定时器的剩余时间进行更新。
利用双线程实现的方式如下。
定时器线程基于定时器队列对用户的思考行为和键盘输入行为进行模拟,并实现对用户的调度;事务线程负责对用户的交互行为进行模拟。
定时器线程与事务线程之间通过用户就绪队列和完成队列,表征用户在两类线程之间的状态。
定时器线程将超时用户加入到就绪队列的队尾等待事务线程为其模拟交互行为,完成交互行为模拟的用户被加入到完成队列中。定时器线程为完成队列的用户随机生成思考行为和键盘输入行为所占用的时间,并将二者之和作为该用户的虚拟定时器的超时时间,将该用户的虚拟定时器按超时时间升序的方式加入到定时器队列中。事务线程按先到先服务策略对就绪队列中的用户进行调度,为其模拟交互行为。当用户的交互行为完成后,事务线程将该用户加入到完成队列的队尾,等待定时器线程为该用户模拟思考行为和键盘输入行为。
定时器线程判断系统定时器是否超时。若系统定时器未超时,则进一步地判断用户就绪队列是否为空;若用户就绪队列为空,则判断是否循环结束,若是,则结束操作,若否,则返回判断系统定时器是否超时;若用户就绪队列不为空,则为队列中的用户模拟系统交互行为,并将完成交互行为的用户加入到定时器队列中,并启动虚拟定时器。若系统定时器已超时,则执行超时处理。
其中,超时处理具体为,将所有超时的用户从定时器队列中取出,依次加入到用户就绪队列的队尾,并将启动定时器队列中的下一个用户的虚拟定时器作为新的系统定时器。
模拟系统交互行为具体为,以及将用户就绪队列中队首的用户取出,为该用户模拟交互行为。
将用户加入到定时器队列具体为,在对用户的交互行为模拟完成之后,为该用户随机生成思考时间和键盘输入时间,并将两项时间之和作为该用户虚拟定时器的超时时间。将该用户加入到定时器队列中时根据该虚拟定时器当前的剩余时间,在定时器队列中进行升序排列,调整到相应的顺序位置上。
对定时器队列中产生新的系统定时器时,将定时器队列中的各虚拟定时器的剩余时间进行更新。
事务线程检查用户就绪队列是否为空,若用户就绪队列为空,则判断是否循环结束,若是,则结束操作,若否,则返回检查用户就绪队列是否为空。若用户就绪队列不为空,则为用户就绪队列中队首用户模拟交互行为。用户交互行为完成后,再将该用户加入到用户完成队列的队尾,等待定时器线程为其模拟用户思考行为和键盘输入行为。
图3为本发明实施例提供的并发处理系统的模拟装置的结构示意图,如图3所示,该并发处理系统的模拟装置包括:接收单元11、处理单元12和调用单元13。
接收单元11,用于将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,所述并发处理系统包括多个执行实体;
处理单元12,用于将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中;
调用单元13,用于调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为。
进一步地,所述执行实体包括定时器执行实体和事务执行实体;
相应地,所述接收单元11具体用于:
将所述并发处理系统的至少一个定时器执行实体接收到的至少一个用户请求,加入到所述定时器队列中;
相应地,所述调用单元13还具体于:
调用所述并发处理系统的至少一个事务执行实体,依次处理所述就绪队列中的用户请求。
图4为本发明实施例提供的另一并发处理系统的模拟装置的结构示意图,如图4所示,该并发处理系统的模拟装置还包括:
分配单元14,用于预先为接收到的所述至少一个用户请求分别分配思考时间和键盘输入时间,并将两项时间之和作为所述至少一个用户请求的超时时间;其中,所述思考时间和键盘输入时间分别为发送所述至少一个用户请求的用户的模拟思考时间和模拟键盘输入时间。
进一步地,该并发处理系统的模拟装置还包括:
调整单元15,用于在所述并发处理系统的吞吐率与理想值的差值大于或等于门限值时,对所述并发处理系统中的执行实体数进行调整,以使执行实体数调整后的所述并发处理系统中的各个执行实体,接收用户请求。
进一步地,所述调整单元15,具体包括:
拟合模块151,用于根据所述并发处理系统的执行实体数、用户请求数和吞吐率的历史数据,获得拟合的系统模型;
更新模块152,用于根据吞吐率的理想值和所述拟合模块获得的拟合的系统模型,获得更新的执行实体数;
调整模块153,用于根据所述更新的执行实体数,对所述并发处理系统中的执行实体数进行调整。
进一步地,所述并发处理系统的所述执行实体为线程;
相应地,所述定时器执行实体为定时器线程,所述事务执行实体为事务线程。
进一步地,所述并发处理系统的所述执行实体为进程;
相应地,所述定时器执行实体为定时器进程,所述事务执行实体为事务进程。
本发明各实施例提供的并发处理系统的模拟装置进行并发处理系统进行模拟的方法,可以参见上述对应的方法实施例中所述的实现方式,此处不再赘述。
本发明各实施例提供的并发处理系统的模拟装置,将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,将定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中,调用并发处理系统的至少一个执行实体依次处理就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为;通过在并发处理系统的执行实体中聚合至少一个用户请求,将其中已超时的用户请求加入就绪队列中,再依次处理就绪队列中的用户请求,由于执行实体不再仅用于模拟单个用户,因此可以利用部分用户请求等待超时的时间,处理已超时的用户请求,有效地提高了对并发处理系统进行模拟时的资源利用率。图5为本发明实施例提供的又一并发处理系统的模拟装置的结构示意图,如图5所示,该并发处理系统的模拟装置包括:
处理器21、存储器22、总线23和通信接口24。处理器21、存储器22和通信接口24之间通过总线23连接并完成相互间的通信。
处理器21可能为单核或多核中央处理单元(Central Processing Unit,CPU),或者为特定集成电路(Application Specific Integrated Circuit,ASIC),或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器22可以为高速RAM存储器,也可以为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
存储器22用于存放程序221。具体的,程序221中可以包括程序代码,所述程序代码包括计算机操作指令。
处理器21运行程序221,以执行:
将并发处理系统的至少一个执行实体接收到的至少一个用户请求,加入到定时器队列中,所述并发处理系统包括多个执行实体;
将所述定时器队列中的等待时间大于或等于超时时间的用户请求,加入到就绪队列中;
调用所述并发处理系统的至少一个执行实体依次处理所述就绪队列中的用户请求,以模拟所述并发处理系统与用户的交互行为。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。