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

业务仿真方法、装置、计算机设备及存储介质与流程

2021-10-29 21:45:00 来源:中国专利 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.利用所述中央时钟刷新器中后置模块,调用各元素时钟刷新器中的后置模块,执行每个元素时钟刷新器中预设的结果处理业务处理逻辑,模拟执行结果处理业务。
42.在本技术一些实施例中,所述目标业务为物流业务,所述多个元素时钟刷新器包括车辆刷新器和场地刷新器;所述场地刷新器包括卸车刷新器、分拣刷新器和装车刷新器;
43.所述中央时钟刷新器用于通过注册调用的方式,按照预设的时钟步长,同步刷新所有已注册的场地刷新器的时钟;
44.所述车辆刷新器为用于执行到车行为、发车行为的车辆元素构建的元素时钟刷新器;所述场地刷新器为用于可执行卸车行为、分拣行为以及装车行为的场地元素构建的元
素时钟刷新器;
45.所述卸车刷新器用于模拟车辆在物流场地的卸货行为;
46.所述分拣刷新器用于模拟物流场地中对快件的分拣行为;
47.所述装车刷新器用于模拟物流场地中对快件的装车行为。
48.在本技术一些实施例中,所述业务仿真方法应用于分布式系统,所述装置还包括部署单元,所述部署单元具体用于:
49.在所述基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真之前,将所述中央时钟刷新器部署在所述分布式系统的一个节点上;
50.将所述多个元素时钟刷新器及其对应的行为时钟刷新器按照预设策略切片分组,部署在所述分布式系统的多个节点上。
51.另一方面,本技术还提供一种计算机设备,所述计算机设备包括:
52.一个或多个处理器;
53.存储器;以及
54.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的业务仿真方法。
55.另一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的业务仿真方法中的步骤。
56.本技术实施例中通过对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。本技术实施例中利用离散事件驱动方法进行仿真,与现有直接利用仿真软件开发商的仿真软件不同,将目标业务模拟为包括中央时钟刷新器、元素时钟刷新器、及行为时钟刷新器的多个时钟刷新器的时钟刷新事件,不会受限于仿真软件的仿真场景及仿真条件限制,可以较为灵活的实现了复杂场景下的仿真模拟,仿真灵活度高,应用场景广,扩展性强。
附图说明
57.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本技术实施例提供的业务仿真系统的场景示意图;
59.图2是本技术实施例中提供的业务仿真方法的一个实施例流程示意图;
60.图3是本技术实施例中离散事件队列的一个实施例示意图;
61.图4是本技术实施例中提供的步骤201的一个实施例流程示意图;
62.图5是本技术实施例中提供的步骤202的一个实施例流程示意图;
63.图6是本技术实施例中提供的业务仿真系统的一个具体架构示意图;
64.图7是本技术实施例中提供的业务仿真系统的另一个具体架构示意图;
65.图8是本技术实施例中提供的物流业务场景的流程示意图;
66.图9是本技术实施例中提供的在物流业务场景中业务仿真系统的具体架构示意图;
67.图10是本技术实施例中提供的业务仿真装置的一个实施例结构示意图;
68.图11是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
69.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
71.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
72.本发明实施例提供一种业务仿真方法、装置、计算机设备及存储介质,以下分别进行详细说明。
73.请参阅图1,图1为本发明实施例所提供的业务仿真系统的场景示意图,该业务仿真系统可以包括计算机设备100,计算机设备100中集成有业务仿真装置,如图1中的计算机设备。
74.本技术实施例中计算机设备100主要用于对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
75.上述的计算机设备100可以是一个通用计算机设备或者是一个专用计算机设备,
或者是一个分布式环境下的计算机设备。在具体实现中,计算机设备200 可以是台式机、便携式电脑、服务器、掌上电脑(personal digital assistant, pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本技术实施例不限定计算机设备100的类型。
76.本技术实施例中,若计算机设备100为服务器,服务器可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算 (cloud computing)的大量计算机或网络服务器构成。本发明的实施例中,计算机设备100与其他计算机设备(如终端)之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd generation partnership project, 3gpp)、长期演进(long term evolution,lte)、全球互通微波访问(worldwideinteroperability for microwave access,wimax)的移动通信,或基于tcp/ip 协议族(tcp/ip protocol suite,tcp/ip)、用户数据报协议(user datagramprotocol,udp)的计算机网络通信等。
77.本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术方案一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,或者计算机设备网络连接关系,例如图1中仅示出1个计算机设备,可以理解的,该业务仿真系统还可以包括一个或多个与计算机设备网络连接的其他计算机设备,具体此处不作限定。
78.另外,如图1所示,该业务仿真系统还可以包括存储器200,用于仿真业务数据,如存储目标业务的多个仿真类数据等。
79.需要说明的是,图1所示的业务仿真系统的场景示意图仅仅是一个示例,本发明实施例描述的业务仿真系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着业务仿真系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
80.首先,本发明实施例中提供一种业务仿真方法,该业务仿真方法应用于位于计算机设备中,该业务仿真方法包括:对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
81.如图2所示,为本发明实施例中业务仿真方法的一个实施例流程示意图,该业务仿真方法包括:
82.201、对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件。
83.其中,人们在生产活动和社会活动中,经常遇到一类复杂的业务,这类业务中有许多事件时而出现,时而消失,时而动作,时而停止,而启动和停止都发生在一些离散的时刻,并带有一定的随机性。例如,港口中船舶的停靠码头、生产线上机床的启停、电话的接通和
断开、计算机系统中某项作业的进行和退出,凡此种种,都带有上述特点,这类业务叫做离散事件的业务,本技术实施例中,所述目标业务为离散事件的业务,即所述目标业务包括多个离散事件。
84.本技术实施例中,目标业务可以是待进行仿真各类型的业务,例如物流业务,交易业务,运输业务,交通业务等,目标业务的类型具体可以根据实际场景进行设定,此处不做限定。
85.由于物流行业的业务仿真需要模拟上万网点,上百中转场之间。涉及上亿条订单,上百万的班次和配载的场景,现有仿真软件往往就力不从心。因此,本技术实施例中目标业务优选为物流业务,例如物流场景中的快件业务等。
86.本技术的实质是使用离散事件驱动的方法进行业务仿真,需要模拟随着时间的推进,在仿真世界中目标业务的所有元素的状态变更,状态变更逻辑可以抽象成为一个时钟刷新事件。仿真世界统一按照相同的时钟步长(如1分钟),通过在离散事件队列中插入从开始到结束的仿真周期内,相同的时间间隔产生的时钟刷新事件,来推进整个目标业务仿真的运行。
87.如下图3所示,要模拟某一天的场景,步长设为1分钟,则在离散事件队列中会插入从00:00到23:59的共1440个时钟刷新事件。仿真运行过程中会按时间优先级执行完队列中的所有时钟刷新事件。
88.基于此,本技术实施例中设置多个时钟刷新器来实现模拟目标业务的仿真,具体的,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作。
89.其中,时钟刷新器是对由刷新方法(必须)、前置方法和后置方法组成的对象的抽象定义,实现了这个定义的对象都是时钟刷新器。
90.中央时钟刷新器:由前置模块(实现前置方法)、后置模块(实现后置方法)以及注册元素列表组成。通过注册调用的方式,按照统一的时钟步进,同步刷新所有已注册元素时钟刷新器的时钟。
91.202、基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
92.本技术实施例中通过对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。本技术实施例中利用离散事件驱动方法进行仿真,与现有直接利用仿真软件开发商的仿真软件不同,将目标业务模拟为包括中央时钟刷新器、元素时钟刷新器、及行为时钟刷新器的多个时钟刷新器的时钟刷新事件,不会受限于仿真软件的仿真场景及仿真条件限制,可以较为灵活的实现了复杂场景下的仿真模拟,仿真灵活度高,应用场景广,扩展性强。
93.如图4所示,在本技术一些实施例中,步骤201中所述将所述目标业务的仿真过程
模拟为所述时钟刷新事件中多个时钟刷新器的时钟刷新事件可以包括:
94.401、基于所述目标业务,新建中央时钟刷新器。
95.其中,所述中央时钟刷新器用于通过注册调用的方式,按照预设的时钟步长,同步刷新所有已注册到中央时钟刷新器的元素时钟刷新器的时钟;
96.本技术实施例中,会预先建立用于目标业务仿真的离散事件队列,离散事件队列用于插入各个时钟刷新器的时钟刷新事件,具体的,离散事件队列可以是业务仿真系统初始化时就创建好的,时钟刷新事件是离散事件的一种,按照时钟步长周期产生,并放入离散事件队列中,通过事件优先级顺序执行,而中央时钟刷新器是时钟刷新事件里的对象。
97.402、基于所述目标业务中具有不同行为的元素分别构建不同的多个元素时钟刷新器,并将所述元素时钟刷新器在所述中央时钟刷新器进行注册;
98.403、基于所述目标业务中不同行为的元素需要完成的不同模拟动作,分别为每个元素时钟刷新器构建不同的多个行为时钟刷新器。
99.在本技术一些实施例中,所述中央时钟刷新器中包括前置模块、刷新模块和后置模块,每个元素时钟刷新器中包括前置模块、刷新模块和后置模块中至少一种;
100.所述元素时钟刷新器中的前置模块用于调用当前元素时钟刷新器中预设的准备业务处理逻辑,以模拟执行准备业务;所述元素时钟刷新器中的刷新模块用于调用当前元素时钟刷新器与所述刷新业务相关的行为时钟刷新器,以模拟执行不同行为的刷新业务;所述元素时钟刷新器中的后置模块用于调用当前元素时钟刷新器中预设的结果处理业务逻辑,以模拟执行结果处理业务;
101.所述中央时钟刷新器中的前置模块用于调用各元素时钟刷新器中的前置模块模拟执行对应的准备业务,所述中央时钟刷新器中的刷新模块用于调用各元素时钟刷新器中的刷新模块模拟执行对应的刷新业务,所述中央时钟刷新器中的后置模块用于调用各元素时钟刷新器中的后置模块模拟执行对应的结果处理业务。
102.如图5所示,在本技术一些实施例中,步骤202中所述基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真,可以包括:
103.501、每隔所述预设的时钟步长,处理一个时钟刷新事件,在每个时钟刷新事件中,利用所述中央时钟刷新器中前置模块,调用各元素时钟刷新器中前置模块,执行预设的准备业务处理逻辑,模拟执行准备业务。
104.其中,准备业务为每次时钟刷新前的准备工作对应的业务,例如在物流场景中,元素时钟刷新器包括车辆刷新器,车辆刷新器中的前置模块用于物流场地处理到车业务,该物流场地处理到车业务即为准备业务。
105.502、利用所述中央时钟刷新器中刷新模块,调用各元素时钟刷新器中的刷新模块,以实现每个元素时钟刷新器与所述刷新业务相关的行为时钟刷新器,模拟执行不同行为的刷新业务。
106.503、利用所述中央时钟刷新器中后置模块,调用各元素时钟刷新器中的后置模块,执行每个元素时钟刷新器中预设的结果处理业务处理逻辑,模拟执行结果处理业务。
107.每个时钟刷新事件,都需要执行一系列的状态变更计算,基于中央时钟同步的计算方法可以很好的实现这个计算过程,在一个具体实施例中,如图6所示,为本技术实施例中业务仿真系统的一个具体架构示意图,其中各部分的功能如下:
108.timerefresh:中央时钟刷新器,通过注册调用的方式,按照统一的时钟步进,同步刷新所有已注册元素时钟刷新器的时钟。提供刷新模块(refresh模块)用于触发所有已注册元素时钟刷新器在当前时钟步长内的状态变更;提供前置模块(before模块)用于执行每次时钟刷新前的准备工作;提供后置模块 (after模块)用于执行每次时钟刷新后的结果处理。每个时钟刷新事件都由一个timerefresh去执行。这里可以针对元素时钟刷新器注册列表进行切片分组,通过多线程或者分布式的方式并行计算,以满足大数据量计算的效率要求。
109.具体的,可以通过配置线程数来设置分组个数,由于线程数是可以配置的,分组个数等于线程数,通过时钟刷新器总数除以分组个数得到每个分组的大小,每一分组分配一个线程处理分组里的若干个元素刷新器的刷新动作,即完成元素时钟刷新器注册列表的切片分组。
110.elementrefresh:元素时钟刷新器,针对具有不同行为的元素(如:物流场景中的车,网点,人等)构建不同的元素时钟刷新器。每个元素时钟刷新器可以具有与timerefresh类似的刷新模块(refresh模块),前置模块(before模块),后置模块(after模块),为了实现整个仿真世界中所有元素的时钟同步,需要将elementrefresh注册到中央时钟刷新器上。
111.actionrefresh:行为时钟刷新器,元素时钟刷新器需要完成的模拟动作最终由行为时钟刷新器执行,例如卸车、分拣、装车等等,一个元素时钟刷新器可以有多种行为。
112.一次时钟刷新事件的执行过程如下:
113.中央时钟刷新器执行before模块中的预设业务逻辑(before业务逻辑),如果已注册的元素时钟刷新器中存在before模块,则一并执行元素时钟刷新器中存在的before模块的预设业务逻辑(before业务逻辑)。
114.中央时钟刷新器调用所有已注册元素时钟刷新器的refresh模块中的预设业务逻辑(refresh业务逻辑)。
115.元素时钟刷新器调用其所有行为时钟刷新器中的预设业务逻辑(refresh业务逻辑)。
116.中央时钟刷新器执行after模块中的预设业务逻辑(after业务逻辑),如果已注册的元素时钟刷新器中存在after模块,则一并执行元素时钟刷新器中存在的after模块的预设业务逻辑(after业务逻辑)。
117.在本技术一些实施例中,所述业务仿真方法应用于分布式系统,在分布式环境下,图6所示的整体架构可以演变成如图7所示。
118.图7中粗线框内的部分表示部署在同一个节点。在分布式环境下,中央时钟刷新器部署在一个节点上,多个元素时钟刷新器和其对应的行为时钟刷新器可以按照一定的规则切片分组分布在多个节点上。具体的,即在所述基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真之前,所述方法还包括:将所述中央时钟刷新器部署在所述分布式系统的一个节点上;将所述多个元素时钟刷新器及其对应的行为时钟刷新器按照预设策略切片分组,部署在所述分布式系统的多个节点上。
119.此时,元素时钟刷新器注册到中央时钟刷新器上,每次时钟刷新事件的运行过程中,由中央时钟刷新器统一通知所有的元素时钟刷新器执行刷新,进而调用行为时钟刷新器的刷新方法模拟相应的行为,实现分布式环境下不同节点的时钟同步。
120.当所述目标业务为物流业务时,所述多个元素时钟刷新器包括车辆刷新器和场地刷新器;所述场地刷新器包括卸车刷新器、分拣刷新器和装车刷新器;
121.所述中央时钟刷新器用于通过注册调用的方式,按照预设的时钟步长,同步刷新所有已注册的场地刷新器的时钟;
122.所述车辆刷新器为用于执行到车行为、发车行为的车辆元素构建的元素时钟刷新器;所述场地刷新器为用于可执行卸车行为、分拣行为以及装车行为的场地元素构建的元素时钟刷新器;
123.所述卸车刷新器用于模拟车辆在物流场地的卸货行为;
124.所述分拣刷新器用于模拟物流场地中对快件的分拣行为;
125.所述装车刷新器用于模拟物流场地中对快件的装车行为。
126.在一个具体实施场景中,以物流行业为例,模拟全网上亿量级的快件,使用上百万量级的运力,在上万个场地间流转,从到车卸货到快件分拣,再到装车发车的全流程,业务流程如图8所示,采用本技术实施例中基于中央时钟同步的业务仿真方法,架构如图9所示,其中各模块功能如下:
127.timerefresh:中央时钟刷新器,通过注册调用的方式,按照统一的时钟步进(步长为1分钟),同步刷新所有已注册的场地刷新器的时钟。refresh模块触发所有已注册的场地刷新器在当前时钟步长内的状态变更;before模块调用车辆刷新器的before业务逻辑;after模块调用车辆刷新器的after业务逻辑。
128.vehiclerefresh:车辆刷新器,针对可执行到车、发车行为的车辆元素构建的元素刷新器。before模块中before业务逻辑模拟场地处理到车业务;after模块 after业务逻辑模拟场地处理发车业务。这个例子里面车辆刷新器没有refresh模块。
129.zonerefresh:场地刷新器,针对可执行卸车、分拣以及装车行为的场地元素构建的元素刷新器。图中的多个场地刷新器,模拟物流场景中的多个不同中转场或网点。场地刷新器具有refresh模块场,这个实施例中场地刷新器没有 before模块和after模块。将所有场地刷新器注册到中央时钟刷新器上,实现整个仿真世界中所有物流场地的时钟同步。
130.unloadrefresh:卸车刷新器,场地元素的一种行为刷新器,用于模拟车辆在场地的卸货行为。这个实施例中,一个场地会有多个其他场地发来的多辆车,每辆车都要执行卸车动作,因此会构建多个卸车刷新器。
131.sortrefresh:分拣刷新器,场地元素的一种行为刷新器,用于模拟场地中对快件的分拣行为。
132.loadrefresh:装车刷新器,场地元素的一种行为刷新器,用于模拟场地中对快件的装车行为。
133.以一个时钟步长为例模拟的业务流程如下:
134.(1)每隔1分钟,处理一个时钟刷新事件,执行中央时钟刷新器的before 业务逻辑,模拟到车业务:包括计算卸车配载、计算车辆排队以及计算空闲卸车卡口等业务。
135.(2)执行中央时钟刷新器的refresh业务逻辑,对场地元素刷新器注册列表进行切片分组,采用多线程并行执行场地刷新器中的refresh业务逻辑。
136.(3)场地刷新器的refresh业务逻辑模拟班次切换和移车到装卸车卡口等业务,然后依次执行卸车、分拣以及装车刷新器的refresh业务逻辑,模拟卸车卡口上的车辆卸货并
释放卡口、模拟场地中快件的分拣、模拟装车卡口上的车辆装货以及快件囤货等业务。
137.(4)执行中央时钟刷新器的after业务逻辑,模拟发车业务:包括满载提前发车、到计划时间发车、释放装车卡口以及下一场地计划到车等业务。
138.为了更好实施本发明实施例中业务仿真方法,在业务仿真方法基础之上,本发明实施例中还提供一种业务仿真装置,该业务仿真装置应用于计算机设备,如图10所示,所述业务仿真装置1000包括:
139.业务模拟单元1001,用于对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;
140.业务仿真单元1002,用于基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
141.本技术实施例中通过业务模拟单元1001对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;业务仿真单元1002 基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。本技术实施例中利用离散事件驱动方法进行仿真,与现有直接利用仿真软件开发商的仿真软件不同,将目标业务模拟为包括中央时钟刷新器、元素时钟刷新器、及行为时钟刷新器的多个时钟刷新器的时钟刷新事件,不会受限于仿真软件的仿真场景及仿真条件限制,可以较为灵活的实现了复杂场景下的仿真模拟,仿真灵活度高,应用场景广,扩展性强。
142.在本技术一些实施例中,所述业务模拟单元具体用于:
143.基于所述目标业务,新建中央时钟刷新器,所述中央时钟刷新器用于通过注册调用的方式,按照预设的时钟步长,同步刷新所有已注册到中央时钟刷新器的元素时钟刷新器的时钟;
144.基于所述目标业务中具有不同行为的元素分别构建不同的多个元素时钟刷新器,并将所述元素时钟刷新器在所述中央时钟刷新器进行注册;
145.基于所述目标业务中不同行为的元素需要完成的不同模拟动作,分别为每个元素时钟刷新器构建不同的多个行为时钟刷新器。
146.在本技术一些实施例中,所述中央时钟刷新器中包括前置模块、刷新模块和后置模块,每个元素时钟刷新器中包括前置模块、刷新模块和后置模块中至少一种;
147.所述元素时钟刷新器中的前置模块用于调用当前元素时钟刷新器中预设的准备业务处理逻辑,以模拟执行准备业务;所述元素时钟刷新器中的刷新模块用于调用当前元素时钟刷新器与所述刷新业务相关的行为时钟刷新器,以模拟执行不同行为的刷新业务;所述元素时钟刷新器中的后置模块用于调用当前元素时钟刷新器中预设的结果处理业务逻辑,以模拟执行结果处理业务;
148.所述中央时钟刷新器中的前置模块用于调用各元素时钟刷新器中的前置模块模
拟执行对应的准备业务,所述中央时钟刷新器中的刷新模块用于调用各元素时钟刷新器中的刷新模块模拟执行对应的刷新业务,所述中央时钟刷新器中的后置模块用于调用各元素时钟刷新器中的后置模块模拟执行对应的结果处理业务。
149.在本技术一些实施例中,所述业务仿真单元具体用于:
150.每隔所述预设的时钟步长,处理一个时钟刷新事件,在每个时钟刷新事件中,利用所述中央时钟刷新器中前置模块,调用各元素时钟刷新器中前置模块,执行预设的准备业务处理逻辑,模拟执行准备业务;
151.利用所述中央时钟刷新器中刷新模块,调用各元素时钟刷新器中的刷新模块,以实现每个元素时钟刷新器与所述刷新业务相关的行为时钟刷新器,模拟执行不同行为的刷新业务;
152.利用所述中央时钟刷新器中后置模块,调用各元素时钟刷新器中的后置模块,执行每个元素时钟刷新器中预设的结果处理业务处理逻辑,模拟执行结果处理业务。
153.在本技术一些实施例中,所述目标业务为物流业务,所述多个元素时钟刷新器包括车辆刷新器和场地刷新器;所述场地刷新器包括卸车刷新器、分拣刷新器和装车刷新器;
154.所述中央时钟刷新器用于通过注册调用的方式,按照预设的时钟步长,同步刷新所有已注册的场地刷新器的时钟;
155.所述车辆刷新器为用于执行到车行为、发车行为的车辆元素构建的元素时钟刷新器;所述场地刷新器为用于可执行卸车行为、分拣行为以及装车行为的场地元素构建的元素时钟刷新器;
156.所述卸车刷新器用于模拟车辆在物流场地的卸货行为;
157.所述分拣刷新器用于模拟物流场地中对快件的分拣行为;
158.所述装车刷新器用于模拟物流场地中对快件的装车行为。
159.在本技术一些实施例中,所述业务仿真方法应用于分布式系统,所述装置还包括部署单元,所述部署单元具体用于:
160.在所述基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真之前,将所述中央时钟刷新器部署在所述分布式系统的一个节点上;
161.将所述多个元素时钟刷新器及其对应的行为时钟刷新器按照预设策略切片分组,部署在所述分布式系统的多个节点上。
162.本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种业务仿真装置,所述计算机设备包括:
163.一个或多个处理器;
164.存储器;以及
165.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述业务仿真方法实施例中任一实施例中所述的业务仿真方法中的步骤。
166.本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种业务仿真装置。如图11所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
167.该计算机设备可以包括一个或者一个以上处理核心的处理器1101、一个或一个以
上计算机可读存储介质的存储器1102、电源1103和输入单元1104等部件。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
168.处理器1101是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器1101可包括一个或多个处理核心;优选的,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。
169.存储器1102可用于存储软件程序以及模块,处理器1101通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1102 可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102 还可以包括存储器控制器,以提供处理器1101对存储器1102的访问。
170.计算机设备还包括给各个部件供电的电源1103,优选的,电源1103可以通过电源管理系统与处理器1101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
171.该计算机设备还可包括输入单元1104,该输入单元1104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
172.尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器1101会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1102中,并由处理器1101 来运行存储在存储器1102中的应用程序,从而实现各种功能,如下:
173.对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;
174.基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
175.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
176.为此,本发明实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光
盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种业务仿真方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
177.对待仿真的目标业务,将所述目标业务的仿真过程模拟为多个时钟刷新器的时钟刷新事件,所述目标业务为离散事件的业务,所述多个时钟刷新器包括用于处理所述目标业务对应的时钟刷新事件的中央时钟刷新器,对应所述目标业务中不同行为的元素的多个元素时钟刷新器,以及对应不同模拟动作的多个行为时钟刷新器,所述不同模拟动作分别为所述目标业务中不同行为的元素需要完成的模拟动作;
178.基于所述多个时钟刷新器的时钟刷新事件,对所述目标业务进行仿真。
179.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
180.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
181.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
182.以上对本发明实施例所提供的一种业务仿真方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜