服务端和各种客户端(手机端,平板端,web端)怎样进行数据同步客户端需要数据库吗若需要,各种客户

服务端和各种客户端(手机端,平板端,web端)怎样进行数据同步客户端需要数据库吗若需要,各种客户,第1张

你说的数据同步,既然同步,客户端是一定要有存储数据的,这个存储无论是数据库还是XML或者其他的格式。以一个小型应用为例,比如通讯录吧。服务端应该是一个数据中心,客户端对应的也应该有一个相同的数据表,存储本地数据。正如你说的没有网络的时候,不影响使用。如果你的软件是多用户或者多租户版本的。服务端的表结构应该多出一个tenantID和userID来区分用户和租户的数据。客户端和服务端的表结构应该都有创建时间和最后更新时间(可以作为谁同步谁的依据,但不是唯一的。)正如@任文彬提供的思路,但是我觉得这个思路还是比较适合文件类的同步,对于数据库信息的同步,经常涉及到查询比较,性能上可能不会太好。所以不如再增加一个字段“状态”,状态可以分为1待更新,2更新中,3已更新,4待删除,5删除中,6已删除等等。比如客户端进行新增 *** 作,数据插入本地表中,状态为1待更新,同步数据从服务器返回2更新中,更新本地表状态为2,服务器同步完成,更新本地表状态已更新。这样做的好处是,其中无论哪个环节出了问题,比如机器突然断电,或者突然断网,等下次重新使用的时候,都可以根据表的状态码来确定数据是否需要更新。软件的应用场景比如是这样的:客户端是在公司的内网,供用户在公司的桌面端使用,那么内网服务器保存的就是本地数据,但是用户还可能外出的时候通过移动设备来使用软件,这个移动端使用的就应该是服务端的同步数据了。按照这种思路,客户端增删改->改变本地状态码->同步数据中->改变本地状态码->同步完成->改变本地状态码,那如果移动设备对服务端的数据 *** 作呢?也需要改变服务端状态码为待更新、待删除(删除应该区分对待),下次登录客户端的时候自动检查服务端的“状态”为“待 *** 作的”,然后服务端同步到客户端。这样无论是对本地表 *** 作,还是对服务端的直接 *** 作,都可以保证两个表的数据是同步的。涉及数据同步的还需要考虑到数据表主键同一时空唯一性的问题。

这个不需要数据库,如果是JAVA语言,你可以参看下TOCAT。它是一个JSP/SERVLET服务器,但也是可处处HTML。

当然你也可以参看下APACHE,它好像是C/C++写的。

小型公司肯定不用Oracle啊,企业版授权太贵了。

PostgresSQL、MySQL是首选,应付中小型系统足足够用了。

PostgresSQL和MySQL都可以,仁者见仁智者见智吧,这两个DB吵的太厉害,就像Java和Php互喷一样。

个人更倾向PostgresSQL,不过会MySQL的人应该更多吧。

以上就是关于服务端和各种客户端(手机端,平板端,web端)怎样进行数据同步客户端需要数据库吗若需要,各种客户全部的内容,包括:服务端和各种客户端(手机端,平板端,web端)怎样进行数据同步客户端需要数据库吗若需要,各种客户、要做毕业论文了,题目是多线程Web服务器的设计与实现,请问这个设计需要数据库吗,如果需要数据库起什么作、JavaWeb在小中型公司中开发网页用的是什么数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10175499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存