CN115086173A - 网络升级过程中的可靠性保障方法和装置 - Google Patents
网络升级过程中的可靠性保障方法和装置 Download PDFInfo
- Publication number
- CN115086173A CN115086173A CN202210503238.0A CN202210503238A CN115086173A CN 115086173 A CN115086173 A CN 115086173A CN 202210503238 A CN202210503238 A CN 202210503238A CN 115086173 A CN115086173 A CN 115086173A
- Authority
- CN
- China
- Prior art keywords
- host
- priority
- transmission channel
- layer protocol
- priority transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000008569 process Effects 0.000 title claims abstract description 56
- 230000005540 biological transmission Effects 0.000 claims abstract description 195
- 238000012544 monitoring process Methods 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006854 communication Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
说明书披露一种网络升级过程中的可靠性保障方法和装置。该方法包括:监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;根据监听结果确定所述高优先级传输通道的可用性;响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
Description
技术领域
本说明书涉及通信技术领域,尤其涉及一种网络升级过程中的可靠性保障方法和装置。
背景技术
随着技术的不断发展,网络环境也会随之升级,以给用户提供更好的网络服务。以网络协议栈升级为例,升级过程会给网络带来不稳定的风险,例如上下游未能及时同步的更新协议栈,导致协议栈不兼容,进而造成网络不稳定,影响业务的可靠性。
发明内容
有鉴于此,本说明书提供一种网络升级过程中的可靠性保障方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种网络升级过程中的可靠性保障方法,应用于网络主机,所述网络主机支持至少两种使用优先级不同的传输层协议栈,所述方法包括:
监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
根据监听结果确定所述高优先级传输通道的可用性;
响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
可选的,还包括:
模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机的连接建立请求,监听对应传输通道建立过程中的错误事件。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
监听与对端主机之间已建立的高优先级传输通道的错误事件。
可选的,所述高优先级传输层协议栈对主机的处理器资源消耗小于低优先级传输层协议栈。
可选的,所述高优先级传输层协议栈为远程直接数据存取RDMA协议栈。
一种网络升级过程中的可靠性保障装置,应用于网络主机,所述网络主机支持至少两种使用优先级不同的传输层协议栈,所述装置包括:
错误监听单元,监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
可用性确定单元,根据监听结果确定所述高优先级传输通道的可用性;
信息获取单元,响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
信息转换单元,将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
通道建立单元,基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
可选的,还包括:
交互模拟单元,模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现前述网络升级过程中的可靠性保障方法。
一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于使处理器执行前述网络升级过程中的可靠性保障方法。
采用上述实施方式,在网络升级过程中,若通信双方无法同步升级,双方可基于低优先级传输通道进行通信,进而确保升级过程中应用数据传输的可靠性。并且,这样的可靠性保障方案无需设置备用主机,大大降低了网络升级成本。另一方面,上述可靠性保障方案对于主机应用而言是无感知的,无需修改主机应用的代码,对主机应用入侵小,开发成本低,灵活度高。
附图说明
图1是本说明书一示例性实施例示出的一种网络主机通信过程的示意图。
图2是本说明书一示例性实施例示出的一种网络主机示意图。
图3是本说明书一示例性实施例示出的一种网络升级过程中的可靠性保障方法的流程示意图。
图4是本说明书一示例性实施例示出的一种不可用传输通道表的建立方法的流程示意图。
图5是本说明书一示例性实施例示出的另一种网络升级过程中的可靠性保障方法的流程示意图。
图6是本说明书一示例性实施例示出的另一种网络主机通信过程的示意图。
图7是本说明书一示例性实施例示出的一种网络升级过程中的可靠性保障装置所在电子设备的一种硬件结构图。
图8是本说明书一示例性实施例示出的一种网络升级过程中的可靠性保障装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着技术的不断发展,网络环境也会随之升级,以给用户提供更好的网络服务。以网络协议栈升级为例,升级过程会给网络带来不稳定的风险,例如上下游未能及时同步的更新协议栈,导致协议栈不兼容,进而造成网络不稳定,影响业务的可靠性。
目前,可采用备用机器的方式来保障网络升级过程的可靠性。然而,备用机器的方式以机器为粒度进行备份,成本较高,灵活性较差。
举例来说,假设A主机集群与B主机集群进行业务交互,在将A主机集群升级至新的协议栈时,往往需要为A主机集群设置一批备用主机,当A主机集群中的主机由于升级无法与B主机集群进行业务交互时,可使用备用主机进行接替,进而确保业务的可靠性。类似的,在将B主机集群也升级至新的协议栈时,同样需要为B主机集群设置备用主机。此外,在采用备用主机的方案中,通常还需要部署用于感知业务交互情况的中心设备。整体而言,成本较高,灵活性较差。
下面先介绍网络主机通信的大致过程。
请参考图1,该示意图中示出了两台网络主机,分别为网络主机A和网络主机B。
其中,每台网络主机中都装载有主机应用,所述主机应用可执行业务逻辑,为用户提供业务服务。
例如,网络主机A可以为订单中心的服务器,其上装载的主机应用可提供订单生成、订单管理等业务服务。
再例如,网络主机B也可以为支付中心的服务器,其上装载的主机应用可提供金额计算、支付处理等业务服务。
为实现业务处理,不同的网络主机之间往往需要进行通信。仍以订单中心和支付中心为例,订单中心的网络主机可能需要发送支付请求至支付中心的网络主机,以为订单调用支付服务。
请继续参考图1,网络主机之间的通信往往由主机应用发起,假设网络主机A是通信发起方,网络主机A中的主机应用1可通过调用传输层协议栈的接口申请与网络主机B建立传输通道,进而与网络主机B中的主机应用2交互应用数据。以TCP(TransmissionControl Protocol,传输控制协议)协议为例,网络主机A中的主机应用1可通过socket接口调用TCP协议栈,与网络主机B建立TCP传输通道。后续,TCP协议栈可对网络主机A中主机应用1的用户空间中的应用数据进行TCP封装,然后通过该TCP传输通道将封装后的应用数据发送至网络主机B,网络主机B的TCP协议栈进行解封装,得到应用数据,并将应用数据存储至主机应用2的用户空间中,进而实现应用数据的交互。
基于图1所示的网络主机通信过程,本说明书提供一种网络升级过程中的可靠性保障方案,可应用于网络主机,所述网络主机支持至少两种使用优先级不同的传输层协议栈。在网络升级过程中,会将网络主机中的低优先级传输层协议栈升级为高优先级协议栈。采用本说明书提供的方案,可对高优先级传输通道进行监听,在高优先级传输通道不可用时,建立低优先级传输通道来传输应用数据,从而确保升级过程中应用数据传输的可靠性。传输通道的监听通过冗余线程即可实现,这样的可靠性保障方案相较于设置备用机器,可大大节省成本。
请参考图2,本说明书提供的网络升级过程中的可靠性保障方案可应用于主机应用与传输层协议栈之间的中间层,例如将本方案作为插件提供至中间层中,对于主机应用而言,无需感知传输协议栈的升级,也无需修改主机应用的代码,对主机应用入侵小,开发成本低。
图3是本说明书一示例性实施例示出的一种网络升级过程中的可靠性保障方法的流程示意图。
请参考图3,所述网络升级过程中的可靠性保障方法可包括以下步骤:
步骤302,监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈。
在本说明书中,高优先级传输层协议栈对网络主机的处理器资源消耗通常会远小于低优先级传输层协议栈。例如,高优先级传输层协议栈可以为RDMA(Remote DirectMemory Access,远程直接数据存取)协议栈,低优先级传输层协议栈可以为TCP协议栈。RDMA协议栈的数据收发过程无需CPU参与,能够大大节省CPU的处理资源。当然,RDMA协议栈与TCP协议栈仅为示例性说明,本说明书并不限制传输层协议栈的具体类型。
在本说明书中,传输通道可指网络主机应用之间建立的传输层传输通道。传输通道可分为高优先级传输通道和低优先级传输通道。其中,高优先级传输通道与高优先级传输层协议栈对应,可通过调用高优先级传输层协议栈建立;低优先级传输通道与低优先级传输层协议栈对应,可通过调用低优先级传输层协议栈建立。
在本说明书中,网络主机在升级为高优先级协议栈之后,主机应用会优先调用高优先级协议栈以与对端主机应用建立高优先级传输通道,以进行通信。本步骤可对高优先级传输通道进行监听。
在一个例子中,针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,可监听对应传输通道建立过程中的错误事件。
在本例中,高优先级传输层协议栈响应于主机应用的调用,可基于高优先级传输层协议与对端网络主机应用尝试建立传输通道(即高优先级传输通道)。若对端网络主机尚未升级到高优先级传输层协议栈,那么高优先级传输通道势必无法成功建立。在无法建立高优先级传输通道时,会上报错误事件,例如,可将错误事件代码上传到指定的错误回调接口。本步骤可对所述错误事件进行监听。
在另一个例子中,针对已成功建立的高优先级传输通道,也可进行监听,即监听与对端主机应用之间已建立的高优先级传输通道的错误事件。
在本例中,当网络主机中已建立的高优先级传输通道发生异常时,也会上报错误事件,例如,传输通道异常中断、数据收发异常等。本步骤也可对这些错误事件进行监听,从而获知到已建立的高优先级传输通道的错误事件。
在本说明书中,在监听到所述高优先级传输通常的错误事件后,可获取所述高优先级传输通道的通道信息,例如,对端网络主机的IP地址、端口号等,还可获取错误相关信息,例如,错误原因、错误发生时间、错误事件代码等。
步骤304,根据监听结果确定所述高优先级传输通道的可用性。
基于前述步骤302,在监听到所述高优先级传输通道的错误事件后,可根据监听结果确定所述高优先级传输通道的可用性。
在一个例子中,可在监听到错误事件后,将发生错误事件的高优先级传输通道置为不可用。
例如,针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,可在第一次高优先级传输通道建立失败后就将所述高优先级传输通道置为不可用。
再例如,针对已成功建立的高优先级传输通道,在监听到错误事件后,将其置为不可用。
在另一个例子中,也可设置一定的容错机制,即在监听到错误事件后,不会即刻将发生错误的高优先级传输通道置为不可用,可继续进行监听,当监听到的错误事件的次数达到阈值后再将其置为不可用。或者,也可对错误事件的类型进行区分,针对部分类型的错误事件,在监听到一次错误事件后,将发生错误的高优先级传输通道置为不可用,针对另一部分的错误事件,可在监听到一次错误事件后继续进行监听,直至错误事件的发生次数达到阈值。
例如,针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,可在监听到错误事件后将对应的高优先级传输通道置为不可用。
再例如,针对已成功建立的高优先级传输通道,可在监听到3次数据收发异常时,将该高优先级传输通道置为不可用。
在其他例子中,也可采用其他规则根据监听结果确定高优先级传输通道的可用性,例如结合阈值与错误事件类型,本说明书对此不作特殊限制。
在本说明书中,在确定高优先级传输通道不可用时,可为其添加不可用标记,例如可记录所述高优先级传输通道的通道信息,并为其添加不可用标记。
IP地址 | 端口号 | 可用性 |
127.0.0.8 | 8080 | 不可用 |
表1
请参考表1的示例,可记录高优先级传输通道的对端网络主机IP地址和端口号作为通道信息。当然,表1仅为示例性说明,在实际应用中,也可以不在表中记录可用性,默认表中的高优先级传输通道均不可用,即该表为专门记录不可用传输通道的不可用传输通道表。
在本说明书中,基于步骤302和步骤304,通过对高优先级传输通道的监听,可实现对高优先级传输通道可用性的确定。
可选的,若确定已建立的高优先级传输通道不可用,在将其置为不可用后还可断开该高优先级传输通道,请求建立该高优先级传输通道的主机应用可重新发起连接建立请求。
步骤306,响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息。
在本说明书中,当主机应用调用高优先级传输通道协议栈发起的面向对端主机应用的连接建立请求时,可先判断与对端主机应用之间的高优先级传输通道是否可用。
在所述高优先级传输通道可用的情况下,可与对端主机应用建立高优先级传输通道。
在所述高优先级传输通道不可用的情况下,为避免业务异常中断,可转而建立低优先级传输通道。
在本说明书中,响应于所述连接建立请求,可通过已记录的不可用高优先级传输通道来进行判断。
以将不可用高优先级传输通道记录在不可用传输通道表中为例,响应于所述连接建立请求,可先查表判断所述连接请求指定的对端网络主机的IP地址和端口号对应的高优先级传输通道是否命中不可用传输通道表,即查询所述IP地址和端口号是否命中所述不可用传输通道表,在查询命中时,可确定对应的高优先级传输通道不可用。
值得注意的是,在本说明书中,针对每个所述连接建立请求,均可进行高优先级传输通道可用性的判断。一般而言,针对同一对端网络主机的主机应用,在第一次接收到所述连接建立请求后,通过查表可确定高优先级传输通道未被标记为不可用,进而与对端网络主机应用建立高优先级传输通道。若高优先级传输通道建立失败,可在表中将其标记为不可用。在第二次接收到所述连接建立请求后,通过查表可确定高优先级传输通道不可用,进而执行低优先级传输通道的建立过程。
在本说明书中,高优先级传输层协议栈与低优先级传输层协议栈二者独立,针对同一对端网络主机的主机应用,与对端建立连接所需的IP地址、端口号等连接信息可能相同,也可能不同。为实现低优先级传输通道的建立,需要将高优先级传输层协议栈使用的连接信息转换为低优先级协议栈使用的连接信息。
在本步骤中,可在确定所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的IP地址、端口号等连接信息,为便于后续区分,将其称之为第一连接信息。
步骤308,将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息。
基于前述步骤306,在获取到所述第一连接信息后,可基于不同优先级传输层协议栈维护的连接信息与网络主机之间的对应关系进行连接信息的转换。例如,可先确定高优先级传输层协议下所述第一连接信息对应的网络主机标识,然后根据连接信息转换规则,查找低优先级传输层协议下所述网络主机标识对应的第二连接信息。
其中,所述连接信息转换规则主要用于解决同一网络主机对应多个不同连接信息的情况,所述连接信息转换规则包括网络主机在不同优先级传输层协议下某项连接信息的转换规则。例如,同一网络主机在高优先级传输层协议下和低优先级传输层协议下端口号的转换规则。举例来说,同一网络主机在低优先级传输层协议下的端口号是其在高优先级传输层协议下的端口号加100。
IP地址 | 端口号 | 网络主机 |
IPA-1 | 端口A-1 | A |
IP B-1 | 端口B-1 | B |
表2(高优先级传输层协议栈)
地址 | 端口号 | 网络主机 |
IPA-2 | 端口A-2 | A |
IP B-2 | 端口B-2 | B |
表3(低优先级传输层协议栈)
请参考表2所示的高优先级传输层协议栈维护的网络主机的第一连接信息,以及表3所示的低优先级传输层协议栈维护的网络主机的第二连接信息。在本步骤中,可通过表2查找到连接建立请求中第一连接信息对应的网络主机标识,以转换规则是端口号的转换规则为例,还可基于第一连接信息的端口号计算出第二连接信息的端口号,然后根据所述第二连接信息的端口号和网络主机标识通过表3查找到对应的第二连接信息。
当然,在其他例子中,也可预先整合表2和表3,直接存储不同优先级传输层协议下的连接信息之间的映射关系,本说明书对此不作特殊限制。
值得注意的是,以网络主机A为例,表2和表3中IPA-1和IPA-2可能相同,也可能不同;类似的,表2和表3中端口A-1和端口A-2可能相同,也可能不同。
步骤310,基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
基于前述步骤308,在将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息后,可基于第二连接信息调用低优先级传输层协议栈,以与对端主机应用建立低优先级传输通道。
在低优先级传输通道建立后,后续可基于该低优先级传输通道传输本端主机应用指定的应用数据。
此外,在与对端主机应用建立低优先级传输通道后,本说明书提供的可靠性保障方案还可模拟高优先级传输层协议栈与本端主机应用交互控制数据和应用数据。
其中,所述控制数据可包括传输通道建立成功、失败等消息。例如,在所述低优先级传输通道建立成功后,可模拟高优先级传输层协议栈通知主机应用高优先级传输通道建立成功。
所述应用数据通常为两端网络主机应用之间传输的数据,本端在将本端主机应用提供的本方应用数据通过低优先级传输通道发送至对端主机应用后,若接收到对端返回的响应,可基于低优先级传输层协议栈从中提取出对端主机应用返回的对方应用数据,然后将对方应用数据存储至本端主机应用的用户空间中,以供本端主机应用提取。
由此可见,本端主机应用不会感知到高优先级传输通道异常无法使用,使用低优先级传输通道代替高优先级传输通道进行通信的整个过程对于主机应用而言是无感知的,无需修改主机应用的代码,对主机应用入侵小,开发成本低,灵活度高。
至此,本说明书通过监听确定本端主机应用与对端主机应用之间的高优先级传输通道的可用性。在接收到本端主机应用调用高优先级传输层协议栈发起的面向对端主机应用的连接建立请求时,若确定高优先级传输通道不可用,可对连接信息进行转换,将对端主机应用在高优先级传输层协议下的第一连接信息转换为其在低优先级传输层协议下的第二连接信息,并基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道以进行应用数据的传输。
采用上述实施方式,在网络升级过程中,若通信双方无法同步升级,双方可基于低优先级传输通道进行通信,进而确保升级过程中应用数据传输的可靠性。并且,这样的可靠性保障方案无需设置备用主机,大大降低了网络升级成本。
另一方面,上述可靠性保障方案对于主机应用而言是无感知的,无需修改主机应用的代码,对主机应用入侵小,开发成本低,灵活度高。
下面以高优先级传输通道是RDMA通道,低优先级传输通道是TCP通道为例进行说明。
仍假设网络主机A与网络主机B通信,网络主机A已成功升级RDMA协议栈,而网络主机B仍然使用TCP协议栈。其中,网络主机A中部署有主机应用1,网络主机B中部署有主机应用2。
请参考图4,本例中不可用传输通道表的建立过程可包括以下步骤:
步骤402,主机应用1调用RDMA协议栈发起面向主机应用2的连接建立请求。
在本例中,网络主机A是通信发起方,网络主机A中的主机应用1要与网络主机B中的主机应用2通信,主机应用1调用RDMA协议栈发起面向主机应用2的连接建立请求。
假设,采用RDMA协议栈与主机应用2建立RDMA通道所使用的网络主机B的IP地址是127.0.0.8,端口号是8080。
步骤404,判断主机应用1与主机应用2之间的RDMA通道是否可用。
步骤406,在主机应用1与主机应用2之间的RDMA通道可用的情况下,与主机应用2建立RDMA通道。
基于前述步骤402,响应于所述连接建立请求,可先判断与主机应用2之间的RDMA通道是否可用。
例如,可查询已建立的不可用传输通道表,判断其中是否记录有IP地址127.0.0.8,端口号8080的RDMA传输通道。
在主机应用1首次发起所述连接建立请求时,不可用传输通道表中不会记录该IP和端口号,RDMA协议栈进而可以基于该IP地址和端口号尝试与主机应用2建立RDMA通道。
步骤408,对该RDMA通道建立的过程进行监听,若监听到错误事件,将该RDMA通道标记为不可用。
在本例中,可对该RDMA通道的建立过程进行监听,由于网络主机B尚未升级至RDMA协议栈,该RDMA通道无法建立,在监听到该错误事件后,可将该RDMA通道标记为不可用,例如将可IP地址127.0.0.8,端口号8080记录到不可用传输通道表中。
至此,完成了不可用RDMA通道的记录。
在本例中,不可用传输通道表中记录的RDMA通道信息可在主机应用重启时清除。当然,在其他例子中,也可定期模拟主机应用1发起所述连接请求,尝试与主机应用2建立RDMA通道,若建立成功,可切换为RDMA通道进行应用数据的传输,并可将不可用传输通道表中的RDMA通道信息清除。
请参考图5和图6,基于图4建立的不可用传输通道表,传输层协议栈升级过程中的可靠性保障方法可包括以下步骤:
步骤502,主机应用1调用RDMA协议栈发起面向主机应用2的连接建立请求。
基于图4所示的实施例,在首次尝试建立RDMA通道失败后,主机应用1会再次发起连接建立请求。
步骤504,确定主机应用1与主机应用2之间的RDMA通道不可用。
步骤506,获取RDMA协议下网络主机B中主机应用2的第一连接信息。
响应于前述步骤502中发起连接建立请求,可查询不可用传输通道表,判断其中是否记录有IP地址127.0.0.8,端口号8080的RDMA传输通道。
在本例中,不可用传输通道表中记录有IP地址127.0.0.8,端口号8080的RDMA传输通道,可确定该RDMA通道不可用,进而获取RDMA协议下主机应用2的第一连接信息IP地址127.0.0.8,端口号8080。
步骤508,将所述第一连接信息转换为网络主机B中主机应用2在TCP协议下的第二连接信息。
在本例中,通过连接信息转换规则,以及RDMA协议栈和TCP协议栈各自维护的IP地址、端口号与网络主机之间的映射关系,可查找到网络主机B中主机应用2在TCP协议下的第二连接信息,例如,所述第二连接信息是IP地址127.0.0.8,端口号9854。
步骤510,调用TCP协议栈,基于所述第二连接信息与主机应用2建立TCP传输通道。
基于前述步骤508,在转换得到第二连接信息后,可调用TCP协议栈,基于所述第二连接信息与主机应用2建立TCP通道。
在TCP通道建立成功后,可模拟RDMA协议栈向主机应用1返回RDMA通道成功建立的控制数据。
后续,可基于TCP通道将主机应用1用户空间中的应用数据传输给主机应用2,例如,对该应用数据进行TCP封装,然后通过TCP通道传输给主机应用2。
在本例中,若TCP通道也建立失败,可向管理中心上报该失败事件。
由以上描述可以看出,在TCP协议栈升级为RDMA协议栈的过程中,若通信双方无法同步升级为RDMA协议栈,双方可基于TCP通道进行通信,进而确保升级过程中应用数据传输的可靠性。并且,这样的可靠性保障方案无需设置备用主机,大大降低了网络升级成本。
另一方面,上述可靠性保障方案对于主机应用而言是无感知的,无需修改主机应用的代码,对主机应用入侵小,开发成本低,灵活度高。
可选的,假设网络主机A与网络主机B均已升级至RDMA协议栈,双方可建立RDMA通道。在本例中,针对已成功建立的RDMA通道,也会继续监听其是否发生错误事件,若监听到错误事件,也可将该RDMA通道标记为不可用。并且,针对不可用的RDMA通道,可断开该通道。
例如,仍假设网络主机A是通信发起方,已与网络主机B建立RDMA通道,若网络主机B监听到该RDMA通道的故障事件,可将该RDMA通道置为不可用,并断开连接。由于连接已断开,网络主机A也可监听到故障事件,进而也会将该RDMA通道置为不可用。在网络主机A再次尝试建立RDMA通道时,由于该RDMA通道已被置为不可用,进而可建立TCP通道,后续基于TCP通道传输应用数据。
当然,在上述过程中,也可能是网络主机A先监听到RDMA的故障事件,并将该RDMA通道置为不可用,本说明书对此不作特殊限制。
与前述网络升级过程中的可靠性保障方法的实施例相对应,本说明书还提供了网络升级过程中的可靠性保障装置的实施例。
本说明书网络升级过程中的可靠性保障装置的实施例可以应用在网络主机中。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络主机的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书网络升级过程中的可靠性保障装置所在网络主机的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络主机通常根据该网络主机的实际功能,还可以包括其他硬件,对此不再赘述。
图8是本说明书一示例性实施例示出的一种网络升级过程中的可靠性保障装置的框图。
请参考图8,所述网络升级过程中的可靠性保障装置800可以应用在图7所示的网络主机上,包括有:错误监听单元801、可用性确定单元802、信息获取单元803、信息转换单元804、通道建立单元805和交互模拟单元806。
其中,错误监听单元801,监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
可用性确定单元802,根据监听结果确定所述高优先级传输通道的可用性;
信息获取单元803,响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
信息转换单元804,将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
通道建立单元805,基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
交互模拟单元806,模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
可选的,所述错误监听单元801:
针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机的连接建立请求,监听对应传输通道建立过程中的错误事件。
可选的,所述错误监听单元801:
监听与对端主机之间已建立的高优先级传输通道的错误事件。
可选的,所述高优先级传输层协议栈对主机的处理器资源消耗小于低优先级传输层协议栈。
可选的,所述高优先级传输层协议栈为远程直接数据存取RDMA协议栈。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与前述网络升级过程中的可靠性保障方法的实施例相对应,本说明书还提供一种电子设备,该电子设备包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与网络升级过程中的可靠性保障逻辑对应的机器可执行指令,所述处理器被促使:
监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
根据监听结果确定所述高优先级传输通道的可用性;
响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
可选的,还包括:
模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机的连接建立请求,监听对应传输通道建立过程中的错误事件。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
监听与对端主机之间已建立的高优先级传输通道的错误事件。
可选的,所述高优先级传输层协议栈对主机的处理器资源消耗小于低优先级传输层协议栈。
可选的,所述高优先级传输层协议栈为远程直接数据存取RDMA协议栈。
与前述网络升级过程中的可靠性保障方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
根据监听结果确定所述高优先级传输通道的可用性;
响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
可选的,还包括:
模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机的连接建立请求,监听对应传输通道建立过程中的错误事件。
可选的,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
监听与对端主机之间已建立的高优先级传输通道的错误事件。
可选的,所述高优先级传输层协议栈对主机的处理器资源消耗小于低优先级传输层协议栈。
可选的,所述高优先级传输层协议栈为远程直接数据存取RDMA协议栈。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种网络升级过程中的可靠性保障方法,应用于网络主机,所述网络主机支持至少两种使用优先级不同的传输层协议栈,所述方法包括:
监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
根据监听结果确定所述高优先级传输通道的可用性;
响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
2.根据权利要求1所述的方法,还包括:
模拟高优先级传输协议栈与主机应用交互控制数据和应用数据。
3.根据权利要求1所述的方法,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
针对主机应用调用高优先级传输层协议栈发起的面向所述对端主机的连接建立请求,监听对应传输通道建立过程中的错误事件。
4.根据权利要求1所述的方法,所述监听与对端主机之间高优先级传输通道的错误事件,包括:
监听与对端主机之间已建立的高优先级传输通道的错误事件。
5.根据权利要求1所述的方法,所述将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息,包括:
确定高优先级传输层协议下所述第一连接信息对应的网络主机标识;
根据连接信息转换规则,查找低优先级传输层协议下所述网络主机标识对应的第二连接信息。
6.根据权利要求1所述的方法,所述高优先级传输层协议栈对主机的处理器资源消耗小于低优先级传输层协议栈。
7.根据权利要求1所述的方法,所述高优先级传输层协议栈为远程直接数据存取RDMA协议栈。
8.一种网络升级过程中的可靠性保障装置,应用于网络主机,所述网络主机支持至少两种使用优先级不同的传输层协议栈,所述装置包括:
错误监听单元,监听与对端主机应用之间高优先级传输通道的错误事件,所述高优先级传输通道对应高优先级传输层协议栈;
可用性确定单元,根据监听结果确定所述高优先级传输通道的可用性;
信息获取单元,响应于本端主机应用调用高优先级传输层协议栈发起的面向所述对端主机应用的连接建立请求,在所述高优先级传输通道不可用时,获取所述对端主机应用在所述高优先级传输层协议下的第一连接信息;
信息转换单元,将所述第一连接信息转换为对端主机应用在低优先级传输层协议下的第二连接信息;
通道建立单元,基于所述第二连接信息调用低优先级传输层协议栈,与对端主机应用建立低优先级传输通道,并基于所述低优先级传输通道传输本端主机应用指定的应用数据。
9.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7任一所述的网络升级过程中的可靠性保障方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于使处理器执行如权利要求1-7任一所述的网络升级过程中的可靠性保障方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210503238.0A CN115086173B (zh) | 2022-05-09 | 2022-05-09 | 网络升级过程中的可靠性保障方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210503238.0A CN115086173B (zh) | 2022-05-09 | 2022-05-09 | 网络升级过程中的可靠性保障方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086173A true CN115086173A (zh) | 2022-09-20 |
CN115086173B CN115086173B (zh) | 2023-10-31 |
Family
ID=83248026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210503238.0A Active CN115086173B (zh) | 2022-05-09 | 2022-05-09 | 网络升级过程中的可靠性保障方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086173B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168536A1 (en) * | 2006-01-17 | 2007-07-19 | International Business Machines Corporation | Network protocol stack isolation |
WO2016131480A1 (en) * | 2015-02-18 | 2016-08-25 | Huawei Technologies Co., Ltd. | Upgrading of a mobile network function |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109818905A (zh) * | 2017-11-21 | 2019-05-28 | 中国移动通信有限公司研究院 | 一种传输层协议适配的方法、网元设备及系统 |
CN109828769A (zh) * | 2018-12-24 | 2019-05-31 | 同济大学 | 一种基于tcp/ip的嵌入式程序远程更新系统及方法 |
US20200076922A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Application data access priority for remote storage systems |
CN111427617A (zh) * | 2019-01-09 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN111615078A (zh) * | 2020-04-20 | 2020-09-01 | 深圳联友科技有限公司 | 一种c-v2x协议栈的通信方法及装置 |
CN114205402A (zh) * | 2021-11-18 | 2022-03-18 | 阿里云计算有限公司 | 连接建立方法、系统、设备和存储介质 |
-
2022
- 2022-05-09 CN CN202210503238.0A patent/CN115086173B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168536A1 (en) * | 2006-01-17 | 2007-07-19 | International Business Machines Corporation | Network protocol stack isolation |
WO2016131480A1 (en) * | 2015-02-18 | 2016-08-25 | Huawei Technologies Co., Ltd. | Upgrading of a mobile network function |
CN109818905A (zh) * | 2017-11-21 | 2019-05-28 | 中国移动通信有限公司研究院 | 一种传输层协议适配的方法、网元设备及系统 |
US20200076922A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Application data access priority for remote storage systems |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109828769A (zh) * | 2018-12-24 | 2019-05-31 | 同济大学 | 一种基于tcp/ip的嵌入式程序远程更新系统及方法 |
CN111427617A (zh) * | 2019-01-09 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN111615078A (zh) * | 2020-04-20 | 2020-09-01 | 深圳联友科技有限公司 | 一种c-v2x协议栈的通信方法及装置 |
CN114205402A (zh) * | 2021-11-18 | 2022-03-18 | 阿里云计算有限公司 | 连接建立方法、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115086173B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016184175A1 (zh) | 数据库处理方法及装置 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN105357042B (zh) | 一种高可用集群系统及其主节点和从节点 | |
CN107124469B (zh) | 一种集群节点通信方法及系统 | |
US20130139178A1 (en) | Cluster management system and method | |
CN110138753B (zh) | 分布式消息服务系统、方法、设备及计算机可读存储介质 | |
CN114363144B (zh) | 一种面向分布式系统的故障信息关联上报方法及相关设备 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN108512753B (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN112398689A (zh) | 网络恢复方法、装置、存储介质及电子设备 | |
CN112218342A (zh) | 一种实现核心网子切片容灾的方法、装置和系统 | |
CN114265753A (zh) | 消息队列的管理方法、管理系统和电子设备 | |
CN112818336A (zh) | 一种数据访问方法、数据访问装置及计算机可读存储介质 | |
CN113496004A (zh) | 一种消息发送方法及装置 | |
CN113507431B (zh) | 一种报文管理方法、装置、设备及机器可读存储介质 | |
CN115514698A (zh) | 协议计算方法、交换机、跨设备链路聚合系统及存储介质 | |
CN112333690B (zh) | 数据传输方法、装置、存储介质、终端及网络接入点设备 | |
CN114070716A (zh) | 应用程序的管理系统、应用程序的管理方法以及服务器 | |
CN113849127A (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
CN115086173B (zh) | 网络升级过程中的可靠性保障方法和装置 | |
CN111143040A (zh) | 事务处理方法、装置、系统及存储介质 | |
CN114244654B (zh) | 一种url的转发方法、装置、设备及计算机存储介质 | |
CN116032498A (zh) | 一种内存区域注册方法、装置及设备 | |
CN114039981A (zh) | 一种消息处理方法、装置、服务器及存储介质 | |
CN116962446B (zh) | 一种NVMe-oF链路动态管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |