我同意@Peter Lawrey 的观点,严格按照这些要求,可能无法向客户传递如此重要的信息。
无论如何,我仍然建议三种可能的解决方案,具体取决于您的要求有多灵活:
- 如果你所有的输入字符串都有一个受限制的词汇表(它不允许字母、符号和数字的自由、随机组合,但它被限制为一组特定的商业词、标识符和值),还有一个简单的语法,您可以尝试设计自己的压缩算法。例子:
input symbol compressed symbol
------------ -----------------
client 1
bill 2
date 3
amount 4
value 5
price 6
tax 7
如果语法简单但词汇量没有那么受限,您可以执行初始自定义压缩以尽可能多地压缩文档的结构,然后执行第二次 GZIP 压缩以压缩数据。
并且不要忘记您必须将客户端应用程序与相应的解压缩器捆绑在一起。
无论如何,这不是一件容易的事,我承认。
以流的形式将响应传递给客户端应用程序。如果协议是 HTTP,您可以使用Chunked Transfer Coding
.
如果其他一切都失败了,您将不得不对结果进行分页并按需按页面将它们提供给客户端:客户端进行查询,服务器执行它并仅提供结果的第一页。然后,客户可以选择阅读下一页。