CN112954406A - 数据下载方法、装置、计算机设备和存储介质 - Google Patents
数据下载方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112954406A CN112954406A CN202110531639.2A CN202110531639A CN112954406A CN 112954406 A CN112954406 A CN 112954406A CN 202110531639 A CN202110531639 A CN 202110531639A CN 112954406 A CN112954406 A CN 112954406A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- fog node
- slice
- communication protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004891 communication Methods 0.000 claims abstract description 295
- 230000004044 response Effects 0.000 claims abstract description 50
- 230000002146 bilateral effect Effects 0.000 claims description 81
- 238000012545 processing Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 20
- 230000035515 penetration Effects 0.000 claims description 14
- 230000000149 penetrating effect Effects 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 239000003595 mist Substances 0.000 description 4
- 239000000523 sample Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及内容分发网络,具体涉及一种数据下载方法、装置、计算机设备和存储介质。所述方法包括:在获取到针对目标数据的数据下载请求时,查询与目标数据对应的至少一个雾节点的雾节点信息,雾节点信息至少包括雾节点的通信协议类型;基于雾节点信息,从至少一个雾节点中确定目标雾节点;根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;基于待下载的切片数据的切片信息,向与待下载的切片数据对应的目标雾节点发送切片下载请求;根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。采用本方法能够兼容不同的通信协议类型。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据下载方法、装置、计算机设备和存储介质。
背景技术
得益于各种视频媒体平台的广泛的应用,越来越多的用户选择通过多媒体平台来观看多媒体。当用户观看多媒体时,多媒体平台可从内容分发网络中下载相应的多媒体资源,并基于下载得到的多媒体数据播放多媒体。
然而随着网络规模的扩大,为了保证从内容分发网络中下载多媒体数据的速度,需要通过大量的缓存服务器来维持足够的网络带宽,从而大大提升了带宽成本。目前,主要是通过内容分发网络中的边缘设备来分担部分的数据下载压力,以降低内容分发网络的带宽压力。但是,由于不同的边缘设备可能采用不同的通信协议,因此,需要一种能够兼容不同通信协议类型的数据下载方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够兼容不同通信协议类型的数据下载方法、装置、计算机设备和存储介质。
一种数据下载方法,所述方法包括:
在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;
基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;
根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
一种数据下载装置,所述装置包括:
目标节点确定模块,用于在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
切片模块,用于根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
请求发送模块,用于基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
在一个实施例中,所述雾节点信息还包括雾节点的可用资源信息,所述目标节点确第模块还包括信息确定模块,用于在获取到针对目标数据的数据下载请求时,根据所述目标数据的数据标识确定与所述目标数据对应的雾节点集合,并获取所述雾节点集合中每个雾节点的可用资源信息;建立与所述雾节点集合中的每个雾节点间的穿透连接;根据所述穿透连接,确定所述雾节点集合中的每个雾节点的通信协议类型。
在一个实施例中,所述数据下载装置还用于根据所述通信协议类型、所述可用资源信息和所述单节点下载并发数,从所述至少一个雾节点中筛选出当前的目标雾节点;根据所述当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小;基于所述目标切片大小对待下载的目标数据进行切片处理,得到当前的待下载的切片数据的切片信息;基于所述当前的待下载的切片数据的切片信息,向所述当前的目标雾节点发送切片下载请求,以对所述当前的待下载的切片数据进行下载。
在一个实施例中,所述数据下载装置还用于更新所述当前的目标雾节点的雾节点信息,进入基于下一个目标雾节点进行切片数据下载的流程,并返回所述根据所述通信协议类型、所述可用资源信息和所述单节点下载并发数,从所述至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与所述目标文件对应的待下载的切片数据均下载完成。
在一个实施例中,所述目标节点确定模块还用于从所述至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。
在一个实施例中,所述切片模块还包括切片大小确定模块,用于在所述当前的目标雾节点的通信协议为双边可靠通信协议类型时,基于第一目标值确定用以进行切片处理的目标切片大小;在所述当前的目标雾节点的通信协议为无连接通信协议类型时,基于第二目标值确定用以进行切片处理的目标切片大小;所述第二目标值不同于所述第一目标值。
在一个实施例中,所述数据下载装置还用于基于所述雾节点信息,从所述雾节点中确定至少一个的目标雾节点;根据每个目标雾节点各自对应的通信协议类型,对待下载的目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息;基于每个所述待下载的切片数据的切片信息,向每个所述待下载的切片数据各自对应的目标雾节点发送切片下载请求。
在一个实施例中,所述切片模块还用于基于每个所述待下载的切片数据的切片信息,通过并行的方式向每个所述待下载的切片数据各自对应的目标雾节点发送切片下载请求;其中,同时下载的切片数据的数量小于或等于整体最大并发数。
在一个实施例中,所述数据下载装置还用于当所述终端支持双边可靠通信协议类型时,所述终端通过双边可靠通信协议或者无连接通信协议,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;当所述终端仅支持无连接通信协议类型时,所述终端通过无连接通信协议,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求。
在一个实施例中,切片数据包括至少一个资源数据包,所述数据下载装置还包括应答模块,用于对于多个目标雾节点中的每个目标雾节点,均在当前的目标雾节点的通信协议类型为目标协议类型时,确定从所述当前的目标雾节点下载的资源数据包;根据所述资源数据包生成相应的应答消息,并将所述应答消息发送至所述当前的目标雾节点;其中,所述应答消息用于指示所述当前的目标雾节点,基于终端已接收到的资源数据包重新发送终端未接收到的资源数据包。
在一个实施例中,述目标协议类型包括未知协议类型,所述应答模块还用于当基于终端接收到的资源数据包,将所述当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向所述当前的目标雾节点发送应答消息;当基于终端接收到的资源数据包,将所述当前的目标雾节点的通信协议类型从未知协议类型更新为无连接通信协议类型时,保持向所述当前的目标雾节点发送应答消息。
在一个实施例中,所述目标数据为目标视频,所述数据下载请求为多媒体播放应用发起的针对所述目标视频的视频下载请求,所述数据下载装置还用于当下载得到目标视频时,将所述目标视频发送至所述多媒体播放应用;通过所述多媒体播放应用播放所述目标视频。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;
基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;
根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;
基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;
根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上以下步骤:在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
上述数据下载方法、装置、计算机设备、存储介质和计算机程序,通过获取针对目标数据的数据下载请求,可基于数据下载请求查询与目标数据对应的至少一个雾节点的雾节点信息,从而可基于雾节点信息从至少一个雾节点中筛选出设备性能更佳的目标雾节点,进而可基于设备性能更加的目标雾节点提升目标数据的下载速率。通过确定目标雾节点,可基于目标雾节点的通信协议类型,对目标数据进行切片处理,得到更为符合目标雾节点特性的切片信息,如此,便可基于更为符合目标雾节点特性的切片信息向对应的目标雾节点发送切片下载请求,以快速从目标雾节点下载切片数据。通过从目标雾节点下载切片数据,可组合各目标雾节点返回的切片数据,得到目标数据。由于本申请可探测雾节点所采用的通信协议类型,并通过探测得到的通信协议类型,调度选择合适的目标雾节点以下载相应的切片数据,从而本申请能够兼容不同通信协议类型,从采用不同的通信协议类型的目标雾节点中下载切片数据。
附图说明
图1为一个实施例中数据下载方法的应用环境图;
图2为一个实施例中数据下载方法的流程示意图;
图3为一个实施例中基于PCDN SDK下载目标数据的示意图;
图4为一个实施例中数据下载的架构示意图;
图5为一个实施例中切片数据下载的示意图;
图6为一个实施例中数据下载的交互示意图;
图7为一个具体实施例中数据下载的流程示意图;
图8为一个具体实施例中数据下载的流程示意图;
图9为一个实施例中数据下载装置的结构框图;
图10为一个实施例中数据下载装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中描述数据下载方法的应用环境图。参照图1,该数据下载方法应用于数据下载系统100。该数据下载系统100包括终端102、雾节点104。当终端102获取得到针对目标数据的数据下载请求时,终端102可从雾节点104中筛选出目标雾节点,并对目标数据进行切片处理,得到切片信息。终端102向目标雾节点发送相应的切片信息,以实现从目标雾节点中下载切片数据,得到目标数据的目的。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,雾节点104可以为内容分发网络中的边缘设备,其中,边缘设备可以为路由器、或用户终端等。
容易理解地,内容分发网络中还可包含有缓存服务器,缓存服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
在相关技术中,由于用户使用内容分发网络(Content Delivery Network,CDN)进行数据下载时,需要将自己的终端或者服务器作为边缘设备接入CDN,且该边缘设备具有一定的可用带宽,因此,CDN中连接有大量具有一定网络带宽资源的边缘设备。同时,由于这个边缘设备从CDN中下载过部分数据,因此每一台边缘设备中都可能具有CDN缓存服务器中的部分数据。因此,CDN中的边缘设备缓存有数据信息且具有可用带宽,从而可将这部分的边缘设备作为数据下载的资源提供者,用以分担CDN中缓存服务器的数据下载压力。
本申请提供的技术方案还涉及云技术领域,具体设备到云技术中的云存储技术。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
此外,本申请提供的技术方案还涉及区块链技术,例如,可将待下载的切片数据存储于区块链中。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可包括区块链底层平台、平台产品服务层以及应用服务层。
在一个实施例中,如图2所示,提供了一种数据下载方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤S202,在获取到针对目标数据的数据下载请求时,查询与目标数据对应的至少一个雾节点的雾节点信息,雾节点信息至少包括雾节点的通信协议类型。
其中,雾节点指的是CDN中的边缘设备,边缘设备指的是处于CDN边缘网络中的设备。在一个具体实施例中,边缘设备具体可为CDN中的路由器或者用户终端等。相比于位于CDN中的缓存服务器,雾节点一般更靠近用户,且拥有大量闲置、优质、低成本的带宽。其中,缓存服务器指的是内容分发网络中的缓存有待下载数据的服务器。
雾节点信息指的是与雾节点相关的信息,雾节点信息可包括雾节点的设备类型、可用资源信息、采用的通信协议类型等。其中,设备类型指的是反映雾节点的类型的信息,例如,雾节点的设备类型可为路由器或者用户终端等。可用资源信息指的是反映雾节点中的可用计算机资源的信息,例如,可用资源信息具体可包括可用带宽信息以及可用内存信息等。
通信协议类型指的是雾节点所采用的通信协议的类型,通信协议类型具体可包括双边可靠通信协议类型和无连接通信协议类型等。双边可靠通信协议类型指的是能够进行可靠传输的通信协议类型,在此协议类型下,可保证传输的数据的完整性,而无需处理丢包问题。无连接通信协议类型指的无连接的传输层协议类型,通过该协议类型可提供面向事物的简单不可靠数据传送。
具体地,在获取得到针对目标数据的数据下载请求时,终端可从内容分发网络中查询存储有目标数据的雾节点,并获取存储有目标数据的雾节点的雾节点信息。在一个实施例中,内容分发网络还包括查询服务器,用以存储各雾节点的雾节点信息,当接收到数据下载请求时,终端可从查询服务器中查询存储有目标数据的雾节点,并获取存储有目标数据的雾节点的雾节点信息。其中,查询服务器指的是对接入CDN的雾节点所下载的数据进行记录的服务器。当雾节点从缓存服务器中下载数据时,查询服务器可记录雾节点所下载的数据的数据标识,从而当终端接收到针对目标数据的数据下载请求时,终端可基于目标数据的数据标识,从查询服务器中查询已下载过目标数据的雾节点。
在一个实施例中,在获取到针对目标数据的数据下载请求时,查询与目标数据对应的至少一个雾节点的雾节点信息,包括:在获取到针对目标数据的数据下载请求时,根据目标数据的数据标识确定与目标数据对应的雾节点集合,并获取雾节点集合中每个雾节点的可用资源信息;建立与雾节点集合中的每个雾节点间的穿透连接;根据穿透连接,确定雾节点集合中的每个雾节点的通信协议类型。
具体地,当获取得到针对目标数据的数据下载请求时,终端确定目标数据的数据标识,并基于数据标识从查询服务器中查询已下载过目标数据的雾节点,得到雾节点集合。查询服务器中还可存储有每个雾节点各自对应的可用资源信息,从而当获取得到雾节点集合时,终端还可获取雾节点集合中的每个雾节点各自对应的可用资源信息。
进一步地,终端可向雾节点集合中的每个雾节点分别发起穿透连接请求,以使雾节点基于穿透连接请求向终端返回穿透请求回复,从而终端可基于穿透请求回复与雾节点建立穿透连接,也即建立通信连接。当终端与雾节点间建立穿透连接时,终端可基于所建立的穿透连接向雾节点发送协议探测请求,通过协议探测请求探测雾节点所采用的通信协议类型。
在其中一个实施例中,终端可基于STUN(Session Traversal Utilities forNAT,NAT会话穿越应用程序)协议向雾节点发起穿透连接请求。
在其中一个实施例中,雾节点可基于协议探测请求向终端返回协议探测请求回复,通过协议探测请求回复返回所采用的通信协议类型。其中,雾节点返回的通信协议类型可包括双边可靠通信协议类型、无连接通信协议类型和未知协议类型。其中,双边可靠通信协议具体可为Cable协议,无连接通信协议具体可为UDP协议。Cable协议是一种在UDP协议的基础上添加可靠模块的传输协议,属于可靠UDP协议,且具有如下特点:1、Cable和UDP协议接口完全一样,也即使用方法完全一样;2、Cable是可靠协议,无需主动处理丢包;3、Cable属于双边可靠协议,即通信双方均需要使用Cable协议,才能保证可靠传输;4、Cable协议兼容UDP协议。UDP协议(User Datagram Protocol,用户数据报协议)是指是OSI(OpenSystem Interconnection,开放式系统互联)参考模型中的一种无连接的传输层协议,其能提供面向事务的简单不可靠信息传送服务。
在其中一个实施例中,当雾节点明确自身支持UDP协议时,可将UDP协议的协议类型发送至终端,例如,CDN中的安装备未更新程序的雾节点可将UDP协议的协议类型发送至终端。当雾节点明确自身支持Cable协议时,可将Cable协议的协议类型发送至终端,例如,CDN中的安装有更新后的程序的雾节点可将Cable协议的协议类型发送至终端。当雾节点暂时无法明确自身所支持的协议时,可将未知协议类型返回至终端。针对不同的通信协议类型,终端在目标雾节点选择和数据切片的时候可采取不同的策略,从而保证兼容性以及传输质量。
上述实施例中,通过在与雾节点集合中的雾节点建立穿透连接后,再进行通信协议类型的探测,不仅可以避免在STUN标准协议中添加用于进行协议类型探测的私有协议,提升协议的纯粹性,而且由于通信协议类型的探测属于传输层的工作,通过在与雾节点集合中的雾节点建立穿透连接后,再进行通信协议类型的探测,还可以减少OSI模型中的其余层次执行本应传输层执行的探测。
步骤S204,基于雾节点信息,从至少一个雾节点中确定目标雾节点。
具体地,当获取得到雾节点信息时,终端可基于雾节点信息从雾节点集合中选择目标雾节点。在一个实施例中,雾节点信息可包含有通信协议类型和可用资源信息,终端可基于通信协议类型和可用资源信息从至少一个雾节点中确定目标雾节点。
步骤S206,根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。
其中,切片数据对应目标数据中的部分数据,切片信息指的是用以标识切片数据在目标数据中所对应的数据部分的信息。切片信息具体可包括有目标数据的数据标识和数据范围,从而雾节点可基于数据标识和数据范围确定待传输至终端的数据。
具体地,为了保证下载速度以及下载可靠性,相比于无连接通信协议或者未知协议的雾节点,使用双边可靠通信协议的雾节点性能更好且更为可靠,因此所以为了充分利用使用双边可靠通信协议的雾节点,可以向其下载更大的切片数据。例如,终端可从使用双边可靠通信协议的目标雾节点中下载切片大小为256K的切片数据,从使用无连接通信协议类型的目标雾节点中下载切片大小为128K的切片数据。
终端可根据目标雾节点的通信协议类型,确定待下载的切片数据的数据大小,从而根据所确定的数据大小对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。
步骤S208,基于待下载的切片数据的切片信息,向与待下载的切片数据对应的目标雾节点发送切片下载请求。
具体地,当确定切片数据的切片信息时,终端可将切片信息发送至相应的目标雾节点,以使目标雾节点根据切片信息向终端返回切片数据,从而实现切片数据的下载。在一个实施例中,内容分发网络包括雾节点和缓存服务器,当终端接收到针对目标数据的数据下载请求时,终端可优先从雾节点中拉取待下载的目标数据,当从雾节点中下载的目标数据不完整时,再从缓存服务器中下载剩余资源。其中,雾节点和缓存服务器可为CDN中的同一节点,雾节点和缓存服务器也可不为CDN中的同一节点。本实施例在此不作限定。
值得注意的,步骤S204至步骤S208可交替执行,也依次执行。在一个实施例中,当步骤S204至步骤S208交替执行时,雾节点信息还包括雾节点的可用资源信息和单节点下载并发数,基于雾节点信息,从至少一个雾节点中确定目标雾节点,包括:根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点;根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息,包括:根据当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小;基于目标切片大小对待下载的目标数据进行切片处理,得到当前的待下载的切片数据的切片信息;基于待下载的切片数据的切片信息,向与待下载的切片数据对应的目标雾节点发送切片下载请求,包括:基于当前的待下载的切片数据的切片信息,向当前的目标雾节点发送切片下载请求,以对当前的待下载的切片数据进行下载;数据下载方法还包括:更新当前的目标雾节点的雾节点信息,进入基于下一个目标雾节点进行切片数据下载的流程,并返回根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与目标文件对应的待下载的切片数据均下载完成。
具体地,雾节点信息可包括由雾节点的通信协议类型、可用资源信息和单节点下载并发数,终端可基于通信协议类型、可用资源信息和单节点下载并发数,从雾节点集合中筛选出最优的一个目标雾节点,并将当前筛选出的最优的目标雾节点作为当前的目标雾节点。终端可确定当前的目标雾节点的通信协议类型,并根据通信协议类型,确定用以进行切片处理的目标切片大小,从而基于所确定的目标切片大小,以及目标数据中已执行切片处理的数据范围,确定当前的待下载的切片数据的切片信息。
例如,在当前的目标雾节点的通信协议为双边可靠通信协议类型时,终端可确定目标切片大小为256K,从而当目标数据从未被执行切片处理时,终端可将当前的待下载的切片数据的切片信息中的数据范围设置为0K至256K。容易理解地,在将当前的待下载的切片数据的切片信息中的数据范围设置为0K至256K时,即可认为目标数据中的0K至256K范围的数据已执行切片处理。在当前的目标雾节点的通信协议类型为无连接传输类型时,终端可确定目标切片大小为128K,从而当目标数据从未被执行切片处理时,终端可将当前的待下载的切片数据的切片信息中的数据范围设置为0K至128K。
进一步地,当获取得到当前的待下载的切片数据的切片信息时,终端可根据当前的待下载的切片数据的切片信息生成切片下载请求,并将切片下载请求发送至当前的目标雾节点,以使当前的目标雾节点根据接收到的切片下载请求将待下载的切片数据返回至终端。
由于当前雾节点在基于接收到的切片信息进行切片数据传输时,需要占用一定的可用资源,例如需要占用一定的可用带宽,因此,需对当前的目标雾节点的雾节点信息进行更新处理。终端进入确定下一个目标雾节点,并基于下一个目标雾节点进行切片数据下载的流程,返回根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与目标文件对应的待下载的切片数据均下载完成。
在一个实施例中,当步骤S204至步骤S208依次执行时,基于雾节点信息,从至少一个雾节点中确定目标雾节点,包括:基于雾节点信息,从雾节点中确定至少一个的目标雾节点;根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息,包括:根据每个目标雾节点各自对应的通信协议类型,对待下载的目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息;基于待下载的切片数据的切片信息,向与待下载的切片数据对应的目标雾节点发送切片下载请求,包括:基于每个待下载的切片数据的切片信息,向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求。
具体地,终端可基于目标数据的数据大小,确定应筛选出的目标雾节点的目标节点数量,并从雾节点集合中筛选出目标节点数量的通信协议类型为双边可靠通信协议类型、且可用资源大于预设资源阈值的雾节点,并将筛选出的雾节点作为目标雾节点。容易理解地,当雾节点集合中通信协议类型为双边可靠通信协议类型、且可用资源大于预设资源阈值的雾节点的数量小于目标节点数量时,终端可还从雾节点集合中是筛选出剩余数量的通信协议类型为无连接通信协议类型、且可用资源大于预设资源阈值的雾节点。
例如,当目标数据的数据大小为1024K,且用以进行切片处理的目标切片大小可为256K或者128K时,为了尽可能地将切片信息平均分配至各目标雾节点,以提升切片数据的下载速率,计算机设备可将1024K除以128K,得到目标节点数量8,从而终端可基于通信协议类型和可用资源信息,从雾节点集合中筛选出8个目标雾节点。
进一步地,终端遍历筛选出的每个目标雾节点,确定每个目标雾节点各自对应的通信协议类型,并根据每个目标雾节点各自对应的通信协议类型,确定每个目标雾节点各自对应的目标切片大小,基于每个目标雾节点各自对应的目标切片大小,对目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息。其中,切片处理后的待下载切片能够组成完整的目标数据。例如,在当前遍历至的目标雾节点采用双边可靠通信协议类型时,终端可确定用以进行切片处理的目标切片大小为256K,得到与当前遍历至的目标雾节点相对应的切片信息;在当前遍历至的目标雾节点采用无连接通信协议类型时,终端可确定用以进行切片处理的目标切片大小为128K,得到与当前遍历至的目标雾节点相对应的切片信息。
进一步地,终端将各切片信息发送至对应的目标雾节点,以从相应的目标雾节点中下载切片数据。容易理解地,筛选出的目标雾节点的数量可能多于待下载的切片数量,此时,终端可从目标雾节点中的部分雾节点中下载切片数据。
在其中一个实施例中,终端从雾节点集合中筛选出目标节点数量的通信协议类型为双边可靠通信协议类型、且可用资源大于预设资源阈值的目标雾节点。并根据双边可靠通信协议类型,确定用以进行切片处理的目标切片大小,基于目标切片大小对目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息。例如,当目标切片大小为256K,目标数据的数据大小为1024K时,终端可将目标数据划分为4个切片数据,并生成每个切片数据各自对应的切片信息。进一步地,终端将所生成的切片信息平均分配给目标雾节点,以从目标雾节点中下载相应的切片数据,得到目标数据。
步骤S210,根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
具体地,终端接收各目标雾节点响应于下载请求所返回的切片数据,并组合接收到的切片数据,得到目标数据。例如,当目标数据为目标视频时,终端可组合各切片视频,得到目标视频,并通过多媒体播放应用播放目标视频。
在一个实施例中,参考图3,终端中可安装有业务应用和对等内容分发网络软件开发工具包(PeerContent Delivery Network Software Development Kit,PCDN SDK),其中,终端可基于PCDN SDK从内容分发网络中获取目标数据,从而业务应用只需向PCDN SDK发起数据下载请求,就可以获取到PCDN SDK返回的目标数据,而无需业务应用自身去进行数据下载。其中,PCDN SDK可采用上述的数据下载方法下载目标数据,即PCDN SDK可优先从雾节点中下载数据,再从缓存服务器中下载剩余数据。图3示出了一个实施例中基于PCDNSDK下载目标数据的示意图。
在一个实施例中,双边可靠通信协议具体可为Cable协议,无连接通信协议具体可为UDP协议。参考图4,图4示出了一个实施例中数据下载的架构示意图。雾节点可采用无连接通信协议或者采用双边可靠通信协议,PCDN SDK可采用Cable通信协议。其中,Cable兼容UDP通信协议。兼容UDP协议指的是,采用Cable协议的设备既能够使用UDP传输数据,又能够使用Cable协议传输数据。当PCDN SDK接收到业务应用发送的数据下载请求时,PCDN SDK能够查询包含有目标数据的雾节点集合,并与雾节点集合中的雾节点建立穿透连接,通过穿透连接得到通信协议类型。PCDN SDK根据通信协议类型选择目标雾节点,并对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。PCDN SDK通过目标雾节点的通信协议类型,将携带有切片信息的切片下载请求发送至目标雾节点,以从目标雾节点中下载切片数据。
现有技术中,终端一般通过无连接通信协议与雾节点进行通信,但是基于无连接通信协议的传输方案具有数据下载速度低、重传带宽高的缺点。而本申请通过在雾节点的切片数据下载场景下引入双边可靠通信协议,可以基于双边可靠通信协议提升下载速度,减少重复重传数据,从而保证了低成本高品质的内容分发网络服务。
上述数据下载方法中,通过获取针对目标数据的数据下载请求,可基于数据下载请求查询与目标数据对应的至少一个雾节点的雾节点信息,从而可基于雾节点信息从至少一个雾节点中筛选出设备性能更佳的目标雾节点,进而可基于设备性能更加的目标雾节点提升目标数据的下载速率。通过确定目标雾节点,可基于目标雾节点的通信协议类型,对目标数据进行切片处理,得到更为符合目标雾节点特性的切片信息,如此,便可基于更为符合目标雾节点特性的切片信息向对应的目标雾节点发送切片下载请求,以快速从目标雾节点下载切片数据。通过从目标雾节点下载切片数据,可组合各目标雾节点返回的切片数据,从而得到目标数据。由于本申请可探测雾节点所采用的通信协议类型,并通过探测得到的通信协议类型,调度选择合适的目标雾节点以下载相应的切片数据,从而本申请能够兼容不同通信协议类型,从采用不同的通信协议类型的目标雾节点中下载切片数据。
在一个实施例中,根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点,包括:从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。
具体地,当需要从至少一个雾节点中确定当前的目标雾节点时,终端可遍历至少一个雾节点,并从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。例如,可从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、具有最大可用资源、且单节点下载并发数小于数量阈值的一个雾节点。其中,单节点下载并发数指的是单个雾节点并行处理切片下载请求的数量。为了避免同一时刻所有切片下载请求涌向一个雾节点,需控制单个雾节点并行处理切片下载请求的请求数量,其中,单节点下载并发数可根据需求自由设定,例如,可将单节点下载并发数设置为2,从而在雾节点并行处理的切片下载请求的数量达到2时,便暂停向该雾节点分配新的切片下载请求,直至该雾节点并行处理的切片下载请求的数量小于2。
在其中一个实施例中,由于采用双边可靠通信协议的雾节点的性能强于采用无连接通信协议的雾节点、且由于可用资源越大,切片数据下载速率也越快,因此,终端可基于以下原则:1、优先选择支持双边可靠通信协议的雾节点;2、优先选择可用资源大的雾节点;3、单节点下载并发数小于数量阈值,从至少一个雾节点中筛选出最优秀的雾节点,作为当前的目标雾节点。
上述实施例中,通过优先从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,可基于筛选出的雾节点提升切片数据的下载速率。
在一个实施例中,根据当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小,包括:在当前的目标雾节点的通信协议为双边可靠通信协议类型时,基于第一目标值确定用以进行切片处理的目标切片大小;在当前的目标雾节点的通信协议为无连接通信协议类型时,基于第二目标值确定用以进行切片处理的目标切片大小;第二目标值不同于第一目标值。
具体地,对于多个目标雾节点中的每个目标雾节点,终端均根据当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小。在当前的目标雾节点的通信协议类型为双边可靠通信协议类型时,终端基于第一目标值确定用以进行切片处理的目标切片大小,例如,终端可确定目标切片大小为256K,从而终端可从当前的目标雾节点中下载数据大小为256K的切片数据。在当前的目标雾节点的通信协议类型为无连接通信协议类型时,终端基于第二目标值确定用以进行切片处理的目标切片大小,例如终端可确定目标切片大小为128K,从而终端可从当前的目标雾节点中下载数据大小为128K的切片数据。
示例性的,在当前的目标目标雾节点的通信协议类型为双边可靠通信协议类型时,终端可确定目标切片大小为256K,从而终端可基于所确定目标切片大小,对待下载的目标数据进行切片处理,以确定与当前的目标雾节点对应的切片信息中的数据范围为0K至256K,进而当前的目标雾节点可根据切片信息向终端发送0K至256K的数据。在下一顺序的目标雾节点的通信协议类型为无连接通信协议类型时,终端可确定目标切片大小为128K,且与下一顺序的目标雾节点对应的切片信息中的数据范围为256K至384K,从而下一顺序的目标雾节点可基于切片信息向终端发送256K至384K的数据。容易理解地,最后可能出现未下载的数据切片的切片大小不足第一目标值或者第二目标值,此时,终端确定目标切片大小为剩余未下载的数据大小。
上述实施例中,由于不同雾节点具有不同的性能,若将一个完整的目标数据完全交给一个雾节点下载,会大大增加数据下载失败的概率,因此,需要对目标数据进行切片处理,从不同的雾节点中下载不同的切片数据,如此,不仅可以充分利用雾节点的可用资源,以保证下载速率,还可以提升整体数据的下载成功率。此外,从采用双边可靠通信协议类型的目标雾节点中下载具有更大的切片数据,可以充分利用采用双边可靠通信协议类型的目标雾节点的性能,从而进一步提升下载速率。
在一个实施例中,基于每个待下载的切片数据的切片信息,向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求,包括:基于每个待下载的切片数据的切片信息,通过并行的方式向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求;其中,同时下载的切片数据的数量小于或等于整体最大并发数。
具体地,当获取得到多个切片数据的切片信息时,终端可生成每个切片信息各自对应的切片下载请求,并将所生成的切片下载请求发送至相应的目标雾节点,以实现并行处理切片下载请求的目的。
由于雾节点一般为CDN中的用户终端,且用户终端的下载带宽有限,为了在不影响用户体验的前提下,保证每个切片数据的下载速率,需要限制切片数据下载的整体最大并发数。其中,整体最大并发数指的是针对当前的目标数据,CDN中同时并行处理的切片请求的数量,整体最大并发数可以根据需求自由设置。例如,当整体最大并发数为8时,针对当前的目标数据,CDN中同时处理的切片请求的数量最多为8。
在其中一个实施例中,当步骤S204至步骤S206依次执行时,终端可生成每个切片信息各自对应的切片下载请求,并根据整体最大并发数,对所生成的切片下载请求进行划分,得到多组下载请求,例如,当整体最大并发数为8时。可将每8个切片下载请求作为一组下载请求。进一步地,终端可依次处理多组下载请求中的每组下载请求,在基于当前一组的下载请求接收到相应的切片数据时,再将下一组的下载请求发送至相应的目标雾节点,以实现同时下载的切片数据的数量小于或等于整体最大并发数。
在其中一个实施例中,当步骤S204至步骤S206交替执行时,参考图5。图5右边是目标下载数据,左边是雾节点的雾节点信息,比如,雾节点0支持Cable协议、且可用带宽为100Mbps,雾节点2支持UDP协议,且可用带宽为80Mbps。
假设待下载的目标数据的数据大小是1150K,目标切片大小可为256K或者128K。单个节点并发数为2,整体最大并发数为8时,终端可根据当前的目标雾节点选取策略,从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源最大、且单节点下载并发数小于2的雾节点作为当前的目标雾节点,也即,终端将雾节点0作为当前的目标雾节点。由于目前没有切片数据下载,即整体最大并发数为0,不足8个,那么终端从雾节点0中下载一个数据大小为256K的切片数据1。此时,整体并发数从0更新为1,小于整体最大并发数。同理,雾节点0依旧为至少一个雾节点中的最优秀的雾节点,因此终端还可从雾节点0中下载切片数据1,那么此时雾节点0并行处理的切片下载请求数量为2,达到单节点下载并发数,从而终端暂停向雾节点0分配切片请求。
终端再次从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点,也即将雾节点1作为当前的目标雾节点,并从雾节点1中下载切片数据2。如此迭代,直至整体最大并发数达到8的时,暂时向CDN发送切片下载请求。容易理解地,当切片数据下载完成,CDN中的整体最大并发数转为小于8时,终端继续向CDN发送新的切片下载请求。图5示出了一个实施例中切片数据下载的示意图。
上述实施例中,通过并行处理切片下载请求,可以大大提升切片数据的下载速率。通过设置整体最大并发数,可以在不影响用户体验的前提下,进一步提升每个切片数据的下载速率。
在一个实施例中,上述数据下载方法通过终端执行,通信协议类型包括双边可靠通信协议类型和无连接通信协议类型,基于待下载的切片数据的切片信息,向与待下载的切片数据对应的目标雾节点发送切片下载请求,包括:当终端支持双边可靠通信协议类型时,终端通过双边可靠通信协议或者无连接通信协议,向与待下载的切片数据对应的目标雾节点发送切片下载请求;当终端仅支持无连接通信协议类型时,终端通过无连接通信协议,向与待下载的切片数据对应的目标雾节点发送切片下载请求。
其中,双边可靠通信协议兼容无连接通信协议,兼容无连接通信协议的指的是,采用双边可靠通信协议的设备即能够采用无连接通信协议传输数据,又能采用双边可靠通信协议协议传输数据,其中,使用双边可靠通信协议传输数据的前提是对端也支持双边可靠通信协议。
具体地,由于双边可靠通信协议兼容无连接通信协议,因此,当终端支持双边可靠通信协议时,终端即可通过双边可靠通信协议向目标雾节点发送切片下载请求,又可通过无连接通信协议向目标雾节点发送切片下载请求。例如,在目标雾节点采用无连接通信协议时,终端可通过无连接通信协议向目标雾节点发送切片下载请求,以及通过无接连通信协议接收目标雾节点返回的切片数据。在目标雾节点采用双边可靠通信协议时,终端可通过双边可靠通信协议向目标雾节点发送切片下载请求,以及通过双边可靠通信协议接收目标雾节点返回的切片数据。
在终端仅支持无连接通信协议类型时,终端仅能通过无连接通信协议,向与待下载的切片数据对应的目标雾节点发送切片下载请求,以及通过无连接通信协议接收目标雾节点返回的切片数据。
在其中一个实施例中,终端可通过PCDN SDK向目标雾节点发送切片下载请求。由于不同业务对PCDN SDK的安装包大小有严格要求,接入双边可靠通信协议会使得PCDN SDK安装包变大,所以需要根据具体地业务需求来确认是否接入双边可靠通信协议。同时双边可靠通信协议作为第三方传输协议,存在未知的风险点,因此为了保证业务质量和稳定性,PCDN SDK要具备打开和关闭双边可靠通信协议的能力。当PCDN SDK开启双边可靠通信协议时,PCDN SDK可通过双边可靠通信协议向目标雾节点发送切片下载请求;当PCDN SDK关闭双边可靠通信协议时,PCDN SDK仅能通过无连接通信协议向目标雾节点发送切片下载请求。
上述实施例中,由于双边通信协议兼容无连接通信协议,使得终端可兼容采用不同通信协议类型的边缘设备,大大提升了终端的兼容性。
在一个实施例中,切片数据包括至少一个资源数据包,上述数据下载方法还包括:对于多个目标雾节点中的每个目标雾节点,均在当前的目标雾节点的通信协议类型为目标协议类型时,确定从当前的目标雾节点下载的资源数据包;根据资源数据包生成相应的应答消息,并将应答消息发送至当前的目标雾节点;其中,应答消息用于指示当前的目标雾节点,基于终端已接收到的资源数据包重新发送终端未接收到的资源数据包。
具体地,对于多个目标雾节点中的每个目标雾节点,在当前的目标雾节点接收到切片下载请求时,当前的目标雾节点可基于切片下载请求中的切片信息,确定待发送至终端的切片数据,并将切片数据划分为至少一个的资源数据包,向终端返回资源数据包。例如,当待发送至终端的切片数据的数据大小为32K时,当前的目标雾节点可将该切片数据划分为32个资源数据包,其中,每个资源数据包的大小为1K,从而当前的目标雾节点会发送32个1K的资源数据包至终端。
进一步地,终端确定当前的目标雾节点所采用的通信协议类型,并在当前的目标雾节点采用目标协议类型时,确定目前已从当前的目标雾节点下载的资源数据包。例如,在当前的目标雾节点采用无连接通信协议类型时,确定已下载的资源数据包。终端根据目前已从当前的目标雾节点下载的资源数据包生成相应的应答信息,并将应答信息返回至当前的目标雾节点,以使当前的目标雾节点根据应答信息确定未发送成功的资源数据包,并将未发送成功的资源数据包重新发送至终端。
在其中一个实施例中,目标协议类型可为无连接传输协议类型,在当前的目标雾节点采用无连接传输协议向终端发送资源数据包时,由于无连接传输协议属于不可靠传输协议,可以认为会出现丢包情况,因此,终端定时向当前的目标雾节点发送应答消息,以使当前的目标雾节点根据应用消息重新发送未成功发送的资源数据包。在当前的目标雾节点采用双边可靠通信协议类型时,即在终端当采用双边可靠通信协议向终端发送切片下载请求、以及当前的目标雾节点采用双边可靠通信协议向终端返回资源数据包时,由于双边可靠通信协议属于可靠传输的通信协议,可以认为不会出现丢包情况,因此,终端停止生成应答消息。
在其中一个实施例中,在当前的目标雾节点发送最后一份资源数据包时,可以认为当前的目标雾节点已将切片数据发送完毕,当终端在预定时间内接收到与目标数据对应地全部的切片数据时,可以认为目标数据已下载完毕。值得注意的时,当超时时间已到,导致下载部分切片数据时,也即当终端未在预定时间内接收到全部的切片数据时,终端依旧也会判定目标数据下载完成,此时终端释放所占用的全部资源,并通知目标雾节点离开。
上述实施例中,通过生成应答消息,使得目标雾节点可基于接收到的应答消息重新发送资源数据包,从而提升了资源数据包的发送成功率。
在一个实施例中,目标协议类型包括未知协议类型,上述数据下载方法还包括:当基于终端接收到的资源数据包,将当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向当前的目标雾节点发送应答消息;当基于终端接收到的资源数据包,将当前的目标雾节点的通信协议类型从未知协议类型更新为无连接通信协议类型时,保持向当前的目标雾节点发送应答消息。
具体地,对于多个目标雾节点中的每个目标雾节点,在当前的目标雾节点采用未知协议类型时,终端可定时向当前的目标雾节点发送应答消息。其中,当暂时无法确定目标雾节点所支持的协议类型时,可认为目标雾节点采用未知协议类型进行通信。当终端接收到当前的目标雾节点发送的资源数据包时,终端可基于接收到的资源数据包确定当前的目标雾节点是否支持双边可靠通信协议类型。在基于接收到的资源数据包确定当前的目标雾节点支持双边可靠通信协议类型时,终端暂停向当前的目标雾节点发送应答消息,在基于接收到的资源数据包确定当前的目标雾节点不支持双边可靠通信协议类型时,也即确定当前的目标雾节点支持无连接通信协议类型或者依旧为未知协议类型时,终端保持向当前的目标雾节点发送应答消息。
本实施例中,通过在将当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向当前的目标雾节点发送应答消息,可以减少发送应答消息所耗费的计算机资源。
在一个实施例中,目标数据为目标视频,数据下载请求为多媒体播放应用发起的针对目标视频的视频下载请求,上述数据下载方法还包括:当下载得到目标视频时,将目标视频发送至多媒体播放应用;通过多媒体播放应用播放目标视频。
具体地,终端中可运行有多媒体播放应用,当多媒体播放应用需要播放目标视频时,多媒体播放应用可基于目标视频的视频标识生成视频下载请求,并将视频下载请求发送至PCDN SDK。PCDN SDK基于视频下载请求中的视频标识确定缓存有目标视频的雾节点,并从所确定的雾节点中筛选出目标雾节点,从目标雾节点中下载相应的切片数据。PCDNSDK综合下载的切片数据,得到目标视频,并将目标视频发送至多媒体播放应用,以使多媒体播放应用播放此目标视频。其中,目标视频包括但不限于是点播视频、直播视频。
本实施例中,通过下载目标视频,使得多媒体播放应用可以对应播放下载得到的目标视频,从而提升了用户体验。
本申请还提供一种应用场景,该应用场景应用上述的数据下载方法。具体地,该数据下载方法在该应用场景的应用如下:
参考图6,当目标游戏应用需要播放目标游戏的过渡动画时,目标游戏应用可向PCDN SDK发送针对过渡动画的数据下载请求,从而PCDN SDK基于数据下载请求向查询服务器查询缓存有过渡动画的雾节点集合和雾节点集合中的雾节点的可用资源信息。PCDN SDK向雾节点集合中的雾节点发起穿透请求,并通过穿透请求与雾节点建立穿透连接,通过穿透连接向雾节点发起协议探测请求,以探测雾节点所采用的通信协议类型。PCDN SDK综合通信协议类型和可用资源信息从雾节点集合中选择目标雾节点,并根据目标雾节点的通信协议类型对目标数据进行切片处理,得到切片下载请求。PCDN SDK将切片下载请求发送至对应的目标雾节点,以使目标雾节点根据切片下载请求中的切片信息向终端返回资源数据包。终端基于接收到的资源数据包向目标雾节点发送应答消息,并在接收到全部的资源数据包时,释放所占用的资源,通知目标雾节点离开,也即断开与目标雾节点的穿透连接。终端综合接收到的全部的资源数据包,得到过渡动画,并将过渡动画返回至目标游戏应用,从而目标游戏应用可对应播放过渡动画。图6示出了一个实施例中数据下载的交互示意图。
本申请还另外提供一种应用场景,该应用场景应用上述的数据下载方法。具体地,该数据下载方法在该应用场景的应用如下:
当用户需要观看直播视频时,用户可开启直播应用,从而直播应用可向PCDN SDK发送数据下载请求,以使PCDN SDK从雾节点中拉取直播数据,并将拉取的直播数据返回至直播应用,从而直播应用可根据接收到的直播数据对应播放直播视频。
在一个具体的实施例中,如图7所示,本申请提供的数据下载方法包括以下步骤:
S702,在获取到针对目标数据的数据下载请求时,根据目标数据的数据标识确定与目标数据对应的雾节点集合,并获取雾节点集合中每个雾节点的可用资源信息。
S704,建立与雾节点集合中的每个雾节点间的穿透连接;根据穿透连接,确定雾节点集合中的每个雾节点的通信协议类型。
S706,从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。
S708,根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。
S710,在当前的目标雾节点的通信协议为双边可靠通信协议类型时,基于第一目标值确定用以进行切片处理的目标切片大小;在当前的目标雾节点的通信协议为无连接通信协议类型时,基于第二目标值确定用以进行切片处理的目标切片大小;第二目标值不同于第一目标值。
S712,基于目标切片大小对待下载的目标数据进行切片处理,得到当前的待下载的切片数据的切片信息。
S714,基于当前的待下载的切片数据的切片信息,向当前的目标雾节点发送切片下载请求,以对当前的待下载的切片数据进行下载。
S716,更新当前的目标雾节点的雾节点信息,进入基于下一个目标雾节点进行切片数据下载的流程,并返回根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与目标文件对应的待下载的切片数据均下载完成。
S718,根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
上述数据下载方法中,通过获取针对目标数据的数据下载请求,可基于数据下载请求查询与目标数据对应的至少一个雾节点的雾节点信息,从而可基于雾节点信息从至少一个雾节点中筛选出设备性能更佳的目标雾节点,进而可基于设备性能更加的目标雾节点提升目标数据的下载速率。通过确定目标雾节点,可基于目标雾节点的通信协议类型,对目标数据进行切片处理,得到更为符合目标雾节点特性的切片信息,如此,便可基于更为符合目标雾节点特性的切片信息向对应的目标雾节点发送切片下载请求,以快速从目标雾节点下载切片数据。通过从目标雾节点下载切片数据,可组合各目标雾节点返回的切片数据,从而得到目标数据。由于本申请可探测雾节点所采用的通信协议类型,并通过探测得到的通信协议类型,调度选择合适的目标雾节点以下载相应的切片数据,从而本申请能够兼容不同通信协议类型,从采用不同的通信协议类型的目标雾节点中下载切片数据。
在一个具体的实施例中,如图8所示,本申请提供的数据下载方法包括以下步骤:
S802,在获取到针对目标数据的数据下载请求时,查询与目标数据对应的至少一个雾节点的雾节点信息,雾节点信息至少包括雾节点的通信协议类型。
S804,基于雾节点信息,从至少一个雾节点中确定目标雾节点。
S806,根据目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。
S808,基于每个待下载的切片数据的切片信息,通过并行的方式向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求;其中,同时下载的切片数据的数量小于或等于整体最大并发数。
S810,对于多个目标雾节点中的每个目标雾节点,均在当前的目标雾节点的通信协议类型为目标协议类型时,确定从当前的目标雾节点下载的资源数据包。
S812,根据资源数据包生成相应的应答消息,并将应答消息发送至当前的目标雾节点;其中,应答消息用于指示当前的目标雾节点,基于终端已接收到的资源数据包重新发送终端未接收到的资源数据包。
S814,当基于终端接收到的资源数据包,将当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向当前的目标雾节点发送应答消息。
S816,根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
应该理解的是,虽然图2、7-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、7-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种数据下载装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:目标节点确定模块902、切片模块904和请求发送模块906,其中:
目标节点确定模块902,用于在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点。
切片模块904,用于根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息。
请求发送模块906,用于基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
在一个实施例中,参考图10,雾节点信息还包括雾节点的可用资源信息,目标节点确定模块902还包括信息确定模块9021,用于在获取到针对目标数据的数据下载请求时,根据目标数据的数据标识确定与目标数据对应的雾节点集合,并获取雾节点集合中每个雾节点的可用资源信息;建立与雾节点集合中的每个雾节点间的穿透连接;根据穿透连接,确定雾节点集合中的每个雾节点的通信协议类型。
在一个实施例中,数据下载装置900还用于根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点;根据当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小;基于目标切片大小对待下载的目标数据进行切片处理,得到当前的待下载的切片数据的切片信息;基于当前的待下载的切片数据的切片信息,向当前的目标雾节点发送切片下载请求,以对当前的待下载的切片数据进行下载。
在一个实施例中,数据下载装置900还用于更新当前的目标雾节点的雾节点信息,进入基于下一个目标雾节点进行切片数据下载的流程,并返回根据通信协议类型、可用资源信息和单节点下载并发数,从至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与目标文件对应的待下载的切片数据均下载完成。
在一个实施例中,目标节点确定模块902还用于从至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。
在一个实施例中,切片模块904还包括切片大小确定模块9041,用于在当前的目标雾节点的通信协议为双边可靠通信协议类型时,基于第一目标值确定用以进行切片处理的目标切片大小;在当前的目标雾节点的通信协议为无连接通信协议类型时,基于第二目标值确定用以进行切片处理的目标切片大小;第二目标值不同于第一目标值。
在一个实施例中,数据下载装置900还用于基于雾节点信息,从雾节点中确定至少一个的目标雾节点;根据每个目标雾节点各自对应的通信协议类型,对待下载的目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息;基于每个待下载的切片数据的切片信息,向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求。
在一个实施例中,切片模块904还用于基于每个待下载的切片数据的切片信息,通过并行的方式向每个待下载的切片数据各自对应的目标雾节点发送切片下载请求;其中,同时下载的切片数据的数量小于或等于整体最大并发数。
在一个实施例中,数据下载装置900还用于当终端支持双边可靠通信协议类型时,终端通过双边可靠通信协议或者无连接通信协议,向与待下载的切片数据对应的目标雾节点发送切片下载请求;当终端仅支持无连接通信协议类型时,终端通过无连接通信协议,向与待下载的切片数据对应的目标雾节点发送切片下载请求。
在一个实施例中,切片数据包括至少一个资源数据包,数据下载装置900还包括应答模块908,用于对于多个目标雾节点中的每个目标雾节点,均在当前的目标雾节点的通信协议类型为目标协议类型时,确定从当前的目标雾节点下载的资源数据包;根据资源数据包生成相应的应答消息,并将应答消息发送至当前的目标雾节点;其中,应答消息用于指示当前的目标雾节点,基于终端已接收到的资源数据包重新发送终端未接收到的资源数据包。
在一个实施例中,述目标协议类型包括未知协议类型,应答模块908还用于当基于终端接收到的资源数据包,将当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向当前的目标雾节点发送应答消息;当基于终端接收到的资源数据包,将当前的目标雾节点的通信协议类型从未知协议类型更新为无连接通信协议类型时,保持向当前的目标雾节点发送应答消息。
在一个实施例中,目标数据为目标视频,数据下载请求为多媒体播放应用发起的针对目标视频的视频下载请求,数据下载装置900还用于当下载得到目标视频时,将目标视频发送至多媒体播放应用;通过多媒体播放应用播放目标视频。
关于数据下载装置的具体限定可以参见上文中对于数据下载方法的限定,在此不再赘述。上述数据下载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据下载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种数据下载方法,其特征在于,所述方法包括:
在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;
基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;
根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
2.根据权利要求1所述的方法,其特征在于,所述雾节点信息还包括雾节点的可用资源信息,所述在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,包括:
在获取到针对目标数据的数据下载请求时,根据所述目标数据的数据标识确定与所述目标数据对应的雾节点集合,并获取所述雾节点集合中每个雾节点的可用资源信息;
建立与所述雾节点集合中的每个雾节点间的穿透连接;
根据所述穿透连接,确定所述雾节点集合中的每个雾节点的通信协议类型。
3.根据权利要求1所述的方法,其特征在于,所述雾节点信息还包括雾节点的可用资源信息和单节点下载并发数,所述基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点,包括:
根据所述通信协议类型、所述可用资源信息和所述单节点下载并发数,从所述至少一个雾节点中筛选出当前的目标雾节点;
所述根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息,包括:
根据所述当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小;
基于所述目标切片大小对待下载的目标数据进行切片处理,得到当前的待下载的切片数据的切片信息;
所述基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求,包括:
基于所述当前的待下载的切片数据的切片信息,向所述当前的目标雾节点发送切片下载请求,以对所述当前的待下载的切片数据进行下载。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
更新所述当前的目标雾节点的雾节点信息,进入基于下一个目标雾节点进行切片数据下载的流程,并返回所述根据所述通信协议类型、所述可用资源信息和所述单节点下载并发数,从所述至少一个雾节点中筛选出当前的目标雾节点的步骤继续执行,直至与所述目标文件对应的待下载的切片数据均下载完成。
5.根据权利要求3所述的方法,其特征在于,所述根据所述通信协议类型、所述可用资源信息和所述单节点下载并发数,从所述至少一个雾节点中筛选出当前的目标雾节点,包括:
从所述至少一个雾节点中筛选出通信协议类型为双边可靠通信协议类型、可用资源满足预设空闲条件、且单节点下载并发数小于数量阈值的雾节点,作为当前的目标雾节点。
6.根据权利要求3所述的方法,其特征在于,所述根据所述当前的目标雾节点的通信协议类型,确定用以进行切片处理的目标切片大小,包括:
在所述当前的目标雾节点的通信协议为双边可靠通信协议类型时,基于第一目标值确定用以进行切片处理的目标切片大小;
在所述当前的目标雾节点的通信协议为无连接通信协议类型时,基于第二目标值确定用以进行切片处理的目标切片大小;所述第二目标值不同于所述第一目标值。
7.根据权利要求1所述的方法,其特征在于,所述基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点,包括:
基于所述雾节点信息,从所述雾节点中确定至少一个的目标雾节点;
所述根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息,包括:
根据每个目标雾节点各自对应的通信协议类型,对待下载的目标数据进行切片处理,得到至少一个待下载的切片数据的切片信息;
所述基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求,包括:
基于每个所述待下载的切片数据的切片信息,向每个所述待下载的切片数据各自对应的目标雾节点发送切片下载请求。
8.根据权利要求7所述的方法,其特征在于,所述基于每个所述待下载的切片数据的切片信息,向每个所述待下载的切片数据各自对应的目标雾节点发送切片下载请求,包括:
基于每个所述待下载的切片数据的切片信息,通过并行的方式向每个所述待下载的切片数据各自对应的目标雾节点发送切片下载请求;其中,同时下载的切片数据的数量小于或等于整体最大并发数。
9.根据权利要求1所述的方法,其特征在于,所述方法通过终端执行,所述通信协议类型包括双边可靠通信协议类型和无连接通信协议类型,所述基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求,包括:
当所述终端支持双边可靠通信协议类型时,所述终端通过双边可靠通信协议或者无连接通信协议,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;
当所述终端仅支持无连接通信协议类型时,所述终端通过无连接通信协议,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求。
10.根据权利要求1所述的方法,其特征在于,所述切片数据包括至少一个资源数据包,所述方法还包括:
对于多个目标雾节点中的每个目标雾节点,均在当前的目标雾节点的通信协议类型为目标协议类型时,确定从所述当前的目标雾节点下载的资源数据包;
根据所述资源数据包生成相应的应答消息,并将所述应答消息发送至所述当前的目标雾节点;其中,所述应答消息用于指示所述当前的目标雾节点,基于终端已接收到的资源数据包重新发送终端未接收到的资源数据包。
11.根据权利要求10所述的方法,其特征在于,所述目标协议类型包括未知协议类型,所述方法还包括:
当基于终端接收到的资源数据包,将所述当前的目标雾节点的通信协议类型从未知协议类型更新为双边可靠通信协议类型时,暂停向所述当前的目标雾节点发送应答消息;
当基于终端接收到的资源数据包,将所述当前的目标雾节点的通信协议类型从未知协议类型更新为无连接通信协议类型时,保持向所述当前的目标雾节点发送应答消息。
12.根据权利要求1至11任意一项所述的方法,其特征在于,所述目标数据为目标视频,所述数据下载请求为多媒体播放应用发起的针对所述目标视频的视频下载请求,所述方法还包括:
当下载得到目标视频时,将所述目标视频发送至所述多媒体播放应用;
通过所述多媒体播放应用播放所述目标视频。
13.一种数据下载装置,其特征在于,所述装置包括:
目标节点确定模块,用于在获取到针对目标数据的数据下载请求时,查询与所述目标数据对应的至少一个雾节点的雾节点信息,所述雾节点信息至少包括雾节点的通信协议类型;基于所述雾节点信息,从所述至少一个雾节点中确定目标雾节点;
切片模块,用于根据所述目标雾节点的通信协议类型,对待下载的目标数据进行切片处理,得到待下载的切片数据的切片信息;
请求发送模块,用于基于所述待下载的切片数据的切片信息,向与所述待下载的切片数据对应的目标雾节点发送切片下载请求;根据各目标雾节点分别响应于相应切片下载请求所返回的切片数据,组合得到目标数据。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110531639.2A CN112954406B (zh) | 2021-05-17 | 2021-05-17 | 数据下载方法、装置、计算机设备和存储介质 |
PCT/CN2022/085776 WO2022242361A1 (zh) | 2021-05-17 | 2022-04-08 | 数据下载方法、装置、计算机设备和存储介质 |
EP22803686.9A EP4221233A4 (en) | 2021-05-17 | 2022-04-08 | METHOD AND APPARATUS FOR DOWNLOADING DATA, COMPUTER DEVICE AND STORAGE MEDIUM |
JP2023526436A JP2023547256A (ja) | 2021-05-17 | 2022-04-08 | データダウンロード方法、装置、及びコンピュータ機器 |
US18/077,665 US20230107093A1 (en) | 2021-05-17 | 2022-12-08 | Data download method and apparatus, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110531639.2A CN112954406B (zh) | 2021-05-17 | 2021-05-17 | 数据下载方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112954406A true CN112954406A (zh) | 2021-06-11 |
CN112954406B CN112954406B (zh) | 2021-07-30 |
Family
ID=76233882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110531639.2A Active CN112954406B (zh) | 2021-05-17 | 2021-05-17 | 数据下载方法、装置、计算机设备和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230107093A1 (zh) |
EP (1) | EP4221233A4 (zh) |
JP (1) | JP2023547256A (zh) |
CN (1) | CN112954406B (zh) |
WO (1) | WO2022242361A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596166A (zh) * | 2021-08-02 | 2021-11-02 | 北京金山云网络技术有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN113645288A (zh) * | 2021-08-02 | 2021-11-12 | 北京金山云网络技术有限公司 | 数据下载方法、装置、计算机设备和存储介质 |
WO2022242361A1 (zh) * | 2021-05-17 | 2022-11-24 | 腾讯科技(深圳)有限公司 | 数据下载方法、装置、计算机设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640655A (zh) * | 2023-12-05 | 2024-03-01 | 中移互联网有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645858A (zh) * | 2005-02-24 | 2005-07-27 | 广东省电信有限公司研究院 | 分布式对等流媒体的服务系统及其点播节目的实现方法 |
US20070288638A1 (en) * | 2006-04-03 | 2007-12-13 | British Columbia, University Of | Methods and distributed systems for data location and delivery |
CN101282281A (zh) * | 2007-04-03 | 2008-10-08 | 华为技术有限公司 | 一种媒体分发系统、装置及流媒体播放方法 |
CN101741914A (zh) * | 2010-02-03 | 2010-06-16 | 上海悠络客电子科技有限公司 | 一种p2p网络中穿透nat建立覆盖网的方法和系统 |
CN102333012A (zh) * | 2011-10-17 | 2012-01-25 | 苏州迈科网络安全技术股份有限公司 | P2p流量检测方法及装置 |
US20160020887A1 (en) * | 2014-07-18 | 2016-01-21 | Samsung Electronics Co., Ltd. | Communication method of node in content centric network (ccn) and the node |
CN105898388A (zh) * | 2016-04-05 | 2016-08-24 | 合网络技术(北京)有限公司 | 一种节点下载调度方法和装置 |
CN109194778A (zh) * | 2018-09-12 | 2019-01-11 | 杭州趣链科技有限公司 | 一种基于kcp协议的nat穿透方法 |
CN111371888A (zh) * | 2020-03-02 | 2020-07-03 | 西南交通大学 | 一种基于纠删编码的多源数据传输系统及方法 |
CN111629075A (zh) * | 2020-08-03 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和相关装置 |
CN112004265A (zh) * | 2019-12-20 | 2020-11-27 | 南京邮电大学 | 一种基于srm算法的社交网络资源分配方法 |
CN112019641A (zh) * | 2020-10-19 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 数据传输方法和装置 |
CN112073542A (zh) * | 2020-11-12 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 雾节点调度方法、装置、计算机设备和存储介质 |
CN112165523A (zh) * | 2020-09-28 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和装置 |
CN112422241A (zh) * | 2020-11-09 | 2021-02-26 | 广州博冠信息科技有限公司 | 数据传输方法、装置、存储介质及计算机设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043874A1 (en) * | 2005-08-17 | 2007-02-22 | Virendra Nath | File transfer method and system |
US8051480B2 (en) * | 2008-10-21 | 2011-11-01 | Lookout, Inc. | System and method for monitoring and analyzing multiple interfaces and multiple protocols |
CN101437044B (zh) * | 2008-11-28 | 2012-05-09 | 中兴通讯股份有限公司 | 基于切片的点对点网络技术的文件下载方法及系统 |
US10949301B2 (en) * | 2011-06-06 | 2021-03-16 | Pure Storage, Inc. | Pre-positioning pre-stored content in a content distribution system |
US20190036648A1 (en) * | 2014-05-13 | 2019-01-31 | Datomia Research Labs Ou | Distributed secure data storage and transmission of streaming media content |
CN111182331B (zh) * | 2019-10-26 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 媒体数据切片方法、系统及存储介质 |
CN111447265A (zh) * | 2020-03-24 | 2020-07-24 | 深圳市网心科技有限公司 | 文件存储方法、文件下载方法和文件处理方法及相关组件 |
US11564145B2 (en) * | 2021-05-05 | 2023-01-24 | Cisco Technology, Inc. | Selecting a network node that supports a slice requirement |
CN112954406B (zh) * | 2021-05-17 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 数据下载方法、装置、计算机设备和存储介质 |
-
2021
- 2021-05-17 CN CN202110531639.2A patent/CN112954406B/zh active Active
-
2022
- 2022-04-08 WO PCT/CN2022/085776 patent/WO2022242361A1/zh active Application Filing
- 2022-04-08 JP JP2023526436A patent/JP2023547256A/ja active Pending
- 2022-04-08 EP EP22803686.9A patent/EP4221233A4/en active Pending
- 2022-12-08 US US18/077,665 patent/US20230107093A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645858A (zh) * | 2005-02-24 | 2005-07-27 | 广东省电信有限公司研究院 | 分布式对等流媒体的服务系统及其点播节目的实现方法 |
US20070288638A1 (en) * | 2006-04-03 | 2007-12-13 | British Columbia, University Of | Methods and distributed systems for data location and delivery |
CN101282281A (zh) * | 2007-04-03 | 2008-10-08 | 华为技术有限公司 | 一种媒体分发系统、装置及流媒体播放方法 |
CN101741914A (zh) * | 2010-02-03 | 2010-06-16 | 上海悠络客电子科技有限公司 | 一种p2p网络中穿透nat建立覆盖网的方法和系统 |
CN102333012A (zh) * | 2011-10-17 | 2012-01-25 | 苏州迈科网络安全技术股份有限公司 | P2p流量检测方法及装置 |
US20160020887A1 (en) * | 2014-07-18 | 2016-01-21 | Samsung Electronics Co., Ltd. | Communication method of node in content centric network (ccn) and the node |
CN105898388A (zh) * | 2016-04-05 | 2016-08-24 | 合网络技术(北京)有限公司 | 一种节点下载调度方法和装置 |
CN109194778A (zh) * | 2018-09-12 | 2019-01-11 | 杭州趣链科技有限公司 | 一种基于kcp协议的nat穿透方法 |
CN112004265A (zh) * | 2019-12-20 | 2020-11-27 | 南京邮电大学 | 一种基于srm算法的社交网络资源分配方法 |
CN111371888A (zh) * | 2020-03-02 | 2020-07-03 | 西南交通大学 | 一种基于纠删编码的多源数据传输系统及方法 |
CN111629075A (zh) * | 2020-08-03 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和相关装置 |
CN112165523A (zh) * | 2020-09-28 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和装置 |
CN112019641A (zh) * | 2020-10-19 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 数据传输方法和装置 |
CN112422241A (zh) * | 2020-11-09 | 2021-02-26 | 广州博冠信息科技有限公司 | 数据传输方法、装置、存储介质及计算机设备 |
CN112073542A (zh) * | 2020-11-12 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 雾节点调度方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
朱骏: "基于文件分片的P2P视频点播系统片断选择", 《计算机工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022242361A1 (zh) * | 2021-05-17 | 2022-11-24 | 腾讯科技(深圳)有限公司 | 数据下载方法、装置、计算机设备和存储介质 |
CN113596166A (zh) * | 2021-08-02 | 2021-11-02 | 北京金山云网络技术有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN113645288A (zh) * | 2021-08-02 | 2021-11-12 | 北京金山云网络技术有限公司 | 数据下载方法、装置、计算机设备和存储介质 |
CN113596166B (zh) * | 2021-08-02 | 2023-09-01 | 北京金山云网络技术有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230107093A1 (en) | 2023-04-06 |
CN112954406B (zh) | 2021-07-30 |
WO2022242361A1 (zh) | 2022-11-24 |
EP4221233A4 (en) | 2024-01-24 |
EP4221233A1 (en) | 2023-08-02 |
JP2023547256A (ja) | 2023-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112954406B (zh) | 数据下载方法、装置、计算机设备和存储介质 | |
US11297140B2 (en) | Point of presence based data uploading | |
US10708350B2 (en) | Method and system for content delivery of mobile terminal applications | |
US10491657B2 (en) | Network acceleration method, apparatus and device based on router device | |
US10951395B2 (en) | Data fetching in data exchange networks | |
CN109450923B (zh) | 一种视频传输系统及方法 | |
US9900167B2 (en) | Document sharing method, system, and device | |
CN111200622B (zh) | 一种资源传输方法及装置、存储介质 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、系统及路由器 | |
US20190166223A1 (en) | Content delivery network (cdn) for uploading, caching and delivering user content | |
CN110661673B (zh) | 一种心跳检测的方法及装置 | |
CN115499230A (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
US20090024739A1 (en) | Endpoint discriminator in network transport protocol startup packets | |
US20220141279A1 (en) | Client-side measurement of computer network conditions | |
US20080288447A1 (en) | Methods and apparatus for improving peer efficiency | |
CN113934916A (zh) | Cdn业务的实现方法、终端设备、节点服务器及存储介质 | |
CN106060155A (zh) | P2p资源共享的方法及装置 | |
CN102088399B (zh) | 对等网络的流量控制方法、路由设备和通信系统 | |
CN114629916B (zh) | 基于p2p链路的取流方法、装置及系统 | |
CN116170396B (zh) | 一种im消息传输方法及系统 | |
CN113254203B (zh) | 服务降级处理方法及装置 | |
US11960407B1 (en) | Cache purging in a distributed networked system | |
CN116302618B (zh) | 一种会话信息处理方法及装置 | |
US20130124688A1 (en) | Wireless network system and content provision method using the same | |
CN108833559B (zh) | 一种视频数据的缓存与分发的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40047275 Country of ref document: HK |