[发明专利]一种异步非阻塞响应式消息处理方法在审

专利信息
申请号: 202011152975.8 申请日: 2020-10-26
公开(公告)号: CN112380028A 公开(公告)日: 2021-02-19
发明(设计)人: 程登;张亮;黎飞;龙民波;苏国传 申请(专利权)人: 上汽通用五菱汽车股份有限公司
主分类号: G06F9/54 分类号: G06F9/54;G06F9/52;G06F9/50
代理公司: 北京中北知识产权代理有限公司 11253 代理人: 卢业强
地址: 545007 广西壮族自治区柳*** 国省代码: 广西;45
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 异步 阻塞 响应 消息 处理 方法
【说明书】:

发明公开一种异步非阻塞响应式消息处理方法。所述方法包括:通信线程监听客户端的连接,并建立连接,接收客户端的请求消息,然后将请求消息发送到处理线程的第一消息队列;处理线程从第一消息队列中取出所述请求消息,如果不需要其他系统,建立会话,然后处理所述请求消息,将处理结果或处理失败原因通过通信线程发送给客户端;如果需要其他系统,处理线程挂起会话,等待其他系统应答的同时处理新的消息。本发明采用异步非阻塞响应方式处理消息,及时响应客户端请求,使日连接数量达到几十万甚至上百万,在等待其他系统的应答时,不阻塞线程,同时处理新的消息,使一个线程可以处理几万到十几万的请求数。

技术领域

本发明属于网络通信技术领域,具体涉及一种异步非阻塞响应式消息处理方法。

背景技术

支撑云平台长时间自主运行的是服务。服务与服务间的通信,可以维持两个不同平台之间的正常交互。而云平台间的数据传输依赖接口,接口间多数使用http通信协议进行数据传输。客户端为客户提供了本地服务,http客户端之间的接口开发需要一定的通讯规则。接口间的通信常用的规则和约定有通信方式、规则和约定、安全方式、交易模式等。目前的接口调用平台是基于springboot框架的,springboot框架的优点是前后端完全分离,只需要协商好接口就行,前端负责开发页面并调用后端接口展示数据。后端只负责提供rest接口。而目前主流的开发模式为同步阻塞模式,其工作流程为:服务端启动监听;接收到一个客户端连接时一个线程处理(可以是线程池,也能是直接启动线程);接收请求(接受请求时,线程阻塞在这里),处理请求,如果需要依赖其他模块时,需要发送消息给其他系统;接收其他系统的应答(发送请求和接收应答时会阻塞线程),然后处理应答,最后给客户端发送最后的应答(也会阻塞线程)。

同步阻塞模式存在下面的问题:一个连接的并发请求数非常有限,因为线程阻塞在那里,前一个请求需要等到应答后,才能发送下一个请求;连接数非常有限,因为每一个连接需要占用一个线程,当需要几万、几十万、上百万的连接并存时,系统无法开启那么多线程;系统的并发性能依赖于响应时间,如果第三方系统故障无响应时,就可能有大批的线程被阻塞在那里,直到超时后才能释放,从而导致整体性能急剧下降;故障会扩散,局部故障会扩散到整体,如果系统1出现问题,访问它的线程都会被阻塞,当某个流程不依赖系统1,而是依赖系统2,但是由于线程都阻塞在系统1上,导致线程池线程用完,没有线程来处理本来能够正常处理的新请求。

发明内容

为了解决现有技术中存在的上述问题,本发明提出一种异步非阻塞响应式消息处理方法。

为实现上述目的,本发明采用如下技术方案:

一种异步非阻塞响应式消息处理方法,包括以下步骤:

步骤1,通信线程监听客户端的连接,并建立连接,接收客户端的请求消息,然后将请求消息发送到处理线程的第一消息队列;

步骤2,处理线程从第一消息队列中取出所述请求消息,如果不需要其他系统,则建立会话,然后处理所述请求消息,将处理结果或处理失败原因发送到通信线程的第二消息队列;通信线程从第二消息队列中取出所述处理结果或处理失败原因,并发送给客户端;如果需要其他系统,转步骤3;

步骤3,处理线程将向其他系统请求的消息发送到第二消息队列,通信线程从第二消息队列中取出所述消息,并发送给其他系统;

步骤4,处理线程挂起会话,等待其他系统应答的同时,从第一消息队列中取出新的消息,并进行处理。

进一步地,通信线程工作在SOCKET异步非阻塞模式,linux操作系统下采用epoll模式,windows操作系统下采用IOCP模式。

进一步地,所述方法还包括:如果待处理的消息数量超过最大允许数量,按照最大允许数量进行处理,超出最大允许数量的消息等待处理。

与现有技术相比,本发明具有以下有益效果:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上汽通用五菱汽车股份有限公司,未经上汽通用五菱汽车股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011152975.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top