国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于數(shù)據(jù)中介的方法和裝置與流程

      文檔序號(hào):11335500閱讀:379來(lái)源:國(guó)知局
      用于數(shù)據(jù)中介的方法和裝置與流程

      本發(fā)明總體涉及電信網(wǎng)絡(luò),且具體涉及電信網(wǎng)絡(luò)中的數(shù)據(jù)中介(mediation)。



      背景技術(shù):

      電信網(wǎng)絡(luò)和其他復(fù)雜處理系統(tǒng)中的操作的幾乎每個(gè)方面都涉及對(duì)數(shù)據(jù)的收集、處理和傳輸。通常,由于帶寬、安全性等原因,數(shù)據(jù)被編碼或以其他方式封裝,以在聯(lián)網(wǎng)節(jié)點(diǎn)之間傳輸。因此,在針對(duì)產(chǎn)生、處理、編碼和解碼數(shù)據(jù)的重復(fù)且持續(xù)的需要的驅(qū)動(dòng)下,這種系統(tǒng)中產(chǎn)生了顯著的計(jì)算負(fù)擔(dān)。

      在某些示例環(huán)境中,例如在電信網(wǎng)絡(luò)中的中介系統(tǒng)內(nèi)的“數(shù)據(jù)中介”領(lǐng)域中,負(fù)擔(dān)尤其嚴(yán)重。網(wǎng)絡(luò)數(shù)據(jù)是任何網(wǎng)絡(luò)運(yùn)營(yíng)商的所有營(yíng)收保證操作的使能成分,且其必須完整和正確,以便網(wǎng)絡(luò)運(yùn)營(yíng)商執(zhí)行策略、產(chǎn)生計(jì)費(fèi)和賬單信息,并采取廣泛范圍的其他動(dòng)作中的任何動(dòng)作,例如市場(chǎng)分析、服務(wù)保證、網(wǎng)絡(luò)規(guī)劃等。

      在電信網(wǎng)絡(luò)環(huán)境中,中介系統(tǒng)在網(wǎng)絡(luò)中收集、格式化和分發(fā)數(shù)據(jù),用于各個(gè)活動(dòng),包括計(jì)費(fèi)和賬單、欺詐檢測(cè)和統(tǒng)計(jì)分析。典型的中介系統(tǒng)與各種類型的節(jié)點(diǎn)(包括接入和核心網(wǎng)絡(luò)節(jié)點(diǎn))對(duì)接,以例如用于保護(hù)與在網(wǎng)絡(luò)內(nèi)發(fā)生的可計(jì)費(fèi)電信事件相關(guān)聯(lián)的計(jì)費(fèi)數(shù)據(jù)記錄(cdr)。相應(yīng)地,中介系統(tǒng)向各種操作支持系統(tǒng)(oss)服務(wù)器提供這些數(shù)據(jù)或這些數(shù)據(jù)的聚合或修改集合。oss服務(wù)器執(zhí)行“后臺(tái)”活動(dòng),例如針對(duì)通信服務(wù)的維護(hù)和預(yù)配置支持。還向各種商務(wù)支持系統(tǒng)(bss)服務(wù)器提供相同或其他的中介數(shù)據(jù)。bss服務(wù)器通常提供面向訂戶的服務(wù),例如賬單和訂單管理功能。

      在特定示例中,中介系統(tǒng)從面向核心網(wǎng)和/或接入網(wǎng)的各種“南向”(southbound)接口收集數(shù)據(jù)。中介系統(tǒng)對(duì)所收集的數(shù)據(jù)應(yīng)用各種處理,例如整合、共同相關(guān)(co-relation)或相關(guān)、豐富化等,并且在面向各種bss和oss服務(wù)器的一個(gè)或多個(gè)“北向”接口上發(fā)送經(jīng)處理的數(shù)據(jù)。

      在許多場(chǎng)景中,向中介系統(tǒng)傳入的數(shù)據(jù)以tlv格式編碼,其中,tlv是指類型(type)、長(zhǎng)度(length)和值(value)。諸如asn.1、diameter、radius、移動(dòng)自組織網(wǎng)絡(luò)、manet等協(xié)議都支持以tlv格式表示的數(shù)據(jù)。tlv編碼數(shù)據(jù)需要在處理前解碼。tlv解碼提供了一種基于對(duì)象的表示,以便該數(shù)據(jù)的“用戶”更容易地操縱。這里,術(shù)語(yǔ)“用戶”具有專門的含義,因?yàn)槠浔硎緟⑴c某種數(shù)據(jù)處理的處理或功能。經(jīng)常在這種處理之后,得到的數(shù)據(jù)必須根據(jù)適用的規(guī)范來(lái)進(jìn)行重新編碼,以便傳遞給另一個(gè)節(jié)點(diǎn)或用戶,例如用于進(jìn)一步的操縱或歸檔。

      通常,所涉及的數(shù)據(jù)記錄涉及多個(gè)單獨(dú)的數(shù)據(jù)字段或數(shù)據(jù)項(xiàng)。例如,參見(jiàn)以下兩個(gè)文件,其提供了基于以下第三代合作伙伴計(jì)劃3gpp規(guī)范的用于網(wǎng)絡(luò)中cdr的表示的相關(guān)規(guī)范:3gppts32.297:chargingdatarecord(cdr)fileformatandtransfer,v12.2.0、以及3gppts32.298:chargingdatarecord(cdr)parameterdescription。與接收復(fù)雜的編碼數(shù)據(jù)結(jié)構(gòu)、對(duì)它們進(jìn)行解碼、對(duì)從解碼數(shù)據(jù)中選擇的數(shù)據(jù)項(xiàng)進(jìn)行處理、然后將數(shù)據(jù)重新編碼以便向另一個(gè)節(jié)點(diǎn)或處理傳輸相關(guān)聯(lián)地消耗了大量計(jì)算負(fù)載和處理時(shí)間。

      據(jù)信,典型的中介系統(tǒng)可能花費(fèi)多達(dá)其百分之四十到百分之五十的時(shí)間來(lái)執(zhí)行數(shù)據(jù)解碼和編碼,并且已經(jīng)嘗試去至少解決該處理開(kāi)銷的某些方面。參見(jiàn)例如karlsson的美國(guó)專利no.8,819,135,其使用一種選擇性解析的形式來(lái)提高在處理從數(shù)據(jù)通信網(wǎng)絡(luò)傳入的數(shù)據(jù)流時(shí)的效率。little的美國(guó)專利no.8,526,618在接收機(jī)提供了處理編碼消息的另一已知示例。而且,在稍微不同的環(huán)境中,可能有用地參考用于被稱為“sax”或“xml的簡(jiǎn)單api”的xml文檔解析算法的廣泛可用文獻(xiàn)。



      技術(shù)實(shí)現(xiàn)要素:

      本文的教導(dǎo)公開(kāi)了一種用于電信網(wǎng)絡(luò)中的數(shù)據(jù)中介的方法和裝置,并且提供了以下述方式對(duì)傳入數(shù)據(jù)流的有利處理:其減少了處理所需的解碼量,并且相應(yīng)地減少了為了傳送經(jīng)處理的數(shù)據(jù)流所需的重編碼量。這些教導(dǎo)使用工作數(shù)據(jù)結(jié)構(gòu),該工作數(shù)據(jù)結(jié)構(gòu)提供用于處理數(shù)據(jù)流中的目標(biāo)數(shù)據(jù)項(xiàng)的存儲(chǔ)器高效數(shù)據(jù)結(jié)構(gòu),并且實(shí)現(xiàn)了這些教導(dǎo)。這些教導(dǎo)例如在包括一個(gè)或多個(gè)通信接口在內(nèi)的數(shù)據(jù)中介節(jié)點(diǎn)中實(shí)現(xiàn),該一個(gè)或多個(gè)通信接口例如用于接收用于數(shù)據(jù)中介處理的傳入數(shù)據(jù)流,以及用于將經(jīng)處理的數(shù)據(jù)流發(fā)送給目標(biāo)接收方。

      一種在中介節(jié)點(diǎn)處進(jìn)行處理的示例方法,所述中介節(jié)點(diǎn)被配置為用于電信網(wǎng)絡(luò)中的數(shù)據(jù)中介操作,所述方法包括接收傳入數(shù)據(jù)流。傳入數(shù)據(jù)流包括根據(jù)第一編碼來(lái)編碼的且根據(jù)定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)。方法還包括將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流,其中,所述傳入數(shù)據(jù)流最初在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)處,所述工作數(shù)據(jù)結(jié)構(gòu)定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。方法還包括識(shí)別存儲(chǔ)數(shù)據(jù)流中的目標(biāo)數(shù)據(jù)項(xiàng),即作為數(shù)據(jù)中介處理的目標(biāo)的數(shù)據(jù)項(xiàng)。此外,方法包括基于沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu),直到到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)為止,來(lái)提取目標(biāo)數(shù)據(jù)項(xiàng)。

      對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),方法包括在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),方法包括對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并且使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。該方法附加地包括提供工作數(shù)據(jù)結(jié)構(gòu),以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng),例如根據(jù)給定工作流程中定義的操作進(jìn)行處理。

      根據(jù)本文公開(kāi)的實(shí)施例的示例中介節(jié)點(diǎn)被配置用于電信網(wǎng)絡(luò)中的數(shù)據(jù)中介操作,并且其包括通信接口和與通信接口有效關(guān)聯(lián)的處理電路。通信接口被配置為接收傳入數(shù)據(jù)流,所述傳入數(shù)據(jù)流包括根據(jù)第一編碼來(lái)編碼的且根據(jù)定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)。相應(yīng)地,處理電路被配置為將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流,其中,所述存儲(chǔ)數(shù)據(jù)流在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)處,所述工作數(shù)據(jù)結(jié)構(gòu)定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。

      處理電路還被配置為:基于被配置為沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu)直到達(dá)到目標(biāo)數(shù)據(jù)項(xiàng)為止,識(shí)別存儲(chǔ)數(shù)據(jù)流中的目標(biāo)數(shù)據(jù)項(xiàng)并提取目標(biāo)數(shù)據(jù)項(xiàng)。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),處理電路被配置為在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),處理電路被配置為對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn),并且還被配置為提供工作數(shù)據(jù)結(jié)構(gòu),以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。例如,它將工作數(shù)據(jù)結(jié)構(gòu)傳遞給給定的“處理作業(yè)”或其他功能,或者使工作數(shù)據(jù)結(jié)構(gòu)可用于該處理。

      在另一個(gè)實(shí)施例中,中介節(jié)點(diǎn)被配置用于電信網(wǎng)絡(luò)中的數(shù)據(jù)中介操作,并且包括適于接收傳入數(shù)據(jù)流的裝置,所述傳入數(shù)據(jù)流包括根據(jù)第一編碼來(lái)編碼的且根據(jù)所定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)。中介節(jié)點(diǎn)還包括適于將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流的裝置,其中,所述傳入數(shù)據(jù)流在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)處,所述工作數(shù)據(jù)結(jié)構(gòu)定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。

      中介節(jié)點(diǎn)還包括適于識(shí)別存儲(chǔ)數(shù)據(jù)流中用于數(shù)據(jù)中介處理的目標(biāo)的目標(biāo)數(shù)據(jù)項(xiàng)的裝置,以及所述裝置適于基于沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu),直到達(dá)到目標(biāo)數(shù)據(jù)項(xiàng)為止,來(lái)提取目標(biāo)數(shù)據(jù)項(xiàng)。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),中介節(jié)點(diǎn)適于在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),中介節(jié)點(diǎn)適于對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn),并且提供工作數(shù)據(jù)結(jié)構(gòu),以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。

      在另一示例性實(shí)現(xiàn)中,例如可以在數(shù)字處理電路中實(shí)現(xiàn),中介節(jié)點(diǎn)包括第一模塊,所述第一模塊被配置為接收傳入數(shù)據(jù)流,所述傳入數(shù)據(jù)流包括根據(jù)第一編碼來(lái)編碼的且根據(jù)所定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)。中介節(jié)點(diǎn)還包括被配置為將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流的第二模塊。這里,存儲(chǔ)數(shù)據(jù)流在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)處,工作數(shù)據(jù)結(jié)構(gòu)定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。中介節(jié)點(diǎn)包括第三模塊,所述第三模塊被配置為識(shí)別存儲(chǔ)數(shù)據(jù)流中的目標(biāo)數(shù)據(jù)項(xiàng),該數(shù)據(jù)項(xiàng)是數(shù)據(jù)中介處理的目標(biāo)。

      相應(yīng)地,中介節(jié)點(diǎn)包括第四模塊,所述第四模塊被配置為基于沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu),直到到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)為止,來(lái)提取目標(biāo)數(shù)據(jù)項(xiàng)。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),第四模塊被配置為在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),第四模塊被配置為對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并且使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的另外的節(jié)點(diǎn)。此外,中介節(jié)點(diǎn)包括第五模塊,所述第五模塊被配置為提供工作數(shù)據(jù)結(jié)構(gòu),以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。

      當(dāng)然,本發(fā)明不限于上述特征和優(yōu)點(diǎn)。事實(shí)上,本領(lǐng)域的技術(shù)人員可在閱讀下面的詳細(xì)描述并查看附圖時(shí)認(rèn)識(shí)到其它特征和優(yōu)點(diǎn)。

      附圖說(shuō)明

      圖1是在示例性電信網(wǎng)絡(luò)的環(huán)境中示出的中介節(jié)點(diǎn)的一個(gè)實(shí)施例的框圖。

      圖2是數(shù)據(jù)中介的方法的一個(gè)實(shí)施例的邏輯流程圖。

      圖3是在中介節(jié)點(diǎn)中實(shí)現(xiàn)的處理電路或模塊的一個(gè)實(shí)施例的框圖。

      圖4是關(guān)于傳入數(shù)據(jù)流處理的在中介節(jié)點(diǎn)中實(shí)現(xiàn)的處理流程的一個(gè)實(shí)施例的數(shù)據(jù)流程圖。

      圖5是與已知用于電信網(wǎng)絡(luò)中的某些數(shù)據(jù)編碼操作的類型長(zhǎng)度值tlv編碼相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的示意圖。

      圖6是例如在本文教導(dǎo)的一個(gè)或多個(gè)實(shí)施例中使用的、用于對(duì)經(jīng)tlv編碼的示例傳入數(shù)據(jù)流進(jìn)行處理的示例遍歷路徑的示意圖。

      圖7是傳入數(shù)據(jù)流的示例表示,其被構(gòu)造為具有多個(gè)數(shù)據(jù)項(xiàng)或字段并且具有用于這些數(shù)據(jù)項(xiàng)或字段的分級(jí)數(shù)據(jù)結(jié)構(gòu)或布置的編碼字節(jié)流。

      圖8是根據(jù)圖7的傳入數(shù)據(jù)流的包含節(jié)點(diǎn)和對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的工作數(shù)據(jù)結(jié)構(gòu)的一個(gè)實(shí)施例的示意圖。

      具體實(shí)施方式

      圖1示出了根據(jù)示例實(shí)施例描繪的包括數(shù)據(jù)調(diào)節(jié)節(jié)點(diǎn)10在內(nèi)的或者與數(shù)據(jù)中介節(jié)點(diǎn)10相關(guān)聯(lián)的電信網(wǎng)絡(luò)8。作為示例,電信網(wǎng)絡(luò)8(以下稱為“網(wǎng)絡(luò)8”)包括網(wǎng)際協(xié)議(ip)多媒體子系統(tǒng)或ims12、電路交換核心網(wǎng)絡(luò)14、演進(jìn)分組核心或“epc”網(wǎng)絡(luò)16、以及一個(gè)或多個(gè)無(wú)線電接入網(wǎng)絡(luò)或ran18。在一個(gè)或多個(gè)示例中,ran或ran18包括演進(jìn)通用陸地?zé)o線電接入網(wǎng)絡(luò)或e-utran,用于向諸如“用戶設(shè)備”或ue之類的各種訂戶設(shè)備提供無(wú)線通信鏈路。

      示例網(wǎng)絡(luò)8還包括一個(gè)或多個(gè)商務(wù)支持系統(tǒng)(bss)服務(wù)器20和一個(gè)或多個(gè)操作支持系統(tǒng)(oss)服務(wù)器22。相應(yīng)地,數(shù)據(jù)中介節(jié)點(diǎn)10可以被理解為占用中介角色,其中,它從ims12、核心網(wǎng)絡(luò)14、epc16和ran18中的一個(gè)或多個(gè)接收網(wǎng)絡(luò)數(shù)據(jù),對(duì)該數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)中介操作,并將所得到的經(jīng)處理的數(shù)據(jù)傳送到bss服務(wù)器20和/或oss服務(wù)器22。這里,術(shù)語(yǔ)“網(wǎng)絡(luò)數(shù)據(jù)”是指計(jì)費(fèi)數(shù)據(jù)記錄(cdr)和/或在向網(wǎng)絡(luò)8的訂戶預(yù)配置和提供通信服務(wù)的基礎(chǔ)上的其他賬單、操作和管理數(shù)據(jù)。更廣泛地說(shuō),為了一個(gè)或多個(gè)目的,數(shù)據(jù)中介節(jié)點(diǎn)10收集、格式化和分發(fā)基本上任何類型的網(wǎng)絡(luò)數(shù)據(jù)。示例目的包括計(jì)費(fèi)和賬單、欺詐檢測(cè)、性能分析、網(wǎng)絡(luò)規(guī)劃或其他統(tǒng)計(jì)分析。

      數(shù)據(jù)中介節(jié)點(diǎn)10的所示實(shí)施例(以下稱為“中介節(jié)點(diǎn)10”)包括通信接口30,通信接口30被配置為接收包括根據(jù)第一編碼來(lái)編碼的并且根據(jù)所定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)在內(nèi)的傳入數(shù)據(jù)流。此外,中介節(jié)點(diǎn)10包括與通信接口30有效關(guān)聯(lián)的處理電路32。處理電路32還包括存儲(chǔ)設(shè)備34或者與存儲(chǔ)設(shè)備34相關(guān)聯(lián),在一個(gè)或多個(gè)實(shí)施例中,存儲(chǔ)設(shè)備34存儲(chǔ)計(jì)算機(jī)程序36和某些配置數(shù)據(jù)38。

      在至少一些實(shí)施例中,處理電路32包括處理電路(例如微處理器、dsp、fpga、asic等),其被配置為至少部分地基于處理電路32執(zhí)行包括計(jì)算機(jī)程序36在內(nèi)的計(jì)算機(jī)程序指令來(lái)執(zhí)行本文教導(dǎo)的處理操作。該處理還可以通過(guò)配置數(shù)據(jù)38來(lái)控制或以其他方式通知,其中該數(shù)據(jù)可以包括所謂的“工作流程”指令。如稍后將解釋的,工作流程是對(duì)特定傳入數(shù)據(jù)或特定類型的傳入數(shù)據(jù)執(zhí)行的所定義的任務(wù)或一組任務(wù)。

      存儲(chǔ)設(shè)備34包括一種或多種類型的計(jì)算機(jī)可讀介質(zhì),并且可以包括諸如sram和/或dram之類的易失性存儲(chǔ)器。附加地或備選地,存儲(chǔ)設(shè)備34包括諸如閃存、eeprom、固態(tài)盤等的非易失性存儲(chǔ)器。在任何情況下,在使用計(jì)算機(jī)程序36的實(shí)施例中,存儲(chǔ)設(shè)備34提供用于計(jì)算機(jī)程序36的非暫時(shí)性存儲(chǔ)。這里,術(shù)語(yǔ)“非暫時(shí)性存儲(chǔ)”不一定表示永久性存儲(chǔ),而是表示至少有一些持續(xù)時(shí)間的“持久”存儲(chǔ)。因此,該術(shù)語(yǔ)不包括僅在傳播信號(hào)中對(duì)信息的“存儲(chǔ)”。

      無(wú)論是包括編程電路還是固定電路或者編程和固定電路的某些組合,處理電路32被配置為將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流。具體地,傳入數(shù)據(jù)流最初在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)處,該工作數(shù)據(jù)結(jié)構(gòu)40定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)122。工作數(shù)據(jù)結(jié)構(gòu)40可以被生成并保存在處理電路32的工作存儲(chǔ)器中,作為關(guān)于傳入數(shù)據(jù)流執(zhí)行的運(yùn)行時(shí)處理(run-timeprocessing)的一部分。

      在非限制性示例實(shí)施例中,中介節(jié)點(diǎn)10包括用戶接口42。例如,用戶接口42包括鍵盤和顯示器或其他輸入/輸出設(shè)備或電路,或者包括到具有輸入/輸出設(shè)備的另一個(gè)計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)接口。在任何情況下,用戶接口42是可以創(chuàng)建、刪除、修改和保存工作流程定義以供中介節(jié)點(diǎn)10使用的機(jī)制的非限制性示例。這里,“工作流程”是任務(wù)定義,并且它指定要對(duì)某些數(shù)據(jù)項(xiàng)執(zhí)行某些處理,并且可以包括中介節(jié)點(diǎn)10針對(duì)傳入它的某些類型的數(shù)據(jù)流所要遵循的許多(ahostof)處理指令。

      針對(duì)正在討論的示例性數(shù)據(jù)流及其相應(yīng)的存儲(chǔ)數(shù)據(jù)流,處理電路32被配置為:識(shí)別存儲(chǔ)數(shù)據(jù)流中的以數(shù)據(jù)中介處理為目標(biāo)的目標(biāo)數(shù)據(jù)項(xiàng),以及基于被配置為執(zhí)行以經(jīng)解碼形式獲得目標(biāo)數(shù)據(jù)項(xiàng)的若干操作或動(dòng)作來(lái)提取目標(biāo)數(shù)據(jù)項(xiàng)。這些操作避免了不必要的解碼并提供有利的存儲(chǔ)器管理如將進(jìn)一步說(shuō)明的那樣,這種處理在提取目標(biāo)數(shù)據(jù)項(xiàng)期間,利用從根節(jié)點(diǎn)移動(dòng)的編碼數(shù)據(jù)項(xiàng)來(lái)預(yù)填充(prep-populate)工作數(shù)據(jù)結(jié)構(gòu)40中的對(duì)應(yīng)節(jié)點(diǎn)。預(yù)填充例如有助于對(duì)目標(biāo)是任何預(yù)填充數(shù)據(jù)項(xiàng)的同一數(shù)據(jù)流進(jìn)行任何進(jìn)一步處理。

      更具體地,在示例實(shí)施例中,處理電路32被配置為:基于被配置為沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu)直到達(dá)到目標(biāo)數(shù)據(jù)項(xiàng)為止,從根節(jié)點(diǎn)中保存的存儲(chǔ)數(shù)據(jù)流中提取目標(biāo)數(shù)據(jù)項(xiàng)。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),處理電路32被配置為在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。此外,對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),處理電路32被配置為對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并且使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。此外,處理電路32被配置為提供工作數(shù)據(jù)結(jié)構(gòu)40,以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。

      在上面的環(huán)境中,應(yīng)當(dāng)理解,工作數(shù)據(jù)結(jié)構(gòu)40的“另外的節(jié)點(diǎn)”對(duì)應(yīng)于存儲(chǔ)數(shù)據(jù)流中的相應(yīng)數(shù)據(jù)項(xiàng),并且工作數(shù)據(jù)結(jié)構(gòu)40具有樹(shù)結(jié)構(gòu)或反映存儲(chǔ)數(shù)據(jù)流中的數(shù)據(jù)項(xiàng)之間的分級(jí)或關(guān)系的其他布置。當(dāng)然,工作數(shù)據(jù)結(jié)構(gòu)40可能不是完全建好的,相反,處理電路32可以只實(shí)例化工作數(shù)據(jù)結(jié)構(gòu)40中保存具有經(jīng)解碼形式的目標(biāo)數(shù)據(jù)項(xiàng)和保存具有經(jīng)編碼形式的中間數(shù)據(jù)項(xiàng)所必需的那些數(shù)量的分支和節(jié)點(diǎn)。在目標(biāo)多于一個(gè)數(shù)據(jù)項(xiàng)的程度上,應(yīng)當(dāng)理解,工作數(shù)據(jù)結(jié)構(gòu)40將被構(gòu)建有對(duì)應(yīng)于每個(gè)遍歷路徑的其它節(jié)點(diǎn),即,引導(dǎo)至每個(gè)目標(biāo)數(shù)據(jù)項(xiàng)的分級(jí)數(shù)據(jù)結(jié)構(gòu)路徑。

      這里值得強(qiáng)調(diào)的是,只有目標(biāo)數(shù)據(jù)項(xiàng)被解碼。也就是說(shuō),目標(biāo)數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)、被解碼并以經(jīng)解碼形式存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40中其所對(duì)應(yīng)的另外的節(jié)點(diǎn)中。中間數(shù)據(jù)項(xiàng)也從根節(jié)點(diǎn)移動(dòng)并存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)中,但是它們不被解碼。將數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)“移動(dòng)”到其對(duì)應(yīng)的另外的節(jié)點(diǎn)包括釋放或重新使用為該數(shù)據(jù)項(xiàng)分配的根節(jié)點(diǎn)存儲(chǔ)器。例如,所涉及的根節(jié)點(diǎn)存儲(chǔ)器可以在邏輯上被重新定義為對(duì)應(yīng)的另外的節(jié)點(diǎn),例如使用指針或其他數(shù)據(jù)結(jié)構(gòu)管理值,或者所涉及的根節(jié)點(diǎn)存儲(chǔ)器可以被釋放回到存儲(chǔ)器池中,并且可以進(jìn)行新的存儲(chǔ)器分配以用于對(duì)應(yīng)的另外的節(jié)點(diǎn)。在任何情況下,應(yīng)當(dāng)理解,將數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到對(duì)應(yīng)的另外的節(jié)點(diǎn)是以存儲(chǔ)器高效的方式完成的。

      考慮配置數(shù)據(jù)38包括工作流程定義在內(nèi)的工作示例,該工作流程識(shí)別要對(duì)所定義類型的傳入數(shù)據(jù)流執(zhí)行的一個(gè)或多個(gè)處理動(dòng)作,并且假設(shè)在中介節(jié)點(diǎn)10處接收到這種傳入數(shù)據(jù)流。處理電路32在工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)中以編碼形式來(lái)存儲(chǔ)傳入數(shù)據(jù)流。處理電路32識(shí)別存儲(chǔ)數(shù)據(jù)流中作為處理目標(biāo)的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)。對(duì)于每個(gè)目標(biāo)數(shù)據(jù)項(xiàng),處理電路32遍歷存儲(chǔ)數(shù)據(jù)流中所定義的分級(jí)結(jié)構(gòu),例如樹(shù)結(jié)構(gòu)或其他父/子對(duì)象結(jié)構(gòu),直到其達(dá)到目標(biāo)數(shù)據(jù)項(xiàng)為止。處理電路32提取目標(biāo)數(shù)據(jù)項(xiàng),對(duì)其進(jìn)行解碼,并將其移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中的對(duì)應(yīng)節(jié)點(diǎn)。此外,對(duì)于處理電路32在通向目標(biāo)數(shù)據(jù)項(xiàng)的遍歷路徑上遇到的每個(gè)數(shù)據(jù)項(xiàng)(這些項(xiàng)被稱為中間數(shù)據(jù)項(xiàng)),處理電路32將中間數(shù)據(jù)項(xiàng)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中的對(duì)應(yīng)節(jié)點(diǎn),但不對(duì)其解碼。

      這種處理的最終結(jié)果是:工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)保存任何剩余的數(shù)據(jù)項(xiàng),即,不作為中間數(shù)據(jù)項(xiàng)或目標(biāo)數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)的數(shù)據(jù)項(xiàng)。剩余的數(shù)據(jù)項(xiàng)仍然具有其編碼形式,并保留了它們?cè)诖鎯?chǔ)數(shù)據(jù)流內(nèi)的分級(jí)關(guān)系。然而,根節(jié)點(diǎn)不再保存來(lái)自存儲(chǔ)數(shù)據(jù)流中的、曾被識(shí)別為目標(biāo)數(shù)據(jù)項(xiàng)或遇到的中間數(shù)據(jù)項(xiàng)的任何數(shù)據(jù)項(xiàng)。更具體地,每個(gè)目標(biāo)數(shù)據(jù)項(xiàng)被移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn),并以經(jīng)解碼形式存儲(chǔ)在那里,并且每個(gè)中間數(shù)據(jù)項(xiàng)被移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn),并以經(jīng)編碼形式存儲(chǔ)在那里。因?yàn)楣ぷ鲾?shù)據(jù)結(jié)構(gòu)40的這些另外的節(jié)點(diǎn)根據(jù)原始傳入數(shù)據(jù)流的所定義的分級(jí)數(shù)據(jù)結(jié)構(gòu)來(lái)體現(xiàn)或以其他方式在邏輯上相互鏈接,所以保留了剩余的數(shù)據(jù)項(xiàng)、目標(biāo)數(shù)據(jù)項(xiàng)和中間數(shù)據(jù)項(xiàng)之間的分級(jí)關(guān)系。這種對(duì)分級(jí)數(shù)據(jù)關(guān)系的保留是在處理目標(biāo)數(shù)據(jù)項(xiàng)之后對(duì)傳出數(shù)據(jù)流進(jìn)行重新編碼的關(guān)鍵。

      因此,在接收到用于處理的給定傳入數(shù)據(jù)流之后,處理電路32根據(jù)上述教導(dǎo)構(gòu)建工作數(shù)據(jù)結(jié)構(gòu)40。這樣,處理電路32識(shí)別目標(biāo)數(shù)據(jù)項(xiàng),并相應(yīng)地構(gòu)建工作數(shù)據(jù)結(jié)構(gòu)40。提供所生成的包括其以經(jīng)解碼形式保存的一個(gè)或多個(gè)目標(biāo)數(shù)據(jù)項(xiàng)在內(nèi)的工作數(shù)據(jù)結(jié)構(gòu)40,以便根據(jù)一個(gè)或多個(gè)工作流程定義進(jìn)行處理。這種處理可以由處理電路32或中介節(jié)點(diǎn)10中的其他電路來(lái)執(zhí)行。

      工作流程處理導(dǎo)致對(duì)目標(biāo)數(shù)據(jù)項(xiàng)的修改或?qū)π聰?shù)據(jù)項(xiàng)的創(chuàng)建,并且工作數(shù)據(jù)結(jié)構(gòu)40可以被更新以反映該處理的結(jié)果,或者可以創(chuàng)建新的工作數(shù)據(jù)結(jié)構(gòu)40。這里,可以注意到:可以將多于一個(gè)的工作流程或至少多于一個(gè)的處理操作應(yīng)用于任何給定的工作數(shù)據(jù)結(jié)構(gòu)40。此外,這種處理可以使用所得到的任何新的工作數(shù)據(jù)結(jié)構(gòu)40。因?yàn)槊總€(gè)進(jìn)一步的處理操作都可能涉及在先前處理中已涉及的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng),即曾在先前處理中成為目標(biāo)或被遍歷的數(shù)據(jù)項(xiàng),進(jìn)一步處理中涉及的具體數(shù)據(jù)項(xiàng)可能已經(jīng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)中的其對(duì)應(yīng)節(jié)點(diǎn),因而避免了需要再次執(zhí)行這些動(dòng)作,且從而提高了進(jìn)一步處理的效率。

      還將理解,一旦對(duì)給定的工作數(shù)據(jù)結(jié)構(gòu)40執(zhí)行了所有處理,則可以根據(jù)與所涉及的數(shù)據(jù)類型的傳輸相關(guān)聯(lián)的任何標(biāo)準(zhǔn)或協(xié)議,將其中包含的數(shù)據(jù)“重新打包”。例如,考慮傳入數(shù)據(jù)流包括cdr的情況。在根據(jù)上述教導(dǎo)構(gòu)建了用于cdr的工作數(shù)據(jù)結(jié)構(gòu)40之后,并且在完成了為了處理cdr所定義的處理操作之后,可以將工作數(shù)據(jù)結(jié)構(gòu)40中保持的數(shù)據(jù)項(xiàng)重新編碼為新的或經(jīng)修改的cdr,該新的或經(jīng)修改的cdr包括通過(guò)所應(yīng)用的處理而獲得的任何新的或經(jīng)修改的數(shù)據(jù)。然后,可以使用用于在中介節(jié)點(diǎn)8內(nèi)或由中介節(jié)點(diǎn)8交換的任何其他cdr的相同協(xié)議,將新編碼的cdr發(fā)送到目標(biāo)接收方。就此而言,“目標(biāo)接收方”可以是在中介節(jié)點(diǎn)10內(nèi)執(zhí)行的另一個(gè)計(jì)算處理、功能或工作流程,或者目標(biāo)接收方可以在中介節(jié)點(diǎn)10的外部(例如bss應(yīng)用服務(wù)器20之一或oss應(yīng)用服務(wù)器22之一)。

      因此,對(duì)于包括一個(gè)或多個(gè)經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)在內(nèi)的給定的工作數(shù)據(jù)結(jié)構(gòu)40,并且假設(shè)針對(duì)給定的工作數(shù)據(jù)結(jié)構(gòu)40的全部所需處理(至少針對(duì)給定的工作流程)都已經(jīng)完成,處理電路32是被配置為形成傳出數(shù)據(jù)流。處理電路32基于被配置為將所述處理之后的經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)或由所述處理生成的對(duì)應(yīng)的導(dǎo)出數(shù)據(jù)項(xiàng)重編碼為新編碼的數(shù)據(jù)項(xiàng),來(lái)形成傳出數(shù)據(jù)流。處理電路32還被配置為將新編碼的數(shù)據(jù)項(xiàng)與先前移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)的中間數(shù)據(jù)項(xiàng)、以及未從根節(jié)點(diǎn)移動(dòng)的任何剩余的數(shù)據(jù)項(xiàng)聚合,并且向目標(biāo)接收方提供傳出數(shù)據(jù)流。

      作為一般命題,對(duì)于任何給定的傳入數(shù)據(jù)流或?qū)?yīng)的存儲(chǔ)數(shù)據(jù)流,處理電路32被配置為通過(guò)訪問(wèn)針對(duì)所定義的處理工作流程來(lái)存儲(chǔ)的工作流程信息來(lái)識(shí)別目標(biāo)數(shù)據(jù)項(xiàng),其中所定義的處理工作流程指示目標(biāo)數(shù)據(jù)項(xiàng)。所定義的處理工作流程可以將任何數(shù)量的數(shù)據(jù)項(xiàng)識(shí)別為“目標(biāo)數(shù)據(jù)項(xiàng)”,并且處理電路32被配置為提取每個(gè)目標(biāo)數(shù)據(jù)項(xiàng),并且根據(jù)到每個(gè)目標(biāo)數(shù)據(jù)項(xiàng)的遍歷路徑,執(zhí)行上述針對(duì)每個(gè)目標(biāo)數(shù)據(jù)項(xiàng)的移動(dòng)和填充的操作。

      在至少一些實(shí)施例中,傳入數(shù)據(jù)流包括使用類型長(zhǎng)度值tlv編碼來(lái)編碼的字節(jié)流。tlv編碼將字節(jié)流的分級(jí)結(jié)構(gòu)定義為樹(shù)結(jié)構(gòu)。相應(yīng)地,通往tlv編碼字節(jié)流中的給定數(shù)據(jù)項(xiàng)的遍歷路徑延伸經(jīng)過(guò)樹(shù)結(jié)構(gòu)中到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)所需的多個(gè)級(jí)別。

      更一般地,在傳入數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu)包括樹(shù)結(jié)構(gòu)的情況下,一個(gè)或多個(gè)實(shí)施例中的處理電路32被配置為以下述方式來(lái)遍歷所定義的分級(jí)樹(shù)結(jié)構(gòu):從樹(shù)結(jié)構(gòu)的基礎(chǔ)級(jí)別開(kāi)始,以廣度優(yōu)先遍歷的方式,前進(jìn)至到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)所需的樹(shù)結(jié)構(gòu)中多個(gè)接下來(lái)的級(jí)別。因此,在樹(shù)結(jié)構(gòu)的每個(gè)級(jí)別處的廣度優(yōu)先遍歷從該級(jí)別的第一數(shù)據(jù)項(xiàng)開(kāi)始,并且前進(jìn)通過(guò)該級(jí)別的每個(gè)接下來(lái)的數(shù)據(jù)項(xiàng),直到遇到目標(biāo)數(shù)據(jù)項(xiàng)為止,在這種情況下,遍歷結(jié)束,或者直到遇到位于遍歷路徑上的容器數(shù)據(jù)項(xiàng)為止,在這種情況下,遍歷前進(jìn)到樹(shù)結(jié)構(gòu)的下一級(jí)別的第一個(gè)被包含的數(shù)據(jù)項(xiàng),并且在該下一級(jí)別處重新開(kāi)始廣度優(yōu)先遍歷。這里,應(yīng)當(dāng)理解,“容器數(shù)據(jù)項(xiàng)”包含一個(gè)或多個(gè)不同的數(shù)據(jù)項(xiàng),例如“子”數(shù)據(jù)對(duì)象,并且實(shí)際上可以包含其他容器數(shù)據(jù)項(xiàng)。

      所構(gòu)思的遍歷技術(shù)可以被理解為,沿著傳入數(shù)據(jù)流的編碼分級(jí)所允許的最直接或最短遍歷路徑下鉆(drilldown)。如上所述,傳入數(shù)據(jù)流可以是包括與網(wǎng)絡(luò)8中的可計(jì)費(fèi)事件相關(guān)聯(lián)的多個(gè)數(shù)據(jù)項(xiàng)在內(nèi)的cdr。在特定示例中,應(yīng)用于傳入cdr的第一編碼包括使用例如基本編碼規(guī)則或ber的抽象語(yǔ)法符號(hào)一(asn.1)編碼。

      圖2示出了中介節(jié)點(diǎn)10處進(jìn)行處理的示例方法200,該中介節(jié)點(diǎn)10被配置用于電信網(wǎng)絡(luò)8中的數(shù)據(jù)中介操作。方法步驟中的一個(gè)或多個(gè)可以按照不同于示例邏輯流程圖所建議的順序來(lái)執(zhí)行。此外,可以重復(fù)方法200的全部或部分,以根據(jù)多個(gè)期望的處理操作來(lái)處理給定的傳入數(shù)據(jù)流,并且可以針對(duì)多個(gè)傳入數(shù)據(jù)流中的每一個(gè)來(lái)重復(fù)方法200和/或針對(duì)不同的傳入數(shù)據(jù)流并行地執(zhí)行方法200。此外,應(yīng)當(dāng)理解,方法200可以與其他正在進(jìn)行的處理操作合作或作為其一部分來(lái)執(zhí)行。

      方法200包括接收(框202)包括根據(jù)第一編碼來(lái)編碼的且根據(jù)所定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)在內(nèi)的傳入數(shù)據(jù)流。方法200還包括將傳入數(shù)據(jù)流存儲(chǔ)(框204)為存儲(chǔ)數(shù)據(jù)流,該存儲(chǔ)數(shù)據(jù)流在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)處,該工作數(shù)據(jù)結(jié)構(gòu)40定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。

      方法200還包括識(shí)別(框206)存儲(chǔ)數(shù)據(jù)流中作為數(shù)據(jù)中介處理目標(biāo)的目標(biāo)數(shù)據(jù)項(xiàng)。此外,方法200包括提取(框208)目標(biāo)數(shù)據(jù)項(xiàng)。

      該提取包括沿著遍歷路徑遍歷(框208a)存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu),直到到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)為止。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),方法200包括在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)(框208b)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),方法200包括對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼(框208c),并且使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。此外,方法200包括提供(框210)工作數(shù)據(jù)結(jié)構(gòu)40,以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。

      圖3示出了功能處理模塊布置,其中中介節(jié)點(diǎn)10包括被配置為接收傳入數(shù)據(jù)流的第一模塊或接收模塊50。傳入數(shù)據(jù)流包括根據(jù)第一編碼來(lái)編碼的且根據(jù)所定義的分級(jí)結(jié)構(gòu)來(lái)布置的編碼數(shù)據(jù)項(xiàng)。中介節(jié)點(diǎn)10還包括被配置為將傳入數(shù)據(jù)流存儲(chǔ)為存儲(chǔ)數(shù)據(jù)流的第二模塊或存儲(chǔ)模塊52。存儲(chǔ)數(shù)據(jù)流在不解碼的情況下被存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)處,工作數(shù)據(jù)結(jié)構(gòu)40定義了與存儲(chǔ)數(shù)據(jù)流中編碼的多個(gè)數(shù)據(jù)項(xiàng)相對(duì)應(yīng)的另外的節(jié)點(diǎn)。

      根據(jù)所示的實(shí)施例,中介節(jié)點(diǎn)10包括被配置為識(shí)別存儲(chǔ)數(shù)據(jù)流中作為數(shù)據(jù)中介處理目標(biāo)的目標(biāo)數(shù)據(jù)項(xiàng)的第三模塊或識(shí)別模塊54。此外,中介節(jié)點(diǎn)10包括被配置為提取目標(biāo)數(shù)據(jù)項(xiàng)的第四模塊或提取模塊56。該提取基于沿著遍歷路徑遍歷存儲(chǔ)數(shù)據(jù)流的所定義的分級(jí)結(jié)構(gòu),直到到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)為止。對(duì)于在到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)之前沿著遍歷路徑遇到的每個(gè)中間數(shù)據(jù)項(xiàng),提取模塊56在不進(jìn)行解碼的情況下將中間數(shù)據(jù)項(xiàng)從根節(jié)點(diǎn)移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。對(duì)于目標(biāo)數(shù)據(jù)項(xiàng),提取模塊56對(duì)目標(biāo)數(shù)據(jù)項(xiàng)進(jìn)行解碼,并且使用經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的另外的節(jié)點(diǎn)。作為這種布置的補(bǔ)充,中介節(jié)點(diǎn)10還包括第五模塊或提供模塊58,其被配置為提供工作數(shù)據(jù)結(jié)構(gòu)40,以便處理經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)。

      如圖所示,該處理可以根據(jù)圖3所示的一個(gè)或多個(gè)工作流程(如存儲(chǔ)設(shè)備34中存儲(chǔ)的一個(gè)或多個(gè)工作流程60)來(lái)執(zhí)行。注意,工作數(shù)據(jù)結(jié)構(gòu)40可以至少暫時(shí)被保持在工作存儲(chǔ)器中,例如可以用于運(yùn)行時(shí)實(shí)例化和使用工作數(shù)據(jù)結(jié)構(gòu)40。

      此外,盡管在圖中沒(méi)有具體示出,但是可以根據(jù)需要多次處理工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)中保存的存儲(chǔ)數(shù)據(jù)流,以針對(duì)一個(gè)工作流程或針對(duì)兩個(gè)或更多個(gè)工作流程來(lái)提取多于一個(gè)數(shù)據(jù)項(xiàng)。因此,多個(gè)工作流程或多個(gè)處理操作可能涉及同一個(gè)工作數(shù)據(jù)結(jié)構(gòu)40,并且可以根據(jù)需要多次執(zhí)行本文描述的路徑遍歷操作,以提取所有目標(biāo)數(shù)據(jù)項(xiàng),且每一次遍歷都受益于與之前的遍歷有重疊的任何路徑。

      在完成工作流程處理之后,另一個(gè)處理或節(jié)點(diǎn)可能需要處理結(jié)果,并且中介節(jié)點(diǎn)10包括第六模塊或聚合模塊60。聚合模塊60將經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)或由此獲得的數(shù)據(jù)項(xiàng)與曾被填充到工作數(shù)據(jù)結(jié)構(gòu)40中它們各自節(jié)點(diǎn)中但未解碼的中間數(shù)據(jù)項(xiàng)、以及根節(jié)點(diǎn)中以經(jīng)編碼形式留下的數(shù)據(jù)項(xiàng)聚合在一起。該聚合將被理解為包括對(duì)經(jīng)解碼的目標(biāo)數(shù)據(jù)項(xiàng)或由此獲得的新的數(shù)據(jù)項(xiàng)的重編碼。重編碼通常將遵循或以其他方式保留傳入數(shù)據(jù)流的數(shù)據(jù)分級(jí)。以這種方式,可以處理給定類型的傳入數(shù)據(jù)流(例如給定的傳入字節(jié)流),以形成具有相同結(jié)構(gòu)和格式的新的或經(jīng)修改的數(shù)據(jù)流,然后,新的或經(jīng)修改的數(shù)據(jù)流可以被重編碼成與傳入字節(jié)流兼容的形式,以便向另外的處理或節(jié)點(diǎn)傳遞。

      經(jīng)處理的數(shù)據(jù)的目標(biāo)接收方可以在中介節(jié)點(diǎn)10內(nèi),例如,在該中介節(jié)點(diǎn)10中,一個(gè)數(shù)據(jù)中介處理向另一個(gè)數(shù)據(jù)中介處理提供結(jié)果的情況下,或者目標(biāo)接收方可以在中介節(jié)點(diǎn)10的外部。在任一情況下,一個(gè)或多個(gè)實(shí)施例中的處理電路32被配置為:以與編碼和交換協(xié)議兼容的方式,跨處理邊界來(lái)傳遞經(jīng)處理的數(shù)據(jù)流,其中該編碼和交互協(xié)議通常適用于這些邊界和所涉及的數(shù)據(jù)類型。例如,由中介節(jié)點(diǎn)10內(nèi)的處理電路32實(shí)現(xiàn)的每個(gè)“用戶處理”可以執(zhí)行傳入數(shù)據(jù)流處理,并提供具有與傳入數(shù)據(jù)流相同的編碼和/或結(jié)構(gòu)的對(duì)應(yīng)傳出數(shù)據(jù)流。這里,“用戶處理”可以被定義為由給定的工作流程60定義的功能或功能集合。

      圖4是根據(jù)本文教導(dǎo)的一個(gè)或多個(gè)實(shí)施例的數(shù)據(jù)流程圖,并且提供了在不同用戶處理的環(huán)境中的有用說(shuō)明??梢钥闯?,如上述示例所述,傳入字節(jié)流經(jīng)歷多個(gè)處理步驟或操作。該處理涉及對(duì)目標(biāo)數(shù)據(jù)項(xiàng)(針對(duì)給定的工作流程或作業(yè)來(lái)指定的無(wú)論什么處理所需要的目標(biāo)數(shù)據(jù)項(xiàng))的有利提取,并且在沒(méi)有不必要的解碼的情況下進(jìn)行提取,同時(shí)保持用于所存儲(chǔ)的數(shù)據(jù)的緊湊存儲(chǔ)器占用。

      更具體地,可以看出,工作流程信息被解析,以識(shí)別傳入字節(jié)流中作為工作流程信息規(guī)定的處理操作的目標(biāo)(需要)的特定數(shù)據(jù)項(xiàng)。圖中的工作數(shù)據(jù)結(jié)構(gòu)40(簡(jiǎn)稱“wds”)在處理存儲(chǔ)器(例如工作存儲(chǔ)器)中實(shí)例化。wds結(jié)構(gòu)反映了由傳入字節(jié)流表示的數(shù)據(jù)項(xiàng)和對(duì)應(yīng)的數(shù)據(jù)分級(jí),其存儲(chǔ)在wds的根節(jié)點(diǎn)中,但不解碼。

      如上所述,執(zhí)行路徑遍歷處理。簡(jiǎn)言之,工作流程信息直接或間接地識(shí)別傳入字節(jié)流中所需要的具有解碼形式的特定數(shù)據(jù)項(xiàng),以執(zhí)行由工作流程60定義的處理。中介節(jié)點(diǎn)10提取這些目標(biāo)數(shù)據(jù)項(xiàng),并將它們從根節(jié)點(diǎn)移動(dòng)到其在wds中對(duì)應(yīng)的節(jié)點(diǎn),并在此將它們保存為解碼形式以便處理。中間數(shù)據(jù)項(xiàng),即在通往目標(biāo)數(shù)據(jù)項(xiàng)的遍歷路徑上遇到的但不是工作流程處理所需的那些數(shù)據(jù)項(xiàng),也從根節(jié)點(diǎn)移動(dòng)到其在wds中對(duì)應(yīng)的節(jié)點(diǎn),但是它們被移動(dòng)但沒(méi)有解碼。

      執(zhí)行由定義了所示“用戶處理”的可適用工作流程60來(lái)定義的“用戶處理”。因此,與原始傳入數(shù)據(jù)流相比,wds可以并且通常將保存經(jīng)導(dǎo)出或經(jīng)修改的數(shù)據(jù)。在需要提供數(shù)據(jù)流的修改版本以保存記錄或進(jìn)一步處理的程度上,可以看出可以將“傳輸編碼”應(yīng)用于wds,以形成根據(jù)適用于所構(gòu)思傳輸?shù)娜魏螀f(xié)議或標(biāo)準(zhǔn)來(lái)編碼和結(jié)構(gòu)化的傳出數(shù)據(jù)流。在至少一個(gè)實(shí)施例中,以與用于原始傳入數(shù)據(jù)流的類似方式來(lái)重編碼具有其經(jīng)修改或經(jīng)處理的數(shù)據(jù)的wds,這意味著傳出數(shù)據(jù)流與曾跟原始原始傳入數(shù)據(jù)流兼容的任何接收方處理或節(jié)點(diǎn)都兼容。

      上述多個(gè)示例假設(shè)了傳入數(shù)據(jù)流是cdr,但是這些示例是非限制性的。中介節(jié)點(diǎn)10可以接收和處理另一類型或其他類型的傳入數(shù)據(jù)流,作為上述cdr類型的補(bǔ)充或替代。在一個(gè)示例中,中介節(jié)點(diǎn)10接收作為cdr的傳入數(shù)據(jù)流,并且還接收包含電信網(wǎng)絡(luò)8的各種性能數(shù)據(jù)在內(nèi)的傳入數(shù)據(jù)流。一般地,在一個(gè)或多個(gè)實(shí)施例中,中介節(jié)點(diǎn)收集來(lái)自不同網(wǎng)絡(luò)域的計(jì)費(fèi)和性能數(shù)據(jù),并且將該數(shù)據(jù)和/或?qū)С龅臄?shù)據(jù)向多個(gè)bss應(yīng)用和服務(wù)保證應(yīng)用分發(fā)。例如,在其收集具有其各種傳入形式的這些數(shù)據(jù)后,中介節(jié)點(diǎn)10在向下游應(yīng)用分發(fā)數(shù)據(jù)和任何處理結(jié)果之前,執(zhí)行對(duì)這種數(shù)據(jù)的聚合、豐富化和/或相關(guān)處理。

      為了更好地了解上述示例中所討論的中介節(jié)點(diǎn)方法和裝置如何執(zhí)行這樣的處理操作,考慮圖5,其示出了示例tlv編碼數(shù)據(jù)的分級(jí)數(shù)據(jù)結(jié)構(gòu)。示出的結(jié)構(gòu)對(duì)于asn.1/ber編碼來(lái)說(shuō)是典型的。

      這時(shí),假設(shè)中介節(jié)點(diǎn)接收包括如圖5所示的示例tlv編碼數(shù)據(jù)在內(nèi)的傳入數(shù)據(jù)流,可以看出各種數(shù)據(jù)元素(也稱為數(shù)據(jù)項(xiàng)或字段)被映射到數(shù)據(jù)對(duì)象上。再次,這些數(shù)據(jù)對(duì)象是ber-tlv編碼的。在本工作示例中所討論的編碼在iso/iec8825標(biāo)準(zhǔn)中定義。這里,“iso”表示國(guó)際標(biāo)準(zhǔn)組織,且“iec”表示國(guó)際電工委員會(huì)。

      在tlv編碼中,每個(gè)數(shù)據(jù)項(xiàng)用三個(gè)字段來(lái)表示:標(biāo)簽、長(zhǎng)度和值?!皹?biāo)簽”定義了數(shù)據(jù)類型,“長(zhǎng)度”定義了對(duì)象的總數(shù)據(jù)長(zhǎng)度,且“值”表示編碼數(shù)據(jù)。當(dāng)數(shù)據(jù)對(duì)象的值字段由一個(gè)單數(shù)據(jù)元素組成時(shí),稱為原始數(shù)據(jù)對(duì)象。當(dāng)數(shù)據(jù)對(duì)象的值字段遞歸地封裝了一個(gè)或多個(gè)其他數(shù)據(jù)對(duì)象時(shí),稱為構(gòu)造數(shù)據(jù)對(duì)象。為了本討論的目的,構(gòu)造數(shù)據(jù)對(duì)象也可以被稱為“容器數(shù)據(jù)項(xiàng)”,以指示其包含一個(gè)或多個(gè)其他數(shù)據(jù)對(duì)象。這些構(gòu)造的數(shù)據(jù)對(duì)象之一內(nèi)的數(shù)據(jù)對(duì)象也可以被稱為“被包含數(shù)據(jù)項(xiàng)”。

      考慮到這些規(guī)則,假設(shè)在中介節(jié)點(diǎn)10處接收到由圖5的tlv編碼數(shù)據(jù)表示的傳入數(shù)據(jù)流,并且假設(shè)給定的工作流程以數(shù)據(jù)項(xiàng)022作為處理的目標(biāo)。因此,根據(jù)本文的教導(dǎo),中介節(jié)點(diǎn)10將遍歷傳入數(shù)據(jù)流的分級(jí)結(jié)構(gòu),以到達(dá)數(shù)據(jù)項(xiàng)022,數(shù)據(jù)項(xiàng)022將被提取并以經(jīng)解碼形式填充在工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的節(jié)點(diǎn)中,該工作數(shù)據(jù)結(jié)構(gòu)40體現(xiàn)了經(jīng)編碼的傳入數(shù)據(jù)流的分級(jí)結(jié)構(gòu)。

      圖6示出了在該示例中討論的遍歷路徑,其中,由傳入數(shù)據(jù)流定義的結(jié)構(gòu)的第一分級(jí)級(jí)別包括由“tag0”(標(biāo)簽0)、“l(fā)en0”(長(zhǎng)度0)和“value0”(值0)表示的數(shù)據(jù)項(xiàng)0。這里,value0是數(shù)據(jù)項(xiàng)0的數(shù)據(jù)有效載荷。數(shù)據(jù)項(xiàng)0是容器數(shù)據(jù)項(xiàng),因?yàn)樗瑪?shù)據(jù)項(xiàng)01和02,并且同一分級(jí)級(jí)別上可能還有更多的數(shù)據(jù)項(xiàng),如數(shù)據(jù)結(jié)構(gòu)中在數(shù)據(jù)項(xiàng)02之后的“不讀取”(notread)部分中的省略號(hào)所暗示的。進(jìn)而,數(shù)據(jù)項(xiàng)02自身是容器數(shù)據(jù)項(xiàng),因?yàn)樗瑪?shù)據(jù)項(xiàng)021和022,并且同一分級(jí)級(jí)別上可能還有更多的數(shù)據(jù)項(xiàng),如數(shù)據(jù)結(jié)構(gòu)中在數(shù)據(jù)項(xiàng)022之后的“不讀取”(notread)部分中的省略號(hào)所暗示的。

      工作數(shù)據(jù)結(jié)構(gòu)40包括最初在不進(jìn)行任何“解包”或解碼的情況下用傳入數(shù)據(jù)流填充的根節(jié)點(diǎn),并且使用廣度優(yōu)先算法來(lái)遍歷存儲(chǔ)數(shù)據(jù)流的分級(jí)結(jié)構(gòu)。因此,中介節(jié)點(diǎn)10遍歷第一分級(jí)級(jí)別,直到其找到數(shù)據(jù)項(xiàng)01為止,其將數(shù)據(jù)項(xiàng)01識(shí)別為包含數(shù)據(jù)項(xiàng)022。從數(shù)據(jù)項(xiàng)01起,其下降一個(gè)分級(jí)級(jí)別,并且開(kāi)始尋找數(shù)據(jù)項(xiàng)022或者尋找包含數(shù)據(jù)項(xiàng)022在內(nèi)的數(shù)據(jù)項(xiàng)。因此,其在數(shù)據(jù)項(xiàng)01中遍歷,以到達(dá)數(shù)據(jù)項(xiàng)02,此時(shí)其再下降一個(gè)分級(jí)級(jí)別,這時(shí),其在數(shù)據(jù)項(xiàng)021中遍歷,以到達(dá)目標(biāo)數(shù)據(jù)項(xiàng)022。

      應(yīng)當(dāng)理解:工作數(shù)據(jù)結(jié)構(gòu)40具有用于整個(gè)傳入數(shù)據(jù)流的根節(jié)點(diǎn),然后具有包含沿著遍歷路徑遇到的作為中間節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)01和02在內(nèi)的各個(gè)分叉節(jié)點(diǎn)。數(shù)據(jù)項(xiàng)01從根節(jié)點(diǎn)存儲(chǔ)設(shè)備移動(dòng)到工作數(shù)據(jù)結(jié)構(gòu)40的分級(jí)中的對(duì)應(yīng)節(jié)點(diǎn),但是不解碼。數(shù)據(jù)項(xiàng)02也一樣。

      針對(duì)數(shù)據(jù)項(xiàng)021和022來(lái)填充其他分級(jí)分支節(jié)點(diǎn),其中021節(jié)點(diǎn)包括具有經(jīng)編碼形式的作為另一個(gè)中間數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)021,而022節(jié)點(diǎn)包括具有經(jīng)解碼形式的作為目標(biāo)數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)022。請(qǐng)注意,傳入數(shù)據(jù)流的“不讀取”部分中的數(shù)據(jù)項(xiàng)不會(huì)從根節(jié)點(diǎn)移動(dòng),即,這些剩余的數(shù)據(jù)項(xiàng)不會(huì)從根節(jié)點(diǎn)移動(dòng),因?yàn)樵诒闅v路徑上沒(méi)有遇到它們,它們也不是處理的目標(biāo)。當(dāng)然,可以針對(duì)作為處理目標(biāo)的一個(gè)或多個(gè)其他數(shù)據(jù)項(xiàng),對(duì)同一數(shù)據(jù)流進(jìn)行再次處理或迭代處理,并且可以通過(guò)用任何新的中間數(shù)據(jù)項(xiàng)和/或目標(biāo)數(shù)據(jù)項(xiàng)在工作數(shù)據(jù)結(jié)構(gòu)40中添加填充節(jié)點(diǎn)來(lái)遞增地執(zhí)行對(duì)工作數(shù)據(jù)結(jié)構(gòu)40的更多填充。

      上述處理可以被理解為一種“剛好及時(shí)(justintime)”解碼的形式,其中中介節(jié)點(diǎn)10確定通往傳入數(shù)據(jù)流(例如,具有tlv編碼格式的傳入字節(jié)流)中包括的目標(biāo)數(shù)據(jù)項(xiàng)的路徑。在上述示例中,中介節(jié)點(diǎn)10將通往數(shù)據(jù)項(xiàng)022的遍歷路徑確定為“數(shù)據(jù)項(xiàng)0→數(shù)據(jù)項(xiàng)01→數(shù)據(jù)項(xiàng)02→數(shù)據(jù)項(xiàng)021→數(shù)據(jù)項(xiàng)022”。一旦獲知遍歷路徑,路徑迭代開(kāi)始,并且包括示例實(shí)現(xiàn)中的三個(gè)動(dòng)作。

      作為第一動(dòng)作,中介節(jié)點(diǎn)10使用廣度優(yōu)先搜索(bfs)算法來(lái)執(zhí)行對(duì)樹(shù)結(jié)構(gòu)進(jìn)行解析的可中斷廣度優(yōu)先搜索。bfs算法在遇到目標(biāo)數(shù)據(jù)項(xiàng)或遇到容器數(shù)據(jù)項(xiàng)的位置處中斷。假設(shè)遇到容器數(shù)據(jù)項(xiàng),則bfs在下一分級(jí)級(jí)別處繼續(xù)檢查遇到的數(shù)據(jù)項(xiàng)。作為第二動(dòng)作或操作,中介節(jié)點(diǎn)10執(zhí)行值填充,其中,其在不解碼的情況下將中間數(shù)據(jù)項(xiàng)分配給工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的節(jié)點(diǎn)。其使用在遍歷路徑上其遇到的作為中間數(shù)據(jù)項(xiàng)的編碼數(shù)據(jù)項(xiàng)來(lái)填充工作數(shù)據(jù)結(jié)構(gòu)40。作為第三動(dòng)作,中介節(jié)點(diǎn)10對(duì)目標(biāo)數(shù)據(jù)項(xiàng)執(zhí)行實(shí)際解碼,并填充工作數(shù)據(jù)結(jié)構(gòu)40中對(duì)應(yīng)的節(jié)點(diǎn)。

      在許多情況下,例如在給定的傳入數(shù)據(jù)流包括大量多個(gè)數(shù)據(jù)項(xiàng),但具有相對(duì)較短的通向目標(biāo)數(shù)據(jù)項(xiàng)的遍歷路徑的情況下,傳入數(shù)據(jù)流中的大部分?jǐn)?shù)據(jù)項(xiàng)以編碼形式留在了工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)中。沒(méi)有處理被“浪費(fèi)”在這些剩余的數(shù)據(jù)項(xiàng)上,并且極少的處理花費(fèi)在中間數(shù)據(jù)項(xiàng)上,中間數(shù)據(jù)項(xiàng)只是從根節(jié)點(diǎn)移動(dòng)到其在工作數(shù)據(jù)結(jié)構(gòu)40中的對(duì)應(yīng)節(jié)點(diǎn)。另外,花費(fèi)在實(shí)際解碼上的處理被保留,僅用于處理那些被工作流程當(dāng)作處理目標(biāo)的數(shù)據(jù)項(xiàng)。

      圖7示出了根據(jù)本文教導(dǎo)的樣本asn.1模板,其具有可被分配給工作數(shù)據(jù)結(jié)構(gòu)40的樣本數(shù)據(jù)。具體地,該示意圖示出了樣本數(shù)據(jù)的十六進(jìn)制字節(jié)流表示,例如,其可以被接收,作為傳入數(shù)據(jù)流,并存儲(chǔ)在工作數(shù)據(jù)結(jié)構(gòu)40的根節(jié)點(diǎn)中。例如,中介節(jié)點(diǎn)10接收該十六進(jìn)制字節(jié)流,并且中介節(jié)點(diǎn)10已知樣本asn.1模板應(yīng)用于所接收的字節(jié)流。

      圖8示出了相應(yīng)的實(shí)例化工作數(shù)據(jù)結(jié)構(gòu)40,其包括與所接收的字節(jié)流中的編碼數(shù)據(jù)的分級(jí)結(jié)構(gòu)相對(duì)應(yīng)的級(jí)別0、級(jí)別1和級(jí)別2節(jié)點(diǎn)。工作數(shù)據(jù)結(jié)構(gòu)40的級(jí)別0包括根節(jié)點(diǎn)120,其最初保存具有經(jīng)編碼形式的字節(jié)流。級(jí)別1包括作為路徑遍歷的一部分而被填充的三個(gè)節(jié)點(diǎn)122??梢钥闯?,這三個(gè)級(jí)別1節(jié)點(diǎn)122中的每一個(gè)對(duì)應(yīng)于字節(jié)流中在該分級(jí)級(jí)別的不同數(shù)據(jù)項(xiàng)。級(jí)別2包括另外的三個(gè)節(jié)點(diǎn)122,并且同樣這三個(gè)另外的節(jié)點(diǎn)122中的每一個(gè)對(duì)應(yīng)于字節(jié)流中存在于該數(shù)據(jù)分級(jí)級(jí)別的給定的數(shù)據(jù)項(xiàng)。

      在用于實(shí)例化工作數(shù)據(jù)結(jié)構(gòu)40的數(shù)據(jù)結(jié)構(gòu)定義的意義上,存在表示傳入字節(jié)流的分級(jí)數(shù)據(jù)項(xiàng)所需的所有節(jié)點(diǎn)。這種布置完全考慮到了所接收的字節(jié)流的分級(jí)結(jié)構(gòu)。然而,僅填充對(duì)應(yīng)于中間數(shù)據(jù)項(xiàng)和目標(biāo)數(shù)據(jù)項(xiàng)的節(jié)點(diǎn)122。此外,用于中間數(shù)據(jù)項(xiàng)的節(jié)點(diǎn)122用經(jīng)編碼數(shù)據(jù)來(lái)填充,并且只有用于目標(biāo)數(shù)據(jù)項(xiàng)的節(jié)點(diǎn)122用經(jīng)解碼數(shù)據(jù)來(lái)填充。

      在圖8的示例中,右下方的節(jié)點(diǎn)122(保存“userid”數(shù)據(jù)項(xiàng)的節(jié)點(diǎn))是“被處理數(shù)據(jù)項(xiàng)”,即,其是數(shù)據(jù)處理的目標(biāo)。因此,假設(shè)userid(用戶id)是唯一的目標(biāo)數(shù)據(jù)項(xiàng),則只有其對(duì)應(yīng)的節(jié)點(diǎn)122將保存經(jīng)解碼的數(shù)據(jù)。假設(shè)在通往userid數(shù)據(jù)項(xiàng)的遍歷中遇到了作為中間節(jié)點(diǎn)的如圖所示的其他級(jí)別節(jié)點(diǎn)和級(jí)別2節(jié)點(diǎn),則將用仍為經(jīng)編碼形式的它們各個(gè)數(shù)據(jù)項(xiàng)來(lái)填充這些節(jié)點(diǎn)。中間數(shù)據(jù)項(xiàng)和目標(biāo)數(shù)據(jù)項(xiàng)將被從根節(jié)點(diǎn)120移出,相比于將其留在根節(jié)點(diǎn)120中以及將其填充到另一個(gè)節(jié)點(diǎn)122中,這節(jié)省了存儲(chǔ)器。

      本文的教導(dǎo)不限于asn.1/ber規(guī)范,也不限于計(jì)費(fèi)數(shù)據(jù)記錄的數(shù)據(jù)類型,而是代之以適用于基本上任何類型的tlv結(jié)構(gòu)化數(shù)據(jù)。與常規(guī)的對(duì)整個(gè)數(shù)據(jù)結(jié)構(gòu)和所有被包含數(shù)據(jù)項(xiàng)進(jìn)行編碼和解碼相比,采用這些教導(dǎo)來(lái)處理該數(shù)據(jù)提供了端到端性能改進(jìn),顯著降低了存儲(chǔ)器利用率,顯著降低了cpu利用率,顯著降低了分布式處理系統(tǒng)中的編碼/解碼“開(kāi)銷”,并且相應(yīng)地降低了數(shù)據(jù)中介節(jié)點(diǎn)的整體硬件需求。

      應(yīng)該注意,本領(lǐng)域技術(shù)人員在知曉前面描述和關(guān)聯(lián)附圖中提出的教導(dǎo)的情況下將想到所公開(kāi)發(fā)明的修改和其他實(shí)施例。因此,應(yīng)當(dāng)理解本發(fā)明不受限于所公開(kāi)的具體實(shí)施例,且修改和其他實(shí)施例預(yù)期被包括在本公開(kāi)的范圍內(nèi)。雖然本文可能使用了具體術(shù)語(yǔ),但是其僅用于一般性或描述性意義,且不用于限制目的。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1