System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种序列号同步方法、系统、装置及设备制造方法及图纸_技高网

一种序列号同步方法、系统、装置及设备制造方法及图纸

技术编号:41418513 阅读:13 留言:0更新日期:2024-05-21 20:51
一种序列号同步方法、系统、装置及设备。本申请中,客户端与服务端基于NFS协议通信。客户端向服务端发送第一操作请求,第一操作请求携带第一序列号,第一序列号标识第一操作请求的发送次序。服务端确定第一操作请求乱序,向客户端发送第一通知消息,第一通知消息指示第一操作请求发生乱序,第一通知消息携带第二序列号,第二序列号为服务端侧维护的、以指示客户端发送的下一个操作请求的序列号。客户端获取该第二序列号,根据第二序列号获得下一个发送的操作请求的序列号,及时纠正操作请求的乱序,客户端不需要再与服务端重新建立连接。

【技术实现步骤摘要】

本申请涉及通信,尤其涉及一种序列号同步方法、系统、装置及设备


技术介绍

1、在网络文件系统(network file system,nfs)协议(如nfsv4.1协议)中,定义了会话、槽位、以及序列号,以保证客户端与服务器之间交互的操作请求能够有序执行。

2、nfsv4.1协议中要求,在客户端向服务端发送的操作请求中携带的序列号与服务端侧维护的序列号差值不小于2的情况下,服务端会通知客户端操作请求乱序,客户端与服务端之间需要重新建立连接,客户端在重新建立连接之后还需要恢复到重新建立连接之前的状态,如客户端还需要重新申请文件锁。这种操作请求乱序重新建立连接的方式会使得客户端在较长一段时间内才能正常工作,效率较低。


技术实现思路

1、本申请提供一种序列号同步方法、系统、装置及设备,用以避免客户端与服务端之间由于操作请求乱序导致的连接重建。

2、第一方面,本申请实施例提供了一种序列号同步方法,该方法可以由与服务端基于nfs协议通信的客户端执行。在该方法中,客户端向服务端发送第一操作请求,第一操作请求携带第一序列号,第一序列号用于标识第一操作请求的发送次序。该第一操作请求可以用于访问服务端上的文件,如查看文件名、更新文件等,本申请并不限定该第一操作请求所请求的访问文件的方式。该第一操作请求也可以为请求用户创建会话的操作请求。

3、客户端在发送了第一操作请求之后,接收服务端发送的第一通知消息,第一通知消息用于指示第一操作请求发生乱序,第一通知消息携带第二序列号。客户端在接收到该第一通知请求后,获取该第二序列号,根据第二序列号获得第二操作请求的序列号,其中,第二操作请求为第一操作请求后发送的下一个操作请求。

4、通过上述方法,客户端发送的第一操作请求发生乱序时,客户端能够从服务端获取第二序列号,以便客户端能够利用该第二序列号获取下一个发送的操作请求的序列号,及时纠正操作请求的乱序,这样,客户端不需要再与服务端重新建立连接,客户端与服务端之间的服务不会中断。

5、在一种可能的实现方式中,当客户端进行重试,需要再次发送一次第一操作请求,第二操作请求为第一操作请求发送后重试发送的操作请求,第二操作请求携带的序列号为该第二序列号。

6、当客户端无需重试,需要在发送第一操作请求之后发送另一个操作请求,第二操作请求为发送第一操作请求之后发送的另一个操作请求,第二操作请求的序列号等于第二序列号与预设值的和(该预设值可以为1)。

7、客户端在利用第二序列号获得了第二操作请求的序列号后,向服务端发送第二操作请求。

8、通过上述方法,客户端能够根据发送第二操作请求的具体场景(如重试或发送新的操作请求)为该第二操作请求配置序列号,并发送该第二操作请求,第二操作请求携带了正确的序列号,减少发生操作请求乱序的概率,避免客户端与服务端之间重建连接,有效防止了客户端与服务端之间的业务中断。

9、在一种可能的实现方式中,客户端除了向服务端发送操作请求,也可以接收来自服务端的操作请求。例如,客户端接收服务端发送的第三操作请求,第三操作请求携带第三序列号,第三序列号用于标识第三操作请求的发送次序。

10、当客户端确定该第三操作请求乱序,如该第三操作请求的序列号不满足保序条件(对应后续实施例中提及的第二保序条件),客户端向服务端发送第二通知消息,第二通知消息用于指示第三操作请求发生乱序,第二通知消息携带第四序列号,第四序列号用于获得服务端发送的下一个操作请求的序列号,该第四序列号为客户端侧维护的。

11、其中,对于需要使用会话中的槽位(也即后续实施例提及的第二槽位)发送的操作请求,该第四序列号为客户端针对该槽位所维护的序列号,用于指示该服务端使用该槽位发送的下一个操作请求的序列号。对于无需使用会话中的槽位发送的操作请求,该第四序列号为客户端针对相同类型的操作请求所维护的序列号,用于指示该服务端发送的下一个相同类型的操作请求的序列号。

12、通过上述方法,当服务端向客户端发送的第三操作请求发生乱序,客户端可以及时告知服务端第三操作请求发生乱序,还告知了客户端侧维护的第四序列号,以便服务端之后能够利用该第四序列号发送携带正确的序列号的操作请求,避免再次发生操作请求乱序的情况。

13、在一种可能的实现方式中,客户端在向服务端发送第二通知消息之后,还接收服务端发送的第四操作请求,第四操作请求携带的序列号等于第四序列号与预设值的和(该预设值可以为1)或等于第四序列号。

14、通过上述方法,客户端在告知服务端第四序列号后,能够接收到携带有正确序列号的第四操作请求,操作请求不再乱序,客户端可以处理该第四操作请求,向服务端反馈响应,如告知处理结果或告知已成功接收到该第四操作请求。

15、在一种可能的实现方式中,客户端可以先向服务端发送第五操作请求,该第五操作请求携带第一序列号,在设定时长内未接收到服务端针对第五操作请求反馈的响应后,进行重试,向服务端发送第一操作请求。

16、通过上述方法,客户端可以进行重试,以保证服务端能够成功接收到第一操作请求。

17、在一种可能的实现方式中,客户端在设定时长内未接收到服务端针对第五操作请求反馈的响应之后,也可以先探测服务端是否正常,在确定服务器正常时,再进行重试,向服务端发送第一操作请求。探测过程如下:客户端向服务端发送探测消息(对应于后续实施例提及的第一探测消息),探测消息用于探测服务端是否正常;客户端接收服务端发送的探测响应,探测响应用于指示服务端正常。

18、通过上述方法,客户端在探测到服务端正常的情况下再进行重试,能够进一步保证服务端能够成功接收到第一操作请求。

19、在一种可能的实现方式中,若该第一操作请为使用会话中的槽位(如后续实施例提及的第一槽位)发送的操作请求,该第一通知消息包括会话标识以及槽位标识,会话标识用于标识承载第一操作请求的会话,槽位标识用于标识会话中发送第一操作请求所使用的槽位。

20、若该第一操作请为不使用会话中的槽位发送的操作请求(如用于请求创建会话的操作请求),该第一通知消息不包括会话标识以及槽位标识。

21、通过上述方法,第一通知消息包括会话标识以及槽位标识,能够使得客户端确定存在操作请求乱序的会话以及槽位。

22、在一种可能的实现方式中,第一操作请求包括nfs协议中的create_session操作或sequence操作。当第一操作请求用于请求创建会话,该第一操作请求中包括create_session操作,该create_session操作记录第一操作请求的第一序列号。当第一操作请求用于访问文件,该第一操作请求中包括sequence操作,sequence操作记录第一操作请求的第一序列号,还可以记录承载第一操作请求的会话的会话标识、以及该会话中发送第一操作请求所使用的槽位。

23、通过上述方法,第一操作请求的类型不同,携带第一序本文档来自技高网...

【技术保护点】

1.一种序列号同步方法,其特征在于,所述方法应用于与服务端基于网络文件系统NFS协议通信的客户端,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述向所述服务端发送第二通知消息之后,还包括:

5.如权利要求1或2所述的方法,其特征在于,所述向所述服务端发送第一操作请求之前,还包括:

6.如权利要求5所述的方法,其特征在于,所述在设定时长内未接收到所述服务端针对所述第五操作请求反馈的响应之后,还包括:

7.如权利要求1-6任一项所述的方法,其特征在于,所述第一通知消息还包括会话标识以及槽位标识,所述会话标识用于标识承载所述第一操作请求的会话,所述槽位标识用于标识所述会话中发送所述第一操作请求所使用的槽位。

8.如权利要求1-7任一项所述的方法,其特征在于,所述第一操作请求包括NFS协议中的CREATE_SESSION操作或SEQUENCE操作。

9.如权利要求3所述的方法,其特征在于,所述第三操作请求包括NFS协议中的CB_SEQUENCE操作。

10.一种序列号同步方法,其特征在于,所述方法应用于与客户端基于网络文件系统NFS协议通信的服务端,所述方法包括:

11.如权利要求10所述的方法,其特征在于,所述向所述客户端发送的第一通知消息之后,还包括:

12.如权利要求10或11所述的方法,其特征在于,所述方法还包括:

13.如权利要求12所述的方法,其特征在于,所述方法还包括:

14.如权利要求10或11所述的方法,其特征在于,所述接收所述客户端发送第一操作请求之前,还包括:

15.如权利要求10-14任一项所述的方法,其特征在于,所述第一通知消息还包括会话标识以及槽位标识,所述会话标识用于标识承载所述第一操作请求的会话,所述槽位标识用于标识所述会话中所述第一操作请求所属的槽位。

16.如权利要求10-15任一项所述的方法,其特征在于,所述第一操作请求包括NFS协议中的CREATE_SESSION操作或SEQUENCE操作。

17.如权利要求13所述的方法,其特征在于,所述第三操作请求包括NFS协议中的CB_SEQUENCE操作。

18.一种序列号同步系统,其特征在于,所述系统包括客户端以及服务端,所述客户端与所述服务端基于网络文件系统NFS协议通信;

19.如权利要求18所述的系统,其特征在于,

20.如权利要求18或19所述的系统,其特征在于,所述系统还包括:

21.如权利要求20所述的系统,其特征在于,

22.如权利要求18或19所述的系统,其特征在于,所述客户端在向所述服务端发送第一操作请求之前,还用:

23.如权利要求22所述的系统,其特征在于,所述客户端在设定时长内未接收到所述服务端针对所述第五操作请求反馈的响应之后,还用于:

24.如权利要求18-23任一项所述的系统,其特征在于,所述第一通知消息还包括会话标识以及槽位标识,所述会话标识用于标识承载所述第一操作请求的会话,所述槽位标识用于标识所述会话中发送所述第一操作请求所使用的槽位。

25.如权利要求18-24任一项所述的系统,其特征在于,所述第一操作请求包括NFS协议中的CREATE_SESSION操作或SEQUENCE操作。

26.如权利要求20所述的系统,其特征在于,所述第三操作请求包括NFS协议中的CB_SEQUENCE操作。

27.一种序列号同步方法,其特征在于,所述方法应用于基于网络文件系统NFS协议通信的客户端和服务端,所述方法包括:

28.如权利要求27所述的方法,其特征在于,所述操作请求包括NFS协议中的CB_SEQUENCE操作。

29.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;

30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至17、27至28任一项所述的方法。

...

【技术特征摘要】

1.一种序列号同步方法,其特征在于,所述方法应用于与服务端基于网络文件系统nfs协议通信的客户端,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述向所述服务端发送第二通知消息之后,还包括:

5.如权利要求1或2所述的方法,其特征在于,所述向所述服务端发送第一操作请求之前,还包括:

6.如权利要求5所述的方法,其特征在于,所述在设定时长内未接收到所述服务端针对所述第五操作请求反馈的响应之后,还包括:

7.如权利要求1-6任一项所述的方法,其特征在于,所述第一通知消息还包括会话标识以及槽位标识,所述会话标识用于标识承载所述第一操作请求的会话,所述槽位标识用于标识所述会话中发送所述第一操作请求所使用的槽位。

8.如权利要求1-7任一项所述的方法,其特征在于,所述第一操作请求包括nfs协议中的create_session操作或sequence操作。

9.如权利要求3所述的方法,其特征在于,所述第三操作请求包括nfs协议中的cb_sequence操作。

10.一种序列号同步方法,其特征在于,所述方法应用于与客户端基于网络文件系统nfs协议通信的服务端,所述方法包括:

11.如权利要求10所述的方法,其特征在于,所述向所述客户端发送的第一通知消息之后,还包括:

12.如权利要求10或11所述的方法,其特征在于,所述方法还包括:

13.如权利要求12所述的方法,其特征在于,所述方法还包括:

14.如权利要求10或11所述的方法,其特征在于,所述接收所述客户端发送第一操作请求之前,还包括:

15.如权利要求10-14任一项所述的方法,其特征在于,所述第一通知消息还包括会话标识以及槽位标识,所述会话标识用于标识承载所述第一操作请求的会话,所述槽位标识用于标识所述会话中所述第一操作请求所属的槽位。

16.如权利要求10-15任...

【专利技术属性】
技术研发人员:张明谦瓦雷西·珮里耶什·昆希·帕兰巴图
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1