论文部分内容阅读
近年来,随着小卫星技术和星间通信技术的发展,以及“互联网+”概念的兴起,卫星组网在未来将会成为趋势,由不同卫星组成的天基互联网在未来将可能实现。简单地说,天基互联网就是由一组通过星间链路进行通信、多星协同共同完成任务的卫星组成的移动分布式互联网。由于天基互联网是分布式的卫星网络,信息在卫星网络中复制和传递,由此带来了分布式一致性问题。一致性问题在计算机科学中有很长的研究历史,是分布式领域的重要基础。现有地面互联网分布式一致性算法主要为了在处理数据复制问题中保持各个副本的一致性,只适用于高吞吐量低延迟的网络。由于卫星高速运动的特性,星间链路时断时续,带宽有限,卫星之间通信的延迟时间较长。这不符合当前一致性协议的低延迟要求,所以地面互联网分布式一致性算法并不能完全适用于卫星网络。因此本文选取使用广泛的Raft一致性算法进行优化修改,以适应卫星网络高动态、大延迟环境。Raft一致性算法应用于卫星网络环境,有以下几方面的不足:Raft选举算法使用随机超时时间选举,由于卫星网络具有高动态、大延迟的特点,候选者在选举超时时间结束后可能都没有收到足够的选票,造成选举失败,大幅增加选举领导者的时间;Raft算法没有区分读、写操作,领导者通过与追随者交互,将任意用户请求写入日志中,面对大量用户请求的高并发场景,用户请求将不能得到及时处理;同时,Raft算法将不需要改变状态值的读操作写入日志中,没有利用到追随者的日志数据,将导致系统读性能下降。针对Raft一致性算法应用于卫星网络面临的领导者选举时间长、日志逐条复制、读操作效率低等问题,本文从领导者选举算法、日志复制和快速读三个方面对Raft一致性算法进行优化,从而设计实现卫星网络分布式一致性算法。本文提出随机化Bully算法,通过直接选举优先级大的节点,降低了领导者恢复时间,同时减少消息的传递;通过在卫星节点中增加缓存区,将日志条目的复制策略从逐条转变为批量,能够有效提高复制日志的效率;对于不更改副本状态的读操作,引入向量时钟机制,将Raft算法中需要领导者和追随者交互消息的读操作改进为可以在追随者节点中进行处理,在满足弱一致性的同时,降低了领导者的负载。在卫星网络仿真环境中进行算法试验,采用极轨道卫星星座架构,共60颗LEO卫星,随机选取5颗LEO卫星充当服务节点,进行一致性算法仿真试验。仿真试验表明:随机化的Bully选举算法通过降低选举轮次,使得算法能够在2.3秒内选举出新的领导者,相较Raft算法,性能提升了34%;增加缓存区,写操作吞吐量性能提高1倍,用户的平均等待时延略微低于Raft算法;通过增加快速读机制,读请求的吞吐量性能提高了143%,用户读操作的平均等待时延降低了68%。