[发明专利]用于C/S架构文件管理系统的事务处理方法有效
申请号: | 200810119259.2 | 申请日: | 2008-09-01 |
公开(公告)号: | CN101667178A | 公开(公告)日: | 2010-03-10 |
发明(设计)人: | 付德平 | 申请(专利权)人: | 北京数码大方科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰 |
地址: | 100080北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 架构 文件 管理 系统 事务处理 方法 | ||
技术领域
本发明涉及文件管理领域,具体而言,涉及用于C/S架构文件 管理系统的事务处理方法。
背景技术
在客户机/服务器(C/S)架构的文件管理系统中,用户需要管 理的数据通常包括结构化数据和文件。结构化数据存储在服务器的 数据库中,而文件存储在服务器的一个目录(可称为电子仓库)中。 用户进行一个业务处理而操作数据时,比如删除一个文档,该过程 包括从数据库中删除结构化数据以及从电子仓库中删除文件这两 部分操作,即数据库操作和电子仓库操作(可称为文件操作)。
现有技术操作数据的方案主要有两种:第一种方案是将文件操 作纳入到数据库事务(针对数据库操作所建立的事务)中间执行, 例如将文件操作放在数据库事务启动之后、提交之前,如果文件操 作成功则提交数据库事务,文件操作失败,则回滚数据库事务。
第一种方案将文件操作纳入到数据库事务中间执行,数据库事 务需要等待文件操作成功后才能继续执行,由于文件操作耗时较 长,使得对数据库锁的占用时间过长从而严重影响数据库的性能, 进一步严重影响整个系统的性能。另外,如果数据库事务提交失败, 则文件操作所产生的数据就可能成为脏数据。
针对上述的技术问题,现有技术中提出了第二种方案,文件操 作和数据库事务各自独立,文件操作放在数据库事务之前或者之后 执行。然而,由于文件操作和数据库事务各自独立,所以如果数据 库事务提交失败或者文件操作失败,则文件操作所产生的数据就可 能成为脏数据,导致电子仓库不能恢复原状。
总之,在实现本发明过程中,发明人发现上述两种方案都可能 导致电子仓库产生脏数据,即,文件操作的失败或者数据库操作的 失败即使引起事务回滚,也不能使电子仓库恢复原样。
发明内容
本发明旨在提供一种用于C/S架构文件管理系统的事务处理方 法,能够解决现有技术方案在文件操作失败或数据库操作失败后, 电子仓库可能会产生脏数据的问题。
在本发明的实施例中,提供了一种用于C/S架构文件管理系统 的事务处理方法,包括以下步骤:针对期望执行的文件操作建立一 个文件事务,针对期望执行的数据库操作建立一个数据库事务;启 动文件事务,在执行文件操作时记录执行文件操作之前和之后的和 电子仓库有关的状态;如果文件操作成功,则启动数据库事务,如 果数据库操作也成功,则提交数据库事务,然后提交文件事务;如 果文件操作失败或数据库操作失败,则回滚文件事务和或数据库事 务,其中利用记录的状态恢复电子仓库。
优选的,如果文件操作失败或数据库操作失败,则回滚文件事 务和或数据库事务,其中利用记录的状态恢复电子仓库具体包括: 如果文件操作失败,则回滚文件事务,其中利用记录的状态恢复电 子仓库到执行文件操作之前的状态;如果数据库操作失败,则回滚 数据库事务,并回滚文件事务,回滚文件事务时利用记录的状态恢 复电子仓库到执行文件操作之前的状态。
优选的,如果文件操作失败或数据库操作失败,则回滚文件事 务和或数据库事务,其中利用记录的状态恢复电子仓库具体包括: 如果文件操作失败,则回滚文件事务,其中利用记录的状态恢复电 子仓库到执行文件操作之前的状态;如果数据库操作失败,则判断 是否执行过文件事务;如果是,回滚数据库事务,并回滚执行过的 文件事务,回滚文件事务时利用记录的状态恢复电子仓库到执行文 件操作之前的状态;如果未执行过文件事务,则仅回滚数据库事务。
优选的,文件操作为文件上传,在执行文件操作时记录执行文 件操作之前和之后的和电子仓库有关的状态具体包括:记录上传文 件后在电子仓库中产生的文件。
优选的,利用记录的状态恢复电子仓库具体包括:执行文件事 务回滚时,根据状态获知删除上传文件后在电子仓库中产生的文 件;从电子仓库中删除产生的文件。
优选的,文件操作为文件删除,在执行文件操作时记录执行文 件操作之前和之后的和电子仓库有关的状态具体包括:将被删除的 文件移动到电子仓库的删除区。
优选的,利用记录的状态恢复电子仓库具体包括:执行文件事 务回滚时,根据状态获知电子仓库的删除区中被删除的文件;将被 删除的文件恢复到电子仓库中。
优选的,提交文件事务具体包括:从电子仓库的删除区彻底删 除被删除的文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数码大方科技有限公司,未经北京数码大方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810119259.2/2.html,转载请声明来源钻瓜专利网。