业务请求处理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:19515387 阅读:21 留言:0更新日期:2018-11-21 10:17
本申请涉及一种业务请求处理方法、装置、计算机设备和存储介质。所述方法包括:接收第一业务请求,所述第一业务请求携带有业务标识;将所述第一业务请求分配至第一消息队列中;获取由全局限流器根据第一限流指标生成的第一业务令牌;识别与所述业务标识对应的服务单元,将所述第一业务请求添加至所述服务单元对应的请求队列中;获取所述请求队列返回的与所述第一业务请求对应的第一响应结果;根据所述第一响应结果更新所述全局限流器的第一限流指标。采用本方法能够保证服务平台正常运行。

【技术实现步骤摘要】
业务请求处理方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种业务请求处理方法、装置、计算机设备和存储介质。
技术介绍
在线医疗是指用户通过在手机等电子设备中安装的客户端,即可以实现科室推荐、在线问诊等医疗行为。在用户通过与不同的医疗信息系统通信过程中,存在着大量业务请求的场景,即医疗信息系统在短时间内接收到大量用户添加的业务请求,并且在此种场景之下经常发生由于医疗信息系统的计算能力瓶颈而导致的业务请求失败情况,比如访问超时,访问受限,系统崩溃或长时间无法响应等。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够保证系统正常运行的业务请求处理方法、装置、计算机设备和存储介质。一种业务请求处理方法,所述方法包括:接收第一业务请求,所述第一业务请求携带有业务标识;将所述第一业务请求分配至第一消息队列中;获取由全局限流器根据第一限流指标生成的第一业务令牌;识别与所述业务标识对应的服务单元,将所述第一业务请求添加至所述服务单元对应的请求队列中;获取所述请求队列返回的与所述第一业务请求对应的第一响应结果;根据所述第一响应结果更新所述全局限流器的第一限流指标。在其中一个实施例中,所述第一响应结果包括所述请求队列的第一当前有效长度和第一总长度;所述根据所述第一响应结果更新所述全局限流器的第一限流指标,包括:根据所述第一当前有效长度和所述第一总长度计算得到所述请求队列的第一负载比;获取所述全局限流器的当前的第一限流指标;当所述第一负载比大于第一阈值时,则将所述全局限流器的第一限流指标更新为所述当前的第一限流指标的一半;当所述第一负载比小于第二阈值时,则将所述全局限流器的第一限流指标更新为所述当前的第一限流指标的第一预设倍,且更新后的所述第一限流指标的最大流量大于等于所述当前的第一限流指标的最大流量。在其中一个实施例中,所述方法还包括:当所述第一业务请求未添加至所述请求队列时,则将所述第一业务请求重新添加在所述第一消息队列。在其中一个实施例中,所述方法还包括:获取所述服务单元待向第三方发送的第二业务请求;将所述第二业务请求分配至第二消息队列中;获取由业务限流器根据第二限流指标生成的第二业务令牌;将所述第二业务请求添加至所述服务单元对应的发送队列中;获取所述发送队列返回的与所述第二业务请求对应的第二响应结果;根据所述第二响应结果更新所述业务限流器的第二限流指标。在其中一个实施例中,所述第二响应结果包括所述发送队列的第二当前有效长度和第二总长度;所述根据所述第二响应结果更新所述业务限流器的第二限流指标,包括:根据所述第二当前有效长度和所述第二总长度计算得到所述发送队列的第二负载比;获取所述业务限流器的当前的第二限流指标;当所述第二负载比大于第三阈值时,则将所述业务限流器的第二限流指标更新为所述当前的第二限流指标的一半;当所述第二负载比小于第四阈值时,则将所述业务限流器的第二限流指标更新为所述当前的第二限流指标的第二预设倍,且更新后的所述第二限流指标的最大流量大于等于所述当前的第二限流指标的最大流量。在其中一个实施例中,所述方法还包括:当所述第二业务请求未添加至所述发送队列时,则将所述第二业务请求重新添加在所述第二消息队列。一种业务请求处理装置,所述装置包括:第一业务请求获取模块,用于接收第一业务请求,所述第一业务请求携带有业务标识;第一分配模块,用于将所述第一业务请求分配至第一消息队列中;第一业务令牌获取模块,用于获取由全局限流器根据第一限流指标生成的第一业务令牌;第一识别模块,用于识别与所述业务标识对应的服务单元,将所述第一业务请求添加至所述服务单元对应的请求队列中;第一响应结果获取模块,用于获取所述请求队列返回的与所述第一业务请求对应的第一响应结果;第一更新模块,用于根据所述第一响应结果更新所述全局限流器的第一限流指标。在其中一个实施例中,所述装置还包括:第二业务请求获取模块,用于获取所述服务单元待向第三方发送的第二业务请求;第二分配模块,用于将所述第一业务请求分配至第二消息队列中;第二业务令牌获取模块,用于获取由业务限流器根据第二限流指标生成的第二业务令牌;第二识别模块,用于将所述第二业务请求添加至所述服务单元对应的发送队列中;第二响应结果获取模块,用于获取所述发送队列返回的与所述第二业务请求对应的第二响应结果;第二更新模块,用于根据所述第二响应结果更新所述业务限流器的第二限流指标。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。上述业务请求处理方法、装置、计算机设备和存储介质,在接收到第一业务请求时,将第一业务请求分配至第一消息队列中,且在获取到全局限流器的第一业务令牌后,将第一业务请求添加至服务单元对应的请求队列中,且获取请求队列的响应结果,根据该响应结果来对全局限流器的第一限流指标进行更新,以达到实时更新限流指标的目的,从而保证系统的正常运行。附图说明图1为一个实施例中业务请求处理方法的应用场景图;图2为一个实施例中业务请求处理方法的流程示意图;图3为另一个实施例中业务请求处理方法的流程示意图;图4为一个实施例中业务请求处理装置的结构框图;图5为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的业务请求处理方法,可以应用于如图1所示的应用环境中。其中,终端与服务平台通过网络进行通信,其中服务平台包括服务网关和若干个服务单元,每个服务单元中设置有多个服务器组成的服务器集群,如图1所示,其中全局限流器与服务网关为一一对应关系,业务限流器与服务单元则是一一对应关系,每个服务单元对应一请求队列。服务网关用于接收终端的第一业务请求,并将第一业务请求分配给对应的服务单元,从而服务单元调用第三方业务系统对该业务请求进行处理得到最终的处理结果。因此服务网关中的全局限流器是属于第一级保护,即服务网关通过全局限流器针对所有终端的第一业务请求的限流,用于保护服务平台整体的业务流量。而业务限流器则是第二级保护,其是针对具体的业务的,例如服务平台向第三方业务系统发送的第二业务请求。且其中业务限流器受到了全局限流器的影响,例如业务限流器是在全局限流器允许的范围内可以对更细粒度的业务进行流量限制,例如全局限流器设置了每秒400个第一业务请求,则业务限流器可以设置每秒100个第二请求,但是如果有5个业务限流器同时设置了每秒100个第二请求,则该5个业务限流器的总和还是不会超过全局限流器的设置。此外,请求队列是服务单元维持的,该请求队列可以使用线程池技术实现,例如可以包括8个活动线程和100个排队线程,所有的第一业务请求都将排队进入线程池中执行。在实际应用中,全局限流器的工作原理如下,服务平台通过服务网关接收到终端的第一业务请求,然后将第一业务请求分配至第一消息队列中,并从全局限流器获取第一业务令牌,其中第一业务令牌是全局限流器根据第一限流指标生成本文档来自技高网...

【技术保护点】
1.一种业务请求处理方法,所述方法包括:接收第一业务请求,所述第一业务请求携带有业务标识;将所述第一业务请求分配至第一消息队列中;获取由全局限流器根据第一限流指标生成的第一业务令牌;识别与所述业务标识对应的服务单元,将所述第一业务请求添加至所述服务单元对应的请求队列中;获取所述请求队列返回的与所述第一业务请求对应的第一响应结果;根据所述第一响应结果更新所述全局限流器的第一限流指标。

【技术特征摘要】
1.一种业务请求处理方法,所述方法包括:接收第一业务请求,所述第一业务请求携带有业务标识;将所述第一业务请求分配至第一消息队列中;获取由全局限流器根据第一限流指标生成的第一业务令牌;识别与所述业务标识对应的服务单元,将所述第一业务请求添加至所述服务单元对应的请求队列中;获取所述请求队列返回的与所述第一业务请求对应的第一响应结果;根据所述第一响应结果更新所述全局限流器的第一限流指标。2.根据权利要求1所述的方法,其特征在于,所述第一响应结果包括所述请求队列的第一当前有效长度和第一总长度;所述根据所述第一响应结果更新所述全局限流器的第一限流指标,包括:根据所述第一当前有效长度和所述第一总长度计算得到所述请求队列的第一负载比;获取所述全局限流器的当前的第一限流指标;当所述第一负载比大于第一阈值时,则将所述全局限流器的第一限流指标更新为所述当前的第一限流指标的一半;当所述第一负载比小于第二阈值时,则将所述全局限流器的第一限流指标更新为所述当前的第一限流指标的第一预设倍,且更新后的所述第一限流指标的最大流量大于等于所述当前的第一限流指标的最大流量。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述第一业务请求未添加至所述请求队列时,则将所述第一业务请求重新添加在所述第一消息队列。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:获取所述服务单元待向第三方发送的第二业务请求;将所述第二业务请求分配至第二消息队列中;获取由业务限流器根据第二限流指标生成的第二业务令牌;将所述第二业务请求添加至所述服务单元对应的发送队列中;获取所述发送队列返回的与所述第二业务请求对应的第二响应结果;根据所述第二响应结果更新所述业务限流器的第二限流指标。5.根据权利要求4所述的方法,其特征在于,所述第二响应结果包括所述发送队列的第二当前有效长度和第二总长度;所述根据所述第二响应结果更新所述业务限流器的第二限流指标,包括:根据所述第二当前有效长度和所述第二总长度计算得到所述发送队列的第二负载比;获取所述业务限流器的当前的第二限...

【专利技术属性】
技术研发人员:朱姬渊
申请(专利权)人:平安医疗科技有限公司平安健康互联网股份有限公司
类型:发明
国别省市:广东,44

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

1