CN113438302A - 动态资源多级缓存方法、系统、计算机设备及存储介质 - Google Patents
动态资源多级缓存方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113438302A CN113438302A CN202110696227.4A CN202110696227A CN113438302A CN 113438302 A CN113438302 A CN 113438302A CN 202110696227 A CN202110696227 A CN 202110696227A CN 113438302 A CN113438302 A CN 113438302A
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- network dynamic
- dynamic resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000003068 static effect Effects 0.000 claims description 52
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012827 research and development Methods 0.000 abstract description 2
- 239000000047 product Substances 0.000 description 29
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 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
- 238000006467 substitution reaction 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了动态资源多级缓存方法、系统、计算机设备及存储介质,涉及研发管理技术,需先判断所述网络动态资源请求是否为首次请,若所述网络动态资源请求是首次请求,在用户端本地不会缓存有任何与所述网络动态资源请求对应的网络动态资源,需去其他地方去获取对应的网络动态资源,若所述网络动态资源请求不是首次请求,可能会在用户端本地快速加载到对应的网络动态资源,无需直接去请求服务器区获取资源或数据,不仅充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
Description
技术领域
本发明涉及研发管理的页面资源加载技术领域,尤其涉及一种动态资源多级缓存方法、系统、计算机设备及存储介质。
背景技术
目前,用户使用用户端在前端打开APP(即应用程序)或者网页时,为了提高前端页面的加载效率,可以是在用户端本地或者服务器对于静态资源(HTML,JavaScript,CSS,img等文件)做了资源缓存,也可以是借助CDN(即内容分发网络)的资源缓存,但上述几种方式仅仅都针对于静态资源的处理,没有针对动态资源。用户端每次打开前端加载页面时,都要由用户端从服务器获取对应动态资源后,再由服务端经过一系列计算处理后得到结果并发送给用户端,在服务器中所进行这部分计算处理的计算逻辑可能会相当复杂,过多的消耗服务端资源,且也没有充分利用用户端(如智能手机)提供的高性能处理,存在资源浪费。
发明内容
本发明实施例提供了一种动态资源多级缓存方法、系统、计算机设备及存储介质,旨在解决现有技术中用户端每次打开前端加载页面时,都要由用户端从服务器获取对应动态资源后,再由服务端经过一系列计算处理后得到结果并发送给用户端,在服务器中所进行这部分计算处理的计算逻辑可能会相当复杂,过多的消耗服务端资源,而且降低了前端页面加载的效率的问题。
第一方面,本发明实施例提供了一种动态资源多级缓存方法,应用于用户端,其包括:
若通过本地的拦截器检测到本地的网络动态资源请求,判断所述网络动态资源请求是否为首次请求;
若所述网络动态资源请求不是首次请求,对所述网络动态资源请求进行解析,获取对应的资源路径及请求参数;
将资源路径及请求参数进行本地检索及比对,确定本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数;
若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,获取对应目标资源路径及请求参数的网络动态资源作为第一目标网络动态资源,根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果;
若本地未缓存有与资源路径及请求参数相同的目标资源路径及请求参数,将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的资源路径及请求参数发送至网关服务器;
接收所述网关服务器根据所述资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源,并将所述第二目标网络动态资源进行本地缓存;以及
根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果。
第二方面,本发明实施例提供了一种动态资源多级缓存方法,应用于网关服务器,其包括:
若接收到用户端上传的网络动态资源请求,获取所述网络动态资源请求对应的资源路径及请求参数;
根据所述资源路径及请求参数在网关本地存储区域中进行检索,判断网关本地存储区域中是否存在与所述资源路径及请求参数对应的网络动态资源;
若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端;
若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,获取所述资源路径及请求参数对应的目标业务服务器,将所述网络动态资源请求及对应的资源路径及请求参数发送至目标业务服务器;
接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应获取的另一当前目标网络动态资源且进行本地缓存,并接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应计算并发送的当前计算结果;以及
将所述另一当前目标网络动态资源及所述当前计算结果发送至用户端。
第三方面,本发明实施例提供了一种动态资源多级缓存系统,其包括用户端及网关服务器,所述用户端用于执行上述第一方面所述的动态资源多级缓存方法,所述网关服务器用于执行上述第二方面所述的动态资源多级缓存方法。
第四方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的动态资源多级缓存方法,或者实现上述第二方面所述的动态资源多级缓存方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的动态资源多级缓存方法,或者执行时使所述处理器执行上述第二方面所述的动态资源多级缓存方法。
本发明实施例提供了一种动态资源多级缓存方法、系统、计算机设备及存储介质,需先判断所述网络动态资源请求是否为首次请,若所述网络动态资源请求是首次请求,在用户端本地不会缓存有任何与所述网络动态资源请求对应的网络动态资源,需去其他地方去获取对应的网络动态资源,若所述网络动态资源请求不是首次请求,可能会在用户端本地快速加载到对应的网络动态资源,无需直接去请求服务器区获取资源或数据,不仅充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的动态资源多级缓存方法的应用场景示意图;
图2为本发明实施例提供的动态资源多级缓存方法的流程示意图;
图3为本发明实施例提供的动态资源多级缓存方法的另一流程示意图;
图4为本发明实施例提供的动态资源多级缓存系统的示意性框图;
图5为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了更清楚的了解本申请的技术方案,下面对所涉及的执行主体进行详细介绍。本申请是分别以用户端和网关服务器为执行主体时来描述技术方案。
用户端,其为用户使用的智能手机、平板电脑或等智能终端,用户使用用户端可以登录APP(即应用程序)或者是打开网页以访问目标地址以进行数据交互,常见的数据交互过程是发送用户请求以从目标地址对应的服务器中获取静态资源、动态资源等类型的数据,或是向服务器发送用户请求以在服务器中进行运算后接收反馈运算结果。若用户端本地缓存有用户请求所需要的所有数据或资源,直接在用户端本地进行运算或资源处理即可。
网关服务器,其作用是解析用户请求后,先判断该用户请求对应的目标业务服务器,然后将该用户请求发送至对应的目标业务服务器。之后在目标业务服务器中获取到了与用户请求对应的资源或者运算结果后,由目标业务服务器先将这些资源或者运算结果发送至网关服务器进行缓存,再由网关服务器将这些资源或者运算结果发送至用户端。
业务服务器集群,其包括若干个业务服务器,每一业务服务器可以接收相应类型的用户请求后并对应反馈资源或运算结果。例如业务服务器集群中包括A业务服务器、B业务服务器和C业务服务器,用户端所发送的用户请求是需要访问A业务服务器,则网关服务器接收到用户端发送的该用户请求并判定其目标业务服务器是A业务服务器后,将用户请求由网关服务器转发至A业务服务器,在A业务服务器中根据该用户请求获取对应的资源或者运算结果后,由A业务服务器先将这些资源或者运算结果发送至网关服务器进行缓存,再由网关服务器将这些资源或者运算结果发送至用户端。
首先在用户端的角度描述技术方案。
请参阅图1和图2,图1为本发明实施例提供的动态资源多级缓存方法的应用场景示意图;图2为本发明实施例提供的动态资源多级缓存方法的流程示意图,该动态资源多级缓存方法应用于用户端中,该方法通过安装于用户端中的应用软件进行执行。其中,所述用户端为台式电脑、平板电脑、手提电脑、等终端的任意一种。
如图2所示,该方法包括步骤S101~S107。
S101、若通过本地的拦截器检测到本地的网络动态资源请求,判断所述网络动态资源请求是否为首次请求。
在本实施例中,当用户使用用户端登录APP(即应用程序)或者是打开网页以访问目标地址时,一般会先产生一个访问请求(这一访问请求可以理解为网络动态资源请求),通过这一访问请求获取所需网络资源或数据以进行访问结果展示。例如,以网络购物为具体场景,当用户打开网络购物的APP时,例如选定某一产品A并选定了其对应的产品参数(如产品尺寸,颜色等)时,在用户端的本地会生成一个网络动态资源请求。该网络动态资源请求被解析后一般是包括资源路径及请求参数,资源路径一般是URL地址,请求参数一般包括产品唯一编号、产品属性参数集(例如包括尺寸参数值、年限参数值、颜色参数值、产品个数参数值等)等。
其中,该网络动态资源请求具体实施时可以封装成http请求或https请求,在用户端本地可以预先设置有http请求拦截器或https请求拦截器,这样一旦用户端产生了网络动态资源请求,并不是立马放行至网关服务器,而是先进行本地拦截。
为了合理利用用户端的本地缓存数据,此时需先判断所述网络动态资源请求是否为首次请求。若所述网络动态资源请求是首次请求,表示该用户端是第一次登录APP(即应用程序)或者是打开网页以访问目标地址,此时在用户端本地是不会缓存有任何与所述网络动态资源请求对应的网络动态资源,是一定要去其他地方去获取对应的网络动态资源。若所述网络动态资源请求不是首次请求,可能会在用户端本地快速加载到对应的网络动态资源,无需直接去请求服务器区获取资源或数据。
S102、若所述网络动态资源请求不是首次请求,对所述网络动态资源请求进行解析,获取对应的资源路径及请求参数。
在本实施例中,若所述网络动态资源请求不是首次请求,表示该用户端可能是当前仍停留在目前的APP或网页上,因重新修改设定了产品参数而再一次生成了另一个网络动态资源请求,此时为了减少对服务器的请求,此时可以优先考虑在用户端本地的缓存数据中检索是否有与另一个网络动态资源请求对应的网络动态资源。通过这一方式,可以避免直接去请求服务器区获取资源或数据,降低服务器的访问压力,降低网络消耗。
S103、将资源路径及请求参数进行本地检索及比对,确定本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数。
在本实施例中,为了判断在用户端的本地缓存空间中是否存在有与此次的网络动态资源请求相符合的目标资源路径及请求参数,可以直接将解析得到的资源路径及请求参数进行本地检索及比对,判断本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数。也就是一旦有过相同的网络动态资源请求,用户端就无需去服务器上获取网络动态资源,直接在用户端本地获取即可。
S104、若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,获取对应目标资源路径及请求参数的网络动态资源作为第一目标网络动态资源,根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果。
在本实施例中,若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,表示在本次用户访问未结束的情况下,用户又操作用户端修改产品参数和之前某一次(例如将这一次记为用户第二次访问)相同,这样所生成的网络动态资源请求及其包括的资源路径及请求参数是与之前的用户第二次访问时生成网络动态资源请求是相同的,所要求获取的网络动态资源也是相同的,这样用户端直接在本地的缓存空间中是可以获取到相应的网络动态资源,避免了再次访问网关服务器或是业务服务器,减少了服务器访问和数据处理压力。
在一实施例中,步骤S104包括:
获取与所述网络动态资源请求对应的应用ID;
在本地固定存储空间中获取与所述应用ID对应的目标应用存储子空间;
在所述目标应用存储子空间中获取与所述网络动态资源请求对应的静态资源。
在本实施例中,当从用户端的本地缓存空间中获取了第一目标网络动态资源后,还会从用户端的本地固定存储空间中获取与该网络动态资源请求对应的静态资源。本申请中之所以将动态资源存储在用户端本地的缓存空间,而将静态资源存储在用户端本地的固定存储空间,是因为用户端本地的缓存空间中存储的动态资源是在用户这一次持续访问目标地址的过程中才短暂存在,一旦用户结束了此次对目标地址的访问,缓存空间中存储的动态资源可能会根据缓存空间的数据清理策略进行数据清理。但是静态资源在用户每次发送网络动态资源请求得到对应的动态资源后,可以与多次共用的静态资源共同进行数据处理得到运算结果。
通过所得到的运算结果,并结合得到的第一目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。例如之前用户因设定产品参数而发送的网络动态资源请求在用户端本地计算得到了运算结果(例如该运算结果可以是产品最终价格),可以与之前设定的产品参数以及所得到的第一目标网络动态资源和静态资源共同渲染在同一页面上,用户能够更加快速且直接的查看。此时,不仅充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
在一实施例中,步骤S104之后还包括:
获取目标资源路径及请求参数的累计检索次数;
若目标资源路径及请求参数的累计检索次数大于预设的检索次数阈值,将所述目标资源路径及请求参数、所述目标资源路径及请求参数对应的第一目标网络动态资源的存储标签设置为固定存储数据,并将所述目标资源路径及请求参数和所述第一目标网络动态资源转存至本地固定存储区域;
将所述目标资源路径及请求参数、所述第一目标网络动态资源及所述累计检索次数发送至网关服务器以进行网关服务器存储。
在本实施例中,若在用户端本地检测到某一资源路径及请求参数被反复查询,表示其对应的网络动态资源是用户经常需查询的热门资源,此时为了分发给其他更多的用户端使用相同的网络动态资源,可以是由用户端将所述目标资源路径及请求参数、所述第一目标网络动态资源及所述累计检索次数发送至网关服务器以进行网关服务器存储,通过这一将热门资源主动上传网关服务器的方式,可以实现数据的快速共享。
而且若在用户端本地也是经常调用这一第一目标网络动态资源,此时可以将第一目标网络动态资源的存储标签设置为固定存储数据,表示这一数据在后续过程中为了更快速的获取,可以将其固定存储于用户端的固定存储区域(这里就不再是用户端的缓存区域)进行长时间的固定存储。下一次用户再次打开网页发起相同的请求时,直接在用户端的固定存储区域即可快速获取第一目标网络动态资源,提高了网络动态资源的加载效率。
S105、若本地未缓存有与资源路径及请求参数相同的目标资源路径及请求参数,将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的资源路径及请求参数发送至网关服务器。
在本实施例中,若本地缓未存有与资源路径及请求参数相同的资源路径及请求参数,表示在本次用户访问未结束的情况下,用户又操作用户端修改产品参数和而且与之前任意一次的产品产生都不相同,此时为了快速的获取网络动态资源,需用户端中的拦截器对所述网络动态资源请求及时放行,以提高数据交互的效率。
S106、接收所述网关服务器根据所述资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源,并将所述第二目标网络动态资源进行本地缓存。
在本实施例中,当网关服务器接收到了所述网络动态资源请求及对应的资源路径及请求参数,获取第二目标网络动态资源的途径如下:第一种方式是在网关服务器的数据库(例如Redis数据库)中获取对应的网络动态资源作为第二目标网络动态资源,这一方式实现的前提是在网关服务器的数据库中已经存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源;第二种方式是由网关服务器将所述网络动态资源请求及对应的资源路径及请求参数直接转发至对应的目标业务服务器以快速的获取第二目标网络动态资源及第二运算结果,这一方式实现的前提是在网关服务器的数据库中未存储有与所述网络动态资源请求及对应的资源路径及请求参数对应的网络动态资源。
S107、根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果。
在本实施例中,当用户端接收到了第二目标网络动态资源,并在本地获取了对应的静态资源后,先是根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果,然后结合得到的第二目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。
在一实施例中,步骤S106及步骤S107的替代执行方案是:
接收所述网关服务器根据所述另一资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源且进行本地缓存,并接收与所述网关服务器发送的第二运算结果;
在本地固定存储空间中获取与所述网络动态资源请求对应的目标静态资源;
根据所述第二目标网络动态资源、所述目标静态资源及所述第二运算结果进行页面渲染,得到页面渲染结果。
在本实施例中,还可以是将计算过程以及第二目标网络动态资源的获取过程在网关服务器之外的业务服务器中进行,网关服务器只是起到一个数据中转发送站的作用,这样用户端接收到了网关服务器转发的所述第二目标网络动态资源和第二运算结果,以及本地所对应获取的静态资源后,可以在用户端的页面上渲染出对应的展示页面。这一方式保留了使用业务服务器数据处理能力来获取计算结果。
在一实施例中,步骤S101之后还包括:
S108、若所述网络动态资源请求是首次请求,对所述网络动态资源请求进行解析,获取对应的另一资源路径及请求参数并进行本地缓存。
在本实施例中,若所述网络动态资源请求是首次请求,表示该用户端是第一次登录APP(即应用程序)或者是打开网页以访问目标地址,此时在拦截器中对所述网络动态资源请求进行解析,也即通过拦截器对http请求或https请求进行解析,从而获取到http请求或https请求对应的另一资源路径及请求参数。而且,若所述网络动态资源请求是首次请求,是一定要去其他地方去获取对应的网络动态资源,无需在用户端的本地缓存中检索是否有对应的网络动态资源,需要拦截器对所述网络动态资源请求及时放行,以提高数据交互的效率。
S109、将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的另一资源路径及请求参数发送至网关服务器。
在本实施例中,当用户端的拦截器放行了所述网络动态资源请求后,是同时将所述网络动态资源请求及对应的另一资源路径及请求参数发送至网关服务器,避免了在网关服务器中再次解析该网络动态资源请求,节约了解析时间。
S110、接收所述网关服务器根据所述网络动态资源请求对应发送的网络动态资源作为第三目标网络动态资源,并将所述第三目标网络动态资源进行本地缓存。
在本实施例中,当网关服务器接收到了所述网络动态资源请求及对应的另一资源路径及请求参数,获取第三目标网络动态资源的途径参考获取第二目标网络动态资源的方式。
S111、根据所述第三目标网络动态资源及本地的静态资源进行数据运算,得到第三运算结果。
在本实施例中,当用户端接收到了第三目标网络动态资源,并在本地获取了对应的静态资源后,先是根据所述第三目标网络动态资源及本地的静态资源进行数据运算,得到第三运算结果,然后结合得到的第三目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。这一实现方式能快速从网关服务器获取对应的第三目标网络动态资源后在用户端本地进行运算,充分利用用户端的数据处理能力。
在一实施例中,步骤S107之后还包括:
S112、若检测到本地的访问结束请求指令,将本地缓存中的数据进行数据清除以释放本地缓存。
在本实施例中,当检测到用户端可能是当前仍停留在目前的APP或网页的过程结束后,也即用户此次不再需要访问目标地址并关闭了目前的APP或网页后,会产生一个访问结束请求指令,为了节省用户端本地的缓存空间为下一次访问做准备,需要将用户端本地缓存中的数据进行数据清除以释放本地缓存。
之后在网关服务器的角度描述技术方案。
请参阅图1和图3,图3为本发明实施例提供的动态资源多级缓存方法的另一流程示意图,该动态资源多级缓存方法应用于网关服务器中,该方法通过安装于网关服务器中的应用软件进行执行。
如图3所示,该方法包括步骤S201~S206。
S201、若接收到用户端上传的网络动态资源请求,获取所述网络动态资源请求对应的资源路径及请求参数。
在本实施例中,当网关服务器接收到了用户端上传的网络动态资源请求及对应的资源路径及请求参数后,表示用户端本地是没有对应的网络动态资源,需要借助网关服务器来获取。此时为了避免重复解析网络动态资源请求,直接接收用户端发送的网络动态资源请求及对应的资源路径及请求参数即可。
S202、根据所述资源路径及请求参数在网关本地存储区域中进行检索,判断网关本地存储区域中是否存在与所述资源路径及请求参数对应的网络动态资源。
在本实施例中,为了判断在网关服务器的网关本地存储区域(可以理解为网关服务器的数据库,例如Redis数据库)中是否存在有与此次的网络动态资源请求相符合的资源路径及请求参数,可以直接将从用户端得到的资源路径及请求参数进行本地检索及比对,判断本地是否存储有与资源路径及请求参数相同的资源路径及请求参数。也就是一旦有过相同的网络动态资源请求,用户端就无需去服务器上获取网络动态资源,直接在网关服务器的本地获取即可。
S203、若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端。
在本实施例中,若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,表示网关服务器的数据库中已经存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源,此时直接在网关服务器中获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端。通过这一方式,有效降低了对业务服务器的频繁请求。
S204、若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,获取所述资源路径及请求参数对应的目标业务服务器,将所述网络动态资源请求及对应的资源路径及请求参数发送至目标业务服务器。
在本实施例中,若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,表示网关服务器的数据库中没有存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源,此时只能解析获取所述资源路径及请求参数对应的目标业务服务器。例如业务服务器集群中包括A业务服务器、B业务服务器和C业务服务器,用户端所发送的网络动态资源请求是需要访问C业务服务器,则网关服务器接收到用户端发送的该网络动态资源请求并判定其目标业务服务器是C业务服务器后,将用户请求由网关服务器转发至C业务服务器,在C业务服务器中根据该网络动态资源请求的资源路径及请求参数获取对应的资源或者运算结果后,由C业务服务器先将这些资源或者运算结果发送至网关服务器进行缓存,再由网关服务器将这些资源或者运算结果发送至用户端。
S205、接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应获取的另一当前目标网络动态资源且进行本地缓存,并接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应计算并发送的当前计算结果。
在本实施例中,若网关服务器接收到了所述目标业务服务器发送的另一当前目标网络动态资源后,进行本地缓存以确保后续有相同的网络动态资源获取请求时能直接由网关服务器反馈网络动态资源,同时还可以接收所述目标业务服务器根据所述另一当前目标网络动态资源对应计算并发送的当前计算结果。此时,运算过程还是在业务服务器端进行,但是因为只是在用户端和网关服务器均未直接检索到另一当前目标网络动态资源时才会请求业务服务器,极大的降低了访问业务服务器的频率,降低业务服务器数据库IO访问,避免业务服务器端大量重复计算动作。
S206、将所述另一当前目标网络动态资源及所述当前计算结果发送至用户端。
在本实施例中,当网关服务器接收到了另一当前目标网络动态资源及所述当前计算结果后,只是将另一当前目标网络动态资源及其对应的网络动态资源请求和所述资源路径及请求参数存储在网关服务器,当前计算结果并不保存而是直接发送至用户端,通过这一方式减少了网关服务器中存储的数据量。
在一实施例中,步骤S201之前还包括:
S201a、若检测到已向业务服务器集群发送热门资源获取请求,接收并存储业务服务器集群发送的热门资源路径及请求参数集合,及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源。
在本实施例中,由于一些热门产品的网络动态资源是用户端大概率会频繁获取的,可以由业务服务器事先设置好这些热门资源路径及请求参数集合以及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源,这样通过事先部署的方式,能有效降低业务服务器的访问压力。
在一实施例中,步骤S201a中接收并存储业务服务器集群发送的热门资源路径及请求参数集合,及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源,包括:
获取每一热门资源路径及请求参数分别对应的目标业务服务器名称;
在网关本地存储区域中根据各个目标业务服务器名称分别对应创建子存储区域;
将每一网络动态资源和每一热门资源路径及请求参数根据对应的目标业务服务器名称存储在对应的子存储区域。
在本实施例中,由于每一热门资源路径及请求参数是由业务服务器集群其中一个业务服务器发送,这样当获取了获取每一热门资源路径及请求参数分别对应的目标业务服务器名称后,可以在网关服务器中分区域存储与各个目标业务服务器分别对应的网络动态资源以及相应的热门资源路径及请求参数。通过这一分区域存储方式,可以使得资源的检索过程更加高效。
该方法实现了在用户端本地的缓存中若存在网络动态资源时直接本地加载后进行本地的数据运算,无需从网关服务器进行下载,而且充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
本发明实施例还提供一种动态资源多级缓存系统,该动态资源多级缓存系统包括工作流集成终端及服务器,工作流集成终端用于执行前述动态资源多级缓存方法中步骤S101~S107记载的实施例,服务器用于执行前述动态资源多级缓存方法中步骤S201~S206记载的实施例。具体地,请参阅图4,图4是本发明实施例提供的动态资源多级缓存系统的示意性框图。
如图4所示,动态资源多级缓存系统10包括:用户端100及网关服务器200。
其中,如图4所示,用户端100包括首次请求判断单元101、请求解析单元102、请求缓存判断单元103、第一运算单元104、请求放行单元105、动态资源缓存单元106、第二运算单元107。
首次请求判断单元101,用于若通过本地的拦截器检测到本地的网络动态资源请求,判断所述网络动态资源请求是否为首次请求。
在本实施例中,当用户使用用户端登录APP(即应用程序)或者是打开网页以访问目标地址时,一般会先产生一个访问请求(这一访问请求可以理解为网络动态资源请求),通过这一访问请求获取所需网络资源或数据以进行访问结果展示。例如,以网络购物为具体场景,当用户打开网络购物的APP时,例如选定某一产品A并选定了其对应的产品参数(如产品尺寸,颜色等)时,在用户端的本地会生成一个网络动态资源请求。该网络动态资源请求被解析后一般是包括资源路径及请求参数,资源路径一般是URL地址,请求参数一般包括产品唯一编号、产品属性参数集(例如包括尺寸参数值、年限参数值、颜色参数值、产品个数参数值等)等。
其中,该网络动态资源请求具体实施时可以封装成http请求或https请求,在用户端本地可以预先设置有http请求拦截器或https请求拦截器,这样一旦用户端产生了网络动态资源请求,并不是立马放行至网关服务器,而是先进行本地拦截。
为了合理利用用户端的本地缓存数据,此时需先判断所述网络动态资源请求是否为首次请求。若所述网络动态资源请求是首次请求,表示该用户端是第一次登录APP(即应用程序)或者是打开网页以访问目标地址,此时在用户端本地是不会缓存有任何与所述网络动态资源请求对应的网络动态资源,是一定要去其他地方去获取对应的网络动态资源。若所述网络动态资源请求不是首次请求,可能会在用户端本地快速加载到对应的网络动态资源,无需直接去请求服务器区获取资源或数据。
请求解析单元102,用于若所述网络动态资源请求不是首次请求,对所述网络动态资源请求进行解析,获取对应的资源路径及请求参数。
在本实施例中,若所述网络动态资源请求不是首次请求,表示该用户端可能是当前仍停留在目前的APP或网页上,因重新修改设定了产品参数而再一次生成了另一个网络动态资源请求,此时为了减少对服务器的请求,此时可以优先考虑在用户端本地的缓存数据中检索是否有与另一个网络动态资源请求对应的网络动态资源。通过这一方式,可以避免直接去请求服务器区获取资源或数据,降低服务器的访问压力,降低网络消耗。
请求缓存判断单元103,用于将资源路径及请求参数进行本地检索及比对,确定本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数。
在本实施例中,为了判断在用户端的本地缓存空间中是否存在有与此次的网络动态资源请求相符合的目标资源路径及请求参数,可以直接将解析得到的资源路径及请求参数进行本地检索及比对,判断本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数。也就是一旦有过相同的网络动态资源请求,用户端就无需去服务器上获取网络动态资源,直接在用户端本地获取即可。
第一运算单元104,用于若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,获取对应目标资源路径及请求参数的网络动态资源作为第一目标网络动态资源,根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果。
在本实施例中,若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,表示在本次用户访问未结束的情况下,用户又操作用户端修改产品参数和之前某一次(例如将这一次记为用户第二次访问)相同,这样所生成的网络动态资源请求及其包括的资源路径及请求参数是与之前的用户第二次访问时生成网络动态资源请求是相同的,所要求获取的网络动态资源也是相同的,这样用户端直接在本地的缓存空间中是可以获取到相应的网络动态资源,避免了再次访问网关服务器或是业务服务器,减少了服务器访问和数据处理压力。
在一实施例中,第一运算单元104包括:
应用ID获取单元,用于获取与所述网络动态资源请求对应的应用ID;
目标子空间定位单元,用于在本地固定存储空间中获取与所述应用ID对应的目标应用存储子空间;
第一目标静态资源获取单元,用于在所述目标应用存储子空间中获取与所述网络动态资源请求对应的静态资源。
在本实施例中,当从用户端的本地缓存空间中获取了第一目标网络动态资源后,还会从用户端的本地固定存储空间中获取与该网络动态资源请求对应的静态资源。本申请中之所以将动态资源存储在用户端本地的缓存空间,而将静态资源存储在用户端本地的固定存储空间,是因为用户端本地的缓存空间中存储的动态资源是在用户这一次持续访问目标地址的过程中才短暂存在,一旦用户结束了此次对目标地址的访问,缓存空间中存储的动态资源可能会根据缓存空间的数据清理策略进行数据清理。但是静态资源在用户每次发送网络动态资源请求得到对应的动态资源后,可以与多次共用的静态资源共同进行数据处理得到运算结果。
通过所得到的运算结果,并结合得到的第一目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。例如之前用户因设定产品参数而发送的网络动态资源请求在用户端本地计算得到了运算结果(例如该运算结果可以是产品最终价格),可以与之前设定的产品参数以及所得到的第一目标网络动态资源和静态资源共同渲染在同一页面上,用户能够更加快速且直接的查看。此时,不仅充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
在一实施例中,用户端100还包括:
累计次数获取单元,用于获取目标资源路径及请求参数的累计检索次数;
固定存储单元,用于若目标资源路径及请求参数的累计检索次数大于预设的检索次数阈值,将所述目标资源路径及请求参数、所述目标资源路径及请求参数对应的第一目标网络动态资源的存储标签设置为固定存储数据,并将所述目标资源路径及请求参数和所述第一目标网络动态资源转存至本地固定存储区域;
固定数据发送单元,用于将所述目标资源路径及请求参数、所述第一目标网络动态资源及所述累计检索次数发送至网关服务器以进行网关服务器存储。
在本实施例中,若在用户端本地检测到某一资源路径及请求参数被反复查询,表示其对应的网络动态资源是用户经常需查询的热门资源,此时为了分发给其他更多的用户端使用相同的网络动态资源,可以是由用户端将所述目标资源路径及请求参数、所述第一目标网络动态资源及所述累计检索次数发送至网关服务器以进行网关服务器存储,通过这一将热门资源主动上传网关服务器的方式,可以实现数据的快速共享。
而且若在用户端本地也是经常调用这一第一目标网络动态资源,此时可以将第一目标网络动态资源的存储标签设置为固定存储数据,表示这一数据在后续过程中为了更快速的获取,可以将其固定存储于用户端的固定存储区域(这里就不再是用户端的缓存区域)进行长时间的固定存储。下一次用户再次打开网页发起相同的请求时,直接在用户端的固定存储区域即可快速获取第一目标网络动态资源,提高了网络动态资源的加载效率。
请求放行单元105,用于若本地未缓存有与资源路径及请求参数相同的目标资源路径及请求参数,将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的资源路径及请求参数发送至网关服务器。
在本实施例中,若本地缓未存有与资源路径及请求参数相同的资源路径及请求参数,表示在本次用户访问未结束的情况下,用户又操作用户端修改产品参数和而且与之前任意一次的产品产生都不相同,此时为了快速的获取网络动态资源,需用户端中的拦截器对所述网络动态资源请求及时放行,以提高数据交互的效率。
动态资源缓存单元106,用于接收所述网关服务器根据所述资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源,并将所述第二目标网络动态资源进行本地缓存。
在本实施例中,当网关服务器接收到了所述网络动态资源请求及对应的资源路径及请求参数,获取第二目标网络动态资源的途径如下:第一种方式是在网关服务器的数据库(例如Redis数据库)中获取对应的网络动态资源作为第二目标网络动态资源,这一方式实现的前提是在网关服务器的数据库中已经存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源;第二种方式是由网关服务器将所述网络动态资源请求及对应的资源路径及请求参数直接转发至对应的目标业务服务器以快速的获取第二目标网络动态资源及第二运算结果,这一方式实现的前提是在网关服务器的数据库中未存储有与所述网络动态资源请求及对应的资源路径及请求参数对应的网络动态资源。
第二运算单元107,用于根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果。
在本实施例中,当用户端接收到了第二目标网络动态资源,并在本地获取了对应的静态资源后,先是根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果,然后结合得到的第二目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。
在一实施例中,步动态资源缓存单元106、第二运算单元107的替代单元是:
运算结果接收单元,用于接收所述网关服务器根据所述另一资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源且进行本地缓存,并接收与所述网关服务器发送的第二运算结果;
第二目标静态资源获取单元,用于在本地固定存储空间中获取与所述网络动态资源请求对应的目标静态资源;
页面渲染单元,用于根据所述第二目标网络动态资源、所述目标静态资源及所述第二运算结果进行页面渲染,得到页面渲染结果。
在本实施例中,还可以是将计算过程以及第二目标网络动态资源的获取过程在网关服务器之外的业务服务器中进行,网关服务器只是起到一个数据中转发送站的作用,这样用户端接收到了网关服务器转发的所述第二目标网络动态资源和第二运算结果,以及本地所对应获取的静态资源后,可以在用户端的页面上渲染出对应的展示页面。这一方式保留了使用业务服务器数据处理能力来获取计算结果。
在一实施例中,用户端100还包括:
另一请求解析单元,用于若所述网络动态资源请求是首次请求,对所述网络动态资源请求进行解析,获取对应的另一资源路径及请求参数并进行本地缓存。
在本实施例中,若所述网络动态资源请求是首次请求,表示该用户端是第一次登录APP(即应用程序)或者是打开网页以访问目标地址,此时在拦截器中对所述网络动态资源请求进行解析,也即通过拦截器对http请求或https请求进行解析,从而获取到http请求或https请求对应的另一资源路径及请求参数。而且,若所述网络动态资源请求是首次请求,是一定要去其他地方去获取对应的网络动态资源,无需在用户端的本地缓存中检索是否有对应的网络动态资源,需要拦截器对所述网络动态资源请求及时放行,以提高数据交互的效率。
另一请求放行单元,用于将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的另一资源路径及请求参数发送至网关服务器。
在本实施例中,当用户端的拦截器放行了所述网络动态资源请求后,是同时将所述网络动态资源请求及对应的另一资源路径及请求参数发送至网关服务器,避免了在网关服务器中再次解析该网络动态资源请求,节约了解析时间。
另一动态资源缓存单元,用于接收所述网关服务器根据所述网络动态资源请求对应发送的网络动态资源作为第三目标网络动态资源,并将所述第三目标网络动态资源进行本地缓存。
在本实施例中,当网关服务器接收到了所述网络动态资源请求及对应的另一资源路径及请求参数,获取第三目标网络动态资源的途径参考获取第二目标网络动态资源的方式。
第三运算单元,用于根据所述第三目标网络动态资源及本地的静态资源进行数据运算,得到第三运算结果。
在本实施例中,当用户端接收到了第三目标网络动态资源,并在本地获取了对应的静态资源后,先是根据所述第三目标网络动态资源及本地的静态资源进行数据运算,得到第三运算结果,然后结合得到的第三目标网络动态资源和静态资源,可以在用户端的页面上渲染出对应的展示页面。这一实现方式能快速从网关服务器获取对应的第三目标网络动态资源后在用户端本地进行运算,充分利用用户端的数据处理能力。
在一实施例中,用户端100还包括:
本地缓存清空单元,用于若检测到本地的访问结束请求指令,将本地缓存中的数据进行数据清除以释放本地缓存。
在本实施例中,当检测到用户端可能是当前仍停留在目前的APP或网页的过程结束后,也即用户此次不再需要访问目标地址并关闭了目前的APP或网页后,会产生一个访问结束请求指令,为了节省用户端本地的缓存空间为下一次访问做准备,需要将用户端本地缓存中的数据进行数据清除以释放本地缓存。
其中,如图4所示,网关服务器200包括请求接收单元201、本地存储区域检索单元202,本地动态资源发送单元203、目标服务器发送单元204、当前计算单元205、当前结果发送单元206。
请求接收单元201,用于若接收到用户端上传的网络动态资源请求,获取所述网络动态资源请求对应的资源路径及请求参数。
在本实施例中,当网关服务器接收到了用户端上传的网络动态资源请求及对应的资源路径及请求参数后,表示用户端本地是没有对应的网络动态资源,需要借助网关服务器来获取。此时为了避免重复解析网络动态资源请求,直接接收用户端发送的网络动态资源请求及对应的资源路径及请求参数即可。
本地存储区域检索单元202,用于根据所述资源路径及请求参数在网关本地存储区域中进行检索,判断网关本地存储区域中是否存在与所述资源路径及请求参数对应的网络动态资源。
在本实施例中,为了判断在网关服务器的网关本地存储区域(可以理解为网关服务器的数据库,例如Redis数据库)中是否存在有与此次的网络动态资源请求相符合的资源路径及请求参数,可以直接将从用户端得到的资源路径及请求参数进行本地检索及比对,判断本地是否存储有与资源路径及请求参数相同的资源路径及请求参数。也就是一旦有过相同的网络动态资源请求,用户端就无需去服务器上获取网络动态资源,直接在网关服务器的本地获取即可。
本地动态资源发送单元203,用于若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端。
在本实施例中,若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,表示网关服务器的数据库中已经存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源,此时直接在网关服务器中获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端。通过这一方式,有效降低了对业务服务器的频繁请求。
目标服务器发送单元204,用于若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,获取所述资源路径及请求参数对应的目标业务服务器,将所述网络动态资源请求及对应的资源路径及请求参数发送至目标业务服务器。
在本实施例中,若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,表示网关服务器的数据库中没有存储过与所述网络动态资源请求及对应的资源路径及请求参数相应的网络动态资源,此时只能解析获取所述资源路径及请求参数对应的目标业务服务器。例如业务服务器集群中包括A业务服务器、B业务服务器和C业务服务器,用户端所发送的网络动态资源请求是需要访问C业务服务器,则网关服务器接收到用户端发送的该网络动态资源请求并判定其目标业务服务器是C业务服务器后,将用户请求由网关服务器转发至C业务服务器,在C业务服务器中根据该网络动态资源请求的资源路径及请求参数获取对应的资源或者运算结果后,由C业务服务器先将这些资源或者运算结果发送至网关服务器进行缓存,再由网关服务器将这些资源或者运算结果发送至用户端。
当前计算单元205,用于接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应获取的另一当前目标网络动态资源且进行本地缓存,并接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应计算并发送的当前计算结果。
在本实施例中,若网关服务器接收到了所述目标业务服务器发送的另一当前目标网络动态资源后,进行本地缓存以确保后续有相同的网络动态资源获取请求时能直接由网关服务器反馈网络动态资源,同时还可以接收所述目标业务服务器根据所述另一当前目标网络动态资源对应计算并发送的当前计算结果。此时,运算过程还是在业务服务器端进行,但是因为只是在用户端和网关服务器均未直接检索到另一当前目标网络动态资源时才会请求业务服务器,极大的降低了访问业务服务器的频率,降低业务服务器数据库IO访问,避免业务服务器端大量重复计算动作。
当前结果发送单元206,用于将所述另一当前目标网络动态资源及所述当前计算结果发送至用户端。
在本实施例中,当网关服务器接收到了另一当前目标网络动态资源及所述当前计算结果后,只是将另一当前目标网络动态资源及其对应的网络动态资源请求和所述资源路径及请求参数存储在网关服务器,当前计算结果并不保存而是直接发送至用户端,通过这一方式减少了网关服务器中存储的数据量。
在一实施例中,网关服务器200还包括:
热门请求资源存储单元,用于若检测到已向业务服务器集群发送热门资源获取请求,接收并存储业务服务器集群发送的热门资源路径及请求参数集合,及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源。
在本实施例中,由于一些热门产品的网络动态资源是用户端大概率会频繁获取的,可以由业务服务器事先设置好这些热门资源路径及请求参数集合以及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源,这样通过事先部署的方式,能有效降低业务服务器的访问压力。
在一实施例中,热门请求资源存储单元包括:
目标业务服务器名称获取单元,用于获取每一热门资源路径及请求参数分别对应的目标业务服务器名称;
子存储区域创建单元,用于在网关本地存储区域中根据各个目标业务服务器名称分别对应创建子存储区域;
子存储区域存储单元,用于将每一网络动态资源和每一热门资源路径及请求参数根据对应的目标业务服务器名称存储在对应的子存储区域。
在本实施例中,由于每一热门资源路径及请求参数是由业务服务器集群其中一个业务服务器发送,这样当获取了获取每一热门资源路径及请求参数分别对应的目标业务服务器名称后,可以在网关服务器中分区域存储与各个目标业务服务器分别对应的网络动态资源以及相应的热门资源路径及请求参数。通过这一分区域存储方式,可以使得资源的检索过程更加高效。
该系统实现了在用户端本地的缓存中若存在网络动态资源时直接本地加载后进行本地的数据运算,无需从网关服务器进行下载,而且充分利用了用户端本地的数据处理能力,而且降低了服务器的数据处理压力。
上述动态资源多级缓存系统可以实现为计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是终端。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图5,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行动态资源多级缓存方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行动态资源多级缓存方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的动态资源多级缓存方法。
本领域技术人员可以理解,图5中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的动态资源多级缓存方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种动态资源多级缓存方法,应用于用户端,其特征在于,包括:
若通过本地的拦截器检测到本地的网络动态资源请求,判断所述网络动态资源请求是否为首次请求;
若所述网络动态资源请求不是首次请求,对所述网络动态资源请求进行解析,获取对应的资源路径及请求参数;
将资源路径及请求参数进行本地检索及比对,确定本地是否缓存有与资源路径及请求参数相同的目标资源路径及请求参数;
若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,获取对应目标资源路径及请求参数的网络动态资源作为第一目标网络动态资源,根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果;
若本地未缓存有与资源路径及请求参数相同的目标资源路径及请求参数,将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的资源路径及请求参数发送至网关服务器;
接收所述网关服务器根据所述资源路径及请求参数对应发送的网络动态资源作为第二目标网络动态资源,并将所述第二目标网络动态资源进行本地缓存;以及
根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果。
2.根据权利要求1所述的动态资源多级缓存方法,其特征在于,所述若通过本地的拦截器检测到本地的网络动态资源请求,判断所述网络动态资源请求是否为首次请求之后,还包括:
若所述网络动态资源请求是首次请求,对所述网络动态资源请求进行解析,获取对应的另一资源路径及请求参数并进行本地缓存;
将所述网络动态资源请求放行,并将所述网络动态资源请求及对应的另一资源路径及请求参数发送至网关服务器;
接收所述网关服务器根据所述网络动态资源请求对应发送的网络动态资源作为第三目标网络动态资源,并将所述第三目标网络动态资源进行本地缓存;
根据所述第三目标网络动态资源及本地的静态资源进行数据运算,得到第三运算结果。
3.根据权利要求1所述的动态资源多级缓存方法,其特征在于,所述根据所述第二目标网络动态资源及本地的静态资源进行数据运算,得到第二运算结果之后,还包括:
若检测到本地的访问结束请求指令,将本地缓存中的数据进行数据清除以释放本地缓存。
4.根据权利要求1所述的动态资源多级缓存方法,其特征在于,所述根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果之前,还包括:
获取与所述网络动态资源请求对应的应用ID;
在本地固定存储空间中获取与所述应用ID对应的目标应用存储子空间;
在所述目标应用存储子空间中获取与所述网络动态资源请求对应的静态资源。
5.根据权利要求1所述的动态资源多级缓存方法,其特征在于,所述若本地缓存有与资源路径及请求参数相同的目标资源路径及请求参数,获取对应目标资源路径及请求参数的网络动态资源作为第一目标网络动态资源,根据所述第一目标网络动态资源及本地的静态资源进行数据运算,得到第一运算结果之后,还包括:
获取目标资源路径及请求参数的累计检索次数;
若目标资源路径及请求参数的累计检索次数大于预设的检索次数阈值,将所述目标资源路径及请求参数、所述目标资源路径及请求参数对应的第一目标网络动态资源的存储标签设置为固定存储数据,并将所述目标资源路径及请求参数和所述第一目标网络动态资源转存至本地固定存储区域;
将所述目标资源路径及请求参数、所述第一目标网络动态资源及所述累计检索次数发送至网关服务器以进行网关服务器存储。
6.一种动态资源多级缓存方法,应用于网关服务器,其特征在于,包括:
若接收到用户端上传的网络动态资源请求,获取所述网络动态资源请求对应的资源路径及请求参数;
根据所述资源路径及请求参数在网关本地存储区域中进行检索,判断网关本地存储区域中是否存在与所述资源路径及请求参数对应的网络动态资源;
若网关本地存储区域中存在与所述资源路径及请求参数对应的网络动态资源,获取对应的网络动态资源作为当前目标网络动态资源,将所述当前目标网络动态资源发送至用户端;
若网关本地存储区域中不存在与所述资源路径及请求参数对应的网络动态资源,获取所述资源路径及请求参数对应的目标业务服务器,将所述网络动态资源请求及对应的资源路径及请求参数发送至目标业务服务器;
接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应获取的另一当前目标网络动态资源且进行本地缓存,并接收所述目标业务服务器根据所述网络动态资源请求和所述资源路径及请求参数对应计算并发送的当前计算结果;以及
将所述另一当前目标网络动态资源及所述当前计算结果发送至用户端。
7.根据权利要求6所述的动态资源多级缓存方法,其特征在于,所述若接收到用户端上传的网络动态资源请求,获取所述网络动态资源请求对应的资源路径及请求参数之前,还包括:
若检测到已向业务服务器集群发送热门资源获取请求,接收并存储业务服务器集群发送的热门资源路径及请求参数集合,及与所述热门资源路径及请求参数集合中每一热门资源路径及请求参数分别对应的网络动态资源。
8.一种动态资源多级缓存系统,其特征在于,包括用户端及网关服务器,所述用户端用于执行如权利要求1-5任一项所述的动态资源多级缓存方法,所述网关服务器用于执行如权利要求6-7任一项所述的动态资源多级缓存方法。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的动态资源多级缓存方法,或是实现如权利要求6至7中任一项所述的动态资源多级缓存方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的动态资源多级缓存方法,或是执行如权利要求6至7任一项所述的动态资源多级缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110696227.4A CN113438302A (zh) | 2021-06-23 | 2021-06-23 | 动态资源多级缓存方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110696227.4A CN113438302A (zh) | 2021-06-23 | 2021-06-23 | 动态资源多级缓存方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113438302A true CN113438302A (zh) | 2021-09-24 |
Family
ID=77753437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110696227.4A Pending CN113438302A (zh) | 2021-06-23 | 2021-06-23 | 动态资源多级缓存方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438302A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114627599A (zh) * | 2022-03-10 | 2022-06-14 | 阿里巴巴(中国)有限公司 | Pos终端实现业务处理的方法和pos终端及服务端 |
CN114780267A (zh) * | 2022-06-21 | 2022-07-22 | 苏州万店掌网络科技有限公司 | 一种接口调用方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039713A1 (en) * | 2013-08-05 | 2015-02-05 | Phantom Technologies, Inc. | Content caching |
CN107193834A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 用于浏览页面的计算设备、装置及方法 |
CN108256014A (zh) * | 2018-01-05 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 页面展示方法及装置 |
CN110287432A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN112836152A (zh) * | 2019-11-22 | 2021-05-25 | 上海哔哩哔哩科技有限公司 | 页面渲染方法、系统、计算机设备及计算机可读存储介质 |
-
2021
- 2021-06-23 CN CN202110696227.4A patent/CN113438302A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039713A1 (en) * | 2013-08-05 | 2015-02-05 | Phantom Technologies, Inc. | Content caching |
CN107193834A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 用于浏览页面的计算设备、装置及方法 |
CN108256014A (zh) * | 2018-01-05 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 页面展示方法及装置 |
CN110287432A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN112836152A (zh) * | 2019-11-22 | 2021-05-25 | 上海哔哩哔哩科技有限公司 | 页面渲染方法、系统、计算机设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
吕浩勇等: "一种基于HTTP协议的动态Web资源缓存机制及实现", 《黄冈师范学院学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114627599A (zh) * | 2022-03-10 | 2022-06-14 | 阿里巴巴(中国)有限公司 | Pos终端实现业务处理的方法和pos终端及服务端 |
CN114780267A (zh) * | 2022-06-21 | 2022-07-22 | 苏州万店掌网络科技有限公司 | 一种接口调用方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110695B1 (en) | Key resource prefetching using front-end optimization (FEO) configuration | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
US10261938B1 (en) | Content preloading using predictive models | |
US9787795B2 (en) | System for prefetching digital tags | |
US9967361B2 (en) | Physical location influenced caching | |
CN104754073A (zh) | 一种资源访问方法及装置 | |
US10909104B2 (en) | Caching of updated network content portions | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN107391664A (zh) | 基于web的页面数据处理方法和系统 | |
CN109167840B (zh) | 一种任务推送方法、节点自治服务器及边缘缓存服务器 | |
CN107491320A (zh) | 基于混合模式移动应用的载入方法和装置 | |
CN103139278A (zh) | 一种网络资源预取并缓存加速的方法及其装置 | |
CN113438302A (zh) | 动态资源多级缓存方法、系统、计算机设备及存储介质 | |
CN105610909A (zh) | 一种基于云-端协同的移动浏览器资源加载优化方法 | |
CN103207882A (zh) | 店铺访问数据处理方法及系统 | |
CN105721538A (zh) | 数据访问的方法和装置 | |
CN110737857A (zh) | 一种后端分页加速方法、系统、终端及存储介质 | |
CN103916474A (zh) | 缓存时间的确定方法、装置及系统 | |
CN111294372B (zh) | 一种在代理服务器实现缓存的方法、装置及系统 | |
US11055223B2 (en) | Efficient cache warm up based on user requests | |
US20180302489A1 (en) | Architecture for proactively providing bundled content items to client devices | |
CN111273964B (zh) | 一种数据加载方法及装置 | |
US20220092144A1 (en) | Intelligent dynamic preloading | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN108846141B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210924 |
|
RJ01 | Rejection of invention patent application after publication |