專利名稱::呼叫詳細記錄數(shù)據(jù)的存儲方法、顯示方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信數(shù)據(jù)處理領(lǐng)域,尤其涉及呼叫詳細記錄(CDR,CallDetailRecord)數(shù)據(jù)的處理方法和系統(tǒng)。
背景技術(shù):
:CDR是一個寫入數(shù)據(jù)庫用于后加工的通信呼叫記錄。一個典型的CDR包括呼叫的開始和目的地址,呼叫開始和結(jié)束的時間,呼叫的持續(xù)時間,呼叫的曰期和任何通過網(wǎng)絡(luò)的費用或接線員服務費用等。隨著下一代網(wǎng)絡(luò)(NGN,NextGenerationNetwork)軟交換技術(shù)的飛速發(fā)展和應用,在通信網(wǎng)絡(luò)中采用NGN軟交換技術(shù)的地方越來越多,NGN相關(guān)的數(shù)據(jù)流量越來越大,最終生成的CDR數(shù)據(jù)量也越來越大,短時間內(nèi)就生成千萬級別的CDR數(shù)據(jù)量是常見的事情。如何對海量的CDR數(shù)據(jù)進行處理,使用戶能夠快速的從海量的CDR數(shù)據(jù)中找出自己關(guān)心的數(shù)據(jù)是CDR數(shù)據(jù)處理要解決的主要問題。一種方法是合成后的CDR寫入一個數(shù)據(jù)文件,這樣可以較為全面地對CDR進行記錄,但是因為只是簡單地對CDR數(shù)據(jù)進行記錄,對應的應用軟件對需要對全體CDR進行處理,因為CDR數(shù)據(jù)量非常大,要從如此海量的CDR數(shù)據(jù)中獲得用戶需要的信息就會非常慢,效率低下,此外,這種簡單的處理方法給系統(tǒng)帶來很大的壓力,甚至造成系統(tǒng)死機。發(fā)明人通過對現(xiàn)有技術(shù)的研究發(fā)現(xiàn),現(xiàn)有技術(shù)沒有實現(xiàn)從海量的CDR數(shù)據(jù)中快速地向用戶顯示其所需要的數(shù)據(jù)。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實施例的目的在于提供CDR數(shù)據(jù)存儲方法、顯示方法及系統(tǒng),實現(xiàn)從海量的CDR數(shù)據(jù)中快速找到滿足用戶需要的數(shù)據(jù)。為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術(shù)方案一種呼叫詳細記錄CDR數(shù)據(jù)的存儲方法,包括獲取CDR數(shù)據(jù);每一類所述CDR數(shù)據(jù)生成四個子文件,其中第一子文件用于存放CDR基本信息;第二子文件用于存放CDR的附加信息;第三子文件用于存放CDR的原始數(shù)據(jù)包和復合包;第四子文件用于存放CDR文件內(nèi)容的索引;將所述四個子文件寫入存儲介質(zhì),所述四個子文件相互關(guān)聯(lián)。所述將所述四個子文件寫入存儲介質(zhì)具體包括將所述四個子文件均寫入^f茲盤;或者,將所述第一子文件寫入數(shù)據(jù)庫,將第二、第三和第四子文件寫入不茲盤。所述四個子文件有相同的文件名,不同的后綴名。所述第一子文件包括CDR文件頭和CDR數(shù)據(jù)部分,其中,所述文件頭包括首CDR開始時間戳和末CDR開始時間戳;所述CDR數(shù)據(jù)部分包括上本CDR的標識、附加信息文件存放的位置、上級CDR的文件標識和上級CDR的標識。所述第二子文件包括文件頭和附加數(shù)據(jù)區(qū),其中,所述附加數(shù)據(jù)區(qū)包括原始數(shù)據(jù)包信息、上級CDR位置、當前CDR存放的其它不等長信息字段以及當前CDR對應的其他附加信息;其中,所述原始數(shù)據(jù)包信息包括所述數(shù)據(jù)包在數(shù)據(jù)包文件中的位置以及該數(shù)據(jù)包所對應的下級CDR的位置。所述第三子文件包括數(shù)據(jù)包文件頭和數(shù)據(jù)包信息,其中,當所述合成后的CDR數(shù)據(jù)為協(xié)議CDR數(shù)據(jù)時,所述數(shù)據(jù)包信息中存放數(shù)據(jù)包的原始數(shù)據(jù);當所述合成后的CDR數(shù)據(jù)為上層CDR數(shù)據(jù)時,所述數(shù)據(jù)包信息中存放當前數(shù)據(jù)包實體的位置信息。所述第四子文件包括文件頭、CDR文件索引表和數(shù)據(jù)包文件索引表。一種CDR數(shù)據(jù)顯示方法,包括獲取用戶輸入的顯示條件;過濾出的符合所述顯示條件的CDR的標識信息,所述CDR的標識信息存儲在內(nèi)存中;根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲?。桓鶕?jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲?。焕盟鯟DR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù);顯示構(gòu)造出的CDR數(shù)據(jù)。在過濾出的符合所述顯示條件的CDR的標識信息之前還包括對所述CDR標識信息進行分組。將所述CDR標識信息進行分組具體包括按照時間順序?qū)DR數(shù)據(jù)進行分組;按照CDR條數(shù)對CDR數(shù)據(jù)進行分組;按照CDR數(shù)據(jù)的類型對CDR數(shù)據(jù)進行分組;或者按照CDR數(shù)據(jù)的狀態(tài)對CDR數(shù)據(jù)進行分組。一種CDR數(shù)據(jù)顯示系統(tǒng),包括獲取單元,用于獲取用戶輸入的顯示條件;構(gòu)造單元,用于根據(jù)過濾出的符合所述顯示條件的CDR的標識信息構(gòu)造CDR數(shù)據(jù);顯示單元,用于顯示構(gòu)造出的CDR數(shù)據(jù)。所述構(gòu)造單元具體包括第一查找子單元,用于根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;第二查找子單元,用于根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系才艮據(jù)存放CDR文件內(nèi)容索引的第四子單元獲?。坏谌檎易訂卧?,用于根據(jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲??;構(gòu)造子單元,用于利用所述CDR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù)??梢姡诒景l(fā)明實施例中,所述顯示方法為獲取用戶輸入的顯示條件;過濾出的符合所述顯示條件的CDR的標識信息,所述CDR的標識信息存儲在內(nèi)存中;根據(jù)所述CDR標識信息構(gòu)造CDR數(shù)據(jù);顯示構(gòu)造出的CDR數(shù)據(jù),通過本發(fā)明實施例所提供的顯示方法,通過先過濾出符合用戶顯示條件的CDR標識信息,再構(gòu)造出CDR數(shù)據(jù),節(jié)約了系統(tǒng)內(nèi)存,極大地節(jié)約了系統(tǒng)資源,提高了系統(tǒng)的工作效率,減輕了系統(tǒng)的壓力。。圖1為本發(fā)明一實施例所提供的方法的流程圖;圖2為本發(fā)明一實施例所提供的方法的關(guān)系圖;圖3為本發(fā)明另一實施例所提供的方法的流程圖;圖4為本發(fā)明一實施例所提供的程序運行截圖;圖5為本發(fā)明一實施例所提供的另一程序運行截圖;圖6為本發(fā)明一實施例所提供的系統(tǒng)的結(jié)構(gòu)示意圖;圖7為本發(fā)明另一實施例所提供的系統(tǒng)中一單元的結(jié)構(gòu)示意圖。具體實施例方式本發(fā)明實施例提供了CDR數(shù)據(jù)存儲方法、顯示方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明參見圖1,在本發(fā)明一實施例中,實現(xiàn)本發(fā)明實施例所提供方法包括以下步驟步驟101:獲取CDR數(shù)據(jù)。步驟102:每一類所述CDR數(shù)據(jù)分出四個子文件。合成后的CDR數(shù)據(jù)根據(jù)自身協(xié)議的不同有不同的類型,如CDMA的CDR數(shù)據(jù),A11型CDR數(shù)據(jù)等。每一類CDR數(shù)據(jù)生成四個子文件,分別用四種不同的后綴名來區(qū)分,分別是*.cdr,用來存放CDR基本信息,當中的所有字段要求等長,有利于過濾操作;*.apd,用來存放每一條CDR的附加信息,例如對應數(shù)據(jù)包位置等等;*.dat,用來存入原始數(shù)據(jù)包或復合包;*.map,用來存放文件內(nèi)容的索引;其中,"*,,表示四個子文件相同的文件名,這四個子文件共同組成一個完成的CDR文件組,四個子文件之間相互關(guān)聯(lián),當用戶需要進行拷貝或者移動時,是對整個文件組同時操作。步驟103:將所述四個子文件寫入存儲介質(zhì)。四個子文件在生成之后,要寫入存儲介質(zhì)才能完成CDR數(shù)據(jù)的存儲??梢詫⑺膫€子文件都寫入^茲盤;或者將《xdr寫入數(shù)據(jù)庫,而將剩下的三個子文件寫入^茲盤。下面對四個子文4牛的結(jié)構(gòu)--介紹。以cdr為后綴的子文件稱為CDR文件,由CDR頭文件和CDR數(shù)據(jù)部分構(gòu)成。每一個CDR文件都有自己的頭文件,參見表l,其中包括時間戳。這樣做的目的為了以后按照時間段對CDR數(shù)據(jù)進行檢索是的方便與快捷。表1<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>CDR文件的數(shù)據(jù)部分為每個CDR數(shù)據(jù)的原始存儲信息參見表2,這部分信息是定長的,這樣有利于進程查找和過濾。表2<table>tableseeoriginaldocumentpage10</column></row><table>其中,CDR—ID是CDR的唯一標識,在CDR創(chuàng)建時產(chǎn)生,是該CDR在整個生存期內(nèi)的唯一標識。為了使表中各個字段的內(nèi)容更好理解,這里解釋幾個概念,即合成CDR和協(xié)i義CDRCDR從合成的范圍分為合成CDR與協(xié)議CDR。下面舉個例子對這兩個概念進行說明設(shè)備A給設(shè)備B打電話,中間必須經(jīng)由設(shè)備C,A與C之間采用的通信協(xié)議為ProtoAC,B與C之間采用的通信協(xié)議為ProtoBC,那么A與C之間的CDR和B與C之間的CDR都是協(xié)議CDR,它們只描述了相鄰兩個設(shè)備之間的通信過程,將A-C、C-B之間的CDR綜合在一起(關(guān)聯(lián)在一起)就形成了合成CDR,它描述了設(shè)備A到設(shè)備B的的完整呼叫流程。顯然,此種情況下,合成CDR是協(xié)議CDR的上級CDR,協(xié)議CDR是合成CDR的下級CDR。所以表2中上級CDR的FILE—ID和上級CDR的FILE—CDR—ID就是指相對于當前CDR的上一級CDR的FILE標識和對應上級CDR的ID。以apd為后綴的子文件是CDR附件信息文件,包括頭文件和CDR的附件數(shù)據(jù)區(qū)。CDR的附件信息包括原始數(shù)據(jù)包信息、上級CDR位置、該CDR存放的其他不等長信息字段以及該CDR對應的其他附加信息。其中,原始數(shù)據(jù)包信息具體包括數(shù)據(jù)包個數(shù)以及各個數(shù)據(jù)包的信息,而各個數(shù)據(jù)包的信息包括數(shù)據(jù)包在數(shù)據(jù)包文件中的位置、該數(shù)據(jù)包的解碼解釋文本串以及該數(shù)據(jù)包對應的下級CDR的位置。上級CDR位置包括該CDR所在文件的索引以及該CDR在文件內(nèi)的索引。下級CDR位置包括該CDR所在文件的索引以及該CDR在文件內(nèi)的索引。以dat為后綴的是CDR數(shù)據(jù)的數(shù)據(jù)包文件,包括文件頭和數(shù)據(jù)包信息兩部分。每一個數(shù)據(jù)包信息中存放數(shù)據(jù)包相關(guān)的原始、關(guān)聯(lián)等信息,協(xié)議CDR和非協(xié)議CDR的數(shù)據(jù)包存放的內(nèi)容有所不同。表3<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>表3為協(xié)議CDR對應的數(shù)據(jù)包文件,表4為上層CDR(非協(xié)議CDR)對應的數(shù)據(jù)包文件,從表3和表4中可以看出,協(xié)議CDR對應的數(shù)據(jù)包文件中存放的是數(shù)據(jù)包原始的數(shù)據(jù)信息,上級CDR對應的數(shù)據(jù)包文件中存放的是數(shù)據(jù)包實體的位置,即為數(shù)據(jù)包名和該數(shù)據(jù)包的位置索引。從表3和表4中還可以看出,無論是協(xié)議CDR還是上級CDR,所對應的數(shù)據(jù)包中都保存了本層CDR的位置,其目的是為了實現(xiàn)凝:據(jù)包到CDR文件(即以cdr為后綴的文件)之間的索引。以map為后綴的子文件為CDR索引文件,用來存放CDR文件的索引關(guān)和數(shù)據(jù)包文件的索引關(guān)系。CDR索引文件包括文件頭和CDR文件索引表和數(shù)據(jù)包文件索引表。當按照前述方法對CDR數(shù)據(jù)進行存儲后,CDR之間的相互關(guān)聯(lián)如圖2所示,具體包括①,上級(第N級)CDR數(shù)據(jù)包查找數(shù)據(jù)實體上級CDR數(shù)據(jù)包中存放了數(shù)據(jù)包實體的文件ID與文件索引位置,首先通過^:據(jù)包索引位置與數(shù)據(jù)庫文件索引表之間的關(guān)聯(lián)關(guān)系4得到數(shù)據(jù)包實體的位置,然后根據(jù)數(shù)據(jù)包中的位置索引與第N+l級數(shù)據(jù)包中實體內(nèi)容之間的關(guān)聯(lián)關(guān)系12得到數(shù)據(jù)包實體。②,從CDR查找對應的數(shù)據(jù)包如果是協(xié)議CDR,如圖2中的第N+l級CDR,首先找到CDR文件數(shù)據(jù)部分對應的原始數(shù)據(jù)文件名,根據(jù)CDR數(shù)據(jù)部分與CDR附加信息文件中原始數(shù)據(jù)包信息之間的關(guān)聯(lián)關(guān)系1找到該CDR所對應的數(shù)據(jù)存力t位置,然后通過所述CDR附加信息文件中原始l史據(jù)包信息與數(shù)據(jù)包文件數(shù)據(jù)包信息之間的關(guān)聯(lián)關(guān)系2進行數(shù)據(jù)的讀取。需要注意的是如果是合成CDR,例如是第N級CDR,通過所述CDR附加信息文件中原始數(shù)據(jù)包信息與數(shù)據(jù)包文件數(shù)據(jù)包信息之間的關(guān)聯(lián)關(guān)系2找到的是數(shù)據(jù)包實體存放的位置,還應該繼續(xù)查找該數(shù)據(jù)對應的實體,方法見①中的描述。③,從數(shù)據(jù)查找對應的CDR:首先根據(jù)數(shù)據(jù)包文件與CDR索引文件之間的關(guān)聯(lián)關(guān)系3,使用對應本層CDR所在文件的索引FILE—ID在CDR文件索引表中查找到相應的文件名,然后根據(jù)數(shù)據(jù)包文件與CDR文件數(shù)據(jù)部分的關(guān)聯(lián)關(guān)系5,結(jié)合CDR-ID查找到對應的CDR。,下級CDR查找上級CDR:每一個CDR在其附加信息中都存放了相應的上級CDR的位置,首先通過CDR文件是數(shù)據(jù)部分與附件信息文件之間的關(guān)聯(lián)關(guān)系6查找到CDR所對應的上級CDR的FILE_ID+CDR—ID,然后通過附件信息文件與索引文件之間的關(guān)聯(lián)關(guān)系7查找到FILE—ID所對應的上級CDR的文件名,通過得到的文件名加上CDR-ID經(jīng)過附加信息文件與上級CDR文件數(shù)據(jù)部分之間的關(guān)聯(lián)關(guān)系8找到相應的上級CDR。⑤,上級CDR數(shù)據(jù)包查找下級CDR:—個上級CDR中的每一個凄t據(jù)包都有可能對應一個下級CDR,通過上級CDR文件數(shù)據(jù)部分與上級CDR附件信息文件之間的關(guān)聯(lián)關(guān)系9找到相應數(shù)據(jù)包在下級CDR中的FILE—ID與CDR-ID,將FILE—ID通過上級CDR附加信息文件與上級CDR索引文件之間的關(guān)聯(lián)關(guān)系10索引為一個具體的CDR文件名,然后加上CDR-ID通過上級CDR附加信息文件與下級CDR文件之間的關(guān)聯(lián)關(guān)系11找到下級CDR。需要注意的是,協(xié)議CDR沒有數(shù)據(jù)包文件索引表。從圖2中可以看出,當按照前述的方法將CDR數(shù)據(jù)存儲為四個子文件后,因為四個子文件之間相互關(guān)聯(lián),所以可以實現(xiàn)上下級CDR數(shù)據(jù)之間以及本級CDR凝:據(jù)的子文件之間的索引和查找。本發(fā)明實施例還提供一種CDR數(shù)據(jù)顯示方法,參見圖3,該方法包括步驟301:獲取用戶輸入的顯示條件。在本發(fā)明實施例中,按照前述的存儲方法對CDR數(shù)據(jù)進行存儲,只是在存儲結(jié)束后,將存放了CDR基本信息的第一類子文件中的CDR標識信息存放到內(nèi)存中。步驟302:過濾出的符合所述顯示條件的CDR的標識信息;步驟303:利用過濾出的CDR標識信息構(gòu)造CDR數(shù)據(jù)。其中,所述構(gòu)造具體包括根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲??;根據(jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲?。焕盟鯟DR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù)。步驟304:顯示構(gòu)造出的CDR數(shù)據(jù)。如前所述,本發(fā)明實施例中,在獲取了用戶的顯示條件后,首先過濾出符合顯示條件的CDR數(shù)據(jù)的標識信息,再利用所述標識信息將該CDR實體對象在內(nèi)存中構(gòu)造出來,因為CDR標識信息存儲在內(nèi)存中,所以能夠根據(jù)用戶提供的過濾條件很快地將符合條件的CDR標識信息過濾出來,然后根據(jù)CDR子文件中的相互關(guān)聯(lián)關(guān)系將用戶需要的CDR數(shù)據(jù)在內(nèi)存中構(gòu)造出來,從而實現(xiàn)了快速向用戶顯示需要的CDR數(shù)據(jù),此外,因為CDR實體數(shù)據(jù)存在與存儲設(shè)備中,只是在需要時才在內(nèi)存中進行構(gòu)造,所以本發(fā)明提供的方法節(jié)省了對系統(tǒng)內(nèi)存的占用,緩解了系統(tǒng)壓力,提高了系統(tǒng)的效率。優(yōu)選地,為了進一步加快過濾速度,在根據(jù)用戶提供的過濾條件對CDR標識4言息進4于過濾之前還包4舌將所述CDR標識信息進行分組。CDR數(shù)據(jù)產(chǎn)生的時間進行分組;或者,根據(jù)CDR條數(shù)對CDR數(shù)據(jù)進行分組;或者根據(jù)CDR數(shù)據(jù)的類型對CDR數(shù)據(jù)進行分組。所有生成的CDR數(shù)據(jù)中包括以及合成完畢的CDR和正在合成中的CDR兩種狀態(tài),在某些實施例中可以根據(jù)CDR數(shù)據(jù)的狀態(tài)對CDR數(shù)據(jù)進行分組。在某些實施例中,可以結(jié)合多種分組方式,具體結(jié)合方式根據(jù)實際需要確定。面對海量CDR數(shù)據(jù),如果采用全部顯示的方式,很容易因數(shù)據(jù)量過于龐大導致系統(tǒng)死才幾。通過前述的步驟,通過對CDR標識信息進行分組,當獲取用戶的顯示條件后,根據(jù)用戶的需求顯示用戶需要的內(nèi)容,多方面多層次的減少軟件顯示CDR的負擔。即CDR數(shù)據(jù)按組顯示,例如可以分狀態(tài)顯示,如所有CDR、正在合成中的CDR、已經(jīng)合成完畢的CDR三個類型,在此基礎(chǔ)上還可以只顯示最近的CDR數(shù)據(jù)。當用戶選擇顯示某個CDR分組的后,其他CDR分組中的CDR標識信息將不會提交給界面顯示功能模塊,同時,用戶選取顯示的類型后,則其他類型的CDR數(shù)據(jù)則也不提交給界面來處理。此外,在前面兩種情況都設(shè)置了的情況下,若CDR數(shù)目還是比較多,用戶還可以選擇只顯示最近的若干條CDR,通過設(shè)置一次顯示CDR數(shù)據(jù)的最大值對顯示數(shù)量進行控制。圖4和圖5為本發(fā)明實施例所提供的CDR數(shù)據(jù)顯示方法的過程截圖。本發(fā)明實施例的程序界面通過下拉菜單的方式獲取用戶輸入的顯示條件。在其他實施例中還可以通過例如對話框等方式來獲取用戶輸入的顯示條件,本發(fā)明實施例對此不做限制。圖4中的CDR顯示類型控制組合框中用戶選擇的是顯示全部過程,對應的是全部狀態(tài)的CDR數(shù)據(jù),在文件組顯示控制中,用戶選擇的是第一分組文件,顯然在本發(fā)明實施例中,相當于選取了第一分組文件中全部過程的CDR數(shù)據(jù)。當用戶確定了顯示條件后,系統(tǒng)就根據(jù)所獲取的用戶輸入的顯示條件從分組后的CDR數(shù)據(jù)組中過濾出符合顯示條件的CDR數(shù)據(jù)。圖4中顯示了記錄數(shù)為15043,當前顯示記錄數(shù)為5000,通過最大顯示值設(shè)置來控制一次最多可以顯示的CDR數(shù)據(jù),避免一次顯示的數(shù)據(jù)超過系統(tǒng)負荷而造成系統(tǒng)死機等情況。圖5為本發(fā)明實施例所提供的方法的另一過程截圖,從圖中看出,用戶輸入的顯示條件為只顯示已經(jīng)合成過程和第二文件組,即顯示第二文件組中已經(jīng)合成的CDR數(shù)據(jù),經(jīng)過濾后,記錄數(shù)為190,與圖4進行對比,顯示的壓力大大減小。當用戶想顯示圖5中某行某列的信息時,可以觸發(fā)某行某列的顯示功能,觸發(fā)的方式可以是通過雙擊需要查看的內(nèi)容或者其他方式。當獲取用戶觸發(fā)的要顯示的具體信息后,從動態(tài)組中獲取要顯示的CDR的標識信息。才艮據(jù)該CDR的標識信息首先判斷該CDR的位置,然后才艮據(jù)CDR的位置信息讀取CDR自身的信息構(gòu)造出CDR對象,根據(jù)用戶需要查看的字段向用戶顯示相應的內(nèi)容。如果用戶要查看CDR對應的數(shù)據(jù)包,那么在內(nèi)存中構(gòu)造出該CDR對象后,根據(jù)該CDR的對象找到相應的數(shù)據(jù)包。因為本發(fā)明實施例中,CDR是按照圖1及其對應的說明中所示的方法存儲的,結(jié)合圖2中所示的關(guān)聯(lián)關(guān)系即可以根據(jù)CDR查找到對應的數(shù)據(jù)包,此處不再贅述。通過圖4和圖5的對比可以看出,通過對CDR數(shù)據(jù)進行預存、分組,才艮據(jù)用戶的需要有選擇地向用戶顯示CDR數(shù)據(jù),在快速地使用戶找到自己需要的CDR數(shù)據(jù)的同時極大地減輕了系統(tǒng)的壓力。參見圖6,本發(fā)明實施例還提供一種CDR數(shù)據(jù)顯示系統(tǒng),包括無論采用何種分組方式,在上述CDR的各個分組中保存的都不是CDR實體對象,而是這些CDR相關(guān)的標識信息,即這些分組實際上是CDR標識信息集合,其中包括各個CDR的標識信息以及其所屬的文件組信息,相當于動態(tài)標識信息組。因為本發(fā)明實施例中所述的CDR數(shù)據(jù)按照前述的存儲方法進行存儲,所以通過CDR的標識信息,我們可以知道CDR實體對象所在的位置,這樣可以很好地節(jié)省內(nèi)存的空間。獲取單元601,用于獲取用戶輸入的顯示條件。構(gòu)造單元602,用于根據(jù)過濾出的符合所述顯示條件的CDR的標識信息構(gòu)造CDR數(shù)據(jù)。其中,參見圖7,所述構(gòu)造單元602具體包括第一查找子單元701,用于根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;第二查找子單元702,用于根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲取;第三查找子單元703,用于根據(jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲??;構(gòu)造子單元704,用于利用所述CDR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù)。顯示單元603,用于顯示構(gòu)造出的CDR數(shù)據(jù)。所述顯示單元603還用于通過進度條顯示構(gòu)造單元的過濾進度。圖6所述的顯示系統(tǒng)通過根據(jù)用戶的需要有首先選取合適的CDR標識信息,在根據(jù)所述標識信息構(gòu)造出滿足用戶需要的CDR數(shù)據(jù)向用戶顯示,本發(fā)明實施例所提供的系統(tǒng)節(jié)省了對系統(tǒng)內(nèi)存的占用,緩解了系統(tǒng)壓力,提高了系統(tǒng)的效率。在快速地使用戶找到自己需要的CDR數(shù)據(jù)的同時極大地減輕了系統(tǒng)的壓力。優(yōu)選地,為了能夠更進一步加快對滿足過濾條件的CDR標識信息的檢索,圖6所示的系統(tǒng)還包括分組單元,用于對內(nèi)存中的CDR標識信息進行分組。CDR數(shù)據(jù)產(chǎn)生的時間進行分組;或者根據(jù)CDR數(shù)據(jù)的類型對CDR數(shù)據(jù)進行分組。CDR兩種狀態(tài),在某些實施例中可以根據(jù)CDR數(shù)據(jù)的狀態(tài)對CDR數(shù)據(jù)進行分組。在某些實施例中,可以結(jié)合多種分組方式,具體結(jié)合方式根據(jù)實際需要確定。通過對CDR標識信息進行分組,使得本發(fā)明實施例所提供的系統(tǒng)能夠多方面多層次的減少軟件顯示CDR的負擔,更進一步加快了顯示速度,^是供了系統(tǒng)的工作效率。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。權(quán)利要求1、一種呼叫詳細記錄CDR數(shù)據(jù)的存儲方法,其特征在于,包括獲取CDR數(shù)據(jù);每一類所述CDR數(shù)據(jù)生成四個子文件,其中第一子文件用于存放CDR基本信息;第二子文件用于存放CDR的附加信息;第三子文件用于存放CDR的原始數(shù)據(jù)包和復合包;第四子文件用于存放CDR文件內(nèi)容的索引;將所述四個子文件寫入存儲介質(zhì),所述四個子文件相互關(guān)聯(lián)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述四個子文件寫入存儲介質(zhì)具體包括將所述四個子文件均寫入,茲盤;或者,將所述第一子文件寫入數(shù)據(jù)庫,將第二、第三和第四子文件寫入》茲盤。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述四個子文件有相同的文件名,不同的后綴名。4、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一子文件包括CDR文件頭和CDR數(shù)據(jù)部分,其中,所述文件頭包括首CDR開始時間戳和末CDR開始時間戳;所述CDR數(shù)據(jù)部分包括上本CDR的標識、附加信息文件存放的位置、上級CDR的文件標識和上級CDR的標識。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二子文件包括'.文件頭和附加數(shù)據(jù)區(qū),其中,所述附加數(shù)據(jù)區(qū)包括原始數(shù)據(jù)包信息、上級CDR位置、當前CDR存放的其它不等長信息字段以及當前CDR對應的其他附加信息;其中,所述原始數(shù)據(jù)包信息包括所述數(shù)據(jù)包在數(shù)據(jù)包文件中的位置以及該數(shù)據(jù)包所對應的下級CDR的位置。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第三子文件包括數(shù)據(jù)包文件頭和數(shù)據(jù)包信息,其中,當所述合成后的CDR數(shù)據(jù)為協(xié)議CDR數(shù)據(jù)時,所述數(shù)據(jù)包信息中存放數(shù)據(jù)包的原始數(shù)據(jù);當所述合成后的CDR數(shù)據(jù)為上層CDR數(shù)據(jù)時,所述數(shù)據(jù)包信息中存放當前數(shù)據(jù)包實體的位置信息。7、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第四子文件包括文件頭、CDR文件索引表和數(shù)據(jù)包文件索引表。8、一種CDR數(shù)據(jù)顯示方法,其特征在于,包括獲取用戶輸入的顯示條件;過濾出的符合所述顯示條件的CDR的標識信息,所述CDR的標識信息存儲在內(nèi)存中;根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲取;根據(jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲??;利用所述CDR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù);顯示構(gòu)造出的CDR數(shù)據(jù)。9、根據(jù)權(quán)利要求8所述的方法,其特征在于,在過濾出的符合所述顯示條件的CDR的標識信息之前還包括對所述CDR標識信息進4于分組。10、根據(jù)權(quán)利要求9所述的方法,其特征在于,將所述CDR標識信息進行分組具體包括按照時間順序?qū)DR數(shù)據(jù)進行分組;按照CDR條數(shù)對CDR數(shù)據(jù)進行分組;按照CDR數(shù)據(jù)的類型對CDR數(shù)據(jù)進行分組;或者按照CDR數(shù)據(jù)的狀態(tài)對CDR數(shù)據(jù)進行分組。11、一種CDR數(shù)據(jù)顯示系統(tǒng),其特征在于,包括獲取單元,用于獲取用戶輸入的顯示條件;構(gòu)造單元,用于根據(jù)過濾出的符合所述顯示條件的CDR的標識信息構(gòu)造CDR數(shù)據(jù);顯示單元,用于顯示構(gòu)造出的CDR數(shù)據(jù)。12、根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述構(gòu)造單元具體包括第一查找子單元,用于根據(jù)所述CDR標識信息從存放了CDR基本信息的第一子文件中獲取CDR的基本信息,找到CDR的原始文件文件名;第二查找子單元,用于根據(jù)所述第一子文件與存放了CDR附加信息的第二子文件之間的關(guān)聯(lián)關(guān)系,利用所述原始文件名找到CDR所對應的數(shù)據(jù)存放位置,所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲??;第三查找子單元,用于根據(jù)所述第二子文件與存放了原始數(shù)據(jù)包和復合包的第三子文件之間的關(guān)聯(lián),利用所述CDR所對應的數(shù)據(jù)存放位置讀取CDR原始數(shù)據(jù),所述關(guān)聯(lián)關(guān)系根據(jù)存放CDR文件內(nèi)容索引的第四子單元獲取;構(gòu)造子單元,用于利用所述CDR原始數(shù)據(jù)和所述CDR的基本信息構(gòu)造CDR數(shù)據(jù)。13、根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述顯示單元還用于通過進度條顯示構(gòu)造單元的過濾進度。全文摘要本發(fā)明公開了呼叫詳細記錄數(shù)據(jù)的存儲方法、顯示方法及系統(tǒng),其中,所述顯示方法為獲取用戶輸入的顯示條件;過濾出的符合所述顯示條件的CDR的標識信息,所述CDR的標識信息存儲在內(nèi)存中;根據(jù)所述CDR標識信息構(gòu)造CDR數(shù)據(jù);顯示構(gòu)造出的CDR數(shù)據(jù),通過本發(fā)明實施例所提供的顯示方法,通過先過濾出符合用戶顯示條件的CDR標識信息,再構(gòu)造出CDR數(shù)據(jù),節(jié)約了系統(tǒng)內(nèi)存,極大地節(jié)約了系統(tǒng)資源,提高了系統(tǒng)的工作效率,減輕了系統(tǒng)的壓力。文檔編號G06F17/30GK101394451SQ20081022592公開日2009年3月25日申請日期2008年11月6日優(yōu)先權(quán)日2008年11月6日發(fā)明者彭詠文,李永利,楊海龍,林賈,陳錦榮申請人:北京中創(chuàng)信測科技股份有限公司