确保软件正常运行的方法和装置的制作方法

文档序号:6369581阅读:260来源:国知局
专利名称:确保软件正常运行的方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种确保软件正常运行的方法和装置。
背景技术
随着计算机技术的发展,可以实现各种功能的软件层出不穷,如可以进行聊天的聊天软件等。在软件运行过程中常常会用到用户数据,而由于各种原因(如存储用户数据的闪存损坏等)常常会使得用户数据损坏,导致软件无法正常运行。目前,当用户数据出现损坏,软件无法正常运行时,采用的方法是将软件卸载,然后重新装载软件。然而,在实现本发明的过程中,发明人发现现有技术至少存在以下问题现有的方法需要将软件卸载,会删除用户数据,造成用户数据丢失;且卸载,然后重新装载软件,需要花费时间,浪费用户时间。

发明内容
为了避免用户数据丢失,节约用户时间,本发明实施例提供了一种确保软件正常运行的方法和装置。所述技术方案如下—种确保软件正常运行的方法,所述方法包括当软件启动后,检测是否存在有损坏的用户数据;当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。一种确保软件正常运行的装置,所述装置包括检测模块,用于当软件启动后,检测是否存在有损坏的用户数据; 修复模块,用于当所述检测模块检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。本发明实施例提供的技术方案的有益效果是通过检测是否存在有损坏的用户数据,当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复,从而确保软件可以正常运行,不需要将软件卸载,然后重新装载软件,避免了用户数据丢失,且可以节约用户时间。


图I是本发明实施例I提供的一种确保软件正常运行的方法流程图;图2是本发明实施例2提供的一种确保软件正常运行的方法流程图;图3是本发明实施例3提供的第一种确保软件正常运行的装置结构示意图;图4是本发明实施例3提供的第二种确保软件正常运行的装置结构示意图;图5是本发明实施例3提供的第三种确保软件正常运行的装置结构示意图;图6是本发明实施例3提供的第四种确保软件正常运行的装置结构示意图; 图7是本发明实施例3提供的第五种确保软件正常运行的装置结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例I参见图1,本发明实施例提供了一种确保软件正常运行的方法,该方法包括101 :当软件启动后,检测是否存在有损坏的用户数据。
102 :当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。进一步地,该方法还包括在软件上一次运行过程中,当软件读取用户数据时,判断是否能够读取出相应的用户数据;当不能够读取出相应的用户数据时,确定该相应的用户数据损坏;记录损坏的用户数据的信息;相应地,检测是否存在有损坏的用户数据包括查询记录;如果查询到损坏的用户数据的信息,则确定存在有损坏的用户数据;否则,确定没有存在损坏的用户数据。进一步地,该方法还包括当能够读取出相应的用户数据时,判断该相应的用户数据是否符合数据记录格式和业务对数据的要求;如果不符合数据记录格式或业务对数据的要求,确定该相应的用户数据损坏,然后执行记录损坏的用户数据的信息的步骤。进一步地,判断相应的用户数据是否符合数据记录格式和业务对数据的要求之前,该方法还包括对相应的用户数据的循环冗余校验码CRC进行校验;其中,相应的用户数据的循环冗余校验码(CRC, Cyclic Redundancy Check)为在保存相应的用户数据时生成,并与相应的用户数据结合后保存;判断校验是否成功;如果校验失败,则确定相应的用户数据损坏,然后执行记录损坏的用户数据的信息的步骤;如果校验成功,则执行判断相应的用户数据是否符合数据记录格式和业务对数据的要求的步骤。其中,对损坏的用户数据进行修复,包括判断服务器中是否存在有与该损坏的用户数据相应的用户数据;如果服务中存在有与该损坏的用户数据相应的用户数据,则将该损坏的用户数据所在的文件删除,将服务器中存在的与该损坏的用户数据相应的用户数据所在的文件复制到本地。进一步地,判断服务器中是否存在有与该损坏的用户数据相应的用户数据之后,该方法还包括
如果服务器中没有存在与该损坏的用户数据相应的用户数据,则读取出该损坏的用户数据所在的文件中的有效数据,将有效数据存储在新的文件中;用新的文件替换该损坏的用户数据所在的文件。进一步地,对损坏的用户数据进行修复之前,该方法还包括判断是否需要对损坏的用户数据进行修复;如果不需要对损坏的用户数据进行修复,则将该损坏的用户数据所在的文件删除。本发明实施例所述的确保软件正常运行的方法,通过检测是否存在有损坏的用户数据,当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复,从而确保软件可以正常运行,不需要将软件卸载,然后重新装载软件,避免了用户数据丢失,且可以节约用户时间。并且,可以通过在软件上一次运行过程中,记录的损坏的用户数据的信息,检测出是否存在有损坏的用户数据,检测方法简单易行,可以节约软件的运行时间。可以通过将服务器中存在的与该损坏的用户数据相应的用户数据复制到本地的方法,以及读取出该损坏的用户数据所在的文件中的有效数据的方法,对用户数据进行修复,保证了用户数据的修复。本发明实施例所述的确保软件正常运行的方法,可以应用于各种系统的各种软件,为了便于说明,下面以应用于手机的微信软件(S60版)为例进行进一步地说明。实施例2参见图2,本发明实施例提供了一种确保软件正常运行的方法,该方法包括201 :当微信启动时,检测是否存在有损坏的用户数据,如果存在有,则执行202 ;否则,执行208。其中,本发明实施例中用户数据包括配置文件、联系人列表、微信消息、微信语音、漂流瓶数据等。本发明实施例是通过利用在微信上一次运行过程中(当前启动的前一次运行过程)对用户数据是否损坏所做的记录,来判断用户数据是否损坏,具体如下在微信运行过程中,当微信读取用户数据时,判断是否能够读取出相应的用户数据;当不能够读取出相应的用户数据时,确定该相应的用户数据损坏;记录损坏的用户数据的信息;相应地,检测是否存在有损坏的用户数据包括查询记录;如果查询到损坏的用户数据的信息,则确定存在有损坏的用户数据;否则,确定没有存在损坏的用户数据。具体地,在微信运行过程中,可以通过调用系统的APKApplication ProgrammingInterface,应用程序编程接口)来得知是否能够读取出相应的用户数据,从而判断出是否能够读取出相应的用户数据。其中,损坏的用户数据的信息包括用户数据所在的文件的路径信息、用户数据所在文件的位置信息等。具体地,可以将损坏的用户数据的信息记录在一个文件中,如日志文件中,当检测是否存在有损坏的用户数据,可以查询日志文件,从而得知是否存在有损坏的用户数据。、
但是,由于不同软件的用户数据需要具有不同的数据记录格式,且需要满足不同的业务要求,当能够读取出相应的用户数据,但如果相应的用户数据不符合数据记录格式或业务对数据的要求,那该用户数据也可能被损坏了。例如邮件的用户数据是XML(Extensible Markup Language,可扩展标记语言)格式,当读取出相应的用户数据后,验证读取出来的用户数据是否符合XML格式,如果不符合XML格式,则该用户数据就是被损坏了。如果读取出来的用户数据符合XML格式,对用户数据进行解析,得到很多字段,例如发件人、收件人、主题等,由于对邮件业务来说,发件人是必须有的,如果解得到的字段中发件人为空,则用户数据不符合业务对数据的要求,该用户数据是被损坏了。所以进一步地,该方法还包括当能够读取出相应的用户数据时,判断该相应的用户数据是否符合数据记录格式和业务对数据的要求;如果不符合数据记录格式或业务对数据的要求,确定该相应的用户数据损坏,然 后执行记录损坏的用户数据的信息的步骤。并且,为了保证能检测出存在的损坏的用户数据,进一步地,判断相应的用户数据是否符合数据记录格式和业务对数据的要求之前,该方法还包括对相应的用户数据的循环冗余校验码CRC进行校验;其中,相应的用户数据的循环冗余校验码CRC为在保存相应的用户数据时生成,并与相应的用户数据结合后保存;判断校验是否成功;如果校验失败,则确定相应的用户数据损坏,然后执行记录损坏的用户数据的信息的步骤;如果校验成功,则执行判断相应的用户数据是否符合数据记录格式和业务对数据的要求的步骤。202 :判断是否需要对损坏的用户数据进行修复,如果需要,则执行203 ;否则,执行 207。具体地,可以根据用户数据的重要级别,设置是否需要对损坏的用户数据进行修复,如本发明实施例中可以设置配置文件、联系人列表等用户数据损坏后需要修复。并且,可以将损坏后需要修复的用户数据以列表的形式记录下来,当检测到存在有损坏的用户数据后,查询相应的列表,以判断出是否需要对该损坏的用户数据进行修复。需要说明的是,并不限于通过查询列表的方式,判断出是否需要对损坏的用户数据进行修复,实际应用中还可以采用其他任何可行的方式实现,对此不做具体限定。203:判断服务器中是否存在有与该损坏的用户数据相应的用户数据,如果存在有,则执行204 ;否则,执行205。其中,服务器是指为微信软件提供相应服务的服务器。204:将该损坏的用户数据所在的文件删除,将服务器中存在的与该损坏的用户数据相应的用户数据所在的文件复制到本地,然后执行206。具体地,将服务器中存在的与该损坏的用户数据相应的用户数据所在的文件复制到本地,包括向服务器发送下发与该损坏的用户数据相应的用户数据的请求消息。服务器接收到请求消息后,将与该损坏的用户数据相应的用户数据下发到本地。
205:读取出该损坏的用户数据所在的文件中的有效数据,将有效数据存储在新的文件中,用新的文件替换该损坏的用户数据所在的文件,然后执行206。需要说明的是,在读取该损坏的用户数据所在的文件中的有效数据时,可能会对该损坏的用户数据所在的文件中的用户数据造成损坏,为了避免上述情况发生时对用户数据造成的损坏,可以在读取该损坏的用户数据所在的文件中的有效数据之前,对该损坏的用户数据所在的文件进行备份。206 :判断是否成功修复损坏的用户数据,如果成功,则执行208 ;否则,执行209。对于不同的修复方式,判断是否成功修复损坏的用户数据的方法也不同,具体如下对于通过将服务器中存在的与该损坏的用户数据相应的用户数据所在的文件复制到本地的方式进行修复的,当向服务器发送下发与该损坏的用户数据相应的用户数据的请求消息成功,服务器接收请求消息成功,且将与该损坏的用户数据相应的用户数据下发到本地成功时,判断成功修复了损坏的用户数据;当向服务器发送下发与该损坏的用户数据相应的用户数据的请求消息失败,服务器接收请求消息失败,或将与该损坏的用户数据相应的用户数据下发到本地失败时,判断修复损坏的用户数据失败。对于通过读取损坏的用户数据所在的文件中的有效数据的方式进行修复的,当读取出该损坏的用户数据所在的文件中的有效数据成功,将有效数据存储在新的文件中成功,且用新的文件替换该损坏的用户数据所在的文件成功时,判断成功修复了损坏的用户数据;当读取出该损坏的用户数据所在的文件中的有效数据失败,将有效数据存储在新的文件中失败,且用新的文件替换该损坏的用户数据所在的文件失败时,判断修复损坏的用户数据失败。207 :将该损坏的用户数据所在的文件删除,然后执行208。208 :微信正常启动,进行初始化操作,然后结束。进行初始化操作包括初始化UI (User Interface,用户界面)界面、启动微信业务逻辑等。209 :退出微信,然后结束。本发明实施例所述的确保软件正常运行的方法,通过检测是否存在有损坏的用户数据,当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复,从而确保软件可以正常运行,不需要将软件卸载,然后重新装载软件,避免了用户数据丢失,且可以节约用户时间。并且,可以通过在软件上一次运行过程中,记录的损坏的用户数据的信息,检测出是否存在有损坏的用户数据,检测方法简单易行,可以节约软件的运行时间。可以通过将服务器中存在的与该损坏的用户数据相应的用户数据复制到本地的方法,以及读取出该损坏的用户数据所在的文件中的有效数据的方法,对用户数据进行修复,保证了用户数据的修复。实施例3参见图3,本发明实施例提供了一种确保软件正常运行的装置,该装置包括检测模块301,用于当软件启动后,检测是否存在有损坏的用户数据;修复模块302,用于当检测模块301检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。进一步地,参见图4,该装置还包括
第一判断模块303,用于在软件上一次运行过程中,当软件读取用户数据时,判断是否能够读取出相应的用户数据;第一确定模块304,用于当第一判断模块303的判断结果是不能够读取出相应的用户数据时,确定相应的用户数据损坏;记录模块305,用于当第一确定模块304确定相应的用户数据损坏后,记录损坏的用户数据的信息;相应地,检测模块301包括查询单元,用于查询记录模块305的记录;处理单元,用于当查询单元查询到损坏的用户数据的信息时,确定存在有损坏的 用户数据;否则,确定没有存在损坏的用户数据。进一步地,参见图5,该装置还包括第二判断模块306,用于当第一判断模块303的判断结果是能够读取出相应的用户数据时,判断相应的用户数据是否符合数据记录格式和业务对数据的要求;第二确定模块307,用于当第二判断模块306的判断结果是相应的用户数据不符合数据记录格式或业务对数据的要求时,确定相应的用户数据损坏,然后向记录模块305发送执行记录损坏的用户数据的信息的通知。进一步地,参见图6,该装置还包括校验模块308,用于当第一判断模块303的判断结果是能够读取出相应的用户数据时,对相应的用户数据的循环冗余校验码CRC进行校验;其中,相应的用户数据的循环冗余校验码CRC为在保存相应的用户数据时生成,并与相应的用户数据结合后保存;第三判断模块309,用于判断校验是否成功;第一通知模块310,用于当第三判断模块309的判断结果是校验失败时,确定相应的用户数据损坏,然后向记录模块305发送执行记录损坏的用户数据的信息的通知;第二通知模块311,用于当第三判断模块309的判断结果是校验成功时,向第二判断模块306发送执行判断相应的用户数据是否符合数据记录格式和业务对数据的要求的通知。进一步地,修复模块302包括判断单元,用于当检测模块301检测到存在有损坏的用户数据后,判断服务器中是否存在有与损坏的用户数据相应的用户数据;第一修复单元,用于当判断单元的判断结果是服务中存在有与损坏的用户数据相应的用户数据时,将损坏的用户数据所在的文件删除,将服务器中存在的与损坏的用户数据相应的用户数据所在的文件复制到本地。进一步地,修复模块302还包括第二修复单元,用于当判断单元的判断结果是服务器中没有存在与损坏的用户数据相应的用户数据时,读取出损坏的用户数据所在的文件中的有效数据,将有效数据存储在新的文件中;用新的文件替换损坏的用户数据所在的文件。进一步地,参见图7,该装置还包括第四判断模块312,用于当检测模块301检测到存在有损坏的用户数据后,判断是否需要对损坏的用户数据进行修复;
删除模块313,用于当第四判断模块312的判断结果是不需要对损坏的用户数据进行修复时,将损坏的用户数据所在的文件删除。本 发明实施例所述的确保软件正常运行的装置,通过检测是否存在有损坏的用户数据,当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复,从而确保软件可以正常运行,不需要将软件卸载,然后重新装载软件,避免了用户数据丢失,且可以节约用户时间。并且,可以通过在软件上一次运行过程中,记录的损坏的用户数据的信息,检测出是否存在有损坏的用户数据,检测方法简单易行,可以节约软件的运行时间。可以通过将服务器中存在的与该损坏的用户数据相应的用户数据复制到本地的方法,以及读取出该损坏的用户数据所在的文件中的有效数据的方法,对用户数据进行修复,保证了用户数据的修复。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种确保软件正常运行的方法,其特征在于,所述方法包括 当软件启动后,检测是否存在有损坏的用户数据; 当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。
2.根据权利要求I所述的确保软件正常运行的方法,其特征在于,所述方法还包括 在所述软件上一次运行过程中,当所述软件读取用户数据时,判断是否能够读取出相应的用户数据; 当不能够读取出所述相应的用户数据时,确定所述相应的用户数据损坏; 记录损坏的用户数据的信息; 相应地,检测是否存在有损坏的用户数据包括 查询记录; 如果查询到损坏的用户数据的信息,则确定存在有损坏的用户数据;否则,确定没有存在损坏的用户数据。
3.根据权利要求2所述的确保软件正常运行的方法,其特征在于,所述方法还包括 当能够读取出所述相应的用户数据时,判断所述相应的用户数据是否符合数据记录格式和业务对数据的要求; 如果不符合数据记录格式或业务对数据的要求,确定所述相应的用户数据损坏,然后执行所述记录损坏的用户数据的信息的步骤。
4.根据权利要求3所述的确保软件正常运行的方法,其特征在于,判断所述相应的用户数据是否符合数据记录格式和业务对数据的要求之前,所述方法还包括 对所述相应的用户数据的循环冗余校验码CRC进行校验;其中,所述相应的用户数据的循环冗余校验码CRC为在保存所述相应的用户数据时生成,并与所述相应的用户数据结合后保存; 判断校验是否成功; 如果校验失败,则确定所述相应的用户数据损坏,然后执行所述记录损坏的用户数据的信息的步骤; 如果校验成功,则执行判断所述相应的用户数据是否符合数据记录格式和业务对数据的要求的步骤。
5.根据权利要求I所述的确保软件正常运行的方法,其特征在于,对损坏的用户数据进行修复,包括 判断服务器中是否存在有与所述损坏的用户数据相应的用户数据; 如果服务中存在有与所述损坏的用户数据相应的用户数据,则将所述损坏的用户数据所在的文件删除,将服务器中存在的与所述损坏的用户数据相应的用户数据所在的文件复制到本地。
6.根据权利要求5所述的确保软件正常运行的方法,其特征在于,判断服务器中是否存在有与所述损坏的用户数据相应的用户数据之后,所述方法还包括 如果服务器中没有存在与所述损坏的用户数据相应的用户数据,则读取出所述损坏的用户数据所在的文件中的有效数据,将有效数据存储在新的文件中; 用新的文件替换所述损坏的用户数据所在的文件。
7.根据权利要求1-6任意一项权利要求所述的确保软件正常运行的方法,其特征在于,对损坏的用户数据进行修复之前,所述方法还包括 判断是否需要对所述损坏的用户数据进行修复; 如果不需要对所述损坏的用户数据进行修复,则将所述损坏的用户数据所在的文件删除。
8.一种确保软件正常运行的装置,其特征在于,所述装置包括 检测模块,用于当软件启动后,检测是否存在有损坏的用户数据; 修复模块,用于当所述检测模块检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。
9.根据权利要求8所述的确保软件正常运行的装置,其特征在于,所述装置还包括 第一判断模块,用于在所述软件上一次运行过程中,当所述软件读取用户数据时,判断是否能够读取出相应的用户数据; 第一确定模块,用于当所述第一判断模块的判断结果是不能够读取出所述相应的用户数据时,确定所述相应的用户数据损坏; 记录模块,用于当所述第一确定模块确定所述相应的用户数据损坏后,记录损坏的用户数据的信息; 相应地,所述检测模块包括 查询单元,用于查询所述记录模块的记录; 处理单元,用于当所述查询单元查询到损坏的用户数据的信息时,确定存在有损坏的用户数据;否则,确定没有存在损坏的用户数据。
10.根据权利要求7所述的确保软件正常运行的装置,其特征在于,所述装置还包括 第二判断模块,用于当所述第一判断模块的判断结果是能够读取出所述相应的用户数据时,判断所述相应的用户数据是否符合数据记录格式和业务对数据的要求; 第二确定模块,用于当所述第二判断模块的判断结果是所述相应的用户数据不符合数据记录格式或业务对数据的要求时,确定所述相应的用户数据损坏,然后向所述记录模块发送执行所述记录损坏的用户数据的信息的通知。
11.根据权利要求10所述的确保软件正常运行的装置,其特征在于,所述装置还包括 校验模块,用于当所述第一判断模块的判断结果是能够读取出所述相应的用户数据时,对所述相应的用户数据的循环冗余校验码CRC进行校验;其中,所述相应的用户数据的循环冗余校验码CRC为在保存所述相应的用户数据时生成,并与所述相应的用户数据结合后保存; 第三判断模块,用于判断校验是否成功; 第一通知模块,用于当所述第三判断模块的判断结果是校验失败时,确定所述相应的用户数据损坏,然后向所述记录模块发送执行所述记录损坏的用户数据的信息的通知;第二通知模块,用于当所述第三判断模块的判断结果是校验成功时,向所述第二判断模块发送执行判断所述相应的用户数据是否符合数据记录格式和业务对数据的要求的通知。
12.根据权利要求8所述的确保软件正常运行的装置,其特征在于,所述修复模块包括 判断单元,用于当所述检测模块检测到存在有损坏的用户数据后,判断服务器中是否存在有与所述损坏的用户数据相应的用户数据; 第一修复单元,用于当所述判断单元的判断结果是服务中存在有与所述损坏的用户数据相应的用户数据时,将所述损坏的用户数据所在的文件删除,将服务器中存在的与所述损坏的用户数据相应的用户数据所在的文件复制到本地。
13.根据权利要求12所述的确保软件正常运行的装置,其特征在于,所述修复模块还包括 第二修复单元,用于当所述判断单元的判断结果是服务器中没有存在与所述损坏的用户数据相应的用户数据时,读取出所述损坏的用户数据所在的文件中的有效数据,将有效数据存储在新的文件中;用新的文件替换所述损坏的用户数据所在的文件。
14.根据权利要求8-13任意一项权利要求所述的确保软件正常运行的装置,其特征在于,所述装置还包括 第四判断模块,用于当所述检测模块检测到存在有损坏的用户数据后,判断是否需要对所述损坏的用户数据进行修复; 删除模块,用于当所述第四判断模块的判断结果是不需要对所述损坏的用户数据进行修复时,将所述损坏的用户数据所在的文件删除。
全文摘要
本发明公开了一种确保软件正常运行的方法和装置,属于计算机技术领域。所述方法包括当软件启动后,检测是否存在有损坏的用户数据;当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复。所述装置包括检测模块和修复模块。本发明通过检测是否存在有损坏的用户数据,当检测到存在有损坏的用户数据后,对损坏的用户数据进行修复,从而确保软件可以正常运行,不需要将软件卸载,然后重新装载软件,避免了用户数据丢失,且可以节约用户时间。
文档编号G06F9/445GK102681873SQ20121014846
公开日2012年9月19日 申请日期2012年5月14日 优先权日2012年5月14日
发明者叶润桂, 林向耀, 范亮亮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1