业务请求的处理方法、装置、电子设备及存储介质与流程

文档序号:24426520发布日期:2021-03-26 23:08阅读:84来源:国知局
业务请求的处理方法、装置、电子设备及存储介质与流程

1.本发明涉及通信技术领域,尤其涉及一种业务请求的处理方法、处理装置及存储介质。


背景技术:

2.在通信技术领域,在微服务架构中,网络触发的业务请求通常会被直接分发至与业务请求对应的各个服务中去,然而,实际上每个服务的处理能力都有限,当服务的业务请求数量过大,即服务处于过载状态时,很容易造成该服务的不稳定和处理能力的下降,甚至可能导致该服务瘫痪。


技术实现要素:

3.本发明目的在于,提供一种分发负载调节的方法,以解决上述背景技术中存在的问题,提高服务稳定性和处理能力,避免服务瘫痪。为实现上述目的,本发明实施例提供如下技术方案:
4.第一方面,提供了一种业务请求的处理方法,包括:
5.响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息;
6.根据所述负载信息判断所述目标服务是否异常;若是,则拒绝所述业务请求;若否,
7.则将所述业务请求分发至所述目标服务的请求队列中;
8.根据所述请求队列中的业务请求,将目标服务反馈至所述终端。
9.优选地,在所述将所述业务请求分发至所述目标服务的请求队列中之后,还包括:
10.判断所述业务请求存在于所述请求队列的时长是否大于或等于预定时长,若是,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端。
11.优选地,所述响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息,包括:
12.响应终端发送的业务请求,从服务发现中获取本地负载代理上报的目标服务的负载信息。
13.优选地,所述根据所述请求队列中的业务请求,将目标服务反馈至所述终端,包括:
14.通过远程rpc调用的方式,获取所述请求队列中的业务请求对应的目标服务,并将所述目标服务反馈至所述终端。
15.优选地,所述业务请求,携带有服务属性或uri属性,用于确定所述业务请求对应的目标服务。
16.第二方面,提供了一种业务请求的处理装置,其特征在于,包括:
17.服务负载识别模块,用于响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息;
18.服务分发模块,用于根据所述负载信息判断所述目标服务是否异常;若是,则拒绝所述业务请求;若否,
19.则将所述业务请求分发至所述目标服务的请求队列中;
20.响应模块,用于根据所述请求队列中的业务请求,将目标服务反馈至所述终端。
21.优选地,还包括:
22.超时模块,用于判断所述业务请求存在于所述请求队列的时长是否大于或等于预定时长,若是,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端。
23.优选地,还包括:
24.本地负载代理模块,用于获取目标服务的负载信息,并将所述负载信息发送给服务发现。
25.第三方面,提供了一种电子设备,该电子设备包括:
26.处理器、存储器和总线;
27.所述总线,用于连接所述处理器和所述存储器;
28.所述存储器,用于存储操作指令;
29.所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本发明的第一方面所示的业务请求的处理的方法对应的操作。
30.第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本发明第一方面所示的业务请求的处理的方法。
31.本发明实施例的技术方案,具有如下有益效果:
32.本发明提供了一种一种业务请求的处理方法,包括:响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息;根据所述负载信息判断所述目标服务是否异常;若是,则拒绝所述业务请求;若否,则将所述业务请求分发至所述目标服务的请求队列中;根据所述请求队列中的业务请求,将目标服务反馈至所述终端。优选地,在所述将所述业务请求分发至所述目标服务的请求队列中之后,还包括:判断所述业务请求存在于所述请求队列的时长是否大于或等于预定时长,若是,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端。相较于现有技术本发明基于统一的请求分发负载调节服务,运用于云视频会议整体架构中,使得各服务能够按自身的处理能力来进行业务请求处理,有效保护了会议中各服务,提升了服务的稳定性。
附图说明
33.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本发明某一实施例提供的业务请求的处理方法的流程示意图;
35.图2是本发明又一实施例提供的业务请求的处理方法的流程示意图;
36.图3是本发明某一实施例提供的业务请求的处理装置的结构示意图;
37.图4是本发明又一实施例提供的业务请求的处理装置的结构示意图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
40.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
41.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
42.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
43.在微服务架构中,往往业务的请求直接分发到会议中的各个服务中去,每个服务处理能力都有限,某个业务服务请求量过大,很容易造成服务的不稳定和处理能力的下降,甚至可能导致服务瘫痪。
44.第一方面,请参阅图1和图2。
45.本发明实施例提供了一种业务请求的处理方法,包括:
46.步骤s100,响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息;
47.步骤s200,根据所述负载信息判断所述目标服务是否异常;若是,则进入步骤s301,拒绝所述业务请求;若否,
48.则进入步骤s300,将所述业务请求分发至所述目标服务的服务发现06中;
49.步骤s400,根据所述服务发现中的业务请求,将目标服务反馈至所述终端。
50.在一示例中,在步骤s300之后,还包括:
51.步骤310,判断所述业务请求存在于所述服务发现的时长是否大于或等于预定时长,若业务请求存在于所述服务发现的时长大于或等于预定时长,则进入步骤s321,将所述业务请求标记为超时请求,并反馈超时提醒至所述终端。被标记为超时请求的业务请求对应的终端不需要再反馈目标服务,因此需要步骤s331,忽略所述服务发现中标记为过期请求的业务请求。而业务请求存在于所述服务发现的时长小于预定时长,步骤s320,所述业务请求保持在所述目标服务的服务发现中。
52.在一示例中,步骤s100,响应终端发送的业务请求,获取与所述业务请求对应的目标服务的负载信息,包括:
53.响应终端发送的业务请求,从服务发现中获取本地负载代理上报的目标服务的负载信息。
54.在一示例中,步骤s400,根据所述服务发现中的业务请求,将目标服务反馈至所述终端,包括:
55.通过远程rpc调用的方式,获取所述服务发现中的业务请求对应的目标服务,并将
所述目标服务反馈至所述终端。
56.在一示例中,所述业务请求,携带有服务属性或uri属性,用于确定所述业务请求对应的目标服务。uri属性中,uri指统一资源标识符(uniform resource identifier,uri),一个用于标识某一互联网资源名称的字符串。该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。uri由包括确定语法和相关协议的方案所定义。web上可用的每种资源

html文档、图像、视频片段、程序等由一个通用资源标识符(uniform resource identifier,简称"uri")进行定位。所述uri属性是指用于指定信息位置的表示方法。所述携带有uri属性的业务请求,携带有唯一目标服务的信息。
57.在一个具体实施方式中,终端1请求向目标服务2中的服务a发送业务请求,但是所述业务请求不直接由终端1发送给服务a,而是经过负载调节服务和队列模块进行分配。其中负载调节服务:(1)基于业务请求的特性(头域中的服务属性或uri属性)获取业务请求对应的业务服务信息,负载调节服务获取业务请求是基于通用的网络框架(如netty)实现http、tcp连接、链路管理及安全认证等功能,用于会议请求的连接管理;(2)基于服务发现06获取请求对应的目标服务2的负载信息,来动态调整是否要对请求进行后续分发,如果负载异常,则直接拒绝请求,如果负载正常,则将服务请求进行后续处理;(3)基于消息队列将请求分发到目标服务2对应的队列中去,使得请求不直接打到目标服务2中去,所以目标服务2得到了有效的保护;(4)将所有请求超时委托起来,判断所述业务请求存在于所述服务发现06的时长是否大于或等于预定时长,若业务请求存在于所述服务发现06的时长大于或等于预定时长,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端1。被标记为超时请求的业务请求对应的终端1不需要再反馈目标服务2,忽略所述服务发现06中标记为过期请求的业务请求。而业务请求存在于所述服务发现06的时长小于预定时长,所述业务请求保持在所述目标服务2的服务发现06中。目标服务2为了获取业务请求:(1)需要去订阅自己相应的业务队列,否则在超过一定时间后,负载调节服务会发起超时响应给终端1;(2)无需响应标记为超时请求的业务请求;(3)将处理的结果,以远程rpc调用的方式,告知负载调节服务,再由负载调节服务将请求响应给终端1;(4)除了要处理自身的业务请求逻辑,还需将自身服务的负载情况,通过本地负载代理服务,上报给服务发现06,供负载调节服务做分发决策。
58.第二方面,请参阅图3和图4。
59.本发明实施例提供了一种业务请求的处理装置,其特征在于,包括:
60.服务负载识别模块01,用于响应终端1发送的业务请求,获取与所述业务请求对应的目标服务2的负载信息;
61.服务分发模块02,用于根据所述负载信息判断所述目标服务2是否异常;若是,则拒绝所述业务请求;若否,
62.则将所述业务请求分发至所述目标服务2的服务发现06中;
63.响应模块03,用于根据所述服务发现06中的业务请求,将目标服务2反馈至所述终端1。
64.超时模块04,用于判断所述业务请求存在于所述服务发现06的时长是否大于或等于预定时长,若是,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端1。其中,反馈超时提醒至所述终端1,先将超时提醒发送给响应模块03然后经过通讯反馈至所述
终端1。
65.本地负载代理模块05,用于获取目标服务2的负载信息,并将所述负载信息发送给服务发现06。
66.在一个具体实施方式中,终端1请求向目标服务2中的服务a发送业务请求,但是所述业务请求不直接由终端1发送给服务a,而是经过负载调节服务和队列模块进行分配。其中负载调节服务:(1)基于业务请求的特性(头域中的服务属性或uri属性)获取业务请求对应的业务服务信息,负载调节服务获取业务请求是基于通用的网络框架(如netty)实现http、tcp连接、链路管理及安全认证等功能,用于会议请求的连接管理;(2)基于服务发现06获取请求对应的目标服务2的负载信息,来动态调整是否要对请求进行后续分发,如果负载异常,则直接拒绝请求,如果负载正常,则将服务请求进行后续处理;(3)基于消息队列将请求分发到目标服务2对应的队列中去,使得请求不直接打到目标服务2中去,所以目标服务2得到了有效的保护;(4)将所有请求超时委托起来,判断所述业务请求存在于所述服务发现06的时长是否大于或等于预定时长,若业务请求存在于所述服务发现06的时长大于或等于预定时长,则将所述业务请求标记为超时请求,并反馈超时提醒至所述终端1。被标记为超时请求的业务请求对应的终端1不需要再反馈目标服务2,忽略所述服务发现06中标记为过期请求的业务请求。而业务请求存在于所述服务发现06的时长小于预定时长,所述业务请求保持在所述目标服务2的服务发现06中。目标服务2为了获取业务请求:(1)需要去订阅自己相应的业务队列,否则在超过一定时间后,负载调节服务会发起超时响应给终端1;(2)无需响应标记为超时请求的业务请求;(3)将处理的结果,以远程rpc调用的方式,告知负载调节服务,再由负载调节服务将请求响应给终端1;(4)除了要处理自身的业务请求逻辑,还需将自身服务的负载情况,通过本地负载代理服务,上报给服务发现06,供负载调节服务做分发决策。
67.本发明实施例还提供了一种电子设备,该电子设备包括:
68.处理器、存储器和总线;
69.所述总线,用于连接所述处理器和所述存储器;
70.所述存储器,用于存储操作指令;
71.所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本发明的第一方面所示的业务请求的处理的方法对应的操作。
72.在一示例中,所述电子设备包括:处理器和存储器。其中,处理器和存储器相连,如通过总线相连。可选地,电子设备还可以包括收发器。需要说明的是,实际应用中收发器不限于一个,该电子设备的结构并不构成对本发明实施例的限定。
73.处理器可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
74.总线可包括一通路,在上述组件之间传送信息。总线可以是pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。存储器可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd

rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通
用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器用于存储执行本发明方案的应用程序代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
75.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。
76.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本发明第一方面所示的业务请求的处理的方法。
77.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1