补丁下载的方法、装置、文件打包服务器以及客户端与流程

文档序号:11138858阅读:424来源:国知局
补丁下载的方法、装置、文件打包服务器以及客户端与制造工艺

本发明涉及计算机技术领域,具体而言,本发明涉及一种补丁下载的方法、装置、文件打包服务器以及客户端。



背景技术:

大型软件系统在使用过程中存在一些问题,这些问题若被黑客或者病毒设计者发现,将根据上述问题对用户设备进行攻击或者通过设计病毒对用户设备进行攻击,导致用户设备受损或者用户信息泄露,因此用户需要下载一些补丁,修改上述大型软件系统中的问题,避免计算机中的软件系统被攻击受损,因此如何实现补丁下载成为一个重要问题。

目前,一种补丁下载的方法,当补丁更新服务器接收到客户端发送的携带多个密钥(英文全称:key)的补丁请求消息,补丁更新服务器需要分别查找每个key对应的下载信息,并将每个key对应的下载信息返回至客户端,然后客户端根据每个key对应的下载信息,依次从内容分发网络(英文全称:Content Delivery Network,英文缩写:CDN)服务器中下载补丁。

然而,当通过上述方法从CDN服务器中下载补丁时,若客户端需要下载多个key对应的补丁,则补丁更新服务器需要依次查找每个key对应的下载信息并需要根据每个key对应的下载地址多次访问CDN服务器,并从该CDN服务器中下载补丁,由于需要依次查找每个key对应的下载信息,并多次下载补丁文件,从而导致下载补丁文件的时间较长,并且需要多次访问CDN服务器,下载每个key对应的补丁文件,进而导致对CDN服务器的访问量较大、对用户带宽的需求较大。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提供了一种补丁下载的的方法,包括:

补丁更新服务器接收客户端发送的下载信息请求消息,所述下载信息请求消息中携带至少一个密钥Key,所述下载信息请求消息用于请求所述至少一个Key对应的下载信息;

确定所述至少一个Key对应的压缩密钥tarKey,并从数据库中查找所述tarkey对应的下载信息;

若查找到所述tarKey对应的下载信息,则将所述tarKey对应的下载信息返回至所述客户端,以使得所述客户端根据下载信息,从所述CDN服务器中下载对应的压缩包,所述压缩包中包括所述至少一个key分别对应的下载命令比较文本diff文件。

可选地,所述从数据库中查找所述tarkey对应的下载信息的步骤之后,还包括:

若未查找到所述tarKey对应的下载信息,则从所述数据库中依次查找每个Key对应的下载信息,并将每个Key对应的下载信息返回至所述客户端,以使得所述客户端根据所述每个Key对应的下载信息,从所述CDN服务器中下载diff文件。

可选地,所述将每个key对应的下载信息返回至所述客户端之后,还包括:

将所述至少一个Key发送至文件打包服务器,以使得所述文件打包服务器获取所述至少一个key中每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包,并上传至所述CDN服务器。

具体地,所述确定所述至少一个Key对应的压缩密钥tarKey的步骤,包括:

将所述至少一个key进行拼接,得到拼接后的key;

将所述拼接后的key与预设关键字进行拼接,得到所述至少一个Key对应的tarKey。

本发明实施例提供了另一种补丁下载的方法,包括:

客户端向补丁更新服务器发送下载信息请求消息,所述下载信息请求消息中携带至少一个密钥Key,所述下载信息请求消息用于请求所述至少一个Key对应的下载信息;

接收所述补丁更新服务器发送的tarKey对应的下载信息,所述tarKey由所述至少一个Key压缩获得;

根据接收到的tarKey对应的下载信息,从CDN服务器中下载对应的压缩包,所述压缩包中包括所述至少一个key分别对应的下载命令比较文本diff文件。

可选地,若接收到所述至少一个key中每个key对应的下载信息,则根据依次根据每个key对应的下载信息,从所述CDN服务器中下载对应的diff文件。

可选地,若其它客户端需要从所述CDN中下载该客户端中已下载的diff文件,则所述客户端将所述已下载的diff文件通过点对点,发送至请求发送方客户端。

本发明实施例提供了又一种补丁下载的方法,包括:

文件打包服务器接收补丁更新服务器发送的所述至少一个key;

从本地中获取每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包;

将所述压缩包上传至CDN服务器。

可选地,所述将所述压缩包上传至CDN服务器的步骤之后,还包括:

接收到所述CDN服务器返回的所述压缩包对应的下载信息,并将所述下载信息以及tarKey的对应关系写入数据库,所述tarKey为该至少一个key的压缩包。

本发明实施例提供了一种补丁下载的装置,位于补丁更新服务器,该装置包括:

接收模块,用于接收客户端发送的下载信息请求消息,所述下载信息请求消息中携带至少一个密钥Key,所述下载信息请求消息用于请求所述至少一个Key对应的下载信息;

确定模块,用于确定所述至少一个Key对应的压缩密钥tarKey;

查找模块,用于从数据库中查找所述tarkey对应的下载信息;

返回模块,用于当查找到所述tarKey对应的下载信息时,将所述tarKey对应的下载信息返回至所述客户端,以使得所述客户端根据下载信息,从所述CDN服务器中下载对应的压缩包,所述压缩包中包括所述至少一个key分别对应的下载命令比较文本diff文件。

可选地,所述查找模块,还用于当未查找到所述tarKey对应的下载信息时,从所述数据库中依次查找每个Key对应的下载信息;

所述返回模块,还用于将每个Key对应的下载信息返回至所述客户端,以使得所述客户端根据所述每个Key对应的下载信息,从所述CDN服务器中下载diff文件。

可选地,所述装置还包括:发送模块;

所述发送模块,用于将所述至少一个Key发送至文件打包服务器,以使得所述文件打包服务器获取所述至少一个key中每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包,并上传至所述CDN服务器。

具体地,所述确定模块,具体用于将所述至少一个key进行拼接,得到拼接后的key;

所述确定模块,具体还用于将所述拼接后的key与预设关键字进行拼接,得到所述至少一个Key对应的tarKey。

本发明实施例提供了一种补丁下载的客户端,包括:

发送模块,用于向补丁更新服务器发送下载信息请求消息,所述下载信息请求消息中携带至少一个密钥Key,所述下载信息请求消息用于请求所述至少一个Key对应的下载信息;

接收模块,用于接收所述补丁更新服务器发送的tarKey对应的下载信息,所述tarKey由所述至少一个Key压缩获得;

下载模块,用于根据接收到的tarKey对应的下载信息,从CDN服务器中下载对应的压缩包,所述压缩包中包括所述至少一个key分别对应的下载命令比较文本diff文件。

可选地,所述下载模块,还用于当接收到所述至少一个key中每个key对应的下载信息时,依次根据每个key对应的下载信息,从所述CDN服务器中下载对应的diff文件。

可选地,所述发送模块,还用于当其它客户端需要从所述CDN中下载该客户端中已下载的diff文件时,将所述已下载的diff文件通过点对点,发送至请求发送方客户端。

本发明实施例提供了一种补丁下载的文件打包服务器,包括:

接收模块,用于接收补丁更新服务器发送的所述至少一个key;

获取模块,用于从本地中获取每个key对应的diff文件;

打包模块,用于将所有key对应的diff文件打包成压缩包;

上传模块,用于将所述压缩包上传至CDN服务器。

可选地,所述文件打包服务器还包括:写入模块;

所述接收模块,还用于接收到所述CDN服务器返回的所述压缩包对应的下载信息;

所述写入模块,用于将所述下载信息以及tarKey的对应关系写入数据库,所述tarKey为该至少一个key的压缩包。

本发明提供了一种补丁下载的方法、装置、打包服务器以及客户端,与现有技术相比,本发明中客户端向补丁更新服务器发送下载信息请求消息,然后补丁更新服务器接收客户端发送的下载信息请求消息,并根据下载信息请求消息中携带的至少一个key确定对应的tarKey,并查找该tarKey对应的下载信息,并将查找到的下载信息返回至客户端,然后客户端根据下载信息从CDN服务器中下载包含上述至少一个key分别对应的diff文件的压缩包,即补丁更新服务器仅需要根据tarKey访问一次数据库,查找下载信息,并且仅需要根据下载信息访问一次CDN服务器,下载上述所有key对应的diff文件的压缩包,从而降低访问CDN服务器的次数,降低下载补丁文件的时长,又由于客户端仅需要访问一次CDN服务器,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

本发明文件打包服务器通过将至少一个key中每个key对应的diff文件打包成压缩包,并上传至CDN服务器,能够使得客户端访问一次CDN服务器即可以下载上述至少一个key中每个key对应的diff文件,从而可以降低访问CDN服务器的次数,降低下载补丁文件的时长,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的下载补丁的系统示意图;

图2为本发明实施例的一种补丁下载的方法实施例;

图3为本发明实施例的一种补丁下载的装置结构示意图;

图4为本发明实施例的补丁下载的客户端的结构示意图;

图5为本发明实施例的补丁下载的文件打包服务器。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本发明实施例提供一种补丁下载的方法,应用于下载补丁的系统,如图1所示,该系统包括客户端、补丁更新服务器、Windows服务器更新服务(英文全称:Windows Server Update Services,英文缩写:wsus)文件服务器、文件打包服务器、CDN服务器以及下载信息数据库,其中,客户端与补丁更新服务器进行信息交互、补丁更新服务器与wsus服务器、文件打包服务器以及下载信息数据库进行信息交互、文件打包服务器、wsus文件服务器分别与CDN服务器进行信息交互,文件打包服务器与下载信息数据库进行信息交互。

实施例一

本发明实施例提供了一种补丁下载的方法,如图2所示,该方法包括如下步骤:

步骤201、客户端向补丁更新服务器发送下载信息请求消息。

其中,下载信息请求消息中携带至少一个密钥Key,下载信息请求消息用于请求至少一个Key对应的下载信息。

对于本发明实施例,下载信息可以包括:下载种子以及校验值。

步骤202、补丁更新服务器接收客户端发送的下载信息请求消息。

步骤203、补丁更新服务器确定至少一个Key对应的压缩密钥tarKey。

对于本发明实施例,补丁更新服务器将上述至少一个Key,通过TarKey算法得到TarKey。其中,该至少一个Key可以为3个Key。

例如,将上述至少一个key拼接,然后再与关键字“keyofkeys”拼接,得到第一key,然后再与KEYOFKEYS拼接,得到TarKey。

步骤204、补丁更新服务器从数据库中查找tarkey对应的下载信息。

对于本发明实施例,补丁更新服务器从数据库中查找到上述3个key的分别对应的下载信息。

例如,查找到的下载信息可以为:第一key对应的下载地址、第二key对应的下载地址以及第三key对应的下载地址。

对于本发明实施例,在使用数据库,可以将所有的key分类,然后将每类key进行分类,然后将每类key定义为特定相斥的模式插入数据库。例如,在第一key的开头拼接KEYOFKEYS,当批量查找下载信息时,只需要通知数据库处理符合相应模式的key。

例如,当需要在数据库中删除所有压缩包对应的下载信息时,仅需要查找上述格式key对应的下载信息并进行删除,不需要依次寻找压缩包对应的每个key的下载信息,从而可以降低查找下载信息的时间,降低访问数据的次数。

步骤205、若查找到tarKey对应的下载信息,则补丁更新服务器将tarKey对应的下载信息返回至客户端,以使得客户端根据下载信息,从CDN服务器中下载对应的压缩包。

其中,压缩包中包括至少一个key分别对应的下载命令比较文本diff文件。

对于本发明实施例,tarKey对应的下载信息为上述每个key对应的diff文件在CDN服务器上对应的下载信息。在本发明实施例中上述所有key对应的diff,可以相当于一个补丁文件。

步骤206、客户端接收补丁更新服务器发送的tarKey对应的下载信息。

其中,tarKey由至少一个Key压缩获得。

步骤207、客户端根据接收到的tarKey对应的下载信息,从CDN服务器中下载对应的压缩包。

其中,压缩包中包括至少一个key分别对应的下载命令比较文本diff文件。

对于本发明实施例,该下载补丁的系统中包括wsus文件服务器,其中,wsus文件服务器当发现新的补丁时,下载新的补丁,并将该新的补丁生成多个diff文件,并将生成的diff文件上传至CDN服务器,并将生成的下载信息发送至补丁更新服务器,因此客户端需要下载diff文件,得到补丁文件。

本发明实施例提供了一种补丁下载的方法,与现有技术相比,本发明实施例中客户端向补丁更新服务器发送下载信息请求消息,然后补丁更新服务器接收客户端发送的下载信息请求消息,并根据下载信息请求消息中携带的至少一个key确定对应的tarKey,并查找该tarKey对应的下载信息,并将查找到的下载信息返回至客户端,然后客户端根据下载信息从CDN服务器中下载包含上述至少一个key分别对应的diff文件的压缩包,即补丁更新服务器仅需要根据tarKey访问一次数据库,查找下载信息,并且仅需要根据下载信息访问一次CDN服务器,下载上述所有key对应的diff文件的压缩包,从而降低访问CDN服务器的次数,降低下载补丁文件的时长,又由于客户端仅需要访问一次CDN服务器,进而可以降低对CDN服务器的访问量,降低了对用户带宽的需求;

本发明实施例文件打包服务器通过将至少一个key中每个key对应的diff文件打包成压缩包,并上传至CDN服务器,能够使得客户端访问一次CDN服务器即可以下载上述至少一个key中每个key对应的diff文件,从而可以降低访问CDN服务器的次数,降低下载补丁文件的时长,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

实施例二

本发明实施例的另一种可能的实现方式,在如图2所示的基础上,步骤204、补丁更新服务器从数据库中查找tarkey对应的下载信息,之后还包括实施例二所示的步骤305-307,步骤207、客户端根据接收到的tarKey对应的下载信息,从CDN服务器中下载对应的压缩包,之后还包括实施例二所示的步骤311,其中步骤301-304、308-310所执行的操作与步骤201-208所执行的操作相似,在此不再赘述。

步骤305、若未查找到tarKey对应的下载信息,则补丁更新服务器从数据库中依次查找每个Key对应的下载信息。

对于本发明实施例,若在数据库中未查找到tarkey对应的下载信息,表征未将上述至少一个key按照tarKey算法进行拼接,存储至数据库中。因此,补丁更新服务器需要依次查找上述至少一个key中每个key对应的下载信息。

对于本发明实施例,补丁更新服务器在数据库中未查找到tarKey对应的下载信息可能是由于还未存在客户端请求的上述至少一个key对应的diff文件。在本发明实施例中不做限定。

步骤306、补丁更新服务器将每个Key对应的下载信息返回至客户端,以使得客户端根据每个Key对应的下载信息,从CDN服务器中下载diff文件。

对于本发明实施例,补丁更新服务器在数据库中依次查找上述至少一个key中每个key对应的下载信息,并将查找到的下载信息返回至客户端。

例如,上述至少一个key中包括三个key,分别为第一key、第二key以及第三key,其中,补丁更新服务器分别查找到第一key对应的下载信息、第二key对应的下载信息以及第三key对应的下载信息,并将第一key对应的下载信息、第二key对应下载信息以及第三key对应的下载信息返回至客户端。

步骤307、若接收到至少一个key中每个key对应的下载信息,则客户端根据依次根据每个key对应的下载信息,从CDN服务器中下载对应的diff文件。

对于本发明实施例,由于客户端依次接收到上述至少一个key中每个key对应的下载信息,因此客户端需要根据每个key对应的下载信息,依次从CDN服务器中下载对应的diff文件。

对于本发明实施例,当未查找到tarKey对应的下载信息时,补丁更新服务器通过依次查找上述至少一个key中每个key对应的下载信息,能够获得每个key对应的下载信息,以根据每个key对应的下载信息,查找到每个key对应的diff文件,以获得补丁文件,从而可以避免当在数据库中未查找到tarKey对应的下载信息时,无法获取diff文件的情况。

步骤311、若其它客户端需要从CDN中下载该客户端中已下载的diff文件,则客户端将已下载的diff文件通过点对点,发送至请求发送方客户端。

对于本发明实施例,若第一客户端已从CDN服务器中下载第一key、第二key以及第三key分别对应的diff文件或者上述三个key压缩得到的tarKey对应的diff文件,并且第二客户端也需要获取第一key、第二key以及第三key分别对应的diff文件或者上述三个key压缩得到的tarKey对应的diff文件,则第一客户端可以通过点对点的方式,将已下载的diff文件发送至第二客户端。

对于本发明实施例,客户端通过点对点将已下载的diff文件发送至其他客户端,能够避免其他客户端通过访问CDN服务器下载对应的diff文件,从而可以减少客户端对CDN服务器的访问量,进而可以降低CDN服务器的访问压力,降低对客户端的带宽需求。

实施例三

本发明实施例的另一种可能的实现方式,在实施例二所示的基础上,步骤303、补丁更新服务器确定至少一个Key对应的压缩密钥tarKey,包括实施例四所示的步骤403,其中,401-402、404-411所执行的操作与步骤301-302、304-311所执行的操作相似,在此不再赘述。

步骤403、补丁更新服务器将至少一个key进行拼接,得到拼接后的key,并将拼接后的key与预设关键字进行拼接,得到至少一个Key对应的tarKey。

对于本发明实施例,预设关键字可以为keyofkeys以及KEYOFKEYS。在本发明实施例中,补丁更新服务器可以将上述至少一个key进行拼接,并将拼接后key与keyofkeys,得到第一key,然后再将第一key与KEYOFKEYS进行拼接,得到tarKey。

实施例四

本发明实施例的另一种可能的实现方式,在实施例三的基础上,步骤406、补丁更新服务器将每个Key对应的下载信息返回至客户端,以使得客户端根据每个Key对应的下载信息,从CDN服务器中下载diff文件之后,还包括实施例三的步骤507-510,其中步骤501-506、511-515所执行的操作与步骤401-411所执行的操作相似,在此不再赘述。

步骤507、补丁更新服务器将至少一个Key发送至文件打包服务器,以使得文件打包服务器获取至少一个key中每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包,并上传至CDN服务器。

对于本发明实施例,当补丁更新服务器在数据库中未查找到上述至少一个key对应的tarKey对应的下载信息时,将上述每个key发送至文件打包服务器,以使得文件打包服务器从本地下载上述每个key对应的diff文件,并将所有key对应的diff文件,压缩成压缩包,并上传至CDN服务器。对于本发明实施例,上述补丁更新服务器在数据库中未查找到上述至少一个key对应的tarKey对应的下载信息时,可能存在以下情况:

1、客户端第一次请求下载该至少一个key对应的diff文件;

2、在数据库中删除该tarKey对应的下载信息,以及在CDN服务

器中删除了该至少一个key对应的diff压缩包。

步骤508、文件打包服务器接收补丁更新服务器发送的至少一个key。

步骤509、文件打包服务器从本地中获取每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包。

例如,文件打包服务器从本地中获取第一key对应的diff文件、第二key对应的diff文件,第三key对应的diff文件,并将上述三个key分别对应的diff文件进行打包成压缩包。

步骤510、文件打包服务器将压缩包上传至CDN服务器。

对于本发明实施例,文件打包服务器通过将上述至少一个key中每个key对应的diff文件一起打包成压缩包,并上传至CDN服务器,能够使得当后续客户端同样请求上述多个相同的key对应的diff文件时,可以访问一次CDN服务器,获取包含上述至少一个key中每个key对应的diff文件的压缩包,以避免依次访问CDN服务器获取每个key对应的diff文件,从而可以降低访问CDN服务器的次数,进而可以降低CDN服务器的压力。

实施例五

本发明实施例的另一种可能的实现方式,在实施例四所示的基础上,步骤510、文件打包服务器将压缩包上传至CDN服务器,之后还包括实施例五的步骤611,其中,步骤601-610、612-616所执行的操作与步骤501-515所执行的操作相似,在此不再赘述。

步骤611、文件打包服务器接收到CDN服务器返回的压缩包对应的下载信息,并将下载信息以及tarKey的对应关系写入数据库。

其中,tarKey为该至少一个key的压缩包。

对于本发明实施例,当文件打包服务器将上述压缩包上传至CDN服务器之后,文件打包服务器将接收到该压缩包对应的下载信息,将该下载信息按照tarKey算法的方式,写入数据库。

对于本发明实施例,文件打包服务器通过将至少一个key中所有key的diff文件对应的压缩包在CDN服务器上的下载信息按照tarkey的形式写入数据库,能够使得补丁更新服务器根据tarkey查找到对应的下载信息,避免多次访问数据库依次查找每个key对应的下载信息,从而可以降低访问数据库的次数,进而可以减少查找多个key对应的下载信息的时间。

本发明实施例提供了另一种补丁下载的方法,当未查找到tarKey对应的下载信息时,补丁更新服务器通过依次查找上述至少一个key中每个key对应的下载信息,能够获得每个key对应的下载信息,以根据每个key对应的下载信息,查找到每个key对应的diff文件,已获得补丁文件,从而可以避免当在数据库中未查找到tarKey对应的下载信息时,无法获取diff文件的情况;客户端通过点对点将已下载的diff文件发送至其他客户端,能够避免其他客户端通过访问CDN服务器下载对应的diff文件,从而可以减少客户端对CDN服务器的访问量,进而可以降低CDN服务器的访问压力,降低对客户端的带宽需求;文件打包服务器通过将上述至少一个key中每个key对应的diff文件一起打包成压缩包,并上传至CDN服务器,能够使得当后续客户端同样请求上述多个相同的key对应的diff文件时,可以访问一次CDN服务器,获取包含上述至少一个key中每个key对应的diff文件的压缩包,以避免依次访问CDN服务器获取每个key对应的diff文件,从而可以降低访问CDN服务器的次数,进而可以降低CDN服务器的压力;文件打包服务器通过将至少一个key中所有key的diff文件对应的压缩包在CDN服务器上的下载信息按照tarkey的形式写入数据库,能够使得补丁更新服务器根据tarkey查找到对应的下载信息,避免多次访问数据库依次查找每个key对应的下载信息,从而可以降低访问数据库的次数,进而可以减少查找多个key对应的下载信息的时间。

本发明实施例提供了一种补丁下载的装置,位于补丁更新服务器,如图3所示,该装置包括:接收模块31、确定模块32、查找模块33、返回模块34。

接收模块31,用于接收客户端发送的下载信息请求消息。

其中,下载信息请求消息中携带至少一个密钥Key,下载信息请求消息用于请求至少一个Key对应的下载信息。

确定模块32,用于确定至少一个Key对应的压缩密钥tarKey。

查找模块33,用于从数据库中查找tarkey对应的下载信息。

返回模块34,用于当查找到tarKey对应的下载信息时,将tarKey对应的下载信息返回至客户端,以使得客户端根据下载信息,从CDN服务器中下载对应的压缩包。

其中,压缩包中包括至少一个key分别对应的下载命令比较文本diff文件。

查找模块33,还用于当未查找到tarKey对应的下载信息时,从数据库中依次查找每个Key对应的下载信息。

返回模块34,还用于将每个Key对应的下载信息返回至客户端,以使得客户端根据每个Key对应的下载信息,从CDN服务器中下载diff文件。

进一步地,如图3所示,该装置还包括:发送模块35。

发送模块35,用于将至少一个Key发送至文件打包服务器,以使得文件打包服务器获取至少一个key中每个key对应的diff文件,并将所有key对应的diff文件打包成压缩包,并上传至CDN服务器。

确定模块32,具体用于将至少一个key进行拼接,得到拼接后的key。

确定模块32,具体还用于将拼接后的key与预设关键字进行拼接,得到至少一个Key对应的tarKey。

本发明实施例提供了一种补丁下载的装置,与现有技术相比,本发明实施例中客户端向补丁更新服务器发送下载信息请求消息,然后补丁更新服务器接收客户端发送的下载信息请求消息,并根据下载信息请求消息中携带的至少一个key确定对应的tarKey,并查找该tarKey对应的下载信息,并将查找到的下载信息返回至客户端,然后客户端根据下载信息从CDN服务器中下载包含上述至少一个key分别对应的diff文件的压缩包,即补丁更新服务器仅需要根据tarKey访问一次数据库,查找下载信息,并且仅需要根据下载信息访问一次CDN服务器,现在上述所有key对应的diff文件的压缩包,从而降低访问CDN服务器的次数,降低下载补丁文件的时长,又由于客户端仅需要访问一次CDN服务器,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

本发明实施例提供了另一种补丁下载的装置,当未查找到tarKey对应的下载信息时,补丁更新服务器通过依次查找上述至少一个key中每个key对应的下载信息,能够获得每个key对应的下载信息,以根据每个key对应的下载信息,查找到每个key对应的diff文件,已获得补丁文件,从而可以避免当在数据库中未查找到tarKey对应的下载信息时,无法获取diff文件的情况。

本发明实施例提供了一种补丁下载的客户端,如图4所示,该客户端包括:发送模块41、接收模块42、下载模块43。

发送模块41,用于向补丁更新服务器发送下载信息请求消息。

其中,下载信息请求消息中携带至少一个密钥Key,下载信息请求消息用于请求至少一个Key对应的下载信息。

接收模块42,用于接收补丁更新服务器发送的tarKey对应的下载信息。

其中,tarKey由至少一个Key压缩获得;

下载模块43,用于根据接收到的tarKey对应的下载信息,从CDN服务器中下载对应的压缩包。

其中,压缩包中包括至少一个key分别对应的下载命令比较文本diff文件。

下载模块43,还用于当接收到至少一个key中每个key对应的下载信息时,依次根据每个key对应的下载信息,从CDN服务器中下载对应的diff文件。

发送模块41,还用于当其它客户端需要从CDN中下载该客户端中已下载的diff文件时,将已下载的diff文件通过点对点,发送至请求发送方客户端。

本发明实施例提供了一种客户端,与现有技术相比,本发明实施例中客户端向补丁更新服务器发送下载信息请求消息,然后补丁更新服务器接收客户端发送的下载信息请求消息,并根据下载信息请求消息中携带的至少一个key确定对应的tarKey,并查找该tarKey对应的下载信息,并将查找到的下载信息返回至客户端,然后客户端根据下载信息从CDN服务器中下载包含上述至少一个key分别对应的diff文件的压缩包,即补丁更新服务器仅需要根据tarKey访问一次数据库,查找下载信息,并且仅需要根据下载信息访问一次CDN服务器,现在上述所有key对应的diff文件的压缩包,从而降低访问CDN服务器的次数,降低下载补丁文件的时长,又由于客户端仅需要访问一次CDN服务器,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

本发明实施例提供了另一种客户端,客户端通过点对点将已下载的diff文件发送至其他客户端,能够避免其他客户端通过访问CDN服务器下载对应的diff文件,从而可以减少客户端对CDN服务器的访问量,进而可以降低CDN服务器的访问压力,降低对客户端的带宽需求。

本发明实施例提供了一种补丁下载的文件打包服务器,如图5所示,包括:接收模块51、获取模块52、打包模块53、上传模块54。

接收模块51,用于接收补丁更新服务器发送的至少一个key。

获取模块52,用于从本地中获取每个key对应的diff文件。

打包模块53,用于将所有key对应的diff文件打包成压缩包。

上传模块54,用于将压缩包上传至CDN服务器。

接收模块51,还用于接收到CDN服务器返回的压缩包对应的下载信息。

进一步地,该文件打包服务器还包括:写入模块55。

写入模块55,用于将下载信息以及tarKey的对应关系写入数据库。

其中,tarKey为该至少一个key的压缩包。

本发明实施例文件打包服务器通过将至少一个key中每个key对应的diff文件打包成压缩包,并上传至CDN服务器,能够使得客户端访问一次CDN服务器即可以下载上述至少一个key中每个key对应的diff文件,从而可以降低访问CDN服务器的次数,降低下载补丁文件的时长,进而可以会降低对CDN服务器的访问量,降低了对用户带宽的需求。

本发明实施例提供了另一种文件打包服务器,文件打包服务器通过将上述至少一个key中每个key对应的diff文件一起打包成压缩包,并上传至CDN服务器,能够使得当后续客户端同样请求上述多个相同的key对应的diff文件时,可以访问一次CDN服务器,获取包含上述至少一个key中每个key对应的diff文件的压缩包,以避免依次访问CDN服务器获取每个key对应的diff文件,从而可以降低访问CDN服务器的次数,进而可以降低CDN服务器的压力;文件打包服务器通过将至少一个key中所有key的diff文件对应的压缩包在CDN服务器上的下载信息按照tarkey的形式写入数据库,能够使得补丁更新服务器根据tarkey查找到对应的下载信息,避免多次访问数据库依次查找每个key对应的下载信息,从而可以降低访问数据库的次数,进而可以减少查找多个key对应的下载信息的时间。

本发明实施例提供的补丁下载的装置、文件打包服务器以及客户端可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的补丁下载的方法、装置、文件打包服务器以及客户端可以适用于从CDN服务器下载多个key对应的diff文件,但不仅限于此。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1