一种高可用存储服务器系统及其数据保护方法

文档序号:6613969阅读:226来源:国知局
专利名称:一种高可用存储服务器系统及其数据保护方法
技术领域
本发明涉及计算机数据保护技术领域,更具体地,本发明涉及一种高 可用存储服务器系统及其数据保护方法。
背景技术
随着信息技术的发展,数据存储功能已经独立于计算功能,可以单独 向用户提供服务。专用的存储服务器系统,如文件服务器、存储区域网络 等系统,已经获得越来越广泛的应用。在这些系统中,用户将需要使用的 数据存放在服务器中,由存储服务器系统对其进行集中管理。当用户访问 数据时,通过网络对存储服务器进行读写访问。存储服务器系统除了向用 户提供了数据处理功能,还提供数据本身的访问功能,因此,当存储服务 器出现故障时,如果没有有效的数据保护机制,不但会破坏用户工作进程 的连续性,还会因为工作数据的损坏或者丢失,造成用户业务的不可恢复。 所以,在系统设计中,对存储服务器的数据安全性要求将高于传统的计算 功能服务器。
在现有技术中的高可用服务器系统中,常用的技术手段是服务备份, 即在同一系统中配置两台相同的服务器, 一台正常工作,另一台备用,当 工作服务器出现故障时,启动备用服务器的相同服务,接管工作服务器的 工作。对于高可用存储服务器,在对服务程序进行备除的同时,还需要对
数据进行保护,才能保护用户的整个业务。高可用存储服务器,按照数据 分配的结构,分为数据复制和数据共享两种实现方式。
在数据复制的结构中,工作服务器和备用服务器各自有独立的数据存 储空间,当用户进行读访问时,由工作服务器提供数据。当用户进行写访 问时,工作服务器将写入数据传递到备用服务器进行冗余存储,实现数据保护。
在数据共享的结构中,工作服务器和备用服务器共同连接到 一 台存储 设备上。但在同一时刻,只有一台服务器可以对存储设备进行访问。在工 作服务器正常工作时,由工作服务器接受用户的数据读写访问,并操作存 储设备。当工作服务器发生故障时,由备份服务器接受用户的数据读写访 问,并操作存储设备。通过提高存储设备的可靠性,集中管理数据,实现 用户数据和存储的高可用。
以上两种方式在应用中都具有一些缺陷,数据复制方法虽然实现比较
简单,但是需要冗余的存储空间,成本比较高;另外,当工作服务器恢复 正常时,备除服务器需要把独立工作期间的数据变化传递到工作服务器, 数据恢复过程将占用服务器的有效资源,降低用户的访问效率。数据共享 方式可以节省冗余的空间,降低成本,实现数据的高效管理,但是会产生 緩存一致性问题在现代计算机操作系统中,为了提高数据访问的性能, 大部分都采用了緩存机制,即用户数据写入存储服务器的数据会暂时存放 在存储服务器的内存中,当内存中的数据积累到一定量时,再存放到存储 设备中,从而减少重复访问时访问磁盘的次数,提高访问效率。由于緩存 处于存储服务器的内存中,如果服务器出现故障,将导致緩存的丢失,破 坏数据的完整性。在数据共享方式中,由于没有数据复制的机制,在这种 情况下緩存的丢失是不可避免的。禁止緩存机制的使用可以解决上述问题,
但会明显降低数据访问的效率。

发明内容
为克服现有技术中的高可用存储服务器系统可靠性差和效率低的缺 陷,本发明提出了一种高可用存储服务器系统及其数据保护方法。
本发明的一个方面提供了一种高可用存储服务器系统,包括
工作服务器,工作服务器与外部的用户机连接;
备用服务器,备用服务器与外部的用户机连接,所述工作服务器和所 述备用服务器连接;
至少一台存储设备,所述至少一台存储设备分别与所述工作服务器和 所述备用月l务器连接;
其中,所述工作服务器将用户机的写入数据保存在所述工作服务器緩 存中,然后发送给所述备份服务器,并且当所述写入数据被写入所述存储 设备后,所述工作服务器通知所述备用服务器;
其中,所述备用服务器接收所述工作服务器发送的所述写入数据,并 将所述写入数据保留在本地内存中;当所述备用服务器接收到来自所述工 作服务器的相应写入数据已经写入所述存储设备的通知,所述备用服务器 将保存在本地内存的相应写入数据删除。
其中,所述备用服务器对所述工作服务器实时监控,当发现所述工作 服务器出现故障时,所述备用服务器代替所述工作服务器工作,实现对所 述客户机和所述存储设备的访问;当所述备用服务器发现所述工作服务器 恢复正常时,将访问、控制权交还所述工作服务器。
其中,所述存储设备用来提供数据访问和存储功能,同一时刻只能接 受一台服务器的访问请求,当所述工作服务器正常时,接受所述工作服务
器的访问请求,当所述工作服务器发生故障时,接受所述备用服务器的访 问请求。
其中,所述工作服务器运行緩存监视进程,定期查询所述工作服务器 的緩存数据变化,将已经写入存储设备的緩存数据的位置信息通知备用服 务器。
其中,所述緩存数据的位置信息包括緩存变化信息和用于记录访问控 制顺序的访问控制序号,所述用户机的当前数据访问结果和以往数据访问 结果无关,所述工作服务器的数据访问和緩存监视共享一个唯一的所述访 问控制序号,所述访问控制序号顺序递增,并传递给所述备用服务器。
其中,当所述工作服务器通知所述备用服务器所述工作服务器的緩存 数据已经被写入所述存储设备时,所述备用服务器将所述緩存数据的在工 作服务器上的緩存信息和本地存储的信息比较,查找本地存储的数据位置 与需要清理的工作服务器上的緩存数据位置相同的数据,比较找到的本地 存储的数据的访问控制序号和所述需要清理的緩存数据的访问控制序号, 如果所述需要清理的緩存数据的访问控制序号大于本地存储的数据的访问 控制序号,从本地存储中删除相应的数据。
本发明的另一方面提供了一种高可用存储服务器系统的数据保护方
法,包括
步骤10)、工作服务器将用户机的写入数据保存在工作服务器緩存中, 然后,发送所述写入数据到分别与所述工作服务器和所述用户机相连的备 用服务器;
步骤20)、所述备用服务器接收所述工作服务器发送的所述写入数据, 并将所述写入数据保留在本地内存中;
步骤30 )、所述工作服务器定期查询所述工作服务器的緩存数据变化,
将已经写入存储设备的緩存数据的位置信息通知备用服务器;
步骤40)、当所述备用服务器接收到所述工作服务器的緩存数据已经 写入所述存储设备的信息后,所述备用服务器将本地存储中的相应数据删 除。
其中,所述方法进一步包括,所述备用服务器对所述工作服务器实时 监控,当发现所述工作服务器出现故障时,所述备用服务器代替所述工作 服务器工作,实现对所^J1户机和所述存储设备的访问;当所述备用服务 器发现所述工作服务器恢复正常时,将访问、控制权交还所述工作服务器。
其中,步骤30)中,所述緩存数据的位置信息包括緩存变化信息和用 于记录访问控制顺序的访问控制序号。
其中,步骤30)进一步包括当所述工作服务器通知所述备用服务器 所述工作服务器的緩存数据已经被写入所述存储设备,所述备用服务器将 所述緩存数据的在工作服务器上的緩存信息和本地存储的信息比较,查找 本地存储的数据中位置与需要清理的工作服务器上的緩存数据位置相同的 数据,比较找到的本地存储的数据的访问控制序号和所述需要清理的緩存 数据的访问控制序号,如果所述需要清理的緩存数据的访问控制序号大于 本地存储的数据的访问控制序号,从本地存储中删除相应的数据。
通过应用本发明,提高了存储空间的使用效率,节省产品成本;提高 了数据恢复效率,增加了用户有效数据访问时间;并且,通过数据复制实 现緩存保护功能,避免了緩存数据的丟失,提高了用户数据访问效率。


图1高可用存储服务器系统在工作服务器正常状态下的结构图; 图2高可用存储月艮务器系统在工作服务器故障状态下的结构图3工作服务器数据访问流程;
图4工作服务器緩存监视流程;
图5 #服务器数据緩存接收流程; 图6备用服务器数据緩存清理流程;
图7备用服务器数据访问流程;
图8备用服务器监控进程。
具体实施例方式
下面结合附图对本发明作进一步详细描述。
参见图1和图2,本发明提供的高可用存储服务器系统10由工作服务 器ll、备用服务器12和至少一台存储设备13构成,为形象说明,本实施 例中,存储设备釆用 一 台。工作服务器11和备用服务器12通过网络分别 与系统外部的用户才几20连接。工作服务器11和备用服务器12通过网络与 存储设备13分别连接。工作服务器11和备用服务器12之间通过网络相互 连接。图l描述了在工作服务器ll正常工作时的情景,此时,由工作服务 器ll负责用户机20和存储设备13之间的数据访问。图2描述了在工作服 务器11出现故障时的情景,此时,由备用服务器12负责用户机20和存储 设备13之间的数据访问。在图l和图2中,细实线表示网络物理连接,粗 实线表示基于网络物理连接的数据和控制访问。工作服务器和备用服务器 可以是运行通用操作系统的通用高性能计算机,所述的存储设备可以是运 行标准存储协议(如scsi协议)的通用存储设备。所述的工作服务器和备 份服务器之间的连接优选地采用高速网络(如千兆网络或光纤)。
当系统正常工作时,工作服务器11将用户的数据访问读写请求转发到 存储设备13,并将存储操作的结果返回用户。当用户数据访问是写请求时,
工作服务器11将写入的数据通过网络复制到*服务器端12进行保存。 当工作服务器11的写入緩存数据被写入存储设备13时,工作服务器11 通过网络将已经写入存储设备13的緩存位置通知备用服务器12,由备用 服务器12删除这部分緩存数据。
备用服务器12负责接收工作服务器11发送的写緩存数据,并将緩存 数据保留在本地内存中。当工作服务器11通知备用服务器12,有部分緩 存数据已经写入存储设备13时,备用服务器12将这部分緩存数据放弃, 避免本地内存被无效緩存数据占满。备用服务器12实现对工作服务器11 的实时监控功能。发现工作服务器出现故障时,*服务器12将替代工作 服务器ll的功能,实现与客户机和存储设备的访问连接,将本地内存中保 存的緩存数据全部写入存储设备13,并且接管用户机对工作服务器11的 访问请求,将用户访问请求转发到存储设备13。当备份服务器12发现工 作服务器ll恢复正常时,将停止相应用户的数据访问请求,断开和用户机 及存储设备13的访问联接,将访问控制交还工作服务器11。
存储设备13通过网络和工作服务器11以及备用服务器12实现物理连 接,提供数据访问和存储功能。同一时刻,只能接受一台服务器的访问请 求,当工作服务器正常时,接受工作服务器的访问请求;当工作服务器发 生故障时,接受备用服务器的访问请求。
工作服务器11和备用服务器12通过緩存数据保护的方法实现数据保 护,緩存数据保护的方法如下所述
1、工作服务器ll运行一个或多个数据访问进程,接受用户的数据访 问请求,并转发到存储设备13,并将操作结果返回用户机20,当用户访问 是写请求时,数据访问进程还需要将写入数据发送到备用服务器12保存, 当备用服务器12返回保存结果时,再将操作结果返回用户机20。图3具体描述运行在所述的工作服务器上的数据访问进程,当每次接 收到用户机的访问时,执行以下步骤
11) 、接收用户机20的数据访问;
12) 、判断接收的访问类型,如果是读访问,则执行步骤13),如果是 写访问,执行步骤14);
13 )、从存储设备13中读取用户机20需要的数据,跳转执行步骤17 );
14) 、向存储设备13写入用户机20需要的数据,由于有緩存机制,写 入的数据有很大概率写入存储设备13的緩存;
15) 、增加用于记录访问控制顺序的访问控制序列号;
16) 、将用户机20写入的数据和访问控制序号通过网络传递到备用服 务器12;
17) 、将访问结果返回用户才几20。
2、所述的工作服务器运行一个緩存监视进程,定期查询工作服务器的 緩存数据变化,将已经写入存储设备的緩存数据位置信息通知备用服务器。
图4具体描述运行在所述的工作服务器上的緩存监视进程,定期循环 执行以下步骤
21) 、检查存储设备13对应的緩存状态,获得已经写入存储设备13 介质的緩存信息,由于这部分緩存已经写入介质,因此可以不再保留在备 用服务器12的内存中;
22) 、增加访问控制序列号;
23) 、将緩存变化信息和访问控制序列号通过网络传递到备用服务器
12;
24) 、延迟一段时间,避免过多占用服务器资源;
25) 、返回步骤21)。
3、 备用服务器12运行一个或多个緩存数据接收进程,接受工作服务 器11发送的緩存数据并存储到本地内存。
图5具体描述运行在所述的备用服务器12上的緩存数据接收进程, 当备用服务器12接收到工作服务器11通过网络发送的信息时,执行下面 的步骤
31) 、接收工作服务器11传递的信息;
32) 、判断信息类型,如果是緩存数据传递信息,执行步骤33),否 则执行步骤34);
33) 、将传递的緩存数据和访问控制序列号存入本地内存;
34) 、结束返回。
4、 备用服务器12运行一个緩存清理进程,接受工作服务器11发送的 緩存变化信息,将已经写入存储设备介质的緩存数据删除,避免无效的緩 存数据占据本地内存。
图6具体描述运行在所述的备用服务器12上的緩存清理进程,当备用 服务器12接收到工作服务器11通过网络发送的信息时,执行下面的步骤
41) 、接收工作服务器ll传递的信息;
42) 、判断接收的信息类型,如果传递的是緩存变化信息,执行步骤 43),否则,执行步骤46);
43) 将緩存清理的信息和本地存储的緩存信息比较,查找本地存储的 数据緩存中位置与需要清理的緩存相同的项目,如果找到,执行步骤44 ), 否则,执行步骤46);
44) 、比较找到的緩存项目的访问控制序号和緩存清理信息的访问控
制序号,如果緩存清理信息的访问控制序号大于緩存项目的访问控制序号, 则执行步骤45),否则,执行步骤46);
45) 、从本地内存中删除相应的緩存项目;
46) 、结束返回。
由于工作服务器11和备用服务器12之间的网络传输次序是不确定 的。存在这样的可能性某一次操作中,工作服务器11先进行緩存信息的 查询,并传递到备用服务器12,之后用户机20又进行了一次写操作,工 作服务器11将这次写入的数据传递到备用服务器12。但是,由于网^# 输次序的不确定性,数据緩存信息可能先到达备用服务器12,而緩存清理 信息后到达备用服务器12。备用服务器12可能根据緩存清理信息而将数 据緩存删除。实际上,这部分数据緩存并没有写入存储设备介质,而造成 误删除。步骤43),步骤44)根据访问序列号决定是否删除,就避免了上 面的问题。
5、备用服务器12运行一个或多个数据访问进程,当所述的工作服务 器ll正常运行时,数据访问进程处于空闲等待状态。当所述的工作服务器 ll发生故障时,数据访问进程可以激活,实现数据访问操作。当所述的备 用服务器12数据访问进程被激活时,应该禁止数据緩存机制,将用户机写 入的数据直接写入存储设备介质,避免数据的丢失。同时,当所述的工作 服务器11恢复正常状态时,由于所有访问数据都已经写入存储设备介质, 所述的工作服务器11可以直接接管用户访问服务,节省了工作服务器11 和备份服务器12之间的数据传递时间。
图7具体描述运行在所述的备用服务器12上的的数据访问进程。当所 述的工作服务器11正常工作时,该进程处于空闲等待状态。当所述的工作 服务器ll发生故障时,该进程被激活,处理用户机20的数据访问。每次 接收到用户机20访问时,执行以下步骤
51)、接收用户机20的数据访问。52)、判断接收的访问类型,如果是读访问,则执行步骤53),如果 是写访问,执行步骤54);
53 )、从存储设备13中读取用户机20需要的数据,跳转执行步骤55 );
54) 、向存储设备13的介质写入用户机20数据;
55) 、将访问结果返回用户机20。
由于在该进程运行时,没有另外的备用服务器,也没有数据缓存机制, 因此步骤54 )必须将数据直接写入存储设备13的介质,确保数据的安全。 另外,由于数据全部写入存储设备介质,当工作服务器ll恢复正常时,直 接对存储设备13进行访问,就可以恢复工作,无须从备用服务器12回传数据。
6、备用服务器12运行一个监控进程,实时监视工作服务器ll,当工 作服务器11发生故障时,监控进程控制备用服务器12,接管工作服务器 对用户机20及存储设备13的访问控制,并将本地内存中的緩存数据全部 写入存储设备13,再启动备用服务器12的数据访问进程,向用户机20提 供存储访问服务。当监控进程发现所述的工作服务器ll恢复正常时,应该 控制备用服务器12停止所有数据访问进程,断开与存储设备13以及用户 机20的访问连接,将访问控制归还工作服务器11。
图8具体描述运行在所述的备用服务器上的监控进程,定期循环执行 以下步骤
61) 、检查工作服务器ll的状态;
62) 、如果工作服务器ll的状态没有变化,则跳转执行步骤61),否 则执行步骤63);
63 )、如果工作服务器11从正常状态转为故障状态,则执行步骤64 ), 如果工作服务器ll从故障状态转为正常状态,执行步骤68);
64) 、接管存储设备13的访问控制;
65) 、将本地内存的数据緩存全部写入存储设备13的介质;
66) 、接管用户机20的访问控制;
67) 、激活本地数据访问进程(如图7所示),转执行步骤65);
68) 、放弃用户才几20的访问控制;
69) 、使本地的数据访问进程(如图7所示)处于等待状态;
610) 、放弃存储设备13的访问控制;
611) 、激活工作服务器11的数据访问进程(如图3所示);
612) 、延时等待;
613) 、跳转执行步骤61)。
另外,工作服务器和备用服务器运行的数据访问进程所实现的用户机 访问服务应该具有时间独立性,即用户机的当前数据访问结果和以往数据 访问结果无关。保证当工作服务器和备用服务器之间进行访问控制转换时, 不会因为无法获得以往数据访问信息而无法响应用户机的当前请求。
工作服务器的数据访问进程和緩存监视进程应该共享一个唯一的访问 控制序号,访问控制序号应该随访问顺序递增,并传递给备用服务器。备 用服务器的緩存数据接收进程和緩存数据清理进程应该根据访问控制序号 决定緩存数据的保存和清理。每次进行备用服务器緩存数据删除时,需要 比较援存数据的访问控制序列号和緩存变化信息的访问控制序列号进行比 较。只有緩存变化信息访问序列号比存储在备用服务器的緩存访问控制序 列号大的情况,才能删除存储在备用服务器的緩存数据。避免由于网旨 递延迟的影响,造成有效緩存数据的误删除。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其 限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时
认为所有这样的^"改、变化、应用、实施例都在本发明的精神和范围内。
权利要求
1、一种高可用存储服务器系统,包括工作服务器,工作服务器与外部的用户机连接;备用服务器,备用服务器与外部的用户机连接,所述工作服务器和所述备用服务器连接;至少一台存储设备,所述至少一台存储设备分别与所述工作服务器和所述备用服务器连接;其中,所述工作服务器将用户机的写入数据保存在所述工作服务器缓存中,然后发送给所述备份服务器,并且当所述写入数据被写入所述存储设备后,所述工作服务器通知所述备用服务器;其中,所述备用服务器接收所述工作服务器发送的所述写入数据,并将所述写入数据保留在本地内存中;当所述备用服务器接收到来自所述工作服务器的相应写入数据已经写入所述存储设备的通知,所述备用服务器将保存在本地内存的相应写入数据删除。
2、 权利要求l的高可用存储服务器系统,其中,所述备用服务器对所 述工作服务器实时监控,当发现所述工作服务器出现故障时,所述备用服 务器代替所述工作服务器工作,实现对所述客户机和所述存储设备的访问; 当所迷备用服务器发现所述工作服务器恢复正常时,将访问、控制权交还 所述工作服务器。
3、 权利要求l的高可用存储服务器系统,其中,所述存储设备用来提 供数据访问和存储功能,同一时刻只能接受一台服务器的访问请求,当所 述工作服务器正常时,接受所述工作服务器的访问请求,当所述工作服务 器发生故障时,接受所述备用服务器的访问请求。
4、 权利要求l的高可用存储服务器系统,其中,所述工作服务器运行 緩存监^L进程,定期查询所述工作服务器的緩存数据变化,将已经写入存 储设备的緩存数据的位置信息通知备用服务器。
5、 权利要求4的高可用存储服务器系统,其中,所述緩存数据的位置 信息包括緩存变化信息和用于记录访问控制顺序的访问控制序号,所述用 户机的当前数据访问结果和以往数据访问结果无关,所述工作服务器的数 据访问和緩存监视共享一个唯一的所述访问控制序号,所述访问控制序号 顺序递增,并传递给所述备用服务器。
6、 权利要求l的高可用存储服务器系统,其中,当所述工作服务器通 知所述备用服务器所述工作服务器的緩存数据已经被写入所述存储设备 时,所述备用服务器将所述緩存数据的在工作服务器上的緩存信息和本地 存储的信息比较,查找本地存储的数据位置与需要清理的工作服务器上的 緩存数据位置相同的数据,比较找到的本地存储的数据的访问控制序号和 所述需要清理的緩存数据的访问控制序号,如果所述需要清理的緩存数据 的访问控制序号大于本地存储的数据的访问控制序号,从本地存储中删除 相应的数据。
7、 一种高可用存储服务器系统的数据保护方法,包括步骤10)、工作服务器将用户机的写入数据保存在工作服务器緩存中, 然后,发送所述写入数据到分别与所述工作服务器和所述用户机相连的备 用服务器;步骤20)、所述备用服务器接收所述工作服务器发送的所述写入数据,并将所述写入数据保留在本地内存中;步骤30)、所述工作服务器定期查询所述工作服务器的緩存数据变化, 将已经写入存储设备的緩存数据的位置信息通知备用服务器;步骤40)、当所述备用服务器接收到所述工作服务器的緩存数据已经 写入所述存储设备的信息后,所述备用服务器将本地存储中的相应数据删 除。
8、 权利要求7的高可用存储服务器系统的数据保护方法,进一步包括, 所述备用服务器对所述工作服务器实时监控,当发现所述工作服务器出现 故障时,所述备用服务器代替所述工作服务器工作,实现对所述客户机和 所述存储设备的访问;当所述备用服务器发现所述工作服务器恢复正常时, 将访问、控制权交还所述工作服务器。
9、 权利要求7的高可用存储服务器系统的数据保护方法,其中,步骤 30)中,所述緩存数据的位置信息包括緩存变化信息和用于记录访问控制 顺序的访问控制序号。
10、 权利要求9的高可用存储服务器系统的数据保护方法,其中,步 骤30)进一步包括当所述工作服务器通知所述备用服务器所述工作服务 器的緩存数据已经被写入所述存储设备,所述备用服务器将所述緩存数据 的在工作服务器上的緩存信息和本地存储的信息比较,查找本地存储的数据中位置与需要清理的工作服务器上的緩存数据位置相同的数据,比较找 到的本地存储的数据的访问控制序号和所述需要清理的緩存数据的访问控 制序号,如果所述需要清理的緩存数据的访问控制序号大于本地存储的数 据的访问控制序号,从本地存储中删除相应的数据。
全文摘要
本发明提出了一种高可用存储服务器系统及其数据保护方法,所述系统包括工作服务器、备用服务器和存储设备,所述系统通过在工作服务器端执行的数据访问、缓存监视和数据复制进程,在备用服务器端执行缓存接收、缓存清理进程,提高了存储空间的使用效率,提高了数据恢复效率,并且,通过数据复制实现缓存保护功能,避免了缓存数据的丢失。
文档编号G06F11/14GK101183325SQ20071017898
公开日2008年5月21日 申请日期2007年12月7日 优先权日2007年12月7日
发明者硕 冯, 汤海鹰, 源 袁, 马一力 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1