[发明专利]基于结构模型的互联网拓扑仿真生成方法及系统有效

专利信息
申请号: 201911295155.1 申请日: 2019-12-16
公开(公告)号: CN112100797B 公开(公告)日: 2021-06-01
发明(设计)人: 焦波;张文生;戎海武;何敏藩;石建迈;邢立宁 申请(专利权)人: 佛山科学技术学院
主分类号: G06F30/20 分类号: G06F30/20
代理公司: 广州嘉权专利商标事务所有限公司 44205 代理人: 蔡伟杰
地址: 528000 广*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 结构 模型 互联网 拓扑 仿真 生成 方法 系统
【权利要求书】:

1.基于结构模型的互联网拓扑仿真生成方法,其特征在于,所述方法包括以下步骤:

S100:配置仿真拓扑的起始时间;

S200:录入网络拓扑图,通过网络拓扑图的拓扑结构分解方法将每幅拓扑图分解为十六个实组件或虚组件,并通过特征提取方法生成或修正网络拓扑随历史演化过程的稳定特征参数;

S300:输入需要仿真的网络拓扑对应的历史时间,结合起始时间计算仿真拓扑十六个实/虚组件的特征参数;

S400:通过AS级网络拓扑实组件Qcor仿真生成方法仿真生成实组件Qcor

S500:通过AS级网络拓扑实组件Qbip仿真生成方法仿真生成实组件Qbip

S600:通过AS级网络拓扑五个子图P-Q、I-Q、J-Q、K-Q和K-S仿真生成方法生成子图P-Q、I-Q、J-Q、K-Q和K-S;

S700:通过AS级网络拓扑实组件J~Q仿真生成方法仿真生成实组件J~Q;

S800:通过AS级网络拓扑实组件K~S仿真生成方法仿真生成实组件K~S;

S900:通过AS级网络拓扑实组件S-Q仿真生成方法生成实组件S-Q;

S1000:调用AS级网络拓扑虚组件A-B仿真生成方法将实组件Qcor、Qbip、P-Q、I-Q、J~Q、K-Q、K~S和S-Q合并为一副完整的网络拓扑结构图。

其中,在S400中,通过AS级网络拓扑实组件Qcor仿真生成方法仿真生成实组件Qcor的方法包括以下步骤:

输入特征参数:

t:从起始时间到目标时间的间隔时间数;

Qcor_nh(t):仿真图分解拓扑结构中节点数相对t的一次线性拟合函数;

Qcor_nm(t):仿真图分解拓扑结构中节点数相对t的二次线性拟合函数;

Qcor_nl(t):仿真图分解拓扑结构中节点数相对t的一次线性拟合函数;

Qcor_density(i):密度曲线拟合函数,其表示实组件Qcor中前i个度最大的节点之间的边数与最大可能边数i(i-1)/2的比率,1≤i≤max(Qcor_nh(t)),max(Qcor_nh(t))表示Qcor_nh(t)相对任意t的最大值,默认情况下max(Qcor_nh(t))=1000;

Qcor_pc(d):相对中节点的度d=1,2,…,99的概率分布函数;

Qcor_pdl(d):相对中节点的度d=1,2,…,10的概率分布函数;

Qcor_pdm(d):相对中节点的度d=11,12,…,99的概率分布函数;

Qcor_m(i):中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的斜率,1≤i≤max(Qcor_nh(t)),默认情况下max(Qcor_nh(t))=1000;

Qcor_b(i):中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的截距,1≤i≤max(Qcor_nh(t)),默认情况下max(Qcor_nh(t))=1000;

输出:仿真生成的实组件Qcor

S401:分别计算的节点数h=Qcor_nh(t),m=Qcor_nm(t),l=Qcor_nl(t);

S402:生成h个节点1,2,…,h,并分配度di给节点i=1,2,…,h,其中di为:

di=round(max(Qcor_m(i)·t+Qcor_b(i),100)),

其中max表示取最大值,round表示四舍五入取整数;

S403:生成m个节点h+1,h+2,…,h+m,初始化d←99,i←h,转到S404;

S404:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(m×Qcor_pdm(d)),并更新

i←i+round(m×Qcor_pdm(d)),d←d-1,转到S404;否则转到S405;

S405:生成l个节点h+m+1,h+m+2,…,h+m+l,初始化d←10,i←h+m,转到S406;

S406:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(l×Qcor_pdl(d)),并更新;i←i+round(l×Qcor_pdl(d)),d←d-1,转到S406;否则,转到S407;

S407:初始化节点i←2,转到S408;

S408:如果i≤h,则计算x=i×(i-1)×Qcor_density(i)/2-(i-1)×(i-2)×Qcor_density(i-1)/2,并从节点集{1,2,…,i-1}中均等分布地抽取x个自由度至少为1的节点,并将节点i连接至这抽取出的x个节点,其中节点的自由度是指步骤S402,S403,S404中该节点被分配的度减去该节点已被连接的边数,更新i←i+1,转到S408,否则,转到S409;

S409:定义;初始化i←1,转到S410;

S410:如果i≤h,则计算节点z(i)的自由度x,并将这x个自由度以概率分布Qcor_pc(d)随机分配至不同的集合RK1,K1=1,2,…,99,初始化k←1,转到S411;否则,转到S412;

S411:如果k≤99,则计算y,其为集合Rk包含自由度数量,从节点集{h+1,h+2,…,h+m+l}中抽取出所有度为k且自由度至少为1为节点从而构成子节点集Y,将Y中所有节点按照fd(v)递减的顺序排列,其中fd(v)被定义为Y中节点v的自由度数量,从Y中抽取前ak=min(y,||Y||)个节点,并将节点z(i)连接至这抽取出的ak个节点,其中||Y||表示集合Y包含节点的总数;更新k←k+1,转到S411;否则即k99,更新i←i+1,转到S410;

S412:初始化i←1,转到S413;

S413:如果i≤l,则计算节点h+m+i的自由度数量x,转到S414;否则,转到S415;

S414:如果x≥1,则从集合{11,12,…,99}中均等分布地抽取一个数k,并从节点集{h+1,h+2,…,h+m}中抽取出所有度为k且自由度至少为1的节点从而构成节点子集Y;从Y中均等分布地随机抽取出一个尚没有与节点h+m+i连接的节点,并将该节点与节点h+m+i相互连接;更新x←x-1,转到S414;否则,更新i←i+1,转到S413;

S415:计算节点h+1,h+2,…,h+m的全部自由度总数为x,初始化tc←0,转到S416;

S416:如果x≥2且tc500,则从集合{11,12,…,99}中均等分布地抽取两个数k1和k2,并从节点集{h+1,h+2,…,h+m}中抽取出一个k1度节点v1和一个k2度节点v2,其中v1和v2尚没有连接;如果能够抽取出这两个节点v1和v2,则将它们相互连接,并更新x←x-2,否则更新tc←tc+1,转到S416;如果x≤2或tc≥500,则输出实组件Qcor,其由h+m+l个节点1,2,…,h+m+l以及它们之间已相互连接的边构成。

其中,在S500中,通过AS级网络拓扑实组件Qbip仿真生成方法仿真生成实组件Qbip的方法包括以下步骤:

输入特征参数:

t:从起始时间到目标时间的间隔时间数;

Qbip_nuh(t):拓扑图分解拓扑结构中节点数相对于t的一次线性拟合函数;

Qbip_nul(t):拓扑图分解拓扑结构中节点数相对于t的二次线性拟合函数;

Qbip_nbl(t):拓扑图分解拓扑结构中节点数相对于t的一次线性拟合函数;

Qbip_pc(d):相对于中节点的度d=1,2,…,10的概率分布函数,其表征一条边连接度为d的节点的概率;

Qbip_ps(d2):相对于中节点的度d2=1,2,…,10的概率分布函数,其表征一条边连接度为d2的节点的概率;

Qbip_pdu(d):相对于中节点的度d=1,2,…,10的概率分布函数,其表征一个节点的度为d的概率;

Qbip_pdb(d):相对于中节点的度d=1,2,…,10的概率分布函数,其表征一个节点的度为d的概率;

Qbip_m(i):节点集中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的斜率,1≤i≤max(Qbip_nuh(t)),默认情况下max(Qbip_nuh(t))=1000;

Qbip_b(i):节点集中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的截距,1≤i≤max(Qbip_nuh(t)),默认情况下max(Qbip_nuh(t))=1000;

Qbip_pdpl(r):相对于度对(d1,d2)的排列序号r的概率分布函数,其表征一条边连接两个度分别为d1和d2的节点的概率;

输出:仿真生成的实组件Qbip

S501:分别计算的节点数h=Qbip_nuh(t),y=Qbip_nul(t),x=Qbip_nbl(t);

S502:生成h个节点1,2,…,h,并分配度di给节点i=1,2,…,h,其中di为:di=round(max(Qbip_m(i)·t+Qbip_b(i),11)),

其中max表示取最大值,round表示四舍五入取整数;

S503:生成y个节点h+1,h+2,…,h+y,初始化d←10,i←h,转S504;

S504:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(y×Qbip_pdu(d)),并更新i←i+round(y×Qbip_pdu(d)),d←d-1,转S504;否则,转S505;

S505:生成x个节点h+y+1,h+y+2,…,h+y+x,初始化d←10,i←h+y,转S506;

S506:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(x×Qbip_pdb(d)),并更新i←i+round(x×Qbip_pdb(d)),d←d-1,转S506;否则,转S507;

S507:计算联合度分布P(d1,d2)=Qbip_ps(d2)/10,其表征一条边连接度为d1的节点和度为d2的节点的概率,并计算实组件Qbip中边的总数el,其中el等于节点度dh+1,dh+2,…,dh+y的求和;初始化d1←1,转S508;

S508:如果d1≤10,初始化d2←1,则转S509,否则转S511;

S509:如果d2≤10,则计算z=round(el×P(d1,d2)),其表示连接d1度节点和d2度节点的总边数,并初始化tc←0,转S510,否则,更新d1←d1+1,转S508;

S510:如果z≥1且tc=0,则从节点集{h+1,h+2,…,h+y}中抽取一个d1度节点v1并从节点集{h+y+1,h+y+2,…,h+y+x}中抽取一个d2度节点v2,其中节点v1和v2尚未连接;如果能够抽取出这两个节点,则将它们互连并更新z←z-1,否则更新tc←1,转S510;如果z1或tc=1,则更新d2←d2+1,转S509;

S511:定义;初始化i←1,转S512;

S512:如果i≤h,则计算节点z(i)的自由度zf,并将这zf个自由度以概率分布Qbip_pc(d)随机分配至不同的集合RK2,K2=1,2,…,10,初始化k←1,转S513;否则,转S514;

S513:如果k≤10,则计算zk,其为集合Rk包含自由度数量,从节点集{h+y+1,h+y+2,…,h+y+x}中抽取出所有度为k且自由度至少为1为节点从而构成子节点集L,将L中所有节点按照fd(v)递减的顺序排列,其中fd(v)被定义为L中节点v的自由度数量,从L中抽取前ak=min(zk,||L||)个节点,并将节点z(i)连接至这抽取出的ak个节点,其中||L||表示集合L包含节点的总数,更新k←k+1,转S513;否则,更新i←i+1,转S512;

S514:调用度对排序方法,即调用步骤ZS501~ZS504,对由节点度形成的度对进行排序得到度对序列L,初始化L中度对的序号r←1,计算其表示连接两个节点的边的总数,转S515;

S515:设序列L中序号r对应的度对为(d1,d2);如果Qbip_pdpl(r)0,则计算z=round(el×Qbip_pdpl(r)),其表示连接两个度分别为d1和d2的节点的总边数,转S516;否则输出实组件Qbip,其由h+y+x个节点1,2,…,h+y+x以及它们之间已相互连接的边构成;

S516:如果z≥1,则从节点集{h+y+1,h+y+2,…,h+y+x}中抽取一个d1度节点v1和一个d2度节点v2,其中节点v1和v2尚未连接,将它们互连并更新z←z-1,转S516;否则即z1,更新r←r+1,转S515。

其中,在S600中,通过AS级网络拓扑五个子图P-Q、I-Q、J-Q、K-Q和K-S仿真生成方法生成子图P-Q、I-Q、J-Q、K-Q和K-S的方法包括以下步骤:

说明:这五个子图的仿真生成方法相同,因此采用X-Y统一表示这五个子图,其中X∈{P,I,J,K}且Y∈{S,Q},下面给出子图X-Y的仿真生成方法:

输入特征参数:

t:从起始时间到目标时间的间隔时间数;

XY_nyh(t):拓扑图分解拓扑结构中YX(h)节点数相对于t的一次线性拟合函数;

XY_nyl(t):拓扑图分解拓扑结构中YX(l)节点数相对于t的二次线性拟合函数;

XY_nxl(t):拓扑图分解拓扑结构中XY(l)节点数相对于t的一次线性拟合函数;

XY_pc(d):相对于XY(l)中节点的度d=1,2,…,30的概率分布函数,其表征一条YX(h)-XY(l)边连接度为d的XY(l)节点的概率;

XY_ps(d2):相对于XY(l)中节点的度d2=1,2,…,30的概率分布函数,其表征一条YX(l)-XY(l)边连接度为d2的XY(l)节点的概率;

XY_pdy(d):相对于YX(l)中节点的度d=1,2,…,10的概率分布函数,其表征一个YX(l)节点的度为d的概率;

XY_pdx(d):相对于XY(l)中节点的度d=1,2,…,30的概率分布函数,其表征一个XY(l)节点的度为d的概率;

XY_m(i):节点集YX(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的斜率,1≤i≤max(XY_nyh(t)),默认情况下max(XY_nyh(t))=1000;

XY_b(i):节点集YX(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的截距,1≤i≤max(XY_nyh(t)),默认情况下max(XY_nyh(t))=1000;

输出:仿真生成的子图X-Y;

S601:分别计算YX(h),YX(l),XY(l)的节点数h=XY_nyh(t),y=XY_nyl(t),x=XY_nxl(t);

S602:生成h个YX(h)节点1,2,…,h,并分配度di给节点i=1,2,…,h,其中di为:di=round(max(XY_m(i)·t+XY_b(i),11)),

其中max表示取最大值,round表示四舍五入取整数;

S603:生成y个YX(l)节点h+1,h+2,…,h+y,初始化d←10,i←h,转S604;

S604:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(y×XY_pdy(d)),并更新i←i+round(y×XY_pdy(d)),d←d-1,转S604;否则,转S605;

S605:生成x个XY(l)节点h+y+1,h+y+2,…,h+y+x,初始化d←10,i←h+y,转S606;

S606:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(x×XY_pdx(d)),并更新i←i+round(x×XY_pdx(d)),d←d-1,转S606;否则,转S607;

S607:计算联合度分布P(d1,d2)=XY_ps(d2)/10,其表征一条YX(l)-XY(l)边连接度为d1的YX(l)节点和度为d2的XY(l)节点的概率,并计算子图X-Y中YX(l)-XY(l)边的总数el,其中el等于节点度dh+1,dh+2,…,dh+y的求和;初始化d1←1,转S608;

S608:如果d1≤10,初始化d2←1,则转S609,否则转S611;

S609:如果d2≤30,则计算z=round(el×P(d1,d2)),其表示连接d1度YX(l)节点和d2度XY(l)节点的总边数,并初始化tc←0,转S610,否则,更新d1←d1+1,转S608;

S610:如果z≥1且tc=0,则从节点集{h+1,h+2,…,h+y}中抽取一个d1度节点v1并从节点集{h+y+1,h+y+2,…,h+y+x}中抽取一个d2度节点v2,其中节点v1和v2尚未连接;如果能够抽取出这两个节点,则将它们互连并更新z←z-1,否则更新tc←1,转S610;如果z1或tc=1,则更新d2←d2+1,转S609;

S611:定义;初始化i←1,转S612;

S612:如果i≤h,则计算节点z(i)的自由度zf,并将这zf个自由度以概率分布XY_pc(d)随机分配至不同的集合RK3,K3=1,2,…,30,初始化k←1,转S613;否则,转S614;

S613:如果k≤30,则计算zk,其为集合Rk包含自由度数量,从节点集{h+y+1,h+y+2,…,h+y+x}中抽取出所有度为k且自由度至少为1为节点从而构成子节点集L,将L中所有节点按照fd(v)递减的顺序排列,其中fd(v)被定义为L中节点v的自由度数量,从L中抽取前ak=min(zk,||L||)个节点,并将节点z(i)连接至这抽取出的ak个节点,其中||L||表示集合L包含节点的总数,更新k←k+1,转S613;否则即k30,更新i←i+1,转S612;

S614:输出子图X-Y,其由节点1,2,…,h+y+x以及它们之间已相互连接的边构成。

其中,在S700中,通过AS级网络拓扑实组件J~Q仿真生成方法仿真生成实组件J~Q的方法包括以下步骤:

说明:在拓扑图中,实组件J~Q由子图J-Q和边集JJ(l)-JJ(l)组成,其中子图J-Q已由“AS级网络拓扑五个子图P-Q、I-Q、J-Q、K-Q和K-S仿真生成方法”仿真生成,这五个子图统一采用子图X-Y表示,其中X∈{P,I,J,K}且Y∈{S,Q};因此,实组件J~Q的仿真生成,是在已生成子图J-Q上添加边集JJ(l)-JJ(l),其中JJ(l)-JJ(l)表示连接子图J-Q的节点集JQ(l)中两个节点的所有边构成的集合;

输入:子图J-Q以及特征参数JQ_pdpl(r),其表示相对于度对(dJ-Q(v1),dJ-Q(v2))对应的排列序号r的一条连接JQ(l)中两个节点的边的两个端点在子图J-Q的度分别为dJ-Q(v1)和dJ-Q(v2)的概率,其中,v1,v2∈JQ(l);dJ-Q(v)为节点v在子图J-Q的度;JQ(l)为子图J-Q中三个节点集之一,其对应X-Y子图中的节点集XY(l);排列顺序由度对排序方法生成;

输出:仿真生成的实组件J~Q;

S701:初始化集合S←JQ(l),转S702;

S702:调用度对排序方法,对由JQ(l)节点在子图J-Q的度形成的度对(dJ-Q(v1),dJ-Q(v2))进行排序得到度对序列L,初始化L中度对的序号r←1,计算el=round(||JQ(l)||/2),其表示连接两个JQ(l)节点的边的总数,其中||JQ(l)||表示集合JQ(l)中包含节点的总数,转S703;

S703:设序列L中序号r对应的度对为(d1,d2);如果JQ_pdpl(r)0,则计算z=round(el×JQ_pdpl(r)),其表示连接两个度分别为d1和d2的JQ(l)节点的总边数,转S704;否则转S706;

S704:计算节点集S1={v|v∈S∧dJ-Q(v)=d1}和节点集S2={v|v∈S∧dJ-Q(v)=d2},如果d1≠d2,则在S1中均等分布地随机抽取x个节点u1,u2,…,ux,在S2中均等分布地随机抽取x个节点w1,w2,…,wx,其中x=min(||S1||,||S2||,z),||S1||和||S2||分别表示S1和S2中包含节点的总数,min表示取最小值,并将节点uj与节点wj相连,j∈{1,2,…,x},生成x条边;如果d1=d2,则在S1包含节点之间均等分布地随机生成y条边,要求这y条边的所有端点两两之间不能够为同一个节点,其中y=min(round(||S1||/2),z);转S705;

S705:设S704中生成所有边的端点的集合为Sc,其为节点集JQ(l)的一个子集,更新S←S/Sc,其中S/Sc表示集合S中删除Sc节点后的子集,并更新r←r+1,转S703;

S706:在S包含节点之间均等分布地随机生成x=round(||S||/2)条边,要求这x条边的所有端点两两之间不能够为同一个节点,其中||S||表示S包含节点的总数,转S707;

S707:输出实组件J~Q,其由子图J-Q和新增加的JQ(l)节点之间的边构成。

其中,在S800中:通过AS级网络拓扑实组件K~S仿真生成方法仿真生成实组件K~S的方法包括以下步骤:

说明:在拓扑图中,实组件K~S由子图K-S和三个边集SS(h)-SS(h),SS(h)-SS(l),SS(l)-SS(l)组成,其中子图K-S已由“AS级网络拓扑五个子图P-Q、I-Q、J-Q、K-Q和K-S仿真生成方法”生成,这五个子图采用子图X-Y表示,其中X∈{P,I,J,K}且Y∈{S,Q};因此,实组件K~S的仿真生成,是在已生成子图K-S上添加三个边集SS(h)-SS(h),SS(h)-SS(l),SS(l)-SS(l),其中SS(h)=SS∩SK(h),SS(l)=SS∩SK(l),SK(h)和SK(l)为子图K-S的两个节点集,对应于X-Y子图中的节点集YX(h)和YX(l),SS为连接SK(h)∪SK(l)中两个节点的所有边的端点组成的节点集;

SS(h)-SS(h)表示连接两个SS(h)节点的所有边构成的集合;

SS(l)-SS(l)表示连接两个SS(h)节点的所有边构成的集合;

SS(h)-SS(l)表示连接一个SS(h)节点和一个SS(l)节点的所有边构成的集合;

输入:子图K-S以及特征参数KS_pdpl(r)、KS_pcl(d),其中KS_pdpl(r)表示相对于度对(dK-S(v1),dK-S(v2))对应的排列序号r的一条连接SK(l)中两个节点的边的两端点在子图K-S的度分别为dJ-Q(v1)和dJ-Q(v2)的概率,其中v1,v2∈SK(l);dK-S(v)为节点v在子图K-S的度;排列顺序由度对排序方法生成;KS_pcl(d)表示相对于SK(l)中节点在子图K-S中的度d=1,2,…,10,一条SS(h)-SS(l)边连接子图K-S中度为d的SK(l)节点的概率;

输出:仿真生成的实组件K~S;

S801:分别计算子图K-S的节点集SK(h)和SK(l)包含节点的总数||SK(h)||和||SK(l)||,并计算边集SS(h)-SS(h)包含边的总数||SS(h)-SS(h)||=1.0211·(||SK(h)||-9)-5,边集SS(h)-SS(l)包含边的总数||SS(h)-SS(l)||=0.8328·(||SK(l)||-576)-153,边集SS(l)-SS(l)包含边的总数||SS(l)-SS(l)||=1.6314·(||SK(l)||-576)+103;

S802:调用度对排序方法,输入参数Ub=10,对由SK(l)节点在子图K-S的度形成的度对(dK-S(v1),dK-S(v2))进行排序得到度对序列L,初始化L中度对的序号r←1,计算el=||SS(l)-SS(l)||,其表示连接两个SK(l)节点的边的总数,转S803;

S803:设序列L中序号r对应的度对为(d1,d2);如果KS_pdpl(r)0,则计算z=round(el×KS_pdpl(r)),其表示连接两个度分别为d1和d2的SK(l)节点的总边数,转S804;否则转S805;

S804:计算节点集S1={v|v∈SK(l)∧dK-S(v)=d1}和节点集S2={v|v∈SK(l)∧dK-S(v)=d2},如果d1≠d2,则在S1中均等分布地随机抽取x个节点u1,u2,…,ux,在S2中均等分布地随机抽取x个节点w1,w2,…,wx,其中x=min(||S1||,||S2||,z),||S1||和||S2||分别表示集合S1和S2中包含节点的总数,min表示取最小值,并将节点uj与节点wj相连,j=1,2,…,x,生成x条边;如果d1=d2,则计算y=min(||S1||·(||S1||-1)/2,z),并在S1包含节点之间均等分布地随机生成y条边;更新r←r+1,转S803;

S805:计算eh=||SS(h)-SS(h)||,其表示连接两个SK(h)节点的边的总数,在集合SK(h)包含节点之间均等分布地随机生成eh条边;计算ehl=||SS(h)-SS(l)||,其表示连接一个SK(h)节点和一个SK(l)节点的边的总数,初始化i←1,转S806;

S806:如果i≤ehl,则在SK(h)中均等分布地随机抽取一个节点u,并以概率分布KS_pcl(d)随机地抽取一个度d∈{1,2,…,10},然后在集合{v|v∈SK(l)∧dK-S(v)=d}中均等分布地随机抽取一个节点w,连接节点u和节点w,生成一条边,并更新i←i+1,转S806;如果iehl,则输出实组件K~S,其由子图K-S和新增加的边构成。

其中,在S900中:通过AS级网络拓扑实组件S-Q仿真生成方法生成实组件S-Q的方法包括以下步骤:

输入特征参数:

t:从起始时间到目标时间的间隔时间数;

SQ_nqh(t):为拓扑图分解拓扑结构中QS(h)节点数相对t的一次线性拟合函数;

SQ_nql(t):为拓扑图分解拓扑结构中QS(l)节点数相对t的二次线性拟合函数;

SQ_nsh(t):为拓扑图分解拓扑结构中SQ(h)节点数相对t的一次线性拟合函数;

SQ_nsl(t):为拓扑图分解拓扑结构中SQ(l)节点数相对t的一次线性拟合函数;

SQ_pcs(d):相对SQ(l)中节点的度d=1,2,…,30的概率分布函数,其表征一条QS(h)-SQ(l)边连接度为d的SQ(l)节点的概率;SQ_pcq(d):相对QS(l)中节点的度d=1,2,…,30的概率分布函数,其表征一条SQ(h)-QS(l)边连接度为d的QS(l)节点的概率;

SQ_ps(d2):相对SQ(l)中节点的度d2=1,2,…,30的概率分布函数,其表征一条QS(l)-SQ(l)边连接度为d2的SQ(l)节点的概率;

SQ_prd(r1,r2):调用节点分类与排序方法将集合QS(h)中全部节点分类至c=10个相互交集为空且有序排列的节点集Lq1,Lq2,…,Lqc,并将集合SQ(h)中全部节点分类至c=10个相互交集为空且有序排列的节点集Ls1,Ls2,…,Lsc,对于任意序号对(r1,r2),1≤r1,r2≤c,SQ_prd(r1,r2)表示一条QS(h)-SQ(h)边的两个端点属于节点集Lqr1和节点集Lsr2的概率;

SQ_pdq(d):相对度d=1,2,…,30的概率分布函数,其表征一个QS(l)节点的度为d的概率;

SQ_pds(d):相对度d=1,2,…,30的概率分布函数,其表征一个SQ(l)节点的度为d的概率;

SQ_mq(i):节点集QS(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的斜率,1≤i≤max(SQ_nqh(t)),默认情况下max(SQ_nqh(t))=1000;

SQ_bq(i):节点集QS(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的截距,1≤i≤max(SQ_nqh(t)),默认情况下max(SQ_nqh(t))=1000;

SQ_ms(i):节点集SQ(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的斜率,1≤i≤max(SQ_nsh(t)),默认情况下max(SQ_nsh(t))=1000;

SQ_bs(i):节点集SQ(h)中节点按照它们的度从大到小排列的第i个节点的度的一次线性拟合函数的截距,1≤i≤max(SQ_nsh(t)),默认情况下max(SQ_nsh(t))=1000;

输出:仿真生成的实组件S-Q;

S901:分别计算QS(h),QS(l),SQ(h),SQ(l)的节点数;

hq=SQ_nqh(t),y=SQ_nql(t),hs=SQ_nsh(t),x=SQ_nsl(t);

S902:生成hq个QS(h)节点1,2,…,hq,并分配度di给节点i=1,2,…,hq,其中di为:

di=round(max(SQ_mq(i)·t+SQ_bq(i),31)),

并生成hs个SQ(h)节点hq+1,hq+2,…,hq+hs,分配度di给节点i=hq+1,hq+2,…,hq+hs,其中di为:

di=round(max(SQ_ms(i-hq)·t+SQ_bs(i-hq),31));

S903:生成y个QS(l)节点hq+hs+1,hq+hs+2,…,hq+hs+y,初始化d←30,i←hq+hs,转S904;

S904:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(y×SQ_pdq(d)),并更新i←i+round(y×SQ_pdq(d)),d←d-1,转S904;否则,转S905;

S905:生成x个SQ(l)节点hq+hs+y+1,hq+hs+y+2,…,hq+hs+y+x,初始化d←30,i←hq+hs+y,转S906;

S906:如果d≥1,则分配度d给节点i+1,i+2,…,i+round(x×SQ_pds(d)),并更新i←i+round(x×SQ_pds(d)),d←d-1,转S906;否则,转S907;

S907:计算联合度分布P(d1,d2)=SQ_ps(d2)/10,其表征一条QS(l)-SQ(l)边连接度为d1的QS(l)节点和度为d2的SQ(l)节点的概率,并计算实组件S-Q中QS(l)-SQ(l)边的总数el,其中el=round(1.1406·y+1315);初始化d1←1,转S908;

S908:如果d1≤30,初始化d2←1,则转S909,否则转S911;

S909:如果d2≤30,则计算z=round(el×P(d1,d2)),其表示连接d1度QS(l)节点和d2度SQ(l)节点的总边数,并初始化tc←0,转S910,否则,更新d1←d1+1,转S908;

S910:如果z≥1且tc=0,则从节点集{hq+hs+1,hq+hs+2,…,hq+hs+y}抽取一个d1度节点v1并从节点集{hq+hs+y+1,hq+hs+y+2,…,hq+hs+y+x}抽取一个d2度节点v2,其中节点v1和v2尚未连接;如果能够抽取出这两个节点,则将它们互连并更新z←z-1,否则更新tc←1,转S910;如果z1或tc=1,则更新d2←d2+1,转S909;

S911:调用节点分类与排序方法将集合QS(h)中全部节点分类至c=10个相互交集为空且有序排列的节点集Lq1,Lq2,…,Lqc,将集合SQ(h)中全部节点分类至c=10个相互交集为空且有序排列的节点集Ls1,Ls2,…,Lsc;计算实组件S-Q中QS(h)-SQ(h)边的总数eh,其中其中di表示集合QS(h)包含全部节点1,2,…,hq的度,di的i=1,2,…,hq;初始化r1←1,转S912;

S912:如果r1≤10,初始化r2←1,则转S913,否则转S915;

S913:如果r2≤10,则计算z=round(eh×SQ_prd(r1,r2)),其表示两个端点属于节点集和节点集的边的总数,并初始化tc←0,转S914,否则,更新r1←r1+1,转S912;

S914:如果z≥1且tc=0,则从节点集均等分布地抽取一个节点v1并从节点集均等抽取一个节点v2,其中v1和v2尚未连接;如果能够抽取出这两个节点,则将它们互连并更新z←z-1,否则更新tc←1,转S914;如果z1或tc=1,则更新r2←r2+1,转S913;

S915:定义;初始化i←1,转S916;

S916:如果i≤hq,则计算节点zq(i)的自由度zf,并将这zf个自由度以概率分布SQ_pcs(d)随机分配至不同的集合RK4,K4=1,2,…,30,初始化k←1,转S917;否则,转S918;

S917:如果k≤30,则计算zk,其为集合Rk包含自由度数量,从节点集{hq+hs+y+1,hq+hs+y+2,…,hq+hs+y+x}中抽取出所有度为k且自由度至少为1为节点从而构成子节点集L,将L中所有节点按照fd(v)递减的顺序排列,其中fd(v)被定义为L中节点v的自由度数量,从L中抽取前ak=min(zk,||L||)个节点,并将节点zq(i)连接至这抽取出的ak个节点,其中||L||表示集合L包含节点的总数,更新k←k+1,转S917;否则即,k30,更新i←i+1,转S916;

S918:定义,其中zs(i)为被重新排序的SQ(h)节点;初始化i←hq+1,转S919;

S919:如果i≤hs,则计算节点zs(i)的自由度zf,并将这zf个自由度以概率分布SQ_pcq(d)随机分配至不同的集合Rk(k=1,2,…,30),初始化k←1,转S920;否则,转S921;

S920:如果k≤30,则计算zk,其为集合Rk包含自由度数量,从节点集{hq+hs+1,hq+hs+2,…,hq+hs+y}中抽取出所有度为k且自由度至少为1为节点从而构成子节点集L,将L中所有节点按照fd(v)递减的顺序排列,其中fd(v)被定义为L中节点v的自由度数量,从L中抽取前ak=min(zk,||L||)个节点,并将节点zs(i)连接至这抽取出的ak个节点,其中||L||表示集合L包含节点的总数,更新k←k+1,转S920;否则即k30,更新i←i+1,转S919;

S921:输出实组件S-Q,其由节点1,2,…,hq+hs+y+x以及它们之间已相互连接的边构成。

其中,在S1000中:调用AS级网络拓扑虚组件A-B仿真生成方法将实组件Qcor、Qbip、P-Q、I-Q、J~Q、K-Q、K~S和S-Q合并为一副完整的网络拓扑结构图的方法包括以下步骤:

说明:在拓扑图中,共包含八个虚组件

SQ(h),SQ(l)-SK(h),SK(l)、和KQ(l)-KS(l),可以将它们统一表示为A-B,其中A和B是分别从属两个不同实组件的节点集;通过虚组件的仿真生成,可以将两个实组件G(A)和G(B)合并至一个图结构;

输入:节点集A,B和实组件G(A),G(B),以及特征参数AB_prd(r1,r2);

AB_prd(r1,r2):调用混合节点分类与排序方法,输入参数c=10,d=10,将A中全部节点分类至相互交集为空且有序排列的节点集并将B中全部节点分类至相互交集为空且有序排列的节点集对于任意序号对(r1,r2),其中1≤r1,r2≤c+d,AB_prd(r1,r2)表示虚组件A-B中一条边的两个端点属于节点集和节点集的概率;要求A包含的节点数不大于B包含的节点数;

输出:两个实组件G(A),G(B)的合并图;

S1001.调用混合节点分类与排序方法将A中全部节点分类至相互交集为空且有序排列的节点集并将B中全部节点分类至相互交集为空且有序排列的节点集设A中全部节点为a1,a2,…,am;对任意节点y∈B,初始化z(y)←0;初始化i←1,转S1002;

S1002.如果i≤m,则计算节点集排序号r2使得节点转S1003,否则,转S1004;

S1003.针对给定的r2,以概率P(r1)分布:

随机地生成一个排序号r1∈{1,2,…,c+d};计算集合如果集合YS包含的节点数大于0,则均等分布地从集合YS中抽取一个节点y,将实组件G(A) 中的节点ai与实组件G(B)中的节点y合并为同一个节点,并更新i←i+1,z(y)←1,转S1002;否则,如果集合YS包含的节点数为0,则转S1003;

S1004.输出实组件G(A),G(B)的合并图;

根据步骤S1001~S1004将八个实组件Qcor、Qbip、P-Q、I-Q、J~Q、K-Q、K~S和S-Q合并成一幅完整的AS级互联网拓扑图。

2.基于结构模型的互联网拓扑仿真生成系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1所述的方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佛山科学技术学院,未经佛山科学技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911295155.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top