基于路径扩散的文件分发方法、系统及可读存储介质与流程

文档序号:27343810发布日期:2021-11-10 05:01阅读:97来源:国知局
基于路径扩散的文件分发方法、系统及可读存储介质与流程

1.本发明涉及互联网技术领域,尤其涉及一种基于路径扩散的文件分发方法、系统及可读存储介质。


背景技术:

2.随着互联网的普及和快速发展,越来越多的领域依赖于互联网来实现各种功能,如传统的现场教学也逐步发展为通过互联网进行网上教学。对于网上教学,通常由教师向学生传送教学资料,传送的方式则是以教师所用的终端为中心,以发散状的形式将教学资料发送到各个学生的终端内,具体如图1所示。
3.该教学资料的传送方式,教师终端的网络带宽是整个传送的瓶颈。所有的学生终端都等待教师终端传送的数据,一旦传送的数据较大,则传送的速度会非常慢。此外,还存在教师终端的单点故障的问题。如果教师终端出现故障,则整个传送都会失效。
4.因此,如何实现教学资料快速有效的传送,是当前亟待解决的技术问题。


技术实现要素:

5.本发明的主要目的在于提供一种基于路径扩散的文件分发方法、系统及可读存储介质,旨在解决现有技术中如何实现教学资料快速有效的传送的技术问题。
6.为实现上述目的,本发明提供一种基于路径扩散的文件分发方法,所述基于路径扩散的文件分发方法包括:
7.在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值,并根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点;
8.将待分发文件由所述初始节点分发到多个所述路径扩散节点,并将接收完所述述待分发文件的所述路径扩散节点作为目标扩散节点,确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值;
9.根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点,并将所述待分发文件由所述目标扩散节点分发到所述待扩散节点;
10.在所述待扩散节点接收完所述待分发文件后,将所述待扩散节点设为新的目标扩散节点,执行确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值的步骤,直到所述路径中的各所述主节点均接收到所述待分发文件。
11.可选地,所述将待分发文件由所述初始节点分发到多个所述路径扩散节点的步骤包括:
12.根据多个所述路径扩散节点分别对应的第一路径值之间的大小关系,确定多个所述路径扩散节点之间的发送时间前后顺序;
13.根据所述发送时间前后顺序,将所述待分发文件依次从所述初始节点分发到多个
所述路径扩散节点。
14.可选地,所述根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点的步骤包括:
15.将各所述第二路径值进行对比,确定各所述第二路径值中的最小值;
16.查找各所述其他主节点中与所述最小值对应的其他主节点,并将查找到的所述其他主节点,作为与所述目标扩散节点对应的待扩散节点。
17.可选地,所述将所述待分发文件由所述目标扩散节点分发到所述待扩散节点的步骤包括:
18.判断所述待扩散节点是否处于接收文件状态,若处于接收文件状态,则根据各所述第二路径值的升序,查找数值位于所述最小值上一顺序的第二路径值;
19.将各所述其他主节点中与查找到的第二路径值对应的其他主节点作为新的待扩散节点,执行判断所述待扩散节点是否处于接收文件状态的步骤;
20.若所述待扩散节点非处于接收文件状态,则将所述待分发文件由所述目标扩散节点分发到所述待扩散节点。
21.可选地,所述根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点的步骤包括:
22.将各所述第一路径值按照从小到大的顺序进行排序,生成数值序列;
23.从所述数值序列中筛选出排列在前的多个第一路径值,并将与筛选的多个所述第一路径值分别对应的主节点,作为多个所述路径扩散节点;
24.其中,所述第一路径值的数量与所述初始节点的并发数量相同。
25.可选地,所述确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤包括:
26.基于所述初始节点运行预设命令,由所述预设命令向各所述主节点分别传输测试数据;
27.根据各所述主节点基于所述测试数据分别向所述初始节点返回反馈数据的时间,确定各所述第一路径值。
28.可选地,所述在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤之前包括:
29.检测所述路径中的各主节点是否均返回心跳,若均返回心跳,则根据各所述主节点返回的心跳,验证所述路径中各主节点的有效性,并在验证各所述主节点均有效后,判定所述路径中的各主节点均启动;
30.若检测到所述路径中至少存在一个主节点未返回心跳,则判定所述路径中存在未启动的主节点,并查找未启动的主节点进行再次启动。
31.可选地,所述检测所述路径中的各主节点是否均返回心跳的步骤之前包括:
32.将所述路径中的各分发节点划分为主节点和从节点,其中,每一分发节点均包括一个主节点和至少一个从节点,且至少一个从节点隶属于所述主节点,以对所述主节点接收的待分发文件进行辅助处理;
33.控制各所述主节点启动,并接收各所述主节点启动后返回的心跳。
34.进一步地,为实现上述目的,本发明还提供一种基于路径扩散的文件分发系统,所
述基于路径扩散的文件分发系统包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的控制程序,所述控制程序被所述处理器执行时实现如上所述的基于路径扩散的文件分发方法的步骤。
35.进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有控制程序,所述控制程序被处理器执行时实现如上所述的基于路径扩散的文件分发方法的步骤。
36.本发明的基于路径扩散的文件分发方法、系统及可读存储介质,以路径扩散的方式传送包括教学资料在内的各种文件,在检测到路径中的各主节点均启动后,确定路径中初始节点分别与各主节点之间的第一路径值,并依据各个第一路径值,从各主节点中确定出多个路径扩散节点;其中,初始节点为发出文件的节点,各主节点为文件需要分发到的节点,路径扩散节点为由初始节点直接发送文件的节点;此后,将需要发送的文件作为待分发文化,由初始节点分发到多个路径扩散节点,并在任意一个路径扩散节点接收完待分发文件后,将该路径扩散节点作为目标扩散节点,确定其与尚未开始接收待分发文件的其他主节点之间的第二路径值;进而依据第二路径值,确定与目标扩散节点对应的待扩散节点,将待分发文件由目标扩散节点分发到待扩散节点,并将接收完待分发文件的待扩散节点设为新的目标扩散节点,确定其对应的待扩散节点进行文件分发,如此循环,直到将待分发文件分发待路径中的各个主节点。以此,避免将单个节点作为分发中心向其他节点分发文件,在初始节点将文件分发到各个路径扩散节点后,由各个路径扩散节点向其他节点继续分发文件,实现文件的并行传送,有利于传送速度的提高;同时,即便路径扩散节点中的某一节点出现故障,也不会影响其他路径扩散节点的文件分发,因此,实现了包括教学资料在内的各种文件的快速有效传送。
附图说明
37.图1为现有技术中以发散状的形式将教学资料发送到各个学生终端的示意图;
38.图2为本发明基于路径扩散的文件分发系统实施例方案涉及的硬件运行环境的结构示意图;
39.图3为本发明基于路径扩散的文件分发方法第一实施例的流程示意图;
40.图4为本发明基于路径扩散的文件分发方法第二实施例的流程示意图;
41.图5为本发明基于路径扩散的文件分发方法第三实施例的流程示意图;
42.图6为本发明基于路径扩散的文件分发方法第四实施例的流程示意图;
43.图7为本发明基于路径扩散的文件分发方法中待分发文件的分发路径示意图。
44.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
45.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
46.本发明提供一种基于路径扩散的文件分发系统。
47.请参照图2,图2为本发明基于路径扩散的文件分发系统实施例方案涉及的硬件运行环境的结构示意图。
48.如图2所示,该基于路径扩散的文件分发系统可以包括处理器1001,例如cpu,通信
总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
49.本领域技术人员可以理解,图2中示出的基于路径扩散的文件分发系统的硬件结构并不构成对基于路径扩散的文件分发系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
50.如图2所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及控制程序。其中,操作系统是管理和控制基于路径扩散的文件分发系统与软件资源的程序,支持网络通信模块、用户接口模块、控制程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
51.在图2所示的基于路径扩散的文件分发系统硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的控制程序,并执行以下操作:
52.在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值,并根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点;
53.将待分发文件由所述初始节点分发到多个所述路径扩散节点,并将接收完所述述待分发文件的所述路径扩散节点作为目标扩散节点,确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值;
54.根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点,并将所述待分发文件由所述目标扩散节点分发到所述待扩散节点;
55.在所述待扩散节点接收完所述待分发文件后,将所述待扩散节点设为新的目标扩散节点,执行确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值的步骤,直到所述路径中的各所述主节点均接收到所述待分发文件。
56.进一步地,所述将待分发文件由所述初始节点分发到多个所述路径扩散节点的步骤包括:
57.根据多个所述路径扩散节点分别对应的第一路径值之间的大小关系,确定多个所述路径扩散节点之间的发送时间前后顺序;
58.根据所述发送时间前后顺序,将所述待分发文件依次从所述初始节点分发到多个所述路径扩散节点。
59.进一步地,所述根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点的步骤包括:
60.将各所述第二路径值进行对比,确定各所述第二路径值中的最小值;
61.查找各所述其他主节点中与所述最小值对应的其他主节点,并将查找到的所述其他主节点,作为与所述目标扩散节点对应的待扩散节点。
62.进一步地,所述将所述待分发文件由所述目标扩散节点分发到所述待扩散节点的步骤包括:
63.判断所述待扩散节点是否处于接收文件状态,若处于接收文件状态,则根据各所述第二路径值的升序,查找数值位于所述最小值上一顺序的第二路径值;
64.将各所述其他主节点中与查找到的第二路径值对应的其他主节点作为新的待扩散节点,执行判断所述待扩散节点是否处于接收文件状态的步骤;
65.若所述待扩散节点非处于接收文件状态,则将所述待分发文件由所述目标扩散节点分发到所述待扩散节点。
66.进一步地,所述根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点的步骤包括:
67.将各所述第一路径值按照从小到大的顺序进行排序,生成数值序列;
68.从所述数值序列中筛选出排列在前的多个第一路径值,并将与筛选的多个所述第一路径值分别对应的主节点,作为多个所述路径扩散节点;
69.其中,所述第一路径值的数量与所述初始节点的并发数量相同。
70.进一步地,所述确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤包括:
71.基于所述初始节点运行预设命令,由所述预设命令向各所述主节点分别传输测试数据;
72.根据各所述主节点基于所述测试数据分别向所述初始节点返回反馈数据的时间,确定各所述第一路径值。
73.进一步地,所述在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤之前;处理器1001可以调用存储器1005中存储的控制程序,并执行以下操作:
74.检测所述路径中的各主节点是否均返回心跳,若均返回心跳,则根据各所述主节点返回的心跳,验证所述路径中各主节点的有效性,并在验证各所述主节点均有效后,判定所述路径中的各主节点均启动;
75.若检测到所述路径中至少存在一个主节点未返回心跳,则判定所述路径中存在未启动的主节点,并查找未启动的主节点进行再次启动。
76.进一步地,所述检测所述路径中的各主节点是否均返回心跳的步骤之前;处理器1001可以调用存储器1005中存储的控制程序,并执行以下操作:
77.将所述路径中的各分发节点划分为主节点和从节点,其中,每一分发节点均包括一个主节点和至少一个从节点,且至少一个从节点隶属于所述主节点,以对所述主节点接收的待分发文件进行辅助处理;
78.控制各所述主节点启动,并接收各所述主节点启动后返回的心跳。
79.本发明基于路径扩散的文件分发系统的实施方式与下述基于路径扩散的文件分发方法各实施例基本相同,在此不再赘述。
80.本发明提供一种基于路径扩散的文件分发方法,参照图3,图3为本发明基于路径
扩散的文件分发方法第一实施例的流程示意图。
81.本发明实施例提供了基于路径扩散的文件分发方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例基于路径扩散的文件分发方法包括:
82.步骤s10,在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值,并根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点;
83.本实施例基于路径扩散的文件分发方法应用于需要分发文件的分发终端,该分发终端与需要接收文件的多个接收终端共同形成上述文件分发系统。并且,分发终端与多个接收终端之间的传输通道,以及接收终端与接收终端之间的传输通道,形成用于分发的路径,多个接收终端形成路径中的主节点,由分发终端依据路径扩散实现将文件分发至多个作为主节点的接收终端。
84.具体地,先检测路径中的各主节点是否均启动,若均启动则确定路径中的初始节点分别到各主节点之间的第一路径值。其中,初始节点由分发节点形成,第一路径值体现了初始节点到主节点之间传输速度的快慢,可由初始节点向主节点发送测试数据确定。
85.进一步地,在各个主节点均确定各自与初始节点之间的第一路径值之后,则可从各个主节点中确定出多个路径扩散节点。该路径扩散节点用于直接从初始节点中接收文件,再向其他节点下发;且其数量可通过预先针对初始节点设定的并发数量确定,也可通过限定路径值的范围确定。对于预先设定的并发数量,则将各第一路径值对比,从其中选择体现传输速度快的主节点,且选择的数量与并发数量相同。
86.对于限定路径值的范围,预先设定表征速度高于一定值的数值范围,当第一路径值在该数值范围内,则将生成该第一路径值的主节点作为路径扩散节点,以此从主节点中选择出多个路径扩散节点。
87.具体请参照图7所示,其中v1为初始节点,v2到v7为主节点,从v1指出的箭头上的数值为第一路径值,v2、v3和v4为确定的路径扩散节点。
88.步骤s20,将待分发文件由所述初始节点分发到多个所述路径扩散节点,并将接收完所述述待分发文件的所述路径扩散节点作为目标扩散节点,确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值;
89.更进一步地,将需要分发的文件作为待分发文件由初始节点分别分发到多个路径扩散节点,并且,因不同路径扩散节点与初始节点之间的第一初始值不一样,使得初始节点向各路径扩散节点发送完待分发文件的时间不一样。第一初始值越小,传输速度快,发送完待分发文件的时间越少,路径扩散节点越早接收待分发文件。
90.并且,待分发文件可以由初始节点同时向各个路径扩散节点分发,也可以逐一分发,本实施例优选为逐一分发。具体地,所述将待分发文件由所述初始节点分发到多个所述路径扩散节点的步骤包括:
91.步骤s21,根据多个所述路径扩散节点分别对应的第一路径值之间的大小关系,确定多个所述路径扩散节点之间的发送时间前后顺序;
92.步骤s22,根据所述发送时间前后顺序,将所述待分发文件依次从所述初始节点分发到多个所述路径扩散节点。
93.进一步地,将多个路径扩散节点各自具有的第一路径值对比,确定大小关系,由大小关系对多个路径扩散节点排序,生成多个路径扩散节点之间的发送时间前后顺序。第一路径值越大的路径扩散节点排在前面,越小的排在后面;根据发送时间先后顺序,先向第一路径值大的路径扩散节点发送待分发文件,以便于该路径扩散节点接收完待分发文件后向其他主节点分发,使得初始节点和路径扩散节点之间实现互不干涉的并行分发,提高分发效率。
94.需要说明的是,对待分发文件的可以加密分发,以确保待分发文件的安全性,避免文件泄漏。具体地,初始节点在获取到待分发文件后,根据待分发文件的隐私等级标识,判断所述待分发文件是否为加密分发文件;若为加密分发文件,则识别与隐私等级标识对应的加密方案,以该对应的加密方案对待分发文件进行加密,并将加密后的待分发文件分发到各个路径扩散节点。
95.进一步地,当某一个路径扩散节点接收完待分发文件后,将该路径扩散节点设为目标扩散节点,并以该目标扩散节点为基础,计算其与剩余尚未开始接收待分发文件的其他主节点之间的第二路径值。如对于图7,若v2接收完待分发文件,则将其作为目标扩散节点,计算其与v5、v6和v7之间的第二路径值,即从v2开始各个箭头上的数值;并且,还检测v1是否开始向v3分发待分发文件。若开始向v3分发待分发文件,则不计算与v3之间的第二路径值,若尚未开始向v3分发待分发文件,则还计算与v3之间的第二路径值。
96.其中,对于路径扩散节点是否接收完待分发文件,可通过路径扩散节点向初始节点返回文件大小值进行判断。具体地,当初始节点接收到任意路径扩散节点返回的文件大小值后,将该文件大小值与初始节点中的参考大小值比较,判断文件大小值与参考大小值是否匹配;其中,文件大小值为路径扩散节点接收到待分发文件的数据大小值,参考大小值为初始节点向路径扩散节点分发的待分发文件具有的数据大小值。若文件大小值与参考大小值匹配,则说明路径扩散节点接收到完整的待分发文件,向路径扩散节点分配分发完成标识,以基于分发完成标识将该路径扩散节点作为目标扩散节点,并将文件大小值形成为目标扩散节点的参考大小值,用于判断由其下发文件的主节点是否接收到完整的待分发文件。
97.进一步地,若经对比确定文件大小值与参考大小值不匹配,则统计不匹配的次数,并判断次数是否大于预设次数;其中预设次数为预先设置用于体现主节点未接收到完整待分发文件的次数较多,可能存在异常的数值。若统计得到的次数大于预设次数,则输出路径扩散节点异常的提示信息,提示对路径扩散节点及时修复;若统计得到的次数小于或等于预设次数,则继续由初始节点再次向该路径扩散节点分发待分发文件。
98.步骤s30,根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点,并将所述待分发文件由所述目标扩散节点分发到所述待扩散节点;
99.更进一步地,在计算出目标扩散节点与尚未开始接收待分发文件的其他主节点之间的第二路径值之后,则可以及各第二路径值之间的大小关系,从各其他主节点中确定出与目标扩散节点对应的待扩散节点,以便于目标扩散节点将待分发文件分发到该待扩散节点。具体地,所述根据所述第二路径值,确定各所述其他主节点中与所述目标扩散节点对应的待扩散节点的步骤包括:
100.步骤s31,将各所述第二路径值进行对比,确定各所述第二路径值中的最小值;
101.步骤s32,查找各所述其他主节点中与所述最小值对应的其他主节点,并将查找到的所述其他主节点,作为与所述目标扩散节点对应的待扩散节点。
102.进一步地,第二路径值值表征了目标扩散节点到其他主节点之间传输速度的快慢,通过将各第二路径值对比,查找其中的最小值。生成该最小值的其他主节点与目标传输节点之间具有最快的传输速度,故从各其他主节点中查找出生成该最小值的其他主节点作为与目标扩散节点对应的待扩散节点,并由主节点将待分发文件分发到该待扩展节点,实现待分发文件的快速传输。
103.步骤s40,在所述待扩散节点接收完所述待分发文件后,将所述待扩散节点设为新的目标扩散节点,执行确定所述目标扩散节点与各所述主节点中尚未开始接收所述待分发文件的其他主节点之间的第二路径值的步骤,直到所述路径中的各所述主节点均接收到所述待分发文件。
104.更进一步地,依据待扩散节点向目标扩散节点反馈的文件大小值,判断待扩散节点是否接收完待分发文件,若接收完待分发文件,则将待扩散节点设为新的目标扩散节点,并以该新的目标扩散节点为基础,计算其与与剩余尚未开始接收待分发文件的其他主节点之间的第二路径值,以通过新计算的第二路径值,确定新的待扩散节点,由新的目标扩散节点向新的待扩散节点分发待分发文件。如此循环,直到各个主节点均接收到待分发文件。具体如图7所示,若通过第二路径值,将v3确定为待扩散节点,由v2向v3分发待分发文件,在v3接收完待分发文件后,则将其设为新的目标扩散节点,并计算其与v5、v6和v7之间的第二路径值,确定新的待扩散节点进行待分发文件的分发,直到各个主节点均接收到待分发文件。
105.本发明的基于路径扩散的文件分发方法,以路径扩散的方式传送包括教学资料在内的各种文件,在检测到路径中的各主节点均启动后,确定路径中初始节点分别与各主节点之间的第一路径值,并依据各个第一路径值,从各主节点中确定出多个路径扩散节点;其中,初始节点为发出文件的节点,各主节点为文件需要分发到的节点,路径扩散节点为由初始节点直接发送文件的节点;此后,将需要发送的文件作为待分发文化,由初始节点分发到多个路径扩散节点,并在任意一个路径扩散节点接收完待分发文件后,将该路径扩散节点作为目标扩散节点,确定其与尚未开始接收待分发文件的其他主节点之间的第二路径值;进而依据第二路径值,确定与目标扩散节点对应的待扩散节点,将待分发文件由目标扩散节点分发到待扩散节点,并将接收完待分发文件的待扩散节点设为新的目标扩散节点,确定其对应的待扩散节点进行文件分发,如此循环,直到将待分发文件分发待路径中的各个主节点。以此,避免将单个节点作为分发中心向其他节点分发文件,在初始节点将文件分发到各个路径扩散节点后,由各个路径扩散节点向其他节点继续分发文件,实现文件的并行传送,有利于传送速度的提高;同时,即便路径扩散节点中的某一节点出现故障,也不会影响其他路径扩散节点的文件分发,因此,实现了包括教学资料在内的各种文件的快速有效传送。
106.进一步地,请参照图4,基于本发明基于路径扩散的文件分发方法的第一实施例,提出本发明基于路径扩散的文件分发方法第二实施例。
107.所述基于路径扩散的文件分发方法第二实施例与所述基于路径扩散的文件分发方法第一实施例的区别在于,所述将所述待分发文件由所述目标扩散节点分发到所述待扩散节点的步骤包括:
108.步骤s33,判断所述待扩散节点是否处于接收文件状态,若处于接收文件状态,则根据各所述第二路径值的升序,查找数值位于所述最小值上一顺序的第二路径值;
109.步骤s34,将各所述其他主节点中与查找到的第二路径值对应的其他主节点作为新的待扩散节点,执行判断所述待扩散节点是否处于接收文件状态的步骤;
110.步骤s35,若所述待扩散节点非处于接收文件状态,则将所述待分发文件由所述目标扩散节点分发到所述待扩散节点。
111.进一步地,路径中存在的主节点众多,接收完待分发文件的主节点也越来越多,同一时间可能存在多个目标扩散节点。一个目标扩散节点在将某一个其他主节点作为待扩散节点进行分发文件后,另一个目标扩散节点也可能将该其他主节点确定为待扩散节点。因此,为了避免将同一其他主节点作为待扩散节点而导致待分发文件的重复分发,本实施例设置有对待扩散节点的接收状态检测机制。
112.具体地,通过待扩散节点的状态标识,判断待扩散节点是否处于接收文件状态,若处于接收文件状态,则说明当前已经有其他目标扩散节点正在向待扩散节点分发待分发文件,无需再向该待扩散节点分发待分发文件。此时,依据各个第二路径值的升序顺序,查找数值位于最小值上一顺序的第二路径值,即查找各个第二路径值中,数值仅比最小的第二路径值大的第二路径值。
113.进一步地,对于查找到的第二路径值,从各个其他主节点中确定出生成其的其他主节点作为新的待扩散节点,并判断该新的待扩散节点是否处于接收文件状态。若处于接收文件状态,则继续查找下一个新的第二路径值及其对应的待扩散节点进行判断。若未处于接收文件状态,则由目标扩散节点将待分发文件分发到该待扩散节点。如此循环,直到各个主节点均接收到待接收文件。
114.本实施例在由目标扩散节点将待分发文件分发到待扩散节点时,通过检测待扩散节点是否处于接收文件状态,来避免向待扩散节点重复分发待分发文件,在向各主节点准确传送文件的同时,有利于传送效率的提高。
115.进一步地,请参照图5,基于本发明基于路径扩散的文件分发方法的第一或第二实施例,提出本发明基于路径扩散的文件分发方法第三实施例。
116.所述基于路径扩散的文件分发方法第三实施例与所述基于路径扩散的文件分发方法第一或第二实施例的区别在于,所述确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤包括:
117.步骤s11,基于所述初始节点运行预设命令,由所述预设命令向各所述主节点分别传输测试数据;
118.步骤s12,根据各所述主节点基于所述测试数据分别向所述初始节点返回反馈数据的时间,确定各所述第一路径值。
119.本实施例对于初始节点与各主节点之间的第一路径值,通过初始节点向主节点发送测试数据进行确定。具体地,在初始节点中运行预设命令,该预设命令为预先设置用于向主节点发送测试数据的命令,如“ping”命令。通过该预设命令向各主节点分别传输测试数据,各主节点在接收到测试数据后,向初始节点返回反馈数据。根据发送测试数据的时间以及接收到反馈数据的时间,确定向向各主节点发送数据的第一路径值。
120.其中,第一路径值可以是发送时间和接收时间之间的时间差,通过时间差来体现
传输速度的快慢,时间差越小则传输速度越快,反之则越慢。也可以设置与时间差范围对应的系数,将系数作为第一路径值,如设置时间差范围在5ms到10ms之间对应系数a,在11ms到20ms之间对应系数a+2,若发送测试数据和接收反馈数据之间的时间差为8ms,则可确定第一路径值为a。以此,通过系数体现传输速度的快慢,系数值越小则传输速度越快,反之则越慢。当然也可以设置为系数值越大表示传输速度越快,反之则越慢,对此不作限制。
121.需要说明的是,目标扩散节点与其他主节点之间的第二路径值,与第一路径值的确定方式相同,在此不作赘述。
122.进一步地,所述根据各所述第一路径值,从各所述主节点中确定出多个路径扩散节点的步骤包括:
123.步骤s13,将各所述第一路径值按照从小到大的顺序进行排序,生成数值序列;
124.步骤s14,从所述数值序列中筛选出排列在前的多个第一路径值,并将与筛选的多个所述第一路径值分别对应的主节点,作为多个所述路径扩散节点;
125.其中,所述第一路径值的数量与所述初始节点的并发数量相同。
126.更进一步地,在确定初始节点与各个主节点之间的第一路径值之后,则对各第一路径值按照从小到大的顺序排序,生成数值序列。因本实施例中第一路径值越小,表示传输速度越快,对应的主节点越可能被确定为路径扩散节点;故对于从小到大的数值序列,排列越靠前的数值表示传输速度越快,对应的主节点越可能被确定为路径扩散节点。
127.进一步地,为了确保待传输文件的传输效率,本实施例对初始节点设置有并发机制。具体地,预先设定初始节点的并发数量,并从数值序列中筛选出排列在前的多个第一路径值,该筛选的第一路径值的个数与初始节点的并发数量相同。进而对于筛选出的第一路径值,查找对应的主节点,并将查找到的主节点作为路径扩散节点。路径扩散节点的数量与并发数量相同,供初始节点并发向各个路径扩散节点分发待分发文件,以提高待分发文件的传送速度。
128.本实施例通过检测初始节点与各主节点之间的第一路径值,由第一路径值体现初始节点与主节点之间的通信传输速度,进而选择体现传输速度快的多个第一路径值及其对应的主节点作为路径扩散节点,供初始节点并发传送待分发文件,有利于待分发文件的高效分发。
129.进一步地,请参照图6,基于本发明基于路径扩散的文件分发方法的第一、第二或第三实施例,提出本发明基于路径扩散的文件分发方法第四实施例。
130.所述基于路径扩散的文件分发方法第四实施例与所述基于路径扩散的文件分发方法第一、第二或第三实施例的区别在于,所述在检测到路径中的各主节点均启动后,确定所述路径中初始节点分别与各所述主节点之间的第一路径值的步骤之前包括:
131.步骤s50,检测所述路径中的各主节点是否均返回心跳,若均返回心跳,则根据各所述主节点返回的心跳,验证所述路径中各主节点的有效性,并在验证各所述主节点均有效后,判定所述路径中的各主节点均启动;
132.步骤s60,若检测到所述路径中至少存在一个主节点未返回心跳,则判定所述路径中存在未启动的主节点,并查找未启动的主节点进行再次启动。
133.本实施例通过监测各主节点的心跳来确定路径中的各主节点是否均启动。具体地,由初始节点每隔固定时间或者不超过某个时间间隔,向各个主节点发送一个检测数据
包,并且,由检测数据包中的数据指示各主节点在收到检测数据包之后需回复一个反馈数据包,并且指示回复的反馈数据包中需携带主节点标识。
134.进一步地,将各主节点回复的反馈数据包作为返回心跳,检测路径中各主节点是否均返回心跳,若各主节点均返回心跳,则说明各主节点与初始节点之间的通信正常。但为了避免各主节点中存在假冒节点,还通过作为心跳的反馈数据包中携带的主节点标识,验证路径中各主节点的有效性。其中,预先设置表征路径中各主节点唯一性的参考标识,对于各个主节点返回的心跳,读取其中携带的主节点标识与各自的参考标识对比,判断两者是否一致。
135.若各个主节点的主节点标识均与各自的参考标识一致,则判定路径中的各主节点均有效;此时,判定路径中的各主节点均启动,可确定第一路径值以传送待分发文件。若各主节点的主节点标识中存在任意一项与其参考标识不一致,则判断各主节点中存在无效的主节点;此时,输出提示信息,以提示对无效的主节点及时处理。
136.进一步地,若各主节点中存在任意一个主节点未返回心跳,则判定路径中存在未启动的主节点。此时,从各主节点中查找出该未启动的主节点,并对其进行再次启动,直到其在预定启动次数内启动成功,或者在预定启动次数内未启动成功,而输出对该主节点进行维护的提示信息。
137.需要说明的是,作为各主节点的终端可以是虚拟机。如在进行大数据教学的时间过程中,使用kvm虚拟机作为大数据集群的虚拟机供学生使用,并且,为了高效的进行大数据教学,可将供学生使用的虚拟设置为虚拟机组。即针对每个学生均设置多个虚拟机,其中一个作为主虚拟机,形成路径中的主节点,用于接收教师传送的文件;其他的均作为从属于主虚拟机的从虚拟机,相当于路径中的从节点,用于对接收的文件进行处理。对于此,本实施例中,所述检测所述路径中的各主节点是否均返回心跳的步骤之前包括:
138.步骤s70,将所述路径中的各分发节点划分为主节点和从节点,其中,每一分发节点均包括一个主节点和至少一个从节点,且至少一个从节点隶属于所述主节点,以对所述主节点接收的待分发文件进行辅助处理;
139.步骤s80,控制各所述主节点启动,并接收各所述主节点启动后返回的心跳。
140.进一步地,在路径中设置多个分发节点,每个分发节点对应一个虚拟机组,虚拟机组中包括多台虚拟机。并且,将虚拟机组中的一台虚拟机标识为主虚拟机,将其他虚拟机标识为从属于该主虚拟机的从虚拟机。针对每个分发节点,将其中标识的主虚拟机划分为主节点,以及将标识的从虚拟机划分为从节点。因从虚拟机从属于主虚拟机,故划分的从节点也隶属于主节点,主节点用于上述通过路径扩散的方式接收待分发文件,从节点则用于对主节点接收的待分发文件进行辅助处理。
141.进一步地,控制路径中划分的各主节点启动,并向各个主节点发送检测数据包。此后,接收各主节点针对检测数据包返回的反馈数据包,作为各节点启动后返回的心跳。通过检测各主节点是否均返回心跳,来检测各主节点是否均有效启动。
142.本实施例将路径的分发节点划分为主节点和从节点,在接收待分发文件阶段,只需要启动其中的主节点,避免了所有节点均启动后才进行待分发文件的分发,通过节省节点启动的时间来提高待分发文件的分发效率。同时,通过各主节点是否均返回心跳,以及验证各主节点的有效性,来确保各主节点的有效启动,有利于后续待分发文件的有效分发。
143.本发明实施例还提出一种可读存储介质。所述可读存储介质上存储有控制程序,所述控制程序被所述处理器执行时实现如上所述基于路径扩散的文件分发方法的步骤。
144.本发明可读存储介质可以为确定机可读存储介质,其具体实施方式与上述基于路径扩散的文件分发方法各实施例基本相同,在此不再赘述。
145.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1