CN104866388B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN104866388B CN104866388B CN201410062244.2A CN201410062244A CN104866388B CN 104866388 B CN104866388 B CN 104866388B CN 201410062244 A CN201410062244 A CN 201410062244A CN 104866388 B CN104866388 B CN 104866388B
- Authority
- CN
- China
- Prior art keywords
- data
- modified
- modification
- modification operation
- completed
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,属于计算机技术领域。所述方法包括:检测上次是否完成对待修改数据的修改操作;若上次未完成对所述待修改数据的修改操作,则获取在执行未完成的所述修改操作之前对所述待修改数据进行备份得到的备份数据;将获取到的所述备份数据替换上次对所述待修改数据执行未完成的所述修改操作得到的数据,完成对所述待修改数据的恢复操作。本发明解决了对待修改数据执行修改操作的过程中出现故障导致修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据处理方法及装置。
背景技术
共享内存是指可以被多个不同的程序访问的大容量内存。由于关闭程序后共享内存中的数据并不会受到影响,因此,共享内存中的数据可以在程序重启前后一直处于可用状态,保证了在程序关闭期间对程序的数据的正常使用。
若需要修改共享内存中的待修改数据,则修改设备可以读取用户触发生成的数据修改指令,该数据修改指令用于指示修改待修改数据的单个字节;修改设备根据该数据修改指令确定共享内存中对应的待修改数据的单个字节,并根据数据修改指令的指示执行修改确定的字节;在完成对该字节的修改后继续读取下一条数据修改指令来修改待修改数据中的下一个需要修改的单个字节,直至读取完所有的数据修改指令后完成对待修改数据的修改操作。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺陷:
修改设备执行的修改操作是基于字节修改待修改数据的,若某一个待修改数据包括若干需要修改的字节且修改设备在对待修改数据执行修改操作的过程中出现了故障,本次未完成的修改操作可能只修改了需要修改的字节中的部分字节,使得修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据的一致性。
发明内容
为了解决对待修改数据执行修改操作的过程中出现故障导致修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:
第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
在执行修改操作之前,设置数据修改标识来指示未完成对待修改数据的修改操作,所述数据修改标识的数值是单字节的;其中,所述待修改数据和所述数据修改标识均存储在共享内存中,对所述共享内存中存储的数据的修改操作是基于字节进行修改的;
对所述待修改数据执行所述修改操作;
若在执行所述修改操作的过程中出现故障,则在故障恢复后读取所述数据修改标识;
检测所述数据修改标识是否指示了未完成对所述待修改数据的修改操作;
若所述数据修改标识指示了未完成对所述待修改数据的修改操作,则获取在执行未完成的所述修改操作之前对所述待修改数据进行备份得到的备份数据;
将获取到的所述备份数据替换上次对所述待修改数据执行未完成的所述修改操作得到的数据,完成对所述待修改数据的恢复操作。
第二方面,本发明实施例提供了一种数据处理装置,所述装置包括:
标识设置模块,用于在执行修改操作之前,设置数据修改标识来指示未完成对待修改数据的修改操作,所述数据修改标识的数值是单字节的;其中,所述待修改数据和所述数据修改标识均存储在共享内存中,对所述共享内存中存储的数据的修改操作是基于字节进行修改的;
数据修改模块,用于对所述待修改数据执行修改操作;
操作检测模块,用于若在执行所述修改操作的过程中出现故障,则在故障恢复后读取所述数据修改标识,检测所述数据修改标识是否指示了未完成对所述待修改数据的修改操作;
数据获取模块,用于在所述操作检测模块检测出所述数据修改标识指示了未完成对所述待修改数据的修改操作时,获取在执行未完成的所述修改操作之前对所述待修改数据进行备份得到的备份数据;
数据恢复模块,用于将所述数据获取模块获取到的所述备份数据替换上次对所述待修改数据执行未完成的所述修改操作得到的数据,完成对所述待修改数据的恢复操作。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序,所述程序由处理器执行以实现如第一方面所述的数据处理方法。
通过检测上次是否完成对待修改数据的修改操作;若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作,将对待修改数据执行修改操作的过程中出现故障得到的数据恢复成原来的待修改数据,解决了修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的数据处理方法的方法流程图;
图2是本发明另一实施例提供的数据处理方法的方法流程图;
图3是本发明一个实施例提供的数据处理装置的结构框架图;
图4是本发明再一实施例提供的数据处理装置的结构框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的数据处理方法的方法流程图。数据处理方法可以用于修改设备中,该修改设备可以是终端或服务器,该终端可以是智能电视、智能手机或者平板电脑等等。该数据处理方法,包括:
步骤101,检测上次是否完成对待修改数据的修改操作;
待修改数据是指在程序重启前后一直处于可用状态的数据,可以存储在共享内存中。比如,程序是微博时,待修改数据可以是微博用户的偶像、粉丝、发表内容的索引、用户账户和资料数据等,以保证程序关闭时用户仍然可以获取到待修改数据来登录微博、发表内容、添加偶像和查询资料等。
由于修改操作是基于字节修改待修改数据的,因此,若修改设备在执行修改操作的过程中出现故障,修改设备在修改完当前正在修改的字节后进行关闭,未完成的修改操作导致待修改数据中还存在需要被修改且未被修改的字节,修改设备再次启动时读取的上次修改后的数据既不是原来的待修改数据也不是需要修改成的目标数据,得到错误数据。因此,修改设备需要检测上次是否完成了对待修改数据的修改操作。其中,故障是外界因素引起的故障,而不是修改设备的自身逻辑问题导致的故障,比如,程序需要升级而关闭修改设备或修改设备被其他用户关闭或根据预定的管理策略强制关闭修改设备等。
若上次完成了对待修改数据的修改操作,则确定修改设备读取到的数据是目标数据,此时结束流程;若上次未完成对待修改数据的修改操作,则确定修改设备读取到的数据是错误数据,此时需要对该数据进行处理,即执行步骤102。
步骤102,若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;
由于修改设备并未记录上次的修改操作修改了待修改数据中的哪几个字节,因此,修改设备无法将读取到的错误数据修改为目标数据,而只能将该数据恢复为原来的待修改数据来保持数据一致性。其中,保持数据一致性是指将错误数据恢复为原来的待修改数据或修改为需要修改成的目标数据。
具体地,修改设备可以在执行修改操作之前预先对待修改数据进行备份得到备份数据,则在检测到未完成修改操作时,修改设备获取备份数据,并根据备份数据对读取到的错误数据进行数据恢复。
步骤103,将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作。
修改设备可以获取到待修改数据的地址,并将备份数据写入到该地址中,从而将备份数据替换该地址中上次存储的修改后得到的错误数据,完成对待修改数据的恢复操作。
综上所述,本发明实施例提供的数据处理方法,通过检测上次是否完成对待修改数据的修改操作;若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作,将对待修改数据执行修改操作的过程中出现故障得到的数据恢复成原来的待修改数据,解决了修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
请参考图2,其示出了本发明另一实施例提供的数据处理方法的方法流程图。数据处理方法可以用于修改设备中,该修改设备可以是终端或服务器,该终端可以是智能电视、智能手机或者平板电脑等等。该数据处理方法,包括:
步骤201,在执行修改操作之前读取待修改数据,对待修改数据进行存储,得到备份数据;或,在执行修改操作之前读取待修改数据中需要修改的字节,对字节以及字节在待修改数据中的位置进行存储,得到备份数据;
待修改数据是指在程序重启前后一直处于可用状态的数据,可以存储在共享内存中。比如,程序是微博时,待修改数据可以是微博用户的偶像、粉丝、发表内容的索引、用户账户和资料数据等,以保证程序关闭时用户仍然可以获取到待修改数据来登录微博、发表内容、添加偶像和查询资料等。
由于修改操作是基于字节修改待修改数据的,因此,若修改设备在执行修改操作的过程中出现故障,修改设备在修改完当前正在修改的字节后进行关闭,未完成的修改操作导致待修改数据中还存在需要被修改且未被修改的字节,修改设备再次启动时读取的上次修改后的数据既不是原来的待修改数据也不是需要修改成的目标数据,得到错误数据。因此,为了保证数据的一致性,修改设备需要在执行修改操作之前对待修改数据进行备份。其中,保持数据一致性是指将错误数据恢复为原来的待修改数据或修改为需要修改成的目标数据。故障是外界因素引起的故障,而不是修改设备的自身逻辑问题导致的故障,比如,程序需要升级而关闭修改设备或修改设备被其他用户关闭或根据预定的管理策略强制关闭修改设备等。
本实施例中,修改设备可以在执行修改操作之前读取待修改数据,将待修改数据确定为备份数据。当待修改数据的数据量较大时,对待修改数据进行存储会占用大量的内存空间,因此,优选地,修改设备可以在执行修改操作之前读取待修改数据中需要修改的至少一个字节,并获取每一个字节在待修改数据中的位置,将读取的字节以及该字节的位置确定为备份数据。其中,字节在待修改数据中的位置可以具体为字节在待修改数据中的地址。
进一步地,当存在连续多个需要修改的字节时,为了节省记录每一个字节的地址所占用的内存,修改设备还可以读取连续字节中首个字节的地址和需要修改的字节数,以进一步减少备份数据对内存的占用。
需要补充说明的是,修改设备还可以读取待修改数据的地址,并将该地址与备份数据对应存储,以便将备份数据写入到正确的地址中。其中,备份数据和待修改数据的地址都可以存储在共享内存中。
步骤202,设置数据修改标识来指示未完成对待修改数据的修改操作;
由于修改设备在对待修改数据执行修改操作的过程中可能会出现故障,因此,为了明确修改设备是否完成对待修改数据的修改操作,修改设备还可以设置用于指示是否完成对待修改数据的修改操作的数据修改标识。本实施例中,在修改设备完成对待修改数据的备份之后,由于还未执行修改操作,因此,修改设备可以设置数据修改标识来指示未完成对待修改数据的修改操作,该数据修改标识可以存储在共享内存中。
由于修改设备中可能存在至少两个程序,则修改设备可以为每一个程序设置一个数据修改标识,因此,修改设备还需要确定与待修改数据所属的程序对应的数据修改标识,再对该数据修改标识进行设置。
具体地,修改设备可以通过对数据修改标识赋值来指示是否完成对待修改数据的修改操作。比如,数据修改标识的初始值是0,则修改设备可以将数据修改标识设置为1来指示未完成对待修改数据的修改操作。
需要补充说明的是,数据修改标识的数值是单字节的。由于处理器会保证单字节的读写操作的原子性,从而避免了只修改了数据修改标识的部分字节导致的修改出错的问题,提高了对数据修改标识的修改准确性。另外,单字节的数据修改标识不会跨内存页面保存,因此,对数据修改标识的修改结果只能是0或1,没有中间状态,进一步提高了对数据修改标识的修改准确性。
步骤203,对待修改数据执行修改操作;在完成修改操作后修改数据修改标识来指示完成了对待修改数据的修改操作,否则执行步骤204;
修改设备可以根据修改操作逐个修改待修改数据中的字节,修改流程与现有的流程相同,此处不赘述。
若修改设备在执行修改操作的过程中未出现故障,即修改设备完成了修改操作,则修改设备需要修改数据修改标识来指示完成了对待修改数据的修改操作,此时结束流程。若修改设备在执行修改操作的过程中出现了故障,即修改设备未完成修改操作,则修改设备在因为故障关闭且再次启动后还需要执行步骤204来对修改得到的错误数据进行处理,以保持数据一致性。
步骤204,检测上次是否完成对待修改数据的修改操作;
由于再次启动后的修改设备并不能确定上次是否完成了对待修改数据的修改操作,因此,修改设备还需要对上次是否完成修改操作进行检测。若上次完成了修改操作,则结束流程;若上次未完成修改操作,则还需要对修改后得到的错误数据进行处理,即执行步骤205。
具体地,检测上次是否完成对待修改数据的修改操作,包括:
读取数据修改标识,该数据修改标识用于指示是否完成对待修改数据的修改操作;
检测数据修改标识是否指示了未完成对待修改数据的修改操作;
若数据修改标识指示了未完成对待修改数据的修改操作,则确定上次未完成对待修改数据的修改操作。
其中,数据修改标识可以指示是否完成对待修改数据的修改操作,因此,修改设备可以根据数据修改标识进行检测。以数据修改标识的数值为预定数值来指示未完成修改操作为例进行说明,则修改设备可以读取数据修改标识的数值,检测读取到的数值是否等于预定数值,若读取到的数值等于预定数值,则确定上次未完成对待修改数据的修改操作;若读取到的数值不等于预定数值,则确定上次完成了对待修改数据的修改操作。对应于上文的举例,本实施例中的预定数值可以设置为1。
步骤205,若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;
由于修改设备并未记录上次的修改操作修改了待修改数据中的哪几个字节,因此,修改设备无法将读取到的错误数据修改为目标数据,而只能将该数据恢复为原来的待修改数据来保持数据一致性。
具体地,修改设备可以在执行修改操作之前预先对待修改数据进行备份得到备份数据,则在检测到未完成修改操作时,修改设备获取备份数据,并根据备份数据对读取到的错误数据进行数据恢复。
步骤206,将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作;
具体地,当备份数据是待修改数据时,修改设备可以获取与待修改数据对应存储的待修改数据的地址,并将待修改数据写入该地址中。当备份数据是待修改数据中的字节时,修改设备可以获取字节在待修改数据中的位置以及待修改数据的地址,根据待修改数据的地址确定待修改数据,再根据字节的位置将字节写入待修改数据中,从而将备份数据替换该地址中上次存储的修改后得到的错误数据,完成对待修改数据的恢复操作。
步骤207,修改数据修改标识来指示完成了对待修改数据的恢复操作。
为了避免修改设备下次启动时根据数据修改标识再次对已经成功恢复的待修改数据进行恢复操作,修改设备还需要修改数据修改标识来指示完成了对待修改数据的恢复操作。
具体地,修改设备可以将数据修改标识的数值修改为除预定数值之外的数值,则修改设备可以根据数据修改标识的数值确定不需要对待修改数据执行恢复操作。对应于上文的举例,本实施例中除预定数值之外的数值可以设置为0。
综上所述,本发明实施例提供的数据处理方法,通过检测上次是否完成对待修改数据的修改操作;若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作,将对待修改数据执行修改操作的过程中出现故障得到的数据恢复成原来的待修改数据,解决了修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
另外,通过在执行修改操作之前读取待修改数据中需要修改的字节,对字节以及字节在待修改数据中的位置进行存储,得到备份数据,解决了待修改数据的数据量较大时,备份待修改数据造成的占用大量内存的问题,达到了节省内存占用的效果。
请参考图3,其示出了本发明一个实施例提供的数据处理装置的结构框架图。数据处理方法可以用于修改设备中,该修改设备可以是终端或服务器,该终端可以是智能电视、智能手机或者平板电脑等等。该数据处理装置,包括:
操作检测模块310,用于检测上次是否完成对待修改数据的修改操作;
数据获取模块320,用于在操作检测模块310检测出上次未完成对待修改数据的修改操作时,获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;
数据恢复模块330,用于将数据获取模块320获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作。
综上所述,本发明实施例提供的数据处理装置,通过检测上次是否完成对待修改数据的修改操作;若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作,将对待修改数据执行修改操作的过程中出现故障得到的数据恢复成原来的待修改数据,解决了修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
请参考图4,其示出了本发明再一实施例提供的数据处理装置的结构框架图。数据处理方法可以用于修改设备中,该修改设备可以是终端或服务器,该终端可以是智能电视、智能手机或者平板电脑等等。该数据处理装置,包括:操作检测模块310、数据获取模块320和数据恢复模块330。
操作检测模块310,用于检测上次是否完成对待修改数据的修改操作;
数据获取模块320,用于在操作检测模块310检测出上次未完成对待修改数据的修改操作时,获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;
数据恢复模块330,用于将数据获取模块320获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作。
可选的,装置还包括:
数据备份模块340,用于操作检测模块310检测上次是否完成对待修改数据的修改操作之前,在执行修改操作之前读取待修改数据,对待修改数据进行存储,得到备份数据;或,在执行修改操作之前读取待修改数据中需要修改的字节,对字节以及字节在待修改数据中的位置进行存储,得到备份数据;
标识设置模块350,用于设置数据修改标识来指示未完成对待修改数据的修改操作。
可选的,装置还包括:
数据修改模块360,用于标识设置模块350将数据修改标识的数值设置为预定数值来指示未完成对待修改数据的修改操作之后,对待修改数据执行修改操作;
第一修改模块370,用于在数据修改模块360完成修改操作后修改数据修改标识来指示完成了对待修改数据的修改操作。
可选的,操作检测模块310,包括:
标识读取单元311,用于读取数据修改标识,数据修改标识用于指示是否完成对待修改数据的修改操作;
标识检测单元312,用于检测标识读取单元311读取到的数据修改标识是否指示了未完成对待修改数据的修改操作;
操作确定单元313,用于在标识检测单元312检测出数据修改标识指示了未完成对待修改数据的修改操作时,确定上次未完成对待修改数据的修改操作。
可选的,装置还包括:
第二修改模块380,用于数据恢复模块330将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作之后,修改数据修改标识来指示完成了对待修改数据的恢复操作。
综上所述,本发明实施例提供的数据处理装置,通过检测上次是否完成对待修改数据的修改操作;若上次未完成对待修改数据的修改操作,则获取在执行未完成的修改操作之前对待修改数据进行备份得到的备份数据;将获取到的备份数据替换上次对待修改数据执行未完成的修改操作得到的数据,完成对待修改数据的恢复操作,将对待修改数据执行修改操作的过程中出现故障得到的数据恢复成原来的待修改数据,解决了修改设备再次启动时读取上次修改后的数据既不是原来的待修改数据也不是需要修改得到的目标数据,无法保证数据一致性的问题,达到了保证数据的一致性的效果。
另外,通过在执行修改操作之前读取待修改数据中需要修改的字节,对字节以及字节在待修改数据中的位置进行存储,得到备份数据,解决了待修改数据的数据量较大时,备份待修改数据造成的占用大量内存的问题,达到了节省内存占用的效果。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种数据处理方法,其特征在于,所述方法包括:
在执行修改操作之前,设置数据修改标识来指示未完成对待修改数据的修改操作,所述数据修改标识的数值是单字节的;其中,所述待修改数据和所述数据修改标识均存储在共享内存中,对所述共享内存中存储的数据的修改操作是基于字节进行修改的;所述数据修改标识与所述待修改数据所属的程序相对应,不同的程序对应于不同的数据修改标识,所述待修改数据是指在所述程序重启前后一直处于可用状态的数据;
对所述待修改数据执行所述修改操作;
若在执行所述修改操作的过程中出现故障,则在故障恢复后读取所述数据修改标识;
检测所述数据修改标识是否指示了未完成对所述待修改数据的修改操作;
若所述数据修改标识指示了未完成对所述待修改数据的修改操作,则获取在执行未完成的所述修改操作之前对所述待修改数据进行备份得到的备份数据;
将获取到的所述备份数据替换上次对所述待修改数据执行未完成的所述修改操作得到的数据,完成对所述待修改数据的恢复操作;
在完成对所述待修改数据的恢复操作之后,修改所述数据修改标识来指示完成了对所述待修改数据的恢复操作。
2.根据权利要求1所述的方法,其特征在于,所述对所述待修改数据执行所述修改操作之前,还包括:
读取所述待修改数据,对所述待修改数据进行存储,得到所述备份数据;或,读取所述待修改数据中需要修改的字节,对所述字节以及所述字节在所述待修改数据中的位置进行存储,得到所述备份数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述待修改数据执行所述修改操作之后,还包括:
在完成所述修改操作后修改所述数据修改标识来指示完成了对所述待修改数据的修改操作。
4.一种数据处理装置,其特征在于,所述装置包括:
标识设置模块,用于在执行修改操作之前,设置数据修改标识来指示未完成对待修改数据的修改操作,所述数据修改标识的数值是单字节的;其中,所述待修改数据和所述数据修改标识均存储在共享内存中,对所述共享内存中存储的数据的修改操作是基于字节进行修改的;所述数据修改标识与所述待修改数据所属的程序相对应,不同的程序对应于不同的数据修改标识,所述待修改数据是指在所述程序重启前后一直处于可用状态的数据;
数据修改模块,用于对所述待修改数据执行修改操作;
操作检测模块,用于若在执行所述修改操作的过程中出现故障,则在故障恢复后读取所述数据修改标识,检测所述数据修改标识是否指示了未完成对所述待修改数据的修改操作;
数据获取模块,用于在所述操作检测模块检测出所述数据修改标识指示了未完成对所述待修改数据的修改操作时,获取在执行未完成的所述修改操作之前对所述待修改数据进行备份得到的备份数据;
数据恢复模块,用于将所述数据获取模块获取到的所述备份数据替换上次对所述待修改数据执行未完成的所述修改操作得到的数据,完成对所述待修改数据的恢复操作;
第二修改模块,用于在完成对所述待修改数据的恢复操作之后,修改所述数据修改标识来指示完成了对所述待修改数据的恢复操作。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
数据备份模块,用于所述操作检测模块检测上次是否完成对待修改数据的修改操作之前,在执行所述修改操作之前读取所述待修改数据,对所述待修改数据进行存储,得到所述备份数据;或,在执行所述修改操作之前读取所述待修改数据中需要修改的字节,对所述字节以及所述字节在所述待修改数据中的位置进行存储,得到所述备份数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一修改模块,用于在所述数据修改模块完成所述修改操作后修改所述数据修改标识来指示完成了对所述待修改数据的修改操作。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序由处理器执行以实现如权利要求1-3任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062244.2A CN104866388B (zh) | 2014-02-24 | 2014-02-24 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062244.2A CN104866388B (zh) | 2014-02-24 | 2014-02-24 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866388A CN104866388A (zh) | 2015-08-26 |
CN104866388B true CN104866388B (zh) | 2021-04-09 |
Family
ID=53912235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410062244.2A Active CN104866388B (zh) | 2014-02-24 | 2014-02-24 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866388B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066353B (zh) * | 2017-03-28 | 2020-06-12 | 深圳市科力锐科技有限公司 | 数据备份过程中的数据使用方法及数据一致性组件 |
CN110969723B (zh) * | 2019-11-11 | 2022-10-11 | 深圳市元征科技股份有限公司 | 数据管理方法、检测设备、服务器及计算机可读存储介质 |
CN111563006B (zh) * | 2020-04-17 | 2023-07-28 | 深圳震有科技股份有限公司 | 一种数据处理方法、智能终端及存储介质 |
CN111782440B (zh) * | 2020-06-30 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN112948181A (zh) * | 2021-03-22 | 2021-06-11 | 深圳闪回科技有限公司 | 一套数据修改备份恢复系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377744A (zh) * | 2008-09-24 | 2009-03-04 | 深圳华为通信技术有限公司 | 一种终端设备软件升级恢复方法及装置 |
CN101430705A (zh) * | 2008-11-29 | 2009-05-13 | 中兴通讯股份有限公司 | 基于嵌入式数据库的存储方法和装置 |
CN103440181A (zh) * | 2013-09-06 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种文件修改的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075758B2 (en) * | 2012-03-19 | 2015-07-07 | Samsung Electronics Co., Ltd. | Removable storage device with transactional operation support and system including same |
-
2014
- 2014-02-24 CN CN201410062244.2A patent/CN104866388B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377744A (zh) * | 2008-09-24 | 2009-03-04 | 深圳华为通信技术有限公司 | 一种终端设备软件升级恢复方法及装置 |
CN101430705A (zh) * | 2008-11-29 | 2009-05-13 | 中兴通讯股份有限公司 | 基于嵌入式数据库的存储方法和装置 |
CN103440181A (zh) * | 2013-09-06 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种文件修改的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104866388A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2329360B1 (en) | Managing cache data and metadata | |
US9471435B2 (en) | Information processing device, information processing method, and computer program | |
CN104866388B (zh) | 数据处理方法及装置 | |
JP2012508932A (ja) | キャッシュデータおよびメタデータを管理すること | |
US8589647B2 (en) | Apparatus and method for synchronizing a snapshot image | |
US9710283B2 (en) | System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting | |
CN109086078B (zh) | 安卓系统升级方法、装置、服务器及移动终端 | |
CN111506253A (zh) | 一种分布式存储系统及其存储方法 | |
CN111258666A (zh) | 计算机文件的读取方法、装置、计算机系统及存储介质 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN106484719B (zh) | 一种扩展手机存储的方法及终端 | |
US9652416B2 (en) | Storage device for performing in-storage computing operations, method of operation the same, and system including the same | |
CN109683983B (zh) | 一种镜像文件的生成及加载方法、设备 | |
CN103729166A (zh) | 程序的线程关系确定方法、设备及系统 | |
CN109582332B (zh) | 互联网摄像机的系统升级方法及装置 | |
US20160170842A1 (en) | Writing to files and file meta-data | |
CN117131014A (zh) | 数据库迁移方法、装置、设备及存储介质 | |
CN108108131B (zh) | 一种ssd硬盘的数据处理方法和装置 | |
KR101143909B1 (ko) | 클라우드 컴퓨팅을 기반으로 하는 듀얼 백업 시스템 | |
CN115421960A (zh) | 一种ue内存故障恢复方法、装置、电子设备及介质 | |
US20130262804A1 (en) | Data duplication system, data duplication method, and program thereof | |
CN106557385B (zh) | 数据快照方法和存储设备 | |
CN109062503B (zh) | 提升ssd断电后读重试效率的方法、装置及计算机设备 | |
US10592329B2 (en) | Method and electronic device for continuing executing procedure being aborted from physical address where error occurs | |
CN108845959B (zh) | 一种内存数据处理方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |