專利名稱:建立文單之間數(shù)據(jù)轉換關系的方法及文單之間數(shù)據(jù)遷移的方法
技術領域:
本發(fā)明涉及一種文件和表單(簡稱"文單")之間建立數(shù)據(jù)轉換關系和數(shù) 據(jù)遷移的方法,該方法主要用于網(wǎng)絡環(huán)境下的協(xié)同工作、數(shù)據(jù)交換和數(shù)據(jù)同步 等,屬計算機信息技術領域。
背景技術:
目前,網(wǎng)絡環(huán)境下文單處理技術主要有兩種
1. 一種采用基于"客戶端/服務器,,的架構??蛻舳颂峤涣艘砸粋€文單數(shù) 據(jù)之后,在服務器端進行文單數(shù)據(jù)的轉換,從而形成一個或多個新的文單數(shù)據(jù), 用于下一次的客戶交互。然而,此模式是文單之間的轉換邏輯是以手工編碼的 方式體現(xiàn),使其難以滿足企業(yè)的業(yè)務需求變化,例如, 一旦企業(yè)業(yè)務邏輯有所 轉變,軟件就要需做相應的調(diào)整,從而給維護帶來極大困難。
2. 另 一種文單處理技術是在表單數(shù)據(jù)之間使用一定的規(guī)則轉換腳本技術。 目前,由于表單數(shù)據(jù)都可以被表示成XML ( extensible Markup Language即可 擴展標記語言)凄t據(jù),并廣泛4吏用XSLT (extensible Stylesheet Language Transformation即可擴展樣式語言轉換)語言將XML數(shù)據(jù)轉換成目標數(shù)據(jù)格 式,這種XML+XSLT技術的缺點主要在于其成本和復雜性,由于缺乏所見即所 得的頁面編輯器的支持,對于實現(xiàn)相同顯示效果的復雜頁面,XML+XSLT的工 作量要大得多,XSLT文件的設計相對于一般的業(yè)務人員是很困難的,即使輔 助于一定的可視化工具可以定義文單之間的域關系,仍未能4艮好的解決XSLT 文件設計上的復雜性問題,其本質原因是由于處理重復數(shù)據(jù)時(多值域數(shù)據(jù)) 的條件和重復表達式不容易構造,且難以理解。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供了一種文單之間建立數(shù)據(jù)轉換關系和數(shù)據(jù)遷移的 方法,采用該方法,客戶只需要簡單地定義文單之間的域關系,而不需要編程 就可以利用軟件實現(xiàn)文單的數(shù)據(jù)遷移轉換,從而解決多值域文單之間的轉換處 理和數(shù)據(jù)遷移這一復雜問題。
為解決上述技術問題,本發(fā)明采用了以下技術方案
一種建立文單之間數(shù)據(jù)轉換關系的方法,其根據(jù)目標文單和源文單設置目 標文單模板和源文單模板,所述各文單模板包括相應文單的文單結構和文單域 信息,并依據(jù)各目標文單域與相應源文單域之間內(nèi)在關系建立所述目標文單域 與源文單域之間的轉換關系,所述目標文單域與源文單域之間的轉換關系可以 表示為目標域="源域),其中f O為根據(jù)目標文單域和有關源文單域之間的 內(nèi)在關系確定的任何運算或函數(shù)關系,變量"源域"為一個或多個源文單中的 一個或多個域。
可以采用下列方式建立所述目標文單域與源文單域之間的轉換關系
(1) 選取目標文單根據(jù)目標文單的結構,從文單模版庫中讀取相應的 文單模版,并從該文單模版中提取文單域集合,并以樹的形式顯示在設計器上, 形成目標文單域樹;
(2) 選取目標文單域在目標文單域樹選中需要進行定義的目標域,并 將選擇的域在設計器的轉換關系公式中顯示為目標域;
(3) 選取源文單從文單模版庫中讀取與所述目標文單存在轉換關系的 一個或多個文單模版,并從該文單模版中提取文單域集合,并以樹的形式顯示 在設計器上,形成源文單域樹;
(4) 選取源文單域依次選取與目標文單域有關的各源文單域,并將這個或這些源文單域在設計器的轉換關系公式中顯示為源文單域;
(5 )確定目標文單域與源文單域之間的轉換關系根據(jù)源文單域與目標
文單域之間的內(nèi)在關系,確定有關源文單域與目標文單域之間的函數(shù)關系,并
在轉換關系公式中加上數(shù)學運算符號或函數(shù),構成一個目標文單與相應源文單
域之間完整的轉換關系公式;
(6 )依據(jù)上述步驟(2 ) - ( 5 )的操作,依次確定每個目標文單域與有關
源文單域之間完整的轉換關系公式。
可以依據(jù)目標文單域與源文單域之間的轉化關系分別對相應的目標文單域
值關系進行定義,形成定義了域值關系的目標文單模板,并保存在文單模板庫中。
一種文單之間數(shù)據(jù)遷移的方法,其特征在于根據(jù)域數(shù)值的數(shù)量將源多值域 文單分解為多個源單值域文單,將相關的多個源單值域文單用二維數(shù)據(jù)表進行 記錄,然后根據(jù)有關源文單和目標文單之間的域轉換關系將源文單的二維數(shù)據(jù) 表轉換為目標文單的二維數(shù)據(jù)表,根據(jù)目標文單的二維數(shù)據(jù)表生成一個或多個 目標單值域文單,將相應的多個目標單值域文單合成為目標文單,所述文單是 指文單數(shù)據(jù)和文單格式可以分離的電子文單。該方法可以依據(jù)上述建立文單之 間數(shù)據(jù)轉換關系的方法所確立的文單之間數(shù)據(jù)轉換關系進行文單間的數(shù)據(jù)遷 移。
其中所述的每個單值域文單為二維數(shù)據(jù)表中的一行記錄。
可以采用下列具體的步驟 (1)分解源文單將相關源文單根據(jù)多值域數(shù)值數(shù)量分解成為一個或多 個源單值域文單;其中,源單值域文單的域與源文單域相同,其數(shù)值為源文單 數(shù)值中的一個組合;(2)構建源文單二維數(shù)據(jù)表將分解出來的源單值域文單合并構建成源 文單的二維數(shù)據(jù)表,數(shù)據(jù)表列為單值域文單的域,數(shù)據(jù)表行則為域數(shù)值,通常 所述二維數(shù)據(jù)表可以用關系數(shù)據(jù)庫工具進行處理;
(3 )生成轉換腳本根據(jù)所建立的源文單與目標文單之間的域關系,生 成可以為關系數(shù)據(jù)庫? 1擎執(zhí)行的轉換腳本;
(4 )轉換為目標文單二維數(shù)據(jù)表由關系數(shù)據(jù)庫引擎執(zhí)行轉換腳本,將 源文單二維數(shù)據(jù)表轉換為目標文單二維數(shù)據(jù)表;
(5 )映射為目標文單對應的單值域文單才艮據(jù)目標文單對應的目標單值 域文單結構,將目標文單二維數(shù)據(jù)表映射為一個或多個目標單值域文單。
(6 )轉換為目標文單根據(jù)目標文單結構,將所對應的目標單值域文單 轉化為一個或多個目標文單。
在分解源文單的步驟中,可以將源文單記載域值的一個組合復制到一個源 單值域文單中,形成一個與該域值組合相對應的源單值域文單,當源文單記載 的域值有多個組合時,則重復上述復制過程,形成多個源單值域文單,由此生 成全部源單值域文單,這些單值域文單集合形成源單值域文單集。 所述生成轉換腳本的具體方法可以包括
(1) 生成初始轉換腳本根據(jù)源文單和目標文單的域關系生成初始化的 轉換腳本,轉換腳本生成或執(zhí)行可以采用任何現(xiàn)有成熟技術;
(2) 替換域根據(jù)轉換規(guī)則確定的域關系表達式,替換轉換腳本中相應
的域;
(3) 添加條件根據(jù)轉換規(guī)則確定的域條件表達式,將條件添加到轉換 腳本中。
由于本發(fā)明將多值域文單轉化為單值域文單并形成二維數(shù)據(jù)表,可以利用現(xiàn)有關系數(shù)據(jù)庫引擎能夠實現(xiàn)的表格轉化方式實現(xiàn)源二維數(shù)據(jù)表向目標二位 數(shù)據(jù)表的轉化,并進而生成目標文單,由此簡化了文單轉化過程,減少了客戶 的工作量,減輕了工作難度。
圖l是本發(fā)明原理圖2是本發(fā)明建立文單之間數(shù)據(jù)轉換關系流程圖; 圖3是本發(fā)明文單之間數(shù)據(jù)遷移流程圖; 圖4是本發(fā)明生成轉換腳本流程圖。
具體實施例方式
發(fā)明原理圖如圖1所示,文件和表單(簡稱"文單")之間數(shù)據(jù)遷移是指 "目標文單"和"源文單"之間數(shù)據(jù)遷移。"目標文單,,為其域的數(shù)值來自于
其他文單,而所述其他文單為"源文單"。這里文單是指文單數(shù)據(jù)和文單格式 (或稱之為文單模板)可以分離的電子文單,即文單域數(shù)值可以通過軟件工具
方便讀取的電子文單,例如Inforpath, Open Office, PDF等,但不限于這些
類型電子文單。
文單的域包括單值域和多值域,單值域是指域只有一數(shù)量值,多值域是指 可以有多個數(shù)量值的域,其多個數(shù)量值一般以列表的形式表現(xiàn)。文單包括單值 域文單和多值域文單,僅包含單值域的文單為單值域文單;既包含單值域,又 包含多值域的文單,或者僅包含多值域的文單為多值域文單。由于源文單和目 標文單均可能既包括多值域文單又包括單值域文單,為表述上的便利,本說明 書中經(jīng)常采用多值域文單代表各種文單,在這種情況下,單值域文單可以視為 域中只有一個數(shù)量值的多值域文單,本領域技術人員可以理解到在涉及多值域 文單分解為單值域文單的步驟中,如果是單值域文單,則無需進行分解。
9為便于多值域文單之間的數(shù)據(jù)遷移,根據(jù)域數(shù)值的數(shù)量將多值域文單分解 為多個單值域文單,并將這些多個單值域文單用二維數(shù)據(jù)表進行記錄,二維數(shù) 據(jù)表中的域即為單值域文單中的域,每個單值域文單為二維數(shù)據(jù)表中的一行記 錄。從而使得文單之間數(shù)據(jù)遷移表現(xiàn)為源文單二維數(shù)據(jù)表和目標文單二維數(shù)據(jù) 表之間的數(shù)據(jù)遷移。
文單之間數(shù)據(jù)轉換關系設計器包括源文單域樹、目標文單域樹、源文單和 目標文單域之間若干轉換關系公式,所述源文單域樹和目標文單域樹包括以樹 的形式顯示文單所有域,源文單和目標文單域之間轉換關系公式包括目標域 =『(源域),f ()為任何運算或函數(shù)關系,其中的變量"源域"為一個或多個源 文單中的一個或多個域。
一種建立文單之間數(shù)據(jù)轉換關系的方法如圖2所示,主要包括以下步驟
(1) 選擇目標文單,設計器顯示目標文單域樹;
(2) 在目標文單域樹選中一目標域,設計器中轉換關系公式顯示所選目 標域;
(3) 選擇源文單,設計器顯示目標文單域樹;
(4) 在源文單域樹選中一源域,設計器中轉換關系公式顯示所選源域;
(5) 重復(4)操作,并加上數(shù)學運算符號或函數(shù),構成完整轉換關系公
式;
(6 )重復(2 ) - ( 5 )操作,建立文單之間所有存在關系的域之間完整轉 換關系公式;
(7 )按確定按鈕在存儲器中保存所建立的文單之間轉換關系。 一種文單之間數(shù)據(jù)遷移的方法如圖3所示,主要包括下列步驟 (1)分解源文單將相關源文單根據(jù)多值域數(shù)值數(shù)量分解成為一個或多個單值域文單;其中,單值域文單的域與源文單域相同,其數(shù)值為源文單數(shù)值 中的一個組合;
(2)構建源文單二維數(shù)據(jù)表將分解出來的單值域文單合并構建成源文 單的二維數(shù)據(jù)表,數(shù)據(jù)表列為單值域文單的域,數(shù)據(jù)表行則為域數(shù)值,通常所 述二維數(shù)據(jù)表可以用關系數(shù)據(jù)庫工具進行處理;
(3 )生成轉換腳本根據(jù)所建立的源文單與目標文單之間的域關系,生 成可以為關系數(shù)據(jù)庫引擎執(zhí)行的轉換腳本;
(4 )轉換為目標文單二維數(shù)據(jù)表由關系數(shù)據(jù)庫引擎執(zhí)行轉換腳本,將 源文單二維數(shù)據(jù)表轉換為目標文單二維數(shù)據(jù)表。;
(5) 映射為目標文單對應的單值域文單才艮據(jù)目標文單對應的單值域文 單結構,將目標文單二維數(shù)據(jù)表映射為一個或多個單值域文單。
(6) 轉換為目標文單根據(jù)目標文單結構,將所對應的單值域文單轉化 為一個或多個目標文單。
在分解源文單時,將源文單記載域值的一個組合復制到 一個源單值域文單 中,形成一個與該域值組合相對應的源單值域文單,當源文單記載的域值有多 個組合時,則重復上述復制過程,形成多個源單值域文單,由此生成全部源單 值域文單,這些單值域文單集合形成源單值域文單集。
在生成轉換腳本時,具體方法包括(如圖4所示)
(1) 生成初始轉換腳本根據(jù)源文單和目標文單的域關系生成初始化的 轉換腳本,轉換腳本生成或執(zhí)行可以釆用任何現(xiàn)有成熟技術;
(2) 替換域根據(jù)轉換規(guī)則確定的域關系表達式,替換轉換腳本中相應
的域;
(3) 添加條件根據(jù)轉換規(guī)則確定的域條件表達式,將條件添加到轉換腳本中。
權利要求
1.一種建立文單之間數(shù)據(jù)轉換關系的方法,其特征在于根據(jù)目標文單和源文單設置目標文單模板和源文單模板,所述各文單模板包括相應文單的文單結構和文單域信息,并依據(jù)各目標文單域與相應源文單域之間內(nèi)在關系建立所述目標文單域與源文單域之間的轉換關系,所述目標文單域與源文單域之間的轉換關系可以表示為目標域=f(源域),其中f()為根據(jù)目標文單域和有關源文單域之間的內(nèi)在關系確定的任何運算或函數(shù)關系,變量“源域”為一個或多個源文單中的一個或多個域。
2. 如權利要求1所述的建立文單之間數(shù)據(jù)轉換關系的方法,其特征在于 采用下列方式建立所述目標文單域與源文單域之間的轉換關系(1) 選取目標文單從文單模版庫中讀取相應的文單沖莫版,并從該文單 模版中提取文單域集合,并以樹的形式顯示在設計器上,形成目標文單域樹;(2) 選取目標文單域在目標文單域樹選中需要進行定義的目標域,并 將選擇的域在設計器的轉換關系公式中顯示為目標域;(3) 選取源文單從文單模版庫中讀取與所述目標文單存在轉換關系的 一個或多個文單模版,并從該文單模版中提取文單域集合,并以樹的形式顯示 在設計器上,形成源文單域樹;(4) 選取源文單域依次選取與目標文單域有關的各源文單域,并將這 個或這些源文單域在設計器的轉換關系公式中顯示為源文單域;(5) 確定目標文單域與源文單域之間的轉換關系根據(jù)源文單域與目標 文單域之間的內(nèi)在關系,確定有關源文單域與目標文單域之間的函數(shù)關系,并 在轉換關系公式中加上數(shù)學運算符號或函數(shù),構成一個目標文單與相應源文單 域之間完整的轉換關系公式;(6 )依據(jù)上述步驟(2 ) - ( 5 )的操作,依次確定每個目標文單域與有關 源文單域之間完整的轉換關系公式。
3. 如權利要求2所述的建立文單之間數(shù)據(jù)轉換關系的方法,其特征在于 依據(jù)目標文單域與源文單域之間的轉換關系分別對相應的目標文單域值關系 進行定義,形成定義了域值關系的目標文單模板,并保存在文單模板庫中。
4. 一種按照權利要求1-3所建立的文單之間轉換關系進行文單之間數(shù)據(jù) 遷移的方法,其特征在于根據(jù)域數(shù)值的數(shù)量將源多值域文單分解為多個源單值 域文單,將相關的多個源單值域文單用二維數(shù)據(jù)表進行記錄,然后根據(jù)有關源 文單和目標文單之間的域轉換關系將源文單的二維數(shù)據(jù)表轉換為目標文單的 二維數(shù)據(jù)表,根據(jù)目標文單的二維數(shù)據(jù)表生成一個或多個目標單值域文單,將 相應的多個目標單值域文單合成為目標文單,所述文單是指文單數(shù)據(jù)和文單格 式可以分離的電子文單。
5. 如權利要求4所述的文單之間數(shù)據(jù)遷移的方法,其特征在于每個單值 域文單為二維數(shù)據(jù)表中的一行記錄。
6. 如權利要求4或5所述文單之間數(shù)據(jù)遷移的方法,其特征在于包括下 列步驟(1) 分解源文單將相關源文單根據(jù)多值域數(shù)值數(shù)量分解成為一個或多 個源單值域文單;其中,源單值域文單的域與源文單域相同,其數(shù)值為源文單 數(shù)值中的一個組合;(2) 構建源文單二維數(shù)據(jù)表將分解出來的源單值域文單合并構建成源 文單的二維數(shù)據(jù)表,數(shù)據(jù)表列為單值域文單的域,數(shù)據(jù)表行則為域數(shù)值,通常 所述二維數(shù)據(jù)表可以用關系數(shù)據(jù)庫工具進行處理;(3) 生成轉換腳本根據(jù)所建立的源文單與目標文單之間的域關系,生成可以為關系數(shù)據(jù)庫51擎執(zhí)行的轉換腳本;(4 )轉換為目標文單二維數(shù)據(jù)表由關系數(shù)據(jù)庫引擎執(zhí)行轉換腳本,將 源文單二維數(shù)據(jù)表轉換為目標文單二維數(shù)據(jù)表;(5 )映射為目標文單對應的單值域文單根據(jù)目標文單對應的目標單值 域文單結構,將目標文單二維數(shù)據(jù)表映射為 一個或多個目標單值域文單。(6 )轉換為目標文單根據(jù)目標文單結構,將所對應的目標單值域文單 轉化為一個或多個目標文單。
7. 如權利要求6所述的文單之間數(shù)據(jù)遷移的方法,其特征在于在分解源 文單的步驟中,將源文單記載域值的一個組合復制到一個源單值域文單中,形 成一個與該域值組合相對應的源單值域文單,當源文單記載的域值有多個組合時,則重復上述復制過程,形成多個源單值域文單,由此生成全部源單值域文 單,這些單值域文單集合形成源單值域文單集。
8. 如權利要求7所述的文單之間數(shù)據(jù)遷移的方法,其特征在于所述生成 轉換腳本的具體方法包括(1) 生成初始轉換腳本才艮據(jù)源文單和目標文單的域關系生成初始化的 轉換腳本,轉換腳本生成或執(zhí)行可以采用任何現(xiàn)有成熟技術;(2) 替換域根據(jù)轉換規(guī)則確定的域關系表達式,替換轉換腳本中相應的域;(3) 添加條件根據(jù)轉換規(guī)則確定的域條件表達式,將條件添加到轉換 腳本中。
全文摘要
本發(fā)明涉及一種建立文單之間數(shù)據(jù)轉換關系的方法及文單之間數(shù)據(jù)遷移的方法,主要用于網(wǎng)絡環(huán)境下的協(xié)同工作、數(shù)據(jù)交換和數(shù)據(jù)同步等。所述建立文單之間數(shù)據(jù)轉換關系的方法為根據(jù)目標文單和源文單設置目標文單模板和源文單模板,并依據(jù)各目標文單域與相應源文單域之間的內(nèi)在關系建立所述目標文單域與源文單域之間的轉換關系。所述文單之間數(shù)據(jù)遷移的方法為將源多值域文單分解為多個源單值域文單并用二維數(shù)據(jù)表進行記錄,將源文單的二維數(shù)據(jù)表轉換為目標文單的二維數(shù)據(jù)表,進而生成目標文單。采用本發(fā)明,客戶只需要簡單地定義文單之間的域關系就可以利用軟件實現(xiàn)文單的數(shù)據(jù)遷移轉換,從而解決多值域文單之間的轉換處理和數(shù)據(jù)遷移這一復雜問題。
文檔編號G06F17/30GK101609463SQ200910090139
公開日2009年12月23日 申請日期2009年8月4日 優(yōu)先權日2009年8月4日
發(fā)明者兵 嚴, 波 封 申請人:北京環(huán)太中科軟件股份有限公司