新四季網

一種xml數據的壓縮與解壓縮方法及裝置的製作方法

2023-10-09 00:04:39 9

專利名稱:一種xml數據的壓縮與解壓縮方法及裝置的製作方法
背景技術:
本發明涉及一種數據壓縮與解壓縮的方法和裝置,尤其涉及一種XML(Extensible MarkupLanguage,可擴展的升級語言)數據壓縮與解壓縮的方法和裝置。
XML是一種文本格式,它在數據交換中正越來越普遍。越來越多的標準,例如多媒體領域、MPEG-7和TV-Anytime,都使用XML文本格式表示數據。
XML是一種冗長的格式,即XML表示數據和結構的方式導致一個相對較大的文本。因此,為了傳輸或者儲存,需要仔細考慮數據壓縮。最普通的壓縮方法是Zlib,如大家都很熟悉的zip(.zip文件)和gzip(.gz文件),它是基於霍夫曼、LZ77或兩者。
現有技術中,壓縮裝置對XML數據進行壓縮,然後將壓縮的XML數據傳送給解壓縮裝置,解壓縮裝置對壓縮的XML數據進行解壓並進行分析。
圖1是現有技術的一個壓縮器的結構示意圖。壓縮器100(compressor)包括LZ77編碼器102、霍夫曼編碼器104和塊打包器106(block wrapping),壓縮器100根據Zlib格式對XML數據進行壓縮。
壓縮器100首先接收XML數據,LZ77編碼器102根據LZ77算法對XML數據進行編碼,產生一束代碼字(codeword)和字符(literals)。該字符包含來自XML數據中不能壓縮的字節,一個代碼字可以將XML數據中以前就已經遇到過的,也就是多餘的數據轉換成一序列的字節。典型的代碼字包含長度和間距,該長度是以前遇到過序列的長度,間距是從字節中序列的開端到當前字節的間距。
霍夫曼編碼器104對代碼字和字符進行霍夫曼編碼,輸出一序列不同長度的代碼,並產生一個霍夫曼列表。
塊打包器106從霍夫曼編碼器104得到霍夫曼列表,將數據打包成塊,每個塊可以使用不同的霍夫曼列表或者甚至完全不用LZ77編碼和霍夫曼編碼。這裡打包有3種可能性旁路壓縮、使用默認的霍夫曼列表、使用常規的霍夫曼列表,這3種可能性是基於如實際的壓縮率和平均信息量。每個塊都以一個塊首(block header)開始。最後輸出壓縮的XML數據,並發送給解壓縮裝置。
圖2是現有技術的一個解壓縮裝置中解壓縮器和分析器的結構示意圖。解壓器(decompressor)200對壓縮的XML數據進行解壓,獲得XML數據。解壓器200包括塊首解碼器(block header decoding)202、霍夫曼解碼器(Huffman decoding)204和LZ77解碼器(LZ77 decoding)206。
塊首解碼器202對壓縮的XML數據進行解碼,獲得一個霍夫曼列表及不同長度的代碼和/或字符,霍夫曼解碼器204再對壓縮的XML數據進行解碼,獲得代碼字和字符,最後輸入LZ77解碼器206進行解碼,獲得XML數據。
分析器210帶有用於XML數據的簡單應用程式接口(SAX),用於對XML數據進行SAX分析,獲得事件類型(Event_Type)和事件數據(Event_Data)。這裡的SAX實際上是對XML數據處理的標準,它非常簡單,所以非常快。SAX按序處理XML數據,所以與基於Zlib的按序解壓器200非常匹配。SAX是基於事件的概念,事件是為在按序處理XML數據期間,SAX分析遇到的實體而產生的。通過出現的事件類型來指示分析器210事件的類型,這樣分析器210可以相應地對事件數據進行分析處理,得到分析後的XML數據。
這裡在SAX分析之前,系統只是將XML數據作為一序列的字符(即壓縮器不假定數據的特性)。而在SAX分析之後,不同的XML實體例如元素和非元素(字符)就被區分開來。因此,SAX分析後的輸出並不包含單個的字符,而是一序列的事件,每個事件對應一個實體,這個實體由XML數據中許多不同的字符所構成。
由於現有技術中,從一個大的壓縮文件中重獲特殊的數據對於接收機來說是一種負擔,但在大XML數據上完成壓縮比在小XML數據上壓縮要好,尤其在帶寬昂貴(如廣播)的域中,壓縮效率最佳化是非常重要的。進一步,如果目標接收機沒有存儲,那麼不可能在一個資料庫中以一個解壓格式保存全部的數據,它最多將數據以壓縮格式保存或者一直等到數據再次傳送。所以現有技術中帶有大量資源,如大存儲能力,的裝置不能直接對大XML文件進行操作。且帶有有限資源,如小存儲能力的裝置更不能以解壓格式或者資料庫格式儲存數據,它們只能夠在壓縮文件的基礎上重新獲得數據。

發明內容
本發明針對現有技術中存在的問題,提供了一種用於XML數據壓縮和解壓縮方法和裝置。
本發明提供了一種XML數據的壓縮的方法,首先,接收XML數據,對XML數據進行編碼;然後,將編碼後的XML數據處理打包成數個數據塊;最後,在所述數個數據塊之間插入指示數據,得到壓縮的XML數據,該指示數據用於識別特定的數據。
本發明提供了另一種XML數據的壓縮的方法,首先,接收XML數據;然後,插入指示數據到XML數據中,該指示數據用於識別特定的數據;最後,對含有指示數據的XML數據進行壓縮,以得到壓縮後的XML數據。
本發明提供了一種XML數據的解壓縮的方法,首先,接收壓縮後的XML數據,該壓縮後的XML數據含有指示數據;然後,解壓縮該壓縮後的XML數據,並在該解壓縮過程中獲得所述的指示數據;最後,根據該指示數據將解壓縮後的對應的XML數據丟棄。
本發明提供了另一種XML數據的解壓縮的方法,首先,解壓縮該壓縮後的XML數據,以得到解壓縮後的XML數據;然後,從所述的解壓縮後的XML數據獲得一個指示數據,該指示數據用於識別特定的數據;最後,根據該指示數據將對應的解壓縮後的XML數據丟棄。
本發明通過避免分析XML數據中不相關的數據,從而可以加速分析的過程,這樣就使接收器的工作加速;由於只對XML數據中相關部分進行處理,所以就可以處理較大的XML數據。而所有要傳輸的XML信息就可以被分割成較大XML數據中的一小塊數據,這要遠比處理小XML數據中一大塊的數據好的多,因為前者使用Zlib進行壓縮比後者要好的多,所以可節約帶寬。
通過參照結合附圖所進行的如下描述和權力要求,本發明的其它目的和成就將是顯而易見的,並對本發明也會有更為全面的理解。


本發明通過實例的方式,參照附圖進行詳盡的解釋,其中圖1是現有技術的一個壓縮器的結構示意圖;圖2是現有技術的一個解壓縮裝置中解壓縮器和分析器的結構示意圖;圖3是根據本發明的一個實施例的壓縮裝置的結構框圖;圖4是根據本發明的一個實施例的壓縮方法的流程圖;圖5是根據本發明的一個實施例的解壓縮裝置的結構示意圖;圖6是根據本發明的一個實施例的解壓縮方法的流程圖;圖7是根據本發明的另一個實施例的壓縮裝置的結構框圖;圖8是根據本發明的另一個實施例的壓縮方法的流程圖;圖9是根據本發明的另一個實施例的解壓縮裝置的結構框圖;圖10是根據本發明的另一個實施例的解壓縮方法的流程圖;在所有的附圖中,相同的參照數字表示相似的或相同的特徵和功能。
具體實施例方式
圖3是根據本發明一個實施例的壓縮器結構框圖,該壓縮器100包括一個LZ77編碼器102,一個霍夫曼編碼器104,一個塊打包器106和一個插入指示數據塊裝置302。
所述LZ77編碼器102,用於對XML數據進行LZ77編碼,還可作為接收裝置,用於接收XML數據。霍夫曼編碼器104,用於對經過LZ77編碼的XML數據進行霍夫曼編碼,同時提供霍夫曼列表。LZ77編碼器102和霍夫曼編碼器104可以一起構成編碼裝置,用於對XML數據進行編碼。
塊打包器106,用於根據霍夫曼列表將經過霍夫曼編碼後的XML數據打包成數個數據塊,每個數據塊的塊首有部分霍夫曼列表。
插入指示數據塊裝置302,用於根據霍夫曼列表將指示數據插入所述數據塊之間,以得到壓縮後的XML數據,該指示數據用於識別特定的數據。所述的指示數據是位於一個空數據塊中。
圖4是根據本發明一個實施例的壓縮方法的流程圖,首先接收XML數據(步驟S402),例如,接收的XML數據為EntryWordAback/WordDefinitionsaldiufhcnw/Definition/Entry........
然後對XML數據進行編碼,包括進行LZ77編碼(步驟S404)和進行霍夫曼編碼(步驟S406)。XML數據經過LZ77編碼(步驟S404)後,得到一束代碼字(codeword)和字符(literals),這裡的代碼字就是XML數據中重複的字符「Word」,它的長度為5,它的距離即第一個「Word」到下一個「Word」之間的間隔為12。字符就是其他不能被壓縮的字符,例如「Aback」等等。
對XML數據進行霍夫曼編碼(步驟S406),獲得不同長度的代碼,同時產生霍夫曼列表。例如20個字符『E』『n』『t』『r』『y』『』『』『W』『o』『r』『d』『』『A』『b』『a』『c』『k』『』『/』,經過霍夫曼編碼後得到20個不同長度的代碼為十六進位的6C 75 9E A4A2 A9 6E 6C 87 9F A2 94 6E 71 92 91 93 9B 6C 5F。
根據霍夫曼列表將經過霍夫曼編碼的XML數據進行塊打包,打包成數個數據塊(步驟S408)。例如將以字母『A』開頭的單詞打包在一個數據塊,將以字母『B』開頭的單詞打包在下一個數據塊,依次排序,得到數個數據塊。
插入指示數據到塊打包後的XML數據塊之間(步驟S410),以得到壓縮後的XML數據(步驟S412),該指示數據用於識別特定的數據,這裡特定的數據是所需要的數據,例如單詞『car』。
所述的指示數據是位於一個空數據塊中,且指示數據是位於一個空數據塊的塊首。
壓縮後的XML數據如表1所示

表1
從表1可以看出,數據塊0包含的內容與編碼後的XML數據「EntryWord」相對應,即6C 75 9E A4 A2 A9 6E 6C 87 9F A2 94 6E;數據塊1即指示數據塊的塊首插有指示數據『C』,該數據塊是空數據塊,沒有任何數據;數據塊2和數據塊3與數據塊0、1相似。數據塊4是以字母『C』開頭的單詞,該數據塊的內容就是與單詞「Car」相對應的字符,即和前述「6C75」等等相似的字符。
圖5是根據本發明一個實施例解壓縮裝置的結構示意圖,該裝置解壓縮裝置包括一個解壓縮器500,一個有限狀態機(finite state machine,FSM)510,一個檢測指示數據塊裝置508和一個分析器512。
解壓縮器500還包括一個塊首解碼器502,一個霍夫曼解碼器204和一個LZ77解碼器206。
塊首解碼器502用於對壓縮後的XML數據塊進行塊首解碼,在進行塊首解碼時每遇到一個新的數據塊,會產生一個數據塊信號,並將該信號發送給有限狀態機510。塊首解碼器502還用於找到一個空數據塊,並將該空數據塊提供給檢測指示數據塊裝置508。塊首解碼器502還用於產生霍夫曼列表,同時還可以作為接收裝置,接收壓縮後的XML數據。
霍夫曼解碼器204,用於根據霍夫曼列表對經過塊首解碼後的壓縮後的XML數據進行解碼。
LZ77解碼器206,用於對壓縮後的XML數據進行LZ77解碼,獲得XML數據。該壓縮後的XML數據含有指示數據。
檢測指示數據塊裝置508,用於從塊首解碼器502提供來的空數據塊的塊首中獲得指示數據,並發送給分析器512。所述解壓縮器500和檢測指示數據塊裝置508一起構成一個數據處理裝置,用於解壓縮該壓縮後的XML數據。
分析器512根據一個特定的條件修正該指示數據的內容,產生相應的跳躍信號,並發送給有限狀態機510,該特定的條件對應於分析器512的一個特定的應用,即分析器512需要的數據,例如單詞『car』。該指示數據的修正可有兩種結果,一種為執行該指示數據的內容,即相應的跳躍信號為要求有限狀態機510丟棄一些不相關的數據;另一種為略過該指示數據,即相應的跳躍信號內容為空。
有限狀態機510根據數據塊信號以及修正後的指示數據內容,即跳躍信號來丟棄該壓縮後的對應的XML數據。該分析器512和有限狀態機510一起構成丟棄裝置,用於根據該指示數據將該壓縮後的對應的XML數據丟棄。
圖6是根據本發明一個實施例的解壓縮方法的流程圖,首先接收壓縮的XML數據(步驟S602),該壓縮的XML數據包含指示數據塊。
然後解壓縮該壓縮的XML數據,包括對該壓縮的XML數據進行塊首解碼(步驟S604),從而找到一個空數據塊,並產生數據塊信號,例如對該數據塊1進行塊首解碼,就產生數據塊1的數據塊信號。
對指示數據塊進行檢測(步驟S606),如檢測到指示數據塊,例如對數據塊1的內容進行塊首解碼,得知該數據塊是空數據塊,那麼說明該數據塊是指示數據塊,則就從數據塊1的塊首獲得指示數據的內容(步驟S610),例如『C』。
如在步驟S606中未檢測到指示數據塊,則對下一個數據塊即數據塊2進行檢測,得知數據塊2不是指示數據塊,那麼就對其進行霍夫曼解碼(步驟S612),再進行LZ77解碼(步驟S614),獲得數據塊2的數據。
然後,根據指示數據的內容和分析器的內部狀態,即一個特定的條件,來判斷是否要產生跳躍信號(步驟S616),亦即根據一個特定的條件修正該指示數據的內容。該特定的條件是一個特定的應用,即分析器的內部狀態需要的數據,例如單詞『car』,然後根據指示數據『C』,對指示數據的內容進行修正,即產生一個跳躍信號,要求直接跳到「C」部分。
接下來,根據數據塊信號和跳躍信號丟棄不相關的數據塊(步驟S618),例如正在尋找單詞「Car」,那麼就判斷出「Car」是以字母『C』開頭後的單詞,出現在後面的數據塊中,所以產生跳越信號,將不相關的數據塊,即直到數據塊3的數據塊信號出現前的所有數據塊2的數據(「B」部分)丟棄。由於解壓縮後的XML數據不是塊結構,故需根據數據塊信號來控制每一個被丟棄的數據塊。
同理,按照前述方法,從數據塊3的塊首獲得指示數據內容『E』(610),同時獲得數據塊4的數據(步驟S614),然後根據指示數據『E』和正在尋找的單詞「Car」進行判斷(步驟S616),由於單詞「Car」是在以字母『E』開頭的單詞之前,所以,就不產生跳越信號,然後對相關的數據塊即數據塊4進行分析(步驟S620),最後獲得分析後的XML數據,例如單詞「Car」。
這裡對解壓縮後的對應的XML數據進行丟棄,是根據修正後的指示數據內容即跳躍信號來執行的。
如果在步驟S616中的判斷結果為否定,說明不需要進行丟棄,則,直接對相關的數據塊進行分析(步驟S620),並獲得分析後的XML數據(步驟S622)。
圖7是根據本發明另一個實施例的壓縮裝置的結構示意圖,該壓縮裝置包括一個分析器702,一個壓縮器100。
分析器702還包括一個定位裝置704,用於得到一組無用的數據作為指示數據標識,同時還作為接收裝置,接收XML數據;一個數據插入裝置,用於在特定數量的指示數據標識後插入相應的指示數據,將剩下的指示數據標誌以另一組無用的數據代替。無用的數據是下述數據之一制表標記、空格標記、回車標記等等。
壓縮器100,用於對插入指示數據的XML數據進行壓縮,得到壓縮的XML數據。
圖8是根據本發明另一個實施例的壓縮方法的流程圖,首先接收XML數據(步驟S802),例如XML數據是EntryWord→Aback/WordDefinitionsaldiufhcnw/Definition/Entry...
EntryWord→Car/WordDefinitionlzidnuvgrvgs/Definition/Entry...
然後對XML數據進行SAX分析, 找到XML數據中一組沒用的字符,例如可以是一組20個『→』(制表標記),還可以是空格標記、回車標記等等。將這一組沒用的字符『→』作為指示數據標識(步驟S806)。
將特定數量的指示數據標識『→』,如14個,後插入指示數據(步驟S808),例如『C』。再將剩下的『→』用其他沒用的數據替代(步驟S809),例如用空格替代。獲得的XML數據為EntryWord→!--C-Aback/WordDefinitionsaldiufhcnw/Definition/Entry...
EntryWord→!--E--Car/WordDefinitionlzidnuvgrvgs/Definition/Entry...
這裡,還可以對XML數據進行分析,以得到一組無用的數據,例如『→』(制表標記);再將特定數量的無用數據轉換為指示數據包;將所述的指示數據放入所述的指示數據包,獲得的XML數據如上所述。
然後再對包含指示數據的XML數據進行壓縮,也就是對包含指示數據的XML數據進行LZ77編碼(步驟S810);對經過LZ77編碼的XML數據進行霍夫曼編碼(步驟S812);將經過霍夫曼編碼的XML數據打包成數個數據塊(步驟S814);最後獲得壓縮的XML數據(步驟S816)。
這裡所述指示數據和數據塊標識在XML數據被壓縮以前插入XML數據。這裡插入的指示數據和數據塊標識對於解壓縮裝置是明顯的,也就是解壓縮裝置將利用它們來忽略一些數據,這樣就使解壓縮裝置的功能更加強大。
圖9是根據本發明另一個實施例中解壓縮裝置的示意圖,該解壓縮裝置包括一個解壓縮器200,一個檢測提取裝置904,一個有限狀態機510和一個分析器512。
解壓縮器200,用於對壓縮後的XML數據進行解壓,該壓縮後的XML數據含有指示數據,其中指示數據是插入於原始的XML數據中,同時解壓縮器200作為接收裝置,接收壓縮後的XML數據。
檢測提取裝置904,用於在解壓縮後的XML數據中找到一組指示數據標識,根據該指示數據標識獲得該指示數據,並將該指示數據發送給分析器512,同時檢測提取裝置904產生指示數據標識信號,並該將指示數據標識信號發送給有限狀態機510。解壓縮器200和檢測提取裝置904一起可構成數據處理裝置。
分析器512根據一個特定的條件修正該指示數據的內容,該特定的條件是一個特定的應用,即分析器512所需要的數據。然後對該指示數據的內容進行修正,產生相應的跳躍信號,並發送給有限狀態機510。
有限狀態機510根據指示數據標識信號以及修正後的指示數據內容即跳躍信號,來丟棄該壓縮後的對應的XML數據。該分析器512和有限狀態機510一起構成丟棄裝置,用於根據該指示數據將該壓縮後的對應的XML數據丟棄。
圖10是根據本發明另一個實施例的解壓縮方法的流程圖,首先接收壓縮的XML數據(步驟S1002),然後對壓縮後的XML數據進行解壓縮(步驟S1004),得到解壓縮後的XML數據。
從所述的解壓縮後的XML數據獲得一個指示數據,該指示數據用於識別特定的數據,具體步驟如下對XML數據中的指示數據標識,例如「→」,進行檢測(步驟S1006),如果檢測到,那麼就產生指示數據標識信號(步驟S1008)。
提取該數據塊標識後的指示數據(步驟S1009),例如「C」。
然後,根據指示數據的內容和分析器的內部狀態,即一個特定的條件,來判斷是否要產生跳躍信號(步驟S1010),即為根據一個特定的條件修正該指示數據的內容。也就是根據所述指示數據「C」以及一個特定應用,即分析器的內部狀態所需要的數據,判斷是否產生一個跳躍信號(skip signal)。例如正在尋找單詞『car』,那麼就判斷出「Car」是以字母『C』開頭後的單詞,出現在後面的數據塊中,所以產生跳越信號,要求將不相關的數據丟棄。
接下來,如果在步驟S1010中產生一個要求丟棄數據的跳躍信號,則根據數據塊信號和跳躍信號丟棄不相關的數據塊(步驟S1012),即將直到下一個指示數據標識信號出現前的所有數據丟棄,並回到步驟S1006繼續進行檢測判斷。
同理,按照前述方法在檢測到下一個數據塊標識時,即下一個「→」,就獲得其後面的指示數據內容『E』(步驟S1009)。然後根據所述指示數據「C」以及一個特定應用,即分析器的內部狀態所需要的數據,判斷是否產生一個跳躍信號(skip signal)(步驟S1010)。例如正在尋找單詞『car』,那麼就判斷出「Car」是以字母『E』開頭後的單詞之前,所以就不產生跳越信號,然後就對相關的XML數據塊進行分析(步驟S1014),最後獲得分析後的XML數據(步驟S1016),例如單詞『car』。
這裡對應的解壓縮後的XML數據丟棄,是根據修正後的指示數據內容,即跳躍信號來執行丟棄的。
如果在步驟S1006或步驟S1010的判斷結果是否定的,則直接對相關的數據塊進行分析(步驟S1014),並獲得分析後的XML數據(步驟S1016)。
從本發明實施例中可以看出,通過避免分析XML輸入數據中不相關的數據塊,從而可以加速分析的過程,這樣就使在接收端的工作加速;由於只對XML數據中相關部分進行處理,那麼就可以處理較大的XML數據輸入;所有要傳輸的XML信息就可以被分割成大XML數據中的一小塊數據,這要遠比處理小XML數據中一大塊的數據好的多,因為前者使用Zlib進行壓縮比後者要好的多,所以可節約帶寬。
本發明由於對較大XML輸入數據進行壓縮,所以可以有更好的壓縮。由於解壓縮裝置不必等待信息的重傳,所以在解壓縮裝置中的存儲器中壓縮的XML數據可以提供對信息較快的訪問。
本發明插入指示數據可與現有的壓縮標準/方案兼容,從而使得壓縮後的XML數據與現有的解壓縮裝置相兼容。
本發明將指示數據和XML數據作為一體,所以指示數據總是可以與XML數據的內容相匹配,即使在內容更新的情況下也是如此。本發明也不需要另外單獨給指示數據一個傳輸信道,這就節約了在一個單獨信道傳輸數據帶來的多餘開銷,而且插入XML數據時,指示數據也是被Zlib進行壓縮。
雖然經過對本發明結合具體實施例進行描述,對於在本技術領域熟練的人士,根據上文的敘述作出的許多替代、修改與變化是顯而易見的。因此,當這樣的替代、修改和變化落入附後的權利要求的精神和範圍之內時,應該被包括在本發明中。
權利要求
1.一種XML數據的壓縮方法,包括步驟a.接收XML數據;b.對XML數據進行編碼;c.對編碼後的XML數據進行塊打包;d.插入指示數據到塊打包後的XML數據塊之間,以得到壓縮後的XML數據,該指示數據用於識別特定的數據。
2.如權利要求1所述的方法,其中所述的指示數據是位於一個空數據塊中。
3.如權利要求2所述的方法,其中所述的指示數據是位於一個空數據塊的塊首。
4.一種XML數據的壓縮方法,包括步驟a.接收XML數據;b.插入指示數據到XML數據中,該指示數據用於識別特定的數據;c.對含有指示數據的XML數據進行壓縮,以得到壓縮後的XML數據。
5.如權利要求4所述的方法,其中步驟b包括步驟對所述的XML數據進行分析,以得到一組無用的數據作為指示數據標誌;在特定數量的指示數據標誌後插入相應的指示數據;將剩下的指示數據標誌以另一組無用的數據代替。
6.如權利要求4所述的方法,其中步驟b包括步驟對所述的XML數據進行分析,以得到一組無用的數據;轉換特定數量的所述無用數據為指示數據包;將所述的指示數據放入所述的指示數據包。
7.如權利要求5或6所述的方法,所述無用的數據是下述數據之一制表標記,空格標記和回車標記。
8.一種壓縮後的XML數據的解壓縮方法,包括步驟a.接收壓縮後的XML數據,該壓縮後的XML數據含有指示數據;b.解壓縮該壓縮後的XML數據,其中該步驟包括步驟(i)獲得所述的指示數據;c.根據該指示數據將解壓縮後的對應的XML數據丟棄。
9.如權利要求8所述的方法,其中所述的指示數據是位於一個空數據塊中。
10.如權利要求8所述的解壓縮方法,其中步驟b中的步驟i包括步驟對所述的壓縮後的XML數據進行塊首解碼,從而找到一個空數據塊;從該空數據塊的塊首中獲得該指示數據。
11.如權利要求8所述的解壓縮方法,還包括步驟根據一個特定的條件修正該指示數據的內容,其中步驟c根據修正後的指示數據內容來執行。
12.如權利要求8所述的解壓縮方法,所述丟棄的XML數據是對應於所述壓縮後的XML數據中特定的數據塊。
13.一種壓縮後的XML數據的解壓縮方法,包括步驟a.解壓縮該壓縮後的XML數據,以得到解壓縮後的XML數據;b.從所述的解壓縮後的XML數據獲得一個指示數據,該指示數據用於識別特定的數據;c.根據該指示數據將對應的解壓縮後的XML數據丟棄。
14.如權利要求13所述的解壓縮方法,其中所述的指示數據是插入於原始的XML數據中的。
15.如權利要求13所述的解壓縮方法,其中步驟b包括步驟在所述的XML數據找到一個指示數據標誌;根據該指示數據標誌獲得該指示數據。
16.如權利要求13所述的解壓縮方法,還包括步驟根據一個特定的條件修正該指示數據的內容,其中步驟c根據修正後的指示數據內容來執行。
17.一種XML數據的壓縮裝置,包括一個接收裝置,用於接收XML數據;一個編碼裝置,用於對XML數據進行編碼;一個塊打包裝置,用於對編碼後的XML數據進行塊打包;一個插入指示數據塊裝置,用於插入指示數據到塊打包後的XML數據之間,以得到壓縮後的XML數據,該指示數據用於識別特定的數據。
18.如權利要求17所述的裝置,所述的指示數據是位於一個空數據塊中。
19.一種XML數據的壓縮裝置,包括一個接收裝置,用於接收XML數據;一個插入指示數據包裝置,用於將指示數據插入到XML數據中,該指示數據用於識別特定的數據;一個壓縮裝置,用於對插入指示數據的XML數據進行壓縮,以得到壓縮後的XML數據。
20.如權利要求19所述的裝置,其中所述的插入指示數據包裝置包括一個定位裝置,用於對所述的XML數據進行分析,以得到一組無用的數據作為指示數據標誌;一個數據插入裝置,用於在特定數量的指示數據標誌後插入相應的指示數據,並將剩下的指示數據標誌以另一組無用的數據代替。
21.如權利要求20所述的裝置,所述無用的數據是下述數據之一制表標記,空格標記和回車標記。
22.一種壓縮後的XML數據的解壓縮裝置,包括一個接收裝置,用於接收壓縮後的XML數據,該壓縮後的XML數據含有指示數據;一個數據處理裝置,用於解壓縮該壓縮後的XML數據,並獲得所述的指示數據;一個丟棄裝置,用於根據該指示數據將該壓縮後的對應的XML數據丟棄。
23.如權利要求22所述的裝置,其中所述的指示數據是位於一個空數據塊中。
24.如權利要求22所述的裝置,其中所述的數據處理裝置包括一個空數據塊檢測裝置,用於對所述的壓縮後的XML數據進行塊首解碼,從而找到一個空數據塊;一個指示數據獲得裝置,用於從該空數據塊的塊首中獲得該指示數據。
25.如權利要求22所述的裝置,還包括一個分析器,用於根據一個特定的條件修正該指示數據的內容,其中所述的丟棄裝置根據修正後的指示數據內容來執行。
26.如權利要求24所述的裝置,其中所述的指示數據是插入於原始的XML數據中。
27.如權利要求24所述的裝置,其中所述的指示數據是從解壓縮後的XML數據中獲得的。
28.如權利要求24所述的裝置,所述的數據處理裝置包括一個檢測提取裝置,用於在解壓縮後的XML數據中找到一組指示數據標誌,並根據該指示數據標誌獲得該指示數據。
全文摘要
本發明提供了一種XML數據壓縮與解壓縮的方法和裝置,該壓縮方法是將指示數據插入XML數據,該指示數據用於識別特定的數據,獲得壓縮後的XML數據。所述解壓縮方法對壓縮後的XML數據進行解壓縮,所述壓縮後的XML數據含有指示數據,並根據該指示數據,將該解壓縮後的對應的XML數據丟棄。本發明避免了對不相關的部分XML數據進行分析,從而加速資源受限(如小存儲能力)的解壓縮裝置的處理過程。
文檔編號G06F17/30GK1635492SQ200310124520
公開日2005年7月6日 申請日期2003年12月30日 優先權日2003年12月30日
發明者安東尼·摩裡爾 申請人:皇家飛利浦電子股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀