CN109634925B - 资源文件下载方法、装置、计算机设备和存储介质 - Google Patents
资源文件下载方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109634925B CN109634925B CN201910125710.XA CN201910125710A CN109634925B CN 109634925 B CN109634925 B CN 109634925B CN 201910125710 A CN201910125710 A CN 201910125710A CN 109634925 B CN109634925 B CN 109634925B
- Authority
- CN
- China
- Prior art keywords
- resource
- folder
- downloading
- type
- file
- 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 49
- 230000003068 static effect Effects 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种资源文件下载方法、装置、计算机设备和存储介质,涉及云存储技术领域。所述方法包括:接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型;获取与所述资源类型对应的所述资源文件夹,并获取所述资源文件夹的摘要值;将所述摘要值返回至所述下载端;接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型;获取与所述目标资源类型对应的目标资源文件夹,并将所述目标资源文件夹发送至所述下载端。采用本方法能够实现页面和后台更新的实时同步。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源文件下载方法、装置、计算机设备和存储介质。
背景技术
随着互联网行业的发展,网页内容所提供的信息日渐丰富,网页上所展示的数据内容也随之越来越丰富。在网页开发过程中,通常需要链接一些资源(Static Resource),例如JavaScript脚本文件、层叠样式表(Cascading Style Sheets,CSS)资源或图片等。为了提高用户访问带有这些资源的网页的速度,通常需要进行资源文件缓存,以便用户可以直接读取浏览器的缓存中的资源文件。但当因为版本更新,这些缓存的资源文件发生更改时,浏览器缓存的资源文件会使这些带有资源的网页不能及时同步到最新版本,针对这种网页不能及时同步更新的问题,传统做法是手动清除浏览器缓存后,重新缓存最新版本的所有资源文件才可以。而手动清除缓存的方式并不能实现实时同步。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现页面和后台更新的实时同步的资源文件下载方法、装置、计算机设备和存储介质。
一种资源文件下载方法,所述方法包括:
接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型;
获取与所述资源类型对应的所述资源文件夹,并获取所述资源文件夹的摘要值,所述摘要值是对所述资源文件夹中的文件内容的唯一标识;
将所述摘要值返回至所述下载端,以使所述下载端将所述摘要值与本地缓中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型;
接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型;
获取与所述目标资源类型对应的目标资源文件夹;
将所述目标资源文件夹发送至所述下载端。
在一个实施例中,在所述接收下载端发送的第一资源下载请求之前,还包括:
接收系统版本发布指令,所述系统版本发布指令携带更新的资源文件;
判断所述资源文件的资源类型;
查找与所述资源类型对应的资源文件夹,将所述资源文件添加至所述资源文件夹;
计算所述资源文件夹的摘要值,将所述摘要值配置给所述资源文件夹;
发布带有所述摘要值的资源文件夹。
在一个实施例中,所述第一资源下载请求和所述第二资源下载请求中还携带用户角色;
所述获取与所述资源类型对应的所述资源文件夹,包括:
获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件夹;
所述获取与所述目标资源类型对应的目标资源文件夹,包括:
从所述第一级资源文件夹中查找与所述目标资源类型对应目标资源文件夹。
一种资源文件下载方法,所述方法包括:
若监听到用于获取待显示页面的请求,则提取所述待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求;
接收所述系统服务器根据所述摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取所述资源类型对应的第二摘要值;
判断所述第一摘要值和所述第二摘要值是否相同;
若相同,则从本地缓存中获取所述资源类型对应的资源文件;
否则,向系统服务器发送资源下载请求,以接收系统服务器反馈的与所述资源类型对应的资源文件;
根据所述资源文件生成所述待显示页面进行显示。
在一个实施例中,在若监听到用于获取待显示页面的请求,则提取所述待显示页面包含的资源类型之后,还包括:
从本地缓存中查找与所述资源类型对应的资源文件夹;
获取所述资源文件夹的时间戳;
若所述时间戳满足设定时间条件,则从所述资源文件夹中获取资源文件,否则,执行所述向系统服务器发送摘要值获取请求。
在一个实施例中,在所述提取所述待显示页面包含的资源类型之后,还包括:
若所述资源类型为静态资源类型,则从所述本地缓存中获取所述静态资源类型对应的资源文件;
若所述资源类型为非静态资源类型,则执行所述并向系统服务器发送摘要值获取请求。
一种资源文件下载装置,所述装置包括:
第一下载请求模块,用于接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型;
摘要值获取模块,用于获取与所述资源类型对应的所述资源文件夹,并获取所述资源文件夹的所述摘要值,所述摘要值是对所述资源文件夹中的文件内容的唯一标识;
摘要值反馈模块,用于将所述摘要值返回至所述下载端,以使所述下载端将所述摘要值与本地缓中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型;
第二下载请求模块,用于接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型;
资源文件夹获取模块,用于获取与所述目标资源类型对应的目标资源文件夹;
资源文件夹反馈模块,用于将所述目标资源文件夹发送至所述下载端。
一种资源文件下载装置,所述装置包括:
第一摘要值请求模块,用于若监听到用于获取待显示页面的请求,则提取所述待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求;
第二摘要值获取模块,用于接收所述系统服务器根据所述摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取所述资源类型对应的第二摘要值;
摘要值对比模块,用于判断所述第一摘要值和所述第二摘要值是否相同;
若相同,则进入第一下载模块,所述第一下载模块,用于从本地缓存中获取所述资源类型对应的资源文件;
否则进入第二下载模块,所述第二下载模块用于向系统服务器发送资源下载请求,以接收系统服务器反馈的与所述资源类型对应的资源文件;
页面显示模块,用于根据所述资源文件生成所述待显示页面进行显示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
上述资源文件下载方法、装置、计算机设备和存储介质,通过对资源文件进行分类,并为每类目标文件夹标注摘要值,目标文件夹中的任一资源文件内容发生了变更,摘要值也会随之改变。当浏览器需要显示页面时,从服务器获取该资源对应的最新的摘要值,根据摘要值判断缓存中的资源是否为最新的资源,若是,直接使用缓存中的资源,否则下载最新资源,实现了页面与后台更新的同步性,同时也减少了不必要的下载。此外,将资源文件归类,每次更新的时候只同步有改动的资源类型对应的资源文件夹,避免了不必要的缓存更新。
附图说明
图1为一个实施例中资源文件下载方法的应用场景图;
图2为一个实施例中资源文件下载方法的流程示意图;
图3为另一个实施例中资源文件下载方法的流程示意图;
图4为又一个实施例中资源文件下载方法的流程示意图;
图5为一个实施例中资源文件下载装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的资源文件下载方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与系统服务器104通过网络进行通信。终端102中可安装有应用程序或者安装有浏览器,其中应用程序或者浏览器用于显示系统页面。终端102从系统服务器获取资源文件,并基于资源文件进行页面的显示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,系统服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种资源文件下载方法,以该方法应用于图1中的系统服务器为例进行说明,包括以下步骤:
步骤202,接收下载端发送的第一资源下载请求,第一资源下载请求中携带待下载资源的资源类型。
下载端可以是应用终端,也可以是浏览器。下载端响应于用户触发的资源浏览请求,向服务器发送资源下载请求。本实施例中以下载端为浏览器为例进行说明。
用户通过浏览器浏览系统页面,为了显示系统页面,浏览器需要获取构成系统页面的各种资源文件,包括如JavaScript脚本文件、层叠样式表(Cascading Style Sheets,CSS)、图片、视频等文件。为了获取这些资源文件,浏览器向服务器发送资源获取请求。本步骤的第一资源下载请求是区别于下文中的第二资源下载请求。第一资源下载请求是请求摘要值,而第二资源下载请求是请求待下载资源文件。
第一资源下载请求中携带请求显示的页面所包括的资源文件的资源类型,如请求页面A,页面A涉及JavaScript脚本文件(以下简称JS文件)、层叠样式表(CSS文件),则第一资源下载请求中携带JS资源类型和CSS资源类型。
步骤204,获取与资源类型对应的资源文件夹的摘要值。
摘要值是对资源文件夹中的文件内容的唯一标识。系统服务器(以下简称服务器)接收下载端发送的第一资源下载请求(摘要值获取请求),提取请求中携带的资源类型。服务器查找与资源类型对应的资源文件夹,并获取资源文件夹的摘要值。
系统前端文件以文件夹形式存储,不同的资源类型存储在不同的文件夹中。如系统前端文件涉及JS文件和CSS文件,则服务器中存储有JS资源文件夹和CSS资源文件夹。服务器预先通过预设算法生成每个资源文件夹对应的摘要值。摘要值是对资源文件夹中所包含的文件内容进行设定算法计算,得到的用于表征资源文件夹的文件内容的字符串,摘要值可作为资源文件夹中文件内容的唯一标识,不同的文件内容对应的摘要值不同。当资源文件夹的文件内容有更新时,该资源文件夹对应的摘要值也会随着文件内容的变更而变化。
预设算法可以是MD5消息摘要算法(MD5Message-Digest Algorithm),相应的摘要值为一个128位(16字节)的散列值(hash value)。资源文件夹出现任何改动,其对应的MD5值也会相应发生变化。
本步骤中,服务器获取与资源类型对应的资源文件夹的摘要值,可以是,获取服务器中JS文件夹的摘要值和CSS文件夹的摘要值,当然,如果待下载网页还存在其他类型文件,则同样在服务器中维护相应类型的资源文件夹,此时,也会获取其他类型文件对应的资源文件夹的摘要值。
步骤206,将摘要值返回至下载端,以使下载端将摘要值与本地缓中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型。
服务器将资源类型对应的摘要值返回给下载端。下载端通过浏览器查找相应资源类型的资源文件夹在本地缓存中所关联的摘要值。为了进行区分,将浏览器本地缓存的资源类型对应的资源文件夹的摘要值命名为第二摘要值,而将服务器返回的摘要值命名为第一摘要值。下载端将第一摘要值与第二摘要值进行比对,若果两者相同,说明服务器并未对相应文件夹做更新操作,此时,浏览器从本地缓存的资源文件夹中获取相应的资源文件;若第一摘要值和第二摘要值不相同,则下载端将该第一摘要值或第二摘要值对应的资源类型标识为目标资源类型。也就是说,本地与服务器之间存在差异的资源文件夹对应的资源类型为目标资源类型。
举例来说,浏览器本地缓存有各种类型的资源文件夹,如JS资源文件夹和CSS资源文件夹。每个资源文件夹均对应摘要值。如JS资源文件夹的摘要值为abcdef,CSS资源文件夹的摘要值为ghijklmn。
下载端待显示的系统页面包括JS资源和CSS资源,且浏览器从服务器获取到的JS资源类型对应的摘要值为abcdef,CSS资源类型对应的摘要值为opqrstuv。浏览器经对比,发现JS资源类型的服务器返回的摘要值(abcdef)与本地的摘要值(abcdef)相同,CSS资源类型的服务器返回的摘要值(ghijklmn)与本地的摘要值(opqrstuv)不相同。基于对比结果,对于JS资源,浏览器直接从本地缓存中的JS资源文件夹中获取待显示的JS资源。而CSS资源即为目标资源类型。
步骤208,接收下载端发送的第二资源下载请求,第二资源下载请求中携带目标资源类型。
步骤210,获取与目标资源类型对应的目标资源文件夹,并将目标资源文件夹发送至下载端。
服务器响应下载端的第二资源下载请求,将目标资源类型对应的资源文件夹推送给浏览器,浏览器下载目标资源类型对应的资源文件夹,并将资源文件夹缓存到本地。浏览器下载的资源文件夹带有摘要值,以便进行摘要值比对。
在一个实施例中,第二资源下载请求携带目标资源类型以及具体的资源地址。服务器查找与目标资源类型对应的资源文件夹,根据资源地址从资源文件夹中获取目标资源,并将目标资源返回给浏览器。浏览器根据本地查找的资源(非目标资源类型对应的资源)以及服务器返回的目标资源生成页面并显示。在显示页面的同时,或者为了不影响页面的显示,在显示页面后设定时长之后,浏览器从服务器下载目标资源类型对应的资源文件夹,并将资源文件夹缓存到本地。
基于传统的浏览器缓存机制和资源请求机制,当浏览器接收到资源下载请求时,会直接从浏览器缓存中获取相应资源,但如果系统对资源文件做了更新,由于资源文件同名,同地址,浏览器并不能及时的感应到这种更新,继续使用旧版本的资源文件进行页面显示,导致了页面更新滞后的问题。传统的解决页面更新滞后问题的方式是定时清空浏览器中的缓存,但效果并不好,定期清除缓存时同时造成没有更新的资源文件重复下载,定期更新缓存也并不能完全保证页面与后台更新的同步性。
本实施例中,按照资源类型,对资源文件进行分类,并为每类目标文件夹标注摘要值,目标文件夹中的任一资源文件内容发生了变更,摘要值也会随之改变。当浏览器需要显示页面时,不是直接从服务器中获取资源,也不是直接使用缓存中的资源,而是向从服务器获取该资源对应的最新的摘要值,根据摘要值判断缓存中的资源是否是最新的资源,若是,直接使用缓存中的资源,否则下载最新资源,实现了页面与后台更新的同步性,同时也减少了不必要的下载。此外,将资源文件归类,每次更新的时候只同步更新同一类的资源文件夹,避免了不必要的缓存更新。
在一个实施例中,在步骤202:接收下载端发送的第一资源下载请求,第一资源下载请求中携带待下载资源的资源类型之前,服务器还执行分类发版步骤,具体为:服务器接收版本发布终端发送的系统版本发布指令,版本发布指令携带更新的资源文件。服务器判断资源文件的资源类型,并查找与资源类型对应的资源文件夹,将资源文件添加资源文件夹;计算资源文件夹的摘要值,并将摘要值配置给资源文件夹,发布带有摘要值的资源文件夹。
版本发布终端可对资源文件夹中的部分资源文件进行更新。如更新JS文件夹中的部分JS资源文件或者添加新的资源文件。服务器将更新的资源文件夹添加至对应的资源文件夹时,对于同名的文件采用替换的方式,对于新的资源文件则直接添加。
服务器还可以对更新后的资源文件夹进行压缩处理,然后生成压缩的资源文件夹的摘要值。而后将压缩的资源文件夹以及对应的摘要值发布到云端或者发布到下载端可下载到的网络地址。
本实施例中,发版时将所有资源文件进行归类打包,以实现下载端的分类下载,避免了不必要的下载。发版时为每类资源文件夹标注摘要值,实现了相应类型的资源文件夹的版本区分,为辨别下载端的本地缓存是否为最新版打基础。
在一个实施例中,将资源文件分类为静态资源类型和非静态资源类型,其中非静态资源类型可以按照文件类型做进一步的划分,如非静态资源类型可以包括JS资源类型、CSS资源类型等多种资源类型。上文中涉及的资源类型为非静态资源类型。非静态资源类型对应的资源文件是可以更新的,而静态资源类型对应的资源文件是不能进行更新的资源文件。在具体实现时,可将不经常变更的资源文件标记为静态资源类型,静态资源类型的资源文件可以是图像、字体,也可以是不经常更改的Js资源文件、css文件。
如图3所示,若待请求页面即包括静态资源类型又包括非静态资源类型时,资源文件下载方法包括如下步骤:
步骤302,浏览器获取网页显示任务,提取网页显示任务中资源信息。
步骤304,根据资源信息确定待显示网页所涉及的资源类型,对于静态资源类型,则浏览器直接从本地缓存中获取该静态资源类型对应的静态资源文件。
可对静态资源文件添加设定的标记。浏览器请求网页时,可通过资源信息查看到哪些资源带有标记,哪些资源不带有标记,带有标记的资源即为静态资源,不带有标记的资源为非静态资源。
进一步的,若需要对静态资源进行更新时,将静态资源对应的标记去除,去除静态资源标记后,定义该资源的资源类型,根据资源类型将更新的资源文件添加到对应的资源文件夹中,并更新摘要值。做了上述调整后,浏览器请求该资源时,由于该资源不带有静态资源标记,因此浏览器会去服务器查找该资源类型对应的资源文件夹的摘要值,发现有变更后,自动从服务器下载形影的资源文件夹,进而获取到更新后的资源文件,实现了对原本的静态资源的变更。
步骤306,对于非静态资源类型,浏览器向服务器发送第一资源下载请求,该第一资源下载请求中携带待显示网页所涉及的所有非静态资源的资源类型。
步骤308,服务器响应于第一资源下载请求,向浏览器返回每种资源类型对应的摘要值。
步骤310,浏览器将服务器返回的摘要值与本地缓存中相应的摘要值进行对比,摘要值相同的资源类型对应的资源文件从本地缓存中获取,摘要值不相同的资源类型对应的资源文件从服务器中获取。
步骤312,浏览器基于获取到的所有资源文件显示网页,并将从服务器获取的更新的资源文件夹缓存在本地。
在一个实施例中,用户注册系统时,系统为用户分配用户角色。如坐席角色和管理角色。本实施例中,同一网页不同的角色显示的内容不相同。因此在发布系统版本时,对资源文件按照资源类型以及对应的用户角色归类。如角色A的JS资源文件夹、角色B的JS资源文件夹、角色A的静态资源文件夹,角色B的静态资源文件夹等。在浏览器请求显示网页时,首先判别请求人的角色,然后从服务器和缓存中获取与用户角色对应的第一级资源文件夹,从第一级资源文件夹中查找资源类型对应的资源文件夹;进而获取该资源文件夹对应的摘要值,以判别该角色对应的资源文件夹是否有更新。当一个用户角色对应的资源文件有变更时,只从服务器中获取该角色对应的相应资源类型的资源文件夹,而其他角色的响应资源类型的资源文件夹则不更新。若不区分角色,资源文件内容变更后,将相应类型的所有资源文件全部更新。
在一个实施例中,如图4所示,提供了一种资源文件下载方法,该方法以应用在浏览器中为例进行说明,具体包括如下步骤:
步骤402,若监听到用于获取待显示页面的请求,则提取待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求。
这里的资源类型包括静态资源类型、非静态的JS资源类型、非静态的CSS资源类型以及其他的非静态资源类型。
进一步的,浏览器向服务器索要摘要值之前,先根据资源类型从本地缓存中获取对应的资源文件夹,获取资源文件夹对应的时间戳,时间戳是基于资源文件夹的最新缓存时间生成的。浏览器计算时间戳与当前时刻的时间间距,若时间间距小于设定阈值,则直接从缓存中获取资源文件;若时间戳大于设定阈值,则从服务器中获取该资源类型对应的摘要值,基于摘要值判断缓存中的资源文件是否是最新的资源文件。
例如,时间戳与请求时间间距非常小,如1分钟。表明1分钟该资源文件夹才进行过更新,则1分钟内请求,均使用缓存中的资源文件。当然时间间距可以根据需要进行设定。
步骤404,接收系统服务器根据摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取资源类型对应的第二摘要值。
步骤406,判断第一摘要值和第二摘要值是否相同,若相同,则从本地缓存中获取资源类型对应的资源文件;若否,则向服务器发送资源下载请求,并接收服务器反馈的资源类型对应的资源文件。
步骤408,根据资源文件生成待显示页面进行显示。
本实施例中,浏览器通过摘要值的对比判断资源文件夹是否更新过,仅对更新过的资源文件夹进行重新下载,在确保显示的网页为最新版本网页的同时,避免了不必要的更新,也无需用户手动或者定期去删除浏览器中的缓存文件。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种资源文件下载装置,包括:
第一下载请求模块502,用于接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型。
摘要值获取模块504,用于获取与所述资源类型对应的所述资源文件夹,并获取所述资源文件夹的所述摘要值,所述摘要值是对所述资源文件夹中的文件内容的唯一标识。
摘要值反馈模块506,用于将所述摘要值返回至所述下载端,以使所述下载端将所述摘要值与本地缓中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型。
第二下载请求模块508,用于接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型。
资源文件夹获取模块510,用于获取与所述目标资源类型对应的目标资源文件夹,并将所述目标资源文件夹发送至所述下载端。
在一个实施例中,资源文件下载装置还包括:
系统版本发布模块,用于接收系统版本发布指令,所述版本发布指令携带更新的资源文件;判断所述资源文件的资源类型;查找与所述资源类型对应的资源文件夹,将所述资源文件添加所述资源文件夹;计算所述资源文件夹的摘要值,并将所述摘要值配置给所述资源文件夹;发布带有所述摘要值的所述资源文件夹。
在一个实施例中,所述资源类型包括静态资源类型和多维度的非静态资源类型,按照资源文件类型划分所述非静态资源类型的多维度;
在一个实施例中,所述第一资源下载请求和所述第二资源下载请求中还携带用户角色;
摘要值获取模块504,还用于获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件夹;所述获取与所述目标资源类型对应的目标资源文件夹,包括:从所述第一级资源文件夹中查找与所述目标资源类型对应目标资源文件夹。
在一个实施例中,提供了一种资源文件下载装置,该装置包括:
第一摘要值请求模块,用于若监听到用于获取待显示页面的请求,则提取所述待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求。
第二摘要值获取模块,用于接收所述系统服务器根据所述摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取所述资源类型对应的第二摘要值。
摘要值对比模块,用于判断所述第一摘要值和所述第二摘要值是否相同。
若相同,则进入第一下载模块,所述第一下载模块,用于从本地缓存中获取所述资源类型对应的资源文件。
否则进入第二下载模块,所述第二下载模块用于向系统服务器发送资源下载请求,以接收系统服务器反馈的与所述资源类型对应的资源文件。
页面显示模块,用于根据所述资源文件生成所述待显示页面进行显示。
在一个实施例中,资源文件下载装置还包括:
资源文件夹获取模块,用于从本地缓存中查找与所述资源类型对应的资源文件夹。
时间戳获取模块,用于获取所述资源文件夹对应的时间戳,所述时间戳是基于所述资源文件夹的最新缓存时间生成的。
资源文件获取模块,用于若所述时间戳满足设定时间条件,则从本地缓存中获取所述资源类型对应的资源文件,否则,执行所述向服务器发送摘要值获取请求。
在一个实施例中,第一摘要值请求模块,还用于若所述资源类型为静态资源类型,则从所述本地缓存中获取所述静态资源类型对应的资源文件;若所述资源类型为非静态资源类型,则执行所述并向系统服务器发送摘要值获取请求。
关于资源文件下载装置的具体限定可以参见上文中对于资源文件下载方法的限定,在此不再赘述。上述资源文件下载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资源文件夹、摘要值等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源文件下载方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机设备,包括存储器和一个或多个处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时实现本申请任意一个实施例中提供的资源文件下载方法的步骤。
一个或多个存储有计算机可读指令的非易失性存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现本申请任意一个实施例中提供的资源文件下载方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种资源文件下载方法,所述方法包括:
接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型和用户角色;
获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件夹,并获取所述资源文件夹的摘要值,所述摘要值是对所述资源文件夹中的文件内容的唯一标识;所述资源文件夹是所述资源类型为非静态资源类型时可更新的资源文件夹;所述非静态资源类型是按照所述资源文件夹的文件类型划分得到的;
将所述摘要值返回至所述下载端,以使所述下载端将所述摘要值与本地缓存中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型,所述目标资源类型是指下载端与系统服务器之间存在差异的资源文件夹对应的资源类型;
接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型和所述用户角色;
从所述第一级资源文件夹中查找与所述目标资源类型对应的目标资源文件夹,并将所述目标资源文件夹中的目标资源发送至所述下载端,以使所述下载端根据所述目标资源和所述本地缓存中非目标资源类型对应的资源生成页面并显示。
2.根据权利要求1所述的方法,其特征在于,在所述接收下载端发送的第一资源下载请求之前,还包括:
接收系统版本发布指令,所述系统版本发布指令携带更新的资源文件;
判断所述资源文件的资源类型;
查找与所述资源类型对应的资源文件夹,将所述资源文件添加至所述资源文件夹;
计算所述资源文件夹的摘要值,并将所述摘要值配置给所述资源文件夹;
发布带有所述摘要值的资源文件夹。
3.根据权利要求2所述的方法,其特征在于,所述计算所述资源文件夹的摘要值,包括:
使用预设算法对所述资源文件夹中所包含的文件内容进行计算,得到所述资源文件夹的摘要值。
4.一种资源文件下载方法,所述方法包括:
若监听到用于获取待显示页面的请求,识别所述请求的用户角色,则提取所述待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求;
接收所述系统服务器根据所述摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件,获取所述资源文件对应的第二摘要值;所述资源文件是所述资源类型为非静态资源类型时可更新的资源文件;所述非静态资源类型是按照所述资源文件的文件类型划分得到的;
判断所述第一摘要值和所述第二摘要值是否相同;
若相同,则从本地缓存中获取所述资源类型对应的资源文件;
否则,向系统服务器发送资源下载请求,以接收系统服务器反馈的与目标资源类型对应的目标资源文件,所述目标资源类型是指下载端与系统服务器之间存在差异的资源文件夹对应的资源类型;
根据所述目标资源文件中的目标资源和所述本地缓存中非目标资源类型对应的资源生成所述待显示页面进行显示。
5.根据权利要求4所述的方法,其特征在于,在若监听到用于获取待显示页面的请求,则提取所述待显示页面包含的资源类型之后,还包括:
从本地缓存中查找与所述资源类型对应的资源文件夹;
获取所述资源文件夹的时间戳;
若所述时间戳满足设定时间条件,则从所述资源文件夹中获取资源文件,否则,执行所述向系统服务器发送摘要值获取请求。
6.根据权利要求4所述的方法,其特征在于,在所述提取所述待显示页面包含的资源类型之后,还包括:
若所述资源类型为静态资源类型,则从所述本地缓存中获取所述静态资源类型对应的资源文件;
若所述资源类型为非静态资源类型,则执行所述并向系统服务器发送摘要值获取请求。
7.一种资源文件下载装置,其特征在于,所述装置包括:
第一下载请求模块,用于接收下载端发送的第一资源下载请求,所述第一资源下载请求中携带待下载资源的资源类型和用户角色;
摘要值获取模块,用于获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件夹,并获取所述资源文件夹的所述摘要值,所述摘要值是对所述资源文件夹中的文件内容的唯一标识;所述资源文件夹是所述资源类型为非静态资源类型时可更新的资源文件夹;所述非静态资源类型是按照所述资源文件夹的文件类型划分得到的;
摘要值反馈模块,用于将所述摘要值返回至所述下载端,以使所述下载端将所述摘要值与本地缓存中同资源类型的摘要值进行对比,并根据比对结果确定目标资源类型,所述目标资源类型是指下载端与系统服务器之间存在差异的资源文件夹对应的资源类型;
第二下载请求模块,用于接收所述下载端发送的第二资源下载请求,所述第二资源下载请求中携带所述目标资源类型和所述用户角色;
资源文件夹获取模块,用于从所述第一级资源文件夹中查找与所述目标资源类型对应的目标资源文件夹,并将所述目标资源文件夹中的目标资源发送至所述下载端,以使所述下载端根据所述目标资源和所述本地缓存中非目标资源类型对应的资源生成页面并显示。
8.一种资源文件下载装置,其特征在于,所述装置包括:
第一摘要值请求模块,用于若监听到用于获取待显示页面的请求,识别所述请求的用户角色,则提取所述待显示页面包含的资源类型,并向系统服务器发送摘要值获取请求;
第二摘要值获取模块,用于接收所述系统服务器根据所述摘要值获取请求反馈的资源类型对应的第一摘要值,并从本地缓存中获取所述用户角色对应的第一级资源文件夹,从所述第一级资源文件夹中查找所述资源类型对应的资源文件,获取所述资源文件对应的第二摘要值;所述资源文件是所述资源类型为非静态资源类型时可更新的资源文件;所述非静态资源类型是按照所述资源文件的文件类型划分得到的;
摘要值对比模块,用于判断所述第一摘要值和所述第二摘要值是否相同;
若相同,则进入第一下载模块,所述第一下载模块,用于从本地缓存中获取所述资源类型对应的资源文件;
否则进入第二下载模块,所述第二下载模块用于向系统服务器发送资源下载请求,以接收系统服务器反馈的与目标资源类型对应的目标资源文件,所述目标资源类型是指下载端与系统服务器之间存在差异的资源文件夹对应的资源类型;
页面显示模块,用于根据所述目标资源文件中的目标资源和所述本地缓存中非目标资源类型对应的资源生成所述待显示页面进行显示。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-3或4-6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3或4-6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910125710.XA CN109634925B (zh) | 2019-02-20 | 2019-02-20 | 资源文件下载方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910125710.XA CN109634925B (zh) | 2019-02-20 | 2019-02-20 | 资源文件下载方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634925A CN109634925A (zh) | 2019-04-16 |
CN109634925B true CN109634925B (zh) | 2024-06-14 |
Family
ID=66065653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910125710.XA Active CN109634925B (zh) | 2019-02-20 | 2019-02-20 | 资源文件下载方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634925B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290182B (zh) * | 2019-05-31 | 2021-01-26 | 北京邮电大学 | 分布式Web应用存储系统、服务系统和访问方法 |
CN110688596B (zh) * | 2019-09-09 | 2024-03-15 | 平安普惠企业管理有限公司 | 静态网页更新方法、装置、计算机设备和存储介质 |
CN110795649A (zh) * | 2019-09-18 | 2020-02-14 | 北京你财富计算机科技有限公司 | 目标页面展示方法、装置、系统及电子设备 |
CN110784518A (zh) * | 2019-09-27 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种静态资源获取方法与装置 |
CN112783828B (zh) * | 2019-11-11 | 2022-08-19 | 千寻位置网络有限公司 | Igs文件处理方法及装置 |
CN112819559A (zh) * | 2019-11-18 | 2021-05-18 | 北京沃东天骏信息技术有限公司 | 一种物品比对方法和装置 |
CN111400630A (zh) * | 2020-02-26 | 2020-07-10 | 中国平安人寿保险股份有限公司 | 资源预加载方法及相关设备 |
CN111488600B (zh) * | 2020-04-09 | 2023-03-21 | 南京维沃软件技术有限公司 | 一种资源处理方法、电子设备和服务器 |
CN112134951B (zh) * | 2020-09-22 | 2024-07-23 | 睿视(苏州)视频科技有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN112667586B (zh) * | 2021-01-26 | 2023-04-25 | 浪潮通用软件有限公司 | 一种基于流处理的数据同步的方法、系统、设备及介质 |
CN112966205B (zh) * | 2021-04-21 | 2024-06-21 | 平安好医投资管理有限公司 | 网页打开方法、装置、电子设备及存储介质 |
WO2023130350A1 (en) * | 2022-01-07 | 2023-07-13 | Citrix Systems, Inc. | Optimized on-demand file download |
CN114553858A (zh) * | 2022-02-15 | 2022-05-27 | 支付宝(杭州)信息技术有限公司 | 一种资源预下载的方法、装置以及设备 |
CN114527944A (zh) * | 2022-02-22 | 2022-05-24 | 珠海金山数字网络科技有限公司 | 资源文件处理方法及装置 |
CN115242775A (zh) * | 2022-07-04 | 2022-10-25 | 中国银联股份有限公司 | 资源文件获取方法、装置、设备、介质及产品 |
CN115373950B (zh) * | 2022-10-26 | 2023-01-24 | 北京芯可鉴科技有限公司 | 工控机与数据监测系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315791A (zh) * | 2017-06-14 | 2017-11-03 | 广州酷狗计算机科技有限公司 | 静态资源缓存方法、装置及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104735112B (zh) * | 2013-12-23 | 2018-08-03 | 阿里巴巴集团控股有限公司 | 发送资源文件的方法、缓存资源文件的方法和装置 |
CN106657383B (zh) * | 2017-01-12 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 数据下载方法及相关设备 |
CN107992557A (zh) * | 2017-11-28 | 2018-05-04 | 平安养老保险股份有限公司 | 静态资源更新方法、装置、存储介质和计算机设备 |
-
2019
- 2019-02-20 CN CN201910125710.XA patent/CN109634925B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315791A (zh) * | 2017-06-14 | 2017-11-03 | 广州酷狗计算机科技有限公司 | 静态资源缓存方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109634925A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634925B (zh) | 资源文件下载方法、装置、计算机设备和存储介质 | |
CN110263275B (zh) | 一种访问网页的方法、装置、移动终端和存储介质 | |
CN109582899B (zh) | 页面加载方法、装置、计算机设备及存储介质 | |
JP6629697B2 (ja) | 仮想マシンイメージファイルを抽出する方法および装置 | |
US9077681B2 (en) | Page loading optimization using page-maintained cache | |
AU2015401229B2 (en) | Website access method, apparatus, and website system | |
CN106649395B (zh) | 网页更新方法和装置 | |
US11055085B2 (en) | Method, apparatus, and system for hot-deploying application | |
CN110866198B (zh) | 静态资源缓存方法、系统、装置、计算机设备和存储介质 | |
WO2015161658A1 (zh) | 网页资源加载方法及装置 | |
US20160006829A1 (en) | Data management system and data management method | |
US20100161717A1 (en) | Method and software for reducing server requests by a browser | |
US9195773B2 (en) | Structure-based adaptive document caching | |
CN112073405A (zh) | 网页数据加载方法、装置、计算机设备及存储介质 | |
US10645192B2 (en) | Identifying content files in a cache using a response-based cache index | |
CN103873502A (zh) | 缓存更新方法及系统、提供更新资源的方法及系统 | |
CN105095280A (zh) | 一种浏览器缓存方法和装置 | |
CN113407639B (zh) | 数据处理方法、装置、系统及存储介质 | |
CN112632358B (zh) | 一种资源链接获取方法、装置、电子设备及存储介质 | |
CN111881150A (zh) | 一种web应用程序离线数据的处理方法及装置 | |
US20160182673A1 (en) | Dynamic cache injector | |
CN112181532A (zh) | 页面资源加载方法、装置、电子设备和可读存储介质 | |
CN108460116B (zh) | 搜索方法、装置、计算机设备、存储介质及搜索系统 | |
TW201525740A (zh) | 網頁顯示方法和裝置及電腦可讀取儲存介質 | |
CN111897602B (zh) | 加载及更新h5页面的方法、装置、设备及介质 |
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 |