999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于工作流的XML表單文件的存儲與重建

2008-04-12 00:00:00
現代電子技術 2008年2期

摘 要:針對記錄和描述XML表單文件的變動,采用工作流處理系統中的工作流處理過程作為活動節點,XML表單文件中的工作單元作為變動區域,通過活動節點對變動區域進行增刪改處理,來自動查出文件變動的情況并實時存儲,根據企業需求重建XML表單文件的版本。通過實例表明,XML表單文件的存儲與重建效率得到明顯提高。

關鍵詞:XML;工作流;工作單元;活動節點 

中圖分類號:TP311 文獻標識碼:B 文章編號:1004-373X(2007)02-126-03

Storing and Reconstructing of XML Form Document Based on Working Flow

CHEN Hua,FU Bei

(Computer Science and Engineering College,Xi′an Technological University,Xi′an,710032,China)Abstract:In view of record and tracking the change of XML form-document,there is a new method of making working flow processing in working flow processing system as a activity node so as to check the situation of document changed automatically and store immediately,and reconstruct the version of XML form-document by the need of enterprise.According to the example,the efficiency of storing and reconstructing of XML form-document have been improved obviously.

Keywords:XML;working flow;working unit;activity node

1 引 言

隨著信息產業的飛速發展,信息化管理已經進入到各個行業的管理領域。企業若想在激烈的市場經濟中立足并勝出,就必須擁有一套完善的適合自身特點的信息化管理系統。因此,文檔管理系統在大中型企業中的應用越來越廣泛。在文檔管理系統中,各種形式的信息對企業有著重要的作用。可是企業在實施企業信息化的過程中,不同時期為滿足企業的不同需求,各個企業采用不同的技術開發不同的文檔管理系統。這些文檔管理系統的實踐在一定程度上加強了企業的管理水平,提高了企業的信息流和資金流的流動速度。但是,由于在企業事實信息化系統的過程中沒有較長遠的規劃及系統間信息共享重要性的認識。在這些系統的實施過程中,各系統間的兼容、信息交換和共享,就成為企業的全局信息交換和共享的障礙。在這種情況下,系統間的信息交換與共享就需要由一個轉換系統來完成,這樣做的工作量是非常巨大的。因為不同系統的系統間的轉換不同,這樣使系統的存儲效率很低。并且在系統發生故障時,需要對故障時正在處理而沒有處理完的文件進行恢復。但是,這對于這些企業信息管理系統來說是十分復雜的。

本文就是采用XML表單文件作為數據存儲的媒介,對原有的文檔管理系統進行改進,使其可以根據用戶的需求高效地存儲數據和重建任何版本的數據。

2 XML表單在工作流文檔管理系統中的處理

2.1 XML技術

XML即可擴展標記語言,是一種可以用來創建自己的標記的標記語言。在商業環境中,很多數據在表單文件中被處理,這些表單文件能夠容易和有效地處理數據。在表單文件中,用戶可以輕易的填寫文件。因此,一個程序的執行則被認為是完成表單文件,而程序的主要任務則是處理文件[1]。

在業務流程和工作流領域中XML以各種方式被使用。在本文,XML作為商業文件格式。使用XML為表單文件提供了以下幾個好處:首先,是他的平臺無關性,他可以在不同的信息系統之間轉換;其次,XML已經包括為應用開發有用的工具:簡單的對象通入協議(SOAP),文件對象模型(DOM)和為XML的簡單的應用程序接口(SAX);最后,他分離文件的形式描述和內容描述[2]。

以上3個好處提供了充足的理由讓我們使用XML作為表單文件的格式。這里構造了一個使用XML標記的表單文件。圖1展示XML代碼并且由應用樣式表產生表單文件。

2.2 基于工作流的文檔管理系統框架

使用工作流的目的主要是通過合理地調用和分配有關的信息及人力資源來協調業務過程中的各個活動,以促使業務目標的高效實現。基于工作流的系統已經越來越受人們的關注。這里在早先的工作流系統的模型上對原有模型進行了一些改進。如圖2所示,有陰影的長方形代表被增加的模塊。

過程結構模塊代表了一個由活動和弧組成的結構,文件結構模塊代表一個用XML格式所寫的表單文件結構。結構連接模塊將過程結構模塊和文件結構模塊聯系在一起。在處理被執行時使用一個版本創作模塊和變化存儲模塊處理文件。在本文中,處理變化存儲模塊并且根據他重建文件[3]。

2.3 工作流的處理過程

為了在執行時管理變動的文件,需要表示文件結構和過程結構。用過程結構和文件結構來描述是非常有用的。下面定義過程結構:

在以上定義的基礎上,將表單文件元素和過程的活動使用小點記法表示。如dk#8226;wm是文件dk的第m個工作單元,而p#8226;ai是過程p中的第i個活動。在業務流中,文件的處理是主要任務,過程的施行又直接與文件的處理有關。因此用結構連接模塊連接過程和文件。結構連接模塊分配各個工作單元到過程。當一個工作單元diwj被分配到一個活動p#8226;aj時,其用di#8226;wj→p#8226;ai表達。

3 存儲變化和重建文件

3.1 查出和存儲變化

在存儲文件之前,系統需要查出文件的確切變化。所以,采用由活動查出變化的一個方法。每個變化由活動記錄。被分配了工作單元的活動執行修改。工作單元的變化分為4種類型:增加,ΔADD(f1)(值):一個新的值,值被增加到領域f1;刪除,ΔDEL(f1)(值):在區域f1中的值被刪除;修改,ΔMOD(f1)(值1)(值2):在區域f1中的值由值1變為值2;空,Δ:沒有發生任何變化;

對一個或多個工作單元的修改,是一系列的變化,形成文件的變化。文件的變化被定義如下:

[HTH]定義3(文件變化) 一個文件的變化是由多個活動對工作單元的改變組成。活動對文件的改變表示為:δi={Δl|l=1,2,…,L},L是文件中改變的個數。

當一個由活動修改文件被記錄,文件的變化被自動地查出,并且將其存儲在數據庫中。文件的修改引起一個新文件狀態。在處理過程中文件被多次修改。所以,文件變化的歷史被系統反復地處理。每個文件狀態被稱為文件版本,并且那個工作單元被稱為工作單元版本。用以下定義的文件版本來管理文件變化的歷史[4]。

3.2 變化操作

使用之前對變化的定義,需要在變化之間進行一系列不同的操作。首先考慮反向操作。

XmlDocument document = new XmlDocument();

document.Load(\"contosoBooks.xml\");

XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild(\"bookstore\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"book\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"price\",\"http://www.contoso.com/books\");

XmlWriter attributes = navigator.CreateAttributes();

attributes.WriteAttributeString(\"discount\",\"1.00\");

attributes.WriteAttributeString(\"currency\",\"USD\");

attributes.Close();

navigator.MoveToParent();

Console.WriteLine(navigator.OuterXml);

刪除變化的反向操作:Δ-1DEL=ΔADD;刪除一個XML節點C#代碼:

XmlDocument document = new XmlDocument();

document.Load(\"contosoBooks.xml\");

XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild(\"bookstore\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"book\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"price\",\"http://www.contoso.com/books\");

navigator.SetValue(\"\");

navigator.MoveToRoot();

Console.WriteLine(navigator.OuterXml);

修改變化的反向操作:Δ-1MOD=Δ′MOD;修改一個XML節點C#代碼:

XmlReaderSettings settings = new XmlReaderSettings();

settings.Schemas.Add(\"http://www.contoso.com/books\",\"contosoBooks.xsd\");

settings.ValidationType = ValidationType.Schema;

XmlReader reader = XmlReader.Create(\"contosoBooks.xml\",settings);

XmlDocument document = new XmlDocument();

document.Load(reader);

XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild(\"bookstore\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"book\",\"http://www.contoso.com/books\");

navigator.MoveToChild(\"price\",\"http://www.contoso.com/books\");

navigator.SetTypedValue(DateTime.Now);

接著,定義另一種類型的操作。當文件被多次修改時,為實現高效的修改,組合操作必須被定義。

3.2.2 組合操作

對于一個工作單元對于2個改變Δ,Δ′的組合操作被表示為Δ[KX(]#8226;[KX)]Δ′,意思是對于一個工作單元在發生Δ改變后,另一個改變Δ′也在影響這個工作單元。組合操作組合了2種不同類型的操作:

3.3 文件恢復

文件經常需要返回到一個早先狀態來滿足一個管理目的或矯正系統誤差。在過程實施期間,當錯誤發生時采用的方法可以被用來恢復文件。恢復方法根據反向操作被開發。如果第K個活動到第i個活動文件需要返回一個狀態,通過應用反向操作他可以被恢復。文件被恢復的版本可以被如下重建。

4 原型系統

用在本文中所采用的方法完成了一個原型系統。在現有的文檔管理系統的工作流處理上增加一個用來管理文件的模塊。增加的模塊是根據在第2.2節中被描述的5個模塊建造的,那5個模塊被分為建立時和運行時。圖4是對文件存儲確認的流程建立的視圖。

在業務執行的過程中,文件分配給適當的活動處理。這里的系統顯示文件的版本和檢查當前版本,在用戶完成任務并且告知文件之后,變化被自動查出和存放,且產生一個新的版本[5]。

5 結 語

按照文中的說明,使用XML作為表單文件。XML具有將形式描述和內容描述分離和跨平臺的優點。當變化發生時,能夠查出變化且將其存儲在數據庫中。文件的原型和所有改變被按時間順序儲存。當文件需要被檢查,系統可以在變化之間使用一系列的操作來重建任一版本的文件。變動操作可以執行一個逆序,這就意味著變動操作可以被取消。于是,用這個方法恢復文件。這里提供的方法不僅可以便利地管理文件而且可以高效的存儲文件。

參 考 文 獻

[1][美]Michae U.XML學習指南[M].Young 前導工作室,譯.北京:機械工業出版社,2001.

[2]趙萍.基于XML技術的數據轉換[D].北京:中國科學院,2001.

[3]Bae H.E-Business Document Management: Change Management of Business Documents for Workflow Processes.Ph.D.dissertation,Seoul National University,2002.

[4]施偉斌,孫未來.XML數據的對象模型的動態更新[J].軟件學報,2001,12(增刊):1 851-1 858.

[5]翟裕忠.一個基于XML的數據交換原型系統[J].計算機工程,2000,26(9):35-37.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 国产一区二区免费播放| 成人免费午夜视频| 天天综合网亚洲网站| 青草91视频免费观看| 久久福利片| 精品无码国产一区二区三区AV| 国产精品永久在线| 2018日日摸夜夜添狠狠躁| 欧美日韩另类国产| 国产91线观看| 日韩欧美国产精品| 成人亚洲天堂| 色欲色欲久久综合网| 亚洲综合九九| 欧美激情福利| 高h视频在线| 国产丝袜丝视频在线观看| 亚洲AV成人一区二区三区AV| 日韩二区三区无| 国产三区二区| 久久国产成人精品国产成人亚洲| 三上悠亚一区二区| 亚洲日韩精品无码专区97| 国产另类视频| 亚洲欧美另类视频| 色噜噜狠狠色综合网图区| 国产亚洲欧美在线视频| 一本大道东京热无码av| 青青草原国产| 欧美国产日产一区二区| 欧美激情,国产精品| 欧美国产日产一区二区| 超清无码一区二区三区| 亚洲无线一二三四区男男| 日韩在线第三页| 热伊人99re久久精品最新地| 国产美女无遮挡免费视频网站| 国产精品尤物在线| 国产精品99r8在线观看| 国产幂在线无码精品| 99热亚洲精品6码| 亚洲中文字幕23页在线| 久久精品亚洲中文字幕乱码| 无码精品国产VA在线观看DVD | 亚洲人成日本在线观看| 亚洲综合狠狠| 97人人做人人爽香蕉精品| 欧美第二区| 亚洲有码在线播放| 成人久久精品一区二区三区 | 国产综合色在线视频播放线视| 亚洲天堂区| 无码一区18禁| 久久精品人人做人人爽电影蜜月 | 国产福利小视频在线播放观看| 成年免费在线观看| 国产麻豆精品久久一二三| 久久精品国产亚洲麻豆| 久久人搡人人玩人妻精品一| 蜜芽一区二区国产精品| 久久久久中文字幕精品视频| 国产美女91呻吟求| 国产黑丝一区| 久久伊人操| 一级香蕉视频在线观看| www亚洲精品| 国产成人精品一区二区免费看京| 国产自无码视频在线观看| 日本亚洲国产一区二区三区| 亚洲欧美h| 国产浮力第一页永久地址 | 欧美A级V片在线观看| 国产精品久久自在自2021| 一区二区自拍| 国产香蕉国产精品偷在线观看| 国产va在线观看免费| 精品欧美一区二区三区在线| 日本少妇又色又爽又高潮| 亚洲一欧洲中文字幕在线| 国产女同自拍视频| 日本成人精品视频| 亚洲日本一本dvd高清|