CN106383666B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN106383666B CN106383666B CN201610808303.5A CN201610808303A CN106383666B CN 106383666 B CN106383666 B CN 106383666B CN 201610808303 A CN201610808303 A CN 201610808303A CN 106383666 B CN106383666 B CN 106383666B
- Authority
- CN
- China
- Prior art keywords
- storage
- identification
- block
- data
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种数据存储方法及装置,该方法包括:在接收到待存储数据时,确定待存储数据所占用的需求存储空间总量;根据需求存储空间总量,确定存储块数量,将待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,结束标识表征无下一空闲存储块。也就是说,实现对系统空间分配、垃圾回收与碎片整理,为应用程序的下载、执行提供充足的空间。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据存储方法及装置。
背景技术
Java卡技术是一项新兴的智能卡技术,是一个开放的多应用平台,通过Java卡可以实现下载各种应用程序;由于Java卡嵌入式系统的存储空间有限,用户只能通过更新Java卡上的各种应用程序来解决越来越多的使用需求,随着用户对程序的选择和更新,将产生许多零散系统垃圾占用存储空间。因此,怎样更有效率的使用Java卡的有限空间是一个需要迫切解决的问题。
发明内容
本发明实施例提供了一种数据存储方法及装置,用以解决提升Java卡上存储空间的利用效率。
其具体的技术方案如下:
一种数据存储方法,所述方法包括:
在接收到待存储数据时,确定所述待存储数据所占用的需求存储空间总量;
根据所述需求存储空间总量,确定存储块数量,其中,所述存储块包括数据存储位以及标识位,所述标识位用于标识下一空闲存储块;
将所述待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,所述结束标识表征无下一空闲存储块。
可选的,在确定所述待存储数据所占用的需求存储空间总量之前,所述方法还包括:
获取总存储空间;
按照预设规则,将所述总存储空间划分为N个存储块,其中,N为大于等于2的正整数;
将每个存储块划分为存储空间以及标识位。
可选的,在将每个存储块划分为存储空间以及标识位之后,所述方法还包括:
将所述标识位按序写入空闲标识,其中,空闲标识用于标识下一空闲存储块;
将所述最后标识的存储块的标识位写入结束标识。
可选的,根据所述需求存储空间总量,确定存储块数量,包括:
确定每个存储块的存储量;
将需求存储空间总量与所述存储量之间的比值向上取整作为需要的存储块数量。
可选的,在并将最后占用的存储块的标识位写入结束标识之后,所述方法还包括:
在检测到删除所述待存储数据时,在存储块中删除所述待存储数据;
将所述存储块移至所述存储空间的结尾,并将所述存储块的结尾存储块的标识位写入结束标识。
一种数据存储装置,包括:
确定模块,用于在接收到待存储数据时,确定所述待存储数据所占用的需求存储空间总量;
分析模块,用于根据所述需求存储空间总量,确定存储块数量,其中,所述存储块包括数据存储位以及标识位,所述标识位用于标识下一空闲存储块;
写入模块,用于将所述待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,所述结束标识表征无下一空闲存储块。
可选的,所述装置还包括:
处理模块,用于获取总存储空间;按照预设规则,将所述总存储空间划分为N个存储块,将每个存储块划分为存储空间以及标识位,其中,N为大于等于2的正整数。
可选的,所述处理模块,还用于将所述标识位按序写入空闲标识,将所述最后标识的存储块的标识位写入结束标识,其中,空闲标识用于标识下一空闲存储块。
可选的,所述分析模块,具体用于确定每个存储块的存储量;将需求存储空间总量与所述存储量之间的比值向上取整作为需要的存储块数量。
可选的,所述处理模块,还用于在检测到删除所述待存储数据时,在存储块中删除所述待存储数据;将所述存储块移至所述存储空间的结尾,并将所述存储块的结尾存储块的标识位写入结束标识。
本发明技术方案中,在接收到待存储数据时,确定待存储数据所占用的需求存储空间总量;根据需求存储空间总量,确定存储块数量,将待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,结束标识表征无下一空闲存储块。也就是说,实现对系统空间分配、垃圾回收与碎片整理,为应用程序的下载、执行提供充足的空间。
附图说明
图1为本发明实施例中一种数据存储方法的流程图;
图2为本发明实施例中存储空间划分结构示意图;
图3为本发明实施例中存储块中写入数据之后的结构示意图;
图4为本发明实施例中存储块中删除数据之后的结构示意图;
图5为本发明实施例中一种数据存储装置的结构示意图。
具体实施方式
为了提升Java卡上存储空间的利用效率,本发明实施例提供一种数据存储方法,该方法包括:在接收到待存储数据时,确定待存储数据所占用的需求存储空间总量;根据需求存储空间总量,确定存储块数量,将待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,结束标识表征无下一空闲存储块。也就是说,实现对系统空间分配、垃圾回收与碎片整理,为应用程序的下载、执行提供充足的空间。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
如图1所示为本发明实施例中一种数据存储方法的流程图,该方法包括:
S101,在接收到待存储数据时,确定待存储数据所占用的需求存储空间总量;
S102,根据所述需求存储空间总量,确定存储块数量;
其中,存储块包括数据存储位以及标识位,标识位用于标识下一空闲存储块;
S103,将待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识。
具体来讲,在本发明实施例中,存储空间需要按照块存储的方式来实现,所以就需要将存储空间划分为多个存储块,那么在执行步骤S101之前就需要对存储空间进行存储块的划分。
首先获取到Java卡总存储空间,按照预设规则,将总存储空间划分为N个存储块,将每个存储块划分为存储空间以及标识位。
如图1所示,初始化状态时将总存储空间划分为n个存储块,每个存储块都划分为存储空间x以及标识位y,这里x表征该存储块的有效存储空间,而y表征的是下一个存储块,,这里存在一个空闲块链表:链表结构为起始块号,结束块号,总空闲块数,初始化时空闲块链表的起始块号为1,结束块号为n,总空闲块数为n,每一存储块有唯一的块号以及标识位y来表示其下一块存储块,结束块n中的标识位y的值为结束标识z,z用来表示没有下一块块号存在,即链表结束。具体来讲也就是通过空闲块链表的维护来达到空间的最优管理。
通过上述的划分方法就可以将存储空间划分为多个存储块,这样可以增加存储效率。
进一步,在将存储空间换分为对应的存储块之后,若存在一需要存储的待存储数据时,首先确定待存储数据所占用的需要存储空间总量,比如说该待存储数据为300M,那该待存储数据所占用的需求存储空间总量就为300M。
根据需求存储空间总量,确定存储块数量。具体来讲,每个存储块所具有的存储空间是有限的,比如说每个存储块的存储空间可能是50M或者是100M等等。所以将需求存储空间总量与存储块的存储量之间的比值向上取整作为需要存储块的量。比如说待存储数据的总量为,200M,每个存储块的存储量为55M,得到的比值为3.64,然后向上取整得到的整数为4,所以需要4个存储块来存储该待存储数据。
如图3所示,在得到需求的存储块的数据之后,从空闲块链表结构中的起始块号1开始分配4个存储块的空间存储数据,将待存储数据依次存储到这4个存储块中,在存储块被占用之后,最后一个结尾的存储块的标识位将被写入结束标识z,该标识表征了无下一个存储块。比如如图3所示为存储块结构为在第一到第四个存储块中存储了数据之后的结构,第一到第四的存储块中存入了数据之后,第四个存储块的标识位将被写入结束标识z,这样前4个存储块就被占用,并且该以那一个存储块作为结尾存储块也在标识位中标识,同时需要修改空闲块链表结构中起始块号由1修改为5,结束块号为n,总空闲块数为n-4。
进一步,在本发明实施例中,在检测到待存储数据需要删除时,装置将在存储块中删除待存储数据,并且将存储块移至存储空间的结尾,并将存储块的结尾的标识位写入结束标识。
具体来讲,如图4所示为删除存储块之后,把存储块占用的空间释放出来,具体操作:此时空闲块链表起始块号为5,结束块号为n,总空闲块数为n-4,存储块的起始块号为1,结束块号为4,总占用块数为4,删除存储块后,需要修改空闲链表结构中的值,起始块号为4不变,结束块号n的结束标识z修改为1,用来指示下一块块号为1,结束块号修改为4,总的空间块为n,通过对空间块链表结构的修改实现了存储空间的分配以及回收,通过该方案就不需要进行碎片整理,简化了流程,有效提升了数据的存储以及存储空间的回收。
综上来讲,本发明提供的数据存储方法有效的提升了空间分配处理,实现对系统空间分配、垃圾回收与碎片整理,为应用程序的下载、执行提供充足的空间。
对应本发明实施例中一种数据存储方法,本发明实施例中还提供了一种数据存储装置,如图5所示为本发明实施例中一种数据存储装置的结构示意图,该装置包括:
确定模块501,用于在接收到待存储数据时,确定所述待存储数据所占用的需求存储空间总量;
分析模块502,用于根据所述需求存储空间总量,确定存储块数量,其中,所述存储块包括数据存储位以及标识位,所述标识位用于标识下一空闲存储块;
写入模块503,用于将所述待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,所述结束标识表征无下一空闲存储块。
进一步,所述装置还包括:
处理模块,用于获取总存储空间;按照预设规则,将所述总存储空间划分为N个存储块,将每个存储块划分为存储空间以及标识位,其中,N为大于等于2的正整数。
进一步,所述处理模块,还用于将所述标识位按序写入空闲标识,将所述最后标识的存储块的标识位写入结束标识,其中,空闲标识用于标识下一空闲存储块。
进一步,所述分析模块502,具体用于确定每个存储块的存储量;将需求存储空间总量与所述存储量之间的比值向上取整作为需要的存储块数量。
进一步,所述处理模块,还用于在检测到删除所述待存储数据时,在存储块中删除所述待存储数据;将所述存储块移至所述存储空间的结尾,并将所述存储块的结尾存储块的标识位写入结束标识。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种数据存储方法,其特征在于,所述方法包括:
在接收到待存储数据时,确定所述待存储数据所占用的需求存储空间总量;
根据所述需求存储空间总量,确定存储块数量,其中,所述存储块包括数据存储位以及标识位,所述标识位用于标识下一空闲存储块;
将所述待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,所述结束标识表征无下一空闲存储块;
在确定所述待存储数据所占用的需求存储空间总量之前,所述方法还包括:
获取总存储空间;
按照预设规则,将所述总存储空间划分为N个存储块,其中,N为大于等于2的正整数;
将每个存储块划分为存储空间以及标识位。
2.如权利要求1所述的方法,其特征在于,在将每个存储块划分为存储空间以及标识位之后,所述方法还包括:
将所述标识位按序写入空闲标识,其中,空闲标识用于标识下一空闲存储块;
将所述最后标识的存储块的标识位写入结束标识。
3.如权利要求1所述的方法,其特征在于,根据所述需求存储空间总量,确定存储块数量,包括:
确定每个存储块的存储量;
将需求存储空间总量与所述存储量之间的比值向上取整作为需要的存储块数量。
4.如权利要求1所述的方法,其特征在于,在并将最后占用的存储块的标识位写入结束标识之后,所述方法还包括:
在检测到删除所述待存储数据时,在存储块中删除所述待存储数据;
将所述存储块移至所述存储空间的结尾,并将所述存储块的结尾存储块的标识位写入结束标识。
5.一种数据存储装置,其特征在于,包括:
确定模块,用于在接收到待存储数据时,确定所述待存储数据所占用的需求存储空间总量;
分析模块,用于根据所述需求存储空间总量,确定存储块数量,其中,所述存储块包括数据存储位以及标识位,所述标识位用于标识下一空闲存储块;
写入模块,用于将所述待存储数据存储于确定的存储块中,并将最后占用的存储块的标识位写入结束标识,其中,所述结束标识表征无下一空闲存储块;
所述装置还包括:
处理模块,用于获取总存储空间;按照预设规则,将所述总存储空间划分为N个存储块,将每个存储块划分为存储空间以及标识位,其中,N为大于等于2的正整数。
6.如权利要求5所述的装置,其特征在于,所述处理模块,还用于将所述标识位按序写入空闲标识,将所述最后标识的存储块的标识位写入结束标识,其中,空闲标识用于标识下一空闲存储块。
7.权利要求5所述的装置,其特征在于,所述分析模块,具体用于确定每个存储块的存储量;将需求存储空间总量与所述存储量之间的比值向上取整作为需要的存储块数量。
8.如权利要求5所述的装置,其特征在于,所述处理模块,还用于在检测到删除所述待存储数据时,在存储块中删除所述待存储数据;将所述存储块移至所述存储空间的结尾,并将所述存储块的结尾存储块的标识位写入结束标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808303.5A CN106383666B (zh) | 2016-09-07 | 2016-09-07 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808303.5A CN106383666B (zh) | 2016-09-07 | 2016-09-07 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106383666A CN106383666A (zh) | 2017-02-08 |
CN106383666B true CN106383666B (zh) | 2020-05-01 |
Family
ID=57939494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610808303.5A Active CN106383666B (zh) | 2016-09-07 | 2016-09-07 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383666B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11347653B2 (en) * | 2018-08-31 | 2022-05-31 | Nyriad, Inc. | Persistent storage device management |
CN109189793A (zh) * | 2018-09-13 | 2019-01-11 | 杭州晨晓科技股份有限公司 | 一种业务数据的链表存储方法及装置 |
CN113495744B (zh) * | 2020-03-19 | 2024-08-27 | 华为技术有限公司 | 一种版本升级方法及相关装置 |
CN113296689B (zh) * | 2020-07-27 | 2022-04-26 | 阿里巴巴集团控股有限公司 | 存储空间估算方法、装置、电子设备及可读存储介质 |
CN113535224A (zh) * | 2021-07-20 | 2021-10-22 | 广州小鹏汽车科技有限公司 | 数据管理方法及其装置、电子设备和可读存储介质 |
CN114296637B (zh) * | 2021-12-09 | 2024-05-17 | 广西东信数建信息科技有限公司 | 一种本地存储卷动态创建方法及设备 |
CN115964002B (zh) * | 2023-03-13 | 2023-07-07 | 杭州炬华科技股份有限公司 | 一种电能表终端档案管理方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136110A (zh) * | 2013-02-18 | 2013-06-05 | 华为技术有限公司 | 内存管理方法、内存管理装置及numa系统 |
CN103699341A (zh) * | 2013-12-17 | 2014-04-02 | 飞天诚信科技股份有限公司 | 一种向存储设备中写数据的方法 |
CN103810114A (zh) * | 2014-03-07 | 2014-05-21 | 华为技术有限公司 | 分配存储空间的方法及装置 |
CN104301990A (zh) * | 2014-10-10 | 2015-01-21 | 大唐移动通信设备有限公司 | 一种数据同步的方法及装置 |
CN104503703A (zh) * | 2014-12-16 | 2015-04-08 | 华为技术有限公司 | 缓存的处理方法和装置 |
CN105843748A (zh) * | 2015-01-15 | 2016-08-10 | 华为技术有限公司 | 一种对内存中内存页的处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311227B2 (en) * | 2006-10-31 | 2016-04-12 | Hewlett Packard Enterprise Development Lp | Memory management |
CN105468642A (zh) * | 2014-09-09 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | 数据的存储方法及装置 |
-
2016
- 2016-09-07 CN CN201610808303.5A patent/CN106383666B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136110A (zh) * | 2013-02-18 | 2013-06-05 | 华为技术有限公司 | 内存管理方法、内存管理装置及numa系统 |
CN103699341A (zh) * | 2013-12-17 | 2014-04-02 | 飞天诚信科技股份有限公司 | 一种向存储设备中写数据的方法 |
CN103810114A (zh) * | 2014-03-07 | 2014-05-21 | 华为技术有限公司 | 分配存储空间的方法及装置 |
CN104301990A (zh) * | 2014-10-10 | 2015-01-21 | 大唐移动通信设备有限公司 | 一种数据同步的方法及装置 |
CN104503703A (zh) * | 2014-12-16 | 2015-04-08 | 华为技术有限公司 | 缓存的处理方法和装置 |
CN105843748A (zh) * | 2015-01-15 | 2016-08-10 | 华为技术有限公司 | 一种对内存中内存页的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106383666A (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383666B (zh) | 一种数据存储方法及装置 | |
TWI719281B (zh) | 用於串流選擇之系統、機器可讀媒體、及機器實施之方法 | |
TWI702503B (zh) | 實施用於維護操作之合併樹修改之系統、方法及電腦可讀媒體 | |
US11340812B2 (en) | Efficient modification of storage system metadata | |
KR102289332B1 (ko) | 병합 트리 가비지 메트릭스 | |
US9454473B2 (en) | Efficient allocation and reclamation of thin-provisioned storage | |
JP6014925B2 (ja) | メモリ回収方法および装置 | |
CN101826107B (zh) | 哈希数据处理方法和装置 | |
CN102567427B (zh) | 一种对象数据处理方法及装置 | |
CN105095287A (zh) | Lsm数据合并排序方法和装置 | |
CN103677674B (zh) | 一种数据处理方法及装置 | |
CN102567522B (zh) | 一种智能卡文件系统的管理方法及设备 | |
CN108932271B (zh) | 一种文件管理方法及装置 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN104503703A (zh) | 缓存的处理方法和装置 | |
CN108664577B (zh) | 一种基于flash空闲区的文件管理方法及系统 | |
CN105404691A (zh) | 一种文件存储的方法及装置 | |
CN103425435A (zh) | 磁盘存储方法及磁盘存储系统 | |
CN115878027A (zh) | 一种存储对象的处理方法、装置、终端及存储介质 | |
CN104102735A (zh) | 一种针对数据库文件的文件系统优化方法和装置 | |
CN112596949B (zh) | 一种高效率的ssd删除数据恢复方法及系统 | |
CN109213423A (zh) | 基于地址屏障无锁处理并发io命令 | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
CN106528703A (zh) | 一种重复删除的模式切换方法及装置 | |
CN104951569B (zh) | 文件系统以及采用该文件系统的文件管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |