一种节点管理方法及装置的制造方法

文档序号:9931370
一种节点管理方法及装置的制造方法
【技术领域】
[0001]本发明涉及流媒体信息技术领域,尤其涉及一种节点管理方法及装置。
【背景技术】
[0002]随着多媒体技术的飞速发展,可以采用多种方式进行流媒体的传输以及播放,其中,P2P(Peer to Peer;点对点)流媒体系统即为一种常用的流媒体传输以及播放系统。
[0003]元数据为描述数据信息的数据,如在P2P系统中,元数据表示节点键值(key,该key为通过哈希算法获取的哈希运算结果)与存储服务器标识(pos)之间的映射关系。目前,在P2P系统中,元数据通常采用哈希(hash)映射方式获取,即通过哈希算法将key映射至pos ;元数据存储设备在本地保存有编号列表,该编号列表中保存该元数据存储设备为每一个存储服务器配置的编号,以及每一个编号对应的pos与key之间的映射关系。
[0004]采用上述方式,在P2P系统分布式存储中,能够较为方便地得到与key存在映射关系的存储服务器,但是,当该P2P系统中存在一台存储服务器宕机时,需要将宕机的存储服务器编号从编号列表中移除,在该编号列表中,宕机的存储服务器编号后面的所有存储服务器编号均需要按顺序依次向前移动一位并将其编号值减一;由于在元数据存储设备中,每一个key与pos存在映射关系,当pos对应的存储服务器信息发生变化时,将需要重新计算key,即每一个key需要按照h = Hash (key) % (N-1)重新计算;同样,如果在P2P系统中新增加一台存储服务器,虽然在元数据存储服务器中原有存储服务器对应的编号不用改变,但是,由于pos的数目发生变换,仍需要重新计算key,即每一个key需要采用哈希算法h = Hash (key) % (N+1)重新计算哈希运算结果,系统的容错性和扩展性较差。
[0005]综上所述,目前在P2P系统中进行节点和存储服务器之间映射关系的存储时,存在容错性差以及可扩展性差的问题。

【发明内容】

[0006]本发明实施例提供一种节点管理方法及装置,用以解决目前在P2P系统中进行节点和存储服务器之间映射关系的存储时,存在容错性差以及可扩展性差的问题。
[0007]本发明实施例提供的具体技术方案如下:
[0008]—种节点管理方法,应用于P2P系统中,所述P2P系统中包括至少一个节点,以及至少一个存储服务器,包括:
[0009]分别根据每一个存储服务器的权重值,为该存储服务器配置相应数目的虚拟节点,并为每一个虚拟节点分配对应的唯一识别码;以及
[0010]对所述虚拟节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照预设规则映射到预设的环形数值空间;其中,所述环形数值空间为将预设数值范围内的所有数值按照预设排序规则进行排列后组成的线型空间首位相连后组成的空间;
[0011]当接收对节点进行管理的指令时,对所述节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照所述预设规则映射到所述环形数值空间上,并根据所述节点对应的哈希运算结果在所述环形数值空间上的位置确定与所述节点对应的虚拟节点;并
[0012]将所述节点的节点信息存储至确定的虚拟节点所属的存储服务器中。
[0013]一种节点管理装置,应用于P2P系统中,所述P2P系统中包括至少一个节点,以及至少一个存储服务器,包括:
[0014]配置单元,用于分别根据每一个存储服务器的权重值,为该存储服务器配置相应数目的虚拟节点,并为每一个虚拟节点分配对应的唯一识别码;
[0015]映射单元,用于对所述虚拟节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照预设规则映射到预设的环形数值空间;其中,所述环形数值空间为将预设数值范围内的所有数值按照预设排序规则进行排列后组成的线型空间首位相连后组成的空间;
[0016]确定单元,用于当接收对节点进行管理的指令时,对所述节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照所述预设规则映射到所述环形数值空间上,并根据所述节点对应的哈希运算结果在所述环形数值空间上的位置确定与所述节点对应的虚拟节点;
[0017]存储单元,用于将所述节点的信息存储至确定的虚拟节点所属的存储服务器中。
[0018]本发明实施例中,将分别为每一个存储服务器配置的虚拟节点,按照预设规则映射到上述环形数值空间上;当接收到节点发送的对节点进行管理的指令时,直接将该节点按照预设规则映射到预设的环形数值空间中,以获取与该节点对应的虚拟节点,并将节点信息发送至虚拟节点所属的存储服务器中。采用本发明技术方案,采用一致性哈希算法为存储服务器建立虚拟节点与节点标识之间的映射关系,由于一致性哈希算法具有单调性,使得当存在删除存储服务器以及增加存储服务器等情况时,无须对所有节点的哈希运算结果进行修改,从而提高了 P2P系统的容错性和可扩展性。
【附图说明】
[0019]图1为本发明实施例中P2P系统结构示意图;
[0020]图2为本发明实施例中节点管理流程图;
[0021]图3为本发明实施例中环形数值空间示意图一;
[0022]图4为本发明实施例中环形数值空间示意图二 ;
[0023]图5为本发明实施例中环形数值空间示意图三;
[0024]图6为本发明实施例中环形数值空间示意图四;
[0025]图7为本发明实施例中环形数值空间示意图五;
[0026]图8为本发明实施例中节点管理装置结构示意图。
【具体实施方式】
[0027]为了解决目前在P2P系统中进行节点和存储服务器之间映射关系的存储时,存在容错性差以及可扩展性差的问题。本发明实施例中,预设环形数值空间;并将分别为每一个存储服务器配置的虚拟节点,按照预设规则映射到上述环形数值空间上;当接收到节点发送的对节点进行管理的指令时,直接将该节点按照预设规则映射到上述环形数值空间中,以获取与该节点对应的虚拟节点,并将节点信息发送至虚拟节点所属的存储服务器中。采用本发明技术方案,采用一致性哈希算法为存储服务器建立虚拟节点与节点标识之间的映射关系,由于一致性哈希算法具有单调性,使得当存在删除存储服务器以及增加存储服务器等情况时,无须对所有节点的哈希运算结果进行修改,从而提高了 P2P系统的容错性和可扩展性。
[0028]参阅图1所示,为本发明实施例应用的P2P系统架构示意图,该P2P系统包括:多个存储(Storage)服务器、多个代理服务器、多个调度(Selector)服务器、域名服务器(DNS)和多个节点。其中,存储服务器用于存储节点的节点信息;代理服务器用于获取节点信息并将该节点信息上报至存储服务器,保存存储服务器的地址或者属性信息,以及保存环形数值空间,该环形数值空间中包含存储服务器的虚拟节点以及各个虚拟节点对应的节点标识;调度服务器用于当检测到节点发送的对节点进行管理的指令时,选择调度哪一个代理服务器,以及获取调度的代理服务器的地址;域名服务器用于存储调度服务器的域名和IP地址之间的对应关系。可选的,在P2P系统中,代理服务器可以通过Trakcer服务器实现。本发明实施例中,以P2P系统中包含多个存储服务器,一个代理服务器,一个调度服务器,一个域名服务器,多个节点为例,详细描述节点信息管理过程。但是,本申请的方法不限定应用于上述P2P系统中。
[0029]下面结合附图对本发明优选的实施方式进行详细说明。
[0030]参阅图2所示,本发明实施例中,P2P系统中,节点管理的过程包括:
[0031]步骤200:代理服务器分别根据每一个存储服务器的权重值,为该存储服务器配置相应数目的虚拟节点,并为每一个虚拟节点分配相应的唯一识别码。
[0032]本发明实施例中,代理服务器根据每一个存储服务器的属性信息,在本地预设一个环形数值空间,其中,环形数值空间为将预设数值范围内的所有数值按照预设排序规则进行排列后组成的线型空间首位相连后组成的空间,预设排序规则为按照由大到小排序,或者由小到大排序。
[0033]可选的,代理服务器获取每一个存储服务器的属性信息的过程,具体包括:代理服务器通过本地保存的每一个存储服务器的地址,向各个存储服务器发送属性信息获取请求,以获取每一个存储服务器的属性信息;或者,代理服务器在本地预先保存每一个存储服务器的属性信息,当需要该属性信息时,直接从本地获取即可;其中,属性信息包括UUID (Universally Unique Identifier ;通用唯一识别码)和权重值,可选的,该权重值为根据存储服务器的数据处理能力预先配置的值。
[0034]本发明实施例中,代理服务器根据每一个存储服务器的属性信息,在本地预设一个环形数值空间,具体包括:代理服务器针对每一个存储服务器,均执行如下操作,根据存储服务器的UUID,采用一致性哈希算法,获取该存储服务器对应的哈希运算结
再多了解一些
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1