CN103678690B - 一种Andriod系统事务管理方法及装置 - Google Patents

一种Andriod系统事务管理方法及装置 Download PDF

Info

Publication number
CN103678690B
CN103678690B CN201310737469.9A CN201310737469A CN103678690B CN 103678690 B CN103678690 B CN 103678690B CN 201310737469 A CN201310737469 A CN 201310737469A CN 103678690 B CN103678690 B CN 103678690B
Authority
CN
China
Prior art keywords
file
transaction
management module
file operation
transaction management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310737469.9A
Other languages
English (en)
Other versions
CN103678690A (zh
Inventor
焦新旺
曾茂林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN201310737469.9A priority Critical patent/CN103678690B/zh
Publication of CN103678690A publication Critical patent/CN103678690A/zh
Application granted granted Critical
Publication of CN103678690B publication Critical patent/CN103678690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种Andriod系统事务管理方法及装置。在本发明中,通过接收事务请求信号,根据事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到预先建立的事务管理模块中,事务管理模块再执行文件操作以及数据库操作,实现了文件操作和数据库操作能在同一事务中进行,使得文件操作和数据库操作同时成功或失败,保持数据一致。

Description

一种Andriod系统事务管理方法及装置
技术领域
本发明属于计算机技术领域,尤其涉及一种Andriod系统事务管理方法及装置。
背景技术
目前android系统的事务管理只支持数据库事务,如果有文件操作和数据库操作混杂时,没有办法做到文件操作和数据库操作在同一事务,这样会造成数据的不一致,有时文件读写成功了,但数据库操作失败了,或者文件读写失败了,数据库操作成功了。
发明内容
本发明提供了一种基于事务管理模块的Andriod系统事务管理方法及装置,旨在解决现有的Andriod系统无法将文件操作和数据库操作在同一事务中进行,容易造成数据不一致的问题。
本发明是这样实现的,Andriod系统事务管理方法,包括以下步骤:
接收事务请求信号;
根据所述的事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中,所述事务管理模块是预先创建的;
事务管理模块执行文件操作以及数据库操作。
本发明还提供了提供一种Andriod系统事务管理装置,包括:
接收模块、添加模块、事务管理模块;
所述接收模块,用于接收事务请求信号;
所述添加模块,用于根据所述的事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中;
事务管理模块,还用于执行文件操作以及数据库操作。
在本发明中,通过接收事务请求信号,根据事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到预先建立的事务管理模块中,事务管理模块再执行文件操作以及数据库操作,实现了文件操作和数据库操作能在同一事务中进行,使得文件操作和数据库操作同时成功或失败,保持数据一致。
附图说明
图1是本发明实施例提供的Andriod系统事务管理方法的实现流程图;
图2是本发明实施例提供的Andriod系统事务管理方法中步骤103具体实现流程图;
图3是本发明实施例提供的Andriod系统事务管理方法中回滚文件操作及其相关操作的实现流程图;
图4是本发明实施例提供的Andriod系统事务管理装置的结构框图;
图5是本发明实施例提供的Andriod系统事务管理装置中事务管理模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的一种Andriod系统事务管理方法的实现流程,详述如下:
步骤101、接收事务请求信号。
接收用户发送的事务请求信号,事务请求信号包括事务中将要操作的文件的文件标识以及事务中将要操作的数据库的数据库标识。所述文件标识可以为文件名称、文件路径、文件描述信息等。所述数据库标识可以为数据库名称、数据库路径等。
步骤102、根据上述的事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中,该事务管理模块是预先创建的。
具体的,在Andriod系统中的应用程序层预先创建一个事务管理模块。接收用户事务请求信号后,事务管理模块创建一个新事务,将事务中要操作的所有文件也即上述文件标识相对应的文件以及事务中要操作的数据库事务模块添加到Android系统的应用程序层上的事务管理模块中。其中,事务中要操作的数据库事务模块是Andriod系统中自带的数据库事务模块。
步骤103、事务管理模块执行文件操作以及数据库操作。
将事务中要操作的所有文件以及事务中要操作的数据库事务模块,添加到事务管理模块后,用户可以发送开始标识给事务管理模块,设置事务管理模块的状态,标识事务开始。用户也可以发送执行文件操作命令和数据库操作命令给事务管理模块。事务管理模块接收到开始标识或者接收到执行文件操作命令和数据库操作命令后,开始执行文件操作以及数据库操作,具体地,事务管理模块先执行文件操作,如果文件操作成功,在事务管理模块中进行标识,标识文件事务操作成功,然后事务管理模块再执行数据库操作,具体的数据库操作是通过事务管理模块中的数据库事务模块对上述数据库标识相对应的数据库执行操作。如果事务操作成功,同样在事务管理模块中进行标识,标识数据库操作成功。如果文件操作失败或者数据库操作失败,则退出事务并执行回滚操作,恢复事务操作前的状态。回滚操作包括回滚文件操作或/和回滚数据库操作。具体的,回滚文件操作是将经过重名后的文件再次命名为原始文件名,实现文件回滚。回滚数据库操作可以使用android系统自带的SQLite事务控制机制。
本发明实施例,通过创建事务管理模块,再通过事务管理模块执行文件操作以及数据库操作,使得在同一事务中既支持文件操作又支持数据库操作,能够保持数据的一致性。
为了更加详细的描述步骤103,结合附图2提供又一实施例,对步骤103、事务管理模块执行文件操作以及数据库操作,做以下更具体的描述:
步骤201、事务管理模块执行文件操作。
事务管理模块执行文件操作,包括对文件进行更新、删除等。文件成操作结束后返回文件操作结果标识。该文件操作结果标识可以是二进制代码。
步骤202、判断文件操作是否成功,如果是,则执行步骤203,如果否,则执行步骤206。
具体的,根据上述文件操作结果标识进行判断,比如,若文件操作结果标识是01则表示文件操作成功,若文件操作结果标识为00则表示文件操作失败。
步骤203、执行数据库操作。
文件操作成功后,事务管理模块再执行数据库操作,包括对数据库进行增加、删除和修改等。数据库操作结束后返回数据库操作结果标识。该数据库操作结果标识可以是二进制代码。
步骤204、判断数据库操作是否成功,如果是则结束操作,如果否则执行步骤205后执行步骤206。
具体的,根据上述数据库操作结果标识进行判断,比如若数据库操作结果标识是001则表示数据库操作成功,若数据库操作结果标识为000则表示文件操作失败。
步骤205、执行回滚数据库操作。
数据库的回滚操作可以使用android系统自带的SQLite事务控制机制。
步骤206、执行回滚文件操作。
具体的,将经过重名后的文件再次命名为原始文件名,实现文件回滚。执行回滚文件操作之后结束事务。
由于数据库操作是Andriod系统中自带的数据库事务模块执行的,在Andriod系统架构下,先进行文件操作再执行数据操作才能更有效的保证数据的一致性。如果先执行数据库操作再执行文件操作,那么如果数据库操作成功,会正式提交至系统,接下来再执行文件操作,如果文件操作失败,虽然文件操作能进行回滚,但是数据库操作成功不能再进行回滚数据库操作,这样就会导致文件操作和数据库操作数据一致。
为了更为详细的描述前述实施例中的回滚文件操作,结合附图3提供又一实施例,对步骤206、执行回滚文件操作以及回滚文件之前的相关的操作做以下详细的描述:
步骤301、将添加到事务管理模块的文件进行重命名。
当把文件(比如文件名为A)添加到事务管理模块后,系统会对该文件进行重命名,比如把文件重命名为A.bak,然后后续操作都是对重命名后的文件进行操作。
步骤302、执行文件操作,输出新的文件。
事务管理模块对文件操作后,不管成功还是失败,都会输出新的文件,通常新的文件的文件名与被添加到事务管理模块的文件重命名前的文件名一致,比如A。
步骤303、判断文件操作是否成功,如果是,则执行步骤304,如果否则执行步骤307。
具体的,根据文件操作结果标识进行判断,比如若文件操作结果标识是01则表示文件操作成功,若文件操作结果标识为00则表示文件操作失败。
步骤304、执行数据库操作。
事步骤305、判断数据库操作是否成功,如果是,则执行步骤306,如果否,则执行步骤307。
具体的,根据数据库操作结果标识进行判断,比如若数据库操作结果标识是001则表示数据库操作成功,若数据库操作结果标识为000则表示文件操作失败。
步骤306、删除添加到Android系统的应用程序层上的事务管理模块中的被重命名的文件。
事务操作成功后,删除添加到Android系统的应用程序层上的事务管理模块中的被重命名的文件,比如前述的A.bak文件。
步骤307、删除输出的新文件,将添加到Android系统的应用程序层上的事务管理模块中的被重命名的文件进行再次命名,实现文件回滚。
如果事务操作失败,系统会先删除输出的新文件,比如上述的A文件,再将添加到Android系统的应用程序层上的事务管理模块中的被重命名的文件进行再次命名,实现文件回滚。比如,通过重命名A.bak文件为A来实现文件回滚。
本发明实施例提供的事务管理方法通过回滚文件操作,从而不需要事先复制备份文件,提高了事务处理的效率,且该回滚文件操作简单易实现。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
图4示出了本发明实施例提供的一种Andriod系统事务管理装置的结构框图,该装置可以实现前述实施例一、二、三所描述的方法。该Andriod系统事务管理装置可以运行于具备Andriod系统的各种终端,包括但不限于移动电话、口袋计算机(Pocket PersonalComputer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal DigitalAssistant,PDA)、数字电视等。为了便于说明,仅示出了与本实施例相关的部分。如图4,该装置包括:接收模块41、添加模块42、事务管理模块43。
接收模块41,用于接收事务请求信号。事务请求信号包括事务中将要操作的文件的文件标识以及事务中将要操作的数据库的数据库标识。所述文件标识可以为文件名称、文件路径、文件描述信息等。所述数据库标识可以为数据库名称、数据库路径等。
添加模块42,用于根据上述事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中。接收模块41接收用户事务请求信号后,添加模块42将事务中要操作的所有文件以及事务中要操作的数据库事务模块添加到Android系统的应用程序层上的事务管理模块中。其中,事务中要操作的数据库事务模块是Andriod系统中自带的数据库事务模块。
事务管理模块43,用于执行文件操作以及数据库操作。
事务管理模块执行文件操作,包括对文件进行更新、删除等。文件成操作结束后返回文件操作结果标识。该文件操作结果标识可以是二进制代码。数据库操作,包括对数据库进行增加、删除和修改等。数据库操作结束后返回数据库操作结果标识。该数据库操作结果标识可以是二进制代码。
本发明实施例,通过事务管理模块执行文件操作以及数据库操作,使得在同一事务中既支持文件操作又支持数据库操作,能够保持数据的一致性。
图5是本发明实施例提供的图4中的事务管理模块43的结构框图,事务管理模块43包括:接收单元431,用于接收开始标识,所述开始标识用于标志事务开始。执行子单元432,用于先执行文件操作,如果文件操作成功,再执行数据库操作,具体的,数据库操作是通过调用添加的数据库事务模块执行数据库操作。
进一步的,执行子单元432还包括:输出单元4321、判断单元4322、回滚单元4323、删除单元4324、标识单元4325。输出单元4321,用于执行文件操作或数据操作后输出新文件。判断单元4322,用于判断文件操作或数据库操作是否成功,具体的判断单元4322据文件操作结果标识以及数据库操作结果标识进行判断,比如若文件操作结果标识是01则表示文件操作成功,若文件操作结果标识为00则表示文件操作失败;若数据库操作结果标识是001则表示数据库操作成功,若数据库操作结果标识为000则表示文件操作失败。删除单元4324,用于如果事务操作失败,删除输出的新文件。回滚单元4323,用于如果事务操作失败,则退出事务并执行回滚操作,恢复事务操作前的状态,回滚操作包括回滚文件操作或/和回滚数据库操作。进一步的,回滚单元4323还包括:重命名单元43231,用于将添加到事务管理模块的文件进行重命名,当把文件(比如文件名为A)添加到事务管理模块后,重命名单元43231会对该文件进行重命名,比如把文件重命名为A.bak,然后后续文件操作都是对重命名后的文件进行操作;重命名单元43231,还用于当文件操作或数据库操作事务失败时,将添加到Android系统的应用程序层上的事务管理模块中的被重命名的文件进行再次命名,实现文件回滚,比如,通过重命名A.bak文件为A来实现文件回滚。通过回滚文件操作,从而不需要事先复制备份文件,提高了事务处理的效率。标识单元4325,用于当文件操作或事务操作成功是,在事务管理模块中进行标识,标识文件操作成功或事务操作成功。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种Android系统事务管理方法,其特征在于,包括以下步骤:
接收事务请求信号;
根据所述的事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中,所述事务管理模块是预先创建的;
事务管理模块执行文件操作以及数据库操作;
所述事务请求信号包括所述事务中将要操作的所有文件的文件标识以及所述事务中将要操作的所述数据库的数据库标识。
2.如权利要求1所述的方法,其特征在于,所述事务管理模块执行文件操作以及数据库操作之前,还包括:
事务管理模块接收开始标识,所述开始标识用于标识事务开始。
3.如权利要求1所述的方法,其特征在于,所述事务管理模块执行文件操作以及数据库操作,具体为:
先执行文件操作,如果文件操作成功,再执行数据库操作。
4.如权利要求1至3之一所述的方法,其特征在于,所述事务管理模块执行文件操作以及数据库操作,还包括:
如果文件操作失败或者数据库操作失败,则退出事务并执行回滚操作,恢复事务操作前的状态,所述回滚操作包括回滚文件操作或/和回滚数据库操作。
5.如权利要求4所述的方法,其特征在于,所述回滚文件操作具体为:将经过重名后的文件再次命名为原始文件名,实现文件回滚。
6.一种Android系统事务管理装置,其特征在于,包括:
接收模块、添加模块、事务管理模块;
所述接收模块,用于接收事务请求信号;
所述添加模块,用于根据所述的事务请求信号将事务中要操作的所有文件以及数据库事务模块添加到Android系统的应用程序层上的事务管理模块中;
事务管理模块,用于执行文件操作以及数据库操作;
所述事务请求信号包括所述事务中将要操作的所有文件的文件标识以及所述事务中将要操作的所述数据库的数据库标识。
7.如权利要求6所述的装置,其特征在于,所述事务管理模块还包括:
接收单元,用于接收开始标识,所述开始标识用于标识事务开始。
8.如权利要求6或7所述的装置,其特征在于,所述事务管理模块还包括:
执行子单元,用于先执行文件操作,如果文件操作成功,再执行数据库操作。
9.如权利要求8所述的装置,其特征在于,所述执行子单元还包括:
回滚单元,用于如果文件操作失败或者数据库操作失败,退出事务并执行回滚操作,恢复文件为事务操作前的状态,所述回滚操作包括回滚文件操作或/和回滚数据库操作。
10.如权利要求9所述的装置,其特征在于,回滚单元还包括:
重命名单元,用于将经过重名后的文件再次命名为原始文件名,实现文件回滚。
CN201310737469.9A 2013-12-26 2013-12-26 一种Andriod系统事务管理方法及装置 Active CN103678690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310737469.9A CN103678690B (zh) 2013-12-26 2013-12-26 一种Andriod系统事务管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310737469.9A CN103678690B (zh) 2013-12-26 2013-12-26 一种Andriod系统事务管理方法及装置

Publications (2)

Publication Number Publication Date
CN103678690A CN103678690A (zh) 2014-03-26
CN103678690B true CN103678690B (zh) 2018-01-12

Family

ID=50316234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310737469.9A Active CN103678690B (zh) 2013-12-26 2013-12-26 一种Andriod系统事务管理方法及装置

Country Status (1)

Country Link
CN (1) CN103678690B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631838B (zh) * 2020-12-31 2024-06-28 深圳软牛科技有限公司 一种NTFS中office文件恢复方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770162A (zh) * 2002-06-06 2006-05-10 株式会社理光 管理数据库的数据库管理系统
CN101080715A (zh) * 2004-12-15 2007-11-28 皇家飞利浦电子股份有限公司 用于管理二进制大对象的系统和方法
CN102411598A (zh) * 2011-07-29 2012-04-11 株洲南车时代电气股份有限公司 一种实现数据一致性的方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930359B2 (en) * 2009-02-03 2011-04-19 International Business Machines Corporation Methods of consistent data protection for multi-server applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770162A (zh) * 2002-06-06 2006-05-10 株式会社理光 管理数据库的数据库管理系统
CN101080715A (zh) * 2004-12-15 2007-11-28 皇家飞利浦电子股份有限公司 用于管理二进制大对象的系统和方法
CN102411598A (zh) * 2011-07-29 2012-04-11 株洲南车时代电气股份有限公司 一种实现数据一致性的方法及其系统

Also Published As

Publication number Publication date
CN103678690A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
US11741046B2 (en) Method and apparatus for creating system disk snapshot of virtual machine
JP6795684B2 (ja) マルウェア検出及びコンテンツアイテムの復元
US9292387B2 (en) Medium, control method, and information processing apparatus
CN102349062B (zh) 浏览器缓存与远程仓库同步的方法和系统
US8352540B2 (en) Distinguishing data streams to enhance data storage efficiency
US20170286009A1 (en) System and method for reference tracking garbage collector
US8983905B2 (en) Merging playlists from multiple sources
US9146735B2 (en) Associating workflows with code sections in a document control system
US20170060695A1 (en) Data replication between databases with heterogenious data platforms
CN110096476A (zh) 数据备份方法、装置及计算机可读存储介质
US8185496B2 (en) Separating file data streams to enhance progressive incremental processing
JP2015503168A (ja) アプリケーションデータを復元するためのシステム及び方法
US8260752B1 (en) Systems and methods for change tracking with multiple backup jobs
CN102360410B (zh) 一种文件系统的用户操作发现方法和装置
CN109582496B (zh) 一致性快照组的创建方法、装置及计算机可读存储介质
WO2018028484A1 (zh) 群组恢复方法、服务器和存储介质
WO2018006587A1 (zh) 一种文件存储方法、终端及存储介质
CN102984357B (zh) 一种联系人信息管理方法及装置
US20130006932A1 (en) Physical Replication of Database Subset to Improve Availability and Reduce Resource Cost in a Cloud Environment
CN103019891A (zh) 一种还原被删除文件的方法及系统
CN102495774A (zh) 一种实现计算机系统恢复的方法及系统
US20170147704A1 (en) Processing large xml files by splitting and hierarchical ordering
CN103678690B (zh) 一种Andriod系统事务管理方法及装置
CN106384255A (zh) 一种创建信息码推广信息的方法和装置
KR20180095004A (ko) 고 쓰루풋, 고 신뢰성의 데이터 처리 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant