一种管理存储系统的元数据的方法以及元数据服务器的制造方法

文档序号:9870390阅读:336来源:国知局
一种管理存储系统的元数据的方法以及元数据服务器的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,特别是涉及一种管理存储系统的元数据的方法以及元数据服务器。
【背景技术】
[0002]存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备和处理算法所组成的系统。随着存储数据越来越多,存储系统的存储空间也越来越大。
[0003]为了方便对存储数据的管理,现有技术中的存储系统将存储数据的元数据集中在一个节点上进行管理,该节点采用的是主系统和备系统两两套系统,平常主要由主系统工作,备系统定期进行备份,在主系统出现异常时,备系统接替主系统进行工作。
[0004]所有客户端对存储系统的访问都要先经过主系统,随着存储系统的容量不断增大,连接的客户端数量越来越多,主系统的性能会成整个存储系统的瓶颈,容易出现拥堵,影响整个存储系统的读写速度。

【发明内容】

[0005]本发明主要解决的技术问题是提供一种管理存储系统的元数据的方法以及元数据服务器,能够实现元数据服务器的负载均衡,提高元数据的处理速度。
[0006]本发明的有益效果是:区别于现有技术的情况,本发明在接收模块接收到元数据写入请求或者元数据读取请求时,判断模块先判断元数据服务器的自身的负载是否大于阈值,若大于,则向与其相连接的元数据服务器转发元数据读取请求和元数据写入请求,由与相连接的元数据服务器进行处理,若小于,则直接由元数据服务器进行处理,有利于实现元数据服务器的负载均衡,减少元数据服务器出现负载过载的机率,提高元数据的处理速度。
【附图说明】
[0007]图1是本发明存储系统实施方式的示意图;
[0008]图2是本发明元数据服务器第一实施方式的示意图;
[0009]图3是本发明元数据服务器第二实施方式的示意图;
[0010]图4是本发明管理存储系统的元数据的方法第一实施方式的流程图;
[0011]图5是本发明管理存储系统的元数据的方法第二实施方式的流程图;
[0012]图6是本发明管理存储系统的元数据的方法第一实施方式中更新元数据服务器上所存储的冲突元数据的流程图。
【具体实施方式】
[0013]下面结合附图和实施方式对本发明进行详细说明。
[0014]为了方便读取更好地理解本发明,以下先对存储系统的结构进行简要说明,请参阅图1,存储系统10包括若干个元数据服务器11和若干个存储服务器12,若干个元数据服务器11互连,并且每一元数据服力器均分别与若干个存储服务器12连接,存储服务器12用于存储元数据,元数据服务器11设置有本地的存储单元,元数据服务器11可将存储服务器12上存储的元数据存储到本地的存储单元。
[0015]在客户端需要读取数据时,客户端向元数据服务器11发送元数据读取请求,元数据读取请求携带待读元数据的标识。元数据服务器11先在本地的存储单元查找是否存在待读元数据的标识对应的元数据,即为:客户端所需要的元数据,若存在,则直接向客户端返回,若没有,则到存储服务器12中查找待读元数据的标识对应的元数据,若找到,则向客户端返回。当然,元数据服务器11也可以将在存储服务器12上找到待读元数据的标识对应的元数据存储至本地服务器,使客户端再次请求相同的元数据,元数据服务器11可直接向客户端返回,提高效率。
[0016]在客户端需要写入元数据时,客户端向元数据服务器11发送元数据写入请求,元数据写入请求携带有待写元数据以及待写元数据的标识,元数据服务器11在存储服务器12查找是否存在冲突元数据,冲突元数据是指标识与待写元数据的标识相同的元数据。若存在,将待写元数据替代冲突元数据,若不存在,则直接将待写元数据和待写元数据的标识写入存储服务器12。在将待写元数据和待写元数据的标识写入存储服务器12后,在存储服务器12存储待写元数据的标识与待写元数据的对应关系。为了保证元数据服务器11与存储服务器12的元数据的一致性,元数据服务器11还在本地的存储单元查找是否存在冲突元数据,若存在,则将待写元数据替代本地的存储单元所存储的冲突元数据。元数据服务器11还向与其相连接的元数据服务器11广播同步通知,其中,同步通知携带待写元数据和待写元数据的标识,以使与其相连接的元数据服务器11将本地的存储单元中所存储的冲突元数据替换为待写入元数据。
[0017]值得说明的是:由于每一个客户端均连接若干个元数据服务器11,客户端可随机向其中一个元数据服务器11发送元数据读取请求和元数据写入请求,当然,客户端也可以获取每一个元数据服务器11的负载值,根据负载均衡的原则选择元数据服务器11,向所选择的元数据服务器11发送元数据读取请求和元数据写入请求。
[0018]为了避免出现单个元数据服务器11的负载过高,影响元数据的读写,元数据服务器11在读写元数据时,均检测自身的负载值,在自身的负载值超过阈值时,将元数据读取请求或元数据写入请求转发给其它的元数据服务器11进行处理,实现元数据服务器11的负载均衡。当然,元数据服务器11可定期广播负载请求消息,其它元数据服务器11接收到负载请求消息时返回其自身的负载值,元数据服务器11根据返回的负载值,维护负载列表,元数据服务器11在转发元数据写入请求或元数据读取请求时,可以根据负载列表选择负载值较低的元数据服务器11进行转发。另外,每一元数据服务器11均可以维护一个与其相连的元数据服务器11的在线列表,元数据服务器11之间通过心跳检查对方是否在线,若对方不在线,则需要将该元数据服务器11从在线列表中删除。当然,当有新元数据服务器11接入时,新元数据服务器11向所有的元数据服务器11广播服务器接入消息,其它元数据服务器11接收到服务器接入消息时,与新元数据服务器11连接心跳连接,并将新元数据服务器11加入在线列表。
[0019]以下对元数据服务器进行说明。请参阅图2,元数据服务器20包括接收模块201、获取模块202、判断模块203、第一查找模块204、第一返回模块205、第二查找模块206和第二返回模块207。
[0020]接收模块201,用于接收元数据读取请求,其中,元数据读取请求是由客户端发出的或者由与其相连的元数据服务器20所转发的,元数据读取请求携带待读元数据的标识。获取模块202,用于获取自身的负载值。负载值可以根据元数据服务器20的各资源的使用率,例如:CPU、内存和带宽等,结合预设计算模型计算得到的。判断模块203,用于判断所述负载值是否超过阈值。第一查找模块204,用于在判断模块203判断到负载值沿有超过阈值时,在本地的存储单元中查找是否存在待读取元数据的标识对应的元数据。第一返回模块205,用于在第一查找模块204找到待读元数据的标识对应的元数据时,向客户端返回所找到的元数据。第二查找模块206,用于第一查找模块204没有找到待读元数据的标识对应的元数据时,在存储服务器中查找是否存在待读元数据的标识对应的元数据。第二返回模块207,用于在第二查找模块206找到待读元数据的标识对应的元数据时,向客户端返回所找到的元数据。
[0021 ]元数据服务器20还包括转发模块208、第三返回模块209和存储模块211。
[0022]转发模块208,用于在判断模块203判断到负载值超过阈值时,向与其连接的元数据服务器20转发元数据读取请求。在元数据服务器20的负载过高时,将元数据读取请求转发给其它元数据服务器20进行处理,有利于实现元数据服务器20的负载均衡,避免单点元数据服务器20的负载过载,影响元数据的读写效率。
[0023]第三返回模块209,用于在第二查找模块206在所述存储服务器中没找到待读元数据的标识对应的元数据时,向客户端发送读取失败的消息。读取失败的消息用于通知客户端存储系统不存客户端所请求的元数据。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1