呼叫通话的并发数量确定方法、装置和计算机设备与流程

文档序号:33714012发布日期:2023-04-01 03:13阅读:307来源:国知局
呼叫通话的并发数量确定方法、装置和计算机设备与流程

1.本技术涉及通信技术领域,特别是涉及一种呼叫通话的并发数量确定方法、装置和计算机设备。


背景技术:

2.随着通信技术的发展,实现了呼叫系统与媒体机之间的通信,当呼叫系统发起大批量的呼叫通话时,通常需要将多个呼叫通话分配到不同的媒体机上,以确保每个媒体机能保持负载均衡。
3.目前,通常采用静态的负载均衡方式,也即对不同的媒体机预先设置不同的分配比例,使得呼叫系统可根据分配比例,来对每个媒体机各自剩余的并发数量进行调整。然而,不同媒体机运行时的资源消耗情况并不相同,采用固定的分配比例,可能造成多个呼叫通话在不同的媒体机上的错误分配。因此,如何准确地对每个媒体机各自剩余的并发数量进行调整,进而实现媒体机的负载均衡是本技术要解决的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能实现媒体机负载均衡的呼叫通话的并发数量确定方法、装置、计算机设备、存储介质和计算机程序产品。
5.第一方面,本技术提供了一种呼叫通话的并发数量确定方法。包括:
6.在与媒体机集群进行呼叫通话时,获取所述呼叫通话的申请时间和申请并发数量;所述申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;
7.确定所述申请时间所属的事件时间段,并确定所述呼叫通话在所述事件时间段中的申请排序;
8.根据所述申请排序,确定所述事件时间段内所述媒体机集群中的目标媒体机、以及所述目标媒体机的有效并发数量;所述有效并发数量是通过对所述目标媒体机进行事件监控得到;
9.对所述呼叫通话进行业务处理,并确定所述业务处理的处理时间;
10.当所述处理时间属于所述事件时间段时,根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量;所述目标并发数量用于确定所述目标媒体机还未承载的呼叫通话。
11.在其中一个实施例中,所述根据所述申请排序,确定所述事件时间段对应的目标媒体机、以及所述目标媒体机的有效并发数量,包括:当所述申请排序为首位时,在所述事件时间段内,对每个所述媒体机分别进行有效性检测,得到每个所述媒体机各自对应的检测结果;当所述检测结果表征所述媒体机与所述呼叫系统保持通信时,将所述媒体机作为目标媒体机;在所述事件时间段内对所述目标媒体机进行事件监听;所述事件监听用于触发所述目标媒体机确定对应的目标监听结果;接收所述目标媒体机通过目标通道传输的目标监听结果,并根据所述目标监听结果,确定所述目标媒体机的有效并发数量。
12.在其中一个实施例中,所述目标媒体机包括多个子媒体机;所述目标监听结果包括每个所述子媒体机各自对应的负载量、实时并发数量和资源使用率;所述有效并发数量包括每个所述子媒体机各自对应的子有效并发数量;所述根据所述目标监听结果,确定所述目标媒体机的有效并发数量,包括:将每个所述子媒体机各自对应的负载量进行叠加,得到总负载量,并针对多个子媒体机中的每个子媒体机,均确定当前子媒体机的负载量与总负载量之间的负载比值;获取当前子媒体机的最大并发数量,并确定所述最大并发数量与所述当前子媒体机的实时并发数量之间的第一差值;根据所述负载比值、所述第一差值和所述当前子媒体机的资源使用率,得到所述当前子媒体机对应的子有效并发数量。
13.在其中一个实施例中,所述根据所述申请排序,确定所述事件时间段对应的目标媒体机、以及所述目标媒体机的有效并发数量,包括:当所述申请排序为非首位时,确定在所述事件时间段位于所述非首位上一次的相邻位;将所述相邻位时确定得到的目标媒体机、以及目标媒体机的有效并发数量,作为所述非首位时所对应的目标媒体机、以及所述目标媒体机的有效并发数量。
14.在其中一个实施例中,所述申请排序包括首位或非首位;所述根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量,包括:当所述申请排序为首位时,确定所述有效并发数量与所述申请并发数量之间的第二差值;将所述第二差值,作为所述申请排序为首位时,所述目标媒体机实际剩余的目标并发数量;当所述申请次数为非首位时,确定在所述事件时间段位于所述非首位上一次的相邻位;获取所述申请排序为相邻位时,所述目标媒体机实际剩余的目标并发数量,并确定所述相邻位对应的目标并发数量与所述申请并发数量之间的第三差值;将所述第三差值,作为所述申请排序为非首位时,所述目标媒体机实际剩余的目标并发数量。
15.在其中一个实施例中,上述方法还包括:当所述处理时间不属于所述事件时间段时,将所述处理时间作为新的申请时间,并返回至所述确定所述申请时间所属的事件时间段的步骤继续进行。
16.在其中一个实施例中,在所述根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量之后,所述方法还包括:当与媒体机集群进行再次呼叫通话时,获取所述再次呼叫通话的再次申请时间和再次申请并发数量;确定所述再次申请时间所属的参考事件时间段,若所述参考事件时间段为所述事件时间段的下一个时间段,则对比所述目标媒体机实际剩余的目标并发数量与所述再次申请并发数量之间的差异;当所述再次申请并发数量大于所述目标媒体机实际剩余的目标并发数量时,则不将所述目标媒体机作为再次呼叫通话时的目标媒体机。
17.第二方面,本技术还提供了一种呼叫通话的并发数量确定装置。包括:
18.呼叫通话模块,用于在与媒体机集群进行呼叫通话时,获取所述呼叫通话的申请时间和申请并发数量;所述申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;确定所述申请时间所属的事件时间段,并确定所述呼叫通话在所述事件时间段中的申请排序;
19.有效并发确定模块,用于根据所述申请排序,确定所述事件时间段内所述媒体机集群中的目标媒体机、以及所述目标媒体机的有效并发数量;所述有效并发数量是通过对所述目标媒体机进行事件监控得到;对所述呼叫通话进行业务处理,并确定所述业务处理
的处理时间;
20.目标并发确定模块,用于当所述处理时间属于所述事件时间段时,根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量;所述目标并发数量用于确定所述目标媒体机还未承载的呼叫通话。
21.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
22.在与媒体机集群进行呼叫通话时,获取所述呼叫通话的申请时间和申请并发数量;所述申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;
23.确定所述申请时间所属的事件时间段,并确定所述呼叫通话在所述事件时间段中的申请排序;
24.根据所述申请排序,确定所述事件时间段内所述媒体机集群中的目标媒体机、以及所述目标媒体机的有效并发数量;所述有效并发数量是通过对所述目标媒体机进行事件监控得到;
25.对所述呼叫通话进行业务处理,并确定所述业务处理的处理时间;
26.当所述处理时间属于所述事件时间段时,根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量;所述目标并发数量用于确定所述目标媒体机还未承载的呼叫通话。
27.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
28.在与媒体机集群进行呼叫通话时,获取所述呼叫通话的申请时间和申请并发数量;所述申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;
29.确定所述申请时间所属的事件时间段,并确定所述呼叫通话在所述事件时间段中的申请排序;
30.根据所述申请排序,确定所述事件时间段内所述媒体机集群中的目标媒体机、以及所述目标媒体机的有效并发数量;所述有效并发数量是通过对所述目标媒体机进行事件监控得到;
31.对所述呼叫通话进行业务处理,并确定所述业务处理的处理时间;
32.当所述处理时间属于所述事件时间段时,根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量;所述目标并发数量用于确定所述目标媒体机还未承载的呼叫通话。
33.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
34.在与媒体机集群进行呼叫通话时,获取所述呼叫通话的申请时间和申请并发数量;所述申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;
35.确定所述申请时间所属的事件时间段,并确定所述呼叫通话在所述事件时间段中的申请排序;
36.根据所述申请排序,确定所述事件时间段内所述媒体机集群中的目标媒体机、以及所述目标媒体机的有效并发数量;所述有效并发数量是通过对所述目标媒体机进行事件监控得到;
37.对所述呼叫通话进行业务处理,并确定所述业务处理的处理时间;
38.当所述处理时间属于所述事件时间段时,根据所述申请并发数量、所述申请排序和所述有效并发数量,确定所述目标媒体机实际剩余的目标并发数量;所述目标并发数量用于确定所述目标媒体机还未承载的呼叫通话。
39.上述呼叫通话的并发数量确定方法、装置、计算机设备、存储介质和计算机程序产品,通过获取与媒体机集群进行呼叫通话时的申请时间和申请并发数量,进而确定申请时间所属的事件时间段,以及确定呼叫通话在事件时间段中的申请排序;如此,便可根据申请排序,确定事件时间段内媒体机集群中的目标媒体机、以及目标媒体机的有效并发数量。通过确定呼叫通话进行业务处理的处理时间,并在处理时间属于事件时间段时,便可根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量。由于本技术是以事件时间段为基础来确定出目标并发数量,目标并发数量可直接确定出目标媒体机还未承载的呼叫通话,因此,可以真实地反应出在事件时间段内目标媒体机的动态调整负载均衡情况;同时,相较于传统的采用固定的分配比例来确定每个媒体机各自剩余的并发数量的方式,本技术是在确定出目标媒体机之后,才对目标媒体机的有效并发数量进行事件监控,提高了将呼叫通话分配到目标媒体机中的准确性。
40.此外,由于目标媒体机分配到的申请并发数量,并不表征目标媒体机中已真正完成申请并发数量的占用,而是一种在后续操作中需要申请的占用,因此实现了一种对目标媒体机的预扣并发,确保了对目标媒体机的高精度控制,能够避免后续在处理时间超出事件时间段时,在错误的有效并发数量的基础上进行并发数量占用。
附图说明
41.图1为一个实施例中呼叫通话的并发数量确定方法的应用环境图;
42.图2为一个实施例中呼叫通话的并发数量确定方法的流程示意图;
43.图3为一个实施例中呼叫通话的并发数量确定方法的原理示意图;
44.图4为一个实施例中确定有效并发数量的流程示意图;
45.图5为一个实施例中呼叫通话的并发数量确定装置的结构框图;
46.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
48.本技术提供的呼叫通话的并发数量确定方法,可以应用于如图1所示的应用环境中。其中,呼叫系统102通过网络与媒体机集群104进行通信。数据存储系统可以存储媒体机集群104需要处理的数据。数据存储系统可以集成在媒体机集群104上,也可以放在云上或其他网络服务器上。呼叫系统102用于在向媒体机集群104发起呼叫通话时,获取呼叫通话的申请时间和申请并发数量;确定申请时间所属的事件时间段,并确定呼叫通话在事件时间段中的申请排序;呼叫系统102还用于根据申请排序,确定事件时间段内媒体机集群104中的目标媒体机、以及目标媒体机的有效并发数量;对呼叫通话进行业务处理,并确定业务
处理的处理时间;当处理时间属于事件时间段时,根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量。其中,呼叫系统102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,媒体机集群104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
49.在其中一个实施例中,如图2所示,提供了一种呼叫通话的并发数量确定方法,该方法由图1中的呼叫系统执行,包括以下步骤:
50.步骤202,在与媒体机集群进行呼叫通话时,获取呼叫通话的申请时间和申请并发数量。
51.其中,申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;申请并发数量通常为多个。
52.具体地,如图3所示,图3为呼叫通话的并发数量确定的原理示意图。其中,调用方为呼叫系统中发起呼叫通话的对象。当呼叫系统响应于用户的呼叫通话请求时,通过调用方接收上游系统推送来的大批量号码信息,并通过预设的算法对大批量号码信息进行解析,确定出此次呼叫通话对应的申请时间和申请并发数量。
53.在其中一个实施例中,呼叫通话和申请并发数量的比例可为预设比例,例如1:2,也即一个呼叫通话需要占用媒体机中的两个并发数量。
54.在其中一个实施例中,媒体机集群可为一种开源的、多协议的语音通信软交换平台,如freeswitch集群,freeswitch集群中包括多个freeswitch。
55.在其中一个实施例中,当呼叫系统与媒体机集群进行呼叫通话时,触发与媒体机集群相关联的并发池,并发池中包括每个媒体机各自对应的子并发池。其中,每个子并发池对各自对应的媒体机的资源进行统一管控。
56.在其中一个实施例中,调用方向并发池发起申请并发请求,其中,申请并发请求中包括申请时间和申请并发数量。
57.在其中一个实施例中,当呼叫系统与媒体机集群进行呼叫通话之前,呼叫系统响应于用户的配置操作,对不同媒体机的流量、流量权重以及可申请的最大并发数量进行预先配置,得到每个媒体机各自对应的配置信息。例如,当媒体机1为4核8g的设备时,确定媒体机1在满流量的情况下,最大并发数量为800,当媒体机2为8核16g的设备时,确定媒体机2在满流量的情况下,最大并发数量为1600,此时,媒体机1和媒体机2的流量权重为1:2。
58.在其中一个实施例中,当呼叫系统与媒体机集群进行呼叫通话之前,呼叫系统响应于用户的通信配置操作,与媒体机集群中的每个媒体机之间,建立基于目标协议的双向目标通道。其中,目标协议可为esl协议,目标通道可为socket通道,通过目标协议可控制媒体机执行相关命令操作。
59.步骤204,确定申请时间所属的事件时间段,并确定呼叫通话在事件时间段中的申请排序。
60.其中,事件时间段为一种周期性的时间段,例如每3秒为一个周期。
61.具体地,由于在同一个事件时间段内,可能会出现呼叫系统响应于用户的多次呼叫通话请求的情况,也即会有多次呼叫通话。因此,呼叫系统需要确定此次呼叫通话在事件时间段中的申请排序。其中,申请排序包括首次和非首次。
62.步骤206,根据申请排序,确定事件时间段内媒体机集群中的目标媒体机、以及目
标媒体机的有效并发数量。
63.其中,有效并发数量是通过对目标媒体机进行事件监控得到。
64.具体地,呼叫系统根据预设的检测规则,从媒体机集群中的多个媒体机中筛选出目标媒体机。其中,目标媒体机中包括至少一个子媒体机,确定每个子媒体机各自对应的有效并发数量的具体实施过程相同,且均可以概述为确定目标媒体机的有效并发数量的具体实施过程,为简化表述,此处以确定目标媒体机的有效并发数量的具体实施过程为例进行阐述。当此次呼叫通话在事件时间段的申请排序为首位时,呼叫系统对目标媒体机进行事件监控,得到目标媒体机的有效并发数量。
65.例如,针对排在时间段1中的首位的申请1,确定筛选出的目标媒体机包括媒体机1和媒体机2,目标媒体机的有效并发数量为a。
66.在其中一个实施例中,根据申请排序,确定事件时间段对应的目标媒体机、以及目标媒体机的有效并发数量,包括:当申请排序为非首位时,确定在事件时间段位于非首位上一次的相邻位;将相邻位时确定得到的目标媒体机、以及目标媒体机的有效并发数量,作为非首位时所对应的目标媒体机、以及目标媒体机的有效并发数量。
67.具体地,呼叫系统在确定此次呼叫通话为非首位时,则确定在事件时间段位于非首位上一次的相邻位。例如,非首位为第二位的申请2,则在时间段1中的相邻位为第一位的申请1。呼叫系统将申请排序为相邻位时,事件时间段对应的目标媒体机、以及目标媒体机的有效并发数量,作为非首位时所对应的目标媒体机、以及目标媒体机的有效并发数量。也即将申请1对应的目标媒体机中的媒体机1和媒体机2,均作为申请2对应的目标媒体机,将申请1对应的有效并发数量为a作为申请2对应的有效并发数量。
68.在其中一个实施例中,参考图3所示,当确定呼叫通话的申请并发数量,且确定目标媒体机中包括多个子媒体机时,呼叫系统根据预先配置的每个子媒体机各自对应的配置信息,并按照加权分配的原则,对每个子媒体机各自对应的申请并发数量进行分配。例如,配置信息中的媒体机1和媒体机2的流量权重为1:2,当申请并发数量为60时,确定对媒体机1分配20个申请并发数量、对媒体机2分配40个申请并发数量。
69.在其中一个实施例中,呼叫系统通过每个子媒体机各自对应的子并发池,来确定每个子媒体机各自对应的有效并发数量。呼叫系统通过每个子媒体机各自对应的子并发池,来对每个子媒体机各自对应的申请并发数量进行分配。
70.步骤208,对呼叫通话进行业务处理,并确定业务处理的处理时间。
71.具体地,呼叫系统确定对目标媒体机进行事件监控时的监控数据,并对监控数据进行数据更新;呼叫系统还可根据目标媒体机中的每个子媒体机各自对应的申请并发数量,计算出每个子媒体机各自对应的需要占用的呼叫通话的数量。例如,媒体机1分配20个申请并发数量时,需要占用的呼叫通话的数量为10个。在呼叫系统计算出需要占用的呼叫通话的数量时,会涉及远程用户拨号认证系统的通信操作、接口读取操作等,当完成这些操作时,便可完成业务处理,并确定完成业务处理的处理时间。
72.步骤210,当处理时间属于事件时间段时,根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量。
73.其中,目标并发数量用于确定目标媒体机还未承载的呼叫通话。
74.具体地,当呼叫系统进行业务处理时,可能出现因网络等原因造成的接口调用超
时,使得完成业务处理的处理时间超过事件时间段。针对处理时间属于事件时间段的情况,呼叫系统可对比申请并发数量和有效并发数量之间的差异,当申请并发数量小于等于有效并发数量时,表征申请并发数量可实际向目标媒体机申请占用的数量。此时的呼叫系统可在有效并发数量的基础上进行迭代扣减,并根据呼叫通话在事件时间段中所处的申请排序,确定迭代扣减的迭代次数,直至得到目标媒体机实际剩余的目标并发数量。
75.在其中一个实施例中,参考图3所示,呼叫系统通过目标通道,将申请并发数量作为实际可使用的并发数量,发送至目标媒体机,以使目标媒体机根据申请并发数量,确定需要承载的呼叫通话。
76.在其中一个实施例中,当处理时间不属于事件时间段时,将处理时间作为新的申请时间,并返回至确定申请时间所属的事件时间段的步骤继续进行。
77.具体地,参考图3所示,虽然完成业务处理的处理时间超过了事件时间段,但呼叫系统会持续地在新的事件时间段内进行事件监控,并确定新的事件时间段的有效并发数量。因此,呼叫系统需要将处理时间作为新的申请时间,并返回至确定申请时间所属的事件时间段的步骤继续进行,直至到确定出目标媒体机实际剩余的目标并发数量时结束,也即在新的事件时间段再次向并发池发起申请并发的申请。
78.在本实施例中,通过在目标媒体机真正占用申请并发数量之前,通过预先对处理时间是否属于事件时间段进行判断,来确定出有效并发数量所使用的时间是否过长,以及是否需要重新申请并发,避免了因处理时间超出事件时间段,造成不能真实反应出在事件时间段内目标媒体机的资源消耗的问题。因此,实现了对目标媒体机的高精度控制,确保了对目标媒体机进行负载均衡的有效性。
79.上述呼叫通话的并发数量确定方法中,通过获取与媒体机集群进行呼叫通话时的申请时间和申请并发数量,进而确定申请时间所属的事件时间段,以及确定呼叫通话在事件时间段中的申请排序;如此,便可根据申请排序,确定事件时间段内媒体机集群中的目标媒体机、以及目标媒体机的有效并发数量。通过确定呼叫通话进行业务处理的处理时间,并在处理时间属于事件时间段时,可根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量。由于本技术是以事件时间段为基础来确定出目标并发数量,目标并发数量可直接确定出目标媒体机还未承载的呼叫通话,因此,可以真实地反应出在事件时间段内目标媒体机的动态调整负载均衡情况;同时,相较于传统的采用固定的分配比例来确定每个媒体机各自剩余的并发数量的方式,本技术是在确定出目标媒体机之后,才对目标媒体机的有效并发数量进行事件监控,提高了将呼叫通话分配到目标媒体机中的准确性。
80.此外,由于呼叫通话中的申请并发数量通常为多个,呼叫通话为事件时间段中的多个呼叫通话中的任意一个,因此解决了只能提交一个呼叫通话、或只能少量申请并发数量时,造成的时间与资源的浪费,因此提升了大批量呼叫通话时的通信效率。
81.在其中一个实施例中,如图4所示,根据申请排序,确定事件时间段对应的目标媒体机、以及目标媒体机的有效并发数量,包括以下步骤:
82.步骤402,当申请排序为首位时,在事件时间段内,对每个媒体机分别进行有效性检测,得到每个媒体机各自对应的检测结果。
83.具体地,由于呼叫系统与媒体机集群中的每个媒体机之间已建立双向的目标通
道,呼叫系统便在预设时间段内,会对每个媒体机分别进行有效性检测,也即检测每个媒体机与呼叫系统之间是否保持通信。当未保持通信时,表征呼叫系统在预设时间段内没有接收到媒体机反馈的资源消耗的信息,也即媒体机可能发生了网络中断或发生了宕机等。
84.步骤404,当检测结果表征媒体机与呼叫系统保持通信时,将媒体机作为目标媒体机。
85.其中,保持通信时的媒体机才可作为有效的目标媒体机。
86.在其中一个实施例中,当媒体机集群响应于呼叫系统的事件监听时,向呼叫系统反馈每个媒体机各自对应的监听结果。当在预设时间段内,呼叫系统未接收到某一媒体机反馈的监听结果时,表征该媒体机不能作为目标媒体机。
87.在其中一个实施例中,在确定出目标媒体机对应的有效并发数量时,呼叫系统可对比申请并发数量和有效并发数量之间的差异,当申请并发数量大于有效并发数量时,表征不能将此时的目标媒体机作为真正的目标媒体机。
88.步骤406,在事件时间段内对目标媒体机进行事件监听。
89.其中,事件监听用于触发目标媒体机确定对应的目标监听结果。事件监听可表征对媒体机的资源消耗情况的心跳事件监听,每个心跳事件对应于一个心跳周期,也即一个事件时间段。
90.在其中一个实施例中,当目标媒体机响应于呼叫系统的事件监听时,确定目标媒体机在事件时间段内的资源消耗情况,并根据资源消耗情况,确定目标媒体机对应的目标监听结果。
91.步骤408,接收目标媒体机通过目标通道传输的目标监听结果,并根据目标监听结果,确定目标媒体机的有效并发数量。
92.其中,目标监听结果包括每个子媒体机各自对应的负载量、实时并发数量和资源使用率,资源使用率可为cpu使用率;有效并发数量包括每个子媒体机各自对应的子有效并发数量。
93.在其中一个实施例中,根据目标监听结果,确定目标媒体机的有效并发数量,包括:将每个子媒体机各自对应的负载量进行叠加,得到总负载量,并针对多个子媒体机中的每个子媒体机,均确定当前子媒体机的负载量与总负载量之间的负载比值;获取当前子媒体机的最大并发数量,并确定最大并发数量与当前子媒体机的实时并发数量之间的第一差值;根据负载比值、第一差异和当前子媒体机的资源使用率,得到当前子媒体机对应的子有效并发数量。
94.具体地,当目标媒体机包括多个子媒体机时,呼叫系统将每个子媒体机各自对应的负载量进行叠加,得到总负载量。例如,媒体机1的目标监听结果包括机器负载量为4,实时并发数量为500,资源使用率为50%;媒体机2的目标监听结果包括机器负载量为2,实时并发数量为100,资源使用率为20%,以媒体机1为例并作为当前子媒体机进行阐述。呼叫系统确定当前子媒体机的负载量与总负载量之间的负载比值,也即4/6,并根据预先配置的配置信息,确定当前子媒体机的最大并发数量,也即媒体机1的最大并发数量为800。呼叫系统确定最大并发数量与当前子媒体机的实时并发数量之间的第一差值,也即第一差值为800-500=300。根据负载比值、第一差值和当前子媒体机的资源使用率,得到当前媒体机对应的子有效并发数量,也即媒体机1对应的子有效并发数量为a1=300*(4/6)/50%。当综合每个
子媒体机各自对应的子有效并发数量,得到目标媒体机对应的有效并发数量。
95.本实施例中,通过对每个媒体机进行有效性检测确定出目标媒体机之后,便可准确地对目标媒体机进行事件监听,避免了对未保持通信的媒体机进行申请并发数量的错误分配;同时,通过获取在事件时间段内的目标监听结果,可以准确得到目标媒体机的有效并发数量,确保了后续对实际剩余的目标并发数量的动态调整,实现了对目标媒体机的负载均衡。
96.此外,由于呼叫系统与媒体机之间的通信属于长连接通信,通过采用基于目标协议的目标通信,来进行目标监听结果的传输,确保了数据的实时传输,也实现了对目标媒体机的分步有效控制。
97.在其中一个实施例中,申请排序包括首位或非首位;根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量,包括:当申请排序为首位时,确定有效并发数量与申请并发数量之间的第二差值;将第二差值,作为申请排序为首位时,目标媒体机实际剩余的目标并发数量;当申请次数为非首位时,确定在事件时间段位于非首位上一次的相邻位;获取申请排序为相邻位时,目标媒体机实际剩余的目标并发数量,并确定相邻位对应的目标并发数量与申请并发数量之间的第三差值;将第三差值,作为申请排序为非首位时,目标媒体机实际剩余的目标并发数量。
98.具体地,当申请排序为首位时,呼叫系统可确定在有效并发数量的基础上,进行迭代扣减的迭代次数为一次,也即直接将有效并发数量与申请并发数量之间的第二差值,作为目标媒体机实际剩余的目标并发数量。参考上述举例,确定申请1的申请并发数量为60,目标媒体机对应的有效并发数量为a时,确定此时目标媒体机实际剩余的目标并发数量为a-60,也即目标媒体机还未承载的呼叫通话为(a-60)/2。
99.当申请排序为非首位时,呼叫系统可确定在有效并发数量的基础上,进行迭代扣减的迭代次数为多次。呼叫系统确定在事件时间段位于非首位上一次的相邻位,参考上述举例,当非首位为第二位的申请2,相邻位则为申请1,此时获取申请排序为相邻位时,目标媒体机实际剩余的目标并发数量,也即获取a-60。呼叫系统将相邻位对应的目标并发数量与申请并发数量之间的第三差值,作为目标媒体机实际剩余的目标并发数量,例如,当确定申请1的申请并发数量为100时,将第三差值(a-60)-100,作为申请排序为非首位时,目标媒体机实际剩余的目标并发数量。
100.本实施例中,通过针对呼叫通话在事件时间段中的申请排序的不同,采用迭代扣减的方式来确定目标媒体机实际剩余的目标并发数量,如此,便可确保呼叫系统在同一事件时间段内,对于多个呼叫通话的准确响应;同时,由于在同一事件时间段内,均以相同的有效并发数量为迭代扣减的基础,也避免了因需要实时监测目标媒体机的资源消耗,造成的系统负载较大和资源浪费的问题。
101.在其中一个实施例中,在根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量之后,还包括:当与媒体机集群进行再次呼叫通话时,获取再次呼叫通话的再次申请时间和再次申请并发数量;确定再次申请时间所属的参考事件时间段,若参考事件时间段为事件时间段的下一个时间段,则对比目标媒体机实际剩余的目标并发数量与再次申请并发数量之间的差异;当再次申请并发数量大于目标媒体机实际剩余的目标并发数量时,则不将目标媒体机作为再次呼叫通话时的目标媒体机。
102.具体地,当呼叫系统与媒体机集群进行再次呼叫通话时,同样,参考步骤202和步骤204的具体实施过程,可确定出再次申请时间、再次申请并发数量、以及再次申请时间所属的参考事件时间段。若参考事件时间段为事件时间段的下一个时间段,参考上述举例,也即事件时间段为时间段1时,参考事件时间段为时间段2,时间段1在进过申请1和申请2后,得到的目标媒体机实际剩余的目标并发数量为(a-60)-100,若此时的再次申请并发数量为(a-60)-80,可确定出再次申请并发数量大于目标媒体机实际剩余的目标并发数量,因此,此时的目标媒体机不能再作为再次呼叫通话时的目标媒体机。
103.本实施例中,针对在事件时间段的下一个时间段中所发起的再次呼叫通话,对比再次申请并发数量和事件时间段中实际剩余的目标并发数量,进而确定在事件时间段中的目标媒体机,是否还可作为参考事件时间段中的目标媒体机,避免了目标媒体机中实际剩余的目标并发数量不足以分配再次申请并发数量的问题,因此,实现了再次申请并发数量在不同媒体机之间的动态调控。
104.应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
105.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的呼叫通话的并发数量确定方法的呼叫通话的并发数量确定装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个呼叫通话的并发数量确定装置实施例中的具体限定可以参见上文中对于呼叫通话的并发数量确定方法的限定,在此不再赘述。
106.在其中一个实施例中,如图5所示,提供了一种呼叫通话的并发数量确定装置500,包括:呼叫通话模块502、有效并发确定模块504和目标并发确定模块506,其中:
107.呼叫通话模块502,用于在与媒体机集群进行呼叫通话时,获取呼叫通话的申请时间和申请并发数量;申请并发数量表征向媒体机集群中的媒体机申请的线程的数量;确定申请时间所属的事件时间段,并确定呼叫通话在事件时间段中的申请排序。
108.有效并发确定模块504,用于根据申请排序,确定事件时间段内媒体机集群中的目标媒体机、以及目标媒体机的有效并发数量;有效并发数量是通过对目标媒体机进行事件监控得到;对呼叫通话进行业务处理,并确定业务处理的处理时间。
109.目标并发确定模块506,用于当处理时间属于事件时间段时,根据申请并发数量、申请排序和有效并发数量,确定目标媒体机实际剩余的目标并发数量;目标并发数量用于确定目标媒体机还未承载的呼叫通话。
110.在其中一个实施例中,有效并发确定模块504还包括事件监听模块5041,用于当申请排序为首位时,在事件时间段内,对每个媒体机分别进行有效性检测,得到每个媒体机各自对应的检测结果;当检测结果表征媒体机与呼叫系统保持通信时,将媒体机作为目标媒体机;在事件时间段内对目标媒体机进行事件监听;事件监听用于触发目标媒体机确定对
应的目标监听结果;接收目标媒体机通过目标通道传输的目标监听结果,并根据目标监听结果,确定目标媒体机的有效并发数量。
111.在其中一个实施例中,有效并发确定模块504,还用于将每个子媒体机各自对应的负载量进行叠加,得到总负载量,并针对多个子媒体机中的每个子媒体机,均确定当前子媒体机的负载量与总负载量之间的负载比值;获取当前子媒体机的最大并发数量,并确定最大并发数量与当前子媒体机的实时并发数量之间的第一差值;根据负载比值、第一差值和当前子媒体机的资源使用率,得到当前子媒体机对应的子有效并发数量。
112.在其中一个实施例中,有效并发确定模块504,还用于当申请排序为非首位时,确定在事件时间段位于非首位上一次的相邻位;获取申请排序为相邻位时,事件时间段对应的目标媒体机、以及目标媒体机的有效并发数量;将相邻位时确定得到的目标媒体机、以及目标媒体机的有效并发数量,作为非首位时所对应的目标媒体机、以及目标媒体机的有效并发数量。
113.在其中一个实施例中,目标并发确定模块506,还用于当申请排序为首位时,确定有效并发数量与申请并发数量之间的第二差值;将第二差值,作为申请排序为首位时,目标媒体机实际剩余的目标并发数量;当申请次数为非首位时,确定在事件时间段位于非首位上一次的相邻位;获取申请排序为相邻位时,目标媒体机实际剩余的目标并发数量,并确定相邻位对应的目标并发数量与申请并发数量之间的第三差值;将第三差值,作为申请排序为非首位时,目标媒体机实际剩余的目标并发数量。
114.在其中一个实施例中,目标并发确定模块506包括时间更新模块5061,用于当处理时间不属于事件时间段时,将处理时间作为新的申请时间,并返回至确定申请时间所属的事件时间段的步骤继续进行。
115.在其中一个实施例中,呼叫通话的并发数量确定装置500还包括再次呼叫通话模块508,用于当与媒体机集群进行再次呼叫通话时,获取再次呼叫通话的再次申请时间和再次申请并发数量;确定再次申请时间所属的参考事件时间段,若参考事件时间段为事件时间段的下一个时间段,则对比目标媒体机实际剩余的目标并发数量与再次申请并发数量之间的差异;当再次申请并发数量大于目标媒体机实际剩余的目标并发数量时,则不将目标媒体机作为再次呼叫通话时的目标媒体机。
116.上述呼叫通话的并发数量确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
117.在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种呼叫通话的并发数量确定方法。该计算机设备的显示屏可以是液晶显示屏或者电子
墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
118.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
119.在其中一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
120.在其中一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
121.在其中一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
122.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
123.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
124.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有1条留言
  • 155293... 来自[中国] 2023年04月02日 14:46
    该方法的主要创新点在于对传统负载均衡算法的改进
    0
1