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

一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng)的制作方法

文檔序號:6537309閱讀:186來源:國知局
一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng),管理方法包括:獲取需要存儲的實體,作為待存儲實體;提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中;如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中。本發(fā)明減少了存儲和查詢時所占內(nèi)存消耗,同時,在使用多數(shù)據(jù)庫混合存儲時,數(shù)據(jù)的分割和組合透明化,可自動實現(xiàn)數(shù)據(jù)的分割和存儲,大大簡化開發(fā)難度。同時查詢時也實現(xiàn)自動組合。
【專利說明】一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明設(shè)計數(shù)據(jù)庫管理相關(guān)【技術(shù)領(lǐng)域】,特別是一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),將數(shù)據(jù)保存在不同的表中。MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系型數(shù)據(jù)庫當中功能最豐富,最像關(guān)系型數(shù)據(jù)庫的。
[0003]在WEB系統(tǒng)中,需要將一條數(shù)據(jù)的一部分字段存放到MySQL,另一部分存放到MongoDB中,現(xiàn)有的處理方式是,只能先把數(shù)據(jù)分割,MySQL的數(shù)據(jù)存放MySQL后,再將MongoDB的數(shù)據(jù)存放MongoDB。在WEB系統(tǒng)中,查詢一條數(shù)據(jù)時,也只能先從MySQL中查詢出一條數(shù)據(jù),再從MongoDB中查詢對應的數(shù)據(jù),組裝后獲取完整的數(shù)據(jù)。
[0004]現(xiàn)有的解決方案通常為:
[0005]1.創(chuàng)建一個與MySQL相對應的實體,并編寫基于iBatis的映射文件,使用iBatis框架將實體映射為MySQL的一條記錄,并使用iBatis框架存取數(shù)據(jù)。
[0006]2.再創(chuàng)建一個與MongoDB相對應的實體,使用MongoDB客戶端存放取數(shù)據(jù)。
[0007]3.若是存放數(shù)據(jù)時,需要將數(shù)據(jù)分割為MySQL映射的實體,MongoDB映射的實體,再存放,若是取數(shù)據(jù)時,需要先將MySQL和MongoDB的數(shù)據(jù)取出后,再組裝成第三個實體。
[0008]因此,至少需要三個實體,一份映射文件才能完成一條數(shù)據(jù)的存取。

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

[0009]基于此,有必要針對現(xiàn)有技術(shù)在進行多數(shù)據(jù)庫存儲和查詢時,需要建立多個實體與多個數(shù)據(jù)庫對應,導致內(nèi)存較多,資源浪費較大的技術(shù)問題,提供一種多數(shù)據(jù)庫數(shù)據(jù)管理方法及系統(tǒng)。
[0010]一種多數(shù)據(jù)庫數(shù)據(jù)管理方法,包括:
[0011]獲取需要存儲的實體,作為待存儲實體;
[0012]提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性;
[0013]判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
[0014]一種多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),包括:
[0015]待存儲實體獲取模塊,用于獲取需要存儲的實體,作為待存儲實體;
[0016]第一數(shù)據(jù)庫屬性存儲模塊,用于提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性;
[0017]第二數(shù)據(jù)庫屬性存儲模塊,用于判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
[0018]本發(fā)明通過采用一個實體,分別對應多個數(shù)據(jù)庫,先將實體的第一數(shù)據(jù)庫屬性的屬性值保存到第一數(shù)據(jù)庫,然后通過判斷該實體是否標識有第二數(shù)據(jù)庫屬性,將第二數(shù)據(jù)庫屬性的屬性值保存到第二數(shù)據(jù)庫中。本發(fā)明減少了實體的應用,從而減少了存儲和查詢時所占內(nèi)存消耗,同時,在使用多數(shù)據(jù)庫混合存儲時,數(shù)據(jù)的分割和組合透明化,可自動實現(xiàn)數(shù)據(jù)的分割和存儲,大大簡化開發(fā)難度。同時查詢時也實現(xiàn)自動組合。
【專利附圖】

【附圖說明】
[0019]圖1為本發(fā)明一種多數(shù)據(jù)庫數(shù)據(jù)管理方法的工作流程圖;
[0020]圖2為本發(fā)明存儲方面的一個例子的工作流程圖;
[0021]圖3為本發(fā)明存儲方面的一個例子的工作流程圖;
[0022]圖4為本發(fā)明一種多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)模塊圖。
【具體實施方式】
[0023]下面結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細的說明。
[0024]如圖1所示為本發(fā)明一種多數(shù)據(jù)庫數(shù)據(jù)管理方法的工作流程圖,包括:
[0025]步驟SlOl,獲取需要存儲的實體,作為待存儲實體;
[0026]步驟S102,提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性;
[0027]步驟S103,判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
[0028]其中,步驟SlOl的待存儲實體由客戶建立,系統(tǒng)獲取該待存儲實體后,執(zhí)行步驟S102。一個實體可以包括多個屬性,對于不同的屬性,其是需要保存到第一數(shù)據(jù)庫還是保存到第二數(shù)據(jù)庫,由客戶在建立該實體時指定,通過一個對每個屬性增加一個標識可以實現(xiàn)。其中,對于僅需要在兩個數(shù)據(jù)庫之間選擇的屬性,其標識可以簡單地通過一個布爾值實現(xiàn)。例如第一數(shù)據(jù)庫標識為0,而第二數(shù)據(jù)庫標識為I。
[0029]步驟S103中,對于第二數(shù)據(jù)庫屬性的保存,通過一個關(guān)聯(lián)標識實現(xiàn),該關(guān)聯(lián)標識唯一指定該待存儲實體,同時,由于該關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,因此,能夠?qū)⒌谝粩?shù)據(jù)庫中該待存儲實體的第一數(shù)據(jù)庫屬性的屬性值與第二數(shù)據(jù)庫中該待存儲實體的第二數(shù)據(jù)庫屬性的屬性值進行關(guān)聯(lián)。同時,為了保持待存儲實體與第一數(shù)據(jù)庫中所存儲數(shù)據(jù)的統(tǒng)一,也可以將該關(guān)聯(lián)標識保存在待存儲實體中,并返回給用戶。用戶在后續(xù)查詢時,可以附帶上該關(guān)聯(lián)標識,也可以從第一數(shù)據(jù)庫中獲取該關(guān)聯(lián)標識。
[0030]本發(fā)明通過一個實體,則實現(xiàn)了在多個數(shù)據(jù)庫中透明存放,對于Web應用中使用混合存儲(MySQL+MongoDB)或者其他關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)時,本發(fā)明可以自動實現(xiàn)數(shù)據(jù)的分割存儲(分割的規(guī)則由使用者自行定義)。
[0031]在其中一個實施例中,所述判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,具體包括:
[0032]獲取所述待存儲實體的注釋信息,如果所述注釋信息中包括了第二數(shù)據(jù)庫相關(guān)標識,則判斷所述待存儲實體還包括第二數(shù)據(jù)庫屬性,否則判斷所述待存儲實體不包括第二數(shù)據(jù)庫屬性。
[0033]實體中可以增加注釋信息,例如對于Java實體來說,可以通過Annotation技術(shù)增加對Java實體的注釋。Annotations提供一些本來不屬于程序的數(shù)據(jù),比如:一段代碼的作者或者告訴編譯器禁止一些特殊的錯誤。An annotation對代碼的執(zhí)行沒有什么影響。Annotations 使用 Oannotation 的形式應用于代碼:類(class),屬性(attribute),方法(method)等等。一個Annotation出現(xiàn)在上面提到的開始位置,而且一般只有一行,也可以包含有任意的參數(shù)。本實施例可以利用該方式,在實體中關(guān)聯(lián)上一個第二數(shù)據(jù)庫相關(guān)標識。該第二數(shù)據(jù)庫相關(guān)標識由用戶在建立實體時生成。例如,對于第一數(shù)據(jù)庫為MySQL,而第二數(shù)據(jù)庫為MongoDB的方式,該第二數(shù)據(jù)庫相關(guān)標識可以為一個布爾值:RelatedMongoDB0如果RelatedMongoDB=I,則判斷所述待存儲實體還包括第二數(shù)據(jù)庫屬性,如果RelatedMongoDB=O,則判斷所述待存儲實體不包括第二數(shù)據(jù)庫屬性。
[0034]在其中一個實施例中,所述提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,具體包括:
[0035]獲取用于標識所述第一數(shù)據(jù)庫與所述待存儲實體中的第一數(shù)據(jù)庫屬性之間的映射關(guān)系的第一數(shù)據(jù)庫映射文件,根據(jù)所述第一數(shù)據(jù)庫映射文件,將所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中。
[0036]其中,第一數(shù)據(jù)庫映射文件指示了待存儲實體中的第一數(shù)據(jù)庫屬性是如何保存在第一數(shù)據(jù)庫中,例如指定第一數(shù)據(jù)庫屬性與第一數(shù)據(jù)庫中第幾個表的第幾個字段對應等。
[0037]當待存儲實體為Java實體時,可以采用iBatis獲取第一數(shù)據(jù)庫映射文件。其中iBatis為一種使用Java編寫的ORM映射(Java對象與數(shù)據(jù)庫表的映射)框架,使用者,只需要定義Java對象與數(shù)據(jù)庫表的對應關(guān)系,編寫SQL語句,即可以實現(xiàn)Java對象到數(shù)據(jù)庫的存儲功能。
[0038]在其中一個實施例中,所述提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,具體包括:
[0039]屬性初始化步驟,將所述待存儲實體的所有屬性設(shè)定為未篩選屬性,執(zhí)行當前屬性獲取步驟;
[0040]當前屬性獲取步驟,從所述待存儲實體中選擇一個未篩選屬性作為當前屬性,執(zhí)行當前屬性篩選步驟;
[0041]當前屬性篩選步驟,如果當前屬性屬于第二數(shù)據(jù)庫屬性,則執(zhí)行第二數(shù)據(jù)庫屬性值獲取步驟,否則執(zhí)行屬性判斷步驟;[0042]第二數(shù)據(jù)庫屬性值獲取步驟,獲取當前屬性的屬性值作為第二數(shù)據(jù)庫屬性值,執(zhí)行屬性判斷步驟;
[0043]屬性判斷步驟,設(shè)定當前屬性為已篩選屬性,如果所述待存儲實體中還有未篩選屬性,則執(zhí)行當前屬性獲取步驟,否則執(zhí)行屬性值保存步驟;
[0044]屬性值保存步驟,將所有經(jīng)過當前屬性篩選步驟得到的第二數(shù)據(jù)庫屬性值與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫。
[0045]在其中一個實施例中,還包括查詢步驟,具體包括:
[0046]響應數(shù)據(jù)查詢請求,獲取待查詢實體;
[0047]從第一數(shù)據(jù)庫中獲取所述待查詢實體的第一數(shù)據(jù)庫屬性的屬性值;
[0048]判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待查詢實體標識還包括第二數(shù)據(jù)庫屬性,則從第一數(shù)據(jù)庫中獲取所述關(guān)聯(lián)標識,根據(jù)所述關(guān)聯(lián)標識從第二數(shù)據(jù)庫中獲取所述待查詢實體的第二數(shù)據(jù)庫屬性的屬性值;
[0049]將所述第一數(shù)據(jù)庫屬性的屬性值和第二數(shù)據(jù)庫屬性的屬性值封裝到所述待查詢實體中。
[0050]如圖2所示為本發(fā)明存儲方面的一個例子,其中第一數(shù)據(jù)庫為MySQL,第二數(shù)據(jù)庫為MongoDB,實體為Java實體,本發(fā)明所描述的技術(shù)方案,采用了 API (ApplicationProgramming Interface,應用程序編程接口)進行封裝,具體包括:
[0051]步驟S201,當API被調(diào)用,獲取要存儲的對象后,首先通過iBatis框架找到Java實體對應的映射文件,并在MySQL中存儲數(shù)據(jù)。
[0052]步驟S202,根據(jù)Java反射技術(shù)獲取當前Java實體的類信息,使用annotation技術(shù)判斷當前實體是否有本發(fā)明特定的annotation (RelatedMongoDB),若有,則執(zhí)行步驟S203,若無,則執(zhí)行步驟S207。
[0053]步驟S203,生成關(guān)聯(lián)ID,并根據(jù)Java反射技術(shù)獲取當前Java實體的屬性列表,依次遍歷每個屬性。
[0054]步驟S204,判斷是否是屬于MongoDB的屬性,若是,則執(zhí)行步驟S205,若不是,重復步驟S204判斷下一屬性是否是MongoDB的屬性,直到Java實體的屬性全部檢查完畢,執(zhí)行步驟S206。
[0055]步驟S205,根據(jù)屬性對象,使用Java反射技術(shù)獲取屬性的屬性值,重復步驟S204判斷下一個屬性。
[0056]步驟S206,將篩選出的屬性值與關(guān)聯(lián)ID關(guān)聯(lián)地存儲到MongoDB中,并使用Javaannotation技術(shù)將關(guān)聯(lián)ID保存到Java實體中。
[0057]步驟S207,返回Java實體,結(jié)束。
[0058]如圖3所示為本發(fā)明查詢方面的一個例子,其中第一數(shù)據(jù)庫為MySQL,第二數(shù)據(jù)庫為MongoDB,實體為Java實體,本發(fā)明所描述的技術(shù)方案,采用了 API (ApplicationProgramming Interface,應用程序編程接口)進行封裝,具體包括:
[0059]步驟S301,當API被調(diào)用,根據(jù)查詢的Java實體找到對應的iBatis映射文件。
[0060]步驟S302,根據(jù)映射文件從MySQL中查詢出數(shù)據(jù)。
[0061]步驟S303,使用Java annotation技術(shù),判斷當前Java實體是否有屬于MongoDB的屬性,若有,則執(zhí)行步驟S304,若無,則執(zhí)行步驟S307。[0062]步驟S304,再次使用Java annotation技術(shù)找到關(guān)聯(lián)Id。
[0063]步驟S305,從MongoDB中使用關(guān)聯(lián)Id查詢出數(shù)據(jù)。
[0064]步驟S306,將MySQL和MongoDB查詢的數(shù)據(jù)做組裝。
[0065]步驟S307,返回數(shù)據(jù),結(jié)束。
[0066]如圖4所示為本發(fā)明一種多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)模塊圖,包括:
[0067]待存儲實體獲取模塊401,用于獲取需要存儲的實體,作為待存儲實體;
[0068]第一數(shù)據(jù)庫屬性存儲模塊402,用于提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性;
[0069]第二數(shù)據(jù)庫屬性存儲模塊403,用于判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
[0070]在其中一個實施例中,所述判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,具體包括:
[0071]獲取所述待存儲實體的注釋信息,如果所述注釋信息中包括了第二數(shù)據(jù)庫相關(guān)標識,則判斷所述待存儲實體還包括第二數(shù)據(jù)庫屬性,否則判斷所述待存儲實體不包括第二數(shù)據(jù)庫屬性。
[0072]在其中一個實施例中,所述提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,具體包括:
[0073]獲取用于標識所述第一數(shù)據(jù)庫與所述待存儲實體中的第一數(shù)據(jù)庫屬性之間的映射關(guān)系的第一數(shù)據(jù)庫映射文件,根據(jù)所述第一數(shù)據(jù)庫映射文件,將所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中。
[0074]在其中一個實施例中,所述提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,具體包括:
[0075]屬性初始化子模塊,用于將所述待存儲實體的所有屬性設(shè)定為未篩選屬性,執(zhí)行當前屬性獲取子模塊;
[0076]當前屬性獲取子模塊,用于從所述待存儲實體中選擇一個未篩選屬性作為當前屬性,執(zhí)行當前屬性篩選子模塊;
[0077]當前屬性篩選子模塊,用于如果當前屬性屬于第二數(shù)據(jù)庫屬性,則執(zhí)行第二數(shù)據(jù)庫屬性值獲取子模塊,否則執(zhí)行屬性判斷子模塊;
[0078]第二數(shù)據(jù)庫屬性值獲取子模塊,用于獲取當前屬性的屬性值作為第二數(shù)據(jù)庫屬性值,執(zhí)行屬性判斷子模塊;
[0079]屬性判斷子模塊,用于設(shè)定當前屬性為已篩選屬性,如果所述待存儲實體中還有未篩選屬性,則執(zhí)行當前屬性獲取子模塊,否則執(zhí)行屬性值保存子模塊;
[0080]屬性值保存子模塊,用于將所有經(jīng)過當前屬性篩選子模塊得到的第二數(shù)據(jù)庫屬性值與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫。
[0081]在其中一個實施例中,還包括查詢模塊,具體用于:[0082]響應數(shù)據(jù)查詢請求,獲取待查詢實體;
[0083]從第一數(shù)據(jù)庫中獲取所述待查詢實體的第一數(shù)據(jù)庫屬性的屬性值;
[0084]判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待查詢實體標識還包括第二數(shù)據(jù)庫屬性,則從第一數(shù)據(jù)庫中獲取所述關(guān)聯(lián)標識,根據(jù)所述關(guān)聯(lián)標識從第二數(shù)據(jù)庫中獲取所述待查詢實體的第二數(shù)據(jù)庫屬性的屬性值;
[0085]將所述第一數(shù)據(jù)庫屬性的屬性值和第二數(shù)據(jù)庫屬性的屬性值封裝到所述待查詢實體中。
[0086]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權(quán)利要求為準。
【權(quán)利要求】
1.一種多數(shù)據(jù)庫數(shù)據(jù)管理方法,其特征在于,包括: 獲取需要存儲的實體,作為待存儲實體; 提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性; 判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
2.根據(jù)權(quán)利要求1所述的多數(shù)據(jù)庫數(shù)據(jù)管理方法,其特征在于,所述判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,具體包括: 獲取所述待存儲實體的注釋信息,如果所述注釋信息中包括了第二數(shù)據(jù)庫相關(guān)標識,則判斷所述待存儲實體還包括第二數(shù)據(jù)庫屬性,否則判斷所述待存儲實體不包括第二數(shù)據(jù)庫屬性。
3.根據(jù)權(quán)利要求1所述的多數(shù)據(jù)庫數(shù)據(jù)管理方法,其特征在于,所述提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,具體包括: 獲取用于標識所述第一數(shù)據(jù)庫與所述待存儲實體中的第一數(shù)據(jù)庫屬性之間的映射關(guān)系的第一數(shù)據(jù)庫映射文件,根據(jù)所述第一數(shù)據(jù)庫映射文件,將所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保 存到第一數(shù)據(jù)庫中。
4.根據(jù)權(quán)利要求1所述的多數(shù)據(jù)庫數(shù)據(jù)管理方法,其特征在于,所述提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,具體包括: 屬性初始化步驟,將所述待存儲實體的所有屬性設(shè)定為未篩選屬性,執(zhí)行當前屬性獲取步驟; 當前屬性獲取步驟,從所述待存儲實體中選擇一個未篩選屬性作為當前屬性,執(zhí)行當前屬性篩選步驟; 當前屬性篩選步驟,如果當前屬性屬于第二數(shù)據(jù)庫屬性,則執(zhí)行第二數(shù)據(jù)庫屬性值獲取步驟,否則執(zhí)行屬性判斷步驟; 第二數(shù)據(jù)庫屬性值獲取步驟,獲取當前屬性的屬性值作為第二數(shù)據(jù)庫屬性值,執(zhí)行屬性判斷步驟; 屬性判斷步驟,設(shè)定當前屬性為已篩選屬性,如果所述待存儲實體中還有未篩選屬性,則執(zhí)行當前屬性獲取步驟,否則執(zhí)行屬性值保存步驟; 屬性值保存步驟,將所有經(jīng)過當前屬性篩選步驟得到的第二數(shù)據(jù)庫屬性值與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求1所述的多數(shù)據(jù)庫數(shù)據(jù)管理方法,其特征在于,還包括查詢步驟,具體包括: 響應數(shù)據(jù)查詢請求,獲取待查詢實體; 從第一數(shù)據(jù)庫中獲取所述待查詢實體的第一數(shù)據(jù)庫屬性的屬性值; 判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待查詢實體標識還包括第二數(shù)據(jù)庫屬性,則從第一數(shù)據(jù)庫中獲取所述關(guān)聯(lián)標識,根據(jù)所述關(guān)聯(lián)標識從第二數(shù)據(jù)庫中獲取所述待查詢實體的第二數(shù)據(jù)庫屬性的屬性值; 將所述第一數(shù)據(jù)庫屬性的屬性值和第二數(shù)據(jù)庫屬性的屬性值封裝到所述待查詢實體中。
6.一種多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),其特征在于,包括: 待存儲實體獲取模塊,用于獲取需要存儲的實體,作為待存儲實體; 第一數(shù)據(jù)庫屬性存儲模塊,用于提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,所述第一數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第一數(shù)據(jù)庫標識的屬性;第二數(shù)據(jù)庫屬性存儲模塊,用于判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待存儲實體標識還包括第二數(shù)據(jù)庫屬性,則生成一個用于標識所述待存儲實體的關(guān)聯(lián)標識,將所述關(guān)聯(lián)標識保存在第一數(shù)據(jù)庫中,并同時提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,否則結(jié)束存儲,所述第二數(shù)據(jù)庫屬性為在待存儲實體中設(shè)有第二數(shù)據(jù)庫標識的屬性。
7.根據(jù)權(quán)利要求6所述的多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),其特征在于,所述判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,具體包括: 獲取所述待存儲實體的注釋信息,如果所述注釋信息中包括了第二數(shù)據(jù)庫相關(guān)標識,則判斷所述待存儲實體還包括第二數(shù)據(jù)庫屬性,否則判斷所述待存儲實體不包括第二數(shù)據(jù)庫屬性。
8.根據(jù)權(quán)利要求6所述的多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),其特征在于,所述提取所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中,具體包括:` 獲取用于標識所述第一數(shù)據(jù)庫與所述待存儲實體中的第一數(shù)據(jù)庫屬性之間的映射關(guān)系的第一數(shù)據(jù)庫映射文件,根據(jù)所述第一數(shù)據(jù)庫映射文件,將所述待存儲實體中第一數(shù)據(jù)庫屬性的屬性值,保存到第一數(shù)據(jù)庫中。
9.根據(jù)權(quán)利要求6所述的多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),其特征在于,所述提取所述待存儲實體中第二數(shù)據(jù)庫屬性的屬性值,與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫中,具體包括: 屬性初始化子模塊,用于將所述待存儲實體的所有屬性設(shè)定為未篩選屬性,執(zhí)行當前屬性獲取子模塊; 當前屬性獲取子模塊,用于從所述待存儲實體中選擇一個未篩選屬性作為當前屬性,執(zhí)行當前屬性篩選子模塊; 當前屬性篩選子模塊,用于如果當前屬性屬于第二數(shù)據(jù)庫屬性,則執(zhí)行第二數(shù)據(jù)庫屬性值獲取子模塊,否則執(zhí)行屬性判斷子模塊; 第二數(shù)據(jù)庫屬性值獲取子模塊,用于獲取當前屬性的屬性值作為第二數(shù)據(jù)庫屬性值,執(zhí)行屬性判斷子模塊; 屬性判斷子模塊,用于設(shè)定當前屬性為已篩選屬性,如果所述待存儲實體中還有未篩選屬性,則執(zhí)行當前屬性獲取子模塊,否則執(zhí)行屬性值保存子模塊; 屬性值保存子模塊,用于將所有經(jīng)過當前屬性篩選子模塊得到的第二數(shù)據(jù)庫屬性值與所述關(guān)聯(lián)標識關(guān)聯(lián)地保存到第二數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求6所述的多數(shù)據(jù)庫數(shù)據(jù)管理系統(tǒng),其特征在于,還包括查詢模塊,具體用于: 響應數(shù)據(jù)查詢請求,獲取待查詢實體; 從第一數(shù)據(jù)庫中獲取所述待查詢實體的第一數(shù)據(jù)庫屬性的屬性值; 判斷所述待存儲實體是否標識還包括第二數(shù)據(jù)庫屬性,如果所述待查詢實體標識還包括第二數(shù)據(jù)庫屬性,則從第一數(shù)據(jù)庫中獲取所述關(guān)聯(lián)標識,根據(jù)所述關(guān)聯(lián)標識從第二數(shù)據(jù)庫中獲取所述待查詢實體的第二數(shù)據(jù)庫屬性的屬性值; 將所述第一數(shù)據(jù)庫屬性的屬性值和第二數(shù)據(jù)庫屬性的屬性值封裝到所述待查詢實體中。
【文檔編號】G06F17/30GK103778239SQ201410042257
【公開日】2014年5月7日 申請日期:2014年1月28日 優(yōu)先權(quán)日:2014年1月28日
【發(fā)明者】劉錕洋, 雷寧 申請人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀貿(mào)易有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1