一种客户端软件的备份方法、还原方法和装置制造方法

文档序号:6521575阅读:131来源:国知局
一种客户端软件的备份方法、还原方法和装置制造方法
【专利摘要】本发明公开了一种客户端软件的备份方法、还原方法和装置。本发明实施例提供的一种客户端软件的备份方法包括:对客户端侧用户安装的软件进行扫描;将扫描到的软件展示给用户,获知用户选取的需要备份的软件;获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息;由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件;将备份文件上传至云端服务器侧并保存在用户的用户数据中,以利用该备份文件和云端服务器侧存储的软件ID对应的软件包实现软件在客户端侧的还原。
【专利说明】一种客户端软件的备份方法、还原方法和装置
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,特别涉及一种客户端软件的备份方法和装置,以及一种客户端软件的还原方法和装置。
【背景技术】
[0002]随着网络技术的发展,网络病毒的传播也日益猖獗,用户需要频繁重装系统以解决网络病毒造成的系统崩溃等问题,导致用户经常遇到软件重装的问题。现有方案在执行软件重装时,要求用户先对需要重装的软件进行备份,将用于软件安装的软件包等先备份在系统安装盘之外的存储空间,在系统重装后再利用备份的软件包将软件安装在计算机中。
[0003]现有软件重装的方案至少存在如下缺陷:
[0004]现有方案在软件备份时需要对软件包进行备份,重装的软件数量较多时,需要备份的软件包也较多,而一些软件包的大小会比较大,导致备份文件较大,备份文件的传输和存储都需要占用较多的网络资源,给软件备份及软件重装带来了不便。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种客户端软件的备份方法和装置,以及一种客户端软件的还原方法和装置。
[0006]依据本发明的一个方面,本发明实施例提供了一种客户端软件的备份方法,包括:
[0007]对客户端侧用户安装的软件进行扫描;
[0008]将扫描到的软件展示给用户,获知用户选取的需要备份的软件;
[0009]获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息;
[0010]由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件;
[0011]将备份文件上传至云端服务器侧并保存在用户的用户数据中,以利用该备份文件和云端服务器侧存储的软件ID对应的软件包实现软件在客户端侧的还原。
[0012]可选的,上述将扫描到的软件展示给用户,获知用户选取的需要备份的软件包括:接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或,从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。
[0013]可选的,上述根据该软件ID和安装目录检测该软件在客户端侧的配置信息包括:当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息;接收用户根据配置提示信息输入的软件的配置信息。
[0014]可选的,上述方法还包括:当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息;接收用户根据上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
[0015]可选的,上述将备份文件上传至云端服务器侧并保存在用户的用户数据中包括:选取使用的加密方式;根据选取的加密方式对备份文件进行加密;将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在用户的用户数据中。
[0016]可选的,上述由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件包括:获取需要备份的软件的软件版本;由需要备份的软件的软件ID、软件版本和配置信息获得备份文件。
[0017]可选的,上述将扫描到的软件展示给用户包括:判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否则,不将该扫描到的软件展示给用户。
[0018]依据本发明的另一个方面,本发明实施例提供了一种客户端软件的还原方法,包括:
[0019]登录云端服务器,获取登录用户在云端服务器侧的用户数据,该用户数据中包括为该登录用户备份的软件ID和配置信息;
[0020]根据软件ID向云端服务器侧发送还原请求;
[0021]接收云端服务器侧返回的软件ID对应的软件包和配置信息;
[0022]利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0023]可选的,上述利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件的进行还原包括:在运行软件包将相应软件安装在客户端侧后,向用户发送配置还原提示信息;根据用户发送的配置还原指令,利用配置信息对安装的软件的配置进行还原。
[0024]可选的,上述利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原包括:判断云端服务器侧返回的软件包和配置信息使用的加密方式;根据判断出的加密方式对应的解密方式对软件包和配置信息进行解密;利用解密后的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0025]可选的,上述利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原包括:接收登录用户根据所述软件ID发送的一键安装指令;根据所述一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0026]可选的,上述用户数据中包括为该登录用户备份的软件的软件版本,上述根据软件ID向云端服务器侧发送还原请求包括:根据软件版本和软件ID向云端服务器侧发送还原请求;
[0027]上述接收云端服务器侧返回的软件ID对应的软件包和配置信息包括:当云端服务器侧存储有与软件ID对应且版本高于软件版本的高版本软件时,接收云端服务器侧返回的软件ID对应的高版本软件包和配置信息。
[0028]可选的,上述接收云端服务器侧返回的软件ID对应的软件包和配置信息包括:当检测到云端服务器侧存储的软件ID对应的软件包损坏或被篡改时,接收云端服务器侧返回的修复后的软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的软件ID对应的软件包。
[0029]依据本发明的又一个方面,本发明实施例提供了一种客户端软件的备份装置,包括:
[0030]扫描单元,适于对客户端侧用户安装的软件进行扫描;
[0031]备份软件获知单元,适于将扫描到的软件展示给用户,获知用户选取的需要备份的软件;
[0032]配置信息检测单元,适于获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息;
[0033]备份文件获得单元,适于由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件;
[0034]上传保存单元,适于将备份文件上传至云端服务器侧并保存在用户的用户数据中,以利用该备份文件和云端服务器侧存储的软件ID对应的软件包实现软件在客户端侧的还原。
[0035]可选的,备份软件获知单元,适于接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或,从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。
[0036]可选的,上述装置还包括配置信息接收单元,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息;接收用户根据配置提示信息输入的软件的配置信息。
[0037]可选的,上述装置还包括软件包上传单元,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息;接收用户根据上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
[0038]可选的,上传保存单元,适于选取使用的加密方式;根据选取的加密方式对备份文件进行加密;将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在用户的用户数据中。
[0039]可选的,备份文件获得单元,适于获取需要备份的软件的软件版本;由需要备份的软件的软件ID、软件版本和配置信息获得备份文件。
[0040]可选的,备份软件获知单元,适于判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否贝U,不将该扫描到的软件展示给用户。
[0041]依据本发明的又一个方面,本发明实施例提供了一种客户端软件的还原装置,包括:
[0042]登录单元,适于登录云端服务器,获取登录用户在云端服务器侧的用户数据,该用户数据中包括为该登录用户备份的软件ID和配置信息;
[0043]还原请求发送单元,适于根据软件ID向云端服务器发送还原请求;
[0044]接收单元,适于接收云端服务器侧返回的软件ID对应的软件包和配置信息;
[0045]软件还原单元,适于利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0046]可选的,软件还原单元,适于在运行软件包将相应软件安装在客户端侧后,向用户发送配置还原提示信息;根据用户发送的配置还原指令,利用配置信息对安装的软件的配置进行还原。
[0047]可选的,软件还原单元,适于判断云端服务器侧返回的软件包和配置信息使用的加密方式;根据判断出的加密方式对应的解密方式对软件包和配置信息进行解密;利用解密后的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0048]可选的,软件还原单元,适于接收登录用户根据所述软件ID发送的一键安装指令;根据一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0049]可选的,用户数据中包括为该登录用户备份的软件的软件版本;还原请求发送单元,适于根据软件版本和软件ID向云端服务器侧发送还原请求;接收单元,适于当云端服务器侧存储有与软件ID对应且版本高于软件版本的高版本软件时,接收云端服务器侧返回的软件ID对应的高版本软件包和配置信息。
[0050]可选的,接收单元,适于当检测到云端服务器侧存储的软件ID对应的软件包损坏或被篡改时,接收云端服务器侧返回的修复后的软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的软件ID对应的软件包。
[0051]由上所述,本发明实施例提供的客户端软件的备份方法和装置,采用由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件的技术手段,由于软件ID和配置信息数据量非常小,从而显著减少了备份操作中备份文件的大小,减少了传输备份文件时占用的网络带宽以及存储备份文件占用的存储空间,极大便利了软件的备份操作,而利用软件ID、配置信息和云端服务器侧存储的软件ID对应的软件包保证了软件在客户端侧的成功还原。
[0052]本发明实施例提供的客户端软件的还原方法和装置,通过根据用户数据中的软件ID向云端服务器侧发送还原请求,接收云端服务器侧返回的软件ID对应的软件包和配置信息的技术手段,从云端服务器侧获取到了用于登录用户软件还原的所有数据,从而能够在客户端侧实现针对用户的软件还原操作。
[0053]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0054]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0055]图1示出了根据本发明一个实施例的一种客户端软件的备份方法流程图;
[0056]图2示出了根据本发明另一个实施例的一种客户端软件的还原方法;
[0057]图3示出了根据本发明又一个实施例的一种客户端软件的备份装置的结构示意图;
[0058]图4示出了根据本发明又一个实施例的一种客户端软件的还原装置的结构示意图。【具体实施方式】
[0059]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0060]本发明的主要目的在于提供一种客户端侧软件的轻量级备份及智能还原机制,降低客户端侧备份的数据量,并实现针对用户的软件还原。
[0061]本发明一个实施例提供了一种客户端软件的备份方法,参见图1,该方法包括如下步骤:
[0062]SlOO:对客户端侧用户安装的软件进行扫描。
[0063]可以利用在客户端侧维护的软件库对客户端中的软件进行特征匹配等,检测出客户端中用户安装的软件。
[0064]在扫描的过程中,可以为软件生成一个软件ID,用于唯一性标识该软件,可选的,在扫描时也可以获得到软件的一些描述信息,如软件名称、软件所在的安装目录等。
[0065]S102:将扫描到的软件展示给用户,获知用户选取的需要备份的软件。由获取到的需要备份的软件生成一个备份列表。
[0066]示例性的,将扫描到的软件的名称(该名称可以从软件库中获得),在客户端的展示界面上显示出来,以通知用户客户端中当前安装的软件。
[0067]可选的,本实施例中还可以根据用户行为对扫描到的软件进行进一步的筛选,从而使展示出的软件更可能是用户需要备份的软件,包括如下操作:根据用户对软件的使用频率和/或使用次数对需要展示的软件进行筛选,例如,判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否则,不将该扫描到的软件展示给用户。
[0068]对于本次备份操作中需要备份的软件可以通过如下两种方式中的至少一种确定:
[0069]第一种方式:用户手动选取
[0070]接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件。例如,用户对展示界面上的软件进行勾选,接收到用户的勾选指令时,将被勾选的软件作为本次需要备份的软件。
[0071]第二种方式:类型自动选取
[0072]从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。例如,从云端服务器获取到的软件的类型可以包括免费软件和收费软件,则客户端侧可以直接将免费软件默认为需要备份的软件,将收费软件默认为不需要备份的软件。
[0073]S104:获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息。
[0074]软件ID和软件的安装目录可以在步骤SlOO对软件的扫描过程中获取到,或者,也可以在步骤SlOO中仅对安装有哪些软件进行扫描,在本步骤中将软件ID化并获取软件所在的安装目录。
[0075]通过软件的安装目录可以定位到软件的配置信息,该配置信息包括软件的本地文件、序列号、账单以及注册表项等。
[0076]S106:由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件。
[0077]本实施例中执行一个软件的备份时,客户端侧仅需要执行软件ID和配置信息的备份存储,而不需要对软件的软件包进行备份存储。相应的,在云端服务器侧会存储有各软件对应的软件包,这些软件包为共有的资源,不同的客户端都可以利用这些共有的软件包实现客户端侧软件的还原。
[0078]S108:将备份文件上传至云端服务器侧并保存在用户的用户数据中,以利用该备份文件和云端服务器侧存储的软件ID对应的软件包实现软件在客户端侧的还原。
[0079]客户端侧仅需要将软件的软件ID和配置信息上传至云端服务器侧,并存储在该用户的用户数据中,即存储在该用户私有的文件中
[0080]本实施例中的软件ID至少具有如下两方面的作用:一方面,一个软件ID对应于云端服务器侧上共有软件中一种软件,另一方面,一个软件ID对应于一个用户的用户数据中的一种软件的配置信息。对于同一种软件,在云端服务器的共有资源中记录的软件ID和在云端服务器的用户数据中记录的软件ID是相同的。
[0081 ] 其中,在步骤S104中,当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,例如,对于收费软件,在客户端侧无法检测到该收费软件的配置信息,则向用户发送配置提示信息,该提示信息可以提示用户输入软件序列号,或者提供key文件备份等。当用户根据该提示进行输入时,接收用户输入的信息,将这些信息作为上述检测失败的软件的配置信息。
[0082]对根据软件ID和安装目录检测软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息的场景,可以指示用户上传软件包,这时,还包括如下操作:
[0083]向用户发送上传提示信息,例如,在客户端的展示界面上显示该上传提示信息。当用户点击上传按钮时,接收用户发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。在执行上传时,可以对上传的单个的软件包的大小和/或对上报的所有软件包的总大小进行限定,例如,要求单个的软件包的大小和/或所有软件包的总大小不高于客户端侧或云端服务器侧规定的大小。
[0084]其中,在步骤S106中,上述由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件包括:获取需要备份的软件的软件版本;由需要备份的软件的软件ID、软件版本和配置信息获得备份文件,以便于在还原时对软件版本进行识别。另外,对于一些收费软件,若该收费软件是从云端服务器(如360云端服务器)购买的,还可以对订单号也进行备份,以便于对收费软件的再次购买等。
[0085]其中,在步骤S108中,在将备份文件上传至云端服务器侧并保存在用户的用户数据中的步骤中还包括:
[0086]首先,选取使用的加密方式,例如,一种加密方式为账户加密,即由用户在云端服务器侧的账户信息对文件进行加密,在解密时,直接使用用户账户信息即可解密;另一种加密方式为独立密码加密,这种独立密码为与用户账户的信息相独立,在解密时,用户在成功登录云端服务器后,还要输入该独立密码才能对文件进行解密。默认的加密方式可以为账户加密。
[0087]然后,根据选取的加密方式对备份文件进行加密;将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在用户的用户数据中。通过文件加密,保证了文件传输的安全性。
[0088]由上所述,本发明实施例提供的客户端软件的备份方法,采用由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件的技术手段,由于软件ID和配置信息数据量非常小,从而显著减少了备份操作中备份文件的大小,减少了传输备份文件时占用的网络带宽以及存储备份文件占用的存储空间,极大便利了软件的备份操作,而利用软件ID、配置信息和云端服务器侧存储的软件ID对应的软件包保证了软件在客户端侧的成功还原。
[0089]本发明另一个实施例提供了一种客户端软件的还原方法,参见图2,该方法包括如下步骤:
[0090]S200:登录云端服务器。
[0091]在客户端侧通过用户账户登录云端服务器,例如,客户端侧根据用户的账户信息向360云端服务器中的PC软件或WEB应用发送登录请求,登录成功后,利用登录用户的账号可以读取到该用户的用户数据。
[0092]S202:获取登录用户在云端服务器侧的用户数据,该用户数据中包括为该登录用户备份的软件ID和配置信息。
[0093]用户数据中存储的数据包括采用本发明的客户端软件的备份方法进行软件备份时获取到的软件ID和配置信息。但不局限于此,例如,用户数据中还可以存储有客户端侧上报的软件包、软件版本号、订单号以及其它用户的私有数据和配置等。
[0094]S204:根据软件ID向云端服务器侧发送还原请求。
[0095]客户端侧向云端服务器发送的还原请求中包括软件ID或者指示软件ID的信息,还原请求中请求的软件ID指示了本次还原操作需要还原的软件,该软件ID可以为登录用户的用户数据中记录的全部软件ID,也可以为登录用户的用户数据中记录的一部分软件ID0
[0096]S206:接收云端服务器侧返回的软件ID对应的软件包和配置信息。
[0097]云端服务器根据还原请求中的软件ID查找公共资源中存储的软件包,该云端服务器会预先存储软件包,以及软件ID与软件包的对应关系,根据该对应关系云端服务器查找出软件ID对应的软件包。
[0098]需要说明的是,存在一些软件不具有配置信息的情况,这时,云端服务器侧返回的配置信息为空。一些场景中,云端服务器的公共资源中没有软件ID对应的软件包,该软件包被保存在用户数据中了。
[0099]并且,当检测到云端服务器侧存储的所述软件ID对应的软件包损坏或被篡改时,可以在云端服务器侧对损坏或被篡改的软件进行修复,或者云端服务器重新下载安全的未损坏的软件替换原有的软件,这时,接收云端服务器侧返回的修复后的所述软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的所述软件ID对应的软件包。这种处理方式,保证了在客户端侧能够获取到有效的软件包执行软件的还原。
[0100]S208:利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0101]利用软件包可以将软件安装在客户端侧,如果配置信息不为空,还可以提示用户是否还原软件的配置。对配置的还原可以包括如下操作:
[0102]运行软件包,将相应软件安装在客户端侧后,向用户发送配置还原提示信息。该配置还原提示信息提示具有配置信息的软件以及是否利用该配置信息对软件进行配置还原。以及,接收用户发送的配置还原指令,该配置还原指令指示需要进行配置还原的软件,则利用配置信息对安装的相应软件的配置进行还原。
[0103]其中,步骤S208中,当云端服务器侧存储的用户数据为加密数据时,还包括如下操作:判断云端服务器侧返回的软件包和配置信息使用的加密方式;根据判断出的加密方式对应的解密方式对软件包和配置信息进行解密;利用解密后的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。通过加解密操作,保证了网络的安全性。
[0104]其中,当软件发生了更新,云端服务器侧存在比执行软件备份时级别更高的软件版本时,本实施例还提供了一种将高版本软件安装在客户端的处理方式,包括如下操作:
[0105]在步骤S204中,根据软件版本和软件ID向云端服务器侧发送还原请求,其中,在登录用户的用户数据中包括为该登录用户备份的软件的软件版本。例如,在2011年对360安全卫士进行备份时,记录备份的360安全卫士的版本号为5.1。
[0106]在步骤S206中,当云端服务器侧存储有与软件ID对应且版本高于软件版本的高版本软件时,接收云端服务器侧返回的软件ID对应的高版本软件包和配置信息。云端服务器侧会监控软件ID对应的软件更新情况,如果发现有更高的版本,则可以将高版本的软件包对应保存起来,例如,当云端服务器侧发现了版本号为8.1的360安全卫士,将360安全卫士 8.1保存下来,并记录该软件与软件ID的对应关系。
[0107]在步骤S208中,利用接收到的高版本软件包和配置信息在客户端侧对登录用户对应的软件进行还原。例如,在2013年当用户想要还原360安全卫士,则可以根据软件ID从云端服务器侧获取到版本号为8.1的最新版本的360安全卫士,以便还原最新版本的软件。
[0108]另外,本实施例还提供了一种一键安装的还原方式,在步骤S206中还包括如下操作:接收登录用户根据软件ID发送的一键安装指令;根据一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0109]由上,本发明实施例提供的客户端软件的还原方法,通过根据用户数据中的软件ID向云端服务器侧发送还原请求,接收云端服务器侧返回的软件ID对应的软件包和配置信息的技术手段,从云端服务器侧获取到了用于登录用户软件还原的所有数据,从而能够在客户端侧实现针对用户的软件还原操作。
[0110]本发明又一个实施例提供了一种客户端软件的备份装置300。参见图3,该装置300包括扫描单元310、备份软件获知单元312、配置信息检测单元314、备份文件获得单元316、上传保存单元318、配置信息接收单元320和软件包上传单元322。其中,一些场景中,配置信息接收单元320和软件包上传单元322可以略去。下面分别对这些单元进行说明。
[0111]扫描单元310适于对客户端侧用户安装的软件进行扫描。
[0112]备份软件获知单元312适于将扫描到的软件展示给用户,获知用户选取的需要备份的软件。可选的,备份软件获知单元312适于接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或,从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。例如,从云端服务器获取到的软件的类型可以包括免费软件和收费软件,则客户端侧可以直接将免费软件默认为需要备份的软件,将收费软件默认为不需要备份的软件。可选的,本实施例中还可以根据用户行为对扫描到的软件进行进一步的筛选,这时,备份软件获知单元312适于判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否则,不将该扫描到的软件展示给用户,从而使展示出的软件更可能是用户需要备份的软件,
[0113]配置信息检测单元314适于获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息。
[0114]备份文件获得单元316适于由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件。可选的,备份文件获得单元316适于获取需要备份的软件的软件版本;由需要备份的软件的软件ID、软件版本和配置信息获得备份文件。
[0115]上传保存单元318适于将备份文件上传至云端服务器侧并保存在用户的用户数据中,以利用该备份文件和云端服务器侧存储的软件ID对应的软件包实现软件在客户端侧的还原。可选的,上传保存单元318适于选取使用的加密方式;根据选取的加密方式对备份文件进行加密;将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在用户的用户数据中。
[0116]当利用配置信息检测单元314检测配置信息失败时,上述装置300还包括配置信息接收单元320,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息;接收用户根据配置提示信息输入的软件的配置信息。
[0117]可选的,上述装置300还包括软件包上传单元322,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息;接收用户根据上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
[0118]本发明装置实施例中各单元的具体工作方式可以参见本发明相应的方法实施例,在此不再赘述。
[0119]本发明实施例提供的客户端软件的备份装置,采用由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件的技术手段,由于软件ID和配置信息数据量非常小,从而显著减少了备份操作中备份文件的大小,减少了传输备份文件时占用的网络带宽以及存储备份文件占用的存储空间,极大便利了软件的备份操作,而利用软件ID、配置信息和云端服务器侧存储的软件ID对应的软件包保证了软件在客户端侧的成功还原。
[0120]本发明又一个实施例提供了一种客户端软件的还原装置400,参见图4,该装置400包括登录单元410、还原请求发送单元412、接收单元414和软件还原单元416。下面分别进行说明。
[0121]登录单元410适于登录云端服务器,获取登录用户在云端服务器侧的用户数据,该用户数据中包括为该登录用户备份的软件ID和配置信息。
[0122]还原请求发送单元412适于根据软件ID向云端服务器发送还原请求。
[0123]接收单元414适于接收云端服务器侧返回的软件ID对应的软件包和配置信息。接收单元414适于当检测到云端服务器侧存储的所述软件ID对应的软件包损坏或被篡改时,接收云端服务器侧返回的修复后的所述软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的所述软件ID对应的软件包。这种处理方式,保证了在客户端侧能够获取到有效的软件包执行软件的还原。
[0124]软件还原单元416适于利用接收到的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。可选的,软件还原单元416适于在运行软件包将相应软件安装在客户端侧后,向用户发送配置还原提示信息;根据用户发送的配置还原指令,利用配置信息对安装的软件的配置进行还原。可选的,软件还原单元416适于判断云端服务器侧返回的软件包和配置信息使用的加密方式;根据判断出的加密方式对应的解密方式对软件包和配置信息进行解密;利用解密后的软件包和配置信息在客户端侧对登录用户对应的软件进行还原。可选的,软件还原单元416适于接收登录用户根据软件ID发送的一键安装指令;根据一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0125]可选的,当软件发生了更新,云端服务器侧存在比执行软件备份时级别更高的软件版本时,本实施例还提供了一种将高版本软件安装在客户端的处理方式,这时,用户数据中包括为该登录用户备份的软件的软件版本,则还原请求发送单元412适于根据软件版本和软件ID向云端服务器侧发送还原请求;接收单元414适于当云端服务器侧存储有与软件ID对应且版本高于软件版本的高版本软件时,接收云端服务器侧返回的软件ID对应的高版本软件包和配置信息。软件还原单元416适于利用接收到的高版本软件包和配置信息在客户端侧对登录用户对应的软件进行还原。
[0126]本发明装置实施例中各单元的具体工作方式可以参见本发明相应的方法实施例,在此不再赘述。
[0127]由上,本发明实施例提供的客户端软件的还原装置,通过根据用户数据中的软件ID向云端服务器侧发送还原请求,接收云端服务器侧返回的软件ID对应的软件包和配置信息的技术手段,从云端服务器侧获取到了用于登录用户软件还原的所有数据,从而能够在客户端侧实现针对用户的软件还原操作。
[0128]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0129]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0130]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0131 ] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0132]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0133]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的客户端软件的备份装置和还原装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0134]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0135]本发明实施例公开了如下技术方案:
[0136]Al、一种客户端软件的备份方法,包括:
[0137]对客户端侧用户安装的软件进行扫描;
[0138]将扫描到的软件展示给用户,获知用户选取的需要备份的软件;
[0139]获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息;
[0140]由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件;
[0141]将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中,以利用该备份文件和云端服务器侧存储的所述软件ID对应的软件包实现软件在客户端侧的还原。
[0142]A2、根据权利要求Al所述的方法,其中,所述将扫描到的软件展示给用户,获知用户选取的需要备份的软件包括:
[0143]接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或,
[0144]从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。
[0145]A3、根据权利要求Al所述的方法,其中,所述根据该软件ID和安装目录检测该软件在客户端侧的配置信息包括:
[0146]当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息;
[0147]接收用户根据所述配置提示信息输入的软件的配置信息。
[0148]A4、根据权利要求A3所述的方法,其中,所述方法还包括:
[0149]当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息;
[0150]接收用户根据所述上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
[0151]A5、根据权利要求Al所述的方法,其中,所述将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中包括:
[0152]选取使用的加密方式;
[0153]根据选取的加密方式对备份文件进行加密;
[0154]将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在所述用户的用户数据中。
[0155]A6、根据权利要求Al所述的方法,其中,所述由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件包括:
[0156]获取需要备份的软件的软件版本;
[0157]由需要备份的软件的软件ID、软件版本和配置信息获得所述备份文件。
[0158]A7、根据权利要求Al所述的方法,其中,所述将扫描到的软件展示给用户包括:
[0159]判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否则,不将该扫描到的软件展示给用户。
[0160]B8、一种客户端软件的还原方法,包括:
[0161]登录云端服务器,获取登录用户在云端服务器侧的用户数据,所述用户数据中包括为该登录用户备份的软件ID和配置信息;
[0162]根据所述软件ID向云端服务器侧发送还原请求;
[0163]接收云端服务器侧返回的所述软件ID对应的软件包和配置信息;
[0164]利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
[0165]B9、根据权利要求B8所述的方法,其中,所述利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件的进行还原包括:
[0166]在运行所述软件包将相应软件安装在客户端侧后,向用户发送配置还原提示信息;
[0167]根据用户发送的配置还原指令,利用所述配置信息对安装的软件的配置进行还原。[0168]B10、根据权利要求B8所述的方法,其中,所述利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原包括:
[0169]判断云端服务器侧返回的所述软件包和配置信息使用的加密方式;
[0170]根据判断出的加密方式对应的解密方式对所述软件包和配置信息进行解密;
[0171]利用解密后的所述软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
[0172]B11、根据权利要求B8所述的方法,其中,所述利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原包括:
[0173]接收登录用户根据所述软件ID发送的一键安装指令;
[0174]根据所述一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0175]B12、根据权利要求B8所述的方法,其中,所述用户数据中包括为该登录用户备份的软件的软件版本,所述方法还包括:
[0176]所述根据所述软件ID向云端服务器侧发送还原请求包括:根据所述软件版本和软件ID向云端服务器侧发送还原请求;
[0177]所述接收云端服务器侧返回的所述软件ID对应的软件包和配置信息包括:
[0178]当云端服务器侧存储有与所述软件ID对应且版本高于所述软件版本的高版本软件时,接收云端服务器侧返回的所述软件ID对应的高版本软件包和配置信息。
[0179]B13、根据权利要求B8所述的方法,其中,所述接收云端服务器侧返回的所述软件ID对应的软件包和配置信息包括:
[0180]当检测到云端服务器侧存储的所述软件ID对应的软件包损坏或被篡改时,接收云端服务器侧返回的修复后的所述软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的所述软件ID对应的软件包。
[0181]C14、一种客户端软件的备份装置,包括:
[0182]扫描单元,适于对客户端侧用户安装的软件进行扫描;
[0183]备份软件获知单元,适于将扫描到的软件展示给用户,获知用户选取的需要备份的软件;
[0184]配置信息检测单元,适于获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息;
[0185]备份文件获得单元,适于由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件;
[0186]上传保存单元,适于将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中,以利用该备份文件和云端服务器侧存储的所述软件ID对应的软件包实现软件在客户端侧的还原。
[0187]C15、根据权利要求C14所述的装置,其中,所述备份软件获知单元,适于接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或,从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。
[0188]C16、根据权利要求C14所述的装置,其中,所述装置还包括配置信息接收单元,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息;接收用户根据所述配置提示信息输入的软件的配置信息。
[0189]C17、根据权利要求C16所述的装置,其中,所述装置还包括软件包上传单元,适于当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息;接收用户根据所述上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
[0190]C18、根据权利要求C14所述的装置,其中,所述上传保存单元,适于选取使用的加密方式;根据选取的加密方式对备份文件进行加密;将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在所述用户的用户数据中。
[0191]C19、根据权利要求C14所述的装置,其中,所述备份文件获得单元,适于获取需要备份的软件的软件版本;由需要备份的软件的软件ID、软件版本和配置信息获得所述备份文件。
[0192]C20、根据权利要求C14所述的装置,其中,所述备份软件获知单元,适于判断扫描到的软件的使用频率超过频率阈值,和/或,判断扫描到的软件的使用次数超过次数阈值时,将该扫描到的软件展示给用户,否则,不将该扫描到的软件展示给用户。
[0193]D21、一种客户端软件的还原装置,包括:
[0194]登录单元,适于登录云端服务器,获取登录用户在云端服务器侧的用户数据,所述用户数据中包括为该登录用户备份的软件ID和配置信息;
[0195]还原请求发送单元,适于根据所述软件ID向云端服务器发送还原请求;
[0196]接收单元,适于接收云端服务器侧返回的所述软件ID对应的软件包和配置信息;
[0197]软件还原单元,适于利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
[0198]D22、根据权利要求D21所述的装置,其中,所述软件还原单元,适于在运行所述软件包将相应软件安装在客户端侧后,向用户发送配置还原提示信息;根据用户发送的配置还原指令,利用所述配置信息对安装的软件的配置进行还原。
[0199]D23、根据权利要求D21所述的装置,其中,所述软件还原单元,适于判断云端服务器侧返回的所述软件包和配置信息使用的加密方式;根据判断出的加密方式对应的解密方式对所述软件包和配置信息进行解密;利用解密后的所述软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
[0200]D24、根据权利要求D21所述的装置,其中,所述软件还原单元,适于接收登录用户根据所述软件ID发送的一键安装指令;根据所述一键安装指令,执行对还原请求所请求的所有软件ID对应的软件在客户端侧的还原操作。
[0201]D25、根据权利要求D21所述的装置,其中,所述用户数据中包括为该登录用户备份的软件的软件版本;
[0202]所述还原请求发送单元,适于根据所述软件版本和软件ID向云端服务器侧发送还原请求;
[0203]所述接收单元,适于当云端服务器侧存储有与所述软件ID对应且版本高于所述软件版本的高版本软件时,接收云端服务器侧返回的所述软件ID对应的高版本软件包和
配置信息。
[0204]D26、根据权利要求D21所述的装置,其中,所述接收单元,适于当检测到云端服务器侧存储的所述软件ID对应的软件包损坏或被篡改时,接收云端服务器侧返回的修复后的所述软件ID对应的软件包或者接收云端服务器侧返回的新下载至该云端服务器侧的所述软件ID对应的软件包。
【权利要求】
1.一种客户端软件的备份方法,包括: 对客户端侧用户安装的软件进行扫描; 将扫描到的软件展示给用户,获知用户选取的需要备份的软件; 获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息; 由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件; 将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中,以利用该备份文件和云端服务器侧存储的所述软件ID对应的软件包实现软件在客户端侧的还原。
2.根据权利要求1所述的方法,其中,所述将扫描到的软件展示给用户,获知用户选取的需要备份的软件包括: 接收用户发送的指示需要备份软件的选取指令,将该选取指令选定的软件作为需要备份的软件;和/或, 从云端服务器获取软件的类型,将属于预定类型的软件默认为需要备份的软件。
3.根据权利要求1所述的方法,其中,所述根据该软件ID和安装目录检测该软件在客户端侧的配置信息包括: 当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败时,向用户发送配置提示信息; 接收用户根据所述配置提示信息输入的软件的配置信息。
4.根据权利要求3所述的方法,其中,所述方法还包括: 当根据软件ID和安装目录检测该软件在客户端侧的配置信息失败,且未接收到用户输入的配置信息时,向用户发送上传提示信息; 接收用户根据所述上传提示信息发送的上传指令,根据该上传指令将扫描失败的软件的软件包上传至云端服务器。
5.根据权利要求1所述的方法,其中,所述将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中包括: 选取使用的加密方式; 根据选取的加密方式对备份文件进行加密; 将需要备份的软件的加密后的备份文件上传至云端服务器侧并保存在所述用户的用户数据中。
6.根据权利要求1所述的方法,其中,所述由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件包括: 获取需要备份的软件的软件版本; 由需要备份的软件的软件ID、软件版本和配置信息获得所述备份文件。
7.一种客户端软件的还原方法,包括: 登录云端服务器,获取登录用户在云端服务器侧的用户数据,所述用户数据中包括为该登录用户备份的软件ID和配置信息; 根据所述软件ID向云端服务器侧发送还原请求; 接收云端服务器侧返回的所述软件ID对应的软件包和配置信息; 利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
8.根据权利要求7所述的方法,其中,所述用户数据中包括为该登录用户备份的软件的软件版本,所述方法还包括: 所述根据所述软件ID向云端服务器侧发送还原请求包括:根据所述软件版本和软件ID向云端服务器侧发送还原请求; 所述接收云端服务器侧返回的所述软件ID对应的软件包和配置信息包括: 当云端服务器侧存储有与所述软件ID对应且版本高于所述软件版本的高版本软件时,接收云端服务器侧返回的所述软件ID对应的高版本软件包和配置信息。
9.一种客户端软件的备份装置,包括: 扫描单元,适于对客户端侧用户安装的软件进行扫描; 备份软件获知单元,适于将扫描到的软件展示给用户,获知用户选取的需要备份的软件; 配置信息检测单元,适于获取需要备份的软件的软件ID和软件的安装目录,根据该软件ID和安装目录检测该软件在客户端侧的配置信息; 备份文件获得单元,适于由需要备份的软件的软件ID和配置信息获得备份时需要保存的备份文件; 上传保存单元,适于将所述备份文件上传至云端服务器侧并保存在所述用户的用户数据中,以利用该备份文件和云端服务器侧存储的所述软件ID对应的软件包实现软件在客户端侧的还原。
10.一种客户端软件的还原装置,包括: 登录单元,适于登录云端服务器,获取登录用户在云端服务器侧的用户数据,所述用户数据中包括为该登录用户备份的软件ID和配置信息; 还原请求发送单元,适于根据所述软件ID向云端服务器发送还原请求; 接收单元,适于接收云端服务器侧返回的所述软件ID对应的软件包和配置信息;软件还原单元,适于利用接收到的软件包和配置信息在客户端侧对所述登录用户对应的软件进行还原。
【文档编号】G06F11/14GK103631678SQ201310631659
【公开日】2014年3月12日 申请日期:2013年12月2日 优先权日:2013年12月2日
【发明者】张皓秋, 浦欣, 刘义平, 陈曦 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1