问题标签 [chunking]

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.

0 投票
0 回答
1625 浏览

php - PHP 脚本看门狗定时器

对于社区,我目前正在编写一个 PHP 脚本来使用标准块提供文件,如下所示:

我想做的是在 flush() 之后添加某种方法,例如 timerReset(); 然后在某种计时器循环中:

这样,如果远端停止接收数据包和/或无法跟上流,我将能够执行以下操作: a) 更改编码比特率。b) 停止脚本并清理/释放资源。

我知道 Apache / PHP 可以协商诸如 Keep-Alive 等标头,但我不知道如何准确地利用它们,和/或真正利用它们。
使用 AJAX 服务是不可取的。这里的目标是使用应用服务器通过互联网将媒体内容从文件服务器流式传输到移动设备。我也考虑过编写一个“应用程序”,但是跨平台编码(android/bb/iOS/W7M)以及我对 SmallTalk(ObjectiveC)的极其有限的知识会增加不必要的复杂性。

0 投票
3 回答
2626 浏览

clojure - 在 Clojure 中,惰性 seq 总是分块吗?

我的印象是惰性序列总是被分块的。

正如预期的那样,打印了 32 个点,因为返回的惰性序列range被分块为 32 个元素块。但是,当range我不是用自己的函数尝试这个时get-rss-feeds,惰性序列不再被分块:

只打印了一个点,所以我猜返回的lazy-seqget-rss-feeds没有​​分块。确实:

这是来源get-rss-feeds

因此,chunkiness 似乎取决于惰性 seq 的产生方式。我查看了该函数的源代码,range并且有迹象表明它是以“矮胖”的方式实现的。所以我有点困惑这是如何工作的。有人可以澄清一下吗?


这就是我需要知道的原因。

我必须遵循代码:(get-rss-entry (get-rss-feeds h-res) url)

调用get-rss-feeds返回我需要检查的提要的惰性 URL 序列。

调用get-rss-entry查找特定条目(其 :link 字段与 get-rss-entry 的第二个参数匹配)。它检查由返回的惰性序列get-rss-feeds。评估每个项目需要跨网络的 http 请求来获取新的 rss 提要。为了最大限度地减少 http 请求的数量,重要的是要逐个检查序列并在匹配时立即停止。

这是代码:

entry-with-url如果没有匹配,则返回惰性匹配序列或空序列。

我对此进行了测试,它似乎可以正常工作(一次评估一个提要网址)。但我担心在某个地方,它会以某种“笨重”的方式开始表现,它会开始一次评估 32 个提要。我知道有一种方法可以避免此处讨论的笨拙行为,但在这种情况下似乎甚至不需要。

我是否以非惯用方式使用惰性序列?循环/重复会是更好的选择吗?

0 投票
1 回答
197 浏览

php - 重新加入分块的 HTML 5 上传

我们从头开始使用文件 api 构建了一个 HTML5 上传器,没有外部库,它工作正常,直到我们尝试上传大于 150MB 的文件。此时我们意识到我们需要将文件作为块上传。

Javascript 方面正在由拆分文件和上传的其他人进行排序。我正在处理 PHP 方面的工作,需要知道我需要查看什么来确定如何重新加入这些块。

我需要修改每个块的标题吗?

在等待下一个时我应该如何排队?

我们在做这个很长的路要走吗?

0 投票
3 回答
1997 浏览

python - python:是否有用于分块输入流的库函数?

我想分块输入流以进行批处理。给定一个输入列表或生成器,

我想要一个可以返回该输入块的函数。说,如果chunk_size=4,那么,

这是我一遍又一遍地做的事情,并且想知道是否有比自己编写更标准的方法。我错过了什么itertools吗?enumerate(可以用and解决这个问题groupby,但感觉很笨拙。)如果有人想看到一个实现,这里是,

编辑

受 kreativitea 回答的启发,这里有一个解决方案islice,它很简单且不需要后过滤,

0 投票
2 回答
4101 浏览

r - 用于重复距离矩阵计算和超大距离矩阵分块的高效(内存)函数

我想知道是否有人可以查看以下代码和最小示例并提出改进建议 - 特别是在处理非常大的数据集时代码的效率。

该函数采用 data.frame 并将其按分组变量(因子)拆分,然后计算每组中所有行的距离矩阵。

我不需要保留距离矩阵——只需要一些统计数据,即平均值、直方图 ..,然后它们可以被丢弃。

我对内存分配等知之甚少,我想知道最好的方法是什么,因为我将处理每组 10.000 - 100.000 个案例。任何想法将不胜感激!

此外,如果我遇到严重的内存问题,将 bigmemory 或其他一些大型数据处理包包含到函数中最不痛苦的方法是什么?

编辑:我编辑了标题以反映我作为答案发布的分块问题。

0 投票
1 回答
10212 浏览

java - 如何处理服务器上的文件上传块(Plupload/Spring MVC)?

在我们的客户端上,可以上传大文件。我们想使用分块来减少请求的大小。我们正在使用Plupload,因此很容易以块的形式发送文件。但是,我不确定如何处理这些块。我们在服务器上使用 Spring MVC,我的控制器方法目前有以下内容:uploadMedia(@RequestBody MultipartFile file)where MultipartFileis org.springframework.web.multipart.MultipartFile. 这在不进行分块时工作得很好。当我在客户端打开分块时,它仍然可以很好地进入这个方法,但是我没有看到传入的文件中有任何东西可以识别块是哪个文件的一部分。希望我只是错过了一些东西。

这似乎是一个常见的工作流程,但我似乎找不到任何关于如何在服务器端完成此操作的好例子。只有 Spring 的解决方案会很棒,但如果需要另一个库,那也很好。我查看了一些Apache Commons FileUpload,但我在那里找不到任何关于分块的信息。对此的任何帮助都会很棒。谢谢。

0 投票
2 回答
7588 浏览

spring-batch - Spring Batch 中的块读取 - 不仅是块写入

我的假设

据我了解,Spring Batch 中的“面向块的处理”帮助我在单个事务中有效地处理多个项目。这包括有效使用来自外部系统的接口。由于外部通信包括开销,它也应该是有限的和面向块的。这就是为什么我们有提交级别的ItemWriter. 所以我不明白的是,为什么ItemReader仍然需要逐项阅读?为什么我也不能读取块?

问题描述

在我的步骤中,读者必须调用网络服务。并且作者会将这些信息发送到另一个网络服务。这就是为什么我不想尽可能少地打电话。

的界面ItemWriter是面向块的 - 正如你肯定知道的那样:

ItemReader不是:

作为一种解决方法,我实现了一个ChunkBufferingItemReader,它读取项目列表,存储它们并在read()调用其方法时一个接一个地返回项目。

但是现在当涉及到异常处理和重新启动作业时,这种方法变得混乱。我觉得我在这里工作,框架应该为我做的。

问题

所以我错过了什么吗?我刚刚忽略的 Spring Batch 中是否有任何现有功能?

另一篇文章中,建议将返回类型更改ItemReader为 a List。但是我ItemProcessor将不得不从单个输入发出多个输出。这是正确的方法吗?

我很乐意接受任何最佳实践。提前致谢 :-)

0 投票
1 回答
462 浏览

asynchronous - 分块是否包含异步执行?如何异步流式传输块?

在 Play 文档中,块被引入作为“流内容”的解决方案。我不确定是否可以在不阻塞 HTTP 线程的情况下缓慢生成流式内容,或者我是否必须通过更改(sc声明为Chunks)单独将块转换为 AsyncResult:

至:

使用第二种解决方案时,这些块不会逐渐出现在浏览器中,我希望它们这样做。提前致谢。

0 投票
2 回答
3128 浏览

search - 识别字符串中的名称

我想找到一种在我网站上的用户搜索查询中识别人名、地名等的好方法。例如,如果用户问“乔治华盛顿多大了”,我需要能够从预定义的列表中知道乔治华盛顿是一个人。

有些列表是全局的,有些是用户特定的。例如,如果他们问“约翰史密斯多大了”,我可能只想确定我的同事的特定约翰史密斯——如果他不是我的同事,我不想将他识别为一个人。

是否有任何 NLP 库或这些列表的爬行,我可以利用 Soundx、成熟的 NLP、拼写错误等功能?我可以手写,但我宁愿利用成熟的东西。谢谢。

0 投票
2 回答
2435 浏览

c# - 分块下载文件(Windows Phone)

在我的应用程序中,我可以从网上下载一些媒体文件。通常我使用WebClient.OpenReadCompleted方法来下载、解密并将文件保存到 IsolatedStorage。它运作良好,看起来像这样:

但经过一番调查,我发现对于大文件(对我来说超过 100 MB),我在下载此文件时遇到OutOfMemory异常。我想那是因为 WebClient.OpenReadCompleted 将整个流加载到 RAM 中并阻塞......而且我需要更多内存来解密这个流。

经过另一次调查,我发现如何在 OpenReadCompleted 事件后将此文件保存到独立存储(或解密然后保存在我的情况下)后将大文件分成块,但这只会帮助解决部分问题......主要问题是如何在下载过程中防止电话阻塞有没有办法分块下载大文件?然后我可以使用找到的解决方案通过解密过程。(我仍然需要找到一种方法将如此大的文件加载到 mediaElement 中,但这将是另一个问题)


回答: