CN102340453A - 一种变长数据流的调度方法 - Google Patents
一种变长数据流的调度方法 Download PDFInfo
- Publication number
- CN102340453A CN102340453A CN2011103369813A CN201110336981A CN102340453A CN 102340453 A CN102340453 A CN 102340453A CN 2011103369813 A CN2011103369813 A CN 2011103369813A CN 201110336981 A CN201110336981 A CN 201110336981A CN 102340453 A CN102340453 A CN 102340453A
- Authority
- CN
- China
- Prior art keywords
- queue
- formation
- data set
- length
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种变长数据流的调度方法,首先将变长数据流分割打包成变长的数据组存入输入缓冲,所述输入缓存采用先入先出方法进行存取,即先存入的数据组优先取出;然后控制输入缓存将数据组输出至队列;当数据组长度小于当前队列的尾部空闲比特长度时,则将该数据组存入当前队列尾部;当数据组长度大于当前队列的尾部空闲比特长度时,则依次搜索其他队列尾部的空闲比特长度,取空闲比特长度与数据组长度最接近的队列,将数据组存入该队列尾部;如果该数据组长度大于任意一个队列的空闲比特长度,则将空闲比特最少的队列尾部填入填充比特,设为满队列,并建立新的空队列,将该数据组存入该空队列。
Description
技术领域
本发明涉及一种针对变长数据流数据打包的调度方法。
背景技术
GSE(Generation Stream Encapsulation,GS封装)为DVB-S2系统提供了一种高效数据流传输的封装方法,基本原则类似于ULE(UnidirectionalLightweight Encapsulation,单向轻量封装)或MPE(Multi-ProtocolEncapsulation,多协议封装),关键目的是在改进系统的同时降低复杂度,增加IP服务的灵活性,并为基于IP的网络提供优化集成的可能性。如图1所示为一个IP数据包通过GSE打包为BBFRAME(Base Band Frame,基带帧)的过程,PDU(Protocol Data Unit,协议数据单元)打包成一个或多个GSE,GSE包头包含拆包和链路层接收时需要的控制信令,并在一段数据的最后一个GSE尾部添加CRC-32校验数据。GSE根据PDU的长度分割,每个GSE的长度不定,这种方式提高了数据传输过程中的资源利用率。不同于以往的TS包填充数据造成资源浪费,这种方式需要更少的填充比特,在有限的数据资源下提高利用率。BBFRAME是一种物理层的基带帧,PDU最终打包为BBFRAME传输。
PDU数据流在转换为BBFRAME的过程中,首先输入缓冲区,缓冲区中的数据根据ACM(自动编码调制)查找表确定所映射的队列,将PDU数据映射到并行的一系列队列中,由于PDU长度不等,因此向队列的映射过程中需要一种有效的调度方法从队列缓存中取出数据,合理利用数据资源。
相对于以往的定长数据流来说,变长的数据流满足了多种业务的不同需求,减少了填充比特。而对于变长数据流,要求其按照某一简单方法依次放入帧的尾部显然也是浪费资源的,将会造成帧的尾部空闲比特增多,甚至多于定长数据流。
发明内容
本发明所要解决的技术问题是:提供一种空闲比特少,数据利用率高,并且实现简便的变长数据流的调度方法。
本发明包括如下技术方案:
一种变长数据流的调度方法,首先将变长数据流分割打包成变长的数据组存入输入缓冲,所述输入缓存采用先入先出方法进行存取,即先存入的数据组优先取出;然后控制输入缓存将数据组输出至队列;并按如下方法将数据组存入队列:当数据组长度小于当前队列的尾部空闲比特长度时,则将该数据组存入当前队列尾部;当数据组长度大于当前队列的尾部空闲比特长度时,则依次搜索其他队列尾部的空闲比特长度,取空闲比特长度与数据组长度最接近的队列,将数据组存入该队列尾部;如果该数据组长度大于任意一个队列的空闲比特长度,则将空闲比特最少的队列尾部填入填充比特,设为满队列,并建立新的空队列,将该数据组存入该空队列。
队列是定长的,同时有数个队列等待接受数据组的存入,队列分为空队列,半空队列和满队列;空队列为没有存储数据组的队列,半空队列为存储一部分数据组的队列;当一个半空队列转换为满队列时,则存储到输出缓存中;每个满队列设定一个初始时间和阈值;每向输出缓存输送一个满队列,则需要建立一个新的空队列。
输出缓存输出满队列时,首先判断是否有满队列的输出等待时间超过所述阈值;如果有,则优先输出该等待时间超过所述阈值的满队列;如果没有,则根据当前调制编码模式从输出缓存中寻找频谱效率最高的满队列输出。
所述变长数据流是PDU数据流。
本发明与现有技术相比,具有如下优点:
本发明针对不同业务数据的长度不同,设计一种灵活的调度方式。这种调度方式使得在满足数据流长度灵活,不需要大量空闲比特,不浪费资源的情况下,还能迅速对缓冲区数据进行处理。
本发明的调度方法需要考虑两部分,数据组存入队列调度方法和队列输出调度方法,其中数据组存入队列调度方法主要考虑数据组长度与队列尾部空闲比特长度的匹配度;队列输出调度方法考虑队列频谱效率和队列等待时间两方面因素。该方法减少了以往组帧方式中填充比特的数量,大大提高资源利用率,并针对不同的业务,可以处理不同长度的数据,提高了调度方法的适应性。
附图说明
图1为数据分装打包过程示意图;
图2为GSE封装过程示意图;
图3为数据组存入队列调度方法流程图;
图4为队列输出调度方法流程图。
具体实施方式
首先将收到的变长数据流分割打包成变长的数据组存入输入缓冲区;然后将这些数据组排入一组队列,每个队列在排列时,均需要多个缓冲区数据组按顺序放入尾部组成,因此在存入数据组时,需要一种方法来保证队列的最优化,即空闲比特最少,数据利用率最高;最后,对满队列按照一定的方法进行选择输出。
本发明主要包含数据组存入队列调度方法和队列输出调度方法:其中数据组存入队列调度方法主要考虑数据组长度与队列尾部空闲比特长度的匹配度;队列输出调度方法考虑队列频谱效率和队列等待时间两方面因素。
数据组初始存在输入缓存中,所述输入缓存实际为一个FIFO,采用先入先出方法,即先存入的数据组优先取出,缓存中每个数据组不要求长度相同,首尾相接的存储在缓存中。所述数据组存入队列调度方法优先考虑数据组的长度与队列尾部空闲比特长度的匹配度。当数据组长度小于当前队列的尾部空闲比特长度时,则将该数据组存入当前队列尾部;当数据组长度大于当前队列的尾部空闲比特长度时,则依次搜索其他队列尾部的空闲比特长度,若存在空闲比特大于当前队列尾部空闲比特长度的队列,则对空闲比特进行计算,取空闲比特与数据组长度最接近的队列,将数据组存入该队列尾部。如果该数据组长度大于任意一个队列的空闲比特长度,则将空闲比特最少的队列尾部加入填充比特,设为满队列输出到输出缓存,并建立新的空队列,将该数据组存入该空队列。
所述队列输出调度方法为:队列分为空队列,半空队列和满队列,输出缓存中全部存储满队列,并为每个满队列设定一个初始时间和阈值。空队列为没有存储数据组的队列,半空队列为存储一部分数据组的队列,满队列则存储到输出缓存中。每向输出缓存输送一个满队列,则需要建立一个新的空队列。当一个半空队列转换为满队列时,则存储到输出缓存中。输出时,根据当前MODCOD从满队列中寻找频谱效率最高的满队列输出。当一个满队列的等待时间超过阈值时,则优先输出。
本发明的调度方法兼顾数据长度,等待时间,与空闲比特数目组帧效率,以及频谱效率等因素。在传输效率优先的基础上同时缩小了传输延时。使数据流队列打包效率最大化,减少填充比特以增大数据传输速率。
如图1所示,由PDU到BBFRAME的组帧过程为,PDU首先分割成小的数据块,这些数据块的头部加入信息位,形成GSE,这种GSE是变长的数据组。根据业务不同,PDU的长度并不相同,添加头部后的GSE长度也不相同,因此需要采用一种调度方法保证在GSE数据组长度不定的情况下,尽量减少填充比特,提高数据效率。
如图2所示,将本发明的调度方法具体应用到PDU数据流到BBFRAME的调度中,将收到的PDU数据流分割打包成一组一组GSE数据存入输入缓冲区,输入缓冲区为一个FIFO,FIFO中的每组数据长度不同,按照输入的顺序先入先出;然后按照本发明的调度方法将输入缓存输出的数据组存入相应的队列;当有队列变成满队列后则输出到输出缓存,输出缓存按照本发明的队列输出调度方法将相应的队列输出,形成BBFRAME帧。
如图3所示,所述调度方法中,当一个GSE输出,即数据组输出时,查找当前正在等待存入数据的队列,若该GSE长度小于当前队列尾部空闲比特长度,则将GSE放入队列尾部。若该GSE长度大于该队列尾部空闲比特长度,则再与其余队列的空闲比特相比,寻找空闲比特数目与GSE长度最为接近的队列放入队尾。若输出的GSE长度大于所有队列的空闲比特长度,则将空闲比特最少的队列尾部加入填充比特,设为满队列;并建立新队列,将该GSE存入新的队列;将满队列输入至输出缓存。
如图4所示,所述调度方法中,输出缓存为一个带有查找表的内存区域,该区域存储满队列,可以通过查找表中满队列的位置取出,每个存入输出缓存的满队列均带有时间信息,该时间信息包括初始时间和阈值。当MODCOD已给定,则需要对当前输出缓存中的所有满队列分别计算给定MODCOD下的频谱效率,取出频谱效率最高的满队列,加上帧头封装为BBFRAME并输出。
所述调度方法中,当输出缓存中的某满队列长时间未被取出,以至于等待时间超过阈值,则优先将超时满队列封装为BBFRAME输出,不考虑当前MODCOD下的频谱效率,这样做是为了防止极端情况下某满队列长时间无法组帧传送,导致接收端无法收到完整的信息,不能解析。
本发明的方法能够有效的提高组包效率,相对于以往的定长数据流来说,变长的数据流满足了多种业务的不同需求,减少了填充比特。本发明将变长数据流的方法与这种灵活的调度方法相结合,能够有效的避免浪费资源,提高资源利用率,另一方面由于设置缓存机制,调度过程完全可以满足输入输出数据的速率缓冲,使得对传输效率影响最小化,这种调度方法使得在更短的时间内传输更多的数据。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (4)
1.一种变长数据流的调度方法,首先将变长数据流分割打包成变长的数据组存入输入缓冲,所述输入缓存采用先入先出方法进行存取,即先存入的数据组优先取出;然后控制输入缓存将数据组输出至队列;
其特征在于,按如下方法将数据组存入队列:
当数据组长度小于当前队列的尾部空闲比特长度时,则将该数据组存入当前队列尾部;当数据组长度大于当前队列的尾部空闲比特长度时,则依次搜索其他队列尾部的空闲比特长度,取空闲比特长度与数据组长度最接近的队列,将数据组存入该队列尾部;如果该数据组长度大于任意一个队列的空闲比特长度,则将空闲比特最少的队列设为满队列,并建立新的空队列,将该数据组存入该空队列。
2.根据权利要求1所述的调度方法,其特征在于:队列是定长的,同时有数个队列等待接受数据组的存入,队列分为空队列,半空队列和满队列;空队列为没有存储数据组的队列,半空队列为存储一部分数据组的队列;当一个半空队列转换为满队列时,则存储到输出缓存中;每个满队列设定一个初始时间和阈值;每向输出缓存输送一个满队列,则需要建立一个新的空队列。
3.根据权利要求2所述的调度方法,其特征在于:
输出缓存输出满队列时,首先判断是否有满队列的输出等待时间超过所述阈值;
如果有,则优先输出该等待时间超过所述阈值的满队列;
如果没有,则根据当前调制编码模式从输出缓存中寻找频谱效率最高的满队列输出。
4.根据权利要求1至4任一权利要求所述的调度方法,其特征在于:所述变长数据流是PDU数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110336981.3A CN102340453B (zh) | 2011-10-31 | 2011-10-31 | 一种变长数据流的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110336981.3A CN102340453B (zh) | 2011-10-31 | 2011-10-31 | 一种变长数据流的调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102340453A true CN102340453A (zh) | 2012-02-01 |
CN102340453B CN102340453B (zh) | 2014-01-15 |
Family
ID=45515959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110336981.3A Active CN102340453B (zh) | 2011-10-31 | 2011-10-31 | 一种变长数据流的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102340453B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605485A (zh) * | 2013-11-29 | 2014-02-26 | 深圳市道通科技有限公司 | 一种变长数据的存储方法与装置 |
CN104106266A (zh) * | 2012-10-17 | 2014-10-15 | 索尼公司 | 数据处理装置、数据处理方法以及程序 |
US10541777B2 (en) | 2012-10-17 | 2020-01-21 | Saturn Licensing Llc | Data processing device, data processing method, and program |
CN111338810A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 用于存储信息的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741531A (zh) * | 2005-09-07 | 2006-03-01 | 北京中星微电子有限公司 | 一种udp网络传输音频数据方法 |
CN1809034A (zh) * | 2006-02-23 | 2006-07-26 | 上海交通大学 | 适用于无线高速自适应信道的网络分组调度方法 |
JP2010192949A (ja) * | 2009-02-16 | 2010-09-02 | Sony Corp | バッファ制御装置、バッファ制御方法およびプログラム |
-
2011
- 2011-10-31 CN CN201110336981.3A patent/CN102340453B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741531A (zh) * | 2005-09-07 | 2006-03-01 | 北京中星微电子有限公司 | 一种udp网络传输音频数据方法 |
CN1809034A (zh) * | 2006-02-23 | 2006-07-26 | 上海交通大学 | 适用于无线高速自适应信道的网络分组调度方法 |
JP2010192949A (ja) * | 2009-02-16 | 2010-09-02 | Sony Corp | バッファ制御装置、バッファ制御方法およびプログラム |
Non-Patent Citations (1)
Title |
---|
郑德任 等: "一种支持多输出端口的输入排队交换结构匹配算法", 《信息工程大学学报》, vol. 10, no. 2, 30 June 2009 (2009-06-30), pages 223 - 226 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104106266A (zh) * | 2012-10-17 | 2014-10-15 | 索尼公司 | 数据处理装置、数据处理方法以及程序 |
CN104106266B (zh) * | 2012-10-17 | 2019-06-14 | 索尼公司 | 数据处理装置、数据处理方法以及程序 |
US10541777B2 (en) | 2012-10-17 | 2020-01-21 | Saturn Licensing Llc | Data processing device, data processing method, and program |
US11005905B2 (en) | 2012-10-17 | 2021-05-11 | Saturn Licensing Llc | Data processing apparatus, data processing method, and program |
CN103605485A (zh) * | 2013-11-29 | 2014-02-26 | 深圳市道通科技有限公司 | 一种变长数据的存储方法与装置 |
CN103605485B (zh) * | 2013-11-29 | 2017-01-18 | 深圳市道通科技股份有限公司 | 一种变长数据的存储方法与装置 |
CN111338810A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 用于存储信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102340453B (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5640234B2 (ja) | マネージド・ネットワークでのレイヤ2のパケット集約及び断片化 | |
CN104104616B (zh) | 数据调度和交换的方法、装置及系统 | |
CN100499872C (zh) | 没有回声消除的ip语音通信的装置和方法 | |
CN100550833C (zh) | 以太网交换缓存及调度的方法和装置 | |
EP2079204B1 (en) | Transport of aggregated client packets | |
CN101079811B (zh) | 飞机与地面系统数据传输方法及系统 | |
US20020118645A1 (en) | Data packet transmission scheduling using a partitioned heap | |
CN102340453B (zh) | 一种变长数据流的调度方法 | |
CN107087306A (zh) | 用于无线信源调度的方法 | |
CA2321804A1 (en) | Control architecture in optical burst-switched networks | |
CA2486746A1 (en) | Method and system for encapsulating cells | |
CN103748845B (zh) | 报文发送方法、接收方法、装置及系统 | |
CN101990238A (zh) | 一种传感器网络数据聚合的实现方法 | |
CN103632209A (zh) | 一种基于排队论的智能配用电业务数据传输带宽预测方法 | |
CN110545241A (zh) | 一种报文处理方法和装置 | |
JP7329627B2 (ja) | パケット処理方法及び関連装置 | |
CN104954292A (zh) | 基于clos交换网络的数据包切分和重组的系统及方法 | |
CN103748916A (zh) | 一种数据发送、接收方法和装置 | |
CN102123073A (zh) | 数据包重排序方法及装置 | |
CN100396126C (zh) | 一种基站控制器向基站传输数据的方法 | |
CN104158770A (zh) | 一种交换机数据包切分与重组的方法与装置 | |
CN103178930A (zh) | 物理层链路汇聚传输方法及装置 | |
CN105052112A (zh) | 一种压缩缓存器关联数据的方法与系统 | |
CN102971997A (zh) | 包括数据分段和数据描述分段的分组缓冲器 | |
CN102624633A (zh) | 一种基于时间触发的SpaceWire网络通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |