System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,尤其涉及一種json數據查詢方法、設備、存儲介質及裝置。
技術介紹
1、目前,在本地安全大腦,或者其他分析安全及運維類數據的產品中,數據的主要格式是半結構化的json格式,每行json由多個鍵值對(關鍵字:值,key:value)組合而成,例如,{“k1”:1,“k2”:2,“k3”:3,“k4”:4,“k5”:5}。
2、現有技術在對json數據進行查詢時,對于未解析關鍵字存在查詢速度慢,查詢性能差的缺陷。
3、上述內容僅用于輔助理解本專利技術的技術方案,并不代表承認上述內容是現有技術。
技術實現思路
1、本專利技術的主要目的在于提供一種json數據查詢方法、設備、存儲介質及裝置,旨在解決現有技術中在對json數據進行查詢時,對于未解析關鍵字存在查詢速度慢,查詢性能差的技術問題。
2、為實現上述目的,本專利技術提供一種json數據查詢方法,所述json數據查詢方法包括以下步驟:
3、在對json數據中的未解析關鍵字進行查詢時,對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字對應的哈希值;
4、根據所述哈希值在微索引中查詢所述未解析關鍵字的解析位置,所述微索引中包括所述哈希值與所述解析位置的對應關系;
5、基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值。
6、可選地,所述根據所述哈希值在微索引中查詢所述未解析關鍵字的解析位置,所述微索引中包括所述哈
7、根據所述哈希值在微索引中查詢所述未解析關鍵字的位置偏移值,所述微索引中包括所述哈希值與所述位置偏移值的對應關系;
8、根據所述位置偏移值確定所述未解析關鍵字的解析位置。
9、可選地,所述根據所述位置偏移值確定所述未解析關鍵字的解析位置的步驟,包括:
10、在所述位置偏移值為多個時,根據所述位置偏移值確定關鍵字讀取順序;
11、基于所述關鍵字讀取順序讀出關鍵字,并將所述關鍵字與所述未解析關鍵字進行匹配;
12、根據匹配結果確定所述未解析關鍵字的解析位置。
13、可選地,所述基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值的步驟,包括:
14、獲取所述json數據對應的查詢條件;
15、基于所述查詢條件和所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值。
16、可選地,所述在對json數據中的未解析關鍵字進行查詢時,對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字對應的哈希值的步驟之前,還包括:
17、在寫入json數據時,對所述json數據中的關鍵字進行解析;
18、在解析成功時,對所述json數據進行結構化處理,并將處理后的json數據存入列式數據庫;
19、在解析失敗時,直接存入所述json數據,并構建所述json數據的微索引,所述json數據中包括未解析關鍵字和所述未解析關鍵字對應的值。
20、可選地,所述構建所述json數據的微索引的步驟,包括:
21、獲取所述未解析關鍵字在所述json數據中的解析位置,并對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字的哈希值;
22、建立所述解析位置與所述哈希值的對應關系,并根據所述對應關系構建所述json數據的微索引。
23、可選地,所述建立所述解析位置與所述哈希值的對應關系,并根據所述對應關系構建所述json數據的微索引的步驟,包括:
24、獲取所述解析位置與前一未解析關鍵字的位置偏移值;
25、建立所述位置偏移值與所述哈希值的對應關系,并根據所述對應關系構建所述json數據的微索引。
26、可選地,所述建立所述解析位置與所述哈希值的對應關系,并根據所述對應關系構建所述json數據的微索引的步驟,包括:
27、獲取所述解析位置與目標未解析關鍵字的目標位置偏移值,所述目標未解析關鍵字對應的值的字節數大于預設閾值;
28、建立所述目標位置偏移值與所述哈希值的對應關系,并根據所述對應關系構建所述json數據的微索引。
29、可選地,所述在解析成功時,對所述json數據進行結構化處理,并將處理后的json數據存入列式數據庫的步驟之后,還包括:
30、在對json數據中的已解析關鍵字進行查詢時,獲取已解析關鍵字;
31、在所述列式數據庫查找所述已解析關鍵字對應的值。
32、可選地,所述未解析關鍵字對應的哈希值基于cuckoo?hash生成。
33、可選地,所述基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值的步驟之后,還包括:
34、根據所述未解析關鍵字和所述未解析關鍵字對應的值生成json數據查詢報告;
35、將所述json數據查詢報告發送至預設終端。
36、此外,為實現上述目的,本專利技術還提出一種json數據查詢設備,所述json數據查詢設備包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的json數據查詢程序,所述json數據查詢程序配置為實現如上文所述的json數據查詢方法。
37、此外,為實現上述目的,本專利技術還提出一種存儲介質,所述存儲介質上存儲有json數據查詢程序,所述json數據查詢程序被處理器執行時實現如上文所述的json數據查詢方法。
38、此外,為實現上述目的,本專利技術還提出一種json數據查詢裝置,所述json數據查詢裝置包括:哈希處理模塊、位置查詢模塊以及關鍵字解析模塊;
39、所述哈希處理模塊,用于在對json數據中的未解析關鍵字進行查詢時,對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字對應的哈希值;
40、所述位置查詢模塊,用于根據所述哈希值在微索引中查詢所述未解析關鍵字的解析位置,所述微索引中包括所述哈希值與所述解析位置的對應關系;
41、所述關鍵字解析模塊,用于基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值。
42、可選地,所述位置查詢模塊,還用于根據所述哈希值在微索引中查詢所述未解析關鍵字的位置偏移值,所述微索引中包括所述哈希值與所述位置偏移值的對應關系;
43、所述位置查詢模塊,還用于根據所述位置偏移值確定所述未解析關鍵字的解析位置。
44、可選地,所述位置查詢模塊,還用于在所述位置偏移值為多個時,根據所述位置偏移值確定關鍵字讀取順序;
45、所述位置查詢模塊,還用于基于所述關鍵字讀取順序讀出關鍵字,并將所述關鍵字與所述未解析關鍵字進行匹配;
46、所述位置查詢模塊,還用于根據匹配結果確定所述未解析關鍵字的解析位置。
47、可選地本文檔來自技高網...
【技術保護點】
1.一種JSON數據查詢方法,其特征在于,所述JSON數據查詢方法包括以下步驟:
2.如權利要求1所述的JSON數據查詢方法,其特征在于,所述根據所述哈希值在微索引中查詢所述未解析關鍵字的解析位置,所述微索引中包括所述哈希值與所述解析位置的對應關系的步驟,包括:
3.如權利要求2所述的JSON數據查詢方法,其特征在于,所述根據所述位置偏移值確定所述未解析關鍵字的解析位置的步驟,包括:
4.如權利要求1所述的JSON數據查詢方法,其特征在于,所述基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值的步驟,包括:
5.如權利要求1至4中任一項所述的JSON數據查詢方法,其特征在于,所述在對JSON數據中的未解析關鍵字進行查詢時,對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字對應的哈希值的步驟之前,還包括:
6.如權利要求5所述的JSON數據查詢方法,其特征在于,所述構建所述JSON數據的微索引的步驟,包括:
7.如權利要求6所述的JSON數據查詢方法,其特征在于,所述建立所述解析位置與所
8.一種JSON數據查詢設備,其特征在于,所述JSON數據查詢設備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的JSON數據查詢程序,所述JSON數據查詢程序被所述處理器執行時實現如權利要求1至7中任一項所述的JSON數據查詢方法。
9.一種存儲介質,其特征在于,所述存儲介質上存儲有JSON數據查詢程序,所述JSON數據查詢程序被處理器執行時實現如權利要求1至7中任一項所述的JSON數據查詢方法。
10.一種JSON數據查詢裝置,其特征在于,所述JSON數據查詢裝置包括:哈希處理模塊、位置查詢模塊以及關鍵字解析模塊;
...【技術特征摘要】
1.一種json數據查詢方法,其特征在于,所述json數據查詢方法包括以下步驟:
2.如權利要求1所述的json數據查詢方法,其特征在于,所述根據所述哈希值在微索引中查詢所述未解析關鍵字的解析位置,所述微索引中包括所述哈希值與所述解析位置的對應關系的步驟,包括:
3.如權利要求2所述的json數據查詢方法,其特征在于,所述根據所述位置偏移值確定所述未解析關鍵字的解析位置的步驟,包括:
4.如權利要求1所述的json數據查詢方法,其特征在于,所述基于所述解析位置對所述未解析關鍵字進行解析,獲得所述未解析關鍵字對應的值的步驟,包括:
5.如權利要求1至4中任一項所述的json數據查詢方法,其特征在于,所述在對json數據中的未解析關鍵字進行查詢時,對所述未解析關鍵字進行哈希處理,獲得所述未解析關鍵字對應的哈希值的步驟之前,還包括:
6.如權利要求5所述的jso...
【專利技術屬性】
技術研發人員:萬曉川,
申請(專利權)人:三六零數字安全科技集團有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。