本技术涉及视频传输分发,特别是涉及一种数据传输方法、装置、计算机设备和存储介质。
背景技术:
1、随着互联网媒体的不断发展,越来越多的用户具有观看直播等视频流的生活需求,视频流需要通过网络从上传方传输至各个用户终端。
2、然而,在有限的网络设施上同时传输大量的视频流具有一定的难度。例如,在现有的基于云-边-端分层的架构中,所有的视频流都会进入中心云节点进行处理,造成中心云节点的服务压力爆炸式增加,如果中心云节点出现故障,那么会增加视频流传输的时延,甚至无法为大范围的用户提供服务。此外,如果边缘节点的区域范围设置不够合理,或者某个区域内的用户突然增加,也会导致视频传输的服务质量急速下降。
3、因此,大规模的视频传输对网络的传输和分发方式提出了更高的要求。
技术实现思路
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、上述数据传输方法、装置、计算机设备和存储介质,在具有向数据接收端发送目标数据流需求的情况下,根据目标数据流对应的数据发送端的地址信息,从第一边缘节点列表中筛选出至少两个第一边缘节点,以及根据数据接收端的地址信息,从第二边缘节点列表中筛选出至少两个第二边缘节点,进而根据各第一边缘节点的资源状态和各第二边缘节点的资源状态,以及数据发送端与数据接收端之间各通信链路的链路状态,从各第一边缘节点中确定第一目标节点,以及从各第二边缘节点中确定第二目标节点,控制第一目标节点和第二目标节点,将目标数据流从数据发送端传输至数据接收端。本技术从不同的边缘节点列表中筛选出角色分工不同的第一边缘节点和第二边缘节点,进而基于各边缘节点的资源状态和各通信链路的链路状态,从中选择更合适的第一目标节点和第二目标节点,通过第一目标节点和第二目标节点将数据发送端的目标数据流传输至数据接收端,从而选择更优的传输路径,保证数据传输的质量。