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

文档序号:37475444发布日期:2024-03-28 18:57阅读:16来源:国知局
业务请求的处理方法、控制器、电子设备及存储介质与流程

本发明涉及云计算,特别是涉及一种业务请求的处理方法、一种业务控制器、一种电子设备以及一种计算机可读存储介质。


背景技术:

1、受理中心作为电信运营商的核心系统,其包含套餐查询、号码新装、产品修改、停复机、合约、可选包、产品退订、拆机、过户等几十种业务场景。随着业务场景越来越复杂化,对数据库的操作也逐渐增加,月中、月末业务集中办理情况下数据库性能容易达到瓶颈,整体业务出现卡顿、崩溃现象,然而新装、合约、过户等重点业务场景往往要求即时办理,不能影响用户感知,而在私有云物理部署环境下,数据库本身不具备横向纵向扩容条件,因此会产生现网业务数据库性能下降甚至不可用,核心业务稳定性降低,业务请求集中时,数据库流量压力迅速增大,连接数超限数据库响应超时,影响了核心业务受理,延长业务受理的时间,造成用户体验不佳的问题。


技术实现思路

1、本发明实施例是提供一种业务请求的处理方法、控制器、电子设备以及计算机可读存储介质,以解决或部分解决业务受理效率低的问题。

2、本发明实施例公开了一种业务请求的处理方法,应用于业务控制器,所述业务控制器至少包括接口模块、与所述接口模块连接的打分计算模块、与所述打分计算模块连接的流控执行模块以及与所述流控执行模块连接的边车采集模块;其中,所述业务控制器通过所述边车采集模块连接数据库,所述方法包括:

3、所述接口模块接收用户终端发送的业务请求,并获取所述业务请求对应的业务参数;

4、所述流控执行模块获取所述边车采集模块采集的所述数据库的状态参数,并根据所述状态参数判断是否将流量管理模式切换为限流模式;

5、所述打分计算模块响应于所述流量管理模式切换为所述限流模式,根据所述业务参数对所述业务请求进行打分,获得所述业务请求的执行优先级分值;

6、所述流控执行模块根据所述执行优先级分值的高低顺序将所述业务请求发送至所述数据库,以使所述数据库执行与所述业务请求对应的业务操作。

7、在一些可行的实现方式中,所述业务参数至少包括硬件参数以及业务处理参数,所述根据所述状态参数判断是否将流量管理模式切换为限流模式,包括:

8、采用所述硬件参数对所述数据库进行硬件评分,获得硬件分值,所述硬件分值用于评估所述数据库的硬件负载程度;

9、采用所述业务处理参数对所述数据库进行状态评分,获得状态分值,所述状态分值用于评估所述数据库的业务处理负载程度;

10、采用所述硬件分值与所述状态分值对所述数据库进行资源评分,获得资源分值,所述资源分值用于整体评估所述数据库的资源乐观程度;

11、若所述资源分值大于或等于预设负载阈值,则将流量管理模式切换为限流模式;

12、若所述资源分值小于所述预设负载阈值,则保持常规轮询模式。

13、在一些可行的实现方式中,所述硬件参数至少包括cpu占用资源、内存占用资源以及存储占用资源,所述采用所述硬件参数对所述数据库进行硬件评分,获得硬件分值,包括:

14、采用所述cpu占用资源与cpu可用资源进行计算,获得cpu资源分值;

15、采用所述内存占用资源与内存可用资源进行计算,获得内存资源分值;

16、采用所述存储占用资源与存储可用资源进行计算,获得存储资源分值;

17、采用所述cpu资源分值、所述内存资源分值以及所述存储资源分值对所述数据库进行硬件评分,获得硬件分值。

18、在一些可行的实现方式中,所述业务请求为sql语句,所述根据所述业务参数对所述业务请求进行打分,获得所述业务请求的执行优先级分值,包括:

19、获取所述sql语句的语句内容;

20、采用所述语句内容计算所述sql语句的语句复杂度;

21、采用所述业务参数对所述业务请求进行业务评分,获得所述业务请求对应的业务优先级分值;

22、采用所述语句复杂度与所述业务优先级分值进行计算,获得所述业务请求的执行优先级分值。

23、在一些可行的实现方式中,所述语句内容至少包括表数量、语句长度、关键字数量、连接操作数量以及子查询数量,所述采用所述语句内容计算所述sql语句的语句复杂度,包括:

24、按照预设评分规则采用所述表数量、所述语句长度、所述关键字数量、所述连接操作数量以及所述子查询数量中的一种,计算所述sql语句的语句复杂度。

25、在一些可行的实现方式中,所述预设评分规则至少包括:

26、对于表数量:给予每个sql语句一个固定分值,表数量大于1个的sql语句,则每增加一个表,复杂度分值增加0.2分,上限为3分;

27、对于语句长度:若sql语句的字符数量低于500个,则复杂度分值为0.4分,每增加300个字符,则复杂度分值增加0.2分,上限为3分;

28、对于关键字数量:若sql语句的关键字数量低于30个,则复杂度分值为0.2分,每增加30个关键字,则复杂度分值增加0.1分,上限为1分;

29、对于连接操作数量:一个连接操作对应0.2分,上限为2分;

30、对于子查询数量:一个子查询对应0.2分,上限为2分。

31、在一些可行的实现方式中,所述业务参数至少包括业务重要性分值、业务周期性分值以及业务策略,所述业务重要性分值用于表征业务请求对应的业务的重要程度,所述业务周期性分值用于表征所述业务在当前时间的重要程度,所述业务策略用于表征所述业务在当前时间是否为最高执行优先级,所述采用所述业务参数对所述业务请求进行业务评分,获得所述业务请求对应的业务优先级分值,包括:

32、若所述业务策略表征所述业务请求对应的业务当前不为最高执行优先级,则采用实时业务重要性分值与实时业务周期性分值对所述业务请求进行评分,获得所述业务请求对应的业务优先级分值;

33、若所述业务策略表征所述业务请求对应的业务当前为最高执行优先级,则将所述实时业务重要性分值调整为指定业务重要性分值,并将所述实时业务周期性分值调整为指定业务周期性分值,以及采用所述指定业务重要性分值与所述指定业务周期性分值对所述业务请求进行评分,获得所述业务请求对应的业务优先级分值。

34、本发明实施例还公开了一种业务控制器,所述业务控制器至少包括接口模块、与所述接口模块连接的打分计算模块、与所述打分计算模块连接的流控执行模块以及与所述流控执行模块连接的边车采集模块;其中,所述业务控制器通过所述边车采集模块连接数据库;其中,

35、所述接口模块,用于接收用户终端发送的业务请求,并获取所述业务请求对应的业务参数;

36、所述流控执行模块,用于获取所述边车采集模块采集的所述数据库的状态参数,并根据所述状态参数判断是否将流量管理模式切换为限流模式;

37、所述打分计算模块,用于响应于所述流量管理模式切换为所述限流模式,根据所述业务参数对所述业务请求进行打分,获得所述业务请求的执行优先级分值;

38、所述流控执行模块,用于根据所述执行优先级分值的高低顺序将所述业务请求发送至所述数据库,以使所述数据库执行与所述业务请求对应的业务操作。

39、在一些可行的实现方式中,所述业务参数至少包括硬件参数以及业务处理参数,所述流控执行模块具体用于:

40、采用所述硬件参数对所述数据库进行硬件评分,获得硬件分值,所述硬件分值用于评估所述数据库的硬件负载程度;

41、采用所述业务处理参数对所述数据库进行状态评分,获得状态分值,所述状态分值用于评估所述数据库的业务处理负载程度;

42、采用所述硬件分值与所述状态分值对所述数据库进行资源评分,获得资源分值,所述资源分值用于整体评估所述数据库的资源乐观程度;

43、若所述资源分值大于或等于预设负载阈值,则将流量管理模式切换为限流模式;

44、若所述资源分值小于所述预设负载阈值,则保持常规轮询模式。

45、在一些可行的实现方式中,所述硬件参数至少包括cpu占用资源、内存占用资源以及存储占用资源,所述流控执行模块具体用于:

46、采用所述cpu占用资源与cpu可用资源进行计算,获得cpu资源分值;

47、采用所述内存占用资源与内存可用资源进行计算,获得内存资源分值;

48、采用所述存储占用资源与存储可用资源进行计算,获得存储资源分值;

49、采用所述cpu资源分值、所述内存资源分值以及所述存储资源分值对所述数据库进行硬件评分,获得硬件分值。

50、在一些可行的实现方式中,所述业务请求为sql语句,所述打分计算模块具体用于:

51、获取所述sql语句的语句内容;

52、采用所述语句内容计算所述sql语句的语句复杂度;

53、采用所述业务参数对所述业务请求进行业务评分,获得所述业务请求对应的业务优先级分值;

54、采用所述语句复杂度与所述业务优先级分值进行计算,获得所述业务请求的执行优先级分值。

55、在一些可行的实现方式中,所述语句内容至少包括表数量、语句长度、关键字数量、连接操作数量以及子查询数量,所述打分计算模块具体用于:

56、按照预设评分规则采用所述表数量、所述语句长度、所述关键字数量、所述连接操作数量以及所述子查询数量中的一种,计算所述sql语句的语句复杂度。

57、在一些可行的实现方式中,所述预设评分规则至少包括:

58、对于表数量:给予每个sql语句一个固定分值,表数量大于1个的sql语句,则每增加一个表,复杂度分值增加0.2分,上限为3分;

59、对于语句长度:若sql语句的字符数量低于500个,则复杂度分值为0.4分,每增加300个字符,则复杂度分值增加0.2分,上限为3分;

60、对于关键字数量:若sql语句的关键字数量低于30个,则复杂度分值为0.2分,每增加30个关键字,则复杂度分值增加0.1分,上限为1分;

61、对于连接操作数量:一个连接操作对应0.2分,上限为2分;

62、对于子查询数量:一个子查询对应0.2分,上限为2分。

63、在一些可行的实现方式中,所述业务参数至少包括业务重要性分值、业务周期性分值以及业务策略,所述业务重要性分值用于表征业务请求对应的业务的重要程度,所述业务周期性分值用于表征所述业务在当前时间的重要程度,所述业务策略用于表征所述业务在当前时间是否为最高执行优先级,所述打分计算模块具体用于:

64、若所述业务策略表征所述业务请求对应的业务当前不为最高执行优先级,则采用实时业务重要性分值与实时业务周期性分值对所述业务请求进行评分,获得所述业务请求对应的业务优先级分值;

65、若所述业务策略表征所述业务请求对应的业务当前为最高执行优先级,则将所述实时业务重要性分值调整为指定业务重要性分值,并将所述实时业务周期性分值调整为指定业务周期性分值,以及采用所述指定业务重要性分值与所述指定业务周期性分值对所述业务请求进行评分,获得所述业务请求对应的业务优先级分值。

66、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;

67、所述存储器,用于存放计算机程序;

68、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。

69、本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。

70、本发明实施例包括以下优点:

71、在本发明实施例中,通过设计业务控制器,在业务控制器中至少包括接口模块、打分计算模块、流控执行模块以及边车采集模块,当用户终端发起相应的业务请求时,接口模块接收用户终端发送的业务请求,并获取业务请求对应的业务参数,接着流控执行模块获取边车采集模块采集的数据库的状态参数,并根据状态参数判断是否将流量管理模式切换为限流模式,通过数据库的状态参数对流量管理模式进行管理,保证了数据库的稳定性,使得数据库能够有效地对业务请求进行响应,相应的,打分计算模块响应于流量管理模式切换为限流模式,根据业务参数对业务请求进行打分,获得业务请求的执行优先级分值,接着流控执行模块再根据执行优先级分值的高低顺序将业务请求发送至数据库,以使数据库执行与业务请求对应的业务操作,从而在切换了流量管理模式后,进一步基于业务参数对业务请求进行评分,确定执行优先级,使得数据库可以基于执行优先级依次对业务请求进行处理,实现了业务分流,进一步有利于保证数据库运行的稳定性,使得数据库能够稳定地受理业务,提高业务受理的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1