呼叫中心时间通过微调同步方案

发布时间:  2014-07-29 浏览次数:  226 下载次数:  0
问题描述
        呼叫中心服务器组件繁多,需要对各个服务器进行时间同步保障系统运行时间准确,生成的话单、录音、报表等才能时间准确。

       但是,如果呼叫中心已经运行了一段时间了,并且呼叫中心内部时间同步,那么可能跟实际时间产生较大的差距。这样如果直接去调节内部NTP服务器的时间,会使ORACLE双机、CTI服务器时间产生跳变,可能引起RAC双机反复重启、CTI服务异常,导致业务中断。

       CC基础软件安装指南中的时间同步方案,必须要将数据库RAC、CTI服务停止后操作,势必要断业务。所以,我们需要设计一种安全可靠的,不会影响现有系统稳定性的方案来同步时间。
告警信息
ntpq -p;date;
查看CTI服务器时间,发现服务器时间和ntp server相差了269秒。
处理过程
1、使用root用户登录,停止ntp服务,命令为:
# rcntp stop

2、配置客户端功能,从公司NTP服务器获取时间:
编辑/etc/ntp.conf
vi /etc/ntp.conf
编辑内容如下:
----------------------------
server 172.19.1.63     //此处为公司的NTP server地址。
----------------------------

3、配置NTP客户端时,增加“-x”参数,即当系统时钟与NTP服务器时钟出现偏差时,NTP进行时间微调,而不是一步调整到位。
编辑/etc/sysconfig/ntp文件:
vi /etc/sysconfig/ntp
NTPD_OPTIONS="-g -u ntp:ntp -x"   //-x表示微调,每次调整500us
NTPD_FORCE_SYNC_ON_STARTUP="no"   //在启动的时候不强制同步

4、定时将系统时间写入硬件时钟
contab –e
增加如下内容:
30 03 * * * /sbin/hwclock –systohc
保存后执行 crontab –l  检查是否生效

5、启动ntp
# rcntp start
用root用户执行ntpq -p检查执行结果。只要不显示ntpq: read: Connection refused,说明启动成功了。

6、设置开机自启动ntp服务
# chkconfig –a ntp

7、经过6天五小时,检查服务器时间和NTP server地址已经完成同步,操作成功。
根因


1、本方案使用内部CMS服务器作为呼叫中心内部时钟源,同时,CMS服务器作为客户端和公司的NTP服务器进行时钟同步,即使公司时钟源挂掉,内部仍然可以保证时间的同步;

2、CMS与公司NTP服务器采用微调方式,呼叫中心系统快了269秒,每秒一次,每次微调0.5ms,理论上共需要538000秒时间同步完成,所需时间大约大约6天零3个小时;

3、若公司内部时钟源故障,则在恢复后会继续以微调方式和公司始终同步,始终保持趋向准确的时间。
建议与总结
建议在呼叫中心建设初期,就设计好其中一个服务器,既作内部服务器的时钟源,也作为客户端向外部准确时钟源同步,保证整个系统内部时间和实际时间一致。

END