[发明专利]一种基于数据库事务处理的业务方法执行方法及装置无效
申请号: | 201110090410.6 | 申请日: | 2011-04-11 |
公开(公告)号: | CN102156735A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 唐凌遥 | 申请(专利权)人: | 中国有色矿业集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华;赵娟 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据库 事务处理 业务 方法 执行 装置 | ||
1.一种基于数据库事务处理的业务方法执行方法,其特征在于,包括:
针对新建的业务对象生成对应的业务对象代理器,当执行所述业务对象的业务方法时,由所述业务对象代理器进行如下处理步骤:
在当前待执行的业务方法为最外层调用的业务方法时,为该业务方法开启事务处理,并清空预置的域对象缓存器;其中,所述业务方法包括变更类业务方法;
执行所述业务方法,并调用预先生成的域对象代理器将所述业务方法中变更的域对象放入对应的域对象缓存器中;
当所述业务方法执行成功时,进行事务处理,所述事务处理包括:将所述域对象缓存器中的域对象存储到数据库中,和/或,从数据库中删除所述域对象缓存器中指定的域对象;
提交事务处理并清空所述域对象缓存器后,关闭事务处理。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述业务方法执行失败时,回滚事务处理并清空所述域对象缓存器后,关闭事务处理。
3.如权利要求1或2所述的方法,其特征在于,所述业务对象代理器中设置有先进后出的业务方法调用栈,所述的方法还包括:
在执行当前业务方法前,判断所述业务方法调用栈是否为空,若为空,则确定当前业务方法为最外层调用的业务方法;
在开启事务处理后,将当前业务方法压入所述业务方法调用栈。
4.如权利要求3所述的方法,其特征在于,还包括:
若所述业务方法调用栈不为空,则不开启事务处理,直接将当前业务方法压入所述业务方法调用栈。
5.如权利要求3或4所述的方法,其特征在于,还包括:
在执行当前业务方法后,判断所述业务方法调用栈中是否只有一个元素,若是,则在提交事务处理后,清空所述业务方法调用栈;
若否,则直接将该业务方法从所述业务方法调用栈中出栈。
6.如权利要求1所述的方法,其特征在于,所述预置的域对象缓存器包括新建域对象缓存器、更新域对象缓存器和删除域对象缓存器,所述调用预先生成的域对象代理器将业务方法中变更的域对象放入对应的域对象缓存器中的步骤包括:
由预先生成的域对象代理器新建域对象,并将新建的域对象放入所述新建域对象缓存器;
和/或,
由预先生成的域对象代理器更新域对象,并将更新的域对象放入所述更新域对象缓存器,所述更新的域对象具有对应的属性值;
和/或,
由预先生成的域对象代理器将删除的域对象放入所述删除域对象缓存器中;
所述将域对象缓存器中的域对象存储到数据库中的步骤为,将新建域对象缓存器、更新域对象缓存器中的域对象存储到数据库中;
所述从数据库中删除域对象缓存器中指定的域对象的步骤为,从数据库中删除所述删除域对象缓存器中的域对象。
7.如权利要求6所述的方法,其特征在于,所述事务处理还包括:
按照增加域对象缓存器、更新域对象缓存器、删除域对象缓存器的顺序依次将域对象存储到数据库中或从数据库中删除。
8.如权利要求7所述的方法,其特征在于,在进行事务处理前,还包括:
判断所述新建域对象缓存器、更新域对象缓存器和删除域对象缓存器是否都为空;
若否,则判断删除域对象缓存器中的域对象,是否存在于新建域对象缓存器中;
若存在,则将该域对象从所述新建域对象缓存器、更新域对象缓存器和删除域对象缓存器中删除。
9.如权利要求8所述的方法,其特征在于,所述业务方法还包括查询类业务方法,所述执行业务方法的步骤还包括:
调用预先生成的域对象代理器,直接执行对指定域对象的相应方法;
所述的方法还包括:
在所述新建域对象缓存器、更新域对象缓存器和删除域对象缓存器都为空时,直接关闭事务处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国有色矿业集团有限公司,未经中国有色矿业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110090410.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存话单剔重方法
- 下一篇:一种发热功能性针织面料的生产工艺