一种基于多协议即时通信系统的物联网业务处理系统的制作方法

文档序号:14100084阅读:229来源:国知局
一种基于多协议即时通信系统的物联网业务处理系统的制作方法

本发明涉及物联网技术领域,尤其涉及一种基于多协议即时通信系统的物联网业务处理系统。

技术背景

物联网是新一代信息技术的重要组成部分,旨在利用局部网络或互联网等通信技术把传感器、控制器、机器、人和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。

物联网主要由多协议终端设备和数据处理系统组成。种类繁多的多协议终端设备为适应不同的工作场景,必须采用不同的通信协议以满足数据传输时的速率、功耗、实时性和安全性等要求。然而,传统的物联网数据处理系统中,不同协议间的设备无法实现即时通信和数据共享,并没有真正实现人与物、物与物的互联互通,大大降低了物联网系统的实用性和可行性。物联网系统要实用化,就必须解决不同协议间的设备即时通信和数据共享的问题。

为解决这一关键问题,需要建立不同协议间设备的即时通信系统,并基于该系统建立数据共享、分析平台,真正实现人与物、物与物的互联互通,让物联网收集的大量数据发挥更大的价值。

现在的物联网系统业务处理方法主要实现了单一协议下设备传输数据、存储数据的功能,设备与设备的通信功能简单甚至缺失,数据传输的安全性也难以得到保证。

例如李引在其专利《一种基于物联网的web服务方法及物联网系统》(CN 104468830A)中公开了一种包括至少一个物联网中间件、至少一个物联网应用程序、多个物联网网关的web服务方法和物联网系统。物联网应用程序通过物联网中间件与物联网网关、物联网硬件节点进行数据交互。所有通讯基于web服务接口调用实现。这种采用物联网中间件、物联网网关的系统设计过于复杂,不能基于现有的互联网基础设施部署物联网,使得物联网部署的成本和通用性大大降低。该系统采用REST方法实现的web服务仅仅是抽象化了硬件节点,简化了数据交互方式,并没有解决不同协议间的设备进行通信的问题和数据共享问题。

又如陈圣群在其专利《一种物联网消息推送系统及其方法》(CN104468819A)中描述了一种物联网消息推送系统及其方法,该系统通过物联网消息生成模块对物联网中的重要事件和数据进行识别和分类,生成物联网消息;生成消息队列模块依据物联网消息和用户类型分组,并依据消息与用户优先级进行排序,生成物联网消息队列;消息处理模块根据物联网消息类型及其优先级推送对应的物联网消息至用户,并对反馈消息做选择性处理。该方法只提供了消息从设备推送到用户的单向通道,无法传送用户到设备、设备到设备的消息。将消息从设备推送到用户的过程中缺少对数据安全性的检测模块,导致系统运行时存在较大的安全隐患,难以应用于生产环境。

刘润滋在其专利《一种物联网交换系统及数据处理方法》(CN 103001862A)中公开了一种包含交换模块、收发模块、编译模块、分析模块和存储模块的物联网交换系统。该系统接收数据,对其进行分析编译后发送。该系统旨在为底层标准不同的硬件设备提供一个发送、接收消息的通用系统平台。然而,随着行业标准化的发展,物联网设备发送、接收消息的方法在不同的应用场景下不外乎WebSocket、MQTT、CoAP等几大类。这些方法都有成熟的数据封装、消息路由等体系,物联网系统不再需要直接面向硬件编译数据以统一消息。该系统中的交换模块只能针对经过统一分析编译的数据进行交换,不同协议间的设备并不能相互传递消息,并没有真正实现设备到设备(M2M)的通信功能。



技术实现要素:

有鉴于此,本发明提供了一种基于多协议即时通信系统的物联网业务处理系统,达到了不同协议中多协议终端设备的点对点、点对多即时通信和数据共享的目的。

为实现上述目的,本发明的技术方案是:

一种基于多协议即时通信系统的物联网业务处理系统,其包括:消息管理模块、缓存模块、存储模块、数据处理模块、安全验证模块、协议编译模块和多协议终端设备;其中,缓存模块、存储模块中存储有多协议终端设备的设备通用唯一识别码UUID和令牌;

多协议终端设备,与物联网中其他多协议终端设备进行业务处理时发送相关请求信息,将相关请求信息以设定协议进行发送;

协议编译模块,解析所述协议中多协议终端设备发送的相关请求消息,生成格式统一的物联网消息,并将该物联网消息传输至安全验证模块;

安全验证模块,验证物联网消息的合法性,不合法则向多协议终端设备返回相应错误信息,合法则将物联网消息传输至消息管理模块;

消息管理模块,根据物联网消息的目的地址将物联网消息推送至对应多协议终端设备,实现多协议终端设备与其他多协议终端设备之间的通信,或者同时将物联网消息推送至缓存模块暂存、存储模块固存、数据处理模块进行数据处理。

所述协议编译模块包括:CoAP协议编译器、MQTT协议编译器、Socket.io协议编译器、WebSocket协议编译器、HTTPREST协议编译器和协议编译器;所述协议编译器是预留的协议扩展接口;各编译器通过不同的端口分别侦听、解析来自多协议终端设备的相关请求信息,并将其格式化为安全验证模块和消息管理模块识别的格式统一的物联网消息。

效果较好的,所述安全验证模块包括路径校验模块、消息校验模块、请求参数校验模块及操作校验模块;

路径校验模块,验证物联网消息请求路径的合法性,不合法则向多协议终端设备返回相应错误信息;如果合法,则判断该物联网消息是否需要进行消息校验,若需要进行消息校验,则将物联网消息发送至消息校验模块;否则将物联网消息发送至请求参数校验模块;

消息校验模块,根据物联网消息中附带的UUID从缓存模块或存储模块中获取UUID的对应令牌;若物联网消息中令牌与获取的令牌一致则校验通过,进入请求参数校验模块;否则返回相应的错误信息给多协议终端设备;

请求参数校验模块,校验多协议终端设备发来的物联网消息中参数是否合法,若合法则进入操作校验模块(640),否则返回相应的错误信息给多协议终端设备;

操作校验模块,验证物联网消息中目标设备是否允许业务请求,若允许,则发送物联网消息至消息管理模块,否则返回相应的错误信息给多协议终端设备。

所述存储模块将数据存储在硬盘,包括设备存储模块和数据存储模块;

所述设备存储模块,存储已注册的多协议终端设备的设备属性,设备属性包括UUID和令牌;

所述数据存储模块,存储各多协议终端设备进行业务处理的各类数据。

效果较好的,所述消息管理模块包括消息路由模块、消息通道模块、消息发布订阅模块、日志记录模块;其中,消息通道模块,根据消息类型分为配置消息类通道、控制消息类通道、数据消息类通道;

所述消息路由模块,解析多协议终端设备发送的物联网消息,根据消息类型和目的地址将其送入相应的消息通道模块;若物联网消息属于配置设备属性的消息,则物联网消息进入配置消息类通道;若物联网消息属于发布订阅类消息或回传确认消息,则物联网消息进入控制消息类通道;若物联网消息属于数据消息,则物联网消息进入数据消息类通道;

配置消息类通道与设备存储模块连接,将进入该配置消息类通道的物联网消息传给设备存储模块进行处理;

控制消息类通道分别与消息订阅模块、协议编译模块连接,将发布订阅类消息发往消息订阅发布模块进行处理,将回传确认消息发往协议编译模块;

数据消息类通道分别与协议编译模块、数据存储模块连接,若数据消息的目的地址是设备,则将该数据消息发往协议编译模块(700),编译消息格式后传递给目的设备;若数据消息的目的地址是数据存储模块,则将其发往数据存储模块存储;

所述消息发布订阅模块,接收控制消息类通道发送的发布订阅类消息,若订阅目标设备允许订阅请求,则所述消息发布订阅模块建立订阅双方设备之间的消息通道,否则发送相应错误给请求订阅设备;

所述日志记录模块,监测记录消息管理模块的运行状态,并在消息管理模块产生过载、故障情况时发出预警并生成日志。

效果较好的,配置消息类通道优先级最高,控制消息类通道次之,数据消息类通道最低。

效果较好的,所述缓存模块的数据存储在内存;

所述消息管理模块访问设备信息或者消息校验模块进行消息校验时,首先在缓存模块中查找对应数据;若找到则直接获取,找不到则进入存储模块的设备存储模块或数据存储模块中查找;

并将在设定时间内存储模块中被访问超过3次的数据导入缓存模块。

效果较好的,所述数据处理模块包括实时数据处理模块和离线数据处理模块;

所述离线数据处理模块,提供对存储模块所存储的数据进行汇总处理的平台,用于对历史时间段内采集的各类信息进行分析挖掘,并将分析结果存入存储模块,或将分析结果通过消息管理模块直接推送给相关设备;

实时数据处理模块,携带需要实时处理数据的消息由消息管理模块直接推送到实时数据处理模块,实时数据处理模块提供要求实时处理数据的平台,并将处理结果存储模块,或将处理结果通过消息管理模块直接推送给相关设备。

有益效果:

本发明为不同协议中的多协议终端设备提供唯一标识符UUID。UUID即通用唯一识别码(Universally Unique Identifier),它能保证不同协议中每个多协议终端设备生成的标识不会重复。多协议终端设备第一次加入本发明系统中时首先执行注册操作获取UUID,将其作为该设备在本发明系统中的唯一标识符。不同协议中的多协议终端设备基于UUID来识别、定位其它多协议终端设备,从而实现多协议间多协议终端设备即时通信功能,真正实现人与物、物与物的互联互通。

本发明通过编译模块和消息管理模块实现了多协议间设备即时通信功能,解决了物联网人与设备,设备与设备(M2M)通信的最基本需求。其他物联网应用在本发明系统多协议即时通信功能的基础上实现更复杂的物联网应用,降低了物联网应用的开发成本和技术难度。

本发明将编译模块与安全验证模块、消息管理模块、数据处理模块等解耦,实现了不改变系统整体结构和多协议终端设备的条件下快速扩展协议支持的功能。私有协议、新型协议只要在本发明中加入对应的协议编译模块,该协议中的多协议终端设备即可加入本发明系统,与其他协议中的设备进行即时通信和数据共享。

本发明采用缓存模块将经常访问查询的数据从硬盘导入内存,大大缩短了消息管理模块查找设备信息和数据信息的时间。极大提高了系统的运行、响应速度,使本发明系统可以满足实际应用的需求。

本发明采用缓存模块建立消息等待队列,数据运算和硬盘存储的速度相对I/O操作较慢,当数据运算和硬盘存储的负荷过重不能及时处理接收到的数据时,缓存模块的消息等待对了提高了系统的并发性和稳定性。

本发明中,不同协议中多协议终端设备采集的数据统一存储在数据存储模块,数据处理模块经授权可以对其进行分析挖掘。本发明将底层多协议终端设备开发和上层数据挖掘的过程分离,降低了物联网应用的开发门槛,让多协议终端设备采集的数据发挥更大的价值,从而降低了物联网部署的成本,具有节约人力物力、智能化程度高、可广泛应用到各领域的积极效应。

附图说明

图1是本发明的整体结构图。

图2是本发明具体实施用例的系统结构图。

图3是本发明的安全验证模块结构图。

图4是本发明的消息管理模块结构图。

具体实施方式

下面结合技术方案和附图详细说明本发明的具体实施例,但本发明的实施方式不限于此。

本发明提供了一种基于多协议即时通信系统的物联网业务处理系统,如图1所示,其特征在于,包括消息管理模块(100)、缓存模块(200)、存储模块(300)、数据处理模块(400)、安全验证模块(600)、编译模块(700)和多协议终端设备(800)。

任意多协议终端设备加入网络时,向服务器请求注册,注册成功后,服务器为其分配多协议终端设备唯一的设备UUID和令牌;服务器同时将该多协议终端设备的设备UUID和令牌存储至存储模块(300);

多协议终端设备(800)需要与网络中其他多协议终端设备进行业务处理时发送相关信息,以设备之间通信的设定协议进行发送;协议编译模块(700)解析所述协议中多协议终端设备(800)发送的消息,生成格式统一的物联网消息(500),并将该物联网消息传输至安全验证模块(600);

安全验证模块(600)验证物联网消息(500)的合法性,不合法则以多协议终端设备(800)所在协议返回相应错误信息,合法则将物联网消息传输至消息管理模块(100);

消息管理模块(100)根据物联网消息的目的地址,将物联网消息推送至其他多协议终端设备,实现多协议终端设备(800)与其他多协议终端设备之间的通信,或者同时将物联网消息推送至缓存模块(200)暂存、存储模块(300)固存、数据处理模块(400)进行数据处理。

进一步的,如图2所示,本发明所述协议编译模块(700)连接各多协议终端设备和安全验证模块,且协议编译模块(700)包括CoAP协议编译器(710)、MQTT协议编译器(720)、Socket.io协议编译器(730)、WebSocket协议编译器(740)、HTTPREST协议编译器(750)和协议编译器(760)。上述编译器使本实施例具有了支持MQTT、CoAP、WebSocket、Socket.io、WebSocket、HTTPREST等协议中多协议终端设备相互通信的功能。本发明通过不同的端口侦听来自不同协议中多协议终端设备的请求。所述不同协议的编译器分别负责解析来自对应协议的请求,将其格式化为安全验证模块(600)和消息管理模块(100)可以处理的格式统一的物联网消息(500)。其中,本发明所述协议编译器(760)是预留的协议扩展接口,目的在于针对新发展的协议或私有协议开发相应的协议编译模块,将新协议的请求格式化为格式统一的物联网消息(500)。不同协议编译模块的解耦设计使得本发明能够在不改动系统整体和不改变设备终端的条件下扩展对其它协议的支持,让其它协议中的设备可以快速加入到本发明系统中。协议支持的灵活性和扩展的快速性使得本发明可以将使用各种联网协议的多协议终端设备加入到同一个即时通信系统中,从而真正实现物联网的万物互联的目的。

如图3所示,本发明所述安全验证模块(600)连接各协议编译模块和消息管理模块,安全验证模块(600)包括路径校验模块(610)、消息校验模块(620)、请求参数校验模块(630)及操作校验模块(640)。不同协议中多协议终端设备(800)的请求通过编译模块(700)格式化为格式统一的物联网消息(500)后进入安全验证模块(600)的路径校验模块(610),路径校验模块(610)首先验证物联网消息(500)请求路径的合法性,不合法则向多协议终端设备返回相应错误信息;如果合法,则判断该物联网消息(500)是否需要进行消息校验,若物联网消息(500)目的是访问其他多协议终端设备数据或与其他多协议终端设备进行通信,则需要进行设备校验,该物联网消息(500)进入消息校验模块(620);否则不需要进行设备校验,该物联网消息(500)直接进入请求参数校验模块(630)。

消息校验模块(620)后根据物联网消息(500)中附带的设备UUID和令牌从缓存模块(200)获取设备UUID的对应令牌,若缓存模块(200)中无获取设备UUID的对应令牌。若物联网消息(500)中令牌与获取的令牌一致则校验通过,进入请求参数校验模块(630);否则返回相应的错误信息给多协议终端设备(800)。

请求参数校验模块(630)校验多协议终端设备发来的物联网消息(500)中参数是否合法,参数包括请求字段的合法性、请求值的合法性等。若通过校验则进入操作校验模块(640),否则返回相应的错误信息给多协议终端设备(800)。

操作校验模块(640)验证物联网消息(500)中目标多协议终端设备是否允许业务请求。若允许则校验通过,进入消息管理模块(100)执行相应的操作,否则返回相应的错误信息给多协议终端设备(800)。

所述消息管理模块(100)是本发明的核心模块,该模块与安全验证模块、缓存模块、存储模块和数据处理模块连接,所有设备的数据交互、数据操作和控制操作都要通过该模块实现消息传递。所述消息管理模块(100)包括消息路由模块(110)、消息通道模块(120)、消息发布订阅模块(130)、日志记录模块(140)。

本发明所述存储模块(300)的数据存储在硬盘,连接消息管理模块(100)、缓存模块(200)和数据处理模块(400),主要包括设备存储模块(310)和数据存储模块(320)。

所述设备存储模块(310)存储已注册的多协议终端设备(800)的各种属性,包括设备UUID、状态、地理位置、令牌、配置黑白名单、访问黑白名单、父设备等。其中,设备UUID指通用唯一识别码(Universally Unique Identifier),它能保证每个多协议终端设备(800)生成的标识不会重复。多协议终端设备(800)第一次加入本发明系统中时首先进行注册操作获取UUID,将其作为该设备在本发明系统中的唯一标识符,不同协议中的多协议终端设备(800)基于UUID来识别、定位其它多协议终端设备(800)。

所述数据存储模块(320)存储各类设备采集、推送的各类数据,包括采集位置、采集时间、采集值等,为数据处理模块(400)提供材料库。

所述消息路由模块(110)解析多协议终端设备(800)发送的物联网消息(500),将消息按类别和目的地址将其送入相应的消息通道模块(120)。消息通道模块(120)根据消息类型分为配置消息类通道(121)、控制消息类通道(122)、数据消息类通道(123)三大类。

若物联网消息(500)属于配置设备属性的消息,则物联网消息(500)进入配置消息类通道(121);若物联网消息(500)属于发布订阅类消息或回传确认消息,则物联网消息(500)进入控制消息类通道(122);若物联网消息(500)属于数据消息,则物联网消息(500)进入数据消息类通道(123)。

配置消息类通道(121)与设备存储模块(310)连接,传递配置设备各属性的消息,包括设备注册、设备删除、令牌更新、父设备设置、黑白名单列表设置等,进入该通道的消息将传给设备存储模块进行处理。

控制消息类通道(122)与消息订阅模块(130)和编译模块(700)连接,传递设备控制消息,包括消息订阅、回传确认等消息。若控制消息是发布订阅类消息,将该消息发往消息订阅发布模块(130)进行处理。若是回传确认消息,将该消息发往目的设备所在的协议编译模块(700),编译为该协议可以传输的消息格式后传递给目的设备。

数据消息类通道(123)与协议编译模块(700)和数据存储模块(320)连接,传递数据消息,主要包括设备采集的数据和存储模块中的数据。若数据消息的目的地址是设备,将该消息发往目的设备所在的协议编译模块,编译为该协议可以传输的消息格式后传递给目的设备。若数据消息的目的地址是数据存储模块(320),则将其发往数据存储模块(320)存储、获取数据。

配置消息类通道(121)优先级最高,控制消息类通道(122)次之,数据消息类通道(123)最低。不同类型通道的信息优先级不同,从而保证实时性要求高的消息能够尽快到达目的设备。本发明中的每一类通道是相同类型通道组成的集合,集合中的元素是目的地址不同的消息通道,一个目的地址对应一个消息通道。

所述消息发布订阅模块(130)处理多协议终端设备的订阅请求,相当于消息管理模块中的“接线员”,为不同协议中的各种设备建立、取消传递消息的通道,使不同协议间的设备能够无障碍通信。其特征在于,多协议终端设备A要订阅多协议终端设备B的某类型消息则发送对应请求,消息发布订阅模块校验多协议终端设备B是否允许多协议终端设备A订阅其该类型消息。若允许则消息发布订阅模块建立多协议终端设备B到多协议终端设备A的消息通道。若不允许则将相应错误发送给请求多协议终端设备A。

所述日志记录模块(140)监测记录消息管理模块的运行状态,消息管理模块(100)产生过载、故障等情况时发出预警并生成日志,提高本发明系统的运行稳定性。

本发明所述缓存模块(200)的数据存储在内存,该模块位于消息管理模块(100)和存储模块(300)之间。其特征在于,所述消息管理模块(200)访问设备信息或者设备采集的数据时,首先在缓存模块(200)中查找。若找到则直接获取数据,找不到则进入存储模块(300)的设备存储模块(310)和数据存储模块(320)查找获取相应数据。设备信息再次被访问到的可能性很大,因此本发明直接将设备存储模块(310)中查找获取的设备信息存入缓存模块(200),提高消息管理模块(100)下次访问设备信息的速度。

然而,存储模块(320)中的数据被再次访问的可能性较低,只有在较短时间t秒内被访问超过3次的数据才从数据存储模块(320)导入缓存模块(200),其中t值的大小视数据所在具体应用确定。物联网系统时刻在接收、处理、存储大量数据,而数据运算和硬盘存储的速度相对I/O操作较慢,当数据运算和硬盘存储的负荷过重不能及时处理接收到的数据时,缓存模块(200)建立消息处理等待队列,从而提高系统的并发性能。所述缓存模块(200)大大缩短了消息管理模块查找设备信息和数据信息的时间,极大提高了系统的运行、响应速度,使本发明系统可以满足实际应用的需求。

所述数据处理模块(400)是一种进行数据分析、数据挖掘的平台,与消息管理模块(100)、缓存模块(200)和存储模块(300)连接,主要包括实时数据处理模块和离线数据处理模块。基于该平台可以对授权数据进行分析挖掘,使本发明收集的数据在保证安全的前提下发挥更大的价值,提高不同协议中每个多协议终端设备的价值。所述离线数据处理模块提供对数据存储模块所存储的数据进行汇总处理的平台,利用该模块可以对过去一段时间内采集的各类信息进行分析挖掘,得到相应结论后可以将分析结果存入数据存储模块,也可以通过消息管理模块直接推送给相关设备。实时数据处理模块提供分析处理实时性要求较高的数据的平台,携带需要实时处理数据的消息由消息管理模块直接推送到实时数据处理模块,处理模块运行实时处理算法,快速运算得出相应结果后将其存储入数据存储模块,也可以直接推送给相关设备,应用于提示预警、发出警报等。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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