物联网终端远程管理架构及功能研究

发布时间 : 星期日 文章物联网终端远程管理架构及功能研究更新完毕开始阅读

要的操作,终端和平台都应对最近处理的请求消息的应答报文和对应的消息序号进行缓存。当收到对方请求消息后,首先按照消息序号检查缓存的应答消息队列,看是否对该消息序列已回复过应答。如果相同消息序号的应答消息存在,则可认为对方重复发送了消息,对该重复消息应不做处理,只将消息序号匹配的应答消息取出,并重新发送给对方;如果相同序号的应答消息不存在,且此序号大于目前已接收到对方的消息序号,则平台应正常响应。否则,直接丢弃报文。如果是平台发现发生了这种情况,需要记录日志,而且若此现象如果发送频率较高,平台应生成告警。

MDMS 平台缓存回复的应答消息以及对应的消息序号时,采用条数和时长综合考虑策略。终端应缓存接收到平台下发的最后X 条请求消息的消息序号以及对该消息的应答报文。X 缺省为3。

如果收到重复的ACK 消息,则直接丢弃此消息。 (六)分包交互处理

如果采用UDP 传输方式,每包大小限制为1Kbyte(指整个报文的长度)。如果数据超过以上限制,则必须进行分包处理。

支持分包的报文类型有:

? REQ_CONFIG/REQ_CONFIG_RSP 报文 ? SET_CONFIG/SET_CONFIG_RSP 报文 ? GET_CONFIG/GET_CONFIG_RSP 报文 ? 部分SUBMIT_EVENT 报文

其它报文不支持分包。其中,“部分SUBMIT_EVENT 报文”指以下报文类型:

? 远程参数配置结果通知(对应SET_CONFIG 消息) ? 终端触发事件通知(目前对应终端状态监视任务) ? 终端请求配置参数配置失败通知

不过,终端触发事件通知(目前对应终端状态监视任务)不建议进行分包,若状态参数很多,确实需要分包,可采用设立多个状态监视任务的方法完成。

平台按终端型号维护终端能够分包的最大数量,如果平台下发的请求报文分包数量超过了此数量,平台应放弃下发,并发出告警。

46

建议分包数量限制在5 个以下。

终端发包大小超过1K 后,按照1K(UDP 净荷)为单位进行分包。 单个分包过程不能跨两次登录。(连接中止,意味着分包状态终止) 平台要有分包记录日志,包含每个分包,以及整个报文的信息。

分包交互机制的基本原则:

1) 本协议采用专门的分包传输命令字来发送报文子包;

2) 为最大限度利用每个子报文的承载能力,减少子报文的总数目,一个TLV可以被拆分到序号相邻的子报文中;

3) 每个子报文的报文序号按本协议对报文序号的规定递增处理; 4) 在发生异常的情况下,应答方和请求方都可以中止分包交互状态; 5) 子包全部完整接收完成后,再执行报文所承载的命令; 6) 分包机制遵从本规范对于报文的所有规定;

7) 分包中止,或总包内容无法解析等情况下,本次请求-应答交互处理失败,按照正常的请求失败处理。

8) 如果某个报文通过短信发送,则不支持分包机制(通过短信方式,不能发送大于140Byte 的报文)。

(七)平台下发操作

在交互中,会出现需要MDMS 平台主动向终端发送请求的情况,如果该指令是在第6 章中定义的必须通过短信进行操作的指令,直接用短信发送。否则当终端未登录时,需要平台通过短信下发唤醒操作,通知终端登录到平台后再进行下发。对于部分应用下发的数据,在这种情况下,也可以通过SMS 下发数据。

如果平台下发参数配置后,终端按照指令更新完参数配置,是否需要终端重启由终端决定。如果配置参数需要重启才能生效,则终端主动发送退出登录请求后,再重启。

(八)TaskID机制

对于平台和终端之间可能跨越多个请求-应答的操作,使用TaskID 标识这些操作相关的多个报文。

4.5.3 安全机制

47

联系合同范文客服:xxxxx#qq.com(#替换为@)