客户端程序的修复方法、装置、系统及服务器的制造方法

文档序号:9673002阅读:435来源:国知局
客户端程序的修复方法、装置、系统及服务器的制造方法
【技术领域】
[0001] 本发明设及计算机技术领域,尤其设及一种客户端程序的修复方法、装置、系统及 服务器。
【背景技术】
[0002] 客户端程序在使用过程中,可能会由于文件系统错误导致文件损坏。另外,目前互 联网上病毒和恶意程序较多,很容易出现客户端程序的文件被恶意程序篡改的情况,导致 用户信息泄露。为了保证客户端程序的正常运行,有必要对客户端程序进行自动修复。
[0003] -种常见的方案是为每次客户端程序修复时提供一个完整的安装包,用户下载并 运行安装包执行修复和更新操作。运种方式需要用户手动操作,用户体验较差,同时下载完 整安装包也需要较大的带宽成本,修复耗时较长。另一种方案是在用户安装客户端程序后, 将安装文件保存在一个隐藏文件夹,需要修复使用隐藏的安装文件执行修复操作。运种方 式需要在用户磁盘保存额外的数据文件,在安装文件较大的情况下对用户磁盘空间的浪费 十分严重。

【发明内容】

[0004] 经工程测试研究发现,现有技术的两种方案均没有自动检测客户端程序是否需要 进行修复,判断是否需要修复通常是用户根据程序的行为来进行人工判断,而通常用户发 现客户端程序行为异常的时候系统已经受到了恶意程序的影响。对于一些处理敏感数据的 客户端程序来说,通常只能在造成实际损失的情况下用户才能发现异常,运时再执行修复 操作为时已晚。
[000引为解决上述问题,本发明提出了一种理想的客户端程序修复,能够自动检测客户 端程序是否需要进行修复,使客户端程序具备自我修复能力。
[0006] 为实现上述理想的客户端程序修复,本发明实施例提供一种客户端程序的修复方 法、装置、系统及服务器,能够有效降低用户修复客户端程序时所需要的带宽成本,减少用 户修复所需要占用的磁盘空间,并能够使客户端程序具备自我修复能力。
[0007] 本发明实施例提供了一种客户端程序的修复方法,包括:
[0008] 当响应启动客户端程序的操作时,向服务器发送获取所述客户端程序的原始/最 新版本的第一文件信息列表的第一请求;
[0009] 将所述服务器返回的第一文件信息列表与本地的所述客户端程序的第二文件信 息列表进行比对,从而确定本地的所述客户端程序需要修复的文件;
[0010] 向所述服务器发送获取本地的所述需要修复的文件所对应的原始文件/最新文件 的第二请求;
[0011] 将所述服务器返回的所述原始文件/最新文件对所述需要修复的文件进行修复。 [001引本发明实施例还提供了一种客户端程序的修复方法,包括:
[0013]接收用户端发送的获取客户端程序的原始/最新版本的第一文件信息列表的第一 请求;其中,所述第一请求为所述用户端响应启动所述客户端程序的操作时生成;
[0014]向所述用户端发送所述第一文件信息列表;
[0015]接收所述用户端发送的获取所述客户端程序需要修复的文件所对应的原始文件/ 最新文件的第二请求;其中,所述客户端程序需要修复的文件所对应的原始文件/最新文件 为所述用户端将接收到的所述第一文件信息列表与用户端的所述客户端程序的第二文件 信息列表进行比对确定;
[0016]向所述用户端发送所述原始文件/最新文件;所述原始文件/最新文件被所述用户 端用来对用户端的所述客户端程序需要修复的文件进行修复。
[0017]本发明实施例相应提供了一种客户端程序的修复装置,其特征在于,包括:
[0018]第一请求发送模块,用于当响应启动客户端程序的操作时,向服务器发送获取所 述客户端程序的原始/最新版本的第一文件信息列表的第一请求;
[0019]处理模块,用于将所述服务器返回的第一文件信息列表与本地的所述客户端程序 的第二文件信息列表进行比对,从而确定本地的所述客户端程序需要修复的文件;
[0020] 第二请求发送模块,用于向所述服务器发送获取本地的所述需要修复的文件所对 应的原始文件/最新文件的第二请求;
[0021] 修复模块,用于将所述服务器返回的所述原始文件/最新文件对所述需要修复的 文件进行修复。
[0022] 本发明实施例还相应提供了一种服务器,包括:
[0023]第一请求接收模块,用于接收用户端发送的获取客户端程序的原始/最新版本的 第一文件信息列表的第一请求;其中,所述第一请求为所述用户端响应启动所述客户端程 序的操作时生成;
[0024]第一发送模块,用于向所述用户端发送所述第一文件信息列表;
[0025]第二请求接收模块,用于接收所述用户端发送的获取所述客户端程序需要修复的 文件所对应的原始文件/最新文件的第二请求;其中,所述客户端程序需要修复的文件所对 应的原始文件/最新文件为所述用户端将接收到的所述第一文件信息列表与用户端的所述 客户端程序的第二文件信息列表进行比对确定;
[0026]第二发送模块,用于向所述用户端发送所述原始文件/最新文件;所述原始文件/ 最新文件被所述用户端用来对用户端的所述客户端程序需要修复的文件进行修复。
[0027]本发明实施例还提供了一种修复客户端程序的系统,包括至少一个如上所述的修 复客户端程序的装置W及如上所述的服务器。
[0028]与现有技术相比,本发明公开的客户端程序的修复方法、装置、系统及服务器,通 过在响应启动客户端程序的操作时即对客户端程序的完整性进行检测,具体为向服务器发 送获取所述客户端程序的原始/最新版本的第一文件信息列表与用户端的所述客户端程序 的第二文件信息列表进行比对,从而确定用户端的所述客户端程序需要修复的文件,并向 服务器下载所述需要修复的文件所对应的原始文件/最新文件W对客户端程序进行修复。 本发明在实施时,仅根据需要修复的文件的相关信息从服务器中下载相应的原始文件(整 个/部分文件数据)来进行修复,不需要下载整个安装包进行重新安装,能够有效减少修复 过程中的带宽占用;另外,除了需要在下载数据W后临时保存文件W外,并不需要占用额外 的磁盘空间,因此可减少用户修复所需要占用的磁盘空间;最后且最重要的是,在本发明的 实施例中,每当客户端程序启动w后需要先进行完整性检查,自动检测客户端程序是否需 要进行修复,使客户端程序具备自我修复能力,从而保证了客户端程序安全、正常的运行, 避免了客户端文件被篡改导致的后果。
【附图说明】
[0029] 图1是本发明实施例1中一种修复客户端程序的方法的流程示意图。
[0030]图2是本发明实施例2中一种修复客户端程序的方法的分块处理过程示意图。
[0031]图3是本发明实施例3中一种修复客户端程序的方法的流程示意图。
[0032] 图4是本发明实施例4中一种修复客户端程序的方法的数据处理过程示意图。
[0033] 图5是本发明实施例5中一种修复客户端程序的装置的结构框图。
[0034] 图6是本发明实施例6中一种修复客户端程序的装置的结构框图。
[0035]图7是本发明实施例7中一种服务器的结构框图。
[0036] 图8是本发明实施例8中一种服务器的结构框图。
[0037] 图9是本发明实施例9中一种修复客户端程序的系统的结构框图。
【具体实施方式】
[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0039] 参见图1,是本发明实施例提供的一种客户端程序的修复方法的流程示意图。其 中,该方法是针对在响应客户端程序启动W后自动对客户端程序进行完整性检查,W确定 是否需要向服务器提取客户端程序中需要修复的文件的原始文件来进行修复。该方法包括 步骤:
[0040] S101、当响应启动客户端程序的操作时,向服务器发送获取所述客户端程序的原 始/最新版本的第一文件信息列表的第一请求。
[0041] 具体的,在客户端程序启动完成后,立即启动客户端完整性检查。首先读取本地的 客户端程序配置文件,W获取服务端上所述客户端程序的原始/最新版本的文件清单的地 址,然后根据该地址向服务端请求获取所述客户端程序的原始/最新版本的文件信息列表 L1 (第一文件信息列表)。所述文件信息列表L1包含了所述客户端程序的原始/最新版本中 的每个文件的文件名和特征信息。
[0042] 所述文件信息列表L1可采用哈希表结构,例如,如下表1所示:
[0043]
[0044]表1-文件信息列表LI
[004引其中,哈希表的K巧为每个文件的文件名(相对文件路径),例如"dlls/sec.dir, 表示该文件在软件目录下的位置。哈希表的化lue为每个文件的特征信息。文件的特征信息 的生成方式有多种,比较常见的方式是使用MD5(MessageDigest5,信息摘要算法5)算法 来生成每个文件的摘要信息作为特征信息。
[0046]另外,所述客户端程序的原始版本指的是所述客户端程序的最初版本(即没有进 行过任何修改的原始状态);所述客户端程序的最新版本指的是客户端程序最新发布的版 本。
[0047]用户端可将客户端程序的版本号随同所述第一请求一同发给所述服务器。运样, 可保证服务器端能够找到对应的版本。当用户端随同所述第一请求发送的客户端程序的版 本号为空时,则表示获取客户端程序的最新版本。
[0048]S102、将所述服务器返回的第一文件信息列表与本地的所述客户端程序的第二文 件信息列表进行比对,从而确定本地的所述客户端程序需要修复的文件。
[0049]具体的,通过遍历本地的客户端程序目录,计算程序目录下所有文件的特征信息, 从而生成包括每个文件的文件名和特征信息的文件信息列表L2(第二文件信息列表)。
[0050]其中,遍历客户端程序目录时还需要对子目录进行递归遍历。同时,客户端程序目 录下还可能会有一些临时文件,例如程序运行Log、临时数据文件
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1