查看完整版本: [-- 请教关于软件架构 --]

QTCN开发网 -> Qt基础编程 -> 请教关于软件架构 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

clickto 2020-06-29 15:42

请教关于软件架构

由于之前一直做单机产品多一些,没怎么接触到网络数据库这一块。现在接到一个项目,要求qt实现,传统的C/S模式,有一个总的MySql服务器,同事每个客户端还带有自己的本地数据库,sqlite型,客户端的数据是mysql服务器数据的子集,每个客户端的子集有差异,也有交集。
其中,客户端的操作会对数据进行怎增删改查,这些数据需要同步到服务器,同时由于客户端之间有交集,也需要将服务器的数据同步到每个用到的客户端。
没怎么做过这种需求复杂(对我来说)的项目,请问一下该怎么设计软件架构?是需要有个服务器软件么?

uidab 2020-06-29 17:13
就是数据的同步问题。

lemonzll 2020-06-29 17:34
这种有两个方式,一种是直接通过网络远程连接控制mysql,这种很麻烦,不建议用,第二种是让做网页后台的弄个程序,由网页后台的操作mysql数据库,网页后台弄的程序提供个http接口,你只用对接http接口就行了,比如要读数据库内容,就访问个http网址,网站会返回个json数据,你再处理json就行了。

aaa2000 2020-06-30 09:26
自己写一个简单的网络服务器,架构大致如下:
多个客户端 ---> 服务器 ---> Mysql

clickto 2020-06-30 10:10
uidab:就是数据的同步问题。 (2020-06-29 17:13) 

是啊,就是不知道这个数据同步具体怎么实现。

clickto 2020-06-30 10:11
lemonzll:这种有两个方式,一种是直接通过网络远程连接控制mysql,这种很麻烦,不建议用,第二种是让做网页后台的弄个程序,由网页后台的操作mysql数据库,网页后台弄的程序提供个http接口,你只用对接http接口就行了,比如要读数据库内容,就访问个http网址,网站会返回个json数据,你再处 .. (2020-06-29 17:34) 

客户端的同步呢?关键客户端在不断的更新数据,客户端之间又各有交集,没搞过,没经验,很头疼啊

clickto 2020-06-30 10:12
aaa2000:自己写一个简单的网络服务器,架构大致如下:
多个客户端 ---> 服务器 ---> Mysql (2020-06-30 09:26) 

目前初步是这样打算的,但是具体到客户端之间的同步的话,没有头绪。

XChinux 2020-06-30 12:11
增加个消息发布、订阅库。数据产生变化,通过消息发布给订阅者。

uidab 2020-06-30 12:42
clickto:是啊,就是不知道这个数据同步具体怎么实现。 (2020-06-30 10:10) 

加数据同步时间戳。
如果不想自己写太多可以用消息订阅/发布的方式,自己百度一下。

levon 2020-07-01 11:03
取决于你的网络架构,c、s之间如果是广域网, c、s可以采用采用http通讯,拉取和同步数据; 如果是局域网网。http或udp 都可以; 然后c,s两端的服务各自访问自己的数据库。

clickto 2020-07-01 21:00
还没有使用过http相关的东西,慢慢尝试看看吧!


查看完整版本: [-- 请教关于软件架构 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled