壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2911|回复: 14

请教:由于Adempiere访问远程服务器速度慢,其数据库如何支持本地远程同步?

[复制链接]
发表于 2009/1/5 15:05:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
由于Adempiere访问远程服务器速度慢,其数据库如何支持本地远程同步?
发表于 2009/1/5 18:07:27 | 显示全部楼层
本帖最后由 sofar1218 于 2009-1-5 18:09 编辑

1 速度慢如果是网络质量引起的话, 异步的访问才是最佳方案,比如b/s方式访问而不是c/s;
2 即便是通过swing界面的c/s访问,前后端的数据同步也不用你操心,那是底层的事,比如JDBC driver;
3 网络质量不好,速度慢,就要想办法改善,比如服务器端有多个点接入运营商,比如一个联通 一个电信电信,或者将服务器托管到专门的数据中心等等;
4 如果改善不了,比如cdma移动上网,那就选择web界面操作,若果是宽带就选择swing

所以你的问题描述本身就需要修正,现象和本质不对路,张冠李戴了
 楼主| 发表于 2009/1/6 14:36:56 | 显示全部楼层
我的意思本地的系统使用本地的数据库,而本地的数据库和服务器端的数据库的互相保持一致,也就是N个客户端(本地)数据库和1个服务器端的数据库保持一致。因为B/SPos终端好像也比较慢,想在本地使用基于C/S的java POS终端,所以想N个本地数据库和远程的数据库,互相保持一致。
发表于 2009/1/6 16:39:23 | 显示全部楼层
当前的系统中有相应的解决方案,是通过jms来进行异步传输的。
这个需要进行设置一下,比如说,价格表的传输,订单的传输......
当网络比较慢,或者是网络质量不好的时候这个方案比较有效
发表于 2009/1/6 17:13:59 | 显示全部楼层
发表于 2009/1/6 18:00:15 | 显示全部楼层
本帖最后由 sofar1218 于 2009-1-6 21:17 编辑

这种架构在万不得已的情况下才采用,也是很多年前的零售业曾经采用过的。其他行业也曾经采用过,比如银行,就是那个年代所谓的分布式。当年一个是网络速度和稳定性都不好而且租金昂贵。
当年的银行在小城市都有自己本地的核心业务数据库,然后晚上同步到大区的服务器。

把钱花在改善网络层的质量上,比你去做异步复制简单多了。当然速度上确实要慢些,现在的小城市银行前台确实比原来慢些,我自己都看见操作员在焦急的等待数据刷新。但是这个慢比起以前的分布式架构带来的复杂数据维护工作来说还是值得的,还可以把原来的维护成本拿来增加更多的服务窗口减少客户等待时间。总之分布式的多数据库之间同步是很烦人的,尤其是数据结构还在不断的变化。

另外呢,openbravo和adempiere都有pos的集成方案,有完全整合在一起的,也有pos本地有自己的数据库的。
即便是pos有自己本地数据库,也是在网络失效的少数情况使用,作为后备方案。常态下pos还是直接读取服务器数据库

数据大集中带来很多好处,比如数据分析,报表不需要等到同步之后。数据安全也提升了等等

所以还是先把财力花在改进网络层,然后增加pos数量。架构简化是这几年和未来几年的软件开发的一个努力方向。

访问速度慢不是你选择数据分布存储的主要原因,选择数据分布存储是以防网路失效不可访问,而你的业务又必须开展,他是后备方案或者说是方案的完善。不过追求方案的完美是需要付出代价的。你自己要权衡。就像建筑抗震一样。
 楼主| 发表于 2009/1/6 18:25:30 | 显示全部楼层
谢谢楼上的,这个功能很好啊,是不是解决了下面这个文章中所说的每个Pos终端都建立一个数据库,并且让这些数据库和服务器端的数据库同步。
For that, you need a replication agent. You can use a DB replication, provided from the proper DB, or you can develop your replication agent. For the second option you will have a program running on background into each POS, who is looking for changes into the main DB and copy them into the local DB.

While the main DB connection is broken, the transactions are saved into the local DB, so the POS can continue operating in standalone mode (off-line) without problems.

When the communication is established again, the POS is switched to On-Line – automatically - and all the transactions are saved in the main DB. Now, all the transactions saved into the local DB will be sended to the main DB automatically, via the replication agent.


http://adempiere.com/wiki/index.php/POS
发表于 2009/1/7 09:54:40 | 显示全部楼层
不否认sofar兄的观点,事实上这种观点也一直是我的观点,当今的条件下个人认为内网就是c/s,外网就是zk webui。这样就能够达到95%的业务平衡。毕竟这个时代不是我们当时拨号上网做数据同步的时代了。
但是在现实条件下我们还需要考虑特别的要求,如果说一个大型超市,大家都在排队,你的机器还要等待10秒刷新数据?这是不可想象的,那么必然衍生出这种同步数据的异步结构。
客户的需求是软件发展的原动力,代价的前提是必须满足需求.
发表于 2009/1/7 17:18:18 | 显示全部楼层
本帖最后由 sofar1218 于 2009-1-7 17:50 编辑

1 大型超市的话本地肯定是要设专门的服务器了;集团总部还有自己的数据中心,各个大型超市的数据再向数据中心同步。
2 另外结论的重点还不在于选择web,还是swing。而是有多种方式的技术来适应不同的网络QoS, 至于你怎么选择那就是根据需求你自己权衡,超市当然是速度第一的,相对而言医院银行可以缓慢些;
3 目前的选择:
Currently Adempeire offer:
1) Swing based POS. Which is built in Adempiere. It has 100% intergation with Adempeire and work only online with Adempire.

2) Adempiere Web Based POS developed by Posterita. It works online with Ademepire.

3) Under development. Web Services in Adempeire which can connect Adempeire with TinaPOS(OpenBravoPOS). User will be able to synchronize Products and Orders. Products are managed in Adempiere. Orders are uploaded from POS to Adempiere. It can work offline.

4 )redpos , offered an additional product that worked as a transaction broker - linking the pos points with adempiere.
transaction broker:这个应该和JMS消息中间件类似

refer to http://sourceforge.net/forum/for ... 990&forum_id=610548

4:当然最完美的是:pos底层透明地无声无息的自己感知网络质量,断线或重新连接时自己在本地和远程之间切换,空闲时自己无声无息地同步数据,可是这就增加了技术复杂性,由此带来一系列的问题,稳定性,成本 开发难度等,所以是不是又回到了方法哲学上了?
去解决底层的缺陷才是更好的办法:那就是尽可能的提升网络质量。

这些年网络质量改善了很多,这也是消息中间件由盛而衰的原因。

5 The POS has to run stand-alone  on standard touchscreen hardware (typical POS systems have only a Celeron CPU and 512 MB memory, or less), with a sychronization possibility with a remote ERP system. 

数据同步是作为一种后备选择而存在的,用来完善方案。我们的观点没有冲突,我只是把问题进一步剖析。(另外第一个回复,我理解偏了,问题描述也有点模糊)

6 需求不可能完全满足,我想要三宫六院,可以吗? 不好意思抬杠了哈,开个玩笑。我们是巴不得客户不断有需求,我们才有钱赚,所以客户愿意花多少银子也是技术选择的因素之一。要不怎么会有乡政府大楼建造的跟白宫似的?
 楼主| 发表于 2009/3/4 12:28:53 | 显示全部楼层
大家辩论的很精彩,谢谢两位了,受教了
 楼主| 发表于 2009/3/6 10:38:24 | 显示全部楼层
这几天研究了一下Adempiere3.4.2S的Data Replication target(数据复制目标)功能,这个功能应该就是JMS异步传输的原理吧,可是调式跟踪到conection()方法就报错了,连接方式是http,web端口88,请问哪位遇到过这个情况
发表于 2009/6/10 13:59:52 | 显示全部楼层
未遇到过,关注你的问题
发表于 2009/6/10 15:10:56 | 显示全部楼层
现在一般都不这样做了,现在的费用跟以前低很多了。
发表于 2009/6/16 09:16:45 | 显示全部楼层
今天重读,受教了
发表于 2010/5/29 18:11:12 | 显示全部楼层
留个标记,日后重读。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 04:24 , Processed in 0.020072 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表