[发明专利]一种通过业务逻辑锁进行系统并发控制的方法无效
申请号: | 201110109841.2 | 申请日: | 2011-04-29 |
公开(公告)号: | CN102156928A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 武蒙 | 申请(专利权)人: | 浪潮通信信息系统有限公司 |
主分类号: | G06Q10/00 | 分类号: | G06Q10/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种通过业务逻辑锁进行系统并发控制的方法,包括业务逻辑锁基本要素、加解锁方法、超时锁处理;业务逻辑锁的基本要素包括:功能号FUNC_CODE、业务关键数据DATA_CODE、锁编码LOCK_ID、锁定时间LOCKTIME数据,其中关键数据是指业务逻辑处理过程中起关键作用的业务数据,包括订单号、中奖单号、手机号;功能号是指当前锁需要锁定的业务功能,每个功能都唯一相应一个功能号,包括支付业务中订单支付功能号:ORDER_PAY、领奖业务中的领奖功能号:DO_ACTIVITY、用户注册业务功能号DO_REG,这些功能号根据具体业务情况编写;锁定时间标识锁的有效时间,不同的业务逻辑有不同的锁定时间要求;锁编码一条逻辑锁的标识,用于唯一标识一条具体的业务逻辑锁。 | ||
搜索关键词: | 一种 通过 业务 逻辑 进行 系统 并发 控制 方法 | ||
【主权项】:
一种通过业务逻辑锁进行系统并发控制的方法,其特征在于,包括业务逻辑锁基本要素、加解锁方法、超时锁处理;业务逻辑锁的基本要素包括:功能号FUNC_CODE、业务关键数据DATA_CODE、锁编码LOCK_ID、锁定时间LOCKTIME数据,其中关键数据是指业务逻辑处理过程中起关键作用的业务数据,包括订单号、中奖单号、手机号;功能号是指当前锁需要锁定的业务功能,每个功能都唯一相应一个功能号,包括支付业务中订单支付功能号:ORDER_PAY、领奖业务中的领奖功能号:DO_ACTIVITY、用户注册业务功能号DO_REG,这些功能号根据具体业务情况编写;锁定时间标识锁的有效时间,不同的业务逻辑有不同的锁定时间要求;锁编码一条逻辑锁的标识,用于唯一标识一条具体的业务逻辑锁;业务逻辑处理之前需要进行加锁操作,步骤如下:将功能号、业务关键数据、锁编码、锁定时间数据在一个单独的数据库事务中保存到一个以功能号、业务关键数据为主键的业务逻辑锁表中,并将此事务单独提交,在保存业务逻辑锁的时候,如果存在相同的未失效锁,即功能号和业务关键数据与当前锁的功能号和业务关键数据相同且未到失效时间,则属于加锁失败,即说明出现的并发问题,如果保存业务锁成功,则说明加锁成功,业务系统可以进行具体业务处理;加锁失败处理:加锁操作失败:是指在保存业务逻辑锁的时候,存在相同的功能号和业务关键数据,并且已存在的锁并未超时,如果加锁操作失败,则说明此业务存在并发问题,进行错误处理;如果加锁失败,即存在有着相同功能号、关键数据且未失效的业务逻辑锁,业务系统需要根据具体情况进行处理,其中:1)如果确实发生了并发问题,则要终止当前业务,直到正常解锁或锁失效再重新发起业务;2)当前业务可能存在死锁的情况,包括:用户强制中止了业务逻辑,则在锁超期前可由用户决定是否强行终止业务逻辑锁,并将解锁以后的风险告知用户,用户要求解锁的话,则先将上次的锁删除,再重新进行加锁,加锁成功后调用业务逻辑处理,处理完成后进行解锁;加锁成功后,进行业务逻辑处理;只有业务逻辑锁加锁成功后,才能进行具体的业务逻辑处理;业务逻辑处理完成后进行解锁操作;解锁操作是指在业务逻辑锁表中删除或标记为超时以当前业务编号为业务功能号和当前业务数据为业务关键数据的记录,业务逻辑处理完成后应该在单独的数据库事务中执行此业务对应的解锁操作;步骤如下:1)对于明确知道锁编码的解锁操作,可直接根据锁编码进行删除操作;2)根据之前加锁时的功能号、业务关键数据,删除将其对应的业务逻辑锁,与之相关联的父锁、子锁一并删除;超时锁的解锁处理:是指对于已中断但仍在锁定的业务逻辑,要通过人工和自动两种解锁机制进行解锁,系统通过锁定超时机制定期删除无效的锁,超时时间包括:10分钟、半小时、1小时、24小时或24小时以上,对于已中断但仍在锁定的业务逻辑,在超期前如果用户需要操作此业务逻辑,则可由用户决定是否强行终止当前业务逻辑锁,并通过系统提示让用户了解到强制解锁以后可能存在的风险;由于可能存在不完整的业务出来逻辑,从而造成一些超时锁的存在,故需要针对这些超时的锁进行处理,步骤如下:定时扫描业务逻辑锁表,检查现有的业务逻辑锁是否超出了预先设定的有效期,如果发现超时的锁,则进行删除操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通信信息系统有限公司,未经浪潮通信信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110109841.2/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理