问题标签 [data-compression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 在 SQL Server 2008 上存储气象数据的设计问题
我们使用的是 SQL Server 2008 R2 企业版。
我们正在测量来自我们称之为 MetMast 的气象数据。基本上这是一个有很多设备的桅杆;桅杆上不同位置的风速计(用于风速)、温度计和气压。我们每一秒都在测量。
而且它占用了太多的磁盘空间。该设备的下一代每年将产生超过 10 GB 的容量。我们将拥有超过 1000 个。
当前的表格设计看起来有点像这样:
数据一次写入,多次读取。
我们在数据仓库中使用它,这是一个典型的问题;根据 MetMast,计算当温度高于 20 度时 WindSpeedAt10m 和 WindSpeedAt30m 之间存在 2 m/s 差异的次数。
将来会接受一点点数据丢失。
我们在这里谈论数据的有损压缩。我知道我们必须为每个字段定义一个可接受的错误,如果我们以 10% 的准确度进行测量,则为 1%。
它适用于声音文件(MP3 很大),所以它也可能适用于我们。
但是这是怎么做到的呢?
我应该选择什么样的桌子设计?
如何开始对数据库表中的数据进行有损压缩?
最好的祝福,
亨利克·斯坦·波尔森
c++ - 编写一个程序,将文本作为输入并生成一个再现该文本的程序
最近我遇到了一个很好的问题,它看起来很容易理解,但很难找到任何解决方法。问题是:
编写一个程序,从输入中读取文本并在输出上打印一些其他程序。如果我们编译并运行打印的程序,它必须输出原始文本。
输入文本应该相当大(超过 10000 个字符)。
唯一(也是非常严格的)要求是存档(即打印的程序)的大小必须严格小于原始文本的大小。这使得不可能的明显解决方案像
我相信这里会用到一些归档技术。
php - 将1和0的字符串转换为二进制值,然后压缩,PHP
例如,我有一个字符串:PHP 中的“10001000101010001”我用 gzcompress 压缩它,但它压缩 ASCII 等价物。我想压缩字符串,就好像它是二进制数据而不是 ASCII 二进制数据一样。
基本上我有两个问题:
- 如何将 1 和 0 的列表转换为二进制
- 使用 gzcompress 压缩生成的二进制文件
提前致谢。
video - 无损压缩的结果真的是原始数据吗?
我想知道,对数据进行无损压缩的结果是否会与原始数据产生逐位完美匹配,如果是这样,那么进行这种压缩有什么用。使用无损压缩真的有用吗?
printing - 将图像存储在磁盘中
我有一张 1x1 英寸的护照照片,我想将它存储在计算机磁盘中,以最小化尺寸但也能够将其打印回现实世界。
你给我推荐什么?提前致谢。
更新:这个问题是关于图像分辨率的。
python - 压缩测量数据文件
从测量我得到的文本文件基本上包含一个浮点数表,尺寸为 1000x1000。这些占用大约 15MB 的空间,考虑到我在一个系列中得到大约 1000 个结果文件,保存起来是不可接受的。所以我试图在不丢失数据的情况下尽可能地压缩它们。我的想法是将这些数字分组到我期望的范围内的 ~1000 步中并保存它们。这将提供足够的分辨率。但是,我仍然需要考虑 1.000.000 点,因此我生成的文件仍然约为 4MB。我可能无法再压缩它了?更大的问题是计算时间。现在我估计每个文件需要 10-12 秒,所以 1000 个文件大约需要 3 小时。太棒了。这是我想出来的算法,你有什么建议吗?那里'
提前感谢您提供的任何提示!雅各布
python - python/numpy中的数据压缩
我正在考虑使用亚马逊云来满足我的所有模拟需求。生成的 sim 文件非常大,我想将它们移动到我的本地驱动器以便于分析等。您必须为移动的每个数据付费,所以我想将我所有的 sim 解决方案压缩得尽可能小。它们只是以 .mat 文件的形式保存的 numpy 数组,使用:
所以我的问题是,压缩 numpy 数组的最佳方法是什么(它们当前存储在 .mat 文件中,但我可以使用任何 python 方法存储它们),通过使用 python 压缩保存、linux 压缩或两者兼而有之?
我在linux环境中,我对任何类型的文件压缩持开放态度。
algorithm - 使整数列表更人性化
这是我为解决工作中无法修复的问题而进行的一个副项目。我们的系统输出一个代码来表示另一个事物的组合。一些示例代码是:
9-9-0-4-4-5-4-0-2-0-0-0-2-0-0-0-0-0-2-1-2-1-2-2-2- 4
9-5-0-7-4-3-5-7-4-0-5-1-4-2-1-5-5-4-6-3-7-9-72
9-15-0-9-1-6-2-1-2-0-0-1-6-0-7
到目前为止,我看到的其中一个插槽中的最大数量约为 150,但它们可能会更高。
在设计系统时,并没有要求该代码是什么样子。但是现在客户希望能够从一张纸上手动输入,而上面的代码并不适合。我们已经说过我们不会对此做任何事情,但这似乎是一个有趣的挑战。
我的问题是哪里是开始无损压缩此代码的好地方?明显的解决方案(例如使用较短的密钥存储此代码)不是一种选择;我们的数据库是只读的。我需要构建一种双向方法来使这段代码更人性化。
java - 在 Java 中的 Huffman 编码期间无法压缩文件
我已经使用优先级队列在 Java 中实现了 Huffman 编码算法,其中我从根到叶遍历树,并根据符号在输入中出现的次数将编码示例设为 #=000011。一切都很好,树的构建很好,编码正如预期的那样:但是我得到的输出文件比原始文件大。我目前在遍历树的左节点和右节点时将“0”和“1”附加到字符串。可能我最终使用每个字符的所有 8 位,它对压缩没有帮助。我猜这些位需要转换为字符值。这样这些字符使用的位数少于 8,因此我得到了原始文件的压缩版本。您能否告诉我如何通过在 Java 中操作字符和减少位来实现压缩?谢谢
compression - 将一个非常大的文件夹上传到我的服务器的最佳/最快方法是什么?
我有一个大目录,需要上传到新主机的服务器,但是因为我从未传输过这么大的目录(32GB),所以我想知道是否缺少一些东西。
现在,我假设最好的方法是将其压缩成一个 zip 文件,上传到服务器然后解压缩。但是由于某种原因,我的 zip 文件仍然是 32GB 左右!
我已经尝试开始上传文件,而仅仅上传大约 3GB 文件就需要大约 30 个小时!显然这太长了,所以我想知道是否有更好的方法来做到这一点?