CN113032188B - Method, device, server and storage medium for determining main server - Google Patents

Method, device, server and storage medium for determining main server Download PDF

Info

Publication number
CN113032188B
CN113032188B CN201911351213.8A CN201911351213A CN113032188B CN 113032188 B CN113032188 B CN 113032188B CN 201911351213 A CN201911351213 A CN 201911351213A CN 113032188 B CN113032188 B CN 113032188B
Authority
CN
China
Prior art keywords
server
main
servers
task
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911351213.8A
Other languages
Chinese (zh)
Other versions
CN113032188A (en
Inventor
冯锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911351213.8A priority Critical patent/CN113032188B/en
Publication of CN113032188A publication Critical patent/CN113032188A/en
Application granted granted Critical
Publication of CN113032188B publication Critical patent/CN113032188B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

The application discloses a method, a device, a server and a storage medium for determining a main server, wherein in the method, under the condition that a distributed system has a task to be executed, a candidate server generates a random number associated with the task and sends the random number associated with the task to a plurality of selected main servers of the distributed system; obtaining a main selection distribution result determined by at least part of main selection servers in the plurality of main selection servers, wherein the main selection distribution result is used for indicating a main server to execute the task; and determining a main server for executing the task based on the main allocation results determined by the main server. The application can reduce the situation that the distributed system cannot determine the main server required by executing the task and improve the disaster recovery capability of the distributed system.

Description

Method, device, server and storage medium for determining main server
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, an apparatus, a server, and a storage medium for determining a primary server.
Background
The choice of the primary server is a very important link in some distributed systems. The selection of the main server refers to determining one server from a plurality of servers of the distributed system as an executor of a task to be executed when the task exists in the distributed system. For example, in a distributed storage system, it is necessary to select one storage server from a plurality of storage servers as an executor of data writing. As another example, in a distributed task scheduling system, if there is a task to be executed, a main server needs to be selected from a plurality of task execution servers as an executor of the task.
Currently, the manner of determining the primary server from the distributed system is: a plurality of servers in the distributed system apply for lock resources to lock servers in the distributed system, and the lock servers determine a main server from the plurality of servers according to the sequence of each server applying for the lock resources. However, once the lock server in the distributed system has a fault, the determination of the main server in the distributed system cannot be completed, so that the execution of tasks in the distributed system is affected, and the disaster tolerance of the distributed system is poor.
Disclosure of Invention
In view of the above, the present application provides a method, apparatus, server and storage medium for determining a primary server, so as to reduce the situation that a distributed system cannot determine the primary server required for executing a task, and improve the disaster tolerance of the distributed system.
To achieve the above object, in one aspect, the present application provides a method for determining a primary server, including:
generating a random number associated with a task to be executed in the case that the distributed system has the task;
transmitting the random number associated with the task to a plurality of selected servers of the distributed system;
obtaining a main selection distribution result determined by at least part of main selection servers in the plurality of main selection servers, wherein the main selection distribution result is used for indicating a main server to execute the task, and the main server indicated by the main selection distribution result is a candidate server which is determined by the main selection server according to random numbers associated with the task and reported by each candidate server in the distributed system;
And determining a main server for executing the task based on the main selection distribution result determined by each of the at least partial main selection servers.
In one possible scenario, the obtaining the primary allocation result determined by each of at least some of the plurality of primary servers includes:
and obtaining main selection distribution results determined by at least a set number of main selection servers in the plurality of main selection servers, wherein the set number is not less than one half of the corresponding number of the plurality of main selection servers.
In yet another possible scenario, the determining a primary server for performing the task based on the primary allocation results determined by each of the at least some primary servers includes:
under the condition that the main selection distribution results determined by at least part of main selection servers are the same, determining a main server for executing the task according to any main selection distribution result;
and determining the candidate server which is indicated as the main server for executing the task most frequently according to the main servers indicated by the selected main allocation results under the condition that the selected main allocation results respectively determined by at least part of the selected main servers are not identical.
In still another possible implementation manner, the determining, as the main server for performing the task, the main server indicated by the respective selected main allocation result, the candidate server indicated as the main server most frequently includes:
determining the generation time when each of the at least partial selected main servers generates the selected main distribution result;
determining at least one main selection distribution result with the latest generation moment from main selection distribution results corresponding to at least part of main selection servers;
and determining the candidate server which is indicated as the main server and has the largest number of times as the main server for executing the task according to the main server indicated by the at least one selected main allocation result.
In yet another aspect, the present application provides a method for determining a primary server, applied to a primary server in a distributed system, where the distributed system includes a plurality of candidate servers and a plurality of primary servers, the method including:
obtaining a random number reported by at least one candidate server in a distributed system, wherein the random number is generated by the candidate server and is related to a task to be executed in the distributed system;
Determining a candidate server of which the reported random number meets a condition from the at least one candidate server;
and determining the candidate server with the reported random number meeting the condition as a main server for executing the task.
In yet another aspect, the present application further provides a method for determining a primary server, including:
under the condition that a distributed system has a task to be executed, a candidate server generates a random number associated with the task, and the distributed system comprises a plurality of candidate servers and a plurality of main selection servers;
the candidate server sends the random number associated with the task to a plurality of selected main servers of the distributed system;
the main selecting server obtains a random number reported by at least one candidate server in the distributed system, and determines a candidate server, of which the reported random number meets a condition, from the at least one candidate server;
the selected main server determines the candidate server with the reported random number meeting the condition as the main server;
the candidate servers obtain main selection distribution results determined by at least part of the main selection servers, wherein the main selection distribution results are used for indicating the main servers to be subjected to the tasks;
And the candidate servers determine the main servers for executing the tasks based on the main allocation results determined by the main servers.
In yet another aspect, the present application further provides an apparatus for determining a primary server, including:
a random number generation unit, configured to generate a random number associated with a task to be executed in a distributed system when the task exists;
a random number sending unit, configured to send the random number associated with the task to a plurality of selected servers of the distributed system;
the result obtaining unit is used for obtaining a main selection distribution result determined by at least part of main selection servers in the plurality of main selection servers, wherein the main selection distribution result is used for indicating a main server to be used for executing the task, and the main server indicated by the main selection distribution result is a candidate server which is determined by the main selection server according to random numbers related to the task and reported by each candidate server in the distributed system;
and the main server determining unit is used for determining the main server for executing the task based on the main selecting distribution results determined by the main selecting servers.
In still another aspect, the present application further provides an apparatus for determining a primary server, which is applied to a primary server in a distributed system, where the distributed system includes a plurality of candidate servers and a plurality of primary servers, and the apparatus includes:
the random number acquisition unit is used for acquiring random numbers reported by at least one candidate server in the distributed system, wherein the random numbers are generated by the candidate server and are related to tasks to be executed in the distributed system;
the random number analysis unit is used for determining a candidate server with the reported random number meeting the condition from the at least one candidate server;
and the main server determining unit is used for determining the candidate server with the reported random number meeting the condition as the main server for executing the task.
In yet another aspect, the present application further provides a server, including:
a processor and a memory;
the processor is used for calling and executing the program stored in the memory;
the memory is configured to store the program at least for implementing the method of determining a primary server as claimed in any one of the above.
In yet another aspect, the present application further provides a storage medium having stored therein computer executable instructions which, when loaded and executed by a processor, implement a method of determining a primary server as described in any one of the above.
In the embodiment of the application, when the distributed system has a task to be executed, the candidate servers in the distributed system generate random numbers associated with the task, and report the generated random numbers to a plurality of main selection servers deployed in the distributed system, and accordingly, each main selection server can determine a main server for executing the task from the candidate servers according to the random numbers reported by different candidate servers. Therefore, the application provides a new method for determining the main service, so that the deployment of a plurality of main selection servers in the distributed system becomes possible, and on the basis, the candidate servers can also obtain main selection distribution results from at least part of main selection servers in the distributed system, so that even if a certain main selection server in the distributed system has faults, the candidate servers can still determine the main selection servers for executing tasks according to the main selection distribution results determined by other main selection servers, and the main selection servers cannot confirm the main servers for executing tasks due to the faults of the individual main selection servers, thereby improving the disaster tolerance capability of the distributed system.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only embodiments of the present application, and other drawings may be obtained according to the provided drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of the component architecture of a distributed system of the present application;
FIG. 2 is a flow chart of a method of determining a primary server of the present application;
FIG. 3 is a schematic flow chart of a method of determining a primary server according to the present application;
FIG. 4 is a flow chart illustrating a method of determining a primary server according to the present application;
FIG. 5 is a schematic diagram showing a constitution of an apparatus for determining a primary server according to the present application;
FIG. 6 is a schematic diagram showing a constitution of another apparatus for determining a primary server according to the present application;
fig. 7 shows a schematic diagram of the composition structure of a server according to the present application.
Detailed Description
The scheme of the application is applicable to any distributed system which needs to determine a main server before executing tasks, such as a distributed storage system, a distributed computing system and the like.
For example, the distributed system may need to periodically complete the settlement reconciliation, and each time there is a settlement reconciliation task, the distributed system needs to determine one server from a plurality of servers capable of performing the settlement reconciliation as a main server, and complete the settlement reconciliation task through the main server. For another example, in the case where the distributed system needs to issue a message to a user, if there is a message issue task, a main server for executing the message issue task needs to be determined.
In order to improve disaster recovery performance of the distributed system, the application provides a new set of mode for determining the main server, and a plurality of selected main servers for determining the main server can be deployed in the distributed system based on the mode.
For ease of understanding, the constituent architecture of the distributed system to which the present application is applicable will be described. For example, referring to FIG. 1, a schematic diagram of one component architecture of the distributed system of the present application is shown.
As can be seen from fig. 1, the distributed system comprises at least two candidate servers 101 and at least two candidate servers 102.
In general, the candidate server 101 may be plural.
Accordingly, there may be multiple selection servers, and the multiple selection servers may form a selection server cluster.
The candidate server may be connected to the selected main server, for example, the candidate server may be in communication connection with the selected main server through a network.
In the embodiment of the application, the candidate server is a server capable of executing tasks in the distributed system. The selected master server is the server that determines the master server from the candidate servers.
It will be appreciated that in embodiments of the present application, the distributed system may be a distributed system in an implementation scenario, and the tasks that the distributed system needs to perform may also vary from scenario to scenario.
For ease of understanding, a practical scenario of a distributed system is illustrated, such as assuming the distributed system is a gaming application system, such as an application treasured gaming system, and so forth. A distributed system is formed by a plurality of task servers capable of executing tasks in a game application system.
The game application system can have tasks which need to be executed by the task servers, so that a main server for executing the tasks needs to be determined from the task servers in order to determine which task server needs to execute the tasks.
Based on the scheme of the application, a plurality of main selection servers are arranged in the game application system besides a plurality of task servers. Under the condition that the game application system has a task to be executed, the plurality of task servers are a plurality of candidate servers corresponding to the task, and a main server for executing the task is determined from the plurality of candidate servers through a plurality of main selecting servers.
Of course, the gaming application is merely illustrated herein, but other scenarios of distributed systems are equally applicable to embodiments of the present application.
Based on the distributed system, the method for determining the primary server in the present application will be described with reference to the flowchart.
The method for determining the main server in the application is introduced from the candidate server side.
As shown in fig. 2, which is a schematic flow chart illustrating a method for determining a primary server according to an embodiment of the present application, the method of the present embodiment is applied to the candidate server as mentioned above, and the method of the present embodiment may include:
s201, in the case where there is a task to be executed in the distributed system, a random number associated with the task is generated.
In the distributed system suitable for different scenes, tasks to be executed also differ, and even the tasks to be executed at different moments of the same distributed system also differ.
There are many possibilities for the candidate server to confirm that the distributed system has a task to perform. For example, in one possible case, the distributed system may receive a task issued by the task platform, and in this case, the task platform may issue, to each candidate server of the distributed system, information of the task to be executed, such as a task identifier of the task and a specific execution content of the task, when confirming that there is a task to be executed by the distributed system. Correspondingly, when the candidate server receives the task information to be executed issued by the task platform, the candidate server can determine that the distributed system has the task to be executed.
In yet another possible scenario, the distributed system may establish a connection with a task maintenance platform that maintains a task execution list, in which case the candidate server may periodically or periodically access the task maintenance platform to query whether there is a task to be executed by the distributed system, so as to obtain relevant information of the task to be executed by the distributed system, such as task identification and specific content of the task, and so on.
Of course, the above is for easy understanding, and two cases of determining that the distributed system has a task to be executed are taken as examples, and in practical application, the candidate server may also detect whether the distributed system has a task to be executed by other ways, which is not limited to this application.
It will be appreciated that in the case where there is a task to be executed in the distributed system, it is necessary to select one candidate server from a plurality of candidate servers in the distributed system as a main server to execute the task by the main server, and therefore, in the case where it is confirmed that there is a task to be executed in the distributed system, the candidate server needs to execute related operations of applying for becoming the main server and determining whether itself is successfully applied for becoming the main server. In this embodiment, in order to apply for becoming the master server, the candidate server needs to generate a random number corresponding to the task. Wherein the random number is a data randomly generated by the candidate server.
In order to distinguish the random numbers generated for different tasks, the application can obtain the task identification of each task to be executed, and correspondingly, can generate the random numbers corresponding to the task identifications.
S202, the random number associated with the task is sent to a plurality of selected servers of the distributed system.
For example, the candidate server may send the task identifier and the random number of the task to each selected host server in the distributed system. In this case, the random number may be determined based on the task identity as a random number generated for the task characterized by the task identity.
Optionally, in order to facilitate identifying the candidate server that generates the random number, the identification information of the candidate server, such as the number or IP address of the candidate server, may be sent simultaneously with the random number being sent to the selected host server.
For example, the candidate servers may send a master request to each candidate server in the distributed system, the master request being for a master server that performs the task. The request for selecting the main application may carry the task identifier of the task, the random number and the identifier information of the candidate server.
S203, obtaining the main selection distribution results determined by at least part of the main selection servers.
The selected main allocation result is used for indicating a main server to execute the task. For example, the primary allocation result may be identification information of the primary server for executing the task determined for the primary server. As another example, the primary allocation result may be a random number generated by the primary server for performing the task as determined by the primary server.
The main server indicated by the main allocation result is the candidate server which is determined by the main server according to the random number which is reported by each candidate server in the distributed system and is associated with the task and is used for executing the task. Specifically, the master selection server may determine, according to the random numbers reported by the candidate servers, a candidate server whose random number satisfies a condition, and determine the determined candidate server as the master server, so as to obtain a master selection allocation result for indicating the master server. The process of determining the main server on the main server side can be referred to the related description of the follow-up main server side.
It can be appreciated that the candidate servers may obtain the primary allocation result determined by each primary server. However, this may result in a large data processing amount, or result in a relatively high network resource consumption for transmitting the primary allocation result, so the present application may only obtain a portion of the primary allocation results determined by the primary servers.
The specific number of the partial main selection servers can be combined with the total number of the main selection servers and the total number of the candidate servers in the distributed system, and the main selection distribution results determined by how many main selection servers are needed to be obtained by each candidate server are determined on the premise that the data redundancy and the final consistency of the main servers determined by different candidate servers based on the obtained main selection distribution results are ensured.
For example, according to the total number of the main selection servers and the total number of the candidate servers in the distributed system, and combining a drawer algorithm (also called pigeon nest principle), an NRW algorithm or a Quorom algorithm, determining that the candidate servers at least need to obtain main selection allocation results determined by a set number of main selection servers.
Optionally, the candidate server may obtain at least a set number of primary election allocation results determined by each of the primary election servers, where the set number is not less than one half of the number corresponding to the plurality of primary election servers. For example, assuming that there are five main selection servers, the candidate server needs to obtain at least main selection allocation results determined by three main selection servers.
The candidate server may obtain the primary allocation result determined by the primary server in a plurality of ways:
In one possible case, after determining the primary allocation result, the primary allocation result may be sent to some or all candidate servers, so that each candidate server may obtain the primary allocation result determined by at least some of the primary servers in the distributed system. In this case, the main selection allocation result sent by each main selection server to which candidate servers may be preset, specifically, the main selection allocation result may be set in principle to ensure that each candidate server can obtain all possible main selection allocation results, for example, in combination with a drawer algorithm, an NRW algorithm, or a Quorom algorithm, to determine how many candidate servers each main selection server needs to send the main selection allocation result.
In yet another possible scenario, the candidate server may request a master allocation result for the task from the master server to obtain a master allocation result determined by the master server. In order to facilitate the distinction, the candidate server requests the main selection allocation result of which task, and may carry the task identifier of the task when applying the main selection allocation result to the main selection server. If the candidate server sends a main selection result request to the main selection server, the main selection result request is used for requesting the determined main selection server information from the main selection server, and the main selection result request can carry the task identifier of the task, and of course, can also carry the service identifier of the candidate server.
It will be appreciated that the candidate server may apply for the result of the election allocation for the task to all election servers. However, applying the master allocation result to all the master selection servers requires consuming more network resources, and in order to reduce network resource overhead, the candidate servers may only apply the master selection allocation result to at least some of the master selection servers respectively.
The number of candidate servers applying for the main selection distribution result to the main selection servers can be comprehensively determined by combining the drawer algorithm and the like. For example, each candidate server may optionally apply for a master allocation result from at least a set number of master selection servers, the set number being one half of the total number of multiple master selection servers in the distributed system.
In yet another possible case, the candidate server may also incorporate algorithms such as a drawer algorithm, and determine how many candidate servers need to apply for the candidate allocation result from based on the number of candidate servers that successfully receive the random number reported by the candidate server. For example, the candidate server may confirm a first number of the candidate servers that successfully received the random number after sending the random number associated with the task to the candidate server; and then, when the main allocation result is required to be applied, applying the main allocation result to at least a second number of main allocation servers, wherein the second number is an integer not less than one half of the first number.
And S204, determining a main server for executing the task based on the main selection distribution results determined by the main selection servers.
The purpose of determining the main server for executing the task by the candidate server is to detect whether the candidate server is the main server for executing the task, so that the main server determined by each main selection server needs to be determined by combining the obtained main selection allocation results in advance, so as to detect whether the main service is the candidate server.
It will be appreciated from the foregoing description that the selected primary allocation result may be indicative of the determined primary server generating a random number, in which case the candidate server generating the random number may be determined to be the primary server. Correspondingly, the candidate server can detect whether the random number generated by the candidate server is the random number indicated by the selected main allocation result, and if so, the candidate server confirms that the candidate server is the main server for executing the task.
Alternatively, the primary allocation result may directly indicate the determined primary server, in which case it may be determined whether the candidate server is the primary server for performing the task based on the primary server indicated by the obtained primary allocation result.
It will be appreciated that the candidate server may also perform the task in the event that the candidate server is the determined primary server for performing the task.
It can be understood that, in the distributed system, when no abnormality exists in each primary selection server and no abnormality exists in data transmission between the candidate servers and the primary selection servers, the candidate servers obtain the primary selection allocation results determined by each of the at least part of the primary selection servers, that is, all the primary selection servers indicated by the primary selection allocation results are the same candidate server. In this case, the candidate server may determine the primary server for performing the task according to any one of the primary allocation results.
Even if some of the primary selection servers fail, since there are a plurality of primary selection servers, and the primary selection servers that fail normally should be small, it is known that most of the primary selection allocation results obtained by the candidate servers should be correct and accurate. Therefore, in the case where the primary allocation results determined by the respective at least partial primary servers are not identical, the candidate server indicated as the primary server the largest number of times may be determined as the primary server for performing the task depending on the primary server indicated by the respective primary allocation results.
For example, assuming that the candidate server obtains the primary allocation results determined by 6 primary selection servers, among the 4 primary selection allocation results, the primary selection server is indicated as a candidate server a, and the primary selection allocation results indicated by the other two primary selection servers are indicated as a candidate server B, the number of times that the candidate server a is indicated as the primary server is the greatest, and the candidate server a is determined as the primary server.
Further, in some special cases, two or more candidate servers may be indicated as the primary server the largest number of times based on the obtained primary allocation result. In this case, in order to determine which candidate server is the true primary server, it may also be determined at which time the at least part of the primary servers each generate the primary allocation result, and then, from among the primary allocation results corresponding to the at least part of the primary servers, at least one primary allocation result having the latest generation time is determined. Accordingly, the candidate server indicated as the most frequently as the primary server may be determined as the primary server for performing the task according to the primary server indicated by the at least one primary allocation result.
It will be appreciated that each task to be executed in the distributed system corresponds to a deadline for executing the task, and therefore, before the deadline is reached, the candidate server may send the random number generated for the task to the selected host server. Correspondingly, before the expiration time is reached, the selected master server continuously receives the random number and continuously updates the determined master server, so that the generation time of the selected master allocation result is continuously updated.
Therefore, if the selected main servers in the distributed system have no abnormality, the time when the selected main servers finally receive the random number reported by the candidate server should be the same, and correspondingly, the generation time of the final determined selected main distribution result is the same. If the selected main server is abnormal in the process, the selected main server cannot receive the random number reported by the candidate server after the selected main server is abnormal, so that the selected main server can finish updating the selected main distribution result in advance relative to other selected main servers with abnormal occurrence, and the generation time of the selected main distribution result of the selected main server is earlier than the generation time of the selected main distribution result of other selected main servers.
Therefore, the main selection distribution result with the earlier generation time is more likely to be inaccurate, so that the main server determined to be used for executing the task can be beneficial to ensuring that the determined main server is the main server finally determined by most normal main selection servers in the distributed system based on at least one main selection distribution result with the latest generation time.
As can be seen from the above, in the embodiment of the present application, when a task to be executed exists in a distributed system, a candidate server in the distributed system generates a random number associated with the task, and reports the generated random number to a plurality of main selection servers deployed in the distributed system, and accordingly, each main selection server can determine a main server for executing the task from the candidate servers according to random numbers reported by different candidate servers. Therefore, the application provides a new method for determining the main service, so that the deployment of a plurality of main selection servers in the distributed system becomes possible, and on the basis, the candidate servers can also obtain main selection distribution results from at least part of main selection servers in the distributed system, so that even if a certain main selection server in the distributed system has faults, the candidate servers can still determine the main selection servers for executing tasks according to the main selection distribution results determined by other main selection servers, and the main selection servers cannot confirm the main servers for executing tasks due to the faults of the individual main selection servers, thereby improving the disaster tolerance capability of the distributed system.
The method for determining a primary server in the embodiment of the present application is described below from the primary server side, as shown in fig. 3, which is a schematic flowchart illustrating another method for determining a primary server in the present application, where the method in the embodiment is applied to a primary server, and the embodiment may include:
s301, obtaining random numbers reported by at least one candidate server in the distributed system.
Wherein the random number is a random number generated by the candidate server and associated with a task to be performed in the distributed system. The process of generating the random number related to the task by the candidate server may be referred to in the related description of the previous embodiment, which is not described herein.
In order to facilitate distinguishing the random number as the random number generated by the candidate server for which task, the candidate server can carry the task identifier of the task when reporting the random number. If yes, the master selection server obtains a random number master selection request reported by the candidate server, wherein the master selection request carries the random number generated by the candidate server and a task identifier corresponding to the task requested to be executed.
It should be noted that, each candidate server in the distributed system reports a random number to each selected server in the distributed system, and under normal conditions, each selected server will obtain the random numbers reported by multiple candidate servers. However, in some abnormal situations, there may be cases where some selected servers cannot receive the random numbers reported by all candidate servers. Therefore, the random number reported by at least one candidate server obtained by the selected server refers to the random number received by the selected server, and the random number may be at least one. If the election server does not receive any random numbers, then the election allocation result does not need to be determined, and no subsequent operation is naturally needed.
S302, determining a candidate server with the reported random number meeting the condition from the at least one candidate server.
The condition that the reported random number needs to meet may be multiple, for example, the reported random number is the largest random number in the random numbers reported by the at least one candidate server. For another example, the reported random number is the smallest random number among the random numbers reported by the at least one candidate server. For another example, the reported random numbers may be random numbers in a set sequence position ordered among the random numbers reported by the at least one candidate server. Of course, other possibilities are possible, without limitation.
It will be appreciated that if there are a plurality of random numbers satisfying the condition in the obtained random numbers, the selected server will send a random number re-report instruction to each candidate server, where the random number re-report instruction is used to instruct the candidate server to regenerate and report the random numbers. For example, if the selected main server detects that there are two or more random numbers with the largest value from the obtained at least one random number, a random number re-report instruction can be sent to each candidate server, so that the operation of determining the candidate server meeting the condition is re-executed, and the occurrence of the situation that the main server cannot be uniquely determined is reduced.
And S303, determining the candidate server with the reported random number meeting the condition as a main server for executing the task.
It will be appreciated that, after determining the primary server for performing the task, the primary server may return the primary allocation result determined by the primary server to the candidate server after detecting that the candidate server applies for the primary allocation result. And the main selection distribution result determined by the main selection server is used for indicating that the reported random number meets the condition and the candidate server is the main server.
For example, the primary allocation result returned from the primary server to the candidate server may be the determined identification information of the primary server, or may be a random number generated for the primary server, so as to identify the primary server through the random number.
In yet another possible scenario, the primary selection server may also send a primary selection allocation result to some or all of the candidate servers in the distributed system after the candidate servers that are primary servers for performing the task are finally determined, where the primary selection allocation result is used to indicate the primary server determined by the primary selection server for performing the task. If the selected main server confirms that all the candidate servers report the random numbers generated by the candidate servers, and determines the main server of the task based on the random numbers reported by the candidate servers, the selected main distribution result is sent to some or all servers in the distributed system. In another example, after determining that the application corresponding to the task reaches the expiration time of the main server, the main server sends the information of the main server or the random number corresponding to the main server, which is finally determined, to some or all candidate servers as the main allocation result.
The main selection server needs to send the main selection allocation result to which candidate servers can be referred to the related description, and the detailed description is omitted herein.
Therefore, in the embodiment of the application, the selected main server determines the candidate server with the reported random number meeting the condition as the main server for executing the task according to the random number related to the task to be executed and reported by each candidate server in the distributed system, so that each selected main server in the distributed system can independently determine the main server for executing the task, thereby providing possibility for setting a plurality of selected main servers in the distributed system. In addition, as the specific process of determining the main server by each main selection server is the same, the consistency of the main servers determined in the distributed system is ensured, and therefore, even if an abnormal state occurs to a certain main selection server, the candidate server can still determine the main server for executing the task based on the main servers determined by other main selection servers, the situation that the task cannot be executed due to the fact that the main server cannot be determined is reduced, and the disaster tolerance capability of the distributed system is improved.
For ease of understanding, the following description of the method of determining a primary server of the present application follows from the interaction process between a candidate server and a selected primary server. Referring to fig. 4, which is a schematic flow interaction diagram illustrating a method for determining a primary server according to the present application, the method of this embodiment may include:
S401, in a case where the candidate server confirms that the distributed system has a task to be executed, generating a random number associated with the task.
And S402, the candidate server sends random numbers associated with the task to a plurality of selected servers in the distributed system.
Optionally, the candidate server may obtain a task identifier of the task to be executed when confirming that the task to be executed exists. Accordingly, the candidate server may generate a random number corresponding to the task identity.
Further, the candidate server may also obtain a deadline for the application to execute the task. In this case, the candidate server may generate a random number corresponding to the task when it is confirmed that the current deadline is not reached, and may transmit the random number corresponding to the task to the plurality of selected servers, respectively.
In particular, if the current time has reached the deadline, it indicates that the condition for applying for executing the task is not satisfied, in which case the candidate server does not need to apply for executing the task again, and naturally does not need to generate a random number and execute subsequent operations.
The specific form of the candidate server sending the task-associated random number to the selected main server may be referred to the related description of the previous embodiment, which is not described herein.
S403, the master server determines a candidate server, which meets the condition, of the reported random numbers from at least one candidate server according to the random numbers which are reported by the at least one candidate server and are associated with the task in the distributed system.
And S404, the selected main server determines the candidate server with the reported random number meeting the condition as the main server.
If the candidate server reports the task identifier and the random number to the selected main server, the selected main server can obtain the random number reported by at least one candidate server corresponding to the same task identifier, then the random number meeting the condition is obtained from the at least one random number, the candidate server reporting the random number meeting the condition is determined, and the candidate server is determined as the main server.
It can be appreciated that, since the times at which the random numbers are reported by different candidate servers may not be completely consistent, the candidate servers reported for the task may be continuously received by the selected server within a specific period of time, and thus, the selected server needs to continuously update the determined main server.
Optionally, in the case that the task corresponds to the ending time of the application execution, the primary server may be determined, before reaching the ending time of the task, based on the random number reported for the task, to be the primary server corresponding to the task. In this case, when the expiration time is reached, the last determined primary server may be used as the primary server for executing the task that is finally determined by the selected primary server. Accordingly, after reaching the deadline of the task, even if a candidate server reports the random number generated for the task, the candidate server directly ignores the random number.
The candidate server for executing the task may have one or more, and typically has a plurality of candidate servers. In practical applications, considering reasons such as network transmission abnormality or temporary abnormality of the primary selection server, some primary selection servers may not receive random numbers reported by some candidate servers, so that primary servers determined by different primary selection servers may be different.
And S405, the candidate server sends a main selection result request to at least a set number of main selection servers in the distributed system.
As an alternative, the set number is at least one half of the total number of the plurality of candidate servers in the distributed system.
The master selection result request is used for requesting the master server information determined for the task from the master selection server. If so, the main selection result request can carry the task identifier of the task, so that the main selection server queries the main server determined for the task according to the task identifier of the task.
It should be noted that, in this embodiment, each candidate server will send a main selection result request to at least a set number of main selection servers, but different candidate servers may send the main selection result request to different main selection servers, and the main selection servers to which each candidate server sends the main selection result request are not limited. If the set number is 3, the candidate server 1 may send a main selection result request to the main selection server 1, the main selection server 2, the main selection server 3, and the main selection server 4; and the candidate server may send a master result request to the master server 2, the master server 4 and the master server 5.
Optionally, in order to enable the candidate server to obtain the main server that is finally determined by the main server for the task, the candidate server may send a main selecting request result to the candidate server when the ending time of the application execution corresponding to the task is reached.
And S406, the main selection server responds to the main selection result request and sends main selection allocation results to the candidate servers, wherein the main selection allocation results are used for indicating the main servers determined by the main selection server and used for executing the task.
For example, the selected primary allocation result may carry the task identifier and the identifier information of the primary server.
And S407, determining the main server for executing the task according to any main selection allocation result by the candidate server under the condition that the main selection allocation results of at least the set number of main selection servers are the same.
If the identification information of the main server in the main selecting distribution result of each main selecting server is the same, the candidate server pointed by the identification information of the main server is determined to be the main server for executing the task.
And S408, when the candidate servers confirm that the main selection allocation results determined by the main selection servers of at least the set number are not identical, determining the candidate server with the largest number of times indicated as the main server for executing the task according to the main servers indicated by the main selection allocation results.
It may be understood that, when there are a plurality of candidate servers that are indicated as the primary server for the same number of times, the candidate server that is indicated as the primary server for the greatest number of times may be determined from at least one of the primary allocation results that is the latest in the generation time in combination with the generation time of each primary allocation result mentioned in the foregoing embodiment, and the candidate server may be used as the primary server.
It will be appreciated that in the event that the candidate server determines that the primary server for performing the task is the candidate server, the candidate server will perform the task.
In this embodiment, multiple main selection servers are deployed in the distributed system, and under the condition that the main servers of a task need to be determined, each main selection server determines a main server according to the random number of the task reported by each candidate server, so that even if the main selection server is abnormal, the combined server is determined by the multiple main selection servers at the same time, and the candidate servers can acquire the information of the determined main servers from at least half main selection servers, the final consistency of the information of the main servers acquired by different candidate servers can be ensured, the effectiveness and reliability of the main determination servers in the distributed system are ensured, and the disaster recovery capability of the distributed system is improved.
In yet another aspect, the present application further provides an apparatus for determining a primary server. As shown in fig. 5, which is a schematic diagram illustrating a composition structure of an apparatus for determining a primary server according to the present application, the apparatus of this embodiment may be applied to a candidate server, and the apparatus may include:
a random number generation unit 501, configured to generate a random number associated with a task to be executed in a case where the distributed system has the task;
a random number sending unit 502, configured to send the random number associated with the task to a plurality of optional servers of the distributed system;
a result obtaining unit 503, configured to obtain a primary selection allocation result determined by at least some of the multiple primary selection servers, where the primary selection allocation result is used to indicate a primary server to execute the task, and the primary server indicated by the primary selection allocation result is a candidate server for executing the task, where the candidate server is determined by the primary selection server according to random numbers associated with the task and reported by each candidate server in the distributed system;
a primary server determining unit 504, configured to determine a primary server for executing the task based on the primary allocation results determined by each of the at least some primary servers.
In one possible implementation manner, the result obtaining unit is specifically configured to obtain, from the plurality of principal selection servers, principal selection allocation results determined by at least a set number of principal selection servers, where the set number is not less than one half of the number corresponding to the plurality of principal selection servers.
In yet another possible implementation manner, the main server determining unit 504 may include:
the first determining unit is used for determining a main server for executing the task according to any one of the main allocation results under the condition that the main allocation results determined by at least part of the main allocation servers are the same;
and the second determining unit is used for determining the candidate server which is indicated as the main server for executing the task most in the maximum number of times according to the main servers indicated by the main allocation results when the main allocation results determined by at least part of the main servers are not identical.
Optionally, the second determining unit includes:
a time determining subunit, configured to determine a generation time when each of the at least some selected primary servers generates the selected primary allocation result;
The result screening unit is used for determining at least one main selection distribution result with the latest generation moment from main selection distribution results corresponding to at least part of main selection servers;
and a second determining subunit configured to determine, as the main server for executing the task, the candidate server indicated as the main server the largest number of times according to the main server indicated by the at least one selected main allocation result.
In yet another aspect, the present application further provides a device for determining a primary server. As shown in fig. 6, which shows still another structural diagram of an apparatus for determining a primary server according to the present application, the apparatus of this embodiment may be applied to a primary server in a distributed system including a plurality of primary servers and a plurality of candidate servers as described above. The apparatus may include:
a random number obtaining unit 601, configured to obtain a random number reported by at least one candidate server in a distributed system, where the random number is a random number generated by the candidate server and related to a task to be executed in the distributed system;
a random number analysis unit 602, configured to determine, from the at least one candidate server, a candidate server that the reported random number meets a condition;
The main server determining unit 603 is configured to determine, as a main server for executing the task, a candidate server where the reported random number satisfies a condition.
Optionally, the apparatus may further include a result feedback unit, where the result feedback unit is configured to send a primary allocation result indicating the primary server to the candidate server.
In yet another aspect, the present application further provides a server, as shown in fig. 7, which shows a schematic structural diagram of the server of the present application, where the server 700 of the present embodiment may include: a processor 701 and a memory 702.
Optionally, the server may further include: a communication interface 703, an input unit 704 and a display 705 and a communication bus 706.
The processor 701, the memory 702, the communication interface 703, the input unit 704, the display 705, all perform communication with each other via the communication bus 706.
Wherein the processor 701 may invoke a program stored in the memory 702.
Wherein the memory 702 is used to store one or more programs, which may include program code comprising computer operating instructions.
In the embodiment of the present application, in the case where the server is a candidate server, at least a program required for the candidate service side to perform an operation in the embodiment for implementing any one of the above methods for determining a main server is stored in the memory.
In the case that the server is the selected main server, at least a program required for executing an operation on the selected main server side in an embodiment for realizing any one of the above methods for determining the main server is stored in the memory.
In one possible implementation, the memory 702 may include a storage program area and a storage data area, where the storage program area may store an operating system, and applications required for at least one function (e.g., a sound playing function, an image playing function, etc.), etc.; the storage data area may store data created during use of the computer.
The memory 702 may include a high-speed random access memory, a nonvolatile memory, and the like.
The communication interface 703 may be an interface of a communication module, such as an interface of a GSM module.
The application may also include a display 705 and an input unit 704, etc.
Of course, the structure of the server shown in fig. 7 is not limited to the server in the embodiment of the present application, and the server may include more or less components than those shown in fig. 7 or may combine some components in practical applications.
In another aspect, the present application also provides a storage medium having stored therein a computer program for implementing the method of determining a primary server as described in any one of the embodiments above, when the computer program is loaded and executed by a processor.
It should be noted that, in the present specification, each embodiment is described in a progressive manner, and each embodiment is mainly described as different from other embodiments, and identical and similar parts between the embodiments are all enough to be referred to each other. For the apparatus class embodiments, the description is relatively simple as it is substantially similar to the method embodiments, and reference is made to the description of the method embodiments for relevant points.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The foregoing is merely a preferred embodiment of the present invention and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present invention, which are intended to be comprehended within the scope of the present invention.

Claims (11)

1. A method of determining a primary server for use with a candidate server in a distributed system, the method comprising:
generating a random number associated with a task to be executed in the case that the distributed system has the task;
transmitting the random number associated with the task to a plurality of selected servers of the distributed system;
Obtaining a main selection distribution result which is determined by at least a set number of main selection servers in the plurality of main selection servers, wherein the set number is not less than one half of the corresponding number of the plurality of main selection servers, the main selection distribution result is used for indicating a main server to be used for executing the task, and the main server indicated by the main selection distribution result is a candidate server which is determined by the main selection server according to random numbers which are reported by each candidate server in the distributed system and are associated with the task;
and determining a main server for executing the task based on the main selection allocation results determined by the main selection servers of at least the set number.
2. The method of claim 1, wherein the determining a primary server for performing the task based on the primary allocation results determined by each of the at least a set number of primary servers comprises:
under the condition that the main selection distribution results determined by the main selection servers of at least the set number are the same, determining a main server for executing the task according to any main selection distribution result;
And under the condition that the main allocation results determined by the main allocation results of the at least set number of main selection servers are not identical, determining the candidate server with the largest number of times indicated as the main server for executing the task according to the main servers indicated by the main allocation results.
3. The method according to claim 2, wherein the determining, as the main server for performing the task, the candidate server indicated as the main server most frequently in accordance with the main server indicated by each of the selected main allocation results, includes:
determining the generation time when the at least set number of primary selection servers respectively generate the primary selection distribution result;
determining at least one main selection distribution result with the latest generation moment from main selection distribution results corresponding to at least the set number of main selection servers;
and determining the candidate server which is indicated as the main server and has the largest number of times as the main server for executing the task according to the main server indicated by the at least one selected main allocation result.
4. A method of determining a primary server for use with a primary server in a distributed system, the distributed system including a plurality of candidate servers and a plurality of primary servers, the method comprising:
Obtaining a random number reported by at least one candidate server in the distributed system, wherein the random number is generated by the candidate server and is related to a task to be executed in the distributed system;
each of at least a set number of the plurality of main selection servers determines a main selection distribution result, wherein the main selection distribution result is used for indicating a main server to execute the task, the main server indicated by the main selection distribution result is a candidate server of which the main server meets the condition from the at least one candidate server, and the determined reported random number is not less than one half of the corresponding number of the plurality of main selection servers;
and determining the candidate server with the reported random number meeting the condition as a main server for executing the task.
5. A method of determining a primary server, comprising:
under the condition that a distributed system has a task to be executed, a candidate server generates a random number associated with the task, and the distributed system comprises a plurality of candidate servers and a plurality of main selection servers;
the candidate server sends the random number associated with the task to the plurality of selected servers;
The main selecting server obtains a random number reported by at least one candidate server in the distributed system, and determines a candidate server, of which the reported random number meets a condition, from the at least one candidate server;
the selected main server determines the candidate server with the reported random number meeting the condition as the main server;
the candidate servers obtain main selection distribution results which are determined by at least a set number of main selection servers in the plurality of main selection servers, wherein the main selection distribution results are used for indicating main servers to be subjected to the tasks, and the set number is not less than half of the corresponding number of the plurality of main selection servers;
and the candidate servers determine the main servers for executing the tasks based on the main selection allocation results determined by the main selection servers of at least the set number.
6. An apparatus for determining a primary server for use with a candidate server in a distributed system, the apparatus comprising:
a random number generation unit, configured to generate a random number associated with a task to be executed in a distributed system when the task exists;
a random number sending unit, configured to send the random number associated with the task to a plurality of selected servers of the distributed system;
The result obtaining unit is used for obtaining main selection distribution results which are determined by at least a set number of main selection servers in the plurality of main selection servers, wherein the set number is not less than one half of the corresponding number of the plurality of main selection servers, the main selection distribution results are used for indicating main servers to execute the tasks, and the main servers indicated by the main selection distribution results are random numbers associated with the tasks and reported by the main selection servers according to each candidate server in the distributed system, and the candidate servers are determined to execute the tasks;
and the main server determining unit is used for determining the main servers for executing the tasks based on the main selecting distribution results determined by the main selecting servers of at least the set number.
7. The apparatus according to claim 6, wherein the main server determining unit includes:
the first determining unit is used for determining a main server for executing the task according to any one of the main selection distribution results under the condition that the main selection distribution results determined by the main selection servers are the same;
and the second determining unit is used for determining the candidate server with the largest number of times indicated as the main server for executing the task according to the main server indicated by each main allocation result when the main allocation results determined by the main allocation servers of at least the set number are not identical.
8. The apparatus according to claim 7, wherein the second determining unit includes:
a time determining subunit, configured to determine generation times when the at least set number of primary selection servers generate the primary selection allocation results respectively;
the result screening unit is used for determining at least one main selection distribution result with the latest generation moment from main selection distribution results corresponding to the main selection servers with the at least set number;
and a second determining subunit configured to determine, as the main server for executing the task, the candidate server indicated as the main server the largest number of times according to the main server indicated by the at least one selected main allocation result.
9. An apparatus for determining a primary server, for use with a primary server in a distributed system, the distributed system including a plurality of candidate servers and a plurality of primary servers, the apparatus comprising:
the random number obtaining unit is used for obtaining random numbers reported by at least one candidate server in the distributed system, wherein the random numbers are generated by the candidate server and are related to tasks to be executed in the distributed system;
The random number analysis unit is used for determining a main selection distribution result respectively by at least a set number of main selection servers in the plurality of main selection servers, wherein the main selection distribution result is used for indicating a main server to be used for executing the task, the main server indicated by the main selection distribution result is a candidate server of which the main server meets the condition from the at least one candidate server, the determined reported random number is not less than one half of the corresponding number of the plurality of main selection servers;
and the main server determining unit is used for determining the candidate server with the reported random number meeting the condition as the main server for executing the task.
10. A server, comprising:
a processor and a memory;
the processor is used for calling and executing the program stored in the memory;
the memory is used for storing the program at least for implementing the method of determining a primary server according to any one of claims 1 to 3, or claim 4.
11. A storage medium having stored therein computer executable instructions which when loaded and executed by a processor implement the method of determining a primary server as claimed in any one of claims 1 to 3, or claim 4.
CN201911351213.8A 2019-12-24 2019-12-24 Method, device, server and storage medium for determining main server Active CN113032188B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911351213.8A CN113032188B (en) 2019-12-24 2019-12-24 Method, device, server and storage medium for determining main server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911351213.8A CN113032188B (en) 2019-12-24 2019-12-24 Method, device, server and storage medium for determining main server

Publications (2)

Publication Number Publication Date
CN113032188A CN113032188A (en) 2021-06-25
CN113032188B true CN113032188B (en) 2023-11-03

Family

ID=76452300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911351213.8A Active CN113032188B (en) 2019-12-24 2019-12-24 Method, device, server and storage medium for determining main server

Country Status (1)

Country Link
CN (1) CN113032188B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076185B (en) * 2023-10-16 2024-01-05 太平金融科技服务(上海)有限公司 Server inspection method, device, equipment and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530200A (en) * 2012-07-04 2014-01-22 腾讯科技(深圳)有限公司 Server hot backup system and method
CN108600008A (en) * 2018-04-24 2018-09-28 成都致云科技有限公司 Server management method, server managing device and distributed system
WO2019148728A1 (en) * 2018-02-01 2019-08-08 平安科技(深圳)有限公司 Electronic device, execution task assignment method for distributed system, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530200A (en) * 2012-07-04 2014-01-22 腾讯科技(深圳)有限公司 Server hot backup system and method
WO2019148728A1 (en) * 2018-02-01 2019-08-08 平安科技(深圳)有限公司 Electronic device, execution task assignment method for distributed system, and storage medium
CN108600008A (en) * 2018-04-24 2018-09-28 成都致云科技有限公司 Server management method, server managing device and distributed system

Also Published As

Publication number Publication date
CN113032188A (en) 2021-06-25

Similar Documents

Publication Publication Date Title
CN113169952B (en) Container cloud management system based on block chain technology
US10509680B2 (en) Methods, systems and apparatus to perform a workflow in a software defined data center
CN106790694B (en) Distributed system and scheduling method of target object in distributed system
CN106899648B (en) Data processing method and equipment
CN109614209B (en) Task processing method, application server and system
CN108881512B (en) CTDB virtual IP balance distribution method, device, equipment and medium
CN107005452B (en) Network function virtualization resource processing method and virtual network function manager
CN110750343B (en) Cluster system timing task scheduling control method and cluster system
CN107168777B (en) Method and device for scheduling resources in distributed system
US20160234129A1 (en) Communication system, queue management server, and communication method
CN113032188B (en) Method, device, server and storage medium for determining main server
CN111163140A (en) Method, apparatus and computer readable storage medium for resource acquisition and allocation
WO2021013185A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
CN113946427A (en) Task processing method, processor and storage medium for multi-operating system
CN111506388B (en) Container performance detection method, container management platform and computer storage medium
JP5857806B2 (en) Distributed processing system test method and distributed processing system
CN117453357A (en) Node task scheduling method, device, computer equipment and storage medium
CN112905322B (en) Resource locking method, computing device and computer storage medium
CN116455753B (en) Data smoothing method and device
KR20210142829A (en) Edge computing system and method for distributing an application to a plurality of edge devices
CN113703930A (en) Task scheduling method, device and system and computer readable storage medium
CN113645478B (en) Live broadcast push address allocation method and system
US11150942B2 (en) Communication device and communication method used in distributed computing environment
CN113515403B (en) Micro-service state checking method, computer device and storage medium
KR101076762B1 (en) Apparatus for assigning process and method for operating the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant