[发明专利]程序自动更新方法及更新程序生成装置有效
申请号: | 201010580032.5 | 申请日: | 2010-12-06 |
公开(公告)号: | CN102486736A | 公开(公告)日: | 2012-06-06 |
发明(设计)人: | 吴超 | 申请(专利权)人: | 深圳市金蝶中间件有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 刘映东 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 自动更新 方法 更新 生成 装置 | ||
【技术领域】
本发明涉及分布式系统中的信息传输领域,特别涉及一种分布式系统中客户端自动更新方案。
【背景技术】
分布式系统是支持分布式处理的系统,是在有通讯网络互联的多处理体系结构上执行任务的系统。对于部署在网络上的分布式软件系统,通常分为客户端、服务端、数据库三层,业务数据一般存储在数据库中,客户端在需要读取业务数据时,需要和服务端进行通信,服务端再和数据库通讯,从中获取业务数据后,再进行若干处理,返回给客户端。
在Java领域中经常采用的C/S(Client/Server)结构,也即客户机和服务器结构就是一种常见、大量被使用的分布式系统,通过C/S结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器端来实现,有效降低了系统的通讯开销。但是,在实际应用中,当客户端应用程序有新的版本或者组件需要更新时,通常有两种方式:第一,用户手动从服务器端下载新版本的客户端应用程序并更新;第二,提供一个更新程序,所述更新程序伴随用户的操作系统或者客户端应用程序启动,不断检测服务器端是否有新版本的客户端主程序,在有新版本的客户端主程序时进行下载并更新。
而在实际使用中发现,如果采用第一种方式,也即让用户手动更新的方案,用户的使用体验较差。如果采用第二种方式,由于所述更新程序与客户端主程序分别是两个不同的程序,也就是说在运行时是两个独立的进程,那么会有两个缺点:一方面,所述更新程序有时自身也需要更新,当所述更新程序自身需要更新时,因为所述更新程序自身处于运行态,显然它无法对自身进行更新;另一方面,有时更新程序在更新所述客户端主程序时,需要获知客户端主程序的一些即时运行信息或者需要利用客户端主程序正在占用的类库资源,但是由于它们分属于两个独立的进程,故而进行数据交互和共享是比较困难的。
虽然现有技术也有一种方案,利用更新程序来对客户端主程序更新的同时,也可以利用客户端主程序对所述更新程序进行更新,也就是说,将客户端主程序作为所述更新程序的更新程序,两者可以分别对对方进行更新。但是这种方案虽然解决了上述第一方面的缺点,但是却提高了客户端主程序的复杂度。对于第二方面的缺点,很多现有方案中采用更新程序更新时将当前客户端主程序关闭的方式来获得相应类库资源的使用权,牺牲了用户的使用体验。
因此,有必要提出一种新的技术方案来解决上述缺点。
【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的一个目的在于提供一种程序自动更新方法。
本发明的另一目的在于提供一种更新程序生成装置。
为了达到本发明的目的,本发明提供一种程序自动更新方法,所述方法包括:在主程序中预设更新生成程序和更新类库;所述更新生成程序检测是否存在更新文件,如果是,则下载所述更新文件;所述更新生成程序利用所述更新文件和更新类库生成更新程序;和利用所述更新程序更新所述主程序。
进一步地,所述更新类库包括替换类库、删除类库和修改类库。
进一步地,所述更新生成程序利用所述更新文件和更新类库生成更新程序包括:所述更新生成程序利用所述更新文件确定更新步骤;所述更新生成程序根据所述更新步骤结合相应更新类库生成更新类;所述更新生成程序编译所述更新类以生成更新程序,
其中更新步骤包括若干更新操作,所述更新操作包括替换主程序文件、删除主程序文件和修改主程序文件。
进一步地,所述利用所述更新程序更新所述主程序包括:所述更新程序按照所述更新步骤替换、删除和修改所述主程序的相应文件。
进一步地,所述程序、主程序、更新生成程序、更新类库和更新程序是由java编程语言实现的。
根据本发明的另一方面,本发明同时提供一种更新程序生成装置,生成用于更新主程序模块的更新程序,所述装置包括:更新类库模块,存储生成更新程序所需类库;更新文件检测模块,检测是否存在主程序的更新文件;更新文件下载模块,当存在所述更新文件时下载所述更新文件;更新步骤确定模块,根据所述更新文件确定更新步骤;更新类生成模块,根据更新步骤结合所述更新类库模块内的相应类库生成更新类;和更新类编译模块,编译所述更新类以生成更新程序。
进一步地,所述更新类库模块包括替换类库、删除类库和修改类库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市金蝶中间件有限公司,未经深圳市金蝶中间件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010580032.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种酱油固定化发酵装置
- 下一篇:一种理条机振动传动机构