一种基于动态Compound RPC的快速状态服务迁移方法和系统技术方案

技术编号:20389484 阅读:39 留言:0更新日期:2019-02-20 02:42
本发明专利技术涉及一种基于动态Compound RPC的快速状态服务迁移方法和系统,包括:获取迁出端中待迁移的元数据子卷;该迁出端初始化一个结构体m,依次遍历该元数据子卷中所有拥有open、lock、delegation、layout状态的文件,将文件中的状态及状态的数目写入m;新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,然后新建一个Compound D,将D返回该迁出端;该迁出端通过检查D,确认该文件的状态是否迁移成功。本发明专利技术可以保证迁移前后的状态一致性,并降低状态迁移在迁移过程中的时间开销。

【技术实现步骤摘要】
一种基于动态CompoundRPC的快速状态服务迁移方法和系统
本专利技术涉及计算机存储领域,特别涉及分布式文件系统的服务迁移技术。
技术介绍
NFS(NetworkFileSystem)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。pNFS是NFSv4的高性能增强,它在保持了NFSv4操作系统和硬件平台独立的同时又提供了对并行文件系统的直接存储访问。pNFS中为了保持文件的一致性,由元数据服务器为访问文件的客户端分配四种状态:open、lock、delegation、layout。open代表文件的一次打开;lock代表对文件中的一个字节加锁;delegation代表可召回的文件授权;layout代表获取文件的布局。pNFS通过服务器对客户端分发这些状态,更好地保持了多客户端的并行访问和一致性处理。服务器对客户端授权的状态存放在元数据服务器的内存中。当元数据服务器的负载过大时,为了保持元数据客户端正常提供服务,需要对状态进行迁移,即将状态迁移到另一元数据服务器上提供服务。而显然由于客户端的不同和文件的不同,状态数目和种类也不同。以状态为粒度进行迁移时,迁移时间随状态数目的增长显著增大(如图1).RPC(RemoteProcedureCall)即远程过程调用,是一种通过网络从远程计算机程序上请求服务的协议。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。CompoundRPC。Compound意为复合的。CompoundRPC相对于RPC每次发送多个请求,降低网络交互的时间延迟。Compound过程被定义为一连串的单独操作,在每个Compound中规定了操作的类型,将一系列的操作编码后由一个RPC传给服务器,由服务器进行操作后,将结果按顺序返回,客户端再根据发送时确定的顺序进行解码。一次或一个RPC指的是客户端对服务器的一次RPC调用过程。具体包括“客户端发送给服务器->服务器执行操作并返回结果给客户端->客户端收到回复后处理”的全部过程。基于上述分析,现有技术目前还存在以下局限:以状态为粒度进行状态迁移时,当状态数目显著增大时,状态迁移时间性能急剧下降;而每个文件的状态数目不固定,无法在Compound中固定操作,现有的CompoundRPC机制无法将同一文件的状态聚合在一个RPC中发送。针对以上考虑,提出一种基于动态CompoundRPC的快速状态服务迁移机制。
技术实现思路
本专利技术的目的是以pNFS为基础,增加了动态CompoundRPC机制,解决了状态迁移时间随状态数目线性增长的问题,提供了一种快速状态服务迁移方法。具体来说,本专利技术公开了一种基于动态CompoundRPC的快速状态服务迁移方法,其中包括:步骤1、获取迁出端中待迁移的元数据子卷,该迁出端初始化一个结构体m;步骤2、遍历该元数据子卷中的一个文件,按照拥有状态open,lock,delegation,layout的顺序,依次将该文件中的迁移信息写入m;步骤3、新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,该迁入端将标志每个状态恢复成功与否的错误码返回该迁出端,该迁出端根据该错误码判断该文件的状态是否恢复成功。该基于动态CompoundRPC的快速状态服务迁移方法,其中该步骤2还包括:每次将该迁移信息写入m之前,获取该迁出端一次RPC能够发送的最大数据量,根据该最大数据量判断当前m是否还有空间容纳当前该迁移信息,若是,则将当前该迁移信息写入m,否则执行该步骤3;该基于动态CompoundRPC的快速状态服务迁移方法,其中该迁移信息包括文件的序号及文件建立时间等。该基于动态CompoundRPC的快速状态服务迁移方法,其中该步骤3还包括:该迁入端根据收到的结构体m,恢复得到文件结构体m,即该文件的状态,该迁入端替代该迁出端支持客户端访问。该基于动态CompoundRPC的快速状态服务迁移方法,其中该步骤3还包括:该迁出端通过检查该错误码,确认结构体m中的状态是否全部成功迁移至该迁入端,若是,则执行步骤2遍历该元数据子卷中的下一个文件。本专利技术还公开了一种基于动态CompoundRPC的快速状态服务迁移系统,其中包括:初始化模块,获取迁出端中待迁移的元数据子卷,该迁出端初始化一个结构体m;结构体写入模块,遍历该元数据子卷中的一个文件,按照拥有状态open,lock,delegation,layout的顺序,依次将该文件中的迁移信息写入结构体m;迁移模块,用于新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,该迁入端将标志每个状态恢复成功与否的错误码返回该迁出端,该迁出端根据该错误码判断该文件的状态是否恢复成功。该基于动态CompoundRPC的快速状态服务迁移系统,其中该结构体写入模块还包括:每次将该迁移信息写入m之前,获取该迁出端一次RPC能够发送的最大数据量,根据该最大数据量判断当前m是否还有空间容纳当前该迁移信息,若是,则将当前该迁移信息写入m,否则调用该迁移模块;该基于动态CompoundRPC的快速状态服务迁移系统,其中该迁移信息包括文件的序号及文件建立时间等。该基于动态CompoundRPC的快速状态服务迁移系统,其中该迁移模块还包括:该迁入端根据收到的结构体m,恢复得到文件的状态,该迁入端替代该迁出端支持客户端访问。该基于动态CompoundRPC的快速状态服务迁移系统,其中该迁移模块还包括:该迁出端通过检查该错误码,确认结构体m中的状态是否全部成功迁移至该迁入端,若是,则调用该结构体写入模块遍历该元数据子卷中的下一个文件。本专利技术的优势在于:1)保证迁移前后的状态一致性;2)降低状态迁移在迁移过程中的时间开销。附图说明图1为迁移时间随状态数目递增测试图;图2为nfs4_file结构示意图;图3为migarg结构体示意图;图4为文件粒度状态服务迁移示意图。具体实施方式具体来说,本专利技术公开了一种基于动态CompoundRPC的快速状态服务迁移方法,其中包括:步骤1、获取迁出端中待迁移的元数据子卷,该迁出端初始化一个结构体m;步骤2、遍历该元数据子卷中的一个文件,按照拥有状态open,lock,delegation,layout的顺序,依次将该文件中的迁移信息写入m;步骤3、新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,该迁入端将标志每个状态恢复成功与否的错误码返回该迁出端,该迁出端根据该错误码判断该文件的状态是否恢复成功。该基于动态CompoundRPC的快速状态服务迁移方法,其中该步骤2还包括:每次将该迁移信息写入m之前,获取该迁出端一次RPC能够发送的最大数据量,根据该最大数据量判断当前m是否本文档来自技高网
...

【技术保护点】
1.一种基于动态Compound RPC的快速状态服务迁移方法,其特征在于,包括:步骤1、获取迁出端中待迁移的元数据子卷,该迁出端初始化一个结构体m;步骤2、遍历该元数据子卷中的一个文件,按照拥有状态open,lock,delegation,layout的顺序,依次将该文件中的迁移信息写入m;步骤3、新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,该迁入端将标志每个状态恢复成功与否的错误码返回该迁出端,该迁出端根据该错误码判断该文件的状态是否恢复成功。

【技术特征摘要】
1.一种基于动态CompoundRPC的快速状态服务迁移方法,其特征在于,包括:步骤1、获取迁出端中待迁移的元数据子卷,该迁出端初始化一个结构体m;步骤2、遍历该元数据子卷中的一个文件,按照拥有状态open,lock,delegation,layout的顺序,依次将该文件中的迁移信息写入m;步骤3、新建RPC连接,发送m至迁入端,该迁入端对m中的各状态的迁移信息进行逐一恢复,该迁入端将标志每个状态恢复成功与否的错误码返回该迁出端,该迁出端根据该错误码判断该文件的状态是否恢复成功。2.如权利要求1所述的基于动态CompoundRPC的快速状态服务迁移方法,其特征在于,该步骤2还包括:每次将该迁移信息写入m之前,获取该迁出端一次RPC能够发送的最大数据量,根据该最大数据量判断当前m是否还有空间容纳当前该迁移信息,若是,则将当前该迁移信息写入m,否则执行该步骤3。3.如权利要求1所述的基于动态CompoundRPC的快速状态服务迁移方法,其特征在于,该迁移信息包括文件的序号及文件建立时间。4.如权利要求1或2所述的基于动态CompoundRPC的快速状态服务迁移方法,其特征在于,该步骤3还包括:该迁入端根据收到的结构体m,恢复得到文件结构体m,该迁入端替代该迁出端支持客户端访问。5.如权利要求1或2所述的基于动态CompoundRPC的快速状态服务迁移方法,其特征在于,该步骤3还包括:该迁出端通过检查该错误码,确认结构体m中的状态是否全部成功迁移至该迁入端,若是,则执行步骤2遍历该元数据子卷中的下一个文件。6.一种基于动态Comp...

【专利技术属性】
技术研发人员:孙丹琦马建辉刘健张强王一宇卢森邵冰清许鲁
申请(专利权)人:中国科学院计算技术研究所天津中科蓝鲸信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1