CN113672268A - 前端资源的静默更新方法、装置和计算机设备 - Google Patents
前端资源的静默更新方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113672268A CN113672268A CN202111045012.2A CN202111045012A CN113672268A CN 113672268 A CN113672268 A CN 113672268A CN 202111045012 A CN202111045012 A CN 202111045012A CN 113672268 A CN113672268 A CN 113672268A
- Authority
- CN
- China
- Prior art keywords
- identifier
- local
- client
- module
- web server
- 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 40
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000013515 script Methods 0.000 claims abstract description 24
- 238000004806 packaging method and process Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 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
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种前端资源的静默更新方法、装置和计算机设备,方法包括:客户端将前端资源进行打包,并在打包期间插入前端资源的标识符文件version.json;客户端将打包后的前端资源推送至Web服务器端;Web服务器端通过shell脚本读取标识符文件version.json的内容,并将第一标识符存储至环境变量中;代理服务器读取环境变量的值,并作为响应头部信息返回至客户端,响应头部信息携带第一标识符;客户端从局部存储器中获取本地标识符,在第一标识符与本地标识符不一致时,将本地标识符更新为第一标识符。由此,无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种前端资源的静默更新方法、一种前端资源的静默更新装置和一种计算机设备。
背景技术
随着浏览器、Web(World Wide Web,万维网)、移动端的发展,前端站点技术在社会中的大部分场景均有广泛的应用,同时各种应用服务的Web站点也经历着高速发展和功能迭代,其中出现最频繁的问题浏览器对页面的缓存,它的出现提高了用户对Web站点的加载速度,也带来了视觉的局限性。开发者不希望用户访问旧版本的站点缓存,但不可避免用户可以访问旧版本的站点资源(以下简称为旧站点)。若用户在旧站点访问了新站点的接口服务,而新站点已经废弃了对应的服务,那么会造成请求状态的404错误。此信息不仅会误导访问站点的客户,同时会影响站点运维人员和技术人员做正确的错误判断。
相关技术中,通常以创建Websocket站点中间层的方式推送用户站点的版本信息,即使用websocket协议向客户端推送版本信息。然而,此方案要求维护单独的中间层与协议,而维护一个中间层需要大量的运维和研发成本。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的第一个目在于提出一种前端资源的静默更新方法,无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
本发明的第二个目的在于提出一种前端资源的静默更新装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提出了一种前端资源的静默更新方法,包括:在前端资源进行更新后,客户端将所述前端资源进行打包,并在打包期间插入所述前端资源的标识符文件version.json,其中,所述标识符文件version.json中的第一标识符包含所述前端资源的版本信息及时间戳信息;
客户端将打包后的所述前端资源推送至Web服务器端;
Web服务器端通过shell脚本读取所述标识符文件version.json的内容,以获取所述标识符文件中的第一标识符bundle key,并将所述第一标识符bundle key存储至Web服务器的环境变量中;
代理服务器读取所述环境变量的值,并作为响应头部信息返回至客户端,所述响应头部信息携带所述第一标识符;
客户端从所述局部存储器中获取本地标识符,判断所述第一标识符与所述本地标识符是否一致;
在所述第一标识符与所述本地标识符不一致时,将所述本地标识符更新为所述第一标识符。
另外,根据本发明上述实施例提出的前端资源的静默更新方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述代理服务器读取所述环境变量的值,包括:代理服务器通过Lua脚本从所述环境变量中获取所述第一标识符。
根据本发明的一个实施例,在所述客户端从所述局部存储器中获取本地标识符之前,还包括:客户端发送请求头部信息至Web服务器端;Web服务器端响应于所述请求头部信息给所述客户端发送本地标识符;客户端将所述本地标识符存储于局部存储器中。
根据本发明的一个实施例,所述客户端与所述Web服务器端间通过HTTP协议进行通信。
根据本发明的一个实施例,所述代理服务器为nginx,所述Web服务器为linux。
为实现上述目的,本发明第二方面实施例提出了一种前端资源的静默更新装置,包括:
打包模块,用于在前端资源进行更新后,将所述前端资源进行打包,并在打包期间插入所述前端资源的标识符文件version.json,其中,所述标识符文件version.json中的第一标识符包含所述前端资源的版本信息及时间戳信息;
推送模块,用于将打包后的所述前端资源推送至Web服务器端;
存储模块,用于通过shell脚本读取所述标识符文件version.json的内容,以获取所述标识符文件中的第一标识符bundle key,并将所述第一标识符bundle key存储至Web服务器的环境变量中;
读取模块,用于读取所述环境变量的值,并作为响应头部信息返回至客户端,所述响应头部信息携带所述第一标识符;
判断模块,用于从所述局部存储器中获取本地标识符,判断所述第一标识符与所述本地标识符是否一致;
更新模块,用于在所述第一标识符与所述本地标识符不一致时,将所述本地标识符更新为所述第一标识符。
另外,根据本发明上述实施例提出的前端资源的静默更新装置还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述发送模块,所述读取模块,具体用于:通过Lua脚本从所述环境变量中获取所述第一标识符。
根据本发明的一个实施例,所述装置还包括:第一发送模块,用于发送请求头部信息至Web服务器端;第二发送模块,用于响应于所述请求头部信息给客户端发送本地标识符;本地存储模块,用于将所述本地标识符存储于局部存储器中。
为实现上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本发明第一方面实施例提出的前端资源的静默更新方法。
为实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面实施例提出的前端资源的静默更新方法。
本发明的技术方案,无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
附图说明
图1为本发明实施例的前端资源的静默更新方法的流程图。
图2A为本发明一个具体实施例的获取前端资源的标识符文件的代码示意图。
图2B为本发明一个具体实施例的使用shell脚本给予服务器前端资源文件的bundle信息的代码示意图。
图2C为本发明一个具体实施例的使用nginx通过Lua命令获取资源的bundle key信息的代码示意图。
图2D为本发明一个具体实施例的Web站点判断响应的X-Application-Version信息的代码示意图。
图3为本发明一个实施例的前端资源静默更新的流程图。
图4为本发明一个实施例的客户端与服务端交互的流程图。
图5为本发明实施例的前端资源的静默更新装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的前端资源的静默更新方法的流程图。
如图1所示,该方法包括以下步骤:
S1,在前端资源进行更新后,客户端将前端资源进行打包,并在打包期间插入前端资源的标识符文件version.json,其中,标识符文件version.json中的第一标识符包含前端资源的版本信息及时间戳信息。
具体地,前端资源每进行一次更新,对应打包一次前端资源。具体来说,在前端资源更新后,客户端可通过Webpack将更新后的前端资源打包,并可在打包期间使用WebpackPlugin插入包含前端资源版本信息的标识符文件version.json,该标识符文件的内容即为标识符,标识符由版本信息与时间戳信息结合而成,其中,时间戳信息用于表征本次打包(bundle)构建的时间戳(timestamp)。
本发明实施例将标识符作为本次构建资源的唯一标示,可将标识符文件version.json输出于对应的站点资源目录,同时以此方式确定唯一标示相比于UUID(Universally Unique Identifier,通用唯一标识码)一类的随机标识(key),此方案可以支持基于云原生的kubernetes部署,从而保证容器集群中的所有站点版本拥有相同的标识符,并且适配相关CDN(Content Delivery Network,内容分发网络)服务的资源同步。
S2,客户端将打包后的前端资源推送至Web服务器端。
其中,Web服务器端可以为具有前端资源部署功能的服务器,实际应用中可具体确定,例如可以是是linux。客户端与所Web服务器端间通过HTTP(Hyper Text TransferProtocol,超文本传输协议)协议进行通信。
具体地,客户端在将前端资源打包后,可通过shell脚本将前端资源主动推送给Web服务器端,并进行存储,由于打包后的前端资源包含了version.json文件,因此Web服务器端即可接收到包含version.json文件的前端资源。
S3,Web服务器端通过shell脚本读取标识符文件version.json的内容,以获取标识符文件中的第一标识符bundle key,并将第一标识符bundle key存储至Web服务器的环境变量中。
具体地,Web服务器端通过shell脚本读取标识符文件version.json的内容(即标识符),以读取到其中的第一标识符bundle key,进而shell可将bundle key存储至Web服务器的环境变量中。
由此,客户端向服务器端提供了最新的第一标识符bundle key,且标识符bundlekey存储于服务器的环境变量中。
S4,代理服务器读取环境变量的值,并作为响应头部信息返回至客户端,响应头部信息携带第一标识符。
其中,代理服务器可以为nginx。
具体地,在向Web服务器端提供了最新的第一标识符bundle key之后,代理服务器可读取环境变量的值,以拿到对应的bundle key,并将其由响应头部信息(X-Appliction-Version)携带后主动推送给客户端,例如浏览器资源站点。
S5,客户端从局部存储器中获取本地标识符,判断第一标识符与本地标识符是否一致。
S6,在第一标识符与本地标识符不一致时,将本地标识符更新为第一标识符。
需要说明的是,客户端,例如浏览器的的局部存储器(localstorage)的存储有本地数据及本地数据对应的本地标识符。
具体地,客户端在接收到第一标识符bundle key之后,从局部存储器中获取本地标识符,进而判断第一标识符与本地标识符是否一致,如果是,则说明浏览器的缓存资源与前端资源一致,不需要进行更新;如果否,则说明浏览器的缓存资源与前端资源不一致,则可本地标识符更新为第一标识符,实现缓存资源与前端资源的同步。
由此,该方法无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
在本发明的一个实施例中,代理服务器读取环境变量的值,可包括:代理服务器通过Lua脚本(一种轻量级脚本语言)从环境变量中获取第一标识符。
具体地,通过扩展代理服务器nginx的package,可以借助lua-nginx-module将配置文件中的lua脚本交给服务器环境代替执行。通过服务器环境的LuaJIT(Lua脚本执行时的底层开源引擎)读取环境变量的值后,可使nginx动态加载资源bundle key。
nginx可以借助headers-more-nginx-module,做到忽视后端服务的响应状态码并操作request head(请求头)的功能,加入想要带给Web站点的信息。并在代理服务器对应的接口代理处加入对应的response(响应)信息与bundle key推送给相应站点。
在本发明的一个实施例中,在客户端从局部存储器中获取本地标识符之前,还可包括:客户端发送请求头部信息至Web服务器端;Web服务器端响应于请求头部信息给客户端发送本地标识符;客户端将本地标识符存储于局部存储器中。
具体地,站点可以通过任意的请求获取到Web服务器提供最新的标识符,通过站点辅助代码从requet head(请求头)中获取相应的标识符并存储在localstorage中,并且之后浏览器的每次请求会带上localstorage中存储的标识符给服务器,进而服务器会响应于请求头部信息向浏览器推送携带最新标识符的响应头部信息,如果服务器推送的最新标识符和localstorage存储的标识符不一致,说明用户正在访问站点的缓存,研发人员可以定义是否要给予用户相应的交互,或者直接对IndexDB与cookie等于应用强绑定的信息进行清理,最终让用户正确的访问到与服务器一致版本的站点资源。
本发明实施例中通过webpack提供的hooks定义扩展程序,其代码可如图2A所示,在webpack打包期间中可在emit过程中插入了一个全新的文件,命名为version.json,里面包含了本次打包web站点的版本号与当前时间戳,作为web站点资源的唯一标示。
通过如图2B所示的脚本代码,web服务器可以拿到打包后的web站点资源的version.json文件,并在服务器的环境变量中存储了最新的资源应该具备的标识符bundlekey。
之后,代理服务器nginx通过Lua命令获取资源的bundle key。具体代码如图2C所示,通过nginx的原生逻辑判断能力与lua的配合,可以验证浏览器发送的request head信息,如果request head信息中携带的标识符和nginx所在服务器环境变量中的bundle key不一致,则返回412状态码,该实施例中可自定义request头部信息,本例中的响应头信息为X-Application-Version。
之后,可在web站点中插入如图2D所示的代码,以验证服务器返回的responsehead中的X-Application-Version信息与浏览器本地localstorage中存储的信息是否一致,如果不一致就进行页面的更新操作,并且清除IndexDB更新localstorage,以完成本地资源和服务器前端资源的版本同步。如果信息一致则不处理该请求。
下面通过图3和图4描述本发明实施例的前端资源的静默更新方法。
如图3和图4所示,首先,Web浏览器(The Website)通过webpack将前端站点资源进行打包(bundle),并在打包期间使用webpack-plugin插入包含版本信息的version.json文件,其中version.json保存的标识符由版本信息与时间戳信息结合而成。之所以需要时间戳是为了满足kubernete部署方式。接着由shell脚本自动将此资源移动至相应的Web服务器(Server)上存储后,shell脚本会读取version.json的内容并把它放入Web服务器的系统环境变量(System Environment variable)中,接着nginx会对其进行读取环境变量的值,并作为X-Appliction-Version返回给客户端浏览器,最后客户端读取浏览器返回的X-Appliction-Version与浏览器localstorage的本地标识符进行对比,如果值不一样就更新本地标识符。
其中,本发明实施例定义一份shell脚本,同时可以使用其他的自动化部署(Automated Deployment)脚本,在最后部分将标识符放入服务器的环境变量,并且要求容器读取到的标识符和本地存储的标识符完全一致。
如图4所示,浏览器在将前端资源(resource)进行打包后,将其上传至服务器端,资源上传环节是单向把资源上传到服务器。在HTTP通信环节,由于本发明实施例中将web站点资源的信息作为X-Appliction-Version由响应进行携带,因此可以做到服务器端的主动推送。而nginx从环境变量拿取对应的标识符主要通过Lua脚本,nginx会把这部分任务交给LuaJIT,由于LuaJIT依赖了GCC,因此最后由GCC去拿取(fetch)最后的环境变量。
综上,本发明实施例的前端资源的静默更新方法,具有轻量级的优点,通过该方法,任何使用代理服务器(例:Nginx)的站点可以快速、无成本、高安全性的完成前端资源自动静默刷新。对于站点维护人员来说,不再需要担心用户访问的是过期的缓存资源文件,也不需要在意旧版本的持久化本地存储(例:IndexDB)对应用服务造成影响。对于客户来说它能在资源更新后第一时间收到站点更新的通知,不需要关心技术细节,从而流畅享受升级后的站点服务。
图5为本发明实施例的前端资源的静默更新装置的方框示意图。
如图5所示,该前端资源的静默更新装置100,包括:打包模块10、推送模块20、存储模块30、读取模块40、判断模块50及更新模块60。
其中,打包模块10,用于在前端资源进行更新后,将前端资源进行打包,并在打包期间插入前端资源的标识符文件version.json,其中,标识符文件version.json中的第一标识符包含前端资源的版本信息及时间戳信息;推送模块20,用于将打包后的前端资源推送至Web服务器端;存储模块30,用于通过shell脚本读取标识符文件version.json的内容,以获取标识符文件中的第一标识符bundle key,并将第一标识符bundle key存储至Web服务器的环境变量中;读取模块40,用于读取环境变量的值,并作为响应头部信息返回至客户端,响应头部信息携带第一标识符;判断模块50,用于从局部存储器中获取本地标识符,判断第一标识符与本地标识符是否一致;更新模块60,用于在第一标识符与本地标识符不一致时,将本地标识符更新为第一标识符。
在一个实施例中,读取模块40,具体可用于:通过Lua脚本从环境变量中获取第一标识符。
在一个实施例中,装置100还可包括:第一发送模块,用于发送请求头部信息至Web服务器端;第二发送模块,用于响应于所述请求头部信息给客户端发送本地标识符;本地存储模块,用于将所述本地标识符存储于局部存储器中。
需要说明的是,本发明实施例中禅道中员工信息的更新装置的其他具体实施方式,可参见上述前端资源的静默更新方法的具体实施方式,为避免冗余,此处不再赘述。
该装置无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例的前端资源的静默更新方法。
根据本发明实施例的计算机设备,处理器执行计算机程序时,无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例的前端资源的静默更新方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,无需中间层即可实现客户端向服务端主动推送更新的标识符,并可将本地标识符更新为最新标识符,从而实现前端资源的静默更新,具有低成本、轻量级的优点。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种前端资源的静默更新方法,其特征在于,包括:
在前端资源进行更新后,客户端将所述前端资源进行打包,并在打包期间插入所述前端资源的标识符文件version.json,其中,所述标识符文件version.json中的第一标识符包含所述前端资源的版本信息及时间戳信息;
客户端将打包后的所述前端资源推送至Web服务器端;
Web服务器端通过shell脚本读取所述标识符文件version.json的内容,以获取所述标识符文件中的第一标识符bundle key,并将所述第一标识符bundle key存储至Web服务器的环境变量中;
代理服务器读取所述环境变量的值,并作为响应头部信息返回至客户端,所述响应头部信息携带所述第一标识符;
客户端从所述局部存储器中获取本地标识符,判断所述第一标识符与所述本地标识符是否一致;
在所述第一标识符与所述本地标识符不一致时,将所述本地标识符更新为所述第一标识符。
2.根据权利要求1所述的前端资源的静默更新方法,其特征在于,所述代理服务器读取所述环境变量的值,包括:
代理服务器通过Lua脚本从所述环境变量中获取所述第一标识符。
3.根据权利要求1所述的前端资源的静默更新方法,其特征在于,在所述客户端从所述局部存储器中获取本地标识符之前,还包括:
客户端发送请求头部信息至Web服务器端;
Web服务器端响应于所述请求头部信息给所述客户端发送本地标识符;
客户端将所述本地标识符存储于局部存储器中。
4.根据权利要求1所述的前端资源的静默更新方法,其特征在于,所述客户端与所述Web服务器端间通过HTTP协议进行通信。
5.根据权利要求1所述的前端资源的静默更新方法,其特征在于,所述代理服务器为nginx,所述Web服务器为linux。
6.一种前端资源的静默更新装置,其特征在于,包括:
打包模块,用于在前端资源进行更新后,将所述前端资源进行打包,并在打包期间插入所述前端资源的标识符文件version.json,其中,所述标识符文件version.json中的第一标识符包含所述前端资源的版本信息及时间戳信息;
推送模块,用于将打包后的所述前端资源推送至Web服务器端;
存储模块,用于通过shell脚本读取所述标识符文件version.json的内容,以获取所述标识符文件中的第一标识符bundle key,并将所述第一标识符bundle key存储至Web服务器的环境变量中;
读取模块,用于读取所述环境变量的值,并作为响应头部信息返回至客户端,所述响应头部信息携带所述第一标识符;
判断模块,用于从所述局部存储器中获取本地标识符,判断所述第一标识符与所述本地标识符是否一致;
更新模块,用于在所述第一标识符与所述本地标识符不一致时,将所述本地标识符更新为所述第一标识符。
7.根据权利要求6所述的前端资源的静默更新装置,其特征在于,所述读取模块,具体用于:通过Lua脚本从所述环境变量中获取所述第一标识符。
8.根据权利要求6所述的前端资源的静默更新装置,其特征在于,还包括:
第一发送模块,用于发送请求头部信息至Web服务器端;
第二发送模块,用于响应于所述请求头部信息给客户端发送本地标识符;
本地存储模块,用于将所述本地标识符存储于局部存储器中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现根据权利要求1-5中任一项所述的前端资源的静默更新方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-5中任一项所述的前端资源的静默更新方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021106790808 | 2021-06-18 | ||
CN202110679080.8A CN113296817A (zh) | 2021-06-18 | 2021-06-18 | 前端资源的静默更新方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672268A true CN113672268A (zh) | 2021-11-19 |
Family
ID=77328786
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679080.8A Withdrawn CN113296817A (zh) | 2021-06-18 | 2021-06-18 | 前端资源的静默更新方法、装置和计算机设备 |
CN202111045012.2A Pending CN113672268A (zh) | 2021-06-18 | 2021-09-07 | 前端资源的静默更新方法、装置和计算机设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679080.8A Withdrawn CN113296817A (zh) | 2021-06-18 | 2021-06-18 | 前端资源的静默更新方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113296817A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473810B (zh) * | 2022-09-01 | 2024-04-26 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108037946A (zh) * | 2017-11-03 | 2018-05-15 | 金证财富南京科技有限公司 | 一种应用程序热更新的方法、系统及服务器 |
CN108647041A (zh) * | 2018-04-02 | 2018-10-12 | 金证财富南京科技有限公司 | 一种混合型APP本地Web资源热更新机制 |
CN109542851A (zh) * | 2018-11-30 | 2019-03-29 | 北京金山云网络技术有限公司 | 文件更新方法、装置及系统 |
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
CN111475180A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 更新客户端缓存的方法和系统 |
-
2021
- 2021-06-18 CN CN202110679080.8A patent/CN113296817A/zh not_active Withdrawn
- 2021-09-07 CN CN202111045012.2A patent/CN113672268A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108037946A (zh) * | 2017-11-03 | 2018-05-15 | 金证财富南京科技有限公司 | 一种应用程序热更新的方法、系统及服务器 |
CN108647041A (zh) * | 2018-04-02 | 2018-10-12 | 金证财富南京科技有限公司 | 一种混合型APP本地Web资源热更新机制 |
CN109542851A (zh) * | 2018-11-30 | 2019-03-29 | 北京金山云网络技术有限公司 | 文件更新方法、装置及系统 |
CN111475180A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 更新客户端缓存的方法和系统 |
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113296817A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287839B (zh) | 一种页面加载方法和设备 | |
US10713034B2 (en) | Updating web resources | |
US10694353B2 (en) | Updating web resources | |
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN107203555B (zh) | 页面加载处理方法及装置 | |
CN104426925B (zh) | 网页资源获取方法及装置 | |
CN104714965A (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
US9503541B2 (en) | Fast mobile web applications using cloud caching | |
CN113296817A (zh) | 前端资源的静默更新方法、装置和计算机设备 | |
CN108021594B (zh) | 一种网页展示方法、装置及系统 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
CN116821533A (zh) | 页面渲染方法、计算机设备和计算机可读存储介质 | |
CN103139298A (zh) | 一种传输网络数据的方法和装置 | |
CN116306531A (zh) | Html文档自动填充方法、装置、电子设备及存储介质 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
CN103701844A (zh) | 管理用户信息的方法及系统 | |
CN110750275A (zh) | 一种app安装方法、装置及存储设备 | |
CN117520021B (zh) | 一种Java系统消息推送方法、装置、设备及介质 | |
CN117270985A (zh) | 一种应用集成、访问控制方法和装置 | |
CN115766243A (zh) | 模型资源管理方法和系统 | |
CN115391698A (zh) | 保障移动端应用页面高可用的方法和装置 | |
CN117675238A (zh) | 数据访问方法、装置、电子设备及存储介质 | |
CN111538926A (zh) | 一种离线包自动发布方法、装置、电子设备及存储介质 | |
CN114385937A (zh) | 页面适配方法、装置、设备及存储介质 | |
CN117827377A (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 |