一种协同仿真方法、系统及服务器和客户端技术方案

技术编号:21777634 阅读:30 留言:0更新日期:2019-08-03 23:19
本发明专利技术提供了一种协同仿真方法、系统及服务器和客户端,服务器在向客户端列表中记录的至少两个客户端分别发送开始计算指令后,针对每一个客户端,如果在预设的第一等待时间内没有接收到来自该客户端的计算完毕消息,从客户端列表中将该客户端删除,之后针对客户端列表中记录的每一个客户端,向该客户端发送开始交互指令,之后针对客户端列表中记录的每一个客户端,如果在预设的第二等待时间内接收到该客户端上传的用户修改变量,将接收到的用户修改变量发送给客户端列表中记录的其他各个客户端,以使接收到用户修改变量的客户端根据用户修改变量对其本地所存储的变量进行同步。本方案能够降低协同仿真对网络带宽的要求。

A Collaborative Simulation Method, System and Server and Client

【技术实现步骤摘要】
一种协同仿真方法、系统及服务器和客户端
本专利技术涉及计算机
,特别涉及一种协同仿真方法、系统及服务器和客户端。
技术介绍
虚拟仿真技术是通过在计算机上运行仿真算法,以对仿真数学模型进行求解,进而将运算结果通过计算机图形设备展示给用户的综合性技术。基于虚拟仿真技术可以模拟生产实习环境,使得用户可以通过计算机在虚拟世界里学习和练习知识技能,方便本科、职业教育中实验教学工作的开展。在利用虚拟仿真技术进行仿真时,可以采用单机和协同两种方式。在进行协同仿真时,要求仿真算法一致且同步运行,即需要保证各个客户端所获取到的仿真数据相同,且保证各个客户端所展示的仿真现象相同。目前在进行协同仿真时,各个客户端需要将修改变量发送给统一的服务器,服务器根据接收到的各个修改变量进行统一计算,然后将计算结果发送给各个客户端。针对目前进行协同仿真的方法,服务器根据各个客户端发送的修改变量进行仿真算法的迭代运算,并将迭代运算后仿真算法修改的变量发送给各个客户端,而仿真算法所修改变量的数据量很大,从而服务器在将修改变量发送给各个客户端时需要占用较大的网络带宽,造成协同仿真对网络带宽的要求较高。
技术实现思路
本专利技术实施例提供了一种协同仿真方法、系统及服务器和客户端,能够降低协同仿真对网络带宽的要求。第一方面,本专利技术实施例提供了一种应用于服务器的协同仿真方法,包括:A1:向客户端列表中记录的至少两个客户端分别发送开始计算指令,其中,所述开始计算指令用于指示所述客户端根据其本地存储的变量对仿真模型进行迭代运算;A2:针对每一个所述客户端,如果在预设的第一等待时间内没有接收到来自该客户端的计算完毕消息,从所述客户端列表中将该客户端删除;A3:针对所述客户端列表中记录的每一个所述客户端,向该客户端发送开始交互指令,其中,所述开始交互指令用于指示该客户端上传用户修改变量,所述用户修改变量由用户与该客户端交互而产生;A4:针对所述客户端列表中记录的每一个所述客户端,如果在预设的第二等待时间内接收到该客户端上传的所述用户修改变量,将接收到的所述用户修改变量发送给所述客户端列表中记录的其他各个所述客户端,以使接收到所述用户修改变量的所述客户端根据所述用户修改变量对其本地所存储的变量进行同步。可选地,在所述A4之后进一步包括:确定请求重新接入协同仿真的重连客户端,并针对每一个所述重连客户端均执行:A5:向所述重连客户端发送开始重连指令,其中,所述开始重连指令用于指示所述重连客户端上传其已完成迭代运算的第一迭代次数;A6:如果在预设的第三等待时间内接收到来自所述重连客户端的所述第一迭代次数,确定所述第一迭代次数与第二迭代次数之间所接收到的所述用户修改变量的目标数据量,其中,所述第二迭代次数为所述客户端列表中记录的所述客户端已完成迭代运算的次数;A7:判断所述目标数据量是否大于根据网络带宽而确定的数据量阈值,如果是,执行A8,否则执行A9;A8:断开与所述重连客户端之间的连接,并结束当前流程;A9:向所述重连客户端发送开始重连计算指令,并将所述第一迭代次数与所述第二迭代次数之间所接收到的所述用户修改变量发送给所述重连客户端,以使所述重连客户端根据接收到的所述用户修改变量进行迭代运算;A10:如果在预设的第四等待时间内接收到来自所述重连客户端的重连计算结束信息,将所述重连客户端记录到所述客户端列表中,其中,所述重连计算结束信息用于指示所述重连客户端已根据接收到的所述用户修改变量完成迭代运算。可选地,在所述A7之前进一步包括:确定与各个所述客户端之间进行通信的网络带宽;确定相对于当前时间过去的参考时间长度内单位时间数据接收量和单位时间数据发送量;根据所述网络带宽、所述单位时间数据接收量和所述单位时间数据发送量,通过如下公式计算所述数据量阈值;其中,所述M表征所述数据量阈值,所述P0表征所述网络带宽,所述t0表征所述参考时间长度,所述t表征过去时间t与当前时间之间的时间间隔,所述P1t表征对应于所述过去时间t的所述单位时间数据接收量,所述P2t表征对应于所述过去时间t的所述单位时间数据发送量。第二方面,本专利技术实施例还提供了一种应用于客户端的协同仿真方法,包括:B1:当接收到来自服务器的开始计算指令后,根据本地存储的变量对仿真模型进行迭代运算;B2:在对所述仿真模型完成本次迭代运算后,向所述服务器发送计算完毕消息;B3:当接收到来自所述服务器的开始交互指令后,如果与用户交互产生第一用户修改变量,将所述第一用户修改变量发送给所述服务器;B4:当接收到来自所述服务器的第二用户修改变量时,根据所述第二用户修改变量对本地存储的变量进行同步,其中,所述第二用户修改变量由其他客户端发送给所述服务器。可选地,该应用于客户端的协同仿真方法进一步包括:当接收到来自所述服务器的开始重连指令后,向所述服务器发送已完成迭代运算的第一迭代次数;如果接收到来自所述服务器的开始重连计算指令,接收来自所述服务器的同步参数,其中,所述同步参数包括所述服务器在所述第一迭代次数与第二迭代次数之间接收到的所有所述第二用户修改变量,所述第二迭代次数为所述服务器已完成迭代运算的次数;根据所述同步参数对所述仿真模型进行迭代运算,使已完成迭代运算的次数达到所述第二迭代次数;向所述服务器发送重连计算结束信息,以重新接入协同仿真。第三方面,本专利技术实施例还提供了一种服务器,包括:第一交互单元、列表更新单元、第二交互单元和变量转发单元;所述第一交互单元,用于向客户端列表中记录的至少两个客户端分别发送开始计算指令,其中,所述开始计算指令用于指示所述客户端根据其本地存储的变量对仿真模型进行迭代运算;所述列表更新单元,用于针对每一个所述客户端,在所述第一交互单元向该客户端发送所述开始计算指令后,如果在预设的第一等待时间内没有接收到该客户端的计算完毕消息,从所述客户端列表中将该客户端删除;所述第二交互单元,用于针对被记录在经所述列表更新单元更新之后的所述客户端列表中的每一个所述客户端,向该客户端发送开始交互指令,其中,所述开始交互指令用于指示该客户端上传用户修改变量,所述用户修改变量由用户与该客户端交互而产生;所述变量转发单元,用于针对所述客户端列表中记录的每一个所述客户端,在所述第二交互单元向该客户端发送所述开始交互指令之后,如果在预设的第二等待时间内接收到该客户端上传的所述用户修改变量,将接收到的所述用户修改变量发送给所述客户端列表中记录的其他各个所述客户端,以使接收到所述用户修改变量的所述客户端根据所述用户修改变量对其本地所存储的变量进行同步。可选地,该服务器进一步包括:重连控制单元;所述重连控制单元,用于确定请求重新接入协同仿真的重连客户端,并针对每一个所述重连客户端均执行:A5:向所述重连客户端发送开始重连指令,其中,所述开始重连指令用于指示所述重连客户端上传其已完成迭代运算的第一迭代次数;A6:如果在预设的第三等待时间内接收到来自所述重连客户端的所述第一迭代次数,确定所述第一迭代次数与第二迭代次数之间所接收到的所述用户修改变量的目标数据量,其中,所述第二迭代次数为所述客户端列表中记录的所述客户端已完成迭代运算的次数;A7:判断所述目标数据量是否大于根据网络带宽而确定的数据量阈值,如果是,执行A8,否则本文档来自技高网...

【技术保护点】
1.一种协同仿真方法,应用于服务器,其特征在于,包括:A1:向客户端列表中记录的至少两个客户端分别发送开始计算指令,其中,所述开始计算指令用于指示所述客户端根据其本地存储的变量对仿真模型进行迭代运算;A2:针对每一个所述客户端,如果在预设的第一等待时间内没有接收到来自该客户端的计算完毕消息,从所述客户端列表中将该客户端删除;A3:针对所述客户端列表中记录的每一个所述客户端,向该客户端发送开始交互指令,其中,所述开始交互指令用于指示该客户端上传用户修改变量,所述用户修改变量由用户与该客户端交互而产生;A4:针对所述客户端列表中记录的每一个所述客户端,如果在预设的第二等待时间内接收到该客户端上传的所述用户修改变量,将接收到的所述用户修改变量发送给所述客户端列表中记录的其他各个所述客户端,以使接收到所述用户修改变量的所述客户端根据所述用户修改变量对其本地所存储的变量进行同步。

【技术特征摘要】
1.一种协同仿真方法,应用于服务器,其特征在于,包括:A1:向客户端列表中记录的至少两个客户端分别发送开始计算指令,其中,所述开始计算指令用于指示所述客户端根据其本地存储的变量对仿真模型进行迭代运算;A2:针对每一个所述客户端,如果在预设的第一等待时间内没有接收到来自该客户端的计算完毕消息,从所述客户端列表中将该客户端删除;A3:针对所述客户端列表中记录的每一个所述客户端,向该客户端发送开始交互指令,其中,所述开始交互指令用于指示该客户端上传用户修改变量,所述用户修改变量由用户与该客户端交互而产生;A4:针对所述客户端列表中记录的每一个所述客户端,如果在预设的第二等待时间内接收到该客户端上传的所述用户修改变量,将接收到的所述用户修改变量发送给所述客户端列表中记录的其他各个所述客户端,以使接收到所述用户修改变量的所述客户端根据所述用户修改变量对其本地所存储的变量进行同步。2.根据权利要求1所述的方法,其特征在于,在所述A4之后进一步包括:确定请求重新接入协同仿真的重连客户端,并针对每一个所述重连客户端均执行:A5:向所述重连客户端发送开始重连指令,其中,所述开始重连指令用于指示所述重连客户端上传其已完成迭代运算的第一迭代次数;A6:如果在预设的第三等待时间内接收到来自所述重连客户端的所述第一迭代次数,确定所述第一迭代次数与第二迭代次数之间所接收到的所述用户修改变量的目标数据量,其中,所述第二迭代次数为所述客户端列表中记录的所述客户端已完成迭代运算的次数;A7:判断所述目标数据量是否大于根据网络带宽而确定的数据量阈值,如果是,执行A8,否则执行A9;A8:断开与所述重连客户端之间的连接,并结束当前流程;A9:向所述重连客户端发送开始重连计算指令,并将所述第一迭代次数与所述第二迭代次数之间所接收到的所述用户修改变量发送给所述重连客户端,以使所述重连客户端根据接收到的所述用户修改变量进行迭代运算;A10:如果在预设的第四等待时间内接收到来自所述重连客户端的重连计算结束信息,将所述重连客户端记录到所述客户端列表中,其中,所述重连计算结束信息用于指示所述重连客户端已根据接收到的所述用户修改变量完成迭代运算。3.根据权利要求2所述的方法,其特征在于,在所述A7之前进一步包括:确定与各个所述客户端之间进行通信的网络带宽;确定相对于当前时间过去的参考时间长度内单位时间数据接收量和单位时间数据发送量;根据所述网络带宽、所述单位时间数据接收量和所述单位时间数据发送量,通过如下公式计算所述数据量阈值;其中,所述M表征所述数据量阈值,所述P0表征所述网络带宽,所述t0表征所述参考时间长度,所述t表征过去时间t与当前时间之间的时间间隔,所述P1t表征对应于所述过去时间t的所述单位时间数据接收量,所述P2t表征对应于所述过去时间t的所述单位时间数据发送量。4.一种协同仿真方法,应用于客户端,其特征在于,包括:B1:当接收到来自服务器的开始计算指令后,根据本地存储的变量对仿真模型进行迭代运算;B2:在对所述仿真模型完成本次迭代运算后,向所述服务器发送计算完毕消息;B3:当接收到来自所述服务器的开始交互指令后,如果与用户交互产生第一用户修改变量,将所述第一用户修改变量发送给所述服务器;B4:当接收到来自所述服务器的第二用户修改变量时,根据所述第二用户修改变量对本地存储的变量进行同步,其中,所述第二用户修改变量由其他客户端发送给所述服务器。5.根据权利要求4所述的方法,其特征在于,进一步包括:当接收到来自所述服务器的开始重连指令后,向所述服务器发送已完成迭代运算的第一迭代次数;如果接收到来自所述服务器的开始重连计算指令,接收来自所述服务器的同步参数,其中,所述同步参数包括所述服务器在所述第一迭代次数与第二迭代次数之间接收到的所有所述第二用户修改变量,所述第二迭代次数为所述服务器已完成迭代运算的次数;根据所述同步参数对所述仿真模型进行迭代运算,使已完成迭代运算的次数达到所述第二迭代次数;向所述服务器发送重连计算结束信息,以重新接入协同仿真。6.一种服务器,其特征在于,包括:...

【专利技术属性】
技术研发人员:汪明波陈鹏
申请(专利权)人:山东欧倍尔软件科技有限责任公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1