软件包发布方法、装置及系统的制作方法_3

文档序号:8498613阅读:来源:国知局
面对结构化描述文件的 说明可知,每次文件夹的内容发生变化时都会在相应的结构化描述文件中记录其更改的时 间及更新后的版本等信息。因此,软件包发布装置可通过比对新下载的结构化描述文件及 原有的结构化描述文件判断所对应的软件包文件夹是否发生了变化及具体发生变化的软 件包文件。当然,如果比较出两个命名相同的文件夹对应的新的结构化描述文件和原有的 结构化描述文件中的内容发生了变化,一般可确定云端服务器中的相应的软件包文件夹发 生了变化。需要对文件夹进行更新。但是需要注意的是,对于包含子文件夹的文件夹,当其 所包含的某个子文件夹发生变化时,除了文件夹对应的结构化描述文件有变化以外,其本 身的结构化描述文件也会发生变化,此时,软件包发布装置只需要判断子文件夹中发生变 化的文件并进行下载即可,而不必下载当前文件夹包含的所有文件夹,因为,此时这一文件 夹中的某些子文件夹对应的结构化描述文件是没有变化的,对于结构化描述文件没有变化 的子文件夹不需要下载。
[0094] 所述执行子模块243,被配置以下载并存储发生变化的新软件包文件,相应修改本 地的结构化描述文件,并使用所述新软件包文件对所述定制软件安装包中相应的软件包文 件夹进行替换。
[0095] 根据前面的描述可知,所述执行子模块243可选择只下载发生变化的软件包文 件,而对于结构化文件虽然发生了变化,但是包含未发生变化的子文件夹的文件夹不进行 直接下载,如此,可使本地服务器下载最小的更新文件,占用带宽小,软件包更新效率高。当 然,作为一种选择方式,也可以选择下载结构化文件发生变化的最小的软件包文件夹。
[0096] 另外,执行子模块243在进行本地的结构描述文件修改时,其除了修改新下载的 子文件夹对应的结构化描述文件外,还需要修改包含这一子文件的文件夹。
[0097] 更佳地,在其中一个实施例中,在软件包发布装置中设置有定时软件更新模块,其 被配置以按照预设时间周期定时启动所述第一升级模块对本地服务器中的定制软件安装 包。其中预设时间周期可根据软件更新的频繁程度进行设定,如设定为一个月或者半月等。 如此,则本地服务器可以完全自动的进行软件安装包的更新。当然,对于任意一台本地服务 器,除了设置自动按照预设周期进行软件升级外,也可随时手动启动对软件安装包的更新 升级操作。
[0098] 另外,在本发明的其他实施例中,在对云端服务器上的软件安装包原始文件采用 更新软件包文件的形式进行更新的同时,也同步在云端服务器中存储EXE格式的最新版本 的软件安装原始包供本地服务器进行下载。当然,在软件初始发布的时候,软件开发方也可 在云端服务器中放置初始的EXE格式的软件安装原始包,并在后续更新时对所述初始软件 安装原始包进行替换。
[0099] 软件包发布装置201在通过下载云端服务器中新更新的文件夹进行软件安装包 更新时,其整个过程是在外网环境下完成的。而客户端连接本地服务器并从本地服务器获 取最新的定制软件安装包是在内网环境中完成的。当外网出现障碍时,本地服务器管理员 可以手动从云端下载最新的安装包,并上传到一个本地服务中。本地服务器会通过解压将 安装包解压缩还原成文件夹的形式,而且,解压后的文件夹的结构与云端存放的安装包原 始文件目录结构完全一致。然后通过第一升级模块240完成软件安装包的升级。
[0100] 更佳地,如图5所示,可在软件包发布装置201中设置第二升级模块250。使第二升 级模块250在没有外网连接的情况下及时通过其他本地服务器进行软件包文件夹的更新。 其具体执行过程和第一软件升级模块过程相同,只是在下载文件时是通过内网从与其连接 的其他本地服务器进行下载的。此处所述的相互连接的本地服务器最好是在同一本地服务 器组中的本地服务器,当然,如果与其他组中的本地服务器之间的通讯畅通的话,也可以从 其他本地服务器中进行软件更新。当然,这一个过程最好在一定的指引下完成,如管理员设 定在网络出现障碍时固定首先将手动下载的新的软件包文件夹存储到一特定的本地服务 器中,并在其他本地服务器进行定时更新连接不到云端服务器时,自动查询这一特定服务 器进行软件包文件夹更新。从而实现外网连接障碍时,只需手动下载安装包到一个本地服 务器中,其他本地服务器自动进入互升级模式,使用内网快速、自动地完成软件包升级。
[0101] 而且,即使在网络没有障碍的情况下,也可设置本地服务器组中的某一太本地服 务器优先从云端服务器进行软件安装包的更新,而其他与之相连接的本地服务器采用互升 级的模式,通过这一本地服务器进行软件安装包的更新。
[0102] 与前述的软件发布装置相对应,本发明还提供一种软件发布方法,该方法的实现 可通过前述装置的功能模块实现,重复之处不再赘述。
[0103] 本发明一实施例的软件包发布方法,如图6所示,包括以下步骤:
[0104]S100,获取云端服务器中的软件安装包原始文件及结构化描述文件。且所述软件 安装包原始文件中包含多个软件包文件夹。多个软件包文件夹在云端服务器中以固定形式 存储。较佳地,可以以一个总文件夹包含多个子文件夹,且子文件夹再包含子文件夹的树状 形式存储。其他关联的本地服务器及客户端下载安装包原始文件后,也按照原来的存储形 式进行存储。如此,可在更新、升级的时候直接进行文件或者文件夹的更新就可以了。
[0105]S200,根据预设的软件包定制需求选择所述软件安装包原始文件中的部分或者全 部软件包文件夹作为定制软件包文件集,并修改所述结构化描述文件构成定制结构化描述 文件,将所述定制结构化描述文件及所述定制软件包文件集一起构成定制软件安装包。本 步骤根据从云端服务器下载的软件包文件夹根据需求打包成定制软件安装包。需要说明的 是,一个本地服务器中可针对不同客户端需求制成多种类型的定制软件安装包。且同一种 类型的软件安装包也可以存储多个版本。如此,软件开发方在云端进行软件发布的时候可 不用兼顾客户端软件安装包的各种定制需求,使软件的发布更加便捷。且软件安装包原始 文件在云端已多个软件包文件夹的形式存在,使安装包更新的时候只修改对应的文件夹即 可。
[0106]S300,根据客户端的软件包下载请求,将对应的定制软件安装包发送到所述客户 端。
[0107] 定制软件安装包的制作可放置在本地服务器中进行,因此用户可自行进行设置, 而无需软件开发方从软件安装包源头上进行改进。使软件的发布与软件的部署相对分离, 减少软件开发方工作的同时能够照顾到不同客户端的软件定制需求。
[0108] 其中,从云端下载的结构化描述文件为多个,每个所述软件包文件夹对应一个所 述结构化描述文件,当然,修改后的定制结构化描述文件也为多个,下载到本地的每个软件 包文件夹中包含一个定制化结构文件。且所述预设的软件包定制需求中的策略配置要求以 以配置文件的形式存储在所述定制软件安装包中。如此,客户端下载并使用定制软件安装 包进行软件安装时,软件就会具有一些特定的配置功能。如对于一个杀毒软件,使用同一定 制软件安装包的客户端可被配置为在某一特定时间自动启动杀毒等。使软件安装包更能适 应客户端的特定需求。
[0109] 还需要说明的是,步骤S200中,构建定制软件安装包过程中,是根据软件安装包 的定制需求选择所下载安装包原始文件中的部分文件夹进行组建,当然,如果某个文件夹 中的比原来少了一个或者两个文件夹,则需要对文件夹所对应的结构化描述文件进行修 改,构成定制结构化描述文件。而对于文件夹内部没有变化的,则可使用其原来的结构化描 述文件保持不变作为新的定制结构化描述文件。
[0110] 其中,所述结构化描述文件中具有对所对应的软件包文件夹所包含的各子软件包 文件夹及软件包文件的描述。本发明的软件包发布方法中,当需要对定制软件安装包进行 更新时,按以下步骤执行:
[0111] S101,下载所述云端服务器中的新的结构化描述文件。
[0112] S102,将所述新的结构化描述文件与本地的前一从所述云端服务器下载的结构化 描述文件进行比对,判断是否有软件包文件发生变化;若否,则停止更新操作,若是,则执行 步骤S103和步骤S104进行定制软件安装包进行更新。
[0113] S103,下载并存储发生变化的新软件包文件,并相应修改本地的结构化描述文件。 结构化文件发生了变化,如更新时间与当前本地服务器中的结构化文件中的不同,则说明 云端服务器中软件包文件夹有更新,需要进行下载并对本地进行更新。当然,本地的软件包 文件夹更新后,其文件夹对应的结构化描述文件中内容也需要进行相应的更新。
[0114] S104,使用所述新软件包文件对所述定制软件安装包中相应的软件包文件夹进行 替换。定制软件安装包中的软件包文件夹更新后则客户端再次请求软件包安装或者请求软 件包更新时,则可以发送更新后的定制软件安装包到客户端。
[0115] 本发明实施例的软件包发布方法,在需要进行软件安装包更新时,只下载多个软 件包文件夹中需要更换的软件包文件即可。而前期在进行软件包文件夹是否需要更新判断 时,只要下载每个文件夹对应的结构化描述文件,对结构化描述文件进行的内容是否发生 变化进行判断,结构化描述
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1