CN100486270C - 在模拟大话务量测试中控制话务量的方法 - Google Patents
在模拟大话务量测试中控制话务量的方法 Download PDFInfo
- Publication number
- CN100486270C CN100486270C CNB2004100656464A CN200410065646A CN100486270C CN 100486270 C CN100486270 C CN 100486270C CN B2004100656464 A CNB2004100656464 A CN B2004100656464A CN 200410065646 A CN200410065646 A CN 200410065646A CN 100486270 C CN100486270 C CN 100486270C
- Authority
- CN
- China
- Prior art keywords
- time
- telephone traffic
- hundred
- send
- calculate
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Monitoring And Testing Of Exchanges (AREA)
Abstract
在模拟大话务量测试中控制话务量的方法:预设每秒的话务量;获取开始时操作系统的时间,作为第一次发送的时间;设置定时器的触发间隔;定时器触发后,获取系统的当前时间,计算本次发送的时长;根据预设的话务量和本次发送的时长,计算在本次定时器触发应产生的话务量,并进行发送;发送完毕后,根据实际发送条数计算本次发送的话务量占用的发送时间,累加到累计发送时间上作为下一次发送的开始时间;等待下一次触发。将话务量分解成百位、十位和个位的话务量分别处理。本发明能够有效的避免因计算精度而产生的“时间损失”。把话务量尽可能均匀的分布在每一段发送时间。
Description
技术领域
本发明涉及通信领域中模拟大话务量测试的方法,具体涉及如何精确控制话务量的技术。
背景技术
目前,随着用户规模的不断扩大,通信领域的应用面临的话务量不断的提高,在用户密集的区域更可能达到几千条/秒。因此,对相应产品的测试工作中的大话务量测试也提出了更高的要求。一般测试都是利用定时器进行触发,定时器的触发间隔从几个毫秒到几秒钟不等,每次触发产生一定的话务量,从而模拟出与实际类似的话务规模。
现有的技术中的控制话务量的方法有两种:
第一种:根据每秒钟的话务量计算出每条话务占用的发送时间,以此时间作为定时器的触发间隔,每次定时器触发发送一条话务。
这种方法的缺点是:
由于计算机硬件平台和操作系统软件本身的限制,一般定时器触发精度有限,也不够精确,以windows操作系统为例,定时器的触发间隔大多在10毫秒的级别上,无法达到更高的精度。这样无法模拟超过100条/秒的话务量,实际的话务量要远远低于设置值。而且随着计算机硬件平台和操作系统软件环境的变化,实际得到的话务量也会变化,无法控制。
第二种:设定一个固定的定时器间隔,计算每次定时器触发需要发送的话务量,定时器触发时一次发送完计算得到的话务量。
这种方法的缺点是:
因为每次发送的话务量必须是整数。所以在一般计算的时候对除法的结果取整。这样会带来一定的“时间损失”,即本次发送的实际话务量小于精确计算的话务量。所以这样得到的结果也会低于预设的话务量。同时,如果定时器间隔设置过大的话(比如几秒钟),会造成话务量分布不均匀,这也是此方法的一个缺陷。
发明内容
本发明所要解决的技术问题就是克服现有技术中对话务量控制不够精确的缺点,提出一种能精确控制话务量的方法。
本发明的技术方案为:
1.1 预设每秒的话务量;
1.2 获取开始时操作系统的时间,作为第一次发送的时间;
1.3 设置定时器的触发间隔;
1.4 定时器触发后,获取系统的当前时间,计算本次发送的时长;
1.5 根据预设的话务量和本次发送的时长,计算在本次定时器触发应产生的话务量,并进行发送;
1.6 发送完毕后,根据实际发送条数计算本次发送的话务量占用的发送时间,累加到累计发送时间上作为下一次发送的开始时间;等待下一次触发。
本发明中,将话务量分解成百位、十位和个位的话务量分别处理。
在本发明中,不是根据预设的定时器触发间隔来决定本次触发产生的话务量,而是通过变量记录本次发送的“开始发送时间”,根据时间差来确定本次触发产生的话务量,克服了定时器触发精度不够带来的负面影响。同时在每次触发后把实际发送的业务量换算成时间累计到下一次发送的“开始发送时间”里面,这样能够有效的避免因计算精度而产生的“时间损失”。同时,本算法能够把话务量尽可能均匀的分布在每一段发送时间。
附图说明
图1是现有技术中的第一种话务量控制方法的流程图;
图2是现有技术中的第二种话务量控制方法的流程图;
图3是本发明的一种实施例的流程图;
图4是本发明的第二种实施例的流程图。
具体实施方式
图1和图2是现有技术中的方法,在背景技术中已有介绍,此处不再重复。
考虑到计算精度的问题,本发明的方法主要针对预设的话务量在100和1000之间的情况。低于100的话务量用通常的方法就能达到较好的效果。超过1000的话务量可以使用多个采用本方法的程序共同产生,例如需要产生1600条/秒的话务量,可以使用两个模拟程序,每个产生800条/秒的话务量,加起来就能满足要求;或者使用3个模拟程序,分别产生500条/秒、500条/秒和600条/秒的话务量,加起来满足要求。
在计算本次发送的话务量的时候,将预设的话务量分解成为百位,十位和个位来处理。比如预设的话务量为673条/秒,在处理的过程中分解成600条/秒,70条/秒和3条/秒分别进行计算和发送。
下面结合图3和图4对本发明进行详细介绍。需要说明的是,流程图里面采用windows操作系统的函数settimer和事件timer3event等来表示设置定时器和定时器触发事件,但是本方法适用于各种操作系统。在下面对算法的描述中,时间变量的单位是毫秒,话务量变量的单位是条,所有的变量都是整数。
图3是本发明的一种实施例的流程图。具体包括以下步骤:
1、设置每秒需要发送的话务量n;
2、获取当前操作系统时间told,作为第一次发送时的累计发送时间。根据n的百,十,个位分别处理的原则,令told1=told2=told3=told。其中told1对应n的百位,told2对应n的十位,told3对应n的个位;
3、设置定时器,定时器的的触发间隔为合适值,比如1毫秒;
4、等待定时器触发;
5、定时器触发后,获取系统当前时间tnow;
6、计算本次发送n的百位对应的“发送时长”:t1=tnow-told1;
7、计算本次发送n的百位对应的话务量m1=t1/(1000/n的百位*100);
8、发起并完成m1次呼叫;
9、计算本次发送n的百位耗费的时长,并累计到told1,
told1=told1+m1 *(1000/n的百位*100);
10、计算本次发送n的十位对应的“发送时长”:t2=tnow-told2;
11、计算本次发送n的十位对应的话务量m2=t2/(1000/n的十位*10);
12、发起并完成m2次呼叫;
13、计算本次发送n的十位耗费的时长,并累计到told2,
told2=told2+m2 *(1000/n的十位*10);
14、计算本次发送n的个位对应的“发送时长”:t3=tnow-told3;
15、计算本次发送n的个位对应的话务量m3=t3/(1000/n的个位);
16、发起并完成m3次呼叫;
17、计算本次发送n的个位耗费的时长,并累计到told3,
told3=told3+m3 *(1000/n的个位);
18、返回第4步。
图4是本发明的另一种实施例的流程图,是在图3所示实施例的基本上改进的实施例。所做的改进的主要是增强对预设话务量的百位数字代表的话务量的精度控制。
在图3所示的实施例中,计算百位数字在本次发送中应该产生的话务量时,首先计算出发送一条话务占用的时间是多少毫秒(1000毫秒/(n的百位×100)),再用本次发送时长除以一条话务占用的时间,得到百位数字在本次发送中应该产生的话务量。因为变量为整数,就带来一个问题——计算的发送一条话务占用的时间不够精确。例如当n的百位=3的时候,计算出发送一条话务占用的时间=3毫秒(实际为3.33毫秒),假设本次发送时长=22毫秒,计算得到的话务量=7条(实际为6条——22/3.33再取整)。所以图3所示的实施例在精度上还有缺陷。
解决的办法是在计算发送一条话务占用的时间时,用10000代替1000计算,相当于把一条话务占用的时间放大了10倍,这样就要求计算话务量的时候把本次发送时长也放大10倍。例如当n的百位=3的时候,计算出发送一条话务占用的时间=33毫秒(实际为33.33毫秒),假设本次发送时长=22毫秒,计算时放大10倍就是220毫秒,计算得到的话务量=6条(实际也为6条——220/33.33再取整)。这样就避免了图3所示的实施例在精度控制上的缺陷。
总结一下,为了提高对预设话务量的百位数字代表的话务量的精度控制,图4所示实施例在处理百位数字的时候采取的改进就是把所有的时间变量放大10倍。
具体包括以下步骤:
1、设置每秒需要发送的话务量n;
2、获取当前系统时间told,作为第一次发送时的累计发送时间。根据n的百,十,个位分别处理的原则令told1=10*told,told2=told3=told。其中told1对应n的百位,told2对应n的十位,told3对应n的个位;(因为在处理百位数字的时候需要对所有的时间变量放大10倍,所以计算told1的时候用told乘以10)
3、设置定时器,定时器的触发间隔为合适值,比如1毫秒;
4、等待定时器触发;
5、定时器触发后,获取系统当前时间tnow;
6、计算本次发送n的百位对应的“发送时长”:t1=10*tnow-told1;(因为told1放大了十倍,所以把tnow放大10倍再和told1相减,结果就是本次发送n的百位对应的“发送时长t1”放大了10倍)
7、计算本次发送n的百位对应的话务量m1=t1/(10000/n的百位*100);(这里用10000代替图3所示的实施例里面的1000,达到一条话务占用的时间放大10倍的目的)
8、发起并完成m1次呼叫;
9、计算本次发送n的百位耗费的时长,并累计到told1;
told1=told1+m1 *(10000/n的百位*100);(这里用10000代替图3所示的实施例里面的1000,达到一条话务占用的时间放大10倍的目的)
10、计算本次发送n的十位对应的“发送时长”:t2=tnow-told2;
11、计算本次发送n的十位对应的话务量m2=t2/(1000/n的十位*10);
12、发起并完成m2次呼叫;
13、计算本次发送n的十位耗费的时长,并累计到told2;
told2=told2+m2 *(1000/n的十位*10);
14、计算本次发送n的个位对应的“发送时长”:t3=tnow-told3;
15、计算本次发送n的个位对应的话务量m3=t3/(1000/n的个位);
16、发起并完成m3次呼叫;
17、计算本次发送n的个位耗费的时长,并累计到told3,
told3=told3+m3 *(1000/n的个位);
18、返回第4步。
Claims (6)
1、在模拟大话务量测试中控制话务量的方法,包括以下步骤:
1.1 预设每秒的话务量;
1.2 获取开始时操作系统的时间,作为第一次发送的时间;
1.3 设置定时器的触发间隔;
1.4 定时器触发后,获取系统的当前时间,根据所述当前时间和第一次发送的时间计算本次发送的时长;
1.5 根据预设的话务量和本次发送的时长,计算在本次定时器触发应产生的话务量,并进行发送;
1.6 发送完毕后,根据实际发送条数计算本次发送的话务量占用的发送时间,累加到累计发送时间上作为下一次发送的开始时间;等待下一次触发。
2、权利要求1所述的在模拟大话务量测试中控制话务量的方法,其特征在于,所述方法还进一步包括:将话务量分解成百位、十位和个位的话务量。
3、权利要求2所述的在模拟大话务量测试中控制话务量的方法,其特征在于,所述方法进一步包括对百位的话务量进行处理的方法,具体为,先计算本次发送的百位对应的时长,再计算本次发送的百位对应的话务量,然后发起呼叫,呼叫完毕后,计算本次发送百位结束时间,并累加到百位累计发送时间,作为下一次发送的开始时间。
4、权利要求3所述的在模拟大话务量测试中控制话务量的方法,其特征在于,在计算百位的话务量时,把一条话务占用的时间乘以10倍,同时把本次发送时长也乘以10倍。
5、权利要求2所述的在模拟大话务量测试中控制话务量的方法,其特征在于,所述方法进一步包括对十位的话务量进行处理的方法,具体为,先计算本次发送的十位对应的时长,再计算本次发送的十位对应的话务量,然后发起呼叫,呼叫完毕后,计算本次发送十位结束时间,并累加到十位累计发送时间,作为下一次发送的开始时间。
6、权利要求2所述的在模拟大话务量测试中控制话务量的方法,其特征在于,所述方法进一步包括对个位的话务量进行处理的方法,具体为,先计算本次发送的个位对应的时长,再计算本次发送的个位对应的话务量,然后发起呼叫,呼叫完毕后,计算本次发送个位结束时间,并累加到个位累计发送时间,作为下一次发送的开始时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100656464A CN100486270C (zh) | 2004-11-04 | 2004-11-04 | 在模拟大话务量测试中控制话务量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100656464A CN100486270C (zh) | 2004-11-04 | 2004-11-04 | 在模拟大话务量测试中控制话务量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1770797A CN1770797A (zh) | 2006-05-10 |
CN100486270C true CN100486270C (zh) | 2009-05-06 |
Family
ID=36751774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100656464A Expired - Fee Related CN100486270C (zh) | 2004-11-04 | 2004-11-04 | 在模拟大话务量测试中控制话务量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100486270C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056333B (zh) * | 2007-06-01 | 2012-09-05 | 中兴通讯股份有限公司 | 用于灵通无绳业务平台的大话务量测试装置及其测试方法 |
CN101389107B (zh) * | 2007-09-10 | 2012-04-18 | 中兴通讯股份有限公司 | 一种大话务模拟测试系统和方法 |
CN101400003B (zh) * | 2007-09-25 | 2010-09-29 | 中兴通讯股份有限公司 | 一种针对智能网平台的大话务量测试系统及方法 |
CN102395150B (zh) * | 2011-06-28 | 2017-08-25 | 中兴通讯股份有限公司 | 分组数据业务寻呼话务测试方法及装置 |
-
2004
- 2004-11-04 CN CNB2004100656464A patent/CN100486270C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1770797A (zh) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Walsh et al. | Stability analysis of networked control systems | |
US5226041A (en) | Method for efficiently simulating the dynamic behavior of a data communications network | |
Avritzer et al. | Load testing software using deterministic state testing | |
CN105553598B (zh) | 一种基于m估计稳健回归的时间触发以太网时钟补偿方法 | |
CN110460676A (zh) | 请求量控制方法、装置、存储介质和计算机设备 | |
CN100486270C (zh) | 在模拟大话务量测试中控制话务量的方法 | |
Ke | Bi-level control for batch arrival queues with an early startup and un-reliable server | |
CN108932627A (zh) | Cpa广告的消耗速度的预估方法、装置及可读存储介质 | |
Tuominen et al. | Exponential ergodicity in Markovian queueing and dam models | |
Alem et al. | Bounds of the stationary distribution in M/G/1 retrial queue with two way communication and n types of outgoing calls ation and n type of outgoing call | |
CN110109155A (zh) | 一种星上无应用软件中断的双向校时方法 | |
Tsoucas et al. | On the interchangeability and stochastic ordering of·/M/1 queues in tandem | |
WO1979000585A1 (en) | Arrangement for measuring the ratio between a number of events occurring after each other in a first and second series of events | |
Villén-Altamirano | An improved variant of the rare event simulation method RESTART using prolonged retrials | |
CN108363529A (zh) | 应用程序界面的前台运行时间的确定方法及装置 | |
CN107465557A (zh) | 一种epon流量预测方法 | |
US7415388B2 (en) | Method for the automatically determining the indirect and direct extent of damages resulting from a failure of technical components in objects integrated in a production cycle | |
KR101659509B1 (ko) | 수리가능 부품의 오버홀 과정 시뮬레이션 시스템 및 방법 | |
CN110650187B (zh) | 一种边缘节点的节点类型确定方法及目标网络 | |
Saffer | BMAP/G/1 cyclic polling model with binomial disciplines | |
CN115489219B (zh) | 喷码机的dpi调整控制方法、装置、计算机可读介质及设备 | |
Guess | The effect of frame load and balance on dial-tone dealy in no. 5 crossbar | |
SU832780A1 (ru) | Устройство дл выделени сигналовАдРЕСНОгО ВызОВА | |
Schormans et al. | Waiting time probabilities in a statistical multiplexer with priorities | |
SU882000A1 (ru) | Устройство дл моделировани процессов установлени соединений в комбинированных системах св зи |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090506 Termination date: 20131104 |