当前位置: 首页 > 专利查询>冼剑光专利>正文

一种大型软件边下载边运行应用中的压缩方法技术

技术编号:6851180 阅读:251 留言:0更新日期:2012-04-11 18:40
一种大型软件边下载边运行应用中的压缩方法,在压缩文件头部中增加文件数据流的文件分割块索引结构,以更小的文件页单元将文件数据流分割为块,其中一个关键之处是分割的位置不能位于重复的字符串中间;将所有文件的内容顺序排列为一个数据流,进行统一的压缩打包,这样就可以得到最好的压缩效果,在文件分割块索引结构,保存每个文件分割块压缩前后的长度,有了这些长度信息,就可以单独地解压缩每一个分割文件块,其技术关键是每一个文件分割块的分割位置不能位于重复的字符串中间;通过增加一个文件分割块索引结构的技术措施,就很巧妙地解决了好的压缩效果与小的文件单元解压缩不能兼得的技术问题。

【技术实现步骤摘要】

本专利技术涉及,属于计算机压缩领域。
技术介绍
随着互联网的迅速发展,通过互联网下载软件变得很普及。但即使是在今天,通过互联网下载几百兆甚至几千兆字节的大型软件还是非常费时的。网络游戏这些年发展非常迅速,带动了网络下载的迅速发展。网络游戏通常都是大型软件,一般都为几百兆甚至几千兆字节。如果利用宽带下载800兆字节的游戏,用户约需要花费1-2小时。用户下载完游戏以后,通常都还需要将下载后的文件解压缩,安装,然后才能运行。游戏软件是一种娱乐性的产品,用户总是在期待最新鲜的产品,这样一个庞大的游戏花费很多时间下载,安装后,往往只运行了很少一部分,就被搁置一边,或者删除掉,然后又开始下一个新游戏的下载,安装循环。现有的下载工具只是帮助用户将软件下载。如果改进现有的下载工具,使得游戏可以边下载边运行,就能够大幅缩短用户的等待时间,简化用户的后续工作,那么无疑是很有意义的。本专利技术人于2009年11月沈日申请了以下中国专利申请号200910对6644· 8专利技术名称一种大型软件边下载边运行的方法该专利技术展示了一种使得游戏可以边下载边运行的有效方法,这种方法类似流媒体的即点即播,让游戏可以即点即运行,这种方法的应用范围很广,包括很多改进后的应用, 比如一种改进的例子就是对使用者进行帐号密码管理,只有授权的用户才可以玩某些游戏,同时下载后的游戏文件,游戏下载后的运行过程中的文件可以进行加密和特殊处理,使得只有授权的用户才可以打开,使用和拷贝这些文件,这种改进方法可以应用于单机版游戏的网络发行业务,即应用于收费软件和收费游戏的网络分发,只有授权用户才可以进行相应的操作,比如用户支付一定费用后,可以租用软件和游戏。这种使得游戏可以边下载边运行的应用目前存在以下不足之处为了实现游戏可以更快地运行,只会下载游戏运行过程所需要的部分文件,甚至文件的很小一部分内容,这样的很小一部分内容无法进行有效的压缩处理,因而不能有效节约带宽,国内目前带宽条件有限,而且由于经济等诸多因素的影响,一下子要大幅提高带宽条件不现实;在当前的主流带宽条件下,游戏边下载边运行还是会产生卡的情况,影响用户的体验。以往用户需要下载游戏的所有文件,这样所有文件就会进行压缩打包,现有的压缩技术有这样的特点,即文件越大,压缩效果越好,因而所有文件进行压缩打包的效果是比较好的。游戏边下载边运行时,下载的是文件的部分内容,长度很短,比如IOM字节,相比游戏的几百兆甚至几千兆字节大小,这就小得多,按现有的压缩技术,这样短的内容压缩的效果很差,如果按整个游戏大小的几百兆甚至几千兆字节大小压缩,只能单独提取其中的某个文件,而如果只是提取文件的部分内容就不可以了,游戏的许多文件大于10兆,有时只需要其中的Ik数据的话,也要下载整个10兆,否则无法正确解压缩,但是这样的话,游戏边下载边运行的应用就变得没有任何意思了。既要达到好的压缩效果,又可以按照小的文件单元解压缩,现有的压缩技术无法解决这样的技术矛盾。如果能够既可以下载文件的很小部分内容,同时下载很小一部分内容也可以达到所有游戏文件一起压缩的效果,那么对游戏边下载边运行应用的提升将会是非常巨大的,将会极大地推进该技术的普及应用,因为所有游戏文件一起压缩能缩小1倍以上体积的话并不难做到,而这相当于将网络速度提高了 1倍以上,而网络速度这一瓶颈不是那么容易提升的,而且缩小1倍还可以带来巨大的带宽和空间节约,其意义是很大的。本专利技术正是解决了这一技术问题。
技术实现思路
本专利技术提出了解决上述问题的技术方案。本专利技术解决其技术问题所采用的技术方案是我们将现有压缩技术做了改进,在压缩文件头部中增加文件数据流的文件分割块索引结构,以更小的文件页单元将文件数据流分割为块,其中一个关键之处是分割的位置不能位于重复的字符串中间。将所有文件的内容顺序排列为一个数据流,进行统一的压缩打包,这样就可以得到最好的压缩效果,在文件分割块索引结构,保存每个文件分割块压缩前后的长度,有了这些长度信息,就可以单独地解压缩每一个分割文件块,其技术关键是每一个文件分割块的分割位置不能位于重复的字符串中间。通过增加一个文件分割块索引结构的技术措施,就很巧妙地达到了以下目的既能够获得最好的压缩效果,又可以按照小文件单元解压缩,很好地解决上述的技术问题。下面结合附图和实施例对本专利技术进一步说明。附图说明图1是压缩文件的结构示意图,可以更好地阐述本专利技术的精神。图1中,压缩文件包括2大部分,分别为压缩文件头部和压缩文件内容,通常头部比较小,内容比较大;头部包含了将文件解压缩的所有信息,按照信息不同的属性,又可以分为不同的结构,如文件信息结构,字典结构,标识符结构,文件分割块索引结构等结构。内容包含了压缩文件数据流,即压缩后的文件。具体实施例方式现在结合上述附图详细介绍本专利技术的具体实施过程在一个示范的文件夹下,包含以下3个文件SampleLdatSample2.datSample3.dat为了便于阐述本专利技术的精神,我们采用字符串作为文件内容,熟悉本
的人员可以理解,文件的内容并不局限于字符串,而可以是任何形式的数据。Samplel. dat的内容为以下字符串内容This is sampleSample2. dat的内容为以下字符串内容This is sampIeThis is sampleSample3. dat的内容为以下字符串内容This is sampIeThis is sampIeThis is sample我们对以上文件进行打包压缩的主要步骤如下1.建立压缩文件头部的文件信息结构文件序号文件名字长度文件长度文件名字11114Samplel. dat21128Sample2. dat31142Sample3. dat文件信息结构使得可以将压缩内容按照原来的目录和文件名进行解压缩还原。2.按照文件序号顺序将文件内容合并,这样就得到以下没有压缩前的文件数据流This is sampIeThis is sampleThis is sampleThis is sampleThis is sampIeThis issample尽管我们将文件内容合并,但是依据文件信息结构中的文件序号和文件长度等信息,我们可以将每个文件的内容提取出来,不会混淆。3.用字符串比较的方法,找出文件数据流中的重复部分,如上面的数据存在多个 This issample,则建立压缩文件头部的字典结构字典编号字典名称1This is sample这样文件数据流中的This is sample就可以用字典编号来表示,如用Xl表示,X 是标识符,标识符用文件数据流中没有出现的字符,或者出现得最少的字符表示,标识符可以是单个或者多个字符,标识符后面用一个特定长度的数字表示字典编号(字典编号数字的长度是能够表达所有编号的最小长度,这一参数保存于压缩文件的头部),在本例,只需要1位数字就可以表示所有的字典编号。1表示字典编号为1,这样上面的文件数据流就可以表示为X1X1X1X1X1X1节省了很多空间,因为重复的This is sample只需要在字典中保存1次,在数据流中只用2个字符代表原来的11个字符。重复的This is sample我们称为重复字符串, 其他为一般字符串。在压缩文件头部需要建立标识符结构,如本文档来自技高网
...

【技术保护点】
1.一种大型软件边下载边运行应用中的压缩方法,它生成的压缩文件所包含的主要组成部分为头部和内容,头部包含字典结构和文件分割块索引结构,内容包含一般字符串和重复字符串,其主要特征就是文件分割块索引结构是以文件分割块作为压缩文件的分割单位,而不是现有的压缩方法的以单个文件作为分割单位;其核心特征是文件分割块的分割不会跨越一个完整的重复字符串,即每个重复字符串都会包含在一个文件分割块里边;这样的优点就是压缩时可以按整个文件数据流进行压缩处理,得到最好的压缩效果,而在使用时,可以正确解压缩提取很小的文件分割块,而不是单个文件,减少了文件下载量。

【技术特征摘要】

【专利技术属性】
技术研发人员:冼剑光
申请(专利权)人:冼剑光
类型:发明
国别省市:44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1