本发明涉及一种程序与数据自动同步更新的方法。
背景技术:
目前在开发C/S模式的软件系统中,要在服务器及客户端分别配置部署程序。在运行一段时间后系统都会因各种原因而需要更新,更新的方式一般采用以下方法:第一种,专业客服人员上门安装程序更新,这种方法在规定的时间范围内要实现所有客户端均更新,需要大量的专业客服人员,造成人力资源的浪费。第二种,将更新程序上传到FTP(或WEB)服务器,系统使用人员自行下载更新程序并更新,这种方式需要用户对FTP的命令或FTP客户端软件比较熟悉,对更新程序的操作及选项很了解,在服务器放置新的更新程序后要逐个通知用户下载。第三种,采用FTP服务器实现客户端程序的自动更新,例如专利号为ZL02136574.1的中国专利“一种Client/Server架构下软件自动升级更新的方法”和申请号为200910233749.X的中国专利“用FTP技术来实现客户端程序自动升级的方法”,采用该种方法存在的问题:首先,必须要建立FTP服务器并管理相关的FTP账号,管理起来比较复杂,如果不想管理账号,可采用建立匿名FTP,但它不适用于所有的Internet主机,它只适用于那些提供了这项服务的主机;其次,建立FTP服务器,势必要让服务器防火墙打开20和21端口,这样给服务器安全带来新的隐患的同时,FTP客户端在被动模式下连接FTP服务器同样也会被防火墙阻挡;第三,例举的这两种方法均采用数据库来记录客户端的相关版本升级信息,以这些信息和客户端本身的版本来判断是否应升级,但在系统不需要访问数据库的情况下,要求客户安装数据库,会加大用户使用软件的成本。
技术实现要素:
为了克服现有技术的不足,本发明的目的是提供一种客户端程序与数据文件自动与WEB服务器上的文件同步更新的方法,使客户端用户不用关心软件的同步更新,同时软件的发布过程得以简化。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1:在程序产品服务器(WEB服务器)端口为80的网站上建立固定名称的虚拟路径,配置使之能读取、运行脚本、浏览及可下载所有文件类型;
步骤2:在程序产品服务器上将服务更新配置程序复制到步骤1建立的虚拟路径,在此路径下建立固定的子文件夹放置客户端程序的支持软件,支持软件包括客户端程序用到的ActiveX控件和软件的更新升级所需的软件或组件的安装程序;
步骤3:在程序产品服务器上将所有需要更新的程序、数据文件复制到步骤1建立的虚拟路径,如果客户端程序使用了新的支持软件,则将新的支持软件复制到虚拟路径中存放支持软件的固定子文件夹中,通过执行服务更新配置程序直接生成更新配置文件。所述的更新配置文件记录服务更新配置程序所在路径下的目录结构及文件信息,文件信息包括文件的名称、大小和创建时间。
步骤4:客户端程序从程序产品服务器下载步骤3生成的更新配置文件,将由此配置文件解析的目录结构及文件信息与客户端程序实际的目录结构及文件信息进行比较,如果客户端程序没有对应的目录则创建目录;如果客户端程序目录或子目录下没有对应的文件则从程序产品服务器下载此文件,如果已有对应的文件且其创建时间早于更新配置文件中记录的创建时间则下载此文件,否则不下载此文件。
步骤5:文件下载完成后,调用客户端的程序更新模块,判断支持软件是否已安装,如果未安装,则调用执行已下载的支持软件安装程序进行安装,如果有多个,则逐个进行。
本发明的有益效果是:本发明的基于WEB服务器的程序与数据自动同步更新的方法,可以在软件的更新过程中,确保客户端程序版本统一,降低客服人员的工作强度,减少出差成本,利用本发明的方法,客户端程序可自动更新,节省用户自行下载及安装程序的时间从而提升工作效率。
下面结合实施例对本发明进一步说明。
具体实施方式
本发明包括至少一个程序产品服务器,用于发布最新版本的程序文件及数据文件;一个服务更新配置程序,用于生成更新配置文件,此文件记录服务更新配置程序所在路径下的目录结构及文件信息,文件信息包括文件的名称、大小、创建时间;至少一个客户端系统,和程序产品服务器互连。客户端系统包含一个自动下载模块及一个程序更新模块和客户端主程序。
现采用Window2003IIS6.0WEB服务器作为程序产品服务器为例描述具体实施方式,包括以下步骤:
准备过程:
(1)打开IIS管理器,确定要操作的网站的TCP端口为80;在网站节点点鼠标右键,在弹出菜单上选择“新建->虚拟目录”,设置虚拟目录访问权限为读取、浏览;新建MIME类型,扩展名输入:*,类型输入:application/octet-stream,确保能从该网站下载所有类型的文件。
(2)在程序产品服务器将服务更新配置程序复制到步骤(1)建立的虚拟路径,在此路径下建立固定的子文件夹放置客户端程序的支持软件。支持软件包括客户端程序用到的ActiveX控件,如Quest3D_AX、FlashPlayerAX及随软件的更新升级可能用到的软件或组件的安装程序;
每次程序产品需要更新时:
在服务器端:
(3)在程序产品服务器将所有需要更新的程序、数据文件复制到步骤1建立的虚拟路径,通过执行服务更新配置程序直接生成新的更新配置文件。如果客户端使用了新的支持软件或组件,则将其复制到存放支持软件的固定子文件夹中。所述的更新配置文件记录服务更新配置程序所在路径下的目录结构及文件信息,文件信息包括文件的名称、大小和创建时间。
在客户端:
(4)通过HTTP协议下载服务器上的文件。
客户端的自动下载模块启动完成如下工作:
i.更新配置文件;
ii.将由此配置文件解析的目录结构及文件信息与客户端程序实际的目录结构及文件信息进行比较,如果客户端程序没有对应的目录则创建目录;如果客户端程序目录或子目录下没有对应的文件则从WEB服务器下载此文件,如果已有对应的文件且其创建时间早于更新配置文件中记录的创建时间则下载此文件,否则不下载此文件。
(5)文件下载完成后,由客户端的自动下载模块调用客户端的程序更新模块。客户端的程序更新模块判断支持软件是否已安装,如果未安装,则调用执行已下载的支持软件安装程序进行安装,如果有多个,则逐个进行。