CN106503042A - 一种联系人信息的异常恢复方法和装置 - Google Patents

一种联系人信息的异常恢复方法和装置 Download PDF

Info

Publication number
CN106503042A
CN106503042A CN201610834778.1A CN201610834778A CN106503042A CN 106503042 A CN106503042 A CN 106503042A CN 201610834778 A CN201610834778 A CN 201610834778A CN 106503042 A CN106503042 A CN 106503042A
Authority
CN
China
Prior art keywords
backup
database
person information
associated person
storage
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.)
Pending
Application number
CN201610834778.1A
Other languages
English (en)
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.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Mobile Communications Technology Co Ltd
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 Hisense Mobile Communications Technology Co Ltd filed Critical Hisense Mobile Communications Technology Co Ltd
Priority to CN201610834778.1A priority Critical patent/CN106503042A/zh
Publication of CN106503042A publication Critical patent/CN106503042A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明实施例提供了一种联系人信息的异常恢复方法和装置,该方法包括:在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;当打开所述联系人数据库发生异常时,删除所述联系人数据库;采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。本发明实施例可以在系统层面实现备份,用户无需安装第三方应用,注册相应的账户、开启备份功能、联网备份,大大提高了备份和还原的简便性,可以辅助不熟悉操作的用户进行联系人信息的备份和还原,提高了备份和还原的实用性。

Description

一种联系人信息的异常恢复方法和装置
技术领域
本发明涉及通信的技术领域,特别是涉及一种联系人信息的异常恢复方法和一种联系人信息的异常恢复装置。
背景技术
随着通信科技的发展,诸如手机、手表等移动终端在人们的工作、学习、日常交流等各方面的使用率也越来越高。
在移动终端的使用过程中,与其他人进行通信的使频率较大,使得移动终端中存储了数量较多的联系人信息。
移动终端在运行过程中,由于系统异常偶尔会出现掉电重启或死机等异常情况,可能导致用户的所有的联系人信息都会丢失,将会给用户造成很多不便,甚至重大损失。
为了避免联系人信息的丢失,用户目标大多通过第三方的备份应用将每一条联系人信息上传到云端进行备份。
但是,这种备份方式,用户需要在移动终端中安装第三方的备份应用,还需要注册相应的账户、开启备份功能、联网进行备份和还原,操作繁琐,很多用户对于这些操作不熟悉,尤其是年龄较大的用户,甚至不知道有这些功能可以备份联系人信息。
因此,在用户没有及时备份联系人信息的情况下,移动终端出现异常情况时,往往还是会丢失联系人信息,实用性低。
发明内容
鉴于上述问题,为了解决上述移动终端出现异常情况导致联系人信息丢失的问题,本发明实施例提出了一种联系人信息的异常恢复方法和相应的一种联系人信息的异常恢复装置。
为了解决上述问题,本发明实施例公开了一种联系人信息的异常恢复方法,包括:
在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;
当打开所述联系人数据库发生异常时,删除所述联系人数据库;
采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
优选地,所述在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库的步骤,包括:
读取上一次备份存储原联系人信息的联系人数据库的备份时间;
若当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
优选地,在所述在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储备份联系人信息的备份数据库的步骤之后,所述方法包括:
判断所述备份数据库是否可用;
若是,则确定备份成功;
若否,则返回执行所述在移动终端中对存储联系人信息的联系人数据库进行备份,获得存储备份联系人信息的备份数据库的步骤。
优选地,所述采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库的步骤,包括:
读取所述备份数据库;
创建空白的联系人数据库;
将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库;
重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
优选地,在所述读取所述备份数据库的步骤之前,还包括:
判断所述备份数据库是否可用;
若是,则执行所述读取所述备份数据库的步骤;
若否,则禁止读取所述备份数据库。
优选地,在所述将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库的步骤之后,还包括:
判断所述存储新联系人信息的联系人数据库是否可用;
若是,则执行所述重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库的步骤;
若否,则删除所述存储新联系人信息的联系人数据库,返回执行所述创建空白的联系人数据库的步骤。
优选地,所述删除所述联系人数据库的步骤,包括:
回调异常处理组件;
由所述异常处理组件调用指定的处理接口、删除所述联系人数据库。
优选地,所述采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库的步骤,包括:
由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
本发明实施例还公开了一种联系人信息的异常恢复装置,包括:
联系人数据库备份模块,用于在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;
联系人数据库删除模块,用于打开所述联系人数据库发生异常时,删除所述联系人数据库;
联系人数据库恢复模块,用于采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
优选地,所述联系人数据库备份模块包括:
备份时间读取子模块,用于读取上一次备份存储联系人信息的联系人数据库的备份时间;
备份数据库获得子模块,用于在当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
优选地,所述联系人数据库备份模块包括:
备份时间读取子模块,用于读取上一次备份存储联系人信息的联系人数据库的备份时间;
备份数据库获得子模块,用于在当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
优选地,所述联系人数据库恢复模块包括:
备份数据库读取子模块,用于读取所述备份数据库;
联系人数据库创建子模块,用于创建空白的联系人数据库;
联系人数据库写数据子模块,用于将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库;
进程重启子模块,用于重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
优选地,所述联系人数据库恢复模块还包括:
第二可用性判断子模块,用于判断所述备份数据库是否可用;若是,则调用所述备份数据库读取子模块,若否,则调用禁止读取子模块;
禁止读取子模块,用于禁止读取所述备份数据库。
优选地,所述联系人数据库恢复模块还包括:
第三可用性判断子模块,用于重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库;若是,则调用所述进程重启子模块,若否,则调用新数据库删除子模块,返回调用所述联系人数据库创建子模块;
新数据库删除子模块,用于删除所述存储新联系人信息的联系人数据库。
优选地,所述联系人数据库删除模块包括:
异常处理组件回调子模块,用于回调异常处理组件;
异常处理组件删除子模块,用于由所述异常处理组件调用指定的处理接口、删除所述联系人数据库。
优选地,所述联系人数据库恢复模块包括:
异常处理组件恢复子模块,用于由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
本发明实施例包括以下优点:
本发明实施例在移动终端中对联系人数据库进行备份,移动终端在运行过程中,由于系统异常偶尔会出现掉电重启或死机等异常情况,此时联系人数据库可能出现突然损坏的情况,则删除该联系人数据库,并采用之前备份的备份数据库对联系人数据库进行恢复,由于常用的备份机制可以保证备份数据库中保存有损坏的联系人数据库中大部分甚至全部的联系人信息,因此,以此备份数据库进行恢复,可以大大减少用户的联系人信息的丢失,提高了联系人信息的安全性。
此外,本发明实施例可以在系统层面实现备份,用户无需安装第三方应用,注册相应的账户、开启备份功能、联网备份,大大提高了备份和还原的简便性,可以辅助不熟悉操作的用户进行联系人信息的备份和还原,提高了备份和还原的实用性。
附图说明
图1是本发明的一种联系人信息的异常恢复方法实施例的步骤流程图;
图2是本发明实施例的一种联系人数据库的表格结构示意图;
图3是本发明实施例的一种定时备份的流程图;
图4是本发明的另一种联系人信息的异常恢复方法实施例的步骤流程图;
图5是本发明的另一种联系人信息的异常恢复方法实施例的步骤流程图;
图6是本发明的一种联系人信息的异常恢复装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种联系人信息的异常恢复方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
步骤102,当打开所述联系人数据库发生异常时,删除所述联系人数据库。
步骤103,采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
在具体实现中,本发明实施例可以应用在移动终端中,例如,手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等等。
这些移动终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等。
在实际应用中,移动终端可以通过SIM(Subscriber Identity Module,客户识别模块)卡、USIM(Universal Subscriber Identity Module,全球用户识别卡)卡、电子邮箱等方式与其他移动终端进行通信,用户通常会记录数量不等的联系人信息,例如,姓名、手机号码等等。
这些联系人信息一般会存储在系统的联系人数据库中,应用界面上显示的联系人信息可以通过查询此联系人数据库得到的,供用户进行浏览、删除、修改等操作。
以Android系统为例,联系人数据库可以为contacts2.db,其存储目录一般为/data/data/com.android.providers.contacts/databases。
contacts2.db中一般具有raw_contacts表、contacts表和data表等表格。
contacts表存储联系人lookup(可以理解为类似Id的功能,查找联系人的关键)。
raw_contacts表存储了联系人的姓名、姓名的字母索引和帐户类型信息(区别是本机号码还是SIM卡号码)。
data表存储了联系人的号码、邮件、IM等数据。
如图2所示,raw_contacts表里用contact_id字段关联contacts表、字段raw_contact_id关联data表。
contacts表和raw_contact表是一对多的关系,contacts表是对raw_contact表记录的聚合,即contacts表中是没有账户(Account)的概念的,而raw_contact表是联系人特定账户的的概要信息,Data表则存储了联系人的详细信息,比如email、电话号码等。
在本发明实施例中,为了在异常情况下恢复联系人信息,因此,在先可以备份联系人数据库(如contacts2.db),获得备份数据库。
为了方便对备份数据库进行管理,可以将备份数据库存储在联系人数据库相同的位置中,如存储在/data/data/com.android.providers.contacts/databases中。
当然,备份数据库也可以存储在其他位置,本发明实施例对此不加以限制。
在本发明实施例的一个示例中,步骤101可以包括如下子步骤:
子步骤1011,读取上一次备份存储联系人信息的联系人数据库的备份时间;
子步骤1012,若当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
在本示例中,采用定时备份的方式备份联系人数据库(如contacts2.db)。
在实际应用中,每次备份联系人数据库(如contacts2.db),则可以记录备份时的时间,作为备份时间。
若从来没有备份过,则读取默认值零。
用当前的时间与备份时间进行比较,若两者之间的差值大于一时间阈值,如一小时,则可以发送备份联系人信息的指令,在线程中进行联系人信息的备份操作,将复制联系人数据库,获得备份数据库,可以将其命名为contacts2_backup.db。
当备份成功时,记录当前的时间更新备份时间。
当然,上述备份方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他备份方式,如定量备份(变动的联系人信息的数量超过一数量阈值,则进行备份)、手动备份等等,本发明实施例对此不加以限制。另外,除了上述备份方式外,本领域技术人员还可以根据实际需要采用其它备份方式,本发明实施例对此也不加以限制。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中联系人数据库的定时备份的方式。
在步骤S11中,移动终端开机,开始对定时进行判断。
例如,在Android系统中,可以监听开机广播android.intent.action.BOOT_COMPLETED。
若监听到,则表示移动通信终端启动,可以启动定时备份的服务Server。
在步骤S12中,判断当前时间currentTime与上一次的备份时间backupTime之间的差是否大于或等于1小时(时间阈值):
(currentTime-backupTime)>=1hours。
其中,backupTime的初始值为恢复出厂设置后首次开机的时间。
若否,则执行步骤S13,若是,则执行步骤S14。
在步骤S13中,启动定时器,定时器的启动时间为上一次的备份时间之后的1小时,即backupTime+1hours。
在步骤S14中,开始备份联系人数据库。
若备份成功则直接保存backupTime为当前时间。
在步骤S15中,启动定时器,定时器的启动时间为上一次的备份时间之后的1小时,即backupTime+1hours。
在步骤S16中,到达(backupTime+1hours)的时间,定时器爆发,备份联系人数据库。
在本发明实施例中,如果在打开联系人数据库发生异常情况,则可以删除该联系人数据库,基于备份数据库进行容灾处理,恢复联系人数据库,保证联系人数据库的数据可用。
需要说明的是,原联系人信息、备份联系人信息、新联系人信息是不同状态而言的,其本质都是联系人信息,即原属于联系人数据库的联系人信息称之为原联系人信息、对原联系人信息备份获得的联系人信息称之为备份联系人信息、将备份联系人信息还有之后获得的联系人信息称之为新联系人信息。
本发明实施例在移动终端中对联系人数据库进行备份,移动终端在运行过程中,由于系统异常偶尔会出现掉电重启或死机等异常情况,此时联系人数据库可能出现突然损坏的情况,则删除该联系人数据库,并采用之前备份的备份数据库对联系人数据库进行恢复,由于常用的备份机制可以保证备份数据库中保存有损坏的联系人数据库中大部分甚至全部的联系人信息,因此,以此备份数据库进行恢复,可以大大减少用户的联系人信息的丢失,提高了联系人信息的安全性。
此外,本发明实施例可以在系统层面实现备份,用户无需安装第三方应用,注册相应的账户、开启备份功能、联网备份,大大提高了备份和还原的简便性,可以辅助不熟悉操作的用户进行联系人信息的备份和还原,提高了备份和还原的实用性。
参照图4,示出了本发明的另一种联系人信息的异常恢复方法实施例的步骤流程图,具体可以包括如下步骤:
步骤401,在在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
步骤402,判断所述备份数据库是否可用;若是,则执行步骤403,若否,则返回执行步骤401。
步骤403,确定备份成功。
在本发明实施例中,联系人数据库备份完成后,可以检查备份数据库是否可用。
若备份数据库不可用,则重新进行备份,防止出现备份数据库由于不可用导致以后不能正确恢复联系人信息的问题。
在Android系统中,对备份数据库contacts2_backup.db,可以调用系统提供的SQLiteDatabase db类中的db.isOpen()函数检测是否可用,如果contacts2_backup.db能正常打开使用,返回true,否则返回false,若返回true,则表示备份数据库contacts2_backup.db可用,如果返回false,则表示备份数据库contacts2_backup.db不可用。
若contacts2_backup.db可用,则可以读取contacts2_backup.db进行恢复操作。
步骤404,当打开所述联系人数据库发生异常时,删除所述联系人数据库。
步骤405,判断所述备份数据库是否可用;若否,则执行步骤406,若是,则执行步骤407。
步骤406,禁止读取所述备份数据库。
步骤407,读取所述备份数据库。
在备份数据库的存储过程中,如果发生读写错误、系统异常等问题,有可能导致备份数据库损坏。
因此,在进行恢复之前,可以再次检查备份数据库是否可用。
若备份数据库可用,则可以正常读取备份数据库进行恢复操作。
在备份数据库不可用的情况下,如果用损坏的备份数据库进行恢复,将导致不能正确恢复联系人数据库,即联系人数据库也不可用,重新进行联系人数据库的恢复操作,如此循环处理,出现死循环的问题。
因此,若备份数据库不可用,则禁止读取备份数据库,终止联系人数据库的恢复操作。
则重新进行备份,防止出现备份数据库由于不可用导致以后不能正确恢复联系人信息的问题。
步骤408,创建空白的联系人数据库。
步骤409,将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库。
在读取备份数据库的同时,或者,在读取备份数据库之后,可以在原联系人数据库的位置创建新的联系人数据库,将备份数据库的联系人信息写入到空白的联系人数据库中,实现联系人数据库的恢复。
步骤410,判断所述存储新联系人信息的联系人数据库是否可用;若是,则执行步骤411,若否,则执行步骤412。
步骤411,重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
步骤412,删除所述存储新联系人信息的联系人数据库,返回执行步骤408。
在本发明实施例中,联系人数据库恢复完成后,可以检查新的联系人数据库是否可用。
若新的联系人数据库可用,则可以重启新的联系人数据库所属的进程,加载新的联系人数据库,显示在先保存的联系人信息给用户。
若新的联系人数据库不可用,则删除该新的联系人数据库之后,重新进行恢复,防止新的联系人数据库重新加载时再报异常,循环处理,浪费资源。
在Android系统中,对新的联系人数据库contacts2.db,可以调用系统提供的SQLiteDatabase db类中的db.isOpen()函数检测是否可用,如果contacts2.db能正常打开使用,返回true,否则返回false,若返回true,则表示新的联系人数据库contacts2.db可用,如果返回false,则表示新的联系人数据库contacts2.db不可用。
若新的联系人数据库contacts2.db可用,则可以重启contacts2.db所属的进程,该进程在android.process.acore中。
当用户再次进入联系人信息的界面时会重新读取/data/data/com.android.providers.contacts/databases目录下新的联系人数据库,加载联系人信息的数据并进行显示。
若新的联系人数据库contacts2.db不可用,则可以删除该新的联系人数据库contacts2.db,重新进行恢复操作。
参照图5,示出了本发明的另一种联系人信息的异常恢复方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501,在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
步骤502,当打开所述联系人数据库发生异常时,回调异常处理组件。
步骤503,由所述异常处理组件调用指定的处理接口、删除所述联系人数据库。
步骤504,由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
在Android系统中,一般数据库的打开与创建都是通过系统的标准函数去执行的,在该标准函数中去打开数据库时,通过异常处理组件(如errorHandler)去检测这个过程中的异常。
按照Android默认的调用,通常是不指定异常处理的异常处理组件(如errorHandler),即设置函数参数为null。
此时,在Android系统中,一般会建立一个默认的异常处理组件(如DefaultDatabaseErrorHandler),这个默认的异常处理组件(如DefaultDatabaseErrorHandler)会监听各种异常情况。
若数据库损坏,在打开数据库的时候会报数据库异常消息(如SQLiteDatabaseCorruptException),即数据库的磁盘映像格式不正确,这个时候会回调默认的异常处理组件(如DefaultDatabaseErrorHandler),其处理接口(如onCurruption())会被调用,然后删除异常的数据库,不进行其他操作,对于联系人数据库,则表现为联系人信息的丢失。
基于数据库打开与创建的流程,本发明实施例扩展了Android对于数据库打开与创建的异常处理机制,重写了异常处理组件(如errorHandler),代替系统默认的异常处理组件(如DefaultDatabaseErrorHandler),这样在打开数据库出现异常时,就会回调本发明实施例重写的异常处理组件(如errorHandler)。
在重写的异常处理组件(如errorHandler)中,检测到联系人数据库打开异常时,调用处理接口(如onCurruption())执行相关的操作,包括删除异常的联系人数据库,采用备份数据库恢复联系人数据库等等。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明的一种联系人信息的异常恢复装置实施例的结构框图,具体可以包括如下模块:
联系人数据库备份模块601,用于在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;
联系人数据库删除模块602,用于在打开所述联系人数据库发生异常时,删除所述联系人数据库;
联系人数据库恢复模块603,用于采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
在本发明的一个实施例中,所述联系人数据库备份模块601可以包括如下子模块:
备份时间读取子模块,用于读取上一次备份存储联系人信息的联系人数据库的备份时间;
备份数据库获得子模块,用于在当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
在本发明的一个实施例中,该装置还可以包括如下模块:
第一可用性判断模块,用于判断所述备份数据库是否可用;若是,则调用备份成功确定模块,若否,则返回调用所述联系人数据库备份模块601;
备份成功确定模块,用于确定备份成功。
在本发明的一个实施例中,所述联系人数据库恢复模块603可以包括如下子模块:
备份数据库读取子模块,用于读取所述备份数据库;
联系人数据库创建子模块,用于创建空白的联系人数据库;
联系人数据库写数据子模块,用于将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库;
进程重启子模块,用于重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
在本发明的一个实施例中,所述联系人数据库恢复模块603还可以包括如下子模块:
第二可用性判断子模块,用于判断所述备份数据库是否可用;若是,则调用所述备份数据库读取子模块,若否,则调用禁止读取子模块;
禁止读取子模块,用于禁止读取所述备份数据库。
在本发明的一个实施例中,所述联系人数据库恢复模块603还可以包括如下子模块:
第三可用性判断子模块,用于重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库;若是,则调用所述进程重启子模块,若否,则调用新数据库删除子模块,返回调用所述联系人数据库创建子模块;
新数据库删除子模块,用于删除所述存储新联系人信息的联系人数据库。
在本发明的一个实施例中,所述联系人数据库删除模块602可以包括如下子模块:
异常处理组件回调子模块,用于回调异常处理组件;
异常处理组件删除子模块,用于由所述异常处理组件调用指定的处理接口、删除所述联系人数据库。
在本发明的一个实施例中,所述联系人数据库恢复模块603可以包括如下子模块:
异常处理组件恢复子模块,用于由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种联系人信息的异常恢复方法和一种联系人信息的异常恢复装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种联系人信息的异常恢复方法,其特征在于,包括:
在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;
当打开所述联系人数据库发生异常时,删除所述联系人数据库;
采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
2.根据权利要求1所述的方法,其特征在于,所述在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库的步骤,包括:
读取上一次备份存储原联系人信息的联系人数据库的备份时间;
若当前的时间与所述备份时间之间的差值大于预设的时间阈值时,对所述联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库。
3.根据权利要求1或2所述的方法,其特征在于,在所述在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储备份联系人信息的备份数据库的步骤之后,所述方法包括:
判断所述备份数据库是否可用;
若是,则确定备份成功;
若否,则返回执行所述在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储备份联系人信息的备份数据库的步骤。
4.根据权利要求1所述的方法,其特征在于,所述采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库的步骤,包括:
读取所述备份数据库;
创建空白的联系人数据库;
将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库;
重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
5.根据权利要求4所述的方法,其特征在于,在所述读取所述备份数据库的步骤之前,还包括:
判断所述备份数据库是否可用;
若是,则执行所述读取所述备份数据库的步骤;
若否,则禁止读取所述备份数据库。
6.根据权利要求4所述的方法,其特征在于,在所述将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库的步骤之后,还包括:
判断所述存储新联系人信息的联系人数据库是否可用;
若是,则执行所述重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库的步骤;
若否,则删除所述存储新联系人信息的联系人数据库,返回执行所述创建空白的联系人数据库的步骤。
7.根据权利要求1或2或4或5或6所述的方法,其特征在于,
所述删除所述联系人数据库的步骤,包括:
回调异常处理组件;
由所述异常处理组件调用指定的处理接口、删除所述联系人数据库;
所述采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库的步骤,包括:
由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
8.一种联系人信息的异常恢复装置,其特征在于,包括:
联系人数据库备份模块,用于在移动终端中对存储原联系人信息的联系人数据库进行备份,获得存储在所述移动终端本地的、存储备份联系人信息的备份数据库;
联系人数据库删除模块,用于打开所述联系人数据库发生异常时,删除所述联系人数据库;
联系人数据库恢复模块,用于采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
9.根据权利要求8所述的装置,其特征在于,所述联系人数据库恢复模块包括:
备份数据库读取子模块,用于读取所述备份数据库;
联系人数据库创建子模块,用于创建空白的联系人数据库;
联系人数据库写数据子模块,用于将所述备份数据库中的备份联系人信息写入所述空白的联系人数据库中,获得存储新联系人信息的联系人数据库;
进程重启子模块,用于重启所述存储新联系人信息的联系人数据库所属的进程,以加载所述存储新联系人信息的联系人数据库。
10.根据权利要求8或9所述的装置,其特征在于,
所述联系人数据库删除模块包括:
异常处理组件回调子模块,用于回调异常处理组件;
异常处理组件删除子模块,用于由所述异常处理组件调用指定的处理接口、删除所述联系人数据库;
所述联系人数据库恢复模块包括:
异常处理组件恢复子模块,用于由所述异常处理组件调用所述处理接口、采用所述存储备份联系人信息的备份数据库恢复存储新联系人信息的联系人数据库。
CN201610834778.1A 2016-09-20 2016-09-20 一种联系人信息的异常恢复方法和装置 Pending CN106503042A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610834778.1A CN106503042A (zh) 2016-09-20 2016-09-20 一种联系人信息的异常恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610834778.1A CN106503042A (zh) 2016-09-20 2016-09-20 一种联系人信息的异常恢复方法和装置

Publications (1)

Publication Number Publication Date
CN106503042A true CN106503042A (zh) 2017-03-15

Family

ID=58289927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610834778.1A Pending CN106503042A (zh) 2016-09-20 2016-09-20 一种联系人信息的异常恢复方法和装置

Country Status (1)

Country Link
CN (1) CN106503042A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729638A (zh) * 2008-10-16 2010-06-09 德信智能手机技术(北京)有限公司 一种手机通讯录备份和恢复的方法及装置
CN102714789A (zh) * 2011-04-19 2012-10-03 华为终端有限公司 一种移动终端的数据备份、恢复方法及移动终端
CN103309906A (zh) * 2012-03-16 2013-09-18 中国移动通信集团公司 一种通讯录备份、恢复方法及装置
CN104050059A (zh) * 2014-06-30 2014-09-17 珠海市君天电子科技有限公司 一种备份及还原数据的方法及系统
CN105611034A (zh) * 2014-11-25 2016-05-25 中兴通讯股份有限公司 一种备份还原手机中用户数据的方法和相应的手机

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729638A (zh) * 2008-10-16 2010-06-09 德信智能手机技术(北京)有限公司 一种手机通讯录备份和恢复的方法及装置
CN102714789A (zh) * 2011-04-19 2012-10-03 华为终端有限公司 一种移动终端的数据备份、恢复方法及移动终端
CN103309906A (zh) * 2012-03-16 2013-09-18 中国移动通信集团公司 一种通讯录备份、恢复方法及装置
CN104050059A (zh) * 2014-06-30 2014-09-17 珠海市君天电子科技有限公司 一种备份及还原数据的方法及系统
CN105611034A (zh) * 2014-11-25 2016-05-25 中兴通讯股份有限公司 一种备份还原手机中用户数据的方法和相应的手机

Similar Documents

Publication Publication Date Title
US9292387B2 (en) Medium, control method, and information processing apparatus
CN110650164B (zh) 文件的上传方法、装置、终端以及计算机存储介质
EP2613259A1 (en) Method and computation node for processing application data
CN107729515B (zh) 一种数据同步的方法、装置及存储介质
CN106055424A (zh) 一种信息数据库的异常处理方法和装置
CN108614876B (zh) 一种基于Redis数据库的系统和数据处理方法
CN112596951A (zh) 一种nas数据容灾方法、装置、设备及存储介质
CN111858090B (zh) 一种数据处理方法、系统、电子设备及存储介质
WO2015117356A1 (zh) 一种开机方法及通信终端
CN102937923B (zh) 一种自动保存用户界面状态的方法
CN114756410B (zh) 一种双机热备系统的数据恢复方法、装置及介质
CN105786650A (zh) 数据的管理方法及装置
CN103108070B (zh) 电话簿备份系统及其方法
CN106503042A (zh) 一种联系人信息的异常恢复方法和装置
CN107656936B (zh) 一种即时通信领域的终端数据库构建方法
CN110659156A (zh) 一种web服务器的数据处理方法、设备以及存储介质
CN115934742A (zh) 一种故障处理方法、装置、设备及存储介质
CN115421856A (zh) 一种数据恢复方法及装置
CN115174596A (zh) 一种设备远程复制方法、装置以及介质
CN109302535B (zh) 一种移动终端多闹钟处理方法、移动终端及存储介质
CN105446774B (zh) 一种插件处理方法及用户终端
CN113867649B (zh) 自适应的区块链数据存储插件化的系统与方法
CN104794022B (zh) 基于可信的备份方法
CN115037595B (zh) 网络恢复方法、装置、设备及存储介质
CN112596947B (zh) 工程文件恢复方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170315

RJ01 Rejection of invention patent application after publication