CN114221953A - 资源获取方法、装置、设备及存储介质 - Google Patents
资源获取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114221953A CN114221953A CN202111438013.3A CN202111438013A CN114221953A CN 114221953 A CN114221953 A CN 114221953A CN 202111438013 A CN202111438013 A CN 202111438013A CN 114221953 A CN114221953 A CN 114221953A
- Authority
- CN
- China
- Prior art keywords
- resource
- network address
- local
- network
- request
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 230000003068 static effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于人工智能领域,公开了一种资源获取方法、装置、设备及存储介质。该方法包括:在拦截到网络请求时,获取网络请求对应的网络地址;根据网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;若存在,则获取网络地址对应的本地版本标识,以及网络地址对应的缓存版本标识;在本地版本标识与缓存版本标识一致时,从本地存储空间中读取网络请求对应的文件资源。相对于现有的每次请求均需要访问目标站点获取对应的文件资源的方式,本发明上述方式能够从本地存储空间中读取网络请求对应的文件资源,减少网络请求。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种资源获取方法、装置、设备及存储介质。
背景技术
数据存储是指将获取到的数据进行保存,下一次再访问时,则可以直接获取到本地的存储数据,而无需再次向服务器请求获取。现有技术中,为了解决前端的资源存储问题,通常采用的方法是,单纯的依赖客户端侧,且依赖于浏览器实现的渐进式的网页应用程序(ProgressiveWebApp,PWA),通过PWA可以实现离线缓存功能,然而,使用PWA技术的话,会导致在特定项目中接入工作量很大,不仅要改造项目脚手架,以自动生成需要的文件,并生成特定的代码插入到程序中来启用浏览器的PWA技术。其中的理解成本较高,同时还需要管理好各种资源的缓存关系,而且该技术方案依赖于浏览器是否支持。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种资源获取方法、装置、设备及存储介质,旨在解决现有技术无法较好的实现目标站点文件资源的离线访问的技术问题。
为实现上述目的,本发明提供了一种资源获取方法,所述方法包括以下步骤:
在拦截到网络请求时,获取所述网络请求对应的网络地址;
根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;
若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;
在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
可选地,所述在拦截到网络请求时,获取所述网络请求对应的网络地址之后,包括:
根据所述网络地址判断所述网络请求是否为合并资源请求;
在所述网络请求为所述合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤。
可选地,所述若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识之后,还包括:
判断所述本地版本标识与所述缓存版本标识是否一致;
在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源。
可选地,所述在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源之后,还包括:
获取目标站点反馈的文件资源;
根据预设散列算法确定所述文件资源对应的目标哈希值;
将所述目标哈希值作为所述网络地址对应的目标本地版本标识;
根据所述网络地址和所述目标本地版本标识更新所述本地存储资源列表并将所述文件资源存储至本地存储空间或区块链中。
可选地,所述若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识,包括:
若存在,则根据所述本地存储资源列表获取所述网络地址对应的本地版本标识;
获取预缓存列表;
从所述预缓存列表中查找所述网络地址对应的缓存版本标识。
可选地,所述根据所述网络地址判断所述网络请求是否为合并资源请求,包括:
通过预设正则表达式对所述网络地址进行正则匹配,获得匹配结果;
根据所述匹配结果判断所述网络请求是否为合并资源请求。
可选地,所述在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源之后,还包括:
获取预缓存列表和本地存储资源列表;
根据所述预缓存列表和所述本地存储资源列表获取各网络地址分别对应的本地版本标识与缓存版本标识;
根据所述本地版本标识与所述缓存版本标识确定目标网络地址;
根据所述目标网络地址获取待更新文件资源;
将所述待更新文件资源存储至本地存储空间并更新所述本地存储资源列表。
此外,为实现上述目的,本发明还提供一种资源获取装置,所述装置包括:
拦截模块,用于在拦截到网络请求时,获取所述网络请求对应的网络地址;
查找模块,用于根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;
获取模块,用于若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;
读取模块,用于在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
此外,为实现上述目的,本发明还提出一种资源获取设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源获取程序,所述资源获取程序配置为实现如上文所述的资源获取方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有资源获取程序,所述资源获取程序被处理器执行时实现如上文所述的资源获取方法的步骤。
本发明在拦截到网络请求时,获取所述网络请求对应的网络地址;根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。由于本发明是在本地存储资源列表中存在对应的本地存储资源,且本地版本标识与缓存版本标识一致时,从本地存储空间中读取网络请求对应的文件资源。相对于现有的每次请求均需要访问目标站点获取对应的文件资源的方式,本发明上述方式能够从本地存储空间中读取网络请求对应的文件资源,减少网络请求。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的资源获取设备的结构示意图;
图2为本发明资源获取方法第一实施例的流程示意图;
图3为本发明资源获取方法第二实施例的流程示意图;
图4为本发明资源获取方法第三实施例的流程示意图;
图5为本发明资源获取装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的资源获取设备结构示意图。
如图1所示,该资源获取设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对资源获取设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及资源获取程序。
在图1所示的资源获取设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明资源获取设备中的处理器1001、存储器1005可以设置在资源获取设备中,所述资源获取设备通过处理器1001调用存储器1005中存储的资源获取程序,并执行本发明实施例提供的资源获取方法。
基于上述资源获取设备,本发明实施例提供了一种资源获取方法,参照图2,图2为本发明资源获取方法第一实施例的流程示意图。
本实施例中,所述资源获取方法包括以下步骤:
步骤S10:在拦截到网络请求时,获取所述网络请求对应的网络地址。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或浏览器。以下以所述浏览器为例,对本实施例及下述各实施例进行说明。
需要说明的是,所述网络请求可以是向目标站点请求文件资源的网络请求,其可以包括目标站点的网址、请求参数、请求时间等信息。所述网络地址可以是所述网络请求对应的目标站点的网络网址,可以是域名或ip地址。
在具体实施中,浏览器实时拦截待发送的网络请求,在拦截到网络请求时,获取所述网络请求对应的网络地址。
步骤S20:根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源。
需要说明的是,所述本地存储资源列表可以是本地存储空间中存储的资源的列表,可以包括存储的文件资源和其对应的网络地址和哈希值。
在具体实施中,浏览器根据所述网络地址在本地存储资源列表中查找本地存储资源列表中是否存在所述网络地址,在所述本地存储资源列表中存在所述网络地址时,判定本地存储空间中存在所述网络地址对应的本地存储资源。在所述本地存储资源列表中不存在所述网络地址时,判定本地存储空间中不存在所述网络地址对应的本地存储资源。
步骤S30:若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识。
需要说明的是,所述本地版本标识可以是所述网络地址对应的本地空间中的文件资源的版本标识,具体可以是根据所述文件资源的内容生成一个哈希值,将这个哈希值作为所述本地版本标识。所述缓存版本标识可以是预缓存列表中所述网络地址对应的版本标识。
进一步的,网络地址对应的目标站点的文件资源可能发生了更新,此时,本地存储空间中存储的所述网络地址对应的文件资源可能不是最新的资源,因此,为了避免本地存储空间中的文件资源不为所述网络地址对应的最新的文件资源二导致获取的文件资源发生错误,所述步骤S30,可包括:若存在,则根据所述本地存储资源列表获取所述网络地址对应的本地版本标识;获取预缓存列表;从所述预缓存列表中查找所述网络地址对应的缓存版本标识。
需要说明的是,所述预缓存列表可以是服务器端维护的资源列表,其包括了各个请求对应的网络地址和其对应的最新的文件资源的哈希值,所述最新的文件资源的哈希值即为所述缓存版本标识。
应理解的是,由于预缓存列表和本地存储资源列表中存入的网络请求对应的网络地址是不带时间戳的,而浏览器实际拦截的网络请求存在带时间戳的场景,因此,需要先对浏览器拦截的网络请求对应的网络地址进行处理,即去除时间戳后再从预缓存列表和本地存储资源列表中进行匹配。例如,对如下几种形式的请求:
(a)http://xxx.com/static/??a.js,b.js,c.js
(b)http://xxx.com/static/??a.js,b.js,c.js?20200303
(c)http://xxx.com/static/??a.js?20200303,b.js?20200304,c.js?20200301
对带有时间戳的请求进行过滤,处理成统一的形式即http://xxx.com/static/??a.js,b.js,c.js,然后用处理后的网络地址在预缓存列表和本地存储资源列表中进行匹配,查找该资源是否在本地缓存过以及资源是否有变化。
在具体实施中,在进行预缓存时,服务器根据请求的地址判断请求是否为合并资源请求,即combo请求,(CDN的combo技术能把多个资源文件合并引用,减少请求次数)本实施例下述将采用combo技术把多个资源文件合并引用时对应的请求称为combo请求。在请求是combo请求时,获取所述combo请求对应的文件资源,并根据所述combo请求对应的文件资源生成哈希值。将所述哈希值作为combo请求对应的缓存版本标识。当combo请求对应的文件资源发生改变时,实时更新所述combo请求对应的缓存版本标识。并根据combo请求和其对应的缓存版本标识生成预缓存列表。以使浏览器根据所述预缓存列表判断本地存储中的文件资源是否发生更新。其中,combo请求对应的文件资源的缓存版本标识生成可以参照下述方式:
其中,comboSources可以包括combo请求对应的文件资源,例如:["a.js","b.js","c.js"],通过上述代码计算combo请求对应的文件资源的哈希值,即缓存版本标识。根据combo请求和缓存版本标识生成的预缓存列表可以是:
其中,url可以是所述combo请求对应的网络地址,revision可以是所述combo请求对应的文件资源的哈希值,即缓存版本标识。
进一步的,为了更新本地存储空间中存储的文件资源,所述步骤S30之后,还包括:判断所述本地版本标识与所述缓存版本标识是否一致;在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源。获取目标站点反馈的文件资源;根据预设散列算法确定所述文件资源对应的目标哈希值;将所述目标哈希值作为所述网络地址对应的目标本地版本标识;根据所述网络地址和所述目标本地版本标识更新所述本地存储资源列表并将所述文件资源存储至本地存储空间或区块链中。
需要说明的是,所述预设散列算法可以是计算哈希值的算法,可以通过预设散列算法得到文件资源对应的哈希值。所述目标哈希值可以是通过预设散列算法确定的文件资源对应的哈希值。所述目标本地版本标识可以是更新后的本地版本标识。在所述本地版本标识与所述缓存版本标识不一致时,则说明所述网络地址对应的目标站点上的文件资源发生更新,本地存储空间中存储的所述网络地址对应的文件资源为历史资源,因此,为了获取更新后的文件资源,需要走网络请求,重新请求目标站点拉取最新的文件资源。在获取到目标站点反馈的文件资源时,根据目标站点反馈的文件资源和所述网络地址更新所述本地存储资源列表并将所述文件资源存储至本地存储空间。为进一步保证上述文件资源的私密和安全性,上述文件资源还可以存储于一区块链的节点中。
在具体实施中,在所述本地版本标识与所述缓存版本标识不一致时,说明所述网络地址对应的目标站点上的文件资源发生更新,本地存储空间中存储的所述网络地址对应的文件资源为历史资源。此时,浏览器根据所述网络地址请求对应的文件资源。获取目标站点反馈的文件资源;根据预设散列算法确定所述文件资源对应的目标哈希值;将所述目标哈希值作为所述网络地址对应的目标本地版本标识;根据所述网络地址和所述目标本地版本标识更新所述本地存储资源列表并将所述文件资源存储至本地存储空间或区块链中。例如,本地存储资源列表中网络地址为http://a.com,其对应的本地版本标识为333a6f5a89,根据目标站点反馈的文件资源确定的目标本地版本标识为be1508faba1。则将本地存储资源列表中网络地址为http://a.com对应的本地版本标识从333a6f5a89改为be1508faba1。并将所述文件资源存储至本地存储空间。
步骤S40:在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
需要说明的是,在所述本地版本标识与所述缓存版本标识一致时,说明本地存储空间中存储的所述网络地址对应的文件资源并没有发生更新,此时,不用通过访问目标站点的方式获取网络地址对应的文件资源,直接从所述本地存储空间中读取所述网络请求对应的文件资源。
本实施例在拦截到网络请求时,获取所述网络请求对应的网络地址;根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。由于本实施例是在本地存储资源列表中存在对应的本地存储资源,且本地版本标识与缓存版本标识一致时,从本地存储空间中读取网络请求对应的文件资源。相对于现有的每次请求均需要访问目标站点获取对应的文件资源的方式,本实施例上述方式能够在拦截到网络请求时,从本地存储空间中读取网络请求对应的本地存储中的文件资源,减少网络请求。
参考图3,图3为本发明资源获取方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S40之后,还包括:
步骤S50:获取预缓存列表和本地存储资源列表。
步骤S60:根据所述预缓存列表和所述本地存储资源列表获取各网络地址分别对应的本地版本标识与缓存版本标识。
应理解的是,本实施例中为检测本地存储中存储的资源是否需要更新,因此,需要获取所述预缓存列表和所述本地存储资源列表中同一个网络地址对应的本地版本标识与缓存版本标识,当同一个网络地址在预缓存列表中对应的缓存版本标识与在本地存储资源列表中对应的本地版本标识不一致时,说明网络地址对应的站点上的文件资源发生了更新。
在具体实施中,浏览器获取预缓存列表和本地存储资源列表,分别对比每一个网络地址在预缓存列表中对应的缓存版本标识与在本地存储资源列表中对应的本地版本标识是否一致。
步骤S70:根据所述本地版本标识与所述缓存版本标识确定目标网络地址。
需要说明的是,所述目标网络地址可以是需要进行更新的网络地址,可以是将本地版本标识与所述缓存版本标识不一致的网络地址作为所述目标网络地址,在网络地址的本地版本标识与所述缓存版本标识不一致时,说明该网络地址对应的文件资源发生了更新,因此,将该网络地址作为所述目标网络地址。
步骤S80:根据所述目标网络地址获取待更新文件资源。
需要说明的是,根据所述目标网络地址获取待更新文件资源可以是根据所述目标网络地址发起网络请求,向目标网络地址对应的目标站点请求目标网络地址对应的文件资源,将请求回来的文件资源作为所述待更新文件资源。
步骤S90:将所述待更新文件资源存储至本地存储空间并更新所述本地存储资源列表。
在具体实施中,浏览器接收到目标站点反馈的目标网络地址对应的待更新文件资源后,将所述待更新文件资源存储至本地,并删除所述目标网络地址之前对应的文件资源,释放存储空间,根据目标网络地址从本地存储资源列表查找到历史的本地版本标识,根据所述待更新文件资源生成哈希值,作为更新后的本地版本标识,根据所述更新后的本地版本标识更新历史的本地版本标识。例如,本地存储资源列表中需要进行资源更新的目标网络地址为http://a.com,其对应的历史的本地版本标识为333a6f5a89,根据目标站点反馈的待更新文件资源确定的更新后的本地版本标识为be1508faba1。则将本地存储资源列表中目标网络地址为http://a.com对应的本地版本标识从333a6f5a89改为be1508faba1。并将所述待更新文件资源存储至本地存储空间。
本实施例获取预缓存列表和本地存储资源列表;根据所述预缓存列表和所述本地存储资源列表获取各网络地址分别对应的本地版本标识与缓存版本标识;根据所述本地版本标识与所述缓存版本标识确定目标网络地址;根据所述目标网络地址获取待更新文件资源;将所述待更新文件资源存储至本地存储空间并更新所述本地存储资源列表。本实施例通过对比本地存储列表和预缓存列表中的网络地址和版本标识,判断本地存储中的资源是否需要更新,在本地存储中的资源需要更新时,更新本地存储中的资源,使得在拦截到网络请求时,不必访问目标站点获取网络请求对应的文件资源,实现文件资源的离线获取。
参考图4,图4为本发明资源获取方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S10之后,所述方法还包括:
步骤S101:根据所述网络地址判断所述网络请求是否为合并资源请求。
需要说明的是,所述合并资源请求可以是利用CDN的combo技术把多个资源文件合并引用,以达到减少请求次数的请求,以下简称combo请求。
进一步的,为了说明如何判断所述网络请求是否为合并资源请求,所述步骤S101,可包括:通过预设正则表达式对所述网络地址进行正则匹配,获得匹配结果;根据所述匹配结果判断所述网络请求是否为合并资源请求。
需要说明的是,常见的combo请求形式有下面几种:(i)http://xxx.com/static/??a.js,b.js,c.js(ii)http://xxx.com/static/??a.js,b.js,c.js?20200303,(iii)http://xxx.com/static/??a.js?20200303,b.js?20200304,c.js?20200301,通过如下正则匹配,可以判断是否是combo请求。
var reg=/\?\?.*\.(js|css)(\?\d+)*\.*/g;
if(reg.test(url)){//匹配combo请求
}
其中,url可以是需要进行判断是否为combo请求的网络地址。reg可以是能够匹配url是否为combo请求的正则表达式。
在具体实施中,浏览器在拦截到网络请求时,通过上述正则表达式对网络请求对应的网络地址进行匹配,在匹配成功后,判定上述网络请求为combo请求。
步骤S102:在所述网络请求为所述合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤。
需要说明的是,现有技术中对某些使用了combo合并请求的站点,无法对combo方式的请求进行缓存,所以无法真正实现站点的离线访问,因此,本实施例中在网络请求为所述合并资源请求时,先从本地存储资源列表中查找是否存在对应的本地存储资源,在存在时,为了避免目标站点上的文件资源发生过更新,导致本地存储的资源不是最新的资源,还获取网络请求对应的本地版本标识以及缓存版本标识;在本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
本实施例根据所述网络地址判断所述网络请求是否为合并资源请求;在所述网络请求为所述合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤。现有技术中对某些使用了combo合并请求的站点,无法对combo方式的请求进行缓存,所以无法真正实现站点的离线访问,针对这种场景,本实施例根据网络地址判断网络请求是否为合并资源请求,在网络请求为合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤,使得能够对combo方式的请求进行本地缓存和更新。本实施例中可以基于workbox插件实现combo请求的缓存及更新,实现站点的离线访问。
参照图5,图5为本发明资源获取装置第一实施例的结构框图。
如图5所示,本发明实施例提出的资源获取装置包括:
拦截模块10,用于在拦截到网络请求时,获取所述网络请求对应的网络地址;
查找模块20,用于根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;
获取模块30,用于若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;
读取模块40,用于在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
本实施例在拦截到网络请求时,获取所述网络请求对应的网络地址;根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。由于本实施例是在本地存储资源列表中存在对应的本地存储资源,且本地版本标识与缓存版本标识一致时,从本地存储空间中读取网络请求对应的文件资源。相对于现有的每次请求均需要访问目标站点获取对应的文件资源的方式,本实施例上述方式能够从本地存储空间中读取网络请求对应的文件资源,减少网络请求。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的参数运行方法,此处不再赘述。
基于本发明上述资源获取装置第一实施例,提出本发明资源获取装置的第二实施例。
在本实施例中,所述拦截模块10,还用于根据所述网络地址判断所述网络请求是否为合并资源请求;在所述网络请求为所述合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤。
进一步的,所述获取模块30,还用于判断所述本地版本标识与所述缓存版本标识是否一致;在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源。
进一步的,所述获取模块30,还用于获取目标站点反馈的文件资源;根据预设散列算法确定所述文件资源对应的目标哈希值;将所述目标哈希值作为所述网络地址对应的目标本地版本标识;根据所述网络地址和所述目标本地版本标识更新所述本地存储资源列表并将所述文件资源存储至本地存储空间或区块链中。
进一步的,所述获取模块30,还用于若存在,则根据所述本地存储资源列表获取所述网络地址对应的本地版本标识;获取预缓存列表;从所述预缓存列表中查找所述网络地址对应的缓存版本标识。
进一步的,所述拦截模块10,还用于通过预设正则表达式对所述网络地址进行正则匹配,获得匹配结果;根据所述匹配结果判断所述网络请求是否为合并资源请求。
进一步的,所述读取模块40,还用于获取预缓存列表和本地存储资源列表;根据所述预缓存列表和所述本地存储资源列表获取各网络地址分别对应的本地版本标识与缓存版本标识;根据所述本地版本标识与所述缓存版本标识确定目标网络地址;根据所述目标网络地址获取待更新文件资源;将所述待更新文件资源存储至本地存储空间并更新所述本地存储资源列表。
本发明资源获取装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有资源获取程序,所述资源获取程序被处理器执行时实现如上文所述的资源获取方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种资源获取方法,其特征在于,所述资源获取方法包括以下步骤:
在拦截到网络请求时,获取所述网络请求对应的网络地址;
根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;
若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;
在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
2.如权利要求1所述的资源获取方法,其特征在于,所述在拦截到网络请求时,获取所述网络请求对应的网络地址之后,包括:
根据所述网络地址判断所述网络请求是否为合并资源请求;
在所述网络请求为所述合并资源请求时,执行所述根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源的步骤。
3.如权利要求1所述的资源获取方法,其特征在于,所述若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识之后,还包括:
判断所述本地版本标识与所述缓存版本标识是否一致;
在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源。
4.如权利要求3所述的资源获取方法,其特征在于,所述在所述本地版本标识与所述缓存版本标识不一致时,根据所述网络地址请求对应的文件资源之后,还包括:
获取目标站点反馈的文件资源;
根据预设散列算法确定所述文件资源对应的目标哈希值;
将所述目标哈希值作为所述网络地址对应的目标本地版本标识;
根据所述网络地址和所述目标本地版本标识更新所述本地存储资源列表并将所述文件资源存储至本地存储空间或区块链中。
5.如权利要求1所述的资源获取方法,其特征在于,所述若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识,包括:
若存在,则根据所述本地存储资源列表获取所述网络地址对应的本地版本标识;
获取预缓存列表;
从所述预缓存列表中查找所述网络地址对应的缓存版本标识。
6.如权利要求2所述的资源获取方法,其特征在于,所述根据所述网络地址判断所述网络请求是否为合并资源请求,包括:
通过预设正则表达式对所述网络地址进行正则匹配,获得匹配结果;
根据所述匹配结果判断所述网络请求是否为合并资源请求。
7.如权利要求1-6任一项所述的资源获取方法,其特征在于,所述在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源之后,还包括:
获取预缓存列表和本地存储资源列表;
根据所述预缓存列表和所述本地存储资源列表获取各网络地址分别对应的本地版本标识与缓存版本标识;
根据所述本地版本标识与所述缓存版本标识确定目标网络地址;
根据所述目标网络地址获取待更新文件资源;
将所述待更新文件资源存储至本地存储空间并更新所述本地存储资源列表。
8.一种资源获取装置,其特征在于,所述资源获取装置包括:
拦截模块,用于在拦截到网络请求时,获取所述网络请求对应的网络地址;
查找模块,用于根据所述网络地址在本地存储资源列表中查找是否存在对应的本地存储资源;
获取模块,用于若存在,则获取所述网络地址对应的本地版本标识,以及所述网络地址对应的缓存版本标识;
读取模块,用于在所述本地版本标识与所述缓存版本标识一致时,从本地存储空间中读取所述网络请求对应的文件资源。
9.一种资源获取设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源获取程序,所述资源获取程序配置为实现如权利要求1至7中任一项所述的资源获取方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有资源获取程序,所述资源获取程序被处理器执行时实现如权利要求1至7任一项所述的资源获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111438013.3A CN114221953A (zh) | 2021-11-29 | 2021-11-29 | 资源获取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111438013.3A CN114221953A (zh) | 2021-11-29 | 2021-11-29 | 资源获取方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114221953A true CN114221953A (zh) | 2022-03-22 |
Family
ID=80699006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111438013.3A Pending CN114221953A (zh) | 2021-11-29 | 2021-11-29 | 资源获取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221953A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882988A (zh) * | 2011-07-13 | 2013-01-16 | 上海聚力传媒技术有限公司 | 一种获得资源信息的地址信息的方法、装置及设备 |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN107346309A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 一种网络应用中静态资源的处理方法及装置 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN109871503A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 数据调用方法、装置、计算机设备及存储介质 |
CN109981659A (zh) * | 2019-03-29 | 2019-07-05 | 郑州工程技术学院 | 基于数据去重技术的网络资源预取方法以及系统 |
CN110866198A (zh) * | 2019-09-27 | 2020-03-06 | 上海硬通网络科技有限公司 | 静态资源缓存方法、系统、装置、计算机设备和存储介质 |
CN111881394A (zh) * | 2020-07-28 | 2020-11-03 | 万商云集(成都)科技股份有限公司 | 一种应用中间层的请求处理方法及系统 |
CN112380469A (zh) * | 2020-10-16 | 2021-02-19 | 北京奇艺世纪科技有限公司 | 一种页面显示方法、装置、系统、电子设备及存储介质 |
-
2021
- 2021-11-29 CN CN202111438013.3A patent/CN114221953A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882988A (zh) * | 2011-07-13 | 2013-01-16 | 上海聚力传媒技术有限公司 | 一种获得资源信息的地址信息的方法、装置及设备 |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN107346309A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 一种网络应用中静态资源的处理方法及装置 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN109871503A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 数据调用方法、装置、计算机设备及存储介质 |
CN109981659A (zh) * | 2019-03-29 | 2019-07-05 | 郑州工程技术学院 | 基于数据去重技术的网络资源预取方法以及系统 |
CN110866198A (zh) * | 2019-09-27 | 2020-03-06 | 上海硬通网络科技有限公司 | 静态资源缓存方法、系统、装置、计算机设备和存储介质 |
CN111881394A (zh) * | 2020-07-28 | 2020-11-03 | 万商云集(成都)科技股份有限公司 | 一种应用中间层的请求处理方法及系统 |
CN112380469A (zh) * | 2020-10-16 | 2021-02-19 | 北京奇艺世纪科技有限公司 | 一种页面显示方法、装置、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412176B2 (en) | Website access method, apparatus, and website system | |
US11985251B2 (en) | Data synchronization method and apparatus, computer device, and readable storage medium | |
CN110866198B (zh) | 静态资源缓存方法、系统、装置、计算机设备和存储介质 | |
US8583810B2 (en) | Session affinity cache and manager | |
JP2021504832A (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
EP2593882B1 (en) | Method and apparatus of processing nested fragment caching of a web page | |
CN110688598B (zh) | 业务参数采集方法、装置、计算机设备和存储介质 | |
KR19980041908A (ko) | 컴퓨터화된 자원 명칭 도출 메카니즘 | |
CN108256014B (zh) | 页面展示方法及装置 | |
CN107844488B (zh) | 数据查询方法和装置 | |
CN110266792B (zh) | 地址转换方法、装置、设备与计算机可读存储介质 | |
CN109472127B (zh) | 权限处理方法、装置、应用侧设备和存储介质 | |
CN112818371A (zh) | 资源访问控制方法、系统、装置、设备及介质 | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN111464521A (zh) | 防止域名被劫持的方法、装置、计算机设备和存储介质 | |
JP7100563B2 (ja) | 匿名化システムおよび匿名化方法 | |
CN112241298A (zh) | 页面显示方法及装置、存储介质、电子装置 | |
CN113900907A (zh) | 一种映射构建方法和系统 | |
CN114221953A (zh) | 资源获取方法、装置、设备及存储介质 | |
CN115640471A (zh) | 短链接生成方法、装置、计算机设备及存储介质 | |
CN111988298B (zh) | 数据处理方法、装置及设备 | |
JP2014524210A (ja) | 可変長ノンスの生成 | |
CN112328922A (zh) | 一种处理方法及装置 | |
CN112231566A (zh) | 信息推送方法、装置、系统和可读存储介质 | |
CN113326506B (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 |