[發(fā)明專利]一種基于描述的XML增量抽取方法有效
| 申請?zhí)枺?/td> | 201710067077.4 | 申請日: | 2017-02-06 |
| 公開(公告)號: | CN107045495B | 公開(公告)日: | 2020-04-24 |
| 發(fā)明(設(shè)計(jì))人: | 周由甲 | 申請(專利權(quán))人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06F40/123 | 分類號: | G06F40/123;G06F40/14;G06F16/81 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 描述 xml 增量 抽取 方法 | ||
1.一種基于描述的XML增量抽取方法,包括以下步驟,
A. 定義屬性控制配置;
B. 定義屬性控制規(guī)則;
C. 調(diào)用增量抽取方法;
通過用戶在配置文件中配置某一類型基礎(chǔ)數(shù)據(jù)的屬性控制配置,同時(shí)為每個(gè)基礎(chǔ)數(shù)據(jù)添加屬性控制規(guī)則,來實(shí)現(xiàn)對擴(kuò)展屬性中增量的抽取與存儲;
步驟A定義一類基礎(chǔ)數(shù)據(jù)的屬性控制配置;將定義好的屬性控制配置放在配置文件中,增量抽取方法會根據(jù)不同的數(shù)據(jù)類型在配置文件中找到相應(yīng)的屬性控制配置;通過屬性控制配置,來確定一類基礎(chǔ)數(shù)據(jù)中各類節(jié)點(diǎn)的增量抽取規(guī)則;
步驟A中的屬性控制配置包含五個(gè)屬性:元素名稱、配置類型、父配置節(jié)點(diǎn)ID、ID屬性名稱和屬性控制配置集合;
其中配置類型分為元素類型、子節(jié)點(diǎn)屬性類型和集合類型;元素類型表示該類節(jié)點(diǎn)屬于所要關(guān)注的最末層節(jié)點(diǎn),只需要關(guān)注自己的增量即可;子節(jié)點(diǎn)屬性類型表示該節(jié)點(diǎn)存在需要進(jìn)行增量處理的子節(jié)點(diǎn);集合類型表示該節(jié)點(diǎn)下是另一類節(jié)點(diǎn)的集合;屬性控制配置集合用于記錄該節(jié)點(diǎn)下所有需要增量處理的屬性的控制配置;
其特征在于,屬性控制配置集合包含一個(gè)節(jié)點(diǎn)下所有需要增量處理的屬性的控制配置,稱之為屬性控制配置明細(xì);屬性控制配置明細(xì)包含四個(gè)屬性:節(jié)點(diǎn)屬性名稱、節(jié)點(diǎn)屬性類型、屬性修改規(guī)則和子節(jié)點(diǎn)修改規(guī)則;其中:
(1)節(jié)點(diǎn)屬性類型包括屬性類型和子節(jié)點(diǎn)類型兩種;屬性類型表示這條內(nèi)容是節(jié)點(diǎn)中的一個(gè)屬性;子節(jié)點(diǎn)類型表示該條內(nèi)容并非一個(gè)屬性,而是一個(gè)子節(jié)點(diǎn);子節(jié)點(diǎn)類型對應(yīng)的配置類型是子節(jié)點(diǎn)屬性類型;
(2)當(dāng)節(jié)點(diǎn)屬性類型為屬性類型時(shí),需要設(shè)置屬性修改規(guī)則;
當(dāng)節(jié)點(diǎn)屬性類型為子節(jié)點(diǎn)類型時(shí),需要設(shè)置子節(jié)點(diǎn)修改規(guī)則;
(3)屬性修改規(guī)則用于表示屬性的修改方式,包括復(fù)制、引用、引用可修改、控制規(guī)則和自定義五種方式;復(fù)制方式表示將基礎(chǔ)數(shù)據(jù)的內(nèi)容復(fù)制到擴(kuò)展數(shù)據(jù)中,如果基礎(chǔ)數(shù)據(jù)改變,不會影響擴(kuò)展數(shù)據(jù);引用類型表示擴(kuò)展數(shù)據(jù)內(nèi)容引用自基礎(chǔ)數(shù)據(jù),基礎(chǔ)數(shù)據(jù)內(nèi)容改變后,擴(kuò)展數(shù)據(jù)相應(yīng)的內(nèi)容會隨之改變;引用可修改同樣表示擴(kuò)展數(shù)據(jù)引用自基礎(chǔ)數(shù)據(jù),如果內(nèi)容引用后沒有修改,則相當(dāng)于引用方式,基礎(chǔ)數(shù)據(jù)修改會影響擴(kuò)展數(shù)據(jù),但是如果內(nèi)容在引用后進(jìn)行了修改,那么視為復(fù)制方式,基礎(chǔ)數(shù)據(jù)修改不會影響擴(kuò)展數(shù)據(jù);控制規(guī)則表示屬性將按照之后配置的屬性控制規(guī)則內(nèi)容進(jìn)行修改;自定義方式表示用戶可以根據(jù)需要自己編寫擴(kuò)展方法,來確定控制方式,選用這種方式需要記錄相應(yīng)的程序集名和類名;
(4)子節(jié)點(diǎn)修改規(guī)則用于表示子節(jié)點(diǎn)的修改方式,包括復(fù)制、引用、引用配置和自定義四種方式;復(fù)制方式、引用方式和自定義方式與上述相同;引用配置方式,是指在該屬性控制配置中,存在此節(jié)點(diǎn)對應(yīng)的配置節(jié)點(diǎn),需要記錄一個(gè)引用配置ID來記錄對應(yīng)的屬性配置節(jié)點(diǎn)的ID。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B定義一個(gè)基礎(chǔ)數(shù)據(jù)的所有需要增量操作的屬性的控制規(guī)則;屬性規(guī)則中會按照XML數(shù)據(jù)的父子結(jié)構(gòu)劃分,每一層結(jié)構(gòu)會有一套規(guī)則,最后將所有層次的規(guī)則記錄到一個(gè)集合中,形成一套屬性控制規(guī)則。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,每一層規(guī)則的屬性包括:規(guī)則ID、規(guī)則標(biāo)題、ID屬性名稱、父規(guī)則ID、父規(guī)則ID屬性名稱、父規(guī)則標(biāo)題、屬性規(guī)則集合和子規(guī)則集合;
其中,屬性控制規(guī)則中記錄對應(yīng)節(jié)點(diǎn)中所有屬性的控制規(guī)則;控制規(guī)則分為三類:允許修改、不允許修改和系統(tǒng)默認(rèn);當(dāng)設(shè)置為系統(tǒng)默認(rèn)時(shí),會去其父規(guī)則的子規(guī)則集合中,尋找該子規(guī)則中設(shè)置的默認(rèn)控制規(guī)則,若仍未系統(tǒng)默認(rèn),則再去父規(guī)則的父規(guī)則中查找;這樣就要求,最外層規(guī)則的屬性和其子規(guī)則集合中定義的屬性規(guī)則,不能設(shè)置為系統(tǒng)默認(rèn)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C包含增量抽取方法和增量合并方法兩個(gè)方法共調(diào)用;
(1)增量抽取方法需要傳入?yún)?shù)有三個(gè):基礎(chǔ)數(shù)據(jù),擴(kuò)展數(shù)據(jù)和屬性控制規(guī)則;方法中會根據(jù)配置文件獲取屬性控制配置;方法會首先遍歷基礎(chǔ)數(shù)據(jù),并與擴(kuò)展數(shù)據(jù)進(jìn)行比較,并記錄修改和刪除的數(shù)據(jù);之后會遍歷擴(kuò)展數(shù)據(jù)節(jié)點(diǎn),找出新增的數(shù)據(jù);兩部分合并作為最后的增量數(shù)據(jù);
(2)增量會封裝在一個(gè)實(shí)體類中,并為實(shí)體類提供XML序列化和反序列化方法;在抽取完成后,將增量實(shí)體類序列化成XML格式存儲;增量實(shí)體類包括八個(gè)屬性:節(jié)點(diǎn)ID、增量方式、父節(jié)點(diǎn)ID、節(jié)點(diǎn)內(nèi)容、節(jié)點(diǎn)屬性名稱、節(jié)點(diǎn)屬性值、基礎(chǔ)父節(jié)點(diǎn)和擴(kuò)展父節(jié)點(diǎn);其中,當(dāng)增量方式為增加時(shí),節(jié)點(diǎn)內(nèi)容記錄新增節(jié)點(diǎn)的全部內(nèi)容;當(dāng)增量方式為修改時(shí),節(jié)點(diǎn)屬性名稱用于表示被修改的屬性名稱,節(jié)點(diǎn)屬性值用于表示修改后的值;如果某個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)變換了,那么基礎(chǔ)父節(jié)點(diǎn)用于表示變換之前的父節(jié)點(diǎn),擴(kuò)展父節(jié)點(diǎn)用于表示變化之后的父節(jié)點(diǎn);
(3)增量合并方法同樣需要傳入三個(gè)參數(shù):基礎(chǔ)數(shù)據(jù),增量和屬性控制規(guī)則;屬性控制配置放在配置文件中,在增量合并方法中自動獲取;增量合并方法將增量按照屬性控制配置與屬性控制規(guī)則合并到基礎(chǔ)數(shù)據(jù)中去,形成擴(kuò)展數(shù)據(jù)并返回供使用。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮通用軟件有限公司,未經(jīng)浪潮通用軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710067077.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





