透過您的圖書館登入
IP:52.14.0.24
  • 學位論文

支援大型XML 文件之平行化XSLT 編譯器

A Parallel XSLT Compiler for Large XML Documents

指導教授 : 陳鵬升
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


XML是一種用來描述資料與文件結構的標記式語言,不管是網路服務、多媒體訊息系統、資料庫應用與資料處理方面,XML都扮演了關鍵性的角色,近年來,XML的流量不斷增加也說明了其重要性。XSLT全名為擴展樣式表轉換語言,用來轉換XML文件,並且產生相關的格式,XSLT在企業間廣泛地被利用,在對大量的資料做Data Migration時常會使用到這類技術。但是,傳統的XSLT轉換方式遭遇效能上的瓶頸,尤其是針對大型XML檔案,效能上的差異又更加明顯,而當XML檔案過大時大部分的XSLT處理器將可能無法處理。因此我們提出了一個以編譯器架構為基礎的技術,並實作於多核心處理器系統,以提昇XSLT轉換之速度。 不同於傳統直譯式XSLT處理器,平行化XSLT編譯器運作方式是將XSLT樣式表轉換成多執行緒的C語言程式,透過編譯器將此C語言程式編譯成可執行檔,此執行檔再對欲轉換之XML文件進行相關的分析與轉換。本研究發展了一個XSLT編譯-PXT,可以對大型XML檔案做XSLT的處理上更有效率,另外,我們也呈現了我們的實驗數據作為比較,根據實驗結果,使用XSLT編譯器可以得顯著的效能提昇,同時突破一般的XSLT處理器不能處理大型XML檔案的問題。

關鍵字

編譯器 平行化

並列摘要


XML (eXtensible Markup Language) is a markup language which is used to describe data and documents. XML is playing a crucial role in web services, messaging systems, databases, and document processing. In recent years, XML traffic is increasing rapidly and takes over 50 percents of overall network traffic. XSLT (eXtensible Stylesheet Language Transformations) is an XML-based language used for transferring XML documents into another XML or another type of document (e.g., PDF, HTML, and WML). Generally, XSLT transformation will suffer a performance degradation when processing large-sized XML documents. With the XML traffic increasing, how we can efficiently use XSLT to transform XML documents becomes a crucial problem. Meanwhile, the trend in hardware technology is toward an increasing number of cores in a processor. The multi-core technique provides an opportunity to speed up the performance of an application. In this thesis, we develop a parallel XSLT compiler named PXT to transform an XSLT style sheet into a corresponding multithreaded C program. This C program can be compiled to an executable code that can be used to transform documents without processing XSL style sheet anymore. The experimental results show that it can significantly improve the XSLT transformation performance on a multi-core system and can process large-sized XML documents.

並列關鍵字

XSLT XML

參考文獻


[26] Dong, C. and Bailey, J. Static Analysis of XSLT Programs. Fifteenth Australasian Database Conference (ADC2004).
[29] Yinfei Pan, Wei Lu, Ying Zhang, Kenneth Chiu. A Static Load-Balancing Scheme for Parallel XML Parsing on Multicore CPU. Proceedings of the Seventh IEEE International Symposium on Cluster Computing and the Grid, CCGRID '07.
[30] Intel Corporation, Parallel Programming 2.0 in CGO2006.
[1] Website. The XML C parser and toolkit of GNOME, libxml. http://xmlsoft.org/index.html.
[2] Website. The XSLT C library for GNOME, libxslt. http://xmlsoft.org/XSLT.

延伸閱讀