如何在分页时处理大型选择集

By simon at 7 天前 • 0人收藏 • 6人看过

我正在开发一个文档管理平台。 用户可以将文档上传到 web 应用程序,编辑他们的元数据,并执行任务(例如通过电子邮件将文档发送给收件人)。

我们的用户需要能够从一个搜索结果中选择任意数量的文档。 他们可以一个一个地挑选文件,或者点击"全选"按钮。 我们可能需要选择成千上万的文档。

在搜索文档时,我们在 Datatables 表中显示分页的结果。 这意味着在为任务选择文档时,我们需要将选择集存放在某个地方,因为数据表只知道当前显示的行。 目前,我们将文档的 GUIDS 储存在一个隐藏的页面元素中。

这被证明是不够的,因为我们正面临这种方法的问题:-当选择所有文档时,可能存在并发性问题。 如果在用户进行搜索和计划任务之间上传了更多符合当前搜索条件的文档,那该怎么办? 这可能导致对文件的非预期处理。 - 如果在客户机选择"Select all"(为了避免上面的并发问题)时将所有 guid 发送给客户机,则列表可能太大,无法作为 JSON 对象发送。 - 也可能出现相反的情况: 如果客户端的列表太大而无法发送到服务器端,该怎么办?

我的问题是: 存储和处理大型用户选择集的更好方法是什么?

登录后方可回帖

Loading...