[发明专利]一种数据库更新方法和装置在审
申请号: | 202011583756.5 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112667650A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 张炜 | 申请(专利权)人: | 北京华大智宝电子系统有限公司;北京智宝云科科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 北京天达知识产权代理事务所(普通合伙) 11386 | 代理人: | 牛洪瑜 |
地址: | 100015*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 更新 方法 装置 | ||
本发明涉及一种数据库更新方法和装置,属于数据库应用,解决如何确定数据修改操作的有序性和修改数据的正确性的问题。方法包括:通过中间节点从客户端接收操作指令;将操作指令存储在操作队列中;从数据标志位读取当前操作状态并且当前操作状态处于无操作状态时,从操作队列中获取最早存储的操作指令并将获取的操作指令作为当前操作指令;根据当前操作指令和数据存储位置对数据执行当前操作,同时基于当前操作将数据标志位修改为与操作相对应的操作状态;在当前操作完成以后,将数据标志位修改为无操作状态;以及当内存中存在修改数据时,用存储在内存中的最近修改数据定时更新数据库。保证数据修改操作的有序性和修改数据的正确性。
技术领域
本发明涉及数据库应用技术领域,尤其涉及一种数据库更新方法和装置。
背景技术
在互联网的数据库应用领域,通常一条数据存储于密管系统数据库或后台数据库中,也可以在使用或操作时读出后缓存于内存中。当数据读入内存后,数据库和内存都存储着该条数据,并且内存中的数据为基准数据,会定期写入数据库中。当内存中数据不再被使用时,最新的数据写入数据库的同时,该数据从内存中删除。
对于数据的修改操作,既可以直接通过修改数据库的方式进行修改,也可以在内存中修改后再存入数据库中。假如此时该数据同时存在于数据库和内存中的两种修改方式并发操作,其中一个直接操作数据库进行修改,另外一个修改缓存的数据,如何保证修改操作的有序性和修改数据的正确性。或者存在另外一种情况,存在数据库中的数据同时被多个客户端访问(如同一个账号登录在PC端、iPad端和手机端)时,该数据被同时处理或使用,视同为对同一数据修改的并发操作,也会出现上述修改操作次序和正确性的问题。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种数据库更新方法和装置,用以解决如何确定数据修改操作的有序性和修改数据的正确性的问题。
一方面,本发明实施例提供了一种数据库更新方法,包括:通过中间节点从客户端接收操作指令;将所述操作指令存储在操作队列中;从数据标志位读取当前操作状态并且所述当前操作状态处于无操作状态时,从所述操作队列中获取最早存储的操作指令并将获取的操作指令作为当前操作指令;根据所述当前操作指令和数据存储位置对数据执行当前操作,同时基于所述当前操作将所述数据标志位修改为与所述操作相对应的操作状态;在所述当前操作完成以后,将所述数据标志位修改为无操作状态;以及当所述内存中存在修改数据时,用存储在所述内存中的最近修改数据定时更新所述数据库。
上述技术方案的有益效果如下:通过在内存中开辟一块内存,这块内存既不是数据库,也不是数据存放的内存而是专门为中间节点服务的内存。在所有平台或客户端访问数据库时都通过这个中间节点进行管控。具体地,通过操作队列对来自不同客户端指令进行管理,基于当前操作实时更新数据标志位,以及在内存中存在修改数据时,用存储在内存中的最近修改数据定时更新数据库而忽略数据库中的修改数据,从而能够保证数据修改操作的有序性和修改数据的正确性。
基于上述方法的进一步改进,所述操作指令包括:在数据库中操作、在内存中操作、正在读取操作和正在写入操作。
基于上述方法的进一步改进,数据标志位包括锁定状态和操作状态,其中,所述操作状态包括:无操作状态、在数据库中操作数据的状态、在内存中操作数据的状态、读取数据状态和写入数据状态。
基于上述方法的进一步改进,所述数据存储位置包括所述数据库和/或所述内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华大智宝电子系统有限公司;北京智宝云科科技有限公司,未经北京华大智宝电子系统有限公司;北京智宝云科科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011583756.5/2.html,转载请声明来源钻瓜专利网。