專利名稱::用于向數(shù)據(jù)庫提供數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及用于向數(shù)據(jù)庫提供數(shù)據(jù)的方法和系統(tǒng)。
背景技術(shù):
:隨著計算機應(yīng)用在監(jiān)視諸如網(wǎng)絡(luò)傳輸事件、增殖之類的事件或過程中的應(yīng)用,生成的數(shù)據(jù)量和數(shù)據(jù)生成的速率增加。優(yōu)選地希望存儲由計算機應(yīng)用生成的數(shù)據(jù),以便能夠分析數(shù)據(jù)并將其與先前獲得的數(shù)據(jù)相比較等等。然而,由于平臺、系統(tǒng)和格式的不同,數(shù)字時代的數(shù)據(jù)存儲仍然存在問題。這些不同使得難以有效地存儲大量數(shù)據(jù)。因此,需要用于將由計算機應(yīng)用生成的數(shù)據(jù)存儲在數(shù)據(jù)庫中的方法和系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明的方法實施例用于向數(shù)據(jù)庫提供由計算機應(yīng)用生成的數(shù)據(jù),包括以下步驟根據(jù)預(yù)定編碼規(guī)則對數(shù)據(jù)編碼并將編碼后的數(shù)據(jù)傳送到數(shù)據(jù)庫。數(shù)據(jù)的編碼和編碼后數(shù)據(jù)傳送到數(shù)據(jù)庫的操作是由計算機系統(tǒng)執(zhí)行的。在一種情形中,本發(fā)明的方法實施例還包括發(fā)展出從編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射以及根據(jù)數(shù)據(jù)庫模式存儲數(shù)據(jù)。映射的開發(fā)和數(shù)據(jù)的存儲是由計算機系統(tǒng)執(zhí)行的。在另一情形中,本發(fā)明的方法還包括經(jīng)由網(wǎng)絡(luò)傳輸編碼后的數(shù)據(jù)的步驟。還公開了實現(xiàn)本發(fā)明的方法的系統(tǒng)和包括具有實現(xiàn)有計算機可讀代碼的計算機可用介質(zhì)的計算機程序產(chǎn)品,計算機可讀代碼使得計算機系統(tǒng)實現(xiàn)本發(fā)明的方法。為了更好地理解本發(fā)明以及其他需要,參考附圖和下面的詳細描述,本發(fā)明的范圍將在所附權(quán)利要求中指出。圖1是本發(fā)明的方法實施例的示意性流程圖;圖2是本發(fā)明的系統(tǒng)實施例的示意性框圖;以及圖3是本發(fā)明的系統(tǒng)的另一實施例的示意性框圖。具體實施例方式圖1中示出了本發(fā)明的方法實施例的框示。參考圖1,在圖示的實施例10中,由計算機應(yīng)用生成的數(shù)據(jù)根據(jù)預(yù)定編碼規(guī)則被編碼(步驟20,圖1)。編碼后的數(shù)據(jù)被經(jīng)由網(wǎng)絡(luò)傳輸,其中傳輸是根據(jù)網(wǎng)絡(luò)傳輸協(xié)議發(fā)生的(步驟30,圖1)。在一個實施例中,數(shù)據(jù)的編碼包括根據(jù)網(wǎng)絡(luò)傳輸協(xié)議(以可服從于網(wǎng)絡(luò)傳輸協(xié)議的形式)提供編碼后的數(shù)據(jù)。示例性網(wǎng)絡(luò)傳輸協(xié)議包括(但不限于)TCP、UDP、HTTP等。在網(wǎng)絡(luò)的接收節(jié)點處,發(fā)展出從編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射(步驟40,圖1)。數(shù)據(jù)根據(jù)數(shù)據(jù)庫模式被存儲在數(shù)據(jù)庫中(步驟50,圖1)。圖1的步驟40和50代表將編碼后的數(shù)據(jù)傳送到數(shù)據(jù)庫的步驟的一個實施例(標記為步驟25,圖1)。應(yīng)當注意,數(shù)據(jù)不經(jīng)由網(wǎng)絡(luò)傳輸?shù)膶嵤├脖话ㄔ诒景l(fā)明的范圍內(nèi)(在這樣的實施例中,省略了步驟30)。在一個實施例中,數(shù)據(jù)庫由一個或(通常)多個表構(gòu)成。每個表是一組記錄或行,記錄或行具有在定義的列集合中的數(shù)據(jù)。每列中的數(shù)據(jù)被定義為某一類型,也可以具有值約束,如唯一性或非空。在某些表列上可以定義索引。該關(guān)于數(shù)據(jù)庫的信息由數(shù)據(jù)庫模式提供。圖2中示出了本發(fā)明的系統(tǒng)實施例的框示。參考圖2,在圖示的實施例100中,計算機應(yīng)用100生成被提供給子系統(tǒng)120的數(shù)據(jù)。子系統(tǒng)120包括處理器125,處理器125利用互連組件(例如但不限于計算機總線)工作連接到計算機可用介質(zhì)135。在圖2所示的實施例100中,計算機可用介質(zhì)135具有實現(xiàn)在其中的計算機可讀代碼,該計算機可讀代碼能使得處理器125根據(jù)預(yù)定編碼規(guī)則130對數(shù)據(jù)編碼并經(jīng)由網(wǎng)絡(luò)140傳輸編碼后的數(shù)據(jù)。應(yīng)當注意,在一個實施例中,計算機可讀代碼對數(shù)據(jù)進行解析或應(yīng)用數(shù)據(jù)過濾,并輸出編碼后的數(shù)據(jù),但是本發(fā)明并不限于該實施例。所傳輸?shù)木幋a后的數(shù)據(jù)被另一子系統(tǒng)150接收。另一子系統(tǒng)150包括另一處理器145,處理器145利用連接組件147工作連接到另一計算機可用介質(zhì)155。另一計算機可用介質(zhì)155具有實現(xiàn)在其中的計算機可讀代碼,該計算機可讀代碼使得另一處理器145接收編碼后的數(shù)據(jù)并將編碼后的數(shù)據(jù)傳送到數(shù)據(jù)庫160。在一個實施例中,使得另一處理器145將編碼后的數(shù)據(jù)傳送到數(shù)據(jù)庫160的計算機可讀代碼能夠使得另一處理器145發(fā)展出從編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射,并將數(shù)據(jù)存儲到數(shù)據(jù)庫160中。應(yīng)當注意,在一個實施例中(例如,對于關(guān)系數(shù)據(jù)庫),從編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射可以是基于表的映射,但是本發(fā)明并不限于該實施例。在基于表的映射中,編碼后的數(shù)據(jù)被認為是向單個表或一組表提供的信息,并且該提供的信息被映射到數(shù)據(jù)庫模式中。應(yīng)當注意,從編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的其他映射(例如但不限于目標關(guān)系映射)也包括在本發(fā)明的范圍內(nèi)。(例如見RonaldBourret,XMLandDatabase(2004),這里通過引用并入其內(nèi)容。)還應(yīng)當注意,在利用XML來對數(shù)據(jù)編碼的實施例中,從XML模式(XML模式例如但不限于DTD或XML模式)到數(shù)據(jù)庫模式的映射也包括在本發(fā)明的范圍內(nèi)。為了更好地圖示本發(fā)明的方法和系統(tǒng),下面給出了示例性實施例。應(yīng)當注意,本發(fā)明的方法和系統(tǒng)并不僅限于該實施例。在示例性實施例中,計算機應(yīng)用獲得與網(wǎng)絡(luò)傳輸事件有關(guān)的數(shù)據(jù)。該示例性實施例的目的是將針對每個被分析的網(wǎng)絡(luò)傳輸事件的數(shù)據(jù)存儲在數(shù)據(jù)庫中。在該示例性實施例中,數(shù)據(jù)被例如但不限于網(wǎng)絡(luò)分析儀(如安捷倫科技公司的“J6800A網(wǎng)絡(luò)分析儀”)之類的儀器收集,并且被設(shè)計用于分析來自數(shù)據(jù)收集儀器的數(shù)據(jù)(或運行在作為平臺的數(shù)據(jù)收集儀器上,這種數(shù)據(jù)收集儀器例如是安捷倫科技公司的“J5486A網(wǎng)絡(luò)分析儀”)的軟件(或硬件)應(yīng)用分析。在圖3所示的示例性實施例中,針對示例性實施例中所示的VoIP或無線網(wǎng)絡(luò)中的“呼叫”的數(shù)據(jù)是從數(shù)據(jù)分析應(yīng)用210中獲得的。(在一個實施例中,計算機可用介質(zhì)中實現(xiàn)的計算機可讀代碼使得包括處理元件在的計算機子系統(tǒng)從數(shù)據(jù)分析應(yīng)用210中獲得數(shù)據(jù)。)在示例性實施例中,編碼規(guī)則在數(shù)據(jù)編碼時采用通用標記語言XML。XML格式的使用能夠根據(jù)諸如TCP協(xié)議之類的網(wǎng)絡(luò)協(xié)議(以可服從于網(wǎng)絡(luò)傳輸協(xié)議的形式)提供編碼后的數(shù)據(jù)。計算機可用介質(zhì)中實現(xiàn)的計算機可讀代碼使得計算機子系統(tǒng)(包括處理元件)以XML格式對網(wǎng)絡(luò)事件數(shù)據(jù)進行編碼,并根據(jù)網(wǎng)絡(luò)協(xié)議提供編碼數(shù)據(jù)。用在示例性實施例中的XML格式包括兩個主要元素,“l(fā)ore”和“dataunit(數(shù)據(jù)單元)”。基于XML格式的示例性編碼規(guī)則如下所示。Lore“l(fā)ore”包含關(guān)于消息類型、消息名和版本的頭部信息。該信息被用在協(xié)議的頭部部分中,并且能夠用來接收和檢索根據(jù)協(xié)議傳輸?shù)男畔ⅰ?amp;lt;lore><updated>1</updated><version>2.0</version><profile>ITU2000ISUP</profile><id>198</id></lore>Dataunit“dataunit”由“field”構(gòu)成,這是根據(jù)協(xié)議傳輸?shù)臄?shù)據(jù),“position”表明根據(jù)協(xié)議的傳輸中的位置,“name”是用戶友好的描述,“dataid”用作應(yīng)用的交叉引用,“type”是數(shù)據(jù)類型,如串、整數(shù)、時間戳、ip地址和持續(xù)時間,“l(fā)ength”是該類型的新數(shù)據(jù)的大小。<fieldposition=“1”><name>CleardownTime</name><dataid>2008</dataid><tyPe>duration</tyPe><length>4</length></field>以XML文件編碼的示例性數(shù)據(jù)如下所示。<?Xmlversion=“1.0”encoding=“UTF-8”standalone=“no”?><callflowprotocol><lore><updated>1</updated><version>2.0</version><profile>ITU2000ISUP</profile><id>198</id></lore><dataunit><fieldposition=“1”><name>CleardownTime</name><dataid>2008</dataid><tyPe>duration</tyPe><length>4</length></field><fieldposition=“2”><name>SetupTime</name><dataid>2006</dataid><tyPe>duration</type><length>4</length></field><fieldposition=“3”><name>OPC</name><dataid>2001</dataid><type>int</type><length>4</length></field><fieldposition=“4”><name>DPC</name><dataid>2002</dataid><type>int</type><length>4</length></field><fieldposition=“5”><name>CIC</name><dataid>2005</dataid><type>int</type><length>4</length></field><fieldposition=“6”><name>CallingPartyNumber</name><dataid>2003</dataid><type>string</type><length>25</length></field><fieldposition=“7”><name>CalledPartyNumber</name><dataid>2004</dataid><type>string</type><length>25</length></field><fieldposition=“8”><name>ReleaseCause</name><datald>2010</dataid><type>int</type><length>4</length></field><fieldposition=“9”><name>StartTime</name><dataid>2020</dataid><type>timestamp</type><length>4</length></field></dataunit></callflowprotocol>在示例性實施例中,上述以XML文件編碼的數(shù)據(jù)被根據(jù)協(xié)議(TCP)給出,經(jīng)由網(wǎng)絡(luò)傳輸并在網(wǎng)絡(luò)的接收節(jié)點處被接收到。從XML文件可以生成數(shù)據(jù)庫模式并用于存儲消息;數(shù)據(jù)庫模式是根據(jù)協(xié)議經(jīng)由網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的映射。當接收到傳輸?shù)臄?shù)據(jù)時,其隨后被根據(jù)數(shù)據(jù)庫模式映射到數(shù)據(jù)庫中的行和每列。模式的示例性實施例如下所示。insertintocall_trace_profilevalues(198,‘ITU2000ISUP’,‘ITU_2000_ISUP’,‘2.0’,‘createtableITU_2000_ISUP_%s(idbigintnotnullauto_increment,sart_instance_idintegernotnull,sal_file_idintegernotnull,call_idintegernotnull,durationintegernotnull,Start_Timetimestampnotnull,Cleardown_Timeinteger,Setup_Timeinteger,OPCinteger,DPCinteger,CICinteger,Calling_Party_Numbervarchar(25)notnull,Called_Party_Numbervarchar(25)notnull,Release_Causeinteger,call_phase1varchar(201)notnull,call_phase2varchar(201)notnull,successfulintegernotnull,primarykey(id),index(Start_Time,Calling_Party_Number),index(Start_Time,Called_Party_Number))TYPE=InnoDB;’);commit;insertintocall_trace_table_columnsvalues(198,l,2020,‘Start_Time’,4,‘Start_Time’,1,0,0);insertintocall_trace_table_columnsvalues(198,2,2008,‘Cleardown_Time’,3,‘CleardownTime’,0,0,0);insertintocall_trace_table_columnsvalues(198,3,2006,‘Setup_Time’,3,‘SetupTime’,0,0,0);insertintocall_trace_table_columnsvalues(198,4,2001,‘OPC’,1,‘OPC’,0,0,0);insertintocall_trace_table_columnsvalues(198,5,2002,‘DPC’,1,‘DPC’,0,0,0);insertintocall_trace_table_columnsvalues(198,6,2005,‘CIC’,1,‘CIC’,0,0,0);insertintocall_trace_table_columnsvalues(198,7,2003,‘Calling_Party_Number’,5,‘CallingPartyNumber’,1,0,0);insertintocall_tracetablecolumnsvalues(198,8,2004,‘Called_Party_Number’,5,‘CalledPartyNumber’,1,0,0);insertintocall_trace_table_columnsvalues(198,9,2010,‘Release_Cause’,1,‘ReleaseCause’,0,27,1);commit;應(yīng)當注意,盡管結(jié)合了采用特定通用標記語言XML的示例性實施例對本發(fā)明進行了描述,但是這并不是對本發(fā)明的限制,其他通用標記語言和元數(shù)據(jù)源也包括在本發(fā)明的范圍內(nèi)。還應(yīng)當注意,盡管結(jié)合了采用特定網(wǎng)絡(luò)協(xié)議TCP的示例性實施例對本發(fā)明進行了描述,但是這并不是對本發(fā)明的限制,其他網(wǎng)絡(luò)協(xié)議也包括在本發(fā)明的范圍內(nèi)。通常,上述技術(shù)可以實現(xiàn)在例如硬件、軟件、固件或其任意組合中。上述技術(shù)可以實現(xiàn)在運行在可編程計算機上的一個或多個計算機程序中,所述可編程計算機包括處理器、可由處理器讀取的存儲介質(zhì)(例如包括易失性和非易失性存儲器和/或存儲元件)、至少一個輸入設(shè)備和至少一個輸出設(shè)備。程序代碼可以被應(yīng)用到利用輸入設(shè)備輸入的數(shù)據(jù)上,以執(zhí)行所述功能并生成輸出信息。輸出信息可以應(yīng)用到一個或多個輸出設(shè)備。在本發(fā)明的范圍內(nèi),任何軟件或程序代碼都實現(xiàn)在計算機可用介質(zhì)中,并且上述軟件中的技術(shù)的任何實現(xiàn)方式都是采用實現(xiàn)有軟件或程序代碼的計算機可用介質(zhì)的實現(xiàn)方式。這里所用的計算機系統(tǒng)或子系統(tǒng)包括一個或多個處理器,并且可以是分布式的(即,可以具有在不同位置處的一個或多個處理器),可以包括網(wǎng)絡(luò),可以具有利用載波進行通信的一個或多個處理器,并且可以包括采用TCP協(xié)議的網(wǎng)絡(luò),例如但不限于因特網(wǎng)。這里所描述的元件和組件可以進一步劃分為附加組件,并且可以接合在一起以形成用于執(zhí)行相同功能的較少的組件。所附權(quán)利要求范圍內(nèi)的每種計算機程序(代碼)可以以任何編程語言實現(xiàn),如匯編語言、機器語言、高級程序編程語言或面向?qū)ο蟮木幊陶Z言。編程語言可以是經(jīng)編譯的或經(jīng)解釋的編程語言。每種計算機程序可以實現(xiàn)在有形地實施在計算機可讀存儲設(shè)備中的計算機程序產(chǎn)品中,以供計算機處理器執(zhí)行。本發(fā)明的方法步驟可由計算機處理器執(zhí)行,計算機處理器運行有形地實現(xiàn)在計算機可讀介質(zhì)上的程序,以通過對輸入進行操作并生成輸出來執(zhí)行本發(fā)明的功能。計算機可讀或可用介質(zhì)的常見形式例如包括軟盤、柔性盤、硬盤、磁帶、或任何其他磁介質(zhì)、CDROM、任何其他光介質(zhì)、穿孔卡、紙帶、任何其他帶有孔圖案的物理介質(zhì)、RAM、PROM和EPROM、FLASH-EPROM、任何其他存儲器芯片或盒、載波、或計算機可以讀取的任何其他介質(zhì)。盡管結(jié)合了各種實施例描述了本發(fā)明,但是應(yīng)當認識到,本發(fā)明還能夠廣泛地應(yīng)用于其他實施例,這些實施例也在所附權(quán)利要求的精神和范圍內(nèi)。權(quán)利要求1.一種用于向數(shù)據(jù)庫提供由計算機應(yīng)用生成的數(shù)據(jù)的方法,所述方法包括以下步驟根據(jù)預(yù)定編碼規(guī)則對所述數(shù)據(jù)編碼;發(fā)展出從所述編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射;以及根據(jù)所述數(shù)據(jù)庫模式將所述數(shù)據(jù)存儲在所述數(shù)據(jù)庫中;其中編碼所述數(shù)據(jù)、發(fā)展所述映射和將所述數(shù)據(jù)存儲到數(shù)據(jù)庫中都是由計算機系統(tǒng)執(zhí)行的。2.如權(quán)利要求1所述的方法,其中所述對數(shù)據(jù)編碼的步驟包括根據(jù)網(wǎng)絡(luò)傳輸協(xié)議提供所述編碼后的數(shù)據(jù)的步驟。3.如權(quán)利要求2所述的方法,還包括以下步驟經(jīng)由網(wǎng)絡(luò)傳輸所述編碼后的數(shù)據(jù);其中所述數(shù)據(jù)在傳輸后被存儲。4.如權(quán)利要求1所述的方法,其中所述對數(shù)據(jù)編碼的步驟包括在編碼所述數(shù)據(jù)時采用通用標記語言的步驟。5.如權(quán)利要求4所述的方法,其中所述通用標記語言是XML。6.如權(quán)利要求1所述的方法,還包括從網(wǎng)絡(luò)傳輸事件獲得所述數(shù)據(jù)的步驟。7.一種用于存儲由計算機應(yīng)用生成的數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括至少一個處理器;其中實現(xiàn)有計算機可讀代碼的至少一個計算機可用介質(zhì),所述計算機可讀代碼能夠使得所述至少一個處理器執(zhí)行以下步驟根據(jù)預(yù)定編碼規(guī)則對所述數(shù)據(jù)編碼;發(fā)展出從所述編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射;以及根據(jù)所述數(shù)據(jù)庫模式將所述數(shù)據(jù)存儲在數(shù)據(jù)庫中。8.如權(quán)利要求7所述的系統(tǒng),還包括用于存儲數(shù)據(jù)的計算機可讀存儲器,所述計算機可讀存儲器包括存儲在所述計算機可讀存儲器中的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括駐留在所述數(shù)據(jù)庫中的信息。9.如權(quán)利要求7所述的系統(tǒng),其中所述計算機可讀代碼還能夠使得所述至少一個處理器執(zhí)行以下步驟采用網(wǎng)絡(luò)傳輸協(xié)議經(jīng)由網(wǎng)絡(luò)傳輸所述編碼后的數(shù)據(jù);其中所述數(shù)據(jù)在傳輸后被存儲。10.如權(quán)利要求7所述的系統(tǒng),其中所述計算機可讀代碼在使得所述至少一個處理器對數(shù)據(jù)編碼時能夠使得所述至少一個處理器在對數(shù)據(jù)編碼中采用通用標記語言。11.如權(quán)利要求10所述的系統(tǒng),其中所述通用標記語言是XML。12.如權(quán)利要求7所述的系統(tǒng),其中所述數(shù)據(jù)是與網(wǎng)絡(luò)傳輸事件有關(guān)的數(shù)據(jù)。13.一種計算機程序產(chǎn)品,包括其中實現(xiàn)有計算機可讀代碼的計算機可用介質(zhì),所述計算機可讀代碼能夠使得計算機系統(tǒng)執(zhí)行以下步驟根據(jù)預(yù)定編碼規(guī)則對數(shù)據(jù)編碼;發(fā)展出從所述編碼后的數(shù)據(jù)到數(shù)據(jù)庫模式的映射;以及根據(jù)所述數(shù)據(jù)庫模式將所述數(shù)據(jù)存儲在所述數(shù)據(jù)庫中。14.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中所述計算機可讀代碼還能夠使得所述計算機系統(tǒng)執(zhí)行以下步驟采用網(wǎng)絡(luò)傳輸協(xié)議經(jīng)由網(wǎng)絡(luò)傳輸所述編碼后的數(shù)據(jù);其中所述數(shù)據(jù)在傳輸后被存儲。15.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中所述計算機可讀代碼在使得所述計算機系統(tǒng)對數(shù)據(jù)編碼時能夠使得所述計算機系統(tǒng)在對數(shù)據(jù)編碼中采用通用標記語言。16.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中所述通用標記語言是XML。17.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中所述數(shù)據(jù)是與網(wǎng)絡(luò)傳輸事件有關(guān)的數(shù)據(jù)。全文摘要本發(fā)明公開了用于向數(shù)據(jù)庫提供由計算機應(yīng)用生成的數(shù)據(jù)的方法和系統(tǒng)。文檔編號H04L29/00GK1971561SQ20061010328公開日2007年5月30日申請日期2006年7月24日優(yōu)先權(quán)日2005年11月22日發(fā)明者斯蒂芬·P·康納利申請人:安捷倫科技有限公司