数据管理方法和装置与流程

文档序号:11829493阅读:158来源:国知局
数据管理方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种数据管理方法和装置。



背景技术:

现在,对于应用的本地缓存管理,如果是静态数据,直接使用内存缓存即可,但是后续如果有新增或是变更的可能,就需要有实时生效的功能。另外,每个缓存刷新的时机需要可控,否则可能会有兼容性问题。现有技术中,一般通过一张缓存管理表和一个容器内的定时任务实现上述目的,具体地,定时任务扫描表中所有状态为等待刷新(wait_for_refresh)的数据,然后从存储处获取最新的数据,更新本地缓存,然后将缓存状态更新为刷新结束(refresh_finish)。

但是,当集群中有多台机器时,集群中的所有机器共用这个缓存管理表,第一台机器更新完成后,将缓存的记录状态更新为refresh_finish,其它机器过来时,发现没有wait_for_refresh的数据了,就不会更新本地的缓存数据了,此时将会出现集群中,永远只有一台机器能够刷新最新的缓存。



技术实现要素:

本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种数据管理方法。该方法通过服务器的标识信息对该服务器的数据进行标识,从而对于静态配置类数据,可以实现每台服务器都有自身独特的配置,对于动态管理类数据,可以实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

本发明的第二个目的在于提出一种数据管理装置。

为了实现上述目的,本发明第一方面实施例的数据管理方法,包括:根据服务器的标识信息从缓存管理表中获得所述服务器的标识信息对应的缓存记录;从所述服务器的标识信息对应的缓存记录中获得状态为等待刷新的缓存记录;根据所述状态为等待刷新的缓存记录中的缓存名称刷新所述缓存名称对应的缓存数据。

本发明实施例的数据管理方法,根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录之后,从上述服务器的标识信息对应的缓存记录中获得状态 为等待刷新的缓存记录,然后根据状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据,从而对于动态管理类数据,可以实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

为了实现上述目的,本发明第二方面实施例的数据管理方法,包括:根据服务器的标识信息在数据库中查找所述服务器的标识信息对应的配置数据;如果查找到,则加载所述服务器的标识信息对应的配置数据。

本发明实施例的数据管理方法,如果在数据库中查找到服务器的标识信息对应的配置数据,则加载上述服务器的标识信息对应的配置数据,从而对于静态配置类数据,可以实现每台服务器都有自身独特的配置。

为了实现上述目的,本发明第三方面实施例的数据管理装置,包括:获得模块,用于根据服务器的标识信息从缓存管理表中获得所述服务器的标识信息对应的缓存记录;以及从所述服务器的标识信息对应的缓存记录中获得状态为等待刷新的缓存记录;刷新模块,用于根据所述状态为等待刷新的缓存记录中的缓存名称刷新所述缓存名称对应的缓存数据。

上述数据管理装置,获得模块根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录之后,从上述服务器的标识信息对应的缓存记录中获得状态为等待刷新的缓存记录,然后刷新模块根据状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据,从而对于动态管理类数据,可以实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

为了实现上述目的,本发明第四方面实施例的数据管理装置,包括:查找模块,用于根据服务器的标识信息在数据库中查找所述服务器的标识信息对应的配置数据;加载模块,用于当所述查找模块查找到所述服务器的标识信息对应的配置数据时,加载所述服务器的标识信息对应的配置数据。

上述数据管理装置,如果查找模块在数据库中查找到服务器的标识信息对应的配置数据,则加载模块加载上述服务器的标识信息对应的配置数据,从而对于静态配置类数据,可以实现每台服务器都有自身独特的配置。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明数据管理方法一个实施例的流程图;

图2为本发明注册缓存记录一个实施例的流程图;

图3为本发明数据管理方法另一个实施例的流程图;

图4为本发明数据管理装置一个实施例的结构示意图;

图5为本发明数据管理装置另一个实施例的结构示意图;

图6为本发明数据管理装置再一个实施例的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1为本发明数据管理方法一个实施例的流程图,如图1所示,该数据管理方法可以包括:

步骤101,根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录。

具体地,集群中的每台服务器可以根据服务器的标识信息,定时或周期性地从缓存管理表中获得上述服务器的标识信息对应的缓存记录。

本实施例中,在数据库存储的缓存管理表中,增加每台服务器的标识信息,实现一台服务器对应一条缓存记录,每台服务器定时或周期性查询自身对应的缓存记录。本实施例中,上述服务器的标识信息可以包括上述服务器的名称和/或因特网协议(Internet Protocol;以下简称:IP)地址。

其中,服务器对应的缓存记录的数据结构可以如表1所示。

表1

步骤102,从上述服务器的标识信息对应的缓存记录中获得状态为等待刷新的缓存记录。

步骤103,根据上述状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据。

进一步地,步骤103,根据上述状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据之后,将上述状态为等待刷新的缓存记录的状态更新为刷新结束。

也就是说,本实施例中,对于缓存记录中,服务器的标识信息标识的是服务器自身,并且状态是wait_for_refresh的缓存记录,服务器才会执行缓存刷新操作,这样可以实现按服务器级别控制缓存刷新的时机,实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

另外,本实施例中,在步骤101,根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录之前,还需要先将服务器对应的缓存记录在缓存管理表中注册,图2为本发明注册缓存记录一个实施例的流程图,如图2所示,可以包括:

步骤201,对服务器的本地缓存进行初始化,在缓存管理表中查找上述服务器的标识信息对应的缓存记录。

步骤202,判断在缓存管理表中是否查找到上述服务器的标识信息对应的缓存记录。如果未查找到,则执行步骤203;如果在缓存管理表中查找到上述服务器的标识信息对应的缓存记录,则执行步骤204。

步骤203,在上述缓存管理表中插入上述服务器的标识信息对应的缓存记录。

其中,上述服务器的标识信息对应的缓存记录包括标识信息字段和状态字段,上述标识信息字段的值为上述服务器的标识信息,上述状态字段的值为初始值。具体地,上述服务器的标识信息对应的缓存记录的数据结构可以如表1所示。

步骤204,将上述服务器的标识信息对应的缓存记录中状态字段的值设为初始值。

也就是说,本发明图1和图2所示实施例中,开始时,集群中每台服务器对应的缓存记录中状态字段的值均为初始值,对于应用的本地缓存管理,如果新增或变更了配置数据,需要某台服务器刷新自身的缓存数据时,就将缓存管理表中该服务器对应的缓存记录中状态字段的值设为等待刷新(wait_for_refresh),这样当该服务器定时任务启动,获得该服务器的标识信息对应的缓存记录之后,就可以获得上述服务器的标识信息对应的缓存记录中状态为等待刷新的缓存记录,继而可以根据上述状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据,对该服务器中的配置数据进行相应地新增或变更。从而可以实现通过服务器的标识信息对该服务器的缓存数据进行标识,对于动态管理类数据,可以实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

图3为本发明数据管理方法另一个实施例的流程图,如图3所示,该数据管理方法可以包括:

步骤301,根据服务器的标识信息在数据库中查找上述服务器的标识信息对应的配置数据。

具体地,集群中的每台服务器可以根据该服务器的标识信息定时或周期性地在数据库中查找上述服务器的标识信息对应的配置数据。

步骤302,如果查找到,则加载上述服务器的标识信息对应的配置数据。

进一步地,步骤301,根据服务器的标识信息在数据库中查找上述服务器的标识信息对应的配置数据之后,如果在数据库中未查找到上述服务器的标识信息对应的配置数据,则加载默认的配置数据。

本实施例中,上述服务器的标识信息可以为服务器的名称(SERVER_HOST_NAME)。

本实施例中,对于静态配置类数据,可以在配置数据中增加服务器的标识信息字段,以标识配置数据是属于哪台服务器的,每台服务器根据自身的标识信息去查询相应的配置数据。其中,上述服务器的标识信息可以为服务器的名称(SERVER_HOST_NAME),上述服务器的标识信息对应的配置数据的数据结构的一个示例可以如表2所示。

表2

当然,也不是所有服务器的配置数据都不一样,因此,本实施例中还保存有一套默认的配置数据,如果根据服务器的标识信息未查找到上述服务器的标识信息对应的配置数据,则可以直接加载默认的配置数据。

因此,当接入网购平台的商户的交易发生一些关键事件时,例如:发生支付成功、支付审核通过、支付审核拒绝或拒绝支付等事件时,网购平台需要将上述关键事件通知到商户的指定地址,以便商户做相应的数据状态变更。另外,当网购平台和商户一起做功能升 级时,可能会涉及到通知字段和地址等配置信息的变更,此时,多个项目同时并行,通知字段和地址等关键信息必须存在多套,每个项目的项目环境获取对应的配置,与商户进行联调测试。

也就是说,在上述情形下,当某台服务器的配置数据有变更时,可以在图2所示的配置数据的数据结构中增加服务器的标识信息字段,并将服务器的标识信息字段的值设置为相应服务器的标识信息,例如:服务器的名称,这样,当服务器定时或周期性查找自身的配置数据时,就可以根据自身的标识信息查找到自身的配置数据,实现每台服务器都有自身独特的配置。

并且,数据库中还保存有一套默认的配置数据,如果根据自身的标识信息未查找到相应的配置数据,则直接使用默认的配置数据,从而可以实现配置数据没有变更时,不做任何配置。

图4为本发明数据管理装置一个实施例的结构示意图,本实施例中的数据管理装置可以作为服务器,或服务器的一部分实现本发明图1所示实施例的流程,如图4所示,该数据管理装置可以包括:获得模块41和刷新模块42;

获得模块41,用于根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录;以及从上述服务器的标识信息对应的缓存记录中获得状态为等待刷新的缓存记录;其中,获得模块41,具体用于根据服务器的标识信息,定时或周期性地从缓存管理表中获得上述服务器的标识信息对应的缓存记录。

本实施例中,在数据库存储的缓存管理表中,增加每台服务器的标识信息,实现一台服务器对应一条缓存记录,获得模块41定时或周期性查询服务器的标识信息对应的缓存记录。本实施例中,上述服务器的标识信息可以包括上述服务器的名称和/或IP地址。其中,服务器对应的缓存记录的数据结构可以如表1所示。

刷新模块42,用于根据上述状态为等待刷新的缓存记录中的缓存名称刷新上述缓存名称对应的缓存数据。进一步地,刷新模块42,还用于在刷新上述缓存名称对应的缓存数据之后,将上述状态为等待刷新的缓存记录的状态更新为刷新结束。

也就是说,本实施例中,对于缓存记录中,服务器的标识信息标识的是服务器自身,并且状态是wait_for_refresh的缓存记录,刷新模块42才会执行缓存刷新操作,这样可以实现按服务器级别控制缓存刷新的时机,实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

图4所示实施例中,服务器可以为集群中的服务器,但本发明实施例并不仅限于此,本实施例对此不作限定。

图5为本发明数据管理装置另一个实施例的结构示意图,与图4所示的数据管理装置 相比,不同之处在于,图5所示的数据管理装置还可以包括:查找模块43、插入模块44和设置模块45;

其中,查找模块43,用于在获得模块41根据服务器的标识信息从缓存管理表中获得上述服务器的标识信息对应的缓存记录之前,对服务器的本地缓存进行初始化,在缓存管理表中查找上述服务器的标识信息对应的缓存记录;

插入模块44,用于当查找模块43在上述缓存管理表中未查找到上述服务器的标识信息对应的缓存记录时,在缓存管理表中插入上述服务器的标识信息对应的缓存记录,上述服务器的标识信息对应的缓存记录包括标识信息字段和状态字段,上述标识信息字段的值为服务器的标识信息,上述状态字段的值为初始值。具体地,上述服务器的标识信息对应的缓存记录的数据结构可以如表1所示。

设置模块45,用于当查找模块43在上述缓存管理表中查找到上述服务器的标识信息对应的缓存记录时,将上述服务器的标识信息对应的缓存记录中状态字段的值设为初始值。

上述实施例中,通过服务器的标识信息对该服务器的缓存数据进行标识,从而对于动态管理类数据,可以实现每台服务器独立刷新自身对应的缓存数据,不同的服务器刷新互不影响。

图6为本发明数据管理装置再一个实施例的结构示意图,本实施例中的服务器可以作为服务器,或服务器的一部分实现本发明图3所示实施例的流程,如图6所示,该数据管理装置可以包括:查找模块61和加载模块62;

查找模块61,用于根据服务器的标识信息在数据库中查找上述服务器的标识信息对应的配置数据;具体地,查找模块61可以根据该服务器的标识信息定时或周期性地在数据库中查找上述服务器的标识信息对应的配置数据。

加载模块62,用于当查找模块61查找到上述服务器的标识信息对应的配置数据时,加载上述服务器的标识信息对应的配置数据。

进一步地,加载模块62,还用于当查找模块61未查找到上述服务器的标识信息对应的配置数据时,加载默认的配置数据。

本实施例中,上述服务器的标识信息可以为服务器的名称(SERVER_HOST_NAME)。

本实施例中,对于静态配置类数据,可以在配置数据中增加服务器的标识信息字段,以标识配置数据是属于哪台服务器的,查找模块61根据服务器的标识信息去查询相应的配置数据。其中,上述服务器的标识信息可以为服务器的名称(SERVER_HOST_NAME),上述服务器的标识信息对应的配置数据的数据结构的一个示例可以如表2所示。

当然,也不是所有服务器的配置数据都不一样,因此,本实施例中还保存有一套默认的配置数据,如果根据服务器的标识信息未查找到上述服务器的标识信息对应的配置数据, 则可以直接加载默认的配置数据。

本实施例中,服务器可以为集群中的服务器,但本发明实施例并不仅限于此,本实施例对此不作限定。

本实施例中,当某台服务器的配置数据有变更时,就在配置数据中增加服务器的标识信息字段,并将服务器的标识信息字段的值设置为相应服务器的标识信息,例如:服务器的名称,这样,当查找模块61定时或周期性查找服务器的配置数据时,就可以根据服务器的标识信息查找到服务器的配置数据,实现每台服务器都有自身独特的配置。

并且,数据库中还保存有一套默认的配置数据,如果查找模块61根据服务器的标识信息未查找到相应的配置数据,则加载模块62直接加载默认的配置数据,从而可以实现配置数据没有变更时,不做任何配置。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(Programmable Gate Array;以下简称:PGA),现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软 件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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