專(zhuān)利名稱(chēng):一種適用于應(yīng)用服務(wù)器的呼叫處理系統(tǒng)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種呼叫處理技術(shù),特別是指一種適用于下一代網(wǎng)絡(luò)中應(yīng)用服務(wù)器的呼叫處理系統(tǒng)及其實(shí)現(xiàn)方法。
應(yīng)用服務(wù)器的主要功能是提供業(yè)務(wù)邏輯執(zhí)行環(huán)境(SLEE),這一點(diǎn)非常類(lèi)似于傳統(tǒng)智能網(wǎng)中業(yè)務(wù)控制點(diǎn)(SCP)的作用。關(guān)于應(yīng)用服務(wù)器采取何種措施實(shí)現(xiàn)呼叫的并發(fā)處理,目前尚未提出明確的處理方案,因此,可通過(guò)現(xiàn)有技術(shù)中SCP處理并發(fā)呼叫的過(guò)程來(lái)討論目前并發(fā)呼叫處理中出現(xiàn)的問(wèn)題。
對(duì)于SCP來(lái)說(shuō),其處理并發(fā)呼叫大致有兩種方式1)采用進(jìn)程“偽并發(fā)”的方式。在SCP中,一個(gè)業(yè)務(wù)邏輯程序(SLP)是由若干個(gè)與業(yè)務(wù)無(wú)關(guān)的構(gòu)成塊(SIB)組成的,SLP通常被放在一個(gè)進(jìn)程中執(zhí)行。進(jìn)程把SLP分成若干個(gè)程序代碼段(Step),這些Step按順序執(zhí)行。這里的一個(gè)Step可以是一個(gè)SIB,也可以是一個(gè)SIB的一部分。進(jìn)程在處理一個(gè)呼叫時(shí),每執(zhí)行一個(gè)Step就停下來(lái),轉(zhuǎn)向執(zhí)行另外一個(gè)呼叫的某個(gè)Step。在所有呼叫被執(zhí)行完一個(gè)Step后,進(jìn)程將再次輪流執(zhí)行這些呼叫的下一個(gè)Step。這種方式的一個(gè)缺點(diǎn)是效率比較低,當(dāng)一個(gè)進(jìn)程處理大量呼叫時(shí),每個(gè)呼叫等待被處理的時(shí)間較長(zhǎng);另一個(gè)缺點(diǎn)是業(yè)務(wù)邏輯比較復(fù)雜,需要合理設(shè)置Step,對(duì)業(yè)務(wù)開(kāi)發(fā)者的要求比較高。
2)采用線程并發(fā)的方式。SLP每收到一個(gè)新的呼叫發(fā)起請(qǐng)求就新建一個(gè)線程,負(fù)責(zé)處理該呼叫。這種方式的局限性在于無(wú)法控制系統(tǒng)中線程的數(shù)目,當(dāng)呼叫量較大時(shí),系統(tǒng)中的線程數(shù)太多,系統(tǒng)負(fù)荷太大并且無(wú)法進(jìn)行有效控制。同時(shí),創(chuàng)建線程是一項(xiàng)耗時(shí)的任務(wù),大量的線程創(chuàng)建和刪除工作將加重系統(tǒng)負(fù)擔(dān),從而增加了呼叫處理的時(shí)延。
本發(fā)明的另一目的在于提供一種適用于應(yīng)用服務(wù)器的呼叫處理方法,使其不僅滿(mǎn)足呼叫處理的并發(fā)性要求,降低單個(gè)呼叫的處理時(shí)延,而且能有效地控制系統(tǒng)流量,防止系統(tǒng)過(guò)載。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種適用于應(yīng)用服務(wù)器的呼叫處理系統(tǒng),該系統(tǒng)包括以下組件業(yè)務(wù)代理,用于接收外部的呼叫處理操作,并將當(dāng)前接收的操作封裝為消息對(duì)象;調(diào)度隊(duì)列,用于存放一個(gè)以上的呼叫隊(duì)列,該調(diào)度隊(duì)列的長(zhǎng)度取決于系統(tǒng)內(nèi)存大??;調(diào)度單元,用于周期性掃描調(diào)度隊(duì)列,取出當(dāng)前需要處理的呼叫隊(duì)列;業(yè)務(wù)邏輯,用于提供對(duì)應(yīng)不同呼叫處理操作的不同業(yè)務(wù)功能;線程池,用來(lái)存放并維護(hù)一組空閑線程;該線程池的容量根據(jù)當(dāng)前應(yīng)用服務(wù)器的系統(tǒng)參數(shù)確定;業(yè)務(wù)代理同時(shí)與調(diào)度隊(duì)列和外部軟交換邏輯相連,調(diào)度單元同時(shí) 與業(yè)務(wù)邏輯與調(diào)度隊(duì)列邏輯連接,業(yè)務(wù)邏輯與線程池邏輯相連。
其中,每個(gè)呼叫隊(duì)列中包括屬于同一個(gè)呼叫的至少一個(gè)消息對(duì)象。每個(gè)消息對(duì)象對(duì)應(yīng)一個(gè)呼叫處理操作,且每個(gè)消息對(duì)象至少包括所對(duì)應(yīng)呼叫處理操作的操作名和操作參數(shù)。
一種基于權(quán)利要求1所述系統(tǒng)的呼叫處理方法,該方法包括以下步驟a.當(dāng)業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫發(fā)起請(qǐng)求時(shí),為該呼叫創(chuàng)建一個(gè)呼叫隊(duì)列,并將新創(chuàng)建的呼叫隊(duì)列加入調(diào)度隊(duì)列中;b.當(dāng)業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫處理操作時(shí),將所收到的呼叫處理操作進(jìn)行封裝生成消息對(duì)象,然后根據(jù)消息對(duì)象中的呼叫會(huì)話標(biāo)識(shí)(CallSessionID)找到相應(yīng)的呼叫隊(duì)列將當(dāng)前生成的消息對(duì)象加入該呼叫隊(duì)列中;c.調(diào)度單元在掃描周期到達(dá)時(shí),從調(diào)度隊(duì)列中取出一個(gè)呼叫隊(duì)列,再?gòu)漠?dāng)前呼叫隊(duì)列中取出頭消息對(duì)象,判斷該頭消息對(duì)象是否滿(mǎn)足所設(shè)定的約束條件且線程池中有空閑線程,如果是,則調(diào)用業(yè)務(wù)邏輯中對(duì)應(yīng)的呼叫處理操作,同時(shí)由業(yè)務(wù)邏輯從線程池中取出一個(gè)空閑線程,在該線程中執(zhí)行當(dāng)前呼叫處理操作,進(jìn)入步驟d;否則,返回步驟c,等待下一掃描周期;d.當(dāng)前消息對(duì)象處理完后,由業(yè)務(wù)邏輯返回執(zhí)行結(jié)果,同時(shí)調(diào)度單元判斷當(dāng)前消息對(duì)象所屬的呼叫隊(duì)列是否為空,如果不是,則將該呼叫隊(duì)列重新插入調(diào)度隊(duì)列,返回步驟c,等待下一掃描周期;否則,直接返回步驟c,等待下一掃描周期。
在上述方法中,步驟b進(jìn)一步包括業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫處理操作后,先判斷該操作是異步方式還是同步方式,如果為異步方式,則在每個(gè)步驟完成后先返回一個(gè)臨時(shí)結(jié)果;如果是同步方法,則在當(dāng)前操作處理完后再返回執(zhí)行結(jié)果。
該方法還包括預(yù)先為每個(gè)呼叫隊(duì)列設(shè)置一個(gè)表明該呼叫重要程度的優(yōu)先級(jí)屬性。那么,步驟c所述從調(diào)度隊(duì)列中取出呼叫隊(duì)列進(jìn)一步包括調(diào)度單元先判斷所有呼叫隊(duì)列是否存在優(yōu)先級(jí)差別,如果是,則取出當(dāng)前優(yōu)先級(jí)最高的呼叫隊(duì)列;否則,從調(diào)度隊(duì)列的非呼叫隊(duì)列插入端順序取出一個(gè)呼叫隊(duì)列。
步驟c進(jìn)一步包括如果是沒(méi)有空閑線程,則不繼續(xù)進(jìn)行處理,拒絕當(dāng)前呼叫處理操作,返回步驟c,等待下一掃描周期;如果是消息對(duì)象不符合約束條件,則將該呼叫隊(duì)列重新插入調(diào)度隊(duì)列,返回步驟c,等待下一掃描周期。
該方法進(jìn)一步包括在每個(gè)消息對(duì)象創(chuàng)建時(shí),將該消息對(duì)象對(duì)應(yīng)的操作名稱(chēng)和操作參數(shù)直接放入消息對(duì)象中;或是將該消息對(duì)象對(duì)應(yīng)的操作名稱(chēng)和操作參數(shù)設(shè)置為消息對(duì)象的一個(gè)屬性。
因此,本發(fā)明所提供的適用于應(yīng)用服務(wù)器的呼叫處理系統(tǒng)及其實(shí)現(xiàn)方法,具有以下的優(yōu)點(diǎn)和特點(diǎn)1)由于本發(fā)明采用消息隊(duì)列的設(shè)計(jì)方法,將到達(dá)應(yīng)用服務(wù)器的呼叫處理操作封裝為消息對(duì)象,并存放于呼叫隊(duì)列,一個(gè)呼叫隊(duì)列中的所有消息對(duì)象都屬于一個(gè)呼叫,從而使操作調(diào)用和操作執(zhí)行在不同線程中進(jìn)行,滿(mǎn)足并增強(qiáng)了呼叫處理的并行性,降低了單個(gè)呼叫的處理時(shí)延。
2)本發(fā)明將每個(gè)呼叫的所有消息對(duì)象按順序存入呼叫隊(duì)列,從而保證了一個(gè)呼叫中消息處理的有序性,提高了系統(tǒng)的處理效率。
3)本發(fā)明采用基于優(yōu)先級(jí)的呼叫調(diào)度方式,可對(duì)呼叫進(jìn)行優(yōu)先級(jí)控制,保證優(yōu)先級(jí)高的呼叫先得到調(diào)度,在一定程度上實(shí)現(xiàn)了呼叫級(jí)服務(wù)質(zhì)量(QoS)保證。
4)本發(fā)明采用限制調(diào)度隊(duì)列長(zhǎng)度的方法控制系統(tǒng)的流量,可有效控制系統(tǒng)的流量,實(shí)現(xiàn)系統(tǒng)過(guò)載控制。
5)與創(chuàng)建消息對(duì)象的操作相比,創(chuàng)建線程需要更大的開(kāi)銷(xiāo),消耗更長(zhǎng)的時(shí)間,因此本發(fā)明采用線程池的設(shè)計(jì)方法,預(yù)先創(chuàng)建多個(gè)空閑線程供系統(tǒng)直接調(diào)用,從而可以限制系統(tǒng)中的線程數(shù)量,控制系統(tǒng)負(fù)載,同時(shí)避免了頻繁的線程創(chuàng)建操作,提高了系統(tǒng)的處理性能和執(zhí)行效率。
6)本發(fā)明所提出的線程池設(shè)計(jì)方法,是在系統(tǒng)中維護(hù)一個(gè)線程池,通過(guò)其中的線程調(diào)度消息隊(duì)列中的對(duì)象,從而達(dá)到異步執(zhí)行Parlay操作的目的,同樣,該方法也適用于Parlay的同步調(diào)用方式。
如
圖1所示,本發(fā)明的呼叫處理系統(tǒng)主要包括以下幾個(gè)組件業(yè)務(wù)代理、消息對(duì)象、一個(gè)以上呼叫隊(duì)列、調(diào)度隊(duì)列、業(yè)務(wù)邏輯、調(diào)度單元以及線程池。其中,消息對(duì)象全部存儲(chǔ)于呼叫隊(duì)列中,呼叫隊(duì)列中每個(gè)以黑色填充的圓點(diǎn)即表示一個(gè)消息對(duì)象,每個(gè)消息對(duì)象對(duì)應(yīng)一個(gè)呼叫處理操作,消息對(duì)象按所屬呼叫不同分別存儲(chǔ)于不同的呼叫隊(duì)列中;所有的呼叫隊(duì)列構(gòu)成調(diào)度隊(duì)列。在圖1所示的系統(tǒng)中,業(yè)務(wù)代理與外部軟交換、調(diào)度隊(duì)列之間;調(diào)度單元與業(yè)務(wù)邏輯、調(diào)度隊(duì)列之間;業(yè)務(wù)邏輯與線程池之間存在邏輯上的通信連接關(guān)系。
在圖1所示的系統(tǒng)中,業(yè)務(wù)代理,用于接收軟交換送來(lái)的呼叫處理操作,比如Parlay操作或數(shù)據(jù)庫(kù)訪問(wèn)等操作,并將當(dāng)前接收的操作封裝為消息對(duì)象。消息對(duì)象,用于封裝呼叫處理操作,該對(duì)象中至少包括操作名和操作參數(shù)。業(yè)務(wù)邏輯,用于提供不同的業(yè)務(wù)功能,對(duì)應(yīng)不同的呼叫處理操作。呼叫隊(duì)列,一個(gè)呼叫隊(duì)列用于存放一個(gè)呼叫的所有消息對(duì)象,每個(gè)呼叫隊(duì)列可以設(shè)置一個(gè)優(yōu)先級(jí)屬性,以表明該呼叫的重要程度,系統(tǒng)先處理優(yōu)先級(jí)高的呼叫。調(diào)度隊(duì)列,用于存放應(yīng)用服務(wù)器上所有的呼叫隊(duì)列,該調(diào)度隊(duì)列的長(zhǎng)度取決于系統(tǒng)內(nèi)存的大小。調(diào)度單元,用于周期性地掃描調(diào)度隊(duì)列,取出需要處理的呼叫隊(duì)列,如判斷當(dāng)前呼叫隊(duì)列的頭消息是否符合執(zhí)行條件,如符合,則相應(yīng)的處理方法。一個(gè)掃描周期開(kāi)始后,調(diào)度單元首先取出優(yōu)先級(jí)最高呼叫隊(duì)列;隨后,一直到下一個(gè)掃描周期到達(dá)之前,將從調(diào)度隊(duì)列的隊(duì)尾按順序取出呼叫隊(duì)列。掃描周期的長(zhǎng)短一定要合理,太短會(huì)導(dǎo)致優(yōu)先級(jí)低的呼叫隊(duì)列長(zhǎng)時(shí)間甚至永遠(yuǎn)得不到調(diào)度;太長(zhǎng)則體現(xiàn)不出優(yōu)先級(jí)高的呼叫隊(duì)列被優(yōu)先調(diào)度的特性。線程池,用來(lái)存放并維護(hù)一組空閑線程,其容量取決于系統(tǒng)參數(shù),如內(nèi)存、CPU速率等,線程池中的每個(gè)空白圓點(diǎn)表示一個(gè)線程。
基于上述呼叫處理系統(tǒng)的組成結(jié)構(gòu),本發(fā)明中的呼叫處理主要包括兩大部分呼叫建立和呼叫處理。那么,一個(gè)呼叫完整的處理過(guò)程參見(jiàn)圖1、圖2所示,包括以下的步驟步驟100軟交換向業(yè)務(wù)道理單元發(fā)呼叫發(fā)起請(qǐng)求callEventNotify(),當(dāng)業(yè)務(wù)代理收到該呼叫發(fā)起請(qǐng)求后,為該呼叫創(chuàng)建一個(gè)呼叫隊(duì)列,并將新創(chuàng)建的呼叫隊(duì)列加入調(diào)度隊(duì)列之中。
步驟101當(dāng)軟交換向業(yè)務(wù)代理發(fā)送呼叫處理操作時(shí),比如軟交換向業(yè)務(wù)代理發(fā)路由響應(yīng)操作RouteRes(),業(yè)務(wù)代理收到該呼叫處理操作,先判斷該操作是異步方式還是同步方式,如果為異步方式,則在每個(gè)步驟完成后先返回一個(gè)臨時(shí)結(jié)果,此處是先返回一個(gè)空消息;如果是同步方法,則等執(zhí)行完所有步驟后再返回執(zhí)行結(jié)果。
步驟102業(yè)務(wù)代理將所收到的呼叫處理操作進(jìn)行封裝,創(chuàng)建并生成消息對(duì)象,然后根據(jù)消息對(duì)象中的操作參數(shù),如呼叫會(huì)話標(biāo)識(shí)(CallSessionID)找到相應(yīng)的呼叫隊(duì)列,并將當(dāng)前生成的消息對(duì)象加入該呼叫隊(duì)列之中。每個(gè)消息對(duì)象在新建時(shí)即將包含操作名稱(chēng)、操作參數(shù)的信息放入消息對(duì)象中,或設(shè)置為消息對(duì)象的一個(gè)屬性;操作參數(shù)中的標(biāo)識(shí)信息用來(lái)唯一標(biāo)識(shí)一個(gè)呼叫。
步驟103對(duì)于呼叫的處理,是由調(diào)度單元周期性地掃描調(diào)度隊(duì)列,調(diào)度單元先判斷所有呼叫隊(duì)列是否存在優(yōu)先級(jí)差別,如果是,則取出當(dāng)前優(yōu)先級(jí)最高的呼叫隊(duì)列;否則,從調(diào)度隊(duì)列的另一端取出一個(gè)呼叫隊(duì)列,該另一端是指調(diào)度隊(duì)列中與呼叫隊(duì)列插入方向相反的一端。
步驟104取出呼叫隊(duì)列后,再?gòu)漠?dāng)前呼叫隊(duì)列中取出頭消息對(duì)象,判斷當(dāng)前取出的消息對(duì)象是否滿(mǎn)足所設(shè)定的約束條件且線程池中有空閑線程,如果是,則調(diào)用業(yè)務(wù)邏輯中對(duì)應(yīng)的呼叫處理操作,同時(shí)由業(yè)務(wù)邏輯從線程池中取出一個(gè)空閑線程,在該線程中執(zhí)行當(dāng)前的呼叫處理操作,執(zhí)行步驟105;否則,如果是沒(méi)有空閑線程,則不繼續(xù)進(jìn)行處理,拒絕當(dāng)前呼叫操作,返回步驟103,等待下一輪調(diào)度;如果是消息對(duì)象不符合約束條件,則將該呼叫隊(duì)列重新插入調(diào)度隊(duì)列,返回步驟103,等待下一輪調(diào)度。這里所述的約束條件可以是指呼叫所處的某個(gè)狀態(tài)。
步驟105當(dāng)前消息對(duì)象處理完畢后,由業(yè)務(wù)邏輯返回相應(yīng)的執(zhí)行結(jié)果,調(diào)度單元判斷當(dāng)前消息對(duì)象所屬的呼叫隊(duì)列是否為空,如果不是,則將該呼叫隊(duì)列再重新插入調(diào)度隊(duì)列,返回步驟103,等待下一輪調(diào)度;否則,直接返回步驟103,等待下一輪調(diào)度。
本發(fā)明的呼叫處理系統(tǒng)及方法,適用于Parlay應(yīng)用服務(wù)器中,也可以適用于采用其它協(xié)議,如會(huì)話發(fā)起協(xié)議(SIP)的應(yīng)用服務(wù)器。
總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種適用于應(yīng)用服務(wù)器的呼叫處理系統(tǒng),其特征在于該系統(tǒng)包括以下組件業(yè)務(wù)代理,用于接收外部的呼叫處理操作,并將當(dāng)前接收的操作封裝為消息對(duì)象;調(diào)度隊(duì)列,用于存放所有的呼叫隊(duì)列;調(diào)度單元,用于周期性掃描調(diào)度隊(duì)列,取出當(dāng)前需要處理的呼叫隊(duì)列;業(yè)務(wù)邏輯,用于提供呼叫處理功能;線程池,用來(lái)存放并維護(hù)一組空閑線程;業(yè)務(wù)代理同時(shí)與調(diào)度隊(duì)列和外部軟交換邏輯相連,調(diào)度單元同時(shí)與業(yè)務(wù)邏輯與調(diào)度隊(duì)列邏輯連接,業(yè)務(wù)邏輯與線程池邏輯相連。
2.根據(jù)權(quán)利要求1所述的呼叫處理系統(tǒng),其特征在于所述的每個(gè)呼叫隊(duì)列中包括屬于同一個(gè)呼叫的至少一個(gè)消息對(duì)象。
3.根據(jù)權(quán)利要求1所述的呼叫處理系統(tǒng),其特征在于所述的每個(gè)消息對(duì)象對(duì)應(yīng)一個(gè)呼叫處理操作;且每個(gè)消息對(duì)象中至少包括所對(duì)應(yīng)呼叫處理操作的操作名和操作參數(shù)。
4.一種基于權(quán)利要求1所述系統(tǒng)的呼叫處理方法,其特征在于該方法包括以下步驟a.當(dāng)業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫發(fā)起請(qǐng)求時(shí),為該呼叫創(chuàng)建一個(gè)呼叫隊(duì)列,并將新創(chuàng)建的呼叫隊(duì)列加入調(diào)度隊(duì)列中;b.當(dāng)業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫處理操作時(shí),將所收到的呼叫處理操作進(jìn)行封裝生成消息對(duì)象,然后根據(jù)消息對(duì)象中的呼叫會(huì)話標(biāo)識(shí)(CallSessionID)找到相應(yīng)的呼叫隊(duì)列,將當(dāng)前生成的消息對(duì)象加入該呼叫隊(duì)列中;c.調(diào)度單元在掃描周期到達(dá)時(shí),從調(diào)度隊(duì)列中取出一個(gè)呼叫隊(duì)列,再?gòu)漠?dāng)前呼叫隊(duì)列中取出頭消息對(duì)象,判斷該頭消息對(duì)象是否滿(mǎn)足所設(shè)定的約束條件且線程池中有空閑線程,如果是,則調(diào)用業(yè)務(wù)邏輯中對(duì)應(yīng)的呼叫處理操作,同時(shí)由業(yè)務(wù)邏輯從線程池中取出一個(gè)空閑線程,在該線程中執(zhí)行當(dāng)前呼叫處理操作,進(jìn)入步驟d;否則,返回步驟c,等待下一掃描周期;d.當(dāng)前消息對(duì)象處理完后,由業(yè)務(wù)邏輯返回執(zhí)行結(jié)果,同時(shí)調(diào)度單元判斷當(dāng)前消息對(duì)象所屬的呼叫隊(duì)列是否為空,如果不是,則將該呼叫隊(duì)列重新插入調(diào)度隊(duì)列,返回步驟c,等待下一掃描周期;否則,直接返回步驟c,等待下一掃描周期。
5.根據(jù)權(quán)利要求4所述的呼叫處理方法,其特征在于所述步驟b進(jìn)一步包括業(yè)務(wù)代理收到外部發(fā)來(lái)的呼叫處理操作后,先判斷該操作是異步方式還是同步方式,如果為異步方式,則在每個(gè)步驟完成后先返回一個(gè)臨時(shí)結(jié)果;如果是同步方法,則在當(dāng)前操作處理完后再返回執(zhí)行結(jié)果。
6.根據(jù)權(quán)利要求4所述的呼叫處理方法,其特征在于該方法進(jìn)一步包括預(yù)先為每個(gè)呼叫隊(duì)列設(shè)置一個(gè)表明該呼叫重要程度的優(yōu)先級(jí)屬性。
7.根據(jù)權(quán)利要求6所述的呼叫處理方法,其特征在于步驟c所述從調(diào)度隊(duì)列中取出呼叫隊(duì)列進(jìn)一步包括調(diào)度單元先判斷所有呼叫隊(duì)列是否存在優(yōu)先級(jí)差別,如果是,則取出當(dāng)前優(yōu)先級(jí)最高的呼叫隊(duì)列;否則,從調(diào)度隊(duì)列的非呼叫隊(duì)列插入端順序取出一個(gè)呼叫隊(duì)列。
8.根據(jù)權(quán)利要求4所述的呼叫處理方法,其特征在于所述步驟c進(jìn)一步包括如果是沒(méi)有空閑線程,則不繼續(xù)進(jìn)行處理,拒絕當(dāng)前呼叫處理操作,返回步驟c,等待下一掃描周期;如果是消息對(duì)象不符合約束條件,則將該呼叫隊(duì)列重新插入調(diào)度隊(duì)列,返回步驟c,等待下一掃描周期。
9.根據(jù)權(quán)利要求4所述的呼叫處理方法,其特征在于該方法進(jìn)一步包括在每個(gè)消息對(duì)象創(chuàng)建時(shí),將該消息對(duì)象對(duì)應(yīng)的操作名稱(chēng)和操作參數(shù)直接放入消息對(duì)象中;或是將該消息對(duì)象對(duì)應(yīng)的操作名稱(chēng)和操作參數(shù)設(shè)置為消息對(duì)象的一個(gè)屬性。
全文摘要
本發(fā)明公開(kāi)了一種適用于應(yīng)用服務(wù)器的呼叫處理系統(tǒng),該系統(tǒng)包括以下組件業(yè)務(wù)代理,用于接收外部的呼叫處理操作,并將當(dāng)前接收的操作封裝為消息對(duì)象;調(diào)度隊(duì)列,用于存放所有的呼叫隊(duì)列;調(diào)度單元,用于周期性掃描調(diào)度隊(duì)列,取出當(dāng)前需要處理的呼叫隊(duì)列;業(yè)務(wù)邏輯,用于提供呼叫處理功能;線程池,用來(lái)存放并維護(hù)一組空閑線程,業(yè)務(wù)代理同時(shí)與調(diào)度隊(duì)列和外部軟交換邏輯相連,調(diào)度單元同時(shí)與業(yè)務(wù)邏輯與調(diào)度隊(duì)列邏輯連接,業(yè)務(wù)邏輯與線程池邏輯相連。本發(fā)明還同時(shí)公開(kāi)了一種基于上述系統(tǒng)的呼叫處理方法,采用該系統(tǒng)及方法不僅能高效合理地處理并發(fā)呼叫,降低單個(gè)呼叫的處理時(shí)延,提高應(yīng)用服務(wù)器的性?xún)r(jià)比,且能有效控制系統(tǒng)流量,防止系統(tǒng)過(guò)載。
文檔編號(hào)H04Q3/00GK1426215SQ0215891
公開(kāi)日2003年6月25日 申請(qǐng)日期2002年12月26日 優(yōu)先權(quán)日2002年12月26日
發(fā)明者楊放春, 李永平, 蘇森, 鄒華, 孫其博, 陳俊亮 申請(qǐng)人:北京郵電大學(xué)