CN111914379A - 一种动态仿真方法及装置 - Google Patents
一种动态仿真方法及装置 Download PDFInfo
- Publication number
- CN111914379A CN111914379A CN201910377040.0A CN201910377040A CN111914379A CN 111914379 A CN111914379 A CN 111914379A CN 201910377040 A CN201910377040 A CN 201910377040A CN 111914379 A CN111914379 A CN 111914379A
- Authority
- CN
- China
- Prior art keywords
- simulation
- parameters
- time
- mode
- changed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000005094 computer simulation Methods 0.000 title claims abstract description 29
- 238000004088 simulation Methods 0.000 claims abstract description 416
- 230000000694 effects Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000010200 validation analysis Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 30
- 230000008859 change Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种动态仿真方法及装置。该方法包括:确定仿真参数是否变更,以及仿真参数是否已生效;如果仿真参数变更且已生效,则通知业务仿真装置按照仿真参数来执行仿真,其中,仿真参数包括与业务相关的配置参数和仿真模式。根据本申请实施例提供的技术方案,通过在仿真过程动态修改仿真参数,提高用户优化仿真参数的效率。
Description
技术领域
本申请一般涉及计算机领域,具体涉及计算机仿真领域,尤其涉及一种动态仿真方法及装置。
背景技术
仿真是通过建立仿真模型以模拟物理世界的运行,并通过优化仿真参数,以达到优化物理世界系统的目的。
具体地,目前优化仿真参数的过程为:设置仿真模型和仿真参数;初始化仿真模型,以使仿真模型按照仿真参数执行仿真过程;当仿真过程执行完后,如果仿真结果不理想或可继续优化,则变更仿真参数,使用新的仿真参数重新执行仿真,直到得到理想的或不可继续优化的仿真结果。
由上述内容可知,现有优化仿真参数的过程在运行完一组仿真参数对应的仿真过程后,再输入另一组仿真参数进行运行,直到得到较优的仿真参数,这样费时费力,导致优化仿真参数的效率较低。
发明内容
鉴于现有技术不能动态展示不同仿真参数对应的仿真效果,导致优化仿真参数效率低的问题,本申请提出了一种动态仿真方法及装置,能够提高用户优化仿真参数的效率。
第一方面,本申请实施例提供了一种动态仿真方法,该方法包括:
确定仿真参数是否变更,以及仿真参数是否已生效;
如果仿真参数变更且已生效,通知业务仿真装置按照仿真参数来执行仿真,其中,仿真参数包括与业务相关的配置参数和仿真模式。
可选地,确定仿真参数是否变更,以及仿真参数是否已生效包括:
监控配置参数是否变更;
确定配置参数的生效时间是否已经到达。
可选地,通知业务仿真装置按照仿真参数来执行仿真包括:
根据仿真参数生成计时器事件和仿真对象事件;
响应于计时器事件,将仿真对象事件发送至业务仿真装置,以使得业务仿真装置根据与之对应的仿真对象事件执行仿真。
可选地,业务仿真装置包括至少一个状态机,则业务仿真装置根据与之对应的仿真对象事件执行仿真,包括:
根据计时器事件确定状态机的当前状态剩余时间驱动状态机执行仿真对象事件。
可选地,状态机包括至少一个小件状态机,则根据计时器事件确定状态机的当前状态剩余时间驱动状态机执行与之对应的仿真对象事件包括:
根据计时器事件计算小件状态机的当前状态对应的剩余时间;
根据小件状态机当前状态剩余时间确定小件状态机是否从当前状态跳转至下一状态;
存储小件状态机的当前状态、下一状态和当前状态对应的剩余时间。
可选地,仿真模式包括:对比模式、回放模式、实时模式或倍速模式;
对比模式为同时按照至少两组仿真参数执行仿真;
回放模式为根据历史的仿真参数重新仿真;
实时模式为根据物理时间执行仿真;
倍速模式为根据物理时间的倍数执行仿真。
可选地,在确定仿真参数是否变更,以及仿真参数是否已生效之前,方法还包括:
获取用户输入的配置参数和生效时间;
存储配置参数和生效时间;
根据配置参数和生效时间更新实例注册表,实例注册表用于生成计时器事件和仿真对象事件。
第二方面,本申请实施例提供了一种动态仿真装置,该装置包括:
确定模块,用于确定仿真参数是否变更,以及仿真参数是否已生效;
通知模块,用于如果仿真参数变更且已生效,通知业务仿真装置按照仿真参数来执行仿真,其中,仿真参数包括与业务相关的配置参数和仿真模式。
可选地,确定模块包括:
监控单元,用于监控配置参数是否变更;
确定单元,用于确定配置参数的生效时间是否已经到达。
可选地,仿真模式包括:对比模式、回放模式、实时模式或倍速模式;
对比模式为同时按照至少两组仿真参数执行仿真;
回放模式为根据历史的仿真参数重新仿真;
实时模式为根据物理时间执行仿真;
倍速模式为根据物理时间的倍数执行仿真。
综上所述,本申请实施例提供的动态仿真方法,通过在确定仿真参数变更且已生效时,通知业务仿真装置按照变更后的仿真参数来执行仿真;以使仿真过程根据变更后的仿真参数进行改变,进而可以动态展示变更前后仿真参数对应的仿真结果,以便用户更加方便的对比不同仿真参数的仿真效果,从而使用户更加方便的选择或变更仿真参数,从而提高用户优化仿真参数的效率。
另外,本申请实施例提供的动态仿真方法,还通过设置对比模式,可以同时直观的展示出不同仿真参数对应的仿真过程和仿真结果,从而使用户更加方便的选择或变更更适合的仿真参数,从而提高用户优化仿真参数的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,附图仅用于示出优选实施方法的目的,而并不认为是对本发明的限制。另外还需要说明的是,为了便于描述,附图中仅示出了本发明相关的部分而非全部。
图1是根据本申请实施例示出的一种动态仿真方法流程图;
图2是根据本申请实施例示出的另一种动态仿真方法流程图;
图3是根据本申请实施例示出的一种动态仿真装置框图;
图4是根据本申请实施例示出的又一种动态仿真装置框图。
图5是根据本申请实施例示出的一种动态仿真计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是根据本申请实施例示出的一种动态仿真方法的流程图。图1所示的方法可以由终端执行,如图1所示,该方法包括以下步骤:
步骤101,确定仿真参数是否变更,以及仿真参数是否已生效。
其中,仿真参数包括与业务相关的配置参数和仿真模式。
进一步地,配置参数包括能够影响到仿真过程或结果的任意参数。比如,配置参数为生成仿真对象的速度,仿真参数的生效时间、失效时间等;示例性地,当仿真网络为物流网络时,配置参数可以为生成快件的速度、分拣机的分拣速度、分拣机的流向表(流向表用于按照其呈现的流向,将快件分拣到固定出口)等。
其中,仿真参数的生效时间和失效时间可以为设置的某个时间,也可以为经过某个时间段后。比如,生效时间为2019年4月8日13:40或10分钟后。
其中,仿真对象为仿真对应的实际网络中可能包括的任何事物。比如,在物流网络中,仿真对象可以为小件快件、分拣机、车辆等。
其中,仿真模式包括:对比模式、回放模式、实时模式或倍速模式。
进一步地,对比模式为同时按照至少两组仿真参数执行仿真;回放模式为根据历史的仿真参数重新仿真;实时模式为根据物理时间执行仿真;倍速模式为根据物理时间的倍数执行仿真。
其中,对比模式可以同时呈现至少两组不同配置参数的仿真过程,方便对比。
其中,倍速模式用于使仿真的时间流速快于物理时间或慢于物理时间,其可以通过设置倍速参数来实现,且倍速参数可以为根据需要设置的任意参数。比如,倍速参数可以为2,也可以为0.5;当倍速参数为2时,表示仿真的时间流速为物理时间流速的2倍,此时仿真速度快于物理时间;当倍速参数为0.5时,表示仿真的时间流速为物理时间流速的0.5倍,此时仿真速度慢于物理时间。
可选地,当仿真参数的变更仅包括配置参数的变更时,步骤101可以包括如下步骤:首先,监控配置参数是否变更;然后,获取配置参数的生效时间并监控该生效时间,当仿真时间到达该生效时间时,确定配置参数的生效时间已经到达。示例性地,当上一次监控到的用于生成仿真对象的数据生成模块的配置参数为4000件/分钟,当前监控到的配置参数为8000件/分钟,则确定配置参数已变更;然后获取配置参数的生效时间,比如,获取到的配置参数的生效时间为10分钟后,则按照当前仿真模式的时间流速计时,10分钟后变更后的仿真参数生效。
另外,需要说明的是,由于从变更仿真参数到仿真参数生效的时间内,仿真过程依然是按变更前的仿真参数执行,因此用户需要根据变更前的仿真模式和实际需要仿真参数生效的物理时间设置仿真参数的生效时间。比如,实际需要仿真参数生效的物理时间为5分钟后,而变更前的仿真参数的仿真模式为2倍速模式,则需要将仿真参数的生效时间设置为10分钟后,这样当在2倍速模式的仿真模式下,10分钟后就是物理时间的5分钟后。当然也不限于此设置方法,用户还可以直接输入实际需要仿真参数生效的物理时间,终端接收到该物理时间后,按照变更前的仿真模式重新计算在参数变更前的仿真模式下对应的生效时间。比如,实际需要仿真参数生效的物理时间为5分钟后,而变更前的仿真参数的仿真模式为2倍速模式,则终端接收到用户输入的5分钟后这一生效时间后,根据2倍速仿真模式,将仿真参数的生效时间重新计算并设置为10分钟后。
具体地,步骤101可以通过如下方法实现:实时监控仿真装置包括的各仿真参数,当检测到存在当前仿真参数与之前时间的仿真参数不同时,确定仿真参数已变更;读取变更的仿真参数的生效时间,并计时;当到达生效时间时,确定该变更的仿真参数已生效。
步骤102,如果仿真参数变更且已生效,通知业务仿真装置按照仿真参数来执行仿真。
其中,业务仿真装置可以包括用于实现仿真的各装置。示例性地,当仿真场景为物流网络时,业务仿真装置可以包括用于生成仿真对象的数据生成模块、用于在各模块间传递消息的数据事件总线、仿真对象(小件快递、建包容器(用于存储已建包的小件快递)、车辆、卸车口、分拣机和装车口等)、用于在各仿真对象之间传递仿真对象事件(仿真对象可以执行的事件)的仿真对象事件总线以及用于删除数据的数据删除模块。
可选地,通知业务仿真装置按照仿真参数来执行仿真包括以下步骤:
第一步,根据仿真参数生成计时器事件和仿真对象事件。
其中,计时器事件可以为:在仿真过程中,每间隔固定时间段通知所有需要计时的各仿真对象当前时间较上次通知过了该固定时间段,以使各仿真对象完成对应的计时事件。具体地,可以在仿真参数生效时间到达时,生成计时器事件并执行,当然也可以在仿真参数变更后,生成计时器事件,在仿真参数生效时间到达时执行计时器事件。另外,间隔的固定时间段可以为默认的时间段,比如该间隔的固定时间段为1秒,则每过1秒,通知需要计时的各仿真对象当前时间较上次通知过了1秒;也可以根据需要设置,比如,仿真过程需要的最小的计时单位是2秒,则可以通过用户交互界面将该间隔的固定时间段设置为2秒,则每过2秒,通知需要计时的各仿真对象当前时间较上次通知过了2秒。
其中,仿真对象事件可以为:各仿真对象在仿真过程中需要执行的各事件。
另外,仿真对象事件可以通过仿真对象事件列表呈现,以使各仿真对象按照仿真对象事件列表执行各事件。进一步地,仿真对象事件列表可以通过实例注册表获取,实例注册表为多个仿真对象构建的仿真场景,不仅呈现每个仿真对象,还包括各仿真对象之间的连接联系,这样通过各仿真对象及各仿真对象之间的连接联系,就可以获取各仿真对象事件,进而得到各仿真对象事件列表。
进一步地,各仿真对象及各仿真对象事件可以通过模型注册表得到,模型注册表事先定义并记录每一个仿真对象及其可以完成的仿真对象事件。在仿真开始之前,用户可以选择各仿真对象以创建实例。其中,选择方式可以是拖拽到用户交互界面,并为其设置配置参数,及建立各仿真对象之间的连接关系,以得到实例注册表。
示例性地,模型注册表包括数据生成模块、状态机(小件状态机、建包容器状态机和车辆状态机)、无状态机(卸车口、分拣机和装车口)和数据删除模块。从模型注册表中拖拽一个数据生成模块、三个卸车口、两个分拣机、一个装车口和一个数据删除模块,并通过带箭头的线条建立以上各仿真对象之间的联系,以得到实例注册表。
另外,模型注册表和实例注册表可以存储在仿真数据库中。
示例性地,仿真参数包括变更后的仿真参数的生效时间2019年4月8日13:40,数据生成模块的参数4000件/分钟,设置的固定时间间隔为1秒钟以及实例注册表:小件,卸车口—>分拣机—>建包容器—>装车口。则生成的计时器事件为:在到达2019年4月8日13:40时间时,每隔1秒钟,告知数据生成模块和小件当前时间较上次通知已经过了1秒。生成的仿真对象事件为:小件依次经过卸车口、分拣机、建包容器、装车口并执行与该仿真对象对应的事件。
第二步,响应于计时器事件,将仿真对象事件发送至业务仿真装置,以使得业务仿真装置根据与之对应的仿真对象事件执行仿真。
可选地,业务仿真装置包括至少一个状态机,则业务仿真装置根据与之对应的仿真对象事件执行仿真,包括:根据计时器事件确定状态机的当前状态剩余时间,以驱动状态机执行与之对应的仿真对象事件。
其中,状态机用于模拟物流网络中有状态的仿真对象,比如,快件(其状态包括分拣中、运输中等)。状态机的状态至少包括当前状态,下一状态和当前状态剩余时间。响应于计时器事件,每过一个计时单位,状态机更新当前状态剩余时间,直到当前状态剩余时间为0时,跳转到下一个状态。
另外,状态机的仿真实例的相关数据可以存储在本地或远程服务器,以达到持久化的目的。这样当实例因为某个原因停止或者重新创建(如扩容)时,由于实例的有关数据会存储在本地或远程服务器,进而在实例重启之后可以先加载数据备份以恢复数据请求,完成仿真过程。
另外,物流网络中的无状态机执行相应仿真对象事件时,也需要以计时器事件告知的时间流速作为参照。其中,无状态机用于模拟物流网络中无状态的仿真对象,比如物流网络中的卸车口、分拣机、装车口和称重机等。无状态机没有时间参数,仅按照从仿真对象事件总线接收到的事件进行处理,并产生相应的事件,然后再发送到仿真对象事件总线。
对于无状态机,该仿真对象运行的实例不会存储在本地或远程服务器,没有持久化的数据,并且多个实例对于同一个请求响应的结果完全一致。这类实例因为某个原因停止或者重新创建(如扩容)时,实例里的有关数据将丢失。
可选地,状态机包括至少一个小件状态机,用于模拟物流网络中重量小于等于预设重量(比如为3千克)的快递,则根据计时器事件驱动小件状态机执行仿真对象事件包括:
第一步,根据计时器事件计算小件状态机的当前状态对应的剩余时间。
第二步,根据小件状态机的当前状态对应的剩余时间,确定小件状态机是否从当前状态跳转至下一状态。
第三步,存储小件状态机的当前状态、下一状态和当前状态对应的剩余时间。
可选地,小件状态机包括状态跳转逻辑、时间轴逻辑和状态数据表。
其中,状态数据表包括至少一组如下数据:主键、静态信息、路由、状态和历史与预测。进一步地,主键可以包括运单号,静态信息可以包括重量、尺寸和内容,路由可以包括时效、发出/目的机场/城市/中转场/网点、当前机场/城市/中转场/网点/数字对象、下一跳机场/城市/中转场/网点/数字对象,状态包括当前状态、下一状态、当前状态剩余时间和异常状态,历史与预测包括历史状态轨迹、预测状态轨迹。
进一步,每一组状态数据表代表一个小件,则当数据生成模块生成4000件小件时,就有4000组状态数据表。
其中,时间轴逻辑用于读取所有小件的当前状态剩余时间和仿真模式,并根据当前状态剩余时间和仿真模式为小件计时。示例性地,当前状态剩余时间为20秒,仿真模式为2倍的倍速模式,则时间轴逻辑读取到该当前状态剩余时间20秒及2倍的倍速仿真模式,再过物理时间的1秒后当前状态剩余时间减少2秒,即为18秒。
其中,状态跳转逻辑用于从状态数据表读取所有小件的当前状态剩余时间,并确定当前状态剩余时间为0的小件,然后判断该当前状态剩余时间为0的小件是否从当前状态跳转到下一状态(没有出现丢包等异常情况时),或者是进入异常状态(出现丢包等异常情况时)。进一步地,当状态跳转逻辑确定小件进入下一状态时,小件状态机将状态数据表中的下一状态变更为当前状态,并在下一状态的位置处记入另一个新的下一状态;并重新计算和更新当前状态的剩余时间,并将相应事件发送到仿真对象事件总线。
示例性地,小件状态机的状态数据表中包括3组数据,其中,主键和状态如下表1:
表1
则状态跳转逻辑从状态数据表读取3件小件的当前状态剩余时间分别为0秒、0秒和10秒,并确定运单号为1和2的小件的当前状态剩余时间为0;然后判断运单号为1的小件是否从“分拣中”这个当前状态跳转到“装车中”这个下一状态,以及运单号为2的小件是否从“装车中”跳转到“运输中”。进一步地,当状态跳转逻辑确定运单号为1和2的小件进入下一状态时,将运单号为1的小件的当前状变更为“装车中”,将运单号为2的小件的当前状态变更为“运输中”,并重新计算或通过其它方式获得(例如,去预设存储位置获取)“装车中”和“运输中”这两个新的当前状态的剩余时间,并更新;并在运单号为1的小件的下一状态的位置处记入“运输中”作为新的下一状态,在运单号为2的小件的下一状态的位置处记入“到达卸车口”作为新的下一状态。
另外,异常状态可以随机确定,也可以通过函数确定,比如,使用均匀分布的方式使某个小件进入异常状态,以模拟物流网络中的丢包情况。
另外,示例性地,仿真对象还包括数据生成模块、数据事件总线、仿真对象事件总事、卸车口、分拣机、建包容器、装车口、车辆和数据删除模块;更新后的配置参数为:数据生成模块为4000件/分钟,分拣机为4000件/分钟,其它参数按默认值设置。则整个仿真过程(仿真过程可以由实例注册表提供)可以为:数据生成模块响应于计时器事件,以4000件/分钟的速度生成小件(即4000组状态数据表,并将生成的小件挂载在小件状态机),并通知仿真对象事件总线,对于每一个小件(除落入异常状态的小件),卸车口首先从仿真对象事件总线收到小件到达卸车口事件,卸车口收到该事件,并根据卸车口逻辑进行处理,并向仿真对象事件总线发出小件到达分拣机事件;分拣机从仿真对象事件总线接收到该事件后,根据分拣策略触发建包事件,并将建包事件发送给仿真对象事件总线;建包容器状态机接收该事件,并完成建包;小件状态机收到该建包事件后将当前状态改为“已建包”,并将小件运单加入到建包容器内小件列表,然后向仿真对象事件总线发出装车事件;装车口从仿真对象事件总线接收到该事件后执行装车事件;小件状态机接收到该装车事件后,将当前状态修改为“已装车”,车辆接收到该装车事件后,将该小件运单加入到车辆小件列表,并将装车完成事件发送给仿真对象事件总线;数据删除模块从仿真对象事件总线接收数据删除事件,并删除小件相关数据。
另外,需要说明的是,在配置参数再变更之前,上述过程持续执行,直到用户通过用户交互界面再次变更配置参数,比如,将数据生成模块的配置参数变更为8000件/分钟,生效时间为10分钟后,当检测到配置参数变更且已生效时,数据生成模块改变每分钟生成小件的数量为8000件,但是由于分拣机的分拣能力没有发生变更,仍为4000件/分钟,则在仿真结果中可以看到分拣机累积的小件越来越多的实时变化。
或者,还可以将配置参数变更为两套参数,以对比两套参数的仿真过程和结果。比如,将数据生成模块的配置参数变更为8000件/分钟和2000件/分钟,生效时间均为10分钟后。则当检测到配置参数变更且为两套配置参数,且均已生效时,生成两套包括相同仿真对象的仿真装置。第一套仿真装置的数据生成模块生成小件的速度为每分钟生8000件,第二套仿真装置的数据生成模块生成小件的速度为每分钟生2000件,但是由于分拣机的分拣能力没有发生变更,即两套分拣机的分拣能力均仍为4000件/分钟,则在仿真结果中可以看到两套仿真装置中分拣机积累的小件均越来越多,且第一套仿真装置的分拣机积累的更快。
可选地,参见图2,图2是根据本申请实施例示出的另一种动态仿真方法。该仿真方法是在图1所示的仿真方法步骤101之前增加以下步骤实现:
步骤103,获取用户输入的配置参数和生效时间。
进一步地,在输入配置参数和生效时间时,还可以为配置参数设置失效时间。具体地,可以通过默认的方式设置,也可以通过用户交互界面输入进行设置。
进一步地,用户可以通过拖拽的方式设置仿真拓扑图,以形成仿真实例注册表。并通过双击设置仿真实例注册表里包括的各仿真对象的配置参数。
另外,需要说明的是,用户不仅可以设置一套配置参数,还可以设置多套配置参数以形成对比模式这一仿真模式。用户还可以在用户交互界面展示仿真结果的实时报表和历史报表,以便用户查看。
步骤104,存储配置参数和生效时间。
可选地,可以将用户输入的配置参数和生效时间存储在仿真数据库。
另外,仿真数据库可以存储任何与仿真有关的数据,比如,仿真模式等。
步骤105,根据配置参数和生效时间更新实例注册表。
由于需要根据实例注册表执行仿真过程,因此当配置参数和生效时间变更后,需要在到达生效时间时,使用配置参数重新初始化实例注册表,完成实例注册表更新,以使仿真过程按照更新后的实例注册表进行执行。
综上所述,本申请实施例提供的动态仿真方法,通过在确定仿真参数变更且已生效时,通知业务仿真装置按照变更后的仿真参数来执行仿真;以使仿真过程根据变更后的仿真参数进行改变,进而可以动态展示变更前后仿真参数对应的仿真结果,以便用户更加方便的对比不同仿真参数的仿真效果,从而使用户更加方便的选择或变更仿真参数,从而提高用户优化仿真参数的效率。
另外,本申请实施例提供的动态仿真方法,还通过设置对比模式这一仿真模式,从而可以同时直观的展示出不同仿真参数对应的仿真过程和仿真结果,从而使用户更加方便的选择或变更更适合的仿真参数,从而提高用户优化仿真参数的效率。
图3是根据本申请实施例示出的一种动态仿真装置的框图。图3所示的装置可以安装在终端内。该装置包括:
确定模块201,用于确定仿真参数是否变更,以及仿真参数是否已生效。
通知模块202,用于如果仿真参数变更且已生效,通知业务仿真装置按照仿真参数来执行仿真,其中,仿真参数包括与业务相关的配置参数和仿真模式。
可选地,确定模块包括:
监控单元,用于监控配置参数是否变更。
确定单元,用于确定配置参数的生效时间是否已经到达。
可选地,通知模块202包括:
生成单元,用于根据仿真参数生成计时器事件和仿真对象事件;
发送单元,用于响应于计时器事件,将仿真对象事件发送至业务仿真装置,以使得业务仿真装置根据与之对应的仿真对象事件执行仿真。
可选地,业务仿真装置包括至少一个状态机,则上述发送单元中的业务仿真装置根据与之对应的仿真对象事件执行仿真可以通过如下装置实现:
驱动子单元,用于根据计时器事件确定的当前状态剩余时间驱动状态机执行仿真对象事件。
可选地,状态机包括至少一个小件状态机,驱动单元包括:
计算子单元,用于根据计时器事件计算小件状态机的当前状态对应的剩余时间;
确定子单元,用于根据当前状态剩余时间确定小件状态机是否从当前状态跳转至下一状态;
存储子单元,用于存储小件状态机的当前状态、下一状态和当前状态对应的剩余时间。
可选地,仿真模式包括:对比模式、回放模式、实时模式或倍速模式。
对比模式为同时按照至少两组仿真参数执行仿真;
回放模式为根据历史的仿真参数重新仿真;
实时模式为根据物理时间执行仿真;
倍速模式为根据物理时间的倍数执行仿真。
可选地,参见图4,图4是本申请实施例提供的又一种动态仿装置。该装置是在图2所示的装置的基础上得到的,进一步地,该装置还包括:
获取模块,用于获取用户输入的配置参数和生效时间。
存储模块,用于存储配置参数和生效时间。
更新模块,用于根据配置参数和生效时间更新实例注册表,实例注册表用于生成计时器事件和仿真对象事件。
综上所述,本申请实施例提供的动态仿真装置,通过在确定仿真参数变更且已生效时,通知业务仿真装置按照变更后的仿真参数来执行仿真;以使仿真过程根据变更后的仿真参数进行改变,进而可以动态展示变更前后仿真参数对应的仿真结果,以便用户更加方便的对比不同仿真参数的仿真效果,从而使用户更加方便的选择或变更仿真参数,从而提高用户优化仿真参数的效率。
另外,本申请实施例提供的动态仿真装置,还通过设置对比模式这一仿真模式,从而可以同时直观的展示出不同仿真参数对应的仿真过程和仿真结果,从而使用户更加方便的选择或变更更适合的仿真参数,从而提高用户优化仿真参数的效率。
本说明书中的实施例均采用递进的方式描述,各个实施例子之间的相似部分相互参见。每个步骤下的实施例侧重于该步骤下的具体方法。以上的所描述的实施方案仅仅是示意性的,具体实施例仅是对本发明做举例说明,本发明所属技术领域的技术人员在不脱离本发明实施例所述原理的前提,还可以做出若干改进和润色,这些改进也应视为本发明的保护范围。
图5是根据本申请实施例示出的一种计算机系统的结构示意图,计算机系统包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明的实施例,上文参考流程图1描述的过程可以被实现为计算机软件程序。例如,本发明的实施例1包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块和通知模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的动态仿真方法。
例如,所述电子设备可以实现如图1中所示的:步骤101,确定仿真参数是否变更,以及仿真参数是否已生效。步骤102,如果仿真参数变更且已生效,通知业务仿真装置按照仿真参数来执行仿真。又如,所述电子设备可以实现如图2所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
综上所述,本申请实施例提供的动态仿真计算机系统或计算机可读介质,通过在确定仿真参数变更且已生效时,通知业务仿真装置按照变更后的仿真参数来执行仿真;以使仿真过程根据变更后的仿真参数进行改变,进而可以动态展示变更前后仿真参数对应的仿真结果,以便用户更加方便的对比不同仿真参数的仿真效果,从而使用户更加方便的选择或变更仿真参数,从而提高用户优化仿真参数的效率。
另外,本申请实施例提供的动态仿真计算机系统或计算机可读介质,还通过设置对比模式这一仿真模式,从而可以同时直观的展示出不同仿真参数对应的仿真过程和仿真结果,从而使用户更加方便的选择或变更更适合的仿真参数,从而提高用户优化仿真参数的效率。
上述仅为本申请较佳实施例及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种动态仿真方法,其特征在于,所述方法包括:
确定仿真参数是否变更,以及所述仿真参数是否已生效;
如果所述仿真参数变更且已生效,通知业务仿真装置按照所述仿真参数来执行仿真,其中,所述仿真参数包括与业务相关的配置参数和仿真模式。
2.根据权利要求1所述的仿真方法,其特征在于,所述确定仿真参数是否变更,以及所述仿真参数是否已生效包括:
监控所述配置参数是否变更;
确定所述配置参数的生效时间是否已经到达。
3.根据权利要求1所述的仿真方法,其特征在于,所述通知业务仿真装置按照所述仿真参数来执行仿真包括:
根据所述仿真参数生成计时器事件和仿真对象事件;
响应于所述计时器事件,将所述仿真对象事件发送至所述业务仿真装置,以使得所述业务仿真装置根据与之对应的所述仿真对象事件执行仿真。
4.根据权利要求3所述的仿真方法,其特征在于,所述业务仿真装置包括至少一个状态机,则所述业务仿真装置根据与之对应的所述仿真对象事件执行仿真,包括:
根据所述计时器事件确定所述状态机的当前状态剩余时间驱动所述状态机执行与之对应的所述仿真对象事件。
5.根据权利要求4所述的仿真方法,其特征在于,所述状态机包括至少一个小件状态机,则根据所述计时器事件驱动所述小件状态机执行所述仿真对象事件包括:
根据计时器事件计算所述小件状态机的当前状态对应的剩余时间;
根据所述小件状态机的所述当前状态对应的剩余时间,确定所述小件状态机是否从当前状态跳转至下一状态;
存储所述小件状态机的当前状态、下一状态和所述当前状态对应的剩余时间。
6.根据权利要求1所述的仿真方法,其特征在于,所述仿真模式包括:对比模式、回放模式、实时模式或倍速模式;
所述对比模式为同时按照至少两组仿真参数执行仿真;
所述回放模式为根据历史的仿真参数重新仿真;
所述实时模式为根据物理时间执行仿真;
所述倍速模式为根据所述物理时间的倍数执行仿真。
7.根据权利要求3所述的仿真方法,其特征在于,在所述确定仿真参数是否变更,以及所述仿真参数是否已生效之前,所述方法还包括:
获取用户输入的所述配置参数和生效时间;
存储所述配置参数和生效时间;
根据所述配置参数和生效时间更新实例注册表,所述实例注册表用于生成所述计时器事件和所述仿真对象事件。
8.一种动态仿真装置,其特征在于,所述装置包括:
确定模块,用于确定仿真参数是否变更,以及所述仿真参数是否已生效;
通知模块,用于如果所述仿真参数变更且已生效,通知业务仿真装置按照所述仿真参数来执行仿真,其中,所述仿真参数包括与业务相关的配置参数和仿真模式。
9.根据权利要求8所述的仿真装置,其特征在于,所述确定模块包括:
监控单元,用于监控所述配置参数是否变更;
确定单元,用于确定所述配置参数的生效时间是否已经到达。
10.根据权利要求8所述的仿真装置,其特征在于,所述仿真模式包括:对比模式、回放模式、实时模式或倍速模式;
所述对比模式为同时按照至少两组仿真参数执行仿真;
所述回放模式为根据历史的仿真参数重新仿真;
所述实时模式为根据物理时间执行仿真;
所述倍速模式为根据所述物理时间的倍数执行仿真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377040.0A CN111914379A (zh) | 2019-05-07 | 2019-05-07 | 一种动态仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377040.0A CN111914379A (zh) | 2019-05-07 | 2019-05-07 | 一种动态仿真方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914379A true CN111914379A (zh) | 2020-11-10 |
Family
ID=73241870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910377040.0A Pending CN111914379A (zh) | 2019-05-07 | 2019-05-07 | 一种动态仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914379A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11157617A (ja) * | 1997-11-28 | 1999-06-15 | Hitachi Eng Co Ltd | 物流システム用シミュレーション装置及び物流システム |
JP2005339402A (ja) * | 2004-05-28 | 2005-12-08 | Advanced Telecommunication Research Institute International | シミュレーションプログラム、シミュレーション方法及びシミュレーション装置 |
CN101359432A (zh) * | 2008-09-02 | 2009-02-04 | 浙江理工大学 | 交互式三维虚拟物流仿真集成方法及系统 |
US20130036068A1 (en) * | 2011-08-05 | 2013-02-07 | Andrew Smith | Logistical management of cargo shipments |
WO2015121554A1 (fr) * | 2014-02-17 | 2015-08-20 | Solystic | Procédé pour le tri postal des faibles flux de courrier |
CN108229034A (zh) * | 2018-01-08 | 2018-06-29 | 中国恩菲工程技术有限公司 | 矿山井下物流运输的仿真方法及系统、装置 |
-
2019
- 2019-05-07 CN CN201910377040.0A patent/CN111914379A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11157617A (ja) * | 1997-11-28 | 1999-06-15 | Hitachi Eng Co Ltd | 物流システム用シミュレーション装置及び物流システム |
JP2005339402A (ja) * | 2004-05-28 | 2005-12-08 | Advanced Telecommunication Research Institute International | シミュレーションプログラム、シミュレーション方法及びシミュレーション装置 |
CN101359432A (zh) * | 2008-09-02 | 2009-02-04 | 浙江理工大学 | 交互式三维虚拟物流仿真集成方法及系统 |
US20130036068A1 (en) * | 2011-08-05 | 2013-02-07 | Andrew Smith | Logistical management of cargo shipments |
WO2015121554A1 (fr) * | 2014-02-17 | 2015-08-20 | Solystic | Procédé pour le tri postal des faibles flux de courrier |
CN108229034A (zh) * | 2018-01-08 | 2018-06-29 | 中国恩菲工程技术有限公司 | 矿山井下物流运输的仿真方法及系统、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150038758A (ko) | 태스크 실행 관리 | |
CN112286672B (zh) | 用于调度任务的方法、计算设备和计算机存储介质 | |
CN105378696A (zh) | 跨各设备提供未看见消息计数 | |
CN107391279B (zh) | 一种消息队列容器创建方法、装置及消息队列容器 | |
CN108985819A (zh) | 司机画像方法、系统及设备 | |
CN109345166B (zh) | 用于生成信息的方法和装置 | |
CN107423893B (zh) | 一种业务流程的全覆盖测试方法和装置 | |
CN112435101A (zh) | 订单信息处理方法、装置、电子设备和计算机可读介质 | |
CN109242320B (zh) | 订单分配方法、装置、服务器及存储介质 | |
CN111144796B (zh) | 用于生成理货信息的方法和装置 | |
CN109873861B (zh) | 跨区块链节点的交互方法及装置、存储介质及电子设备 | |
CN113506068A (zh) | 一种出入库方法、装置、存储介质及电子设备 | |
CN107085754B (zh) | 信息输出方法和装置 | |
CN111861302B (zh) | 物流订单的断更处理方法、装置、电子设备及存储介质 | |
CN113159467B (zh) | 一种派车单处理方法和装置 | |
CN111914379A (zh) | 一种动态仿真方法及装置 | |
CN103136043B (zh) | 一种异步io的迁移方法、系统和网络节点 | |
CN112085442A (zh) | 设备操作方法、装置、电子设备和计算机可读介质 | |
CN116562772A (zh) | 物品补货信息生成方法、装置、设备、介质和程序产品 | |
CN112258300B (zh) | 一种针对订单生成的审核方法及装置 | |
CN110795445B (zh) | 并发任务的处理方法、装置、服务器设备及介质 | |
CN113762575B (zh) | 输送线路径优化方法和装置 | |
CN113986569A (zh) | 一种消息处理方法、装置和电子设备 | |
CN112085441A (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN108874625B (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 |