网络接入方法及装置、计算机装置及存储介质与流程

文档序号:18471594发布日期:2019-08-20 20:21阅读:126来源:国知局
网络接入方法及装置、计算机装置及存储介质与流程

本发明涉及计算机网络技术领域,具体涉及一种网络接入方法及装置、计算机装置和计算机可读存储介质。



背景技术:

去中心化网络中的技术难点是保持网络的稳定性,而对网络的稳定性影响最大的就是bootstrap节点。在去中心化网络里,bootstrap节点一般是网络的入口节点,待接入节点需要加入网络时必须借助bootstrap节点来找到网络中的其他节点;对于访问该网络的其他节点来说,也必须依赖于bootstrap节点才能访问该网络。

bootstrap节点一般暴露在公网中,很容易因为访问量大导致超负荷运行或者其他的原因导致被封锁。一旦一个网络的bootstrap节点被封锁或超负荷运行后,待接入节点需要加入网络时必须找到替代的bootstrap节点,因此,待接入节点通过bootstrap节点加入网络的过程稳定性低。



技术实现要素:

鉴于以上内容,有必要提出一种网络接入方法、网络接入装置、计算机装置、计算机可读存储介质和计算机程序产品,其可以提高网络接入的稳定性。

本申请的第一方面提供一种网络接入方法,所述方法包括:

过网络中的预设入口节点接入所述网络;

通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

将所述多个第二节点中可连接的节点加入入口节点池;

当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

另一种可能的实现方式中,所述将所述多个节点中可连接的节点加入入口节点池包括:

判断所述多个第二节点中的每个给定节点是否为可连接的节点;

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值;

判断所述给定节点的可负载值是否大于或等于预设可负载阈值;

若所述给定节点的可负载值大于所述预设可负载阈值,则将所述给定节点加入所述入口节点池。

另一种可能的实现方式中,所述判断所述多个第二节点中的每个给定节点是否为可连接的节点包括:

根据所述预设入口节点的路由表向所述给定节点发送连接请求;

若在预设时间内接收到所述给定节点返回的节点信息,则所述给定节点为可连接的节点。

另一种可能的实现方式中,所述通过所述入口节点池中的节点接入所述网络包括:

按照可负载值从大到小的顺序从所述入口节点池中选择一个节点进行连接;

若与选择的节点连接成功,则获取所述选择的节点的连接状态;

根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络;

若能够通过所述选择的节点接入网络,则根据所述选择的节点的路由表更新本地的路由表。

另一种可能的实现方式中,所述选择的节点的连接状态用网络动态值、时延和丢包率表示,所述根据与所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络包括:

若所述选择的节点的网络动态值、时延和丢包率均小于预设阈值,确定能够通过所述选择的节点接入所述网络;

若所述选择的节点的网络动态值、时延或丢包率大于或等于预设阈值,按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

另一种可能的实现方式中,所述方法还包括:

若通过所述入口节点池中的所有节点不能接入所述网络,则通过所述预设入口节点接入所述网络。

另一种可能的实现方式中,所述方法还包括:

当接收到所述网络中的第三节点的节点池获取请求时,将所述入口节点池中的一个或多个节点返回所述第三节点。

本申请的第二方面提供一种计算机装置,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述网络接入方法。

本申请的第三方面提供一种网络接入装置,所述装置包括:

第一接入单元,用于通过网络中的预设入口节点接入所述网络;

获取单元,用于通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

加入单元,用于将所述多个第二节点中可连接的节点加入入口节点池;

第二接入单元,用于当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

另一种可能的实现方式中,所述加入单元将所述多个节点中可连接的节点加入入口节点池包括:

判断所述多个第二节点中的每个给定节点是否为可连接的节点;

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值;

判断所述给定节点的可负载值是否大于或等于预设可负载阈值;

若所述给定节点的可负载值大于所述预设可负载阈值,则将所述给定节点加入所述入口节点池。

另一种可能的实现方式中,所述判断所述多个第二节点中的每个给定节点是否为可连接的节点包括:

根据所述预设入口节点的路由表向所述给定节点发送连接请求;

若在预设时间内接收到所述给定节点返回的节点信息,则所述给定节点为可连接的节点。

另一种可能的实现方式中,所述第二接入单元通过所述入口节点池中的节点接入所述网络包括:

按照可负载值从大到小的顺序从所述入口节点池中选择一个节点进行连接;

若与选择的节点连接成功,则获取所述选择的节点的连接状态;

根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络;

若能够通过所述选择的节点接入网络,则根据所述选择的节点的路由表更新本地的路由表。

另一种可能的实现方式中,所述选择的节点的连接状态用网络动态值、时延和丢包率表示,所述根据与所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络包括:

若所述选择的节点的网络动态值、时延和丢包率均小于预设阈值,确定能够通过所述选择的节点接入所述网络;

若所述选择的节点的网络动态值、时延或丢包率大于或等于预设阈值,按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

另一种可能的实现方式中,若通过所述入口节点池中的所有节点不能接入所述网络,则通过所述预设入口节点接入所述网络。

另一种可能的实现方式中,当接收到所述网络中的第三节点的节点池获取请求时,将所述入口节点池中的一个或多个节点返回所述第三节点。

本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述网络接入方法。

本申请的第五方面提供一种计算机程序产品,包括计算机指令,当其在计算机装置上运行时,使得计算机装置执行所述网络接入方法。

本发明通过网络中的预设入口节点接入所述网络;通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;将所述多个第二节点中可连接的节点加入入口节点池;当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。本发明获得入口节点池,当再次接入网络时根据入口节点池接入网络,提高网络接入的稳定性。特别地,当所述预设入口节点忙时,实施例一的网络接入方法可以明显减少网络接入的延时(不需要持续等待接入一个节点),提高网络接入的稳定性。

附图说明

图1是本发明实施例提供的网络接入方法较佳实施例的流程图。

图2是本发明实施例提供的网络接入装置较佳实施例的流程图。

图3是本发明实施例提供的计算机装置较佳实施例的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

优选地,本发明的网络接入方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述计算机装置可以是组成cdn(contentdeliverynetwork,内容分发网络)网络或者区块链网络的节点。

实施例一

图1是本发明实施例提供的网络接入方法的流程图。所述网络接入方法应用于第一节点中,用于获取第一节点的入口节点池,根据所述第一节点的入口节点池将所述第一节点接入网络,提高网络接入的稳定性。在本实施例中,所述第一节点可以是客户终端、路由器或服务器。

参阅图1所示,所述网络接入方法具体包括以下步骤:

s101,通过网络中的预设入口节点接入所述网络。

在一具体实施例中,可以将网络服务商(如中国电信)提供给所述第一节点的入口节点作为所述预设入口节点,通过向所述预设入口节点发送接入请求接入所述网络。

或者,可以将所述第一节点的入口节点记录表中记录的入口节点作为所述预设入口节点,通过向所述预设入口节点发送接入请求接入所述网络,所述入口节点记录表可以记录多次接入过的入口节点。

所述网络可以是去中心化网络,例如bt(bittorrent,比特流)网络。所述预设入口节点可以是运行稳定的服务器。

s102,通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点。

所述多个第二节点和所述预设入口节点位于所述网络中。

所述多个第二节点周期性地向所述预设入口节点发送所述多个第二节点的路由信息,所述预设入口节点根据所述多个第二节点的路由信息生成或更新所述预设入口节点的路由表,所述第一节点通过与所述预设入口节点交换路由表获取所述的多个第二节点。

或者,所述预设入口节点主动向所述多个第二节点发送路由信息请求,所述预设入口节点根据所述多个第二节点返回的路由信息生成或更新所述预设入口节点的路由表,所述第一节点通过与所述预设入口节点交换路由表获取所述多个第二节点。

所述多个第二节点可以是所述网络中的客户终端、路由器或服务器。

s103,将所述多个第二节点中可连接的节点加入入口节点池。

所述将所述多个节点中可连接的节点加入入口节点池包括:

判断所述多个第二节点中的每个给定节点是否为可连接的节点;

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值;

判断所述给定节点的可负载值是否大于或等于预设可负载阈值;

若所述给定节点的可负载值大于所述预设可负载阈值,则将所述给定节点加入所述入口节点池。

可选地,所述判断所述多个第二节点中的每个给定节点是否为可连接的节点包括:

根据所述预设入口节点的路由表向所述给定节点发送连接请求;

若在预设时间内接收到所述给定节点返回的节点信息,则所述给定节点为可连接的节点。

例如,获取所述预设入口节点的路由表中的给定节点a、给定节点b、给定节点c,可以使用ping-pong工具向三个给定节点发送连接请求。若在预设时间(例如10秒)内接收到给定节点a、给定节点b返回的节点信息,则给定节点a、给定节点b为可连接的节点。

所述给定节点可以是所述多个第二节点中的任意节点。所述给定节点也可以是所述多个第二节点中的部分节点。

所述节点信息可以包括带宽使用量、cpu使用量、存储使用量、在线时间。所述带宽使用量是单位时间内通过节点的数据量,所述cpu使用量是在单位时间内的cpu使用时间,所述在线时间是从节点加入网络的时间点到当前时间点之间的时长。

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值。在本实施例中,计算给定节点i的可负载值li的计算公式可以是:

公式中的为向上取整运算符号,wi为给定节点i的带宽,vi为给定节点i的带宽使用量,ci为给定节点i在预设时间段内的cpu运行总时间,oi为给定节点i在预设时间段内的cpu使用时间,mi为给定节点i的存储容量,ni为给定节点i的存储使用量,ti为节点i的在线时间。例如,给定节点a为可连接节点,则根据给定节点a返回的节点信息(带宽使用量va、预设时间段内的cpu空闲时间oa、存储使用量na、在线时间ta)和已知的wa、ca、ma计算所述给定节点的可负载值la。

判断所述给定节点的可负载值是否大于或等于预设可负载阈值,若所述给定节点的可负载值大于或等于预设可负载阈值,则将所述给定节点加入所述入口节点池。例如,所述预设可负载阈值为19,所述给定节点a的可负载值为20,所述给定节点a的可负载值大于所述预设可负载阈值,则将所述给定节点a加入所述入口节点池。

s104,当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

在一具体实施例中,当需要再次接入所述网络时,按照可负载值从大到小的顺序从所述入口节点池中选择一个节点进行连接。例如,所述入口节点池中的节点a、b、c的可负载值分别为20、22、21,当需要再次接入所述网络时,将所述入口节点池中的节点a、b、c按照可负载值从大到小的顺序排序,从排序后的所述入口节点b、c、a中选择第一个节点b进行连接。

若与所述选择的节点连接成功,则获取所述选择的节点的连接状态。本实施例中,所述选择的节点的连接状态用网络动态值、时延和丢包率表示。所述网络动态值表示所述选择的节点是否处于即将离开网络的状态,网络动态值为1表示节点不处于即将离开网络的状态,网络状态值网络动态值为2表示节点处于即将离开网络的状态,与所述选择的节点连接后,从所述选择的节点获取所述选择的节点的网络动态值;所述时延表示一个报文或分组从一个网络的一端传送到另一端所需要的时间,在本实施例中,若连接所述选择的节点的时延越低,节点之间(网络)的数据传输速度更快,反映了连接所述选择的节点的过程的时效性,通过接收到所述选择的节点应答的时间点减去向所述选择的节点发出连接请求的时间点计算出时延;所述丢包率表示网络数据传输过程中数据包丢失部分与所传数据包总数的比值,与所述选择的节点连接后,从所述选择的节点返回的应答中获取所述选择的节点的丢包率,在本实施例中,若连接所述选择的节点的丢包率越低,节点之间(网络)的数据传输质量更好,反映了连接所述选择的节点的过程的质量和稳定性。例如,若与所述选择的节点b连接成功,则获取所述选择的节点b的网络动态值、时延和丢包率,时延和丢包率越低,所述选择的节点的路径质量越高,所述选择的节点的连接状态越好。

根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络。在本实施例中,所述根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络包括:若所述选择的节点的网络动态值、时延和丢包率均小于预设阈值,则确定能够通过所述选择的节点接入所述网络。例如,所述选择的节点b的网络动态值为1(网络动态值为1表示节点不处于即将离开网络的状态,网络动态值为2表示节点处于即将离开网络的状态),时延为0.02秒,丢包率为3%,网络动态值阈值为2,时延阈值为0.05秒,丢包率阈值为5%,则所述选择的节点b的网络动态值小于网络动态值阈值,所述选择的节点b的时延小于时延阈值,所述选择的节点b的丢包率小于丢包率阈值,确定通过所述选择的节点b接入所述网络。

否则,若所述选择的节点的网络动态值、时延或丢包率大于或等于预设阈值,按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

例如,若与所述选择的节点b的连接状态中的网络动态值为2,不小于网络动态值阈值,或者所述选择的节点b的时延为0.06秒,不小于时延阈值,或者所述选择的节点b的丢包率为6%,不小于丢包率阈值,则按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

若能够通过所述选择的节点接入网络,则根据所述选择的节点的路由表更新本地的路由表。

实施例一的网络接入方法通过网络中的预设入口节点接入所述网络;通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;将所述多个第二节点中可连接的节点加入入口节点池;当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。实施例一获得入口节点池,当再次接入网络时根据入口节点池接入网络,提高网络接入的稳定性。特别地,当所述预设入口节点忙时,实施例一的网络接入方法可以明显减少网络接入的延时(不需要持续等待接入一个节点),提高网络接入的稳定性。

在另一实施例中,所述网络接入方法还可以包括:若通过所述入口节点池中的所有节点不能接入所述网络,则通过所述预设入口节点接入所述网络。具体地,若连接所述入口节点池中的每个节点均失败或所述入口节点池中的每个选择的节点的连接状态均不满足预设阈值时,通过所述预设入口节点接入所述网络。

在另一实施例中,所述网络接入方法还可以包括:当接收到所述网络中的第三节点的节点池获取请求时,将所述入口节点池中的一个或多个节点返回所述第三节点。所述第三节点向所述第一节点发送节点池获取请求以获取所述入口节点池的节点,当接收到所述网络中的第三节点的节点池获取请求时,按照可负载值从大到小的顺序从所述入口节点池中选择一个或多个节点返回所述第三节点。

在另一实施例中,所述网络接入方法还可以包括:接收所述第二节点广播的节点信息,根据所述第二节点广播的节点信息更新所述入口节点池。

举例来说,第一节点接收所述第二节点广播的节点信息,若广播节点信息的第二节点在所述入口节点池中,则更新所述入口节点池中所述广播节点信息的第二节点的可负载值。若所述广播节点信息的第二节点不在所述入口节点池中,且所述入口节点池中的入口节点数量小于入口节点数量最大值,则将所述广播节点信息的第二节点加入所述入口节点池,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。若所述广播节点信息的第二节点不在所述入口节点池中且所述入口节点池中的入口节点数量等于入口节点数量最大值,则将最早加入所述入口节点池的节点删除,将所述广播节点信息的第二节点加入所述入口节点池。

再如,在接收所述第二节点广播的节点信息,根据所述第二节点广播的节点信息更新所述入口节点池的同时,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。

或者,所述网络接入方法还可以包括:向所述网络发出探测信息,接收所述第二节点响应于所述探测信息返回的节点信息,根据所述第二节点响应于所述探测信息返回的节点信息更新所述入口节点池。

举例来说,第一节点向所述网络发出探测信息,接收第二节点响应于所述探测信息返回的节点信息,若所述返回节点信息的第二节点在所述入口节点池中,则更新所述入口节点池中所述返回节点信息的节点的可负载值;若所述返回节点信息的第二节点不在所述入口节点池中,且所述入口节点池中的入口节点数量小于入口节点数量最大值,则将所述返回节点信息的第二节点加入所述入口节点池;若所述返回节点信息的第二节点不在所述入口节点池中且所述入口节点池中的入口节点数量等于入口节点数量最大值,则将加入所述入口节点池的时间点距离当前时间点最远的节点删除,将所述返回节点信息的第二节点加入所述入口节点池。

再如,在向所述网络发出探测信息,接收所述第二节点响应于所述探测信息返回的节点信息,根据所述第二节点响应于所述探测信息返回的节点信息更新所述入口节点池的同时,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。

实施例二

图2为本发明实施例提供的网络接入装置较佳实施例的结构图。所述网络接入装置10应用于第一节点中,用于获取第一节点的入口节点池,根据所述第一节点的入口节点池将所述第一节点接入网络,提高网络接入的稳定性。在本实施例中,所述第一节点可以是客户终端、路由器或服务器。

如图2所示,所述网络接入装置10可以包括:第一接入单元201、获取单元202、加入单元203、第二接入单元204。

第一接入单元201,用于通过网络中的预设入口节点接入所述网络。

在一具体实施例中,可以将网络服务商(如中国电信)提供给所述第一节点的入口节点作为所述预设入口节点,通过向所述预设入口节点发送接入请求接入所述网络。

或者,可以将所述第一节点的入口节点记录表中记录的入口节点作为所述预设入口节点,通过向所述预设入口节点发送接入请求接入所述网络,所述入口节点记录表可以记录多次接入过的入口节点。

所述网络可以是去中心化网络,例如bt(bittorrent,比特流)网络。所述预设入口节点可以是运行稳定的服务器。

获取单元202,用于通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点。

所述多个第二节点和所述预设入口节点位于所述网络中。

所述多个第二节点周期性地向所述预设入口节点发送所述多个第二节点的路由信息,所述预设入口节点根据所述多个第二节点的路由信息生成或更新所述预设入口节点的路由表,所述第一节点通过与所述预设入口节点交换路由表获取所述的多个第二节点。

或者,所述预设入口节点主动向所述多个第二节点发送路由信息请求,所述预设入口节点根据所述多个第二节点返回的路由信息生成或更新所述预设入口节点的路由表,所述第一节点通过与所述预设入口节点交换路由表获取所述多个第二节点。

所述多个第二节点可以是所述网络中的客户终端、路由器或服务器。

加入单元203,用于将所述多个第二节点中可连接的节点加入入口节点池。

所述将所述多个节点中可连接的节点加入入口节点池包括:

判断所述多个第二节点中的每个给定节点是否为可连接的节点;

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值;

判断所述给定节点的可负载值是否大于或等于预设可负载阈值;

若所述给定节点的可负载值大于所述预设可负载阈值,则将所述给定节点加入所述入口节点池。

可选地,所述判断所述多个第二节点中的每个给定节点是否为可连接的节点包括:

根据所述预设入口节点的路由表向所述给定节点发送连接请求;

若在预设时间内接收到所述给定节点返回的节点信息,则所述给定节点为可连接的节点。

例如,获取所述预设入口节点的路由表中的给定节点a、给定节点b、给定节点c,可以使用ping-pong工具向三个给定节点发送连接请求。若在预设时间(例如10秒)内接收到给定节点a、给定节点b返回的节点信息,则给定节点a、给定节点b为可连接的节点。

所述给定节点可以是所述多个第二节点中的任意节点。所述给定节点也可以是所述多个第二节点中的部分节点。

所述节点信息可以包括带宽使用量、cpu使用量、存储使用量、在线时间。所述带宽使用量是单位时间内通过节点的数据量,所述cpu使用量是在单位时间内的cpu使用时间,所述在线时间是从节点加入网络的时间点到当前时间点之间的时长。

若所述给定节点为可连接的节点,则根据所述给定节点的节点信息计算所述给定节点的可负载值。在本实施例中,计算给定节点i的可负载值li的计算公式可以是:

公式中的为向上取整运算符号,wi为给定节点i的带宽,vi为给定节点i的带宽使用量,ci为给定节点i在预设时间段内的cpu运行总时间,oi为给定节点i在预设时间段内的cpu使用时间,mi为给定节点i的存储容量,ni为给定节点i的存储使用量,ti为节点i的在线时间。例如,给定节点a为可连接节点,则根据给定节点a返回的节点信息(带宽使用量va、预设时间段内的cpu空闲时间oa、存储使用量na、在线时间ta)和已知的wa、ca、ma计算所述给定节点的可负载值la。

判断所述给定节点的可负载值是否大于或等于预设可负载阈值,若所述给定节点的可负载值大于或等于预设可负载阈值,则将所述给定节点加入所述入口节点池。例如,所述预设可负载阈值为19,所述给定节点a的可负载值为20,所述给定节点a的可负载值大于所述预设可负载阈值,则将所述给定节点a加入所述入口节点池。

第二接入单元204,用于当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

在一具体实施例中,当需要再次接入所述网络时,按照可负载值从大到小的顺序从所述入口节点池中选择一个节点进行连接。例如,所述入口节点池中的节点a、b、c的可负载值分别为20、22、21,当需要再次接入所述网络时,将所述入口节点池中的节点a、b、c按照可负载值从大到小的顺序排序,从排序后的所述入口节点b、c、a中选择第一个节点b进行连接。

若与所述选择的节点连接成功,则获取所述选择的节点的连接状态。本实施例中,所述选择的节点的连接状态用网络动态值、时延和丢包率表示。所述网络动态值表示所述选择的节点是否处于即将离开网络的状态,网络动态值为1表示节点不处于即将离开网络的状态,网络状态值网络动态值为2表示节点处于即将离开网络的状态,与所述选择的节点连接后,从所述选择的节点获取所述选择的节点的网络动态值;所述时延表示一个报文或分组从一个网络的一端传送到另一端所需要的时间,在本实施例中,若连接所述选择的节点的时延越低,节点之间(网络)的数据传输速度更快,反映了连接所述选择的节点的过程的时效性,通过接收到所述选择的节点应答的时间点减去向所述选择的节点发出连接请求的时间点计算出时延;所述丢包率表示网络数据传输过程中数据包丢失部分与所传数据包总数的比值,与所述选择的节点连接后,从所述选择的节点返回的应答中获取所述选择的节点的丢包率,在本实施例中,若连接所述选择的节点的丢包率越低,节点之间(网络)的数据传输质量更好,反映了连接所述选择的节点的过程的质量和稳定性。例如,若与所述选择的节点b连接成功,则获取所述选择的节点b的网络动态值、时延和丢包率,时延和丢包率越低,所述选择的节点的路径质量越高,所述选择的节点的连接状态越好。

根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络。在本实施例中,所述根据所述选择的节点的连接状态确定是否能够通过所述选择的节点接入所述网络包括:若所述选择的节点的网络动态值、时延和丢包率均小于预设阈值,则确定能够通过所述选择的节点接入所述网络。例如,所述选择的节点b的网络动态值为1(网络动态值为1表示节点不处于即将离开网络的状态,网络动态值为2表示节点处于即将离开网络的状态),时延为0.02秒,丢包率为3%,网络动态值阈值为2,时延阈值为0.05秒,丢包率阈值为5%,则所述选择的节点b的网络动态值小于网络动态值阈值,所述选择的节点b的时延小于时延阈值,所述选择的节点b的丢包率小于丢包率阈值,确定通过所述选择的节点b接入所述网络。

否则,若所述选择的节点的网络动态值、时延或丢包率大于或等于预设阈值,按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

例如,若与所述选择的节点b的连接状态中的网络动态值为2,不小于网络动态值阈值,或者所述选择的节点b的时延为0.06秒,不小于时延阈值,或者所述选择的节点b的丢包率为6%,不小于丢包率阈值,则按照可负载值从大到小的顺序从所述入口节点池中选择下一个节点进行连接。

若能够通过所述选择的节点接入网络,则根据所述选择的节点的路由表更新本地的路由表。

实施例二的网络接入装置10通过网络中的预设入口节点接入所述网络;通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;将所述多个第二节点中可连接的节点加入入口节点池;当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。实施例二获得入口节点池,当再次接入网络时根据入口节点池接入网络,提高网络接入的稳定性。特别地,当所述预设入口节点忙时,实施例一的网络接入装置10可以明显减少网络接入的延时(不需要持续等待接入一个节点),提高网络接入的稳定性。

在另一实施例中,所述网络接入装置10还包括第三接入单元,用于若通过所述入口节点池中的所有节点不能接入所述网络,则通过所述预设入口节点接入所述网络。具体地,若连接所述入口节点池中的每个节点均失败或所述入口节点池中的每个选择的节点的连接状态均不满足预设阈值时,通过所述预设入口节点接入所述网络。

在另一实施例中,所述网络接入装置10还包括返回单元,用于当接收到所述网络中的第三节点的节点池获取请求时,将所述入口节点池中的一个或多个节点返回所述第三节点。所述第三节点向所述第一节点发送节点池获取请求以获取所述入口节点池的节点,当接收到所述网络中的第三节点的节点池获取请求时,按照可负载值从大到小的顺序从所述入口节点池中选择一个或多个节点返回所述第三节点。

在另一实施例中,所述网络接入装置10还包括第一更新单元,用于接收所述第二节点广播的节点信息,根据所述第二节点广播的节点信息更新所述入口节点池。

举例来说,第一节点接收所述第二节点广播的节点信息,若广播节点信息的第二节点在所述入口节点池中,则更新所述入口节点池中所述广播节点信息的第二节点的可负载值。若所述广播节点信息的第二节点不在所述入口节点池中,且所述入口节点池中的入口节点数量小于入口节点数量最大值,则将所述广播节点信息的第二节点加入所述入口节点池,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。若所述广播节点信息的第二节点不在所述入口节点池中且所述入口节点池中的入口节点数量等于入口节点数量最大值,则将最早加入所述入口节点池的节点删除,将所述广播节点信息的第二节点加入所述入口节点池。

再如,在接收所述第二节点广播的节点信息,根据所述第二节点广播的节点信息更新所述入口节点池的同时,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。

在另一实施例中,所述网络接入装置10还包括第二更新单元,用于向所述网络发出探测信息,接收所述第二节点响应于所述探测信息返回的节点信息,根据所述第二节点响应于所述探测信息返回的节点信息更新所述入口节点池。

举例来说,第一节点向所述网络发出探测信息,接收第二节点响应于所述探测信息返回的节点信息,若所述返回节点信息的第二节点在所述入口节点池中,则更新所述入口节点池中所述返回节点信息的节点的可负载值;若所述返回节点信息的第二节点不在所述入口节点池中,且所述入口节点池中的入口节点数量小于入口节点数量最大值,则将所述返回节点信息的第二节点加入所述入口节点池;若所述返回节点信息的第二节点不在所述入口节点池中且所述入口节点池中的入口节点数量等于入口节点数量最大值,则将加入所述入口节点池的时间点距离当前时间点最远的节点删除,将所述返回节点信息的第二节点加入所述入口节点池。

再如,在向所述网络发出探测信息,接收所述第二节点响应于所述探测信息返回的节点信息,根据所述第二节点响应于所述探测信息返回的节点信息更新所述入口节点池的同时,根据所述入口节点池中的节点的可负载值对所述入口节点池中的节点排序。

实施例三

本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述网络接入方法实施例中的步骤,例如图1所示的s101-s104:

s101,通过网络中的预设入口节点接入所述网络;

s102,通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

s103,将所述多个第二节点中可连接的节点加入入口节点池;

s104,当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-204:

第一接入单元201,用于通过网络中的预设入口节点接入所述网络;

获取单元202,用于通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

加入单元203,用于将所述多个第二节点中可连接的节点加入入口节点池;

第二接入单元204,用于当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

实施例四

图3为本发明实施例提供的计算机装置的示意图。所述计算机装置1包括存储器20、处理器30、总线50以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如shell执行权限获取程序。所述处理器30执行所述计算机程序40时实现上述网络接入方法实施例中的步骤,例如图1所示的s101-s104:

s101,通过网络中的预设入口节点接入所述网络;

s102,通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

s103,将所述多个第二节点中可连接的节点加入入口节点池;

s104,当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-204:

第一接入单元201,用于通过网络中的预设入口节点接入所述网络;

获取单元202,用于通过与所述预设入口节点交换路由表获取所述网络中的多个第二节点;

加入单元203,用于将所述多个第二节点中可连接的节点加入入口节点池;

第二接入单元204,用于当需要再次接入所述网络时,通过所述入口节点池中的节点接入所述网络。

示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的第一接入单元201、获取单元202、加入单元203、第二接入单元204,各单元具体功能参见实施例二。

所述计算机装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备等终端设备。在本实施例,所述计算机装置1可以是边缘服务器。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。

所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述总线50以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线50可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,计算机装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。

可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。

本领域技术人员可以理解,所述示意图3仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机装置上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机装置可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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