CN114827271B - 一种多级缓存在线控制方法及相关装置 - Google Patents
一种多级缓存在线控制方法及相关装置 Download PDFInfo
- Publication number
- CN114827271B CN114827271B CN202210456862.XA CN202210456862A CN114827271B CN 114827271 B CN114827271 B CN 114827271B CN 202210456862 A CN202210456862 A CN 202210456862A CN 114827271 B CN114827271 B CN 114827271B
- Authority
- CN
- China
- Prior art keywords
- layer
- target webpage
- cache data
- server
- client
- 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 46
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 241000522213 Dichilus lebeckioides Species 0.000 description 1
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 241000722921 Tulipa gesneriana Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by 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]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种多级缓存在线控制方法及相关装置,其方法包括:客户端接收用户访问目标网页的访问请求;客户端根据访问请求判断本地是否存在目标网页的缓存数据;当客户端存在目标网页的缓存数据时,从客户端的本地获取目标网页;当客户端不存在目标网页的缓存数据时,客户端向服务器获取目标网页。通过对客户端本地进行缓存数据是否存在的判断,来实现对缓存数据从本地或者服务器的获取,通过缓存技术,提高响应速度,进而提高用户体验效果。
Description
技术领域
本发明涉及缓存控制技术领域,特别涉及一种多级缓存在线控制方法及相关装置。
背景技术
随着内容信息越来越复杂、用户数和访问量的越来越大、应用服务器和数据库服务器所做计算越来越多,导致应用需要支撑更多的并发量。但是,往往应用服务器资源是有限的,数据库每秒能接受的请求次数也是有限的(文件的读写也是有限的),一个有效的办法就是引入缓存,每个环节中请求可以从缓存中直接获取目标数据并返回,从而减少计算量,有效提升响应速度,让有限的资源服务更多的用户。
然而,技术领域并没有银弹,一个新技术的出现,则必然带来新的问题的产生,当缓存使用较多的情况下,在客户端、网络、服务器、代码层、数据库层等多处使用缓存后,则缓存技术的会带来了缓存一致性、缓存雪崩、缓存击穿、缓存失效后并发问题等,从而导致系统不可用,用户体验较差等一系列的问题,直到今天,这些问题对已对使用缓存的开发者造成困扰。
因此,本发明提出一种多级缓存在线控制方法及相关装置。
发明内容
本发明提供一种多级缓存在线控制方法及相关装置,用以解决上述提出的技术问题。
本发明提供一种多级缓存在线控制方法,包括:
客户端接收用户访问目标网页的访问请求;
所述客户端根据所述访问请求判断本地是否存在所述目标网页的缓存数据;
当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;
当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
优选的,所述客户端向服务器获取所述目标网页包括:
所述客户端向所述服务器发送所述访问请求;
所述服务器根据所述访问请求判断CDN层中是否存在所述目标网页的缓存数据;
当所述CDN层存在所述目标网页的缓存数据时,将所述缓存数据返回给所述客户端,触发执行从所述客户端的本地获取所述目标网页的步骤;
当所述CDN层不存在所述目标网页的缓存数据时,向所述服务器的WEB层获取所述目标网页。
优选的,向所述服务器的WEB层获取所述目标网页包括:
所述服务器获取所述访问请求所携带的统一资源定位符;
所述服务器根据所述统一资源定位符,检索所述WEB层是否存在所述目标网页的缓存数据;
当所述WEB层存在所述目标网页的缓存数据时,将所述缓存数据返回到所述CDN层,触发执行所述缓存数据返回给所述客户端的步骤;
当所述WEB层不存在所述目标网页的缓存数据时,向所述服务器的PHP-FPM层获取所述目标网页。
优选的,向所述服务器的PHP-FPM层获取所述目标网页包括:
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据;
当所述PHP-FPM层存在所述目标网页的缓存数据时,通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存,触发执行将所述缓存数据返回到所述CDN层的步骤;
当所述PHP-FPM层不存在所述目标网页的缓存数据时,向所述服务器的SOA总线/SOA服务层获取所述目标网页。
优选的,向所述服务器的SOA总线/SOA服务层获取所述目标网页包括:
所述服务器根据所述访问请求判断所述SOA总线/SOA服务层中是否存在所述目标网页的缓存数据;
当所述SOA总线/SOA服务层中存在所述目标网页的缓存数据时,请求SOA总线/SOA服务层获取所述缓存数据,并将所述缓存数据返回到所述PHP-FPM层,触发执行返回到WEB层进行缓存的步骤;
当所述SOA总线/SOA服务层中不存在所述目标网页的缓存数据时,向所述服务器的数据库层获取所述目标网页。
优选的,向所述服务器的数据库层获取所述目标网页包括:
所述服务器从所述数据库层获取所述缓存数据返回到所述SOA总线/SOA服务层,触发执行将所述缓存数据返回到所述PHP-FPM层的步骤。
本发明提供一种多级缓存在线控制装置,包括:
客户端,用于接收用户访问目标网页的访问请求;
所述客户端,还用于根据所述访问请求判断本地是否存在所述目标网页的缓存数据;当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行任一项所述方法的步骤。
本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行任一项所述方法的步骤。
本发明提供一种计算机执行程序,所述计算机程序产品在计算机上执行时,使得所述计算机执行任一项所述方法的步骤。
与现有技术相比,本发明的有益效果如下:
通过对客户端本地进行缓存数据是否存在的判断,来实现对缓存数据从本地或者服务器的获取,通过多级缓存技术,提高响应速度,进而提高用户体验效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种多级缓存在线控制方法的流程图;
图2为本发明实施例中一种多级缓存在线控制装置的结构图;
图3为本发明实施例中服务器中多级缓存流程图;
图4为本发明实施例中目标网页的具体多级缓存图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明提供一种多级缓存在线控制方法,如图1所示,包括:
步骤1:客户端接收用户访问目标网页的访问请求;
步骤2:所述客户端根据所述访问请求判断本地是否存在所述目标网页的缓存数据;
步骤3:当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;
步骤4:当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
该实施例中,客户端可以实施为:手机、电脑、笔记本等智能设备。
该实施例中,目标网页是指的用户需要访问的网页,比如,土巴兔、百度等。
该实施例中,访问请求指的是用户在客户端输入的访问指令,比如,是在浏览器的输入框输入“土巴兔”关键词,又或者是网址栏中中输入土巴兔网址,进行搜索,实现土巴兔网页的获取。
该实施例中,客户端的本地存储的目标网页指的是静态存储资源,也就是客户端本身就存储有该网页,也就是当判断客户端存在目标网页的缓存数据时,可以从本地直接调取得到目标网页,且缓存数据也就是对该目标网页的。
该实施例中,服务器指的是与客户端连接通信连接的数据库,也就是为了给访问请求提供可以获取的缓存数据,也就是当判定客户端不存在目标网页的缓存数据时,可以从与客户端建立通信连接的服务器中获取得到。
该实施例中,客户端向服务器获取目标网页时,是从服务器中的CDN层、WEB层、PHP-FPM层、SOA总线/SOA服务层以及数据库层中,获取到的。
该实施例中,如图3所示,首先访问CDN(Content Delivery Network,即内容分发网络)层,判断是否存在缓存数据,如果CDN层存在缓存数据,将缓存数据返回到客户端,如果CDN层不存在缓存数据,访问WEB(World Wide Web,即全球广域网)层判断是否存在缓存数据,如果WEB层存在缓存数据,将缓存数据返回到CDN层,如果WEB层不存在缓存数据,访问PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)层判断是否存在缓存数据,如果PHP-FPM层存在缓存数据,将缓存数据返回到WEB层,如果PHP-FPM层不存在缓存数据,访问SOA(Service-Oriented Architecture,即服务编程)总线/SOA服务层是否存在缓存数据,如果SOA总线/SOA服务层存在缓存数据,将缓存数据返回到PHP-FPM层,如果SOA总线/SOA服务层不存在缓存数据,访问数据库层,将数据库层中的缓存数据,返回到SOA总线/SOA服务层。
该实施例中,数据库层为MYSQL(关系型数据管理系统)数据服务。
上述技术方案的有益效果是:通过对客户端本地进行缓存数据是否存在的判断,来实现对缓存数据从本地或者服务器的获取,通过多级缓存技术,提高响应速度,进而提高用户体验效果。
实施例2:
基于实施例1的基础上,所述客户端向服务器获取所述目标网页包括:
所述客户端向所述服务器发送所述访问请求;
所述服务器根据所述访问请求判断CDN层中是否存在所述目标网页的缓存数据;
当所述CDN层存在所述目标网页的缓存数据时,将所述缓存数据返回给所述客户端,触发执行从所述客户端的本地获取所述目标网页的步骤;
当所述CDN层不存在所述目标网页的缓存数据时,向所述服务器的WEB层获取所述目标网页。
该实施例中,当不使用CDN层的时候,用户在访问网站的时候,浏览器将网站中的图片和静态资源文件保存到本地,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量,从而提高了页面加载的速度,使用CDN层后,浏览器访问服务器时先检查是否有本地缓存是否存在,如果不存在,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否存在,如果存在,则直接响应用户请求;如果数据不存在,那么CDN层还需要向WEB层发送访问请求,拉取缓存数据。
该实施例中,触发执行从客户端的本地获取目标网页的步骤,是指CDN层将缓存数据返回到客户端进行本地存储后,获取客户端本地的缓存数据得到目标网页。
该实施例中,CDN是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器(就近原则),更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
上述技术方案的有益效果是:当客户端不存在缓存数据时,判断CDN层是否存在,进而便于从服务器的CDN层的调取缓存数据,实现层级缓存,提高缓存效率,保证用户体验效果。
实施例3:
基于实施例2的基础上,向所述服务器的WEB层获取所述目标网页包括:
所述服务器获取所述访问请求所携带的统一资源定位符;
所述服务器根据所述统一资源定位符,检索所述WEB层是否存在所述目标网页的缓存数据;
当所述WEB层存在所述目标网页的缓存数据时,将所述缓存数据返回到所述CDN层,触发执行所述缓存数据返回给所述客户端的步骤;
当所述WEB层不存在所述目标网页的缓存数据时,向所述服务器的PHP-FPM层获取所述目标网页。
该实施例中,触发执行缓存数据返回给所述客户端的步骤,指的是WEB层将数据返回到CDN层进行存储,此时,CDN层中存在了缓存数据,进而,将CDN层中的缓存数据再次返回到客户端。
该实施例中,统一资源定位符URL,可以访问指定的网页上的程序类,比如是,针对访问请求中访问土巴兔的资源定位符,根据该定位符检索WEB层中是否存在对应的缓存数据。
该实施例中,比如:浏览器会缓存访问过网站的网页,当再次访问这个URL(统一资源定位符)地址的时候,如果网页没有更新,就不会再次下载网页,而是直接使用本地缓存的网页。
上述技术方案的有益效果是:通过从CDN层到WEB层的访问,来对WEB层中是否存在缓存数据的判断,实现与上一层级以及下一层级的联系,实现层级缓存,提高缓存效率。
实施例4:
基于实施例3的基础上,向所述服务器的PHP-FPM层获取所述目标网页包括:
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据;
当所述PHP-FPM层存在所述目标网页的缓存数据时,通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存,触发执行将所述缓存数据返回到所述CDN层的步骤;
当所述PHP-FPM层不存在所述目标网页的缓存数据时,向所述服务器的SOA总线/SOA服务层获取所述目标网页。
该实施例中,PHP-FPM即PHP-FastCGIProcessManager,包含master进程和worker进程两种;master进程只有一个,负责监听端口,接收来自服务器的请求,而worker进程则一般有多个(具体数量根据实际需要进行配置),每个进程内部都会嵌入一个PHP解释器,是代码真正执行的地方,也就是PHP代码请求获取缓存数据的地方。
该实施例中,nginx与php-fpm的通信有tcpsocket和unixsocket两种方式。
tcpsocket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时,只能使用这种方式。
Unixsocket又叫IPC(inter-processcommunication进程间通信)socket,用于实现同一主机上的进程间通信,这种方式需要在nginx配置文件中填写php-fpm的socket文件位置。
Nginx与php-fpm结合只需要在各自的配置文件中做设置,因此,可以节省响应时间,在将缓存数据返回到WEB层缓存时,也就是将数据返回到WEB层的Nginx缓存。
该实施例中,触发执行将缓存数据返回到CDN层的步骤,也就是从WEB层缓存得到缓存数据后,将缓存数据返回到CDN层,并进一步返回到客户端,也就是采用层级返回的方式,将获取的缓存数据最后返回到客户端,保证该层之前的其他层也具备该缓存数据,提高后续再次获取同个目标页面的响应效率。
上述技术方案的有益效果是:通过从WEB层到PHP-FPM层的访问,来对PHP-FPM层中是否存在缓存数据的判断,实现与上一层级以及下一层级的联系,实现层级缓存,提高缓存效率。
实施例5:
基于实施例4的基础上,向所述服务器的SOA总线/SOA服务层获取所述目标网页包括:
所述服务器根据所述访问请求判断所述SOA总线/SOA服务层中是否存在所述目标网页的缓存数据;
当所述SOA总线/SOA服务层中存在所述目标网页的缓存数据时,请求SOA总线/SOA服务层获取所述缓存数据,并将所述缓存数据返回到所述PHP-FPM层,触发执行返回到WEB层进行缓存的步骤;
当所述SOA总线/SOA服务层中不存在所述目标网页的缓存数据时,向所述服务器的数据库层获取所述目标网页。
该实施例中,当PHP-FPM层中不存在缓存数据时,会存在php代码opcode缓存,可以提高代码编译的速度,逻辑执行更快;在php层依然可以使用redis缓存对数据内容进行缓存,此时,会从SOA总线/SOA服务层中的SOA总线获取缓存数据,来将缓存数据返回到PHP-FPM层中的PHP代码层,在命中代码缓存的基础上,将数据返回到WEB层的Nginx缓存。
该实施例中,触发执行返回到WEB层进行缓存的步骤,也就是在SOA总线/SOA服务层获取缓存数据之后,会返回到PHP-FPM层,此时,由PHP-FPM层将缓存数据再次返回到WEB层缓存。
上述技术方案的有益效果是:通过从PHP-FPM层到SOA总线/SOA服务层的访问,来对SOA总线/SOA服务层中是否存在缓存数据的判断,实现与上一层级以及下一层级的联系,实现层级缓存,提高缓存效率。
实施例6:
基于实施例5的基础上,向所述服务器的数据库层获取所述目标网页包括:
所述服务器从所述数据库层获取所述缓存数据返回到所述SOA总线/SOA服务层,触发执行将所述缓存数据返回到所述PHP-FPM层的步骤。
该实施例中,数据库层中,mysql查询较多的时候查询会有一定的查询缓存,当缓存数据不存在时会直接从数据库查询数据,也就是客户端的缓存资源<CDN层的缓存资源<WEB层的缓存资源<PHP-FPM层的缓存资源<SOA总线/SOA服务层的缓存资源<数据库层的缓存资源。
该实施例中,触发执行将缓存数据返回到PHP-FPM层的步骤,也就是由SOA总线/SOA服务层获取数据库层的缓存数据,并返回到PHP-FPM层,再由PHP-FPM层执行将数据返回到WEB层的操作。
上述技术方案的有益效果是:通过从SOA总线/SOA服务层到数据库层的访问,实现最后一层与上一层级的联系,实现层级缓存,提高缓存效率。
本发明提供一种多级缓存在线控制装置,如图2所示,包括:
客户端,用于接收用户访问目标网页的访问请求;
所述客户端,还用于根据所述访问请求判断本地是否存在所述目标网页的缓存数据;当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
针对具体的获取目标网页的结构,如图4所示。
上述技术方案的有益效果是:通过对客户端本地进行缓存数据是否存在的判断,来实现对缓存数据从本地或者服务器的获取,通过缓存技术,提高响应速度,进而提高用户体验效果。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
步骤1:客户端接收用户访问目标网页的访问请求;
步骤2:所述客户端根据所述访问请求判断本地是否存在所述目标网页的缓存数据;
步骤3:当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;
步骤4:当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
步骤1:客户端接收用户访问目标网页的访问请求;
步骤2:所述客户端根据所述访问请求判断本地是否存在所述目标网页的缓存数据;
步骤3:当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;
步骤4:当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (6)
1.一种多级缓存在线控制方法,其特征在于,包括:
客户端接收用户访问目标网页的访问请求;
所述客户端根据所述访问请求判断本地是否存在所述目标网页的缓存数据;
当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;
当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页;
所述客户端向服务器获取所述目标网页包括:
所述客户端向所述服务器发送所述访问请求;
所述服务器根据所述访问请求判断CDN层中是否存在所述目标网页的缓存数据;
当所述CDN层存在所述目标网页的缓存数据时,将所述缓存数据返回给所述客户端,触发执行从所述客户端的本地获取所述目标网页的步骤;
当所述CDN层不存在所述目标网页的缓存数据时,向所述服务器的WEB层获取所述目标网页;
向所述服务器的WEB层获取所述目标网页包括:
所述服务器获取所述访问请求所携带的统一资源定位符;
所述服务器根据所述统一资源定位符,检索所述WEB层是否存在所述目标网页的缓存数据;
当所述WEB层存在所述目标网页的缓存数据时,将所述缓存数据返回到所述CDN层,触发执行所述缓存数据返回给所述客户端的步骤;
当所述WEB层不存在所述目标网页的缓存数据时,向所述服务器的PHP-FPM层获取所述目标网页;
向所述服务器的PHP-FPM层获取所述目标网页包括:
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据;
当所述PHP-FPM层存在所述目标网页的缓存数据时,通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存,触发执行将所述缓存数据返回到所述CDN层的步骤;
当所述PHP-FPM层不存在所述目标网页的缓存数据时,向所述服务器的SOA总线/SOA服务层获取所述目标网页;
所述PHP-FPM层包含:master进程和worker进程;
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据包括:
所述master进程根据所述访问请求判断所述worker进程中是否存在所述目标网页的缓存数据;
通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存包括:
通过PHP代码请求获取所述缓存数据并返回到所述WEB层的Nginx缓存进行缓存。
2.如权利要求1所述的多级缓存在线控制方法,其特征在于,向所述服务器的SOA总线/SOA服务层获取所述目标网页包括:
所述服务器根据所述访问请求判断所述SOA总线/SOA服务层中是否存在所述目标网页的缓存数据;
当所述SOA总线/SOA服务层中存在所述目标网页的缓存数据时,请求SOA总线/SOA服务层获取所述缓存数据,并将所述缓存数据返回到所述PHP-FPM层,触发执行返回到WEB层进行缓存的步骤;
当所述SOA总线/SOA服务层中不存在所述目标网页的缓存数据时,向所述服务器的数据库层获取所述目标网页。
3.如权利要求2所述的多级缓存在线控制方法,其特征在于,向所述服务器的数据库层获取所述目标网页包括:
所述服务器从所述数据库层获取所述缓存数据返回到所述SOA总线/SOA服务层,触发执行将所述缓存数据返回到所述PHP-FPM层的步骤。
4.一种多级缓存在线控制装置,其特征在于,包括:
客户端,用于接收用户访问目标网页的访问请求;
所述客户端,还用于根据所述访问请求判断本地是否存在所述目标网页的缓存数据;当所述客户端存在所述目标网页的缓存数据时,从所述客户端的本地获取所述目标网页;当所述客户端不存在所述目标网页的缓存数据时,所述客户端向服务器获取所述目标网页;
所述客户端向服务器获取所述目标网页时,具体用于:
所述客户端向所述服务器发送所述访问请求;
所述服务器根据所述访问请求判断CDN层中是否存在所述目标网页的缓存数据;
当所述CDN层存在所述目标网页的缓存数据时,将所述缓存数据返回给所述客户端,触发执行从所述客户端的本地获取所述目标网页的步骤;
当所述CDN层不存在所述目标网页的缓存数据时,向所述服务器的WEB层获取所述目标网页;
向所述服务器的WEB层获取所述目标网页时,具体用于:
所述服务器获取所述访问请求所携带的统一资源定位符;
所述服务器根据所述统一资源定位符,检索所述WEB层是否存在所述目标网页的缓存数据;
当所述WEB层存在所述目标网页的缓存数据时,将所述缓存数据返回到所述CDN层,触发执行所述缓存数据返回给所述客户端的步骤;
当所述WEB层不存在所述目标网页的缓存数据时,向所述服务器的PHP-FPM层获取所述目标网页;
向所述服务器的PHP-FPM层获取所述目标网页时,具体用于:
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据;
当所述PHP-FPM层存在所述目标网页的缓存数据时,通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存,触发执行将所述缓存数据返回到所述CDN层的步骤;
当所述PHP-FPM层不存在所述目标网页的缓存数据时,向所述服务器的SOA总线/SOA服务层获取所述目标网页;
所述PHP-FPM层包含:master进程和worker进程;
所述服务器根据所述访问请求判断PHP-FPM层中是否存在所述目标网页的缓存数据时,具体用于:
所述master进程根据所述访问请求判断所述worker进程中是否存在所述目标网页的缓存数据;
通过PHP代码请求获取所述缓存数据并返回到WEB层进行缓存时,具体用于:
通过PHP代码请求获取所述缓存数据并返回到所述WEB层的Nginx缓存进行缓存。
5.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至3中任一项所述方法的步骤。
6.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210456862.XA CN114827271B (zh) | 2022-04-26 | 2022-04-26 | 一种多级缓存在线控制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210456862.XA CN114827271B (zh) | 2022-04-26 | 2022-04-26 | 一种多级缓存在线控制方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827271A CN114827271A (zh) | 2022-07-29 |
CN114827271B true CN114827271B (zh) | 2024-05-03 |
Family
ID=82509320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210456862.XA Active CN114827271B (zh) | 2022-04-26 | 2022-04-26 | 一种多级缓存在线控制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827271B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116208668A (zh) * | 2023-05-05 | 2023-06-02 | 北京零壹视界科技有限公司 | 基于内容分发网络的数据缓存方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188293A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种移动终端访问网页的方法及系统 |
CN105930538A (zh) * | 2016-06-27 | 2016-09-07 | 北京奇虎科技有限公司 | 一种网页访问请求处理方法和服务器 |
CN107291913A (zh) * | 2017-06-27 | 2017-10-24 | 武汉斗鱼网络科技有限公司 | 超文本标记语言网页加载方法及装置 |
-
2022
- 2022-04-26 CN CN202210456862.XA patent/CN114827271B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188293A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种移动终端访问网页的方法及系统 |
CN105930538A (zh) * | 2016-06-27 | 2016-09-07 | 北京奇虎科技有限公司 | 一种网页访问请求处理方法和服务器 |
CN107291913A (zh) * | 2017-06-27 | 2017-10-24 | 武汉斗鱼网络科技有限公司 | 超文本标记语言网页加载方法及装置 |
Non-Patent Citations (1)
Title |
---|
缓存解决应用的扩展性初探;恽志强;韦伟;;电脑知识与技术(27);第241-242页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114827271A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073405B (zh) | 网页数据加载方法、装置、计算机设备及存储介质 | |
US20180285470A1 (en) | A Mobile Web Cache Optimization Method Based on HTML5 Application Caching | |
US10042948B2 (en) | Identifying correlated components of dynamic content | |
US20120233199A1 (en) | Intelligent Web Caching | |
KR101962301B1 (ko) | 구조화 문서의 페이지렛의 캐싱 | |
US9021087B1 (en) | Method to improve caching accuracy by using snapshot technology | |
CN108959384B (zh) | 网页数据获取方法、装置、计算机设备和存储介质 | |
CN104714965A (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
WO2022057231A1 (zh) | 访问服务器的方法、装置、设备及存储介质 | |
CN114827271B (zh) | 一种多级缓存在线控制方法及相关装置 | |
CN103152367A (zh) | 一种缓存的动态维护更新方法及系统 | |
CN108897788A (zh) | 数据爬取方法、装置、计算机设备及存储介质 | |
CN109634753B (zh) | 切换浏览器内核的数据处理方法、装置、终端和存储介质 | |
CN111191158A (zh) | 网页资源缓存方法、装置、计算机设备和存储介质 | |
CN109800370A (zh) | 网页页面的显示方法、装置、计算机设备及存储介质 | |
CN113282354B (zh) | 应用程序的h5页面加载方法、装置、设备及存储介质 | |
CN113330432A (zh) | 搜索结果中列出的内容的异步预测性缓存 | |
CN112433784A (zh) | 页面加载方法、装置、设备和存储介质 | |
CN111767053A (zh) | 一种前端页面数据获取方法及装置 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
CN113449216A (zh) | 一种文件处理方法、装置及存储介质 | |
CN115357779A (zh) | 一种数据处理方法、装置、系统、电子设备及存储介质 | |
CN102333123A (zh) | 文件存储方法、设备、查找方法、设备和网络设备 | |
WO2023272858A1 (zh) | 页面资源的缓存方法、装置、设备及介质 | |
CN113535199A (zh) | 基于WebApp的网站更新方法、系统和存储介质 |
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 |