WO2012151922A1 - 数据转发方法及装置 - Google Patents

数据转发方法及装置 Download PDF

Info

Publication number
WO2012151922A1
WO2012151922A1 PCT/CN2011/082535 CN2011082535W WO2012151922A1 WO 2012151922 A1 WO2012151922 A1 WO 2012151922A1 CN 2011082535 W CN2011082535 W CN 2011082535W WO 2012151922 A1 WO2012151922 A1 WO 2012151922A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
forwarding
sub
packets
forwarded
Prior art date
Application number
PCT/CN2011/082535
Other languages
English (en)
French (fr)
Inventor
孙爱芳
俞文俊
袁宜峰
凌志浩
高冲
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012151922A1 publication Critical patent/WO2012151922A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Definitions

  • the present invention relates to the field of communications, and in particular to a data forwarding method and apparatus.
  • a multi-interface device represented by a mobile terminal usually has a plurality of network communication interfaces built therein, for example, a 3G network communication interface and other wireless communication interfaces such as Wireless Fidelity (abbreviated as WiFi).
  • the multi-interface device can only perform data forwarding through one of the multiple network communication interfaces. In a scenario where high-speed forwarding is required, the data forwarding rate is difficult to meet the requirements of the user.
  • the present invention provides a data forwarding method and apparatus, so as to at least solve the problem that the multi-interface device can only forward data through one interface in the related art, thereby causing data forwarding rate to be difficult to meet user requirements.
  • a data forwarding method is provided.
  • the data forwarding method according to the present invention includes: receiving a data packet to be forwarded; splitting the data packet to be forwarded into a plurality of sub-data packets; and forwarding the plurality of sub-data packets through the plurality of interfaces.
  • the method further includes: acquiring a data distribution task number in the data packet to be forwarded; and acquiring the traffic distribution decision information corresponding to the data distribution task number.
  • Splitting the data packet to be forwarded into multiple sub-packets includes: splitting the data packet to be forwarded into multiple sub-data packets according to the splitting decision information.
  • the foregoing method further includes: acquiring task progress information of multiple interfaces.
  • Forwarding multiple sub-packets through multiple interfaces includes: selecting an interface for forwarding a plurality of sub-packets among the plurality of interfaces according to the split decision information and the task progress information; and forwarding the plurality of sub-packets through the selected interface.
  • the interface for forwarding multiple sub-packets is re-selected in multiple interfaces; The interface forwards multiple sub-packets.
  • the foregoing method further includes: a decision maker that reports the offloading decision information.
  • the method further includes: when the shunting decision information is received, the data distribution task number in the shunting decision information is an index item, and the shunting decision information is stored.
  • the method further includes: the data distribution task number is not included in the data packet to be forwarded, or the data distribution task number indicates that the operation of splitting the data packet to be forwarded is not performed.
  • the method further includes: releasing a data buffer for forwarding the plurality of sub-packets.
  • the data forwarding device comprises: a receiving module, configured to receive a data packet to be forwarded; a splitting module, configured to split the data packet to be forwarded into a plurality of sub-data packets; and the forwarding module is configured to pass through multiple interfaces Forward multiple sub-packets.
  • the present invention splits the data packet to be forwarded into multiple sub-data packets and forwards them through multiple interfaces, thereby improving the data forwarding rate and improving the user experience.
  • FIG. 1 is a flowchart of a data forwarding method according to an embodiment of the present invention
  • FIG. 2 is a block diagram showing a structure of a data forwarding device according to an embodiment of the present invention
  • FIG. 3 is a structural block diagram of a data forwarding device according to a preferred embodiment of the present invention
  • 4 is a structural block diagram of a data forwarding system in accordance with a preferred embodiment of the present invention
  • FIG. 5 is a flow chart of a data forwarding method in accordance with a preferred embodiment of the present invention.
  • Step S102 receiving a data packet to be forwarded.
  • Step S104 splitting the data packet to be forwarded into multiple sub-data packets.
  • Step S106 forwarding a plurality of sub-data packets through multiple interfaces.
  • the multi-interface device can only forward data through one interface, which makes the data forwarding rate difficult to meet user requirements.
  • the data packet to be forwarded is split into multiple sub-data packets and forwarded through multiple interfaces, thereby improving the data forwarding rate and improving the user experience. It can be seen from step S102 to step S106 that step S104 and step S106 are both critical in the implementation process of the present invention.
  • the forwarding process of each sub-packet in step S106 is efficient and reliable, and the forwarding of the entire data packet can ensure a high data forwarding rate.
  • the following examples are combined to illustrate how to ensure reasonable packet splitting and how to ensure efficient and reliable forwarding of each sub-packet.
  • the first example is split according to the splitting decision information. That is, the data distribution task number in the data packet to be forwarded is obtained first, and the traffic distribution decision information corresponding to the data distribution task number is obtained, and then the data packet to be forwarded is split into multiple sub-data packets according to the traffic distribution decision information.
  • the flow decision information may include the current traffic or forwarding delay of each interface, and the data forwarding device may split the data packet according to the operation in FIG. 5 according to the traffic or the forwarding delay.
  • the decision makers of the offload decision information can be divided into the following categories: (1) a decision method based on an access network side radio resource management device, which analyzes the network environment of the mobile terminal by the radio resource management device. Judging, the service is divided into multiple service sub-flows, which are transmitted through multiple network interfaces of the terminal; (2) based on the terminal-side decision method, the method is analyzed and judged by the mobile terminal for its own network environment, and corresponding The shunting decision; (3) The shunting decision is made by functional entities such as the server of the core network.
  • the decision makers of the split decision information may be user terminals, or access network radio resource management devices, or even core network servers.
  • the data packet split according to the split decision information must also be reasonable.
  • the present invention also provides the following two improvement measures.
  • the improvement measure 1 when the shunt decision information is received, the data distribution task number in the shunt decision information is used as an index item, and the shunt decision information is stored, thereby ensuring that the shunt decision information is obtained as soon as each data packet arrives. , thereby increasing the data forwarding rate and improving the user experience.
  • the improvement measure 2 if the data packet to be forwarded does not include the data distribution task number or the data distribution task number indicates that the operation of splitting the data packet to be forwarded is not performed, the data packet to be forwarded is directly forwarded.
  • the processing method of providing/direct forwarding can satisfy the requirements of the data packet, and can also save forwarding resources to process other data packets.
  • the data distribution task number directly indicates whether splitting is required, and the implementation manner is simple and reliable.
  • the second embodiment forwards the sub-packets according to the split decision information and the task progress information.
  • the task progress information of the multiple interfaces is obtained first, and then the interface for forwarding the plurality of sub-data packets is selected among the multiple interfaces according to the branching decision information and the task progress information, and then the plurality of sub-data packets are forwarded through the selected interface. Since the forwarding target of the present invention is to make the task progress information as good as possible It can meet the diversion decision information, so as to be as close as possible to the diversion target set by the decision maker, and improve the data forwarding rate, thereby improving the user experience.
  • the preferred embodiment provides an interface reselection operation, which is as follows: (1) In multiple sub-interfaces, considering that the forwarding may be blocked or the forwarding delay is increased due to various problems in the sub-packet forwarding process, the preferred embodiment provides the following operations: During the forwarding of the data packet, the forwarding is blocked or the forwarding delay is increased. (2) According to the splitting decision information and the task progress information, the interface for forwarding multiple sub-packets is reselected in multiple interfaces; (3) Forward multiple sub-packets through the reselected interface.
  • the process of re-selection here can be the same as the previous selection process
  • the above steps are adopted to further ensure efficient and reliable forwarding of each sub-packet, thereby improving data forwarding rate and improving user experience. Further, after detecting that the forwarding is blocked or the forwarding delay is increased, the decision maker of the offloading decision information is also required to be reported.
  • the interface reselection operation in the foregoing embodiment is only a temporary measure to solve the problem that the forwarding is blocked or the forwarding delay is increased, and the root cause thereof is more likely that the splitting decision information formulated by the decision maker is unreasonable, therefore, the preferred embodiment
  • the lieutenant will forward the information reporting decision makers whose blocking or forwarding delay is increased, so that the decision makers can formulate more reasonable shunting decision information, thereby further ensuring efficient and reliable forwarding of each sub-packet, thereby improving data forwarding rate and improving users.
  • Experience will forward the information reporting decision makers whose blocking or forwarding delay is increased, so that the decision makers can formulate more reasonable shunting decision information, thereby further ensuring efficient and reliable forwarding of each sub-packet, thereby improving data forwarding rate and improving users.
  • the present invention provides an operation for suspending and reselecting the interface, and the specific operations are as follows: (1) During the forwarding process of multiple sub-packets, receiving The new shunting decision information (2) suspends the forwarding of multiple sub-packets; (3) re-split the data packet to be forwarded into multiple sub-packets according to the new shunting decision information; (4) according to the new shunting decision information And task progress information, reselecting an interface for forwarding multiple sub-packets among multiple interfaces; (5) forwarding multiple sub-packets through the re-selected interface.
  • the preferred embodiment further ensures efficient and reliable forwarding of each sub-packet, thereby improving data forwarding rate and improving user experience.
  • the data buffer for forwarding a plurality of sub-packets is released in time, which can save buffer resources.
  • the embodiment of the invention further provides a data forwarding device, which can be used to implement the data forwarding method.
  • FIG. 2 is a structural block diagram of a data forwarding apparatus according to an embodiment of the present invention. As shown in FIG. 2, the receiving module 22, the splitting module 24, and the forwarding module 26 are included. The structure is described in detail below.
  • the receiving module 22 is configured to receive the data packet to be forwarded; the splitting module 24 is connected to the receiving module 22, and is configured to split the data packet to be forwarded received by the receiving module 22 into multiple sub-data packets; the forwarding module 26, the connection The split module 24 is configured to forward the plurality of sub-packets split by the split module 24 through the plurality of interfaces.
  • the data forwarding device described in the device embodiment corresponds to the foregoing method embodiment, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • 3 is a structural block diagram of a data forwarding device according to a preferred embodiment of the present invention. As shown in FIG.
  • the system includes a traffic distribution decision information storage unit 31, a traffic distribution policy library 32, a task progress information storage unit 33, a data packet analysis processing unit 34, The data buffer unit 35 and the data transmitting unit 36.
  • the offload decision information storage unit 31 is configured to store the offload decision information corresponding to each data distribution task, and the parsing of the unit information needs to be performed by means of the offload policy library 32.
  • the offloading policy library 32 is configured to store the offloading policy followed by the device and all other offload related devices.
  • the offloading strategy library 32 contains at least one policy that can be updated and upgraded by the device manufacturer or user as needed, and the upgrade can be performed directly or remotely.
  • the shunt policy library 32 is arranged to assist in the parsing of the shunt decision information.
  • the task progress information storage unit 33 is arranged to store progress information of each data distribution task, and updates the content of the task progress information storage unit 33 each time the data transmitting unit 36 transmits the data of the data buffer area.
  • the packet analysis processing unit 34 in conjunction with the offload decision information unit 31, splits, merges, or does not process the data packets belonging to a certain data distribution task according to the split decision information, and is in the data cache unit.
  • the storage is performed in 35; at the same time, for the data packet that does not belong to any data distribution task, the packet analysis processing unit 34 only buffers the data packet.
  • the data buffer unit 35 caches all the data packets received by the device.
  • the above data packet includes the split data packet, the merged data packet, and the data packet without any processing.
  • the data buffer unit 35 allocates a certain data buffer for each data distribution task, and when the data distribution task ends, the data buffer unit 35 releases the data buffer.
  • the data sending unit 36 sends the cached data corresponding to the data distribution task in the data buffering unit 35 to the next lower level destination through one or more interfaces according to the contents of the offloading decision information storage unit 31 and the task progress information storage unit 33. address.
  • the implementation process of the embodiment of the present invention will be described in detail below with reference to examples. 4 is a structural block diagram of a data forwarding system according to a preferred embodiment of the present invention. As shown in FIG.
  • the system mainly includes a service providing system 42, a data forwarding device 44, and a user mobile terminal 46.
  • the service providing system 42 is arranged to receive the service request of the user mobile terminal 46 and provide the required service thereto. If desired, the service providing system 42 can perform the offloading decision and send the offloading decision information to the data forwarding device 44.
  • the data forwarding device 44 is configured to receive the shunt decision information sent by the service providing system 42 and store it for establishing a data distribution task and an allocation data buffer. When receiving the data packet, the data forwarding device 44 analyzes the data packet. If the data packet belongs to a certain data forwarding task, it processes and buffers the data packet, and then forwards the data packet through the corresponding interface.
  • the data forwarding device 44 itself can perform a shunting decision if desired.
  • the user mobile terminal 46 is configured to submit a service request, receive the service substream, and present it to the user. If desired, the user mobile terminal 46 can make a split decision and send the offload decision information to the data forwarding device 44.
  • FIG. 5 is a flowchart of a data forwarding method according to a preferred embodiment of the present invention. As shown in FIG. 5, the following steps S501 to S506 are included. In step S501, the data forwarding device 44 establishes a data distribution task for the new offloading decision, stores the offloading decision information, and allocates the task progress information storage area and the data buffer area.
  • the offloading decision information is determined by the offloading decision maker according to the request of the user mobile terminal 46 and the terminal network environment, and the offloading decision information first includes the identifier information, which is used to uniquely identify the offloading decision on the entire network, and may use the target.
  • the IP address of the mobile terminal + the service serial number of the target mobile terminal itself is identified; the data forwarding device uses the identification information as its own data distribution task number.
  • the data forwarding device 44 When receiving the offloading decision information, the data forwarding device 44 first extracts the identification information and matches the data distribution task number being executed. If the offloading decision is a data distribution task being executed by the data forwarding device, the offloading decision information is performed. Update.
  • the data forwarding device establishes a data distribution task for the method: the identifier information (that is, the data distribution task number) is used as an index, the offloading decision information is stored, and the task progress information storage is allocated. Zone and data cache.
  • the task progress information refers to the completion of the data distribution task.
  • the data forwarding device 44 needs to allocate a corresponding storage area for the task progress information.
  • the data buffer is used to buffer the received data. After the data forwarding device 44 analyzes and processes the data, the data packet may need to be split, or multiple data packets may be combined and then sent through the corresponding interface.
  • the data cache should be able to cache all data during the data distribution task.
  • Step S502 the data forwarding device 44 analyzes the received data packet, and queries the traffic distribution decision information and the task progress information corresponding to the data packet according to the data distribution task number.
  • the data forwarding device 44 receives the data packet, first extracts the data distribution task number included in the data packet, and further queries the data forwarding device 44 for the traffic distribution corresponding to the data packet according to the data distribution task number. Decision information and task progress information. If the data received by the data forwarding device is normal data, When the data packet is not required to be analyzed, when the device analyzes the data packet, the data packet should not contain the task distribution number, or the operation corresponding to the task distribution number is "no data offloading", and the data forwarding device 44 only The packet is cached and forwarded.
  • Step S503 the data forwarding device 44 processes and buffers the data packet according to the offload decision information.
  • the data forwarding device 44 extracts the offloading decision information, it combines the shunting policy library in the device to implement the parsing of the shunting decision information, and then processes the data packet.
  • the trafficking policy library is a set of policies or algorithms that all the traffic-related devices in the network comply with.
  • the trafficking policy library can be updated and upgraded.
  • Processing the data packets refers to splitting, merging, or not processing the data packets. Splitting refers to splitting the payload content of a single data packet into multiple data packets and encapsulating them according to the format of the original data packet.
  • the splitting may be uniform or non-uniform splitting; the merge is the reverse process of splitting, The payload content of multiple packets is combined into one packet and encapsulated in the format of the original packet.
  • the specific operations of splitting and merging are completely determined by the splitting decision information.
  • the data forwarding device 44 transmits the data of the buffer area to other devices according to the branching decision information and the task progress information.
  • the data distribution device is combined with the offloading strategy library to implement the parsing of the shunting decision information.
  • the goal of buffer data distribution is to make task progress information more consistent with offload decision information.
  • Table 1 shows a specific embodiment of a split decision information and task progress information:
  • the split decision information indicates that the audio stream is sent to the destination address 1 through interface 1, and 30% of the video stream is sent to the destination address 2 through interface 2. 70% of the video stream is sent to the destination address 3 through the interface 3; the current task progress information shows that the interface 2 completes more tasks than the interface 3, and the newly received video stream data packet should be sent by the interface 3 first.
  • the destination address described here refers to the next-level destination address of the data packet, not necessarily the final destination address of the data packet.
  • Table 1 Specific embodiments of the split decision information and the task progress information
  • the data forwarding device 44 can send data packets to different lower-level destination addresses through multiple interfaces, or can be sent to the same interface through the same interface. Different lower level destination addresses.
  • the data forwarding device 44 updates and stores the task progress information. While the buffer area data is being sent, the data load content of the data packet is counted, and when the transmission ends, the task progress information is updated. Step S506, if the data distribution task ends, releasing the data distribution task number, the branching decision information, and the data buffer.
  • the data distribution task ends in at least two types: (1) The offloading policy maker sends an end command to the device, and the offloading task ends; (2) the device queries the task progress information, and the progress information displays the present When the task has been completed, the device determines that the offloading task ends. It should be noted that during the execution of steps S501 to S506, the data forwarding device 44 is capable of receiving and updating the offload decision information. When the split decision information is updated, the packet processing and distribution under the original decision information is suspended, and steps S501 to S506 are performed again according to the new split decision information.
  • the data forwarding device 44 may transmit the data packet according to other paths indicated by the split decision information, and simultaneously send a report to the split decision maker.
  • the steps shown in the flowchart of the accompanying drawings may be performed in a computer system such as a set of computer executable instructions, and, although the logical order is shown in the flowchart, in some cases, The steps shown or described may be performed in an order different than that herein.
  • a data forwarding method and apparatus are provided.
  • the present invention splits the data packet to be forwarded into multiple sub-data packets and forwards them through multiple interfaces, thereby improving the data forwarding rate and improving the user experience.
  • the data forwarding device according to the offloading decision information of the branching decision maker, processes and buffers the received data packets to be distributed, and then sends the data packets to different lower-level destination addresses through one or more interfaces, thereby implementing service shunting. transmission.
  • a general-purpose computing device which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices.
  • the invention is not limited to any specific combination of hardware and software.
  • the above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.

Abstract

本发明公开了一种数据转发方法及装置,该方法包括:接收到待转发的数据包;将待转发的数据包拆分为多个子数据包;通过多个接口转发多个子数据包。本发明将待转发的数据包拆分为多个子数据包并通过多个接口转发,从而可以提高数据转发速率,进而提升用户体验。

Description

数据转发方法及装置 技术领域 本发明涉及通信领域, 具体而言, 涉及一种数据转发方法及装置。 背景技术 目前, 以移动终端为代表的多接口设备通常内置多个网络通信接口, 例如以 3G 网络通信接口为主并搭载无线保真 (Wireless Fidelity, 简称为 WiFi) 等其它多个网络 通信接口。 但是, 相关技术中, 多接口设备只能通过上述多个网络通信接口中的一种接口进 行数据转发, 而在需要高速转发的场景下, 这种数据转发速率势必难以满足用户的需 求。 发明内容 本发明提供了一种数据转发方法及装置, 以至少解决相关技术中多接口设备只能 通过一种接口进行数据转发, 从而导致数据转发速率难以满足用户需求的问题。 为了实现上述目的, 根据本发明的一个方面, 提供了一种数据转发方法。 根据本发明的数据转发方法包括: 接收到待转发的数据包; 将待转发的数据包拆 分为多个子数据包; 通过多个接口转发多个子数据包。 在将待转发的数据包拆分为多个子数据包之前, 上述方法还包括: 获取待转发的 数据包中的数据分发任务号; 获取数据分发任务号对应的分流决策信息。 将待转发的 数据包拆分为多个子数据包包括: 根据分流决策信息, 将待转发的数据包拆分为多个 子数据包。 在通过多个接口转发多个子数据包之前, 上述方法还包括: 获取多个接口的任务 进度信息。通过多个接口转发多个子数据包包括: 根据分流决策信息和任务进度信息, 在多个接口中选择用于转发多个子数据包的接口;通过选择的接口转发多个子数据包。 在多个子数据包的转发过程中, 检测到转发受阻或转发时延增大; 根据分流决策 信息和任务进度信息, 在多个接口中重新选择用于转发多个子数据包的接口; 通过重 新选择的接口转发多个子数据包。 在检测到转发受阻或转发时延增大之后, 上述方法还包括: 报告分流决策信息的 决策制定者。 在多个子数据包的转发过程中, 接收到新的分流决策信息; 暂停多个子数据包的 转发; 根据新的分流决策信息, 将待转发的数据包重新拆分为多个子数据包; 根据新 的分流决策信息和任务进度信息, 在多个接口中重新选择用于转发多个子数据包的接 口; 通过重新选择的接口转发多个子数据包。 在获取数据分发任务号对应的分流决策信息之前, 上述方法还包括: 当接收到分 流决策信息时, 以该分流决策信息中的数据分发任务号为索引项, 对该分流决策信息 进行存储。 在获取待转发的数据包中的数据分发任务号之后, 上述方法还包括: 在待转发的 数据包中不包含数据分发任务号或者数据分发任务号指示不执行拆分待转发的数据包 的操作的情况下, 直接转发待转发的数据包。 在通过多个接口转发多个子数据包之后, 上述方法还包括: 释放用于转发多个子 数据包的数据缓存区。 为了实现上述目的, 根据本发明的另一方面, 提供了一种数据转发装置。 根据本发明的数据转发装置包括: 接收模块, 设置为接收待转发的数据包; 拆分 模块, 设置为将待转发的数据包拆分为多个子数据包; 转发模块, 设置为通过多个接 口转发多个子数据包。 本发明将待转发的数据包拆分为多个子数据包并通过多个接口转发, 从而可以提 高数据转发速率, 进而提升用户体验。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中: 图 1是根据本发明实施例的数据转发方法的流程图; 图 2是根据本发明实施例的数据转发装置的结构框图; 图 3是根据本发明优选实施例的数据转发装置的结构框图; 图 4是根据本发明优选实施例的数据转发系统的结构框图; 图 5是根据本发明优选实施例的数据转发方法的流程图。 具体实施方式 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。 下面将参考附图并结合实施例来详细说明本发明。 本发明提供了一种数据转发方法。 图 1是根据本发明实施例的数据转发方法的流 程图, 如图 1所示, 包括如下的步骤 S102至步骤 S106。 步骤 S102, 接收到待转发的数据包。 步骤 S104, 将待转发的数据包拆分为多个子数据包。 步骤 S106, 通过多个接口转发多个子数据包。 相关技术中, 多接口设备只能通过一种接口进行数据转发, 从而导致数据转发速 率难以满足用户需求。 本发明实施例中, 将待转发的数据包拆分为多个子数据包并通 过多个接口转发, 从而可以提高数据转发速率, 进而提升用户体验。 通过步骤 S102至步骤 S106可以看出, 在本发明的实现过程中步骤 S104和步骤 S106都是很关键的。如果步骤 S104中的数据包拆分合理, 步骤 S106中的每个子数据 包的转发过程均高效、 可靠, 则可以保证整个数据包的转发具备高数据转发速率。 下 面结合实例对如何保证数据包拆分合理以及如何保证每个子数据包转发地高效、 可靠 进行详细描述。 实例一 为了保证数据包拆分合理, 本实例一是根据分流决策信息拆分的。 即, 先获取待 转发的数据包中的数据分发任务号, 再获取数据分发任务号对应的分流决策信息, 然 后再根据分流决策信息, 将待转发的数据包拆分为多个子数据包。 需要说明的是, 分 流决策信息可以包括各接口的当前流量或转发时延, 数据转发装置可以根据该流量或 转发时延, 按照图 5中的操作拆分数据包。 目前, 该分流决策信息的决策制定者可以分为如下的几类: (1 ) 基于接入网侧无 线资源管理装置的决策方法, 该方法由无线资源管理装置对移动终端的网络环境进行 分析和判断, 将业务分为多个业务子流, 通过终端的多个网络接口进行传输; (2) 基 于终端侧的决策方法, 该方法由移动终端对自身的网络环境进行分析和判断, 制定相 应的分流决策; (3 ) 由核心网的服务器等功能实体制定分流决策。 因此, 随着网络架 构的演变及应用环境的多样性, 分流决策信息的决策制定者可能是用户终端, 或者是 接入网无线资源管理装置, 甚至是核心网服务器。 但是, 在这种多种决策制定者共存的情况下, 无论该分流决策信息的决策制定者 具体采取哪种或哪几种, 它都是最有利于制定合理的分流决策信息的决策制定者, 因 此, 根据该分流决策信息拆分的数据包一定也是合理的。 进一步地, 为了在获取数据分发任务号对应的分流决策信息时保证获取效率, 从 而保证数据包拆分合理, 本发明还提供如下的两种改进措施。 改进措施一 当接收到分流决策信息时, 以该分流决策信息中的数据分发任务号为索引项, 对 该分流决策信息进行存储, 从而可以保证在每个数据包到来时尽快地获取分流决策信 息, 进而提高数据转发速率, 提升用户体验。 改进措施二 若待转发的数据包中不包含数据分发任务号或者数据分发任务号指示不执行拆分 待转发的数据包的操作, 则直接转发待转发的数据包。 这样, 针对部分待转发的数据 包不允许或者不需要拆分的情况, 提供/直接转发的处理方式, 既可以满足该数据包 的要求, 又可以节约转发资源从而处理其它数据包。 并且, 通过数据分发任务号直接 指示是否需要拆分, 其实现方式简便、 可靠。 实例二 为了保证每个子数据包的转发过程均高效、 可靠, 本实例二根据分流决策信息和 任务进度信息进行转发子数据包。 即, 先获取多个接口的任务进度信息, 再根据分流 决策信息和任务进度信息, 在多个接口中选择用于转发多个子数据包的接口, 然后再 通过选择的接口转发多个子数据包。 由于本发明的转发目标就是使任务进度信息尽可 能的符合分流决策信息, 从而尽可能的接近决策制定者制定的分流目标, 提高数据转 发速率, 进而提升用户体验。 实例二中, 考虑到子数据包转发过程中可能由于各种问题而导致转发受阻或转发 时延增大, 所以本优选实施例提供了接口重选的操作, 步骤如下: (1 ) 在多个子数据 包的转发过程中, 检测到转发受阻或转发时延增大; (2) 根据分流决策信息和任务进 度信息, 在多个接口中重新选择用于转发多个子数据包的接口; (3) 通过重新选择的 接口转发多个子数据包。(这里重新选择的过程可以与前面的选择过程相同)采用以上 步骤, 进一步保证每个子数据包高效、 可靠的转发, 进而提高数据转发速率, 提升用 户体验。 进一步地, 在检测到转发受阻或转发时延增大之后, 还需报告分流决策信息 的决策制定者。 因为上述实施例中的接口重选操作只是解决转发受阻或转发时延增大 的临时性的措施, 而其根本原因更可能是决策制定者制定的分流决策信息欠合理, 因 此, 本优选实施例中将转发受阻或转发时延增大的信息报告决策制定者, 以便决策制 定者制定更加合理的分流决策信息, 从而进一步保证每个子数据包高效、可靠的转发, 进而提高数据转发速率, 提升用户体验。 考虑到子数据包转发过程中决策制定者可能制定更加合理的分流决策信息, 本发 明提供了接口暂停并重选的操作, 具体操作如下: (1 )在多个子数据包的转发过程中, 接收到新的分流决策信息(2)暂停多个子数据包的转发; (3)根据新的分流决策信息, 将待转发的数据包重新拆分为多个子数据包; (4) 根据新的分流决策信息和任务进度 信息, 在多个接口中重新选择用于转发多个子数据包的接口; (5 ) 通过重新选择的接 口转发多个子数据包。 本优选实施例进一步保证了每个子数据包高效、 可靠的转发, 进而提高数据转发速率, 提升用户体验。 优选地, 在步骤 S106之后, 及时释放用于转发多个子数据包的数据缓存区, 这样 可以节约缓冲区资源。 本发明实施例还提供了一种数据转发装置, 该数据转发装置可以用于实现上述数 据转发方法。 图 2是根据本发明实施例的数据转发装置的结构框图, 如图 2所示, 包 括接收模块 22、 拆分模块 24和转发模块 26。 下面对其结构进行详细描述。 接收模块 22, 设置为接收待转发的数据包; 拆分模块 24, 连接至接收模块 22, 设置为将接收模块 22接收的待转发的数据包拆分为多个子数据包; 转发模块 26, 连 接至拆分模块 24, 设置为通过多个接口转发拆分模块 24所拆分的多个子数据包。 需要说明的是, 装置实施例中描述的数据转发装置对应于上述的方法实施例, 其 具体的实现过程在方法实施例中已经进行过详细说明, 在此不再赘述。 图 3是根据本发明优选实施例的数据转发装置的结构框图, 如图 3所示, 包括分 流决策信息存储单元 31、 分流策略库 32、 任务进度信息存储单元 33、 数据包分析处 理单元 34、 数据缓存单元 35和数据发送单元 36。 下面对其结构进行详细描述。 分流决策信息存储单元 31, 设置为存储每个数据分发任务对应的分流决策信息, 对该单元信息的解析需要借助于分流策略库 32。 分流策略库 32, 设置为存储本装置及其它所有分流相关装置所遵循的分流策略。 分流策略库 32 中至少包含一种策略, 可以按需由设备制造者或使用者进行更新和升 级, 升级可以采用直接操作或远程管理方式。分流策略库 32设置为辅助对分流决策信 息的解析。 任务进度信息存储单元 33, 设置为存储每个数据分发任务的进度信息, 每当数据 发送单元 36将数据缓存区的数据发送出去时, 都对任务进度信息存储单元 33的内容 进行更新。 数据包分析处理单元 34,本单元结合分流决策信息单元 31,对属于某个数据分发 任务的数据包, 按照分流决策信息, 将数据包进行拆分、 合并或不做处理, 并在数据 缓存单元 35中进行存储; 同时, 对于不属于任何数据分发任务的数据包, 数据包分析 处理单元 34只对该数据包进行缓存。 数据缓存单元 35, 对本装置接收到的所有数据包进行缓存。 上述数据包包括拆分 后的数据包、合并后的数据包、不做任何处理的数据包。数据缓存单元 35为每个数据 分发任务分配一定的数据缓存区, 当数据分发任务结束时,数据缓存单元 35释放上述 数据缓存区。 数据发送单元 36, 根据分流决策信息存储单元 31和任务进度信息存储单元 33的 内容,将数据缓存单元 35中数据分发任务对应的缓存数据,通过一个或多个接口发送 到不同的下一级目的地址。 下面将结合实例对本发明实施例的实现过程进行详细描述。 图 4是根据本发明优选实施例的数据转发系统的结构框图, 如图 4所示, 该系统 主要包括业务提供系统 42、 数据转发装置 44和用户移动终端 46。 业务提供系统 42, 设置为接收用户移动终端 46的业务请求, 并为其提供所需的 业务。如果需要, 业务提供系统 42可以进行分流决策, 并将分流决策信息发给数据转 发装置 44。 数据转发装置 44, 设置为接收业务提供系统 42发送的分流决策信息并存储, 为 其建立数据分发任务和分配数据缓存区。当接收到数据包时,数据转发装置 44对数据 包进行分析, 如果数据包属于某一个数据转发任务, 则将其进行处理、 缓存后, 通过 相应的接口进行转发。 如果需要, 数据转发装置 44本身可以进行分流决策。 用户移动终端 46,设置为提出业务申请,接收业务子流并呈现给用户。如果需要, 用户移动终端 46可以进行分流决策, 并将分流决策信息发给数据转发装置 44。 图 5是根据本发明优选实施例的数据转发方法的流程图, 如图 5所示, 包括如下 的步骤 S501至步骤 S506。 步骤 S501, 数据转发装置 44为新分流决策建立数据分发任务, 存储分流决策信 息, 分配任务进度信息存储区和数据缓存区。 其中,分流决策信息是由分流决策制定者根据用户移动终端 46的请求和终端网络 环境制定的, 该分流决策信息首先包括标识信息, 用于对该分流决策进行全网唯一标 识, 可以使用"目标移动终端的 IP地址 +目标移动终端自身的业务序列号"的方式进行 识别; 数据转发装置使用该标识信息作为本身的数据分发任务号。 数据转发装置 44 接收到分流决策信息时, 首先提取标识信息, 并与正在执行的数据分发任务号进行匹 配, 如果该分流决策是本数据转发装置正在执行的数据分发任务, 则对分流决策信息 进行更新。 如果该分流决策是一个新的任务, 则本数据转发装置为其建立数据分发任 务, 实现方法是: 以标识信息(也就是数据分发任务号)为索引, 存储分流决策信息, 分配任务进度信息存储区和数据缓存区。 任务进度信息是指数据分发任务的完成情况, 数据分发任务建立时, 数据转发装 置 44需要为任务进度信息分配相应的存储区。 数据缓存区用于对接收到的数据进行缓存,数据转发装置 44对数据进行分析和处 理后, 可能需要将数据包拆分, 或将多个数据包合并, 然后通过相应的接口发送。 除 上述数据外, 数据缓存区应能对数据分发任务期间的所有数据进行缓存。 步骤 S502, 数据转发装置 44对接收到的数据包进行分析, 根据数据分发任务号, 查询该数据包对应的分流决策信息和任务进度信息。 本步骤中, 当数据转发装置 44接收到数据包时, 首先提取出数据包中包含的数据 分发任务号, 并进一步根据数据分发任务号,在数据转发装置 44中查询出该数据包对 应的分流决策信息和任务进度信息。 如果数据转发装置接收到的数据是普通的数据, 不需要进行数据分流, 则装置对数据包进行分析时,数据包中应当不含有任务分发号, 或者所含有的任务分发号对应的操作是"不进行数据分流",则数据转发装置 44只对该 数据包进行缓存和转发。 步骤 S503 , 数据转发装置 44根据分流决策信息, 对数据包进行处理和缓存。 本步骤中, 数据转发装置 44提取出分流决策信息后, 结合装置中的分流策略库, 实现对分流决策信息的解析, 进而对数据包进行处理。 其中, 分流策略库是网络中所 有分流相关设备所共同遵守的策略或算法集合, 分流策略库可以进行更新和升级; 对 数据包进行处理是指对数据包进行拆分、 合并或不做处理; 拆分是指将单个数据包的 负载内容拆分为多个数据包, 并按照原数据包的格式进行封装, 拆分可以是均匀或非 均匀拆分; 合并则是拆分的相反过程, 即将多个数据包的负载内容合并到一个数据包, 并按原数据包的格式进行封装。 拆分和合并的具体操作, 完全由分流决策信息决定。 步骤 S504, 数据转发装置 44根据分流决策信息和任务进度信息, 将缓存区的数 据发送至其它装置。 本步骤中, 数据转发装置提取出分流决策信息后, 结合装置中的分流策略库, 实 现对分流决策信息的解析。 缓存区数据分发的目标是, 使任务进度信息更好地符合分 流决策信息。 例如, 表 1给出了一个分流决策信息和任务进度信息的具体实施例: 分流决策信 息指示将音频流通过接口 1发送到目的地址 1, 将视频流的 30%通过接口 2发送到目 的地址 2, 将视频流的 70%通过接口 3发送到目的地址 3 ; 当前的任务进度信息显示, 接口 2完成的任务比接口 3多, 则新接收到的视频流数据包, 应优先由接口 3发送。 这里所述的目的地址, 指的是数据包的下一级目的地址, 不一定是数据包的最终目的 地址。 表 1 分流决策信息和任务进度信息的具体实施例
Figure imgf000010_0001
需要说明的是,表 1只是给出了一个具体的实施例,数据转发装置 44可以通过多 个接口, 将数据包发送到不同的下一级目的地址; 也可以是通过同一个接口, 发送到 不同的下一级目的地址。 步骤 S505, 数据转发装置 44对任务进度信息进行更新和存储。 将缓存区数据发 送的同时, 对数据包负载内容进行统计, 发送结束时, 对任务进度信息进行更新。 步骤 S506, 如果数据分发任务结束, 则释放数据分发任务号、 分流决策信息、 数 据缓存区。 其中, 数据分发任务结束的情况至少包括两种: (1 ) 分流策略制定者向本 装置发送了结束命令, 则分流任务结束; (2) 本装置对任务进度信息进行查询, 当进 度信息显示本任务已经完成时, 则本装置判定分流任务结束。 需要注意的是, 在步骤 S501至步骤 S506的执行过程中, 数据转发装置 44能够 接收并更新分流决策信息。 分流决策信息更新时, 暂停原决策信息下的数据包处理与 分发, 并按照新的分流决策信息, 重新进行步骤 S501至步骤 S506。 数据转发过程中, 如果某条子流路径通信受阻,数据转发装置 44可以将数据包按照分流决策信息指示的 其它路径进行传输, 同时向分流决策制定者发送报告。 需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可 以以不同于此处的顺序执行所示出或描述的步骤。 综上所述, 根据本发明的上述实施例, 提供了一种数据转发方法及装置。 本发明 将待转发的数据包拆分为多个子数据包并通过多个接口转发, 从而可以提高数据转发 速率, 进而提升用户体验。 另外, 数据转发装置根据分流决策制定者的分流决策信息, 将接收到的待分发数据包, 进行处理和缓存后, 通过一个或多个接口发至不同的下一 级目的地址, 从而实现业务分流传输。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以 将它们存储在存储装置中由计算装置来执行, 或者将它们分别制作成各个集成电路模 块, 或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。 这样, 本发明 不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

1. 一种数据转发方法, 包括:
接收到待转发的数据包;
将所述待转发的数据包拆分为多个子数据包;
通过多个接口转发所述多个子数据包。
2. 根据权利要求 1所述的方法, 其中,
在将所述待转发的数据包拆分为多个子数据包之前, 所述方法还包括: 获 取所述待转发的数据包中的数据分发任务号; 获取所述数据分发任务号对应的 分流决策信息;
将所述待转发的数据包拆分为多个子数据包包括:根据所述分流决策信息, 将所述待转发的数据包拆分为多个子数据包。
3. 根据权利要求 2所述的方法, 其中, 在通过多个接口转发所述多个子数据包之前, 所述方法还包括: 获取所述 多个接口的任务进度信息;
通过多个接口转发所述多个子数据包包括: 根据所述分流决策信息和所述 任务进度信息, 在所述多个接口中选择用于转发所述多个子数据包的接口; 通 过所述选择的接口转发所述多个子数据包。
4. 根据权利要求 3所述的方法, 其中, 在所述多个子数据包的转发过程中, 检测到转发受阻或转发时延增大; 根据所述分流决策信息和所述任务进度信息, 在所述多个接口中重新选择 用于转发所述多个子数据包的接口;
通过所述重新选择的接口转发所述多个子数据包。
5. 根据权利要求 4所述的方法, 其中, 在检测到转发受阻或转发时延增大之后, 所述方法还包括: 报告所述分流决策信息的决策制定者。
6. 根据权利要求 3所述的方法, 其中, 在所述多个子数据包的转发过程中, 接收到新的分流决策信息; 暂停所述多个子数据包的转发;
根据所述新的分流决策信息, 将所述待转发的数据包重新拆分为多个子数 据包;
根据所述新的分流决策信息和所述任务进度信息, 在所述多个接口中重新 选择用于转发所述多个子数据包的接口;
通过所述重新选择的接口转发所述多个子数据包。 根据权利要求 2所述的方法, 其中, 在获取所述数据分发任务号对应的分流决 策信息之前, 所述方法还包括: 当接收到分流决策信息时, 以该分流决策信息 中的数据分发任务号为索引项, 对该分流决策信息进行存储。 根据权利要求 2至 7中任一项所述的方法, 其中, 在获取所述待转发的数据包 中的数据分发任务号之后, 所述方法还包括: 在所述待转发的数据包中不包含 所述数据分发任务号或者所述数据分发任务号指示不执行拆分所述待转发的数 据包的操作的情况下, 直接转发所述待转发的数据包。 根据权利要求 1至 7中任一项所述的方法, 其中, 在通过多个接口转发所述多 个子数据包之后, 所述方法还包括: 释放用于转发所述多个子数据包的数据缓 存区。 一种数据转发装置, 包括:
接收模块, 设置为接收待转发的数据包;
拆分模块, 设置为将所述待转发的数据包拆分为多个子数据包; 转发模块, 设置为通过多个接口转发所述多个子数据包。
PCT/CN2011/082535 2011-09-20 2011-11-21 数据转发方法及装置 WO2012151922A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110280082.6A CN103024806B (zh) 2011-09-20 2011-09-20 数据转发方法及装置
CN201110280082.6 2011-09-20

Publications (1)

Publication Number Publication Date
WO2012151922A1 true WO2012151922A1 (zh) 2012-11-15

Family

ID=47138708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/082535 WO2012151922A1 (zh) 2011-09-20 2011-11-21 数据转发方法及装置

Country Status (2)

Country Link
CN (1) CN103024806B (zh)
WO (1) WO2012151922A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109936602B (zh) * 2017-12-18 2022-03-11 本无链科技(深圳)有限公司 一种基于实时推送的p2p网络系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080125067A1 (en) * 2006-07-21 2008-05-29 Research In Motion Limited Mobile communications device access from personal computer
CN101616167A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 确定多网协同传输方案的方法及数据传送方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1938962B (zh) * 2004-01-28 2012-07-18 曼诺维格私人有限公司 通信系统及方法
CN101686180A (zh) * 2008-09-28 2010-03-31 华为技术有限公司 数据传输方法及网络节点和数据传输系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080125067A1 (en) * 2006-07-21 2008-05-29 Research In Motion Limited Mobile communications device access from personal computer
CN101616167A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 确定多网协同传输方案的方法及数据传送方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法

Also Published As

Publication number Publication date
CN103024806A (zh) 2013-04-03
CN103024806B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
TWI477127B (zh) 用於排程封包傳輸的電腦實施方法、機器可讀媒體和客戶端裝置
WO2018086076A1 (zh) 数据传输方法及装置
US20160323193A1 (en) Service Routing Method, Device, and System
US11949576B2 (en) Technologies for out-of-order network packet management and selective data flow splitting
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
WO2019179157A1 (zh) 一种数据流量处理方法及相关网络设备
KR20090110905A (ko) 소켓 위의 서비스 응용 프로그래밍 인터페이스의 품질
US10362632B2 (en) Architecture for radio access network and evolved packet core
JP6145216B2 (ja) データ伝送方法、装置およびコンピュータ記憶媒体
US9444887B2 (en) Multipath overlay network and its multipath management protocol
WO2016062106A1 (zh) 报文处理方法、装置及系统
CN103297347B (zh) 一种负载均衡处理方法及装置
US20200112523A1 (en) Data Flow Processing Method and Device
Ye et al. PTP: Path-specified transport protocol for concurrent multipath transmission in named data networks
US9215616B2 (en) Base station device, data transmission control method, and data transmission control system
JP2012124871A (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
WO2012151922A1 (zh) 数据转发方法及装置
CN108337182B (zh) 一种报负载分担方法及网络设备
CN102546546B (zh) 标识网中实现QoS的方法和系统
US20180107504A1 (en) Setting method for server apparatus and server apparatus
CN101364940B (zh) 一种路由器内部通信方法及路由设备
US11575601B2 (en) Network device and packet processing method using same
WO2015032087A1 (zh) 一种多流并发传输方法、装置和系统
JP5868824B2 (ja) 分散処理システムおよび分散処理方法
CN110062418B (zh) 空口切换方法及节点设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11864971

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11864971

Country of ref document: EP

Kind code of ref document: A1