写点什么

如何突破呼叫中心的关键技术

  • 2017-06-06
  • 本文字数:3115 字

    阅读完需:约 10 分钟

4 月 16 日至 18 日,由 InfoQ 主办的全球顶级技术盛会——QCon(全球软件开发大会)在北京召开,云之讯首席架构师张修路分享了《呼叫中心的通讯解决方案与技术趋势》。

张修路通过此次演讲,解析云之讯如何提供分布式的呼叫中心的资源与平台支持,分享呼叫中心建设过程可借鉴的案例和解决方案,帮助技术人员理解大容量的分布式系统和云系统构建面临的挑战和解决方案,理解电信级系统的设计理念,同时深入理解利用异步编程对大容量系统的重要性。

呼叫中心互联网化是未来发展趋势

单一语音平台是呼叫中心的过去需求,随着融合通讯与 IP 语音的发展,客户越来越需要全媒体的呼叫中心,其包含传统的语音、APP 网页以及高终端的浏览器。随着行业技术和客户技术的发展,未来的呼叫中心将是一个全用户的平台,它构建在云计算上,并融合物联网和互联网发展成一全业务的呼叫平台。呼叫中心从传统呼叫中心,经过虚拟呼叫中心,向互联网化呼叫中心发展,它们的特点分别如下:

  • 传统呼叫中心:基于运营商已经具备的语音交换机 PBX,提供 CTI、ACD 和 IVR 技术服务,呼叫中心服务商购买并维护设备,并持续购买升级服务。
  • 虚拟呼叫中心:同一个号码在同一个系统上开展多种业务,需要用到虚拟呼叫中心,它是基于 PAAS 应用的模式,呼叫中心运营商购买服务而非硬件设备,话务员通过 PSTN 或者 VOIP 连接至 PAAS 平台,可以采用分布式或者移动的办公模式。
  • 新一代呼叫中心: PAAS 平台扩展至云计算,按需购买云主机、存储和呼叫中心服务,云平台提供 APIs,允许呼叫中心整合自有或云 CRM。

信令与媒体分离、业务与控制分离两大设计理念缺一不可

图 1 互联网模式下呼叫中心的部署和结构

云之讯的客户在全国各地都有很多坐席,为了扩大客户群体,在每个地方需要本地的电话号码,需要分布式的落地网关与多个运营商对接。云之讯的呼叫中心建立了一个分布式的运营中心,其接到最近网关,在长途传输过程中,任何网络抖动造成的变量变差问题,都可以在靠近用户、网关的地方部署云之讯的媒体网关,消除抖动带来的影响。

信令能力层在语音传输过程中比较可靠,云之讯在北京部署了一个接入,在异地部署了一个容灾接点。基于呼叫中心,媒体和信令的处理仅仅提供了基础能力,后续不同的客户需要开发不同的应用。云之讯可以在互联网化的呼叫中心上构建各种高端应用,开放多个 AS,既可以为行业客户开发行业应用,还可保证 API 的接口和界面供客户多次开发,方便客户快速集成到云之讯系统中。

一代呼叫中心有两大设计理念,一是信令与媒体分离,二是业务与控制分离。

信令与媒体分离可解决以下技术难题

  • 单独提升信令可靠性,重点节点做到主备切换,通过集群部署和分布式部署预防异地容灾;
  • 媒体节点集群部署,故障可自动切换;
  • 分布式部署保证了机房的故障自动切换到异地。

而业务与控制分离解决的难题显而易见:

  • 根据不同用户的不同业务,灵活部署和开展业务,在标准的接口基础上构建不同的应用,方便客户接入。
  • 业务逻辑各自独立部署,防止故障蔓延。

新一代呼叫中心的优势是传统呼叫中心无法比拟的:

第一,帮助企业用户做到低成本快速部署,传统的呼叫中心建设需要 3-6 个月甚至一年,而采用互联网化呼叫中心,不需要购买某些设备,在云之讯提供的软终端和标准界面,将业务快速部署,客户可以做到低成本甚至零成本。

第二,互联网化呼叫中心可做到全能力保障,在开通业务的同时就能得到全部的能力,云之讯还可为大客户做专业化的定制。

第三,运营方面,出现问题可以做到自动化处理,灵活稳定。

第四,呼叫中心支持号码隐藏保护,保证客户的资料安全,由于某些原因确实需要找到对方联系方式时,平台可为客户提供引导,提高客户的满意度。

如何突破分布式方案关键技术?

信令与媒体分离是建设云化中心的重要一点,它很好解决了大规模集群和高可靠性的问题。

  • 媒体对网络要求比较高,对延迟、抖动都比较敏感,信令借助重发机制,对网络要求相对比较低。
  • 信令处理相对比较复杂,对可靠性要求比较高,可以集中处理。
  • 媒体节点在全国分布式部署。

分布式的业务分发和负载均衡是信令与媒体分离的关键技术之一。

  • 信令点集中部署,异地容灾,也可以通过 DNS 按照区域负载到各地。
  • 信令节点的负载均衡可以通过 DNS 来完成。
  • 对于 DNS 指向的一个节点,通过一对 LVS 接入,后面多个信令处理单元集群。
  • 不同信令处理点通过专线连接,以确保安全可靠。
  • SIP 用户注册到集中信令处理点,信令点根据注册用户所在运营商和地理位置选择对应的媒体节点。
  • 在同一媒体节点有多个的情况下,选择低负载的节点。
  • 如果某个媒体节点中所有节点负载都比较重,按照一定规律选择就近处理点。

注册管理是实现信令和媒体分布的又一关键技术。云之讯根据不同的域名做不同的负载平衡(有些情况下是随机分配),将它随机引导至任何一个节点,一旦北京机房出现故障,就会把整个运营对应的 IP 自动修改至深圳,整个过程可在 5 分钟内完成。云之讯通过 DNS 引导客户到其中一个节点,整个数据集群可以来支持。

分布式方案的关键技术还包括注册系统高并发解决方案。首先通过 DNS 构建多个集群,降低技术的难度。第二单集群通过 LVS 接入,LVS 主备模式,即使出现故障,也可以在几十秒的时间内进行切换,整个过程中实现级别缓存,对一些热点的数据做一级缓存,对一些高级数据做二级缓存,缓存到 Redis,一旦用户有任何的更改都会回切到数据库,即便出现一些非常严重的故障,也可在短时间内恢复。为了做到高并发,我们使用了一些异步 servlet 和异步 CXF 解决方案,HTTPclient 请求,使用 HTTPasyncclient,通过 C 或者 C++,使用 libevent 组件构建异步架构。

异步架构是这样实现的:

  • 技术服务器和客户端实现异步架构。
  • 服务器数据库读写、日志读写、外部服务协助等需要大量等待,异步架构避免线程阻塞。
  • 客户端通过异步发出请求,避免被阻塞,导致大量线程空耗系统资源。
  • DB、日志处理和配置管理,通过独立的异步线程实现。

媒体智能路由也是不可忽视的一个方面。SIP 话机以及各媒体集群通过 RTCP 实时监测网络抖动和丢包情况,整个网络情况会实时上报到中心服务器,中心服务器逐步分析各个媒体间的网络状况,一旦发现专网或中网出现抖动,都可通过信令或者其他机制将它引导至另外的接点上去,这就是检测的过程。最终 SIP 话机可以通过效果最好的边缘节点接入,由于大部分客户是通过公网接入,各媒体节点通信通过专线或者最优路由来选择。

最后,配置管理还需要注意以下几点事项:

  • 最终一致性:各节点配置数据最后是一致的。
  • 可靠性:系统健壮,故障自动切换。
  • 实时性:各个客户端实时获得服务器的更新信息。
  • 等待无关:慢的或者失效的 client 不影响快的 client。
  • 原子性:更新不存在中间状态,成功或失败。
  • 顺序性,如果 A 在 B 之前执行,在所有机器上都如此。

一言一概之,张修路认为,建设互联网 + 呼叫中心需突破五大关键技术,第一,要做到信令与媒体分离,提升业务可靠性。第二,业务与控制分离增强业务灵活性。第三,需要一个大容量、高并发的信令处理的服务集群。第四,分布式媒体处理集群和智能路由,一旦发现故障及时切换。第五,异步编程架构提升单节点处理能力,当并发达到几十万上百万,要想降低成本,就要有很好的异步编程的能力。

随着互联网以及 IT 技术的发展,越来越多的呼叫中心企业希望更加充分的满足用户的通讯需求,越来越多的用户希望更加快捷的使用呼叫中心。传统呼叫中心集成复杂、成本高、建设周期长。云之讯呼叫中心通过网络分布式部署,可以让终端用户就近快速接入,通过快速集成,从而更快的满足用户需求。云之讯呼叫中心还可满足客户大容量、高并发和高可靠的需求,并支持虚拟呼叫中心,它使用了扁平化的架构设计、异步技术架构和容器技术,进而提升系统可靠性和可维护性,减少运维成本。

2017-06-06 17:592403
用户头像

发布了 1554 篇内容, 共 737.7 次阅读, 收获喜欢 2521 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB 查询优化及调优系列(一)TiDB 优化器简介

TiDB 社区干货传送门

select查询失败,报“no such file or directory”错误

TiDB 社区干货传送门

MVCC导致limit 1执行慢测试

TiDB 社区干货传送门

实践案例 管理与运维 性能测评

TiDB 6.0 Placement Rules In SQL 使用实践

TiDB 社区干货传送门

管理与运维 版本测评 新版本/特性解读 6.x 实践

tidb-v5.2.3内存使用率高的几个case

TiDB 社区干货传送门

我和tidb 的故事 - 我们终会在平行世界相遇

TiDB 社区干货传送门

TiEM初级实践

TiDB 社区干货传送门

6.x 实践

TiDB 集群一次诡异的写入慢问题排查经历

TiDB 社区干货传送门

故障排查/诊断

记一次tidb离线环境下安装非本地镜像源组件的过程

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配

TiDB 5.1 Write Stalls 应急文档

TiDB 社区干货传送门

实践案例

文盘Rust -- 领域交互模式如何实现

TiDB 社区干货传送门

开发语言

TiDB上百T数据拆分实践

TiDB 社区干货传送门

迁移 管理与运维

TiFlash 源码阅读(一) TiFlash 存储层概览

TiDB 社区干货传送门

TiDB v6.0.0(DMR) 缓存表初试

TiDB 社区干货传送门

6.x 实践

一次 TiDB 5.1 Write Stall 问题处理

TiDB 社区干货传送门

故障排查/诊断

Let's go, TiCheck!

TiDB 社区干货传送门

监控

TiDB 生态工具 -- TiUniManager(原 TiEM)v1.0.0 体验

TiDB 社区干货传送门

6.x 实践

TiDB 查询优化及调优系列(二)TiDB 查询计划简介

TiDB 社区干货传送门

TiDB 6.0 新特性解读 | Collation 规则

TiDB 社区干货传送门

6.x 实践

一个小操作,SQL查询速度翻了1000倍。

TiDB 社区干货传送门

性能调优 实践案例 管理与运维 故障排查/诊断

一篇文章说透缓存表

TiDB 社区干货传送门

TiDB 源码解读 新版本/特性解读 6.x 实践

体验 TiDB v6.0.0 之 Clinic

TiDB 社区干货传送门

实践案例 6.x 实践

体验 TiDB v6.0.0 之 TiDB 的数据迁移工具 DM-WebUI

TiDB 社区干货传送门

实践案例 6.x 实践

体验TiDB v6.0.0 之TiCDC

TiDB 社区干货传送门

实践案例 6.x 实践

初体验之rawkv learner recover灾备切换

TiDB 社区干货传送门

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

TiDB 社区干货传送门

6.x 实践

tiup修改参数显示成功但不生效

TiDB 社区干货传送门

用一个性能提升了666倍的小案例说明在TiDB中正确使用索引的重要性

TiDB 社区干货传送门

性能调优 实践案例 应用适配

TiDB 4.0 升级 5.1 二三事——避坑指南

TiDB 社区干货传送门

版本升级

TiDB 6.0 新特性解读 | TiFlash 新增算子和函数下推

TiDB 社区干货传送门

6.x 实践

TiDB 冷热存储分离解决方案

TiDB 社区干货传送门

管理与运维 版本测评 6.x 实践 大数据场景实践

如何突破呼叫中心的关键技术_语言 & 开发_InfoQ 中文站_InfoQ精选文章