一种基于卫星网络环境下的数据一致性系统的制作方法

文档序号:14574547发布日期:2018-06-02 01:11阅读:163来源:国知局
一种基于卫星网络环境下的数据一致性系统的制作方法

本发明属于计算机存储技术领域,更具体地,涉及一种基于卫星网络环境下的数据一致性系统。



背景技术:

随着互联网飞速发展,信息共享无缝覆盖及多种业务需求与日俱增,在商业需求和军事需求的双重影响下,天地一体化信息网络概念模型应运而生,这使得利用卫星组建空间互联网的研究变得尤为重要。

利用卫星组建一个或多个协调运行的分布式系统面临着许多需要解决的难题,其中数据一致性保证是分布式系统的重要研究方向。由于卫星网络受到带宽、功耗、卫星轨道和通信硬件等多方面的影响,其大致具有如下特点。其一,由于卫星的功耗和通信模块的限制,其通信带宽是严格限制的并只能在特定情况下才能进行通信;其二,由于距离和轨道等原因不能保证所有的卫星都可以在通信时形成连通图,因此只能部分连通从而造成卫星之间的延时较长;其三,卫星的轨道是可以预测,在卫星网络变化前可以通过计算得出卫星网络的拓扑结构。在卫星网络这一特殊网络环境下提供及时信息服务的需求给卫星分布式文件系统的数据一致性保证带来了极大困难。

当前现有的分布式系统的数据一致性大致分为网络拓扑相对稳定的地面站有线网络分布式系统和网络拓扑相对动态的无线网络分布式系统一致性。当前地面和无线网络分布式环境中有较为完善成熟的一致性算法,但在分布式卫星网络环境下的数据一致性保证较少考虑,由于卫星网络大时延、高误码特殊性,采用单一的一致性保证策略存在一定的局限性,且目前缺乏多样化的数据的一致性保证策略,无法实现细粒度的一致性保证,读写响应慢、开销大。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于卫星网络环境下的数据一致性系统,由此解决现有技术存在无法实现细粒度的一致性保证、读写响应慢、开销大的技术问题。

为实现上述目的,本发明提供了一种基于卫星网络环境下的数据一致性系统,包括n个信关站,信关站通过卫星网络与卫星群通信,各个信关站之间通过链路连接,每个信关站包括元数据服务器、热备元数据服务器和数据服务器;

所述元数据服务器,用于将元数据服务器的ba个写操作转成b个事务块,b个事务块构成一个事务链,其中,a≥1,b≥1,当链路平均速度大于等于阈值时,使用基于链路的强一致性策略通过事务链实现元数据同步,否则,使用基于链路的弱一致性策略通过事务链实现元数据同步;

所述热备元数据服务器,用于在元数据服务器宕机时,接管元数据服务器服务;

所述数据服务器,用于当链路平均速度大于等于阈值时,对数据服务器中的数据块的写操作提供基于链路的强一致性策略,否则,提供基于链路的弱一致性策略,当数据服务器执行写操作时,采用三备份机制对数据服务器中的数据进行备份,得到三个副本,三个副本分别使用同架存储,离架同站存储和离站存储;

所述强一致性策略为涉及写操作的数据服务器或者元数据服务器均完成,所述弱一致性策略为涉及写操作的数据服务器或者元数据服务器半数以上完成。

进一步的,数据一致性系统还包括若干客户端,所述客户端,用于发送写操作给元数据服务器和数据服务器。

进一步的,客户端在发送写操作时,通过广播将写操作发送给数据一致性系统内所有的元数据服务器,最先响应的元数据服务器将获得该写操作的处理优先权。

进一步的,元数据服务器还用于在写操作完成后基于写操作的内容保存一份Hash表;元数据服务器在后续处理写操作时通过得到的基于写操作的内容的hash值与Hash表进行比对,若重复则返回该写操作的已存文件地址;否则继续执行该写操作并同步更新hash表。

进一步的,链路为卫星链路或者地面链路。

进一步的,数据服务器在对数据块的写操作进行离站存储时,若该数据服务器所在的信关站与离站备份服务器所在信关站既能通过卫星链路通信,又能通过与二者皆存在地面链路的第三方信关站使用地面链路通信,且通过第三方的地面链路通信优于卫星链路通信,则将该数据块的写操作的离站存储操作通过第三方信关站的数据服务器进行转发。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)细粒度的一致性保证:当链路平均速度大于等于阈值时,使用基于链路的强一致性策略,即全部相关服务器完成数据服务器端数据块的备份操作和元数据服务器端元数据事物链的同步操作;否则使用基于链路的弱一致性策略,即半数以上相关服务器完成即可,因此可以实现细粒度的动态一致性保证。

(2)快速的读写响应:通过系统中所有元数据服务器维护的全局事务链,使得数据的读操作能够快速得到响应;通过写竞争机制,数据端及元数据端基于链路的动态一致性策略,使得数据的写操作能快速完成,因此可以有效降低延时开销,实现快速的读写响应。

(3)减小重复数据的同步开销:通过将写操作的hash值与数据接收端维护的全局hash表比对,若重复,则返回该写操作的已存文件地址;否则继续执行该写操作并同步更新hash表,因此可以避免重复数据占用网络带宽和存储空间,从而减小重复数据的同步开销。

附图说明

图1是本发明实施例提供的系统结构图;

图2是本发明实施例提供的数据服务器的数据一致性保证示意图;

图3是本发明实施例提供的元数据服务器的数据一致性保证示意图;

图4是本发明实施例提供的元数据服务器的写竞争机制示意图;

图5是本发明实施例提供的增量更新处理机制示意图;

图6是本发明实施例提供的最佳路径选择示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种基于卫星网络环境下的数据一致性系统,包括n个信关站和若干客户端,

所述客户端,用于发送写操作给元数据服务器和数据服务器。

信关站通过卫星网络和卫星群通信,信关站之间通过链路连接,每个信关站包括元数据服务器(NameNode,在途中用NN表示)、热备元数据服务器(standby NameNode,在图中用HA表示)和数据服务器(DataNode,在图中用DN表示);

如图2所示,所述数据服务器,用于当链路平均速度大于等于阈值时,对数据服务器中的数据块Block_A的写操作提供基于链路的强一致性策略,即所有涉及写操作的数据服务器均完成;否则,提供基于链路的弱一致性策略,即涉及写操作的数据服务器半数以上完成即可,当数据服务器执行写操作时,采用三备份机制对数据进行备份,得到三个副本,三个副本分别使用同架存储,离架同站存储和离站存储。

如图3所示,所述元数据服务器,用于将元数据服务器的ba个写操作转成b个事务块,b个事务块构成一个事务链,其中,a≥1,b≥1,当链路平均速度大于等于阈值时,使用基于链路的强一致性策略通过事务链实现元数据同步,否则,使用基于链路的弱一致性策略通过事务链实现元数据同步;具体地:每个NN将各自处理的写和更新事务转成一个(TransactionBlock),并与之前的事务块链接成一个全局事务链(TransactionChain,用以保存元数据的写操作和更新操作),事务块初始设定阈值大小M(capacity),当Capacity(TransactionBlock)≥M时,将该事物块(TransactionBlock)链接到事物链(TransactionChain)中。该NN定期向其他NN广播该NN所维护的整条事物链(TransactionChain)进行全局更新并根据返回ACK个数提供基于链路的强、弱一致性策略:无需返回ACK(最终一致性)。下一阶段依然会发送含有历史记录的整条TransactionChain,其他NameNode依然会更新;需要返回ACK,并提供基于链路的一致性选择:假设v_t表示一个时间段t内的链路平均速度,V’表示设定的一个链路速度阈值,当V_t≥V’时,事物链(TransactionChain)更新采用基于链路的强一致性策略;当V_t<V’时,事物链(TransactionChain)更新采用基于链路的弱一致性策略。

所述热备元数据服务器,用于在元数据服务器宕机时,接管元数据服务器服务;防止单点故障。

如图4所示,客户端在发送写操作时,通过广播将写操作发送给数据一致性系统内所有的元数据服务器,最先响应的元数据服务器将获得该写操作的处理优先权。

如图5所示,数据增量的更新机制,NameNode处理每次写请求后为每个文件以4K为粒度建立一个Hash表,当下次处理写请求时,进行hash比对,若发现重复返回已存文件地址;否则写增量数据。使用方法是采用SHA-1计算hash(时间戳、版本号和文件内容)。具体的:元数据服务器在写操作完成后基于写操作的内容保存一份Hash表;元数据服务器在后续处理写操作时通过得到的基于写操作的内容的hash值与Hash表进行比对,若重复则返回该写操作的已存文件地址;否则继续执行该写操作并同步更新hash表。

如图6所示,本发明提供了更新Block的最佳路径选择,采用链路为卫星链路或者地面链路。当数据服务器在对数据块的写操作进行离站存储时,若该数据服务器所在的信关站与离站备份服务器所在信关站既能通过卫星链路通信,又能通过与二者皆存在地面链路的第三方信关站使用地面链路通信,且通过第三方的地面链路通信优于卫星链路通信,则将该数据块的写操作的离站存储操作通过第三方信关站的数据服务器进行转发。具体的:DN数据备份采用三备份机制(Block_i存储选择为同架,离架同站,离站);当基站BSx需要更新Block_i到离站BSy上的DNn-m时,NNx(管理Block_i)会判断当前链路速度,取Max{V{(BS_x→BS_y)卫星},V{(BS_x→BS_y)地面},V{(BS_x→BS_z→BS_y)地面}},选取最优链路进行转发,当某NNx管理的离站Block_x所在节点DN_y宕机后,NNx感知该block_x宕机后会基于链路选择具有最佳链路的某其他基站NNz上的空闲DNz进行block_x的备份恢复。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1