[发明专利]一种对实体储存设备进行数据读写的系统及方法有效
申请号: | 200710163158.0 | 申请日: | 2007-10-10 |
公开(公告)号: | CN101408834A | 公开(公告)日: | 2009-04-15 |
发明(设计)人: | 庄钦平;杜萱;陈玄同;刘文涵 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/08 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁 挥;张燕华 |
地址: | 台湾省*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实体 储存 设备 进行 数据 读写 系统 方法 | ||
技术领域
本发明涉及一种对实体储存设备进行数据读写的系统及方法,尤其涉及一种由在共享储存环境下的多个控制器对实体储存设备直接进行数据读、写操作的系统及方法。
背景技术
目前,为了提高系统的可用性和并行处理能力,通常采用多个控制器共享实际的实体储存设备的方式,客户端通过控制器对实体储存设备进行数据读写的过程通常有两种实现方式:
其一,如图1所示,对于实体储存设备60,在任一时刻有且只有一个控制器可以对实体储存设备60进行数据读写操作,例如:控制器20通过逻辑储存设备40来对实体储存设备60进行读写操作时,对实体储存设备60而言,最终的数据读写总是通过控制器20来进行,有些系统中在客户端10看来可以通过控制器30对另一控制器20的实体储存设备60进行数据读写操作,其实现的机制是控制器30与控制器20之间由内网连接,当通过控制器30读写控制器20上的实体储存设备60时,所有的数据传输110在内网中进行,而最终的实际读写操作还是在逻辑储存设备40所属的控制器20上完成。
其二,如图2所示,采用的是一种类似于负载均衡集群的架构,控制器20与控制器30分别具有一相应的逻辑储存设备40及逻辑储存设备50,当客户端10欲对实体储存设备60进行数据读写操作时需要由控制器20与控制器30前端的一个均衡器70来决定通过哪一个控制器来执行数据传输110及读写操作,但在任一指定时刻只能通过一个控制器上的逻辑储存设备对实体储存设备60进行数据的读写操作。
上述现有技术的两种做法虽然可行,但仍然存有一定的缺陷,对于第一种方式而言,实现这一功能的代价是当数据流量较大时内网上将可能会有巨大的压力,如果系统的维护对内网依赖性很大(例如控制器20与控制器30之间通过内网传输心跳信号决定对方的状态),将可能导致出现读写操作异常;对于第二种方式,很显然,需要一个专门负责均衡负载及调度控制器工作的前端均衡器70,这在硬件和软件上都带来额外的开销。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种对实体储存设备进行数据读写的系统及方法,由在共享储存环境下的多个控制器以实现客户端从远程对实体储存设备直接进行数据读、写操作。
本发明所提供的一种对实体储存设备进行数据读写的系统,包含:数个控制器及一实体储存设备,其中:各控制器,分别具有一个逻辑储存设备,各控制器之间通过内网连接(Interlink)进行管理数据及待写入实体储存设备的数据的快取数据(Cache Data)的传输,并且各控制器通过外部网络与一客户端相连,客户端在一指定时刻可从远程通过上述各控制器中一指定的控制器对实体储存设备进行数据读取或写入操作;以及实体储存设备,与各控制器的逻辑储存设备相连接,并通过逻辑储存设备从上述实体储存设备中读取数据或向实体储存设备中写入数据。
其中上述管理数据包含:执行读、写操作的指定控制器向其它控制器发出的读、写操作类型信息,和所要读、写的数据块信息,以及其它控制器向其指定控制器所反馈的其它控制器中是否存在所要读取的数据块的快取数据的信息。
其中当其它控制器或指定控制器中存在指定控制器所要读取的数据块的快取数据时,则指定控制器读取其它控制器或指定控制器中的数据块的快取数据及实体储存设备中已存在的数据块的数据,并传送给客户端;当其它控制器或指定控制器中存在指定控制器所要写入的数据块的快取数据时,则清除其它控制器或指定控制器中的数据块的快取数据,并由指定控制器向上述实体储存设备中写入上述数据块的新数据。
本发明所提供的一种对实体储存设备进行数据读写的方法,包含以下步骤:
客户端于一指定时刻从数个控制器中指定一个控制器作为执行数据读、写操作的控制器;指定控制器在执行数据读、写操作前,向其它控制器发送包含读、写操作类型信息与所要读、写的数据块信息的管理数据;其它控制器接收到上述管理数据后,如果其它控制器中存在所要读取的数据块的快取数据,则向指定控制器反馈其它控制器中存在所要读取的数据块的快取数据的信息;当其它控制器或指定控制器中存在指定控制器所要读取的数据块的快取数据时,则指定控制器读取其它控制器或指定控制器中的数据块的快取数据及实体储存设备中已存在的数据块的数据,并传送给客户端;以及当上述其它控制器或指定控制器中存在指定控制器所要写入的数据块的快取数据时,则清除其它控制器或指定控制器中的数据块的快取数据,并由指定控制器向上述实体储存设备中写入上述数据块的新数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710163158.0/2.html,转载请声明来源钻瓜专利网。