一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种样本数据流发送方法及装置与流程

2022-11-13 09:34:45 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其设计一种样本数据流发送方法及装置。


背景技术:

2.网络中的终端设备或服务器可以通过网络设备向目的设备发送数据包。当设备连续向同一目的设备发送多个数据包时,这些数据包可以被称为一条数据流。在转发数据包的过程中,网络中的网络设备可能出现网络拥塞等问题。
3.为了解决这些问题,可以通过样本数据流模拟实际应用场景中的数据流对网络系统进行测试。其中,样本数据流包括多个连续到达同一目的设备的数据包,用于模拟实际应用场景中的数据流的流量特征。样本数据流可以用于对实际应用场景下网络系统传输数据流的过程进行模拟。即,通过向网络系统中的网络设备发送样本数据流,可以对模拟实际应用场景下网络系统传输数据流的过程,从而对网络系统进行性能分析评估和资源调度管理,还可以解决潜在的网络拥塞等问题。
4.由于样本数据流的作用是模拟实际应用场景中的数据流,那么样本数据流中各个数据包的发送规律与实际数据流中各个数据包的发送规律越接近,通过样本数据流进行测试得到的结果也就越准确。因此,目前可以通过泊松(poission)模型和分型布朗运动模型(fractal brownmotion,fbm)等模型根据数据流中数据包的到达时刻生成样本数据流,或通过iperf等工具生成样本数据流。
5.但是,随着网络的扩张与发展,网络中各个数据流的特征越来越复杂,现有的生成方法生成的样本数据流也越来越难以模拟实际应用场景下的数据流。


技术实现要素:

6.本技术实施例提供了一种样本数据流发送方法,可以根据样本数据包的需求信息和流量生成模型生成样本数据流。既考虑到了训练数据流中数据包的传输方面的特征,又考虑到了数据包本身的特征,生成的模型可以全面地体现训练数据流的流量特征。
7.第一方面,本技术实施例提供了一种样本数据流发送方法,该方法可以应用于网络系统中的第一设备。在生成样本数据流时,第一设备可以先获取多个样本数据包的需求信息,这些样本数据包可以属于一条或多条样本数据流,样本数据包的需求信息可以包括该样本数据包的特征信息和间隔时间,间隔时间为输出样本数据包之间的间隔时间。接着,第一设备可以阿静需求信息输入到流量生成模型,从而得到与需求信息相匹配的多个样本数据包,该流量生成模型能够体现样本数据包的间隔时间与样本数据包的特征信息之间的相关性。这样,在生成样本数据流时既考虑到了样本数据流中各个样本数据包的输出时间,也考了到了样本数据流本身的特征信息。如此,通过结合数据包的间隔时间和特征信息生成样本数据流,使得生成的样本数据流可以精确地模拟实际应用场景中数据流的流量特征,与需求信息的匹配程度更高。
8.第二方面,本技术实施例提供了一种模型建立方法,该方法可以应用于网络系统
中的第一设备,用于建立前述样本数据流发送方法中的流量生成模型。在建立流量生成模型时,第一设备可以先获取多个训练数据包的间隔时间和特征信息,接着再根据这些训练数据包的间隔时间和特征信息对流量生成模型进行训练,得到模型参数集合。这样,在建立流量生成模型时,可以根据训练数据流中训练数据包的间隔时间和数据包特征信息对网络系统中数据流的流量特征进行学习,从而训练流量生成模型得到模型参数集合。由于既考虑到了训练数据包的到达时刻,也考虑到了训练数据包的数据包特征信息,训练后的流量生成模型可以精确地的模拟数据流的流量特征。而在生成样本数据流时,通过采用与样本数据包的需求信息相匹配的流量生成模型,第一设备可以能够生成满足需求信息的样本数据流,从而精确地模拟满足需求信息的情况下网络系统中各条数据流的流量特征。
9.在一些可能的实现中,前述训练数据包的特征信息可以包括训练数据包的包长和/或业务类型。第一设备可以在训练流量生成模型前,先确定待训练的流量生成模型的类型。具体地,当训练数据包的特征信息包括训练数据包的包长时,第一设备可以确定流量生成模型,功能从模型包括批马尔可夫到达过程(batch markov arrival process,bmap)模型。当训练数据包的特征信息包括训练数据包的业务类型时,第一设备可以确定流量生成模型,定流量生成模型包括标记的马尔可夫调制过程(marked markov arrival processes,mmap)模型。
10.在一些可能的实现中,第一设备在训练得到流量生成模型后,可以保存模型参数集合与训练数据流的间隔时间和特征信息之间的对应关系。其中,模型参数集合包括流量生成模型中各个参数。这样,在生成样本数据流时,第一设备可以根据样本数据包的需求信息,从对应关系中查找与该需求信息相对应的模型参数集合,从而根据模型参数集合确定与样本数据宝的需求信息相匹配的流量生成模型,以便利用该流量生成模型生成符合需求信息的样本数据流。
11.在一些可能的实现中,第一设备可以根据样本数据流的平稳性确定训练样本数据流所采用的算法。具体地,第一设备可以先根据多个训练数据包的间隔时间确定训练数据流的平稳性。接着,第一设备可以判断训练数据流的平稳性是否满足第一预设条件。如果训练数据流的平稳性满足第一预设条件,第一设备可以将结合矩匹配(moment matching,mm)的期望最大(expectation maximization,em)算法作为训练流量生成模型的算法。如果训练数据流的平稳性不满足第一预设条件,第一设备可以将em算法作为训练流量生成模型的算法。结合mm的em算法的效率较高,而em算法的精度较高。这样,在训练数据流的平稳性较佳的情况下,第一设备可以选择效率较高的结合mm的em算法训练流量生成模型;而在训练数据流的平稳性较差的情况下,第一设备可以选择精度较高的em算法训练流量生成模型。这样,在保证流量生成模型的精度的前提下,提高了训练效率。
12.在一些可能的实现中,如果训练数据流的平稳性不满足第一预设条件,第一设备可以进一步判断训练数据流的平稳性是否满足第二预设条件。如果训练数据流的平稳性满足第二预设条件,第一设备可以将em算法确定为训练流量生成模型的算法。如果训练数据流的平稳性不满足第二预设条件,第一设备可以从前述多个训练数据包中选择多个训练数据包,并将这些样本数据包作为目标数据包,从而根据多个目标数据包的间隔时间和多个目标数据包的特征信息对流量生成模型进行训练。
13.在一些可能的实现中,模型参数集合可以包括第一模型参数集合和第二模型参数
集合。当第一设备采用结合mm的em算法对样本数据流进行训练时,可以先根据多个训练数据包的间隔时间,采用em算法得到第一模型参数集合。接着,第一设备可以构建最小化函数,并根据约束条件求解使得该最小化函数最小的第二模型参数集合。其中,最小化函数为使得第一理论值与第一统计值之间的差异最小,且第二理论值与第二统计值之间的差异最小的函数。第一一理论值为表达多个训练数据包的时间间隔的滞后性的理论值,第一统计值为表达多个训练数据包的时间间隔的滞后性的统计值,第二理论值为表达多个训练数据包的特征信息的滞后性的理论值,第二统计值为表达多个训练数据包的特征信息的滞后性的统计值,第一理论值和第二理论值可以根据第一模型参数集合得到。
14.在一些可能的实现中,第一模型参数集合可以包括d0矩阵,所述第二模型参数集合包括d1矩阵至dk矩阵,所述k为大于或等于1的整数,所述d0矩阵表示没有到达事件发生时的状态转移速率,所述dk矩阵表示第k类到达事件发生时的状态转移速率。
15.在一些可能的实现中,当训练数据包或样本数据包的特征信息包括数据包的包长时,第一设备可以根据数据包的类型确定数据包的特征信息。具体地,第一设备可以先获取多个训练数据包中每个训练数据包的包长,接着可以对这些训练数据包的包长进行聚类,例如可以根据训练数据包对应的业务类型对包长进行聚类,得到每一类包长的聚类中心。接着,第一设备可以将每个训练数据包的包长所属类别的聚类中心确定为所述训练数据包的特征信息。
16.第三方面,本技术实施例提供了一种样本数据流发送装置,所述装置包括:获取单元,用于获取多个样本数据包的需求信息,多个样本数据包属于一条或多条样本数据流,所述需求信息包括所述样本数据包的特征信息和所述样本数据包的间隔时间,所述间隔时间为输出所述样本数据包之间的间隔时间;生成单元,用于将所述需求信息输入到流量生成模型,得到与所述需求信息匹配的所述多个样本数据包,所述流量生成模型体现所述样本数据包的间隔时间和所述样本数据包的特征信息之间的相关性。
17.在一些可能的实现中,所述装置还包括训练单元;所述获取单元,还用于获取多个训练数据包的间隔时间和所述多个训练数据包的特征信息,所述多个训练数据包属于一条或多条训练数据流,多个训练数据包的间隔时间根据所述多个训练数据包的到达时刻确定,所述训练数据包的特征信息和所述样本数据包的特征信息相同;所述训练单元,用于根据所述多个训练数据包的间隔时间和所述多个训练数据包的特征信息对所述流量生成模型进行训练,得到所述流量生成模型的模型参数集合;所述生成单元,用于将所述需求信息和所述模型参数集合输入到流量生成模型,利用采用所述模型参数集合的流量生成模型输出与所述需求信息匹配的所述多个样本数据包。
18.在一些可能的实现中,所述特征信息包括包长,所述流量生成模型包括批马尔可夫到达过程bmap模型。
19.在一些可能的实现中,所述特征信息包括业务类型,所述流量生成模型包括标记的马尔可夫到达过程mmap模型。
20.在一些可能的实现中,所述模型参数集合包括第一模型参数集合和第二模型参数集合;所述训练单元,用于根据所述多个训练数据包的间隔时间采用期望最大em算法得到的所述第一模型参数集合;构建最小化函数,所述最小化函数用于使得第一理论值和第一统计值之间最小化,以及第二理论值和第二统计值之间最小化;其中,所述第一理论值为表
达所述多个训练数据包的时间间隔的滞后性的理论值,所述第一统计值为表达所述多个训练数据包的时间间隔的滞后性的统计值,所述第二理论值为表达所述多个训练数据包的特征信息的滞后性的理论值,所述第二统计值为表达所述多个训练数据包的特征信息的滞后性的统计值,所述第一理论值和所述第二理论值根据所述第一模型参数集合得到;根据约束条件求解所述最小化函数,得到所述第二模型参数集合。
21.在一些可能的实现中,所述第一模型参数集合包括d0矩阵,所述第二模型参数集合包括d1矩阵至dk矩阵,所述k为大于或等于1的整数,所述d0矩阵表示没有到达事件发生时的状态转移速率,所述dk矩阵表示第k类到达事件发生时的状态转移速率。
22.在一些可能的实现中,所述训练单元,用于根据所述多个训练数据包的间隔时间确定训练数据流的平稳性;响应于所述训练数据流的平稳性满足第一预设条件,构建最小化函数。
23.在一些可能的实现中,所述训练单元,用于根据所述多个训练数据包的间隔时间确定所述训练数据流的平稳性;响应于所述训练数据流的平稳性满足第二预设条件,从所述训练数据流中提取目标数据流,所述目标数据流的长度小于所述训练数据流的长度,所述目标数据流包括多个目标数据包;根据所述多个目标数据包的间隔时间和所述多个目标数据包的特征信息对所述流量生成模型进行训练。
24.在一些可能的实现中,所述获取单元,用于获取所述多个训练数据包中每个训练数据包的包长;对所述多个训练数据包的包长进行聚类,得到每一类包长的聚类中心;将所述每个训练数据包的包长所属类别的聚类中心确定为所述训练数据包的特征信息。
25.第四方面,本技术实施例提供了一种设备,所述设备包括处理器芯片和存储器,存储器用于存储指令或程序代码,处理器芯片用于从存储器中调用并运行所述指令或程序代码,以执行如前述第一方面所述的样本数据流发送方法,或执行如前述第二方面所述的模型建立方法。
26.第五方面,本技术实施例提供了一种计算机可读存储介质,包括指令、程序或代码,当其在计算机上执行时,使得所述计算机执行如前述第一方面所述的样本数据流发送方法,或执行如前述第二方面所述的模型建立方法。
附图说明
27.图1为本技术实施例提供的网络系统100的一种结构示意图;
28.图2为本技术实施例提供的模型建立方法的方法流程图;
29.图3为本技术实施例提供的样本数据流发送方法的方法流程图
30.图4为本技术实施例提供的模型建立装置400的一种结构示意图;
31.图5为本技术实施例提供的样本数据流发送装置500的一种结构示意图;
32.图6为本技术实施例提供的一种设备600的结构示意图;
33.图7为本技术实施例提供的一种设备700的结构示意图。
具体实施方式
34.下面结合附图对传统技术和本技术实施例提供模型建立方法和样本数据流发送方法进行介绍。
35.参见图1,该图为本技术实施例提供的系统100的一种结构示意图。在系统100中,包括终端设备110、服务器120、网络设备131、网络设备132、网络设备133和设备140。其中,终端设备110与网络设备131连接,网络设备132分别与网络设备131和网络设备133连接,服务器120与网络设备133连接,设备140分别与网络设备131、网络设备132和网络设备133连接。
36.在向服务器120发送数据包时,终端设备110可以向网络设备131发送数据包,该数据包通过网络设备131、网络设备132和网络设备133的转发最终到达服务器120。当终端设备110通过网络设备131、网络设备132和网络设备133向服务器120发送多个数据包时,这些数据包可以被称为一条数据流。在本技术实施例中,可以将终端设备110向服务器120发送的多个数据包组成的数据流称为数据流a。
37.为了对网络设备131、网络设备132和网络设备133组成的网络系统进行测试,可以根据数据流a中各个数据包的到达时刻生成样本数据流。其中,数据包的到达时刻为网络设备131接收到该数据包的时间,或数据包进入网络设备133的发送队列的时间。相应地,生成的样本数据流也可以包括多个数据包,每个数据包的间隔时间是根据数据流a中各个数据包到达网络设备131的时间确定的。这样,再将样本数据流输入网络设备131,相当于模拟终端设备110的发送数据包的规律向网络设备131发送数据包,从而确定网络系统的性能。可见,样本数据流可以用于对网络系统的性能进行性能分析评估和资源调度管理,还可以解决潜在的网络拥塞等问题。
38.在上述过程中,样本数据流中各个数据包的生成时间越接近数据流a中各个数据包的到达时刻,样本数据流也就越接近真实的数据流a的情况。因此,为了提高样本数据流与实际应用场景中数据流的契合程度,目前可以通过poission模型和fbm等模型生成样本数据流,从而提高检测精度。
39.随着网络的发展,网络系统承载的数据流的之间的差异越来越大,例如不同业务类型的数据流中数据包的到达时刻和流量突发性等规律往往不同,另外数据包的包长也可能存在差异。因此,由于传统的样本数据流发送方法只考虑到了数据包的到达时刻,难以准确全面地模拟实际应用场景下数据流的规律。
40.为了解决上述问题,本技术实施例提供了一种模型建立方法和样本数据流发送方法,可以根据样本数据包的需求信息和流量生成模型生成样本数据流。其中,用于生成样本数据流的流量生成模型可以通过训练数据流中每个训练数据包的到达时刻和数据包的特征信息得到。这样,既考虑到了训练数据流中数据包的传输方面的特征,又考虑到了数据包本身的特征,生成的模型可以全面地体现训练数据流的流量特征。
41.本技术实施例提供的方法可以应用于图1所示的系统100。其中,用于生成样本的设备(即后文所述第一设备)可以是设备140,设备140可以通过与网络设备131、网络设备132或网络设备133之间的连接向对应的网络设备发送生成的样本数据流。
42.设备140可以是服务器或控制器等设备,也可以是运行于服务器的软件平台,还可以是其他具有数据处理功能的计算机设备。网络设备131、网络设备132和网络设备133例如可以是路由器(router)、交换机(switch)等支持路由功能的实体设备,也可以是部署虚拟路由器或虚拟交换机的服务器,用于传输数据流。
43.参见图2,该图为本技术实施例提供的一种模型建立方法的流程示意图,本技术实
施例提供的模型建立方法可以包括如下步骤:
44.s201:第一设备获取训练数据流包括的每个训练数据包的间隔时间和数据包特征信息。
45.本技术实施例提供的模型建立方法可以建立流量生成模型,该流量生成模型能够体现数据包的到达时刻和数据包的特征信息之间的相关关系,可以用于模拟训练数据流的流量特征生成样本数据流。
46.在建立流量生成模型时,第一设备可以先获取多个训练数据包的间隔时间和特征信息。第一设备可以是网络系统中的控制器或服务器,例如可以是图1中设备140。该多个训练数据包可以来自同一条训练数据流,也可以来自多条训练数据流。当多个训练包来自不同的训练数据流时,这些训练数据包可以经过相同的网络设备,或具有相同的目的设备。
47.在本技术实施例中,训练数据包的间隔时间和特征信息可以是网络系统中网络设备采集得到的,例如可以是图1中网络设备131、网络设备131或网络设备133采集得到的,也可以是服务器120得到的。可选地,在传输数据流的过程中,网络设备可以记录经过该网络设备的一条或多条数据流中各个数据包的到达时刻和特征信息,以便第一设备将这些数据流作为训练数据流,从而根据网络设备记录的信息得到训练数据包的间隔时间和特征信息。
48.下面分别对训练数据包的间隔时间和训练数据包的特征信息进行介绍。
49.训练数据包的间隔时间表示两个相邻的训练数据包之间的时间间隔,可以体现网络设备接收训练数据包的时间规律。举例说明,第n 1个训练数据包的间隔时间可以是从第n个训练数据包到达网络设备的时间,到第n 1个训练数据包到达网络设备的时间之间的时间间隔。其中n为大于或等于1的正整数。需要说明的是,该第n个训练数据包和第n 1个训练数据包可以来自同一条训练数据流,也可以来自不同的训练数据流。例如,假设终端设备110向服务器120发送了数据流a和数据流b两条训练数据流,那么当第n个训练数据包来自数据流a时,第n 1个训练数据包可以来自数据流b。
50.可选地,训练数据包的间隔时间可以是根据训练数据包的到达时刻计算得到的。其中,到达时刻例如可以网络设备接收到该训练数据包的时间,或该训练数据包进入网络设备133的发送队列的时间。网络设备可以在传输训练数据流时记录训练数据包的到达时刻,并将训练数据包的到达时刻发送给第一设备,以便第一设备根据到达时刻计算训练数据包的间隔时间。举例说明。假设第n个训练数据包的到达时刻表示为t[n],第n 1个训练数据包的到达时刻表示为t[n 1],那么第n个训练数据包到第n 1个训练数据包之间的间隔时间可以表示为t[n 1]-t[n]。在一些可能的实现中,当第一设备为网络系统中传输训练数据包的设备时,第一设备可以记录训练数据包的到达时刻,并根据训练数据包的到达时刻计算得到训练数据包的间隔时间。
[0051]
训练数据包的特征信息可以包括训练数据包的数据包特征可以体现该训练数据包的特征,例如可以包括训练数据包的包长,和/或,训练数据包的业务类型等信息。其中,训练数据包的包长表示该训练数据包的大小,例如可以是训练数据包的字节(byte)数。训练数据包的业务类型表示该训练数据包所在的训练数据流对应的业务类型,即该训练数据流承载的业务种类。例如,假设某条数据流用于传输语音通话类业务中产生的数据,那么当这条数据流作为训练数据流时,该训练数据流中各个训练数据包对应的业务类型为语音通
话类业务。
[0052]
在本技术实施例中,为了避免出现过拟合现象,用户还可以主动调整流量生成模型的训练时间和/或训练精度。相应地,第一设备可以接收用户发送的训练时间和/或训练精度,以便在后续步骤中根据用户设置的训练时间和/或训练精度训练流量生成模型。
[0053]
s202:所述第一设备根据所述多个训练数据包的间隔时间和所述多个训练数据包的特征信息对所述流量生成模型进行训练,得到所述流量生成模型的模型参数集合。
[0054]
在获取到多个训练数据包的间隔时间和特征信息后,第一设备可以根据训练数据包的间隔时间和特征信息对网络系统的流量特征进行学习,从而通过训练流量生成模型确定该流量生成模型的模型参数集合。其中,流量生成模型的输入为包括样本数据包的特征信息和间隔时间的需求信息,输出为包括多个样本数据包的样本数据流。流量生成模型的模型参数集合为流量生成模型生成样本数据流所需要的参数。关于流量生成模型的使用方法可以参见图3所示实施例的描述,这里不再赘述。
[0055]
在本技术实施例中,流量特征可以包括流量相关性、流量突发性和流量自相似性中的任意一种或多种。其中,流量相关性表示在网络设备接收训练数据包的过程中,某一时刻训练数据包的间隔时间和特征信息与其他时刻训练数据包的间隔时间和特征信息之间的依赖关系,流量突发性是指网络系统出现流量突发的特性,流量突发是指某些时刻训练数据包的到达量相对于整个网络系统的数据包的到达量的均值特别大或特别小的现象;流量自相似性是指网络系统的局部结构与总体结构之间的一致性,即网络设备的某一部分与网络系统整体之间的相似关系相比具有某种程度的一致性,自相似过程是在统计意义上具有尺度不变性的一种随机过程。根据训练数据流的间隔时间和特征信息,流量生成模型可以学习到训练数据流的流量特征,从而生成能够模拟训练数据流的流量特征的样本数据流
[0056]
在训练得到模型参数集合之前,第一设备可以先确定待训练的流量生成模型的类型,并确定训练流量生成模型时所采用的算法。下面分别对这两个步骤进行介绍。
[0057]
首先介绍第一设备确定流量生成模型的类型的方法。
[0058]
根据前文介绍可知,训练数据包的特征信息可以包括训练数据包的包长,和/或,训练数据包对应的业务类型。可选地,流量生成模型的类型可以包括标记的马尔可夫调制过程(marked markov arrival processes,mmap)模型和批马尔可夫到达过程(batch markov arrival process,bmap)模型。其中,mmap模型对数据包的业务类型的拟合效果较好,而bmap模型对数据包的大小的拟合效果较好。那么,当训练数据包的特征信息包括训练数据包的包长时,第一设备可以选择bmap模型作为流量生成模型的类型。相应地,在训练流量生成模型时,可以根据训练数据包的到达时间和训练数据包的包长对bmap模型进行训练,从而确定该bmap模型的模型参数集合。作为流量生成模型;而当训练数据包的特征信息包括训练数据包对应的业务类型时,第一设备可以选择mmap模型作为流量生成模型的类型。相应地,在训练流量生成模型时,可以根据训练数据包的到达时间和训练数据包的包长对bmap模型进行训练,从而确定该bmap模型的模型参数集合。在本技术实施例中,在确定流量生成模型的类型后,第一设备还可以根据训练数据包的到达时刻和训练数据包的特征信息确定待拟合的流量生成模型的阶数。具体地,在确定流量生成模型的类型后,第一设备可以利用前述多个训练数据包中部分训练数据包的到达时刻和特征信息对不同阶数的流量生成模型进行训练,从而得到多个阶数不同的流量生成模型的模型参数集合。接着,第一设
备可以比较每个流量生成模型的拟合精度和效率,并从这些流量生成模型选出拟合精度最高、效率最高的流量生成模型,从而确定待训练的流量生成模型的阶数。在本技术实施例中,流量生成模型的阶数对应后文提供公式中的参数n,为流量生成模型的模型状态数。
[0059]
举例说明。假设流量生成模型的类型为bmap模型。第一设备可以先创建多个阶数不同的bmap模型,并从前述多个训练数据包选取中部分训练数据包,例如可以从全部训练数据包中选出十分之一的训练数据包。接着,第一设备可以根据这些被选出的样本数据包的间隔时间和特征信息对多个阶数不同的bmap模型中每个bmap模型进行训练,从而得到多个训练后的bmap模型,以及每个bmap模型的对应模型参数集合。在得到多个阶数不同的bmap模型之后,第一设备可以从这些bmap模型中选择的bmap模型,并将该bmap模型的阶数作为待训练的流量生成模型的阶数。具体地,第一设备可以选择精度最高的bamp模型的阶数作为流量生成模型的阶数。例如,第一设备可以依据最小化信息量准则(akaike information criterion,aic)或贝叶斯信息准则(bayesian information criterion,bic)等准则从多个拟合后的bmap模型中选择精确度最高的bmap模型。通过部分训练数据包的间隔时间和特征信息训练模型,可以模拟采用全部训练数据包的信息进行训练得到的结果,从而选择合适阶数的模型作为流量生成模型。这样,通过部分数据模拟全部数据的特征,在确保能够找到合适的阶数的基础上,提高了训练流量生成模型的效率。
[0060]
下面介绍第一设备确定训练算法的方法。
[0061]
在本技术实施例中,第一设备可以通过多种不同的训练算法对流量生成模型进行训练。而不同的训练算法可能具有不同的特点,适用于不同的情况。例如,有的训练算法可能具有训练精度高的优点,但是训练速度相对较慢,那么这种训练算法可能更适合对较为稳定的数据进行训练。而有的训练算法可能训练精度相对较低,但是训练速度较快,那么这种训练算法可能更适合对稳定性较差的数据进行训练。那么,为了选择合适的训练算法对流量生成模型进行训练,第一设备可以根据训练数据流的实际情况选择合适的拟合算法。在本技术实施例中,第一设备可以根据训练数据流的平稳性确定流量生成模型所采用的拟合算法。其中,训练数据流的平稳性是指训练数据流中相邻的两个训练数据包到达网络设备之间的时间间隔的平稳程度。
[0062]
在确定拟合算法之前,第一设备可以先根据训练数据包的间隔时间确定时间间隔序列,时间间隔序列包括按顺序排列的至少一个训练数据包的时间间隔。假设用{t[n]}表示时间间隔序列,那么第i个训练数据包的时间间隔可以表示为t[i],其中i为大于等于1的正整数。
[0063]
在得到时间间隔序列后,第一设备可以根据时间间隔序列确定前述一条或多条训练数据流的平稳性,并根据训练数据流的平稳性确定训练流量生成模型的算法。这样,根据训练数据流的平稳性,第一设备可以了解网络系统中各条数据流的传输情况,从而找到符合整个网络系统的流量特征的算法。如此,可以确保训练后的流量生成模型与网络系统中各个网络设备的工作状态相匹配,能够准确高效地模拟网络系统的流量特征。
[0064]
在本技术实施例中,第一设备在确定训练数据流的平稳性时,例如可以通过扩展迪基-福勒(augmented dickey-fuller,adf)检验、变异系数阈值判断等手段确定训练数据流的平稳性。时间间隔序列中各个时间间隔之间的差异越小,说明训练数据流中任意两个相邻训练数据包之间的时间间隔的变化幅度越小,训练数据流中训练数据包的到达时刻越
规律,训练数据流的平稳性越高。
[0065]
其中,adf检验属于单位根检验的一种,能够通过判断序列是否存在单位根确定序列的平稳性。在通过adf检验确定训练数据流的平稳性时,第一设备可以通过判断时间间隔序列是否存在单位根确定训练数据包所属的训练数据流是否平稳。
[0066]
在确定训练数据流的平稳性后,第一设备可以根据训练数据流的平稳性判断通过这些训练数据包能否高效地训练出准确的流量生成模型。具体地,第一设备可以判断训练数据流的平稳性是否满足第一预设条件。第一预设条件表示训练数据流的平稳性较强。
[0067]
如果第一设备确定训练数据流的平稳性满足第一预设条件,说明训练数据包的间隔时间和特征信息足以训练得到准确的流量生成模型。那么第一设备可以根据训练数据流的平稳性进一步确定训练流量生成模型时所采用的算法。而如果训练数据流的平稳性不满足第一预设条件,第一设备可以继续判断训练数据流的平稳性是否满足第二预设条件。第二预设条件表示训练数据流的平稳性较差。如果第一设备确定训练数据流的平稳性满足第二预设条件,说明训练数据包的间隔时间和特征信息不足以训练出准确的流量生成模型,或训练出稳定的流量生成模型需要的时间较长。那么第一设备可以先对多个训练数据包进行处理,再通过处理后的训练数据包的间隔时间和特征信息训练流量生成模型。
[0068]
在本技术实施例中,第一预设条件可以包括训练数据流的平稳性高于第一阈值。第二预设条件可以包括训练数据流的平稳性低于第二阈值。其中,第一阈值大于第二阈值。
[0069]
下面分别对这两种情况进行介绍。
[0070]
在第一种可能的实现中,训练数据流的平稳性满足第一预设条件,说明训练数据流中各个数据包的到达时刻较为规律,训练数据流较为平稳,训练数据流的流量特征较为明显,那么第一设备可以根据训练数据流的平稳性确定训练流量生成模型所用的参数。
[0071]
具体地,当训练数据流的平稳性较佳时,根据训练数据包的间隔时间和特征信息确定网络系统的流量特征的难度较低。这样,第一设备可以选择训练效率较高的算法训练流量生成模型。那么,即使通过该算法训练得到模型精度不高,由于训练数据流较为平稳,最终得到的流量生成模型仍然可以较好地模拟网络系统的流量特征。如此,在确保流量生成模型的精度的基础上,提高了训练流量生成模型的效率。
[0072]
相应地,当训练数据流的平稳性较差,且满足前述第一预设条件时,第一设备可以选择精度较高的算法训练流量生成模型。这样,由于训练数据流中各个数据包的间隔时间并不平稳,第一设备根据训练数据包和和特征信息确定模型参数集合的难度也相对较高。那么,为了保证流量生成模型的精度,第一设备可以优先考虑算法的精度,从精度较高的算法中选择合适的算法训练流量生成模型。
[0073]
可选地,第一设备可以判断训练数据流的平稳性是否大于第三阈值。第三阈值大于前述第一阈值。当训练数据流的平稳性大于第三阈值时,第一设备可以采用训练效率较高的算法训练流量生成模型;当训练数据流的平稳性小于第三阈值,且大于前述第一阈值时,第一设备可以采用训练精度较高的算法训练流量生成模型。
[0074]
在本技术实施例中,前述训练精度较高的算法例如可以包括期望最大(expectation maximization,em)算法。前述训练效率较高的算法例如可以包括结合矩匹配(moment matching,mm)的em算法。其中,结合mm的em算法在mm算法的基础上结合了em算法的思想,在确保拟合精度的前提下,能够以较快的速度得到流量生成模型。有关于结合mm
的em算法的详细描述可以参加下文,这里不再赘述。
[0075]
在第二种可能的实现中,训练数据流的平稳性较差,那么即使采用em算法等拟合精度较高的算法,第一设备仍然难以学习到精确的流量特征。也就是说,在训练数据流的平稳性差的情况下,第一设备可能难以根据训练数据包的到达时刻和训练数据包的特征信息训练流量生成模型,那么第一设备可以先对训练数据流进行处理,再根据处理后的训练数据流的流量特征训练流量生成模型。
[0076]
具体地,如果训练数据流的平稳性差,例如训练数据流的平稳性满足第二预设条件,第一设备可以从训练数据流中提取目标数据流,目标数据流包括多个目标数据包,且目标数据流中目标数据包的数量小于训练数据流中训练数据包的数量。即,第一设备将训练数据流中提取部分训练数据包,并将这些训练数据包作为目标数据包对流量生成模型进行训练。由训练数据包组成的数据流即为目标数据流。
[0077]
在从训练数据流中提取目标数据包时,第一设备可以从训练数据流包括的多个训练数据包中选择平稳性较佳的一个或多个训练数据包作为目标数据包。例如,假设全部训练数据流共包括200个数据包。其中前100个训练数据包的到达时刻之间的时间间隔的差异较小,而后100个训练数据包的到达时刻之间的时间间隔的差异较大,那么,第一设备可以从这200个数据包中选择前100个数据包作为目标数据包组成目标数据流。当然,第一设备也可以从多个训练数据包中选择距离当前时刻较近的一个或多个训练数据包作为目标数据包。
[0078]
在一些可能的实现中,用户可以设置训练数据包中目标数据流的比例。例如,假设全部训练数据流共包括200个训练数据包,且用户设置的比例为10%,那么第一设备可以从200个训练数据包中选择20个训练数据包作为目标数据包。
[0079]
在确定目标数据流后,第一设备可以利用目标数据流代替训练数据流对流量生成模型进行训练,从而得到模型参数集合。具体地,第一设备可以根据目标数据流中各个目标数据包的间隔时间和特征信息对目标数据流的流量特征进行学习,从而训练流量生成模型得到模型参数集合。第一设备通过目标数据包的间隔时间和特征信息训练流量生成模型的方法可以与第一设备通过训练数据包的间隔时间和特征信息训练流量生成模型的方法相同或相似,这里不再赘述。
[0080]
在确定流量生成模型所采用的算法后,第一设备可以根据训练数据包的间隔时间和训练数据包的特征信息,按照选定的算法对选定的流量生成模型进行训练,从而确定流量生成模型中各个参数,得到模型参数集合。
[0081]
根据前文介绍可知,训练数据包的特征信息可以包括训练数据包的包长和/或训练数据包的业务类型。下面分别针对训练数据包的特征信息包括训练数据包的包长、训练数据包的特征信息包括训练数据包的业务类型,和训练数据包的特征信息包括训练数据包的包长和业务类型这三种情况,对第一设备拟合流量生成模型的方法进行介绍。
[0082]
在第一种可能的实现中,训练数据包的特征信息包括训练数据包的包长。那么在训练流量生成模型之前,第一设备可以先确定训练数据包的平均包长。具体地,第一设备可以对训练数据包的包长按照训练数据包的类型进行聚类,得到聚类中心。接着,第一设备可以根据聚类中心确定训练数据流的平均包长,该平均包长表示训练数据流中各类训练数据包的平均长度。在得到训练数据流的平均包长后,第一设备可以根据训练数据流的平均包
长和各个训练数据包的到达时刻对训练数据流的流量特征进行学习,从而通过训练流量生成模型确定模型参数集合。这样,在训练流量生成模型之前,先确定训练数据流的平均包长,相当于将训练数据流中各个训练数据包进行标准化,可以使训练流量生成模型时所采用的数据包的特征信息与拟合算法的标准对象形式一致。如此,一方面可以提高训练流量生成模型的效率,另一方面可以提高最终得到的模型参数集合的精确度。
[0083]
在第二种可能的实现中,训练数据包的特征信息包括训练数据包的业务类型,表示该训练数据包用于传输何种业务产生的数据。那么在训练流量生成模型之前,第一设备可以根据先获取每种业务类型的训练数据包在训练数据流中出现的概率。例如,假设训练数据流包括200个训练数据包。其中100个训练数据包的业务类型为业务a,60个训练数据包的业务类型为业务b,剩余的40个训练数据包的业务类型为业务c。那么第一设备可以确定业务类型为业务a的训练数据包在训练数据流中出现的概率为50%,业务类型为业务b的训练数据包在训练数据流中出现的概率为30%,业务类型为业务c的训练数据包在训练数据流中出现的概率为20%。
[0084]
在确定每种业务类型的训练数据包在训练数据流中出现的概率后,第一设备可以根据得到的概率和训练数据包的到达时刻对训练数据流的流量特征进行学习,从而对流量生成模型进行训练,得到模型参数集合。
[0085]
在第三种可能的实现中,训练数据包的特征信息既包括训练数据包的包长,也包括训练数据包的业务类型。那么第一设备可以采用前文所述的方法分别确定训练数据流的平均包长和每种业务类型的训练数据包在训练数据流中出现的概率,从而根据训练数据流的平均包长、每种业务类型的训练数据包在训练数据流中出现的概率和训练数据包的到达时刻对训练数据流的流量特征进行学习,从而得到模型参数集合。
[0086]
根据前文介绍可知,为了避免过拟合现象,第一设备可以接收用户发送的训练时间和/或训练精度。那么,在训练流量生成模型时,第一设备可以根据用户设置的训练时间和/或训练精度训练流量生成模型,从而确保得到的流量生成模型能够满足用户的需求。
[0087]
在完成对流量生成模型对训练后,第一设备可以记录流量生成模型中各个参数,得到模型参数集合。接着,第一设备可以生成并存储对应关系,该对应关系包括训练数据包的间隔时间、训练数据包的特征信息和流量生成模型的模型参数之间的对应关系。这样,使用流量生成模型的设备在接收到用户输入的需求信息后,可以根据需求信息中包括的样本数据包的间隔时间和样本数据包的特征信息,从已存储的对应关系中查找与该需求信息相对应的模型参数集合,从而确定用于生成样本数据流的流量生成模型。关于这部分内容的描述可以参见下文,这里不再赘述。
[0088]
上文介绍了本技术实施例提供的模型建立方法,用于建立流量生成模型。相应地,本技术实施例还提供了一种样本数据流发送方法,该样本数据流发送方法可以通过预先建立的流量生成模型生成样本数据流并发送。下面进行详细介绍。
[0089]
需要说明的是,本技术实施例提供的样本数据流发送方法可以由执行前述模型建立方法的设备(即图2所示实施例中“第一设备”)执行,也可以由其他设备执行。下面以第一设备执行样本数据流发送方法为例进行介绍。
[0090]
参见图3,该图为本技术实施例提供的一种样本数据流发送方法的流程示意图,本技术实施例提供的样本数据流发送方法可以包括如下步骤:
[0091]
s301:第一设备获取多个样本数据包的需求信息。
[0092]
在生成样本数据流之前,第一设备可以先获取多个样本数据包的需求信息。其中,该多个样本数据包可以来自同一条样本数据流,也可以来自多条不同的样本数据流。也就是说,第一设备可以生成一条样本数据流,也可以生成多条样本数据流。样本数据流为技术人员需要第一生成的数据流,可以用于模拟特定环境下网络系统的流量特征。相应地,样本数据包的需求信息可以表示样本数据流中各个样本数据包的特征,即技术人员对样本数据流中各个样本数据包的需求。
[0093]
在本技术实施例中,样本数据包的需求信息可以包括该样本数据包的间隔时间和特征信息。其中,间隔时间为前述多个样本数据包中两个相邻的两个样本数据包被发送的时间间隔。例如,第i个样本数据包的间隔时间可以是第一设备发送第i-1个样本数据包之后,到第一设备发送该第i个样本数据包之间的时间间隔。其中i为大于等于2的正整数。
[0094]
样本数据包的特征信息例如可以包括样本数据包的包长和样本数据包的业务类型等信息,表示技术人员对样本数据包除发送时间以外的其他要求。
[0095]
在一些可能的实现中,技术人员可能不但对样本数据流中具体的样本数据包要求,还对整条样本数据流存在要求。那么,第一设备还可以获取样本数据流的需求信息,该样本数据流的需求信息例如可以包括多种业务类型的样本数据包的混合比例、样本数据包的数目、样本数据流的速率和样本数据流的输出时间中的任意一项或多项。
[0096]
其中,多种业务类型的样本数据包的混合比例表示样本数据流中各种业务类型的样本数据包占样本数据流中的全部样本数据包的比例,例如可以是样本数据流中某种业务类型的样本数据包占全部样本数据包的比例。样本数据包的数目表示样本数据流中全部样本数据包的数量,表示技术人员需要第一设备生成多少个样本数据包。样本数据流的速率为第一设备发送样本数据包的速率,例如可以是第一设备在单位时间内发送的样本数据包数量。样本数据流的输出时间表示第一设备发送样本数据包的总时间。即,样本数据流的输出时间为从第一设备发送第一个样本数据包的时间,到第一设备发送最后一个样本数据包的时间之间的时间间隔。
[0097]
s302:第一设备将多个样本数据包的需求信息输入到流量生成模型,得到与所述需求信息匹配的样本数据流。
[0098]
在得到多个样本数据包的需求信息后,第一设备可以将所述多个样本数据包的需求信息输入到流量生成模型,从而通过流量生成模型生成与这些需求信息相匹配的样本数据流。其中,该流量生成模型可以是通过执行图2所示实施例提供的模型建立方法得到的流量生成模型。
[0099]
根据前文介绍可知,第一设备在建立流量生成模型后可以记录样本数据包的间隔时间、样本数据包的特征信息和模型参数集合之间的对应关系,并存储该对应关系。相应地,当样本数据包的需求信息包括样本数据包的间隔时间和样本数据包的特征信息时,第一设备可以根据已存储的对应关系,查找与样本数据包的间隔时间和特征信息相对应的模型参数集合,并根据查找到的模型参数集合建立与样本数据包的需求信息相对应的流量生成模型,从而通过该流量生成模型生成与需求信息相匹配的样本数据流。其中,样本数据流的数量可以为一条,也可以为多条。
[0100]
根据前文介绍可知,当训练数据包的特征信息包括的内容不同时,流量生成模型
的类型可能不同。那么,在建立流量生成模型时,第一设备可以先根据样本数据包的需求信息中的特征信息包括的内容确定流量生成模型的类型,再根据对应关系确定与需求信息相匹配的模型参数集合。
[0101]
具体地,仍以图2对应实施例中的例子进行说明。当流量生成模型的类型包括bmap模型或mmap模型时,第一设备可以先判断样本数据包的需求信息的特征信息中是否包括样本数据包的包长或业务类型。如果样本数据包的特征信息包括样本数据包的包长,第一设备可以确定流量生成模型为“bmap模型”这一类型的模型;如果样本数据包的特征信息包括样本数据包的业务类型,第一设备可以确定流量生成模型为“mmap模型”这一类型的模型。在确定流量生成模型的类型后,第一设备可以根据模型参数集合构建该类型的流量生成模型,以便通过流量生成模型生成与需求信息相匹配的样本数据包。这些样本数据包组成的数据流即为样本数据流。
[0102]
在发送样本数据流时,第一设备可以根据样本数据包的特征信息确定每个样本数据包的包长和/或业务类型,根据样本数据包的间隔时间确定两个样本数据包被发送的时间之间的时间间隔。具体地,假设样本数据包的特征信息包括样本数据包的包长,且第i个样本数据包的包长为b[i],第i-1个样本数据包和第i个样本数据包之间的间隔时间为t[i],第一设备在t=0时刻发送了第i-1个样本数据包,其中i为大于1的正整数。那么,第一设备可以生成长度为b[i]的数据包,例如可以生成长度为b[i]的随机数序列,并在t=t[i]时刻发送该数据包。
[0103]
根据前文介绍可知,需求信息可以是多条样本数据流中样本数据包的需求信息。那么,当第一设备生成的样本数据包来自多条不同的样本数据包时,第一设备还可以在样本数据包中添加该样本数据包所在的样本数据流的流标识。流标识用于标识该样本数据包来自哪条样本数据流。
[0104]
在生成样本数据流之后,第一设备可以向网络系统中的网络设备或其他设备发送生成的样本数据流。例如,当第一设备为图1所示实施例中设备140时,设备140可以通过与网络设备131之间的连接向网络设备131发送样本数据流,或通过与网络设备132之间的连接向网络设备132发送样本数据流。可选地,当设备140还与终端设备110连接(二者的连接关系在图1中未示出)时,设备140还可以通过与终端设备110之间的连接向终端设备110发送样本数据流,从而通过终端设备110将样本数据流发送给网络系统中各个网络设备。
[0105]
在本技术实施例中,前述多个样本数据包可以属于多条不同的样本数据流,那么,在发送样本数据流时,第一设备可以向样本数据流的目的设备发送该样本数据流中的样本数据包。
[0106]
在一些可能的实现中,第一设备还可以计算样本数据流的统计信息。具体地,在发送样本数据流时,第一设备可以记录样本数据流中每个样本数据包的信息,从而计算得到样本数据流的统计信息。在本技术实施例中,样本数据流的统计信息可以包括样本数据流的各阶矩即随机变量的高次方的期望、概率密度函数(probability density function,pdf)、概率分布函数(cumulative density function,cdf)、互补累积分布函数的对数(logarithm cumulative density function,logccdf)和流速。其中,流速为第一设备在单位时间内发送的数据包的总字节量。
[0107]
在以上可能的实现方式中,流量生成模型中各个参数是根据多个训练数据包的间
隔时间和特征信息进行训练得到的。而在一些其他的实现方式中,流量生成模型中各个参数也可以是用户主动设置的,即第一设备根据用户输入的参数建立流量生成模型,在通过该流量生成模型发送样本数据流。当然,第一设备还可以根据预先存储的参数生成样本数据流,这里不做赘述。
[0108]
在本技术实施例中,流量生成模型可以是mmap模型或bmap模型,拟合流量生成模型所用的算法可以是结合mm的em算法或em算法。而在建立流量生成模型时,可以根据训练数据流中训练数据包的间隔时间和数据包特征信息对网络系统中数据流的流量特征进行学习,从而训练流量生成模型得到模型参数集合。由于既考虑到了训练数据包的到达时刻,也考虑到了训练数据包的数据包特征信息,训练后的流量生成模型可以精确地的模拟数据流的流量特征。而在生成样本数据流时,通过采用与样本数据包的需求信息相匹配的流量生成模型,第一设备可以能够生成满足需求信息的样本数据流,从而精确地模拟满足需求信息的情况下网络系统中各条数据流的流量特征。
[0109]
这样,由于建立流量生成模型时采用了训练数据包的特征信息,生成样本数据流时也采用了样本数据包特征信息,相较于现有技术,不但考虑到了数据包的到达时刻,还考虑到了数据包本身具有的特征信息,可以更加全面的对网络系统中各条数据流的流量特征进行学习和还原,使得最终生成的样本数据流中样本数据包的间隔时间和特征信息能够与实际应用场景下数据流中数据包的间隔时间和特征信息相匹配。如此,通过结合数据包的间隔时间和特征信息训练流量生成模型和生成样本数据流,使得最终生成的样本数据流可以精确地模拟实际应用场景中数据流的流量特征,与需求信息的匹配程度更高。
[0110]
根据前文介绍可知,第一设备在建立流量生成模型时,可以先确定训练数据流的平稳性,再根据训练数据流的平稳性采用em算法或结合mm的em算法拟合流量生成模型。下面对结合mm的em算法进行介绍。
[0111]
在本技术实施例中,模型参数集合可以包括第一模型参数集合和第二模型参数集合。相应的,结合mm的em算法可以分为确定第一模型参数集合和确定第二模型参数集合两个过程。其中,第一模型参数集合的求解过程基于em算法,第二模型参数集合的求解过程基于mm算法的思想。这样,结合mm算法等思想,可以在em算法等基础上确定新的约束条件,从而提高求解模型参数集合的速度,提高训练流量生成模型的效率。如此,相较于传统的em算法,结合mm的em算法可以提高2-10倍的训练速度。
[0112]
下面分别对这两个过程进行介绍。首先介绍确定第一模型参数集合的过程。
[0113]
在确定第一模型参数集合时,第一设备可以根据多个训练数据包的间隔时间,采用em算法得到第一模型参数集合。在本技术实施例中,第一模型参数集合可以包括d0矩阵和π向量。其中,d0矩阵表示没有到达时间发生时的状态转移速率,即数据包未到达网络设备时的状态转移速率。π向量表示系统嵌入过程的状态平稳分布。
[0114]
具体地,第一设备可以先计算多个训练数据包中每个训练数据包的到达时间,并初始化模型参数集合。具体地,假设第m个训练数据包的间隔时间用tm,那么该第k个数据包的到达时间可以表示为其中,m和k为大于等于1正整数。第一设备可以初始化模型参数集合。可选的,模型参数集合包括矩阵序列{d0,d1,d2,
···dk
}和向量π=(π0,π1,π2···
πn)。其中,k为训练数据包大小的种类数,例如可以是训练数据包的包长的种类数;
n为流量生成模型的阶数,即的模型状态数,同时也是矩阵序列中矩阵的阶数。根据前文介绍可知,n可以通过多个训练数据包中部分训练数据包对阶数不同的流量生成模型进行测试得到。
[0115]
接着,第一设备可以执行em算法中的期望(expectation,e)步,计算似然函数和似然函数的条件期望。可选地,第一设备可以分别计算训练数据包的前k步似然函数和后k步似然函数,并根据前k步似然函数和后k步似然函数计算第k个时间间隔内状态转移次数的条件期望、第k个时间间隔内状态逗留时间的条件期望和第k个时间点发生到达时间的条件期望。其中,第k个时间间隔是指从第k-1个训练数据包的到达时间以后,到第k个训练数据包的到达时间之间的时间间隔。
[0116]
在计算得到条件期望后,第一设备可以执行em算法中的最大化(maximization,m)步。通过解线性方程组对e步得到的π向量、矩阵d0和矩阵d1进行优化。可选地,第一设备可以先通过多个时间间隔内的条件期望反解出矩阵d0和矩阵d1中各个元素值,再通过解线性方程组确定π向量。
[0117]
在计算得到π向量、矩阵d0和矩阵d1的值之后,第一设备可以利用新得到的π向量、矩阵d0和矩阵d1的值返回e步进行计算,并重复执行e步和m步,直至定π向量、矩阵d0和矩阵d1的值不发生变化为止。也就是说,在第一设备首次执行em算法的e步时,π向量、矩阵d0和矩阵d1中各个元素的值可以为预设的初始值,在后续em算法的e步时,π向量、矩阵d0和矩阵d1中各个元素的值可以为上一次迭代运算得到的结果。
[0118]
可选地,第一设备可以通过如下公式计算训练数据包的前k步似然函数和后k步似然函数:
[0119]fk
(u)=πsexp(d0t1)d1…
exp(d0tk)d1exp(d0u)
[0120]bk
(u)=exp(d0u)exp(d0t
k 1
)d1…
exp(d0tk)d1e
[0121]
其中,fk(u)为训练数据包的前k步似然函数,bk(u)为训练数据包的后k步似然函数。πs为bmap\mmap统计模型中(数据包到达时刻)嵌入过程的系统状态为s的稳态分布概率,u为似然函数的自变量,可以为任意正实数。
[0122]
可选地,第一设备可以通过如下公式计算似然函数的条件期望。
[0123][0124][0125][0126]
其中,表示在第k个时间间隔内,发生从状态i到状态j的相位转移的数量,表示在第个时间间隔内,在状态i的逗留时间;表示sk这一时刻,发生从状态i到状态j的相位转移,且伴随一个训练数据包的到达的数量。μ
i,j
表示矩阵d0中第i行第j列的元
素值;λ
i,j
表示矩阵d1中第i行第j列的元素值。
[0127]
可选地,第一设备可以通过如下公式分别计算d0和矩阵d1中各个元素值
[0128][0129][0130]
可选地,第一设备可以求解如下线性方程组,得到满足方程组的π向量。
[0131][0132]
通过不断迭代运算,第一设备可以确定π向量、矩阵d0和矩阵d1,即第一模型参数集合。在计算得到第一模型参数集合后,第一设备可以根据第一模型参数集合确定第二模型参数集合,从而得到完整的模型参数集合。
[0133]
下面介绍确定第二模型参数集合的过程。
[0134]
在计算得到π向量、矩阵d0和矩阵d1之后,第一设备可以计算第一统计值、第一理论值、第二统计值和第二理论值。其中,第一理论值为表达所述多个训练数据包的时间间隔的滞后性的理论值;第一统计值为表达所述多个训练数据包的时间间隔的滞后性的统计值;第二理论值为表达所述多个训练数据包的特征信息的滞后性的理论值,第二统计值为表达所述多个训练数据包的特征信息的滞后性的统计值。其中,第一统计值和第二统计值可以通过统计学公式,根据多个训练数据包的间隔时间和特征信息计算得到。第一理论值和第二理论值可以根据模型参数集合得到。在本技术实施例中,第一统计值和第二统计值可以通过统计学手段对训练数据流的到达时刻和特征信息进行计算得到。
[0135]
由于模型参数集合包括第一模型参数集合和第二模型参数集合,而第一模型参数集合已通过em算法确定,那么,第一设备可以使理论值与统计值之间差异最小,求解第二模型参数集合,从而模型参数集合。即,第一设备可以分别计算第一理论值和第一统计值之间的差值和第二理论值和第二统计值之间的差值,并求使得前述两个差值之和最小的第二模型参数,得到模型参数集合。可选地,在求使得前述两个差值之和最小的第二模型参数时,第一设备可以采用最小二乘法等方法求解,本技术实施例对具体的求解过程不作赘述。
[0136]
根据前文介绍可知,训练数据包的特征信息可以包括训练数据包的包长和训练数据包的业务类型。下面以训练数据包的特征信息包括训练数据包的包长为例,对上述过程进行详细描述。假设第i个训练数据包的包长用bi表示,那么第一设备可以通过如下公式计算第一理论值和第二理论值。
[0137][0138]
[0139]
其中,ρ
t
(r)为第一理论值;ρb(r)为第二理论值;r为滞后系数的阶数,在本技术实施例中可以取1、2或3;d-1
=d0 d1···dk-1

[0140]
可选地,第一设备可以确定求解第二模型参数集合的约束条件如下:
[0141][0142]
其中,β1为训练数据包的包长的一阶矩,β2为训练数据包的包长的二阶矩。
[0143]
可选地,在确定约束条件之后,第一设备可以通过如下公式确定满足条件的第二模型参数集合,从而得到模型参数集合。
[0144][0145]
其中,表示第一统计值,表示第二统计值。
[0146]
参见图4,本技术实施例还提供了一种模型建立装置400,该模型建立装置400可以实现图2所示实施例中第一设备的功能。该模型建立装置400包括获取单元401和训练单元403。其中,获取单元401用于实现图2所示实施例中的s201,训练单元402用于实现图2所示实施例中的s202。
[0147]
具体的,获取单元401,用于获取训练数据流包括的每个训练数据包的间隔时间和数据包特征信息。
[0148]
训练单元402,用于根据所述多个训练数据包的间隔时间和所述多个训练数据包的特征信息对所述流量生成模型进行训练,得到所述流量生成模型的模型参数集合。
[0149]
具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
[0150]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0151]
参见图5,本技术实施例还提供了一种样本数据流发送装置500,该样本数据流发送装置500可以实现图3所示实施例中第一设备的功能。该样本数据流发送装置500包括获取单元501和生成单元503。其中,获取单元501用于实现图3所示实施例中的s301,生成单元502用于实现图3所示实施例中的s302。
[0152]
具体的,获取单元501,用于获取多个样本数据包的需求信息,多个样本数据包属于一条或多条样本数据流,所述需求信息包括所述样本数据包的特征信息和所述样本数据包的间隔时间,所述间隔时间为输出所述样本数据包之间的间隔时间。
[0153]
训练单元502,用于将所述需求信息输入到流量生成模型,得到与所述需求信息匹配的所述多个样本数据包,所述流量生成模型体现所述样本数据包的间隔时间和所述样本
数据包的特征信息之间的相关性。
[0154]
具体执行过程请参考上述图3所示实施例中相应步骤的详细描述,这里不再一一赘述。
[0155]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0156]
在一些可能的实现方式中,图4所以实施例中模型建立装置400可以被包含在图5所示实施例中样本数据流发送装置500中。即,除获取单元501与训练单元502以外,样本数据流发送装置500还可以包括模型建立装置400。
[0157]
模型建立方法或样本数据流生成图6是本技术实施例提供的一种设备600的结构示意图。上文中的模型建立装置400或样本数据流生成装置500可以通过图6所示的设备来实现。参见图6,该设备600包括至少一个处理器601,通信总线602以及至少一个网络接口604,可选地,该设备600还可以包括存储器603。
[0158]
处理器601可以是一个通用中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控制本技术方案程序执行的集成电路(integrated circuit,ic)。处理器可以用于对配置文件进行处理,以实现本技术实施例中提供的模型建立方法或样本数据流生成方法。
[0159]
比如,当图2中的第一设备通过图6所示的设备来实现时,该处理器可以用于,获取训练数据流包括的每个训练数据包的间隔时间和数据包特征信息;根据所述多个训练数据包的间隔时间和所述多个训练数据包的特征信息对所述流量生成模型进行训练,得到所述流量生成模型的模型参数集合。当图3中的第一设备通过图6所示的设备来实现时,该处理器可以用于,获取多个样本数据包的需求信息,多个样本数据包属于一条或多条样本数据流,所述需求信息包括所述样本数据包的特征信息和所述样本数据包的间隔时间,所述间隔时间为输出所述样本数据包之间的间隔时间;将所述需求信息输入到流量生成模型,得到与所述需求信息匹配的所述多个样本数据包,所述流量生成模型体现所述样本数据包的间隔时间和所述样本数据包的特征信息之间的相关性。
[0160]
通信总线602用于在处理器601、网络接口604和存储器603之间传送信息。
[0161]
存储器603可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,存储器603还可以是随机存取存储器(randomaccess memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器603可以是独立存在,通过通信总线602与处理器601相连接。存储器603也可以和处理器601集成在一起。
[0162]
可选地,存储器603用于存储执行本技术方案的程序代码或指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的程序代码或指令。程序代码中可以包
括一个或多个软件模块。可选地,处理器601也可以存储执行本技术方案的程序代码或指令,在这种情况下处理器601不需要到存储器603中读取程序代码或指令。
[0163]
网络接口604可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(ran)或无线局域网(wireless local area networks,wlan)等。在本技术实施例中,网络接口604可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口604可以为以太接口(ethernet)接口、快速以太(fast ethernet,fe)接口或千兆以太(gigabit ethernet,ge)接口等。
[0164]
在具体实现中,作为一种实施例,设备600可以包括多个处理器,例如图6中所示的处理器601和处理器406。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0165]
图7是本技术实施例提供的一种设备700的结构示意图。图2或图3中的第一设备可以通过图7所示的设备来实现。参见图7所示的设备结构示意图,设备700包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板包括cpu和存储器,主控板负责对设备700中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,lpu)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备700也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,sfu)。接口板包括cpu、存储器、转发引擎和接口卡(interface card,ic),其中接口卡可以包括一个或多个网络接口。网络接口可以为ethernet接口、fe接口或ge接口等。cpu与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备700的ip地址,则将该报文发送给主控板或接口板的cpu进行处理;如果接收到的报文的目的地址不是设备700的ip地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,np)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板cpu。在一些实施例中,cpu也可执行转发引擎的功能,比如基于通用cpu实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过asic或现场可编程门阵列(field programmable gate array,fpga)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
[0166]
本技术实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图2或图3所示实施例中第一设备的方法。
[0167]
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过
软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
[0168]
示例性的,该芯片系统可以是fpga,可以是asic,还可以是系统芯片(systemon chip,soc),还可以是cpu,还可以是np,还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
[0169]
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0170]
本技术实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第一设备执行的模型建立方法或样本数据流生成方法。
[0171]
本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第一设备执行的模型建立方法或样本数据流生成方法。
[0172]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0173]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0174]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0175]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
[0176]
另外,在本技术各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
[0177]
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0178]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0179]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
[0180]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献