[發(fā)明專利]數(shù)據(jù)存儲(chǔ)方法、裝置及電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 201710961691.5 | 申請(qǐng)日: | 2017-10-17 |
| 公開(公告)號(hào): | CN107733709A | 公開(公告)日: | 2018-02-23 |
| 發(fā)明(設(shè)計(jì))人: | 蔣冬臨;閆紹華;李振博 | 申請(qǐng)(專利權(quán))人: | 北京奇虎科技有限公司 |
| 主分類號(hào): | H04L12/24 | 分類號(hào): | H04L12/24;G06F17/30 |
| 代理公司: | 北京中強(qiáng)智尚知識(shí)產(chǎn)權(quán)代理有限公司11448 | 代理人: | 王書彪,劉艷芬 |
| 地址: | 100088 北京市西城區(qū)新*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 存儲(chǔ) 方法 裝置 電子設(shè)備 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)存儲(chǔ)方法、裝置及電子設(shè)備。
背景技術(shù)
隨著信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)可以為用戶提供的服務(wù)越來越多。對(duì)于不同的網(wǎng)站來說,為了給每一位用戶提供針對(duì)性的服務(wù),網(wǎng)站所依賴的服務(wù)器通常會(huì)根據(jù)諸如用戶的注冊(cè)數(shù)據(jù)、瀏覽數(shù)據(jù)、歷史數(shù)據(jù)等數(shù)據(jù)生成關(guān)于用戶的日志,將日志進(jìn)行存儲(chǔ),并當(dāng)檢測(cè)到不同用戶的登錄時(shí),會(huì)獲取存儲(chǔ)的不同用戶的日志,根據(jù)日志為用戶提供服務(wù)。
相關(guān)技術(shù)中,日志通常表現(xiàn)為不規(guī)則的深層嵌套的樹形數(shù)據(jù)結(jié)構(gòu),多個(gè)維度的數(shù)據(jù)均整合在這個(gè)樹形數(shù)據(jù)結(jié)構(gòu)中,也即日志的數(shù)據(jù)結(jié)構(gòu)為嵌套數(shù)據(jù)結(jié)構(gòu)。在嵌套數(shù)據(jù)結(jié)構(gòu)中,每個(gè)葉節(jié)點(diǎn)都是一個(gè)數(shù)據(jù)字段,數(shù)據(jù)字段的值可為單值或多值;每個(gè)枝節(jié)點(diǎn)都是一個(gè)數(shù)據(jù)組,數(shù)據(jù)組可為重復(fù)或非重復(fù)的,非重復(fù)數(shù)據(jù)組可包含結(jié)構(gòu)不同的固定數(shù)量的葉節(jié)點(diǎn),重復(fù)數(shù)據(jù)組可包含結(jié)構(gòu)相同的非固定數(shù)量的葉節(jié)點(diǎn)。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問題:
服務(wù)器在存儲(chǔ)嵌套數(shù)據(jù)結(jié)構(gòu)的日志時(shí),會(huì)將日志進(jìn)行完全解析,解析為多條扁平化數(shù)據(jù),將多條扁平化數(shù)據(jù)存儲(chǔ)。由于多條扁平化數(shù)據(jù)中存在相同的公共部分?jǐn)?shù)據(jù),且解析后的多條扁平化數(shù)據(jù)會(huì)丟失日志的嵌套數(shù)據(jù)結(jié)構(gòu),無法再還原為日志,導(dǎo)致服務(wù)器中的公共部分?jǐn)?shù)據(jù)冗余,占用大量的存儲(chǔ)空間。
發(fā)明內(nèi)容
為克服相關(guān)技術(shù)中存在的解析日志后得到的多條扁平化數(shù)據(jù)丟失日志的嵌套數(shù)據(jù)結(jié)構(gòu),無法再還原為日志,導(dǎo)致服務(wù)器中的公共部分?jǐn)?shù)據(jù)冗余,占用大量的存儲(chǔ)空間的問題,本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)方法、裝置及電子設(shè)備。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種數(shù)據(jù)存儲(chǔ)方法,所述方法包括:
當(dāng)接收到待存儲(chǔ)日志時(shí),確定所述待存儲(chǔ)日志的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括所述待存儲(chǔ)日志中的至少一個(gè)數(shù)據(jù)字段;
根據(jù)所述數(shù)據(jù)結(jié)構(gòu),將所述待存儲(chǔ)日志劃分為至少一個(gè)類型的數(shù)據(jù);
將所述待存儲(chǔ)日志的數(shù)據(jù)按照至少一個(gè)類型進(jìn)行存儲(chǔ)。
在另一個(gè)實(shí)施例中,所述根據(jù)所述數(shù)據(jù)結(jié)構(gòu),將所述待存儲(chǔ)日志劃分為至少一個(gè)類型的數(shù)據(jù)包括:
對(duì)于所述至少一個(gè)數(shù)據(jù)字段中的每個(gè)數(shù)據(jù)字段,在所述待存儲(chǔ)日志中確定所述數(shù)據(jù)字段的多個(gè)取值;
將所述多個(gè)取值對(duì)應(yīng)的數(shù)據(jù)作為所述數(shù)據(jù)字段指示的類型的數(shù)據(jù)。
在另一個(gè)實(shí)施例中,所述將所述待存儲(chǔ)日志的數(shù)據(jù)按照至少一個(gè)類型進(jìn)行存儲(chǔ)包括:
對(duì)于所述至少一個(gè)類型中的每一個(gè)類型,確定所述類型中包括的多個(gè)取值;
分別確定所述多個(gè)取值在所述待存儲(chǔ)日志中的多個(gè)位置數(shù)據(jù),將所述多個(gè)取值與所述多個(gè)位置數(shù)據(jù)對(duì)應(yīng)進(jìn)行存儲(chǔ)。
在另一個(gè)實(shí)施例中,所述方法還包括:
當(dāng)接收到數(shù)據(jù)查詢請(qǐng)求時(shí),獲取所述數(shù)據(jù)查詢請(qǐng)求中的待查詢數(shù)據(jù)結(jié)構(gòu),所述待查詢數(shù)據(jù)結(jié)構(gòu)至少包括待查詢數(shù)據(jù)的類型和取值;
根據(jù)所述待查詢數(shù)據(jù)結(jié)構(gòu),獲取所述待查詢數(shù)據(jù)。
在另一個(gè)實(shí)施例中,所述根據(jù)所述待查詢數(shù)據(jù)結(jié)構(gòu),獲取所述待查詢數(shù)據(jù)包括:
在所述待查詢數(shù)據(jù)結(jié)構(gòu)攜帶的類型中獲取至少一個(gè)待查詢?nèi)≈担?/p>
在所述待查詢?nèi)≈抵写_定指定取值,獲取所述指定取值對(duì)應(yīng)的指定位置數(shù)據(jù),所述指定取值與所述待查詢數(shù)據(jù)結(jié)構(gòu)中的取值一致;
基于所述待查詢數(shù)據(jù)結(jié)構(gòu)攜帶的類型、所述指定取值以及所述指定位置數(shù)據(jù),生成所述待查詢數(shù)據(jù)。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種數(shù)據(jù)存儲(chǔ)裝置,所述裝置包括:
確定模塊,用于當(dāng)接收到待存儲(chǔ)日志時(shí),確定所述待存儲(chǔ)日志的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括所述待存儲(chǔ)日志中的至少一個(gè)數(shù)據(jù)字段;
劃分模塊,用于根據(jù)所述數(shù)據(jù)結(jié)構(gòu),將所述待存儲(chǔ)日志劃分為至少一個(gè)類型的數(shù)據(jù);
存儲(chǔ)模塊,用于將所述待存儲(chǔ)日志的數(shù)據(jù)按照至少一個(gè)類型進(jìn)行存儲(chǔ)。
在另一個(gè)實(shí)施例中,所述劃分模塊包括:
確定子模塊,用于對(duì)于所述至少一個(gè)數(shù)據(jù)字段中的每個(gè)數(shù)據(jù)字段,在所述待存儲(chǔ)日志中確定所述數(shù)據(jù)字段的多個(gè)取值;
劃分子模塊,用于將所述多個(gè)取值對(duì)應(yīng)的數(shù)據(jù)作為所述數(shù)據(jù)字段指示的類型的數(shù)據(jù)。
在另一個(gè)實(shí)施例中,所述存儲(chǔ)模塊包括:
確定子模塊,用于對(duì)于所述至少一個(gè)類型中的每一個(gè)類型,確定所述類型中包括的多個(gè)取值;
存儲(chǔ)子模塊,用于分別確定所述多個(gè)取值在所述待存儲(chǔ)日志中的多個(gè)位置數(shù)據(jù),將所述多個(gè)取值與所述多個(gè)位置數(shù)據(jù)對(duì)應(yīng)進(jìn)行存儲(chǔ)。
在另一個(gè)實(shí)施例中,所述裝置還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇虎科技有限公司,未經(jīng)北京奇虎科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710961691.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類存儲(chǔ)方法和裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





