An information synchronization method, device and equipment of a cloud computing platform and a storage medium
By deploying an adaptation layer in the cloud computing platform to shield the differences in cloud vendor APIs, unified management and synchronization of resource information are achieved, solving the problem of inconsistent resource data on the cloud computing platform and improving the platform's scalability and compatibility.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI PUDONG DEVELOPMENT BANK
- Filing Date
- 2022-12-12
- Publication Date
- 2026-04-17
AI Technical Summary
Existing cloud computing platforms suffer from insufficient scalability in resource management and unified management, making it difficult to be compatible with the interface differences of different cloud vendors, resulting in inconsistent resource data. Furthermore, the development cycle is long and difficult when adding new cloud vendors or resource types.
By deploying an adaptation layer in the cloud computing platform, the differences in resource management APIs among different cloud vendors are shielded. The adaptation layer is used to obtain resource information and encapsulate it in a unified format, enabling resource information comparison and synchronization, and automatically adapting to new cloud vendors.
It achieves unified management of resource information from multiple cloud vendors, solves the problem of inconsistent resource information, and has strong scalability. When adding a new cloud vendor, only an adaptation layer needs to be added for automatic adaptation.
Smart Images

Figure CN116016559B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud computing technology, and in particular to an information synchronization method, apparatus, device, and storage medium for a cloud computing platform. Background Technology
[0002] With the rapid development of cloud computing platforms, the number of domestic cloud platform vendors is increasing. Due to business inconsistencies, even the same data center may deploy different cloud computing platforms. A cloud computing platform can refer to a single platform that can manage multiple cloud resources. Currently, there are two main design schemes for the construction of cloud computing platforms:
[0003] The first approach involves the cloud computing platform directly redirecting users to the pages of different cloud vendors. This solution's cloud management platform merely aggregates the pages of different cloud vendors, failing to achieve unified management and oversight of cloud resources, as well as tenant management and other functions.
[0004] The second type is a cloud management platform based on a universal cloud adapter model that coordinates and schedules resources from various cloud vendors' platforms. In this model, the cloud computing platform integrates various cloud platforms through cloud adapters, thereby indirectly managing their underlying physical resources to form a unified resource pool. Based on the enterprise's needs, a standardized service catalog is created, and services are provided externally according to unified standards. The architecture diagram is as follows: Figure 1a As shown, this cloud adapter converts the APIs of different cloud platforms into a unified API, forming a unified interface.
[0005] Since different cloud platforms are developed by different manufacturers, the management and secondary development interfaces they provide vary. During the use of cloud platforms, inconsistencies inevitably arise between the resource data in the cloud platform and the underlying information of each manufacturer.
[0006] The first type of cloud computing platform construction scheme cannot achieve unified cloud resource management. For example, the cloud computing platform has difficulty detecting operations such as adding or deleting resources at the underlying cloud platform level, and it also has difficulty managing tenant quotas. Unified management of cloud resources is the foundation of a cloud management platform. If unified resource management cannot be achieved, then unified lifecycle management of cloud resources, resource service-oriented architecture, and tenant quota management cannot be realized.
[0007] For the second cloud computing platform construction solution, cloud resource management is mainly achieved through API interface integration. Customized development is required for different cloud platform interface call methods, necessitating an understanding of the respective cloud platform vendors' management business logic. However, considering the diversity of cloud platform interfaces and resource fluctuations, development and maintenance will require more time and resources. Furthermore, if new cloud vendors or new cloud resource types need to be incorporated, the development cycle will become longer and more difficult, and compatibility with existing cloud computing frameworks may not be guaranteed.
[0008] In summary, there is still a lack of highly scalable cloud resource management solutions in the current technology. Summary of the Invention
[0009] This invention provides an information synchronization method, device, and storage medium for a cloud computing platform to enhance the scalability of the cloud computing platform.
[0010] According to one aspect of the present invention, a method for information synchronization of a cloud computing platform is provided, comprising: determining a call flow based on a transaction request sent by a user client, wherein the call flow includes a target business service module and a specified order for calling the target business service module;
[0011] The forward interfaces of each target business service module are invoked in the specified order according to the invocation flow, so that the target business service modules execute the pre-configured specified transaction operations;
[0012] When a scheduling failure is determined based on the execution results fed back by each of the target business service modules, the currently failed transaction is reversed or retried to keep the transaction data of each of the target business service modules consistent.
[0013] According to another aspect of the present invention, an information synchronization device for a cloud computing platform is provided, comprising:
[0014] The call flow determination module is used to determine the call flow based on the transaction request sent by the user client, wherein the call flow includes a target business service module and a specified order for calling the target business service module;
[0015] The transaction execution module is used to call the forward interfaces of each of the target business service modules in a specified order according to the call flow, so that the target business service modules execute the pre-configured specified transaction operations;
[0016] The information synchronization module of the cloud computing platform is used to reverse or retry the currently failed transactions when the execution results fed back by each of the target business service modules determine that the scheduling has failed, so as to keep the transaction data of each of the target business service modules consistent.
[0017] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0018] At least one processor; and
[0019] A memory communicatively connected to the at least one processor; wherein,
[0020] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the information synchronization method of the cloud computing platform according to any embodiment of the present invention.
[0021] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the information synchronization method of the cloud computing platform according to any embodiment of the present invention.
[0022] The technical solution of this invention sends resource acquisition requests to the adaptation layers corresponding to the deployment regions of each cloud vendor. Based on these requests, the adaptation layers call the application programming interface (API) of the cloud vendors to obtain resource information, thus shielding the differences in resource management APIs among different cloud vendors. The resource information of each cloud vendor in the cloud computing platform is compared with the resource information returned by the adaptation layers. Based on the comparison results, an information synchronization task is performed on the cloud computing platform. This achieves unified management of resource information from multiple cloud vendors, solving the problem of inconsistencies between resource information on the underlying cloud platform and the cloud computing platform caused by adding or deleting resources on the underlying cloud platform. Furthermore, it is highly scalable; when adding a new cloud vendor, only the corresponding adaptation layer needs to be added for automatic adaptation.
[0023] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1a This is an architecture diagram of a cloud computing platform provided in the existing technology;
[0026] Figure 1b This is a flowchart of an information synchronization method for a cloud computing platform according to Embodiment 1 of the present invention;
[0027] Figure 2a This is a flowchart of an information synchronization method for a cloud computing platform according to Embodiment 2 of the present invention;
[0028] Figure 2bThis is a flowchart of another information synchronization method for a cloud computing platform provided according to Embodiment 2 of the present invention;
[0029] Figure 3 This is a flowchart of another information synchronization method for a cloud computing platform provided according to Embodiment 3 of the present invention;
[0030] Figure 4 This is a schematic diagram of the structure of an information synchronization device for a cloud computing platform according to Embodiment 4 of the present invention;
[0031] Figure 5 This is a schematic diagram of the structure of the electronic device provided in Embodiment 5 of the present invention. Detailed Implementation
[0032] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0033] It should be noted that the terms "comprising" and "having" and any variations thereof in the specification, claims and accompanying drawings of this invention are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such processes, methods, products or devices.
[0034] Example 1
[0035] Figure 1b This invention provides a flowchart of an information synchronization method for a cloud computing platform, as shown in Embodiment 1. This embodiment is applicable to scenarios involving the management of data in a scheduling service system. The method can be executed by an information synchronization device for the cloud computing platform, which can be implemented in hardware and / or software. This information synchronization device for the cloud computing platform can be integrated into an electronic device. Figure 1b As shown, the method includes:
[0036] S110 generates several resource management events based on the resource management task and sends the resource management events to the event bus.
[0037] In this embodiment, the resource management task is a task to manage cloud resources. The resource management task can be triggered on a timer, and one or more types of resource management tasks can be initiated according to a preset time.
[0038] Among them, resources can be objects that need to be managed, including but not limited to managing physical machine resources, storage resources, network resources, virtual machine resources, and cluster resources.
[0039] Specifically, one or more types of resource management tasks can be initiated within a specific time period based on actual needs.
[0040] In this embodiment, when the unified resource management system receives a task initiation request, it can generate a resource management event based on the task parameters contained in the resource management task and send the resource management event to the event bus. The task parameters can be the type of cloud vendor and the resource type.
[0041] It should be noted that each cloud vendor has a corresponding resource management event.
[0042] In this embodiment, the type of cloud vendor to be synchronized can be determined based on the task parameters included in the resource management task, a resource management event can be generated based on the type of cloud vendor, and the resource management event can be sent to the event bus.
[0043] For example, S110 may include: obtaining a resource management task, parsing the resource management task to obtain the cloud vendor type and resource type; generating a resource management event based on the cloud vendor type and resource type, and sending each resource management event to the event bus according to the generation time.
[0044] The cloud vendors can include, but are not limited to, VMware, Microsoft Cloud, and xsky; the resource types can include, but are not limited to, virtual machines, networks, servers, storage, applications, and services; and the event bus can obtain the managed events for each resource based on the generation time.
[0045] S120 obtains resource management events on the event bus through the event adapter, and sends resource acquisition requests to the corresponding adaptation layers of each cloud vendor's deployment region according to the resource management events.
[0046] The event adapter can react to the generated managed resource events, so it is necessary to register listeners for certain components and then implement the corresponding interface methods; each interface can be pre-configured with a corresponding event adapter to obtain managed resource events.
[0047] In this embodiment, different resource management events correspond one-to-one with event adapters; the adaptation layer can obtain resource management events on the event bus through the event adapter; send resource acquisition requests to the adaptation layer corresponding to the cloud vendor's deployment region according to the resource management event; call one or more different adaptation layers according to the cloud vendor and resource type included in the task parameters; and send resource acquisition requests through the interface provided by the adaptation layer.
[0048] For example, sending resource acquisition requests to the adaptation layers corresponding to the deployment regions of each cloud vendor based on the resource management event may include: generating a main task and several sub-tasks according to the cloud vendor type through the event adapter corresponding to the resource management event, with a corresponding relationship between the main task and sub-tasks of the same cloud vendor type; monitoring the running status of the corresponding sub-tasks through the main task, wherein the sub-tasks correspond to the adaptation layers corresponding to the cloud vendor deployment regions; and sending a resource acquisition request to the adaptation layer of the corresponding deployment region through the current sub-task.
[0049] The main task can be used to monitor whether the subtasks have finished running; the subtasks can be used to send resource acquisition requests to the adaptation layer of the corresponding cloud vendor's deployment area; and the adaptation layer can be used to record resource management task information.
[0050] In this embodiment, the number of subtasks can be determined based on the number of regions where the cloud vendor deploys its services.
[0051] This embodiment assumes that the cloud providers include both VMware and Microsoft Cloud. Each provider generates one main task and M subtasks through its corresponding event adapter; specifically, one main task and M subtasks are generated for VMware, and one main task and M subtasks are generated for Microsoft Cloud. By splitting the managed task into multiple subtasks and using resource management events and event buses, multiple cloud providers can be managed simultaneously. The number of main tasks and subtasks is not specifically limited in this embodiment.
[0052] This embodiment breaks down the resource management task into multiple sub-tasks and uses resource management events and an event bus to allow multiple cloud vendors to be managed simultaneously.
[0053] For example, obtaining resource information by calling the application programming interface (API) of the cloud vendor based on the resource acquisition request through the adaptation layer may include: receiving the resource acquisition request through the adaptation layer, calling the application programming interface (API) of the cloud vendor to obtain the corresponding resource information of the cloud vendor; encapsulating the task information and the resource information returned by the cloud vendor according to a preset format through the adaptation layer; classifying and storing the encapsulated resource information according to the resource type; and ending the corresponding subtask according to the encapsulated task information.
[0054] The task information can be a task ID; the adaptation layer can be used to call the cloud provider's API (Application Programming Interface) to obtain resource information.
[0055] This embodiment can encapsulate task information and resource information returned by cloud vendors in a preset format through an adaptation layer, thereby shielding data formats from cloud vendors that are different from the resource acquisition requests received by the adaptation layer, and thus uniformly encapsulating them into resource acquisition requests of the same format. Specifically, the preset format can be JSON format, but this embodiment does not impose any specific restrictions on it.
[0056] In this embodiment, the adaptation layer can process resource information and return resource information in a unified format. If it is necessary to extend access to a new cloud platform, only an adaptation layer corresponding to the resource acquisition request needs to be added.
[0057] In this embodiment, the cloud provider can return data to the adaptation layer based on the API call. The adaptation layer can encapsulate the resource data and task information into standard output results and return the results to the unified resource management system.
[0058] In this embodiment, the unified resource management system can classify and store the encapsulated resource information according to resource type and task ID, and store the same resource type in the same data table.
[0059] In this embodiment, after classifying and storing the encapsulated resource information according to resource type, the current subtask running status can be set to "end".
[0060] For example, generating a main task and several sub-tasks based on the cloud vendor type through the event adapter corresponding to the resource management event may include: for each event adapter, reading the resource management event on the event bus through the current event adapter; determining whether the read resource management event is the resource management event corresponding to the current event adapter based on the event type of the resource management event; if so, generating a corresponding number of sub-tasks and 1 main task based on the number of deployment regions on the cloud vendor side corresponding to the resource management event; otherwise, returning to execute reading the resource management event on the event bus through the current event adapter.
[0061] S130 uses the adaptation layer to call the application programming interface (API) of the cloud vendor based on the resource acquisition request to obtain resource information.
[0062] In this embodiment, the adaptation layer can call the cloud vendor's application programming interface (API) to obtain resource information; when the resource information is obtained, the adaptation layer will return the resource information to the unified resource management system.
[0063] S140 compares the resource information of each cloud vendor in the cloud computing platform with the resource information returned by the adaptation layer, and performs an information synchronization task on the cloud computing platform based on the comparison results.
[0064] In this embodiment, the resource information of each cloud vendor in the cloud computing platform can be compared with the resource information returned by the adaptation layer. If the comparison results are inconsistent, an information synchronization task is performed on the cloud computing platform. If the comparison results are consistent, there is no need to perform an information synchronization task on the cloud computing platform.
[0065] For example, S140 may include: if the main task detects that all corresponding subtasks have ended, ending the main task and comparing the resource information of the cloud vendor corresponding to the ended main task in the cloud computing platform with the resource information returned by the adaptation layer; for resources that exist in both the cloud computing platform and the cloud vendor, if some resource fields are inconsistent, performing an information update synchronization task on the cloud computing platform based on the resource information corresponding to the cloud vendor; for resources that exist in the cloud computing platform but not in the cloud vendor, generating a manual review request based on the comparison result, and determining whether to perform an information deletion synchronization task on the cloud computing platform based on the manual review result; for resources that do not exist in the cloud computing platform but exist in the cloud vendor, determining whether to initiate a manual review request based on the resource type; if no manual review request is initiated, performing an information addition synchronization task on the cloud computing platform based on the resource information corresponding to the cloud vendor; if a manual review request is initiated, determining whether to perform an information addition synchronization task on the cloud computing platform based on the manual review result.
[0066] Resource information may include resource ID and resource fields, etc.
[0067] For a certain resource management event, if all subtasks are completed, the corresponding main task will also be completed. If the main task is completed, it means that all resources of the cloud provider have been acquired.
[0068] In this embodiment, the unified resource management system will set the main task to "end" after all sub-tasks for a certain cloud vendor have been completed.
[0069] In this embodiment, the resource information of the cloud vendor corresponding to the completed main task in the cloud computing platform can be compared with the resource information returned by the adaptation layer, and the comparison results can be classified.
[0070] Optionally, the classification results may include information update, information deletion, and information addition synchronization, etc.
[0071] If a certain resource ID exists on both the cloud computing platform and the cloud vendor's end, then it is determined that both the cloud computing platform and the cloud vendor's end store the corresponding resource. Further, the resource fields under that resource ID are compared. If they match, the resource is considered consistent, and no information update synchronization task needs to be performed on the cloud computing platform. If some resource fields are inconsistent, then an information update synchronization task is performed on the cloud computing platform based on the resource information corresponding to the cloud vendor.
[0072] For resources that exist on the cloud computing platform but not on the cloud vendor's end, a manual review request is generated based on the comparison results, and a decision is made based on the manual review results to determine whether to perform an information deletion synchronization task on the cloud computing platform.
[0073] For resources that do not exist on the cloud computing platform but exist on the cloud vendor's end, determine whether to initiate a manual review request based on the resource type; if no manual review request is initiated, perform an information addition synchronization task on the cloud computing platform based on the resource information corresponding to the cloud vendor; if a manual review request is initiated, determine whether to perform an information addition synchronization task on the cloud computing platform based on the manual review result.
[0074] This invention, in its embodiments, sends resource acquisition requests to the adaptation layers corresponding to the deployment regions of various cloud vendors. Based on these requests, the adaptation layers call the application programming interface (API) of the cloud vendors to obtain resource information, thus masking the differences in resource management APIs among different cloud vendors. The resource information from each cloud vendor in the cloud computing platform is compared with the resource information returned by the adaptation layers. Based on the comparison results, an information synchronization task is performed on the cloud computing platform. This enables unified management of resource information from multiple cloud vendors, resolving inconsistencies between the underlying cloud platform and the cloud computing platform caused by adding or deleting resources. Furthermore, it boasts strong scalability; when adding a new cloud vendor, only the corresponding adaptation layer needs to be added for automatic adaptation.
[0075] Example 2
[0076] Figure 2a This is a flowchart of an information synchronization method for a cloud computing platform provided in Embodiment 2 of the present invention. This embodiment further optimizes the step of "performing an information synchronization task on the cloud computing platform based on the comparison results." Terms identical to those in the above embodiments are not repeated here. Figure 2a As shown, the method includes:
[0077] S210 generates several resource management events based on the resource management task and sends the resource management events to the event bus.
[0078] S211, obtain resource management events on the event bus through the event adapter.
[0079] S212, the event adapter corresponding to the resource management event generates a main task and several sub-tasks according to the cloud vendor type. There is a corresponding relationship between the main task and the sub-tasks of the same cloud vendor type. The main task listens to the running status of the corresponding sub-tasks. The sub-tasks correspond to the adaptation layer of the cloud vendor's deployment area.
[0080] S213, For each subtask, send a resource acquisition request to the adaptation layer of the corresponding deployment area through the current subtask.
[0081] S214 receives resource acquisition requests through the adaptation layer and calls the application programming interface (API) of the cloud vendor to obtain the corresponding resource information from the cloud vendor.
[0082] S215 encapsulates task information and resource information returned by the cloud vendor in a preset format through an adaptation layer.
[0083] S216: Classify and store the encapsulated resource information according to the resource type, and end the corresponding subtask according to the encapsulated task information.
[0084] S217 compares the resource information of each cloud vendor in the cloud computing platform with the resource information returned by the adaptation layer.
[0085] S218, triggers a resource information synchronization task based on the comparison results.
[0086] In this embodiment, the comparison results can be categorized. In the categorized results, resource management tasks to smooth out differences can be automatically initiated on the cloud computing platform for types that do not require manual review. For types that require manual review, they can be sent to the system administrator through the unified resource management system. After the system administrator reviews and confirms, the resource management task can be manually initiated on the front-end page.
[0087] The information synchronization task can be initiated automatically by the unified resource management system, or it can be initiated manually via a click on the front-end page after review. Regardless of the initiation method, the task initiator is always the unified resource management system.
[0088] S219: When the user who owns the resource is a registered user of the cloud computing platform, register the user's assets.
[0089] In this embodiment, after the task is initiated, it is necessary to verify whether the user to whom the resource belongs already exists on the cloud management platform. If the user does not exist, the system administrator will be notified to create the user; if the user exists, the user's assets will be registered.
[0090] S220, for information update-type synchronization tasks, updates inconsistent resource fields in the cloud computing platform based on the resource information corresponding to the cloud vendor's side.
[0091] In this embodiment, for information update synchronization tasks, if the user to which the resource belongs is a registered user of the cloud computing platform, then the inconsistent resource fields in the cloud computing platform are updated according to the resource information corresponding to the cloud vendor.
[0092] S221, for information deletion synchronization tasks, remove resources from the user's name and restore the user's quota, and update the user's assets based on the restored user quota.
[0093] Among them, restoring user quotas can be the quotas occupied by the removed resources.
[0094] In this embodiment, resources can be understood as storage resources such as disk space. For information deletion synchronization tasks, if the user to whom the resource belongs is a registered user of the cloud computing platform, the storage space is removed from the user's name and the user's quota is restored. The user's storage space is then updated according to the restored user quota.
[0095] S222, for information addition synchronization tasks, deduct user quota and register resources under the user's name, and update the user's assets according to the deducted user quota.
[0096] The deduction of user quota can be the quota occupied by newly added resources.
[0097] In this embodiment, for newly added synchronization tasks, if the user to whom the resource belongs is a registered user of the cloud computing platform, the corresponding user quota will be deducted simultaneously and the resource will be registered under the user's name. If the quota deduction fails, the system administrator will be notified.
[0098] In this embodiment, once the information synchronization task is completed, the resource can be truly integrated into the cloud computing platform, and users can operate the resource on the platform.
[0099] The flowchart for the specific implementation of the information synchronization task method in this embodiment can be seen as follows: Figure 2b As shown:
[0100] S21 is an information synchronization task initiated by the cloud computing platform through manual review.
[0101] S21, or, the information synchronization task is automatically initiated by the unified resource management system.
[0102] S22, where the unified resource management system acts as the initiator of the information synchronization task, sends the information synchronization task to the cloud computing platform.
[0103] S23, the cloud computing platform determines whether the user who owns the resource is a registered user of the cloud computing platform. If so, proceed to S24; otherwise, proceed to S26.
[0104] S24, register the user's assets and deduct / restore the user's quota.
[0105] S25, the cloud computing platform determines whether the deduction / restoration of user quota was successful. If not, proceed to S26; if yes, proceed to S27.
[0106] S26, Notify the platform administrator.
[0107] S27, based on the judgment result, truly incorporate the resource into the cloud computing platform / remove it from the cloud computing platform.
[0108] S28, the results of resource management are registered by the unified resource management system.
[0109] This invention sends resource acquisition requests to the adaptation layers corresponding to the deployment regions of various cloud vendors; the adaptation layers, based on the resource acquisition requests, call the application programming interface (API) of the cloud vendors to obtain resource information; the resource information of each cloud vendor in the cloud computing platform is compared with the resource information returned by the adaptation layers, and an information synchronization task is performed on the cloud computing platform according to the comparison results. During the processing, the user information and quota of the resources are automatically verified and operated; it can realize unified management of resource information from multiple cloud vendors, and has strong scalability. When adding a new cloud vendor, only the corresponding adaptation layer needs to be added to achieve automatic adaptation.
[0110] Example 3
[0111] Figure 3 This is a flowchart illustrating another information synchronization method for a cloud computing platform provided in Embodiment 3 of the present invention. Figure 3 As shown, the method includes:
[0112] S301, a scheduled task trigger service initiates one or more resource management tasks at a certain time.
[0113] S302, the unified resource management system generates different resource management events according to the resource management task type, and sends the resource management events to the event bus.
[0114] S303 generates a main task and several sub-tasks through the event adapter corresponding to the resource management event, and initiates a resource acquisition request to the adaptation layer.
[0115] S304, the adaptation layer receives resource acquisition requests, records resource management task information, and calls the application programming interface (API) of the cloud vendor.
[0116] S305, cloud vendors obtain the corresponding resource API.
[0117] S306 encapsulates task information and resource information returned by cloud vendors into a unified format through an adaptation layer.
[0118] S307 monitors the running status of the corresponding subtasks through the main task and receives the results returned by the adaptation layer.
[0119] S308 distinguishes resource types based on task ID and places resource information of different resource types into different data tables.
[0120] S309: For a specific cloud provider, the main task terminates when it detects that all corresponding subtasks have ended.
[0121] S310 compares the resource information from various cloud vendors in the cloud computing platform with the resource information returned by the adaptation layer.
[0122] S311: Resource information exists on the cloud computing platform and in the cloud vendor's database, but some resource fields are inconsistent.
[0123] S3111 executes information update synchronization tasks on the cloud computing platform based on the resource information corresponding to the cloud vendor and records resource management task information.
[0124] S312: Resource information exists on the cloud computing platform, but not with the cloud vendor.
[0125] S3122, Generate a manual review request, and determine whether to perform an information deletion synchronization task on the cloud computing platform based on the manual review results.
[0126] S313: Resource information does not exist on the cloud computing platform, but it does exist in the cloud vendor's database.
[0127] S3133: Determine whether to initiate a manual review request based on the resource type. If yes, execute S3134; otherwise, execute S3135.
[0128] S3134, determine whether to perform a new information synchronization task on the cloud computing platform based on the results of manual review.
[0129] S3135, based on the resource information of the cloud vendor, performs a new type of synchronization task on the cloud computing platform.
[0130] S314: Resource information exists on both the cloud computing platform and the cloud vendor, and the resource fields are also consistent.
[0131] S3144, no need to initiate an information synchronization task.
[0132] S315, determine whether to initiate a synchronization task to smooth out differences based on the results of manual review.
[0133] This embodiment uses a unified resource management system to compare the data returned by the adaptation layer with the data from the cloud computing platform to generate a difference comparison result. Differences that do not require manual review can be handled automatically. Differences requiring manual review can be displayed on the front end for manual processing. This enables unified management of resource information from multiple cloud vendors and has strong scalability. When adding a new cloud vendor, only the corresponding adaptation layer needs to be added to achieve automatic adaptation.
[0134] Example 4
[0135] Figure 4 This is a schematic diagram of the structure of an information synchronization device for a cloud computing platform provided in Embodiment 3 of the present invention. Figure 4 As shown, the device includes: an event generation module 410, a request sending module 420, an information acquisition module 430, and an information synchronization module 440.
[0136] Among them, the event generation module 410 is used to generate a number of resource management events according to the resource management task and send the resource management events to the event bus.
[0137] The request sending module 420 is used to obtain resource management events on the event bus through the event adapter, and send resource acquisition requests to the corresponding adaptation layers of each cloud vendor's deployment area according to the resource management events.
[0138] Information acquisition module 430 is used to obtain resource information by calling the application programming interface (API) of the cloud vendor based on the resource acquisition request through the adaptation layer;
[0139] The information synchronization module 440 is used to compare the resource information of each cloud vendor in the cloud computing platform with the resource information returned by the adaptation layer, and perform an information synchronization task on the cloud computing platform based on the comparison result.
[0140] Optionally, the request sending module 420 is specifically used to generate a main task and several sub-tasks according to the cloud vendor type through the event adapter corresponding to the resource management event. The main task and sub-tasks of the same cloud vendor type have a corresponding relationship. The main task listens to the running status of the corresponding sub-tasks through the main task. The sub-tasks correspond to the adaptation layer corresponding to the cloud vendor's deployment area.
[0141] For each subtask, a resource acquisition request is sent to the adaptation layer of the corresponding deployment area through the current subtask.
[0142] Optionally, the request sending module 420 is specifically used for:
[0143] The adaptation layer receives resource acquisition requests and calls the application programming interface (API) of the cloud vendor to obtain the corresponding resource information from the cloud vendor.
[0144] The adaptation layer encapsulates the task information and the resource information returned by the cloud vendor according to a preset format.
[0145] The encapsulated resource information is categorized and stored according to resource type, and the corresponding subtask is terminated based on the encapsulated task information.
[0146] Optionally, the request sending module 420 is specifically used to end the main task when the main task listens to the completion of all corresponding subtasks, and compare the resource information of the cloud vendor corresponding to the completed main task in the cloud computing platform with the resource information returned by the adaptation layer.
[0147] For resources that exist on both the cloud computing platform and the cloud vendor's end, if some resource fields are inconsistent, an information update synchronization task will be performed on the cloud computing platform based on the resource information corresponding to the cloud vendor.
[0148] For resources that exist on the cloud computing platform but not on the cloud vendor's end, a manual review request is generated based on the comparison results, and a decision is made based on the manual review results whether to perform an information deletion synchronization task on the cloud computing platform.
[0149] For resources that do not exist on the cloud computing platform but exist on the cloud vendor's end, determine whether to initiate a manual review request based on the resource type.
[0150] Without initiating a manual review request, the cloud computing platform performs a new information synchronization task based on the resource information of the cloud vendor.
[0151] If a manual review request is initiated, the system will determine whether to perform a new information synchronization task on the cloud computing platform based on the results of the manual review.
[0152] Optionally, a request sending module is used to trigger a resource information synchronization task based on the comparison results;
[0153] If the user who owns the resource is a registered user of the cloud computing platform, register the user's assets;
[0154] For information update synchronization tasks, inconsistent resource fields in the cloud computing platform are updated based on the resource information corresponding to the cloud vendor's end.
[0155] For information deletion synchronization tasks, resources are removed from the user's name and the user's quota is restored. The user's assets are then updated based on the restored user quota.
[0156] For information addition synchronization tasks, deduct user quota and register resources under the user's name, and update the user's assets according to the deducted user quota.
[0157] Optionally, the request sending module 420 is specifically used to read resource management events on the event bus through the current event adapter for each event adapter;
[0158] Based on the event type of the resource management event, determine whether the read resource management event is the resource management event corresponding to the current event adapter;
[0159] If so, then generate a corresponding number of subtasks and one main task based on the number of deployment regions on the cloud vendor side corresponding to the resource management event;
[0160] Otherwise, return to execution and read the resource management event on the event bus through the current event adapter.
[0161] Optionally, the event generation module 410 is specifically used to obtain the resource management task and parse the resource management task to obtain the cloud vendor type and resource type.
[0162] Resource management events are generated based on the cloud vendor type and resource type, and each resource management event is sent to the event bus according to the generation time.
[0163] The information synchronization device for the cloud computing platform provided in this embodiment of the invention can execute the information synchronization method for the cloud computing platform provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method.
[0164] Example 5
[0165] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0166] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0167] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0168] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as information synchronization methods for cloud computing platforms.
[0169] In some embodiments, the information synchronization method of the cloud computing platform can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the information synchronization method of the cloud computing platform described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the information synchronization method of the cloud computing platform by any other suitable means (e.g., by means of firmware).
[0170] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0171] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0172] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0173] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0174] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0175] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0176] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0177] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method for information synchronization of a cloud computing platform, characterized in that, include: Obtain the resource management task, and parse the resource management task to obtain the cloud vendor type and resource type; Resource management events are generated based on the cloud vendor type and resource type, and each resource management event is sent to the event bus according to the generation time. The resource management event on the event bus is obtained through the event adapter; The event adapter corresponding to the resource management event generates a main task and several sub-tasks according to the cloud vendor type. The main task and sub-tasks of the same cloud vendor type have a corresponding relationship. The main task listens to the running status of the corresponding sub-tasks. The sub-tasks correspond to the adaptation layer corresponding to the cloud vendor's deployment area. For each subtask, a resource acquisition request is sent to the corresponding deployment area's adaptation layer through the current subtask. The adaptation layer receives resource acquisition requests and calls the application programming interface (API) of the cloud vendor to obtain the corresponding resource information from the cloud vendor. The adaptation layer encapsulates the task information and the resource information returned by the cloud vendor according to a preset format. The encapsulated resource information is classified and stored according to the resource type, and the corresponding subtask is terminated according to the encapsulated task information. The resource information of each cloud vendor in the cloud computing platform is compared with the resource information returned by the adaptation layer. Based on the comparison result, an information synchronization task is performed on the cloud computing platform, including: when the main task detects that all corresponding subtasks have ended, the main task is terminated, and the resource information of the cloud vendor corresponding to the terminated main task in the cloud computing platform is compared with the resource information returned by the adaptation layer. For resources that exist on both the cloud computing platform and the cloud vendor's end, if some resource fields are inconsistent, an information update synchronization task will be performed on the cloud computing platform based on the resource information corresponding to the cloud vendor. For resources that exist on the cloud computing platform but not on the cloud vendor's end, a manual review request is generated based on the comparison results, and a decision is made based on the manual review results whether to perform an information deletion synchronization task on the cloud computing platform. For resources that do not exist on the cloud computing platform but exist on the cloud vendor's end, determine whether to initiate a manual review request based on the resource type. Without initiating a manual review request, the cloud computing platform performs a new information synchronization task based on the resource information of the cloud vendor. If a manual review request is initiated, the system will determine whether to perform a new information synchronization task on the cloud computing platform based on the results of the manual review.
2. The method of claim 1, wherein, The step of performing an information synchronization task on the cloud computing platform based on the comparison results includes: Trigger a resource information synchronization task based on the comparison results; If the user who owns the resource is a registered user of the cloud computing platform, register the user's assets; For information update synchronization tasks, inconsistent resource fields in the cloud computing platform are updated based on the resource information corresponding to the cloud vendor's end. For information deletion synchronization tasks, resources are removed from the user's name and the user's quota is restored. The user's assets are then updated based on the restored user quota. For information addition synchronization tasks, deduct user quota and register resources under the user's name, and update the user's assets according to the deducted user quota.
3. The method of claim 1, wherein, The process of generating a main task and several sub-tasks based on the cloud vendor type using the event adapter corresponding to the resource management event includes: For each event adapter, read the resource management events on the event bus through the current event adapter; Based on the event type of the resource management event, determine whether the read resource management event is the resource management event corresponding to the current event adapter; If so, then generate a corresponding number of subtasks and one main task based on the number of deployment regions on the cloud vendor side corresponding to the resource management event; Otherwise, return to execution and read the resource management event on the event bus through the current event adapter.
4. The method of claim 1, wherein, The process of generating several resource management events based on the resource management task and sending these events to the event bus includes: Obtain the resource management task, and parse the resource management task to obtain the cloud vendor type and resource type; Resource management events are generated based on the cloud vendor type and resource type, and each resource management event is sent to the event bus according to the generation time.
5. An information synchronization apparatus of a cloud computing platform, characterized by comprising: include: The event generation module is used to obtain resource management tasks and parse the resource management tasks to obtain the cloud vendor type and resource type. Resource management events are generated based on the cloud vendor type and resource type, and each resource management event is sent to the event bus according to the generation time. The request sending module is used to obtain resource management events on the event bus through the event adapter, generate a main task and several sub-tasks according to the cloud vendor type through the event adapter corresponding to the resource management event, and there is a correspondence between the main task and the sub-tasks of the same cloud vendor type. The main task listens to the running status of the corresponding sub-tasks, wherein the sub-tasks correspond to the adaptation layer corresponding to the cloud vendor deployment area; for each sub-task, a resource acquisition request is sent to the adaptation layer of the corresponding deployment area through the current sub-task. The information acquisition module is used to receive resource acquisition requests through the adaptation layer, call the application programming interface (API) of the cloud vendor to obtain the corresponding resource information from the cloud vendor; encapsulate the task information and the resource information returned by the cloud vendor according to a preset format through the adaptation layer; classify and store the encapsulated resource information according to the resource type; and end the corresponding subtask according to the encapsulated task information. The information synchronization module is used to compare the resource information of each cloud vendor in the cloud computing platform with the resource information returned by the adaptation layer, and perform an information synchronization task on the cloud computing platform based on the comparison result. The information synchronization template is specifically used to: terminate the main task when the main task detects that all corresponding subtasks have ended; compare the resource information of the cloud vendor corresponding to the completed main task in the cloud computing platform with the resource information returned by the adaptation layer; for resources that exist on both the cloud computing platform and the cloud vendor's side, if some resource fields are inconsistent, perform an information update synchronization task on the cloud computing platform based on the resource information corresponding to the cloud vendor; for resources that exist on the cloud computing platform but not on the cloud vendor's side, generate a manual review request based on the comparison result, and determine whether to perform an information deletion synchronization task on the cloud computing platform based on the manual review result; for resources that do not exist on the cloud computing platform but exist on the cloud vendor's side, determine whether to initiate a manual review request based on the resource type; if no manual review request is initiated, perform an information addition synchronization task on the cloud computing platform based on the resource information corresponding to the cloud vendor; if a manual review request is initiated, determine whether to perform an information addition synchronization task on the cloud computing platform based on the manual review result.
6. An electronic device, comprising: The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the information synchronization method of the cloud computing platform according to any one of claims 1-4.
7. A computer readable storage medium characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the information synchronization method of the cloud computing platform according to any one of claims 1-4.
Citation Information
Patent Citations
Resource synchronization method and system for multiple cloud platforms, and electronic equipment
CN113596128A