一种数据分发方法、装置、设备以及存储介质与流程

文档序号:36424918发布日期:2023-12-20 18:02阅读:51来源:国知局
一种数据分发方法与流程

本技术实施例涉及数据处理的,具体而言,涉及一种数据分发方法、装置、设备以及存储介质。


背景技术:

1、随着信息技术的不断发展和创新应用的推广,数据的传输和分发一直是人们关注的研究方法。

2、在早期阶段,主要是以数据传输可以满足不同应用场景为目的,而随着数字化的快速发展,越来越多的应用场景都需要更加高效、更加可靠地进行大规模数据处理和分发,即越来越多的应用场景对于数据传输或数据分发的效率和质量的需求日益增长,因此人们对于数据文件分发的方法进行了深入探究,并提出了一些优化策略和改进方法,以进一步提高其效率和可靠性。

3、数据分发算法包括基于集中式架构的数据传输方法,如ftp(file transferprotocol,文件传输协议)等,集中式架构的数据传输方法通常需要一个中心服务器作为文件存储和分发的单点,客户端需要不断地向中心服务器发送请求以获取文件,虽然这种方法易于实现和方便管理,但由于依赖于单个服务器,存在性能瓶颈和可靠性问题。

4、因此,如何可靠地将数据高效分发仍是一个备受关注的问题。


技术实现思路

1、本技术实施例提供一种数据分发方法、装置、设备以及存储介质,旨在提高数据分发的性能。

2、第一方面本技术实施例提供一种数据分发方法,所述方法包括:

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、对于任一源节点,若轮询所述当前待分发节点列表的所有节点后,未确定该源节点对应的目标节点,从所述源节点列表中删除该源节点。

38、可选地,所述方法还包括:

39、响应于新的节点的加入请求,将所述新的节点添加在待分发节点列表中。

40、可选地,所述方法还包括:

41、检测故障节点的故障信号,将所述故障节点从所在的所述当前的源节点列表或所述当前的待分发节点列表中删除。

42、可选地,检测故障节点的故障信号,将所述故障节点从所在的所述当前的源节点列表或所述当前的待分发节点列表中删除之后,所述方法还包括:

43、响应于所述故障节点的故障恢复信号,检查所述故障节点中是否存在所述目标发送文件;

44、若所述故障节点中存在所述目标发送文件,将所述故障节点添加在所述源节点列表中;

45、若所述故障节点中不存在所述目标发送文件,将所述故障节点添加在所述待分发节点列表中。

46、第二方面,本技术实施例提供一种数据分发装置,所述装置包括:

47、第一执行模块,用于执行数据分发策略,其中,所述数据分发策略包括:在当前的待分发节点列表的多个节点中,分别确定当前的源节点列表中每个源节点各自对应的目标节点,其中,任意两个源节点各自对应的目标节点不重复;所述当前的源节点列表中的每个源节点分别向各自对应的目标节点发送目标发送文件;将成功接收所述目标发送文件的目标节点在所述当前的待分发节点列表中删除并加入所述当前的源节点列表中,得到更新后的源节点列表与更新后的待分发节点列表;

48、第二执行模块,用于根据所述更新后的源节点列表和所述更新后的待分发节点列表,再次执行所述数据分发策略。

49、第三方面,本技术实施例提供一种计算机设备,包括:至少一个处理器,以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行如实施例第一方面所述的数据分发方法。

50、第四方面,本技术实施例提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如实施例第一方面所述的数据分发方法。

51、有益效果:

52、执行数据分发策略,所述数据分发策略包括:在当前的待分发节点列表的多个节点中,分别确定当前的源节点列表中每个源节点各自对应的目标节点,其中,任意两个源节点各自对应的目标节点不重复;所述当前的源节点列表中的每个源节点分别向各自对应的目标节点发送目标发送文件;将成功接收所述目标发送文件的目标节点在所述当前的待分发节点列表中删除并加入所述当前的源节点列表中,得到更新后的源节点列表与更新后的待分发节点列表;根据所述更新后的源节点列表和所述更新后的待分发节点列表,再次执行所述数据分发策略。

53、在进行数据分发时,本方法当前的源节点列表中的各个源节点中已经存在目标发送文件,然后为每个源节点在当前的待分发节点列表中确定对应的目标节点,由每个源节点向其对应的目标节点发送目标发送文件,成功接收到目标发送文件的目标节点加入到当前的源节点列表中,并从当前的待分发节点列表中删除,进而在下一次数据分发的时候,该目标节点也作为源节点与源节点列表中的其他源节点一起分发目标发送文件,从而实现去中心化的数据分发,避免集中式数据分发方法存在的单点故障导致数据分发失败,提高了数据分发的可靠性,并且使得含有目标发送文件的任一节点均可以成为数据分发的分发节点,且每个源节点的目标节点不重复,可以提高数据分发的效率,从而提供一种具有更优性能的数据分发方法。

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