LU XIANMING (CN)
ZHANG QINGHONG (CN)
LU XIANMING (CN)
CN101610246A | 2009-12-23 | |||
CN101155086A | 2008-04-02 | |||
US20050157647A1 | 2005-07-21 | |||
US20090040932A1 | 2009-02-12 |
北京派特恩知识产权代理事务所(普通合伙) (CN)
权利要求书 1. 一种获取数据速率的方法, 其特征在于, 包括: 设置 w个计数器以及每个计数器的启动时刻 Tt,所述计数器用于获取经 过通信节点的数据速率, 其中, w = l,2,...,Nw 。w , Nwindow = Tw 为窗口时 Transinterval 长 T w内通过所述通信节点的数据包个数, 其中 T w为时间窗长, 7 "" sint 为数据包传输最小时间间隔, t = l,2, ..., w- 1 , Tt < Τί+ι; 从第一个计数器开始, 当前计数器在其启动时刻到达时启动, 获取经 过所述通信节点的数据速率; 用所述当前计数器获取得到的数据速率更新所述当前计数器的上一个 计数器获取得到的数据速率。 2. 如权利要求 1所述的方法, 其特征在于, 所述当前计数器在其启动 时刻到达时启动获得经过所述通信节点的数据速率, 包括: 所述当前计数器在其启动时刻到达时启动, 分别获取经过所述通信节 点的数据包个数以及数据包大小; 判断所述获取的数据包个数是否达到预设数值 Nwindow; 如果是, 则根据所述数据包大小和所述窗口时长 7 ^„得到所述经过所 述通信节点的数据速率。 3. 如权利要求 2所述的方法, 其特征在于, 如果判断所述获取的数据 包个数未达到所述预设数值, 该方法进一步包括: 继续获取经过所述通信 节点的数据包个数以及数据包大小, 直到所述获取的数据包个数达到所述 预设数值 ^。„ ,并根据所述数据包大小和所述窗口时长 rw 。w得到所述经过 所述通信节点的数据速率。 4. 如权利要求 1至 3任意一项权利要求所述的方法, 其特征在于, 在 获得经过所述通信节点的数据速率步骤后, 还包括: 所述当前计数器复位, 继续获取经过所述通信节点的数据速率。 5. 如权利要求 1至 3任意一项所述的方法, 其特征在于, 相邻所述计 数器的启动时刻之差为恒定值。 6. 一种获取数据速率的装置, 其特征在于, 包括: 设置模块, 用于设置 w个计数器以及每个计数器的启动时刻 7;, 所述计 数器用于获取经过通信节点的数据速率, 其中, w = l,2,...,N Nwindow = 为窗口时长 rmW。w内通过所述通信节点的数据包个数, Transinterval 7 ""sint 为数据包传输最小时间间隔, t = l, 2, ..., w- 1 , Tt < Τί+ι; w个计数器,从第一个计数器开始, 当前计数器用于在其启动时刻到达 时启动, 获取经过所述通信节点的数据速率; 更新模块, 用于用当前计数器获取得到的数据速率更新当前计数器的 上一个计数器获取得到的数据速率。 7. 如权利要求 6所述的装置, 其特征在于, 所述当前计数器, 具体用 于: 在其启动时刻到达时启动, 获取经过所述通信节点的数据包个数以及 数据包大小; 判断所述获取的数据包个数是否达到预设数值 Nwindow; 如果是, 则根据所述数据包大小和所述窗口时长 7 ^„得到所述经过所 述通信节点的数据速率。 8. 如权利要求 7所述的装置, 其特征在于, 所述当前计数器, 还用于 如果判断所述获取的数据包个数未达到所述预设数值 N W。w , 则继续获取经 过所述通信节点的数据包个数以及数据包大小, 直到所述获取的数据包个 数达到所述预设数值, 并根据所述数据包大小和所述窗口时长 rw 。w得到所 述经过所述通信节点的数据速率。 9. 如权利要求 6至 8任意一项权利要求所述的装置, 其特征在于, 所 述当前计数器, 还用于在获取经过所述通信节点的数据速率步骤后, 进行 复位, 继续获取经过所述通信节点的数据速率。 10. 如权利要求 6至 8任意一项权利要求所述的装置, 其特征在于,相 邻所述计数器的启动时刻之差为恒定值。 |
本发明涉及通信领域, 特别涉及一种获取数据速率的方法及装置。 背景技术
在通信领域中, 常常需要对数据进行平滑滤波处理和统计平均 处理。 滑动窗口统计平均作为一种统计平均的标准计 算方法, 而被广泛用于平滑 滤波和统计平均的数据处理中。
以下对滑动窗口进行举例说明, 若某种业务的服务质量(QoS, Quality of Service )要求数据速率大于等于 384千比特每秒( kbps, kilobit per second ), 定义数据包传输最小时间间隔 rraws^^为 1毫秒(ms, millisecond ), 最大 时延为 1000ms, 定义 r w 。 w 为窗口时长, 单位是秒(s, second ), N window 为一 个窗口时长 r w 。 w 内数据包的个数, ] N window = = 1000。 为了确 醒 1
定该业务的 QoS满足情况, 按照滑动窗口的定义, 窗口时长 7 ^。„需设置为
Is, 即相当于 1000ms,每 lms内的数据包大小记为 PS1、 PS2 PS1000, 单位 bits。 根据滑动窗口定义数据速率表示为: 内数据大小总和 (单位 kbits) =j^ ^ 单位 k 其中 .表示窗口 τ 1 1 0 w 24 1 内第 i个 Γ s mt 上的数据包大小, i为自然数; 若第 i个 Γ s mt 上无数 据传输, 则 ¾ = 0 ;
由此可以看出, 釆用滑动窗口统计数据速率需要保存一个窗口 时长内 的全部数据包大小。
假设某个通信节点需要处理用户数为 N ni t , 每个用户的业务数为 N S icePerClient , 该通信节点用于数据速率统计的数据包大小所 需存储空间为 N CUent * N ServicePerClient * N window , 其中, N CUent 和 N ServicePe 是通信节点处理能力的重 要指标且远远小于 N W 。 w , N W 。 w —般取值为 Is除以数据包传输最小时间间 隔 Tr s^^ , Γ腦 s int —般为 lms或更小, 随着技术的进步, Γ腦 s int 的 取值将会越来越小。
现有技术中, 当 r w 。 w 和数据包到达的最小时间间隔确定后, 相应地
W w 。 w 则确定, 进而确定硬件存储空间, 如果釆用滑动窗口获取数据速率, 则会遇到硬件存储空间不足的问题, 此时需要更换硬件才能继续获取数据 速率, 从而增加了硬件成本, 影响了系统性能。 发明内容
为了降低硬件成本, 提高系统性能, 本发明提供了一种获取数据速率 的方法及装置。
为解决上述技术问题, 本发明的技术方案如下:
一种获取数据速率的方法, 包括:
设置 w个计数器以及每个计数器的启动时刻 T t ,所述计数器用于获取经 过通信节点的数据速率, 其中, w = l,2,...,N wiW 。 w , N window = T w 为窗口时 长 7 。 W 内通过所述通信节点的数据包个数, Tmn s m 一为数据包传输最小时 间间隔, t = l,2, ..., w— 1 , T t < T t+l ;
从第一个计数器开始, 当前计数器在其启动时刻到达时启动, 获取经 过所述通信节点的数据速率;
用所述当前计数器获取得到的数据速率更新所 述当前计数器的上一个 计数器获取得到的数据速率。
所述当前计数器在其启动时刻到达时启动获得 经过所述通信节点的数 据速率, 包括: 所述当前计数器在其启动时刻到达时启动, 分别获取经过所述通信节 点的数据包个数以及数据包大小;
判断所述获取的数据包个数是否达到预设数值 N window ;
如果是, 则根据所述数据包大小和所述窗口时长 2 ^„得到所述经过所 述通信节点的数据速率。
如果判断所述获取的数据包个数未达到所述预 设数值, 该方法进一步 包括: 继续获取经过所述通信节点的数据包个数以及 数据包大小, 直到所 述获取的数据包个数达到所述预设数值 N W 。 w , 并根据所述数据包大小和所 述窗口时长 r w 。 w 得到所述经过所述通信节点的数据速率。
在获得经过所述通信节点的数据速率步骤后, 还包括: 所述当前计数 器复位, 继续获取经过所述通信节点的数据速率。
一种获取数据速率的装置, 包括:
设置模块, 用于设置 w个计数器以及每个计数器的启动时刻 7;, 所述计 数器用于获取经过通信节点的数据速率, 其中, w = l,2,...,N
N window = T w 为窗口时长 r mW 。 w 内通过所述通信节点的数据包个数,
7 ""s int 为数据包传输最小时间间隔, t = l, 2, ..., w- 1 , T t < T t+l ;
w个计数器,从第一个计数器开始, 当前计数器用于在其启动时刻到达 时启动, 获取经过所述通信节点的数据速率;
更新模块, 用于用当前计数器获取得到的数据速率更新当 前计数器的 上一个计数器获取得到的数据速率。
所述当前计数器, 具体用于: 在其启动时刻到达时启动, 获取经过所 述通信节点的数据包个数以及数据包大小; 判断所述获取的数据包个数是 否达到预设数值 N W 。 w ; 如果是, 则根据所述数据包大小和所述窗口时长
T—得到所述经过所述通信节点的数据速率 所述当前计数器, 还用于如果判断所述获取的数据包个数未达到 所述 预设数值 ^。„ , 则继续获取经过所述通信节点的数据包个数以 及数据包大 小, 直到所述获取的数据包个数达到所述预设数值 , 并根据所述数据包大 小和所述窗口时长 r w 。 w 得到所述经过所述通信节点的数据速率。
所述当前计数器, 还用于在获取经过所述通信节点的数据速率步 骤后, 进行复位, 继续获取经过所述通信节点的数据速率。
相邻以上所述计数器的启动时刻之差为恒定值 。
本发明通过设置用于获取数据速率的计数器及 每个计数器的启动时 刻, 无需更换硬件即可满足数据通信业务量频繁变 化的通信节点获取数据 速率的需要, 降低了存储空间开销, 节省了存储空间资源, 降低了硬件成 本, 且设置参数灵活, 提高了系统性能和服务质量。 附图说明
此处所说明的附图用来提供对本发明的进一步 理解, 构成本发明的一 部分, 本发明的示意性实施例及其说明用于解释本发 明, 并不构成对本发 明的不当限定。 在附图中:
图 1是本发明提供的获取数据速率的方法流程图
图 2是本发明提供的获取数据速率的方法的具体 施方式流程图; 图 3是本发明实施例提供的累加器进行累加的示 图;
图 4是本发明实施例提供的获取数据速率的装置 构图。 具体实施方式
为了使本发明所要解决的技术问题、 技术方案及有益效果更加清楚、 明白, 以下结合附图和实施例, 对本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明 , 并不用于限定本发明。
如图 1所示, 本发明实施例提供了一种获取数据速率的方法 , 包括: 步骤 101 , 设置 w个计数器以及每个计数器的启动时刻 7;, 该计数器用 于获取经过通信节点的数据速率,其中, w = l,2,...,N wiW 。 w , N -
Tr ^n& m - terval 为窗口时长 r w 。 w 内通过所述通信节点的数据包个数, Tmns m 为数据包传 输最小时间间隔, t = l,2, ..., w— 1 , T t < T t+l ;
步骤 102,从第一个计数器开始,当前计数器在其启 时刻到达时启动, 获取经过该通信节点的数据速率;
步骤 103 ,用当前计数器获取得到的数据速率更新当前 数器的上一个 计数器获取得到的数据速率。
在本发明的一个优选的实施例中, 该当前计数器在其启动时刻到达时 启动, 获取经过该通信节点的数据速率, 包括:
该当前计数器在其启动时刻到达时启动, 获取经过该通信节点的数据 包个数以及数据包大小;
判断该获取的数据包个数是否达到预设数值 N window ;
如果是, 则根据该数据包大小和该窗口时长 r w 。 w 得到经过该通信节点 的数据速率。
在本发明的一个优选的实施例中, 如果判断该获取的数据包个数未达 到该预设数值 N W 。 w , 则继续获取经过该通信节点的数据包个数以及 数据包 大小, 直到该获取的数据包个数达到该预设数值 N W 。 w , 并根据该数据包大 小和该窗口时长 T 。 w 得到经过该通信节点的数据速率, 即所述数据速率等 于所述数据包个数达到 N window 时的所述数据包大小与 r w 。 w 之商。
在本发明的一个优选的实施例中, 在获取经过该通信节点的数据速率 步骤后, 还包括:
该当前计数器复位, 继续获取经过该通信节点的数据速率。
在本发明的一个优选的实施例中, 相邻所述计数器的启动时刻之差为 恒定值。
其中, 数据速率为业务数据速率或控制数据速率。
下面通过具体的实施例对本发明进行详细的描 述:、
以获取业务数据速率为例, 如图 2所示, 本实施例提供的获取数据速 率的方法, 包括:
步骤 201 , 确定计数器数目以及计数器的启动时刻。
其中, 计数器可以是累加器、 累减器、 累乘器或是累除器等, 为了举 例方便,本实施例以累加器进行说明。确定累 加器数目 w以及计数器的启动 时刻的方法包括但不限于以下两种:
第一种方法:
设置 w个累加器, 分别为累加器 其中, w = l,2,...,N W 。 w , w 取值越大精度越高, 占用存储空间资源也就越多, 当^ = ¾ ^时, 本发明 所用存储空间与滑动窗口统计相同, 统计结果也完全相同, 即与滑动窗口 统计完全等效。
累加器用于对通过该通信节点的当前数据包大 小和数据包个数进行累 力口。
在实际应用中, 为了便于实现, 设窗口时长为 r w 。 w = 2" , n为正整数; 累加器数目 ^ = 2 其中 k n, k为正整数。 根据具体可用存储资源选取合 理的累加器数目。
在确定累加器数目后, 需要确定累加器 启动时刻 7; , 其中, t = l,2, ..., w-l , T t < T t+l 。 在实际应用中, 相邻累加器启动时刻之差、 即时间 间隔可以是恒定值, 也可以是呈一定变化规律变化, 例如呈等差变化, 等 乘变化等, 还可以是无序变化规律, 具体可以根据实际情况进行设定。 在 本实施例中, 为了便于描述, 相邻累加器启动时刻之差优选地为等时间间 隔, 具体可以通过如下公式得到: 时间间隔 7^ 为 个或者 水 7 «« 效果为最佳。
在本实施例中, U , w = 2 k , 因此, =2«- 第二种方法:
考虑到累加器数目、 相邻累加器启动时刻之差、 统计精度、 空间开销 四者之间存在着密切的关系, 可以根据统计精度和存储空间资源的要求, 用累加器启动时刻之差来确定累加器数目。 以累加器启动时刻之差为等时 间间隔为例, 2一 =1,2,3"··, T window , 例如 1表示 1个 7腿 int , 2表示 2 个 T醒 s一 D O m nSmtenal , 具体的时间间隔根据需要设定, 越小,统计精度越高,存储空间资源开销越大 , 当 T mterval =Tra interwd 时, 本实施例所用存储空间资源与滑动窗口统计相 同, 统计结果也完全相 同, 即与滑动窗口统计完全等效。 根据具体应用的统计精度要求和可用存 储资源, 选取合理的累加器数目 w取值为
步骤 202,启动计数器,计算经过通信节点的数据包 数和数据包大小。 其中, 如果釆用步骤 201中的第一种方法设定启动累加器的时间间隔 , 则每隔 2"个 r ra « t 启动一个累加器; 如果釆用步骤 201中的第二种方法 设定启动累加器时间间隔, 则每隔 /个 rra ^ 启动一个累加器。 累加 器一旦被启动, 立即对经过该通信节点的数据包大小和数据包 个数开始统 计。
步骤 203, 根据数据包大小之和 ra 和数据包个数之和 —■, 计算和 更新经过该通信节点的业务数据速率^^ , 其中, _ = l,2,...,w。
T 参见图 3, 本步骤详细处理如下:
步骤 203a, 不失一般性以累加器 为例进行说明, 针对累加器 ^, 一 旦启动, 即开始分别累加当前经过该通信节点数据包大 小 PSi, 得到数据包 大小之和^ ¾ , 以及得到累加数据包个数、 即数据包个数之和 ■, 并判 断 ■是否达到 N W 。 w , 如果是, 则转向步骤 203b; 如果不是, 则转向步 骤 203c;
累加器在计算数据包个数之和 ^■时, 不管数据包大小是否为 0均累 加 1, 对于数据包大小 PSi, 则按照实际大小进行统计。 步骤 203b,计算并输出通过该通信节点的数据速率^ 将累加器 window
复位,优选地, 累加器 初始值为 0,但本发明的保护范围并不限于数值 0。 将累加器 复位即为 =0, 即 S i P =0, S t =0, 并继续对经过该通信节点 的数据包大小 PSi和数据包个数分别进行累加, 直到 Sj t N w i n dow 步骤 203c, 累加器 继续累加, 并转向步骤 203a。 步骤 203d, 在累加器 启动时刻到达时, 启动累加器 对经过该通 信节点的数据包大小 PSi和数据包个数进行累加,进行累加步骤可以 参见步 骤 203a~203b, 然后输出新的业务数据速率, 替换累加器 输出的业务数据 速率。
其中, 以步骤 201的第一种方法为例, 累加器 和累加器 +1 之间的时 间间隔是 2"— 。
基于与方法相同的发明构思, 如图 4所示, 本发明实施例提供了一种 获取数据速率的装置, 包括:
设置模块 401, 用于设置 w个计数器以及每个计数器的启动时刻 7;, 所 述计数器用于获取经过通信节点的数据速率, 其中, w = l,2,...,N wiW 。 w ,
N window = T — , 为窗口时长 T window 内通过所述通信节点的数据包个数,
T r ans interval
7 ""s int 为数据包传输最小时间间隔, t = l,2,...,w- 1, T t < Τ ί+ι ; w个计数器 402, 从第一个计数器开始, 当前计数器 402, 用于在其启 动时刻到达时启动, 获取经过所述通信节点的数据速率;
更新模块 403,用于用当前计数器获取得到的数据速率更 新当前计数器 的上一个计数器获取得到的数据速率。
在本发明的一个优选的实施例中, 当前计数器 402, 具体用于在其启动 时刻到达时启动, 获取经过通信节点的数据包个数以及数据包大 小;
判断所述获取的数据包个数是否达到预设数值 N window ;
如果是, 则根据数据包大小和所述窗口时长 r w 。 w 得到所述经过所述通 信节点的数据速率。
在本发明的一个优选的实施例中, 当前计数器 402,还用于如果判断获 取的数据包个数未达到预设数值 N W 。 w , 则继续获取经过通信节点的数据包 个数以及数据包大小, 直到获取的数据包个数达到所述预设数值, 并根据 数据包大小和窗口时长 r w 。 w 得到经过通信节点的数据速率。
在本发明的一个优选的实施例中, 当前计数器 402,还用于在获取经过 通信节点的数据速率步骤后, 进行复位, 继续获取经过通信节点的数据速 率。
在本发明的一个优选的实施例中, 相邻计数器的启动时刻之差为恒定 值。
本发明通过设置用于获取数据速率的计数器及 每个计数器的启动时 刻, 无需更换硬件即可满足数据通信业务量频繁变 化的通信节点获取数据 速率的需要, 降低了硬件成本, 且设置参数灵活, 提高了系统性能和服务 质量。 此外, 在计数器数目取值较小时, 例如 w=4或 8时, 即可满足获取 算数据速率的需求, 其存储空间开销很小, 显著地节省了存储空间资源, 进一步降低了硬件成本。
上述说明示出并描述了本发明的一个优选实施 例, 但如前所述, 应当 理解本发明并非局限于本文所披露的形式, 不应看作是对其他实施例的排 除, 而可用于各种其他组合、 修改和环境, 并能够在本文所述发明构想范 围内, 通过上述教导或相关领域的技术或知识进行改 动。 而本领域人员所 进行的改动和变化不脱离本发明的精神和范围 , 则都应在本发明所附权力 要求的保护范围内。