1

我正在寻找一种有效且安全的方法来无限期地存储少量用户数据(例如一行文本)。场景:一个客户端“A”通过服务器“S”异步向另一个客户端“B”发送一些数据。为简单起见,将数据视为单行文本。现在,只有当 B 要求时,此数据才会由服务器“S”传递给客户端“B” 。所以直到那个时候服务器'S'必须存储这些数据。

对于一个简单的演示,我非常粗略地实现如下:
客户端'A'使用XMLHttpRequest进行POST请求,将文本发送到'S'如下

    xhr.open("POST",url+"?sentText=text"); //url points to a php file on S
    xhr.send(); 

然后 PHP 代码将接收到的文本保存到文件中,如下所示:

    <?php
    $selected = $_GET["sentText"];
    $writefile = "text.txt";
    $fh = fopen($writefile,'w');
    fwrite($fh,$selected);
    fclose($fh);
    ?>

稍后,经过一段时间后,B 使用 BufferedInputStream 请求此文件中的文本,如下所示:

    URL fileurl = new URL("url/text.txt");
    BufferedReader in = new BufferedReader(new InputStreamReader(fileurl.openStream()));
    while((tmpReceived = in.readLine())!=null){
       received = tmpReceived;
    }

这个演示工作正常,但这只是一个演示。但是,如果这是一个拥有数百万用户的全面现实世界应用程序,我将如何实现以下内容:

服务器 S 存储文本的部分。显然,我不能将文本作为纯文本保存在文件中,因为它会侵犯我用户的隐私。当有数百万用户时,它也将是低效的。像 Dropbox 这样的商业服务是如何做到这一点的?

为了简单起见,我只需要知道如何对文本执行此操作,然后我就可以推断出其他类型。

非常感谢!

4

0 回答 0