[发明专利]减少数据库事务期间的锁定有效
申请号: | 201110257251.4 | 申请日: | 2011-08-26 |
公开(公告)号: | CN102385611A | 公开(公告)日: | 2012-03-21 |
发明(设计)人: | J·L·法尔克波;T·赫杰斯伯格 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 减少 数据库 事务 期间 锁定 | ||
技术领域
本发明一般涉及数据库事务处理,尤其涉及减少数据库事务期间的锁定。
背景技术
当设备或应用程序更新数据库中的数据时,该数据库中的数据被锁定直到作出对该数据的变更的设备或应用程序释放该数据或终止与数据库的会话。对数据库中的数据的锁定可能影响数据库和/或连接到该数据库的设备和应用程序的性能。另外,当数据库中的数据被锁定时,其他设备和/或应用程序可能无法访问数据或对其作出变更。
锁定问题在长运行事务期间和/或对于其中多个用户、应用程序或设备被授权访问数据的数据库尤其严重。其他长运行事务包括连续作出对同一数据的多次查询和/或修改和/或访问数据的设备或应用程序对该数据执行众多和/或复杂计算的情况。在这些和其他情况下,修改数据的设备和/或应用程序可以在该数据被锁定时对该数据执行各种计算和/或操作,由此阻止其他应用程序和/或设备对该数据的访问。
缓解数据锁定导致的问题的一种尝试涉及使用在访问数据库中的数据的设备处保存所有变更的高速缓存。在设备处高速缓存对数据的变更,而不是锁定数据。当设备准备好向数据库提交变更时,锁定该数据并且同时提交变更。然而,高速缓存变更需要设备处的额外的计算资源,因为设备必须对查询结果执行后处理操作以反映高速缓存在设备处的变更。这些后处理步骤可取决于高速缓存在设备处的变更数量而变得极度复杂,并且在彼此依赖的众多计算的情况下可能使设备性能降级。
在此呈现对于这些和其他考虑事项做出的本发明。
发明内容
此处描述了用于在不在设备处使用设备高速缓存或后处理操作的情况下减少数据库事务期间的数据锁定的概念和技术。根据此处公开的概念和技术,服务器应用程序响应于执行修改存储在数据库中的基本数据的操作而生成变更集。该变更集与基本数据一起作为表的集合存储在数据库中。该表集合可包括存储反映基本数据中已由操作创建和/或修改的记录的数据的第一表,以及存储反映基本数据中已由操作删除的记录的数据的第二表。
在提交变更集中反映的对基本数据的变更、添加和/或删除之前,在主存服务器应用程序的服务器计算机处接收到的查询被修改成包括用于查询存储在变更集中的数据和基本数据的语句。对基本数据和变更集执行经修改的查询,并且生成满足经修改的查询的结果并将其返回至作出请求的设备和/或实体。变更集和经修改的查询的生成以及经修改的查询的执行可以在不锁定基本数据的情况下进行。由此,某些实施方式允许设备和/或应用程序在其他设备和/或应用程序修改基本数据的同时访问基本数据。
当向服务器应用程序提交操作的设备结束与服务器计算机的事务时,服务器应用程序锁定基本数据。服务器应用程序连续对基本数据应用存储在变更集表中的变更。当存储在变更集表中的变更已被应用于基本数据时,解锁基本数据并且丢弃变更集。
应当明白,上述主题还可被实现成计算机控制的装置、计算机进程、计算系统、或诸如计算机可读存储介质等制品。通过阅读以下具体实施方式并查阅相关联的附图,这些和各种其他特征将是显而易见的。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,本发明内容也不旨在用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任何部分中提及的任何或所有缺点的实现。
附图说明
图1是示出用于此处所公开的各实施方式的示例性操作环境的系统图。
图2是示意性地示出根据一示例性实施方式的用于存储基本数据和变更集的数据结构的框图。
图3是示意性地示出根据一示例性实施方式的用于更新存储在数据库中的数据的方法的各方面的流程图。
图4是示出能够实现此处所呈现的各实施方式的各方面的计算系统的示例性计算机硬件和软件体系结构的计算机体系结构图。
具体实施方式
以下详细描述涉及用于在不在设备处使用设备高速缓存或后处理操作的情况下减少数据库事务期间的锁定的概念和技术。根据此处公开的概念和技术,服务器应用程序响应于接收到用于修改存储在数据库中的基本数据的操作而生成变更集。该变更集被存储为与基本数据一起存储在数据库的表的集合。该表集合可包括存储反映基本数据中已由操作创建和/或修改的记录的数据的第一表,以及存储反映基本数据中已由操作删除的记录的数据的第二表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110257251.4/2.html,转载请声明来源钻瓜专利网。