分布式数据同步路由选择方法、存储介质、设备及系统与流程

文档序号:13476318阅读:340来源:国知局
分布式数据同步路由选择方法、存储介质、设备及系统与流程

本发明涉及分布式存储领域,具体涉及一种分布式数据同步路由选择方法、存储介质、设备及系统。



背景技术:

在分布式存储领域,分布式存储系统对同一个数据副本会存储多份,具体的,由中心节点选举出多个存储节点后,再由客户端向其中一个存储节点写入一个数据副本,然后由该存储节点将数据副本推送给其它节点,完成数据的存储。

但由于不同的存储节点可能位于不同的服务器且连接不同的交换机,不同的服务器位于不同的机房,因此需要选择合适的路由方式来提高副本在不同存储节点间的同步效率,现有的做法是先对存储节点进行简单分类,再根据实际情况选择合适路由,但是此种做法当存储节点数量存储节点类型发生变化时,均需要重新修改选择逻辑,效率低下,极大地增加了数据的同步时间。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种分布式数据同步路由选择方法,能够有效节省数据的同步时间。

为达到以上目的,本发明采取的技术方案是,包括:

定义数据传输距离由短至长依次为:同一存储器内、同一机柜内、同一机房内,所述存储器上建有至少一个存储节点;

新建第一集合和第二集合,并在第一集合中加入与客户端连接的存储节点,且其它所有待数据同步的存储节点加入第二集合;

从第二集合中选取与第一集合内新加入存储节点数据传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,按照此规律,再次从第二集合中选取存储节点加入第一存储节点进行相连,依此类推,直至第二集合中存储节点选取空。

在上述技术方案的基础上,

一个机房内包括至少一个机柜,一个机柜包括至少一个存储器,一个存储器上包括至少一个存储节点;

同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同。

在上述技术方案的基础上,

所述客户端用于生成待保存数据;

所述客户端连接一存储器,且客户端连接该存储器中的一个存储节点。

在上述技术方案的基础上,

每次从第二集合中选取的存储节点至少为一个;

当从第二集合中选取的存储节点为多个时,选取的多个存储节点均只与第一集合中一个新加入的存储节点相连。

在上述技术方案的基础上,当第一集合中新加入的存储介质为多个时,选取与第二集合中选取的存储结构相连的存储介质为所有新加入存储介质中深度最小且连接数最多的存储介质。

本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。

本发明还提供一种分布式数据同步路由选择设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。

本发明还提供一种分布式数据同步路由选择系统,包括:

预设模块,其用于定义数据传输距离由短至长依次为:同一存储器内、同一机柜内、同一机房内,所述存储器上建有至少一个存储节点;

创建模块,其用于新建第一集合和第二集合,并在第一集合中加入与客户端连接的存储节点,且其它所有待数据同步的存储节点加入第二集合;

执行模块,其用于从第二集合中选取与第一集合内新加入存储节点传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,按照此规律,再次从第二集合中选取存储节点加入第一存储节点进行相连,依此类推,直至第二集合中存储节点选取空。

在上述技术方案的基础上,

一个机房内包括至少一个机柜,一个机柜包括至少一个存储器,一个存储器上包括至少一个存储节点;

同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同。

在上述技术方案的基础上,

所述客户端用于生成待保存数据;所述客户端连接一存储器,且客户端连接该存储器中的一个存储节点。

与现有技术相比,本发明的优点在于:对处于不同位置的存储节点间的数据传输距离进行定义,据此,采用树状结构连接方式,利用集合分组,根据数据传输距离的远近,选取一集合中的存储节点与另一集合中的存储节点相连,使得所有存储节点间的数据传输距离之和最小,加快数据的在存储节点间的同步,同时抽象出了存储节点间的数据传输距离这一概念,使得在计算路由线路时只依赖存储节点间的距离这一因素,假设后续存储节点又添加其它属性,则只需重新定义数据传输距离方式即可,路由线路的选择过程仍不变,有效解决通用场景问题。

附图说明

图1为本发明实施例中一种分布式数据同步路由选择方法的流程图;

图2为为本发明实施例中实例的示意图;

图3为本发明实施例中一种分布式数据同步路由选择设备的结构示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种分布式数据同步路由选择方法,用于在各个存储节点间选择路由线路,通过选择的路由线路在各个间存储节点间传输数据,进而对数据进行备份。本发明实施例的分布式数据同步路由选择方法包括:

s1:定义数据传输距离由短至长依次为:同一存储器内、同一机柜内、同一机房内,即同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同,这与现实的线路布置情况相符,数据在存储节点间同步的过程中,需要从一个存储节点传输至另一存储节点。存储器上建有至少一个存储节点。在一个分布式存储系统中,包括多个存储器、机柜和机房,且一个机房内包括至少一个机柜,一个机柜包括至少一个存储器,一个存储器上包括至少一个存储节点。

在一种实施方式中,为了便于对各个存储节点的区分,给每一个存储节点均加入4标签,即机房id、机柜id、存储器id和服务id,机房id表示存储节点所在机房的编号,不同的机房间均为连接状态,机柜id表示存储节点所在机柜的编号,同一机房内的不同机柜间通过交换机相连,存储器id表示存储节点所在存储器的编号,服务id表示存储器上存储节点的编号,同一存储器上不同存储节点的编号不同,故可以根据存储介质的标签信息,直观的得出该存储介质所在的机房、机柜和存储器。

s2:新建第一集合和第二集合,并在第一集合中加入与客户端连接的存储节点,且其它所有待数据同步的存储节点加入第二集合。客户端用于生成待保存数据;客户端连接一存储器,且客户端连接该存储器中的一个存储节点。分布式存储系统中,对于数据的同步备份过程,首先由产生待保存数据的客户端将数据发送至与客户端连接的存储器的一个存储节点中,然后由该存储节点将数据同步至其它存储节点,完成数据的同步备份。

s3:从第二集合中选取与第一集合内新加入存储节点数据传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,按照此规律,再次从第二集合中选取存储节点加入第一存储节点进行相连,依此类推,直至第二集合中存储节点选取空,存储节点间传递连接,形成一树状结构,且所有存储节点间的数据传输距离之和最小。每次从第二集合中选取的存储节点至少为一个,当从第二集合中选取的存储节点为多个时,选取的多个存储节点均只与第一集合中一个新加入的存储节点相连。当第一集合中新加入的存储介质为多个时,选取与第二集合中选取的存储结构相连的存储介质为所有新加入存储介质中深度最小且连接数最多的存储介质,当满足深度最小且连接数最多要求的存储介质为多个时,则从其中任选一个。

具体的,对于第一次选取过程,此时与客户端相连的存储节点为第一集合内新加入的存储节点,从第二集合中选取与第一集合内新加入存储节点数据传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,此时加入第一集合的存储节点替代之前的成为第一集合内新加入存储节点,例如第一集合内新加入的存储节点所在的存储器中还含有两个存储节点,则第一次从第二集合中选取的存储节点即为此两个存储节点,例如,若第一集合内新加入的存储节点所在的存储器中不含有其它存储节点,但第一集合内新加入的存储节点所在机柜的其它存储器内含有存储节点,则第一次从第二集合中选取的存储节点即为这些存储节点;对于第二次选取过程,再次从第二集合中选取与第一集合内新加入存储节点数据传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,依此类推,进行多次选取,直至第二集合中的存储节点被选取完。

以下结合以一具体实例对本发明实施例的分布式数据同步路由选择方法进行具体说明。

为方便描述,定义同一存储器内的存储节点间的数据传输距离为10,同一机柜内的存储器间的数据传输距离为100,同一机房内的机柜间的数据传输距离为1000,不同机房间的数据传输距离为10000。

客户端c位于一存储器中,且该存储器中有一存储节点b1,客户端c所在的机柜中还存在另一存储器,该存储器中含有存储节点b2、存储节点b3和存储节点b4,另一个机房中含有一存储器,该存储器中含有存储节点b5。则存储节点b2、存储节点b3和存储节点b4相互间的距离均为10,存储节点b1与任意存储节点b2、存储节点b3和存储节点b4间的距离为100,因10000远大于100,故可认为存储节点b1、存储节点b2、存储节点b3和存储节点b4与存储节点b5间的距离均为10000。

故参见图2所示,客户端c与存储节点b1相连,因存储节点b2、存储节点b3和存储节点b4与存储节点b1的距离相同,所以存储节点b2、存储节点b3和存储节点b4均与存储节点b1相连,然后存储节点b5与存储节点b2、存储节点b3和存储节点b4的距离均相同,故存储节点b5连接存储节点b4即可。

本发明实施例的分布式数据同步路由选择方法的原理在于,首先结合机房内设备间线路的布设情况,对处于不同位置的存储节点间的数据传输距离进行定义,同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同,据此,采用树状结构连接方式,利用集合分组,根据数据传输距离的远近,选取一集合中的存储节点与另一集合中的存储节点相连,使得所有存储节点间的数据传输距离之和最小,加快数据的在存储节点间的同步。抽象出了存储节点间的数据传输距离这一概念,使得在计算路由线路时只依赖存储节点间的距离这一因素,同时还能够对prim算法(普里姆算法)进行改善以适应不同数据副本推送场景,很好地屏蔽了节点属性,假设后续存储节点又添加其它属性,则只需重新定义数据传输距离方式即可,路由线路的选择过程仍不变,有效解决通用场景问题。

另外,对应上述分布式数据同步路由选择方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的分布式数据同步路由选择方法的步骤。需要说明的是,所述存储介质包括u盘、移动硬盘、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。

参见图3所示,对应上述分布式数据同步路由选择方法,本发明还提供一种分布式数据同步路由选择设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的分布式数据同步路由选择方法。

本发明还提供一种基于上述分布式数据同步路由选择方法的分布式数据同步路由选择系统,包括预设模块、创建模块和执行模块。

预设模块用于定义数据传输距离由短至长依次为:同一存储器内、同一机柜内、同一机房内,所述存储器上建有至少一个存储节点;创建模块用于新建第一集合和第二集合,并在第一集合中加入与客户端连接的存储节点,且其它所有待数据同步的存储节点加入第二集合;执行模块用于从第二集合中选取与第一集合内新加入存储节点传输距离最近的存储节点加入第一集合,并将选取的存储节点与第一集合中新加入的一存储节点相连,按照此规律,再次从第二集合中选取存储节点加入第一存储节点进行相连,依此类推,直至第二集合中存储节点选取空。

一个机房内包括至少一个机柜,一个机柜包括至少一个存储器,一个存储器上包括至少一个存储节点;同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同。客户端用于生成待保存数据;所述客户端连接一存储器,且客户端连接该存储器中的一个存储节点。

本发明实施例的分布式数据同步路由选择系统的原理在于,结合机房内设备间线路的布设情况,预设模块对处于不同位置的存储节点间的数据传输距离进行定义,同一存储器内存储节点间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同,同一机柜内存储器间的数据传输距离相同,同一机房内机柜间的数据传输距离相同,据此,采用树状结构连接方式,利用集合分组,执行模块根据数据传输距离的远近,选取一集合中的存储节点与另一集合中的存储节点相连,使得所有存储节点间的数据传输距离之和最小,加快数据的在存储节点间的同步。抽象出了存储节点间的数据传输距离这一概念,使得在计算路由线路时只依赖存储节点间的距离这一因素,同时还能够对prim算法进行改善以适应不同数据副本推送场景,很好地屏蔽了节点属性,假设后续存储节点又添加其它属性,则只需重新定义数据传输距离方式即可,路由线路的选择过程仍不变,有效解决通用场景问题。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1