掌桥专利:专业的专利平台
掌桥专利
首页

一种数据传输方法、设备和计算机可读存储介质

文献发布时间:2023-06-19 19:28:50


一种数据传输方法、设备和计算机可读存储介质

技术领域

本申请涉及通信技术领域,尤其涉及一种数据传输方法、设备和计算机可读存储介质。

背景技术

容器编排系统(Kubernetes,k8s)中,为提高服务的处理速率,会将服务部署在用户所在的边端节点的pod中,此时部署在边端节点的服务需要实现边缘自治,以应对云端节点与边端节点的网络断连、或数据丢失等异常情况。目前,会在边端节点上增加全球广域网(World Wide Web,Web)缓存代理,将服务所需的数据存储至Web缓存代理,如此出现异常时,边端节点的pod在执行服务时,还可以从Web缓存代理中获取数据,以此实现边缘自治。然而,上述方法云端节点中的pod与边端节点中的pod依旧存在网络不通的问题。

发明内容

为解决上述技术问题,本申请实施例期望提供一种数据传输方法、设备和计算机可读存储介质,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

本申请的技术方案是这样实现的:

一种数据传输方法,所述方法包括:

确定云端节点中第一业务组件的第一业务数据;

在确定所述第一业务组件和第二业务组件满足第一通信条件的情况下,发送所述第一业务数据至网关节点;其中,所述网关节点用于基于所述第一业务数据确定第二业务数据,并通过目标数据传输通道发送所述第二业务数据至边端节点中的第二业务组件;所述目标数据传输通道用于进行所述云端节点和所述边端节点之间的业务数据的交互。

上述方案中,所述在确定所述第一业务组件和第二业务组件满足第一通信条件的情况下,发送所述第一业务数据至网关节点之前,还包括:

确定所述第二业务组件对应的网络信息;其中,所述网络信息用于定位所述第二业务组件;

将所述第二业务组件对应的网络信息与第一地址匹配表进行匹配;

在与所述第一地址匹配表匹配成功的情况下,确定所述第一业务组件和所述第二业务组件满足所述第一通信条件。

上述方案中,所述确定云端节点中第一业务组件的第一业务数据,包括:

确定所述云端节点中第一业务组件的初始业务数据;

基于所述网关节点对应的网络信息对所述初始业务数据中的第一目标地址进行第一封装,得到所述第一业务数据。

一种数据传输方法,所述方法包括:

接收云端节点发送的所述云端节点中第一业务组件的第一业务数据;

基于所述第一业务数据确定第二业务数据;

在确定所述第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送所述第二业务数据至边端节点中的第二业务组件;其中,所述目标数据传输通道用于进行所述云端节点和所述边端节点之间的业务数据的交互。

上述方案中,所述基于所述第一业务数据确定第二业务数据,包括:

对所述第一业务数据进行解封装,得到所述云端节点中第一业务组件的初始业务数据;

基于网关节点对应的网络信息对所述初始业务数据中的第二目标地址进行第二封装,得到所述第二业务数据。

上述方案中,所述在确定所述第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送所述第二业务数据至边端节点中的第二业务组件之前,还包括:

确定所述第一业务组件对应的第一网络信息和所述第二业务组件对应的第二网络信息;其中,所述第一网络信息用于定位所述第一业务组件,所述第二网络信息用于定位所述第二业务组件;

基于所述第一网络信息和所述第二网络信息,确定所述第一业务组件和所述第二业务组件是否满足所述第二通信条件。

上述方案中,所述基于所述第一网络信息和所述第二网络信息,确定所述第一业务组件和所述第二业务组件是否满足所述第二通信条件,包括:

将第一网络地址和第二网络地址与第二地址匹配表进行匹配;

在与所述第二地址匹配表匹配成功的情况下,将第一网络端口和第二网络端口与地址过滤表进行匹配;其中,所述第一网络信息包括所述第一网络地址和所述第一网络端口,所述第二网络信息包括所述第二网络地址和所述第二网络端口;

在与所述地址过滤表匹配成功的情况下,确定所述第一业务组件和所述第二业务组件满足所述第二通信条件。

一种第一数据传输装置,所述装置包括:

第一处理单元,用于确定云端节点中第一业务组件的第一业务数据;

第一发送单元,用于在确定所述第一业务组件和第二业务组件满足第一通信条件的情况下,发送所述第一业务数据至网关节点;其中,所述网关节点用于基于所述第一业务数据确定第二业务数据,并通过目标数据传输通道发送所述第二业务数据至边端节点中的第二业务组件;所述目标数据传输通道用于进行所述云端节点和所述边端节点之间的业务数据的交互。

一种第二数据传输装置,所述装置包括:

接收单元,用于接收云端节点发送的所述云端节点中第一业务组件的第一业务数据;

第二处理单元,用于基于所述第一业务数据确定第二业务数据;

第二发送单元,用于在确定所述第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送所述第二业务数据至边端节点中的第二业务组件;其中,所述目标数据传输通道用于进行所述云端节点和所述边端节点之间的业务数据的交互。

一种云端节点,所述云端节点包括:第一处理器、第一存储器和第一通信总线;

所述第一通信总线用于实现所述第一处理器和所述第一存储器之间的通信连接;

所述第一处理器用于执行所述第一存储器中的数据传输程序,以实现上述的数据传输方法的步骤。

一种网关节点,所述网关节点包括:第二处理器、第二存储器和第二通信总线;

所述第二通信总线用于实现所述第二处理器和所述第二存储器之间的通信连接;

所述第二处理器用于执行所述第二存储器中的数据传输程序,以实现上述的数据传输方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的数据传输方法的步骤。

本申请的实施例所提供的数据传输方法、设备和计算机可读存储介质,可以确定云端节点中第一业务组件的第一业务数据,在确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送第一业务数据至网关节点;其中,网关节点用于基于第一业务数据确定第二业务数据,并通过目标数据传输通道发送第二业务数据至边端节点中的第二业务组件,目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互;如此,云端节点中的第一业务组件可以先将第一业务数据发送给网关节点,再由网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

附图说明

图1为本申请实施例提供的一种数据传输方法的流程示意图;

图2为本申请实施例提供的另一种数据传输方法的流程示意图;

图3为本申请实施例提供的又一种数据传输法的流程示意图;

图4为本申请另一实施例提供的一种数据传输方法的流程示意图;

图5为本申请实施例提供的一种数据传输方法中确定第一业务组件和第二业务组件是否满足通信条件的流程示意图;

图6为本申请另一实施例提供的另一种数据传输方法的流程示意图;

图7为本申请实施例提供的一种第一数据传输装置的结构示意图;

图8为本申请实施例提供的一种第二数据传输装置的结构示意图;

图9为本申请实施例提供的一种云端节点的结构示意图;

图10为本申请实施例提供的一种网关节点的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

应理解,说明书通篇中提到的“本申请实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“本申请实施例中”或“在前述实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在未做特殊说明的情况下,电子设备执行本申请实施例中的任一步骤,可以是电子设备的处理器执行该步骤。还值得注意的是,本申请实施例并不限定电子设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本申请实施例中的任一步骤是电子设备可以独立执行的,即电子设备执行下述实施例中的任一步骤时,可以不依赖于其它步骤的执行。

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例提供一种数据传输方法,该方法可以应用于云端节点,参照图1所示,该方法包括以下步骤:

步骤101、确定云端节点中第一业务组件的第一业务数据。

在本申请实施例中,云端节点是云计算的中心,边端节点是云计算的边缘侧;云端节点可以管控边端节点;如图1所示,可以通过防火墙将k8s集群划分为云端和边端,图中防火墙的上侧为云端,图中防火墙的下侧为边端,云端可以包括多个云端节点,边端可以包括多个边端节点;云端节点和边端节点均包括多个pod,pod可以对应容器网络接口(Container Network Interface,CNI),CNI关注容器的网络连接,并为容器分配网络资源。第一业务组件可以为云端节点中的pod;第二业务组件可以为边端节点的pod,第一业务组件和第二业务组件均可以用于处理业务。第一业务数据可以为第一业务组件需要传输至第二业务组件的业务数据;在一种可行的实现方式中,业务数据可以为某一业务在处理时所需的数据。

一般,k8s中部署在pod上的应用程序会被称为服务,每一业务可以对应一个或多个服务,也即每一业务可以由一个或多个pod来执行。由于k8s中会将服务部署在边端节点的pod,因此边端节点的pod在执行某一业务时,需要从云端节点中获取这个业务所需的数据,此时边端节点的pod需要与云端节点的pod进行业务数据的交互。在一种可行的实现方式中,在确定需要第二业务组件执行某一业务时,可以将这个业务和这个业务所需的数据确定为第一业务数据;或者,可以在接收到第二业务组件发送的针对某一业务的数据获取请求后,由第一业务组件处理该数据获取请求,以使第一业务组件基于该数据获取请求获取这个业务所需的数据,将获取的数据确定为第一业务数据。需要说明的是,第一业务数据可以是第一业务组件主动发送给第二业务组件的业务数据,也可以是被动发送给第二业务组件的业务数据,且本申请实施例仅以上述两种方式为例对确定第一业务数据的步骤进行说明,本申请实施例不限定第一业务数据的确定方式。

步骤102、在确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送第一业务数据至网关节点。

其中,网关节点用于基于第一业务数据确定第二业务数据,并通过目标数据传输通道发送第二业务数据至边端节点中的第二业务组件;目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请实施例中,第一通信条件用于确定是否将业务数据传输至网关节点,以通过网关节点和目标数据传输通道将业务数据传输至第二业务组件,从而实现第一业务组件和第二业务组件之间的业务数据的交互;第一通信条件可以预先设置,可以根据第一业务组件的网络地址以及第二业务组件的网络地址来设置第一通信条件,还可以根据其他数据来设置第一通信条件,本申请实施例对此不作限定。目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互,也即通过目标数据传输通道能够实现云端节点中第一业务组件和边端节点中第二业务组件之间的业务数据的交互;目标数据传输通道是网关节点与边端节点之间的数据传输通道,且此目标数据传输通道仅用于传输满足通信条件的第一业务组件和第二业务组件之间的业务数据;需要说明的是,目标数据传输通道与现有技术中云端节点下发管控数据给边端节点的数据传输通道不同,与云端节点之间进行数据传输的数据传输通道也不同;在一种可行的实现方式中,目标数据传输通道可以为互联网安全协议(Internet Protocol Security,IPSEC)隧道。网关节点是从云端包括的多个云端节点中选取出的节点,用于转发第一业务组件和第二业务组件之间传输的业务数据,以实现第一业务组件和第二业务组件之间的业务数据的交互。

在本申请实施例中,在确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送第一业务数据至网关节点,也即并不是所有的数据都能够通过网关节点和目标数据传输通道进行交互,只有在第一业务组件和第二业务组件满足第一通信条件的情况下,才会通过网关节点和目标数据传输通道进行第一业务组件和第二业务组件之间的业务数据的交互;其中,可以通过图2中的路由规则确定第一业务组件和第二业务组件满足第一通信条件。

在一种可行的实现方式中,由于云端节点与网关节点处于同一网络,因此云端节点与网关节点之间可以使用现有的云端内网的数据传输通道进行第一业务数据的交互;这种情况下,云端节点的第一业务组件可以通过云端内网将第一业务数据发送至网关节点,网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点的第二业务组件,此时云端节点的第一业务组件与边端节点的第二业务组件之间是通过云端节点与网关节点之间的云端内网和网关节点与边端节点之间专门设置的用于跨网络传输业务数据的目标数据传输通道来进行业务数据的交互;其中,云端内网的数据传输通道可以为虚拟可扩展的局域网(Virtual eXtensible Local Area Network,VXLAN)隧道。如图2所示,云端节点与网关节点处于同一网络下,可以通过VXLAN隧道将第一业务数据发送至网关节点,网关节点与边端节点处于不同网络下,可以通过专门设置的IPSEC隧道将第一业务数据发送至边端节点的第二业务组件,以实现云端节点的第一业务组件和边端节点的第二业务组件之间的业务数据的交互;另外,边端节点之间可以通过边端内网的数据传输通道进行数据交互,边端内网的数据传输通道也可以为VXLAN隧道。

在另一种可行的实现方式中,可以在云端节点与网关节点之间重新设置一条数据传输通道,专门用于将第一业务数据发送至网关节点;这种情况下,云端节点的第一业务组件可以通过重新设置的数据传输通道将第一业务数据发送至网关节点,网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点的第二业务组件,此时云端节点的第一业务组件与边端节点的第二业务组件之间是通过云端节点与网关节点之间重新设置的数据传输通道以及网关节点与边端节点之间专门设置的目标数据传输通道来进行业务数据的交互;如此,通过重新设置的数据传输通道和专门设置的数据传输通道来实现云端节点的第一业务组件和边端节点的第二业务组件之间的业务数据的交互,能够进一步保证业务数据在传输过程中的安全。

本申请实施例所提供的数据传输方法,云端节点中的第一业务组件可以先将第一业务数据发送给网关节点,再由网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请实施例提供一种数据传输方法,参照图3所示,该方法包括以下步骤:

步骤201、接收云端节点发送的云端节点中第一业务组件的第一业务数据。

在本申请实施例中,如图2所示,云端节点与网关节点处于同一网络,因此可以通过云端内网接收云端节点发送的云端节点中第一业务组件的第一业务数据。

步骤202、基于第一业务数据确定第二业务数据。

在本申请实施例中,第二业务数据是基于第一业务数据得到的业务数据;在一种可行的实现方式中,可以直接将第一业务数据确定为第二业务数据;或者,可以对第一业务数据进行处理,将处理后的第一业务数据确定为第二业务数据。

步骤203、在确定第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送第二业务数据至边端节点中的第二业务组件。

其中,目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请实施例中,第二通信条件用于确定是否通过目标数据传输通道传输业务数据,第二通信条件可以根据第一业务组件的网络地址和网络端口以及第二业务组件的网络地址和网络端口进行设置,本申请实施例对此不作限定。通过专门设置的目标数据传输通道发送第二业务数据至边端节点中的第二业务组件,能够防止云端与边端之间网络异常而导致业务无法正常进行的问题,且能够进一步保证业务数据的安全性。

本申请实施例所提供的数据传输方法,网关节点在接收到云端节点发送的云端节点中第一业务组件的第一业务数据后,可以通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请实施例提供一种数据传输方法,参照图4所示,该方法包括以下步骤:

步骤301、云端节点确定云端节点中第一业务组件的初始业务数据。

在本申请实施例中,云端节点的业务组件和边端节点的业务组件可以进行业务数据的交互,也即云端节点的业务组件可以发送业务数据至边端节点的业务组件,边端节点的业务组件也可以发送业务数据至云端节点的业务组件,本申请实施例以云端节点的业务组件向边端节点的业务组件发送业务数据为例进行说明,应当理解边端节点的业务组件向云端节点的业务组件发送业务数据的过程与云端节点的业务组件向边端节点的业务组件发送业务数据的过程类似,本申请实施例对此不再赘述。

在本申请实施例中,初始业务数据是当前业务所需的数据。在一种可行的实现方式中,可以根据当前业务的业务标识,从云端节点对应的数据库中获取第一业务组件的初始业务数据。

步骤302、云端节点基于网关节点对应的网络信息对初始业务数据中的第一目标地址进行第一封装,得到第一业务数据。

在本申请实施例中,网络信息可以包括网络地址和网络端口。网关节点对应的网络信息用于定位网关节点,网关节点对应的网络信息可以包括网关节点的网络之间互连的协议(Internet Protocol,IP)地址。第一业务数据是基于网关节点对应的网络信息对初始业务数据进行封装后的业务数据,只对外暴露公网地址,从而保证业务数据的安全性。第一目标地址是接收地址,由于云端节点中第一业务组件的第一业务数据需要通过网关节点才能传输至边端节点的第二业务组件,因此需要基于网关节点对应的网络信息对初始业务数据中的接收地址进行封装得到第一业务数据,以将第一业务数据发送至网关节点。

在一种可行的实现方式中,可以采用地址转换规则,基于网关节点对应的网络信息对初始业务数据中的第一目标地址进行封装得到第一业务数据;其中,地址转换规则可以为网络地址转换(Network Address Translation,NAT)规则。具体地,可以采用NAT规则,基于云端节点的公网IP和网关节点的公网IP对初始业务数据中的发送地址和接收地址进行封装得到第一业务数据,也即,此时发送地址为云端节点的公网IP,此时接收地址为网关节点的公网IP,也即此时第一业务数据的发送方是云端节点,接收方是网关节点,以将第一业务组件的第一业务数据发送至网关节点。值得说明的是,云端节点通过NAT规则,将下一跳网关设置为网关节点的网络信息,以将第一业务数据传输至网关节点,进而通过网关节点传输至边缘节点的第二业务组件。

需要说明的是,初始业务数据可以包括第一业务组件的网络信息和第二业务组件的网络信息,基于网关节点对应的网络信息对初始业务数据中的第一目标地址进行第一封装,能够将第一业务数据发送至网关节点,也能够使网关节点获知要将第一业务数据发送至边端节点的第二业务组件,也能够保证业务数据、第一业务组件的网络信息和第二业务组件的网络信息的安全性。

步骤303、云端节点确定第二业务组件对应的网络信息。

其中,网络信息用于定位第二业务组件。

在本申请实施例中,第二业务组件对应的网络信息用于定位第二业务组件,第二业务组件对应的网络信息可以包括第二业务组件的网络地址和网络端口。在一种可行的实现方式中,第二业务组件对应的网络信息可以为第二业务组件的网络地址;由于第一业务组件是发送方,第二业务组件是接收方,因此第二业务组件的网络地址可以称之为目的地址。

步骤304、云端节点将第二业务组件的网络信息与第一地址匹配表进行匹配。

在本申请实施例中,第一地址匹配表用于根据目的地址对数据进行过滤。在一种可行的实现方式中,可以预先将能够通过网关节点和目标数据处理通道进行业务数据交互的目的地址存储至第一地址匹配表,如此就可以通过第一地址匹配表对第二业务组件的网络地址进行判断,以确定第一业务组件和第二业务组件是否满足第一通信条件。需要说明的是,第一地址匹配表可以是新添加的路由表,第一地址匹配表的优先级最高,以将要传输的数据先通过第一地址匹配表进行匹配。

步骤305、在与第一地址匹配表匹配成功的情况下,云端节点确定第一业务组件和第二业务组件满足第一通信条件。

在本申请实施例中,第二业务组件的网络信息与第一地址匹配表进行匹配成功,说明第一业务组件和第二业务组件满足第一通信条件,可以通过网关节点和目标数据处理通道进行业务数据的交互。

步骤306、在确定第一业务组件和第二业务组件满足第一通信条件的情况下,云端节点发送第一业务数据至网关节点。

其中,网关节点用于基于第一业务数据确定第二业务数据,并通过目标数据传输通道发送第二业务数据至边端节点中的第二业务组件;目标数据传输通道用于实现第一业务组件和第二业务组件之间的数据交互。

在本申请实施例中,确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送的是封装后的业务数据(即第一业务数据),也即此时第一业务数据已根据网关节点的IP地址对初始业务数据进行封装了。

步骤307、网关节点接收云端节点发送的云端节点中第一业务组件的第一业务数据。

在本申请实施例中,此时接收的是根据网关节点的IP地址对初始业务数据的目的地址进行封装后的第一业务数据。

步骤308、网关节点对第一业务数据进行解封装,得到云端节点中第一业务组件的初始业务数据。

在本申请实施例中,由于第一业务数据是根据网关节点的IP地址对初始业务数据的目的地址进行封装后的数据,因此需要对第一业务数据进行解封装,以得到初始业务数据,暴露出最初的源地址和目的地址。在一种可行的实现方式中,可以采用Xfrm规则,对第一业务数据进行解封装得到初始业务数据。

步骤309、网关节点基于网关节点的网络信息对初始业务数据中的第二目标地址进行第二封装,得到第二业务数据。

在本申请实施例中,第二业务数据是基于网关节点的网络信息对初始业务数据中的第二目标地址进行第二封装后的数据。第二目标地址是发送地址。基于网关节点的网络信息对初始业务数据中的发送地址进行第二封装,是为了在网关节点给边端节点的第二业务组件发送业务数据时,将发送地址修改为网关节点的网络信息,如此便于获知业务数据是从哪来,中间经过了哪些节点,要传输到哪。

在一种可行的实现方式中,可以采用地址转换规则,基于网关节点对应的网络信息对初始业务数据中的第二目标地址进行第二封装得到第二业务数据。具体地,可以采用NAT规则,基于网关节点的IP地址和边端节点的IP地址和对初始业务数据中的发送地址和接收地址进行封装得到第二业务数据,也即,此时发送地址为网关节点的公网IP,此时接收地址为边端节点的内网IP,也即此时第二业务数据的发送方是网关节点,接收方是边端节点的第二业务组件,以通过网关节点将第二业务数据发送至边端节点的第二业务组件。

在本申请实施例中,可以通过网关节点的IPSEC模块,进行Xfrm规则匹配,匹配成功后,被IPSEC隧道封装成第二业务数据。

步骤310、网关节点确定第一业务组件对应的第一网络信息和第二业务组件对应的第二网络信息。

其中,第一网络信息用于定位第一业务组件,第二网络信息用于定位第二业务组件。

在本申请实施例中,第一网络信息是第一业务组件的网络信息,也即是发送方的网络信息,即源地址;第一网络信息用于定位第一业务组件,也就是说,通过第一网络信息能够找到第一业务组件;第一网络信息可以包括第一网络地址和第一网络端口;第一网络地址可以是第一业务组件的IP地址,第一网络端口可以是第一业务组件的pod网段。第二网络信息是第二业务组件的网络信息,也即是接收方的网络信息,即目的地址;第二网络信息用于定位第二业务组件,也就是说,通过第二网络信息能够找到第二业务组件;第二网络信息可以包括第二网络地址和第二网络端口;第二网络地址可以是第二业务组件的IP地址,第二网络端口可以是第二业务组件的pod网段。在一种可行的实现方式中,可以直接确定第一业务组件的网络信息(即第一网路信息)和第二业务组件的网络信息(即第二网络信息);或者,可以从初始业务数据中确定第一网路信息和第二网路信息。

步骤311、网关节点基于第一网络信息和第二网络信息,确定第一业务组件和第二业务组件是否满足第二通信条件。

在本申请实施例中,可以基于第一业务组件的网络信息和第二业务组件的网络信息来确定第一业务组件和第二业务组件是否满足第二通信条件,也即基于第一业务组件的网络信息和第二业务组件的网络信息来确定第一业务组件和第二业务组件是否能够通过目标数据传输通道进行业务数据的交互。

其中,步骤311可以通过以下步骤来实现:

步骤311a、网关节点将第一网络地址和第二网络地址与第二地址匹配表进行匹配。

在本申请实施例中,第二地址匹配表用于根据源地址和目的地址对数据进行过滤,第二地址匹配表可以是IPSEC Tunnel规则。在一种可行的实现方式中,可以预先将能够通过网关节点和目标数据处理通道进行业务数据交互的源地址和目的地址存储至第二地址匹配表,如此网关节点在接收到数据后,就可以根据第二地址匹配表来判断该数据是否是能够通过目标数据传输通道进行传输的业务数据。

步骤311b、在与第二地址匹配表匹配成功的情况下,网关节点将第一网络端口和第二网络端口与地址过滤表进行匹配。

其中,第一网络信息包括第一网络地址和第一网络端口,第二网络信息包括第二网络地址和第二网络端口。

在本申请实施例中,地址过滤表用于根据网络端口进行再次过滤;由于云端节点下发配置数据给边端节点时的源地址和目的地址可能会与第一网络地址和第二网络地址相同,此时并不希望配置数据走网关节点和目标数据传输通道这一通路,因此还需要根据网络端口进行再次过滤。一个网络地址可以对应多个网络端口,但是网络端口能够更准确地定位到业务组件,因此根据网络端口进行再次过滤,能够更准确地确定出能够通过网关节点和目标数据传输通道这一通路进行交互的业务组件。

步骤311c、在与地址过滤表匹配成功的情况下,网关节点确定第一业务组件和第二业务组件满足第二通信条件。

在本申请实施例中,与地址过滤表匹配成功,说明此时已经通过了第二地址匹配表和地址过滤表的匹配,这种情况下,确定第一业务组件和第二业务组件满足第二通信条件。

在本申请实施例中,第一地址匹配表、第二地址匹配表和地址过滤表均可以设置在图2所示的规则中。具体地,如图5所示,图中的隧道规则为IPSEC Tunnel规则,图中的通行规则为IPSEC Pass规则;用户可以将通信条件作为规则下发至边端节点的高级(Advance)路由、网关节点的隧道规则和通行规则,高级路由对应上述第一地址匹配表,隧道规则对应上述第二地址匹配表,通行规则对应上述地址过滤表;其中,Advance路由的优先级是最高的,也即数据需要先通过Advance路由进行判断,Advance路由设置的目的是先通过Advance路由进行判断,以确定哪些数据能够传输至网关节点,进入网关节点的IPSEC模块;具体地,在确定第一业务组件的业务数据后,边端节点可以先通过Advance路由进行判断,将业务数据对应的目的地址与Advance路由进行匹配,匹配成功后将业务数据发送至网关节点,网关节点在通过目标数据传输通道发送业务数据之前,先通过IPSEC模块的隧道规则进行匹配,将业务数据对应的源地址和目的地址与隧道规则进行匹配,匹配成功后,继续通过IPSEC模块的通行规则进行匹配,将业务数据对应的发送方的第一网络端口和接收方的第二网络端口与通行规则进行匹配,匹配成功后,确定第一业务组件和第二业务组件能够通过目标数据传输通道传输业务数据(满足第二通信条件);上述三次任意一次不匹配,均说明该数据不能通过网关节点和目标数据传输通道进行传输。

在一种可行的实现方式中,可以将云端中所有节点的内网IP和pod网段加入网关节点的IPSEC模块进行封装配置,可以将边端中所有节点的内网IP和pod网段加入网关节点的IPSEC模块进行封装配置,如此网关节点在发送第二业务数据之前,还可以根据IPSEC模块对最初的原地址和目的地址进行匹配,在匹配成功后,通过目标数据传输通道发送第二业务数据至边端节点的第二业务组件,以保证业务数据的安全性。

步骤312、在确定第一业务组件和第二业务组件满足第二通信条件的情况下,网关节点通过目标数据传输通道,发送第二业务数据至边端节点中的第二业务组件。

其中,目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请实施例中,此时接收的是基于网关节点对应的网络信息对初始业务数据中的第二目标地址进行第二封装的第二业务数据;在接收到第二业务数据后,可以通过IPSEC模块进行Xfrm规则匹配,匹配成功后对第二业务数据进行解封装暴露出最初的源地址和目的地址;边端节点的第二业务组件在回复数据时,可以按照原路径将回复数据发送至云端节点的第一业务组件。

需要说明的是,在云端节点的第一业务组件发送第一业务数据至网关节点时,基于网关节点的网络信息对初始业务数据的接收地址进行第一封装,在网关节点发送第二业务数据至边端节点的第二业务组件时,基于网关节点的网络信息对初始业务数据的发送地址进行第二封装,能够实现云边网络互通,以及收发包路径对称,便于运维人员对业务数据的传输情况进行研究与分析。

在本申请实施例中,云端节点、网关节点以及边端节点的规则配置可以如上表所示:Dst为目的地址、Src为源地址、Gw是网关节点;通过云端节点的路由规则可以获知目的地址是边端节点(edge_node),下一跳网关是网关节点,且是从网关节点的flannel.1网口发送业务数据,在确定第一业务组件和第二业务组件满足第一通信条件的情况下,需要通过NAT规则的地址伪装(MASQUERADE,MASQ)规则对业务数据进行封装,以保护业务数据的安全性;网关节点的Xfrm规则是为了对接收到的业务数据进行解封装,以暴露封装前的源地址和目的地址;网关节点采用MASQ规则对解封装后的业务数据的源地址进行修改,然后将修改后的业务数据发送至边端节点的第二业务组件。需要说明的是,表中的规则配置可以使用独立的名称空间,在查找时优先匹配,做到了在保留原始规则的前提下,实现云边互通,不会影响k8s现有的数据处理,对K8S零修改、零侵入;在卸载时只需把对应的名称空间删除,就能恢复原来的环境。

如图6所示,云端节点的第一业务组件向边端节点的第二业务组件发送初始业务数据时,可以先匹配路由规则,通过flannel.1网口将初始业务数据发送至下一跳网关节点flannel.1,后进行源地址转换,通过flannel进行封装得到第一业务数据,通过Vxlan隧道将第一业务数据发送到网关节点;网关节点接收到第一业务数据后,通过flannel进行解封装得到初始业务数据,后进行路由转发,初始业务数据经过IPSEC模块进行判断,匹配Xfrm规则成功后,初始业务数据被IPSEC隧道封装得到第二业务数据,后转发至边端节点;边端节点接收到第二业务数据后,经过IPsec模块,匹配Xfrm规则成功后,第二业务数据被解封装暴露最初的源地址、目的地址和初始业务数据;边端节点的第二业务组件在回复数据时,可以采用上述原路径将回复数据发送至云端节点的第一业务组件。

本申请实施例提供的数据传输方法通过IPSEC隧道实现了安全的云边互联,接了路由、NAT技术实现了组网引流,达到了云边网络全互通的目的;可以将通信条件对应的规则配置以插件方式进行部署,不修改k8s的系统配置,实现了对k8s零修改和零侵入,还实现了控制面和数据面分离的目的,也即只有数据面的业务数据才会通过网关节点和目标数据传输通道进行传输,控制面的数据走原本的单向通道;网关节点还可以主备模式,由控制节点检测主节点状态并进行异常切换;通过VIP技术使云端非集群节点无感知切换;本申请实施例提供的数据传输方法能够支持所有访问pod的场景,实现了云边网络全互通,且访问模式统一。

需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。

本申请实施例所提供的数据传输方法,云端节点中的第一业务组件可以先将第一业务数据发送给网关节点,再由网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请实施例提供一种第一数据传输装置,该第一数据传输装置可以应用于图1和4对应的实施例提供的数据传输方法中,参照图7所示,该第一数据传输装置4可以包括:

第一处理单元41,用于确定云端节点中第一业务组件的第一业务数据;

第一发送单元42,用于在确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送第一业务数据至网关节点;其中,网关节点用于基于第一业务数据确定第二业务数据,并通过目标数据传输通道发送第二业务数据至边端节点中的第二业务组件;目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请的其他实施例中,第一处理单元41还用于执行以下步骤:

确定第二业务组件对应的网络信息;其中,网络信息用于定位第二业务组件;

将第二业务组件对应的网络信息与第一地址匹配表进行匹配;

在与第一地址匹配表匹配成功的情况下,确定第一业务组件和第二业务组件满足第一通信条件。

在本申请的其他实施例中,第一处理单元41具体用于执行以下步骤:

确定云端节点中第一业务组件的初始业务数据;

基于网关节点对应的网络信息对初始业务数据中的第一目标地址进行第一封装,得到第一业务数据。

需要说明的是,各个单元所执行的步骤的具体说明可以参照图1和4对应的实施例提供的数据传输方法中,此处不再赘述。

本申请实施例所提供的第一数据传输装置,云端节点中的第一业务组件可以先将第一业务数据发送给网关节点,再由网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请实施例提供一种第二数据传输装置,该第二数据传输装置可以应用于图3和4对应的实施例提供的数据传输方法中,参照图8所示,该第二数据传输装置5可以包括:

接收单元51,用于接收云端节点发送的云端节点中第一业务组件的第一业务数据;

第二处理单元52,用于基于第一业务数据确定第二业务数据;

第二发送单元53,用于在确定第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送第二业务数据至边端节点中的第二业务组件;其中,目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请的其他实施例中,第二处理单元52具体用于执行以下步骤:

对第一业务数据进行解封装,得到云端节点中第一业务组件的初始业务数据;

基于网关节点对应的网络信息对初始业务数据中的第二目标地址进行第二封装,得到第二业务数据。

在本申请的其他实施例中,第二处理单元52具体用于执行以下步骤:

确定第一业务组件对应的第一网络信息和第二业务组件对应的第二网络信息;其中,第一网络信息用于定位第一业务组件,第二网络信息用于定位第二业务组件;

基于第一网络信息和第二网络信息,确定第一业务组件和第二业务组件是否满足第二通信条件。

在本申请的其他实施例中,第二处理单元52具体用于执行以下步骤:

将第一网络地址和第二网络地址与第二地址匹配表进行匹配;

在与第二地址匹配表匹配成功的情况下,将第一网络端口和第二网络端口与地址过滤表进行匹配;其中,第一网络信息包括第一网络地址和第一网络端口,第二网络信息包括第二网络地址和第二网络端口;

在与地址过滤表匹配成功的情况下,确定第一业务组件和第二业务组件满足第二通信条件。

需要说明的是,各个单元所执行的步骤的具体说明可以参照图3和4对应的实施例提供的数据传输方法中,此处不再赘述。

本申请实施例所提供的第二数据传输装置,网关节点在接收到云端节点发送的云端节点中第一业务组件的第一业务数据后,可以通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请的实施例提供一种云端节点,该云端节点可以应用于图1和4对应的实施例提供的数据传输方法中,参照图9所示,该云端节点6可以包括:第一处理器61、第一存储器62和第一通信总线63,其中:

第一通信总线63用于实现第一处理器61和第一存储器62之间的通信连接;

第一处理器61用于执行第一存储器62中的数据传输程序,以实现以下步骤:

确定云端节点中第一业务组件的第一业务数据;

在确定第一业务组件和第二业务组件满足第一通信条件的情况下,发送第一业务数据至网关节点;其中,网关节点用于基于第一业务数据确定第二业务数据,并通过目标数据传输通道发送第二业务数据至边端节点中的第二业务组件;目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请的其他实施例中,第一处理器61用于执行第一存储器62中的数据传输程序还可以实现以下步骤:

确定第二业务组件对应的网络信息;其中,网络信息用于定位第二业务组件;

将第二业务组件对应的网络信息与第一地址匹配表进行匹配;

在与第一地址匹配表匹配成功的情况下,确定第一业务组件和第二业务组件满足第一通信条件。

在本申请的其他实施例中,第一处理器61用于执行第一存储器62中的数据传输程序的确定云端节点中第一业务组件的第一业务数据,以实现以下步骤:

确定云端节点中第一业务组件的初始业务数据;

基于网关节点对应的网络信息对初始业务数据中的第一目标地址进行第一封装,得到第一业务数据。

需要说明的是,处理器所执行的步骤的具体说明可以参照图1和4对应的实施例提供的数据传输方法中,此处不再赘述。

本申请实施例所提供的云端节点,云端节点中的第一业务组件可以先将第一业务数据发送给网关节点,再由网关节点通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请的实施例提供一种网关节点,该网关节点可以应用于图3和4对应的实施例提供的数据传输方法中,参照图10所示,该网关节点7可以包括:第二处理器71、第二存储器72和第二通信总线73,其中:

第二通信总线73用于实现第二处理器71和第二存储器72之间的通信连接;

第二处理器71用于执行第二存储器72中的数据传输程序,以实现以下步骤:

接收云端节点发送的云端节点中第一业务组件的第一业务数据;

基于第一业务数据确定第二业务数据;

在确定第一业务组件和第二业务组件满足第二通信条件的情况下,通过目标数据传输通道,发送第二业务数据至边端节点中的第二业务组件;其中,目标数据传输通道用于进行云端节点和边端节点之间的业务数据的交互。

在本申请的其他实施例中,第二处理器71用于执行第二存储器72中的数据传输程序的基于第一业务数据确定第二业务数据,以实现以下步骤:

对第一业务数据进行解封装,得到云端节点中第一业务组件的初始业务数据;

基于网关节点对应的网络信息对初始业务数据中的第二目标地址进行第二封装,得到第二业务数据。

在本申请的其他实施例中,第二处理器71用于执行第二存储器72中的数据传输程序还可以实现以下步骤:

确定第一业务组件对应的第一网络信息和第二业务组件对应的第二网络信息;其中,第一网络信息用于定位第一业务组件,第二网络信息用于定位第二业务组件;

基于第一网络信息和第二网络信息,确定第一业务组件和第二业务组件是否满足第二通信条件。

在本申请的其他实施例中,第二处理器71用于执行第二存储器72中的数据传输程序的基于第一网络信息和第二网络信息,确定第一业务组件和第二业务组件是否满足第二通信条件,以实现以下步骤:

将第一网络地址和第二网络地址与第二地址匹配表进行匹配;

在与第二地址匹配表匹配成功的情况下,将第一网络端口和第二网络端口与地址过滤表进行匹配;其中,第一网络信息包括第一网络地址和第一网络端口,第二网络信息包括第二网络地址和第二网络端口;

在与地址过滤表匹配成功的情况下,确定第一业务组件和第二业务组件满足第二通信条件。

需要说明的是,处理器所执行的步骤的具体实现方式可以参照图3和4对应的实施例提供的数据传输方法中的描述,此处不再赘述。

本申请实施例所提供的网关节点,网关节点在接收到云端节点发送的云端节点中第一业务组件的第一业务数据后,可以通过专门设置的目标数据传输通道将第一业务数据发送至边端节点中的第二业务组件,以实现云端节点中的第一业务组件与边端节点中的第二业务组件之间的业务数据的交互,解决了相关技术中云端节点中的pod与边端节点中的pod存在网络不通的问题。

基于前述实施例,本申请的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现图1和4或图3和4对应的实施例提供的数据传输方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

相关技术
  • 一种数据传输方法、设备及计算机可读存储介质
  • 移动式医疗数据采集设备的多数据传输方法及计算机可读存储介质
  • 通信数据传输方法、系统、设备及计算机可读存储介质
  • 一种数据传输方法及装置、计算机可读存储介质
  • 一种存储管理方法、计算机可读存储介质及终端设备
  • 一种数据传输的方法、装置、系统、计算机设备及计算机可读存储介质
  • 一种数据传输的方法、装置、系统、计算机设备及计算机可读存储介质
技术分类

06120115921336