一种数据交换系统及方法转让专利

申请号 : CN201611263400.7

文献号 : CN108271087B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘红春

申请人 : 深圳市中兴微电子技术有限公司

摘要 :

本发明公开了一种数据交换系统,该数据交换系统包括CPU、DDR、加速模块、ONU和无线网络设备;加速模块,读取DDR中的第一以太网数据和第一描述符向ONU发送;根据接收的ONU发送的第一以太网数据和第一描述符建立MAC地址表;通过查询MAC地址表修改第一描述符,将第一以太网数据和第一描述符发送给ONU;CPU,在ONU接收的第一以太网数据和第一描述符中数据目的端口未知时,通过配置数据目的端口修改第一描述符;ONU,对第一以太网数据进行处理后将第一以太网数据发往第一描述符指定的数据目的端口。本发明还公开了一种数据交换方法。

权利要求 :

1.一种数据交换系统,用于光网络单元ONU与无线网络设备的数据交换,其特征在于,所述数据交换系统包括CPU、双倍速率同步动态随机存储器DDR、加速模块、ONU和无线网络设备;其中:所述无线网络设备,接收第一无线数据,将所述第一无线数据转换为第一以太网数据,生成第一描述符,然后将所述第一以太网数据和所述第一描述符写入所述DDR;

所述加速模块,读取所述DDR中的所述第一以太网数据和第一描述符向所述ONU发送;

根据接收的所述ONU发送的所述第一以太网数据和第一描述符建立MAC地址表;通过查询所述MAC地址表修改第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;

所述CPU,在ONU接收的所述第一以太网数据和所述第一描述符中数据目的端口未知时,配置数据目的端口到所述第一描述符;

所述ONU,接收所述加速模块发送的所述第一以太网数据及所述第一描述符,对所述第一以太网数据进行处理后将所述第一以太网数据发往所述第一描述符指定的数据目的端口;

和/或,

所述ONU,将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符;

通过查询加速模块中的MAC地址表修改所述第二描述符,对所述第二以太网数据进行处理后,将所述第二以太网数据和所述第二描述符向所述加速模块发送;

所述CPU,在ONU中所述第二描述符中数据目的端口未知时,配置数据目的端口到所述第二描述符;

所述加速模块,接收来自所述ONU的所述第二以太网数据和所述第二描述符,根据所述第二以太网数据和所述第二描述符建立MAC地址表;接收来自所述ONU的所述第二以太网数据和所述第二描述符,将所述第二以太网数据和所述第二描述符写入所述DDR中;

所述无线网络设备,读取所述DDR中的所述第二以太网数据和所述第二描述符,将所述第二以太网数据转换成第二无线数据,将所述第二无线数据发送到所述第二描述符指定的数据目的端口。

2.根据权利要求1所述的系统,其特征在于,所述CPU还配置包处理规则到所述ONU的包处理规则表;

所述ONU还根据所述包处理规则表中的包处理规则并结合所述第一描述符对所述第一以太网数据进行包处理;

和/或,

所述ONU还根据所述包处理规则表中的包处理规则并结合所述第二描述符对所述第二以太网数据进行包处理。

3.根据权利要求2所述的系统,其特征在于,所述加速模块通过AXI/AHB总线与所述DDR通信连接。

4.根据权利要求2或3所述的系统,其特征在于,所述CPU包括网络协议栈模块和加速模块驱动模块,其中:所述加速模块驱动模块配置所述加速模块;

所述网络协议栈模块配置包处理规则到ONU的包处理规则表,接收ONU发送的所述第一以太网数据和所述第一描述符,配置数据目的端口到所述第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;

和/或,

配置包处理规则到ONU的包处理规则表;接收ONU发送的所述第二以太网数据和所述第二描述符,配置数据目的端口到所述第二描述符,将所述第二以太网数据和所述第二描述符向所述ONU发送。

5.根据权利要求4所述的系统,其特征在于,所述ONU包括包处理模块和数据交换模块,其中:所述包处理模块接收所述数据交换模块或所述CPU发送的数据;和/或,向所述CPU或所述数据交换模块发送数据;通过查询加速模块中的MAC地址表确定是否将数据发往CPU;根据所述包处理规则表 中的包处理规则对数据进行包修改;

所述数据交换模块与所述包处理模块通信连接。

6.根据权利要求5所述的系统,其特征在于,所述加速模块位于所述数据交换模块内;

或者,所述加速模块位于所述数据交换模块外,与所述数据交换模块通信连接。

7.一种数据交换方法,应用于数据交换系统中,其特征在于,所述数据交换系统包括CPU、双倍速率同步动态随机存储器DDR、加速模块和ONU;所述方法包括:接收第一无线数据,将所述第一无线数据转换为第一以太网数据,生成第一描述符,然后将所述第一以太网数据和所述第一描述符写入双倍速率同步动态随机存储器DDR;

读取所述DDR中的所述第一以太网数据和第一描述符向ONU发送;

在所述ONU接收的所述第一以太网数据和所述第一描述符中数据目的端口未知时,配置数据目的端口到所述第一描述符;

根据接收的所述ONU发送的所述第一以太网数据和第一描述符建立MAC地址表;通过查询所述MAC地址表修改所述第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;

接收加速模块发送的所述第一以太网数据及所述第一描述符,对所述第一以太网数据进行处理后将所述第一以太网数据发往所述第一描述符指定的数据目的端口;

和/或,

将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符;

在ONU中所述第二描述符中数据目的端口未知时,配置数据目的端口到所述第二描述符;

接收来自所述ONU的所述第二以太网数据和所述第二描述符,根据所述第二以太网数据和所述第二描述符建立MAC地址表;

通过查询加速模块中的MAC地址表修改所述第二描述符,对所述第二以太网数据进行处理后,将所述第二以太网数据和所述第二描述符向所述加速模块发送;

接收来自所述ONU的所述第二以太网数据和所述第二描述符,将所述第二以太网数据和所述第二描述符写入所述DDR中;

读取所述DDR中的所述第二以太网数据和所述第二描述符,将所述第二以太网数据转换成第二无线数据,将所述第二无线数据发送到所述第二描述符指定的数据目的端口。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:配置包处理规则到所述ONU的包处理规则表;

所述对所述第一以太网数据进行处理包括:根据所述包处理规则表中的包处理规则并结合所述第一描述符对所述第一以太网数据进行包处理;

和/或,

所述对所述第二以太网数据进行处理包括:根据所述包处理规则表中的包处理规则并结合所述第二描述符对所述第二以太网数据进行包处理。

9.根据权利要求8所述的方法,其特征在于,所述读取DDR中的第一以太网数据和第一描述符包括通过AXI/AHB总线读取所述DDR中的第一以太网数据和第一描述符;

和/或,

将所述第二以太网数据和所述第二描述符写入所述DDR中包括通过AXI/AHB总线将所述第二以太网数据和所述第二描述符写入所述DDR中。

10.根据权利要求8或9所述的方法,其特征在于,所述CPU包括加速模块驱动模块;所述方法还包括:在加速模块启动后,通过加速模块驱动模块对加速模块进行初始化配置;在加速模块工作时,通过加速模块驱动模块对所述加速模块的配置参数进行调整。

说明书 :

一种数据交换系统及方法

技术领域

[0001] 本发明涉及通信技术,尤其涉及一种数据交换系统及方法。

背景技术

[0002] 无源光纤网络(Passive Optical Network,PON)系统由光线路终端(Optical Line Terminal,OLT)和光网络单元(Optical Network Unit,ONU)以及连接于OLT和ONU之间的光分配网络(Optical Distribution Network,ODN)设备组成。作为置于用户侧的光通信设备,ONU可以为用户提供语音、视频、无线等多种业务。
[0003] 传统的无线数据通过CPU软件加速进行处理,如图1所示的无线数据处理流程中,ONU140包括通信连接的数据交换模块141和包处理模块142,ONU140接收局端设备发送的光信号经过光电转换后的数据后,将该数据转换为以太网数据;CPU110中的网络协议栈模块111从ONU140的包处理模块142中读取该以太网数据,并将该以太网数据写入DDR120中;之后,无线网络设备150从DDR120中读取该以太网信号,无线网络设备150中的数据转换模块
151将该以太网数据转换为无线数据。其中,ONU140与DDR120中的数据通过CPU110进行处理,这就对CPU的处理能力提出了较高要求,同时,也增加了CPU的占用率,影响了CPU的处理速度,进而无线网络设备提供的无线网络性能也受到影响。
[0004] 随着ONU支持的业务逐渐增多,在无线数据处理流程中CPU需要支持的业务也相应增多,CPU占用率的增加减少了ONU对无线业务之外的其它业务的支持,影响了ONU的竞争力。

发明内容

[0005] 有鉴于此,本发明实施例提供一种数据交换系统及方法,能够降低无线业务对CPU的占用率,增强ONU的竞争力。
[0006] 为达到上述目的,本发明实施例的技术方案是这样实现的:
[0007] 本发明实施例提供了一种数据交换系统,用于光网络单元ONU与无线网络设备的数据交换,所述数据交换系统包括CPU、双倍速率同步动态随机存储器DDR、加速模块、ONU和无线网络设备;其中:
[0008] 所述无线网络设备,接收第一无线数据,将所述第一无线数据转换为第一以太网数据,生成第一描述符,然后将所述第一以太网数据和所述第一描述符写入所述DDR;
[0009] 所述加速模块,读取所述DDR中的所述第一以太网数据和第一描述符向所述ONU发送;根据接收的所述ONU发送的所述第一以太网数据和第一描述符建立MAC地址表;通过查询所述MAC地址表修改第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;
[0010] 所述CPU,在ONU接收的所述第一以太网数据和所述第一描述符中数据目的端口未知时,配置数据目的端口到所述第一描述符;
[0011] 所述ONU,接收所述加速模块发送的所述第一以太网数据及所述第一描述符,对所述第一以太网数据进行处理后将所述第一以太网数据发往所述第一描述符指定的数据目的端口;
[0012] 和/或,
[0013] 所述ONU,将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符;通过查询加速模块中的MAC地址表修改所述第二描述符,对所述第二以太网数据进行处理后,将所述第二以太网数据和所述第二描述符向所述加速模块发送;
[0014] 所述CPU,在ONU中所述第二描述符中数据目的端口未知时,配置数据目的端口到所述第二描述符;
[0015] 所述加速模块,接收来自所述ONU的所述第二以太网数据和所述第二描述符,根据所述第二以太网数据和所述第二描述符建立MAC地址表;接收来自所述ONU的所述第二以太网数据和所述第二描述符,将所述第二以太网数据和所述第二描述符写入所述DDR中;
[0016] 所述无线网络设备,读取所述DDR中的所述第二以太网数据和所述第二描述符,将所述第二以太网数据转换成第二无线数据,将所述第二无线数据发送到所述第二描述符指定的数据目的端口。
[0017] 上述方案中,所述CPU还配置包处理规则到所述ONU的包处理规则表;
[0018] 所述ONU还根据所述包处理规则表中的包处理规则并结合所述第一描述符对所述第一以太网数据进行包处理;
[0019] 和/或,
[0020] 所述ONU还根据所述包处理规则表中的包处理规则并结合所述第二描述符对所述第二以太网数据进行包处理。
[0021] 上述方案中,所述加速模块通过AXI/AHB总线与所述DDR通信连接。
[0022] 上述方案中,所述CPU包括网络协议栈模块和加速模块驱动模块,其中:
[0023] 所述加速模块驱动模块配置所述加速模块;
[0024] 所述网络协议栈模块配置包处理规则到ONU的包处理规则表,接收ONU发送的所述第一以太网数据和所述第一描述符,配置数据目的端口到所述第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;
[0025] 和/或,
[0026] 配置包处理规则到ONU的包处理规则表;接收ONU发送的所述第二以太网数据和所述第二描述符,配置数据目的端口到所述第二描述符,将所述第二以太网数据和所述第二描述符向所述ONU发送。
[0027] 上述方案中,所述ONU包括包处理模块和数据交换模块,其中:
[0028] 所述包处理模块接收所述数据交换模块或所述CPU发送的数据;和/或,向所述CPU或所述数据交换模块发送数据;通过查询加速模块中的MAC地址表确定是否将数据发往CPU;根据所述包规则处理表中的包处理规则对数据进行包修改;
[0029] 所述数据交换模块与所述包处理模块通信连接。
[0030] 上述方案中,所述加速模块位于所述数据交换模块内;或者,所述加速模块位于所述数据交换模块外,与所述数据交换模块通信连接。
[0031] 本发明实施例提供一种数据交换方法,应用于数据交换系统中,所述方法包括:
[0032] 接收第一无线数据,将所述第一无线数据转换为第一以太网数据,生成第一描述符,然后将所述第一以太网数据和所述第一描述符写入双倍速率同步动态随机存储器DDR;
[0033] 读取所述DDR中的所述第一以太网数据和第一描述符向ONU发送;
[0034] 在所述ONU接收的所述第一以太网数据和所述第一描述符中数据目的端口未知时,配置数据目的端口到所述第一描述符;
[0035] 根据接收的所述ONU发送的所述第一以太网数据和第一描述符建立MAC地址表;通过查询所述MAC地址表修改所述第一描述符,将所述第一以太网数据和所述第一描述符发送给所述ONU;
[0036] 接收加速模块发送的所述第一以太网数据及所述第一描述符,对所述第一以太网数据进行处理后将所述第一以太网数据发往所述第一描述符指定的数据目的端口;
[0037] 和/或,
[0038] 将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符;
[0039] 在ONU中所述第二描述符中数据目的端口未知时,配置数据目的端口到所述第二描述符;
[0040] 接收来自所述ONU的所述第二以太网数据和所述第二描述符,根据所述第二以太网数据和所述第二描述符建立MAC地址表;
[0041] 通过查询加速模块中的MAC地址表修改所述第二描述符,对所述第二以太网数据进行处理后,将所述第二以太网数据和所述第二描述符向所述加速模块发送;
[0042] 接收来自所述ONU的所述第二以太网数据和所述第二描述符,将所述第二以太网数据和所述第二描述符写入所述DDR中;
[0043] 读取所述DDR中的所述第二以太网数据和所述第二描述符,将所述第二以太网数据转换成第二无线数据,将所述第二无线数据发送到所述第二描述符指定的数据目的端口。
[0044] 上述方案中,所述方法还包括:配置包处理规则到所述ONU的包处理规则表;
[0045] 所述对所述第一以太网数据进行处理包括:根据所述包处理规则表中的包处理规则并结合所述第一描述符对所述第一以太网数据进行包处理;
[0046] 和/或,
[0047] 所述对所述第二以太网数据进行处理包括:根据所述包处理规则表中的包处理规则并结合所述第二描述符对所述第二以太网数据进行包处理。
[0048] 上述方案中,所述读取DDR中的第一以太网数据和第一描述符包括通过AXI/AHB总线读取所述DDR中的第一以太网数据和第一描述符;
[0049] 和/或,
[0050] 将所述第二以太网数据和所述第二描述符写入所述DDR中包括通过AXI/AHB总线将所述第二以太网数据和所述第二描述符写入所述DDR中。
[0051] 上述方案中,所述方法还包括:
[0052] 在加速模块启动后,通过加速模块驱动模块对加速模块进行初始化配置;在加速模块工作时,通过加速模块驱动模块对所述加速模块的配置参数进行调整。
[0053] 本发明所提供的数据交换系统及方法,在CPU配置数据目的端口后,通过加速模块实现DDR和ONU之间的数据交换,使用硬件模块来处理以太网数据,降低了数据交换系统中无线业务对CPU的占用率,提高了ONU对无线业务之外的其它业务的支持,增强了ONU的竞争力。

附图说明

[0054] 图1为现有技术中无线数据处理流程的示意图;
[0055] 图2为本发明实施例中一种数据交换系统中的无线数据处理流程的示意图;
[0056] 图3为本发明实施例中另一种数据交换系统中的无线数据处理流程的示意图;
[0057] 图4为本发明实施例中一种数据交换方法的实现流程图;
[0058] 图5为本发明实施例中另一种数据交换方法的实现流程图。

具体实施方式

[0059] 为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
[0060] 图2为本发明实施例数据交换系统中的无线数据处理流程的示意图。如图2所示,本发明实施例提供的数据交换系统用于ONU与无线网络设备的数据交换,数据交换系统包括CPU210、双倍速率同步动态随机存储器(Double Data Rate,DDR)220、包含加速模块201的ONU240和无线网络设备150。
[0061] 其中,数据由无线网络设备150传输到ONU240的过程中:
[0062] 无线网络设备150,接收第一无线数据,将第一无线数据转换为第一以太网数据,生成第一描述符,然后将第一以太网数据和第一描述符写入DDR220;
[0063] 加速模块201,读取DDR220中的第一以太网数据和第一描述符向ONU发送;根据接收的ONU240发送的第一以太网数据和第一描述符建立MAC地址表;通过查询MAC地址表修改第一描述符,将第一以太网数据和第一描述符发送给ONU240;
[0064] CPU210,在ONU240接收的第一以太网数据和第一描述符中数据目的端口未知时,配置数据目的端口到第一描述符;
[0065] ONU240,接收加速模块201发送的第一以太网数据及第一描述符,对第一以太网数据进行处理后将第一以太网数据发往第一描述符指定的数据目的端口。
[0066] 其中,加速模块201根据接收的来自ONU的第一以太网数据中的源MAC地址和源端口等信息建立MAC地址表。查询MAC地址表时,若接收到的来自DDR220的第一以太网数据的目的MAC地址与MAC地址表中的某条记录的MAC地址匹配,则将对应的端口号作为第一以太网数据的目的端口号填入第一描述符。
[0067] ONU240在接收到的第一以太网数据和第一描述符中未指定目的端口时,将第一以太网数据和第一描述符转发给CPU210,由CPU210配置数据目的端口。CPU210将数据目的端口写入第一描述符之后,加速模块接收第一以太网数据和第一描述符,并将第一以太网数据和第一描述符对应的源MAC地址和源端口写入MAC地址表。
[0068] 数据由ONU240传输到无线网络设备150的过程中:
[0069] ONU240,将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符;通过查询加速模块201中的MAC地址表修改第二描述符,对第二以太网数据进行处理后,将第二以太网数据和第二描述符向加速模块发送;
[0070] CPU210,在ONU240中第二描述符中数据目的端口未知时,通过配置数据目的端口修改第二描述符;
[0071] 加速模块,接收来自ONU240的第二以太网数据和第二描述符,根据第二以太网数据和第二描述符建立MAC地址表;接收来自ONU240的第二以太网数据和第二描述符,将第二以太网数据和第二描述符写入DDR220中。
[0072] 无线网络设备150,读取DDR220中的第二以太网数据和第二描述符,将第二以太网数据转换成第二无线数据,将第二无线数据发送到第二描述符指定的数据目的端口。
[0073] 其中,ONU240向CPU210发送的第二以太网数据和第二描述符经过CPU210配置数据目的端口后,向加速模块发送,加速模块根据第二以太网数据和第二描述符建立或修改MAC地址表;ONU240通过查询MAC地址表获取数据目的端口,将数据目的端口加载到第二描述符中,并将第二以太网数据和第二描述符向DDR220发送。
[0074] 在本发明实施例中,CPU还配置包处理规则到ONU的包处理规则表。其中,在数据由无线网络设备向ONU传输的过程中,ONU还根据包处理规则表中的包处理规则并结合第一描述符对第一以太网数据进行包处理;在数据由ONU向无线网络设备传输的过程中,ONU还根据包处理规则表中的包处理规则并结合第二描述符对第二以太网数据进行包处理。
[0075] 无线网络设备150的无线数据和以太网数据的转换由数据转换模块151实现。无线网络设备通过PCIE总线与DDR通信连接。
[0076] CPU包括网络协议栈模块111和加速模块驱动模块202,其中,在数据由无线网络设备向ONU传输的过程中,网络协议栈模块111配置包处理规则到ONU的包处理规则表,接收ONU发送的第一以太网数据和第一描述符,配置数据目的端口修改第一描述符,将第一以太网数据和第一描述符发送给ONU;配置包处理规则到ONU的包处理规则表;在数据由ONU向无线网络设备传输的过程中,接收ONU发送的第二以太网数据和第二描述符,通过配置数据目的端口修改第二描述符,将第二以太网数据和第二描述符向ONU发送。
[0077] CPU还包括加速模块驱动模块202,配置加速模块201,为加速模块201提供初始化配置,其中,初始化配置的配置参数包括:MAC地址表可记录的条目数,MAC地址表老化使能和老化时间、基于端口的记录限制使能,查找不到端口号的处理动作、限速控制等。
[0078] ONU包括包处理模块142和数据交换模块241,其中:包处理模块142接收数据交换模块或CPU发送的数据;向CPU或数据交换模块发送数据;通过查询加速模块中的MAC地址表确定是否将数据发往CPU;根据包规则处理表中的包处理规则对数据进行包修改。其中,包修改的内容包括:根据包修改规则对数据包进行一些包修改处理,或者限速丢弃一些数据包。数据交换模块241与包处理模块142通信连接。
[0079] 在本发明实施例中,如图2所示,加速模块201位于ONU240中的数据交换模块241内,数据在包处理模块142中进行包处理,并通过数据交换模块241中的加速模块201与DDR220交换数据。
[0080] 但在实际应用中,并不局限于此,如图3所示,加速模块301也可以位于ONU340外,与数据交换模块341通信连接。
[0081] 此外,加速模块还可以位于ONU内的数据交换模块外部,只要加速模块可实现数据交换模块与DDR中的数据交换即可。
[0082] 其中,上述各个描述符包含的内容包括:源端口号、目的端口号、目的端口已知标志位、SSID号、VLAN号、数据类型、数据的处理动作(硬件转发、由CPU处理或丢弃)、限速信息、入队信息、CPU队列号、包修改信息所需部分,优先级信息等。
[0083] 如图2所示,加速模块201通过AXI/AHB总线与DDR220通信连接。
[0084] 读取DDR中数据时,加速模块201通过AXI/AHB总线直接读取DDR中的数据和描述符。向DDR中写入数据和描述符时,加速模块201直接向DDR申请描述符和数据的DDR内存空间,然后通过AXI/AHB总线向DDR写入数据和描述符。
[0085] 本发明所提供的数据交换系统,在CPU配置数据目的端口后,通过加速模块实现DDR和ONU之间的数据交换,使用硬件模块来处理以太网数据,降低了数据交换系统中无线业务对CPU的占用率,提高了ONU对无线业务之外的其它业务的支持,增强了ONU的竞争力。
[0086] 如图4所示,在本发明实施例提供的数据交换方法,应用于上述技术方案的数据交换系统中。其中,数据由无线网络设备传输到ONU的过程包括以下步骤:
[0087] 步骤401,接收第一无线数据,将第一无线数据转换为第一以太网数据,生成第一描述符,然后将第一以太网数据和第一描述符写入双倍速率同步动态随机存储器(DDR)。
[0088] 步骤402,读取DDR中的第一以太网数据和第一描述符向ONU发送。
[0089] 步骤403,在ONU接收的第一以太网数据和第一描述符中数据目的端口未知时,配置数据目的端口修改第一描述符。
[0090] 步骤404,根据接收的ONU发送的第一以太网数据和第一描述符建立MAC地址表;通过查询MAC地址表修改第一描述符,将第一以太网数据和第一描述符发送给ONU。
[0091] 步骤405,接收加速模块发送的第一以太网数据及第一描述符,对第一以太网数据进行处理后将第一以太网数据发往第一描述符指定的数据目的端口。
[0092] 其中,MAC地址表根据接收的来自ONU的第一以太网数据中的源MAC地址和源端口等信息建立。查询MAC地址表时,若接收到的来自DDR的第一以太网数据的目的MAC地址与MAC地址表中的某条记录的MAC地址匹配,则将对应的端口号作为第一以太网数据的目的端口号填入第一描述符。
[0093] ONU在接收到的第一以太网数据和第一描述符中未指定目的端口时,将第一以太网数据和第一描述符转发给CPU,由CPU配置数据目的端口。CPU将数据目的端口写入第一描述符之后,加速模块接收第一以太网数据和第一描述符,并将第一以太网数据和第一描述符对应的源MAC地址和源端口写入MAC地址表。
[0094] 如图5所示,数据由ONU传输到无线网络设备的过程包括以下步骤:
[0095] 步骤501,将光信号经过光电转换后的数据转换为第二以太网数据,生成第二描述符。
[0096] 步骤502,在ONU中第二描述符中数据目的端口未知时,通过配置数据目的端口修改到第二描述符。
[0097] 步骤503,接收来自ONU的第二以太网数据和第二描述符,根据第二以太网数据和第二描述符建立MAC地址表。
[0098] 步骤504,通过查询加速模块中的MAC地址表修改第二描述符,对第二以太网数据进行处理后,将第二以太网数据和第二描述符向加速模块发送。
[0099] 步骤505,接收来自ONU的第二以太网数据和第二描述符,将第二以太网数据和第二描述符写入DDR中。
[0100] 步骤506,读取DDR中的第二以太网数据和第二描述符,将第二以太网数据转换成第二无线数据,将第二无线数据发送到第二描述符指定的数据目的端口。
[0101] 其中,ONU向CPU发送的第二以太网数据和第二描述符经过CPU配置数据目的端口后,将第二以太网数据和第二描述符向加速模块发送,加速模块根据第二以太网数据和第二描述符建立或修改MAC地址表;ONU通过查询MAC地址表获取数据目的端口,将数据目的端口加载到第二描述符中,并将第二以太网数据和第二描述符向DDR发送。
[0102] 在本发明实施例中,ONU对根据包处理规则表对数据进行包处理之前,由CPU配置包处理规则到ONU的包处理规则表。
[0103] 在ONU对第一以太网数据进行处理时,根据包处理规则表中的包处理规则并结合第一描述符对第一以太网数据进行包处理;在ONU对第二以太网数据进行处理时,根据包处理规则表中的包处理规则并结合第二描述符对第二以太网数据进行包处理。
[0104] 在本发明实施例中,通过AXI/AHB总线读取DDR中的第一以太网数据和第一描述符;通过AXI/AHB总线将第二以太网数据和第二描述符写入DDR中。
[0105] 具体地,读取DDR中数据时,加速模块通过AXI/AHB总线直接读取DDR中的数据和描述符。向DDR中写入数据和描述符时,加速模块直接向DDR申请描述符和数据的DDR内存空间,然后通过AXI/AHB总线向DDR写入数据和描述符。
[0106] 在将数据写入DDR之后,无线网络设备通过PCIE总线读取DDR中的数据。
[0107] 在加速模块启动后,通过加速模块驱动模块对加速模块进行初始化配置;在加速模块工作时,通过加速模块驱动模块对加速模块的配置参数进行调整。
[0108] 其中,初始化配置以及调整的配置参数包括:MAC地址表可记录的条目数,MAC地址表老化使能和老化时间、基于端口的记录限制使能,查找不到端口号的处理动作、限速控制等。
[0109] 本发明所提供的数据交换方法,在CPU配置数据目的端口后,通过加速模块实现DDR和ONU之间的数据交换,使用硬件模块来处理以太网数据,降低了数据交换系统中无线业务对CPU的占用率,提高了ONU对无线业务之外的其它业务的支持,增强了ONU的竞争力。
[0110] 在实际应用中,CPU210、DDR、加速模块、ONU和无线网络设备150均可由位于数据交换系统上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
[0111] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0112] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0113] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0114] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0115] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。