System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及物联网,尤其涉及一种tcp数据的解析处理方法、装置及存储介质。
技术介绍
1、作为物联网设备接入平台,经常需要对接来自不同厂商的多种终端设备。这些终端设备通过tcp连接接入物联网设备接入平台,并且这些终端设备使用的tcp协议都是厂商自定义的,协议格式往往差异很大。
2、在整个接入过程中,由于物联网接入平台部署到客户私有环境时,客户部署环境里还有其他应用,能分配给物联网接入平台的对外暴露的端口范围是有严格限制的,如果是单个端口对应一种tcp协议,可能会面临物联网设备接入平台的端口资源不足的问题,以及,由于通常是将多种tcp协议的解码逻辑写在一起,如果是单个端口对应多种tcp协议,可能会面临解码处理逻辑耦合严重,经常出现不能正确解析tcp消息的情况,导致消息遗漏或者消息处理报错的问题。
技术实现思路
1、本申请实施例提供一种tcp数据的解析处理方法、装置及存储介质,以解决相关技术存在的问题,技术方案如下:
2、第一方面,本申请实施例提供了一种tcp数据的解析处理方法,包括:
3、获取物联网设备接入平台的端口的配置参数,初始化所述配置参数,所述配置参数为根据可视化配置页面上的各个配置项创建的,所述配置参数包括所述端口对应的n种tcp协议,以及任一种tcp协议的协议字段和业务逻辑处理类字段,n为大于或等于1的整数;
4、所述端口接收到来自终端设备的tcp流式数据时,读取所述tcp流式数据中的目标协议字段,根据所述目标协议字段和所述配
5、解析所述目标tcp协议,获得协议内容;
6、根据所述配置参数,确定所述目标tcp协议的目标业务逻辑处理类字段;
7、根据目标业务逻辑处理类字段,将所述协议内容的业务处理逻辑以父类接口的形式暴露在所述端口上。
8、在一种实施方式中,任一种所述tcp协议的协议字段包括:包头、包尾和包长这三个字段,所述目标协议字段为包头字段;
9、读取所述tcp流式数据中的目标协议字段,根据所述目标协议字段和所述配置参数,识别出所述tcp流式数据的目标tcp协议包括:
10、读取所述tcp流式数据中的包头字段;
11、根据所述包头字段和所述配置参数,识别出所述tcp流式数据的目标tcp协议。
12、在一种实施方式中,读取所述tcp流式数据中的包头字段包括:
13、读取所述tcp流式数据中的前2个字节,获得所述包头字段;
14、其中,若当前读取到的字节数不足2个,则缓存当前读取的字节,等待后续的字节到达,直至读取到所述tcp流式数据中的前2个字节为止。
15、在一种实施方式中,初始化所述配置参数包括:
16、加载任一种所述tcp协议;
17、针对任一种所述tcp协议,生成任一种所述tcp协议的解码器实例;
18、根据任一种所述tcp协议的解码器实例,生成任一种所述tcp协议的解码器。
19、在一种实施方式中,解析所述目标tcp协议,获得协议内容包括:
20、调用所述目标tcp协议的解码器,解析所述目标tcp协议中合法的完整字节流数据,获得所述协议内容。
21、在一种实施方式中,所述配置参数还包括任一所述tcp协议的协议字段转换结果类字段;
22、根据目标业务逻辑处理类字段,将所述协议内容的业务处理逻辑以父类接口的形式暴露在所述端口上包括:
23、根据所述配置参数,确定所述目标tcp协议的目标协议字段转换结果类字段;
24、根据所述目标协议字段转换结果类字段,将所述协议内容转换为协议字段转换结果类实例;
25、根据所述目标业务逻辑处理类字段,生成业务逻辑处理类实例;
26、将所述协议字段转换结果类实例传递给业务逻辑处理类,实现将所述协议内容的业务处理逻辑以父类接口的形式暴露在所述端口上。
27、在一种实施方式中,所述配置参数还包括任一所述tcp协议的协议内容校验类字段;所述方法还包括:
28、根据所述配置参数,确定所述目标tcp协议的目标协议内容校验类字段;
29、根据所述目标协议内容校验类字段,调用通用校验处理器对所述协议内容进行校验;
30、所述协议内容校验通过后,执行根据所述配置参数,确定所述目标tcp协议的目标业务逻辑处理类字段。
31、在一种实施方式中,所述方法还包括:
32、在新增任一种tcp协议的情况下,响应于针对所述可视化配置页面上的协议配置项、协议字段配置项和业务逻辑处理类配置项的新增操作,更新所述配置参数。
33、第二方面,本申请实施例还提供了一种tcp数据的解析处理装置,包括:
34、处理单元,用于获取物联网设备接入平台的端口的配置参数,初始化所述配置参数,所述配置参数为根据可视化配置页面上的各个配置项创建的,所述配置参数包括所述端口对应的n种tcp协议,以及任一种tcp协议的协议字段和业务逻辑处理类字段,n为大于或等于1的整数;
35、识别单元,用于所述端口接收到来自终端设备的tcp流式数据时,读取所述tcp流式数据中的目标协议字段,根据所述目标协议字段和所述配置参数,识别出所述tcp流式数据的目标tcp协议;
36、解析单元,用于解析所述目标tcp协议,获得协议内容;根据所述配置参数,确定所述目标tcp协议的目标业务逻辑处理类字段;根据目标业务逻辑处理类字段,将所述协议内容的业务处理逻辑以父类接口的形式暴露在所述端口上。
37、在一种实施方式中,任一种所述tcp协议的协议字段包括:包头、包尾和包长这三个字段,所述目标协议字段为包头字段;所述识别单元具体用于:
38、读取所述tcp流式数据中的包头字段;
39、根据所述包头字段和所述配置参数,识别出所述tcp流式数据的目标tcp协议。
40、在一种实施方式中,所述识别单元具体用于:
41、读取所述tcp流式数据中的前2个字节,获得所述包头字段;
42、其中,若当前读取到的字节数不足2个,则缓存当前读取的字节,等待后续的字节到达,直至读取到所述tcp流式数据中的前2个字节为止。
43、在一种实施方式中,所述处理单元具体用于:
44、加载任一种所述tcp协议;
45、针对任一种所述tcp协议,生成任一种所述tcp协议的解码器实例;
46、根据任一种所述tcp协议的解码器实例,生成任一种所述tcp协议的解码器。
47、在一种实施方式中,所述解析单元具体用于:
48、调用所述目标tcp协议的解码器,解析所述目标tcp协议中合法的完整字节流数据,获得所述协议内容。
49、在一种实施方式中,所述配置参数还包括任一本文档来自技高网...
【技术保护点】
1.一种tcp数据的解析处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,任一种所述tcp协议的协议字段包括:包头、包尾和包长这三个字段,所述目标协议字段为包头字段;
3.根据权利要求2所述的方法,其特征在于,读取所述tcp流式数据中的包头字段包括:
4.根据权利要求1所述的方法,其特征在于,初始化所述配置参数包括:
5.根据权利要求4所述的方法,其特征在于,解析所述目标tcp协议,获得协议内容包括:
6.根据权利要求1所述的方法,其特征在于,所述配置参数还包括任一所述tcp协议的协议字段转换结果类字段;
7.如权利要求1所述的方法,其特征在于,所述配置参数还包括任一所述tcp协议的协议内容校验类字段;所述方法还包括:
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
9.一种tcp数据的解析处理装置,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,当所述计算机程序在计算机上运行
...【技术特征摘要】
1.一种tcp数据的解析处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,任一种所述tcp协议的协议字段包括:包头、包尾和包长这三个字段,所述目标协议字段为包头字段;
3.根据权利要求2所述的方法,其特征在于,读取所述tcp流式数据中的包头字段包括:
4.根据权利要求1所述的方法,其特征在于,初始化所述配置参数包括:
5.根据权利要求4所述的方法,其特征在于,解析所述目标tcp协议,获得协议内容包括:
6.根据权利要求1所述的方法,...
【专利技术属性】
技术研发人员:江辉,余文博,骆镇城,甘茂鹏,黎扬宁,
申请(专利权)人:广东亿迅科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。