一种物联网数据总线中间件
技术领域
本发明属于物联网技术领域,特别涉及一种物联网数据总线中间件。
背景技术
物联网(Internet of Things,IOT)的概念于1999年由美国麻省理工学院提出。根据国际电信联盟(ITU)提出的物联网概述草案,物联网为一个信息社会的全球基础设施,以现有的、不断变化的互操作信息以及通信技术为基础,使先进的服务与“物”(物理和虚拟)互连。物联网通过识别,数据采集,处理和通信能力的开发为各类应用提供服务,同时保证必要的隐私。
简言之,物联网就是“物物相连”。但是由于物联网中的“物”范围广泛,种类繁多,并且这些“物”来自不同的厂商,可能采用不同的系统平台,使得“物——物”之间交互变得困难,信息无法有效整合利用。另外海量数据对网络的可扩展性以及系统的可伸缩性的高要求,这些都是现今物联网快速发展所面临的问题。
发明内容
本发明的目的是提供一种物联网数据总线中间件,以解决在现有物联网领域中异构平台间的互联问题。
本发明的技术方案是,一种物联网数据总线中间件,用以实现物联网数据转发、任务调度以及调度监控,该中间件包括客户端和多个服务端,客户端将通信数据根据通信协议配置文件封装为数据包后,按照客户端的服务配置,通过客户端通信功能,向所有的服务端发起呼叫,
响应呼叫的服务端根据客户端通信呼叫,建立双向微通道通信服务列表,且利用服务端的消息解析模块对于收到的数据包进行解包处理,获取数据包中的消息类型,同时,
响应呼叫的服务端利用任务调度模块中负载信息采集功能,获取其他服务端负载信息并写入任务分配转发表,接着,
结合负载均衡算法和任务分配转发表的信息,确定完成任务的服务端,连接呼叫相应的服务端外部接口,实现任务的转发,这里,
所述的微通道是指,物联网中可感知类型的对象与最终处理应用程序之间抽象的专用通信通道,每个感知对象对应一个专用的微通道,利用专用微通道实现对其所对应对象的实时监控,
双向微通道通信服务列表,根据双方的通信创建双向微通道并建立,通过查找通信服务列表实现物联网中感知设备与服务器之间、服务器与服务器之间的双向通信,
任务分配转发表用于任务智能分配,采用负载均衡理念,根据任务信息,服务端负载信息,建立任务分配表,实现物联网任务的云计算,
根据消息解析出的消息类型,实现消息的智能转发,调用外部接口实现消息处理。
所述的双向微通道通信服务列表是:
名称 |
类型 |
长度(字节) |
微通道的客户端编号 |
短整型 |
2 |
微通道建立连接时间 |
长整型 |
8 |
最新接收消息内容 |
字符型 |
可变 |
最新发送消息内容 |
字符型 |
可变 |
最后接收消息时间 |
长整型 |
8 |
最后发送消息时间 |
长整型 |
8 |
接收消息的总个数 |
短整型 |
2 |
发送消息的总个数 |
短整型 |
2 |
接收消息的总流量 |
短整型 |
2 |
发送消息的总流量 |
短整型 |
2 |
所述的任务分配转发表是:
名称 |
类型 |
长度(字节) |
服务端编号 |
短整型 |
2 |
服务端服务类型 |
短整型 |
2 |
服务端CPU使用率 |
浮点型 |
4 |
服务端内存使用率 |
浮点型 |
4 |
服务端IO使用率 |
浮点型 |
4 |
服务端综合使用率 |
浮点型 |
4 |
服务客户端编号 |
短整型 |
2 |
本发明提出了一种物联网通信中间件——物联网数据总线(ThingsOriented Databus,TBUS),主要为了实现物联网中万物之间信息传递、数据转发、任务调度以及调度监控的通信总线。功能主要包括数据通信与任务智能分配,其中数据通信的功能为引入微通道概念,微通道是物联网中感知类型的“物”与最终处理应用程序之间抽象的专用通信通道,每个感知“物”对应一个专用的微通道,利用专用微通道实现对其所对应“物”的实时监控。根据双方的通信创建双向微通道并建立通信服务列表,通过查找通信服务列表实现物联网中感知设备与服务器之间、服务器与服务器之间的双向通信,而任务智能分配,采用负载均衡理念,根据任务信息,服务端负载信息,建立任务分配表,实现物联网任务的云计算,根据消息解释出的消息类型,实现消息的智能转发,调用外部接口实现消息处理。
数据通信的功能分为三部分,一为封装与解封数据,利用根据通信协议配置的文件实现对数据的封装和解封,完成数据通信或应用的前期准备;二为客户端通信,客户端可根据配置,呼叫相应服务端,为交互通信的基础部分;三为服务端通信,根据客户端的呼叫,建立微通道,并创建通信服务表,记录通信信息,实现客户端与服务端的双向通信。
任务智能分配的功能分为二部分,一为负载信息采集,用于采集服务端的负载信息,包括CPU、内存以及IO的使用信息;二为任务转发,根据服务端负载信息与负载算法结合的结果,建立任务分配表,确定任务服务端,将任务转发到相应的服务端处理。
通信数据总线应用的方法如下:
步骤一:根据使用的通信协议配置文件实现对数据的封装。
步骤二:启动客户端通信,将封装好的数据包发送到服务端。
步骤三:服务端根据客户端的呼叫建立通信微通道,创建通信服务表,实现客户端与服务端的双向通信。(服务端可根据客户端呼叫的数量负载均衡到相应的服务器)
步骤四:服务端自动采集各服务端负载信息,并创建任务分配表。
步骤五:服务端根客户端的任务请求与任务分配表实现任务分配。
步骤六:服务端根据任务分配表,实现任务负载均衡转发,并依据配置文件解封数据,调用外部接口实现数据应用处理。
本发明公开了一种物联网通信中间件——物联网数据总线,包括:设备网关通信;服务端通信;双向微通道;任务根据服务端使用情况负载均衡转发。使得通信简单化,并支持多种通信协议,任务负载均衡化,具有伸缩性。针对物联网中“物——物”之间通信,以及海量数据的处理。本发明主要针对解决物联网中“物”多类型交互,多种通信协议,海量信息处理的问题,实现物联网中万物之间信息传递、数据转发、任务调度以及调度监控,具有支持异构通信,交互简单化以及支持规模互联,简化物联网通信应用操作。
附图说明
图1是本发明的物联网数据总线中间件组成原理示意图。
图2是本发明的物联网数据总线中间件中双向微通道通信服务列表的一个例子。
图3是本发明的物联网数据总线中间件中的任务分配转发表的一个例子。
图4是本发明的物联网数据总线中间件在一实施例危化品运输系统中的应用示意图。
具体实施方式
本发明的思想是提供一种物联网通信中间件,以简单统一的交互通信方式和智能的任务转发实现物联网中万物之间信息传递、数据转发、任务调度以及调度监控,简化了物联网中“物”之间的通信功能,提高物联网海量信息的处理效率,为物联网的高速发展提供了简化方法。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实例并参照附图,对本发明进一步详细说明。
图1为本发明原理图,本发明的主要组成部分为:设备网关中所涉及数据通信中封装与解封数据和客户端通信部分、双向微通道通信列表、任务分配转发表、消息解释中涉及解封数据部分、任务调度中涉及采集负载信息部分。本发明原理的步骤如下:
步骤1:数据通信中的封装数据功能根据通信协议所制定的文件,将设备网关提供的数据信息封包,按照客户端的服务配置,通过客户端通信功能,向服务端发起呼叫。
步骤2:服务端根据客户端通信呼叫,建立双向微通道通信列表(列表的详细结构见图2所示),实现双向通信。
步骤3:服务端利用消息解析中的解包功能,解包收到的消息,了解消息的类型。
步骤4:服务端利用任务调度中负载信息采集功能,了解其他服务端负载信息并写入任务分配转发表(结构如图3所示)。
步骤5:结合负载均衡算法和任务分配转发表的信息,确定任务服务端,连接呼叫相应的服务端外部接口,实现任务的转发。
图2为本发明中双向微通道列表结构图,在双向微通道列表中数据元素包括微通道的客户端编号、微通道建立连接时间、最新接收消息内容、最新发送消息内容、最后接收消息时间、最后发送消息时间、接收消息的总个数、发送消息的总个数、接收消息的总流量、发送消息的总流量。通过这些数据元素可以了解微通道的属性,了解通信的详细信息,为双向通信提供依据。
图3为本发明中任务分配表结构图,在任务分配表中数据元素包括服务端编号、服务端服务类型、服务端CPU使用率、服务端内存使用率、服务端IO使用率、服务端综合使用率、服务客户端编号。这张表中服务端的相关信息为任务负载均衡提供依据,并且可以了解服务端服务的相关信息,方便管理员查询和管理。
图4为本发明在物联网通信中间件在危化品运输系统中的应用示意图,图中标号的表示为:①初始化消息(在建立微通道后发送);②服务器使用信息(包括CPU/M/IO的使用率);③数据消息;④任务调度请求消息;⑤任务调度分配消息。标号的第一行是向箭头方向发送信息;第二行是向箭头反方向发送信息。其中通信服务器、消息处理服务器是采用多台负载均衡的应用;调度服务器使用主从的调度方法。本发明在物联网通信中间件在危化品运输系统中的应用步骤如下:
步骤1:车辆网关与通信服务器建立微通道,通信服务器与调度服务器、消息处理服务器建立微通道,消息处理服务器与调度服务器建立微通道。并在各服务器上建立微通道通信列表。
步骤2:车辆网关向通信服务器发送初始化消息,通信服务器向调度服务器和消息处理服务器发送初始化消息。
步骤3:车辆网关向通信服务器发送数据消息,通信服务器和消息处理服务器向调度服务器发送服务器使用信息,并存储于调度服务器中任务分配表中。
步骤4:通信服务器向调度服务器发送从车辆网关接收到的任务消息,调度服务器根据任务分配表,确定提供服务的消息处理服务器,并将确定信息反馈于通信服务器。
步骤5:通信服务器根据信息反馈,将车辆网关的数据信息发送到步骤4确定的消息处理服务器。
步骤6:车辆网关消息传输处理过程,反复步骤3至步骤6。
本发明提出了一种物联网通信中间件,利用文件配置通信协议,可支持通信协议的多样化;提供数据传输双向微通道,实现数据的双向通信;采集服务端负载信息,建立任务分配表,实现任务负载均衡。利用物联网通信数据总线使得数据处理透明化、物联网中间件系统通信应用更加简单化并具有伸缩性。