一种基于PostgreSQL数据库的主备/集群应用的综合性方法_3

文档序号:9471472阅读:来源:国知局
所有负载由新的主库(原备库)来负担;
[0143] 故障处理步骤:
[0144] *修复原主库
[0145] *从新主库上进行基础备份,制作新的备库。在原主库上执行下列命令: 阳146] *启动新备库 阳147] *将新备库加入集群。
[0148] 上述配置过程不仅说明了本方案所使用的软/硬件配置情况,而且展示了详细的 配置步骤及配置参数,发明使用者依据此配置过程,可快速搭建出本方案所示的应用环境。
[0149] 在根据本发明的实施例中的控制程序包括W下两部分:
[0150] (1)主数据库故障时,实现备数据库快速提升(Promote)为主数据库的控制程序 P甜ool_failove;r_stream.sh,主要代码如下:
[0151]
阳K2]
阳 153]
[0154] (2)原主数据库故障修复后,从新主数据库一步快速生成新备数据库的控制程序 pg_recover_from_master. sh,主要代石马女曰下: 阳1巧]
阳巧6]
阳 157]
阳159] 控制程序的表述为本方案中需要编程实现的环节,提供了可重用的、经测试的、现 成的程序样本。用于在实施过程中可W直接使用程序样本,或只需在样本的基础上做简单 的修改来实现根据本发明的方法。
[0160] 本发明所示方案中的测试方法,定义了对实施完成后的主备/集群应用环境进行 各种"功能测试"和"性能对比测试"所采用的测试方法和测试用例。主要测试内容包括: 故障下的服务持续能力、负载均衡、故障迁移(Failover)、故障恢复,通过pgpoo^II连接 数据库与直连数据库时的读/写性能差异。 阳161] 该测试方法表述为一组预先设计好的测试用例。
[0162] 功能测试,本部分测试主备/集群环境的基本功能,具体如下表: 阳163]【1】正常访问
[0164]
[0169]
[0172]【5】化stgreS化主库故障与恢复阳 173]
[0177] 性能对比测试在"直接连接"和"通过集群服务连接"两种情况下进行S化查询、 存储过程、JDBC读/写的性能差异,W此来评估集群方案本身所带来的系统开销,具体如下 表: 阳17引 【7】S化查询 阳 179]
[0186]【11】大规模并发访问 阳 187]
[0188] 根据本发明的方案在综合性、整体性(或完备性)、低成本和实用性对比现有技术 具备如下的优点: 阳189] A、解决方案功能的综合性
[0190] 该方案兼具主备/集群双重特性,既可提高服务可靠性、又可提高数据可靠性,同 时,具备负载均衡、连接池等功能; 阳191] 服务可靠性,既包括数据库服务的可靠性,又包括中间件服务的可靠性;
[0192] 数据可靠性,既包括数据复制提供的可靠性,又包括RAID配置提供的磁盘可靠 性。
[0193] B、综合利用了化stgreS化数据库自身和第S方软件提供的功能 阳194] 充用利用化stgreS化数据库自身内置的"流复制(StreamingReplication)"及 化tStan化y功能,实现数据的复制及数据库的主/备基础功能;
[01巧]利用P甜00^11的故障监测功能,编程实现主库故障发生时的备库自动提升 (Promote),达到数据库服务高可用化i曲Avail油ility)的目的; 阳196] 利用P甜00^11的连接池及负载均衡功能,实现连接管理和读的负载均衡; 阳197] 利用P甜00^11"看口狗"的功能,进行双P甜00^11服务配置,实现P甜00^11自 身的高可用(化曲Avail油ility),消除"单点故障"。
[0198] C、该方案中综合应用了方案设计者本人编写的控制程序
[0199] 主数据库故障时,实现备数据库快速提升(Promote)为主数据库的控制程序; 阳200] 原主数据库故障修复后,从新主数据库一步快速生成新备数据库的控制程序。 阳201] D、方案内容的完备性与全面性 阳202] 根据本发明的技术方案及实施例内容综合了设计目标、设计思想、方案表述、配置 过程、控制程序和测试方法,使得方案采用者仅借助于本方案提供的支持,就可W完成方案 搭建的所有工作。 阳203] E、建设和使用成本低 阳204] 该方案不需要额外的硬件设备投入,比如存储磁盘; 阳205] 所采用的数据库及中间件均为开源、免费产品; 阳206] 中间件服务器和数据库服务器共用,既可W提高通信效率,也可减少硬件成本。
[0207] F、用户透明性和简易性 阳20引利用P甜00^11的"虚拟飘移IP"功能,为客户端访问提供透明一致的地址映射, 客户端对集群的访问与对单一数据库的访问方式完全一致; 阳209] 数据库服务器主/备对等,轮流切换,故障恢复后不化nback,使得配置更简单, 处理更高效。
[0210] 应当指出并强调的是,本发明中所述的化stgreS化数据库主备/集群应用解决方 案具有一定的可扩展性和配置灵活性,例如:可扩展成一主多备、P甜OO^II独立服务器、 同步复制等。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可W轻易地 做出上述扩展和灵活配置,运些都属于本发明的保护范围。因此,本发明专利的保护范围应 W所附权利要求为准。
【主权项】
1. 一种基于PostgreSQL数据库的主备/集群应用的综合性方法,其特征在于包括以下 步骤: 对在至少两个的群集服务器中分别配置数据库和中间件,使客户端与群集服务器连 接; 调用数据库的流复制功能,处理所述群集服务器中的数据复制与同步,并且通过阵列 的方式配置数据同时储存在所述群集服务器中的存储器中; 调用数据库的热备份功能,同时设置一个群集服务器为主机,并设置另一个群集服务 器为可读的备机; 调用中间件的主/备模式下的故障监测功能,实现所述主机故障时的自动故障迀移, 从而建立主机和备机之间的双机热备份; 为客户端访问提供地址共享映射,使一个或多个客户端对主机和备机的访问与对单一 数据库服务器的访问方式完全相同。2. 根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,其 中所述的中间件为Pgpool-II中间件系统。3. 根据权利要求2所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 调用所述中间件的看门狗功能,进行双Pgpool-II服务配置以消除单点故障。4. 根据权利要求2所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 在中间件中配置监控进程,用于在主机和备机之间定期传输心跳检测信号。5. 根据权利要求2所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,其 中为客户端访问提供地址共享映射的步骤还包括: 调用中间件的虚拟飘移IP功能,为客户端的访问提供一致的地址共享映射。6. 根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 当主数据库故障时,通过中间件将备机的数据库提升为主数据库,同时将原主机的数 据库迀出集群,在修复原主数据库故障修复后,从新主数据库生成新备数据并恢复到修复 的数据库中,然后使修复的数据库服务器作为备机。7. 根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 使主机和备机对等,按照给定的时间执行轮流切换,使得在主机故障恢复后不将修复 故障的数据库服务器恢复作为主机; 利用中间件负载比例分配和数据库备机可读的功能,在读取数据期间实施负载均衡集 群,用于减轻主机压力。8. 根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 直接通过中间件的连接池和连接数限制功能,限制主机及备机的连接数。9. 根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法,还 包括: 使中间件的服务器和数据库服务器共用,以提高通信效率。10.根据权利要求1所述的基于PostgreSQL数据库的主备/集群应用的综合性方法, 还包括在群集数据库服务器空闲期间或者维护期间执行以下任意的一种或多种测试:正常 数据访问测试、负载均衡测试、大规模并发访问测试、中间件故障迀移测试、数据库主机的 故障与恢复测试、数据库备机的故障与恢复测试和集群数据库服务持续能力测试。
【专利摘要】本发明公开了一种基于PostgreSQL数据库的主备/集群应用的综合性方法,包括以下步骤:对在至少两个群集服务器中分别配置数据库和中间件,连接客户端;调用数据库的流复制功能,处理所述群集服务器中的数据复制与同步,配置数据同时储存在所述群集服务器中的储存器;调用数据库的热备份功能,同时设置主机和备机;调用中间件的主/备模式下的故障监测功能,建立主机和备机之间的双机热备份;为客户端访问提供地址共享映射。本发明的有益效果主要在于,用户可以利用上述方法快速搭建基于数据库下的主备/集群应用环境,从而极大地减少企业或个人在数据库主备/集群应用方面的学习、探索与实验成本,产生直接或间接的经济效益。
【IPC分类】G06F17/30
【公开号】CN105224637
【申请号】CN201510618496
【发明人】苏宏勋, 刘胜兰, 王彦垒
【申请人】珠海许继芝电网自动化有限公司, 珠海许继电气有限公司, 国家电网公司
【公开日】2016年1月6日
【申请日】2015年9月24日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1