CN112822221B - Server selection method, device, equipment and medium - Google Patents

Server selection method, device, equipment and medium Download PDF

Info

Publication number
CN112822221B
CN112822221B CN202110257628.XA CN202110257628A CN112822221B CN 112822221 B CN112822221 B CN 112822221B CN 202110257628 A CN202110257628 A CN 202110257628A CN 112822221 B CN112822221 B CN 112822221B
Authority
CN
China
Prior art keywords
server
target
area
group
determining
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
CN202110257628.XA
Other languages
Chinese (zh)
Other versions
CN112822221A (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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202110257628.XA priority Critical patent/CN112822221B/en
Publication of CN112822221A publication Critical patent/CN112822221A/en
Priority to PCT/CN2022/076103 priority patent/WO2022188592A1/en
Application granted granted Critical
Publication of CN112822221B publication Critical patent/CN112822221B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention discloses a method, a device, equipment and a medium for selecting a server. The general server corresponding to each second area set is predetermined, after a group call request sent by a calling party of a target group is subsequently received, the first area set comprising each first target area is matched with each second area set which is stored in advance according to the information of the first target area of each conversation member in the target group carried in the group call request, if the first area set is matched with any one second area set which is stored in advance, the central server for the group call of the target group is determined according to the general server corresponding to the matched second area set, so that the central server is determined quickly and accurately, the process of determining the central server by the routing server is simplified, the pressure of determining the central server in real time each time by the routing server is greatly reduced, the delay of determining a routing result is increased, and the efficiency of determining the central server is improved.

Description

Server selection method, device, equipment and medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method, an apparatus, a device, and a medium for selecting a server.
Background
The internet draws the distance between people, so that people in the south, the sea and the north can carry out audio and video communication of multiple people through the network. Behind these calls, data is forwarded through a large number of servers that are installed around the globe. The quality of the audio-video call is also closely related to the selection of the server, and particularly in a group call scene, because how many group members join each time the group call is initiated, the joining is uncertain at any time, which brings great challenges to the selection of the server for the group call, and particularly under a data forwarding architecture based on the central server, the selection of the central server is particularly strict.
Disclosure of Invention
The embodiment of the invention provides a method, a device, equipment and a medium for selecting a server, which are used for solving the problem that a central server cannot be accurately and quickly determined in the prior art.
The embodiment of the invention provides a method for selecting a server, which comprises the following steps:
receiving a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
if the first area set containing each first target area is matched with any one of the second area sets stored in advance, determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set.
The embodiment of the invention provides a selection device of a server, which comprises:
a receiving unit, configured to receive a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and the processing unit is used for determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set if the first area set comprising each first target area is matched with any one of the pre-stored second area sets.
An embodiment of the present invention provides an electronic device, where the electronic device at least includes a processor and a memory, and the processor is configured to implement the steps of the server selection method as described above when executing a computer program stored in the memory.
An embodiment of the present invention provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer program implements the steps of the server selection method described above.
In the embodiment of the invention, the general server corresponding to each second area set is predetermined, after a group call request sent by a calling party of a target group is subsequently received, the first area set containing each first target area is matched with each second area set saved in advance according to the information of the first target area of each conversation member in the target group carried in the group call request, and when the first area set is determined to be matched with any one of the second area sets saved in advance, the central server for the group call of the target group is determined according to the general server corresponding to the matched second area set, so that the central server is rapidly and accurately determined, the process of determining the central server by the routing server is simplified, the pressure of determining the central server by the routing server in real time each time is greatly reduced, the efficiency of determining the central server is improved, and the delay of determining the routing result is reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of a selection process of a server according to an embodiment of the present invention;
fig. 2 is a schematic view of a second area set and a scenario of a general server corresponding to the second area set according to an embodiment of the present invention;
fig. 3 is a schematic view of a second region set and a third region set corresponding to the second region set according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a storage method of a universal server according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a determination process of a universal server according to an embodiment of the present invention;
fig. 6 is a schematic diagram illustrating a selection process of a specific server according to an embodiment of the present invention;
fig. 7 is a schematic flowchart of a specific real-time determination center server according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a selection apparatus of a server according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the attached drawings, and it should be understood that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to accurately and quickly determine a central server, embodiments of the present invention provide a method, an apparatus, a device, and a medium for selecting a server.
The central server is a server which is responsible for functions of session management, session member information maintenance and statistics, congestion control, packet loss resistance and the like in a group call scene. All packets in the group call must be processed or forwarded through the central server.
In an actual application scenario, when a certain user needs to perform group communication with other users, for example, an online conference or the like, platform software for group call is installed in advance on user equipment of the user, and an account (for convenience of description, referred to as a first account) is registered on the platform software and logged in. A request to establish a group with each of the other users' accounts (denoted as second accounts for ease of illustration) is then entered via the user device.
It should be noted that there are many ways to input the request for establishing the group, for example, the user may input the request by voice or by operating a virtual button displayed on the user display interface. The specific manner of inputting the request for establishing the group may be flexibly set according to actual requirements, and is not specifically limited herein.
After receiving a request for establishing a group with each second account, which is input by a user, the user equipment generates a group joining request and respectively sends the group joining request to each user equipment logging in the second account, so that each second account needing group communication is invited to the same group. The group join request carries identification information of each second account. In the embodiment of the present invention, for convenience of description, after a certain second account is added to a group, the second account is a session member in the group.
In practical applications, when a certain conversation member in the group wishes to perform a group conversation, a request for establishing the group conversation can be input through the user equipment. After receiving the request for establishing the group call, the user equipment generates a group call request and sends the group call request to an electronic device, such as a routing server, for determining a central server, so as to allocate the central server to the group through the electronic device. The user equipment of the session member initiating the group call is the calling party of the group.
In a possible implementation manner, after receiving a group call request sent by a calling party of a target group, the electronic device performs corresponding processing based on the group call request, and determines a routing result, that is, determines a central server for subsequently processing data in the group call process and a link for data transmission.
For this method, because of uncertain factors such as network fluctuation and load limitation of each server, the routing result determined each time by the electronic device is only applicable to the current group call of the target group, and the routing result determined by the last group call of the target group (for convenience of description, it is recorded as a historical routing result) cannot provide reference for the next call of the target group. In addition, for an application scenario of a group call, because the conversation staff and the time of joining the call of each group call are also uncertain, the historical routing result is further unable to provide reference for the next call of the target group, so that the electronic device needs to determine the routing result in real time, and the overhead of determining the routing result each time is usually relatively large, especially when the number of candidate servers that can be determined as the central server is particularly large, the load pressure and routing delay of the electronic device are relatively large.
In order to solve the above problem, embodiments of the present invention provide a method, an apparatus, a device, and a medium for selecting a server. In the embodiment of the invention, the general server corresponding to each second area set is predetermined, after a group call request sent by a calling party of a target group is subsequently received, the first area set containing each first target area is matched with each second area set saved in advance according to the information of the first target area of each conversation member in the target group carried in the group call request, and when the first area set is determined to be matched with any one of the second area sets saved in advance, the central server for the group call of the target group is determined according to the general server corresponding to the matched second area set, so that the central server is rapidly and accurately determined, the process of determining the central server by the routing server is simplified, the pressure of determining the central server by the routing server in real time each time is greatly reduced, the efficiency of determining the central server is improved, and the delay of determining the routing result is reduced.
It should be noted that the application scenarios mentioned in the foregoing embodiments are merely exemplary scenarios provided for convenience of description, and are not intended to limit the application scenarios of the method, apparatus, device and medium for selecting a server provided in the embodiments of the present invention. It should be understood by those skilled in the art that the method, apparatus, device and medium for selecting a server provided in the embodiments of the present invention may be applied to all application scenarios that require a central server, such as an online conference, a live session, a group call scenario of an internet instant messaging product, and the like.
Example 1:
fig. 1 is a schematic diagram of a selection process of a server according to an embodiment of the present invention, where the process includes:
s101: receiving a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group.
The method for selecting the server provided by the embodiment of the invention is applied to the electronic equipment for providing the background service, and the electronic equipment can be intelligent equipment for providing the background service and also can be a server for providing the background service, such as a routing server.
In order to conveniently and accurately determine the central server, when a target group needs to perform a group call, a calling party of the target group sends a group call request to the electronic device, and the group call request carries information of an area (for convenience of description, denoted as a target area) of each session member in the current group and the first identification information. The first identification information is used for identifying that the group call request is sent by a calling party of the group call.
After receiving a group call request of a target group, the electronic device analyzes the group call request, and if first identification information carried in the group call request is analyzed, the electronic device determines that the group call request is a group call request sent by a calling party of the target group. The electronic device needs to allocate a central server for the call of the target group, so that data generated in the call process can be transmitted and managed through the central server in the following process. The electronic equipment performs corresponding processing based on the information of the target area of each conversation member in the target group carried in the group conversation request, so as to determine a central server for the target group to perform group conversation.
In the embodiment of the present invention, the region may be a geographical region of any size, such as province, city, county, state, country, etc., or may be a certain geographical region divided by definition, for example, a cell where a certain member is located is determined as a region, etc. The target area of each session member may be a geographical area of different levels, for example, the target area of session member a is a certain cell, and the target area of session member B is a certain county. In a specific implementation process, how to set the target area of the session member may be flexibly set according to a requirement, which is not specifically limited herein.
When the geographic area is divided by self-definition, the division can be performed by considering the area distribution condition of each conversation member. For example, if there are many session members in a cell and the demand for data communication is high, the cell may be determined as an area, the target areas of the session members in the cell are all the cells, and if there are few session members in a province and the demand for data communication is low, the province may be determined as an area, and the target areas of the session members in the province are all the provinces.
It should be noted that the information of the target area includes identification information of the target area, so as to distinguish each different area. The identification information of the target area may be a number, a letter, a special symbol, a character string, or the like, or may be in other forms, and any information that can uniquely identify the target area may be used as the identification information of the target area in the embodiment of the present invention.
S102: and if the first area set containing each first target area is matched with any one of the pre-stored second area sets, determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set.
After the first target area information of each session member carried in the group call request is acquired based on the above embodiment, an area set (for convenience of description, denoted as a first area set) including each first target area is determined according to the first target area information. And performing corresponding processing based on the first area set, and determining a central server for the target group to perform group call.
In a group call scenario, due to uncertain factors such as server load limitation and network fluctuation, after the electronic device receives a group call request sent by a calling party of a target group each time, it needs to synthesize the load of each server and a path quality detection result for data communication between user devices of each session member in the target group to perform real-time routing. And because the number of session members, the activity degree and the area distribution between each group generally have great differences, the routing result determined for each group call of each group is also generally only suitable for the group to perform the group call of the time, and cannot provide guidance for determining the routing result of the next group call of the group or provide guidance for determining the routing result of other groups to perform the group call. In order to accurately and quickly determine the central server, in the embodiment of the present invention, a general server with low data communication delay with the user equipment of each session member may be determined in advance based on the area distribution of each session member in the group, so that the central server for performing a group call in the group may be determined directly according to the predetermined general server corresponding to the group in the following.
In one possible embodiment, for each group, an area set (for convenience of description, referred to as a second area set) including information of an area of each session member in the group is determined, corresponding processing is performed based on the second area set, a general server corresponding to the second area set is determined, and identification information of the determined general server and the second area set are stored in a corresponding manner.
After the first area set of the target area is obtained based on the above embodiment, the first area set is matched with the second area set configured with the universal server, and whether the universal server of the group is configured is determined according to a matching result.
The matching between the first area set and the second area set means that the information of each first target area contained in the first area set is the same as the information of each area contained in the second area set.
In a possible implementation manner, if it is determined that the first area set matches any one of the second area sets stored in advance, which indicates that the general server of the target group has been configured in advance, corresponding processing is performed according to the general server corresponding to the matched second area set, and a central server for the target group to perform group call is determined.
The general server corresponding to the matched second area set can be directly determined as the central server for the target group to perform the group call.
In another possible implementation manner, if it is determined that the first area set is not matched with each of the second area sets that are pre-stored, which indicates that the universal server of the target group is not configured, corresponding processing needs to be performed based on information of each first target area, and a central server of the target group for performing a group call is determined in real time.
In the embodiment of the invention, the general server corresponding to each second area set is predetermined, after a group call request sent by a calling party of a target group is subsequently received, the first area set containing each first target area is matched with each second area set saved in advance according to the information of the first target area of each conversation member in the target group carried in the group call request, and when the first area set is determined to be matched with any one of the second area sets saved in advance, the central server for the group call of the target group is determined according to the general server corresponding to the matched second area set, so that the central server is rapidly and accurately determined, the process of determining the central server by the routing server is simplified, the pressure of determining the central server by the routing server in real time each time is greatly reduced, the efficiency of determining the central server is improved, and the delay of determining the routing result is reduced.
Example 2:
in order to accurately and quickly determine the central server, on the basis of the above embodiment, in an embodiment of the present invention, the method further includes:
acquiring information of a second target area of each session member carried in a group call request sent by a calling party of any historical group;
for each server in a pre-configured candidate set, determining a maximum delay upper limit for the server to perform data communication with the user equipment in each second target area, and if the maximum delay upper limit meets a preset first communication requirement, determining the server as a candidate server;
and determining a universal server corresponding to a second area set containing each second target area based on each candidate server.
In order to accurately determine a general server, in the embodiment of the present invention, after a group call request sent by a calling party of a certain group is received, the group is determined as a history group, and a general server corresponding to the area distribution is determined based on the area distribution of each session member in the history group.
In the embodiment of the present invention, a candidate set is determined in advance, and each server that can be determined as a central server is included in the candidate set, so that a universal server can be determined from the candidate set in the following. Specifically, after a group call request sent by a calling party of any history group is acquired, the group call request is analyzed, and information of a target area (for convenience of description, denoted as a second target area) of each session member in the history group, which is carried in the group call request, is acquired, that is, an area distribution situation of the session members in the history group is acquired. And performing corresponding processing based on the information of the second target area of each session member in the history group and each server in the pre-configured candidate set, and determining a general server corresponding to the second area set containing each second target area.
In a specific implementation process, for each server in a pre-configured candidate set, a maximum delay upper limit for the server to perform data communication with the user equipment in each second target area is determined, and according to the obtained maximum delay upper limit corresponding to the server, whether the server is a candidate server is determined. After determining the candidate servers based on the above embodiment, the general server corresponding to the second area set may be determined from the determined candidate servers.
In one possible implementation, for each server in the pre-configured candidate set, a delay duration (denoted as a first delay duration for convenience of description) for the server to perform data communication with the user equipment of each second target area respectively is determined. And determining the maximum delay upper limit corresponding to the server based on each first delay time length.
The maximum delay upper limit corresponding to the server may be determined based on a maximum value of each first delay duration corresponding to the server.
In a possible implementation manner, based on the maximum value of each first delay duration corresponding to the server, determining the maximum delay upper limit corresponding to the first server may be determined by the following formula:
max(RTT j )=2*max(RTT ji )
wherein max (RTT) j ) Maximum delay upper bound, max (RTT), for server j ji ) Maximum value of first delay time length, RTT, for data communication between the server j and each user equipment in the second target area ji A first delay period for the server j to perform data communication with the user equipment of the ith second target area.
In the embodiment of the present invention, in order to accurately determine each candidate server, a communication requirement (for convenience of description, referred to as a first communication requirement) is preset. The first communication requirement may be a minimum value of the maximum delay upper limit, or may be that the maximum delay upper limit is smaller than a preset delay threshold (for convenience of description, it is denoted as a first delay threshold). After the maximum delay upper limit corresponding to any server is determined based on the above embodiment, it is determined whether the maximum delay upper limit meets a preset first communication requirement. If the maximum delay upper limit is determined to meet the preset first communication requirement, the server can be determined as a candidate server.
In a possible implementation manner, after determining the maximum upper delay limit corresponding to any server based on the above embodiments, it is determined whether the maximum upper delay limit is smaller than a preset first delay threshold. When the maximum delay upper limit is determined to be smaller than a preset first delay threshold, determining the server as a candidate server; after the maximum delay upper limit corresponding to each server is determined based on the above embodiment, whether the maximum delay upper limit corresponding to each server is smaller than the preset first delay threshold value is sequentially or randomly determined, and when it is determined that the maximum delay upper limit corresponding to any server is smaller than the preset first delay threshold value, the server may be determined as a candidate server.
It should be noted that, when setting the first delay threshold, different values may be set according to different scenes, and if there is a strict requirement on the delay duration of the central server, the first delay threshold may be set to be lower; the first delay threshold may be set higher if it is not possible to determine the general server to which the second set of zones corresponds.
In another possible implementation manner, after the maximum delay upper limit corresponding to each server is determined based on the above embodiment, the obtained maximum delay upper limits are sorted in the descending order of the maximum delay upper limits, and the servers with the set number sorted in the front are determined as the candidate servers.
The number of candidate servers determined based on the method in the above embodiment may be 0, may be 1, and may be at least 2. When the number of the determined candidate servers is 0, it means that the general server corresponding to the second area set including each second target area cannot be determined. When the number of the determined candidate servers is 1, the candidate server may be directly determined as a general server corresponding to the second area set including each second target area.
In a possible implementation manner, when the determined candidate servers are at least 2, any one of the candidate servers may be determined as a general server corresponding to the second area set including each second target area, or a candidate server corresponding to the minimum value of the maximum delay upper limit among the candidate servers may be determined as a general server corresponding to the second area set including each second target area.
In another possible implementation manner, if there are at least two candidate servers, the determining, based on each candidate server, a general server corresponding to a second area set including each second target area includes:
for each candidate server, determining an average delay time of the candidate server for data communication with the user equipment in each second target area respectively;
and determining a general server corresponding to the second area set according to the average delay time corresponding to each candidate server.
In order to further ensure the accuracy of the determined universal server, in the embodiment of the present invention, for each candidate server, an average delay duration of the candidate server for performing data communication with the user equipment in each second target area is determined, so as to comprehensively determine the universal server corresponding to the second area set based on the average delay duration and the maximum delay upper limit corresponding to each candidate server.
In a specific implementation process, for each candidate server, a delay duration (for convenience of description, denoted as a second delay duration) for the candidate server to perform data communication with the ue in each second target area respectively is determined, and according to each second delay duration, an average delay duration corresponding to the candidate server is determined.
In a possible implementation manner, the average delay duration corresponding to the candidate server is determined according to the second delay durations of the candidate server for data communication with the target ue in each second target area respectively, and may be determined by the following formula:
Figure BDA0002968196290000111
wherein avg (RTT) j ) Is the average delay time corresponding to the candidate server j, N represents the number of the areas contained in the second area set, RTT ji A second delay period for the candidate server j to communicate data with the target user equipment of the ith second target zone.
In a possible implementation manner, the determining, according to the average delay duration corresponding to each candidate server, a general server corresponding to the second area set includes:
for each candidate server, determining a comprehensive delay time length according to the average delay time length of the candidate server and a corresponding first weight value thereof, and the maximum delay upper limit of the candidate server and a corresponding second weight value thereof;
and determining any candidate server with the comprehensive delay duration meeting the preset second communication requirement as a general server corresponding to the second area set.
In order to ensure the communication quality of each session member in the target group as much as possible, in the embodiment of the present invention, the average delay duration corresponding to the candidate server and the maximum delay upper limit corresponding to the candidate server may be integrated to determine the general server corresponding to the second area set.
In a specific implementation process, a weight value corresponding to the average delay time (for convenience of description, it is denoted as a first weight value) and a weight value corresponding to the maximum delay upper limit (for convenience of description, it is denoted as a second weight value) are configured in advance. And for any determined candidate server, determining the comprehensive delay time according to the average delay time corresponding to the candidate server, the first weight value corresponding to the pre-configured average delay time, the maximum delay upper limit corresponding to the candidate server and the second weight value corresponding to the pre-configured maximum delay upper limit. And determining a general server corresponding to the second area set according to the comprehensive delay time corresponding to the candidate server.
In a possible implementation manner, according to the average delay duration corresponding to the candidate server and the first weight value corresponding to the preconfigured average delay duration, and the maximum delay upper limit corresponding to the candidate server and the second weight value corresponding to the preconfigured maximum delay upper limit, determining the comprehensive delay duration may be determined by the following formula:
mul(RTT j )=avg(RTT j )*ω 1 +max(RTT j )*ω 2
wherein mul (RTT) j ) Is the synthetic delay duration, avg (RTT) corresponding to the candidate server j j ) Is the average delay time length, omega, corresponding to the candidate server j 1 Is a first weight value, max (RTT) j ) Is the maximum delay upper limit, omega, corresponding to the candidate server j 2 Is the second weight value.
In order to accurately determine the universal server, in the embodiment of the present invention, a communication requirement (for convenience of description, referred to as a second communication requirement) is preset. The server satisfying the second communication requirement may be the server with the minimum integrated delay time, or any candidate server with the integrated delay time being smaller than the delay threshold (for convenience of description, denoted as the second delay threshold) corresponding to the second area set. After the comprehensive delay time corresponding to any candidate server is obtained based on the above embodiment, whether the obtained comprehensive delay time meets the preset second communication requirement is determined, and any candidate server whose comprehensive delay time meets the preset second communication requirement is determined as the general server corresponding to the second area set.
In a possible implementation manner, after determining the comprehensive delay duration corresponding to any candidate server based on the foregoing embodiment, it is determined whether the comprehensive delay duration is smaller than the second delay threshold corresponding to the second area set. When the comprehensive delay duration is determined to be smaller than a second delay threshold corresponding to the second area set, determining the server as a candidate server; or after determining the comprehensive delay duration corresponding to each server based on the foregoing embodiment, sequentially or randomly determining whether the comprehensive delay duration corresponding to each server is smaller than the second delay threshold corresponding to the second area set, and when it is determined that the comprehensive delay duration corresponding to any server is smaller than the second delay threshold corresponding to the second area set, determining the server as a candidate server.
In this embodiment of the present invention, the second delay threshold corresponding to any second region set is determined according to any one of the comprehensive delay durations corresponding to the second region sets and the preconfigured fluctuation value, or is determined according to any one of the comprehensive delay durations corresponding to the second region sets and the preconfigured proportion. The arbitrary one of the integrated delay durations may be a minimum value, a maximum value, and the like of each of the integrated delay durations corresponding to the second region set. For example, when the second delay threshold corresponding to any second region set is determined according to the minimum value of each of the comprehensive delay durations corresponding to the second region set and the preconfigured fluctuation value, if the minimum value of the comprehensive delay duration corresponding to the second region set is 100ms and the preconfigured fluctuation value is 50ms, the second delay threshold corresponding to the second region set is 150ms; when the second delay threshold corresponding to any one second region set is determined according to the minimum value of each of the comprehensive delay durations corresponding to the second region set and the preconfigured proportion, if the minimum value of the comprehensive delay duration corresponding to the second region set is 100ms and the preconfigured proportion is 20%, the second delay threshold corresponding to the second region set is 120ms.
In another possible implementation manner, when the second communication requirement is met and the candidate server with the smallest comprehensive delay duration is selected, after the comprehensive delay duration corresponding to each candidate server is obtained, each candidate server is ranked according to the sequence of the comprehensive delay durations from large to small, and a set number of the candidate servers ranked in the front are determined as the general servers corresponding to the second area set.
Fig. 2 is a scene schematic diagram of a second area set and a corresponding general server thereof according to an embodiment of the present invention. As shown in FIG. 2, the second set of regions C is { C 1 ,c 2 ,c 3 Based on the method in the foregoing embodiment, a server capable of ensuring that the maximum delay duration of a call made by a history group is within an acceptable range may be selected as a general server and recorded according to a second area set including a second target area of each session member in a call made by the history group, and when a central server for a group call made by another group is determined that is the same as the area distribution of the session members in the history group, that is, the first area set including information of the first target area of each session member in the other group is matched with the second area set C, a selection scheme for directly determining the determined general server as the central server is provided, so as to reduce delay caused by real-time routing and pressure of an electronic device providing routing service as much as possible.
Based on the method in the foregoing embodiment, in the real-time routing process, based on the maximum delay upper limit for performing data communication between each server in the pre-configured candidate set and each user equipment in the second target area, a general server that can ensure that the communication delay between session members is within an acceptable range when a group call is performed on another group that is the same as the area distribution of the session members in the historical group is found, and the general server and the area distribution of the group are cached, so that the general server can be used as a general server when a group call is performed on a group with the same area distribution, and only is a central server for determining the group call according to the general server.
After a group call request sent by a calling party of a target group is subsequently received, whether the area distribution condition of each conversation member in the target group is the same as the area distribution condition of a pre-configured general server or not is preferentially inquired, namely whether a first area set containing information of a first target area of each conversation member in the target group is matched with any one pre-configured second area set or not is determined, and therefore delay generated by real-time routing is reduced, and pressure of electronic equipment providing routing service is reduced.
Example 3:
in order to further reduce the pressure of the routing server determining the routing result of the current call in real time each time, improve the efficiency of determining the routing result, and reduce the routing delay, on the basis of the foregoing embodiments, in an embodiment of the present invention, after determining the general server corresponding to the second area set including each second target area, the method further includes:
for other areas except each second target area, determining a target delay time length for data communication between the user equipment of the other areas and the general server;
determining a third area set according to each target other area of which the target delay duration is less than the maximum delay upper limit corresponding to the general server;
and correspondingly storing the second area set, the general server corresponding to the second area set and the third area set.
In an actual application scenario, the session members in the group may be changed, but the information of the first target area of the session members in the group after the change is inconsistent with the information of the first target area of the session members in the group before the change. For example, the group a before the change includes a session member a whose first target area is china and a session member b whose first target area is usa, the first area set of the group a before the change is { china and usa }, the group a after the change includes a session member e whose first target area is china, a session member b whose first target area is usa and a session member c whose first target area is russia, and the first area set of the group a after the change is also { china, usa and russia }. In this case, although the information of the first target areas of the session members in the group before and after the change is not identical, the center server at the time of the group call of the group after the change, which is finally specified, is the same as the center server at the time of the group call of the group before the change. Of course, there may be a case where the information of the first target areas of the session members in the two groups is not completely the same, but the center server is the same when the two groups finally determined are respectively performing the group call.
Based on this, in the embodiment of the present invention, after the general server corresponding to the second area set including each second target area is determined based on the above embodiment, for areas other than each second target area, a delay time length (for convenience of description, referred to as a target delay time length) of the user equipment in the other area for performing data communication with the determined general server may be determined, and for each other area, the target delay time length corresponding to the other area may be determined according to the other area. And determining a third area set corresponding to the universal server based on the target delay time length respectively corresponding to each other area.
In this embodiment of the present invention, the information of each region in the third region set is an extension of a region that can adopt a general server corresponding to the second region set, and a region set formed by the information of at least one region in the third region set and the second region set both correspond to the general server corresponding to the second region set.
After the target delay time lengths corresponding to any other area except each second target area are obtained, whether the target delay time lengths corresponding to the other areas are smaller than the maximum delay upper limit corresponding to the general server or not is judged for each other area. Specifically, if the target delay duration corresponding to the other region is less than the maximum delay upper limit corresponding to the general server, the other region is added to the third region set corresponding to the general server; and if the target delay time length corresponding to the other areas is not less than the maximum delay upper limit corresponding to the general server, not adding the other areas to the third area set corresponding to the general server.
Fig. 3 is a schematic view of a second region set and a third region set according to an embodiment of the present invention. As shown in FIG. 3, the second set of regions C is { C 1 ,c 2 ,c 3 Determining other areas c based on the method in the above embodiment 4 And c 5 Respectively corresponding target delay time lengths are all smaller than the maximum delay upper limit corresponding to the universal server, and according to other areas c 4 And c 5 Determining the third region set C ', i.e. determining the third region set C' as { C 4 ,c 5 }。
Based on the method in the foregoing embodiment, after each area included in the third area set corresponding to the second area set is determined, the second area set, the third area set, and the identification information of the general server corresponding to the determined second area set are correspondingly stored.
In one possible embodiment, when the identification information of the general-purpose server, the second area set, and the third area set corresponding to the determined second area set are stored in association with each other, the identification information of the general-purpose server, the information of each area included in the second area set, and the information of each area included in the third area set may be stored in association with each other, or the identification information of the second area set and the identification information of the third area set may be determined based on the information of the areas included in each of them, and the identification information of the general-purpose server, the identification information of the second area set, and the identification information of the third area set corresponding to the determined second area set may be stored in association with each other.
The information of the area may be identification information of the area or may be a name of the area.
In a possible implementation manner, when the identification information of the area set is determined based on the identification information of each area included in the area set, an exclusive bit (bit) is allocated to each area in advance, and the identification information of each area is determined according to a number on the bit corresponding to each area. And determining the identification information of the area set according to the sum of the identification information of each area contained in the area set.
For example, assuming that bits allocated to the regions china, usa and india in advance are 1 st, 2 nd and 3 rd bits respectively, the number corresponding to the exclusive bit of china 0000000000000001 is 0x1, the number corresponding to the exclusive bit of usa 0000000000000010 is 0x2, and the number corresponding to the exclusive bit of india 0000000000000100 is 0x4, and the identification information of the region set china, usa and india can be represented by the number 0x7, that is, 0x1+0x2+0x4=0x7.
Wherein, in order to represent each area by each bit as much as possible, the data type of the identification information of each area is long integer type (long) data. Because the long type data only has 64 bits at most, namely the long type data only can represent 64 areas at most, the number of the areas can be determined according to the number of the set areas, and the number of the areas represented by each bit in the long type data can be determined. For example, if the region is a country and there are more than 200 countries around the world, 4 long-type data are used to represent the identification information of each country.
Fig. 4 is a schematic diagram of a method for saving a universal server according to an embodiment of the present invention. Wherein, the number is represented, the CC1_ KEY stores the information of the first second target region in the second region set C, and the CC2_ KEY stores the information of the third region set C corresponding to the second region set C The general _ server stores the identification information of the general server corresponding to the second region set C.
Fig. 5 is a schematic diagram of a determination process of a universal server according to an embodiment of the present invention, where the process includes:
s501: and acquiring the information of the second target area of each session member carried in the group call request sent by the calling party of any history group.
S502: a second set of regions is obtained that includes each second target region.
S503: and determining the candidate server based on the maximum delay upper limit respectively corresponding to each server in the pre-configured candidate set.
And determining the maximum delay upper limit of the server for data communication with the user equipment of each second target area respectively aiming at each server in the pre-configured candidate set, and if the maximum delay upper limit meets the preset first communication requirement, determining the server as the candidate server.
S504: and judging whether the number of the candidate servers is 0, if so, ending, and otherwise, executing S505.
S505: and judging whether the number of the candidate servers is greater than 1, if so, executing S506, and otherwise, executing S507.
S506: and determining the general servers corresponding to the second area set according to the average delay duration and the maximum delay upper limit respectively corresponding to each candidate server, and then executing S508.
For each candidate server, determining the average delay time of the candidate server for data communication with the user equipment of each second target area respectively;
for each candidate server, determining a comprehensive delay time length according to the average delay time length of the candidate server and a corresponding first weight value thereof, and the maximum delay upper limit of the candidate server and a corresponding second weight value thereof;
and determining any candidate server of which the comprehensive delay time meets the preset second communication requirement as a general server corresponding to the second area set.
S507: and determining the candidate server as a general server corresponding to the second area set.
S508: and determining a third area set corresponding to the universal server.
For other areas except each second target area, determining the target delay time of the data communication between the user equipment of the other areas and the universal server;
determining a third area set according to each other area of which the target delay duration is less than the maximum delay upper limit corresponding to the universal server;
and correspondingly storing the second area set, the universal server corresponding to the second area set and the third area set.
Example 4:
in order to further reduce the pressure of the routing server determining the routing result of the current call in real time each time, improve the efficiency of determining the routing result, and reduce the routing delay, on the basis of the foregoing embodiments, in an embodiment of the present invention, the determining that the first area set including each first target area matches with any one of the second area sets stored in advance includes:
for each second region set, if an intersection of the first region set and the second region set is the second region set, and an intersection of a comprehensive region set corresponding to the first region set and the second region set is the first region set, determining that the first region set matches the second region set, where the comprehensive region set corresponding to the second region set includes the second region set and a third region set corresponding to the general-purpose server.
In an actual application scenario, a first set of areas including a first target area of each conversation member currently in the group call may include other areas except information of each second target area in a certain second set of areas. The general server corresponding to the second area set included in the first area set is obtained, and if the other areas are all areas in the third area set corresponding to the general server, the first area set can be understood as an expanded area set of the second area set and is a subset of the comprehensive area set corresponding to the second area set. And the comprehensive area set corresponding to any second area set comprises the second area set and a third area set corresponding to the universal server corresponding to the second area set. And the area set determined by any sub-area set of the third area set and the second area set corresponds to the general server corresponding to the second area set. Therefore, in the embodiment of the present invention, after receiving the group call request sent by the calling party of the target group, the group call request is analyzed to obtain the information of each first target area carried in the group call request. According to the information of each first target area, a first area set is determined. Aiming at each second area set with a preset general server, if the intersection of the first area set and the second area set is determined to be the second area set and the intersection of the comprehensive area set corresponding to the first area set and the second area set is determined to be the first area set, the first area set is determined to be matched with the second area set, the general server corresponding to the matched second area set is obtained, and the central server for the target group to carry out group call is determined according to the general server. If it is determined that the intersection of the first area set and the second area set is not the second area set, or the intersection of the comprehensive area set corresponding to the first area set and the second area set is not the first area set, it is determined that the first area set is not matched with the second area set, and a central server for a target group to perform a group call is determined based on information of each first target area carried in the group call request.
Specifically, it is determined that the first area set X matches any one of the second area sets stored in advance, and the first area set X needs to satisfy the following two conditions:
X∩C=C;
X∩(C∪C′)=X;
wherein, X represents a first area set, C represents a second area set matched with the first area set, and C' represents a third area set corresponding to the universal server corresponding to C.
In a possible embodiment, if the identification information of the general server, the second area set, and the third area set corresponding to the second area set are correspondingly stored according to the manner shown in fig. 4, in a subsequent actual application process, an operation of matching the first area set with any one of the second area sets configured in advance may be performed through the following codes, specifically:
Figure BDA0002968196290000201
Figure BDA0002968196290000211
wherein, each bit in the 4 Long type data of the Long key1, the Long key2, the Long key3 and the Long key4 respectively represents the information of the region. * And the information of the second target region in the second region set C is stored in the CC1_ KEY, and the information of the other target regions in the third region set C' corresponding to the general server corresponding to the C is stored in the CC2_ KEY.
In a possible implementation manner, before the determining, according to the general server corresponding to the matched second area set, a central server of the group call of the target group, the method further includes:
and if the determined time length corresponding to the general server corresponding to the matched second area set is smaller than the preset time length threshold, executing the subsequent steps of determining a central server for the target group to carry out the group call according to the general server corresponding to the matched second area set.
Because of uncertain factors such as network fluctuation and load limitation of each server, for example, a load of a general server may change, which may cause a quality decrease of data communication between a user equipment of any session member in a group and the general server, or a link of data communication between user equipments of any two session members in the group changes, so that a predetermined general server corresponding to the group cannot guarantee that the group performs a group call. If the central server for the group call of the target group is determined according to the corresponding relation between the stored second area set and the general server, the quality of the current group call is likely to be reduced, and the user experience is reduced. Therefore, in the embodiment of the present invention, a duration threshold is preset, that is, the maximum duration that any one of the determined second area sets is stored corresponding to the corresponding general server is set in advance. When saving a certain second area set and the general server corresponding to the second area set, it is also necessary to start a timer to count the determined time length of the general server. Based on the above embodiment, after the matched second region set is obtained, the determined duration corresponding to the general server corresponding to the matched second region set is obtained. And comparing the determined time length with a preset time length threshold value, and determining whether a central server for the target group to carry out group call is determined according to the general server or not according to a comparison result.
In a possible implementation manner, if the determined duration is less than the preset duration threshold, it is indicated that the general server corresponding to the second area set is still in the validity period, and the central server for the target group to perform the group call may be determined according to the general server.
In another possible implementation manner, if it is determined that the duration is greater than the preset duration threshold, it is determined that the general server corresponding to the second area set is failed, and the central server for the target group to perform the group call cannot be determined according to the general server, and then the central server for the target group to perform the group call is determined according to the information of each first target area carried in the group call request.
In some possible embodiments, in order to reduce the influence of the failed general servers on the efficiency of the determination center server, in an embodiment of the present invention, when it is determined that the determined duration of a certain general server reaches a preset duration threshold, the general servers corresponding to the second area set and the saved second area set may be directly deleted.
In order to improve the efficiency of determining the central server, in the embodiment of the present invention, the general server corresponding to the matched second area set may be directly determined as the central server for the target group to perform the group call.
In an actual application scenario, a load of the server may also change, which may cause a situation that after the general server corresponding to the predetermined target area set is determined as the central server of the current group call, the quality of data communication performed between session members in the group is reduced. In order to avoid the foregoing situation, in this embodiment of the present invention, the determining, according to the general server corresponding to the matched second area set, a central server of the target group for performing a group call includes:
and if the state information of the general server meets the preset available condition, determining the general server as a central server for the target group to carry out group call.
In order to improve the accuracy of the determined central server, in the embodiment of the present invention, an availability condition is preset, where the availability condition is used to identify state information when the server is available, for example, a maximum load threshold when the server is available. In a specific implementation process, before the general server corresponding to the matched second area set is determined as a central server for the target group to perform group call, state information of the general server is acquired. And judging whether the state information of the general server meets a preset available condition or not, and determining whether to execute the subsequent step of determining the general server corresponding to the matched second area set as a central server for the target group to carry out group call.
The state information of the server includes at least one of network state, load condition and the like of the server.
In a possible implementation manner, if it is determined that the state information of the universal server meets a preset available condition, which indicates that the universal server can ensure the quality of the group call of the target group, that is, the universal server is available, the universal server is determined as a central server for the group call of the target group; and if the state information of the general server is determined not to meet the preset available condition, the general server cannot ensure the quality of the group call of the target group, namely the general server is unavailable, and the central server of the current group call is determined based on the information of each first target area.
Based on the above description, a general server, also referred to as a general solution, is a routing result provided for a group containing session members that satisfy a certain distribution of areas. When it is determined that an intersection of a first area set including each first target area and a certain second area set is a second area set, and an intersection of a comprehensive area set corresponding to the first area set and the second area set is the first area set, that is, the first area set is matched with a certain second area set in which a general server is configured in advance, the electronic device only needs to check whether the general server corresponding to the matched second area set is available, that is, determines whether state information of the general server corresponding to the matched second area set meets a preset available condition, and when it is determined that the state information of the general server meets the preset available condition, that is, the general server is determined to be a central server for the target group to perform the group call, the electronic device does not need to determine the central server for the target group to perform the group call in real time based on information of the first target area of each session member in the target group.
Fig. 6 is a schematic diagram of a specific selection process of a server according to an embodiment of the present invention, taking a group call scenario of an internet instant messaging scenario as an example, where the process includes:
s601: and receiving a group call request sent by a calling party of the target group.
The group call request carries information of a first target area of each session member in a target group.
S602: and judging whether the first area set containing each first target area is matched with any one of the second area sets stored in advance, if so, executing S603, and otherwise, executing S605.
Specifically, determining that a first area set including each first target area is matched with any one of pre-stored second area sets includes:
for each second region set, if the intersection of the first region set and the second region set is the second region set, and the intersection of the comprehensive region set corresponding to the first region set and the second region set is the first region set, it is determined that the first region set is matched with the second region set, where the comprehensive region set corresponding to the second region set includes the second region set and a third region set corresponding to the general server corresponding to the second region set.
S603: and determining whether the universal server corresponding to the matched second area set is available, if so, executing S604, otherwise, executing S605.
Specifically, whether the state information of the universal server meets a preset available condition is determined, if yes, the universal server is determined to be available, and otherwise, the universal server is determined to be unavailable.
S604: and determining the general server corresponding to the matched second area set as a central server for the target group to carry out group call.
S605: and determining a central server for the target group to carry out the group call in real time.
The method for selecting a universal server in the foregoing embodiment may be that, when a group call request sent by a calling party of a target group is received, a central server of the group call is determined in real time based on the group call request, the target group is also determined as a history group, and a universal server corresponding to a second area set including a second target area of each session member in the history group is determined; or may be a general server corresponding to a second area set including a second target area of each session member in the group call, for each group call request, by caching each group call request for which a central server has been determined.
In a possible implementation manner, when determining a central server for performing a group call in a target group based on information of each first target area carried in a group call request, an optimal server corresponding to a calling party, that is, a server with the smallest delay time for performing data communication with the calling party in each server directly connected to the calling party, may be directly determined as the central server for the current group call.
In another possible embodiment, when determining a central server for a target group to perform a group call based on information of each first target area carried in a group call request (for convenience of description, referred to as a first group call request), the determination may be further performed by:
first, for each first target area, according to a third delay duration for data communication between the user equipment in the first target area and a server directly connected to the user equipment, a first server corresponding to the first target area is determined.
In the embodiment of the present invention, in order to accurately determine the first server corresponding to each first target area, a filtering condition is preset. After third delay durations for data communications between the user equipment in the first target area and the directly connected servers are acquired based on the above embodiment, whether any one of the acquired third delay durations meets a preset screening condition is judged, and one server with the third delay duration meeting the preset screening condition is determined as the first server corresponding to the first target area.
When the screening conditions are set, different screening conditions can be set according to different scenes. In order to ensure the communication quality of the subsequent group call as much as possible, the minimum value of the third delay duration may be satisfied when the screening condition is satisfied; in order to avoid excessive cost for performing the group call after the determined first server is the central server, the screening condition may be that the third delay duration is smaller than a delay threshold (for convenience of description, denoted as a third delay threshold) corresponding to the first target area.
After each first server is determined based on the above embodiment, in order to ensure the quality of the group call and avoid that the servers except for each first server are better than the determined communication quality of the first server, for the second server except for each first server, the delay time (for convenience of description, referred to as a fourth delay time) for the second server to perform data communication with each first server respectively is obtained, and according to each fourth delay time, the total delay time corresponding to the second server is determined.
In a possible implementation manner, in order to further improve the quality of the group call, in the embodiment of the present invention, a third communication requirement is preset. The third communication requirement may be that the total delay time length is the minimum, or the total delay time length is smaller than a preset delay threshold (for convenience of description, it is denoted as a fourth delay threshold). After the total delay time corresponding to each second server is obtained based on the above embodiment, it is determined whether any obtained total delay time meets a preset third communication requirement, and any second server whose total delay time meets the preset third communication requirement is determined as the first server.
It should be noted that, when the fourth delay threshold is set, different values may be set according to different scenes, and if there is a strict requirement on the delay duration of the central server, the fourth delay threshold may be set lower; the fourth delay threshold may be set higher if it is avoided to miss a second server having a better communication quality than the first server corresponding to each of the first target areas. In the specific implementation process, the flexible setting can be performed according to the actual requirement, and is not specifically limited herein.
After each first server is determined based on the above embodiment, the center server for the target group to perform the group call is determined based on the obtained average delay time for the first server to perform data communication with the user equipment in each first target area.
In a possible implementation manner, the obtaining an average delay duration of the first server respectively performing data communication with the user equipment in each of the first target areas includes:
acquiring a weight value corresponding to each first target area;
and determining an average delay duration corresponding to the first server according to a fifth delay duration and a weight value respectively corresponding to each first target area, wherein the fifth delay duration corresponding to any first target area is a delay duration for data communication between the first server and the user equipment of the first target area.
In a possible implementation manner, the determining, according to the fifth delay duration and the weight value respectively corresponding to each of the first target areas, the average delay duration corresponding to the first server includes:
respectively determining the product of a fifth delay time length corresponding to each first target area and a corresponding weight value;
and determining the average delay duration corresponding to the first server according to each product and each weight value.
In a possible implementation manner, according to the fifth delay duration and the weight value respectively corresponding to each first target area, determining the average delay duration corresponding to the first server may be determined by the following formula:
Figure BDA0002968196290000261
among them, AVG (RTT) i ) Average delay duration, w, for the ith first server j The weight value corresponding to the jth target region,
Figure BDA0002968196290000262
the sum of the weights determined according to the weight values respectively corresponding to the n target areas, RTT ji And a fifth delay period for the ith first server to communicate data with the UE in the jth target area.
In a possible implementation manner, if the first group call request further carries target group identification information of a target group, the obtaining a weight value corresponding to each first target area includes:
if the target group identification information is not matched with the group identification information configured with the weight value, determining the weight value corresponding to each first target area according to the number of session members contained in each first target area in the target group.
In an actual application scenario, there may be a case where a group call is performed for a first time by a target group, and after matching the obtained target group identification information with each group identification information configured with a weight value, the target group identification information cannot be matched with each group identification information configured with a weight value, the number of session members included in each first target area in the target group may be determined according to information of each first target area carried in a first group call request, and a weight value corresponding to each first target area is determined according to the number of session members included in each first target area.
In some possible embodiments, in order to conveniently determine the weight value corresponding to each first target area, in an embodiment of the present invention, a unit weight value corresponding to any session member in the group is configured in advance, for example, the unit weight value corresponding to any session member in the target group is 1.0. And respectively determining the weight value corresponding to each first target area according to the number of the conversation members contained in each first target area in the target group and the preset unit weight value corresponding to any conversation member.
In an actual application scenario, if a target group is not in a first group call, matching the obtained target group identification information with each group identification information configured with a weight value, and then matching the target group identification information with a certain group identification information configured with a weight value, the weight value corresponding to each area corresponding to the matched group identification information may be obtained, and the weight value corresponding to each first target area is determined.
In order to accurately determine the central server for the target group to perform the group call, in the embodiment of the present invention, a communication requirement (for convenience of description, referred to as a fourth communication requirement) is preset. After the average delay time corresponding to each first server is respectively obtained based on the above embodiments, whether any obtained average delay time meets the preset fourth communication requirement may be sequentially or randomly determined. When it is determined that a certain average delay time meets a preset fourth communication requirement, a server corresponding to the average delay time can be directly determined as a central server for a target group to perform group call; after determining whether each obtained average delay time meets the preset fourth communication requirement, the server corresponding to any average delay time is determined as the central server of the target group for group call from the average delay time meeting the preset fourth communication requirement.
When the fourth communication requirement is set, different fourth communication requirements can be set according to different scenes. In order to ensure the communication quality of the group call as much as possible, the server meeting the fourth communication requirement may be the server with the smallest first delay time; for load balancing, the first servers whose average delay durations meet the fourth communication requirement may be the first servers with the smallest load in the first servers corresponding to the average delay durations in the previous preset number according to the order from the largest average delay duration to the smallest average delay duration. In the specific implementation process, the flexible setting can be performed according to the actual requirement, and is not specifically limited herein.
In one possible embodiment, the method further comprises:
receiving a second group call request sent by a called party of the target group; wherein, the second group call request carries the target group identification information of the target group;
acquiring the group identification information matched with the target group identification information and configured with a central server;
and determining a central server for the target group to carry out group call according to the central server corresponding to the matched group identification information.
After determining the central server for the target group to perform the group call based on the above embodiment, the method further includes:
determining a first link delay and a second link delay corresponding to a target conversation member according to information of an area where the target conversation member sending a target group conversation request is located; wherein, the target group call request is the first group call request, or the second group call request, the first link delay is a link delay of a link in which the user equipment in the area where the target session member is located directly performs data communication with the central server, and the second link delay is a link delay of a link in which the user equipment in the area where the target session member is located performs data communication with the central server in a manner of forwarding by the forwarding server;
and determining a link for data communication between the user equipment of the target session member and the central server according to the first link delay and the second link delay.
In a specific implementation process, if the first link delay is smaller than the second link delay, it is determined that the user equipment of the target session member directly performs data communication with the central server.
And if the first link delay is larger than the second link delay, determining that the user equipment of the target session member performs data communication with the central server in a forwarding mode of the forwarding server.
In one possible embodiment, the method further comprises:
if the target session member sending the target group call request is confirmed to be added to the current group call for the first time, acquiring the information of the area where the target session member is located according to the target group call request; wherein the target group call request is the first group call request or the second group call request;
and if the target weight value corresponding to the area where the target session member is located is obtained from the weight values corresponding to each first target area of the stored target group, updating and storing the target weight value.
In one possible implementation, the delta weight values are preconfigured. And determining the information of the area where the target session member sending the target group call request is located according to the information carried in the target group call request. And determining a target weight value corresponding to the area where the target session member is located in the weight values corresponding to each first target area of the stored target group. And updating and storing the target weight value according to the sum of the target weight value and a preset increment weight value.
The preset increment weight value can be any value in a preset value range or a preset fixed value.
In one possible embodiment, the method further comprises:
if the target weight value corresponding to the area where the target session member is located cannot be obtained in the stored weight values corresponding to each first target area of the target group, determining the number of the session members in the area where the target session member is located according to the information of each first target area carried in the group call request;
and determining and storing a weight value corresponding to the area where the target conversation member is located according to the number.
In some possible embodiments, when it is determined that, in the weight values respectively corresponding to each first target area of the stored target group, a target weight value corresponding to an area where a target session member is located cannot be obtained, information of the first target area where each session member is located in the target group, which is carried in a target group call request sent by the target session member, is obtained; and determining the number of the conversation members in the area where the target conversation member is located in the target group according to the information of each first target area and the information of the area where the target member is located. And determining a weight value corresponding to the area where the target session member is located according to the determined quantity, and correspondingly storing the weight value corresponding to the area where the target session member is located and the group identification information of the target group.
In one possible embodiment, a unit weight value corresponding to any conversation member in the group is configured in advance, for example, the unit weight value corresponding to any conversation member in the target group is 1.0. And respectively determining the weight values corresponding to the areas of the target conversation members according to the number of the conversation members in the areas of the target conversation members in the target group and the unit weight values corresponding to any one conversation member which is configured in advance.
Fig. 7 is a schematic flowchart of a specific process of determining a central server in real time according to an embodiment of the present invention, where the process includes:
s701: a group call request is received.
S702: and judging whether the group call request is sent by the calling party, if so, executing S703, otherwise, executing S709.
The specific method for determining whether the group call request is sent by the calling party has been described in the above embodiments, and repeated details are not described herein.
S703: determining whether the target group is the first time of group call, if yes, executing S704, otherwise, executing S705.
Specifically, the target group identification information of the target group may be matched with the stored group identification information of the group call, and if there is matched group identification information, it is determined that the target group does not perform the group call for the first time; and if the matched group identification information does not exist, determining that the target group is the first time for carrying out the group call.
S704: and determining a weight value corresponding to each first target area respectively based on the information of the first target area of each conversation member in the group carried in the group call request.
S705: and acquiring the weight value corresponding to each stored first target area.
S706: and determining a first server corresponding to each first target area.
The specific determination process has been described in the above embodiments, and repeated details are not described.
S707: for each second server except each first server, acquiring the total delay time of the second server for respectively carrying out data communication with each first server; and determining any second server of which the total delay time length meets the preset second communication requirement as the first server.
Specifically, the description has been made in the above embodiments, and repeated descriptions are omitted.
S708: for each first server, determining the average delay time of the first server for data communication with the user equipment in each first target area respectively; and determining any first server with the average delay duration meeting the preset fourth communication requirement as the central server of the current group call, and executing S710.
S709: and determining the central server of the target group for carrying out the group call according to the target group identification information carried in the group call request and the group identification information configured with the central server.
Specifically, the description has been made in the above embodiments, and repeated descriptions are omitted.
S710: and judging whether the target session member sending the group call request is added into the current group call for the first time, if so, executing S711, otherwise, executing S712.
S711: and updating and storing the weight value corresponding to the area where the target session member is located.
Specifically, according to the group call request, the information of the area where the target conversation member is located is obtained;
and if the target weight value corresponding to the area where the target session member is located is obtained from the weight values respectively corresponding to each first target area of the stored target group, updating and storing the target weight value.
If the target weight value corresponding to the area where the target session member is located cannot be obtained in the weight values corresponding to each first target area of the stored target group, determining the number of the session members in the area where the target session member is located according to the information of each first target area carried in the group call request; and according to the determined quantity, determining and storing a weight value corresponding to the area where the target conversation member is located.
S712: and determining a first link delay and a second link delay corresponding to the target conversation member according to the information of the area where the target conversation member sending the group conversation request is located.
The first link delay is the link delay of a link in which the user equipment in the area where the conversation member is located directly performs data communication with the central server, and the second link delay is the link delay of a link in which the user equipment in the area where the target conversation member is located performs data communication with the central server in a forwarding mode of the forwarding server.
S713: and judging whether the first link delay is smaller than the second link delay, if so, executing S714, otherwise, executing S715.
S714: and determining that the user equipment of the target conversation member is in data communication with the central server directly.
S715: and determining that the user equipment of the target session member performs data communication with the central server in a forwarding mode of the forwarding server.
Example 5:
fig. 8 is a schematic structural diagram of a selection apparatus for a server according to an embodiment of the present invention, where the embodiment of the present invention provides a selection apparatus for a server, the apparatus includes:
a receiving unit 81, configured to receive a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and the processing unit 82 is configured to determine, if it is determined that the first area set including each first target area matches any one of the pre-stored second area sets, a central server for the target group to perform the group call according to the general server corresponding to the matched second area set.
Because the principle of solving the problem of the selection device of the server is similar to that of the selection method of the server, the implementation of the selection device of the server can be referred to the implementation of the method, and repeated details are not repeated.
In the embodiment of the invention, the general server corresponding to each second area set is predetermined, after a group call request sent by a calling party of a target group is subsequently received, the first area set containing each first target area is matched with each second area set saved in advance according to the information of the first target area of each conversation member in the target group carried in the group call request, and when the first area set is determined to be matched with any one of the second area sets saved in advance, the central server for the group call of the target group is determined according to the general server corresponding to the matched second area set, so that the central server is rapidly and accurately determined, the process of determining the central server by the routing server is simplified, the pressure of determining the central server by the routing server in real time each time is greatly reduced, the efficiency of determining the central server is improved, and the delay of determining the routing result is reduced.
Example 6:
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, where the electronic device includes: the system comprises a processor 91, a communication interface 92, a memory 93 and a communication bus 94, wherein the processor 91, the communication interface 92 and the memory 93 are communicated with each other through the communication bus 94;
the memory 93 has stored therein a computer program which, when executed by the processor 91, causes the processor 91 to perform the steps of:
receiving a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and if the first area set containing each first target area is matched with any one of the pre-stored second area sets, determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set.
Because the principle of the electronic device for solving the problem is similar to the selection method of the server, the implementation of the electronic device may refer to the implementation of the method, and repeated details are not repeated.
Example 7:
on the basis of the foregoing embodiments, the present invention further provides a computer-readable storage medium, in which a computer program executable by a processor is stored, and when the program runs on the processor, the processor is caused to execute the following steps:
receiving a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and if the first area set containing each first target area is matched with any one of the pre-stored second area sets, determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set.
Since the principle of the computer-readable storage medium to solve the problem is similar to the server selection method in the above-described embodiment, specific implementation may refer to implementation of the server selection method.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (11)

1. A method for selecting a server, the method comprising:
receiving a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and if the first area set containing each first target area is matched with any one of the pre-stored second area sets, determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set.
2. The method of claim 1, further comprising:
acquiring information of a second target area of each session member carried in a group call request sent by a calling party of any historical group;
for each server in a pre-configured candidate set, determining a maximum delay upper limit for the server to perform data communication with the user equipment in each second target area, and if the maximum delay upper limit meets a preset first communication requirement, determining the server as a candidate server;
and determining a universal server corresponding to a second area set containing each second target area based on each candidate server.
3. The method of claim 2, wherein if there are at least two candidate servers, said determining a general server corresponding to a second set of regions including each of the second target regions based on each of the candidate servers comprises:
for each candidate server, determining an average delay duration of data communication between the candidate server and the user equipment in each second target area;
and determining a general server corresponding to the second area set according to the average delay time corresponding to each candidate server.
4. The method according to claim 3, wherein the determining the general server corresponding to the second area set according to the average delay duration corresponding to each candidate server includes:
for each candidate server, determining a comprehensive delay duration according to the average delay duration of the candidate server and a first weighted value corresponding to the average delay duration, the maximum delay upper limit of the candidate server and a second weighted value corresponding to the maximum delay upper limit;
and determining any candidate server with the comprehensive delay duration meeting the preset second communication requirement as a general server corresponding to the second area set.
5. The method of claim 2, wherein after determining the common server corresponding to the second set of regions including each of the second target regions, the method further comprises:
for other areas except each second target area, determining a target delay time length for data communication between the user equipment of the other areas and the general server;
determining a third area set according to each target other area with the target delay duration less than the maximum delay upper limit corresponding to the general server;
and correspondingly storing the second area set, the general server corresponding to the second area set and the third area set.
6. The method of claim 5, wherein determining that the first set of regions containing each of the first target regions matches any of the second sets of regions previously stored comprises:
for each second region set, if an intersection of the first region set and the second region set is the second region set, and an intersection of a comprehensive region set corresponding to the first region set and the second region set is the first region set, determining that the first region set matches the second region set, where the comprehensive region set corresponding to the second region set includes the second region set and a third region set corresponding to the general-purpose server.
7. The method according to claim 1, wherein before determining the central server for the group call of the target group according to the general server corresponding to the matched second area set, the method further comprises:
and if the determined time length corresponding to the general server corresponding to the matched second area set is smaller than the preset time length threshold, executing the subsequent steps of determining a central server for the target group to carry out the group call according to the general server corresponding to the matched second area set.
8. The method according to claim 1 or 7, wherein the determining the central server of the target group for the group call according to the general server corresponding to the matched second area set comprises:
and if the state information of the general server meets the preset available condition, determining the general server as a central server for the target group to carry out group call.
9. An apparatus for selecting a server, the apparatus comprising:
a receiving unit, configured to receive a group call request sent by a calling party of a target group; the group call request carries information of a first target area of each session member in the target group;
and the processing unit is used for determining a central server for the target group to carry out group call according to the general server corresponding to the matched second area set if the first area set comprising each first target area is matched with any one of the pre-stored second area sets.
10. An electronic device, characterized in that the electronic device comprises at least a processor and a memory, the processor being adapted to carry out the steps of the method of selecting a server according to any of claims 1-8 when executing a computer program stored in the memory.
11. A computer-readable storage medium, characterized in that it stores a computer program which, when being executed by a processor, carries out the steps of the selection method of a server according to any one of claims 1 to 8.
CN202110257628.XA 2021-03-09 2021-03-09 Server selection method, device, equipment and medium Active CN112822221B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110257628.XA CN112822221B (en) 2021-03-09 2021-03-09 Server selection method, device, equipment and medium
PCT/CN2022/076103 WO2022188592A1 (en) 2021-03-09 2022-02-11 Method and apparatus for selecting server, and device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110257628.XA CN112822221B (en) 2021-03-09 2021-03-09 Server selection method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN112822221A CN112822221A (en) 2021-05-18
CN112822221B true CN112822221B (en) 2023-01-06

Family

ID=75862599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110257628.XA Active CN112822221B (en) 2021-03-09 2021-03-09 Server selection method, device, equipment and medium

Country Status (2)

Country Link
CN (1) CN112822221B (en)
WO (1) WO2022188592A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822221B (en) * 2021-03-09 2023-01-06 百果园技术(新加坡)有限公司 Server selection method, device, equipment and medium
CN113055460B (en) * 2021-03-09 2024-04-19 百果园技术(新加坡)有限公司 Method, device, equipment and medium for selecting server

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031700B1 (en) * 2001-11-14 2006-04-18 Sprint Spectrum L.P. Method and system for location-based group conference initiation
CN1856137A (en) * 2005-04-27 2006-11-01 华为技术有限公司 Method and system for determining centrally controlled server
CN104580431A (en) * 2014-12-27 2015-04-29 北京奇虎科技有限公司 Communication group configuration method and device
CN106664534A (en) * 2015-05-22 2017-05-10 华为技术有限公司 Mcptt group call processing method, system and related device
CN111010744A (en) * 2018-10-08 2020-04-14 华为技术有限公司 Method and device for establishing session and method and device for sending message
CN111757040A (en) * 2020-06-24 2020-10-09 维沃移动通信有限公司 Communication method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203907A1 (en) * 2002-12-30 2004-10-14 Hiller Thomas Lloyd One to many wireless network communications with receiving members selected based on geographic location
US10827002B2 (en) * 2018-12-03 2020-11-03 At&T Intellectual Property I, L.P. Group communication and service optimization system
CN112822221B (en) * 2021-03-09 2023-01-06 百果园技术(新加坡)有限公司 Server selection method, device, equipment and medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031700B1 (en) * 2001-11-14 2006-04-18 Sprint Spectrum L.P. Method and system for location-based group conference initiation
CN1856137A (en) * 2005-04-27 2006-11-01 华为技术有限公司 Method and system for determining centrally controlled server
CN104580431A (en) * 2014-12-27 2015-04-29 北京奇虎科技有限公司 Communication group configuration method and device
CN106664534A (en) * 2015-05-22 2017-05-10 华为技术有限公司 Mcptt group call processing method, system and related device
CN111010744A (en) * 2018-10-08 2020-04-14 华为技术有限公司 Method and device for establishing session and method and device for sending message
CN111757040A (en) * 2020-06-24 2020-10-09 维沃移动通信有限公司 Communication method and device

Also Published As

Publication number Publication date
WO2022188592A1 (en) 2022-09-15
CN112822221A (en) 2021-05-18

Similar Documents

Publication Publication Date Title
CN110263936B (en) Horizontal federal learning method, device, equipment and computer storage medium
US9661151B2 (en) Method, apparatus and system for determining policy and charging rule function entity
CN103460648B (en) Methods and systems for screening Diameter messages within a Diameter signaling router (DSR)
US20190182385A1 (en) Charging Management Method, User Plane Function Entity, and Control Plane Function Entity
WO2016095516A1 (en) Complex event processing method, apparatus and system
US10091304B2 (en) SGC and PGC and SGU and PGU allocation procedure
CN112822221B (en) Server selection method, device, equipment and medium
US9451502B2 (en) Service control method and system, evolved nodeB, and packet data network gateway
US9110884B2 (en) Message publishing and subscribing method and apparatus
CN108833181A (en) NG-CN network slice systems and network are sliced selection method
US11330333B2 (en) Methods of and devices for adaptive bit rate, ABR, video resolution shaping of a video stream in a telecommunications system
CN105379218A (en) Service flow processing method, apparatus and device
CN109548063B (en) Method, device, equipment and storage medium for processing message
US9894600B1 (en) Providing adaptive network access
CN105991600A (en) Identity authentication and apparatus, server and terminal
EP3179687A1 (en) Network flow information statistics method and apparatus
US11233723B2 (en) IP-based matching system
CN113055460A (en) Server selection method, device, equipment and medium
CN105099803A (en) Traffic identification method, application server, and network element equipment
Samouylov et al. Analytical Modelling And Simulation For Performance Evaluation Of SIP Server With Hysteretic Overload Control.
US10511494B2 (en) Network control method and apparatus
CN111327529A (en) Service forwarding method and system
US10104018B2 (en) Method, apparatus, and system for controlling forwarding of service data in virtual network
US9942823B2 (en) Communication terminal, communication method, and communication program
CN107682271B (en) Method and device for generating routing line

Legal Events

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