亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)中的事件記錄的制作方法

文檔序號(hào):7575351閱讀:195來(lái)源:國(guó)知局
專利名稱:業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)中的事件記錄的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng),尤其涉及一種能用來(lái)完成各種事件記錄的方法。智能網(wǎng)的這些業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)成一種更好的應(yīng)用環(huán)境。
電信業(yè)的快速發(fā)展使得運(yùn)營(yíng)者可向用戶提供大量的各種業(yè)務(wù)。提供高級(jí)業(yè)務(wù)的網(wǎng)絡(luò)體系結(jié)構(gòu)稱為智能網(wǎng)。智能網(wǎng)的通用縮寫是IN。
智能網(wǎng)的功能結(jié)構(gòu)如

圖1中所示,圖中,橢圓形代表該網(wǎng)絡(luò)的功能實(shí)體。下面將簡(jiǎn)要描述這一結(jié)構(gòu),因?yàn)楹竺鎸⒁獏⒄赵撝悄芫W(wǎng)環(huán)境來(lái)描述本發(fā)明。
終端使用者(用戶)接入該網(wǎng)絡(luò)由CCAF(呼叫控制代理功能)來(lái)控制。對(duì)現(xiàn)有數(shù)字交換機(jī)添加功能之后,可實(shí)現(xiàn)接入IN業(yè)務(wù)。這采用基本呼叫狀態(tài)模型BCSM來(lái)完成,BCSM描述了用來(lái)對(duì)兩個(gè)用戶間的呼叫進(jìn)行處理的現(xiàn)有功能。BCSM是建立和保持用戶間的連接路由所需要的呼叫控制功能CCF的一個(gè)高層狀態(tài)自動(dòng)機(jī)描述。利用業(yè)務(wù)交換功能SSF(參見(jiàn)圖1中的實(shí)體CCF和SSF的部分重疊)將功能加入這一狀態(tài)模型,從而可以確定何時(shí)必須調(diào)用智能網(wǎng)的業(yè)務(wù)(IN業(yè)務(wù))。調(diào)用了IN業(yè)務(wù)后,含有智能網(wǎng)的業(yè)務(wù)邏輯的業(yè)務(wù)控制功能SCF控制與業(yè)務(wù)有關(guān)的(呼叫嘗試)處理。業(yè)務(wù)交換功能SSF于是將呼叫控制功能CCF連接到業(yè)務(wù)控制功能SCF,并使得業(yè)務(wù)控制功能SCF可控制呼叫控制功能CCF。例如,SCF可請(qǐng)求SSF/CCF執(zhí)行特定呼叫或連接功能,如計(jì)費(fèi)或路由選擇操作。SCF還可向業(yè)務(wù)數(shù)據(jù)功能SDF發(fā)送請(qǐng)求,SDF控制對(duì)智能網(wǎng)的與業(yè)務(wù)有關(guān)的數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)的訪問(wèn)。SCF于是例如可請(qǐng)求SDF檢索特定的與業(yè)務(wù)有關(guān)的數(shù)據(jù)或更新這一數(shù)據(jù)。
特殊資源功能SRF還對(duì)上述功能進(jìn)行補(bǔ)充,SRF提供一些實(shí)現(xiàn)智能網(wǎng)提供的某些業(yè)務(wù)所需要的特殊功能。這些業(yè)務(wù)的例子有協(xié)議轉(zhuǎn)換、語(yǔ)音識(shí)別和話音郵件。SCF例如可請(qǐng)求SSF/CCF功能首先建立終端用戶和SRF之間的連接,然后它可請(qǐng)求SRF向終端用戶發(fā)出話音消息。
智能網(wǎng)的其他功能實(shí)體是一些與控制有關(guān)的各種功能,如SCEF(業(yè)務(wù)生成環(huán)境功能)、SMF(業(yè)務(wù)管理功能)和SMAF(業(yè)務(wù)管理接入功能)。其中,SMF包括業(yè)務(wù)控制,SMAF提供與SMF的連接,而SCEF使得可定義、開發(fā)、測(cè)試和經(jīng)SMF饋送IN業(yè)務(wù)到SCF。由于這些功能只與網(wǎng)絡(luò)運(yùn)營(yíng)者的操作有關(guān),因而未在圖1中示出。
圖1中所示的與IN業(yè)務(wù)有關(guān)的這些功能實(shí)體的作用簡(jiǎn)述如下。CCAF接收主叫方發(fā)出的業(yè)務(wù)請(qǐng)求。該業(yè)務(wù)請(qǐng)求通常包括起動(dòng)接收機(jī)和/或主叫方所撥出的一串?dāng)?shù)字。CCAF再向CCF/SSF發(fā)送該業(yè)務(wù)請(qǐng)求以進(jìn)行處理。呼叫控制功能CCF沒(méi)有業(yè)務(wù)數(shù)據(jù)但它已被編程可以識(shí)別業(yè)務(wù)請(qǐng)求的要求。CCF將呼叫建立過(guò)程中斷片刻并將該呼叫的狀態(tài)通知給業(yè)務(wù)交換功能SSF。SSF的任務(wù)是,利用預(yù)定條件解釋該業(yè)務(wù)請(qǐng)求,并由此判斷該請(qǐng)求是否是一個(gè)與IN業(yè)務(wù)有關(guān)的業(yè)務(wù)請(qǐng)求。如果是,則SSF形成一個(gè)標(biāo)準(zhǔn)的IN業(yè)務(wù)請(qǐng)求并將該請(qǐng)求連同有關(guān)業(yè)務(wù)請(qǐng)求的狀態(tài)的信息一同發(fā)送到SCF。SCF接收該請(qǐng)求并將其解碼。然后,它與SSF/CCF、SRF和SDF相配合,將所需業(yè)務(wù)提供給該終端用戶。
智能網(wǎng)的物理級(jí)結(jié)構(gòu)描述了上述功能實(shí)體如何配置于該網(wǎng)絡(luò)的物理實(shí)體中。智能網(wǎng)的物理結(jié)構(gòu)如圖2所示,圖中,矩形或圓形代表物理實(shí)體,橢圓形代表功能實(shí)體。信令連接用虛線和實(shí)際傳遞表示,該實(shí)際傳遞比如是連線表示的語(yǔ)音。可選功能實(shí)體用虛線標(biāo)出。圖中所示的信令網(wǎng)是一個(gè)根據(jù)SS7(七號(hào)信令系統(tǒng)是一個(gè)眾所周知的“CCITT(現(xiàn)稱為ITU-T)籃皮書《Specifications of Signalling System No.7》,墨爾本,1988”中所述的信令系統(tǒng))的網(wǎng)絡(luò)。
可包括例如電話、計(jì)算機(jī)或傳真機(jī)的用戶設(shè)備SE,可以直接連接到業(yè)務(wù)交換點(diǎn)SSP也可以連接到網(wǎng)絡(luò)接入點(diǎn)NAP。
業(yè)務(wù)交換點(diǎn)SSP向用戶提供網(wǎng)絡(luò)接入,并控制所有必要的選擇功能。SSP還可檢測(cè)任何IN業(yè)務(wù)請(qǐng)求。就其功能而言,SSP包括呼叫控制和業(yè)務(wù)選擇功能。
網(wǎng)絡(luò)接入點(diǎn)NAP是一個(gè)包括呼叫控制功能CCF的普通電話交換機(jī),如DX 220交換機(jī),它能區(qū)分需要IN業(yè)務(wù)的呼叫和普通的呼叫,并將需要IN業(yè)務(wù)的呼叫接到適當(dāng)?shù)腟SP。
業(yè)務(wù)控制點(diǎn)SCP包含用來(lái)產(chǎn)生IN業(yè)務(wù)的業(yè)務(wù)程序。
業(yè)務(wù)數(shù)據(jù)點(diǎn)SDP是一個(gè)包含用戶和網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)可被SCP的業(yè)務(wù)程序用以產(chǎn)生定制業(yè)務(wù)。SCP可直接或通過(guò)信令網(wǎng)使用SDP業(yè)務(wù)。
智能外設(shè)IP提供特殊業(yè)務(wù),如語(yǔ)音通知和話音及多選擇識(shí)別。
業(yè)務(wù)交換和控制點(diǎn)SSCP包括位于同一節(jié)點(diǎn)上的SCP和SSP(換言之,如果圖中所示的SSP節(jié)點(diǎn)既包括一個(gè)SCF實(shí)體又包括一個(gè)SSF實(shí)體,則該節(jié)點(diǎn)是一個(gè)SSCP)。
業(yè)務(wù)管理點(diǎn)SMP的任務(wù)包括數(shù)據(jù)庫(kù)(SDP)的管理、網(wǎng)絡(luò)的監(jiān)控和測(cè)試以及收集網(wǎng)絡(luò)數(shù)據(jù)。它可與所有其他物理實(shí)體連接。
業(yè)務(wù)生成環(huán)境點(diǎn)SCEP用來(lái)定義、開發(fā)和測(cè)試IN業(yè)務(wù),和將業(yè)務(wù)輸入SMP。
業(yè)務(wù)輔助控制點(diǎn)AD功能上與業(yè)務(wù)控制點(diǎn)SCP等同,但AD用快速數(shù)據(jù)連接(例如,用ISDN 30B+D連接)直接連接到SSP,而不通過(guò)公共信道信令網(wǎng)SS7。
業(yè)務(wù)節(jié)點(diǎn)SN可控制IN業(yè)務(wù)并完成用戶的數(shù)據(jù)傳遞。它直接與一個(gè)或多個(gè)SSP通信。
業(yè)務(wù)管理接入點(diǎn)SMAP是一個(gè)向特定用戶提供與SMP連接的物理實(shí)體。
以上是智能網(wǎng)的簡(jiǎn)要描述,它將作為根據(jù)本發(fā)明的方法的描述的背景。感興趣的讀者例如可在ITU-T規(guī)范Q.121X中或在Bellcore的AIN規(guī)范中得到更詳細(xì)的IN描述。
如上所述,SSF在呼叫建立的特定階段向SCF發(fā)送標(biāo)準(zhǔn)的IN業(yè)務(wù)請(qǐng)求。由于業(yè)務(wù)控制點(diǎn)SCP(或業(yè)務(wù)輔助控制點(diǎn)AD)一般是為多個(gè)交換機(jī)服務(wù)的網(wǎng)絡(luò)的一個(gè)集中式節(jié)點(diǎn),因此在這種集中式業(yè)務(wù)點(diǎn)的數(shù)據(jù)庫(kù)中連續(xù)進(jìn)行各種負(fù)載測(cè)量也是重要的。例如,為了這些測(cè)量,該SCP(或AD)可分為一些如圖3所示的功能部分。最底層用所謂的平臺(tái)層31構(gòu)成,該平臺(tái)層包括硬件和基本操作系統(tǒng)(如Unix)。平臺(tái)層的上面是專用應(yīng)用層32,該專用應(yīng)用層可分為以下三個(gè)部分業(yè)務(wù)數(shù)據(jù)庫(kù)(SDB)32a,業(yè)務(wù)邏輯程序塊(SLP)32b,和測(cè)量程序塊(MP)32c。業(yè)務(wù)邏輯程序是一些可被到達(dá)該節(jié)點(diǎn)的業(yè)務(wù)請(qǐng)求所觸發(fā)的并可提供實(shí)際IN業(yè)務(wù)的程序。這些程序于是完成基于逐個(gè)呼叫的處理任務(wù)。另一方面,測(cè)量程序塊是執(zhí)行與SCP負(fù)載有關(guān)的處理的實(shí)體。因此,該測(cè)量程序塊雖然不完成基于逐個(gè)呼叫的處理任務(wù),但它卻例如通過(guò)記錄間隔或在某些情況如過(guò)載情況下,完成它的操作。
業(yè)務(wù)數(shù)據(jù)庫(kù)通常包括數(shù)據(jù)表(DT),表中,每個(gè)用戶都有自己的一行Ri(i=1,2,…n)。用戶標(biāo)識(shí)符OI作為關(guān)鍵詞包含在每一行的起始處。對(duì)本發(fā)明而言,與上述測(cè)量有關(guān)的數(shù)據(jù)表是必不可少的。一個(gè)這樣的測(cè)量表對(duì)應(yīng)于叫作(測(cè)量)模塊的一組測(cè)量對(duì)象。若干測(cè)量模塊的測(cè)量表可置于同一數(shù)據(jù)表,或者每個(gè)測(cè)量模塊的測(cè)量表可形成一個(gè)單獨(dú)的數(shù)據(jù)表。因此,一個(gè)測(cè)量表是指這樣一個(gè)與特定模塊相關(guān)的數(shù)據(jù)集合,該數(shù)據(jù)集合可以是系統(tǒng)中數(shù)據(jù)表的一部分,或是整個(gè)數(shù)據(jù)表。測(cè)量模塊也可以稱作測(cè)量組。
本系統(tǒng)中,每個(gè)用戶都有專用的一組計(jì)數(shù)器,這些計(jì)數(shù)器其值隨著與該用戶有關(guān)的各種事件的增加而遞增;例如,呼叫計(jì)數(shù)器的值隨每一呼叫而遞增。這些計(jì)數(shù)器的值通過(guò)記錄間隔來(lái)收集。
圖3仍用智能網(wǎng)的業(yè)務(wù)控制點(diǎn)SCP作為例子,示出了本方法的應(yīng)用環(huán)境。一般來(lái)說(shuō),可以認(rèn)為本方法能適用于任何業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng),該業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)隨機(jī)接收業(yè)務(wù)請(qǐng)求,由系統(tǒng)作出應(yīng)答。下面對(duì)這種系統(tǒng)作總體層次上的描述,而不局限于智能網(wǎng)的SCP節(jié)點(diǎn)的描述。
為了呼入的業(yè)務(wù)請(qǐng)求可被應(yīng)答,接到數(shù)據(jù)庫(kù)的處理器必須進(jìn)行與特定業(yè)務(wù)相關(guān)的處理。與這些業(yè)務(wù)請(qǐng)求有關(guān)的(測(cè)量)對(duì)象用數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)表中的各個(gè)行來(lái)表示,這些行由該處理器來(lái)管理。系統(tǒng)在特定長(zhǎng)度的記錄間隔期間記錄這些請(qǐng)求和特定事件的數(shù)量。
這些對(duì)象可分類成一些對(duì)象類別,使得一個(gè)類別中的所有對(duì)象具有同一類型(如用戶),如果從正被記錄的這些事件角度檢查到這種情況的話。同一類型的對(duì)象可組成一個(gè)測(cè)量組,并可在每個(gè)對(duì)象類別中定義一個(gè)以上的測(cè)量組。在每個(gè)測(cè)量組中,各對(duì)象有一些用來(lái)記錄這些事件的相應(yīng)的計(jì)數(shù)器。計(jì)數(shù)器值可以隨對(duì)象的不同而變化,但每個(gè)對(duì)象對(duì)特定事件的解釋是相同的;例如,某些事件對(duì)各用戶而言(即對(duì)各對(duì)象而言)可能表示一個(gè)號(hào)碼翻譯請(qǐng)求。
與測(cè)量有關(guān)的功能包括以下一些與業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)所處的環(huán)境無(wú)關(guān)的記錄功能。
當(dāng)接收到各個(gè)請(qǐng)求時(shí),生成一個(gè)業(yè)務(wù)邏輯過(guò)程的專用實(shí)例,從數(shù)據(jù)表中檢索所需對(duì)象的數(shù)據(jù)行,并執(zhí)行所請(qǐng)求業(yè)務(wù)邏輯處理。在一個(gè)測(cè)量組中,每一單獨(dú)的數(shù)據(jù)行都有一個(gè)相應(yīng)的計(jì)數(shù)器組,用來(lái)記錄各事件的出現(xiàn)。在業(yè)務(wù)邏輯處理期間,根據(jù)被記錄的所需事件的出現(xiàn),增加計(jì)數(shù)器值。
再者,對(duì)于多個(gè)不同的測(cè)量組,最好用同一處理器來(lái)管理業(yè)務(wù)處理、與記錄事件(增加計(jì)數(shù)器值)有關(guān)的功能和計(jì)數(shù)器值的記錄。計(jì)數(shù)器值的記錄是指這樣的操作,在該操作中,以固定間隔檢索計(jì)數(shù)器值,使得這些計(jì)數(shù)器值可被寫入到存儲(chǔ)器(記錄文件)或被發(fā)送到一個(gè)用于處理的外部系統(tǒng)。實(shí)際上,使用一個(gè)處理器可能是唯一的選擇。其原因是,這些業(yè)務(wù)請(qǐng)求往往有嚴(yán)格的響應(yīng)時(shí)間要求,這樣,該數(shù)據(jù)庫(kù)必須在RAM存儲(chǔ)器中(而不是在磁盤上)實(shí)現(xiàn)。甚至在所有商用計(jì)算機(jī)系統(tǒng)中,都不可能具有一個(gè)以上的處理器對(duì)單個(gè)RAM存儲(chǔ)器進(jìn)行存取。若干處理器共亨RAM存儲(chǔ)器實(shí)現(xiàn)起來(lái)也是困難的,因?yàn)楸仨毐苊庵丿B存儲(chǔ)操作。
常規(guī)業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)采用累計(jì)計(jì)數(shù)器,并用單獨(dú)的處理器來(lái)計(jì)算差值。這不可能以可靠的方式來(lái)計(jì)算差值,或至少難以保證可靠的計(jì)數(shù)器值。這是因?yàn)椋趦蓚€(gè)記錄值之間,可能會(huì)發(fā)生異常情況(例如,在采用備份式處理器單元的系統(tǒng)中的處理器單元之間的切換)。另外,對(duì)于模塊/對(duì)象激活后的第一記錄間隔的處理,在系統(tǒng)控制中還需要外部智能,因?yàn)椋谶@些情況下,不存在前一計(jì)數(shù)器值,因而無(wú)法計(jì)算差值。
再者,還存在計(jì)數(shù)器翻轉(zhuǎn)的問(wèn)題,尤其當(dāng)由于某種原因例如因通過(guò)某一傳送連接(差值經(jīng)該連接傳送到管理系統(tǒng))而錯(cuò)過(guò)計(jì)數(shù)器的記錄時(shí)。
另外,在這種系統(tǒng)中,在一部分?jǐn)?shù)據(jù)表的行連續(xù)地剩下未被處理的情況下,不同對(duì)象的記錄間隔將具有不同的長(zhǎng)度。這也增加了系統(tǒng)管理的難度。
本發(fā)明的目的是為了消除上述缺陷并提供一種系統(tǒng),這種系統(tǒng)使得,(a)可用一種簡(jiǎn)單有效的方法記錄計(jì)數(shù)器值,和(b)在各種情況下,只記錄正確的計(jì)數(shù)器值。
利用根據(jù)本發(fā)明的一種方法可達(dá)到這一目的,這種方法在獨(dú)立權(quán)利要求中闡述。
本發(fā)明的思想是在一種數(shù)據(jù)庫(kù)中保存至少兩個(gè)與具體對(duì)象相關(guān)的時(shí)間標(biāo)記,在該數(shù)據(jù)庫(kù)中,每個(gè)對(duì)象都配置了若干個(gè)計(jì)數(shù)器組,這些計(jì)數(shù)器組按間隔使用,一方面用來(lái)增加計(jì)數(shù)器值,另一方面用來(lái)記錄計(jì)數(shù)器值。將這些與具體對(duì)象相關(guān)的時(shí)間標(biāo)記與(也保存在系統(tǒng)中的)間隔的變化時(shí)刻進(jìn)行比較,這些時(shí)間標(biāo)記用來(lái)確定其間可預(yù)先將當(dāng)前要被記錄和置零的計(jì)數(shù)器組置零的時(shí)間間隔。如果這些時(shí)間標(biāo)記中的任何一個(gè)以預(yù)期方式介于所討論的間隔的變化時(shí)刻之間,則該對(duì)象的惰態(tài)計(jì)數(shù)器組在最新結(jié)束的記錄間隔之前肯定已適當(dāng)?shù)乇恢昧恪?br> 根據(jù)一個(gè)優(yōu)選實(shí)施方式,單個(gè)測(cè)量計(jì)數(shù)器被成對(duì)地保存,這樣,第一計(jì)數(shù)器屬于第一計(jì)數(shù)器組而第二計(jì)數(shù)器屬于第二計(jì)數(shù)器組。在每隔一個(gè)的記錄間隔中,第一計(jì)數(shù)器組中的計(jì)數(shù)器被增值而第二計(jì)數(shù)器組中的計(jì)數(shù)器值被記錄和置零,又在每隔一個(gè)的記錄間隔中,第二計(jì)數(shù)器組中的計(jì)數(shù)器被增值而第一計(jì)數(shù)器組中的計(jì)數(shù)器值被記錄和置零。
只有當(dāng)兩個(gè)條件之一滿足時(shí),才能允許記錄,這一原則基于這樣的事實(shí)所討論的惰態(tài)計(jì)數(shù)器組最近被處理,這一處理不是在上一結(jié)束的記錄間隔中,而是在上一間隔之前的間隔中(或者甚至更早,如果有兩個(gè)以上的計(jì)數(shù)器組),這樣,所討論的行在上一記錄間隔期間是否到達(dá)無(wú)關(guān)緊要。換言之,例如就成對(duì)計(jì)數(shù)器而言,允許在第二和第三最新的間隔的變化時(shí)刻之間有行的最新處理標(biāo)記。
根據(jù)另一優(yōu)選實(shí)施方式,系統(tǒng)中所用的時(shí)間被劃分為離散的單元,使得,所有所用的時(shí)間標(biāo)記都是與分鐘讀數(shù)相應(yīng)的整數(shù)。該離散間隔(一分鐘)對(duì)應(yīng)于最短的可能的記錄間隔。
下面,參照根據(jù)附圖中圖4至11e的例子來(lái)詳述本發(fā)明及其優(yōu)選實(shí)施方式,在附圖中圖1示出了智能網(wǎng)的功能結(jié)構(gòu),圖2示出了智能網(wǎng)的物理結(jié)構(gòu),圖3說(shuō)明了事件記錄必不可少的SCP節(jié)點(diǎn)的各部分,圖4說(shuō)明了根據(jù)本發(fā)明的業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng),圖5a示出了說(shuō)明圖4的系統(tǒng)中所采用的循環(huán)規(guī)則的時(shí)間軸,圖5b示出了說(shuō)明圖4的系統(tǒng)中所采用的一般性循環(huán)規(guī)則的時(shí)間軸,圖6是說(shuō)明系統(tǒng)從空閑狀態(tài)轉(zhuǎn)變到正常工作狀態(tài)的流程圖,和圖7a至7d構(gòu)成了描述記錄和置零過(guò)程的進(jìn)程的流程圖。
圖8a至8e在時(shí)間軸上示出了第一系列確立計(jì)數(shù)器值的有效性的事件,圖9a至9d在時(shí)間軸上示出了第二系列確立計(jì)數(shù)器值的有效性的事件,圖10a至10e在時(shí)間軸上示出了第三系列確立計(jì)數(shù)器值的有效性的事件,和圖11a至11e在時(shí)間軸上示出了第四系列確立計(jì)數(shù)器值的有效性的事件。
圖4說(shuō)明了根據(jù)本發(fā)明的數(shù)據(jù)庫(kù)系統(tǒng)DBS,該系統(tǒng)可以處于例如智能網(wǎng)的SCP節(jié)點(diǎn)中。該數(shù)據(jù)庫(kù)包括至少一個(gè)基本數(shù)據(jù)表BT和至少一個(gè)包含很多連續(xù)的行的測(cè)量表MT。本圖示出了一個(gè)基本表和三個(gè)測(cè)量表。
基本表中的一行對(duì)應(yīng)于一個(gè)單獨(dú)的測(cè)量對(duì)象(例如,一個(gè)用戶)。對(duì)象標(biāo)識(shí)符OI位于行的起始處。一個(gè)基本表中的這些對(duì)象屬于同一測(cè)量對(duì)象類別;換言之,一個(gè)基本表中的這些對(duì)象是同一類型的。該基本表中的一個(gè)對(duì)象可包括在幾個(gè)不同的測(cè)量表MT中,例如,同一用戶可包括在一個(gè)記錄間隔例如為5分鐘的呼叫計(jì)數(shù)測(cè)量中,和包括在一個(gè)記錄間隔例如為24小時(shí)的呼叫計(jì)數(shù)測(cè)量中。另外,基本表中的每一行都包括這樣一些參數(shù),這些參數(shù)表示所討論的對(duì)象作為一個(gè)激活對(duì)象包括在哪些測(cè)量組中。以后,這些參數(shù)的標(biāo)識(shí)符用ObiActj(j=1…測(cè)量組的個(gè)數(shù))表示。這些參數(shù)值可由用戶設(shè)定。
單個(gè)測(cè)量表由標(biāo)題行HR和連續(xù)的行Ri(i=1…n)構(gòu)成。測(cè)量表的單一一行Ri包括與具體對(duì)象相關(guān)的參數(shù)和專用的一組與具體測(cè)量組相關(guān)的計(jì)數(shù)器。每個(gè)測(cè)量表都構(gòu)成一個(gè)如前面所述的特定測(cè)量組。因此,每個(gè)測(cè)量表都包括一些為其進(jìn)行同樣測(cè)量的對(duì)象。例如,圖中的一個(gè)測(cè)量表可能包括一些正為其進(jìn)行呼叫計(jì)數(shù)記錄的用戶,第二個(gè)表可能包括一些正為其進(jìn)行事件計(jì)數(shù)器記錄的用戶,而第三個(gè)表可能包括一些正為其進(jìn)行呼叫長(zhǎng)度記錄的用戶。正如前面所述,即使一個(gè)類型的測(cè)量(例如,呼叫計(jì)數(shù)記錄)也可以有幾個(gè)不同的測(cè)量表。
整個(gè)測(cè)量組的公共參數(shù)位于測(cè)量表的標(biāo)題行HR中。這些參數(shù)將在后面進(jìn)行描述。
業(yè)務(wù)邏輯程序?qū)嵗齋LPi要讀出基本表BT中的行,所以基本表的行也包括用于產(chǎn)生該業(yè)務(wù)的參數(shù)。不過(guò),由于它們不屬于本發(fā)明的范圍,因此這里不對(duì)它們作詳細(xì)描述。
SSP所發(fā)送的業(yè)務(wù)請(qǐng)求SR含有用戶(對(duì)象)標(biāo)識(shí)符。當(dāng)SCP接收到這種業(yè)務(wù)請(qǐng)求時(shí),便生成一個(gè)業(yè)務(wù)邏輯程序的業(yè)務(wù)邏輯程序?qū)嵗齋LPi,然后這一實(shí)例開始為這一業(yè)務(wù)請(qǐng)求服務(wù)。這可用一種已知的方法來(lái)實(shí)現(xiàn),使得,包括在本系統(tǒng)中的業(yè)務(wù)邏輯執(zhí)行塊SLE通過(guò)拷貝存儲(chǔ)在塊SLPT中的業(yè)務(wù)邏輯程序模板,生成一個(gè)業(yè)務(wù)邏輯實(shí)例SLPi。這一拷貝(即SLPi)被應(yīng)用于所接收的業(yè)務(wù)請(qǐng)求。業(yè)務(wù)邏輯執(zhí)行塊SLE從存儲(chǔ)呼入業(yè)務(wù)請(qǐng)求的緩沖器BF中檢索業(yè)務(wù)請(qǐng)求。
SLPi讀出業(yè)務(wù)請(qǐng)求中的用戶標(biāo)識(shí)符,然后,從基本表中讀出與該標(biāo)識(shí)符對(duì)應(yīng)的行。從該行中,SLPi找出參數(shù)ObjActj(j=1,2…)的值。如果該對(duì)象是激活的,則SLPi根據(jù)包括所討論對(duì)象的測(cè)量表的標(biāo)題行辨別該測(cè)量組是否也是激活的。這用包括在該測(cè)量表的標(biāo)題行中的參數(shù)來(lái)指示,這一參數(shù)以后將用名稱ActNew表示。如果該對(duì)象和測(cè)量組均是激活的,則SLPi增加位于測(cè)量表的所討論對(duì)象的行中的一個(gè)或多個(gè)計(jì)數(shù)器的值。正如圖4所示,用戶通過(guò)管理系統(tǒng)(SMP)給出參數(shù)ObjActj和ActNew的值。由于參數(shù)ObjActj以后將被認(rèn)為是一個(gè)與特定測(cè)量組相關(guān)的參數(shù),因此指示測(cè)量組的下標(biāo)j將被省略。
位于測(cè)量表的行中的計(jì)數(shù)器最好是成對(duì)的,使得,在該行中形成用標(biāo)記CG1和CG2表示的兩個(gè)計(jì)數(shù)器組。這些組包括相同的計(jì)數(shù)器(在一個(gè)組中的一個(gè)或多個(gè)計(jì)數(shù)器),這意味著,一個(gè)組中的每個(gè)計(jì)數(shù)器,在其他組中都有一個(gè)相應(yīng)的計(jì)數(shù)器。這些計(jì)數(shù)器依次被增值,使得,時(shí)間軸被分為連續(xù)的記錄間隔TP,其中每隔一個(gè)用標(biāo)記F表示,而中間的一個(gè)用標(biāo)記T表示,如圖5a所示。在記錄間隔F期間,例如計(jì)數(shù)器組CG1中的計(jì)數(shù)器被增值,而在記錄間隔T期間,計(jì)數(shù)器組CG2中的計(jì)數(shù)器被增值,(反之亦然)。依次在每一時(shí)刻的間隔由保存在測(cè)量表的標(biāo)題行中的奇偶性參數(shù)來(lái)確定。當(dāng)SLPi讀出測(cè)量表中的標(biāo)題行時(shí),它也讀出奇偶性參數(shù)的值,并因此識(shí)別出它必須增加位于測(cè)量表的行中的哪個(gè)計(jì)數(shù)器的值。奇偶性參數(shù)是一個(gè)可以具有值T(真)或F(假)的布爾變量,這就是為何圖中每隔一個(gè)時(shí)間間隔用標(biāo)記T表示,而中間的時(shí)間間隔用標(biāo)記F表示的原因。
上述循環(huán)規(guī)則對(duì)應(yīng)于計(jì)數(shù)器成對(duì)的本發(fā)明的優(yōu)選實(shí)施方式。不過(guò),這種循環(huán)規(guī)則也可應(yīng)用到每個(gè)計(jì)數(shù)器有兩個(gè)以上拷貝的情況。這種一般性規(guī)則如圖5b所示,其中每個(gè)計(jì)數(shù)器有N個(gè)拷貝,這樣,與測(cè)量對(duì)象對(duì)應(yīng)的測(cè)量表的行包括與特定測(cè)量組相關(guān)的N組計(jì)數(shù)器(其中,每個(gè)組包括一個(gè)或多個(gè)計(jì)數(shù)器)。當(dāng)有兩個(gè)以上的拷貝計(jì)數(shù)器時(shí),時(shí)間軸也可分為連續(xù)的記錄間隔(TP),使得,在每個(gè)記錄間隔中,只有某個(gè)計(jì)數(shù)器組的值被增加,并且將需要增值的計(jì)數(shù)器組從一個(gè)記錄間隔切換到另一個(gè)記錄間隔。由于有N個(gè)計(jì)數(shù)器組,因此,每N個(gè)記錄間隔有一個(gè)選定的計(jì)數(shù)器組被增值。單個(gè)計(jì)數(shù)器組中的計(jì)數(shù)器值的記錄和置零在這樣一些記錄間隔期間被執(zhí)行,這些記錄間隔介于所討論的計(jì)數(shù)器組中的計(jì)數(shù)器被增值的記錄間隔之間。記錄和置零被分配于所討論的記錄間隔中的這種方法也可以變化。某個(gè)計(jì)數(shù)器組的記錄和置零例如往往可以在一個(gè)記錄間隔期間進(jìn)行。如果記錄和置零不能完成,則可在另一個(gè)記錄間隔中繼續(xù)進(jìn)行,前提是與該特定記錄間隔對(duì)應(yīng)的計(jì)數(shù)器組的記錄和置零已經(jīng)完成。這樣,能夠有效地利用可用時(shí)間,但運(yùn)行邏輯變得更復(fù)雜了。
不過(guò),由于計(jì)數(shù)器的成對(duì)是優(yōu)選實(shí)施方式,因此,以下將以它作為例子。然而,必須注意,N越大,需要被記錄的與特定組相關(guān)的記錄間隔的變化時(shí)刻的數(shù)目越多。另外,N的值的增大改變了這樣一些時(shí)間標(biāo)記,這些時(shí)間標(biāo)記用來(lái)確定其間可預(yù)先將當(dāng)前要被記錄和置零的計(jì)數(shù)器組置零的間隔。例如,當(dāng)N=3,則第四和第三最新的間隔的變化時(shí)刻限制了所述間隔(假定,例如總是只在一個(gè)記錄間隔期間執(zhí)行某一計(jì)數(shù)器組的記錄和置零)。
業(yè)務(wù)邏輯程序?qū)嵗齋LPi獨(dú)立地執(zhí)行一些事件計(jì)數(shù)器的增值,這意味著,即使它檢測(cè)到所討論的測(cè)量組和測(cè)量對(duì)象是激活的,它也盲目地增加這些計(jì)數(shù)器值。另一方面,測(cè)量程序塊執(zhí)行這些行中的計(jì)數(shù)器的記錄和置零。測(cè)量程序塊可以包括用于對(duì)每個(gè)測(cè)量組中的計(jì)數(shù)器進(jìn)行記錄和置零的子塊CRj。另外,該測(cè)量程序塊(或子塊CRj)在每個(gè)記錄間隔TP的起點(diǎn)處,通過(guò)轉(zhuǎn)換奇偶性值來(lái)控制計(jì)數(shù)器的變化時(shí)刻。在SLPi增加計(jì)數(shù)器組CG1中的計(jì)數(shù)器值的記錄間隔中,測(cè)量程序決對(duì)計(jì)數(shù)器組CG2中的計(jì)數(shù)器進(jìn)行處理,而在SLPi增加計(jì)數(shù)器組CG2中的計(jì)數(shù)器值的記錄間隔中,測(cè)量程序塊對(duì)計(jì)數(shù)器組CG1中的計(jì)數(shù)器進(jìn)行處理。因此,計(jì)數(shù)器增值(或者說(shuō),記錄事件)用與計(jì)數(shù)器記錄和置零過(guò)程分開的一個(gè)過(guò)程來(lái)進(jìn)行,所述分開的過(guò)程只需利用奇偶性參數(shù)的值而無(wú)需知道有關(guān)計(jì)數(shù)器記錄過(guò)程進(jìn)行階段的其他事情。以后,這些其值正被增加的計(jì)數(shù)器被稱為激活計(jì)數(shù)器,而那些其值正被記錄和置零的計(jì)數(shù)器被稱為惰態(tài)計(jì)數(shù)器。在某一記錄間隔期間被增加的計(jì)數(shù)器值于是在緊隨所討論記錄間隔的記錄間隔期間被處理。另一方面,在該隨后的記錄間隔期間,上一記錄間隔期間被處理的計(jì)數(shù)器組被增值。應(yīng)當(dāng)知道,盡管這一描述談到了記錄和置零過(guò)程,但這指的是計(jì)數(shù)器值的記錄及其置零的處理過(guò)程。計(jì)數(shù)器值不必立刻寫入記錄文件,而可以例如將計(jì)數(shù)器值發(fā)送到一個(gè)外部系統(tǒng)。該過(guò)程在測(cè)量對(duì)象的單一處理期間未必進(jìn)行記錄和置零,而能跳過(guò)這兩者或只進(jìn)行置零。
該系統(tǒng)的另一個(gè)必不可少的部件是喚醒定時(shí)器TM,該定時(shí)器用于使處理器PR以短間隔WP(圖5a和5b)啟動(dòng)測(cè)量程序塊(對(duì)計(jì)數(shù)器進(jìn)行記錄和置零)。喚醒間隔的長(zhǎng)度可以是例如10秒,這意味著該喚醒間隔相對(duì)于記錄間隔TP而言是非常短的。該一個(gè)或多個(gè)喚醒定時(shí)器可能是與特定組相關(guān)的或幾個(gè)測(cè)量組公用的。
利用一個(gè)用戶指定的參數(shù),可逐個(gè)測(cè)量組地確定最大對(duì)象數(shù),測(cè)量程序塊可在一個(gè)執(zhí)行期間(即在一個(gè)喚醒期間)來(lái)處理這些對(duì)象的計(jì)數(shù)器。以后,這一參數(shù)將被稱為Batch。如果在記錄間隔期間(或者說(shuō),在檢測(cè)到記錄間隔的新的變化時(shí)刻之前)有足夠的時(shí)間對(duì)所有對(duì)象的惰態(tài)計(jì)數(shù)器組進(jìn)行處理,則為該測(cè)量組設(shè)置一個(gè)標(biāo)志,作為在所討論的記錄間隔期間不再需要對(duì)測(cè)量對(duì)象進(jìn)行處理的一個(gè)標(biāo)記。即便利用喚醒定時(shí)器仍會(huì)以短間隔喚醒計(jì)數(shù)器的記錄和置零過(guò)程,在所討論的間隔期間也不再對(duì)測(cè)量對(duì)象進(jìn)行處理。
正如前面所述,最好使同一處理器既執(zhí)行測(cè)量程序又執(zhí)行業(yè)務(wù)邏輯程序SLPi。圖4中,這一公共處理器用標(biāo)記PR表示。測(cè)量程序的執(zhí)行總是在該間隔WP已過(guò)去時(shí)由定時(shí)器TM來(lái)啟動(dòng)。
具有其數(shù)據(jù)表的數(shù)據(jù)庫(kù)以及測(cè)量程序和業(yè)務(wù)邏輯程序可以都置于同一RAM存儲(chǔ)器中,而該系統(tǒng)還可以使具有其數(shù)據(jù)表的數(shù)據(jù)庫(kù)置于磁盤上。這樣,系統(tǒng)包括了兩個(gè)處理器,使得,其中一個(gè)處理器執(zhí)行業(yè)務(wù)邏輯程序,而另一個(gè)處理器處理保存在磁盤上的計(jì)數(shù)器值??傊承┐鎯?chǔ)區(qū)MA1…MA3與配置了測(cè)量程序塊、業(yè)務(wù)邏輯程序塊和具有其數(shù)據(jù)表的數(shù)據(jù)庫(kù)的處理器相關(guān)聯(lián)。業(yè)務(wù)執(zhí)行塊的存儲(chǔ)區(qū)用標(biāo)記MA4表示,而業(yè)務(wù)邏輯模板存儲(chǔ)區(qū)用標(biāo)記MA5表示。然而,正如以上所述,對(duì)于響應(yīng)時(shí)間而言,最好是使用RAM存儲(chǔ)器和一個(gè)處理器。
如果在所分配的記錄間隔TP中沒(méi)有足夠的時(shí)間對(duì)所有對(duì)象(用戶)的惰態(tài)計(jì)數(shù)器組進(jìn)行處理,例如由于處理器過(guò)載,則還剩下一些對(duì)象未被處理。原則上,未完成的任務(wù)不能堆積。不過(guò),記錄和置零過(guò)程利用與特定行相關(guān)的時(shí)間標(biāo)記來(lái)標(biāo)記所處理過(guò)的那些行。(如果有未被處理的行,則不可能被寫入記錄文件并且計(jì)數(shù)器不被置零。)業(yè)務(wù)邏輯程序?qū)嵗つ康卦黾影ㄎ刺幚淼男猩系挠?jì)數(shù)器在內(nèi)的所有計(jì)數(shù)器的值。然而,這些行以后不能被處理,因?yàn)樗鼈兊闹挡辉賮?lái)自長(zhǎng)度為記錄間隔的一個(gè)間隔,例如5分鐘的間隔。當(dāng)測(cè)量程序開始處理這些行時(shí),分別檢查計(jì)數(shù)器值是否能寫入記錄文件。因此,雖然這些計(jì)數(shù)器值盲目地被增加,但在隨后的處理間隔期間,檢查其值是否有效,可否寫入記錄文件。
利用快速重復(fù)的喚醒,可以處理不同測(cè)量組的變化的記錄間隔。因此,對(duì)于不同測(cè)量組所具有的不同長(zhǎng)度的每個(gè)記錄間隔,系統(tǒng)不包含各自的計(jì)數(shù)器(定時(shí)器),但系統(tǒng)卻有唯一一個(gè)以短間隔例如每10秒鐘喚醒測(cè)量程序的計(jì)數(shù)器。在每一喚醒期間,測(cè)量程序檢查它是否必須開始對(duì)與具體對(duì)象相關(guān)的計(jì)數(shù)器進(jìn)行處理(記錄和置零)。于是,例如在處理器過(guò)載的情況下,可以確信,在過(guò)載減輕的某點(diǎn)處,該定時(shí)器將計(jì)滿而該定時(shí)器所觸發(fā)的記錄和置零過(guò)程知道在每一情況下它必須做什么。因此,利用一種比使用一些單獨(dú)的定時(shí)器更容易的方法,來(lái)解決處理器滯后問(wèn)題。如果使用單獨(dú)的定時(shí)器,由于定時(shí)器總是被置為同一間隔值,因此,由超負(fù)荷的處理器負(fù)載所造成的滯后會(huì)引起一些問(wèn)題。這樣的話,則應(yīng)當(dāng)用某種方法來(lái)處理該時(shí)間和觸發(fā)時(shí)刻之間的同步。
下面是根據(jù)本發(fā)明的一種系統(tǒng)中必不可少的參數(shù)的描述。下列參數(shù)是測(cè)量對(duì)象組的公共參數(shù),這些參數(shù)包括在每個(gè)測(cè)量表MT的標(biāo)題行中
<p>參數(shù)類型為整數(shù)變量I、布爾變量B和實(shí)時(shí)標(biāo)記D(日、時(shí)、分、秒)。記錄間隔的長(zhǎng)度以分鐘數(shù)給出。
用戶可以定義測(cè)量組激活參數(shù)ActNew、記錄間隔長(zhǎng)度IntervNew和某段時(shí)間所處理的最多行數(shù)Batch的值。表中所列的其他參數(shù)是系統(tǒng)內(nèi)部參數(shù),它們不能被用戶定義。指示最新記錄間隔的變化時(shí)刻(LatInterTime)、第二最新記錄間隔的變化時(shí)刻(SecondInterTime)、再以前的記錄間隔的變化時(shí)刻(ThirdInterTime)和下一記錄間隔的變化時(shí)刻(FollInterTime)的時(shí)間標(biāo)記最好是分鐘指示值,使得它們?yōu)檎麛?shù)變量類型,因?yàn)橄到y(tǒng)中所用的時(shí)間是離散的。
最新奇偶性的變化時(shí)刻(LatParityTime)和此前的奇偶性的變化時(shí)刻(PreParityTime)也必須被保留,因?yàn)樗鼈兺ǔ2皇蔷_地與所確定的記錄間隔的變化時(shí)刻一樣。其原因是,如果測(cè)量程序例如每10秒啟動(dòng),則奇偶性的變化時(shí)刻一般比所確定的記錄間隔的變化時(shí)刻遲幾秒鐘。因此,需要這些參數(shù),以便可以確定由其得到計(jì)數(shù)器值的準(zhǔn)確的間隔的長(zhǎng)度。參數(shù)LatFinished指示在當(dāng)前記錄間隔期間一個(gè)測(cè)量表中的所有行的處理是否已完成(計(jì)數(shù)器值是否已被記錄和置零)。
測(cè)量表中的單一一行至少包括下列與特定測(cè)量對(duì)象相關(guān)的參數(shù)
與特定行相關(guān)的時(shí)間標(biāo)記(LatMade和PreMade)是分鐘指示值,類似于指示記錄間隔的變化時(shí)刻的參數(shù)。以后,這些與特定行相關(guān)的時(shí)間標(biāo)記用標(biāo)記P(PreMade)和標(biāo)記L(LatMade)來(lái)表示。
圖4示出了位于測(cè)量組的對(duì)象行和標(biāo)題行中的這些參數(shù)。
圖6示出了系統(tǒng)從空閑狀態(tài)600轉(zhuǎn)換到正常工作狀態(tài)即所謂熱啟動(dòng)狀態(tài)700的流程圖。當(dāng)系統(tǒng)接收到所謂冷啟動(dòng)信號(hào)時(shí)(階段601),與特定模塊相關(guān)的標(biāo)志(參數(shù)Alive)被置為零,以指示所討論的激活是一個(gè)冷啟動(dòng)(階段602)。接著,在階段603使喚醒定時(shí)器(TM,如圖4)在短喚醒間隔(WP,如圖5a)后計(jì)滿,然后系統(tǒng)轉(zhuǎn)變到所謂熱啟動(dòng)狀態(tài)700。
圖7a至7d示出了測(cè)量程序塊所執(zhí)行的記錄和置零過(guò)程的進(jìn)程的流程圖。當(dāng)該過(guò)程處于熱啟動(dòng)狀態(tài)并且定時(shí)器TM計(jì)滿(階段701)時(shí),計(jì)數(shù)器的記錄和置零過(guò)程開始。在最終階段,使定時(shí)器又在預(yù)定時(shí)間WP后計(jì)滿(階段745,如圖7d)。當(dāng)定時(shí)器又計(jì)滿時(shí),便又執(zhí)行一遍記錄過(guò)程,然后象前面階段中那樣,使定時(shí)器又計(jì)滿。正如以上所述,計(jì)滿之間的間隔可以是例如10秒鐘。實(shí)際上,測(cè)量表的一行的一個(gè)執(zhí)行過(guò)程所用的時(shí)間可能是約50μs,因此,如果在10個(gè)不同的模塊中在某段時(shí)間有例如100行要處理時(shí),則一個(gè)執(zhí)行所用的時(shí)間約50ms。
當(dāng)定時(shí)器已計(jì)滿時(shí),系統(tǒng)進(jìn)到階段702,在此,從模塊的標(biāo)題行中檢索當(dāng)前時(shí)間的值和模塊(或者說(shuō),測(cè)量組)參數(shù)。該當(dāng)前時(shí)間的值等同于定時(shí)器計(jì)滿的時(shí)刻,并且這一值在由計(jì)滿(喚醒)引起的一個(gè)執(zhí)行所占用的整個(gè)時(shí)間段內(nèi)保持相同。這一時(shí)間值用來(lái)確定當(dāng)前分鐘指示值(例如,以某年的起始點(diǎn)來(lái)計(jì))。正如前面所述,本系統(tǒng)中所用的時(shí)間是離散的。優(yōu)選離散間隔是一分鐘,同時(shí),這是最短的可能的記錄間隔。
該程序從測(cè)量表的標(biāo)題行中檢索用戶可指定的參數(shù)ActNew、IntervNew和Batch的值。接著,程序在階段703a中檢測(cè)所討論的激活是否是冷啟動(dòng)信號(hào)后記錄過(guò)程的第一次激活。這通過(guò)檢測(cè)與上述模塊相關(guān)的標(biāo)志的值是否為零來(lái)實(shí)現(xiàn)。如果為零,則程序在階段703b中檢測(cè)與用戶指定的模塊相關(guān)的激活參數(shù)ActNew的值是否大于零(或者說(shuō),模塊是否已被激活)。如果大于零,則將上述參數(shù)的值置為ActNew=1,它表示該用戶所完成的最新的模塊激活,而冷啟動(dòng)標(biāo)志被關(guān)掉,或者說(shuō),將參數(shù)Alive的值置為1(階段704)。據(jù)此,只有通過(guò)冷啟動(dòng)并當(dāng)模塊激活時(shí),才進(jìn)到階段704。在任何其他情況下,程序從階段703a或703b進(jìn)到階段705,在此,程序檢測(cè)所討論的模塊是否連續(xù)為惰態(tài)(測(cè)量是否還未被激活)。這通過(guò)檢測(cè)使用中的激活參數(shù)Act是否小于或等于零以及用戶指定的激活參數(shù)ActNew是否也小于或等于零(或者說(shuō),是不是模塊激活參數(shù)的原值為零而新值也為零)來(lái)實(shí)現(xiàn)。如果是(或者說(shuō),模塊連續(xù)為惰態(tài)),則程序直接進(jìn)到階段745,在此,使喚醒定時(shí)器TM又計(jì)滿。
如果不是這樣,則程序進(jìn)到階段706,在此,檢測(cè)在計(jì)數(shù)器記錄和置零過(guò)程的最新喚醒后(測(cè)量已被終止)模塊是否已切換到惰態(tài)。這通過(guò)檢測(cè)使用中的激活參數(shù)Act是否大于零以及用戶指定的激活參數(shù)ActNew是否小于或等于零來(lái)實(shí)現(xiàn)。如果是,則將使用中的激活參數(shù)置為零。這在階段708中被實(shí)現(xiàn),但是只有在該時(shí)刻適合計(jì)數(shù)器值的記錄和置零過(guò)程進(jìn)行所討論的變化時(shí),程序才能進(jìn)到這一階段。該時(shí)刻的合適與否在階段707中被檢測(cè),在此,程序檢測(cè)所有的行是否已被處理完或者記錄間隔的下一變化時(shí)刻是否已過(guò)去。這通過(guò)檢測(cè)參數(shù)LatFinished的值是否為1或者激活時(shí)所確定的參數(shù)CurrentMinute的值是否大于或等于指示下一個(gè)預(yù)期的間隔的變化時(shí)刻的參數(shù)FollInterTime的值來(lái)實(shí)現(xiàn)。
當(dāng)在階段708中通過(guò)將使用中的激活參數(shù)置為零而終止測(cè)量模塊時(shí),程序直接到終點(diǎn),在此,使定時(shí)器又計(jì)滿。
如果變化時(shí)刻還不合適或模塊尚未被終止(或者說(shuō),如果模塊是激活的),則程序在階段709中檢測(cè)在前一執(zhí)行后模塊是否被切換到激活狀態(tài),或者說(shuō),在前一執(zhí)行后模塊是否被起動(dòng)。這通過(guò)檢測(cè)用戶指定的激活參數(shù)ActNew的值是否小于100(用戶的激活對(duì)應(yīng)于值1,表示模塊正被激活)來(lái)實(shí)現(xiàn)。如果是,即,如果在前一喚醒后模塊已被起動(dòng),則程序進(jìn)到初始化階段710。在任何其他情況下,程序進(jìn)到階段711,在此,檢測(cè)記錄間隔的長(zhǎng)度是否已改變。
在上述的階段704中,用戶指定的激活參數(shù)ActNew的值因此被人為地置為1,使得,在所有必要的情況下,程序可從階段709進(jìn)到初始化階段710。這種情況可以是例如在備份式計(jì)算機(jī)系統(tǒng)中出現(xiàn)的切換。當(dāng)后備方啟動(dòng)(冷啟動(dòng))時(shí),這可以確保,即使在切換出現(xiàn)時(shí)與用戶指定的模塊相關(guān)的激活參數(shù)具有一個(gè)指示激活狀態(tài)的值(本例中,值為1或101),記錄過(guò)程也將進(jìn)到初始化階段710。因此該切換不需要任何附加操作,而即使在測(cè)量組已激活的情況下系統(tǒng)也按照用戶剛激活了測(cè)量組的情況運(yùn)行。
在初始化階段710中,使用中的激活參數(shù)Act被賦予用戶指定的參數(shù)ActNew的值,指示使用中的記錄間隔的長(zhǎng)度的參數(shù)Interv被賦予用戶定義的參數(shù)IntervNew的值,而用戶指定的激活參數(shù)的值增加了100,使得,此后在階段709中可以檢測(cè)到模塊此刻尚未被激活。另外,將時(shí)間標(biāo)記LatInterTime、SecondInterTime、ThirdInterTime和FollInterTime置為上舍入到下一整分鐘的當(dāng)前時(shí)間(CurrentMinute)的值。
與特定模塊相關(guān)的參數(shù)于是必須初始化到一個(gè)遲于激活時(shí)間的時(shí)間。這種恰當(dāng)?shù)某跏蓟绕浯_保了所有與原行相關(guān)的時(shí)間標(biāo)記早于或等于間隔的變化時(shí)刻,這樣,判斷程序是否寫記錄文件的不等式(以后描述)也就是真或假,而與例如與具體對(duì)象相關(guān)的測(cè)量被起動(dòng)的時(shí)間無(wú)關(guān)。
在初始化階段,將奇偶性變量Parity的值置為零,而將參數(shù)LatFinished的值置為1,使得,在模塊起動(dòng)后的第一不足分鐘期間,不對(duì)測(cè)量表的行進(jìn)行處理。另外,系統(tǒng)保存關(guān)于兩個(gè)最新的奇偶性的變化時(shí)刻的信息。在初始化階段,將這些參數(shù)(LatParityTime和PreParityTime)置為一個(gè)指示當(dāng)前確切時(shí)間的時(shí)間標(biāo)記(日、時(shí)、分、秒)。
在階段711中,如上所述,程序檢測(cè)記錄間隔的長(zhǎng)度是否已改變。這通過(guò)檢測(cè)新值(IntervNew)是否等于原值(Interv)來(lái)實(shí)現(xiàn)。如果是(或者說(shuō),沒(méi)有改變),則程序直接進(jìn)到階段716,在此檢測(cè)預(yù)期的記錄間隔的變化時(shí)刻是否已經(jīng)到來(lái)或已過(guò)去。
如果用戶已經(jīng)改變了記錄間隔的值,則在階段713中將該值更新為新的記錄間隔的值,并在階段715中計(jì)算下一記錄間隔的變化時(shí)刻。不過(guò),這些操作只有在當(dāng)前時(shí)刻合適時(shí)才被執(zhí)行。該時(shí)刻的合適與否在階段712中通過(guò)執(zhí)行與階段707中相同的檢測(cè)來(lái)檢測(cè)。于是,只有當(dāng)在當(dāng)前記錄間隔期間有足夠的時(shí)間來(lái)處理所有的行,或者當(dāng)下一記錄間隔的變化時(shí)刻(它根據(jù)記錄間隔的原長(zhǎng)度來(lái)計(jì)算,或在模塊激活情況下在階段710中被初始化到下一整分鐘)已經(jīng)到來(lái)或已過(guò)去,才執(zhí)行這些操作(階段713中的更新)。如果這兩個(gè)條件有一個(gè)被滿足,則在階段713中將記錄間隔的長(zhǎng)度更新為其新值。在下一記錄間隔的變化時(shí)刻的更新(階段715)可被執(zhí)行之前,有一個(gè)附加條件必須被滿足并在階段714中被檢測(cè)。在這一階段中,程序檢測(cè)自模塊激活以后第一整分鐘的變化是否已過(guò)去。這通過(guò)檢測(cè)FollInterTime的值是否等于參數(shù)LatInterTime的值(這些值直到第一整分鐘后第一喚醒出現(xiàn)時(shí)才相等;當(dāng)?shù)谝徽昼娨堰^(guò)去后,參數(shù)FollInterTime立刻被更新,如后面所述)來(lái)實(shí)現(xiàn)。如果這些值不相等,則該第一分鐘已過(guò)去而程序可執(zhí)行下一變化時(shí)刻的更新。因此,模塊的激活時(shí)刻后的第一間隔的變化時(shí)刻(FollInterTime)總是被置為第一整分鐘,只有在此以后,才被置為例如數(shù)小時(shí),如果新的記錄間隔的長(zhǎng)度為一小時(shí)的話。因此,這一第一間隔的變化時(shí)刻(第一整分鐘)是指示間隔的變化時(shí)刻的時(shí)間標(biāo)記在階段710中所初始化的時(shí)刻。所期望的是,程序在模塊激活后的第一不足分鐘期間并不對(duì)行進(jìn)行處理。為此,在階段710中將參數(shù)LatFinished的值置為1。這是因?yàn)?,與特定行相關(guān)的處理標(biāo)記無(wú)論如何都將被置為下一分鐘,這樣,在第一不足分鐘期間所做的任何行的處理不被利用(因?yàn)樵谶@種情況下,與特定行相關(guān)的標(biāo)記沒(méi)有指示它是原標(biāo)記還是新標(biāo)記,或者說(shuō),它出現(xiàn)在激活前的時(shí)間還是在激活后的時(shí)間)。因此,僅在第一整分鐘后才進(jìn)行模塊激活后的行處理(記錄和置零計(jì)數(shù)器值)。
為下一間隔的變化時(shí)刻計(jì)算一個(gè)新的估算(階段715),使得,首先將當(dāng)前分鐘(CurrentMinute)的值除以記錄間隔的長(zhǎng)度并保存余數(shù)。通過(guò)將當(dāng)前分鐘減去所得到的余數(shù)來(lái)得到這一新的估算,并將記錄間隔的長(zhǎng)度與該差值相加(即,F(xiàn)ollInterTime:=CurrentMinute-mod(CurrentMinute/Interv)+Interv)。于是,根據(jù)該當(dāng)前時(shí)間和記錄間隔的長(zhǎng)度來(lái)確定下一變化時(shí)刻。因此,該計(jì)算不用考慮參數(shù)LatInterTime的值,因?yàn)椋缭谶^(guò)載情況下,處理器可能已滯后,這樣,相應(yīng)的滯后會(huì)出現(xiàn)在下一變化時(shí)刻的值中。
然后,程序在階段716中檢測(cè)下一記錄間隔的變化時(shí)刻是否已經(jīng)到來(lái)。這通過(guò)檢測(cè)參數(shù)CurrentMinute的值(或者說(shuō),忽略秒數(shù)時(shí)從時(shí)鐘時(shí)間得到的分鐘數(shù))是否大于或等于參數(shù)FollInterTime的值來(lái)實(shí)現(xiàn)。如果不是,則程序直接進(jìn)到階段720。在任何其他情況下,程序轉(zhuǎn)向階段718,在此,向前推進(jìn)與間隔的變化時(shí)刻有關(guān)的時(shí)間標(biāo)記。這樣,指示最新的記錄間隔的變化時(shí)刻的參數(shù)LatInterTime被賦予值CurrentMinute-mod(CurrentMinute/Interv),指示此前的記錄間隔的變化時(shí)刻的參數(shù)SecondInterTime被賦予參數(shù)LatInterTime的原值,而指示第三最新的記錄間隔的變化時(shí)刻的參數(shù)ThirdInterTime被賦予參數(shù)SecondInterTime的原值。此時(shí),程序于是不象參數(shù)LatInterTime的值那樣給出參數(shù)FollInterTime的值(即,已經(jīng)過(guò)去的變化時(shí)刻的值),而是根據(jù)當(dāng)前分鐘的值以上述方法來(lái)計(jì)算參數(shù)LatInterTime的值,使得,任何可能的處理器滯后都不會(huì)影響該參數(shù)的值。參數(shù)LatInterTime的值于是更新為等于下舍入到一個(gè)整分鐘的當(dāng)前時(shí)間減去上述余數(shù)的值,該余數(shù)用以補(bǔ)償任何滯后,其值一般為零。
然而,如果階段716中所檢測(cè)到的間隔的變化時(shí)刻是模塊激活后的第一整分鐘,那么時(shí)間標(biāo)記不向前推進(jìn)。這一事實(shí)可在階段717中通過(guò)利用與階段714中類似的檢測(cè)(即,如果此時(shí)參數(shù)Foll-InterTime的值不等于參數(shù)LatInterTime的值,則模塊激活后的第一整分鐘已經(jīng)過(guò)去)來(lái)檢測(cè)。在階段718中時(shí)間標(biāo)記推進(jìn)后,程序在階段719中為下一間隔的變化時(shí)刻計(jì)算一個(gè)新的值(或者說(shuō),F(xiàn)ollIn-terTime=CurrentMinute-mod(CurrentMinute/Interv)+Interv)。這也可以這樣來(lái)執(zhí)行,即在階段717中檢測(cè)間隔的變化時(shí)刻究竟是不是模塊激活后的第一整分鐘。在階段719中,程序還變換奇偶性值,并向前推進(jìn)最新和第二最新的奇偶性的變化時(shí)刻,使得,將參數(shù)LatParityTime置為當(dāng)前實(shí)際時(shí)間標(biāo)記的值,和將參數(shù)PreParity-Time置為參數(shù)LatParityTime的原值。另外,由于正進(jìn)行該行的處理,因此,此時(shí)將參數(shù)LatFinished置為零,使得,系統(tǒng)知道該行的處理還未結(jié)束。還應(yīng)注意,即便該行的處理未完成而程序檢測(cè)到間隔的變化時(shí)刻已經(jīng)過(guò)去,參數(shù)LatFinished仍被重置為零。
然后,程序在階段720(程序可能已直接從階段716到達(dá)該階段)中檢測(cè)該行的處理過(guò)程是否已結(jié)束,或者說(shuō),所有的行是否已經(jīng)被處理完(參數(shù)LatFinished的值是否為1)。如果是,則程序直接進(jìn)到階段745,在此將定時(shí)器復(fù)位。如果該行的處理未結(jié)束或如果還未開始(即,參數(shù)LatFinished的值為零),則程序進(jìn)到階段721,在此將該行的計(jì)數(shù)器初始化。接著,程序在模塊的測(cè)量表中讀下一行。如果順利讀出了新的行,則程序進(jìn)到階段725。在任何其他情況下,程序?qū)⑺行袠?biāo)記為已讀(將參數(shù)LatFinished置為值1,階段724),并且程序直接進(jìn)到階段745,在此使定時(shí)器又計(jì)滿。
在階段725中,程序從行中檢索對(duì)象的參數(shù),如用戶標(biāo)識(shí)符(OI)、與具體對(duì)象相關(guān)的激活參數(shù)(ObjAct)、最新行的處理的時(shí)間標(biāo)記(LatMade)和第二最新的行的處理的時(shí)間標(biāo)記(PreMade)。然后,將該行的計(jì)數(shù)器的值加1(階段726)。當(dāng)計(jì)數(shù)器值被增加后,程序進(jìn)到階段727,在此,檢測(cè)所討論的對(duì)象是否連續(xù)處于惰態(tài)。這通過(guò)檢測(cè)與具體對(duì)象相關(guān)的激活參數(shù)ObjAct的值是否為100(它被選定為檢測(cè)中所要用的值)來(lái)實(shí)現(xiàn)。如果是,則程序經(jīng)階段744進(jìn)到階段722,以便讀下一行(它是根據(jù)該行的計(jì)數(shù)器的值到達(dá)的),或者進(jìn)到階段745以設(shè)置定時(shí)器。在任何其他情況下,程序在階段728中檢測(cè)該對(duì)象在最新喚醒后是否可能被切換到惰態(tài)。這通過(guò)檢測(cè)與具體對(duì)象相關(guān)的激活參數(shù)ObjAct是否小于或等于零來(lái)實(shí)現(xiàn)。如果是,則與具體對(duì)象相關(guān)的激活參數(shù)的值被置為100,從現(xiàn)在開始它將表示該對(duì)象連續(xù)為惰態(tài)。這在階段729中實(shí)現(xiàn),程序由此直接進(jìn)到階段741。如果在階段728所進(jìn)行的檢測(cè)結(jié)果為否(或者說(shuō),對(duì)象是激活的),則程序進(jìn)到階段730,在此,檢測(cè)該對(duì)象在最新執(zhí)行后是否被切換到激活狀態(tài),或者說(shuō),與該對(duì)象有關(guān)的測(cè)量是否正好已被啟動(dòng)。這通過(guò)檢測(cè)與具體對(duì)象相關(guān)的激活參數(shù)ObjAct的值是否小于100而大于零(或者說(shuō),該值是否為1)來(lái)實(shí)現(xiàn)。如果是,即如果該對(duì)象正好已被激活,則程序進(jìn)到對(duì)象初始化階段732,在此,程序?qū)⑽挥谠撔兄械臅r(shí)間標(biāo)記LatMade和PreMade初始化為緊隨當(dāng)前分鐘的下一分鐘,并將該對(duì)象的激活參數(shù)置為該參數(shù)的上一個(gè)值(1)加100(ObjAct:=ObjAct+100)。然后,程序直接進(jìn)到階段741,在此檢查奇偶性值,隨后將一個(gè)或另一個(gè)計(jì)數(shù)器組置零(階段742或階段743)。將被復(fù)位的計(jì)數(shù)器組取決于奇偶性值。程序從這些階段進(jìn)到階段744,在此檢測(cè)該行的計(jì)數(shù)器是否已達(dá)到用戶指定的某段時(shí)間所處理的行數(shù)(Batch)。如果已達(dá)到,則程序進(jìn)到階段745,在此使定時(shí)器又計(jì)滿,而如果未達(dá)到,則程序返回到階段722,以便讀下一行。
如果程序在階段730中檢測(cè)到所討論的事件不是對(duì)象從惰態(tài)轉(zhuǎn)換到激活狀態(tài)的事件,則程序進(jìn)到階段734,在此檢測(cè)上述關(guān)于時(shí)間標(biāo)記P的不等式[ThirdInterTime]<P≤[SecondInterTime]是否成立(其中,中括號(hào)代表時(shí)間標(biāo)記的值)。如果成立,則程序直接跳到階段736,在此檢查奇偶性值,隨后根據(jù)奇偶性值,轉(zhuǎn)向讀出第一或第二計(jì)數(shù)器組的值(階段737或階段738)。然后,程序在階段739中寫記錄文件。如果與時(shí)間標(biāo)記P相關(guān)的不等式不成立,則程序在階段735中檢測(cè)與時(shí)間標(biāo)記L(LatMade)相關(guān)的不等式[ThirdInterTime]<L≤[SecondInterTime]是否成立,如果成立,則程序進(jìn)到階段736,以檢查奇偶性變量的值,程序由此按上述方式繼續(xù)進(jìn)行,直至寫記錄文件。除了將位于行中的模塊和對(duì)象標(biāo)識(shí)符以及與具體對(duì)象相關(guān)的計(jì)數(shù)器值寫入記錄文件之外,程序還將上述參數(shù)的值寫入記錄文件。
寫完以后,或如果與時(shí)間標(biāo)記L相關(guān)的不等式不成立而離開階段735后,程序進(jìn)到階段740,在此更新位于行中的這些時(shí)間標(biāo)記(標(biāo)記P和L)。標(biāo)記P被賦予標(biāo)記L的原值,而標(biāo)記L被賦予等于上舍入的當(dāng)前分鐘的值。時(shí)間標(biāo)記更新后,程序進(jìn)到階段741,以檢查奇偶性,過(guò)程由此按上述方式繼續(xù)進(jìn)行。因此,當(dāng)行已被處理完后,與特定行相關(guān)的時(shí)間標(biāo)記被更新。
因此,利用圖5a(或5b)所示的循環(huán)規(guī)則,以短間隔完成了上述計(jì)數(shù)器值的記錄和置零過(guò)程,其中,(奇偶性)參數(shù)的值在每一間隔中確定計(jì)數(shù)器組,該計(jì)數(shù)器組的值在每一行記錄的。
另外,應(yīng)當(dāng)注意,上述記錄和置零過(guò)程是處理一個(gè)測(cè)量表的描述。為了補(bǔ)充以上描述,可以認(rèn)為,當(dāng)記錄和置零過(guò)程檢測(cè)到模塊剛被激活時(shí)(階段709),時(shí)間標(biāo)記LatInterTime、Second-InterTime和ThirdInterTime被初始化(階段710)到最近的下一整分鐘,或者說(shuō),初始化到與時(shí)間標(biāo)記FollInterTime相同的時(shí)刻。在第一整分鐘后的喚醒期間,程序檢測(cè)到間隔的變化時(shí)刻FollInterTime已經(jīng)過(guò)去(階段716),但不必更新間隔的變化時(shí)刻LatInterTime、SecondInterTime和ThirdInterTime,因?yàn)樗鼈円呀?jīng)被初始化。換言之,程序直接從階段717進(jìn)到階段719,以更新下一預(yù)期的間隔的變化時(shí)刻FollInterTime。記錄和置零過(guò)程需要變化時(shí)刻LatInterTime、SecondInterTime和ThirdInterTime的上述初始化值,使得,這些時(shí)間標(biāo)記沒(méi)有一個(gè)會(huì)比其間程序檢測(cè)到模塊已被激活的喚醒的時(shí)間早。這使得例如僅在幾秒鐘后,就可啟動(dòng)模塊的去激活和其再激活。
根據(jù)圖8a至8e開始,下一節(jié)介紹了時(shí)間軸上作為例子的各個(gè)系列事件,這些事件利用上述過(guò)程驗(yàn)證計(jì)數(shù)器值的有效性。在這些例子中,假定,在每一記錄間隔中,記錄和置零過(guò)程至少有啟動(dòng)一次的時(shí)間,這樣,該過(guò)程可從標(biāo)記1推進(jìn)到標(biāo)記3。如果在該記錄間隔中,記錄和置零過(guò)程連啟動(dòng)一次的時(shí)間都沒(méi)有,那么僅此一個(gè)記錄間隔長(zhǎng)度反常,而在其他情況下不影響以下說(shuō)明。
圖中,圓圈中的數(shù)字1表示最新的記錄間隔的變化時(shí)刻(LatInterTime),圓圈中的數(shù)字2表示第二最新的記錄間隔的變化時(shí)刻(SecondInterTime),而圓圈中的數(shù)字3表示第三最新的記錄間隔的變化時(shí)刻(ThirdInterTime)。以下,這些時(shí)刻分別稱為時(shí)間標(biāo)記1、2和3。在第一記錄間隔的起點(diǎn),有一個(gè)小方格,它代表測(cè)量組作為一個(gè)組已被激活,即,激活參數(shù)已被設(shè)定。當(dāng)記錄和置零過(guò)程在激活后第一次啟動(dòng)時(shí),首先識(shí)別該變化。接著,記錄和置零過(guò)程將時(shí)間標(biāo)記1至3初始化到啟動(dòng)時(shí)的分鐘(到下一整分鐘,如以上階段710)。這些圖示出了單個(gè)測(cè)量對(duì)象的情況,該測(cè)量對(duì)象作為某一行存在于含有特定測(cè)量對(duì)象(如特定用戶)的一個(gè)表中。由于記錄和置零過(guò)程以短間隔重復(fù)地被啟動(dòng),因此,該過(guò)程通常有時(shí)間到達(dá)所討論的行。這一時(shí)刻在圖8a中用實(shí)心圓圈表示。如上所述,測(cè)量表的單一一行包含兩個(gè)時(shí)間標(biāo)記PreMade和LatMade,就對(duì)象初始化而言(本例中,假定對(duì)象也剛被初始化),過(guò)程將這些時(shí)間標(biāo)記初始化到所討論的時(shí)刻(下一整分鐘,如階段732)。此后該第一不完整的記錄間隔結(jié)束,過(guò)程進(jìn)入圖8b中所示的階段,在該階段,再對(duì)同一行進(jìn)行處理。此前,在記錄間隔的實(shí)際變化時(shí)刻后,記錄和置零過(guò)程已推進(jìn)了用圓圈表示的與特定測(cè)量組相關(guān)的參數(shù)(階段718),并且時(shí)間標(biāo)記1向前移動(dòng)。如果標(biāo)記P或L兩者中有一個(gè)處于標(biāo)記ThirdInterTime和SecondInterTime之間,使得,方程式[ThirdInterTime]<P≤[SecondInterTime]或方程式[ThirdInterTime]<L≤[SecondInterTime]成立,則所討論的計(jì)數(shù)器值可被寫入記錄文件中。換言之,如果這兩個(gè)方程式之一成立,則計(jì)數(shù)器在適當(dāng)?shù)臅r(shí)候已被置零,因此計(jì)數(shù)器值是可靠的。由于重要的只是在標(biāo)記ThirdInterTime和SecondInterTime之間計(jì)數(shù)器已被置零,因此,只要這兩個(gè)方程式之一成立就行。
第一整個(gè)記錄間隔內(nèi)(圖8b)所進(jìn)行的比較表明兩個(gè)不等式均不成立。比較用雙箭頭表示。
該比較結(jié)束后,時(shí)間標(biāo)記P和L的值被更新(階段740),使時(shí)間標(biāo)記L推進(jìn)到該行的當(dāng)前處理時(shí)刻,而時(shí)間標(biāo)記P被賦予時(shí)間標(biāo)記L的上一值(圖8b)。
下一記錄間隔即第二整個(gè)記錄間隔(圖8c)是這樣的,在該間隔期間沒(méi)有時(shí)間處理所討論的行(用該間隔中的一個(gè)空心圓標(biāo)記)。然而,時(shí)間標(biāo)記1和2卻向前推進(jìn),因?yàn)樵谟涗涢g隔的變化時(shí)刻之后,記錄和置零過(guò)程有時(shí)間至少啟動(dòng)一次并完成這一推進(jìn)。另一方面,該對(duì)象的時(shí)間標(biāo)記P和L未被更新,因?yàn)楸容^情況沒(méi)有達(dá)到。下一步,過(guò)程進(jìn)至圖8d,該圖說(shuō)明了該行的第三處理(實(shí)心圓圈表示該行可被處理的時(shí)刻)。此時(shí),時(shí)間標(biāo)記P和L滯后(圖8c),因?yàn)椋谏弦挥涗涢g隔期間沒(méi)有時(shí)間處理所討論的行。當(dāng)過(guò)程進(jìn)入該行并對(duì)它進(jìn)行處理時(shí),指示記錄間隔的變化時(shí)刻的時(shí)間標(biāo)記已經(jīng)具有如圖8d所示的值(因?yàn)樵陔A段718中它們被更新),反之,時(shí)間標(biāo)記P和L還是如圖8c中所示的原先值。這樣,時(shí)間標(biāo)記L位于時(shí)間標(biāo)記2和3之間,并允許寫入記錄文件。但時(shí)間標(biāo)記P不在時(shí)間標(biāo)記2和3之間。
因此,當(dāng)該行的處理開始時(shí),將行中的時(shí)間標(biāo)記(P和L)與當(dāng)前有效時(shí)間標(biāo)記1至3進(jìn)行比較,當(dāng)在當(dāng)前記錄間隔期間,記錄和置零過(guò)程第一次啟動(dòng)時(shí),時(shí)間標(biāo)記1至3已被更新。單獨(dú)一行中的時(shí)間標(biāo)記(P和L)僅在比較進(jìn)行以后才被向前推進(jìn)。當(dāng)所述行下一次被處理時(shí)(圖8e中用圓圈表示的時(shí)刻),時(shí)間標(biāo)記1至3具有如圖8e所示的值,因?yàn)樵诋?dāng)前記錄間隔的起始點(diǎn),它們已被推進(jìn),而時(shí)間標(biāo)記P和L具有如圖8d所示的值。當(dāng)將這些時(shí)間標(biāo)記與時(shí)間標(biāo)記2和3進(jìn)行比較時(shí),注意它們都不在時(shí)間標(biāo)記2和3之間,因此,不會(huì)寫記錄文件。這是因?yàn)椋谏弦惶幚黹g隔期間,沒(méi)有時(shí)間將該計(jì)數(shù)器置零。
圖9a至9d作為第二個(gè)例子示出了開頭部分相似的一系列事件,即,在第一不完整記錄間隔期間有時(shí)間處理該行(圖9a)。過(guò)程還可在下一整個(gè)記錄間隔期間到達(dá)所討論的行(圖9b)。但不可能寫記錄文件,因?yàn)樯鲜霾坏仁讲怀闪ⅰ.?dāng)該行進(jìn)入第三次處理時(shí)(圖9c),當(dāng)前時(shí)間標(biāo)記P位于時(shí)間標(biāo)記3和2之間,因此可寫入記錄文件。在下一記錄間隔中,這同樣是可能的,因?yàn)樵谶@種情況下,時(shí)間標(biāo)記P也在時(shí)間標(biāo)記1和2之間。因此,在每一記錄間隔期間,如果有時(shí)間對(duì)當(dāng)前行進(jìn)行處理,則時(shí)間標(biāo)記P連續(xù)地處于時(shí)間標(biāo)記3和2之間。
圖10a至10e作為第三個(gè)例子示出了稍有不同的一系列事件。在第一不完整記錄間隔期間有時(shí)間處理所討論的行和將記錄間隔的變化時(shí)刻向前推進(jìn)。然而,在下一記錄間隔中(圖10b,用空心圓指示的記錄間隔),沒(méi)有時(shí)間處理該行。當(dāng)?shù)竭_(dá)隨后的記錄間隔時(shí)(圖10c),又有足夠的時(shí)間完成該處理。此時(shí),注意時(shí)間標(biāo)記P和時(shí)間標(biāo)記L均在時(shí)間標(biāo)記3和2之間,因此可以寫記錄文件。在下一記錄間隔期間(圖10d),該行又可以被處理,但現(xiàn)在注意標(biāo)記P和L均不在時(shí)間標(biāo)記3和2之間。因此,不允許寫記錄文件。在再下一記錄間隔中(圖10e),該行又可以被處理,可以發(fā)現(xiàn),在該行的時(shí)間標(biāo)記中,時(shí)間標(biāo)記P位于時(shí)間標(biāo)記3和2之間。
圖11a至11e作為第四個(gè)例子示出了一系列事件,其中,兩個(gè)連續(xù)的記錄間隔(圖11b和11c)是這樣的,在這些間隔期間,在處理測(cè)量表時(shí),沒(méi)有到達(dá)所討論的行。當(dāng)在下一間隔期間到達(dá)該行時(shí),注意時(shí)間標(biāo)記P或L均不在時(shí)間標(biāo)記2和3之間。在再下一間隔期間也能處理該行時(shí),而即使此時(shí),時(shí)間標(biāo)記P或L仍不在時(shí)間標(biāo)記2和3之間。
即便,模塊被啟動(dòng)時(shí),測(cè)量對(duì)象已經(jīng)被激活,這種方法仍然有效。在這種情況下,標(biāo)記P和L至多具有相應(yīng)于緊隨該激活后的記錄間隔的變化時(shí)刻的值(即使,該激活是同一間隔期間的一種重激活情況,并且在去激活前的激活期間和所述重激活期間,該行已被處理)。
如上所述,這種方法即使對(duì)這樣的記錄間隔也起作用在這種記錄間隔期間,記錄和置零過(guò)程甚至一次啟動(dòng)都沒(méi)有進(jìn)行,在這種情況下,記錄間隔的變化時(shí)刻也不向前推進(jìn)。如果這一情況碰巧發(fā)生,則時(shí)間標(biāo)記之間相距的長(zhǎng)度反常,但不會(huì)有其他不利影響。如果在該記錄間隔期間記錄和置零過(guò)程根本不啟動(dòng),則奇偶性也不被改變,而僅此一個(gè)記錄間隔長(zhǎng)度反常,此后,過(guò)程以正常方式繼續(xù)進(jìn)行。
盡管參照根據(jù)附圖的例子對(duì)本發(fā)明進(jìn)行了以上描述,顯然,本發(fā)明并不局限于本例子,而可以在以上和附屬權(quán)利要求書中所述的本發(fā)明的思想的范圍內(nèi)變化。例如,與時(shí)間標(biāo)記P和L有關(guān)的不等式中的等號(hào)是否允許,取決于時(shí)間標(biāo)記的舍入方向。因此,后面的權(quán)利要求書中有這樣的描述“如預(yù)期的那樣,介于這樣一些與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記之間,這些時(shí)間標(biāo)記用來(lái)限定其間可預(yù)先將當(dāng)前要被記錄和置零的計(jì)數(shù)器組置零的間隔”。在上述例子中,對(duì)于時(shí)間標(biāo)記2等號(hào)可被認(rèn)可,因?yàn)樵撝当簧仙崛?。另外也不必用記錄和置零過(guò)程來(lái)保存和比較這些時(shí)間標(biāo)記,盡管最好執(zhí)行與行處理有關(guān)的所述操作。本系統(tǒng)還可以保存一個(gè)輔助變量,該變量指示是否允許計(jì)數(shù)器值的記錄。如上所述,根據(jù)與時(shí)間標(biāo)記有關(guān)的不等式之一是否正好成立,來(lái)確定該輔助變量的值。使用該輔助變量有這樣的優(yōu)點(diǎn)例如在某些情況下,記錄可以完全被禁止,即便不等式可能允許記錄。在測(cè)量表的行中,還可以使用與特定計(jì)數(shù)器組相關(guān)的時(shí)間標(biāo)記,它們指示最新和第二最新的組處理時(shí)刻。不過(guò)在這種情況下,系統(tǒng)還有指示在測(cè)量對(duì)象行中已完成置零的最新和第二最新時(shí)刻(盡管還有其他一些與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記,總計(jì)2N個(gè)時(shí)間標(biāo)記,其中N為拷貝因子)。另外,對(duì)于記錄,可能有一些附加條件,例如,只記錄那些超出某些限值和其有效性已被確立的計(jì)數(shù)器值。
權(quán)利要求
1.一種業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)中的用于完成事件記錄的方法,該數(shù)據(jù)庫(kù)包括一些含有連續(xù)行(Ri)的測(cè)量表(MT),據(jù)此,單一一行包括有關(guān)單個(gè)測(cè)量對(duì)象的數(shù)據(jù),并且一個(gè)測(cè)量表中的測(cè)量對(duì)象屬于同一類型,使得,它們可構(gòu)成一個(gè)測(cè)量組,這種方法包括以下步驟-接收業(yè)務(wù)請(qǐng)求(SR)進(jìn)入到該系統(tǒng),在其處理期間,必須對(duì)每一測(cè)量對(duì)象的事件發(fā)生數(shù)進(jìn)行計(jì)數(shù),-作為該業(yè)務(wù)請(qǐng)求的響應(yīng),激活業(yè)務(wù)的提供,-在由某一預(yù)定的記錄間隔所確定的一段時(shí)間內(nèi),對(duì)于業(yè)務(wù)請(qǐng)求處理期間的每一不同事件,通過(guò)增加與特定測(cè)量對(duì)象相關(guān)的計(jì)數(shù)器的值來(lái)完成事件記錄,和-通過(guò)存儲(chǔ)每一記錄間隔后的與特定測(cè)量對(duì)象相關(guān)的計(jì)數(shù)器值,來(lái)完成計(jì)數(shù)器值的記錄,其特征在于,該方法還包括以下步驟-將拷貝了N個(gè)拷貝的單個(gè)測(cè)量計(jì)數(shù)器保存于測(cè)量表的行中,使得,N個(gè)計(jì)數(shù)器中的每一個(gè)屬于一個(gè)不同的計(jì)數(shù)器組,從而有N個(gè)計(jì)數(shù)器組位于該行中,-將時(shí)域劃分為連續(xù)的記錄間隔(TP),使得,每一記錄間隔期間只增加位于該行中的一個(gè)選定的計(jì)數(shù)器組的值,并且要被增值的計(jì)數(shù)器組隨不同的記錄間隔變化,-在一個(gè)記錄間隔期間,通過(guò)一次一行地處理測(cè)量表的行,來(lái)一次一個(gè)測(cè)量對(duì)象地處理計(jì)數(shù)器值的記錄和置零,使得,單個(gè)計(jì)數(shù)器組中的計(jì)數(shù)器值的記錄和置零在這樣一些記錄間隔期間被執(zhí)行,這些記錄間隔介于所討論的計(jì)數(shù)器組中的計(jì)數(shù)器被增值的記錄間隔之間,-在系統(tǒng)中保存這樣一些與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記,這些時(shí)間標(biāo)記至少指示在測(cè)量對(duì)象行中已將一個(gè)計(jì)數(shù)器組置零的最新和第二最新時(shí)刻,并保存一些與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記,這些時(shí)間標(biāo)記至少指示三個(gè)最新的記錄間隔的變化時(shí)刻,和-將這些與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記和這些與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記進(jìn)行比較,并且如果這些與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記至少有一個(gè)如預(yù)期的那樣,介于這樣一些與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記之間,這些時(shí)間標(biāo)記用來(lái)限定其間可預(yù)先將當(dāng)前要被記錄和置零的計(jì)數(shù)器組置零的間隔,則認(rèn)為該測(cè)量對(duì)象的計(jì)數(shù)器值有效。
2.如權(quán)利要求1所述的方法,其特征在于,該方法包括如下步驟-成對(duì)地將每個(gè)計(jì)數(shù)器保存在與測(cè)量對(duì)象對(duì)應(yīng)的測(cè)量表的行中,據(jù)此,第一計(jì)數(shù)器屬于第一計(jì)數(shù)器組(CG1)而第二計(jì)數(shù)器屬于第二計(jì)數(shù)器組(CG2),并且在每隔一個(gè)的記錄間隔中,增加第一計(jì)數(shù)器組中的計(jì)數(shù)器值而記錄和置零第二計(jì)數(shù)器組中的計(jì)數(shù)器值,又在每隔一個(gè)的記錄間隔中,增加第二計(jì)數(shù)器組中的計(jì)數(shù)器值而記錄和置零第一計(jì)數(shù)器組中的計(jì)數(shù)器值。-對(duì)于記錄,如果與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記至少有一個(gè)如預(yù)期的那樣,介于指示第二最新和第三最新的記錄間隔的變化時(shí)刻的時(shí)間標(biāo)記之間,則認(rèn)可該測(cè)量對(duì)象的計(jì)數(shù)器值。
3.如權(quán)利要求1所述的方法,其特征在于,通過(guò)計(jì)數(shù)器值的記錄和置零的執(zhí)行過(guò)程來(lái)處理時(shí)間標(biāo)記的保存和比較,所述過(guò)程在每一記錄間隔期間重復(fù)啟動(dòng),并在該記錄間隔期間對(duì)單一一行至多處理一次。
4.如權(quán)利要求1所述的方法,其特征在于,系統(tǒng)中所用的時(shí)間被劃分為離散的單元,使得,所有所述時(shí)間標(biāo)記都是與整分鐘相應(yīng)的整數(shù)。
5.如權(quán)利要求4所述的方法,其特征在于,關(guān)于行的處理,指示與測(cè)量對(duì)象對(duì)應(yīng)的行中置零的最新時(shí)刻的時(shí)間標(biāo)記,被設(shè)定為上舍入到下一整分鐘的當(dāng)前時(shí)間。
6.如權(quán)利要求5所述的方法,其特征在于,在記錄間隔改變后更新與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記時(shí),指示間隔的最新變化時(shí)刻的時(shí)間標(biāo)記,根據(jù)當(dāng)前時(shí)間,被設(shè)定為比所述時(shí)間小的分鐘讀數(shù)。
7.如權(quán)利要求5所述的方法,其特征在于,在啟動(dòng)一個(gè)測(cè)量組的測(cè)量時(shí),與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記被設(shè)定為一個(gè)與上舍入到下一整分鐘的當(dāng)前時(shí)間相應(yīng)的值。
8.如權(quán)利要求7所述的方法,其特征在于,在啟動(dòng)該測(cè)量組中的一個(gè)測(cè)量對(duì)象的測(cè)量時(shí),與具體對(duì)象相關(guān)的時(shí)間標(biāo)記被設(shè)定為一個(gè)與上舍入到下一整分鐘的當(dāng)前時(shí)間相應(yīng)的值。
全文摘要
本發(fā)明涉及業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)中一種處理事件記錄的方法。該數(shù)據(jù)庫(kù)包括一些含有連續(xù)行(Ri)的測(cè)量表(MT)。單一一行包括有關(guān)單個(gè)測(cè)量對(duì)象的數(shù)據(jù)。為了能有效地記錄正確的計(jì)數(shù)器值,測(cè)量表的行中的計(jì)數(shù)器已被拷貝,并且在每一記錄間隔中,所述行中的一個(gè)給定的計(jì)數(shù)器組中的計(jì)數(shù)器值被增加,按預(yù)定的循環(huán)規(guī)則,所述行中的另一給定的計(jì)數(shù)器組中的計(jì)數(shù)器值被記錄。在本系統(tǒng)中,保存與特定測(cè)量對(duì)象相關(guān)的時(shí)間標(biāo)記以及與特定測(cè)量組相關(guān)的時(shí)間標(biāo)記,據(jù)此,判斷是否允許記錄計(jì)數(shù)器值。
文檔編號(hào)H04Q3/545GK1231745SQ97198251
公開日1999年10月13日 申請(qǐng)日期1997年8月29日 優(yōu)先權(quán)日1996年8月29日
發(fā)明者皮卡·萊迪寧 申請(qǐng)人:諾基亞電信公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1