CN117811955A - 确定网络状态的方法、设备及计算机可读存储介质 - Google Patents
确定网络状态的方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117811955A CN117811955A CN202211217588.7A CN202211217588A CN117811955A CN 117811955 A CN117811955 A CN 117811955A CN 202211217588 A CN202211217588 A CN 202211217588A CN 117811955 A CN117811955 A CN 117811955A
- Authority
- CN
- China
- Prior art keywords
- virtual port
- negotiation process
- determining
- mapping table
- port
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 395
- 230000008569 process Effects 0.000 claims abstract description 335
- 238000013507 mapping Methods 0.000 claims description 167
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 description 32
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 15
- 238000005129 volume perturbation calorimetry Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了确定网络状态的方法、设备及计算机可读存储介质,属于通信技术领域。在该方法中,先通过虚拟端口接收用于确定网络状态的数据包,确定虚拟端口对应的协商进程,从而通过该协商进程确定用于传输数据包的物理端口,再通过物理端口将数据包传输至物理端口连接的网络,则传输的数据包能够用于确定该网络的网络状态。本申请新增了一种协商进程,该协商进程占用的内存较小,启动速度较快。通过该协商进程可以确定物理端口,从而可以通过物理端口传输通过虚拟端口接收的数据包,使得基于传输的数据包确定网络状态成为可能。
Description
技术领域
本申请涉及通信技术领域,特别涉及确定网络状态的方法、设备及计算机可读存储介质。
背景技术
随着通信技术的发展,网络中的节点数量也越来越多,更容易发生网络问题。因此,需要确定网络状态,使得基于该网络状态定位网络问题成为可能。
发明内容
本申请提供了一种确定网络状态的方法、设备及计算机可读存储介质,用于确定网络状态。本申请提供的技术方案包括如下的几个方面。
第一方面,提供了一种确定网络状态的方法。在该方法中,先通过虚拟端口接收用于确定网络状态的数据包,然后确定虚拟端口对应的协商进程,从而通过该协商进程确定用于传输数据包的物理端口,再通过物理端口将数据包传输至物理端口连接的网络,则传输的数据包能够用于确定该网络的网络状态。
本申请新增了一种协商进程,通过确定虚拟端口对应的协商进程,由虚拟端口对应的协商进程确定物理端口,从而可以通过该物理端口传输通过虚拟端口接收的数据包,以基于传输的数据包确定网络状态。该协商进程占用的内存较小,启动速度较快,能够提高传输数据包的效率,有利于保证所确定的网络状态的准确性。
在一种可能的实现方式中,确定虚拟端口对应的协商进程,包括:根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,将已运行的协商进程作为虚拟端口对应的协商进程。
由于有虚拟端口对应的已运行的协商进程,则可以直接使用已运行的协商进程,无需再创建虚拟端口对应的协商进程,节约了资源。并且,此种实现方式无需更新映射表。
在一种可能的实现方式中,确定虚拟端口对应的协商进程,包括:根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口不存在已运行的协商进程时,为虚拟端口创建协商进程。
由于没有虚拟端口对应的已运行的协商进程,因而可以直接创建得到虚拟端口对应的协商进程,此种实现方式简单、直接。
在一种可能的实现方式中,确定虚拟端口对应的协商进程,包括:根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,删除已运行的协商进程,为虚拟端口创建协商进程。
由于有虚拟端口对应的已运行的协商进程,因而先删除已运行的协商进程,再创建虚拟端口对应的协商进程,可以避免协商进程的持续残留。
方法还包括:更新映射表,使得映射表存储创建的协商进程与虚拟端口的映射关系。其中,在创建了协商进程的情况下,便需要更新映射表,以使得映射表记录正确的映射关系。
在一种可能的实现方式中,确定虚拟端口对应的协商进程之后,方法还包括:响应于虚拟端口对应的协商进程存在,管理虚拟端口对应的协商进程的运行状态。
由此可见,运行状态可以为启动或停止,本申请可以根据实际需求灵活的启动或停止虚拟端口对应的协商进程,实现对协商进程的管理。
在一种可能的实现方式中,确定虚拟端口对应的协商进程之后,方法还包括:响应于虚拟端口对应的协商进程不存在,为虚拟端口创建新协商进程。
在此种实现方式中,可以保证协商进程持续正常存在,实现对协商进程的管理。该协商进程可以进一步用于保证物理端口能够正常传输通过虚拟端口接收的数据包,从而保证了数据包的正常传输,具有高可用性。
在一种可能的实现方式中,虚拟端口通过进程间通信(inter processcommunication,IPC)消息与虚拟端口对应的协商进程通信。
第二方面,提供了一种确定网络状态的装置,装置包括:
接收模块,用于通过虚拟端口接收数据包,数据包用于确定网络状态;
确定模块,用于确定虚拟端口对应的协商进程;
确定模块,还用于通过虚拟端口对应的协商进程确定传输数据包的物理端口;
传输模块,用于通过物理端口传输数据包至物理端口连接的网络,以确定网络状态。
在一种可能的实现方式中,确定模块,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,将已运行的协商进程作为虚拟端口对应的协商进程。
在一种可能的实现方式中,确定模块,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据映射表确定虚拟端口不存在已运行的协商进程时,为虚拟端口创建协商进程。
在一种可能的实现方式中,确定模块,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据映射表确定虚拟端口存在已运行的协商进程时,删除已运行的协商进程,为虚拟端口创建协商进程。
在一种可能的实现方式中,确定模块,还用于更新映射表,使得映射表存储创建的协商进程与虚拟端口的映射关系。
在一种可能的实现方式中,装置还包括:管理模块,用于响应于虚拟端口对应的协商进程存在,管理虚拟端口对应的协商进程的运行状态。
在一种可能的实现方式中,装置还包括:创建模块,用于响应于虚拟端口对应的协商进程不存在,为虚拟端口创建新协商进程。
第三方面,提供了一种确定网络状态的设备,设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以使确定网络状态的设备实现第一方面及其对应的可能的实现方式提供的确定网络状态的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现第一方面及其对应的可能的实现方式提供的确定网络状态的方法。
第五方面,提供了一种计算机程序产品,计算机程序产品包括计算机程序或指令,计算机程序或指令被处理器执行,以使计算机实现第一方面及其对应的可能的实现方式提供的确定网络状态的方法。
第六方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的计算机执行第一方面及其对应的可能的实现方式提供的确定网络状态的方法。
第七方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,安装有芯片的计算机执行第一方面及其对应的可能的实现方式提供的确定网络状态的方法。
应当理解的是,本申请的第二方面至第七方面的技术方案及其对应的可能的实现方式所取得的技术效果,可以参见上述第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种云系统的架构示意图;
图2为本申请实施例提供的一种拨测系统的架构示意图;
图3为本申请实施例提供的一种数据包在云系统中传输的示意图;
图4为本申请实施例提供的一种确定网络状态的方法的流程图;
图5为本申请实施例提供的一种确定及管理协商进程的示意图;
图6为本申请实施例提供的一种协商进程的模块示意图;
图7为本申请实施例提供的一种节点传输数据包的示意图;
图8为本申请实施例提供的一种拨测系统的架构示意图;
图9为本申请实施例提供的一种内核态节点的示意图;
图10为本申请实施例提供的一种确定网络状态的装置的示意图;
图11为本申请实施例提供的一种确定网络状态的设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请实施例提供了一种实施环境,该实施环境为一种云系统,该云系统包括至少两个节点(node)。示例性地,参见图1,图1示出了一种云系统的架构示意图。其中,云系统包括云数据中心,云数据中心包括虚拟私有云(virtual private cloud,VPC),VPC包括子网,每个子网包括节点。应理解的是,图1所示的两个VPC,即VPC 1和VPC 2,仅为一种举例,不用于限定VPC的数量。另外,图1所示的云数据中心、子网、节点也不用于造成数量上的限定。
示例性地,节点包括但不限于服务器、交换机、防火墙等,交换机例如为叶(leaf)交换机、脊(spine)交换机等,在此不作限定。
在示例性实施例中,如图1所示,位于同一个VPC内的不同节点之间VPC网络通信,位于不同VPC内的不同节点之间通过VPC对等连接服务(VPC peering)网络通信。示例性地,不同云数据中心之间通过云连接网络通信,云数据中心与外网之间通过弹性公网互联网协议(elastic internet protocol,EIP)通信,外网包括但不限于互联网(internet)。云数据中心与专网之间通过专线网络通信。
随着云计算的不断发展,云系统的规模也逐渐增大,云系统包括的节点的数量级可能达到万级,也就是说,云系统可以包括成千上万个节点。云系统可能产生多种问题,网络问题便属于多种问题的其中一种。由于网络问题会影响云系统承载的业务的质量,因而需要及时对网络问题进行定位,以便于采取相应的措施解决网络问题。其中,通过确定网络状态,可以定位网络问题,网络状态包括但不限于网络时延的大小、网络是否畅通、节点是否正常工作等。比如,当网络中的一条传输路径的网络状态为不畅通,则可以将网络问题定位至该条传输路径,也即是该条传输路径存在网络问题。
示例性地,云系统可以通过部署网络诊断系统确定网络状态,网络诊断系统可以由拨测系统构成。参见图2,图2示出了一种示例性的拨测系统的架构示意图。其中,该拨测系统包括代理(agent)组件、控制(controller)组件和分析(analyzer)组件。云系统包括的各个节点分别部署有该agent组件和虚拟端口(port),虚拟端口又称为探针。云系统包括的任意节点均可以用于部署该controller组件和该analyzer组件。
在确定网络状态的过程中,controller组件向节点A中部署的agent组件发送指令。该agent组件根据接收到的指令生成数据包,向虚拟端口发送所生成的数据包,以使得该数据包被节点A传输,或者说离开节点A。在节点A传输该数据包之后,该数据包按照一定的传输路径被传输至节点B,再从节点B返回至节点A。则,节点A中部署的agent组件获取接收到的数据包的相关信息。示例性地,传输路径包括多个节点,相关信息为该数据包到达传输路径包括的各个节点的时刻。在agent组件获取相关信息之后,向analyzer组件发送该相关信息,analyzer组件分析该相关信息,得到该传输路径的网络状态。其中,生成及传输数据包也称为互联网数据包探索(packet internet grope,ping)。
例如,参见图3,图3示出了一种数据包在云系统中传输的示意图。其中,云系统包括VPC 1、VPC 2、spine交换机1和spine交换机2。VPC 1包括服务器1至服务器4、leaf交换机1和leaf交换机2。VPC 2包括服务器5至服务器8、leaf交换机3和leaf交换机4。这些节点之间的连接关系如图3所示,在此不作赘述。
以数据包在服务器3与服务器7之间传输为例,服务器3中部署的agent组件生成数据包之后,该数据包通过传输路径1被传输,该传输路径1可参见图3中的粗实线。其中,传输路径1包括:服务器3、leaf交换机2、服务器2、leaf交换机1、spine交换机1、leaf交换机3、服务器5、leaf交换机3和服务器7。当该数据包从服务器3到达服务器7,再由服务器7返回服务器3之后,该服务器3中部署的agent组件便可以获取该数据包的相关信息,该相关信息用于确定传输路径1的网络状态。
再以数据包在服务器4与服务器8之间传输为例,服务器8中部署的agent组件生成数据包之后,该数据包通过传输路径2被传输,该传输路径1可参见图3中的粗虚线。其中,传输路径2包括:服务器8、leaf交换机4、服务器6、leaf交换机3、spine交换机2、leaf交换机2、服务器2、leaf交换机2和服务器4。当该数据包从服务器8到达服务器4,再由服务器4返回服务器8之后,服务器8中部署的agent组件便可以获取该数据包的相关信息,该相关信息用于确定传输路径2的网络状态。
应理解的是,以上的图1至图3以云系统为例进行了说明,本申请实施例的实施环境并不局限于云系统,也可以为包括至少两个节点的其他通信系统。在其他通信系统中,也可以按照图2对节点进行部署。并且,由于其他通信系统也可能存在网络问题,因而也需要进行网络状态的确定。
本申请实施例提供了一种确定网络状态的方法,该方法可以应用于部署有虚拟端口的节点,例如图1至图3所示的节点。该方法可以传输通过虚拟端口接收的数据包,使得基于传输的数据包确定网络状态成为可能。如图4所示,该方法包括如下的步骤401至步骤404。
步骤401,通过虚拟端口接收数据包,数据包用于确定网络状态。
其中,虚拟端口部署于节点中。一个节点可以部署一个或者多个虚拟端口,在此不限定节点中部署的虚拟端口的数量。示例性地,节点中可以部署有agent组件,在该agent组件接收到controller组件发送的指令之后,该agent组件可以生成数据包,根据节点的相关配置选择虚拟端口,向所选择的虚拟端口发送数据包,则节点可以通过虚拟端口接收数据包。
当然,本申请实施例不限定该数据包的来源。也就是说,除了上述说明的agent组件之外,也可以由其他组件向虚拟端口发送数据包。无论是何种组件向虚拟端口发送了数据包,节点均可以通过虚拟端口接收数据包,该数据包均可以用于确定网络状态。
在示例性实施例中,执行步骤401之前,也即是通过虚拟端口接收数据包之前,本申请实施例提供的方法还包括:创建虚拟端口。其中,节点创建的虚拟端口具有虚拟端口标识,一个虚拟端口标识用于唯一指示一个虚拟端口。示例性地,节点可以在每次重启之后创建虚拟端口。节点每次创建的虚拟端口可以相同,相同虚拟端口具有相同的虚拟端口标识。或者,节点每次创建的虚拟端口也可以不同,不同虚拟端口具有不同的虚拟端口标识。在此,不对节点创建虚拟端口的时机进行限定。
步骤402,确定虚拟端口对应的协商进程。
其中,由于通过虚拟端口接收了用于确定网络状态的数据包,因而需要对该数据包进行传输,而传输该数据包需要通过节点上的物理端口。因此,需要确定虚拟端口对应的协商进程,以便于通过虚拟端口对应的协商进程确定出该物理端口。其中,一个协商进程为协商(negotiate)组件对应的一个实例,因而虚拟端口也需要具有对应的协商组件。示例性地,虚拟端口可以与协商组件一一对应。或者,一个虚拟端口可以对应多个协商组件。又或者,一个协商组件可以对应多个虚拟端口。示例性地,虚拟端口对应的协商组件可以与虚拟端口位于同一个节点中,或者,虚拟端口对应的协商组件也可以与虚拟端口位于不同的节点中,在此不作限定。
在一些实施方式中,可以在创建虚拟端口之后,直接相应的创建虚拟端口对应的协商进程,从而实现确定虚拟端口对应的协商进程。此种实施方式简单、直接。或者,在另一些实施方式中,可以借助映射表来确定虚拟端口对应的协商进程,此种实施方式较严谨。示例性地,本申请实施例可以针对节点进行配置,使得创建好虚拟端口之后,便从映射表的存储位置读取该映射表,从而获得该映射表。示例性地,虚拟端口可以与映射表一一对应,或者,一个节点中的虚拟端口均对应同一个映射表。
示例性地,该映射表存储已运行的协商进程与虚拟端口的映射关系,根据映射表可以确定虚拟端口是否对应已运行的协商进程。示例性地,该映射表存储已运行的协商进程与虚拟端口的映射关系,可以是指:已运行的协商进程的进程标识与虚拟端口的虚拟端口标识之间的映射关系,一个进程标识用于唯一指示一个协商进程。
其中,由于映射表存储有已运行的协商进程与虚拟端口之间的映射关系,因而在根据映射表确定虚拟端口是否对应已运行的协商进程时,可以将虚拟端口与映射关系包括的虚拟端口进行匹配,比如将虚拟端口标识与映射关系包括的虚拟端口标识进行匹配,在此不限定匹配方式。如果一个映射关系包括的虚拟端口与虚拟端口相同,那么,说明根据映射表确定虚拟端口存在已运行的协商进程,可以命中映射表记录的映射关系。命中的映射关系包括的虚拟端口标识与虚拟端口的虚拟端口标识相同。并且,能够获得命中的映射关系包括的已运行的协商进程,该已运行的协商进程可以具有进程标识。或者,如果各个映射关系包括的虚拟端口均与虚拟端口不同,那么,说明根据映射表确定虚拟端口不存在已运行的协商进程,不能命中映射表记录的映射关系,并且不能够获得已运行的协商进程。
如果命中映射表记录的映射关系,则说明虽然在创建虚拟端口之后还未创建虚拟端口对应的协商进程,但已经该虚拟端口存在已运行的协商进程,或者说该虚拟端口存在残留协商进程,该已运行的协商进程也即是命中的映射关系包括的协商进程。示例性地,导致此种情况的原因包括但不限于:在此次创建虚拟端口之前,已经创建过相同的虚拟端口,且已经创建并运行过虚拟端口对应的协商进程,并将已运行的协商进程与虚拟端口的映射关系记录在了映射表中,出于某种原因,之前创建并运行的虚拟端口丢失,但之前创建的协商进程保留,映射表记录的映射关系也保留,则在此次创建虚拟端口之后,便可以根据映射表确定出此种情况。
例如,在节点首次启动之后,创建了虚拟端口A和虚拟端口A对应的协商进程B,将虚拟端口A的虚拟端口标识A1与协商进程B的进程标识B1之间的映射关系记录于映射表中。在节点断电之后,虚拟端口A丢失,协商进程B保留,映射表记录的虚拟端口标识A1与进程标识B1之间的映射关系也保留。在节点第二次启动之后,也即是节点重启之后,再次创建了具有虚拟端口标识A1的虚拟端口A,则基于虚拟端口标识A查询映射表,可以命中虚拟端口标识A1与进程标识B1之间的映射关系,获得进程标识B1。对于节点第二次启动之后创建的虚拟端口A而言,该进程标识B1所指示的协商进程B即为已运行的协商进程。
如果命中映射表记录的映射关系,则说明不存在与虚拟端口对应的已运行的协商进程。示例性地,导致此种情况的原因可以为:在此次创建虚拟端口之前没有创建过虚拟端口,因而映射表未记录映射关系,则在此次创建虚拟端口之后,便可以根据映射表确定出此种情况。导致此种查询结果的原因还可以为:在此次创建虚拟端口之前创建了不同的虚拟端口,还创建并运行了不同的虚拟端口对应的协商进程,并将已运行的协商进程与虚拟端口的映射关系记录在映射表中,在此次创建虚拟端口之后,便可以根据映射表确定出此种情况。
例如,在节点首次启动之后,创建了虚拟端口A和虚拟端口A对应的协商进程B,将虚拟端口A的虚拟端口标识A1与协商进程B的进程标识B1之间的映射关系记录于映射表中。在节点断电之后,映射表记录的虚拟端口标识A1与进程标识B1之间的映射关系保留。在节点第二次启动之后,也即是节点重启之后,创建了具有虚拟端口标识C1的虚拟端口C,则基于虚拟端口标识C1查询映射表,不能命中虚拟端口标识A1与进程标识B1之间的映射关系。因此,对于节点第二次启动之后创建的虚拟端口C而言,不存在已运行的协商进程。
基于以上说明的映射表,以及根据映射表确定虚拟端口是否对应已运行的协商进程的过程,继续对确定虚拟端口对应的协商进程的方式进行说明。示例性地,确定虚拟端口对应的协商进程,包括但不限于如下的三种实施方式。
实施方式一,根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口不存在已运行的协商进程时,为虚拟端口创建协商进程。
由于虚拟端口不存在已运行的协商进程,因而参见图5,可以直接创建虚拟端口对应的协商进程。示例性地,方法还包括:更新映射表,使得映射表存储创建的协商进程与虚拟端口的映射关系。比如,创建的协商进程具有进程标识,因而将虚拟端口标识与虚拟端口对应的协商进程的进程标识之间的映射关系记录于映射表中,相当于在映射表中增加了新的映射关系。
实施方式二,根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,删除已运行的协商进程,为虚拟端口创建协商进程。
由于虚拟端口存在已运行的协商进程,因而参见图5,删除已运行的协商进程,从而可以避免协商进程的持续残留。接着,再创建虚拟端口对应的协商进程。示例性地,方法还包括:更新映射表,使得映射表存储创建的协商进程与虚拟端口的映射关系。比如,所创建的协商进程具有进程标识,而该进程标识往往与已运行的协商进程的进程标识不同,因而在命中的映射关系中,将已运行的协商进程的进程标识替换为所创建的协商进程的进程标识,也就相当于修改了映射表中的映射关系。
示例性地,映射表中除了映射关系之外,还可以记录各个已运行的协商进程对应的存储位置,该存储位置用于存储已运行的协商进程。因此,删除已运行的协商进程的,包括:获得已运行的协商进程对应的存储位置,访问该存储位置得到已运行的协商进程,再删除该已运行的协商进程。
实施方式三,根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,将已运行的协商进程作为虚拟端口对应的协商进程。
由于虚拟端口存在已运行的协商进程,因而参见图5,无需删除已运行的协商进程,直接使用该已运行的协商进程即可,也即是将该已运行的协商进程作为虚拟端口对应的协商进程,由于无需创建协商进程,因而不仅无需更新映射表,还可以节约创建协商进程所需消耗的资源。示例性地,将将已运行的协商进程作为虚拟端口对应的协商进程,包括:向已运行的协商进程发送握手消息,如果能够接收到已运行的协商进程反馈的握手消息,则说明握手成功、已运行的协商进程可以正常使用,可以将已运行的协商进程作为虚拟端口对应的协商进程。
以上,对确定虚拟端口对应的协商进程的三种实施方式进行了说明。示例性地,节点可以在创建虚拟端口之后,通过所创建的虚拟端口确定虚拟端口对应的协商进程,也可以通过其他组件为虚拟端口确定虚拟端口对应的协商进程。示例性地,上述的映射表可以存储于虚拟端口所在的节点,则对于虚拟端口而言,该映射表属于本地文件。
步骤403,通过虚拟端口对应的协商进程确定传输数据包的物理端口。
根据步骤401中的说明可知,虚拟端口对应有协商进程。通过虚拟端口对应的协商进程能够确定虚拟端口对应的物理端口。参见图6,图6示出了一种协商进程的模块示意图,协商进程包括协商模块,协商进程通过协商模块进行协商,从而确定物理端口。
其中,该物理端口为节点包括的各个物理端口中的一个。通过虚拟端口接收的数据包,可以通过虚拟端口对应的物理端口传输,通过物理端口传输数据包之后,该数据包便可以离开节点在网络中继续传输。也可以理解为,虚拟端口与物理端口之间存在传输通道,虚拟端口接收到数据包之后,数据包通过传输通道到达物理端口处,再通过物理端口传输该数据包。
示例性地,协商进程与开源托管虚拟机(quick emulator,QEMU)协商,以确定物理端口。该QEMU为节点中的一个托管的虚拟机镜像,属于一种软件。QEMU可以通过动态的二进制转换模拟处理器。QEMU还提供一组模型,这组模型可以用于运行操作系统(operatingsystem,OS),则QEMU可以与基于内核的虚拟机(kernel-based virtual machine,KVM)结合使用,从而实现数据包处理工作,比如数据包传输工作。在本申请实施例中,协商进程与QEMU协商得到物理端口的作用在于,使得QEMU将数据包处理工作卸载至物理端口。也即是,QEMU原本通过某种方式实现数据包的处理,而协商进程与QEMU协商得到物理端口之后,通过物理端口即可实现数据包的处理,无需再使用原本的方式。原本的方式例如为:使得数据包依次通过内核空间(kernel space)和用户空间,以处理数据包。
示例性地,虚拟端口位于节点的用户空间(user space)中,虚拟端口与物理端口之间的传输通道也位于节点的用户空间中,用户空间也称为用户态。相应地,通过该传输通道传输虚拟端口接收到的数据包,相当于将通过虚拟端口将该数据包注入了节点的用户空间,实现了虚拟端口与用户空间的互通。
在此种情况下,在节点中仅通过用户空间即可实现数据包的传输,相比于数据包依次通过内核空间和用户空间的方式而言,仅通过用户空间的方式缩短了处理所需的时间,提高了数据包的处理效率。因此,使得确定网络状态的过程中,数据包停留在节点内部的时间较短,从而可以避免数据包在节点内部的停留时间较长而影响到所确定的网络状态的准确性。其原因在于,确定网络状态的过程中,往往更为关心数据包在不同节点之间的停留时间,而不关心数据包在节点内部的停留时间。因此,通过使得数据包停留在节点内部的时间较短,便能够提高所确定的网络状态的准确性。
步骤404,通过物理端口传输数据包至物理端口连接的网络,以确定网络状态。
由于确定了物理端口,因而可以通过物理端口传输数据包至物理端口连接的网络,使得数据包在物理端口连接的网络中传输,则所传输的数据包可以用于确定该网络的网络状态,确定网络状态的过程可以参见上文的图2和图3对应的说明,此处不再进行赘述。
参见图7,图7示出了一种节点传输数据包的示意图,节点包括用户空间和内核空间。用户空间中,包括agent组件、虚拟端口、协商进程、虚拟主机用户(virtual host user,vhost-user)、QEMU、轮询模式驱动器(pool mode driver,PMD)、开放式虚拟交换机(openvirtual switch,OVS)和用户网络(user networking)。内核空间中,包括网络接口控制器(network interface controller,NIC)驱动器和内核网络(kernel networking)。
其中,上文已介绍agent组件、虚拟端口、协商进程和QEMU,在此不作赘述。vhost-user是一种用于实现虚拟主机(virtual host,vhost)协议的用户空间库,vhost协议用于QEMU将数据包处理工作,如数据包传输工作,卸载至数据平面开发套件(data planedevelopment kit,DPDK)应用程序,OVS为一种DPDK应用程序。基于此,协商进程可以通过vhost-user实现与QEMU之间的协商,得到物理端口。OVS位于虚拟端口与物理端口之间的传输通道上。
示例性地,当协商进程通过vhost-user与QEMU进行QEMU协商时,启动QEMU,再建立vhost-user与QEMU之间的vhost套接字(socket)连接。接着,协商进程针对寄存器进行写操作,比如依次针对VIRTIO_PCI_GUEST_FEATURES寄存器和VIRTIO_PCI_STATUS寄存器进行写操作,从而完成协商过程,得到物理端口。
在示例性实施例中,协商进程与QEMU协商得到物理端口后,可以向OVS下发对应关系,该对应关系为虚拟端口与物理端口之间的对应关系。在agent组件向虚拟端口发送数据包之后,PMD可以从虚拟端口处轮询得到数据包,再向OVS传输轮询到的数据包。由于该数据包来自于虚拟端口,因而OVS查询对应关系,可以得到与虚拟端口对应的物理端口,则OVS基于用户网络,通过该物理端口传输该数据包。
示例性地,在确定虚拟端口对应的协商进程之后,虚拟端口对应的协商进程可能会由于误操作等原因被删除,因而可能会检测到虚拟端口对应的协商进程存在,也可能会检测到虚拟端口对应的协商进程不存在。示例性地,考虑到节点在确定虚拟端口对应的协商进程之后,往往不会持续的存储虚拟端口与协商进程之间的对应关系,以避免造成存储资源的浪费。那么,当节点需要检测虚拟端口对应的协商进程时,便需要现去查询映射表,以便于确定虚拟端口对应哪个协商进程,再检测虚拟端口对应的协商进程是否存在。应理解的是,对于上述实施方式一和实施方式二,由于更新了映射表,因而这里查询的应该为更新后的映射表,而对于上述的实施方式三,由于未更新映射表,因而这里查询的即为未更新的映射表。
示例性地,节点需要确定虚拟端口对应的协商进程时,基于虚拟端口的虚拟端口标识查询映射表,得到虚拟端口标识对应的进程标识,该进程标识指示的协商进程,即为虚拟端口对应的协商进程。示例性地,映射表可以记录有进程标识对应的存储位置,进程标识对应的存储位置,即为该进程标识指示的协商进程所在的位置。因此,节点可以访问该存储位置,从而确定虚拟端口对应的协商进程是否存在。
在示例性实施例中,确定所述虚拟端口对应的协商进程之后,所述方法还包括:响应于所述虚拟端口对应的协商进程存在,管理所述虚拟端口对应的协商进程的运行状态。其中,协商进程的运行状态包括但不限于启动和停止。管理虚拟端口对应的协商进程的运行状态,可以是切换运行状态,比如由停止切换为启动,或是由启动切换为停止。或者,也可以是维持运行状态不变,比如启动仍然保持为启动,停止仍然保持为停止。在维持运行状态不变时,节点无需进行额外操作。
在一些实施方式中,在传输数据包之前,响应于确定需要启动虚拟端口对应的协商进程,且进程标识指示的虚拟端口对应的协商进程存在,则启动虚拟端口对应的协商进程,使得虚拟端口对应的协商进程确定物理端口。
节点需要在传输数据包之前,先启动虚拟端口对应的协商进程,再使得虚拟端口对应的协商进程按照上述说明确定物理端口,以通过该物理端口传输数据包。本申请实施例不对需要启动虚拟端口对应的协商进程的时机进行限定,该时机根据实际需求确定即可。例如,节点在确定虚拟端口对应的协商进程后,就确定需要启动虚拟端口对应的协商进程。又例如,节点可以在通过虚拟端口接收到数据包之后,再确定需要启动虚拟端口对应的协商进程。
如果节点确定需要启动虚拟端口对应的协商进程,且该虚拟端口对应的协商进程存在,则可以启动该协商进程。示例性地,可以由虚拟端口向虚拟端口对应的协商进程发送启动消息,虚拟端口对应的协商进程在接收到该启动消息之后启动。示例性地,该启动消息为IPC消息,也即是,虚拟端口可以通过IPC消息与虚拟端口对应的协商进程通信。参见图6,虚拟端口对应的协商进程可以包括启停模块,通过调用该启停模块,可以启动虚拟端口对应的协商进程。
在另一些实施方式中,在传输数据包之后,响应于确定需要停止虚拟端口对应的协商进程,且进程标识指示的虚拟端口对应的协商进程存在,则停止虚拟端口对应的协商进程。
其中,节点可以根据实际需求确定是否需要停止虚拟端口对应的协商进程。比如,可以设置固定时间,节点在启动虚拟端口对应的协商进程之后,如果经过该固定时间,则确定需要停止虚拟端口对应的协商进程。又比如,节点检测到一些事件,导致虚拟端口对应的协商进程不再适用时,则确定需要停止虚拟端口对应的协商进程。本申请实施例中,不对需要停止虚拟端口对应的协商进程的时机进行限定。
如果节点确定需要停止虚拟端口对应的协商进程,且该虚拟端口对应的协商进程存在,则可以停止该协商进程。示例性地,可以由虚拟端口向虚拟端口对应的协商进程发送停止消息,虚拟端口对应的协商进程在接收到该停止消息之后停止。示例性地,该停止消息为IPC消息。参见图6,通过调用图6所示的启停模块,除了可以启动虚拟端口对应的协商进程,还可以停止虚拟端口对应的协商进程。
在示例性实施例中,确定所述虚拟端口对应的协商进程之后,所述方法还包括:响应于所述虚拟端口对应的协商进程不存在,为所述虚拟端口创建新协商进程。
参见图5,如果发现虚拟端口对应的协商进程不存在,则可以创建虚拟端口对应的新协商进程。由此,可以在协商进程不存在的情况下,及时的重建协商进程,从而保证该协商进程持续的存在,以保持协商进程的高可用,因而保证了拨测系统的高可用。示例性地,保证该协商进程持续存在的目的包括但不限于:通过持续存在的协商进程监听物理端口,以物理端口能够正常传输通过虚拟端口接收的数据包,或者说保证虚拟端口与物理端口之间的传输通道正常存活,从而使得节点能够及时的通过物理端口传输通过虚拟端口接收的数据包。
示例性地,如果存在映射表,则还需要更新映射表,使得映射表存储有虚拟端口与新协商进程的映射关系。由此,可以保证映射表中的映射关系正确,比如,使得该映射表中存储有新协商进程的进程标识与虚拟端口标识之间的映射关系。并且,该映射表仅需占用较少的资源,从而使得本申请实施例可以在占用资源较少的前提下,保证协商进程的高可用。
以上,对本申请实施例提供的确定网络状态的方法进行了说明。根据这些说明可知,本申请新增了一种协商组件,从而可以由该协商组件对应的实例,即协商进程,确定虚拟端口对应的物理端口。进而,可以通过物理端口传输通过虚拟端口接收的数据包,所传输的数据包用于确定网络状态。当虚拟端口和虚拟端口与物理端口之间的传输通道位于节点的用户空间时,节点也称为用户态节点。以该协商组件与虚拟端口位于同一个用户态节点为例,本申请实施例可以提供图8所示的一种示例性的拨测系统。如图8所示,该拨测系统包括部署有协商组件和虚拟端口的用户态节点。
示例性地,该拨测系统还可以包括内核态节点,该内核态节点的结构可以参见图9。在内核态节点中,虚拟端口部署于内核空间,因而通过虚拟端口接收的数据包需要依次通过内核空间和用户空间,才能离开内核态节点,处理数据包的效率较低。
此外,在一些相关技术中,由虚拟机(virtual machine,VM)确定上述物理端口。然而,VM包括了与协商无关的内容,比如OS等等,从而导致VM占用的内存较大,且VM的启动速度较慢。相比于这些相关技术,本申请实施例新增的协商组件无需包括与协商无关的内容,占用较小的内存即可,并且,启动速度也较快。
综上所述,本申请实施例新增了一种协商进程,该协商进行与虚拟端口对应,由虚拟端口对应的协商进程确定物理端口,从而可以通过该物理端口传输通过虚拟端口接收的数据包,以基于传输的数据包确定网络状态。该协商进程占用的内存较小,启动速度较快,能够提高传输数据包的效率,则数据包在被传输之前停留于节点内的时间较短,从而保证了所确定的网络状态的准确性。
以上介绍了本申请实施例提供的确定网络状态的方法,与上述方法对应,本申请实施例还提供了一种确定网络状态的装置。其中,该装置应用于节点。该装置用于通过图10所示的各个模块执行上述图4所示的确定网络状态的方法。如图10所示,本申请实施例提供的确定网络状态的装置包括如下几个模块。
接收模块1001,用于通过虚拟端口接收数据包,数据包用于确定网络状态;
确定模块1002,用于确定虚拟端口对应的协商进程;
确定模块1002,还用于通过虚拟端口对应的协商进程确定传输数据包的物理端口;
传输模块1003,用于通过物理端口传输数据包至物理端口连接的网络,以确定网络状态。
在示例性实施例中,确定模块1002,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;当根据映射表确定虚拟端口存在已运行的协商进程时,将已运行的协商进程作为虚拟端口对应的协商进程。
在示例性实施例中,确定模块1002,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据映射表确定虚拟端口不存在已运行的协商进程时,为虚拟端口创建协商进程。
在示例性实施例中,确定模块1002,用于根据映射表确定虚拟端口是否对应已运行的协商进程,映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据映射表确定虚拟端口存在已运行的协商进程时,删除已运行的协商进程,为虚拟端口创建协商进程。
在示例性实施例中,确定模块1002,还用于更新映射表,使得映射表存储创建的协商进程与虚拟端口的映射关系。
在示例性实施例中,装置还包括:管理模块,用于响应于虚拟端口对应的协商进程存在,管理虚拟端口对应的协商进程的运行状态。
在示例性实施例中,装置还包括:创建模块,用于响应于虚拟端口对应的协商进程不存在,为虚拟端口创建新协商进程。
上述图10所示的装置所具备的技术效果,可以参见图4所示的方法实施例具备的技术效果,在此不作赘述。应理解的是,上述图10提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种确定网络状态的设备,设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以使确定网络状态的设备实现图4所示的确定网络状态的方法。
参见图11,图11示出了本申请一示例性的确定网络状态的设备1100的结构示意图,该确定网络状态的设备1100包括至少一个处理器1101、存储器1103以及至少一个网络接口1104。
处理器1101例如是通用中央处理器(Central Processing Unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、GPU、神经网络处理器(neural-network processing units,NPU)、数据处理单元(DataProcessing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路或专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、其他通用处理器或者其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。其可以实现或执行结合本申请公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,确定网络状态的设备1100还包括总线1102。总线1102用于在确定网络状态的设备1100的各组件之间传送信息。总线1102可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线或扩展工业标准结构(extended industrystandard architecture,简称EISA)总线等。总线1102可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103例如是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
通过示例性但不是限制性说明,许多形式的ROM和RAM可用。例如,ROM为只读光盘(compact disc read-only memory,CD-ROM)。RAM包括但不限于静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器1103还可以是可存储静态信息和指令的其它类型的存储设备。或者可以是可存储信息和指令的其它类型的动态存储设备。或者可以是其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1103例如是独立存在,并通过总线1102与处理器1101相连接。存储器1103也可以和处理器1101集成在一起。
网络接口1104使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(radio access network,RAN)或无线局域网(wirelesslocal area network,WLAN)等。网络接口1104可以包括有线网络接口,还可以包括无线网络接口。具体的,网络接口1104可以为以太(Ethernet)接口,如:快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous TransferMode,ATM)接口,WLAN接口,蜂窝网络接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请的一些实施方式中,网络接口1104可以用于确定网络状态的设备1100与其他设备进行通信。
在具体实现中,作为一些实施方式,处理器1101可以包括一个或多个CPU,如图11中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一些实施方式,确定网络状态的设备1100可以包括多个处理器,如图11中所示的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施方式中,存储器1103用于存储执行本申请方案的程序指令1110,处理器1101可以执行存储器1103中存储的程序指令1110。也即是,确定网络状态的设备1100可以通过处理器1101以及存储器1103中的程序指令1110,来实现图4所示的方法实施例提供的方法。程序指令1110中可以包括一个或多个软件模块。可选地,处理器1101自身也可以存储执行本申请方案的程序指令。
在具体实施过程中,本申请的确定网络状态的设备1100可对应于用于执行上述方法的节点,确定网络状态的设备1100中的处理器1101读取存储器1103中的指令,使图11所示的确定网络状态的设备1100能够执行方法实施例中的全部或部分步骤。
确定网络状态的设备1100还可以对应于上述图10所示的装置,图10所示的装置中的每个功能模块采用确定网络状态的设备1100的软件实现。换句话说,图10所示的装置包括的功能模块为确定网络状态的设备1100的处理器1101读取存储器1103中存储的程序指令1110后生成的。
其中,图4所示的方法的各步骤通过确定网络状态的设备1100的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请所公开的方法实施例的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例的步骤,为避免重复,这里不再详细描述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现图4所示的确定网络状态的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括计算机程序或指令,计算机程序或指令被处理器执行,以使计算机实现图4所示的确定网络状态的方法。
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的计算机执行图4所示的确定网络状态的方法。
本申请实施例还提供了另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,安装有芯片的计算机执行图4所示的确定网络状态的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个节点是指两个或两个以上的节点。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种确定网络状态的方法,其特征在于,所述方法包括:
通过虚拟端口接收数据包,所述数据包用于确定网络状态;
确定所述虚拟端口对应的协商进程;
通过所述虚拟端口对应的协商进程确定传输所述数据包的物理端口;
通过所述物理端口传输所述数据包至所述物理端口连接的网络,以确定网络状态。
2.根据权利要求1所述的方法,其特征在于,所述确定所述虚拟端口对应的协商进程,包括:
根据映射表确定所述虚拟端口是否对应已运行的协商进程,所述映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据所述映射表确定所述虚拟端口存在已运行的协商进程时,将所述已运行的协商进程作为所述虚拟端口对应的协商进程。
3.根据权利要求1所述的方法,其特征在于,所述确定所述虚拟端口对应的协商进程,包括:
根据映射表确定所述虚拟端口是否对应已运行的协商进程,所述映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据所述映射表确定所述虚拟端口不存在已运行的协商进程时,为所述虚拟端口创建协商进程。
4.根据权利要求1所述的方法,其特征在于,所述确定所述虚拟端口对应的协商进程,包括:
根据映射表确定所述虚拟端口是否对应已运行的协商进程,所述映射表存储已运行的协商进程与虚拟端口的映射关系;
当根据所述映射表确定所述虚拟端口存在已运行的协商进程时,删除所述已运行的协商进程,为所述虚拟端口创建协商进程。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
更新所述映射表,使得所述映射表存储创建的协商进程与虚拟端口的映射关系。
6.根据权利要求1-5任一所述的方法,其特征在于,所述确定所述虚拟端口对应的协商进程之后,所述方法还包括:
响应于所述虚拟端口对应的协商进程存在,管理所述虚拟端口对应的协商进程的运行状态。
7.根据权利要求1-5任一所述的方法,其特征在于,所述确定所述虚拟端口对应的协商进程之后,所述方法还包括:
响应于所述虚拟端口对应的协商进程不存在,为所述虚拟端口创建新协商进程。
8.一种确定网络状态的设备,其特征在于,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述确定网络状态的设备实现权利要求1-7中任一所述的确定网络状态的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现如权利要求1-7中任一所述的确定网络状态的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,所述计算机程序或指令被处理器执行,以使计算机实现权利要求1-7中任一所述的确定网络状态的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211217588.7A CN117811955A (zh) | 2022-09-30 | 2022-09-30 | 确定网络状态的方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211217588.7A CN117811955A (zh) | 2022-09-30 | 2022-09-30 | 确定网络状态的方法、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117811955A true CN117811955A (zh) | 2024-04-02 |
Family
ID=90418625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211217588.7A Pending CN117811955A (zh) | 2022-09-30 | 2022-09-30 | 确定网络状态的方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117811955A (zh) |
-
2022
- 2022-09-30 CN CN202211217588.7A patent/CN117811955A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099873B2 (en) | Network configuration updates for virtual machine | |
US11960430B2 (en) | Remote mapping method, apparatus and device for computing resources, and storage medium | |
US8725893B2 (en) | Method and system for configuring a plurality of network interfaces that share a physical interface | |
CN112398817B (zh) | 数据发送的方法及设备 | |
JP2021190125A (ja) | メモリリソースを管理するためのシステム及び方法 | |
CN113452830B (zh) | 安卓云手机的批量控制方法、计算机可读介质及电子设备 | |
US10541862B2 (en) | VNF processing policy determining method, apparatus, and system | |
CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
CN108924274B (zh) | 域名系统dns处理方法、装置、存储介质及电子设备 | |
WO2013049991A1 (en) | Network adapter hardware state migration discovery in a stateful environment | |
US20220150154A1 (en) | Automatically managing a mesh network based on dynamically self-configuring node devices | |
CN113839862B (zh) | Mclag邻居之间同步arp信息的方法、系统、终端及存储介质 | |
US11231983B2 (en) | Fault tolerance processing method, apparatus, and server | |
CN114584526B (zh) | 一种arp协议处理方法、系统、存储介质及电子设备 | |
CN112433826B (zh) | 混合异构虚拟化通信方法及芯片 | |
CN113127144B (zh) | 一种处理方法、装置及存储介质 | |
CN117135189A (zh) | 服务器的访问方法及装置、存储介质、电子设备 | |
CN113132356A (zh) | Udp报文的分发方法、设备及存储介质 | |
CN117811955A (zh) | 确定网络状态的方法、设备及计算机可读存储介质 | |
WO2020259286A1 (zh) | 获取设备信息的方法、装置、存储介质及电子设备 | |
Dietz et al. | Slipstream: Automatic interprocess communication optimization | |
CN117492933B (zh) | 数据交换方法、装置、电子设备及存储介质 | |
CN117519908B (zh) | 一种虚拟机热迁移方法、计算机设备及介质 | |
CN117439874A (zh) | 一种端口配置方法、计算设备 | |
CN118034579A (zh) | 一种存储池的访问方法以及装置 |
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 |