一种对元数据对象进行散列的方法及装置制造方法及图纸

技术编号:9642442 阅读:89 留言:0更新日期:2014-02-07 01:01
本发明专利技术实施例公开了一种对元数据对象进行散列的方法,包括:判断元数据对象是否为快照元数据对象;若所述元数据对象不是快照元数据对象,则将所述元数据对象的名称作为输入值计算所述元数据对象的散列值;若所述元数据对象为快照元数据对象,则将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值;根据所述元数据对象的散列值将所述元数据对象散列到相应的元数据服务器节点。本发明专利技术实施例还公开了一种对元数据对象进行散列的装置。采用本发明专利技术,具有可降低元数据对象被散列到不同元数据服务器节点的随机性,提高快照数据的访问效率,提高快照的访问性能和系统的整体性能的优点。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例公开了一种对元数据对象进行散列的方法,包括:判断元数据对象是否为快照元数据对象;若所述元数据对象不是快照元数据对象,则将所述元数据对象的名称作为输入值计算所述元数据对象的散列值;若所述元数据对象为快照元数据对象,则将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值;根据所述元数据对象的散列值将所述元数据对象散列到相应的元数据服务器节点。本专利技术实施例还公开了一种对元数据对象进行散列的装置。采用本专利技术,具有可降低元数据对象被散列到不同元数据服务器节点的随机性,提高快照数据的访问效率,提高快照的访问性能和系统的整体性能的优点。【专利说明】一种对元数据对象进行散列的方法及装置
本专利技术涉及通信
,尤其涉及一种对元数据对象进行散列的方法及装置。
技术介绍
快照是系统容灾备份的重要手段之一,快照主要用于实现数据的在线备份和恢复,可以在系统出现故障时快速地将数据恢复到指定时间点状态,并且可以允许用户访问被快照保护的元数据对象在任意时间点生成的元数据对象的快照版本数据(下称快照数据)。当前集群系统为了保证系统中各个元数据服务器的负载均衡,防止某一个目录节点过大或者访问热度过大,需要将目录元数据对象进行分裂将所有元数据对象散列到不同的节点。由于快照是基于目录的,故此,如果目录节点被分裂,元数据对象被快照保护时生成的快照元数据对象也会被散列到不同的元数据服务器节点上。现有技术中,元数据对象(包括普通的元数据对象和快照元数据对象)散列时主要是以同一个目录(例如节点过大的目录)下的各个元数据对象的名称(包括普通元数据对象的名称和快照元数据对象的名称)执行HASH计算,根据HASH计算的结果将所有元数据对象散列到不同的节点上。现有技术中由于同一个目录下的各个元数据对象的名称各不相同,故此各个元数据对象的HASH计算结果也多种多样,各个元数据对象散列到不同节点的随机性强。如图1,以图1中各个元数据对象(包括当前元数据服务器节点Dir下的两个普通元数据对象Filel和File2及其对应的快照元数据对象Filel@snapl、Filel@snap3,File2@snap K File2isnap3等,其中“Dir”中文可定义为“目录”,“File”中文可定义为“文件”,“snap”为“snapshot (快照)”的缩写,其中文可定义为“快照”,下文图2、图4中的“File”和“snap”也可为相同的中文意思,后续不再赘述)的名称进行HASH计算后可将各个元数据对象散列到不同节点,如图2,图2中Dirl和Dir2为两个不同的节点,由于图1中各个元数据对象的名称各不相同,各元数据对象的HASH结果也不尽相同,使得图1中的所有元数据对象被散列到Dirl或者Dir2节点上的随机性强。现有技术中同一个元数据对象的不同快照版本被散列到不同的节点的可能性高,快照数据的访问开销大、访问性能低,系统性能低。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种对元数据对象进行散列的方法及装置,可将元数据名称相同或者相同版本名称的元数据对象散列到相同的元数据服务器节点上,降低元数据对象被散列到不同元数据服务器节点的随机性,提高快照数据的访问效率,提高快照的访问性能和系统的整体性能。本专利技术实施例第一方面提供了一种对元数据对象进行散列的方法,包括:判断元数据对象是否为快照元数据对象;若所述元数据对象不是快照元数据对象,则将所述元数据对象的名称作为输入值计算所述元数据对象的散列值;若所述元数据对象为快照元数据对象,则将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值;根据所述元数据对象的散列值将所述元数据对象散列到相应的元数据服务器节点。结合第一方面,在第一种可能的实施方式中,所述快照元数据对象为元数据对象被快照保护时生成的元数据对象的快照版本;所述快照元数据对象的名称的组成包括:版本名称+分界符+版本号。结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述判断元数据对象是否为快照元数据对象,包括:判断所述元数据对象的名称中是否包含快照元数据对象的名称标识符;若判断结果为是,则判定所述元数据对象为快照元数据对象,若判断结果为否,则判定所述元数据对象不是快照元数据对象。结合第一方面至第一方面第二种可能的实现方式中任一种,在第三种可能的实现方式中,所述将所述元数据对象的名称作为输入值计算所述元数据对象的散列值,包括:将所述元数据对象的名称作为HASH计算的输入值,对所述元数据对象进行HASH计算,确定所述元数据对象的散列值。结合第一方面至第二方面第二种可能的实现方式中任一种,在第四种可能的实现方式中,所述将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值,包括:将所述元数据对象的名称中的版本名称作为HASH计算的输入值,对所述元数据对象进行HASH计算,确定所述元数据对象的散列值。本专利技术实施例第二方面提供了一种对元数据对象进行散列的装置,包括:判断模块,用于判断元数据对象是否为快照元数据对象;第一计算模块,用于在判断模块判断结果为否时,将所述元数据对象的名称作为输入值计算所述元数据对象的散列值;第二计算模块,用于在判断模块判断结果为是时,将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值;散列模块,用于根据所述元数据对象的散列值将所述元数据对象散列到相应的元数据服务器节点。结合第二方面,在第一种可能的实现方式中,所述快照元数据对象为元数据对象被快照保护时生成的元数据对象的快照版本;所述快照元数据对象的名称的组成包括:版本名称+分界符+版本号。结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述判断模块在判断元数据对象是否为快照元数据对象时,具体用于:判断所述元数据对象的名称中是否包含快照元数据对象的名称标识符,若判断结果为是,则判定所述元数据对象为快照元数据对象,若判断结果为否,则判定所述元数据对象不是快照元数据对象。结合第二方面至第二方面第二种可能的实现方式中任一种,在第三种可能的实现方式中,所述第一计算模块将所述元数据对象的名称作为输入值计算所述元数据对象的散列值时,具体用于:将所述元数据对象的名称作为HASH计算的输入值,对所述元数据对象进行HASH计算,确定所述元数据对象的散列值。结合第二方面至第二方面第二种可能的实现方式中任一种,在第四种可能的实现方式中,所述第二计算模块将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值时,具体用于:将所述元数据对象的名称中的版本名称作为HASH计算的输入值,对所述元数据对象进行HASH计算,确定所述元数据对象的散列值。本专利技术实施例可根据元数据对象的名称以及快照元数据对象的版本名称计算元数据对象的散列值,并根据计算得到的散列值将元数据对象散列至相应的元数据服务器节点。本专利技术实施例可将当前元数据对象和它的各个不同版本的快照元数据对象散列到同一个元数据服务器节点上,降低元数据对象被散列到不同元数据服务器节点的随机性,可提高快照数据的访问效率,减少了元数据服务器节点间因快照访问而增加的信息交互,提高快照的访问性能和系统的整体性能。【专利附图】【本文档来自技高网
...

【技术保护点】
一种对元数据对象进行散列的方法,其特征在于,包括:判断元数据对象是否为快照元数据对象;若所述元数据对象不是快照元数据对象,则将所述元数据对象的名称作为输入值计算所述元数据对象的散列值;若所述元数据对象为快照元数据对象,则将所述元数据对象的名称中的版本名称作为输入值计算所述元数据对象的散列值;根据所述元数据对象的散列值将所述元数据对象散列到相应的元数据服务器节点。

【技术特征摘要】

【专利技术属性】
技术研发人员:李永健高峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1