一种无线调制解调器上行分组数据处理方法转让专利

申请号 : CN201710909318.5

文献号 : CN107708153B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李铮蒋文豪夏军欧阳卫华

申请人 : 重庆邮电大学

摘要 :

本发明公开了一种无线调制解调器上行分组数据处理方法,无线Modem在接收到主机发送的上行数据时,接口驱动模块申请PDDU存储空间,接口驱动模块、接口适配模块、PDCP模块、RLC模块在上行分组数据处理过程中,直接将本层封装信息添加到PDDU和/或修改上行分组数据存储的偏移地址及数据长度,然后发送所述偏移地址和数据长度到下一个模块来实现各个模块对上行分组数据的处理。本发明的技术方案减少了上行分组数据处理过程中数据拷贝和保存、存储空间申请和释放的操作次数,有效提高了上行分组数据处理过程的效率。

权利要求 :

1.一种无线调制解调器上行分组数据处理方法,其特征在于,包括:接口驱动模块申请分组数据描述单元PDDU存储空间;

所述PDDU包括PDDU头和分组数据存储单元,所述PDDU头包括偏移地址存储单元和分组数据长度存储单元;

接口驱动模块设置第一偏移地址=PDDU头长度+分组数据汇聚协议PDCP头最大长度;

接口驱动模块接收主机发送的数据,从所述主机发送的数据中获取上行分组数据;

接口驱动模块将所述上行分组数据存储到所述分组数据存储单元;其中,所述上行分组数据存储的起始地址=PDDU首地址+第一偏移地址;

接口驱动模块设置第一数据长度=所述上行分组数据的长度;

接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块;接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元;接口驱动模块发送所述PDDU的首地址给所述接口适配模块;

如果主机与无线调制解调器的连接方式为拨号连接,接口适配模块设置第二偏移地址=第一偏移地址+点对点协议PPP头长度,第二数据长度=第一数据长度-PPP头长度-PPP尾长度;

如果主机与无线调制解调器的连接方式为虚拟以太网连接,接口适配模块设置第二偏移地址=第一偏移地址,第二数据长度=第一数据长度;

接口适配模块发送所述第二偏移地址和第二数据长度给PDCP模块;接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容;接口适配模块发送所述PDDU的首地址给所述PDCP模块;

PDCP模块将PDCP头写入所述分组数据存储单元,所述PDCP头写入的起始地址=PDDU首地址+第二偏移地址-PDCP头长度;

PDCP模块设置第三偏移地址=第二偏移地址-PDCP头长度,设置第三数据长度=第二数据长度+PDCP头长度;

PDCP模块发送所述第三偏移地址和第三数据长度给无线链路层控制协议RLC模块;

PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容;PDCP模块发送所述PDDU的首地址给所述RLC模块;

RLC模块根据所述第三偏移地址和所述第三数据长度从所述分组数据存储单元中获得服务数据单元SDU,对所述SDU分包获得协议数据单元PDU并发送给媒体接入控制MAC模块。

2.根据权利要求1所述的方法,其特征在于,所述接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块包括:接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元;

接口驱动模块发送中断给所述接口适配模块;

接口适配模块根据所述PDDU首地址获取所述第一数据长度和第一偏移地址。

3.根据权利要求1所述的方法,其特征在于,所述接口适配模块发送所述第二数据长度和第二偏移地址给PDCP模块包括:接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容;

接口适配模块发送中断给所述PDCP模块;

PDCP模块根据所述PDDU首地址获取所述第二数据长度和第二偏移地址。

4.根据权利要求1所述的方法,其特征在于,所述PDCP模块发送所述第三数据长度和第三偏移地址给RLC模块包括:PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容;

PDCP模块发送中断给所述RLC模块;

RLC模块根据所述PDDU首地址获取所述第三数据长度和第三偏移地址。

5.根据权利要求1~4中任一项所述的方法,其特征在于,所述接口驱动模块接收主机发送的数据,从所述主机发送的数据中获取上行分组数据包括:如果主机与无线调制解调器的连接方式为拨号连接,接口驱动模块接收主机发送的PPP分组数据字节流,对所述PPP分组数据字节流进行去除逃逸字节,获得所述上行分组数据;

如果主机与无线调制解调器的连接方式为虚拟以太网连接,接口驱动模块接收主机发送的IP分组数据,将所述IP分组数据作为上行分组数据。

说明书 :

一种无线调制解调器上行分组数据处理方法

技术领域

[0001] 本发明涉及到移动通信系统数据处理技术,特别涉及到一种移动通信系统无线调制解调器(简称,无线Modem)中的上行分组数据处理方法。

背景技术

[0002] 地面移动通信系统或者卫星移动通信系统中,无线Modem为了满足用户接入以网际协议(简称,IP)为基础的互联网,无线Modem与主机之间的连接需要设计为在逻辑上兼容传输两种数据格式的分组数据:一种是以高级数据链路控制(简称,HDLC)帧格式封装的点对点协议(简称,PPP)分组数据,这种主机与无线Modem的连接方式称为拨号连接;一种是IP分组数据,这种连接方式称为虚拟以太网方式。其中在第一种分组数据包中,根据PPP协议,在HDLC帧格式中封装了IP分组数据,其位置位于HDLC帧中的“信息”字段。
[0003] 现有技术中,无线Modem上行分组数据处理方法为:
[0004] 1.如果主机与无线Modem采用拨号连接方式,主机与无线Modem根据PPP协议建立链路后,以流数据的形式发送PPP分组数据给无线Modem的接口驱动模块;如果主机与无线Modem采用虚拟以太网连接方式,主机直接以流数据的形式发送IP分组数据给所述接口驱动模块;
[0005] 2.接口驱动模块接收到完整的分组数据包后,将所述分组数据包发送给无线Modem的接口适配模块;
[0006] 3.如果所述数据为PPP分组数据,接口适配模块根据PPP协议,去除“逃逸字节”,提取PPP分组数据中的IP分组数据,发送到分组数据汇聚协议(简称,PDCP)模块;如果所述分组数据为IP分组数据,接口适配模块直接将所述IP分组数据发送到PDCP模块;
[0007] 4.PDCP模块在所述IP分组数据前添加PDCP头,封装为服务数据单元(简称,SDU),发送所述SDU到无线链路层控制协议(简称,RLC)模块;
[0008] 5.RLC模块根据无线资源配置将所述SDU进行分包,获得协议数据单元(简称,PDU),发送所述PDU到媒体接入控制(简称,MAC)模块。
[0009] 现有技术方案中,无线Modem中各个模块在处理上行分组数据时,采用的是分层处理的模式,各个模块首先从存储器中读取等待其处理的上行分组数据,然后按照本模块对应的层功能对上行分组数据进行封装处理,完成后重新申请存储空间并将封装好的数据保存到新申请的存储空间,供相关模块使用。现有技术方案的问题在于,在上行分组数据处理流程中,每个模块都要从存储器拷贝数据,重新申请存储空间保存数据,降低了上行分组数据处理的效率。

发明内容

[0010] 为了解决现有技术中存在的上述问题,本发明提出了一种无线Modem上行分组数据处理方法,以减少上行分组数据处理过程中的内存拷贝次数,提高处理效率。
[0011] 本发明的技术方案为,一种无线Modem上行分组数据处理方法,包括:
[0012] 接口驱动模块申请分组数据描述单元(简称,PDDU)存储空间,所述PDDU包括分组数据存储单元和PDDU头,所述PDDU头包括偏移地址存储单元和分组数据长度存储单元;
[0013] 接口驱动模块设置第一偏移地址=PDDU头长度+PDCP头最大长度;
[0014] 接口驱动模块接收主机发送的数据,从所述主机发送的数据中获取上行分组数据;
[0015] 接口驱动模块将所述上行分组数据存储到所述分组数据存储单元;其中,所述上行分组数据存储的起始地址=PDDU首地址+第一偏移地址;
[0016] 接口驱动模块设置第一数据长度=所述上行分组数据的长度;
[0017] 接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块;
[0018] 如果主机与无线Modem的连接方式为拨号连接,接口适配模块设置第二偏移地址=第一偏移地址+PPP头长度,第二数据长度=第一数据长度-PPP头长度-PPP尾长度;
[0019] 如果主机与无线Modem的连接方式为虚拟以太网连接,接口适配模块设置第二偏移地址=第一偏移地址,第二数据长度=第一数据长度;
[0020] 接口适配模块发送所述第二偏移地址和第二数据长度给PDCP模块;
[0021] PDCP模块将PDCP头写入所述分组数据存储单元,所述PDCP头写入的起始地址=PDDU首地址+第二偏移地址-PDCP头长度;
[0022] PDCP模块设置第三偏移地址=第二偏移地址-PDCP头长度,设置第三数据长度=第二数据长度+PDCP头长度;
[0023] PDCP模块发送所述第三偏移地址和第三数据长度给RLC模块;
[0024] RLC模块根据所述第三偏移地址和所述第三数据长度从所述分组数据存储单元中获得SDU,对所述SDU分包获得PDU发送给MAC模块。
[0025] 进一步的,所述接口驱动模块接收主机发送的数据,从所述主机发送的数据中获取上行分组数据包括:
[0026] 如果主机与无线Modem的连接方式为拨号连接,接口驱动模块接收主机发送的PPP分组数据字节流,对所述PPP分组数据字节流进行去除逃逸字节,获得所述上行分组数据;
[0027] 如果主机与无线Modem的连接方式为虚拟以太网连接,接口驱动模块接收主机发送的IP分组数据,将所述IP分组数据作为上行分组数据。
[0028] 进一步的,所述接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块包括:
[0029] 接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元;
[0030] 接口驱动模块发送所述PDDU的首地址给所述接口适配模块。
[0031] 进一步的,所述接口适配模块发送所述第二数据长度和第二偏移地址给PDCP模块包括:
[0032] 接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容;
[0033] 接口适配模块发送所述PDDU的首地址给所述PDCP模块。
[0034] 进一步的,所述PDCP模块发送所述第三数据长度和第三偏移地址给RLC模块包括:
[0035] PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容;
[0036] PDCP模块发送所述PDDU的首地址给所述RLC模块。
[0037] 进一步的,所述方法还包括:
[0038] 所述接口驱动模块申请PDDU存储空间后,接口驱动模块发送PDDU首地址给接口适配模块、PDCP模块和RLC模块。
[0039] 进一步的,所述接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块包括:
[0040] 接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元;
[0041] 接口驱动模块发送中断给所述接口适配模块;
[0042] 接口适配模块根据所述PDDU首地址获取所述第一数据长度和第一偏移地址。
[0043] 进一步的,所述接口适配模块发送所述第二数据长度和第二偏移地址给PDCP模块包括:
[0044] 接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容;
[0045] 接口适配模块发送中断给所述PDCP模块;
[0046] PDCP模块根据所述PDDU首地址获取所述第二数据长度和第二偏移地址。
[0047] 进一步的,所述PDCP模块发送所述第三数据长度和第三偏移地址给RLC模块包括:
[0048] PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容;
[0049] PDCP模块发送中断给所述RLC模块;
[0050] RLC模块根据所述PDDU首地址获取所述第三数据长度和第三偏移地址。
[0051] 本发明的技术方案中,通过接口驱动模块在接收到上行数据时申请统一的PDDU存储空间,无线Modem的各个模块在进行本层数据封装时,只需要修改上行分组数据存储的偏移地址和/或将本层封装的头尾数据写入对应的位置,各个模块之间只需要传递数据长度和数据地址,在整个数据处理过程中,只需要接口驱动模块在接收到上行数据时进行一次存储空间申请,本发明的技术方案减少了上行分组数据处理过程中数据拷贝和保存、存储空间申请和释放的操作次数,有效提高了上行分组数据处理过程的效率。

附图说明

[0052] 图1是本发明具体实施方式中PDDU结构示意图;
[0053] 图2是本发明具体实施例无线Modem上行分组数据处理方法流程图;

具体实施方式

[0054] 为了更好的说明本发明的技术方案,下面结合附图对本发明的具体实施方式进行详细描述。
[0055] 本发明的具体实施方式中,构建的PDDU的结构如图1所示,包括PDDU头和分组数据存储单元;所述分组数据存储单元用于存储上行分组数据;所述PDDU存储空间的长度=PDDU头长度+分组数据存储单元长度;其中,分组数据存储单元长度=PDCP头最大长度+上行分组数据最大长度;
[0056] 其中,所述PDDU头包括:PDDU首地址存储单元,用于存储PDDU存储空间的首地址;偏移地址存储单元,用于存储上行分组数据在分组数据存储单元的起始存储地址距离所述PDDU存储空间首地址的偏移量;分组数据长度存储单元,用于存储分组数据存储单元中存储的上行分组数据的长度;
[0057] 所述上行分组数据最大长度和所述PDCP头最大长度可根据具体的通信系统和通信协议配置,例如,在GMR-1卫星通信系统中,PDCP头最大长度为3字节,上行分组数据的最大长度为1600字节;
[0058] 分组数据长度存储单元的长度和偏移地址存储单元长度可根据具体通信系统的要求进行设置,例如,对GMR-1卫星通信系统,分组数据长度存储单元可以设置为2个字节,偏移地址存储单元长度可设置为1或2个字节。
[0059] 具体实施例
[0060] 本实施例为本发明无线Modem上行分组数据处理方法的一种优选实施方式。
[0061] 参见图2,如图2所示,本实施例的上行分组数据处理方法包括:
[0062] 接口驱动模块接收到主机发送的数据;
[0063] S101、接口驱动模块申请PDDU存储空间;
[0064] S102、接口驱动模块设置第一偏移地址;
[0065] 第一偏移地址=PDDU头长度+PDCP头最大长度;
[0066] S103、接口驱动模块接收主机发送的数据,从所述主机发送的数据中获取上行分组数据并保存到分组数据存储单元;
[0067] 作为本发明的一种优选实现方案,本实施例中,本步骤可进一步包括:
[0068] S1031、接口驱动模块判断主机与无线Modem的连接方式,如果是拨号连接,执行步骤S1032;如果是虚拟以太网连接,执行步骤S1033;
[0069] S1032、接口驱动模块接收主机发送的PPP分组数据字节流,对所述PPP分组数据字节流进行去除逃逸字节,获得所述上行分组数据;执行步骤S1034;
[0070] S1033、接口驱动模块接收主机发送的IP分组数据,将所述IP分组数据作为上行分组数据;
[0071] S1034、接口驱动模块将所述上行分组数据存储到所述分组数据存储单元中;
[0072] 所述上行分组数据存储的起始地址=PDDU首地址+第一偏移地址;
[0073] S104、接口驱动模块设置第一数据长度;
[0074] 第一数据长度=所述上行分组数据的长度;
[0075] S105、接口驱动模块发送所述第一数据长度和第一偏移地址给接口适配模块;
[0076] 作为本发明的一种优选实现方案,本实施例中,本步骤可以进一步包括:
[0077] S1051、接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元;
[0078] S1052、接口驱动模块发送所述PDDU的首地址给所述接口适配模块。
[0079] 本实施例中,步骤S105也可以采用其他方式实现,本发明对此没有限制;
[0080] 例如,接口驱动模块也可以直接将所述第一数据长度、所述第一偏移地址和所述PDDU的首地址一起发送给接口适配模块。
[0081] 例如,步骤S101中,接口驱动模块完成PDDU存储空间申请后,将PDDU存储空间首地址发送给接口适配模块、PDCP模块、RLC模块;步骤S105中,接口驱动模块将所述第一数据长度保存到所述分组数据长度存储单元,将所述第一偏移地址保存到所述偏移地址存储单元,接口驱动模块发送中断通知接口适配模块,接口适配模块从所述PDDU存储空间中获取所述第一偏移地址和第一数据长度。
[0082] S106、接口适配模块设置第二偏移地址和第二数据长度;
[0083] 如果主机与无线Modem的连接方式为拨号连接,接口适配模块设置第二偏移地址=第一偏移地址+PPP头长度,第二数据长度=第一数据长度-PPP头长度-PPP尾长度;
[0084] 如果主机与无线Modem的连接方式为虚拟以太网连接,接口适配模块设置第二偏移地址=第一偏移地址,第二数据长度=第一数据长度;
[0085] S107、接口适配模块发送所述第二偏移地址和第二数据长度给PDCP模块;
[0086] 作为本发明的一种优选实现方案,本实施例中,本步骤可以进一步包括:
[0087] S1071、接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容;
[0088] S1072、接口适配模块发送所述PDDU的首地址给所述PDCP模块。
[0089] 本实施例中,步骤S107也可以采用其他方式实现,本发明对此没有限制;
[0090] 例如,接口适配模块也可以直接将所述第二数据长度、所述第二偏移地址和所述PDDU的首地址一起发送给PDCP模块。
[0091] 例如,步骤S101中,接口驱动模块完成PDDU存储空间申请后,将PDDU存储空间首地址发送给接口适配模块、PDCP模块、RLC模块;步骤S107中,接口适配模块用所述第二数据长度更新所述分组数据长度存储单元中的内容,用所述第二偏移地址更新所述偏移地址存储单元中的内容,接口适配模块发送中断通知PDCP模块,PDCP模块从所述PDDU存储空间中获取所述第二偏移地址和第二数据长度。
[0092] S108、PDCP模块将PDCP头写入所述分组数据存储单元,设置第三偏移地址和第三数据长度;
[0093] 所述PDCP头写入的起始地址=PDDU首地址+第二偏移地址-PDCP头长度;
[0094] PDCP模块设置第三偏移地址=第二偏移地址-PDCP头长度,设置第三数据长度=第二数据长度+PDCP头长度;
[0095] S109、PDCP模块发送所述第三偏移地址和第三数据长度给RLC模块;
[0096] 作为本发明的一种优选实现方案,本实施例中,本步骤可以进一步包括:
[0097] S1091、PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容;
[0098] S1092、PDCP模块发送所述PDDU的首地址给所述RLC模块。
[0099] 本实施例中,步骤S109也可以采用其他方式实现,本发明对此没有限制;
[0100] 例如,PDCP模块也可以直接将所述第三数据长度、所述第三偏移地址和所述PDDU的首地址一起发送给RLC模块。
[0101] 例如,步骤S101中,接口驱动模块完成PDDU存储空间申请后,将PDDU存储空间首地址发送给接口适配模块、PDCP模块、RLC模块;步骤S109中,PDCP模块用所述第三数据长度更新所述分组数据长度存储单元中的内容,用所述第三偏移地址更新所述偏移地址存储单元中的内容,PDCP模块发送中断通知RLC模块,RLC模块从所述PDDU存储空间中获取所述第三偏移地址和第三数据长度。
[0102] S110、RLC模块根据所述第三偏移地址和所述第三数据长度从所述分组数据存储单元中获得SDU,对所述SDU分包获得PDU发送给MAC模块。
[0103] 本具体实施例中,通过构建PDDU,无线Modem在上行分组数据处理过程中仅需要在接收到主机发送的上行数据时申请一次存储空间用于存储上行分组数据;此后,接口驱动模块和接口适配模块、接口适配模块和PDCP模块、PDCP模块和RLC模块之间在数据传输过程中均无需拷贝、存储全部分组数据,各模块之间也只需要传递少量的地址信息,减少了上行分组数据处理过程中数据拷贝和保存、存储空间申请和释放的操作次数,有效的提高了上行分组数据处理过程的效率。
[0104] 需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。