保证动态化配置数据一致性的方法和装置与流程

文档序号:16815267发布日期:2019-02-10 14:21阅读:296来源:国知局
保证动态化配置数据一致性的方法和装置与流程

本发明的实施方式涉及动态化配置领域,更具体地,本发明的实施方式涉及保证动态化配置数据一致性的方法和装置。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

对于客户端的功能性配置的变动,传统的方法是需要通过发布新的版本来解决。但是,如果某些变动对于客户端是急迫的,比如线上功能导致的客户端大量崩溃,或者某个活动功能的变化导致客户端需要下线该功能,那么通过发布版本显然不能满足这种急迫性,而且发布版本的方式也无法解决仍然使用老版本的用户的配置问题。

针对这些问题,衍生了动态化配置数据系统。动态化配置数据系统拥有一套配置中心后台系统,维护人员可以通过该系统对客户端的功能属性进行配置,而客户端功能通过读取该后台进行有效性检验,不需要再单独通过发布版本解决。

在用户环境没有网络或者动态化配置数据的网络数据尚未下发完成的情况下,客户端的业务默认使用动态化配置数据的持久化数据;在已获得网络数据时,客户端的业务会使用动态化配置数据的网络数据,这就产生了动态化配置数据不一致的现象。由于动态化配置数据大多对应的是各个业务的开关,这种现象会直接导致业务逻辑判断上出现处理混乱的问题。



技术实现要素:

在本上下文中,本发明的实施方式期望提供一种保证动态化配置数据一致性的方法和装置。

在本发明实施方式的第一方面中,提供了一种保证动态化配置数据一致性的方法,包括:

接收针对动态化配置数据的使用请求;

根据针对所述动态化配置数据的使用记录,向所述使用请求的发送方反馈所述动态化配置数据的持久化数据或网络数据。

在本发明实施方式的第二方面中,提供了一种保证动态化配置数据一致性的装置,包括:

请求接收模块,用于接收针对动态化配置数据的使用请求;

分配模块,用于根据针对所述动态化配置数据的使用记录,向所述使用请求的发送方反馈所述动态化配置数据的持久化数据或网络数据。

在本发明实施方式的第三方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行实现上述保证动态化配置数据一致性的方法的步骤。

在本发明实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述保证动态化配置数据一致性的方法的步骤。

根据本发明实施方式的保证动态化配置数据一致性的方法和装置,当接收到针对动态化配置数据的使用请求时,根据动态化配置数据的使用记录,决定向发送使用请求的业务反馈持久化数据或网络数据,保证了业务收到的动态化配置数据的一致性,避免因动态化配置数据不一致所导致的处理混乱的问题。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了本发明实施方式的应用场景示意图;

图2示意性地示出了根据本发明一实施例的保证动态化配置数据一致性的方法流程图;

图3示意性地示出了根据本发明又一实施例的保证动态化配置数据一致性的方法流程图;

图4示意性地示出了根据本发明一实施例的保证动态化配置数据一致性的方法中动态化配置数据缓存命中系统的记录及反馈示意图;

图5示意性地示出了根据本发明一实施例的用于保证动态化配置数据一致性的方法的介质示意图;

图6示意性地示出了根据本发明一实施例的保证动态化配置数据一致性的装置结构示意图;

图7示意性地示出了根据本发明一实施例的计算设备的结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种保证动态化配置数据一致性的方法、介质、装置和计算设备。

在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,在未接收到动态化配置数据的网络数据时,客户端的业务使用动态化配置数据的持久化数据;之后,在接收到动态化配置数据的网络数据后,客户端的业务使用动态化配置数据的网络数据;这就出现了业务使用的动态化配置数据不一致的现象,导致业务处理混乱。

有鉴于此,本发明提供了一种保证动态化配置数据一致性的方法和装置,在收到动态化配置数据的网络数据的情况下,接收到来自业务的动态化配置数据的使用请求时,根据动态化配置数据的使用记录,向业务反馈持久化数据或网络数据,从而保证业务接收到的动态化配置数据一致,避免出现业务处理混乱的问题。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图1,图1为本发明实施方式的应用场景示意图。在图1中,业务第一次向动态化配置数据系统发出使用请求时,由于客户端尚未接收到动态化配置数据的网络数据,因此动态化配置数据系统向业务反馈持久化数据,如配置字段config1为持久化数据。业务第二次向动态化配置数据系统发出使用请求时,由于客户端已接收到动态化配置数据的网络数据,因此动态化配置数据系统向业务反馈网络数据,如配置字段config1为网络数据。可见,对于同一个配置字段config1,业务前后两次接收到的内容不一致,导致后续可能出现处理混乱错误的问题。

本发明实施例应用于上述场景,设置基于动态化配置数据系统的缓存命中器,即动态化配置数据缓存命中系统。由动态化配置数据缓存命中系统接收业务的使用请求,并根据使用记录向业务反馈动态化配置数据的持久化数据或网络数据,从而保证业务接收到的数据的一致性。

以下结合附图,举具体的实施例详细介绍。

示例性方法

下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的用于保证动态化配置数据一致性的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

如图2所示,本发明实施例的保证动态化配置数据一致性的方法包括以下步骤:

s21:接收针对动态化配置数据的使用请求。

在本实施例中,可以采用预先设置的动态化配置数据缓存命中系统接收来自业务的使用请求。

s22:根据针对所述动态化配置数据的使用记录,向所述使用请求的发送方反馈所述动态化配置数据的持久化数据或网络数据。

在一种可能的实施方式中,步骤s22可以包括:在已获得动态化配置数据的网络数据时,对于在所述使用记录中存在记录的配置字段,向所述使用请求的发送方反馈所述持久化数据中的该配置字段;对于在所述使用记录中不存在记录的配置字段,向所述使用请求的发送方反馈所述网络数据中的该配置字段。

具体地,动态化配置数据缓存命中系统在已获得动态化配置数据的网络数据的情况下,针对该使用请求,对于在使用记录中存在记录的配置字段,向使用请求的发送方(本实施例中,该发送方为应用)反馈持久化数据中的该配置字段;对于在使用记录中不存在记录的配置字段,则向使用请求的发送方反馈网络数据中的该配置字段。

在本实施例中,使用记录指的是动态化配置数据缓存命中系统在未获得网络数据之前,针对动态化配置数据的使用请求,向应用反馈持久化数据时所保存的记录。

具体地,在一种可能的实施方式中,上述步骤s21之后,可以进一步包括:在未获得动态化配置数据的网络数据时,向使用请求的发送方反馈动态化配置数据的持久化数据,并在所述使用记录中保存所述持久化数据中各配置字段的记录。

可见,如果使用记录中存在某个配置字段,则表示持久化数据中的该配置字段已经被应用接收并使用过;如果使用记录中不存在某个配置字段,则表示该配置字段尚未被应用接收并使用过。因此,根据该使用记录,动态化配置数据缓存命中系统可以选择向应用反馈持久化数据(针对存在使用记录的配置字段)或网络数据(针对不存在使用记录的配置字段),从而保证应用多次接收的动态化配置数据保持一致。

在一种可能的实施方式中,为了能够识别持久化数据中的某个配置字段对应的是网络数据中的某个配置字段,可以为持久化数据中的各个配置字段、以及网络数据中的各个配置字段设置唯一标识。

在一种可能的实施方式中,可以采用配置字段的父节点信息作为该配置字段的唯一标识。

针对持久化数据,为各个配置字段设置唯一标识的方式可以包括:在获得动态化配置数据的持久化数据时,采用反射方式向持久化数据中的各个配置字段注入唯一标识。

针对网络数据,为各个配置字段设置唯一标识的方式,至少可以采用以下两种形式:

第一种,在获得动态化配置数据的网络数据时,采用反射方式向网络数据中的各个配置字段注入唯一标识。

第二种,在获得动态化配置数据的网络数据时,如果存在所述使用记录,则采用反射方式向网络数据中的各个配置字段注入唯一标识。

对于上述第二种方式,动态化配置数据缓存命中系统在获得网络数据时,首先查询使用记录。如果存在使用记录,表明之前曾向应用反馈过持久化数据,后续存在动态化配置数据不一致的可能性,因此可以向网络数据中的各个配置字段注入唯一标识,以供后续辨别并反馈动态化配置数据所使用。如果不存在使用记录,表明之前未向应用反馈过持久化数据,后续不存在动态化配置数据不一致的可能性,因此后续仅需反馈网络数据中的全部配置字段即可,也就无需向网络数据中的配置字段注入唯一标识。

此外,针对一些不影响一致性操作的配置字段,无需向该配置字段注入唯一标识;对于这些配置字段,可以采用注解的形式进行注入标识的过滤操作。

在一种可能的实施方式中,上述步骤s22之后,可以进一步包括:

s23:当发送所述针对动态化配置数据的使用请求的业务退出客户端、或者所述客户端热启动时,删除所述使用记录。

如图3所示,在上述实施例的基础上,本发明另一实施例的保证动态化配置数据一致性的方法包括以下步骤:

s31:在未获得网络数据时,动态化配置数据缓存命中系统接收针对动态化配置数据的使用请求,该使用请求是由客户端的应用发送的。

s32:动态化配置数据缓存命中系统向该应用反馈持久化数据,采用反射方式向该持久化数据中的各个配置字段注入父节点信息。

s33:动态化配置数据缓存命中系统在本地的缓存池中存储使用记录,该使用记录包括该持久化数据中的各个配置字段及其父节点信息。

s34:动态化配置数据缓存命中系统接收到动态化配置数据的网络数据时,采用反射方式向网络数据中的各个配置字段注入父节点信息。

s35:动态化配置数据缓存命中系统接收针对动态化配置数据的使用请求,该使用请求也是由上述应用发送的。

s36:动态化配置数据缓存命中系统校验缓存池中存在的使用记录,一旦命中持久化数据的某个配置字段(也就是使用记录中存在该配置字段的记录),则向应用反馈持久化数据中的该配置字段;对于没有命中的配置字段(也就是使用记录中不存在该配置字段的记录),则向应用反馈网络数据中的该配置字段。

如图4为本实施例中动态化配置数据缓存命中系统的记录及反馈示意图。

在图4中,动态化配置数据缓存命中系统在尚未接收到网络数据时,第一次接收到来自应用的使用请求,向应用反馈的持久化数据中包含配置字段config1。动态化配置数据缓存命中系统在本地保存的使用记录中记录持久化数据中的config1及其父节点信息。

动态化配置数据缓存命中系统在已经接收到网络数据后,第二次接收到来自应用的使用请求。动态化配置数据缓存命中系统查询到使用记录中保存有持久化数据中的config1及其父节点信息,则直接将持久化数据中的config1反馈至该应用;针对在使用记录中不存在记录的配置字段,则将网络数据中的该配置字段反馈至该应用。

采用本实施例的方法,在尚未获得动态化配置数据的网络数据的情况下,接收到针对动态化配置数据的使用请求时,向使用请求的发送方反馈动态化配置数据的持久化数据,并在使用记录中保存持久化数据中各配置字段的记录。之后,在已获得动态化配置数据的网络数据的情况下,接收到针对动态化配置数据的使用请求时,对于在使用记录中存在记录的配置字段,向发送方反馈持久化数据中的该配置字段;对于在使用记录中不存在记录的配置字段,向发送方反馈网络数据中的该配置字段。通过这种方式,保证了向应用反馈的动态化配置数据的一致性。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,参考图5,对本发明示例性实施方式的介质进行说明。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机可读介质,其上存储有程序,当所述程序被处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的保证动态化配置数据一致性的方法中的步骤。

具体地,所述处理器执行所述程序时用于实现如下步骤:

接收针对动态化配置数据的使用请求;

根据针对所述动态化配置数据的使用记录,向所述使用请求的发送方反馈所述动态化配置数据的持久化数据或网络数据。

在一种可能的实施方式中,根据针对所述动态化配置数据的使用记录,向所述使用请求的发送方反馈所述动态化配置数据的持久化数据或网络数据,包括:

在已获得动态化配置数据的网络数据时,对于在所述使用记录中存在记录的配置字段,向所述使用请求的发送方反馈所述持久化数据中的该配置字段;对于在所述使用记录中不存在记录的配置字段,向所述使用请求的发送方反馈所述网络数据中的该配置字段。

在一种可能的实施方式中,接收针对动态化配置数据的使用请求之后,进一步包括:

在未获得动态化配置数据的网络数据时,向所述使用请求的发送方反馈动态化配置数据的持久化数据,并在所述使用记录中保存所述持久化数据中各配置字段的记录。

在一种可能的实施方式中,进一步包括:为所述动态化配置数据的持久化数据中的各个配置字段、以及动态化配置数据的网络数据中的各个配置字段设置唯一标识。

上述唯一标识为配置字段的父节点信息。

在一种可能的实施方式中,为所述动态化配置数据的持久化数据中的各个配置字段设置唯一标识,包括:在获得动态化配置数据的持久化数据时,采用反射方式向所述持久化数据中的各个配置字段注入唯一标识。

在一种可能的实施方式中,为动态化配置数据的网络数据中的各个配置字段设置唯一标识,包括:在获得动态化配置数据的网络数据时,如果存在所述使用记录,则采用反射方式向所述网络数据中的各个配置字段注入唯一标识。

在一种可能的实施方式中,进一步包括:当发送所述针对动态化配置数据的使用请求的业务退出客户端、或者所述客户端热启动时,删除所述使用记录。

需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

如图5所示,描述了根据本发明的实施方式的介质50,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序,并可以在设备上运行。然而,本发明不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算设备。

示例性装置

在介绍了本发明示例性实施方式的介质之后,接下来,参考图6,对本发明示例性实施方式的装置进行说明。

如图6所示,本发明实施例的保证动态化配置数据一致性的装置可以包括:

请求接收模块601,用于接收针对动态化配置数据的使用请求;

分配模块602,用于根据针对动态化配置数据的使用记录,向使用请求的发送方反馈动态化配置数据的持久化数据或网络数据。

在一种可能的实施方式中,所述分配模块602用于:

在已获得动态化配置数据的网络数据的情况下,对于在所述使用记录中存在记录的配置字段,向所述使用请求的发送方反馈所述持久化数据中的该配置字段;对于在所述使用记录中不存在记录的配置字段,向所述使用请求的发送方反馈所述网络数据中的该配置字段。

在一种可能的实施方式中,分配模块602还用于,在未获得动态化配置数据的网络数据的情况下,向所述使用请求的发送方反馈动态化配置数据的持久化数据;

上述装置还包括:

记录模块603,用于在所述使用记录中保存持久化数据中各配置字段的记录,所述持久化数据是分配模块在未获得所述网络数据的情况下反馈的。

在一种可能的实施方式中,上述装置进一步包括:

标识设置模块604,用于为所述动态化配置数据的持久化数据中的各个配置字段、以及动态化配置数据的网络数据中的各个配置字段设置唯一标识。

上述唯一标识为配置字段的父节点信息。

在一种可能的实施方式中,所述标识设置模块604用于:

在获得动态化配置数据的持久化数据时,采用反射方式向所述持久化数据中的各个配置字段注入唯一标识;

在获得动态化配置数据的网络数据时,采用反射方式向所述网络数据中的各个配置字段注入唯一标识;或者,在获得动态化配置数据的网络数据时,如果存在所述使用记录,则采用反射方式向所述网络数据中的各个配置字段注入唯一标识。

在一种可能的实施方式中,所述记录模块603还用于,当发送所述针对动态化配置数据的使用请求的业务退出客户端、或者所述客户端热启动时,删除所述使用记录。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图7对本发明示例性实施方式的计算设备进行说明。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明的各种示例性实施方式的保证动态化配置数据一致性的方法中的步骤。

下面参照图7来描述根据本发明的这种实施方式的计算设备70。图7显示的计算设备70仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,计算设备70以通用计算设备的形式表现。计算设备70的组件可以包括但不限于:上述至少一个处理单元701、上述至少一个存储单元702,连接不同系统组件(包括处理单元701和存储单元702)的总线703。

总线703包括数据总线、控制总线和地址总线。

存储单元702可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)7021和/或高速缓存存储器7022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)7023。

存储单元702还可以包括具有一组(至少一个)程序模块7024的程序/实用工具7025,这样的程序模块7024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备70也可以与一个或多个外部设备704(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口705进行。并且,计算设备70还可以通过网络适配器706与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图7所示,网络适配器706通过总线703与计算设备70的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了保证动态化配置数据一致性的装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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