1

我编写了一个 xquery,用于从 Marklogic 将主文件及其相关文件导出为 zip 文件。现在我有一个需要导出大量此类文件的要求。我想到的很明显的方法是zip文件的zip。为了准确解释假设有2个文件需要导出A和B,这两个文件中的每一个都可能有一些与之关联的子文件说A有三个子文件,即A1,A2和A3,同样B有2个子文件,即B1 和 B2。所以我的想法是为每个文件及其子文件创建一个 zip,最后从所有 zip 文件中创建一个 zip 文件。

Zip-->zip1-->(A,A1,A2,A3)
   -->zip2-->(B,B1,B2)

想知道这种方法是否好,或者是否有其他更好的批量导出方法可用。

4

3 回答 3

1

考虑一下这种情况,您不仅要批量导出 A 和 B,还可能有 50 万个类似 A/B 的文件。您将创建 50 万个 zip 文件,但还要将其包装在一个巨大的 zip 文件中。听起来您应该考虑分批处理文件,并返回多个 zip 文件,每个文件包含 10 到 1000 个文件。究竟有多少取决于您的系统有多少内存。考虑创建并行运行和创建 zipfile 的批处理的想法。

zips 中的 Zips 听起来也有点矫枉过正,您也可以在 zips 中使用文件夹。但除此之外,它应该可以工作。

于 2012-12-12T13:29:53.117 回答
0

还要意识到 zip 文件或其包含的文件的最大大小为 4G。这可能会阻碍您对一个大拉链的想法。

于 2012-12-14T21:38:06.487 回答
0

我同意嵌套拉链可能是不必要的。就出口而言,没有必要重新发明轮子:看看http://marklogic.github.com/xqsync/http://docs.marklogic.com/guide/ingestion/content-泵

于 2012-12-12T17:06:37.897 回答