一种服务器的选择方法、装置、设备及介质与流程

文档序号:25094592发布日期:2021-05-18 21:26阅读:61来源:国知局
一种服务器的选择方法、装置、设备及介质与流程

1.本发明涉及通信技术领域,尤其涉及一种服务器的选择方法、装置、设备及介质。


背景技术:

2.互联网拉近了人与人之间的距离,使得天南海北的人们都可以通过网络进行多人的音视频通话。在这些通话的背后,都是通过架设在全球各地的大量服务器来转发数据实现的。音视频通话的质量也和服务器的选择密切相关,特别是在群组通话场景下,因为每次发起群组通话,有多少群员加入,在什么时候加入都是不确定的,这就给群组通话的服务器选择带来了很大的挑战,尤其是在基于中心服务器的数据转发架构下,对中心服务器的选择尤为严格。


技术实现要素:

3.本发明实施例提供了一种服务器的选择方法、装置、设备及介质,用以解决现有无法准确且快速地确定中心服务器的问题。
4.本发明实施例提供了一种服务器的选择方法,所述方法包括:
5.接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息;
6.若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
7.本发明实施例提供了一种服务器的选择装置,所述装置包括:
8.接收单元,用于接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息;
9.处理单元,用于若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
10.本发明实施例提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述所述服务器的选择方法的步骤。
11.本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述服务器的选择方法的步骤。
12.由于本发明实施例中,预先确定了每个第二区域集合所对应的通用服务器,后续接收到目标群组的主叫方发送的群组通话请求之后,根据该群组通话请求中携带的目标群组中每个会话成员的第一目标区域的信息,将包含每个第一目标区域的第一区域集合与预先保存的每个第二区域集合进行匹配,当确定该第一区域集合与预先保存的任一第二区域集合匹配时,根据匹配的第二区域集合所对应的通用服务器,确定目标群组进行群组通话
的中心服务器,从而实现快速且准确地确定中心服务器,简化了选路服务器确定中心服务器的过程,极大地降低选路服务器每次实时确定中心服务器的压力,提高确定中心服务器的效率,降低确定选路结果的延迟。
附图说明
13.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1为本发明实施例提供的一种服务器的选择过程示意图;
15.图2为本发明实施例提供的一种第二区域集合及其对应的通用服务器的场景示意图;
16.图3为本发明实施例提供的一种第二区域集合以及该第二区域集合对应的第三区域集合的场景示意图;
17.图4为本发明实施例提供的一种将通用服务器的保存方法的示意图;
18.图5为本发明实施例提供的一种通用服务器的确定流程示意图;
19.图6为本发明实施例提供的具体的服务器的选择流程示意图;
20.图7为本发明实施例提供的具体的实时确定中心服务器的流程示意图;
21.图8为本发明实施例提供的一种服务器的选择装置的结构示意图;
22.图9为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
23.下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
24.为了准确且快速地确定中心服务器,本发明实施例提供了一种服务器的选择方法、装置、设备及介质。
25.中心服务器为在群组通话场景下,负责会话管理、会话成员信息维护和统计、拥塞控制和抗丢包等功能的服务器。群组通话中的所有数据包都必须经过中心服务器进行处理或者转发。
26.在实际应用场景中,当某一用户需要与其他用户进行群组通信时,比如,在线会议等,预先在该用户的用户设备上安装用于群组通话的平台软件,在该平台软件上注册账户(为了方便说明,记为第一账户)并登录。然后通过该用户设备输入与每个其他用户的账户(为了方便说明,记为第二账户)建立群组的请求。
27.需要说明的是,输入该建立群组的请求的方式有很多,比如,用户可以通过语音的方式输入,也可以通过操作用户显示界面上显示的虚拟按钮的方式输入。具体的输入建立群组的请求的方式,可以根据实际需求进行灵活设置,在此不做具体限定。
28.当用户设备接收到用户输入的与每个第二账户建立群组的请求之后,生成群组加入请求并分别发送至每个登录第二账户的用户设备,从而实现将需要进行群组通信的每个
第二账户邀请到同一群组内。其中,该群组加入请求中会携带有每个第二账户的标识信息。在本发明实施例中,为了方便描述,当某一第二账户加入到群组中之后,该第二账户即为该群组内的会话成员。
29.在实际应用过程中,当群组内某一会话成员希望进行群组通话时,可通过该用户设备输入建立群组通话的请求。用户设备接收到该建立群组通话的请求后,生成群组通话请求并发送至用于确定中心服务器的电子设备,比如,选路服务器,以通过该电子设备为该群组分配中心服务器。其中,该发起群组通话的会话成员的用户设备即为该群组的主叫方。
30.在一种可能的实施方式中,电子设备接收到目标群组的主叫方发送的群组通话请求后,基于该群组通话请求,进行相应的处理,确定选路结果,即确定后续对该群组通话过程中的数据进行处理的中心服务器以及数据传输的链路。
31.对于该方法,因为网络波动和每个服务器的负载限制等不确定因素,电子设备每次确定的选路结果只适用于目标群组的当前群组通话,目标群组上一次群组通话所确定的选路结果(为了方便描述,记为历史选路结果)无法为目标群组进行下一次通话提供参考。此外,对于群组通话的应用场景来说,因为每次群组通话的会话人员和加入通话时间等因素也都是不确定的,使得历史选路结果更加无法为目标群组下一次通话提供参考,导致电子设备需要实时确定选路结果,且每次确定选路结果的开销通常比较大,尤其是在可被确定为中心服务器的候选服务器的数量特别多时,电子设备的负载压力与选路延迟会更大。
32.为了解决上述的问题,本发明实施例提供了一种服务器的选择方法、装置、设备及介质。由于本发明实施例中,预先确定了每个第二区域集合所对应的通用服务器,后续接收到目标群组的主叫方发送的群组通话请求之后,根据该群组通话请求中携带的目标群组中每个会话成员的第一目标区域的信息,将包含每个第一目标区域的第一区域集合与预先保存的每个第二区域集合进行匹配,当确定该第一区域集合与预先保存的任一第二区域集合匹配时,根据匹配的第二区域集合所对应的通用服务器,确定目标群组进行群组通话的中心服务器,从而实现快速且准确地确定中心服务器,简化了选路服务器确定中心服务器的过程,极大地降低选路服务器每次实时确定中心服务器的压力,提高确定中心服务器的效率,降低确定选路结果的延迟。
33.需要说明的是,上述实施例中所举出的应用场景仅是为了方便说明所提出的示例性的场景,并不是对本发明实施例所提供的一种服务器的选择方法、装置、设备及介质的应用场景的一种限定。本领域技术人员应当知道,本发明实施例所提供的一种服务器的选择方法、装置、设备及介质可以应用到所有需要中心服务器的应用场景中,比如,在线会议,直播网课、互联网即时通讯产品的群组通话场景等。
34.实施例1:
35.图1为本发明实施例提供的一种服务器的选择过程示意图,该过程包括:
36.s101:接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息。
37.本发明实施例提供的服务器的选择方法应用于提供后台服务的电子设备,该电子设备可以为用于提供后台服务的智能设备,也可以是提供后台服务的服务器,比如,选路服务器。
38.为了方便准确地确定中心服务器,当目标群组需要进行群组通话时,该目标群组
的主叫方会向电子设备发送群组通话请求,而该群组通话请求中会携带有当前群组中每个会话成员的区域(为了方便描述,记为目标区域)的信息,以及第一标识信息。其中,第一标识信息用于标识该群组通话请求为群组通话的主叫方发送的。
39.电子设备接收到目标群组的群组通话请求之后,对该群组通话请求进行解析,若解析出该群组通话请求中携带的第一标识信息,则确定该群组通话请求为该目标群组的主叫方发送的群组通话请求。电子设备需要为该目标群组的通话分配中心服务器,以便后续通过中心服务器对通话过程中所产生的数据进行传输与管理。电子设备基于该群组通话请求中携带的该目标群组中每个会话成员的目标区域的信息,进行相应的处理,从而确定该目标群组进行群组通话的中心服务器。
40.在本发明实施例中,区域可以为省、市、县、州、国家等任何大小的地理区域,也可以为自定义划分的某一地理区域,比如,将某一成员的所在的小区确定为一个区域等。其中,每个会话成员的目标区域可以是不同等级的地理区域,比如,会话成员a的目标区域是某小区,会话成员b的目标区域是某县。具体实施过程中,如何设置会话成员的目标区域可以根据需求进行灵活设置,在此不作具体限定。
41.其中,通过自定义划分地理区域时,可以考虑每个会话成员的区域分布情况进行划分。比如,某一小区的会话成员较多,进行数据通信的需求较大,可以将该小区确定为一个区域,该小区的会话成员的目标区域均为该小区,某一省的会话成员较少,进行数据通信的需求也不大,则可以将该省确定为一个区域,该省的会话成员的目标区域均为该省。
42.需要说明的是,目标区域的信息包括目标区域的标识信息,用以区分每个不同的区域。该目标区域的标识信息可以是数字、字母、特殊符号、字符串等,也可以为其他形式的,只要能唯一标识该目标区域的均可作为本发明实施例中的目标区域的标识信息。
43.s102:若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
44.当基于上述实施例获取到了群组通话请求中携带的每个会话成员的第一目标区域的信息之后,根据每个第一目标区域的信息,确定包含每个第一目标区域的区域集合(为了方便描述,记为第一区域集合)。基于第一区域集合,进行相应的处理,确定目标群组进行群组通话的中心服务器。
45.在群组通话场景下,由于服务器负载限制和网络波动等不确定因素,导致电子设备接收到目标群组的主叫方每次发送的群组通话请求后,都需要综合每个服务器的负载和目标群组中每个会话成员的用户设备之间进行数据通信的路径质量探测结果,进行实时选路。并且由于每个群组之间会话成员的数量,活跃程度和区域分布一般存在着较大的差异,为每个群组的每次群组通话所确定的选路结果,也一般只适用于该群组进行该次的群组通话,无法为确定该群组下一次的群组通话的选路结果提供指导,也无法为确定其他群组进行群组通话的选路结果提供指导。为了准确且快速地确定中心服务器,在本发明实施例中,可以预先基于群组中每个会话成员的区域分布情况,确定一个与每个会话成员的用户设备数据通信的延迟较低的通用服务器,以方便后续可以直接根据预先确定的某一群组对应的通用服务器,确定该群组进行群组通话的中心服务器。
46.在一种可能的实施方式,针对每个群组,确定包含该群组中的每个会话成员的区
域的信息的区域集合(为了方便描述,记为第二区域集合),基于该第二区域集合,进行相应的处理,确定该第二区域集合所对应的通用服务器,并将确定的通用服务器的标识信息以及第二区域集合对应保存。
47.当基于上述实施例获取到目标去你的第一区域集合之后,将该第一区域集合分别与已配置了通用服务器的第二区域集合进行匹配,根据匹配结果,确定是否已经配置了该群组的通用服务器。
48.其中,第一区域集合与第二区域集合匹配是指该第一区域集合中包含的每个第一目标区域的信息、与该第二区域集合中包含的每个区域的信息相同。
49.在一种可能的实施方式中,若确定第一区域集合与预先保存的任一第二区域集合匹配,说明已预先配置了该目标群组的通用服务器,则根据该匹配的第二区域集合所对应的通用服务器,进行相应的处理,确定该目标群组进行群组通话的中心服务器。
50.其中,可以直接将匹配的第二区域集合所对应的通用服务器确定为该目标群组进行群组通话的中心服务器。
51.在另一种可能的实施方式中,若确定第一区域集合与预先保存的每个第二区域集合均不匹配,说明未配置该目标群组的通用服务器,则需要基于每个第一目标区域的信息,进行相应的处理,实时确定该目标群组进行群组通话的中心服务器。
52.由于本发明实施例中,预先确定了每个第二区域集合所对应的通用服务器,后续接收到目标群组的主叫方发送的群组通话请求之后,根据该群组通话请求中携带的目标群组中每个会话成员的第一目标区域的信息,将包含每个第一目标区域的第一区域集合与预先保存的每个第二区域集合进行匹配,当确定该第一区域集合与预先保存的任一第二区域集合匹配时,根据匹配的第二区域集合所对应的通用服务器,确定目标群组进行群组通话的中心服务器,从而实现快速且准确地确定中心服务器,简化了选路服务器确定中心服务器的过程,极大地降低选路服务器每次实时确定中心服务器的压力,提高确定中心服务器的效率,降低确定选路结果的延迟。
53.实施例2:
54.为了准确且快速地确定中心服务器,在上述实施例的基础上,在本发明实施例中,所述方法还包括:
55.获取任一历史群组的主叫方发送的群组通话请求中携带的每个会话成员的第二目标区域的信息;
56.针对预先配置的候选集合中的每个服务器,确定该服务器分别与每个所述第二目标区域的用户设备进行数据通信的最大延迟上限,若所述最大延迟上限满足预设的第一通信要求,则将该服务器确定为候选服务器;
57.基于每个所述候选服务器,确定包含每个所述第二目标区域的第二区域集合所对应的通用服务器。
58.为了准确地确定通用服务器,在本发明实施例中,当接收到某一群组的主叫方发送的群组通话请求后,便将该群组确定为历史群组,基于该历史群组中的每个会话成员的区域分布情况,确定该区域分布情况所对应的通用服务器。
59.在本发明实施例中,预先确定了候选集合,该候选集合中包含有可以被确定为中心服务器的每个服务器,以便后续可以从该候选集合中确定通用服务器。具体的,获取到任
一历史群组的主叫方发送的群组通话请求后,对该群组通话请求进行解析,获取该群组通话请求中携带的该历史群组中每个会话成员的目标区域(为了方便描述,记为第二目标区域)的信息,即获取该历史群组中的会话成员的区域分布情况。基于该历史群组中每个会话成员的第二目标区域的信息和预先配置的候选集合中的每个服务器,进行相应的处理,确定包含每个第二目标区域的第二区域集合所对应的通用服务器。
60.具体实施过程中,针对预先配置的候选集合中的每个服务器,确定该服务器分别与每个第二目标区域的用户设备进行数据通信的最大延迟上限,根据获取到的该服务器所对应的最大延迟上限,确定该服务器是否可能为候选服务器。基于上述的实施例确定了候选服务器后,从确定的候选服务器中,可以确定该第二区域集合所对应的通用服务器。
61.在一种可能的实施方式中,针对预先配置的候选集合中的每个服务器,确定该服务器分别与每个第二目标区域的用户设备进行数据通信的延迟时长(为了方便描述,记为第一延迟时长)。基于每个第一延迟时长,确定该服务器对应的最大延迟上限。
62.其中,可以基于该服务器对应的每个第一延迟时长中的最大值,确定该服务器对应的最大延迟上限。
63.在一种可能的实施方式中,基于该服务器对应的每个第一延迟时长中的最大值,确定该第一服务器对应的最大延迟上限可以通过如下公式确定:
64.max(rtt
j
)=2*max(rtt
ji
)
65.其中,max(rtt
j
)为服务器j对应的最大延迟上限,max(rtt
ji
)为该服务器j分别与每个第二目标区域的用户设备进行数据通信的第一延迟时长中的最大值,rtt
ji
为该服务器j与第i个第二目标区域的用户设备进行数据通信的第一延迟时长。
66.在本发明实施例中,为了准确地确定每个候选服务器,预设有通信要求(为了方便描述,记为第一通信要求)。其中,该第一通信要求可以是最大延时上限的最小值,也可以是最大延迟上限小于预设的延迟阈值(为了方便描述,记为第一延迟阈值)。当基于上述的实施例确定了任一服务器对应的最大延迟上限后,判断该最大延迟上限是否满足预设的第一通信要求。若确定该最大延迟上限满足预设的第一通信要求,则可以将该服务器确定为候选服务器。
67.在一种可能的实施方式中,可以基于上述的实施例确定了任一服务器对应的最大延迟上限后,便判断该最大延迟上限是否小于预设的第一延迟阈值。当确定该最大延迟上限小于预设的第一延迟阈值,便将该服务器确定为候选服务器;也可以基于上述的实施例确定了每个服务器对应的最大延迟上限后,依次或随机分别判断每个服务器对应的最大延迟上限是否小于预设的第一延迟阈值,当确定任一服务器对应的最大延迟上限小于预设的第一延迟阈值,则可以将该服务器确定为候选服务器。
68.需要说明的是,在设置第一延迟阈值时,可以根据场景的不同,设置不同的值,如果对中心服务器的延迟时长有严格的要求,可以将该第一延迟阈值设置的低一些;如果为了避免无法确定出第二区域集合对应的通用服务器,可以将该第一延迟阈值设置的高一些。
69.在另一种可能的实施方式中,基于上述的实施例确定了每个服务器对应的最大延迟上限后,按照最大延迟上限从大到小的顺序,将获取到的每个最大延迟上限进行排序,将排序在前的设定数量的服务器确定为候选服务器。
70.基于上述实施例中的方法所确定的候选服务器可能是0个,可能是1个,也可能是至少2个。当确定的候选服务器为0个时,则说明无法确定包含每个第二目标区域的第二区域集合所对应的通用服务器。当确定的候选服务器为1个时,则可以直接将该候选服务器确定为包含每个第二目标区域的第二区域集合所对应的通用服务器。
71.在一种可能的实施方式中,当确定的候选服务器为至少2个时,可以将任一候选服务器确定为包含每个第二目标区域的第二区域集合所对应的通用服务器,也可以将候选服务器中,最大延迟上限的最小值所对应的候选服务器确定为包含每个第二目标区域的第二区域集合所对应的通用服务器。
72.在另一种可能的实施方式中,若所述候选服务器为至少两个,所述基于每个所述候选服务器,确定包含每个所述第二目标区域的第二区域集合所对应的通用服务器,包括:
73.针对每个所述候选服务器,确定该候选服务器分别与每个所述第二目标区域的用户设备进行数据通信的平均延迟时长;
74.根据每个所述候选服务器对应的平均延迟时长,确定所述第二区域集合所对应的通用服务器。
75.为了进一步保证确定的通用服务器的准确性,在本发明实施例中,针对每个候选服务器,确定该候选服务器分别与每个第二目标区域的用户设备进行数据通信的平均延迟时长,以基于每个候选服务器分别对应的平均延迟时长和对应的最大延迟上限,综合确定出第二区域集合所对应的通用服务器。
76.具体实施过程中,针对每个候选服务器,确定该候选服务器分别与每个第二目标区域的用户设备进行数据通信的延迟时长(为了方便描述,记为第二延迟时长),根据每个第二延迟时长,确定该候选服务器对应的平均延迟时长。
77.在一种可能的实施方式中,根据该候选服务器分别与每个第二目标区域的目标用户设备进行数据通信的第二延迟时长,确定该候选服务器对应的平均延迟时长,可以通过如下公式确定:
[0078][0079]
其中,avg(rtt
j
)为候选服务器j对应的平均延迟时长,n代表第二区域集合中所包含的区域的数量,rtt
ji
为候选服务器j与第i个第二目标区域的目标用户设备进行数据通信的第二延迟时长。
[0080]
在一种可能的实施方式中,所述所述根据每个所述候选服务器对应的平均延迟时长,确定所述第二区域集合所对应的通用服务器,包括:
[0081]
针对每个所述候选服务器,根据该候选服务器的平均延迟时长及其对应的第一权重值、该候选服务器的最大延迟上限及其对应的第二权重值,确定综合延迟时长;
[0082]
将综合延迟时长满足预设的第二通信要求的任一候选服务器确定为所述第二区域集合所对应的通用服务器。
[0083]
为了尽可能的保证目标群组中每个会话成员的通信质量,在本发明实施例中,可以综合候选服务器对应的平均延迟时长以及对应的最大延迟上限,确定第二区域集合所对应的通用服务器。
[0084]
具体实施过程中,预先配置了平均延迟时长对应的权重值(为了方便描述,记为第
一权重值),和最大延迟上限对应的权重值(为了方便描述,记为第二权重值)。对于确定的任一候选服务器,根据该候选服务器对应的平均延迟时长及预先配置的平均延迟时长对应的第一权重值,和该候选服务器对应的最大延迟上限及预先配置的最大延迟上限对应的第二权重值,确定综合延迟时长。根据该候选服务器对应的综合延迟时长,确定第二区域集合对应的通用服务器。
[0085]
在一种可能的实施方式中,根据该候选服务器对应的平均延迟时长及预先配置的平均延迟时长对应的第一权重值,和该候选服务器对应的最大延迟上限及预先配置的最大延迟上限对应的第二权重值,确定综合延迟时长可以通过如下公式确定:
[0086]
mul(rtt
j
)=avg(rtt
j
)*ω1+max(rtt
j
)*ω2;
[0087]
其中,mul(rtt
j
)为候选服务器j对应的综合延迟时长,avg(rtt
j
)为候选服务器j对应的平均延迟时长,ω1为第一权重值,max(rtt
j
)为候选服务器j对应的最大延迟上限,ω2为第二权重值。
[0088]
为了准确地确定通用服务器,在本发明实施例中,预设有通信要求(为了方便描述,记为第二通信要求)。满足该第二通信要求可以是综合延迟时长最小的服务器,或,综合延迟时长小于该第二区域集合对应的延迟阈值(为了方便描述,记为第二延迟阈值)的任一候选服务器。当基于上述实施例获取到任一候选服务器对应的综合延迟时长后,判断获取到的综合延迟时长是否满足预设的第二通信要求,将综合延迟时长满足预设的第二通信要求的任一候选服务器确定为第二区域集合所对应的通用服务器。
[0089]
在一种可能的实施方式中,可以基于上述的实施例确定了任一候选服务器对应的综合延迟时长后,便判断该综合延迟时长是否小于该第二区域集合对应的第二延迟阈值。当确定该综合延迟时长小于该第二区域集合对应的第二延迟阈值,便将该服务器确定为候选服务器;也可以基于上述的实施例确定了每个服务器对应的综合延迟时长后,依次或随机分别判断每个服务器对应的综合延迟时长是否小于该第二区域集合对应的第二延迟阈值,当确定任一服务器对应的综合延迟时长小于该第二区域集合对应的第二延迟阈值,则可以将该服务器确定为候选服务器。
[0090]
在本发明实施例中,任一第二区域集合对应的第二延迟阈值是根据该第二区域集合对应的任一综合延迟时长以及预先配置的波动值确定的,或者是根据该第二区域集合对应的任一综合延迟时长以及预先配置的比例确定的。其中,该任一综合延迟时长可以为该第二区域集合对应的每个综合延迟时长中的最小值、最大值等。比如,当任一第二区域集合对应的第二延迟阈值是根据该第二区域集合对应的每个综合延迟时长中的最小值和预先配置的波动值确定的时,若该第二区域集合对应的综合延迟时长的最小值为100ms,预先配置的波动值为50ms,则该第二区域集合对应的第二延迟阈值为150ms;当任一第二区域集合对应的第二延迟阈值是根据该第二区域集合对应的每个综合延迟时长中的最小值和预先配置的比例确定的时,若该第二区域集合对应的综合延迟时长的最小值为100ms,预先配置的比例为20%,则该第二区域集合对应的第二延迟阈值为120ms。
[0091]
在另一种可能的实施方式中,当满足该第二通信要求是综合延迟时长最小的候选服务器时,获取到每个候选服务器对应的综合延迟时长之后,按照综合延迟时长从大到小的顺序,将每个候选服务器进行排序,将排序在前的设定数量的候选服务器确定为第二区域集合所对应的通用服务器。
[0092]
图2为本发明实施例提供的一种第二区域集合及其对应的通用服务器的场景示意图。如图2所示,第二区域集合c为{c1,c2,c3},基于上述实施例中的方法,可以根据包含某一历史群组通话中的每个会话成员的第二目标区域的第二区域集合,选择出能够保障该历史群组进行通话的最大延迟时长在可接受范围内的服务器作为通用服务器并记录,后续在确定与该历史群组中会话成员的区域分布情况相同的其他群组进行群组通话的中心服务器时,即包含其他群组中的每个会话成员的第一目标区域的信息的第一区域集合与该第二区域集合c匹配,提供了一个直接将确定的通用服务器确定为中心服务器的选择方案,尽可能减少实时选路所产生的延迟以及提供选路服务的电子设备的压力。
[0093]
基于上述实施例中的方法,可以在实时选路过程中,基于预先配置的候选集合中的每个服务器分别与每个第二目标区域的用户设备进行数据通信的最大延迟上限,找出能够保证与该历史群组中会话成员的区域分布情况相同的其他群组在群组通话时,会话成员之间的通信延迟在可接受范围内的通用服务器,将该通用服务器与该群组的区域分布情况进行缓存,使得该通用服务器可以作为其他相同的区域分布情况的群组进行群组通话时的通用服务器,仅为根据该通用服务器,确定该群组进行群组通话的中心服务器。
[0094]
后续接收到目标群组的主叫方发送的群组通话请求后,优先查询该目标群组中的每个会话成员的区域分布情况是否与预先配置了通用服务器的区域分布情况相同,即确定包含目标群组中每个会话成员的第一目标区域的信息的第一区域集合是否与预先配置的任一第二区域集合匹配,从而减少实时选路所产生的延迟以及提供选路服务的电子设备的压力。
[0095]
实施例3:
[0096]
为了进一步降低选路服务器每次实时确定当前通话的选路结果的压力,提高确定选路结果的效率,降低选路延迟,在上述各实施例的基础上,在本发明实施例中,所述确定包含每个所述第二目标区域的第二区域集合所对应的通用服务器之后,所述方法还包括:
[0097]
针对除每个所述第二目标区域之外的其他区域,确定该其他区域的用户设备与所述通用服务器进行数据通信的目标延迟时长;
[0098]
根据目标延迟时长小于所述通用服务器对应的最大延迟上限的每个目标其他区域,确定第三区域集合;
[0099]
对应保存所述第二区域集合、所述第二区域集合对应的通用服务器和所述第三区域集合。
[0100]
在实际应用场景中,可能出现群组中的会话成员发生变更,但变更后的群组中的会话成员的第一目标区域的信息与变更前的群组中的会话成员的第一目标区域的信息是不一致的情况。比如,变更前的群组a中包含有一个第一目标区域为中国的会话成员a,以及一个第一目标区域为美国的会话成员b,该变更前的群组a的第一区域集合为{中国、美国},而变更后的群组a中包含有一个第一目标区域为中国的会话成员e,一个第一目标区域为美国的会话成员b,以及一个第一目标区域为俄罗斯的会话成员c,该变更后的群组a的第一区域集合也为{中国、美国、俄罗斯}。在该种情况下,虽然变更前后的群组中的会话成员的第一目标区域的信息是不一致的,但最终确定的变更后的群组在进行群组通话时的中心服务器,与变更前的群组在进行群组通话时的中心服务器相同。当然,还有可能出现两个群组中的会话成员的第一目标区域的信息并不是完全相同的,但最终确定的两个群组分别进行群
组通话时的中心服务器是相同的情况。
[0101]
基于此,在本发明实施例中,基于上述实施例确定了包含每个第二目标区域的第二区域集合所对应的通用服务器之后,可以针对除每个第二目标区域之外的其他区域,确定该其他区域的用户设备与确定的通用服务器进行数据通信的延迟时长(为了方便说明,记为目标延迟时长),针对每个其他区域,根据该其他区域对应的目标延迟时长。基于每个其他区域分别对应的目标延迟时长,确定通用服务器对应的第三区域集合。
[0102]
在本发明实施例中,第三区域集合中的每个区域的信息,是对可以采用第二区域集合对应的通用服务器的区域的扩展,第三区域集合中的至少一个区域的信息与第二区域集合所构成的区域集合均对应该第二区域集合对应的通用服务器。
[0103]
获取到除每个第二目标区域之外的任一其他区域分别对应的目标延迟时长后,针对每个其他区域,判断该其他区域对应的目标延迟时长是否小于该通用服务器所对应的最大延迟上限。具体的,若该其他区域对应的目标延迟时长小于该通用服务器所对应的最大延迟上限,则将该其他区域添加到该通用服务器所对应的第三区域集合中;若该其他区域对应的目标延迟时长不小于该通用服务器所对应的最大延迟上限,则不将该其他区域添加到该通用服务器所对应的第三区域集合中。
[0104]
图3为本发明实施例提供的一种第二区域集合以及第三区域集合的场景示意图。如图3所示,第二区域集合c为{c1,c2,c3},基于上述实施例中的方法,确定其他区域c4和c5分别对应的目标延迟时长均小于该通用服务器对应的最大延迟上限,根据其他区域c4和c5确定第三区域集合c

,即确定第三区域集合c

为{c4,c5}。
[0105]
基于上述实施例的方法,确定第二区域集合所对应的第三区域集合中包含的每个区域后,将第二区域集合、第三区域集合和确定的该第二区域集合对应的通用服务器的标识信息对应保存。
[0106]
在一种可能的实施方式中,在对应保存确定的该第二区域集合对应的通用服务器的标识信息、第二区域集合以及第三区域集合时,可以是将通用服务器的标识信息、第二区域集合中包含的每个区域的信息以及第三区域集合中包含的每个区域的信息对应保存,也可以是基于分别包含的区域的信息,确定第二区域集合的标识信息以及第三区域集合的标识信息,对应保存确定的该第二区域集合对应的通用服务器的标识信息、第二区域集合的标识信息以及第三区域集合的标识信息。
[0107]
需要说明的是,区域的信息可以是该区域的标识信息,也可以是该区域的名称。
[0108]
在一种可能的实施方式中,当区域集合的标识信息是基于该区域集合中包含的每个区域的标识信息确定的时,预先为每个区域分配有一个独占比特(bit)位,根据每个区域对应的bit位上的数字,确定该区域的标识信息。根据该区域集合内包含的每个区域的标识信息的和,确定该区域集合的标识信息。
[0109]
比如,假设预先为区域中国、美国、印度所分配的bit位分别是第1、2、3个bit位,则中国0000000000000001在其独占的bit位上对应的数字为0x1、美国0000000000000010在其独占的bit位上对应的数字为0x2、印度0000000000000100在其独占的bit位上对应的数字为0x4,那么区域集合{中国,美国,印度}的标识信息则可以用数字0x7表示,即0x1+0x2+0x4=0x7。
[0110]
其中,为了尽可能多的用每个bit位表示每个区域,每个区域的标识信息的数据类
型为长整数型(long)数据。由于long型数据最多只有64个bit位,即其最多只能代表64个区域,可以根据设置的区域的数量,确定采用多少个long型数据中的每个bit位分别代表区域。比如,区域为国家,而全世界有200多个国家,则需要使用4个long型数据来代表每个国家的标识信息。
[0111]
图4为本发明实施例提供的一种将通用服务器的保存方法的示意图。其中,*表示数字,cc1_key*保存的是第二区域集合c中第*个第二目标区域的信息,cc2_key*保存的是第二区域集合c对应的第三区域集合c

中第*个目标其他区域的信息,general_server保存的是第二区域集合c对应的通用服务器的标识信息。
[0112]
图5为本发明实施例提供的一种通用服务器的确定流程示意图,该流程包括:
[0113]
s501:获取任一历史群组的主叫方发送的群组通话请求中携带的每个会话成员的第二目标区域的信息。
[0114]
s502:获取包含每个第二目标区域的第二区域集合。
[0115]
s503:基于预先配置的候选集合中的每个服务器分别对应的最大延迟上限,确定候选服务器。
[0116]
针对预先配置的候选集合中的每个服务器,确定该服务器分别与每个第二目标区域的用户设备进行数据通信的最大延迟上限,若该最大延迟上限满足预设的第一通信要求,则将该服务器确定为候选服务器。
[0117]
s504:判断候选服务器的数量是否为0,若是,则结束,否则,执行s505。
[0118]
s505:判断候选服务器的数量是否大于1,若是,则执行s506,否则,执行s507。
[0119]
s506:根据每个候选服务器分别对应的平均延迟时长以及分别对应的最大延迟上限,确定该第二区域集合对应的通用服务器,然后执行s508。
[0120]
针对每个候选服务器,确定该候选服务器分别与每个第二目标区域的用户设备进行数据通信的平均延迟时长;
[0121]
针对每个候选服务器,根据该候选服务器的平均延迟时长及其对应的第一权重值、该候选服务器的最大延迟上限及其对应的第二权重值,确定综合延迟时长;
[0122]
将综合延迟时长满足预设的第二通信要求的任一候选服务器确定为第二区域集合所对应的通用服务器。
[0123]
s507:将该候选服务器确定为该第二区域集合对应的通用服务器。
[0124]
s508:确定该通用服务器对应的第三区域集合。
[0125]
针对除每个第二目标区域之外的其他区域,确定该其他区域的用户设备与通用服务器进行数据通信的目标延迟时长;
[0126]
根据目标延迟时长小于通用服务器对应的最大延迟上限的每个其他区域,确定第三区域集合;
[0127]
对应保存第二区域集合、第二区域集合对应的通用服务器和第三区域集合。
[0128]
实施例4:
[0129]
为了进一步降低选路服务器每次实时确定当前通话的选路结果的压力,提高确定选路结果的效率,降低选路延迟,在上述各实施例的基础上,在本发明实施例中,所述确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,包括:
[0130]
针对每个所述第二区域集合,若所述第一区域集合与所述第二区域集合的交集为
所述第二区域集合,且所述第一区域集合与所述第二区域集合对应的综合区域集合的交集为所述第一区域集合,则确定所述第一区域集合与所述第二区域集合匹配,其中,所述第二区域集合对应的综合区域集合包括所述第二区域集合和所述通用服务器对应的第三区域集合。
[0131]
在实际应用场景中,包括当前进行群组通话中的每个会话成员的第一目标区域的第一区域集合中,可能包含有除了某一第二区域集合中的每个第二目标区域的信息之外的其他区域。获取该第一区域集合所包含的第二区域集合所对应的通用服务器,如果这些其他区域均是该通用服务器所对应的第三区域集合中的区域的话,则该第一区域集合可以理解为是该第二区域集合的一个扩展后的区域集合,且为根据该第二区域集合对应的综合区域集合的一个子集。其中,任一第二区域集合对应的综合区域集合包括该第二区域集合和该第二区域集合对应的通用服务器所对应的第三区域集合。而由该第三区域集合的任一子区域集合和该第二区域集合所确定的区域集合均对应该第二区域集合对应的通用服务器。因此,在本发明实施例中,当接收到目标群组的主叫方发送的群组通话请求后,对该群组通话请求进行解析,获取该群组通话请求中携带的每个第一目标区域的信息。根据每个第一目标区域的信息,确定第一区域集合。针对预先配置了通用服务器的每个第二区域集合,若确定该第一区域集合与该第二区域集合的交集为该第二区域集合,且该第一区域集合与该第二区域集合对应的综合区域集合的交集为该第一区域集合,则确定该第一区域集合与该第二区域集合匹配,获取该匹配的第二区域集合所对应的通用服务器,根据该通用服务器,确定目标群组进行群组通话的中心服务器。若确定该第一区域集合与该第二区域集合的交集不为该第二区域集合,或,该第一区域集合与该第二区域集合对应的综合区域集合的交集不为该第一区域集合,则确定该第一区域集合与该第二区域集合不匹配,则基于该群组通话请求中携带的每个第一目标区域的信息,确定目标群组进行群组通话的中心服务器。
[0132]
具体的,确定第一区域集合x与预先保存的任一第二区域集合匹配,需要第一区域集合x满足如下两个条件:
[0133]
x∩c=c;
[0134]
x∩(c∪c

)=x;
[0135]
其中,x表示第一区域集合,c表示与该第一区域集合匹配的第二区域集合,c

表示c对应的通用服务器所对应的第三区域集合。
[0136]
在一种可能的实施方式中,若按照图4所示的方式对应保存第二区域集合对应的通用服务器的标识信息、第二区域集合和第三区域集合的,则在后续实际应用过程中,可以通过如下代码将第一区域集合与预先配置的任一第二区域集合进行匹配的操作,具体的:
[0137][0138][0139]
其中,采用long key1,long key2,long key3,long key4这4个long型数据中的每个bit位分别代表区域的信息。*表示数字,cc1_key*保存的是第二区域集合c中第*个第二目标区域的信息,cc2_key*保存的是c对应的通用服务器所对应的第三区域集合c

中第*个目标其他区域的信息。
[0140]
在一种可能的实施方式中,所述根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器之前,所述方法还包括:
[0141]
若确定匹配的第二区域集合所对应的通用服务器对应的确定时长小于预设的时长阈值,则执行后续根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器的步骤。
[0142]
因为网络波动和每个服务器的负载限制等不确定因素,比如,可能出现通用服务器的负载发生变化,导致群组中的任一会话成员的用户设备与该通用服务器进行数据通信的质量下降,或者,群组中任意两个会话成员的用户设备进行数据通信的链路发生了变化等情况,使得预先确定的该群组对应的通用服务器无法保证该群组进行群组通话。如果总是根据保存的第二区域集合与通用服务器的对应关系,确定目标群组进行群组通话的中心服务器,则很可能会降低当前群组通话的质量,降低用户体验。因此,在本发明实施例中,预先设置有时长阈值,即确定的任一第二区域集合与对应的通用服务器对应保存的最大时长。在保存某一第二区域集合与该第二区域集合对应的通用服务器时,还需要启动计时器对该通用服务器的确定时长进行计时。当基于上述的实施例,获取到了匹配的第二区域集合后,获取该匹配的第二区域集合所对应的通用服务器对应的确定时长。将该确定时长与预设的时长阈值进行比较,根据比较结果,确定是否根据该通用服务器,确定目标群组进行群组通话的中心服务器。
[0143]
在一种可能的实施方式中,若确定时长小于预设的时长阈值,说明该第二区域集合对应的通用服务器还在有效期内,可以根据该通用服务器,确定目标群组进行群组通话
的中心服务器。
[0144]
在另一种可能的实施方式中,若确定时长大于预设的时长阈值,说明该第二区域集合对应的通用服务器失效了,无法根据该通用服务器,确定目标群组进行群组通话的中心服务器,则根据该群组通话请求中携带的每个第一目标区域的信息,确定该目标群组进行群组通话的中心服务器。
[0145]
在某些可能的实施方式中,为了减少失效的通用服务器影响确定中心服务器的效率,在本发明实施例中,当确定某一通用服务器的确定时长达到预设的时长阈值时,可以直接将保存的该第二区域集合与该第二区域集合对应的通用服务器删除。
[0146]
为了提高确定中心服务器的效率,在本发明实施例中,可以直接将匹配的第二区域集合所对应的通用服务器确定为目标群组进行群组通话的中心服务器。
[0147]
在实际应用场景中,还可能出现服务器的负载发生变化,导致将预先确定的目标区域集合对应的通用服务器确定为当前群组通话的中心服务器后,群组内的会话成员之间进行数据通信的质量降低的情况。为了避免上述情况的发送,在本发明实施例中,所述根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器,包括:
[0148]
若确定所述通用服务器的状态信息满足预设的可用条件,则将所述通用服务器确定为所述目标群组进行群组通话的中心服务器。
[0149]
为了提高确定的中心服务器的准确性,在本发明实施例中,预设有可用条件,该可用条件用于标识服务器可用时的状态信息,比如,服务器可用时的最大负载阈值等。具体实施过程中,在将匹配的第二区域集合所对应的通用服务器确定为目标群组进行群组通话的中心服务器之前,获取该通用服务器的状态信息。判断该通用服务器的状态信息是否满足预设的可用条件,从而确定是否执行后续将匹配的第二区域集合所对应的通用服务器确定为目标群组进行群组通话的中心服务器的步骤。
[0150]
其中,服务器的状态信息包括服务器的网络状态、负载情况等信息中的至少一种。
[0151]
在一种可能的实施方式中,若确定通用服务器的状态信息满足预设的可用条件,说明该通用服务器可以保证目标群组进行群组通话的质量,即该通用服务器可用,则将该通用服务器确定为目标群组进行群组通话的中心服务器;若确定通用服务器的状态信息不满足预设的可用条件,说明该通用服务器无法保证目标群组进行群组通话的质量,即该通用服务器不可用,则基于每个第一目标区域的信息,确定当前群组通话的中心服务器。
[0152]
基于上述的描述可知,通用服务器,也可称为通用解,是为包含的会话成员满足某一特定区域分布的群组所提供的选路结果。当确定包含每个第一目标区域的第一区域集合与某一第二区域集合的交集为第二区域集合,且该第一区域集合与该第二区域集合对应的综合区域集合的交集为该第一区域集合,即该第一区域集合与预先配置了通用服务器的某一第二区域集合匹配时,电子设备只需检查匹配的第二区域集合对应的通用服务器是否可用,即确定匹配的第二区域集合对应的通用服务器的状态信息是否满足预设的可用条件,在确定该通用服务器的状态信息是否满足预设的可用条件,即确定该通用服务器可用时,直接将该通用服务器确定为该目标群组进行本次群组通话的中心服务器,电子设备无需再基于目标群组内每个会话成员的第一目标区域的信息,实时确定该目标群组进行本次群组通话的中心服务器。
[0153]
图6为本发明实施例提供的具体的服务器的选择流程示意图,以互联网即时通讯场景的群组通话场景为例,该流程包括:
[0154]
s601:接收目标群组的主叫方发送的群组通话请求。
[0155]
其中,该群组通话请求中携带有目标群组中每个会话成员的第一目标区域的信息。
[0156]
s602:判断包含每个第一目标区域的第一区域集合与预先保存的任一第二区域集合是否匹配,若匹配,则执行s603,否则,执行s605。
[0157]
具体的,确定包含每个第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,包括:
[0158]
针对每个第二区域集合,若第一区域集合与第二区域集合的交集为第二区域集合,且第一区域集合与第二区域集合对应的综合区域集合的交集为第一区域集合,则确定第一区域集合与第二区域集合匹配,其中,第二区域集合对应的综合区域集合包括第二区域集合和该第二区域集合对应的通用服务器对应的第三区域集合。
[0159]
s603:确定匹配的第二区域集合对应的通用服务器是否可用,若均为是,则执行s604,否则,执行s605。
[0160]
具体的,确定通用服务器的状态信息是否满足预设的可用条件,若满足,则确定该通用服务器可用,否则,确定该通用服务器不可用。
[0161]
s604:将匹配的第二区域集合对应的通用服务器确定为目标群组进行群组通话的中心服务器。
[0162]
s605:实时确定目群组进行群组通话的中心服务器。
[0163]
上述实施例中的通用服务器的选择方法,可以是在接收到目标群组的主叫方发送的群组通话请求,基于该群组通话请求,实时确定该群组通话的中心服务器的同时,也将该目标群组确定为历史群组,确定包含该历史群组中的每个会话成员的第二目标区域的第二区域集合对应的通用服务器;也可以是通过缓存的每个已经确定了中心服务器的群组通话请求,针对每个群组通话请求,确定包含该群组通话中的每个会话成员的第二目标区域的第二区域集合对应的通用服务器。
[0164]
在一种可能的实施方式中,在基于群组通话请求中携带的每个第一目标区域的信息,确定目标群组进行群组通话的中心服务器时,可以直接将主叫方对应的最优服务器,即将与主叫方直连的每个服务器中,与该主叫方进行数据通信的延迟时长最小的服务器,确定为当前群组通话的中心服务器。
[0165]
在另一种可能的实施方式中,在基于群组通话请求(为了方便描述,记为第一群组通话请求)中携带的每个第一目标区域的信息,确定目标群组进行群组通话的中心服务器时,还可以通过如下方式确定:
[0166]
首先,针对每个第一目标区域,根据该第一目标区域中的用户设备分别与直连的服务器进行数据通信的第三延迟时长,确定该第一目标区域对应的第一服务器。
[0167]
在本发明实施例中,为了准确地确定每个第一目标区域对应的第一服务器,预设有筛选条件。当基于上述实施例获取到该第一目标区域中的用户设备被分别与直连的服务器进行数据通信的第三延迟时长后,判断获取到的任一第三延迟时长是否满足预设的筛选条件,将第三延迟时长满足预设的筛选条件一个服务器确定为该第一目标区域对应的第一
服务器。
[0168]
其中,在设置筛选条件时,可以根据场景的不同,设置不同的筛选条件。为了尽可能地保证后续群组通话的通信质量,满足筛选条件可以是第三延迟时长的最小值;为了避免确定的第一服务器为中心服务器后进行群组通话所花费的成本过多,满足筛选条件可以是第三延迟时长小于该第一目标区域对应的延迟阈值(为了方便描述,记为第三延迟阈值)。
[0169]
基于上述实施例确定了每个第一服务器之后,为了保证群组通话的质量,避免存在除每个第一服务器之外的服务器比确定的第一服务器的通信质量更好,针对除每个第一服务器之外的第二服务器,获取该第二服务器分别与每个第一服务器进行数据通信的延迟时长(为了方便描述,记为第四延迟时长),根据每个第四延迟时长,确定该第二服务器对应的总延迟时长。
[0170]
在一种可能的实施方式中,为了进一步提高群组通话的质量,在本发明实施例中,预设有第三通信要求。其中,满足该第三通信要求可以是总延迟时长最小,或,总延迟时长小于预设的延迟阈值(为了方便描述,记为第四延迟阈值)。当基于上述实施例获取到每个第二服务器分别对应的总延迟时长之后,判断获取到的任一总延迟时长是否满足预设的第三通信要求,将总延迟时长满足预设的第三通信要求的任一第二服务器确定为第一服务器。
[0171]
需要说明的是,在设置第四延迟阈值时,可以根据场景的不同,设置不同的值,如果对中心服务器的延迟时长有严格的要求,可以将该第四延迟阈值设置的低一些;如果为了避免漏掉通信质量比每个第一目标区域分别对应的第一服务器好的第二服务器,可以将该第四延迟阈值设置的高一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
[0172]
基于上述的实施例确定了每个第一服务器后,基于获取到的第一服务器分别与每个第一目标区域中的用户设备进行数据通信的平均延迟时长,确定目标群组进行群组通话的中心服务器。
[0173]
在一种可能的实施方式中,获取所述第一服务器分别与每个所述第一目标区域中的用户设备进行数据通信的平均延迟时长,包括:
[0174]
获取每个所述第一目标区域分别对应的权重值;
[0175]
根据每个所述第一目标区域分别对应的第五延迟时长以及权重值,确定所述第一服务器对应的平均延迟时长,其中,任一第一目标区域对应的第五延迟时长为所述第一服务器与该第一目标区域的用户设备进行数据通信的延迟时长。
[0176]
在一种可能的实施方式中,所述根据每个所述第一目标区域分别对应的第五延迟时长以及权重值,确定所述第一服务器对应的平均延迟时长,包括:
[0177]
分别确定每个所述第一目标区域分别对应的第五延迟时长与对应的权重值的乘积;
[0178]
根据每个所述乘积以及每个所述权重值,确定所述第一服务器对应的平均延迟时长。
[0179]
在一种可能的实施方式中,根据每个第一目标区域分别对应的第五延迟时长以及权重值,确定第一服务器对应的平均延迟时长可以通过如下公式确定:
[0180][0181]
其中,avg(rtt
i
)为第i个第一服务器对应的平均延迟时长,w
j
为第j个目标区域对应的权重值,为根据n个目标区域分别对应的权重值所确定的权重和,rtt
ji
为第i个第一服务器与第j个目标区域中的用户设备进行数据通信的第五延迟时长。
[0182]
在一种可能的实施方式中,若第一群组通话请求中还携带有目标群组的目标群组标识信息,所述获取每个所述第一目标区域分别对应的权重值,包括:
[0183]
若所述目标群组标识信息与已配置了权重值的群组标识信息均不匹配,则分别根据所述目标群组中每个所述第一目标区域所包含的会话成员的数量,确定每个所述第一目标区域分别对应的权重值。
[0184]
在实际应用场景中,可能存在目标群组第一次进行群组通话的情况,则将获取到的目标群组标识信息与已配置了权重值的每个群组标识信息进行匹配后,该目标群组标识信息无法与已配置了权重值的每个群组标识信息匹配,则可以根据第一群组通话请求中携带的每个第一目标区域的信息,确定目标群组中每个第一目标区域所包含的会话成员的数量,根据每个第一目标区域所包含的会话成员的数量,确定每个第一目标区域分别对应的权重值。
[0185]
在某些可能的实施方式中,为了方便确定每个第一目标区域分别对应的权重值,在本发明实施例中,预先配置了群组内任一会话成员对应的单位权重值,比如,目标群组内任一会话成员对应的单位权重值为1.0。根据目标群组中每个第一目标区域所包含的会话成员的数量以及预先配置的任一会话成员对应的单位权重值,分别确定每个第一目标区域分别对应的权重值。
[0186]
在实际应用场景中,也可能存在目标群组不是第一次进行群组通话的情况,则将获取到的目标群组标识信息与已配置了权重值的每个群组标识信息进行匹配后,该目标群组标识信息可以与已配置了权重值的某一群组标识信息匹配,则可以获取匹配的群组标识信息所对应的每个区域分别对应的权重值,确定每个第一目标区域分别对应的权重值。
[0187]
为了准确地确定目标群组进行群组通话的中心服务器,在本发明实施例中,预设有通信要求(为了方便说明,记为第四通信要求)。当基于上述实施例分别获取到了每个第一服务器对应的平均延迟时长后,对于获取到的任一平均延迟时长,可以依次或随机判断该平均延迟时长是否满足预设的第四通信要求。当确定某一平均延迟时长满足预设的第四通信要求时,可以直接将该平均延迟时长所对应的服务器确定为目标群组进行群组通话的中心服务器;也可以分别确定了获取到的每个平均延迟时长是否满足预设的第四通信要求之后,从满足预设的第四通信要求的平均延迟时长中,将任一平均延迟时长所对应的服务器确定为目标群组进行群组通话的中心服务器。
[0188]
其中,在设置第四通信要求时,也可以根据场景的不同,设置不同的第四通信要求。为了尽可能地保证群组通话的通信质量,满足第四通信要求的服务器可以是第一延迟时长最小的服务器;为了负载均衡,平均延迟时长满足第四通信要求的第一服务器可以是按照平均延迟时长从大到小的顺序,将排序在前的预设数量的平均延迟时长所对应的第一服务器中,负载最小的第一服务器。具体实施过程中,可以根据实际需求进行灵活设置,在
此不做具体限定。
[0189]
在一种可能的实施方式中,所述方法还包括:
[0190]
接收所述目标群组的被叫方发送的第二群组通话请求;其中,该第二群组通话请求中携带有所述目标群组的目标群组标识信息;
[0191]
获取与所述目标群组标识信息匹配的已配置了中心服务器的群组标识信息;
[0192]
根据匹配的群组标识信息所对应的中心服务器,确定所述目标群组进行群组通话的中心服务器。
[0193]
当基于上述的实施例确定了目标群组进行群组通话的中心服务器之后,所述方法还包括:
[0194]
根据发送目标群组通话请求的目标会话成员所在区域的信息,确定所述目标会话成员对应的第一链路延迟和第二链路延迟;其中,所述目标群组通话请求为所述第一群组通话请求,或,所述第二群组通话请求,所述第一链路延迟为所述目标会话成员所在区域的用户设备直接与所述中心服务器进行数据通信的链路的链路延迟,所述第二链路延迟为所述目标会话成员所在区域的用户设备通过转发服务器转发的方式与所述中心服务器进行数据通信的链路的链路延迟;
[0195]
根据所述第一链路延迟和所述第二链路延迟,确定所述目标会话成员的用户设备与所述中心服务器进行数据通信的链路。
[0196]
具体实施过程中,若第一链路延迟比第二链路延迟小,则确定目标会话成员的用户设备直接与该中心服务器进行数据通信。
[0197]
若第一链路延迟比第二链路延迟大,则确定目标会话成员的用户设备通过转发服务器转发的方式与该中心服务器进行数据通信。
[0198]
在一种可能的实施方式中,所述方法还包括:
[0199]
若确定发送目标群组通话请求的目标会话成员第一次加入到当前群组通话,则根据所述目标群组通话请求,获取所述目标会话成员所在区域的信息;其中,所述目标群组通话请求为所述第一群组通话请求,或,所述第二群组通话请求;
[0200]
若在保存的所述目标群组的每个所述第一目标区域分别对应的权重值中,获取到所述目标会话成员所在区域对应的目标权重值,则对所述目标权重值进行更新并保存。
[0201]
在一种可能的实施方式中,预先配置有增量权重值。根据目标群组通话请求中携带的信息,确定发送该目标群组通话请求的目标会话成员所在区域的信息。在保存的目标群组的每个第一目标区域分别对应的权重值中,确定该目标会话成员所在区域对应的目标权重值。根据该目标权重值与预先配置的增量权重值的和,对目标权重值进行更新并保存。
[0202]
其中,预先配置的增量权重值以是预先配置的数值范围内的任一数值,也可以是预设的某一固定数值。
[0203]
在一种可能的实施方式中,所述方法还包括:
[0204]
若在保存的所述目标群组的每个所述第一目标区域分别对应的权重值中,无法获取到所述目标会话成员所在区域对应的目标权重值,则根据所述群组通话请求中携带的每个所述第一目标区域的信息,确定在所述目标会话成员所在区域的会话成员的数量;
[0205]
根据所述数量,确定所述目标会话成员所在区域对应的权重值并保存。
[0206]
在某些可能的实施例中,当确定在保存的目标群组的每个第一目标区域分别对应
的权重值中,无法获取到目标会话成员所在区域对应的目标权重值时,则获取该目标会话成员发送的目标群组通话请求中携带的目标群组中每个会话成员所在第一目标区域的信息;根据每个第一目标区域的信息以及该目标会员所在区域的信息,确定目标群组中在该目标会话成员所在区域的会话成员的数量。根据确定的数量,确定该目标会话成员所在区域对应的权重值,并将该目标会话成员所在区域对应的权重值与目标群组的群组标识信息对应保存。
[0207]
在一种可能的实施方式中,预先配置了群组内任一会话成员对应的单位权重值,比如,目标群组内任一会话成员对应的单位权重值为1.0。根据目标群组中在该目标会话成员所在区域的会话成员的数量,以及预先配置的任一会话成员对应的单位权重值,分别确定目标会话成员所在区域对应的权重值。
[0208]
图7为本发明实施例提供的具体的实时确定中心服务器的流程示意图,该流程包括:
[0209]
s701:接收群组通话请求。
[0210]
s702:判断该群组通话请求是否为主叫方发送的,若是,执行s703,否则,执行s709。
[0211]
具体的判断该群组通话请求是否为主叫方发送的方法已在上述实施例中进行描述,重复之处不做赘述。
[0212]
s703:判断该目标群组是否为第一次进行群组通话,若是,执行s704,否则,执行s705。
[0213]
具体的,可以将该目标群组的目标群组标识信息与保存的已进行群组通话的群组标识信息进行匹配,若存在匹配的群组标识信息,则确定该目标群组不为第一次进行群组通话;若不存在匹配的群组标识信息,则确定该目标群组为第一次进行群组通话。
[0214]
s704:基于群组通话请求中携带的群组内每个会话成员的第一目标区域的信息,确定每个第一目标区域分别对应的权重值。
[0215]
s705:获取保存的每个第一目标区域对应的权重值。
[0216]
s706:确定每个第一目标区域对应的第一服务器。
[0217]
具体的确定过程已在上述实施例中进行描述,重复之处不做赘述。
[0218]
s707:针对除每个第一服务器之外的每个第二服务器,获取该第二服务器分别与每个第一服务器进行数据通信的总延迟时长;将总延迟时长满足预设的第二通信要求的任一第二服务器确定为第一服务器。
[0219]
具体的,已在上述实施例中进行描述,重复之处不做赘述。
[0220]
s708:针对每个第一服务器,确定第一服务器分别与每个第一目标区域中的用户设备进行数据通信的平均延迟时长;将平均延迟时长满足预设的第四通信要求的任一第一服务器确定为当前群组通话的中心服务器,执行s710。
[0221]
s709:根据该群组通话请求中携带的目标群组标识信息,以及已配置了中心服务器的群组标识信息,确定目标群组进行群组通话的中心服务器。
[0222]
具体的,已在上述实施例中进行描述,重复之处不做赘述。
[0223]
s710:判断发送该群组通话请求的目标会话成员是否第一次加入到当前的群组通话中,若是,执行s711,否则,执行s712。
[0224]
s711:更新并保存该目标会话成员所在区域对应的权重值。
[0225]
具体的,根据群组通话请求,获取目标会话成员所在区域的信息;
[0226]
若在保存的目标群组的每个第一目标区域分别对应的权重值中,获取到目标会话成员所在区域对应的目标权重值,则对目标权重值进行更新并保存。
[0227]
若在保存的目标群组的每个第一目标区域分别对应的权重值中,无法获取到目标会话成员所在区域对应的目标权重值,则根据群组通话请求中携带的每个第一目标区域的信息,确定在目标会话成员所在区域的会话成员的数量;根据确定的数量,确定目标会话成员所在区域对应的权重值并保存。
[0228]
s712:根据发送群组通话请求的目标会话成员所在区域的信息,确定目标会话成员对应的第一链路延迟和第二链路延迟。
[0229]
其中,第一链路延迟为该会话成员所在区域的用户设备直接与中心服务器进行数据通信的链路的链路延迟,第二链路延迟为目标会话成员所在区域的用户设备通过转发服务器转发的方式与中心服务器进行数据通信的链路的链路延迟。
[0230]
s713:判断第一链路延迟是否小于第二链路延迟,若是,执行s714,否则,执行s715。
[0231]
s714:确定目标会话成员的用户设备直接与该中心服务器进行数据通信。
[0232]
s715:确定目标会话成员的用户设备通过转发服务器转发的方式与该中心服务器进行数据通信。
[0233]
实施例5:
[0234]
图8为本发明实施例提供的一种服务器的选择装置的结构示意图,本发明实施例提供了一种服务器的选择装置,该装置包括:
[0235]
接收单元81,用于接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息;
[0236]
处理单元82,用于若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
[0237]
由于上述服务器的选择装置解决问题的原理与服务器的选择方法相似,因此上述服务器的选择装置的实施可以参见方法的实施,重复之处不再赘述。
[0238]
由于本发明实施例中,预先确定了每个第二区域集合所对应的通用服务器,后续接收到目标群组的主叫方发送的群组通话请求之后,根据该群组通话请求中携带的目标群组中每个会话成员的第一目标区域的信息,将包含每个第一目标区域的第一区域集合与预先保存的每个第二区域集合进行匹配,当确定该第一区域集合与预先保存的任一第二区域集合匹配时,根据匹配的第二区域集合所对应的通用服务器,确定目标群组进行群组通话的中心服务器,从而实现快速且准确地确定中心服务器,简化了选路服务器确定中心服务器的过程,极大地降低选路服务器每次实时确定中心服务器的压力,提高确定中心服务器的效率,降低确定选路结果的延迟。
[0239]
实施例6:
[0240]
图9为本发明实施例提供的一种电子设备结构示意图,该电子设备,包括:处理器91、通信接口92、存储器93和通信总线94,其中,处理器91,通信接口92,存储器93通过通信
总线94完成相互间的通信;
[0241]
所述存储器93中存储有计算机程序,当所述程序被所述处理器91执行时,使得所述处理器91执行如下步骤:
[0242]
接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息;
[0243]
若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
[0244]
由于上述电子设备解决问题的原理与服务器的选择方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
[0245]
实施例7:
[0246]
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
[0247]
接收目标群组的主叫方发送的群组通话请求;其中,所述群组通话请求中携带有所述目标群组中每个会话成员的第一目标区域的信息;
[0248]
若确定包含每个所述第一目标区域的第一区域集合与预先保存的任一第二区域集合匹配,则根据匹配的第二区域集合所对应的通用服务器,确定所述目标群组进行群组通话的中心服务器。
[0249]
由于计算机可读存储介质解决问题的原理与上述实施例中的服务器的选择方法相似,因此具体实施可以参见服务器的选择方法的实施。
[0250]
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1