【技术实现步骤摘要】
PostgreSQL数据库流复制异常处理方法及装置
[0001]本专利技术属于数据库流异常处理
,具体涉及一种PostgreSQL数据库流复制异常处理方法及装置。
技术介绍
[0002]PostgreSQL是一套企业级的、跨平台、高度可定制的、功能强大的开源数据库系统。PostgreSQL的可靠性、稳定性、数据一致性等获得了数据库行业的肯定,是唯一能实现数据零丢失的开源数据库系统。随着PostgreSQL的商用逐渐推动,在数据库市场上成为对标Oracle,MySQL等传统大型商业数据库的有力竞争者。
[0003]数据库系统中,数据的备份成为保证数据安全性的一个重要的后备手段;而随着数据库服务器的集群分布,数据库服务器之间可以协同工作,主服务器出现故障时,允许多台计算机提供相同的数据。
[0004]PostgreSQL提供了流复制技术实现数据的同步,即备用服务器可以实时同步主服务器。首先主备数据库服务器间使用PostgreSQL提供的TCP协议建立网络连接。主数据库的服务器在数据变动并产生WAL记录后,立即将记录以TCP数据流的方式传送给备用数据库服务器,而不必等到预写日志文件被填充后成才进行传输。此种机制极大的缩减了主备服务器间的数据同步延迟,拥有更高效的可用度。流复制技术为数据库的热备、高可用性、负载均衡等提供了原生技术支持。PostgreSQL流复制提供异步复制和同步复制两种方式。
[0005]PostgreSQL流复制存在问题如下:
[0006](一)PostgreSQL流 ...
【技术保护点】
【技术特征摘要】
1.一种PostgreSQL数据库流复制异常处理方法,其特征在于,包括如下步骤:S1.在主备数据库节点异步模式,主流复制控制器在控制写入预写日志前后,分别向备用流复制控制器发送用户写事务命令消息和主预写日志写入完成同步消息,再控制主日志发送模块向备用日志接收模块发送预写日志,并接收备用流复制控制器在备数据库节点完成预写日志回放后返回的备预写日志写入完成同步消息;S2.当出现异步模式的主数据库节点崩溃,备用流复制控制器检测备用数据库节点状态,若存在主预写日志写入完成同步消息,但无备预写日志写入完成同步消息时,备用流复制控制器控制备用数据库节点执行接收到的用户写事务操作命令,实现和主数据库数据保持一致;S3.在主备数据库节点同步模式,主流复制控制器按设定周期向各备用流复制控制器发送握手消息,并根据预设时间门限内是否接收到握手消息答复判断对应备用数据库节点崩溃与否;S4.当出现同步模式的备用数据库节点均崩溃,根据主数据库节点空闲与否判断更改主备数据库节点模式或者构造备用日志接收模块返回给主日志发送模块的确认消息。2.如权利要求1所述的PostgreSQL数据库流复制异常处理方法,其特征在于,步骤S1之前还包括如下步骤:S1A.在主数据库节点配置主流复制控制器,在备用数据库节点配置备用流复制控制器,并设置各流复制控制器获取所在数据库节点的配置信息;S1B.根据流复制控制器获取的数据库节点的配置信息判断当前工作模式;若为异步模式,进入步骤S1;若为同步模式,进入步骤S3。3.如权利要求2所述的PostgreSQL数据库流复制异常处理方法,其特征在于,所述数据库节点配置信息包括本节点主从配置、异步/同步模式、IP配置以及对端IP。4.如权利要求1所述的PostgreSQL数据库流复制异常处理方法,其特征在于,步骤S1具体步骤如下:S11.在主备数据库节点异步模式,主流复制控制器在主数据库节点接收到用户写事务命令后,向备用流复制控制器同步发送写事务命令消息;S12.主流复制控制器控制本地写入预写日志,并在本地预写日志写入完成后,向备用流复制控制器发送主预写日志写入完成同步消息;S13.主流复制控制器控制主日志发送模块向备日志接收模块发送预写日志;S14.备用流复制控制器将备用日志接收模块接收的预写日志发送到日志回放模块进行回放,并在日志回放完成后,向主流复制控制器发送备预写日志写入完成同步消息。5.如权利要求4所述的PostgreSQL数据库流复制异常处理方法,其特征在于,步骤S11中,在主备数据库节点异步模式,主数据库节点的postgres模块接收到用户写事务操作后,通知主流复制控制器同步向备用流复制控制器发送用户写事务命令消息;步骤S12中,在向备用流复制控制器发送主预写日志写入完成同步消息后,主流复制控制器通过postgres模块向用户返回预写日志在主数据库节点完成通知;步骤S14中,在备用数据库节点日志回放模块完成预写日志写入后,备用流复制控制器向主流复制控制器发送备写入预写日志完成同步消息。
6.如权利要求4所述的PostgreSQL数据库流复制异常处理方法,其特征在于,步骤S2具体步骤如下:S21.在主备数据库节点异步模式,备用流复制控制器判断是否出现主数据库节点崩溃;若是,进入步骤S22;若...
【专利技术属性】
技术研发人员:孙颉,张闯,刘科,黄广奎,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。