[发明专利]使用内存和临时存储器的补丁方法及补丁服务器和客户端无效
申请号: | 201210333037.7 | 申请日: | 2012-09-10 |
公开(公告)号: | CN102945170A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | 张星国;刘光喜;成周弦;陈譓瑱;李允珩 | 申请(专利权)人: | 新游游戏株式会社 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 吕俊刚;刘久亮 |
地址: | 韩国*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 内存 临时 存储器 补丁 方法 服务器 客户端 | ||
技术领域
本发明一般地涉及补丁技术,并且更具体地,涉及一种能够更快速并且更可靠地补丁大量数据的使用内存和临时存储器的补丁方法以及使用该补丁方法的补丁服务器和客户端。
背景技术
随着计算环境的发展,硬件的性能已经变得很高并且在硬件上运行的软件已经变得能够使用很多资源。因此,存在的趋势是,软件的容量逐渐增加。此外,随着网络环境的发展,通过网络传输和分发软件已经变得非常流行。特别地,软件的内容由于各种原因(例如,软件的新版本的发布)而频繁地改变或者扩展。改变或者扩展的内容被提供给用户从而对软件进行更新,这被称为打补丁或更新。
传统的补丁技术包括使用关于补丁的版本的信息的补丁方法。例如,存在一种方法,即补丁客户端访问补丁服务器,将当前补丁版本与补丁服务器的补丁版本进行比较,并且如果需要打补丁,则下载并且存储对应的内容。传统的补丁方法的问题在于:补丁服务器和补丁客户端的资源的使用效率低并且由于如果在关于补丁的版本的信息中存在错误或者部分地执行了打补丁则会发生补丁冗余,因此在服务器上发生瓶颈。
为了解决该问题,开发了下述技术:提供关于将要打补丁的文件的被改变的内容的信息并且基于该信息执行打补丁。然而,在该技术中,算法本身一次或连续地将补丁数据存储在单个内存中并且然后执行打补丁。因此,虽然与传统的补丁技术相比,该技术略微地减少了补丁数据,但是用于分配内存并且执行打补丁的算法没有得到改进。由于该原因,存在下述问题:如果在下载用于打补丁的文件时发生了错误则需要再次下载用于打补丁的所有数据;当正在对较大的文件进行打补丁时补丁处理较慢;以及硬件资源的使用效率低。此外,还存在的问题是:由于补丁客户端的低效操作导致对补丁服务器施加了较重的负担。
发明内容
因此,鉴于现有技术中发生的上述问题已经做出了本发明,并且本发明的目的在于通过使用改进的补丁算法最大化补丁客户端的资源的利用来更快速和高效地施加补丁。
本发明的另一目的在于快速且可靠地执行具有高容量的补丁文件的打补丁。
本发明的又一目的在于根据用于打补丁的数据的大小使用优化的补丁算法更快速地施加补丁。
本发明的又一目的在于如果在补丁处理过程中发生错误则通过仅修改错误部分而不是用于打补丁的整个文件来以资源有效且可容忍错误的方式施加补丁。
为了实现上述目的,本发明提供了一种补丁方法,该补丁方法在补丁客户端中执行,该补丁客户端可连接到补丁服务器并且包括存储装置和内存,补丁方法包括下述步骤:(a)访问补丁服务器并且从补丁服务器接收补丁数据;(b)计算内存的可用空间;(c)如果补丁数据的大小小于或等于内存的可用空间,则使用内存的可用空间执行打补丁;以及(d)如果补丁数据的大小大于内存的可用空间,则对于存储装置分配对应于补丁数据的大小的容量的临时存储器,并且使用分配的临时存储器执行打补丁。
为了实现上述目的,本发明提供了一种补丁方法,该补丁方法在补丁客户端中执行,该补丁客户端可连接到补丁服务器并且包括存储装置和内存,该补丁方法包括下述步骤:(a)访问补丁服务器并且从补丁服务器接收包括用于打补丁的多个文件的补丁数据;(b)计算内存的可用空间;(c)如果用于打补丁的多个文件中的至少一个文件小于内存的可用空间,则使用内存的可用空间执行该至少一个文件的打补丁;以及(d)如果用于打补丁的多个文件中的至少一个文件大于内存的可用空间,则使用对于存储装置分配的临时存储器执行该至少一个文件的打补丁。
为了实现上述目的,本发明提供了一种补丁服务器,该补丁服务器被连接到补丁客户端并且提供补丁数据,补丁服务器包括内存;哈希生成单元,该哈希生成单元被构造为生成用于接收到的数据的至少一个哈希值;以及控制单元,该控制单元被构造为将原始文件和补丁文件加载到内存中,控制哈希生成单元,从而哈希生成单元将加载的原始文件与加载的补丁文件进行比较并且生成用于差异的至少一个哈希值,生成包括生成的哈希值的补丁表,并且生成包括生成的补丁表的补丁数据。
为了实现上述目的,本发明提供了一种补丁客户端,该补丁客户端能够使用内存和存储装置,并且访问补丁服务器,接收补丁数据并且执行打补丁,补丁客户端包括控制单元,该控制单元用于比较接收到的补丁数据的大小与内存的可用空间,如果存储器的可用空间等于或大于接收到的补丁数据的大小则使用内存执行打补丁,并且如果内存的可用空间小于接收到的补丁数据的大小,则对于存储装置分配对应于补丁数据的大小的容量的临时存储器并且然后使用分配的临时存储器执行打补丁。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新游游戏株式会社,未经新游游戏株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210333037.7/2.html,转载请声明来源钻瓜专利网。