基于授信机制的流量控制的方法、装置、设备及可读介质制造方法及图纸

技术编号:32904352 阅读:9 留言:0更新日期:2022-04-07 11:54
本发明专利技术提供了一种基于授信机制的流量控制的方法、装置、设备及可读介质,该方法包括:为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;响应于进程向下游进程发送一个消息,进程的第一授信值减1;响应于进程的第一授信值小于第一预设值,进程停止发送消息并等待;响应于下游进程处理完一个消息,下游进程的第二授信值加1;响应于下游进程的第二授信值达到第二预设值,将下游进程的第二预设值恢复到初始值并为进程增加第一授信值。通过使用本发明专利技术的方案,能够有效的控制后端处理进程负载高处理消息慢时消息的下发速度,能够避免大量请求消息持续下发到某个进程时导致该进程内存溢出并崩溃的问题,能够防止系统过载运行。系统过载运行。系统过载运行。

【技术实现步骤摘要】
基于授信机制的流量控制的方法、装置、设备及可读介质


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种基于授信机制的流量控制的方法。

技术介绍

[0002]在现有存储管理软件的架构中各进程之间通过消息传递来通信,每个进程都有自己的消息队列用于缓存接收消息,解耦处理过程。如果生产者持续高速发送大量请求,而消费者处理请求的速度较低时,如果没有流控会导致该消费处理进程的消息队列持续增大,最终会导致内存溢出并崩溃。

技术实现思路

[0003]有鉴于此,本专利技术实施例的目的在于提出一种基于授信机制的流量控制的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够有效的控制后端处理进程负载高处理消息慢时消息的下发速度,能够避免大量请求消息持续下发到某个进程时导致该进程内存溢出并崩溃的问题,能够防止系统过载运行。
[0004]基于上述目的,本专利技术的实施例的一个方面提供了一种基于授信机制的流量控制的方法,包括以下步骤:
[0005]为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;
[0006]响应于进程向下游进程发送一个消息,进程的第一授信值减1;
[0007]响应于进程的第一授信值小于第一预设值,进程停止发送消息并等待;
[0008]响应于下游进程处理完一个消息,下游进程的第二授信值加1;
[0009]响应于下游进程的第二授信值达到第二预设值,将下游进程的第二预设值恢复到初始值并为进程增加第一授信值。
[0010]根据本专利技术的一个实施例,为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值包括:
[0011]为消息传递中的每个进程的第一授信值的初始值设定为200;
[0012]为消息传递中的每个进程的第二授信值的初始值设定为0。
[0013]根据本专利技术的一个实施例,第一预设值为1,第二预设值为50。
[0014]根据本专利技术的一个实施例,响应于下游进程的第二授信值达到第二预设值,将下游进程的第二预设值恢复到初始值并为进程增加第一授信值包括:
[0015]响应于下游进程的第二授信值达到50,将下游进程的第二授信值恢复为0;
[0016]将进程的第一授信值增加50。
[0017]本专利技术的实施例的另一个方面,还提供了一种基于授信机制的流量控制的装置,装置包括:
[0018]设置模块,设置模块配置为为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;
[0019]调节模块,调节模块配置为响应于进程向下游进程发送一个消息,进程的第一授信值减1;
[0020]停止模块,停止模块配置为响应于进程的第一授信值小于第一预设值,进程停止发送消息并等待;
[0021]增加模块,增加模块配置为响应于下游进程处理完一个消息,下游进程的第二授信值加1;
[0022]恢复模块,恢复模块配置为响应于下游进程的第二授信值达到第二预设值,将下游进程的第二预设值恢复到初始值并为进程增加第一授信值。
[0023]根据本专利技术的一个实施例,设置模块还配置为:
[0024]为消息传递中的每个进程的第一授信值的初始值设定为200;
[0025]为消息传递中的每个进程的第二授信值的初始值设定为0。
[0026]根据本专利技术的一个实施例,第一预设值为1,第二预设值为50。
[0027]根据本专利技术的一个实施例,恢复模块还配置为:
[0028]响应于下游进程的第二授信值达到50,将下游进程的第二授信值恢复为0;
[0029]将进程的第一授信值增加50。
[0030]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0031]至少一个处理器;以及
[0032]存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
[0033]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0034]本专利技术具有以下有益技术效果:本专利技术实施例提供的基于授信机制的流量控制的方法,通过为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;响应于进程向下游进程发送一个消息,进程的第一授信值减1;响应于进程的第一授信值小于第一预设值,进程停止发送消息并等待;响应于下游进程处理完一个消息,下游进程的第二授信值加1;响应于下游进程的第二授信值达到第二预设值,将下游进程的第二预设值恢复到初始值并为进程增加第一授信值的技术方案,能够有效的控制后端处理进程负载高处理消息慢时消息的下发速度,能够避免大量请求消息持续下发到某个进程时导致该进程内存溢出并崩溃的问题,能够防止系统过载运行。
附图说明
[0035]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0036]图1为根据本专利技术一个实施例的基于授信机制的流量控制的方法的示意性流程图;
[0037]图2为根据本专利技术一个实施例的基于授信机制的流量控制的装置的示意图;
[0038]图3为根据本专利技术一个实施例的计算机设备的示意图;
[0039]图4为根据本专利技术一个实施例的计算机可读存储介质的示意图。
具体实施方式
[0040]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0041]基于上述目的,本专利技术的实施例的第一个方面,提出了一种基于授信机制的流量控制的方法的一个实施例。图1示出的是该方法的示意性流程图。
[0042]如图1中所示,该方法可以包括以下步骤:
[0043]S1为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值。
[0044]在消息的传递过程中会经过多个进程,例如消息接收进程、路由分发进程和请求处理进程等,在每个进程中设置两个授信值,即第一授信值和第二授信值,每个进程的第一授信值的初始值优选设置为200,可以根据实际需求进行调整,每个进程的第二授信值的初始值全部设置为0.
[0045]S2响应于进程向下游进程发送一个消息,进程的第一授信值减1。
[0046]当一个进程向下一个进程发送消息时,可以单独发送,也可以并行发送,该进程当前的第一授信值为200,则每发送一个消息,第一授信值就减1。
[0047]S3响应于进程的第一授信值小于第一预设值,进程停止发送消息并等待。
[0048]第一预设值可以设置为1,也可以根据需求设置为其他值,当该进程累积发送了200个消息后,该进程的第一授信值则减少到0,0小于1,因本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于授信机制的流量控制的方法,其特征在于,包括以下步骤:为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;响应于进程向下游进程发送一个消息,所述进程的第一授信值减1;响应于所述进程的第一授信值小于第一预设值,所述进程停止发送消息并等待;响应于所述下游进程处理完一个消息,所述下游进程的第二授信值加1;响应于所述下游进程的第二授信值达到第二预设值,将所述下游进程的第二预设值恢复到初始值并为所述进程增加第一授信值。2.根据权利要求1所述的方法,其特征在于,为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值包括:为消息传递中的每个进程的第一授信值的初始值设定为200;为消息传递中的每个进程的第二授信值的初始值设定为0。3.根据权利要求1所述的方法,其特征在于,所述第一预设值为1,所述第二预设值为50。4.根据权利要求3所述的方法,其特征在于,响应于所述下游进程的第二授信值达到第二预设值,将所述下游进程的第二预设值恢复到初始值并为所述进程增加第一授信值包括:响应于所述下游进程的第二授信值达到50,将所述下游进程的第二授信值恢复为0;将所述进程的第一授信值增加50。5.一种基于授信机制的流量控制的装置,其特征在于,所述装置包括:设置模块,所述设置模块配置为为消息传递中的每个进程设定第一授信值的初始值和第二授信值的初始值;调节模块,所述调节模块配置为响应于进程向下游进程发...

【专利技术属性】
技术研发人员:朱文龙
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1