Architecture 与服务器同步的应用程序的推荐体系结构

Architecture 与服务器同步的应用程序的推荐体系结构,architecture,client-server,Architecture,Client Server,我正在制作一个应用程序,将本地输入的数据与服务器同步 挑战 1.应用程序不应停止接受数据 2.Internet连接是间歇性的,这意味着当Internet连接不存在时,它会保持脱机收集数据,并在Internet可用时进行同步 3.安全性强。一旦用户输入了数据,就不能删除它。显然,当数据到达服务器时,它是安全的。当它只在当地,那么它应该是非常安全的 在这里提出建议之前,有很多问题需要回答 1您使用什么系统在本地输入数据?这是一个数据库驱动的应用程序吗?你是说本地文件吗?本地计算机上有什么样的基础设施

我正在制作一个应用程序,将本地输入的数据与服务器同步

挑战 1.应用程序不应停止接受数据 2.Internet连接是间歇性的,这意味着当Internet连接不存在时,它会保持脱机收集数据,并在Internet可用时进行同步
3.安全性强。一旦用户输入了数据,就不能删除它。显然,当数据到达服务器时,它是安全的。当它只在当地,那么它应该是非常安全的

在这里提出建议之前,有很多问题需要回答

1您使用什么系统在本地输入数据?这是一个数据库驱动的应用程序吗?你是说本地文件吗?本地计算机上有什么样的基础设施?本地计算机使用什么操作系统?这是一个什么样的平台,运行在web、厚客户端、win32、java等平台上


你所说的强大的安全性是什么意思。你的意思是用户不能通过他们使用的系统删除记录吗?或者,您是否需要某种方式阻止用户删除存储数据的文件?用户是否具有安装此软件的计算机的root/admin访问权限

我最后选择了Node Webkit,它使用嵌入式chrome浏览器,解决了所有问题。

谢谢你的回答。1它是一台普通的电脑。是的,它是一个数据库驱动的应用程序。基础设施正是普通商品PC所拥有的。操作系统将主要是Windows。平台是我试图探索的东西。在平台的基础上,数据存储的位置将发生变化。2.所谓强安全性,是指用户不能删除刚输入的数据。用户可以访问或不访问计算机的根目录。但我们可以在应用程序中限制他的访问权限。这是否为您提供了足够的内容来回答问题?是的,但是如果用户具有root访问权限,则几乎不可能阻止他们删除数据。你能做的最好的事情就是将数据发送到某个加密的文件中,也许会以某种方式混淆它,然后防止它们选择性地删除数据。他们仍然能够擦除所有内容。如果您真的担心,请为校验和添加第二个文件,每次写入加密文件时,也要写入校验和。当用户连接到服务器时,发送校验和,如果它与文件不匹配,您至少知道已进行了文件更改。当然,除非他们足够聪明,能够备份上次推送的校验和…那太好了。比方说,用户没有根访问权限。是否有一种方法可以在windows级别更改权限/ACL,这样用户就不能直接修改文件,只能通过我们的应用程序更改这些文件,即输入或删除数据。您必须将文件更新应用程序作为单独的服务运行,该服务以不同的用户名运行。不管怎样,拥有一个独立的服务可能是明智的,它可以定期ping中央服务,以便在互联网连接恢复时进行上传。这样,您就不必等待用户运行应用程序,如果连接启动,无论前端应用程序是否正在运行,它都会将数据发送回家中。