CN106899772B - 一种呼叫服务的分布式均衡负载控制方法及呼叫系统 - Google Patents

一种呼叫服务的分布式均衡负载控制方法及呼叫系统 Download PDF

Info

Publication number
CN106899772B
CN106899772B CN201710091680.6A CN201710091680A CN106899772B CN 106899772 B CN106899772 B CN 106899772B CN 201710091680 A CN201710091680 A CN 201710091680A CN 106899772 B CN106899772 B CN 106899772B
Authority
CN
China
Prior art keywords
call
data
server
freeswitch
unit
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
CN201710091680.6A
Other languages
English (en)
Other versions
CN106899772A (zh
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.)
Tubatu Group Co Ltd
Original Assignee
Shenzhen Bincent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Bincent Technology Co Ltd filed Critical Shenzhen Bincent Technology Co Ltd
Priority to CN201710091680.6A priority Critical patent/CN106899772B/zh
Publication of CN106899772A publication Critical patent/CN106899772A/zh
Application granted granted Critical
Publication of CN106899772B publication Critical patent/CN106899772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5234Uniform load distribution
    • 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/1046Call controllers; Call servers
    • 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/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • H04M3/5191Call or contact centers with computer-telephony arrangements interacting with the Internet
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种呼叫服务的分布式均衡负载控制方法,包括以下步骤:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;该呼叫服务的分布式均衡负载控制方法及系统能灵活设置FreeSWITCH的最大负载能力,可控制地进行FreeSWITCH的相对负载占比设置,均衡分布最消耗性能的呼叫操作,均衡分配呼叫任务、减少资源的浪费、增强呼叫系统的稳定性。

Description

一种呼叫服务的分布式均衡负载控制方法及呼叫系统
技术领域
本发明涉及呼叫系统技术领域,尤其涉及一种呼叫服务的分布式均衡负载控制方法及呼叫系统。
背景技术
随着业务的发展,呼叫通话需求逐渐增多,在这样的情况下,单台呼叫服务器已经不能支撑业务的扩展,急需横向扩展;在扩展呼叫服务器之后,那么会存在这样的情况,每台FreeSWITCH(简称FS)的坐席注册数不均衡;或者每台机器上注册量即使均衡,每个话务员的打打电话时间和频率不一样,那么也不会能保证每台机器的上坐席通话数均衡。并且还存在每台服务器的性能不一样,也就是能承受的性能消耗存在差异,这样就需要一个算法来控制每台机器的负载占比。
现在的呼叫系统存在以下缺点:
(1)单台FreeSWITCH实现呼叫系统方式,坐席通话时,录音操作是在FreeSWITCH上进行;普通横向扩展后,由于坐席通话建立模式为phone-FreeSWITCH-gateway-client,坐席通话的录音是在注册的FreeSWITCH的上进行,当一台FreeSWITCH上的坐席呼叫量增多时,不能分配一些录音操作到另一些空闲的FreeSWITCH上,导致资源浪费。
(2)当一台FreeSWITCH因负载过大而导致宕机时,原先注册的坐席会自动注册到可用的FreeSWITCH上,会加重可用的FreeSWITCH的负载,甚至出现连链式系统崩溃。
以上两点缺陷对系统的健壮性和扩展性都是一个致命的问题。那么解决以上的问题,就需要做到系统的负载均衡。在性能消耗占比中,坐席注册管理所消耗的性能占比相对较小,而录音操作性能消耗占比最大的情况下,有效地分布录音操作尤为重要,在这里要求系统实现以下三点:
(1)坐席通话时,不限制进行录音操作FreeSWITCH;
(2)录音操作放在FreeSWITCH集群中性能消耗相对最少的FreeSWITCH上进行;
(3)实现可控制FreeSWITCH的相对负载占比设置。
因此,本领域的技术人员亟需研究出一种灵活设置FreeSWITCH的最大负载能力,可控制地进行FreeSWITCH的相对负载占比设置,均衡分布最消耗性能的呼叫操作,均衡分配呼叫任务、减少资源的浪费、增强呼叫系统的稳定性的呼叫服务的分布式均衡负载控制方法。
发明内容
本发明要解决的技术问题是提供一种呼叫服务的分布式均衡负载控制方法及呼叫系统,该呼叫服务的分布式均衡负载控制方法及系统能灵活设置FreeSWITCH的最大负载能力,可控制地进行FreeSWITCH的相对负载占比设置,均衡分布最消耗性能的呼叫操作,均衡分配呼叫任务、减少资源的浪费、增强呼叫系统的稳定性。
为解决上述技术问题,本发明提供了一种呼叫服务的分布式均衡负载控制方法,提供WEB管理模块、数据校验进程控制模块、呼叫接口服务模块、呼叫流程管理进程模块、若干FreeSWITCH服务器、若干坐席端、数据库及zookeeper集群组件,所述呼叫服务的分布式均衡负载控制方法包括以下步骤:
步骤S1:所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;
步骤S2:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;
步骤S3:所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向该系统发送绑定UUID的呼叫坐被叫方命令,
其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式;
步骤S4:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;
其中,FreeSWITCH系统空闲占比计算公式为
Fs=(M-C+Q(x))/M;
其中,Fs为,FreeSWITCH系统空闲占比,M为最大随录音数据,C为目前录音数,Q(x)为加分数。
优选地,当用户主动呼叫电话时,所述步骤S3的实现步骤包括:
301:系统收到电话端的呼叫请求后,开始计算出系统空闲占比最大的FreeSWITCH服务器,如果最大的FreeSWITCH服务器是坐席所注册的FreeSWITCH服务器,则直接建立第一端的通话连接,如果最大的FreeSWITCH服务器不是坐席所注册的FreeSWITCH服务器,那么先建立与坐席所注册的FreeSWITCH服务器连接,再由所注册的FreeSWITCH服务器连接到坐席上,第一端连接建立成功;
302:开始建立最大空闲占比的FreeSWITCH服务器与被呼叫方的通话连接,即第二端的连接;
303:把两端进行桥接,完成整个流程的通话连接;
304:在最大空闲的FreeSWITCH服务器上进行录音操作。
优选地,当呼叫方式为预测外呼时,所述步骤S3的实现步骤包括:
301:呼叫被呼叫方,待被叫方接听后,计算出最大空闲占比的FreeSWITCH服务器;建立最大空闲占的FreeSWITCH服务器与被呼叫方的连接,完成第一端的连接;
302:找出空闲的坐席,建立接听方坐席到FreeSWITCH服务器的连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器相同,则直接建立通话连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器不同,先建立坐席注册的FreeSWITCH服务器连接,再连接到呼叫坐席上,完成第二端的连接;
303:将两端通话进行桥接;
304:在最大空闲的FreeSWITCH服务器上对通话进行录音操作。
优选地,所述WEB管理模块包括坐席管理单元、分机管理单元、网关管理单元及FreeSWITCH管理单元。
优选地,所述数据校验进程控制模块包括:第一数据加载解析单元、第一数据存储单元、第一数据收发单元、第一状态监控单元及数据校验匹配单元,所述步骤S2的实现步骤包括:所述第一数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第一数据加载解析单元将解析完成的数据发送给所述第一数据存储单元进行存储,所述第一数据收发单元连接所述zookeeper集群组件、公共缓存区、各台FreeSWITCH服务器,所述第一状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第一数据存储单元的内存数据,如果所述第一状态监控单元监听到FreeSWITCH服务器连接失败,所述数据校验匹配单元把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内。
优选地,所述呼叫接口服务模块包括:第二数据加载解析单元、第二数据存储单元、第二数据收发单元、第二状态监控单元、呼叫请求接收单元、呼叫命令发送单元、FreeSWITCH服务器任务计算单元及动态数据获取单元;所述步骤S3包括:所述第二数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第二数据加载解析单元将解析完成的数据发送给所述第二数据存储单元进行存储,所述第二数据收发单元连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,所述第二状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第二数据存储单元的内存数据,
所述第二数据收发单元开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求或者主动请求呼叫时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元发送绑定UUID的呼叫坐席被叫方命令给所述最大空闲占比的FreeSWITCH服务器。
优选地,所述呼叫流程管理进程模块包括第三数据加载解析单元、第三数据存储单元、第三数据收发单元、第三状态监控单元及事件均衡安排处理单元,所述步骤S4的实现步骤包括:所述第三数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第三数据加载解析单元将解析完成的数据发送给所述第三数据存储单元进行存储,所述第三数据收发单元连接所述zookeeper集群组件,连接到各台所述FreeSWITCH服务器,所述事件均衡安排处理单元注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,所述事件均衡安排处理单元判断呼叫类型,根据不同请求进行注册事件均匀排列处理操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方。
为解决上述技术问题,本发明还提供一种用于实现上述的呼叫服务的分布式均衡负载控制方法的呼叫服务的分布式均衡负载控制系统。
采用了上述方法及系统之后,采用了上述方法及系统之后,所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向该系统发送绑定UUID的呼叫坐被叫方命令,其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式,所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;该呼叫服务的分布式均衡负载控制方法及系统能灵活设置FreeSWITCH的最大负载能力,可在FreeSWITCH集群中性能消耗相对最少的FreeSWITCH上进行录音操作,可控制地进行FreeSWITCH的相对负载占比设置,均衡分布最消耗性能的呼叫操作,均衡分配呼叫任务、减少资源的浪费、增强呼叫系统的稳定性、灵活地处理呼叫过程中的各种事件,大容量有序地处理呼叫任务。
附图说明
图1是本发明的一种呼叫服务的分布式均衡负载控制方法的整体模型示意图;
图2是当坐席主动请求呼叫,最大空闲与注册FreeSWITCH相同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
图3是当坐席主动请求呼叫,最大空闲与注册FreeSWITCH不同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
图4是当预测外呼,最大空闲与注册FreeSWITCH相同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
图5是当预测外呼,最大空闲与注册FreeSWITCH不同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
实施例1
请参阅图1至图2,
图1是本发明的一种呼叫服务的分布式均衡负载控制方法的整体模型示意图;
本发明公开了一种呼叫服务的分布式均衡负载控制方法,提供WEB管理模块、数据校验进程控制模块、呼叫接口服务模块、呼叫流程管理进程模块、若干FreeSWITCH服务器、若干坐席端、数据库及zookeeper集群组件,所述呼叫服务的分布式均衡负载控制方法包括以下步骤:
步骤S1:所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;
步骤S2:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;
步骤S3:所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向该系统发送绑定UUID的呼叫坐被叫方命令,
其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式;
步骤S4:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;
其中,FreeSWITCH系统空闲占比计算公式为
Fs=(M-C+Q(x))/M;
其中,Fs为,FreeSWITCH系统空闲占比,M为最大随录音数据,C为目前录音数,Q(x)为加分数。
请参阅图2及图3,
图2是当坐席主动请求呼叫,最大空闲与注册FreeSWITCH相同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
图3是当坐席主动请求呼叫,最大空闲与注册FreeSWITCH不同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
当用户主动呼叫电话时,所述步骤S3的实现步骤包括:
301:系统收到电话端的呼叫请求后,开始计算出系统空闲占比最大的FreeSWITCH服务器,如果最大的FreeSWITCH服务器是坐席所注册的FreeSWITCH服务器,则直接建立第一端的通话连接,如果最大的FreeSWITCH服务器不是坐席所注册的FreeSWITCH服务器,那么先建立与坐席所注册的FreeSWITCH服务器连接,再由所注册的FreeSWITCH服务器连接到坐席上,第一端连接建立成功;
302:开始建立最大空闲占比的FreeSWITCH服务器与被呼叫方的通话连接,即第二端的连接;
303:把两端进行桥接,完成整个流程的通话连接;
304:在最大空闲的FreeSWITCH服务器上进行录音操作。
请再参阅图4及图5,
图4是当预测外呼,最大空闲与注册FreeSWITCH相同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
图5是当预测外呼,最大空闲与注册FreeSWITCH不同时,图1的整体模型示意图对应的呼叫接口服务模块计算最大空闲占比的FreeSWITCH服务器的示意图;
当呼叫方式为预测外呼时,所述步骤S3的实现步骤包括:
301:呼叫被呼叫方,待被叫方接听后,计算出最大空闲占比的FreeSWITCH服务器;建立最大空闲占的FreeSWITCH服务器与被呼叫方的连接,完成第一端的连接;
302:找出空闲的坐席,建立接听方坐席到FreeSWITCH服务器的连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器相同,则直接建立通话连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器不同,先建立坐席注册的FreeSWITCH服务器连接,再连接到呼叫坐席上,完成第二端的连接;
303:将两端通话进行桥接;
304:在最大空闲的FreeSWITCH服务器上对通话进行录音操作。
在本实施例,所述WEB管理模块包括坐席管理单元、分机管理单元、网关管理单元及FreeSWITCH管理单元。
在本实施例,所述数据校验进程控制模块包括:第一数据加载解析单元、第一数据存储单元、第一数据收发单元、第一状态监控单元及数据校验匹配单元,所述步骤S2的实现步骤包括:所述第一数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第一数据加载解析单元将解析完成的数据发送给所述第一数据存储单元进行存储,所述第一数据收发单元连接所述zookeeper集群组件、公共缓存区、各台FreeSWITCH服务器,所述第一状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第一数据存储单元的内存数据,如果所述第一状态监控单元监听到FreeSWITCH服务器连接失败,所述数据校验匹配单元把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内。
在本实施例,所述呼叫接口服务模块包括:第二数据加载解析单元、第二数据存储单元、第二数据收发单元、第二状态监控单元、呼叫请求接收单元、呼叫命令发送单元、FreeSWITCH服务器任务计算单元及动态数据获取单元;所述步骤S3的实现步骤包括:所述第二数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第二数据加载解析单元将解析完成的数据发送给所述第二数据存储单元进行存储,所述第二数据收发单元连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,所述第二状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第二数据存储单元的内存数据,所述第二数据收发单元开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求或者主动请求呼叫时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元发送绑定UUID的呼叫坐席被叫方命令给所述最大空闲占比的FreeSWITCH服务器。
在本实施例,所述呼叫流程管理进程模块包括第三数据加载解析单元、第三数据存储单元、第三数据收发单元、第三状态监控单元及事件均衡安排处理单元,所述步骤S4的实现步骤包括:所述第三数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第三数据加载解析单元将解析完成的数据发送给所述第三数据存储单元进行存储,所述第三数据收发单元连接所述zookeeper集群组件,连接到各台所述FreeSWITCH服务器,所述事件均衡安排处理单元注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,所述事件均衡安排处理单元判断呼叫类型,根据不同请求进行注册事件均匀排列处理操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方。
实施例2
本实施提供了一种用于实现上述的呼叫服务的分布式均衡负载控制方法的呼叫服务的分布式均衡负载控制系统,包括WEB管理模块、数据校验进程控制模块、呼叫接口服务模块、呼叫流程管理进程模块、若干FreeSWITCH服务器、若干座席端、数据库及zookeeper集群组件,所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向该系统发送绑定UUID的呼叫坐被叫方命令,其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;
其中,FreeSWITCH系统空闲占比计算公式为
Fs=(M-C+Q(x))/M;
其中,Fs为,FreeSWITCH系统空闲占比,M为最大随录音数据,C为目前录音数,Q(x)为加分数。
采用了上述方法及系统之后,所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向该系统发送绑定UUID的呼叫坐被叫方命令,其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式,所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂件事件,解析事件的UUID,从所述公共内存中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;该呼叫服务的分布式均衡负载控制方法及系统能灵活设置FreeSWITCH的最大负载能力,可在FreeSWITCH集群中性能消耗相对最少的FreeSWITCH上进行录音操作,可控制地进行FreeSWITCH的相对负载占比设置,均衡分布最消耗性能的呼叫操作,均衡分配呼叫任务、减少资源的浪费、增强呼叫系统的稳定性、灵活地处理呼叫过程中的各种事件,大容量有序地处理呼叫任务。
同时,应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效实现方法,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种呼叫服务的分布式均衡负载控制方法,其特征在于:提供WEB管理模块、数据校验进程控制模块、呼叫接口服务模块、呼叫流程管理进程模块、若干FreeSWITCH服务器、若干坐席端、数据库及zookeeper集群组件,所述呼叫服务的分布式均衡负载控制方法包括以下步骤:
步骤S1:所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;
步骤S2:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;
步骤S3:所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向最大空闲占比的FreeSWITCH服务器发送绑定UUID的呼叫坐席被叫方命令,
其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式;
步骤S4:所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂机事件,解析事件的UUID,从所述公共缓存区中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;
其中,FreeSWITCH系统空闲占比计算公式为
Fs=(M-C+Q(x))/M;
其中,Fs为,FreeSWITCH系统空闲占比,M为最大随录音数据,C为目前录音数,Q(x)为加分数。
2.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:当用户主动呼叫电话时,所述步骤S3的实现步骤包括:
301:系统收到电话端的呼叫请求后,开始计算出系统空闲占比最大的FreeSWITCH服务器,如果最大的FreeSWITCH服务器是坐席所注册的FreeSWITCH服务器,则直接建立第一端的通话连接,如果最大的FreeSWITCH服务器不是坐席所注册的FreeSWITCH服务器,那么先建立与坐席所注册的FreeSWITCH服务器连接,再由所注册的FreeSWITCH服务器连接到坐席上,第一端连接建立成功;
302:开始建立最大空闲占比的FreeSWITCH服务器与被呼叫方的通话连接,即第二端的连接;
303:把两端进行桥接,完成整个流程的通话连接;
304:在最大空闲的FreeSWITCH服务器上进行录音操作。
3.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:当呼叫方式为预测外呼时,所述步骤S3的实现步骤包括:
301:呼叫被呼叫方,待被叫方接听后,计算出最大空闲占比的FreeSWITCH服务器;建立最大空闲占的FreeSWITCH服务器与被呼叫方的连接,完成第一端的连接;
302:找出空闲的坐席,建立接听方坐席到FreeSWITCH服务器的连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器相同,则直接建立通话连接,如果坐席注册的FreeSWITCH服务器与最大空闲占比的FreeSWITCH服务器不同,先建立坐席注册的FreeSWITCH服务器连接,再连接到呼叫坐席上,完成第二端的连接;
303:将两端通话进行桥接;
304:在最大空闲的FreeSWITCH服务器上对通话进行录音操作。
4.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:所述WEB管理模块包括坐席管理单元、分机管理单元、网关管理单元及FreeSWITCH管理单元。
5.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:所述数据校验进程控制模块包括:第一数据加载解析单元、第一数据存储单元、第一数据收发单元、第一状态监控单元及数据校验匹配单元,所述步骤S2的实现步骤包括:所述第一数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第一数据加载解析单元将解析完成的数据发送给所述第一数据存储单元进行存储,所述第一数据收发单元连接所述zookeeper集群组件、公共缓存区、各台FreeSWITCH服务器,所述第一状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第一数据存储单元的内存数据,如果所述第一状态监控单元监听到FreeSWITCH服务器连接失败,所述数据校验匹配单元把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内。
6.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:所述呼叫接口服务模块包括:第二数据加载解析单元、第二数据存储单元、第二数据收发单元、第二状态监控单元、呼叫请求接收单元、呼叫命令发送单元、FreeSWITCH服务器任务计算单元及动态数据获取单元;所述步骤S3的实现步骤包括:所述第二数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第二数据加载解析单元将解析完成的数据发送给所述第二数据存储单元进行存储,所述第二数据收发单元连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,所述第二状态监控单元监听所述zookeeper集群组件及各种连接状态,定时刷新所述第二数据存储单元的内存数据,
所述第二数据收发单元开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求或者主动请求呼叫时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,所述动态数据获取单元从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,所述动态数据获取单元将获取的FreeSWITCH服务器的录音数据发送给所述FreeSWITCH服务器任务计算单元,所述FreeSWITCH服务器任务计算单元根据所述FreeSWITCH系统空闲占比计算公式计算最大空闲占比的FreeSWITCH服务器,所述FreeSWITCH服务器任务计算单元将计算出来的最大空闲占比的FreeSWITCH服务器数据发送给所述呼叫命令发送单元,所述呼叫命令发送单元发送绑定UUID的呼叫坐席被叫方命令给所述最大空闲占比的FreeSWITCH服务器。
7.根据权利要求1所述的呼叫服务的分布式均衡负载控制方法,其特征在于:所述呼叫流程管理进程模块包括第三数据加载解析单元、第三数据存储单元、第三数据收发单元、第三状态监控单元及事件均衡安排处理单元,所述步骤S4的实现步骤包括:所述第三数据加载解析单元预先加载数据表的数据并解析所述加载的数据,第三数据加载解析单元将解析完成的数据发送给所述第三数据存储单元进行存储,所述第三数据收发单元连接所述zookeeper集群组件,连接到各台所述FreeSWITCH服务器,所述事件均衡安排处理单元注册呼叫、接听、挂机事件,解析事件的UUID,从所述公共缓存区中取出通话流程记录数据,所述事件均衡安排处理单元判断呼叫类型,根据不同请求进行注册事件均匀排列处理操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方。
8.一种用于实现权利要求1至7任一所述的呼叫服务的分布式均衡负载控制方法的呼叫服务的分布式均衡负载控制系统,其特征在于:包括WEB管理模块、数据校验进程控制模块、呼叫接口服务模块、呼叫流程管理进程模块、若干FreeSWITCH服务器、若干座席端、数据库及zookeeper集群组件,所述WEB管理模块分别设置坐席端、分机和FreeSWITCH服务器的属性和配置信息,并将配置修改的信息更新到数据库,数据库更新成功后,通过zookeeper客户端发送不同的信息到zookeeper集群上通知各个进程数据变更;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,定时刷新所述数据校验进程控制模块的内存数据,如果监听到FreeSWITCH服务器连接失败,把失败的所述FreeSWITCH服务器标示为不可用状态,并将不可用状态标识存入到所述公共缓存内;
所述呼叫接口服务模块预先加载数据表的数据,并解析所述加载的数据存储到所述呼叫接口服务模块的内存中,连接并监听zookeeper集群组件,随时准备刷新所述呼叫接口服务模块的内存数据,开启所述呼叫服务的端口,等待呼叫请求,当坐席端进行注册请求时,当坐席主动请求呼叫时,从所述公共缓存中获取各个FreeSWITCH服务器的录音数据,根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,向所述FreeSWITCH服务器发送绑定UUID的呼叫坐席命令,并通过UUID记录本次通话流程的信息到所述公共缓存中,当预测外呼时,从所述公共缓存中获取各个FreeSWITCH服务器的通话录音数,并根据FreeSWITCH系统空闲占比计算公式计算出最大空闲占比的FreeSWITCH服务器,接着向最大空闲占比的FreeSWITCH服务器发送绑定UUID的呼叫坐席被叫方命令,其中,所述呼叫接口服务模块配置有FreeSWITCH系统空闲占比计算公式;所述数据校验进程控制模块预先加载数据表的数据,并解析所述加载的数据存储到数据校验进程控制模块的内存中,连接所述zookeeper集群组件、公共缓存区及各台FreeSWITCH服务器,监听所述zookeeper集群组件及各种连接状态,并注册呼叫、接听、挂机事件,解析事件的UUID,从所述公共缓存区中取出通话流程记录数据,判断呼叫类型,根据不同请求进行操作,如果是主动呼叫,呼叫方接听,发送命令呼叫被叫方;如果是主动呼叫,被叫方接听,桥接双方通话;如果是预测外呼,坐席方接听,桥接双方通话;如果是预测外呼,被叫方接听,发送命令呼叫坐席方;
其中,FreeSWITCH系统空闲占比计算公式
为Fs=(M-C+Q(x))/M;
其中,Fs为,FreeSWITCH系统空闲占比,M为最大随录音数据,C为目前录音数,Q(x)为加分数。
CN201710091680.6A 2017-02-21 2017-02-21 一种呼叫服务的分布式均衡负载控制方法及呼叫系统 Active CN106899772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710091680.6A CN106899772B (zh) 2017-02-21 2017-02-21 一种呼叫服务的分布式均衡负载控制方法及呼叫系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710091680.6A CN106899772B (zh) 2017-02-21 2017-02-21 一种呼叫服务的分布式均衡负载控制方法及呼叫系统

Publications (2)

Publication Number Publication Date
CN106899772A CN106899772A (zh) 2017-06-27
CN106899772B true CN106899772B (zh) 2020-09-08

Family

ID=59184247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710091680.6A Active CN106899772B (zh) 2017-02-21 2017-02-21 一种呼叫服务的分布式均衡负载控制方法及呼叫系统

Country Status (1)

Country Link
CN (1) CN106899772B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612747B (zh) * 2017-10-13 2021-01-01 成都国盛天丰网络科技有限公司 一种基于云端的呼叫服务调度方法及系统
CN111147677B (zh) * 2018-11-05 2021-12-21 马上消费金融股份有限公司 一种呼叫中心系统
CN109771939B (zh) * 2019-01-15 2022-07-12 网易(杭州)网络有限公司 游戏服务器调整方法与装置、存储介质、电子设备
CN110708356B (zh) * 2019-09-06 2024-01-05 国云科技股份有限公司 一种注册中心管理第三方应用的方法和系统
CN112003986B (zh) * 2020-07-24 2021-06-11 招联消费金融有限公司 语音外呼方法、装置、计算机设备和存储介质
CN111813783B (zh) * 2020-07-27 2024-03-26 南方电网数字电网研究院有限公司 数据处理方法、装置、计算机设备和存储介质
CN112188016B (zh) * 2020-10-20 2022-05-10 浙江百应科技有限公司 一种基于坐席状态的外呼任务自动调整方法
CN112311938B (zh) * 2020-10-30 2022-02-01 上海淇玥信息技术有限公司 一种智能呼叫方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847427A (zh) * 2016-05-20 2016-08-10 上海携程商务有限公司 呼叫中心的话务分配系统及方法
CN105898086A (zh) * 2016-03-31 2016-08-24 广东亿迅科技有限公司 一种预测外呼的方法
CN106302648A (zh) * 2016-07-29 2017-01-04 北京小米移动软件有限公司 业务处理方法及装置
CN106412351A (zh) * 2016-10-17 2017-02-15 上海携程商务有限公司 呼叫中心的集群架构系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447301B2 (en) * 2003-04-25 2008-11-04 At&T Intellectual Property I, L.P. Toll-free number blocking override indicator
US7764778B2 (en) * 2003-09-12 2010-07-27 At&T Intellectual Property I, L.P. International origin dependent customized routing of calls to toll-free numbers
CN101610322A (zh) * 2008-06-18 2009-12-23 中兴通讯股份有限公司 基于多平台的呼叫中心及呼叫接入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898086A (zh) * 2016-03-31 2016-08-24 广东亿迅科技有限公司 一种预测外呼的方法
CN105847427A (zh) * 2016-05-20 2016-08-10 上海携程商务有限公司 呼叫中心的话务分配系统及方法
CN106302648A (zh) * 2016-07-29 2017-01-04 北京小米移动软件有限公司 业务处理方法及装置
CN106412351A (zh) * 2016-10-17 2017-02-15 上海携程商务有限公司 呼叫中心的集群架构系统

Also Published As

Publication number Publication date
CN106899772A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106899772B (zh) 一种呼叫服务的分布式均衡负载控制方法及呼叫系统
US7796520B2 (en) System and methods for announcing and locating services in a distributed peer-to-peer network
CN108566498B (zh) 一种基于移动互联网的手机号码安全隐私保护方法及平台
WO2016184175A1 (zh) 数据库处理方法及装置
CN101222374B (zh) 一种实现业务升级的系统、装置及方法
CN110267256B (zh) Sim卡资源管理调度装置、通信终端、及系统
CN103812838A (zh) 一种服务调用方法和设备及系统
CN112351077B (zh) 一种应用服务运行方法、系统、装置及存储介质
CN111953785A (zh) 数据传输方法、系统及服务器
EP2237542A1 (en) Method, device and system for call control
CN101686081B (zh) 一种重新建立同步连接的方法、装置及系统
US8982902B1 (en) Backup server architecture in a VoIP system
CN113992695B (zh) 网元设备间业务协同的方法和网元设备
CN106534758B (zh) 会议备份方法和装置
CN112417349B (zh) 一种编程装置、网络状态监控方法
CN112616143B (zh) 一种分配通信号码的方法、装置、电子设备及存储介质
US20050182763A1 (en) Apparatus and method for on-line upgrade using proxy objects in server nodes
CN114189893A (zh) O-ran能力开放方法、通信系统、装置及存储介质
CN114449111A (zh) 基于FreeSWITCH的线路重试外呼方法、系统、设备和存储介质
CN112511695A (zh) 通话的建立方法、装置、电子设备及计算机可读存储介质
US7224958B2 (en) Method and system for managing accounting information in an MSC
CN1332531C (zh) 一种动态调整业务管理点系统服务性能的方法
JP3821379B2 (ja) サービス提供方法及びサービス提供システム
KR100948735B1 (ko) 그룹 통신 시스템에서 과금가능한 정보를 수집하는 시스템
CN114500752B (zh) 呼叫中心的管控方法、装置、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 R & D room 3501, block a, building 7, Vanke Cloud City Phase I, Xingke 1st Street, Xili community, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Tubatu Group Co.,Ltd.

Address before: 1001-a, 10th floor, bike technology building, No.9, Keke Road, high tech Zone, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: SHENZHEN BINCENT TECHNOLOGY Co.,Ltd.