【技术实现步骤摘要】
一种数据库的双活实现方法及装置
本专利技术实施例涉及通信
,尤其涉及一种数据库的双活实现方法及装置。
技术介绍
随着运营商各类业务发展以及互联网渠道和业务的拓展,运营商的客户关系管理(Customerrelationshipmanagement,CRM)系统正在由面向数以千计的操作员的系统转变化为面向数以千万计的最终用户的系统,这对CRM系统提出了越来越高的体验和性能的要求,尤其承载核心用户资料数据的CRM营业系统,压力越来越大。而传统的性能优化方法,如主机扩容、数据库扩容等,跟不上业务需求压力增长速度,且扩容成本很高,投资巨大。目前,大型应用一般采用如下两种方式来减小系统压力:其一,读写分离:在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复,通过读写节点分离实现单一的负载分担。但是该种方式只能实现简单的读写负载均衡,而在实际应用中,往往读的比率比写的比率要高,这导致往往达不到真正的负载均衡。其二,OracleRac:Oracle集成提供了集群软件和存储管理软 ...
【技术保护点】
1.一种数据库的双活实现方法,其特征在于,应用于数据库双活系统中的缓存服务器,所述数据库双活系统还包括均与所述缓存服务器进行通信的至少两个数据库服务器,且所述至少两个数据库服务器中的数据完全一致;所述方法包括:/n当检测到对所述至少两个数据库服务器中的第一数据库服务器中的数据进行操作时,获取进行操作的操作数据所对应的日志;其中,所述第一数据库服务器为所述至少两个数据库服务器中的任一数据库服务器;/n根据所述操作数据所对应的日志,更新所述至少两个数据库服务器中除所述第一数据库服务器之外的其余数据库服务器内的数据,以使更新后的其余数据库服务器内的数据与所述第一数据库服务器中的数据完全一致。/n
【技术特征摘要】
1.一种数据库的双活实现方法,其特征在于,应用于数据库双活系统中的缓存服务器,所述数据库双活系统还包括均与所述缓存服务器进行通信的至少两个数据库服务器,且所述至少两个数据库服务器中的数据完全一致;所述方法包括:
当检测到对所述至少两个数据库服务器中的第一数据库服务器中的数据进行操作时,获取进行操作的操作数据所对应的日志;其中,所述第一数据库服务器为所述至少两个数据库服务器中的任一数据库服务器;
根据所述操作数据所对应的日志,更新所述至少两个数据库服务器中除所述第一数据库服务器之外的其余数据库服务器内的数据,以使更新后的其余数据库服务器内的数据与所述第一数据库服务器中的数据完全一致。
2.根据权利要求1所述的方法,其特征在于,所述当检测到对所述至少两个数据库服务器中的第一数据库服务器中的数据进行操作时,获取进行操作的操作数据所对应的日志,包括:
当检测到对所述第一数据库服务器中的数据进行操作时,通过所述缓存服务器中的第一进程,从所述第一数据库服务器中获取所述操作数据对应的日志;其中,当所述第一数据库服务器接收到对数据的操作请求时,将操作的数据写到在线日志或归档日志中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述操作数据所对应的日志,更新所述至少两个数据库服务器中除所述第一数据库服务器之外的其余数据库服务器内的数据,包括:
通过所述缓存服务器中的第二进程,对所述操作数据所对应的日志进行解析,得到与所述操作数据所对应的日志相对应的结构化查询语言SQL语句;
确定所述SQL语句的类别,其中,所述SQL语句的类别包括数据查询语言DQL、数据操纵语言DML、数据定义语言DDL和数据控制语言DCL;
根据所述SQL语句的类别,对所述其余数据库服务器内的数据进行更新。
4.根据权利要求3所述的方法,其特征在于,所述确定所述SQL语句的类别之后,所述方法还包括:
当所述SQL语句的类别为所述DML中的更新UPDATE或删除DELETE时,根据所述SQL语句,获取所述其余数据库服务器中的目标数据,并对所述目标数据执行锁定操作,其中所述目标数据为与所述第一数据库服务器中的操作数据相同的数据。
5.根据权利要求3所述的方法,其特征在于,所述根据所述SQL语句的类别,对所述其余数据库服务器内的数据进行更新,包括:
当所述SQL语句的类别为所述DQL时,不对所述其余数据库服务器内的...
【专利技术属性】
技术研发人员:高向阳,朱祥磊,
申请(专利权)人:中国移动通信集团山东有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。