CN117008903A - 一种限流组件的构建方法、装置、设备及存储介质 - Google Patents
一种限流组件的构建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117008903A CN117008903A CN202310973730.9A CN202310973730A CN117008903A CN 117008903 A CN117008903 A CN 117008903A CN 202310973730 A CN202310973730 A CN 202310973730A CN 117008903 A CN117008903 A CN 117008903A
- Authority
- CN
- China
- Prior art keywords
- rule
- monitoring data
- instruction
- current limiting
- initial
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012544 monitoring process Methods 0.000 claims abstract description 130
- 230000008859 change Effects 0.000 claims abstract description 37
- 238000012986 modification Methods 0.000 claims description 62
- 230000004048 modification Effects 0.000 claims description 62
- 238000012795 verification Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 35
- 238000010276 construction Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 8
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013502 data validation Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种限流组件的构建方法、装置、设备及存储介质。在执行本申请实施例提供的方法时,首先可以获取初始规则和监控数据,并将监控数据保存到日志平台中,将变动规则保存到配置中心的数据库中。为保存监控数据的日志平台和保存变动规则的数据库封装指令接口得到扩展组件,并为扩展组件引入软件开发工具包得到限流组件。本申请通过将监控数据保存到日志平台中,将初始规则保存到配置中心的数据库中持久化了监控数据和规则数据,从而可以避免监控数据和规则数据因为服务的宕机或重启而丢失。同时,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口可以避免系统遭受损害或数据泄露。
Description
技术领域
本申请涉及人工智能领域或金融领域,具体涉及一种限流组件的构建方法、装置、设备及存储介质。
背景技术
限流组件是一种用于控制系统或服务的请求访问速率的工具或模块。它的主要功能是根据一定的规则和策略,限制对系统的并发访问或请求处理的数量,以避免系统过载、资源耗尽或服务质量下降。
限流组件通常被应用在高并发、分布式系统、微服务架构等场景中,可以有效地保护底层系统免受过多的请求压力而导致的性能问题或故障。然而现有的限流式组件一旦遇到应用重启的情况就会出现数据和规则丢失的问题,从而无法查询历史监控数据和规则,规则一旦丢失就会导致限流失败。同时现有的限流式组件对于所有权限用户均可登陆及查看修改配置,增加了系统遭受损害或数据泄露的风险。
因此,如何避免历史监控数据和规则在应用重启的时候丢失,并避免系统遭受损害或数据泄露,是本领域技术人员急需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种限流组件的构建方法、装置、设备及存储介质,能够避免历史监控数据和规则在应用重启的时候丢失,并避免系统遭受损害或数据泄露。
为解决上述问题,本申请实施例提供的技术方案如下:
一种限流组件的构建方法,所述方法包括:
获取初始规则和监控数据;
将所述监控数据保存到日志平台中;
将所述初始规则保存到配置中心的数据库中;
为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件;
为所述扩展组件引入软件开发工具包得到限流组件。
在一种可能的实现方式中,所述将所述监控数据保存到日志平台中,包括:
识别所述监控数据的生成系统;
查询所述生成系统的字符串标识符;
根据所述字符串标识符从所述日志平台中查找目标目录;
将所述监控数据存储在所述目标目录中。
在一种可能的实现方式中,所述将所述初始规则保存到配置中心的数据库中,包括:
识别所述初始规则的系统名和服务名;
按照系统名、服务名或变动规则的维度将规则保存到所述配置中心的数据库的不同目录下。
在一种可能的实现方式中,所述方法还包括:
响应于接收到监控数据查询指令,将所述监控数据查询指令发送至所述指令接口,以使所述指令接口对发出所述监控数据查询指令的第一系统进行权限校验;
当所述第一系统具备监控数据查询权限时,根据所述第一系统的系统名和所述监控数据查询指令从所述日志平台中获取相应的所述监控数据;
利用所述指令接口将相应的所述监控数据返回给所述第一系统。
在一种可能的实现方式中,所述方法还包括:
响应于接收到规则修改指令,将所述规则修改指令发送至所述指令接口,以使所述指令接口对发出所述规则修改指令的第二系统进行权限校验;
当所述第二系统具备规则修改权限时,将所述规则修改指令发送给所述配置中心,以使所述配置中心根据所述规则修改指令从所述数据库中获取相应的所述初始规则;
通过所述配置中心对相应的所述初始规则进行规则修改得到变动规则,并将所述变动规则保存到所述数据库中。
在一种可能的实现方式中,所述通过所述配置中心对所述初始规则进行规则修改得到变动规则,包括:
利用所述配置中心根据所述规则修改指令对相应的所述初始规则进行规则修改得到初始变动规则;
利用所述配置中心将所述规则修改指令发送给所述软件开发工具包,以使所述软件开发工具包对所述初始变动规则增加限流和熔断机制得到所述变动规则。
在一种可能的实现方式中,所述方法还包括:
响应于接收到限流熔断情况查询指令,将所述限流熔断情况查询指令发送至所述指令接口,以使所述指令接口对发出所述限流熔断情况查询指令的第三系统进行权限校验;
当发出所述第三系统具备监控数据查询权限时,根据所述第三系统的系统名和所述限流熔断情况查询指令从所述数据库中获取相应的限流熔断情况;
利用所述指令接口将相应的限流熔断情况返回给所述第三系统。
一种限流组件的构建装置,所述装置包括:
第一获取单元,用于获取初始规则和监控数据;
第一保存单元,用于将所述监控数据保存到日志平台中;
第二保存单元,用于为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件;
引入单元,用于为所述扩展组件引入软件开发工具包得到限流组件。
一种限流组件的构建的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的限流组件的构建方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的限流组件的构建方法。
相较于现有技术,本申请具有以下有益效果:
本申请提供了一种限流组件的构建方法及相关装置。具体地,在执行本申请实施例提供的限流组件的构建方法时,首先可以获取获取初始规则和监控数据,并将监控数据保存到日志平台中;将初始规则保存到配置中心的数据库中。接着,为保存了监控数据的所述日志平台和保存了初始规则的数据库封装指令接口得到扩展组件,并为扩展组件引入软件开发工具包得到限流组件。本申请通过将监控数据保存到日志平台中,将初始规则保存到配置中心的数据库中持久化了监控数据和规则数据,从而可以避免监控数据和规则数据因为服务的宕机或重启而丢失。同时,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口可以避免系统遭受损害或数据泄露。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种限流组件的构建方法的方法流程图;
图2为本申请实施例提供的一种限流组件的构建装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例提供的技术方案,下面将先对本申请实施例涉及的背景技术进行说明。
限流组件是一种用于控制系统或服务的请求访问速率的工具或模块。它的主要功能是根据一定的规则和策略,限制对系统的并发访问或请求处理的数量,以避免系统过载、资源耗尽或服务质量下降。
限流组件通常被应用在高并发、分布式系统、微服务架构等场景中,可以有效地保护底层系统免受过多的请求压力而导致的性能问题或故障。然而现有的限流式组件一旦遇到应用重启的情况就会出现数据和规则丢失的问题,从而无法查询历史监控数据和规则,规则一旦丢失就会导致限流失败。同时现有的限流式组件对于所有权限用户均可登陆及查看修改配置,增加了系统遭受损害或数据泄露的风险。
为了解决这一问题,在本申请实施例提供了一种限流组件的构建方法、装置、设备及存储介质,先对获取获取初始规则和监控数据。然后将监控数据保存到日志平台中;将初始规则保存到配置中心的数据库中。接着,为保存了监控数据的日志平台和保存了初始规则的数据库封装指令接口得到扩展组件,并为扩展组件引入软件开发工具包得到限流组件。本申请通过将监控数据保存到日志平台中,将初始规则保存到配置中心的数据库中持久化了监控数据和规则数据,从而可以避免监控数据和规则数据因为服务的宕机或重启而丢失。同时,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口可以避免系统遭受损害或数据泄露。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种限流组件的构建方法的方法流程图,如图1所示,该限流组件的构建方法可以包括步骤S101-S105:
S101:获取初始规则和监控数据。
为了构建限流组件,限流组件的构建系统首先需要获取初始规则和监控数据。
其中,监控数据是系统在运行过程中产生的各种指标、度量和日志信息,用于描述系统的健康状况、性能指标和异常情况。监控数据可以包括但不限于以下内容:①系统负载:如CPU利用率、内存使用情况、磁盘空间等。②请求量和响应时间:记录系统接收的请求数量以及处理请求的时间。③错误率和异常情况:包括错误请求的比例、异常的日志记录等。④业务指标:如用户数、交易量、订单数量等。
监控数据可以通过不同的监控工具进行采集、存储和展示,例如Prometheus、Grafana等。它们提供了实时监控和历史数据查询的功能,帮助我们了解系统的运行状态和趋势,并及时发现异常情况。
初始规则是指一组定义和规范,用于指定系统或应用程序的行为、限制或策略。这些规则通常由系统管理员或开发人员在控制台中进行设置和管理。
以下是一些常见的初始规则:①访问控制规则:用于定义用户或角色对系统的访问权限。例如,可以配置规则来限制特定用户组的访问权限或指定哪些资源可以被访问。②安全规则:用于设置系统安全策略和控制措施。例如,可以配置规则来防止恶意入侵、限制网络访问、启用加密传输等。③数据验证规则:用于验证输入数据的有效性和完整性。例如,可以配置规则来确保用户提交的表单数据符合特定格式或满足特定条件。④警报和通知规则:用于配置系统的警报和通知行为。例如,可以设置规则以基于特定事件或条件触发报警通知,以便及时采取相应的措施。⑤自动化规则:用于配置自动化任务和工作流程。例如,可以设置规则来定期执行特定操作、触发工作流程或自动化流程。⑥限制和配额规则:用于限制系统资源的使用。例如,可以配置规则来限制每个用户的请求频率、文件大小或并发连接数等。
具体的控制台配置规则将根据系统或应用程序的不同而有所变化。系统管理员或开发人员通常根据特定需求和环境,在控制台中设置和管理这些规则,以确保系统的安全性、稳定性和符合业务需求。
S102:将所述监控数据保存到日志平台中。
在获取到初始规则和监控数据之后,限流组件的构建系统则可以将监控数据保存到日志平台中。
其中,日志平台是用于记录和管理限流组件生成的日志信息的平台。通过日志平台,可以收集、存储、分析和可视化限流组件的日志数据,以便进行故障排查、性能优化和安全审计等操作。
在一种可能的实现方式中,所述将所述监控数据保存到日志平台中,包括A1-A4:
A1:识别所述监控数据的生成系统。
为将监控数据保存到日志平台中,限流组件的构建系统首先需要识别监控数据的生成系统,即需要识别出该监控数据是由哪个系统生成的。
A2:查询所述生成系统的字符串标识符。
在识别到监控数据的生成系统之后,限流组件的构建系统则可以查询生成系统的字符串标识符。
在一种可能的实现方式中,日志平台上每个系统都会分配一个64位字符串标识符用以区分不同的系统。
A3:根据所述字符串标识符从所述日志平台中查找目标目录。
在查询到生成系统的字符串标识符之后,限流组件的构建系统还需要根据所述字符串标识符从日志平台中查找目标目录。
A4:将所述监控数据存储在所述目标目录中。
在根据字符串标识符从日志平台中查找目标目录之后,限流组件的构建系统将监控数据存储在目标目录中。
举例来说,如A系统在日志平台的字符串标识符是aes8392k....c+fm,那么该系统服务运行时需要将日志保存在服务器的/applog/dcos/aes8392k....c+fm/服务名/目录下,通过运行在服务器上的探针,将采集保存在服务器上的日志,并定时发送给日志平台,发送时会同时携带字符串标识符和服务名,这样日志平台在存储到文档型数据库时可以匹配系统并分类存储。
S103:将所述初始规则保存到配置中心的数据库中。
在获取到初始规则和监控数据之后,限流组件的构建系统还需要将所述初始规则保存到配置中心的数据库中。
其中,配置中心是一个用于集中管理和配置分布式系统和应用程序的中心化平台。它提供了一种统一的方式来管理系统和服务的配置信息,并确保这些配置的一致性和可追踪性。
配置中心通常具备以下功能:①配置存储:配置中心提供持久化的存储机制,用于保存系统和服务的配置信息。这些信息可以是键值对、XML、JSON等格式,根据具体需求进行存储。②配置管理:配置中心允许用户对配置信息进行管理,包括新增、修改、删除和查询配置项。管理员可以通过配置界面或API进行操作,实现配置的动态调整和维护。③配置版本控制:配置中心通常支持配置的版本管理,可以记录每次配置变更的历史,并提供回滚和比对功能。这样可以确保配置的可追溯性和安全性。④配置发布和同步:配置中心可以将配置信息推送给各个分布式系统和应用程序,并确保它们在运行时能够及时获取到最新的配置。这可以通过订阅、推送或轮询等方式实现。⑤权限管理:配置中心可以对用户和角色进行权限管理,确保只有授权的人员才能进行配置的修改和访问敏感配置信息,提高系统的安全性。⑥配置验证和检查:配置中心可以提供校验和检查机制,以确保配置的合法性和一致性。例如,可以检查配置项的格式、范围和依赖关系,避免配置错误导致系统故障。
通过配置中心,开发人员和运维人员可以集中管理和调整系统和服务的配置信息,减少了配置的冗余和错误,提高了系统的可维护性和部署效率。同时,配置中心也为分布式系统的配置管理提供了更好的可扩展性和灵活性。
在一种可能的实现方式中,所述将所述初始规则保存到配置中心的数据库中,包括B1-B2:
B1:识别所述初始规则的系统名和服务名。
为将变动规则保存到配置中心的数据库中,限流组件的构建首先需要识别初始规则的系统名和服务名。
其中,系统名或服务名用于标识一个独立的系统或服务。每个系统或服务都有自己的特定名称,用于在配置中心进行标识和管理。一个系统名可以包含多个服务名,表示该系统下的不同服务。
B2:按照系统名、服务名或变动规则的维度将规则保存到所述配置中心的数据库的不同目录下。
在识别到初始规则的系统名和服务名之后,限流组件的构建则可以按照系统名、服务名或变动规则的维度将规则保存到所述配置中心的数据库的不同目录下。
例如:
·根目录
·系统A
·服务A1
·规则1
·规则2
·服务A2
·规则3
·系统B
·服务B1
·规则4
·服务B2
·规则5
这样,每个系统的每个服务都有一个对应的目录,而每个目录下又存放着该服务的规则。规则的具体内容可以作为文件或数据项存储在相应的目录下。通过这种方式,可以根据系统名、服务名和规则内容的维度,将不同系统、不同服务以及不同规则进行分类和组织。这种目录结构的设计能够方便地定位和检索特定系统或服务下的规则,并提供更好的可读性和可维护性。
S104:为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件。
在将监控数据保存到日志平台、将初始规则保存到配置中心的数据库之后,限流组件的构建系统则可以为保存监控数据的日志平台和保存初始规则的数据库封装指令接口得到扩展组件。
在一种可能的实现方式中,所述方法还包括C1-C3:
C1:响应于接收到监控数据查询指令,将所述监控数据查询指令发送至所述指令接口,以使所述指令接口对发出所述监控数据查询指令的第一系统进行权限校验。
在接收到监控数据查询指令,限流组件的构建系统会将监控数据查询指令发送至指令接口,以使指令接口对发出所述监控数据查询指令的第一系统进行权限校验。
C2:当所述第一系统具备监控数据查询权限时,根据所述第一系统的系统名和所述监控数据查询指令从所述日志平台中获取相应的所述监控数据。
当第一系统具备监控数据查询权限时,限流组件的构建系统则会根据第一系统的系统名和监控数据查询指令从日志平台中获取相应的监控数据。
C3:利用所述指令接口将相应的所述监控数据返回给所述第一系统。
在从日志平台中获取到相应的监控数据之后,限流组件的构建系统则可以利用指令接口将相应的监控数据返回给第一系统。
在一种可能的实现方式中,所述方法还包括D1-D3:
D1:响应于接收到规则修改指令,将所述规则修改指令发送至所述指令接口,以使所述指令接口对发出所述规则修改指令的第二系统进行权限校验。
在接收到规则修改指令,限流组件的构建系统回将规则修改指令发送至指令接口,以使指令接口对发出规则修改指令的第二系统进行权限校验。
在一种可能的实现方式中,所述规则修改指令可包括:新增、编辑或删除规则的指令。
D2:当所述第二系统具备规则修改权限时,将所述规则修改指令发送给所述配置中心,以使所述配置中心根据所述规则修改指令从所述数据库中获取相应的所述初始规则。
当第二系统具备规则修改权限时,限流组件的构建系统还需要将规则修改指令发送给配置中心,以使配置中心根据规则修改指令从数据库中获取相应的初始规则。
D3:通过所述配置中心对相应的所述初始规则进行规则修改得到变动规则,并将所述变动规则保存到所述数据库中。
在从数据库中获取相应的初始规则之后,限流组件的构建系统则可以通过配置中心对相应的初始规则进行规则修改得到变动规则,并将变动规则保存到数据库中。
在一种可能的实现方式中,所述通过所述配置中心对所述初始规则进行规则修改得到变动规则,包括E1-E2:
E1:利用所述配置中心根据所述规则修改指令对相应的所述初始规则进行规则修改得到初始变动规则。
为通过配置中心对初始规则进行规则修改得到变动规则,限流组件的构建系统首先需要利用配置中心根据规则修改指令对相应的初始规则进行规则修改得到初始变动规则。
E2:利用所述配置中心将所述规则修改指令发送给软件开发工具包,以使所述软件开发工具包对所述初始变动规则增加限流和熔断机制得到所述变动规则。
在得到初始变动规则之后,限流组件的构建系统则可以利用配置中心将规则修改指令发送给软件开发工具包,以使软件开发工具包对初始变动规则增加限流和熔断机制得到变动规则。
在一种可能的实现方式中,所述方法还包括F1-F3:
F1:响应于接收到限流熔断情况查询指令,将所述限流熔断情况查询指令发送至所述指令接口,以使所述指令接口对发出所述限流熔断情况查询指令的第三系统进行权限校验。
当接收到限流熔断情况查询指令,限流组件的构建系统需要将限流熔断情况查询指令发送至指令接口,以使指令接口对发出限流熔断情况查询指令的第三系统进行权限校验。
F2:当发出所述第三系统具备监控数据查询权限时,根据所述第三系统的系统名和所述限流熔断情况查询指令从所述数据库中获取相应的限流熔断情况。
当发出第三系统具备监控数据查询权限时,限流组件的构建系统则可以根据第三系统的系统名和限流熔断情况查询指令从数据库中获取相应的限流熔断情况。
F3:利用所述指令接口将相应的限流熔断情况返回给所述第三系统。
在从数据库中获取到相应的限流熔断情况之后,限流组件的构建系统还需要利用指令接口将相应的限流熔断情况返回给第三系统。
S105:为所述扩展组件引入软件开发工具包得到限流组件。
在得到得到扩展组件之后,限流组件的构建则可以为扩展组件引入软件开发工具包得到限流组件。
其中,SDK是软件开发工具包(Software Development Kit)的缩写。SDK是一组用于应用程序的工具、库、示例代码和文档集合。SDK提供了一整套的开发工具和资源,以帮助开发人员更加高效地构建、测试和部署软件应用。
SDK通常针对特定的平台、框架或技术,并为开发人员提供特定平台的功能和接口。它可以为开发人员提供访问底层系统功能的接口、封装常用的操作和算法、提供示例代码以及详细的文档和教程,以便开发人员能够快速上手和使用相关技术。
SDK可以包括各种类型的工具,如编译器、调试器、模拟器、集成开发环境(IDE)、API文档和示例代码等。它还可以提供特定领域的功能模块,例如图像处理、人工智能、地图导航等。通过使用SDK,开发人员可以更加方便地利用已有的工具和资源,快速进行应用开发,提高开发效率并降低开发成本。
基于S101-S105的内容可知,先获取初始规则和监控数据,并将监控数据保存到日志平台中;将初始规则保存到配置中心的数据库中。最后,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口得到扩展组件,并为扩展组件引入软件开发工具包得到限流组件。本申请通过将监控数据保存到日志平台中,将初始规则保存到配置中心的数据库中持久化了监控数据和规则数据,从而可以避免监控数据和规则数据因为服务的宕机或重启而丢失。同时,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口可以避免系统遭受损害或数据泄露。
参见图2,图2为本申请实施例提供的一种限流组件的构建装置的结构示意图。如图2所示,该限流组件的构建装置包括:
第一获取单元201,用于获取初始规则和监控数据。
其中,监控数据是系统在运行过程中产生的各种指标、度量和日志信息,用于描述系统的健康状况、性能指标和异常情况。监控数据可以包括但不限于以下内容:①系统负载:如CPU利用率、内存使用情况、磁盘空间等。②请求量和响应时间:记录系统接收的请求数量以及处理请求的时间。③错误率和异常情况:包括错误请求的比例、异常的日志记录等。④业务指标:如用户数、交易量、订单数量等。
监控数据可以通过不同的监控工具进行采集、存储和展示,例如Prometheus、Grafana等。它们提供了实时监控和历史数据查询的功能,帮助我们了解系统的运行状态和趋势,并及时发现异常情况。
初始规则是指一组定义和规范,用于指定系统或应用程序的行为、限制或策略。这些规则通常由系统管理员或开发人员在控制台中进行设置和管理。
以下是一些常见的初始规则:①访问控制规则:用于定义用户或角色对系统的访问权限。例如,可以配置规则来限制特定用户组的访问权限或指定哪些资源可以被访问。②安全规则:用于设置系统安全策略和控制措施。例如,可以配置规则来防止恶意入侵、限制网络访问、启用加密传输等。③数据验证规则:用于验证输入数据的有效性和完整性。例如,可以配置规则来确保用户提交的表单数据符合特定格式或满足特定条件。④警报和通知规则:用于配置系统的警报和通知行为。例如,可以设置规则以基于特定事件或条件触发报警通知,以便及时采取相应的措施。⑤自动化规则:用于配置自动化任务和工作流程。例如,可以设置规则来定期执行特定操作、触发工作流程或自动化流程。⑥限制和配额规则:用于限制系统资源的使用。例如,可以配置规则来限制每个用户的请求频率、文件大小或并发连接数等。
具体的控制台配置规则将根据系统或应用程序的不同而有所变化。系统管理员或开发人员通常根据特定需求和环境,在控制台中设置和管理这些规则,以确保系统的安全性、稳定性和符合业务需求。
第一保存单元202,用于将所述监控数据保存到日志平台中。
其中,日志平台是用于记录和管理限流组件生成的日志信息的平台。通过日志平台,可以收集、存储、分析和可视化限流组件的日志数据,以便进行故障排查、性能优化和安全审计等操作。
第二保存单元203,用于将所述初始规则保存到配置中心的数据库中。
其中,配置中心是一个用于集中管理和配置分布式系统和应用程序的中心化平台。它提供了一种统一的方式来管理系统和服务的配置信息,并确保这些配置的一致性和可追踪性。
配置中心通常具备以下功能:①配置存储:配置中心提供持久化的存储机制,用于保存系统和服务的配置信息。这些信息可以是键值对、XML、JSON等格式,根据具体需求进行存储。②配置管理:配置中心允许用户对配置信息进行管理,包括新增、修改、删除和查询配置项。管理员可以通过配置界面或API进行操作,实现配置的动态调整和维护。③配置版本控制:配置中心通常支持配置的版本管理,可以记录每次配置变更的历史,并提供回滚和比对功能。这样可以确保配置的可追溯性和安全性。④配置发布和同步:配置中心可以将配置信息推送给各个分布式系统和应用程序,并确保它们在运行时能够及时获取到最新的配置。这可以通过订阅、推送或轮询等方式实现。⑤权限管理:配置中心可以对用户和角色进行权限管理,确保只有授权的人员才能进行配置的修改和访问敏感配置信息,提高系统的安全性。⑥配置验证和检查:配置中心可以提供校验和检查机制,以确保配置的合法性和一致性。例如,可以检查配置项的格式、范围和依赖关系,避免配置错误导致系统故障。
通过配置中心,开发人员和运维人员可以集中管理和调整系统和服务的配置信息,减少了配置的冗余和错误,提高了系统的可维护性和部署效率。同时,配置中心也为分布式系统的配置管理提供了更好的可扩展性和灵活性。
封装单元204,用于为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件。
引入单元205,用于为所述扩展组件引入软件开发工具包得到限流组件。
其中,SDK是软件开发工具包(Software Development Kit)的缩写。SDK是一组用于应用程序的工具、库、示例代码和文档集合。SDK提供了一整套的开发工具和资源,以帮助开发人员更加高效地构建、测试和部署软件应用。
SDK通常针对特定的平台、框架或技术,并为开发人员提供特定平台的功能和接口。它可以为开发人员提供访问底层系统功能的接口、封装常用的操作和算法、提供示例代码以及详细的文档和教程,以便开发人员能够快速上手和使用相关技术。
SDK可以包括各种类型的工具,如编译器、调试器、模拟器、集成开发环境(IDE)、API文档和示例代码等。它还可以提供特定领域的功能模块,例如图像处理、人工智能、地图导航等。通过使用SDK,开发人员可以更加方便地利用已有的工具和资源,快速进行应用开发,提高开发效率并降低开发成本。
在一种可能的实现方式中,所述装置还包括:
第一识别单元,用于识别所述监控数据的生成系统。
第一查询单元,用于查询所述生成系统的字符串标识符。
在一种可能的实现方式中,日志平台上每个系统都会分配一个64位字符串标识符用以区分不同的系统。
第二查询单元,用于根据所述字符串标识符从所述日志平台中查找目标目录。
第一存储单元,用于将所述监控数据存储在所述目标目录中。
举例来说,如A系统在日志平台的字符串标识符是aes8392k....c+fm,那么该系统服务运行时需要将日志保存在服务器的/applog/dcos/aes8392k....c+fm/服务名/目录下,通过运行在服务器上的探针,将采集保存在服务器上的日志,并定时发送给日志平台,发送时会同时携带字符串标识符和服务名,这样日志平台在存储到文档型数据库时可以匹配系统并分类存储。
在一种可能的实现方式中,所述装置还包括:
第二识别单元,用于识别所述初始规则的系统名和服务名。
其中,系统名或服务名用于标识一个独立的系统或服务。每个系统或服务都有自己的特定名称,用于在配置中心进行标识和管理。一个系统名可以包含多个服务名,表示该系统下的不同服务。
第二存储单元,用于按照系统名、服务名或变动规则的维度将规则保存到所述配置中心的数据库的不同目录下。
在一种可能的实现方式中,所述装置还包括:
第一指令发送单元,响应于接收到监控数据查询指令,用于将所述监控数据查询指令发送至所述指令接口,以使所述指令接口对发出所述监控数据查询指令的第一系统进行权限校验。
第二获取单元,当所述第一系统具备监控数据查询权限时,用于根据所述第一系统的系统名和所述监控数据查询指令从所述日志平台中获取相应的所述监控数据。
第一返回单元,用于利用所述指令接口将相应的所述监控数据返回给所述第一系统。
在一种可能的实现方式中,所述装置还包括:
第二指令发送单元,响应于接收到规则修改指令,用于将所述规则修改指令发送至所述指令接口,以使所述指令接口对发出所述规则修改指令的第二系统进行权限校验。
在一种可能的实现方式中,所述规则修改指令可包括:新增、编辑或删除规则的指令。
第一发送单元,当所述第二系统具备规则修改权限时,用于将所述规则修改指令发送给所述配置中心,以使所述配置中心根据所述规则修改指令从所述数据库中获取相应的所述初始规则。
第一规则修改单元,用于通过所述配置中心对相应的所述初始规则进行规则修改得到变动规则,并将所述变动规则保存到所述数据库中。
在一种可能的实现方式中,所述装置还包括:
第二规则修改单元,用于利用所述配置中心根据所述规则修改指令对相应的所述初始规则进行规则修改得到初始变动规则。
第三指令发送单元,用于利用所述配置中心将所述规则修改指令发送给软件开发工具包,以使所述软件开发工具包对所述初始变动规则增加限流和熔断机制得到所述变动规则。
在一种可能的实现方式中,所述装置还包括:
第二发送单元,响应于接收到限流熔断情况查询指令,用于将所述限流熔断情况查询指令发送至所述指令接口,以使所述指令接口对发出所述限流熔断情况查询指令的第三系统进行权限校验。
第三获取单元,当发出所述第三系统具备监控数据查询权限时,用于根据所述第三系统的系统名和所述限流熔断情况查询指令从所述数据库中获取相应的限流熔断情况。
第二返回单元,用于利用所述指令接口将相应的限流熔断情况返回给所述第三系统。
另外,本申请实施例还提供了一种限流组件的构建设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的限流组件的构建方法。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的限流组件的构建方法。
本申请实施例提供了一种限流组件的构建装置,先利用第一获取单元201获取初始规则和监控数据。第一保存单元202将监控数据保存到日志平台中;第二保存单元203将初始规则保存到配置中心的数据库中。再利用封装单元204为保存监控数据的日志平台和保存初始规则的数据库封装指令接口得到扩展组件,并利用引入单元205为扩展组件引入软件开发工具包得到限流组件。本申请通过将监控数据保存到日志平台中,将初始规则保存到配置中心的数据库中持久化了监控数据和规则数据,从而可以避免监控数据和规则数据因为服务的宕机或重启而丢失。同时,为保存监控数据的日志平台和保存初始规则的数据库封装指令接口可以避免系统遭受损害或数据泄露。
以上对本申请所提供的一种限流组件的构建方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种限流组件的构建方法,其特征在于,所述方法包括:
获取初始规则和监控数据;
将所述监控数据保存到日志平台中;
将所述初始规则保存到配置中心的数据库中;
为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件;
为所述扩展组件引入软件开发工具包得到限流组件。
2.根据权利要求1所述的方法,其特征在于,所述将所述监控数据保存到日志平台中,包括:
识别所述监控数据的生成系统;
查询所述生成系统的字符串标识符;
根据所述字符串标识符从所述日志平台中查找目标目录;
将所述监控数据存储在所述目标目录中。
3.根据权利要求1所述的方法,其特征在于,所述将所述初始规则保存到配置中心的数据库中,包括:
识别所述初始规则的系统名和服务名;
按照系统名、服务名或变动规则的维度将规则保存到所述配置中心的数据库的不同目录下。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到监控数据查询指令,将所述监控数据查询指令发送至所述指令接口,以使所述指令接口对发出所述监控数据查询指令的第一系统进行权限校验;
当所述第一系统具备监控数据查询权限时,根据所述第一系统的系统名和所述监控数据查询指令从所述日志平台中获取相应的所述监控数据;
利用所述指令接口将相应的所述监控数据返回给所述第一系统。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到规则修改指令,将所述规则修改指令发送至所述指令接口,以使所述指令接口对发出所述规则修改指令的第二系统进行权限校验;
当所述第二系统具备规则修改权限时,将所述规则修改指令发送给所述配置中心,以使所述配置中心根据所述规则修改指令从所述数据库中获取相应的所述初始规则;
通过所述配置中心对相应的所述初始规则进行规则修改得到变动规则,并将所述变动规则保存到所述数据库中。
6.根据权利要求5所述的方法,其特征在于,所述通过所述配置中心对所述初始规则进行规则修改得到变动规则,包括:
利用所述配置中心根据所述规则修改指令对相应的所述初始规则进行规则修改得到初始变动规则;
利用所述配置中心将所述规则修改指令发送给所述软件开发工具包,以使所述软件开发工具包对所述初始变动规则增加限流和熔断机制得到所述变动规则。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于接收到限流熔断情况查询指令,将所述限流熔断情况查询指令发送至所述指令接口,以使所述指令接口对发出所述限流熔断情况查询指令的第三系统进行权限校验;
当发出所述第三系统具备监控数据查询权限时,根据所述第三系统的系统名和所述限流熔断情况查询指令从所述数据库中获取相应的限流熔断情况;
利用所述指令接口将相应的限流熔断情况返回给所述第三系统。
8.一种限流组件的构建装置,其特征在于,所述装置包括:
第一获取单元,用于获取初始规则和监控数据;
第一保存单元,用于将所述监控数据保存到日志平台中;
第二保存单元,用于为保存所述监控数据的所述日志平台和保存所述初始规则的所述数据库封装指令接口得到扩展组件;
引入单元,用于为所述扩展组件引入软件开发工具包得到限流组件。
9.一种限流组件的构建的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的限流组件的构建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的限流组件的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310973730.9A CN117008903A (zh) | 2023-08-03 | 2023-08-03 | 一种限流组件的构建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310973730.9A CN117008903A (zh) | 2023-08-03 | 2023-08-03 | 一种限流组件的构建方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008903A true CN117008903A (zh) | 2023-11-07 |
Family
ID=88561332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310973730.9A Pending CN117008903A (zh) | 2023-08-03 | 2023-08-03 | 一种限流组件的构建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117008903A (zh) |
-
2023
- 2023-08-03 CN CN202310973730.9A patent/CN117008903A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8863224B2 (en) | System and method of managing data protection resources | |
US11163731B1 (en) | Autobuild log anomaly detection methods and systems | |
US8788569B2 (en) | Server computer system running versions of an application simultaneously | |
US8122106B2 (en) | Integrating design, deployment, and management phases for systems | |
US20120192172A1 (en) | Updating a computer system | |
US20090172636A1 (en) | Interactive development tool and debugger for web services | |
US20060259594A1 (en) | Progressive deployment and maintenance of applications on a set of peer nodes | |
WO2007113542A1 (en) | Server computer component | |
US8078914B2 (en) | Open error-handling system | |
US8490078B2 (en) | System and method for application management | |
US20080209400A1 (en) | Approach for versioning of services and service contracts | |
Laranjeiro et al. | A robustness testing approach for SOAP Web services | |
US7934221B2 (en) | Approach for proactive notification of contract changes in a software service | |
US20160364262A1 (en) | System and method for generating service operation implementation | |
US8694596B2 (en) | Systems and methods for information brokering in software management | |
US20060225047A1 (en) | Generic software requirements analyzer | |
CN117008903A (zh) | 一种限流组件的构建方法、装置、设备及存储介质 | |
US20080010289A1 (en) | System and method for efficient meta-data driven instrumentation | |
CN112134918B (zh) | 云服务中函数与触发器匹配状态的检测及处理方法 | |
CN114518899A (zh) | 一种反向的软件包追踪管理方法、系统及存储介质 | |
US7562084B2 (en) | System and method for mapping between instrumentation and information model | |
Di Ruscio et al. | A model‐driven approach to detect faults in FOSS systems | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
US20210240596A1 (en) | Source code file retrieval | |
US20060059463A1 (en) | Remote build and management for software applications |
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 |