本发明专利技术提供了一种物联网消息服务系统,该系统包括:网关服务模块,用于维护和保障系统与终端的连接;队列服务模块,用于数据的缓存和持久化,以及数据的预处理;配置服务模块,用于配置和编辑自定义协议、配置和定义数据结构,以及维护配置文件。本发明专利技术能够适应多种场景下的消息服务,改善了大规模播发数据时的可用性和吞吐量,可实现系统长时间不停机运行。
【技术实现步骤摘要】
本专利技术涉及网络通信和并行计算领域,具体而言,是面向物联网消息服务的数据网关服务和数据队列服务。
技术介绍
物联网技术的不断提高,诸多业务领域产生海量、实时的数据,而不同领域对数据处理又各有需求。当前物联网数据逐渐以连续、实时的流数据为主,大规模、多元、异构的数据的分析利用,是以数据能够被接入为前提,于是面向物联网大数据的播发技术成为技术趋势,而较高技术性能指标也成为系统实现的挑战。业务领域中的传感器数量呈指数形态增长,业务需求的变化使得新类型的数据不断被引入,使得接入物联网数据难度越来越大,不仅管理海量的数据连接存在困难,而且在数据向下游业务系统传递的过程,需要耗费管理者大量精力维护。例如,智能交通领域内的车牌识别摄像头采集海量的车牌识别数据,手机或车载终端采集的GPS数据,传统上都需要专用的数据采集系统,随着传感设备数量的增长大大增加了管理的难度。现有技术中公开了一些消息服务系统,但尚未出现支持万级并发连接、高吞量、支持异构数据快速接入的消息服务系统。如申请号为CN201410445282.6的专利文献《位置增强数据播发服务系统及方法》;申请号为CN201210461231.3的专利文献《车联网中的数据播发控制和数据播发方法及设备》;申请号为CN200410018172.8的专利文献《一种提高数据流播发效率的方法》等。分析其中的技术细节可知,其对物联网大消息服务系统并不完善,主要体现在以下几个方面:第一方面:当前工作大多是集中式系统,面对物联网中海量传感器快速大规模数据传输,缺乏技术能力方面的支持。当前工作都是在单台服务器上搭建系统,而单机能力的局限无法应对海量终端的连接和数据传输请求,无法匹配高速、高吞量的性能需求。第二方面:当前工作面向特定协议,缺乏灵活的编程模式和接口,难以适应多样的自定义协议。当前物联网环境存在多样的传输协议、多样的数据类型,而特定协议限定了数据传输方式、数据结构和编程接口,故当前的系统很难无缝应用至其它场景的消息服务。第三方面:当前工作对大规模播发数据的存储转发支持不足。作为播发系统,数据的暂存是必须的,而当前工作大多部署在单机环境,数据存储在确定的单台机器上,可用性存在单点瓶颈,无法适应系统长时间不停机运行的场景,而且单机的输入输出瓶颈制约了系统整体的吞吐量。
技术实现思路
本专利技术的目的是为了解决当前播发系统无法支持海量终端、多样协议和海量数据通信的问题,提供物联网环境下支持高吞量的分布式播发服务的系统。为达到上述目的,本专利技术具体提供了如下技术方案:一种物联网消息服务系统,所述系统包括:网关服务模块,用于维护和保障系统与终端的连接;队列服务模块,用于数据的缓存和持久化,以及数据的预处理;配置服务模块,用于配置和编辑自定义协议、配置和定义数据结构,以及维护配置文件。优选地,所述网关服务模块还用于接受终端的连接请求,并管理异步连接通道,在分布式系统间实现负载均衡,管理线程池,并保障连接的可用性。优选地,所述队列服务模块还用于对数据收发双方的身份进行认证。优选地,所述网关服务模块管理异步连接通道,包括感知系统所在的操作系统类型,并基于所述操作系统类型调用对应的库函数实现异步通道。优选地,所述网关服务模块管理线程池,具体包括:(1)主线程池,包含可配置数量的监听线程,调度其中线程响应终端与系统的连接请求,当请求被响应,连接将被调度至从线程池;(2)从线程池,包含可配置数量的工作线程,调度其中线程建立终端与系统的连接,当请求被接受,连接状态由确定的线程维护。优选地,所述保障连接的可用性具体包括:通过监听心跳机制获取连接状态,并在发现连接断开时进行重连。优选地,所述队列服务模块还用于维护队列,在内存中创建数据队列、在指定数据队列中追加数据和删除数据队列。优选地,所述数据的持久化包括,将队列数据定时持久化至分布式的磁盘,并通过同步的副本,保障数据的可用性。优选地,所述数据的预处理包括:(1)通过接口在数据写入队列前,进行数据处理;(2)通过接口在数据从队列读取时,进行数据处理。优选地,所述系统为分布式设置,分别步数在多个节点上,所述系统通过所述配置文件,获知所有的节点;所述节点之间通过所述网关服务模块实现负载均衡。优选地,所述系统建立连接的终端为摄像头,所述摄像头具备车牌识别功能。当然,该终端还可以是传感器、手机设备、车载GPS设备等。与现有技术相比,本专利技术技术方案,通过分布式技术,解决了物联网环境中海量传感器消息服务的性能不足;通过灵活的编程模式和接口适应多样的协议,适应多种场景下的消息服务;通过数据分片和副本,改善大规模播发数据时的可用性和吞吐量,可实现系统长时间不停机运行。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例的系统架构图;图2为本专利技术实施例的异步通信时序图;图3为本专利技术实施例的线程模型;图4为本专利技术实施例的系统部署图;图5为使用本专利技术实施例实现的智能交通领域车牌识别数据传输流程图。具体实施方式下面结合附图对本专利技术实施例进行详细描述。应当明确,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本专利技术为进一步解释具体的
技术实现思路
而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本专利技术明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本专利技术的保护范围的理解。实施例1:在一个具体的实施例中,本专利技术提供的系统可以设置三个部分,结合图1详细说明物联网消息服务系统的各个部分。其中:本专利技术包含的网关服务,接受终端连接请求,在分布式系统间实现负载均衡,管理异步连接通道,管理线程池,并保障可用性。其中,负载均衡可以基于Apache或者Nginx实现;异步通道可以基于EPoll或者JavaNIO实现;线程池可以基于Netty实现。本专利技术包含的队列服务,认证数据收发双方的身份、维护队列、持久化数据、并进行数据的预处理。其中,身份认证可以基于加密/解密的用户名和密码识别,常用的加密方式有Base64和MD5;数据队列可以采用ActiveMQ、RabbitMQ、ZeroMQ和Kafka;分布式的数据持久化可以基于数据分片和数据副本的方法实现。本专利技术包含的配置服务,通过编程接口或配置文件,配置与编辑自定义协议、配置与定义数据结构、维护配置文件。其中,物联网环境下常见的协议有TCP、HTTP、MQTT等;常见的数据结构有CSV数据项,TLV数据项,JSON数据项等;配置文件可以基于键值对维护。实施例2:结合图2,在一个具体的实施例中,对本专利技术物联网消息服务系统的异步通信模式进行说明。本专利技术物联网消息服务系统的异步通信,存在于监听线程本文档来自技高网...

【技术保护点】
一种物联网消息服务系统,其特征在于,所述系统包括:网关服务模块,用于维护和保障系统与终端的连接;队列服务模块,用于数据的缓存和持久化,以及数据的预处理;配置服务模块,用于配置和编辑自定义协议、配置和定义数据结构,以及维护配置文件。
【技术特征摘要】
1.一种物联网消息服务系统,其特征在于,所述系统包括:网关服务模块,用于维护和保障系统与终端的连接;队列服务模块,用于数据的缓存和持久化,以及数据的预处理;配置服务模块,用于配置和编辑自定义协议、配置和定义数据结构,以及维护配置文件。2.根据权利要求1所述的系统,其特征在于,所述网关服务模块还用于接受终端的连接请求,并管理异步连接通道,在分布式系统间实现负载均衡,管理线程池,并保障连接的可用性。3.根据权利要求1所述的系统,其特征在于,所述队列服务模块还用于对数据收发双方的身份进行认证。4.根据权利要求2所述的系统,其特征在于,所述网关服务模块管理异步连接通道,包括感知系统所在的操作系统类型,并基于所述操作系统类型调用对应的库函数实现异步通道。5.根据权利要求2所述的系统,其特征在于,所述网关服务模块管理线程池,具体包括:(1)主线程池,包含可配置数量的监听线程,调度其中线程响应终端与系统的连接请求,当请求被响应,连接将被调度至从线程池;(2)从线程池,包含可配置数量的工...
【专利技术属性】
技术研发人员:丁维龙,赵卓峰,乔通,曹娅琪,胡雅鹏,
申请(专利权)人:北方工业大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。