CN115473760B - 数据传输方法及装置、终端设备、计算机可读存储介质 - Google Patents
数据传输方法及装置、终端设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN115473760B CN115473760B CN202211064571.2A CN202211064571A CN115473760B CN 115473760 B CN115473760 B CN 115473760B CN 202211064571 A CN202211064571 A CN 202211064571A CN 115473760 B CN115473760 B CN 115473760B
- Authority
- CN
- China
- Prior art keywords
- network device
- container group
- virtual network
- area network
- target
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 15
- 101150008604 CAN1 gene Proteins 0.000 description 10
- 102100033121 Transcription factor 21 Human genes 0.000 description 8
- 101710119687 Transcription factor 21 Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 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
- 238000004140 cleaning Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据传输方法及装置、终端设备、计算机可读存储介质,所述数据传输方法包括:获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输;根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系;将所述目标控制器局域网络设备中的数据传输至所述目标容器组。使用上述技术方案能够提升控制器局域网络设备与容器组之间的数据传输效率。
Description
技术领域
本发明涉及计算机技术领域,更具体地,其涉及一种数据传输方法及装置、终端设备、计算机可读存储介质。
背景技术
控制器局域网络(Controller Area Network,CAN)是一种现场总线,是应用最广泛的现场总线之一,CAN总线能有效支持分布式控制或实时控制的串行通信网络,并已形成了国际标准。当CAN总线接入Linux操作系统时,是以控制器局域网络设备的形式存在,并能够将CAN报文数据提供给各个容器中的进程使用。
现有技术在让容器获取CAN报文时,通常是将控制器局域网络设备转移至容器所在的容器组所属的命名空间内,以获取控制器局域网络设备中的CAN报文。
但现有技术在获取CAN报文时,控制器局域网络设备在同一时间内只能向一个容器组提供CAN报文,极大地降低了数据传输的效率,限制了项目设计的灵活。
发明内容
本发明解决的技术问题是如何提高控制器局域网络设备与容器组之间的数据传输效率。
为解决上述技术问题,本数据传输提供一种数据传输方法,所述数据传输方法包括:获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输;根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系,所述目标控制器局域网络设备选自所述至少一个控制器局域网络设备;将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
可选地,所述创建虚拟网络设备对包括:创建所述虚拟网络设备对,所述虚拟网络设备对包括第一虚拟网络设备和第二虚拟网络设备;将所述第一虚拟网络设备转移至所述目标容器组所属的命名空间,所述第一虚拟网络设备位于所述目标容器组所属的命名空间,所述第二虚拟网络设备位于所述至少一个控制器局域网络设备所属的命名空间。
可选地,所述第二虚拟网络设备与所述第一虚拟网络设备之间具有传输链路,所述将所述目标控制器局域网络设备中的数据传输至所述目标容器组包括:利用所述目标控制器局域网络设备与所述虚拟网络设备对中的所述第二虚拟网络设备的传输关系,将所述目标控制器局域网络设备中的数据传输至所述第二虚拟网络设备;利用所述第二虚拟网络设备与所述第一虚拟网络设备的传输链路,将所述第二虚拟网络设备接收到的数据传输至所述第一虚拟网络设备,以供所述目标容器组获取所述目标控制器局域网络设备中的数据。
可选地,所述获取目标容器组的命名空间以及指示标签包括:在新增容器组时获取所述容器组的创建信息,判断所述创建信息中是否包括指示标签;当所述容器组的所述创建信息中包括所述指示标签时,将所述容器组作为所述目标容器组;获取所述目标容器组的指示标签,并从所述目标容器组的所述创建信息中获取所述目标容器组所属的命名空间。
可选地,所述根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系包括:根据所述指示标签中的所述至少一个控制器局域网络设备的标识,确定每一标识对应的控制器局域网络设备;将所述标识对应的至少一个控制器局域网络设备作为所述目标控制器局域网络设备。
可选地,所述根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系包括:根据所述指示标签选取至少一个目标控制器局域网络设备;建立所述虚拟网络设备对与所述至少一个目标控制器局域网络设备的传输关系,每一虚拟网络设备对与一个目标控制器局域网络设备具有传输关系。
可选地,所有命名空间共用Linux内核。
本申请还公开一种数据传输装置,所述数据传输装置包括:获取模块,用于获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;创建模块,用于创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输;传输关系确定模块,用于根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系,所述目标控制器局域网络设备选自所述至少一个控制器局域网络设备;传输模块,用于将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
本申请还公开一种终端设备,包括存储器和处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述计算机程序被处理器运行时执行上述任一种所述数据传输方法的步骤。
本申请还公开一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述计算机程序被处理器运行时执行上述任一种所述数据传输方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明提出一种数据传输方法,通过获取目标容器组所属的命名空间以及指示标签,确定需要进行数据传输的控制器局域网络设备,创建虚拟网络设备对,利用虚拟网络设备对在目标容器组所属的命名空间与至少一个控制器局域网络设备所属的命名空间之间进行数据传输,根据指示标签建立虚拟网络设备对与目标控制器局域网络设备的传输关系,即可将目标控制器局域网络设备中的数据传输至目标容器组。通过创建虚拟网络设备对,并确定虚拟网络设备对与目标控制器局域网络设备之间的传输关系,让目标控制器局域网络设备无需更换位置便能与多个目标容器组同时进行数据传输,大大提高了数据传输效率。
进一步地,通过监听容器组的创建事件,在新增容器组时就获取容器组的创建信息,通过创建信息获取容器组的相关信息。可以在容器组为目标容器组时自动执行方案,建立目标控制器局域网络设备与目标容器组的传输关系,开始数据的传输过程,无需人工的介入,节省人力资源。
附图说明
图1是本发明实施例提供的一种数据传输方法的整体流程图;
图2是本发明实施例提供的一种具体应用场景的示意图;
图3是本发明实施例提供的一种数据传输装置的结构示意图。
具体实施方式
如背景技术中所述,当CAN总线接入Linux操作系统时,是以控制器局域网络设备的形式存在。现有技术在让容器获取CAN报文时,通常是将控制器局域网络设备转移至容器所在的容器组所属的命名空间内,以获取控制器局域网络设备中的CAN报文。但现有技术在获取CAN报文时,控制器局域网络设备在同一时间内只能向一个容器组提供CAN报文,极大地降低了数据传输的效率,限制了项目设计的灵活。
本发明实施例中,通过获取目标容器组所属的命名空间以及指示标签,确定需要进行数据传输的控制器局域网络设备,创建虚拟网络设备对,利用虚拟网络设备对在目标容器组所属的命名空间与至少一个控制器局域网络设备所属的命名空间之间进行数据传输,根据指示标签建立虚拟网络设备对与目标控制器局域网络设备的传输关系,即可将目标控制器局域网络设备中的数据传输至目标容器组。通过创建虚拟网络设备对,并确定虚拟网络设备对与目标控制器局域网络设备之间的传输关系,让目标控制器局域网络设备无需更换位置便能与多个目标容器组同时进行数据传输,大大提高了数据传输效率。
进一步地,通过监听容器组的创建事件,在新增容器组时就获取容器组的创建信息,通过创建信息获取容器组的相关信息。可以在容器组为目标容器组时自动执行方案,建立目标控制器局域网络设备与目标容器组的传输关系,开始数据的传输过程,无需人工的介入,节省人力资源。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解,现对本发明实施例中涉及的名词进行解释。
本发明实施例所称Kubernetes是一种基于容器的集群管理平台,用于管理平台中多个主机上的容器化的应用。
本发明实施例所称容器(Container)用于承载软件程序。
本发明实施例所称容器组(Pod)是Kubernetes的基本操作单元,而且是最小的可创建、调试和管理的部署单元。另外,位于同一个容器组中的多个容器可以共享网络资源(如,IP地址),每个容器组中可以封装有一个或多个容器。
本发明实施例所称命名空间(namespace)用于实现网络隔离,命名空间能够将网络设备、地址、端口、路由、防火墙规则等的使用划分在不同的盒子,以实现在一个单独运行的内核实例中虚拟化网络。另外,处于同一个命名空间的多个对象之间能够共享网络资源。例如,一个容器组中所部署的多个容器均处于同一个命名空间,以使位于同一个容器组中的多个容器可以共享网络资源。
本发明实施例所称虚拟网络设备是指vxcan,该虚拟网络设备成对出现,可以在不同的命名空间之间传输CAN报文。
图1是本发明实施例提供的一种互联网协议地址分析方法的整体流程图。
在具体实施中,下述步骤101至步骤104所记载的数据传输方法可以用于终端设备中。上述步骤具体可以由终端设备来执行,也可以由终端设备中具有数据处理功能的芯片所执行,也可以由终端设备中包含有数据处理功能的芯片的芯片模组来执行。
具体地,如图1所示,数据传输方法可以包括以下步骤:
在步骤101中,获取目标容器组所属的命名空间以及指示标签;
在步骤102中,创建虚拟网络设备对;
在步骤103中,根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系;
在步骤104中,将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
在具体实施方式中,终端设备支持创建虚拟网络设备对,并且终端设备中存在控制器局域网络设备,所有命名空间共用Linux内核。
在步骤101的具体实施方式中,终端设备可以在新增容器组时获取容器组的创建信息。判断容器组的创建信息中是否包括指示标签,当容器组的创建信息中包括指示标签时,将该容器组作为目标容器组。
进一步地,获取目标容器组的指示标签,并从目标容器组的创建信息中获取目标容器组所属的命名空间,指示标签包括与目标容器组进行数据传输的至少一个控制器局域网络设备的标识。
需要说明的是,可以基于Kubernetes架构执行本发明的各个步骤,或者基于其他任意可实现的架构执行本发明的各个步骤,本申请对此不作限制。
在具体实施方式中,可以通过Kubernetes中的接口服务(API Server)组件监听容器组的创建事件。在容器组的创建信息中包括指示标签时,从创建信息中可以获取容器组中任一容器的容器标识。
具体地,一个容器组代表着Linux内核中运行的一个进程,每个进程具有进程标识(Process Identification,PID),每个进程标识具有对应的命名空间。可以通过命令行将容器标识转换为Linux内核中的进程标识,以此确定容器所在的容器组对应的进程标识,再根据转换得到的进程标识从Linux内核中获取到进程标识对应的命名空间。由于同一容器组中所有的容器所属的命名空间都一致,因此可以通过同一容器组中任一容器的容器标识转换得到的进程标识获取该容器组的命名空间。
进一步地,若容器组需要获取控制器局域网络设备中的数据,只需要通过在容器组创建时的创建信息中添加指示标签,就可以将该容器组作为目标容器组。利用创建的虚拟网络设备对可以建立目标容器组与控制器局域网络设备的传输关系,能够让目标容器组获取到控制器局域网络设备中的数据,配置方法简单。
在步骤102的具体实施方式中,可以利用命令行创建虚拟网络设备对,虚拟网络设备对中包括第一虚拟网络设备和第二虚拟网络设备,第一虚拟网络设备和第二虚拟网络设备成对创建,第一虚拟网络设备和第二虚拟网络设备之间具有传输链路,能够在不同的命名空间之间进行数据传输。
在一个非限制的实施例中,在创建虚拟网络设备对后,将虚拟网络设备对中的第一虚拟网络设备通过命令行转移至目标容器组所属的命名空间,使第一虚拟网络设备位于目标容器组所属的命名空间,使第二虚拟网络设备位于至少一个控制器局域网络设备所属的命名空间。通过将虚拟网络设备对中的第一虚拟网络设备转移至目标容器组所属的命名空间,可以在两个不同的命名空间之间建立一个数据传输通道,以进行数据的交互。
在具体实施方式中,可以通过Kubernetes中的控制器(controller)接收接口服务组件监听到的容器组的创建事件,在容器组为目标容器组时,控制器可以执行shell命令创建虚拟网络设备对(vxcan pair),虚拟网络设备对可以将控制器局域网络设备中的报文通过虚拟网络设备对传输到目标容器组所属的命名空间。具体地,shell命令可以封装至本发明的代码内,在获取到目标容器组后便可以自动执行封装好的shell命令,无需人工控制,能够降低人力资源的消耗。
进一步地,将虚拟网络设备对中的其中一个虚拟网络设备转移至目标容器组所属的命名空间,控制器局域网络设备所属的命名空间中的虚拟网络设备与目标容器组所属的命名空间中的虚拟网络设备具有传输链路。也可以将转移至目标容器组所属的命名空间的虚拟网络设备重命名为控制器局域网络设备的标识,将控制器局域网络设备的标识与目标容器组所属的命名空间中虚拟网络设备的标识一致作为数据传输的开始条件。
需要说明的是,可以采用虚拟网络设备进行CAN报文的传输,也可以采用其他任意可实现的虚拟网络设备进行CAN报文的传输,本申请对此不作限制。
在步骤103的具体实施中,根据指示标签中至少一个控制器局域网络设备的标识,确定一个与目标容器组进行数据传输的目标控制器局域网络设备,目标控制器局域网络设备从至少一个标识所指示的控制器局域网络设备中确定,并建立虚拟网络设备对与目标控制器局域网络设备的传输关系。
在具体实施方式中,可以通过Kubernetes中的控制器建立虚拟网络设备对与目标控制器局域网络设备的传输关系,每一虚拟网络设备对与一个目标控制器局域网络设备具有传输关系。具体地,控制器可以根据指示标签中的标识逐个确定目标控制器局域网络设备,并建立虚拟网络设备对与目标控制器局域网络设备的传输关系,直至虚拟网络设备对与指示标签指示的所有控制器局域网络设备建立传输关系。例如,终端设备中存在控制器局域网络设备CAN0和控制器局域网络设备CAN1,目标容器组1的指示标签包括CAN0和CAN1,即目标容器组1需要获取CAN0和CAN1的CAN报文。可以创建虚拟网络设备对1,再根据指示标签确定CAN0为目标控制器局域网络设备,虚拟网络设备对1包括第一虚拟网络设备vxcan0_1和第二虚拟网络设备vxcan0_2,可以建立第二虚拟网络设备vxcan0_2和控制器局域网络设备CAN0的传输关系;创建虚拟网络设备对2,再根据指示标签确定CAN1为目标控制器局域网络设备,虚拟网络设备对2包括第一虚拟网络设备vxcan1_1和第二虚拟网络设备vxcan1_2,可以建立第二虚拟网络设备vxcan1_2和控制器局域网络设备CAN1的传输关系。
进一步地,可以通过创建多个虚拟网络设备对来实现控制器局域网络设备与多个目标容器组的数据传输,创建虚拟网络设备对没有数量限制,可以同时将控制器局域网络设备中的数据传输至多个目标容器组。
在具体实施方式中,只需要创建控制器局域网络设备与虚拟网络设备对的传输关系,不用更改控制器局域网络设备的配置,且数据传输过程中的流量转发是通过Linux内核进行的,无需通过外部设备进行数据传输,使数据传输过程更加稳定。
在步骤104的具体实施中,第一虚拟网络设备已经位于目标容器组所属的命名空间,第二虚拟网络设备已经与目标控制器局域网络设备建立传输关系,可以开始进行数据传输。具体地,可以利用目标控制器局域网络设备与虚拟网络设备对中第二虚拟网络设备的传输关系,将目标控制器局域网络设备中的数据传输至第二虚拟网络设备,再利用第二虚拟网络设备与第一虚拟网络设备的传输链路,将第二虚拟网络设备接收到的数据传输至第一虚拟网络设备,以供目标容器组获取目标控制器局域网络设备中的数据。
在具体实施方式中,第一虚拟网络设备与目标容器组中的各个容器位于同一命名空间内,目标容器组中的各个容器可以从第一虚拟网络设备中获取目标控制器局域网络设备中的数据。
在具体实施方式中,在目标容器组与控制器局域网络设备之间建立传输关系后,也可以利用传输关系将目标容器组中的数据传输至控制器局域网络设备所属的命名空间。
在具体实施方式中,可以根据具体实施情况对目标容器组进行删除,在删除目标容器组后,相应地,也删除目标容器组所属命名空间内的第二虚拟网络设备,此时Linux内核将自动清理与第二虚拟网络设备对应的第一虚拟网络设备,无需人工对目标容器组的相关内容进行删除,提高内存资源的清理效率。
本发明实施例中,可以通过判断容器组的创建信息中是否包括指示标签来确定目标容器组,若某一容器组需要获取控制器局域网络设备中的数据,只需在创建信息中添加指示标签,配置简单。通过虚拟网络设备对以及指示标签指示的控制器局域网络设备的标识,能够建立目标控制器局域网络设备与目标容器组的传输关系,且虚拟网络设备对没有数量限制,可以将控制器局域网络设备的数据同时发送至多个目标容器组,大大提升数据的传输效率。
图2是本发明实施例提供的一种具体应用场景的示意图。
如图2所示,在一个具体的应用场景中,命名空间1中包括控制器局域网络设备CAN0和控制器局域网络设备CAN1。命名空间1中的controller可以利用Kubernetes中的接口服务(API Server)组件监听容器组(Pod)的创建事件,并获取到了容器组Pod0的创建信息、容器组Pod1的创建信息以及容器组Pod2的创建信息。容器组Pod0、容器组Pod1和容器组Pod2的创建信息中包括指示标签,其中,容器组Pod0的指示标签包括CAN0的标识,容器组Po1的指示标签包括CAN1的标识,容器组Pod1的指示标签包括CAN0和CAN1的标识。将容器组Pod0、容器组Pod1和容器组Pod2作为目标容器组,并从各个目标容器组的创建信息中获取各个目标容器组的命名空间。容器组Pod0属于命名空间2,容器组Pod1属于命名空间3,容器组Pod2属于命名空间4。
在具体实施方式中,创建虚拟网络设备对vxcan0对、vxcan1对、vxcan2对和vxcan3对。将vxcan0对中的vxcan0_1转移至Pod0所属的命名空间,并建立vxcan0_2和CAN0的传输关系。还可以将Pod0所属的命名空间中的vxcan0_1重命名为CAN0,以作为数据传输的开始条件。根据vxcan0_2和CAN0的传输关系将CAN0的报文传输至vxcan0_2中,再利用vxcan0_2和vxcan0_1的传输链路将CAN0的报文传输至vxcan0_1中,以供Pod0中的容器使用CAN0的报文。
进一步地,将vxcan1对中的vxcan1_1转移至Pod1所属的命名空间,并建立vxcan1_2和CAN1的传输关系;将vxcan2对中的vxcan2_1转移至Pod2所属的命名空间,并建立vxcan2_2和CAN0的传输关系;将vxcan3对中的vxcan3_1转移至Pod1所属的命名空间,并建立vxcan3_2和CAN1的传输关系。根据各个设备之间的传输关系将目标控制器局域网络设备的报文传输至对应的虚拟网络设备中,以供虚拟网络设备所属的命名空间中的容器使用报文。
关于数据的具体传输方法可以参考图1中的相关描述,在此不再赘述。
如图3所示,本发明实施例还公开了一种数据传输装置。数据传输装置30包括:
获取模块301,用于获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;
创建模块302,用于创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输;
传输关系确定模块303,用于根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系,所述目标控制器局域网络设备选自所述至少一个控制器局域网络设备;
传输模块304,用于将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
在具体实施中,上述数据传输装置可以对应于终端设备中具有数据处理功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片等;或者对应于终端设备中包括具有数据处理功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于终端设备。
关于所述数据传输装置30的工作原理、工作方式的更多内容,可以参照图1和图2中的相关描述,这里不再赘述。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还公开了一种存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1和图2中所示方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种终端设备,所述终端设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时可以执行图1和图2中所示方法的步骤。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (9)
1.一种数据传输方法,其特征在于,包括:
获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;
创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输,所述虚拟网络设备对包括第一虚拟网络设备和第二虚拟网络设备;将所述第一虚拟网络设备转移至所述目标容器组所属的命名空间,所述第一虚拟网络设备位于所述目标容器组所属的命名空间,所述第二虚拟网络设备位于所述至少一个控制器局域网络设备所属的命名空间;
根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系,所述目标控制器局域网络设备选自所述至少一个控制器局域网络设备;
将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
2.根据权利要求1所述的数据传输方法,其特征在于,所述第二虚拟网络设备与所述第一虚拟网络设备之间具有传输链路,所述将所述目标控制器局域网络设备中的数据传输至所述目标容器组包括:
利用所述目标控制器局域网络设备与所述虚拟网络设备对中的所述第二虚拟网络设备的传输关系,将所述目标控制器局域网络设备中的数据传输至所述第二虚拟网络设备;
利用所述第二虚拟网络设备与所述第一虚拟网络设备的传输链路,将所述第二虚拟网络设备接收到的数据传输至所述第一虚拟网络设备,以供所述目标容器组获取所述目标控制器局域网络设备中的数据。
3.根据权利要求1所述的数据传输方法,其特征在于,所述获取目标容器组的命名空间以及指示标签包括:
在新增容器组时获取所述容器组的创建信息,判断所述创建信息中是否包括指示标签;
当所述容器组的所述创建信息中包括所述指示标签时,将所述容器组作为所述目标容器组;
获取所述目标容器组的指示标签,并从所述目标容器组的所述创建信息中获取所述目标容器组所属的命名空间。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系包括:根据所述指示标签中的所述至少一个控制器局域网络设备的标识,确定每一标识对应的控制器局域网络设备;
将所述标识对应的至少一个控制器局域网络设备作为所述目标控制器局域网络设备。
5.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系包括:根据所述指示标签选取至少一个目标控制器局域网络设备;
建立所述虚拟网络设备对与所述至少一个目标控制器局域网络设备的传输关系,每一虚拟网络设备对与一个目标控制器局域网络设备具有传输关系。
6.根据权利要求1所述的数据传输方法,其特征在于,所有命名空间共用Linux内核。
7.一种数据传输装置,其特征在于,包括:
获取模块,用于获取目标容器组所属的命名空间以及指示标签,所述指示标签包括与所述目标容器组进行数据传输的至少一个控制器局域网络设备的标识;
创建模块,用于创建虚拟网络设备对,所述虚拟网络设备对用于在所述目标容器组所属的命名空间与所述至少一个控制器局域网络设备所属的命名空间之间进行数据传输,所述虚拟网络设备对包括第一虚拟网络设备和第二虚拟网络设备;
所述创建模块还用于将所述第一虚拟网络设备转移至所述目标容器组所属的命名空间,所述第一虚拟网络设备位于所述目标容器组所属的命名空间,所述第二虚拟网络设备位于所述至少一个控制器局域网络设备所属的命名空间;
传输关系确定模块,用于根据所述指示标签建立所述虚拟网络设备对与目标控制器局域网络设备的传输关系,所述目标控制器局域网络设备选自所述至少一个控制器局域网络设备;
传输模块,用于将所述目标控制器局域网络设备中的数据传输至所述目标容器组。
8.一种终端设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至6中任一项所述数据传输方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述计算机程序被处理器运行时执行权利要求1至6中任一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064571.2A CN115473760B (zh) | 2022-08-31 | 2022-08-31 | 数据传输方法及装置、终端设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064571.2A CN115473760B (zh) | 2022-08-31 | 2022-08-31 | 数据传输方法及装置、终端设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115473760A CN115473760A (zh) | 2022-12-13 |
CN115473760B true CN115473760B (zh) | 2023-12-26 |
Family
ID=84368396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211064571.2A Active CN115473760B (zh) | 2022-08-31 | 2022-08-31 | 数据传输方法及装置、终端设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115473760B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812222A (zh) * | 2016-03-10 | 2016-07-27 | 汉柏科技有限公司 | 基于虚拟机和容器的多租户虚拟网络及实现方法 |
CN108370391A (zh) * | 2015-12-14 | 2018-08-03 | 微软技术许可有限责任公司 | 用于虚拟网络的共享多租户域名系统(dns)服务器 |
CN110704155A (zh) * | 2018-07-09 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 容器网络构建方法及装置、物理主机、数据传输方法 |
EP3617879A1 (en) * | 2018-08-30 | 2020-03-04 | Juniper Networks, Inc. | Multiple virtual network interface support for virtual execution elements |
CN112187671A (zh) * | 2020-11-05 | 2021-01-05 | 北京金山云网络技术有限公司 | 一种网络接入方法及其相关设备 |
CN113824622A (zh) * | 2021-09-13 | 2021-12-21 | 京东科技信息技术有限公司 | 容器之间的通信控制方法、装置、计算机设备及存储介质 |
CN114640554A (zh) * | 2022-02-15 | 2022-06-17 | 阿里云计算有限公司 | 多租户通信隔离方法和混合组网方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855531B2 (en) * | 2018-08-30 | 2020-12-01 | Juniper Networks, Inc. | Multiple networks for virtual execution elements |
-
2022
- 2022-08-31 CN CN202211064571.2A patent/CN115473760B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108370391A (zh) * | 2015-12-14 | 2018-08-03 | 微软技术许可有限责任公司 | 用于虚拟网络的共享多租户域名系统(dns)服务器 |
CN105812222A (zh) * | 2016-03-10 | 2016-07-27 | 汉柏科技有限公司 | 基于虚拟机和容器的多租户虚拟网络及实现方法 |
CN110704155A (zh) * | 2018-07-09 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 容器网络构建方法及装置、物理主机、数据传输方法 |
EP3617879A1 (en) * | 2018-08-30 | 2020-03-04 | Juniper Networks, Inc. | Multiple virtual network interface support for virtual execution elements |
CN112187671A (zh) * | 2020-11-05 | 2021-01-05 | 北京金山云网络技术有限公司 | 一种网络接入方法及其相关设备 |
CN113824622A (zh) * | 2021-09-13 | 2021-12-21 | 京东科技信息技术有限公司 | 容器之间的通信控制方法、装置、计算机设备及存储介质 |
CN114640554A (zh) * | 2022-02-15 | 2022-06-17 | 阿里云计算有限公司 | 多租户通信隔离方法和混合组网方法 |
Non-Patent Citations (1)
Title |
---|
云环境下Docker容器隔离脆弱性分析与研究;边曼琳;王利明;;信息网络安全(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115473760A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108293022B (zh) | 一种报文传输的方法、装置和系统 | |
CN109245984B (zh) | 一种报文传输方法、一种信息处理方法及其相关设备 | |
JP6022650B2 (ja) | バーチャルマシンの間でサービスチェーンフローパケットを経路指定するための技術 | |
US20240045824A1 (en) | Remote Mapping Method, Apparatus and Device for Computing Resources, and Storage Medium | |
CN112422393A (zh) | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 | |
CN108491278B (zh) | 一种处理业务数据的方法和网络设备 | |
CN111324363A (zh) | 设备升级方法及升级终端、设备和存储介质 | |
WO2019137516A1 (zh) | 网络切片部署方法及其装置 | |
CN108092923B (zh) | 基于sr-iov的报文处理方法以及装置 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
WO2020108340A1 (zh) | 分配转发域的方法、装置、存储介质及电子装置 | |
CN112333017A (zh) | 一种服务配置方法、装置、设备及存储介质 | |
CN113645258A (zh) | 数据传输方法、装置、存储介质、处理器及电子设备 | |
CN113630479A (zh) | 域名的解析方法及相关产品 | |
US11132215B2 (en) | Techniques to facilitate out of band management in a virtualization environment | |
EP3032801B1 (en) | Method and device for generating forwarding information | |
CN114050998A (zh) | 实现远程直接内存访问的方法、装置、电子设备及介质 | |
CN114710549A (zh) | 一种容器平台中网卡的动态管理方法、系统及业务节点 | |
CN115473760B (zh) | 数据传输方法及装置、终端设备、计算机可读存储介质 | |
CN113765801B (zh) | 应用于数据中心的报文处理方法和装置、电子设备和介质 | |
CN114422297B (zh) | 一种多场景虚拟网络流量监控方法、系统、终端及介质 | |
CN116192626A (zh) | 设备访问方法及装置、计算机可读存储介质、电子设备 | |
US10728320B2 (en) | Apparatus and method for efficient, coordinated, distributed execution | |
US20150278360A1 (en) | Computing apparatus for data distribution service and method of operating the same | |
CN108353017B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |