CN1231747A - 业务数据库系统中负载情况的监测 - Google Patents
业务数据库系统中负载情况的监测 Download PDFInfo
- Publication number
- CN1231747A CN1231747A CN97198253.8A CN97198253A CN1231747A CN 1231747 A CN1231747 A CN 1231747A CN 97198253 A CN97198253 A CN 97198253A CN 1231747 A CN1231747 A CN 1231747A
- Authority
- CN
- China
- Prior art keywords
- counter
- value
- interval
- logging interval
- group
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 99
- 238000005259 measurement Methods 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000000875 corresponding effect Effects 0.000 claims description 16
- 230000003213 activating effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 58
- 230000004913 activation Effects 0.000 description 35
- 230000006870 function Effects 0.000 description 28
- 230000008859 change Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- JTJMJGYZQZDUJJ-UHFFFAOYSA-N phencyclidine Chemical compound C1CCCCN1C1(C=2C=CC=CC=2)CCCCC1 JTJMJGYZQZDUJJ-UHFFFAOYSA-N 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000002618 waking effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 4
- 241001310793 Podium Species 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 101000829171 Hypocrea virens (strain Gv29-8 / FGSC 10586) Effector TSP1 Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 108091006146 Channels Proteins 0.000 description 1
- 101000794020 Homo sapiens Bromodomain-containing protein 8 Proteins 0.000 description 1
- 101001006782 Homo sapiens Kinesin-associated protein 3 Proteins 0.000 description 1
- 101000615355 Homo sapiens Small acidic protein Proteins 0.000 description 1
- 102100021255 Small acidic protein Human genes 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/835—Timestamp
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Monitoring And Testing Of Exchanges (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Debugging And Monitoring (AREA)
- Alarm Systems (AREA)
Abstract
本发明涉及业务数据库系统中一种监测负载情况的方法。该系统生成一个包括预期个数测量对象的一览表,这些对象就计数器值而言是最大的。为了更有效地实时获得测量数据,(a)在每一记录间隔期间,一次一个测量对象地执行计数器值的记录和置零,(b)通过记录间隔生成所述一览表,使得,在一个记录间隔内,在每一单个对象的处理期间,检查所讨论的对象的计数器值是否大于此时包含在该一览表中的具有最小计数器值的对象的计数器值,如果是,则用与所讨论的行对应的对象来取代包含在该一览表中的具有最小计数器值的对象。
Description
本发明一般涉及业务数据库系统,尤其涉及一种能用来监测业务数据库系统中负载情况的方法。一种更好的应用环境由智能网的这些业务数据库系统构成。
电信业的快速发展使得运营者可向用户提供大量的各种业务。提供高级业务的网络体系结构称为智能网。智能网的通用缩写是IN。
智能网的功能结构如图1中所示,图中,椭圆形代表该网络的功能实体。下面将简要描述这一结构,因为后面将要参照该智能网环境来描述本发明。
终端使用者(用户)接入该网络由CCAF(呼叫控制代理功能)来控制。对现有数字交换机添加功能之后,可实现接入IN业务。这采用基本呼叫状态模型BCSM来完成,BCSM描述了用来对两个用户间的呼叫进行处理的现有功能。BCSM是建立和保持用户间的连接路由所需要的呼叫控制功能CCF的一个高层状态自动机描述。利用业务交换功能SSF(参见图1中的实体CCF和SSF的部分重叠)将功能加入这一状态模型,从而可以确定何时必须调用智能网的业务(IN业务)。调用了IN业务后,含有智能网的业务逻辑的业务控制功能SCF控制与业务有关的(呼叫尝试)处理。业务交换功能SSF于是将呼叫控制功能CCF连接到业务控制功能SCF,并使得业务控制功能SCF可控制呼叫控制功能CCF。例如,SCF可请求SSF/CCF执行特定呼叫或连接功能,如计费或路由选择操作。SCF还可向业务数据功能SDF发送请求,SDF控制对智能网的与业务有关的数据和网络数据的访问。SCF于是例如可请求SDF检索特定的与业务有关的数据或更新这一数据。
特殊资源功能SRF还对上述功能进行补充,SRF提供一些实现智能网提供的某些业务所需要的特殊功能。这些业务的例子有协议转换、语音识别和话音邮件。SCF例如可请求SSF/CCF功能首先建立终端用户和SRF之间的连接,然后它可请求SRF向终端用户发出话音消息。
智能网的其他功能实体是一些与控制有关的各种功能,如SCEF(业务生成环境功能)、SMF(业务管理功能)和SMAF(业务管理接入功能)。其中,SMF包括业务控制,SMAF提供与SMF的连接,而SCEF使得可定义、开发、测试和经SMF馈送IN业务到SCF。由于这些功能只与网络运营者的操作有关,因而未在图1中示出。
图1中所示的与IN业务有关的这些功能实体的作用简述如下。CCAF接收主叫方发出的业务请求。该业务请求通常包括起动接收机和/或主叫方所拨出的一串数字。CCAF再向CCF/SSF发送该业务请求以进行处理。呼叫控制功能CCF没有业务数据但它已被编程可以识别业务请求的要求。CCF将呼叫建立过程中断片刻并将该呼叫的状态通知给业务交换功能SSF。SSF的任务是,利用预定条件解释该业务请求,并由此判断该请求是否是一个与IN业务有关的业务请求。如果是,则SSF形成一个标准的IN业务请求并将该请求连同有关业务请求的状态的信息一同发送到SCF。SCF接收该请求并将其解码。然后,它与SSF/CCF、SRF和SDF相配合,将所需业务提供给该终端用户。
智能网的物理级结构描述了上述功能实体如何配置于该网络的物理实体中。智能网的物理结构如图2所示,图中,矩形或圆形代表物理实体,椭圆形代表功能实体。信令连接用虚线和实际传递表示,该实际传递比如是连线表示的语音。可选功能实体用虚线标出。图中所示的信令网是一个根据SS7(七号信令系统是一个众所周知的“CCITT(现称为ITU-T)篮皮书《SpecificationsofSignallingSystemNo.7》,墨尔本,1988”中所述的信令系统)的网络。
可包括例如电话、计算机或传真机的用户设备SE,可以直接连接到业务交换点SSP也可以连接到网络接入点NAP。
业务交换点SSP向用户提供网络接入,并控制所有必要的选择功能。SSP还可检测任何IN业务请求。就其功能而言,SSP包括呼叫控制和业务选择功能。
网络接入点NAP是一个包括呼叫控制功能CCF的普通电话交换机,如DX220交换机,它能区分需要IN业务的呼叫和普通的呼叫,并将需要IN业务的呼叫接到适当的SSP。
业务控制点SCP包含用来产生IN业务的业务程序。
业务数据点SDP是一个包含用户和网络数据的数据库,该数据库可被SCP的业务程序用以产生定制业务。SCP可直接或通过信令网使用SDP业务。
智能外设IP提供特殊业务,如语音通知和话音及多选择识别。
业务交换和控制点SSCP包括位于同一节点上的SCP和SSP(换言之,如果图中所示的SSP节点既包括一个SCF实体又包括一个SSF实体,则该节点是一个SSCP)。
业务管理点SMP的任务包括数据库(SDP)的管理、网络的监控和测试以及收集网络数据。它可与所有其他物理实体连接。
业务生成环境点SCEP用来定义、开发和测试IN业务,和将业务输入SMP。
业务辅助控制点AD功能上与业务控制点SCP等同,但AD用快速数据连接(例如,用ISDN30B+D连接)直接连接到SSP,而不通过公共信道信令网SS7。
业务节点SN可控制IN业务并完成用户的数据传递。它直接与一个或多个SSP通信。
业务管理接入点SMAP是一个向特定用户提供与SMP连接的物理实体。
以上是智能网的简要描述,它将作为根据本发明的方法的描述的背景。感兴趣的读者例如可在ITU-T规范Q.121X中或在Bellcore的AIN规范中得到更详细的IN描述。
如上所述,SSF在呼叫建立的特定阶段向SCF发送标准的IN业务请求。由于业务控制点SCP(或业务辅助控制点AD)一般是为多个交换机服务的网络的一个集中式节点,因此在这种集中式业务点的数据库中连续进行各种负载测量也是重要的。例如,为了这些测量,该SCP(或AD)可分为一些如图3所示的功能部分。最底层用所谓的平台层31构成,该平台层包括硬件和基本操作系统(如Unix)。平台层的上面是专用应用层32,该专用应用层可分为以下三个部分:业务数据库(SDB)32a,业务逻辑程序块(SLP)32b,和测量程序块(MP)32c。业务逻辑程序是一些可被到达该节点的业务请求所触发的并可提供实际IN业务的程序。这些程序于是完成基于逐个呼叫的处理任务。另一方面,测量程序块是执行与SCP负载有关的处理的实体。因此,该测量程序块虽然不完成基于逐个呼叫的处理任务,但它却例如通过记录间隔或在某些情况如过载情况下,完成它的操作。
业务数据库通常包括数据表(DT),表中,每个用户都有自己的一行Ri(i=1,2,...n)。用户标识符OI作为关键词包含在每一行的起始处。对本发明而言,与上述测量有关的数据表是必不可少的。一个这样的测量表对应于叫作(测量)模块的一组测量对象。若干测量模块的测量表可置于同一数据表,或者每个测量模块的测量表可形成一个单独的数据表。因此,一个测量表是指这样一个与特定模块相关的数据集合,该数据集合可以是系统中数据表的一部分,或是整个数据表。测量模块也可以称作测量组。
本系统中,每个用户都有专用的一组计数器,这些计数器其值随着与该用户有关的各种事件的增加而递增;例如,呼叫计数器的值随每一呼叫而递增。这些计数器的值通过记录间隔来收集。
图3仍用智能网的业务控制点SCP作为例子,示出了本方法的应用环境。一般来说,可以认为本方法能适用于任何业务数据库系统,该业务数据库系统随机接收业务请求,由系统作出应答。下面对这种系统作总体层次上的描述,而不局限于智能网的SCP节点的描述。
为了呼入的业务请求可被应答,接到数据库的处理器必须进行与特定业务相关的处理。与这些业务请求有关的(测量)对象用数据库系统的数据表中的各个行来表示,这些行由该处理器来管理。系统在特定长度的记录间隔期间记录这些请求和特定事件的数量。
这些对象可分类成一些对象类别,使得一个类别中的所有对象具有同一类型(如用户),如果从正被记录的这些事件角度检查到这种情况的话。同一类型的对象可组成一个测量组,并可在每个对象类别中定义一个以上的测量组。在每个测量组中,各对象有一些用来记录这些事件的相应的计数器。计数器值可以随对象的不同而变化,但每个对象对特定事件的解释是相同的;例如,某些事件对各用户而言(即对各对象而言)可能表示一个号码翻译请求。
与测量有关的功能包括以下一些与业务数据库系统所处的环境无关的记录功能。
当接收到各个请求时,生成一个业务逻辑过程的专用实例,从数据表中检索所需对象的数据行,并执行所请求业务逻辑处理。在一个测量组中,每一单独的数据行都有一个相应的计数器组,用来记录各事件的出现。在业务逻辑处理期间,根据被记录的所需事件的出现,增加计数器值以便记录。
再者,对于多个不同的测量组,最好用同一处理器来管理业务处理、与记录事件(增加计数器值)有关的功能和计数器值的记录。计数器值的记录是指这样的操作,在该操作中,以固定间隔检索计数器值,使得这些计数器值可被写入到存储器(记录文件)或被发送到一个用于处理的外部系统。实际上,使用一个处理器可能是唯一的选择。其原因是,这些业务请求往往有严格的响应时间要求,这样,该数据库必须在RAM存储器中(而不是在磁盘上)实现。甚至在所有商用计算机系统中,都不可能具有一个以上的处理器对单个RAM存储器进行存取。若干处理器共亨RAM存储器实现起来也是困难的,因为必须避免重叠存储操作。
在这种数据库系统中,过载限定系统需要关于哪些受限对象处于呼叫业务最集中处的准实时信息。
在常规的业务数据库系统中,在(测量数据首先已被传送到那里后的管理系统中的)测量数据的处理期间,利用一个单独的处理器来生成关于最多被叫对象一览表。因此,负载情况显示未必是充分实时的。
本发明的目的是为了消除上述缺陷,并提供一种方法,采用这种方法,可以比以往更有效地实时接收该测量数据。
利用根据本发明的一种方法可达到这一目的,这种方法在独立权利要求中阐述。
本发明的思想是:利用逐行处理测量对象的记录和置零过程,将集中了最多呼叫的对象的一览表保存在数据库中。该保存用这样一种方法来实现,这种方法是在单独行的处理和进行更新期间,将位于该行中的一个计数器的值与此时该一览表中的最小值进行比较,如果该值大于所述最小值,则被保存。因此,这一思想是,将具有最多呼叫的对象的确定与在每个对象的呼叫计数器的每一记录间隔期间所执行的置零过程相结合。因此利用记录和置零过程,具有最多呼叫的对象的确定象一个测量组那样被实现。用同样的原理可以生成一个具有最少呼叫的对象的一览表。
如果,有这样一个数据表中的例如50个用户号码,在例如某一活动期间,它们集中了大量的业务,那么,为此确定一个含有50个对象的单个测量组。为这一测量模块,确定一个短记录间隔,例如1分钟。另外,可以确定,根本不为所讨论的模块生成记录文件,但就所讨论的模块而言,记录和置零过程只完成具有最多呼叫的对象的一览表的置零和更新。
应当知道,尽管这一描述谈到了记录和置零过程,但这指的是计数器值的记录及其置零的处理过程。计数器值不必立刻写入记录文件,而可以例如将计数器值发送到一个外部系统。该过程在测量对象的单一处理期间未必进行记录和置零,而能跳过这两者或只进行置零。
下面,参照根据附图中图4至10的例子来详述本发明及其优选实施方式,在附图中:
图1示出了智能网的功能结构,
图2示出了智能网的物理结构,
图3说明了事件记录必不可少的SCP节点的各部分,
图4说明了根据本发明的业务数据库系统,
图5a示出了说明图4的系统中所采用的循环规则的时间轴,
图5b示出了说明图4的系统中所采用的一般性循环规则的时间轴,
图6是说明系统从空闲状态转变到正常工作状态的流程图,和
图7a至7d构成了描述记录和置零过程的进程的流程图。
图8、9和10是更详细地说明在图7a至7d中所示的记录和置零过程中最多被叫对象一览表的生成所需的操作的流程图。
图4说明了根据本发明的数据库系统DBS,该系统可以处于例如智能网的SCP节点中。该数据库包括至少一个基本数据表BT和至少一个包含很多连续的行的测量表MT。本图示出了一个基本表和三个测量表。
基本表中的一行对应于一个单独的测量对象(例如,一个用户)。对象标识符OI位于行的起始处。一个基本表中的这些对象属于同一测量对象类别;换言之,一个基本表中的这些对象是同一类型的。该基本表中的一个对象可包括在几个不同的测量表MT中,例如,同一用户可包括在一个记录间隔例如为5分钟的呼叫计数测量中,和包括在一个记录间隔例如为24小时的呼叫计数测量中。另外,基本表中的每一行都包括这样一些参数,这些参数表示所讨论的对象作为一个激活对象包括在哪些测量组中。以后,这些参数的标识符用ObjActj(j=1...测量组的个数)表示。这些参数值可由用户设定。
单个测量表由标题行HR和连续的行Ri(i=1...n)构成。测量表的单一一行Ri包括与具体对象相关的参数和专用的一组与具体测量组相关的计数器。每个测量表都构成一个如前面所述的特定测量组。因此,每个测量表都包括一些为其进行同样测量的对象。例如,图中的一个测量表可能包括一些正为其进行呼叫计数记录的用户,第二个表可能包括一些正为其进行事件计数器记录的用户,而第三个表可能包括一些正为其进行呼叫长度记录的用户。正如前面所述,即使一个类型的测量(例如,呼叫计数记录)也可以有几个不同的测量表。
整个测量组的公共参数位于测量表的标题行HR中。这些参数将在后面进行描述。
鉴于根据本发明的方法的观点,该系统另一必不可少的部分是最多被叫对象一览表(或表),系统在记录间隔期间,将例如由10个最多被叫对象构成的组收集到该一览表中。当在记录间隔期间这些行已被处理完后,或者以后在记录间隔期间检测到在就要结束的记录间隔期间行的处理未完成时,该一览表中分类的内容被写入相应的数据表中。
业务逻辑程序实例SLPi要读出基本表BT中的行,所以基本表的行也包括用于产生该业务的参数。不过,由于它们不属于本发明的范围,因此这里不对它们作详细描述。
SSP所发送的业务请求SR含有用户(对象)标识符。当SCP接收到这种业务请求时,便生成一个业务逻辑程序的业务逻辑程序实例SLPi,然后这一实例开始为这一业务请求服务。这可用一种已知的方法来实现,使得,包括在本系统中的业务逻辑执行块SLE通过拷贝存储在块SLPT中的业务逻辑程序模板,生成一个业务逻辑实例SLPi。这一拷贝(即SLPi)被应用于所接收的业务请求。业务逻辑执行块SLE从存储呼入业务请求的缓冲器BF中检索业务请求。
SLPi读出业务请求中的用户标识符,然后,从基本表中读出与该标识符对应的行。从该行中,SLPi找出参数ObjActj(j=1,2...)的值。如果该对象是激活的,则SLPi根据包括所讨论对象的测量表的标题行辨别该测量组是否也是激活的。这用包括在该测量表的标题行中的参数来指示,这一参数以后将用名称ActNew表示。如果该对象和测量组均是激活的,则SLPi增加位于测量表的所讨论对象的行中的一个或多个计数器的值。正如图4所示,用户通过管理系统(SMP)给出参数ObjActj和ActNew的值。由于参数ObjActj以后将被认为是一个与特定测量组相关的参数,因此,其下标j将被省略。
位于测量表的行中的计数器最好是成对的,使得,在该行中形成用标记CG1和CG2表示的两个计数器组。这些组包括相同的计数器(一个或多个),这意味着,一个组中的每个计数器,在其他组中都有一个相应的计数器。这些计数器依次被增值,使得,时间轴被分为连续的记录间隔TP,其中每隔一个用标记F表示,而中间的一个用标记T表示,如图5a所示。在记录间隔F期间,例如计数器组CG1中的计数器被增值,而在记录间隔T期间,计数器组CG2中的计数器被增值,(反之亦然)。依次在每一时刻的间隔由保存在测量表的标题行中的奇偶性参数来确定。当SLPi读出测量表中的标题行时,它也读出奇偶性参数的值,并因此识别出它必须增加位于测量表的行中的哪个计数器的值。奇偶性参数是一个可以具有值T(真)或F(假)的布尔变量,这就是为何图中每隔一个时间间隔用标记T表示,而中间的时间间隔用标记F表示的原因。
业务逻辑程序实例SLPi独立地执行一些事件计数器的增值,这意味着,即使它检测到所讨论的测量组和测量对象是激活的,它也盲目地增加这些计数器值。另一方面,测量程序块执行这些行中的计数器的记录和置零。测量程序块可以包括用于对每个测量组中的计数器进行记录和置零的子块CRj。另外,该测量程序块(或子块CRj)在每个记录间隔TP的起点处,通过转换奇偶性值来控制计数器的变化时刻。在SLPi增加计数器组CG1中的计数器值的记录间隔中,测量程序块对计数器组CG2中的计数器进行处理,而在SLPi增加计数器组CG2中的计数器值的记录间隔中,测量程序块对计数器组CG1中的计数器进行处理。因此,计数器增值(或者说,记录事件)用与计数器记录和置零过程分开的一个过程来进行,所述分开的过程只需利用奇偶性参数的值而无需知道有关计数器记录过程进行阶段的其他事情。以后,这些其值正被增加的计数器被称为激活计数器,而那些其值正被记录和置零的计数器被称为惰态计数器。在某一记录间隔期间被增加的计数器值于是在紧随所讨论记录间隔的记录间隔期间被处理。另一方面,在该随后的记录间隔期间,上一记录间隔期间被处理的计数器组被增值。
该系统的另一个必不可少的部件是唤醒定时器TM,该定时器用于使处理器PR以短间隔WP(图5a)启动测量程序块。唤醒间隔的长度可以是例如10秒,这意味着该唤醒间隔相对于记录间隔TP而言是非常短的。该一个或多个唤醒定时器可能是与特定组相关的或几个测量组公用的。
利用一个用户指定的参数,可逐个测量组地确定最大对象数,测量程序块可在一个执行期间(即在一个唤醒期间)来处理这些对象的计数器。如果在记录间隔期间(或者说,在检测到记录间隔的新的变化时刻之前)有足够的时间对所有对象的惰态计数器组进行处理,则为该测量组设置一个标志,作为在所讨论的记录间隔期间不再需要对测量对象进行处理的一个标记。即便利用唤醒定时器仍会以短间隔唤醒计数器的记录和置零过程,也不再对测量对象进行处理。
正如前面所述,最好使同一处理器既执行测量程序又执行业务逻辑程序SLPi。图4中,这一公共处理器用标记PR表示。测量程序的执行总是在该间隔WP已过去时总是由定时器TM来启动。
具有其数据表的数据库以及测量程序和业务逻辑程序可以都置于同一RAM存储器中,而该系统还可以使具有其数据表的数据库置于磁盘上。这样,系统包括了两个处理器,使得,其中一个处理器执行业务逻辑程序,而另一个处理器处理保存在磁盘上的计数器值。总之,某些存储区MA1...MA3与配置了测量程序块、业务逻辑程序块和具有其数据表的数据库的处理器相关联。业务执行块的存储区用标记MA4表示,而业务逻辑模板存储区用标记MA5表示。然而,正如以上所述,对于响应时间而言,最好是使用RAM存储器和一个处理器。
如果在所分配的记录间隔TP中没有足够的时间对所有对象(用户)的惰态计数器组进行处理,例如由于处理器过载,则还剩下一些对象未被处理。原则上,未完成的任务不能堆积。不过,该过程标记出在该间隔内其处理会被完成的那些行。(如果有未被处理的行,则不可能被写入记录文件并且计数器不被置零)。然而,业务逻辑程序实例盲目地增加包括未处理的行上的计数器在内的所有计数器的值。不过,这些行以后不能被处理,因为它们的值不再来自长度为记录间隔的一个间隔,例如5分钟的间隔。当测量程序开始处理这些行时,分别检查计数器值是否能写入记录文件。因此,虽然这些计数器值盲目地被增加,但在随后的处理间隔期间,检查其值是否有效,可否写入记录文件。
利用快速重复的唤醒,可以处理不同测量组的变化的记录间隔。因此,对于不同测量组所具有的不同长度的每个记录间隔,系统不包含各自的计数器(定时器),但系统却有唯一一个以短间隔例如每10秒钟唤醒测量程序的计数器。在每一唤醒期间,测量程序检查它是否必须开始对与具体对象相关的计数器进行处理。于是,例如在处理器过载的情况下,可以确信,在过载减轻的某点处,该定时器将计满而该定时器所触发的记录和置零过程知道在每一情况下它必须做什么。因此,利用一种比使用一些单独的定时器更容易的方法,来解决处理器滞后问题。如果使用单独的定时器,由于定时器总是被置为同一间隔值,因此,由超负荷的处理器负载所造成的滞后会引起一些问题。这样的话,则应当用某种方法来处理该时间和触发时刻之间的同步。
下面是根据本发明的一种系统中必不可少的参数的描述。下列参数是测量对象组的公共参数,这些参数包括在每个测量表MT的标题行中:
参数 | 描述 | 类型 |
ModuleIdentifier | 测量模块的标识符 | I |
Act | 使用中的激活参数 | B |
ActNew | 新的激活参数 | B |
Interv | 使用中的记录间隔的长度 | I |
IntervNew | 新的记录间隔的长度 | I |
LatInterTime | 最新的记录间隔的变化时刻 | I |
SecondInterTime | 第二最新的记录间隔的变化时刻 | I |
ThirdInterTime | 第三最新的记录间隔的变化时刻 | I |
FollInterTime | 下一记录间隔的变化时刻 | I |
LatParityTime | 最新的奇偶性的变化时刻 | D |
PreParityTime | 第二最新的奇偶性的变化时刻 | D |
Parity | 奇偶性 | B |
Batch | 某段时间所处理的最多行数 | I |
TopList | 指示是否将根据测量模块生成最多被叫对象一览表的参数 | B |
LatFinished | 指示一个表中的所有行是否已被处理的参数 | B |
参数类型为整数变量Ⅰ、布尔变量B和实时标记D(日、时、分、秒)。记录间隔的长度以分钟数给出。
用户可以定义测量组激活参数ActNew、记录间隔长度IntervNew和某段时间所处理的最多行数Batch的值。表中所列的其他参数是系统内部参数,它们不能被用户定义。指示最新记录间隔的变化时刻(LatInterTime)、第二最新记录间隔的变化时刻(SecondInterTime)、再以前的记录间隔的变化时刻(ThirdInterTime)和下一记录间隔的变化时刻(FollInterTime)的时间标记最好是分钟指示值,使得它们为整数变量类型(因为系统中所用的时间是离散的)。
最新奇偶性的变化时刻(LatParityTime)和此前的奇偶性的变化时刻(PreParityTime)也必须被保留,因为它们通常不是精确地与所确定的记录间隔的变化时刻一样。其原因是,如果测量程序例如每10秒启动,则奇偶性的变化时刻一般比所确定的记录间隔的变化时刻迟几秒钟。因此,需要这些参数,以便可以确定由其得到计数器值的准确的间隔的长度。参数LatFinisbed指示一个测量表中的所有行的处理是否已完成(计数器值是否已被记录和置零)。
测量表中的单一一行至少包括下列与特定测量对象相关的参数:
参数 | 描述 | 类型 |
ObjAct | 对象的激活参数 | B |
LatMade | 最新的行的处理时间 | I |
PreMade | 第二最新的行的处理时间 | I |
与特定行相关的时间标记(LatMade和PreMade)是分钟指示值,类似于指示记录间隔的变化时刻的参数。以后,这些与特定行相关的时间标记用标记P(PreMade)和标记L(LatMade)来表示。
图4示出了位于测量组的对象行和标题行中的这些参数。
图6示出了系统从空闲状态600转换到正常工作状态即所谓热启动状态700的流程图。当系统接收到所谓冷启动信号时(阶段601),与特定模块相关的标志(参数Alive)被置为零,以指示所讨论的激活是一个冷启动(阶段602)。接着,在阶段603使唤醒定时器(TM,如图4)在短唤醒间隔(WP,如图5a)后计满,然后系统转变到热启动状态700。
图7a至7d示出了测量程序块所执行的记录和置零过程的进程的流程图。当该过程处于热启动状态并且定时器TM计满(阶段701)时,计数器的记录和置零过程开始。在最终阶段,使定时器又在预定时间WP后计满(阶段745,如图7d)。当定时器又计满时,便又执行一遍记录过程,然后象前面阶段中那样,使定时器又计满。正如以上所述,计满之间的间隔可以是例如10秒钟。实际上,测量表的一行的一个执行过程所用的时间可能是约50μs,因此,如果在10个不同的模块中在某段时间有例如100行要处理时,则一个执行所用的时间约50ms。
当定时器已计满时,系统进到阶段702,在此,从模块的标题行中检索当前时间的值和模块参数。该当前时间的值等同于定时器计满的时刻,并且这一值在由计满(唤醒)引起的一个执行所占用的整个时间段内保持相同。这一时间值用来确定当前分钟指示值(例如,以某年的起始点来计)。该程序从测量表的标题行中检索用户可指定的参数ActNew、IntervNew和Batch的值。接着,程序在阶段703a中检测所讨论的激活是否是冷启动信号后记录过程的第一次激活。这通过检测与上述模块相关的标志的值是否为零来实现。如果为零,则程序在阶段703b中检测与用户指定的模块相关的激活参数ActNew的值是否大于零(或者说,模块是否已被激活)。如果大于零,则将上述参数的值置为ActNew=1,它表示该用户所完成的最新的模块激活,而冷启动标志被关掉,或者说,将参数Alive的值置为1(阶段704)。据此,只有通过冷启动并当模块激活时,才进到阶段704。在任何其他情况下,程序从阶段703a或703b进到阶段705,在此,程序检测所讨论的模块是否连续为惰态(测量是否还未被激活)。这通过检测使用中的激活参数Act是否小于或等于零以及用户指定的激活参数ActNew是否也小于或等于零(或者说,是不是模块激活参数的原值为零而新值也为零)来实现。如果是(或者说,模块连续为惰态),则程序直接进到阶段745,在此,使唤醒定时器TM又计满。
如果不是这样,则程序进到阶段706,在此,检测在计数器记录和置零过程的最新唤醒后(测量已被终止)模块是否已切换到惰态。这通过检测使用中的激活参数Act是否大于零以及用户指定的激活参数ActNew是否小于或等于零来实现。如果是,则将使用中的激活参数置为零。这在阶段708中被实现,但是只有在该时刻适合计数器值的记录和置零过程进行所讨论的变化时,程序才能进到这一阶段。该时刻的合适与否在阶段707中被检测,在此,程序检测所有的行是否已被处理完或者记录间隔的下一变化时刻是否已过去。这通过检测参数LatFinished的值是否为1或者激活时所确定的参数CurrentMinute的值是否大于或等于指示下一个预期的间隔的变化时刻的参数FollInterTime的值来实现。当在阶段708中通过将使用中的激活参数置为零而终止测量模块时,程序直接到终点,在此,使定时器又计满。
如果变化时刻还不合适或模块尚未被终止(或者说,如果模块是激活的),则程序在阶段709中检测在前一执行后模块是否被切换到激活状态,或者说,在前一执行后模块是否被起动。这通过检测用户指定的激活参数ActNew的值是否小于100(用户的激活对应于值1,表示模块正被激活)来实现。如果是,即,如果在前一唤醒后模块已被起动,则程序进到初始化阶段710。在任何其他情况下,程序进到阶段711,在此,检测记录间隔的长度是否已改变。
在上述的阶段704中,用户指定的激活参数ActNew的值因此被人为地置为1,使得,在所有必要的情况下,程序可从阶段709进到初始化阶段710。这种情况可以是例如在备份式计算机系统中出现的切换。当后备方启动(冷启动)时,这可以确保,即使在切换出现时与用户指定的模块相关的激活参数具有一个指示激活状态的值(本例中,值为1或101),记录过程也将进到初始化阶段710。因此该切换不需要任何附加操作,而即使在测量组已激活的情况下系统也按照用户刚激活了测量组的情况运行。
在初始化阶段710中,使用中的激活参数Act被赋予用户指定的参数ActNew的值,指示使用中的记录间隔的长度的参数Interv被赋予用户定义的参数IntervNew的值,而用户指定的激活参数的值增加了100,使得,此后在阶段709中可以检测到模块此刻尚未被激活。另外,将时间标记LatInterTime、SecondInterTime、ThirdInterTime和FollInterTime置为上舍入到下一整分钟的当前时间(CurrentMinute)的值。
与特定模块相关的参数于是必须初始化到一个迟于激活时间的时间。这种恰当的初始化尤其确保了所有与原行相关的时间标记早于或等于间隔的变化时刻,这样,判断程序是否写记录文件的不等式(以后描述)也就是真或假,而与例如与具体对象相关的测量被起动的时间无关。
在初始化阶段,将奇偶性变量Parity的值置为零,而将参数LatFinished的值置为1,使得,在模块起动后的第一不足分钟期间,不对测量表的行进行处理。另外,系统保存关于两个最新的奇偶性的变化时刻的信息。在初始化阶段,将这些参数(LatParityTime和PreParityTime)置为一个指示当前确切时间的时间标记(日、时、分、秒)。
在阶段711中,如上所述,程序检测记录间隔的长度是否已改变。这通过检测新值(IntervNew)是否等于原值(Interv)来实现。如果是(或者说,没有改变),则程序直接进到阶段716,在此检测预期的记录间隔的变化时刻是否已经到来或已过去。
如果用户已经改变了记录间隔的值,则在阶段713中将该值更新为新的记录间隔的值,并在阶段715中计算下一记录间隔的变化时刻。不过,这些操作只有在当前时刻合适时才被执行。该时刻的合适与否在阶段712中通过执行与阶段707中相同的检测来检测。于是,只有当在当前记录间隔期间有足够的时间来处理所有的行,或者当下一记录间隔的变化时刻(它根据记录间隔的原长度来计算,或在模块激活情况下在阶段710中被初始化到下一整分钟)已经到来或已过去,才执行这些操作(阶段713中的更新)。如果这两个条件有一个被满足,则在阶段713中将记录间隔的长度更新为其新值。在下一记录间隔的变化时刻的更新(阶段715)可被执行之前,有一个附加条件必须被满足并在阶段714中被检测。在这一阶段中,程序检测自模块激活以后第一整分钟的变化是否已过去。这通过检测FollInterTime的值是否等于参数LatInterTime的值(这些值直到第一整分钟后第一唤醒出现时才相等;当第一整分钟已过去后,参数FollInterTime立刻被更新,如后面所述)来实现。如果这些值不相等,则该第一分钟已过去而程序可执行下一变化时刻的更新。因此,模块的激活时刻后的第一间隔的变化时刻(FollInterTime)总是被置为第一整分钟,只有在此以后,才被置为例如数小时,如果新的记录间隔的长度为一小时的话。因此,这一第一间隔的变化时刻(第一整分钟)是指示间隔的变化时刻的时间标记在阶段710中所初始化的时刻。所期望的是,程序在模块激活后的第一不足分钟期间并不对行进行处理。为此,在阶段710中将参数LatFinished的值置为1。这是因为,与特定行相关的处理标记无论如何都将被置为下一分钟,这样,在第一不足分钟期间所做的任何行的处理不被利用(因为在这种情况下,与特定行相关的标记没有指示它是原标记还是新标记,或者说,它出现在激活前的时间还是在激活后的时间)。因此,仅在第一整分钟后才进行模块激活后的行处理(记录和置零计数器值)。
为下一间隔的变化时刻计算一个新的估算(阶段715),使得,首先将当前分钟(CurrentMinute)的值除以记录间隔的长度并保存余数。通过将当前分钟减去所得到的余数来得到这一新的估算,并将记录间隔的长度与该差值相加(即,FollInterTime:=CurrentMinute-mod(CurrentMinute/Interv)+Interv)。于是,根据该当前时间和记录间隔的长度来确定下一变化时刻。因此,该计算不用考虑参数LatInterTime的值,因为,例如在过载情况下,处理器可能已滞后,这样,相应的滞后会出现在下一变化时刻的值中。
然后,程序在阶段716中检测下一记录间隔的变化时刻是否已经到来。这通过检测参数CurrentMinute的值(或者说,忽略秒数时从时钟时间得到的分钟数)是否大于或等于参数FollInterTime的值来实现。如果不是,则程序直接进到阶段720。在任何其他情况下,程序转向阶段718,在此,向前推进与间隔的变化时刻有关的时间标记。这样,指示最新的记录间隔的变化时刻的参数LatInterTime被赋予值CurrentMinute-mod(CurrentMinute/Interv),指示此前的记录间隔的变化时刻的参数SecondInterTime被赋予参数LatInterTime的原值,而指示第三最新的记录间隔的变化时刻的参数ThirdInterTime被赋予参数SecondInterTime的原值。此时,程序于是不象参数LatInterTime的值那样给出参数FollInterTime的值(即,已经过去的变化时刻的值),而是根据当前分钟的值以上述方法来计算参数LatInterTime的值,使得,任何可能的处理器滞后都不会影响该参数的值。参数LatInterTime的值于是更新为等于下舍入到一个整分钟的当前时间减去上述余数的值,该余数用以补偿任何滞后,其值一般为零。
然而,如果阶段716中所检测到的间隔的变化时刻是为模块激活后的第一整分钟所指定的间隔的变化时刻,那么时间标记不向前推进。这一事实可在阶段717中通过利用与阶段714中类似的检测(或者说,如果此时参数FollInterTime的值不等于参数LatInterTime的值,则模块激活后的第一整分钟已经过去)来检测。
在阶段718中发生的时间标记推进后,或在阶段717中所进行的检测后,过程进到阶段718b,在此完成与最多被叫对象一览表的生成有关的操作,所述操作在后面图8中描述。
在与该一览表的生成有关的操作之后,程序在阶段719中为下一间隔的变化时刻计算一个新的值(或者说,FollInterTime=CurrentMinute-mod(CurrentMinute/Interv)+Interv)。这也可以这样来执行,即在阶段717中检测间隔的变化时刻究竟是不是模块激活后的第一整分钟。在阶段719中,程序还变换奇偶性值,并向前推进最新和第二最新的奇偶性的变化时刻,使得,将参数LatParityTime置为当前实际时间标记的值,和将参数PreParity-Time置为参数LatParityTime的原值。另外,由于正进行该行的处理,因此,此时将参数LatFinished置为零,使得,系统知道该行的处理还未结束。还应注意,即便该行的处理未完成而程序检测到间隔的变化时刻已经过去,参数LatFinished仍被重置为零。
然后,程序在阶段720(程序可能已直接从阶段716到达该阶段)中检测该行的处理过程是否已结束,或者说,所有的行是否已经被处理完。如果是,则程序直接进到阶段745,在此将定时器复位。如果该行的处理未结束或如果还未开始(即,参数LatFinished的值为零),则程序进到阶段721,在此将该行的计数器初始化。接着,程序在模块的测量表中读下一行。如果顺利读出了新的行,则程序进到阶段725。在任何其他情况下,程序将所有行标记为已读(将参数LatFinished置为值1,阶段724),并且程序经阶段724b直接进到阶段745,在此定时器被置零。在阶段724b中,完成与最多被叫对象一览表的生成有关的操作,所述操作在后面图9中描述。
在阶段725中,程序从行中检索对象的参数,如用户标识符(OI)、与具体对象相关的激活参数(ObjAct)、最新行的处理的时间标记(LatMade)和第二最新的行的处理的时间标记(PreMade)。然后,将该行的计数器的值加1(阶段726)。当计数器值被增加后,程序进到阶段727,在此,检测所讨论的对象是否连续处于惰态。这通过检测与具体对象相关的激活参数ObjAct的值是否为100(它被选定为检测中所要用的值)来实现。如果是,则程序经阶段744进到阶段722,以便读下一行(它是根据该行的计数器的值到达的),或者进到阶段745以设置定时器。在任何其他情况下,程序在阶段728中检测该对象在最新唤醒后是否可能被切换到惰态。这通过检测与具体对象相关的激活参数ObjAct是否小于或等于零来实现。如果是,则与具体对象相关的激活参数的值被置为100,从现在开始它将表示该对象连续为惰态。这在阶段729中实现,程序由此直接进到阶段741。如果在阶段728所进行的检测结果为否(或者说,对象是激活的),则程序进到阶段730,在此,检测该对象在最新执行后是否被切换到激活状态,或者说,与该对象有关的测量是否正好已被启动。这通过检测与具体对象相关的激活参数ObjAct的值是否小于100而大于零(或者说,该值是否为1)来实现。如果是,即如果该对象正好已被激活,则程序进到对象初始化阶段732,在此,程序将位于该行中的时间标记LatMade和PreMade初始化为紧随当前分钟的下一分钟,并将该对象的激活参数置为该参数的上一个值(1)加100(ObjAct:=ObjAct+100)。然后,程序直接进到阶段741,在此检查奇偶性值,随后将一个或另一个计数器组置零(阶段742或阶段743)。将被复位的计数器组取决于奇偶性值。程序从这些阶段进到阶段744,在此检测该行的计数器是否已达到用户指定的某段时间所处理的行数(Batch)。如果已达到,则程序进到阶段745,在此使定时器又计满,而如果未达到,则程序返回到阶段722,以便读下一行。
如果程序在阶段730中检测到所讨论的事件不是对象从惰态转换到激活状态的事件,则程序进到阶段734,在此检测上述关于时间标记P的不等式[ThirdInterTime]<P≤[SecondInterTime]是否成立(其中,中括号代表时间标记的值)。如果成立,则程序直接跳到阶段736,在此检查奇偶性值,随后根据奇偶性值,转向读出第一或第二计数器组的值(阶段737或阶段738)。然后,程序在阶段739中写记录文件。如果与时间标记P相关的不等式不成立,则程序在阶段735中检测与时间标记L(LatMade)相关的不等式[ThirdInterTime]<L≤[SecondInterTime]是否成立,如果成立,则程序进到阶段736,以检查奇偶性变量的值,程序由此按上述方式继续进行,直至写记录文件。
写完以后,在块739b中完成最多被叫对象一览表的更新。该块将在后面图10中详细描述。自块739b,或如果与时间标记L相关的不等式不成立而自阶段735,程序进到阶段740,在此更新位于行中的这些时间标记(标记P和L)。标记P被赋予标记L的原值,而标记L被赋予等于上舍入的当前分钟的值。时间标记更新后,程序进到阶段741,以检查奇偶性,过程由此按上述方式继续进行。因此,当行已被处理完后,与特定行相关的时间标记被更新。
因此,利用图5a(或5b)所示的循环规则,以短间隔完成了上述计数器值的记录和置零过程,其中,(奇偶性)参数的值在每一间隔中确定计数器组,该计数器组的值在每一行记录的。
另外,应当注意,上述记录和置零过程是处理一个测量表的描述。为了补充以上描述,可以认为,当记录和置零过程检测到模块刚被激活时(阶段709),时间标记LatInterTime、Second-InterTime和ThirdInterTime被初始化(阶段710)到最近的下一整分钟,或者说,初始化到与时间标记FollInterTime相同的时刻。在第一整分钟后的唤醒期间,程序检测到间隔的变化时刻FollInterTime已经过去(阶段716),但不必更新间隔的变化时刻LatInterTime、SecondInterTime和ThirdInterTIime,因为它们已经被初始化。换言之,程序直接从阶段717进到阶段719,以更新下一预期的间隔的变化时刻FollInterTime。记录和置零过程需要变化时刻LatInterTime、SecondInterTime和ThirdInterTime的上述初始化值,使得,这些时间标记没有一个会比其间程序检测到模块已被激活的唤醒的时间早。这使得例如仅在几秒钟后,就可启动模块的去激活和其再激活。
图8详细示出了块718b中所进行的操作。首先,程序检测(阶段81)在当前间隔期间所有的行是否被处理完。这通过检测参数LatFinished的值是否等于1来实现。如果检测到行的处理未完成,则程序跳到生成最多被叫对象一览表的阶段,在任何其他情况下,程序直接进到阶段719(点A2)。在前一情况中,程序首先检测是否希望生成与这一测量模块有关的一览表。这通过读与特定模块相关的参数TopList的值来确定。如果该值指示将不生成该一览表,则程序直接进到阶段719(点A2)。而如果该值指示必须生成该一览表,则采用一种已知的分类算法对现有一览表进行分类(阶段83)。此后,该一览表被分类(这些行按分类次序写入为最多被叫对象一览表所预订的数据表中),并将该一览表置零,以备这些行的下一处理用(阶段84)。置零表示,为下一记录间隔将有关包含在该一览表中的最小对象的计数器值的信息初始化为零。分类算法例如可以采用已知的标准置换法,又称“冒泡”分类法。这种方法例如如刊物“Korpela,Larmela,Planman:Pascalohjelmointikieli,OtaDATAr.y.,1980,ISBN951-767-034-6,section12.4.1”中所述。
图9示出了块724b中所进行的操作。在行的处理未完成的情况下,这些操作等同于块718b中所进行的操作。还应注意,当在一个记录间隔期间所有的行已被处理完时,包含在块724b中的这些操作总是被执行,此后,便完成了该最多被叫对象的测量表。
图10示出了块739b中所进行的操作,这些操作是在计数器值被确定为正确的和有效地被记录的这种类型的每一行的处理中被进行。首先,检测是否希望生成与这一测量模块有关的一览表(阶段101)。这通过读与特定模块相关的参数TopList的值来确定。如果该值指示将不生成该一览表,则程序直接进到阶段740(点A7)。而如果该值指示必须生成该一览表,则程序接下来检测(阶段102)该计数器值是否包含于该一览表中。这通过将位于该行中的呼叫计数器值与该一览表中的最小值(该值保存在寄存器中)进行比较来实现。如果呼叫计数器值小于所述最小值,则用所述呼叫计数器值来取代该一览表中的最小值(阶段103),而如果不是这样,则程序直接进到阶段740。取代后,程序更新与该一览表中的最小值相应的指数(阶段104)。这通过检查整个一览表并用与包含在该一览表中的最小值相应的指数更新该一览表中的最后项的指数来实现。
在本系统中最好还使用一种该系统中单独的与特定模块相关的辅助变量,该辅助变量指示是否允许计数器值的记录。根据两个与时间标记相关的不等式中的至少一个是否成立,来确定这一辅助变量的值。使用该辅助变量有这样的好处,例如,在与最多被叫对象一览表有关的测量组中,可完全禁止记录,即使这些不等式可能允许记录。
尽管参照根据附图的例子对本发明进行了以上描述,显然,本发明并不局限于这些例子,而可以在以上和附属权利要求书中所述的本发明的思想的范围内变化。原则上,例如可以用一种相应的方法生成最少被叫对象一览表,但就负载控制而言,这种一览表无关紧要。即使在行中不使用拷贝的计数器以及就时间而论不采用上述循环规则,也仍可以遵循这一原理。例如采用一种与执行计数器增值的处理器不同的处理器,可以对记录和一览表的生成进行处理。不过,这种循环规则是优选的,因为此时可以用单个处理器,并且一览表的生成可以尽可能不妨碍计数器的增值过程。另一方面,实现该循环规则的最简单的方法是采用成对的计数器。
Claims (10)
1.一种业务数据库系统中的用于监测负载情况的方法,该数据库包括一些含有连续行(Ri)的测量表(MT),据此,单一一行包括有关单个测量对象的数据,并且一个测量表中的测量对象属于同一类型,使得,它们可构成一个测量组,这种方法包括以下步骤:
-接收业务请求(SR)进入到该系统,在其处理期间,必须对每一测量对象的事件发生数进行计数,
-作为该业务请求的响应,激活业务的提供,
-在由某一预定的记录间隔所确定的一段时间内,对于业务请求处理期间的每一不同事件,通过增加与特定测量对象相关的计数器的值来完成事件记录,所述间隔是用户可指定的,和
-通过存储每一记录间隔后的与特定测量对象相关的计数器值,来完成计数器值的记录,
-根据所记录的计数器值,生成一个包括预期个数测量对象的一览表,这些对象就特定计数器的值而言是最大的。
其特征在于,该方法还包括以下步骤:
-在每一记录间隔期间,一次一个测量对象地执行计数器值的记录和置零,
-通过记录间隔生成所述一览表,使得,在一个记录间隔内,在每一单个对象的处理期间,检查所述特定计数器的值是否大于此时包含在该一览表中的具有最小计数器值的对象的计数器值,如果是,则用与所讨论的行对应的对象来取代该具有最小计数器值的对象,和
-在最新记录间隔的终点,存储所生成的一览表。
2.如权利要求1所述的方法,其特征在于,该方法包括如下步骤:
-成对地将每个测量计数器保存在与测量对象对应的测量表的行中,使得,第一计数器属于第一计数器组(CG1),而第二计数器属于第二计数器组(CG2),和
-将时域划分为连续的记录间隔(TP),使得,在每隔一个的记录间隔期间,第一计数器组中的计数器被增值而第二计数器组中的计数器值被记录和置零,又在每隔一个的记录间隔期间,第二计数器组中的计数器被增值而第一计数器组中的计数器值被记录和置零。
3.如权利要求1所述的方法,其特征在于,在单独一行的处理期间,检查计数器值是否有效,可否被记录,并且只将有效的值接受到该一览表中。
4.如权利要求3所述的方法,其特征在于,该方法包括如下步骤:
-在系统中,保存一个与特定测量对象相关的指示在测量对象的一个行中置零已被完成的最新时刻的时间标记,和一个指示在测量对象的一个行中置零已被完成的第二最新时刻的时间标记,以及一个与特定测量组相关的指示第三最新的记录间隔的变化时刻的时间标记,和
-将与特定测量对象相关的时间标记和与特定测量组相关的时间标记进行比较,并且如果两个与特定测量组相关的时间标记中的至少一个按预期介于指示第二和第三最新的记录间隔的变化时刻的时间标记之间,则接受该测量对象的计数器值以便记录。
5.如权利要求1所述的方法,其特征在于,在如下情况时,该一览表被分类并按分类次序存储在一个数据表中:
-检测到在当前记录间隔期间所有对象已被处理完,
-检测到记录间隔已变化而在上一记录间隔期间一些对象的处理可能未完成。
6.如权利要求1所述的方法,其特征在于,在数据表中存储一个以上记录间隔的一览表。
7.如权利要求1所述的方法,其特征在于,根据这样一些对象将预期长度的一览表初始化,这些对象首先通过将包含于该一览表中的最小值置为零来处理。
8.如权利要求1所述的方法,其特征在于,在过载情况下,该一览表用来提供拒绝业务请求的判据。
9.一种业务数据库系统中的用于监测负载情况的方法,该数据库包括一些含有连续行(Ri)的测量表(MT),据此,单一一行包括有关单个测量对象的数据,并且一个测量表中的测量对象属于同一类型,使得,它们可构成一个测量组,这种方法包括以下步骤:
-接收业务请求(SR)进入到该系统,在其处理期间,必须对每一测量对象的事件发生数进行计数,
-作为该业务请求的响应,激活业务的提供,
-在由某一预定的记录间隔所确定的一段时间内,对于业务请求处理期间的每一不同事件,通过增加与特定测量对象相关的计数器的值来完成事件记录,所述间隔是用户可指定的,
-通过存储每一记录间隔后的与特定测量对象相关的计数器值,来完成计数器值的记录,和
-根据所记录的计数器值,生成一个包括预期个数测量对象的一览表,这些对象就特定计数器的值而言是最小的。
其特征在于,该方法还包括以下步骤:
-在每一记录间隔期间,一次一个测量对象地执行计数器值的记录和置零,
-通过记录间隔生成所述一览表,使得,在一个记录间隔内,在每一单个对象的处理期间,检查所述特定计数器的值是否小于此时包含在该一览表中的具有最大计数器值的对象的计数器值,如果是,则用与所讨论的行对应的对象来取代该具有最大计数器值的对象,和
-在最新记录间隔的终点,存储所生成的一览表。
10.如权利要求9所述的方法,其特征在于,该方法包括如下步骤:
-成对地将每个测量计数器保存在与测量对象对应的测量表的行中,使得,第一计数器属于第一计数器组(CG1),而第二计数器属于第二计数器组(CG2),和
-将时域划分为连续的记录间隔(TP),使得,在每隔一个的记录间隔期间,第一计数器组中的计数器被增值而第二计数器组中的计数器值被记录和置零,又在每隔一个的记录间隔期间,第二计数器组中的计数器被增值而第一计数器组中的计数器值被记录和置零。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI963371 | 1996-08-29 | ||
FI963371A FI104600B (fi) | 1996-08-29 | 1996-08-29 | Kuormitustilanteen valvonta palvelutietokantajärjestelmässä |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1231747A true CN1231747A (zh) | 1999-10-13 |
Family
ID=8546552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97198253.8A Pending CN1231747A (zh) | 1996-08-29 | 1997-08-29 | 业务数据库系统中负载情况的监测 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6064950A (zh) |
EP (1) | EP0978068A2 (zh) |
JP (1) | JP2000517123A (zh) |
CN (1) | CN1231747A (zh) |
AU (1) | AU728049B2 (zh) |
BR (1) | BR9711269A (zh) |
CA (1) | CA2263596A1 (zh) |
FI (1) | FI104600B (zh) |
WO (1) | WO1998009236A2 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI110655B (fi) * | 1997-07-11 | 2003-02-28 | Nokia Corp | Sanomaliikenteen vähentäminen älyverkossa |
JP3328208B2 (ja) * | 1998-12-28 | 2002-09-24 | 富士通株式会社 | インテリジェントネットワークシステム |
ES2407808T3 (es) * | 2002-05-21 | 2013-06-14 | Koninklijke Kpn N.V. | Sistema y método para monitorización de red y red correspondiente |
US20040220947A1 (en) * | 2003-05-02 | 2004-11-04 | International Business Machines Corporation | Method and apparatus for real-time intelligent workload reporting in a heterogeneous environment |
AU2003262444B2 (en) * | 2003-11-20 | 2011-04-07 | Fci Holdings Delaware, Inc. | Cable bolt |
US20060136490A1 (en) * | 2004-12-17 | 2006-06-22 | International Business Machines Corporation | Autonomic creation of shared workflow components in a provisioning management system using multi-level resource pools |
US7499865B2 (en) * | 2004-12-17 | 2009-03-03 | International Business Machines Corporation | Identification of discrepancies in actual and expected inventories in computing environment having multiple provisioning orchestration server pool boundaries |
US7953703B2 (en) * | 2005-02-17 | 2011-05-31 | International Business Machines Corporation | Creation of highly available pseudo-clone standby servers for rapid failover provisioning |
US9830912B2 (en) | 2006-11-30 | 2017-11-28 | Ashwin P Rao | Speak and touch auto correction interface |
US9922640B2 (en) | 2008-10-17 | 2018-03-20 | Ashwin P Rao | System and method for multimodal utterance detection |
US9122782B2 (en) | 2011-09-28 | 2015-09-01 | International Business Machines Corporation | Apparatus and computer program product for adaptively determining response time distribution of transactional workloads |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918593A (en) * | 1987-01-08 | 1990-04-17 | Wang Laboratories, Inc. | Relational database system |
US5067099A (en) * | 1988-11-03 | 1991-11-19 | Allied-Signal Inc. | Methods and apparatus for monitoring system performance |
US5446884A (en) * | 1992-02-13 | 1995-08-29 | International Business Machines Corporation | Database recovery apparatus and method |
US5499358A (en) * | 1993-12-10 | 1996-03-12 | Novell, Inc. | Method for storing a database in extended attributes of a file system |
US5570410A (en) * | 1994-10-13 | 1996-10-29 | Bellsouth Corporation | Dynamic resource allocation process for a service control point in an advanced intelligent network system |
US5581610A (en) * | 1994-10-19 | 1996-12-03 | Bellsouth Corporation | Method for network traffic regulation and management at a mediated access service control point in an open advanced intelligent network environment |
FI98973C (fi) * | 1994-11-22 | 1997-09-10 | Nokia Telecommunications Oy | Menetelmä ryhmätietojen ylläpitämiseksi matkaviestinjärjestelmässä ja matkaviestinjärjestelmä |
-
1996
- 1996-08-29 FI FI963371A patent/FI104600B/fi active
-
1997
- 1997-08-29 AU AU40176/97A patent/AU728049B2/en not_active Ceased
- 1997-08-29 EP EP97937608A patent/EP0978068A2/en not_active Withdrawn
- 1997-08-29 BR BR9711269A patent/BR9711269A/pt not_active IP Right Cessation
- 1997-08-29 WO PCT/FI1997/000506 patent/WO1998009236A2/en not_active Application Discontinuation
- 1997-08-29 CA CA002263596A patent/CA2263596A1/en not_active Abandoned
- 1997-08-29 JP JP10511324A patent/JP2000517123A/ja active Pending
- 1997-08-29 CN CN97198253.8A patent/CN1231747A/zh active Pending
-
1999
- 1999-02-16 US US09/249,862 patent/US6064950A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU4017697A (en) | 1998-03-19 |
EP0978068A2 (en) | 2000-02-09 |
JP2000517123A (ja) | 2000-12-19 |
CA2263596A1 (en) | 1998-03-05 |
FI963371A0 (fi) | 1996-08-29 |
BR9711269A (pt) | 1999-08-17 |
FI963371A (fi) | 1998-03-01 |
FI104600B (fi) | 2000-02-29 |
WO1998009236A2 (en) | 1998-03-05 |
WO1998009236A3 (en) | 1998-04-16 |
US6064950A (en) | 2000-05-16 |
AU728049B2 (en) | 2001-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2357857B1 (en) | Method and apparatus for generating phone bill | |
CN1231747A (zh) | 业务数据库系统中负载情况的监测 | |
CN1231743A (zh) | 业务数据库系统中的事件记录 | |
CN1231748A (zh) | 业务数据库系统中的事件记录 | |
CN1231745A (zh) | 业务数据库系统中的事件记录 | |
CN101094428A (zh) | 一种智能网业务数据库查询统计系统及其方法 | |
CN1231746A (zh) | 业务数据库系统中的事件记录 | |
CN1231749A (zh) | 业务数据库系统中的事件记录 | |
CN112328463A (zh) | 一种日志监控方法及装置 | |
CN1231744A (zh) | 业务数据库系统中的事件记录 | |
CN112463233A (zh) | 一种系统配置方法、系统、设备以及介质 | |
KR100693710B1 (ko) | 마스터/슬레이브 구조를 갖는 데이터베이스간의 데이터 일치 방법 | |
CN114090854B (zh) | 基于信息熵的标签权重智能更新方法、系统及计算机设备 | |
CN112631768A (zh) | 一种基于异步机制的资源共享方法及系统 | |
CN101459745A (zh) | 计费校正方法及校正装置 | |
CN1158206A (zh) | 一个灵活的呼叫记录机制 | |
JPH0761110B2 (ja) | 課金方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |