數(shù)據(jù)管理方法、裝置的制造方法
【專利摘要】本申請公開了一種數(shù)據(jù)管理方法及裝置,其將預設(shè)管理功能對應的所有屬性都作為關(guān)鍵屬性,并同時根據(jù)所有的關(guān)鍵屬性對原始數(shù)據(jù)進行拆分,從而保證在基于拆分后的子數(shù)據(jù)庫執(zhí)行任一項預設(shè)管理功能時,都可以通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而過濾掉肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù)量,提高操作效率。
【專利說明】
數(shù)據(jù)管理方法、裝置
技術(shù)領(lǐng)域
[0001] 本申請設(shè)及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其設(shè)及一種數(shù)據(jù)管理方法、裝置。
【背景技術(shù)】
[0002] 在信息化社會,數(shù)據(jù)管理與人們的日常生活及工作息息相關(guān)。例如,用于存儲姓名 和電話號碼兩個屬性的通訊錄表,用于管理企業(yè)的人力、財務(wù)等信息的大型數(shù)據(jù)庫等。為便 于執(zhí)行查詢、更新等數(shù)據(jù)管理操作,對于數(shù)據(jù)量較大的單一數(shù)據(jù)庫(如一個具有多行多列 的數(shù)據(jù)表),一般需要將其拆分為多個子數(shù)據(jù)庫(即分庫分表),進而基于該子數(shù)據(jù)庫執(zhí)行 相應的查詢、增加、刪除、修改等管理操作。
[0003] 上述將一個數(shù)據(jù)庫拆分為多個子數(shù)據(jù)庫,一般選擇原始數(shù)據(jù)中的某一個關(guān)鍵屬性 為拆分依據(jù)。例如,對于存儲網(wǎng)購交易信息的表格Table,可W選擇買家的身份標識碼(ID) 為拆分依據(jù),將Table拆分為多個子表;其中,拆分規(guī)則可W為:買家ID的末位數(shù)值在區(qū)間 [0, 4]內(nèi)的交易信息記錄在子表TableOl中,買家ID的末位數(shù)值在區(qū)間[5, 9]內(nèi)的交易信 息記錄在子表T油le02中。基于拆分后的兩個子表,當需要查詢買家ID為"2345"的交易信 息時,由于其末位數(shù)值在區(qū)間[5, 9]內(nèi),故只在T油le02中查詢即可得到正確的查詢結(jié)果, 不需要獲取T油leOl中的交易信息,相對于在原表格T油le中執(zhí)行查詢操作,待處理數(shù)據(jù)量 大大減少,有利于提高查詢效率、減少相關(guān)設(shè)備的工作負擔。同樣,基于拆分后的兩個子表 執(zhí)行W查詢?yōu)榛A(chǔ)的增加、刪除和修改等管理操作,亦能相應提高操作效率。
[0004] 但是,實際查詢操作中的查詢條件往往不僅限于上述作為拆分依據(jù)的關(guān)鍵屬性。 仍W上述關(guān)于網(wǎng)購交易信息的表格為例,如果要查詢交易號的末位數(shù)值為0的交易信息, 由于不能確定該交易信息的買家ID,故為得到正確全面的查詢結(jié)果,兩個子表TableOl和 T油le02都需要查詢,因此,上述情境下,即使基于拆分后的子表也不能達到減少數(shù)據(jù)處理 量的目的;同樣的,W查詢?yōu)榛A(chǔ)的增加、修改、刪除等管理操作亦存在上述問題。
【發(fā)明內(nèi)容】
陽0化]為克服相關(guān)技術(shù)中存在的問題,本申請?zhí)峁┮环N數(shù)據(jù)管理方法、裝置。
[0006] 本申請第一方面提供一種數(shù)據(jù)管理方法;該方法包括:
[0007] 確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性;
[0008] 分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集合,并根據(jù)所述 總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值 集合分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集 合不完全相同;
[0009] 根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定對應的子數(shù)據(jù) 庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。
[0010] 結(jié)合第一方面,在第一方面的第一種可行的實施方式中,所述數(shù)據(jù)管理方法還包 括:
[0011] 根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值集合,確定所述待操 作數(shù)據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操 作;
[0012] 其中,所述在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操作,包括W 下至少一項:
[0013] 在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù);
[0014] 將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中;
[0015] 刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù);
[0016] 在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。
[0017] 結(jié)合第一方面的第一種可行的實施方式,在第一方面的第二種可行的實施方式 中,所述在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù),包括:
[0018] 判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待操作數(shù)據(jù)對應 的第二目標子數(shù)據(jù)庫是否相同;
[0019] 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同,則直接在所述第一目標子 數(shù)據(jù)庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操作數(shù)據(jù);
[0020] 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同,則在所述第一目標子數(shù)據(jù) 庫中查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的待操作數(shù)據(jù)添加至所述第二 目標子數(shù)據(jù)庫中。
[0021] 本申請第二方面提供一種數(shù)據(jù)管理裝置;該裝置包括:
[0022] 屬性確定單元,用于確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性;
[0023] 子庫建立單元,用于分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取 值集合,并根據(jù)所述總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù)庫的各個關(guān) 鍵屬性的實際取值集合分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵 屬性的實際取值集合不完全相同;
[0024] 數(shù)據(jù)分庫單元,用于根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合 確定對應的子數(shù)據(jù)庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。
[00巧]結(jié)合第二方面,在第二方面的第一種可行的實施方式中,所述數(shù)據(jù)管理裝置還包 括:
[0026] 數(shù)據(jù)操作單元,用于根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值 集合,確定所述待操作數(shù)據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操 作數(shù)據(jù)對應的管理操作;
[0027] 其中,所述數(shù)據(jù)操作單元包括W下至少一項:
[0028] 數(shù)據(jù)查詢模塊,用于在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù);
[0029] 數(shù)據(jù)添加模塊,用于將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中;
[0030] 數(shù)據(jù)刪除模塊,用于刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù);
[0031] 數(shù)據(jù)修改模塊,用于在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。
[0032] 結(jié)合第二方面的第一種可行的實施方式,在第二方面的第一種可行的實施方式 中,所述數(shù)據(jù)修改模塊包括:
[0033] 判斷模塊,用于判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待 操作數(shù)據(jù)對應的第二目標子數(shù)據(jù)庫是否相同;
[0034] 第一修改模塊,用于在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同時,直接 在所述第一目標子數(shù)據(jù)庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操作數(shù) 據(jù);
[0035] 第二修改模塊,用于在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同時,在所 述第一目標子數(shù)據(jù)庫中查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的待操作數(shù) 據(jù)添加至所述第二目標子數(shù)據(jù)庫中。
[0036] 由W上技術(shù)方案可知,本申請實施例將預設(shè)管理功能對應的所有屬性都作為關(guān)鍵 屬性,并同時根據(jù)所有的關(guān)鍵屬性對原始數(shù)據(jù)進行拆分,從而保證在基于拆分后的子數(shù)據(jù) 庫執(zhí)行任一項預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而 過濾掉肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù) 量,提高操作效率。
[0037] 應當理解的是,W上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不 能限制本申請。
【附圖說明】
[0038] 此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施 例,并與說明書一起用于解釋本發(fā)明的原理。
[0039] 圖1是根據(jù)一示例性實施例示出的一種數(shù)據(jù)管理方法的流程圖。
[0040] 圖2是根據(jù)一示例性實施例示出的另一種數(shù)據(jù)管理方法的流程圖。
[0041] 圖3是根據(jù)一示例性實施例示出的一種數(shù)據(jù)管理裝置的框圖。
[0042] 圖4是根據(jù)一示例性實施例示出的另一種數(shù)據(jù)管理裝置的框圖。
【具體實施方式】
[0043] 運里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述設(shè)及 附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。W下示例性實施例 中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附 權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。 W44] 圖1為本申請實施例提供的一種數(shù)據(jù)管理方法的流程圖。如圖1所示,該方法包 括W下步驟。
[0045] S11、確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性。
[0046] 本申請實施例中,仍W原始數(shù)據(jù)的關(guān)鍵屬性為拆分依據(jù);與現(xiàn)有技術(shù)不同的是,本 實施例根據(jù)實際應用情境下提供的原始數(shù)據(jù)的預設(shè)管理功能來確定作為拆分依據(jù)的關(guān)鍵 屬性,即該關(guān)鍵屬性為實現(xiàn)對應預設(shè)管理功能所必需的屬性,且該關(guān)鍵屬性的個數(shù)不局限 于1個。
[0047] 例如,下表1記錄了一年內(nèi)的上億條網(wǎng)絡(luò)購物的交易信息,每條交易信息包括交 易號、買家ID、買家等級、收貨地、銷售平臺、商品類目、銷售金額等多個屬性。 W48] 表1交易信息表 [0049]
陽050] 假設(shè)某一應用情境下包括如下兩個預設(shè)管理功能:"統(tǒng)計某一買家某一類商品的 購買量"和"統(tǒng)計某一地區(qū)某一類商品的購買量",則實現(xiàn)前者需要對"買家ID"和"商品類 目"進行篩選,對應的關(guān)鍵屬性至少包括"買家ID"和"商品類目",后者需要對"收貨地"和 "商品類目"進行篩選,對應的關(guān)鍵屬性至少包括:"收貨地"和"商品類目"。同時,其他預設(shè) 管理功能(如查詢、刪除等)對應的關(guān)鍵屬性也只有買家ID、收貨地和商品類目中的一個或 幾個;因此,該應用情境下的關(guān)鍵屬性(即拆分依據(jù))包括W下Ξ項:買家ID、收貨地和商 品類目。
[0051] S12、分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集合,并根據(jù) 所述總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫。
[0052] 所述子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集合分別為對應的一個子取值集合, 且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集合不完全相同。
[0053] 如上表1所示買家ID"為4位十進制數(shù)字,總?cè)≈导蠟檎麛?shù)區(qū)間[0000, 9999], 可W設(shè)置根據(jù)"買家ID"的首位進行拆分,將[0000, 9999]分為首位數(shù)字為0~4和~9的 兩部分,即得到[0000,4999]和[5000,9999]兩個子取值集合。對于"收貨地"運一關(guān)鍵屬 性,可W根據(jù)收貨地所屬的市區(qū)名稱全拼的首字母進行拆分,即將首字母對應的字母集合 [a, z](即總?cè)≈导希鸱譃閇a, m]和[η, Z]兩個子取值集合。對于"商品類目"運一關(guān) 鍵屬性,其總?cè)≈导蠟閧男裝、女裝、鞋包、家電、數(shù)碼、美妝、食品、日用},可W拆分為{男 裝、女裝、鞋包}、{家電、數(shù)碼}和{美妝、食品、日用} Ξ個子取值集合。需要說明的是,上 述對于3個關(guān)鍵屬性總?cè)≈导系牟鸱址椒ㄖ皇潜緦嵤├鄠€可行方式中的一個,本申請 還可W采用其他可行方式進行拆分,且每個關(guān)鍵屬性對應的子取值集合的個數(shù)也不局限于 2個和3個,還可W拆分為更多個。
[0054] 基于上述對3個關(guān)鍵屬性的總?cè)≈导系牟鸱纸Y(jié)果,通過對"買家ID"的2個子取 值集合、"收貨地"的2個子取值集合和"商品類目"的3個取值集合進行組合可W建立12 個子表(即2*2*3);其中,各個子表的關(guān)鍵屬性對應的取值集合如下表2所示:
[0055] 表2拆分所得子表的關(guān)鍵屬性對應的取值集合
[0056]
[0057]
[0058] 由表2可知,本申請實施例基于3個關(guān)鍵屬性拆分得到的12個子表中,每個子表 的每個關(guān)鍵屬性采用對應的一個子取值集合;任意兩個子表的3個關(guān)鍵屬性的取值范圍不 完全相同,即至少存在一個取值集合不同的關(guān)鍵屬性,如序號為01和序號為02對應的兩個 子表相比較,"商品類目"的取值集合不同,序號為01和序號為04對應的兩個子表相比較, "收貨地"的取值集合不同。
[0059] S13、根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定對應的子 數(shù)據(jù)庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。
[0060] 本申請實施例中,針對每條原始數(shù)據(jù),確定其各個關(guān)鍵屬性的實際值屬于步驟S12 中得到的哪個子取值集合,進而確定該原始數(shù)據(jù)存入哪個子數(shù)據(jù)庫,從而完成對原始數(shù)據(jù) 的拆分。如表1中的第一行數(shù)據(jù)(交易號為"201403250002"),其"買家ID"為1001,屬于 子取值集合[0000, 4999],"收貨地"為杭州(首字母為h),屬于子取值集合[a, m],"商品類 目"為食品,屬于子取值集合{美妝、食品、日用},故結(jié)合表2可知,表1中的第一條數(shù)據(jù)應 當存入序號為03的子表;同樣的方法可W確定表1中的第二行數(shù)據(jù)存入序號為08的子表, 第Ξ行數(shù)據(jù)存入序號為12的子表。
[0061] 參照表1,若按照現(xiàn)有僅根據(jù)一個關(guān)鍵屬性進行數(shù)據(jù)庫拆分的方法,無論選擇哪一 個屬性為關(guān)鍵屬性,在實現(xiàn)不設(shè)及該關(guān)鍵屬性的預設(shè)管理操作時,都會存在無法確定w哪 個子表為操作對象的問題,從而只能W所有的子表為操作對象,待處理的數(shù)據(jù)量與拆分前 無差異。而采用上述步驟S11至S13所述的方法實現(xiàn)對表1的拆分,保證任一項預設(shè)管理 功能設(shè)及的屬性都參與表1的拆分,從而在基于拆分后的12個子表執(zhí)行任一項預設(shè)管理功 能時,都可W通過該預設(shè)管理功能的至少一個關(guān)鍵屬性對12個子表進行篩選,從而過濾掉 肯定不存在待操作數(shù)據(jù)的子表,確定與該預設(shè)管理功能相關(guān)的子表,使得待處理數(shù)據(jù)量大 大少于基于表1執(zhí)行相應功能的情況。
[0062] 由W上技術(shù)方案可知,本申請實施例將預設(shè)管理功能對應的所有屬性都作為關(guān)鍵 屬性,并同時根據(jù)所有的關(guān)鍵屬性對原始數(shù)據(jù)進行拆分,從而保證在基于拆分后的子數(shù)據(jù) 庫執(zhí)行任一項預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而 過濾掉肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù) 量,提高操作效率。
[0063] 需要說明的是,當預設(shè)管理功能改變(如增加新的預設(shè)管理功能、或現(xiàn)有的預設(shè) 管理功能對應的關(guān)鍵屬性改變)時,可W重新執(zhí)行上述數(shù)據(jù)管理流程,重新對原始數(shù)據(jù)進 行拆分,W保證基于重新拆分得到的子數(shù)據(jù)庫可W正確執(zhí)行變化后的預設(shè)管理功能。
[0064] 圖2為本申請實施例提供的另一種數(shù)據(jù)管理方法的流程圖。參照圖2,該方法包括 如下步驟:
[0065] S21、確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性。
[0066] S22、分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集合,并根據(jù) 所述總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫。
[0067] S23、根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定對應的子 數(shù)據(jù)庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。
[0068] S24、根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值集合,確定目標 子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操作。 W例上述技術(shù)方案中,步驟S21至S23可W實現(xiàn)對原始數(shù)據(jù)的拆分,且拆分后的子數(shù)據(jù) 庫具有多個關(guān)鍵屬性(具體原理可參照圖1中步驟S11至S13,此處不再寶述);由于運些 關(guān)鍵屬性都是根據(jù)各個預設(shè)管理功能確定的,故在基于拆分后的子數(shù)據(jù)庫執(zhí)行任一項預設(shè) 管理功能時,都存在至少一個關(guān)鍵屬性來實現(xiàn)對子數(shù)據(jù)庫的篩選,具體方法為:首先根據(jù)待 執(zhí)行的預設(shè)管理功能的具體內(nèi)容確定待操作數(shù)據(jù),再根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性 的實際值所在的子取值集合,并根據(jù)確定的該子取值集合對子數(shù)據(jù)庫進行篩選,從而確定 與待操作數(shù)據(jù)相關(guān)的目標子數(shù)據(jù)庫,進而在所述目標子數(shù)據(jù)庫中執(zhí)行對應的管理操作,即 可準確完成預設(shè)管理功能。
[0070] 其中,本申請實施例所述的在所述目標子數(shù)據(jù)庫中執(zhí)行與待操作數(shù)據(jù)對應的管理 操作,包括W下至少一項:
[0071] 1)在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù)。
[0072] 參照上文表1和表2所述的實例,假設(shè)當前待執(zhí)行的預設(shè)管理功能可W為"查詢ID 為4985的買家的交易記錄",具體步驟為:根據(jù)買家ir 4985"屬于子取值集合[0000, 4999] 確定目標子數(shù)據(jù)庫為序號01至06的六個子表,分別查詢運六個子表中買家ID為"4985" 的交易記錄即完成上述查詢功能。
[0073] 2)將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中。
[0074] 仍參照上文表1和表2所述的實例,假設(shè)當前待執(zhí)行的預設(shè)管理功能可W為"將 下表3所示的交易記錄添加至數(shù)據(jù)庫中",具體步驟為:根據(jù)待添加的交易記錄的"買家 ID "2301屬于子取值集合[0000, 4999],"收貨地"屬于子取值集合[η, Z],商品類目屬于子 取值集合{男裝、女裝、鞋包},可W確定目標子數(shù)據(jù)庫對應的序號為04,進而將表3所示交 易記錄添加至序號為04的子表中即可。 陽0巧]表3待添加的交易記錄
[0076]
[0077] 3)刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù)。
[0078] 4)在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。
[0079] 本申請實施例中,數(shù)據(jù)修改操作包括兩種待操作數(shù)據(jù):修改前的待操作數(shù)據(jù)和修 改后的待操作數(shù)據(jù);具體包括如下步驟:
[0080] 判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待操作數(shù)據(jù)對應 的第二目標子數(shù)據(jù)庫是否相同;
[0081] 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同(即修改前的待操作數(shù)據(jù) 和修改后的待操作數(shù)據(jù)的各個關(guān)鍵屬性對應的子取值集合不變),則采用第一種修改方式, 即:直接在第一目標子數(shù)據(jù)庫中查找修改前的待操作數(shù)據(jù),并將其修改為修改后的待操作 數(shù)據(jù)。
[0082] 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同(即修改前的待操作數(shù)據(jù) 和修改后的待操作數(shù)據(jù)的至少一個關(guān)鍵屬性對應的子取值集合改變),則采用第二種修改 方式,即:在第一目標子數(shù)據(jù)庫中查找并刪除修改前的待操作數(shù)據(jù),并將修改后的待操作數(shù) 據(jù)添加至第二目標子數(shù)據(jù)庫中。
[0083] 在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同時,若仍直接在第一目標子數(shù) 據(jù)庫中對修改前的待操作數(shù)據(jù)進行修改,則會使得修改后的待操作數(shù)據(jù)也存儲于第一目標 子數(shù)據(jù)庫中,也即使得修改后的待操作數(shù)據(jù)與其所在的子數(shù)據(jù)庫不對應,影響后續(xù)其他管 理操作的正確執(zhí)行;故針對此種情況,本申請實施例采用上述第二種修改方式。
[0084] 仍參照上文表1和表2所述的實例,并結(jié)合下表4,假設(shè)修改前的待操作數(shù)據(jù)如下 表4中序號1所在行,當修改后的待操作數(shù)據(jù)為序號2所在行時,僅修改非關(guān)鍵屬性"銷售 金額"的實際值,兩種待操作數(shù)據(jù)對應的目標子數(shù)據(jù)庫相同,故可W采用上述第一種修改方 式;當修改后的待操作數(shù)據(jù)為序號3所在行時,雖然修改內(nèi)容為關(guān)鍵屬性"商品類目",但修 改前的"食品"與修改后的"日用"屬于同一個子取值結(jié)合{美妝、食品、日用},故兩種待操 作數(shù)據(jù)對應的目標子數(shù)據(jù)庫仍然相同,仍可采用上述第一種修改方式;當修改后的待操作 數(shù)據(jù)為序號4所在行時,修改內(nèi)容為關(guān)鍵屬性"商品類目"的實際值,且修改前的"食品"和 修改后的"女裝"不屬于同一子取值集合,故兩種待修改數(shù)據(jù)對應的目標子數(shù)據(jù)庫不同,故 應當采用上述第二種修改方式。
[00化]表4修改前后的待操作數(shù)據(jù)對照表
[0086]
陽087] 由W上技術(shù)方案可知,本申請實施例不僅可W保證在基于拆分后的子數(shù)據(jù)庫執(zhí)行 任一項預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而過濾掉 肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù)量,提 高操作效率;還根據(jù)不同的數(shù)據(jù)修改情況設(shè)置不同的修改方式,保證修改后的數(shù)據(jù)存儲位 置的正確性,進而保證后續(xù)其他管理操作的正確執(zhí)行。
[0088] 圖3為本申請實施例提供的一種數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖。參照圖3,該裝置包 括:屬性確定單元110、子庫建立單元120和數(shù)據(jù)分庫單元130。
[0089] 該屬性確定單元110被配置為,確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬 性。
[0090] 該子庫建立單元120被配置為,分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹?少兩個子取值集合,并根據(jù)所述總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù) 庫的各個關(guān)鍵屬性的實際取值集合分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫 的各個關(guān)鍵屬性的實際取值集合不完全相同。
[0091] 該數(shù)據(jù)分庫單元130被配置為,根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的 子取值集合確定對應的子數(shù)據(jù)庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。
[0092] 由W上技術(shù)方案可知,將預設(shè)管理功能對應的所有屬性都作為關(guān)鍵屬性,并同時 根據(jù)所有的關(guān)鍵屬性對原始數(shù)據(jù)進行拆分,從而保證在基于拆分后的子數(shù)據(jù)庫執(zhí)行任一項 預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而過濾掉肯定不 存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù)量,提高操作 效率。
[0093] 參見圖4所示的本申請另一實施例提供的數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖,除上述屬性 確定單元110、子庫建立單元120和數(shù)據(jù)分庫單元130,該數(shù)據(jù)管理裝置還包括:數(shù)據(jù)操作單 元 140〇
[0094] 該數(shù)據(jù)操作單元140被配置為,根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所 在的子取值集合,確定所述待操作數(shù)據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí) 行所述待操作數(shù)據(jù)對應的管理操作。
[0095] 其中,根據(jù)具體執(zhí)行的管理操作的類型,所述數(shù)據(jù)操作單元140包括數(shù)據(jù)查詢模 塊141、數(shù)據(jù)添加模塊142、數(shù)據(jù)刪除模塊143和數(shù)據(jù)修改模塊144中至少一項。
[0096] 該數(shù)據(jù)查詢模塊141被配置為,在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù)。
[0097] 該數(shù)據(jù)添加模塊142被配置為,將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中;
[0098] 該數(shù)據(jù)刪除模塊143被配置為,刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù) 據(jù);
[0099] 該數(shù)據(jù)修改模塊144被配置為,在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù) 據(jù)。
[0100] 進一步的,上述數(shù)據(jù)修改模塊144具體可W包括:判定模塊、第一修改模塊和第二 修改模塊。 陽101]其中,該判斷模塊被配置為,判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫 與修改后的待操作數(shù)據(jù)對應的第二目標子數(shù)據(jù)庫是否相同。
[0102] 該第一修改模塊被配置為,在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同 時,直接在所述第一目標子數(shù)據(jù)庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操 作數(shù)據(jù)。
[0103] 該第二修改模塊被配置為,在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同 時,在所述第一目標子數(shù)據(jù)庫中查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的 待操作數(shù)據(jù)添加至所述第二目標子數(shù)據(jù)庫中。
[0104] 由W上技術(shù)方案可知,本申請實施例不僅可W保證在基于拆分后的子數(shù)據(jù)庫執(zhí)行 任一項預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩選,從而過濾掉 肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù)的總數(shù)據(jù)量,提 高操作效率;還根據(jù)不同的數(shù)據(jù)修改情況設(shè)置不同的修改方式,保證修改后的數(shù)據(jù)存儲位 置的正確性,進而保證后續(xù)其他管理操作的正確執(zhí)行。
[0105] 關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法 的實施例中進行了詳細描述,此處將不做詳細闡述說明。 陽106]另外,本申請實施例還提供了一種計算機存儲介質(zhì),例如可W是ROM、隨機存取存 儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等;該計算機存儲介質(zhì)中存儲有程序,當 所述存儲介質(zhì)中的程序由相關(guān)設(shè)備的處理器執(zhí)行時,使得該設(shè)備能夠執(zhí)行上述方法實施例 中記載的數(shù)據(jù)管理方法的部分或全部步驟。 陽107] 另外,本申請實施例還提供了一種數(shù)據(jù)管理設(shè)備,該數(shù)據(jù)管理設(shè)備至少包括處理 器和存儲器;該存儲器中存儲有可由所述處理器執(zhí)行的指令,如應用程序;該處理器被配 置為執(zhí)行存儲器中的指令,W完成上述數(shù)據(jù)管理方法。其中,所述處理器通過執(zhí)行所述存儲 器中的指令,可W完成如下步驟:
[0108] 確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性;
[0109] 分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集合,并根據(jù)所述 總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值 集合分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集 合不完全相同;
[0110] 根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定對應的子數(shù)據(jù) 庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。 陽111] 在本申請一個可行的實施例中,所述數(shù)據(jù)管理設(shè)備的處理器還可W完成如下步 驟:
[0112] 根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值集合,確定所述待操 作數(shù)據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操 作;
[0113] 其中,所述在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操作,包括W 下至少一項:
[0114] 在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù);
[0115] 將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中;
[0116] 刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù);
[0117] 在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。
[0118] 在本申請另一可行的實施例中,為實現(xiàn)在所述目標子數(shù)據(jù)庫中查詢并修改所述待 操作數(shù)據(jù),所述數(shù)據(jù)管理設(shè)備的處理器可W執(zhí)行如下步驟:
[0119] 判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待操作數(shù)據(jù)對應 的第二目標子數(shù)據(jù)庫是否相同;
[0120] 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同,則直接在所述第一目標子 數(shù)據(jù)庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操作數(shù)據(jù); 陽12U 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同,則在所述第一目標子數(shù)據(jù) 庫中查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的待操作數(shù)據(jù)添加至所述第二 目標子數(shù)據(jù)庫中。
[0122] 由W上技術(shù)方案可知,本申請實施例提供的數(shù)據(jù)管理設(shè)備可W保證在基于拆分后 的子數(shù)據(jù)庫執(zhí)行任一項預設(shè)管理功能時,都可W通過至少一個關(guān)鍵屬性對子數(shù)據(jù)庫進行篩 選,從而過濾掉肯定不存在待操作數(shù)據(jù)的子數(shù)據(jù)庫,使得待處理數(shù)據(jù)量大大少于原始數(shù)據(jù) 的總數(shù)據(jù)量,提高操作效率。另外,該數(shù)據(jù)管理設(shè)備還可W根據(jù)不同的數(shù)據(jù)修改情況設(shè)置不 同的修改方式,保證修改后的數(shù)據(jù)存儲位置的正確性,進而保證后續(xù)其他管理操作的正確 執(zhí)行。
[0123] 本領(lǐng)域技術(shù)人員在考慮說明書及實踐運里公開的發(fā)明后,將容易想到本發(fā)明的其 它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,運些變型、用途或 者適應性變化遵循本發(fā)明的一般性原理并包括本申請未公開的本技術(shù)領(lǐng)域中的公知常識 或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的 權(quán)利要求指出。
[0124] 應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并 且可W在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【主權(quán)項】
1. 一種數(shù)據(jù)管理方法,其特征在于,包括: 確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性; 分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集合,并根據(jù)所述總?cè)?值集合拆分結(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集合 分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵屬性的實際取值集合不 完全相同; 根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定對應的子數(shù)據(jù)庫,并 將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理方法,其特征在于,還包括: 根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值集合,確定所述待操作數(shù) 據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操作; 其中,所述在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作數(shù)據(jù)對應的管理操作,包括以下至 少一項: 在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù); 將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中; 刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù); 在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。3. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)管理方法,其特征在于,所述在所述目標子數(shù)據(jù)庫中查 詢并修改所述待操作數(shù)據(jù),包括: 判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待操作數(shù)據(jù)對應的第 二目標子數(shù)據(jù)庫是否相同; 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同,則直接在所述第一目標子數(shù)據(jù) 庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操作數(shù)據(jù); 如果所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同,則在所述第一目標子數(shù)據(jù)庫中 查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的待操作數(shù)據(jù)添加至所述第二目標 子數(shù)據(jù)庫中。4. 一種數(shù)據(jù)管理裝置,其特征在于,包括: 屬性確定單元,用于確定原始數(shù)據(jù)的預設(shè)管理功能對應的各個關(guān)鍵屬性; 子庫建立單元,用于分別將每個關(guān)鍵屬性對應的總?cè)≈导喜鸱譃橹辽賰蓚€子取值集 合,并根據(jù)所述總?cè)≈导喜鸱纸Y(jié)果建立多個子數(shù)據(jù)庫;其中,所述子數(shù)據(jù)庫的各個關(guān)鍵屬 性的實際取值集合分別為對應的一個子取值集合,且,任意兩個子數(shù)據(jù)庫的各個關(guān)鍵屬性 的實際取值集合不完全相同; 數(shù)據(jù)分庫單元,用于根據(jù)所述原始數(shù)據(jù)各個關(guān)鍵屬性的實際值所在的子取值集合確定 對應的子數(shù)據(jù)庫,并將所述原始數(shù)據(jù)記錄于其對應的子數(shù)據(jù)庫中。5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)管理裝置,其特征在于,還包括: 數(shù)據(jù)操作單元,用于根據(jù)待操作數(shù)據(jù)的至少一個關(guān)鍵屬性的實際值所在的子取值集 合,確定所述待操作數(shù)據(jù)對應的目標子數(shù)據(jù)庫,并在所述目標子數(shù)據(jù)庫中執(zhí)行所述待操作 數(shù)據(jù)對應的管理操作; 其中,所述數(shù)據(jù)操作單元包括以下至少一項: 數(shù)據(jù)查詢模塊,用于在所述目標子數(shù)據(jù)庫中查詢所述待操作數(shù)據(jù); 數(shù)據(jù)添加模塊,用于將所述待操作數(shù)據(jù)添加至所述目標子數(shù)據(jù)庫中; 數(shù)據(jù)刪除模塊,用于刪除所述目標子數(shù)據(jù)庫中存儲的所述待操作數(shù)據(jù); 數(shù)據(jù)修改模塊,用于在所述目標子數(shù)據(jù)庫中查詢并修改所述待操作數(shù)據(jù)。6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)管理裝置,其特征在于,所述數(shù)據(jù)修改模塊包括: 判斷模塊,用于判斷修改前的待操作數(shù)據(jù)對應的第一目標子數(shù)據(jù)庫與修改后的待操作 數(shù)據(jù)對應的第二目標子數(shù)據(jù)庫是否相同; 第一修改模塊,用于在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫相同時,直接在所 述第一目標子數(shù)據(jù)庫中將所述修改前的待操作數(shù)據(jù)修改為所述修改后的待操作數(shù)據(jù); 第二修改模塊,用于在所述第一目標子數(shù)據(jù)庫與第二目標子數(shù)據(jù)庫不同時,在所述第 一目標子數(shù)據(jù)庫中查找并刪除所述修改前的待操作數(shù)據(jù),并將所述修改后的待操作數(shù)據(jù)添 加至所述第二目標子數(shù)據(jù)庫中。
【文檔編號】G06F17/30GK105989060SQ201510066535
【公開日】2016年10月5日
【申請日】2015年2月9日
【發(fā)明人】李皓
【申請人】阿里巴巴集團控股有限公司