[发明专利]一种基于数据库的数据更新方法和系统有效

专利信息
申请号: 201210237777.0 申请日: 2012-07-10
公开(公告)号: CN103544153A 公开(公告)日: 2014-01-29
发明(设计)人: 郑高超 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 王宝筠
地址: 英属开曼群岛大开曼*** 国省代码: 开曼群岛;KY
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 数据库 数据 更新 方法 系统
【说明书】:

技术领域

本申请涉及数据库技术领域,特别涉及一种基于数据库的数据更新方法和系统。

背景技术

数据库是一个共享资源,可以供多个用户使用。为了充分利用数据库资源、发挥数据库共享资源的特点,允许多个用户并行地存取数据库。但是当多个用户并发存取同一数据时,在数据库中就会产生多个事务同时对同一数据进行存取操作的情况,如果对并发操作不加控制就可能会出现读取和存储不正确的数据,破坏数据库的一致性。

以飞机票订票系统中的订票操作为例,假设某航班的机票余量为16张,甲售票点的甲售票员和乙售票点的乙售票员读出该航班剩余机票均为16张,如果甲售票员和乙售票员在同一时刻各卖出一张机票,则甲售票点将修改机票余量为16-1=15张,并写回数据库;同时乙售票点也会修改机票余量为16-1=15张,并写回数据库。这样,尽管订票系统一共卖出两张票时,数据库中机票的余量却仅减少一张,即数据库中的机票余量更新为16-1=15张,从而由于并发操作导致了丢失修改等问题,使得数据库出现的不一致性问题。

为了避免由于用户的并发操作而导致数据库的不一致性,一般通过对数据库进行加设排它锁以实现并发控制,即某一事务对数据库中的某个表或该表的某一记录做锁定,以保证同一时间仅有该事务可以对该表或该条记录进行修改,只有该事务释放了它的锁之后,其他的事务才可以对该表或该条记录进行修改。这样,当较多用户同时访问数据库中某一数据对象(即产生多个事务的并发操作)时,如果某个事务对该数据对象进行封锁,其他事务则必须等待,从而由于锁资源不足而产生大量的锁等待,甚至失败操作。

因此,目前需要本领域的技术人员迫切解决的一个技术问题就是:如何实现对资源有限的数据库系统的并发控制,以减少锁等待的等待时间。

发明内容

本申请提供一种基于数据库的数据更新方法,用以解决现有技术中并发访问过程中所存在的锁等待的等待时间过长的问题。

本申请还提供了一种基于数据库的数据更新系统,用以保证上述方法在实际中的实现及应用。

为了解决上述问题,本申请公开了一种基于数据库的数据更新方法,包括:

A、接收数据更新请求,所述数据更新请求中包括请求扣除的待扣数据量;

B、判断本地内存中是否存储有预扣数据量,且所述预扣数据量不小于所述待扣数据量,如果是,执行步骤E;如果否,则执行步骤C;

C、获取数据库中记录的所述数据的预算剩余量,并根据所述待扣数据量和所述预算剩余量确定数据库扣除量;

D、从所述数据库记录的预算剩余量中扣除所述数据库扣除量,并将所述数据库扣除量作为本地内存中的预扣数据量进行存储;

E、从所述本地内存中存储的预扣数据量中扣除所述待扣数据量,以更新本地内存中的预扣数据量。

本发明还公开了一种基于数据库的数据更新系统,包括:

请求接收单元,用于接收数据更新请求,所述数据更新请求中包括请求扣除的待扣数据量;

判断单元,用于判断本地内存中是否存储有预扣数据量,且所述预扣数据量不小于所述待扣数据量,并当判断出本地内存中存储有预扣数据量,且所述预扣数据量不小于所述待扣数据量时,触发执行本地数据扣除单元的操作;当判断出本地内存中未存储有预扣数据量或者所述预扣数据量小于所述待扣数据量时,触发执行第一数据读取单元的操作;

第一数据读取单元,用于获取数据库中记录的所述数据的预算剩余量;

扣除量确定单元,用于根据所述待扣数据量和所述预算剩余量确定数据库扣除量,并执行数据更新单元的操作;

数据库更新单元,用于从所述数据库记录的预算剩余量中扣除所述数据库扣除量,并将所述数据库扣除量作为本地内存中的预扣数据量进行存储,并执行所述本地数据更新单元的操作;

本地数据更新单元,用于从所述本地内存中存储的预扣数据量中扣除所述待扣数据量,以更新本地内存中的预扣数据量。

与现有技术相比,本申请包括以下优点:

在本申请中,本申请中当系统接收到数据更新请求时,并不会直接从数据库中获取数据以对数据库进行写操作,只有在本地内存中存储的预扣数据量小于该数据更新请求所请求的待扣数据量时,才会从执行从数据库中获取数据的操作,从而减少了对数据库的访问次数,即减少了对数据库的写操作次数,进而减少了锁等待的等待时间,并提高了系统单位时间内处理数据更新请求的数量,即提高了系统的吞吐量。

当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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