一致性协议在分布式安全系统中的应用

2021-09-13 10:14刁海洋
无线互联科技 2021年13期
关键词:分布式

刁海洋

摘 要:随着计算机的发展和大数据的应用进步,分布式系统被广泛部署到生活和工作中的各个方面,在保证数据安全存储的前提之下,系统稳定可靠的运行、对外提供的一致性服务也成了人们重点关注的属性要求。而在种类繁多的软件系统中,安全类软件是对数据一致性要求较高的应用软件系统。一致性协议的出现有效地解决了分布式环境下数据的一致问题,并保证了系统的稳定运行,提高了系统对外服务的效率。文章就一致性协议在分布式安全系统中的应用展开阐述。

关键词:一致性协议;分布式;安全系统

0 引言

分布式安全系统不仅关系着个人的信息安全,对银行、企业、政府的安全都有着非常重要的影响。如何保证分布式安全系统的稳定可靠运行、数据的安全存储、对外提供服务的幂等性,在近几年的研究中极为受关注。要处理好系统的可靠性问题,与分布式技术密不可分。而分布式环境下的数据如何保证一致性又是不得不解决的一大难点。因此,一致性协议的出现对于解决分布式安全系统中的关键问题有着非常重的意义。

1 分布式安全系统问题

分布式安全系统问题通常涉及多个方面,但其核心问题是分布式环境下的数据一致性问题和安全系统所要求的稳定性及对外服务一致性问题[1]。

1.1  數据一致性问题

大数据时代的来临,使得数据的存储成为瓶颈。此时分布式技术应运而生,将数据分片分散存储,利用多台计算机并行存储来分担单个主机的磁盘I/O。在大集群下,可以使用成千上万台计算机来存储关键数据,统一对外提供服务。在上层网关处,应用性能良好的负载均衡算法,将对数据的请求合理地分配给每一台主机[2]。为了保证集群下的每台计算机数据不丢失,需要结合副本的技术,将数据同时写入多个副本来避免单点故障。多副本同步要求响应写入请求还是异步响应写入请求,抑或是不响应写入请求,会在系统的层面产生不同的一致性问题[3]。

1.2  稳定性问题

安全类系统对于系统的稳定运行有着非常高的要求,该类系统在实际运行过程中出现的任何宕机行为都有可能引起非常严重的后果。数据被盗取、异常流量输入、数据流动异常等关键指标都有可能影响着企业、银行、政府的正常运作。因此该类系统必然要求非单点部署,数据和服务的多重备份。

1.3  对外服务一致性问题

安全类系统的数据和服务输出对于上层决策、实时监控、异常处理的意义非常重大。关键指标的一致响应为这些服务提供了便利,同时也决定着这些服务的准确性和统一性。因此安全系统要求任何接入客户端检索的数据都是实时一致的,不存在同一时间同一类型服务请求返回不同的检索数据。

2 一致性协议的起源

在分布式环境下,如何保障数据的一致性是急需解决的问题。为了解决此问题,业界提出了多种理论模型,其中广为人知的是CAP理论,而在此理论基础之上诞生了多种一致性协议,主要分为强一致性协议和弱一致性协议[4]。

2.1  CAP理论

在一个分布式系统中是不可能同时满足一致性(C)、可用性(A)和分区容错性(P)这三个要求,最多只能同时满足其中两个。一致性是指数据在多个副本之间能否保证一致的特性;可用性是指系统提供的服务需要一直处于可用的状态;分区容错性是指在遇到任何网络分区故障情况下仍然能够对外提供服务的特性。广义上来说,一致性和可用性是无法都满足的,为了保证一致性,分布式系统必然需要在全部节点上进行类似于加锁的操作,而加锁的操作意味着系统在这段时间范围内是无法对外提供服务的,系统处于等待状态。如果要保证可用性,即分布式系统时刻都处于对外提供正常服务的状态,则意味着不能在全局意义上执行加锁的操作,自然也就无法保证系统处于一致性的状态,必然在某个时刻,系统的各个节点上的数据出现不一致。分区容错性则是分布式环境下必须要满足的特性,这种特性保证了分布式系统的正常运行,如果放弃分区容错性那么整个分布式环境都将处于宕机的状态。因此在分布式系统中,只能在一致性和可用性二者之间选择一项,于是诞生了强可用性分布式系统和强一致性分布式系统。

2.2  强一致性协议

强一致性协议也称为原子一致性、线性一致性,要求系统任何一次读取请求都能够读到最近一次写入到系统的数据,并且系统的所有进程看到的操作顺序都是全局一致的。在这种条件的限制之下,意味着在分布式系统的层面加上了全局锁,任何读取或者写入的操作都是按顺序加入到系统队列中,先进队列的先处理,后进队列的后处理,通过这种方式来保障所有对系统操作的顺序一致。

2.3  弱一致性协议

数据更新后,如果能够容忍后续的访问只能访问部分数据则是弱一致性。其约束了系统在写入成功后,不承诺马上可以读到写入的内容,也不承诺多久之后可以达到数据的一致,但是会尽快地使数据达到一致性状态。在这种条件的限制之下,客户端访问的数据可能存在不一致性,即相同的检索请求在数据写入后执行会出现检索结果不一样的情况,而且系统无法告知客户端在什么时间能够将数据统一。

在弱一致性协议类型中,存在一种特殊的情况,即最终一致性协议。这种协议保证系统在一定时间内,能够达到数据的一致性状态。标准的弱一致性协议中,分布式系统是无法给出确切的能够将数据统一的时间,数据可能在瞬间就保持统一,也有可能一直是不一致的状态。那么在这种情况下诞生了最终一致性协议,也就是在系统中设置一个阈值,在该阈值范围内,分布式系统一定会保证数据一致性。

3 分布式安全系统的应用策略

将一致性协议应用到分布式安全系统之中,可以处理分布式环境下的数据一致性问题、安全系统中的稳定性和对外提供服务的一致性问题,同时提高系统的抗压能力和系统对外提供服务的能力和效率。

在对外提供服务的前提要求下,只有强一致性协议符合要求。因此在该类协议中选择性能高、稳定性强的Raft协议作为分布式安全系统的一致性协议[5]。Raft协议将一致性问题分为两个子问题:主节点选举和状态复制[6]。其中,主节点选举是利用绝大多数子节点响应即系统完成响应的特性来实现的,保证了系统中绝大多数主机可用的情况下整个系统可用,从而提高了整个系统的稳定性和可靠性;状态复制则是主节点在完成客户端事务请求后将状态同步到子节点,保证系统数据的一致性;系统对外提供服务时,仅主节点能够接受请求,其他节点接受请求后都需要转发给主节点。通过这些协议限制和要求,在保证一致性的前提下,提高了系统的稳定性和性能。

3.1 分布式节点异常恢复

当分布式系统中节点因为各种异常宕机后重启,一致性协议需要能够恢复该节点的服务,将该节点的事务日志状态同步到与主节点一致。该协议使用日志状态同步的机制来保证异常节点的正常恢复。系统在正常运作过程中,从节点和主节点通过心跳连接的机制同步主节点的本地事务日志,心跳连接是主从节点在线的保证机制,每隔一段时间会由主节点自动向从节点发送请求,该请求会带上日志操作等关键信息[7]。而当节点从异常状态中恢复之后,第一件事就是从主节点同步最新的事务,使得自身状态及时跟上。

3.2  系统顺序全局一致

分布式系统各个事务状态是独立的,若要保证系统全局的顺序一致,那么需要在系统级别加锁,即控制整个系统的读取和写入的顺序。一致性协议通过主节点来协调各个事务操作来保证全局一致,连接到分布式系统的各个客户端发送的任何请求都需要转发到主节点来执行实际的操作,由主节点控制事务的发起和事务的提交,并在完成之后将结果返回给客户端。结果返回之后,再将主节点本地的事务日志同步到各个从节点。这点有区别于其他协议,有的协议中主节点只负责写入请求,从节点只负责读取请求,这种协议会造成读取的数据不一致问题。

3.3  网络分区的处理

众所周知,在不稳定的网络环境下,分布式环境会出现分区的问题,比如机房和机房之间的通信。在网络分区的情况下,一致性协议通过大多数节点响应的机制来处理分布式请求。在网络分区之后,必然会出现一个包含大多数节点的子网络,该子网络能够正常对外提供服务,同步事务日志等。而只有少数节点的子网络则一直处于等待状态,虽然该子网络仍然能够接收到到客户端发送过来的请求,但这些请求是无法提交到本地事务日志中,并且也无法正常返回给客户端,即该子网络中的任何操作都是非接受的。当网络分区从异常状态恢复时,包含大多数节点的子网络会由主节点将本地已提交的事务日志同步到包含少数节点的子网络中,使得子网络中的节点数据也保持全局统一[8]。一致性协议通过这种方式来解决网络分区的问题,并确保分区恢复之后整个分布式系统的数据一致,能够正常对外提供服务。

4 结语

随着分布式技术的不断推进和演化,分布式安全系统开始受到越来越多人的关注。对于如何保证分布式安全系统的稳定运行和分布式数据的一致性进行了大量的研究和分析。研究表明将Raft一致性协议应用到分布式安全系统中,能够有效地提高系统的运行效率,保证数据的一致性,为用户提供一个安全稳定的使用环境。大数据时代下,分布式技术已然成为应用趋势,而在分布式技术之下,一致性协议发挥着重大的作用。

[参考文献]

[1]闫莅.网络安全环境下计算机软件的开发及利用分析[J].信息记录材料,2020(4):45-46.

[2]刘文君.大数据背景下的计算机网络信息安全及防护措施探析[J].信息通信,2020(7):160-162.

[3]张丽.基于大数据时代下的计算机网络信息安全与防护对策分析[J].数字通信世界,2020(5):34-35.

[4]王斌.智能电网信息安全面临的挑战与应对实践[J].中国信息化,2019(12):69-70.

[5]李理.淺谈网络安全分析中的大数据技术应用[J].通讯世界,2018(1):147.

[6]陈陆,黄树成,徐克辉.改进的Raft一致性算法及其研究[J].江苏科技大学学报(自然科学版),2018(4):559-563.

[7]龙慧,樊晓平,刘少强.多智能体系统分布式一致性算法研究现状[J].计算机工程与应用,2013(1):36-42.

[8]王志瑞,王幕天,刘正涛,等.分布式一致性算法的研究及应用[J]. 计算机时代,2015(12):13-17..

(编辑 姚 鑫)

猜你喜欢
分布式
基于RTDS的分布式光伏并网建模研究
基于预处理MUSIC算法的分布式阵列DOA估计
基于点估计法的分布式电源的配置优化
一种用于微电网分布式发电的新型Buck-Boost逆变器
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景
第26届IEEE并行及分布式处理国际会议