一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

动态限流熔断处理方法、装置、计算机设备及存储介质与流程

2022-03-23 06:35:54 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种动态限流熔断处理方法、装置、计算机设备及存储介质。


背景技术:

2.目前,随着互联网的快速发展,由于微服务能满足多元化的需求、具有灵活多样性,微服务越来越广泛应用,以致微服务框架下的微服务越来越庞大。由于各微服务的业务流程接口之间存在相互依赖的关系,不断形成业务流程相互调用的关系,如果某一业务流程出现问题,就会导致调用异常,从而导致整体微服务框架下的业务流程调用出现雪崩现象,甚至瘫痪现象。为此,需要对微服务框架下的网关进行限流熔断处理。
3.在实现本技术的过程中,申请人发现现有技术存在如下技术问题:现有的限流熔断组件主要实现方式是静态配置限流熔断参数,并不能随着业务流程的负荷情况动态调整限流熔断参数,参数调控实时性差、精度低。
4.因此,有必要提供一种动态限流熔断处理方法,能够提高限流熔断的准确性。


技术实现要素:

5.鉴于以上内容,有必要提出一种动态限流熔断处理方法、动态限流熔断处理装置、计算机设备及存储介质,能够提高限流熔断的准确性。
6.本技术实施例第一方面提供一种动态限流熔断处理方法,所述动态限流熔断处理方法包括:
7.获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图;
8.计算所述初始业务地图上各个所述业务流程的重要程度,并在所述初始业务地图上标记所述重要程度,得到目标业务地图;
9.获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数;
10.获取各个所述业务流程的业务负荷量,并检测是否存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程;
11.当检测结果为存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程,降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中;
12.根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数,并根据所述目标限流熔断参数执行限流熔断操作。
13.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,所述获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图包括:
14.获取业务流程对应的业务代码;
15.解析所述业务代码,得到所述业务流程的名称代码以及各个所述名称代码间的逻
辑代码;
16.根据所述逻辑代码遍历预先设置的逻辑代码与业务逻辑关系的映射关系,得到所述逻辑代码对应的业务逻辑关系;
17.根据所述业务逻辑关系确定父节点与子节点,并基于所述父节点与所述字节点构建初始业务地图。
18.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,所述计算所述初始业务地图上各个所述业务流程的重要程度包括:
19.确定所述初始业务地图上各个所述业务流程的重要程度评价指标,其中,所述重要程度评价指标包括任务类型、业务类型与用户类型;
20.分别获取所述任务类型对应的任务类型属性值、业务类型对应的业务类型属性值以及所述用户类型对应的用户类型属性值;
21.将所述任务类型属性值、所述业务类型属性值以及所述用户类型属性值输入至预先训练好的重要程度计算模型中,得到各个所述业务流程对应的重要程度。
22.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,所述获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数包括:
23.获取所述目标业务地图上各个所述业务流程的历史响应日志;
24.检测所述历史响应日志中是否存在预设限流熔断关键词;
25.当检测结果为所述历史响应日志中存在所述预设限流熔断关键词时,确定所述预设限流熔断关键词的目标位置,并获取所述目标位置处的内容作为初始限流熔断参数。
26.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,所述降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中包括:
27.选取所述目标业务流程之外的其余业务流程;
28.获取所述其余业务流程对应的计算资源;
29.按照预设资源比例拆分所述计算资源,得到目标计算资源,并将所述目标计算资源分配至所述目标业务流程中。
30.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数包括:
31.获取并分别向量化处理所述业务负荷量与所述计算资源,得到业务负荷量向量与计算资源向量;
32.按照预设数据格式组合所述业务负荷量向量与所述计算资源向量,得到目标输入向量;
33.输入所述目标输入向量至预先训练好的限流熔断参数计算模型中,得到目标限流熔断参数。
34.进一步地,在本技术实施例提供的上述动态限流熔断处理方法中,在所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数之后,所述方法还包括:
35.新建所述目标业务流程对应的初始化的虚拟线程;
36.调用所述虚拟线程按照所述业务负荷量、所述计算资源以及所述目标限流熔断参数运行所述目标业务流程,得到线程运行结果;
37.检测所述线程运行结果是否为正反馈;
38.当检测结果为所述线程运行结果为正反馈时,确定所述目标限流熔断参数正确;
39.当检测结果为所述线程运行结果为负反馈时,按照预设调参步长调整所述目标限流熔断参数,直至所述目标限流熔断参数正确。
40.本技术实施例第二方面还提供一种动态限流熔断处理装置,所述动态限流熔断处理装置包括:
41.业务获取模块,用于获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图;
42.程度计算模块,用于计算所述初始业务地图上各个所述业务流程的重要程度,并在所述初始业务地图上标记所述重要程度,得到目标业务地图;
43.日志解析模块,用于获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数;
44.阈值检测模块,用于获取各个所述业务流程的业务负荷量,并检测是否存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程;
45.业务分配模块,用于当检测结果为存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程,降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中;
46.限流熔断模块,用于根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数,并根据所述目标限流熔断参数执行限流熔断操作。
47.本技术实施例第三方面还提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任意一项所述动态限流熔断处理方法。
48.本技术实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述动态限流熔断处理方法。
49.本技术实施例提供的上述动态限流熔断处理方法、动态限流熔断处理装置、计算机设备以及计算机可读存储介质,能够在资源不足情况下,根据业务流程的重要程度分类,降级处理次要业务场景,并分配次要业务场景的计算资源至重要业务场景以保障重要业务场景,从而提升业务可用性;且本技术在进行计算资源分配后,能够实时快速地根据实际的业务负荷量和计算资源动态调整目标限流熔断参数,从而实现最高的业务可用性和机器负荷的平衡;此外,本技术通过算法模型调整目标限流熔断参数,能够避免现有技术的调参实时性差、质量低的缺点,提高限流熔断参数的准确性。本技术可应用于智慧政务、智慧交通等智慧城市的各个功能模块中,比如智慧政务的动态限流熔断处理模块等,能够促进智慧城市的快速发展。
附图说明
50.图1是本技术实施例一提供的动态限流熔断处理方法的流程图。
51.图2是本技术实施例二提供的动态限流熔断处理装置的结构图。
52.图3是本技术实施例三提供的计算机设备的结构示意图。
53.如下具体实施方式将结合上述附图进一步说明本技术。
具体实施方式
54.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施例对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
55.在下面的描述中阐述了很多具体细节以便于充分理解本技术,所描述的实施例是本技术一部分实施例,而不是全部的实施例。
56.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
57.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
58.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
59.本发明实施例提供的动态限流熔断处理方法由计算机设备执行,相应地,动态限流熔断处理装置运行于计算机设备中。图1是本技术实施例一提供的动态限流熔断处理方法的流程图。如图1所示,所述动态限流熔断处理方法可以包括如下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略:
60.s11,获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图。
61.在本技术的至少一实施例中,在一个系统中,包含若干业务流程,各个业务流程间存在业务逻辑关系,所述业务逻辑关系可以为流程引用关系与流程并列关系,其中,所述流程引用关系是指所述业务流程间的数据存在引用关系,例如,对于业务流程a与业务流程b,业务流程a中的业务数据会流转至业务流程b中进行处理,此时,业务流程a与业务流程b间存在引用关系。所述流程并列关系是指所述业务流程间的数据存在并列关系,例如,对于业务流程c与业务流程d,业务流程c中的业务数据对业务流程d的运行无影响,此时,业务流程c与业务流程d间存在并列关系。
62.根据所述业务逻辑关系能够构建初始业务地图,所述初始业务地图用于通过专业管理内的业务流程梳理,保留业务流程的执行过程,去除非业务处理环节,形成专业内部业务流转的主脉络图,实现业务核心过程的直观呈现,支撑运监人员快速掌握业务专业内业
务流转关系。在一实施例中,所述初始业务地图可以为业务流程关系树的形式展示。
63.可选地,所述获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图包括:
64.获取业务流程对应的业务代码;
65.解析所述业务代码,得到所述业务流程的名称代码以及各个所述名称代码间的逻辑代码;
66.根据所述逻辑代码遍历预先设置的逻辑代码与业务逻辑关系的映射关系,得到所述逻辑代码对应的业务逻辑关系;
67.根据所述业务逻辑关系确定父节点与子节点,并基于所述父节点与所述字节点构建初始业务地图。
68.其中,所述业务代码是指系统人员预先编写的关于各个所述业务流程的代码,所述业务代码中包含各个所述业务代码的代码名称以及所述代码名称间的逻辑代码,通过所述代码名称能够得到各个业务流程。通过所述逻辑代码能够确定各个业务流程间的业务逻辑关系。所述逻辑代码为预先设置的用于标识逻辑关系的代码,所述逻辑代码可以为引用关系代码与并列关系代码。所述逻辑代码与业务逻辑关系间存在映射关系,通过查询所述映射关系,能够得到各个所述逻辑代码对应的业务逻辑关系。在一实施例中,所述业务逻辑关系包括流程引用关系与流程并列关系,根据上述关系能够确定父节点与子节点,并基于所述父节点与所述子节点构建业务流程关系树,也即初始业务地图。示例性地,对于业务流程a、业务流程b与业务流程c,业务流程a中的业务数据会流转至业务流程b中进行处理,而业务流程c与业务流程b为并列关系,由此,可以确定业务流程b与业务流程c分别为父节点b与父节点c,业务流程a为业务流程b的子节点,以此构建初始业务图,在此不做赘述。
69.s12,计算所述初始业务地图上各个所述业务流程的重要程度,并在所述初始业务地图上标记所述重要程度,得到目标业务地图。
70.在本技术的至少一实施例中,所述初始业务地图上的各个所述业务流程间可以按照一定的重要程度评价标准计算其重要程度,并在所述初始业务地图上标记各个所述业务流程的重要程度,能够得到目标业务地图。通过查询所述目标业务地图,能够直观地得到所述业务流程的重要程度的信息。其中,所述重要程度评价标准为系统人员预先设置的指标。标记方式可以为数字标记、字母标记或颜色标记等,在此不做限制。
71.可选地,所述计算所述初始业务地图上各个所述业务流程的重要程度包括:
72.确定所述初始业务地图上各个所述业务流程的重要程度评价指标,其中,所述重要程度评价指标包括任务类型、业务类型与用户类型;
73.分别获取所述任务类型对应的任务类型属性值、业务类型对应的业务类型属性值以及所述用户类型对应的用户类型属性值;
74.将所述任务类型属性值、所述业务类型属性值以及所述用户类型属性值输入至预先训练好的重要程度计算模型中,得到各个所述业务流程对应的重要程度。
75.其中,所述重要程度评价指标包括任务类型、业务类型与用户类型,所述任务类型是指根据任务的目的进行定义,可以包括交易、监控等任务。对于每个任务类型,其对应的属性值可以为业务级别、带宽需求和响应时间等。所述用户类型是指用于标识用户优先级,用户优先级代表了生成业务的用户的身份,分为高优先级用户、次高优先级用户、中优先级
用户和低优先级用户,优先级依次降低。对于每个用户类型,其对应的属性值可以为用户服务等级和用户安全策略等级等。所述业务类型是指网络业务流的类型,可分为会话类、流类、交互类和背景类等。对于每个业务类型,其对应的属性值可以为传输时延、时延抖动和丢包率等。
76.其中,所述重要程度计算模型可以为神经网络模型,其输入数据可以为所述任务类型属性值、所述业务类型属性值以及所述用户类型属性值,输出数据可以为所述业务流程的重要程度。所述重要程度计算模型可以根据大量历史训练样本训练得到,历史样本按照上述输入数据与输出数据的形式。模型的训练过程为现有技术,在此不做赘述。
77.可选地,所述在所述初始业务地图上标记所述重要程度,得到目标业务地图包括:
78.获取所述初始业务地图上的各个所述业务流程以及所述业务流程对应的重要程度;
79.按照预设标记添加所述重要程度至对应的所述业务流程上,得到目标业务地图。
80.其中,标记方式可以为数字标记、字母标记或颜色标记等,在此不做限制。
81.s13,获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数。
82.在本技术的至少一实施例中,所述历史响应日志是指各个所述业务流程的历史应用请求数、历史业务负荷量、历史响应时间、历史线程池资源闲置数、历史机器负荷量以及初始限流熔断参数等数据。所述历史响应日志存储于预设数据库中,考虑到数据存储的可靠性与私密性,所述预设数据库可以为区块链上的目标节点。通过对上述历史响应日志进行分析,能够得到所述业务流程对应的初始限流熔断参数。所述初始限流熔断参数是指在一定计算资源的情况下对应的初始限流熔断要求,在该计算资源下,当机器运行满足初始设置的限流熔断要求时,执行限流熔断操作,能够保护业务运行的平稳性。
83.在一实施例中,所述初始限流熔断参数存储于redis缓存池中,其中,所述redis缓存池为基于redis创建的缓存,所述redis(remotedictionary server),即远程字典服务,是一个开源的使用ansi c语言编写、可基于内存亦可持久化的日志型、key-value数据库,并提供多种开发语言的应用程序接口。所述redis缓存池中存储了限流熔断默认配置,所述限流熔断默认配置为对各个业务流程设置统一的限流熔断配置,使各个业务流程具有初始的限流熔断要求。
84.可选地,所述获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数包括:
85.获取所述目标业务地图上各个所述业务流程的历史响应日志;
86.检测所述历史响应日志中是否存在预设限流熔断关键词;
87.当检测结果为所述历史响应日志中存在所述预设限流熔断关键词时,确定所述预设限流熔断关键词的目标位置,并获取所述目标位置处的内容作为初始限流熔断参数。
88.其中,所述预设限流熔断关键词是指系统人员预先设置的用于标识限流熔断参数的关键词,通过确定所述预设限流熔断关键词所在的目标位置,并提取所述目标位置处的内容作为所述预设限流熔断关键词对应的属性内容,也即初始限流熔断参数。可以理解的是,当检测结果为所述历史响应日志中不存在所述预设限流熔断关键词时,确定所述历史响应日志中不存在初始限流熔断参数,结束流程。
89.s14,获取各个所述业务流程的业务负荷量,并检测是否存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程,当检测结果为存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程,执行步骤s15。
90.在本技术的至少一实施例中,所述预设业务负荷阈值可以是预先设置的用于标识机器正常运行的最大业务负荷,当机器的业务负荷量超过所述预设业务负荷阈值时,机器的业务运行可能会存在异常。所述预设重要程度阈值是指预先设置的用于标识业务流程属于重要业务场景的阈值,当所述业务流程的重要程度超过所述预设重要程度阈值时,确定所述业务流程为重要业务场景,而其余所述业务流程为次要业务场景。
91.s15,降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中。
92.在本技术的至少一实施例中,在机器的计算资源不足情况下,根据业务流程的重要性进行分类,降级处理次重要的业务流程以保障重要的业务流程,提升业务可用性。在一实施例中,所述其他业务流程可以从所述重要程度低于所述预设重要程度阈值的其余业务流程中随机选取。在其他实施例中也可以根据所述重要程度的排序从所述重要程度低于所述预设重要程度阈值的其余业务流程中选取,例如,选取所述重要程度最低的其余业务流程进行降级处理,在此不做限制。
93.可选地,所述降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中包括:
94.选取所述目标业务流程之外的其余业务流程;
95.获取所述其余业务流程对应的计算资源;
96.按照预设资源比例拆分所述计算资源,得到目标计算资源,并将所述目标计算资源分配至所述目标业务流程中。
97.其中,每个业务流程对应的机器均包含计算资源,降级处理所述其余业务流程也即按照预设资源比例拆分所述其余业务流程当前的计算资源,得到目标计算资源。所述预设资源比例可以为系统人员预先设置的比例,例如,所述预设资源比例可以为2:8,在此不做限制。所述其余业务流程当前的计算资源被所述预设资源比例拆分为两部分,一部分计算资源用于继续维持所述其余业务流程的运行,剩余计算资源用于支持所述目标业务流程的运行。
98.s16,根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数,并根据所述目标限流熔断参数执行限流熔断操作。
99.在本技术的至少一实施例中,以历史业务负荷量与历史计算资源为输入向量,对应的初始限流熔断参数为输出向量训练神经网络模型,得到限流熔断参数计算模型。模型的训练过程为现有技术,在此不做赘述。
100.可选地,所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数包括:
101.获取并分别向量化处理所述业务负荷量与所述计算资源,得到业务负荷量向量与计算资源向量;
102.按照预设数据格式组合所述业务负荷量向量与所述计算资源向量,得到目标输入
向量;
103.输入所述目标输入向量至预先训练好的限流熔断参数计算模型中,得到目标限流熔断参数。
104.其中,所述业务负荷量与所述计算资源按照预设数据格式组合,得到目标输入向量,所述预设数据格式为系统人员预先设置的便于模型训练的数据格式,在此不做限制。
105.在一实施例中,在所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数之后,所述方法还包括:
106.新建所述目标业务流程对应的初始化的虚拟线程;
107.调用所述虚拟线程按照所述业务负荷量、所述计算资源以及所述目标限流熔断参数运行所述目标业务流程,得到线程运行结果;
108.检测所述线程运行结果是否为正反馈;
109.当检测结果为所述线程运行结果为正反馈时,确定所述目标限流熔断参数正确;
110.当检测结果为所述线程运行结果为负反馈时,按照预设调参步长调整所述目标限流熔断参数,直至所述目标限流熔断参数正确。
111.其中,可以采用逻辑回归算法确定所述目标限流熔断参数是否符合上述业务负荷量与计算资源,当检测结果为所述线程运行结果为正反馈时,确定所述目标限流熔断参数正确,也即所述目标限流熔断参数符合上述业务负荷量与计算资源,此时无需对所述目标限流熔断参数进行调整。当检测结果为所述线程运行结果为负反馈时,也即所述目标限流熔断参数尚未符合上述业务负荷量与计算资源,按照预设调参步长调整所述目标限流熔断参数,直至所述目标限流熔断参数正确。其中,所述预设参数步长为系统人员预先设置的参数调整步长,在此不做限制。本技术通过新建所述目标业务流程对应的初始化的虚拟线程,并对所述虚拟线程按照所述业务负荷量、所述计算资源以及所述目标限流熔断参数运行所述目标业务流程的线程运行结果进行反馈校验以确保所述目标限流熔断参数符合上述业务负荷量与计算资源,从而提高了目标限流熔断参数的准确性。
112.本技术实施例提供的上述动态限流熔断处理方法,能够在资源不足情况下,根据业务流程的重要程度分类,降级处理次要业务场景,并分配次要业务场景的计算资源至重要业务场景以保障重要业务场景,从而提升业务可用性;且本技术在进行计算资源分配后,能够实时快速地根据实际的业务负荷量和计算资源动态调整目标限流熔断参数,从而实现最高的业务可用性和机器负荷的平衡;此外,本技术通过算法模型调整目标限流熔断参数,能够避免现有技术的调参实时性差、质量低的缺点,提高限流熔断参数的准确性。本技术可应用于智慧政务、智慧交通等智慧城市的各个功能模块中,比如智慧政务的动态限流熔断处理模块等,能够促进智慧城市的快速发展。
113.图2是本技术实施例二提供的动态限流熔断处理装置的结构图。
114.在一些实施例中,所述动态限流熔断处理装置20可以包括多个由计算机程序段所组成的功能模块。所述动态限流熔断处理装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)动态限流熔断处理的功能。
115.本实施例中,所述动态限流熔断处理装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:业务获取模块201、程度计算模块202、日志解析模
块203、阈值检测模块204、业务分配模块205以及限流熔断模块206。本技术所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
116.所述业务获取模块201用于获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图。
117.在本技术的至少一实施例中,在一个系统中,包含若干业务流程,各个业务流程间存在业务逻辑关系,所述业务逻辑关系可以为流程引用关系与流程并列关系,其中,所述流程引用关系是指所述业务流程间的数据存在引用关系,例如,对于业务流程a与业务流程b,业务流程a中的业务数据会流转至业务流程b中进行处理,此时,业务流程a与业务流程b间存在引用关系。所述流程并列关系是指所述业务流程间的数据存在并列关系,例如,对于业务流程c与业务流程d,业务流程c中的业务数据对业务流程d的运行无影响,此时,业务流程c与业务流程d间存在并列关系。
118.根据所述业务逻辑关系能够构建初始业务地图,所述初始业务地图用于通过专业管理内的业务流程梳理,保留业务流程的执行过程,去除非业务处理环节,形成专业内部业务流转的主脉络图,实现业务理财核心过程的直观呈现,支撑运监人员快速掌握业务专业内业务流转关系。在一实施例中,所述初始业务地图可以为业务流程关系树的形式展示。
119.可选地,所述获取业务流程间的业务逻辑关系,并根据所述业务逻辑关系构建初始业务地图包括:
120.获取业务流程对应的业务代码;
121.解析所述业务代码,得到所述业务流程的名称代码以及各个所述名称代码间的逻辑代码;
122.根据所述逻辑代码遍历预先设置的逻辑代码与业务逻辑关系的映射关系,得到所述逻辑代码对应的业务逻辑关系;
123.根据所述业务逻辑关系确定父节点与子节点,并基于所述父节点与所述字节点构建初始业务地图。
124.其中,所述业务代码是指系统人员预先编写的关于各个所述业务流程的代码,所述业务代码中包含各个所述业务代码的代码名称以及所述代码名称间的逻辑代码,通过所述代码名称能够得到各个业务流程。通过所述逻辑代码能够确定各个业务流程间的业务逻辑关系。所述逻辑代码为预先设置的用于标识逻辑关系的代码,所述逻辑代码可以为引用关系代码与并列关系代码。所述逻辑代码与业务逻辑关系间存在映射关系,通过查询所述映射关系,能够得到各个所述逻辑代码对应的业务逻辑关系。在一实施例中,所述业务逻辑关系包括流程引用关系与流程并列关系,根据上述关系能够确定父节点与子节点,并基于所述父节点与所述子节点构建业务流程关系树,也即初始业务地图。示例性地,对于业务流程a、业务流程b与业务流程c,业务流程a中的业务数据会流转至业务流程b中进行处理,而业务流程c与业务流程b为并列关系,由此,可以确定业务流程b与业务流程c分别为父节点b与父节点c,业务流程a为业务流程b的子节点,以此构建初始业务图,在此不做赘述。
125.所述程度计算模块202用于计算所述初始业务地图上各个所述业务流程的重要程度,并在所述初始业务地图上标记所述重要程度,得到目标业务地图。
126.在本技术的至少一实施例中,所述初始业务地图上的各个所述业务流程间可以按
照一定的重要程度评价标准计算其重要程度,并在所述初始业务地图上标记各个所述业务流程的重要程度,能够得到目标业务地图。通过查询所述目标业务地图,能够直观地得到所述业务流程的重要程度的信息。其中,所述重要程度评价标准为系统人员预先设置的指标。标记方式可以为数字标记、字母标记或颜色标记等,在此不做限制。
127.可选地,所述计算所述初始业务地图上各个所述业务流程的重要程度包括:
128.确定所述初始业务地图上各个所述业务流程的重要程度评价指标,其中,所述重要程度评价指标包括任务类型、业务类型与用户类型;
129.分别获取所述任务类型对应的任务类型属性值、业务类型对应的业务类型属性值以及所述用户类型对应的用户类型属性值;
130.将所述任务类型属性值、所述业务类型属性值以及所述用户类型属性值输入至预先训练好的重要程度计算模型中,得到各个所述业务流程对应的重要程度。
131.其中,所述重要程度评价指标包括任务类型、业务类型与用户类型,所述任务类型是指根据任务的目的进行定义,可以包括交易、监控等任务。对于每个任务类型,其对应的属性值可以为业务级别、带宽需求和响应时间等。所述用户类型是指用于标识用户优先级,用户优先级代表了生成业务的用户的身份,分为高优先级用户、次高优先级用户、中优先级用户和低优先级用户,优先级依次降低。对于每个用户类型,其对应的属性值可以为用户服务等级和用户安全策略等级等。所述业务类型是指网络业务流的类型,可分为会话类、流类、交互类和背景类等。对于每个业务类型,其对应的属性值可以为传输时延、时延抖动和丢包率等。
132.其中,所述重要程度计算模型可以为神经网络模型,其输入数据可以为所述任务类型属性值、所述业务类型属性值以及所述用户类型属性值,输出数据可以为所述业务流程的重要程度。所述重要程度计算模型可以根据大量历史训练样本训练得到,历史样本按照上述输入数据与输出数据的形式。模型的训练过程为现有技术,在此不做赘述。
133.可选地,所述在所述初始业务地图上标记所述重要程度,得到目标业务地图包括:
134.获取所述初始业务地图上的各个所述业务流程以及所述业务流程对应的重要程度;
135.按照预设标记添加所述重要程度至对应的所述业务流程上,得到目标业务地图。
136.其中,标记方式可以为数字标记、字母标记或颜色标记等,在此不做限制。
137.所述日志解析模块203用于获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数。
138.在本技术的至少一实施例中,所述历史响应日志是指各个所述业务流程的历史应用请求数、历史业务负荷量、历史响应时间、历史线程池资源闲置数、历史机器负荷量以及初始限流熔断参数等数据。所述历史响应日志存储于预设数据库中,考虑到数据存储的可靠性与私密性,所述预设数据库可以为区块链上的目标节点。通过对上述历史响应日志进行分析,能够得到所述业务流程对应的初始限流熔断参数。所述初始限流熔断参数是指在一定计算资源的情况下对应的初始限流熔断要求,在该计算资源下,当机器运行满足初始设置的限流熔断要求时,执行限流熔断操作,能够保护业务运行的平稳性。
139.在一实施例中,所述初始限流熔断参数存储于redis缓存池中,其中,所述redis缓存池为基于redis创建的缓存,所述redis(remotedictionary server),即远程字典服务,
是一个开源的使用ansi c语言编写、可基于内存亦可持久化的日志型、key-value数据库,并提供多种开发语言的应用程序接口。所述redis缓存池中存储了限流熔断默认配置,所述限流熔断默认配置为对各个业务流程设置统一的限流熔断配置,使各个业务流程具有初始的限流熔断要求。
140.可选地,所述获取并解析所述目标业务地图上各个所述业务流程的历史响应日志,得到所述业务流程对应的初始限流熔断参数包括:
141.获取所述目标业务地图上各个所述业务流程的历史响应日志;
142.检测所述历史响应日志中是否存在预设限流熔断关键词;
143.当检测结果为所述历史响应日志中存在所述预设限流熔断关键词时,确定所述预设限流熔断关键词的目标位置,并获取所述目标位置处的内容作为初始限流熔断参数。
144.其中,所述预设限流熔断关键词是指系统人员预先设置的用于标识限流熔断参数的关键词,通过确定所述预设限流熔断关键词所在的目标位置,并提取所述目标位置处的内容作为所述预设限流熔断关键词对应的属性内容,也即初始限流熔断参数。可以理解的是,当检测结果为所述历史响应日志中不存在所述预设限流熔断关键词时,确定所述历史响应日志中不存在初始限流熔断参数,结束流程。
145.所述阈值检测模块204用于获取各个所述业务流程的业务负荷量,并检测是否存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程。
146.在本技术的至少一实施例中,所述预设业务负荷阈值可以是预先设置的用于标识机器正常运行的最大业务负荷,当机器的业务负荷量超过所述预设业务负荷阈值时,机器的业务运行可能会存在异常。所述预设重要程度阈值是指预先设置的用于标识业务流程属于重要业务场景的阈值,当所述业务流程的重要程度超过所述预设重要程度阈值时,确定所述业务流程为重要业务场景,而其余所述业务流程为次要业务场景。
147.所述业务分配模块205用于当检测结果为存在所述业务负荷量超过预设业务负荷阈值且所述重要程度高于预设重要程度阈值的目标业务流程,降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中。
148.在本技术的至少一实施例中,在机器的计算资源不足情况下,根据业务流程的重要性进行分类,降级处理次重要的业务流程以保障重要的业务流程,提升业务可用性。在一实施例中,所述其他业务流程可以从所述重要程度低于所述预设重要程度阈值的其余业务流程中随机选取。在其他实施例中也可以根据所述重要程度的排序从所述重要程度低于所述预设重要程度阈值的其余业务流程中选取,例如,选取所述重要程度最低的其余业务流程进行降级处理,在此不做限制。
149.可选地,所述降级处理所述目标业务流程之外的其余业务流程,并分配所述其余业务流程的计算资源至所述目标业务流程中包括:
150.选取所述目标业务流程之外的其余业务流程;
151.获取所述其余业务流程对应的计算资源;
152.按照预设资源比例拆分所述计算资源,得到目标计算资源,并将所述目标计算资源分配至所述目标业务流程中。
153.其中,每个业务流程对应的机器均包含计算资源,降级处理所述其余业务流程也
即按照预设资源比例拆分所述其余业务流程当前的计算资源,得到目标计算资源。所述预设资源比例可以为系统人员预先设置的比例,例如,所述预设资源比例可以为2:8,在此不做限制。所述其余业务流程当前的计算资源被所述预设资源比例拆分为两部分,一部分计算资源用于继续维持所述其余业务流程的运行,剩余计算资源用于支持所述目标业务流程的运行。
154.所述限流熔断模块206用于根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数,并根据所述目标限流熔断参数执行限流熔断操作。
155.在本技术的至少一实施例中,以历史业务负荷量与历史计算资源为输入向量,对应的初始限流熔断参数为输出向量训练神经网络模型,得到限流熔断参数计算模型。模型的训练过程为现有技术,在此不做赘述。
156.可选地,所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数包括:
157.获取并分别向量化处理所述业务负荷量与所述计算资源,得到业务负荷量向量与计算资源向量;
158.按照预设数据格式组合所述业务负荷量向量与所述计算资源向量,得到目标输入向量;
159.输入所述目标输入向量至预先训练好的限流熔断参数计算模型中,得到目标限流熔断参数。
160.其中,所述业务负荷量与所述计算资源按照预设数据格式组合,得到目标输入向量,所述预设数据格式为系统人员预先设置的便于模型训练的数据格式,在此不做限制。
161.在一实施例中,在所述根据所述业务负荷量与所述计算资源调整所述目标业务流程对应的初始限流熔断参数,得到目标限流熔断参数之后,所述限流熔断模块206还包括:
162.新建所述目标业务流程对应的初始化的虚拟线程;
163.调用所述虚拟线程按照所述业务负荷量、所述计算资源以及所述目标限流熔断参数运行所述目标业务流程,得到线程运行结果;
164.检测所述线程运行结果是否为正反馈;
165.当检测结果为所述线程运行结果为正反馈时,确定所述目标限流熔断参数正确;
166.当检测结果为所述线程运行结果为负反馈时,按照预设调参步长调整所述目标限流熔断参数,直至所述目标限流熔断参数正确。
167.其中,可以采用逻辑回归算法确定所述目标限流熔断参数是否符合上述业务负荷量与计算资源,当检测结果为所述线程运行结果为正反馈时,确定所述目标限流熔断参数正确,也即所述目标限流熔断参数符合上述业务负荷量与计算资源,此时无需对所述目标限流熔断参数进行调整。当检测结果为所述线程运行结果为负反馈时,也即所述目标限流熔断参数尚未符合上述业务负荷量与计算资源,按照预设调参步长调整所述目标限流熔断参数,直至所述目标限流熔断参数正确。其中,所述预设参数步长为系统人员预先设置的参数调整步长,在此不做限制。本技术通过新建所述目标业务流程对应的初始化的虚拟线程,并对所述虚拟线程按照所述业务负荷量、所述计算资源以及所述目标限流熔断参数运行所述目标业务流程的线程运行结果进行反馈校验以确保所述目标限流熔断参数符合上述业
务负荷量与计算资源,从而提高了目标限流熔断参数的准确性。
168.参阅图3所示,为本技术实施例三提供的计算机设备的结构示意图。在本技术较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
169.本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本技术实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
170.在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
171.需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。
172.在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的动态限流熔断处理方法中的全部或者部分步骤。所述存储器31包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
173.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
174.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
175.在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(control unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本技术实施例中所述的动态限流熔断处理方法的全部或者部分步骤;或者实现动态限流熔断处理装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、
微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
176.在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
177.尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
178.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的部分。
179.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
180.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
181.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
182.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
183.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献