【问题标题】:Transferring large arrays from server to client in GWT在 GWT 中将大型数组从服务器传输到客户端
【发布时间】:2011-10-31 20:15:12
【问题描述】:

我正在尝试使用异步 RPC 调用将大型二维数组 (17955 X 3) 从我的服务器传输到客户端。这需要很长时间,这尤其糟糕,因为需要数据来初始化应用程序。我读过使用 JSON 对象可能会更快,但我不确定如何在 Java 中进行转换,因为我对语言和 GWT 还很陌生,而且我不知道速度差异是否很大.我还在某个地方读到了可以压缩数据的地方,但我只在论坛上读过,我不确定它是否真的可行,因为我在其他地方找不到相关信息。有没有办法将大量数据从服务器传输到客户端?感谢您的宝贵时间。

【问题讨论】:

    标签: java javascript json gwt data-transfer


    【解决方案1】:

    阅读this article 了解向 GWT 添加 JSON 功能。关于压缩this article 解释了使用 GWT 进行 gzipping。

    即使使用 gzipping 可以实现压缩,数组的大小仍然非常大,这取决于数组中重复的数据量。如果可能,您可能需要考虑在多个 RPC 调用中在逻辑上分解数组。

    【讨论】:

      【解决方案2】:

      如果您的应用程序需要如此大量的数据来初始化,我建议您重新审视您的设计。

      【讨论】:

        【解决方案3】:

        正如其他人指出的那样,您应该重新考虑您的设计,因为即使您能够以某种方式解决数据传输速度问题,您也可能会发现其他问题在等着您:

        1. 在浏览器中处理大量数据可能会很慢。
        2. 大量数据意味着大量已用完的内存

        你能想到的是:

        对数据进行分区:

        您的用户将如何处理大量数据。您的用户可能需要某种用户界面帮助才能处理如此庞大的数据。如果您打算使用分页、标签或其他方式对数据进行分区以供用户使用,为什么不按需加载数据。例如,如果您使用分页网格,则可以加载单页记录,或者如果要使用选项卡,则可以加载单个选项卡的记录。同样,如果您要允许对记录进行过滤,您可以在加载后设置一个默认过滤器以将数据保持在最小值。

        总结数据:

        如果您不打算向用户显示每一行,您还可以汇总服务器上的数据。例如,您最初可以显示每组记录的摘要,并让用户在特定组中向下钻取

        【讨论】:

          猜你喜欢
          • 2012-02-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多