0

在我们的应用程序中,我们将一些图像保存在不同的文件夹中,例如:

1
2
3
4
...
500
...

每个文件夹内都有大量的图片,大小为(5kb-20kb)。

现在我们发现,当我们尝试传输这些文件时,我们必须先使用winrar压缩它们,但是这太费时间了!!还有两个小时来压缩一个父文件夹。

事实上,应用程序中的图像是地图图像,如谷歌地图图块:

http://mt1.google.com/vt/lyrs=m@156067651&hl=en&x=27&y=48&z=7&s=G|| 在此处输入图像描述

所以我想知道是否有一个好主意来保存/传输这些小而大的文件?

4

3 回答 3

1

像这样的图像很可能已经被压缩,因此您在压缩步骤中的带宽使用(以及传输速度)几乎没有什么增益。

如果压缩过程占用了您的 CPU 繁忙的时间,那么请尝试创建一个普通的 tar 文件(它将所有文件合并到一个存档中而不应用任何压缩)。我不知道winrar,但大多数其他压缩工具(如7zip)可以生成tar文件,所以我猜winrar也可以。

如果您定期传输整组文件,但每次只添加/更改少量文件,您可能需要研究其他传输方法,例如rsync. 您没有描述您的任何一个环境,所以我无法判断这是否可能对您可用,但如果它是 rsync 仅传输更改(显着加快传输)并且它也总是使用一个连接,这样您就不会受到 FTP 和其他协议的每个文件延迟的影响 - 一个文件跟随前一个文件在相同的连接下,就好像正在传输的部分已经被tar编辑在一起,所以您不需要额外的步骤来将文件打包在一个和(并在另一个解包)。

于 2011-06-23T14:19:28.350 回答
0

Maybe you can use a fast compression library like Snappy. However, it can only compress a single file, and you surely don't want to transfer each file separately. I'd create an uncompressed TAR archive for that.

于 2011-06-23T14:24:43.167 回答
0

这些图像已经被压缩。但是,为了提高传输速度,您可以尝试在“存档”模式下使用 rar。这与 tar 的作用相同:将所有文件连接到一个大文件中。不要在存档格式中使用任何压缩。

于 2011-06-23T14:17:18.110 回答