一种处理多种通信方式下异构数据的接收和解析方法与流程

文档序号:33729675发布日期:2023-04-06 02:43阅读:32来源:国知局
一种处理多种通信方式下异构数据的接收和解析方法与流程

本发明涉及物联网,尤其涉及一种处理多种通信方式下异构数据的接收和解析方法。


背景技术:

1、随着全球计算机技术和信息通信技术的快速发展,物联网相关的采集技术和传输技术也蓬勃发展,相应的采集系统的信息化程度也随之越来越高,使得整个人类社会所共享的数据量级快速增长,数据格式也越来越多样化。因此物联网网关作为连接设备与服务平台的中间层,其作用越来越重要,它已经逐渐成为连接感知网络与传统通信网络的纽带;对它对要求也越来越高,需要对接更多的通信方式和通信协议。

2、早期的远程数据传输在通信上主要以tcp和udp为主,数据格式以字节流为主,比如mobus tcp、iec104等。后来随着操作系统、硬件的规格、通信技术的发展,逐步出现了mqtt、http、coap作为数据传输的通信方式:

3、mqtt协议是一种消息队列传输协议,它是一种基于发布/订阅(publish/subscribe)模式的轻量级通讯协议。它构建于tcp/ip协议基础之上,最大的优点是可以以极少的代码和有限的带宽,为远端设备提供实时可靠的消息服务。做为一种低开销、低带宽的即时通讯协议,mqtt在物联网、小型设备、移动应用等多个方面有广泛的应用。它可以通过不同的topic来去传递不同格式的数据。数据发送端和接收端均为tcp的客户端,中间通过broker来进行数据传递。本方法在技术实现上通过开源的网络通信框架netty实现一套mqtt的通信框架。

4、http作为最常见的通信协议之一,也是构建于tcp/ip协议基础之上,支持客户/服务器模式,工作模式简单可靠,有合理的状态码定义和合理的方法定义,且是无状态。采用post方式传输数据是物联网中常用的方法。url以rest风格实现是目前比较流行的方式。在技术上可以通过以springboot为底层技术支撑web框架,快速搭建服务接口。

5、coap采用与http协议相同的请求响应工作模式,它是一种特殊的web协议,可用在不可靠的设备或者网络上,这些设备一般是只有单字节的微控制器,这个协议主要用于点到点应用,例如:低电量设备、智能设备,同时支持组播。coap和http类似,可以把coap看成http的缩小版,用于小存储不可靠的环境。californium框架是一款基于java实现的coap技术框架,该项目实现了coap协议的各种请求响应定义,支持con/non不同的可靠性传输模式。californium基于分层设计且高度可扩展。

6、在传输的数据内容上,不同特性的设备所传输的数据格式也是多种多样,所涉及到的内容包括json、格式化字符串和字节流:json是一种轻量级的数据交互格式,本质是字符串,是由一组或多组键值对数据所组成对象,如“{"name":"张四","values":1}”。格式化字符串是一组能够通过头尾标识或数据分割字符进行解析的字符串,如ntrip协议中的数据格式“$gpgga,134658.00,5106.9792,n,11402.3003,w,2,09,1.0,1048.47,m,-16.27,m,08,0000*60\r\n”。字节流数据即传输数据为传输数据的基本单位是字节的流,包含边界数据的连续流;字节流是由字节组成的,主要用在处理二进制格式数据,如modbustcp就属于字节流格式数据“000100000006010100020004”。

7、当前主流的物联网产品多种多样,大多数是支持一种通信方式及一种数据格式,而在实际的工作中,却存在需要在某些特定的场景下支持多种设备的不同通信方式和不同的数据格式的接入。但是开发和部署不同的设备处理平台,又增加了研发费用和运维费用,因此需要整合上述多种通讯方式和多种数据解析方式的技术特点,实现一种在单一平台下的多类型物联设备的接入和解析协议方法,以支撑实际的业务应用。


技术实现思路

1、本发明的目的在于克服现有技术的不足之处,提供一种处理多种通信方式下异构数据的接收和解析方法,该方法从处理物联网中多种设备的上述常用通信方式及常用数据格式的实际应用场景出发,将实现方法分为四个部分:通信层,解析层,配置层和存储层,组成一套标准化的数据处理流程和输出的数据格式,保证后期扩展针对tcp和udp协议的数据时,提供技术基础和配置基础。

2、本发明的目的是通过以下技术方案实现的:

3、一种处理多种通信方式下异构数据的接收和解析方法,包括以下步骤:

4、步骤1,通过界面录入物联设备接入相关的通信配置和解析配置包括:设备信息、通信信息、总体解析信息、分段解析信息等相关配置,并更新到redis和mysql;

5、步骤2,通信层通过redis获取通信配置,启动mqtt、coap、http三个通信服务,等待设备接入;

6、步骤3,当设备通过http方式接入时,根据设备发送数据中的url中获取的设备id信息去redis中查询相应的设备信息来判定设备是否有效,若设备有效则将设备的“配置项”和原始数据发送到解析层;

7、步骤3.1,当设备通过coap方式接入时,根据设备发送数据中的url中获取的设备id信息去redis中查询相应的设备信息来判定设备是否有效,若设备有效则将设备的“配置项”和原始数据发送到解析层;

8、步骤3.2,当设备功过mqtt方式接入时,根据设备接入的的topic及发送过来的用户名(即设备id)去redis中查询相应的设备信息来判定设备是否有效,若设备有效则将设备的“配置项”和原始数据发送到解析层;

9、步骤4,当数据转到解析层后,配置层根据“配置项”从redis中查找具体解析,包括json、字节流及字符串内容,至此数据解析所需的基础信息获取完成;

10、步骤5,通过guava线程池创建任务:根据“配置项”创建相应的数据解析实体类对象;然后将步骤4中获取的信息传入实体类;

11、步骤6,启动guava线程池中的任务开始进行数据任务,首先进行数据校验,判断导入原始数据是否为有效可解析的数据,若为有效数据,则进行数据解析;

12、步骤7,执行完成后,会将标准的统一数据结构的json数据输出至存储层,目前可输出到kafka和rocketmq中间件。

13、优选的,通信层通过整合现有通信框架来实现以mqtt、http、coap为通信协议的设备接入;

14、解析层通过整合json、字符串、字节流三种数据格式的特性,实现数据的解析,并转为标准的json数据结构,从而实现数据格式的统一输出,方便后期的业务系统使用;

15、配置层遵循约定大于配置,配置大于代码的原则实现通信参数、解析参数的组织,通过可视化界面录入来实现参数配置;

16、存储层负责将上述配置信息进行存储,采用redis和mysql作为存储介质。

17、优选的,解析层通过springboot框架实现http的通信和基础程序框架,使用californium框架实现coap通信;这两种框架不需要进行技术修改即可实现通信架构;通过netty框架实现mqtt通信协议,并调整通信架构中broker的部分功能,去除topictree及mqtt的订阅端subscribe相关数据订阅功能,保留mqtt通信处理功能,当mqtt的数据发送端publish数据过来时,将payload中的数据直接进行处理,保证数据接收和处理流程与http、coap这种request/response保持一致性。

18、优选的,配置层针对三种不同的通信协议所支持的数据格式,将传输格式的解析参数分为两部分,第一部分为总体解析配置,第二部分为分数据格式解析配置:

19、http及coap接入规则:采用post方式上传,url中引入参数作为设备解析数据信息,由下面两部分组成:服务端ip和端口通过配置文件实现及url路径描述(/api/v1/{配置项}/{设备编码}/telemetry,“配置项”由上表描述配置,“设备编码”为设备唯一标识符);

20、mqtt接入规则:broker的ip和端口通过配置文件实现:通过界面配置上表中的topic,作为数据解析(数据格式及数据处理细节查找)准则;采用设备标识符作为判断用户名,实现接入权限判断。

21、优选的,存储层包括存入redis供实时调用以便增加设备处理接入数据解析速度及存入mysql数据库进行存档,当配置信息需要修改时,需要从mysql数据库获取信息展示到界面,通过界面修改后再更新redis及mysql数据库。

22、本发明的优点和技术效果是:

23、1、本发明的一种处理多种通信方式下异构数据的接收和解析方法,提出分层处理概念,能够保证各个模块之间高度解耦。

24、2、本发明的一种处理多种通信方式下异构数据的接收和解析方法,采用分布式架构,在部署时在服务的前端可增加负载均衡节点后端可动态部署多个服务节点,从而提高系统的可用性及数据处理能力。

25、3、本发明的一种处理多种通信方式下异构数据的接收和解析方法,可配置化的数据解析方式,可通过配置实现动态扩展json、字符串、字节流三种格式的数据解析,而不用通过编写代码实现。

26、4、本发明的一种处理多种通信方式下异构数据的接收和解析方法,统一输出的数据格式,保证各个设备输出数据的一致性,方便其他应用对数据进行二次处理。

27、5、本发明的一种处理多种通信方式下异构数据的接收和解析方法,独立且抽象化的通信技术实现方式,可做到设备接入模式的快速扩展,并直接对接数据处理模块,做到业务的快速拓展。

28、6、本发明的一种处理多种通信方式下异构数据的接收和解析方法,提供了一套标准化的数据处理流程和输出的数据格式,保证后期扩展针对tcp和udp协议的数据时,提供技术基础和配置基础。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1