專利名稱:執(zhí)行數(shù)據(jù)中間處理的方法以及關(guān)聯(lián)的計(jì)算機(jī)程序產(chǎn)品、數(shù)據(jù)中間處理設(shè)備和信息系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信,更具體地,涉及在數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行數(shù)據(jù)中間處理的方 法,該數(shù)據(jù)通信網(wǎng)絡(luò)能夠傳送用于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源提供的數(shù)據(jù)服務(wù) 的請(qǐng)求的數(shù)據(jù)消息,以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪 問(wèn)的第一格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù),所述數(shù)據(jù)消息被編碼為用于在 數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷健1景l(fā)明還涉及關(guān)聯(lián)的計(jì)算機(jī)程序產(chǎn)品、數(shù)據(jù)中間處理設(shè) 備和信息系統(tǒng)。
背景技術(shù):
復(fù)雜的信息系統(tǒng)環(huán)境常常涉及對(duì)信息或功能進(jìn)行請(qǐng)求的請(qǐng)求側(cè)與對(duì)信息進(jìn)行響 應(yīng)或執(zhí)行所請(qǐng)求功能的響應(yīng)側(cè)之間的不同數(shù)據(jù)模型。此外,這種復(fù)雜環(huán)境中的響應(yīng)側(cè)常常 包括多個(gè)數(shù)據(jù)資源,該多個(gè)數(shù)據(jù)資源是可以在向外擴(kuò)展的意義上(涉及不同實(shí)體的數(shù)據(jù)分 布在同一類型的目錄的多個(gè)實(shí)例上)以及在信息樹(shù)分布的意義上(不同類型的信息位于不 同類型的目錄中)分布的。在這種復(fù)雜的信息系統(tǒng)環(huán)境中,有必要將某種數(shù)據(jù)中間處理包 括在信息系統(tǒng)中,以允許請(qǐng)求側(cè)與響應(yīng)側(cè)之間的通信。通常,復(fù)雜的信息系統(tǒng)可以在如GSM、UMTS、D-AMPS, CDMA2000、FOMA 或 TD-SCDMA 之類的移動(dòng)電信系統(tǒng)中找到,具體地,可以在為了管理系統(tǒng)中的各種訂戶數(shù)據(jù)和事務(wù)而需 要的目錄服務(wù)中找到。作為可實(shí)施本發(fā)明的環(huán)境的非限制性示例,將在本文的其余部分中 使用移動(dòng)電信的目錄服務(wù)。歸屬位置寄存器(HLR)和歸屬訂戶服務(wù)器(HSS)是訂戶目錄的兩個(gè)示例。目前認(rèn) 為,對(duì)于未來(lái)的移動(dòng)電信系統(tǒng)架構(gòu),如第四代或更高,將訂戶目錄(如HLR或HSS)劃分為 “無(wú)數(shù)據(jù)”前端設(shè)備,該“無(wú)數(shù)據(jù)”前端設(shè)備對(duì)業(yè)務(wù)和信令進(jìn)行控制但不包含電信目錄數(shù)據(jù); 以及單獨(dú)的一般數(shù)據(jù)層,通過(guò)基于例如輕量目錄訪問(wèn)協(xié)議(LDAP)的目錄服務(wù)而實(shí)現(xiàn)。這種 目錄的大小可能是巨大的,包含多至幾千萬(wàn)個(gè)訂戶,每個(gè)訂戶由多個(gè)標(biāo)識(shí)符標(biāo)識(shí),并且包含 每秒100,000個(gè)事務(wù)的量級(jí)的總吞吐量,其中,所允許的延遲限于幾毫秒。由于大小的關(guān) 系,數(shù)據(jù)層將必須向外擴(kuò)展到許多實(shí)現(xiàn)的數(shù)據(jù)資源(如LDAP目錄服務(wù)器)上以及在地理上 向外擴(kuò)展。在這種復(fù)雜和大型的環(huán)境中,數(shù)據(jù)中間處理變?yōu)殛P(guān)鍵任務(wù)。典型地,表示針對(duì)數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息由請(qǐng)求方(如軟件應(yīng)用)以用于數(shù) 據(jù)訪問(wèn)的第一格式來(lái)表達(dá)。用于數(shù)據(jù)訪問(wèn)的第一格式遵循預(yù)定義語(yǔ)法,并包括多個(gè)消息參 數(shù),其目的在于包含指定所請(qǐng)求的數(shù)據(jù)服務(wù)所必需的數(shù)據(jù)。一旦被創(chuàng)建,數(shù)據(jù)消息就被編碼 為用于傳輸?shù)牡诙袷?。第二格式使得可以將編碼后的數(shù)據(jù)消息方便地發(fā)送至信息系統(tǒng)中 包括的數(shù)據(jù)通信網(wǎng)絡(luò)上。當(dāng)提供所請(qǐng)求的數(shù)據(jù)服務(wù)的數(shù)據(jù)資源是LDAP目錄服務(wù)器時(shí),用于 數(shù)據(jù)訪問(wèn)的第一格式就是LDAP。然后,將稱作抽象語(yǔ)法標(biāo)記1 (ASN. 1)的預(yù)定義標(biāo)準(zhǔn)標(biāo)記與 關(guān)聯(lián)的編碼規(guī)則(如基本編碼規(guī)則(BER)) —起使用,將LDAP格式的數(shù)據(jù)消息編碼為適于 傳輸?shù)牡诙M(jìn)制格式。
圖1示意了使用基于LDAP的目錄服務(wù)在移動(dòng)電信系統(tǒng)中執(zhí)行數(shù)據(jù)中間處理的現(xiàn) 有技術(shù)方式。在步驟50中,數(shù)據(jù)中間處理器從數(shù)據(jù)通信網(wǎng)絡(luò)接收傳入的數(shù)據(jù)流16。對(duì)數(shù) 據(jù)流16進(jìn)行分析,以確定完整的輸入數(shù)據(jù)消息12in(稱為成幀的過(guò)程)。輸入數(shù)據(jù)消息12in 是由請(qǐng)求方以用于數(shù)據(jù)訪問(wèn)的第一格式創(chuàng)建的LDAP消息的BER編碼的二進(jìn)制表示,用于表 示例如針對(duì)由以LDAP目錄服務(wù)器的形式存在的多個(gè)數(shù)據(jù)資源中的任一個(gè)提供的數(shù)據(jù)服務(wù) 的請(qǐng)求,并被編碼為以字節(jié)13序列的形式存在的用于傳輸?shù)钠涞诙袷健DAP消息(以其 第一格式存在)包含多個(gè)消息參數(shù)。在步驟52中,使用數(shù)據(jù)中間處理器中的解析功能,針 對(duì)每個(gè)消息參數(shù),對(duì)輸入數(shù)據(jù)消息12in進(jìn)行解析。隨著對(duì)消息參數(shù)進(jìn)行解析,以例如數(shù)據(jù)對(duì) 象、記錄或數(shù)據(jù)變量的形式來(lái)創(chuàng)建每個(gè)所解析參數(shù)的高級(jí)表示。因此,在步驟52中,創(chuàng)建運(yùn) 行時(shí)數(shù)據(jù)結(jié)構(gòu)34,作為具有消息參數(shù)的輸入數(shù)據(jù)消息12in的完整表示。不再利用在接收時(shí) 存儲(chǔ)在數(shù)據(jù)中間處理器的存儲(chǔ)器中的輸入數(shù)據(jù)消息12in。在步驟M中,數(shù)據(jù)中間處理器執(zhí)行數(shù)據(jù)中間處理邏輯。這包括對(duì)所創(chuàng)建的、具有 所解析的消息參數(shù)的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)34進(jìn)行處理,以檢查對(duì)于即將到來(lái)的數(shù)據(jù)中間處理 任務(wù)而言特別關(guān)注的消息參數(shù),并在必要時(shí)對(duì)消息參數(shù)進(jìn)行適配以便隨后在接收側(cè)向其目 的地傳送數(shù)據(jù)消息。對(duì)消息參數(shù)進(jìn)行適配的步驟包括將運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)34修改為修改后 的版本34’,反映由數(shù)據(jù)中間處理邏輯在步驟M期間生成的任何改變的、刪除的或添加的 消息參數(shù)。在一些情況下,這可以包括將整個(gè)運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)34拷貝為拷貝34’。一旦數(shù)據(jù)中間處理邏輯完成在步驟M中對(duì)運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)34/34’的處理,數(shù)據(jù) 中間處理器就通過(guò)將處理后的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)34’編碼為用于傳輸?shù)牡诙袷?,在步驟56 中從頭開(kāi)始構(gòu)建新的輸出數(shù)據(jù)消息12。ut。最后,在數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流18中 發(fā)送由此產(chǎn)生的輸出數(shù)據(jù)消息12。ut。盡管認(rèn)為上述現(xiàn)有技術(shù)方式在執(zhí)行數(shù)據(jù)中間處理時(shí)能夠達(dá)到其目的,但是本發(fā)明 的發(fā)明人已意識(shí)到該方式的性能問(wèn)題,其在存儲(chǔ)器利用率方面和處理成本方面都不高效。 所造成的缺點(diǎn)是信息系統(tǒng)中請(qǐng)求與響應(yīng)之間的延遲可能升高至不可接受的水平。因此,需要改進(jìn)在復(fù)雜的信息系統(tǒng)中執(zhí)行數(shù)據(jù)中間處理的方式。
發(fā)明內(nèi)容
相應(yīng)地,本發(fā)明的目的是消除或減輕上述問(wèn)題中的至少一些。作為本發(fā)明背后的概念思想,本發(fā)明的發(fā)明人已意識(shí)到,可以通過(guò)僅仔細(xì)選擇消 息參數(shù)的子集以進(jìn)行解析,從而僅產(chǎn)生僅表示所選子集中的所解析參數(shù)的、受限的運(yùn)行時(shí) 數(shù)據(jù)結(jié)構(gòu),來(lái)避免將輸入數(shù)據(jù)消息的所有消息參數(shù)完全解析為完整的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)。由 于發(fā)明人的這種見(jiàn)解,使處理時(shí)間以及存儲(chǔ)處理方面的改進(jìn)變得可行。已經(jīng)將該概念思想簡(jiǎn)化為至少根據(jù)以下所述的本發(fā)明的方面和實(shí)施例來(lái)實(shí)施。因此,本發(fā)明的一方面在于一種在數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行數(shù)據(jù)中間處理的方法,所 述網(wǎng)絡(luò)能夠傳送用于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源提供的數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù) 據(jù)消息,以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪問(wèn)的第一格 式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù),所述數(shù)據(jù)消息被編碼為用于在數(shù)據(jù)通信網(wǎng) 絡(luò)中傳輸?shù)牡诙袷?,所述方法包括從所述?shù)據(jù)通信網(wǎng)絡(luò)接收傳入的數(shù)據(jù)流;
對(duì)傳入的數(shù)據(jù)流進(jìn)行分析以確定所述傳入的數(shù)據(jù)流中的輸入第二格式消息;通過(guò)對(duì)所述多個(gè)消息參數(shù)的所選子集進(jìn)行解析,對(duì)輸入第二格式消息的一部分進(jìn) 行處理;產(chǎn)生運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)以表示所選子集中的所解析的消息參數(shù);通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,所述數(shù)據(jù)中 間處理邏輯定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,所述動(dòng)作包括在必要時(shí),通過(guò)對(duì)所選子 集中的消息參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所解析的消息參數(shù)來(lái)添加新的消息參數(shù), 對(duì)所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)進(jìn)行適配;根據(jù)輸入第二格式消息以及在對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的步驟中適 配的所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),構(gòu)建輸出第二格式消息;以及在所述數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流中發(fā)送所述輸出第二格式消息。本發(fā)明的該方面將提供數(shù)據(jù)中間處理的顯著性能增益,這是由于未對(duì)輸入消息完 全進(jìn)行解析。取而代之,該解析被限于所選消息參數(shù),并且僅針對(duì)這些所解析的消息產(chǎn)生運(yùn) 行時(shí)數(shù)據(jù)結(jié)構(gòu)。這將允許以更緊湊的方式設(shè)計(jì)中間處理邏輯,從而節(jié)約存儲(chǔ)空間和處理成 本。由于可以使數(shù)據(jù)中間處理變得更加高效,因此可以減小系統(tǒng)中請(qǐng)求與響應(yīng)之間的延遲。典型地,數(shù)據(jù)服務(wù)由多個(gè)分布式數(shù)據(jù)資源來(lái)提供,其中,由所述數(shù)據(jù)中間處理邏輯 定義的動(dòng)作包括要對(duì)傳入的數(shù)據(jù)消息采取的路由動(dòng)作,以將所述傳入的數(shù)據(jù)消息引導(dǎo)至所 述多個(gè)分布式數(shù)據(jù)資源中正確的分布式數(shù)據(jù)資源。在一個(gè)或多個(gè)實(shí)施例中,在分析步驟中,將輸入第二格式消息存儲(chǔ)在存儲(chǔ)器中并 保存于其中,其中,構(gòu)建輸出第二格式消息的步驟包括使輸出第二格式消息整體地或部分 地基于保存在存儲(chǔ)器中的輸入第二格式消息。由于與現(xiàn)有技術(shù)方式相比,輸出第二格式消 息不是根據(jù)(以用于數(shù)據(jù)訪問(wèn)的第一格式)表示整個(gè)數(shù)據(jù)消息的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)來(lái)從頭開(kāi) 始構(gòu)建的,而是直接根據(jù)所存儲(chǔ)的輸入第二格式消息(已經(jīng)以用于傳輸?shù)牡诙袷酱嬖? 來(lái)構(gòu)建的,輸出消息的構(gòu)建能夠更快速且以更高存儲(chǔ)效率來(lái)進(jìn)行。對(duì)于這樣的一個(gè)或多個(gè)實(shí)施例,在通過(guò)進(jìn)行解析來(lái)進(jìn)行處理的步驟期問(wèn),有利地, 在所述存儲(chǔ)器中設(shè)置和維持指向輸入第二格式消息內(nèi)的所解析的消息參數(shù)的位置的指針, 以便進(jìn)一步改進(jìn)處理效率和存儲(chǔ)處理。對(duì)于這樣的一個(gè)或多個(gè)實(shí)施例,當(dāng)在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)進(jìn)行處理的步 驟期間已經(jīng)將所解析的消息參數(shù)中的任一個(gè)的數(shù)據(jù)值適配為新值時(shí),構(gòu)建輸出第二格式消 息的步驟包括在所述存儲(chǔ)器中數(shù)據(jù)值原始存儲(chǔ)的位置,利用新值來(lái)蓋寫(xiě)數(shù)據(jù)值。這里,有 益地使用先前在通過(guò)進(jìn)行解析來(lái)進(jìn)行處理的步驟期間在所述存儲(chǔ)器中設(shè)置和維持的、指向 輸入第二格式消息內(nèi)的所解析的消息參數(shù)的位置的指針。當(dāng)在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)進(jìn)行處理的步驟期間已經(jīng)將所解析的消息參 數(shù)中的單個(gè)消息參數(shù)的數(shù)據(jù)值適配為需要與所述第二格式的所述數(shù)據(jù)值不同的數(shù)據(jù)長(zhǎng)度 的新值時(shí),構(gòu)建輸出第二格式消息的步驟可以包括在所述存儲(chǔ)器中數(shù)據(jù)值原始存儲(chǔ)的位置,利用新值替換數(shù)據(jù)值;在所述存儲(chǔ)器中更新所述單個(gè)參數(shù)的長(zhǎng)度值;對(duì)所述存儲(chǔ)器中存儲(chǔ)的輸入第二格式消息進(jìn)行處理,以適應(yīng)所述單個(gè)參數(shù)的不同 數(shù)據(jù)長(zhǎng)度;以及
更新受所適配的單個(gè)參數(shù)影響的任何其他長(zhǎng)度值。這種其他長(zhǎng)度值可以例如是包 含的(高級(jí))消息參數(shù)的長(zhǎng)度值或者輸入第二格式消息的總長(zhǎng)度值。對(duì)所存儲(chǔ)的輸入第二格式消息的處理可以包括將所存儲(chǔ)的輸入第二格式消息的 尾部剩余部分拷貝或移動(dòng)至存儲(chǔ)器中的鄰接存儲(chǔ)位置,以在存儲(chǔ)器的連續(xù)存儲(chǔ)區(qū)域中維持 所存儲(chǔ)的輸入第二格式消息。通過(guò)在所述存儲(chǔ)器的連續(xù)存儲(chǔ)區(qū)域中維持所存儲(chǔ)的輸入第二 格式消息,即作為存儲(chǔ)器中的單個(gè)字節(jié)序列,發(fā)送步驟將是非常高效的,這是由于可以從連 續(xù)的存儲(chǔ)區(qū)域中讀取完整的輸出數(shù)據(jù)消息而無(wú)需任何(重新)分配存儲(chǔ)器的操作。然而, 作為備選,可以取而代之地允許所存儲(chǔ)的輸入第二格式消息變?yōu)橛捎谏鲜龈聰?shù)據(jù)值長(zhǎng)度 的步驟而被分段為所述存儲(chǔ)器中的多個(gè)存儲(chǔ)區(qū)域。在這種情況下,可以在發(fā)送步驟期間挑 選分段后的數(shù)據(jù)消息片段,并在傳出的數(shù)據(jù)流中將其組合為單個(gè)輸出數(shù)據(jù)消息。在一個(gè)或多個(gè)實(shí)施例中,所述方法還包括在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)進(jìn)行處理的步驟中,確定是否需要對(duì)任何附加消 息參數(shù)進(jìn)行解析;以及如果需要,則對(duì)來(lái)自輸入第二格式消息的附加部分的、未包括在所述多個(gè)消息參數(shù)的所選子集 中的至少一個(gè)附加消息參數(shù)進(jìn)行解析;以及對(duì)所述至少一個(gè)附加消息參數(shù)進(jìn)行處理。因此,根據(jù)這樣的一個(gè)或多個(gè)實(shí)施例,將對(duì)輸入消息的處理劃分為兩個(gè)階段第 一強(qiáng)制階段,其中,始終對(duì)消息參數(shù)的所選受限子集進(jìn)行解析,而與所涉及的消息的類型無(wú) 關(guān);以及第二階段,僅當(dāng)在第一階段中或在第一階段之后由中間處理邏輯確定所涉及的消 息具有特定類型或者包含或請(qǐng)求特定數(shù)據(jù)從而需要附加處理時(shí)才執(zhí)行。由于在第一階段 中解析的消息參數(shù)的子集較小(僅最小范圍的參數(shù))但對(duì)于許多常見(jiàn)消息類型來(lái)說(shuō)足夠, 因此通常執(zhí)行第一階段便足以完成數(shù)據(jù)中間處理,從而提供了特別高效的數(shù)據(jù)中間處理方 式。對(duì)所述至少一個(gè)附加消息參數(shù)進(jìn)行處理的步驟可以包括將數(shù)據(jù)中間處理邏輯還 應(yīng)用于所解析的至少一個(gè)附加消息參數(shù)。在一個(gè)或多個(gè)實(shí)施例中,由所述多個(gè)分布式數(shù)據(jù)資源提供的數(shù)據(jù)服務(wù)可以包括目 錄服務(wù)。用于數(shù)據(jù)訪問(wèn)的第一格式可以符合輕量目錄訪問(wèn)協(xié)議(LDAP),用于傳輸?shù)牡诙?式可以是符合抽象語(yǔ)法標(biāo)記1(ASN. 1)的編碼規(guī)則中的任一個(gè)的編碼格式。因此,對(duì)于這樣的一個(gè)或多個(gè)實(shí)施例,將抽象語(yǔ)法標(biāo)記1 (ASN. 1)標(biāo)準(zhǔn)與其編碼規(guī) 則中的任一個(gè)一起使用,將第一格式數(shù)據(jù)消息(符合LDAP)編碼為用于傳輸?shù)牡诙袷?。這 些編碼規(guī)則包括基本編碼規(guī)則(BER)、規(guī)范編碼規(guī)則(CER)、唯一編碼規(guī)則(DER)、xml編碼 規(guī)則(XER)、壓縮編碼規(guī)則(PER)和通用串編碼規(guī)則(GSER)。然而,能夠想到,其他實(shí)施例 可以用于具有除LDAP外的其他數(shù)據(jù)訪問(wèn)格式和/或除ASN. 1標(biāo)準(zhǔn)的編碼規(guī)則外的其他傳 輸格式的數(shù)據(jù)消息的數(shù)據(jù)中間處理。在一個(gè)有利實(shí)施例中,目錄服務(wù)在移動(dòng)電信系統(tǒng)中實(shí)現(xiàn)歸屬位置寄存器(HLR)或 歸屬訂戶服務(wù)器(HSS)的數(shù)據(jù)層。這種移動(dòng)電信系統(tǒng)可以例如符合GSM、UMTS、D-AMPS、 CDMA2000、FOMA或TD-SCDMA,或者符合第四代或更高架構(gòu)中的任何未來(lái)標(biāo)準(zhǔn)。認(rèn)為本發(fā)明 在未來(lái)電信系統(tǒng)架構(gòu)中特別有益,其中,HLR或HSS很可能被劃分為“無(wú)數(shù)據(jù)”前端設(shè)備, 該“無(wú)數(shù)據(jù)”前端設(shè)備對(duì)業(yè)務(wù)和信令進(jìn)行控制但不包含電信目錄數(shù)據(jù);以及單獨(dú)的一般數(shù)據(jù)
8層,通過(guò)LDAP服務(wù)而實(shí)現(xiàn)。鑒于這種目錄的“電信級(jí)”大小,數(shù)據(jù)層將包含巨大量的數(shù)據(jù)并 將必須向外擴(kuò)展至許多實(shí)現(xiàn)的數(shù)據(jù)資源(LDAP服務(wù)器)上以及在地理上向外擴(kuò)展。數(shù)據(jù)中 間處理在這種環(huán)境中變?yōu)殛P(guān)鍵任務(wù),本發(fā)明提供的在效率上的可觀改進(jìn)被認(rèn)為是特別有價(jià) 值的。在該有利實(shí)施例或另一有利實(shí)施例中,數(shù)據(jù)服務(wù)由多個(gè)分布式數(shù)據(jù)資源來(lái)提供, 并至少包括消息收發(fā)服務(wù)或?qū)﹄娦欧?wù)的收費(fèi)。本發(fā)明的實(shí)施例對(duì)于信息系統(tǒng)來(lái)說(shuō)是特別有利的,其中,數(shù)據(jù)服務(wù)由多個(gè)分布式 數(shù)據(jù)資源來(lái)提供,并包括對(duì)分布在特定類型的目錄和/或不同類型的多個(gè)目錄的多個(gè)實(shí)例 上的數(shù)據(jù)對(duì)象或?qū)嶓w的訪問(wèn),其中,所述數(shù)據(jù)中間處理邏輯要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng) 作用于形成所述數(shù)據(jù)服務(wù)的請(qǐng)求方對(duì)所述多個(gè)分布式數(shù)據(jù)資源的公共訪問(wèn)點(diǎn)。本發(fā)明的第二方面是一種包括計(jì)算機(jī)可讀介質(zhì)在內(nèi)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算 機(jī)可讀介質(zhì)上具有包括程序指令在內(nèi)的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序能夠被加載至數(shù)據(jù)處 理單元中,并適于在所述計(jì)算機(jī)程序由所述數(shù)據(jù)處理單元運(yùn)行時(shí)使所述數(shù)據(jù)處理單元執(zhí)行 根據(jù)本發(fā)明第一方面的步驟。本發(fā)明的第三方面是一種用于在數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行數(shù)據(jù)中間處理的數(shù)據(jù)中間 處理設(shè)備,所述網(wǎng)絡(luò)能夠傳送用于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源提供的數(shù)據(jù)服務(wù) 的請(qǐng)求的數(shù)據(jù)消息,以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪 問(wèn)的第一格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù),所述數(shù)據(jù)消息被編碼為用于在 數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷?,所述?shù)據(jù)中間處理設(shè)備包括用于從所述數(shù)據(jù)通信網(wǎng)絡(luò)接收傳入的數(shù)據(jù)流并對(duì)傳入的數(shù)據(jù)流進(jìn)行分析以確定 所述傳入的數(shù)據(jù)流中的輸入第二格式消息的一個(gè)或多個(gè)模塊;用于通過(guò)對(duì)所述多個(gè)消息參數(shù)的所選子集進(jìn)行解析來(lái)對(duì)輸入第二格式消息的一 部分進(jìn)行處理并產(chǎn)生運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)以表示所選子集中的所解析的消息參數(shù)的一個(gè)或多 個(gè)模塊;用于通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的一個(gè) 或多個(gè)模塊,所述數(shù)據(jù)中間處理邏輯定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,所述動(dòng)作包括 在必要時(shí),通過(guò)對(duì)所選子集中的消息參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所解析的消息參 數(shù)來(lái)添加新的消息參數(shù),對(duì)所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)進(jìn)行適配;用于根據(jù)輸入第二格式消息以及由所述用于對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處 理的一個(gè)或多個(gè)模塊適配的所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),構(gòu)建輸出第二格式消息的一個(gè)或多個(gè)模 塊;以及用于在所述數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流中發(fā)送所述輸出第二格式消息的一 個(gè)或多個(gè)模塊。本發(fā)明的第四方面是一種信息系統(tǒng),包括一個(gè)或多個(gè)分布式數(shù)據(jù)資源;數(shù)據(jù)通信網(wǎng)絡(luò),能夠傳送用于表示針對(duì)由所述一個(gè)或多個(gè)分布式數(shù)據(jù)資源提供的 數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息,以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的響應(yīng),所述請(qǐng)求是以用 于數(shù)據(jù)訪問(wèn)的第一格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù),所述數(shù)據(jù)消息被編碼 為用于在數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷剑灰约?br>
根據(jù)本發(fā)明第三方面的數(shù)據(jù)中間處理設(shè)備。本發(fā)明的第二、第三和第四方面的實(shí)施例一般可以具有與第一方面的上述特征中 的任一個(gè)相同或直接相對(duì)應(yīng)的特征。應(yīng)當(dāng)強(qiáng)調(diào),本說(shuō)明書(shū)中使用的術(shù)語(yǔ)“包括”被視為指定存在所述特征、組分、步驟或 部件,但不排除存在或添加一個(gè)或多個(gè)其他特征、組分、步驟、組件或其組合。
參照附圖,通過(guò)以下具體實(shí)施方式
,本發(fā)明的實(shí)施例的目的、特征和優(yōu)勢(shì)將變得顯 而易見(jiàn),在附圖中圖1是在復(fù)雜信息系統(tǒng)中執(zhí)行數(shù)據(jù)中間處理的現(xiàn)有技術(shù)方式的示意圖;圖2是可實(shí)施本發(fā)明實(shí)施例的信息系統(tǒng)的非限制性示例的示意圖;圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的具有以LDAP目錄服務(wù)器形式存在的多個(gè)分布式 數(shù)據(jù)資源以及數(shù)據(jù)中間處理設(shè)備的信息系統(tǒng)的示意圖;圖4和5示意性地示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的執(zhí)行數(shù)據(jù)中間處理的方法;圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)中間處理設(shè)備的功能模塊;以及圖7和8是示出了本發(fā)明實(shí)施例與來(lái)自商用供應(yīng)商的現(xiàn)有數(shù)據(jù)中間處理軟件之間 的性能測(cè)試的圖形。
具體實(shí)施例方式現(xiàn)在將參照附圖來(lái)描述本發(fā)明的實(shí)施例。然而,本發(fā)明可以以許多不同形式體現(xiàn), 并且不應(yīng)理解為限于這里闡述的實(shí)施例;更確切地說(shuō),提供這些實(shí)施例,使得本公開(kāi)是全面 且完整的,并將向本領(lǐng)域技術(shù)人員完整地傳達(dá)本發(fā)明的范圍。附圖中所示的具體實(shí)施例的具體實(shí)施方式
中使用的術(shù)語(yǔ)并不意在限制本發(fā)明。在附圖中,類似的標(biāo)記表示類似的元素。在轉(zhuǎn)至所公開(kāi)的實(shí)施例的具體實(shí)施方式
之前,現(xiàn)在將參照?qǐng)D2來(lái)簡(jiǎn)要描述可實(shí)施 這些實(shí)施例的示例環(huán)境。圖2公開(kāi)了信息系統(tǒng)100,在系統(tǒng)中的請(qǐng)求側(cè)具有數(shù)據(jù)服務(wù)的多個(gè)請(qǐng)求方 llOa-llOn,并在系統(tǒng)中的響應(yīng)側(cè)具有一個(gè)或多個(gè)(典型為多個(gè))數(shù)據(jù)資源140a-140n。請(qǐng) 求方IlOa-IlOn(可以是軟件應(yīng)用)通過(guò)發(fā)送在數(shù)據(jù)通信網(wǎng)絡(luò)120中傳輸、由數(shù)據(jù)中間處 理器130處理且最終被轉(zhuǎn)發(fā)至數(shù)據(jù)資源140a-140n的數(shù)據(jù)消息112,請(qǐng)求由多個(gè)數(shù)據(jù)資源 140a-140n提供的信息或功能。數(shù)據(jù)中間處理器130充當(dāng)請(qǐng)求方IlOa-IlOn對(duì)數(shù)據(jù)資源 140a-140n的訪問(wèn)點(diǎn),從而實(shí)現(xiàn)請(qǐng)求側(cè)與響應(yīng)側(cè)之間的通信。當(dāng)請(qǐng)求方IlOa(等等)要進(jìn)行請(qǐng)求時(shí),其將以用于數(shù)據(jù)訪問(wèn)的第一格式創(chuàng)建數(shù)據(jù) 消息11 。數(shù)據(jù)消息具有多個(gè)消息參數(shù)114,消息參數(shù)114包含指定所請(qǐng)求的數(shù)據(jù)服務(wù)所必 需的數(shù)據(jù)。一旦被創(chuàng)建,數(shù)據(jù)消息就被編碼為用于傳輸?shù)牡诙袷剑缭?1 處所示。第 二格式使得可以將編碼后的數(shù)據(jù)消息11 方便地發(fā)送至數(shù)據(jù)通信網(wǎng)絡(luò)120上。因此,如在11 處所示,包括來(lái)自請(qǐng)求方IlOa的編碼后消息在內(nèi)的、來(lái)自請(qǐng)求方 IlOa-IlOn中任一個(gè)的編碼后數(shù)據(jù)消息將在通信網(wǎng)絡(luò)120中傳輸,并到達(dá)數(shù)據(jù)中間處理器 130。從而,數(shù)據(jù)中間處理器130將接收傳入的數(shù)據(jù)流116,對(duì)其進(jìn)行分析以確定傳入的數(shù)據(jù) 流中的來(lái)自請(qǐng)求方IlOa的輸入第二格式消息1123,并將其存儲(chǔ)在內(nèi)部存儲(chǔ)器中,如在11 處所示。如將參照其余附圖更詳細(xì)地解釋的,數(shù)據(jù)中間處理器130將通過(guò)對(duì)多個(gè)消息參數(shù) 114的所選子集進(jìn)行解析來(lái)對(duì)輸入第二格式消息11 的一部分進(jìn)行處理,并產(chǎn)生受限的運(yùn) 行時(shí)數(shù)據(jù)結(jié)構(gòu)134以表示所選子集中的所解析的消息參數(shù)。然后,數(shù)據(jù)中間處理器130將 通過(guò)應(yīng)用預(yù)定義數(shù)據(jù)中間處理邏輯132來(lái)對(duì)所產(chǎn)生的受限運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)134進(jìn)行處理, 所述數(shù)據(jù)中間處理邏輯定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,以將其引導(dǎo)至多個(gè)分布式數(shù) 據(jù)資源140a-140n中正確的數(shù)據(jù)資源,所述動(dòng)作包括在必要時(shí),通過(guò)對(duì)所選子集中的消息 參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所解析的消息參數(shù)來(lái)添加新的消息參數(shù),對(duì)所產(chǎn)生的 受限數(shù)據(jù)結(jié)構(gòu)134進(jìn)行適配。然后,數(shù)據(jù)中間處理器130將根據(jù)在11 處存儲(chǔ)的輸入第二格式消息11 以及在 必要時(shí)在由數(shù)據(jù)中間處理邏輯132對(duì)所產(chǎn)生的受限數(shù)據(jù)結(jié)構(gòu)134進(jìn)行處理期間適配的所產(chǎn) 生的有限數(shù)據(jù)結(jié)構(gòu)134,構(gòu)建輸出第二格式消息1125。然后,將在數(shù)據(jù)通信網(wǎng)絡(luò)120上,在傳 出的數(shù)據(jù)流118中向多個(gè)數(shù)據(jù)資源140a-140n發(fā)送輸出第二格式消息,如在11 處所示。圖3示出了使用基于LDAP的目錄服務(wù)的復(fù)雜信息系統(tǒng)的示例,可在移動(dòng)電信系統(tǒng) 中用于管理訂戶相關(guān)事務(wù)。如圖3所示,響應(yīng)側(cè)(即,數(shù)據(jù)資源M0)包括數(shù)據(jù)資源MOa1+ 240b1_2……MOrvdP 242η的復(fù)雜結(jié)構(gòu)。在這些數(shù)據(jù)資源中,數(shù)據(jù)資源M0ai_3、240lv2…… 對(duì)此㈠是!^^ 目錄,而數(shù)據(jù)資源屬于不同類型,稱作“協(xié)議X”。接收機(jī)側(cè)可以例如在 如第四代或更高的未來(lái)移動(dòng)電信系統(tǒng)架構(gòu)中實(shí)現(xiàn)歸屬位置寄存器(HLR)和/或歸屬訂戶服 務(wù)器(HSS)的數(shù)據(jù)層。如圖所示,數(shù)據(jù)資源240是在向外擴(kuò)展的意義上(涉及不同對(duì)象或 實(shí)體(如電信用戶)的數(shù)據(jù)分布在同一類型的目錄的多個(gè)實(shí)例上(如在M0ai_3處所示)) 以及在信息樹(shù)分布的意義上(不同類型的信息位于不同類型的目錄(即,不同類型的LDAP 目錄以及協(xié)議X目錄)中)分布的。數(shù)據(jù)中間處理器230形成請(qǐng)求應(yīng)用210a-210n對(duì)數(shù)據(jù)資源240的復(fù)雜結(jié)構(gòu)的單個(gè) 訪問(wèn)點(diǎn)。數(shù)據(jù)中間處理器230從而隱藏應(yīng)用210a-210n的響應(yīng)側(cè)的下游復(fù)雜度和拓?fù)?信 息和網(wǎng)絡(luò))。在201處示意性地示出了數(shù)據(jù)中間處理器230如何有效地提供應(yīng)用210a-210n 對(duì)“虛擬目錄”的接口,該“虛擬目錄”被應(yīng)用210a-210n視為本質(zhì)上單個(gè)目錄,但該“虛擬 目錄”實(shí)際上通過(guò)目錄^(^+2401^2……240ηι_4和242Η的復(fù)雜結(jié)構(gòu)而實(shí)現(xiàn)。目錄M0ai_3、240lv2……240ηι_4和242^的大小可能是巨大的;包含多至幾千萬(wàn) 個(gè)訂戶,每個(gè)訂戶由多個(gè)標(biāo)識(shí)符標(biāo)識(shí),并且包含每秒100,000個(gè)事務(wù)的量級(jí)的總吞吐量。然 而,由于根據(jù)本發(fā)明的執(zhí)行數(shù)據(jù)中間處理的高效方法,可以降低處理和存儲(chǔ)成本,并且可以 實(shí)現(xiàn)請(qǐng)求與響應(yīng)之間的可接受的延遲。圖4和5更詳細(xì)地示出了應(yīng)用于如圖3所示的LDAP至LDAP數(shù)據(jù)中間處理情形時(shí), 根據(jù)本發(fā)明的數(shù)據(jù)中間處理的原理。如前所述,不同于現(xiàn)有技術(shù),本發(fā)明的關(guān)鍵特征在于 根據(jù)所接收的輸入二進(jìn)制消息,實(shí)際上僅將所選部分解析為將容易地可用作中間處理邏輯 的輸入的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)。這帶來(lái)了有益的節(jié)約;該解析僅必須檢查二進(jìn)制消息,直到找到 所有所需參數(shù)的時(shí)間點(diǎn)為止,并且,可以避免對(duì)不必要的數(shù)據(jù)結(jié)構(gòu)進(jìn)行構(gòu)造從而保持?jǐn)?shù)據(jù) 中間處理實(shí)際上不需要的信息。此外,這導(dǎo)致對(duì)拷貝數(shù)據(jù)的需要減少以及減少存儲(chǔ)器分配, 在適合的時(shí)候包括垃圾收集。在圖4中,在步驟250中,數(shù)據(jù)中間處理器130、230從數(shù)據(jù)通信網(wǎng)絡(luò)120、220接收傳入的數(shù)據(jù)流216。對(duì)數(shù)據(jù)流216進(jìn)行分析,以通過(guò)成幀處理來(lái)確定完整的輸入數(shù)據(jù)消息 212in。輸入數(shù)據(jù)消息212^可以是由請(qǐng)求方以用于數(shù)據(jù)訪問(wèn)的第一格式創(chuàng)建的LDAP消息 (例如,圖2中的請(qǐng)求方IlOa或圖3中的應(yīng)用210a創(chuàng)建的消息112》的BER編碼的二進(jìn)制 表示,用于表示例如針對(duì)由被實(shí)現(xiàn)為例如LDAP目錄服務(wù)器的多個(gè)數(shù)據(jù)資源140、240中的任 一個(gè)提供的數(shù)據(jù)服務(wù)的請(qǐng)求。在被編碼為用于傳輸?shù)钠涞诙袷綍r(shí),輸入數(shù)據(jù)消息211 包 含字節(jié)213序列,在接收時(shí)將其存儲(chǔ)在數(shù)據(jù)中間處理器130、230的存儲(chǔ)器中。如前所述,LDAP消息(以其第一格式存在)包含多個(gè)消息參數(shù)114、214。在步驟 252中,數(shù)據(jù)中間處理器130、230對(duì)輸入數(shù)據(jù)消息212in執(zhí)行解析。更具體地,如圖5所示, 僅選擇可用消息參數(shù)214的子集215以由數(shù)據(jù)中間處理邏輯132進(jìn)行解析以及隨后處理。 在圖5中,該消息表示LDAP SearchRequest,消息參數(shù)的所選子集215包含messageld、 SearchRequest和baseOb ject參數(shù),而不選擇LDAP SearchRequest的其他參數(shù)217以在步 驟252中進(jìn)行解析。因此,步驟252僅對(duì)輸入數(shù)據(jù)消息212in的前導(dǎo)部分進(jìn)行操作,并僅對(duì) 其消息參數(shù)的所選子集215進(jìn)行解析。由此,產(chǎn)生受限的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)234,以僅表示所 解析的消息參數(shù)。本領(lǐng)域技術(shù)人員認(rèn)為適當(dāng)時(shí),可以例如以表示每個(gè)所解析的參數(shù)的數(shù)據(jù) 對(duì)象或數(shù)據(jù)變量的集合的形式來(lái)實(shí)現(xiàn)受限運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)234,或者可以將受限運(yùn)行時(shí)數(shù) 據(jù)結(jié)構(gòu)234實(shí)現(xiàn)為整體表示所解析的消息參數(shù)的子集的數(shù)據(jù)記錄。在步驟252完成時(shí),如 現(xiàn)有技術(shù)中所進(jìn)行的,不丟棄輸入二進(jìn)制消息212in,而是相反,保存輸入二進(jìn)制消息 以便隨后用于在步驟256中高效地構(gòu)建輸出二進(jìn)制消息212。ut。因此,在步驟252中進(jìn)行解 析期間,在存儲(chǔ)器中設(shè)置和維持指向輸入消息212in內(nèi)的所解析的消息參數(shù)的位置的指針, 以便在后續(xù)構(gòu)建步驟256期間進(jìn)一步改進(jìn)處理效率和存儲(chǔ)處理。然而,首先,在步驟254中,數(shù)據(jù)中間處理器130、230執(zhí)行或應(yīng)用預(yù)定義數(shù)據(jù)中間 處理邏輯132。這包括對(duì)具有所選子集215中的所解析的消息參數(shù)的所產(chǎn)生的受限運(yùn)行 時(shí)數(shù)據(jù)結(jié)構(gòu)234進(jìn)行處理;以及在必要時(shí)對(duì)消息參數(shù)進(jìn)行適配,以便隨后在接收側(cè)向其目 的地傳送數(shù)據(jù)消息。對(duì)消息參數(shù)進(jìn)行適配可以包括將運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)234修改為修改后 的版本234’,反映由數(shù)據(jù)中間處理邏輯在步驟2M期間生成的任何改變的、刪除的或添加 的消息參數(shù)。在一些情況下,數(shù)據(jù)中間處理邏輯132可以推斷出所選子集215中的所解析的消 息參數(shù)不足以完成數(shù)據(jù)中間處理器的任務(wù);因此,如步驟255中所示,確定是否需要對(duì)來(lái)自 輸入消息212in的一個(gè)或多個(gè)附加參數(shù)進(jìn)行解析。如果需要,則通過(guò)在搜索所需的附加消 息參數(shù)時(shí)對(duì)輸入消息212in的附加部分進(jìn)行解析來(lái)重復(fù)步驟252,并且在必要時(shí)還重復(fù)步驟 254。在步驟256中,數(shù)據(jù)中間處理器130、230根據(jù)所存儲(chǔ)的輸入二進(jìn)制消息來(lái)構(gòu) 建輸出二進(jìn)制消息212。ut,該輸入二進(jìn)制消息212ine經(jīng)方便地以用于傳輸?shù)牡诙?二進(jìn)制) 格式可用,并存儲(chǔ)在數(shù)據(jù)中間處理器130、230的存儲(chǔ)器中。這種對(duì)所存儲(chǔ)的輸入二進(jìn)制消 息212in的字節(jié)213序列的重用以構(gòu)建輸出二進(jìn)制消息212。ut由圖4中的箭頭260來(lái)指示, 并表示構(gòu)建輸出消息的處理和存儲(chǔ)高效方式。從修改后的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)234’檢索任何所適配的消息參數(shù),并將這些消息參數(shù) 并入輸入二進(jìn)制消息212in以構(gòu)建輸出消息212。ut。有益地使用在解析步驟252期間在存儲(chǔ) 器中設(shè)置和維持的、指向輸入消息212in內(nèi)的所解析的消息參數(shù)的位置的指針。根據(jù)修改后的消息參數(shù)的大小和范圍,該過(guò)程可以采用不同的形式在最簡(jiǎn)單的情況下,僅需要蓋寫(xiě)修改后的消息參數(shù)的實(shí)際數(shù)據(jù)值,例如當(dāng)改變整 數(shù)值以及新值處于與初始值相同的范圍內(nèi)時(shí)。產(chǎn)生新長(zhǎng)度的二進(jìn)制編碼值的更新值操作更加復(fù)雜一些。在這種情況下,需要在 編碼后的消息中反映長(zhǎng)度的改變。典型地,這意味著更新該值自身的長(zhǎng)度字段以及任何包 含它的(高級(jí))消息參數(shù)的長(zhǎng)度值(如總消息長(zhǎng)度)。這種改變還將需要將所存儲(chǔ)的輸入 消息212in的尾部剩余部分拷貝或移動(dòng)至存儲(chǔ)器中的鄰接存儲(chǔ)位置的操作,以在存儲(chǔ)器的 連續(xù)存儲(chǔ)區(qū)域中維持所存儲(chǔ)的輸入第二格式消息。通過(guò)在存儲(chǔ)器的連續(xù)存儲(chǔ)區(qū)域中維持所存儲(chǔ)的輸入第二格式消息2Uin,即作為存 儲(chǔ)器中的單個(gè)字節(jié)序列,隨后的發(fā)送步驟258將是非常高效的,這是由于可以從連續(xù)存儲(chǔ) 區(qū)域中讀取完整的輸出消息212。ut而無(wú)需任何(重新)分配存儲(chǔ)器的操作。然而,作為備 選,可以取而代之地允許所存儲(chǔ)的輸入消息212in變?yōu)橛捎谏鲜龈聰?shù)據(jù)值長(zhǎng)度的步驟而 被分段為存儲(chǔ)器中的多個(gè)存儲(chǔ)區(qū)域。在這種情況下,可以在發(fā)送步驟期間挑選分段后的數(shù) 據(jù)消息片段,并在傳出的數(shù)據(jù)流中將其組合為單個(gè)輸出數(shù)據(jù)消息。如果消息的大小較大,則 后一種備選方案可能是優(yōu)選的,但是應(yīng)當(dāng)注意,在正常情況下,字節(jié)數(shù)組的直接拷貝是低成 本且快速的操作。最后,在數(shù)據(jù)通信網(wǎng)絡(luò)120、220上,在傳出的數(shù)據(jù)流218中發(fā)送由此產(chǎn)生的輸出數(shù) 據(jù)消息212。ut。注意,以上描述涉及以一般方式對(duì)LDAP消息的處理,因此,相同的觀察適用于對(duì) 從請(qǐng)求側(cè)接收的請(qǐng)求和從響應(yīng)側(cè)接收的響應(yīng)的處理?,F(xiàn)在將更細(xì)致地查看兩個(gè)常見(jiàn)LDAP消息——SearchRequest和 SearchResultEntry,以及可以如何通過(guò)上述數(shù)據(jù)中間處理來(lái)處理它們??傮wLDAP消息結(jié)構(gòu)由以下ASN. 1定義來(lái)定義
LDAPMessage: = SEQUENCE{
messageID MessageID,
protocolOp CHOICE{
bindRequestBindRequest,
bindResponseBindResponse,
unbindRequestUnbindRequest,
searchRequestSearchRequest,
searchResEntrySearchResultEntry,
searchResDoneSearchResultDone,
searchResRefSearchResultReference,
modifyRequestModifyRequest,
modifyResponseModifyResponse,
addRequestAddRequest,
addResponseAddResponse,
delRequestDelRequest,
delResponseDelResponse,
intermediateResponse IntermediateResponse}, controls
Controls OPTIONAL}
modDNRequestModifyDNRequest,
modDNResponseModifyDNResponse,
compareRequestCompareRequest,
compareResponseCompareResponse,
abandonRequestAbandonRequest,
extendedReqExtendedRequest,
extendedRespExtendedResponse,如以用于傳輸?shù)牡诙袷蕉幋a的,可以通過(guò)對(duì)第一 SEQUENCE進(jìn)行BER編碼,從 信息的第一字節(jié)導(dǎo)出消息的完整長(zhǎng)度。需要該信息來(lái)對(duì)請(qǐng)求進(jìn)行適當(dāng)?shù)某蓭?,即,以確定何 時(shí)接收到完整的請(qǐng)求。關(guān)于接下來(lái)的messagelD,應(yīng)當(dāng)注意,潛在地,其可以有益于將響應(yīng)和請(qǐng)求進(jìn)行相 關(guān)。但是,在許多情況下,由較低網(wǎng)絡(luò)層(即TCP)給出的信息足以進(jìn)行這種相關(guān)。在所公開(kāi)的實(shí)施例中,始終對(duì)messageld和隨后的protocolOp進(jìn)行解析和處理。 對(duì)于多個(gè)LDAP消息,這實(shí)際上表示足以進(jìn)行適當(dāng)處理(即,正確地轉(zhuǎn)發(fā)消息、更新與LDAP 會(huì)話有關(guān)的所保存的內(nèi)部狀態(tài)、檢測(cè)差錯(cuò)的特定分類等等)的信息。如下定義的LDAP SearchRequest需要另外的一些解析SearchRequest: = [APPLICATION 3]SEQUENCE{baseObject LDAPDN,scopeENUMERATED{baseObject(0),singleLevel(1),wholeSubtree(2),.··},derefAliases ENUMERATED{neverDerefAliases (0),deref InSearching (1),derefFindingBaseObj (2),derefAlways(3)},sizeLimit INTEGER(0. . maxlnt),timeLimit INTEGER(0. . maxlnt),typesOnly BOOLEAN,filterFilter,attributes AttributeSeIection} 需要在對(duì)karchRequest的處理中應(yīng)用的邏輯要基于所請(qǐng)求的信息是什么來(lái)將 SearchRequest路由至正確的下游目錄實(shí)例。在正常情況下,包含在baseObject中的信息 將提供足以正確地進(jìn)行路由的信息,并且解析可以在該參數(shù)之后停止。
在觀察單個(gè)請(qǐng)求時(shí)的潛在節(jié)約可能顯得較小,但必須記住,將非常頻繁地執(zhí)行該 邏輯。還需要查看karchRequest的結(jié)果。^archResultEntry與目錄中的一個(gè)條目相 對(duì)應(yīng),并且是與karchRequest的參數(shù)相匹配的結(jié)果SearchResultEntry: = [APPLICATION 4]SEQUENCE{objectNameLDAPDN,attributes PartialAttributeList}PartialAttributeList:: = SEQUENCE OFpartialAttribute PartialAttributePartialAttribute:: = SEQUENCE{typeAttributeDescription,valsSET OF value Attribute Value}AttributeDescription:: = LDAPString—Constrained to<attributedescription>— [RFC4512]AttributeValue:: = OCTET STRING可以從單個(gè)SearchRequest返回多個(gè)SearchResultEntry項(xiàng)目。在被稱作
SearchResDone的尾部項(xiàng)目中攜帶該搜索自身的實(shí)際狀態(tài)。由于^archResultEntry (可 以)攜帶包含在匹配條目中的所有屬性,因此,其可以1)包含多個(gè)屬性,幻具有非常顯著的 大小。在HLR的情況下,討論構(gòu)成整個(gè)用戶簡(jiǎn)檔的多至超過(guò)1000個(gè)屬性,總大小為10KB的 量級(jí)??梢詫⑺羞@種數(shù)據(jù)解析為較大的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)的直接的現(xiàn)有技術(shù)實(shí)現(xiàn)方式將很 可能附加地對(duì)每請(qǐng)求消耗至少這一數(shù)量的存儲(chǔ)器,(潛在地,如果實(shí)際上不對(duì)屬性自身進(jìn)行 操作,則只要使垃圾收集器忙)。當(dāng)考慮更大的屬性時(shí)(例如,在HSS透明數(shù)據(jù)的情況下), 甚至將進(jìn)一步加劇該情形。圖7和8所示的將回到本文后續(xù)部分的性能測(cè)試已經(jīng)清楚地確 認(rèn),較大響應(yīng)對(duì)來(lái)自商業(yè)供應(yīng)商的所測(cè)試的現(xiàn)有數(shù)據(jù)中間處理軟件的性能具有很大影響。圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)中間處理設(shè)備330的功能模塊。從1至 12編號(hào)的箭頭指示并描述了數(shù)據(jù)中間處理設(shè)備330中的活動(dòng)的流程。數(shù)據(jù)中間處理設(shè)備 330可以根據(jù)之前的附圖來(lái)實(shí)現(xiàn)數(shù)據(jù)中間處理器130或230。如圖6所示,數(shù)據(jù)中間處理設(shè) 備330包括輸入10處理器模塊331,可以處理圖4的步驟250 ;以及初始消息解析器模塊 333,可以處理圖4的步驟252。圖4的步驟254由中間處理邏輯協(xié)調(diào)器模塊335和中間處 理邏輯執(zhí)行器模塊337處理,中間處理邏輯執(zhí)行器模塊337與附加消息解析器模塊339 (步 驟252、255)和協(xié)議狀態(tài)機(jī)模塊341進(jìn)行協(xié)作。中間處理邏輯協(xié)調(diào)器模塊335還與路由表模塊343、連接池模塊345和輸出10處 理器模塊347進(jìn)行協(xié)作,輸出10處理器模塊347可以處理圖4的步驟258并可以包括路由 動(dòng)作,以將傳入的數(shù)據(jù)消息112、212引導(dǎo)至數(shù)據(jù)資源140、240中正確的數(shù)據(jù)資源。在圖6的 實(shí)施例中,圖4的輸出消息構(gòu)建步驟256的功能由中間處理邏輯協(xié)調(diào)器模塊335執(zhí)行。在 其他實(shí)施例中,其可以被實(shí)現(xiàn)為單獨(dú)的模塊,或由其他模塊中的任一個(gè)實(shí)現(xiàn)。在一些實(shí)施例 中,執(zhí)行數(shù)據(jù)中間處理方法所需的數(shù)據(jù)中間處理設(shè)備330的功能被實(shí)現(xiàn)為單個(gè)軟件而不是 模塊。因此,在本發(fā)明的上下文中,“模塊”應(yīng)當(dāng)理解為本領(lǐng)域技術(shù)人員為了實(shí)現(xiàn)本文所教導(dǎo)的數(shù)據(jù)中間處理功能而可以實(shí)現(xiàn)的任何裝置——基于軟件的和/或基于硬件的裝置。當(dāng)這 種功能以軟件實(shí)現(xiàn),即被實(shí)現(xiàn)為包括程序指令在內(nèi)的一個(gè)或多個(gè)計(jì)算機(jī)程序時(shí),數(shù)據(jù)中間 處理設(shè)備330當(dāng)然還將包括為了能夠執(zhí)行軟件和執(zhí)行功能而需要的硬件,包括處理器或其 他數(shù)據(jù)處理單元、工作存儲(chǔ)器、存儲(chǔ)存儲(chǔ)器、內(nèi)部數(shù)據(jù)總線、網(wǎng)絡(luò)接口等。軟件可以存儲(chǔ)在所 述存儲(chǔ)存儲(chǔ)器中和/或存儲(chǔ)在另一計(jì)算機(jī)可讀介質(zhì)上。本發(fā)明實(shí)施例與來(lái)自商業(yè)供應(yīng)商的現(xiàn)有數(shù)據(jù)中間處理軟件之間的性能測(cè)試由圖7 和圖8的圖形示出。本發(fā)明的重要優(yōu)勢(shì)在于提高效率和/或降低處理成本方面的可能的性 能增益。將圖7和8中指示為“產(chǎn)品1”、“產(chǎn)品2”、“產(chǎn)品3”和“UPG”(后者是本申請(qǐng)的申 請(qǐng)人的數(shù)據(jù)中間處理產(chǎn)品)四個(gè)不同的商業(yè)可用的數(shù)據(jù)中間處理軟件產(chǎn)品相對(duì)于圖7和8 中指示為“UPGton”的本發(fā)明實(shí)施例進(jìn)行測(cè)試。圖7和8呈現(xiàn)了吞吐量和響應(yīng)時(shí)間(延遲) 作為cpu利用率的函數(shù)的變化。圖形清楚地指示了有利于本發(fā)明的所測(cè)試實(shí)施例的優(yōu)越性 能。從而,以上已經(jīng)參照本發(fā)明的一些實(shí)施例描述了本發(fā)明。然而,本領(lǐng)域技術(shù)人員容 易理解,在所附權(quán)利要求限定的本發(fā)明范圍內(nèi)還可能有其他實(shí)施例。具體地,盡管在本文 中,本發(fā)明的描述集中于涉及移動(dòng)電信應(yīng)用中的LDAP目錄服務(wù)的信息系統(tǒng)中的數(shù)據(jù)中間 處理,但是應(yīng)當(dāng)強(qiáng)調(diào),這不應(yīng)解釋為對(duì)本發(fā)明的限制;本發(fā)明的優(yōu)點(diǎn)還可以用于與目錄服務(wù) 不同的其他數(shù)據(jù)服務(wù),其中數(shù)據(jù)消息以與LDAP不同的其他格式來(lái)表達(dá)。一種可能的備選應(yīng)用是在電信系統(tǒng)中對(duì)帳戶(例如預(yù)付帳戶或信用帳戶)的用 戶的收費(fèi)的處理。以傳送終端用戶服務(wù)的應(yīng)用的形式存在的收費(fèi)客戶端可以使用用于如 Diameter之類的已知協(xié)議來(lái)調(diào)用作為對(duì)具有大量收費(fèi)服務(wù)器(幾十個(gè)至幾百個(gè))的隱藏下 游結(jié)構(gòu)的單個(gè)訪問(wèn)點(diǎn)的數(shù)據(jù)中間處理器,以分布式方式存儲(chǔ)用戶和帳戶數(shù)據(jù)。因此,收費(fèi)服 務(wù)器將作為用戶帳戶的主機(jī)并提供數(shù)據(jù)服務(wù),以供收費(fèi)客戶端與帳戶進(jìn)行交互,例如以用 于扣除資金。然而,在電信系統(tǒng)領(lǐng)域之內(nèi)或之外存在落在本發(fā)明范圍內(nèi)的多個(gè)其他可能的 實(shí)施例。因此,另一可能的備選應(yīng)用對(duì)消息收發(fā)服務(wù)進(jìn)行處理。在所公開(kāi)的實(shí)施例中,提供了多個(gè)數(shù)據(jù)資源140J40 ;然而,其他實(shí)施例可以僅包 括這種數(shù)據(jù)資源140、240中的一個(gè)實(shí)例。此外,可以想到以下實(shí)施例具有關(guān)聯(lián)功能的數(shù)據(jù) 中間處理器130并不構(gòu)建輸出消息或在傳出的數(shù)據(jù)流中將其發(fā)送至數(shù)據(jù)通信網(wǎng)絡(luò)上,例如 在實(shí)現(xiàn)數(shù)據(jù)中間處理器130的服務(wù)器(等等)是網(wǎng)絡(luò)中的終端節(jié)點(diǎn),或者至少不被配置為 在處理步驟之后將所有所接收的消息進(jìn)一步路由至網(wǎng)絡(luò)上的情形下。
權(quán)利要求
1.一種在數(shù)據(jù)通信網(wǎng)絡(luò)(120;220)中執(zhí)行數(shù)據(jù)中間處理的方法,所述網(wǎng)絡(luò)能夠傳送用 于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源(140 440)提供的數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息 (112 ;212),以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪問(wèn)的第一 格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù)(114 ;214),所述數(shù)據(jù)消息被編碼為用于 在數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷?,所述方法包括從所述?shù)據(jù)通信網(wǎng)絡(luò)接收(250)傳入的數(shù)據(jù)流016);對(duì)傳入的數(shù)據(jù)流進(jìn)行分析O50)以確定所述傳入的數(shù)據(jù)流中的輸入第二格式消息 (212in);通過(guò)對(duì)所述多個(gè)消息參數(shù)的所選子集(21 進(jìn)行解析,對(duì)輸入第二格式消息的一部分 進(jìn)行處理(252);產(chǎn)生(252)運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)034)以表示所選子集中的所解析的消息參數(shù);通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯(13 來(lái)對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理OM),所 述數(shù)據(jù)中間處理邏輯定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,所述動(dòng)作包括在必要時(shí),通過(guò) 對(duì)所選子集中的消息參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所解析的消息參數(shù)來(lái)添加新的 消息參數(shù),對(duì)所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)進(jìn)行適配;根據(jù)輸入第二格式消息以及在對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的步驟中適配的 所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),構(gòu)建(256)輸出第二格式消息Ol2。ut);以及在所述數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流(218)中發(fā)送(258)所述輸出第二格式消息。
2.根據(jù)權(quán)利要求1所述的方法,其中,輸入第二格式消息Ol2in)在分析(250)步驟中 存儲(chǔ)在存儲(chǔ)器中并保存于其中,并且,構(gòu)建(256)輸出第二格式消息Ol2。ut)的步驟包括 使輸出第二格式消息整體地或部分地基于(260)保存在存儲(chǔ)器中的輸入第二格式消息。
3.根據(jù)權(quán)利要求2所述的方法,其中,在通過(guò)進(jìn)行解析來(lái)進(jìn)行處理052)的步驟期間, 在所述存儲(chǔ)器中設(shè)置和維持指向輸入第二格式消息Ol2in)內(nèi)的所解析的消息參數(shù)(215) 的位置的指針。
4.根據(jù)權(quán)利要求2或3的方法,其中,當(dāng)在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)進(jìn)行處理 (254)的步驟期間已經(jīng)將所解析的消息參數(shù)015)中的任一個(gè)的數(shù)據(jù)值適配為新值時(shí),構(gòu) 建(256)輸出第二格式消息Ol2。ut)的步驟包括在所述存儲(chǔ)器中數(shù)據(jù)值原始存儲(chǔ)的位置,利用新值來(lái)蓋寫(xiě)所述數(shù)據(jù)值。
5.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其中,當(dāng)在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái) 進(jìn)行處理(254)的步驟期間已經(jīng)將所解析的消息參數(shù)(21 中單個(gè)消息參數(shù)的數(shù)據(jù)值適配 為需要與所述第二格式的所述數(shù)據(jù)值不同的數(shù)據(jù)長(zhǎng)度的新值時(shí),構(gòu)建(256)輸出第二格式 消息Ql2。ut)的步驟包括在所述存儲(chǔ)器中數(shù)據(jù)值原始存儲(chǔ)的位置,利用新值替換所述數(shù)據(jù)值;在所述存儲(chǔ)器中更新所述單個(gè)參數(shù)的長(zhǎng)度值;對(duì)所述存儲(chǔ)器中存儲(chǔ)的輸入第二格式消息Ol2in)進(jìn)行處理,以適應(yīng)所述單個(gè)參數(shù)的 不同數(shù)據(jù)長(zhǎng)度;以及更新受所適配的單個(gè)參數(shù)影響的任何其他長(zhǎng)度值。
6.根據(jù)權(quán)利要求5所述的方法,其中,對(duì)所存儲(chǔ)的輸入第二格式消息Ql2in)的處理包 括將所存儲(chǔ)的輸入第二格式消息的尾部剩余部分拷貝或移動(dòng)至所述存儲(chǔ)器中的鄰接存儲(chǔ)位置,以在所述存儲(chǔ)器的連續(xù)存儲(chǔ)區(qū)域中維持所存儲(chǔ)的輸入第二格式消息。
7.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,還包括在通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯來(lái)進(jìn)行處理的步驟中,確定(25 是否需要對(duì)任何附加 消息參數(shù)進(jìn)行解析;以及如果需要,則對(duì)來(lái)自輸入第二格式消息的附加部分的、未包括在所述多個(gè)消息參數(shù)的所選子集中的 至少一個(gè)附加消息參數(shù)進(jìn)行解析;以及對(duì)所述至少一個(gè)附加消息參數(shù)進(jìn)行處理。
8.根據(jù)權(quán)利要求7所述的方法,其中,對(duì)所述至少一個(gè)附加消息參數(shù)進(jìn)行處理的步驟 包括將數(shù)據(jù)中間處理邏輯還應(yīng)用于所解析的至少一個(gè)附加消息參數(shù)。
9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,由所述多個(gè)分布式數(shù)據(jù)資源(140; 240)提供的數(shù)據(jù)服務(wù)包括目錄服務(wù)。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述用于數(shù)據(jù)訪問(wèn)的第一格式符合輕量目錄訪 問(wèn)協(xié)議LDAP。
11.根據(jù)權(quán)利要求9所述的方法,其中,用于傳輸?shù)乃龅诙袷绞欠铣橄笳Z(yǔ)法標(biāo)記 1 “ASN.1”的編碼規(guī)則中的任一個(gè)的編碼格式。
12.根據(jù)權(quán)利要求9至11中任一項(xiàng)所述的方法,其中,所述目錄服務(wù)在移動(dòng)電信系統(tǒng)中 實(shí)現(xiàn)歸屬位置寄存器HLR或歸屬訂戶服務(wù)器HSS的數(shù)據(jù)層。
13.根據(jù)權(quán)利要求9至11中任一項(xiàng)所述的方法,其中,數(shù)據(jù)服務(wù)由多個(gè)分布式數(shù)據(jù)資源 (140 ;240)來(lái)提供,并至少包括消息收發(fā)服務(wù)或?qū)﹄娦欧?wù)的收費(fèi)。
14.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,數(shù)據(jù)服務(wù)由多個(gè)分布式數(shù)據(jù)資源(140; 240)來(lái)提供,并包括對(duì)分布在特定類型的目錄和/或不同類型的多個(gè)目錄的多個(gè)實(shí)例 (240ar240a3)上的數(shù)據(jù)對(duì)象或?qū)嶓w的訪問(wèn),其中,所述數(shù)據(jù)中間處理邏輯要對(duì)傳入的數(shù)據(jù) 消息采取的動(dòng)作,用于形成所述數(shù)據(jù)服務(wù)的請(qǐng)求方(110;210)對(duì)所述多個(gè)分布式數(shù)據(jù)資源 的公共訪問(wèn)點(diǎn)050)。
15.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,數(shù)據(jù)服務(wù)由多個(gè)分布式數(shù)據(jù)資源(140; 240)來(lái)提供,其中,由所述數(shù)據(jù)中間處理邏輯(132)定義的動(dòng)作包括要對(duì)傳入的數(shù)據(jù)消息 采取的路由動(dòng)作,以將所述傳入的數(shù)據(jù)消息引導(dǎo)至所述多個(gè)分布式數(shù)據(jù)資源中的正確的分 布式數(shù)據(jù)資源。
16.一種包括計(jì)算機(jī)可讀介質(zhì)在內(nèi)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀介質(zhì)上具有包 括程序指令在內(nèi)的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序能夠被加載至數(shù)據(jù)處理單元中,并適于在 所述計(jì)算機(jī)程序由所述數(shù)據(jù)處理單元運(yùn)行時(shí)使所述數(shù)據(jù)處理單元執(zhí)行根據(jù)權(quán)利要求1至 15中任一項(xiàng)所述的步驟。
17.一種用于在數(shù)據(jù)通信網(wǎng)絡(luò)(120;220)中執(zhí)行數(shù)據(jù)中間處理的數(shù)據(jù)中間處理設(shè) 備(130 ;230 ;330),所述網(wǎng)絡(luò)能夠傳送用于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源(140 ; 240)提供的數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息(112 ;212),以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的 響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪問(wèn)的第一格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù) (114 ;214),所述數(shù)據(jù)消息被編碼為用于在數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷剑鰯?shù)據(jù)中間 處理設(shè)備(330)包括用于從所述數(shù)據(jù)通信網(wǎng)絡(luò)接收傳入的數(shù)據(jù)流016)并對(duì)傳入的數(shù)據(jù)流進(jìn)行分析以確定所述傳入的數(shù)據(jù)流中的輸入第二格式消息(212in)的一個(gè)或多個(gè)模塊(331);用于通過(guò)對(duì)所述多個(gè)消息參數(shù)的所選子集(215)進(jìn)行解析來(lái)對(duì)輸入第二格式消息的 一部分進(jìn)行處理并產(chǎn)生(252)運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)034)以表示所選子集中的所解析的消息參 數(shù)的一個(gè)或多個(gè)模塊(333);用于通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯(132)來(lái)對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的一 個(gè)或多個(gè)模塊(335-341),所述數(shù)據(jù)中間處理邏輯定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,所 述動(dòng)作包括在必要時(shí),通過(guò)對(duì)所選子集中的消息參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所 解析的消息參數(shù)來(lái)添加新的消息參數(shù),對(duì)所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)進(jìn)行適配;用于根據(jù)輸入第二格式消息以及由所述用于對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的 一個(gè)或多個(gè)模塊適配的所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),構(gòu)建輸出第二格式消息Ol2。ut)的一個(gè)或多個(gè) 模塊(335,343);以及用于在所述數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流018)中發(fā)送所述輸出第二格式消息的 一個(gè)或多個(gè)模塊(335、344-347)。
18. 一種信息系統(tǒng),包括 一個(gè)或多個(gè)分布式數(shù)據(jù)資源(140 ;240);數(shù)據(jù)通信網(wǎng)絡(luò)(120 ;220),能夠傳送用于表示針對(duì)由所述一個(gè)或多個(gè)分布式數(shù)據(jù)資 源提供的數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息(112 ;212),以及在適合的時(shí)候傳送對(duì)這種請(qǐng)求的 響應(yīng),所述請(qǐng)求是以用于數(shù)據(jù)訪問(wèn)的第一格式來(lái)表達(dá)的,所述第一格式定義多個(gè)消息參數(shù) (114 ;214),所述數(shù)據(jù)消息被編碼為用于在數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷?;以及根?jù)權(quán) 利要求17所述的數(shù)據(jù)中間處理設(shè)備(130 ;230 ;330)。
全文摘要
本發(fā)明提供了一種用于在數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行數(shù)據(jù)中間處理的方法,所述網(wǎng)絡(luò)能夠傳送用于表示針對(duì)由一個(gè)或多個(gè)分布式數(shù)據(jù)資源提供的數(shù)據(jù)服務(wù)的請(qǐng)求的數(shù)據(jù)消息。所述請(qǐng)求具有用于數(shù)據(jù)訪問(wèn)的第一格式,所述第一格式定義多個(gè)消息參數(shù),所述數(shù)據(jù)消息被編碼為用于在數(shù)據(jù)通信網(wǎng)絡(luò)中傳輸?shù)牡诙袷?。所述方法包括從所述?shù)據(jù)通信網(wǎng)絡(luò)接收(250)傳入的數(shù)據(jù)流(216);對(duì)傳入的數(shù)據(jù)流進(jìn)行分析(250)以確定輸入第二格式消息(212in);通過(guò)對(duì)消息參數(shù)的所選子集(215)進(jìn)行解析,對(duì)輸入第二格式消息的一部分進(jìn)行處理(252);產(chǎn)生(252)運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)(234)以表示所選子集中的所解析的消息參數(shù);通過(guò)應(yīng)用數(shù)據(jù)中間處理邏輯(132)來(lái)對(duì)所產(chǎn)生的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理(254),所述數(shù)據(jù)中間處理邏輯(132)定義要對(duì)傳入的數(shù)據(jù)消息采取的動(dòng)作,所述動(dòng)作包括在必要時(shí),通過(guò)對(duì)所選子集中的消息參數(shù)中的任一個(gè)進(jìn)行修改和/或基于所解析的消息參數(shù)來(lái)添加新的消息參數(shù),對(duì)所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)進(jìn)行適配;根據(jù)輸入第二格式消息以及在先前步驟中適配的所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),構(gòu)建(256)輸出第二格式消息(212out);以及在所述數(shù)據(jù)通信網(wǎng)絡(luò)上,在傳出的數(shù)據(jù)流(218)中發(fā)送(258)所述輸出第二格式消息。
文檔編號(hào)H04L29/06GK102090039SQ200980124015
公開(kāi)日2011年6月8日 申請(qǐng)日期2009年6月24日 優(yōu)先權(quán)日2008年6月26日
發(fā)明者帕·卡爾森 申請(qǐng)人:艾利森電話股份有限公司