[發明專利]一種JSON數據的語法樹提取方法有效
| 申請號: | 201911240324.1 | 申請日: | 2019-12-06 |
| 公開(公告)號: | CN111046630B | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 陳世敏;王智義;祁琦 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F40/14 | 分類號: | G06F40/14;G06F16/81 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 json 數據 語法 提取 方法 | ||
本發明提供一種JSON數據的語法樹提取方法,包括:對給定的數據集中的JSON數據進行采樣,記錄JSON記錄結構樹;遍歷所有的JSON記錄結構樹以累加生成一個統計結構樹;遍歷統計結構樹中每個節點的計數器,將JSON記錄中的域劃分為稀疏域和非稀疏域;將特征相同的稀疏域歸類到一起,形成相同特征的域的歸類;基于非稀疏域、相同特征的域的歸類生成語法樹的初始狀態:根據語法樹的初始狀態,對給定的數據集中的所有JSON記錄逐條進行解析,動態構建數據集對應的語法樹。本發明通過對JSON數據記錄(Record)中的稀疏的域按照特征進行歸類,提高了語法樹的組織效率;通過對具有相同特征的域進行歸類,減少了解析后的數據的列式文件數量,從而提高了在后續查詢過程中的效率。
技術領域
本發明涉及數據處理方法,具體來說,涉及JSON數據存儲與查詢領域,更具體地說,涉及一種JSON數據的語法樹(樹狀結構數據的元數據)提取方法,并基于此方法進行的數據處理方法、查詢方法及系統。
背景技術
隨著計算機網絡和大數據處理技術的發展,傳統關系型數據已經越來越不能滿足網絡和大數據環境下對數據定義和使用的要求。而以JSON為代表的半結構化數據因為既能夠充分的表達編程語言中對象(class),同時還能夠根據數據的格式變化對原有的數據格式進行修改和擴充,故而其在實際環境中被廣泛的使用。
在傳統的關系型數據庫中,用戶將記錄導入到數據庫之前需要預先以數據表的形式定義記錄的元信息:例如表中有哪些屬性,各屬性分別是什么類型等。而在使用JSON數據時,不需要預先定義記錄的元信息:用戶在使用JSON數據前不需要預先定義數據集中記錄的內部結構,包括域的名稱、值的類型及相關的嵌套結構等。當用戶的需求發生改變時,例如改變記錄內部的結構、改變某一個域的類型等,記錄的結構可以隨時按照需求的變化進行相應的改變,不需要修改記錄相關的數據元信息以及之前產生的記錄的內部結構。這樣,JSON數據為用戶提供了足夠強的語義的靈活性:用戶不需要預先定義JSON數據的元信息;同時當需求發生變化時,用戶可以隨時修改JSON數據的內部結構。
現階段對JSON數據處理(包括數據解析、存儲和查詢等相關的操作)有以下的三種方式:
方式一、不提取記錄內部結構的元信息(即JSON數據中的數據結構),將其作為一個整體存儲在相應的數據庫中,例如PostgreSQL,Oracle,MongoDB等。具體的實現方式又分為以下2種:
(a)、直接將JSON數據以原有的文本形式存儲在數據庫的表的某個域中,例如PostgreSQL等。
(b)、將JSON數據按照一定的編碼格式進行逐條記錄的二進制編碼,之后將記錄作為一個整體進行存儲。例如,在Oracle(FSDM,OSON)及PostgreSQL(jsonb data)中,可以定義表中的某個域為JSON的二進制類型,之后在每條記錄的這個域中存儲一條經過編碼的JSON記錄;在MongoDB中,其將每條JSON數據解析并編碼為一條二進制的BSON數據,進而獨立的存儲為一個完整的數據集。
方式二、由用戶預先定義相應樹狀結構的JSON元數據,再按照一定的形式進行數據的組織和編碼。具體的實現方式又分為以下2種:
(a)、樹狀結構數據拆分為若干張關系型數據庫表的形式或者部分拆分為表的形式。例如Argo[Enabling JSON Document Stores in RelationalSystems],用戶需要按照表的形式將JSON等樹狀結構數據拆分成為具體鍵值對(Key:Value)形式的域進行存儲。
(b)、樹狀結構數據按照用戶的預定義定義為語法樹的形式。例如GoogleProtocols,Apache Parquet等,用戶首先將樹狀結構的數據的內部結構定義為語法樹的形式,進而由樹狀結構數據處理系統按照其對應的語法樹對數據進行解析、存儲和查詢等相應的操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911240324.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





