备份数据的方法和终端设备
技术领域
本申请涉及通信领域,并且更具体地,涉及备份数据的方法和终端设备。
背景技术
在手机日益重要的今天,以手机为例的终端设备上存储了大量的用户重要的数据,比如照片、通信录、日历、备忘录、应用数据(比如微信的聊天数据)。如果用户丢失了手机或者更换了手机,必须提供一种方案迁移和恢复用户的这些数据。
目前,各手机厂家都提供了云备份功能。一种常用的方式为,用户手机上的数据可以周期性地定时备份到云服务器中。当用户丢失了手机或者换手机的时候,可以将云服务器中的备份数据恢复到新的手机上。
但是,手机在某周期内需要备份的数据量比较大时,待备份数据的传输时间会很长,此时,出现备份失败的概率也很高。
发明内容
本申请提供一种备份数据的方法和终端设备,可以提高周期内备份的成功率。
第一方面,提供了一种备份数据的方法,包括:在第一时刻,确定第一数据,其中,所述第一时刻位于备份周期内,且所述第一时刻位于所述备份周期的待备份数据的结算时刻之前;在第一时段,向服务器发送所述第一数据,所述第一时段位于所述备份周期内,且所述第一时段位于所述第一时刻之后,所述备份周期的待备份数据的结算时刻之前。
根据本申请实施例提供的备份数据的方法,在备份周期的结算时刻(在预设的备份周期确定待备份数据的时刻)到达之前的第一时段就进行了一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
可选地,在备份周期的结算时刻之前,可以包括多个上述第一时刻和第一时段,即在备份周期的待备份数据的结算时刻之前,可以存在多个时刻和多个时段,在该多个时刻中的每个时刻确定待备份数据,并在每个时刻的对应时段向服务器发送该待备份数据。
由于在预设的数据备份时刻之前就进行了多次待备份数据的预上传,可以进一步减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,提高备份的成功率,同时,还可以增加终端设备进行数据备份时的灵活性。
在一种可能的实现方式中,在所述备份周期的待备份数据的结算时刻,确定第二数据,所述第二数据与所述第一数据相异;在第二时段,向服务器发送所述第二数据,所述第二时段位于所述备份周期内,且所述第二时段是所述备份周期的待备份数据的结算时刻之后的备份时段。
根据本申请实施例提供的备份数据的方法,在备份周期的待备份数据的结算时刻确定第二数据,并在位于结算时刻之后的第二时段向服务器发送第二数据,可以将该备份周期内的全部待备份数据都发送到服务器,从而可以保证向服务器发送的待备份数据的完整性,提高备份的可选性。
在一种可能的实现方式中,在确定第一数据之前,所述方法还包括:确定终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为无线保真WiFi连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。
根据本申请实施例提供的备份数据的方法,终端设备在满足上述预设条件时才进行数据备份。当终端设备的网络连接状态为WiFi连接状态,和/或当终端设备的充电状态为已连接充电器状态,和/或终端设备的电池状态为剩余电量大于或等于预设电量值时,进行数据备份,可以降低终端设备在数据备份时由于网络中断或电量中足发生中断的概率,从而提高备份的可靠性。当终端设备的屏幕状态为锁屏状态时进行数据备份,能够避免影响用户对终端设备的使用,提高用户体验。
在一种可能的实现方式中,所述确定第一数据包括:确定第三数据,所述第三数据是在第三时段需要发送的数据中在所述第三时段的结束时刻之前未完成发送的数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将第三数据确定为所述第一数据。
根据本申请实施例提供的备份数据的方法,第三数据为第三时段的结束时刻未完成发送的数据,将该第三数据确定为第一数据,继续向服务器发送该第三时段的结束时刻未完成发送的数据,可以避免待备份数据的遗漏,提高备份的成功率,同时由于无需从头开始发送数据,节约了发送时间,提高了用户体验。
在一种可能的实现方式中,所述确定第三数据包括:根据第一中断标识,确定所述第一数据,所述第一中断标识用于指示在第三时段需要发送的第三数据中在所述第三时段的结束时刻之前完成发送的最后一个数据,且所述第一数据包括所述第三数据中位于所述第一中断标识所指示的数据之后的数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段。
根据本申请实施例提供的备份数据的方法,当终端设备在第三时段向服务器发送待备份数据时发生异常,则数据备份中断,此时终端设备记录第一中断标识,用于指示终端设备在第三时段进行数据备份时中断的位置。这样在数据备份中断后,可以根据第一中断标识确定第一数据,因而可以在上次中断的地方继续执行,减少了每次数据备份的时间,提高备份的成功率。
在一种可能的实现方式中,所述方法还包括:当所述第一数据未能在所述第一时段全部发送完毕时,配置第二中断标识,所述第二中断标识用于指示所述第一数据中在所述第一时段的结束时刻之前完成发送的最后一个数据。
在一种可能的实现方式中,所述确定第一数据包括:确定第四数据,所述第四数据是在所述第一时段内终端设备所存储的数据相对于在第三时段内终端设备所存储的数据的增量数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将第四数据确定为所述第一数据。
根据本申请实施例提供的备份数据的方法,第四数据包括第二更新标识所指示的更新版本对应的数据相对于第一更新标识所指示的更新版本对应的数据的增量数据,将该第四数据确定为第一数据,可以减少终端设备在备份时上传的数据量,减少备份时需要的时间,从而提高备份速度,相应地,也可以减少用户的备份数据在服务器侧占用的空间。
在一种可能的实现方式中,所述确定第四数据包括:根据第一更新标识,确定所述第四数据,所述第一更新标识用于指示在第三时段内终端设备所存储的数据的更新版本,所述第四数据包括第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据,所述第二更新标识用于指示在所述第一时段内终端设备所存储的数据的更新版本。
根据本申请实施例提供的备份数据的方法,根据第一更新标识,将第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据确定为第一数据,其中,更新版本用于指示终端设备所存储的数据的“版本号”。这里根据两个时段内终端设备所存储的数据的更新版本确定增量,可以提高确定的增量数据的可靠性,从而提高备份的可靠性。
由于,第四数据为增量数据,在进行备份的时候可以减少终端设备上传的数据量,减少备份时需要的时间,从而提高备份速度,相应地,也可以减少用户的备份数据在服务器侧占用的空间。
在一种可能的实现方式中,记录第二更新标识与所述第一时段的对应关系,所述第二更新标识用于指示在第一时段内终端设备所存储的数据的更新版本。
在一种可能的实现方式中,所述第一时段的时长小于或等于预设的第一阈值。
第二方面,提供了一种终端设备,包括:处理器,用于在第一时刻,确定第一数据,其中,所述第一时刻位于备份周期内,且所述第一时刻位于所述备份周期的待备份数据的结算时刻之前;发送器,用于在第一时段,向服务器发送所述第一数据,所述第一时段位于所述备份周期内,且所述第一时段位于所述第一时刻之后,所述备份周期的待备份数据的结算时刻之前。
根据本申请实施例提供的终端设备,在备份周期的结算时刻(在预设的备份周期确定待备份数据的时刻)到达之前的第一时段就进行了一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
可选地,在备份周期的待备份数据的结算时刻之前,可以包括多个上述第一时刻和第一时段,即在备份周期的结算时刻之前,可以存在多个时刻和多个时段,在该多个时刻中的每个时刻确定待备份数据,并在每个时刻的对应时段向服务器发送该待备份数据。
由于在预设的数据备份时刻之前就进行了多次待备份数据的预上传,可以进一步减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,提高备份的成功率,同时,还可以增加该终端设备进行数据备份时的灵活性。
在一种可能的实现方式中,所述处理器还用于在所述备份周期的待备份数据的结算时刻,确定第二数据,所述第二数据与所述第一数据相异;所述发送器还用于在第二时段,向服务器发送所述第二数据,所述第二时段位于所述备份周期的待备份数据的结算时刻之后。
根据本申请实施例提供的终端设备,在备份周期的待备份数据的结算时刻确定第二数据,并在位于结算时刻之后的第二时段向服务器发送第二数据,可以将该备份周期内的全部待备份数据都发送到服务器,从而可以保证向服务器发送的待备份数据的完整性,提高备份的可选性。
在一种可能的实现方式中,在确定第一数据之前,所述处理器还用于确定终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为无线保真WiFi连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。
根据本申请实施例提供的终端设备,该终端设备在满足上述预设条件时才进行数据备份。当该终端设备的网络连接状态为WiFi连接状态、当该终端设备的充电状态为已连接充电器状态、和/或该终端设备的电池状态为剩余电量大于或等于预设电量值时,进行数据备份,可以降低该终端设备在数据备份时由于网络中断或电量中足发生中断的概率,从而提高备份的可靠性。当该终端设备的屏幕状态为锁屏状态时进行数据备份,能够避免影响用户对该终端设备的使用,提高用户体验。
在一种可能的实现方式中,所述处理器具体用于确定第三数据,所述第三数据是在第三时段需要发送的数据中在所述第三时段的结束时刻之前未完成发送的数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第三数据确定为所述第一数据。
根据本申请实施例提供的终端设备,第三数据为第三时段的结束时刻未完成发送的数据,将该第三数据确定为第一数据,继续向服务器发送该第三时段的结束时刻未完成发送的数据,可以避免待备份数据的遗漏,提高备份的成功率,同时由于无需从头开始发送数据,节约了发送时间,提高了用户体验。
在一种可能的实现方式中,所述处理器具体用于根据第一中断标识,确定所述第三数据,所述第一中断标识用于指示在第三时段需要发送的数据中在所述第三时段的结束时刻之前完成发送的最后一个数据,以及所述第三数据包括在第三时段需要发送的数据中位于所述第一中断标识所指示的数据之后的数据。
根据本申请实施例提供的终端设备,当该终端设备在第三时段向服务器发送待备份数据时发生异常,则数据备份中断,此时该终端设备记录第一中断标识,用于指示该终端设备在第三时段进行数据备份时中断的位置。这样在数据备份中断后,可以根据第一中断标识确定第一数据,因而可以在上次中断的地方继续执行,减少了每次数据备份的时间,提高备份的成功率。
在一种可能的实现方式中,当所述第一数据未能在所述第一时段全部发送完毕时,所述处理器还用于配置第二中断标识,所述第二中断标识用于指示所述第一数据中在所述第一时段的结束时刻之前完成发送的最后一个数据。
在一种可能的实现方式中,所述处理器具体用于确定第四数据,所述第四数据是在所述第一时段内所述终端设备所存储的数据相对于在第三时段内所述终端设备所存储的数据的增量数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第四数据确定为所述第一数据。
根据本申请实施例提供的终端设备,第四数据包括第二更新标识所指示的更新版本对应的数据相对于第一更新标识所指示的更新版本对应的数据的增量数据,将该第四数据确定为第一数据,可以减少该终端设备在备份时上传的数据量,减少备份时需要的时间,从而提高备份速度,相应地,也可以减少用户的备份数据在服务器侧占用的空间。
在一种可能的实现方式中,所述处理器具体用于根据第一更新标识,确定所述第四数据,所述第一更新标识用于指示在第三时段内所述终端设备所存储的数据的更新版本,所述第四数据包括第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据,所述第二更新标识用于指示在所述第一时段内所述终端设备所存储的数据的更新版本。
根据本申请实施例提供的终端设备,根据第一更新标识,将第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据确定为第一数据,其中,更新版本用于指示该终端设备所存储的数据的“版本号”。这里根据两个时段内该终端设备所存储的数据的更新版本确定增量,可以提高确定的增量数据的可靠性,从而提高备份的可靠性。
在一种可能的实现方式中,所述处理器还用于记录第二更新标识与所述第一时段的对应关系,所述第二更新标识用于指示在第一时段内所述终端设备所存储的数据的更新版本。
在一种可能的实现方式中,所述第一时段的时长小于或等于预设的第一阈值。
第三方面,提供了一种终端设备,该终端设备包括:确定模块,用于在第一时刻,确定第一数据,其中,所述第一时刻位于备份周期内,且所述第一时刻位于所述备份周期的待备份数据的结算时刻之前;发送模块,用于在第一时段,向服务器发送所述第一数据,所述第一时段位于所述备份周期内,且所述第一时段位于所述第一时刻之后,所述备份周期的待备份数据的结算时刻之前。
根据本申请实施例提供的终端设备,在备份周期的结算时刻(在预设的备份周期确定待备份数据的时刻)到达之前的第一时段就进行了一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
可选地,在备份周期的待备份数据的结算时刻之前,可以包括多个上述第一时刻和第一时段,即在备份周期的待备份数据的结算时刻之前,可以存在多个时刻和多个时段,在该多个时刻中的每个时刻确定待备份数据,并在每个时刻的对应时段向服务器发送该待备份数据。
由于在预设的数据备份时刻之前就进行了多次待备份数据的预上传,可以进一步减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,提高备份的成功率,同时,还可以增加该终端设备进行数据备份时的灵活性。
在一种可能的实现方式中,所述确定模块还用于在所述备份周期的待备份数据的结算时刻,确定第二数据,所述第二数据与所述第一数据相异;所述发送模块还用于在第二时段,向服务器发送所述第二数据,所述第二时段位于所述备份周期的待备份数据的结算时刻之后。
根据本申请实施例提供的终端设备,在备份周期的待备份数据的结算时刻确定第二数据,并在位于结算时刻之后的第二时段向服务器发送第二数据,可以将该备份周期内的全部待备份数据都发送到服务器,从而可以保证向服务器发送的待备份数据的完整性,提高备份的可选性。
在一种可能的实现方式中,在确定第一数据之前,所述确定模块还确定终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为无线保真WiFi连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。
根据本申请实施例提供的终端设备,该终端设备在满足上述预设条件时才进行数据备份。当该终端设备的网络连接状态为WiFi连接状态、当该终端设备的充电状态为已连接充电器状态、和/或该终端设备的电池状态为剩余电量大于或等于预设电量值时,进行数据备份,可以降低该终端设备在数据备份时由于网络中断或电量中足发生中断的概率,从而提高备份的可靠性。当该终端设备的屏幕状态为锁屏状态时进行数据备份,能够避免影响用户对该终端设备的使用,提高用户体验。
在一种可能的实现方式中,所述确定模块具体用于确定第三数据,所述第三数据是在第三时段需要发送的数据中在所述第三时段的结束时刻之前未完成发送的数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第三数据确定为所述第一数据。
根据本申请实施例提供的终端设备,第三数据为第三时段的结束时刻未完成发送的数据,将该第三数据确定为第一数据,继续向服务器发送该第三时段的结束时刻未完成发送的数据,可以避免待备份数据的遗漏,提高备份的成功率,同时由于无需从头开始发送数据,节约了发送时间,提高了用户体验。
在一种可能的实现方式中,所述确定模块具体用于根据第一中断标识,确定所述第三数据,所述第一中断标识用于指示在第三时段需要发送的数据中在所述第三时段的结束时刻之前完成发送的最后一个数据,以及所述第三数据包括在第三时段需要发送的数据中位于所述第一中断标识所指示的数据之后的数据。
根据本申请实施例提供的终端设备,当该终端设备在第三时段向服务器发送待备份数据时发生异常,则数据备份中断,此时该终端设备记录第一中断标识,用于指示该终端设备在第三时段进行数据备份时中断的位置。这样在数据备份中断后,可以根据第一中断标识确定第一数据,因而可以在上次中断的地方继续执行,减少了每次数据备份的时间,提高备份的成功率。
在一种可能的实现方式中,当所述第一数据未能在所述第一时段全部发送完毕时,所述确定模块还用于配置第二中断标识,所述第二中断标识用于指示所述第一数据中在所述第一时段的结束时刻之前完成发送的最后一个数据。
在一种可能的实现方式中,所述确定模块具体用于确定第四数据,所述第四数据是在所述第一时段内所述终端设备所存储的数据相对于在第三时段内所述终端设备所存储的数据的增量数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第四数据确定为所述第一数据。
根据本申请实施例提供的终端设备,第四数据包括第二更新标识所指示的更新版本对应的数据相对于第一更新标识所指示的更新版本对应的数据的增量数据,将该第四数据确定为第一数据,可以减少该终端设备在备份时上传的数据量,减少备份时需要的时间,从而提高备份速度,相应地,也可以减少用户的备份数据在服务器侧占用的空间。
在一种可能的实现方式中,所述确定模块具体用于根据第一更新标识,确定所述第四数据,所述第一更新标识用于指示在第三时段内所述终端设备所存储的数据的更新版本,所述第四数据包括第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据,所述第二更新标识用于指示在所述第一时段内所述终端设备所存储的数据的更新版本。
根据本申请实施例提供的终端设备,根据第一更新标识,将第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据确定为第一数据,其中,更新版本用于指示该终端设备所存储的数据的“版本号”。这里根据两个时段内该终端设备所存储的数据的更新版本确定增量,可以提高确定的增量数据的可靠性,从而提高备份的可靠性。
在一种可能的实现方式中,所述确定模块还用于记录第二更新标识与所述第一时段的对应关系,所述第二更新标识用于指示在第一时段内所述终端设备所存储的数据的更新版本。
在一种可能的实现方式中,所述第一时段的时长小于或等于预设的第一阈值。
第四方面,提供了一种芯片系统,包括处理器,用于从存储器调用并运行计算机程序,使得安装有所述芯片系统的设备执行如上述第一方面或第一方面中任一项可能的实现方式中的方法。可选地,所述芯片系统还包括所述存储器。
第五方面,提供了一种计算机可读介质,包括指令,当其在终端设备上运行时,使得所述终端设备执行上述第一方面或第一方面中任一项可能的实现方式中的方法。
第六方面,提供了一种计算机程序产品,包括指令,当其在终端设备上运行时,使得所述终端设备执行第一方面或第一方面中任一项可能的实现方式中的方法。
附图说明
图1是本申请实施例的备份数据的方法所适用于的终端设备的一例的示意图。
图2是本申请实施例应用的一种备份系统的示意图。
图3是本申请实施例的一种备份数据的方法的示意性流程图。
图4是本申请一个实施例的确定增量数据的示意图。
图5是本申请另一个实施例的确定增量数据的示意图。
图6是本申请实施例的另一个备份数据的方法的示意性流程图。
图7是本申请实施例的备份数据的终端设备700的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的备份数据的方法可以用于终端设备的数据备份。终端设备也可以称为用户设备,可以是手机、手环、电话手表、平板电脑、笔记本电脑、台式电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、个人数字助理(Personal DigitalAssistant,PDA)设备、销售终端(Point of Sales,POS)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备等,本申请实施例对此并不限定。
服务器也可以称为云或云端,可以是平板电脑、笔记本电脑、台式电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、个人数字助理(Personal DigitalAssistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备等,本申请实施例对此并不限定。
此外,在本申请实施例中,终端设备还可以是物联网(Internet of Things,IoT)系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
图1以手机为例,示出了该终端设备的一例的示意图,如图1所示,该终端设备100可以包括以下部件。
A.RF电路110
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于无线局域网(Wireless Local AreaNetworks,WLAN)全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)系统、通用分组无线业务(General Packet RadioService,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(FrequencyDivision Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、全球互联微波接入(WorldwideInteroperability for Microwave Access,WiMAX)通信系统、未来的第五代(5thGeneration,5G)系统或新无线(New Radio,NR)等。
B.存储器120
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行终端设备100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据终端设备100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
C.其他输入设备130
其他输入设备130可用于接收输入的数字或字符信息,以及产生与终端设备100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备130可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备130与I/O子系统170的其他输入设备控制器171相连接,在其他设备输入控制器171的控制下与处理器180进行信号交互。
D.显示屏140
显示屏140可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单,还可以接受用户输入。具体的显示屏140可包括显示面板141,以及触控面板142。其中显示面板141可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。触控面板142,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板142上或在触控面板142附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板142,也可以采用未来发展的任何技术实现触控面板142。进一步的,触控面板142可覆盖显示面板141,用户可以根据显示面板141显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板141上覆盖的触控面板142上或者附近进行操作,触控面板142检测到在其上或附近的操作后,通过I/O子系统170传送给处理器180以确定用户输入,随后处理器180根据用户输入通过I/O子系统170在显示面板141上提供相应的视觉输出。虽然在图4中,触控面板142与显示面板141是作为两个独立的部件来实现终端设备100的输入和输入功能,但是在某些实施例中,可以将触控面板142与显示面板141集成而实现终端设备100的输入和输出功能。
E.传感器150
传感器150可以为一种或多种,例如,该可以包括光传感器、运动传感器以及其他传感器。
具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备100移动到耳边时,关闭显示面板141和/或背光。
作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。
此外,终端设备100还可配置的重力感应器(也可以称为重力传感器)、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
F.音频电路160、扬声器161、麦克风162
可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路108以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。
G.I/O子系统170
I/O子系统170用来控制输入输出的外部设备,可以包括其他设备输入控制器171、传感器控制器172、显示控制器173。可选的,一个或多个其他输入控制设备控制器171从其他输入设备130接收信号和/或者向其他输入设备130发送信号,其他输入设备130可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)。值得说明的是,其他输入控制设备控制器171可以与任一个或者多个上述设备连接。所述I/O子系统170中的显示控制器173从显示屏140接收信号和/或者向显示屏140发送信号。显示屏140检测到用户输入后,显示控制器173将检测到的用户输入转换为与显示在显示屏140上的用户界面对象的交互,即实现人机交互。传感器控制器172可以从一个或者多个传感器150接收信号和/或者向一个或者多个传感器150发送信号。
H.处理器180
处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
另外,尽管未示出,终端设备100还可以包括摄像头、蓝牙模块等,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
如图2所示,本申请实施例的技术方案可以应用于各种由终端设备210和服务器220组成的存储系统,例如云存储系统、传统存储系统,及其它能够提供存储功能的系统等。
如图所示,该终端设备210可以包括:应用程序、文件系统和物理存储等,本领域技术人员可以理解,图2中示出的终端设备并不构成对该终端设备的限定。如图所示,该服务器220可以实现:备份服务、备份元数据存储和文件存储等,本领域技术人员可以理解,图2中示出的服务器并不构成对该服务器的限定。
终端设备210可以在备份周期内预设的时刻对存储的数据进行备份,即终端设备210会定期确定待备份数据,并将该待备份数据发送至服务器220,以实现终端设备的数据备份。这里的数据可以包括终端设备上通信录、备忘录、日历及其他用户安装的应用等使用或产生的数据,也可以包括终端设备上存储的其他文件或数据,本申请实施例对此并不限定。
在本申请实施例中,终端设备的备份周期可以预先进行设置。例如,可以预先设置终端设备的备份周期为七天。此处的备份周期为七天应该理解为该备份周期至少为七天,比如,当与上一备份周期中预设数据备份完成时刻相隔整七天时,终端设备由于不满足备份条件或其他原因无法进行数据备份时,则此时的备份周期大于七天。
在本申请中,终端设备确定的待备份数据可以为终端设备当前存储的所有数据,同样地,终端设备将该待备份数据发送到服务器后,该服务器存储的也可以是终端设备当前存储的所有数据。
该待备份数据也可以为终端设备当前存储的所有数据相对于上次备份完成时存储的数据的增量数据。相应地,终端设备将该待备份数据发送到服务器后,该服务器存储的也可以是该增量数据,这样可以减少用户上传的数据量,减少备份时需要的时间,从而提高备份速度,也可以减少用户的备份数据在服务器侧占用的空间。
在本申请实施例中终端设备在预设的备份周期内进行数据备份时,需要先确定待备份数据,然后再将确定的待备份数据发送至服务器。因此,本申请中可以将备份周期内预设的确定待备份数据的时刻称为备份周期的结算时刻,即终端设备在预设的备份时刻进行数据备份时,确定待备份数据的时刻。
若终端设备存储的数据较多,或终端设备在备份周期内变化的数据较多时,则在该备份周期的结算时刻可能会出现待备份数据较多的情况,此时需要很长时间才能将待备份数据全部发送至服务器,会导致数据备份时间过长。此时,可以在该备份周期的结算时刻之前,确定待备份数据,并对确定的待备份数据进行预上传,发送至服务器,从而可以减少终端设备在结算时刻需要向服务器发送的待备份数据。
本申请的方法中,在备份周期的结算时刻到达之前的第一时段就进行了一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
本申请实施例的一种备份数据的方法的示意性流程图如图3所示。该方法可以由图1中所示的终端设备100执行。
应理解,图3示出了该备份方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图3中的各个操作的变形。此外,图3中的各个步骤可以按照与图3呈现的不同的顺序来执行,并且有可能并非要执行图3中的全部操作。
例如,图3中的S310、S311、S312、S340、S341、S342为可选的步骤。
S310,确定终端设备的状态满足预设的条件。
在本申请实施例中,终端设备可以在满足预设的条件时才进行数据备份。也就是说,在进行数据备份之前,可以先确定终端设备的状态满足预设的条件。
具体而言,确定终端设备的状态满足预设的条件可以是指终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为无线保真(Wireless Fidelity,WiFi)连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。这里的终端设备的屏幕状态为锁屏状态可以理解为该终端设备处于未使用状态,即用户在特定时段未对该终端设备进行任何操作。
可选地,终端设备的状态满足预设的条件也可以是指用户主动对该终端设备进行备份,此时不论终端设备的状态是否满足上述预设的条件,终端设备都会进行数据备份。
例如,用户可以在结算时刻之前主动对该终端设备进行数据备份,此时终端设备会直接确定第一数据,并在对应的第一时段向服务器发送第一数据。用户也可以预先设置数据备份的时刻,这样终端设备只要到了该预先设置的数据备份时刻就确定第一数据,此时无论是否满足上述预设的条件,都会直接确定第一数据,并在对应的第一时段向服务器发送第一数据。
作为示例而非限定,用户可以设置终端设备检测其状态的方式,比如,终端设备可以在备份周期内实时检测其状态,若满足预设的备份条件,则开始进行数据备份;终端设备也可以在备份周期内的特定时刻检测其状态,比如每天晚上十点。本申请对此不做限定。
可选地,终端设备在每次满足预设的条件时,可以检查上一次备份事务的状态。
作为本申请实施例一种可能的实现方式,若上一次备份事务的状态为失败,则说明上一次备份事务未完成,可以执行上一次备份事务,即执行图3中S311,根据第一中断标识确定上一次备份事务中未处理的数据或未完成的步骤,确定当前需要处理或备份的数据,然后继续执行上一次备份事务中未完成的部分。这里的第一中断标识可以理解为事务清单中记录的上一次备份事务中进行数据备份时中断的位置。
S311,根据第一中断标识确定第三数据。
可选地,在根据第一中断标识确定第三数据之前,还可以判断上一次备份事务是否过期。这里的备份事务过期可以是指从开始该备份事务起,其总用时已超过预设的时长门限。
在本申请实施例中,终端设备可以在备份的过程中实时记录当前正在进行的步骤和已经完成的步骤,并将该记录实时存储在终端设备中。当数据备份中断时,可以将该记录作为第一中断标识,用于指示终端设备在第三时段进行数据备份时中断的位置。
例如,当终端设备在确定第三数据时,可以记录当前处于数据准备阶段,并实时记录已经确定出的待备份数据。可选地,也可以实时记录还未确定待备份数据的数据。应理解,这里的数据准备阶段就是指终端设备在确定待备份数据。
可选地,终端设备可以在确定某个数据为待备份数据时,实时记录该数据为待备份数据。可选地,也可以以数据(文件)目录为单位,即终端设备可以在确定完一个目录中的待备份数据后,实时记录该目录中的待备份数据;也可以以文件夹为单位,即终端设备可以确定完一个文件夹中的待备份数据后,实时记录该文件夹中的待备份数据;也可以以应用(APP)为单位,即终端设备可以确定完一个应用中数据的待备份数据后,实时记录该应用中数据的待备份数据,其中,这里的每个应用中的数据可以是指该应用在安装到终端设备时产生的数据,也可以是指该应用在安装到终端设备后的使用过程中所产生的数据。
再例如,当终端设备向服务器发送待备份数据时,可以记录当前处于数据发送阶段,并实时记录已经向服务器发送的待备份数据。可选地,也可以实时记录还未向服务器发送的待备份数据。
可选地,终端设备可以在向服务器发送待备份数据时,实时记录已经向服务器发送的待备份数据,或者,可以记录还未向服务器发送的待备份数据;
应理解,上述待备份数据可以是终端设备当前存储的所有数据,也可以是终端设备当前存储的所有数据相对于上次备份完成时存储的数据的增量数据
应理解,上文实施例仅为示例,不应对本申请构成任何限定,本申请也不排除通过其他的方式来实现。
如果在终端设备进行数据备份时发生异常,则此次数据备份会被中断,比如,在数据备份的过程中出现网络中断、或电量不足等,会导致此次数据备份中断。
终端设备可以在备份的过程中实时记录当前正在进行的步骤和已经完成的步骤,并将该记录实时存储在终端设备中。若在数据备份时发生异常,则该记录可以用于指示该数据备份中断的位置,即可以指示发生中断时,在确定待备份数据还是在向服务器发送待备份数据,进一步,也可以指示已经确定出的待备份数据或已经向服务器发送的待备份数据。因此,该记录在中断时可以作为中断标识,用于指示该数据备份中断的位置。
例如,在当前备份周期内,当终端设备向服务器发送待备份数据时发生异常,则数据备份中断。终端设备记录了中断时正在向服务器发送待备份数据,并记录了已经向服务器发送的待备份数据,此时,该记录可以作为第一中断标识,用于指示终端设备进行数据备份时中断的位置。
可选地,在当前备份周期内,在上述数据备份时段之后,终端设备可以根据上述第一中断标识确定第三数据,其中,第一中断标识可以用于指示在数据备份时段的结束时刻之前完成发送的最后一个数据,也就是说,将上述数据备份时段的结束时刻未完成发送的数据确定为第三数据。
本申请实施例中,可选地,确定第三数据可以包括:根据第一中断标识,确定第三数据,该第一中断标识用于指示在第三时段需要发送的数据中在第三时段的结束时刻之前完成发送的最后一个数据,以及第三数据包括在第三时段需要发送的数据中位于第一中断标识所指示的数据之后的数据,第三时段是当前备份周期内第一时段的前一个用于发送待备份的数据的时段。
或者可以说,在当前备份周期中位于第一时刻之前,终端设备已经确定过需要备份的数据并在第一时刻之前的第三时段已经发送过这些数据。但是,在第三时段,这些需要备份的数据中仅有部分数据发送成功,并且终端设备实时记录了这些数据中在第三时段还未发送成功的数据。这种情况下,可以将该记录作为第一中断标识,终端设备可以根据第一中断标识确定第三数据,即将第一中断标识指示的在第三时段未发送成功的数据确定为第三数据。
作为本申请实施例一种可能的实现方式,若上一次备份事务的状态为成功,则说明上一次备份事务已完成。此时可以创建一个新的备份事务,该备份事务与本次数据备份对应,包括备份事务标识(identification,ID)和事务清单,然后执行图3中S312,根据第一更新标识确定当前备份事务需要备份的数据,并将其保存在事务清单中。
其中,备份事务ID可以用于标识此次备份事务,事务清单可以记录终端设备需要备份的数据及已经完成备份的数据,可以在备份的过程中实时记录当前正在进行的步骤和已经完成的步骤,也可以记录备份事务的状态为成功或失败。比如,当备份事务完成时,可以记录该备份事务的状态为成功;当备份事务发生中断或因异常而停止时,可以记录该备份事务的状态为失败。
S312,根据第一更新标识确定第四数据。
可选地,确定第四数据可以包括:根据第一更新标识,确定第四数据,该第一更新标识用于指示在第三时段内终端设备所存储的数据的更新版本,该第四数据包括第二更新标识所指示的更新版本对应的数据相对于该第一更新标识所指示的更新版本对应的数据的增量数据,第二更新标识用于指示在上述第一时段内终端设备所存储的数据的更新版本。
也就是说,在当前备份周期中位于第一时刻之前,终端设备已经确定过需要备份的数据,并在第一时刻之前的第三时段将这些数据全部发送至服务器。此时,终端设备可以将在第一时段内该终端设备所存储的数据相对于在第三时段内终端设备所存储的数据的增量数据确定为第四数据。
在本申请实施例中,第一更新标识可以用于指示终端设备在第三时段内存储的数据的更新版本,第二更新标识可以用于指示终端设备在第一时段内存储的数据的更新版本,其中,更新版本可以用于指示终端设备所存储的数据的“版本号”。
下面举例来说一下如何根据终端设备所存储的数据的“版本号”来确定增量数据。
可选地,在终端设备的文件系统层面,可以给每个文件增加一个“版本号(version,V)”属性,每个文件的初始版本号可以取V1;并且,可以定义一个全局事务标识ID,全局事务ID的初始值可以取V0。该全局事务标识为第一更新标识的一种示例。
每次有文件发生变化时,例如,有文件增加了数据或有文件中的数据被修改时,在文件发生变化的操作提交到文件系统后,文件系统可以将当前的全局事务ID加1,并且,将加1后的全局事务ID作为本次发生变化的文件的版本号,赋值给本次变化的文件的“版本号”属性。
例如,如图4中上边的图所示,终端设备中的文件A、文件B、文件C、文件D、文件E、文件F、文件G以及目录A的初始版本号为均为V1,全局事务ID的初始值为V1。
第一次文件发生改变,即文件A、文件E和文件F以及目标A发生改变后,全局事务ID更新为V2,且如图4中间的图所示,文件A、文件E和文件F的“版本号”属性更新为V2。
第二次文件发生改变,即文件D发生改变后,全局事务ID更新为V3,且如图4下边的图所示,文件D的“版本号”属性更新为V3。
可选地,当终端设备确定待备份数据时,可以通过以下方式实现:根据终端设备当前存储的文件的“版本号”属性,将该文件中,版本号小于和等于当前全局事务ID的文件作为增量文件。该增量文件即为当前终端设备的待备份数据。
以图4为例,若当前终端设备首次进行数据备份,当前的全局事务ID为V3,由于是首次备份,则当前终端设备中的所有文件都是增量文件,即文件A、文件B、文件C、文件D、文件E、文件F和目录A中的文件都是待备份数据。
当然,也可以通过其他方式来准备当前待备份的应用中需要备份的数据,本申请实施例对此不做限定。例如,可以将此时终端设备上所有应用的所有文件中的数据作为待备份数据。
以图5为例,首次备份结束后,每次有文件发生变化时,例如,有文件增加了数据或有文件中的数据被修改时,在文件发生变化的操作提交到文件系统后,文件系统可以将当前的全局事务ID加1,并且,将加1后的全局事务ID作为本次发生变化的文件的版本号,赋值给本次变化的文件的“版本号”属性。
例如,文件C和文件D发生改变后,如图5中间的图所示,全局事务ID更新为V4,且,文件C和文件D的“版本号”属性更新为V4。
新增文件H后,如图5下边的图所示,全局事务ID更新为V5,且如图5下边的图所示,文件D的“版本号”属性更新为V5。
如图5,若上一次备份时对应的全局事务ID为V3,当前全局事务ID更新为V5,文件C、文件D和文件H的“版本号”大于上一次备份时对应的全局事务ID V3,且小于或等于当前的全局事务ID V5,则终端设备的待备份数据可以是文件C、文件D和文件H。
S320,在第一时刻,确定第一数据。其中,该第一时刻位于备份周期内,且该第一时刻位于备份周期的待备份数据的结算时刻之前。
备份周期可以指终端设备预先设置的备份周期。例如,终端设备可以预先设置每隔七天备份进行一次数据备份,即备份周期可以为七天。此处的备份周期为七天应该理解为该备份周期至少为七天,比如,当与上一备份周期中预设数据备份完成时刻相隔为七天时,终端设备由于不满足备份条件或其他原因无法进行数据备份时,则此时的备份周期大于七天。
第一时刻位于备份周期内是指第一时刻为备份周期中的一个时刻。例如,备份周期为七天时,第一时刻可以是这七天中的一个时刻,例如,第二天中的早上十点。
备份周期的待备份数据的结算时刻是该备份周期内预先设置的数据备份时刻,终端设备在待备份数据的结算时刻对每个备份周期内的待备份数据进行备份,应理解,每个备份周期内都会有一个预先设置的数据备份时刻,当终端设备预先设置每隔(至少)七天进行一次预设的数据备份时,则相邻的两个待备份数据的结算时刻也相隔(至少)七天。
第一时刻位于备份周期的待备份数据的结算时刻之前是指第一时刻不是在备份周期中预先设置的数据备份时刻。例如,终端设备根据预设的备份周期在第一个星期一早上十点完成了一次备份数据,若备份周期为七天,则终端设备在第二个星期一的早上十点时,通常会进行一次预设的数据备份,第一时刻位于第一个星期一早上十点与第二个星期一早上十点之间,第一时刻也可以是第一个星期一早上十点,但不可以是该第二个星期一早上十点。该备份周期的待备份数据的结算时刻是指该备份周期中预先设置的数据备份时刻,即可以为上述第二个星期一的早上十点。
在第一时刻确定第一数据是指在第一时刻确定在预设的数据备份时刻之前可以增量预上传的数据。例如,备份周期为七天时,该第一时刻可以为备份周期中的某一时刻,比如,可以在这七天中的第二天的下午三点确定即将备份的数据。
应理解,在本申请实施例中,在预设的数据备份时刻之前可以进行至少一次数据的增量预上传,即在待备份数据的结算时刻之前可以存在至少一个第一时刻。
作为本申请实施例的一种可能的实现方式,可以将S311中得到的第三数据确定为第一数据,该第三数据是在第三时段需要发送的数据中在第三时段的结束时刻之前未完成发送的数据,该第三时段是上述第一时段的前一个用于发送待备份的数据的时段。
作为本申请实施例的另一种可能的实现方式,可以将S312中得到的第四数据确定为第一数据,该第四数据是在第一时段内终端设备所存储的数据相对于在第三时段内终端设备所存储的数据的增量数据,该第三时段是上述第一时段的前一个用于发送待备份的数据的时段。
可选地,终端设备上存储的各个数据可以通过其对应的元数据进行确定,元数据作为数据的特征值可以唯一地确定各个数据,这里的元数据可以包括该数据的名称、该数据的修改时间、该数据的大小和该数据的信息摘要算法第五版(Message DigestAlgorithm5,MD5)等。其中,数据的MD5可以为通过现有的MD5算法对该数据进行数学变换得到的一个128比特(bit)的特征值,本申请对于得到其MD5特征值的方式不做限定。
在本申请实施例中,终端设备可以根据当前存储的各个数据对应的元数据来确定待备份的增量数据,即第一数据。比如,作为示例而非限定,若两个数据的名称一样,修改时间一样,但大小不同,MD5特征值不同,则可以认为该两个数据不同;若两个数据的名称不同,修改时间不同,但大小相同,MD5特征值相同,则可以认为该两个数据相同。应理解,本申请也可以通过数据的其他属性值或特征值来确定待备份的增量数据,即通过数据的其他属性值或特征值来确定该数据是否发生变化,本申请对此不做限定。
可选地,终端设备也可以通过实时侦听操作系统或文件系统的指令来确定待备份的增量数据。比如,若终端设备监测到操作系统或文件系统当前的指令为对某一数据进行修改操作,则该发生变化数据为第一数据;若终端设备监测到操作系统或文件系统当前的指令为对某一数据进行删除操作,则该数据发生变化。
可选地,终端设备也可以先根据存储的数据得到各个数据对应的元数据;接下来将各个数据对应的元数据发送到服务器,服务器根据该各个数据对应的元数据与服务器当前已经存储的各个数据的元数据进行比较,确定出终端设备当前的增量数据,并将该增量数据对应的元数据发送给终端设备,此时,终端设备可以根据该元数据确定第一数据。
可选地,终端设备可以根据存储的备份记录,将当前存储的数据的元数据与该终端设备上次备份完成时存储的数据元数据进行比较,将其相对于上次备份完成时存储的数据发生变化的部分确定为待备份的增量数据,即第一数据。
应理解,上文列举的用于确定第一数据的方式仅为示例,不应对本申请构成任何限定,本申请也不排除通过其他的方式来确定第一数据。
S330,在第一时段,向服务器发送第一数据。其中,该第一时段位于备份周期内,且该第一时段位于备份周期的待备份数据的结算时刻之前。
可选地,第一时刻可以为第一时段的起始时刻,也可以与第一时段的起始时刻之间具有一定间隔。
换个角度说,第一时刻确定好数据后,可以立即开始发送数据,也可以过段时间再发送数据。
第一时段位于备份周期的待备份数据的结算时刻之前是指第一时段的结束时刻在备份周期的待备份数据的结算时刻之前,也就是说,该第一时段位于该备份周期中预先设置的数据备份时刻之前。
作为本申请实施例一种可能的实现方式,第一时刻是第一时段的起始时刻的一种示例如下:备份周期为七天时,且在这七天中的第二天的下午三点确定即将备份的数据后,第一时段可以以该第二天的下午三点为起始时段。
作为本申请实施例另一种可能的实现方式,第一时刻与第一时段的起始时刻之间具有一定间隔的一种示例如下:备份周期为七天时,且在这七天中的第二天的下午三点确定即将备份的数据后,第一时段可以以第三天的上午八点为起始时刻。
本申请的方法中,在备份周期的结算时刻到达之前的第一时段就进行了一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
在本申请实施例中,在备份周期的待备份数据的结算时刻之前,可以包括多个上述S320和S330的步骤,即在备份周期的待备份数据的结算时刻之前,可以存在多个时刻和时段,在该多个时刻中的每个时刻确定数据,并在每个时段发送该数据。
例如,本申请中在备份周期内,在第一时刻之前可以存在某一时刻及某一时段,在该时刻确定待备份数据,并在该时段发送该待备份数据;也可以在第一时刻与结算时刻之间存在另一时刻及另一时段,在该时刻确定待备份数据,并在该时段发送该待备份数据。
可选地,终端设备发送第一数据时,若第一数据未能在第一时段全部发送完毕,则终端设备可以配置第二中断标识,第二中断标识用于指示第一数据中在第一时段的结束时刻之前完成发送的最后一个数据。
例如,终端设备在满足预设的条件下发送第一数据的过程中,若终端设备检测到预设条件已经不满足,则终端设备可以停止发送第一数据,并生成第二中断标识,该第二终端标识指示第一数据中在停止发送之前最后一个发送成功的数据。
这样,终端设备可以在下一次进行备份时,例如终端设备下一次满足预设条件时,根据第二中断标识将第一时段中未发送成功的数据确定为将要备份的数据。
本申请实施例中,可选地,可以预设每次备份数据的最大时长,如果每次实际备份数据的时长超过该预设的最大时长,则可以停止此次数据备份。
例如,预设的最大备份时长为第一阈值时,若第一时段的时长大于或等于预设的第一阈值,则终端设备在备份时长到达第一阈值时,停止此次数据备份。这种情况下,在第一时刻确定的数据在第一时段没有全部发送完成,剩余没有发送的数据可以在下一次满足预设的条件时继续进行发送。
其中,终端设备可以生成相应的中断标识,用于指示第一时段中最后一个完成发送的数据。这样,下一次备份时,可以根据该中断标识确定需要发送的数据。
S340,确定终端设备的状态满足预设的条件。
可选地,在本申请实施例中,在待备份数据的结算时刻,终端设备可以在确定满足预设的条件时确定第二数据。也就是说,在确定第二数据之前,可以先确定终端设备的状态满足预设的条件。
具体而言,确定终端设备的状态满足预设的条件可以是指终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为WiFi连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。这里的终端设备的屏幕状态为锁屏状态可以理解为该终端设备处于未使用状态,即用户在特定时段未对该终端设备进行任何操作。
可选地,用户也可以预先设置终端设备只要到了备份周期的结算时刻就确定第二数据,此时无论是否满足上述预设的条件,都会直接确定第二数据,并在对应的第二时段向服务器发送该第二数据。
S341,在备份周期的结算时刻,确定第二数据。
可选地,在本申请的备份方法中,还包括在备份周期的待备份数据的结算时刻,确定第二数据,该第二数据与第一数据不同。
在备份周期的结算时刻确定第二数据,这里的第二数据是指终端设备在备份周期内预设的时刻进行数据备份时需要备份的数据。
例如,当终端设备的备份周期预先设置为七天时,在备份周期的结算时刻确定第二数据,这里的第二数据是指终端设备每隔七天备份进行一次数据备份时,该终端设备确定的待备份数据。
S342,在第二时段,向服务器发送第二数据。其中,第二时段位于备份周期内,且第二时段可以是备份周期的待备份数据的结算时刻之后预设的数据备份时刻。
第二时段位于备份周期内,且第二时段是该备份周期的待备份数据的结算时刻之后的备份时段是指第二时段是备份周期中预设的数据备份时段,在第二时段发送的数据可以在该备份周期的待备份数据的结算时刻确定。
还以备份周期设置成七天为例,例如,终端设备设置了每隔七天备份进行一次数据备份,在备份周期的待备份数据的结算时刻确定需要在该备份周期进行备份的第二数据,在第二时段发送该第二数据,在第二时段发送完第二数据的时刻该备份周期结束,也就是说,备份周期大于或等于七天(这个“七天”应该理解为第一时刻与结算时刻的间隔时间,用户可以设置,这里可以设置为至少七天)和第二时段的总时长。
应理解,第二时段的结束时刻与下一个备份周期的结算时刻可以间隔固定的时长,这里可以设置为至少七天。
例如,终端设备根据预设的备份周期在第一个星期一早上十点完成了一次备份数据,若备份周期可以为七天,则终端设备可以在第二个星期一的早上十点时,再进行一次数据备份。
本申请实施例中,可选地,可以预设每次备份数据的最大时长,如果每次实际备份数据的时长超过该预设的最大时长,则可以停止此次数据备份。
例如,预设的最大备份时长为第一阈值时,若第二时段的时长大于或等于预设的第一阈值,则终端设备在备份时长到达第一阈值时,停止此次数据备份。这种情况下,在结算时刻确定的数据在第二时段没有全部发送完成,剩余没有发送的数据可以在下一次满足预设的条件时继续进行发送。
从第二时段的结束时刻开始(也就是向服务器发送完第二数据的时刻),当前备份事务已结束,此时进入下一个备份周期。
在本申请实施例中,在当前备份事务结束时,终端设备可以将备份周期内记录的所有备份数据的信息发送给服务器,服务器根据该所有备份数据的信息创建备份记录。这里的备份数据的信息可以是指备份周期内完成备份的所有数据对应的元数据,也可以是其他任何可以表示该数据的特征值或信息。
进一步地,当用户后续希望恢复此次备份的数据时,可以根据服务器侧保存的备份记录确定此备份记录对应的所有数据,并将其发送到终端设备,以实现此次备份数据的恢复。
在本申请实施例中,终端设备在备份周期的结算时刻到达之前就进行了至少一次待备份数据的预上传,可以减少预设的数据备份时刻到达之际进行备份的数据量,从而可以缩短每次数据备份的时间,降低进行数据备份时发生异常的概率,提高备份的成功率。
从图3从描述的实施例可以看出,在本申请实施例中,终端设备在备份周期的结算时刻会进行一次数据备份,在备份周期的结算时刻之前可以进行至少一次数据备份,也就是说,终端设备在每个备份周期内至少会进行两次数据备份。
下面结合图6详细说明终端设备在备份周期内一次数据备份的一种示例性过程。图6中的数据备份过程可以为图3中备份周期内至少两次数据备份中的任何一次。
应理解,图6示出了该备份方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图6中的各个操作的变形。此外,图6中的各个步骤可以按照与图6呈现的不同的顺序来执行,并且有可能并非要执行图6中的全部操作。
S601,获取上一次备份事务的状态。
上一次备份事务可以包括上一次备份事务ID和事务清单。事务清单中可以包括上一次备份事务的状态。
应理解,上一次备份事务与终端设备的上一次数据备份对应,包括备份事务标识ID和事务清单,该备份事务ID可以唯一地确定上一次数据备份。
应理解,事务清单中可以以数据(文件)目录为单位记录数据,可以以文件夹为单位记录数据,也可以以应用为单位记录数据。
作为示例而非限定,图6中以应用为单位记录数据。
可选地,事务清单中可以记录上一次备份事务中各应用备份状态为成功或失败。具体地,事务清单可以记录上一次备份事务各应用备份状态为“准备数据失败”或“上传数据失败”。若应用备份状态不为“准备数据失败”或“上传数据失败”,则可以说明该应用在上一次备份事务中还未处理。
S602,上一次备份事务是否完成。
根据事务清单中上一次备份事务的状态判断上一次数据备份是否成功。若上一次备份事务的状态为成功,则执行S603,否则执行S604。
S603,开始新的备份事务。
由于上一次数据备份已完成,可以创建一个新的备份事务,包括新的备份事务ID,新的备份事务ID与本次数据备份对应。同时,可以清空事务清单中保存的上一次备份事务的数据。
S604,准备本次备份事务的事务清单。
可选地,确定本次需要向服务器备份的应用及各待备份应用中需要备份的数据,将其记录在本次备份事务的事务清单中。
S605,备份第一个应用。
可选地,将事务清单中记录的、本次需要向服务器备份的应用中的一个应用确定为当前应用。本申请对确定各应用备份顺序的方法不做限定。
S606,上一次备份事务是否已经过期。
当上一次备份事务的状态为失败时,判断上一次备份事务是否已经过期,若过期,执行S607;否则,执行S610。
作为本申请实施例一种可能的实现方式,上述备份事务过期可以是指从开始该备份事务起,其总用时已超过预设的时长门限,但还未完成,此时可以称该备份事务过期。例如,可以将该时长门限设置为5天,在备份周期内第一天中午12点开始备份事务,在备份过程中发生中断,导致到第五天中午12点时此次备份事务还未完成。此时,该备份事务的总用时超过5天,即已超过预设的时长门限,则该备份事务已过期。
S607,终止上一次备份事务。
当上一次备份事务过期时,可以清空上一次备份事务的事务ID和事务清单。
S608,清理云端数据。
删除上一次备份事务中断时,终端设备正在向云端但未发送完的数据,也就是上一次数据备份中该终端设备只发送了部分的数据。应理解,这里的云端也就是存储待备份数据的服务器。
S609,删除终端侧存储的临时数据。
此时,可以删除上一次备份事务中,终端设备存储的临时数据,然后执行S603,开始新的备份事务。
S610,继续执行上一次备份事务。
当上一次备份事务未过期时,可以根据第一中断标识确定上一次备份事务发生中断的位置,从而确定本次备份事务中需要处理或备份的数据,然后继续执行上一次备份事务中未完成的步骤。这里的第一中断标识可以理解为事务清单中记录的上一次备份事务中未处理的数据或未完成的步骤。
S611,准备数据是否完成。
判断上一次备份事务发生中断时,可以根据事务清单确定上一次备份事务中正在进行备份的应用是否已完成准备数据。若事务清单中的应用备份状态为为“准备数据失败”,则执行S612;若为“上传数据失败”,则执行S614。
S612,准备应用数据。
若上一次备份事务已完成,可以根据第一更新标识确定当前应用中需要备份的数据,并将其保存在事务清单中。第一更新标识可以用于指示终端设备在上一次备份事务开始的时刻存储的数据的更新版本,这里的更新版本可以用于指示终端设备所存储的数据的“版本号”。
可选地,当前应用中需要备份的数据可以为当前时刻终端设备中该应用存储的数据相对于上一次备份事务开始的时刻该应用存储的数据的增量数据。
若上一次备份事务中数据准备未完成,可以根据第一中断标识确定上一次备份事务中断时正在准备数据的应用。将此应用确定为当前应用,然后继续准备该应用中需要备份的数据。这里的第一中断标识可以理解为事务清单中记录的上一次备份事务中断时正在准备数据的应用。
S613,准备数据是否成功。
判断准备当前应用中需要备份的数据是否成功。若成功,执行S614;否则,执行S619。
S614,上传应用数据。
向服务器上传当前应用中需要备份的数据。
S615,上传应用数据是否成功。
判断当前应用中需要备份的数据是否已经全部上传至服务器。若是,执行S616;否则,执行S621。
S616,在事务清单中保存当前应用备份状态为成功。
若当前应用的数据备份已完成,可以在事务清单中保存此应用的备份状态为成功。
S617,本次备份事务是否结束。
判断终端设备本次备份事务中的应用是否全部备份成功。若是,则可本次备份事务的状态为成功,然后结束本次备份事务;否则,执行S618。
S618,备份下一个应用。
将本次备份事务中还未备份的应用中的一个应用确定为当前应用,执行S612。
S619,在事务清单中保存当前应用备份状态为准备数据失败。
在当前备份事务的事务清单中记录当前应用的应用备份状态为“准备数据失败”。
S620,清理当前备份事务中终端侧存储的临时数据。
此时,可以删除当前备份事务中,终端设备存储的临时数据。
S621,在事务清单中保存当前应用备份状态为上传数据失败。
在当前备份事务的事务清单中记录当前应用的应用备份状态为“上传数据失败”,也就是说,当前应用准备数据成功,但上传数据失败。
可选地,当下一次终端设备的状态满足预设的条件时,可以执行图6中描述的方法。
图7是本申请实施例提供的终端设备700的示意性框图。如图7所示,该终端设备700可以包括确定模块710和发送模块720。
作为一种示例,确定模块710可以为图1所示的终端设备100的处理器180,发送模块720可以为图1所示的终端设备100中的RF电路110。
确定模块710,用于在第一时刻,确定第一数据,其中,所述第一时刻位于备份周期内,且所述第一时刻位于所述备份周期的待备份数据的结算时刻之前。
发送模块720,用于在第一时段,向服务器发送所述第一数据,所述第一时段位于所述备份周期内,且所述第一时段位于所述第一时刻之后,所述备份周期的待备份数据的结算时刻之前。
可选地,所述确定模块还用于在所述备份周期的待备份数据的结算时刻,确定第二数据,所述第二数据与所述第一数据相异。
所述发送模块还用于在第二时段,向服务器发送所述第二数据,所述第二时段位于所述备份周期的待备份数据的结算时刻之后。
可选地,在第二种可能的实现方式中,在确定第一数据之前,所述确定模块还用于确定所述终端设备的状态满足以下至少一个条件:所述终端设备的网络连接状态为无线保真WiFi连接状态、所述终端设备的充电状态为已连接充电器状态、所述终端设备的屏幕状态为锁屏状态以及所述终端设备的电池状态为剩余电量大于或等于预设电量值。
可选地,所述确定模块具体用于:确定第三数据,所述第三数据是在第三时段需要发送的数据中在所述第三时段的结束时刻之前未完成发送的数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第三数据确定为所述第一数据。
可选地,所述确定模块具体用于根据第一中断标识,确定所述第三数据,所述第一中断标识用于指示在第三时段需要发送的数据中在所述第三时段的结束时刻之前完成发送的最后一个数据,以及所述第三数据包括在第三时段需要发送的数据中位于所述第一中断标识所指示的数据之后的数据。
可选地,当所述第一数据未能在所述第一时段全部发送完毕时,所述确定模块还用于配置第二中断标识,所述第二中断标识用于指示所述第一数据中在所述第一时段的结束时刻之前完成发送的最后一个数据。
可选地,所述确定模块具体用于:确定第四数据,所述第四数据是在所述第一时段内所述终端设备所存储的数据相对于在第三时段内所述终端设备所存储的数据的增量数据,所述第三时段是所述第一时段的前一个用于发送待备份的数据的时段;将所述第四数据确定为所述第一数据。
可选地,所述确定模块具体用于根据第一更新标识,确定所述第四数据,所述第一更新标识用于指示在第三时段内所述终端设备所存储的数据的更新版本,所述第四数据包括第二更新标识所指示的更新版本对应的数据相对于所述第一更新标识所指示的更新版本对应的数据的增量数据,所述第二更新标识用于指示在所述第一时段内所述终端设备所存储的数据的更新版本。
可选地,所述确定模块还用于记录第二更新标识与所述第一时段的对应关系,所述第二更新标识用于指示在第一时段内所述终端设备所存储的数据的更新版本。
可选地,所述第一时段的时长小于或等于预设的第一阈值。
应理解,终端设备700可以用于执行前述任意一个备份数据的方法中由终端设备执行的步骤或操作,此处不再赘述。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请各实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。