一种数据传输方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种数据传输方法和装置。
背景技术
长期演进(Long Term Evolution,LTE)系统在进行数据传输时,当建立一个专有承载后,可以通过业务流模板(Traffic Flow Template,TFT)规定该专有承载的目的地址和端口号,随后可以通过专用承载进行数据传输。
LTE相关设备传输数据时会采用用户数据包协议(User Datagram Protocol,UDP)进行UDP数据包的传输,但在广域网上数据是采用网络互连协议(Internet Protocol,IP)进行IP数据包的传输,因此在广域网上传输数据之前需要将该UDP数据包构成IP数据包进行传输。
当UDP数据包的数据量比较大时,一个UDP数据包会被分片成多个IP数据包,然后经LTE模块传输到广域网中。当一个UDP数据包被分成过给IP数据包时,仅在第一个IP数据包中携带UDP头,可以对该UDP头进行解析,进而确认该UDP的端口号所符合的专有承载的TFT,即匹配该IP数据包的专有承载并在该专有承载上传输。但是从第二个IP数据包开始,由于其不含有UDP头,因此LTE模块无法匹配到该IP数据包的专有承载,只能将其在默认承载上进行传输。
实际上,上述IP数据包属于同一个UDP数据包,因此都应该在专用承载上进行传输,且在默认承载上传输时,传输效率和质量都无法得到保证,导致数据传输出现问题。
发明内容
本发明提供了一种数据传输方法和装置,以解决数据传输中传输效率和质量都无法得到保证的问题。
为了解决上述问题,本发明公开了一种数据传输方法,包括:
对待传输数据包进行解析,获取所述待传输数据包所属的第一格式数据包组中第一个数据包的头信息,其中,所述第一格式数据包组是由一个第二格式数据包转化得到的;
确定与所述头信息对应的专用承载,并采用所述专用承载发送所述数据包。
相应的,本发明实施例还提供了一种数据传输装置,包括:
解析模块,对待传输数据包进行解析,获取所述待传输数据包所属的第一格式数据包组中第一个数据包的头信息,其中,所述第一格式数据包组是由一个第二格式数据包转化得到的;
确定模块,用于确定与所述头信息对应的专用承载;
发送模块,用于采用所述专用承载发送所述数据包。
与现有技术相比,本发明包括以下优点:
能够对接收到的数据包进行解析,若从该数据包中解析出头信息和识别字段信息,则说明该数据包是某一UDP数据包的第一个IP数据包,可以依据该头信息确定所述数据包的专用承载,并采用专用承载发送该数据包,并且记录该头信息和识别字段信息,若从数据包中仅解析出了识别字段信息,则说明此时接收到数据包是某一UDP数据包中除第一个以外的其他IP数据包,则可以依据识别字段信息确定头信息,再依据头信息确定专用承载并发送数据,从而使得UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
附图说明
图1是本发明实施例一提供的数据传输方法流程图;
图2是本发明实施例二提供的数据传输方法流程图;
图3是本发明实施例三提供的数据传输方法流程图;
图4是本发明实施例四提供的数据传输装置结构图;
图5是本发明实施例四提供的数据传输装置可选结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供了一种数据传输方法,能够获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息,然后确定与该头信息对应的专用承载,并采用该专用承载发送数据包,其中第一格式数据包组是由一个第二格式数据包转化得到的,因此当第一格式数据包为IP数据包,第二格式数据包为UDP数据包时,UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
实施例一
参照图1,给出了本发明实施例一提供的数据传输方法流程图。
步骤101,对待传输数据包进行解析,获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息。
其中,第一格式数据包组是由一个第二格式数据包转化得到的。本实施例中采用一个或多个IP数据包构成第一格式数据包组,采用UDP数据包作为第二格式数据包。
则采用UDP数据包可以转化成由一个或多个IP数据包构成的第一格式数据包组,在进行转化时,只有第一个IP数据包中会携带头信息,而IP数据包传输时要依据头信息采用确定专用承载并采用专用承载进行传输,为了让第一格式数据包组中的所有IP数据包均通过专用承载进行传输,则第一个IP数据包的头信息作为第一格式数据包组的头信息,则在获取待传输的IP数据包后,要获取该待传输数据包所属的第一格式数据包组的头信息。
步骤102,确定与头信息对应的专用承载,并采用专用承载发送数据包。
然后依据头信息确定专用承载,采用该专用承载传输该待传输的IP数据包,此外,该第一格式数据包组中的所有IP数据包均可以通过该专用承载进行传输,确保同一UDP数据包转化得到的所有IP数据包都可以采用专用承载进行传输,保证传输质量和传输效率。
综上所述,获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息,然后确定与该头信息对应的专用承载,并采用该专用承载发送数据包,其中第一格式数据包组是由一个第二格式数据包转化得到的,因此当第一格式数据包为IP数据包,第二格式数据包为UDP数据包时,UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
实施例二
本发明一个可选实施例中,获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息包括:若解析待传输数据包得到第一头信息和第一识别字段,则确定第一头信息为待传输数据包所属的第一格式数据包组中第一个数据包的头信息,并在保存头信息和识别字段的第一对应关系中记录第一头信息和第一识别字段的对应关系;若解析待传输数据包得到第一识别字段,则在保存的第一对应关系中确定与第一识别字段对应的第一头信息,并确定该第一头信息为待传输数据包所属的第一格式数据包组中第一个数据包的头信息。
在第一格式数据包组中,第一个数据包含有头信息和识别字段,而其他数据包中仅含有识别字段,因此在对数据包进行解析时,若该数据包是第一个数据包,则可以同时解析出第一头信息和第一识别字段。由于专用承载的配置需要依据头信息,因此要在保存头信息和识别字段的第一对应关系中记录第一头信息和第一识别字段的对应关系。
从而若解析仅得到第一识别字段,则可以依据第一对应关系确定与第一识别字段对应的第一头信息,从而依据该头信息确定专用承载。
在上述实施例的基础上,本实施例进一步论述采用一个或多个IP数据包构成第一格式数据包组,并采用UDP数据包作为第二格式数据包时,一种可选的数据的传输方法。
参照图2,给出了本发明实施例二提供的数据传输方法流程图。
步骤201,对数据包进行解析。
由于在广域网上采用IP协议进行传输的数据包,该IP数据包是在广域网上传输数据之前由UDP数据包构成的,因此本实施例是在UDP数据包转换成IP数据包之后,发送该IP数据包到网络之前,对该IP数据包进行解析。
通常广域网上传输的IP数据包最大的长度为1500字节(Byte),如果UDP数据转换成IP数据包以后,完整的IP数据包的长度超过了1500B,则该完整的IP数据包会产生分片,即完整的IP数据包会分成多个IP数据包分片在网络中传输。因此,为了标识各分片属于同一个完整的IP数据包(即来源于同一的UDP数据包),可以在分片产生的每个IP数据包的IP数据头中设置一个16比特(bit)位长的识别(identification)字段,则隶属同一个完整的IP数据包的各IP数据包分片的identification字段是相同的。当各IP数据包传输到目的地址之后,可以依据根据identification字段将各IP数据包重新组成一个完整的IP数据包。其中,一个完整的IP数据包的分片中,仅第一个IP数据包中会携带UDP数据的头信息。
因此在将UDP数据包转换成IP数据包之后,发送该数据包到网络之前,首先对待传输的IP数据包进行解析,可以从该IP数据包中解析出identification字段,用以确定该IP数据包所属的完整的IP数据包。此外,由于一个完整的IP数据包分片产生的第一个IP数据包中会携带UDP数据的头信息,因此在对IP数据包进行解析时,还可能从该IP数据包中解析出头信息。
步骤202,是否解析出数据包的头信息。
若是,即从数据包中解析出头信息和identification字段,则说明收到了隶属同一个完整的IP数据包中的第一个IP数据包,执行步骤103。
若否,即从数据包中仅解析出了identification字段,说明收到了隶属同一个完整的IP数据包中出第一个以外的其他IP数据包,执行步骤104。
步骤203,记录头信息和识别字段。
在从IP数据包中解析出头信息和identification字段之后,可以对该头信息和identification字段进行记录并保存,在记录时可以建立头信息和identification字段的第一对应关系,从而通过identification字段可以查找到头信息。
步骤204,按照识别字段信息查找头信息。
在从IP数据包中解析出identification字段之后,可以依据identification字段和头信息的第一对应关系,查找到该identification字段对应的头信息。
步骤205,按照头信息确定该数据包的专用承载,并采用该专用承载发送数据包。
无论是通过解析获取到IP数据包的头信息,还是通过解析获取到的identification字段确定头信息,均可以依据该头信息中的源端口和目的端口查找到匹配TFT的性能的专有承载,然后将该IP数据包采用该专用承载进行发送,从而使得同一UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
其中,专用承载是在公用数据网(Public Data Network,PDN)链接建立的基础上建立的,是为了提供某种特定的服务质量(Quality of Service,QoS)传输需求而建立的。TFT中包含业务数据流的过滤器,而这些过滤器只能匹配符合某些准则的分组。
综上所述,对接收到的数据包进行解析,若从该数据包中解析出头信息和识别字段信息,则说明该数据包是某一UDP数据包的第一个IP数据包,可以依据该头信息确定数据包的专用承载,并采用专用承载发送该数据包,并且记录该头信息和识别字段信息,若从数据包中仅解析出了识别字段信息,则说明此时接收到数据包是某一UDP数据包中除第一个以外的其他IP数据包,则可以依据识别字段信息确定头信息,再依据头信息确定专用承载并发送数据,从而使得UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
实施例三
本发明一个可选实施例中,确定与头信息对应的专用承载,包括:从头信息中获取数据包的源端口和目的端口;依据源端口和目的端口确定专用承载。
为了快速的确定专用承载,可以预先保存头信息与专用承载的第二对应关系,因此,本发明一个可选实施例中,可以在保存的头信息与专用承载的第二对应关系中,记录已确定头信息与专用承载的对应关系。其中第一对应关系和第二对应关系可以存储于一个数据表中,也可以存储于两个数据表中,本发明实施例对此不做限定。
本发明一个可选实施例中,确定与头信息对应的专用承载,包括:从保存的头信息与专用承载的第二对应关系中,查找与所属的第一格式数据包组中第一个数据包的头信息对应的专用承载。
当依据反馈信息确定具有相同识别字段的一系列数据包传输完毕后,从第一对应关系中删除第一头信息和第一识别字段。
基于上述实施例,本实施例进一步论述传输IP数据包的过程。
参照图3,给出了本发明实施例三提供的数据传输方法流程图。
步骤301,对IP数据包进行解析。
终端中发送数据时,当在UDP数据包转换成IP数据包后,该IP数据包会首先到达上网卡,从而中继(IP RELAY)模块会首先对该IP数据包进行解析。
步骤302,是否解析出IP数据包的头信息。
若是,即从IP数据包中解析出头信息和identification字段,则说明收到了隶属同一个完整的IP数据包中的第一个IP数据包,执行步骤303。
若否,即从IP数据包中仅解析出了identification字段,说明收到了隶属同一个完整的IP数据包中出第一个以外的其他IP数据包,执行步骤304。
步骤303,在预置的数据表中记录该头信息和identification字段的对应关系。
若IP RELAY模块解析获取数据包的头信息和identification字段,则说明接收到了具有相同identification字段的一系列IP数据包的第一个IP数据包,即收到了隶属同一个完整的IP数据包中的第一个IP数据包,从而可以对头信息和identification字段进行记录。
由于隶属同一个完整的IP数据包的各IP数据包可能不是顺序到达的,因此IPRELAY模块要保存多个UDP的头信息以及各头信息所对应的identification字段,因此可以预置一数据表用以保存头信息和和identification字段的第一对应关系,如采用哈希表(Hash table),从而在解析得到头信息和identification字段之后,将其对应关系记录在预置的数据表中。
步骤304,从预置的数据表中查找与该identification字段具有对应关系的头信息。
若解析仅获取IP数据包的identification字段,则说明接收到了具有相同identification字段的一系列IP数据包中除第一个IP数据包以外的其他IP数据包,即收到了隶属同一个完整的IP数据包中出第一个以外的其他IP数据包,可以从预置的数据表中查找与该identification字段具有第一对应关系的头信息。
步骤305,按照头信息确定IP数据包的专用承载,并采用专用承载发送该IP数据包。
本发明一个可选实施例中,按照头信息确定IP数据包的专用承载,并采用专用承载发送该IP数据包,包括:从头信息中获取该IP数据包的源端口和目的端口;依据该源端口和目的端口选择专用承载;采用专用承载发送该IP数据包。
在确定IP数据包的头信息之后,可以从头信息中获取其携带的源端口和目的端口,然后采用该源端口和目的端口与TFT的规则进行匹配,查找到匹配TFT的性能更高的专有承载,然后采用该专用承载发送该IP数据包。
无论是通过解析获取到头信息,还是通过identification字段查找到头信息都可以采用上述方法匹配源端口和目的端口确定专用承载。为了减少对资源的浪费,还可以预先存储第一个IP数据包采用的专用承载,从而后续的其他IP可以无需再次匹配而直接采用该IP数据包传输。
本发明一个可选实施例中,为了减少对资源的浪费,在接收到隶属同一个完整的IP数据包中的第一个IP数据包之后,依据该IP数据包的头信息确定专用承载后,可以将该IP数据包的头信息、identification字段和专用承载都添加至预置的数据表中,即该数据表中不但存储有头信息和identification字段的对应关系,还可以存储专用承载与该头信息的关联关系,如在数据表中可以头信息、identification字段和专用承载的对应关系。
此后,在解析到identification字段与该第一个IP数据包的相同的其他IP数据包时,说明该其他IP数据包与该第一个IP数据包隶属同一个完整的IP数据包,从而在依据identification字段查找预置的数据表时,不但可以查找到头信息,还可以查找到该第一个IP数据包采用的专用承载,直接采用该专用承载发送其他IP数据包即可,从而不用再依据头信息进行重新匹配。
步骤306,检测具有相同identification字段的一系列IP数据包是否传输完毕。
若是,即具有相同identification字段的一系列IP数据包已传输完毕,则执行步骤307。
若否,即具有相同identification字段的一系列IP数据包未传输完毕,则返回步骤301。
步骤307,从预置的数据表中删除头信息和identification字段。
在IP数据包中不但会包括identification字段,还包括标志位信息,其中含有数据包的大小,距离第一个数据包的偏移等信息,从而依据标志位可以计算出具有相同identification字段的一系列IP数据包是否传输完毕,网络对端若计算出该数据包已传输完毕,则会反馈传输完毕的信息,IP RELAY模块接收到该信息后即可确定隶属同一个完整的IP数据包的各IP数据包分片都已传输完毕,则不再需要该IP数据包的头信息还确定专用承载,为了避免资源的浪费,可以从该预置的数据表中删除头信息和identification字段,若该数据表中还保存了与头信息关联的专用承载,则同样删除该占用承载,从而在预置的数据表中不再保存给完整的IP数据包的信息。
综上,为了减少对资源的浪费,还可以预先记录第一个IP数据包采用的专用承载,从而后续的其他IP可以无需再次匹配而直接采用该IP数据包传输。
其次,在具有相同identification字段的一系列IP数据包已传输完毕后,可以将从预置的数据表中删除该一系列IP数据包对应的头信息和identification字段,防止造成资源的浪费。
实施例四
参照图4,给出了本发明实施例四提供的数据传输装置结构图。
在上述实施例的基础上,本实施例还提供了一种数据传输装置,包括:解析模块401、确定模块402和发送模块403。
其中,确定模块402分别连接解析模块301和发送模块403,则解析模块401用于对待传输数据包进行解析,获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息,其中,第一格式数据包组是由一个第二格式数据包转化得到的;确定模块402用于确定与头信息对应的专用承载;发送模块403用于采用专用承载发送数据包。
综上所述,获取待传输数据包所属的第一格式数据包组中第一个数据包的头信息,然后确定与该头信息对应的专用承载,并采用该专用承载发送数据包,其中第一格式数据包组是由一个第二格式数据包转化得到的,因此当第一格式数据包为IP数据包,第二格式数据包为UDP数据包时,UDP数据包所构成的所有IP数据包都能通过专用承载进行发送,确保传输效率和质量。
参照图5,给出了本发明实施例四提供的数据传输装置可选结构图。
本发明一个可选实施例中,解析模块401,包括:解析子模块4011、保存子模块4012和确定子模块4013。
其中,解析子模块4011分别连接保存子模块4012和确定子模块4013,解析子模块4011用于对待传输数据包进行解析;保存子模块4012用于当解析待传输数据包得到第一头信息和第一识别字段时,确定该第一头信息为待传输数据包所属的第一格式数据包组中第一个数据包的头信息,并在保存头信息和识别字段的第一对应关系中记录第一头信息和第一识别字段的对应关系;确定子模块4013用于当解析待传输数据包得到第一识别字段时,在保存的第一对应关系中确定与第一识别字段对应的第一头信息,并确定第一头信息为待传输数据包所属的第一格式数据包组中第一个数据包的头信息。
本发明一个可选实施例中,确定模块402包括:获取子模块34021和专用承载确定子模块4022,其中专用承载确定子模块4022连接获取子模块4021,则获取子模块4021用于从头信息中获取数据包的源端口和目的端口;专用承载确定子模块4022用于依据源端口和目的端口确定专用承载。
本发明一个可选实施例中,该数据传输装置还包括:记录模块404,其中记录模块404连接获取模块401,记录模块404用于在保存的头信息与专用承载的第二对应关系中,记录已确定头信息与专用承载的对应关系。
本发明一个可选实施例中,确定模块402具体用于从保存的头信息与专用承载的第二对应关系中,查找与所属的第一格式数据包组中第一个数据包的头信息对应的专用承载。
本发明一个可选实施例中,数据传输装置还包括:删除模块405,删除模块405连接发送模块403,删除模块405用于当依据反馈信息确定第一格式数据包组传输完毕后,从第一对应关系中删除第一头信息和第一识别字段。
综上所述,为了减少对资源的浪费,还可以预先记录第一个IP数据包采用的专用承载,从而后续的其他IP可以无需再次匹配而直接采用该IP数据包传输。
其次,在具有相同identification字段的一系列IP数据包已传输完毕后,可以将从预置的数据表中删除该一系列IP数据包对应的头信息和identification字段,防止造成资源的浪费。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据传输方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。