背景 华为彩铃系统(CRBT) IDC最新调查显示,华为TELLIN-CRBT的合同金额和合同数全球排名第一,目前已经占到一半以上的市场份额。华为已为全球1.8亿用户提供了包括彩铃业务在内的综合数字音乐服务。作为全球领先的彩铃系统供应商,华为的彩铃系统为客户带来了巨大的价值。2006年1月,华为公司在印度TTSL彩铃业务正式商用,该业务在印度被称为“欢迎乐曲”。推出不到半年的时间,已发展CRBT用户接近30万,成为TTSL最具吸引力的增值业务之一。CRBT每月为TTSL带来的收入至少在US$200,000以上。 对于一个能带来巨大利润的复杂系统,必然需要对核心数据进行完善、有效的保护。 彩铃数据库系统结构 彩铃系统的核心数据主要存储于数据库系统中。彩铃业务数据库系统主要包括一个中心数据库和N个呼叫数据库。其中,管理流程访问中心数据库,呼叫流程分散在各个呼叫节点上,访问对应的呼叫数据库。
(图1)彩铃业务数据库系统
由彩铃数据库系统的特性可以看出,彩铃系统的核心数据在于管理平面的中心数据库;而彩铃的业务特性决定了彩铃中心数据库只能有一个,如何最大程度的保护这个数据核心,并保障这个数据核心的连续运行,是我们数据库容灾的主要任务。
彩铃数据库容灾解决方案
数据库容灾解决方案主要通过建立一个符合上述容灾目标的系统来实现对彩铃关键数据的保障。这个系统不仅包括了适合的软硬件及网络,更包含一系列的专业容灾服务来实现容灾。
彩铃数据库容灾系统
彩铃数据库容灾系统主要由以下部分组成:
- 主库系统
当前业务使用的管理数据库系统。
- 从库系统
通常和主库处于不同的物理位置,用于容灾。通过网络与主库相连。当发生主库灾害时,能够迅速接管主库所有的业务,并能尽量保证数据不丢失。从库系统的硬件设备可以和主库不同,但是操作系统和数据库版本必须一致。另外考虑到灾难后需要接管主库的应用,因此机器配置性能不应低于主库系统。
- 容灾网络
容灾网络通常需要独立的数据传输通道以保障数据的同步要求,数据容灾的效率高低与容灾网络有密切关系。容灾网络的带宽可以通过采集主库系统忙时的redo增量进行计算。
- 容灾技术
根据彩铃的业务特性及华为在客服Oracle数据库容灾领域的丰富经验,我们采用Oracle的DataGuard技术来实现数据库容灾。DataGuard是Oracle9i数据库的重要功能之一。Oracle在发生数据写操作时,会首先将数据写入日志文件(redo log)中。DataGuard技术正是利用了这一点,除将重做信息写到本地外,还写入到远程的从库中。从库通过不停的应用重做信息即可实现与主库的同步。使用DataGuard功能进行容灾对主库性能影响很小。
为了简化运维及容灾切换,华为针对彩铃特性开发了容灾专用脚本。通过使用该脚本,可以有效加强数据库的容灾功能以及自管理功能。
彩铃数据库容灾系统典型结构
(图2)彩铃数据库容灾系统典型结构
- 在管理中心机房,中心数据库的双机直接连入公共的生产网络提供数据服务,同时建立连接生产机房与容灾机房的容灾网络,以保证容灾系统与生产系统间的数据同步传输;各个呼叫节点机房的呼叫数据库仅接入生产网络即可。
- 生产数据库与容灾数据库均采用双机,采用DataGuard技术实现全库的容灾。
- 在异地的容灾机房,容灾系统同时连入生产网络和容灾网络,以保证容灾系统接管生产系统后的数据访问。
彩铃数据库同步模式
数据库容灾提供三种可选的同步策略:
- 最多保护模式:提供最高程度的数据保护。主库的redo信息只有成功传送到至少一个从库后,数据才能被写入数据库中。否则,主库将关闭以避免主从库间数据差异。这种方式能保证主从库间数据的一致性,但是对主库性能影响严重,有可能对主库造成较大冲击。
- 最大有效模式:提供次一级的数据保护。与上面模式的区别在于,当redo数据被判断为无法及时传送到从库时,主库会临时将自己的级别降到最大性能模式,这样主库仍然能正常工作。这种方式是在保证主库有效性前提下的最高数据保护模式。
- 最大性能模式:默认的数据保护模式。主库不会等待信息到从库后再进行写操作。这种方式是在保证不影响主库性能前提下的最高数据保护模式。
给客户带来的好处
- 大大提高业务连续性
通过数据库容灾,能够在核心的数据库系统故障后迅速接管业务,大大提高业务连续性,保障系统的连续运行。
- 高度保障核心数据安全
彩铃核心数据集中存储在管理节点的中心数据库中。通过中心数据库的异地容灾系统,可以把自然或人为的灾害对当前数据的损失降到最低,从而高度保障核心数据安全。
- 降低业务风险,提高操作效率
彩铃中心数据库是整个业务的数据核心,一旦出现故障影响很大。可以把一些可能危及业务库的测试操作转移到容灾数据库,避免业务风险。通过对容灾数据库和生产数据库的交替操作,可以大大减少系统升级、补丁和重装系统等的计划停机时间。另外,对容灾数据库进行一些对数据库性能消耗较大的操作,如备份操作,能够提升操作效率。
- 提高彩铃系统性价比
通过对业务的深度分析,我们的方案仅对最核心的中心数据库部分进行容灾,以较低的价格实现较好的容灾效果。而且数据库的同步采用oracle自带DataGuard功能,无需额外付费。
结语
彩铃系统是一个复杂而重要的系统,数据库存储着业务所需的所有关键信息,对核心数据进行完善、有效的保护是非常必要的。通过数据库容灾,可以大大提高彩铃的业务连续性,并有效保障彩铃核心数据安全。
一个容灾系统除了好的解决方案外,必然需要完善、成熟的服务来提供支撑。根据彩铃的业务特性以及大量的经验和测试结果,华为可以针对用户现场环境,对彩铃数据库容灾提供咨询、方案设计、实施及优化、售后维护、培训、容灾演练等全流程的专业服务,同时定制开发业务端接管,紧急处理等软件和脚本。
华为的彩铃容灾专业服务,可以帮助用户轻松的部署和实现彩铃数据库容灾。 本文出自 51CTO.COM技术博客 |