一种数据更新方法及装置与流程

文档序号:15615585发布日期:2018-10-09 21:17阅读:130来源:国知局

本申请实施例涉及计算机技术及互联网领域,尤其涉及一种数据更新方法及装置。



背景技术:

随着用户应用需求的增长,越来越多的产品类型和应用方式呈现出来,应用数据也在大幅增长。一般来说,应用数据录入在源端数据库,并进行实时更新。源端数据库的应用数据通过传输通道到达数据服务接口,终端通过数据服务接口获取应用数据并呈现。

实际应用中,终端从数据服务接口获取到应用数据后缓存在本地,当接到读取请求时读取本地缓存的应用数据。终端缓存在本地的应用数据原则上应与源端数据库的数据实现同步更新,以便于终端呈现最新的数据。

但是,现有的数据更新方法大部分为终端定期从数据服务接口重新获取一份最新的应用数据,不仅浪费宽带和服务器资源,还会对源端数据库和网络造成较大的瞬时压力。



技术实现要素:

本申请实施例提供一种数据更新方法及装置,用以解决终端更新数据时浪费宽带和服务器资源的问题。

本申请实施例提供的具体技术方案如下:

一种数据更新方法,包括:

监控平台监控数据库的数据更新状态;

所述监控平台根据所述数据更新状态确定所述数据库存在第一数据变更时,基于所述第一数据变更生成第一指示信息;

所述监控平台将所述第一指示信息发送给终端,所述第一指示信息用于指示所述终端在本地执行与所述第一数据变更相同的第二数据变更。

可选的,所述监控平台将所述第一指示信息发送给终端之前,还包括:

所述监控平台根据所述第一数据变更生成第二指示信息,并将所述第二指示信息发送给缓存平台,所述第二指示信息用于指示所述缓存平台按照所述第一数据变更在本地执行第三数据变更,所述缓存平台用于缓存所述数据库中的数据并提供给终端使用;

所述监控平台接收所述缓存平台发送的表征所述第三数据变更执行完毕的消息。

可选的,所述监控平台根据所述第一数据变更生成第一指示信息,包括:

所述监控平台将所述第一数据变更对应数据的第一数据标识设置为所述第一指示信息;或者,

所述监控平台将所述第一数据变更对应的上级类目数据的第二数据标识设置为所述第一指示信息。

可选的,所述监控平台基于所述第一数据变更生成第一指示信息后,还包括:

所述监控平台保存所述第一指示信息,并在设定条件满足时触发重发所述第一指示信息。

本申请实施例还提供一种数据更新方法,包括:

终端接收监控平台发送的第一指示信息,其中,所述监控平台用于监控数据库的数据更新状态;

所述终端根据所述第一指示信息,确定所述数据库发生第一数据变更;

所述终端在本地执行与所述第一数据变更相同的第二数据变更。

可选的,所述终端在本地执行与所述第一数据变更相同的第二数据变更,包括:

所述终端按照所述第一指示信息,向缓存平台请求与所述第一数据变更对应的数据,或者向缓存平台请求与所述第一数据变更对应的上级类目数据;

并将请求的与所述第一数据变更对应的数据或与所述第一数据变更对应的上级类目数据进行存储。

本申请实施例还提供一种数据更新方法,包括:

终端按照设定周期轮询数据版本号服务接口,所述数据版本号服务接口用于在数据库发生数据变更时获取发生变更的数据的标识,并更新所述发生变更的数据的版本号;

所述终端从所述数据版本号服务接口获取全量数据的版本号和标识,并根据所述全量数据的版本号确定存在发生数据变更的变更版本号时,获取所述变更版本号对应的变更标识;

所述终端获取具有所述变更标识的变更数据,并按照所述变更数据在本地执行数据变更操作。

本申请实施例还提供一种数据更新装置,包括:

监控模块,用于监控数据库的数据更新状态;

生成模块,用于根据所述数据更新状态确定所述数据库存在第一数据变更时,基于所述第一数据变更生成第一指示信息;

通知模块,用于将所述第一指示信息发送给终端,所述第一指示信息用于指示所述终端在本地执行与所述第一数据变更相同的第二数据变更。

可选的,所述生成模块,还用于在所述通知模块将所述第一指示信息发送给终端之前,根据所述第一数据变更生成第二指示信息;

所述通知模块,还用于将所述第二指示信息发送给缓存平台;

接收模块,用于接收所述缓存平台发送的表征所述第三数据变更执行完毕的消息;

其中,所述第二指示信息用于指示所述缓存平台按照所述第一数据变更在本地执行第三数据变更,所述缓存平台用于缓存所述数据库中的数据并提供给终端使用。

可选的,所述生成模块用于:

将所述第一数据变更对应数据的第一数据标识设置为所述第一指示信息;或者,

将所述第一数据变更对应的上级类目数据的第二数据标识设置为所述第一指示信息。

可选的,所述通知模块还用于:

基于所述第一数据变更生成第一指示信息后,保存所述第一指示信息,并在设定条件满足时触发重发所述第一指示信息。

本申请实施例还提供一种数据更新装置,包括:

接收模块,用于接收监控平台发送的第一指示信息,其中,所述监控平台用于监控数据库的数据更新状态;

确定模块,用于根据所述第一指示信息,确定所述数据库发生第一数据变更;

更新模块,用于在本地执行与所述第一数据变更相同的第二数据变更。

可选的,所述更新模块用于:

按照所述第一指示信息,向缓存平台请求与所述第一数据变更对应的数据,或者向缓存平台请求与所述第一数据变更对应的上级类目数据;

并将请求的与所述第一数据变更对应的数据或与所述第一数据变更对应的上级类目数据进行存储。

本申请实施例中,监控平台实时监控数据库中的数据是否有更新,一旦有更新,便将用于表征更新的数据的指示信息发送给终端,使得终端能够及时得知数据更新状况,并有针对性的获取更新的数据。这样,避免了定时更新全部数据时大部分请求为无用功造成的资源浪费,缓解了更新全部数据给数据库和网络带来的瞬时压力。

附图说明

图1为本申请实施例中数据更新的系统架构示意图;

图2为本申请实施例中数据更新方法的流程示意图之一;

图3为本申请实施例中数据更新方法的流程示意图之二;

图4为本申请实施例中数据更新装置结构示意图之一;

图5为本申请实施例中数据更新装置结构示意图之二。

具体实施方式

下面将结合附图,对本申请实施例进行详细描述。

如图1所示,本申请实施例中数据更新的系统架构包括数据库101、监控平台102、数据服务接口103、终端104和缓存平台105。其中,运营用户通过数据管理后台录入数据并保存在数据库101,使得数据持久化,并且,运营用户可通过数据管理后台录入新的数据。数据服务接口103获取该数据并提供给终端104使用,终端104从数据服务接口103获取到数据后一般会缓存下来。本申请实施例中,监控平台102实时监控数据库101中的数据是否有更新,一旦有更新,便将更新的数据的标识发送给终端104,使得终端104能够及时得知数据更新状况,并有针对性的获取更新的数据。这样,避免了定时更新全部数据时大部分请求为无用功造成的资源浪费,缓解了更新全部数据给数据库和网络带来的瞬时压力。

基于图1所示的系统架构,如图2所示,本申请实施例提供的数据更新方法的流程如下所述。

步骤201、监控平台监控数据库的数据更新状态。

该数据更新状态用于表征数据库中的数据是否发生变更。

步骤202、监控平台根据数据更新状态确定数据库存在第一数据变更时,基于第一数据变更生成第一指示信息。

本申请实施例中,数据变更包括但不限于增加数据、删除数据或替换数据。“第一”及“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。

第一指示信息可以为第一数据变更对应的变更数据的标识,比如,第一数据变更为增加数据,则第一指示信息为所增加的数据的标识。

一种可能的实施方式中,若数据库中的数据分为不同级别的类目,上级类目包括不同的下级类目。则,若第一数据变更不影响同级别的其他子类目数据,则监控平台将第一数据变更对应数据的第一数据标识设置为第一指示信息;或者,若第一数据变更影响同级别的其他子类目数据,则监控平台将第一数据变更对应的上级类目数据的第二数据标识设置为第一指示信息。

当然,第一指示信息还可以用其他可以表征第一数据变更对应的变更数据的方式,本申请不限定用数据标识的方式。

步骤203、监控平台将第一指示信息发送给终端,终端接收监控平台发送的第一指示信息。

其中,第一指示信息用于指示终端在本地执行与第一数据变更相同的第二数据变更。

步骤204、终端根据第一指示信息,确定数据库发生第一数据变更,则终端在本地执行与第一数据变更相同的第二数据变更。

例如,第一数据变更为增加数据,第一指示信息为所增加数据的数据标识,终端根据所增加数据的数据标识,获取与数据标识对应的数据,并在本地存储的原数据基础上增加该数据。

具体地,根据上述内容所述的第一指示信息的两种指代情况,包括第一指示信息为第一数据变更对应的数据的标识,或者第一数据变更对应的上级类目的数据的标识,则终端按照第一指示信息,向缓存平台请求与第一数据变更对应的数据,或者向缓存平台请求与第一数据变更对应的上级类目数据,并将请求的与第一数据变更对应的数据或与第一数据变更对应的上级类目数据进行存储。

一种可能的实施方式中,在步骤203之前,监控平台根据第一数据变更生成第二指示信息,并将第二指示信息发送给缓存平台。以及,监控平台接收缓存平台发送的表征第三数据变更执行完毕的消息。

其中,第二指示信息用于指示缓存平台按照第一数据变更在本地执行第三数据变更。

终端是从缓存平台获取更新数据的,因此,缓存平台需要及时同步数据库的数据更新,在更新完毕后,终端才能够从缓存平台处获取更新的数据。

本申请实施例中,监控平台还具有记录日志以及重发机制。其中,记录日志包括向缓存平台或/和终端推送指示信息的日志,便于根据日志发现问题;重发机制是指在指示信息发送失败或者接收方接收失败时触发的重发过程。具体地,监控平台基于第一数据变更生成第一指示信息后,监控平台保存第一指示信息,并在设定条件满足时触发重发第一指示信息。该设定条件包括确定指示信息发送失败、接收方接收失败,或者其他设定条件,本申请不作限定。

另外,本申请实施例中,基于同一发明构思,还提供了另一种数据更新的方法。具体地,数据更新的系统架构中还包括数据版本号服务接口,当数据库中有数据变更时,数据版本号服务接口会获取数据变更涉及到的数据的版本号和标识,版本号和标识一一对应。终端定期轮询数据版本号服务接口,获取全量数据的版本号和标识,将获取到的版本号与本地存储的版本号进行比较,如果存在版本号不同的情况,即存在变更版本号,则终端获取存在变更版本号对应的变更标识,从数据服务接口获取变更标识对应的数据,从而刷新本地保存的数据,并更新本地保存的变更数据的版本号。当然,若变更数据影响同级类目数据,则终端将从数据服务接口获取变更数据的上级类目下的所有数据。

下面结合具体的应用场景,将本申请实施例提供的数据更新的方法作进一步详细说明。

如图3所示,假设终端为智能电视,数据更新所涉及的数据为栏目或节目数据。监控平台中包括监控模块和通知模块,在这种应用场景下,数据更新方法的流程具体如下所述。

步骤301、运营用户在数据管理后台对节目数据进行录入、编排及预约上线。

步骤302、数据库通过数据管理后台保存录入及编排节目的数据,提供数据持久化。

步骤303、监控平台中的监控模块实时监控数据库的数据变更状态。

具体地,监控模块对数据库的变更日志进行解析,请求获取变更数据。

步骤304、数据库向监控平台返回变更数据。

步骤305、监控平台中的监控模块对变更数据进行处理,提取变更数据的标识。

具体地,如果栏目或节目的数据变更影响其它栏目或节目,比如栏目或节目的顺序发生变更,则监控模块提取的变更数据的标识为发生变更子栏目的父栏目标识(identity,id),或发生变更子节目的父节目id。如果栏目或节目的数据变更不影响其它栏目或节目,则监控模块提取的变更数据的标识为发生变更的栏目id或发生变更的节目id。

步骤306、监控平台中的监控模块将变更数据的标识发送到通知模块。

步骤307、监控平台中的通知模块将变更数据的标识存储,并向缓存平台推送。

具体推送方式包括实时推送和预约推送,其中,实时推送即每当接收到变更数据的标识便进行推送,预约推送是指根据设定的预约时刻,在预约时刻到达时进行推送。

通知模块还提供记录日志以及变更数据的标识的重发机制。

步骤308、缓存平台根据变更数据的标识向数据管理后台的数据库请求获取变更数据。

步骤309、数据库向缓存平台返回变更数据,缓存平台将变更数据保存到缓存中,以提供给数据服务接口调用。

步骤310、缓存平台将变更数据保存完毕的指示发送给通知模块。

步骤311、通知模块将变更数据的标识发送到可扩展消息与存在协议(extensiblemessageingandpresenceprotocol,xmpp)系统。

步骤312、xmpp系统将变更数据的标识发送到关联的终端(即智能电视),智能电视接收xmpp系统发送的变更数据的标识。

其中,由于网络问题或数据后台频繁变更数据,终端可能会接收到重复的标识,因此终端需要对重复变更数据的标识进行过滤,

步骤313、智能电视根据变更数据的标识向数据服务接口请求获取变更数据。

步骤314、数据服务接口根据变更数据的标识从缓存平台中获取变更数据。

步骤315、缓存平台在接收到数据服务接口的请求后,将变更数据返回给数据服务接口。

步骤316、数据服务接口将变更数据返回到智能电视,并刷新本地缓存。

这样,智能电视就可以显示最新的栏目或节目数据了。

基于同一发明构思,如图4所示,本申请实施例还提供了一种数据更新装置400,包括:

监控模块401,用于监控数据库的数据更新状态;

生成模块402,用于根据数据更新状态确定数据库存在第一数据变更时,基于第一数据变更生成第一指示信息;

通知模块403,用于将第一指示信息发送给终端,第一指示信息用于指示终端在本地执行与第一数据变更相同的第二数据变更。

可选的,生成模块402,还用于在通知模块403将第一指示信息发送给终端之前,根据第一数据变更生成第二指示信息;

通知模块403,还用于将第二指示信息发送给缓存平台;

接收模块404,用于接收缓存平台发送的表征第三数据变更执行完毕的消息;

其中,第二指示信息用于指示缓存平台按照第一数据变更在本地执行第三数据变更,缓存平台用于缓存数据库中的数据并提供给终端使用。

可选的,生成模块402用于:

将第一数据变更对应数据的第一数据标识设置为第一指示信息;或者,

将第一数据变更对应的上级类目数据的第二数据标识设置为第一指示信息。

可选的,通知模块403还用于:

基于第一数据变更生成第一指示信息后,保存第一指示信息,并在设定条件满足时触发重发第一指示信息。

基于同一发明构思,如图5所示,本申请实施例还提供了另一种数据更新装置500,包括:

接收模块501,用于接收监控平台发送的第一指示信息,其中,监控平台用于监控数据库的数据更新状态;

确定模块502,用于根据第一指示信息,确定数据库发生第一数据变更;

更新模块503,用于在本地执行与第一数据变更相同的第二数据变更。

可选的,更新模块503用于:

按照第一指示信息,向缓存平台请求与第一数据变更对应的数据,或者向缓存平台请求与第一数据变更对应的上级类目数据;

并将请求的与第一数据变更对应的数据或与第一数据变更对应的上级类目数据进行存储。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1