[发明专利]物联网通讯方法及装置有效

专利信息
申请号: 201510289821.6 申请日: 2015-05-29
公开(公告)号: CN104980257B 公开(公告)日: 2020-08-25
发明(设计)人: 严旭 申请(专利权)人: 北京盛特思信息技术有限公司
主分类号: H04L1/16 分类号: H04L1/16
代理公司: 北京棘龙知识产权代理有限公司 11740 代理人: 戴丽伟
地址: 100000 北京市海淀区清河小营西*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 联网 通讯 方法 装置
【权利要求书】:

1.一种物联网通讯方法,其特征在于,包括:

第一终端发送消息包,其中,所述消息包中包括指令类型以及指令包序号N;第一终端通过服务器中转、局域网通信或基于UDP的P2P握手方式与第二终端建立会话,其中,第一终端在本地初始化两组包序号,第一组为本地已发出的包序号,第二组为已接收的远程包序号,每组包序号包括所有指令类型对应的指令包序号,初始值设置为0或1,这样,利用终端间通讯的指令类型和指令包序号,划分为指令信道,各自进行独立的重发,减少不同指令交叉发送时的不必要的重发包以提高网络效率,同时包序号也可以解决不可靠网络的重复包问题;

若第一终端在预定时间T内未收到第二终端根据所述消息包返回的确认消息ACK,则递增所述消息包中的指令包序号至N+1,发送递增过指令包序号的消息包,再次判断在预定时间内T是否收到ACK消息;

在收到ACK前,消息发送方需要发送指令C类型的新消息,则根据该指令类型的实际意义分为两种:状态指令和控制指令;状态指令表示当前状态,新消息中的状态会覆盖旧消息中的状态,旧消息可被丢弃,此时用指令C的新状态值更新重传消息中的状态值,然后保持该消息继续重传;控制指令表示单次的控制内容,新的控制指令内容可能基于旧状态的指令内容,所以不能丢弃旧指令消息的状态,所以自此将新的指令消息C中的内容添加至旧指令消息内容的末尾,形成指令内容序列,以便接收方收到消息后,按序按需执行所有指令内容;

若第一终端在预定时间T内收到第二终端根据所述消息包返回的确认消息ACK,则本次消息包发送结束;

第二终端接收到消息包后,解析所述消息包的指令类型和指令包序号,所述指令包序号为N;

检查所述消息包是否存在已接收的指令包序号,若已经接收到指令包序号为N0,根据指令包序号N与N0的关系和/或指令类型判断是否发送ACK消息;

根据指令包序号N与N0的关系判断是否发送ACK消息,包括:若N大于N0时,判断所述消息包为合法消息包,存储所述消息包中的指令并发送确认消息ACK,所述ACK消息中包括指令的指令类型和指令包序号N,其中,若所述指令包序号为N的指令的指令类型为状态指令,则覆盖指令包序号为N0的指令,若所述指令包序号为N的指令的指令类型为控制指令类型,将指令包序号为N的指令的消息包内容添加至指令包序号为N0的消息包内容的末尾,形成消息包内容序列,

若N小于N0,则判断所述指令类型的所述消息包为网络造成的乱序包,丢弃所述消息包结束处理;

若N等于N0,则判断为其他异常情况,丢弃所述消息包;

将所有指令细分为不同的包序号实例;各个指令的序号各自递增,互不干扰;

当控制设备和受控设备进行通信时数据包会经过多级路由从而导致数据包被网络层复制从而使接收方接收到多个相同的数据包;又由于通信基于UDP通信方式所以数据包并不能在传输层进行处理,而此方法则可以根据判断包序号去处理重发问题;

当发送方发送一组控制指令时这组指令中某几个数据包因为网络原因并没有实际到达接收方;这时如果接收方顺利接收到最后一包控制指令并成功回复给发送方时,发送方可以判断接收方收到了最新的数据而不用重发,如果接收方没有收到最后一包数据或没能成功回复给发送方,发送方此时只需要重新发送最后一包数据而不需要重新发送所有丢失数据;

由于设备实际执行的数据传输次数可能小于配置的最大传输次数从而影响数据传输的可靠性,因此,设计使终端的实际传输次数超过最大传输次数,以保证数据传输的可靠性;标识当前传输次数的计数器大于或等于接收方最大传输次数后,终端仍可以接收到接收方的重传调度命令,根据重传调度命令执行自适应重传;另外,在标识当前传输次数的计数器小于接收方配置的最大传输次数时,终端也可以根据接收方的重传调度命令执行自适应重传,这样,进一步保证数据传输的可靠性;

当终端的某进程的首次传输或者重传过程中没有实际执行传输,则与进程关联的标识当前传输次数的计数器不增加,这样指令包序号也不增加,这样可以保证终端实际传输次数可以达到接收方配置的最大传输次数,进而保证传输的可靠性。

2.一种物联网通讯装置,其特征在于,包括:

发送模块,用于发送消息包,其中,所述消息包中包括指令类型以及指令包序号N;

处理模块,与发送模块相连接,用于若第一终端在预定时间T内未收到第二终端根据所述消息包返回的确认消息ACK,则递增所述消息包中的指令包序号至N+1,发送递增过指令包序号的消息包,再次判断在预定时间内T是否收到ACK消息;

指令类型包括状态指令类型和控制指令类型,其中,状态指令类型表示当前状态新消息包中的状态会覆盖旧消息中的状态,控制指令类型表示单次的控制内容中新的控制指令内容基于旧状态的指令内容,新的指令中的消息包内容顺序添加至已接收指令消息包内容的末尾,形成消息包内容序列;

所述处理模块还用于若在预定时间T内收到所述第二终端根据所述消息包返回的确认消息ACK,则本次消息包发送结束;

处理模块,用于通过服务器中转、局域网通信或基于UDP的P2P握手方式与第二终端建立会话,其中,第一终端在本地初始化两组包序号,第一组为本地已发出的包序号,第二组为已接收的远程包序号,每组包序号包括所有指令类型对应的指令包序号,初始值均为0或1;

接收模块,用于接收到消息包后,解析所述消息包的指令类型和指令包序号,所述消息包的序号为N;

处理模块用于检查所述消息包是否存在已接收的指令包序号,若已经接收到指令包序号为N0,根据指令包序号N与N0的关系和/或指令类型判断是否发送ACK消息;

处理模块,用于若N大于N0时,判断所述消息包为合法消息包,存储所述消息包中的指令并发送确认消息ACK,所述ACK消息中包括指令的指令类型和指令包序号N,其中,若所述指令包序号为N的指令的指令类型为状态指令,则覆盖指令包序号为N0的指令,若所述指令包序号为N的指令的指令类型为控制指令类型,将指令包序号为N的指令的消息包内容添加至指令包序号为N0的指令消息包内容的末尾,形成消息包内容序列;

若N小于N0,则判断所述指令类型的所述消息包为网络造成的乱序包,丢弃所述消息包结束处理;

若N等于N0,则判断为其他异常情况,丢弃所述消息包。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京盛特思信息技术有限公司,未经北京盛特思信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510289821.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top