[發(fā)明專利]解析結(jié)構(gòu)化數(shù)據(jù)文件的方法及裝置有效
| 申請?zhí)枺?/td> | 201410483714.2 | 申請日: | 2014-09-19 |
| 公開(公告)號: | CN104331410B | 公開(公告)日: | 2018-04-27 |
| 發(fā)明(設(shè)計(jì))人: | 潘洪安 | 申請(專利權(quán))人: | 北京金山安全軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F8/41 |
| 代理公司: | 北京市廣友專利事務(wù)所有限責(zé)任公司11237 | 代理人: | 祁獻(xiàn)民 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 解析 結(jié)構(gòu) 數(shù)據(jù)文件 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種解析結(jié)構(gòu)化數(shù)據(jù)文件的方法及裝置。
背景技術(shù)
結(jié)構(gòu)化數(shù)據(jù),是指符合一定數(shù)據(jù)結(jié)構(gòu),能被形式化描述的數(shù)據(jù),如JSON(JavaScript Object Notation)數(shù)據(jù),XML(Extensible Markup Language)數(shù)據(jù)等。
目前,在解析結(jié)構(gòu)化數(shù)據(jù)文件時,通常采用的方案是:將結(jié)構(gòu)化數(shù)據(jù)文件直接按字節(jié)讀取到內(nèi)存,在內(nèi)存中形成結(jié)構(gòu)化數(shù)據(jù)對象,然后訪問需要的數(shù)據(jù)子項(xiàng)并解析。
隨著結(jié)構(gòu)化數(shù)據(jù)文件的規(guī)模逐漸增大,現(xiàn)有的解析方案的效率逐漸減弱。當(dāng)被解析的結(jié)構(gòu)化數(shù)據(jù)文件過大,其文件大小和內(nèi)存是一個級別,甚至超過內(nèi)存大小時,采用現(xiàn)有的解析方案無法完成對這種較大的結(jié)構(gòu)化數(shù)據(jù)文件進(jìn)行解析;此外,過多地占用內(nèi)存資源將直接影響到其他任務(wù)的運(yùn)行甚至導(dǎo)致宕機(jī)。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:
在對結(jié)構(gòu)化數(shù)據(jù)文件進(jìn)行解析時,特別是對較大的結(jié)構(gòu)化數(shù)據(jù)文件進(jìn)行解析時,需要在內(nèi)存中構(gòu)建結(jié)構(gòu)化數(shù)據(jù)對象,占用大量的內(nèi)存資源,而內(nèi)存的資源有限,因此使得解析效率較低,甚至不能保證結(jié)構(gòu)化數(shù)據(jù)文件得到正常解析。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供的解析結(jié)構(gòu)化數(shù)據(jù)文件的方法及裝置,能夠提高解析效率,并能保證較大的結(jié)構(gòu)化數(shù)據(jù)文件得到正常解析。
一方面,本發(fā)明實(shí)施例提供一種解析結(jié)構(gòu)化數(shù)據(jù)文件的方法,包括:
建立回調(diào)函數(shù)和數(shù)據(jù)子項(xiàng)之間的綁定關(guān)系;
對所述綁定關(guān)系進(jìn)行注冊;
解析結(jié)構(gòu)化數(shù)據(jù)文件,獲取所述結(jié)構(gòu)化數(shù)據(jù)文件中與已注冊的綁定關(guān)系相匹配的數(shù)據(jù)子項(xiàng);
調(diào)用所述綁定關(guān)系中與所述數(shù)據(jù)子項(xiàng)相對應(yīng)的回調(diào)函數(shù)處理所述數(shù)據(jù)子項(xiàng)。
另一方面,本發(fā)明實(shí)施例提供一種解析結(jié)構(gòu)化數(shù)據(jù)文件的裝置,包括:
綁定單元,用于建立回調(diào)函數(shù)和數(shù)據(jù)子項(xiàng)之間的綁定關(guān)系;
注冊單元,用于對所述綁定關(guān)系在處理單元中進(jìn)行注冊;
解析單元,用于解析結(jié)構(gòu)化數(shù)據(jù)文件,獲取所述結(jié)構(gòu)化數(shù)據(jù)文件中與已注冊的綁定關(guān)系相匹配的數(shù)據(jù)子項(xiàng);
處理單元,用于調(diào)用所述綁定關(guān)系中與所述數(shù)據(jù)子項(xiàng)相對應(yīng)的回調(diào)函數(shù)處理所述數(shù)據(jù)子項(xiàng)。
本發(fā)明實(shí)施例提供的解析結(jié)構(gòu)化數(shù)據(jù)文件的方法及裝置,建立回調(diào)函數(shù)和數(shù)據(jù)子項(xiàng)之間的綁定關(guān)系并進(jìn)行注冊,在解析結(jié)構(gòu)化數(shù)據(jù)文件時,獲取所述結(jié)構(gòu)化數(shù)據(jù)文件中與已注冊的綁定關(guān)系相匹配的數(shù)據(jù)子項(xiàng),調(diào)用所述綁定關(guān)系中與所述數(shù)據(jù)子項(xiàng)相對應(yīng)的回調(diào)函數(shù)處理所述數(shù)據(jù)子項(xiàng)。與現(xiàn)有技術(shù)相比,本發(fā)明在讀取結(jié)構(gòu)化數(shù)據(jù)文件時,直接調(diào)用回調(diào)函數(shù)處理數(shù)據(jù)子項(xiàng),避免了在內(nèi)存中構(gòu)造結(jié)構(gòu)化數(shù)據(jù)對象,從而能夠提高解析效率,即使對于較大的結(jié)構(gòu)化數(shù)據(jù)文件,也能得到正常解析;此外,還可以節(jié)省內(nèi)存資源的占用。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明解析結(jié)構(gòu)化數(shù)據(jù)文件的方法一實(shí)施例的流程示意圖;
圖2為本發(fā)明解析結(jié)構(gòu)化數(shù)據(jù)文件的方法另一實(shí)施例的流程示意圖;
圖3為本發(fā)明解析結(jié)構(gòu)化數(shù)據(jù)文件的裝置一實(shí)施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明解析結(jié)構(gòu)化數(shù)據(jù)文件的裝置另一實(shí)施例的結(jié)構(gòu)示意圖;
圖5為圖3中處理單元14的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參看圖1,本發(fā)明實(shí)施例提供一種解析結(jié)構(gòu)化數(shù)據(jù)文件的方法,包括:
S11、建立回調(diào)函數(shù)和數(shù)據(jù)子項(xiàng)之間的綁定關(guān)系;
S12、對所述綁定關(guān)系進(jìn)行注冊;
S13、解析結(jié)構(gòu)化數(shù)據(jù)文件,獲取所述結(jié)構(gòu)化數(shù)據(jù)文件中與已注冊的綁定關(guān)系相匹配的數(shù)據(jù)子項(xiàng);
S14、調(diào)用所述綁定關(guān)系中與所述數(shù)據(jù)子項(xiàng)相對應(yīng)的回調(diào)函數(shù)處理所述數(shù)據(jù)子項(xiàng)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山安全軟件有限公司,未經(jīng)北京金山安全軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410483714.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:自控可拆卸式高空用吊裝
- 下一篇:一種控制器
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 嵌入式數(shù)據(jù)庫中數(shù)據(jù)恢復(fù)的方法和裝置
- 一種上報、獲得性能數(shù)據(jù)文件的方法及裝置
- 一種數(shù)據(jù)文件處理的方法、裝置及終端
- 一種數(shù)據(jù)文件播放方法及相關(guān)設(shè)備、系統(tǒng)
- 一種數(shù)據(jù)文件檢測方法和裝置
- 數(shù)據(jù)綜合采集方法及系統(tǒng)
- 一種多類型批量數(shù)據(jù)處理系統(tǒng)及其處理方法
- 數(shù)據(jù)文件的處理方法、裝置、系統(tǒng)和存儲介質(zhì)
- 嵌入式系統(tǒng)中文件數(shù)據(jù)未同步的檢測方法
- 數(shù)據(jù)操作方法、裝置和計(jì)算機(jī)可讀存儲介質(zhì)





