基于MAC地址转发表的软件优化方法、装置及电子设备
文献发布时间:2023-06-19 19:35:22
技术领域
本申请涉及环网通信技术领域,特别涉及一种基于MAC(Media Access Control,介质访问控制)地址转发表的软件优化方法、装置及电子设备。
背景技术
在基于Classic AutoSar的软件开发平台上,环网保护切换一般通过交换机的出端口和虚拟局域网得以实现,但在实施过程中,容易出现刷新MAC地址转发表超时的情况,由于MAC地址转发表中包含了转发数据的目的MAC地址,因此需要优化链路切换方案。
相关技术中,大多采用同步调用交换机接口函数的方法实现以太网环网的保护切换功能。
然而,该方法在实施过程中会依赖Switch接口的调用时间,在通过Switch接口调用时,往往会因其调用时间超时而造成系统阻塞,影响系统运行功能,亟需解决。
发明内容
本申请提供一种基于MAC地址转发表的软件优化方法、装置及电子设备,以解决在通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能等问题。
本申请第一方面实施例提供一种基于MAC地址转发表的软件优化方法,包括以下步骤:确定当前车载环网的至少一个环网状态;基于所述至少一个环网状态,从预设的MAC地址转发表中确定所述至少一个环网状态对应的虚拟局域网和所述至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址;以及基于所述至少一个环网状态对应的虚拟局域网,根据所述可转出端口和所述转发数据的目标物理地址执行所述转发数据的转发动作,以优化所述当前车载环网的环网切换功能。
根据上述技术手段,通过在每条MAC地址转发表绑定以太网环网使用的属于虚拟局域网的两个端口,从而使MAC地址转发表生效,以实现环网的保护切换功能。
进一步地,在本申请的一个实施例中,在基于所述至少一个环网状态,从所述预设的MAC地址转发表中确定所述至少一个环网状态对应的虚拟局域网和所述至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址之前,还包括:确定至少一条静态MAC地址转发表绑定所述当前车载环网时使用的多个可转出端口;根据所述多个可转出端口确定每个可转出端口的对应的转发数据的目标物理地址;根据所述多个可转出端口和所述每个可转出端口的对应的转发数据的目标物理地址得到所述预设的MAC地址转发表。
根据上述技术手段,通过确定交换机每个端口的目标物理地址,并将目标物理地址存储至MAC地址转发表中,以实现环网的保护切换功能。
进一步地,在本申请的一个实施例中,所述环网状态包括无故障状态、单链路故障状态和双链路故障状态中的至少一种。
根据上述技术手段,通过多种环网状态以说明各个交换机端口所配置的虚拟局域网的数据通信情况,以提升通信系统的运行效率。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化方法,还包括:在所述虚拟局域网绑定多个可转出端口时,根据每个调度周期设置的调用次数计算所述每个调度周期的耗时。
根据上述技术手段,通过计算每个调度周期的耗时以实现MAC地址转发表的优化功能。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化方法,还包括:识别所述至少一个环网状态内每个交换机的当前模式;若所述当前模式为动态学习模式,则关闭所述每个交换机的动态学习模式。
根据上述技术手段,通过判断环网状态内每个交换机的模式,进而对其进行开启或关闭动作,以保证通信系统的稳定性。
本申请第二方面实施例提供一种基于MAC地址转发表的软件优化装置,包括:第一确定模块,用于确定当前车载环网的至少一个环网状态;第二确定模块,用于基于所述至少一个环网状态,从预设的MAC地址转发表中确定所述至少一个环网状态对应的虚拟局域网和所述至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址;以及优化模块,用于基于所述至少一个环网状态对应的虚拟局域网,根据所述可转出端口和所述转发数据的目标物理地址执行所述转发数据的转发动作,以优化所述当前车载环网的环网切换功能。
进一步地,在本申请的一个实施例中,在基于所述至少一个环网状态,从所述预设的MAC地址转发表中确定所述至少一个环网状态对应的虚拟局域网和所述至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址之前,所述第二确定模块,还包括:第一确定单元,用于确定至少一条静态MAC地址转发表绑定所述当前车载环网时使用的多个可转出端口;第二确定单元,用于根据所述多个可转出端口确定每个可转出端口的对应的转发数据的目标物理地址;获取单元,用于根据所述多个可转出端口和所述每个可转出端口的对应的转发数据的目标物理地址得到所述预设的MAC地址转发表。
进一步地,在本申请的一个实施例中,所述环网状态包括无故障状态、单链路故障状态和双链路故障状态中的至少一种。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化装置,还包括:计算单元,用于在所述虚拟局域网绑定多个可转出端口时,根据每个调度周期设置的调用次数计算所述每个调度周期的耗时。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化装置,还包括:识别单元,用于识别所述至少一个环网状态内每个交换机的当前模式;若所述当前模式为动态学习模式,则关闭所述每个交换机的动态学习模式。
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于MAC地址转发表的软件优化方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的基于MAC地址转发表的软件优化方法。
本申请实施例基于当前车载环网的至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址,进而执行转发数据的转发动作,以优化当前车载环网的环网切换功能。由此,解决了通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能等问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于MAC地址转发表的软件优化方法的流程图;
图2为根据本申请一个实施例的以太网环网示意图;
图3为根据本申请实施例的基于MAC地址转发表的软件优化装置的示例图;
图4为根据本申请实施例的电子设备的结构示意图。
附图标记说明:10-基于MAC地址转发表的软件优化装置;100-第一确定模块、200-第二确定模块、300-优化模块。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于MAC地址转发表的软件优化方法、装置及电子设备。针对上述背景技术中提到的通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能的问题,本申请提供了一种基于MAC地址转发表的软件优化方法,在该方法中,基于当前车载环网的至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址,进而执行转发数据的转发动作,以优化当前车载环网的环网切换功能。由此,解决了通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能等问题,通过在每条MAC地址转发表绑定以太网环网使用的属于虚拟局域网的两个端口,从而使MAC地址转发表生效,以实现环网的保护切换功能。
具体而言,图1为本申请实施例所提供的一种基于MAC地址转发表的软件优化方法的流程示意图。
如图1所示,该基于MAC地址转发表的软件优化方法包括以下步骤:
在步骤S101中,确定当前车载环网的至少一个环网状态。
具体地,在本申请实施例中,车载环网主要包括单环、双环以及多环三种环网方式,其中,由于单环、双环和多环的每个环使用的虚拟局域网各不相同,因此,数据流量在各自的环中运行时,环与环之间互不影响。
进一步地,如图2所示,本申请实施例以单环为例,在单环状态下,本申请实施例的环网状态主要包括无故障状态、单链路故障状态和双链路故障状态中的至少一种。
在步骤S102中,基于至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址。
进一步地,在本申请的一个实施例中,在基于至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址之前,还包括:确定至少一条静态MAC地址转发表绑定当前车载环网时使用的多个可转出端口;根据多个可转出端口确定每个可转出端口的对应的转发数据的目标物理地址;根据多个可转出端口和每个可转出端口的对应的转发数据的目标物理地址得到预设的MAC地址转发表。
具体地,本申请实施例中的交换机A、交换机B和交换机C均具备车载环网时使用的多个可转出端口,且每个端口都对应着目标连接设备的目标物理地址,并将各交换机的多个可转出端口和每个可转出端口的对应的转发数据的目标物理地址映射起来,从而存储至预设的MAC地址转发表中。
进一步地,在本申请实施例中,在得到的预设MAC地址转发表中需要确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址,由于交换机的各个端口是通过识别对应的目标物理地址来达到数据交换的功能,因此,每个交换机的端口传输的数据流量都具有自己的专属通道,也都具有自己的目标物理地址,因此,不论是单环、双环还是多环的以太网,数据流量在各自的通道运行时,都不会发生堵塞现象。
具体而言,如图2所示,若本申请实施例处于单环状态下的无故障环网状态,在交换机B分别与交换机C、交换机A下挂节设备通信时,由于交换机每个端口所对应的目标物理地址与配置于该端口的虚拟局域网有关,因此在交换机B的P5端口的虚拟局域网关闭时,此时该端口的静态MAC转发表不生效,所以出向数据流量只能从交换机B的P7端口转出,同理,交换机A上的数据流量只能从交换机A的P5端口转出;在交换机C的两个端口的虚拟局域网处于完全打开的状态时,出向数据流量会分别从两个端口同时转出,需要说明的是,每个端口在出向数据流量转出时,都会多出一包无效流量占用交换机带宽。
进一步地,在本申请实施例处于单环状态下的单链路故障状态时,以图2中的链路1故障为例,交换机C分别与交换机B、交换机A下挂设备通信,由于交换机C的P6端口虚拟局域网关闭,所以出向数据流量只能从交换机C的P7端口转出,同理,交换机A上的出向数据流量只能从交换机的P6端口转出;在交换机B两个端口的虚拟局域网处于全打开的状态时,出向数据流量会分别从两个端口同时转出。
进一步地,在本申请实施例处于单环状态下的双链路故障状态时,以图2中的RPL(Remote Initial Program Load,远程启动服务)链路以及链路1故障为例,由于RPL链路以及链路1存在故障,因此交换机A的P5和P6端口、交换机B的P5端口以及交换机C的P6端口的虚拟局域网处于关闭状态,此时出向数据流量智能通过交换机B和交换机C的P7端口转出而不受链路故障的影响。
在步骤S103中,基于至少一个环网状态对应的虚拟局域网,根据可转出端口和转发数据的目标物理地址执行转发数据的转发动作,以优化当前车载环网的环网切换功能。
具体地,本申请实施例基于至少一个环网状态各个交换机端口对应的虚拟局域网状态,以及各个端口对应的目标物理地址将各自端口通道的数据流量转发至对应的目标物理地址,以优化当前车载环网的环网切换功能,同时,若MAC地址转发表发现新的交换机端口,同时可以对新端口的目标物理地址进行学习并存储,以提高车载环网系统的运行性能。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化方法,还包括:在虚拟局域网绑定多个可转出端口时,根据每个调度周期设置的调用次数计算每个调度周期的耗时。
具体地,本申请实施例在各交换机的虚拟局域网绑定多个可转出端口,并且在环网保护切换功能和恢复回切的场景下,需要调用EthSwt_Enable Vlan接口或者AutoSar标准接口以实现各个端口的数据信息传输。
举例而言,以调用交换A端口为例,本申请实施例使用10ms的调度周期,以及每个周期需要调用2次EthSwt_Enable Vlan接口,此时交换机A端口需要三个周期进行处理,因此每个调度周期的耗时为3*10ms+20~30ms=50~60ms,同时,每增加一个虚拟局域网都会增加一个处理周期。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化方法,还包括:识别至少一个环网状态内每个交换机的当前模式;若当前模式为动态学习模式,则关闭每个交换机的动态学习模式。
具体地,本申请实施例在进行数据流量的传输时,需要识别至少一个环网状态内的每个交换机的当前运行模式,若交换机的当前模式为动态学习模式,此时未知的单播数据流量会被泛洪到无效链路的所有设备上,因此,为了保证通信系统的稳定性,则需要关闭每个交换机的动态学习模式。
根据本申请实施例提出的基于MAC地址转发表的软件优化方法,基于当前车载环网的至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址,进而执行转发数据的转发动作,以优化当前车载环网的环网切换功能。由此,解决了通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能等问题,通过在每条MAC地址转发表绑定以太网环网使用的属于虚拟局域网的两个端口,从而使MAC地址转发表生效,以实现环网的保护切换功能。
其次参照附图描述根据本申请实施例提出的基于MAC地址转发表的软件优化装置。
图3是本申请实施例的基于MAC地址转发表的软件优化装置的方框示意图。
如图3所示,该基于MAC地址转发表的软件优化装置10包括:第一确定模块100、第二确定模块200和优化模块300。
其中,第一确定模块100,用于确定当前车载环网的至少一个环网状态;
第二确定模块200,用于基于至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址;以及
优化模块300,用于基于至少一个环网状态对应的虚拟局域网,根据可转出端口和转发数据的目标物理地址执行转发数据的转发动作,以优化当前车载环网的环网切换功能。
进一步地,在本申请的一个实施例中,在基于至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址之前,第二确定模块200,还包括:第一确定单元、第二确定单元和获取单元。
其中,第一确定单元,用于确定至少一条静态MAC地址转发表绑定当前车载环网时使用的多个可转出端口;
第二确定单元,用于根据多个可转出端口确定每个可转出端口的对应的转发数据的目标物理地址;
获取单元,用于根据多个可转出端口和每个可转出端口的对应的转发数据的目标物理地址得到预设的MAC地址转发表。
进一步地,在本申请的一个实施例中,环网状态包括无故障状态、单链路故障状态和双链路故障状态中的至少一种。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化装置10,还包括:
计算单元,用于在虚拟局域网绑定多个可转出端口时,根据每个调度周期设置的调用次数计算每个调度周期的耗时。
进一步地,在本申请的一个实施例中,上述的基于MAC地址转发表的软件优化装置10,还包括:
识别单元,用于识别至少一个环网状态内每个交换机的当前模式;
若当前模式为动态学习模式,则关闭每个交换机的动态学习模式。
根据本申请实施例提出的基于MAC地址转发表的软件优化装置,基于当前车载环网的至少一个环网状态,从预设的MAC地址转发表中确定至少一个环网状态对应的虚拟局域网和至少一个环网状态内每个交换机的可转出端口和转发数据的目标物理地址,进而执行转发数据的转发动作,以优化当前车载环网的环网切换功能。由此,解决了通过Switch接口调用时,会因调用时间超时而造成系统阻塞,从而影响系统运行功能以及环网的保护切换功能等问题,通过在每条MAC地址转发表绑定以太网环网使用的属于虚拟局域网的两个端口,从而使MAC地址转发表生效,以实现环网的保护切换功能。
图4为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
处理器402执行程序时实现上述实施例中提供的基于MAC地址转发表的软件优化方法。
进一步地,电子设备还包括:
通信接口403,用于存储器401和处理器402之间的通信。
存储器401,用于存放可在处理器402上运行的计算机程序。
存储器401可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
处理器402可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于MAC地址转发表的软件优化方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
- 基于光线的三维人脸优化方法、装置及电子设备
- 软件质量评价方法及装置、存储介质、电子设备
- 一种软件测试方法、装置及电子设备
- 跨软件切换方法、装置及电子设备
- 一种软件协同测试方法、装置及电子设备
- 一种控制MAC地址转发表发送的方法、装置及系统
- 环网节点的MAC地址转发表更新方法及装置