专利名称::一种用于数据网格的全分布式副本定位方法
技术领域:
:本发明涉及一种网络技术,特别是涉及一种用于数据网格的全分布式副本定位方法。
背景技术:
:整合广域网上分布、异构、海量的存贮资源,根据用户需求,提供足够的虚拟化存贮空间,安全可靠的存贮机制,高效稳定的传输机制是数据网格的重要功能。为实现以上功能,副本技术必不可少。副本即文件源数据在本域中或远域产生的一个文件拷贝,拷贝文件数据可以为源文件的部分和全部。文件拷贝通常称之为数据副本。数据副本存储方式也有多种,源文件数据可以完整地集中存储在单一存储节点上,也可以分成多个数据段(即分片)的方式存储在多个存储节点上。数据副本通过将本域文件在远域产生一个或多个副本,使远域用户在需要访问本域文件时只需读写远域中的副本数据,减少了用户的数据访问延迟,降低了网络间的带宽消耗。另一方面,通过在域内创建同一数据的多个副本,增加了用户的可用访问数据点,保障了数据的可用性和可靠性。副本定位指给出一个文件的逻辑文件名,找到这个文件对应的一个或多个副本的物理地址的过程。逻辑文件名指在本域唯一标识一个文件的字符串,这个字符串在本域内唯一。物理地址指本域内某个逻辑文件名对应的文件的数据副本的具体存储节点的位置。由于网格环境下数据量庞大,往往达到千亿、万亿级,对于数据的副本信息也呈海量增长趋势,使用单一的副本搜索服务器已经无法满足副本信息的存贮量和对于有副本定位需求用户的响应时间的控制。因此将副本信息分布在不同的存贮节点上,在不同的节点间实现分布式副本定位成为解决这一问题的途径。目前已有几种网格环境下副本定位的机制,这些机制在其特定应用或模拟测试中都体现出可观的优越性,但是它们仍有可改进之处。副本定位服务是个典型的分布式副本定位机制。这个机制由本地副本目录和副本定位索引组成层次结构。在很多网格应用中都有副本定位索引的使用,取得了很好的效果,但是副本定位索引是一个静态配置的机制,即当其中某一个节点出现问题,整个机制没有办法做出动态调整。点对点副本定位服务点对点副本定位索引,在某种程度上提出了解决这一问题的方案。但存在性能和安全上的问题。总之,现有数据网格中副本定位模型的两大问题(1)多个应用域内及应用域间的副本定位效率低(2)副本定位模型的不能自适应动态调整。
发明内容本发明的目的在于提供一种用于数据网格的全分布式副本定位方法,该方法在多个应用域内及应用域间的副本定位效率高,安全性好,并且可以对副本定位模型的进行自适应动态调整。本发明提供的用于数据网格的全分布式副本定位方法,首先判断用户命令是创建副本、查找副本还是删除副本,再分别按照下述步骤(1)、(2)或(3)进行对应的操作,当完成一次操作后接受用户命令判断是否结束,若需要继续操作,则返回接受用户命令,否则结束整个流程;(1)创建副本通过副本目录管理器注册物理映射,并将副本目录管理器注册到本地副本管理器索引中;(2)查找副本接收用户的副本定位请求,査询映射表,返回逻辑文件名对应得物理地址集;(3)删除副本副本通过查找对应的本地副本目录管理器索引和副本目录管理器,完成在路由表上的副本撤销。本发明方法所采用的副本定位模型由分布在不同域中的副本服务节点副本服务对(即存储节点)组成,服务节点构成了一个多重环。副本服务系统具备多应用域及应用域内的副本定位功能,并提出了解决效率和安全问题的解决方案。同时,基于边界联系算法,副本服务系统能在副本服务对动态改变(加入或离开)时,动态调整自己的拓扑结构,保证副本定位服务的稳定性。具体而言,本发明具有以下技术效果。1.自适应性副本服务系统能在动态改变(加入或离开)时,能够动态调整自己的拓扑结构,从而保证副本定位服务的稳定性。2.支持多应用域数据网格的副本定位请求数据网格的每个应用域都能够给出若干服务器作为副本服务对,不同的应用域的副本服务对合作构成全分布式的副本定位的系统。副本服务对既可以为自己所属的应用域服务,也可以为其它应用域的有副本定位要求的数据网格用户服务。3.可扩展性该分布式副本定位方法具备扩展特性,即可以通过增加副本服务对的数量提高副本定位算法的定位能力,如服务用户的数量。4.高效率性该分布式副本定位算法采取分布式联合査询的机制,使副本定位的性能更高。图1为本发明的功能总流程图;图2为本发明的体系结构示意图;图3为本发明中副本服务节点副本服务对的功能模块示意图;图4为本发明的副本信息创建工作流程示意图;图5为本发明中本地副本目录管理器与本地副本管理器索引的层次关系示意图;图6为发明的副本定位信息删除工作流程示意图;图7为本发明的副本定位工作流程示意图;图8为副本映射的分类示意图;图9为位数据文件副本的执行过程示例图。具体实施方式下面结合附图和实例对本发明作进一步详细的说明。如图1所示,本发明方法首先接受一个用户命令,判断用户命令是创建副本、查找副本还是删除副本,再分别进行对应的操作,当完成一次操作后接受用户命令判断是否结束,若需要继续操作,则返回接受用户命令,否则结束整个流程。分布式副本定位模型副本服务系统的体系结构。整个副本服务系统由若干个副本服务对(即存储节点)构成,这些副本服务对属于不同的逻辑域。为同一应用服务的资源的集合定义为一个逻辑域。以该图2为例,一共有三个逻辑域,每个逻辑域里有三个副本服务对,这9个副本服务对组成一个二重环的拓扑结构,这个拓扑结构的组成和维护是基于边界链接算法。二重环的第一重环处于逻辑域内,以逻辑域A为例,三个副本服务对互联,构成了一个环。第二重环介于逻辑域之间,在图中,每个逻辑域中都有两个副本服务对与领域的两个副本服务对相连。所有的副本定位过程都是在这个二重环中完成的,即多个副本服务对的联合查询过程。其中,副本服务节点副本服务对由三大功能模块构成(如图3):本地副本目录管理器,本地副本管理器索引,路由表。如图5所示,副本定位信息的创建流程为1.1获取待创建副本的逻辑文件名;表1给出了一个本地副本目录信息条目中各个属性定义的例子,如表所示,表中有6个关键属性逻辑文件名、逻辑域名、物理存储地址、创建时间、文件大小和最近访问时间。它们的定义如下表l副本存储信息条目逻辑文件名逻辑域名物理存储地址创建时间文件大小最近访问时间Testtxtimageprocess.edu.cngridftp:〃211.69.193.1:2811〃CGSP2/data/repl2006-03-201024字节2006-03-25Test.txtImageprocess.edu.cnhttD:〃211.69.193.16:8080/2006-03-231024字节2006-03-26/CGSP2/data/rep2other.txtftp:〃162.105.193:22048字节courseonline.ed2006-03-212006-03-25u.cn811〃CGSP2/data/repl逻辑文件名是数据网格中某一数据文件在该文件所属的逻辑域中的唯一标识符。逻辑文件名在其所属的逻辑域内唯一,而不同逻辑域之间的逻辑文件名可能相同。逻辑域名是逻辑域的唯一标识符,逻辑域与逻辑域间的逻辑域名不同。逻辑文件名在数据网格环境中是全局唯一的,而如上所述逻辑文件名在某一逻辑域中是唯一的,所以逻辑域名+逻辑文件名是对该逻辑文件名所对应的数据文件的全局标识符。物理存储地址是指某个副本所存储的物理位置,这个物理位置与四个属性相关:传输协议、IP地址、端口和文件目录信息。1.2根据副本的逻辑文件名和物理位置创建该副本的物理映射;物理映射是副本对应数据文件的逻辑文件名与其实际存储的物理地址之间的对应关系。1.3存入该副本的数据文件所属的逻辑域内的一个本地副本目录管理器;本地副本目录管理器维护存在本逻辑域内数据文件的逻辑文件名到这个逻辑文件名对应的副本的物理存储地址的映射。它的主要功能包括在注册副本时,建立本地副本的逻辑文件名到物理存储地址的映射表项;在撤销副本时,删除对应的映射表项;接收用户的副本定位请求,查询映射表,返回逻辑文件名对应得物理地址集。1.4判断这个数据文件是否是域敏感的,若是域敏感的,则获取其逻辑域名,然后根据其逻辑域名创建一个本地副本映射;若不是域敏感的,则创建一个全局副本映射,不同之处在于用全局域名和副本逻辑文件名来创建全局副本映射。域敏感是指该副本中的逻辑文件名可能和其他域的副本中的逻辑文件名相同,即该逻辑文件名在全局逻辑域中不是唯一的,反之则是非域敏感的。如表一中的即将创建的副本逻辑文件名为Test.txt,逻辑域名为imageprocess.edu.cn,贝ll可以将Test.txt-imageprocess.edu.cn作为本地畐ij本映射。1.5利用边界连接算法确定这个索引映射被存到哪个本地副本管理器索引;边界连接的路由表分两类,域内路由表和域间路由表。域内路由表存储在所有的节点中,包含该节点所属的域内的邻居节点信息、前序节点信息、域内边界节点信息(执行时动态添加)。域间路由表存在于边界节点中,包含该边界节点在域间环内的邻居节点信息和在该域间环中的前序节点信息。表2给出了域内路由表的详细描述信息,"RT—intra[k]"代表域内路由表的第k条记录,根据上文描述,边界连接的路由表最多有m个邻居节点的信息,其中m表示数字标识符的位数,所以lSk^m。"RT—intm[k].x"表示域内路由表的第k条记录的x属性。"RTjntra.Predecesso"、"RT.Boundary—Max,,和"RT.Boundary—Min"是域内路由表的额外属性,分别表示该节点的前序节点信息,其边界最大点和边界最小点信息。表2域内路由表表<table>tableseeoriginaldocumentpage9</column></row><table>域内路由表邻居节点由RTjntra[k]表示,如表2所示,路由表存储了与邻居节点相关的三类属性:"start","interval"和"node",它们的意义如下start是一个正整数,表示与该节点的数字标识符相距2k-l的数字标识符,即start=(n+2k-l)mod2m,由于边界连接中的节点数字标识符是根据哈希算法生成的,所以start所代表的数字标识符不一定为某一个节点所拥有,在边界连接算法中,取与start最近的后续节点为相邻节点。interval表示该相邻节点和路由表的下一个相邻节点的start值之间的距离,这个值从某种程度上表示了两个相邻节点间的距离,通过这个值,边界连接算法可以判断哪个相邻节点是距离所需要査询的数字标识符最近的节点,从而判断是否需要查找下一个相邻点。node表示与该节点距离2k-l到距离2k之间的邻居节点,即这个节点就是start对应的最近的后续节点,用successor(RT[k].start)表示。在这里,node的值是可以访问该相邻节点的信息,如IP。在上述的路由表信息中给出的都是某一个节点对应的前序相邻节点,在进行拓扑更新的时候,仅仅知道前序相邻节点是不够的,故在路由表中添加了额外属性"RT—intra.Predecessor",表示与边界连接拓扑中与离该节点最近的后续节点的信息。RT.Boundary—Max和RT.Boundary—Min是路由表中的另外两个额外属性,表示该节点所属的域内的边界极大点和边界极小点的信息,这些信息是在一个节点加入拓扑并参与跨域访问后动态生成的。除了域内路由表外,还有一个域间路由表,域间路由表与域内路由表的不同在于,域间路由表里没有边界点信息。表3给出了域间路由表的属性。表3域间路由表表项定义RT一inter[k].start(n+2k-1)mod2m,l^kSmRT—inter[k].interval[RT—inter[k]start,RT—inter[k+1].start]RT_inter[k].nodesuccessor(RT—inter[k].start)RT—inter,predecessor该节点在域间环的前序邻居本地副本管理器索引维护处于联合路由查询表中数据文件的逻辑文件名到该逻辑文件名对应的本地副本管理器,即副本服务对的地址。该功能模块建立的目的在于,当副本数据成千万级,亿万级增长时,单个本地副本管理器将无法满足存储能力和服务能力的需求,所以需要通过本地副本管理器索引对用户请求进行一次过滤,将用户的査询分配到不同的本地副本管理器上。本地副本管理器索引的主要功能效果在创建副本时,建立本地副本的逻辑文件名到本地副本管理器的映射表项;在撤销副本时,删除对应的映射表项;接收用户的副本定位请求,査询映射表,返回逻辑文件名对应的副本管理器地址。图5给出了分布式副本定位模型副本服务系统中副本索引与本地副本目录之间的层次关系以及在整个模型中的情况。本图从两个方面阐述了分布式副本定位模型的层次结构,图的上半部分描述的是副本定位模型副本服务系统的成员副本服务对在逻辑上的层次结构关系,而下半部分是实际的副本服务对的拓扑结构,两部分通过箭头相关。副本定位模型是一种逻辑上的层次结构,即本地副本管理器索引处于上层,是暴露给用户的,本地副本管理器索引之间具备同级的通信关系,通过边界连接算法可以相互认知,达到联合查询的目的。本地副本管理器被本地副本管理器索引,处于本地副本管理器索引的下层。在进行副本定位的时候首先査询本地副本管理器索引,获取所需要的数据文件的逻辑文件名对应的本地副本管理器的地址,然后査询本地副本管理器获取该逻辑文件名对应的副本的物理地址。这是在实际执行中的层次关系。1.6将索引映射存储到该本地副本管理器索引中;1.7完成副本定位信息的创建过程。为了保证安全机制,管理员拥有删除所有副本的权限,副本创造者只可删除自身副本。如图6所示,副本定位信息的删除流程为2.1首先获取要删除的副本的数据文件的逻辑文件名;2.2判断若该副本是否域敏感,若该副本是域敏感的,则获取该副本的逻辑域名,并组合逻辑域名和逻辑文件名,利用边界连接算法确定该副本的索引映射所在的本地副本管理器索引;若该副本不是域敏感的,则获取全局逻辑域名,并组合全局逻辑域名和逻辑文件名,利用边界连接算法确定该副本的索引映射所在的本地副本管理器索引。2.3通过查询本地副本管理索引确定该副本的物理映射所在的本地副本管理器;2.4调用副本管理器功能删除该物理映射;2.5从本地副本索引删除索引映射;2.6结束副本定位信息的删除过程。如图7所示,副本定位的具体流程如下3.1获得待定位的副本对应的数据文件的逻辑文件名;3.2判断这个副本是否是域敏感的,若该副本是域敏感的,则获取逻辑域名和逻辑文件名一起输入边界连接算法中;若这个副本不是域敏感的,则获取一个全局共享逻辑域名,与数据文件的逻辑文件名一起组合输入到边界连接算法。如上述表一中的逻辑文件名为Test.txt,逻辑域名为imageprocess.edu.cn,则可以将imageprocess.edu.cnVTest.txt作为输入。又如某一副本所在的全局共享域名为hust.edu.cn,该副本的非域敏感逻辑文件名为逻辑文件名为cs.edu.cn,贝ij可以4每hust.edu.cn\cs.edu.cn作为输入。3.3利用边界连接算法,确定副本对应的本地副本管理器索引;3.4根据本地副本管理器索引查本地副本目录管理器;副本定位的实质是找到副本映射。副本映射的定义是副本对应的数据文件的逻辑文件名与其对应的副本定位信息之间的对应关系。如图8所示,在副本服务系统副本定位模型中,副本映射分两类物理映射和索引映射。物理映射是副本对应数据文件的逻辑文件名与其实际存储的物理地址之间的对应关系。索引映射指副本对应数据文件的逻辑文件名与存储该副本的物理映射的本地副本管理器的物理地址的对应关系。根据上文所述的副本定位模型的层次结构,副本定位的过程首先是根据副本对应数据文件的逻辑文件名找到其索引映射,然后根据索引映射中的本地副本管理器的地址向本地副本管理器发送请求査询物理映射,最后根据物理映射中的副本物理地址定位副本。本地副本管理器中副本定位示意图如图9所示,数据文件的逻辑域名和逻辑文件名作为输入进入本地副本管理器,本地副本管理器查询本地副本目录,获取该"逻辑域名+逻辑文件名"对应的副本物理地址信息,以图9为例,该数据文件有三个副本,故会生成三个副本物理地址作为本地副本管理器的输出。3.5根据本地副本目录管理确定物理映射;3.6完成副本定位。权利要求1、一种用于数据网格的全分布式副本定位方法,首先判断用户命令是创建副本、查找副本还是删除副本,再分别按照下述步骤(1)、(2)或(3)进行对应的操作,当完成一次操作后接受用户命令判断是否结束,若需要继续操作,则返回接受用户命令,否则结束整个流程;(1)创建副本通过副本目录管理器注册物理映射,并将副本目录管理器注册到本地副本管理器索引中;(2)查找副本接收用户的副本定位请求,查询映射表,返回逻辑文件名对应得物理地址集;(3)删除副本副本通过查找对应的本地副本目录管理器索引和副本目录管理器,完成在路由表上的副本撤销。2、根据权利要求1所述的全分布式副本定位方法,其特征在于步骤(1)按照下述过程创建副本-(1.1)获取待创建副本的逻辑文件名;(1.2)根据副本的逻辑文件名和物理位置创建该副本的物理映射;(1.3)将该副本的物理映射存入该副本的数据文件所属的逻辑域内的本地副本目录管理器,形成索引映射;(1.4)判断该副本的数据文件是否是域敏感的,若是域敏感的,则获取其逻辑域名,然后根据其逻辑域名创建一个本地副本映射;若不是域敏感的,则采用全局域名和副本逻辑文件名来创建全局副本映射;(1.5)利用边界连接算法确定上述索引映射被存到哪个本地副本管理器索引;(1.6)根据步骤(1.3)和(1.5)所获取本地副本目录管理器的内容和本地副本管理器索引构成域内路由表和域间路由表,其中,域内路由表存储在所有的节点中,包含该节点所属的域内的邻居节点信息、前序节点信息和域内边界节点信息;域间路由表存在于边界节点中,包含该边界节点在域间环内的邻居节点信息和在该域间环中的前序节点信息;(1.7)将索引映射存储到该本地副本管理器索引中。3、根据权利要求1或2所述的全分布式副本定位方法,其特征在于步骤(2)按照下述过程査找副本(2.1)获得待定位的副本对应的数据文件的逻辑文件名;(2.2)判断这个副本是否是域敏感的,若该副本是域敏感的,则获取逻辑域名和逻辑文件名一起输入边界连接算法中,转入步骤(2.3);若这个副本不是域敏感的,则获取一个全局共享逻辑域名,与数据文件的逻辑文件名一起组合输入到边界连接算法,进入步骤(2.3);(2J)利用边界连接算法,确定副本对应的本地副本管理器索引;(2.4)根据本地副本管理器索引査找本地副本目录管理器;(2.5)根据本地副本目录管理确定该副本的物理映射。4、根据权利要求3所述的全分布式副本定位方法,其特征在于步骤(3)按照下述过程删除副本(3.1)获取要删除的副本的数据文件的逻辑文件名;(3.2)判断若该副本是否域敏感,若该副本是域敏感的,则获取该副本的逻辑域名,并组合逻辑域名和逻辑文件名,利用边界连接算法确定该副本的索引映射所在的本地副本管理器索引,转入步骤(3.3);若该副本不是域敏感的,则获取全局逻辑域名,并组合全局逻辑域名和逻辑文件名,利用边界连接算法确定该副本的索引映射所在的本地副本管理器索引,进入步骤(3.3);(3.3)通过查询本地副本管理索引确定该副本的物理映射所在的本地副本管理器;(3.4)调用副本管理器功能删除该物理映射;(3.5)从本地副本索引删除索引映射。全文摘要本发明公开了一种用于数据网格的全分布式副本定位方法,首先判断用户命令是创建副本、查找副本还是删除副本,再分别按照下述步骤进行对应的操作,完成操作后判断是否结束,若需要继续操作,则返回接受用户命令,否则结束整个流程;创建副本通过副本目录管理器注册物理映射,并将副本目录管理器注册到本地副本管理器索引中;查找副本接收用户的副本定位请求,查询映射表,返回逻辑文件名对应得物理地址集;删除副本副本通过查找对应的本地副本目录管理器索引和副本目录管理器,完成在路由表上的副本撤销。本方法与现有的副本定位方法相比,具有自适应性,支持多应用域数据网格的副本定位请求,可扩展性,高可用性,高安全性等特点。文档编号G06F17/30GK101251843SQ200710168428公开日2008年8月27日申请日期2007年11月23日优先权日2007年11月23日发明者松吴,杰戴,曾纯强,珂范,海金,力齐申请人:华中科技大学