新闻中心

EEPW首页>手机与无线通信>设计应用> 号码携带集中管理系统的高可用技术应用分析

号码携带集中管理系统的高可用技术应用分析

作者: 时间:2012-06-07 来源:网络 收藏

3.5.2 数据库集群软件

本文引用地址://m.amcfsurvey.com/article/154706.htm

  我们以ORACLE的真正应用集群(Real Application Cluster,RAC)软件为例,介绍数据库集群软件的主要特点。

  (1)共享磁盘

  与Single-Instance Oracle的存储方式最主要的不同之处在于RAC存储必须将所有RAC中数据文件存放在共享设备中,以便访问相同Database的Instance能够共享。同时,为了能够使每个Instance能够独立操作,也为了系统恢复时其他Instance能找到相关的操作痕迹,RAC数据库与单实例数据库在存储结构上还存在以下不同:

  (1)每一个Instance都有自己的SGA(系统全局区)。

  (2)每一个Instance都有自己的Background Process。

  (3)每一个Instance都有自己的Redo Logs。

  (4)每一个Instance都有自己的Undo表空间。

  RAC也不能使用传统的文件系统,因为传统的文件系统不支持多系统的并行挂载,必须将文件存储在没有任何文件系统的裸设备或是支持多系统并发访问的文件系统中。

  RAC操作要求在所有Instance中对控制共享资源的访问进行同步。RAC使用Global Resource Directory来记录Cluster Database中资源的使用信息,Global Cache Service(GCS)和Global Enqueue Service(GES)管理GRD中的信息。每个Instance在进行读写操作后,要由GCS或者GES按照严格的流程同步到其他Instance的Buffer中。

  (2)缓存融合(Cache Fusion)

  在RAC环境中,每个实例的内存结构和后台进程都是相同的,它们看起来像单一系统的一样。每个实例的SGA内有一个缓冲区,使用Cache Fusion技术,每个实例就像使用单一缓存一样使用集群实例的缓存来处理数据库。Cache Fusion技术可以最大限度地降低磁盘I/O,优化数据读写。节点之间会产生不小的网络通信和CPU的开销,因此双节点RAC的性能不会是单节点性能的两倍。

  (3)透明应用切换

  当RAC群的一个节点发生了故障,故障节点上所有保存在内存中运行的事务会丢失,Oracle将故障节点所拥有数据块的控制权限重新转交给正常节点,此过程称为全局缓存服务重置。在全局缓存服务重置发生时,RAC中所有服务器都会被冻结,所有应用程序将被挂起,GCS将不会响应群任何节点发出的请求;重置后,Oracle读取日志记录,确定并锁定需要恢复的页面,并执行回滚,此时数据库恢复

  3.6 应用软件的系统恢复方案

  即使我们采取了前面所有的措施,也需要考虑在前面方案失败的情况下,即系统底层软件或者硬件发生错误而导致系统重启时的处理办法。

  系统在重启前,系统中正在运行的有若干个流程,每个流程都处于不同的状态,应用软件的恢复方案就是要保证系统重启后,这些状态都能够恢复并自动运行到结束状态。为此,系统在运行过程中,所有消息和流程的状态都需要在修改的时候保存在数据库中,而不能仅仅保存在内存中,在System Recover的时候,需要检查数据库中所有没有到最终状态的消息和流程并进行后续处理。

  CSMS在System Recover后实现过程如下:

  (1)恢复所有消息:恢复CSMS发出的消息,恢复CSMS收到的消息。

  (2)恢复申请流程。

  (3)恢复注销流程。

  (4)恢复停机相关流程。

  (5)恢复审计流程。

  (6)检查当天的生效广播。

  (7)检查当天的同步。

  (8)检查当月的同步。

  系统恢复的关键就是要清楚每个流程的不同状态,比如在消息的恢复中,对于从CSMS发送出去的NP消息,状态包括:

  ●Init(初始)。

  ●Sending(发送中):该消息已经发送给SOA/LSMS,等待ACK。

  ●Wait Send(等待发送):ACK超时重发。

  ●Sent(发送成功):收到ACK信息。

  ●Complete(完成):收到该NP消息(请求/指示)的回复(响应/确认),并已经成功发送相应的ACK。

  对于CSMS接收到的NP消息,状态包括:

  ●Init(初始)。

  ●Processing(处理中):表示系统正在处理该NP消息,主要包括将该NP消息保存入系统,根据该NP消息的类型,选择需要处理的方式。

  ●Processed(处理结束):表示系统已经处理结束该NP消息。

  ●Replying(正在发送回复消息):系统将组织好的NP回复消息已经发送到SOA/LSMS,该消息没有收到ACK。

  ●Wait Reply(等待回复):ACK超时等待重发。

  ●Complete(完成):系统收到该消息的ACK信息。

  对于系统的其他恢复流程,方法类似不再赘述。

  3.7 磁盘阵列的RAID和磁带库备份方案

  系统高可靠性最后的考虑就是存储设备,以目前的技术而言,有效的存储方案不仅可以保证存储数据的安全可靠,还能够提高硬盘读写的速度,常用的技术就是RAID。

  RAID技术按照级别可以分为RAID0,RAID1,RAID5等,不同级别RAID的存储效率不同,当硬盘出现故障时能够恢复的时间也不相同,具体技术可以参考相关技术文档。

  为了进一步增加数据存储的保护功能,系统一般还会有其他介质的备份方案,如磁带库备份。磁盘阵列的数据按照一定的规则备份到磁带库上,一方面可以增加存储设备的容量,同时对数据保护又增加了一层保障。

  4 结束语

  作为的重要性能指标之一,高性具有十分重要的意义。因为高性需要考虑到系统的各个层面,相对也比较复杂。尤其在各种新的IT技术层出不穷的今天,研究各种高可用性技术,选择合适的高可用性技术方案,应作为系统架构设计者和相关技术研究人员的重点研究内容。本文仅作为抛砖引玉,对集中的各种高可用技术进行了简单的和总结,相信这些高可用性技术对类似系统的设计具有一定的参考意义。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭