亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)處理的方法及裝置的制造方法

文檔序號:10687027閱讀:283來源:國知局
一種數(shù)據(jù)處理的方法及裝置的制造方法
【專利摘要】本發(fā)明公開一種數(shù)據(jù)處理的方法及裝置,涉及通信技術(shù)領(lǐng)域,可以解決寫入XML數(shù)據(jù)庫性能差的問題。本發(fā)明實施例通過接收用戶輸入的需要劃分的子樹的數(shù)量,然后根據(jù)子樹的數(shù)量為每個子樹分配ID,當(dāng)接收到處理請求時,根據(jù)預(yù)設(shè)的計算方法確定每個待處理數(shù)據(jù)的特征值,根據(jù)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,最后根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。本發(fā)明實施例提供的方案適于對DOM樹中的數(shù)據(jù)處理時采用。
【專利說明】
一種數(shù)據(jù)處理的方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理的方法及裝置。
【背景技術(shù)】
[0002]XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)為一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,它可以將文檔分為許多部件,并用標(biāo)簽對這些部件加以標(biāo)識,其中,標(biāo)簽是指計算機(jī)可以理解的信息符號。XML文件在內(nèi)存中存儲時可以被解析成一個樹狀結(jié)構(gòu),稱為D0M(Document Object Model,文檔對象模型)樹,例如,如圖1所示,左側(cè)為用XML文件表示的層次關(guān)系,右側(cè)為XML文件對應(yīng)的樹形結(jié)構(gòu)圖,在左側(cè)的XML文件中,每一對標(biāo)簽由起始標(biāo)簽(如<a>)和結(jié)束標(biāo)簽(如</a>)組成,每一對標(biāo)簽及其內(nèi)容稱為一個節(jié)點(如<bI>...</bI>)。外層節(jié)點為內(nèi)層節(jié)點的父節(jié)點,內(nèi)層節(jié)點為外層節(jié)點的子節(jié)點,如a是b1、b2、b3的父節(jié)點,bl、b2、b3是a的子節(jié)點,此外,擁有值的節(jié)點為葉子節(jié)點,例如假設(shè)存在節(jié)點<b I > 1 </b I >,則b I節(jié)點為葉子節(jié)點,該節(jié)點的值為1,擁有子節(jié)點的節(jié)點為容器節(jié)點,例如圖1中的a、b3。
[0003]DOM樹的形狀會根據(jù)計算機(jī)所接收到的請求發(fā)生變化,例如當(dāng)請求刪除、增加或者修改文件時,DOM樹也會根據(jù)請求在不同的高度上生成新的樹杈、樹葉或者被剪枝。以DOM樹生成新的樹葉為例,當(dāng)有三個應(yīng)用app1、app2、app3在同一時刻分別請求對圖1中的b2節(jié)點增加子節(jié)點c4、c5、c6時,為了保證修改的準(zhǔn)確性,一般會按照串行的順序執(zhí)行每個請求,例如,先執(zhí)行appl的請求,然后執(zhí)行app2的請求,最后執(zhí)行app3的請求,執(zhí)行結(jié)束后b2會有6個子節(jié)點。而如果并行執(zhí)行這三個應(yīng)用的請求,會導(dǎo)致處理速度較慢的app覆蓋掉之前另外兩個應(yīng)用做的修改,例如8卩卩3的處理速度較慢,最后的修改結(jié)果會變?yōu)?2有(31、02、03、06這4個子節(jié)點,顯然會導(dǎo)致處理結(jié)果出現(xiàn)錯誤。
[0004]所以,如果并行處理每個應(yīng)用的請求會導(dǎo)致處理結(jié)果出現(xiàn)錯誤,但是由于計算機(jī)所能運(yùn)行的應(yīng)用非常龐大,且應(yīng)用可能會以很高的頻率發(fā)出請求,按照串行處理的方法會導(dǎo)致應(yīng)用所發(fā)出的請求的等待時間過長,導(dǎo)致XML數(shù)據(jù)庫的性能差。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的實施例提供一種數(shù)據(jù)處理的方法及裝置,可以解決XML數(shù)據(jù)庫的性能差的問題。
[0006]為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0007]第一方面,本發(fā)明實施例提供一種數(shù)據(jù)處理的方法,所述方法應(yīng)用于DOM樹,所述方法包括:
[0008]接收用戶輸入的需要劃分的子樹數(shù)量;
[0009]根據(jù)所述子樹數(shù)量為每個子樹分配ID;
[0010]當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù);
[0011]根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,所述預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系;
[0012]根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0013]對于本發(fā)明實施例,相比與現(xiàn)有技術(shù)中不能在保證數(shù)據(jù)處理正確性的前提下提高數(shù)據(jù)處理的效率,導(dǎo)致XML數(shù)據(jù)庫的性能差相比,本發(fā)明實施例可以根據(jù)預(yù)設(shè)映射關(guān)系分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,每個子樹ID對應(yīng)一個子樹,通過待處理數(shù)據(jù)的特征值與子樹ID的映射關(guān)系來劃分子樹可以使得各子樹下的數(shù)據(jù)量分布較為均勻,且各子樹被訪問的頻度均勻,對應(yīng)于不同子樹ID的處理請求將會被并行執(zhí)行,提高了數(shù)據(jù)處理的速度,進(jìn)而提高了 XML數(shù)據(jù)庫的性能。
[0014]在第一方面的基礎(chǔ)上,所述方法還包括:
[0015]將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在所述同一子樹ID所屬的子樹中進(jìn)行處理。
[0016]結(jié)合第一方面,需要說明的是,所述方法還包括:
[0017]在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0018]結(jié)合第一方面,還需說明的是,所述當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值包括:
[0019]當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;
[0020]根據(jù)預(yù)設(shè)的所述至少一個特征位置,從所述待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);
[0021 ]采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;
[0022]根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。
[0023]采用本發(fā)明實施例的方法相比較于將根節(jié)點下的每個子節(jié)點劃分為一個子樹,可以更加靈活的控制劃分的子樹的數(shù)量,從而調(diào)整并發(fā)執(zhí)行處理請求的數(shù)量,通過預(yù)映射關(guān)系,可以使各子樹下的數(shù)據(jù)量分布較為均勻且各子樹被訪問的頻度較為均勻,從而提高XML數(shù)據(jù)庫的性能。
[0024]在第一方面的基礎(chǔ)上,可選的,所述待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。
[0025]在第一方面的基礎(chǔ)上,可選的,所述特征位置為指定層級的標(biāo)簽名,或者為指定層級的標(biāo)簽值。
[0026]第二方面,本發(fā)明實施例提供一種數(shù)據(jù)處理的裝置,包括:
[0027]接收單元,用于接收用戶輸入的需要劃分的子樹數(shù)量;
[0028]分配單元,用于根據(jù)所述子樹數(shù)量為每個子樹分配ID;
[0029]確定單元,用于當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù);根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,所述預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系;
[0030]處理單元,用于根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0031]在第二方面的基礎(chǔ)上,需要指出的是,所述處理單元,還用于將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在所述同一子樹ID所屬的子樹中進(jìn)行處理。
[0032]結(jié)合第二方面,需要說明的是,所述裝置還包括預(yù)設(shè)單元;
[0033]所述預(yù)設(shè)單元,用于在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0034]結(jié)合第二方面,還需說明的是,所述確定單元,還用于當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;根據(jù)預(yù)設(shè)的所述至少一個特征位置,從所述待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。
[0035]在第二方面的基礎(chǔ)上,可選的,所述待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。
[0036]在第二方面的基礎(chǔ)上,可選的,所述特征位置為指定層級的標(biāo)簽名,或者為指定層級的標(biāo)簽值。
[0037]第三方面,本發(fā)明實施例還提供一種數(shù)據(jù)處理的裝置,包括:
[0038]收發(fā)器,用于接收用戶輸入的需要劃分的子樹數(shù)量;
[0039]處理器,與所述收發(fā)器耦合,用于根據(jù)所述子樹數(shù)量為每個子樹分配ID;當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù);根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,所述預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系;根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0040]在第三方面的基礎(chǔ)上,所述處理器,還用于將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在所述同一子樹ID所屬的子樹中進(jìn)行處理。
[0041]結(jié)合第三方面,需要說明的是,所述處理器,還用于在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0042]結(jié)合第三方面,還需說明的是,所述處理器,還用于當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;根據(jù)預(yù)設(shè)的所述至少一個特征位置,從所述待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。
[0043]在第三方面的基礎(chǔ)上,可選的,所述待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。
[0044]在第三方面的基礎(chǔ)上,可選的,所述特征位置為指定層級的標(biāo)簽名,或者為指定層級的標(biāo)簽值。
[0045]本發(fā)明實施例提供的數(shù)據(jù)處理的方法及裝置,首先接收用戶輸入的需要劃分的子樹的數(shù)量,然后根據(jù)子樹的數(shù)量為每個子樹分配ID,當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,最后根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。相比與現(xiàn)有技術(shù)中不能在保證數(shù)據(jù)處理正確性的前提下提高數(shù)據(jù)處理的效率,導(dǎo)致XML數(shù)據(jù)庫的性能差相比,本發(fā)明實施例可以根據(jù)預(yù)設(shè)的特征值與子樹ID的映射關(guān)系分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,每個子樹ID對應(yīng)一個子樹,通過待處理數(shù)據(jù)的特征值與子樹ID的映射關(guān)系來劃分子樹可以使得各子樹下的數(shù)據(jù)量分布較為均勻,且各子樹被訪問的頻度均勻,對應(yīng)于不同子樹ID的處理請求將會被并行執(zhí)行,提高了數(shù)據(jù)處理的速度,進(jìn)而提高了 XML數(shù)據(jù)庫的性能。
【附圖說明】
[0046]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]圖1為本發(fā)明【背景技術(shù)】中提供的XML文件與DOM樹的示例性示意圖;
[0048]圖2為本發(fā)明實施例提供的一種數(shù)據(jù)處理的方法的流程圖;
[0049]圖3為本發(fā)明實施例提供的另一種數(shù)據(jù)處理的方法的流程圖;
[0050]圖4為本發(fā)明實施例提供的另一種數(shù)據(jù)處理的方法的流程圖;
[0051 ]圖5為本發(fā)明實施例提供的一種數(shù)據(jù)處理的方法的示例性示意圖;
[0052]圖6為本發(fā)明實施例提供的另一種數(shù)據(jù)處理的方法的示例性示意圖;
[0053]圖7為本發(fā)明實施例提供的一種數(shù)據(jù)處理的裝置的邏輯結(jié)構(gòu)示意圖;
[0054]圖8為本發(fā)明實施例提供的另一種數(shù)據(jù)處理的裝置的邏輯結(jié)構(gòu)示意圖;
[0055]圖9為本發(fā)明實施例提供的數(shù)據(jù)處理的方法中用于對XML數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行處理的裝置的邏輯結(jié)構(gòu)示意圖。
【具體實施方式】
[0056]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0057]為了提高XML數(shù)據(jù)庫的性能,本發(fā)明實施例提供一種數(shù)據(jù)處理的方法,可以將一個DOM樹劃分為多個獨立的子樹以提高數(shù)據(jù)讀寫操作的響應(yīng)速度,如圖2所示,該方法包括:
[0058]201、接收用戶輸入的需要劃分的子樹數(shù)量。
[0059]其中,本發(fā)明的執(zhí)行主體為能夠?qū)ML數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行處理的終端設(shè)備,例如計算機(jī)等,計算機(jī)可以接收用戶輸入的子樹的數(shù)量,進(jìn)而確定需要劃分的子樹數(shù)量。用戶可以根據(jù)XML數(shù)據(jù)庫對應(yīng)的DOM樹的具體情況,靈活的控制需要劃分的子樹數(shù)量。
[0060]202、根據(jù)子樹數(shù)量為每個子樹分配ID。
[0061]例如,如果子樹數(shù)量為4,則可以將這4個子樹的ID分別設(shè)置為0、1、2、3。子樹的ID
不限制于數(shù)字,可以由用戶設(shè)置。
[0062]203、當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù)。
[0063]其中,待處理數(shù)據(jù)為待寫入數(shù)據(jù)或者待刪除數(shù)據(jù)或者待修改數(shù)據(jù),一般以路徑的方式表示待處理數(shù)據(jù),例如待處理數(shù)據(jù)為\a\b2\c3,則表示待處理數(shù)據(jù)為a節(jié)點的子節(jié)點b2所包含的c3節(jié)點或者c3節(jié)點中的具體數(shù)據(jù)。
[0064]需要說明的是,當(dāng)接收到多個應(yīng)用發(fā)送的處理請求時,每個處理請求中都攜帶待處理數(shù)據(jù),可以并行的計算每個待處理數(shù)據(jù)的特征值。
[0065]204、根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系。
[0066]其中,預(yù)設(shè)映射關(guān)系以及特征值的計算方法均已預(yù)先存儲在終端設(shè)備中。
[0067]值得說明的是,確定每個待處理數(shù)據(jù)特征值對應(yīng)的子樹ID的過程相當(dāng)于子樹劃分的過程,對應(yīng)于同一子樹ID的數(shù)據(jù)屬于同一個子樹。
[0068]205、根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0069]需要說明的是,各個子樹相互獨立,即每個子樹都可以獨立為一個DOM樹,對不同子樹的處理請求可以并行執(zhí)行互不影響。
[0070]本發(fā)明實施例提供的數(shù)據(jù)處理的方法,首先接收用戶輸入的需要劃分的子樹的數(shù)量,然后根據(jù)子樹的數(shù)量為每個子樹分配ID,當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,最后根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。相比與現(xiàn)有技術(shù)中不能在保證數(shù)據(jù)處理正確性的前提下提高數(shù)據(jù)處理的效率,導(dǎo)致XML數(shù)據(jù)庫的性能差相比,本發(fā)明實施例可以根據(jù)預(yù)設(shè)的特征值與子樹ID的映射關(guān)系分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,每個子樹ID對應(yīng)一個子樹,通過待處理數(shù)據(jù)的特征值與子樹ID的映射關(guān)系來劃分子樹可以使得各子樹下的數(shù)據(jù)量分布較為均勻,且各子樹被訪問的頻度均勻,對應(yīng)于不同子樹ID的處理請求將會被并行執(zhí)行,提高了數(shù)據(jù)處理的速度,進(jìn)而提高了 XML數(shù)據(jù)庫的性能。
[0071]結(jié)合圖2所示的實施例,還會存在接收到的多個待處理請求所包含的待處理數(shù)據(jù)均屬于同一子樹的情況,所以在本發(fā)明實施例提供的另一種實現(xiàn)方式中,如圖3所示,該方法還包括:
[0072]206、將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在同一子樹ID所屬的子樹中進(jìn)行處理。
[0073]需要說明的是,步驟205與步驟206沒有先后順序,假設(shè)有6個處理請求:A、B、C、D、E、F,以及4個子樹:子樹I至子樹4。A、B、C分別對應(yīng)子樹I至3,D、E,F(xiàn)均對應(yīng)于子樹4,則A、B、C、D并行在子樹I至子樹4中執(zhí)行,E、F則位于子樹4的等待隊列中,在D執(zhí)行完之后再按順序執(zhí)行E、F。
[0074]為了對確定待處理數(shù)據(jù)特征值的方法進(jìn)行詳細(xì)說明,在本發(fā)明實施例提供的另一種實現(xiàn)方式中,如圖4所示,在對待處理數(shù)據(jù)進(jìn)行處理之前,還需執(zhí)行步驟401。
[0075]401、在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0076]其中,特征位置為DOM樹中指定層級的標(biāo)簽名,或者為DOM樹中指定層級的標(biāo)簽值。其中,標(biāo)簽值是指XML標(biāo)簽對應(yīng)的具體值。
[0077]在本發(fā)明實施例中,以圖5所示的DOM樹為例進(jìn)行說明,如圖5所示,根節(jié)點a擁有26個子節(jié)點,它們的標(biāo)簽名分別為aa、bb、c c、…、z z,這些子節(jié)點全都是容器節(jié)點。其中,a節(jié)點所在的層級為第一層,aa、bb、cc、"_、zz所在的層級為第二層。
[0078]例如,特征位置可以設(shè)置為第二層標(biāo)簽的標(biāo)簽名。或者,還可以設(shè)置多個特征位置,例如設(shè)置特征位置I為第二層標(biāo)簽的標(biāo)簽名,特征位置2為第三層標(biāo)簽的標(biāo)簽名,特征位置3為第三層標(biāo)簽的標(biāo)簽值。
[0079]需要說明的是,步驟401可以執(zhí)行于上述步驟203之前的任意步驟,圖4以步驟401執(zhí)行于步驟201之前為例。
[0080]進(jìn)一步的,上述步驟203、當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值具體可以實現(xiàn)為步驟2031至步驟2034。
[0081 ] 2031、當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑。
[0082]假設(shè)接收到4個處理請求,均為寫入請求,4個待寫入數(shù)據(jù)分別為:
[0083]/a/bb/cl
[0084]/a/cc/cx2
[0085]/a/dd/cyy3
[0086]/a/ee/czzz4
[0087]根據(jù)待寫入數(shù)據(jù)即可確定待寫入數(shù)據(jù)的存儲路徑,例如,上述第一條待寫入數(shù)據(jù)的存儲路徑為a節(jié)點子節(jié)點bb的子節(jié)點的位置。
[0088]2032、根據(jù)預(yù)設(shè)的所述至少一個特征位置,從待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù)。
[0089]仍以特征位置為第二層標(biāo)簽的標(biāo)簽名為例,則步驟2031中的4個待處理數(shù)據(jù)的在特征位置上的特征數(shù)據(jù)分別為bb、cc、dd、ee。
[0090]2033、采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值。
[0091]其中,預(yù)設(shè)算法可以靈活設(shè)置,例如可以將特征位置上的特征數(shù)據(jù)的第一個字符的ASCII碼值作為數(shù)據(jù)的子特征值。
[0092]4個待處理數(shù)據(jù)的在特征位置上的特征數(shù)據(jù)分別為bb、cc、dd、ee,則每個特征數(shù)據(jù)的第一個字符(b、c、d、e)的ASCII碼值分別為98,99,100,1I。
[0093]進(jìn)而可以確定每個特征數(shù)據(jù)的子特征值分別為98,99,100,101。
[0094]2034、根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。
[0095]需要說明的是,當(dāng)特征位置只有一個時,可以直接將每個特征數(shù)據(jù)的子特征值作為待處理數(shù)據(jù)的特征值,或者可以將每個子特征值進(jìn)行一定的處理之后得到的值作為待處理數(shù)據(jù)的特征值。
[0096]當(dāng)特征位置有多個時,例如有兩個特征位置,則根據(jù)每個待處理數(shù)據(jù)可以確定出兩個子特征值,待處理數(shù)據(jù)的特征值可以為對該待處理數(shù)據(jù)的兩個子特征值進(jìn)行一定的運(yùn)算之后得到的結(jié)果,例如,將同一個待處理數(shù)據(jù)對應(yīng)的兩個子特征值的差值作為待處理數(shù)據(jù)的特征值。
[0097]假設(shè)本步驟中最終確定的上述4個待處理數(shù)據(jù)的特征值分別為:98,99,100,101。
[0098]然后假設(shè)上述步驟204中的預(yù)設(shè)映射關(guān)系為:特征值除以4的余數(shù)為子樹ID。
[0099]則可根據(jù)上述4個待處理數(shù)據(jù)的特征值確定上述4個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID分別為2、3、0、1,進(jìn)而可以將上述4個待處理數(shù)據(jù)并行寫入子樹2、子樹3、子樹O以及子樹I中。
[0100]在上述例子的相關(guān)描述中,可以理解的是,子樹的劃分是根據(jù)特征位置上的特征數(shù)據(jù)的特征值確定的,按照上述例子中確定特征值的方法以及預(yù)設(shè)映射關(guān)系,可以將圖5所不的DOM樹分割為4個子樹,分別為子樹O、子樹1、子樹2以及子樹3。
[0?0? ] 其中,子樹O包括:根節(jié)點a,以及子節(jié)點dd、hh、ll、pp、tt、xx;
[0?02] 子樹I包括:根節(jié)點a,以及子節(jié)點aa、ee、i1、mm、qq、uu、yy;
[0? O3 ] 子樹2包括:根節(jié)點a,以及子節(jié)點bb、f f、j j、nn、rr、vv、zz;
[0?04] 子樹3包括:根節(jié)點a,以及子節(jié)點cc、gg、kk、oo、ss、ww。
[0105]并行將上述4個待處理數(shù)據(jù)寫入上述4個子樹后,這4個子樹如圖6所示。
[0106]需要說明的是,上述步驟2033中,計算每個特征數(shù)據(jù)的子特征值時所采用的方法不限制于上述舉例中的一種,可以根據(jù)具體的XML數(shù)據(jù)庫進(jìn)行設(shè)置。
[0107]例如還可以取特征數(shù)據(jù)第一個字符的ASCII碼的值,將這個值與57的乘積作為子特征值;或者,
[0108]累加特征數(shù)據(jù)中所有字符的ASCII碼的值,將累加值乘以57再除以31,得到的結(jié)果四舍五入后作為子特征值;或者,
[0109]取特征位置I上的特征數(shù)據(jù)第一個字符的ASCII碼的值,作為待處理數(shù)據(jù)的一個子特征值,稱為X,再取特征位置2上的特征數(shù)據(jù)的字符串長度,作為待處理數(shù)據(jù)的另一個子特征值,稱為y,將X >*97作為待處理數(shù)據(jù)的特征值。
[0110]此外,預(yù)設(shè)映射關(guān)系也不限制于上述舉例的一種,可以根據(jù)具體的XML數(shù)據(jù)庫進(jìn)行設(shè)置。
[0111]例如還可為數(shù)據(jù)特征值的個位數(shù)字大于等于O且小于3的,映射到O;大于等于3且小于5的,映射到I;大于等于5且小于8的,映射到2;大于等于8的,映射到3;或者,
[0112]對數(shù)據(jù)特征值求8的余數(shù),余O、I的映射到O;余2、3的映射到I;余4、5的映射到2;余
6、7的映射到3。
[0113]所以,本發(fā)明實施例可以通過改變計算待處理數(shù)據(jù)特征值的方法或者通過修改特征值與子樹ID的映射關(guān)系來修改子樹的劃分結(jié)果。
[0114]采用本發(fā)明實施例的方法相比較于將根節(jié)點下的每個子節(jié)點劃分為一個子樹,可以更加靈活的控制劃分的子樹的數(shù)量,從而調(diào)整并發(fā)執(zhí)行處理請求的數(shù)量,通過預(yù)映射關(guān)系,可以使各子樹下的數(shù)據(jù)量分布較為均勻且各子樹被訪問的頻度較為均勻,從而提高XML數(shù)據(jù)庫的性能。
[0115]對應(yīng)于上述方法實施例,為了提高XML數(shù)據(jù)庫的性能,本發(fā)明實施例還提供一種數(shù)據(jù)處理的裝置,如圖7所示,該裝置包括:接收單元701,分配單元702,確定單元703以及處理單元704。
[0116]接收單元701,用于接收用戶輸入的需要劃分的子樹數(shù)量;
[0117]分配單元702,用于根據(jù)子樹數(shù)量為每個子樹分配ID;
[0118]確定單元703,用于當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,處理請求中包含待處理數(shù)據(jù);根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系;
[0119]其中,待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。
[0120]處理單元704,用于根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0121]在本發(fā)明另一實施例中,處理單元704,還用于將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在同一子樹ID所屬的子樹中進(jìn)行處理。
[0122]在本發(fā)明另一實施例中,如圖8所示,該裝置還包括預(yù)設(shè)單元705;
[0123]預(yù)設(shè)單元705,用于在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0124]其中,特征位置為DOM樹中指定層級的標(biāo)簽名,或者為DOM樹中指定層級的標(biāo)簽值。
[0125]在本發(fā)明另一實施例中,確定單元703,還用于當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;根據(jù)預(yù)設(shè)的至少一個特征位置,從待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;根據(jù)每個特征數(shù)據(jù)的子特征值,確定待處理數(shù)據(jù)的特征值。
[0126]本發(fā)明實施例提供的數(shù)據(jù)處理的裝置,首先接收單元接收需要劃分的子樹的數(shù)量,然后分配單元根據(jù)子樹的數(shù)量為每個子樹分配ID,當(dāng)接收到處理請求時,確定單元確定每個待處理數(shù)據(jù)的特征值,根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,最后處理單元根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。相比與現(xiàn)有技術(shù)中不能在保證數(shù)據(jù)處理正確性的前提下提高數(shù)據(jù)處理的效率,導(dǎo)致XML數(shù)據(jù)庫的性能差相比,本發(fā)明實施例可以根據(jù)預(yù)設(shè)的特征值與子樹ID的映射關(guān)系分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,每個子樹ID對應(yīng)一個子樹,通過待處理數(shù)據(jù)的特征值與子樹ID的映射關(guān)系來劃分子樹可以使得各子樹下的數(shù)據(jù)量分布較為均勻,且各子樹被訪問的頻度均勻,對應(yīng)于不同子樹ID的處理請求將會被并行執(zhí)行,提高了數(shù)據(jù)處理的速度,進(jìn)而提高了 XML數(shù)據(jù)庫的性會K。
[0127]本發(fā)明實施例還提供一種數(shù)據(jù)處理的裝置,如圖9所示,該裝置為圖7和圖8描述的裝置的硬件結(jié)構(gòu)示意圖。其中,該裝置可包括存儲器901,處理器902,收發(fā)器903,總線904。
[0128]存儲器901可以是R0M(Read Only Memory,只讀存儲器),靜態(tài)存儲設(shè)備,動態(tài)存儲設(shè)備或者RAM(Random Access Memory,隨機(jī)存取存儲器)。存儲器901可以存儲操作系統(tǒng)和其他應(yīng)用程序。在通過軟件或者固件來實現(xiàn)本發(fā)明實施例提供的技術(shù)方案時,用于實現(xiàn)本發(fā)明實施例提供的技術(shù)方案的程序代碼保存在存儲器901中,并由處理器902來執(zhí)行。
[0129]收發(fā)器903用于裝置與其他設(shè)備或通信網(wǎng)絡(luò)(例如但不限于以太網(wǎng),RAN Rad1Access Network,無線接入網(wǎng)),WLAN(Wireless Local Area Network,無線局域網(wǎng))等)之間的通?目O
[0130]處理器902可以采用通用的中央處理器(Central Processing Unit,CPU),微處理器,應(yīng)用專用集成電路(Applicat1n Specific Integrated Circuit,ASIC),或者一個或多個集成電路,用于執(zhí)行相關(guān)程序,以實現(xiàn)本發(fā)明實施例所提供的技術(shù)方案。
[0131]總線904可包括一通路,在裝置各個部件(例如存儲器901、收發(fā)器903和處理器902)之間傳送信息。
[0132]應(yīng)注意,盡管圖9所示的硬件僅僅示出了存儲器901、收發(fā)器903、和處理器902以及總線904,但是在具體實現(xiàn)過程中,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,該裝置還包含實現(xiàn)正常運(yùn)行所必須的其他器件。同時,根據(jù)具體需要,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,還可包含實現(xiàn)其他功能的硬件器件。
[0133]具體的,圖9所示的裝置用于實現(xiàn)圖7和圖8實施例所示的裝置時,該裝置中的收發(fā)器903,用于接收用戶輸入的需要劃分的子樹數(shù)量;
[0134]處理器902,與存儲器901和收發(fā)器903耦合,用于根據(jù)子樹數(shù)量為每個子樹分配ID ;當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,處理請求中包含待處理數(shù)據(jù);根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系;根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。
[0135]其中,待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。
[0136]在本發(fā)明另一實施例中,處理器902,還用于將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在同一子樹ID所屬的子樹中進(jìn)行處理。
[0137]在本發(fā)明另一實施例中,處理器902,還用于在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。
[0138]其中,特征位置為DOM樹中指定層級的標(biāo)簽名,或為DOM樹中指定層級的標(biāo)簽值。
[0139]在本發(fā)明另一實施例中,處理器902,還用于當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;根據(jù)預(yù)設(shè)的至少一個特征位置,從待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;根據(jù)每個特征數(shù)據(jù)的子特征值,確定待處理數(shù)據(jù)的特征值。
[0140]本發(fā)明實施例提供的數(shù)據(jù)處理的裝置,首先收發(fā)器接收需要劃分的子樹的數(shù)量,然后處理器根據(jù)子樹的數(shù)量為每個子樹分配ID,當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,最后根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。相比與現(xiàn)有技術(shù)中不能在保證數(shù)據(jù)處理正確性的前提下提高數(shù)據(jù)處理的效率,導(dǎo)致XML數(shù)據(jù)庫的性能差相比,本發(fā)明實施例可以根據(jù)預(yù)設(shè)的特征值與子樹ID的映射關(guān)系分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,每個子樹ID對應(yīng)一個子樹,通過待處理數(shù)據(jù)的特征值與子樹ID的映射關(guān)系來劃分子樹可以使得各子樹下的數(shù)據(jù)量分布較為均勻,且各子樹被訪問的頻度均勻,對應(yīng)于不同子樹ID的處理請求將會被并行執(zhí)行,提高了數(shù)據(jù)處理的速度,進(jìn)而提高了 XML數(shù)據(jù)庫的性能。
[0141]通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0142]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項】
1.一種數(shù)據(jù)處理的方法,其特征在于,所述方法應(yīng)用于文檔對象模型DOM樹,所述方法包括: 接收用戶輸入的需要劃分的子樹數(shù)量; 根據(jù)所述子樹數(shù)量為每個子樹分配ID; 當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù); 根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,所述預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系; 根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理的方法,其特征在于,所述方法還包括: 將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在所述同一子樹ID所屬的子樹中進(jìn)行處理。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理的方法,其特征在于,所述方法還包括: 在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理的方法,其特征在于,所述當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值包括: 當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑; 根據(jù)預(yù)設(shè)的所述至少一個特征位置,從所述待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù); 采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值; 根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。5.根據(jù)權(quán)利要求1至4中任一項所述的數(shù)據(jù)處理的方法,其特征在于,所述待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理的方法,其特征在于,所述特征位置為指定層級的標(biāo)簽名,或者為指定層級的標(biāo)簽值。7.一種數(shù)據(jù)處理的裝置,其特征在于,包括: 接收單元,用于接收用戶輸入的需要劃分的子樹數(shù)量; 分配單元,用于根據(jù)所述子樹數(shù)量為每個子樹分配ID; 確定單元,用于當(dāng)接收到處理請求時,確定每個待處理數(shù)據(jù)的特征值,所述處理請求中包含待處理數(shù)據(jù);根據(jù)預(yù)設(shè)映射關(guān)系,分別確定每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,所述預(yù)設(shè)映射關(guān)系為特征值與子樹ID的映射關(guān)系; 處理單元,用于根據(jù)每個待處理數(shù)據(jù)的特征值對應(yīng)的子樹ID,將對應(yīng)于不同子樹ID的待處理數(shù)據(jù),并行在各自子樹ID所屬的子樹中進(jìn)行處理。8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理的裝置,其特征在于, 所述處理單元,還用于將對應(yīng)于同一子樹ID的待處理數(shù)據(jù),串行在所述同一子樹ID所屬的子樹中進(jìn)行處理。9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理的裝置,其特征在于,所述裝置還包括預(yù)設(shè)單元; 所述預(yù)設(shè)單元,用于在數(shù)據(jù)的存儲路徑上預(yù)設(shè)至少一個特征位置,所述特征位置用于指示確定特征值時所采用的特征數(shù)據(jù)的位置。10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理的裝置,其特征在于, 所述確定單元,還用于當(dāng)接收到處理請求時,確定待處理數(shù)據(jù)的存儲路徑;根據(jù)預(yù)設(shè)的所述至少一個特征位置,從所述待處理數(shù)據(jù)的存儲路徑中提取每個特征位置上的特征數(shù)據(jù);采用預(yù)設(shè)算法分別計算每個特征數(shù)據(jù)的子特征值;根據(jù)每個特征數(shù)據(jù)的子特征值,確定所述待處理數(shù)據(jù)的特征值。11.根據(jù)權(quán)利要求7至10中任一項所述的數(shù)據(jù)處理的裝置,其特征在于,所述待處理數(shù)據(jù)包括:待修改數(shù)據(jù)、待刪除數(shù)據(jù)以及待寫入數(shù)據(jù)。12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理的裝置,其特征在于,所述特征位置為指定層級的標(biāo)簽名,或者為指定層級的標(biāo)簽值。
【文檔編號】G06F17/22GK106055527SQ201610349601
【公開日】2016年10月26日
【申請日】2016年5月24日
【發(fā)明人】李巖
【申請人】華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1