CN111339057B - 减少回源请求的方法、装置及计算机可读存储介质 - Google Patents
减少回源请求的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111339057B CN111339057B CN202010134479.3A CN202010134479A CN111339057B CN 111339057 B CN111339057 B CN 111339057B CN 202010134479 A CN202010134479 A CN 202010134479A CN 111339057 B CN111339057 B CN 111339057B
- Authority
- CN
- China
- Prior art keywords
- cache
- target file
- file
- request
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000007667 floating Methods 0.000 claims description 12
- 238000013467 fragmentation Methods 0.000 claims description 11
- 238000006062 fragmentation reaction Methods 0.000 claims description 11
- 239000012634 fragment Substances 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000295 complement effect Effects 0.000 description 19
- 230000000153 supplemental effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001502 supplementing effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种大数据技术,揭露了一种减少回源请求的方法,包括:通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器回复的所述目标文件的内存大小,根据所述目标文件的内存大小生成缓存单元;对所述缓存单元进行区域划分,得到分片缓存区域;根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。本发明还提出一种减少回源请求装置以及一种计算机可读存储介质。本发明能够减少分片存储中的回源请求。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于内容分发网络的减少回源请求的方法、装置及计算机可读存储介质。
背景技术
内容分发网络(简称CDN)顾名思义就是用于内容分发,其必然需要内容缓存。对于较大目标文件的分发,分片存储有效地增加了目标文件请求的命中率,可以减少回源请求流量的消耗。其中,对于分片存储大小的定义,行业没有标准。不同的企业一般根据自己业务情况定义全局的分片存储大小,比如阿里云512k,七牛云1M,这样对于业务稳定或波动不大的情况没有问题。但有些情况是有问题的,如一些客户通过CDN融合厂商分发,而CDN融合厂商和CDN边缘厂家的分片存储大小不同,首次拉取资源会造成CDN边缘厂家到CDN融合厂商的不命中,进而导致增大回源,给客户带来不必要的损失。如:A厂家需要回源融合分发的是B厂家512k的分片,在缓存丢失后由于B厂家是1M的分片,所以B厂家用1M分片回源到客户源站,这样就放大2倍了,如果有请求洪峰1G,瞬间造成2倍的回源放大达到2G,这种情况下客户源站会负载过大。
发明内容
本发明提供一种减少回源请求的方法、装置及计算机可读存储介质,其主要目的在于提供一种分片存储中减少回源请求的方案。
为实现上述目的,本发明提供的一种减少回源请求的方法,包括:
通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元;
基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域;
根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。
可选地,所述通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,包括:
获取所述目标文件访问所述客户源服务器的请求地址,将所述请求地址加载至预设的请求语句中,通过所述内容分发网络缓存接收所述请求语句,根据所述请求语句查找所述目标文件在所述客户源服务器中的地址,完成所述目标文件的读取请求。
可选地,所述根据所述目标文件的内存大小,在客户终端中生成一定比例大小的内存单元并与所述内容分发网络缓存组合形成缓存单元,包括;
当所述目标文件的内存大小≤第一数值时,将所述内存单元的第一比例和所述内容分发网络缓存进行组合作为所述缓存单元;
当所述第一数值<所述目标文件的内存大小≤第二数值时,将所述内存单元的第二比例和所述内容分发网络缓存进行组合作为所述缓存单元;
当所述第二数值<所述目标文件的内存大小时,将所述内存单元的第三比例和所述内容分发网络缓存进行组合作为所述缓存单元。
可选地,所述第一数值为500M,所述第二数值为1G,所述第一比例为20%,所述第二比例为40%,以及所述第三比例为60%。
可选地,所述分片缓存区域包括基本分片缓存区域和补充分片缓存区域,其中,所述基本分片缓存区域的空间大于所述补充分片缓存区域的空间;及
所述区域划分包括:
将所述目标文件的内存大小换算成以M字节为单位,得到所述目标文件的内存大小n'M;
若所述n'为偶数时,将所述缓存单元全部划分为基本分片缓存区域;
若所述n'为奇数时,将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域;
若所述n'包含浮点数,将所述缓存单元划分为补充分片缓存区域和基本分片缓存区域。
可选地,所述将所述目标文件的内存大小换算成以M字节为单位,得到所述目标文件的内存大小n'M,包括:
通过下述公式计算所述目标文件的内存大小n'M中小数部分的数值mk:
n'M-[n'M]=mk
其中,[n'M]表示对目标文件的内存大小n'M进行取整操作;
根据所述mk的大小在所述缓存单元中按预设的方式增加相应内存大小的分片缓存区域。
可选地,所述将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,包括:
通过循环命令对所述目标子文件集进行遍历,得到需要进行传输的目标子文件集;
利用load命令依次将需要进行传输的目标子文件集加载到所述缓存单元中对应的分片缓存区域中;
根据所述对应的分片缓存区域将所述需要进行传输的目标子文件集传输至所述客户终端,得到所述独立临时文件集。
此外,为实现上述目的,本发明提供一种减少回源请求系统,该系统包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行,以实现如上所述的减少回源请求方法的步骤。
此外,为实现上述目的,本发明提供一种减少回源请装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的减少回源请求程序,所述减少回源请求程序被所述处理器执行,以实现如上所述的减少回源请求方法的步骤。
此外,为实现上述目的,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有减少回源请求程序,所述减少回源请求程序可被一个或者多个处理器执行,以实现如上所述的减少回源请求的方法的步骤。
本发明提出的减少回源请求的方法、装置及计算机可读存储介质,通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,根据所述客户源服务器回复的所述目标文件的内存大小生成缓存单元,并对所述缓存单元进行区域划分,得到分片缓存区域;根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而实现减少分片存储中的回源请求。
附图说明
图1为本发明一实施例提供的减少回源请求的方法的流程示意图;
图2为本发明一实施例提供的减少回源请求的装置的内部结构示意图;
图3为本发明一实施例提供的减少回源请求的装置中减少回源请求程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种减少回源请求的方法。参照图1所示,为本发明一实施例提供的减少回源请求的方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,减少回源请求的方法包括:
S1、通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求后反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元。
本发明较佳实施例中,所述内容分发网络(Content Delivery Network,CDN)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
所述CDN缓存是客户源站的代理,起到为所述客户源站服务器分担存储压力的作用。所述客户源站服务器是指运行维护一个网站所需要的若干服务器,在该服务器上存储着目标文件,所述目标文件可以是视频资源、音频资源或者大型数据资源,所述客户终端为需要获取所述目标文件的设备。
较佳地,本发明所述通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,包括:获取所述目标文件访问所述客户源服务器的请求地址,将所述请求地址加载至预设的请求语句中,通过所述内容分发网络缓存接收所述请求语句,根据所述请求语句查找所述目标文件在所述客户源服务器中的地址,完成所述目标文件的读取请求,并计算所述目标文件的内存大小,将所述目标文件的所占内存空间的大小值回复给所述客户终端。其中,所述range请求的语句为:range:proxy_set_headerRange$slice_range(fileaddr),所述range语句中最后括号中缺省的“fileaddr”为所述客户终端需要获取的所述目标文件的地址。
进一步地,所述客户终端根据所述目标文件的内存大小,在客户终端的内存单元中生成对应的内存区域和所述CDN缓存进行组合形成所述缓存单元。其中,在本发明较佳实施例中所述形成所述缓存单元包括:当所述目标文件的内存大小≤第一数值时,将所述内存单元的第一比例和所述CDN缓存进行组合作为所述缓存单元,当所述第一数值<所述目标文件的内存大小≤第二数值时,将所述内存单元的第二比例和所述CDN缓存进行组合作为所述缓存单元,当所述第二数值<所述目标文件的内存大小时,将所述内存单元的第三比例和所述CDN缓存进行组合作为所述缓存单元。优选地,所述第一数值为500M,所述第二数值为1G,所述第一比例为20%,所述第二比例为40%,以及所述第三比例为60%。
S2、基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域。
较佳地,本发明根据所述目标文件的内存大小将所述缓存单元划分为两个区域,即:基本分片缓存区域和补充分片缓存区域,其中,所述基本分片缓存区域的空间大于所述补充分片缓存区域的空间。例如,所述基本分片缓存区域包含储存空间大小为2M的若干分片缓存区域。所述补充分片缓存区域根据所述目标文件的内存大小占所述缓存单元空间内存大小来确定是否设定,例如,所述补充分片缓存区域包含若干储存空间大小为1M或512kB的分片缓存区域。
详细地,所述区域划分包括:预设所述目标文件的内存大小为nG,利用计算公式nG×1024=n'M将所述目标文件的内存大小从以G为单位换算成以M为单位,得到以M为单位的所述目标文件的内存大小为n'M,并计算出所述目标文件的内存大小n'M的小数部分的数值mk,根据所述mk的大小在所述缓存单元中按预设的方式增加相应内存大小的分片缓存区域。其中,所述小数部分的数值mk的计算方法包括:
n'M-[n'M]=mk
其中,[n'M]表示对目标文件的内存大小n'M进行取整操作。
进一步地,当n'为偶数时,所述缓存单元全部设置为所述基本分片缓存区域,且所述基本分片缓存区域中全部设置为以2M大小为单位的若干所述分片缓存区域,数量为n'/20。当n'为奇数时,将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中包含数量为n'-1/20个的2M大小的若干所述分片缓存区域,所述补充分片缓存区域只包含1个1M大小的所述分片缓存区域。
进一步地,如果n'包含浮点数,则将所述缓存单元也需要划分为补充分片缓存区域和基本分片缓存区域。本发明将n'划分为整数部分[n']和浮点数部分m,整数部分[n']按上述对整数处理的方式进行区域划分,对浮点数部分m,即是mkB大小的元数据,当m>512KB时,则在[n']区域划分的基础上,为补充分片缓存区域再添加1个大小为1M的分片缓存区域,用于存放所述mkB大小的所述元数据;当m≤512KB时,则在[n']区域划分的基础上,为补充分片缓存区域再添加1个大小为512kB的所述分片缓存区域。
例如:对于n=2.3,则nG大小为2.3G,所述目标文件大小为2.3G,将所述目标文件大小换算为以M为单位:2.3G×1024=2355.2M,则2355.2M-[2355.2M]=0.2M=204.8kB,[2355.2M]=2355M,整数部分数值为奇数,则将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中2M所述分片元数据缓存模块的数量为:(2355-1)/20=117.7,取118个2M所述分片元数据缓存模块,所述补充分片缓存区域设置1个1M大小的所述分片元数据缓存模块(用来存放2355-1中的那个1M的元数据),再将小数部分换算以kB为单位为204.8kB<512kB,则在所述补充分片缓存区域设置1个512kB大小的所述分片缓存区域。
优选地,对内存大小为2.3G的所述目标文件,所述缓存单元将被划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中包含118个2M所述分片缓存区域,所述补充分片缓存区域中包含1个1M大小的所述分片缓存区域和1个512kB大小的所述分片缓存区域。
S3、根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。
本发明较佳实施例中,所述客户源站服务器根据所述分片缓存区域将所述目标文件进行结构化拆分后得到若干个以2M、1M和kB为单位的目标子文件。通过所述结构化拆分,在所述基本分片缓存区域和补充分片缓存区域中的2M、1M及512kB的分片缓存区域对所述子文件进行结构化加载,将所述分片缓存区域的大小和所述各目标子文件的大小尽可能的相同或者契合,这样可以最大限度的利用所述缓存单元的空间。
进一步地,本发明较佳实施例通过循环命令对所述目标子文件集进行遍历,对每一个2M的目标子文件(因为2M的子文件数量最多,远远大于1M和以kB为单位的子文件的数量,按照划分规则,1M和以kB为单位的子文件的数量不超过1)通过load命令依次加载到所述缓存单元的基本分片缓存区域中的2M分片缓存区域中,加载后的所述2M分片缓存区域将存储的所述2M的目标子文件传输到所述客户终端,形成独立临时文件,所述2M分片缓存区域传输完一个2M的目标子文件以后,随即加入新的加载队列,等待下一个2M的所述子文件加载进来,再进行传输(通常情况下,所述基本分片缓存区域中所有的2M分片元数据缓存模块不足以将整个目标文件一次传输完毕,因此,对所有的所述2M分片元数据缓存模块都要循环加载)。
进一步地,如果所述目标文件的大小以M为单位数值的整数部分是奇数,则还需要用到1个补充分片缓存区域的1M分片缓存区域传输1次,如果所述目标文件的大小以M为单位数值还存在浮点数部分,即小数部分,若小数部分>512kB,则还需要用到1次所述补充分片缓存区域的1M分片缓存区域传输1次,若小数部分<512kB则还需要用到1次所述补充分片缓存区域的512kB所述分片缓存区域传输1次。
较佳地,所述目标子文件集经过所述缓存单元传输到所述客户终端都将形成独立临时文件,即:有多少个目标子文件传输到所述客户终端就会形成多少个所述独立临时文件,其中,所述目标子文件和所述独立临时文件是一一对应的关系。所述客户终端通过合并命令将所有的所述独立临时文件进行合并操作后,将所述目标文件进行还原,从而完成减少回源的请求。
例如:所述目标文件的内存大小为2.3G,将所述目标文件的内存大小换算为以M为单位:2.3G×1024=2355.2M,则对所述目标文件进行结构化拆分操作,所述浮点数部分为:2355.2M-[2355.2M]=0.2M换算为kB为单位为204.8kB,整数部分为[2355.2M]=2355M为奇数,则所述结构化拆分生成2M的目标子文件数量为(2355-1)/2=1177个,1M的目标子文件数量为1(因为所述目标文件的内存大小整数部分为2355是奇数,通过所述2M的分片缓存区域循环传输了2354M的所述目标子文件,还剩下了1M的所述目标子文件),204.8kB的目标子文件数量为1,所述1177个2M的目标子文件通过上述S2中所述118个2M所述分片缓存区域进行循环传输,所述1个1M的目标子文件通过上述S2中所述1个1M大小的所述分片缓存区域进行循环传输,所述1个204.8kB的目标子文件通过上述S2中所述1个512kB大小的所述分片缓存区域进行循环传输,完成所有目标子文件的传输后,所述客户终端将所述生成的1177+1+1=1179个独立临时文件,进行合并操作(结构化拆分后目标子文件的数量为1179则传输到客户终端生成1179个独立临时文件),完成所述存储操作。
本发明还提供一种减少回源请求的装置。参照图2所示,为本发明一实施例提供的减少回源请求装置的内部结构示意图。
在本实施例中,所述减少回源请求装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器或者服务器组合等。该减少回源请求装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是减少回源请求装置1的内部存储单元,例如该减少回源请求装置1的硬盘。存储器11在另一些实施例中也可以是减少回源请求装置1的外部存储设备,例如减少回源请求装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括减少回源请求装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于减少回源请求装置1的应用软件及各类数据,例如减少回源请求程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行减少回源请求程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在减少回源请求装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及减少回源请求程序01的减少回源请求装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对减少回源请求装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有减少回源请求程序01;处理器12执行存储器11中存储的减少回源请求程序01时实现如下步骤:
步骤一、通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求后反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元。
本发明较佳实施例中,所述内容分发网络(Content Delivery Network,CDN)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
所述CDN缓存是客户源站的代理,起到为所述客户源站服务器分担存储压力的作用。所述客户源站服务器是指运行维护一个网站所需要的若干服务器,在该服务器上存储着目标文件,所述目标文件可以是视频资源、音频资源或者大型数据资源,所述客户终端为需要获取所述目标文件的设备。
较佳地,本发明所述通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,包括:获取所述目标文件访问所述客户源服务器的请求地址,将所述请求地址加载至预设的请求语句中,通过所述内容分发网络缓存接收所述请求语句,根据所述请求语句查找所述目标文件在所述客户源服务器中的地址,完成所述目标文件的读取请求,并计算所述目标文件的内存大小,将所述目标文件的所占内存空间的大小值回复给所述客户终端。其中,所述range请求的语句为:range:proxy_set_headerRange$slice_range(fileaddr),所述range语句中最后括号中缺省的“fileaddr”为所述客户终端需要获取的所述目标文件的地址。
进一步地,所述客户终端根据所述目标文件的内存大小,在客户终端的内存单元中生成一定比例大小的内存区域和所述CDN缓存进行组合形成所述缓存单元。其中,在本发明较佳实施例中所述比例为:当所述目标文件的内存大小≤第一数值时,将所述内存单元的第一比例和所述CDN缓存进行组合作为所述缓存单元,当所述第一数值<所述目标文件的内存大小≤第二数值时,将所述内存单元的第二比例和所述CDN缓存进行组合作为所述缓存单元,当所述第二数值<所述目标文件的内存大小时,将所述内存单元的第三比例和所述CDN缓存进行组合作为所述缓存单元。优选地,所述第一数值为500M,所述第二数值为1G,所述第一比例为20%,所述第二比例为40%,以及所述第三比例为60%。
步骤二、基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域。
较佳地,本发明根据所述目标文件的内存大小将所述缓存单元划分为两个区域,即:基本分片缓存区域和补充分片缓存区域,其中,所述基本分片缓存区域的空间大于所述补充分片缓存区域的空间。例如,所述基本分片缓存区域包含储存空间大小为,例如,2M的若干所述分片缓存区域。所述补充分片缓存区域根据所述目标文件的内存大小占所述缓存单元空间内存大小来确定是否设定,例如,所述补充分片缓存区域包含若干储存空间大小为1M或512kB的分片缓存区域。
详细地,所述区域划分包括:预设所述目标文件的内存大小为nG,利用计算公式nG×1024=n'M将所述目标文件的内存大小从以G为单位换算成以M为单位,得到以M为单位的所述目标文件的内存大小为n'M,并计算出所述目标文件的内存大小n'M的小数部分的数值mk,根据所述mk的大小在所述缓存单元中按预设的方式增加相应内存大小的分片缓存区域。其中,所述小数部分的数值mk的计算方法包括:
n'M-[n'M]=mk
其中,[n'M]表示对目标文件的内存大小n'M进行取整操作。
进一步地,当n'为偶数时,所述缓存单元全部设置为所述基本分片缓存区域,且所述基本分片缓存区域中全部设置为以2M大小为单位的若干所述分片缓存区域,数量为n'/20。当n'为奇数时,将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中包含数量为n'-1/20个的2M大小的若干所述分片缓存区域,所述补充分片缓存区域只包含1个1M大小的所述分片缓存区域。
进一步地,如果n'包含浮点数,则将所述缓存单元也需要划分为补充分片缓存区域和基本分片缓存区域。本发明将n'划分为整数部分[n']和浮点数部分m,整数部分[n']按上述对整数处理的方式进行区域划分,对浮点数部分m,即是mkB大小的元数据,当m>512KB时,则在[n']区域划分的基础上,为补充分片缓存区域再添加1个大小为1M的分片缓存区域,用于存放所述mkB大小的所述元数据;当m≤512KB时,则在[n']区域划分的基础上,为补充分片缓存区域再添加1个大小为512kB的所述分片缓存区域。
例如:对于n=2.3,则nG大小为2.3G,所述目标文件大小为2.3G,将所述目标文件大小换算为以M为单位:2.3G×1024=2355.2M,则2355.2M-[2355.2M]=0.2M=204.8kB,[2355.2M]=2355M,整数部分数值为奇数,则将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中2M所述分片元数据缓存模块的数量为:(2355-1)/20=117.7,取118个2M所述分片元数据缓存模块,所述补充分片缓存区域设置1个1M大小的所述分片元数据缓存模块(用来存放2355-1中的那个1M的元数据),再将小数部分换算以kB为单位为204.8kB<512kB,则在所述补充分片缓存区域设置1个512kB大小的所述分片缓存区域。
优选地,对内存大小为2.3G的所述目标文件,所述缓存单元将被划分为基本分片缓存区域和补充分片缓存区域,所述基本分片缓存区域中包含118个2M所述分片缓存区域,所述补充分片缓存区域中包含1个1M大小的所述分片缓存区域和1个512kB大小的所述分片缓存区域。
步骤三、根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。
本发明较佳实施例中,所述客户源站服务器根据所述分片缓存区域将所述目标文件进行结构化拆分后得到若干个以2M、1M和kB为单位的目标子文件。通过所述结构化拆分,在所述基本分片缓存区域和补充分片缓存区域中的2M、1M及512kB的分片缓存区域对所述子文件进行结构化加载,将所述分片缓存区域的大小和所述各目标子文件的大小尽可能的相同或者契合,这样可以最大限度的利用所述缓存单元的空间。
进一步地,本发明较佳实施例通过循环命令对所述目标子文件集进行遍历,对每一个2M的目标子文件(因为2M的子文件数量最多,远远大于1M和以kB为单位的子文件的数量,按照划分规则,1M和以kB为单位的子文件的数量不超过1)通过load命令依次加载到所述缓存单元的基本分片缓存区域中的2M分片缓存区域中,加载后的所述2M分片缓存区域将存储的所述2M的目标子文件传输到所述客户终端,形成独立临时文件,所述2M分片缓存区域传输完一个2M的目标子文件以后,随即加入新的加载队列,等待下一个2M的所述子文件加载进来,再进行传输(通常情况下,所述基本分片缓存区域中所有的2M分片元数据缓存模块不足以将整个目标文件一次传输完毕,因此,对所有的所述2M分片元数据缓存模块都要循环加载)。
进一步地,如果所述目标文件的大小以M为单位数值的整数部分是奇数,则还需要用到1个补充分片缓存区域的1M分片缓存区域传输1次,如果所述目标文件的大小以M为单位数值还存在浮点数部分,即小数部分,若小数部分>512kB,则还需要用到1次所述补充分片缓存区域的1M分片缓存区域传输1次,若小数部分<512kB则还需要用到1次所述补充分片缓存区域的512kB所述分片缓存区域传输1次。
较佳地,所述目标子文件集经过所述缓存单元传输到所述客户终端都将形成独立临时文件,即:有多少个目标子文件传输到所述客户终端就会形成多少个所述独立临时文件,其中,所述目标子文件和所述独立临时文件是一一对应的关系。所述客户终端通过合并命令将所有的所述独立临时文件进行合并操作后,将所述目标文件进行还原,从而完成减少回源的请求。
例如:所述目标文件的内存大小为2.3G,将所述目标文件的内存大小换算为以M为单位:2.3G×1024=2355.2M,则对所述目标文件进行结构化拆分操作,所述浮点数部分为:2355.2M-[2355.2M]=0.2M换算为kB为单位为204.8kB,整数部分为[2355.2M]=2355M为奇数,则所述结构化拆分生成2M的目标子文件数量为(2355-1)/2=1177个,1M的目标子文件数量为1(因为所述目标文件的内存大小整数部分为2355是奇数,通过所述2M的分片缓存区域循环传输了2354M的所述目标子文件,还剩下了1M的所述目标子文件),204.8kB的目标子文件数量为1,所述1177个2M的目标子文件通过上述S2中所述118个2M所述分片缓存区域进行循环传输,所述1个1M的目标子文件通过上述S2中所述1个1M大小的所述分片缓存区域进行循环传输,所述1个204.8kB的目标子文件通过上述S2中所述1个512kB大小的所述分片缓存区域进行循环传输,完成所有目标子文件的传输后,所述客户终端将所述生成的1177+1+1=1179个独立临时文件,进行合并操作(结构化拆分后目标子文件的数量为1179则传输到客户终端生成1179个独立临时文件),完成所述存储操作。
可选地,在其他实施例中,减少回源请求程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述减少回源请求程序在减少回源请求装置中的执行过程。
例如,参照图3所示,为本发明减少回源请求装置一实施例中的减少回源请求程序的程序模块示意图,该实施例中,所述减少回源请求程序可以被分割为缓存单元生成模块10、区域划分模块20、加载合并模块30示例性地:
所述缓存单元生成模块10用于:通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元。
所述区域划分模块20用于:基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域。
所述加载合并模块30用于:根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。
上述缓存单元生成模块10、区域划分模块20、加载合并模块30等程序模块可以组成一个减少回源请求系统,该系统被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有减少回源请求程序,所述减少回源请求程序可被一个或多个处理器执行,以实现如下操作:
通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元;
基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域;
根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求。
本发明计算机可读存储介质具体实施方式与上述减少回源请求装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种减少回源请求的方法,其特征在于,所述方法包括:
通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,并接收所述客户源服务器基于所述读取请求反馈的所述目标文件的内存大小,根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元;
基于所述目标文件的内存大小对所述缓存单元进行区域划分,得到分片缓存区域;
根据所述分片缓存区域对所述目标文件进行结构化拆分,形成目标子文件集,并将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,将所述独立临时文件集进行合并操作后还原成所述目标文件,从而完成减少回源的请求;
其中,所述分片缓存区域包括基本分片缓存区域和补充分片缓存区域,其中,所述基本分片缓存区域的空间大于所述补充分片缓存区域的空间;及所述区域划分包括:将所述目标文件的内存大小换算成以M字节为单位,得到所述目标文件的内存大小;若所述为偶数时,将所述缓存单元全部划分为基本分片缓存区域;若所述为奇数时,将所述缓存单元划分为基本分片缓存区域和补充分片缓存区域;若所述包含浮点数,将所述缓存单元划分为补充分片缓存区域和基本分片缓存区域;
所述将所述目标文件的内存大小换算成以M字节为单位,得到所述目标文件的内存大小,包括:通过下述公式计算所述目标文件的内存大小中小数部分的数值mk:
其中,表示对目标文件的内存大小进行取整操作;
根据所述mk的大小在所述缓存单元中按预设的方式增加相应内存大小的分片缓存区域。
2.如权利要求1所述的减少回源请求的方法,其特征在于,所述通过内容分发网络缓存向客户源服务器发送目标文件的读取请求,包括:
获取所述目标文件访问所述客户源服务器的请求地址,将所述请求地址加载至预设的请求语句中,通过所述内容分发网络缓存接收所述请求语句,根据所述请求语句查找所述目标文件在所述客户源服务器中的地址,完成所述目标文件的读取请求。
3.如权利要求1所述的减少回源请求的方法,其特征在于,所述根据所述目标文件的内存大小,在客户终端中生成对应的内存单元并与所述内容分发网络缓存组合形成缓存单元,包括;
当所述目标文件的内存大小≤第一数值时,将所述内存单元的第一比例和所述内容分发网络缓存进行组合作为所述缓存单元;
当所述第一数值<所述目标文件的内存大小≤第二数值时,将所述内存单元的第二比例和所述内容分发网络缓存进行组合作为所述缓存单元;
当所述第二数值<所述目标文件的内存大小时,将所述内存单元的第三比例和所述内容分发网络缓存进行组合作为所述缓存单元。
4.如权利要求3所述的减少回源请求的方法,其特征在于,所述第一数值为500M,所述第二数值为1G,所述第一比例为20%,所述第二比例为40%,以及所述第三比例为60%。
5.如权利要求1至4中任意一项所述的减少回源请求的方法,其特征在于,所述将所述目标子文件集通过所述缓存单元加载至所述客户终端中,得到独立临时文件集,包括:
通过循环命令对所述目标子文件集进行遍历,得到需要进行传输的目标子文件集;
利用load命令依次将需要进行传输的目标子文件集加载到所述缓存单元中对应的分片缓存区域中;
根据所述对应的分片缓存区域将所述需要进行传输的目标子文件集传输至所述客户终端,得到所述独立临时文件集。
6.一种减少回源请求系统,其特征在于,该系统包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行时实现如权利要求1至5中任一项所述的减少回源请求的方法。
7.一种减少回源请装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的减少回源请求程序,所述减少回源请求程序被所述处理器执行时实现如权利要求1至5中任一项所述的减少回源请求的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有减少回源请求程序,所述减少回源请求程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的减少回源请求的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134479.3A CN111339057B (zh) | 2020-02-29 | 2020-02-29 | 减少回源请求的方法、装置及计算机可读存储介质 |
PCT/CN2020/119123 WO2021169298A1 (zh) | 2020-02-29 | 2020-09-29 | 减少回源请求的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134479.3A CN111339057B (zh) | 2020-02-29 | 2020-02-29 | 减少回源请求的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339057A CN111339057A (zh) | 2020-06-26 |
CN111339057B true CN111339057B (zh) | 2024-07-09 |
Family
ID=71184114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010134479.3A Active CN111339057B (zh) | 2020-02-29 | 2020-02-29 | 减少回源请求的方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111339057B (zh) |
WO (1) | WO2021169298A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339057B (zh) * | 2020-02-29 | 2024-07-09 | 平安科技(深圳)有限公司 | 减少回源请求的方法、装置及计算机可读存储介质 |
CN112055044B (zh) * | 2020-07-20 | 2022-11-04 | 云盾智慧安全科技有限公司 | 数据请求方法及服务器、计算机可存储介质 |
CN112417350B (zh) * | 2020-09-17 | 2023-03-24 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN114466032B (zh) * | 2021-12-27 | 2023-11-03 | 天翼云科技有限公司 | 一种cdn系统合并回源方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935648A (zh) * | 2015-06-03 | 2015-09-23 | 北京快网科技有限公司 | 一种高性价比的cdn系统及文件预推、分片缓存的方法 |
CN105978936A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610348B2 (en) * | 2003-05-07 | 2009-10-27 | International Business Machines | Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed |
US20170366488A1 (en) * | 2012-01-31 | 2017-12-21 | Google Inc. | Experience sharing system and method |
CN103227826B (zh) * | 2013-04-23 | 2016-08-03 | 蓝汛网络科技(北京)有限公司 | 一种文件传输方法及装置 |
CN104243425B (zh) * | 2013-06-19 | 2018-09-04 | 深圳市腾讯计算机系统有限公司 | 一种在内容分发网络中进行内容管理的方法、装置及系统 |
CN105791366B (zh) * | 2014-12-26 | 2019-01-18 | 中国电信股份有限公司 | 一种大文件HTTP-Range下载方法、缓存服务器及系统 |
CN105450780B (zh) * | 2015-12-31 | 2019-01-18 | 深圳市网心科技有限公司 | 一种cdn系统及其回源方法 |
US10437937B2 (en) * | 2016-07-12 | 2019-10-08 | Commvault Systems, Inc. | Dynamic management of expandable cache storage for multiple network shares configured in a file server |
CN109167845A (zh) * | 2018-11-27 | 2019-01-08 | 云之端网络(江苏)股份有限公司 | 一种面向大文件分发场景的分片缓存及重组方法 |
CN110765086B (zh) * | 2019-10-25 | 2022-08-02 | 浪潮电子信息产业股份有限公司 | 一种小文件的目录读取方法、系统、电子设备及存储介质 |
CN111339057B (zh) * | 2020-02-29 | 2024-07-09 | 平安科技(深圳)有限公司 | 减少回源请求的方法、装置及计算机可读存储介质 |
-
2020
- 2020-02-29 CN CN202010134479.3A patent/CN111339057B/zh active Active
- 2020-09-29 WO PCT/CN2020/119123 patent/WO2021169298A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935648A (zh) * | 2015-06-03 | 2015-09-23 | 北京快网科技有限公司 | 一种高性价比的cdn系统及文件预推、分片缓存的方法 |
CN105978936A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021169298A1 (zh) | 2021-09-02 |
CN111339057A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339057B (zh) | 减少回源请求的方法、装置及计算机可读存储介质 | |
CN110096660B (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN110825479A (zh) | 页面处理方法、装置、终端设备、服务器和存储介质 | |
WO2015161658A1 (zh) | 网页资源加载方法及装置 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
US10057343B2 (en) | Implementing synchronization of state information between instances of an application as well as between different applications in an efficient, scalable manner | |
WO2015106692A1 (en) | Webpage pushing method, client, server, and system | |
CN112422702A (zh) | Cdn回源方法、系统及计算机设备 | |
CN110572422B (zh) | 数据下载方法、装置、设备和介质 | |
CN106933965B (zh) | 静态资源请求的方法 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN112182445A (zh) | 一种优化客户端页面性能的方法和装置 | |
CN111259060B (zh) | 数据查询的方法及装置 | |
CN111010453B (zh) | 服务请求处理方法、系统、电子设备及计算机可读介质 | |
CN113452733A (zh) | 文件下载方法和装置 | |
CN113282589A (zh) | 一种数据获取方法和装置 | |
CN113220981A (zh) | 一种优化缓存的方法和装置 | |
CN113641706A (zh) | 数据查询的方法和装置 | |
CN111259013A (zh) | 一种存储数据的方法和装置 | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
CN107291628B (zh) | 访问数据存储设备的方法和装置 | |
CN113364848B (zh) | 文件缓存方法、装置、电子设备及存储介质 | |
US10185729B2 (en) | Index creation method and system | |
CN113760861A (zh) | 一种数据迁移的方法和装置 | |
CN112069771A (zh) | 一种用于解析pdf文件中的图片的方法及装置 |
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 |