CN111008032A - 一种页面数据更新方法及装置 - Google Patents
一种页面数据更新方法及装置 Download PDFInfo
- Publication number
- CN111008032A CN111008032A CN201911398628.0A CN201911398628A CN111008032A CN 111008032 A CN111008032 A CN 111008032A CN 201911398628 A CN201911398628 A CN 201911398628A CN 111008032 A CN111008032 A CN 111008032A
- Authority
- CN
- China
- Prior art keywords
- subscription
- server
- page
- component
- data object
- 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 61
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000012508 change request Methods 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008531 maintenance mechanism Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 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
- 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
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 Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种页面数据更新方法及装置,该方法包括:第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,订阅更新消息用于指示第一页面订阅的第一数据对象发生更改;订阅更新消息是第一服务器在接收到第二服务器基于第一页面的更新而发送的第一推送请求后生成的;第一订阅组件根据订阅更新消息,从第二服务器获取第一数据对象;第一订阅组件根据第一数据对象对第一页面进行渲染。如此,本申请实现第一客户端可以即时更新数据,而不需要第一客户端的用户进行查询操作和第一客户端以轮询机制向服务器发送查询请求,减小服务器处理压力。且第一订阅组件与第一页面数据没有耦合关系,能够支持***升级与维护。
Description
技术领域
本申请涉及金融科技(Fintech)的大数据技术领域,尤其涉及一种页面数据更新方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。在网络迅速发展的今天,已经实现可以通过计算机直接处理大部分金融业务,这种方式极大地节省了人力资源,又可以快速且准确的处理金融业务,提高了金融业务处理的精确性和实时性。
当前,计算机处理业务的大体架构,大致包括三部分,即客户端、服务器、数据库,在数据获取时,客户端向服务器发送查询数据请求,服务器接收查询数据请求后,从数据库中获取当前最新数据,将最新数据发送到客户端;过程中需要用户主动进行相应的操作才能发送查询数据请求,获取到最新数据,若用户不进行相应的操作,则得不到最新数据;为了改变这种被动的更新数据的方式,在客户端中加入了异步请求轮询机制,即在一定时间间隔内,客户端不需要用户操作也可每隔固定时间段主动发送查询数据请求,服务器接收查询数据请求后,从数据库中获取当前最新数据,若当前最新数据与客户端数据不同,则将该最新数据发送至客户端;这种方式实现了数据主动更新,但也加大了服务器的消耗;例如,一个客户端轮询机制时间间隔为一分钟,每一分钟发送一次查询数据请求,服务器一小时就要接受60次查询数据请求并处理,若一千个客户端,每个客户端每一分钟都发送一次查询数据请求,服务器一小时就要接受60000次查询数据请求。
另外,上述两种方式的客户端页面中若包含变量数据,一般来说,每一个或多个局部变量就会有相应的维护机制,且维护机制与其对应的变量具有耦合关系;如此,随着***升级功能增加,***中大量变量数据更改对应着维护机制的对应更改,因此使得更改数据操作呈指数增加,导致***升级最终无法进行。
因此,现在亟需一种页面数据更新方法及装置,能够支持***升级与维护,且可实现数据实时自动更新。
发明内容
本发明实施例提供一种页面数据更新方法及装置,能够支持***升级与维护,且可实现数据实时自动更新。
第一方面,本发明实施例提供一种页面数据更新方法,该方法包括:
第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
采用上述方法,通过在第一客户端设置第一订阅组件,使得第一客户端在显示第一页面时,则可以接收到第二服务器发送给第一服务器,并由第一服务器发送的订阅更新消息,以此通过第一阅读组件使第一客户端的第一页面重新渲染,第一页面显示更新后的数据。如此,相比于现有技术中,第一客户端需要用户进行相应的查询操作发送数据查询消息获取最新数据,或第一客户端使用轮询机制不断发送数据查询消息来说,本申请实现第一客户端可以即时获得订阅更新消息,得到更新后的最新数据,而不需要第一客户端的用户进行查询操作和第一客户端不断向服务器发送查询请求,减小服务器处理压力。另外,相比于现有技术中维护数据维护机制与数据耦合,本申请第一订阅组件与第一页面数据没有耦合关系,能够支持***升级与维护。
在一种可能的设计中,所述接收到第一服务器发送的订阅更新消息之前,还包括:所述第一订阅组件的第一组件从所述第一页面中确定需订阅的各数据对象并发送给所述第一订阅组件的第二组件;所述第一订阅组件的第二组件向所述第一服务器发送针对所述第一页面的订阅请求,所述订阅请求包括所述需订阅的各数据对象。
采用上述方法,通过第一阅读组件中的第一组件确定第一页面中的数据对象,并在第一组件中得到各数据对象的唯一标识,通过第二组件向第一服务器发送订阅请求。以此,使得第一客户端与第一服务器之间的通道建立,实现消息传递,如此完成发送订阅请求的动作。
在一种可能的设计中,所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象,包括:所述第一订阅组件的第二组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染,包括:所述第一订阅组件的第一组件从所述第一订阅组件的第二组件获取所述第一数据对象;所述第一订阅组件的第一组件根据所述第一数据对象对所述第一页面进行渲染。
采用上述方法,第一阅读组件的第二组件从第二服务器中获取更新后的第一数据对象,第一组件从第二组件中获取更新后的第一数据对象,对第一页面进行渲染。如此,使得第一客户端可以通过第一阅读组件的第二组件从第一服务器中获取订阅更新消息,并根据订阅更新消息从第二服务器中获取更新后的第一数据对象,实现第一服务器主动告知第一客户端更新消息后,第一客户端再获取更新后的第一数据对象,也就是说,不需要用户进行查询操作或在客户端设置轮询机制就可以实现接收更新后的数据,提高第一客户端的数据更新的简便性和及时性,也减小服务器处理压力。另外,因为第一阅读组件与第一页面数据不耦合,能够支持***升级与维护。
在一种可能的设计中,所述方法还包括:
所述第一订阅组件在对所述第一客户端显示的第二页面中的第二数据对象进行操作后,向所述第二服务器发送数据变更请求;所述数据变更请求用于触发所述第二服务器基于所述第二页面的更新而向所述第一服务器发送第二推送请求;所述第一客户端从所述第二服务器获取更新后的第二数据对象,并根据更新后的第二数据对象对所述第二页面进行渲染。
采用上述方法,第一订阅组件向第二服务器发送数据变更请求,第二服务器向第一服务器发送第二推送请求,且第一客户端从第二服务器中获取更新后的第二数据对象,并重新渲染第二页面。如此,第一客户端实现了数据更新,第一服务器接收了推送请求,通知其他订阅该数据的客户端数据更新消息,使得其他订阅该数据的客户端获取更新后的第二数据对象。实现数据实时更新。
第二方面,本发明实施例提供一种页面数据更新方法,该方法包括:
第一服务器接收到第二服务器发送的第一推送请求;所述第一推送请求用于指示第一页面的第一数据对象发生更改;所述第一服务器确定订阅所述第一数据对象的第一客户端;所述第一服务器向所述第一客户端的第一订阅组件发送订阅更新消息,所述订阅更新消息用于指示所述第一订阅组件从所述第二服务器获取对所述第一页面进行渲染的所述第一数据对象。
采用上述方法,第一服务器接收第一推送请求确定了有第二客户端更改第一数据对象,则向第一客户端发送订阅更新消息,使第一订阅组件从第二服务器中获取第一数据对象。以此实现第一客户端每当有数据更改,都可以及时获得最新数据。
在一种可能的设计中,所述方法还包括:
第一服务器接收到第二服务器发送的第一推送请求之前,还包括:
所述第一服务器接收所述第一订阅组件的第二组件发送的针对所述第一页面的订阅请求,所述订阅请求包括需订阅的各数据对象;所述需订阅的各数据对象是所述第一订阅组件的第一组件从所述第一页面中确定并发送给所述第一订阅组件的第二组件。
采用上述方法,第一服务器接收包括需订阅的各数据对象的订阅请求,使得第一服务器中时刻保持此时第二客户端的信息,以此,第一服务器接收到第二服务器发送的推送请求时,可以及时向第二客户端发送数据更改的消息,使第二客户端去第二服务器中获取最新数据,实现数据的实时更新。
第三方面,本发明实施例提供一种页面数据更新方法,该方法包括:
第二服务器确定第一页面的第一数据对象发生更改后,向第一服务器发送针对所述第一页面的第一推送请求;所述第一推送消息用于所述第一服务器向订阅所述第一数据对象的第一客户端的第一订阅组件发送订阅更新消息;所述第二服务器基于所述订阅更新消息为所述第一订阅组件提供所述第一数据对象;所述第一订阅组件用于根据所述第一数据对象对所述第一客户端显示的第一页面进行渲染。
采用上述方法,第二服务器确定第一数据对象发生更改后,向第一服务器发送第一推送请求,使得第一服务器告知所有第二客户端,数据发生更改,使得所有第二客户端获取最新数据。第二服务器在县第一服务器发送第一推送请求后,第二客户端分别从第二服务器中获取最新数据对显示页面渲染,实现数据及时更新。
第四方面,本发明实施例提供一种页面数据更新装置,该装置包括:
收发模块,用于第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;
获取模块,用于所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
处理模块,用于所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
第五方面,本申请实施例还提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。
第六方面,本申请实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种页面数据更新方法的流程示意图;
图2为本发明实施例提供的又一种页面数据更新方法的流程示意图;
图3为本发明实施例提供的又一种页面数据更新方法的流程示意图;
图4为本发明实施例提供的一种页面数据更新***的架构示意图;
图5为本发明实施例提供的一种页面数据更新方法的流程示意图;
图6为本发明实施例提供的一种页面数据更新的装置示意图;
图7为本发明实施例提供的一种页面数据更新的装置示意图;
图8为本发明实施例提供的一种页面数据更新的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
客户端浏览页面的相应数据来自于服务器中的数据库,数据的更改也是在服务器的数据库中进行;现有技术中,因为服务器不能主动向客户端推送最新数据,也不能通知客户端数据变更消息;因此,当服务器的数据库中的数据发生变更时,客户端并不能获知数据变更消息,也因此,需要用户进行相应的刷新页面等操作或在客户端设置轮询机制,即以一定时间间隔向服务器发送数据获取请求;这种两种方式使得数据不能实时更新,还会造成用户操作繁琐或服务器处理工作压力大的问题。基于此,本申请实施例提供了一种页面数据更新方法的流程,如图1所示,包括:
步骤101、第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;
此处,在第一客户端显示第一页面之前,第一客户端打开第一页面时所述第一订阅组件的第一组件从所述第一页面中确定需订阅的各数据对象并发送给所述第一订阅组件的第二组件;所述第一订阅组件的第二组件向所述第一服务器发送针对所述第一页面的订阅请求,所述订阅请求包括所述需订阅的各数据对象。
其中,第一客户端可以是电脑、手机、IPAD等具有显示屏的电子设备。第一页面可以是APP或浏览器等应用软件的显示界面。第一订阅组件为安装APP或浏览器等应用软件中的插件,或者APP或浏览器等应用软件在应用过程中加载的插件。第一订阅组件包括第一组件和第二组件,第一组件可以为第一页面中的标签与页面中其它部分组成页面,如,数据代理-Data Delegate;第二组件可以存储数据和收发信息,第二组件可以包括两部分,一部分做内部数据存储和管理等逻辑工作,如,数据引擎-Data Engine;一部分负责收发消息。第一服务器为具有广播功能的服务器,例如:第一服务器可以是websocket server+redis。第二服务器可以为server+Database,数据对象可以是***需求、业务需求、任务、缺陷、测试用例等。
也就是说,在第一客户端在显示第一页面前,先要获取第一页面中所需要订阅的各数据对象,因此,第一订阅组件中的第一组件首先从第一页面中获取需要订阅的各数据对象的数据类型和数据ID,将数据类型和ID组合形成如图1中整个***架构中的唯一数据标识。将各数据对象的数据标识发送至第一订阅组件的第二组件中,第二组件将数据类型、数据ID、数据标识等相关信息存储,然后根据ID数据对象的数据类型、数据ID、数据标识,以每个对象为最小单位,将其数据标识和数据类型、数据ID等相关数据以key-value的形式存储在内存中。同时对外暴露订阅和获取、传递数据的方法,方便第一组件获取个数据对象。第二组件再将包含和数据对象的数据标识的订阅请求发送至第一服务器,如此使得第一服务器得知当前订阅的客户端信息,当接收到第二服务器发送的订阅更新消息后,得知该订阅更新消息中更改第一数据对象,第一服务器将该订阅更新消息发送至包含第一数据对象的正在显示的第一页面的第一客户端,第一客户端接收到订阅更新消息后,获取更改后的第一数据对象。
步骤102、所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
此处,所述第一订阅组件的第二组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
也就是说,在步骤101中,第一客户端接收到订阅更新消息,也就是第一客户端的第一订阅组件中的第二组件获取到该订阅更新消息,并从第二服务器中获取该订阅更新消息中被更改的第一数据对象的当前最新第一数据对象。
步骤103、所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
此处,所述第一订阅组件的第一组件从所述第一订阅组件的第二组件获取所述第一数据对象;所述第一订阅组件的第一组件根据所述第一数据对象对所述第一页面进行渲染。
也就是说,如步骤102中第二组件从第二服务器中获取到当前最新第一数据对象后,第一订阅组件中的第一组件从第二组中获取当前最新的第一数据对象,第一组件根据该当前最新的第一数据对象将第一页面中原有的第一数据对象替换,对第一页面进行渲染,得到包含当前最新的第一数据对象的第一页面。
此外,当第一客户端中的数据被更改时:所述第一订阅组件在对所述第一客户端显示的第二页面中的第二数据对象进行操作后,向所述第二服务器发送数据变更请求;所述数据变更请求用于触发所述第二服务器基于所述第二页面的更新而向所述第一服务器发送第二推送请求;所述第一客户端从所述第二服务器获取更新后的第二数据对象,并根据更新后的第二数据对象对所述第二页面进行渲染。
其中,第二数据对象为在第一客户端被更改的数据对象,例如,在第一客户端的第二页面中有数据对象(第二数据对象)story-A(数据对象)、251(ID),修改为story-B(数据对象)、251(ID)。第二页面为第二数据对象对应的显示页面。
也就是说,当第一客户端中的第二页面中的第二数据对象被更改时,第一订阅组件向第二服务器发送数据变更请求,第二服务器获取到数据变更请求后,根据数据变更请求在本地数据库将第二数据对象更新,并将更新后的第二数据对象返回第一客户端的第一订阅组件;同时发送第二推送请求值第一服务器。如此,使得第一客户端的第一订阅组件获取更新后的第二数据对象并将第二页面中的原第二数据对象替换,对第二页面进行渲染。同时使得第一服务器接收到第二推送请求,向订阅了该第二数据对象的数据发起广播,告知第二户数对象被更改。
采用上述方法,通过在第一客户端设置第一订阅组件,使得第一客户端在显示第一页面时,则可以接收到第二服务器发送给第一服务器,并由第一服务器发送的订阅更新消息,以此通过第一阅读组件使第一客户端的第一页面重新渲染,第一页面显示更新后的数据。如此,相比于现有技术中,第一客户端需要用户进行相应的查询操作发送数据查询消息获取最新数据,或第一客户端使用轮询机制不断发送数据查询消息来说,本申请实现第一客户端可以即时获得订阅更新消息,得到更新后的最新数据,而不需要第一客户端的用户进行查询操作和第一客户端不断向服务器发送查询请求,减小服务器处理压力。另外,相比于现有技术中维护数据维护机制与数据耦合,本申请第一订阅组件与第一页面数据没有耦合关系,能够支持***升级与维护。
基于上述流程,本申请实施例提供了又一种页面数据更新方法的流程,如图2所示,包括:
步骤201、第一服务器接收到第二服务器发送的第一推送请求;所述第一推送请求用于指示第一页面的第一数据对象发生更改;
此处,第一服务器接收到第二服务器发送的第一推送请求之前,还包括:
所述第一服务器接收所述第一订阅组件的第二组件发送的针对所述第一页面的订阅请求,所述订阅请求包括需订阅的各数据对象;所述需订阅的各数据对象是所述第一订阅组件的第一组件从所述第一页面中确定并发送给所述第一订阅组件的第二组件。
也就是说,第一服务器接收到第二服务器发送的第一推送请求之前,第一服务器接收第一客户端中的第一订阅组件的第一组件发送至第二组件,并由第二组件发送的各数据对象信息,相对该第一客户端此时正要打开浏览的第一页面的订阅请求,且该订阅请求中包含显示该第一页面需要订阅的各数据对象,此时,第一服务器中存储了该第一客户端当前订阅的第一页面的各数据对象信息。以此,建立第一服务器与第一客户端之间的通道,实现第一客户端和第一服务器间交互。
此处,当第一客户端第一页面中的第一数据对象被更改时,第一客户端会发送数据变更请求至第二服务器,第二服务器返回第一数据对象的更新数据,同时向第一服务器发送第一推送请求,也就是说,第二服务器告知第一服务器,第一数据对象被更改。
步骤202、所述第一服务器确定订阅所述第一数据对象的第一客户端;
此处,在步骤201中第一服务器中存储了该第一客户端当前订阅的第一页面的各数据对象信息。以此,保证后续接收到第一推送请求时,可以确定当前订阅了第一数据对象的客户端集合中包括第一客户端,通过广播的方式通知第一客户端和集合中的所有其他客户端第一数据对象被更改的消息。
步骤203、所述第一服务器向所述第一客户端的第一订阅组件发送订阅更新消息,所述订阅更新消息用于指示所述第一订阅组件从所述第二服务器获取对所述第一页面进行渲染的所述第一数据对象。
此处,即步骤202中所述,第一服务器向第一客户端的第一订阅组件发送订阅更新消息,通知第一客户端第一数据对象被更改,第一客户端当前显示的第一数据对象已经过时,需要重新获取新的第一数据对象,以此,第一订阅组件发送获取第一数据对象请求,获得新的第一数据对象。
基于图1和图2的流程,本申请实施例提供了又一种页面数据更新方法的流程,如图3所示,包括:
步骤301、第二服务器确定第一页面的第一数据对象发生更改后,向第一服务器发送针对所述第一页面的第一推送请求;所述第一推送消息用于所述第一服务器向订阅所述第一数据对象的第一客户端的第一订阅组件发送订阅更新消息;
此处,当第一客户端的第一页面中的第一数据对象被更改,向第二服务器发送获取第一数据对象请求,此时,第二服务器确定第一页面的第一数据对象发送更改,则向第一服务器发送第一推送请求,第一服务器接收第一推送请求后,向第一客户端发送订阅更新消息。
步骤302、所述第二服务器基于所述订阅更新消息为所述第一订阅组件提供所述第一数据对象;所述第一订阅组件用于根据所述第一数据对象对所述第一客户端显示的第一页面进行渲染。
此处,第一客户端的第一订阅组件接收第一服务器发送的订阅更新消息后确定第一数据对象发生更改,此时的第一数据对象为过时的数据对象,则向第二服务器发送获取第一数据对象请求,第二服务器根据获取第一数据对象请求返回当前最新的第一数据对象,第一订阅组件根据当前最新的第一数据对象替换原第一数据对象,对第一页面进行渲染。
本申请实施例提供了一种页面数据更新的***架构示意图,如图4所示,包括:第一客户端和第一客户端中的第一订阅组件以及第一订阅组件中的第一组件和第二组件,其它第二客户端的订阅组件以及订阅组件中的第一组件和第二组件,以及包含数据库的第二服务器和包含存储***的第一数据库。
首先第一客户端和第二客户端先要发送订阅请求至第一服务器,建立第一服务器与第一客户端和第二客户端的交互通道,第一服务器存储订阅信息,并将订阅信息发送至第二服务器。且第一客户端和其它第二客户端发送数据获取请求至第二服务器,获取当前页面相应的数据对象。当第一客户端或其他第二客户端将当前页面相应的数据对象中的一个或多个数据对象更改时,发送获取更改数据对象请求至第二服务器,第二服务器返回更改后的数据对象并发送通知到第一服务器,通知第一服务器数据对象被更改,第一服务器发送订阅更新消息至第二组件,第二组件接收订阅更新消息得知数据对象更改,则去第二服务器中获取当前最新的数据对象,获得后第二组件将点前最新的数据对象发送或对第一组件暴露当前最新数据对象,或通过其他方法使得第一组件得到当前最新数据对象,第一组件根据当前最新数据对象将当前页面渲染。
基于图4的***架构,本申请实施例提供了又一种页面数据更新方法的流程,如图5所示,包括:
步骤501、当第一客户端显示第一页面时,第一客户端中的第一组件将第一页面的各数据对象类型和ID组装成各数据对象对应的数据对象标识,发送至第二组件。步骤502、第二组件生成包含各数据对象标识的订阅请求发送至第一服务器,为了使得第一服务器中包含第一客户端所订阅的数据对象信息,便于后续若第一客户端的订阅的数据对象被其它第二客户端更改,接收第一服务器广播的订阅更新消息。步骤503、第二组件生成包含各数据对象标识的获取数据对象请求发送至第二服务器,为了获取第一客户端打开的第一页面中的数据对象,使得第一客户端可以显示第一页面,第二服务器中的数据库中存储有显示第一页面所需的数据对象信息。
步骤504、第一服务器发送订阅请求至第二服务器。
步骤505、第二服务器根据获取数据对象请求向第一客户端的第二组件发送相应的数据对象。第一客户端的第二组件接收数据对象后,第一客户端的第一组件获取该数据对象使得第一页面显示。
上述步骤过程为客户端在首次打开某个页面时的实现过程,一方面通过第二服务器实现了获取该页面当前显示的信息,另一方面通过第一服务器实现了对该页面的数据对象的订阅,从而使得在订阅的数据对象发生改变时,可以实时更新该客户端的该页面。
步骤506、第二客户端向第二服务器发送数据变更请求。
步骤507、第二服务器接收数据变更请求,根据数据变更请求中的数据变更信息生成第一推送请求,将该第一推送请求发送至第一服务器。
步骤508、第一服务器向包括第一客户端的客户端集群广播订阅更新消息。也可以向所有客户端广播订阅更新消息,由客户端判断是否接收该消息。第一服务器发送的订阅更新消息是基于第一推送请求生成的。
步骤509、第二服务器接收数据变更请求,则向发送该请求的第二客户端发送变更后的数据。
步骤510、第一客户端的第二组件接收第一服务器发送的订阅更新消息后向第二服务器发送数据获取请求,以获取变更后的数据。
步骤511、第二服务器根据该数据获取请求向第一客户端的第二组件发送变更后的数据。
步骤512、第二组件接收变更后的数据并存储。
步骤513、第一组件获取第二组件中变更后的数据,将原数据替换为变更后的数据。
上述步骤体现了,在第二客户端对数据对象进行更新时,如何实现订阅了相同数据对象的第一客户端的自动更新。
步骤514、若第一客户端用户更改第一页面数据,则第一组件获得第一页面数据更改请求,通知第二组件该数据标识对应的数据对象请求变更。
步骤515、第二组件生成数据变更请求发生至第二服务器。
步骤516、第二服务器接收数据变更请求后发生第一推送请求至第一服务器。
步骤517、第二服务器发生变更后的数据至第二组件,由第二组件保存。
步骤518、第一服务器接收第一推送请求后向其他的第二客户端发生订阅更新消息。
步骤519、接收到订阅更新消息的其他第二客户端发生数据获取请求至第二服务器。
上述步骤过程实现了第一客户端在发送数据对象更新时如何实现第二客户端的自动更新。
如此,实现页面数据主动更新,而不需要相应的查询操作或是轮询机制,简化了用户浏览页面的更新操作,且大大降低了服务器的处理压力。另外,又因为第一组件和第二组件与数据对象不耦合,因此可以支持***升级。
需要说明的是,上述流程顺序只是一种可能,还可以按照其他顺序,如,可以先执行步骤510,后执行步骤509,具体不做限定。
基于同样的构思,本发明实施例提供页面数据更新装置,图6为本申请实施例提供的一种页面数据更新装置示意图,如图6示,包括:
收发模块601,用于第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;
获取模块602,用于所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
处理模块603,用于所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
在一种可能的设计中,所述收发模块601还用于:所述第一订阅组件的第一组件从所述第一页面中确定需订阅的各数据对象并发送给所述第一订阅组件的第二组件;所述第一订阅组件的第二组件向所述第一服务器发送针对所述第一页面的订阅请求,所述订阅请求包括所述需订阅的各数据对象。
在一种可能的设计中,所述获取模块602具体用于:所述第一订阅组件的第二组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染,包括:所述第一订阅组件的第一组件从所述第一订阅组件的第二组件获取所述第一数据对象;所述第一订阅组件的第一组件根据所述第一数据对象对所述第一页面进行渲染。
在一种可能的设计中,所述收发模块601还用于:
所述第一订阅组件在对所述第一客户端显示的第二页面中的第二数据对象进行操作后,向所述第二服务器发送数据变更请求;所述数据变更请求用于触发所述第二服务器基于所述第二页面的更新而向所述第一服务器发送第二推送请求;所述第一客户端从所述第二服务器获取更新后的第二数据对象,并根据更新后的第二数据对象对所述第二页面进行渲染。
基于同样的构思,本发明实施例提供页面数据更新装置,图7为本申请实施例提供的一种页面数据更新装置示意图,如图7示,包括:
收发模块701,用于第一服务器接收到第二服务器发送的第一推送请求;所述第一推送请求用于指示第一页面的第一数据对象发生更改;
确定模块702,用于所述第一服务器确定订阅所述第一数据对象的第一客户端;
收发模块701,还用于所述第一服务器向所述第一客户端的第一订阅组件发送订阅更新消息,所述订阅更新消息用于指示所述第一订阅组件从所述第二服务器获取对所述第一页面进行渲染的所述第一数据对象。
在一种可能的设计中,所述收发模块701还包括:
所述第一服务器接收所述第一订阅组件的第二组件发送的针对所述第一页面的订阅请求,所述订阅请求包括需订阅的各数据对象;所述需订阅的各数据对象是所述第一订阅组件的第一组件从所述第一页面中确定并发送给所述第一订阅组件的第二组件。
基于同样的构思,本发明实施例提供页面数据更新装置,图8为本申请实施例提供的一种页面数据更新装置示意图,如图8示,包括:
收发模块801,用于第二服务器确定第一页面的第一数据对象发生更改后,向第一服务器发送针对所述第一页面的第一推送请求;所述第一推送消息用于所述第一服务器向订阅所述第一数据对象的第一客户端的第一订阅组件发送订阅更新消息;所述第二服务器基于所述订阅更新消息为所述第一订阅组件提供所述第一数据对象;所述第一订阅组件用于根据所述第一数据对象对所述第一客户端显示的第一页面进行渲染。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种页面数据更新方法,其特征在于,包括:
第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;
所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述接收到第一服务器发送的订阅更新消息之前,还包括:
所述第一订阅组件的第一组件从所述第一页面中确定需订阅的各数据对象并发送给所述第一订阅组件的第二组件;
所述第一订阅组件的第二组件向所述第一服务器发送针对所述第一页面的订阅请求,所述订阅请求包括所述需订阅的各数据对象。
3.根据权利要求2所述的方法,其特征在于,所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象,包括:
所述第一订阅组件的第二组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染,包括:
所述第一订阅组件的第一组件从所述第一订阅组件的第二组件获取所述第一数据对象;
所述第一订阅组件的第一组件根据所述第一数据对象对所述第一页面进行渲染。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
所述第一订阅组件在对所述第一客户端显示的第二页面中的第二数据对象进行操作后,向所述第二服务器发送数据变更请求;所述数据变更请求用于触发所述第二服务器基于所述第二页面的更新而向所述第一服务器发送第二推送请求;
所述第一客户端从所述第二服务器获取更新后的第二数据对象,并根据更新后的第二数据对象对所述第二页面进行渲染。
5.一种页面数据更新方法,其特征在于,包括:
第一服务器接收到第二服务器发送的第一推送请求;所述第一推送请求用于指示第一页面的第一数据对象发生更改;
所述第一服务器确定订阅所述第一数据对象的第一客户端;
所述第一服务器向所述第一客户端的第一订阅组件发送订阅更新消息,所述订阅更新消息用于指示所述第一订阅组件从所述第二服务器获取对所述第一页面进行渲染的所述第一数据对象。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
第一服务器接收到第二服务器发送的第一推送请求之前,还包括:
所述第一服务器接收所述第一订阅组件的第二组件发送的针对所述第一页面的订阅请求,所述订阅请求包括需订阅的各数据对象;所述需订阅的各数据对象是所述第一订阅组件的第一组件从所述第一页面中确定并发送给所述第一订阅组件的第二组件。
7.一种页面数据更新方法,其特征在于,包括:
第二服务器确定第一页面的第一数据对象发生更改后,向第一服务器发送针对所述第一页面的第一推送请求;所述第一推送消息用于所述第一服务器向订阅所述第一数据对象的第一客户端的第一订阅组件发送订阅更新消息;
所述第二服务器基于所述订阅更新消息为所述第一订阅组件提供所述第一数据对象;所述第一订阅组件用于根据所述第一数据对象对所述第一客户端显示的第一页面进行渲染。
8.一种页面数据更新装置,其特征在于,所述装置包括:
收发模块,用于第一订阅组件在第一客户端显示第一页面的期间,接收到第一服务器发送的订阅更新消息,所述订阅更新消息用于指示所述第一页面订阅的第一数据对象发生更改;所述订阅更新消息是所述第一服务器在接收到第二服务器基于所述第一页面的更新而发送的第一推送请求后生成的;
获取模块,用于所述第一订阅组件根据所述订阅更新消息,从所述第二服务器获取所述第一数据对象;
处理模块,用于所述第一订阅组件根据所述第一数据对象对所述第一页面进行渲染。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398628.0A CN111008032A (zh) | 2019-12-30 | 2019-12-30 | 一种页面数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398628.0A CN111008032A (zh) | 2019-12-30 | 2019-12-30 | 一种页面数据更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008032A true CN111008032A (zh) | 2020-04-14 |
Family
ID=70119459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911398628.0A Pending CN111008032A (zh) | 2019-12-30 | 2019-12-30 | 一种页面数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008032A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934344A (zh) * | 2021-10-29 | 2022-01-14 | 聚好看科技股份有限公司 | 一种显示设备、服务器及基于数据时效的页面显示方法 |
CN114520827A (zh) * | 2022-02-16 | 2022-05-20 | 广东美房智高机器人有限公司 | 一种消息接收方法、推送方法、***及介质 |
CN114844995A (zh) * | 2022-04-07 | 2022-08-02 | 中国联合网络通信集团有限公司 | 信息的处理方法、服务器和终端 |
WO2024022403A1 (zh) * | 2022-07-26 | 2024-02-01 | 北京字跳网络技术有限公司 | 任务的处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036970A (zh) * | 2012-12-11 | 2013-04-10 | 北京奇虎科技有限公司 | 一种页面内容订阅方法和*** |
US20170142214A1 (en) * | 2015-11-17 | 2017-05-18 | Google Inc. | Enhanced push messaging |
CN106850745A (zh) * | 2016-12-23 | 2017-06-13 | 北京五八信息技术有限公司 | 一种实时同步方法和装置 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及*** |
-
2019
- 2019-12-30 CN CN201911398628.0A patent/CN111008032A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036970A (zh) * | 2012-12-11 | 2013-04-10 | 北京奇虎科技有限公司 | 一种页面内容订阅方法和*** |
US20170142214A1 (en) * | 2015-11-17 | 2017-05-18 | Google Inc. | Enhanced push messaging |
CN106850745A (zh) * | 2016-12-23 | 2017-06-13 | 北京五八信息技术有限公司 | 一种实时同步方法和装置 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934344A (zh) * | 2021-10-29 | 2022-01-14 | 聚好看科技股份有限公司 | 一种显示设备、服务器及基于数据时效的页面显示方法 |
CN114520827A (zh) * | 2022-02-16 | 2022-05-20 | 广东美房智高机器人有限公司 | 一种消息接收方法、推送方法、***及介质 |
CN114520827B (zh) * | 2022-02-16 | 2024-05-10 | 广东美房智高机器人有限公司 | 一种消息接收方法、推送方法、***及介质 |
CN114844995A (zh) * | 2022-04-07 | 2022-08-02 | 中国联合网络通信集团有限公司 | 信息的处理方法、服务器和终端 |
WO2024022403A1 (zh) * | 2022-07-26 | 2024-02-01 | 北京字跳网络技术有限公司 | 任务的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008032A (zh) | 一种页面数据更新方法及装置 | |
CN108259533B (zh) | 一种数据传输方法和装置 | |
CN110098998B (zh) | 用于处理信息的方法和设备 | |
CN110365745B (zh) | 数据处理***、方法、装置、服务器和计算机可读介质 | |
CN108011949B (zh) | 用于获取数据的方法和装置 | |
CN110321120B (zh) | 数据处理方法、数据处理装置及计算机可读存储介质 | |
CN110619100B (zh) | 用于获取数据的方法和装置 | |
CN111309747A (zh) | 数据同步方法、***和装置 | |
CN111432001A (zh) | 用于跳转场景的方法、装置、电子设备和计算机可读介质 | |
CN110781373A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN111090533A (zh) | 公告信息发送方法、装置、电子设备及存储介质 | |
CN110781386A (zh) | 信息推荐、布隆过滤器的创建方法及装置 | |
CN111694629A (zh) | 信息展示方法、装置和电子设备 | |
US20190245827A1 (en) | Method and apparatus for synchronizing contact information and medium | |
CN109657164B (zh) | 发布消息的方法、装置及存储介质 | |
CN111008865A (zh) | 优惠券同步展示方法、装置、服务器及存储介质 | |
CN110795328A (zh) | 一种接口测试方法和装置 | |
CN110704760A (zh) | 数据处理方法和装置 | |
CN106933449B (zh) | 图标处理方法和装置 | |
CN115470754A (zh) | 数据分析方法、装置、计算机可读介质及电子设备 | |
CN114428925A (zh) | 页面渲染方法、装置、电子设备和计算机可读介质 | |
CN111367592B (zh) | 信息处理方法和装置 | |
CN112579447A (zh) | 一种浏览器测试方法和装置 | |
CN112115154A (zh) | 数据处理和数据查询方法、装置、设备和计算机可读介质 | |
CN111294657A (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 |