CN115412738B - Scheduling method and device of server and storage medium - Google Patents

Scheduling method and device of server and storage medium Download PDF

Info

Publication number
CN115412738B
CN115412738B CN202110576513.7A CN202110576513A CN115412738B CN 115412738 B CN115412738 B CN 115412738B CN 202110576513 A CN202110576513 A CN 202110576513A CN 115412738 B CN115412738 B CN 115412738B
Authority
CN
China
Prior art keywords
server
current
determining
servers
allocated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110576513.7A
Other languages
Chinese (zh)
Other versions
CN115412738A (en
Inventor
刘水兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangxi Sanfangda Supply Chain Technology Service Co ltd
Original Assignee
Guangxi Sanfangda Supply Chain Technology Service Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangxi Sanfangda Supply Chain Technology Service Co ltd filed Critical Guangxi Sanfangda Supply Chain Technology Service Co ltd
Priority to CN202110576513.7A priority Critical patent/CN115412738B/en
Publication of CN115412738A publication Critical patent/CN115412738A/en
Application granted granted Critical
Publication of CN115412738B publication Critical patent/CN115412738B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiment of the invention discloses a server scheduling method, a server scheduling device and a storage medium. The method comprises the following steps: when receiving notification information of the anchor channel opening, determining a current server to be allocated in each server, wherein the current server to be allocated is used for providing live broadcast services for the current anchor channel; acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal; and according to the terminal attribution information, determining a target server matched with the current user terminal from the current servers to be allocated, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel. The technical scheme of the embodiment of the invention can improve the sharing effect of the anchor channel and is beneficial to improving the user experience.

Description

Scheduling method and device of server and storage medium
Technical Field
The embodiment of the invention relates to the technical field of Internet, in particular to a server scheduling method, a server scheduling device and a storage medium.
Background
With the rapid development of the internet technology, the audio and video live broadcast technology is widely applied, and the scheduling of the server is completed by utilizing the live broadcast point-to-point technology, which is an important link in a live broadcast technology stack.
In the prior art, when some P2P scheduling systems allocate servers for anchor channels, an allocation manner using load balancing of the servers as a guide is adopted. However, in the prior art, whether the users on the same server are suitable for sharing is not considered, and when the logical distance between some users is large, the affinity between each user and the server is poor, the sharing effect is poor, and the user experience is poor.
Disclosure of Invention
The embodiment of the invention provides a server scheduling method, a server scheduling device and a storage medium, which are used for determining a corresponding target server based on terminal attribution information of a current user terminal, so that user terminals with smaller logical distance and suitable for sharing are matched with the same target server, and the sharing effect of a main broadcasting channel is improved.
In a first aspect, an embodiment of the present invention provides a method for scheduling a server, which may include:
when receiving notification information of the anchor channel opening, determining a current server to be allocated in each server, wherein the current server to be allocated is used for providing live broadcast services for the current anchor channel;
Acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch the current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal;
and according to the terminal attribution information, determining a target server matched with the current user terminal from the current servers to be allocated, and establishing connection between the current user terminal and the target server to acquire the channel resources of the current anchor channel.
Optionally, the determining the current server to be allocated for providing live services for the current anchor channel in each server includes:
determining the current supply quantity of a server side and the current demand quantity of a user side;
calculating the area weight of each area based on the current supply amount and the current demand amount; calculating the number of the current servers to be distributed;
and determining the number of servers as the current servers to be allocated based on the region weights.
Optionally, the determining the current supply amount of the server side and the current demand amount of the user side includes:
determining an area to which a server belongs, and counting the first number sum of the first terminal number of the current user terminal in the area and the first number sum of the remaining bearing user numbers of each server deployed in the area;
Determining an operator to which the server belongs, and counting the second number sum of the second terminal number of the current user terminal with the same operator and the second number sum of the remaining bearing users deployed in each server of the operator;
counting the third number of the current user terminals and the third sum of the number of the residual bearing users of each server under the conditions of the area and the operator to which the server belongs;
determining the sum of the first quantity sum, the second quantity sum and the third quantity sum as the current supply quantity, and determining the sum of the first terminal quantity, the second terminal quantity of a preset multiple and the third terminal quantity of the preset multiple as the current demand quantity.
Alternatively to this, the method may comprise,
the calculating the area weight of each area based on the current supply amount and the current demand amount includes:
calculating each of the region weights based on w= (x+y+xy), (a+b+r+ab);
wherein W is a regional weight, X is the first number sum, Y is the second number sum, and XY is the third number sum; a is the first terminal number, B is the second terminal number, AB is the third terminal number, and r is the preset multiple.
Optionally, the determining, based on the area weights, the number of servers as the current server to be allocated includes:
determining the number of the regional servers to be distributed in each region based on the proportional relation between the number of the current servers to be distributed and the regional weight;
sequencing the servers of each region according to the order from small to large of the number of the bearing channels, and selecting the servers of the fraction in the sequence as the servers to be distributed of the region according to the order from front to back;
and determining the area server to be allocated of each area as the current server to be allocated.
Optionally, the determining, according to the terminal attribution information, a target server matched with the current user terminal from the current servers to be allocated includes:
determining a current server to be allocated, which is consistent with an operator of the current user terminal, in the current servers to be allocated as a same operator server according to the operator attribution information in the terminal attribution information;
and determining the same operator server consistent with the area of the current user terminal from the same operator servers as the target server according to the position attribution information in the terminal attribution information.
Optionally, the determining, according to the location attribution information in the terminal attribution information, a same operator server that is consistent with the area to which the current user terminal belongs from the same operator servers as the target server includes:
determining whether the same operator server exists in the city range to which the current user terminal belongs according to the position attribution information;
if the city range exists, determining the target server from the same operator servers in the city range;
if the city range does not exist, determining whether the same operator server exists in the province range to which the current user terminal belongs;
if the province range exists, determining the target server from the servers of the same operators in the province range;
if the province range does not exist, determining whether the same operator server exists in a large area range to which the current user terminal belongs;
if the large area range exists, determining the target server from the servers of the same operators in the large area range;
If the large area does not exist, the target server fails to match.
Optionally, the determining the target server from the co-operator servers in the city range includes:
acquiring the number of current bearing users of each server of the same operator in the city range;
and determining the same-operator server with the minimum number of the current bearing users as the target server.
In a second aspect, an embodiment of the present invention further provides a scheduling apparatus for a server, which may include:
the server module to be distributed is used for determining the current server to be distributed in each server for providing live broadcast service for the current main broadcasting channel when receiving the notification information of the main broadcasting channel broadcasting;
the acquisition module is used for acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch the current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal;
and the target server determining module is used for determining a target server matched with the current user terminal in the current server to be allocated according to the terminal attribution information, and establishing connection between the current user terminal and the target server to acquire the channel resource of the current anchor channel.
In a third aspect, an embodiment of the present invention further provides a computer readable storage medium having stored thereon a computer program, which when executed by a processor, implements the scheduling method of a server provided by any embodiment of the present invention.
The scheduling method of the servers, provided by the embodiment of the invention, determines the current server to be allocated in each server for providing live broadcast service for the current anchor channel when receiving the notification information of the anchor channel play; acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal; and determining a target server matched with the current user terminal from the current servers to be allocated according to the terminal attribution information, so that the current user terminal and the target server are connected under the condition that at least one of the position attribution information and the operator attribution information is considered to acquire channel resources of the current anchor channel. Therefore, the embodiment of the invention determines the corresponding target server based on the terminal attribution information of the current user terminal, so that the user terminal with smaller logic distance and suitable for sharing is matched with the same target server, the sharing effect of the anchor channel is improved, and the user experience is improved.
In addition, the scheduling device and the storage medium of the server provided by the invention correspond to the method and have the same beneficial effects.
Drawings
For a clearer description of embodiments of the present invention, the drawings that are required to be used in the embodiments will be briefly described, it being apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to the drawings without inventive effort for those skilled in the art.
Fig. 1 is a flowchart of a server scheduling method according to an embodiment of the present invention;
FIG. 2 is a flowchart of another scheduling method of a server according to an embodiment of the present invention;
FIG. 3 is a flowchart of another scheduling method of a server according to an embodiment of the present invention;
fig. 4 is a schematic diagram of server scheduling in an application scenario provided in an embodiment of the present invention;
fig. 5 is a block diagram of a scheduling device of a server according to an embodiment of the present invention;
fig. 6 is a block diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
The core of the invention is to provide a server scheduling method, a server scheduling device and a storage medium, so as to determine a corresponding target server based on terminal attribution information of a current user terminal, enable the user terminal with smaller logic distance and suitable for sharing to match the same target server, and improve the sharing effect of a main broadcasting channel.
In order to better understand the aspects of the present invention, the present invention will be described in further detail with reference to the accompanying drawings and detailed description.
Example 1
Fig. 1 is a flowchart of a server scheduling method according to an embodiment of the present invention. The method can be performed by the scheduling device of the server provided by the embodiment of the invention, the device can be realized by software and/or hardware, and the device can be integrated on various user terminals or servers.
Referring to fig. 1, the method of the embodiment of the present invention specifically includes the following steps:
and S101, when receiving notification information of the anchor channel opening, determining a current server to be allocated, which is used for providing live broadcast services for the current anchor channel, in each server.
When the anchor channel is on, server resources need to be scheduled to serve the anchor channel. Server scheduling systems typically provide a plurality of servers, each of which may carry a number of user terminals, the servers and the user terminals requesting to view the anchor channel being distributed throughout the country.
In a specific implementation, notification information is sent when the anchor channel is opened, and after the notification information of the anchor channel is received, the current anchor channel can be determined according to the channel information of the current open channel contained in the notification information. Optionally, the channel information includes room number information of the current anchor channel and definition information of the current anchor channel.
In a specific implementation, to avoid network resource waste, a part of servers can be determined from currently deployed servers and used as current servers to be allocated for providing live services for a current anchor channel. Optionally, if only one server is deployed currently, determining the server as the server to be allocated currently; if a plurality of servers are deployed currently, the server to be allocated currently can be determined according to the load condition of each server. Specifically, servers with unsatisfied loads in the currently deployed servers can be used as the current servers to be distributed; the servers can be ranked according to the number of the load channels, and the server with the least load channel number in the current situation is selected as the current service to be distributed, or the server with the least load channel number is randomly selected and determined as the current server to be distributed of the current anchor channel. The determination mode of the current server to be allocated can be set by a person skilled in the art according to the actual application situation, which is not limited in the embodiment of the present invention.
S102, acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel.
Optionally, the current user watching the current anchor channel sends a watching request through the corresponding current user terminal, and based on the received watching request, the terminal attribution information of each current user terminal is obtained. The terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal. Specifically, the location attribution information of the current user terminal is the area to which the current user terminal belongs, such as province, city, village and town to which the current user terminal belongs. The operator home information of the current user terminal is an operator service used by the current user terminal, such as a corporate operator, a telecom operator, a mobile operator, and the like.
S103, determining a target server matched with the current user terminal in the current servers to be allocated according to the terminal attribution information, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel.
Optionally, when only one of the current servers to be allocated is, determining the unique current server to be allocated as the target server; when at least two current servers to be allocated are determined, determining a target server matched with the current user terminal from the current servers to be allocated, counting the number of current bearing users of each current server to be allocated, and determining the current server to be allocated with the minimum number of current bearing users as the target server.
Optionally, the target server matched with the current user terminal can be determined from the current servers to be allocated according to the position attribution information or the operator attribution information of the current user terminal. For example, the position attribution information of the current server to be allocated can be obtained, and the current server to be allocated, of which the position attribution information is consistent with the position attribution information of the current user terminal, is determined to be the target server; and acquiring the operator attribution information of the current server to be allocated, and determining the current server to be allocated, of which the operator attribution information is consistent with the operator attribution information of the current user terminal, as a target server.
Furthermore, two factors of position attribution and operator attribution of the current server to be allocated can be considered at the same time, the position attribution information is consistent with the position attribution information of the current user terminal, and the current server to be allocated, of which the operator attribution information is consistent with the operator attribution information of the current user terminal, is determined to be the target server. And establishing connection between the current user terminal and the target server, and providing channel resources of the current anchor channel for the current user terminal through the target server.
Further, determining the target server matching the current user terminal among the current servers to be allocated may include determining the target server among the current servers to be allocated based on designation information for designating the target server serving the current user terminal, wherein the designation information may be transmitted by the current user terminal.
The scheduling method of the servers, provided by the embodiment of the invention, determines the current server to be allocated in each server for providing live broadcast service for the current anchor channel when receiving the notification information of the anchor channel play; acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal; and determining a target server matched with the current user terminal from the current servers to be allocated according to the terminal attribution information, so that the current user terminal and the target server are connected under the condition that at least one of the position attribution information and the operator attribution information is considered to acquire channel resources of the current anchor channel. Therefore, the embodiment of the invention determines the corresponding target server based on the terminal attribution information of the current user terminal, so that the user terminal with smaller logic distance and suitable for sharing is matched with the same target server, the sharing effect of the anchor channel is improved, and the user experience is improved.
Example two
Fig. 2 is a flowchart of another scheduling method of a server according to an embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. Optionally, determining a current server to be allocated for providing live services for the current anchor channel in each server includes: determining the current supply quantity of a server side and the current demand quantity of a user side; calculating the region weight of each region based on the current supply amount and the current demand amount; calculating the number of the current servers to be distributed; and determining the number of servers as the current servers to be allocated based on the weight of each area. Wherein, the explanation of the same or corresponding terms as the above embodiments is not repeated herein.
As shown in fig. 2, the method in the embodiment of the present invention specifically includes the following steps:
s201, when notification information of the anchor channel opening is received, determining the current supply quantity of the server side and the current demand quantity of the user side.
Specifically, the current supply amount of the server side is used for reflecting the service resources currently available at the server side, and the current demand amount of the user side is used for reflecting the user amount for watching the current anchor channel. The current supply amount of the server side and the current demand amount of the user side can be determined by a person skilled in the art according to the actual application situation.
In one embodiment, when determining the current supply amount of the server side and the current demand amount of the user side, an area to which the server belongs may be determined, and the first number sum of the number of the current user terminals in the area and the number of the remaining bearer users of each server deployed in the area is counted. For example, if the area of the server is in Hubei province, counting the number of current user terminals requesting to watch the current anchor channel in Hubei province as the number of first terminals; and counting the number of the residual bearing users which can still be borne currently of each server deployed in Hubei province, and calculating the sum of the number of the residual bearing users of each server as a first number sum.
Further, determining the operator to which the server belongs, and counting the second number of the current user terminals with the same operator and the second sum of the number of the residual bearing users of each server deployed in the operator. For example, if it is determined that the operator to which the server belongs is mobile, counting the number of current user terminals of which the operator is mobile as the number of second terminals, counting the number of remaining bearer users of each server deployed as the mobile operator, and calculating the sum of the number of remaining bearer users of each server as the second sum.
Further, the third number sum of the third terminal number of the current user terminal and the third number sum of the remaining bearing users of each server under the conditions of the area and the operator to which the server belongs is counted. For example, if the area of the server is in Hubei province and the operator is mobile, counting the number of current user terminals in Hubei province, which are mobile, and determining the number as the third terminal number; and counting the number of the rest bearing users of each server which is mobile by the operator in the Hubei province, and taking the sum of the number of the rest bearing users as a third number sum.
And determining the sum of the first quantity sum, the second quantity sum and the third quantity sum as the current supply quantity, and determining the sum of the first terminal quantity, the second terminal quantity of a preset multiple and the third terminal quantity of the preset multiple as the current demand quantity. In the scheduling process of the server, the influence of the operator is greater, so that the priority of the operator is higher than the priority of the area to which the operator belongs. The specific numerical value of the preset multiple can be set by a person skilled in the art according to the actual application condition, and the function of an operator in the server scheduling process is improved by the preset multiple.
S202, calculating the region weight of each region based on the current supply amount and the current demand amount; and calculating the number of the current servers to be allocated.
Specifically, the regional weight is used to indicate the current load capacity of the server in the region, and the larger the weight is, the more user terminals can be currently carried in the region. Based on the determined current supply amount and current demand amount, calculating an area weight, wherein the calculation formula is as follows:
W=(X+Y+XY)*(A+B*r+AB*r)
wherein W is a regional weight, X is a first number sum, Y is a second number sum, and XY is a third number sum; a is the number of the first terminals, B is the number of the second terminals, AB is the number of the third terminals, and r is a preset multiple.
The embodiment can control the influence degree of the factor of the operator on the weight by setting r. When the factor of the operator is higher in priority than the factor of the area, the calculation result of (a+b+r+ab+r) may be made larger than the calculation result of (x+y+xy) by adjusting the value of r. When the factor of the belonging area is higher than the factor of the operator, the value of r is adjusted so that the calculation result of (x+y+xy) is larger than the calculation result of (a+b+r+ab+r). Specifically, the factor of the operator is set to be higher in priority than the factor of the area to which the operator belongs, and the r can be 0.1-100, and the preferable value is 2. For example, (X+Y+XY) results in a calculation of 100; the calculation result of (a+b+ab) is 90, and the values of a and B are relatively close, so that in order to ensure that the factor of the operator is higher than the priority of the factor of the area to which the operator belongs, the value of r can be set to be 5, and the calculation result of (a+b+r+ab×r) is ensured to be greater than 100.
In order to avoid server resource waste, under the condition that the number of currently deployed servers is large, a part of servers are generally selected as the current servers to be allocated for scheduling. Optionally, the minimum number of servers that need to be used in a situation that all the current user terminals can watch the current anchor channel is determined based on the number of current user terminals that request to watch the current anchor channel and the number of current remaining bearing users of each deployed server. A number greater than or equal to the minimum number and less than or equal to the total number of deployed servers may be determined as the number of servers currently to be allocated, which is not limited by those skilled in the art.
S203, determining the number of servers as the current servers to be distributed based on the weight of each area.
Optionally, based on the weight of each area, determining a number of servers as the current servers to be allocated includes: determining the number of the regional servers to be allocated in each region based on the proportional relation between the number of the current servers to be allocated and the weight of each region; sequencing the servers of each area according to the order from small to large of the number of the bearing channels, and selecting the servers with fraction numbers in the sequence as the area to-be-allocated servers of the area according to the order from front to back; and determining the area server to be allocated of each area as the current server to be allocated.
The number of the regional servers to be allocated in each region is determined according to the proportional relation of the number of the current servers to be allocated and the weight of each region in a proportional way, and the sum of the number of the regional servers to be allocated in each region is the number of the current servers to be allocated. For example, the area weight of the area is half of the sum of the weights, and the number of the servers to be allocated in the area should be half of the number of the servers to be allocated currently. Further, the score of the server to be allocated in each area may be determined according to the proportional relationship between the number of the servers to be allocated and the weight of each area, which is not limited in the embodiment of the present invention.
Optionally, the area to which each server belongs may be determined, the number of the determined servers to be allocated currently is divided equally into each area to obtain the number of the partitions of each area, the servers in each area are ordered according to the number of the bearer channels, and the servers with the smallest number of the bearer channels are respectively determined as the servers to be allocated currently. For example, the areas to which the current server belongs include 10 areas such as Hubei, hunan, hebei and Henan, and if the number of the determined current servers to be allocated is 100, the 100 current servers to be allocated are equally divided, 10 servers are allocated as the number of the divisions of each area, the servers in each area are ordered according to the number of the bearer channels, and the 10 servers with the minimum number of the bearer channels are determined as the current servers to be allocated corresponding to the areas.
S204, acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel.
S205, determining a target server matched with the current user terminal in the current servers to be allocated according to the terminal attribution information, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel.
According to the embodiment of the invention, the current servers to be allocated in each area are determined based on the determined weight value of each area and the number of the bearing channels, so that the number of the current servers to be allocated selected in each area is comprehensively considered in combination with the two aspects of the current supply quantity and the current demand quantity of each area, and the server with the smaller number of the bearing channels is selected as the current servers to be allocated in combination with the principle of load balancing, thereby improving the sharing effect of the anchor channels and being beneficial to improving the user experience.
Example III
Fig. 3 is a flowchart of another scheduling method of a server according to an embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. Optionally, determining, according to the terminal attribution information, a target server matched with the current user terminal from the current servers to be allocated, including: determining a current server to be allocated, which is consistent with an operator of the current user terminal, in the current servers to be allocated as a server with the same operator according to the operator attribution information in the terminal attribution information; and determining the same-operator server consistent with the area of the current user terminal in the same-operator servers as a target server according to the position attribution information in the terminal attribution information. Wherein, the explanation of the same or corresponding terms as the above embodiments is not repeated herein.
As shown in fig. 3, the method in the embodiment of the present invention specifically includes the following steps:
and S301, when receiving notification information of the anchor channel opening, determining a current server to be allocated, which is used for providing live broadcast services for the current anchor channel, in each server.
S302, acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel.
S303, determining the current server to be allocated, which is consistent with the affiliated operator of the current user terminal, in the current servers to be allocated as the same operator server according to the operator attribution information in the terminal attribution information.
In a specific implementation, a target server for providing services for the current user terminal may be determined according to terminal attribution information of the current user terminal. Considering that in the scheduling process of the server, the influence brought by an operator is larger and the priority is higher. Therefore, the server to be allocated currently consistent with the operator of the current user terminal can be determined as the server of the same operator according to the attribution information of the operator, and the target server is determined within the range of the server of the same operator, so that the affinity between the server and the user terminal can be improved.
Further, when there is no current server to be allocated consistent with the operator to which the current user terminal belongs, the server consistent with the area to which the current user terminal belongs can be determined directly based on the position attribution information of the current user terminal, and the target server is determined in the servers consistent with the area to which the current user terminal belongs.
S304, determining the same-operator server consistent with the area of the current user terminal in the same-operator servers as a target server according to the position attribution information in the terminal attribution information; and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel.
Optionally, according to the location attribution information, determining a server with the same operator as the current terminal belonging area as the target server. Thereby determining the current server to be allocated in the same region as the operator as the target server.
Further, the current server to be allocated, which is consistent with the area to which the current user terminal belongs, in the current servers to be allocated may be determined as a regional server according to the location attribution information in the terminal attribution information, and a server with consistent operators is determined as a target server in the regional server. Therefore, the current server to be allocated, which is consistent with the current user terminal in both the affiliated area and the operator, is used as the target server to provide channel resources, so that the affinity between the server and the user terminal is improved, and the sharing efficiency of the anchor channel is improved.
Alternatively, the area may include the affiliated large area, the province, the city, or the like, the affiliated large area including a middle-Huazhong large area, a north-Hua large area, a southwest large area, or the like. It should be noted that, the smaller the range of the area where the target server and the current user terminal belong, the better the sharing effect. Therefore, according to the sequence from small to large of the area, whether the user terminal exists in the same operator server in the same area can be judged sequentially.
Illustratively, determining the same-operator server consistent with the area of the current user terminal as the target server according to the position attribution information in the terminal attribution information comprises: determining whether a same operator server exists in the city range to which the current user terminal belongs according to the position attribution information; if the city range exists, determining a target server from servers of the same operator in the city range; if the city range does not exist, determining whether the same operator server exists in the province range to which the current user terminal belongs; if the province range exists, determining a target server from servers of the same operator in the province range; if the province range does not exist, determining whether the same operator server exists in the large area range to which the current user terminal belongs; if the target server exists in the large area range, determining the target server from servers of the same operator in the large area range; if the large area does not exist, the target server fails to match.
Further, if a same-operator server exists in the city range to which the current user terminal belongs, the same-operator server is directly determined to be a target server; if at least two servers of the same operator exist in the city range of the current user terminal, the number of current bearing users of each server of the same operator in the city range can be obtained; and determining the same-operator server with the minimum number of the current bearing users as a target server. A random determination may also be used to determine one of the at least two co-operator servers as the target server. Similarly, when the same operator server exists in the city range or the province range or the large area range, the target server can be determined in the same way.
Optionally, when there is no server with different operators in the large area, it may be determined that the matching of the target server fails, and it may be determined that the server with the same operator with the least number of current bearing users among all the servers with the same operators is connected to the current user terminal, so that the current user terminal obtains the channel resource of the current anchor channel. And the notification information of the failure of matching the target server can be fed back to the controller, and the target server for providing service for the current user terminal can be designated according to the designation information fed back by the controller.
When the target server is allocated to the current user terminal, the regional server with the small regional scope is selected as far as possible from the servers with the same operator as the current user terminal as the target server, so that the affinity between the target server and the current user terminal is improved, the servers with less bearing users are selected as the target servers by combining the principle of load balancing, and the sharing effect of the anchor channel is improved.
Example IV
The foregoing details of the embodiments corresponding to the scheduling method of the server are described in detail, and in order to make the technical solutions of the method further clear to those skilled in the art, specific application scenarios are given below.
Fig. 4 is a schematic diagram of server scheduling in an application scenario according to an embodiment of the present invention. As shown in fig. 4, the anchor terminal is connected with a plurality of user terminals through a server to complete live sharing. When a host is opened, a scheduling server resource provides P2P (Point to Point) services for the host channel. The P2P system is provided with N servers, which are called Tracker, each Tracker can bear a certain number of users and is distributed in each region of the whole country; the number of users requesting to watch the anchor channel is K, and the corresponding user terminals are distributed throughout the country. According to the number K of users and the bearing capacity of each server, M current servers to be distributed are required to provide services. The operator and the area to which the server belongs can be described by two-dimensional coordinates operator-isp, province-prv.
The target server for determining the currently opened anchor channel first needs to determine each current server to be allocated in each N servers. The method comprises the following specific steps:
1. the region weight of each region is calculated as follows:
W=(X+Y+XY)*(A+B*r+AB*r)
wherein W is a regional weight, X is a sum of numbers of remaining bearer users deployed at each server of the province, Y is a sum of numbers of remaining bearer users deployed at each server of the operator, and XY is a sum of numbers of remaining bearer users deployed at each server corresponding to the operator in the province; a is the number of current user terminals in the province, B is the number of current user terminals with the same operator, AB is the number of current user terminals under the conditions of the province to which the server belongs and the operator, r is a preset multiple, and r is set to be equal to 2. (X+Y+XY) represents the total supply amount of the [ prv, isp ]; (a+b+r+ab+r) represents the overall demand of the [ prv, isp ].
For the preset multiple r, the isp has higher priority than prv in the scheduling, for example, 100 users in [ Hubei, telecom ], [ Hunan, move ], the weight of two areas is the same, and after ten users in [ Hubei, UNICOM ] and [ Anhui, move ] are added, if r, the weights of [ Hubei, telecom ], [ Hunan, move ] are not the same. However, in practice, the network loss of cross-operator scheduling is larger, so that the reduction of cross-operator scheduling needs to be considered first, and the influence degree of factors of the operator on the weight is improved through r.
2. And calculating the number of the required trackers of each region according to the weight of each region and the required M trackers.
3. Of the total J Tracker's in a region, K are selected as the current servers to be allocated. Sorting according to the current channel number of the Tracker from less to more, and selecting the first K channels; so that M equals the sum of the number of trackers selected for each zone.
After determining the current server to be allocated, the scheduling system determines a target server from the current servers to be allocated, and schedules the current user terminal to the target server to participate in P2P sharing. The current user terminal requesting to watch the current anchor channel is described in terms of thinking coordinates [ city-city, province-prv, large area-area, operator-isp ]. The step of determining the target server is as follows:
1. finding out the Tracker with the same operator as the current user terminal in the city of the current user terminal, finding out 1 Tracker, finding out a plurality of trackers, and selecting the Tracker with the least number of bearing user terminals in the trackers as a target server. If not found, entering the step 2;
2. finding out the Tracker with the same operator as the current user terminal in the prv to which the current user terminal belongs, finding out 1 Tracker hit, and selecting the Tracker with the least number of user terminals in the Tracker as a target server if a plurality of trackers are found out. If not found, entering a step 3;
3. Finding out the Tracker with the same operator as the current user terminal in the area to which the current user terminal belongs, finding out 1 Tracker, finding out a plurality of trackers, and selecting the Tracker with the least number of bearing user terminals in the trackers as a target server. If not found, entering a step 4;
4. finding out the Tracker with the same operator as the current user terminal, finding out 1 Tracker hit, finding out a plurality of trackers, and selecting the Tracker with the least number of bearing user terminals in the trackers as a target server; if not found, feedback is used to indicate notification information that the target server failed to determine.
The embodiment of the invention improves the affinity between the target server and the current user terminal, combines the load balancing principle to select the server with less bearing users as the target server, and improves the sharing effect of the anchor channel.
Example five
Fig. 5 is a block diagram of a server scheduling apparatus according to an embodiment of the present invention, where the apparatus is configured to execute the server scheduling method provided in any of the foregoing embodiments. The device and the server scheduling method of the above embodiments belong to the same inventive concept, and reference may be made to the embodiments of the server scheduling method for details not described in detail in the embodiments of the server scheduling device. Referring to fig. 5, the apparatus may specifically include:
A current server module to be allocated 10, configured to determine, when receiving notification information of a main broadcasting channel, a current server to be allocated in each server, where the current server is used to provide live broadcasting service for a current main broadcasting channel;
an obtaining module 11, configured to obtain terminal attribution information of a current user terminal corresponding to a current user requesting to view the current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal;
and the determining target server module 12 is configured to determine a target server matching with the current user terminal from the current servers to be allocated according to the terminal attribution information, and establish a connection between the current user terminal and the target server to obtain channel resources of the current anchor channel.
On the basis of any alternative implementation manner of the embodiment of the present invention, determining the server module 10 to be allocated currently may specifically include:
a determining unit, configured to determine a current supply amount of the server side and a current demand amount of the user side; calculating the region weight of each region based on the current supply amount and the current demand amount; calculating the number of the current servers to be allocated; and determining a number of servers as current servers to be allocated based on the weight of each area.
On the basis of any alternative implementation manner of the embodiment of the present invention, the determining unit may specifically include:
the statistics unit is used for determining the area to which the server belongs, and counting the first number sum of the first terminal number of the current user terminal in the area and the first number sum of the residual bearing user numbers of the servers deployed in the area; determining an operator to which the server belongs, and counting the second number of current user terminals with the same operator and the second sum of the number of residual bearing users of each server deployed in the operator; counting the third number sum of the current user terminal and the third number sum of the residual bearing users of each server under the conditions of the area and the operator to which the server belongs; and determining the sum of the first quantity sum, the second quantity sum and the third quantity sum as the current supply quantity, and determining the sum of the first terminal quantity, the second terminal quantity of a preset multiple and the third terminal quantity of the preset multiple as the current demand quantity.
On the basis of any optional implementation manner of the embodiment of the present invention, the statistical unit may specifically include:
a weight calculating unit for calculating the weight of each region based on w= (x+y+xy) × (a+b×r+ab×r); wherein W is a regional weight, X is a first number sum, Y is a second number sum, and XY is a third number sum; a is the number of the first terminals, B is the number of the second terminals, AB is the number of the third terminals, and r is a preset multiple.
On the basis of any alternative implementation manner of the embodiment of the present invention, the determining unit may specifically include:
the regional weight calculating unit is used for determining the number of the regional servers to be allocated in each region based on the proportional relation between the number of the current servers to be allocated and the weight of each region; sequencing the servers of each area according to the order from small to large of the number of the bearing channels, and selecting the servers with fraction numbers in the sequence as the area to-be-allocated servers of the area according to the order from front to back; and determining the area server to be allocated of each area as the current server to be allocated.
On the basis of any of the alternative implementations of the embodiments of the present invention, determining the target server module 12 may specifically include:
the target server unit is used for determining the current server to be allocated, which is consistent with the affiliated operator of the current user terminal, in the current servers to be allocated as the same operator server according to the operator attribution information in the terminal attribution information; and determining the same-operator server consistent with the area of the current user terminal in the same-operator servers as a target server according to the position attribution information in the terminal attribution information.
On the basis of any optional implementation manner of the embodiment of the present invention, determining the target server unit may specifically include:
the judging unit is used for determining whether a same operator server exists in the city range to which the current user terminal belongs according to the position attribution information; if the city range exists, determining a target server from servers of the same operator in the city range; if the city range does not exist, determining whether the same operator server exists in the province range to which the current user terminal belongs; if the province range exists, determining a target server from servers of the same operator in the province range; if the province range does not exist, determining whether the same operator server exists in the large area range to which the current user terminal belongs; if the target server exists in the large area range, determining the target server from servers of the same operator in the large area range; if the large area does not exist, the target server fails to match.
On the basis of any optional implementation manner of the embodiment of the present invention, the judging unit may specifically include:
a current bearing user quantity obtaining unit, configured to obtain the current bearing user quantity of each server of the same operator in the city range; and determining the same-operator server with the minimum number of the current bearing users as a target server.
The server scheduling device provided by the embodiment of the invention can execute the server scheduling method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
It should be noted that, in the embodiment of the server scheduling apparatus, each unit and module included are only divided according to the functional logic, but not limited to the above-mentioned division, so long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for distinguishing from each other, and are not used to limit the protection scope of the present invention.
Example six
Fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present invention. Fig. 6 shows a block diagram of an exemplary electronic device 20 suitable for use in implementing the embodiments of the present invention. The electronic device 20 shown in fig. 6 is only an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
As shown in fig. 6, the electronic device 20 is in the form of a general purpose computing device. Components of electronic device 20 may include, but are not limited to: one or more processors or processing units 201, a system memory 202, and a bus 203 that connects the various system components (including the system memory 202 and the processing units 201).
Bus 203 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Electronic device 20 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by electronic device 20 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 202 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 204 and/or cache memory 205. The electronic device 20 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 206 may be used to read from or write to non-removable, nonvolatile magnetic media. Although not shown in fig. 6, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be coupled to bus 203 through one or more data medium interfaces. Memory 202 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of embodiments of the invention.
A program/utility 208 having a set (at least one) of program modules 207 may be stored in, for example, memory 202, such program modules 207 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 207 generally perform the functions and/or methods of the embodiments described herein.
The electronic device 20 may also communicate with one or more external devices 209 (e.g., keyboard, pointing device, display 210, etc.), one or more devices that enable a user to interact with the electronic device 20, and/or any devices (e.g., network card, modem, etc.) that enable the electronic device 20 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 211. Also, electronic device 20 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 212. As shown, network adapter 212 communicates with other modules of electronic device 20 over bus 203. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 20, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processing unit 201 executes various functional applications and data processing by running programs stored in the system memory 202.
The electronic equipment provided by the invention can realize the following method: when receiving notification information of the anchor channel opening, determining a current server to be allocated in each server, wherein the current server to be allocated is used for providing live broadcast services for the current anchor channel; acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal; and according to the terminal attribution information, determining a target server matched with the current user terminal from the current servers to be allocated, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel. Therefore, the embodiment of the invention determines the corresponding target server based on the terminal attribution information of the current user terminal, so that the user terminal with smaller logic distance and suitable for sharing is matched with the same target server, the sharing effect of the anchor channel is improved, and the user experience is improved.
Example seven
Embodiments of the present invention provide a storage medium containing computer executable instructions, which when executed by a computer processor, are for performing a method of scheduling a server, the method comprising:
when receiving notification information of the anchor channel opening, determining a current server to be allocated in each server, wherein the current server to be allocated is used for providing live broadcast services for the current anchor channel; acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch a current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal; and according to the terminal attribution information, determining a target server matched with the current user terminal from the current servers to be allocated, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel. Therefore, the embodiment of the invention determines the corresponding target server based on the terminal attribution information of the current user terminal, so that the user terminal with smaller logic distance and suitable for sharing is matched with the same target server, the sharing effect of the anchor channel is improved, and the user experience is improved.
Of course, the storage medium containing the computer executable instructions provided in the embodiments of the present invention is not limited to the method operations described above, and may also perform the related operations in the server scheduling method provided in any embodiment of the present invention.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for embodiments of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.

Claims (6)

1. A method for scheduling a server, comprising:
when receiving notification information of the anchor channel opening, determining a current server to be allocated in each server, wherein the current server to be allocated is used for providing live broadcast services for the current anchor channel;
acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch the current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal;
determining a target server matched with the current user terminal from the current servers to be allocated according to the terminal attribution information, and establishing connection between the current user terminal and the target server to acquire channel resources of the current anchor channel;
The determining a current server to be allocated for providing live services for a current anchor channel in each server comprises the following steps:
determining the current supply quantity of a server side and the current demand quantity of a user side;
calculating the region weight of each region through a formula based on the current supply amount and the current demand amount; calculating the number of the current servers to be distributed;
based on the area weight values, determining the number of servers as the current server to be allocated comprises the following steps: determining the number of the servers to be allocated in each area based on the proportional relation between the number of the servers to be allocated and the weight of each area, sequencing the servers in each area according to the order of the number of the bearing channels from small to large, and selecting the servers with the number of the points in the sequence as the servers to be allocated in the area according to the order from front to back; determining the area server to be allocated of each area as the current server to be allocated;
the determining the current supply amount of the server side and the current demand amount of the user side comprises the following steps:
determining an area to which a server belongs, and counting the first number sum of the first terminal number of the current user terminal in the area and the first number sum of the remaining bearing user numbers of each server deployed in the area;
Determining an operator to which the server belongs, and counting the second number sum of the second terminal number of the current user terminal with the same operator and the second number sum of the remaining bearing users deployed in each server of the operator;
counting the third number of the current user terminals and the third sum of the number of the residual bearing users of each server under the conditions of the area and the operator to which the server belongs;
determining the sum of the first number sum, the second number sum and the third number sum as the current supply amount, and determining the sum of the first number of terminals, the second number of terminals of a preset multiple and the third number of terminals of the preset multiple as the current demand amount;
the calculating the area weight of each area based on the current supply amount and the current demand amount includes:
calculating each of the region weights based on w= (x+y+xy), (a+b+r+ab);
wherein W is a regional weight, X is the first number sum, Y is the second number sum, and XY is the third number sum; a is the first terminal number, B is the second terminal number, AB is the third terminal number, and r is the preset multiple.
2. The method according to claim 1, wherein the determining, according to the terminal attribution information, a target server matching with the current user terminal from the current servers to be allocated includes:
determining a current server to be allocated, which is consistent with an operator of the current user terminal, in the current servers to be allocated as a same operator server according to the operator attribution information in the terminal attribution information;
and determining the same operator server consistent with the area of the current user terminal from the same operator servers as the target server according to the position attribution information in the terminal attribution information.
3. The method according to claim 2, wherein the determining, as the target server, a same-operator server of the same-operator servers that coincides with the area to which the current user terminal belongs according to the location attribution information in the terminal attribution information, includes:
determining whether the same operator server exists in the city range to which the current user terminal belongs according to the position attribution information;
if the city range exists, determining the target server from the same operator servers in the city range;
If the city range does not exist, determining whether the same operator server exists in the province range to which the current user terminal belongs;
if the province range exists, determining the target server from the servers of the same operators in the province range;
if the province range does not exist, determining whether the same operator server exists in a large area range to which the current user terminal belongs;
if the large area range exists, determining the target server from the servers of the same operators in the large area range;
if the large area does not exist, the target server fails to match.
4. A method according to claim 3, wherein said determining said target server from said co-operator servers within said city comprises:
acquiring the number of current bearing users of each server of the same operator in the city range;
and determining the same-operator server with the minimum number of the current bearing users as the target server.
5. A server scheduling apparatus, comprising:
The server module to be distributed is used for determining the current server to be distributed in each server for providing live broadcast service for the current main broadcasting channel when receiving the notification information of the main broadcasting channel broadcasting;
the acquisition module is used for acquiring terminal attribution information of a current user terminal corresponding to a current user requesting to watch the current anchor channel; the terminal attribution information comprises at least one of the position attribution information and the operator attribution information of the current user terminal;
a determining target server module, configured to determine, according to the terminal attribution information, a target server matching with the current user terminal from the current servers to be allocated, and connect the current user terminal with the target server to obtain channel resources of the current anchor channel;
a determining unit, configured to determine a current supply amount of the server side and a current demand amount of the user side; calculating the region weight of each region through a formula based on the current supply amount and the current demand amount; calculating the number of the current servers to be allocated; based on the weight of each area, determining a number of servers as current servers to be distributed;
The regional weight calculating unit is used for determining the number of the regional servers to be allocated in each region based on the proportional relation between the number of the current servers to be allocated and the weight of each region, sequencing the servers in each region according to the order of the number of the bearing channels from small to large, and selecting the servers with the fractional number in the sequence as the regional servers to be allocated in the region according to the order from front to back; determining the area server to be allocated of each area as the current server to be allocated;
the statistics unit is used for determining the area to which the server belongs, and counting the first number sum of the first terminal number of the current user terminal in the area and the first number sum of the residual bearing user numbers of the servers deployed in the area; determining an operator to which the server belongs, and counting the second number of current user terminals with the same operator and the second sum of the number of residual bearing users of each server deployed in the operator; counting the third number sum of the current user terminal and the third number sum of the residual bearing users of each server under the conditions of the area and the operator to which the server belongs; determining the sum of the first quantity sum, the second quantity sum and the third quantity sum as a current supply quantity, and determining the sum of the first terminal quantity, the second terminal quantity of a preset multiple and the third terminal quantity of the preset multiple as a current demand quantity;
A weight calculating unit for calculating the weight of each region based on w= (x+y+xy) × (a+b×r+ab×r); wherein W is a regional weight, X is a first number sum, Y is a second number sum, and XY is a third number sum; a is the number of the first terminals, B is the number of the second terminals, AB is the number of the third terminals, and r is a preset multiple.
6. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements a scheduling method of a server according to any one of claims 1-4.
CN202110576513.7A 2021-05-26 2021-05-26 Scheduling method and device of server and storage medium Active CN115412738B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110576513.7A CN115412738B (en) 2021-05-26 2021-05-26 Scheduling method and device of server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110576513.7A CN115412738B (en) 2021-05-26 2021-05-26 Scheduling method and device of server and storage medium

Publications (2)

Publication Number Publication Date
CN115412738A CN115412738A (en) 2022-11-29
CN115412738B true CN115412738B (en) 2023-09-08

Family

ID=84154898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110576513.7A Active CN115412738B (en) 2021-05-26 2021-05-26 Scheduling method and device of server and storage medium

Country Status (1)

Country Link
CN (1) CN115412738B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660707A (en) * 2015-03-09 2015-05-27 浙江万朋网络技术有限公司 Geographical location based proxy server equilibrium distributing method
WO2017096846A1 (en) * 2015-12-07 2017-06-15 乐视控股(北京)有限公司 Method, apparatus and system for obtaining live broadcast
CN106899857A (en) * 2017-03-23 2017-06-27 武汉斗鱼网络科技有限公司 Server load adjusting method, device and server
CN107919971A (en) * 2016-10-09 2018-04-17 腾讯科技(深圳)有限公司 Method, apparatus and system for audio/video communication connection disaster tolerance
CN108810052A (en) * 2017-05-03 2018-11-13 华为技术有限公司 The selection method and device of direct broadcast server
CN110022373A (en) * 2019-04-17 2019-07-16 北京达佳互联信息技术有限公司 Method for distributing business, device, server and storage medium
CN110896365A (en) * 2019-12-20 2020-03-20 网宿科技股份有限公司 Traffic scheduling method in network node, server and storage medium
CN111800447A (en) * 2019-09-20 2020-10-20 厦门雅基软件有限公司 Server scheduling method and device for cloud game and readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8474017B2 (en) * 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
CN107623751B (en) * 2016-07-14 2021-02-12 网宿科技股份有限公司 DNS network system, domain name resolution method and system
CN107733805B (en) * 2016-08-12 2021-04-16 腾讯科技(深圳)有限公司 Service load scheduling method and device
US10284636B2 (en) * 2016-09-20 2019-05-07 International Business Machines Corporation Dynamic shared server resource allocation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660707A (en) * 2015-03-09 2015-05-27 浙江万朋网络技术有限公司 Geographical location based proxy server equilibrium distributing method
WO2017096846A1 (en) * 2015-12-07 2017-06-15 乐视控股(北京)有限公司 Method, apparatus and system for obtaining live broadcast
CN107919971A (en) * 2016-10-09 2018-04-17 腾讯科技(深圳)有限公司 Method, apparatus and system for audio/video communication connection disaster tolerance
CN106899857A (en) * 2017-03-23 2017-06-27 武汉斗鱼网络科技有限公司 Server load adjusting method, device and server
CN108810052A (en) * 2017-05-03 2018-11-13 华为技术有限公司 The selection method and device of direct broadcast server
CN110022373A (en) * 2019-04-17 2019-07-16 北京达佳互联信息技术有限公司 Method for distributing business, device, server and storage medium
CN111800447A (en) * 2019-09-20 2020-10-20 厦门雅基软件有限公司 Server scheduling method and device for cloud game and readable storage medium
CN110896365A (en) * 2019-12-20 2020-03-20 网宿科技股份有限公司 Traffic scheduling method in network node, server and storage medium

Also Published As

Publication number Publication date
CN115412738A (en) 2022-11-29

Similar Documents

Publication Publication Date Title
CN108537543B (en) Parallel processing method, device, equipment and storage medium for blockchain data
US11595328B2 (en) Methods, media and computing devices for implementing instant messaging system based on blockchain
CN109241772B (en) Invoice block chain recording method, invoice block chain recording device, block chain gateway server and invoice block chain recording medium
CN110839084A (en) Session management method, device, equipment and medium
US8832215B2 (en) Load-balancing in replication engine of directory server
CN108600344A (en) A kind of network access request dispatching method, device and storage medium
CN106776039A (en) A kind of data processing method and device
CN109151033B (en) Communication method and device based on distributed system, electronic equipment and storage medium
JP2017037636A (en) System and method for providing virtual communication session for partial participant on communication session
EP3301626A1 (en) Method, device, and system
CN108366133B (en) TS server scheduling method, scheduling device and storage medium
CN115412738B (en) Scheduling method and device of server and storage medium
CN111475230B (en) Application function configuration method and device and electronic equipment
CN112817516A (en) Data read-write control method, device, equipment and storage medium
CN113888028A (en) Patrol task allocation method and device, electronic equipment and storage medium
CN111679918B (en) Message transmission method and device
CN110633142B (en) Block chain consensus method, management node, electronic device, and storage medium
CN112948141A (en) Data processing method, device and system based on message middleware
CN109309583B (en) Information acquisition method and device based on distributed system, electronic equipment and medium
CN109246387B (en) Method, device and storage medium for calculating conversion of account resources of remote conference
CN112001787A (en) User distribution method, device, server and storage medium
CN112543165B (en) Decoding method, device, equipment and medium
CN116847113B (en) Video live broadcast transfer method, device, equipment and medium based on cloud architecture module
CN113259261B (en) Network flow control method and electronic equipment
CN114125570B (en) Player program switching method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230807

Address after: No. 2-1, Building B3, Group B, Phase I, Nanning ASEAN Enterprise Headquarters Base, No. 10, Xinji Road, High tech Zone, Guangxi Zhuang Autonomous Region, 530000

Applicant after: Guangxi sanfangda Supply Chain Technology Service Co.,Ltd.

Address before: 11 / F, building B1, software industry phase 4.1, No.1, Software Park East Road, Donghu Development Zone, Wuhan City, Hubei Province 430070

Applicant before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant