[发明专利]一种将数据通过请求日志的形式持久化到内存数据库中的方法在审

专利信息
申请号: 202111192877.1 申请日: 2021-10-13
公开(公告)号: CN114048182A 公开(公告)日: 2022-02-15
发明(设计)人: 贾枭;孙振东 申请(专利权)人: 上海那一科技有限公司
主分类号: G06F16/18 分类号: G06F16/18;G06F11/14
代理公司: 上海国瓴律师事务所 31363 代理人: 傅耀
地址: 200240 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 通过 请求 日志 形式 持久 内存 数据库 中的 方法
【说明书】:

发明提供了一种将数据通过请求日志的形式持久化到内存数据库中的方法,包括如下步骤:A,服务器启动;B,服务器端接收到客户端请求;C,服务器端处理请求并获取或修改内存数据库中的数据;D,服务器端将请求记录到日志中。其中本发明的有益效果是:能够简化复杂结构数据的持久化,适合处理具有复杂结构或者用户定制结构的数据。

技术领域

本发明涉及及计算机软件领域,特别涉及一种将数据通过请求日志的形式持久化到内存数据库中的方法。

背景技术

传统的数据库分为关系型和非关系型两种。关系型数据库使用关系模型来组织并存储数据,非关系型数据库以键值对的形式组织并存储数据。但复杂的数据关系,无法通过关系模型或者键值对来描述。在这种情况下,使用传统数据库会变得尤为复杂。

此外,传统的数据库的数据存放在文件中,对数据的操作都要通过文件I/O,速度较慢。传统的数据库往往配备一系列数据管理程序,操作数据需要通过这些管理程序,使用起来较为复杂。

传统的内存数据库的持久化一般采用两种方式,一是将数据存入磁盘,二是将数据记录到日志中,这两种方式不适合处理具有复杂结构或者用户定制结构的数据。

为了解决上述问题,本发明通过记录日志的方式对数据进行持久化,与传统记录日志的内存数据库不同的地方在于,本发明是将数据相关的请求记录在日志中,而不是将数据记录在日志中。并且通过对日志中请求进行重放的方式来恢复内存数据库,所有对数据的直接操作交给相应请求的处理函数。数据库无需关注数据的结构,能够存储复杂结构或定制化结构的数据,并且实现简单,易于使用。

此发明并不是为了优化现有数据库系统的性能,而是在选择性能较好的内存数据库后,使其能够简化复杂结构数据的持久化。

发明内容

为了解决上述技术问题,本发明中披露了一种将数据通过请求日志的形式持久化到内存数据库中的方法,本发明的技术方案是这样实施的:

一种将数据通过请求日志的形式持久化到内存数据库中的方法,包括如下步骤,

A,服务器启动;

B,服务器端接收到客户端请求;

C,服务器端处理请求并获取或修改内存数据库中的数据;

D,服务器端将请求记录到日志中。

优选地,所述C步骤中具体步骤如下,

服务器端处理客户端发送过来的请求,处理该请求可能需要从内存数据库中获取数据,或修改内存数据库中的数据。如果该请求不成功,继续执行B步骤;若请求是GET请求,则内存数据库中的数据没有被修改,继续执行B步骤。若请求既成功,且不是GET请求,则执行D步骤。

优选地,所述A步骤和所述B步骤之间还包括E步骤,从日志中恢复数据。

优选地,所述E步骤中,服务器端读取日志文件,根据日志重新在内存中构建数据库。

优选地,所述E步骤包括,

E1,打开日志文件;

E2,读取一行请求;

E3,服务器重放这条请求,并继续执行E2。

优选地,所述E1步骤中,首先打开日志文件,若失败则结束步骤E,若成功,则继续执行步骤E2。

优选地,所述E2步骤中,首先从日志文件中读取一行请求,若发生EOF,则结束步骤E,若未发生EOF,则继续执行步骤E3。

优选地,所述E3步骤中,服务器处理E2步骤中的读取的请求,并在内存数据库中产生数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海那一科技有限公司,未经上海那一科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111192877.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top