CN111581569A - 一种网页资源更新方法及系统 - Google Patents
一种网页资源更新方法及系统 Download PDFInfo
- Publication number
- CN111581569A CN111581569A CN202010250578.8A CN202010250578A CN111581569A CN 111581569 A CN111581569 A CN 111581569A CN 202010250578 A CN202010250578 A CN 202010250578A CN 111581569 A CN111581569 A CN 111581569A
- Authority
- CN
- China
- Prior art keywords
- module
- server
- hash value
- client
- resource
- 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.)
- Granted
Links
Images
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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了网页资源更新方法,该方法在网页资源更新系统中执行,该网页资源更新系统包括第一服务器和第二服务器、多个客户端,其中,多个客户端适于呈现同一个页面,页面适于呈现多个资源模块编译后的结果,该方法包括步骤:第一服务器接收来自客户端的请求,请求包括模块标识和对应的哈希值,根据模块标识和哈希值获取变更的代码段,将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果;第二服务器接收来自客户端的交互操作,根据交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。本发明还公开了相应的网页资源更新系统。
Description
技术领域
本发明涉及互联网信息技术领域,特别涉及一种网页资源更新方法及系统。
背景技术
在前端开发过程中,各类资源的热替换是前端工程化中一个重要环节,当资源模块修改时,编译可以自动化,页面展示随之更新,减少手工操作成本,提升开发效率。尤其涉及多个客户端协同处理时,需要一个客户端对网页资源进行了处理,其他所有客户端都要同步刷新相关数据。
目前采用的方式是使客户端和服务器相连的方式,当某一个客户端的数据发生改变后,客户端把数据发送给服务器。而每个客户端间隔一个固定时间向服务器查询相关数据,并刷新该客户端数据,以达到数据同步的目的。但是客户端间隔固定的时间难以确定,如果固定的时间过长,客户端与服务器之间的实时性就很差,如果固定时间很短,就需要频繁向服务器查询以获取最新的数据,占用大量的系统资源。
发明内容
为此,本发明提供了一种网页资源更新方法及系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种网页资源更新方法,在网页资源更新系统中执行,网页资源更新系统包括第一服务器和第二服务器、多个客户端,多个客户端适于呈现同一个页面,页面适于呈现多个资源模块编译后的结果,该方法包括步骤:第一服务器接收来自客户端的请求,请求包括模块标识和对应的哈希值,根据模块标识和哈希值获取变更的代码段,将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果;第二服务器接收来自客户端的交互操作,根据交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。
可选地,在根据本发明的网页资源更新方法中,网页资源更新系统还包括第三服务器,该方法还包括步骤:第三服务器接收各资源模块的哈希值,当哈希值发生变更时,通知客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使客户端向第一服务器发出请求。
可选地,在根据本发明的网页资源更新方法中,第三服务器接收来自客户端的各模块的哈希值包括步骤:当资源模块被保存时,第三服务器获取被保存的模块新的哈希值,将新的哈希值和原有的哈希值对比,以判断模块哈希值是否发生变更。
可选地,在根据本发明的网页资源更新方法中,第一服务器根据模块标识和哈希值获取变更的代码段之前,还包括步骤:当资源模块被保存时,若被保存的资源模块发生变更,第一服务器适于存储发生变更的资源模块的模块标识、模块哈希值、变更的代码段。
可选地,在根据本发明的网页资源更新方法中,第一服务器与客户端之间采用长轮询进行双工通信。
可选地,在根据本发明的网页资源更新方法中,第二服务器与客户端之间采用长连接进行双工通信。
可选地,在根据本发明的网页资源更新方法中,第三服务器与客户端之间采用长连接进行单工通信。
可选地,在根据本发明的网页资源更新方法中,交互操作包括:滚动、点击事件、路由变更、url地址变更。
可选地,在根据本发明的网页资源更新方法中,请求为json数据文件,请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
可选地,在根据本发明的网页资源更新方法中,客户端根据模块标志和代码段更新资源模块,对所述资源模块进行编译和渲染以呈现最终页面。
根据本发明的又一个方面,提供了一种网页资源更新系统,包括:客户端,客户端有多个,适于呈现同一个页面,该页面适于呈现多个资源模块编译后的结果;第一服务器,适于接收来自客户端的请求,该请求包括模块标识和对应的哈希值,根据模块标识和哈希值获取变更的代码段,将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果;第二服务器接收来自客户端的交互操作,根据所述交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。
可选地,在根据本发明的网页资源更新系统中,还包括第三服务器,第三服务器适于接收各资源模块的哈希值,当哈希值发生变更时,通知客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使客户端向第一服务器发出请求。
可选地,在根据本发明的网页资源更新系统中,第三服务器进一步适于:当资源模块被保存时,第三服务器获取被保存的模块新的哈希值,将新的哈希值和原有的哈希值对比,以判断模块哈希值是否发生变更。
可选地,在根据本发明的网页资源更新系统中,第一服务器进一步适于:根据模块标识和哈希值获取变更的代码段之前,当资源模块被保存时,若被保存的资源模块发生变更,第一服务器适于存储发生变更的资源模块的模块标识、模块哈希值、变更的代码段。
可选地,在根据本发明的网页资源更新系统中,第一服务器与客户端之间采用长轮询进行双工通信。
可选地,在根据本发明的网页资源更新系统中,第二服务器与客户端之间采用长连接进行双工通信。
可选地,在根据本发明的网页资源更新系统中,第三服务器与客户端之间采用长连接进行单工通信。
可选地,在根据本发明的网页资源更新系统中,交互操作包括:滚动、点击事件、路由变更、url地址变更。
可选地,在根据本发明的网页资源更新系统中,请求为json数据文件,请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
可选地,在根据本发明的网页资源更新系统中,客户端进一步适于:根据模块标志和代码段更新资源模块,对资源模块进行编译和渲染以呈现最终页面。
根据本发明的技术方案,在网页资源更新系统中,任一客户端的资源模块被改变时,向第一服务器发起请求,第一服务器根据请求中包括模块标识和对应的哈希值获取资源模块中被变更的代码段,并将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果,同时,第二服务器接收来自客户端的交互操作,根据交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。采用先推送后拉取的方式,实时地进行资源同步更新以及编译的处理,降低多个客户端协同处理时进行同步所需的时间,避免代码段丢失,同时利用模块标识和变更代码段只需要对客户端的页面进行局部更新,节约资源。
进一步地,第三服务器接收各资源模块的哈希值,当哈希值发生变更时,通知客户端,以使该客户端向第一服务器发出请求。第一服务器、第二服务器、第三服务器与客户端进行通信的方式各不相同,利用多个服务器和多种网络协议进行资源的热替换,降低网络成本,提升了容错率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的网页资源更新系统100的示意图;
图2示出了根据本发明的又一个实施例的网页资源更新系统200的示意图;
图3示出了根据本发明的一个实施例的网页资源更新方法300的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的网页资源更新系统100的示意图。如图1所示,网页资源更新系统100包括客户端110、第一服务器120、第二服务器130。其中客户端110一般为PC机,还可以为智能手机或平板电脑等,但不限于此,数量也不做任何限制。浏览器为在客户端应用之一,浏览器呈现的网页通常由HTML(超文本标记语言,Hyper Text MarkupLanguage)、CSS(层叠样式表,Cascading Style Sheets)、JS(JavaScript脚本语言)组成,HTML是主体,装载各种DOM元素,CSS用来装饰DOM元素,JS控制DOM元素。在前端开发过程中,尤其涉及网页的设计时,在模块化编程中,开发者将程序分解成离散功能块,将网页资源都视为模块,比如上述的JS、CSS以及图片等,通过浏览器解释模块代码,将网页信息展示给浏览者。
具体来说,客户端110有多个,适于呈现同一个页面,该页面适于呈现多个资源模块编译后的结果,适应当前前端开发过程中多个客户端系统处理的情境,客户端110包括开发应用112、浏览器114。当某个客户端被指定为开发端时,其开发应用112中的资源模块被保存时,生成模块哈希值与模块标识等信息,以便其他非开发端的客户端向第一服务器发出请求。
第一服务器120适于接收来自客户端110的请求,请求包括模块标识和对应的哈希值,根据模块标识和哈希值获取变更的代码段,将模块标志和代码段发送给所有客户端,以使各客户端中的浏览器114页面呈现变更后的资源模块进行编译后的结果。因为资源模块存在于任一客户端的开发文件端,也可以指定当前一个客户端为开发端,开发端将改动的代码保存在第一服务器中,以便其他客户端进行资源的拉取。
具体地,第一服务器120与客户端110之间采用长轮询进行双工通信,当客户端110接收到哈希值变更的消息时,才向第一服务器120发送Ajax请求。长轮询的具体通信过程为,服务器接到请求后保持连接,直到有新消息才返回响应信息并关闭连接,客户端110处理完响应信息后再向第一服务器120发送新的请求。客户端根据模块标识和对应的哈希值获取相应模块代码段,采用先推送后拉取的方式,不仅保证实时地进行资源同步更新以及编译的处理,降低多个客户端协同处理时进行同步所需的时间,同时代码存储在第一服务器中,避免直接用服务器推送变动的代码造成代码段丢失。
第二服务器130接收来自客户端110的交互操作,根据交互操作对所有客户端110进行同步,以使各客户端310中的浏览器314呈现的页面相同。
具体地,第二服务器130与客户端110之间采用长连接进行双工通信,使通信双方建立起一个保持在活动状态连接通道,通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据以实现交互操作的同步。
根据本发明的一个实施例,交互操作包括:滚动、点击事件、路由变更、url地址变更,基本包含了客户端110对编译后的页面执行的所有动作。由于采用不同的服务器及通信方式,第二服务器130和客户端110的同步过程与前述步骤同时进行。
第一服务器120和第二服务器130可以是单个服务器,也可以是由多个服务器组成的服务器集群。这样,任一客户端的资源模块被改变时,实时地进行资源同步更新以及编译的处理,降低多个客户端协同处理时进行同步所需的时间,同时利用模块标识和变更代码段只需要对客户端的页面进行局部更新,节约资源。
为了降低进一步网络资源的成本,图2示出了根据本发明的又一个实施例的网页资源更新系统200的示意图。网页资源更新系统200的客户端210、第一服务器220、第二服务器230,以及客户端210中驻留的开发应用212、浏览器214,分别与图2中网页资源更新系统100的客户端110、第一服务器120、第二服务器130,以及客户端110中驻留的开发应用112、浏览器114一一对应,是一致的,除此之外,还增加了与客户端连接的第三服务器240。
第三服务器240接收各资源模块的哈希值,当哈希值发生变更时,通知客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使客户端向第一服务器发出请求。请求为json数据文件,请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
具体地,当被指定客户端开发的资源模块被保存时,开发端通过webpack软件的watch模块对各文件进行监听,webpack将不同类型的资源通过对应的加载器处理成模块,当开发人员修改静态文件资源后,事件监听器触发。系统得知文件修改,触发webpack方法编译功能,生成模块哈希值与模块标识等信息,开发端将模块哈希值与模块标识保存在第三服务器中。还有其他的模块化开发工具可以生成各改动模块的标识和哈希值,本发明不做限制。
进一步地,第三服务器和客户端之间采用长连接进行单工通信,以通知客户端模块哈希值发生变更。例如WebSocket方式是建立在HTTP基础上的协议,将TCP的Socket应用在了网页上,从而使通信双方建立起一个保持在活动状态的连接通道。向服务器发送一个HTTP请求,保持长连接,服务器不断单向地向客户端推送信息,维护一个心跳来确保客户端和服务端没有断开,不用重新发请求建立新连接。推送哈希值时采用单工通道,降低网络成本,且客户端210只有在匹配到第一服务器220存储的模块哈希值发生变化,客户端210才根据模块标识和对应的哈希值从第一服务器220获取相应模块代码段,进行了二次确认以减少无效请求。第一服务器220、第二服务器230、第三服务器240与客户端进行通信的方式各不相同,利用多个服务器和多种网络协议进行资源的热替换,降低网络成本,提升了容错率。
图3示出了根据本发明的一个实施例的网页资源更新方法300的流程图。方法300适于在网页资源更新系统(例如图1所示的网页资源更新系统100)中执行。如图3所示,方法300始于步骤310。由于当前前端开发过程中多个客户端系统处理,在模块化编程时,开发者将程序分解成离散功能块,将网页资源的代码都视为模块,客户端的页面适于呈现多个资源模块编译后的结果。在步骤S310中,第一服务器(例如图1所示的第一服务器120)接收来自客户端(例如图1所示的客户端110)的请求,该请求包括模块标识和对应的哈希值。开发人员对网页资源的代码进行修改,模块标识和哈希值即指向被该模块中改动的代码段。
根据本发明的一个实施例,网页资源更新系统中还有第三服务器(例如图2所示的第三服务器240),第三服务器接收各资源模块的哈希值,当哈希值发生变更时,通知客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使客户端向第一服务器发出请求。请求体为变更的json文件,将json文件存入内存中,客户端向第一服务器发出请求的关键代码如下所示:
具体来说,第三服务器接收来自客户端的各模块的哈希值包括步骤:当资源模块被保存时,第三服务器获取被保存的模块新的哈希值,将新的哈希值和原有的哈希值对比,以判断模块哈希值是否发生变更。资源模块存在于任一客户端的开发文件端,也可以指定当前一个客户端为开发端。具体地,客户端包括开发应用(例如图1所示的开发应用112)、浏览器(例如图1所示的浏览器114)。当某个客户端被指定为开发端时,其开发应用中的资源模块被保存时,生成模块哈希值与模块标识等信息,以便其他非开发端的客户端向第一服务器发出请求。请求为json数据文件,请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
需要说明的时,被指定的开发端可以变更,在不同时刻不同设备对网页资源的代码进行调试,以实现协同开发。当被指定客户端开发的资源模块被保存时,开发端通过webpack软件的watch模块对各文件进行监听,webpack是前端模块化开发中的工具,每一种资源都可以通过对应的加载器处理成模块,当开发人员修改JS、SASS、LESS、CSS、PNG等静态文件资源后,事件监听器触发。系统得知文件修改,触发webpack方法编译功能,生成模块哈希值与模块标识等信息。还有其他的模块化开发工具可以生成各改动模块的标识和哈希值,本发明不做限制。利用webpack生成模块标识和对应哈希值的关键代码如下所示:
进一步地,第三服务器和客户端之间采用长连接进行单工通信,以通知客户端模块哈希值发生变更。例如WebSocket方式是建立在HTTP基础上的协议,将TCP的Socket应用在了网页上,从而使通信双方建立起一个保持在活动状态的连接通道。向服务器发送一个HTTP请求,保持长连接,服务器不断单向地向客户端推送信息,维护一个心跳来确保客户端和服务端没有断开,不用重新发请求建立新连接。通过长连接进行单工通信以推送模块哈希值的关键代码如下所示:
接着,在步骤S320中,第一服务器根据模块标识和哈希值获取变更的代码段。因为资源模块存在于任一客户端的开发文件端,也可以指定当前一个客户端为开发端,开发端将改动的代码保存在第一服务器中,以便其他客户端进行资源的拉取。
根据本发明的一个实施例,第一服务器根据模块标识和哈希值获取变更的代码段之前,还包括步骤:当资源模块被保存时,若被保存的资源模块发生变更,第一服务器适于存储发生变更的资源模块的模块标识、模块哈希值、变更的代码段。与前文对应,该存储也过程可采用webpack软件实现,系统在得知开发端更改的模块后,生成改动模块对应的json文件,并将其持久化地存储在第一服务器中。此文件包含模块的hash值与对应修改的代码段,将其抽象为键值对数据结构的json文件,一个示例性的文件存储结构如下所示:
manifest.json文件格式:
{
“moduleId”:{
“hash”:“hash1”
“code”:“code1”
}}
接下来,在步骤S330中,将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果。
根据本发明的一个实施例,第一服务器与客户端之间采用长轮询进行双工通信,当客户端接收到哈希值变更的消息时,才向第一服务器发送Ajax请求。长轮询的具体通信过程为,服务器接到请求后保持连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。只有在匹配到第一服务器存储的模块哈希值发生变化,客户端才根据模块标识和对应的哈希值获取相应模块代码段,进行了二次确认以减少无效请求。采用先推送后拉取的方式,不仅保证实时地进行资源同步更新以及编译的处理,降低多个客户端协同处理时进行同步所需的时间,同时代码存储在第一服务器中,避免直接用服务器推送变动的代码造成代码段丢失。
根据本发明的一个实施例,客户端根据拉取的模块标志和代码段更新资源模块,并对资源模块进行编译和渲染以呈现最终页面。以由HTML、CSS和JS资源模块组成的网页进行编译和渲染的过程为例,HTML使用标记标签来描述网页元素,CSS可在HTML的头元素<head>里书写,负责元素例如网页中文字的大小、颜色、图片的大小、插入位置等,JS实现网页中图片轮换功能,导航制作,上传图片等。浏览器为在客户端应用之一,通过浏览器解释HTML代码,将信息展示给浏览者。
最后,在步骤S340中,第二服务器(例如图1所示的第二服务器130)接收来自客户端的交互操作,根据交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。
具体地,第二服务器与客户端之间采用长连接进行双工通信,使通信双方建立起一个保持在活动状态连接通道,通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据以实现交互操作的同步,建立长连接的关键代码如下所示:
根据本发明的一个实施例,交互操作包括:滚动、点击事件、路由变更、url地址变更,基本包含了客户端对编译后的页面执行的所有动作。实现这些交互操作的关键代码如下所示:
需要说明的是,因为采用不同的服务器及通信方式,步骤S340与前述步骤同时进行。
根据本发明的技术方案,在网页资源更新系统中,任一客户端的资源模块被改变时,向第一服务器发起请求,第一服务器根据请求中包括模块标识和对应的哈希值获取资源模块中被变更的代码段,并将模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果,同时,第二服务器接收来自客户端的交互操作,根据交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。采用先推送后拉取的方式,实时地进行资源同步更新以及编译的处理,降低多个客户端协同处理时进行同步所需的时间,避免代码段丢失,同时利用模块标识和变更代码段只需要对客户端的页面进行局部更新,节约资源。
进一步地,第三服务器接收各资源模块的哈希值,当哈希值发生变更时,通知客户端,以使该客户端向第一服务器发出请求。第一服务器、第二服务器、第三服务器与客户端进行通信的方式各不相同,利用多个服务器和多种网络协议进行资源的热替换,降低网络成本,提升了容错率。
A6、如A1-A5中任一项所述的方法,所述第二服务器与客户端之间采用长连接进行双工通信。
A7、如A1-A6中任一项所述的方法,所述第三服务器与客户端之间采用长连接进行单工通信。
A8、如A1-A7中任一项所述的方法,所述交互操作包括:滚动、点击事件、路由变更、url地址变更。
A9、如A1-A8中任一项所述的方法,所述请求为json数据文件,所述请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
A10、如A1-A9中任一项所述的方法,所述将所述模块标志和代码段发送给所有客户端后,还包括步骤:
客户端根据所述模块标志和代码段更新资源模块,对所述资源模块进行编译和渲染以呈现最终页面。
A16、如A11-A15中任一项所述的系统,所述第二服务器与客户端之间采用长连接进行双工通信。
A17、如A11-A16中任一项所述的系统,所述第三服务器与客户端之间采用长连接进行单工通信。
A18、如A11-A17中任一项所述的系统,所述交互操作包括:滚动、点击事件、路由变更、url地址变更。
A19、如A11-A18中任一项所述的系统,所述请求为json数据文件,所述请求包括的模块标识和对应的哈希值以键值对的形式在json文件中存在。
A20、如A11-A19中任一项所述的系统,所述客户端进一步适于:
根据所述模块标志和代码段更新资源模块,对所述资源模块进行编译和渲染以呈现最终页面。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种网页资源更新方法,所述方法在网页资源更新系统中执行,所述网页资源更新系统包括第一服务器和第二服务器、多个客户端,所述多个客户端适于呈现同一个页面,所述页面适于呈现多个资源模块编译后的结果,所述方法包括步骤:
第一服务器接收来自客户端的请求,所述请求包括模块标识和对应的哈希值,根据所述模块标识和哈希值获取变更的代码段,将所述模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果;
第二服务器接收来自客户端的交互操作,根据所述交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。
2.如权利要求1所述的方法,所述系统还包括第三服务器,所述方法还包括步骤:
第三服务器接收各资源模块的哈希值,当所述哈希值发生变更时,通知所述客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使所述客户端向第一服务器发出请求。
3.如权利要求2所述的方法,所述第三服务器接收来自客户端的各模块的哈希值包括步骤:
当所述资源模块被保存时,所述第三服务器获取所述被保存的模块新的哈希值,将新的哈希值和原有的哈希值对比,以判断模块哈希值是否发生变更。
4.如权利要求1-3中任一项所述的方法,所述第一服务器根据所述模块标识和哈希值获取变更的代码段之前,还包括步骤:
当所述资源模块被保存时,若所述被保存的资源模块发生变更,第一服务器适于存储发生变更的资源模块的模块标识、模块哈希值、变更的代码段。
5.如权利要求1-4中任一项所述的方法,所述第一服务器与客户端之间采用长轮询进行双工通信。
6.一种网页资源更新系统,所述系统包括:
客户端,所述客户端有多个,适于呈现同一个页面,所述页面适于呈现多个资源模块编译后的结果;
第一服务器,所述第一服务接收来自客户端的请求,所述请求包括模块标识和对应的哈希值,根据所述模块标识和哈希值获取变更的代码段,将所述模块标志和代码段发送给所有客户端,以使各客户端中的页面呈现变更后的资源模块进行编译后的结果;
第二服务器接收来自客户端的交互操作,根据所述交互操作对所有客户端进行同步,以使各客户端呈现的页面相同。
7.如权利要求6所述的系统,所述系统还包括第三服务器,所述第三服务器适于接收各资源模块的哈希值,当所述哈希值发生变更时,通知所述客户端哈希值发生变更的模块标识,以及变更后的哈希值,以使所述客户端向第一服务器发出请求。
8.如权利要求7所述的系统,所述第三服务器进一步适于:
当所述资源模块被保存时,所述第三服务器获取所述被保存的模块新的哈希值,将新的哈希值和原有的哈希值对比,以判断模块哈希值是否发生变更。
9.如权利要求6-8中任一项所述的系统,所述第一服务器进一步适于:
根据所述模块标识和哈希值获取变更的代码段之前,当所述资源模块被保存时,若所述被保存的资源模块发生变更,第一服务器适于存储发生变更的资源模块的模块标识、模块哈希值、变更的代码段。
10.如权利要求6-9中任一项所述的系统,所述第一服务器与客户端之间采用长轮询进行双工通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250578.8A CN111581569B (zh) | 2020-04-01 | 2020-04-01 | 一种网页资源更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250578.8A CN111581569B (zh) | 2020-04-01 | 2020-04-01 | 一种网页资源更新方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581569A true CN111581569A (zh) | 2020-08-25 |
CN111581569B CN111581569B (zh) | 2023-05-26 |
Family
ID=72115100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250578.8A Active CN111581569B (zh) | 2020-04-01 | 2020-04-01 | 一种网页资源更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581569B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306528A (zh) * | 2020-11-04 | 2021-02-02 | 北京焦点新干线信息技术有限公司 | 一种数据更新方法及装置 |
CN112883253A (zh) * | 2021-05-06 | 2021-06-01 | 药渡经纬信息科技(北京)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN112905174A (zh) * | 2021-01-27 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | 信息处理方法、设备、系统及存储介质 |
CN112925539A (zh) * | 2021-02-19 | 2021-06-08 | 天津车之家数据信息技术有限公司 | 一种应用更新方法,计算设备及存储介质 |
CN116506449A (zh) * | 2023-06-26 | 2023-07-28 | 新亿成科技(江苏)有限公司 | 通信网络节点信息同步方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151708A (en) * | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
CN102456035A (zh) * | 2010-10-28 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种网页资源缓存控制方法、装置及系统 |
US20130227056A1 (en) * | 2012-02-28 | 2013-08-29 | Martin Vecera | Reducing web page loading time using a backwards-compatible mechanism |
CN108549673A (zh) * | 2018-03-29 | 2018-09-18 | 优视科技有限公司 | 网页资源的预加载方法、客户端、服务器及网络系统 |
CN109871499A (zh) * | 2019-01-16 | 2019-06-11 | 中国平安财产保险股份有限公司 | 页面加载方法及客户端 |
-
2020
- 2020-04-01 CN CN202010250578.8A patent/CN111581569B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151708A (en) * | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
CN102456035A (zh) * | 2010-10-28 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种网页资源缓存控制方法、装置及系统 |
US20130227056A1 (en) * | 2012-02-28 | 2013-08-29 | Martin Vecera | Reducing web page loading time using a backwards-compatible mechanism |
CN108549673A (zh) * | 2018-03-29 | 2018-09-18 | 优视科技有限公司 | 网页资源的预加载方法、客户端、服务器及网络系统 |
CN109871499A (zh) * | 2019-01-16 | 2019-06-11 | 中国平安财产保险股份有限公司 | 页面加载方法及客户端 |
Non-Patent Citations (2)
Title |
---|
田福生;张燕平;: "用Ajax技术实现B/S模式下客户端间信息交互" * |
蔡菁;: "Android移动终端数据同步技术研究与应用" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306528A (zh) * | 2020-11-04 | 2021-02-02 | 北京焦点新干线信息技术有限公司 | 一种数据更新方法及装置 |
CN112306528B (zh) * | 2020-11-04 | 2023-12-08 | 北京博点智合科技有限公司 | 一种数据更新方法及装置 |
CN112905174A (zh) * | 2021-01-27 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | 信息处理方法、设备、系统及存储介质 |
CN112925539A (zh) * | 2021-02-19 | 2021-06-08 | 天津车之家数据信息技术有限公司 | 一种应用更新方法,计算设备及存储介质 |
CN112883253A (zh) * | 2021-05-06 | 2021-06-01 | 药渡经纬信息科技(北京)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN116506449A (zh) * | 2023-06-26 | 2023-07-28 | 新亿成科技(江苏)有限公司 | 通信网络节点信息同步方法、系统、设备及存储介质 |
CN116506449B (zh) * | 2023-06-26 | 2023-09-26 | 新亿成科技(江苏)有限公司 | 通信网络节点信息同步方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111581569B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581569B (zh) | 一种网页资源更新方法及系统 | |
EP3399721B1 (en) | Interface data displaying method and device | |
JP6510099B2 (ja) | ロボットシステムのノードを同期させるためのシステム及び方法 | |
TWI444893B (zh) | 用以提供遠端桌面或應用程式至網頁瀏覽器的系統及方法 | |
CN100361448C (zh) | 网络装置的管理方法 | |
CN106055337B (zh) | 一种界面生成方法及装置 | |
CN100472533C (zh) | 根据对象请求顺序显示对象的设备和方法 | |
US8245125B1 (en) | Hybrid rendering for webpages | |
US20190138297A1 (en) | Method, apparatus, and system for hot-deploying application | |
US20030001888A1 (en) | Data transfer method and apparatus | |
US11170157B2 (en) | Systems and methods for co-browsing | |
CN104484353A (zh) | 数据图形化方法、装置及数据库服务器 | |
JP2004535606A (ja) | クライアント上で表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させる方法および装置 | |
CN109558323B (zh) | 用于调试页面的系统、方法和装置 | |
CN109413140B (zh) | Pacs服务器远程自动升级的方法 | |
CN103268257A (zh) | 硬件资源存取系统及其存取电子装置的硬件资源的方法 | |
CA2902200C (en) | Caching pagelets of structured documents | |
CN105095220B (zh) | 一种浏览器实现方法、终端和虚拟化代理装置 | |
CN204791004U (zh) | 医疗影像查询系统 | |
CN102523271B (zh) | 一种终端及其通信方法、系统 | |
CN109582580B (zh) | 用于调试页面的系统、方法和装置 | |
CN115474074A (zh) | 一种视频背景替换方法、装置、计算设备和存储介质 | |
US8595612B1 (en) | Display of web page with available data | |
CN113626392A (zh) | 文档数据更新的方法和装置、电子设备和存储介质 | |
CN103150334A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |