Pagination 具有大量数据的Web服务

Pagination 具有大量数据的Web服务,pagination,service,Pagination,Service,我目前正在使用JAX-WS和自底向上方法设计一组Web服务 我的一些服务的问题是它们将用于报告活动,因此它们很可能返回大量数据。从客户的角度来看,我最关心的显然是响应时间 我正在考虑不同的选择: 分页:这涉及到修改我的操作,并通过添加一个或多个参数来选择要检索的页面或数据块,使它们了解返回的大量数据 数据过滤:这还涉及通过添加一个操作参数来改变我的服务,以根据某些条件过滤数据 在做了大量研究之后,我觉得这方面没有最佳实践很奇怪,因为我认为我不是第一个遇到这个问题的人 谁能提供一些建议或指出我

我目前正在使用JAX-WS和自底向上方法设计一组Web服务

我的一些服务的问题是它们将用于报告活动,因此它们很可能返回大量数据。从客户的角度来看,我最关心的显然是响应时间

我正在考虑不同的选择:

  • 分页:这涉及到修改我的操作,并通过添加一个或多个参数来选择要检索的页面或数据块,使它们了解返回的大量数据

  • 数据过滤:这还涉及通过添加一个操作参数来改变我的服务,以根据某些条件过滤数据

在做了大量研究之后,我觉得这方面没有最佳实践很奇怪,因为我认为我不是第一个遇到这个问题的人

谁能提供一些建议或指出我可以在哪里找到关于这个问题的信息


提前谢谢。

你可能两样都想要

如果可以将筛选器参数传递给Web服务,那么就这样做,并在Web服务中应用它们,而不是在客户端上发送所有数据和进行筛选


如果客户端按页面显示数据,则在Web服务中提供分页机制。如果其他进程可能需要一次获取完整的数据集,并且可以等待更长的时间,则将其设置为可选的。

分页一直在进行,但实际上,我会同时使用这两种方法。如果您正在处理大量返回的数据,您的用户几乎肯定希望能够对其进行过滤。同时查看数千条记录对任何人都没有用处。每当您面临从任何地方获取大量数据的危险时,分页都是一种方法


我认为分页是这里的最佳实践。

您必须提供lil更多信息。。。瓶颈在哪里?计算、获取或发送到客户端?你所说的大量数据是什么意思?你是对的,没有最佳实践可以让它变得更好。但对于具体的问题,有一些好的做法。用例。请再解释一点。对不起,我没说清楚。目前,我可以预见的瓶颈是与客户的沟通。当我说大量数据时,我指的是5K-10K对象,每个对象有15-20个属性。我想说,这听起来像是一个实际的最佳实践。除了特定的用例外,我敢说,任何返回的数据集超过大约50条记录(取决于显示方案)都需要分页和过滤,以使数据对用户有用。我处理过可能返回数百或数千个结果的案例,虽然这不涉及web服务,但在数据结果显示的案例中,实现并不是那么重要。必须通过过滤和分页对数据进行细化,使其成为对用户有用的信息。