CN112328432A - 文件事务管理方法、系统、存储介质及计算机设备 - Google Patents
文件事务管理方法、系统、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN112328432A CN112328432A CN202011236728.6A CN202011236728A CN112328432A CN 112328432 A CN112328432 A CN 112328432A CN 202011236728 A CN202011236728 A CN 202011236728A CN 112328432 A CN112328432 A CN 112328432A
- Authority
- CN
- China
- Prior art keywords
- file
- transaction management
- target
- target file
- modification operation
- 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.)
- Withdrawn
Links
- 238000007726 management method Methods 0.000 title claims abstract description 64
- 230000004048 modification Effects 0.000 claims abstract description 90
- 238000012986 modification Methods 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Abstract
本发明公开了一种文件事务管理方法、系统、存储介质及计算机设备,涉及文件管理技术领域,该文件事务管理方法包括以下步骤:读取目标文件的内容,将所述内容写入日志文件中;获取所述目标文件中需要进行文件事务管理的程序段;执行对所述程序段的修改操作,并在执行所述程序段的修改操作过程中出现异常时,读取所述日志文件记录的信息以将所述目标文件恢复到修改操作前的初始状态。本发明能够解决现有技术中无法对文件实现事务管理的技术问题,保证对单个文件修改时事务的原子性。
Description
技术领域
本发明涉及文件管理技术领域,具体涉及一种文件事务管理方法、系统、存储介质及计算机设备。
背景技术
在目前的编程开发中,基本上都是会使用数据库用来存储需要保存的数据。市场上用得比较多的关系型数据库就是MySQL和Oracle。这两个数据库都为开发者提供了事务,方便开发者来管理数据。
在目前的技术中,仅仅是对数据库实现了事务,保证了事务的原子性。在日常开发过程中,难免会对文件进行一些读写操作,使用上述技术对单个文件进行修改操作时,在对文件进行修改的过程中出现了异常时,现有技术无法保证对单个文件修改时事务的原子性,因此无法保证文件的修改具有一致性与完整性。
发明内容
针对现有技术的不足,本发明的目的在于提供一种文件事务管理方法,旨在解决现有技术在对单个文件进行修改无法保证事务的原子性,无法保证文件的修改操作具有一致性与完整性。
为了实现上述目的,本发明的实施例是通过如下技术方案来实现的:
一种文件事务管理方法,包括以下步骤:
读取目标文件的内容,将所述内容写入日志文件中;
获取所述目标文件中需要进行文件事务管理的程序段;
执行对所述程序段的修改操作,并在执行所述程序段的修改操作过程中出现异常时,读取所述日志文件记录的信息以将所述目标文件恢复到修改操作前的初始状态。
与现有技术相比,本发明的有益效果在于:通过本发明提供的文件事务管理方法,在对目标文件执行修改操作之前,将目标文件中的内容写入到日志文件中,当执行对目标文件程序段的修改操作过程中出现异常时,能够读取日志文件中的信息以将目标文件恢复到修改操作前的初始状态,实现了对目标文件的事务管理,能够保证目标文件的修改操作具有一致性与完整性。
根据上述技术方案的一方面,所述方法还包括:
若在执行所述程序段的修改操作过程中未出现异常,清空所述日志文件记录的信息,关闭所述文件事务管理的进程。
根据上述技术方案的一方面,在获取所述目标文件中需要进行文件事务管理的程序段的步骤之前,所述方法还包括:
向所述目标文件中的程序段添加文件事务注解。
根据上述技术方案的一方面,在向所述目标文件中的程序段添加文件事务注解的步骤之后,所述方法还包括:
通过java的反射机制,获取所述目标文件中所有添加文件事务注解的程序段。
根据上述技术方案的一方面,在执行所述程序段的修改操作的步骤之前,所述方法还包括:
判断所有添加所述文件事务注解的程序段是否异常;
若所有目标文件中添加有文件事务注解的程序段存在异常,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
根据上述技术方案的一方面,在读取目标文件的内容,将所述内容写入日志文件中的步骤之前,所述方法还包括:
指定所述目标文件的文件路径;
判断所述文件路径下所述目标文件是否存在;
若所述文件路径下缺乏所述目标文件,关闭所述文件事务管理的进程。
根据上述技术方案的一方面,所述方法还包括:
在执行对所述程序段的修改操作中,判断所述修改操作的时间是否超出一时间阈值;
若所述修改操作的用时超出所述时间阈值,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
基于上述同样的目的,本发明还提供一种文件事务管理系统,包括:
读写模块,用于读取所述目标文件的内容,将所述内容写入日志文件中;该读写模块
获取模块,用于获取所述目标文件中需要进行文件事务管理的程序段;
执行模块,执行对所述程序段的修改操作;
判断模块,用于判断所述目标文件的修改操作是否出现异常,若执行所述程序段的修改操作过程中出现异常时,读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
根据上述技术方案的一方面,所述文件事务管理系统还包括:
修改判断模块,该修改判断模块用于判断目标文件的修改操作是否出现异常;
注解模块,用于向目标文件中的程序段添加文件事务注解;
反射模块,通过java的反射机制,获取所述目标文件中所有添加文件事务注解的程序段;
注解判断模块,用于判断所有添加所述文件事务注解的程序段是否异常;若所有目标文件中添加有文件事务注解的程序段存在异常,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态;
路径指定模块,用于指定所述目标文件的文件路径;判断所述文件路径下所述目标文件是否存在;若所述文件路径下缺乏所述目标文件,关闭所述文件事务管理的进程;
修改时间判断模块,用于在执行对所述程序段的修改操作中,判断所述修改操作的时间是否超出一时间阈值;若所述修改操作的用时超出所述时间阈值,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
本发明还提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述方法的步骤。
本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
本发明的附加方面与优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述与/或附加的方面与优点从结合下面附图对实施例的描述中将变得明显与容易理解,其中:
图1为本发明中第一实施例所示文件事务管理方法的流程图。
图2为本发明中第二实施例所示文件事务管理方法的流程图。
图3为本发明中第三实施例所示文件事务管理系统的结构框图;
图4为根据本申请实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、特征与优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”以及类似的表述只是为了说明的目的,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造与操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定与限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的与所有的组合。
现有技术中,事务的主要作用是保证数据的一致性和完整性,在日常开发中,数据库领域通常使用事务避免异常、错误等导致的数据信息异常。然而,现有技术只是对数据库实现了事务,在对文件进行修改操作时,无法保证文件的事务,无法保证文件内数据的一致性和完整性。具体为,在对文件进行修改操作时,往往容易因为一些错误的操作导致文件的数据错误或丢失,这种情况在实际生产环境中,代价是不可估计的。
请结合图1,本发明的第一实施例提供了一种文件事务管理方法,
上述文件事务管理的方法,包括步骤S10-S30:
S10、读取目标文件的内容,将内容写入日志文件中;
其中,目标文件为需要被文件事务管理的程序文件,日志文件为固定于上述目标文件固定目录下的日志文件(Data Log),该日志文件专用于保存文件数据;通过将目标文件中的内容写入日志文件中,以起到备份作用。
S20、获取目标文件中需要进行文件事务管理的程序段;
其中,目标文件为源文件,内部具有源代码,将目标文件中的若干行源代码划分成若干程序段,当需要对目标文件中其中一个或几个程序段进行修改操作时,应当在修改操作之前首先获取目标文件中需要进行修改操作的程序段,以实现对程序段进行文件事务管理,也即对目标文件实现文件事务管理。
S30、执行对程序段的修改操作,并在执行程序段的修改操作过程中出现异常时,读取日志文件记录的信息以将目标文件恢复到修改操作前的初始状态。
其中,上述执行对目标文件中程序段的修改操作,该修改操作包括但不限定于删除内容、替换内容与增加内容,也即对目标文件中的源代码进行修改,由于在对目标文件中的程序段进行修改操作之前,已将目标文件内的内容全部写入了日志文件中,当修改操作过程中出现崩溃等异常情况时,则将目标文件中的内容替换为日志文件记录的内容,以回到目标文件在修改操作前的初始状态,实现对文件的事务管理,保证事务的原子性。
在回到目标文件在修改操作前的初始状态后,再次对目标文件中的程序段进行修改操作,直至目标文件中的程序段修改操作成功。
请结合图2,本发明的第二实施例提供了一种文件事务管理的方法,在本实施例当中,方法包括:
S10、读取目标文件的内容,将内容写入日志文件中;
其中,目标文件为需要被文件事务管理的程序文件,日志文件为固定于上述目标文件固定目录下的日志文件(Data Log),该日志文件专用于保存文件数据;通过将目标文件中的内容写入日志文件中,以起到备份作用。
S11、向目标文件中的程序段添加文件事务注解。
文件事务注解(FileTranscation)具有标记的作用,用于标记目标文件中程序段的具体位置,当目标文件中的程序段被标记文件事务注解的标记后,便于程序执行时查找所有已添加文件事务注解的程序段,便于程序运行效率的提升。
S12、通过java的反射机制,获取目标文件中所有添加文件事务注解的程序段。
由于在目标文件中对部分程序段进行了注解,因此,如何快速获取目标文件中所有已添加文件事务注解的程序段是至关重要的,在本实施例当中,通过java的反射机制,能够快速获取目标文件中所有添加文件事务注解的程序段,所有被注解的程序段被文件事务管理之后,对程序段进行修改操作的过程中出现异常时,能够快速将目标文件中的内容替换为日志文件记录的信息,即能使得目标文件恢复到修改操作之前的初始状态。
S20、获取目标文件中需要进行文件事务管理的程序段;
其中,目标文件为源文件,内部具有源代码,将目标文件中的若干行源代码划分成若干程序段,当需要对目标文件中其中一个或几个程序段进行修改操作时,应当在修改操作之前首先获取目标文件中需要进行修改操作的程序段,以实现对程序段进行文件事务管理,也即对目标文件实现文件事务管理。
S21、判断所有添加文件事务注解的程序段是否异常;
在S21中,该步骤用于判断目标文件中所有添加有文件事务注解的程序段是否存在异常,该异常指的是文件损坏等。
S22、若所有目标文件中添加有文件事务注解的程序段存在异常,则读取日志文件记录的信息以将目标文件恢复到修改前的初始状态。
S30、执行对程序段的修改操作,并在执行程序段的修改操作过程中出现异常时,读取日志文件记录的信息以将目标文件恢复到修改操作前的初始状态。
在回到目标文件在修改操作前的初始状态后,再次对目标文件中的程序段进行修改操作,直至目标文件中的程序段修改操作成功。
其中,上述执行对目标文件中程序段的修改操作,该修改操作包括但不限定于删除内容、替换内容与增加内容,也即对目标文件中的源代码进行修改,由于在对目标文件中的程序段进行修改操作之前,已将目标文件内的内容全部写入了日志文件中,当修改操作过程中出现崩溃等异常情况时,则将目标文件中的内容替换为日志文件记录的内容,以回到目标文件在修改操作前的初始状态,实现对文件的事务管理,保证事务的原子性。
S31、执行对程序段的修改操作,若在执行程序段的修改操作过程中未出现异常,清空日志文件记录的信息,关闭文件事务管理的进程。
上述执行对目标文件中程序段的修改操作,该修改操作包括但不限定于删除内容、替换内容与增加内容,也即对目标文件中的源代码进行修改,若对目标文件程序段的修改操作过程中未出现异常,也即针对程序段的修改操作完成,此时便不再需要对目标文件进行文件事务管理,清空日志文件中记录的信息,结束目标文件的文件事务管理进程。
由于在对目标文件中的程序段进行修改操作之前,已将目标文件内的内容全部写入了日志文件中,当修改操作过程中出现崩溃等异常情况时,则将目标文件中的内容替换为日志文件记录的内容,以回到目标文件在修改操作前的初始状态,实现对文件的事务管理,保证事务的原子性,保证了目标文件修改操作的一致性与完整性。
具体的,若在执行程序段的修改操作过程中未出现异常,即针对程序段的修改操作成功完成,此时便不再需要对目标文件进行文件事务管理,清空日志文件中记录的信息,结束目标文件的文件事务管理进程。
其中,在S10之前,还包括:
S1、指定目标文件的文件路径;
判断文件路径下目标文件是否存在,若目标文件未处于文件路径下,关闭文件事务管理的进程。
在S1中,该步骤用于指定目标文件的文件路径,并判断上述路径下目标文件是否存在,当目标文件未处于上述文件路径下,则关闭文件事务管理的进程。
S2、在执行对程序段的修改操作中,判断修改操作的时间是否超出一时间阈值。
若修改操作的用时超出时间阈值,则读取日志文件记录的信息以将目标文件恢复到修改前的初始状态。
请结合图3,本发明的第三实施例提供了一种文件事务管理系统,包括:
读写模块10,用于读取目标文件的内容,将内容写入日志文件中;
获取模块20,用于获取目标文件中需要进行文件事务管理的程序段;
执行模块30,执行对程序段的修改操作,用于判断目标文件的修改操作是否出现异常,若执行程序段的修改操作过程中出现异常时,读取日志文件记录的信息以将目标文件恢复到修改前的初始状态。
根据本实施例提供的文件事务管理系统,通过执行对目标文件中程序段的修改操作,该修改操作包括但不限定于删除内容、替换内容与增加内容,也即对目标文件中的源代码进行修改,由于在对目标文件中的程序段进行修改操作之前,已将目标文件内的内容全部写入了日志文件中,当修改操作过程中出现崩溃等异常情况时,则将目标文件中的内容替换为日志文件记录的内容,以回到目标文件在修改操作前的初始状态,实现对文件的事务管理,保证事务的原子性。
在本实施例当中,文件管理系统还包括:
修改判断模块,该修改判断模块用于判断目标文件的修改操作是否出现异常;
注解模块,用于向目标文件中的程序段添加文件事务注解;
反射模块,通过java的反射机制,获取目标文件中所有添加文件事务注解的程序段;
注解判断模块,用于判断所有添加文件事务注解的程序段是否异常;若所有目标文件中添加有文件事务注解的程序段存在异常,则读取日志文件记录的信息以将目标文件恢复到修改前的初始状态;
路径指定模块,用于指定目标文件的文件路径;判断文件路径下目标文件是否存在;若文件路径下缺乏目标文件,关闭文件事务管理的进程;
修改时间判断模块,用于在执行对程序段的修改操作中,判断修改操作的时间是否超出一时间阈值;若修改操作的用时超出时间阈值,则读取日志文件记录的信息以将目标文件恢复到修改前的初始状态。
本发明的第四实施例提供了一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一或第二实施例当中所示方法的步骤。
本发明的第五实施例提供了一种计算机设备,结合图1描述的本申请实施例文件事务管理方法可以由计算机设备来实现。图4为根据本申请实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器41以及存储有计算机程序指令的存储器42。
具体地,上述处理器41可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器42可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器42可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器42可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器42可在数据处理装置的内部或外部。在特定实施例中,存储器42是非易失性(Non-Volatile)存储器。在特定实施例中,存储器42包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器42可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器42所执行的可能的计算机程序指令。
处理器41通过读取并执行存储器42中存储的计算机程序指令,以实现上述实施例中的任意一种方法。
在其中一些实施例中,计算机设备还可包括通信接口43和总线40。其中,如图4所示,处理器41、存储器42、通信接口43通过总线40连接并完成相互间的通信。
通信接口43用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口43还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线40包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线40包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线40可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线40可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体与详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形与改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种文件事务管理方法,其特征在于,包括以下步骤:
读取目标文件的内容,将所述内容写入日志文件中;
获取所述目标文件中需要进行文件事务管理的程序段;
执行对所述程序段的修改操作,并在执行所述程序段的修改操作过程中出现异常时,读取所述日志文件记录的信息以将所述目标文件恢复到修改操作前的初始状态。
2.根据权利要求1所述的文件事务管理方法,其特征在于,所述方法还包括:
若在执行所述程序段的修改操作过程中未出现异常,清空所述日志文件记录的信息,关闭所述文件事务管理的进程。
3.根据权利要求1所述的文件事务管理方法,其特征在于,在获取所述目标文件中需要进行文件事务管理的程序段的步骤之前,所述方法还包括:
向所述目标文件中的程序段添加文件事务注解。
4.根据权利要求3所述的文件事务管理方法,其特征在于,在向所述目标文件中的程序段添加文件事务注解的步骤之后,所述方法还包括:
通过java的反射机制,获取所述目标文件中所有添加文件事务注解的程序段。
5.根据权利要求3所述的文件事务管理方法,其特征在于,在执行所述程序段的修改操作的步骤之前,所述方法还包括:
判断所有添加所述文件事务注解的程序段是否异常;
若所有目标文件中添加有文件事务注解的程序段存在异常,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
6.根据权利要求1所述的文件事务管理方法,其特征在于,在读取目标文件的内容,将所述内容写入日志文件中的步骤之前,所述方法还包括:
指定所述目标文件的文件路径;
判断所述文件路径下所述目标文件是否存在;
若所述文件路径下缺乏所述目标文件,关闭所述文件事务管理的进程。
7.根据权利要求1所述的文件事务管理方法,其特征在于,所述方法还包括:
在执行对所述程序段的修改操作中,判断所述修改操作的时间是否超出一时间阈值;
若所述修改操作的用时超出所述时间阈值,则读取所述日志文件记录的信息以将所述目标文件恢复到修改前的初始状态。
8.一种文件事务管理系统,其特征在于,包括:
读写模块,用于读取目标文件的内容,将所述内容写入日志文件中;
获取模块,用于获取所述目标文件中需要进行文件事务管理的程序段;
执行模块,用于执行对所述程序段的修改操作,并在执行所述程序段的修改操作过程中出现异常时,读取所述日志文件记录的信息以将所述目标文件恢复到修改操作前的初始状态。
9.一种存储介质,其上存储有计算机指令,其特征在于:该指令被处理器执行时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236728.6A CN112328432A (zh) | 2020-11-09 | 2020-11-09 | 文件事务管理方法、系统、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236728.6A CN112328432A (zh) | 2020-11-09 | 2020-11-09 | 文件事务管理方法、系统、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328432A true CN112328432A (zh) | 2021-02-05 |
Family
ID=74316812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011236728.6A Withdrawn CN112328432A (zh) | 2020-11-09 | 2020-11-09 | 文件事务管理方法、系统、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328432A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101542437A (zh) * | 2005-12-07 | 2009-09-23 | 微软公司 | 软件事务性存储器操作的优化 |
CN103765373A (zh) * | 2013-10-18 | 2014-04-30 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
CN105068760A (zh) * | 2013-10-18 | 2015-11-18 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
CN109450663A (zh) * | 2018-10-08 | 2019-03-08 | 清华大学 | 网络功能的开发方法、系统、计算机设备及存储介质 |
CN111651221A (zh) * | 2020-07-14 | 2020-09-11 | 迈普通信技术股份有限公司 | 注解国际化方法及装置、存储介质及电子设备 |
-
2020
- 2020-11-09 CN CN202011236728.6A patent/CN112328432A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101542437A (zh) * | 2005-12-07 | 2009-09-23 | 微软公司 | 软件事务性存储器操作的优化 |
CN103765373A (zh) * | 2013-10-18 | 2014-04-30 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
CN105068760A (zh) * | 2013-10-18 | 2015-11-18 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
CN109450663A (zh) * | 2018-10-08 | 2019-03-08 | 清华大学 | 网络功能的开发方法、系统、计算机设备及存储介质 |
CN111651221A (zh) * | 2020-07-14 | 2020-09-11 | 迈普通信技术股份有限公司 | 注解国际化方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294743B2 (en) | Firmware event tracking for NAND-based storage devices, and methods and instruction sets for performing the same | |
US20230016555A1 (en) | Data recovery method, apparatus, and solid state drive | |
CN105843551B (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
CN108431783B (zh) | 访问请求处理方法、装置及计算机系统 | |
KR101870521B1 (ko) | 스토리지 저널링을 개선하는 방법 및 시스템 | |
US9483396B2 (en) | Control apparatus, storage device, and storage control method | |
CN106682193B (zh) | 基于缓存的数据持久化存储方法及装置 | |
CN106910528B (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
US11048601B2 (en) | Disk data reading/writing method and device | |
US20140095437A1 (en) | Computing system and related data management method thereof | |
US9003228B2 (en) | Consistency of data in persistent memory | |
US10191670B2 (en) | Method and device of data protection, storage equipment | |
CN110727597B (zh) | 一种基于日志排查无效代码补全用例的方法 | |
CN115145697B (zh) | 数据库事务的处理方法、装置及电子设备 | |
CN104461925A (zh) | 一种存储设备地址对齐的自动纠正方法和装置 | |
CN113778822A (zh) | 纠错能力测试方法、装置、可读存储介质及电子设备 | |
CN106802837B (zh) | 一种更新错误检测和纠正ecc码的方法及装置 | |
CN108431784B (zh) | 访问请求处理方法、装置及计算机系统 | |
CN110377276B (zh) | 源代码文件管理方法及设备 | |
US9898468B2 (en) | Single pass file system repair with copy on write | |
CN114860506A (zh) | Linux文件系统修复方法、系统、装置及存储介质 | |
CN114385418A (zh) | 通信设备的保护方法、装置、设备和存储介质 | |
US8910004B2 (en) | Information processing apparatus, and method of controlling information processing apparatus | |
CN112328432A (zh) | 文件事务管理方法、系统、存储介质及计算机设备 | |
CN110688242A (zh) | SSD异常掉电后恢复block信息的方法及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210205 |
|
WW01 | Invention patent application withdrawn after publication |