[发明专利].net文件的压缩方法和装置有效
申请号: | 200910244162.9 | 申请日: | 2009-12-30 |
公开(公告)号: | CN101794219A | 公开(公告)日: | 2010-08-04 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚 |
地址: | 100191 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | net 文件 压缩 方法 装置 | ||
技术领域
本发明涉及计算机应用领域,具体而言,涉及一种.net文件的 压缩方法和装置。
背景技术
.Net是微软的新一代技术平台,是全新的基于互联网的跨语言 软件开发平台,顺应了当今软件工业分布式计算、面向组件、企业 级应用、软件服务化和以Web为中心等大趋势。.Net并非开发语言, 但是在.Net开发平台上可以支持多种开发语言,如C#语言、C++、 Visual Basic、Jscript等。
智能卡是一种大小和普通名片相仿的塑料卡片,内含一块直径 1cm左右的硅芯片,具有存储信息和进行复杂运算的功能。它被广 泛地应用于电话卡、金融卡、身份识别卡以及移动电话、付费电视 等领域。其中,智能卡的芯片上集成了微处理器、存储器以及输入/ 输出单元等,使得智能卡被认为是世界上最小的电子计算机。并且 在智能卡上拥有一整套性能较强的安全保密控制机制,安全控制程 序被固化在只读存储器中,因而具有无法复制密码等可靠的安全保 证。智能卡与普通磁卡相比,还具有信息存储容量大,可利用微处 理器来增加卡片功能等优点。
.Net卡是一种含有可以运行.Net程序的.Net卡虚拟机的微处理 器智能卡。所谓虚拟机,是指可以把它想象成一台用软件来模拟的 机器,在这台机器里有处理器、内存、寄存器等各种硬件,模拟运 行各种指令,在这台机器上运行的软件对运行环境没有特殊要求, 所以虚拟机对在它上运行的程序来说是透明的。例如,x86虚拟机 模拟的是x86指令程序的运行环境,c51虚拟机模拟的是c51指令 程序的运行环境。
.net程序包括命名空间、引用类型、定义类型、定义方法、引 用方法、ILcode(Intermediate Language code,中间语言代码)等, 系统通过运行ILcode中的指令运行.net程序,即通过将各种语言先 编译成ILcode,然后在执行时用即时编译器将ILcode编译成本地平 台代码后运行.net程序。
在.net文件中对定义方法信息进行存储时,以每一个自定义方 法的方法头和方法体为一个数据块进行存储,方法头后紧跟的数据 为方法体,方法头为对方法体的描述,方法头中包括标识、局部变 量token等信息,方法体包括ILcode,其中在ILcode中的操作参数 中又包括局部变量信息。
但是目前的智能卡由于体积和存储芯片的限制,其存储空间仍 然有限,随着软件的发展,部分功能大的程序占用存储空间较大, 对于很多的.net程序并不能进行存储和运行。
综上所述,相关技术中的.net程序压缩效果较差,不能很好地 在小容量的存储介质(例如:智能卡)上存储和运行,且针对该问 题目前尚未提出有效的解决方案。
发明内容
针对.net程序不能很好地在小容量的存储介质(例如:智能卡) 上存储和运行而提出本发明,为此,本发明的主要目的在于提供一 种.net文件的压缩方法和装置,以解决上述问题至少之一。
为了实现上述目的,根据本发明的一个方面,提供了一种.net 文件的压缩方法。
根据本发明的.net文件的压缩方法包括:
获取.net文件中使用的定义方法的方法头;
压缩所述定义方法中的方法体,得到所述方法体的压缩结果。
优选的,所述压缩所述方法中的方法体的步骤包括:
根据所述方法头获取所述定义方法的局部变量,并根据所述局 部变量的类型确定所述局部变量的偏移,所述局部变量的偏移指所 述局部变量在所述.net文件对应的压缩结构中的偏移;
根据所述方法头读取该定义方法的ILcode,并对所述ILcode 进行压缩,计算压缩后的ILcode的长度;
按照预先确定的格式对所述压缩后的ILcode的长度、所述局部 变量的偏移和压缩后的ILcode进行组合,得到所述方法体的压缩结 果。
为了实现上述目的,根据本发明的另一方面,提供了一种.net 文件的压缩装置,所述装置包括:
方法获取模块,用于获取.net文件中使用的定义方法的方法头, 并根据所述方法头获取该定义方法的ILcode;
压缩模块,用于压缩所述定义方法中的方法体,得到所述方法 体的压缩结果。
优选的,所述压缩模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910244162.9/2.html,转载请声明来源钻瓜专利网。