CN110417782A - 一种用于智能硬件消息传输的系统及方法 - Google Patents
一种用于智能硬件消息传输的系统及方法 Download PDFInfo
- Publication number
- CN110417782A CN110417782A CN201910695719.4A CN201910695719A CN110417782A CN 110417782 A CN110417782 A CN 110417782A CN 201910695719 A CN201910695719 A CN 201910695719A CN 110417782 A CN110417782 A CN 110417782A
- Authority
- CN
- China
- Prior art keywords
- message
- intelligent hardware
- message channel
- module
- tcp gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Abstract
本申请的目的是提供一种用于智能硬件消息传输的系统及方法,该系统包括:智能硬件、负载均衡模块及消息通道;其中,所述消息通道包括TCP网关,所述负载均衡模块用于接收到所述智能硬件的接入请求后,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;所述消息通道包括核心消息通道和旁路系统,其中,所述旁路系统用于确定消息的规则配置、为第三方提供应用程序的调用接口以及进行数据收集和监控;所述核心消息通道用于根据所述旁路系统确定的消息的规则配置对接收到的消息进行数据流转。统一消息通道与设备进行高效消息交互、监控及管理智能硬件,达到设备间的信息共享。
Description
技术领域
本申请涉及物联网领域,尤其涉及一种用于智能硬件消息传输的系统及方法。
背景技术
随着物联网的不断普及以及全民健身时代的兴起,健身行业也进入到智能化时代。然而,目前健身市场处于产业互联网化的早期,经营方式较为传统,接入智能硬件的健身门店也仅能利用智能硬件实现简单的功能,如开关门、调整室温等,但却不能有效实时监控智能硬件状态、远程控制智能硬件做出差异化处理;同时,不同智能硬件间协议并不统一,各设备间无法进行信息共享,同一健身房内设备孤岛普遍存在,设备与云端的消息交互各不相同,造成极大的资源浪费,管理成品高昂。
发明内容
本申请的一个目的是提供一种用于智能硬件消息传输的系统及方法,解决现有技术中智能硬件间协议不统一、各硬件之间无法进行信息共享的问题。
根据本申请的一个方面,提供了一种用于智能硬件消息传输的系统,包括:智能硬件、负载均衡模块及消息通道;其中,
所述消息通道包括TCP网关,所述负载均衡模块用于接收到所述智能硬件的接入请求后,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;
所述消息通道包括核心消息通道和旁路系统,其中,所述旁路系统用于确定消息的规则配置、为第三方提供应用程序的调用接口以及进行数据收集和监控;
所述核心消息通道用于根据所述旁路系统确定的消息的规则配置对接收到的消息进行数据流转,其中,所述接收到的消息为由所述智能硬件连接到目标TCP网关后进行传输的消息。
进一步地,所述核心消息通道包括:连接模块、消息处理包模块、数据收集模块及业务聚合模块;
所述连接模块用于将所述智能硬件与所述TCP网关进行连接;
所述消息包处理模块用于将接收到的消息进行序列化或反序列,以及进行加解密处理;
所述数据收集模块用于收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;
所述业务聚合模块用于对接所有第三方进行路由分发数据。
进一步地,所述旁路系统包括规则配置管理模块、第三方的应用程序的调用接口、服务模块以及监控模块;
所述规则配置管理模块用于确定消息的规则配置,并将所述第三方的应用程序的调用接口接收到的源数据进行处理后投递至所述监控模块;
所述第三方的应用程序的调用接口用于确定所述调用接口的数据格式,以及接收所述第三方推送的业务消息;
所述服务模块用于调用、查看及分析经所述消息通道产生的数据。
进一步地,所述系统包括:本地数据库;
所述本地数据库用于存储所述智能硬件与所述消息通道之间的消息。
进一步地,所述系统包括:管理平台,用于根据用户设备的注册请求进行注册审核后为所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。
根据本申请另一个方面,还提供了一种使用前述所述的系统用于智能硬件消息传输的方法,该方法包括:
获取智能硬件的接入请求,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;
根据消息通道对应的消息的规则配置对所述目标TCP网关接收到的消息进行收发、数据流转及存储。
进一步地,所述方法包括:
通过超文本传输协议寻址接口返回本地服务器及所述智能硬件的消息通道的IP地址及端口;
若存在所述本地服务器的IP地址,则将所述智能硬件优先连接所述本地服务器并缓存所述本地服务器的IP地址和端口;
若所述智能硬件初始连接云端,且存在所述本地服务器的IP地址时,轮询所述本地服务器是否可以连接,若是,则切换为所述智能硬件与所述本地服务器连接。
进一步地,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关,包括:
向所有部署TCP网关的服务器发送超文本传输协议头请求;
根据所述超文本传输协议头请求以及对应的TCP网关服务运行状态信息确定状态码;
根据连续多次确定的状态码判断所述TCP网关的健康状况信息;
当所述TCP网关的健康状况信息为异常时将该TCP网关从负载列表中移除,当所述TCP网关的健康状况信息为恢复正常时,则将该TCP网关重新载入至负载列表;
从所述负载列表中选取所述智能硬件连接的目标TCP网关。
进一步地,所述方法还包括:
获取用户设备的注册请求,对所述注册请求进行审核通过后将所述用户设备申请的项目配置下发至所述用户设备的消息通道;
为所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。
进一步地,所述方法包括:
根据所述第三方的应用程序接口确定是否需要业务回调及相应的业务回调地址,若是,则根据所述消息路由至所述用户设备设定的业务回调地址。
进一步地,根据消息通道对应的消息的规则配置对所述目标TCP网关接收到的消息进行收发、数据流转及存储,包括:
通过所述旁路系统确定所述消息通道对应的消息的规则配置;
根据所述消息的规则配置将接收到的消息进行序列化或反序列,以及进行加解密处理;
收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;
按照预设的数据流转方式对经过序列化或反序列化后的消息以及对进行异步批量出入处理的消息进行传输。
根据本申请另一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述所述的方法。
与现有技术相比,本申请提供一种用于智能硬件消息传输的系统,包括:智能硬件、负载均衡模块及消息通道;其中,所述消息通道包括TCP网关,所述负载均衡模块用于接收到所述智能硬件的接入请求后,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;所述消息通道包括核心消息通道和旁路系统,其中,所述旁路系统用于确定消息的规则配置、为第三方提供应用程序的调用接口以及进行数据收集和监控;所述核心消息通道用于根据所述旁路系统确定的消息的规则配置对接收到的消息进行数据流转,其中,所述接收到的消息为由所述智能硬件连接到目标TCP网关后进行传输的消息。通过构建统一的智能硬件消息通道,统一消息通道与设备进行高效消息交互、监控及管理智能硬件,同时,利用统一的协议更易于扩展行业,降低行业内设备的复杂性,达到设备间的信息共享。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种用于智能硬件消息传输的系统结构示意图;
图2示出本申请一实施例中消息通道的架构示意图;
图3示出根据本申请另一个方面提供的一种使用前述所述的系统用于智能硬件消息传输的方法流程示意图;
图4示出本申请一实施例中连接寻址策略的示意图;
图5示出本申请一实施例中用户设备接入的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和SLB载波。
图1示出根据本申请的一个方面提供的一种用于智能硬件消息传输的系统结构示意图,包括:智能硬件1、负载均衡模块2及消息通道3;其中,所述消息通道1包括TCP网关,所述负载均衡模块2用于接收到所述智能硬件1的接入请求后,根据集群内服务节点的健康状况信息确定所述智能硬件1连接的目标TCP网关;所述消息通道3包括核心消息通道和旁路系统,其中,所述旁路系统用于确定消息的规则配置、为第三方提供应用程序的调用接口以及进行数据收集和监控;所述核心消息通道用于根据所述旁路系统确定的消息的规则配置对接收到的消息进行数据流转,其中,所述接收到的消息为由所述智能硬件1连接到目标TCP网关后进行传输的消息。
在此,智能硬件可为智能终端,比如AI服务器、智能跑步机、智慧前台、智能闸机、传感器、控制器、嵌入式设备等。各种智能硬件通过负载均衡模块(SLB)负载后,与消息通道的通用TCP网关建立TCP连接进行数据交互通信。消息通道负责维护管理设备连接以及对接各业务系统,将设备管理、业务管理、消息传递进行统一管控,形成内部通信闭环。其中,任一终端的接入都需先经过SLB负载后才能触达通用TCP网关模块,保证了系统的安全性和稳定性,SLB根据集群内服务节点的健康状况动态的将终端的TCP连接请你去负载均衡至后端健康的通用TCP网关模块上,集群包括部署通用TCP网关模块的服务器。消息通道内部进行子系统的拆分,拆分为核心消息通道和旁路系统,SLB负载之后为核心消息通道,所有的数据通信交互和对智能硬件的监控都在核心消息通道完成。
在本申请一实施例中,如图2所示的消息通道的架构示意图,所述核心消息通道包括:连接模块、消息处理包模块、数据收集模块及业务聚合模块;所述连接模块用于将所述智能硬件与所述TCP网关进行连接;所述消息包处理模块用于将接收到的消息进行序列化或反序列,以及进行加解密处理;所述数据收集模块用于收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;所述业务聚合模块用于对接所有第三方进行路由分发数据。在此,核心消息通道负责承载整个消息通道系统的消息收发、流转、存储工作,核心消息通道的性能决定着整个智能硬件平台的响应速度、系统吞吐等。将核心消息通道拆分为四个模块:连接模块(Connect)、消息包处理模块(Logic)、数据收集模块(Collector)和业务聚合模块(Broker)。Connect模块为通用TCP网关模块,负责与终端TCP连接,Logic模块负责序列化或反序列化及数据加解密,Collector模块负责收集设备心跳包上报、消息接收数上报、流量统计及异步批量插入等功能,Broker模块负责对接所有第三方进行路由分发数据。拆分模块后整个系统功能解耦,提高了系统消息处理能力,同时各模块统一监听分布式系统(比如Etcd)实时获取配置更新。
继续参考图2,所述旁路系统包括规则配置管理模块、第三方的应用程序的调用接口、服务模块以及监控模块;所述规则配置管理模块用于确定消息的规则配置,并将所述第三方的应用程序的调用接口接收到的源数据进行处理后投递至所述监控模块;所述第三方的应用程序的调用接口用于确定所述调用接口的数据格式,以及接收所述第三方推送的业务消息;所述服务模块用于调用、查看及分析经所述消息通道产生的数据。在此,旁路系统包括规则配置管理、第三方的应用接口的调用接口(第三方Open API)、服务模块(内部SaaS)及监控模块;规则配置管理用于确定消息通道遵循的过滤条件,接入方可以通过OpenAPI创建生成自身业务相关规则,如消息处理结果回调地址、终端设备白名单、业务加解密密钥等,规则配置管理服务将Open API接收的源数据加工处理后投递进Etcd供监听方消息通道消费,以达到运行时动态修改配置改变系统行为;第三方Open API负责制定对外API的数据格式,第三方根据该数据格式通过消息通道为终端推送自定义业务消息、进行注册登记、配置修改等;内部SaaS则包括管理后台、硬件管理平台及其他中间件系统,智能硬件消息通道产生的数据,最终提供给SaaS管理平台、硬件管理平台等其他系统调用、查看、分析,同时消息通道可以根据内部的中间件系统如异步短信发送、异步数据导出服务等来解耦业务操作。
如图2所示,所述系统包括:本地数据库;所述本地数据库用于存储所述智能硬件与所述消息通道之间的消息。在此,系统包括本地数据库,整个系统中所有业务交互通信数据先落地到本地数据库中,以保证数据的可靠性及后续业务方的数据挖掘分析需求,再流经基础服务层来提高整个系统的吞吐及效率,基础服务层包括MQ集群(MySQL持久化层)和Redis集群(Redis缓存层),该基础服务层处理各种复杂的数据和业务,整个系统内部统一采用RPC通信,并封装提供多语言SDK供不同业务方接入,RPC保证通信交互效率,SDK保证业务方接入效率。
在本申请一实施例中,所述系统包括:管理平台,用于根据用户设备的注册请求进行注册审核后为所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。在此,用户通过在管理平台进行项目注册,注册审核通过后可对项目进行上架操作,系统将用户申请的所有项目配置下发至智能硬件的消息通道;下架项目时将更改的项目配置下发至消息通道。动态的配置下发管理保证了用户对自己项目管理的实时性。接着,管理平台对所注册项目审核通过后的用户颁发访问密钥组(密钥AccessKey及AccessSecretKey),该密钥组用于与Open API对接时鉴权使用。最后,接入方在管理平台审核通过后,通过Open API注册是否需要业务回调及相应的业务回调地址,以便将鉴权结果回调至对应的业务回调地址。
图3示出根据本申请另一个方面提供的一种使用前述所述的系统用于智能硬件消息传输的方法流程示意图,该方法包括:步骤S11和步骤S12,其中,
在步骤S11中,获取智能硬件的接入请求,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;在此,智能硬件可为智能终端,比如AI服务器、智能跑步机、智慧前台、智能闸机、传感器、控制器、嵌入式设备等,根据智能硬件的接入请求,对该智能硬件进行负载均衡,以确定该智能硬件所对应连接的目标TCP网关,可根据集群内服务节点的健康状况信息将该智能硬件的接入请求负载均衡至后端健康的TCP网关上,以增强系统的稳定性及并发性。接着,在步骤S12中,根据消息通道对应的消息的规则配置对所述目标TCP网关接收到的消息进行收发、数据流转及存储。在此,消息通道包括目标TCP网关,通过目标TCP网关接收到智能硬件发送的消息,在消息通道内进行处理,利用确定的消息的规则配置对目标TCP网关接收到的消息进行相关处理,即在消息通道内进行收发、数据流转及存储等的处理。
在本申请一实施例中,所述方法包括:通过超文本传输协议寻址接口返回本地服务器及所述智能硬件的消息通道的IP地址及端口;若存在所述本地服务器的IP地址,则将所述智能硬件优先连接所述本地服务器并缓存所述本地服务器的IP地址和端口;若所述智能硬件初始连接云端,且存在所述本地服务器的IP地址时,轮询所述本地服务器是否可以连接,若是,则切换为所述智能硬件与所述本地服务器连接。在此,在本申请所述的实施例中采用如下连接策略及通信协议:
如图4所示,其中,智能硬件(client)与服务端建立连接前先请求HTTP寻址接口,默认智能硬件本地持有智能硬件消息通道的访问域名,寻址接口会返回本地服务器(AI服务器)及智能硬件消息通道的IP、端口(Port),如果返回存在AI服务器地址,则所有智能硬件优先连接AI服务器并缓存该IP及端口,由其代理与云端进行交互。后者则是防止嵌入式设备不支持域名DNS解析且本地不存AI服务器时,则通过IP及端口直接与云端建立长连接。如果本地存在AI服务器但智能硬件初始时连接的是云端,则需要轮询本地AI服务器进行连接侦测,如能连接上AI服务器则断开与云端的连接。智能硬件寻址到服务端建立连接后,即开始进行数据交互通信,项目采用自定义私有通信协议,包括定义各字段,字段包括应用ID、应用版本、协议指令字、消息ID、消息签名、设备ID、消息内容等。连接建立后,终端与服务端每次均是先从缓冲中读取4字节的协议头,由此计算出后续需要读取的包体内容大小;协议中包头Length字段以大端字节序表示并且不做序列化,其他字段统一进行序列化以减少通信流量。为保证交互数据安全,对业务数据进行SHA1哈希签名的同时再进行一次高级加密标准(AES)加密。
在本申请一实施例中,在步骤S11中,向所有部署TCP网关的服务器发送超文本传输协议头请求;根据所述超文本传输协议头请求以及对应的TCP网关服务运行状态信息确定状态码;根据连续多次确定的状态码判断所述TCP网关的健康状况信息;当所述TCP网关的健康状况信息为异常时将该TCP网关从负载列表中移除,当所述TCP网关的健康状况信息为恢复正常时,则将该TCP网关重新载入至负载列表;从所述负载列表中选取所述智能硬件连接的目标TCP网关。在此,目标TCP网关为由SLB负载后确定的与智能硬件连接的TCP网关;SLB定时(如每60秒)给所有部署通用TCP网关的服务器发送超文本传输协议头(HTTP HEAD)请求,后端承载服务器根据TCP网关服务运行状况返回HTTP状态码,当服务器正常运行返回200,若连续三次探测都返回异常,则SLB认定该TCP网关服务实例健康异常并将其从负载列表中暂时摘除;后续的健康探测若返回正常,则将该实例重新加入负载列表中。SLB采用加权最小连接数的方式进行负载均衡,从而保证根据后端服务器设定的权重进行轮询,也考虑到后端服务器实际连接数量导致的负载不同,压力不同的情况。
在本申请一实施例中,所述方法还包括:获取用户设备的注册请求,对所述注册请求进行审核通过后将所述用户设备申请的项目配置下发至所述用户设备的消息通道;所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。在此,智能硬件的消息通道允许第三方介入,接入流程如图5所示,用户通过在管理平台进行项目注册,注册审核通过后可对项目进行上架操作,系统将用户申请的所有项目配置下发至智能硬件的消息通道;下架项目时将更改的项目配置下发至消息通道。动态的配置下发管理保证了用户对自己项目管理的实时性。接着,管理平台对所注册项目审核通过后的用户颁发访问密钥组(密钥AccessKey及AccessSecretKey),该密钥组用于与Open API对接时鉴权使用。同时,平台生成项目对应的应用程序标识信息(APP ID)及默认的AES密钥、SHA1密钥,其中,APP ID为消息通道路由的唯一凭证,接入方不可更改。接入方可进行下载相应的开发SDK,嵌入SDK即可与智能硬件的消息通道进行数据交互通信。开发SDK封装了智能硬件的消息通道交互的底层通信协议、初始化注册流程处理和心跳保活、重发机制等。
接着,根据所述第三方的应用程序接口确定是否需要业务回调及相应的业务回调地址,若是,则根据所述消息路由至所述用户设备设定的业务回调地址。在此,接入方在平台审核通过后,可以通过Open API注册是否需要业务回调及相应的业务回调地址,业务聚合模块在消费上行业务消息时,根据消息中的APP ID路由至接入方设定的业务回调地址,供接入方进行进一步地业务判断;比如终端用户刷人脸通行时,终端设备人脸匹配成功并将结果发送至智能硬件的消息通道,若业务方指定需要业务回调,则业务聚合模块将鉴权结果回调至接入方注册的地址,接入方根据自身业务逻辑判断后返回通知终端是否放行,否则智能硬件的消息通道直接返回通知放行;消息通道提供多种协议的通知机制(比如HTTP、TCP等),方便用户根据实际情况构建业务处理系统。
在本申请一实施例中,在步骤S12中,通过所述旁路系统确定所述消息通道对应的消息的规则配置;根据所述消息的规则配置将接收到的消息进行序列化或反序列,以及进行加解密处理;收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;按照预设的数据流转方式对经过序列化或反序列化后的消息以及对进行异步批量出入处理的消息进行传输。在此,通过旁路系统确定消息通道遵循的过滤条件,即确定消息的规则配置,可以通过应用程序的调用接口创建与业务相关的规则,比如消息处理结果回调地址、终端设备白名单、业务方加解密密钥等。其中,旁路系统用于规则引擎、第三方转发以及数据收集和监控。旁路系统确定消息的规则配置后,在消息通道内,对接收到的消息进行序列化或反序列化,并进行数据加解密,对消息通道内的消息进行异步批量出入处理之后进行传输,完成智能硬件与服务器之间的交互通信。将消息通道进行模块化,拆分成多个模块进行解耦,比如分成数据收集模块进行收集设备心跳包上报、消息接收数上报、流量统计等,分成的业务聚合模块对接所有第三方进行路由分发数据。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种用于智能硬件消息传输的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种用于智能硬件消息传输的系统,包括:智能硬件、负载均衡模块及消息通道;其中,
所述消息通道包括TCP网关,所述负载均衡模块用于接收到所述智能硬件的接入请求后,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;
所述消息通道包括核心消息通道和旁路系统,其中,所述旁路系统用于确定消息的规则配置、为第三方提供应用程序的调用接口以及进行数据收集和监控;
所述核心消息通道用于根据所述旁路系统确定的消息的规则配置对接收到的消息进行数据流转,其中,所述接收到的消息为由所述智能硬件连接到目标TCP网关后进行传输的消息。
2.根据权利要求1所述的系统,其中,所述核心消息通道包括:连接模块、消息处理包模块、数据收集模块及业务聚合模块;
所述连接模块用于将所述智能硬件与所述TCP网关进行连接;
所述消息包处理模块用于将接收到的消息进行序列化或反序列,以及进行加解密处理;
所述数据收集模块用于收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;
所述业务聚合模块用于对接所有第三方进行路由分发数据。
3.根据权利要求1所述的系统,其中,所述旁路系统包括规则配置管理模块、第三方的应用程序的调用接口、服务模块以及监控模块;
所述规则配置管理模块用于确定消息的规则配置,并将所述第三方的应用程序的调用接口接收到的源数据进行处理后投递至所述监控模块;
所述第三方的应用程序的调用接口用于确定所述调用接口的数据格式,以及接收所述第三方推送的业务消息;
所述服务模块用于调用、查看及分析经所述消息通道产生的数据。
4.根据权利要求1所述的系统,其中,所述系统包括:本地数据库;
所述本地数据库用于存储所述智能硬件与所述消息通道之间的消息。
5.根据权利要求1所述的系统,其中,所述系统包括:管理平台,用于根据用户设备的注册请求进行注册审核后为所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。
6.一种使用如权利要求1至5中任一所述的系统用于智能硬件消息传输的方法,其中,所述方法包括:
获取智能硬件的接入请求,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关;
根据消息通道对应的消息的规则配置对所述目标TCP网关接收到的消息进行收发、数据流转及存储。
7.根据权利要求6所述的方法,其中,所述方法包括:
通过超文本传输协议寻址接口返回本地服务器及所述智能硬件的消息通道的IP地址及端口;
若存在所述本地服务器的IP地址,则将所述智能硬件优先连接所述本地服务器并缓存所述本地服务器的IP地址和端口;
若所述智能硬件初始连接云端,且存在所述本地服务器的IP地址时,轮询所述本地服务器是否可以连接,若是,则切换为所述智能硬件与所述本地服务器连接。
8.根据权利要求6所述的方法,其中,根据集群内服务节点的健康状况信息确定所述智能硬件连接的目标TCP网关,包括:
向所有部署TCP网关的服务器发送超文本传输协议头请求;
根据所述超文本传输协议头请求以及对应的TCP网关服务运行状态信息确定状态码;
根据连续多次确定的状态码判断所述TCP网关的健康状况信息;
当所述TCP网关的健康状况信息为异常时将该TCP网关从负载列表中移除,当所述TCP网关的健康状况信息为恢复正常时,则将该TCP网关重新载入至负载列表;
从所述负载列表中选取所述智能硬件连接的目标TCP网关。
9.根据权利要求6所述的方法,其中,所述方法还包括:
获取用户设备的注册请求,对所述注册请求进行审核通过后将所述用户设备申请的项目配置下发至所述用户设备的消息通道;
为所述用户设备颁发访问密钥组,以使所述第三方的应用程序的调用接口根据所述访问密钥组对所述用户设备进行鉴权。
10.根据权利要求9所述的方法,其中,所述方法包括:
根据所述第三方的应用程序接口确定是否需要业务回调及相应的业务回调地址,若是,则根据所述消息路由至所述用户设备设定的业务回调地址。
11.根据权利要求6所述的方法,其中,根据消息通道对应的消息的规则配置对所述目标TCP网关接收到的消息进行收发、数据流转及存储,包括:
通过所述旁路系统确定所述消息通道对应的消息的规则配置;
根据所述消息的规则配置将接收到的消息进行序列化或反序列,以及进行加解密处理;
收集所述智能硬件的心跳包、消息接收数以及进行流量统计和对所述接收到的消息进行异步批量插入处理;
按照预设的数据流转方式对经过序列化或反序列化后的消息以及对进行异步批量出入处理的消息进行传输。
12.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求6至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695719.4A CN110417782B (zh) | 2019-07-30 | 2019-07-30 | 一种用于智能硬件消息传输的系统、方法及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695719.4A CN110417782B (zh) | 2019-07-30 | 2019-07-30 | 一种用于智能硬件消息传输的系统、方法及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417782A true CN110417782A (zh) | 2019-11-05 |
CN110417782B CN110417782B (zh) | 2022-04-12 |
Family
ID=68364289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910695719.4A Active CN110417782B (zh) | 2019-07-30 | 2019-07-30 | 一种用于智能硬件消息传输的系统、方法及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417782B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764945A (zh) * | 2021-01-06 | 2021-05-07 | 城云科技(中国)有限公司 | 消息中心服务中间件系统 |
CN114070891A (zh) * | 2021-11-05 | 2022-02-18 | 中国航空无线电电子研究所 | 一种基于通用消息通道的数据记录方法 |
CN115086099A (zh) * | 2022-06-07 | 2022-09-20 | 浙江浩瀚能源科技有限公司 | 数据处理方法、装置、存储介质及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791034A (zh) * | 2004-12-13 | 2006-06-21 | 华为技术有限公司 | 一种检测方法 |
CN106230995A (zh) * | 2016-09-30 | 2016-12-14 | 武汉火凤凰云计算服务股份有限公司 | 一种m2m消息通信中间平台及其通信方法 |
US9860677B1 (en) * | 2016-09-30 | 2018-01-02 | Intel Corporation | Internet-of-things gateway coordination |
CN108933757A (zh) * | 2017-05-22 | 2018-12-04 | 李海磊 | 一种硬件设备的安全可靠联网接入方法 |
CN109889551A (zh) * | 2019-04-16 | 2019-06-14 | 湖南树华环保科技有限公司 | 一种智能硬件接入的物联网云平台的方法 |
-
2019
- 2019-07-30 CN CN201910695719.4A patent/CN110417782B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791034A (zh) * | 2004-12-13 | 2006-06-21 | 华为技术有限公司 | 一种检测方法 |
CN106230995A (zh) * | 2016-09-30 | 2016-12-14 | 武汉火凤凰云计算服务股份有限公司 | 一种m2m消息通信中间平台及其通信方法 |
US9860677B1 (en) * | 2016-09-30 | 2018-01-02 | Intel Corporation | Internet-of-things gateway coordination |
CN108933757A (zh) * | 2017-05-22 | 2018-12-04 | 李海磊 | 一种硬件设备的安全可靠联网接入方法 |
CN109889551A (zh) * | 2019-04-16 | 2019-06-14 | 湖南树华环保科技有限公司 | 一种智能硬件接入的物联网云平台的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764945A (zh) * | 2021-01-06 | 2021-05-07 | 城云科技(中国)有限公司 | 消息中心服务中间件系统 |
CN112764945B (zh) * | 2021-01-06 | 2023-08-01 | 城云科技(中国)有限公司 | 消息中心服务中间件系统 |
CN114070891A (zh) * | 2021-11-05 | 2022-02-18 | 中国航空无线电电子研究所 | 一种基于通用消息通道的数据记录方法 |
CN115086099A (zh) * | 2022-06-07 | 2022-09-20 | 浙江浩瀚能源科技有限公司 | 数据处理方法、装置、存储介质及系统 |
CN115086099B (zh) * | 2022-06-07 | 2023-12-29 | 浙江浩瀚能源科技有限公司 | 数据处理方法、装置、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110417782B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115466B2 (en) | Distributed network services | |
CN110024422B (zh) | 物联网的命名和区块链记录 | |
CN107005584B (zh) | 用于内联服务交换机的方法、设备和存储介质 | |
US9202225B2 (en) | Aggregate monitoring of utilization data for vendor products in cloud networks | |
CN103873486B (zh) | 用于负载平衡实时流传输协议的系统和方法 | |
US8019835B2 (en) | Automated provisioning of computing networks using a network database data model | |
CN102770852B (zh) | 信息通信处理系统、方法和网络节点 | |
CN109154896A (zh) | 用于服务链负载平衡的系统和方法 | |
CN110417782A (zh) | 一种用于智能硬件消息传输的系统及方法 | |
CN109906595A (zh) | 用于跨不同类型的处理硬件执行密码操作的系统和方法 | |
CN105683918B (zh) | 分布式系统中的集中式联网配置 | |
CN105308929A (zh) | 分布负载平衡器 | |
CN105308931A (zh) | 分布负载平衡器中的不对称封包流 | |
EP3891955B1 (en) | Detecting attacks using handshake requests systems and methods | |
CN105264865A (zh) | 分布负载平衡器中的多路径路由 | |
CN105308930A (zh) | 分布负载平衡器中的连接发布 | |
US20110191223A1 (en) | Internet Control Management and Accounting in a Utility Computing Environment | |
CN106686129A (zh) | 一种负载均衡方法及系统 | |
CN109241767A (zh) | 一种对非结构化数据资源的安全控制系统及方法 | |
CN108667639A (zh) | 一种私有云环境下的资源管理方法及管理服务器 | |
US20230135938A1 (en) | Service mesh switching | |
CN110213338A (zh) | 一种基于加密运算的集群化加速计算方法及系统 | |
John et al. | Scalable software defined monitoring for service provider devops | |
CN106797384A (zh) | 以不同的协议将请求路由到集群中的相同端点 | |
CN112966833A (zh) | 基于Kubernetes集群的机器学习模型平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |