[发明专利]一种针对应用程序内控制请求响应速率的系统和方法有效
申请号: | 201810777414.3 | 申请日: | 2018-07-16 |
公开(公告)号: | CN109067663B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 罗意;谈加虎 | 申请(专利权)人: | 广发证券股份有限公司 |
主分类号: | H04L47/10 | 分类号: | H04L47/10;H04L47/12 |
代理公司: | 深圳市卓科知识产权代理有限公司 44534 | 代理人: | 邵妍;张金玲 |
地址: | 510700 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 应用程序 控制 请求 响应 速率 系统 方法 | ||
1.一种针对应用程序内控制请求响应速率的系统,其特征在于:包括收敛器、EPOLL管理器、请求统计器、发送队列、接收队列、队列负载统计、业务模块连接池和若干个业务模块,其中:
收敛器连接EPOLL管理器:负责用户连接的建立,并将建立好的连接通过本地套接字发送到多个接入网关进程上去;
EPOLL管理器连接收敛器、请求统计器、发送队列和接收队列:采用EPOLL实现的,管理用户连接的读写状态,开辟若干个连接对象池,每个连接对象都具有发送缓存队列,同时对整个进程和单个连接进行请求速率控制;
连接缓存队列属于EPOLL管理器的子模块:针对每个用户连接开辟个缓存队列,用于小包合并发送和响应数据超时丢弃;
请求统计器连接EPOLL管理器、发送队列、接收队列、和业务模块连接池:负责统计每个用户连接上的请求速率和响应速率,统计进程总体请求速率和响应速率,统计业务模块连接池的发送速率和响应速率;当各项速率大于阈值时进行控制;
队列负载统计连接发送队列和接收队列:负责统计发送队列和接收队列的利用率情况,当利用率达到阈值时进行控制;
发送队列连接EPOLL管理器、请求统计器、接收队列、队列负载统计和业务模块连接池:从业务模块连接池上接收响应数据,供EPOLL管理器提取发送给有用户端;
接收队列连接EPOLL管理器、请求统计器、发送队列、队列负载统计和业务模块连接池:从EPOLL管理器接收请求数据,供业务模块连接池转发到具体的业务模块;
业务模块连接池连接请求统计器、发送队列、接收队列和具体的业务模块:从接收队列接收请求数据,然后将请求发送到对应的业务模块;再从业务模块接收响应数据,并将响应数据传递到发送队列;
业务模块连接业务模块连接池:具体执行某一项业务处理。
2.一种针对应用程序内控制请求响应速率的方法,其特征在于包括如下步骤:
S1.当用户通过TCP连接到收敛器模块进程监听的socket套接字时,收敛器进程接受用户连接,并通过本地套接字把用户连接发送到接入进程的EPOLL管理器模块,对所有用户连接进行读写事件监听;
S2.EPOLL管理器通过请求统计器的对总体请求速率、单连接请求速率和接收队列利用率通过算法计算,决定是否将某些用户连接去除或加入读事件监控,从而实现对请求速率的控制;
S3.业务模块连接池针对每个业务模块建立一个连接池,针对每个业务连接池进行请求转发,当业务模块压力过大时,接入进程将丢弃业务请求包,并向EPOLL管理器反馈业务状态;
S4.当业务模块发回响应数据后,业务模块连接池首先判断该连接是否已经关闭,如果连接已关闭就直接丢弃数据包,其次依据“该连接的缓存队列已满且发送队列利用率超过阈值”来判断是否需要对响应数据包进行限速,是否需要丢弃响应数据,同时将状态反馈给EPOLL管理器;
S5.当EPOLL管理器从发送队列接收到响应数据时,首先将数据包直接进行发送,如果发送不完全就加入到该连接的缓存队列;下一次EPOLL管理器调度到该连接的写事件时,将检查数据包的时效性,如果是过期的数据包将被丢弃,同时针对该连接的缓存队列进行小包合并后再发送;对于严重阻塞并发送出错的连接,进行关闭操作,并清理发送队列;
步骤S2所述算法的具体逻辑如下:
S21.如果总体QPS大于阈值MAX_TOTAL_QPS,关闭用户连接;
S22.如果接收队列利用率大于阈值,去除读事件;
S23.如果单个连接QPS过大,则去除读事件;如果单个连接QPS过小,则加入读事件;
S24.依据接收队列利用率、当前连接数、业务模块连接池读取速度之间的比例关系计算单连接QPS动态阈值:单连接QPS动态阈值=基础常数×50/(当前连接数×(EPOLL读取速度–业务转发速度)×队列利用率)
基础常数=单用户基础QPS×最大连接数×队列最大数据包量;
S25.如果单连接QPS动态阈值大于业务模块连接池转发速率,则去除读事件,反之加入读事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广发证券股份有限公司,未经广发证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810777414.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于作业部署信息的链路互连方法和系统
- 下一篇:一种负载均衡方法及装置