一種基于日志文件的數(shù)據(jù)管理方法及數(shù)據(jù)管理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于日志文件的數(shù)據(jù)管理方法及數(shù)據(jù)管理系統(tǒng)。
【背景技術(shù)】
[0002]I)數(shù)據(jù)共享
[0003]數(shù)據(jù)共享是讓多個(gè)應(yīng)用共享同一份數(shù)據(jù)來達(dá)到數(shù)據(jù)一致的目的,在同一時(shí)刻可以有多個(gè)應(yīng)用讀取同一份數(shù)據(jù),但同一時(shí)刻只能有一個(gè)應(yīng)用修改一份數(shù)據(jù)。數(shù)據(jù)共享的模型可以如圖1所示。
[0004]由于所有應(yīng)用均訪問同一份數(shù)據(jù),數(shù)據(jù)一致性得到了很好的保證,但數(shù)據(jù)所在設(shè)備需要承受巨大的訪問壓力,為了能承受住這種壓力,往往需要購買性能優(yōu)越的硬件設(shè)備,花費(fèi)不菲。
[0005]2)數(shù)據(jù)復(fù)制
[0006]數(shù)據(jù)復(fù)制通過將一份數(shù)據(jù)復(fù)制多份供不同的應(yīng)用(或者不同的場景)使用。常見的形式有讀寫分離、歷史數(shù)據(jù)、離線數(shù)據(jù)等。數(shù)據(jù)復(fù)制的模型可以如圖2所示。其中,現(xiàn)有數(shù)據(jù)復(fù)制包括以下特點(diǎn):
[0007]讀寫分離:將數(shù)據(jù)完整的復(fù)制到另外一臺(tái)機(jī)器上,一份數(shù)據(jù)供寫操作、一份數(shù)據(jù)供讀操作。將讀、寫操作分開,降低單個(gè)系統(tǒng)的壓力,增強(qiáng)系統(tǒng)的健壯性。
[0008]歷史數(shù)據(jù):歷史數(shù)據(jù)是從時(shí)間的角度將數(shù)據(jù)分開,減輕“當(dāng)前”數(shù)據(jù)庫的壓力,對歷史數(shù)據(jù)的操作都轉(zhuǎn)移到歷史庫中進(jìn)行。
[0009]離線數(shù)據(jù):相對于在線數(shù)據(jù)而言,將在線數(shù)據(jù)復(fù)制出來供一些實(shí)時(shí)性要求不高、對數(shù)據(jù)庫性能影響較大的操作放到離線數(shù)據(jù)上來,如統(tǒng)計(jì)、報(bào)表等。
[0010]與數(shù)據(jù)共享相比較,數(shù)據(jù)復(fù)制提供了以下兩個(gè)關(guān)鍵特性:
[0011]可擴(kuò)展性:方便進(jìn)行橫向擴(kuò)展,可以根據(jù)需要,將數(shù)據(jù)復(fù)制到其他臺(tái)服務(wù)器上供系統(tǒng)使用,簡單增加服務(wù)器就能實(shí)現(xiàn)擴(kuò)展。
[0012]高可用性:由于數(shù)據(jù)被復(fù)制在多個(gè)服務(wù)器上,規(guī)避了數(shù)據(jù)單點(diǎn),同時(shí)降低了單個(gè)服務(wù)器的壓力,如果某個(gè)服務(wù)器有壓力,可以增加新的服務(wù)器進(jìn)來,分擔(dān)系統(tǒng)壓力,增強(qiáng)整個(gè)系統(tǒng)的抗風(fēng)險(xiǎn)能力,保障系統(tǒng)的聞可用。
[0013]現(xiàn)有技術(shù)中,在互聯(lián)網(wǎng)大數(shù)據(jù)量訪問的情況下,數(shù)據(jù)共享方式中的數(shù)據(jù)存儲(chǔ)設(shè)備很容易成為系統(tǒng)的瓶頸,很難滿足當(dāng)前互聯(lián)網(wǎng)大訪問量、高并發(fā)的要求。為了追求盡可能好的性能表現(xiàn),往往需要購買昂貴的存儲(chǔ)設(shè)備,成本高。
[0014]數(shù)據(jù)復(fù)制在一定程度上實(shí)現(xiàn)了擴(kuò)展性,緩解系統(tǒng)壓力,增強(qiáng)系統(tǒng)抗風(fēng)險(xiǎn)能力,保證高可用,能在一定程度上使用互聯(lián)網(wǎng)場景的要求。但讀寫分離是完整的將一份數(shù)據(jù)復(fù)制到另一個(gè)設(shè)備上,數(shù)據(jù)內(nèi)容、劃分?jǐn)?shù)據(jù)的角度均完全一致,在當(dāng)前互聯(lián)網(wǎng)大數(shù)據(jù)量的場景下,為保證對數(shù)據(jù)的修改、檢索的高效,數(shù)據(jù)通常都是按某個(gè)維度進(jìn)行多次橫向、縱向切割后進(jìn)行存儲(chǔ)的,不同的業(yè)務(wù)場景需要從不同的維度來檢索、展示數(shù)據(jù),某一個(gè)維度的數(shù)據(jù)只能使用某些場景下的業(yè)務(wù)需求,無法實(shí)現(xiàn)另外一些業(yè)務(wù)場景的需求。歷史數(shù)據(jù)從時(shí)間的維度將數(shù)據(jù)進(jìn)行分割,可以滿足某些業(yè)務(wù)場景需求,但是無法滿足所有業(yè)務(wù)場景需求。例如用戶在10086上訂購了一本電子書,從用戶的維度來看,用戶關(guān)心的是自己的訂單;從運(yùn)營商的維度來看,他希望看到的是所有訂購電子書的訂單;從電子書作者來看,他希望看到的是所有訂購該書的訂單。在海量數(shù)據(jù)的情況下,用戶的數(shù)據(jù)可能會(huì)按用戶賬號(hào)做切割存放在不同的表里(或庫里);運(yùn)營商的數(shù)據(jù)可能會(huì)按時(shí)間做切割存放在不同的表里(或庫里);電子書作者的數(shù)據(jù)可能會(huì)按照作品來做切割存放在不同的表里(或庫里)。在類似的場景里簡單做復(fù)制、歷史數(shù)據(jù)或離線數(shù)據(jù)都只能在解決一個(gè)問題的同時(shí),增加其他問題的復(fù)雜度。
【發(fā)明內(nèi)容】
[0015]本發(fā)明提供了一種基于日志文件的數(shù)據(jù)管理方法及數(shù)據(jù)管理系統(tǒng),用以提高數(shù)據(jù)管理的靈活性、可擴(kuò)展性。
[0016]為了達(dá)到以上目的,本發(fā)明提供了一種基于日志文件的數(shù)據(jù)管理方法,所述日志文件中的每一條記錄包括事件開始標(biāo)識(shí)、事件頭、數(shù)據(jù)內(nèi)容,以及事件結(jié)束標(biāo)識(shí);當(dāng)所述日志文件中新增記錄時(shí),該方法包括:
[0017]數(shù)據(jù)管理系統(tǒng)對所述新增的記錄進(jìn)行解析,獲取所述記錄中包括的數(shù)據(jù)內(nèi)容;
[0018]所述數(shù)據(jù)管理系統(tǒng)根據(jù)預(yù)設(shè)的轉(zhuǎn)換規(guī)則對所述數(shù)據(jù)內(nèi)容進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的數(shù)據(jù)對至少兩個(gè)不同的目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行相應(yīng)處理;其中,不同的目標(biāo)數(shù)據(jù)庫對應(yīng)不同的轉(zhuǎn)換規(guī)則。
[0019]本發(fā)明實(shí)施例還提供了一種基于日志文件的數(shù)據(jù)管理系統(tǒng),所述日志文件中的每一條記錄包括事件開始標(biāo)識(shí)、事件頭、數(shù)據(jù)內(nèi)容,以及事件結(jié)束標(biāo)識(shí);該數(shù)據(jù)管理系統(tǒng)包括:
[0020]獲取模塊,用于當(dāng)所述日志文件中新增記錄時(shí),對所述新增的記錄進(jìn)行解析,獲取所述記錄中包括的數(shù)據(jù)內(nèi)容;
[0021]處理模塊,用于根據(jù)預(yù)設(shè)的轉(zhuǎn)換規(guī)則對所述數(shù)據(jù)內(nèi)容進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的數(shù)據(jù)對至少兩個(gè)不同的目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行相應(yīng)處理;其中,不同的目標(biāo)數(shù)據(jù)庫對應(yīng)不同的轉(zhuǎn)換規(guī)則。
[0022]本發(fā)明上述實(shí)施例中,當(dāng)日志文件中新增記錄時(shí),數(shù)據(jù)管理系統(tǒng)對該新增的記錄進(jìn)行解析,獲取該記錄中包括的數(shù)據(jù)內(nèi)容,并根據(jù)預(yù)設(shè)的轉(zhuǎn)換規(guī)則對數(shù)據(jù)內(nèi)容進(jìn)行轉(zhuǎn)換,進(jìn)而根據(jù)轉(zhuǎn)換后的數(shù)據(jù)對至少兩個(gè)不同的目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行相應(yīng)處理,實(shí)現(xiàn)了將一份數(shù)據(jù)轉(zhuǎn)換成多個(gè)維度的數(shù)據(jù),提高了數(shù)據(jù)管理的靈活性和可擴(kuò)展性。
【附圖說明】
[0023]圖1為現(xiàn)有技術(shù)中一種數(shù)據(jù)共享的模型示意圖;
[0024]圖2為現(xiàn)有技術(shù)中一種數(shù)據(jù)復(fù)制的模型示意圖;
[0025]圖3為本發(fā)明實(shí)施例提供的一種基于日志文件的數(shù)據(jù)管理方法的流程示意圖;
[0026]圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)管理系統(tǒng)的系統(tǒng)架構(gòu)示意圖;
[0027]圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0028]針對上述現(xiàn)有技術(shù)中的問題,本發(fā)明實(shí)施例提供了一種技術(shù)日志文件的數(shù)據(jù)管理的技術(shù)方案。在該技術(shù)方案中,日志文件中的每一條記錄包括事件開始標(biāo)識(shí)、事件頭、數(shù)據(jù)內(nèi)容,以及事件結(jié)束標(biāo)識(shí),當(dāng)日志文件中新增記錄時(shí),數(shù)據(jù)管理系統(tǒng)對該新增的記錄進(jìn)行解析,獲取該記錄中包括的數(shù)據(jù)內(nèi)容,并根據(jù)預(yù)設(shè)的轉(zhuǎn)換規(guī)則對數(shù)據(jù)內(nèi)容進(jìn)行轉(zhuǎn)換,進(jìn)而根據(jù)轉(zhuǎn)換后的數(shù)據(jù)對至少兩個(gè)不同的目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行相應(yīng)處理。
[0029]其中,在本發(fā)明實(shí)施例中,不同的目標(biāo)數(shù)據(jù)庫對應(yīng)不同的轉(zhuǎn)換規(guī)則,數(shù)據(jù)管理系統(tǒng)根據(jù)相應(yīng)的目標(biāo)數(shù)據(jù)庫對應(yīng)的轉(zhuǎn)換規(guī)則對獲取到的數(shù)據(jù)內(nèi)容進(jìn)行轉(zhuǎn)換,對于不同的目標(biāo)數(shù)據(jù)庫,數(shù)據(jù)轉(zhuǎn)換的結(jié)果不同,實(shí)現(xiàn)了將一份數(shù)據(jù)轉(zhuǎn)換成多個(gè)維度的數(shù)據(jù),提高了數(shù)據(jù)管理的靈活性和可擴(kuò)展性。
[0030]下面將結(jié)合本申請中的附圖,對本申請中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例是本申請的一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
[0031]如圖3所示,為本發(fā)明實(shí)施例提供的一種基于日志文件的數(shù)據(jù)管理方法的流程示意圖,其中,當(dāng)日志文件中新增記錄時(shí),該方法可以包括以下步驟:
[0032]步驟301、數(shù)據(jù)管理系統(tǒng)對所述新增的記錄進(jìn)行解析,獲取所述記錄中包括的數(shù)據(jù)內(nèi)容。
[0033]具體的,在本發(fā)明實(shí)施例中,業(yè)務(wù)系統(tǒng)可以按照一定的格式將對數(shù)據(jù)的操作寫入日志文件,該日志文件中的每一條記錄均可以包括事件開始標(biāo)識(shí)、事件頭、數(shù)據(jù)內(nèi)容,以及事件結(jié)束標(biāo)識(shí)。
[0034]當(dāng)日志文件中新增記錄時(shí),數(shù)據(jù)管理系統(tǒng)可以從日志文件中讀取該新增的記錄,并對該新增的記錄進(jìn)行解析,以獲取該記錄中包括的數(shù)據(jù)內(nèi)容。
[0035]其中,在本發(fā)明實(shí)施例中,日志文件中的記錄中包括的事件頭中可以包含該記錄對應(yīng)的數(shù)據(jù)所在容器信息(源數(shù)據(jù)庫、或數(shù)據(jù)表等),數(shù)據(jù)管理系統(tǒng)可以針對數(shù)據(jù)所在容器信息對日志文件中新增記錄中包含的數(shù)據(jù)內(nèi)容進(jìn)行篩選。
[0036]相應(yīng)地,數(shù)據(jù)管理系統(tǒng)在解析日志文件的新增記錄過程中,數(shù)據(jù)管理系統(tǒng)可以在獲取記錄中包括的數(shù)據(jù)內(nèi)容之前,根據(jù)記錄中包括的事件頭中包括的數(shù)據(jù)所在容器信息,以及預(yù)先設(shè)置的第一過濾規(guī)則(針對容器的過濾規(guī)則),對該記錄中的數(shù)據(jù)內(nèi)容進(jìn)行過濾,以判斷是否繼續(xù)對該記錄進(jìn)行解析;若判斷為是,則進(jìn)一步執(zhí)行獲取該記錄