一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储系统搭建方法、装置、计算机设备及存储介质与流程

2022-04-06 20:59:20 来源:中国专利 TAG:


1.本发明涉及存储技术领域,尤其涉及一种存储系统搭建方法、装置、计算机设备及存储介质。


背景技术:

2.分布式存储系统,是部署在互联网上的一系列设备节点通过与中心路由节点连接组成的一个庞大的具有存储资源能力的网络,这些设备节点之间通讯只能通过中心路由节点进行通信连接,对于中心路由节点的处理压力非常大。当设备数量过多时,中心路由节点难以承载这些设备之间的通信连接,导致中心路由节点不能完成任务,影响处理效率及系统的正常工作。


技术实现要素:

3.本发明提供一种存储系统搭建方法、装置、计算机设备及存储介质,以避免中心路由节点的处理压力过大,影响处理效率及系统的正常工作。
4.第一方面,本发明提供了一种存储系统搭建方法,包括如下步骤:
5.接收多个设备节点的加入请求,根据预设筛选规则从所述多个设备节点中筛选出第一设备节点,对所述第一设备节点进行端口映射后上报至中心路由节点;
6.所述中心路由节点对端口映射后的所述第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点;
7.根据预设触发条件,将所述具备公网端口的目标设备节点设置为局部路由节点,并为所述局部路由节点分配管理范围内的设备节点,将所述局部路由节点与所述中心路由节点进行连接,将所述局部路由节点与管理范围内的设备节点进行连接;其中,管理范围内的设备节点为除所述目标设备节点之外的剩余设备节点,管理范围内的设备节点通过所述局部路由节点进行通信连接。
8.优选地,所述存储系统为由所述中心路由节点、局部路由节点及设备节点首尾相接而成的环形网络。
9.优选地,所述为所述局部路由节点分配管理范围内的设备节点的步骤,包括:
10.获取所述局部路由节点的性能参数,根据所述性能参数确定所述局部路由节点管理的最大设备节点数量;
11.根据所述最大设备节点数量为所述局部路由节点分配管理范围内的设备节点;
12.当所述局部路由节点为存储系统产生的第一个局部路由节点时,选取预设数量的剩余设备节点作为所述第一个局部路由节点管理范围内的设备节点。
13.进一步地,所述选取预设数量的剩余设备节点作为所述第一个局部路由节点管理范围内的设备节点的步骤之后,还包括:
14.当所述局部路由节点为存储系统产生的第二个局部路由节点时,遍历存储系统所有剩余设备节点的总数,获取每个剩余设备节点的id;
15.将所有剩余设备节点依照id的大小进行排序,得到排序结果;
16.根据所述排序结果,选取排在中间的剩余设备节点的id作为所述第二个局部路由节点的虚拟id;
17.将排在中间的剩余设备节点之后的预设数量的剩余设备节点作为所述第二个局部路由节点管理范围内的设备节点。
18.进一步地,所述将排在中间的剩余设备节点之后的预设数量的剩余设备节点作为所述第二个局部路由节点管理范围内的设备节点的步骤之后,还包括:
19.当所述局部路由节点为存储系统产生的第n个局部路由节点时,根据当前局部路由节点的数量将所有剩余设备节点分为多段,选取剩余设备节点数量最多的一段作为目标段,选取所述目标段中间的剩余设备节点作为所述第n个局部路由节点的虚拟id;其中,所述n》2;
20.查询所述第n个局部路由节点的最大连接数,将排在所述目标段中间的剩余设备节点之后的预设数量的设备节点作为所述第n个局部路由节点管理范围内的设备节点;其中,所述第n个局部路由节点管理范围内的设备节点的数量小于或等于所述最大连接数。
21.进一步地,所述将所述局部路由节点与管理范围内的设备节点进行连接的步骤之后,还包括:
22.当检测到第一设备节点、第二设备节点需要进行通信连接时,查询所述第一设备节点所属的局部路由节点,得到第一局部路由节点;其中,所述第一设备节点、第二设备节点为剩余设备节点中的任意两个设备节点;
23.查询所述第二设备节点所属的局部路由节点,得到第二局部路由节点;
24.判断所述第一局部路由节点与所述第二局部路由节点是否为同一个局部路由节点;
25.若是,通过所述第一局部路由节点或所述第二局部路由节点建立所述第一设备节点与第二设备节点的通信连接。
26.进一步地,所述判断所述第一局部路由节点与所述第二局部路由节点是否为同一个局部路由节点的步骤之后,还包括:
27.当判定所述第一局部路由节点与所述第二局部路由节点为不同的局部路由节点时,遍历所述第一局部路由节点预先构建的连接列表;其中,所述连接列表记录了能与所述第一局部路由节点进行通信连接的局部路由节点;
28.从所述连接列表中查询出所述第一局部路由节点能连接至的虚拟id最大的局部路由节点,得到第三局部路由节点;
29.获取所述第三局部路由节点能连接至的id最大的设备节点,得到第三设备节点;
30.将所述第三设备节点的id与所述第二设备节点的id进行比对;
31.若所述第二设备节点的id小于或等于所述第三设备节点的id,则查询出与所述第二设备节点的id相对应的设备节点作为第四设备节点,将所述第四设备节点所属的局部路由节点作为目标局部路由节点,通过所述第一局部路由节点、所述目标局部路由节点建立所述第一设备节点与第二设备节点的通信连接;
32.若所述第二设备节点的id大于所述第三设备节点的id,则通过所述中心路由节点建立所述第一设备节点与第二设备节点的通信连接。
33.优选地,所述第一局部路由节点的连接列表的记录规则如下:
34.设置param;其中,所述param为常数;
35.根据所述排序结果,判断当前局部路由节点中是否存在大于所述第一局部路由节点的id与所述param之和的首个局部路由节点,若是,得到能与所述第一局部路由节点进行通信连接的局部路由节点并记录在所述连接列表;
36.若否,根据预设规则减小所述param,得到目标param;
37.根据所述排序结果,判断当前局部路由节点中是否存在大于所述第一局部路由节点的id与所述目标param之和的首个局部路由节点,若是,得到能与所述第一局部路由节点进行通信连接的局部路由节点并记录在所述连接列表;
38.若否,循环往复,直至所述param减小为0时,将大于所述第一局部路由节点的id的首个局部路由节点作为能与所述第一局部路由节点进行通信连接的局部路由节点,并记录在所述连接列表。
39.第二方面,本发明提供的一种存储系统搭建装置,包括:
40.接收模块,用于接收多个设备节点的加入请求,根据预设筛选规则从所述多个设备节点中筛选出第一设备节点,对所述第一设备节点进行端口映射后上报至中心路由节点;
41.验证模块,用于所述中心路由节点对端口映射后的所述第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点;
42.设置模块,用于根据预设触发条件,将所述具备公网端口的目标设备节点设置为局部路由节点,并为所述局部路由节点分配管理范围内的设备节点,将所述局部路由节点与所述中心路由节点进行连接,将所述局部路由节点与管理范围内的设备节点进行连接;其中,管理范围内的设备节点为除所述目标设备节点之外的剩余设备节点,管理范围内的设备节点通过所述局部路由节点进行通信连接。
43.第三方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上任一项所述的存储系统搭建方法的步骤。
44.第四方面,本发明提供的一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的存储系统搭建方法。
45.相对于现有技术,本发明的技术方案至少具备如下优点:
46.本发明提供的存储系统搭建方法、装置、计算机设备及存储介质,接收多个设备节点的加入请求,根据预设筛选规则从多个设备节点中筛选出第一设备节点,对第一设备节点进行端口映射后上报至中心路由节点,中心路由节点对端口映射后的第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点,根据预设触发条件,将具备公网端口的目标设备节点设置为局部路由节点,并为局部路由节点分配管理范围内的设备节点,将局部路由节点与中心路由节点进行连接,将局部路由节点与管理范围内的设备节点进行连接,由于管理范围内的设备节点可通过局部路由节点进行通信连接,达到降低中心路由节点的通讯交互压力,提高处理效率,并确保系统的正常工作。
附图说明
47.图1为本发明存储系统搭建方法一种实施例流程框图;
48.图2为本发明存储系统搭建装置一种实施例模块框图;
49.图3为本发明一个实施例中计算机设备的内部结构框图。
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
52.在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如s11、s12等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
53.本领域普通技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
54.本领域普通技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
55.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.请参阅图1,本发明所提供的一种存储系统搭建方法,以计算机设备为执行主体,用于解决现有的设备节点之间通讯只能通过中心路由节点进行通信连接,对于中心路由节点的处理压力较大。当设备数量过多时,中心路由节点难以承载这些设备之间的通信连接,导致中心路由节点不能完成任务,影响处理效率及系统正常工作的技术问题。在一种实施方式中,该存储系统搭建方法包括如下步骤:
57.s11、接收多个设备节点的加入请求,根据预设筛选规则从所述多个设备节点中筛选出第一设备节点,对所述第一设备节点进行端口映射后上报至中心路由节点;
58.s12、所述中心路由节点对端口映射后的所述第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点;
59.s13、根据预设触发条件,将所述具备公网端口的目标设备节点设置为局部路由节点,并为所述局部路由节点分配管理范围内的设备节点,将所述局部路由节点与所述中心路由节点进行连接,将所述局部路由节点与管理范围内的设备节点进行连接;其中,管理范围内的设备节点为除所述目标设备节点之外的剩余设备节点,管理范围内的设备节点通过所述局部路由节点进行通信连接。
60.在本实施例中,该存储系统为由中心路由节点、局部路由节点及设备节点首尾相接而成的环形网络,环形网络上的中心路由节点、局部路由节点及设备节点都可赋予一个32位16进制的唯一编号,编号的范围可以从0000000000000000000000000000000到ffffffffffffffffffffffffffffffff,其编号随机生成且唯一,根据散列特性可以认为设备节点均匀分布在一个从0000000000000000000000000000000到ffffffffffffffffffffffffffffffff首尾相接的一个环形网络上,每一个存储节点在这个环形网络上都是一个点。
61.需要说明的是,所有设备节点在刚加入这个环形网络时,会被默认为无公网端口的设备节点,本实施例接收多个设备节点的加入请求,根据预设筛选规则从多个设备节点中筛选出第一设备节点,例如,当请求加入环形网络的设备节点数量大于预设值时,则筛选出数量较多的设备节点作为第一设备节点;当请求加入环形网络的设备节点数量小于预设值时,则筛选出数量较少的设备节点作为第一设备节点;此外,还可选择处理效率较高的设备节点作为第一设备节点,在此不做具体限定。
62.加入环形网络后的第一设备节点在本地做好端口映射,并上报自己的公网端口到中心路由节点,中心路由节点在环形网络中找到上报过公网端口的第一设备节点并经过验证后,如验证第一设备节点是否符合路由条件,包括参数能力的验证,此时第一设备节点变为具备公网端口的目标设备节点,并提升目标设备节点为局部路由节点,剩余设备节点可通过该局部路由节点进行通信连接,实现数据交互。
63.其中,一般所说的端口映射,是指在路由器上做端口映射,前提条件是路由器有公网ip。如果路由器本身就没有公网ip,路由器的端口映射是没有作用的,不能实现外网访问内网应用。这时就需要无公网ip映射。无公网ip映射,是指在没有公网ip的环境下,将内网应用映射到外网,这时需要一个介质,如软件方式,p2p点到点穿透方式等。
64.此外,根据一定规则,该局部路由节点与环形网络上的其他局部路由节点相互连接,形成路由互联网络。不具备公网端口的节点设备根据一定逻辑进行选取后,与局部路由节点进行连接,当设备节点之间需要通讯,则可发送信息给局部路由节点,由局部路由节点同路由互联网络发送给需要接受信息的设备节点,通过局部路由节点把节点设备之间的通讯压力分散到局部路由节点上,达到降低中心路由节点的通讯交互压力。
65.在一实施例中,设备节点入网后默认为无公网端口的第一设备节点,第一设备节点在本地做好端口映射后上报公网端口到中心路由节点,由中心路由节点下发验证命令给多个剩余设备节点进行公网端口验证,验证成功后回复中心路由节点,再由中心路由节点修改第一设备节点为具备公网端口的目标设备节点。
66.根据触发条件,中心路由节点依据逻辑提升具备公网端口的目标设备节点为局部路由节点,且局部路由节点始终与中心路由节点保持连接,并为局部路由节点分配管理范
围内的设备节点,将局部路由节点与中心路由节点进行连接,将局部路由节点与管理范围内的设备节点进行连接。例如,当中心路由节点处理压力过大或剩余设备节点数量较多时,则触发条件,将具备公网端口的目标设备节点设置为局部路由节点。
67.其中,设备节点唯一标识具有散列特性,因此随着环形网络中设备节点的增多,可以看作所有设备节点按其唯一标识在一个首尾相接的环形网络上均匀分布,故由设备节点升级而成的局部路由节点也是均匀分布的。
68.在一实施例中,当有多个中心路由节点时,则将每个中心路由节点管理范围内的所有设备节点看作一个环形网络,多中心路由节点时为多个环形网络,单中心路由节点时所有设备节点在同一个环形网络上。
69.本发明提供的存储系统搭建方法,接收多个设备节点的加入请求,根据预设筛选规则从多个设备节点中筛选出第一设备节点,对第一设备节点进行端口映射后上报至中心路由节点,中心路由节点对端口映射后的第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点,根据预设触发条件,将具备公网端口的目标设备节点设置为局部路由节点,并为局部路由节点分配管理范围内的设备节点,将局部路由节点与中心路由节点进行连接,将局部路由节点与管理范围内的设备节点进行连接,由于管理范围内的设备节点可通过局部路由节点进行通信连接,达到降低中心路由节点的通讯交互压力,提高处理效率,并确保系统的正常工作。
70.在一实施例中,所述为所述局部路由节点分配管理范围内的设备节点的步骤,可具体包括:
71.获取所述局部路由节点的性能参数,根据所述性能参数确定所述局部路由节点管理的最大设备节点数量;
72.根据所述最大设备节点数量为所述局部路由节点分配管理范围内的设备节点;
73.当所述局部路由节点为存储系统产生的第一个局部路由节点时,选取预设数量的剩余设备节点作为所述第一个局部路由节点管理范围内的设备节点。
74.本实施例获取局部路由节点的性能参数,性能参数包括局部路由节点的内存、cpu利用率、处理效率、网络稳定性等等,根据性能参数确定局部路由节点管理的最大设备节点数量,根据最大设备节点数量为局部路由节点分配管理范围内的设备节点。例如,当局部路由节点的处理效率较高时,则分配数量较多的设备节点;当局部路由节点的处理效率较低时,则分配数量较少的设备节点。
75.当局部路由节点为存储系统产生的第一个局部路由节点时,选取预设数量的剩余设备节点作为第一个局部路由节点管理范围内的设备节点。如选取60%的剩余设备节点作为第一个局部路由节点管理范围内的设备节点。
76.在一实施例中,所述选取预设数量的剩余设备节点作为所述第一个局部路由节点管理范围内的设备节点的步骤之后,还可包括:
77.当所述局部路由节点为存储系统产生的第二个局部路由节点时,遍历存储系统所有剩余设备节点的总数,获取每个剩余设备节点的id;
78.将所有剩余设备节点依照id的大小进行排序,得到排序结果;
79.根据所述排序结果,选取排在中间的剩余设备节点的id作为所述第二个局部路由节点的虚拟id;
80.将排在中间的剩余设备节点之后的预设数量的剩余设备节点作为所述第二个局部路由节点管理范围内的设备节点。
81.在本实施例中,局部路由节点的数量是从少到多的,所以在局部路由节点由少变多的过程中,为保证最大化利用局部路由节点(即保证局部路由节点均匀分布),局部路由节点的增加需要按一定的规则进行。
82.需要说明的是,本实施例的所有节点,包括设备节点、局部路由节点等等,这些节点都含有固有属性id,而局部路由节点除含有固有属性id之外,还含有虚拟id,因此虚拟id为局部路由节点的属性。
83.具体的,局部路由节点新增一个虚拟id的属性virid,其管理范围也发生一些变化,局部路由节点仍具有原来的属性nodeid。各局部路由节点根据自己性能参数,向中心路由节点上报最大连接数,当环形网络中产生第一个局部路由节点时,其虚拟id一般为00000000000000000000000000000000,其后最大连接数*60%个剩余设备节点为该局部路由节点的管理设备。
84.当产生第二个局部路由节点时,当前剩余设备节点的总数有x个,把剩余设备节点按各自id顺序排列后,取x/2处的设备id为该局部路由节点的虚拟id,从x/2处起其后最大连接数*60%个剩余设备节点为该局部路由节点的管理设备。
85.在一实施例中,所述将排在中间的剩余设备节点之后的预设数量的剩余设备节点作为所述第二个局部路由节点管理范围内的设备节点的步骤之后,还包括:
86.当所述局部路由节点为存储系统产生的第n个局部路由节点时,根据当前局部路由节点的数量将所有剩余设备节点分为多段,选取剩余设备节点数量最多的一段作为目标段,选取所述目标段中间的剩余设备节点作为所述第n个局部路由节点的虚拟id;其中,所述n》2;
87.查询所述第n个局部路由节点的最大连接数,将排在所述目标段中间的剩余设备节点之后的预设数量的设备节点作为所述第n个局部路由节点管理范围内的设备节点;其中,所述第n个局部路由节点管理范围内的设备节点的数量小于或等于所述最大连接数。
88.在本实施例中,当有第三个局部路由节点产生后,已经存在两个局部路由节点,当前剩余设备节点按各自id顺序排列,局部路由节点把剩余设备节点分割为两段,设从第一个局部路由节点到第二个局部路由节点虚拟id间的设备为第一段,设从第二个局部路由节点之后的设备为第二段,比较第一段与第二段的剩余设备节点数量,取剩余设备节点数量最多的一段作为目标段,获取目标段的设备数为x,取x/2处的设备节点id作为第三个局部路由节点的虚拟id,从x/2处起其后最大连接数*60%个剩余设备节点为该第三局部路由节点的管理设备。
89.当有第n个局部路由节点产生后,已经存在n-1个局部路由节点,当前剩余设备节点按各自id顺序排列,设从第一个局部路由节点到第二个局部路由节点虚拟id间的设备为第一段,设从第二个局部路由节点到第三个局部路由节点虚拟id处为第二段,设最后一个局部路由节点(即第n-1个局部路由节点)之后的所有设备为第m段,比较第一段到第m段的设备数,取最大的一段设其设备数为x,取x/2处的设备id为第n个局部路由节点的虚拟id,从x/2处起其后最大连接数*60%个设备为该局第n个局部路由节点的管理设备。其中,第n个局部路由节点管理范围内的设备节点的数量小于或等于其最大连接数。
90.在一实施例中,当有新的局部路由节点产生时,中心路由节点计算后分配局部路由节点的虚拟id,并通知符合要求的设备节点连接该局部路由节点,局部路由节点收到连接请求后,检查自己是否已达到最大连接数,若未达到最大连接数,则接受连接请求,若已达到最大连接数,则判断设备节点的id是否在局部路由节点管理范围上下限之内,在上下限范围内的,局部路由节点去除已连接设备节点中最后一个设备节点,接受新的设备节点连接请求,不在上下限范围内的,则拒绝连接。
91.需要说明的是,相邻两个局部路由节点之间,其管理范围可能重叠,重叠部分的设备节点,可同时连接两个局部路由节点。相邻两个局部路由节点之间,也可能不重叠,间隙部分的设备节点,直接连接中心路由节点。例如,假设第一局部路由节点管理id为1-5的设备节点,第二局部路由节点管理id为3-6的设备节点,则存在重叠的设备节点3-5;假设第一局部路由节点管理id为1-5的设备节点,第二局部路由节点管理id为7-10的设备节点,则不存在重叠的设备节点,此时id为6的设备节点直接连接中心路由节点。
92.此外,局部路由节点之间存在连接关系,环形网络中每个局部路由节点都有各自需要连接的局部路由节点的连接列表,该连接列表记录了能与局部路由节点进行通信连接的其他局部路由节点。设当前局部路由节点a虚拟id为局部路由节点a的id,则连接列表中的局部路由节点为【大于局部路由节点a的id param的局部路由节点】,param是一个变化的值,若找到的局部路由节点为当前局部路由节点相邻的下一个局部路由节点则结束。遍历局部路由节点的连接列表,大于virid param的第一个局部路由节点,如果为当前局部路由节点相邻的下一个局部路由节点,则查找行为结束,否则切换下一个param继续查找。
93.在一实施例中,所述将所述局部路由节点与管理范围内的设备节点进行连接的步骤之后,还可包括:
94.当检测到第一设备节点、第二设备节点需要进行通信连接时,查询所述第一设备节点所属的局部路由节点,得到第一局部路由节点;其中,所述第一设备节点、第二设备节点为剩余设备节点中的任意两个设备节点;
95.查询所述第二设备节点所属的局部路由节点,得到第二局部路由节点;
96.判断所述第一局部路由节点与所述第二局部路由节点是否为同一个局部路由节点;
97.若是,通过所述第一局部路由节点或所述第二局部路由节点建立所述第一设备节点与第二设备节点的通信连接。
98.在本实施例中,随机选取两个设备节点进行通信,首先两个设备节点分别找到自己的所属局部路由节点,若有任何一个设备节点没有所属局部路由节点,本次通信通过中心路由节点进行,若两个设备节点都有各自所属局部路由节点,判断是否为同一个局部路由节点,所属同一个局部路由节点则直接发起通信连接。
99.在一实施例中,所述判断所述第一局部路由节点与所述第二局部路由节点是否为同一个局部路由节点的步骤之后,还包括:
100.当判定所述第一局部路由节点与所述第二局部路由节点为不同的局部路由节点时,遍历所述第一局部路由节点预先构建的连接列表;其中,所述连接列表记录了能与所述第一局部路由节点进行通信连接的局部路由节点;
101.从所述连接列表中查询出所述第一局部路由节点能连接至的虚拟id最大的局部
路由节点,得到第三局部路由节点;
102.获取所述第三局部路由节点能连接至的id最大的设备节点,得到第三设备节点;
103.将所述第三设备节点的id与所述第二设备节点的id进行比对;
104.若所述第二设备节点的id小于或等于所述第三设备节点的id,则查询出与所述第二设备节点的id相对应的设备节点作为第四设备节点,将所述第四设备节点所属的局部路由节点作为目标局部路由节点,通过所述第一局部路由节点、所述目标局部路由节点建立所述第一设备节点与第二设备节点的通信连接;
105.若所述第二设备节点的id大于所述第三设备节点的id,则通过所述中心路由节点建立所述第一设备节点与第二设备节点的通信连接。
106.在本实施例中,若两个设备节点分属不同局部路由节点,设发起请求的设备节点为第一设备节点,其所属局部路由节点为第一局部路由节点,要连接的设备节点为第二设备节点。第一设备节点先与第一局部路由节点通信,第一局部路由节点遍历自己预先构建的连接列表,找出连接列表中最远的局部路由节点,即虚拟id最大的局部路由节点,选取最远的局部路由节点的下限id为maxconn,对比第二设备节点的id与maxconn。
107.若第二设备节点的id小于或等于maxconn,则表明第二设备节点在第一局部路由节点的连接范围内,继续遍历连接列表,找出第二设备节点位于某个局部路由节点上下限之间的目标局部路由节点,消息路由即为第一设备节点-》第一局部路由节点-》目标局部路由节点-》第二设备节点。若遍历完后没有发现第二设备节点位于任何一个局部路由节点管理范围上下限之间,则表明第二设备节点在局部路由节点间隙中,本次通信通过中心路由节点进行。
108.在一实施例中,若局部路由节点掉线或永久退出,其下属设备节点保持与中心路由节点直接连接,等待新的可连接局部路由节点产生即可。
109.在一实施例中,所述第一局部路由节点的连接列表的记录规则如下:
110.设置param;其中,所述param为常数;
111.根据所述排序结果,判断当前局部路由节点中是否存在大于所述第一局部路由节点的id与所述param之和的首个局部路由节点,若是,得到能与所述第一局部路由节点进行通信连接的局部路由节点并记录在所述连接列表;
112.若否,根据预设规则减小所述param,得到目标param;
113.根据所述排序结果,判断当前局部路由节点中是否存在大于所述第一局部路由节点的id与所述目标param之和的首个局部路由节点,若是,得到能与所述第一局部路由节点进行通信连接的局部路由节点并记录在所述连接列表;
114.若否,循环往复,直至所述param减小为0时,将大于所述第一局部路由节点的id的首个局部路由节点作为能与所述第一局部路由节点进行通信连接的局部路由节点,并记录在所述连接列表。
115.在本实施例中,可设第一局部路由节点h的虚拟id为第一局部路由节点h的id,则连接列表中的局部路由节点为【大于第一局部路由节点h的id param的局部路由节点】,将大于第一局部路由节点h的id param的首个局部路由节点作为能与第一局部路由节点h进行通信连接的局部路由节点,并记录在所述连接列表中。
116.其中,param是一个变化的值,若找到的局部路由节点为当前第一局部路由节点相
邻的下一个局部路由节点则结束;若无,则根据预设规则减小param,得到目标param,预设规则可自定义设置,遍历局部路由节点,若存在大于第一局部路由节点的id 目标param的首个局部路由节点,则将大于第一局部路由节点的id 目标param的首个局部路由节点,作为当前第一局部路由节点相邻的下一个局部路由节点,则查找行为结束,得到能与第一局部路由节点进行通信连接的局部路由节点并记录在连接列表;否则切换下一个param继续查找,直至param减小为0时,将大于第一局部路由节点的id的首个局部路由节点作为能与第一局部路由节点进行通信连接的局部路由节点,并记录在连接列表。
117.其中,预设规则可自定义设置。例如,param可按照如下规律进行调整:7fffffffffffffffffffffffffffffff,3fffffffffffffffffffffffffffffff,1fffffffffffffffffffffffffffffff,0fffffffffffffffffffffffffffffff,07ffffffffffffffffffffffffffffff,03ffffffffffffffffffffffffffffff,01fffffffffffffffffffffffffffff,00fffffffffffffffffffffffffffff,

00000000000000000000000000000007,00000000000000000000000000000003,00000000000000000000000000000001,00000000000000000000000000000000。
118.请参考图2,本发明的实施例还提供一种存储系统搭建装置,一种本实施例中,包括接收模块11、验证模块12及设置模块13。其中,
119.接收模块11,用于接收多个设备节点的加入请求,根据预设筛选规则从所述多个设备节点中筛选出第一设备节点,对所述第一设备节点进行端口映射后上报至中心路由节点;
120.验证模块12,用于所述中心路由节点对端口映射后的所述第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点;
121.设置模块13,用于根据预设触发条件,将所述具备公网端口的目标设备节点设置为局部路由节点,并为所述局部路由节点分配管理范围内的设备节点,将所述局部路由节点与所述中心路由节点进行连接,将所述局部路由节点与管理范围内的设备节点进行连接;其中,管理范围内的设备节点为除所述目标设备节点之外的剩余设备节点,管理范围内的设备节点通过所述局部路由节点进行通信连接。
122.在本实施例中,该存储系统为由中心路由节点、局部路由节点及设备节点首尾相接而成的环形网络,环形网络上的中心路由节点、局部路由节点及设备节点都可赋予一个32位16进制的唯一编号,编号的范围可以从0000000000000000000000000000000到ffffffffffffffffffffffffffffffff,其编号随机生成且唯一,根据散列特性可以认为设备节点均匀分布在一个从0000000000000000000000000000000到ffffffffffffffffffffffffffffffff首尾相接的一个环形网络上,每一个存储节点在这个环形网络上都是一个点。
123.需要说明的是,所有设备节点在刚加入这个环形网络时,会被默认为无公网端口的设备节点,本实施例接收多个设备节点的加入请求,根据预设筛选规则从多个设备节点中筛选出第一设备节点,例如,当请求加入环形网络的设备节点数量大于预设值时,则筛选出数量较多的设备节点作为第一设备节点;当请求加入环形网络的设备节点数量小于预设值时,则筛选出数量较少的设备节点作为第一设备节点;此外,还可选择处理效率较高的设备节点作为第一设备节点,在此不做具体限定。
124.加入环形网络后的第一设备节点在本地做好端口映射,并上报自己的公网端口到
中心路由节点,中心路由节点在环形网络中找到上报过公网端口的第一设备节点并经过验证后,如验证第一设备节点是否符合路由条件,包括参数能力的验证,此时第一设备节点变为具备公网端口的目标设备节点,并提升目标设备节点为局部路由节点,剩余设备节点可通过该局部路由节点进行通信连接,实现数据交互。
125.其中,一般所说的端口映射,是指在路由器上做端口映射,前提条件是路由器有公网ip。如果路由器本身就没有公网ip,路由器的端口映射是没有作用的,不能实现外网访问内网应用。这时就需要无公网ip映射。无公网ip映射,是指在没有公网ip的环境下,将内网应用映射到外网,这时需要一个介质,如软件方式,p2p点到点穿透方式等。
126.此外,根据一定规则,该局部路由节点与环形网络上的其他局部路由节点相互连接,形成路由互联网络。不具备公网端口的节点设备根据一定逻辑进行选取后,与局部路由节点进行连接,当设备节点之间需要通讯,则可发送信息给局部路由节点,由局部路由节点同路由互联网络发送给需要接受信息的设备节点,通过局部路由节点把节点设备之间的通讯压力分散到局部路由节点上,达到降低中心路由节点的通讯交互压力。
127.在一实施例中,设备节点入网后默认为无公网端口的第一设备节点,第一设备节点在本地做好端口映射后上报公网端口到中心路由节点,由中心路由节点下发验证命令给多个剩余设备节点进行公网端口验证,验证成功后回复中心路由节点,再由中心路由节点修改第一设备节点为具备公网端口的目标设备节点。
128.根据触发条件,中心路由节点依据逻辑提升具备公网端口的目标设备节点为局部路由节点,且局部路由节点始终与中心路由节点保持连接,并为局部路由节点分配管理范围内的设备节点,将局部路由节点与中心路由节点进行连接,将局部路由节点与管理范围内的设备节点进行连接。例如,当中心路由节点处理压力过大或剩余设备节点数量较多时,则触发条件,将具备公网端口的目标设备节点设置为局部路由节点。
129.其中,设备节点唯一标识具有散列特性,因此随着环形网络中设备节点的增多,可以看作所有设备节点按其唯一标识在一个首尾相接的环形网络上均匀分布,故由设备节点升级而成的局部路由节点也是均匀分布的。
130.在一实施例中,当有多个中心路由节点时,则将每个中心路由节点管理范围内的所有设备节点看作一个环形网络,多中心路由节点时为多个环形网络,单中心路由节点时所有设备节点在同一个环形网络上。
131.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
132.本发明提供的一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上任一项所述的存储系统搭建方法的步骤。
133.在一实施例中,如图3所示。本实施例所述的计算机设备可以是服务器、个人计算机以及网络设备等设备。所述计算机设备包括处理器302、存储器303、摄像头、输入单元304以及显示单元305等器件。本领域技术人员可以理解,图3示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。例如,在大多数情况下,计算机设备无需配备显示单元305。存储器303可用于存储计算机程序301以及各功能模块,处理器302运行存储在存储器303的计算机程序301,从而执行设备的各种功能应用
以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
134.输入单元304用于接收信号的输入,以及接收用户输入的关键字。输入单元304可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元305可用于显示用户输入的信息或提供给用户的信息及计算机设备的各种菜单。显示单元305可采用液晶显示器、有机发光二极管等形式。处理器302是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
135.作为一个实施例,所述计算机设备包括:一个或多个处理器302,存储器303,一个或多个计算机程序301,其中所述一个或多个计算机程序301被存储在存储器303中并被配置为由所述一个或多个处理器302执行,所述一个或多个计算机程序301配置用于执行以上实施例所述的存储系统搭建方法。
136.在一个实施例中,本发明还提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述存储系统搭建方法。例如,所述存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
137.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
138.综合上述实施例可知,本发明最大的有益效果在于:
139.本发明提供的存储系统搭建方法、装置、计算机设备及存储介质,接收多个设备节点的加入请求,根据预设筛选规则从多个设备节点中筛选出第一设备节点,对第一设备节点进行端口映射后上报至中心路由节点,中心路由节点对端口映射后的第一设备节点进行公网端口验证,验证通过后,得到具备公网端口的目标设备节点,根据预设触发条件,将具备公网端口的目标设备节点设置为局部路由节点,并为局部路由节点分配管理范围内的设备节点,将局部路由节点与中心路由节点进行连接,将局部路由节点与管理范围内的设备节点进行连接,由于管理范围内的设备节点可通过局部路由节点进行通信连接,达到降低中心路由节点的通讯交互压力,提高处理效率,并确保系统的正常工作。
140.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
141.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献