Method and device for multi-cloud resource alarm control
By obtaining and classifying the metadata of multi-cloud resources, pushing and optimizing alarm rules, the problem of IT personnel needing to be familiar with the alarm rules of various cloud platforms in multi-cloud environments is solved, and rapid and accurate positioning and work efficiency improvement are achieved.
Patent Information
- Application Number
- CN202011559612.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-25
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-12-25
AI Technical Summary
In a multi-cloud environment, enterprise IT departments and IT operation and maintenance personnel need to be familiar with the configuration and management of alarm rules of various cloud platforms and resources, making resource abnormalities difficult to capture and locate, and increasing the difficulty of troubleshooting.
By obtaining user authentication information, matching public cloud account identification information, sending metadata requests to multiple cloud devices, receiving and classifying cloud resource information, pushing alarm rules, receiving and cleaning alarm information, optimizing alarm rules, and adopting online two parts Graph matching and matrix decomposition methods are used to match information and optimize information.
It has realized the classification and persistence optimization of multi-cloud resource alarm information, unified push and display, reduced the workload of IT personnel, and improved work efficiency and accurate positioning capabilities in multi-cloud environments.
Smart Images

Figure CN112699002B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing, and in particular to a method and device for multi-cloud resource alarm management and control. Background Art
[0002] With the large-scale use of multiple public clouds by enterprises, the types and quantities of multi-cloud resources used have continued to increase. In the process of using multi-cloud resources, each cloud has its own set of alarm rules, which requires enterprise IT departments, IT managers, and IT operation and maintenance personnel to be familiar with the alarm rule configuration and management of each cloud platform and each cloud resource, which brings difficulties to the management of multiple clouds and multiple resources, making it difficult to capture and accurately locate abnormal resources, adding obstacles to rapid troubleshooting. Summary of the invention
[0003] In view of the problems in the prior art, the present invention provides a method for multi-cloud resource alarm management and control, which is applied to a user terminal, and the method includes:
[0004] Obtaining identity authentication information of the user, where the identity authentication information matches corresponding multiple public cloud account identification information;
[0005] Sending multiple metadata requests to multiple cloud devices respectively based on the multiple public cloud account identification information;
[0006] Receiving a plurality of metadata sent by the plurality of cloud devices based on the metadata request, the plurality of metadata comprising cloud resource information of a corresponding public cloud;
[0007] Classify and manage the cloud resource information;
[0008] Pushing corresponding alarm rules to the multiple cloud devices respectively according to the classified cloud resource information;
[0009] Receiving alarm information metadata sent by the plurality of cloud devices based on the alarm rule, the alarm information metadata including alarm information of the corresponding public cloud;
[0010] Performing cleaning and persistent storage operations on the alarm information metadata in sequence;
[0011] Optimize alarm rules based on stored alarm information.
[0012] Furthermore, the step of sending multiple metadata requests to multiple cloud devices respectively includes:
[0013] Send multiple metadata requests to multiple cloud devices based on preset time intervals.
[0014] Furthermore, the corresponding alarm rules are pushed to the plurality of cloud devices respectively according to the classified cloud resource information, including:
[0015] Online bipartite graph matching is used to determine the pushed information, wherein the alarm rule item is used as a known vertex, and the classified cloud resource information is used as an online vertex. When the online vertex arrives, the number of matches between the alarm rule item and the classified cloud resource information is maximized.
[0016] Furthermore, the corresponding alarm rules are pushed to the plurality of cloud devices respectively according to the classified cloud resource information, including:
[0017] A custom push method based on matrix decomposition is adopted, in which the alarm rule items are classified according to characteristics and form a matrix.
[0018] Furthermore, the cleaning operation of the alarm information metadata includes performing cleaning operations in the order of cloud classification alarm information, cloud resource classification alarm information and alarm level information.
[0019] Furthermore, when performing a cleaning operation on the alarm information metadata, the alarm information that meets the preset conditions is marked; and the marked alarm information is pushed to the user.
[0020] Further, optimizing the alarm rules according to the stored alarm information includes:
[0021] The alarm rules are optimized through policy gradient, wherein a trajectory curve of the change of the corresponding alarm rule item is formed for a specific environment according to the stored alarm information, so as to obtain an estimate of the gradient under the current parameters, and then optimize the threshold setting of the corresponding alarm rule item.
[0022] Furthermore, in response to an operation instruction input by a user on a single interface of the user terminal, a corresponding operation is performed based on at least one item of cloud resource information and / or alarm information.
[0023] The present invention also provides a device for multi-cloud resource alarm management and control, the device comprising:
[0024] Processor; and
[0025] A memory arranged to store computer executable instructions which, when executed, cause the processor to perform the operations of the above-described method.
[0026] The present invention also provides a computer readable medium storing instructions, which, when executed, cause the system to perform the operations of the above method.
[0027] Compared with the prior art, the multi-cloud resource alarm management and control method and device of the present invention classifies and persists the alarm information obtained from multiple clouds, continuously optimizes the alarm rules, and pushes and displays the alarm information in a unified manner; it enables enterprise IT personnel to quickly and accurately locate the alarm anomalies of cloud resources in multiple public cloud environments in a multi-cloud and multi-account environment, thereby reducing workload and improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Other features, objects and advantages of the present invention will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:
[0029] Figure 1 A system architecture of an embodiment of the present invention is shown;
[0030] Figure 2 The following is a flow chart of a method for multi-cloud resource alarm management and control according to an embodiment of the present invention;
[0031] Figure 3 is a schematic diagram of a task queue in one embodiment of the present invention;
[0032] Figure 4 yes Figure 3 The following figure shows the current task in the task queue;
[0033] Figure 5 is a schematic diagram of the transition of task execution status according to an embodiment of the present invention;
[0034] Figure 6 It is a schematic diagram of the process of queue task execution in one embodiment of the present invention;
[0035] Figure 7 It is a schematic diagram of the process of pushing self-matching alarm rules in one embodiment of the present invention;
[0036] Figure 8 It is a schematic diagram of a process of customizing push alarm rules in one embodiment of the present invention;
[0037] Fig. 9 is a schematic diagram of a process of alarm information management in one embodiment of the present invention;
[0038] Fig.10 is a schematic diagram of receiving alarm information in one embodiment of the present invention;
[0039] Fig.11 It is a schematic diagram of a process of cleaning alarm information in one embodiment of the present invention;
[0040] Fig.12 The functional modules of an exemplary system that can be used in various embodiments of the present invention are shown.
[0041] The same or similar reference numerals in the drawings represent the same or similar components. DETAILED DESCRIPTION
[0042] The present invention is further described in detail below in conjunction with the accompanying drawings.
[0043] In a typical configuration of the present invention, the terminal, the device of the service network and the trusted party each include one or more processors (eg, a central processing unit (CPU)), an input / output interface, a network interface and a memory.
[0044] Memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash memory. Memory is an example of a computer-readable medium.
[0045] Computer readable media include permanent and non-permanent, removable and non-removable media and can store information by any method or technology. The information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, Phase-Change Memory (PCM), Programmable Random Access Memory (PRAM), Static Random-Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read-Only Memory (ROM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0046] The device referred to in the present invention includes but is not limited to user equipment, network equipment, or equipment formed by integrating user equipment and network equipment through a network. The user equipment includes but is not limited to any mobile electronic product that can interact with a user (for example, interact with a user through a touchpad), such as a smart phone, a tablet computer, etc. The mobile electronic product can use any operating system, such as an Android operating system, an iOS operating system, etc. Among them, the network device includes an electronic device that can automatically perform numerical calculations and information processing according to pre-set or stored instructions, and its hardware includes but is not limited to a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a programmable logic device (Programmable Logic Device, PLD), a field programmable gate array (Field Programmable Gate Array, FPGA), a digital signal processor (Digital Signal Processor, DSP), an embedded device, etc. The network device includes but is not limited to a computer, a network host, a single network server, a plurality of network server sets or a cloud composed of a plurality of servers; here, the cloud is composed of a large number of computers or network servers based on cloud computing (Cloud Computing), wherein cloud computing is a kind of distributed computing, a virtual supercomputer composed of a group of loosely coupled computer sets. The network includes but is not limited to the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network, etc. Preferably, the device may also be a program running on the user device, the network device, or a device formed by integrating the user device and the network device, the network device, the touch terminal, or the network device and the touch terminal through a network.
[0047] Of course, those skilled in the art should understand that the above-mentioned devices are only examples, and other existing or future devices that are applicable to the present invention should also be included in the scope of protection of the present invention and are included here by reference.
[0048] In the description of the embodiments of the present invention, “plurality” means two or more, unless otherwise clearly and specifically defined.
[0049] This embodiment first provides a system architecture for multi-cloud resource alarm management and control. Figure 1 As shown in the figure, the system adopts B / S mode and microservice architecture. The overall design is divided into four layers: user layer, middle layer, data layer and cloud layer, among which:
[0050] -User layer: Users access this system through PCs or third-party systems.
[0051] -Middle layer: Considering the scalability of the system, the front-end and back-end are separated and designed to enable rapid distributed deployment. The front-end pages are deployed separately to the Web server, and the back-end applications are deployed separately to the application server. Application services can build clusters to provide services, including unified security authentication, statistical analysis services, query services, visualization services, database access services, configuration services, scheduled task services, and computing services. The interface server provides separate services for third parties. The design is to prevent the impact of third-party interactions on the business system. The user layer interacts with the middle layer for data requests through Webservices or Restful.
[0052] -Data layer: The database server can perform dual-machine hot standby, master-slave operation, etc., and add a separate cache server to cache pages and commonly used data to reduce the pressure on the database, solve the database read and write bottleneck, and ensure the normal operation of the database.
[0053] -Cloud layer: Customize scheduled tasks based on different cloud account information, request API or SDK to synchronize resources and receive native alarm data from the cloud (Alibaba Cloud, Azure, AWS, Tencent Cloud) at regular intervals, and automatically push corresponding alarm rules based on the characteristics of each cloud.
[0054] Based on the above architecture, specifically, this embodiment provides a method for multi-cloud resource alarm management and control. The method is applied to a user terminal and supported by corresponding network devices (such as cloud servers). Figure 2 The method includes step S100, step S200, step S300, step S400, step S500, step S600, step S700, step S800 and step S900. The specific implementation of this embodiment is described below by taking a user terminal as an example.
[0055] Specifically, in step S100, the user terminal obtains the identity authentication information of the user. For example, the user enters his / her user identification (such as system account name) and authentication information (such as account password) in the user terminal.
[0056] In step S200, the user terminal matches the corresponding multiple public cloud account identification information based on the identity authentication information, wherein each public cloud account identification information corresponds to a public cloud account. For example, the user account logged in by the administrator corresponds to several public cloud accounts managed by the administrator; in some cases, for the same system, different administrators may manage different public cloud accounts.
[0057] In step S300, the user terminal sends multiple metadata requests to multiple cloud devices respectively, wherein each metadata request includes a public cloud account identification information, and the public cloud account identification information is used to determine the user's access rights to the corresponding public cloud account. For example, multiple cloud devices correspond to multiple different cloud platforms. In some embodiments, the user's access rights to a cloud account are determined by the relevant account information provided by the user. For example, Alibaba Cloud needs to obtain the accessKeyId and accessSecret fields, while Azure (the cloud service platform provided by Amazon) needs to obtain the subscriptionId and clientSecret fields. After the entry is successful, verify whether the entry account is available.
[0058] In step S400, the user terminal receives multiple metadata sent by the multiple cloud devices based on the metadata request. The multiple metadata include cloud resource information of the corresponding public cloud. In some embodiments, the resource monitoring data synchronized by multiple cloud accounts is persisted as basic data for optimization and savings analysis calculation.
[0059] In step S500, the user terminal classifies and manages the cloud resource information. In some embodiments, the metadata content is first cleaned into the corresponding data structure according to different data cleaning rules of each cloud platform, including checking data consistency, processing invalid values and missing values, etc.
[0060] In step S600, the user terminal pushes corresponding alarm rules to the plurality of cloud devices respectively according to the classified cloud resource information. In some embodiments, an alarm information rule library is set up for setting, matching and calling alarm rules.
[0061] In step S700, the user terminal receives and manages the alarm information sent by the multiple cloud devices based on the alarm rules, including cleaning operations on the alarm information metadata, persistent storage operations on the alarm information, pushing of the alarm information, and optimization of the alarm rules.
[0062] In step S800, in response to an operation instruction input by a user on a single interface of the user terminal, a corresponding operation is performed based on at least one item of cloud resource information and / or alarm information.
[0063] Therefore, users can manage and control cloud resource alarms of multiple cloud accounts in a single user interface without having to log into each cloud account for monitoring and management.
[0064] In some embodiments, in the above step S300, the user terminal sends multiple metadata requests to multiple network devices based on preset time intervals. For example, after obtaining the user's identity authentication information, the system automatically performs the above operations at regular intervals to reduce the user's operating burden and improve the real-time performance of local data.
[0065] In some embodiments, the above step S300 includes sub-steps S310, S320, S330 and S340 (not shown in the figure). In sub-step S310, the user terminal creates a task queue, and the task queue includes multiple metadata request tasks corresponding to the identification information of the multiple public cloud accounts; in sub-step S320, the user terminal obtains the current task in the task queue and determines the executable state of the current task; in sub-step S330, if the executable state of the current task is not executable, the user terminal moves the current task to the end of the task queue; in sub-step S340, if the executable state of the current task is executable, the user terminal executes the current task to send a corresponding metadata request to the corresponding network device, and removes the current task after the current task is executed. Among them, in order to automatically execute certain tasks and reduce the burden on administrators, some tasks are set with a loop state, which is used to characterize whether the task still needs to be automatically executed again after this execution. Accordingly, in some embodiments, in sub-step S340, if the executable state of the current task is executable, the user terminal executes the current task to send a corresponding metadata request to the corresponding network device; if the loop state of the current task is true, the current task is moved to the end of the task queue after the current task is executed; otherwise, the current task is removed after the current task is executed.
[0066] For example, the system manages the synchronization of information of various cloud account resources (basic resources, resource monitoring, etc.); after the synchronization task is successfully created, it will be saved to the task queue to be executed, such as Figure 3 As shown. An account task in the task queue contains multiple subtasks with resource information, and each account task has one and only one status. The task status is divided into (executable, pending, executing, completed, execution error), and the task records the next execution time and marks whether the task is cyclic (for example, 0-no, 1-yes). Figure 6 The task execution process shown in the figure, the system first obtains the first task in the queue (i.e., the "current task") and determines whether it is executable. Figure 4The following shows an exemplary logical structure of the current task; if it is not currently executable, move the current task to the end of the queue, otherwise set its status to being executed (to avoid conflicts during parallel processing), put the task into the execution thread pool, and execute it through the subtask concurrent coroutine. After the current task is executed, mark the completion status of the current task as "completed"; check the loop flag, if the current task is a loop task, still move the task to the end of the queue, otherwise remove the task from the queue. For ease of explanation, Figure 5 The transition process between task states is shown.
[0067] In some embodiments, in step S500, the user terminal classifies and uniformly manages the cloud resource information synchronized from (Azure, Alibaba Cloud, AWS, Tencent Cloud), and Table 1 provides an adoptable cloud resource classification management table.
[0068] Table 1
[0069]
[0070]
[0071] In some embodiments, in step S600, the alarm rules are automatically matched by the user terminal and pushed to the multi-cloud resource event center, such as Figure 7 shown.
[0072] User terminal matching push adopts online matching to find the maximum matching item. Here, online bipartite graph matching is adopted. For the bipartite graph G (U, V, E), U and V are two parts of the bipartite graph, and E is the edge in G. The vertices in V are known in advance, and the vertices in U arrive online and are not known in advance. Once they arrive, they need to determine the matching relationship with the vertices in V. This relationship cannot be changed after it is determined. The matching goal is to maximize the number of matches when all vertices in U arrive.
[0073] Specifically, initialization: randomly generate a permutation σ of V, where V is a vertex known in advance.
[0074] Online: When u∈U arrives online, if N(u) is all the neighbor vertices of u that have not been matched, and N(u)≠0, then u matches the vertex with the smallest ranking in N(u). The algorithm is:
[0075]
[0076] Among them, CR (Competitive Ratio) represents the competitive ratio, which reflects the quality of matching, and e is the probability of matching.
[0077] If the classified cloud resources in Table 1 are used as resources that need to push alarm rules, they are determined to be U. As shown in Table 2, the alarm rule items are exemplarily listed as V. A permutation σ is generated based on the resources and the alarm rule items, so as to obtain a match between each resource and the alarm rule, and the alarm rule items generated by the user terminal that match the resources are pushed to the resource event center in each cloud.
[0078] Table 2
[0079]
[0080]
[0081] In some embodiments, in step S600, the user terminal uses a custom alarm rule to push, such as Figure 8 shown.
[0082] Custom push alert rules are based on the recommended method of matrix decomposition (eigendecomposition).
[0083] The meaning of eigenvalues and eigenvectors in matrix decomposition is basically defined as follows:
[0084] Ax=λx
[0085] Where matrix A is an n×n matrix, x is an n-dimensional vector, then λ is an eigenvalue of matrix A, and x is the eigenvector corresponding to the eigenvalue λ of matrix A. The geometric meaning of the eigenvector is that the eigenvector x is only scaled by the transformation of the square matrix A, and the direction does not change.
[0086] If the n eigenvalues of matrix A can be found, the diagonal matrix ∑ can be obtained, which is expanded into the following form:
[0087]
[0088] Then the matrix A can be expressed by the following eigendecomposition:
[0089] A=U∑U -1
[0090] Where U is the n×n dimensional matrix generated by the n eigenvectors, and ∑ is the n×n dimensional matrix with the n eigenvalues as the main diagonal.
[0091] Generally, the n eigenvectors of U are standardized, that is, they satisfy U -1 =U T , at this time the characteristic decomposition expression of matrix A is further written as:
[0092] A=UΣ'U T
[0093] The above decomposition is for the case where the number of rows and columns of the square matrix is consistent. When there is inconsistency, singular value decomposition (SVD) can be used.
[0094] In an example, Table 3 exemplarily lists alarm rule items classified according to features.
[0095] Table 3
[0096] Alarm rule items unit feature host.cpu.total % cpu Prepaid CPU Credits count cpu CPU credits consumed count cpu System disk total read BPS Mbytes / s disk Disk Read IOPS Times / second disk System disk total write BPS Mbytes / s disk System write IOPS Times / second disk Public network inbound bandwidth Mbytes / s network Public network outbound bandwidth Mbytes / s network Public network outbound bandwidth usage % network Intranet inbound bandwidth Mbytes / s network Intranet outbound bandwidth Mbytes / s network Excess CPU Credits count cpu Accumulated CPU credits count cpu Number of simultaneous ECS connections count network host.cpu.idle % cpu host.cpu.other % cpu host.cpu.system % cpu host.cpu.user % cpu host.cpu.iawait % cpu host.dist.readybytes Mbytes / s disk
[0097] According to the alarm rule items classified according to the features in Table 4, a matrix A will be formed, where λ is the feature (such as cpu, disk, network). This recommendation method is for the case where the number of rule items corresponding to the features is consistent. If the number of rule items of the features is inconsistent, the usage rate of the rule items will be traded off to maintain the minimum number of rule item matches of the features.
[0098] In some embodiments, in step S700, the user terminal receives alarm information sent by multiple cloud devices based on the pushed alarm rules, performs a cleaning operation on the received alarm information metadata, and persistently stores the cleaned alarm information, and pushes the alarm information that needs to be pushed to the user, such as Fig. 9 shown.
[0099] Specifically, when an alarm occurs on Alibaba Cloud, Tencent Cloud, Azure, and AWS, the alarm information receiving address provided by the user terminal is called, such as the Http / Https interface configured by the rule, to push the alarm information to the alarm platform of the user terminal, such as Fig.10 shown.
[0100] After receiving the alarm information, the user terminal cleans, automatically identifies, classifies, and marks the alarm information. Specifically, the obtained uncleaned multi-cloud alarm information metadata enters the alarm information cleaning flow queue, first cleaning the cloud classification alarm information, then cleaning the cloud resource classification alarm information, and finally cleaning the alarm level information, such as Fig.11 If the alarm information meets the requirements of push information, the alarm information will be marked as push information.
[0101] For the alarm information that has been cleaned, it enters the persistence queue and performs persistence operations in sequence.
[0102] Get the alarm information marked as push, put it into the message push queue, push the alarm information according to the configured push rules, and mark it as completed if the push is successful. If the push fails, put it at the end of the queue. For the above alarm information to be pushed, push it uniformly according to the configured different channels. The push methods that can be used include Email, SMS, WeChat, DingTalk, mini programs, etc.
[0103] In some embodiments, in step S700, the user terminal also performs unified alarm information rule base optimization calculation for the alarm information that has been persisted and not optimized, and uses the calculation model to make the rule base richer, more accurate and intelligent.
[0104] The policy gradient method is used here to optimize the alarm information rule base.
[0105] In the policy gradient, the relationship between the previous and next states is considered to be S t+1 ~P(S t+1 |S t , a t ), where S t , S t+1 are two consecutive states, a t is the action taken at step t, and P is the state distribution at the next moment determined by the environment. t The generation model (strategy) is a t ~π θ (A t |S t ), where π θ is a distribution with θ as parameter, a t Sampling is done from this distribution. In this way, in the same environment, the total benefit function of reinforcement learning is:
[0106]
[0107] Completely determined by θ, where E() is a gradient derivative from 0 to T time, r t is the state score at a certain time, z t It is a gradient at a certain time. The basic idea of the policy gradient is to directly use the gradient method to optimize R(θ).
[0108] Before using the gradient method, first calculate the derivative of R(θ). Let τ be the set of all states and actions from time 0 to T (called a trajectory), then R(θ) = E(r(τ)), where function r calculates the score of trajectory τ. R(θ) = E(r(τ)) = ∫p θ (τ)r(τ)dτ, therefore,
[0109]
[0110] In the last step, given that p(S k+1 |a k , S k ) is determined by the environment and is therefore independent of θ, so The gradient corresponding to each trajectory τ is
[0111]
[0112] Where S k , a k is the state and action of each step on the trajectory τ. Thus, given a strategy π θ , some trajectories can be obtained through simulation. For each trajectory, its benefit r(τ) and the <state, behavior> pair of each step can be obtained, so that the gradient estimation under the current parameters can be obtained.
[0113] In some practical applications, the P environment can be a development environment, a test environment, a UAT environment, or a production environment. Table 4 shows a P test environment, with the alarm rule items "CPU credits consumed" and "public network inflow bandwidth" as S t An example of optimizing the alarm information rule base.
[0114] Table 4
[0115] CPU credits consumed 1000 2000 2500 3000 6000 Public network inbound bandwidth 10% 20% 30% 50% 80% <![CDATA[a t Take Action: Mark]]> normal normal normal Medium risk High risk
[0116] According to the value obtained by the initial alarm rule item, a trajectory curve is formed to obtain a gradient and reach an optimal range for setting the alarm item threshold of each resource, so that the subsequent alarm rule item configuration is more reasonable and accurate.
[0117] In some embodiments, in step S800, the user terminal detects an operation instruction input by the user in a single interface of a browser application of the user terminal; in response to the operation instruction, a corresponding operation is performed based on at least one cloud resource information and / or alarm information. Here, the corresponding operation includes but is not limited to filtering, displaying, graphing, summarizing, and outputting the cloud resource information and / or alarm information. Fig.10 An exemplary display interface of a user terminal is shown, and cloud resource information and / or alarm information can be filtered and displayed in multiple dimensions through selection keys or a drop-down menu bar (equivalent to operation instructions) in the interface.
[0118] This embodiment also provides a computer program product.
[0119] When executed by a computer device, the method described in any of the preceding items is performed.
[0120] This embodiment further provides a computer device, the computer device comprising:
[0121] one or more processors;
[0122] a memory for storing one or more computer programs;
[0123] When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any of the preceding items.
[0124] Fig.12 An exemplary system is shown that can be used to implement the various embodiments described herein.
[0125] like Fig.12 As shown, in some embodiments, the system 1000 can be used as any user terminal device in each of the embodiments. In some embodiments, the system 1000 may include one or more computer-readable media (e.g., system memory or NVM / storage device 1020) having instructions and one or more processors (e.g., (one or more) processors 1005) coupled to the one or more computer-readable media and configured to execute instructions to implement modules to perform the actions described in the present invention.
[0126] For one embodiment, the system control module 1010 may include any suitable interface controller to provide any suitable interface to at least one of the processor(s) 1005 and / or any suitable device or component in communication with the system control module 1010 .
[0127] The system control module 1010 may include a memory controller module 1030 to provide an interface to the system memory 1015. The memory controller module 1030 may be a hardware module, a software module, and / or a firmware module.
[0128] The system memory 1015 may be used, for example, to load and store data and / or instructions for the system 1000. For one embodiment, the system memory 1015 may include any suitable volatile memory, such as a suitable DRAM. In some embodiments, the system memory 1015 may include double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
[0129] For one embodiment, system control module 1010 may include one or more input / output (I / O) controllers to provide interfaces to NVM / storage device 1020 and communication interface(s) 1025 .
[0130] For example, NVM / storage device 1020 may be used to store data and / or instructions. NVM / storage device 1020 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives (HDDs), one or more compact disk (CD) drives, and / or one or more digital versatile disk (DVD) drives).
[0131] NVM / storage device 1020 may include storage resources that are physically part of the device on which system 1000 is installed, or it may be accessible to the device without being part of the device. For example, NVM / storage device 1020 may be accessed via communication interface(s) 1025 over a network.
[0132] Communication interface(s) 1025 may provide an interface for system 1000 to communicate over one or more networks and / or with any other suitable devices. System 1000 may wirelessly communicate with one or more components of a wireless network in accordance with any of one or more wireless network standards and / or protocols.
[0133] For one embodiment, at least one of the processor(s) 1005 may be packaged together with the logic of one or more controllers (e.g., memory controller module 1030) of the system control module 1010. For one embodiment, at least one of the processor(s) 1005 may be packaged together with the logic of one or more controllers of the system control module 1010 to form a system-in-package (SiP). For one embodiment, at least one of the processor(s) 1005 may be integrated on the same die with the logic of one or more controllers of the system control module 1010. For one embodiment, at least one of the processor(s) 1005 may be integrated on the same die with the logic of one or more controllers of the system control module 1010 to form a system on chip (SoC).
[0134] In various embodiments, the system 1000 may be, but is not limited to: a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.). In various embodiments, the system 1000 may have more or fewer components and / or a different architecture. For example, in some embodiments, the system 1000 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an application specific integrated circuit (ASIC), and a speaker.
[0135] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including related data structures) can be stored in a computer readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and the like. In addition, some steps or functions of the present invention can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
[0136] In addition, a part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0137] Communication media include media by which communication signals containing, for example, computer readable instructions, data structures, program modules, or other data are transmitted from one system to another. Communication media may include guided transmission media such as cables and wires (e.g., fiber optic, coaxial, etc.) and wireless (unguided transmission) media that can propagate energy waves, such as acoustic, electromagnetic, RF, microwave, and infrared. Computer readable instructions, data structures, program modules, or other data may be embodied as a modulated data signal in, for example, a wireless medium such as a carrier wave or similar mechanism such as embodied as part of spread spectrum technology. The term "modulated data signal" refers to a signal whose one or more characteristics are changed or set in such a manner as to encode information in the signal. Modulation may be analog, digital, or a hybrid modulation technique.
[0138] By way of example and not limitation, computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable storage media include, but are not limited to, volatile memory, such as random access memory (RAM, DRAM, SRAM); and non-volatile memory, such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic / ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, magnetic tapes, CDs, DVDs); or other media now known or later developed that can store computer-readable information / data for use by a computer system.
[0139] Here, according to one embodiment of the present invention, a device is included, which includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, the device is triggered to run the methods and / or technical solutions based on the aforementioned multiple embodiments of the present invention.
[0140] It is obvious to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, from any point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any particular order.
Claims
1. A method for multi-cloud resource alarm control, It is characterized in that Applied to a user terminal, the method comprises: Obtaining identity authentication information of the user, where the identity authentication information matches corresponding multiple public cloud account identification information; Sending multiple metadata requests to multiple cloud devices respectively based on the multiple public cloud account identification information; Receiving a plurality of metadata sent by the plurality of cloud devices based on the metadata request, the plurality of metadata comprising cloud resource information of a corresponding public cloud; Classify and manage the cloud resource information; According to the classified cloud resource information, the corresponding alarm rules are pushed to the multiple cloud devices respectively, and the pushed information is determined by matching the online bipartite graph G(U, V, E), where U and V are two parts of the bipartite graph, E is the edge in G, and the alarm rule item is taken as the vertex in V, which is known in advance, and the classified cloud resource information is taken as the vertex in U, which is reached online and is not known in advance. When u∈U arrives online, if N(u) is all the neighbor vertices of u that have not been matched, and N(u)≠0, then u matches the vertex with the smallest ranking in N(u). The algorithm is: Wherein, CR represents the competition ratio, which reflects the quality of the match, e is the probability of matching, and the matching goal is to maximize the number of matches between the alarm rule items and the classified cloud resource information when all vertices in U are reached; Receiving alarm information metadata sent by the plurality of cloud devices based on the alarm rule, the alarm information metadata including alarm information of the corresponding public cloud; Performing cleaning and persistent storage operations on the alarm information metadata in sequence; Optimizing alarm rules according to stored alarm information, including: optimizing alarm rules through policy gradient, wherein a trajectory curve of changes in corresponding alarm rule items is formed for a specific environment according to the stored alarm information, thereby obtaining an estimate of the gradient under current parameters, and optimizing the threshold setting of the corresponding alarm rule items by optimizing the total benefit function as a goal, wherein the total benefit function is Among them, E( ) is a gradient derivative from 0 to T time, r t is the state score at a certain time, z t It is a gradient at a certain time.
2. The method according to claim 1, It is characterized in that The step of sending multiple metadata requests to multiple cloud devices respectively includes: Send multiple metadata requests to multiple cloud devices based on preset time intervals.
3. The method according to claim 1, It is characterized in that The cleaning operation of the alarm information metadata includes performing cleaning operations in the order of cloud classification alarm information, cloud resource classification alarm information and alarm level information.
4. The method according to claim 1, It is characterized in that When performing a cleaning operation on the alarm information metadata, the alarm information that meets the preset conditions is marked; and the marked alarm information is pushed to the user.
5. The method according to claim 1, It is characterized in that In response to an operation instruction input by a user on a single interface of the user terminal, a corresponding operation is performed based on at least one item of cloud resource information and / or alarm information.
6. A device for automated operation and maintenance of cloud resources in a multi-cloud environment. It is characterized in that The device comprises: Processor; and A memory arranged to store computer executable instructions which, when executed, cause the processor to perform the operations of the method according to any one of claims 1 to 5.
7. A computer readable medium storing instructions, It is characterized in that When the instructions are executed, the system performs the operation of the method according to any one of claims 1 to 5.
