数据压缩新利器!小精灵ELF助你高效存储与传输

news2024/11/25 17:22:20

存储空间不够用?网络传输太慢?想必每个人在生活中都会遇到这些问题。看着爆满的硬盘、焦急的等待数据的接受,更新设备?不是每个人都能承担这个成本。那不如尝试一下无损压缩?

为了减少存储空间的占用,提高传输效率,START团队提出了一个高效的流式浮点类型数据无损压缩算法——“小精灵ELF”。利用小精灵平均可以将原本100GB的数据可以压缩到33GB

 ELF特点介绍  

小精灵ELF是一种无需复杂计算针对编码的流式无损压缩算法,这意味着ELF应用场景非常广泛。小精灵ELF的压缩率平均有33%,也就是100GB的数据可以被压缩成33GB。此外小精灵ELF压缩1000条数据平均仅需要0.048毫秒,这个压缩率和压缩速度是目前绝大多数压缩算法达不到的。

在各个领域里,会不断地产生大量的浮点类型时序数据。使用小精灵ELF最明显的好处就是我们进行压缩处理后,数据所占空间变小,这样可以有效地节省存储成本。我们可以在电商平台上看到机械硬盘的价格大约是200-300元1TB,波音787飞机一次飞行大约产生0.5TB数据,使用小精灵ELF压缩后一次存储一次飞行产生的数据就可以节约大约50元的存储成本。更何况像发电厂这种每秒收集上万条数据的场景,ELF具有的33%的压缩率意味着在存储上可以节省2/3的成本,还不包括对存储器后续的维护费用。

▲数据来源为京东商城中销量较高的产品数据

那这些数据的收集传输也是一个消耗大量时间成本的事情。小精灵ELF的压缩不需要依靠很大的算力,十分适合部署在每个传感器内,在数据被收集后可以直接进行快速地压缩,将压缩后的数据进行传输。这意味着在相同的网络带宽中,可以提高三倍的数据传输速度。压缩的过程可以由每个传感器同时进行,数据可以收集一个压缩一个,而不用收集大量数据后进行压缩,这是小精灵流式压缩的优势所在。

欢迎大家尝试使用小精灵ELF,让你存储空间不发愁,网络传输不添堵。

 技术解密 

ELF是怎么对数据进行压缩的呢?小精灵ELF实际上是巧妙的采用擦除的方式对数据进行处理的方法。怎么擦除呢?我们举了一个例子如下图,ELF可以找到数据的一个合适的低位置为零,之后进行异或操作,可以产生更多尾随零。图中的尾随零就从2bits,提高到了44bits,这样压缩率较直接进行异或有着明显提升。由于低位对原数据大小影响较小,所以ELF也可以向上取整得到原数据。

▲图为小精灵ELF压缩示例

更多的技术揭秘可见:基于擦除的浮点无损压缩无损时序压缩Elf+

参考文献

[1] Ruiyuan Li, Zheng Li, Yi Wu, Chao Chen, Yu Zheng. Elf: Erasing-based Lossless Floating-Point Compression[C]//in The 49th International Conference on Very Large Data Bases, PVLDB, 16(7): 1763 - 1776, 2023.

转载请注明:康瑞部落 » 数据压缩新利器!小精灵ELF助你高效存储与传输

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/529749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Netty》从零开始学netty源码(五十七)之ServerBootstrap.bind()

目录 ServerBootstrap.bind()initAndRegister()init()register()doBind0() ServerBootstrap.bind() 在第一篇的HelloWorld中通过ServerBootstrap.bind()方法绑定端口号并最终启动Netty的服务,服务端的bind过程如下: 上面的代码主要分成两部分&#xff0…

【P20】JMeter XPath提取器(XPath Extractor)

文章目录 一、准备工作二、测试计划 一、准备工作 百度:https://www.w3school.com.cn/example/xmle/cd_catalog.xml 进入网页后,右键检查或按F12,打开调试工具 如图,使用XPath提取器(XPath Extractor)获取…

typescript学习笔记(下)

1、类型拓宽 所有通过 let 或 var 定义的变量、函数的形参、对象的非只读属性,如果满足指定了初始值且未显式添加类型注解的条件,那么它们推断出来的类型就是指定的初始值字面量类型拓宽后的类型,这就是字面量类型拓宽。 下面我们通过字符串…

数据结构-排序-(选择、堆排序、归并排序、基数排序)

目录 一、选择排序 二、堆排序 排序 效率分析 三、归并排序 排序 分析 四、基数排序 一、选择排序 思想:每趟在待排序元素中选取关键字最小的元素加入有序子列 不稳定性 空间复杂度:O(1) 时间复杂度: void swap(int &a,int &…

[Linux] 动态 / 静态库的生成与使用

文章目录 简要概念 静态库生成使用 动态库生成使用 简要概念 库一般分为两种: 静态库动态库 在 Linux 中: 如果是动态库,库文件是以 .so 作后缀的如果是静态库,库文件是以 .a 作后缀的 库文件的命名: libXXX.so …

RBTree

目录 红黑树的概念 红黑树性质 红黑树节点设计 红黑树的插入 红黑树的验证 红黑树和AVL树的比较 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的…

Point-SLAM: Dense Neural Point Cloud-based SLAM阅读记录

前言 只读了前半部分就感慨文章结构真的好清晰,从Introduction到related work完完全全都在体现它的motivation——他做了一件什么事情?以及为什么要这么做?解决了什么问题。 第一遍阅读 keywords: 以RGBD作为输入 使用点云表示场景的 dens…

【P21】JMeter XPath2 提取器(XPath2 Extractor)

文章目录 一、准备工作二、测试计划 一、准备工作 百度:https://www.w3school.com.cn/example/xmle/cd_catalog.xml 进入网页后,右键检查或按F12,打开调试工具 如图,使用XPath2 提取器(XPath2 Extractor)…

python 使用pandas或xlrd、xlwt实现对Excel的读取、添加、追加等一系列封装

不说了,又是造轮子的一天。在此我要严重批评CSDN或百度一堆浑水摸鱼的,某些人明明代码明显报错也来上传发博客,要么就是标题党,代码没报错但压根就不是实现那个功能的,简直是浪费时间。 废话不多说直接贴代码&#xff…

Linux—网络基础

目录 计算机网络背景 网络发展 认识 "协议" 网络协议初识 协议分层 OSI七层模型 TCP/IP五层(或四层)模型 网络传输基本流程 协议报头 局域网通信 网络传输流程图 局域网通信图 跨网络通信图 数据包封装和分用 网络中的地址管理 认识IP地址 认识MAC地址…

8款主流产品原型设计软件分享

在产品设计中,你知道如何选择合适的产品设计软件吗?每个产品设计软件的功能实际上是不同的,不同的产品设计软件应用领域是不同的。 只有深入了解每个产品设计软件的功能和主要适合该软件的行业,我们才能在设计相应的产品时找到合…

linux内核篇-进程及其调度

介绍一个程序从源文件到进程执行的过程 1、编译链接(源文件到二进制文件) Linux 下面二进制的程序也要有严格的格式,称为ELF(Executeable and Linkable Format,可执行与可链接格式) ,这个格式可…

Simulink 和 Gazebo联合仿真控制机械臂【Matlab R2022a】

逛 B 站,偶然发现一个 up 主上传的视频,可以实现 Simulink 中搭建机器人的控制器设计,对运行在虚拟机中 Gazebo 中的机械臂进行控制,链接:三关节机械臂Gazebo-Simulink联合仿真,这让我很感兴趣,…

Web基础 ( 一 ) HTML

1.HTML <input /><input typebutton value按钮 />1.1.概念 1.1.1.HTML文件是什么 HTML表示超文本标记语言&#xff08;Hyper Text Markup Language&#xff09;, HTML文件是一个包含标记的文本文件, 必须有htm标记或者html扩展名。 可以通过浏览器(Browser)直接…

如何用自己公司的知识、流程等来训练Chat GPT?

在玩过 ChatGPT 并向它询问有关世界、金融和初创公司的一般问题后&#xff0c;我开始思考&#xff1a;“如果我可以用我自己的初创公司甚至大型公司的所有流程、知识和商业经验来训练 AI 模型会怎样&#xff1f;企业&#xff1f;” 使用您自己公司的知识、流程等培训 ChatGPT …

华为OD机试 - 计算网络信号、信号强度( Python)

题目描述 网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。 注意:网络信号可以绕过阻隔物。 array[m][n] 的二维数组代表网格地图, array[i][j] = 0代表i行j列是空旷位置; array[i][j] = x(x为正整数)代表i行j列是信号源,…

Python实现哈里斯鹰优化算法(HHO)优化XGBoost回归模型(XGBRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO)&#xff0c;该算法有较强的全…

【A*算法——清晰解析 算法逻辑——算法可以应用到哪些题目】例题1.第K短路

A*算法 A*算法是什么例题1. 第K短路题意解析 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示…

栈和队列的实现

栈 栈的概念 栈也是线性表的一种&#xff0c;但是栈只允许在固定的一端进行插入与删除数据&#xff0c;而进行插入与删除的一端同意称为栈顶&#xff0c;而另一端就称为栈底。简称&#xff1a;后进先出。 压栈&#xff08;push&#xff09;&#xff1a;将数据插入栈顶。 出…

C++进阶——AVL树的构建

C进阶——AVL树的构建 AVL树 概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当 于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landi…