存储局域网络的快取内存的管理方法
技术领域
本发明涉及一种数据存取方法,特别是涉及一种存储局域网络(StorageArea Network,简称SAN)的快取内存的管理方法。
背景技术
卷阴影复制服务(Volume Shadow Copy Service,简称VSS)能够让存储基础设备(比如磁盘、数组)创建高保真的时间点映像,就是映像拷贝(Shadow Copy)。它可以在多卷、或者单个卷上创建映像拷贝,同时不会影响到系统性能。VSS通过协调业务应用软件、备份程序,以及存储硬件,从而达到创建高保真映像拷贝的能力。
VSS的工作框架包含VSS核心模块110、请求者120(Requestor)、写入者130(Writer),以及提供者140(Provider)。其中,各个模块的具体功能如下,并请同时配合图1所示,其为现有VSS架构示意图:
请求者120(Requestor),其主要任务是初始化映像拷贝的创建;由于需要不一样,解决的问题各不相同,因此可能设计不同请求者120应用。例如,备份应用处理VSS的备份功能,管理应用处理映像拷贝的创建及使用,同时可以设计其它功能应用,来处理专门的业务。
写入者130(Writer),其主要任务是保证数据的一致性;因为,如果在创建映像拷贝的过程中,应用软件继续往磁盘写入数据,那么将会出现数据非一致性问题,从而影响该时间点映像的完整性。通过在应用写入者130模块进行控制处理,保证数据的一致性,同时也可以达到创建映像拷贝的高效性。通常,写入者130可以是Windows OS里面的各种服务模块,像COM+、DHCP服务、Active Directory服务等。
提供者140(Provider),其主要任务是创建映像拷贝。提供者140是创建时间点影响的接口,它可以是基于存储数组(硬件模式),或者操作系统(软件模式)。VSS有不同的提供者140,其层次关系为:最底层是硬件提供者140,中间是软件提供者140,最上面是系统软件提供者140。其中前面两个提供者140,是为第三方硬件或者软件厂商提供的。
卷映像拷贝服务核心模块,其主要任务是协调各个模块的协作运行,并提供创建卷映像拷贝的方法;VSS提供了两种创建映像拷贝的方法:一种是完全拷贝(Clone/Full Copy/Split Mirror),它会创建当前原始数据(Original Data)的全部拷贝;而另外一种就是写时才拷贝(Copy on Write/Differential Copy),它只创建将要被更新的原始数据的拷贝。因此写拷贝创建映像拷贝速度快,但是恢复数据时需要使用原始数据。
根据VSS的备份机制,更可以将应用于存储局域网络中,藉以提高存储局域网络的可靠性。而建立阴影卷(shadow volume)必须保证存储局域网络与VSS的数据的一致性。为了保证数据的一致性,存储局域网络会将写入者130的数据暂停写入。在数据同步完成后才进行快照的建立。这种作法使得VSS对存储局域网络的写入过程并不是复制即写入(copy-write),因而降低VSS的存取效率。
发明内容
本发明所要解决的技术问题在于提供一种存储局域网络的快取内存的管理方法,用于在存储局域网络中实现阴影复制服务的快取(cache)数据的存取控制。
为了实现上述目的,本发明提供了一种存储局域网络的快取内存的管理方法包括以下步骤:查询块设备(block device)的数据写入速率;由存储局域网络传送数据至阴影复制服务器的高速缓存,并取得高速缓存的快取写入速率;根据数据写入速率调整数据写入快取写入速率;检测高速缓存的容量,判断高速缓存中的数据是否均已被写入至块设备;当高速缓存中的数据已经写入块设备时,则完成对快取数据的卷阴影复制服务。
本发明提供一种存储局域网络的快取内存的管理方法,其避免存储局域网络会将写入者的数据暂停写所造成复制即写入的停滞。换句话说,本发明的资料存取方法可以保持写入者的输入/输出(Input/Output)不间断,保证存储局域网络的存取效能。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有VSS架构示意图;
图2为本发明的运作流程示意图;
图3为本发明中各组件的运作顺序示意图。
其中,附图标记:
110 VSS核心模块
120 请求者
130 写入者
140 提供者
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。
请参考图2所示,其为本发明的运作流程示意图。本发明包括以下步骤:
首先,停止高速缓存的写回式策略(步骤S210)。查询块设备的数据写入速率(步骤S220)。由存储局域网络传送数据至阴影复制服务器的高速缓存,并取得高速缓存的快取写入速率(步骤S230)。根据数据写入速率调整数据写入快取写入速率(步骤S240)。在本发明中将数据写入速率设定成大于快取写入速率。
接着,实时的检测高速缓存的容量,判断高速缓存中的数据是否均已被写入至块设备(步骤S250)。当高速缓存中的数据已经写入块设备时,则完成对快取数据的阴影复制服务(步骤S260)。反之,则重复步骤S240至步骤S250。
随后,判断是否创建完成所有快照卷(步骤S270)。若未创建完成快照卷,则刷新卷阴影复制服务器的快内存(步骤S271)。并且持续重复上述快照数据的写入步骤,直至创建完成快照卷为止。最后,将高速缓存的存取策略变更为写回式策略(步骤S280)。
为清楚说明本发明的各组件的运作过程,还请配合图3所示,其为本发明中各组件的运作顺序示意图。在图3中的纵轴由上至下为时间轴;在图3中的横轴由左至右分别为请求者、VSS核心模块、写入者,以及提供者。在现有技术中,建立快照卷的动作是在写入冻结(write freeze)回合中的建立快照卷动作(commitsnapshots)中。若要保证在写入冻结回合结束前将所有数据写入装置后才能开始建立快照卷,则需要对高速缓存的数据进行同步。在存储局域网络中的高速缓存的同步时间相对于VSS的写入时间来的较长。所以存储局域网络无法在建立快照卷动作时间中完成高速缓存的同步。因此,将存储局域网络的高速缓存的同步改在预备回合(prepare)中完成,则因为写入者对数据的写入指令会受到延误。
本发明对高速缓存的存取流程提出上述改善方式。本发明利用VSS将高速缓存中的数据写入块设备中,于此同时根据高速缓存写入块设备的数据写入速率调整存储局域网络写入高速缓存的写入速度。这样一来,高速缓存可以保证高速缓存中的储存数据量会随着时间降低。换句话说,当高速缓存中的数据被读取完时,则代表高速缓存的数据已经完全的写入块设备中。
本发明提供一种存储局域网络的快取内存的管理方法,其避免存储局域网络会将写入者的数据暂停写所造成复制即写入的停滞。换句话说,本发明的资料存取方法可以保持写入者的输入/输出(Input/Output)不间断,保证存储局域网络的存取效能。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。