CN109347991A - 文件分发方法、装置、设备及介质 - Google Patents
文件分发方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109347991A CN109347991A CN201811580831.5A CN201811580831A CN109347991A CN 109347991 A CN109347991 A CN 109347991A CN 201811580831 A CN201811580831 A CN 201811580831A CN 109347991 A CN109347991 A CN 109347991A
- Authority
- CN
- China
- Prior art keywords
- file
- distribution
- request
- resource
- node
- 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 61
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008901 benefit Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000002699 waste material Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种文件分发方法、装置、设备及介质。该方法包括:接收来自请求端的分发文件请求;获取请求端的性能指标;接收针对分发文件请求的请求分发决策;根据请求分发决策的分发策略和请求端的性能指标,选取分发文件请求被分发至的目标节点组;从目标节点组中选取分发文件请求被分发至的多个目标节点;接收来自多个目标节点的分发文件请求;向多个目标节点发送下载文件命令,将文件分发至多个目标节点,使得请求端从多个目标节点下载文件,实现文件分发。根据本发明实施例的上述方案,能够根据请求分发决策的分发策略和请求端的性能指标,在尽可能短的时间内将文件分发至节点,从而提高分发效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种文件分发方法、装置、设备及介质。
背景技术
现有技术中,常用的文件分发方法如下:
资源分发服务器获得针对目标文件的操作信息;在判断出操作信息为更新信息时,将目标文件分割成文件块,并生成目标文件对应的目标种子文件;向符合预定分发条件的下载服务器发送操作信息;下载服务器在接收到操作信息且确定下载目标文件的情况下,从分发服务器获取目标种子文件;基于目标种子文件,确定第一服务器,其中,第一服务器为基于操作信息确定下载目标文件的其余下载服务器;从分发服务器和/或所确定的第一服务器下载目标文件的文件块;在目标文件的所有文件块下载完成的情况下,利用下载完成的所有文件块,生成目标文件。通过上述方案,能够减少分发服务器的中央处理器(Central Processing Unit,CPU)消耗。
综上所述,现有技术在文件分发管理上采用了一些策略,在减少分发服务器的CPU消耗上取得了一定的成果,但还是存在如下缺点:无法分配最优速度和最优多媒体资源的目标节点给请求端,分发效率低下。
发明内容
本发明实施例提供了一种文件分发方法、装置、设备及介质,能够根据请求分发决策的分发策略和请求端的性能指标,在尽可能短的时间内将文件分发至节点,从而提高分发效率。
第一方面,本发明实施例提供了一种文件分发方法,包括:
接收来自请求端的分发文件请求;
获取所述请求端的性能指标;
接收针对所述分发文件请求的请求分发决策;
根据所述请求分发决策的分发策略和所述请求端的性能指标,选取所述分发文件请求被分发至的目标节点组;
从所述目标节点组中选取所述分发文件请求被分发至的多个目标节点;
接收来自所述多个目标节点的分发文件请求;
向所述多个目标节点发送下载文件命令,将所述文件分发至所述多个目标节点,使得所述请求端从所述多个目标节点下载文件,实现文件分发。
根据本发明所述的文件分发方法,所述接收来自请求端的分发文件请求,包括:
通过门户接口或编程接口,接收来自所述请求端的分发文件请求。
根据本发明所述的文件分发方法,所述性能指标包括如下项中的至少一项:
处理能力、存储能力、和展现能力,其中所述展现能力包括分辨率。
根据本发明所述的文件分发方法,所述目标节点组包括多个目标节点和多个候选节点,其中所述多个候选节点用于当所述多个目标节点无法接收来自资源池的文件时,所述多个候选节点作为多个目标节点用于接收来自所述资源池的文件。
根据本发明所述的文件分发方法,方法还包括:
接收从移动端上传的文件,并根据信息摘要MD5码,判断资源池中是否存在待上传文件。
根据本发明所述的文件分发方法,所述接收从移动端上传的文件,并根据信息摘要MD5码,判断资源池中是否存在待上传文件,包括:
接收从所述移动端上传的文件时,所述移动端将待上传文件基于预设协议切割为预设大小的目标种子文件,根据待接收目标种子文件的MD5码判断资源池中是否已经存在所述待接收目标种子文件;
如果资源池中存在所述待接收目标种子文件,则不再上传所述待接收目标种子文件并使得移动端订阅已存在的待接收目标种子文件;
如果资源池中不存在所述待接收目标种子文件,则上传所述待接收目标种子文件并使得移动端订阅所述待接收目标种子文件。
根据本发明所述的文件分发方法,方法还包括:
当任一目标种子文件未被移动端订阅,并且维持的时间超过预设时间时,则释放所述未被移动端订阅的目标种子文件。
根据本发明所述的文件分发方法,方法还包括:
当任一目标种子文件的文件资源变化时,更新文件资源变化的目标种子文件的MD5码,并通知所有订阅所述文件资源变化的目标种子文件的移动端,使得所述移动端选择是否下载所述文件资源变化的目标种子文件。
根据本发明所述的文件分发方法,所述将所述文件分发至所述多个目标节点,包括:
所述目标节点组内收到所述下载文件命令的多个目标节点形成工作组;
所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件;
所述工作组内的普通节点从所述工作组内主节点下载文件。
根据本发明所述的文件分发方法,所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件,包括:
通过点对点P2P的方式,所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件。
第二方面,本发明实施例提供了一种文件分发装置,包括:
第一接收模块,用于接收来自请求端的分发文件请求;
获取模块,用于获取所述请求端的性能指标;
第二接收模块,用于接收针对所述分发文件请求的请求分发决策;
选取模块,用于根据所述请求分发决策的分发策略和所述请求端的性能指标,选取所述分发文件请求被分发至的目标节点组;
第一分发模块,用于从所述目标节点组中选取所述分发文件请求被分发至的多个目标节点;
第三接收模块,用于接收来自所述多个目标节点的分发文件请求;
第二分发模块,用于向所述多个目标节点发送下载文件命令,将所述文件分发至所述多个目标节点,使得所述请求端从所述多个目标节点下载文件,实现文件分发。
根据本发明所述的文件分发装置,第一接收模块具体用于:
通过门户接口或编程接口,接收来自所述请求端的分发文件请求。
根据本发明所述的文件分发装置,所述性能指标包括如下项中的至少一项:
处理能力、存储能力、和展现能力,其中所述展现能力包括分辨率。
根据本发明所述的文件分发装置,所述目标节点组包括多个目标节点和多个候选节点,其中所述多个候选节点用于当所述多个目标节点无法接收来自资源池的文件时,所述多个候选节点作为多个目标节点用于接收来自所述资源池的文件。
根据本发明所述的文件分发装置,还包括:
第四接收模块,用于接收从移动端上传的文件,并根据信息摘要MD5码,判断资源池中是否存在待上传文件。
根据本发明所述的文件分发装置,第四接收模块具体用于:
接收从所述移动端上传的文件时,所述移动端将待上传文件基于预设协议切割为预设大小的目标种子文件,根据待接收目标种子文件的MD5码判断资源池中是否已经存在所述待接收目标种子文件;
如果资源池中存在所述待接收目标种子文件,则不再上传所述待接收目标种子文件并使得移动端订阅已存在的待接收目标种子文件;
如果资源池中不存在所述待接收目标种子文件,则上传所述待接收目标种子文件并使得移动端订阅所述待接收目标种子文件。
根据本发明所述的文件分发装置,还包括:
释放模块,用于当任一目标种子文件未被移动端订阅,并且维持的时间超过预设时间时,则释放所述未被移动端订阅的目标种子文件。
根据本发明所述的文件分发装置,还包括:
更新模块,用于当任一目标种子文件的文件资源变化时,更新文件资源变化的目标种子文件的MD5码,并通知所有订阅所述文件资源变化的目标种子文件的移动端,使得所述移动端选择是否下载所述文件资源变化的目标种子文件。
根据本发明所述的文件分发装置,第二分发模块具体用于:
所述目标节点组内收到所述下载文件命令的多个目标节点形成工作组;
所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件;
所述工作组内的普通节点从所述工作组内主节点下载文件。
根据本发明所述的文件分发装置,第二分发模块具体用于:
通过点对点P2P的方式,所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件。
第三方面,本发明实施例提供了一种文件分发设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例提供的文件分发方法、装置、设备及介质,能够根据请求分发决策的分发策略和请求端的性能指标,在尽可能短的时间内将文件分发至节点,从而提高分发效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的文件分发方法的流程示意图;
图2示出了本发明实施例的文件分发装置的结构示意图;
图3示出了本发明实施例的文件资源快速分发下载的系统示意图;
图4示出了本发明实施例的资源下载时序示意图;
图5示出了本发明实施例的资源端释放资源时序示意图;
图6示出了本发明实施例的电子终端主动释放资源时序示意图;
图7示出了本发明实施例的预约资源分发时序示意图;
图8示出了本发明实施例的网络文件分发系统的逻辑结构示意图;
图9示出了本发明实施例的文件分发设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
现有技术在文件分发管理上虽然采用了一些策略,在减少分发服务器的CPU消耗上取得了一定的成果,但还是存在以下几大缺点:
1)未明确资源分发服务器和下载服务器之间的管理和通讯协议;
2)资源分发服务器的最小资源单元是目标种子文件,目标文件要分割成若干个目标种子文件,但是关于如何切割,文件块大小如何设定等问题现有技术没有考虑到这一点,更没有给出具体的方案;
3)不同版本的目标文件甚至不同的目标文件的某些目标种子文件可能存在完全一样的情况,这样就存在资源存储的浪费,如何避免这种浪费,最大化的利用资源,现有技术没有考虑到这一点,更没有给出具体的方案。
基于以上现有技术,本发明实施例主要提出以下技术方案:
1)首先定义目标文件切割的协议:每个文件块大小固定为预设大小(例如,4KB(千字节)大小),目标文件包含所有目标种子文件的MD5码;并通过所有目标种子文件的MD5码来计算出自身的MD5码;
2)资源中心维护所有目标种子文件信息,按照MD5码唯一识别索引;
3)资源中心维护所有文件信息,按照MD5码唯一识别索引;
4)当客户端上传目标文件时,对目标文件按照协议切割成目标种子文件,上传目标种子文件时,根据MD5码判断资源分发服务器中是否已存在此文件,如果存在则立即返回成功即可;
5)客户端更新本地文件时,比较资源分发服务器两个版本不同的目标文件的目标种子文件,根据比较结果下载更新不同的目标种子文件即可。
本发明实施例可提供一种文件分发方法,参考图1,图1示出了本发明实施例的文件分发方法100的流程示意图,该方法包括:
S110,接收来自请求端的分发文件请求;
S120,获取请求端的性能指标;
S130,接收针对分发文件请求的请求分发决策;
S140,根据请求分发决策的分发策略和请求端的性能指标,选取分发文件请求被分发至的目标节点组;
S150,从目标节点组中选取分发文件请求被分发至的多个目标节点;
S160,接收来自多个目标节点的分发文件请求;
S170,向多个目标节点发送下载文件命令,将文件分发至多个目标节点,使得请求端从多个目标节点下载文件,实现文件分发。
利用本发明提供的上述方案,通过根据请求分发决策的分发策略和请求端的性能指标,在尽可能短的时间内将文件分发至节点,从而提高分发效率。
本发明实施例可提供一种文件分发装置,参考图2,图2示出了本发明实施例的文件分发装置200的结构示意图,该装置包括:
第一接收模块210,用于接收来自请求端的分发文件请求;
获取模块220,用于获取请求端的性能指标;
第二接收模块230,用于接收针对分发文件请求的请求分发决策;
选取模块240,用于根据请求分发决策的分发策略和请求端的性能指标,选取分发文件请求被分发至的目标节点组;
第一分发模块250,用于从目标节点组中选取分发文件请求被分发至的多个目标节点;
第三接收模块260,用于接收来自多个目标节点的分发文件请求;
第二分发模块270,用于向多个目标节点发送下载文件命令,将文件分发至多个目标节点,使得请求端从多个目标节点下载文件,实现文件分发。
利用本发明提供的上述方案,利用选取模块根据请求分发决策的分发策略和请求端的性能指标,选取文件被分发至的节点,并在尽可能短的时间内将文件分发至节点,从而提高分发效率。
以下通过具体的实例,描述本发明实施例的可选的具体处理过程。需要说明的是,本发明的方案并不依赖于具体的算法,在实际应用中,可选用任何已知或未知的硬件、软件、算法、程序或其任意组合等来实现本发明的方案,只要是采用了本发明方案的实质思想,均落入本发明的保护范围。
本发明实施例的目的之一是提供一种网络文件快速分发方法及其系统,能够实时监测节点的动静态信息,系统根据用户需求将文件分发至节点,分布式实验具有参与节点数量多和待部署文件占用存储空间大的特点,能够根据网络环境选取最优的分发方式,在尽可能短的时间内将文件分发至用户所制定的大量节点,从而提高分发效率,避免电子资源设备功耗的浪费。
参考图3,图3示出了本发明实施例的文件资源快速分发下载的系统示意图。
作为一个示例,如图3所示的系统主要涉及文件资源请求端、提供方、和分发下载控制以及分发策略服务等。
在一些实施例中,网络文件快速分发系统可以包括:资源请求接入、分发下载决策、策略服务、文件版本管理、移动端资源需求监控、安全及资源监控和资源池等,以下对网络文件快速分发系统的上述各个组成部分进行详细描述。
首先,在一些实施例中,资源请求接入可以包括门户接口和编程接口等。
其中,门户接口用于给用户提供客户端软件下载地址,当用户下载客户端软件安装在本地后,能够实现文件的上传、参看已上传文件、添加和删除候选节点、选取目标节点、分发文件、查看分发进度等一系列的操作;编程接口用于给用户进行二次开发接口或者进行通过代码程序完成上述用户接口的操作。
其次,在一些实施例中,分发下载决策是中枢,负责评估客户端的请求和当前资源情况,同时向资源池下发与文件分发的相关的命令,以及为资源请求的文件共享提供节点发布和发现服务。
分发下载决策是系统的核心,可以通过诸如采集多级分发技术与文件共享技术相结合的分发方式实现尽快分发文件的目标。
此外,分发系统还包括决策服务、安全机制单元、移动端资源需求监控和资源监测单元等。
其中,在一些实施例中,安全机制可以包括两个方面:访问控制和通信安全;访问控制用来防止系统被非授权的用户实用,通信安全用来保证各层之间以及层内实体之间的通信安全。
再次,文件版本管理是通过文件的信息摘要MD5码来对所有文件的不同内容版本做唯一性识别管理。
其中,MD5信息摘要算法(MD5Message-Digest Algorithm),是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
移动端资源需求监控是指对所有接入的移动端文件资源的访问需求进行统一管理。资源中心动态维护一个所有资源文件的共享使用情况列表。
此外,资源监测包括对系统以及节点动静态信息的收集、发布和查询等。
决策服务提供分发下载的策略,以及规则。包括资源请求端的能力(例如,处理能力、存储能力、分辨率展现能力等)。
参见表1,表1示出了资源下载请求携带的终端能力。
表1
序号 | 字段 | 描述 |
1 | filename | 请求资源名 |
2 | terminalCPU | 终端计算能力 |
3 | resolution | 展现分辨率 |
4 | memo | 备用字段 |
以下通过具体的实例,结合图4、图5、图6、图7和图8描述本发明实施例的文件分发方法的具体处理流程。
其中,图4示出了本发明实施例的资源下载时序示意图;图5示出了本发明实施例的资源端释放资源时序示意图;图6示出了本发明实施例的电子终端主动释放资源时序示意图;图7示出了本发明实施例的预约资源分发时序示意图;图8示出了本发明实施例的网络文件分发系统的逻辑结构示意图。
作为一个示例,参考图4,图4所示的文件资源请求步骤如下:
1)请求端向资源管理模块发送资源请求;
2)资源管理模块接收到资源请求,调用分发决策模块接口查询请求端是否拥有此文件访问权限;
3)如果请求端没有此权限,返回权限错误,否则执行4);
4)资源管理模块拿到分发决策模块返回的资源池地址转发给请求端,并向资源监测模块上报此次文件访问请求,资源监测模块收到通知后实时监控此次资源访问的整个过程;
5)请求端从返回的资源池下载相应的文件资源;
6)资源池选择合适的资源节点,然后向请求端返回文件资源数据。
作为一个示例,参见图5,文件资源请求完毕后,系统定时自动启动释放过程,具体步骤如下:
1)文件资源请求完毕后,请求端向分发决策模块发送通知;
2)分发决策模块根据此文件资源的释放策略向资源池发送资源释放请求;
3)资源释放完毕后,分发决策模块向请求端发送通知。
作为一个示例,参见图6,除了系统自动释放资源以外,为了及时释放资源,提高系统空间使用效率,电子终端也可以主动将不需要的文件资源进行释放,具体步骤如下:
1)文件资源访问请求完毕后,请求资源池发送资源释放请求;
2)资源池找到资源所在的资源节点,并将文件资源进行释放;
3)资源释放完毕后,分发决策模块向请求端发送通知。
作为一个示例,参见图7,系统还支持预约资源下载功能,具体步骤如下:
1)请求端向资源池发送资源预约请求,指定文件资源ID和访问时间;
2)资源池选择合适的节点,提前分配好资源;
3)请求端在指定时间内自动下载所需的文件资源。
作为一个示例,参见图8,图8所示的系统架构包括如下几部分:
1、接口层:该层为系统最上面一层,对门户网站系统以及第三方系统提供程序调用开发接口;
2、服务层:业务服务实现层,实现命令下发,节点发布实现、请求响应等业务逻辑功能;
3、控制层:底层基础功能实现层,包括点对点P2P文件共享,多级分发等基础功能。
4、安全机制层:对系统安全进行实时监控和处理。
5、资源监控层:对系统资源访问过程进行实时监控和预警。
综上,以下通过具体实施例对本发明实施例提供的文件分发方法进行介绍,其具体步骤如下:
1)资源中心动态维护一个所有资源文件的共享使用情况:订阅此文件的移动端媒体访问控制地址(Media Access Control Address,MAC)地址以及最近一次下载该文件的MD5码;
2)当移动端上传文件时,可以根据此文件MD5码检索文件资源中心,如果已存在则不再上传该文件,并且可订阅此已有文件,如果不存在那么上传此文件之后订阅该新上传的文件;
3)移动端不需要某一文件时即可释放本地资源,并从资源中心取消订阅该文件;
4)如果某一文件订阅移动端列表为空,并且维持的时间超过某一设定的值,资源中心即可释放此资源;
5)资源中心维护一个所有资源文件的MD5码的白名单,当发布更新文件资源变化时,更新此文件的MD5,并通知所有订阅此文件的移动端,使得移动根据需要选择下载更新文件资源;
6)用户通过门户接口或系统编程接口向资源池发送分发文件请求,以向资源池请求资源;
7)系统通过安全认证后获取请求端到资源的性能指标,例如网络情况、处理能力和/或展现能力等;
8)请求端针对分发文件请求的请求分发决策根据分发策略和请求端的能力情况分析评估后,选取分发文件请求被分发至的目标节点组,分发到资源池的目标节点组。其中分发策略包括诸如依次分发和批量分发等;
9)资源池根据请求分发决策的评估策略和规则,分发资源给资源池的目标节点组中的目标节点,使得请求端从目标节点下载文件资源;
10)请求端的分发文件请求被分发至流量和/或速度更优的目标节点组中的目标节点,例如资源池节点A;
11)同时资源池为分发文件请求分配资源的候选节点,当目标节点无法接收来自资源池的文件时,候选节点作为目标节点用于接收来自资源池的文件;
12)请求端从资源池分配的资源池节点下载资源;
13)资源池节点发送“分发文件”请求到资源池;
14)资源池向待发文件的目标节点下达“下载文件”命令;
15)资源池节点组内收到同一下载命令的目标节点形成工作组(如:工作组G1和工作组S1);
16)工作组内的主节点采用点对点P2P的方式从资源池、组内其它主节点和组外其它主节点下载文件;
17)工作组内的普通节点从组内主节点下载文件;
18)资源池节点向用户反馈分发结果。
其中,前述步骤中各个名词的解释如下:
移动端MAC地址:移动端网卡物理地址,唯一标识此移动端;
文件MD5码:使用密码散列函数根据文件的二进制内容计算出一个128位的的散列值,用于确认文件内容的唯一性,相当于文件的“指纹”;
资源池:即从资源池节点组中分别选出一个节点(以独立方式使用)形成资源池,作为多级分发的第一级。
工作组:最常见最简单的资源管理模式,将各个节点按不同的类别分别列入不同的组中。工作组因此被分为3个类别:目录服务节点、主节点和普通节点。
目录服务节点:用于产生主节点和普通节点,收到下载命令的目标节点要向工作组内目录服务节点注册,目录服务节点为其分配编号,节点通过编号判断其角色(例如,判断是主节点还是普通节点);
主节点:多级分发的第二级,一个工作组内含有若干个主节点,主节点将目标文件拆分,采用P2P的方式,一方面从资源池、组内其它主节点和组外其它主节点下载文件,一方面为其它节点上传文件,主节点的编号决定了主节点可从工作组外下载哪块的文件;
普通节点:多级分发的最后一级,普通节点从组内指定主节点获得资源文件。普通节点的编号决定了主节点从组内哪个主节点获得资源文件。
综上所述,本发明实施例提供的技术方案,可以根据资源请求端和资源池的情况(例如,请求端和资源池的网络、处理能力和分辨率等展现能力等)进行综合评估,分配最优速度和多媒体资源的下载资源池给请求端。
并且,资源请求端根据回复的资源下载时间和服务地址按照预约情况自动下载资源;通过MD5码对文件进行唯一性确认,避免文件重复上传以及有效区分不同版本文件的内容变化。
与现有技术相比,本发明实施例提供的技术方案弥补了现有的资源下载中只考虑网络路径的网络带宽的问题,本发明实施例不但测试网络带宽,还考虑到终端在处理能力上支持展现的分辨率能力,根据综合评估后分发对应请求端的能力和网络的资源,同时根据资源情况的预约分发下载。
此外,本发明实施例提供的技术方案可以通过对文件内容MD5码的唯一性,对文件识别和版本进行高效的管理,避免重复多余的文件上传。
另外,结合图1描述的本发明实施例的文件分发方法可以由文件分发设备来实现。图9示出了本发明实施例提供的文件分发设备的硬件结构示意图。
文件分发设备可以包括处理器1003以及存储有计算机程序指令的存储器1004。
图9是示出能够实现根据本发明实施例的通信方法和网络服务器的计算设备的示例性硬件架构的结构图。如图9所示,计算设备1000包括输入设备1001、输入接口1002、处理器1003、存储器1004、输出接口1005、以及输出设备1006。
其中,输入接口1002、处理器1003、存储器1004、以及输出接口1005通过总线1010相互连接,输入设备1001和输出设备1006分别通过输入接口1002和输出接口1005与总线1010连接,进而与计算设备1000的其他组件连接。
具体地,输入设备1001接收来自外部的输入信息,并通过输入接口1002将输入信息传送到处理器1003;处理器1003基于存储器1004中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1004中,然后通过输出接口1005将输出信息传送到输出设备1006;输出设备1006将输出信息输出到计算设备1000的外部供用户使用。
计算设备1000可以执行本申请上述的通信方法中的各步骤。
处理器1003可以是一个或多个中央处理器(英文:Central Processing Unit,CPU)。在处理器1003是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器1004可以是但不限于随机存储存储器(RAM)、只读存储器(ROM),可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、硬盘等中的一种或多种。存储器1004用于存储程序代码。
可以理解的是,在本申请实施例中,图2提供的第一接收模块210至第二分发模块270中任一模块或全部模块的功能可以用图9所示的中央处理器1003实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘SolidState Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
Claims (13)
1.一种文件分发方法,包括:
接收来自请求端的分发文件请求;
获取所述请求端的性能指标;
接收针对所述分发文件请求的请求分发决策;
根据所述请求分发决策的分发策略和所述请求端的性能指标,选取所述分发文件请求被分发至的目标节点组;
从所述目标节点组中选取所述分发文件请求被分发至的多个目标节点;
接收来自所述多个目标节点的分发文件请求;
向所述多个目标节点发送下载文件命令,将所述文件分发至所述多个目标节点,使得所述请求端从所述多个目标节点下载文件,实现文件分发。
2.根据权利要求1所述的方法,其特征在于,所述接收来自请求端的分发文件请求,包括:
通过门户接口或编程接口,接收来自所述请求端的分发文件请求。
3.根据权利要求1所述的方法,其特征在于,所述性能指标包括如下项中的至少一项:
处理能力、存储能力、和展现能力,其中所述展现能力包括分辨率。
4.根据权利要求1所述的方法,其特征在于,所述目标节点组包括多个目标节点和多个候选节点,其中所述多个候选节点用于当所述多个目标节点无法接收来自资源池的文件时,所述多个候选节点作为多个目标节点用于接收来自所述资源池的文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收从移动端上传的文件,并根据信息摘要MD5码,判断资源池中是否存在待上传文件。
6.根据权利要求5所述的方法,其特征在于,所述接收从移动端上传的文件,并根据信息摘要MD5码,判断资源池中是否存在待上传文件,包括:
接收从所述移动端上传的文件时,所述移动端将待上传文件基于预设协议切割为预设大小的目标种子文件,根据待接收目标种子文件的MD5码判断资源池中是否已经存在所述待接收目标种子文件;
如果资源池中存在所述待接收目标种子文件,则不再上传所述待接收目标种子文件并使得移动端订阅已存在的待接收目标种子文件;
如果资源池中不存在所述待接收目标种子文件,则上传所述待接收目标种子文件并使得移动端订阅所述待接收目标种子文件。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当任一目标种子文件未被移动端订阅,并且维持的时间超过预设时间时,则释放所述未被移动端订阅的目标种子文件。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当任一目标种子文件的文件资源变化时,更新文件资源变化的目标种子文件的MD5码,并通知所有订阅所述文件资源变化的目标种子文件的移动端,使得所述移动端选择是否下载所述文件资源变化的目标种子文件。
9.根据权利要求1所述的方法,其特征在于,所述将所述文件分发至所述多个目标节点,包括:
所述目标节点组内收到所述下载文件命令的多个目标节点形成工作组;
所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件;
所述工作组内的普通节点从所述工作组内主节点下载文件。
10.根据权利要求9所述的方法,其特征在于,所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件,包括:
通过点对点P2P的方式,所述工作组内的主节点从所述资源池、所述工作组内其它主节点和所述工作组外其他主节点下载文件。
11.一种文件分发装置,包括:
第一接收模块,用于接收来自请求端的分发文件请求;
获取模块,用于获取所述请求端的性能指标;
第二接收模块,用于接收针对所述分发文件请求的请求分发决策;
选取模块,用于根据所述请求分发决策的分发策略和所述请求端的性能指标,选取所述分发文件请求被分发至的目标节点组;
第一分发模块,用于从所述目标节点组中选取所述分发文件请求被分发至的多个目标节点;
第三接收模块,用于接收来自所述多个目标节点的分发文件请求;
第二分发模块,用于向所述多个目标节点发送下载文件命令,将所述文件分发至所述多个目标节点,使得所述请求端从所述多个目标节点下载文件,实现文件分发。
12.一种文件分发设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811580831.5A CN109347991B (zh) | 2018-12-24 | 2018-12-24 | 文件分发方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811580831.5A CN109347991B (zh) | 2018-12-24 | 2018-12-24 | 文件分发方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347991A true CN109347991A (zh) | 2019-02-15 |
CN109347991B CN109347991B (zh) | 2021-06-29 |
Family
ID=65297170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811580831.5A Active CN109347991B (zh) | 2018-12-24 | 2018-12-24 | 文件分发方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347991B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738255A (zh) * | 2020-12-30 | 2021-04-30 | 江西格灵如科科技有限公司 | 一种vr资源的下载分发处理方法、终端及系统 |
CN115834568A (zh) * | 2022-11-11 | 2023-03-21 | 超聚变数字技术有限公司 | 文件下载方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368776A (zh) * | 2011-11-25 | 2012-03-07 | 中国科学技术大学 | 一种内容分发网络中节点列表的优化功能模块 |
CN105847382A (zh) * | 2016-04-20 | 2016-08-10 | 乐视控股(北京)有限公司 | Cdn文件分发方法及系统 |
US20170286008A1 (en) * | 2016-03-30 | 2017-10-05 | Advanced Institutes Of Convergence Technology | Smart storage platform apparatus and method for efficient storage and real-time analysis of big data |
CN108173953A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 一种基于内容分发网络cdn的文件分发方法和装置 |
CN108206862A (zh) * | 2017-12-27 | 2018-06-26 | 努比亚技术有限公司 | 网络内容分的分发方法与分发装置 |
CN108337276A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种文件分发方法和系统 |
-
2018
- 2018-12-24 CN CN201811580831.5A patent/CN109347991B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368776A (zh) * | 2011-11-25 | 2012-03-07 | 中国科学技术大学 | 一种内容分发网络中节点列表的优化功能模块 |
US20170286008A1 (en) * | 2016-03-30 | 2017-10-05 | Advanced Institutes Of Convergence Technology | Smart storage platform apparatus and method for efficient storage and real-time analysis of big data |
CN105847382A (zh) * | 2016-04-20 | 2016-08-10 | 乐视控股(北京)有限公司 | Cdn文件分发方法及系统 |
CN108337276A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种文件分发方法和系统 |
CN108206862A (zh) * | 2017-12-27 | 2018-06-26 | 努比亚技术有限公司 | 网络内容分的分发方法与分发装置 |
CN108173953A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 一种基于内容分发网络cdn的文件分发方法和装置 |
Non-Patent Citations (1)
Title |
---|
魏楠青: ""基于虚拟代理的大规模流媒体分发技术研究 "", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738255A (zh) * | 2020-12-30 | 2021-04-30 | 江西格灵如科科技有限公司 | 一种vr资源的下载分发处理方法、终端及系统 |
CN115834568A (zh) * | 2022-11-11 | 2023-03-21 | 超聚变数字技术有限公司 | 文件下载方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109347991B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200657B (zh) | 一种管理资源状态信息的方法和资源下载系统 | |
US8219632B2 (en) | Efficient use of peer cache space in large scale file distributions | |
CN101147130B (zh) | 用于选择满足服务请求的资源管理器的方法和系统 | |
CN104090806B (zh) | 升级包、升级请求的处理方法及装置 | |
CN109600447B (zh) | 用于处理数据的方法、装置和系统 | |
US8250171B2 (en) | Content delivery apparatus, content delivery method, and content delivery program | |
US9641598B1 (en) | Contextually unique identifier generation service | |
CN110737668A (zh) | 数据存储方法、数据读取方法、相关设备及介质 | |
CN103227818A (zh) | 终端、服务器、文件传输方法、文件存储管理系统和方法 | |
CN111273863B (zh) | 高速缓存管理 | |
CN111382119A (zh) | 区块数据归档方法及相关设备 | |
EP2141601B1 (en) | Content delivery apparatus, content delivery method, and content delivery program | |
CN108710681A (zh) | 文件获取方法、装置、设备及存储介质 | |
CN107404541A (zh) | 一种对等网络传输邻居节点选择的方法及系统 | |
JP2012123544A (ja) | 負荷分散装置及びプログラム | |
US20200153889A1 (en) | Method for uploading and downloading file, and server for executing the same | |
CN111753223A (zh) | 一种访问控制的方法和装置 | |
CN103095824A (zh) | 文件上传控制方法及系统 | |
CN111669267A (zh) | 区块链的共识机制配置及背书策略配置方法 | |
CN109347991A (zh) | 文件分发方法、装置、设备及介质 | |
KR20170025498A (ko) | P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템 | |
CN107682415A (zh) | 一种对等网络传输邻居节点选择的方法及系统 | |
CN110221916B (zh) | 一种内存扩容方法、装置、配置中心系统及电子设备 | |
CN110798492B (zh) | 数据存储方法及装置、数据处理系统 | |
CN107846429B (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 |