[发明专利]一种基于自定义协议及Netty框架的交互方法有效
| 申请号: | 201711417696.8 | 申请日: | 2017-12-25 |
| 公开(公告)号: | CN108234614B | 公开(公告)日: | 2020-02-18 |
| 发明(设计)人: | 陆璐;刘欣 | 申请(专利权)人: | 华南理工大学 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L12/26 |
| 代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
| 地址: | 510640 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 自定义 协议 netty 框架 交互 方法 | ||
1.一种基于自定义协议及Netty框架的交互方法,其特征在于,包括如下步骤:
S1、利用PLC连接终端采集模块检测终端设备的实时环境,采集各类开关量、模拟量的实时数据,将采集到的模拟信号转换成数字信号;所述PLC为可编程逻辑控制器;
S2、由步骤S1中获得数字信号后,利用PLC连接通信模块通过自定义协议与云平台服务器建立TCP/IP连接,登记维护该连接,将实时数据发送至云平台服务器,同时建立心跳包,所述心跳包用于检测各远程终端的连接情况并传输数据;所述自定义协议为TCP/IP应用层的协议,即PLC与云平台服务器的通信规则;具体的:
S21、远程终端要发送采集数据时,首先由云平台服务器通过自定义协议向PLC发送云平台服务器请求报文,该报文的第一个字符是消息类型,PLC根据消息类型辨认是否应该读取该报文以及该报文属于哪一个命令集;在消息类型之后是设备编号,以两个字符代表,用以辨别所属设备;设备编号之后是要解读的命令或数据;
S22、PLC在确认云平台服务器请求报文之后,向云平台服务器返回采集卡回应报文;同样,采集卡回应报文被送出时会在报文之前加上消息类型和设备编号,云平台服务器也由此辨别数据来自何处,在返回的数据中,包含该设备的唯一硬件ID信息;在云平台服务器接收到采集卡回应报文后,远程终端与云平台服务器成功建立连接,并向云平台服务器发送采集数据报文;
S23、云平台服务器通过非阻塞方式读取采集数据报文,读函数不停地进行读动作,利用length判断循环读写什么时候结束,再根据length的长度数值去读采集数据报文;如果云平台服务器没有接收到采集数据报文,指定超时时间,等待一段时间后超时返回;
S24、云平台服务器收到远程终端发送回来的采集数据报文,即进行解读检查的操作;当检查完成后,再送一个确定的字符串给远程终端,用以说明云平台服务器已成功收到采集数据报文;而若读取失败,云平台服务器在回送的字符串中要求远程终端重新发送采集数据报文;另外采集数据报文发送时,在采集数据报文最后加上校验字符,所述校验字符用于收发双方检查判断采集数据报文的正确性;
S25、在远程终端收发数据之前,云平台服务器向远程终端发起连接请求,远程终端接受云平台服务器连接,双方建立TCP/IP连接,其中需要把远程终端与云平台服务器头部的connection设为keep-alive,即长连接模式;
S26、在远程终端与平台服务器建立连接的过程中,为防止中间节点出现故障导致远程终端与平台服务器断开连接,需建立心跳包,用于维持长连接;云平台服务器接收远程终端连接生成数字字典OnlinCounter[User],若远程终端返回心跳相应,则数字字典OnlinCounter[User]++,否则OnlinCounter[User]=0,当OnlinCounter[User]=0的次数大于自定义阈值,判断为远程终端断开连接,云平台服务器重新发起连接;其中,设置自定义协议中的SO_KEEPALIVE,用setsockopt将SOL_SOCKET.SO_KEEPALIVE设置为1,同时设置三个参数tcp_keepalive_time/连接闲置开始发keepalive的ACK包时间、tcp_keepalive_probes/发ACK包不回复即认为连接断开的数量、以及tcp_keepalive_intvl/两个ACK包之间的时间间隔;
S3、由步骤S2中PLC与云平台服务器建立连接后,云平台服务器及时处理来自远程终端的接入,登记和维护与远程终端的连接,利用成熟的Netty线程模型,为远程终端的接入分配相应的线程处理响应,向已注册的对应线程处理发送请求以及应答;
S4、由步骤S3云平台服务器分配好计算资源后,云平台服务器对终端采集模块实时采集到的数据进行分类筛选,在云平台服务器上对海量数据进行处理与存储,对数据进行统计分析,并将统计数据通过电脑或移动端进行实时展示,在宏观上掌握各终端设备的状况;
S5、由步骤S4云平台服务器通过终端采集模块对终端设备实时监控,电脑或移动端通过TCP/IP协议与云平台服务器进行连接,发送自定义指令到终端控制模块,对终端设备的各类智能硬件设施进行远程控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711417696.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于微信平台的服务系统
- 下一篇:表项处理方法、主板及主网络设备





