1.本技术涉及通信技术,特别涉及一种端口统计的方法及设备。
背景技术:2.目前,金融证券行业对高频交易的需求日趋强求,对由超低时延交换机组成的极速交易系统形成了井喷式的需求增长,正是在这一需求背景前提下,超低时延交换机以时延极低、功能极简等优势孕育而生。超低时延交换机仅有一层转发功能,可以实现超低时延转发。
3.但是,超低时延交换机实现报文无法实现对流量进行统计功能,导致超低时延交换机功能缺陷,不能准确统计端口转发报文个数及端口速率计算等问题。使得超低时延交换机使用受限。
技术实现要素:4.本技术的目的在于提供一种端口统计的方法及设备,准确统计超低时延交换机上执行流量转发端口的报文。
5.未实现上述目的,本技术提供了应用于超低时延交换机的端口统计方法,该方法包括:将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口;周期性轮询读取每个统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个统计芯片端口的当前接收报文软件计数值;根据每个统计芯片端口的上一次接收报文软件计数值以及当前接收报文软件计数值的差值计算每个统计芯片端口在每个周期内的接收报文的速率;根据每个统计芯片端口在每个周期内的报文接收速率统计映射的每个待统计转发端口在每个周期内的报文转发速率;将每个统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。
6.为实现上述目的,本技术还提供一种应用于超低时延交换机的端口统计设备,该设备包括:交换单元,用于将设置于所述交换单元的每个待统计转发端口转发的每份以太网数据报文复制一份到设置于统计单元的一个映射的统计芯片端口;所述统计单元,用于通过每个所述统计芯片端口的端口硬件计数器记录的每个统计芯片端口收到的复制以太网数据报文的数目;速率统计模块,周期性轮询读取所述统计单元的每个所述统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个所述统计芯片端口的当前接收报文软件计数值;根据每个所述统计芯片端口的上一次接收报文软件计数值以及所述当前接收报文软件计数值的差值计算每个所述统计芯片端口在每个周期内的接收报文的速率;根据每个所述统计芯片端口在每个周期内的报文接收速率统计映射的每个所述待统计转发端口在每个周期内的报文转发速率;将所述每个所述统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。
7.本技术的有益效果在于,将超低时延交换机的交换单元上的转发报文导流到统计单元,由统计单元对交换单元的转发端口转发的报文进行统计,有效的解决了超低时延交
换机的交换单元无法提供对流量进行统计的缺陷。
附图说明
8.图1为本技术提供的应用于超低时延交换机的端口统计方法实施例的流程图;
9.图2为本技术提供的超低时延交换机统计端口转发速率实施例的示意图;
10.图3为本技术提供的应用于超低时延交换机的端口统计设备实施例的示意图。
具体实施方式
11.将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本技术的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。
12.使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。
13.图1所示的本技术提供的应用于超低时延交换机的端口统计方法实施例包括以下步骤;
14.步骤101,将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口;
15.步骤102,周期性轮询读取每个统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个统计芯片端口的当前接收报文软件计数值;
16.步骤103,根据每个统计芯片端口的上一次接收报文软件计数值以及当前接收报文软件计数值的差值计算每个统计芯片端口在每个周期内的接收报文的速率;
17.步骤104,根据每个统计芯片端口在每个周期内的报文接收速率统计映射的每个待统计转发端口在每个周期内的报文转发速率;
18.步骤105,将每个统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。
19.本技术的有益效果在于,将超低时延交换机的交换单元上的转发报文导流到统计单元,由统计单元对交换单元的转发端口转发的报文进行统计,有效的解决了超低时延交换机的交换单元无法提供对流量进行统计的缺陷。
20.图2为本技术实施例提供的超低时延交换机的端口统计设备统计的端口转发速率实施例的示意图。
21.如图2所示,本技术在超低时延交换机2a增设了具有pcie物理层接口 (physical interface for pci express,pipe)统计单元(芯片)实现端口统计,解决超低时延交换机的交换(switch)单元(芯片)提供流量统计。
22.本技术中,超低时延交换机2a的交换单元的一定数量的转发端口被设置内部转发端口,用于向统计单元发送交换芯片的待统计转发端口发送的数据报文。图2中,超低时间交换机2a的交换单元上的交换端口21-40被设置为内部转发端口,分别与统计芯片的统计芯片端口(pipe端口)p1-p20 一一直连。
23.超低时延交换机2a的cpu为内部转发端口21-40分别分配一个待统计交换端口,即
交换单元的转发端口1-20。超低时延交换机的内部转发端口是固定的,用于将待统计转发端口1-20各自发送数据报文引流到统计单元的 pipe端口。
24.超低时延交换机2a的cpu软件记录内部转发端口21-40与统计单元的 pipe端口p1-p20的对应关系。
25.超低时延交换机2a的cpu对待统计端口转发端口1-20进行端口配置时,选择一个内部转发端口分配给每个待统计转发端口1-20。
26.例如,图2中超低时延交换机2a选择内部转发端口25分配给待统计转发端口3。
27.当超低时延交换机2a的交换单元收到某个业务流的数据报文201时,在mac表中查找到这些数据报文201的目的mac地址匹配的mac地址表项的出端口是转发端口3,通过转发端口3发送每份数据报文201时复制一份数据报文201’,通过转发端口3的内部转发端口25发送。
28.超低时延交换机2a的统计单元的pipe端口p5从直连的内部转发端口 25接收每份数据报文201’。
29.超低时延交换机2a的cpu在统计周期(t)每次到达时,读取统计单元上pipe端口p5的端口硬件计数器并将端口硬件计数器的硬件转发报文数记录为当前接收报文软件计数值(new_counter),读取记录的pipe端口p5的上一次接收报文软件计数值(last_counter),根据pipe端口 p5的当前接收报文软件计数值(new_counter)与上一次接收报文软件计数值(last_counter)的差值,计算统计周期内pipe端口p5的接收报文的速率(s);即,s=(new_counter-last_counter)/t。
30.之后,超低时延交换机2a的cpu根据记录的pipe端口p5的当前接收报文软件计数值(new_counter)更新pipe端口p5的上一次接收报文软件计数值(last_counter)。在第一个统计周期,超低时延交换机2a 的统计单元读取的pipe端口p5的上一次接收报文软件计数值 (last_counter)为零。
31.超低时延交换机2a的cpu根据pipe端口p5接收报文的速率统计pipe 端口p5直连的内部转发端口25分配的待统计转发端口3的报文发送速率。
32.图2实施例以pipe芯片端口p5为例,本技术中超低时延交换机2a在统计周期到达时轮询读取统计单元上pipe端口p1-p20的各自端口硬件计数器的硬件转发报文数,更新各pipe端口的当前接收报文软件计数值 (new_counter),计算每个统计周期内的各pipe端口的报文接收速率,然后再根据记录的各pipe端口的当前接收报文软件计数值 (new_counter)更新各pipe端口的上一次接收报文软件计数值 (last_counter)。
33.当超低时延交换机2a不需要对转发端口3进行速率统计或者转发端口关闭(down)时,超低时延交换机2a的cpu根据记录的内部转发端口25 的直连pipe端口p5,删除记录的pipe端口p5的当前接收报文软件计数值 (new_counter)以及上一次接收报文软件计数值(last_counter),清除pipe端口p5的端口硬件计数器的硬件技术值。
34.基于本实施例的上述说明,超低时延交换机的内部转发端口的数量可以基于实际运用场景灵活选择,但内部转发端口的数量不大于待统计转发端口的数量,避免占用过多的转发端口的转发资源。
35.本技术图2实施例利用独立的统计单元对超低时延交换机的交换单元的转发端口的转发流量,统计单元由pipe芯片实现,交换单元可以是具备报文转发功能的asic、fpga芯
片。
36.本技术图2实施例实现了超低时延交换机端口流量统计,通过软件记录计算实现超低时延交换机端口转发速率计算;通过对pipe芯片底层硬件清除及软件记录清除实现端口流量清除功能;基于图2实施例可以引入不同统计功能的统计单元(芯片),可以实现报文不同类型的统计等功能
37.图3为图2为本技术提供的应用于超低时延交换机的端口统计设备实施例的示意图。该设备300设备包括网络接口、交换单元、统计单元、cpu以及存储器。交换单元可以是具备交换功能的fpga、asic芯片;统计单元是具备统计功能的pipe芯片;处理器通过运行存储器中的处理器可执行指令用以执行速率统计模块、设置模块。
38.交换单元,用于将设置于交换单元的每个待统计转发端口转发的每份以太网数据报文复制一份到设置于统计单元的一个映射的统计芯片端口;
39.统计单元,用于通过每个统计芯片端口的端口硬件计数器记录的每个统计芯片端口收到的复制以太网数据报文的数目
40.速率统计模块,周期性轮询读取统计单元的每个统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个统计芯片端口的当前接收报文软件计数值;根据每个统计芯片端口的上一次接收报文软件计数值以及当前接收报文软件计数值的差值计算每个统计芯片端口在每个周期内的接收报文的速率;根据每个统计芯片端口在每个周期内的报文接收速率统计映射的每个待统计转发端口在每个周期内的报文转发速率;将每个统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。
41.交换单元将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口包括:交换单元将每个待统计转发端口转发的每份以太网数据报文复制一份并发往设置于交换单元的一个对应的内部转发端口,通过置于交换单元的每个内部转发端口将每份复制以太网数据报文发往每个直连的统计芯片端口。
42.设置于交换单元多个内部转发端口分别与设置于统计单元的多个统计芯片端口一一直连;设置模块用于将交换单元的将多个转发端口分别设置为多个内部转发端口;交换单元,还用于为每个待统计转发端口关联一个内部转发端口;速率统计模块,还用于记录每个内部转发端口与直连的统计芯片端口的映射关系。
43.速率统计模块,单元周期性轮询读取每个统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目之前,还根据记录的每个内部转发端口与直连的统计芯片端口的映射关系,查找每个内部转发端口对应的统计芯片端口。
44.交换单元,还用于解除任一待统计转发端口关联的内部转发端口;速率统计模块,还用于查找解除关联的内部转发端口映射的统计芯片端口;删除查找到的统计芯片端口的端口硬件计数器的计数值;删除查找到的统计芯片端口的上一次接收报文软件计数值以及当前接收报文软件计数值。
45.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:1.一种端口统计的方法,应用于超低时延交换机,其特征在于,所述方法包括:将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口;周期性轮询读取每个所述统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个所述统计芯片端口的当前接收报文软件计数值;根据每个所述统计芯片端口的上一次接收报文软件计数值以及所述当前接收报文软件计数值的差值计算每个所述统计芯片端口在每个周期内的接收报文的速率;根据每个所述统计芯片端口在每个周期内的报文接收速率统计映射的每个所述待统计转发端口在每个周期内的报文转发速率;将所述每个所述统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。2.根据权利要求1所述的方法,其特征在于,将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口包括:将每个所述待统计转发端口转发的每份以太网数据报文复制一份并发往一个对应的内部转发端口;每个所述内部转发端口将每份复制以太网数据报文发往每个直连的统计芯片端口。3.根据权利要求1所述的方法,其特征在于,将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口之前,所述方法包括:将多个转发端口分别设置为多个所述内部转发端口;将每个所述内部转发端口与一个所述统计芯片端口连接;记录每个所述内部转发端口与直连的所述统计芯片端口的映射关系;为每个所述待统计转发端口关联一个所述内部转发端口。4.根据权利要求1所述的方法,其特征在于,周期性轮询读取每个所述统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目之前,所述方法还包括:根据记录的每个所述内部转发端口与直连的所述统计芯片端口的映射关系,查找每个所述内部转发端口对应的所述统计芯片端口。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:解除任一待统计转发端口关联的所述内部转发端口;查找解除关联的所述内部转发端口映射的所述统计芯片端口;删除查找到的所述统计芯片端口的端口硬件计数器的计数值;删除查找到的所述统计芯片端口的上一次接收报文软件计数值以及所述当前接收报文软件计数值。6.一种端口统计的设备,应用于超低时延交换机,其特征在于,所述设备包括:交换单元,用于将设置于所述交换单元的每个待统计转发端口转发的每份以太网数据报文复制一份到设置于统计单元的一个映射的统计芯片端口;所述统计单元,用于通过每个所述统计芯片端口的端口硬件计数器记录的每个统计芯片端口收到的复制以太网数据报文的数目;速率统计模块,周期性轮询读取所述统计单元的每个所述统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个所述统计芯片端口的当前接收报
文软件计数值;根据每个所述统计芯片端口的上一次接收报文软件计数值以及所述当前接收报文软件计数值的差值计算每个所述统计芯片端口在每个周期内的接收报文的速率;根据每个所述统计芯片端口在每个周期内的报文接收速率统计映射的每个所述待统计转发端口在每个周期内的报文转发速率;将所述每个所述统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。7.根据权利要求6所述的设备,其特征在于,所述交换单元将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口包括:所述交换单元将每个所述待统计转发端口转发的每份以太网数据报文复制一份并发往设置于所述交换单元的一个对应的内部转发端口,通过置于所述交换单元的每个所述内部转发端口将每份复制以太网数据报文发往每个直连的统计芯片端口。8.根据权利要求6所述的设备,其特征在于,设置于所述交换单元多个所述内部转发端口分别与设置于统计单元的多个所述统计芯片端口一一直连;所述设备还包括设置模块;用于将所述交换单元的将多个转发端口分别设置为多个所述内部转发端口;所述交换单元,还用于为每个所述待统计转发端口关联一个所述内部转发端口;所述速率统计模块,还用于记录每个所述内部转发端口与直连的所述统计芯片端口的映射关系。9.根据权利要求6所述的设备,其特征在于,所述速率统计模块,单元周期性轮询读取每个所述统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目之前,还根据记录的每个所述内部转发端口与直连的所述统计芯片端口的映射关系,查找每个所述内部转发端口对应的所述统计芯片端口。10.根据权利要求6所述的设备,其特征在于,所述交换单元,还用于解除任一待统计转发端口关联的所述内部转发端口;所述速率统计模块,还用于查找解除关联的所述内部转发端口映射的所述统计芯片端口;删除查找到的所述统计芯片端口的端口硬件计数器的计数值;删除查找到的所述统计芯片端口的上一次接收报文软件计数值以及所述当前接收报文软件计数值。
技术总结本申请提供了一种端口统计的方法及设备。其中,应用于超低时延交换机的该端口统计方法包括:将每个待统计转发端口转发的每份以太网数据报文复制一份到一个映射的统计芯片端口;周期性轮询读取每个统计芯片端口的端口硬件计数器记录的收到的复制以太网数据报文的数目,更新每个统计芯片端口的当前接收报文软件计数值;根据每个统计芯片端口的上一次接收报文软件计数值以及当前接收报文软件计数值的差值计算每个统计芯片端口在每个周期内的接收报文的速率;根据每个统计芯片端口在每个周期内的报文接收速率统计映射的每个待统计转发端口在每个周期内的报文转发速率;将每个统计芯片端口的当前接收报文软件计数值更新为上一次接收报文软件计数值。上一次接收报文软件计数值。上一次接收报文软件计数值。
技术研发人员:许丹 陈勇 齐达 何刚
受保护的技术使用者:新华三技术有限公司合肥分公司
技术研发日:2022.06.14
技术公布日:2022/11/1