[發(fā)明專利]數(shù)據(jù)存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201811387710.9 | 申請(qǐng)日: | 2018-11-21 |
| 公開(公告)號(hào): | CN109582231B | 公開(公告)日: | 2022-03-15 |
| 發(fā)明(設(shè)計(jì))人: | 蔣錦鵬 | 申請(qǐng)(專利權(quán))人: | 金色熊貓有限公司 |
| 主分類號(hào): | G06F3/06 | 分類號(hào): | G06F3/06 |
| 代理公司: | 隆天知識(shí)產(chǎn)權(quán)代理有限公司 72003 | 代理人: | 鄭特強(qiáng);章侃銥 |
| 地址: | 中國香港銅鑼灣希慎*** | 國省代碼: | 香港;81 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 存儲(chǔ) 方法 裝置 電子設(shè)備 介質(zhì) | ||
本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),涉及大數(shù)據(jù)技術(shù)領(lǐng)域。該方法包括:獲取JSON數(shù)據(jù),解析所述JSON數(shù)據(jù)并確定所述JSON數(shù)據(jù)中的數(shù)據(jù)對(duì)象的數(shù)據(jù)類型;基于所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型通過預(yù)定內(nèi)存單元存儲(chǔ)所述數(shù)據(jù)對(duì)象,該預(yù)定內(nèi)存單元包括數(shù)據(jù)類型存儲(chǔ)部分以及數(shù)據(jù)存儲(chǔ)部分。本發(fā)明實(shí)施例的技術(shù)方案能夠顯著減少JSON數(shù)據(jù)加載后的內(nèi)存占用大小,提高系統(tǒng)性能。
技術(shù)領(lǐng)域
本發(fā)明涉及大數(shù)據(jù)技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)存儲(chǔ)裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
JSON(JavaScript Object Notion,JS對(duì)象簡譜)是一種輕量級(jí)的數(shù)據(jù)交換格式,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。JSON易于閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升了網(wǎng)絡(luò)傳輸效率。在醫(yī)療大數(shù)據(jù)領(lǐng)域,由于JSON的靈活性和易于程序處理,被廣泛應(yīng)用于病歷和患者數(shù)據(jù)的存儲(chǔ)、傳輸。
目前,若要對(duì)JSON數(shù)據(jù)進(jìn)行處理,一般要經(jīng)歷:從文件(或數(shù)據(jù)庫)讀取序列化后的JSON數(shù)據(jù)=將JSON數(shù)據(jù)反序列化到內(nèi)存數(shù)據(jù)結(jié)構(gòu)=在內(nèi)存中計(jì)算、修改JSON數(shù)據(jù)=序列化JSON數(shù)據(jù)=將JSON數(shù)據(jù)寫回文件(或數(shù)據(jù)庫)這5個(gè)步驟。為了便于內(nèi)存中的計(jì)算和修改,JSON的內(nèi)存數(shù)據(jù)結(jié)構(gòu)通常和文件中純文本的存儲(chǔ)形態(tài)非常不同,帶來很多額外的開銷,內(nèi)存占用往往是純文本形態(tài)的幾倍甚至十幾倍。
在醫(yī)療數(shù)據(jù)處理場景下,單個(gè)患者數(shù)據(jù)分布極不均勻,個(gè)別患者數(shù)據(jù)可達(dá)幾百M(fèi)B,將表示患者數(shù)據(jù)的JSON數(shù)據(jù)加載到內(nèi)存中可能占用幾GB內(nèi)存。在大數(shù)據(jù)處理的場景下,單個(gè)患者或病歷內(nèi)存占用過大,會(huì)導(dǎo)致系統(tǒng)可同時(shí)并發(fā)執(zhí)行任務(wù)數(shù)下降,嚴(yán)重降低系統(tǒng)性能。
因此,優(yōu)化JSON數(shù)據(jù)內(nèi)存存儲(chǔ)占用成為醫(yī)療大數(shù)據(jù)處理中亟待解決的技術(shù)問題。
需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本發(fā)明背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)存儲(chǔ)裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的一個(gè)或者多個(gè)問題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供了一種數(shù)據(jù)存儲(chǔ)方法,包括:獲取JSON數(shù)據(jù),解析所述JSON數(shù)據(jù)并確定所述JSON數(shù)據(jù)中的數(shù)據(jù)對(duì)象的數(shù)據(jù)類型;基于所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型通過預(yù)定內(nèi)存單元存儲(chǔ)所述數(shù)據(jù)對(duì)象,所述預(yù)定內(nèi)存單元包括數(shù)據(jù)類型存儲(chǔ)部分以及數(shù)據(jù)存儲(chǔ)部分。
在本發(fā)明的一些實(shí)施例中,基于前述方案,基于所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型通過預(yù)定內(nèi)存單元存儲(chǔ)所述數(shù)據(jù)對(duì)象,包括:在所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型為短字符串型、空值型、布爾型、整數(shù)型、浮點(diǎn)型中的一種數(shù)據(jù)類型時(shí),通過所述數(shù)據(jù)類型存儲(chǔ)部分存儲(chǔ)所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型;通過所述數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)所述數(shù)據(jù)對(duì)象的值,所述短字符串型的字符串的長度小于8個(gè)字節(jié)。
在本發(fā)明的一些實(shí)施例中,基于前述方案,基于所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型通過預(yù)定內(nèi)存單元存儲(chǔ)所述數(shù)據(jù)對(duì)象,包括:在所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型為長字符串型、數(shù)組型、對(duì)象型中的一種數(shù)據(jù)類型時(shí),通過所述數(shù)據(jù)類型存儲(chǔ)部分存儲(chǔ)所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型;通過所述數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)所述數(shù)據(jù)對(duì)象的元信息的指針,所述指針指向所述數(shù)據(jù)對(duì)象的元信息的內(nèi)存存儲(chǔ)地址,所述長字符串型的字符串的長度大于等于8個(gè)字節(jié)。
在本發(fā)明的一些實(shí)施例中,基于前述方案,所述數(shù)據(jù)存儲(chǔ)方法還包括:在所述數(shù)據(jù)對(duì)象的數(shù)據(jù)類型為所述數(shù)組型或所述對(duì)象型時(shí),在內(nèi)存棧上構(gòu)造所述數(shù)據(jù)對(duì)象;將在所述內(nèi)存棧上構(gòu)造的所述數(shù)據(jù)對(duì)象存儲(chǔ)在所述內(nèi)存存儲(chǔ)地址中。
在本發(fā)明的一些實(shí)施例中,基于前述方案,所述數(shù)據(jù)存儲(chǔ)方法還包括:對(duì)所述對(duì)象型數(shù)據(jù)的關(guān)鍵字進(jìn)行去重,通過全局關(guān)鍵字緩存存儲(chǔ)去重后的所述對(duì)象型數(shù)據(jù)的關(guān)鍵字。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于金色熊貓有限公司,未經(jīng)金色熊貓有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811387710.9/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 數(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ù)庫讀寫分離的方法和裝置
- 一種手機(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ì)





