一、商业智能系统(BI 系统)
软件环境: SpringBoot+Spring+MyBatis+Kafka+Zookeeper+Kettle+Quartz+SaiKu+Kafka Stream 开发工具: IDEA+Maven+Git+Jenkins+Kubernetes+Docker+Mysql+InfluxDB
项目描述: BI 系统的核心作用是发掘呼叫中心系统的数据价值,并对其运行状态进行监控。主要分为三个模块:话务记录管理模块(BI-Call)、报表管理模块(BI-Report)和监控管理模块(BI-RTStat)。
责任描述: 完成 BI 系统服务端开发,包含如下模块:
1、BI-Call 从 Kafka 接收到呼叫挂断事件后,把话务记录写入 Mysql 中,并提供查询服务。技术难点是数据量巨大(超
十亿),但查询效率要求高(三秒内)。在写数据时使用了异步写入;在读数据时使用了 Mysql 联合索引,运用了数
据库读写分离、数据库分区和数据库归档技术。
2、BI-Report 使用 Kettle 作为 ETL 工具,使用 Quartz 作为分布式定时任务调度工具,使用 SaiKu 作为多维分析工具,
支持用户自定义报表,支持数据的钻取和维度转换。
3、BI-RTStat 使用 Kafka Stream 流处理技术,以事件驱动来完成实时统计,统计后的数据定时写入 InfluxDB 中,配
合 Grafana 展示为图表。支撑了某银行信用卡中心近 1 万坐席呼叫数据的实时统计与监控。
二、交互式语音管理系统(IVR 系统)
软件环境: SpringBoot+Spring+MyBatis+Kafka+Zookeeper+Redis 开发工具: IDEA+Maven+Git+Jenkins+Kubernetes+Docker+Mysql
项目描述: IVR 系统是一套通过调用底层 CTI 系统的接口来完成复杂的呼叫流程控制的系统。它可以用来做语音导航、满意度/问卷调查、机器人会话管理等功能。前端支持拖拽生成 IVR 流程;服务端主要包含三个模块:导航流程管理模块(IVR-Web)、导航流程执行引擎(IVR-Engine)、IVR 支持组件(IVR-Support)。
责任描述: 完成 IVR 系统服务端的设计与开发,包含如下模块:
1、IVR-Web 负责导航流程的创建、编辑与配置等功能。导航流程会缓存到 Redis 中,并持久化到 Mysql 数据库。
2、IVR-Engine 负责解析和执行导航流程,并调用 CTI 系统的接口来控制整个呼叫。它从 Kafka 接收到呼叫开始事件后,
会产生一个 Session 对象,该 Session 对象会维护整个 IVR 呼叫的生命周期。为了使服务能够无状态运行,该 Session 对象被缓存在 Redis 中,导航流程的执行状态、执行位置等信息会实时变更到 Redis 里,保证了单实例出现故障,呼
叫能够被其他实例所接管,确保了 IVR 系统的高可靠性。该服务为呼叫中心系统的核心服务之一,支持水平拓展,其
被用来作为某大型银行信用卡中心的机器人系统,最大业务量 3000+并发。
3、IVR-Support 提供了 RESTful 接口调用、脚本执行、逻辑计算、TTS 语音合成、ASR 语音识别等功能。
三、运营管理系统(BOSS 系统)
软件环境: SpringBoot+Spring+MyBatis+Kafka+Zookeeper+Quartz+Drools+Kettle+Redis 开发工具: IDEA+Maven+Git+Jenkins+Kubernetes+Docker+Mysql
项目描述: BOSS 系统是一套供运营管理人员来管理呼叫中心的系统。主要分为两个子系统:一个是呼叫中心系统的统一配置与管理系统,包含租户管理、坐席和分机管理、用户和角色管理、权限管理等;另一个是计费管理系统,包含计费数据产
出、计费规则管理(针对单通话务计费)、账单规则管理(针对租户所有的话务进行整体计费,类似套餐)、出账、
开发票、预充值、余额管理等功能。
责任描述: 完成计费管理子系统服务端功能的设计与开发,包含如下模块:
1、BOSS-Export 计费数据产出模块接收 Kafka 中的计费事件,并把其记录到数据库中。
2、BOSS-Pricing 计费管理模块包含费率管理和自定义计费规则管理,使用 Quartz + Drools 完成单通话务记录的计费
(每月月初出账)。由于数据量大(每月数据近 3000 万),使用了多线程技术。
3、BOSS-Billing 账单管理模块包含自定义账单规则管理,并使用 Kettle 完成