一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集成多种消息代理的双向异步通信中间件系统及实现方法与流程

2021-11-29 11:29:00 来源:中国专利 TAG:


1.本发明涉及一种集成多种消息代理的双向异步通信中间件系统及实现方法,属于异步通信设计技术领域。


背景技术:

2.现有数据的分发需要依靠直接连接传统的消息代理,不同的客户端需要各自编写独立的针对相应消息代理(例如rabbitmq)的客户端程序,由于客户端支持的系统类型不同,需要采用不同语言进行开发,极大的增加了开发成本;由于业务类型的多样性,需要采用多种消息代理和数据库,没有统一的权限管理,没有统一数据格式,需要内部额外编码进行数据转换,并且受普通消息代理消息长度限制,且需要根据不同的消息代理独立开发客户端,成本极高;直接调用消息代理也很难做到负载均衡控制。
3.如图1所示为目前常见的客户端
‑‑‑
消息代理
‑‑‑
服务端模式,以客户端作为消息的生产者,产生的消息经过消息代理进行交换,再由服务端作为消费者拉取或者被动推送消息。


技术实现要素:

4.本发明的目的在于,克服现有技术存在的技术缺陷,解决上述技术问题,提出一种集成多种消息代理的双向异步通信中间件系统及实现方法,可以云部署,成为云平台的通信核心。使用基于业内标准化的restful api定义通信接口,统一以json为标准化数据传输格式。通过独立的高性能接收和发送接口设计,可以让不同的用户通过统一的消息格式进行通信,不需要独立开发针对某一消息代理的专用客户端,极大地降低客户端与消息代理之间的耦合度,极大地降低了开发成本和频繁迭代导致的巨大风险;可以使用智能化的负载均衡配置;通过引入基础数据库作为大数据队列,可以存储较大的数据集,例如视频、海量图片等等,并且可以根据工程需要,随时增加集成不同类型的数据库。
5.本发明具体采用如下技术方案:集成多种消息代理的双向异步通信中间件系统,包括:
6.客户端,具体执行:使用统一的api接口获取机器人、移动端的通讯消息通过客户端api模块处理后发送给认证服务器,接收控制端通过web ui接口发出的控制消息,通过web ui处理后发送给认证服务器;
7.认证服务器,具体执行:接收所述客户端发送的所述通讯消息和所述控制消息形成元数据,通过对所述元数据进行认证形成消息队列;响应于服务器群端发送的队列调用请求,反馈相应的消息队列的消息给所述服务集群端;
8.服务集群端,具体执行:向所述认证服务器发送队列调用请求,接收所述认证服务器反馈的相应消息队列的消息。
9.作为一种较佳的实施例,所述认证服务器包括生产者调度器,所述生产者调度器具体执行:接收所述客户端通过post协议或者grpc协议发送的所述述通讯消息和所述控制
消息形成元数据,通过对所述元数据进行认证分析形成相应的消息队列。
10.作为一种较佳的实施例,所述消息队列包括nsq消息队列、rabbit mq消息队列、超大数据队列。
11.作为一种较佳的实施例,所述认证服务器还包括消费者调度器,所述消费者调度器具体执行:响应于所述服务集群端的调用请求,根据预设的元数据从所述生产者调度器中匹配相应的消息队列的消息。
12.作为一种较佳的实施例,所述服务集群端包括服务集群端api模块、算法云服务器、应用云服务器、跨中心云服务器,所述服务集群端api模块分别与所述算法云服务器、所述应用云服务器、所述跨中心云服务器通信连接,所述服务集群端api模块与所述认证服务器通信连接,所述服务集群端api模块向所述认证服务器发送队列调用请求,并接收所述认证服务器反馈的相应消息队列的消息。
13.本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由客户端执行,包括:使用统一的api接口获取机器人、移动端的通讯消息通过客户端api模块处理后发送给认证服务器,接收控制端通过web ui接口发出的控制消息,通过web ui处理后发送给认证服务器。
14.本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由认证服务器执行,包括:接收客户端发送的通讯消息和控制消息形成元数据,通过对所述元数据进行认证形成消息队列;响应于服务器群端发送的队列调用请求,反馈相应的消息队列的消息给所述服务集群端。
15.作为一种较佳的实施例,所述认证服务器包括生产者调度器,所述生产者调度器具体执行:接收所述客户端通过post协议或者grpc协议发送的所述述通讯消息和所述控制消息形成元数据,通过对所述元数据进行认证分析形成相应的消息队列;所述认证服务器还包括消费者调度器,所述消费者调度器具体执行:响应于所述服务集群端的调用请求,根据预设的元数据从所述生产者调度器中匹配相应的消息队列的消息。
16.作为一种较佳的实施例,所述消息队列包括nsq消息队列、rabbit mq消息队列、超大数据队列。
17.本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由服务集群端,其特征在于,包括:向认证服务器发送队列调用请求,接收认证服务器反馈的相应消息队列的消息。
18.本发明所达到的有益效果:第一,本发明以go语言为开发语言,发挥其高性能及两级线程模型的优势,可以异步处理大量并发请求,将各消息代理封装,客户端或者服务端只需按照统一格式配置元数据即可,同时集成并管理多个消息代理并且拥有数据库自定义的消息队列,对外采取统一的接口规格;第二,本发明同时集成多种消息代理和数据库的双向高并发异步通信中间件系统,可以云部署;第三,本发明使用基于业内标准化的restful api定义通信接口,统一以json为标准化数据传输格式;第四,本发明不需要独立开发针对某一消息代理的专用客户端;第五,本发明让不同类型的消息代理取长补短,适合更广泛的业务需求;第六,本发明大幅度降低了相关服务和客户端的开发成本。
附图说明
19.图1是现有的客户端
‑‑‑
消息代理
‑‑‑
服务端模式的拓扑示意图。
20.图2是本发明的集成多种消息代理的双向异步通信中间件系统的拓扑示意图。
具体实施方式
21.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
22.实施例1:如图2所示,本发明提出集成多种消息代理的双向异步通信中间件系统,包括:
23.客户端,具体执行:使用统一的api接口获取机器人、移动端的通讯消息通过客户端api模块处理后发送给认证服务器,接收控制端通过web ui接口发出的控制消息,通过web ui处理后发送给认证服务器;
24.认证服务器,具体执行:接收所述客户端发送的所述通讯消息和所述控制消息形成元数据,通过对所述元数据进行认证形成消息队列;响应于服务器群端发送的队列调用请求,反馈相应的消息队列的消息给所述服务集群端;
25.服务集群端,具体执行:向所述认证服务器发送队列调用请求,接收所述认证服务器反馈的相应消息队列的消息。
26.作为一种较佳的实施例,所述认证服务器包括生产者调度器,所述生产者调度器具体执行:接收所述客户端通过post协议或者grpc协议发送的所述述通讯消息和所述控制消息形成元数据,通过对所述元数据进行认证分析形成相应的消息队列。
27.作为一种较佳的实施例,所述消息队列包括nsq消息队列、rabbit mq消息队列、超大数据队列。
28.作为一种较佳的实施例,所述认证服务器还包括消费者调度器,所述消费者调度器具体执行:响应于所述服务集群端的调用请求,根据预设的元数据从所述生产者调度器中匹配相应的消息队列的消息。
29.作为一种较佳的实施例,所述服务集群端包括服务集群端api模块、算法云服务器、应用云服务器、跨中心云服务器,所述服务集群端api模块分别与所述算法云服务器、所述应用云服务器、所述跨中心云服务器通信连接,所述服务集群端api模块与所述认证服务器通信连接,所述服务集群端api模块向所述认证服务器发送队列调用请求,并接收所述认证服务器反馈的相应消息队列的消息,本发明的算法云服务器、应用云服务器、跨中心云服务器分别作为算法云、应用云和跨中心云的处理调用服务器。
30.实施例2:本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由客户端执行,包括:使用统一的api接口获取机器人、移动端的通讯消息通过客户端api模块处理后发送给认证服务器,接收控制端通过web ui接口发出的控制消息,通过web ui处理后发送给认证服务器。
31.实施例3:本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由认证服务器执行,包括:接收客户端发送的通讯消息和控制消息形成元数据,通过对所述元数据进行认证形成消息队列;响应于服务器群端发送的队列调用请求,反馈相应的消息队列的消息给所述服务集群端。
32.作为一种较佳的实施例,所述认证服务器包括生产者调度器,所述生产者调度器具体执行:接收所述客户端通过post协议或者grpc协议发送的所述述通讯消息和所述控制消息形成元数据,通过对所述元数据进行认证分析形成相应的消息队列;所述认证服务器还包括消费者调度器,所述消费者调度器具体执行:响应于所述服务集群端的调用请求,根据预设的元数据从所述生产者调度器中匹配相应的消息队列的消息。
33.作为一种较佳的实施例,所述消息队列包括nsq消息队列、rabbit mq消息队列、超大数据队列。
34.实施例4:本发明还提出集成多种消息代理的双向异步通信中间件系统的实现方法,由服务集群端,其特征在于,包括:向认证服务器发送队列调用请求,接收认证服务器反馈的相应消息队列的消息。
35.需要说明的是,如图2所示,集群管理器:主要分为资源管理器、节点管理器、应用管理器,其中:资源管理器:在独立的机器上以后台进程的形式运行,它是整个集群资源的主要协调者和管理者。负责给用户提交的所有应用程序分配资源,它根据应用程序优先级、队列容量、数据位置等信息,做出决策,然后以共享的、安全的、多租户的方式制定分配策略,调度集群资源。
36.节点管理器:是集群中的每个具体节点的管理者。主要负责该节点内所有容器的生命周期的管理,监视资源和跟踪节点健康。具体如下:
·
启动时向资源管理器注册并定时发送心跳消息,等待资源管理器的指令;
·
维护服务的生命周期,监控服务的资源使用情况;
·
管理任务运行时的相关依赖,根据应用管理器的需要,在启动服务之前将需要的程序及其依赖拷贝到本地。
37.应用管理器:在用户提交一个应用程序时,会启动一个轻量级进程应用管理器。应用管理器负责协调来自资源管理器的资源,并通过节点管理器检查容器内资源的使用情况,同时还负责任务的监控与容错。具体如下:
·
根据应用的运行状态来决定动态计算资源需求;
·
向资源管理器申请资源,监控申请的资源的使用情况;
·
跟踪任务状态和进度,报告资源的使用情况和应用的进度信息。
38.队列管理器:队列管理器是为应用程序提供消息传递服务的程序。使用消息队列接口(mqi)的应用程序可以将消息放置到队列并可从队列中获取消息。队列管理器确保消息可以发送至正确的队列或传递至另一个队列管理器。队列管理器处理向它发出的mqi调用以及提交给它的命令(无论从哪个源)。队列管理器为每个调用或命令生成合适的完成代码。
39.统一日志分析系统:
40.1.将日志进行集中化管理;
41.2.将日志格式化;
42.3.对格式化后的数据进行索引和存储;
43.4.前端数据的展示。
44.数据可视化监控:使用统计图形、图表、信息图表和其他工具,将后台监控数据可视化,并呈现给管理员。可以帮助管理员分析和推理数据和证据。它使复杂的数据更容易理解和使用。
45.算法云服务器:将算法服务部署至云服务器。
46.应用云服务:将应用部署至云服务器。
47.优势如下:
48.1.无需自建机房,无需采购以及配置硬件设施;
49.2.分钟级交付,快速部署,缩短应用上线周期;
50.3.快速接入部署在全球范围内的数据中心和边界网关协议bgp(border gateway protocol)机房;
51.4.成本透明,按需使用,支持根据业务波动随时扩展和释放资源;
52.5.提供gpu和fpga等异构计算服务器、弹性裸金属服务器以及通用的x86架构服务器;
53.6.提供虚拟防火墙、角色权限控制、内网隔离、防病毒攻击及流量监控等多重安全方案;
54.7.提供性能监控框架和主动运维体系;
55.8.提供行业通用标准api,提高易用性和适用性。
56.跨中心云服务:在企业发展过程中,企业可能会需要在海外创建分支机构,实现业务出海。同时,也会需要海外机构可以和国内总部互通。跨中心云服务提供一种能够快速构建混合云和分布式业务系统的全球网络的方法,支持不同云服务的混合部署,支持对业务可靠性和连续性要求高的混合云双活或多活场景。
57.相关技术术语的名词解释:
58.api:(application programming interface,应用程序接口)是一些预先定义的接口(如函数、http接口);
59.rabbitmq:实现了高级消息队列协议(amqp)的开源面向消息的中间件;
60.nsq:一个实时分布式消息传递平台,也是一种开源面向消息的中间件。
61.web ui:是网络产品界面设计(website user interface)的意思,设计范围包括常见的网站设计(如电商网站、社交网站)、网络软件设计(如邮箱、saas产品)等。
62.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献