掌桥专利:专业的专利平台
掌桥专利
首页

静态资源处理方法、装置、设备和存储介质

文献发布时间:2024-01-17 01:15:20


静态资源处理方法、装置、设备和存储介质

技术领域

本申请涉及互联网技术领域,尤其涉及一种静态资源处理方法、装置、设备和存储介质。

背景技术

随着网络技术的巨大进展和网络上展现形式的不断丰富,网页页面中所使用的静态资源越来越多,页面中静态资源的内存占用也越来越大,例如使用了更多的高清图片和短视频等作为首屏静态资源等,对网页页面的加载速度提出了更高的要求。目前终端从云服务端获取静态资源后,通常将其存储在终端缓存,来提高资源加载速度,但终端缓存空间有限,并且由于web客户端的固有设置,终端缓存中的静态资源通常被设置很短的过期时间,因此需要频繁向云服务端发送资源请求,以判断终端缓存是否过期,对网络环境具有较高要求,只适用于互联网环境中。并且,在每次发送资源请求后,云服务端均需要根据资源请求遍历对应的静态资源数据,资源请求响应效率和资源加载效率低下。因此,需要提供一种改进的静态资源处理方案,以解决相关技术中存在的问题。

发明内容

本申请提供了一种静态资源处理方法、装置和存储介质,可以有效提高资源加载请求的响应速度和资源加载效率。

一方面,本申请提供了一种静态资源处理方法,所述方法包括:

响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找所述目标静态资源信息对应的报文头信息;

在未查找到所述对应的报文头信息的情况下,向云服务端发送所述资源加载请求;

根据所述目标静态资源信息和所述资源响应信息生成目标报文头信息;

将所述目标报文头信息存储至所述信息缓存区中,并将所述目标静态资源存储至静态资源数据库中,其中,所述目标报文头信息与所述目标静态资源关联存储;

将所述目标静态资源发送至所述终端。

另一方面提供了一种静态资源处理装置,所述装置包括:

信息查找模块:用于响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找所述目标静态资源信息对应的报文头信息;请求发送模块:用于在未查找到所述对应的报文头信息的情况下,向云服务端发送所述资源加载请求;

响应信息接收模块:用于接收所述云服务端响应于所述资源加载请求发送的、携带有与所述目标静态资源信息对应的目标静态资源的资源响应信息;;

报文头信息生成模块:用于根据所述目标静态资源信息和所述资源响应信息生成目标报文头信息;

资源存储模块:用于将所述目标报文头信息存储至所述信息缓存区中,并将所述目标静态资源存储至静态资源数据库中,其中,所述目标报文头信息与所述目标静态资源关联存储;

资源反馈模块:用于将所述目标静态资源发送至所述终端。

另一方面提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的静态资源处理方法。

另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的静态资源处理方法。

另一方面提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的静态资源处理方法。

另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令被处理器执行时实现如上述的静态资源处理方法。

本申请提供的静态资源处理方法、装置、设备、存储介质、服务器和计算机程序产品,具有如下技术效果:

本申请响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找目标静态资源信息对应的报文头信息;在未查找到对应的报文头信息的情况下,向云服务端发送资源加载请求;根据目标静态资源信息和资源响应信息生成目标报文头信息;将目标报文头信息存储至信息缓存区中,并将目标静态资源存储至静态资源数据库中,其中,目标报文头信息与目标静态资源关联存储;将目标静态资源发送至终端。通过生成报文头信息,以及将报文头信息存储至信息缓存区,并将对应的静态资源进行关联存储,能够直接通过匹配报文头信息来实现静态资源的读取,无需遍历数据库中的已存静态资源,提高资源加载请求的响应速度,进而提高资源加载效率。此外,通过本地服务端对静态资源进行备份和关联存储,在外网较弱或故障的情况下,实现页面静态资源的无障碍加载。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本申请实施例提供的一种应用环境的示意图;

图2是本申请实施例提供的一种静态资源处理方法的流程示意图;

图3是本申请实施例提供的一个静态资源处理系统的框架示意图;

图4是本申请实施例提供的另一种静态资源处理方法的流程示意图;

图5是本申请实施例提供的另一种静态资源处理方法的流程示意图;

图6是本申请实施例提供的另一种静态资源处理方法的流程示意图;

图7是本申请实施例提供的一种静态资源处理流程示意图;

图8是本申请实施例提供一种静态资源处理装置的框架示意图;

图9是本申请实施例提供的一种静态资源处理方法的电子设备的硬件结构框图;

图10是本申请实施例提供的一个区块链系统的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或子模块的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或子模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或子模块。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

HTTP(Hyper Text Transfer Protocol,超文本传输协议):是一个请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

Header:HTTP协议的头部信息。

Static:HTTP服务器的静态文件服务

Redis:Redis(Remote Dictionary Server),即远程字典服务,是一个key-value存储系统。

COS:Cloud Object Storage,云对象存储。

CDN:Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

Mem:本地内存。

Memcache:是一套分布式的高速缓存系统。

请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以至少包括终端01、本地服务端02和云服务端03。在实际应用中,终端01、本地服务端02以及云服务端03间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

本申请实施例中,本地服务端02和云服务端03所涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

具体的,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。其中,人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。

具体地,上述涉及的服务器可以包括实体设备,可以具体包括有网络通信子模块、处理器和存储器等等,也可以包括运行于实体设备中的软体,可以具体包括有应用程序等。

本申请实施例中,终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能语音交互设备、智能家电、智能可穿戴设备、车载终端设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。

本申请实施例中,终端01可以用于向本地服务端02发送携带有目标静态资源信息的资源加载请求,本地服务端02可以用于提供静态资源处理服务,包括响应于该资源加载请求在信息缓存区中,查找目标静态资源信息对应的报文头信息,进而根据查找结果进行对应的静态资源处理操作;以及提供静态资源的存储服务和更新服务等。云服务端03可以用于提供静态资源的存储服务,在接收到本地服务端02转发的资源加载请求的情况下,向本地服务端02发送对应的目标静态资源,以及在接收到本地服务端02发送的资源更新请求的情况下,向本地服务端02发送对应的更新静态资源。

此外,可以理解的是,图1所示的仅仅是一种静态资源处理方法的应用环境,该应用环境可以包括更多或更少的节点,本申请在此不做限制。

本申请实施例涉及的应用环境,或应用环境中的本地服务端02或云服务端03的服务器,以及终端01,可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。分布式系统可以为区块链系统,该区块链系统可以提供上述的静态资源处理服务和静态数据存储服务等。

参见图10,图10是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。

其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新兴应用模式,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监测网络情况、监测节点设备健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。

以下基于上述应用环境介绍本申请的本地服务端,请参考图3,图3示出了一种本申请实施例提供的本地服务端的架构示意图。该本地服务端02与终端01通过局域网通信连接,本地服务端02和云服务端03可以通过广域网通信连接。终端01上运行有web客户端,web客户端基于页面加载需求向本地服务端02发送资源加载请求;本地服务端02中设有信息缓存区和静态资源数据库,信息缓存区用于存储静态资源的报文头信息,静态资源数据库用于备份存储云服务端发送的静态资源,并提供静态资源的更新服务。云服务端03存储有终端页面加载所需的静态资源,并向本地服务端提供更新静态资源。在一些情况下,信息缓存区可以基于本地Mem缓存或Memcache等构建,静态资源数据库可以基于Redis等构建,云服务端可以基于COS构建。

以下基于上述应用环境和系统介绍本申请的一种静态资源处理方法,应用于本地服务端,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。请参考图2,图2是本申请实施例提供的一种静态资源处理方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,方法可以包括下述步骤。

S201:响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找所述目标静态资源信息对应的报文头信息;

本申请实施例中,静态资源指静态的文件,如web中的图片、样式文件(css文件)、音频文件、视频文件和java script文件等。静态资源信息可以携带于资源加载请求的请求头中,目标静态资源信息可以包括目标资源标识,例如静态资源名或静态资源ID等。具体的,资源加载请求可以为HTTP请求。

本申请实施例中,终端可以运行有web客户端等具有页面加载需求的应用程序,终端可以接收客户端访问者提交的页面显示触发操作,以生成对应的页面加载请求,进而在确定页面所需的静态资源后,基于对应的静态资源信息生成资源加载请求,并发送至本地服务端。本地服务端对接收到的资源加载请求进行解析处理,得到静态资源信息和其它相关信息。

具体的,终端设有终端缓存,用于缓存页面的静态资源,例如web客户端在终端中具有对应的web缓存。在终端初次加载某一页面的情况下,终端缓存中不存在该页面的静态资源,需要向本地服务端发送对应的资源加载请求,以获取静态资源,并将该静态资源、静态资源信息和其它相关信息存储至终端缓存。其它相关信息可以包括静态资源的生命周期信息等,如Expires与max-age头信息。在终端再次加载该页面时,终端根据生命周期信息判断缓存的静态资源是否过期,若未过期,则直接加载静态资源,若已过期,则需向本地服务端再次发送资源加载请求,以触发本地服务端进行静态资源的处理流程。

在实际应用中,本地服务端可以与多个终端通过局域网通信连接,不同终端可以向局域网发送携带相同的静态资源信息的资源加载请求。初始化状态下,本地服务端的信息缓存区和静态资源数据库中未存储相应的报文头信息和静态资源,即在初次接收到终端发送的某一静态资源对应的资源加载请求的情况下,触发静态资源的下载操作,即将资源加载请求转发至云服务端,以从云服务端获取对应的静态资源,并对其进行备份存储,以及反馈至终端。即,在某静态资源对应的资源加载请求是初次发送至本地服务端的情况下,本地服务端不存在该静态资源及相应的报文头信息,在初次获取到静态资源后,在信息缓存区中生成对应的报文头信息,并将静态资源关联存储至静态资源数据库中。

在实际应用中,信息缓存区中的报文头信息与静态资源数据库中的静态资源关联存储。报文头信息中包括对应静态资源的静态资源信息,或者报文头信息与静态资源信息关联存储,如以键值对(key-value)实现关联存储,其中,键(key)为静态资源信息,值(value)为报文头信息。具体的,还可以是与静态资源标识关联存储,即键为静态资源标识。具体的,本地服务端在接收到资源加载请求后,基于目标静态资源信息在信息缓存区中进行报文头信息查找,将目标静态资源信息与信息存储区中的各报文头信息对应的静态资源信息进行匹配处理,若未匹配到对应的报文头信息,则确定静态资源数据库中不存在资源加载请求所请求的静态资源,即为初次接收到该静态资源的加载请求,需从云服务端获取该静态资源,进而触发资源加载请求的转发。具体的,报文头信息的格式可以为HTTP报文头格式。

S203:在未查找到所述对应的报文头信息的情况下,向云服务端发送资源加载请求。

具体的,云服务端响应于资源加载请求,在云服务端存储的静态资源中查找与目标静态资源信息对应的目标静态资源,并生成携带该资源的资源响应信息,发送至本地服务端。

S205:接收云服务端响应于所述资源加载请求发送的、携带有与所述目标静态资源信息对应的目标静态资源的资源响应信息。

S207:根据目标静态资源信息和资源响应信息生成目标报文头信息。

本申请实施例中,资源响应信息的响应头中可以包括目标静态资源的更新时间信息和校验标识等,目标静态资源信息还可以包括目标静态资源的资源类型信息等。本地服务端在得到资源响应信息后,对其进行解析处理,以得到上述信息,进而生成包括上述信息的目标报文头信息。

S209:将目标报文头信息存储至信息缓存区中,并将目标静态资源存储至静态资源数据库中,其中,目标报文头信息与目标静态资源关联存储。

本申请实施例中,建立目标报文头信息与目标静态资源间的关联关系,并将其关联存储,目标报文头信息存储于信息缓存区中,目标静态资源存储于静态资源数据库中。在再次接收到任一终端发送的携带有该目标静态资源信息的资源加载请求的情况下,即使发起请求的终端为初次发送该资源加载请求,本地服务端依然能够根据目标静态资源信息从信息缓存区中直接匹配到对应的报文头信息,进而确定存在关联的目标静态资源,无需重新触发从云服务端下载目标静态资源的流程。

在实际应用中,目标报文头信息包括缓存验证信息。相应的,S207可以包括下述步骤。

S2071:从资源响应信息的响应头中获取目标静态资源的更新时间信息和校验标识。

S2072:根据更新时间信息和校验标识生成目标报文头信息中的缓存验证信息。

在一些实施例中,对资源响应信息进行解析处理后,从响应头中获取目标静态资源的更新时间信息和校验标识。具体的,更新时间信息表征目标静态资源的最近更新时间,例如为响应头中携带的Last-Modified信息。校验标识为目标静态资源的唯一标识,不同的静态资源以及同一静态资源的不同版本,对应的校验标识互不相同,该校验标识可以为散列值等,例如可以为响应头中携带的Etag信息。根据该更新时间信息和校验标识生成缓存验证信息。

在一些实施例中,目标静态资源信息包括资源类型信息;相应的,将目标报文头信息存储至信息缓存区中可以包括下述步骤。

S2091:根据资源类型信息生成目标报文头信息对应的存储类型信息。

S2092:根据存储类型信息,将目标报文头信息存储至信息缓存区中对应的类型分类中。

具体的,资源类型信息表征目标静态资源的数据类型,数据类型可以包括但不限于静态图片数据和模型文件等,静态图片数据可以例如为jpg或png等,模型文件可以例如为b3dm(Batched 3D Model,批量化3d模型)或CAD(Computer Aided Design,计算机辅助设计)等。资源加载请求的请求头所携带的目标静态资源信息中,可以包括资源类型信息的字段,或者也可以是基于静态资源标识的后缀名来确定其资源类型信息,如.jpg等。

在一些实施例中,信息缓存区中可以基于静态资源的资源类型分类存储不同类型静态资源的报文头信息。相应的,在得到目标静态资源的资源类型信息后,生成对应的存储类型信息,表征目标静态资源的类型分类,可以是在目标报文头信息正文中生成对应的存储类型字段,也可以是建立存储类型信息,与目标报文头信息和/或目标静态资源信息间的关联关系,如将存储类型信息和目标静态资源标识作为目标报文头信息的key,在该情况下,存储类型信息可以为后缀名或类型标识码等。信息缓存区中可以根据该存储类型信息实现报文头信息的分类存储,以将同一资源类型静态资源对应的报文头信息存储至同一类型分类中。具体的,同一类型分类可以对应同一缓存分区,例如,将图像类型的报文头信息存储至同一缓存分区。

相应的,在关联的静态资源存储时,无需再对静态资源进行分类存储,对不同资源类型的静态资源,如图片、模型文件或视频文件等,不需要采用不同的存储处理方式,只需建立其与报文头信息间的关联关系,即能够实现静态资源的快速存取,降低数据处理和系统的复杂度。可以理解的,报文头信息的数据大小远小于静态资源,通过对报文头信息的分类存储,再次接收到该目标静态资源的资源加载请求时,能够直接根据请求中携带的资源类型信息与信息缓存区中的存储类型信息进行匹配,进而从对应的类型分类中获取目标资源标识对应的目标静态资源,而无需在静态资源数据库中根据数据扩展名来读取数据,也不需要根据数据扩展名对静态资源进行分区存储,显著提高静态资源的存取效率,降低存取过程中的资源占用。

S211:将目标静态资源发送至终端。

本申请实施例中,在从云服务端获取目标静态资源后,对其进行备份存储的同时,将其反馈至终端,以使终端对目标静态资源进行加载和显示处理。

综上,基于上述技术方案,能够直接通过匹配报文头信息来实现静态资源的读取,无需遍历数据库中的已存静态资源,提高资源加载请求的响应速度,进而提高资源加载效率。此外,通过本地服务端对静态资源进行备份和关联存储,在外网较弱或故障的情况下,实现页面静态资源的无障碍加载。

本申请实施例中,资源加载请求还携带有终端缓存中对应的静态资源的资源缓存验证信息;请参考图4,方法还可以包括下述步骤。

S213:在查找到对应的报文头信息的情况下,从对应的报文头信息中获取当前缓存验证信息。

S215:在资源缓存验证信息与当前缓存验证信息匹配的情况下,向终端反馈资源有效信息,以使终端对终端缓存中对应的静态资源进行加载。

具体的,资源缓存验证信息为本地服务端向终端反馈静态资源对应的响应信息中所携带的,资源缓存验证信息可以包括前述的更新时间信息和校验标识。可以理解的,终端初次发送静态资源对应的资源加载请求的情况下,该资源加载请求不包含资源缓存验证信息,在不是初次发送的情况下,资源加载请求携带资源缓存验证信息。具体的,当前缓存验证信息为目标静态资源当前的报文头信息中所包含的缓存验证信息。具体的,资源有效信息用于指示终端缓存中与资源加载请求对应的静态资源未过期,可以为反馈码等,如304。终端在接收到资源有效信息后,更新终端缓存中静态资源的生命周期信息(如max-age信息),以将该静态资源更新为未过期资源。

在实际应用中,若信息缓存区中存在与目标静态资源信息匹配的报文头信息,则该资源加载请求不是本地服务端初次接收到该静态资源对应的加载请求,即静态资源数据库中已存储有该目标静态资源。需要说明的是,本地服务端与多个终端进行通信连接,不同的终端可以运行有相同的客户端,如相同的web客户端,即不同终端会向本地服务端发送相同静态资源对应的资源加载请求,本申请的本地服务端在初次接收到一静态资源的资源加载请求,并从云服务端下载该静态资源后,将其与生成的报文头信息进行关联存储,当再次接收到任一终端发送的同一静态资源对应的资源加载请求时,仅根据静态资源信息进行报文头信息的匹配,而不受客户端信息或客户端使用者信息的限制,无需重复下载静态资源,避免存储资源浪费和响应延迟,实现了静态资源的高效加载。

在一些情况下,若匹配到报文头信息,则直接向终端反馈资源有效信息,以使终端确定终端缓存中对应的静态资源未过期,为有效资源,并对其进行加载。如此,默认本地服务端的中的静态资源为长效资源,无需改变web客户端的设置或源代码,仅通过本地服务端进行数据语义修改,实现终端缓存中静态资源的长效性,避免静态资源的重复下载,优化局域网环境下的资源加载过程,显著提高资源加载效率。

在一些情况下,本地服务端的静态资源可能存在被更新的情况,则在资源加载请求中携带资源缓存验证信息的情况下,将其与对应的当前缓存验证信息进行匹配,具体可以为判断二者是否一致,如二者的更新时间信息和校验标识是否一致,若二者匹配,确定本地服务端中该静态资源未更新,则反馈资源有效信息。

进一步的,请参考图5,方法还包括下述步骤。

S217:在资源缓存验证信息与当前缓存验证信息不匹配的情况下,从静态资源数据库中,获取与对应的报文头信息关联的更新静态资源。

S219:将更新静态资源发送至终端,以使终端对更新静态资源进行加载。

进一步地,若资源缓存验证信息与当前缓存验证信息不匹配,如二者的更新时间信息和校验标识中的任一项不一致,则确定该静态资源已更新,基于对应的报文信息从静态资源数据库中获取关联的更新静态资源,并反馈至终端。终端对该更新静态资源进行加载处理,并将终端缓存中对应的静态资源更新为该更新静态资源。

如此,直接根据报文头信息即可确定是否存在资源更新,而无需在获取静态资源后再进行更新判断,提高资源获取效率。

基于上述部分或全部实施方式,本申请实施例中,请参考图6,方法还可以包括下述静态资源的更新步骤。

S301:确定待更新的静态资源的报文头信息。

具体的,静态资源的更新可以由客户端访问者提交的更新操作触发,如客户端访问者通过终端界面上的资源更新控件提交更新操作;或者也可以由维护人员通过管理客户端提交更新操作,以触发静态资源的更新;或者还可以由监测工具周期性的、基于静态资源的更新时间信息触发静态资源的更新,相应的,报文头信息中还包括静态资源的更新时间信息;在S301之前,方法还可以包括下述步骤。

S401:周期性的从信息缓存区的报文头信息中,获取静态资源数据库中各静态资源的更新时间信息。

S403:将满足预设更新条件的更新时间信息所对应的报文头信息,确定为待更新的静态资源的报文头信息。

具体的,利用监测工具周期性获取已存储的各静态资源各自的更新时间信息,根据更新时间信息和当前时间信息确定各静态资源各自的存储时长,相应的,满足预设更新条件可以为静态资源的存储时长大于等于预设时长(如1天)。在确定满足预设更新条件的更新时间信息后,将其所属的报文头信息确定为待更新的静态资源的报文头信息。

S303:根据待更新的静态资源的报文头信息删除关联的静态资源,并生成对应的资源更新请求。

具体的,基于确定的报文头信息,从静态资源数据库中查找到关联的待更新的静态资源,并对其进行删除处理,以及生成携带有对应的静态资源信息的资源更新请求。

S305:向云服务端发送资源更新请求,以使云服务端响应于资源更新请求发送对应的更新静态资源和更新缓存验证信息。

S307:基于更新缓存验证信息对待更新的静态资源的报文头信息进行更新,得到更新报文头信息。

S309:建立更新静态资源与更新报文头信息间的关联关系;

S311:将更新静态资源关联存储至静态资源数据库中。

具体的,云服务端接收到资源更新请求后,将其携带的静态资源信息所对应的静态资源数据确定为更新静态资源,将该静态资源的缓存验证信息确定为对应的更新缓存验证信息,并将其反馈至本地服务端。本地服务端接收到更新静态资源和更新缓存验证信息后,对待更新的静态资源的报文头信息中的缓存验证信息进行更新,将其替换为更新缓存验证信息,得到更新报文头信息,并将更新静态资源与更新报文头信息关联存储,其存储过程与前述S209相类似。

如此,利用本地服务端实现静态资源的主动更新,避免在终端发送资源更新请求后再触发静态资源的更新操作,降低数据流转的复杂度,提高资源反馈效率。

基于上述部分或全部实施方式,在一些实施例中,终端所需展示的页面中需加载多个图像,其中一些图像可能属于同于页面模块,如属于页面首屏的同一标题栏中。相应的,将目标静态资源存储至静态资源数据库中可以包括下述步骤。

S401:在目标静态资源包括多个图像数据的情况下,获取多个图像数据的页面模块归属信息和位置信息。

S403:根据页面模块归属信息,从多个图像数据中确定属于同一页面模块的图像数据。

S405:基于位置信息对属于同一页面模块的图像数据进行图像合并处理,得到对应的合并图像。

S407:利用合并图像对属于同一页面模块的图像数据进行替换处理,得到替换后的目标静态资源。

S409:将替换后的目标静态资源存储至静态资源数据库中。

可以理解的,页面模块可以基于实际需求设置,如物品展示页面的搜索标题栏为一个页面模块。具体的,图像数据的页面模块归属信息和位置信息可以是资源加载请求中携带的,也可以是本地服务端在初次获取到目标静态资源,并确定目标静态资源中存在多个图像数据后,向终端发送图像信息获取请求,终端响应于该图像信息获取请求反馈至本地服务端的。

具体的,根据该信息确定多个图像数据中每个图像数据所属的页面模块,以及其位置信息,基于位置信息确定属于同一页面模块的各图像间的相对位置关系,基于该相对位置关系对同一页面模块的图像进行合并处理,得到该页面模块对应的合并图像,以及标记合并图像的更新位置信息。进而将目标静态资源中属于该页面模块的图像数据进行替换,将替换后的目标静态资源、静态资源信息和资源类型信息进行关联存储。如此,能够减少图像数据的请求和传输次数,有效提高数据传输效率,降低资源占用。示例性的,可以利用CSS-SPIRIT方式进行图像合并处理。

需要说明的是,在局域网场景下,本地服务端与终端间传输静态资源的过程中,无需进行数据的加解密处理,以进一步提高数据传输效率。

以下基于前述的静态资源处理系统介绍本申请技术方案的静态资源处理流程,请参考图7,图中流程(1)对应于终端初次发送某一静态资源的资源加载请求,且本地服务端为初次接收到该静态资源对应的资源加载请求,即信息缓存区中不存在对应的报文头信息,且静态资源数据库中不存在该静态资源,则执行前述的步骤S201-S211。图中的流程(2)对应于同一终端针对一静态资源再次发送资源加载请求的情况,包括终端缓存中的静态资源未过期和静态资源已过期的情况,本地服务端在接收到该资源加载请求后,能够在信息缓存中匹配到对应的报文头信息,进而直接反馈资源有效信息至终端,或者执行前述的步骤S213-S219。图中的流程(3)对应该终端初次发送一静态资源对应的资源加载请求,而本地服务端已接收过其它终端发送的携带有相同静态资源信息的资源加载请求的情况,在该场景中,本地服务端匹配到报文头信息后,直接从静态资源数据库中读取静态资源,并反馈至终端,无需重新从云服务端下载该静态资源。进一步的,图中的流程(4)对应静态资源数据库进行静态资源的主动更新流程,具体执行方式与前述的S301-S311相类似,在此不再赘述。

基于上述方案,本申请能够直接通过匹配报文头信息来实现静态资源的读取,无需遍历数据库中的已存静态资源,提高资源加载请求的响应速度,进而提高资源加载效率。此外,通过本地服务端对静态资源进行备份和关联存储,在外网较弱或故障的情况下,实现页面静态资源的无障碍加载。并且,无需区分资源类型来进行静态资源的存储,降低系统复杂度,提高资源存取效率。另外,在本地服务端中的静态资源未更新的情况下,直接向终端反馈资源有效信息,以指示终端中缓存的静态资源长期有效,在提升静态资源加载速度的同时,显著降低了页面加载过程中数据传输的网络流量和带宽,尤其适用于to B(面向企业)或to G(面向政府)等场景,如大屏展示场景,以及其它需要加载大量静态文件的场景,显著改善用户体验。

本申请实施例还提供了一种静态资源处理装置800,如图8所示,图8示出了本申请实施例提供的一种静态资源处理装置的结构示意图,装置可以包括下述模块。

信息查找模块10:用于响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找目标静态资源信息对应的报文头信息。

请求发送模块20:用于在未查找到对应的报文头信息的情况下,向云服务端发送所述资源加载请求。

响应信息接收模块30:用于接收云服务端响应于资源加载请求发送的、携带有与目标静态资源信息对应的目标静态资源的资源响应信息。。

报文头信息生成模块40:用于根据目标静态资源信息和资源响应信息生成目标报文头信息。

资源存储模块50:用于将目标报文头信息存储至信息缓存区中,并将目标静态资源存储至静态资源数据库中,其中,目标报文头信息与目标静态资源关联存储。

资源反馈模块60:用于将目标静态资源发送至终端。

在一些实施例中,目标静态资源信息包括资源类型信息;目标报文头信息包括缓存验证信息;报文头信息生成模块40可以包括下述单元。

信息获取单元:用于从资源响应信息的响应头中获取目标静态资源的更新时间信息和校验标识。

验证信息生成单元:用于根据更新时间信息和校验标识生成目标报文头信息中的缓存验证信息。

在一些实施例中,资源存储模块50可以包括下述单元。

存储类型生成单元:用于根据资源类型信息生成目标报文头信息对应的存储类型信息。

报文头信息存储单元:用于根据存储类型信息,将目标报文头信息存储至信息缓存区中对应的类型分类中。

在一些实施例中,装置还可以包括下述模块。

第一报文头信息确定模块:用于确定待更新的静态资源的报文头信息。

静态资源删除模块:用于根据待更新的静态资源的报文头信息删除关联的静态资源,并生成对应的资源更新请求。

更新请求发送模块:用于向云服务端发送资源更新请求,以使云服务端响应于资源更新请求发送对应的更新静态资源和更新缓存验证信息。

更新资源存储模块:用于基于更新缓存验证信息对待更新的静态资源的报文头信息进行更新,得到更新报文头信息。

更新资源存储模块:用于建立更新静态资源与更新报文头信息间的关联关系。

静态资源存储模块:用于将更新静态资源关联存储至静态资源数据库中。

在一些实施例中,报文头信息中包括静态资源的更新时间信息;装置还可以包括下述模块。

更新时间获取模块:用于在确定待更新的静态资源的报文头信息之前,周期性的从信息缓存区的报文头信息中,获取静态资源数据库中各静态资源的更新时间信息。

第二报文头信息确定模块:用于将满足预设更新条件的更新时间信息所对应的报文头信息,确定为待更新的静态资源的报文头信息。

在一些实施例中,资源加载请求还携带有终端缓存中对应的静态资源的资源缓存验证信息;装置还可以包括下述模块。

当前缓存验证信息获取模块:用于在查找到对应的报文头信息的情况下,从对应的报文头信息中获取当前缓存验证信息。

资源有效信息反馈模块:用于在资源缓存验证信息与当前缓存验证信息匹配的情况下,向终端反馈资源有效信息,以使终端对终端缓存中对应的静态资源进行加载。

在一些实施例中,装置还可以包括下述模块。

更新资源获取模块:用于在资源缓存验证信息与当前缓存验证信息不匹配的情况下,从静态资源数据库中,获取与对应的报文头信息关联的更新静态资源。

更新资源反馈模块:用于将更新静态资源发送至终端,以使终端对更新静态资源进行加载。

在一些实施例中,资源存储模块50可以包括下述单元。

图像数据信息获取单元:用于在目标静态资源包括多个图像数据的情况下,获取多个图像数据的页面模块归属信息和位置信息。

图像数据确定单元:用于根据页面模块归属信息,从多个图像数据中确定属于同一页面模块的图像数据。

图像合并处理单元:用于基于位置信息对属于同一页面模块的图像数据进行图像合并处理,得到对应的合并图像。

资源替换单元:用于利用合并图像对属于同一页面模块的图像数据进行替换处理,得到替换后的目标静态资源。

资源存储单元:用于将替换后的目标静态资源存储至静态资源数据库中。

需要说明的是,上述装置实施例与方法实施例基于相同的实施方式。

本申请实施例提供了一种静态资源处理设备,该识别设备可以为终端或服务器,该静态资源处理设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的静态资源处理方法。

存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图9是本申请实施例提供的一种静态资源处理方法的电子设备的硬件结构框图。如图9所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows Server

输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。

本申请的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种静态资源处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的静态资源处理方法。

可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。

由上述本申请提供的静态资源处理方法、装置、设备、服务器、终端存储介质和程序产品的实施例可见,本申请响应于终端发送的携带有目标静态资源信息的资源加载请求,从信息缓存区中查找目标静态资源信息对应的报文头信息;在未查找到对应的报文头信息的情况下,向云服务端发送资源加载请求;根据目标静态资源信息和资源响应信息生成目标报文头信息;将目标报文头信息存储至信息缓存区中,并将目标静态资源存储至静态资源数据库中,其中,目标报文头信息与目标静态资源关联存储;将目标静态资源发送至终端。通过生成报文头信息,以及将报文头信息存储至信息缓存区,并将对应的静态资源进行关联存储,能够直接通过匹配报文头信息来实现静态资源的读取,无需遍历数据库中的已存静态资源,提高资源加载请求的响应速度,进而提高资源加载效率。此外,通过本地服务端对静态资源进行备份和关联存储,在外网较弱或故障的情况下,实现页面静态资源的无障碍加载。

需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种静态资源加载方法、装置、设备及可读存储介质
  • 一种静态资源自动化采集方法、系统、设备及存储介质
  • 语音处理方法及装置、家电设备、存储介质电子装置
  • 文本处理方法、装置、设备、计算机设备和存储介质
  • 财报数据处理方法、装置、计算机设备和存储介质
  • 静态资源文件处理方法、装置、电子设备和存储介质
  • 静态资源的处理方法、装置、计算机设备和存储介质
技术分类

06120116082139