首页> 中国专利> 一种在通信仿真系统中实现初始业务快速平稳的仿真方法

一种在通信仿真系统中实现初始业务快速平稳的仿真方法

摘要

本发明实施例公开了一种在通信仿真系统中实现初始业务快速平稳的仿真方法,通过应用本发明实施例所提出的技术方案,在仿真初始阶段,仿真系统在其他功能模块启动之前,启动业务源模块运行相应的虚业务,当虚业务的运行时间达到预设的虚拟时间阈值时,仿真系统启动其他功能模块,停止运行虚业务,并以虚业务的当前状态作为实际业务的初始状态,运行相应的实际业务,从而,可以缩短仿真初始阶段业务源模块进入平稳状态所需的时间,从而避免为使得仿真系统中的业务量逐渐平稳而在仿真初始阶段引入额外的预热时间,缩短完成整个仿真所需的运行时间,提高仿真执行效率。

著录项

  • 公开/公告号CN103607318A

    专利类型发明专利

  • 公开/公告日2014-02-26

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201310533477.1

  • 申请日2013-10-31

  • 分类号H04L12/26;

  • 代理机构北京鑫媛睿博知识产权代理有限公司;

  • 代理人龚家骅

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2024-02-19 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    授权

    授权

  • 2014-03-26

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20131031

    实质审查的生效

  • 2014-02-26

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种在通信仿真系统中实现初始业 务快速平稳的仿真方法。

背景技术

计算机仿真作为评估通信网络性能的一种常用方法,具有开发周期短、 成本低、方便灵活的特点,已经在通信系统的设计、开发和优化过程中发挥 了重要的作用。为了准确地反映通信网络的真实性能,需要在仿真平台中对 通信网络中的各种关键行为特征进行抽象建模,这其中业务源是通信仿真系 统中的一项重要的功能模块。

通信仿真系统中的业务源模块的功能是模拟真实通信网络中的用户业务 的产生过程。对于当前以分组数据为核心的通信网络,具体而言,业务源模 块就是要对分组数据包的大小和产生时间的规律进行模拟。考虑到真实网络 的业务特点,目前公认的用于计算机仿真的业务源模型通常采用基于“会话- 包呼叫-数据包”的三层业务模型,如图1所示。

如图1所示,会话作为三层业务模型中的最上层结构,用来表示每一次 业务服务过程;以常见的WWW(World Wide Web,环球信息网)业务为例, 一次会话代表用户在一段时间内的网页浏览行为,用户可以在这段时间内先 后浏览多个网页。在一次会话内部包含多个包呼叫及其之间的包呼叫间隔; 仍然以WWW业务为例,一个包呼叫代表一个网页,而包呼叫间隔代表网页 之间的阅读时间,在这段时间内用户停留在某个网页上进行浏览,因而不会 产生新的数据流量。一个包呼叫由多个数据包组成,数据包之间的间隔时间 通常由数据包的大小以及传输链路的速率来确定。

为了便于在通信仿真系统中实现上述三层业务模型,通常会针对某种给 定的具体业务类型给出相关业务模型参数的随机分布特征。如上所述,三层 业务模型中的参数主要包括:会话间隔、单个会话内的包呼叫个数、包呼叫 间隔、单个包呼叫内的数据包个数、数据包间隔以及数据包大小。对于一些 常见的业务,通过对真实网络中的业务流量的观测和拟合,已有相关标准协 议给出上述业务模型参数所满足的随机分布。

例如,在ETSI TR101112V3.2.0,“Selection procedures for the choice of  radio transmission technologies of the UMTS(UMTS30.03version3.2.0)”中 给出业务速率为384kbit/s的WWW业务的业务模型参数如表1所示。

表1典型的WWW业务模型参数

在通信仿真系统中,基于图1的三层业务模型的业务源模块的实现流程 可以用图2描述,如图2所示,为现有技术中的业务源模块处理流程的流程 示意图。在图2的相应步骤中给出了所使用的表1中的参数。

通信仿真可以认为是在有限时间内对真实通信网络内的各种行为和事件 的模拟。从原理上讲,这种模拟可以从真实网络的任意时刻开始。因此,按 照上述的三层业务模型,如图3所示,包括三种可能的初始状态:

初始状态(1):上一个会话已经结束,正在等待下一个会话的到达;

初始状态(2):处于正在进行的某个会话之中,上一个包呼叫已经结束, 正在等待下一个包呼叫的到达;

初始状态(3):处于正在进行的某个包呼叫之中,正在等待下一个数据 包的到达。

因此,为了在仿真开始时刻就能够准确地模拟真实网络的业务,需要知 道用户业务所处的初始状态。特别的,对于上述每一种初始状态,包含一系 列相关的初始业务参数。例如,对于初始状态(1),需要知道下一个会话的 剩余等待时间;对于初始状态(2),需要知道下一个包呼叫的剩余等待时间 以及剩余的包呼叫的个数;对于初始状态(3),需要知道下一个数据包的剩 余等待时间、本次包呼叫的剩余的数据包的个数以及本次会话的剩余的包呼 叫的个数。显然,由于三层业务模型的复杂性以及业务模型参数本身的多样 性,很难给出可用于获得初始业务状态及初始业务参数的随机分布模型。而 一旦初始业务状态及参数设定不合理,将导致在仿真初始阶段仿真系统中的 业务量偏离所仿真的真实网络的实际业务量,使得仿真得到的网络性能指标 的准确性降低甚至无效。

在传统的仿真方法中,为了解决上述问题通常采用“预热”的方法,具 体的实现方式有两种。

在第一种预热方法中,所有的用户在仿真开始时刻同时产生第一个会话, 该会话结束之后再按照业务模型中的会话间隔时间的分布产生下一个会话, 如图4A所示,为现有技术中的第一种预热方法的示意图。

在第二种预热方法中,在仿真开始时刻,为每个用户指定一段时延然后 产生第一个业务会话,如图4B所示,为现有技术中的第二种预热方法的示意 图。

在实现本发明实施例所提出的技术方案的过程中,发明人发现了以下问 题:

上述的第一种预热方法的缺点在于,在仿真开始阶段,所有用户同时处 于业务激活期,给所仿真的通信网络带来过量的业务负载,这个期间的网络 性能统计,如分组时延很大,对于最终的性能输出是没有意义的,因此在统 计网络性能时必须把仿真初始阶段排除在外。

上述的第二种预热方法通过调整时延的大小,可以避免在仿真初始阶段 给网络带来业务冲击,但是由于在仿真开始时刻系统是没有业务的,整个网 络的业务负载在仿真初始阶段呈现出逐渐增加并趋于平稳的趋势。因此,在 统计整个仿真时间内的网络性能指标时,如平均业务负载或平均吞吐量,也 必须将仿真初始阶段排除在外。

可以看出,在传统的预热方法中,由于仿真初始阶段的业务尚未达到平 稳,其间的仿真输出结果无效,而为了确保业务量达到平稳的预热时间往往 较长(通常需要数倍的会话周期),因此,增加了完成整个仿真所需的运行时 间,使得仿真的效率降低。

发明内容

本发明实施例的目的在于提供一种在通信仿真系统中实现初始业务快速 平稳的仿真方法,用于缩短仿真初始阶段业务源模块进入平稳状态所需的时 间,从而避免为使得仿真系统中的业务量逐渐平稳而在仿真初始阶段引入额 外的预热时间,缩短完成整个仿真所需的运行时间,提高仿真执行效率。

为了达到上述目的,本发明实施例提供了一种在通信仿真系统中实现初 始业务快速平稳的仿真方法,应用于包含业务源模块和其他功能模块的仿真 系统中,包括:

在仿真初始阶段,在所述仿真系统的其他功能模块启动之前,所述仿真 系统启动所述业务源模块;

所述仿真系统根据所述业务源模块按照业务随机分布参数生成的业务元 素,运行相应的虚业务,并对所述虚业务的运行时间进行计时,其中,所述 虚业务不会被所述仿真系统的其他功能模块进行处理;

当所述虚业务的运行时间达到预设的虚拟时间阈值时,所述仿真系统启 动所述其他功能模块,停止运行所述虚业务,并以所述虚业务的当前状态作 为实际业务的初始状态,运行相应的实际业务,通过所述其他功能模块对所 述实际业务进行处理。

与现有技术相比,本发明实施例所提出的技术方案具有以下优点:

通过应用本发明实施例所提出的技术方案,在仿真初始阶段,仿真系统 在其他功能模块启动之前,启动业务源模块运行相应的虚业务,当虚业务的 运行时间达到预设的虚拟时间阈值时,仿真系统启动其他功能模块,停止运 行虚业务,并以虚业务的当前状态作为实际业务的初始状态,运行相应的实 际业务,从而,可以缩短仿真初始阶段业务源模块进入平稳状态所需的时间, 从而避免为使得仿真系统中的业务量逐渐平稳而在仿真初始阶段引入额外的 预热时间,缩短完成整个仿真所需的运行时间,提高仿真执行效率。

附图说明

图1为基于“会话-包呼叫-数据包”的三层业务模型的示意图;

图2为现有技术中的业务源模块处理流程的流程示意图;

图3为现有技术中的在仿真开始时刻用户业务可能处于的初始状态的示 意图;

图4A为现有技术中的第一种预热方法的示意图;

图4B为现有技术中的第二种预热方法的示意图;

图5为本发明实施例提供的一种在通信仿真系统中实现初始业务快速平 稳的仿真方法的流程示意图;

图6为本发明实施例提供的一种具体应用场景中的在通信仿真系统中实 现初始业务快速平稳的仿真方法的流程示意图。

具体实施方式

下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实 施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动 前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供一种在通信仿真系统中实现初始业务快速平稳的仿真 方法,可以缩短仿真初始阶段业务源模块进入平稳状态所需的时间,从而避 免为使得仿真系统中的业务量逐渐平稳而在仿真初始阶段引入额外的预热时 间,缩短完成整个仿真所需的运行时间,提高仿真执行效率。

为了达到上述目的,本发明实施例提供一种基于“虚业务”的仿真方法, 如图5所示,为本发明实施例提供的在通信仿真系统中实现初始业务快速平 稳的仿真方法的流程示意图,该方法应用于包含业务源模块和其他功能模块 的仿真系统中,该方法具体包括:

步骤S501、在仿真初始阶段,在所述仿真系统的其他功能模块启动之前, 所述仿真系统启动所述业务源模块。

步骤S502、所述仿真系统根据所述业务源模块按照业务随机分布参数生 成的业务元素,运行相应的虚业务,并对所述虚业务的运行时间进行计时, 其中,所述虚业务不会被所述仿真系统的其他功能模块进行处理。

业务源模块根据前述的三层业务模型按照指定的业务随机分布参数产生 会话、包呼叫、数据包等业务元素。

与实际的业务源不同的是,仿真系统并不对这些会话、包呼叫、数据包 等进行处理,其作用仅仅为了模拟仿真时间的流逝,从而得到仿真开始时刻 的业务源的初始状态,因此,把这些业务称为“虚业务”,而把虚业务持续的 时间称为“虚拟时间”。

步骤S503、当所述虚业务的运行时间达到预设的虚拟时间阈值时,所述 仿真系统启动所述其他功能模块,停止运行所述虚业务,并以所述虚业务的 当前状态作为实际业务的初始状态,运行相应的实际业务,通过所述其他功 能模块对所述实际业务进行处理。

虚拟时间结束之后,虚业务停止产生,仿真系统记录业务源当前的状态 并将其作为实际业务的初始状态,从而,仿真系统根据该初始状态运行通信 仿真过程中的实际业务,实现仿真系统中初始业务的平稳接入。

在具体的实施场景中,为了使得在虚拟时间结束之后的实际仿真开始时 刻的业务达到平稳,可以把所述预设的虚拟时间阈值设置为大于至少一个会 话周期的时间长度值。

与现有技术相比,本发明实施例所提出的技术方案具有以下优点:

通过应用本发明实施例所提出的技术方案,在仿真初始阶段,仿真系统 在其他功能模块启动之前,启动业务源模块运行相应的虚业务,当虚业务的 运行时间达到预设的虚拟时间阈值时,仿真系统启动其他功能模块,停止运 行虚业务,并以虚业务的当前状态作为实际业务的初始状态,运行相应的实 际业务,从而,可以缩短仿真初始阶段业务源模块进入平稳状态所需的时间, 从而避免为使得仿真系统中的业务量逐渐平稳而在仿真初始阶段引入额外的 预热时间,缩短完成整个仿真所需的运行时间,提高仿真执行效率。

下面以具体的实施例对上述技术方案的处理过程做详细的阐述,但并不 局限于下述实施例。

如图6所示,为本发明实施例提供的一种具体应用场景中的在通信仿真 系统中实现初始业务快速平稳的仿真方法的流程示意图,该方法应用于包含 业务源模块和其他功能模块的仿真系统中,该方法具体包括:

步骤S601、仿真系统在其他功能模块启动之前,启动业务源模块,初始 化当前的计时,并开始计时。

在本步骤执行之前,需要预先设置虚拟时间阈值,为了使得在虚拟时间 结束之后的实际仿真开始时刻的业务达到平稳,可以把该虚拟时间阈值设置 为大于至少一个会话周期的时间长度值。

虚拟时间阈值的设置,限定了虚业务的运行时间,通过多个周期的虚业 务的模拟运行,可以自然平稳的确定与该虚业务对应的实际业务的初始状态, 考虑到业务随机分布参数本身的随机性,多个周期的虚业务的模拟运行可以 更加准确的模拟实际业务的实现过程,从而,使最终确定的实际业务的初始 状态更加贴近于实际业务实际运行的状态,提高了仿真过程的准确性。

步骤S602、仿真系统生成一个会话内的包呼叫的个数Npacketcall

本步骤一般是在虚业务的一个新的会话的初始过程中执行的,用于确定 相应的新的会话中所包含的包呼叫的数量。

考虑到业务随机分布参数本身的随机性,每次执行本步骤所生成的参数 Npacketcall可能相同,也可能不同,即虚业务的每个会话中所包含的包呼叫的数 量可能相同也可能不同,具体依赖于该参数预设的算法规则,具体算法规则 的变化并不会影响本发明的保护范围。

步骤S603、仿真系统生成一个包呼叫中的数据包的个数Npacket

本步骤一般是在虚业务的会话内的一个新的包呼叫的初始过程中执行 的,用于确定相应的新的包呼叫中所包含的数据包的数量。

考虑到业务随机分布参数本身的随机性,每次执行本步骤所生成的参数 Npacket可能相同,也可能不同,即虚业务的每个包呼叫中所包含的数据包的数 量可能相同也可能不同,具体依赖于该参数预设的算法规则,具体算法规则 的变化并不会影响本发明的保护范围。

步骤S604、仿真系统接收业务源模块所生成的一个虚拟数据包,并更新 当前包呼叫中剩余数据包的个数为Npacket=Npacket-1。

本步骤执行的目的在于模拟数据包的处理,通过参数Npacket的更新,可以 模拟一个数据包被处理之后,其所处的包呼叫的剩余业务量的变化。

步骤S605、仿真系统判断更新后的当前包呼叫中剩余数据包的个数Npacket是否等于0。

如果步骤S605的判断结果为否,则执行步骤S606;

如果步骤S605的判断结果为是,则执行步骤S608。

本步骤执行的目的在于确定在当前数据包被处理后,其所处的包呼叫中 是否还有业务余量,如果有,则继续等待处理下一个数据包,如果没有,则 表示当前的包呼叫结束。

步骤S606、仿真系统生成包呼叫中的数据包之间的间隔tinter-packet,更新当 前的计时结果为t=t+tinter-packet

本步骤的执行目的在于模拟当前数据包处理完成后,到下一个数据包到 来前的时间流逝。

考虑到业务随机分布参数本身的随机性,每次执行本步骤所生成的参数 tinter-packet可能相同,也可能不同,即在虚业务的一个包呼叫中,两个相邻的数据 包之间的时间间隔可能相同也可能不同,具体依赖于该参数预设的算法规则, 具体算法规则的变化并不会影响本发明的保护范围。

步骤S607、仿真系统判断更新后的当前的计时结果是否达到预设的虚拟 时间阈值Tvirtual

本步骤用于判断在下一个数据包到来之前,虚业务的运行是否需要结束。

如果步骤S607的判断结果为否,则返回继续执行步骤S604,即虚业务还 需要继续运行,需要继续模拟当前包呼叫中的下一个数据包的处理。

如果步骤S607的判断结果为是,则仿真系统确定虚业务的运行时间达到 预设的虚拟时间阈值,具体的后续处理如下:

仿真系统启动其他功能模块,停止运行虚业务。

仿真系统以当前正在运行包呼叫,等待接收业务源模块所生成的下一个 数据包的状态(即前文所述的初始状态(1))作为实际业务的初始状态,运 行相应的实际业务,并通过其他功能模块对实际业务进行处理。

其中,该实际业务的第一个包呼叫中的第一个数据包的到达时间为 t-Tvirtual,该实际业务的第一个包呼叫中剩余的数据包数量为虚业务当前的 Npacket,该实际业务的第一个包呼叫中剩余的数据包数量为虚业务当前的 Npacketcall

步骤S608、仿真系统更新当前包呼叫中剩余数据包的个数为 Npacketcall=Npacketcall-1。

本步骤执行的目的在于模拟包呼叫的处理,通过参数Npacketcall的更新,可 以模拟一个包呼叫被处理之后,其所处的会话的剩余业务量的变化。

步骤S609、仿真系统判断更新后的当前包呼叫中剩余数据包的个数 Npacketcall是否等于0。

如果步骤S609的判断结果为否,则执行步骤S610;

如果步骤S609的判断结果为是,则执行步骤S612。

本步骤执行的目的在于确定在当前数据包被处理后,其所处的包呼叫中 是否还有业务余量,如果有,则继续等待处理下一个数据包,如果没有,则 表示当前的包呼叫结束。

步骤S610、仿真系统生成包呼叫中的数据包之间的间隔tinter-packetcall,更新当 前的计时结果为t=t+tinter-packetcall

本步骤的执行目的在于模拟当前包呼叫处理完成后,到下一个包呼叫到 来前的时间流逝。

考虑到业务随机分布参数本身的随机性,每次执行本步骤所生成的参数 tinter-packetcall可能相同,也可能不同,即在虚业务的一个会话中,两个相邻的包呼 叫之间的时间间隔可能相同也可能不同,具体依赖于该参数预设的算法规则, 具体算法规则的变化并不会影响本发明的保护范围。

步骤S611、仿真系统判断更新后的当前的计时结果是否大于预设的虚拟 时间阈值Tvirtual

本步骤用于判断在下一个包呼叫到来之前,虚业务的运行是否需要结束。

如果步骤S611的判断结果为否,则返回继续执行步骤S603,即虚业务还 需要继续运行,需要继续模拟当前会话内的下一个包呼叫的处理。

如果步骤S611的判断结果为是,则仿真系统确定虚业务的运行时间达到 预设的虚拟时间阈值,具体的后续处理如下:

仿真系统启动其他功能模块,停止运行虚业务。

仿真系统以当前正在运行会话,等待接收业务源模块所生成的下一个包 呼叫的状态(即前文所述的初始状态(2))作为实际业务的初始状态,运行 相应的实际业务,并通过其他功能模块对实际业务进行处理。

其中,该实际业务的第一个包呼叫的到达时间为t-Tvirtual,该实际业务的 第一个包呼叫中剩余的数据包数量为虚业务当前的Npacketcall

步骤S612、仿真系统生成包呼叫中的数据包之间的间隔tinter-session,更新当 前的计时结果为t=t+tinter-session

本步骤的执行目的在于模拟当前会话处理完成后,到下一个会话到来前 的时间流逝。

考虑到业务随机分布参数本身的随机性,每次执行本步骤所生成的参数 tinter-session可能相同,也可能不同,即在虚业务中,两个相邻的会话之间的时间 间隔可能相同也可能不同,具体依赖于该参数预设的算法规则,具体算法规 则的变化并不会影响本发明的保护范围。

步骤S613、仿真系统判断更新后的当前的计时结果是否大于预设的虚拟 时间阈值Tvirtual

本步骤用于判断在下一个会话到来之前,虚业务的运行是否需要结束。

如果步骤S613的判断结果为否,则返回继续执行步骤S602,即虚业务还 需要继续运行,需要继续模拟下一个会话的处理。

如果步骤S613的判断结果为是,则仿真系统确定虚业务的运行时间达到 预设的虚拟时间阈值,具体的后续处理如下:

仿真系统启动其他功能模块,停止运行虚业务。

仿真系统以当前正在等待接收业务源模块所生成的下一个会话的状态 (即前文所述的初始状态(3))作为实际业务的初始状态,运行相应的实际 业务,并通过其他功能模块对实际业务进行处理。

其中,实际业务的第一个会话的到达时间为t-Tvirtual

与现有技术相比,本发明实施例所提出的技术方案具有以下优点:

由于在虚拟时间内并不产生实际的业务,因而不会触发仿真系统的其他 功能模块,从而避免了消耗大量的仿真时间和计算资源。

而在传统的预热方法中,仿真系统在预热时间内需要产生实际的业务并 对其进行处理。

从本质上讲,本发明实施例提出的虚业务技术是使用虚拟时间代替了预 热时间,并将虚拟时间搬移到仿真开始时刻之前进行了模拟。

采用本发明实施例所提出的方法,仿真系统可以在仿真开始时刻就获得 平稳的业务分布,避免了额外的预热时间,提高了仿真执行效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。

本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中 的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描 述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例 的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进 一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于 此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号