CN107203541B - 页面加载方法及其页面加载装置 - Google Patents
页面加载方法及其页面加载装置 Download PDFInfo
- Publication number
- CN107203541B CN107203541B CN201610153005.7A CN201610153005A CN107203541B CN 107203541 B CN107203541 B CN 107203541B CN 201610153005 A CN201610153005 A CN 201610153005A CN 107203541 B CN107203541 B CN 107203541B
- Authority
- CN
- China
- Prior art keywords
- page
- component
- client
- web page
- 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.)
- Active
Links
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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种页面加载方法及其页面加载装置。该页面加载方法包括:向一服务器发送一Web页面的请求消息;接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接;基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件;以及在所述初始页面的相应位置中创建所述页面组件。该页面加载方法可以有效解决现有技术中的诸问题。
Description
技术领域
本发明涉及计算机网络技术,具体而言,涉及一种页面加载方法及其页面加载装置。
背景技术
在目前的基于Web的交互式应用中,通常当客户端向服务器发起页面请求后,服务器将客户端请求的页面(HTML文件)返回给客户端,完成页面加载过程。但这种交互方式存在以下几个方面的问题:
首先,在进行页面更新时,是基于轮询(polling)而进行的。客户端定期向服务器发送HTTP请求(HTTP request),然后由服务器返回整个页面最新的数据给客户端,这种传统的基于HTTP请求的页面更新方式,需要客户端不断的向服务器发送请求,而HTTP请求的包头是很长的,占用了很多的带宽,浪费了很多资源。虽然AJAX(Asynchronous JavaScriptand XML,异步JavaScript和XML)技术,可以通过客户端向服务器发送AJAX请求,进行页面的局部更新,但AJAX的请求也是基于轮询机制的,不管实际页面数据是否更新,都会定期发送该AJAX请求,浪费了带宽资源。
其次,当出现高并发用户接入时,无法实现以页面组件(component)为粒度的用户数据流量控制。
再次,无法实现个性化的页面加载。对于请求的相同的页面,对于所有用户,在客户端中显示的布局和内容均是相同的。即使对于具有特殊权限的特定用户,整体的页面布局和内容也无法有后端服务器动态的创建或控制。
发明内容
有鉴于此,本发明提供一种页面加载方法及其页面加载装置。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供了一种页面加载方法,包括:向一服务器发送一Web页面的请求消息;接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接;基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件;以及在所述初始页面的相应位置中创建所述页面组件。
根据本发明的另一方面,提供了一种页面加载方法,包括:接收一客户端发送的一Web页面的请求消息;向所述客户端发送所述Web页面的一初始页面,所述初始页面中包括一代理;接收所述客户端发送的WebSocket连接请求消息,以与所述客户端建立一WebSocket连接;基于所述WebSocket连接,接收所述客户端发送的所述Web页面的页面组件请求消息;获取所述客户端的所述Web页面的页面组件;以及基于所述WebSocket连接,向所述客户端发送所述Web页面的页面组件。
根据本发明的再一方面,提供了一种应用于客户端的页面加载装置,包括:装置接口模块,用于向一服务器发送一Web页面的请求消息;接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;以及通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接;连接接口模块,用于基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;以及基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件;以及组件创建模块,用于在所述初始页面的相应位置中创建所述页面组件。
根据本发明的再一方面,提供了一种应用于服务器的页面加载装置,包括:装置接口模块,用于接收一客户端发送的一Web页面的请求消息;向所述客户端发送所述Web页面的一初始页面,所述初始页面中包括一代理;以及接收所述客户端发送的WebSocket连接请求消息,以与所述客户端建立一WebSocket连接;连接接口模块,用于基于所述WebSocket连接,接收所述客户端发送的所述Web页面的页面组件请求消息;以及组件管理模块,用于获取所述客户端的所述Web页面的页面组件;其中所述连接接口模块还用于基于所述WebSocket连接,向所述客户端发送所述Web页面的页面组件。
本发明的页面加载方法与现有技术中的页面加载方法不同。在本发明中,基于客户端的请求,服务器先将一代理通过初始页面返回给客户端。之后,客户端通过该代理与服务器建立WebSocket连接。基于该WebSocket连接,客户端可以向服务器请求加载页面组件,服务器可以将基于页面组件的请求将相应的页面组件和其布局返回给客户端,以使客户端基于页面组件与布局在初始页面中创建相应的页面组件。基于该方法,能够有效解决现有技术存在的诸问题。
另外,根据一些实施例,本发明的页面加载方法进一步提供了组件数据的推送方法。在首次加载所有页面组件的组件数据后,还可以通过已建立的WebSocket连接,基于各页面组件的配置,周期地推送各页面组件的更新页面数据,从而避免了现有技术中通过轮询方式请求页面数据更新而带来的浪费带宽资源的问题。
根据另一些实施例,本发明的页面加载方法进一步提供了对隐藏页面组件的组件数据的处理方法。对于被隐藏的页面组件,停止对其组件数据的推送;而当被隐藏的页面组件被恢复后,继续对其组件数据进行推送。
根据再一些实施例,本发明的页面加载方法进一步提供了由外部的管理控制台对不同客户端显示页面的控制方法,例如可以由管理员或具有特殊权限的用户通过操作该管理控制台来为某些客户端增加页面组件或为某些客户端移除页面组件,从而使这些客户端所显示的页面布局及内容不同,实现了个性化的页面显示。
根据再一些实施例,本发明的页面加载方法进一步提供了数据推送控制方法,可以基于当前数据发送状况、安全状况及页面组件变化状况,控制客户端组件数据的推送,可以控制客户端所有页面组件的组件数据的推送,也可以仅控制客户端中部分页面组件的组件数据的推送,从而实现了以页面组件为粒度的组件数据的推送控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种页面加载方法的消息交互示意图。
图2是根据一示例性实施方式示出的另一种页面加载方法的流程图。
图3是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图4是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。
图5是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图6是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图7是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。
图8是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图9是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图10是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。
图11是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图12是根据一示例性实施方式示出的再一种页面加载方法的流程图。
图13是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。
图14是图13所示的页面加载方法34的流程图,页面加载方法34适用于一Web服务器。
图15是根据一示例性实施方式示出的一种应用于客户端的页面加载装置的框图。
图16是根据一示例性实施方式示出的一种应用于服务器的页面加载装置的框图。
图17是根据一示例性实施方式示出的一种客户端输出显示系统的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
图1是根据一示例性实施方式示出的一种页面加载方法的消息交互示意图。如图1所示,页面加载方法10包括:
在步骤S102中,客户端1向服务器2发送Web页面请求消息。
客户端1例如为浏览器,当用户通过浏览器中的网址栏输入相应网址后,浏览器根据用户输入的网址向对应Web服务器2发送Web页面请求消息。
在步骤S104中,服务器2响应该Web页面请求,向客户端1发送响应该Web页面请求的初始Web页面11,该初始Web页面11中包含一代理(Agent)111。
该代理111例如可以实施为一前端脚本。
在步骤S106中,客户端1在收到该初始Web页面后,通过代理向服务器2发送WebSocket连接请求消息,请求建立与服务器2之间的WebSocket连接。
例如图中客户端1创建该初始Web页面11,该初始Web页面11中包括代理111,客户端1通过代理111向服务器2发送WebSocket连接请求消息,请求建立与服务器2之间的WebSocket连接。
在步骤S108中,客户端1与服务器2之间进行WebSocket连接建立流程。
WebSocket连接建立过程为本领域技术人员所公知,对其具体流程在此不再赘述。
在步骤S110中,当WebSocket连接建立完成后,客户端1通过代理在该WebSocket连接上向服务器2发送页面组件请求消息,以请求加载页面组件。
在步骤S112中,服务器2接收到该页面组件请求消息后,从页面组件存储器3中获取该客户端1的页面组件。
其中页面组件例如以页面组件ID作为索引。
在实际应用中,该页面组件存储器3根据需求,可以实施为与服务器2在一个物理实体,也可以实施为在不同的物理实体中,本发明不以此为限。
在一些实施例中,服务器2可以包括接口模块21、WebSocket代理模块23和页面组件管理模块25。其中接口模块21又包括WebSocket接口子模块211。当由WebSocket接口子模块211在WebSocket连接上接收到页面组件请求消息后,通过WebSocket代理模块23将WebSocket连接与被请求的页面进行映射,确定出该页面组件请求所对应的页面;在确定出该页面后,通过页面组件管理模块25从页面组件存储器3中获取相应的页面组件,并转交给WebSocket代理模块23。
在步骤S114中,将获取的页面组件以及页面布局(layout)通过该WebSocket连接推送(Push)给客户端1。
例如,页面组件管理模块25通过WebSocket接口子模块211将页面组件和页面布局推送给客户端。
当有多个页面组件需要推送给客户端1时,服务器2可以分多条消息将页面组件推送给客户端1,例如每条消息分别承载不同的页面组件(如图1中的页面组件A和页面组件B),或者一条消息中承载部分的页面组件;服务器2也可以在一条消息中封装所有页面组件,一次性发送给客户端1。
在步骤S116中,客户端1通过建立的WebSocket连接收到服务器2发送的页面组件后,根据接收到的页面组件及页面布局在初始Web页面中的相应位置创建相应的页面组件。
本发明实施方式提供的页面加载方法10与现有技术中的页面加载方法不同。在本发明中,基于客户端1的请求,服务器2先将一代理通过初始页面返回给客户端1。之后,客户端1通过该代理与服务器2建立WebSocket连接。基于该WebSocket连接,客户端1可以向服务器2请求加载页面组件,服务器2可以将基于页面组件的请求将相应的页面组件和其布局返回给客户端1,以使客户端1基于页面组件与布局在初始页面中创建相应的页面组件。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
图2是根据一示例性实施方式示出的另一种页面加载方法的流程图。图2所示的页面加载方法12适用于Web客户端中。如图2所示,页面加载方法12包括:
在步骤S122中,向服务器2发送Web页面请求消息。
Web页面请求消息例如为基于HTTP协议的HTTP request消息。
在步骤S124中,接收服务器2返回的初始Web页面,该初始Web页面中包含一代理。
该初始Web页面是服务器2响应Web页面请求消息而返回给客户端1的。该代理例如可以实施为前端脚本程序。
在步骤S126中,通过该代理向服务器2发送WebSocket连接请求消息,请求建立与服务器2之间的WebSocket连接。
例如图中客户端1创建该初始Web页面11,该初始Web页面11中包括代理111,客户端1通过代理111向服务器2发送WebSocket连接请求消息,请求建立与服务器2之间的WebSocket连接。
在步骤S128中,与服务器2进行WebSocket连接建立流程。
WebSocket连接建立过程为本领域技术人员所公知,对其具体流程在此不再赘述。
在步骤S130中,在WebSocket连接建立完成后,通过代理在该WebSocket连接上向服务器2发送页面组件请求消息,以请求加载页面组件。
在步骤S132中,接收服务器2在WebSocket连接上返回的页面组件及页面布局。
当有多个页面组件需要推送给客户端1时,服务器2可以分多条消息将页面组件推送给客户端1,例如每条消息分别承载不同的页面组件(如图1中的页面组件A和页面组件B),或者一条消息中承载部分的页面组件;服务器2也可以在一条消息中封装所有页面组件,一次性发送给客户端1。
在步骤S134中,根据接收到的页面组件及页面布局在初始Web页面中的相应位置创建相应的页面组件。
图3是根据一示例性实施方式示出的再一种页面加载方法的流程图。图3所示的页面加载方法14适用于Web服务器中。如图3所示,页面加载方法14包括:
在步骤S142中,接收客户端1发送的Web页面请求消息。
Web页面请求消息例如为HTTP request消息。
在步骤S144中,基于该Web页面请求消息,向该客户端1返回一初始Web页面,该初始Web页面中包含一代理。
该代理例如可以实施为一前端脚本。
在步骤S146中,接收该客户端1发送的WebSocket连接请求消息。
在步骤S148中,与该客户端1进行WebSocket连接建立流程。
WebSocket连接建立过程为本领域技术人员所公知,对其具体流程在此不再赘述。
在步骤S150中,在该WebSocket连接上接收客户端1发送的页面组件请求消息。
在步骤S152中,当接收到该页面组件请求消息后,从页面组件存储器3中获取该客户端1的页面组件。
在实际应用中,该页面组件存储器3根据需求,可以实施为与服务器2在一个物理实体,也可以实施为在不同的物理实体中,本发明不以此为限。
联合参考图1,在一些实施例中,服务器2可以包括接口模块21、WebSocket代理模块23和页面组件管理模块25。其中接口模块21又包括WebSocket接口子模块211。当由WebSocket接口子模块211在WebSocket连接上接收到页面组件请求消息后,通过WebSocket代理模块23将WebSocket连接与被请求的页面进行映射,确定出该页面组件请求所对应的页面;在确定出该页面后,通过页面组件管理模块25从页面组件存储器3中获取相应的页面组件,并转交给WebSocket代理模块23。
在步骤S154中,将获取的页面组件以及页面布局通过该WebSocket连接推送给该客户端1。
例如,页面组件管理模块25通过WebSocket接口子模块211将页面组件和页面布局推送给客户端。
当有多个页面组件需要推送给客户端1时,服务器2可以分多条消息将页面组件推送给客户端1,例如每条消息分别承载不同的页面组件(如图1中的页面组件A和页面组件B),或者一条消息中承载部分的页面组件;服务器2也可以在一条消息中封装所有页面组件,一次性发送给客户端1。
图4是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。图4所示的页面加载方法16适用于组件数据的推送过程。如图4所示,页面加载方法16包括:
在步骤S162中,服务器2从组件数据存储器4中获取该客户端1的组件数据。
例如,当向客户端1发送完全部页面组件后,即首次获取组件数据时,从组件数据存储器4中获取所有组件的组件数据。或者,对于各页面组件,周期性地从组件数据存储器4中获取该页面组件的组件数据,从而周期地推送页面组件的组件数据给客户端1。
在实际应用中,组件数据存储器4根据需求,可以实施为与服务器2在一个物理实体,也可以实施为在不同的物理实体中,本发明不以此为限。组件数据存储器4例如可以为数据库、高速缓冲存储器(cache)等。
在一些实施例中,在首次向客户端1发送组件数据时,也可以不用在发送完所有页面组件后进行,而是发送了一个页面组件后,立即从组件数据存储器4中获取该页面组件的组件数据,从而将该页面组件和组件封装于一条消息或者多条消息中同时或先后发送。
在一些实施例中,服务器2还可以包括数据推送管理模块27。在推送组件数据之前,数据推送管理模块27通过配置读取消息向页面组件管理模块25查询各页面组件的配置属性,配置属性例如包括是否配置为主动推送数据、该页面组件的组件数据的数据源(即存储该组件数据的组件数据存储器4)的地址及推送组件数据的周期等。根据读取的页面组件的配置属性,数据推送管理模块27从组件数据存储器4中获取组件数据,并转交给WebSocket代理模块23。
在步骤S164中,服务器2将获取的组件数据通过该WebSocket连接推送给客户端1。
例如,数据推送管理模块27通过WebSocket代理模块23确定页面对应的WebSocket连接,再通过WebSocket接口子模块211将页面组件和页面布局推送给客户端1。
当有多个组件数据需要推送时,可以将其封装在一条消息中发送,也可以将其分别进行发送,本发明不以此为例。
在步骤S166中,客户端1基于已建立的Socket连接,接收组件数据。
在步骤S168中,客户端1解析接收到的组件数据,更新相应的页面组件,从而更新Web页面的显示。
本发明实施方式提供的页面加载方法16进一步提供了一种组件数据的推送方法。在首次加载所有页面组件的组件数据后,还可以通过已建立的WebSocket连接,基于各页面组件的配置,周期地推送各页面组件的更新页面数据,从而避免了现有技术中通过轮询方式请求页面数据更新而带来的浪费带宽资源的问题。
图5是根据一示例性实施方式示出的再一种页面加载方法的流程图。图5所示的页面加载方法18适用于Web客户端中。如图5所示,页面加载方法18包括:
在步骤S182中,基于已建立的Socket连接,接收组件数据。
在步骤S184中,解析接收到的组件数据,更新相应的页面组件,从而更新该页面的显示。
图6是根据一示例性实施方式示出的再一种页面加载方法的流程图。图6所示的页面加载方法20适用于Web服务器中。如图6所示,页面加载方法20包括:
在步骤S202中,从组件数据存储器4中获取该客户端1的组件数据。
例如,当向客户端1发送完全部页面组件后,即首次获取组件数据时,从组件数据存储器4中获取所有组件的组件数据。或者,对于各页面组件,周期性地从组件数据存储器4中获取该页面组件的组件数据,从而周期地推送页面组件的组件数据给客户端1。
在实际应用中,组件数据存储器4根据需求,可以实施为与服务器2在一个物理实体,也可以实施为在不同的物理实体中,本发明不以此为限。组件数据存储器4例如可以为数据库、高速缓冲存储器(cache)等。
在一些实施例中,在首次向客户端1发送组件数据时,也可以不用在发送完所有页面组件后进行,而是发送了一个页面组件后,立即从组件数据存储器4中获取该页面组件的组件数据,从而将该页面组件和组件封装于一条消息或者多条消息中同时或先后发送。
在一些实施例中,服务器2还可以包括数据推送管理模块27。在推送组件数据之前,数据推送管理模块27通过配置读取消息向页面组件管理模块25查询各页面组件的配置属性,配置属性例如包括是否配置为主动推送数据、该页面组件的组件数据的数据源(即存储该组件数据的组件数据存储器4)的地址及推送组件数据的周期等。根据读取的页面组件的配置属性,数据推送管理模块27从组件数据存储器4中获取组件数据,并转交给WebSocket代理模块23。
在步骤S202中,将获取的组件数据通过该WebSocket连接推送给客户端1。
例如,数据推送管理模块27通过WebSocket代理模块23确定页面对应的WebSocket连接,再通过WebSocket接口子模块211将页面组件和页面布局推送给客户端1。
当有多个组件数据需要推送时,可以将其封装在一条消息中发送,也可以将其分别进行发送,本发明不以此为例。
图7是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。如图7所示,页面加载方法22包括:
在步骤S222中,当用户手动操作隐藏页面中的一个或多个页面组件时,或者当用户取消隐藏页面中的一个或多个页面组件时,客户端1通过代理感知页面的该变化,并相应生成页面组件变化列表。
例如,如图7中的页面组件B被隐藏。用户可以通过点击的方式隐藏或取消隐藏页面中的一个或多个页面,如标签页(Tab页)。
页面组件变化列表中可以包括本次被隐藏的各页面组件、本次被取消隐藏的各页面组件、当前所有被隐藏的各页面组件、当前所有未被隐藏的各页面组件中的部分或全部。
在步骤S224中,客户端1基于已建立的WebSocket连接,向服务器2发送给页面组件变化列表。
在步骤S226中,服务器2接收该页面组件变化列表。
在步骤S228中,当服务器2接收到该页面组件变化列表时,根据该页面组件变化列表,停止对隐藏的页面组件的组件数据的推送和/或恢复对取消隐藏的页面组件的组件数据的推送。
如果该页面组件变化列表中仅包括本次新增的隐藏的页面组件,则停止对新增的隐藏页面组件的组件数据的推送;如果该页面组件变化列表中仅包括本次被取消隐藏的页面组件,则恢复对被取消隐藏的页面组件的组件数据的推送;如果该页面组件变化表中既包括本次新增的隐藏页面组件又包括本次被取消隐藏的页面组件,则停止对新增的隐藏的页面组件的组件数据的推送及恢复对被取消隐藏的页面组件的组件数据的推送。
在一些实施例中,当WebSocket代理模块23将收到的页面组件变化列表发送给数据推送管理模块27后,可以由数据推送管理模块27存储被隐藏的页面组件和/或被取消隐藏的页面组件,从而不推送被隐藏的页面组件的组件数据和/或恢复对被取消隐藏的页面组件的组件数据的推送。或者,还可以由数据推送管理模块27将该页面组件变化列表发送给页面组件管理模块25存储,由页面组件管理模块25根据页面组件变化列表确定被隐藏的页面组件和/或被取消隐藏的页面组件。数据推送管理模块27在需要推送页面组件的组件数据时,向页面组件管理模块25进行查询待发送数据的页面组件是否被隐藏,如果被隐藏则不推送该页面组件的组件数据,如果被取消隐藏则恢复组件数据的推送。
本发明实施方式提供的页面加载方法22进一步提供了对隐藏页面组件的组件数据的处理方法。对于被隐藏的页面组件,停止对其组件数据的推送;而当被隐藏的页面组件被恢复后,继续对其组件数据进行推送。
图8是根据一示例性实施方式示出的再一种页面加载方法的流程图。图8所示的页面加载方法24适用于Web客户端中。如图8所示,页面加载方法24包括:
在步骤S242中,当用户手动操作隐藏页面中的一个或多个页面组件时,或者当用户取消隐藏页面中的一个或多个页面组件时,通过代理感知页面的该变化,并相应生成页面组件变化列表。
例如,用户可以通过点击的方式隐藏或取消隐藏页面中的一个或多个页面,如标签页(Tab页)。
页面组件变化列表中可以包括本次被隐藏的各页面组件、本次被取消隐藏的各页面组件、当前所有被隐藏的各页面组件、当前所有未被隐藏的各页面组件中的部分或全部。
在步骤S244中,基于已建立的WebSocket连接,向服务器2发送给页面组件变化列表。
图9是根据一示例性实施方式示出的再一种页面加载方法的流程图。图9所示的页面加载方法26适用于Web服务器中。如图9所示,页面加载方法26包括:
在步骤S262中,接收页面组件变化列表。
在步骤S264中,当接收到该页面组件变化列表时,根据该页面组件变化列表,停止对隐藏的页面组件的组件数据的推送和/或恢复对取消隐藏的页面组件的组件数据的推送。
如果该页面组件变化列表中仅包括本次新增的隐藏的页面组件,则停止对新增的隐藏页面组件的组件数据的推送;如果该页面组件变化列表中仅包括本次被取消隐藏的页面组件,则恢复对被取消隐藏的页面组件的组件数据的推送;如果该页面组件变化表中既包括本次新增的隐藏页面组件又包括本次被取消隐藏的页面组件,则停止对新增的隐藏的页面组件的组件数据的推送及恢复对被取消隐藏的页面组件的组件数据的推送。
在一些实施例中,当WebSocket代理模块23将收到的页面组件变化列表发送给数据推送管理模块27后,可以由数据推送管理模块27存储被隐藏的页面组件和/或被取消隐藏的页面组件,从而不推送被隐藏的页面组件的组件数据和/或恢复对被取消隐藏的页面组件的组件数据的推送。或者,还可以由数据推送管理模块27将该页面组件变化列表发送给页面组件管理模块25存储,由页面组件管理模块25根据页面组件变化列表确定被隐藏的页面组件和/或被取消隐藏的页面组件。数据推送管理模块27在需要推送页面组件的组件数据时,向页面组件管理模块25进行查询待发送数据的页面组件是否被隐藏,如果被隐藏则不推送该页面组件的组件数据,如果被取消隐藏则恢复组件数据的推送。
图10是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。如图10所示,页面加载方法28包括:
在步骤S282中,服务器2从一外部的管理控制台(Manage Console)5接收增加页面组件消息和/或移除页面组件消息。
管理员或者具有特殊权限的用户可以通过管理控制台5查看服务器2中存储的建立了WebSocket连接的各客户端1的所有页面组件,并通过管理控制台5指示服务器2对部分或全部的客户端1进行控制,增加或移除这些客户端1的页面组件。例如,使客户端1-1增加页面组件,使客户端1-2移除页面组件。或者也可以针对同一客户端同时发送增加页面组件消息及移除页面组件消息。
增加页面组件消息可以包括针对某一个或某些个客户端1的待增加的一个或多个页面组件的页面组件ID及其属性。服务器2在收到增加页面组件消息后,为相应的客户端1存储新增的页面组件及其属性,例如可以存储于页面组件管理模块25中。
减少页面组件消息可以包括针对某一个或某些个客户端1的待移除的一个或多个页面组件的页面组件ID。服务器2在收到移除页面组件消息后,为相应的客户端1移除所述一个或多个页面组件,例如更新页面组件管理模块25中的记录,删除所述一个或多个页面组件。
在步骤S284中,服务器2将从管理控制台5接收的增加页面组件消息和/或移除页面组件消息转发给相应的客户端1。
例如,服务器2将增加页面组件消息发送给客户端1-1,指示客户端1-1增加页面组件C;将移除页面组件消息发送给客户端1-2,指示客户端1-2移除页面组件B。
在一些实施例中,由服务器2的页面组件管理模块25接收增加页面组件消息和/或移除页面组件消息,并通过WebSocket代理模块23将其映射到相应的WebSocket连接上后,再通过WebSocket接口子模块211将其分别发送给相应的客户端1,如客户端1-1和客户端1-2。
在一些实施例中,当有多个客户端1与服务器2建立了WebSocket连接时,为了节省WebSocket连接的端口资源,避免端口受限,可以对WebSocket连接的端口进行复用。关于如何进行WebSocket端口复用为本领域技术人员所公知,在此不再赘述。
在步骤S286中,客户端1接收服务器2发送的增加页面组件消息和/或移除页面组件消息。
例如,客户端1-1接收服务器2发送的增加页面组件消息,增加页面组件C;客户端1-2接收服务器2发送的移除页面组件消息,移除页面组件B。
在步骤S288中,客户端1根据接收的增加页面组件消息和/或移除页面组件消息,增加页面组件和/或移除页面组件。
例如客户端1-1根据增加页面组件消息,相应增加该消息中指示的页面组件,如以页面组件ID作为索引。客户端1-2根据移除页面组件消息,相应移除该消息中指示的页面组件。
本发明实施方式提供的页面加载方法28进一步提供了一种由外部的管理控制台对不同客户端显示页面的控制方法,例如可以由管理员或具有特殊权限的用户通过操作该管理控制台来为某些客户端增加页面组件或为某些客户端移除页面组件,从而使这些客户端所显示的页面布局及内容不同,实现了个性化的页面显示。
图11是根据一示例性实施方式示出的再一种页面加载方法的流程图。图11所示的页面加载方法30适用于Web客户端中。如图11所示,页面加载方法30包括:
在步骤S302中,接收服务器2发送的增加页面组件消息和/或移除页面组件消息。
例如,客户端1-1接收服务器2发送的增加页面组件消息,客户端1-2接收服务器2发送的移除页面组件消息。
在步骤S304中,根据接收的增加页面组件消息和/或移除页面组件消息,增加页面组件和/或移除页面组件。
例如客户端1-1根据增加页面组件消息,相应增加该消息中指示的页面组件,如以页面组件ID作为索引。客户端1-2根据移除页面组件消息,相应移除该消息中指示的页面组件。
图12是根据一示例性实施方式示出的再一种页面加载方法的流程图。图12所示的页面加载方法32适用于Web服务器中。如图12所示,页面加载方法32包括:
在步骤S322中,从一外部的管理控制台5(Manage Console)接收增加页面组件消息和/或移除页面组件消息。
管理员或者具有特殊权限的用户可以通过管理控制台5查看服务器2中存储的建立了WebSocket连接的各客户端1的所有页面组件,并通过管理控制台5指示服务器2对部分或全部的客户端1进行控制,增加或移除这些客户端1的页面组件。例如,使客户端1-1增加页面组件,使客户端1-2移除页面组件。或者也可以针对同一客户端同时发送增加页面组件消息及移除页面组件消息。
增加页面组件消息可以包括针对某一个或某些个客户端1的待增加的一个或多个页面组件的页面组件ID及其属性。服务器2在收到增加页面组件消息后,为相应的客户端1存储新增的页面组件及其属性,例如可以存储于页面组件管理模块25中。
减少页面组件消息可以包括针对某一个或某些个客户端1的待移除的一个或多个页面组件的页面组件ID。服务器2在收到移除页面组件消息后,为相应的客户端1移除所述一个或多个页面组件,例如更新页面组件管理模块25中的记录,删除所述一个或多个页面组件。
在步骤S324中,将从管理控制台5接收的增加页面组件消息和/或移除页面组件消息转发给相应的客户端1。
例如,服务器2将增加页面组件消息发送给客户端1-1,将移除页面组件消息发送给客户端1-2。
在一些实施例中,由服务器2的页面组件管理模块25接收增加页面组件消息和/或移除页面组件消息,并通过WebSocket代理模块23将其映射到相应的WebSocket连接上后,再通过WebSocket接口子模块211将其分别发送给相应的客户端1,如客户端1-1和客户端1-2。
在一些实施例中,当有多个客户端1与服务器2建立了WebSocket连接时,为了节省WebSocket连接的端口资源,避免端口受限,可以对WebSocket连接的端口进行复用。关于如何进行WebSocket端口复用为本领域技术人员所公知,在此不再赘述。
图13是根据一示例性实施方式示出的再一种页面加载方法的消息交互示意图。图14是图13所示的页面加载方法34的流程图,页面加载方法34适用于一Web服务器。如图13和图14所示,页面加载方法34包括:
在步骤S342中,根据控制信息,确定是否停止或限制向某个或某些个客户端1的全部或部分页面组件推送组件数据。
其中限制组件数据的推送包括限制组件数据的推送速率。
在一些实施例中,服务器2包括数据推送控制模块29,数据推送控制模块29包括流量控制子模块291,上述控制信息包括数据推送管理模块27从流量控制子模块291获取的、流量控制子模块291感知的高并发用户接入或大数据量传输的控制信息,即当前服务器2上的总业务量的信息。根据该控制信息,数据推送管理模块27确定是否要停止或限制向某个或某些个客户端1推送组件数据。例如,数据推送管理模块27停止或限制向当前有大数据量传输的客户端1,如图中的客户端1-1的所有页面组件推送组件数据。或者,也可以仅停止或限制某个或某些个客户端1中具有大数据量传输的某个或某些个页面组件的组件数据的推送,从而实现基于页面组件粒度的数据推送控制。
在一些实施例中,数据推送控制模块29还包括安全控制子模块293,上述控制信息还包括数据推送管理模块27从安全控制子模块293获取的、安全控制子模块293感知的具有恶意行为或恶意动机的客户端的安全控制信息。根据该安全控制信息,数据推送管理模块27停止或限制向有恶意行为或恶意动机的客户端1推送页面组件的组件数据。
在一些实施例中,上述控制信息还可以包括由页面组件管理模块25向数据推送管理模块27发送的控制消息,该控制消息中包括某个或某些个客户端1的页面组件发生变化,从而使数据推送管理模块27改变所述某个或某些个客户端1的组件数据推送状态。
在步骤S344中,停止或限制向确定的某个或某些个客户端1推送部分或全部页面组件的组件数据。
在确定了是否停止或限制向某个或某些个客户端1的全部或部分页面组件推送组件数据后,服务器2停止或限制向确定的某个或某些个客户端1推送部分或全部页面组件的组件数据。例如图13中,限制对客户端1-1的组件数据的推送。
本发明实施方式提供的页面加载方法34进一步提供了一种数据推送控制方法,可以基于当前数据发送状况、安全状况及页面组件变化状况,控制客户端组件数据的推送,可以控制客户端所有页面组件的组件数据的推送,也可以仅控制客户端中部分页面组件的组件数据的推送,从而实现了以页面组件为粒度的组件数据的推送控制。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图15是根据一示例性实施方式示出的一种应用于客户端的页面加载装置的框图。如图15所示,页面加载装置36包括:装置接口模块362、连接接口模块364以及组件创建模块366。
装置接口模块362用于向一服务器发送一Web页面的请求消息;接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;以及通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接。所述代理可以包括一前端脚本。
连接接口模块364用于基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;以及基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件。
组件创建模块366用于在所述初始页面的相应位置中创建所述页面组件。
在一些实施例中,连接接口模块364还用于基于所述WebSocket连接,接收所述服务器推送的所述Web页面的页面组件的组件数据。页面加载装置36还可以包括:页面显示模块368,用于解析所述Web页面的页面组件的组件数据,更新所述Web页面的页面组件,以显示所述Web页面。
在一些实施例中,连接接口模块364周期性地接收所述服务器推送的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同。
在一些实施例中,页面加载装置36还可以包括列表创建模块370,用于通过所述代理获取所述Web页面的页面组件的隐藏信息,形成所述Web页面的页面组件变化列表。连接接口模块364还用于基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件变化列表。其中所述Web页面的页面组件的隐藏信息可以通过侦测用户操作而获取。所述Web页面的页面组件变化列表包括:本次被隐藏的页面组件、本次被取消隐藏的页面组件、当前所有被隐藏的页面组件、当前所有未被隐藏的页面组件中的至少一项。
在一些实施例中,连接接口模块364还用于基于所述WebSocket连接,接收所述服务器发送的所述Web页面的增加页面组件消息和/或移除页面组件消息。页面加载装置36还可以包括组件管理模块372,用于根据所述Web页面的增加页面组件消息和/或移除页面组件消息,增加或移除所述Web页面中相应的页面组件。
图16是根据一示例性实施方式示出的一种应用于服务器的页面加载装置的框图。如图16所示,页面加载装置38包括:装置接口模块382、连接接口模块384以及组件管理模块386。
装置接口模块382用于接收一客户端发送的一Web页面的请求消息;向所述客户端发送所述Web页面的一初始页面,所述初始页面中包括一代理;以及接收所述客户端发送的WebSocket连接请求消息,以与所述客户端建立一WebSocket连接
连接接口模块384用于基于所述WebSocket连接,接收所述客户端发送的所述Web页面的页面组件请求消息。
组件管理模块386用于获取所述客户端的所述Web页面的页面组件。
连接接口模块384还用于基于所述WebSocket连接,向所述客户端发送所述Web页面的页面组件。
在一些实施例中,组件管理模块386还用于从一页面组件存储器获取所述客户端的所述Web页面的页面组件。
在一些实施例中,页面加载装置38还可以包括:推送管理模块388,用于从所述组件管理模块读取所述客户端的所述Web页面的页面组件的属性;根据所述属性,获取所述客户端的所述Web页面的页面组件的组件数据。连接接口模块384还用于基于所述WebSocket连接,向所述客户端推送所述Web页面的页面组件的组件数据。
在一些实施例中,推送管理模块388还用于从一组件数据存储器获取所述客户端的所述Web页面的页面组件的组件数据。
在一些实施例中,推送管理模块388还用于根据所述属性中组件数据的推送周期,周期性地获取所述客户端的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同。
在一些实施例中,连接接口模块384还用于基于所述WebSocket连接,接收所述客户端的所述Web页面的页面组件变化列表。推送管理模块388还用于根据所述页面组件变化列表,停止对所述客户端的所述Web页面中被隐藏的页面组件的组件数据的推送和/或恢复对所述客户端的所述Web页面中被取消隐藏的页面组件的组件数据的推送。
在一些实施例中,组件管理模块386还用于根据所述页面组件变化列表,更新存储的所述客户端的所述Web页面的页面组件的信息。所述Web页面的页面组件变化列表包括:本次被隐藏的页面组件、本次被取消隐藏的页面组件、当前所有被隐藏的页面组件、当前所有未被隐藏的页面组件中的至少一项。
在一些实施例中,页面加载装置38还可以包括控制信息接收模块390,用于从一管理控制台5接收所述客户端的所述Web页面的增加页面组件消息和/或移除页面组件消息。连接接口模块384还用于基于所述WebSocket连接,向所述客户端发送所述Web页面的所述增加页面组件消息和/或移除页面组件消息。
在一些实施例中,组件管理模块386还用于根据所述增加页面组件消息和/或移除页面组件消息,更新存储的所述客户端的所述Web页面的页面组件的信息。
在一些实施例中,推送管理模块388还用于根据控制信息,确定是否停止或限制推送所述客户端的所述Web页面的全部或部分页面组件的组件数据。控制信息包括:当前总业务量信息、安全控制信息、页面组件变化信息中的至少一种。
在一些实施例中,页面加载装置38还可以包括连接映射模块392,用于将所述WebSocket连接于所述客户端的所述Web页面进行映射。例如,当服务器通过连接接口模块384从一WebSocket连接上接收一消息后,连接映射模块392需要将该WebSocket连接映射为一客户端的一Web页面,从而使其他模块可以继续进行针对该客户端的该Web页面的相关操作。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
此外,本发明还公开了一种页面加载系统,包括上述应用于客户端的页面加载装置36及应用于服务器的页面加载装置38。
图17是根据一示例性实施方式示出的一种客户端输出显示系统的框图。如图17所示,客户端输出显示系统40包括:页面组件402及代理404。
页面组件402根据一页面布局进行排布,可以为一个也可以为多个。
代理404用于建立WebSocket连接以传输所述页面组件及所述页面组件的组件数据。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (18)
1.一种页面加载方法,其特征在于,包括:
向一服务器发送一Web页面的请求消息;
接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;
通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接;
基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;
基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件;
在所述初始页面的相应位置中创建所述页面组件;
基于所述WebSocket连接,接收所述服务器推送的所述Web页面的页面组件的组件数据;以及
解析所述Web页面的页面组件的组件数据,更新所述Web页面的页面组件,以显示所述Web页面;
其中,基于所述WebSocket连接,接收所述服务器推送的所述Web页面的页面组件的组件数据包括:基于所述WebSocket连接,周期性地接收所述服务器推送的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同。
2.根据权利要求1所述的页面加载方法,其特征在于,还包括:
通过所述代理获取所述Web页面的页面组件的隐藏信息,形成所述Web页面的页面组件变化列表;以及
基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件变化列表。
3.根据权利要求2所述的页面加载方法,其特征在于,所述Web页面的页面组件的隐藏信息通过侦测用户操作而获取。
4.根据权利要求2所述的页面加载方法,其特征在于,所述Web页面的页面组件变化列表包括:本次被隐藏的页面组件、本次被取消隐藏的页面组件、当前所有被隐藏的页面组件、当前所有未被隐藏的页面组件中的至少一项。
5.根据权利要求1所述的页面加载方法,其特征在于,还包括:
基于所述WebSocket连接,接收所述服务器发送的所述Web页面的增加页面组件消息和/或移除页面组件消息;以及
根据所述Web页面的增加页面组件消息和/或移除页面组件消息,增加或移除所述Web页面中相应的页面组件。
6.根据权利要求1所述的页面加载方法,其特征在于,所述代理包括一前端脚本。
7.一种页面加载方法,其特征在于,包括:
接收一客户端发送的一Web页面的请求消息;
向所述客户端发送所述Web页面的一初始页面,所述初始页面中包括一代理;
接收所述客户端发送的WebSocket连接请求消息,以与所述客户端建立一WebSocket连接;
基于所述WebSocket连接,接收所述客户端发送的所述Web页面的页面组件请求消息;
获取所述客户端的所述Web页面的页面组件;
基于所述WebSocket连接,向所述客户端发送所述Web页面的页面组件;
读取所述客户端的所述Web页面的页面组件的属性;
根据所述属性,获取所述客户端的所述Web页面的页面组件的组件数据;以及
基于所述WebSocket连接,向所述客户端推送所述Web页面的页面组件的组件数据;
其中,根据所述属性,获取所述客户端的所述Web页面的页面组件的组件数据包括:根据所述属性中组件数据的推送周期,周期性地获取所述客户端的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同。
8.根据权利要求7所述的页面加载方法,其特征在于,获取所述客户端的所述Web页面的页面组件包括:从一页面组件存储器获取所述客户端的所述Web页面的页面组件。
9.根据权利要求7所述的页面加载方法,其特征在于,获取所述客户端的所述Web页面的页面组件的组件数据包括:从一组件数据存储器获取所述客户端的所述Web页面的页面组件的组件数据。
10.根据权利要求7所述的页面加载方法,其特征在于,还包括:
基于所述WebSocket连接,接收所述客户端的所述Web页面的页面组件变化列表;
根据所述页面组件变化列表,停止对所述客户端的所述Web页面中被隐藏的页面组件的组件数据的推送和/或恢复对所述客户端的所述Web页面中被取消隐藏的页面组件的组件数据的推送。
11.根据权利要求10所述的页面加载方法,其特征在于,还包括:
根据所述页面组件变化列表,更新存储的所述客户端的所述Web页面的页面组件的信息。
12.根据权利要求10所述的页面加载方法,其特征在于,所述Web页面的页面组件变化列表包括:本次被隐藏的页面组件、本次被取消隐藏的页面组件、当前所有被隐藏的页面组件、当前所有未被隐藏的页面组件中的至少一项。
13.根据权利要求7所述的页面加载方法,其特征在于,还包括:
从一管理控制台接收所述客户端的所述Web页面的增加页面组件消息和/或移除页面组件消息;以及
基于所述WebSocket连接,向所述客户端发送所述Web页面的所述增加页面组件消息和/或移除页面组件消息。
14.根据权利要求13所述的页面加载方法,其特征在于,还包括:
根据所述增加页面组件消息和/或移除页面组件消息,更新存储的所述客户端的所述Web页面的页面组件的信息。
15.根据权利要求7所述的页面加载方法,其特征在于,还包括:
根据控制信息,确定是否停止或限制推送所述客户端的所述Web页面的全部或部分页面组件的组件数据。
16.根据权利要求15所述的页面加载方法,其特征在于,所述控制信息包括:当前总业务量信息、安全控制信息、页面组件变化信息中的至少一种。
17.一种应用于客户端的页面加载装置,其特征在于,包括:
装置接口模块,用于向一服务器发送一Web页面的请求消息;接收所述服务器返回的所述Web页面的一初始页面,所述初始页面中包括一代理;以及通过所述代理向所述服务器发送WebSocket连接请求消息,以与所述服务器建立一WebSocket连接;
连接接口模块,用于基于所述WebSocket连接,向所述服务器发送所述Web页面的页面组件请求消息,以加载所述Web页面中的页面组件;基于所述WebSocket连接,接收所述服务器返回的所述Web页面的页面组件;以及基于所述WebSocket连接,周期性地接收所述服务器推送的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同;
组件创建模块,用于在所述初始页面的相应位置中创建所述页面组件;以及
页面显示模块,用于解析所述Web页面的页面组件的组件数据,更新所述Web页面的页面组件,以显示所述Web页面。
18.一种应用于服务器的页面加载装置,其特征在于,包括:
装置接口模块,用于接收一客户端发送的一Web页面的请求消息;向所述客户端发送所述Web页面的一初始页面,所述初始页面中包括一代理;以及接收所述客户端发送的WebSocket连接请求消息,以与所述客户端建立一WebSocket连接;
连接接口模块,用于基于所述WebSocket连接,接收所述客户端发送的所述Web页面的页面组件请求消息;
组件管理模块,用于获取所述客户端的所述Web页面的页面组件;以及
推送管理模块,用于从所述组件管理模块读取所述客户端的所述Web页面的页面组件的属性;并根据所述属性中组件数据的推送周期,周期性地获取所述客户端的所述Web页面的页面组件的组件数据;当所述Web页面的页面组件为多个时,各页面组件的组件数据的推送周期彼此相同或不同;
其中所述连接接口模块还用于基于所述WebSocket连接,向所述客户端发送所述Web页面的页面组件;及基于所述WebSocket连接,向所述客户端推送所述Web页面的页面组件的组件数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610153005.7A CN107203541B (zh) | 2016-03-17 | 2016-03-17 | 页面加载方法及其页面加载装置 |
US15/299,740 US10356156B2 (en) | 2016-03-17 | 2016-10-21 | Method and device for loading webpage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610153005.7A CN107203541B (zh) | 2016-03-17 | 2016-03-17 | 页面加载方法及其页面加载装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107203541A CN107203541A (zh) | 2017-09-26 |
CN107203541B true CN107203541B (zh) | 2020-04-14 |
Family
ID=59856087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610153005.7A Active CN107203541B (zh) | 2016-03-17 | 2016-03-17 | 页面加载方法及其页面加载装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10356156B2 (zh) |
CN (1) | CN107203541B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508895A (zh) * | 2017-08-30 | 2017-12-22 | 武汉斗鱼网络科技有限公司 | 页面加载方法、装置及存储介质 |
CN107977424B (zh) * | 2017-11-27 | 2021-09-14 | 山东云缦智能科技有限公司 | 一种网页交互系统及方法 |
CN109857473A (zh) * | 2017-11-29 | 2019-06-07 | 北京京东尚科信息技术有限公司 | 一种页面数据的加载方法和装置 |
CN108512917B (zh) * | 2018-03-23 | 2021-02-26 | 杭州迪普科技股份有限公司 | 一种基于Websocket的数据推送方法及系统 |
CN110321187B (zh) * | 2018-03-30 | 2022-08-30 | 合肥杰发科技有限公司 | 基于代理模式的多媒体显示方法、装置及设备 |
CN108920653A (zh) * | 2018-07-03 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 一种页面生成方法、装置、服务器及存储介质 |
CN109743381B (zh) * | 2018-12-27 | 2022-04-05 | 北京字节跳动网络技术有限公司 | 客户端与服务端长连接交互方法及装置 |
CN109889493B (zh) * | 2019-01-04 | 2021-08-13 | 上海七印信息科技有限公司 | 一种基于WebSocket协议的页面快速访问方法 |
CN110213155B (zh) * | 2019-05-06 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 通信处理方法、装置及相关设备、存储介质 |
CN110278258A (zh) * | 2019-06-14 | 2019-09-24 | 郑州阿帕斯科技有限公司 | 一种动态网页加速的方法和装置 |
CN110489691A (zh) * | 2019-07-03 | 2019-11-22 | 平安证券股份有限公司 | 页面组件显示方法及终端设备 |
CN110650202B (zh) * | 2019-09-26 | 2021-02-19 | 支付宝(杭州)信息技术有限公司 | 通信交互方法、装置及电子设备 |
CN112883298B (zh) * | 2019-11-29 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN111581561A (zh) * | 2020-04-29 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 页面的显示控制方法、装置、客户端及存储介质 |
CN112507263B (zh) * | 2021-02-05 | 2021-05-14 | 平安普惠企业管理有限公司 | 页面加载更新方法、装置、电子设备及存储介质 |
CN112925585B (zh) * | 2021-03-09 | 2024-04-09 | 广州虎牙科技有限公司 | 资源加载方法、装置、电子设备及存储介质 |
CN113934557A (zh) * | 2021-10-25 | 2022-01-14 | 同程网络科技股份有限公司 | 小程序与网页通信的方法、相关设备及系统 |
CN114116089B (zh) * | 2021-11-08 | 2024-07-12 | 广州鸿大智能科技有限公司 | 一种数据可视化方法、装置、设备及存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407644C (zh) * | 2005-05-25 | 2008-07-30 | 中兴通讯股份有限公司 | 一种web网管系统中显示实时数据的方法 |
CN101226525B (zh) * | 2007-01-19 | 2012-02-15 | 国际商业机器公司 | 控制web页面的下载和显示的方法、服务器、客户端及系统 |
US20100082410A1 (en) * | 2008-09-29 | 2010-04-01 | Catherine Baudin | Method and apparatus for a data processing system |
US9459936B2 (en) * | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
CN101697139B (zh) * | 2009-11-06 | 2013-04-17 | 金蝶软件(中国)有限公司 | 一种远程过程调用方法、装置和注册库 |
US8572252B2 (en) * | 2010-04-09 | 2013-10-29 | Microsoft Corporation | Extensible dynamic performance instrumentation of pages |
US8990325B2 (en) * | 2012-04-30 | 2015-03-24 | Cbs Interactive Inc. | Real-time and interactive community-based content publishing system |
US9319449B2 (en) * | 2012-06-29 | 2016-04-19 | Mckesson Financial Holdings | Method, apparatus, and computer program product for processing data requests |
US9116706B2 (en) * | 2012-10-09 | 2015-08-25 | Tamer Yunten | Yunten's web application methodology and web programming language (YWAM and WPL) |
US9613011B2 (en) * | 2012-12-20 | 2017-04-04 | Cable Television Laboratories, Inc. | Cross-reference of shared browser applications |
US9639623B2 (en) * | 2012-12-20 | 2017-05-02 | Cable Television Laboratories, Inc. | Method for remotely controlling a video playing within a first web page at a first device from a second device using a document object model |
US9832178B2 (en) * | 2012-12-20 | 2017-11-28 | Cable Television Laboratories, Inc. | Administration of web page |
EP2944055A4 (en) * | 2013-01-11 | 2016-08-17 | Db Networks Inc | SYSTEMS AND METHOD FOR DETECTING AND WEAKING DOWN THREATS FOR A STRUCTURED DATA STORAGE SYSTEM |
US9426200B2 (en) * | 2013-03-12 | 2016-08-23 | Sap Se | Updating dynamic content in cached resources |
US9173000B2 (en) * | 2013-04-12 | 2015-10-27 | Sony Corporation | Automatic discovery and mirroring of server-client remote user interface (RUI) session on a companion device and synchronously controlling both sessions using RUI on companion device |
US20150067138A1 (en) * | 2013-08-27 | 2015-03-05 | International Business Machines Corporation | Optimize data exchange for mvc-based web applications |
WO2015119658A1 (en) * | 2014-02-07 | 2015-08-13 | Oracle International Corporation | Mobile cloud service architecture |
US9838476B2 (en) * | 2014-03-26 | 2017-12-05 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
RU2014122128A (ru) * | 2014-05-29 | 2015-12-10 | Общество С Ограниченной Ответственностью "Яндекс" | Способ отображения веб-ресурса пользователю при помощи браузера и электронное устройство, используемое в нем |
US9716903B2 (en) * | 2014-07-31 | 2017-07-25 | Diego Cardona | Live streaming-TV content, acquisition, transformation, encryption, and distribution system, and method for its use |
JP2016076132A (ja) * | 2014-10-07 | 2016-05-12 | 株式会社東芝 | 情報処理装置及び情報処理システム |
US9912758B2 (en) * | 2014-12-16 | 2018-03-06 | Yahoo Holdings, Inc. | Continuing an application session on a different device |
CN104820539A (zh) * | 2015-05-19 | 2015-08-05 | 重庆大学 | 一种可交互式图形的复现方法 |
US20170149915A1 (en) * | 2015-11-25 | 2017-05-25 | Sap Se | System and method of feed data transmission |
US10341419B2 (en) * | 2016-08-08 | 2019-07-02 | Tnq Books And Journals Private Limited | Transformation of a content file into a content-centric social network |
-
2016
- 2016-03-17 CN CN201610153005.7A patent/CN107203541B/zh active Active
- 2016-10-21 US US15/299,740 patent/US10356156B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10356156B2 (en) | 2019-07-16 |
US20170272499A1 (en) | 2017-09-21 |
CN107203541A (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203541B (zh) | 页面加载方法及其页面加载装置 | |
RU2471227C2 (ru) | Содействуемая обслуживающим узлом и одноранговая синхронизация | |
US8725891B2 (en) | Aggregation across cloud providers | |
US8935397B2 (en) | Dividing cloud resources | |
US11563674B2 (en) | Content based routing method and apparatus | |
US8639747B2 (en) | System and method for providing a cloud computing graphical user interface | |
EP2724251B1 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
CN111399756B (zh) | 一种数据存储方法、数据下载方法及装置 | |
HU225072B1 (en) | Server computer with load balancing and method of operating the server computer | |
US20120102479A1 (en) | Automated service version upgrading | |
US20180248772A1 (en) | Managing intelligent microservices in a data streaming ecosystem | |
US20180248977A1 (en) | Selective distribution of messages in a publish-subscribe system | |
KR20110008179A (ko) | 사이트맵 생성 | |
CN105095220B (zh) | 一种浏览器实现方法、终端和虚拟化代理装置 | |
US8271472B2 (en) | System and method for exposing both portal and web content within a single search collection | |
CN116150513A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US9742818B2 (en) | Pushing events to web pages used for interaction with applications | |
US20220229858A1 (en) | Multi-cloud object store access | |
US9537736B2 (en) | Methods and systems to generate reports including report references for navigation | |
CN112783548B (zh) | 网络系统的访问方法及装置 | |
CN109600452B (zh) | 服务器集群、消息推送方法及相关服务器 | |
CN110622135B (zh) | 在涉及欠佳网络条件的情形下提供内容项的系统和方法 | |
CN103914453A (zh) | 本地资源访问方法、本地资源访问装置和电子设备 | |
JP2016091449A (ja) | ローカルストレージ同期方法、ローカルストレージ同期装置およびローカルストレージ同期プログラム | |
CN114035761B (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 |