首页 / 专利库 / 家用器具 / 定时器 / 转发报文的处理方法及处理装置

转发报文的处理方法及处理装置

阅读:240发布:2023-02-06

专利汇可以提供转发报文的处理方法及处理装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了转发报文的处理方法,其一包括设备驱动 进程 组合批次报文,将存放批次报文的第一 缓冲器 组的信息与数据单元封装到IPC消息并发送给转发进程;其二包括转发进程对数据通信设备接收的进行处理并组合批次报文,将存放批次报文的第二缓冲器组的信息与数据单元封装到IPC消息并发送给设备驱动进程,设备驱动进程根据数据单元发送报文。还公开了转发报文的处理装置,其一为设备驱动单元包括设有 定时器 和/或计数器的第一批处理单元和相连接的第一IPC消息设置模 块 ;其二为转发单元包括设有定时器和/或计数器的第二批处理单元和相连接的第二IPC消息设置模块。本发明的处理方法和处理装置提高了报文转发效率,控制了报文转发时延。,下面是转发报文的处理方法及处理装置专利的具体信息内容。

1、一种转发报文的处理方法,其特征在于包括以下步骤:
步骤11、设备驱动进程依次对数据通信设备接收的报文进行计数和/或监 控数据通信设备接收报文的时间;
步骤12、达到预设的驱动计数限值或驱动计时门限值时,将已接收的 报文组合为一批次报文:
步骤13、设备驱动进程将存放该批次报文的第一缓冲器组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给转发进程。
2、根据权利要求1所述的处理方法,其特征在于还包括:设置接收报文 的驱动计数门限值和/或驱动计时门限值。
3、根据权利要求1所述的处理方法,其特征在于所述步骤12中,达到 预设的驱动计数门限值或驱动计时门限值时还包括:清零用于监控驱动计数 门限值的监控装置,以及复位用于监控驱动计时门限值的监控装置。
4、根据权利要求1所述的处理方法,其特征在于所述步骤13之后还包 括:所述转发进程根据接收到的IPC消息中的数据单元,向设备驱动进程回 送空缓冲器组信息,其中所述空缓冲器组与所述第一缓冲器组的缓冲器数目 相同。
5、根据权利要求1.4任一所述的处理方法,其特征在于所述步骤13之 后还包括:
步骤141、所述转发进程根据接收到的IPC消息中的数据单元,依次对 所述报文进行处理,并进行计数和/或监控对报文进行处理的时间;
步骤142、达到预设的转发计数门限值或转发计时门限值时,将已处理 的报文组合为一批次报文:
步骤143、所述转发进程将存放该批次报文的第二缓冲器组的地址和该 批次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于 记录该批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤144、所述设备驱动进程根据所述IPC消息中的数据单元,依次发 送所述第二缓冲器组中的报文。
6、根据权利要求5所述的处理方法,其特征在于所述步骤144还包括: 所述设备驱动进程向所述转发进程回送空缓冲器组信息,其中所述空缓冲器 组与所述第二缓冲器组的缓冲器数目相同。
7、一种转发报文的处理方法,其特征在于包括以下步骤:
步骤21、转发进程依次对数据通信设备接收的报文进行处理,并进行计 数和/或监控对报文进行处理的时间;
步骤22、达到预设的转发计数门限值或转发计时门限值时,将已处理的 报文组合为一批次报文;
步骤23、转发进程将存放该批次报文的第二缓冲器组的地址和该批次报 文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记录该 批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤24、所述设备驱动进程根据所述IPC消息中的数据单元,依次发送 所述第二缓冲器组中的报文。
8、根据权利要求7所述的处理方法,其特征在于还包括:设置接收报文 的转发计数门限值和/或转发计时门限值。
9、根据权利要求7所述的处理方法,其特征在于所述步骤22中,达到 预设的转发计数门限值或转发计时门限值时还包括:清零用于监控转发计数 门限值的监控装置,以及复位用于监控转发计时门限值的监控装置。
10、根据权利要求7所述的处理方法,其特征在于所述步骤24之后还包 括所述设备驱动进程根据接收到的IPC消息中的数据单元,向所述转发进程 回送空缓冲器组信息,其中所述空缓冲器组与所述第二缓冲器组的缓冲器数 目相同。
11、根据权利要求8-10任一所述的处理方法,其特征在于所述步骤21 之前还包括:
步骤201、设备驱动进程依次对数据通信设备接收的报文进行计数和/或 监控数据通信设备接收报文的时间;
步骤202、达到预设的驱动计数门限值或驱动计时门限值时,将已接收 的报文组合为一批次报文;
步骤203、设备驱动进程将存放该批次报文的第一缓冲器组的地址和该 批次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于 记录该批次报文数目的数据单元后,将所述IPC消息发送给转发进程。
12、根据权利要求11所述的处理方法,其特征在于步骤21还包括所述 转发进程根据接收到的IPC消息中的数据单元,向设备驱动进程回送空缓冲 器组信息,其中所述空缓冲器组与所述第一缓冲器组的缓冲器数目相同。
13、一种转发报文的处理装置,包括交互通信的设备驱动单元和转发单 元;其特征在于:
所述设备驱动单元包括设有定时器和/或计数器的第一批处理单元,用于 根据预设的驱动计数门限值和/或驱动计时门限值,将数据通信设备接收到的 报文组合为批次报文,并将存放每批次报文的第一缓冲器组的地址和该批次 报文的长度信息封装到IPC消息中;
还包括与所述第一批处理单元连接的第一IPC消息设置单元,用于在IPC 消息中设置记录该批次报文数目的数据单元,将所述IPC消息发送给所述转 发单元。
14、根据权利要求13所述的处理装置,其特征在于所述设备驱动单元还 包括驱动条件设置单元,所述驱动条件设置单元与第一批处理单元连接,用 于进行驱动计数门限值和/或驱动计时门限值的设置。
15、根据权利要求13所述的处理装置,其特征在于所述定时器中具有可 置位的定时器启动标志。
16、根据权利要求13-15任一所述的处理装置,其特征在于:
所述转发单元包括设有定时器和/或计数器的第二批处理单元,用于根据 预设转发计数门限值和/或转发计时门限值,将待处理的报文组合为批次报 文,并将存放每批次报文的第二缓冲器组的地址和该批次报文的长度信息封 装到IPC消息中;
还包括与所述第二批处理单元连接的第二IPC消息设置单元,用于在IPC 消息中设置记录该批次报文数目的数据单元。
17、根据权利要求16所述的处理装置,其特征在于所述转发单元还包括 转发条件设置单元,所述转发条件设置单元与第二批处理单元连接,用于进 行转发计数门限值和/或转发计时门限值的设置。
18、一种转发报文的处理装置,包括交互通信的设备驱动单元和转发单 元;其特征在于:
所述转发单元包括设有定时器和/或计数器的第二批处理单元,用于根据 预设转发计数门限值和/或转发计时门限值,将待处理的报文组合为批次报 文,并将存放每批次报文的第二缓冲器组的地址和该批次报文的长度信息封 装到IPC消息中;
还包括与所述第二批处理单元连接的第二IPC消息设置单元,用于在IPC 消息中设置记录该批次报文数目的数据单元,将所述IPC消息发送给所述设 备驱动单元。
19、根据权利要求18所述的处理装置,其特征在于所述转发单元还包括 转发条件设置单元,所述转发条件设置单元与第二批处理单元连接,用于进 行转发计数门限值和/或转发计时门限值的设置。
20、根据权利要求18所述的处理装置,其特征在于所述定时器中具有可 置位的定时器启动标志。
21、根据权利要求19-20任一所述的处理装置,其特征在于:
所述设备驱动单元包括设有定时器和/或计数器的第一批处理单元,用于 根据预设的驱动计数门限值和/或驱动计时门限值,将数据通信设备接收到的 报文组合为批次报文,并将存放每批次报文的第一缓冲器组的地址和该批次 报文的长度信息封装到IPC消息中;
还包括与所述第一批处理单元连接的第一IPC消息设置单元,用于在IPC 消息中设置记录该批次报文数目的数据单元。
22、根据权利要求21所述的处理装置,其特征在于所述设备驱动单元还 包括驱动条件设置单元,所述驱动条件设置单元与第一批处理单元连接,用 于进行驱动计数门限值和/或驱动计时门限值的设置。

说明书全文

技术领域

发明涉及通信技术领域,特别是在数据通信设备中,通过在一个进程 间通信(Inter-Process Communication,简称IPC)消息中同时携带多个报文的信 息并进行处理,从而实现报文高效转发的方法及模

背景技术

对于数据通信设备,比如路由器、交换机等,其设备驱动程序与硬件相 关,需要对设备寄存器进行读写操作,造成了数据通信设备软件系统的不稳 定。基于目前多进程多线程技术的广泛应用,由于其采用内存管理单元 (Memory Management unit,简称MMU)对内存进行分页映射,各进程有相 互独立的虚拟地址空间,能够提高系统的稳定性和可靠性,因此在数据通信 设备中把设备驱动程序与操作系统内核以及其它上层软件分离,作为一个单 独的设备驱动进程,能够显著提高上层软件的稳定性与可靠性。
分离后,设备驱动进程负责管理数据链路层设备及物理层设备,对报文 进行接收和发送,另有一上层转发进程负责报文的处理。具体的,由设备驱 动进程分配并管理直接存储器存取(Direct Memory Access,简称DMA)的 报文描述符(Buffer Descriptor,简称BD),通过接收BD记录DMA已接收 的报文信息,通过发送BD记录DMA要发送的报文信息,并通过DMA实现 以太网口等外设对存储器的直接访问,无须经过CPu的干预;转发进程分配 并管理一定数目且大小固定的、用于存储报文的内存缓冲器(buffer),这些 buffer的物理地址连续。当设备驱动进程初始化的时候,转发进程将报文buffer 的起始物理地址发送到设备驱动进程,挂载到接收BD上即由接收BD记录 该buffer的起始物理地址,从而指示该buffer存放被接收的报文,以备进一 步的处理发送。上述数据通信设备的系统结构的示意图如图1所示。
在实际的报文转发过程中,设备驱动进程和转发进程之间通过操作系统 提供的IPC进行数据交换来实现通信。其中,IPC的方式有多种,在数据通 信设备中设备驱动进程与转发进程之间主要采用同步消息传递,即通过从一 个进程的地址空间到另一个进程的地址空间的数据拷贝来实现消息传递:发 送端进程首先发送一个消息,然后挂起;接收端进程收到消息后对发送端进 程回送一个应答消息,发送端进程收到应答消息后解除挂起继续运行。
现有技术中,每有一个报文到达数据通信设备,DMA就把报文传送并 保存到接收BD上挂载的某一个报文buffer A中并向设备驱动进程发送中断 指令,接收BD记录这个buffer A的信息,然后执行下述步骤:设备驱动进 程收到中断后,读取接收BD中的内容,提取出该buffer A的起始地址和报 文长度等信息,并放入一个IPC发送(Send)消息中,发往转发进程;转发 进程向设备驱动进程回送一个IPC应答(Reply)消息,其中包括空的报文 buffer B的地址,用于挂载到接收BD上以继续接收报文,同时根据IPC发送 消息中的起始地址和报文长度信息,对buffer A中的报文进行处理,比如替 换报文头的物理地址等;转发进程在对报文处理完成后,将处理后报文所在 buffer A的物理地址和长度信息放在一个IPC发送(Send)消息中发往设备 驱动进程;设备驱动进程从该IPC消息中提取buffer A的物理地址和长度信 息挂载到发送BD上,指令发送BD发送buffer A中的报文,并把发送BD上 原来挂载的空报文buffer C的地址和长度信息通过一个IPC应答(Reply)消 息回送给转发进程。上述报文处理的流程示意图如图2所示。
在上述技术方案中,虽然设备驱动进程和转发进程的分离能够提高系统 的可靠性与稳定性,但由于数据通信设备每实现一个报文的转发,都要通过 驱动进程与转发进程之间的4次IPC消息的数据拷贝,包括两次发送和两次 应答,导致了数据通信设备进行报文转发的效率低下。

发明内容

本发明的目的是为了克服现有技术中数据通信设备转发报文时效率低下 的缺陷,提供转发报文的处理方法及处理装置,在保持设备驱动进程和转发 进程分离架构以及维持IPC消息传递方式的前提下,提高报文处理的效率, 从而提高报文转发的效率。
为实现上述目的,本发明提供了一种转发报文的处理方法,包括以下步 骤:
步骤11、设备驱动进程依次对数据通信设备接收的报文进行计数和/或监 控数据通信设备接收报文的时间;
步骤12、达到预设的驱动计数限值或驱动计时门限值时,将已接收的 报文组合为一批次报文;
步骤13、设备驱动进程将存放该批次报文的第一buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给转发进程。
为了平衡报文转发的速率和时延,较佳的技术方案是还包括:设置接收 报文的驱动计数门限值和/或驱动计时门限值。进一步的,所述步骤12中, 达到预设的驱动计数门限值或驱动计时门限值时还包括:清零用于监控驱动 计数门限值的监控装置,以及复位用于监控驱动计时门限值的监控装置。
为了保证数据通信设备接收和处理用的buffer数量,更佳的技术方案是 所述步骤13之后还包括:所述转发进程根据接收到的IPC消息中的数据单元, 向设备驱动进程回送空buffer组信息,其中所述空buffer组与所述第一buffer 组的buffer数目才相同。
为进一步提高转发效率,所述步骤13之后还包括:
步骤141、所述转发进程根据接收到的IPC消息中的数据单元,依次对 所述报文进行处理,并进行计数和/或监控对报文进行处理的时间:
步骤142、达到预设的转发计数门限值或转发计时门限值时,将已处理 的报文组合为一批次报文;
步骤143、所述转发进程将存放该批次报文的第二buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤144、所述设备驱动进程根据所述IPC消息中的数据单元,依次发 送所述第二buffer组中的报文。
所述步骤144还包括:所述设备驱动进程向所述转发进程回送空buffer 组信息,其中所述空buffer组与所述第二buffer组的buffer数目相同。
本发明还提供了一种转发报文的处理方法,包括以下步骤:
步骤21、转发进程依次对数据通信设备接收的报文进行处理,并进行计 数和/或监控对报文进行处理的时间;
步骤22、达到预设的转发计数门限值或转发计时门限值时,将已处理的 报文组合为一批次报文;
步骤23、转发进程将存放该批次报文的第二buffer组的地址和该批次报 文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记录该 批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤24、所述设备驱动进程根据所述IPC消息中的数据单元,依次发送 所述第二buffer组中的报文。
为了平衡报文转发的速率和时延,较佳的技术方案是还包括:设置接收 报文的转发计数门限值和/或转发计时门限值。进一步的,所述步骤22中, 达到预设的转发计数门限值或转发计时门限值时还包括:清零用于监控转发 计数门限值的监控装置,以及复位用于监控转发计时门限值的监控装置。
为了保证数据通信设备接收和处理用的buffer数量,更佳的技术方案是 步骤24之后还包括所述设备驱动进程根据接收到的IPC消息中的数据单元, 向所述转发进程回送空buffer组信息,其中所述空buffer组与所述第二buffer 组的buffer数目相同。
为进一步提高转发效率,所述步骤21之前还包括:
步骤201、设备驱动进程依次对数据通信设备接收的报文进行计数和/或 监控数据通信设备接收报文的时间;
步骤202、达到预设的驱动计数门限值或驱动计时门限值时,将已接收 的报文组合为一批次报文:
步骤203、设备驱动进程将存放该批次报文的第一buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给转发进程。
则步骤21还可包括所述转发进程根据接收到的IPC消息中的数据单元, 向设备驱动进程回送空buffer组信息,其中所述空buffer组与所述第一buffer 组的buffer数目相同。
本发明还提供了一种转发报文的处理装置,包括交互通信的设备驱动单 元和转发单元;所述设备驱动单元包括设有定时器和/或计数器的第一批处 理单元,用于根据预设的驱动计数门限值和/或驱动计时门限值,将数据通 信设备接收到的报文组合为批次报文,并将存放每批次报文的第一buffer组 的地址和该批次报文的长度信息封装到IPC消息中;还包括与所述第一批处 理单元连接的第一IPC消息设置单元,用于在IPC消息中设置记录该批次报 文数目的数据单元,将所述IPC消息发送给所述转发单元。
为了平衡报文转发的速率和时延,较佳的技术方案所述设备驱动单元还 包括驱动条件设置单元,所述驱动条件设置单元与第一批处理单元连接,用 于进行驱动计数门限值和/或驱动计时门限值的设置。为进一步提高转发效 率,更佳的技术方案是所述转发单元包括设有定时器和/或计数器的第二批处 理单元,用于根据预设转发计数门限值和/或转发计时门限值,将待处理的报 文组合为批次报文,并将存放每批次报文的第二buffer组的地址和该批次报 文的长度信息封装到IPC消息中;还包括与所述第二批处理单元连接的第二 IPC消息设置单元,用于在IPC消息中设置记录该批次报文数目的数据单元。
所述转发单元还可包括转发条件设置单元,所述转发条件设置单元与第 二批处理单元连接,用于进行转发计数门限值和/或转发计时门限值的设置。
本发明还提供了一种转发报文的处理装置,包括交互通信的设备驱动单 元和转发单元;所述转发单元包括设有定时器和/或计数器的第二批处理单 元,用于根据预设转发计数门限值和/或转发计时门限值,将待处理的报文组 合为批次报文,并将存放每批次报文的第二buffer组的地址和该批次报文的 长度信息封装到IPC消息中;还包括与所述第二批处理单元连接的第二IPC 消息设置单元,用于在IPc消息中设置记录该批次报文数目的数据单元,将 所述IPC消息发送给所述设备驱动单元。
为了平衡报文转发的速率和时延,较佳的技术方案所述转发单元还包括 转发条件设置单元,所述转发条件设置单元与第二批处理单元连接,用于进 行转发计数门限值和/或转发计时门限值的设置。
为进一步提高转发效率,更佳的技术方案是所述设备驱动单元包括设有 定时器和/或计数器的第一批处理单元,用于根据预设的驱动计数门限值和/ 或驱动计时门限值,将数据通信设备接收到的报文组合为批次报文,并将存 放每批次报文的第一buffer组的地址和该批次报文的长度信息封装到IPC消 息中;还包括与所述第一批处理单元连接的第一IPC消息设置单元,用于在 IPC消息中设置记录该批次报文数目的数据单元。
所述设备驱动单元还可包括驱动条件设置单元,所述驱动条件设置单元 与第一批处理单元连接,用于进行驱动计数门限值和/或驱动计时门限值的设 置。
由上述技术方案可知,本发明通过数据单元标识报文数目,采用设备驱 动进程和转发进程间IPC消息中报文消息的合并,具有以下有益效果:
1、提高了数据通信设备报文转发的效率;
2、控制了数据通信设备报文转发的时延。
下面通过附图实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为现有技术中数据通信设备的系统结构图;
图2为现有技术中数据通信设备进行报文处理的流程示意图;
图3为本发明所提供的一种转发报文的处理方法的基本流程图
图4为图3所示处理方法的一个较佳实施例的流程图;
图5为进程间4次数据拷贝的流程示意图;
图6为图3所示处理方法的一个具体实施例的流程图;
图7为本发明所提供的另一种转发报文的处理方法的基本流程图;
图8为本发明所提供的转发报文的一种处理装置的模块结构图;
图9为图7所示处理装置的一个较佳实施例的模块结构图;
图10为本发明所提供的转发报文的另一种处理装置的模块结构图。

具体实施方式

为了克服现有技术中数据通信设备转发报文效率低下的问题,本发明通 过设备驱动进程和转发进程之间的IPC携带报文合并机制,提供了一种转发 报文的处理方法和转发报文的处理装置,该转发报文的处理方法及处理装置 能够应用于数据通信设备,包括路由器、交换机以及网关设备等,但不限于 上述数据通信设备。
参见图3,为本发明所提供的一种转发报文的处理方法的流程图,包括 以下步骤:
步骤11、设备驱动进程依次对数据通信设备接收的报文进行计数和/或监 控数据通信设备接收报文的时间;其中,报文按照接收顺序依次存放于相应 数目的buffer中,即每一个报文存放在一个buffer中,该buffer的物理地址 是连续的;
步骤12、达到预设的驱动计数门限值或驱动计时门限值时,将已接收的 报文组合为一批次报文;
步骤13、设备驱动进程将存放该批次报文的第一buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,即在一个IPC消息中携带多个报文 存放的信息,并在所述IPC消息中设置一用于记录该批次报文数目的数据单 元后,将所述IPC消息发送给转发进程。
具体的,所述步骤11及步骤12根据驱动计数门限值对数据通信设备接 收到的报文计数并组合为批次报文具体为:所述设备驱动进程依次对数据通 信设备接收到的报文进行计数,达到预设的驱动计数门限值时,将已计数的 报文设置为一批次报文;即,设备驱动进程在数据通信设备每接收一个报文 时,计数加1,当接收到的报文数达到某个预设的门限值,则提取存放该批 报文的第一buffer组的地址和长度信息并封装进入一IPC消息中,计数器清 零用于重新处理计数。
根据驱动计时门限值对数据通信设备接收到的报文计数并组合为批次报 文具体为:当所述设备驱动进程在接收第一个报文时,启动定时器并置位定 时器启动标志,所述置位后的启动标志用于拒绝接收后续报文时对定时器的 启动请求;达到预设驱动计时门限值时,已记录的报文设置为一批次报文; 即设备驱动进程在定时器复位后,当数据通信设备接收第一个报文时,启动 定时器,同时置位定时器启动标志,该标志置位后继续接受后续报文不再启 动新的定时器。当定时器达到一定的时间超时时,提取存放该批报文的第一 buffer组的地址和长度信息并封装进入一IPC消息中,定时器清零以及定时 器启动标志复位用于进行重新处理计时。
对比每一个报文占据一个线程,等待4次数据拷贝后才能解除线程挂起, 将报文转发出去然后释放该线程资源的现有技术,本发明所提供的方法中设 备驱动进程或者说设备驱动进程中的某一个线程是对一批报文进行处理,能 够显著提高报文处理的速率。这是因为过多的挂起线程将导致系统资源的无 益消耗和系统拥塞,为了保证系统的平稳运行,多线程的数目必须限制在合 理的范围内,这就导致了现有技术中,存在大量的报文等待在先报文的转发 完成后,才能获得处理的情况,因此导致了报文处理的迟滞和时延,严重降 低了报文处理的效率。在上述技术方案中,由于每一个线程都组合发送批次 报文,因此,在后的报文能够更快的进入转发进程的处理程序。同时,通过 在IPC消息中增加一个数据单元来记录报文的负载数目,保证了接收到IPC 消息的转发进程能够根据该数据单元,正确识别需处理的报文数。
但是,组合批次报文的情况下,由于在先接收的报文需要满足一定的条 件,比如等待足够数量的后继报文或者达到一定的等待时间,才进行统一处 理;因此,对于仅有少量报文的情况,有可能产生时延。为了克服这一问题, 同时实现对大量报文转发的速率的调整和少量报文转发的时延的控制,还包 括:设置接收报文的驱动计数门限值和/或驱动计时门限值。
驱动计数门限值和/或驱动计时门限值可由管理员进行设置,也可由用户 自行设置,以便配合报文数量获取最迅速的报文转发效果。如果管理员和用 户不进行设置,则本技术方案使用出厂默认值进行报文的转发处理。
当达到驱动计数门限值或驱动计时门限值时,如果仅将达到对应门限值 的监控设备清零或者复位,而对应其它门限值的监控设备继续监控,则容易 导致监控的混乱,也不利于进行全局监控参数的设置,因此,步骤12中,达 到预设的驱动计数门限值或驱动计时门限值时还包括:清零用于监控驱动计 数门限值的监控装置,以及复位用于监控驱动计时门限值的监控装置,以利 于准确和有效的控制报文转发的速率和时延,复位后的线程进入下一批报文 的统计;即达到预设的驱动计数门限值或驱动计时门限值时,设备驱动进程 都执行提取存放该批报文的第一buffer组的地址和长度信息并封装进入一 IPC消息的操作,同时计数器清零,定时器清零以及定时器启动标志复位用 于进行后续处理。
作为监控设备,定时器/计数器是某一个线程的定时器/计数器,在设备驱 动进程多线程的情况下,每一个线程都对应一定时器和/或计数器。
为了保证数据通信设备用于接收的buffer数量,所述步骤13之后还包括: 所述转发进程根据接收到的IPC消息中的数据单元,向设备驱动进程回送空 buffer组信息,其中所述空buffer组与所述第一buffer组的buffer数目相同。 这样,设备驱动进程将空buffer组挂载到接收BD上,以备继续接收。或者, 本领域技术人员也可按照所知的任一方式,设置其它进程进行空buffer组的 补充,从而保证数据通信设备用于接收的buffer数量。
参见图4,为上述技术方案的一个较佳实施例:相比于各个线程只处理 一个报文时,大量报文的迟滞造成的效率降低,在本实施例中通过转发进程 组合发送批次报文,能够进一步提高转发报文的效率。具体为在步骤13之后 包括以下步骤:
步骤141、所述转发进程根据接收到的IPC消息中的数据单元,依次对 所述报文进行处理,并进行计数和/或监控对报文进行处理的时间;
步骤142、达到预设的转发计数门限值或转发计时门限值时,将已处理 的报文组合为一批次报文;
步骤143、所述转发进程将存放该批次报文的第二buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤144、所述设备驱动进程根据所述IPC消息中的数据单元,将所述 第二buffer组中的报文挂载到发送BD上发送出去,完成报文的转发。
在本实施例中,转发进程是对经过设备驱动进程批处理后的报文进行处 理,因此,如果仅对于设备驱动进程批处理后的某一批次报文来说,第二buffer 组为该批次报文所对应第一buffer组的全部或者部分。由于设备驱动进程与 转发进程分别独立计数/计时,因此,对于设备驱动进程批处理后的多批次报 文来说,第二buffer组可能与第一buffer组的分组情况相同,但更可能的情 况为,第二buffer组是第一buffer组中buffer的重新分组组合。
为了保证转发进程处理报文的buffer数目,步骤144还包括:所述设备 驱动进程向所述转发进程回送空buffer组信息,其中所述空buffer组与所述 第二buffer组的缓冲器数目相同,或者,本领域技术人员也可按照所知的任 一方式,设置其它进程进行空buffer组的补充,从而保证转发进程用于处理 的buffer数量。
因此,本发明的最佳实施例为设备驱动进程和转发进程2次批处理报文 组,进过数据的四次拷贝之后被发送出去,实现数据通信设备对报文的成功 转发,如图5所示。在一个线程的极端情况下,进入存储区的报文,如果未 能作为设备驱动进程的第一批次报文,那么则需要等待第一批次报文的4次 拷贝完成后,继续得到处理;假设该批次报文数目为N,进城间拷贝数据耗 时为t,处理每一报文的时间为T,则需耗时4*t+N*T;相比于单个报文处理 的时间(4*t+T)*N,其效率显然大大提高。在设备驱动进程和转发进程都是 多线程工作的情况下,对于路由器/交换机等进行大量报文转发的情况,更可 以显著提高转发效率。
对于少量报文的情况,则通过设置驱动计数门限值和/或驱动计时门限值 以及转发计数门限值和/或转发计时门限值来实现对时延的控制。
参见图6,为本发明所提供转发报文的处理方法的一个具体实施例的流 程图,包括以下步骤:
步骤101、设置驱动计数门限值M和驱动计时门限值T1,设置转发计数 门限值N和转发计时门限值T2;
步骤102、设备驱动进程在数据通信设备接收第一个报文时,启动定时 器C1,并置位定时器启动标志;
步骤103、数据通信设备接收一个报文,计数器D1加1;
步骤104、判断已接收报文数是否达到M,是则执行步骤106,否则执行 步骤105;
步骤105、判断是否达到驱动计时门限值T1,是则执行步骤106,否则 执行步骤103;
步骤106、清零定时器C1,复位定时器启动标志,清零计数器D1;同时 设备驱动进程将已接收的报文组合为一批次报文;
步骤107、设备驱动进程将存放该批次报文的第一buffer组的地址和该批 次报文的长度信息封装到一IPC消息,并在所述IPC消息中设置一用于记录 该批次报文数目的数据单元后,将所述IPC消息发送给转发进程;
步骤108、转发进程根据接收到的IPC消息中的数据单元,回送同等数 目的空buffer组信息给设备驱动进程;
步骤109、转发进程开始处理第一个报文时,启动定时器C2,并置位定 时器启动标志;
步骤110、转发进程处理一个报文,计数器D2加1;
步骤111、判断已处理报文数是否达到N,是则执行步骤113,否则执行 步骤112;
步骤112、判断是否达到转发计时门限值T2,是则执行步骤113,否则 执行步骤110;
步骤113、清零定时器C2,复位定时器启动标志,清零计数器D2;同时 转发进程将已接收的报文组合为一批次报文;
步骤114、转发进程将存放该批次报文的第二buffer组的地址和该批次报 文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记录该 批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤115、设备驱动进程根据接收到的IPC消息中的数据单元,回送同 等数目的空buffer信息给转发进程;
步骤116、设备驱动进程根据所述IPC消息中的数据单元,将所述第二 buffer组中的报文挂载在BD上发送给目标终端。
参见图7,为本发明所提供的另一转发报文的处理方法的流程图,包括 以下步骤:
步骤21、转发进程依次对数据通信设备接收的报文进行处理,并进行计 数和/或监控对报文进行处理的时间;
步骤22、达到预设的转发计数门限值或转发计时门限值时,将已处理的 报文组合为一批次报文;
步骤23、转发进程将存放该批次报文的第二buffer组的地址和该批次报 文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记录该 批次报文数目的数据单元后,将所述IPC消息发送给设备驱动进程;
步骤24、所述设备驱动进程根据所述IPC消息中的数据单元,依次发送 所述第二buffer组中的报文。
其中,步骤21中转发进程可以对数据通信设备单个接收的报文进行批处 理,也可以对数据通信设备批处理接收的报文进行依次处理。具体的,步骤 21中对每一个报文的处理可以包括更换新的报文头,比如将此前IP报头的数 据链路层地址(MAC地址)进行替换,原有的MAC地址为到数据通信设备 的地址,处理后为到目的终端的地址。
所述步骤21和22中根据转发计数门限值对待处理的报文计数并组合为 批次报文具体为:所述转发进程依次处理报文并进行计数,达到预设转发计 数门限值时,将处理后的已计数报文设置为一批次报文,计数器清零用于后 续的处理计数。
根据转发计时门限值对待处理的报文计数并组合为批次报文具体为:当 所述转发进程在处理第一个报文时,启动定时器并置位定时器启动标志,然 后依次处理报文,所述置位后的启动标志用于拒绝处理后续报文时对定时器 的启动请求;达到转发计时门限值时,将处理后的已记录报文设置为一批次 报文,定时器清零以及定时器启动标志复位用于后续处理计时。
对比每一个报文占据一个线程,本发明所提供的方法中转发进程或者说 转发进程中的某一个线程是对一批报文进行处理,能够显著提高报文处理的 速率。这是因为过多的挂起线程将导致系统资源的无益消耗和系统拥塞,为 了保证系统的平稳运行,多线程的数目必须限制在合理的范围内,这就导致 了现有技术中,存在大量的报文等待在先报文的处理完成后,才能获得处理 的情况,因此导致了报文处理的迟滞和时延,严重降低了报文处理的效率。 在上述技术方案中,由于每一个线程都组合发送批次报文,因此,在后的报 文能够更快的被处理并得到发送。同时,通过在IPC消息中增加一个数据单 元来记录报文的负载数目,保证了接收到IPC消息的设备驱动进程能够根据 该数据单元,正确识别需处理的报文数。
但是,组合批次报文的情况下,由于在先接收的报文需要满足一定的条 件,比如等待足够数量的后继报文或者达到一定的等待时间,才进行统一处 理;因此,对于仅有少量报文的情况,有可能产生时延。为了克服这一问题, 同时实现对大量报文转发的速率的调整和少量报文转发的时延的控制,还包 括:设置接收报文的转发计数门限值和/或转发计时门限值。
转发计数门限值和/或转发计时门限值可由管理员进行设置,也可由用户 自行设置,以便配合报文数量获取最迅速的报文转发效果。如果管理员和用 户不进行设置,则本技术方案使用出厂默认值进行报文的转发处理。
当达到转发计数门限值或转发计时门限值时,如果仅将达到对应门限值 的监控设备清零或者复位,而对应其它门限值的监控设备继续监控,则容易 导致监控的混乱,也不利于进行全局监控参数的设置,因此,步骤22中,达 到预设的转发计数门限值或转发计时门限值时还包括:清零用于监控转发计 数门限值的监控装置,以及复位用于监控转发计时门限值的监控装置,以利 于准确和有效的控制报文转发的速率和时延,复位后的线程进入下一批报文 的统计;即达到预设的转发计数门限值或转发计时门限值时,驱动进程都执 行提取存放该批报文的第二buffer组的地址和长度信息并封装进入一IPC消 息的操作,同时计数器清零,定时器清零以及定时器启动标志复位用于进行 后续处理。
作为监控设备,定时器/计数器是某一个线程的定时器/计数器,在转发进 程多线程的情况下,每一个线程都对应一定时器和/或计数器。
为了保证驱动进程处理用的buffer数量,更佳的技术方案是步骤24之后 还包括所述设备驱动进程根据接收到的IPC消息中的数据单元,向所述转发 进程回送空buffer组信息,其中所述空buffer组与所述第二buffer组的buffer 数目相同,或者,本领域技术人员也可按照所知的任一方式,设置其它进程 进行空buffer组的补充,从而保证转发进程用于处理的buffer数量。
为进一步提高转发效率,本方法的一个较佳实施例是:在本实施例中通 过设备驱动进程组合发送批次报文,进一步提高转发报文的效率,具体为在 所述步骤21之前还包括:
步骤201、设备驱动进程依次对数据通信设备接收的报文进行计数和/或 监控数据通信设备接收报文的时间;
步骤202、达到预设的驱动计数门限值或驱动计时门限值时,将已接收 的报文组合为一批次报文;
步骤203、设备驱动进程将存放该批次报文的第一buffer组的地址和该批 次报文的长度信息封装到一IPC消息中,并在所述IPC消息中设置一用于记 录该批次报文数目的数据单元后,将所述IPC消息发送给转发进程。
则对应设备驱动进程的批处理方案,步骤21还可包括所述转发进程根据 接收到的IPC消息中的数据单元,向设备驱动进程回送空buffer组信息,其 中所述空buffer组与所述第一buffer组的buffer数目相同,以保证用于接收 的buffer数量。或者,本领域技术人员也可按照所知的任一方式,设置其它 进程进行空buffer组的补充,从而保证数据通信设备用于接收的buffer数量。
本转发报文的处理方法较佳的具体实施例与图6所示相同。
本发明提供了一种转发报文的处理装置,如图8所示,包括设备驱动单 元1和转发单元2,设备驱动单元1和转发单元2通过IPC进行交互通信;其 中,所述设备驱动单元1包括设有定时器和/或计数器(图中未示)的第一批处 理单元11,用于对数据通信设备接收到的报文进行批处理,具体为根据预设 的驱动计数门限值和/或驱动计时门限值,将数据通信设备接收到的报文组合 为批次报文,并将存放每批次报文的第一buffer组的地址和该批次报文的长 度信息封装到IPC消息中;还包括与所述第一批处理单元连接11的第一IPC 消息设置单元12,用于在IPC消息中设置记录该批次报文数目的数据单元。
其中,设备驱动单元1启动设备驱动进程,对数据通信设备接收的报丈 进行接收和发送。
对于定时器,其特别为具有可置位的定时器启动标志的定时器。在多线 程的情况下,计数器和/或定时器为多个。
为了实现对大量报文转发的速率的调整和少量报文转发的时延的控制, 所述设备驱动单元1还包括驱动条件设置单元13,所述驱动条件设置单元与 第一批处理单元11连接,用于进行驱动计数门限值和/或驱动计时门限值的 设置。
本发明还提供了一种转发报文的处理装置,如图9所示,包括设备驱动 单元1和转发单元2,设备驱动单元1和转发单元2通过IPC进行交互通信; 其中,所述转发单元2包括设有定时器和/或计数器(图中未示)的第二批处理 单元21,用于根据预设转发计数门限值和/或转发计时门限值,将待处理的报 文组合为批次报文,并将存放每批次报文的第二buffer组的地址和该批次报 文的长度信息封装到IPC消息中;还包括与所述第二批处理单元21连接的第 二IPC消息设置单元22,用于在IPC消息中设置记录该批次报文数目的数据 单元。
其中,转发单元2启动转发进程,对设备驱动进程发送的报文进行处理。
对于定时器,其特别为具有可置位的定时器启动标志的定时器。在多线 程的情况下,计数器和/或定时器为多个。
为了实现对大量报文转发的速率的调整和少量报文转发的时延的控制, 所述转发单元2还包括转发条件设置单元23,所述转发条件设置单元23与 第二批处理单元21连接,用于进行转发计数门限值和/或转发计时门限值的 设置。
本发明所提供转发报文的处理装置的最佳实施例,如图10所示,为上述 两种技术方案的结合。
本发明所提供的转发报文的处理装置可以用于数据通信设备,用来灵活 控制报文的转发,从而提高报文转发效率并控制报文转发的时延。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进 行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技 术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 精神和范围。
相关专利内容
标题 发布/更新时间 阅读量
浸泡洗涤定时器的主触点开关通断结构 2020-05-12 143
多段定时器 2020-05-13 576
一种定时器 2020-05-12 405
一种定时器 2020-05-12 645
定时器 2020-05-12 777
一种具有浸泡功能的洗涤定时器 2020-05-11 160
机电定时器 2020-05-13 105
定时器 2020-05-11 696
洗涤定时器 2020-05-11 632
机械式定时器 2020-05-12 318
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈