[发明专利]一种获取java卡内可用存储空间的方法、计算机装置以及计算机可读存储介质在审
| 申请号: | 201910012887.9 | 申请日: | 2019-01-07 |
| 公开(公告)号: | CN109739779A | 公开(公告)日: | 2019-05-10 |
| 发明(设计)人: | 谢华祥;段晓燕;王定燕 | 申请(专利权)人: | 金邦达有限公司 |
| 主分类号: | G06F12/0871 | 分类号: | G06F12/0871 |
| 代理公司: | 珠海智专专利商标代理有限公司 44262 | 代理人: | 林永协 |
| 地址: | 519000 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓冲器 计算机可读存储介质 可用存储空间 计算机装置 存储空间 预设 循环指令 标志位 置位 分配 分配存储空间 缓冲器分配 储存空间 大小设置 一次分配 指令 返回 失败 申请 成功 | ||
本发明提供一种获取java卡内可用存储空间的方法、计算机装置、计算机可读存储介质,该方法包括接收选择实例指令并执行,判断最后一次分配存储空间标志位是否置位,若是,则设置第一变量和第二变量,对分配存储空间标志位进行置位,申请一个缓冲器,并给缓冲器的可分配的存储空间的大小设置第二预设阈值,并执行预设的循环指令,给缓冲器分配预设大小的存储空间,缓冲器的储存空间大小为所述第二变量的值,判断分配的过程是否成功,若分配的过程失败,则减少一次第二变量的值,返回执行所述循环指令。本发明还提供上述方法的计算机装置及计算机可读存储介质。本发明能够更加准确的获取java卡内可用存储空间的大小。
技术领域
本发明涉及智能卡领域,具体是涉及一种获取java卡内可用存储空间的方法,计算机装置以及计算机可读存储介质。
背景技术
智能卡例如门禁卡、银行卡、公交卡等被广泛的应用在人们日常生活中,其中java卡是一种可以运行java程序的CPU智能卡,它的出现使得智能卡应用的研发变得简单。
在java卡领域中,java卡的全球通用规范是GlobalPlatform规范,但是GlobalPlatform规范并未给出明确获取java卡剩余存储空间的指令,因此用户在使用时不能明确掌握剩余的空间,给个人化发卡、调试卡的过程带来了困扰,常常会出现因卡片存储空间不足导致不可预知的错误出现,使得用户寻找错误原因,加大了用户的工作量,并降低了用户进行智能卡相关作业时的工作效率。
虽然,在GlobalPlatform规范中,java卡在面向用户的API接口中有一个函数接口public static short getAvailableMemory,用户可以通过这个函数接口发送相关指令给Java卡,然后获取java卡发送出来的数据即为java卡内剩余存储空间大小,但是用户通过这个函数接口获取到数据的类型是short型,所以最大仅能获取java卡内的剩余存储空间大小为32K,故存在一定的局限性。
发明内容
将本发明的第一目的是提供一种更加准确获取java卡内可用存储空间的方法。
本发明的第二目的是提供一种能够实现上述一种获取java卡内可用存储空间的方法的计算机装置。
本发明的第三目的是提供一种能够实现上述一种获取java卡内可用存储空间的方法的计算机可读存储介质。
为了实现上述的第一目的,本发明提供的一种获取java卡内可用存储空间的方法包括,接收选择实例指令并执行,判断最后一次分配存储空间标志位是否置位,若是,则设置第一变量和第二变量,调用API接口获取内部剩余存储空间的值并赋予给第一变量;判断第一变量的值是否小于预设第一阈值,若是,则将第一变量的值赋予给第二变量;对分配存储空间标志位进行置位,申请一个缓冲器,并给缓冲器的可分配的存储空间的大小设置第二预设阈值,并执行预设的循环指令,给缓冲器分配预设大小的存储空间,缓冲器的储存空间大小为第二变量的值,判断分配的过程是否成功,若分配的过程失败,则减少一次第二变量的值,并对分配存储空间标志位以及最后一次分配存储空间标志位进行置位后,返回执行循环指令;若分配的过程成功,则结束执行选择实例指令,且执行选择实例指令后得到的第二变量的值即为给缓冲器分配的存储空间大小的值。
由上述方案可见,java卡可以接收一条选择实例指令并执行后,通过判断最后一次分配存储空间标志位是否置位来判断出卡内是否还有剩余空间,如卡内还有剩余空间则设置第一变量和第二变量,再通过API接口获取内部剩余存储空间的值并赋予给第一变量,判断第一变量的值小于预设第一阈值则将第一变量的值赋予给第二变量,然后申请一个缓冲器,通过给缓冲器分配预设大小的存储空间,并且这个预设的大小的存储空间的值是第二变量的值,若分配过程中用捕捉异常的方式捕捉分配存储空间时是否因可存储空间不足导致分配失败,即第二变量的值大于第二预设阈值,则表示分配失败,若第二变量的值小于或等于第二预设阈值则表示分配成功,最后可得到的第二变量的值即为预设大小的存储空间的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金邦达有限公司,未经金邦达有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910012887.9/2.html,转载请声明来源钻瓜专利网。





