專利名稱:一種快速處理xml壓縮數(shù)據(jù)的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及XML數(shù)據(jù)處理領(lǐng)域,尤其涉及一種快速處理XML壓縮數(shù)據(jù)的方法及其
裝置。
背景技術(shù):
在現(xiàn)有的XML數(shù)據(jù)壓縮方法中,有很多壓縮方法是基于XML結(jié)構(gòu)和數(shù)據(jù)特征的處 理方法,比如XGRIND、XPRESS等。在這些方法中,一方面,避免使用XML原始的容器方式 表示結(jié)構(gòu),并且在壓縮后的數(shù)據(jù)中直接保存XML的結(jié)構(gòu)信息,以實(shí)現(xiàn)對(duì)壓縮數(shù)據(jù)的直接查 詢;另一方面,把具有同種數(shù)據(jù)類型或具有類似特征的數(shù)據(jù)放到一起壓縮,以達(dá)到較高的數(shù) 據(jù)壓縮比。從這類將結(jié)構(gòu)與數(shù)據(jù)分離壓縮的壓縮數(shù)據(jù)中讀取信息時(shí),通常的做法是首先解 壓縮出原始XML數(shù)據(jù),再使用公知的XML解析方式進(jìn)行解析,相關(guān)內(nèi)容可參見專利號(hào)為US 7,013,425B2 白勺美國專禾[!"Data processing method, and encoder, decoderand xml parser for encoding and decoding an xml document”和公開號(hào)為 US 2004/0225754A1 的美國 專禾Ij 串i青"Method ofcompressing xml data and method of decompressing compressed xml data,,。比如,在XGRIND壓縮方法中,分別對(duì)表示XML結(jié)構(gòu)的元數(shù)據(jù)(XML標(biāo)簽和屬性的形 式)、枚舉型屬性值和一般元素/屬性值采取不同的壓縮方法。具體地講,對(duì)于元數(shù)據(jù),每 個(gè)開始標(biāo)簽用一個(gè)字符“T”加上一個(gè)唯一分配的元素ID編碼,所有的結(jié)束標(biāo)簽用一個(gè)字符 “/”編碼,屬性名用一個(gè)字符“A”加上一個(gè)唯一分配的屬性ID編碼;對(duì)于枚舉型屬性值,采 用字典編碼法對(duì)于一般元素/屬件倌,采用霍夫曼編碼法(參見httD://dsl. sere, iisc. ernet. in/pub/xgrindicde02. pdf)。按照現(xiàn)有方法對(duì)XGRIND壓縮數(shù)據(jù)中的結(jié)構(gòu)信息進(jìn)行 讀取時(shí),程序首先需要讀出表示XML結(jié)構(gòu)信息的字符和編號(hào),通過某種方式轉(zhuǎn)換為開始標(biāo) 簽、結(jié)束標(biāo)簽或?qū)傩悦淖址硎?,再使用公知的XML解析方法對(duì)字符串形式的XML數(shù)據(jù) 進(jìn)行解析,從而分析出XML結(jié)構(gòu)信息。對(duì)XML數(shù)據(jù)進(jìn)行讀取時(shí),也是先解壓縮成字符串表示, 然后對(duì)字符串表示的XML數(shù)據(jù)進(jìn)行解析。在整個(gè)讀取過程中,額外的計(jì)算機(jī)資源消耗包括 在整個(gè)讀取過程中,額外的計(jì)算機(jī)資源消耗包括解壓過程中將XML結(jié)構(gòu)信息和XML數(shù)據(jù)處 理為符合XML形式字符串的運(yùn)算消耗、解壓縮后XML數(shù)據(jù)的存儲(chǔ)消耗、XML解析方法中的字 符串比較、查找的運(yùn)算消耗以及解析字符串形式的XML數(shù)據(jù)的運(yùn)算消耗。這些計(jì)算機(jī)資源 消耗造成了程序運(yùn)行效率的降低。再比如,在XPRESS壓縮方法中,分別對(duì)標(biāo)簽和不同類型的數(shù)據(jù)值采取不同的壓縮 方法。具體地講,對(duì)于標(biāo)簽的壓縮,將元素的路徑編碼為w.0,1.0]中的某一間隔,并使用 這些間隔之間的包含關(guān)系,對(duì)路徑表達(dá)進(jìn)行估計(jì)。對(duì)于數(shù)據(jù)值的壓縮,具體地,對(duì)于數(shù)字 型數(shù)據(jù)值,整數(shù)則采用差分編碼,浮點(diǎn)數(shù)則采用f32編碼;對(duì)于字符串型數(shù)據(jù)值,枚舉型則 采用字典編碼,文本數(shù)據(jù)則采取霍夫曼編碼(參見httDZZMak kaist. ac. kr/chungcw/ InterConfPapers/sigmod2003 ikmin. pdf)。按照現(xiàn)有方法讀取 XPRESS 壓縮數(shù)據(jù)時(shí),除了 上述問題之外,還存在關(guān)于浮點(diǎn)數(shù)類型的數(shù)據(jù)的問題。具體地講,如上所述,在XPRESS中,對(duì)類型為xschfloat的XML數(shù)據(jù)采用f32編碼,其數(shù)據(jù)表示方式與IEEE單精度浮點(diǎn)數(shù)表示 相同,在壓縮后的數(shù)據(jù)中記錄為4個(gè)字節(jié)。按照現(xiàn)有方法對(duì)該類型的數(shù)據(jù)進(jìn)行讀取時(shí),因?yàn)?XML khema規(guī)范規(guī)定類型為xsd: float的數(shù)據(jù)必須表示為十進(jìn)制形式,所以XML數(shù)據(jù)解壓 過程涉及從IEEE單精度浮點(diǎn)數(shù)表示到浮點(diǎn)數(shù)的十進(jìn)制字符串表示的轉(zhuǎn)換,需要經(jīng)過多次 浮點(diǎn)數(shù)乘法和浮點(diǎn)數(shù)加法運(yùn)算;而在應(yīng)用程序內(nèi)部,該XML數(shù)據(jù)一般對(duì)應(yīng)于計(jì)算機(jī)中的一 個(gè)浮點(diǎn)數(shù)類型的數(shù)值,在大多數(shù)計(jì)算機(jī)系統(tǒng)中,浮點(diǎn)數(shù)類型數(shù)值的表示方式正是IEEE單精 度浮點(diǎn)數(shù)表示,因此,XML數(shù)據(jù)解析過程又涉及再把浮點(diǎn)數(shù)的十進(jìn)制字符串轉(zhuǎn)換為IEEE單 精度浮點(diǎn)數(shù)表示,同樣需要經(jīng)過多次浮點(diǎn)數(shù)乘法和浮點(diǎn)數(shù)加法運(yùn)算。可以看到,整個(gè)過程中 有兩次多余的數(shù)據(jù)表示方式轉(zhuǎn)換,而且對(duì)常見的計(jì)算機(jī)體系架構(gòu)來說,浮點(diǎn)數(shù)運(yùn)算的開銷 是相對(duì)較大的。再比如,在專利號(hào)為US 6,883,137B1的美國專利“System andmethod for schema-driven compression of extensible mark-uplanguage(XML)documents" ψ,^Bi 縮過程中,首先將輸入的XML流或DOM樹分為結(jié)構(gòu)流和數(shù)據(jù)流兩個(gè)子流,然后,將結(jié)構(gòu)流編 碼為WBXML (WAP 二進(jìn)制XML)格式,使用傳統(tǒng)壓縮算法(比如,GZIP)對(duì)數(shù)據(jù)流進(jìn)行壓縮。在 讀取壓縮數(shù)據(jù)過程中,對(duì)編碼的結(jié)構(gòu)流進(jìn)行解碼,根據(jù)SAX解析方法或者DOM解析方法產(chǎn)生 SAX事件或者建立DOM樹來獲得XML結(jié)構(gòu)信息;對(duì)壓縮的數(shù)據(jù)流進(jìn)行解壓縮來獲得XML數(shù) 據(jù)。在這種方法中,結(jié)構(gòu)流編碼成二進(jìn)制格式,不轉(zhuǎn)換為字符串表示,直接把二進(jìn)制格式的 結(jié)構(gòu)流解析為SAX消息序列或DOM樹結(jié)構(gòu)。這樣,可直接使用XML結(jié)構(gòu)信息,而不需經(jīng)過字 符串解析。但是,該方法對(duì)于數(shù)據(jù)流采用傳統(tǒng)壓縮算法進(jìn)行壓縮,在讀取時(shí)也必須先解壓為 字符串表示、再進(jìn)行字符串解析,因此,仍然存在先解壓再解析所帶來的運(yùn)算消耗。
發(fā)明內(nèi)容
為了解決現(xiàn)有XML壓縮數(shù)據(jù)讀取方法中的上述不足,本發(fā)明提供一種快速處理 XML壓縮數(shù)據(jù)的方法及其裝置,以減少在讀取XML壓縮數(shù)據(jù)時(shí)的計(jì)算機(jī)資源消耗,提高程序 運(yùn)行效率。為了實(shí)現(xiàn)以上目的,本發(fā)明提供一種快速讀取XML壓縮數(shù)據(jù)的方法,該方法通過 將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列,其 中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式表示XML壓縮數(shù)據(jù)中的 XML結(jié)構(gòu)信息和XML數(shù)據(jù)。在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記表示各種數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)數(shù) 據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中直接存儲(chǔ)其原始?jí)嚎s數(shù)據(jù),對(duì)于字符串?dāng)?shù) 據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算機(jī)內(nèi)存中的地址的指針。相應(yīng)地,提供一種快速處理XML壓縮數(shù)據(jù)的方法,該方法包括通過將XML壓縮數(shù) 據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列;根據(jù)讀取的消息序 列中的混合數(shù)據(jù)類型對(duì)象來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯;根據(jù)讀取的消息序列中的混合類型 對(duì)象將該對(duì)象中的數(shù)據(jù)轉(zhuǎn)換為所述數(shù)據(jù)處理邏輯所需的類型,并將轉(zhuǎn)換的數(shù)據(jù)傳送給該數(shù) 據(jù)處理邏輯。所述查找步驟包括通過傳送標(biāo)簽名和屬性名的消息中的混合數(shù)據(jù)類型對(duì)象中的 數(shù)字比較來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯。
所述轉(zhuǎn)換步驟包括通過傳送數(shù)據(jù)的消息中的混合數(shù)據(jù)類型對(duì)象來判斷該消息中 的數(shù)據(jù)類型是否與所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型相匹配;對(duì)于混合數(shù)據(jù)類型能直接表 示的值,混合數(shù)據(jù)類型對(duì)象中保存的就是所需的數(shù)據(jù),不進(jìn)行轉(zhuǎn)換;對(duì)于混合數(shù)據(jù)類型不能 表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值,將該字符串值轉(zhuǎn)換為所述數(shù) 據(jù)處理邏輯所需的數(shù)據(jù)類型。相應(yīng)地,提供一種用于快速讀取XML壓縮數(shù)據(jù)的流式讀取接口,該接口通過將XML 壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列。相應(yīng)地,提供一種用于快速處理XML壓縮數(shù)據(jù)的裝置,該裝置包括流式讀取接 口,通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序 列;消息序列處理單元,根據(jù)從流式讀取接口讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象,查找 對(duì)應(yīng)的數(shù)據(jù)處理邏輯,將該混合數(shù)據(jù)類型對(duì)象中的混合數(shù)據(jù)轉(zhuǎn)換為該數(shù)據(jù)處理邏輯所需的 數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)傳送給該數(shù)據(jù)處理邏輯,所述消息序列處理單元執(zhí)行以下操作通過傳送標(biāo)簽名和屬性名的消息中的混合 數(shù)據(jù)類型對(duì)象中的數(shù)字比較來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯;通過傳送數(shù)據(jù)的消息中的混合數(shù) 據(jù)類型對(duì)象來判斷該消息中的數(shù)據(jù)類型是否與所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型相匹配; 對(duì)于混合數(shù)據(jù)類型能直接表示的值,混合數(shù)據(jù)類型對(duì)象中保存的就是所需的數(shù)據(jù),不進(jìn)行 轉(zhuǎn)換;對(duì)于混合數(shù)據(jù)類型不能表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值, 將該字符串值轉(zhuǎn)換為所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型。本發(fā)明通過所述混合數(shù)據(jù)類型提供對(duì)XML壓縮數(shù)據(jù)的流式讀取接口。在混合數(shù)據(jù) 類型表示中,對(duì)XML結(jié)構(gòu)信息和某些類型的數(shù)據(jù),直接傳遞讀取的原始?jí)嚎s數(shù)據(jù),從而節(jié)省 了 XML結(jié)構(gòu)數(shù)據(jù)和XML數(shù)據(jù)到字符串表示的轉(zhuǎn)換,也節(jié)省了對(duì)字符串表示的解析,并且還節(jié) 省了解壓縮后XML數(shù)據(jù)的存儲(chǔ)消耗。在對(duì)混合數(shù)據(jù)類型消息序列進(jìn)行處理的過程中,僅通 過數(shù)字比較就可實(shí)現(xiàn)現(xiàn)有技術(shù)中字符串的比較和查找操作。通過這些方法,減少了字符串 操作所帶來的計(jì)算機(jī)資源占用。
圖IA為顯示根據(jù)本發(fā)明的混合數(shù)據(jù)類型在C語言中的一種實(shí)現(xiàn)結(jié)構(gòu)的示意圖;圖IB為幾種常見數(shù)據(jù)類型使用混合數(shù)據(jù)類型的表示方法的示意圖;圖2A為根據(jù)現(xiàn)有技術(shù)的讀取XML壓縮數(shù)據(jù)的方法的示意性流程圖;圖2B為根據(jù)現(xiàn)有技術(shù)的XML SAX消息序列處理方法的示意圖;圖3A為根據(jù)本發(fā)明的XML壓縮數(shù)據(jù)流式讀取方法的示意性流程圖;圖;3B為根據(jù)本發(fā)明的混合數(shù)據(jù)類型消息序列處理方法的示意性流程圖。
具體實(shí)施例方式本發(fā)明主要應(yīng)用于將XML結(jié)構(gòu)與數(shù)據(jù)分離壓縮的XML壓縮數(shù)據(jù),其主要技術(shù)構(gòu)思 是基于一種混合數(shù)據(jù)類型來提供對(duì)XML壓縮數(shù)據(jù)的流式讀取方式及其相應(yīng)的數(shù)據(jù)處理,以 減少讀取XML壓縮數(shù)據(jù)時(shí)先解壓再解析過程中字符串操作所帶來的計(jì)算機(jī)資源消耗,提高 程序運(yùn)行效率。以下將結(jié)合附圖和實(shí)施例對(duì)根據(jù)本發(fā)明的處理XML壓縮數(shù)據(jù)的方法及其裝 置進(jìn)行詳細(xì)說明。
在本發(fā)明中,定義一種混合數(shù)據(jù)類型,采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)”的方式表示XML 壓縮數(shù)據(jù)中的XML結(jié)構(gòu)信息和XML數(shù)據(jù),在程序接口之間直接傳遞多種類型的數(shù)據(jù),減少 字符串類型的使用。具體地,在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記表示各種數(shù)據(jù)類型,數(shù) 據(jù)存儲(chǔ)部分存儲(chǔ)數(shù)據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中直接存儲(chǔ)其原始?jí)嚎s數(shù) 據(jù),對(duì)于字符串?dāng)?shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算機(jī)內(nèi)存中的地址的指針。圖IA是顯示根據(jù)本發(fā)明的混合數(shù)據(jù)類型在C語言中的一種實(shí)現(xiàn)結(jié)構(gòu)的示意圖。如 圖IA所示,整個(gè)混合類型數(shù)據(jù)結(jié)構(gòu)分為兩個(gè)部分101是長(zhǎng)度為1字節(jié)的數(shù)據(jù)類型標(biāo)記,最 多可以區(qū)分256種不同的數(shù)據(jù)類型;102是數(shù)據(jù)存儲(chǔ)部分,幾種不同大小的具體數(shù)據(jù)類型共 享8字節(jié)的存儲(chǔ)空間。圖IB中列舉了幾種常見數(shù)據(jù)類型使用混合數(shù)據(jù)類型的表示方法,如圖IB所示整 型數(shù)據(jù)使用N作為數(shù)據(jù)類型標(biāo)記,整型值占用數(shù)據(jù)存儲(chǔ)部分的4字節(jié);再比如雙精度浮點(diǎn)型 數(shù)據(jù)使用D作為數(shù)據(jù)類型標(biāo)記,并占用數(shù)據(jù)存儲(chǔ)部分的8字節(jié);對(duì)于字符串?dāng)?shù)據(jù),由于字符 串長(zhǎng)度是不固定的,因此數(shù)據(jù)存儲(chǔ)部分只存儲(chǔ)一個(gè)占4字節(jié)(32位操作系統(tǒng))或8字節(jié)(64 位操作系統(tǒng))的指針,指向計(jì)算機(jī)內(nèi)存中另外一個(gè)位置上存儲(chǔ)的字符串?dāng)?shù)據(jù)。從圖IA和圖IB可看出,所述混合數(shù)據(jù)類型在空間上是一段長(zhǎng)度固定的數(shù)據(jù),在時(shí) 間上直接傳遞特定數(shù)據(jù)類型,要快于先轉(zhuǎn)換為字符串表示再傳遞。而且,所述混合數(shù)據(jù)類型 在程序運(yùn)行時(shí)對(duì)計(jì)算機(jī)資源的占用很小。利用所述混合數(shù)據(jù)類型,本發(fā)明提供對(duì)XML壓縮數(shù)據(jù)的流式讀取方法,該方法將 XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象,從而產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列。從XML壓縮數(shù)據(jù)讀取包含混合數(shù)據(jù)類型對(duì)象的消息序列之后,對(duì)混合數(shù)據(jù)類型消 息序列進(jìn)行處理。具體包括根據(jù)讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象,查找對(duì)應(yīng)的數(shù)據(jù) 處理邏輯,并將混合數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)處理邏輯所需的數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)傳送給 該數(shù)據(jù)處理邏輯。在查找的過程中,通過傳送標(biāo)簽名和屬性名的消息中的混合數(shù)據(jù)類型對(duì) 象中的數(shù)字比較來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯,而不是如現(xiàn)有技術(shù)那樣進(jìn)行字符串的比較、 查找,從而可節(jié)省計(jì)算機(jī)資源占用。在轉(zhuǎn)換的過程中,通過傳送數(shù)據(jù)的消息中的混合數(shù)據(jù)類 型對(duì)象來判斷該消息中的數(shù)據(jù)類型是否與所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型相匹配,對(duì)于 混合數(shù)據(jù)類型能直接表示的值,混合數(shù)據(jù)類型對(duì)象中保存的就是所需的數(shù)據(jù),不進(jìn)行轉(zhuǎn)換, 對(duì)于混合數(shù)據(jù)類型不能表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值,進(jìn)行 字符串到所需數(shù)據(jù)類型的轉(zhuǎn)換,從而可節(jié)省數(shù)據(jù)類型轉(zhuǎn)換操作所帶來的計(jì)算機(jī)資源占用。以下,為了詳細(xì)說明本發(fā)明相對(duì)于現(xiàn)有技術(shù)的優(yōu)點(diǎn),首先參照?qǐng)D2A和圖2B描述現(xiàn) 有技術(shù)的一個(gè)實(shí)施例,然后參照?qǐng)D3A和圖;3B說明根據(jù)本發(fā)明的XML壓縮數(shù)據(jù)處理方法及 其對(duì)現(xiàn)有技術(shù)的改進(jìn)。在圖2A中,201、202是XML壓縮方法所使用的標(biāo)簽名字典和屬性名字典,使用一 個(gè)數(shù)字編號(hào)對(duì)應(yīng)于原始XML結(jié)構(gòu)中的一個(gè)標(biāo)簽名或?qū)傩悦?03是XML壓縮方法所使用的 枚舉值字典,使用一個(gè)數(shù)字編號(hào)對(duì)應(yīng)于XML中的一個(gè)枚舉值定義;204是XML壓縮數(shù)據(jù),在 本實(shí)施例中使用的是類似于XGrind的壓縮格式,如204所示,TOl表示編號(hào)為01的節(jié)點(diǎn)開 始,AOl表示編號(hào)為01的屬性,其后的數(shù)據(jù)是字符串類型的屬性值;A02之后的數(shù)值是直接 以4個(gè)字節(jié)的形式寫在XML壓縮文件中的單精度浮點(diǎn)值,轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù)是1234. 99 ; 同樣,T02表示編號(hào)為02的節(jié)點(diǎn)開始,A03之后的EOl表示編號(hào)為01的枚舉值,其后一行的“/”表示T02節(jié)點(diǎn)結(jié)束;T03之后的字符串?dāng)?shù)據(jù)是該XML節(jié)點(diǎn)的文本數(shù)據(jù),其后兩個(gè)“/”分 別表示T03和TOl對(duì)應(yīng)的節(jié)點(diǎn)結(jié)束。注意,在本實(shí)施例所使用的XML壓縮方法中,并沒有對(duì)XML中的文本數(shù)據(jù)進(jìn)行壓 縮,本實(shí)施例所描述的方法同樣適用于對(duì)文本進(jìn)行了壓縮的情況。步驟205是XML解壓縮過程,接受201、202、203、204作為輸入數(shù)據(jù),解壓縮為206 所示的XML數(shù)據(jù),具體過程是讀取204中的T01,根據(jù)201查詢到對(duì)應(yīng)的標(biāo)簽名,并轉(zhuǎn)換為字符串“<ftx)duCt>”;讀取204中的A01,根據(jù)202查詢到對(duì)應(yīng)的屬性名,再讀取其后的數(shù)據(jù),轉(zhuǎn)化為 字符串“Name = " Some Product" ”;同理,204中接下來的數(shù)據(jù)轉(zhuǎn)換為字符串“Price ="1234.99" ”,涉及到單精度浮點(diǎn)值到十進(jìn)制表示方式的轉(zhuǎn)換;204中的T02行、AOl行轉(zhuǎn)換方法同TOl、AOl行;讀取204中的A03 EOl,根據(jù)202查詢到對(duì)應(yīng)的屬性名,根據(jù)203查詢到對(duì)應(yīng)的枚 舉值,再生成字符串“Country = “ China",,;讀取204中的/,轉(zhuǎn)換為字符串‘‘〈/Manufacturer〉”,因?yàn)門02節(jié)點(diǎn)只包含屬性值, 因此該節(jié)點(diǎn)結(jié)尾字符串也可省略為‘‘/>” ;讀取204中的T03行及其后的數(shù)據(jù),并轉(zhuǎn)換為帶文本數(shù)據(jù)的節(jié)點(diǎn)“〈Detai 1 s>Product introduct ion. · ·,,;204中最后的兩個(gè)/分別對(duì)應(yīng)于T03和TOl節(jié)點(diǎn)的結(jié)束,轉(zhuǎn)換為“〈/Details〉”和 "</Product>"0步驟207使用現(xiàn)有的XML SAX讀取方法,把206解析為208所示的SAX消息序列, 在208中,所有消息中的值都是以字符串形式傳遞的。 現(xiàn)有技術(shù)對(duì)SAX消息序列的處理方法如圖2B所示。步驟211接收一條SAX消息,根據(jù)消息類型,分派到步驟212-214處理;步驟212、 213,214中要對(duì)標(biāo)簽名、屬性名做字符串匹配,以查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯;在步驟215中, 把207中的字符串形式的值轉(zhuǎn)化為所需數(shù)據(jù)類型,然后在步驟216中,具體的處理邏輯使用 轉(zhuǎn)換后的數(shù)據(jù)。由圖2A和圖2B的描述可以看出,現(xiàn)有的處理XML壓縮數(shù)據(jù)的方法存在以下不足 步驟205中的數(shù)據(jù)格式轉(zhuǎn)換、字符串操作帶來的計(jì)算機(jī)資源占用;解壓出的206對(duì)計(jì)算機(jī)存 儲(chǔ)資源的占用;212、213、214中字符串比較操作的計(jì)算機(jī)資源占用;215中字符串形式轉(zhuǎn)到 所需數(shù)據(jù)類型帶來的計(jì)算機(jī)資源占用。針對(duì)現(xiàn)有方法的不足,下面以圖3A、圖;3B描述本發(fā)明的XML壓縮數(shù)據(jù)流式讀取方 法,并分析本發(fā)明對(duì)現(xiàn)有方法的改進(jìn)。圖3A為根據(jù)本發(fā)明的XML壓縮數(shù)據(jù)流式讀取方法的示意性流程圖。如圖3A所示,輸入數(shù)據(jù)只有204所示的XML壓縮數(shù)據(jù),不需要201、202和203所 示的字典;輸出數(shù)據(jù)302類似于圖2 (現(xiàn)有方法)中208所示的SAX消息序列,但是對(duì)XML 結(jié)構(gòu)和值的表示都是采用混合數(shù)據(jù)類型,而不是208中的字符串形式。步驟301是XML壓縮數(shù)據(jù)的流式讀取過程,直接將204讀取為302所示的消息序 列,具體過程如下204中的TOl直接轉(zhuǎn)換為一條startElement消息,標(biāo)簽名用一個(gè)類型為N、值為數(shù)
8字01的混合數(shù)據(jù)類型對(duì)象表示;同理,204中的AOl和其后的數(shù)據(jù)轉(zhuǎn)換為一條attribute 消息,屬性名表示成類型為N、值為01的混合數(shù)據(jù)類型對(duì)象,屬性值表示成類型為S、值為字 符串〃 Some Product"的混合數(shù)據(jù)類型對(duì)象;同理,204中的A02和其后的數(shù)據(jù)轉(zhuǎn)換為一 條attribute消息,其屬性值表示成類型為F、值為單精度浮點(diǎn)數(shù)0x449A5FAE的混合數(shù)據(jù) 類型對(duì)象,這里并不需要浮點(diǎn)數(shù)到字符串的數(shù)據(jù)類型轉(zhuǎn)換;204中的枚舉值EOl直接轉(zhuǎn)換為 類型為E、值為01的混合數(shù)據(jù)類型對(duì)象;204中T03節(jié)點(diǎn)的文本數(shù)據(jù)轉(zhuǎn)換為類型為S、值為 該段字符串在計(jì)算機(jī)中的內(nèi)存地址的混合數(shù)據(jù)類型對(duì)象;204中最后的兩個(gè)/轉(zhuǎn)換為兩條 endElement消息,標(biāo)簽名也同樣是把數(shù)字轉(zhuǎn)換為混合數(shù)據(jù)類型表示。從以上可看出,對(duì)于表示XML結(jié)構(gòu)信息的標(biāo)簽名和屬性名,不轉(zhuǎn)換為字符串表示, 而是轉(zhuǎn)換為整數(shù)型混合數(shù)據(jù)類型對(duì)象,在整數(shù)型混合數(shù)據(jù)類型對(duì)象中,保留其原始?jí)嚎s數(shù) 據(jù),即為原始數(shù)字編號(hào)。這樣,通過相應(yīng)的消息,直接把結(jié)構(gòu)信息的類型和壓縮后的結(jié)構(gòu)信 息數(shù)據(jù)提供給后續(xù)處理,后續(xù)處理不經(jīng)過解析XML字符串,直接使用XML結(jié)構(gòu)信息。對(duì)XML中的基本數(shù)據(jù)類型,如整數(shù)、浮點(diǎn)數(shù)、布爾、日期等數(shù)據(jù)類型,以及對(duì)經(jīng)過 XML壓縮方法特殊處理過的數(shù)據(jù)類型,如枚舉類型,在讀取壓縮過的原始數(shù)據(jù)后,不轉(zhuǎn)換為 字符串表示,而是直接轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象,在該混合數(shù)據(jù)類型對(duì)象中,保留其原始?jí)?縮數(shù)據(jù),即為原始枚舉值數(shù)字編號(hào),后續(xù)處理不經(jīng)過字符串解析,直接使用原始數(shù)據(jù)。對(duì)XML中的字符串類型數(shù)據(jù),以及壓縮方法沒有做特殊處理的非預(yù)定義類型,在 讀取壓縮過的原始數(shù)據(jù)后,解壓為字符串表示,并轉(zhuǎn)換為混合數(shù)據(jù)類型,后續(xù)處理自行解析 字符串?dāng)?shù)據(jù)。圖;3B為根據(jù)本發(fā)明的混合數(shù)據(jù)類型消息序列處理方法的示意性流程圖,如圖:3B 所示步驟311接收到一條混合數(shù)據(jù)類型消息,根據(jù)消息類型分派到步驟312、313、314 處理;由于消息中標(biāo)簽名和屬性名是以數(shù)字形式表示的,所以步驟312、313、314通過傳 送標(biāo)簽名和屬性名的消息中的混合數(shù)據(jù)類型對(duì)象中的數(shù)字比較來查找對(duì)應(yīng)的數(shù)據(jù)處理邏 輯;步驟315通過傳送數(shù)據(jù)的消息中的混合數(shù)據(jù)類型對(duì)象來判斷該消息中的數(shù)據(jù)類 型是否與所需數(shù)據(jù)類型相匹配,對(duì)于混合數(shù)據(jù)類型能直接表示的值,混合數(shù)據(jù)類型對(duì)象中 保存的就是所需的數(shù)據(jù),這一步不做任何處理,直接由步驟216使用數(shù)據(jù);對(duì)于混合數(shù)據(jù)類 型不能表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值,需要將該字符串值轉(zhuǎn) 換為所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型;步驟216中查找到的處理邏輯使用轉(zhuǎn)換的數(shù)據(jù)。由圖3A和圖;3B的描述可以看出,本發(fā)明的XML壓縮數(shù)據(jù)流式讀取方法比現(xiàn)有方 法的改進(jìn)在于省略了 201、202和203所示的數(shù)據(jù);省略了步驟205中的數(shù)據(jù)格式轉(zhuǎn)換和字 符串操作;省略了 206中字符串的計(jì)算機(jī)存儲(chǔ)資源占用;步驟212、213、214中的字符串比 較改進(jìn)為數(shù)字比較,節(jié)省了計(jì)算機(jī)資源占用;對(duì)大部分的數(shù)據(jù)類型,步驟315比步驟215能 夠節(jié)省數(shù)據(jù)類型轉(zhuǎn)換帶來的計(jì)算機(jī)資源占用。此外,由圖;3B和圖2B的比較還可以看出,本發(fā)明的混合數(shù)據(jù)類型消息序列處理流 程和現(xiàn)有的XML SAX消息序列處理流程類似,現(xiàn)有應(yīng)用程序中的XML SAX消息處理流程易
9于修改為使用本發(fā)明的XML流式讀取方法。相應(yīng)地,本發(fā)明提供一種流式讀取接口。該流式讀取接口通過將XML壓縮數(shù)據(jù)轉(zhuǎn) 換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列,具體操作與上述流式讀 取方式相同,省略其描述。相比于公知的XML讀取方法中的SAX接口,該流式讀取接口對(duì)于XML壓縮數(shù)據(jù)中 的XML結(jié)構(gòu)信息和XML數(shù)據(jù)的讀取的改進(jìn)之處在于讀取XML壓縮數(shù)據(jù)中的結(jié)構(gòu)信息后,不 轉(zhuǎn)換為字符串表示,直接把結(jié)構(gòu)信息的類型和壓縮后的結(jié)構(gòu)信息數(shù)據(jù)提供給該接口的使用 者,所述接口的使用者不經(jīng)過解析XML字符串,直接使用XML結(jié)構(gòu)信息;對(duì)XML中的基本數(shù) 據(jù)類型,如整數(shù)、浮點(diǎn)數(shù)、布爾、日期等數(shù)據(jù)類型,以及對(duì)經(jīng)過XML壓縮方法特殊處理過的數(shù) 據(jù)類型,如枚舉類型,程序在讀取壓縮過的原始數(shù)據(jù)后,不轉(zhuǎn)換為字符串表示,而是直接轉(zhuǎn) 換為混合數(shù)據(jù)類型,通過所述流式讀取接口提供給該接口的使用者,所述接口的使用者不 經(jīng)過字符串解析,直接使用原始數(shù)據(jù);對(duì)XML中的字符串類型數(shù)據(jù),以及壓縮方法沒有做特 殊處理的非預(yù)定義類型,程序在讀取壓縮過的原始數(shù)據(jù)后,解壓為字符串表示,并轉(zhuǎn)換為混 合數(shù)據(jù)類型,通過所述流式讀取接口提供給該接口的使用者,所述接口的使用者自行解析 字符串?dāng)?shù)據(jù)。相應(yīng)地,本發(fā)明提供一種用于快速處理XML壓縮數(shù)據(jù)的裝置。該裝置包括流式讀 取接口,通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消 息序列;消息序列處理單元,根據(jù)從流式讀取接口讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象, 查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯,將該混合數(shù)據(jù)類型對(duì)象中的混合數(shù)據(jù)轉(zhuǎn)換為該數(shù)據(jù)處理邏輯所 需的數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)傳送給該數(shù)據(jù)處理邏輯。流式讀取接口和消息序列處理單元的 操作與上述參照?qǐng)D3A和圖:3B所描述的方法步驟相同,省略其描述。從以上結(jié)合實(shí)施例的描述可看出,相比于現(xiàn)有的讀取XML壓縮數(shù)據(jù)的方法而言, 通過所述混合數(shù)據(jù)類型,對(duì)XML結(jié)構(gòu)信息和某些類型的數(shù)據(jù),直接傳遞讀取的原始?jí)嚎s數(shù) 據(jù),節(jié)省了對(duì)計(jì)算機(jī)存儲(chǔ)資源的占用。具體表現(xiàn)在以下幾個(gè)方面通過所述對(duì)XML結(jié)構(gòu)信息的流式讀取,節(jié)省了 XML結(jié)構(gòu)信息到字符串表示的轉(zhuǎn)換, 也節(jié)省了 XML解析器對(duì)XML結(jié)構(gòu)信息字符串的解析;同時(shí),壓縮后的結(jié)構(gòu)信息表示一般是數(shù) 值類型(編號(hào)),數(shù)值比較的計(jì)算量非常小,有利于XML解析器的高效實(shí)現(xiàn)。這種方法能節(jié) 省讀取XML壓縮數(shù)據(jù)時(shí)的計(jì)算機(jī)時(shí)間資源占用;通過所述對(duì)XML壓縮數(shù)據(jù)的流式讀取,不需要先解壓為XML的字符串表示,整個(gè)數(shù) 據(jù)讀取過程所占用的存儲(chǔ)空間與XML數(shù)據(jù)大小無關(guān),節(jié)省了讀取XML壓縮數(shù)據(jù)時(shí)的計(jì)算機(jī) 存儲(chǔ)資源占用;所述對(duì)XML中基本數(shù)據(jù)類型(比如,XPRESS中的xschfloat類型數(shù)據(jù)),以及對(duì)經(jīng) 過XML壓縮方法特殊處理過的數(shù)據(jù)類型的讀取過程,節(jié)省了多次數(shù)據(jù)表示方式轉(zhuǎn)換對(duì)計(jì)算 機(jī)資源的占用;所述XML壓縮數(shù)據(jù)的流式讀取方法,其接口使用方式與公知的XML讀取方法中的 SAX方法相似,可以方便與現(xiàn)有的使用SAX解析方法的程序兼容;在該接口之上,方便實(shí)現(xiàn) DOM、XPath等其他公知的XML讀取方法接口。以上參考實(shí)施例描述了本發(fā)明。但是,本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明不限于 所公開的實(shí)施例,在不脫離本發(fā)明的基本原理的情況下,任何類似的修改、替換或變形都應(yīng)包括在本發(fā)明的保護(hù)范圍內(nèi),本發(fā)明的保護(hù)范圍由權(quán)利要求限定。
權(quán)利要求
1.一種快速讀取XML壓縮數(shù)據(jù)的方法,其特征在于,通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息 序列,其中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式表示XML壓縮數(shù) 據(jù)中的XML結(jié)構(gòu)信息和XML數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記表 示各種數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)數(shù)據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中直 接存儲(chǔ)其原始?jí)嚎s數(shù)據(jù),對(duì)于字符串?dāng)?shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算機(jī) 內(nèi)存中的地址的指針。
3.一種快速處理XML壓縮數(shù)據(jù)的方法,包括通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息 序列;根據(jù)讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯;根據(jù)讀取的消息序列中的混合類型對(duì)象將該對(duì)象的數(shù)據(jù)轉(zhuǎn)換為所述數(shù)據(jù)處理邏輯所 需的數(shù)據(jù)類型,并將轉(zhuǎn)換的數(shù)據(jù)傳送給該數(shù)據(jù)處理邏輯,其中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式表示XML壓縮數(shù) 據(jù)中的XML結(jié)構(gòu)信息和XML數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記表 示各種數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)數(shù)據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中直 接存儲(chǔ)其原始?jí)嚎s數(shù)據(jù),對(duì)于字符串?dāng)?shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算機(jī) 內(nèi)存中的地址的指針。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述查找步驟包括通過傳送標(biāo)簽名和屬性名的消息中的混合數(shù)據(jù)類型對(duì)象中的數(shù)字比較來查找對(duì)應(yīng)的 數(shù)據(jù)處理邏輯。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述轉(zhuǎn)換步驟包括通過傳送數(shù)據(jù)的消息中的混合數(shù)據(jù)類型對(duì)象來判斷該消息中的數(shù)據(jù)類型是否與所述 數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型相匹配;對(duì)于混合數(shù)據(jù)類型能直接表示的值,混合數(shù)據(jù)類型對(duì)象中保存的就是所需的數(shù)據(jù),不 進(jìn)行轉(zhuǎn)換;對(duì)于混合數(shù)據(jù)類型不能表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值, 將該字符串值轉(zhuǎn)換為所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型。
7.一種用于快速讀取XML壓縮數(shù)據(jù)的流式讀取接口,其特征在于,通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息 序列,其中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式表示XML壓縮數(shù) 據(jù)中的XML結(jié)構(gòu)信息和XML數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的接口,其特征在于,在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記表 示各種數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)數(shù)據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中直 接存儲(chǔ)其原始?jí)嚎s數(shù)據(jù),對(duì)于字符串?dāng)?shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算機(jī)內(nèi)存中的地址的指針。
9.一種用于快速處理XML壓縮數(shù)據(jù)的裝置,包括流式讀取接口,通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類 型對(duì)象的消息序列;消息序列處理單元,根據(jù)從流式讀取接口讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象,查 找對(duì)應(yīng)的數(shù)據(jù)處理邏輯,將該混合數(shù)據(jù)類型對(duì)象中的混合數(shù)據(jù)轉(zhuǎn)換為該數(shù)據(jù)處理邏輯所需 的數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)傳送給該數(shù)據(jù)處理邏輯,其中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式表示XML壓縮數(shù) 據(jù)中的XML結(jié)構(gòu)信息和XML數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,在所述混合數(shù)據(jù)類型中,數(shù)據(jù)類型標(biāo)記 表示各種數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)部分存儲(chǔ)數(shù)據(jù),具體地,對(duì)于數(shù)字型數(shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中 直接存儲(chǔ)其原始?jí)嚎s數(shù)據(jù),對(duì)于字符串?dāng)?shù)據(jù),在數(shù)據(jù)存儲(chǔ)部分中存儲(chǔ)指向該字符串在計(jì)算 機(jī)內(nèi)存中的地址的指針。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述消息序列處理單元執(zhí)行以下操作 通過傳送標(biāo)簽名和屬性名的消息中的混合數(shù)據(jù)類型對(duì)象中的數(shù)字比較來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯;通過傳送數(shù)據(jù)的消息中的混合數(shù)據(jù)類型對(duì)象來判斷該消息中的數(shù)據(jù)類型是否與所述 數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型相匹配;對(duì)于混合數(shù)據(jù)類型能直接表示的值,混合數(shù)據(jù)類型對(duì)象中保存的就是所需的數(shù)據(jù),不 進(jìn)行轉(zhuǎn)換;對(duì)于混合數(shù)據(jù)類型不能表示的值,存儲(chǔ)在混合數(shù)據(jù)類型對(duì)象中的是原始的字符串值, 將該字符串值轉(zhuǎn)換為所述數(shù)據(jù)處理邏輯所需的數(shù)據(jù)類型。
全文摘要
本發(fā)明提供一種快速讀取XML壓縮數(shù)據(jù)的方法及其接口,其通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列,其中,所述混合數(shù)據(jù)類型采用“數(shù)據(jù)類型標(biāo)記+數(shù)據(jù)存儲(chǔ)部分”的方式。相應(yīng)地,提供一種快速處理XML壓縮數(shù)據(jù)的方法及其裝置,其通過將XML壓縮數(shù)據(jù)轉(zhuǎn)換為混合數(shù)據(jù)類型對(duì)象來產(chǎn)生包含混合數(shù)據(jù)類型對(duì)象的消息序列;根據(jù)讀取的消息序列中的混合數(shù)據(jù)類型對(duì)象來查找對(duì)應(yīng)的數(shù)據(jù)處理邏輯和轉(zhuǎn)換混合數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)傳送給查找到的數(shù)據(jù)處理邏輯。本發(fā)明通過混合數(shù)據(jù)類型和流式讀取接口,對(duì)XML結(jié)構(gòu)信息和某些類型的數(shù)據(jù),直接傳遞讀取的原始?jí)嚎s數(shù)據(jù),從而節(jié)省了字符串操作所帶來的運(yùn)算消耗和存儲(chǔ)消耗。
文檔編號(hào)G06F17/30GK102073663SQ20091023825
公開日2011年5月25日 申請(qǐng)日期2009年11月24日 優(yōu)先權(quán)日2009年11月24日
發(fā)明者仇睿恒, 張磊, 王曉磊, 王毅 申請(qǐng)人:北京北大方正技術(shù)研究院有限公司, 北京大學(xué), 北大方正集團(tuán)有限公司