Scheduling management method and device of server, equipment and storage medium

By determining the target network access information and querying server scheduling management information, the scheduling process of cloud servers is optimized, solving the problem of unreasonable scheduling in the past and achieving high-quality network connection and service quality.

CN121664892APending Publication Date: 2026-03-13BEIJING ZITIAO NETWORK TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

The existing cloud server scheduling and management system suffers from unreasonable scheduling, which fails to fully meet the needs of client users and cannot guarantee service quality.

Method used

By receiving server connection requests from application clients, the system determines the target network access information, queries the preset server scheduling management information, obtains the target server scheduling sequence, and establishes a network connection with the target server when the scheduling conditions are met, prioritizing servers with higher scheduling priority.

Benefits of technology

It improved the service quality of server scheduling, reduced interaction anomalies caused by network quality issues, and met the needs of client users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121664892A_ABST
    Figure CN121664892A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a scheduling management method and device of a server, equipment and a storage medium, and the method comprises the steps: determining target network access information of a network accessed by an application client from a server connection request when the server connection request of the application client is received; pre-determined server scheduling management information is searched, a target server scheduling sequence corresponding to the target network access information is obtained, and the target server scheduling sequence comprises at least one to-be-scheduled server sorted according to the scheduling priority; and if the target server meeting the scheduling condition is determined from the target server scheduling sequence, sending the server connection request to the target server to schedule the target server to establish network connection with the application client. By utilizing the method, a more appropriate server can be allocated to the application client, so that the high efficiency and the real-time performance of the network connection quality between the client and the server are ensured, and the use requirements of the client are better matched.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a server scheduling and management method, apparatus, device, and storage medium. Background Technology

[0002] Cloud computing is an emerging cloud computing approach that can transfer instructions or requests that require computer hardware (such as rendering of images or videos and computational logic) from local machines to cloud servers. This allows users to obtain real-time feedback from cloud servers without needing high-performance hardware devices, simply by connecting to the internet. This real-time feedback also brings a high-quality cloud computing experience to users on the client side.

[0003] As can be seen, in this approach, network quality between the cloud server and the client becomes a critical factor. To ensure efficient and real-time network connection quality, it is typically necessary to deploy multiple cloud servers from different network operators in different regions. This allows the client to connect to a more suitable cloud server. Therefore, determining the appropriate cloud server for the client is crucial to ensuring efficient and real-time performance.

[0004] Currently, determining the appropriate cloud server for a client is mainly achieved through cloud server scheduling and management. However, existing cloud server scheduling and management systems suffer from problems such as unreasonable cloud server allocation. For example, the cloud server allocated to the client may not fully meet the client's usage needs; furthermore, it cannot guarantee that the client will be scheduled to a cloud server with better service quality. Summary of the Invention

[0005] This disclosure provides a server scheduling and management method, apparatus, device, and storage medium, which can realize reasonable scheduling from the server to the application client and improve the service quality of business logic operation on the application client.

[0006] In a first aspect, embodiments of this disclosure provide a server scheduling and management method, the method comprising:

[0007] When a server connection request is received from an application client, the target network access information of the network to which the application client is accessing is determined from the server connection request;

[0008] Based on the target network access information, the preset server scheduling management information is queried to obtain the target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determination conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence contains at least one server to be scheduled according to scheduling priority.

[0009] If a target server that meets the scheduling conditions is determined from the target server scheduling sequence, the server connection request is sent to the target server to schedule the target server to establish a network connection with the application client.

[0010] Secondly, embodiments of this disclosure also provide a server scheduling and management device, the device comprising:

[0011] The first determining module is used to determine the target network access information of the network accessed by the application client from the server connection request when it receives the server connection request from the application client.

[0012] The second determining module is used to query preset server scheduling management information based on the target network access information to obtain a target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determining conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence includes at least one server to be scheduled in order of scheduling priority;

[0013] The connection establishment module is used to send the server connection request to the target server when a target server that meets the scheduling conditions is determined from the target server scheduling sequence, so as to schedule the target server to establish a network connection with the application client.

[0014] Thirdly, embodiments of this disclosure also provide a computer device, the computer device comprising:

[0015] One or more processors;

[0016] Storage device for storing one or more programs.

[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the server scheduling and management method provided in any embodiment of this disclosure.

[0018] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the server scheduling and management method provided in any embodiment of this disclosure.

[0019] Fifthly, embodiments of this disclosure also provide a computer program product, including a computer program that, when executed by a processor, implements the server scheduling and management method provided in any embodiment of this disclosure.

[0020] This disclosure provides a server scheduling management method, apparatus, device, and storage medium. The method first determines the target network access information of the network accessed by the application client from the server connection request upon receiving it. Then, based on the target network access information, it queries preset server scheduling management information to obtain a target server scheduling sequence. This server scheduling management information is determined based on server scheduling data generated within a set historical time period when information determination conditions are met. The server scheduling management information includes at least one network access information and a server scheduling sequence corresponding to the network access information. The server scheduling sequence contains at least one server to be scheduled, ordered by scheduling priority. Finally, when a target server meeting the scheduling conditions is determined from the target server scheduling sequence, a server connection request is sent to that target server to establish a network connection between the target server and the application client. In this embodiment, the provided server scheduling management information is equivalent to a set of information representing the association between network access information and the adapted server. Through the server scheduling management information, the target server scheduling sequence associated with the target network access information can be found, and the servers to be scheduled included in the target server scheduling sequence can be considered as servers more suitable for the application client. Furthermore, the higher a server appears in the target server scheduling sequence, the higher its scheduling priority. Similarly, servers appearing earlier in the sequence can be considered to have a higher compatibility with application clients. In this embodiment, servers can be selected sequentially from the target server scheduling sequence to determine if they meet the current scheduling conditions, and the first server to meet the conditions is selected as the target server. Compared to existing server scheduling methods, this technical solution better considers the compatibility between the server and the application client, ensuring that all target servers selected from the target server scheduling sequence can establish high-quality network connections with the application client. This results in better and more rational server scheduling service quality, reducing interaction anomalies caused by network quality issues and improving the user experience of the server. Attached Figure Description

[0021] To more clearly illustrate the technical solutions of the exemplary embodiments of this disclosure, the accompanying drawings used in describing the embodiments are briefly introduced below. Obviously, the accompanying drawings described are only a portion of the embodiments to be described in this disclosure, and not all of them. For those skilled in the art, other drawings can be obtained from these drawings without any creative effort.

[0022] Figure 1 A schematic flowchart illustrating a server scheduling and management method provided in an embodiment of this disclosure;

[0023] Figure 2 A schematic diagram of the structure of a server scheduling and management device provided in an embodiment of this disclosure;

[0024] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this disclosure. Detailed Implementation

[0025] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0026] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0027] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0028] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules, or units, and are not used to limit the order of functions performed by these devices, modules, or units or their interdependencies. It should also be noted that the modifications of "a" and "a plurality of" mentioned in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0029] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0030] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0031] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0032] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0033] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0034] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0035] Figure 1 This is a flowchart illustrating a server scheduling and management method provided in an embodiment of the present disclosure. This embodiment is applicable to the scheduling and management of servers participating in business logic calculations on application clients. The method can be executed by a server scheduling and management device, which can be implemented by software and / or hardware and can be configured in a terminal and / or server to implement the server scheduling and management method in this embodiment of the present disclosure.

[0036] It should be noted that one application scenario in this embodiment can be described as follows: the application client is an application game client that can transfer the rendering and calculation logic involved from the local machine to a server. The game results can be transmitted to the application game client in real time simply through this server. In this application scenario, a more suitable server needs to be scheduled for the application game client to ensure high-quality network service between the server and the application game client. However, existing scheduling strategies mainly rely on the network operator of the network accessed by the application game client. For example, servers from the same network operator are selected during scheduling, without considering the actual physical distance between the server and the application game client's location. However, physical distance has a more significant impact on network connection quality. Therefore, existing server scheduling methods cannot guarantee that the client will be scheduled to a server with better service quality, which will also affect the user experience of the application client.

[0037] Therefore, to address the problem of unreasonable server scheduling in existing systems, this embodiment provides a server scheduling and management method. For example... Figure 1 As shown, the server scheduling and management method provided in this embodiment may specifically include the following steps:

[0038] S101. When a server connection request is received from an application client, the target network access information of the network accessed by the application client is determined from the server connection request.

[0039] In this embodiment, the application client can be any application that works with the server to ensure normal business operations. This application client is typically installed on the computer device being used. The network accessed by the application client is equivalent to the network accessed by the computer device with the application client installed.

[0040] In this embodiment, the execution entity of the provided server scheduling and management method can be regarded as a scheduling and management platform associated with the application client. It is mainly used to implement the scheduling and management of servers included in the server cluster, where the servers can be considered cloud servers participating in cloud computing. It is understood that for application clients that rely on server computing to realize normal business logic, a network connection needs to be established with the server participating in the business logic operation before responding to business requests. Therefore, after startup, or after a certain business function is triggered, the application client needs to generate a server connection request and first send the server connection request to the scheduling and management platform to achieve a network connection between the application client and a certain server through the scheduling and management platform's scheduling.

[0041] In this embodiment, the scheduling and management platform, which is the main execution entity, can receive the server connection request generated by the application client through this step. The server connection request may include network access information involved in the application client's access to the network. In this embodiment, the network access information corresponding to the application client is recorded as the target network access information.

[0042] For example, the network access information may specifically include: the geographical location of the computer device on which the application client is installed, and the access point operator information of the network access point used by the computer device to connect to the network. The geographical location information can be represented by the geographical identifiers of the country and province where the device is located, and the access point operator information can be represented by operator identifier information.

[0043] S102. Based on the target network access information, query the preset server scheduling management information to obtain the target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determination conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence includes at least one server to be scheduled in order of scheduling priority.

[0044] In this embodiment, after obtaining the target network access information through the above steps, a target server scheduling sequence matching the target network access information can be found through this step. This target server scheduling sequence contains at least one server to be scheduled. In this embodiment, it can be assumed that all servers to be scheduled in the target server scheduling sequence are servers with a high degree of compatibility with the application client.

[0045] It is understood that in this embodiment, after the application client establishes a network connection with any of the servers to be scheduled in the target server scheduling sequence, it can exhibit good network connection quality. Furthermore, in this embodiment, it is preferable to arrange the servers to be scheduled in the target server scheduling sequence in an orderly manner. This means that servers ranked earlier in the target server scheduling sequence are considered more compatible with the application client, implying that the network connection quality after they connect to the application client is relatively better and more stable.

[0046] In this embodiment, the target server scheduling sequence is obtained by querying preset server scheduling management information using target network access information. The server scheduling management information can be predetermined by the executing entity and can be periodically updated when information determination conditions are met. Specifically, it can be determined based on server scheduling data generated within a periodically defined historical time period. This server scheduling management information can be viewed as a set of information characterizing the association between the application client and the adapted server, and specifically, the adaptation relationship between the application client and the server can be reflected through the network access information possessed by the application client.

[0047] Specifically, the server scheduling management information may include one or more network access information entries, and also includes a server scheduling sequence corresponding to each network access information entry. The server scheduling sequence includes one or more servers to be scheduled. There may be multiple application clients belonging to a particular network access information entry; in this embodiment, it is assumed that all servers to be scheduled included in the server scheduling sequence corresponding to that network access information entry can be adapted to these application clients.

[0048] As one implementation method, the process of determining server scheduling management information can be described as follows: collecting scheduling data generated within a historical time period, including network access information of application clients that have established connections with the scheduled server and evaluation information related to the network connections of the application clients; by analyzing the information contained in the scheduling data, preliminary correlation information between network access information and the scheduled server can be established.

[0049] It should be noted that the historical time period can be determined based on the daily demand of the application client on the server. This historical time period is after the previous server scheduling and management information has been determined. After the information collection of the historical time period is completed, and the interval between the current time and the time after the previous server scheduling and management information has been determined also exceeds the historical time period, the determination of server scheduling and management information can be initiated.

[0050] As described above, the preliminary association information may include which servers participated in scheduling under a network access information set, the number of application clients that established network connections through these servers, and the network connection evaluation score for each server. Specifically, this network connection evaluation score can be the average score of all application clients that established network connections with that server. Furthermore, this network connection evaluation score can be used to characterize the scheduling priority of that server when participating in scheduling; generally, a higher network connection evaluation score corresponds to a higher scheduling priority.

[0051] Following the above description, after obtaining the initial association information between network access information and the scheduled servers, the scheduled servers can be filtered out based on the initial association information, and the remaining servers can be sorted after the filtering operation. Specifically, servers that participate in scheduling only occasionally can be filtered out. Then, for the remaining servers, they can be sorted from highest to lowest according to their network connection evaluation score, with the server with the highest score at the top and the lower-scoring servers in descending order. The resulting server queue can be considered the server scheduling sequence related to the network access information.

[0052] This embodiment ultimately summarizes all network access information and their corresponding server scheduling sequences after determining all network access information and their corresponding server scheduling sequences, forming server scheduling management information. Furthermore, the determination of server scheduling management information implemented through the above-described method can be performed periodically to achieve periodic updates of the server scheduling management information. The purpose of these periodic updates is to ensure that more subsequently added application clients can also be assigned to suitable servers. The update cycle can be a scheduling data collection cycle; after one collection of scheduling data is completed, a new determination of server scheduling management information can be initiated.

[0053] S103. If a target server that meets the scheduling conditions is determined from the target server scheduling sequence, the server connection request is sent to the target server to schedule the target server to establish a network connection with the application client.

[0054] In this embodiment, the target server scheduling sequence determined through the above steps includes servers to be scheduled in order of scheduling priority. In principle, any server to be scheduled in the target server scheduling sequence (especially the first server to be scheduled) can be scheduled to establish a network connection with the application client.

[0055] However, considering that the servers to be scheduled in the target server scheduling sequence may also be scheduled to application clients under other network access information, a situation may arise where one server to be scheduled serves multiple application clients simultaneously, leading to a problem where the server to be scheduled has no available resources to provide to the application client. Therefore, this embodiment will determine whether the servers to be scheduled in the target server scheduling sequence meet the scheduling conditions in this step. When a server to be scheduled that meets the scheduling conditions is determined, the subsequent servers to be scheduled will not be determined. Instead, the server to be scheduled that meets the conditions will be directly designated as the target server and participate in the network connection with the application client.

[0056] In this embodiment, the preferred scheduling conditions are: the server to be scheduled has idle computing resources; or, the target network access information has scheduling authority over the server to be scheduled and the server to be scheduled has idle computing resources; wherein, the scheduling authority is defined as the scheduling ratio of the target network access information to the server to be scheduled not reaching the scheduling ratio threshold of the target network access information relative to the server to be scheduled.

[0057] For example, by sequentially selecting a server to be scheduled and comparing its scheduling conditions, it can be determined that the server meets the scheduling conditions if it still has idle computing resources. Furthermore, as described above, for the same server, it may exist in the server scheduling sequence corresponding to multiple network access information entries. This is equivalent to simultaneously establishing network connections with application clients in multiple network access information entries. In this case, it is necessary to consider the scheduling percentage threshold of each network access information entry relative to the server.

[0058] Therefore, after setting a scheduling ratio threshold for network access information relative to the same server, when determining the scheduling conditions of the server to be scheduled in the target server scheduling sequence corresponding to the target network access point, we can first check whether the scheduling ratio of the target network access information to the server to be scheduled has reached the scheduling ratio threshold. If it has, it can be considered that the server to be scheduled no longer meets the scheduling conditions. If it has not, we can further determine whether there are still idle computing resources on the server to be scheduled. If there are, it can be considered that the server to be scheduled meets the scheduling conditions. Otherwise, it is also considered that the server to be scheduled does not meet the scheduling conditions.

[0059] After identifying the target server through the above steps, the executing entity can send a server connection request to the target server to schedule the target server to establish a network connection with the application client. It is understood that after the application client and the target server establish a network connection through the method described above in this embodiment, the application client and the target server can then perform subsequent business data interaction through the connected network.

[0060] This embodiment provides a server scheduling and management method. The provided server scheduling and management information is equivalent to a set of information representing the association between network access information and the adapted servers. Through the server scheduling and management information, a target server scheduling sequence associated with the target network access information can be found. Servers to be scheduled included in this target server scheduling sequence can be considered as servers more suitable for the application client. Furthermore, the earlier a server appears in the target server scheduling sequence, the higher its scheduling priority; similarly, servers to be scheduled earlier can be considered to have a higher compatibility with the application client. In this embodiment, servers to be scheduled can be selected sequentially from the target server scheduling sequence to determine whether they meet the current scheduling conditions, and finally, the first server to be scheduled that meets the scheduling conditions is selected as the target server. Compared to existing server scheduling methods, this embodiment better considers the compatibility between the servers to be scheduled and the application client, ensuring that all target servers selected from the target server scheduling sequence can establish high-quality network connections with the application client. This results in better and more rational server scheduling service quality, reducing interaction anomalies caused by network quality issues and improving the user experience of the server.

[0061] As can be seen from the above technical solution of this embodiment, the key to scheduling the server for the application client lies in the server scheduling management information. This embodiment can update and determine the server scheduling management information in stages. As a first optional embodiment of this embodiment, based on the above optimizations, this optional embodiment can further optimize the corresponding steps for determining the server scheduling management information as follows:

[0062] a1) When the information determination conditions are met, obtain the server scheduling data generated within the set historical time period. Each piece of server scheduling data includes the network access information of the network accessed by the application client, the server identifier of the server connected to the application client, and the connection service information determined during the business interaction between the application client and the connected server. The connection service information is used to characterize the network connection status during the business interaction.

[0063] In this embodiment, the server scheduling management information can be updated when the execution time meets the update conditions. The information determination condition is that the interval between the previous server scheduling management information determination and the current one is greater than or equal to the set historical duration.

[0064] In this embodiment, the previous determination of server scheduling management information can be considered as the execution time of the server scheduling management information determination prior to the current execution. It should be noted that if the current execution is the first determination of server scheduling management information, then the execution time of the previous determination of server scheduling management information can be considered as the start time of service scheduling data collection.

[0065] In this embodiment, as long as the application client needs to establish a network connection with the server, the executing entity will schedule the server. Even if the server scheduling management information has not yet been determined and the server cannot be scheduled using the method provided in this embodiment, existing or other scheduling methods can be used to schedule available servers for the application client. Therefore, the executing entity can generate server scheduling data before executing the method provided in this embodiment.

[0066] This step allows us to obtain server scheduling data generated within a set historical timeframe prior to the current execution time. Preferably, the start and end times of this set historical timeframe fall within a preset time node interval. The start and end times within this time node interval are determined based on the previous server scheduling management information to determine the corresponding update time and the interval duration. Furthermore, the length of the set historical timeframe can be determined based on the daily demand of application clients for the server.

[0067] In this embodiment, the historical duration is preferably set after the end of the previous server scheduling and management information confirmation, and this set historical duration is less than the interval calculated from the end of the previous server scheduling and management information confirmation. The start time of the time interval can be considered as the end of the previous server scheduling and management information confirmation, and the end time is the time after the interval has elapsed since the end of the previous server scheduling and management information confirmation. In other words, the set historical duration can be extracted from the time period from the end of the previous server scheduling and management information confirmation to the start of the current information confirmation.

[0068] Furthermore, the set historical duration can be influenced by the daily demand from application clients on the server. Assuming the total amount of server scheduling data required to determine server scheduling management information is constant, the higher the daily demand from application clients, the higher the amount of server scheduling data generated in a day, and the shorter the time required to reach the total server scheduling data. Conversely, the lower the daily demand from application clients, the lower the amount of server scheduling data generated in a day, and the longer the time required to reach the total server scheduling data. Therefore, it can be seen that the determination of server scheduling management information in this embodiment is not periodic, but rather influenced by the set historical duration involved in the acquired server scheduling data.

[0069] In this embodiment, after a server is assigned to the application client and the application client interacts with the server, a server scheduling data entry can be generated accordingly. This server scheduling data may include network access information related to the application client's network access, server identifiers of the servers assigned to the application client for network connection, and connection service information determined during the application client's interaction with the connected server. This connection service information can be used to characterize the network connection status between the application client and the connected server.

[0070] For example, the connection service information can be a network connection evaluation score that characterizes the quality of the network connection. Specifically, for an application client, the process of determining the connection service information relative to the connected server can be described as follows: During the business interaction between the application client and the server, the image clarity, smoothness, information delay during interaction, and network lag can be evaluated from dimensions such as the image characteristics presented by the application client (e.g., frame rate, bit rate, and resolution), the interaction latency, and the network lag latency (e.g., number of lags, duration of lags, and interval of lags). Evaluation scores can also be obtained for each evaluation. Finally, by weighting the evaluation scores of each dimension, the determined comprehensive score can be considered a network connection evaluation score that characterizes the quality of the network connection. This network connection evaluation score can be seen as a representation of the connection service information of the server relative to the application client in this embodiment.

[0071] b1) Organize the server scheduling data according to the dimensions of network access information, determine the candidate server corresponding to each network access information, and determine the connection attribute information corresponding to the candidate server.

[0072] In this embodiment, the above steps can obtain each piece of scattered server scheduling data within a set historical time period. This step can then organize the obtained server scheduling data according to the dimension of network access information, thereby establishing an initial association between network access information and servers.

[0073] Specifically, as one implementation method, this step can group server scheduling data belonging to the same network access information together; thus, it is equivalent to obtaining a set of server scheduling data for each network access information. For a network access information, it is possible to further analyze which servers exist. In this embodiment, the servers that exist relative to the network access information can be recorded as candidate servers. Then, the number of application clients existing under each candidate server can be determined. Afterwards, based on the connection service information corresponding to the application clients existing under each candidate server, the connection attribute information corresponding to that candidate server can be determined. This connection attribute information can include the average score of all network connection evaluation scores that characterize connection service information.

[0074] Based on the above description, this embodiment determines the connection attribute information of each candidate server by the number of application clients and connection service information relative to each candidate server.

[0075] c1) For each network access information, the candidate servers are filtered and sorted according to the connection attribute information to obtain a server scheduling sequence containing the servers to be scheduled.

[0076] In this embodiment, after determining the preliminary server association information (such as which candidate servers and which connection attribute information they correspond to) for each network access information through the above steps, this step can further determine more precise server-related information for the network access information using the connection attribute information of the candidate servers. This forms a matching server scheduling sequence for each network access information.

[0077] Specifically, as one implementation method, for a network access information, candidate servers can be filtered by the number of application clients in the connection attribute information of the candidate servers. Only candidate servers with more than a certain number of application clients are retained as the servers to be scheduled under the network access information. Then, for the remaining servers to be scheduled after filtering, they can be further sorted from high to low according to the average score of their network connection evaluation scores. The sorted server queue can be used as the server scheduling sequence for the network access information.

[0078] d1) Obtain server scheduling management information containing the network access information and corresponding server scheduling sequences.

[0079] After obtaining the server scheduling sequence of all network access information through the above steps, this step can summarize the network access information and related server scheduling sequences, and finally form the server scheduling management information participating in the server scheduling management method provided in this embodiment.

[0080] The first optional embodiment of the technical solution above provides an implementation process for determining server scheduling management information. In determining the server scheduling management information, the number of connections to the application clients connected to the server and the connection service information are key factors. This allows for matching a more reasonable server scheduling sequence to different network access information. In the determination logic provided in this optional embodiment, whether the network operator involved in the server matches the network operator involved in the application client is not considered; rather, more consideration is given to the better network connection that the server can provide to the application client after connecting to it. Compared with the prior art, the impact of network operator matching on server scheduling is weakened. The server determined through link quality score can better ensure the rationalization of network connection quality and better meet the application needs of the application client.

[0081] As a second optional embodiment of this example, based on the above optimizations, the server scheduling data can be optimized by organizing it according to the dimension of network access information, determining the candidate server corresponding to each network access information, and determining the connection attribute information corresponding to the candidate server, including the following steps:

[0082] b11) For each network access information, obtain the server identifier of the server connected to by the application client under the network access information, and determine the server corresponding to the server identifier as a candidate server under the network access information.

[0083] It is understood that this optional embodiment provides a specific implementation method for determining the candidate servers and their corresponding connection attribute information involved in the network access information dimension. The implementation logic provided in this embodiment can determine the relevant information for each network access information.

[0084] For example, based on the server scheduling data collected in this embodiment, the server identifier of the server connected to by the application client in the server scheduling data can be obtained. This step can obtain the servers corresponding to all application clients belonging to the network access information, and the server identifiers of these servers can be used to represent the candidate servers associated with the network access information.

[0085] b12) For each candidate server, determine the number of application clients connected to the candidate server, and determine the connection attribute information of the candidate server based on the number of clients and the connection service information in the business interaction with the connected application clients.

[0086] In this embodiment, the number of application clients that have established network connections with each candidate server can be counted. Simultaneously, each application client that has established a network connection with a candidate server has a corresponding connection service information for that candidate server. This step determines the connection attribute information of the candidate server based on the connection service information of each application client, along with the number of application clients.

[0087] The connection service information can be exemplified by a network connection evaluation score. The connection attribute information includes the average connection evaluation score determined by the network connection evaluation score. For instance, Table 1 below shows server-related information compiled based on a network access information set. As shown in Table 1, the network access information includes two dimensions: network access region and access point operator. It also shows six candidate servers associated with this network access information, and the connection attribute information corresponding to each candidate server. This connection attribute information includes the number of application clients connected to the candidate server, and the average connection evaluation score determined based on the connection service information of each application client relative to the candidate server.

[0088] Table 1 lists server-related information compiled based on network access information.

[0089]

[0090] The above-described technical solution of this second optional embodiment provides a specific implementation for determining candidate servers and related connection attribute information when using network access information as the data processing dimension. The information determination in this optional embodiment provides basic data support for the determination of server scheduling and management information.

[0091] Based on the above embodiments, a third optional embodiment of this embodiment can also provide a specific implementation method for determining the server scheduling sequence corresponding to the network access information dimension. Further, optimizing the filtering and sorting of candidate servers according to the connection attribute information to obtain a server scheduling sequence containing the servers to be scheduled specifically includes the following steps:

[0092] c11) Based on the number of application clients in the connection attribute information, filter the candidate servers to be scheduled.

[0093] In this embodiment, candidate servers whose number of application clients is less than a set threshold in the connection attribute information can be filtered out, and the remaining candidate servers after filtering can be determined as servers to be scheduled.

[0094] In this embodiment, the purpose of filtering out candidate servers can be understood as excluding servers that are occasionally scheduled to application clients. The set threshold can preferably be set to 5% of the total number of application clients connected to all candidate servers involved under the network access information. For example, taking Table 1 above as an example, the set threshold can be set to 3169, which is specifically 5% of the sum of the number of application clients corresponding to the 6 candidate servers.

[0095] Similarly, taking Table 1 above as an example, through the filtering operation in this step, the two candidate servers identified as server 4 and server 5 and their related information can be filtered out from Table 1.

[0096] c12) Determine the scheduling priority of the server to be scheduled based on the connection service information in the connection attribute information.

[0097] In this embodiment, when connection service information is represented by network connection evaluation scores, the network connection evaluation scores of each server to be scheduled can be determined, thereby determining the average connection evaluation score obtained by averaging the network connection evaluation scores.

[0098] In this embodiment, the average connection evaluation score for each candidate server can characterize the compatibility between the candidate server and the application client. The higher the average connection evaluation score, the better the candidate server matches the application client under the network access information. Therefore, this step can use the average connection evaluation score as the scheduling priority of the candidate server.

[0099] c13) Arrange the servers to be scheduled from high to low according to the scheduling priority to obtain the server scheduling sequence corresponding to the network access information after sorting.

[0100] In this embodiment, the candidate servers can be sorted from high to low using the scheduling priority to obtain the server scheduling sequence corresponding to the network access information after sorting.

[0101] Table 2 shows the data information generated after filtering and sorting a network access information.

[0102]

[0103] For example, by processing the data in Table 1 through this optional embodiment, the data information shown in Table 2 above can be obtained. Table 2 shows the data information formed after filtering and sorting relative to a network access information. Figure 2 As shown, four servers were ultimately retained under this network access information, and after being sorted according to the average connection evaluation score, the server identified as server 6 was ranked first.

[0104] Based on the data results in Table 2, a server scheduling sequence containing {Server 6, Server 2, Server 1, Server 3} can be determined for the network access information (XXX1, YYY).

[0105] The above technical solution of the third optional embodiment provides a specific implementation for determining the server scheduling sequence under the network access information dimension. The information determination in this optional embodiment provides basic data support for the determination of server scheduling management information.

[0106] As a fourth optional embodiment of this embodiment, based on the above optimizations, the method provided in this embodiment may further include, after obtaining server scheduling management information containing each of the network access information and the corresponding server scheduling sequence, determining the scheduling ratio threshold of each of the network access information relative to each server to be scheduled in the server scheduling sequence.

[0107] In the above description of this embodiment, it was mentioned that the same server may be simultaneously scheduled by application clients under multiple network access information. In order to maximize the overall service quality of application clients when server resources are fixed, this embodiment can also determine the scheduling ratio threshold of the servers to be scheduled included in the server scheduling sequence of each network access information through this optional embodiment.

[0108] In this embodiment, the scheduling ratio threshold can be determined based on the number of application clients of the server to be scheduled included in the server scheduling sequence relative to the network access information, as well as the average connection evaluation score.

[0109] Furthermore, as an implementation method, determining the scheduling proportion threshold of each network access information relative to each server to be scheduled in the server scheduling sequence can be specified as the following steps:

[0110] a2) For each server to be scheduled, determine the network access information to which the server to which it belongs corresponds to the server scheduling sequence.

[0111] It is understandable that, considering the determination of the scheduling ratio threshold for servers to be scheduled, the specific implementation of this embodiment is based on the perspective of the servers to be scheduled.

[0112] In this embodiment, this step can determine which network access information each server to be scheduled belongs to.

[0113] b2) Obtain the connection attribute information of the server to be scheduled relative to its network access information.

[0114] In this embodiment, the connection attribute information of each network access information to which the server to be scheduled belongs can be obtained. For example, taking the server identified as server 6 as an example, assuming that server 6 belongs to network access information (XXX1, YYY), and belongs to network access information (XXX2, YYY), the number of application clients under (XXX1, YYY) is 19369, and the average connection evaluation score is 4.52; and the number of application clients under (XXX2, YYY) is 38652, and the average connection evaluation score is 4.3.

[0115] c2) Determine the scheduling percentage threshold of the server to be scheduled in the network access information based on the connection attribute information.

[0116] In this embodiment, this step can determine which network access information has the highest average connection evaluation score for the server to be scheduled through connection attribute information. Therefore, the server to be scheduled can be considered as the main scheduling server for the network access information corresponding to the network access information with the highest average connection evaluation score, and thus a higher scheduling ratio threshold can be assigned to it.

[0117] For example, following the above description, it can be found that server 6 has the highest average connection evaluation score under (XXX1, YYY). In this case, a scheduling percentage threshold calculation formula can be used to determine the scheduling percentage threshold of server 6 under (XXX1, YYY). The scheduling percentage threshold calculation formula can be described as: P = 1 - (A / B), where P is rounded to the nearest integer, A can be considered as the total number of application clients of other servers to be scheduled under (XXX1, YYY) excluding server 6, and B can be considered as the total number of application clients of all other network access information containing server 6 (here it could be (XXX2, YYY), but in actual applications, it may be more than (XXX2, YYY), and there may be other network access information) relative to server 6.

[0118] Following the above description, taking (XXX1,YYY) as an example containing only server 6 and server 3, A in the formula can be equal to 9957 (the number of application clients corresponding to server 3), and B can be equal to 386952. Then, it can be determined that the scheduling ratio threshold of server 6 relative to (XXX1,YYY) is approximately 74%.

[0119] The above technical solution provides a specific implementation for determining the scheduling ratio threshold for servers under different network access information. By determining the scheduling ratio threshold for servers under different network access information, the maximum utilization of computing resources on the servers can be better guaranteed.

[0120] It is understood that the above embodiment essentially provides one execution branch for server scheduling, specifically demonstrating how to establish a connection between the application client and the target server when a target server meeting the scheduling conditions is determined from the target server scheduling sequence. This embodiment also addresses the scenario where no target server meeting the scheduling conditions is determined from the target server scheduling sequence. In this case, the execution entity still needs to determine a server for the application client to ensure that a server can be scheduled to establish a normal connection with the application client.

[0121] Based on this, as a fifth optional embodiment of this embodiment, the method provided in this embodiment may further include, on the basis of the above optimization, the following: if no target server that meets the scheduling conditions is determined from the target server scheduling sequence, then a target server is determined from the servers with idle computing resources according to a set filtering method, and the server connection request is sent to the determined target server.

[0122] It can be seen that this optional embodiment provides an execution branch when a target server that meets the scheduling conditions cannot be determined from the target server scheduling sequence. In this execution branch, a server filtering idea can be set, and the target server can be finally determined from the servers with idle computing resources according to the filtering idea.

[0123] Specifically, the server selection process can be described as follows: First, obtain the network access region information from the target network access information of the application client. This determines which servers are deployed within that network access region. At this point, it is no longer necessary to specify whether the access point operator of the deployed servers matches the access point operator in the target network access information. Assuming that servers with available computing resources are selected through this process, one of them can be directly chosen as the target server.

[0124] If the above filtering process fails to find a target server, it can be further determined that the server belongs to the same access point operator, but is no longer limited to servers located in the same network access region. Similarly, if the same filtering process fails to find a target server, a fallback server will be selected from servers that do not belong to the same access point operator or the same network access region as the final target server.

[0125] It should be noted that when the scheduling conditions are that the target network access information has scheduling authority over the server to be scheduled and there are idle computing resources on the server to be scheduled, the scheduling condition determination for any server to be scheduled in the server scheduling sequence is as follows: First, the total number of application clients under the target network access information scheduled to the server to be scheduled is determined, and the total number of application clients under all network access information scheduled to the server to be scheduled is also calculated. Then, the ratio of the total number of the first client to the total number of the second client can be calculated, and this ratio is determined as the scheduling proportion of the server to be scheduled by the target network access information.

[0126] Finally, the scheduling percentage can be compared with the scheduling percentage threshold of the server to be scheduled relative to the target network access information. If the scheduling percentage is less than the scheduling percentage threshold, it can be considered that the target network access information still has the scheduling authority over the server to be scheduled. Then, it can be further determined whether the server to be scheduled has idle computing resources. If it does, the server to be scheduled can be used as the target server for the application client.

[0127] This optional embodiment provides another way to determine the execution branch of the target server. This execution branch can ensure the continuity and stability of the cloud computing services provided by the server even when the number of application clients surges, thereby effectively avoiding the problem of cloud computing service unavailability or a significant drop in service quality due to insufficient server resources.

[0128] Figure 2 This is a schematic diagram of a server scheduling and management device provided in an embodiment of this disclosure. This embodiment is applicable to the scheduling and management of servers participating in business logic calculations on application clients. The device can be implemented through software and / or hardware and can be configured in a terminal and / or server to implement the server scheduling and management method in this embodiment. Specifically, the device may include: a first determining module 21, a second determining module 22, and a connection establishing module 23.

[0129] The first determining module 21 is used to determine the target network access information of the network accessed by the application client from the server connection request when it receives the server connection request from the application client.

[0130] The second determining module 22 is used to query preset server scheduling management information based on the target network access information to obtain a target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determining conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence includes at least one server to be scheduled in order of scheduling priority;

[0131] The connection establishment module 23 is used to send the server connection request to the target server when a target server that meets the scheduling conditions is determined from the target server scheduling sequence, so as to schedule the target server to establish a network connection with the application client.

[0132] This embodiment provides a server scheduling and management device. The provided server scheduling and management information is equivalent to a set of information representing the association between network access information and the adapted servers. Through the server scheduling and management information, a target server scheduling sequence associated with the target network access information can be found. Servers to be scheduled included in this target server scheduling sequence can be considered as servers more suitable for the application client. Furthermore, the earlier a server is ranked in the target server scheduling sequence, the higher its scheduling priority; similarly, servers to be scheduled earlier can be considered to have a higher compatibility with the application client. In this embodiment, servers to be scheduled can be selected sequentially from the target server scheduling sequence to determine whether they meet the current scheduling conditions, and finally, the first server to be scheduled that meets the scheduling conditions is selected as the target server. Compared to existing server scheduling methods, this technical solution better considers the compatibility between the servers to be scheduled and the application client, ensuring that all target servers selected from the target server scheduling sequence can establish high-quality network connections with the application client. This results in better and more rational server scheduling service quality, reducing interaction anomalies caused by network quality issues and improving the user experience of the server.

[0133] Furthermore, the server scheduling and management information is updated and determined according to a set period. The device also includes an information update determination module, which specifically includes:

[0134] The data aggregation unit is used to aggregate server scheduling data generated within a set historical time period when the information determination conditions are met. Each piece of server scheduling data includes network access information of the network accessed by the application client, server identifier of the server connected to the application client, and connection business information determined during the business interaction between the application client and the connected server.

[0135] The data processing unit is used to process the server scheduling data according to the dimensions of network access information, determine the candidate server corresponding to each network access information, and determine the connection attribute information corresponding to the candidate server.

[0136] The data filtering unit is used to filter and sort the candidate servers according to the connection attribute information for each network access information, and obtain a server scheduling sequence containing the servers to be scheduled.

[0137] The information determination unit is used to obtain server scheduling management information that includes the network access information and the corresponding server scheduling sequence.

[0138] Furthermore, the information determination conditions are as follows: the interval length determined by the previous server scheduling management information is greater than or equal to the set historical duration; the start and end times of the set historical duration fall within a preset time node interval, and the start and end time nodes in the time node interval are determined based on the corresponding update time and the interval length determined by the previous server scheduling management information; the duration of the set historical duration is determined according to the daily demand of the application client on the server.

[0139] Furthermore, the data processing unit can specifically be used for:

[0140] For each network access information, the server identifiers of the servers connected to by the application clients under the network access information are summarized, and the servers corresponding to the server identifiers are determined as candidate servers under the network access information.

[0141] For each candidate server, the number of application clients connected to the candidate server is counted, and the average connection evaluation score of the connection business information in the business interaction with the connected application clients is determined.

[0142] The number of application clients and the average connection evaluation score are used as the connection attribute information of the candidate server.

[0143] Furthermore, the data filtering unit can specifically be used for:

[0144] For each network access information, candidate servers with fewer than a set threshold number of application clients in the connection attribute information are filtered out, and the remaining candidate servers after filtering are determined as servers to be scheduled.

[0145] The average score of the connection evaluation in the connection attribute information is used as the scheduling priority, and the servers to be scheduled are arranged from high to low according to the scheduling priority to obtain the server scheduling sequence corresponding to the network access information after sorting.

[0146] Furthermore, the device may also include: a probability determination module, used to determine the scheduling ratio threshold of each network access information relative to each server to be scheduled in the server scheduling sequence after obtaining server scheduling management information containing each network access information and the corresponding server scheduling sequence.

[0147] Furthermore, the probability determination module can specifically be used for:

[0148] For each server to be scheduled, determine the network access information to which the server to which it belongs corresponds to the server scheduling sequence.

[0149] Obtain the connection attribute information of the server to be scheduled relative to its network access information;

[0150] The scheduling percentage threshold of the server to be scheduled in the network access information is determined based on the connection attribute information.

[0151] Furthermore, the device may also include a filtering and determination module, used to determine a target server from servers with idle computing resources according to a set filtering method when no target server that meets the scheduling conditions is determined from the target server scheduling sequence, and to send the server connection request to the determined target server.

[0152] Further, the scheduling conditions are: there are idle computing resources on the server to be scheduled; or, the target network access information has scheduling authority over the server to be scheduled and there are idle computing resources on the server to be scheduled; wherein, the scheduling authority is that the scheduling ratio of the target network access information to the server to be scheduled does not reach the scheduling ratio threshold of the target network access information relative to the server to be scheduled.

[0153] The above-described apparatus can execute the methods provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the methods.

[0154] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.

[0155] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this disclosure. Reference is made below. Figure 3 It illustrates a computer device suitable for implementing embodiments of the present disclosure (e.g., Figure 3The diagram below shows the structure of the terminal device or server 30. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 3 The computer device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0156] like Figure 3 As shown, the computer device 30 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 31, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 32 or a program loaded from a storage device 38 into a random access memory (RAM) 33. The RAM 33 also stores various programs and data required for the operation of the computer device 30. The processing unit 31, the ROM 32, and the RAM 33 are interconnected via a bus 35. An edit / output (I / O) interface 34 is also connected to the bus 35.

[0157] Typically, the following devices can be connected to I / O interface 34: input devices 36 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 37 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 38 including, for example, magnetic tapes, hard disks, etc.; and communication devices 39. Communication device 39 allows computer device 30 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 A computer device 30 with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have instead.

[0158] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 39, or installed from a storage device 38, or installed from a ROM 32. When the computer program is executed by the processing device 31, it performs the functions defined in the methods of embodiments of this disclosure.

[0159] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0160] The computer device provided in this embodiment and the server scheduling and management method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0161] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the server scheduling and management method provided in the above embodiments.

[0162] It should be noted that the computer-readable medium described above in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.

[0163] In this disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0164] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0165] The aforementioned computer-readable medium may be included in the aforementioned computer device; or it may exist independently and not assembled into the computer device.

[0166] The aforementioned computer-readable medium carries one or more programs that, when executed by the computer device, cause the computer device to:

[0167] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0168] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0169] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".

[0170] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0171] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0172] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0173] Furthermore, although the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while some specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0174] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A server scheduling and management method, characterized in that, include: When a server connection request is received from an application client, the target network access information of the network to which the application client is accessing is determined from the server connection request; Based on the target network access information, the preset server scheduling management information is queried to obtain the target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determination conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence contains at least one server to be scheduled according to scheduling priority. If a target server that meets the scheduling conditions is determined from the target server scheduling sequence, the server connection request is sent to the target server to schedule the target server to establish a network connection with the application client.

2. The method according to claim 1, characterized in that, The steps for determining the server scheduling and management information include: When the information determination conditions are met, server scheduling data generated within a set historical time period is obtained. Each piece of server scheduling data includes network access information of the network accessed by the application client, server identifier of the server connected to the application client, and connection service information determined during the business interaction between the application client and the connected server. The connection service information is used to characterize the network connection status during the business interaction. The server scheduling data is organized according to the dimensions of network access information to determine the candidate server corresponding to each network access information, and to determine the connection attribute information corresponding to the candidate server. For each network access information, the candidate servers are filtered and sorted according to the connection attribute information to obtain a server scheduling sequence containing the servers to be scheduled; Obtain server scheduling management information that includes the network access information and the corresponding server scheduling sequence.

3. The method according to claim 2, characterized in that, The information determination condition is: the interval between the previous server scheduling and management information determination is greater than or equal to the set historical duration. The start and end times of the set historical duration fall within a preset time node interval. The start and end times of the time node interval are determined based on the previous server scheduling and management information to determine the corresponding update time and the interval duration. The duration of the set historical period is determined based on the daily demand of the application client on the server.

4. The method according to claim 2, characterized in that, The step of organizing the server scheduling data according to the dimension of network access information, determining the candidate server corresponding to each network access information, and determining the connection attribute information corresponding to the candidate server includes: For each network access information, obtain the server identifier of the server connected to by the application client under the network access information, and determine the server corresponding to the server identifier as a candidate server under the network access information; For each candidate server, determine the number of application clients connected to the candidate server, and determine the connection attribute information of the candidate server based on the number of clients and the connection business information in the business interaction with the connected application clients.

5. The method according to claim 2, characterized in that, The step of filtering and sorting the candidate servers according to the connection attribute information to obtain a server scheduling sequence containing the servers to be scheduled includes: Based on the number of application clients in the connection attribute information, select the server to be scheduled from the candidate servers; Based on the connection service information in the connection attribute information, determine the scheduling priority of the server to be scheduled; The servers to be scheduled are arranged from high to low according to the scheduling priority, and the server scheduling sequence corresponding to the network access information after sorting is obtained.

6. The method according to claim 2, characterized in that, After obtaining server scheduling management information containing the aforementioned network access information and corresponding server scheduling sequences, the system further includes: Determine the scheduling ratio threshold of each network access information relative to each server to be scheduled in the server scheduling sequence.

7. The method according to claim 6, characterized in that, Determining the scheduling ratio threshold of each network access information relative to each server to be scheduled in the server scheduling sequence includes: For each server to be scheduled, determine the network access information to which the server to which it belongs corresponds to the server scheduling sequence. Obtain the connection attribute information of the server to be scheduled relative to its network access information; The scheduling percentage threshold of the server to be scheduled in the network access information is determined based on the connection attribute information.

8. The method according to claim 1, characterized in that, Also includes: If no target server that meets the scheduling conditions is determined from the target server scheduling sequence, a target server is determined from the servers with idle computing resources according to the set filtering method, and the server connection request is sent to the determined target server.

9. The method according to any one of claims 1-8, characterized in that, The scheduling conditions are: there are idle computing resources on the server to be scheduled; or, the target network access information has scheduling authority over the server to be scheduled and there are idle computing resources on the server to be scheduled. Wherein, the scheduling authority is defined as the scheduling ratio of the target network access information to the server to be scheduled not reaching the scheduling ratio threshold of the target network access information relative to the server to be scheduled.

10. A server scheduling and management device, characterized in that, include: The first determining module is used to determine the target network access information of the network accessed by the application client from the server connection request when it receives the server connection request from the application client. The second determining module is used to query preset server scheduling management information based on the target network access information to obtain a target server scheduling sequence; wherein, the server scheduling management information is determined based on server scheduling data generated within a set historical time period when the information determining conditions are met; the server scheduling management information includes: at least one network access information, and a server scheduling sequence corresponding to the network access information, wherein the server scheduling sequence includes at least one server to be scheduled in order of scheduling priority; The connection establishment module is used to send the server connection request to the target server when a target server that meets the scheduling conditions is determined from the target server scheduling sequence, so as to schedule the target server to establish a network connection with the application client.

11. A computer device, characterized in that, The computer device includes: One or more processors; a storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the server scheduling and management method as described in any one of claims 1-9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by the processor, the program implements the server scheduling and management method as described in any one of claims 1-9.

13. A computer program product comprising a computer program that, when executed by a processor, implements the server scheduling and management method according to any one of claims 1-9.