随着云计算、互联网、物联网等现代技术的不断发展和成熟,数据的存储和使用受到了越来越多的关注。在多数编程语言中,内存中的列表结构均支持动态容量扩充。但由于扩充算法的局限性,传统的支持动态容量扩充的内存列表结构在保存海量数据时,会存在扩充速度慢、内存空间浪费的问题。
本发明能够有效减少数据在内存中的拷贝次数,有利于提高容量扩充速度;同时能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率,也有利于提高数据的查询效率。
本发明提供一种基于双层列表结构的容量扩充方法及系统,双层列表结构的第一层列表为第一数组,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,每个第二数组用于存储待存储的数据,每个第二数组仅与一个数组标识对应,所述方法包括:当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量;将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组。
本项目的研究成果可运用于建立 Apache IoTDB 集群、分布式版本架构,有助于 IoTDB 更广泛的工业场景运用。目前,以 Apache IoTDB 为核心的物联网原生时序数据库管理系统已在国家电网、国家气象局、中航成飞、中核集团、长安汽车、金风科技等企业广泛应用。
天谋科技由 Apache IoTDB 核心团队创立,团队聚焦大数据底层技术软件研发,针对企业组建物联网大数据平台时所遇到的数据体量大、采样频率高、数据乱序到达、分析需求多、存储与运维成本高等多种问题,为企业提供海量时序数据管理的高效解决方案。创始团队由 Apache(国际最大开源软件基金会)旗下 IoTDB、PLC4X 两大开源物联网项目的发起人和核心开发者组成,汇集了来自清华大学、UC Berkeley、微软、德国弗劳恩霍夫协会(Fraunhofer-Gesellschaft)、德国法兰克福能源集团等一批数据库核心技术科学家和工业资深专家,拥有十几年研究和服务工业用户的经验。在时序数据管理领域,团队成员拥有中国、美国、欧洲等发明专利30余项,并在 ICDE, SIGMOD, VLDB 等数据库顶级会议上发表论文多篇。
近年来伴随物联网和工业互联网行业的发展,高效的物联网/工业物联网数据管理技术成为工业界的需求热点。针对工业场景中机器设备、传感器等终端上报的时序数据(按时间记录的数据列),时序数据库 Apache IoTDB 为更好的管理时序数据提供了出色的解决方案,能够帮助企业更好的挖掘时序数据价值。
技术由天谋科技(北京)有限公司的 IoTDB 核心团队研发,预计应用于各工业领域公司以 IoTDB 为主体的时序数据管理平台中。