一种应用于资源受限装置的应用包安装方法和系统与流程

文档序号:32438915发布日期:2022-12-06 20:35阅读:来源:国知局

技术特征:
1.一种应用于资源受限装置的应用包安装方法,其特征在于,所述方法应用于资源受限装置,所述方法包括以下步骤:通过偏移对本包定义的类、静态方法及静态域进行引用;通过类段偏移对本包定义的类进行引用,通过方法段偏移对本包定义的静态方法进行引用,通过静态域镜像偏移对本包定义的静态域进行引用,所述类段的每个类包含一个用于安全检查的字段,所述字段表示该类声明的第一个包可见或者私有的实例域的索引,如果该类没有声明包可见和私有的实例域,该值为0xff;通过导出项标识对访问导入包的第一指令进行引用,所述第一指令包括对导入包的外部可见类、外部可见静态域及外部可见静态方法进行访问的指令;通过索引对访问导入包或本包定义的第二指令进行引用,所述第二指令包括对导入包或本包定义的实例域、虚方法进行访问的指令;通过接口方法索引对接口方法进行引用;根据所述所述导出项标识、所述实例域索引、所述虚方法索引及所述接口方法索引生成对应的链接文件;通过预置的静态域初始化方法分配静态域镜像空间并对静态域进行初始化;通过所述导入包的链接文件以及应用包的类文件生成与应用包对应的安装文件以对所述应用包进行安装。2.如权利要求1所述的一种应用于资源受限装置的应用包安装方法,其特征在于,所述通过导出项标识对访问导入包的第一指令进行引用,包括:对导入包的外部可见类、外部可见静态域及外部可见静态方法分别进行排序,获取所述外部可见类、所述外部可见静态域及所述外部可见静态方法分别对应的导出项索引;将所述外部可见类、所述外部可见静态域及所述外部可见静态方法分别对应的导出项索引,与导出项标记及所述导入包的包标识进行组合,得到所述导出项标识。3.如权利要求1所述的一种应用于资源受限装置的应用包安装方法,其特征在于,所述通过索引对访问导入包或本包定义的第二指令进行引用,包括:通过实例域索引对访问所述实例域的指令进行引用;通过虚方法索引对访问所述虚方法的指令进行引用。4.如权利要求1所述的一种应用于资源受限装置的应用包安装方法,其特征在于,所述静态域初始化方法包括创建基本类型数组并对数组进行初始化指令以及静态域赋值指令。5.如权利要求1所述的一种应用于资源受限装置的应用包安装方法,其特征在于,所述通过所述导入包的链接文件以及应用包的类文件生成与应用包对应的安装文件以对所述应用包进行安装,包括:通过所述导入包的链接文件对所述应用包中的类文件进行转换,以将常量池中导出项的符号名称转换为对应的索引类型;将所述应用包的类文件进行转换生成与所述应用包对应的安装文件,所述安装文件包括文件头、类段、方法段、导入包段、导出项段以及间接包标识位置段;执行所述安装文件以对所述应用包进行安装。6.一种应用于资源受限装置的应用包安装系统,其特征在于,包括以下装置:第一引用装置,用于通过偏移对本包定义的类、静态方法及静态域进行引用;通过类段
偏移对本包定义的类进行引用,通过方法段偏移对本包定义的静态方法进行引用,通过静态域镜像偏移对本包定义的静态域进行引用,所述类短的每个类包含一个用于安全检查的字段,所述字段表示该类声明的第一个包可见或者私有的实例域的索引,如果该类没有声明包可见和私有的实例域,该值为0xff;第二引用装置,用于通过导出项标识对访问导入包的第一指令进行引用,所述第一指令包括对导入包的外部可见类、外部可见静态域及外部可见静态方法进行访问的指令;第三引用装置,用于通过索引对访问导入包或本包定义的第二指令进行引用,所述第二指令包括对导入包或本包定义的实例域、虚方法进行访问的指令;第四引用装置,用于通过接口方法索引对接口方法进行引用;链接文件生成装置,用于根据所述导出项标识、所述索引及所述接口方法索引生成对应的链接文件;初始化装置,用于通过预置的静态域初始化方法分配静态域镜像空间并对静态域进行初始化;应用包安装装置,用于通过所述导入包的链接文件以及应用包的类文件生成与应用包对应的安装文件,所述安装文件包括文件头、类段、方法段、导入包段、导出项段以及间接包标识位置段,以及对应用包的安装文件进行安装。7.如权利要求6所述的一种应用于资源受限装置的应用包安装系统,其特征在于,所述第二引用装置包括单元:排序单元,用于对导入包的外部可见类、外部可见静态域及外部可见静态方法分别进行排序,获取所述外部可见类、所述外部可见静态域及所述外部可见静态方法分别对应的导出项索引;组合单元,用于将所述外部可见类、所述外部可见静态域及所述外部可见静态方法分别对应的导出项索引,与导出项标记及所述导入包的包标识进行组合,得到所述导出项标识。8.如权利要求6所述的一种应用于资源受限装置的应用包安装系统,其特征在于,所述第三引用装置包括单元:实例域引用单元,用于通过实例域索引对访问所述实例域的指令进行引用;虚方法引用单元,用于通过虚方法索引对访问所述虚方法的指令进行引用。9.如权利要求6所述的一种应用于资源受限装置的应用包安装系统,其特征在于,所述静态域初始化方法包括创建基本类型数组并对数组进行初始化指令以及静态域赋值指令。10.如权利要求6所述的一种应用于资源受限装置的应用包安装系统,其特征在于,所述应用包安装装置包括单元:转换单元,用于通过所述导入包的链接文件对所述应用包中的类文件进行转换,以将常量池中导出项的符号名称转换为对应的索引类型,将指令中的对应的常量池索引替换为对应的索引类型;生成单元,用于将所述应用包的类文件进行转换生成与所述应用包对应的安装文件,所述安装文件包括文件头、类段、方法段、导入包段、导出项段以及间接包标识位置段;安装单元,用于执行所述安装文件以对所述应用包进行安装。

技术总结
本发明涉及一种应用于资源受限装置的应用包安装方法和系统。本发明提出一种在资源受限装置实现面向对象的虚拟机的技术,对指令集中访问类、静态域、静态方法、实例域、以及虚方法的指令针对资源受限硬件环境进行专门的设计,可以移除现有指令采用常量池索引,在类安装时需要比较复杂解析处理;设计静态域初始方法可以替代现有静态域组件技术,简化静态域的初始化操作;通过上述优化步骤达到减少安装包的文件大小,并且提高安装包的安装速度的效果。果。果。


技术研发人员:石玉平 徐俊江 郑江东 王幼君
受保护的技术使用者:北京握奇数据股份有限公司
技术研发日:2022.08.09
技术公布日:2022/12/5
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1