编辑: yyy888555 | 2019-07-17 |
0.0 梅建平 创建文档 更新下载 Confidential - Restricted Page
2 ? 2010Foxit Corporation Contents
一、 背景.3
二、 方案概述.3
2、 目前下载流程图.3
3、 现有的服务器流程图.5
4、 服务器 xml 数据结构.5
1、安装包类型 注册表(版本,安装路径(没有包括文件名称)
5
2、reader 插件类型,指定(版本,安装路径(包括文件名称)
6
5、 fzip 下载文件中的 setup.xml.6
1、文件类型.6
2、注册表类型.7
6、 目前存在的问题.7
7、 目前需要做成的方案.7 1. 针对客户端问题的解决办法.8 1) 通用类型.8 2) 不通用类型.8 3) 插件安装完配置信息的流程图.8 4) 更新程序检查模块是否需要更新的流程图.9 5) Install update 和check for updates 统一.10 6) UAC 的问题.11 7) Reader 和下载程序之间的交付.11 8) 下载过程中,继续、暂停、取消响应的时间过长.11 2. 针对服务器端的修改.11 目前:11 实现:11 Check for updates.11 自动更新部分.11 更新下载 Confidential - Restricted Page
3 ? 2010Foxit Corporation
一、背景 客户端: 下载可以作为一个很独立的模块,可以承接更多的下载服务和支持、方便管理修改、程 序共享、容易拓展和更新而不影响阅读器的整体. 目前下载的问题很多,包括重复下载、下载失败、下载造成主应用程序 crash 等等. 我们需要针对这些问题做集中处理, 并将这部分独立出来, 可以有效的组织人员进行维护和 更新. 服务器端: 针对服务器进行调整,目的是加快服务器处理、让维护人员更加简单、有效的进行数据 维护.
二、方案概述
1、 客户端处理,将下载程序独立出来,做成一个服务,随着 reader 的启动而启动, 启动后将连接服务器,并有安全更新的时候,提示安全问题的更新.
2、解决下载存在的各种问题,主要包括插件配置信息管理,定义一个配置信息模块, 更新下载程序检查是否更新,参照这个模板来检查;
所有插件都必须按照规定,生成一个插 件的安装包,这个安装包需要在成功的情况下写必要的配置信息,同时与 reader 相关的插 件的安装包必须符合通用安装包的类型,在reader 卸载的时候能够将其自动卸载掉.
3、客户端下载必须支持下载文件的断点续传,安装文件的目录保存.
4、建立一个服务器端发布的后台,提供交互界面,每次产品或者插件发布后,都能够 自动生成 reader 更新需要的模块 xml 描述信息,reader 每次更新时候只要拿这个信息,就 可以知道哪些文件需要更新. 后面我们将会针对现有的下载部分进行一些列的版本升级, 可以承载更多的下载服务 (为今 后的内容管理以及产品宣传、 合作伙伴产品宣传和下载) , 同时为下载提供更好的技术实现, 包括多线程下载、安装等等.
2、 目前下载流程图 更新下载 Confidential - Restricted Page
4 ? 2010Foxit Corporation 点击check for updates 创建线程访问服务器 获取需要更新的信息 获取服务器更新的文 件,xml或者php 解析这个xml文件,提 取更新的信息 比较本地注册表的已 更新信息 是否需要更新 将服务器上面获取的更 新信息,同本地保存的 进行比较,首先比较的 是版本、其次是保存路 径下的文件(其中分两 种情况) 将需要更新的模块保 存起来 显示所有需要更新的 模块 用户选择需要更新的 模块 更新模块 下载所有选择的模块 解压模块 拷贝文件 目前是显示空白列表 提示没有更新的 拷贝失败 先写到以~前缀的文件 是 是不是reader插件 是 安装模块 提示失败 否reader下次启动的时候 进行覆盖 写入失败 否是完毕活着取消 写update list注册表 否 更新下载 Confidential - Restricted Page