安全公司报告
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210737910.2 (22)申请日 2022.06.28 (65)同一申请的已公布的文献号 申请公布号 CN 114816803 A (43)申请公布日 2022.07.29 (73)专利权人 航天宏图信息技 术股份有限公司 地址 100195 北京市海淀区西杉创意园四 区5号楼3层3 01室 (72)发明人 王宇翔 徐华勋 李宁 马海波  廖通逵  (74)专利代理 机构 北京超凡宏宇专利代理事务 所(特殊普通 合伙) 11463 专利代理师 董艳芳 (51)Int.Cl. G06F 9/54(2006.01)G06F 9/50(2006.01) G09B 9/00(2006.01) (56)对比文件 CN 113656963 A,2021.1 1.16 WO 2005066778 A2,2005.07.21 CN 101482828 A,20 09.07.15 审查员 李娜 (54)发明名称 一种分布式仿真通信消息处 理方法及装置 (57)摘要 本申请提供了一种分布式仿真通信消息处 理方法及装置, 涉及分布式仿真技术领域, 具体 为: 接收服务器发送的实体状态消息; 利用处理 线程对实体状态消息的状态信息数据包进行解 析, 将解析得到的实体状态消息的时间戳和各实 体的状态数据放入实体包, 将实体包放入处理线 程对应的线程资源池映射字典的实体包队列; 对 实体包队列的所有实体包按照时间戳进行排序, 读取排序后的第一个实体包数据; 从第一个实体 包数据中获取各实体的状态数据, 根据各实体的 状态数据对场景中的实体进行渲染。 本申请可以 有效解决仿真场景实体数量较多时引起的客户 端消息解析阻塞, 造成场景更新不及时甚至程序 崩溃等问题; 提高实体消息 响应速度和场景渲染 效率。 权利要求书2页 说明书7页 附图3页 CN 114816803 B 2022.09.23 CN 114816803 B 1.一种分布式仿真通信消息处 理方法, 其特 征在于, 包括: 接收服务器发送 的实体状态消息, 所述实体状态消息包括状态信息数据包, 所述状态 信息数据包 包括每个仿真时刻的整个场景内所有更新的实体的状态数据; 利用处理线程对实体状态消息的状态信 息数据包进行解析, 将解析得到的实体状态消 息的时间戳和各实体的状态数据放入实体包, 将实体包放入处理线程对应的线程资源池映 射字典的实体包队列; 对实体包队列的所有实体包按照时间戳进行排序, 读取排序后的第一个实体包数据; 从第一个实体包数据中获取各实体的状态数据, 根据各实体的状态数据对场景中的实 体进行渲染; 所述方法还 包括: 创建线程池, 所述线程池 包括预设数量的处 理线程; 创建线程资源 池映射字典, 为线程池中的处 理线程生成线程 ID号; 为线程资源池映射字典创建一个实体包队列, 用于存储实体包, 所述实体包的数据结 构包括: 线程ID号、 时间戳和实体数据缓存队列; 所述 实体数据缓存队列用于存储 各实体的 状态数据, 各实体的状态数据包括: 实体ID号, 位置、 姿态和生存状态, 其中, 生存状态表示 实体是否已被击毁。 2.根据权利要求1所述的分布式仿真通信消息处理方法, 其特征在于, 利用处理线程对 实体状态消息的状态信息数据包进行解析 前包括: 判断线程池当前活跃线程的个数是否已达到预设数量, 若为否, 则创建新线程作为处 理线程, 并利用线程资源池映射字典为处理线程生 成线程ID号; 否则, 从线程池内选取一个 空闲线程作为处 理线程。 3.根据权利要求2所述的分布式仿真通信消息处理方法, 其特征在于, 利用处理线程对 实体状态消息的状态信息数据包进行解析, 将解析后的实体状态消息时间戳和各实体的状 态数据放入实体包; 包括: 创建一个实体包; 将处理线程的线程 ID号赋值给实体包的线程 ID号; 从实体状态消息的状态信 息数据包中获取实体状态消息的时间戳, 将该时间戳赋值给 实体包的时间戳; 从实体状态消息的状态信 息数据包获取各实体的状态数据, 将所有实体的状态数据放 入实体包的实体数据缓存队列。 4.根据权利要求3所述的分布式仿真通信消息处理方法, 其特征在于, 从实体状态消息 的状态信息数据包获取各实体的状态数据, 将所有实体的状态数据放入实体包的实体数据 缓存队列; 包括: 步骤S1: 根据通信协议获得单个实体的状态数据的数据结构大小, 作为单个实体数据 大小; 步骤S2: 以实体状态消息的状态信息数据包的读取标识位置为起始位置, 读取单个实 体数据大小的数据, 作为单个实体的状态数据; 步骤S3: 根据通信协议, 判断单个实体信息数据中的实体类型是否为实体; 若为是, 则 将该单个实体的状态数据放入实体包的实体数据缓存队列, 进入步骤S4; 否则终止当前处权 利 要 求 书 1/2 页 2 CN 114816803 B 2理, 并提示错误信息, 进入步骤S4; 步骤S4: 判断状态信息数据包是否读取完毕, 若为是, 则结束处理; 否则将实体状态消 息的状态信息数据包的读取 标识位置进行偏移, 偏移量 为单个实体数据大小, 返回步骤S2。 5.根据权利要求1所述的分布式仿真通信消息处理方法, 其特征在于, 所述方法还包 括: 随机生成各实体的状态数据, 对场景进行初始化。 6.根据权利要求5所述的分布式仿真通信消息处理方法, 其特征在于, 根据各实体的状 态数据对场景中的实体进行渲染, 包括: 对于每个实体, 根据实体ID号判断所述实体是否在当前场景中, 若为否, 将所述实体添 加到场景内, 并根据实体的状态数据设置实体的位置和姿态; 否则, 根据实体生存状态判断 实体是否已被击毁, 若为是, 则将实体从场景中移除; 否则, 根据实体的状态数据对场景内 实体的位置和姿态进行 更新; 根据各实体的位置和姿态对场景中的实体进行渲染。 7.一种分布式仿真通信消息处 理装置, 其特 征在于, 包括: 接收单元, 接收服务器发送的实体状态消息, 所述实体状态消息包括状态信息数据包, 所述状态信息数据包 包括每个仿真时刻中整个场景内所有更新实体的状态数据; 解析单元, 利用处理线程对消息的状态信息数据包进行解析, 将解析后的各实体的状 态数据放入处 理线程对应的线程资源 池映射字典的实体包队列; 排序单元, 用于对实体包队列的所有实体包数据按照 时间戳进行排序, 读取排序后的 第一个实体包数据; 渲染单元, 用于从第一个实体包数据中获取各实体的状态数据, 根据各实体的状态数 据对场景中的实体进行渲染; 所述装置还用于: 创建线程池, 所述线程池 包括预设数量的处 理线程; 创建线程资源 池映射字典, 为线程池中的处 理线程生成线程 ID号; 为线程资源池映射字典创建一个实体包队列, 用于存储实体包, 所述实体包的数据结 构包括: 线程ID号、 时间戳和实体数据缓存队列; 所述 实体数据缓存队列用于存储 各实体的 状态数据, 各实体的状态数据包括: 实体ID号, 位置、 姿态和生存状态, 其中, 生存状态表示 实体是否已被击毁。 8.一种电子设备, 其特征在于, 包括: 存储器、 处理器和存储在所述存储器上并可在所 述处理器上运行 的计算机程序, 所述处理器执行所述计算机程序时实现如权利要求1 ‑6任 一项所述的分布式仿真通信消息处 理方法。 9.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机指 令, 所述计算机指令被处理器执行时实现如权利要求1 ‑6任一项所述的分布式仿真通信消 息处理方法。权 利 要 求 书 2/2 页 3 CN 114816803 B 3

.PDF文档 专利 一种分布式仿真通信消息处理方法及装置

文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种分布式仿真通信消息处理方法及装置 第 1 页 专利 一种分布式仿真通信消息处理方法及装置 第 2 页 专利 一种分布式仿真通信消息处理方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:26:15上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。