[發(fā)明專利]一種序列化文件解析裝置及方法在審
| 申請(qǐng)?zhí)枺?/td> | 201310029514.5 | 申請(qǐng)日: | 2013-01-25 |
| 公開(公告)號(hào): | CN103970746A | 公開(公告)日: | 2014-08-06 |
| 發(fā)明(設(shè)計(jì))人: | 李軼強(qiáng);王金英;馬玉玲 | 申請(qǐng)(專利權(quán))人: | 沈陽銳易特軟件技術(shù)有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 沈陽東大知識(shí)產(chǎn)權(quán)代理有限公司 21109 | 代理人: | 梁焱 |
| 地址: | 110179 遼寧省沈*** | 國省代碼: | 遼寧;21 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 序列 文件 解析 裝置 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于文檔數(shù)據(jù)處理技術(shù)領(lǐng)域,具體是一種序列化文件解析裝置及方法。
背景技術(shù)
序列化文件是一種結(jié)構(gòu)化的文本標(biāo)簽語言,主要有標(biāo)簽、標(biāo)簽值、屬性、屬性值、特殊處理指令、注釋等構(gòu)成,由于其開放性,可擴(kuò)展性,語言嚴(yán)格等優(yōu)勢(shì),目前已經(jīng)廣泛用于各種數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)通信領(lǐng)域。
序列化文件在信息世界的各個(gè)領(lǐng)域中發(fā)揮了越來越重要的作用,在未來的發(fā)展中將超過所有其他同種類的信息流,占據(jù)主導(dǎo)地位。序列化文件是以純文本對(duì)數(shù)據(jù)進(jìn)行編碼的一種格式化文檔,若想通過應(yīng)用程序利用序列化文件,對(duì)序列化文件中的元素、屬性及內(nèi)容作進(jìn)一步的操作,必須將所包含的結(jié)構(gòu)化數(shù)據(jù)從純文本文件中解析出來。因此,對(duì)序列化文件進(jìn)行有效解析將是序列化文件應(yīng)用的關(guān)鍵。根據(jù)解析方式的不同,可分為軟件解析和硬件解析。軟件解析可利用的模型有DOM、SAX/STAX等。硬件解析可利用的模型有VTD等。
軟件解析對(duì)處理器的性能和內(nèi)存的要求非常高,并且會(huì)占用系統(tǒng)大量資源,不易于開發(fā)人員的維護(hù),可操作性差,速度慢,效率低,難以實(shí)現(xiàn)快速有效的解析,造成數(shù)據(jù)傳輸交換過慢,信息傳播停滯。同時(shí)要處理大型序列化文件并對(duì)其進(jìn)行復(fù)雜的查詢、刪除、增加等操作時(shí),軟件解析會(huì)導(dǎo)致遍歷性能差、系統(tǒng)性能迅速下降等問題。由于軟件解析存在瓶頸,硬件解析成為當(dāng)前研究的熱點(diǎn)之一。硬件解析,是利用專有硬件來對(duì)序列化文件進(jìn)行解析。而隨著芯片技術(shù)的提高,使得硬件解析成為可能。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種序列化文件解析裝置及方法。
本發(fā)明的技術(shù)方案是:
一種序列化文件解析裝置,包括FPGA、PCI-E電路、加密電路、DDR2電路和電源電路;
所述PCI-E電路、加密電路和DDR2電路均與FPGA相連,PCI-E電路與計(jì)算機(jī)的PCI-E接口連接,電源電路分別連接FPGA、加密電路和DDR2電路。
所述FPGA用于將接收到的序列化文件分解成文件塊并采用VTD模型進(jìn)行解析得到序列化文件解析結(jié)果。
所述電源電路通過PCI-E接口從計(jì)算機(jī)獲取供電。
所述電源電路用于為FPGA、加密電路和DDR2電路供電。
所述加密電路用于對(duì)FPGA中的數(shù)據(jù)進(jìn)行加密操作。
采用所述的序列化文件解析裝置的進(jìn)行序列化文件解析的方法,包括如下步驟:
步驟1:計(jì)算機(jī)采用多線程池技術(shù)存儲(chǔ)多個(gè)序列化文件,即將多個(gè)序列化文件存至線程池;
步驟2:計(jì)算機(jī)采用多線程并發(fā)傳輸方式,通過PCI-E接口將多個(gè)序列化文件傳輸至序列化文件解析裝置;
步驟3:FPGA設(shè)置一段緩沖區(qū),存儲(chǔ)計(jì)算機(jī)傳輸?shù)男蛄谢募?/p>
步驟4:根據(jù)各序列化文件的大小及其解析優(yōu)先級(jí),定義解析屬性;
所述解析屬性是用于決定序列化文件解析順序的屬性值;
步驟5:FPGA根據(jù)定義的解析屬性確定各序列化文件的解析順序,并根據(jù)解析順序?qū)⒕彌_區(qū)的序列化文件進(jìn)行排序;
步驟6:采用VTD模型同時(shí)解析緩沖區(qū)中的各個(gè)序列化文件,得到每個(gè)序列化文件的解析結(jié)果;
步驟6.1:根據(jù)序列化文件的大小或長度,將每一個(gè)序列化文件分解成若干文件塊;
步驟6.2:對(duì)各序列化文件的所分解成的文件塊建立VTD模型,對(duì)文件塊進(jìn)行解析,得到每個(gè)序列化文件的各個(gè)文件塊的VTD記錄,即每個(gè)序列化文件的各個(gè)文件塊的解析結(jié)果;
步驟6.3:將各個(gè)文件塊的VTD記錄合并得到相應(yīng)的序列化文件的VTD記錄,即得到各序列化文件的解析結(jié)果;
步驟7:可以根據(jù)各序列化文件的解析結(jié)果對(duì)相應(yīng)的序列化文件中的內(nèi)容進(jìn)行查看和XPath查詢。
所述步驟6.2對(duì)各序列化文件的所分解成的文件塊建立VTD模型,對(duì)文件塊進(jìn)行解析,得到每個(gè)序列化文件的各個(gè)文件塊的VTD記錄,具體步驟如下:
步驟6.2.1:將各序列化文件的文件塊以二進(jìn)制的方式讀進(jìn)內(nèi)存;
步驟6.2.2:FPGA對(duì)內(nèi)存中的文件塊建立VTD模型,執(zhí)行解析操作;
步驟6.2.3:FPGA對(duì)各序列化文件的文件塊進(jìn)行解析,得到各文件塊的VTD記錄,包括深度、索引、塊內(nèi)VTD索引和首個(gè)子元素LC索引;
步驟6.2.4:保存解析得到的各文件塊的VTD記錄,該VTD記錄即為文件塊的解析結(jié)果。
有益效果:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于沈陽銳易特軟件技術(shù)有限公司,未經(jīng)沈陽銳易特軟件技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310029514.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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ì)





