我正在尝试使用异步RPC调用将大型二维数组(17955 X 3)从我的服务器传输到客户端。这需要很长一段时间,这是特别糟糕的,因为需要数据才能初始化应用程序。我已经读过使用JSON对象可能会更快,但我不确定如何在Java中进行转换,因为我对语言和GWT很新,我不知道速度差异是否显着。我也读过一些我可以压缩数据的地方,但我只是在一个论坛中读到它,我不确定它是否真的可能,因为我无法在其他地方找到它的信息。有没有办法将大量数据从服务器传输到客户端?谢谢你的时间。
答案 0 :(得分:0)
关于向GWT添加 JSON 功能,请阅读this article。关于压缩this article解释了使用GWT进行gzipping。
即使使用gzipping可以实现压缩,阵列的大小仍然非常大,这取决于阵列中重复的数据量。如果可能的话,您可能需要考虑在多个RPC调用中逻辑分解数组。
答案 1 :(得分:0)
如果您的应用程序需要如此大量的数据来初始化,我建议您重新访问您的设计。
答案 2 :(得分:0)
正如其他人指出的那样,你应该重新考虑你的设计,因为即使你能够以某种方式解决数据传输速度问题,你也可能会发现其他问题等着你:
你能想到的是:
对数据进行分区:
您的用户如何应对大量数据。您的用户可能需要某种用户界面辅助才能使用如此庞大的数据。如果您打算使用分页,制表符或其他方法对数据进行分区以供用户使用,那么为什么不按需加载数据。例如,如果使用分页网格,则可以加载单页记录,或者如果要使用选项卡,则可以加载单个选项卡。类似地,如果您要允许对记录进行过滤,则可以在加载后设置默认过滤器以将数据保持为最小值。
汇总数据:
如果您不打算向用户显示每一行,您还可以汇总服务器上的数据。例如,您最初可以显示每组记录的摘要,并让用户在特定组中进行深入分析