广告
淘宝内部优惠券
当前位置: 开发异常方案库» Java » java在断网时操作时使用的是本地的数据库,连网时更新到云端数据库

java在断网时操作时使用的是本地的数据库,连网时更新到云端数据库

开发异常方案库  收集整理于:2020-05-14 13:49:00  浏览:66次
最近遇到了一个奇葩的需求,用springboot做的一个javaweb项目后面老板说要在断网时也能使用,并且还要将数据传到云端的数据库里做,不知道各位大佬有什么办法可以解决一下,最好使用java实现能够带源码,解决后私聊我可微信支付宝谢谢!

------网友观点--------------------
这个需求做不了

------网友观点--------------------
先说你们这个项目是不是要部署,部署的服务器如果出现断网,那你这个请求根本就到达不了你的服务你又怎么在本地更新呢,你本地启动项目,自己访问自己可以存到本地数据库,那就是将你的数据库和云端数据库做主从,算是满足了你的这个需求,但是脱离你的电脑都不能实现。说白了就是只能给自己用。

------网友观点--------------------
引用 2 楼 qq_41622282 的回复:
先说你们这个项目是不是要部署,部署的服务器如果出现断网,那你这个请求根本就到达不了你的服务你又怎么在本地更新呢,你本地启动项目,自己访问自己可以存到本地数据库,那就是将你的数据库和云端数据库做主从,算是满足了你的这个需求,但是脱离你的电脑都不能实现。说白了就是只能给自己用。
项目是要部署的,我尝试过做主从关键是主在本地从在云端导致无法实现,就是说所有的操作都在本地的数据库中但是我云端上也必须要有同样的数据

------网友观点--------------------
引用 1 楼 qq_41622282 的回复:
这个需求做不了
我也觉得,可是没办法,人家是老板

------网友观点--------------------
老板也可以给他说的,你让比你高的人去和他说,找主管,你问主管说你给我提供方案或者有先例 我就可以搞,

------网友观点--------------------
引用 5 楼 qq_41622282 的回复:
老板也可以给他说的,你让比你高的人去和他说,找主管,你问主管说你给我提供方案或者有先例 我就可以搞,
这才是最难的,老板不懂技术,又是小公司就那么几个人,每次提需求的时候想一出是一出,给个别人的的系统效果图就让你开始做

------网友观点--------------------
引用 3 楼 java程序员0.0 的回复:
Quote: 引用 2 楼 qq_41622282 的回复:
先说你们这个项目是不是要部署,部署的服务器如果出现断网,那你这个请求根本就到达不了你的服务你又怎么在本地更新呢,你本地启动项目,自己访问自己可以存到本地数据库,那就是将你的数据库和云端数据库做主从,算是满足了你的这个需求,但是脱离你的电脑都不能实现。说白了就是只能给自己用。
项目是要部署的,我尝试过做主从关键是主在本地从在云端导致无法实现,就是说所有的操作都在本地的数据库中但是我云端上也必须要有同样的数据
你说的这个主在本地,从在云端没有实现不太对啊,主从是没有限制必须要在一个服务器上,你可以看一下是不是没有配置好

------网友观点--------------------
引用 6 楼 java程序员0.0 的回复:
Quote: 引用 5 楼 qq_41622282 的回复:
老板也可以给他说的,你让比你高的人去和他说,找主管,你问主管说你给我提供方案或者有先例 我就可以搞,
这才是最难的,老板不懂技术,又是小公司就那么几个人,每次提需求的时候想一出是一出,给个别人的的系统效果图就让你开始做
不合理的需求你不怼回去然后搞的时候也搞不出来,到时候他会问你怎么没有搞出来,你说不可能实现他会问你早干嘛去了。还是考虑一下怼回去吧,你问问同事,都觉得这个需求做不了你就有底气了

------网友观点--------------------
引用 8 楼 qq_41622282 的回复:
Quote: 引用 6 楼 java程序员0.0 的回复:
Quote: 引用 5 楼 qq_41622282 的回复:
老板也可以给他说的,你让比你高的人去和他说,找主管,你问主管说你给我提供方案或者有先例 我就可以搞,
这才是最难的,老板不懂技术,又是小公司就那么几个人,每次提需求的时候想一出是一出,给个别人的的系统效果图就让你开始做
不合理的需求你不怼回去然后搞的时候也搞不出来,到时候他会问你怎么没有搞出来,你说不可能实现他会问你早干嘛去了。还是考虑一下怼回去吧,你问问同事,都觉得这个需求做不了你就有底气了
当时提出来的时候我就说过这个需要完成不了,硬是要我做什么断网本地等联网了在传到服务器,还让我去问问别人

------网友观点--------------------
问过了,别人也说做不了,

------网友观点--------------------
没有做不了的东西... 你们是前端是什么  App 还是手机端h5?

------网友观点--------------------
如果你是手机端应用   说白了  就是离线操作而已.

------网友观点--------------------
如果应用也要部署到外网,那为啥不把库和应用放同个内网? 如果应用不部署到外网,那么为啥还要用云库? 如果说云库只是为了备份数据,那你本地(主)跟云库(从)做个主从,满足不了么?

------网友观点--------------------
引用 10 楼 qq_41622282 的回复:
问过了,别人也说做不了,

------网友观点--------------------
引用 12 楼 weixin_43869905 的回复:
如果你是手机端应用   说白了  就是离线操作而已.
是一个javaweb

------网友观点--------------------
前后端分离没有 /

------网友观点--------------------
引用 13 楼 ITjavaman 的回复:
如果应用也要部署到外网,那为啥不把库和应用放同个内网? 如果应用不部署到外网,那么为啥还要用云库? 如果说云库只是为了备份数据,那你本地(主)跟云库(从)做个主从,满足不了么?
应用在每个店里都要使用,而且每个店不可能在同一内网,关键是总部也要查询的到每个店的操作数据所以才需要将库放在云端上,主从试过了本地为主的话不行因为云端上无法连接到本地数据库这样的话本地为主就无法实现,如果云端为主的话那就无法实现断网连接了

------网友观点--------------------
引用 17 楼 weixin_43869905 的回复:
前后端分离没有 /
没有,前端用的h5

------网友观点--------------------
引用 7 楼 qq_41622282 的回复:
Quote: 引用 3 楼 java程序员0.0 的回复:
Quote: 引用 2 楼 qq_41622282 的回复:
先说你们这个项目是不是要部署,部署的服务器如果出现断网,那你这个请求根本就到达不了你的服务你又怎么在本地更新呢,你本地启动项目,自己访问自己可以存到本地数据库,那就是将你的数据库和云端数据库做主从,算是满足了你的这个需求,但是脱离你的电脑都不能实现。说白了就是只能给自己用。
项目是要部署的,我尝试过做主从关键是主在本地从在云端导致无法实现,就是说所有的操作都在本地的数据库中但是我云端上也必须要有同样的数据
你说的这个主在本地,从在云端没有实现不太对啊,主从是没有限制必须要在一个服务器上,你可以看一下是不是没有配置好
是可以不在同一服务器的,但是有个必要条件就是本地跟云端都能够相互连接到另一端的数据库,因为我这边是要以本地为主的话,云端就必须要能连接我本地数据库否则是无法实现的,关键是本地的数据库是只有在内网才能连接,不行云端会给你个外网进行连接

------网友观点--------------------
引用 18 楼 java程序员0.0 的回复:
Quote: 引用 13 楼 ITjavaman 的回复:
如果应用也要部署到外网,那为啥不把库和应用放同个内网? 如果应用不部署到外网,那么为啥还要用云库? 如果说云库只是为了备份数据,那你本地(主)跟云库(从)做个主从,满足不了么?
应用在每个店里都要使用,而且每个店不可能在同一内网,关键是总部也要查询的到每个店的操作数据所以才需要将库放在云端上,主从试过了本地为主的话不行因为云端上无法连接到本地数据库这样的话本地为主就无法实现,如果云端为主的话那就无法实现断网连接了
(1)本地做个内网穿透映射出去, (2)要不然写个线程(点),用来同步数据到云端用(也可以云端部署个同步数据的服务,各个店把数据发过去同步)

------网友观点--------------------
引用 21 楼 ITjavaman 的回复:
Quote: 引用 18 楼 java程序员0.0 的回复:
Quote: 引用 13 楼 ITjavaman 的回复:
如果应用也要部署到外网,那为啥不把库和应用放同个内网? 如果应用不部署到外网,那么为啥还要用云库? 如果说云库只是为了备份数据,那你本地(主)跟云库(从)做个主从,满足不了么?
应用在每个店里都要使用,而且每个店不可能在同一内网,关键是总部也要查询的到每个店的操作数据所以才需要将库放在云端上,主从试过了本地为主的话不行因为云端上无法连接到本地数据库这样的话本地为主就无法实现,如果云端为主的话那就无法实现断网连接了
(1)本地做个内网穿透映射出去, (2)要不然写个线程(点),用来同步数据到云端用(也可以云端部署个同步数据的服务,各个店把数据发过去同步)
用内网穿透的话会不会有有安全问题呢,之前也有人建议我使用内网穿透说是会将信息全都呈现出去, 写线程点是一个什么样的概念,或者说是怎么样的一个流程能说明一下吗

------网友观点--------------------
JavaWeb 项目,那就是BS架构! 客户端是用PC机的浏览器访问的吗,如果是的话,可以说是无解的,浏览器没有权限直接访问本地资源,想把数据存在本地,基本上只能用 cookie 了。但要把 cookie 打造成具备数据库那样的功能,还要进行本地和服务器上的数据同步,以便断网时能继续使用…… 想想都非常恐怖。不是做不到,而是开发成本太高,即使开发出来可能出现的问题也非常多,并且这个需求却又不是很有必要! 另外,话说回来,老板天马行空的想法,对企业来说是应该要有一点的,否则没有创新精神,企业总是走别人原来的路子,成不了大事! 老板提出想法,楼主直接否掉也不太好!特别是如果当着很多人的面直接说 no 时,老板会折了面子,在员工面前威信有损;另一方面,老板可能也看楼主年轻,认为楼主经验不够,让你再好好找找资料问问别人,这也属于一种老成的做法,如果楼主是个有上十年工作经验,做过很多成功项目的人,估计他直接就听进去了。 所以,建议楼主把需求的可行性分析做好,准备好你的分析依据,丁是丁卯是卯的分析清楚,相信你老板会采纳的。

------网友观点--------------------
这需求怕是做不了的,我估计老板都没想明白. 这种就相当于单机游戏云存档,客户端必须拥有完整的数据,但web并不太适合这么玩吧.

------网友观点--------------------
学习学到 学习学到 学习学到

------网友观点--------------------
引用 22 楼 java程序员0.0 的回复:
用内网穿透的话会不会有有安全问题呢,之前也有人建议我使用内网穿透说是会将信息全都呈现出去, 写线程点是一个什么样的概念,或者说是怎么样的一个流程能说明一下吗
安全问题取决于你使用的第三方内网穿透平台了 写个线程大概意思就是,开启一个独立的线程定时扫描你保存修改到本地的数据,然后更新云数据库,简单说就是先写本地库,然后定时线程扫描并写到云库 我括号里面说的方式也差不多这意思,一个是直接直连云数据库过去改,另一个是先请求云服务再由改服务区写入云数据库

------网友观点--------------------
引用 26 楼 小灰狼 的回复:
JavaWeb 项目,那就是BS架构! 客户端是用PC机的浏览器访问的吗,如果是的话,可以说是无解的,浏览器没有权限直接访问本地资源,想把数据存在本地,基本上只能用 cookie 了。但要把 cookie 打造成具备数据库那样的功能,还要进行本地和服务器上的数据同步,以便断网时能继续使用…… 想想都非常恐怖。不是做不到,而是开发成本太高,即使开发出来可能出现的问题也非常多,并且这个需求却又不是很有必要! 另外,话说回来,老板天马行空的想法,对企业来说是应该要有一点的,否则没有创新精神,企业总是走别人原来的路子,成不了大事! 老板提出想法,楼主直接否掉也不太好!特别是如果当着很多人的面直接说 no 时,老板会折了面子,在员工面前威信有损;另一方面,老板可能也看楼主年轻,认为楼主经验不够,让你再好好找找资料问问别人,这也属于一种老成的做法,如果楼主是个有上十年工作经验,做过很多成功项目的人,估计他直接就听进去了。 所以,建议楼主把需求的可行性分析做好,准备好你的分析依据,丁是丁卯是卯的分析清楚,相信你老板会采纳的。
就是这么个情况,太难了,浏览器访问做这个东西天啊

------网友观点--------------------
路过。。。。。

------网友观点--------------------
引用 29 楼 ITjavaman 的回复:
Quote: 引用 22 楼 java程序员0.0 的回复:
用内网穿透的话会不会有有安全问题呢,之前也有人建议我使用内网穿透说是会将信息全都呈现出去, 写线程点是一个什么样的概念,或者说是怎么样的一个流程能说明一下吗
安全问题取决于你使用的第三方内网穿透平台了 写个线程大概意思就是,开启一个独立的线程定时扫描你保存修改到本地的数据,然后更新云数据库,简单说就是先写本地库,然后定时线程扫描并写到云库 我括号里面说的方式也差不多这意思,一个是直接直连云数据库过去改,另一个是先请求云服务再由改服务区写入云数据库
这位兄台 楼主说他的是 JavaWeb 项目,如果客户端是在浏览器上跑的话,浏览器提供那么多功能给你开发了吗! 写线程,保存到本地数据,什么的都是不被浏览器允许的吧! 还有更新云数据,还要考虑跨域问题!哦不对,楼主的老板要求的是断网情况下的事,如果可以访问云数据库,那不就要求没断网吗!既然没断网,还考虑这些干嘛,原来咋样还咋样不就完事了!

------网友观点--------------------
数据需要一致,设计好同步机制就好了,总部查询下面的店铺,每个店铺只需要管理好自己的数据就行,可以分为两步,一是每笔交易按店铺按规则生成唯一id,考虑离线,建议使用雪花算法,按一定规则划分,方便后期做统计。二是实现数据同步逻辑,需要考虑两个问题,一是网络异常处理,重试,可以参考rocketmq的重试机制,二是数据一致性保证,可以设计简单的对账逻辑,批次对账。仅供参考,不确定是都对业务理解有偏差

------网友观点--------------------
我在想能不能不管是联网或断网的情况下都连接本地的数据库,等网通了在上传,这样就先解决的断网跑程序,这样的话就剩下了联网是怎么将数据同步到云端上,各位有什么解决的方案吗

------网友观点--------------------
引用 33 楼 Farmermark993 的回复:
数据需要一致,设计好同步机制就好了,总部查询下面的店铺,每个店铺只需要管理好自己的数据就行,可以分为两步,一是每笔交易按店铺按规则生成唯一id,考虑离线,建议使用雪花算法,按一定规则划分,方便后期做统计。二是实现数据同步逻辑,需要考虑两个问题,一是网络异常处理,重试,可以参考rocketmq的重试机制,二是数据一致性保证,可以设计简单的对账逻辑,批次对账。仅供参考,不确定是都对业务理解有偏差
现在的问题就是断网后本地的数据跟云端的无法达成相同

------网友观点--------------------
引用 35 楼 java程序员0.0 的回复:
Quote: 引用 33 楼 Farmermark993 的回复:
数据需要一致,设计好同步机制就好了,总部查询下面的店铺,每个店铺只需要管理好自己的数据就行,可以分为两步,一是每笔交易按店铺按规则生成唯一id,考虑离线,建议使用雪花算法,按一定规则划分,方便后期做统计。二是实现数据同步逻辑,需要考虑两个问题,一是网络异常处理,重试,可以参考rocketmq的重试机制,二是数据一致性保证,可以设计简单的对账逻辑,批次对账。仅供参考,不确定是都对业务理解有偏差
现在的问题就是断网后本地的数据跟云端的无法达成相同
本地肯定要独立部署或内嵌数据库,断网才能使用,联网再同步数据

------网友观点--------------------
推荐大家一个靠谱的论文检测平台。重复的部分有详细出处以及具体修改意见,能直接在文章上做修改,全部改完一键下载就搞定了。他们现在正在做毕业季活动, 赠送很多免费字数,可以说是十分划算了!地址是:https://www.paperpass.com/

------网友观点--------------------
其实这个是数据库同步功能。。 所有操作都在本地进行,然后数据库数据在有网的情况下,同步到云。。 这个需求,你需要问的是数据库解决方案。

------网友观点--------------------
同时开发本地端跟服务端,各自连接自己的库 本地记录要同步的数据,等有网时打包推送到服务端服务端接收后保存到云数据库

------网友观点--------------------
你问问老板,他家不联网能打开网页吗。

------网友观点--------------------
学到了,谢谢大佬

------网友观点--------------------
就是数据库的同步功能

------网友观点--------------------
引用 32 楼 小灰狼 的回复:
Quote: 引用 29 楼 ITjavaman 的回复:
Quote: 引用 22 楼 java程序员0.0 的回复:
用内网穿透的话会不会有有安全问题呢,之前也有人建议我使用内网穿透说是会将信息全都呈现出去, 写线程点是一个什么样的概念,或者说是怎么样的一个流程能说明一下吗
安全问题取决于你使用的第三方内网穿透平台了 写个线程大概意思就是,开启一个独立的线程定时扫描你保存修改到本地的数据,然后更新云数据库,简单说就是先写本地库,然后定时线程扫描并写到云库 我括号里面说的方式也差不多这意思,一个是直接直连云数据库过去改,另一个是先请求云服务再由改服务区写入云数据库
这位兄台 楼主说他的是 JavaWeb 项目,如果客户端是在浏览器上跑的话,浏览器提供那么多功能给你开发了吗! 写线程,保存到本地数据,什么的都是不被浏览器允许的吧! 还有更新云数据,还要考虑跨域问题!哦不对,楼主的老板要求的是断网情况下的事,如果可以访问云数据库,那不就要求没断网吗!既然没断网,还考虑这些干嘛,原来咋样还咋样不就完事了!
这位兄台,难道我就不能在客户端服务端部署一个服务么?? 而且人家场景大概说明了是店铺 ???? 有问题???

------网友观点--------------------
重构吧,C/S架构满足

------网友观点--------------------
请先厘清需求 根据我的经验, 老板想做的应该是, 断腕以后依然能使用系统 这种需求不是没有, 常见的超市的收银系统都会有这种离线销售的概念, 这个是有历史背景的: 0几年的时候那时候网络设施还没现在那么好, 断网概率比较高 另外, 提一下, 离线并没有那么好做, 开发成本非常高

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------
发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
软件开发 程序错误 异常 ybaby.netCopyright © 2020-2026  ybaby 版权所有  桂ICP备17004385号-2 网站地图