CN115857838A - 存储资源的分析方法、装置、电子设备及存储介质 - Google Patents
存储资源的分析方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115857838A CN115857838A CN202310184318.9A CN202310184318A CN115857838A CN 115857838 A CN115857838 A CN 115857838A CN 202310184318 A CN202310184318 A CN 202310184318A CN 115857838 A CN115857838 A CN 115857838A
- Authority
- CN
- China
- Prior art keywords
- request
- dynamic
- static
- service
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 234
- 238000003860 storage Methods 0.000 title claims abstract description 176
- 230000003068 static effect Effects 0.000 claims abstract description 231
- 230000036541 health Effects 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 62
- 239000013598 vector Substances 0.000 claims description 66
- 230000004044 response Effects 0.000 claims description 56
- 239000003795 chemical substances by application Substances 0.000 claims description 39
- 230000004043 responsiveness Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 238000005457 optimization Methods 0.000 abstract description 11
- 238000007405 data analysis Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013433 optimization analysis Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000004519 grease Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种存储资源的分析方法、装置、电子设备及存储介质,涉及数据分析领域。该方法包括:在服务启动的情况下,初始化服务对应的存储资源的各项信息,加载服务对应的静态规则和动态规则;根据存储资源的各项信息以及静态规则进行静态分析,得到静态分析数据;实时针对服务的请求进行检测,确定请求的请求数据,根据请求数据以及动态规则进行动态分析,得到动态分析数据;定期根据静态规则和静态分析数据、动态规则和动态分析数据、以及请求数据,确定服务的健康度;根据静态分析数据、动态分析数据以及健康度生成报表并推送。通过本实施例的方法,可以在服务运转的过程中结合动静态分析结果进行服务存储资源的动态调优。
Description
技术领域
本发明实施例涉及数据分析领域,尤其涉及一种存储资源的分析方法、装置、电子设备及存储介质。
背景技术
目前大多数服务因对存储层需求主要集中在性能和扩展性方面,因此通常采用mysql(关系型数据库管理系统)、redis(分布式缓存与存储系统)等开源存储方案。这类服务的特点通常是业务场景多元化、并发流量比较大、可用性要求较高。然而,实际服务线上运行过程中,服务的存储资源往往不能按照预期的各种容量及性能指标正常运行,而是会因为排期紧张系统赶工等原因出现慢SQL(结构化查询语言)、数据量过度增长导致性能衰减、数据库设计本身存在缺陷等一系列使用不当或未合理优化等原因,导致服务存储资源负载较大的情况下出现可用性及性能等问题。
也就是说,现有技术在服务线上运行的过程中并不能够进行服务存储资源的动态分析及适应,导致服务的实际存储资源出现因资源使用不当或者未做合理优化导致的可用性问题。
发明内容
本发明实施例提供一种存储资源的分析方法、装置、电子设备及存储介质,旨在针对存储资源进行动静态结合分析,在服务运转的过程中可以结合动静态分析结果进行服务存储资源动态的调优,以辅助发现并解决线上服务因存储资源使用问题导致的可用性问题及性能隐患。
本发明实施例第一方面提供了一种存储资源的分析方法,所述方法包括:
在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则;
根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据;
实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据;
定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度;所述健康度表征所述服务的系统规范化程度和所述服务对应的存储资源的容量和状态;
根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
本发明实施例第二方面提供了一种存储资源的分析装置,所述装置包括:
规则引擎模块,用于在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则;
静态分析模块,用于根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据;
动态分析模块,用于实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据;
健康度确定模块,用于定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度;所述健康度表征所述服务的系统规范化程度和所述服务对应的存储资源的容量和状态;
报表推送模块,用于根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
本发明实施例第三方面提供了一种电子设备,所述电子设备包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被该处理器执行时实现如本发明实施例第一方面的存储资源的分析方法。
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面的存储资源的分析方法。
通过本发明实施例提供的存储资源的分析方法,在服务启动的情况下,初始化服务对应的存储资源的各项信息,加载服务对应的静态规则和动态规则;根据存储资源的各项信息以及静态规则进行静态分析,得到静态分析数据;实时针对服务的请求进行检测,确定请求的请求数据,根据请求数据以及动态规则进行动态分析,得到动态分析数据;定期根据静态规则和静态分析数据、动态规则和动态分析数据、以及请求数据,确定服务的健康度;根据静态分析数据、动态分析数据以及健康度生成报表并推送。通过本实施例的方法,在服务启动后,可以通过对服务的存储资源进行初始化静态分析,针对服务的请求进行实时的动态分析,以及根据动、静态分析结果定期确定表征服务存储资源容量状态的健康度,并根据动、静态分析结果和健康度生成报表并推送,从而在服务运转的过程中用于辅助发现并解决线上服务因存储资源使用问题导致的可用性问题及性能隐患,完成线上服务存储资源动态的调优。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例示出的一种存储资源的分析方法的流程图;
图2为本发明一实施例提供的请求语法树示例图;
图3是本发明一个实施例示出的一种存储资源的分析方法的流程示意图;
图4是本发明一个实施例示出的一种存储资源的分析系统的结构示意图;
图5是本发明一实施例提供的存储资源的分析装置的结构框图;
图6是本发明一实施例示出的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,将结合附图更详细地描述本方案的具体示例。
参考图1,图1是本发明一个实施例示出的一种存储资源的分析方法的流程图。如图1所示,本实施例的存储资源的分析方法可以包括以下步骤:
步骤S11:在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则。
本实施例中,在服务启动的情况下,可以针对该服务对应的存储资源进行初始化,加载得到服务对应的存储资源的各项信息。具体的,服务对应的存储资源的各项信息可以至少包括:服务对应的存储资源各系统级维度信息、服务对应的静态规则和动态规则、服务对应的存储资源使用环境以及告警级别、线上历史SQL日志、线上redisstat(Redis图形化监控)等等。其中,服务对应的存储资源各系统级维度信息可以如:针对数据库:数据库表结构、索引信息、约束信息、存储容量信息等,针对缓存:缓存LRU信息、缓存stat(统计监控)信息等。服务对应的存储资源使用环境可以如:开发环境、测试环境、生产环境等。此外,本实施例还可以是定时加载上述服务对应的存储资源的各项信息,如定时加载系统级维度信息和SQL日志等信息。
步骤S12:根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据。
本实施例中,在加载得到服务对应的存储资源的各项信息之后,可以根据得到的服务对应的静态规则对服务对应的存储资源的各项信息进行静态分析,得到静态分析数据,得到静态分析结果。其中,静态规则指的是针对服务存储资源的各项基础信息进行分析维护告警所制定的相关规则。
具体的,可以是根据静态规则针对存储资源的数据库进行分析:如分析数据库表设计合理性,索引合理性;分析数据库查询语句规范性、索引分析;SQL反模式分析等等;以及,根据静态规则针对存储资源的缓存redis进行分析:如分析lru(LeastRecently Used)策略、逐出情况、命令调用频率和size分布;从而得到各项静态分析数据。
在一实施例中,配置的静态规则可以如下表1所示例:
步骤S13:实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据。
用户访问服务时,每条访问请求可以到达业务服务,再通过业务服务到达服务对应的存储资源。本实施例可以对服务的每条请求进行实时检测,确定每条请求对应的请求数据,从而根据服务启动时加载得到的动态规则,对检测得到的请求数据进行动态分析,得到相应的动态分析数据。其中,动态规则指的是针对服务请求的相关请求数据进行分析维护告警所制定的相关规则。
步骤S14:定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度。
本实施例中,可以定期(即周期性)收集一段时间内所得到的静态分析数据、动态分析数据以及服务请求的请求数据,从而根据静态分析数据和静态规则、动态分析数据和动态规则、以及请求数据,确定出服务对应的健康度,以用于直观量化体现服务的当前情况。其中,健康度表征服务的系统规范化程度和服务对应的存储资源的容量和状态。
步骤S15:根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
本实施例中,在得到静态分析数据后,可以根据静态分析数据(包括静态分析结果)生成分析报表并推送,并针对严重问题立即告警。而在得到动态分析数据后,可以根据动态分析数据(包括动态分析结果)生成分析报表并推送,并针对严重问题立即告警。以及得到服务的健康度后,生成报表并推送,使得相关人员可以进行服务关注处理。
其中,在一可选实施方式中,可以是根据静态分析数据、动态分析数据以及健康度生成同一报表并推送,也可以是分别根据静态分析数据、动态分析数据以及健康度生成不同报表并推送,本实施例对此不作任何限制。
在本实施例中,在服务启动后加载服务的静、动态规则,可以通过对服务的存储资源进行静态分析,针对服务的请求进行实时的动态分析,以及根据动、静态分析结果定期确定表征服务存储资源容量状态的健康度,并根据动、静态分析结果和健康度生成报表并推送,从而在服务运转的过程中用于辅助发现并解决线上服务因存储资源使用问题导致的可用性问题及性能隐患,完成线上服务存储资源动态的调优。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;上述步骤S14具体可以包括步骤S21至步骤S25:
步骤S21:根据所述静态规则和所述静态分析数据,得到每条请求的静态规范分。
本实施例中,可以针对服务的每条请求,根据服务对应的静态规则和服务对应的静态分析数据,确定出每条请求的静态规范分。
在一可选实施例中,上述步骤S21具体可以包括步骤S21-1至步骤S21-2:
步骤S21-1:根据所述静态规则和所述静态分析数据,对多个静态规则进行打分,得到多个静态规则分值向量。
本实施例中,可以根据服务的静态规则和静态分析数据,分别对多个静态规则进行打分,得到静态规则分值向量。具体的,本实施例的打分可以是根据规则和数据进行人工打分,也可以是进行自动打分,对此不作限制。如确定有m个静态规则,根据静态规则和静态分析数据,分别对这m个静态规则进行打分得到了m个静态规则分值向量。
步骤S21-2:根据静态规则最大值、所述多个静态规则的规则数量、所述多个静态规则分值向量以及各自对应的静态规则权重向量,得到所述每条请求的静态规范分。
本实施例的多个静态规则各自对应有事先设置好的静态规则权重向量,以及本实施例事先针对静态规范分设置有静态规则最大值,该静态规则最大值为静态规则打分的最大分值。本实施例中,得到多个静态规则分值向量后,可以根据静态规则最大值、多个静态规则的规则数量、多个静态规则分值向量以及各自对应的静态规则权重向量,计算得到每条请求的静态规范分。
步骤S22:根据所述动态规则和所述动态分析数据,得到每条请求的动态规范分。
本实施例中,可以针对服务的每条请求,根据服务对应的动态规则和服务对应的动态分析数据,确定出每条请求的动态规范分。
在一可选实施例中,上述步骤S22具体可以包括步骤S22-1至步骤S22-2:
步骤S22-2:根据所述动态规则和所述动态分析数据,对多个动态规则进行打分,得到多个动态规则分值向量。
本实施例中,可以根据服务的动态规则和动态分析数据,分别对多个动态规则进行打分,得到动态规则分值向量。如确定有n个动态规则,根据动态规则和动态分析数据,分别对这n个动态规则进行打分得到了n个动态规则分值向量。
步骤S22-2:根据动态规则最大值、所述多个动态规则的规则数量、所述多个动态规则分值向量以及各自对应的动态规则权重向量,得到所述每条请求的动态规范分。
本实施例的多个动态规则各自对应有事先设置好的动态规则权重向量,以及本实施例事先针对动态规范分设置有动态规则最大值,该动态规则最大值为动态规则打分的最大分值。本实施例中,得到多个动态规则分值向量后,可以根据动态规则最大值、多个动态规则的规则数量、多个动态规则分值向量以及各自对应的动态规则权重向量,计算得到每条请求的动态规范分。
步骤S23:根据所述每条请求的请求类型和请求执行耗时,确定每条请求的响应度。
本实施例中,请求数据至少包括:每条请求的请求类型和请求执行耗时。其中,请求类型可以包括:数据库请求、缓存请求,http请求等等。本实施例可以针对服务的每条请求,根据每条请求的请求类型和请求执行耗时分布区间,确定出每条请求的响应度。
在一可选实施例中,上述步骤S23具体可以包括步骤S23-1至步骤S23-2:
步骤S23-1:根据所述每条请求的请求类型和请求执行耗时,对所述服务的多个响应规则进行打分,得到多个响应规则分值向量。
本实施例中,可以根据每条请求的请求类型和请求执行耗时,分别对每条请求的多个响应规则进行打分,得到响应规则分值向量。如确定有p个响应规则,根据每条请求的请求类型和请求执行耗时,分别对这p个响应规则进行打分得到了p个响应规则分值向量。
步骤S23-2:根据响应规则最大值、所述多个响应规则的规则数量、所述多个响应规则分值向量以及各自对应的响应规则权重向量,得到所述每条请求的响应度。
本实施例的多个响应规则各自对应有事先设置好的响应规则权重向量,以及本实施例事先针对响应度设置有响应规则最大值,该响应规则最大值为响应规则打分的最大分值。本实施例中,得到多个响应规则分值向量后,可以根据响应规则最大值、多个响应规则的规则数量、多个响应规则分值向量以及各自对应的响应规则权重向量,计算得到每条请求的响应度。
步骤S24:根据所述每条请求的静态规范分、所述每条请求的动态规范分和所述每条请求的响应度,确定每条请求的健康度。
本实施例在得到每条请求的静态规范分、动态规范分和响应度之后,即可根据每条请求的静态规范分、动态规范分和响应度,确定出每条请求的健康度。
在一可选实施例中,上述步骤S24具体可以包括步骤S24-1:
步骤S24-1:根据调优因子权重常量、静态因子权重常量和所述每条请求的静态规范分、动态因子权重常量和所述每条请求的动态规范分,以及,响应因子权重常量和所述每条请求的响应度,确定所述每条请求的健康度。
本实施例中预先设置有各种因子权重常量,如:调优因子权重常量、静态因子权重常量、动态因子权重常量和响应因子权重常量。如此,在得到每条请求的静态规范分、动态规范分和响应度之后,可以根据调优因子权重常量、静态因子权重常量和每条请求的静态规范分、动态因子权重常量和每条请求的动态规范分,以及,响应因子权重常量和每条请求的响应度,确定出每条请求的健康度。
其中,单条请求的系统规范分可以如下式(8)所示:
步骤S25:根据所述每条请求的健康度和单位时间内所述服务的总请求数,确定单位时间内所述服务的健康度。
本实施例在得到每条请求的健康度之后,即可根据每条请求的健康度和单位时间内服务的总请求数,确定出单位时间内所述服务的健康度。
在一可选实施例中,上述步骤S25具体可以包括步骤S25-1:
步骤S25-1:根据所述每条请求的健康度、所述单位时间内所述服务的总请求数、所述调优因子权重常量、所述静态因子权重常量、所述动态因子权重常量和所述响应因子权重常量,确定所述单位时间内所述服务的健康度。
本实施例中,在得到每条请求的健康度之后,可以根据每条请求的健康度、单位时间内服务的总请求数、调优因子权重常量、静态因子权重常量、动态因子权重常量和响应因子权重常量,确定出单位时间内服务的健康度。
具体的,单位时间内服务的健康度可以如下式(9)所示,其中,N为单位时间内服务的总请求数:
在本实施例中,可以定期计算服务的健康度,持续跟进健康度的变化是一种有效了解系统及服务的方法,能够直观地了解服务存储资源容量和效率变化,以及迭代过程中每次优化后效果的数据支撑。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,所述服务通过代理连接所述存储资源,上述步骤S13具体可以包括步骤S31和步骤S33:
步骤S31:通过所述代理接收所述服务的请求。
本实施例中,服务通过代理连接服务对应的存储资源,其中,服务和代理之间的部署方案可以灵活配置:如可以集中化配置,即多个服务对应同一个代理,多个服务通过同一个代理连接对应的存储资源;也可以是sidecar方式部署,即一对一配置:一个服务对应一个代理。
在本实施例中,可以通过服务连接的代理对服务的请求进行实时检测处理,并根据动态规则进行动态分析。而当用户访问服务时,每条访问请求可以先后通过防火墙和服务网关到达服务,然后再到达代理,以通过代理接收到该服务的请求,即服务通过代理对请求进行统一处理。
步骤S32:通过所述代理针对所述服务的请求进行检测,得到所述请求数据。
本实施例中,代理可以对该服务的请求进行检测,确定出针对该请求的相关请求数据,即确定出该请求的相关请求指标。
步骤S33:通过所述代理根据所述请求数据以及所述动态规则进行动态分析,得到所述动态分析数据。
本实施例中,代理得到请求数据后,可以根据动态规则对请求数据进行动态分析,得到相应的动态分析数据。如根据动态规则确定出请求数据中的核心指标触发动态规则设定的阈值会进行及时告警。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,“服务通过代理连接所述存储资源”可以包括步骤S41至步骤S43:
步骤S41:所述服务通过SDK访问所述代理,所述SDK支持开关切换直连所述存储资源或者通过所述代理连接所述存储资源。
本实施例中,可以服务可以通过SDK(软件开发工具包)访问其对应的代理。本实施例的SDK支持开关切换以实现服务直接连接其对应的存储资源或服务通过代理连接其对应的存储资源。
步骤S42:在所述SDK开的情况下,所述服务通过所述代理连接所述存储资源。
本实施例中,在SDK开关为开的情况下,所述服务可以通过代理连接其对应的存储资源。此时为代理接入模式:当业务发起资源请求,通过资源请求代理装置进行代理处理,具备实时动态规则分析、静态分析、报表生成和推送等功能。
步骤S43:在所述SDK关的情况下,所述服务直接连接所述存储资源。
本实施例中,在SDK开关为关的情况下,所述服务为直接连接其对应的存储资源。此时为直接接入模式:业务直接向服务存储资源发起请求,跳过实时动态规则校验分析,具备静态校验分析、报表报表生成和推送等功能。
也就是说,在本实施例中,考虑到实际工作中的服务存在很多复杂情况,有着各种可能的约束,故可以在设计上兼顾多种情况,支持多种模式对接:1、代理接入模式;2、直接接入模式;3、侵入式全功能接入模式:可通过SDK +代理的方式接入,支持上述实施例的全部功能,通过SDK开关进行切换,实现代理连接资源、直连资源、或抽样代理连接模式(一部分服务连接代理,一部分服务不连接代理的模式),使得这种方式适合性能要求十分高的场景。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,上述步骤S33具体可以包括步骤S51至步骤S53:
步骤S51:在通过所述代理根据所述动态规则,确定所述请求执行耗时高于请求耗时阈值的情况下,确定所述请求执行慢。
本实施例中,检测得到的请求数据可以包括与请求有关的各项指标,其中,在本实施例中的请求数据至少包括:每条请求的请求类型和请求执行耗时。从而在通过代理根据动态规则进行动态分析时,可以通过代理根据该动态规则里的请求耗时阈值,确定该请求的请求执行耗时是否高于该请求耗时阈值。其中,请求耗时阈值表征请求耗时正常的最大值,其可以自由设定。在通过代理根据该动态规则里的请求耗时阈值,确定该请求的请求执行耗时高于该请求耗时阈值的情况下,可以确定该请求执行慢。
步骤S52:在通过所述代理根据所述动态规则,确定执行慢的请求高于预设比例的情况下,确定存在服务压力及负载问题,得到所述动态分析数据。
本实施例中,动态规则中还预先设置有预设比例,该预设比例表征请求慢的最大比例。在通过代理根据动态规则中的预设比例,确定执行慢的请求高于预设比例的情况下,可以确定存在服务压力及负载问题,此时可以检测服务存储资源的各项指标,寻找问题症结,得到动态分析数据。
步骤S53:在通过所述代理根据所述动态规则,确定执行慢的请求低于预设比例的情况下,确定存在SQL语句编程问题,得到所述动态分析数据。
本实施例中,在通过代理根据动态规则中的预设比例,确定执行慢的请求低于预设比例的情况下,可以确定此时为个别请求慢,存在SQL语句编程不合理问题或者索引及数据库范式设计不合理等问题,此时可以根据请求语法树对SQL语句进行动态分析,得到动态分析数据。如图2所示,图2为本发明一实施例提供的请求语法树示例图。其中,图2为一条SQL语句,其中,图2中的“select”、“from”、“where”都是SQL语句的关键字,“select”后面跟着“fields”指的是查询哪些字段,其中字段(fields)指向“*”指的是查询所有字段;“from”后面跟着“table”指的是查询哪个表格,其中表格(table)指向“tt”指的是查询表名为“tt”的表格;“where”后面跟着条件“conditions”,其中,图2中的条件中,“and”为“并且”;“gt”为“greater than”,表征“大于”;“lt”为“less than”,表征“小于”;“in”为“属于”;因此,图2中表示的条件包括:条件1:a大于20且b小于5;条件2:c属于(1,2,3)这个范围。综上,图2中的一条SQL语句表征:从表名为“tt”的表格里查询所有字段,其中条件为a>20且b<5,C∈(1,2,3)。
在本实施例中,在通过代理进行动态分析时,当分析出出现异常时,可以先确定为系统级问题还是个别编程问题,从而进行进一步的检测生成动态分析结果以生成报表并推送。需要说明的是针对Redis情况与前述类似,不再赘述。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,除上述步骤外,还可以包括以下至少一个步骤:
步骤S61:定期根据所述静态规则和所述动态规则,分别对所述静态分析数据和所述动态分析数据进行判别并自动化归因,生成相应报表并推送。
本实施例中,可以定期处理动态分析以及静态分析上报的数据,定期根据静态规则和动态规则,分别对静态分析数据和动态分析数据进行判别并自动化归因,生成相应报表,并推送相关人员。
其中,定期的动静态上报数据分析可以包括:操作规范化分析、库表及索引设计优化分析、SQL 反模式分析、缓存使用优化分析等等。
步骤S62:定期分析所述服务在业务流量高峰期的相关数据,以及所述服务对应的热点数据,得到热点分析结果,根据所述热点分析结果评估所述存储资源的容量。
本实施例中,还可以定时分析业务流量高峰期的服务相关数据,以及分析服务对应的热点数据,从而得到热点分析结果,以根据热点分析结果评估存储资源的容量信息,并进行相应报表的推送。
步骤S63:定期进行所述存储资源的潜在故障点分析,得到故障点分析结果并推送。
本实施例中,也可以是针对存储资源的潜在故障点进行分析,如针对常见数据库潜在故障点预警分析、常见redis潜在故障点预警分析等等,从而将分析得到的故障点分析结果生成报表并推送至相关人员进行关注处理。
需要说明的是,上述步骤S61-S63中的定期均表示周期性,不同步骤中(如上述步骤S61-S63中以及步骤S14中)的所指的定期的周期可以相同也可以不同,且周期可以长也可以短,如短就相当于半实时,本实施对此不作任何限制。
在本实施例中,通过定期分析即准实时分析,可以通过动态代理解决各个阶段的SQL合理性问题,基于数据库(如Mysql)原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系、索引情况,对于影响性能甚至可能产生慢查询的操作强制性进行规避;并定期进行容量和效率的分析。
此外在一种实施例中,本实施例还可以支持离线分析,即可以根据统计上报的相关数据,离线起一个任务,以对SQL执行频率(每天执行多少次)、库表增速等进行分析,看是否合理,以及对join、区分度不高的属性索引等问题给出优化建议。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,除上述步骤外,还可以包括步骤S71:
步骤S71:响应于用户在规则引擎编辑界面的修改操作,确定所述服务对应的修改后的静态规则配置和/或动态规则配置并保存,保存后所述服务热更新自动生效,以实现规则的编辑和同步。
本实施例中,服务安装时会自带静态规则配置和动态规则配置,在服务运行过程中,用户如需要增强指标或者优化规则引擎参数,可通过规则引擎编辑页面进行修改操作以直接修改相应配置,从而响应于用户在规则引擎编辑界面的修改操作,确定服务对应的修改后的静态规则配置和/或动态规则配置并保存,保存后在服务热更新后自动生效,以实现规则的编辑和同步。其中,热更新为用户访问服务就会遇到的即时更新,无需重新下载整个服务安装包的更新方式。
在本实施例中,动静态规则支持规则在线热更新,从而保障服务存储资源在各个环境中均能被有效覆盖,通过动静结合的方式有效弥补了传统资源审计的不足,更高效更自动化地解决了存储资源使用有效性问题。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种存储资源的分析方法。在该方法中,上述步骤S11具体可以包括步骤S81至步骤S83:
步骤S81:初始化所述服务对应的存储资源的应用场景;其中,不同的应用场景支持不同的规则引擎模板。
本实施例中,初始化的服务对应的存储资源的各项信息可以包括服务对应的存储资源的应用场景,即服务启动后,会初始化服务对应的存储资源的应用场景。应用场景可以包括:数据库场景(应用开发类,资金安全类,数据存档类等)和redis场景(缓存、存储等);不同的应用场景对应支持不同的规则引擎模板,
步骤S82:根据所述应用场景,确定所述应用场景对应的规则引擎模板。
本实施例根据加载出来的应用场景,可以确定出该应用场景对应的规则引擎模板。
步骤S83:根据所述应用场景对应的规则引擎模板,加载所述服务的应用场景对应的静态规则和动态规则。
本实施例中,得到对应的规则引擎模板后,即可根据应用场景对应的规则引擎模板加载该服务对应的应用场景所对应的静态规则和动态规则,也即根据应用场景加载服务存储资源使用规范及动静态规则配置。
在本实施例中,规避了低级资源使用问题、支持了场景化使用方案,具体可以表现在针对资源使用在服务级做限制,对业内SQL反模式做禁止,以及可以根据不同业务场景(如支付、电商、用户服务)选择不同规则引擎模版使得动静态规则配置更加灵活可用。
在另一中实施例中,如图3所示,图3是本发明一个实施例示出的一种存储资源的分析方法的流程示意图。
在图3中,首先,服务启动并加载服务对应的各种规范信息,即加载服务对应的动态规则和静态规则;其次,初始化服务存储资源的各项信息,根据静态规则进行分析,即进行静态规范匹配,针对系统请求资源进行静态分析(存储结构、范式、约束、存储容量),初始化各项分析指标基准;自动定期更新重新校准上述指标,并通过间隔内容量变化,初始化/校准容量增长相关指标;然后,实时根据服务请求确定请求数据,根据动态规则进行动态请求解析(如SQL语法树等)并进行动态规范匹配,并实时检测动态请求类型以及耗时分布统计。接着,定期根据动静态规则、请求类型和耗时分布以及各权重因子,通过特定算法计算服务的健康度;最后根据健康度阈值以及计算出来的健康度进行报表推送及相应的监控告警,以通过资源服务化的方式来有效规避(动态代理、静态分析、离线统计等),快速发现解决从而快速有效提升服务的可用性及健壮性。
除此之外,本实施例针对较长时间运行且有突发流量场景的项目,对开发人员的开发经验要求较高,实际项目中也经常出现因资源使用不当或者未做合理优化导致的可用性问题,提供了资源层低成本立体化可用性保障能力:不受限于流程执行粒度和开发人员能力,可低成本实现全流程立体化优化监控,针对系统容量可以自动做到细粒度评估巡检。其线上服务运行阶段,可以在存储资源未发生问题之前主动发现并指引开发人员优化。
在另一中实施例中,上述任一实施例所述的存储资源的分析方法,可以应用于本实施例所提出的存储资源的分析系统。该存储资源的分析系统可以通过在不同环境中部署有效覆盖设计、开发、测试和线上服务的几个重要研发环节,且支持多云多语言场景,线上服务部署灵活。如可采用 Golang (一种编程语言)或 Java 等编程语言进行实现部署在服务的设计、开发、测试及线上监控等各个环节。如图4所示,图4是本发明一个实施例示出的一种存储资源的分析系统的结构示意图。本实施例的存储资源的分析系统至少可以包括:请求代理装置(proxy)、规则引擎装置、静态分析装置、容量&效率评估装置、报表&推送装置。
其中,用户针对服务的访问请求可以通过防火墙和服务网关到达各服务,然后通过请求代理装置(proxy)进行统一代理。其中,规则引擎用于加载各服务所对应的动态规则和静态规则;请求代理装置用于进行服务存储资源的动态分析;静态分析装置用于进行服务存储资源的静态分析;容量&效率评估装置用于定期根据上报的动、静态分析数据进行服务存储资源的容量效率的评估;报表&推送装置用于对接收到的各种分析数据生成对应的报表并推送,并适时发出响应告警。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本发明一实施例提供了一种存储资源的分析装置500。参考图5,图5是本发明一实施例提供的存储资源的分析装置的结构框图。如图5所示,该装置500包括:
规则引擎模块501,用于在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则;
静态分析模块502,用于根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据;
动态分析模块503,用于实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据;
健康度确定模块504,用于定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度;所述健康度表征所述服务的系统规范化程度和所述服务对应的存储资源的容量和状态;
报表推送模块505,用于根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
可选的,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;所述健康度确定模块504,包括:
静态规范分确定模块,用于根据所述静态规则和所述静态分析数据,得到每条请求的静态规范分;
动态规范分确定模块,用于根据所述动态规则和所述动态分析数据,得到每条请求的动态规范分;
响应度确定模块,用于根据所述每条请求的请求类型和请求执行耗时,确定每条请求的响应度;
第一健康度确定模块,用于根据所述每条请求的静态规范分、所述每条请求的动态规范分和所述每条请求的响应度,确定每条请求的健康度;
第二健康度确定模块,用于根据所述每条请求的健康度和单位时间内所述服务的总请求数,确定单位时间内所述服务的健康度。
可选的,所述静态规范分确定模块,包括:
第一分值向量确定模块,用于根据所述静态规则和所述静态分析数据,对多个静态规则进行打分,得到多个静态规则分值向量;
静态规范分确定子模块,用于根据静态规则最大值、所述多个静态规则的规则数量、所述多个静态规则分值向量以及各自对应的静态规则权重向量,得到所述每条请求的静态规范分;
所述动态规范分确定模块,包括:
第二分值向量确定模块,用于根据所述动态规则和所述动态分析数据,对多个动态规则进行打分,得到多个动态规则分值向量;
动态规范分确定子模块,用于根据动态规则最大值、所述多个动态规则的规则数量、所述多个动态规则分值向量以及各自对应的动态规则权重向量,得到所述每条请求的动态规范分;
所述响应度确定模块,包括:
第三分值向量确定模块,用于根据所述每条请求的请求类型和请求执行耗时,对所述服务的多个响应规则进行打分,得到多个响应规则分值向量;
响应度确定子模块,用于根据响应规则最大值、所述多个响应规则的规则数量、所述多个响应规则分值向量以及各自对应的响应规则权重向量,得到所述每条请求的响应度;
所述第一健康度确定模块,包括:
第一健康度确定子模块,用于根据调优因子权重常量、静态因子权重常量和所述每条请求的静态规范分、动态因子权重常量和所述每条请求的动态规范分,以及,响应因子权重常量和所述每条请求的响应度,确定所述每条请求的健康度;
所述第二健康度确定模块,包括:
第二健康度确定子模块,用于根据所述每条请求的健康度、所述单位时间内所述服务的总请求数、所述调优因子权重常量、所述静态因子权重常量、所述动态因子权重常量和所述响应因子权重常量,确定所述单位时间内所述服务的健康度。
可选的,所述服务通过代理连接所述存储资源,所述动态分析模块503,包括:
请求接收模块,用于通过所述代理接收所述服务的请求;
检测模块,用于通过所述代理针对所述服务的请求进行检测,得到所述请求数据;
动态分析子模块,用于通过所述代理根据所述请求数据以及所述动态规则进行动态分析,得到所述动态分析数据。
可选的,所述服务通过代理连接所述存储资源,包括:
所述服务通过SDK访问所述代理,所述SDK支持开关切换直连所述存储资源或者通过所述代理连接所述存储资源;
在所述SDK开的情况下,所述服务通过所述代理连接所述存储资源;
在所述SDK关的情况下,所述服务直接连接所述存储资源。
可选的,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;所述动态分析子模块,包括:
第一确定模块,用于在通过所述代理根据所述动态规则,确定所述请求执行耗时高于请求耗时阈值的情况下,确定所述请求执行慢;
第二确定模块,用于在通过所述代理根据所述动态规则,确定执行慢的请求高于预设比例的情况下,确定存在服务压力及负载问题,得到所述动态分析数据;
第三确定模块,用于在通过所述代理根据所述动态规则,确定执行慢的请求低于预设比例的情况下,确定存在SQL语句编程问题,得到所述动态分析数据。
可选的,所述装置500还包括:
第一定期分析模块,用于定期根据所述静态规则和所述动态规则,分别对所述静态分析数据和所述动态分析数据进行判别并自动化归因,生成相应报表并推送;
第二定期分析模块,用于定期分析所述服务在业务流量高峰期的相关数据,以及所述服务对应的热点数据,得到热点分析结果,根据所述热点分析结果评估所述存储资源的容量;
第三定期分析模块,用于定期进行所述存储资源的潜在故障点分析,得到故障点分析结果并推送。
可选的,所述装置500还包括:
规则编辑模块,用于响应于用户在规则引擎编辑界面的修改操作,确定所述服务对应的修改后的静态规则配置和/或动态规则配置并保存,保存后所述服务热更新自动生效,以实现规则的编辑和同步。
可选的,所述规则引擎模块501,包括:
场景加载模块,用于初始化所述服务对应的存储资源的应用场景;其中,不同的应用场景支持不同的规则引擎模板;
模板确定模块,用于根据所述应用场景,确定所述应用场景对应的规则引擎模板;
规则引擎子模块,用于根据所述应用场景对应的规则引擎模板,加载所述服务的应用场景对应的静态规则和动态规则。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本发明上述任一实施例所述的存储资源的分析方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种电子设备600,如图6所示。图6是本发明一实施例示出的一种电子设备的示意图。该电子设备包括存储器602、处理器601及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明上述任一实施例所述的存储资源的分析方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种存储资源的分析方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种存储资源的分析方法,其特征在于,所述方法包括:
在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则;
根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据;
实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据;
定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度;所述健康度表征所述服务的系统规范化程度和所述服务对应的存储资源的容量和状态;
根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
2.根据权利要求1所述的存储资源的分析方法,其特征在于,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;所述定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度,包括:
根据所述静态规则和所述静态分析数据,得到每条请求的静态规范分;
根据所述动态规则和所述动态分析数据,得到每条请求的动态规范分;
根据所述每条请求的请求类型和请求执行耗时,确定每条请求的响应度;
根据所述每条请求的静态规范分、所述每条请求的动态规范分和所述每条请求的响应度,确定每条请求的健康度;
根据所述每条请求的健康度和单位时间内所述服务的总请求数,确定单位时间内所述服务的健康度。
3.根据权利要求2所述的存储资源的分析方法,其特征在于,所述根据所述静态规则和所述静态分析数据,得到每条请求的静态规范分,包括:
根据所述静态规则和所述静态分析数据,对多个静态规则进行打分,得到多个静态规则分值向量;
根据静态规则最大值、所述多个静态规则的规则数量、所述多个静态规则分值向量以及各自对应的静态规则权重向量,得到所述每条请求的静态规范分;
所述根据所述动态规则和所述动态分析数据,得到每条请求的动态规范分,包括:
根据所述动态规则和所述动态分析数据,对多个动态规则进行打分,得到多个动态规则分值向量;
根据动态规则最大值、所述多个动态规则的规则数量、所述多个动态规则分值向量以及各自对应的动态规则权重向量,得到所述每条请求的动态规范分;
所述根据所述每条请求的请求类型和请求执行耗时,确定每条请求的响应度,包括:
根据所述每条请求的请求类型和请求执行耗时,对所述服务的多个响应规则进行打分,得到多个响应规则分值向量;
根据响应规则最大值、所述多个响应规则的规则数量、所述多个响应规则分值向量以及各自对应的响应规则权重向量,得到所述每条请求的响应度;
所述根据所述每条请求的静态规范分、所述每条请求的动态规范分和所述每条请求的响应度,确定每条请求的健康度,包括:
根据调优因子权重常量、静态因子权重常量和所述每条请求的静态规范分、动态因子权重常量和所述每条请求的动态规范分,以及,响应因子权重常量和所述每条请求的响应度,确定所述每条请求的健康度;
所述根据所述每条请求的健康度和单位时间内所述服务的总请求数,确定单位时间内所述服务的健康度,包括:
根据所述每条请求的健康度、所述单位时间内所述服务的总请求数、所述调优因子权重常量、所述静态因子权重常量、所述动态因子权重常量和所述响应因子权重常量,确定所述单位时间内所述服务的健康度。
4.根据权利要求1所述的存储资源的分析方法,其特征在于,所述服务通过代理连接所述存储资源,所述实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据,包括:
通过所述代理接收所述服务的请求;
通过所述代理针对所述服务的请求进行检测,得到所述请求数据;
通过所述代理根据所述请求数据以及所述动态规则进行动态分析,得到所述动态分析数据。
5.根据权利要求4所述的存储资源的分析方法,其特征在于,所述服务通过代理连接所述存储资源,包括:
所述服务通过SDK访问所述代理,所述SDK支持开关切换直连所述存储资源或者通过所述代理连接所述存储资源;
在所述SDK开的情况下,所述服务通过所述代理连接所述存储资源;
在所述SDK关的情况下,所述服务直接连接所述存储资源。
6.根据权利要求4所述的存储资源的分析方法,其特征在于,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;所述通过所述代理根据所述请求数据以及所述动态规则进行动态分析,得到所述动态分析数据,包括:
在通过所述代理根据所述动态规则,确定所述请求执行耗时高于请求耗时阈值的情况下,确定所述请求执行慢;
在通过所述代理根据所述动态规则,确定执行慢的请求高于预设比例的情况下,确定存在服务压力及负载问题,得到所述动态分析数据;
在通过所述代理根据所述动态规则,确定执行慢的请求低于预设比例的情况下,确定存在SQL语句编程问题,得到所述动态分析数据。
7.根据权利要求1所述的存储资源的分析方法,其特征在于,所述方法还包括以下至少一个步骤:
定期根据所述静态规则和所述动态规则,分别对所述静态分析数据和所述动态分析数据进行判别并自动化归因,生成相应报表并推送;
定期分析所述服务在业务流量高峰期的相关数据,以及所述服务对应的热点数据,得到热点分析结果,根据所述热点分析结果评估所述存储资源的容量;
定期进行所述存储资源的潜在故障点分析,得到故障点分析结果并推送。
8.根据权利要求1所述的存储资源的分析方法,其特征在于,所述方法还包括:
响应于用户在规则引擎编辑界面的修改操作,确定所述服务对应的修改后的静态规则配置和/或动态规则配置并保存,保存后所述服务热更新自动生效,以实现规则的编辑和同步。
9.根据权利要求1所述的存储资源的分析方法,其特征在于,所述初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则,包括:
初始化所述服务对应的存储资源的应用场景;其中,不同的应用场景支持不同的规则引擎模板;
根据所述应用场景,确定所述应用场景对应的规则引擎模板;
根据所述应用场景对应的规则引擎模板,加载所述服务的应用场景对应的静态规则和动态规则。
10.一种存储资源的分析装置,其特征在于,所述装置包括:
规则引擎模块,用于在服务启动的情况下,初始化所述服务对应的存储资源的各项信息,加载所述服务对应的静态规则和动态规则;
静态分析模块,用于根据所述存储资源的各项信息以及所述静态规则进行静态分析,得到静态分析数据;
动态分析模块,用于实时针对所述服务的请求进行检测,确定所述请求的请求数据,根据所述请求数据以及所述动态规则进行动态分析,得到动态分析数据;
健康度确定模块,用于定期根据所述静态规则和所述静态分析数据、所述动态规则和所述动态分析数据、以及所述请求数据,确定所述服务的健康度;所述健康度表征所述服务的系统规范化程度和所述服务对应的存储资源的容量和状态;
报表推送模块,用于根据所述静态分析数据、所述动态分析数据以及所述健康度生成报表并推送。
11.根据权利要求10所述的存储资源的分析装置,其特征在于,所述请求数据至少包括:每条请求的请求类型和请求执行耗时;所述健康度确定模块,包括:
静态规范分确定模块,用于根据所述静态规则和所述静态分析数据,得到每条请求的静态规范分;
动态规范分确定模块,用于根据所述动态规则和所述动态分析数据,得到每条请求的动态规范分;
响应度确定模块,用于根据所述每条请求的请求类型和请求执行耗时,确定每条请求的响应度;
第一健康度确定模块,用于根据所述每条请求的静态规范分、所述每条请求的动态规范分和所述每条请求的响应度,确定每条请求的健康度;
第二健康度确定模块,用于根据所述每条请求的健康度和单位时间内所述服务的总请求数,确定单位时间内所述服务的健康度。
12.根据权利要求11所述的存储资源的分析装置,其特征在于,所述静态规范分确定模块,包括:
第一分值向量确定模块,用于根据所述静态规则和所述静态分析数据,对多个静态规则进行打分,得到多个静态规则分值向量;
静态规范分确定子模块,用于根据静态规则最大值、所述多个静态规则的规则数量、所述多个静态规则分值向量以及各自对应的静态规则权重向量,得到所述每条请求的静态规范分;
所述动态规范分确定模块,包括:
第二分值向量确定模块,用于根据所述动态规则和所述动态分析数据,对多个动态规则进行打分,得到多个动态规则分值向量;
动态规范分确定子模块,用于根据动态规则最大值、所述多个动态规则的规则数量、所述多个动态规则分值向量以及各自对应的动态规则权重向量,得到所述每条请求的动态规范分;
所述响应度确定模块,包括:
第三分值向量确定模块,用于根据所述每条请求的请求类型和请求执行耗时,对所述服务的多个响应规则进行打分,得到多个响应规则分值向量;
响应度确定子模块,用于根据响应规则最大值、所述多个响应规则的规则数量、所述多个响应规则分值向量以及各自对应的响应规则权重向量,得到所述每条请求的响应度;
所述第一健康度确定模块,包括:
第一健康度确定子模块,用于根据调优因子权重常量、静态因子权重常量和所述每条请求的静态规范分、动态因子权重常量和所述每条请求的动态规范分,以及,响应因子权重常量和所述每条请求的响应度,确定所述每条请求的健康度;
所述第二健康度确定模块,包括:
第二健康度确定子模块,用于根据所述每条请求的健康度、所述单位时间内所述服务的总请求数、所述调优因子权重常量、所述静态因子权重常量、所述动态因子权重常量和所述响应因子权重常量,确定所述单位时间内所述服务的健康度。
13.根据权利要求10所述的存储资源的分析装置,其特征在于,所述服务通过代理连接所述存储资源,所述动态分析模块,包括:
请求接收模块,用于通过所述代理接收所述服务的请求;
检测模块,用于通过所述代理针对所述服务的请求进行检测,得到所述请求数据;
动态分析子模块,用于通过所述代理根据所述请求数据以及所述动态规则进行动态分析,得到所述动态分析数据。
14.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至9任一所述的存储资源的分析方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一所述的存储资源的分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310184318.9A CN115857838B (zh) | 2023-03-01 | 2023-03-01 | 存储资源的分析方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310184318.9A CN115857838B (zh) | 2023-03-01 | 2023-03-01 | 存储资源的分析方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115857838A true CN115857838A (zh) | 2023-03-28 |
CN115857838B CN115857838B (zh) | 2023-06-23 |
Family
ID=85659502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310184318.9A Active CN115857838B (zh) | 2023-03-01 | 2023-03-01 | 存储资源的分析方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115857838B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894230A (zh) * | 2010-07-14 | 2010-11-24 | 国网电力科学研究院 | 一种基于静态和动态分析技术的主机系统安全评估方法 |
CN108769179A (zh) * | 2018-05-23 | 2018-11-06 | 北京顺丰同城科技有限公司 | 一种服务健康状态评估方法及装置 |
US20210058429A1 (en) * | 2019-08-21 | 2021-02-25 | International Business Machines Corporation | Dynamic balancing of security rules execution in a database protection system |
CN112487318A (zh) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | 一种业务健康度计算方法、装置、电子设备及存储介质 |
CN113064834A (zh) * | 2021-04-22 | 2021-07-02 | 中国工商银行股份有限公司 | 异常检测方法、装置、电子设备、介质和程序产品 |
CN113377637A (zh) * | 2021-06-11 | 2021-09-10 | 中国工商银行股份有限公司 | 性能容量诊断方法及装置 |
CN114153696A (zh) * | 2021-12-01 | 2022-03-08 | 招商局金融科技有限公司 | 云原生应用健康检测方法、装置、计算机设备及存储介质 |
CN114610588A (zh) * | 2022-03-01 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 一种数据库性能分析方法、装置、电子设备和存储介质 |
CN115374088A (zh) * | 2022-08-25 | 2022-11-22 | 中国银行股份有限公司 | 数据库健康度分析方法、装置、设备及可读存储介质 |
CN115687050A (zh) * | 2022-11-15 | 2023-02-03 | 中国工商银行股份有限公司 | 一种sql语句的性能分析方法及装置 |
-
2023
- 2023-03-01 CN CN202310184318.9A patent/CN115857838B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894230A (zh) * | 2010-07-14 | 2010-11-24 | 国网电力科学研究院 | 一种基于静态和动态分析技术的主机系统安全评估方法 |
CN108769179A (zh) * | 2018-05-23 | 2018-11-06 | 北京顺丰同城科技有限公司 | 一种服务健康状态评估方法及装置 |
US20210058429A1 (en) * | 2019-08-21 | 2021-02-25 | International Business Machines Corporation | Dynamic balancing of security rules execution in a database protection system |
CN112487318A (zh) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | 一种业务健康度计算方法、装置、电子设备及存储介质 |
CN113064834A (zh) * | 2021-04-22 | 2021-07-02 | 中国工商银行股份有限公司 | 异常检测方法、装置、电子设备、介质和程序产品 |
CN113377637A (zh) * | 2021-06-11 | 2021-09-10 | 中国工商银行股份有限公司 | 性能容量诊断方法及装置 |
CN114153696A (zh) * | 2021-12-01 | 2022-03-08 | 招商局金融科技有限公司 | 云原生应用健康检测方法、装置、计算机设备及存储介质 |
CN114610588A (zh) * | 2022-03-01 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 一种数据库性能分析方法、装置、电子设备和存储介质 |
CN115374088A (zh) * | 2022-08-25 | 2022-11-22 | 中国银行股份有限公司 | 数据库健康度分析方法、装置、设备及可读存储介质 |
CN115687050A (zh) * | 2022-11-15 | 2023-02-03 | 中国工商银行股份有限公司 | 一种sql语句的性能分析方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘艳俊; 敖杰刚; 徐齐行: "基于MongoDB云计算下GML分布式集群环境搭建研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN115857838B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100507855C (zh) | 资源优化组件和方法 | |
US8327325B2 (en) | Programmable framework for automatic tuning of software applications | |
US7908234B2 (en) | Systems and methods of predicting resource usefulness using universal resource locators including counting the number of times URL features occur in training data | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
CA2428404A1 (en) | Information provider | |
US9652368B2 (en) | Using linked data to determine package quality | |
CN108694221B (zh) | 数据实时分析方法、模块、设备和装置 | |
CN110134738B (zh) | 分布式存储系统资源预估方法、装置 | |
WO2015073025A1 (en) | Indicating a trait of a continuous delivery pipeline | |
CN112015771B (zh) | 数据检索方法、装置、电子设备及计算机存储介质 | |
Gokilavani et al. | Test case prioritization to examine software for fault detection using PCA extraction and K-means clustering with ranking | |
KR100460536B1 (ko) | 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 | |
US20140280228A1 (en) | Semantic Mapping of Topic Map Meta-Models Identifying Assets and Events to Include Weights | |
Kalantary et al. | Resource discovery in the Internet of Things integrated with fog computing using Markov learning model | |
Preuveneers et al. | Adaptive context management using a component-based approach | |
CN115335821A (zh) | 卸载统计收集 | |
CN113885920A (zh) | 机器学习模型的热更新方法、装置、电子设备及存储介质 | |
CN116560661A (zh) | 代码优化方法、装置、设备及存储介质 | |
CN116089542A (zh) | 基于jdbc的数据库适配方法以及装置 | |
CN117216758B (zh) | 应用安全检测系统及方法 | |
CN117234859B (zh) | 一种性能事件监控方法、装置、设备和存储介质 | |
CN115857838A (zh) | 存储资源的分析方法、装置、电子设备及存储介质 | |
CN117370058A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
CN113141407B (zh) | 一种页面资源加载方法、装置和电子设备 | |
CN115437899A (zh) | 集群故障预测方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Patentee after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Patentee before: Tianyiyun Technology Co.,Ltd. |