一种双控制器网络储存环境下的设备数据写入方法

文档序号:7669478阅读:206来源:国知局
专利名称:一种双控制器网络储存环境下的设备数据写入方法
技术领域
本发明是关于一种双控制器(Dual Controller)网络储存环境下的设备数 据写入方法,尤其是关于一种整合有虚拟数据路由器(Virtual Data Router,简 称VD Router)与镜像(Mirror)技术的功能的双控制器网络储存环境下的设 备数据写入方法。
背景技术
现今,广泛应用于双控制器(Dual Controller)环境下,用以对网络储存 设备进行数据储存及读写作业的多路径输入输出(Multi Path Input Output,简 称MPIO)技术是通过一条及一条以上的实体链路来访问网络储存设备,并且 可以使用容错、流量负载平衡以及细粒度的输入/输出(I/O)调度策略等方式, 为网络储存应用提供更高的可用性和性能优势。多路径输入输出技术要求对磁 盘访问路径存在映像备份,且可以通过任意路径对磁盘进行访问,这样当其中 一条路径上发生异常情况的时候,仍可以通过另外一条路径对储存设备进行访 问,以此保证服务和连接不会中断。
目前,在现有技术中,虚拟资料路由器(Virtual Data Router,简称VD Router)是实现多路径输入输出(MPIO)的路径备份技术的一个不可缺少的 重要组成部分,通过虚拟数据路由器(VD Router)所提供的一种双控制器(Dual Controller)网络储存环境下的多路径输入输出(MPIO)解决方法,能够实现 从不同的储存控制器(Storage Controller)上同时访问某一个控制器上的虚拟 磁盘设备。
而现有技术中的镜像(Mirror)技术,则提供了一种双控制器(Dual Controller)网络储存环境下的数据镜像保护方法,其通过在对本地设备进行数 据写入之时,在另一个控制器上保存一个完整的数据镜像(此数据镜像存在于 内部存储器当中),如此,当本地控制器出现异常时,可藉由另外一个控制器 上所备份的镜像数据将因异常事件而导致的部分受损数据补充完整,进而实现了双控制器环境下的单个控制器发生异常后的数据完整性保护。
上述虚拟数据路由器和镜像功能的实现都需要依赖于双控制器环境下的 内网数据传输,即都需要通过内网将数据从一个控制器传送到另一个控制器 上,并且都需要所传送的数据包携带有相关设备的部分信息,还都需要有结果 回传机制来保证数据传递的正确性。
然而,现有技术中的镜像技术截获数据位于设备写入调用后,即截取数据 处于设备读写接口以下,而虚拟数据路由器功能的实现位于设备写入调用前, 即虚拟数据路由器在写本地设备和写远程设备时,数据传输处于设备读写接口 之上进行。由于设备写入时传递的参数简单,故镜像技术无法识别数据是从本 地写入还是从虚拟数据路由器写入,所有写入数据都会通过镜像功能发送到镜 像数据的保存端(即另一个控制器)。如果此数据是通过虚拟数据路由器发送 的写请求,则会出现数据在虚拟数据路由器层从远程控制器发送到本地,当对 本地设备执行完数据读写作业之后,在镜像功能下又会将数据从本地发送回远 程控制器,这样便多发生了一次方向完全相反的内网数据传输,使得内网的实 际利用率只有百分之五十,另外的百分之五十实际上是在做无用功,因此,大 大降低了内网数据传输的效率。

发明内容
本发明所要解决的技术问题在于,提供一种双控制器网络储存环境下的设
备数据写入方法,是通过将虚拟数据路由器(VDRouter)与镜像(Mirror)技 术之功能进行整合,藉以实现在具有一个本地控制器与一个远程控制器的双控 制器网络储存环境下的内网数据高效传输以及对不同控制器上的磁盘设备进 行数据写入。
本发明所提供的一种双控制器网络储存环境下的设备数据写入方法,包含 以下步骤
实时监听并接收磁盘数据写入请求;当接收到磁盘数据写入请求后,判断 此数据写入请求所要访问的磁盘设备是位于本地控制器上还是位于远程控制 器上;如果所要访问的磁盘设备位于本地控制器上,则将待写入数据按照镜像 数据需要的格式封装成镜像请求后发送给远程控制器,然后将待写入数据写入 本地控制器的磁盘设备中,并于数据写入作业完成后将执行结果返回,而远程控制器则会将接收到的数据写入其高速缓存中;以及如果所要访问的磁盘设备 位于远程控制器上,则将待写入数据先写入本地控制器的高速缓存中,然后将 待写入数据封装成虚拟数据路由器请求后发送给远程控制器,以对磁盘设备执 行数据写入作业,并于数据写入作业完成后将执行结果返回。 综上所述,本发明之优点在于
本发明所提供的一种双控制器网络储存环境下的设备数据写入方法,是通 过将虚拟数据路由器与镜像技术的功能进行合理地整合,藉以实现在具有双控 制器的网络储存环境下的内网数据高效传输以及对不同控制器上的磁盘设备 进行数据写入。本发明的方法与现有技术相比主要包含如下优点第一,本发
明的方法通过将镜像和虚拟数据路由器的请求(Request)统一进行处理,可 以避免现有技术中双控制器网络储存环境下的内网数据二次传输的问题,因此 有效地降低了网络资源占用率,提高了内网数据传输效率及内网实际利用率。 第二,由于本发明的方法使用统一的程序接口进行数据封包与解析,因而可以 避免重复编码,提高了程序代码的利用率。第三,由于本发明的方法将现有技 术中的镜像(Mirror)备份与虚拟数据路由器伺服(VD Router-Server)进程整 合成为一个虚拟数据路由器及镜像请求自适应鉴定监督程序(VM Daemon) 进程,因此可以减少一次数据写入过程中的进程切换,提高了程序代码的执行 速度。


图1为本发明双控制器网络储存环境下的设备数据写入方法的流程图。
具体实施例方式
以下,将结合附图对本发明的较佳实施方式作详细说明。 现在请参考图1,此图为本发明双控制器网络储存环境下的设备数据写入 方法的流程图,如图所示,本发明所提供的一种双控制器网络储存环境下的设 备数据写入方法,是通过将虚拟数据路由器(Virtual Data Router,简称VD Router)与镜像(Mirror)技术的功能进行整合,藉以实现在具有一个本地控 制器与一个远程控制器的双控制器(Dual Controller)网络储存环境下的内网 数据高效传输以及对不同控制器上的磁盘设备进行数据写入,该方法包含以下实时监听并接收磁盘数据写入请求(步骤100);
当接收到磁盘数据写入请求后,判断此数据写入请求所要访问的磁盘设备
是位于本地控制器上还是位于远程控制器上(步骤200);
如果所要访问的磁盘设备位于本地控制器上,则可进一步判断是否需要对 待写入资料进行镜像处理(步骤300),如果需要对数据进行镜像处理,则将 待写入数据按照镜像数据需要的格式封装成镜像请求(Mirror Request)后发 送给远程控制器(步骤400),然后将待写入数据写入本地控制器的磁盘设备 中(步骤500),并于数据写入作业完成后将执行结果返回(步骤600),而 远程控制器在接收到上述镜像请求后,则会将接收到的数据写入其高速缓存 (Cache)中(附图中未示),如果不需要对资料进行镜像处理,则将待写入 资料写入本地控制器的磁盘设备中(步骤500),并于数据写入作业完成后将 执行结果返回(步骤600);以及
如果所要访问的磁盘设备位于远程控制器上,则可进一步判断是否需要对 待写入资料进行镜像处理(步骤700),如果需要对数据进行镜像处理,则将 待写入数据先写入本地控制器的高速缓存(Cache)中(步骤800),然后将 待写入数据封装成虚拟数据路由器请求(VD Router Request)后发送给远程控 制器(步骤900),藉以对远程控制器上的磁盘设备执行数据写入作业,并于 数据写入作业完成后将执行结果返回(步骤600),如果不需要对资料进行镜 像处理,则将待写入数据封装成虚拟数据路由器请求后发送给远程控制器(步 骤900),藉以对远程控制器上的磁盘设备执行数据写入作业,并于数据写入 作业完成后将执行结果返回(步骤600)。至此,本发明的一种双控制器网络 储存环境下的设备数据写入方法的数据处理进程顺利结束,从上述本发明方法 的整体步骤流程中可以看出,无论数据写入请求所要访问的磁盘设备是位于本 地控制器上还是位于远程控制器上,通过本发明方法中的虚拟数据路由器与镜 像技术的整合策略,均只需要一次内网数据传输即可完成用户的磁盘数据写入 请求。
此外,本发明之一种双控制器网络储存环境下的设备数据写入方法中,将
数据写入本地控制器或远程控制器的高速缓存中可进一步包含如下步骤
获取高速缓存的句柄(Handle)、数据写入位置及写入长度的信息;将数据封装为高速缓存所需要的数据格式及数据结构;以及调用高速缓存的数据写 入接口完成对高速缓存的数据写入。
此外,本发明的一种双控制器网络储存环境下的设备数据写入方法中,将 数据写入本地控制器或远程控制器的磁盘设备中可进一步包含如下步骤
获取磁盘设备的句柄(Handle)、数据写入位置及写入长度的信息;以及 调用磁盘设备的输入输出(IO)接口将数据写入磁盘设备中。
另外,上述本发明的一种双控制器网络储存环境下的设备数据写入方法 中,该镜像请求(Mirror Request)与该虚拟数据路由器请求(VD Router Request) 采用相同的格式,并用不同的标志符(Flag)加以区分,以便采取相应的作业 形式而不会产生额外的数据储存量。
最后,还需特别说明的是上述本发明的方法由于将现有技术中的镜像
(Mirror)备份与虚拟数据路由器伺服(VDRouter-Server)进程加以整合,因 此,在双控制器网络储存环境下的每个控制器上分别实现了一个虚拟数据路由 器及镜像请求自适应鉴定监督程序(VM Daemon)进程,此VM Daemon进程 会一直监听各自控制器的网络接口 (Socket)中是否有从另一个控制器上新发 送过来的请求(Request),而后根据接收到的请求所携带的请求类型信息, 判断数据是要写入磁盘设备还是要写入高速缓存(Cache),如果是要写入磁 盘设备(即接收到的请求为虚拟数据路由器请求),则获取该磁盘设备的句柄
(Handle)、数据写入位置及写入长度之信息,并调用磁盘设备的输入输出(10)
接口将数据写入磁盘设备中,然后将执行结果回送给该请求的发送方;如果是 要写入高速缓存(即接收到的请求为镜像请求),则获取该高速缓存的句柄 (Handle)、数据写入位置及写入长度的信息,并将数据封装为高速缓存所需 要的数据格式及数据结构,然后调用高速缓存的数据写入接口完成对高速缓存 的数据写入,然后将执行结果回送给该请求的发送方;如果VM Daemon进程 接收到的新请求,既不是虚拟数据路由器请求,也不是镜像请求,则会执行错 误处理,并将执行结果回送给该请求的发送方。
在数据写入进程中,此VM Daemon进程在接收到上层传递来的磁盘数据 写入请求后,会先判断磁盘设备是否处于本地控制器上,如果磁盘设备在本地 控制器上,则先调用磁盘设备之输入输出(IO)接口将数据写入本地控制器的 磁盘设备,然后将数据封装为镜像请求,发送给另一个控制器上的VM Daemon进程进行处理;如果磁盘设备不在本地控制器上而是在另一个控制器上,则先 将数据封装为高速缓存需要的格式,并将其写入高速缓存中,然后再将数据封
装为虚拟数据路由器请求,发送给另一个控制器上的VM Daemon进程进行处 理。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,在不 背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作 出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权 利要求的保护范围。
权利要求
1、一种双控制器网络储存环境下的设备数据写入方法,通过将虚拟数据路由器与镜像技术的功能进行整合,藉以实现在具有一本地控制器与一远程控制器的双控制器网络储存环境下的内网数据高效传输以及对不同控制器上的磁盘设备进行数据写入,其特征在于,该方法包含以下步骤实时监听并接收磁盘数据写入请求;当接收到一磁盘数据写入请求后,判断该数据写入请求所要访问的磁盘设备是位于该本地控制器上还是位于该远程控制器上;如果该磁盘设备位于该本地控制器上,则将待写入数据按照镜像数据需要的格式封装成一镜像请求后发送给该远程控制器,而后将该待写入数据写入该本地控制器的磁盘设备中,并于数据写入作业完成后将执行结果返回;以及如果该磁盘设备位于该远程控制器上,则将待写入数据先写入该本地控制器的高速缓存中,然后将该待写入数据封装成一虚拟数据路由器请求后发送给该远程控制器,以对该磁盘设备执行数据写入作业,并于数据写入作业完成后将执行结果返回。
2、 根据权利要求1所述的双控制器网络储存环境下的设备数据写入方法, 其特征在于,所述将待写入数据按照镜像数据需要的格式封装成一镜像请求后 发送给该远程控制器之后,进一步包含该远程控制器将接收到的数据写入该远 程控制器的高速缓存中的步骤。
3、 根据权利要求1或2所述的双控制器网络储存环境下的设备数据写入 方法,其特征在于,所述将数据写入本地控制器或远程控制器的高速缓存中进 一步包含如下步骤获取该高速缓存的句柄、数据写入位置及写入长度的信息; 将该数据封装为该高速缓存所需要的数据格式及数据结构;以及 调用该高速缓存的数据写入接口完成对该高速缓存的数据写入。
4、 根据权利要求1所述的双控制器网络储存环境下的设备数据写入方法, 其特征在于,所述将数据写入本地控制器或远程控制器的磁盘设备中进一步包 含如下步骤获取该磁盘设备的句柄、数据写入位置及写入长度之信息;以及调用该磁盘设备的输入输出接口将数据写入该磁盘设备中。
5、根据权利要求1所述的双控制器网络储存环境下的设备数据写入方法, 其特征在于,该镜像请求与该虚拟数据路由器请求采用相同的格式,并用不同的标志符(Flag)加以区分。
全文摘要
本发明公开了一种双控制器(Dual Controller)网络储存环境下的设备数据写入方法,是通过将虚拟数据路由器(Virtual Data Router,简称VD Router)与镜像(Mirror)技术的功能进行整合,藉以实现在具有双控制器的网络储存环境下的内网数据高效传输以及对不同控制器上的磁盘设备进行数据写入。本方法具有提高内网数据传输效率及内网实际利用率的优点。
文档编号H04L29/08GK101471955SQ200710306108
公开日2009年7月1日 申请日期2007年12月28日 优先权日2007年12月28日
发明者刘文涵, 张旭明, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1