[发明专利]一种数据库表单记录加锁方法和装置无效
申请号: | 201110051430.2 | 申请日: | 2011-02-25 |
公开(公告)号: | CN102651006A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 王飞;陆曙芸 | 申请(专利权)人: | 上海网环信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200070 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 表单 记录 加锁 方法 装置 | ||
技术领域
本发明涉及数据库技术应用领域,特别是指一种数据库表单记录的加锁控制方法和装置。
背景技术
在数据库的使用过程中,往往存在多用户同时访问同一数据库数据的情况。多个客户端同时调用同一数据库的相同数据,而多用户同时对同一数据库的数据并发操作容易导致数据误读、数据不可重复读取,甚至数据丢失等现象。为了解决因数据共享而产生的冲突,确保数据的一致性和准确性,软件开发人员通常采用数据库现有的封锁指令锁死记录,对数据库并发操作进行控制。
数据库封锁方式分共享锁、独占锁和更新锁三种,其中共享锁和独占锁用于表封锁,更新锁用于行封锁。共享锁保证查询数据的一致性,其原理是对数据库表中的所有数据进行封锁,共享该表的所有用户只能查询表中的数据,不能对表进行更新。独占锁保证数据的一致性,其原理是封锁表中所有数据,拥有该独占锁的用户,既可以查询该表,也可以更新该表,其他用户可以查询该表,但不能对该表施加任何封锁,也不能更新该表。更新锁是对一个表的一行或多行进行封锁,也称行级封锁。拥有行级封锁的用户,既可以查询也可以更新被封锁的数据行,其他用户只能查询但不能更新被封锁的数据行。其他用户如果要更新该数据行,也必须对该数据行施加更新锁。当多个用户对该数据行施加更新锁时,也不允许两个事务同时对一个表进行更新。当用户1在某行上进行更新操作时,用户2只有等待用户1提交事务后,才能更新自己所封锁的行。
传统的封锁机制实现了一种并发控制,可以满足一般数据库应用对并发控制的要求,但还是存在一些缺陷:表级封锁保证了数据的一致性,但却减弱了操作数据的并行性;行级封锁确保在用户取得被更新的行到该行进行更新这段时间内不被其它用户所修改,在提高数据操作的并发性的同时保证了数据的一致性,但如果要对一系列数据库表单行数据进行加锁时,程序设计非常繁琐,系统开销太大,软件维护也比较困难。
发明内容
本发明的目的是要提供一种简单、灵活的数据库表单记录加锁控制方法和装置,实现对“以某一字段为主KEY的涉及一系列数据库表单行数据”加锁,降低了技术开发的工作量,灵活添加锁定范围,而无须每次对数据表中的每行记录进行加锁操作,且保证了加锁后,在以主KEY为关键字的相关数据库表不能进行任何新增修改删除操作,不影响主KEY外的其他数据库表的操作,保证加锁操作目标准确。
本发明一种数据库表单记录加锁控制方法和装置内容包括:
一种数据库表单记录加控制的方法,包括:
一种数据库表单记录加锁控制方法是对一个与主KEY关联的一组数据库表进行加锁控制,包括:
在数据库表中设置主KEY,含相同主KEY的一组数据库表的集合根据指定记录中的锁定字段状态执行加锁和解锁指令;
编辑任意一条数据库表记录时,首先判断该记录所对应的锁定状态字段的标识是否为加锁状态,若为是,则需要先解锁。若为否,则成功防问记录;
成功访问记录时,主表记录的锁定状态字段标识为加锁状态,同时相关联的数据表集合也自动标识为加锁状态;
正常退出数据库记录时,主表记录的锁定状态字段释放加锁标识,其余字段为空;非正常退出数据库记录时,主表记录的锁定状态字段仍标识为加锁状态,其余字段记录保持加锁状态时相应的信息。
其中,所述的在数据库表中设置主KEY关联的一组字段包括:含有该主KEY的主表添加锁定状态字段、用户ID字段和MAC地址字段。
其中,所述的解锁,只有当以主KEY关联的数据库表单中的用户ID和MAC地址与客户端本次登陆的用户ID和MAC地址同时匹配时,该记录自动标识为非加锁状态,否则不能完成解锁程序。
其中,所述的正常退出数据库是指没有链接正常退出通道而退出该记录。
其中,所述的非正常退出数据库是指没有链接设计的退出通道退出该记录,包括直接点击IE本身的关闭按钮、直接链接退出登入页面、直接链接其它模块。
本发明还公开了一种数据库表单行记录加锁控制的装置,该装置是对与一个关键字组合相关的多数据库表多行记录集合进行加锁控制的装置,包括:
申请访问数据库单元,发送操作数据库表单记录的申请给接收单元;
接收申请单元,接收访问申请单元发送的编辑操作数据库表单记录的申请信息;
判断单元,根据接收申请单元中接收到的申请访问的数据库表单的记录信息,判断是否允许访问该记录,若不允许访问,则向解锁单元发送解锁申请,若允许访问,则向存储单元发送访问状态;
存储单元,保存被访问的数据库表单记录信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海网环信息科技有限公司,未经上海网环信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110051430.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种宽范围高压输出变换器
- 下一篇:电源电路