一种支持多协议分布式高并发通信服务端设备和通信方法技术

技术编号:21145962 阅读:45 留言:0更新日期:2019-05-18 06:38
一种支持多协议分布式高并发通信服务端设备和通信方法,包括设备通信层、中间层、业务处理层和消息中间件;该设备通信层设有若干协议服务,用于接收不同协议的数据请求进行解密、转换成标准消息体和设备权限校验;该中间层用于根据业务类型将标准消息体转换成统一的业务数据并进行路由规则动态分发;该业务处理层设有若干业务模块,分别用于处理对应的业务数据;该消息中间件用于进行设备通信层、中间层和业务处理层之间的数据交互。采用模块化开发方式,提供具体模块化设计,层次分明,不同层次之间内部还进行二次高度模块化,支持集群及分布式部署,整个框架可按需横向纵向无限拓展,使得服务端可承受百万级千万级以上设备通信。

【技术实现步骤摘要】
一种支持多协议分布式高并发通信服务端设备和通信方法
本专利技术涉及通信
,特别是一种支持多协议分布式高并发通信服务端设备和通信方法。
技术介绍
传统固件通信软件服务端更多是直接采用单应用模式,将通信与业务耦合在一起,如将http、websocket、mqtt等服务都开发在一个项目内,且对于设备业务处理也都是涵盖其中。对于多协议的适配拓展较差,且在应对高并发大数据处理上性能较差,在集群和分布式处理上只能通过整个应用集群或分布式部署。
技术实现思路
本专利技术的主要目的在于克服现有技术中的上述缺陷,提出一种模块化地、可按需进行集群和分布式的支持多协议分布式高并发通信服务端设备和通信方法。本专利技术采用如下技术方案:一种支持多协议分布式高并发通信服务端设备,其特征在于:包括设备通信层、中间层、业务处理层和消息中间件;该设备通信层设有若干协议服务,用于接收不同协议的数据请求进行解密、转换成标准消息体和设备权限校验;该中间层用于根据业务类型将标准消息体转换成统一的业务数据并进行路由规则动态分发;该业务处理层设有若干业务模块,分别用于处理对应的业务数据;该消息中间件用于进行设备通信层、中间层和业务处理层之间的数据交互。优选的,所述设备通信层至少包括Http服务、Websocket服务、MQTT服务。优选的,所述设备通信层采用NIO框架Netty作为服务器。优选的,所述中间层设有数据转换处理器和数据路由分发器,该数据转换处理器用于根据业务类型将标准消息体转换成对应的业务数据,该数据路由分发器用于对业务数据进行路由配置,并通过消息中间件进行将业务数据分发至对应的业务模块实现路由规则动态分发。优选的,还包括有数据库,用于存储来自业务处理层的数据。优选的,所述业务处理层包括有设备管理模块、命令处理引擎、员工管理模块、内部API模块。优选的,还包括有对外接口前置服务模块,用于对接第三方系统。一种支持多协议分布式高并发通信方法,其特征在于:包括如下步骤1)设备通信层接收终端设备不同协议的数据请求,进行解密后转换为标准消息体;2)设备通信层对标准消息体进行设备权限校验,若成功,则进入步骤3);若否,则结束;3)将标准消息体通过消息中间件推送至中间层,中间层根据业务类型将标准消息体转换成统一的业务数据,并进行路由规则动态分发;4)消息中间件根据路由配置将业务数据发送至对应的业务模块。优选的,步骤2)中,所述权限校验是校验终端设备所属的权限,根据设备序列号校验;步骤3)中,所述中间层将不同协议、业务类型相同的标准消息体转换成统一的业务数据。优选的,所述路由规则动态分发包括路由配置和路由规则使用;该路由配置包括所属功能标识和产品类型;路由规则为通过消息中间件达到消息动态路由分发,其包括单向发送和数据广播。由上述对本专利技术的描述可知,与现有技术相比,本专利技术具有如下有益效果:1.本专利技术的设备,其系统本身高度模块化解耦,模块均可根据实际环境按需部署,比如客户环境只需要接入PUSH协议(基于http服务)的设备,则选择对应的模块部署即可;2.本专利技术的所有模块均可按需做集群部署,协议服务层通过Nginx实现集群部署,中间层和业务处理层的模块通过消息中间件实现集群部署,所有模块之间互相解耦,都可按实际运行情况做集群部署。3.本专利技术具有数据安全保障,与设备之间的通信都做了消息内容加密处理,且服务上支持https和wss等。4.设置有对外接口前置服务模块,快速对接第三方,该架构提供对接第三方业务系统的能力(如第三方考勤应用),可通过API模块(对外接口前置服务)直接对接第三方做数据推送和设备命令下发处理。附图说明图1为本专利技术框架图;图2为本专利技术方法流程图;图3为本专利技术下行流程图。具体实施方式以下通过具体实施方式对本专利技术作进一步的描述。参照图1,一种支持多协议分布式高并发通信服务端设备,基于模块化框架设计,实现支持多协议分布式高并发通信服务端框架。包括设备通信层、中间层、业务处理层和消息中间件等。该消息中间件用于进行设备通信层、中间层和业务处理层之间的数据交互,包括设备通信层与中间层之间、中间层和业务处理层之间、设备通信层与业务处理层之间等的数据交互。该设备通信层即协议服务层,该设备通信层,为框架的顶层设计,服务由此处对外提供,可模块化开发诸如http服务、mqtt范围、Websocket服务等。该设备通信层对接收的来自终端设备的不同协议的数据请求进行解密、转换成标准消息体和设备权限校验等,并将解密后的数据通过消息中间件(RabbitMQ)分发到中间层(Middleware)。该标准消息体可以是内部定义的JSON格式的消息体或其它常用的消息体。其中涉及到的数据安全加解密使用的是非对称加密,在通道初始化的时候会先进行公钥和私钥的互相交换,交换成功之后都通过公钥和私钥进行数据的加密和解密。具体交换流程如下:1)终端设备上传设备端公钥到服务器;2)服务端返回服务端公钥给设备;3)终端设备上传设备私钥到服务器;4)服务端返回服务端公钥给设备。其中,设备权限校验是校验设备所属的权限,根据设备序列号校验:1.是否被绑定授权允许通讯;功能层面,每台终端设备都必须被(企业)添加进来之后才有通讯权限,除了存储到设备信息表中之外,还会将绑定标志存储到redis缓存中,每次数据交互都会校验这个标志位。2.是否被列为黑名单设备;已经发布的终端设备有可能因为固件或其他问题,导致频繁大数据上报数据,对于这种异常设备,一旦发现,管理员可将其添加到黑名单列表,在不删除设备任何信息的情况下,只是禁掉设备的通讯权限。在抗并发层面,设备通信层都采用高性能、异步事件驱动的NIO框架Netty作为服务器,可提供TCP、UDP等一系列服务,且此模块不涉及任何数据库信息,数据来源都是读取Redis缓存数据库,与业务系统高度解耦。可单独部署,借助Nginx提供支持http、mqtt、websocket等服务集群及分布式,以此来承受百万级设备请求通信。该中间层用于根据业务类型将标准消息体转换成统一的业务数据并进行路由配置,再通过消息中间件(RabbitMQ)转发到业务处理层中,使业务模块不管面对多少种协议的设备都只需提供一份标准的接口接收处理终端设备上传的数据。该中间层作为通信层和业务层的中间桥梁,主要包含数据转换器和路由分发器,该数据转换处理器用于根据业务类型将标准消息体转换成对应的业务数据,该数据路由分发器用于对业务数据进行路由配置。其中数据转换器和路由分发器应根据具体设备协议提供标准工具包,该标准工具包用于封装通用方法,方便快速开发,当然可支持自定义。标准工具包分为通用数据转换器和通用路由分发器,是根据大部分功能数据转换和路由分发封装的工具类,大部分数据上传都可直接通过配置+调用接口的方式使用。路由配置主要包含:所属功能标识,内部用sid或funcId区分,如考勤记录会有考勤记录所属标识;产品类型,不同产品类型;发送场景,路由规则主要借助消息中间件(RabbitMQ)达到消息动态路由分发的效果,其中包含单向发送和数据广播俩种场景。单向发送即事先配置制定要将这条消息发送到某个模块,配置上直接指定了某个队列,此业务的数据将直接通过消息中间件(RabbitMQ)推送到指定的模块。比如终端设备上传的本文档来自技高网...

【技术保护点】
1.一种支持多协议分布式高并发通信服务端设备,其特征在于:包括设备通信层、中间层、业务处理层和消息中间件;该设备通信层设有若干协议服务,用于接收不同协议的数据请求进行解密、转换成标准消息体和设备权限校验;该中间层用于根据业务类型将标准消息体转换成统一的业务数据并进行路由规则动态分发;该业务处理层设有若干业务模块,分别用于处理对应的业务数据;该消息中间件用于进行设备通信层、中间层和业务处理层之间的数据交互。

【技术特征摘要】
1.一种支持多协议分布式高并发通信服务端设备,其特征在于:包括设备通信层、中间层、业务处理层和消息中间件;该设备通信层设有若干协议服务,用于接收不同协议的数据请求进行解密、转换成标准消息体和设备权限校验;该中间层用于根据业务类型将标准消息体转换成统一的业务数据并进行路由规则动态分发;该业务处理层设有若干业务模块,分别用于处理对应的业务数据;该消息中间件用于进行设备通信层、中间层和业务处理层之间的数据交互。2.如权利要求1所述的一种支持多协议分布式高并发通信服务端设备,其特征在于:所述设备通信层至少包括Http服务、Websocket服务、MQTT服务。3.如权利要求1所述的一种支持多协议分布式高并发通信服务端设备,其特征在于:所述设备通信层采用NIO框架Netty作为服务器。4.如权利要求1所述的一种支持多协议分布式高并发通信服务端设备,其特征在于:所述中间层设有数据转换处理器和数据路由分发器,该数据转换处理器用于根据业务类型将标准消息体转换成对应的业务数据,该数据路由分发器用于对业务数据进行路由配置,并通过消息中间件进行将业务数据分发至对应的业务模块实现路由规则动态分发。5.如权利要求1所述的一种支持多协议分布式高并发通信服务端设备,其特征在于:还包括有数据库,用于存储来自业务处理层的数据。6.如权...

【专利技术属性】
技术研发人员:林惠武
申请(专利权)人:厦门中控生物识别信息技术有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1