[发明专利]基于短编号嵌入的容错同步方法在审
申请号: | 202010008578.7 | 申请日: | 2020-01-06 |
公开(公告)号: | CN111147187A | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 李龙江;张津维;李通强 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L7/00 |
代理公司: | 成都虹盛汇泉专利代理有限公司 51268 | 代理人: | 王伟 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 编号 嵌入 容错 同步 方法 | ||
本发明公开一种基于短编号嵌入的容错同步方法,应用于通信领域,针对现有的容错同步机制,在UDP通信方式时,难以避免报文出错、丢失或乱序的问题;本发明初始化过程中,通信端A对信道的错误状况进行估计,计算原序号被编码后的容错范围K,选择随机数种子seed,并将K与seed告知通信端B;通信端A记录一个短编号变量x,初始化为0;通信端A每次调用伪随机函数后,通过x=(x+1)MOD K更新短编号;通信端A将原序号编码为短编号后发送给通信端B;通信端B基于收到的短编号恢复长序号y1;通信端B根据恢复的长序号重复调用伪随机函数(y1‑y0)次,使得通信端B的伪随机函数调用次数与通信端A相同。
技术领域
本发明属于通信领域,特别涉及一种容错同步技术。
背景技术
在数字孪生、并行仿真、加密编码等众多领域中,存在着容错同步问题。典型的用途是用于两个伪随机生成器函数的状态同步。比如,在游戏设计中,为了提高逻辑判断的实时性,保证游戏的流畅性,需要将逻辑计算放在客户端。考虑到玩家之间逻辑同步的要求与对玩家监督的必要性,则需要服务器与客户端同步伪随机逻辑计算,对其产生的随机结果进行验证。同步逻辑计算的结果要求在两边实现相同算法,并保证其计算的随机序列一致,即客户端需将第n次使用函数计算的值传给服务器,服务器也必须用第n次计算的值来验证。在并行仿真中,仿真系统由多个仿真代理组成,每个仿真代理基于伪随机生成器函数控制仿真行为,多个仿真代理之间需要保持伪随机生成器函数的状态同步。由于仿真代理之间通过报文通信来进行同步,报文出错或丢失,可能导致的同步失败会影响仿真结果。因而,需要高效的容错同步机制。
伪随机生成器函数的典型工作过程是,通过将种子作为输入变量,并重复更新函数的内部状态,得到一系列输出。在假定通信是可靠的情况下,比如基于TCP可靠传输协议,则多个代理之间可以保持同步。然而,当采用了UDP通信方式时,报文出错、丢失或乱序难以避免,因而,需要有效的长序列同步机制。
发明内容
为解决上述技术问题,本发明提出一种基于短编号嵌入的容错同步方法,通过将长序号编码成短编号以及简单的函数计算恢复长编码,可以极大地减少两通信端的计算成本。
本发明采用的技术方案为:一种基于短编号嵌入的容错同步方法,包括:
S1、通信端A对信道的错误状况进行估计,计算原序号被编码后的容错范围K,选择随机数种子seed,并将K与seed告知通信端B;
S2、通信端A记录一个短编号变量x,初始化为0;
通信端B定义一个长序号变量y,称为参考长序号,初始化为0,且通信端B还定义变量y0,用于记录伪随机函数已调用次数,初始化为0;
S3、通信端A每次调用伪随机函数后,通过x=(x+1)MOD K更新短编号;
S4、通信端A将原序号编码为短编号后发送给通信端B;
S5、通信端B基于收到的短编号恢复长序号。
步骤S4还包括通信端A将原序号编码为短编号后加入CRC校验。
步骤S5还包括对接收到的短编号进行CRC校验,若校验结果为报文出错则丢弃报文;否则根据接收到的短编号恢复长序号。
所述容错范围K计算式为:
K=4d+1
其中,d表示乱序范围,通常根据信道状况预先设置。
所述步骤S5通过下式恢复长序号:
其中,sgn()为符号函数,y为参考长序号。
所述y初始化为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010008578.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人体识别定位跟踪系统
- 下一篇:一种全自动两轴吹水机