数据表同步方法及其装置、数据交换设备、存储介质与流程

文档序号:29922921发布日期:2022-05-07 09:50阅读:55来源:国知局
数据表同步方法及其装置、数据交换设备、存储介质与流程

1.本发明涉及通信技术领域,尤其涉及一种数据表同步方法及其装置、数据交换设备、计算机可读存储介质。


背景技术:

2.为了便于对设备的管理,每个设备都会维护有相关的数据表,该数据表保存在设备的存储器硬件中,为了方便用户对设备的管理,往往还会在对应的软件平台中采用另一张含有相同数据表项的数据表供用户查看和进行相关操作。保存在设备硬件中的数据表被称为硬件数据表,简称硬件表;而保存在软件平台中的数据表则被称为软件数据表,简称为软件表。
3.例如,交换机中会保存有媒体访问控制(media access control,mac)地址表,由于保存在交换机中的mac地址表(即硬件表)是会不断自动学习和老化的,因此,需要对保存在对应的软件平台中的mac地址表(即软件表)进行更新处理,以保证硬件表和软件表一致。但交换机在对数据表项进行处理过程中,当发生信息传输出现丢包或漂移、信息收发端口不一致等情况时,会导致交换机中的硬件表和软件平台中的软件表不一致,从而会导致交换机中的硬件表与软件平台中的软件表不同步,因而会造成交换机的管理混乱。


技术实现要素:

4.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本发明实施例提供了一种数据表同步方法及其装置、数据交换设备、计算机可读存储介质,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
6.第一方面,本发明实施例提供了一种数据表同步方法,包括:
7.获取来自第一数据表的第一数据表项,所述第一数据表存储于数据库,所述第一数据表项包括第一关键信息;
8.根据所述第一关键信息,在第二数据表进行匹配,得到匹配结果,其中,所述第二数据表存储于存储器,所述第一数据表根据所述第二数据表而得到;
9.根据所述匹配结果对所述第一数据表和第三数据表进行对应的同步操作,其中,所述第三数据表与所述第一数据表相一致,所述第三数据表存储于软件平台。
10.第二方面,本发明实施例还提供了一种数据表同步装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面所述的数据表同步方法。
11.第三方面,本发明实施例还提供了一种数据交换设备,包括如上第二方面所述的数据表同步装置。
12.第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执
行指令,所述计算机可执行指令用于执行如上第一方面所述的数据表同步方法。
13.本发明实施例包括:获取来自第一数据表的第一数据表项,第一数据表存储于数据库,第一数据表项包括第一关键信息;根据第一关键信息,在第二数据表进行匹配,得到匹配结果,其中,第二数据表存储于存储器,第一数据表根据第二数据表而得到;根据匹配结果对第一数据表和第三数据表进行对应的同步操作,其中,第三数据表与第一数据表相一致,第三数据表存储于软件平台。根据本发明实施例提供的方案,由于第一数据表是根据第二数据表而制作的数据表,因此在获取到存储于数据库的第一数据表中包含第一关键信息的第一数据表项后,可以根据第一数据表项中的第一关键信息,在存储于存储器的第二数据表中进行匹配,并根据匹配结果,对第一数据表和存储于软件平台的第三数据表进行对应的同步处理操作。由于存储于数据库的第一数据表较之于存储于存储器的第二数据表具有更好的灵活性,因此,通过第一数据表使得第二数据表和存储于软件平台的第三数据表进行同步处理,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
14.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
15.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
16.图1是本发明一个实施例提供的用于执行数据表同步方法的系统架构的示意图;
17.图2是本发明一个实施例提供的数据表同步方法的流程图;
18.图3是本发明另一实施例提供的数据表同步方法中获取第一数据表项的具体步骤的流程图;
19.图4是本发明另一实施例提供的数据表同步方法中周期性获取第一数据表项的具体步骤的流程图;
20.图5是本发明另一实施例提供的数据表同步方法中对第一数据表和第三数据表进行同步操作的具体步骤的流程图;
21.图6是本发明另一实施例提供的数据表同步方法中对第一数据表和第三数据表进行同步操作的具体步骤的流程图;
22.图7是本发明另一实施例提供的数据表同步方法中对第一数据表和第三数据表进行第一处理操作的具体步骤的流程图;
23.图8是本发明另一实施例提供的数据表同步方法中对第一数据表和第三数据表进行第一处理操作的具体步骤的流程图;
24.图9是本发明另一实施例提供的数据表同步方法中限制表项数目的流程图;
25.图10是本发明另一实施例提供的数据表同步方法中对数据表进行第二处理操作的具体步骤的流程图;
26.图11是本发明另一实施例提供的数据表同步方法中对数据表进行第二处理操作的具体步骤的流程图;
27.图12是本发明一具体示例所提供的周期性进行mac地址表数据表同步检测及操作的流程图;
28.图13是本发明另一具体示例所提供的限制mac地址表数据表最大表项数的流程图;
29.图14是本发明另一具体示例所提供的mac地址表数据流量触发学习的流程图。
具体实施方式
30.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
31.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
32.本发明提供了一种数据表同步方法及其装置、数据交换设备、计算机可读存储介质,从数据库的第一数据表中获取第一数据表项,其中,第一数据表项中包含有第一关键信息,由于第一数据表是根据第二数据表制作的数据表,因此当获取得到第一数据表项,可以针对第一关键信息,在存储器中的第二数据表中进行匹配对比,从而得出匹配结果,并根据匹配结果不同,对第一数据表和第三数据表进行相应的同步操作,其中,第三数据表存储在软件平台中,第三数据表与第一数据表相一致。由于存储在数据库中的第一数据表较之于存储在存储器中的第二数据表具有更好的灵活性,因而通过第一数据表使得第二数据表和第三数据表进行同步处理,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
33.下面结合附图,对本发明实施例作进一步阐述。
34.如图1所示,图1是本发明一个实施例提供的用于执行数据表同步方法的系统架构的示意图。在图1的示例中,该系统架构100包括表项获取模块110、信息检测模块120、表项处理模块130和定时模块140。
35.该系统架构100可以应用于交换机、计算机、服务器等电子设备,这些电子设备可以通过该系统架构100中的表项获取模块110、信息检测模块120、表项处理模块130和定时模块140的相互配合,以实现数据表同步方法。
36.表项获取模块110用于获取数据表中的数据表项,例如,如果数据表存储于数据库、存储器或者软件平台中,那么表项获取模块110可以从数据库、存储器或者软件平台获取相应数据表中的数据表项,从而可以获取该数据表项中的关键信息。信息检测模块120用于对数据表中各个数据表项进行匹配比较,例如,信息检测模块120可以根据存储于数据库的数据表中相关数据表项的关键信息,在存储于存储器中的数据表进行匹配对比,在存储于存储器的数据表中查找含有与该关键信息相同的关键信息的数据表项。表项处理模块130用于对数据表中各个数据表项进行操作处理,例如,表项处理模块130可以对表项获取模块获取得到的数据表中各个数据表项进行删除操作,还可以对数据表中各个数据表项进行写入操作。定时模块140用于计算运行时间及设定时间间隔,例如,定时模块140可以计算
系统运行时间,当计算的系统运行时间达到设定时间,定时模块140发出触发信号,以触发表项获取模块110从数据库中获取相应数据表中的数据表项。
37.本发明实施例描述的系统架构以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
38.本领域技术人员可以理解的是,图1中示出的系统架构100的结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
39.基于上述系统架构的结构,提出本发明的数据表同步方法的各个实施例。
40.如图2所示,图2是本发明一个实施例提供的数据表同步方法的流程图,例如,该数据表同步方法可以应用于数据交换设备,该数据表同步方法包括但不限于有步骤s100、步骤s200和步骤s300。
41.步骤s100,获取来自第一数据表的第一数据表项,第一数据表存储于数据库,第一数据表项包括第一关键信息。
42.在一实施例中,由于第一数据表存储于数据库中,而数据库是属于软件层面的技术,因此,从数据库中获取第一数据表能够具有更优的处理速度;另外,由于对数据库的操作(例如新建数据表或备份数据表等操作)更具有灵活性,因此可以提高在后续步骤中利用第一数据表进行数据表同步的效率与成功率。
43.在一实施例中,第一数据表可以是学生成绩登记表,也可以是工作人员管理表,还可以是mac地址表,本实施例对此并不作具体限定。例如,当第一数据表是mac地址表,获取来自第一数据表的第一数据表项,具体可以为获取来自数据库的mac地址表中的第一mac地址表项,其中,第一mac地址表项可以包含有mac信息或者虚拟局域网(virtual local area network,vlan)信息,或者包括虚拟转发实例(virtual switching instance,vsi)信息,又或者包括mac信息与vlan信息。
44.在一实施例中,第一关键信息可以包含一个或两个以上的关键字,本实施例对此并不作具体限定。例如,第一数据表项中的第一关键信息可以是工人名字,可以是工号,还可以包括工人名字和工号;又如,第一数据表项中的第一关键信息可以是mac信息,可以是vlan信息,也可以包括mac信息和vlan信息。
45.在一实施例中,获取来自第一数据表的第一数据表项,可以是周期性获取,也可以是根据信号触发获取,本实施例对此并不作具体限定。例如,设定获取第一数据表项的时间间隔,每当系统运行时间达到设定的时间间隔,从数据库中获取一次第一数据表的第一数据表项;又如,当接收到获取第一数据表项的触发信号,响应于该触发信号,获取一次第一数据表的第一数据表项。
46.步骤s200,根据第一关键信息,在第二数据表进行匹配,得到匹配结果,其中,第二数据表存储于存储器,第一数据表根据第二数据表而得到。
47.在一实施例中,在获取得到第一数据表项后,以第一数据表项所携带的第一关键信息为索引,扫描存储于存储器中的第二数据表,在第二数据表中针对第一关键信息进行匹配,在第二数据表中查找包含有与第一关键信息相同的关键信息的数据表项,并据此得
到匹配结果。例如,当在第二数据表中查找不到包含有与第一关键信息相同的关键信息的数据表项,则匹配结果为失败;当在第二数据表中查找到包含有与第一关键信息相同的关键信息的数据表项,则匹配结果为成功。
48.值得注意的是,第一数据表是第二数据表的映射数据表,即,第一数据表以第二数据表为基础。
49.步骤s300,根据匹配结果对第一数据表和第三数据表进行对应的同步操作,其中,第三数据表与第一数据表相一致,第三数据表存储于软件平台。
50.在一实施例中,根据在第二数据表针对第一关键信息进行匹配得到的匹配结果,对第一数据表和第三数据表进行与匹配结果对应的处理操作,当匹配结果为成功,即在第二数据表中能够查找到与第一关键信息相同的关键信息的数据表项,由于第三数据表与第一数据表相一致,因此,对于当前数据表项,可以认为第一数据表、第二数据表和第三数据表已经同步,因此可以维持第一数据表的当前数据表项的内容和维持第三数据表的当前数据表项的内容。当匹配结果为不成功,即在第二数据表中查找不到与第一关键信息相同的关键信息的数据表项,因此,可以根据第二数据表对第一数据表的当前数据表项的内容进行更新同步,由于第三数据表与第一数据表相一致,所以,在根据第二数据表对第一数据表的当前数据表项的内容进行更新同步的同时,也会对第三数据表的当前数据表项的内容进行更新同步。
51.在一实施例中,通过采用包括有上述步骤s100、步骤s200和步骤s300的数据表同步方法,从数据库的第一数据表中获取包含有第一关键信息的第一数据表项,由于第一数据表是根据第二数据表制作的数据表,因此针对第一数据表项中的第一关键信息,在存储器的第二数据表中进行匹配对比,从而得出匹配结果,并根据匹配结果,对第一数据表和存储于软件平台的第三数据表进行对应的同步处理操作,由于第三数据表与第一数据表相一致,且存储在数据库的第一数据表较之于存储在存储器的第二数据表具有更好的灵活性,因而通过第一数据表使得第二数据表和存储在软件平台的第三数据表进行同步处理,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
52.另外,在一实施例中,参照图3,步骤s100中的获取来自第一数据表的第一数据表项,可以包括但不限于有以下步骤:
53.步骤s110,周期性获取来自第一数据表的第一数据表项。
54.在一实施例中,针对第一数据表的第一数据表项的获取可以是周期性的获取,可以通过设定获取第一数据表项的时间间隔,每当系统运行时间达到预设时间间隔,获取一次第一数据表中的第一数据表项,从而实现周期性获取第一数据表的第一数据表项,从而能够在后续步骤中可以周期性地进行第二数据表与第三数据表同步。
55.另外,在一实施例中,参照图4,步骤s110中的周期性获取来自第一数据表的第一数据表项,可以包括但不限于有以下步骤:
56.步骤s410,每间隔预设时间确定处理器的利用率,并根据利用率获取来自第一数据表的第一数据表项。
57.在一实施例中,可以根据处理器的利用率而获取来自第一数据表的第一数据表项。例如,可以设定一个预设时间,每间隔预设时间确定一次处理器的利用率,在当前时间
间隔下,如果处理器的当前利用率小于该利用率阈值,即说明处理器当前处于空闲状态,因此,能够在不影响其他进程的情况下,获取来自第一数据表的第一数据表项并利用该第一数据表项进行后续的同步处理。另外,如果处理器的当前利用率达到或者超过该利用率阈值,即说明处理器当前处于繁忙状态,如果此时获取来自第一数据表的第一数据表项并利用该第一数据表项进行后续的同步处理,则可能会影响其他程序业务的正常运行,因此不执行第一数据表项的获取操作。
58.另外,在一实施例中,参照图5,步骤s300中的根据匹配结果对第一数据表和第三数据表进行对应的同步操作,可以包括但不限于有以下步骤:
59.步骤s510,当匹配结果为失败,删除第一数据表中的第一数据表项和第三数据表中的第一数据表项。
60.在一实施例中,当匹配结果为失败,即在第二数据表中查找不到包含有与第一关键信息相同的关键信息的数据表项,而由于第一数据表和第三数据表是根据第二数据表而制作的数据表,即,第一数据表和第三数据表是以第二数据表为基础的,因此,可以根据第二数据表对第一数据表的当前数据表项的内容进行更新同步,即,删除第一数据表中的第一数据表项,而由于第三数据表与第一数据表相一致,所以,在删除第一数据表中的第一数据表项的同时,也会对第三数据表中的第一数据表项进行删除。
61.另外,在一实施例中,参照图6,步骤s300中的根据匹配结果对第一数据表和第三数据表进行对应的同步操作,还可以包括但不限于有以下步骤:
62.步骤s610,当匹配结果为成功,对第一数据表和第三数据表进行第一处理操作。
63.值得注意的是,本实施例中的步骤s610,与上述如图5所示实施例中的步骤s510互为并列的技术方案。
64.在一实施例中,当匹配结果为成功,即在第二数据表中查找到包含有与第一关键信息相同的关键信息的数据表项,而由于第一数据表和第三数据表是根据第二数据表而制作的数据表,即,第一数据表和第三数据表是以第二数据表为基础的,因此,可以根据第二数据表对第一数据表的当前数据表项的内容进行更新同步,即对第一数据表进行第一处理操作,而由于第三数据表与第一数据表相一致,所以,在对第一数据表进行第一处理操作的同时,也会对第三数据表中进行第一处理操作。
65.在一实施例中,第一处理操作是为了能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,而对数据表进行更新同步操作,第一处理操作可以包含多种方式,本实施例对此并不作具体限定。例如,第一处理操作可以是维持数据表的数据表项,也可以是删除数据表的数据表项;又如,第一处理操作可以是根据关键信息在数据表中进行匹配对比,得出对比结果,并根据对比结果对数据表进行更新同步操作。
66.另外,在一实施例中,参照图7,步骤s610中的对第一数据表和第三数据表进行第一处理操作,可以包括但不限于有以下步骤:
67.步骤s710,当第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息不一致,删除第一数据表中的第一数据表项和第三数据表中的第一数据表项。
68.在一实施例中,第一数据表、第二数据表和第三数据表都是mac地址表,并且第一数据表项包含有端口信息,当匹配结果为成功,即在第二数据表中查找到包含有与第一关
键信息相同的关键信息的数据表项的情况下,比较第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息。当第一数据表项在两个数据表中对应的端口信息不一致,因此,对于当前数据表项,可以认为第一数据表与第二数据表不同步,需要对第一数据表进行更新同步,即,删除第一数据表中的第一数据表项,由于第三数据表与第一数据表相一致,所以,在对第一数据表的第一数据表项进行删除的同时,也会对第三数据表的第一数据表项进行删除。
69.另外,在一实施例中,参照图8,步骤s610中的对第一数据表和第三数据表进行第一处理操作,可以包括但不限于有以下步骤:
70.步骤s810,当第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息相一致,维持第一数据表和第三数据表。
71.值得注意的是,本实施例中的步骤s810,与上述如图7所示实施例中的步骤s710互为并列的技术方案。
72.在一实施例中,第一数据表、第二数据表和第三数据表都是mac地址表,并且第一数据表项包含有端口信息,当匹配结果为成功,即在第二数据表中查找到包含有与第一关键信息相同的关键信息的数据表项的情况下,比较第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息。当第一数据表项在两个数据表中对应的端口信息一致,由于,第三数据表与第一数据表相一致,因此,对于当前数据表项,可以认为第一数据表、第二数据表和第三数据表已经同步,可以维持第一数据表的当前数据表项的内容和维持第三数据表的当前数据表项的内容。
73.另外,在一实施例中,参照图9,该数据表同步方法还可以包括但不限于有步骤s910、步骤s920和步骤s930。
74.步骤s910,获取限制记录阈值。
75.在一实施例中,获取用于限制数据表表项数目的限制记录阈值,其中,限制交换机记录数据表表项数目的限制记录阈值,可以从多个方面进行获取。例如,限制记录阈值可以通过平台下发后进行获取,也可以从机器设备预设的数据表容量数据进行获取。限制记录阈值可以是限定数据表在存储器中的全部表项数目,也可以限定相应表项在存储器中的数目,例如,当数据表为工作人员管理表,数据表项包括有以下关键信息:部门和性别,限制记录阈值可以是用于限制工作人员管理表中的所有表项数目,也可以是限制数据表项中含有性别为男性这一关键信息在工作人员管理表中的表项数目。通过限制数据表的数据表项记录阈值,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
76.步骤s920,获取第一数据表所记录的表项数目。
77.在一实施例中,在进行数据表项数目限制的过程中,当在第二数据表中查找到包含有与第一关键信息相同的关键信息的数据表项,且第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息相一致,则认为交换机中的软件表与硬件表同步,存储在软件数据库中的第一数据表比起存储在存储器中的第二数据表具有更好的灵活性,因此,通过对第一数据表进行处理,能够快速进行限制数目处理。根据限制记录阈值,从数据库中获取第一数据表,计算第一数据表中所记录的对应表项数目。其中,当数据表为mac地址表,还会对第一数据表中的数据表项信息进行判断,判断数据表项
中静态标志位是否为0,当第一数据表中含有为1的静态标志位的数据表项,即第一数据表中含有静态mac地址,则不对该第一数据表进行操作;当第一数据表中不含有为1的静态标志位的数据表项,即,当第一数据表中仅含有动态mac地址,对交换机学习记录mac地址数目进行限制。
78.在一实施例中,当数据表为mac地址表,可以基于端口、vlan或者基于设备进行数据表表项数目限制,对数据表的表项数目进行统计。当基于端口对mac地址进行限制,即限制一个端口中的mac地址,计算数据表中含有该端口信息的数据表项数目;当基于vlan对mac地址进行限制,即限制一个虚拟局域网中的mac地址,计算数据表中含有该vlan信息的数据表项数目;当基于设备对mac地址进行限制,即限制整个设备中存储的mac地址数目,计算当前设备中mac地址数目。
79.步骤s930,根据表项数目和限制记录阈值对第一数据表、第二数据表和第三数据表进行第二处理操作。
80.在一实施例中,获取限制记录阈值及第一数据表所记录的表项数目后,将限制记录阈值与表项数目进行比较,得到不同的比较结果。根据得到的不同结果,对存储于数据库的第一数据表、存储于存储器的第二数据表和存储于软件平台的第三数据表进行相应的第二处理操作。当在第二数据表中查找到包含有与第一关键信息相同的关键信息的数据表项,且第一数据表项在第一数据表中对应的端口信息和第一数据表项在第二数据表中对应的端口信息相一致,则认为交换机的软件数据表和硬件数据表同步,存储在软件数据库中的第一数据表比起存储在存储器中的第二数据表具有更好的灵活性,因此,通过对第一数据表使得第二数据表和第三数据表进行表项限制处理,能够快速限制交换机设备存储的表项数目,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
81.另外,在一实施例中,参照图10,步骤s930中的根据表项数目和限制记录阈值对第一数据表、第二数据表和第三数据表进行第二处理操作,可以包括但不限于有以下步骤:
82.步骤s101:当表项数目小于或等于限制记录阈值,维持第一数据表、第二数据表和第三数据表。
83.在一实施例中,对表项数目与限制记录阈值进行比较,得出比较结果,当表项数目小于或等于限制记录阈值,说明第一数据表的数据表项数目没有超过限制记录阈值,能够继续在第一数据表中进行记录保存,由于第一数据表是根据第二数据表制作的数据表,第三数据表与第一数据表相一致,因此,第一数据表和第三数据表是以第二数据表为基础的,所以,可以认为第一数据表、第二数据表和第三数据表中对应的数据表项数目没有超过限制记录阈值,能够继续进行记录保存,可以维持第一数据表、第二数据表和第三数据表。
84.在一实施例中,当表项数目小于或等于限制记录阈值,对第一数据表、第二数据表和第三数据表进行第二处理操作,第二处理操作还可以是维持第一数据表、第二数据表和第三数据表,并对第一数据表的最大表项数、第二数据表的最大表项数和第三数据表的最大表项数限制为限制记录阈值,能够限制第一数据表、第二数据表和第三数据表各自的表项最大数目,提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
85.另外,在一实施例中,参照图11,步骤s930中的根据表项数目和限制记录阈值对第
一数据表、第二数据表和第三数据表进行第二处理操作,可以包括但不限于有以下步骤:
86.步骤s111:当表项数目大于限制记录阈值,对第一数据表中的表项、第二数据表中的表项和第三数据表中的表项进行删除,并把第一数据表的最大表项数、第二数据表的最大表项数和第三数据表的最大表项数限制为限制记录阈值。
87.值得注意的是,本实施例中的步骤s111,与上述如图10所示实施例中的步骤s101互为并列的技术方案。
88.在一实施例中,对表项数目与限制记录阈值进行比较,得出比较结果,当表项数目大于限制记录阈值,说明第一数据表的表项数目超过限制记录阈值,需要对数据表进行限制操作,以使第一数据表的表项数目限制在不超过限制记录阈值的范围内。由于第一数据表是根据第二数据表制作的数据表,第三数据表与第一数据表相一致,因此,第一数据表和第三数据表是以第二数据表为基础的,所以,第一数据表的表项数目超出限制记录阈值,即第二数据表的表项数目、第三数据表的表项数目均超出限制记录阈值,需要对第一数据表的表项、第二数据表的表项和第三数据表的表项进行删除,并且将第一数据表的最大表项数、第二数据表的最大表项数和第三数据表的最大表项数限制为限制记录阈值,使得第一数据表、第二数据表和第三数据表在进行记录保存的过程中,第一数据表的表项数目、第二数据表的表项数目和第三数据表的表项数目不会超过限制记录阈值,能够提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
89.在一实施例中,数据表为mac地址表,表项数目为mac地址数目,限制记录阈值为最大学习数目,限制记录阈值用于限制一个端口的mac地址数目或者一个vlan的mac地址数目或者交换机设备存储的mac地址数目,计算数据库的mac地址表中对应端口的mac地址数目或者对应的vlan的mac地址数目或者当前交换机设备中的mac地址数目,对最大学习数目进行比较。当表项数目大于限制记录阈值,即,mac地址数目超过最大学习数目,将交换机设备中当前的mac地址表项全部删除,并把第一数据表的最大表项数、第二数据表的最大表项数和第三数据表的最大表项数限制为限制记录阈值,即,修改交换机中底层mac地址学习寄存器的最大值为限制记录阈值。因此,当存储于存储器的mac地址表中查找到包含有与第一关键信息相同的关键信息的数据表项,且mac地址表项在存储于数据库的mac地址表中对应的端口信息和mac地址表项在存储于存储器的mac地址表中对应的端口信息相一致,则认为交换机的软件mac地址表和硬件mac地址表同步,通过软件数据库中的mac地址表使得存储于存储器的mac地址表和存储于软件平台中的mac地址表进行表项限制操作,能够在限制交换机设备存储的mac地址数目的过程中实现快速收敛,提高交换机中的硬件表与软件平台中的软件表的同步成功率,从而能够降低交换机出现管理混乱的概率。
90.在一些实施例中,当将交换机设备中当前的mac地址表项全部删除后,会进行数据流量触发学习mac地址表项,将学习到的mac地址表项保存到硬件存储器的mac地址表中,并上报平台。在上报平台之前将该mac地址表项保存至软件mac地址缓存表中,上报平台后得到一个反馈,当上报反馈成功,将软件mac地址缓存表中的该mac地址表项删除,并将该mac地址表保存至数据库的mac地址表及软件平台的mac地址表;当上报反馈失败,利用软件mac地址缓存表中该mac地址表项的mac地址及vsi作为索引,将硬件存储器的mac地址表中该mac地址表项删除。因此,提高交换机中的硬件表与软件平台中的软件表的同步成功率。当mac地址表项数目再次超过最大学习数目,关闭mac地址底层学习,利用平台的最大学习数
目,反馈到软件mac地址缓存表,使得平台中记录新的mac地址失败,并将硬件存储器的mac地址表中对应的mac地址删除,无法触发该mac地址的学习,从而提高交换机中的硬件表与软件平台中的软件表的同步成功率,能够降低交换机出现管理混乱的概率。
91.为了更加清楚的说明上述各个实施例中网络切片连接方法的具体步骤流程,下面以具体的示例进行说明。
92.示例一:
93.如图12所示,图12是本发明一个具体示例所提供的周期性进行mac地址表数据表同步检测及操作的流程图,该流程可以由交换机执行,该流程具体为:
94.步骤s201,运行时间超过预设时间间隔;
95.步骤s202,确定处理器当前利用率;
96.判断c201,处理器当前利用率是否不超过设定阈值?若是,执行步骤s203;若否,执行步骤s206;
97.步骤s203,获取来自第一数据表的第一数据表项,第一数据表项中包含mac信息和虚拟局域网vlan信息;
98.步骤s204,以mac信息和虚拟局域网vlan信息为索引,扫描硬件中的第二数据表对应的mac地址表项;
99.判断c202,是否扫描到对应的mac地址表项?若是,执行判断c203;若否,执行步骤s205;
100.判断c203,该mac地址表项在第一数据表与第二数据表中的端口信息是否一致?若是,执行步骤s206;若否,执行步骤s205;
101.步骤205,删除第一数据表与第三数据表中对应的mac地址表项;
102.步骤206,本次同步流程结束。
103.示例二:
104.如图13所示,图13是本发明一个具体示例所提供的限制mac地址表数据表最大表项数的流程图,该流程可以由交换机执行,该流程具体为:
105.步骤s301,获取限制记录阈值;
106.步骤s302,获取数据库中的第一数据表;
107.判断c301,第一数据表的mac地址表项中所有静态标志位是否为0?若是,执行步骤s303;若否执行步骤s307;
108.步骤s303,计算第一数据表中的表项数目;
109.判断c302,表项数目是否超过限制记录阈值?若是,执行步骤s304;若否,执行步骤s306;
110.步骤s304,对第一数据表中的表项、第二数据表中的表项和第三数据表中的表项进行删除;
111.步骤s305,把第一数据表的最大表项数、第二数据表的最大表项数和第三数据表的最大表项数限制为限制记录阈值,执行步骤s307;
112.步骤s306,维持第一数据表、第二数据表和第三数据表;
113.步骤s307,本次同步流程结束。
114.示例三:
115.如图14所示,图14是本发明一个具体示例所提供的mac地址表数据流量触发学习的流程图,该流程可以由交换机执行,该流程具体为:
116.步骤s401,数据流量学习到的mac地址表项加入硬件第二数据表;
117.步骤s402,将该mac地址表项加入到软件缓存表中并上报平台;
118.步骤s403,将平台接收到的mac地址表项加入到软件第三数据表;
119.判断c401,该mac地址表项是否成功加入软件第三数据表?若是,执行步骤s404;若否,执行步骤s405;
120.步骤s404,将该mac地址表项加入数据库第一数据表,并删除软件缓存表中该mac地址表项,执行步骤s406;
121.步骤s405,利用缓存表中该mac地址表项将硬件第二数据表中该mac地址表项删除,删除软件缓存表中该mac地址表项;
122.步骤s406,本次同步流程结束。
123.另外,本发明的一个实施例还提供了一种数据表同步装置,该数据表同步装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
124.处理器和存储器可以通过总线或者其他方式连接。
125.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
126.需要说明的是,本实施例中的数据表同步装置,可以包括有如图1所示实施例中的系统架构,本实施例中的数据表同步装置和如图1所示实施例中的系统架构属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
127.实现上述实施例的数据表同步方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的数据表同步方法,例如,执行以上描述的图2中的方法步骤s100至s300、图3中的方法步骤s110、图4中的方法步骤s410、图5中的方法步骤s510、图6中的方法步骤s610、图7中的方法步骤s710、图8中的方法步骤s810、图9中的方法步骤s910至s930、图10中的方法步骤s101、图11中的方法步骤s111。
128.另外,本发明的一个实施例还提供了一种数据交换设备,该数据交换设备包括上述实施例的数据表同步装置。
129.由于本实施中的数据交换设备具有如上述实施例中的数据表同步装置,因此本实例中的数据交换设备具有上述实施例中数据表同步装置的硬件结构,并且能够使数据表同步装置中的处理器调用存储器中存储的数据表同步方法的程序,以实现对数据交换设备的数据表同步方法,本实施例的数据交换设备的具体实施方式可参照上述实施例,为避免冗余,在此不再赘述。
130.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
131.此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述数据表同步装置实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的网络切片连接方法,例如,执行以上描述的图2中的方法步骤s100至s300、图3中的方法步骤s110、图4中的方法步骤s410、图5中的方法步骤s510、图6中的方法步骤s610、图7中的方法步骤s710、图8中的方法步骤s810、图9中的方法步骤s910至s930、图10中的方法步骤s101、图11中的方法步骤s111。
132.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
133.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1