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

一种仿真系统的制作方法

2023-01-17 11:21:57 来源:中国专利 TAG:


1.本发明涉及软件工程技术领域,尤其涉及一种仿真系统。


背景技术:

2.随着仿真技术的发展和应用,技术人员在仿真过程中,需要对仿真过程进行控制。例如,在10万秒的仿真过程中,若仿真结果绘制的曲线出现异常,需要暂停进行观察。但仿真时间很快,需要确保仿真的实时性。
3.目前,在仿真过程中,服务器处理仿真指令和存储仿真数据的同时,客户端和服务器之间需要进行交互。例如,客户端向服务器发送开始、暂停、停止等仿真控制命令,服务器根据接收到控制命令执行相关的仿真动作,将响应结果返回给客户端,因此,需要不同的进程进行通信。但使用关系型数据库进行仿真无法保证仿真控制过程的实时性。


技术实现要素:

4.本发明提供了一种仿真系统,以确保仿真控制过程的实时性。
5.根据本发明的一方面,提供了一种仿真系统,该系统包括:内存数据库和服务器;
6.内存数据库用于接收客户端发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器发送仿真控制命令;
7.服务器用于接收内存数据库发送的仿真控制命令,并执行仿真控制命令。
8.可选的,第一时间标识的排序为以下任意一项:按照第一时间标识的取值由小到大的顺序排列,按照第一时间标识的取值由大到小的顺序排列,按照第一时间标识对应的仿真控制命令接收时间的先后顺序排列,按照第一时间标识对应的仿真控制命令生成时间的先后顺序排列。
9.可选的,该仿真系统还包括客户端;客户端用于根据用户输入的仿真指令生成仿真控制命令,并向内存数据库发送仿真控制命令。
10.可选的,服务器还用于生成仿真结果,并将仿真结果发送至内存数据库;内存数据库还用于接收仿真结果,并确定仿真结果的第二时间标识;基于第二时间标识的排序,存储仿真结果。
11.可选的,第二时间标识的排序为以下任意一项:按照第二时间标识的取值由小到大的顺序排列,按照第二时间标识的取值由大到小的顺序排列,按照第二时间标识对应的仿真结果接收时间的先后顺序排列,按照第二时间标识对应的仿真结果生成时间的先后顺序排列。
12.可选的,内存数据库还用于基于内存数据库的通道,将所有仿真结果发送至客户端,以使得客户端显示所有仿真结果。
13.可选的,内存数据库还用于在接收到客户端发送的数据获取指令时,查找数据获取指令对应的目标仿真结果,并基于内存数据库的通道,将目标仿真结果发送至客户端,以使得客户端显示目标仿真结果。
14.可选的,内存数据库还用于判断目标仿真结果的第二时间标识是否满足预设条件;若不满足,则删除目标仿真结果。
15.可选的,目标仿真结果为内存数据库中最早存储的仿真结果。
16.可选的,预设条件为目标仿真结果的第二时间标识的取值与内存数据库中最晚存储的仿真结果的第二时间标识的取值的差值的绝对值等于预设阈值;或者,预设条件为目标仿真结果的第二时间标识对应的仿真结果接收时间或仿真结果生成时间与当前时间的差值大于或者等于预设时间。
17.本发明实施例的技术方案,包括内存数据库和服务器;内存数据库用于接收客户端发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器发送仿真控制命令;服务器用于接收内存数据库发送的仿真控制命令,并执行仿真控制命令。内存数据库可以接收客户端发送的仿真控制命令,确定仿真控制命令的时间标识,从而得到仿真命令的执行顺序,按照仿真命令的执行顺序依次将仿真控制命令发送至服务器,以使服务器执行仿真命令对应的仿真动作,能够保证各仿真指令是按序进行的,即确保仿真控制的实时性。
18.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例一提供的一种仿真系统的结构示意图;
21.图2是本发明实施例二提供的一种仿真系统的结构示意图。
22.附图标号:
23.内存数据库-101、处理器-102、客户端-103。
具体实施方式
24.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
25.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
26.实施例一
27.图1是本发明实施例一提供的一种仿真系统的结构示意图,本实施例可适用于仿真的实时性控制等情况。如图1所示,该系统包括:内存数据库101和服务器102;内存数据库101用于接收客户端发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器102发送仿真控制命令;服务器102用于接收内存数据库101发送的仿真控制命令,并执行仿真控制命令。
28.其中,内存数据库可以理解为仿真控制过程的中间缓存站,用于传递仿真控制命令和存储仿真结果;服务器可以理解为接收和执行仿真控制命令的设备,例如,服务器上部署有仿真服务,可以用于接收和执行仿真控制命令,生成仿真控制命令对应的仿真结果。具体的,服务器包括求解器和控制器,控制器可以用来设置仿真参数,服务器接收到内存数据库发送的仿真控制命令后,求解器根据控制器设置的仿真参数运行,执行仿真控制命令对应的仿真程序,并生成仿真结果。客户端可以理解为发送仿真控制命令的设备;仿真控制命令可以理解为传递仿真需求的指令,仿真控制命令包括仿真启动、仿真停止、仿真继续、获取参数值、修改参数值、设置变量等;第一时间标识可以理解为仿真控制命令的时间属性信息,本发明实施例对此不进行限定。
29.仿真控制命令是依照时间顺序执行的,具体的,基于第一时间标识可以确定出内存数据库接收的未执行的仿真控制命令中最新的仿真控制命令,内存数据库向服务器发送的是内存数据库接收的仿真控制命令中最新的未执行的仿真控制命令,以确保仿真控制命令的实时性。内存数据库在服务器获取仿真控制命令后,会销毁该仿真控制命令。
30.具体的,第一时间标识的排序为以下任意一项:按照第一时间标识的取值由小到大的顺序排列,按照第一时间标识的取值由大到小的顺序排列,按照第一时间标识对应的仿真控制命令接收时间的先后顺序排列,按照第一时间标识对应的仿真控制命令生成时间的先后顺序排列。
31.其中,仿真控制命令生成时间可以理解为客户端生成仿真控制命令的时间。具体的,第一时间标识也可以是数字,例如,按数字从小到大的顺序给内存数据库接收的各仿真控制命令赋第一时间标识,或者按数字从大到小的顺序给内存数据库接收的各仿真控制命令赋第一时间标识,以此来区分各仿真控制命令的先后顺序。这样设置的好处在于可以基于各仿真控制命令的先后顺序确定各仿真控制命令的优先级,按序执行仿真控制命令,例如,基于第一时间标识确定最新的未执行的仿真控制命令,能够确保仿真控制的实时性。
32.本发明实施例中的仿真过程可以使用modelica(一种计算机编程语言)实现。内存数据库可以是远程字典服务(remote dictionary server,redis),具体的,redis是一个基于内存实现的键值型非关系数据库,该数据库可以将数据完全保存在内存中,提升数据存储速度,还支持string、list、set、zset、hash等多种数据类型以及支持c、c 、python、java、php、ruby、lua等多种编程语言,便于操作人员使用。
33.进一步的,redis存在发布和订阅机制,即当redis接收到客户端发送的仿真控制命令后,会主动将仿真控制命令发送至服务器,服务器可以不用时刻监视是否有待执行的仿真控制命令,节省服务器的功耗,提升仿真系统的处理能力。
34.可选的,服务器可以同时处理多个仿真控制命令,以提升仿真系统的处理效率,各
仿真控制命令的处理顺序与各仿真控制命令的第一时间标识的排序相对应。
35.本发明实施例的技术方案,包括内存数据库和服务器;内存数据库用于接收客户端发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器发送仿真控制命令;服务器用于接收内存数据库发送的仿真控制命令,并执行仿真控制命令。内存数据库可以接收客户端发送的仿真控制命令,确定仿真控制命令的时间标识,从而得到仿真命令的执行顺序,按照仿真命令的执行顺序依次将仿真控制命令发送至服务器,以使服务器执行仿真命令对应的仿真动作,能够保证各仿真指令是按序进行的,即确保仿真控制的实时性。
36.实施例二
37.图2是本发明实施例二提供的一种仿真系统的结构示意图,本实施例可适用于实时性仿真等情况。如图2所示,该系统包括:内存数据库101、服务器102和客户端103;客户端103用于根据用户输入的仿真指令生成仿真控制命令,并向内存数据库101发送仿真控制命令;内存数据库101用于接收客户端103发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器102发送仿真控制命令;服务器102用于接收内存数据库101发送的仿真控制命令,并执行仿真控制命令。
38.本实施例中,客户端可以理解为生成和发送仿真控制命令的设备;内存数据库可以理解为仿真控制过程的中间缓存站,用于传递仿真控制命令和存储仿真结果;服务器可以理解为接收和执行仿真控制命令的设备,例如,服务器上部署有仿真服务,可以用于接收和执行仿真控制命令,生成仿真控制命令对应的仿真结果。具体的,服务器包括求解器和控制器,控制器可以用来设置仿真参数,服务器接收到内存数据库发送的仿真控制命令后,求解器根据控制器设置的仿真参数运行,执行仿真控制命令对应的仿真程序,并生成仿真结果。客户端可以理解为发送仿真控制命令的设备;仿真控制命令可以理解为传递仿真需求的指令,仿真控制命令包括仿真启动、仿真停止、仿真继续、获取参数值、修改参数值、设置变量等;第一时间标识可以理解为仿真控制命令的时间属性信息,本发明实施例对此不进行限定。
39.具体的,第一时间标识的排序为以下任意一项:按照第一时间标识的取值由小到大的顺序排列,按照第一时间标识的取值由大到小的顺序排列,按照第一时间标识对应的仿真控制命令接收时间的先后顺序排列,按照第一时间标识对应的仿真控制命令生成时间的先后顺序排列。
40.其中,仿真控制命令生成时间可以理解为客户端生成仿真控制命令的时间。具体的,第一时间标识也可以是数字,例如,按数字从小到大的顺序给内存数据库接收的各仿真控制命令赋第一时间标识,或者按数字从大到小的顺序给内存数据库接收的各仿真控制命令赋第一时间标识,以此来区分各仿真控制命令的先后顺序。这样设置的好处在于可以基于各仿真控制命令的先后顺序确定各仿真控制命令的优先级,按序执行仿真控制命令,例如,基于第一时间标识确定最新的未执行的仿真控制命令,能够确保仿真控制的实时性。
41.可选的,服务器还用于生成仿真结果,并将仿真结果发送至内存数据库;内存数据库还用于接收仿真结果,并确定仿真结果的第二时间标识;基于第二时间标识的排序,存储仿真结果。
42.其中,仿真结果可以理解为处理器执行仿真控制指令后生成的仿真数据;第二时
间标识可以理解为仿真结果的时间属性信息,本发明实施例对此不进行限定。
43.具体的,第二时间标识的排序为以下任意一项:按照第二时间标识的取值由小到大的顺序排列,按照第二时间标识的取值由大到小的顺序排列,按照第二时间标识对应的仿真结果接收时间的先后顺序排列,按照第二时间标识对应的仿真结果生成时间的先后顺序排列。
44.其中,仿真结果接收时间可以理解为内存数据库接收服务器发送的仿真结果的时间;仿真结果生成时间可以理解为服务器生成仿真结果的时间。具体的,第二时间标识也可以是数字,例如,按数字从小到大的顺序给各仿真结果赋第二时间标识,或者按数字从大到小的顺序给各仿真结果赋第二时间标识,以此来区分各仿真结果的先后顺序。这样设置的好处在于可以基于各仿真结果的先后顺序确定各仿真结果的顺序,按序存储仿真数据,例如,基于第二时间标识确定最早的未存储的仿真结果,能够实时性的存储仿真结果。
45.示例性的,服务器可以对仿真控制命令做出响应,例如,当仿真控制命令为修改变量值时,服务器可以执行仿真控制命令并生成变量值变更通知;当仿真控制命令为仿真暂停时,服务器可以执行仿真控制命令并生成仿真已暂停通知;当仿真控制命令为输出仿真日志时,服务器可以执行仿真控制命令并生成输出仿真日志通知;服务器可以针对仿真启动、仿真停止、仿真继续、获取参数值、修改参数值、设置变量等仿真控制命令做出响应并生成相关通知,本发明实施例对此不进行限定。
46.可选的,内存数据库还用于基于内存数据库的通道,将所有仿真结果发送至客户端,以使得客户端显示所有仿真结果。
47.具体的,本发明实施例采用的是内存数据库,仿真结果不需要写入磁盘,可以直接存储至内存数据库,减小存储仿真结果的时间。其次,还可以采用多线程的方式存储仿真结果,即将仿真结果多线程的存储至数据库,再于数据库中按照各仿真结果的时间标识将各仿真结果重新排列,能够提升仿真结果的存储效率。
48.示例性的,服务器生成的仿真结果为帧数据,而仿真数据具有时序性,为了更好的将仿真数据存储至内存数据库中,设置了如下所示的数据结果,在每一帧数据里添加当前时间(时间从0开始),以此作为时间标识,将仿真数据存放至内存数据库。
[0049][0050]
其中,time表示时间,var表示变量名,value表示变量值。
[0051]
仿真控制指令执行完成后,可以得到全部的仿真结果,表1为仿真过程生成的所有仿真结果。
[0052]
表1
[0053]
timevar1var2
……
0010
……
0.0011020
…………………………
[0054]
在得到所有仿真结果后,可以基于内存数据库的通道将所有仿真结果发送至客户端,使客户端显示所有仿真结果,能够实时将仿真结果同步至客户端,确保仿真结果的实时性。可以解决基于写文件的方式存储仿真结果造成的客户端无法实时性获取仿真结果的问题,能够实时将生成的仿真结果发送至客户端,以使客户端实时显示仿真结果。
[0055]
可选的,内存数据库还用于在接收到客户端发送的数据获取指令时,查找数据获取指令对应的目标仿真结果,并基于内存数据库的通道,将目标仿真结果发送至客户端,以使得客户端显示目标仿真结果。
[0056]
具体的,数据获取指令可以理解为携带操作人员的数据需求的指令,根据数据获取指令可以确定操作人员需要的仿真数据。这样设置的好处在于可以根据需求发送仿真结果,减少发送的仿真结果的数量,节省数据传输资源的消耗,提升仿真结果传输的效率。
[0057]
示例性的,结合表1阐述目标仿真结果的显示过程,假设操作人员需要var1,那么,操作人员会通过客户端向内存数据库发送var1对应的数据获取指令,内存数据库接收到该数据获取指令后,将var1对应的仿真结果确定为目标仿真结果,并基于内存数据库的通道将var1对应的仿真结果发送至客户端,使客户端显示var1对应的仿真结果。
[0058]
可选的,内存数据库还用于判断目标仿真结果的第二时间标识是否满足预设条件;若不满足,则删除目标仿真结果。
[0059]
具体的,为保证仿真系统的性能,会定时清理仿真过程产生的数据,当仿真结果的第二时间标识不满足预设条件时,会删除仿真结果。
[0060]
其中,预设条件可以是时间限制条件,例如半小时、一小时等,具体时间可以根据仿真需求进行设定和调整,本发明实施例对此不进行限定。
[0061]
具体的,目标仿真结果包括内存数据库中最早存储的仿真结果,可以按照仿真结果的存储时间的先后顺序逐一删除仿真结果。每次只判断内存数据库中最早存储的仿真结果是否满足预设条件,当内存数据库中最早存储的仿真结果满足预设条件时,不进行任何处理,当内存数据库中最早存储的仿真结果不满足预设条件时,删除内存数据库中最早存储的仿真结果,并判断内存数据库中新的最早存储的仿真结果是否需要删除,直至删除完所有不满足预设条件仿真数据(即清理完过期数据)。这样设置的好处在于只删除不符合预设条件的仿真数据,提升数据删除的准确性。
[0062]
可选的,预设条件可以为目标仿真结果的第二时间标识的取值与内存数据库中最晚存储的仿真结果的第二时间标识的取值的差值的绝对值等于预设阈值;或者,预设条件可以为目标仿真结果的第二时间标识对应的仿真结果接收时间或仿真结果生成时间与当前时间的差值大于或者等于预设时间。
[0063]
其中,预设阈值和预设时间是用于确定仿真结果是否需要清楚的参考量,可以根据仿真需求进行设定和调整,本发明实施例对此不进行限定。
[0064]
具体的,每个仿真结果均有第二时间标识,当第二时间标识是数字时,数字的值的大小代表仿真结果的存储时间,根据各仿真结果的第二时间标识的取值与内存数据库中最晚存储的仿真结果的第二时间标识的取值的差值和预设阈值即可得到存储超期的仿真结
果,例如,差值越大的仿真结果存储的时间越长,差值大于预设阈值的仿真结果已超期,需要删除。当第二时间标识是仿真结果接收时间或仿真结果生成时间时,根据各仿真结果接收时间或各仿真结果生成时间与当前时间的差值和预设时间即可确定存储超期的仿真结果,例如,时间差越大的仿真结果存储的时间越长,差值等于和大于预设时间的仿真结果均已超期,需要删除。
[0065]
这样设置的好处在于可以批量删除仿真结果,提升数据清理的效率。
[0066]
本发明实施例的技术方案,包括内存数据库、服务器和客户端;客户端用于根据用户输入的仿真指令生成仿真控制命令,并向内存数据库发送仿真控制命令;内存数据库用于接收客户端发送的仿真控制命令,确定仿真控制命令的第一时间标识,基于第一时间标识的排序,依次向服务器发送仿真控制命令;服务器用于接收内存数据库发送的仿真控制命令,并执行仿真控制命令。客户端根据用户输入的仿真指令生成仿真控制命令,内存数据库可以接收客户端发送的仿真控制命令,确定仿真控制命令的时间标识,从而得到仿真命令的执行顺序,按照仿真命令的执行顺序依次将仿真控制命令发送至服务器,以使服务器执行仿真命令对应的仿真动作,能够保证各仿真指令是按序进行的,即确保仿真控制的实时性。
[0067]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0068]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献