Processing system, processing method, device and equipment based on cluster federation
By introducing common interfaces and resource distribution mechanisms into the cluster federation, the flexible deployment problem of different types of middleware clusters within the cluster federation is solved, efficient and accurate middleware operation and data processing are achieved, and the stability and availability of the cluster federation are improved.
Patent Information
- Application Number
- CN202411832566.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-05-13
AI Technical Summary
The existing cluster federated processing method cannot flexibly deploy clusters of different types of cloud-native middleware, and there are data processing limitations.
By providing a common interface to support the deployment of any middleware cluster in the management and control cluster, the federated deployment information of the middleware cluster is obtained, and based on this information and the resource deployment information of each computing cluster, the distribution path of middleware resources is determined to realize the flexible distribution and deployment of middleware resources.
It realizes efficient and accurate operation of different middleware clusters within the cluster federation, breaks the data processing limitations of the cluster federation for different middleware clusters, and improves operation stability and high availability.
Smart Images

Figure CN119987996A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of data processing technology, and specifically to a processing system and processing method, apparatus and device based on cluster federation. Background Art
[0002] Cluster technology refers to a group of computers that are interconnected through a network but are independent of each other. Through collaborative work, they can be presented as a single computing resource for users to use, and can obtain high-performance, high-reliability and high-flexibility data processing capabilities at a relatively low cost. However, there is a certain upper limit to the data processing scale of a single cluster, and it will face great challenges in terms of data consistency, data persistence, disaster recovery, and fault recovery.
[0003] Therefore, a single cluster can manage multiple clusters in a unified manner to build a corresponding cluster federation, so as to efficiently process large amounts of cloud data. However, the current cluster federation processing method cannot flexibly deploy clusters of different types of cloud native middleware, and has certain data processing limitations. Summary of the invention
[0004] The embodiments of the present application provide a processing system and processing method, apparatus and equipment based on cluster federation, which realizes the flexible distribution and deployment of different middleware clusters on each single cluster within the cluster federation, ensures the efficient and accurate operation of different middleware clusters within the cluster federation, and breaks the data processing limitations of the cluster federation on different middleware clusters.
[0005] In a first aspect, an embodiment of the present application provides a processing system based on cluster federation, the processing system comprising: a management and control cluster and multiple computing clusters, the management and control cluster providing a general interface supporting the deployment of any middleware cluster; wherein,
[0006] The control cluster obtains the federated deployment information of the middleware cluster through the universal interface, and determines the middleware resources distributed by the middleware cluster to each of the computing clusters according to the federated deployment information and the resource deployment information of each of the computing clusters, wherein the middleware resources include resource instances;
[0007] The resource instance is run on each of the computing clusters.
[0008] In a second aspect, an embodiment of the present application provides a processing method based on cluster federation, the processing method comprising:
[0009] Get the federated deployment information of any middleware cluster;
[0010] Determine a middleware resource distribution path of the middleware cluster toward the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation;
[0011] According to the middleware resource distribution path, a resource instance of the middleware resource is run.
[0012] In a third aspect, an embodiment of the present application provides a processing device based on cluster federation, the processing device comprising:
[0013] Cluster information acquisition module, used to obtain the federated deployment information of any middleware cluster;
[0014] A middleware resource distribution module, configured to determine a middleware resource distribution path of the middleware cluster toward the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation;
[0015] The middleware resource running module is used to run the resource instance of the middleware resource according to the middleware resource distribution path.
[0016] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising:
[0017] A processor and a memory, wherein the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute the cluster federation-based processing method provided in the second aspect of the present application.
[0018] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program enables a computer to execute a processing method based on cluster federation as provided in the second aspect of the present application.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements a cluster federation-based processing method as provided in the second aspect of the present application.
[0020] The technical solution provided by the embodiment of the present application first obtains the federated deployment information of different middleware clusters facing the cluster federation. Then, by analyzing the federated deployment information of the middleware cluster and the resource deployment information of each single cluster in the cluster federation, the middleware resources distributed by the middleware cluster to each single cluster in the cluster federation are determined, so that each single cluster can run the resource instance of the middleware resources distributed to it, thereby realizing the flexible distribution and deployment of different middleware clusters on each single cluster in the cluster federation, preventing the middleware resources of a certain middleware cluster from being distributed to an unsuitable single cluster in the cluster federation and causing the problem of middleware cluster operation failure, ensuring the efficient and accurate operation of different middleware clusters in the cluster federation, breaking the data processing limitations of the cluster federation on different middleware clusters, and improving the operation stability and high availability of the cluster federation for different middleware clusters. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1a and Figure 1b An existing exemplary schematic diagram of deploying a Redis cluster to a single computer room and a single cluster in multiple computer rooms respectively;
[0023] Figure 2 A schematic diagram of the principle of a processing system based on cluster federation provided in an embodiment of the present application;
[0024] Figure 3 A flowchart of a processing method based on cluster federation provided in an embodiment of the present application;
[0025] Figure 4 A flowchart of another processing method based on cluster federation provided in an embodiment of the present application;
[0026] Figure 5 A principle block diagram of a processing device based on cluster federation provided in an embodiment of the present application;
[0027] Figure 6 It is a schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0030] In order to clearly describe the specific operation of the middleware cluster in the cluster federation, we can first define the various terms involved in this application:
[0031] 1. Middleware cluster
[0032] Middleware is a type of software between application systems and system software. It uses the basic services (functions) provided by system software to connect various parts of the application system or different applications on the network, and can achieve the purpose of resource sharing and function sharing. Therefore, as an independent system software service program, middleware can be used by distributed application software to share resources between different technologies, manage computing resources and network communications.
[0033] Among them, cloud-native middleware can be basic software running on public cloud, private cloud, hybrid cloud and other environments, such as cloud-native cache, cloud-native message queue, etc. The cloud-native characteristics of cloud-native middleware enable it to better simplify the complexity of distributed systems in new dynamic operating environments such as the cloud, provide efficient resource management, improve scalability and reliability, and reduce operation and maintenance costs.
[0034] The middleware cluster may be a distributed cluster formed by dividing the middleware resources into multiple data slices, and storing each data slice on multiple distributed nodes in a data backup manner.
[0035] 2. Cluster Federation
[0036] Cluster technology refers to a group of computers that are interconnected through a network but independent of each other. Through collaborative work, they can be presented as a single computing resource for users to use, and can obtain high-performance, high-reliability and high-flexibility data processing capabilities at a relatively low cost. In other words, there can be multiple computing nodes in a single cluster that are interconnected through a network but independent of each other. Among them, each computing node in a single cluster can be in a single computer room or in multiple computer rooms. Moreover, a single cluster can be a Kubernetes cluster (abbreviated as K8s cluster). The K8s cluster is an open source platform for automated deployment, scaling and management of containerized applications. It can combine the containers that make up the application into logical units for easy management and service discovery.
[0037] Then, for any middleware cluster deployed in a single cluster, there are two cases: the middleware cluster is deployed in a single cluster in a single computer room and the middleware cluster is deployed in a single cluster in multiple computer rooms. Taking the middleware cluster as a Redis cluster as an example, considering the high availability requirements of the Redis cluster, each data shard in the Redis cluster can be stored in a master node (referred to as the Master node) and a slave node (referred to as the Slave node) in a data backup manner.
[0038] Then, when deploying the Redis cluster to a single cluster in a single computer room, Figure 1a As shown in the figure, the master and slave nodes after storing the same data shard in the Redis cluster should not fall on the same computing node of a single cluster, and the master nodes for storing each data shard should be as dispersed as possible. At this time, when a node in the Redis cluster fails, the Redis controller can control the Redis cluster to perform fault migration and data recovery in the deployed single cluster.
[0039] When deploying a Redis cluster to a single cluster in multiple computer rooms, Figure 1b As shown in the figure, the master and slave nodes after storing the same data shard in the Redis cluster should be placed on the computing nodes in different computer rooms as much as possible to realize the cross-computer room deployment of the Redis cluster under a single cluster. Thus, through the elasticity brought by the cross-computer room deployment under a single cluster, the Redis cluster can obtain computer room-level disaster recovery capabilities.
[0040] Therefore, whether it is a single cluster in a single computer room or a single cluster in multiple computer rooms, there will be a certain upper limit on the data processing scale, and if a single cluster becomes a failure point, all middleware clusters running on it will fail. Moreover, the deployment of a single cluster across computer rooms will also be limited by the relatively uncontrollable network conditions in each computer room (such as latency, bandwidth, packet loss rate, etc.).
[0041] Therefore, in order to solve the problems existing in the deployment of the above-mentioned middleware cluster in a single cluster, multiple physical single clusters can be formed into a logical cluster to build a corresponding cluster federation. The purpose of cluster federation is to implement a mechanism for a single cluster to uniformly manage multiple single clusters. Multiple single clusters within a cluster federation may be distributed in different geographical locations, different cloud service providers, or in local data centers. Cluster federation provides the ability to synchronize resources and discover services across clusters, so that the API (Application Program Interface, referred to as API) of cluster federation can be used to manage the API resources of multiple single clusters. Therefore, the goals of cluster federation can be as follows:
[0042] 1) Simplify the management of API resources of multiple single clusters within a cluster federation.
[0043] 2) Distribute workloads (containers) across multiple single clusters within a cluster federation to improve the reliability of applications (services).
[0044] 3) Applications (services) can be migrated more quickly and easily between different single clusters within the cluster federation.
[0045] 4) Cross-cluster service discovery: services can be accessed locally to reduce service response latency.
[0046] 5) Practice multi-cloud or hybrid cloud deployment.
[0047] 3. Karmada Cluster Federation
[0048] Karmada Cluster Federation is a mainstream open source project that implements a cluster federation mechanism for multiple K8s clusters.
[0049] Taking the Karmada architecture as an example, each independent K8s cluster can be registered with the Karmada control plane to make it part of the Karmada cluster federation. Users can create resource templates that may be required by each K8s cluster to define the native resource objects of the middleware application that they want to deploy to the K8s cluster. The distribution rules of various middleware resources in any middleware cluster are defined through the multi-cloud scheduling policy (PropagationPolicy) and the overlay policy (Override Policy) to specify which middleware resources need to be distributed across which K8s clusters, and the number of copies of the middleware resources on each K8s cluster. As a result, the Karmada cluster federation can distribute the created resource templates to the target K8s cluster according to the distribution rules of various middleware resources in any middleware cluster defined by the multi-cloud scheduling policy (PropagationPolicy) and the overlay policy (Override Policy). The scheduler of the Karmada cluster federation can schedule various middleware resources in the middleware cluster to the corresponding K8s cluster according to the distribution rules, and start the corresponding resource instances in the K8s cluster.
[0050] However, due to the differences in cluster architecture, operating principles, and high-availability deployment solutions of different types of middleware, Karmada cluster federation cannot flexibly deploy clusters of different types of middleware, and there are certain data processing limitations.
[0051] Next, the present application may provide a detailed explanation of a specific deployment implementation scheme for deploying different middleware clusters based on cluster federation.
[0052] Considering that the current cluster federation processing method cannot flexibly deploy clusters of different types of cloud native middleware, and there are certain data processing limitations, the embodiment of the present application designs a new solution for flexible deployment of different middleware clusters based on cluster federation, supporting the management and control cluster in the cluster federation to obtain the federation deployment information of the middleware cluster by deploying the common interface of any middleware cluster. Therefore, by analyzing the federation deployment information of the middleware cluster and the resource deployment information of each single cluster in the cluster federation, it is possible to determine the middleware resources distributed by the middleware cluster to each single cluster in the cluster federation, so that each single cluster can run the resource instance of the middleware resources distributed to it, and realize the flexible distribution and deployment of different middleware clusters on each single cluster in the cluster federation, preventing the middleware resources of a certain middleware cluster from being distributed to an unsuitable single cluster in the cluster federation, causing the problem of middleware cluster operation failure, and breaking the data processing limitations of cluster federation on different middleware clusters.
[0053] Figure 2The schematic diagram of the principle of a processing system based on cluster federation provided in the embodiment of the present application. Figure 2 As shown, the cluster federation-based processing system may include a management and control cluster 210 and multiple computing clusters 220 .
[0054] The management and control cluster 210 provides a general interface that supports the deployment of any middleware cluster.
[0055] Specifically, the management and control cluster 210 obtains the federated deployment information of the middleware cluster through a common interface, and determines the middleware resources distributed by the middleware cluster to each computing cluster 220 based on the federated deployment information and the resource deployment information of each computing cluster 220. The middleware resources may include resource instances; and runs the resource instances on each computing cluster 220.
[0056] It is understandable that the purpose of cluster federation is to realize a mechanism for a single cluster to uniformly manage multiple single clusters. That is, a single cluster within the cluster federation will have the function of uniformly controlling other single clusters. Then, the control cluster 210 in the present application can be a single cluster with a unified control function set within the cluster federation. Each computing cluster 220 can be other single clusters that do not have a unified control function within the cluster federation, but support corresponding data processing operations on various middleware resources in each middleware cluster deployed within the cluster federation.
[0057] Among them, middleware, as a type of software between application systems and system software, uses the basic services (functions) provided by system software to connect various parts of application systems or different applications on the network, and can achieve the purpose of resource sharing and function sharing. Then, middleware resources can be multimedia resources such as relevant network data, communication messages, etc. in each application system connected, and can include but are not limited to various network resources such as text materials, image materials, audio and video data. Therefore, the middleware cluster can be a distributed cluster composed of dividing the middleware resources into multiple data slices, and storing each data slice on multiple distributed nodes in a data backup manner.
[0058] Therefore, in order to ensure the accurate deployment of the middleware cluster within the cluster federation, the present application can set a common interface for each type of middleware cluster within the management and control cluster 210. The common interface can support the management and control cluster 210 to call the federation deployment information configured by the front end for any type of middleware cluster through the common interface.
[0059] It should be noted that the federated deployment information of any middleware cluster can be manually configured by the user on the front-end page. When the front-end detects the user's deployment configuration operation for any middleware cluster, the corresponding deployment configuration page will first be displayed to the user. The deployment configuration page is provided with input boxes for various resource scheduling demand information such as the number of data shards after the middleware resources are segmented, the master-slave node information when the data shards are stored, the upper limit of the number of central processing units (CPUs) required to participate in the calculation, and the upper limit of the memory required. In this way, the user can configure the federated deployment information of the middleware cluster by entering the specific values of the relevant resource scheduling demand information in the above-mentioned input boxes displayed in the deployment configuration page of any middleware cluster.
[0060] Then, for the deployment of any middleware cluster in the cluster federation, the management and control cluster 210 can first obtain the configured federation deployment information of the middleware cluster from the front end through the general interface provided by it. Then, the management and control cluster 210 can parse the federation deployment information of the middleware cluster to determine the relevant scheduling requirement information that various middleware resources in the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation.
[0061] Moreover, for the deployment of any middleware cluster in the cluster federation, it is mainly necessary to deploy various middleware resources in the middleware cluster to the corresponding computing cluster 220, so that each computing cluster 220 performs corresponding data processing operations on various middleware resources. It can be seen that in order to ensure the accurate deployment of the middleware cluster in the cluster federation, in addition to referring to the federation deployment information of the middleware cluster to determine the relevant scheduling demand information that the various middleware resources in the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation, this application also needs to analyze the resource deployment information of each computing cluster 220 in the cluster federation to determine the specific operating load of each computing cluster 220 for the middleware cluster that needs to be deployed this time.
[0062] Specifically, for each computing cluster 220 within the cluster federation, the management and control cluster 210 within the cluster federation can analyze the resource quantity information currently deployed in the computing cluster 220 by scheduling various resource usage information currently being executed in each computing cluster 220 to obtain the resource deployment information of each computing cluster 220.
[0063] Therefore, when the control cluster 210 obtains the federated deployment information of any middleware cluster, it can parse the federated deployment information of the middleware cluster to determine the relevant scheduling requirements that the various middleware resources in the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation, and can obtain the specific number of data shards after the middleware resources in the middleware cluster are divided, the master and slave node information when the data shards are stored, the upper limit of the number of CPUs required to participate in the calculation, the upper limit of the memory required to be occupied, and other resource scheduling requirements. Furthermore, the control cluster 210 can also analyze the various resource usage information currently deployed in each computing cluster 220 to determine the resource deployment information of each computing cluster 220, thereby determining the real-time load status of each computing cluster 220 that is currently running, and combining the overall load operation performance that each computing cluster 220 can support to run, to determine the additional load operation performance information that each computing cluster 220 can provide for the middleware cluster that needs to be deployed this time.
[0064] Then, the management and control cluster 210 comprehensively analyzes the relevant scheduling requirement information that needs to be met by various middleware resources in the middleware cluster to be deployed this time, as well as the additional load operating performance information that each computing cluster 220 can provide for the middleware cluster to be deployed this time, to determine the corresponding computing cluster 220 in which various middleware resources in the middleware cluster can achieve the optimal operating performance after deployment, thereby determining the corresponding middleware resources that the middleware cluster needs to distribute to each computing cluster 220 to complete the deployment.
[0065] At this time, in order to ensure the efficient operation of the distributed middleware resources by each computing cluster 220, the present application can pre-instantiate various middleware resources in the middleware cluster to obtain resource instances of each middleware resource. Among them, the resource instance of each middleware resource can be an executable object that has been allocated with dynamic memory for the middleware resource, so as to realize the efficient operation of the middleware resource. Then, after each computing cluster 220 receives the corresponding middleware resources distributed by the management and control cluster 210, each computing cluster 220 can start the resource instance of the corresponding middleware resources it receives, so as to efficiently operate the corresponding middleware resources distributed to each computing cluster 220, and realize the accurate deployment of the middleware cluster in the cluster federation.
[0066] As an optional implementation scheme in the present application, for the deployment of any middleware cluster in the cluster federation, in order to ensure that the control cluster 210 accurately implements a series of resource processing operations from obtaining the federation deployment information of the middleware cluster to accurately distributing the middleware resources in the middleware cluster, such as Figure 2As shown, the management and control cluster 210 in the present application may be provided with a federation controller 211 , a federation scheduler 212 and a cluster federation component 213 in addition to providing a general interface supporting the deployment of any middleware cluster.
[0067] Among them, the federation controller 211 supports the control cluster 210 in the cluster federation to control the overall deployment process of the core processing logic when deploying the middleware cluster, so as to be responsible for the global topology generation and decomposition of the middleware cluster when it is deployed in the cluster federation, and controls the complete life cycle of component creation, update, and deletion in each computing cluster 220. The general interface, the federation scheduler 212, and the cluster federation component 213 respectively support the execution of a step from obtaining the federation deployment information of the middleware cluster to distributing the middleware resources in the middleware cluster to each computing cluster 220. Therefore, the federation controller 211 in the control cluster 210 can communicate with the general interface, the federation scheduler 212, and the cluster federation component 213 respectively.
[0068] Specifically, the federation controller 211 can obtain the federation deployment information of the middleware cluster through a common interface, and create middleware resources for the middleware cluster facing a single computing cluster; the federation scheduler 212 can determine the middleware resources distributed by the middleware cluster to each computing cluster 220 based on the federation deployment information and the resource deployment information of each computing cluster 220; the cluster federation component 213 can distribute corresponding middleware resources to each computing cluster 220.
[0069] That is to say, the federal controller 211 in the management and control cluster 210 can obtain the federal deployment information of any middleware cluster by calling the general interface provided therein, so as to determine the relevant scheduling requirement information that needs to be met by various middleware resources in the middleware cluster when it is deployed to the cluster federation, and can obtain various resource scheduling requirement information such as the specific number of data shards after the middleware resources in the middleware cluster are divided, the master-slave node information when the data shards are stored, the upper limit of the number of CPUs required to participate in the calculation, the upper limit of the memory required to be occupied, etc.
[0070] Moreover, in order to achieve accurate distribution of various middleware resources within the middleware cluster to each computing cluster 220, the federal controller 211 within the management and control cluster 210 can also analyze the minimum resource processing performance of a single computing cluster 220 to determine how the complete middleware resources within the middleware cluster can be divided into middleware resources suitable for the minimum resource processing performance, thereby creating middleware resources for a single computing cluster 220 by correspondingly dividing the complete middleware resources within the middleware cluster.
[0071] Then, the federation controller 211 can forward the federation deployment information of any middleware cluster and the middleware resources of the middleware cluster facing a single computing cluster 220 to the federation scheduler 212. Then, the federation scheduler 212 can combine the additional load operation performance information that each computing cluster 220 can provide for the middleware cluster to be deployed this time, as indicated by the resource deployment information of each computing cluster 220, to comprehensively analyze the relevant scheduling demand information that needs to be met by various middleware resources in the middleware cluster to be deployed this time, so as to determine the corresponding computing cluster 220 that can achieve the optimal operation performance after different combinations of the middleware resources of the middleware cluster facing a single computing cluster 220, thereby determining the middleware resources distributed by the middleware cluster to each computing cluster 220.
[0072] It can be understood that the middleware resources distributed by the middleware cluster to different computing clusters 220 are resource sets obtained by combining the middleware resources of the middleware cluster for a single computing cluster 220 in different ways.
[0073] Therefore, after determining the middleware resources that the middleware cluster distributes to each computing cluster 220, the federation controller 211 can generate a specific resource distribution strategy for the middleware cluster and feed it back to the federation controller 211, so that the specific resource distribution strategy of the middleware cluster is forwarded to the cluster federation component 213 through the federation controller 211. Then, the cluster federation component 213 can distribute the corresponding middleware resources to each computing cluster 220 according to the specific resource distribution strategy of the middleware cluster, so as to subsequently realize the accurate deployment of the middleware cluster in the cluster federation.
[0074] In some implementations, after receiving the corresponding middleware resources distributed by the control cluster 210, each computing cluster 220 will start the resource instance of the corresponding middleware resources it has received, so as to efficiently run the corresponding middleware resources distributed to each computing cluster 220. Since the real-time load states of different computing clusters 220 are currently running are different, the amount of middleware resources distributed to different computing clusters 220 is also different, so that the specific running state of each computing cluster 220 running the distributed corresponding middleware resources is also different.
[0075] Then, in order to support users to intuitively understand the real-time operating status of the corresponding middleware resources distributed to each computing cluster 220, the present application can also set a user-oriented query interface on the cluster federation component 213 within the management and control cluster 210 to support users to initiate corresponding operating status query requests for the real-time operating status of the corresponding middleware resources distributed to each computing cluster 220 by calling the query interface on the front end.
[0076] Accordingly, after the cluster federation component 213 distributes the corresponding middleware resources to each computing cluster 220 according to the specific resource distribution strategy of the middleware cluster, each computing cluster 220 will start the resource instance of the corresponding middleware resources it receives to efficiently run the corresponding middleware resources distributed to each computing cluster 220. Then, each computing cluster 220 can also detect the real-time running status of the middleware resources on it in real time during the operation of the middleware resources, and feed it back to the cluster federation component 213. Thus, the cluster federation component 213 can receive the real-time running status of the middleware resources on each computing cluster 220. Then, when the cluster federation component 213 detects the running status query request initiated by the user by calling the query interface, it will aggregate the real-time running status of the middleware resources on each computing cluster 220, and by calling the query interface, the specific aggregation of the real-time running status of the middleware resources on each computing cluster 220 is displayed in the front-end page, thereby displaying the running status of the middleware resources on each computing cluster 220 to the user, so that the user can intuitively and effectively understand the real-time running status of the middleware resources of each computing cluster 220.
[0077] In addition, considering that the cluster federation mainly controls each computing cluster 220 through the control cluster 210 to achieve accurate deployment of the middleware cluster in the cluster federation, if there is only one control cluster 210 in the cluster federation, if the control cluster 210 fails, the entire cluster federation will fail and the deployment of the middleware cluster cannot be completed. Figure 2 As shown, the control cluster 210 in the present application can be set up with two or more, and the main control cluster and the backup control cluster are determined by cross-cluster master election, so that the main control cluster can be responsible for the entire deployment process of the middleware cluster in the cluster federation in the future.
[0078] For each computing cluster 220, it is mainly used to run the resource instances of the corresponding middleware resources distributed on each computing cluster 220. Figure 2 As shown, each computing cluster 220 in the present application may be provided with a middleware controller 221. Thus, the middleware controller 221 on each computing cluster 220 may receive the middleware resources distributed by the management and control cluster 210, and run the resource instance of the middleware resources to be responsible for the specific operation functions of the corresponding middleware resources distributed on the computing cluster 220.
[0079] The technical solution provided by the embodiment of the present application can support the control cluster in the cluster federation to obtain the federation deployment information of the middleware cluster by deploying the general interface of any middleware cluster. Therefore, the control cluster analyzes the federation deployment information of the middleware cluster and the resource deployment information of each computing cluster in the cluster federation to determine the middleware resources distributed by the middleware cluster to each computing cluster in the cluster federation, so as to run the resource instance of the middleware resources distributed to it through each computing cluster, realize the flexible distribution and deployment of different middleware clusters in the cluster federation, prevent the middleware resources of a certain middleware cluster from being distributed to an unsuitable computing cluster in the cluster federation and cause the problem of middleware cluster operation failure, ensure the efficient and accurate operation of different middleware clusters in the cluster federation, break the data processing limitations of the cluster federation on different middleware clusters, and improve the operation stability and high availability of the cluster federation for different middleware clusters.
[0080] Figure 3 A flowchart of a processing method based on cluster federation provided in an embodiment of the present application. The method can be executed by a processing device based on cluster federation provided in the present application. Among them, the processing device based on cluster federation can be implemented by any software and / or hardware. Exemplarily, the processing device based on cluster federation can be applied to any electronic device, and the electronic device may include but is not limited to tablet computers, mobile phones (such as folding screen mobile phones, large screen mobile phones, etc.), wearable devices, vehicle-mounted devices, laptops, ultra-mobile personal computers (ultra-mobile personal computers, UMPC), netbooks, personal digital assistants (personal digital assistants, PDA), smart TVs, smart screens, high-definition TVs, 4K TVs, smart speakers, smart projectors and other types of computing devices. The present disclosure does not impose any restrictions on the specific types of electronic devices.
[0081] Specifically, Figure 3 As shown, the method may include the following steps:
[0082] S310, obtaining federated deployment information of any middleware cluster.
[0083] It is understandable that by forming multiple physical single clusters into a logical single cluster, a corresponding cluster federation can be constructed, and the purpose of the cluster federation is to realize a mechanism for a single cluster to uniformly manage multiple single machine clusters. Multiple single clusters within a cluster federation may be distributed in different geographical locations, different cloud service providers, or in a local data center. Then, for the deployment of any middleware cluster within a cluster federation, this application mainly deploys various middleware resources within the middleware cluster to each single cluster within the cluster federation, so that each single cluster within the cluster federation performs corresponding data processing operations on the corresponding middleware resources deployed thereon, thereby realizing efficient operation of various middleware resources within the middleware cluster.
[0084] Among them, middleware, as a type of software between the application system and the system software, can use the basic services (functions) provided by the system software to connect various parts of the application system or different applications on the network, so as to achieve the purpose of resource sharing and function sharing. Then, the middleware resources can be multimedia resources such as relevant network data, communication messages, etc. in each connected application system, and can include but not limited to various network resources such as text materials, image materials, audio and video data. Therefore, the middleware cluster can be a distributed cluster composed of dividing the various middleware resources in it into multiple data slices, and storing each data slice on multiple distributed nodes in a data backup manner.
[0085] In this application, it is considered that there will be certain differences in various middleware resources within different types of middleware clusters, indicating that different types of middleware clusters will have different deployment scheduling requirements when deployed within the cluster federation. Therefore, in order to ensure the accurate deployment of any middleware cluster within the cluster federation, the cluster federation can provide a general interface that supports the deployment of any middleware cluster. Thus, this application can call the general interface through a single cluster within the cluster federation to obtain the federation deployment information pre-configured by the front end for any middleware cluster.
[0086] It should be noted that the federated deployment information of any middleware cluster can be manually configured by the user on the front-end page. When the front-end detects the user's deployment configuration operation for any middleware cluster, the corresponding deployment configuration page will first be displayed to the user. The deployment configuration page is provided with input boxes for various resource scheduling demand information such as the number of data shards after the middleware resources are segmented, the master-slave node information when the data shards are stored, the upper limit of the number of CPUs required to participate in the calculation, and the upper limit of the memory required. In this way, the user can configure the federated deployment information of the middleware cluster by entering the specific values of the relevant resource scheduling demand information in the above-mentioned input boxes displayed in the deployment configuration page of any middleware cluster.
[0087] Then, for the deployment of any middleware cluster in the cluster federation, the present application can firstly call the common interface provided by a single cluster in the federation cluster to obtain the configured federation deployment information of the middleware cluster from the front end. Then, by parsing the federation deployment information of the middleware cluster, the relevant scheduling requirement information that needs to be met by various middleware resources in the middleware cluster when it is deployed to the cluster federation can be determined.
[0088] S320 , determining a middleware resource distribution path of the middleware cluster towards the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation.
[0089] For the deployment of any middleware cluster in a cluster federation, it is mainly necessary to deploy various middleware resources in the middleware cluster to each single cluster in the cluster federation, so that each single cluster can perform corresponding data processing operations on the corresponding middleware resources deployed on it. The real-time load status of different single clusters in the cluster federation is also different.
[0090] It can be seen from this that in order to ensure the accurate deployment of the middleware cluster within the cluster federation, in addition to referring to the federation deployment information of the middleware cluster to determine the relevant scheduling requirement information that the various middleware resources within the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation, this application also needs to analyze the historical resource deployment status of each single cluster in the cluster federation after the deployment of various middleware clusters has been completed, in order to determine the resource deployment information of each single cluster in the cluster federation.
[0091] Specifically, the present application can determine the resource deployment information of each single cluster in the cluster federation by analyzing the usage information of various middleware resources in various middleware clusters currently running in each single cluster in the cluster federation, thereby indicating the specific operating load of each single cluster for the middleware cluster that needs to be deployed this time.
[0092] Therefore, after obtaining the federated deployment information of any middleware cluster, the present application can parse the federated deployment information of the middleware cluster to determine the relevant scheduling requirements that the various middleware resources in the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation, and can obtain the specific number of data shards after the middleware resources in the middleware cluster are divided, the master-slave node information when the data shards are stored, the upper limit of the number of CPUs required to participate in the calculation, the upper limit of the memory required to be occupied, and other resource scheduling requirements. Furthermore, the present application can also analyze the resource deployment information of each single cluster in the cluster federation to determine the real-time load status of each single cluster currently running in the cluster federation, and combine the overall load operation performance that each single cluster can support to determine the additional load operation performance information that each single cluster can provide for the middleware cluster that needs to be deployed this time.
[0093] Then, by comprehensively analyzing the relevant scheduling requirement information that needs to be met by various middleware resources in the middleware cluster to be deployed this time, as well as the additional load operating performance information that each single cluster in the cluster federation can provide for the middleware cluster to be deployed this time, it is determined on which single cluster in the cluster federation the various middleware resources in the middleware cluster need to be deployed in order to achieve the optimal operating performance, thereby determining the middleware resource distribution path of the middleware cluster to each single cluster in the cluster federation.
[0094] The middleware resource distribution path of the middleware cluster to each single cluster in the cluster federation can clearly indicate to which single cluster in the cluster federation various middleware resources in the middleware cluster need to be distributed.
[0095] S330: Run the resource instance of the middleware resource according to the middleware resource distribution path.
[0096] After determining the middleware resource distribution path of the middleware cluster to each single cluster in the cluster federation, the present application can parse the middleware resource distribution path to determine to which single cluster in the cluster federation the various middleware resources in the middleware cluster need to be distributed, thereby determining the corresponding middleware resources that the middleware cluster needs to distribute to each single cluster in the cluster federation to complete the deployment. Accordingly, the corresponding middleware resources that the middleware cluster needs to distribute to each single cluster in the cluster federation to complete the deployment can be distributed to the corresponding single cluster, so that each single cluster in the cluster federation can receive the corresponding middleware resources after the middleware cluster is distributed.
[0097] It is understandable that in order to ensure efficient operation of the distributed middleware resources by each single cluster in the cluster federation, the present application can pre-instantiate various middleware resources in the middleware cluster to obtain resource instances of each middleware resource. Among them, the resource instance of each middleware resource can be an executable object constructed for the middleware resource and allocated with dynamic memory to achieve efficient operation of the middleware resource.
[0098] Then, when each single cluster in the cluster federation receives the corresponding middleware resources distributed by the middleware cluster, each single cluster can start the resource instance of the corresponding middleware resources it receives to efficiently run the corresponding middleware resources distributed by each single cluster in the cluster federation, and realize the accurate deployment of the middleware cluster in the cluster federation.
[0099] In addition, since the real-time load states of different clusters in the cluster federation are different, the amounts of corresponding middleware resources distributed to different clusters are also different, so the specific operating states of each cluster in the cluster federation when running the distributed corresponding middleware resources are also different.
[0100] Then, in order to support users to intuitively understand the real-time operating status of each single cluster in the cluster federation for the corresponding middleware resources distributed, the present application can also obtain the resource operating status of the single cluster in the cluster federation; aggregate the resource operating status of each single cluster to show the user the resource operating status of each single cluster after aggregation.
[0101] That is to say, in order to ensure that each single cluster in the cluster federation can intuitively display the running status of the corresponding middleware resources distributed, the cluster federation can also provide a user-oriented query interface to support users to call the query interface on the front end to initiate corresponding running status query requests for the real-time running status of the corresponding middleware resources distributed on each single cluster in the cluster federation.
[0102] Accordingly, in the process of each single cluster within the cluster federation efficiently running the corresponding distributed middleware resources, the present application can also detect the real-time operating status of the middleware resources on each single cluster within the cluster federation in real time, thereby obtaining the resource operating status of each single cluster within the cluster federation.
[0103] Then, when the user initiates a query request for the running status by calling the query interface, the present application can aggregate the resource running status of each single cluster in the cluster federation to obtain the complete resource running status of each single cluster after aggregation. Then, by calling the query interface, the complete resource running status of each single cluster after aggregation is displayed on the front-end page, thereby showing the user the running status of the middleware resources on each single cluster in the cluster federation, so that the user can intuitively and effectively understand the real-time running status of each single cluster in the cluster federation for the middleware resources.
[0104] The technical solution provided by the embodiment of the present application first obtains the federated deployment information of different middleware clusters facing the cluster federation. Then, by analyzing the federated deployment information of the middleware cluster and the resource deployment information of each single cluster in the cluster federation, the middleware resources distributed by the middleware cluster to each single cluster in the cluster federation are determined, so that each single cluster can run the resource instance of the middleware resources distributed to it, thereby realizing the flexible distribution and deployment of different middleware clusters on each single cluster in the cluster federation, preventing the middleware resources of a certain middleware cluster from being distributed to an unsuitable single cluster in the cluster federation and causing the problem of middleware cluster operation failure, ensuring the efficient and accurate operation of different middleware clusters in the cluster federation, breaking the data processing limitations of the cluster federation on different middleware clusters, and improving the operation stability and high availability of the cluster federation for different middleware clusters.
[0105] As an optional implementation scheme in this application, it is considered that the purpose of cluster federation is to realize a mechanism for a single cluster to uniformly control multiple single clusters. That is, a single cluster within the cluster federation will have the function of uniformly controlling other single clusters. Then, in this application, the cluster federation will use a single cluster with a unified control function as a control cluster, and other single clusters that do not have a unified control function and support corresponding data processing operations for various middleware resources in each middleware cluster deployed therein as computing clusters. It can be seen that the cluster federation can include at least one control cluster and multiple computing clusters.
[0106] Therefore, in order to ensure the accurate deployment of any middleware cluster within the cluster federation, the present application may provide a detailed explanation of the specific deployment process of any middleware cluster within the cluster federation of the above architecture.
[0107] Figure 4 A flowchart of another processing method based on cluster federation provided in an embodiment of the present application.
[0108] like Figure 4 As shown, the method may specifically include the following steps:
[0109] S410, obtaining federated deployment information of any middleware cluster.
[0110] S420, determining the middleware resources distributed to each computer cluster by the middleware cluster according to the federation deployment information and the resource deployment information of each computing cluster in the cluster federation through the management and control cluster.
[0111] For the deployment of any middleware cluster in the cluster federation, it is mainly necessary to deploy the various middleware resources in the middleware cluster to the corresponding computing cluster through the management and control cluster, so that each computing cluster performs corresponding data processing operations on various middleware resources. It can be seen that in order to ensure the accurate deployment of the middleware cluster in the cluster federation, in addition to referring to the federation deployment information of the middleware cluster to determine the relevant scheduling demand information that the various middleware resources in the middleware cluster need to meet when it is deployed to the cluster federation, this application also needs to analyze the resource deployment information of each computing cluster in the cluster federation to determine the specific operating load of each computing cluster for the middleware cluster that needs to be deployed this time.
[0112] Therefore, after obtaining the federated deployment information of any middleware cluster through the management and control cluster, this application can parse the federated deployment information of the middleware cluster to determine the relevant scheduling requirements that the various middleware resources in the middleware cluster need to meet when the middleware cluster is deployed to the cluster federation, and can obtain the specific number of data shards after the middleware resources in the middleware cluster are divided, the master-slave node information when the data shards are stored, the upper limit of the number of CPUs required to participate in the calculation, the upper limit of the memory required to be occupied, and other resource scheduling requirements. Moreover, through the management and control cluster, the various resource usage information currently deployed in each computing cluster can also be analyzed to determine the resource deployment information of each computing cluster, thereby determining the real-time load status of each computing cluster that is currently running, and combining the overall load operation performance that each computing cluster can support to determine the additional load operation performance information that each computing cluster can provide for the middleware cluster that needs to be deployed this time.
[0113] Then, the management and control cluster can comprehensively analyze the relevant scheduling demand information that needs to be met by various middleware resources in the middleware cluster to be deployed this time, as well as the additional load operating performance information that each computing cluster can provide for the middleware cluster to be deployed this time, to determine the corresponding computing cluster in which various middleware resources in the middleware cluster can achieve the optimal operating performance after deployment, thereby determining the corresponding middleware resources that the middleware cluster needs to distribute to each computing cluster to complete the deployment.
[0114] In some possible implementations, in order to ensure the accurate distribution of various middleware resources within the middleware cluster, the present application can determine the middleware resources that the middleware cluster distributes to each computer cluster through the following steps: create middleware resources for the middleware cluster facing a single computing cluster; determine the middleware scheduling information for the middleware resources of each computing cluster based on the federal deployment information and the resource deployment information of each computer cluster; determine the middleware resources that the middleware cluster distributes to each computing cluster based on the middleware scheduling information.
[0115] Specifically, since the real-time load states of different computing clusters in the cluster federation are different, the operating performance that can be achieved by different computing clusters for the corresponding middleware resources distributed by the middleware cluster to be deployed this time is also different. Therefore, in order to ensure that each computing cluster can achieve the optimal operating performance for the corresponding middleware resources distributed, this application can analyze the minimum resource processing performance of a single computing cluster through the management and control cluster to determine how the complete middleware resources in the middleware cluster can be divided into middleware resources suitable for the minimum resource processing performance, so as to create middleware resources for a single computing cluster by dividing the complete middleware resources in the middleware cluster accordingly.
[0116] Then, by comprehensively analyzing the relevant scheduling demand information that needs to be met by various middleware resources in the middleware cluster represented by the federated deployment information of the middleware cluster deployed this time, and the additional load operation performance information that each computing cluster can provide for the middleware cluster that needs to be deployed this time represented by the resource deployment information of each computing cluster, the corresponding computing cluster that can achieve the optimal operation performance after different combinations of the middleware resources of the middleware cluster facing a single computing cluster can be determined. In this way, it can be determined that the middleware resources of the middleware cluster facing a single computing cluster are most suitable for different combinations of each computing cluster, thereby determining the middleware scheduling information corresponding to the middleware resources of the middleware cluster facing a single computing cluster for each computing cluster. Among them, the middleware scheduling information can clearly indicate which computing cluster the various middleware resources of the middleware cluster facing a single computing cluster will be scheduled to.
[0117] Therefore, by parsing the middleware scheduling information corresponding to the middleware resources of the middleware cluster facing a single computing cluster, it is possible to know to which computing cluster the various middleware resources of the middleware cluster facing a single computing cluster will be scheduled, thereby determining the middleware resources that the middleware cluster needs to distribute to each computing cluster.
[0118] It can be understood that the middleware resources distributed by the middleware cluster to different computing clusters are resource collections obtained by combining the middleware resources of the middleware cluster for a single computing cluster in different ways.
[0119] S430: Distribute corresponding middleware resources to each computing cluster through the management and control cluster, and run resource instances of the middleware resources on the computing cluster.
[0120] After determining the middleware resources that the middleware cluster distributes to each computer cluster, the present application can generate a specific resource distribution strategy for the middleware cluster through the management and control cluster within the cluster federation, so as to distribute the corresponding middleware resources to each computing cluster, so as to subsequently realize the accurate deployment of the middleware cluster within the cluster federation.
[0121] Moreover, in order to ensure the efficient operation of the distributed middleware resources by each computing cluster, the present application can pre-instantiate various middleware resources in the middleware cluster to obtain resource instances of each middleware resource. Among them, the resource instance of each middleware resource can be an executable object that has been allocated with dynamic memory and is constructed for the middleware resource to achieve efficient operation of the middleware resource. Then, after each computing cluster receives the corresponding middleware resources distributed by the management and control cluster, the resource instance of the corresponding middleware resources received can be started on each computing cluster to efficiently run the corresponding middleware resources distributed to each computing cluster, and realize the accurate deployment of the middleware cluster in the cluster federation.
[0122] The technical solution provided by the embodiment of the present application can support the control cluster in the cluster federation to obtain the federation deployment information of the middleware cluster by deploying the general interface of any middleware cluster. Therefore, the control cluster analyzes the federation deployment information of the middleware cluster and the resource deployment information of each computing cluster in the cluster federation to determine the middleware resources distributed by the middleware cluster to each computing cluster in the cluster federation, so as to run the resource instance of the middleware resources distributed to it through each computing cluster, realize the flexible distribution and deployment of different middleware clusters in the cluster federation, prevent the middleware resources of a certain middleware cluster from being distributed to an unsuitable computing cluster in the cluster federation and cause the problem of middleware cluster operation failure, ensure the efficient and accurate operation of different middleware clusters in the cluster federation, break the data processing limitations of the cluster federation on different middleware clusters, and improve the operation stability and high availability of the cluster federation for different middleware clusters.
[0123] Figure 5 A principle block diagram of a processing device based on cluster federation provided in an embodiment of the present application, such as Figure 5 As shown, the apparatus 500 may include:
[0124] The cluster information acquisition module 510 is used to acquire the federated deployment information of any middleware cluster;
[0125] The middleware resource distribution module 520 is used to determine the middleware resource distribution path of the middleware cluster towards the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation;
[0126] The middleware resource running module 530 is used to run the resource instance of the middleware resource according to the middleware resource distribution path.
[0127] In some implementations, the cluster federation includes a management and control cluster and multiple computing clusters. The middleware resource distribution module 520 can be specifically used to:
[0128] The management and control cluster determines the middleware resources distributed to each of the computer clusters by the middleware cluster according to the federation deployment information and the resource deployment information of each of the computing clusters in the cluster federation.
[0129] Accordingly, the middleware resource operation module 530 can be specifically used for:
[0130] The corresponding middleware resources are distributed to each of the computing clusters through the management and control cluster, and resource instances of the middleware resources are run on the computing clusters.
[0131] In some implementations, the middleware resource distribution module 520 may be specifically used to:
[0132] Creating middleware resources of the middleware cluster for a single computing cluster;
[0133] Determine the middleware scheduling information of each computing cluster for the middleware resource according to the federated deployment information and the resource deployment information of each computing cluster;
[0134] The middleware resources distributed by the middleware cluster to each of the computing clusters are determined according to the middleware scheduling information.
[0135] In some implementations, the cluster federation-based processing device 500 may further include an operation status processing module. The operation status processing module may be used to:
[0136] Obtaining the resource operation status of a single cluster in the cluster federation;
[0137] The resource operation status of each single cluster is aggregated to show the user the aggregated resource operation status of each single cluster.
[0138] In the embodiment of the present application, firstly, the federated deployment information of different middleware clusters facing the cluster federation is obtained. Then, by analyzing the federated deployment information of the middleware cluster and the resource deployment information of each single cluster in the cluster federation, the middleware resources distributed by the middleware cluster to each single cluster in the cluster federation are determined, so that each single cluster can run the resource instance of the middleware resources distributed thereto, thereby realizing the flexible distribution and deployment of different middleware clusters on each single cluster in the cluster federation, preventing the middleware resources of a certain middleware cluster from being distributed to an unsuitable single cluster in the cluster federation and causing the problem of middleware cluster operation failure, ensuring the efficient and accurate operation of different middleware clusters in the cluster federation, breaking the data processing limitations of the cluster federation on different middleware clusters, and improving the operation stability and high availability of the cluster federation for different middleware clusters.
[0139] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 5 The device 500 shown can execute any method embodiment provided in the present application, and the aforementioned and other operations and / or functions of each module in the device 500 are respectively for implementing the corresponding processes in each method of the embodiment of the present application. For the sake of brevity, they will not be repeated here.
[0140] The above describes the device 500 of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0141] Figure 6 It is a schematic block diagram of an electronic device 600 provided in an embodiment of the present application.
[0142] like Figure 6 As shown, the electronic device 600 may include:
[0143] The memory 610 and the processor 620, the memory 610 is used to store the computer program and transmit the program code to the processor 620. In other words, the processor 620 can call and run the computer program from the memory 610 to implement the method in the embodiment of the present application.
[0144] For example, the processor 620 may be configured to execute the above method embodiments according to instructions in the computer program.
[0145] In some embodiments of the present application, the processor 620 may include but is not limited to:
[0146] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
[0147] In some embodiments of the present application, the memory 610 includes but is not limited to:
[0148] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).
[0149] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 610 and executed by the processor 620 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device.
[0150] like Figure 6 As shown, the electronic device may also include:
[0151] The transceiver 630 may be connected to the processor 620 or the memory 610 .
[0152] The processor 620 may control the transceiver 630 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 630 may include a transmitter and a receiver. The transceiver 630 may further include an antenna, and the number of antennas may be one or more.
[0153] It should be understood that the various components in the electronic device are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.
[0154] The embodiment of the present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the embodiment of the present application also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.
[0155] When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.
[0156] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0157] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0158] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0159] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A processing system based on cluster federation, characterized in that: include: A management and control cluster and multiple computing clusters, wherein the management and control cluster provides a general interface that supports the deployment of any middleware cluster; wherein, The control cluster obtains the federated deployment information of the middleware cluster through the universal interface, and determines the middleware resources distributed by the middleware cluster to each of the computing clusters according to the federated deployment information and the resource deployment information of each of the computing clusters, wherein the middleware resources include resource instances; The resource instance is run on each of the computing clusters.
2. The system according to claim 1, characterized in that The control cluster includes a federated controller, a federated scheduler and a cluster federated component; wherein, The federation controller obtains the federation deployment information of the middleware cluster through the universal interface, and creates middleware resources of the middleware cluster facing a single computing cluster; The federated scheduler determines the middleware resources distributed by the middleware cluster to each of the computing clusters according to the federated deployment information and the resource deployment information of each of the computing clusters; The cluster federation component distributes corresponding middleware resources to each of the computing clusters.
3. The system according to claim 2, characterized in that The cluster federation component provides a user-oriented query interface for displaying the running status of the middleware resources on each computing cluster to the user.
4. The system according to claim 1, characterized in that The control clusters are configured with two or more, and a master control cluster and a backup control cluster are determined by cross-cluster master election.
5. The system according to claim 1, characterized in that Each of the computing clusters includes a middleware controller, which receives the middleware resources distributed by the management and control cluster and runs a resource instance of the middleware resources.
6. A processing method based on cluster federation, characterized in that: include: Get the federated deployment information of any middleware cluster; Determine a middleware resource distribution path of the middleware cluster toward the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation; According to the middleware resource distribution path, a resource instance of the middleware resource is run.
7. The method according to claim 6, characterized in that The cluster federation includes a management and control cluster and multiple computing clusters, and determining the middleware resource distribution path of the middleware cluster towards the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation includes: Determine, by the management and control cluster, the middleware resources distributed by the middleware cluster to each of the computer clusters according to the federation deployment information and the resource deployment information of each of the computing clusters in the cluster federation; Correspondingly, running the resource instance of the middleware resource according to the middleware resource distribution path includes: The corresponding middleware resources are distributed to each of the computing clusters through the management and control cluster, and resource instances of the middleware resources are run on the computing clusters.
8. The method according to claim 7, characterized in that The determining, by the management and control cluster according to the federation deployment information and the resource deployment information of each computing cluster in the cluster federation, the middleware resources distributed by the middleware cluster to each computing cluster includes: Creating middleware resources of the middleware cluster for a single computing cluster; Determine the middleware scheduling information of each computing cluster for the middleware resource according to the federated deployment information and the resource deployment information of each computing cluster; The middleware resources distributed by the middleware cluster to each of the computing clusters are determined according to the middleware scheduling information.
9. The method according to claim 6, characterized in that The method further comprises: Obtaining the resource operation status of a single cluster in the cluster federation; The resource operation status of each single cluster is aggregated to show the user the aggregated resource operation status of each single cluster.
10. A processing device based on cluster federation, characterized in that: include: Cluster information acquisition module, used to obtain the federated deployment information of any middleware cluster; A middleware resource distribution module, configured to determine a middleware resource distribution path of the middleware cluster toward the single cluster according to the federation deployment information and the resource deployment information of the single cluster in the cluster federation; The middleware resource running module is used to run the resource instance of the middleware resource according to the middleware resource distribution path.