[发明专利]一种基于双层列表结构的容量扩充方法及系统有效
申请号: | 201810111712.9 | 申请日: | 2018-02-05 |
公开(公告)号: | CN108256103B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 王建民;黄向东;张金瑞;刘昆;曹高飞;王晨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数组 存储 列表结构 容量扩充 内存空间 有效减少 拷贝 第一层 替换 创建 | ||
本发明提供一种基于双层列表结构的容量扩充方法及系统,双层列表结构的第一层列表为第一数组,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,每个第二数组用于存储待存储的数据,每个第二数组仅与一个数组标识对应,所述方法包括:当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量;将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,能够有效减少数据在内存中的拷贝次数,有利于提高容量扩充速度;同时能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率。
技术领域
本发明涉及数据管理技术领域,更具体地,涉及一种基于双层列表结构的容量扩充方法及系统。
背景技术
随着云计算、互联网、物联网等现代技术的不断发展和成熟,数据的存储和使用受到了越来越多的关注。数据来源于生活的方方面面,并正在迅速地膨胀变大——企业的生产交易数据、互联网中人与人的交互信息、物联网中传感器回传的监测数据等等。当前,数据的产生速度越来越快,数据的量也越来越大。
流式计算、数据存储、数据分析等都是计算机数据管理技术领域的重要技术。随着数据量的增大,相关技术平台的研发难度也在不断上升。其中,列表结构(List)是最常用的一种数据结构。
在多数编程语言中,内存中的列表结构均支持动态容量扩充。但由于扩充算法的局限性,传统的支持动态容量扩充的内存列表结构在保存海量数据时,会存在扩充速度慢、内存空间浪费的问题。例如,在Java语言中,ArrayList是一种典型的内存列表结构的实现,其在每次容量扩充时都需要对已有数据进行一次复制。此外,其扩充后的容量与当前列表的大小相关,当前列表越大,新扩充的容量就越大。所以,在存储海量数据时,将会存在较为严重的容量扩充速度慢以及内存空间浪费的问题。
有鉴于此,亟需提供一种能够支持快速容量扩充并能够有效提高空间利用率的容量扩充方法及系统,以提高数据处理平台的运行效率。
发明内容
本发明为了克服现有技术中列表结构的容量扩充速度慢且存在严重的内存空间浪费的问题,提供一种基于双层列表结构的容量扩充方法及系统。
一方面,本发明提供一种基于双层列表结构的容量扩充方法,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述方法包括:
S1,当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
S2,将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
优选地,步骤S1中所述当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组具体包括:
若当前所述第一数组的大小为n,则所述新的第一数组的大小为n+d,所述d为预设的大小增量;
相应地,新增一个所述第二数组,新增的所述第二数组与所述新的第一数组中的第n+1个数组标识对应。
优选地,所述步骤S1之后还包括:当新增的所述第二数组中存储的数据数量达到所述最大值时,继续增加所述第二数组的数量,直至所述第二数组的数量与所述数组标识的数量相等。
优选地,新增的所述第二数组的大小为所述最大值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810111712.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有破冰功能的铲雪设备
- 下一篇:一种市政园林用铲