发送数据的方法、接收数据的方法、装置、系统及介质制造方法及图纸

技术编号:36841300 阅读:11 留言:0更新日期:2023-03-15 15:40
本申请公开了一种发送数据的方法、接收数据的方法、装置、系统及介质,属于通信领域。所述方法应用于基于QUIC协议与通信对端设备交互第一数据的主模块,所述主模块用于提供应用服务,所述方法包括:所述主模块获取所述第一数据,所述第一数据用于实现所述应用服务;所述主模块向作为备份模块的从模块发送所述第一数据;所述主模块基于从所述从模块接收的备份成功消息,处理所述第一数据,所述备份成功消息用于指示所述第一数据备份成功。本申请能够避免中断应用服务。够避免中断应用服务。够避免中断应用服务。

【技术实现步骤摘要】
发送数据的方法、接收数据的方法、装置、系统及介质
[0001]本申请要求于2021年09月10日提交的申请号为202111060556.6、专利技术名称为“一种支持QUIC不间断路由的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及通信领域,特别涉及一种发送数据的方法、接收数据的方法、装置、系统及介质。

技术介绍

[0003]QUIC是一种基于用户数据报协议(user datagram protocol,UDP)且基于字节流的、可靠的安全传输协议。QUIC运行在UDP之上,提供了与传输控制协议(transmission control protocol,TCP)类似的可靠性和拥塞控制等功能。
[0004]当客户端和服务器使用该QUIC协议来传输业务时,客户端可以包括第一QUIC模块,服务器可以包括第二QUIC模块。客户端与服务器基于QUIC在第一QUIC模块和第二QUIC模块之间建立至少一个连接(connection)实例。QUIC具有流复用功能,客户端和服务器在该connection实例上最多可以创建2
62
个流(stream),每个stream可以独立为一个应用(application,APP)提供数据传输,APP用于提供应用服务。
[0005]位于客户端上的第一QUIC模块或者位于服务器上的第二QUIC模块可能出现故障,这样导致客户端与服务器之间的数据传输中断,使得APP提供的应用服务中断。

技术实现思路

[0006]本申请提供了一种发送数据的方法、接收数据的方法、装置、系统及介质,以避免中断应用服务。所述技术方案如下:
[0007]第一方面,本申请提供了一种发送数据的方法,所述方法应用于基于QUIC协议与通信对端设备交互第一数据的主模块,主模块用于提供应用服务。在所述方法中,主模块获取第一数据,第一数据用于实现应用服务。主模块向作为备份模块的从模块发送第一数据。主模块基于从从模块接收的备份成功消息,处理第一数据,该备份成功消息用于指示第一数据备份成功。
[0008]其中,由于主模块在处理第一数据前,将第一数据发送给从模块,从模块是主模块的备份模块,从模块处理第一数据且从模块执行的处理操作是主模块处理第一数据的备份操作,在从模块对第一数据备份成功,主模块处理第一数据,保证从模块和主模块均保存有第一数据。这样在主模块故障时,从模块在主模块故障前处理数据的进度的基础上继续处理数据,使得从模块继续提供应用服务,避免应用服务中断。
[0009]在一种可能的实现方式中,主模块生成第一数据。主模块通过QUIC协议向通信对端设备发送第一数据。由于主模块先向从模块发送第一数据,从模块对接收到的主模块发送第一数据的操作进行备份,其中,主模块和从模块位于通信本端设备中。如此,在主模块
故障时,从模块在主模块故障前发送数据的进度的基础上继续向通信对端设备发送数据,在主模块故障前后,通信对本端设备接收到通信本端设备连续发送的数据,通信对端设备感知不到主模块的故障,避免应用服务中断。
[0010]在另一种可能的实现方式中,主模块接收通信对端设备基于QUIC协议发送的第一数据。主模块包括的主QUIC模块与主模块包括的主应用APP模块之间完成第一数据的交互。由于主模块先向从模块发送第一数据,从模块对主模块接收第一数据的操作进行备份,其中,主模块和从模块位于通信本端设备中。如此,在主模块故障时,从模块在主模块故障前接收数据的进度的基础上继续接收数据,在主模块故障前后,通信对端设备连续发送的数据都能被通信本端设备持续接收,通信对端设备感知不到主模块的故障,避免应用服务中断。
[0011]在另一种可能的实现方式中,第一数据备份成功包括从模块包括的从QUIC模块与从模块包括的从APP模块之间完成第一数据的交互。其中,从QUIC模块与从APP模块之间完成第一数据的交互,来实现从模块对主模块处理第一数据的操作进行备份。另外,由于从QUIC模块与从APP模块之间完成第一数据的交互,这样主APP模块和主QUIC模块之间的数据交互状态和从APP模块和从QUIC模块之间的数据交互状态一致,使得主APP模块101和主QUIC模块102之间的数据和从APP模块201和从QUIC模块202之间的数据存在自然衔接关系。
[0012]在另一种可能的实现方式中,在主模块处理完第一数据之前,主模块获取第二数据,第二数据用于实现应用服务,第二数据与第一数据不同。主模块向从模块发送第二数据和第一标记,第一标记用于指示在处理完第一数据之前暂停备份第二数据。这样在主模块和从模块处理第一数据的过程获取到第二数据时,从模块基于第一标记,在处理完第一数据之前暂停备份第二数据,从而,从模块可以避免在处理第一数据时还处理第二数据,导致出现错误。例如,可以避免出现主模块处理数据的进度和从模块处理数据的进度无法一致的情况。
[0013]在另一种可能的实现方式中,在主模块向从模块发送第一数据之前,主模块向从模块发送第一状态数据,第一状态数据包括从模块上线前主模块的运行状态数据。如此,可以使从模块基于第一状态数据,将自身的运行状态设置与主模块的运行状态一致,这样在主模块故障时,从模块能够成功替代主模块,继续提供应用服务。
[0014]在另一种可能的实现方式中,第一状态数据包括如下至少一项:基于QUIC协议的连接connection实例、基于QUIC协议的流stream实例和该stream实例对应的缓存空间中缓存的数据。
[0015]在另一种可能的实现方式中,在主模块向从模块发送第一数据之前,主模块处理第三数据,第三数据是主模块在第一时间点前接收的通信对端设备发送的数据,第一时间点是从模块对第一状态数据备份成功的时间点。可选地,第三数据与主模块最近上一次处理的数据连续,第三数据是主模块处理第一数据前能够处理的数据。这样在处理第一数据前先处理第三数据,可以提高提供应用服务的效率。
[0016]在另一种可能的实现方式中,主模块获取目标实例的标识,目标实例的标识用于标识与通信对端设备建立的目标实例。主模块向从模块发送备份请求,该备份请求包括目标实例的标识,该备份请求用于请求对目标实例进行备份。主模块基于从模块发送的备份响应,处理目标实例,该备份响应用于响应目标实例的成功备份。从模块接收该备份请求
后,也获取目标实例,这样当从模块代替主模块时,从模块立即基于目标实例与通信对端设备传输用于实现该应用服务的数据。
[0017]在另一种可能的实现方式中,主模块创建目标实例。主模块包括的主QUIC模块与主模块包括的主应用APP模块之间完成创建目标实例的相关信息的交互。由于主QUIC模块与主APP模块之间交互目标实例的相关信息,这样使主APP模块与目标实例关联,通过目标实例可以传输主APP模块与通信对端设备之间的数据。
[0018]在另一种可能的实现方式中,所述目标实例的备份成功包括,从模块包括的从QUIC模块与从模块包括的从APP模块之间完成创建本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种发送数据的方法,其特征在于,所述方法应用于基于QUIC协议与通信对端设备交互第一数据的主模块,所述主模块用于提供应用服务,所述方法包括:所述主模块获取所述第一数据,所述第一数据用于实现所述应用服务;所述主模块向作为备份模块的从模块发送所述第一数据;所述主模块基于从所述从模块接收的备份成功消息,处理所述第一数据,所述备份成功消息用于指示所述第一数据备份成功。2.如权利要求1所述的方法,其特征在于,所述主模块获取第一数据,包括:所述主模块生成所述第一数据;所述主模块基于从所述从模块接收的备份成功消息,处理所述第一数据,包括:所述主模块通过所述QUIC协议向所述通信对端设备发送所述第一数据。3.如权利要求1所述的方法,其特征在于,所述主模块获取第一数据,包括:所述主模块接收所述通信对端设备基于所述QUIC协议发送的所述第一数据;所述主模块基于从所述从模块接收的备份成功消息,处理所述第一数据,包括:所述主模块包括的主QUIC模块与所述主模块包括的主应用APP模块之间完成所述第一数据的交互。4.如权利要求1

3任一项所述的方法,其特征在于,所述第一数据备份成功包括所述从模块包括的从QUIC模块与所述从模块包括的从APP模块之间完成所述第一数据的交互。5.如权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:在所述主模块处理完所述第一数据之前,所述主模块获取第二数据,所述第二数据用于实现所述应用服务,所述第二数据与所述第一数据不同;所述主模块向所述从模块发送所述第二数据和第一标记,所述第一标记用于指示暂停备份所述第二数据。6.如权利要求1

5任一项所述的方法,其特征在于,所述主模块获取第一数据之前,所述方法还包括:所述主模块向所述从模块发送第一状态数据,所述第一状态数据包括所述从模块上线前所述主模块的运行状态数据。7.如权利要求6所述的方法,其特征在于,所述第一状态数据包括如下至少一项:基于所述QUIC协议的连接connection实例、基于所述QUIC协议的流stream实例和所述stream实例对应的缓存空间中缓存的数据。8.如权利要求6或7所述的方法,其特征在于,所述主模块向作为备份模块的从模块发送所述第一数据之前,还包括:所述主模块处理第三数据,所述第三数据是所述主模块在第一时间点前接收的所述通信对端设备发送的数据,所述第一时间点是所述从模块对所述第一状态数据备份成功的时间点。9.如权利要求1

8任一项所述的方法,所述方法还包括:所述主模块获取目标实例的标识,所述目标实例的标识用于标识与所述通信对端设备建立的目标实例;所述主模块向所述从模块发送备份请求,所述备份请求包括所述目标实例的标识,所述备份请求用于请求对所述目标实例进行备份;
所述主模块基于所述从模块发送的备份响应,处理所述目标实例,所述备份响应用于响应所述目标实例的成功备份。10.如权利要求9所述的方法,其特征在于,所述主模块获取目标实例的标识,包括:所述主模块创建所述目标实例;所述主模块基于所述从模块发送的备份响应,处理所述目标实例,包括:所述主模块包括的主QUIC模块与所述主模块包括的主应用APP模块之间完成创建所述目标实例的相关信息的交互。11.如权利要求9或10所述的方法,其特征在于,所述目标实例的备份成功,包括:所述从模块包括的从QUIC模块与所述从模块包括的从APP模块之间完成创建所述目标实例的相关信息的交互。12.如权利要求9

11任一项所述的方法,其特征在于,所述方法还包括:所述主模块向所述从模块发送删除请求,所述删除请求包括所述目标实例的标识,所述删除请求用请求对所述目标实例进行删除;所述主模块接收所述从模块发送的删除响应,所述删除响应用于响应所述目标实例的成功删除。13.如权利要求9

12任一项所述的方法,其特征在于,所述目标实例为基于所述QUIC协议的connection实例或者stream实例。14.如权利要求1

13任一项所述的方法,其特征在于,所述主模块和所述从模块位于同一个设备上,或者所述主模块和所述从模块位于不同设备上。15.一种接收数据的方法,其特征在于,所述方法应用于从模块,所述从模块为主模块的备份模块,所述主模块用于基于QUIC协议与通信对端设备交互第一数据,所述主模块用于提供应用服务,所述方法包括:所述从模块接收所述主模块发送的所述第一数据,所述第一数据用于实现所述应用服务;所述从模块对所述第一数据进行备份处理;所述从模...

【专利技术属性】
技术研发人员:张永康
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1