CN110895583B - 数据资源获取的方法、装置和系统 - Google Patents

数据资源获取的方法、装置和系统 Download PDF

Info

Publication number
CN110895583B
CN110895583B CN201811063407.3A CN201811063407A CN110895583B CN 110895583 B CN110895583 B CN 110895583B CN 201811063407 A CN201811063407 A CN 201811063407A CN 110895583 B CN110895583 B CN 110895583B
Authority
CN
China
Prior art keywords
resource
data
information
request
terminal 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.)
Active
Application number
CN201811063407.3A
Other languages
English (en)
Other versions
CN110895583A (zh
Inventor
石杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811063407.3A priority Critical patent/CN110895583B/zh
Publication of CN110895583A publication Critical patent/CN110895583A/zh
Application granted granted Critical
Publication of CN110895583B publication Critical patent/CN110895583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据资源获取的方法、装置和系统。其中,该方法包括:获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;将资源信息返回至终端节点。本发明解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。

Description

数据资源获取的方法、装置和系统
技术领域
本发明涉及互联网技术应用领域,具体而言,涉及一种数据资源获取的方法、装置和系统。
背景技术
在基于对等计算机网络(peer to peer,简称P2P)技术的内容分发网络中,经常会涉及到资源刷新的问题,比如PC端游戏升级包的更新,Android端应用市场的安装包apk的分发,视频点播中的视频重转码。刷新前后,由于资源变了,但是URL没有变,所以必须把旧的资源从系统中剔除掉,把新的资源推下,在这个过程中必须保证不能有脏数据。
基于P2P技术的内容分发和传统的CDN,最大的区别就是,P2P的节点是很分散,同时又是高动态的,节点随时有可能上线,或下线,很难统一管理起来,即,由于三级P2P节点多为移动用户侧(手机),因此难以被统一地管理(刷新)。因此,如何快速高效的解决资源刷新的问题,是P2P技术商业化过程中,面临的一个巨大的挑战。
目前,常见的资源刷新方案,都是需要用户干预的,整个方案涉及到管控系统,调度系统,节点系统等几部分。主要过程如下:
1.用户在管控系统的界面中,输入需要刷新的URL,和新的资源。
2.管控系统将用户输入的信息,推送到服务器(调度系统)中。
3.服务器(调度系统),更新URL对应资源的资源信息,包括当前刷新的时间点。
4.上传节点,发布资源到调度系统上,调度系统根据资源下载的时间和刷新的时间做比较,如果是刷新前下载的资源,则回复节点需要删除该资源。
5.下载节点,向调度系统请求资源信息时,可以获取到对应资源的更新时间。
6.下载节点,向上传节点请求数据的时候,上传节点会判断资源的更新时间和本地的下载时间是否符合要求,如果是在更新之前下的资源,会拒绝服务。以此,来避免刷新前后的资源互传,导致脏数据。
针对上述现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据资源获取的方法、装置和系统,以至少解决现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
根据本发明实施例的一个方面,提供了一种数据资源获取的方法,包括:资源服务器获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;资源服务器根据数据请求中的请求参数,生成数据资源的资源标识;资源服务器根据资源标识进行检索,得到数据资源的资源信息;资源服务器将资源信息返回至终端节点。
可选的,资源服务器根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,资源服务器根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;资源服务器根据特征信息、资源大小和第一特征值生成字符串;资源服务器对字符串进行特征运算,得到第二特征值;资源服务器依据第二特征值和客户端标识生成资源标识。
可选的,资源服务器根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,资源服务器根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;资源服务器根据特征信息生成字符串;资源服务器对字符串进行特征运算,得到特征值;资源服务器依据特征值和客户端标识生成资源标识。
进一步地,可选的,资源服务器根据域名信息获取解析规则包括:资源服务器根据域名信息在规则库中进行检索;在检索到解析规则的情况下,资源服务器依据解析规则对统一资源定位符进行解析;在未检索到解析规则的情况下,资源服务器向终端节点返回响应消息,其中,响应消息包括:数据资源禁止以P2P模式获取。
可选的,资源服务器根据资源标识进行检索,得到数据资源的资源信息包括:资源服务器根据资源标识在资源库中进行检索,得到资源信息;其中,资源信息还包括:数据资源的特征值和资源标识。
可选的,资源服务器将资源信息返回至终端节点包括:资源服务器将资源信息返回至终端节点,以使得终端节点通过P2P下载方式根据资源信息完成数据资源下载。
可选的,在资源服务器将资源信息返回至终端节点之后,该方法还包括:在终端节点根据资源信息完成数据资源下载的情况下,资源服务器接收终端节点发送的资源发布请求;资源服务器解析资源发布请求,得到资源信息,其中,资源信息包括:资源标识,资源大小,数据资源的特征值,分块校验信息,终端节点信息;资源服务器根据资源标识查询节点列表,并依据查询结果向终端节点返回响应消息。
进一步地,可选的,依据查询结果向终端节点返回响应消息包括:若在节点列表中未查询到资源标识,则资源服务器将资源信息添加至节点列表,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若在节点列表中查询到资源标识,则资源服务器将节点列表中数据资源的特征值与资源信息中的数据资源的特征值进行比较,并依据比较结果向终端节点反馈响应消息。
可选的,依据比较结果向终端节点反馈响应消息包括:若节点列表中数据资源的特征值与资源信息中的数据资源的特征值相同,则资源服务器将资源信息中的节点信息添加至节点列表中,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若节点列表中数据资源的特征值与资源信息中的数据资源的特征值不同,则资源服务器向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布失败。
根据本发明实施例的另一方面,还提供了一种数据资源获取的方法,包括:终端节点向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;终端节点接收资源服务器依据数据请求返回的资源信息;终端节点依据资源信息生成数据下载任务,并执行下载。
可选的,在终端节点向资源服务器发送数据请求之前,该方法还包括:终端节点接收播发器发送的数据资源请求;在数据资源请求包括统一资源定位符和数据范围的情况下,终端节点依据统一资源定位符获取域名信息;终端节点依据域名信息获得内容分发网络服务器的网络地址,并依据网络地址向内容分发网络服务器发送数据资源请求;终端节点接收内容分发网络服务器返回的响应信息,并依据响应信息得到数据资源的资源大小和数据资源的头数据和尾数据。
进一步地,可选的,终端节点向资源服务器发送数据请求包括:终端节点依据头数据和尾数据进行计算,得到第一特征值;终端节点将第一特征值、域名信息、统一资源定位符和资源大小进行封装,生成数据请求;终端节点向资源服务器发送数据请求。
可选的,终端节点依据资源信息生成数据下载任务,并执行下载包括:终端节点根据播发器发送的数据资源请求中的数据资源的数据范围和已接收的数据进行计算,得到待下载的数据区间;终端节点拆分数据区间,拆分后的每个数据区间分别对应一个下载任务;终端节点从资源信息中的节点列表中获取目标终端节点;终端节点依据目标终端节点的节点信息和下载任务生成会话信息,并将会话信息存储于会话列表中;终端节点向目标终端节点发送下载请求,其中,目标终端节点从下载请求中获取数据资源的存储路径,根据存储路径获取数据资源,并根据下载请求中的数据范围读取数据资源中的数据,并返回数据;终端节点接收目标终端节点依据下载请求返回的数据资源。
可选的,该方法还包括:终端节点判断依据下载任务获取的数据资源是否完整;在判断结果为是的情况下,终端节点向资源服务器发送资源发布请求;在判断结果为否的情况下,终端节点执行流程结束。
进一步地,可选的,终端节点向资源服务器发送资源发布请求包括:终端节点计算数据资源的特征值,判断特征值与资源信息中的特征值是否相同;在判断结果为是的情况下,终端节点确定数据资源下载正确,并向资源服务器发送资源发布请求;在判断结果为否的情况下,终端节点确定数据资源下载错误,删除数据资源,并重新下载。
根据本发明另一实施例的一方面,还提供了一种数据资源获取的装置,包括:获取模块,用于获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;标识生成模块,用于根据数据请求中的请求参数,生成数据资源的资源标识;信息获取模块,用于根据资源标识进行检索,得到数据资源的资源信息;发送模块,用于将资源信息返回至终端节点。
根据本发明另一实施例的一方面,还提供了另一种数据资源获取的装置,包括:发送模块,用于向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;接收模块,用于接收资源服务器依据数据请求返回的资源信息;下载模块,用于依据资源信息生成数据下载任务,并执行下载。
根据本发明又一实施例的一方面,还提供了一种数据资源获取的系统,应用于基于P2P技术的内容分发网络,包括:资源服务器和终端节点,其中,终端节点,用于向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;资源服务器,用于获取终端节点发送的数据请求;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;将资源信息返回至终端节点;终端节点,还用于接收资源服务器依据数据请求返回的资源信息;依据资源信息生成数据下载任务,并执行下载。
可选的,数据资源获取的系统应用于游戏资源获取和更新、应用程序获取和更新、多媒体资源的获取和更新。
可选的,终端节点包括:智能手机、平板电脑、笔记本电脑、台式机或智能穿戴设备。
在本发明实施例中,采用数据资源在刷新前后会发生变化的因子的方式,通过获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;将资源信息返回至终端节点,达到了根据数据资源刷新前后产生不同的资源标识,避免了脏数据的产生的目的,从而实现了减轻服务器运维压力的技术效果,进而解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的数据资源获取的系统中启动P2P任务的流程图;
图2是根据本发明实施例一的数据资源获取的系统中资源服务器收到数据请求的流程图;
图3是根据本发明实施例一的数据资源获取的系统中上传节点的服务流程图;
图4是本发明实施例的一种数据资源获取的方法的计算机终端的硬件结构框图;
图5是根据本发明实施例二的数据资源获取的方法的流程图;
图6是根据本发明实施例三的数据资源获取的方法的流程图;
图7是根据本发明实施例四的数据资源获取的装置的流程图;
图8是根据本发明实施例五的数据资源获取的装置的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请涉及的技术名词:
P2P:全称peer to peer,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
P2P节点:P2P网络系统中的每个终端,可以称为一个P2P节点。
P2P分享:在P2P网络中,节点与节点之间共享资源,可以相互上传和下载资源。
下载节点:在一次资源分享中,下载资源的P2P节点。
上传节点:在一次资源分享中,上传资源的P2P节点。
加速器:P2P终端节点上运行的P2P程序,可以是集成在App里面的一个动态库,或者静态库,也可以是一个独立的可执行程序。
资源刷新:一个URL对应的资源(比如:文件,视频,安装包),被一个新的资源替换了。即一个URL在刷新前后,下载到是两个不同的资源。
PCDN:基于P2P技术的内容分发网络,即,传统CDN在移动用户侧的延伸(P2P+CDN),即除了传统的一级CDN节点外,还有二级节点和三级节点,一级和二级节点由供应商控制,三级节点主要为移动用户侧。
实施例1
根据本发明实施例的一方面,提供了一种数据资源获取的系统,应用于基于P2P技术的内容分发网络,包括:资源服务器和终端节点,其中,
终端节点,用于向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;资源服务器,用于获取终端节点发送的数据请求;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;终端节点,还用于接收资源服务器依据数据请求返回的资源信息;依据资源信息生成数据下载任务,并执行下载。
其中,本申请实施例提供的数据资源获取的系统可以应用于由内容分发网络(CDN)与对等计算机网络P2P技术结合的场景,对CDN来讲,是用URL来标识一个具体的数据资源的,而对于P2P来讲,为了便于终端节点间的传输,数据资源识别,会将URL抽象成一个资源ID,用于P2P系统内标识数据资源。
可选的,数据资源获取的系统应用于游戏资源获取和更新、应用程序获取和更新、多媒体资源的获取和更新。
可选的,终端节点包括:智能手机、平板电脑、笔记本电脑、台式机或智能穿戴设备。
本申请实施例通过设计从URL到资源标识(RID)的映射算法,在算法中引入了数据资源刷新前后会产生变化的因子,比如数据资源的资源大小(Size),数据资源的内容(MD5值)。
F(URL,Size,MD5)=RID;
因此,对于同一URL的资源,如果刷新前后,Size和MD5发生变化,就会产生两个不同的资源ID,而不同的资源之间是不会进行P2P数据互传的,这就可以避免因刷新前后的资源数据互传,导致实际资源下载过程中,出现脏数据。刷新之前的资源,在P2P系统中,长时间没有被访问,会被自然淘汰掉。
需要说明的是,本申请实施例以MD5为优选示例进行说明,其中,数据资源的内容(MD5值),是按预设规则从数据资源(例如,视频文件或APP更新后的版本文件)中提取特定内容,做MD5计算得到的。目前,采用的规则是对首尾各8KB的数据做MD5计算得到,但是不仅限于这种规则。
此外,引入的变化因子(Size,MD5)的个数,种类都是可以支持动态配置和修改的。比如:可以直接用URL生成资源ID;也直接用URL+Size,生成资源ID;也可以URL+Size+头部10KB数据的MD5,生成资源ID。不同的算法,可以适应不同的场景,比如:对实时性要求高,刷新频率低的场景,适合直接用URL生成资源ID;对实时性要求低的,刷新频率高的文件下载类的场景,适合URL+Size+MD5的方式,生成资源ID。
另外,在本申请实施例中刷新前的资源,不需要强制删除,在终端节点的资源下载,更新过程中,会被自然淘汰掉。一般终端节点上的存储空间是有限的,如果下载的时候,发现本地存储空间不够,会淘汰掉一部分旧的数据资源,淘汰的时候,会根据数据资源的访问时间判断,即,如果数据资源长时间没有被访问,就会被删除掉。
具体的,本申请实施例提供的数据资源获取的系统进行数据资源刷新具体包括四个阶段:
阶段一,终端节点接收播放器的数据资源请求,获取数据资源的资源大小和首尾数据;
阶段二,终端节点根据获取的数据资源的资源大小和首尾数据向资源服务器获取资源标识和节点列表;
阶段三,终端节点向目标终端节点下载数据资源;
阶段四,终端节点在功能上由下载节点变换为上传节点实现数据资源发布;
需说明的是,本申请实施例请求下载数据资源A,数据资源A可以为可播放的多媒体数据流,该多媒体数据流可以以视频数据为例进行说明。
其中,结合图1所示,图1是根据本发明实施例一的数据资源获取的系统中启动P2P任务的流程图。阶段一具体如下:
1.0,播放器,和加速器(即,本申请实施例中的终端节点,后续以加速器代指终端节点)建立TCP连接,并发送数据资源A的HTTP请求。
其中,HTTP请求具体可以如下所示:
GET/pcdn/f/UA7eqZYZ9zWq6piAIfDF0y0uR-kUm6iFVVEgeguKqTc8UtR-A4kEdcax2yw EZADye3tPmsBD4T_jswBhjqGVmA/aHR0cDov/pcdnvod.alicdn.com/mp4/lyb_hd2.mp4 HTTP/1.1
Accept-Encoding:identity
Host:127.0.0.1:9999
Connection:close
User-Agent:Python-urllib/2.7
1.1,加速器,收到播放器发过来的请求的HTTP请求,请求中包含了视频资源的URL,Range信息。
其中,URL,Range信息具体如下:
pcdnvod.alicdn.com/mp4/lyb_hd2.mp4
Range:0-(表示整个文件)
1.2,加速器,解析1.1请求中的URL,获得域名信息:
其中,域名信息可以表示为:
pcdnvod.alicdn.com
1.3,加速器,根据1.2域名信息解析出的域名,做域名解析,得到服务器(CDN)的IP地址,如:112.12.83.126。
1.4,加速器,向1.3解析出的服务器地址,发起TCP连接。
1.5,加速器,在1.4建立的网络连接上,发送1.1收到的URL请求,请求Range中前1MB的数据。(P2P任务中头部的数据会向CDN请求,中间和后面的数据会向P2P节点请求)
1.6,加速器,收到服务器(CDN)返回的Response中的Header信息,解析Content-Length字段,获取到数据资源的资源大小,记为Size_1。
其中,解析Content-Length字段具体如下:
HTTP/1.0 200 OK
Cache-Control:private,max-age=0
Expires:-1
Content-Type:video/mp4
Content-Length:177443572
Accept-Ranges:bytes
1.7,加速器,将服务返回的数据,输出给播放器。(第一个请求的数据,直接返回给播放器,不影响播放体验。)
1.8,加速器,向1.3解析出的服务器地址,发起TCP连接。
1.9,加速器,在1.8建立的网络连接上,发送1.1收到的URL请求,请求[0,8191]头部8KB的数据。
1.10,加速器,收到1.9请求返回的数据,保存在内存中。(如果,1.1的Range是从0开始请求,则1.8-1.10步骤可以省略)
1.11,加速器,向1.3解析出的服务器地址,发起TCP连接。
1.12,加速器,在1.11建立的网络连接上,发送1.1收到的URL请求,请求尾部8KB的数据。
1.13,加速器,收到1.12请求返回的数据,保存在内存中。
1.14,加速器,将1.10和1.13收到的16KB数据合并,并计算这16KB的MD5值,记为MD5_1。
需要说明的是,上述数据仅作为示例进行说明,以实现本申请提供的数据资源获取的系统为准,具体不做限定。
阶段二,终端节点根据获取的数据资源的资源大小和首尾数据向资源服务器获取资源标识和节点列表,如图2所示,图2是根据本发明实施例一的数据资源获取的系统中资源服务器收到数据请求的流程图。阶段二具体如下:
2.0,加速器,向资源服务器发送数据请求Control,请求该数据资源的资源标识(资源ID)和对应的节点列表,数据请求用的是私有协议,其中包含了:域名,URL,Size_1,MD5_1。
2.1,资源服务器,收到终端节点发过来的数据请求Control,解析数据请求,获取到其中的域名,URL,Size_1,MD5_1等信息。
2.2资源服务器,根据2.1中域名的域名信息,检索到本地规则库中对应的解析规则。
2.3,资源服务器,根据2.2中找到的解析规则,从URL中提取特征信息。
其中,特征信息可以如下所示:
mp4/lyb_hd2.mp4
2.4,资源服务器,将2.3中的特征信息,加上资源大小Size和首尾8KB数据的特征值MD5值,拼成一个字符串。如:
mp4/lyb_hd2.mp4_177443572_8C2867814E464BEEBDE2671B2C151F0E
2.5,资源服务器,根据2.4拼成的字符串,做MD5运算,得到一个特征值MD5值。
2.6,资源服务器,根据2.5生成特征值MD5,和客户端标识Client ID信息,计算得到资源标识ID_1。
其中,资源标识可以如下所示:
“6000220195538C151F081A8364C0E464BE605563”
2.7,资源服务器,根据2.6计算得到的资源标识ID_1,从资源库中检索得到,对应的资源信息,包括整个资源的MD5值,对应的节点列表。
2.8,资源服务器,将2.7检索到的资源信息打包,返回给加速器。
2.9,加速器,收到资源服务器对Control请求的回复,从中解析出资源信息,包括整个资源的MD5值,对应的节点列表。
2.10,加速器,根据2.9中的资源ID,启动对应的P2P下载任务。
阶段三,终端节点向目标终端节点下载数据资源;
3.1,加速器,根据1.1请求中的Range信息,和当前已经接收到的数据,计算出剩余需要下载的数据区间。
3.2,加速器,将3.1计算的数据区间,拆分成固定大小(如:30KB)的P2P任务,每个任务有一个过期时间。
3.3,加速器,将3.2拆分出来的P2P任务,统一放到任务池中。
3.4,加速器,从2.9得到的节点列表中取出一个上传节点。
3.5,加速器,从3.3的任务池中取出一个P2P任务,和3.4取出的节点信息,一起生成一个会话信息,加入到当前会话列表里面。
3.6,加速器(下载节点),将3.5的P2P任务,发送给3.4取出的上传节点。请求采用私有协议,内容包括了资源ID,和请求的数据范围Range信息等。
3.7,上传节点(即,本申请实施例中的目标终端节点,后续以上传节点代指目标终端节点),收到下载节点发送过来的P2P任务请求。上传节点的流程,如图3所示,图3是根据本发明实施例一的数据资源获取的系统中上传节点的服务流程图。
3.8,上传节点,解析3.7收到P2P任务请求,得到资源标识,P2P任务的Range信息。
3.9,上传节点,根据3.8得到的资源ID信息,从本地资源列表中,查找资源信息,包括文件的MD5值,文件的存储路径等。
3.10,上传节点,根据3.9查到的数据资源的存储路径,打开数据资源。
3.11,上传节点,根据3.10打开的数据资源,读取3.8获取到的Range区间的数据。
3.12,上传节点,将3.11读取的数据,返回给下载节点。
3.13,加速器(下载节点),接收3.12上传节点发过来的数据,直到当前P2P子任务的数据全部接收完。
3.14,加速器(下载节点),再从3.3的任务池中获取一个P2P任务,重复步骤3.6-3.13,直到任务池为空,即该P2P任务下载结束。
阶段四,终端节点在功能上由下载节点变换为上传节点实现数据资源发布:
4.1,加速器,下载任务结束,判断当前分片资源是否下载完整,若下载完整,则执行4.2,反之不做任何处理。
4.2,加速器,计算整个文件的MD5值。
4.3,加速器,若2.9中服务器返回的MD5值为空,则不做MD5校验。反之,将4.2计算得到的MD5值,和2.9从服务器获得的MD5值,做比较。若MD5值一致,则文件是正确的,继续4.4,反之,整个文件有误,需要删除重新下载。
4.4,加速器,将分片资源信息,包括资源ID,资源大小,整个分片资源的MD5值,分块校验信息等,写入本地磁盘。
4.5,加速器,向资源服务器,发送资源发布请求。发布请求的信息,包括分片资源ID,资源大小,整个分片资源的MD5值,分块校验信息,当前终端节点的信息。
4.6,资源服务器,收到加速器发送的资源发布请求,并解析,得到资源信息:资源ID,资源大小,整个资源的MD5值,分块校验信息,当前终端节点的信息。
4.7,资源服务器,根据4.6解析得到的分片资源ID,从本地节点列表中,查找该资源。若当前节点列表中,没有找到,则将该资源的信息,添加到节点列表中,并回复加速器发布成功。反之,执行4.8。
4.8,资源服务器,将4.7查找到的整个资源的MD5值,和4.6解析得到的整个资源的MD5值,做比较。若两个MD5值一致,则将4.6的节点信息,添加到该资源的节点列表中,并回复加速器,发布成功。反之,则不添加,并回复加速器,发布失败。
4.9,加速器,收到资源服务器返回的发布结果。若发布失败,则删除资源,反之,保留资源。
至此,下载节点上存储的该资源,就可以被其他节点访问到,并为其他节点上传该资源,下载节点由原来的下载节点转换为上传节点。
整个下载过程中,下载节点,上传节点,资源服务器,以及CDN间的交互过程。
当URL的资源,触发刷新(换了一个新的资源),在重复上述流程的时候,在以下几个环节会发生变化:
1.6,加速器,收到服务器(CDN)返回的Response中的Header信息,解析Content-Length字段,获取到文件的大小,记为Size_2。
1.14,加速器,将1.10和1.13收到的16KB数据合并,并计算这16KB的MD5值,记为MD5_2。
2.0,加速器,向资源服务器发送Control请求,请求该资源的资源ID和对应的节点列表,请求用的是私有协议,其中包含了(域名,URL,Size_2,MD5_2)等信息。
2.1,资源服务器,收到终端节点发过来的Control请求,解析数据包,获取到其中的域名,URL,Size_2,MD5_2等信息。
2.6,资源服务器,根据2.5生成的MD5值,和Client ID等信息,计算得到资源ID_2。
2.7,资源服务器,根据2.6计算得到的资源ID_2,从资源库中检索得到,对应的资源信息,包括整个资源的MD5值,对应的节点列表等等。
在后面所有的流程里面,都是以资源ID_2来进行P2P任务下载,和资源ID_1没有任何交集,从而避免出现脏数据。
其中,本申请实施例提供的数据资源获取的系统在URL到资源ID的映射算法中,引入了变化因子(Size和MD5),使得资源刷新前后,对应到两个不同的资源ID上,先把旧的资源从系统中删除掉,再把新的资源推下去。
此外,本申请实施例提供的数据资源获取的系统不需要开发管控系统和配置界面,对调度系统和节点上的改动也非常少,大大减少了开发的成本,降低了服务器的压力,同时不需要用户做任何操作,无感知的解决资源刷新的问题。
本申请实施例提供的数据资源获取的系统通过在URL到资源ID的映射算法中,引入刷新前后,变化的因子(Size和MD5),来解决资源刷新问题的方法。其中,对变化因子的设置,可以在资源服务端动态配置,能够适应不同的业务场景需求。
实施例2
根据本发明实施例,还提供了一种数据资源获取的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图4是本发明实施例的一种数据资源获取的方法的计算机终端的硬件结构框图。如图4所示,计算机终端40可以包括一个或多个(图中仅示出一个)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器404、以及用于通信功能的传输模块406。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端40还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器404可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据资源获取的方法对应的程序指令/模块,处理器402通过运行存储在存储器404内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据资源获取的方法。存储器404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器404可进一步包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端40。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端40的通信供应商提供的无线网络。在一个实例中,传输装置406包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置406可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图5所示的数据资源获取的方法。在资源服务器侧,图5是根据本发明实施例二的数据资源获取的方法的流程图。
步骤S502,资源服务器获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;
步骤S504,资源服务器根据数据请求中的请求参数,生成数据资源的资源标识;
步骤S506,资源服务器根据资源标识进行检索,得到数据资源的资源信息;
步骤S508,资源服务器将资源信息返回至终端节点。
综上,结合步骤S502至步骤S508,本申请实施例提供的数据资源获取的方法在资源服务器侧对应实施例1中图2阶段二和阶段四的部分。
具体的,在本申请实施例中,基于实施例1中的阶段二和阶段三,在资源服务器侧,通过在URL到资源ID的映射算法中,引入刷新前后,变化的因子(Size和MD5),来解决资源刷新问题的方法。
在本发明实施例中,采用数据资源在刷新前后会发生变化的因子的方式,通过获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;将资源信息返回至终端节点,达到了根据数据资源刷新前后产生不同的资源标识,避免了脏数据的产生的目的,从而实现了减轻服务器运维压力的技术效果,进而解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
可选的,资源服务器根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,资源服务器根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;资源服务器根据特征信息、资源大小和第一特征值生成字符串;资源服务器对字符串进行特征运算,得到第二特征值;依据第二特征值和客户端标识生成资源标识。
可选的,资源服务器根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,资源服务器根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;资源服务器根据特征信息生成字符串;资源服务器对字符串进行特征运算,得到特征值;资源服务器依据特征值和客户端标识生成资源标识。
进一步地,可选的,资源服务器根据域名信息获取解析规则包括:资源服务器根据域名信息在规则库中进行检索;在检索到解析规则的情况下,资源服务器依据解析规则对统一资源定位符进行解析;在未检索到解析规则的情况下,资源服务器向终端节点返回响应消息,其中,响应消息包括:数据资源禁止以P2P模式获取。
可选的,资源服务器根据资源标识进行检索,得到数据资源的资源信息包括:资源服务器根据资源标识在资源库中进行检索,得到资源信息;其中,资源信息还包括:数据资源的特征值和资源标识。
可选的,资源服务器将资源信息返回至终端节点包括:资源服务器将资源信息返回至终端节点,以使得终端节点通过P2P下载方式根据资源信息完成数据资源下载。
可选的,在资源服务器将资源信息返回至终端节点之后,该方法还包括:在终端节点根据资源信息完成数据资源下载的情况下,资源服务器接收终端节点发送的资源发布请求;资源服务器解析资源发布请求,得到资源信息,其中,资源信息包括:资源标识,资源大小,数据资源的特征值,分块校验信息,终端节点信息;资源服务器根据资源标识查询节点列表,并依据查询结果向终端节点返回响应消息。
进一步地,可选的,依据查询结果向终端节点返回响应消息包括:若在节点列表中未查询到资源标识,则资源服务器将资源信息添加至节点列表,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若在节点列表中查询到资源标识,则资源服务器将节点列表中数据资源的特征值与资源信息中的数据资源的特征值进行比较,并依据比较结果向终端节点反馈响应消息。
可选的,依据比较结果向终端节点反馈响应消息包括:若节点列表中数据资源的特征值与资源信息中的数据资源的特征值相同,则资源服务器将资源信息中的节点信息添加至节点列表中,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若节点列表中数据资源的特征值与资源信息中的数据资源的特征值不同,则资源服务器向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布失败。
实施例3
根据本发明实施例的另一方面,还提供了一种数据资源获取的方法,在终端节点中,本申请提供了如图6所示的数据资源获取的方法。在终端节点侧,图6是根据本发明实施例三的数据资源获取的方法的流程图,包括:
步骤S602,终端节点向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;
步骤S604,终端节点接收资源服务器依据数据请求返回的资源信息;
步骤S606,终端节点依据资源信息生成数据下载任务,并执行下载。
综上,结合步骤S602至步骤S606,本申请实施例提供的数据资源获取的方法在终端节点侧对应实施例1中图1阶段一至阶段四的部分。
在本发明实施例中,采用数据资源在刷新前后会发生变化的因子的方式,通过向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;接收资源服务器依据数据请求返回的资源信息;依据资源信息生成数据下载任务,并执行下载,达到了根据数据资源刷新前后产生不同的资源标识,避免了脏数据的产生的目的,从而实现了减轻服务器运维压力的技术效果,进而解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
可选的,在终端节点向资源服务器发送数据请求之前,该方法还包括:终端节点接收播发器发送的数据资源请求;在数据资源请求包括统一资源定位符和数据范围的情况下,终端节点依据统一资源定位符获取域名信息;终端节点依据域名信息获得内容分发网络服务器的网络地址,并依据网络地址向内容分发网络服务器发送数据资源请求;终端节点接收内容分发网络服务器返回的响应信息,并依据响应信息得到数据资源的资源大小和数据资源的头数据和尾数据。
进一步地,可选的,终端节点向资源服务器发送数据请求包括:终端节点依据头数据和尾数据进行计算,得到第一特征值;终端节点将第一特征值、域名信息、统一资源定位符和资源大小进行封装,生成数据请求;终端节点向资源服务器发送数据请求。
可选的,终端节点依据资源信息生成数据下载任务,并执行下载包括:终端节点根据播发器发送的数据资源请求中的数据资源的数据范围和已接收的数据进行计算,得到待下载的数据区间;终端节点拆分数据区间,拆分后的每个数据区间分别对应一个下载任务;终端节点从资源信息中的节点列表中获取目标终端节点;终端节点依据目标终端节点的节点信息和下载任务生成会话信息,并将会话信息存储于会话列表中;终端节点向目标终端节点发送下载请求,其中,目标终端节点从下载请求中获取数据资源的存储路径,根据存储路径获取数据资源,并根据下载请求中的数据范围读取数据资源中的数据,并返回数据;终端节点接收目标终端节点依据下载请求返回的数据资源。
可选的,该方法还包括:终端节点判断依据下载任务获取的数据资源是否完整;在判断结果为是的情况下,终端节点向资源服务器发送资源发布请求;在判断结果为否的情况下,终端节点执行流程结束。
进一步地,可选的,终端节点向资源服务器发送资源发布请求包括:终端节点计算数据资源的特征值,判断特征值与资源信息中的特征值是否相同;在判断结果为是的情况下,终端节点确定数据资源下载正确,并向资源服务器发送资源发布请求;在判断结果为否的情况下,终端节点确定数据资源下载错误,删除数据资源,并重新下载。
具体的,在本申请实施例中,基于实施例1中的阶段一至阶段四,在终端节点侧,通过在URL到资源ID的映射算法中,引入刷新前后,变化的因子(Size和MD5),来解决资源刷新问题的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据资源获取的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
根据本发明另一实施例的一方面,还提供了一种数据资源获取的装置,图7是根据本发明实施例四的数据资源获取的装置的流程图,在资源服务器中,包括:获取模块72,用于获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;标识生成模块74,用于根据数据请求中的请求参数,生成数据资源的资源标识;信息获取模块76,用于根据资源标识进行检索,得到数据资源的资源信息;发送模块78,用于将资源信息返回至终端节点。
在本发明实施例中,采用数据资源在刷新前后会发生变化的因子的方式,通过获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息,其中,资源信息包括:节点列表;将资源信息返回至终端节点,达到了根据数据资源刷新前后产生不同的资源标识,避免了脏数据的产生的目的,从而实现了减轻服务器运维压力的技术效果,进而解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
实施例5
根据本发明另一实施例的一方面,还提供了另一种数据资源获取的装置,图8是根据本发明实施例五的数据资源获取的装置的流程图,在终端节点中,包括:发送模块82,用于向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;接收模块84,用于接收资源服务器依据数据请求返回的资源信息;下载模块86,用于依据资源信息生成数据下载任务,并执行下载。
在本发明实施例中,采用数据资源在刷新前后会发生变化的因子的方式,通过向资源服务器发送数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;接收资源服务器依据数据请求返回的资源信息;依据资源信息生成数据下载任务,并执行下载,达到了根据数据资源刷新前后产生不同的资源标识,避免了脏数据的产生的目的,从而实现了减轻服务器运维压力的技术效果,进而解决了现有技术中在资源更新的过程中容易因为资源数据更新的不同步,容易产生脏数据的技术问题。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据资源获取的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取终端节点发送的数据请求,其中,数据请求,用于请求数据资源的资源标识和节点列表;根据数据请求中的请求参数,生成数据资源的资源标识;根据资源标识进行检索,得到数据资源的资源信息;将资源信息返回至终端节点。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;根据特征信息、资源大小和第一特征值生成字符串;对字符串进行特征运算,得到第二特征值;依据第二特征值和客户端标识生成资源标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据数据请求中的请求参数,生成数据资源的资源标识包括:在数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,根据域名信息获取解析规则,并依据解析规则对统一资源定位符进行解析,获取特征信息;根据特征信息生成字符串;对字符串进行特征运算,得到特征值;依据特征值和客户端标识生成资源标识。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据域名信息获取解析规则包括:根据域名信息在规则库中进行检索;在检索到解析规则的情况下,依据解析规则对统一资源定位符进行解析;在未检索到解析规则的情况下,向终端节点返回响应消息,其中,响应消息包括:数据资源禁止以P2P模式获取。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据资源标识进行检索,得到数据资源的资源信息包括:根据资源标识在资源库中进行检索,得到资源信息;其中,资源信息还包括:数据资源的特征值和资源标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:资源服务器将资源信息返回至终端节点包括:资源服务器将资源信息返回至终端节点,以使得终端节点通过P2P下载方式根据资源信息完成数据资源下载。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在将资源信息返回至终端节点之后,在终端节点根据资源信息完成数据资源下载的情况下,接收终端节点发送的资源发布请求;解析资源发布请求,得到资源信息,其中,资源信息包括:资源标识,资源大小,数据资源的特征值,分块校验信息,终端节点信息;根据资源标识查询节点列表,并依据查询结果向终端节点返回响应消息。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据查询结果向终端节点返回响应消息包括:若在节点列表中未查询到资源标识,则将资源信息添加至节点列表,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若在节点列表中查询到资源标识,则将节点列表中数据资源的特征值与资源信息中的数据资源的特征值进行比较,并依据比较结果向终端节点反馈响应消息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据比较结果向终端节点反馈响应消息包括:若节点列表中数据资源的特征值与资源信息中的数据资源的特征值相同,则将资源信息中的节点信息添加至节点列表中,并向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布成功;若节点列表中数据资源的特征值与资源信息中的数据资源的特征值不同,则向终端节点反馈响应消息,其中,响应消息,用于指示数据资源发布失败。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (18)

1.一种数据资源获取的方法,包括:
资源服务器获取终端节点发送的数据请求,其中,所述数据请求,用于请求数据资源的资源标识和节点列表;
所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识;
所述资源服务器根据所述资源标识进行检索,得到所述数据资源的资源信息;
所述资源服务器将所述资源信息返回至所述终端节点;
所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:
在所述数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;
所述资源服务器根据所述特征信息、所述资源大小和所述第一特征值生成字符串;
所述资源服务器对所述字符串进行特征运算,得到第二特征值;
所述资源服务器依据所述第二特征值和所述客户端标识生成所述资源标识;
或者,
所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:
在所述数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;
所述资源服务器根据所述特征信息生成字符串;
所述资源服务器对所述字符串进行特征运算,得到特征值;
所述资源服务器依据所述特征值和所述客户端标识生成所述资源标识。
2.根据权利要求1所述的数据资源获取的方法,所述资源服务器根据所述域名信息获取解析规则包括:
所述资源服务器根据所述域名信息在规则库中进行检索;
在检索到所述解析规则的情况下,所述资源服务器依据所述解析规则对所述统一资源定位符进行解析;
在未检索到所述解析规则的情况下,所述资源服务器向所述终端节点返回响应消息,其中,所述响应消息包括:所述数据资源禁止以P2P模式获取。
3.根据权利要求2所述的数据资源获取的方法,所述资源服务器根据所述资源标识进行检索,得到所述数据资源的资源信息包括:
所述资源服务器根据所述资源标识在资源库中进行检索,得到所述资源信息;其中,所述资源信息还包括:所述数据资源的特征值和所述资源标识。
4.根据权利要求1所述的数据资源获取的方法,所述资源服务器将所述资源信息返回至所述终端节点包括:所述资源服务器将所述资源信息返回至所述终端节点,以使得所述终端节点通过P2P下载方式根据所述资源信息完成数据资源下载。
5.根据权利要求1或4所述的数据资源获取的方法,在所述资源服务器将所述资源信息返回至所述终端节点之后,所述方法还包括:
在所述终端节点根据所述资源信息完成数据资源下载的情况下,所述资源服务器接收所述终端节点发送的资源发布请求;
所述资源服务器解析所述资源发布请求,得到资源信息,其中,所述资源信息包括:资源标识,资源大小,数据资源的特征值,分块校验信息,所述终端节点信息;
所述资源服务器根据所述资源标识查询节点列表,并依据查询结果向所述终端节点返回响应消息。
6.根据权利要求5所述的数据资源获取的方法,所述依据查询结果向所述终端节点返回响应消息包括:
若在所述节点列表中未查询到所述资源标识,则所述资源服务器将所述资源信息添加至所述节点列表,并向所述终端节点反馈响应消息,其中,所述响应消息,用于指示数据资源发布成功;
若在所述节点列表中查询到所述资源标识,则所述资源服务器将所述节点列表中所述数据资源的特征值与所述资源信息中的数据资源的特征值进行比较,并依据比较结果向所述终端节点反馈响应消息。
7.根据权利要求6所述的数据资源获取的方法,所述依据比较结果向所述终端节点反馈响应消息包括:
若所述节点列表中所述数据资源的特征值与所述资源信息中的数据资源的特征值相同,则所述资源服务器将所述资源信息中的所述节点信息添加至所述节点列表中,并向所述终端节点反馈响应消息,其中,所述响应消息,用于指示所述数据资源发布成功;
若所述节点列表中所述数据资源的特征值与所述资源信息中的数据资源的特征值不同,则所述资源服务器向所述终端节点反馈响应消息,其中,所述响应消息,用于指示所述数据资源发布失败。
8.一种数据资源获取的方法,包括:
终端节点向资源服务器发送数据请求,其中,所述数据请求,用于请求数据资源的资源标识和节点列表,其中,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识;所述资源服务器根据所述资源标识进行检索,得到所述数据资源的资源信息;其中,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息、所述资源大小和所述第一特征值生成字符串;所述资源服务器对所述字符串进行特征运算,得到第二特征值;所述资源服务器依据所述第二特征值和所述客户端标识生成所述资源标识;或者,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息所述资源服务器根据所述特征信息生成字符串;所述资源服务器对所述字符串进行特征运算,得到特征值;所述资源服务器依据所述特征值和所述客户端标识生成所述资源标识;
所述终端节点接收所述资源服务器依据所述数据请求返回的所述资源信息;
所述终端节点依据所述资源信息生成数据下载任务,并执行下载。
9.根据权利要求8所述的数据资源获取的方法,在所述终端节点向资源服务器发送数据请求之前,所述方法还包括:
所述终端节点接收播发器发送的数据资源请求;
在所述数据资源请求包括统一资源定位符和数据范围的情况下,所述终端节点依据所述统一资源定位符获取域名信息;
所述终端节点依据所述域名信息获得内容分发网络服务器的网络地址,并依据所述网络地址向所述内容分发网络服务器发送所述数据资源请求;
所述终端节点接收所述内容分发网络服务器返回的响应信息,并依据所述响应信息得到所述数据资源的资源大小和所述数据资源的头数据和尾数据。
10.根据权利要求9所述的数据资源获取的方法,所述终端节点向资源服务器发送数据请求包括:
所述终端节点依据所述头数据和尾数据进行计算,得到第一特征值;
所述终端节点将所述第一特征值、所述域名信息、所述统一资源定位符和所述资源大小进行封装,生成所述数据请求;
所述终端节点向所述资源服务器发送数据请求。
11.根据权利要求8所述的数据资源获取的方法,所述终端节点依据所述资源信息生成数据下载任务,并执行下载包括:
所述终端节点根据播发器发送的数据资源请求中的所述数据资源的数据范围和已接收的数据进行计算,得到待下载的数据区间;
所述终端节点拆分所述数据区间,拆分后的每个数据区间分别对应一个下载任务;
所述终端节点从所述资源信息中的节点列表中获取目标终端节点;
所述终端节点依据所述目标终端节点的节点信息和下载任务生成会话信息,并将会话信息存储于会话列表中;
所述终端节点向所述目标终端节点发送下载请求,其中,所述目标终端节点从所述下载请求中获取所述数据资源的存储路径,根据所述存储路径获取所述数据资源,并根据所述下载请求中的数据范围读取所述数据资源中的数据,并返回所述数据;
所述终端节点接收所述目标终端节点依据所述下载请求返回的所述数据资源。
12.根据权利要求8所述的数据资源获取的方法,所述方法还包括:
所述终端节点判断依据所述下载任务获取的数据资源是否完整;
在判断结果为是的情况下,所述终端节点向资源服务器发送资源发布请求;
在判断结果为否的情况下,所述终端节点执行流程结束。
13.根据权利要求12所述的数据资源获取的方法,所述终端节点向资源服务器发送资源发布请求包括:
所述终端节点计算所述数据资源的特征值,判断所述特征值与所述资源信息中的特征值是否相同;
在判断结果为是的情况下,所述终端节点确定所述数据资源下载正确,并向资源服务器发送资源发布请求;
在判断结果为否的情况下,所述终端节点确定所述数据资源下载错误,删除所述数据资源,并重新下载。
14.一种数据资源获取的装置,包括:
获取模块,用于获取终端节点发送的数据请求,其中,所述数据请求,用于请求数据资源的资源标识和节点列表;
标识生成模块,用于根据所述数据请求中的请求参数,生成所述数据资源的资源标识;其中,所述标识生成模块还用于在所述数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息、所述资源大小和所述第一特征值生成字符串;所述资源服务器对所述字符串进行特征运算,得到第二特征值;所述资源服务器依据所述第二特征值和所述客户端标识生成所述资源标识;或者,所述标识生成模块还用于在所述数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息生成字符串;所述资源服务器对所述字符串进行特征运算,得到特征值;所述资源服务器依据所述特征值和所述客户端标识生成所述资源标识;
信息获取模块,用于根据所述资源标识进行检索,得到所述数据资源的资源信息;
发送模块,用于将所述资源信息返回至所述终端节点。
15.一种数据资源获取的装置,包括:
发送模块,用于向资源服务器发送数据请求,其中,所述数据请求,用于请求数据资源的资源标识和节点列表,其中,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识;所述资源服务器根据所述资源标识进行检索,得到所述数据资源的资源信息;其中,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息、所述资源大小和所述第一特征值生成字符串;所述资源服务器对所述字符串进行特征运算,得到第二特征值;所述资源服务器依据所述第二特征值和所述客户端标识生成所述资源标识;或者,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息所述资源服务器根据所述特征信息生成字符串;所述资源服务器对所述字符串进行特征运算,得到特征值;所述资源服务器依据所述特征值和所述客户端标识生成所述资源标识;
接收模块,用于接收所述资源服务器依据所述数据请求返回的所述资源信息;
下载模块,用于依据所述资源信息生成数据下载任务,并执行下载。
16.一种数据资源获取的系统,应用于基于P2P技术的内容分发网络,包括:资源服务器和终端节点,其中,
所述终端节点,用于向资源服务器发送数据请求,其中,所述数据请求,用于请求数据资源的资源标识和节点列表;
所述资源服务器,用于获取终端节点发送的数据请求;根据所述数据请求中的请求参数,生成所述数据资源的资源标识;根据所述资源标识进行检索,得到所述数据资源的资源信息;将所述资源信息返回至所述终端节点;其中,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符、资源大小、第一特征值和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息、所述资源大小和所述第一特征值生成字符串;所述资源服务器对所述字符串进行特征运算,得到第二特征值;所述资源服务器依据所述第二特征值和所述客户端标识生成所述资源标识;或者,所述资源服务器根据所述数据请求中的请求参数,生成所述数据资源的资源标识包括:在所述数据请求中的请求参数包括域名信息、统一资源定位符和客户端标识的情况下,所述资源服务器根据所述域名信息获取解析规则,并依据所述解析规则对所述统一资源定位符进行解析,获取特征信息;所述资源服务器根据所述特征信息生成字符串;所述资源服务器对所述字符串进行特征运算,得到特征值;所述资源服务器依据所述特征值和所述客户端标识生成所述资源标识;
所述终端节点,还用于接收所述资源服务器依据所述数据请求返回的所述资源信息;依据所述资源信息生成数据下载任务,并执行下载。
17.根据权利要求16所述的系统,其中,所述数据资源获取的系统应用于游戏资源获取和更新、应用程序获取和更新、多媒体资源的获取和更新。
18.根据权利要求16所述的系统,其中,所述终端节点包括:智能手机、平板电脑、笔记本电脑、台式机或智能穿戴设备。
CN201811063407.3A 2018-09-12 2018-09-12 数据资源获取的方法、装置和系统 Active CN110895583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811063407.3A CN110895583B (zh) 2018-09-12 2018-09-12 数据资源获取的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811063407.3A CN110895583B (zh) 2018-09-12 2018-09-12 数据资源获取的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN110895583A CN110895583A (zh) 2020-03-20
CN110895583B true CN110895583B (zh) 2023-05-30

Family

ID=69784821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811063407.3A Active CN110895583B (zh) 2018-09-12 2018-09-12 数据资源获取的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN110895583B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866553B (zh) * 2020-07-24 2022-07-08 聚好看科技股份有限公司 媒资信息校准方法及服务器
CN112286592A (zh) * 2020-10-29 2021-01-29 平安普惠企业管理有限公司 资源数据的加载方法及装置、存储介质、计算机设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统
CN101030873A (zh) * 2007-02-15 2007-09-05 深圳市迅雷网络技术有限公司 一种下载数据的方法及系统
CN101442558A (zh) * 2008-12-26 2009-05-27 中国科学院计算技术研究所 一种为p2sp网络提供索引服务的方法和系统
CN102185920A (zh) * 2011-05-10 2011-09-14 奇智软件(北京)有限公司 基于网络的下载方法和系统、终端
CN102694831A (zh) * 2011-03-25 2012-09-26 中国电信股份有限公司 移动终端流媒体数据补偿方法与系统、内容分发网络
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和系统
CN104991907A (zh) * 2015-06-17 2015-10-21 深圳市腾讯计算机系统有限公司 网络信息资源的搜索方法、装置和系统
CN105721224A (zh) * 2016-03-31 2016-06-29 网易(杭州)网络有限公司 统一资源定位符处理方法、装置和系统
CN105827694A (zh) * 2016-03-11 2016-08-03 腾讯科技(深圳)有限公司 网络资源的获取方法和装置
CN107025234A (zh) * 2016-02-01 2017-08-08 中国移动通信集团公司 一种信息推送方法及缓存服务器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统
CN101030873A (zh) * 2007-02-15 2007-09-05 深圳市迅雷网络技术有限公司 一种下载数据的方法及系统
CN101442558A (zh) * 2008-12-26 2009-05-27 中国科学院计算技术研究所 一种为p2sp网络提供索引服务的方法和系统
CN102694831A (zh) * 2011-03-25 2012-09-26 中国电信股份有限公司 移动终端流媒体数据补偿方法与系统、内容分发网络
CN102185920A (zh) * 2011-05-10 2011-09-14 奇智软件(北京)有限公司 基于网络的下载方法和系统、终端
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和系统
CN104991907A (zh) * 2015-06-17 2015-10-21 深圳市腾讯计算机系统有限公司 网络信息资源的搜索方法、装置和系统
CN107025234A (zh) * 2016-02-01 2017-08-08 中国移动通信集团公司 一种信息推送方法及缓存服务器
CN105827694A (zh) * 2016-03-11 2016-08-03 腾讯科技(深圳)有限公司 网络资源的获取方法和装置
CN105721224A (zh) * 2016-03-31 2016-06-29 网易(杭州)网络有限公司 统一资源定位符处理方法、装置和系统

Also Published As

Publication number Publication date
CN110895583A (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
US11758013B2 (en) Methods and systems for caching data communications over computer networks
US11350139B2 (en) Video live broadcast method and apparatus
US8892768B2 (en) Load balancing apparatus and load balancing method
CN102882985B (zh) 基于云存储的文件共享方法
CN103365865B (zh) 数据存储方法、数据下载方法及其装置
US9282141B2 (en) Method and system for loading file in webgame
EP2773080A1 (en) Sharing control system and method for network resources download information
US9282137B2 (en) Dynamic package creation for predictive page load optimization
US20140359066A1 (en) System, method and device for offline downloading resource and computer storage medium
WO2016054923A1 (zh) 一种基于hls协议的用户信息获取方法和服务器
US10931746B2 (en) Managing content downloads
CN104378234A (zh) 跨数据中心的数据传输处理方法及系统
CN110895583B (zh) 数据资源获取的方法、装置和系统
US8984100B2 (en) Data downloading method, terminal, server, and system
CN111083204B (zh) 文件传输方法、装置及存储介质
CN111176706A (zh) 终端升级方法、装置、电子设备及存储介质
CN114222086B (zh) 音视频码流的调度方法、系统、介质及电子装置
US20150074234A1 (en) Content system and method for chunk-based content delivery
CN107613016B (zh) 文件批量下载方法、客户端、分发服务器及系统
CN108134811B (zh) 目标文件分发或下载的方法、装置和系统
KR101600717B1 (ko) P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치
CN101635831A (zh) 一种p2p直播视频节点数据共享的方法、装置及代理系统
Meyn Browser to browser media streaming with HTML5
JP5109901B2 (ja) セッションデータ共有方法
CN102523250B (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