什么是分布式? 什么是集中式? 各有哪些优缺点?

本文对比了分布式与集中式中介软件在网络可行性、实时性、运行速度、稳定性、安全性、维护难度及运行成本等方面的差异,并针对网络先生的意见进行了详细讨论。

按数据的分布方式,中介软件有“分布式”和“集中式”之分的说法。

简单地说,“分布式”就是每一个客户端都有数据的副本,查询等的数据操作都使用副本进行;并定期或不定期的与数据交换中心进行交换,以获得最新的数据;“集中式”是指整个整个系统中只使用一份数据(只在服务器上),所有客户端(分公司)必须联接上服务器才能进行数据查询等操作。

以下是网上比较流行的说法。我在最后加上了一栏:网络先生意见

比较项目
分布式
集中式
网络先生意见
可行性只要分店有电话线,可以拨号上网,就可以进行联网交换。要求所有分店必须ADSL或其他宽频方式上网,否则无法采用集中式。认同。
实时性最短更新周期为一次交换所须时间,一般为5-10分钟完全实时基本认同。
运行速度较快。因为本地有数据副本,所有操作均是对副本进行操作。较慢。因为每次的数据操作均是通过互联网络对数据中心进行操作。认同。
所谓的较慢,也不过是查询并返回500条记录总共不到2秒的时间。
稳定性较高。分店有数据副本,即使外部互联网发生故障,不会影响分店内部数据操作,避免业务暂停。较低。因为所有数据操作均是通过互联网访问数据中心进行,若中心发生互联网或系统故障,所有分店将无法进行数据操作,致使所有业务暂停。若某分店发生互联网故障,该分店将业务暂停。不认同。集中式可以利用更多手段(如:数据热备、服务器热备)来解决任何因服务器停止服务带来的影响。分布式一般不对数据副本进行有效管理。发生失效时,该分店依然无法查询数据,而管理员必须上门去处理类似问题。
安全性数据中心安全性相同。
分店安全性略高。分店只需要一台电脑短暂时间上网,受黑客攻击机率较小。
数据中心安全性相同。
分店安全性略低。分店所有电脑所有时间上网,受黑客攻击机率较大。
不认同。安全性不单来自黑客。商业间蝶比黑客更有热情获得你的数据,比黑客更有针对性的来窃取你的资料。数据每增加一分副本,就增加一个被盗的可能。
维护难度相等。需对副本进行更多维护。相等。需对联网设备进行更多维护。不认同。数据的维护需要一个专业的管理员更多的时间。且每一个安装的过程都需要花费不少的时间进行数据同步。
运行成本较低。只需要普通Modem上网,而且是短暂连接,如果按每天交换两次计算,每月每店联网费用在60元左右。较高。除了主服务器托管费用每月约3000元以外,还要求所有分店ADSL或其他宽频方式上网,每月每店联网费用在600元左右。不认同。不是所有中介系统的主服务器都需要托管(网络先生的就不需要)每月每店联网的费用我们只需100元(视地区而定)。
 
### 优点 - **可靠性更高**:FTU分布式FA采用分布式架构,各FTU设备独立工作又相互协作,无需依赖集中式的主站进行故障判断处理。即使主站出现故障,各FTU仍能在本地完成一定的故障处理任务,具有较强的可靠性灵活性。而集中式FA依赖主站进行故障判断决策,主站故障会导致整个系统无法正常工作。 - **响应速度更快**:FTU分布式FA中,各FTU可以就地采集数据并进行分析,通过快速的通信网络与相邻FTU交换信息,能够快速判断故障区域并进行隔离,减少故障处理时间。集中式FA需要将大量数据上传到主站,主站分析处理后再下达指令,通信处理过程可能会导致响应速度较慢。 - **适应拓扑变化能力强**:能够根据配电网的不同运行方式拓扑结构,自适应地调整故障判断逻辑控制策略。当配电网进行线路改造或负荷调整时,FTU分布式FA可以自动适应新的运行状态,保证故障处理的有效性。集中式FA需要主站重新配置参数以适应拓扑变化,调整过程相对复杂。 ### 缺点 - **通信要求高**:FTU分布式FA需要FTU之间进行快速的数据交换通信,以实现协同动作,因此对通信网络的可靠性、实时性要求较高。如果通信出现故障,可能会影响故障判断处理的准确性。集中式FA主要是终端与主站通信,通信结构相对简单。 - **协调难度大**:多个FTU之间协同工作,需要精确的时间同步协调机制。在实际应用中,由于设备差异、通信延迟等因素,可能会导致FTU之间的协调出现问题,影响故障处理效果。集中式FA由主站统一控制,协调相对容易。 - **故障判断复杂**:运用智能化的故障判断处理算法,虽然能提高准确性,但算法的复杂度也较高。在故障情况复杂或数据不准确时,可能会出现误判。集中式FA在主站进行统一分析,算法相对集中管理优化。 ```python # 简单模拟FTU分布式FA集中式FA的故障处理过程 class DistributedFA: def __init__(self): self.ftus = [] def add_ftu(self, ftu): self.ftus.append(ftu) def handle_fault(self): # 模拟FTU之间通信协同处理 for i in range(len(self.ftus)): for j in range(i + 1, len(self.ftus)): self.ftus[i].share_info(self.ftus[j]) class CentralizedFA: def __init__(self): self.terminals = [] self.master_station = None def add_terminal(self, terminal): self.terminals.append(terminal) def set_master_station(self, master_station): self.master_station = master_station def handle_fault(self): # 模拟终端上传数据到主站,主站处理 for terminal in self.terminals: self.master_station.receive_data(terminal.data) self.master_station.process_data() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值