欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)的制作方法

文檔序號(hào):6486004閱讀:235來(lái)源:國(guó)知局
復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本申請(qǐng)?zhí)峁┝艘环N復(fù)合模型數(shù)據(jù)處理方法,包括:接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象;基于初始查詢條件確定初始模型,基于要求返回的對(duì)象確定目標(biāo)模型;確定目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系以及從初始模型到目標(biāo)模型的查詢路徑;獲取查詢路徑中各模型的查詢方法;初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余模型所需的查詢條件從上一模型數(shù)據(jù)中提取,并分別傳入各模型對(duì)應(yīng)的查詢方法獲取對(duì)應(yīng)模型數(shù)據(jù);從所有模型數(shù)據(jù)中提取要求返回的對(duì)象返回給客戶端。本申請(qǐng)還提供了一種實(shí)現(xiàn)前述方法的復(fù)合模型數(shù)據(jù)處理系統(tǒng)。本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng),能夠解決減少查詢時(shí)對(duì)系統(tǒng)資源的占用。
【專(zhuān)利說(shuō)明】復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)數(shù)據(jù)處理【技術(shù)領(lǐng)域】,特別是涉及一種復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]一個(gè)復(fù)雜的業(yè)務(wù)系統(tǒng),例如一個(gè)大型網(wǎng)站,一個(gè)跨多個(gè)業(yè)務(wù)模型的應(yīng)用場(chǎng)景,當(dāng)需要獲取各業(yè)務(wù)模型的數(shù)據(jù)時(shí),需要分別根據(jù)各業(yè)務(wù)模型的數(shù)據(jù)查詢方式來(lái)進(jìn)行響應(yīng)數(shù)據(jù)的獲取,因此需要輸入不同的查詢條件,并多次調(diào)用數(shù)據(jù)庫(kù)或者數(shù)據(jù)服務(wù)接口來(lái)獲取不同業(yè)務(wù)模型的數(shù)據(jù)。此種方式中各業(yè)務(wù)模型之間的關(guān)系處理復(fù)雜,且需要進(jìn)行頻繁的模型數(shù)據(jù)查詢,增加人工處理時(shí)間以及占用大量系統(tǒng)資源。
[0003]常見(jiàn)的一種獲取復(fù)雜應(yīng)用場(chǎng)景的多個(gè)業(yè)務(wù)模型數(shù)據(jù)的方法為采用facade模式。首先需要通過(guò)手動(dòng)編寫(xiě)調(diào)用代碼來(lái)分別調(diào)用各個(gè)業(yè)務(wù)模型對(duì)應(yīng)的數(shù)據(jù)接口,分別進(jìn)行查詢,然后基于各業(yè)務(wù)模型之間的關(guān)聯(lián)關(guān)系組合成返回關(guān)聯(lián)對(duì)象的接口。此種方式無(wú)法做到自動(dòng)的數(shù)據(jù)路由,而且因?yàn)樾枰謩?dòng)編碼,無(wú)法自動(dòng)化生成代碼,會(huì)花費(fèi)大量的前期開(kāi)發(fā)時(shí)間。另外,當(dāng)應(yīng)用場(chǎng)景中的業(yè)務(wù)模型數(shù)量發(fā)生變更或者,或者業(yè)務(wù)模型間的關(guān)系發(fā)生變化時(shí),需要重新編寫(xiě)業(yè)務(wù)模型的調(diào)用代碼,增加后期維護(hù)及使用的成本和時(shí)間。

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

[0004]本申請(qǐng)?zhí)峁┮环N復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng),能夠解決復(fù)雜應(yīng)用場(chǎng)景下因復(fù)合模型數(shù)據(jù)關(guān)系復(fù)雜、查詢數(shù)據(jù)頻繁而大量占用系統(tǒng)資源的問(wèn)題。
[0005]為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種復(fù)合模型數(shù)據(jù)處理方法,包括以下步驟:
[0006]接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象;
[0007]基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型;
[0008]基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑;
[0009]獲取查詢路徑中各模型的查詢方法;
[0010]按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù);
[0011]從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
[0012]進(jìn)一步地,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括:
[0013]若初始模型和目標(biāo)模型直接關(guān)聯(lián),查詢路徑為初始模型到目標(biāo)模型;
[0014]若初始模型和目標(biāo)模型間接關(guān)聯(lián),之間還包括中間模型,查詢路徑為初始模型到中間模型到目標(biāo)模型。
[0015]進(jìn)一步地,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括:[0016]選取中間模型數(shù)量最少的路徑為查詢路徑。
[0017]進(jìn)一步地,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括:
[0018]將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中;
[0019]遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。
[0020]進(jìn)一步地,所述方法還包括:
[0021]采用DSL定義各模型的關(guān)聯(lián)關(guān)系。
[0022]進(jìn)一步地,所述各模型的查詢方法采用統(tǒng)一語(yǔ)言定義。
[0023]進(jìn)一步地,所述方法還包括:
[0024]采用DSL定義各模型的查詢方法。
[0025]進(jìn)一步地,所述接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象包括:
[0026]通過(guò)統(tǒng)一的客戶端API接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象。
[0027]為了解決上述問(wèn)題,本申請(qǐng)還公開(kāi)了一種復(fù)合模型數(shù)據(jù)處理系統(tǒng),包括:
[0028]數(shù)據(jù)接收模塊,用于接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象;
[0029]查詢模型確定模塊,用于基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型;
[0030]查詢路徑確定模塊,用于基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑;
[0031]查詢方法獲取模塊,用于獲取查詢路徑中各模型的查詢方法;
[0032]數(shù)據(jù)查詢模塊,用于按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù);
[0033]數(shù)據(jù)返回模塊,用于從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
[0034]進(jìn)一步地,所述查詢路徑確定模塊包括:
[0035]路徑選擇單元,用于選取中間模型數(shù)量最少的路徑為查詢路徑。
[0036]進(jìn)一步地,所述查詢路徑確定模塊包括:
[0037]處理單元,將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中,遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。。
[0038]進(jìn)一步地,所述系統(tǒng)還包括:
[0039]關(guān)系定義模塊,用于采用DSL定義各模型的關(guān)聯(lián)關(guān)系和查詢方法。
[0040]與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn):
[0041]本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理方法和系統(tǒng)通過(guò)統(tǒng)一語(yǔ)言來(lái)編寫(xiě)各種模型的查詢方法以及模型關(guān)聯(lián)關(guān)系的方式來(lái)實(shí)現(xiàn)模型數(shù)據(jù)的自動(dòng)獲取??蛻舳酥恍枰ㄟ^(guò)統(tǒng)一的輸入接口,輸入單個(gè)查詢條件和要求返回的對(duì)象,系統(tǒng)便可以根據(jù)模型關(guān)聯(lián)關(guān)系以及查詢方法實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)路由,從而自動(dòng)獲取到所有關(guān)聯(lián)模型的數(shù)據(jù),并根據(jù)客戶端要求對(duì)獲取到的數(shù)據(jù)進(jìn)行處理,返回客戶端所需要的數(shù)據(jù)。避免針對(duì)不同的模型開(kāi)發(fā)不同的接口調(diào)用代碼,在實(shí)際數(shù)據(jù)獲取時(shí)需要多次調(diào)用的情況而造成的開(kāi)發(fā)效率低和成本高的情況。大大地加快了復(fù)雜場(chǎng)景數(shù)據(jù)聚合的開(kāi)發(fā)效率和成本,同時(shí)提高了復(fù)雜應(yīng)用場(chǎng)景下復(fù)合模型數(shù)據(jù)查詢及處理的效率。
[0042]另外,當(dāng)應(yīng)用場(chǎng)景中的相關(guān)模型發(fā)生變化時(shí),例如新增或減少模型、或者模型間的關(guān)聯(lián)關(guān)系發(fā)生變化時(shí),只需要加入或減少該模型對(duì)應(yīng)的查詢方法以及修改關(guān)聯(lián)關(guān)系,無(wú)需重新編寫(xiě)或者刪除調(diào)用代碼,提高系統(tǒng)后續(xù)的維護(hù)效率,降低維護(hù)成本。
[0043]優(yōu)選地,通過(guò)模型無(wú)向圖的方式來(lái)唯一確定模型關(guān)聯(lián)關(guān)系,可以實(shí)現(xiàn)數(shù)據(jù)的快速處理,避免出現(xiàn)錯(cuò)誤,提高查詢準(zhǔn)確性。另外,無(wú)向圖結(jié)合DSL的方式,可以快速的獲取模型數(shù)據(jù),從而能夠快速對(duì)客戶端請(qǐng)求進(jìn)行響應(yīng)。
[0044]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0045]圖1是本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理方法實(shí)施例一的流程圖;
[0046]圖2是本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理中模型無(wú)向圖的實(shí)例結(jié)構(gòu)示意圖;
[0047]圖3是本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理系統(tǒng)實(shí)施例一的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0048]為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
[0049]本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)用于對(duì)復(fù)雜應(yīng)用場(chǎng)景中的多個(gè)模型數(shù)據(jù)的查詢。客戶端通過(guò)系統(tǒng)提供的統(tǒng)一查詢接口輸入單一的初始查詢條件以及要求返回的對(duì)象,系統(tǒng)自動(dòng)根據(jù)該初始查詢條件確定初始模型、根據(jù)要求返回的對(duì)象確定目標(biāo)模型,并根據(jù)預(yù)先存儲(chǔ)的各模型關(guān)聯(lián)關(guān)系來(lái)確定從初始模型到目標(biāo)模型的所需要經(jīng)過(guò)的所有模型,從而確定以初始模型為起點(diǎn)、目標(biāo)模型為終點(diǎn)的查詢路徑。在整個(gè)查詢路徑中,從上一模型數(shù)據(jù)中提取下一模型所需要的查詢條件,從而獲取下一模型數(shù)據(jù),直到獲取到目標(biāo)模型數(shù)據(jù)。最后,根據(jù)要求返回的對(duì)象對(duì)所有獲取到的模型數(shù)據(jù)進(jìn)行處理來(lái)獲取客戶端需要的返回結(jié)果。在整個(gè)過(guò)程中,只需要輸入初始查詢條件,系統(tǒng)便能夠?qū)崿F(xiàn)自動(dòng)查詢。
[0050]參照?qǐng)D1,示出本申請(qǐng)的一種復(fù)合模型數(shù)據(jù)處理方法實(shí)施例一,包括以下步驟:
[0051]步驟101,接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象。
[0052]查詢系統(tǒng)中預(yù)先設(shè)置統(tǒng)一的查詢接口,來(lái)接收客戶端傳入的查詢請(qǐng)求。也即,無(wú)論是需要查詢應(yīng)用場(chǎng)景中哪一個(gè)模型數(shù)據(jù)都通過(guò)該統(tǒng)一的查詢接口傳入。
[0053]查詢系統(tǒng)在接收客戶端傳入的參數(shù)后,會(huì)對(duì)其進(jìn)行解析,獲取其中的初始查詢條件和要求返回的對(duì)象。本申請(qǐng)適用于任何數(shù)量模型中數(shù)據(jù)的查詢,但是對(duì)于兩個(gè)及以上數(shù)量的模型具有很好的效果,尤其是數(shù)量眾多的模型數(shù)據(jù),查詢效果明顯。因此,在本申請(qǐng)中,初始查詢條件為一個(gè)模型的查詢條件,要求返回的對(duì)象至少會(huì)包括兩個(gè)模型的數(shù)據(jù)。
[0054]步驟102,基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型。
[0055]其中,每一個(gè)模型都會(huì)設(shè)定對(duì)應(yīng)的查詢方法和條件,當(dāng)獲取到某一模型的查詢條件,便可以根據(jù)其設(shè)定的查詢方法來(lái)獲取其中的數(shù)據(jù)。因此,初始查詢條件可以確定一個(gè)初始模型。根據(jù)要求返回的對(duì)象中所需要的信息屬于哪一個(gè)模型,則該模型為目標(biāo)模型,目標(biāo)模型的數(shù)量根據(jù)要求返回的對(duì)象數(shù)量確定。一般情況下,當(dāng)用戶通過(guò)客戶端輸出查詢條件和要求返回的對(duì)象時(shí),會(huì)直接輸入其中一個(gè)目標(biāo)模型對(duì)應(yīng)的查詢條件,也即,在大部分情況下,初始模型會(huì)是所有目標(biāo)模型中的一個(gè)。
[0056]步驟103,基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑。
[0057]因?yàn)樗心P投荚谕粦?yīng)用場(chǎng)景下,會(huì)共享該應(yīng)用場(chǎng)景下的數(shù)據(jù),任何一個(gè)模型都會(huì)至少與一個(gè)模型共享部分?jǐn)?shù)據(jù),即直接關(guān)聯(lián),因此,在同一應(yīng)用場(chǎng)景下,通過(guò)一個(gè)模型可以關(guān)聯(lián)到應(yīng)用場(chǎng)景下的任何一個(gè)模型,那么任何兩個(gè)模型之間都能夠聯(lián)系起來(lái),即都具有關(guān)聯(lián)關(guān)系。例如,模型A與模型B直接關(guān)聯(lián),模型B和模型C直接關(guān)聯(lián),即使模型A和模型C并沒(méi)有直接關(guān)聯(lián),模型A也能夠通過(guò)模型B間接關(guān)聯(lián)到模型C。
[0058]因此,通過(guò)對(duì)同一應(yīng)用場(chǎng)景下各模型之間關(guān)聯(lián)關(guān)系的梳理,并預(yù)先存儲(chǔ)在系統(tǒng)中。當(dāng)確定目標(biāo)1吳型與初始1吳型后,從系統(tǒng)中可以直接獲取兩者的關(guān)聯(lián)關(guān)系。根據(jù)關(guān)聯(lián)關(guān)系確定查詢路徑包括:若初始模型與目標(biāo)模型為直接關(guān)聯(lián),那么,查詢路徑為:初始模型_>目標(biāo)模型;若初始模型與目標(biāo)模型為間接關(guān)聯(lián),即二者之間還需要中間模型來(lái)建立關(guān)聯(lián),那么查詢路徑為:從初始模型_>中間模型_>目標(biāo)模型。其中,中間模型的數(shù)量可能為一個(gè)也可能為多個(gè)。
[0059]另外,在某些情況下根據(jù)關(guān)聯(lián)關(guān)系可以確定出不止一條查詢路徑,為了便于管理和提高系統(tǒng)處理數(shù)據(jù)的效率,系統(tǒng)可以自動(dòng)選取最短的一條查詢路徑,即中間模型數(shù)量最少的一條查詢路徑。
[0060]優(yōu)選地,在建立關(guān)聯(lián)關(guān)系的時(shí)候,還可以對(duì)關(guān)聯(lián)關(guān)系進(jìn)行處理,使任何兩個(gè)模型之間的關(guān)聯(lián)關(guān)系唯一,即通過(guò)關(guān)聯(lián)關(guān)系只能唯一確定一條查詢路徑。其中,關(guān)聯(lián)關(guān)系可以通過(guò)DSL (Domain Specific Language,領(lǐng)域?qū)S谜Z(yǔ)言)。通過(guò)關(guān)聯(lián)關(guān)系確定查詢路徑可以通過(guò)將模型間的關(guān)聯(lián)關(guān)系讀取到一個(gè)模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中來(lái)實(shí)現(xiàn)。具體可以通過(guò)如下方式實(shí)現(xiàn):
[0061]將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中;
[0062]遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。
[0063]步驟104,獲取查詢路徑中各模型的查詢方法,所述各模型的查詢方法采用統(tǒng)一語(yǔ)
言定義。
[0064]同一應(yīng)用場(chǎng)景下,各模型對(duì)應(yīng)的查詢方法并不相同,在系統(tǒng)中預(yù)先定義各模型對(duì)應(yīng)的查詢方法,在進(jìn)行模型數(shù)據(jù)查詢之前,首先獲取各模型的查詢方法,根據(jù)查詢方法在模型數(shù)據(jù)中自動(dòng)提取查詢條件,并將提取的查詢條件傳入該查詢方法進(jìn)行查詢,從而實(shí)現(xiàn)模型數(shù)據(jù)的自動(dòng)查詢。其中,,從而在后續(xù)自動(dòng)查詢中能夠?qū)崿F(xiàn)快速和自動(dòng)查詢。優(yōu)選地,各模型的查詢方法通過(guò)DSL來(lái)定義。
[0065]步驟105,按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù)。
[0066]因?yàn)椴樵兎椒ㄖ卸x了各種模型的查詢條件,當(dāng)獲取到某一模型數(shù)據(jù)后,便可以根據(jù)對(duì)應(yīng)的查詢方法來(lái)提取其中所需要的查詢條件,并通過(guò)高級(jí)語(yǔ)言反射機(jī)制將查詢條件傳入對(duì)應(yīng)的查詢方法來(lái)自動(dòng)獲取模型數(shù)據(jù)。查詢方法采用統(tǒng)一語(yǔ)言定義,在自動(dòng)查詢的過(guò)程中,可以實(shí)現(xiàn)自動(dòng)快速的查詢,無(wú)需重新針對(duì)各模型編寫(xiě)接口調(diào)用代碼。
[0067]步驟106,從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
[0068]在整個(gè)查詢過(guò)程中獲取到的所有模型數(shù)據(jù)都會(huì)暫時(shí)存儲(chǔ),當(dāng)查詢結(jié)束后,系統(tǒng)會(huì)根據(jù)要求返回的對(duì)象來(lái)對(duì)模型數(shù)據(jù)進(jìn)行提取,獲取客戶端所需要的數(shù)據(jù),并返回給客戶端。因?yàn)樵诓樵冞^(guò)程中,若利用到中間模型,則也會(huì)獲取到中間模型數(shù)據(jù),而這些數(shù)據(jù)并不是客戶端所需要的,通過(guò)對(duì)模型數(shù)據(jù)的處理,能夠保證準(zhǔn)確的返回客戶端所需要的數(shù)據(jù)。假設(shè)在某一應(yīng)用場(chǎng)景下包括如下模型:商品模型O、交易模型T、會(huì)員模型M、模型G、模型P、模型C、模型X、模型A以及模型D,根據(jù)各模型之間的關(guān)聯(lián)關(guān)系建立如圖2所示的模型無(wú)向圖??梢钥闯?,任何兩個(gè)模型之間只能唯一確定一條路徑。其中,應(yīng)用場(chǎng)景下的各模型是根據(jù)其業(yè)務(wù)類(lèi)型來(lái)進(jìn)行劃分的,每個(gè)模型都包含有與各自業(yè)務(wù)相關(guān)的信息。例如,商品模型包含的商品的基本信息以及其他動(dòng)態(tài)信息(如交易信息等等),交易模型包含的是交易雙方以及商品信息、會(huì)員模型包含的是會(huì)員的基本信息及其行為信息。以此類(lèi)推,若應(yīng)用場(chǎng)景下還包含有其他業(yè)務(wù)類(lèi)型,那么便可以包含有對(duì)應(yīng)的模型,該模型所包含的信息即是與該業(yè)務(wù)相關(guān)的信息。
[0069]在進(jìn)行數(shù)據(jù)處理之前,首先需要在系統(tǒng)中定義各模型的查詢方法以及各模型的關(guān)聯(lián)關(guān)系??蛻舳送ㄟ^(guò)系統(tǒng)提供的統(tǒng)一的客戶端API傳入初始的查詢條件和要求返回的對(duì)象。其中,在具體實(shí)現(xiàn)時(shí),統(tǒng)一的客戶端API可以以查詢界面的形式出現(xiàn),用戶只要在查詢界面的對(duì)應(yīng)輸入框中輸入需要查詢和返回的信息即可。用戶可以在查詢界面選擇查詢選項(xiàng)和要求返回的對(duì)象,并將查詢條件的具體信息輸入選擇的查詢選項(xiàng)中。系統(tǒng)對(duì)傳入的初始查詢條件和要求返回的對(duì)象進(jìn)行解析,遍歷模型無(wú)向圖確定所需要查詢的模型列表,即確定出所有的查詢路徑。
[0070]例如,初始查詢條件為商品ID,要求返回的對(duì)象為商品和會(huì)員。那么,用戶可以在系統(tǒng)的查詢界面中選中商品ID這一選項(xiàng),并在這一選項(xiàng)對(duì)應(yīng)的輸入框中填入具體的商品ID數(shù)值,同時(shí)在查詢界面中要求返回的對(duì)象欄中選擇商品和會(huì)員兩個(gè)模型。在所有信息輸入完成后,可以點(diǎn)擊提交或確定等按鈕來(lái)向系統(tǒng)提交查詢請(qǐng)求。當(dāng)系統(tǒng)接收到該查詢請(qǐng)求時(shí),首先確定初始查詢條件可以直接查詢的初始模型為商品模型,要求返回的對(duì)象所需要的目標(biāo)模型為商品模型和會(huì)員模型。那么系統(tǒng)會(huì)從預(yù)存的模型無(wú)向圖中確定從商品模型到會(huì)員模型的查詢路徑,如圖2所示,兩者為直接關(guān)聯(lián),即查詢路徑為商品模型到會(huì)員模型。
[0071]系統(tǒng)在確定路徑的同時(shí)會(huì)獲取路徑中各模型的查詢方法,然后開(kāi)始進(jìn)行查詢。首先會(huì)根據(jù)商品ID和商品模型的查詢方法來(lái)獲取商品模型數(shù)據(jù),然后從獲取的商品模型數(shù)據(jù)中提取會(huì)員模型所需要的查詢條件,例如,會(huì)員ID,通過(guò)高級(jí)語(yǔ)言反射機(jī)制來(lái)調(diào)用會(huì)員模型的查詢方法并將提取的會(huì)員ID傳入會(huì)員模型的查詢方法中來(lái)獲取會(huì)員模型數(shù)據(jù)。當(dāng)獲取兩個(gè)模型的數(shù)據(jù)之后,根據(jù)要求返回的對(duì)象對(duì)數(shù)據(jù)進(jìn)行處理和組裝,返回給客戶端。具體的,返回結(jié)果可以是包含模型對(duì)象結(jié)果集的哈希表。
[0072]可以理解,對(duì)于有中間模型的查詢路徑來(lái)說(shuō),例如,初始查詢條件為會(huì)員ID,要求返回的對(duì)象為會(huì)員模型和交易模型,那么商品模型為中間模型,在查詢過(guò)程中需要獲取商品模型數(shù)據(jù),并從中提取交易模型的查詢條件,但是商品模型數(shù)據(jù)并不需要返回給客戶端,因此,在數(shù)據(jù)查詢完畢后,還需要對(duì)處理進(jìn)行處理和組裝,只提取會(huì)員模型數(shù)據(jù)和交易模型數(shù)據(jù)返回給客戶端,而商品模型的數(shù)據(jù)則無(wú)需返回,其只是作為提取交易模型數(shù)據(jù)的輔助數(shù)據(jù)。優(yōu)選地,對(duì)于整個(gè)查詢過(guò)程中所獲取的數(shù)據(jù)可以暫時(shí)存儲(chǔ)在預(yù)設(shè)位置,從而便于后續(xù)處理。
[0073]參照?qǐng)D3,示出本申請(qǐng)的一種復(fù)合模型數(shù)據(jù)處理系統(tǒng),包括數(shù)據(jù)接收模塊10、查詢模型確定模塊20、查詢路徑確定模塊30、查詢方法獲取模塊40、數(shù)據(jù)查詢模塊50和數(shù)據(jù)返回模塊60。
[0074]數(shù)據(jù)接收模塊10,用于接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象。
[0075]查詢模型確定模塊20,用于基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型。
[0076]查詢路徑確定模塊30,用于基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑。優(yōu)選地,查詢路徑確定模塊包括路徑選擇單元或處理單元。路徑選擇單元,用于選取中間模型數(shù)量最少的路徑為查詢路徑。處理單元,用于將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中;遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。
[0077]查詢方法獲取模塊40,用于獲取查詢路徑中各模型的查詢方法,所述各模型的查詢方法采用統(tǒng)一語(yǔ)言定義。
[0078]數(shù)據(jù)查詢模塊50,用于按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù)。
[0079]數(shù)據(jù)返回模塊60,用于從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
[0080]優(yōu)選地,該系統(tǒng)還包括定義單元,用于采用DSL定義各模型的關(guān)聯(lián)關(guān)系和查詢方法。
[0081]本申請(qǐng)的復(fù)合模型數(shù)據(jù)處理方法和系統(tǒng)通過(guò)統(tǒng)一語(yǔ)言來(lái)編寫(xiě)各種模型的查詢方法以及模型關(guān)聯(lián)關(guān)系的方式來(lái)實(shí)現(xiàn)模型數(shù)據(jù)的自動(dòng)獲取??蛻舳酥恍枰ㄟ^(guò)統(tǒng)一的輸入接口,輸入單個(gè)查詢條件和要求返回的對(duì)象,系統(tǒng)便可以根據(jù)模型關(guān)聯(lián)關(guān)系以及查詢方法實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)路由,從而自動(dòng)獲取到所有關(guān)聯(lián)模型的數(shù)據(jù),并根據(jù)客戶端要求對(duì)獲取到的數(shù)據(jù)進(jìn)行處理,返回客戶端所需要的數(shù)據(jù)。避免針對(duì)不同的模型開(kāi)發(fā)不同的接口調(diào)用代碼,在實(shí)際數(shù)據(jù)獲取時(shí)需要多次調(diào)用的情況而造成的開(kāi)發(fā)效率低和成本高的情況。大大地加快了復(fù)雜場(chǎng)景數(shù)據(jù)聚合的開(kāi)發(fā)效率和成本,同時(shí)提高了復(fù)雜應(yīng)用場(chǎng)景下復(fù)合模型數(shù)據(jù)查詢及處理的效率。
[0082]另外,當(dāng)應(yīng)用場(chǎng)景中的相關(guān)模型發(fā)生變化時(shí),例如新增或減少模型、或者模型間的關(guān)聯(lián)關(guān)系發(fā)生變化時(shí),只需要加入或減少該模型對(duì)應(yīng)的查詢方法以及修改關(guān)聯(lián)關(guān)系,無(wú)需重新編寫(xiě)或者刪除調(diào)用代碼,提高系統(tǒng)后續(xù)的維護(hù)效率,降低維護(hù)成本。
[0083]優(yōu)選地,通過(guò)模型無(wú)向圖的方式來(lái)唯一確定模型關(guān)聯(lián)關(guān)系,可以實(shí)現(xiàn)數(shù)據(jù)的快速處理,避免出現(xiàn)錯(cuò)誤,提高查詢準(zhǔn)確性。另外,無(wú)向圖結(jié)合DSL的方式,可以快速的獲取模型數(shù)據(jù),從而能夠快速對(duì)客戶端請(qǐng)求進(jìn)行響應(yīng)。
[0084]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0085]以上對(duì)本申請(qǐng)所提供的復(fù)合模型數(shù)據(jù)處理方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【權(quán)利要求】
1.一種復(fù)合模型數(shù)據(jù)處理方法,其特征在于,包括以下步驟: 接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象; 基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型;基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑; 獲取查詢路徑中各模型的查詢方法; 按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù); 從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
2.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括: 若初始模型和目標(biāo)模型直接關(guān)聯(lián),查詢路徑為初始模型到目標(biāo)模型; 若初始模型和目標(biāo)模型間接關(guān)聯(lián),之間還包括中間模型,查詢路徑為初始模型到中間模型到目標(biāo)模型。
3.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括: 選取中間模型數(shù)量最少的路徑為查詢路徑。`
4.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑包括: 將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中; 遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。
5.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述方法還包括: 采用DSL定義各模型的關(guān)聯(lián)關(guān)系。
6.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述各模型的查詢方法采用統(tǒng)一語(yǔ)言定義。
7.如權(quán)利要求6所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述方法還包括: 采用DSL定義各模型的查詢方法。
8.如權(quán)利要求1所述的復(fù)合模型數(shù)據(jù)處理方法,其特征在于,所述接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象包括: 通過(guò)統(tǒng)一的客戶端API接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象。
9.一種復(fù)合模型數(shù)據(jù)處理系統(tǒng),其特征在于,包括: 數(shù)據(jù)接收模塊,用于接收并解析客戶端傳入的初始查詢條件和要求返回的對(duì)象; 查詢模型確定模塊,用于基于所述初始查詢條件確定初始模型,基于所述要求返回的對(duì)象確定目標(biāo)模型; 查詢路徑確定模塊,用于基于預(yù)定的模型關(guān)系確定所述目標(biāo)模型與初始模型的關(guān)聯(lián)關(guān)系,并根據(jù)所述關(guān)聯(lián)關(guān)系確定從初始模型到目標(biāo)模型的查詢路徑; 查詢方法獲取模塊,用于獲取查詢路徑中各模型的查詢方法;數(shù)據(jù)查詢模塊,用于按照所述查詢路徑的順序自動(dòng)查詢各模型的數(shù)據(jù),其中,初始模型數(shù)據(jù)通過(guò)將初始查詢條件傳入初始模型對(duì)應(yīng)的查詢方法獲取,查詢路徑中其余的模型所需要的查詢條件從上一模型數(shù)據(jù)中提取,并通過(guò)將提取的查詢條件分別傳入各模型對(duì)應(yīng)的查詢方法來(lái)獲取對(duì)應(yīng)的模型數(shù)據(jù); 數(shù)據(jù)返回模塊,用于從所有的模型數(shù)據(jù)中提取要求返回的對(duì)象,并返回給客戶端。
10.如權(quán)利要求9所述的復(fù)合模型數(shù)據(jù)處理系統(tǒng),其特征在于,所述查詢路徑確定模塊包括: 路徑選擇單元,用于選取中間模型數(shù)量最少的路徑為查詢路徑。
11.如權(quán)利要求9所述的復(fù)合模型數(shù)據(jù)處理系統(tǒng),其特征在于,所述查詢路徑確定模塊包括: 處理單元,將各模型的關(guān)聯(lián)關(guān)系讀取到模型無(wú)向圖數(shù)據(jù)結(jié)構(gòu)中,遍歷所述模型無(wú)向圖獲取從初始模型到目標(biāo)模型的查詢路徑。。
12.如權(quán)利要求9所述的復(fù)合模型數(shù)據(jù)處理系統(tǒng),其特征在于,所述系統(tǒng)還包括: 關(guān)系定義模塊,用于采用 DSL定義各模型的關(guān)聯(lián)關(guān)系和查詢方法。
【文檔編號(hào)】G06F17/30GK103488655SQ201210196003
【公開(kāi)日】2014年1月1日 申請(qǐng)日期:2012年6月13日 優(yōu)先權(quán)日:2012年6月13日
【發(fā)明者】何崚 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
太仓市| 行唐县| 土默特右旗| 焦作市| 辽源市| 长海县| 太白县| 常宁市| 格尔木市| 林州市| 商洛市| 静乐县| 晴隆县| 壶关县| 麻城市| 北安市| 武义县| 衡东县| 宁强县| 巨野县| 濮阳县| 龙游县| 海晏县| 隆化县| 拉孜县| 桓台县| 滨州市| 当涂县| 宁化县| 宝丰县| 九寨沟县| 丰城市| 筠连县| 烟台市| 德保县| 霍林郭勒市| 海阳市| 勐海县| 济阳县| 庆阳市| 肃南|