数据库中数据维护方法、设备及其系统技术方案

技术编号:2820020 阅读:266 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及数据库技术,公开了一种数据库中数据维护方法、设备及其系统,在创建、修改或删除数据时,在不影响或尽量少影响内存数据库性能的情况下,能够保证该内存数据库的可靠性。本发明专利技术中,接收对内存数据库的维护操作请求,根据内存数据库的数据维护操作请求,生成记录该操作的维护操作日志,根据维护操作日志,指示基于非易失性物理介质的数据库进行数据维护操作。内存数据库所在的服务器,与指示基于非易失性物理介质的数据库进行数据维护操作的服务器,是两个独立的服务器。

【技术实现步骤摘要】

本专利技术涉及数据库技术,特别涉及数据库中数据维护技术。
技术介绍
随着网络技术的进步,越来越多的用户对快速数据和事务处理服务提出 更高的要求。电信和金融服务市场等许多行业都迫切需要可以提供实时服务 的商业数据管理系统。然而,传统的基于磁盘的数据库管理系统已经不能够 满足如此大量、高速的处理要求。为了突破这种由于数据库瓶颈而造成的性 能上的限制,新型的高效内存数据库管理系统为用户提供了有效的解决方案。 与传统的磁盘数据库相比,内存数据库具有极高的数据存取速度和极强的并 发访问能力。目前,在现有技术中,为了保证数据库的可靠性,很多软件系统开发的 专用内存数据库, 一般依附于基于非易失性物理介质的数据库(即商业物理 数据库),不做完善持久化机制,只提供查询功能。数据维护操作采用直接 操作基于非易失性物理介质的数据库,再刷新内存数据库,或同步更新基于 非易失性物理介质的数据库和内存数据库。从而保证更新的数据不会因为服 务器意外掉电或者宕机等原因丢失数据。然而,本专利技术的专利技术人发现,在用户更新数据时,不是直接更新基于非 易失性物理介质的数据库,就是内存数据库和基于非易失性物理介质的数据 库进行同步更新,这样对于应用来说,由于非易失性物理介质的数据库处理 数据的速度不是很快,因此如果需要进行大量数据操作的时候,其低下的性 能将影响到性能要求高的系统(如电信在线计费系统等)。
技术实现思路
本专利技术实施方式要解决的主要技术问题是提供一种数据库中数据维护 方法、设备及其系统,使得在创建、修改或删除数据时,在不影响或尽量少 影响内存数据库性能的情况下,能够保证该内存数据库的可靠性。为解决上述技术问题,本专利技术的实施方式提供了 一种数据库中数据维护方法,包括以下步骤接收对内存数据库的维护操作请求;根据内存数据库的数据维护操作请求,生成记录该操作的维护操作曰志5根据维护操作日志,指示基于非易失性物理介质的数据库进行数据维护 操作。本专利技术的实施方式还提供了 一种数据库中数据维护系统,包括接收单元,用于接收对内存数据库的维护操作请求;生成单元,用于根据接收单元收到的对内存数据库的维护操作请求,生 成记录该操作的维护操作日志;指示单元,用于根据生成单元生成的维护操作日志,指示基于非易失性 物理介质的数据库进行数据维护操作。本专利技术的实施方式还提供了一种数据维护设备,包括接收单元,用于接收对内存数据库的维护操作请求;生成单元,用于根据接收单元收到的对内存数据库的维护操作请求,生 成记录该操作的维护操作日志;指示单元,用于根据生成单元生成的维护操作日志,指示基于非易失性物理介质的数据库进行数据维护操作。本专利技术实施方式与现有技术相比,主要效果在于能够及时地从内存数据库中把用户更新的数据持久化到了基于非易失 性物理介质的数据库中,使得在不影响或尽量少影响内存数据库性能的情况 下(尤其是在创建、修改或删除数据时),能够保证该内存数据库的可靠性, 改善了目前内存数据库的高效和可靠性不能并存的局面。附图说明图1是根据本专利技术第一实施方式的数据库中数据维护方法示意图; 图2是根据本专利技术第 一 实施方式的数据库中数据维护方法流程图; 图3是根据本专利技术第二实施方式的数据库中数据维护方法流程图; 图4是根据本专利技术第三实施方式的数据库中数据维护系统结构图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本发 明的实施方式作进一步地详细描述。本专利技术的第一实施方式涉及一种数据库中数据维护方法,在本实施方式 中,如图1所示,当用户请求对内存数据库进行数据维护操作(包括数据的 增加、删除或修改)时,接收对内存数据库的维护操作请求,生成记录该操 作的维护操作日志,并緩存到内存数据库逻辑日志中,再由数据持久化服务 进程对内存数据库逻辑日志文件中的各维护操作日志进行解析,并将解析后 的数据持久化到基于非易失性物理介质的数据库。其中,基于非易失性物理 介质的数据库通常是基于硬盘的数据库,不过也可以是基于磁带、闪存、或 光存储介质的数据库等。下面对本实施方式的 一种数据库中数据维护方法的流程进行具体说明, 如图2所示。在步骤201中,接收用户的对内存数据库进行数据维护操作的请求,并 且由内存数据库所在的服务器生成记录该操作的维护操作日志。为描述方便, 本实施方式中将内存数据库所在的服务器称为第一服务器。具体的说,当用 户请求对内存数据库进行数据维护操作(包括数据的增加、删除或修改)时, 由第一服务器接收该用户的对内存数据库进行数据维护操作的请求,并根据 用户的数据维护操作请求及时地生成用户维护操作日志,以记录用户进行的 数据维护操作。其中,维护操作日志中记录了当前用户操作的表标识、字段 标识、数据维护操作的内存地址以及是否带有事务操作等信息。接着,进入步骤202,对维护操作日志进行緩存,即生成内存数据库逻 辑曰志,并将该日志从第一服务器传输到第二服务器。其中,第二服务器是 指示基于非易失性物理介质的数据库进行数据维护操作的服务器。由于采用 了两个独立的服务器,进一步保证了当前内存数据库所在服务器的性能。接着,进入步骤203,由第二服务器中的数据持久化服务进程判断当前 读取的维护操作日志中记录的操作是否为带事务操作,如果是带事务操作, 则进入步骤207,如果是不带事务操作,则进入步骤204。其中,数据持久化 服务进程是一个内存数据库后台进程。具体地说,数据持久化服务进程逐条读取每个内存数据库逻辑日志文件 中的维护操作日志记录,通过当前读取的维护操作日志中是否为带事务操作 的记录判断维护操作曰志中记录的操作是否为带事务操作,如果是带事务操 作,则进入步骤207,否则进入步骤204。在步骤204中,数据持久化服务进程判断所操作的表是否需要进行同步, 如果不需要进行同步,则进入步骤206;如果需要进行同步,则进入步骤205。 其中,同步是指内存数据库中的数据持久化到基于非易失性物理介质的数据库。具体地说,数据持久化服务进程根据维护操作日志中记录用户操作的表标识,去查询数据库表字典表(DBTable—Diet)中定义的表名,判断该表是 否需要同步,如果需要同步,则进入步骤205;否则,进入步骤206。其中, 数据库表字典表定义了用户表的表名、表标识以及是否需要同步等定义。在步骤205中,第二服务器指示基于非易失性物理介质的数据库进行数 据维护操作。具体地说,在判定需要同步后,根据字段类型信息以及维护操 作日志中记录的操作数据的内存地址拼装出实际需要同步的数据,然后再根 据拼装出的数据所对应的数据表字段字典(DBField—Diet)表中定义的数据 类型以及字段名,和数据库表字典中定义的表名进行拼装,得到标准SQL语 句,再把用的户更新数据持久化到基于非易失性物理介质的数据库中。在步骤206中,数据持久化服务进程删除维护操作日志,也就是说,在 数据持久化服务进程判定所操作的表不需要进行同步后,直接将该维护操作 日志删除。不难发现,由于对内存数据库的数据维护操作,通过维护操作日志,在 基于非易失性物理介质的数据库中也作了相应的维护,即及时地从内存数据 库中把用户更新的数据持久化到了基于非易失性物理介质的数据库中,使得 在不影响内存数据库性能的情况下,能够保证本文档来自技高网...

【技术保护点】
一种数据库中数据维护方法,其特征在于,包括以下步骤: 接收对内存数据库的维护操作请求; 根据内存数据库的数据维护操作请求,生成记录该操作的维护操作日志; 根据所述维护操作日志,指示基于非易失性物理介质的数据库进行数据维护操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:张宇徐志贤
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利