999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種新型高效的多租戶共享數(shù)據(jù)模型

2017-08-12 12:22:06何文哲范冰冰
計算機應用與軟件 2017年8期
關鍵詞:設置數(shù)據(jù)庫模型

何文哲 范冰冰

(華南師范大學計算機學院 廣東 廣州 510631)

?

一種新型高效的多租戶共享數(shù)據(jù)模型

何文哲 范冰冰

(華南師范大學計算機學院 廣東 廣州 510631)

構建SaaS多租戶數(shù)據(jù)庫時,針對為實現(xiàn)租戶自定義數(shù)據(jù)高效存儲而面臨的多租戶共享數(shù)據(jù)模型設計問題,提出一種適用于多租戶數(shù)據(jù)存儲的多級塊折疊表數(shù)據(jù)模型。該模型使用多組結構各異的塊表來存儲租戶的自定義數(shù)據(jù)。設計模型的基礎數(shù)據(jù)表,并給出多級塊數(shù)據(jù)表的一般性設置方法。實驗結果表明,在一個SaaS應用實例中,該數(shù)據(jù)模型比傳統(tǒng)塊折疊表數(shù)據(jù)模型減少了28%的查詢延時和22%的存儲空間,比彈性擴展表數(shù)據(jù)模型減少了54.9%的查詢延時和83.9%的存儲空間,多級塊折疊表數(shù)據(jù)模型具有更高的查詢性能以及空間效率。

多租戶 數(shù)據(jù)模型 塊折疊表

0 引 言

SaaS模式通過互聯(lián)網(wǎng)向用戶提供軟件服務,用戶根據(jù)自己的需要租賃軟件服務,并支付費用[1]。SaaS服務供應商希望通過高效復用軟件的形式降低成本,多租戶技術能夠讓多個需要使用相同或類似軟件服務的租戶共用同一個軟件實例,實現(xiàn)最大程度的共享[2]。

多個租戶邏輯應用需要共享一個多租戶應用實例,不同邏輯應用支撐的業(yè)務產(chǎn)生不同結構的數(shù)據(jù)。本文把租戶因不同業(yè)務需求而定義的數(shù)據(jù)稱為租戶自定義數(shù)據(jù)。若一個多租戶數(shù)據(jù)庫實例為每一個租戶設置獨立的數(shù)據(jù)表,存儲其的自定義數(shù)據(jù)。當數(shù)據(jù)庫的數(shù)據(jù)表數(shù)量達到一定程度時,數(shù)據(jù)庫的性能會受到較大影響,難以滿足租戶的查詢性能需求[3]。因此,需要設置有限的若干張共享數(shù)據(jù)表存儲多個租戶的自定義數(shù)據(jù)[4]。而能夠共享存儲租戶數(shù)據(jù)的數(shù)據(jù)表的結構,則稱為多租戶共享數(shù)據(jù)表模型。如何設置一種高效的多租戶共享數(shù)據(jù)模型,成為了構建多租戶數(shù)據(jù)庫的關鍵問題。

目前,國內外學術界與工業(yè)界針對多租戶共享數(shù)據(jù)模型的設置做了大量的研究。

文獻[5]介紹和對比了若干種多租戶共享數(shù)據(jù)模型,評估了一個使用了拓展表數(shù)據(jù)模型的XML數(shù)據(jù)庫性能,得出了XML數(shù)據(jù)庫仍無法滿足SaaS多租戶應用的查詢性能需求的結論。文獻[6]提出了一種彈性擴展表數(shù)據(jù)模型。文獻[7]使用了該模型搭建了一個多租戶數(shù)據(jù)庫架構,在該模型中,租戶的異構數(shù)據(jù)會被完全垂直切分,在存儲時,需要存儲大量額外的元數(shù)據(jù),影響數(shù)據(jù)存儲效率,在重構查詢結果時,需要大量的連接操作,影響數(shù)據(jù)查詢性能。文獻[8]提出了一種索引表數(shù)據(jù)模型,在該模型中,隨著租戶數(shù)量的增加和租戶自定義數(shù)據(jù)行為的增加,數(shù)據(jù)庫的數(shù)據(jù)表量會不斷增加,造成性能瓶頸。文獻[3]提出一種塊折疊表數(shù)據(jù)模型。在這種模型中,用于存儲租戶自定義數(shù)據(jù)的塊表需要在建立多租戶數(shù)據(jù)庫之初建立,適應性較差。文獻[9]提出一種以XML為基礎的共享數(shù)據(jù)模型的多租戶數(shù)據(jù)擴展方法。該文獻僅對提出的方法進行了性能分析,未通過實驗對方法的性能進行驗證。文獻[10]提出基于XML的數(shù)據(jù)擴展模型。該文獻未通過實驗驗證該模型查詢性能以及空間效率。

除了學術界外,IT企業(yè)也對多租戶數(shù)據(jù)庫展開了研究。文獻[11]提出了Force.com云平臺使用寬度為500列的通用表存儲租戶的應用數(shù)據(jù),使用透視表存儲非規(guī)范化數(shù)據(jù)。由于通用表為稀疏表,且寬度較大,表中存儲了大量的空值,使得數(shù)據(jù)庫的空間使用率較低。

由此可知,在構建多租戶數(shù)據(jù)庫時,如何設計一個具有較高查詢性能以及空間效率的多租戶共享數(shù)據(jù)模型的問題依然亟待解決。

1 塊表數(shù)據(jù)模型與多級塊折疊表數(shù)據(jù)模型

為了方便描述塊折疊表數(shù)據(jù)模型以及多級塊折疊表數(shù)據(jù)模型,本文以一個多租戶課程管理數(shù)據(jù)為場景,系統(tǒng)為租戶A、租戶B以及租戶C提供服務。由于三個租戶的業(yè)務管理需求差異,導致租戶需要存儲不同的課程數(shù)據(jù),分別如表1-表3所示。

表1 租戶A課程數(shù)據(jù)表

表2 租戶B課程數(shù)據(jù)表

表3 租戶C課程數(shù)據(jù)表

塊表數(shù)據(jù)模型通過設置一張塊表來存儲租戶按照一定規(guī)則垂直切分后的數(shù)據(jù)。在這種模型中,租戶的數(shù)據(jù)表被切分成塊,每一塊包含若干個字段,這些塊被存儲到同一張塊表中,塊表的一個元組用于存儲租戶一個元組被切分后的其中一塊。

塊折疊表數(shù)據(jù)模型是塊表數(shù)據(jù)模型的一種改進模型。在塊表中,由于租戶的所有數(shù)據(jù)都被拆分成較小的塊,構造查詢結果時依然需要較多的連接操作[12]。對于一個多租戶應用來說,其服務的多個租戶邏輯應用具有相同或類似的業(yè)務需求,用于支撐業(yè)務的數(shù)據(jù)具有部分相同的結構。在塊折疊模型中,租戶結構相同的數(shù)據(jù)被稱為基礎數(shù)據(jù),這部分數(shù)據(jù)被“折疊”后使用基礎數(shù)據(jù)表存儲,而自定義數(shù)據(jù)使用塊表數(shù)據(jù)模型進行存儲。

本場景中租戶的數(shù)據(jù)存儲在多級塊折疊表數(shù)據(jù)模型的情況如表4和表5所示。

表4 塊折疊表數(shù)據(jù)模型Tenant_Table

表5 塊折疊表數(shù)據(jù)模型Chunk_Table

塊折疊表數(shù)據(jù)模型相對于塊表數(shù)據(jù)模型,其基礎數(shù)據(jù)部分被“折疊”存儲在基礎表中,需要切分成塊的數(shù)據(jù)量減少,在構造查詢結果時,需要完成的連接操作也因此減少。該模型為了減少連接操作,設置的塊需要包含多個數(shù)據(jù)字段。這樣的設置使得該模型在存儲字段數(shù)據(jù)類型比例與塊字段數(shù)據(jù)類型比例差異較大的用戶數(shù)據(jù)時,如表5所示,在存儲使用特定塊表存儲租戶C與租戶D的數(shù)據(jù)時,具有以下缺點:

(1) 需要存儲大量的空值,使得有效數(shù)據(jù)占所有數(shù)據(jù)的比例較低。如表5所示,租戶B與租戶C有效數(shù)據(jù)占塊內總數(shù)據(jù)的比例僅為50%。

(2) 構造查詢結果時需要進行大量的連接操作。如表5所示,租戶B與租戶C的自定義數(shù)據(jù)部分都被垂直切分為5個塊進行存儲,在構造其自定義數(shù)據(jù)結果時需要進行4次連接操作。

2 多級塊折疊表數(shù)據(jù)模型

針對塊折疊數(shù)據(jù)模型在存儲字段數(shù)據(jù)類型比例與塊字段數(shù)據(jù)類型比例差異較大的用戶數(shù)據(jù)時的缺點,本文提出了一種改進的塊折疊表數(shù)據(jù)模型——多級塊折疊表數(shù)據(jù)模型。該模型將單張塊表改進為一組多張寬度相同,塊內數(shù)據(jù)類型比例不同的塊表,并使用該組塊表對租戶的自定義數(shù)據(jù)進行存儲。

本節(jié)依然使用第1節(jié)使用場景闡述多級塊表數(shù)據(jù)模型。在場景中,設置了1組3個級別的塊對租戶的自定義數(shù)據(jù)進行切分與存儲,設置的3個級別的塊分別為:

(1) 塊1:包含兩個varchar類型數(shù)據(jù)。

(2) 塊2:包含一個varchar類型數(shù)據(jù),一個int類型數(shù)據(jù)。

(3) 塊3:包含兩個int類型數(shù)據(jù)。

根據(jù)塊構造設置3張塊表以及1張基礎表,將租戶的數(shù)據(jù)存儲到數(shù)據(jù)表中?;A數(shù)據(jù)的設置以及其存儲的數(shù)據(jù)如表6所示,3張塊表的設置以及其存儲數(shù)據(jù)的情況如表7-表9所示。相對于塊表折疊表數(shù)據(jù)模型,租戶B與租戶C有效數(shù)據(jù)僅占塊內總數(shù)據(jù)的比例提升至83.3%,且租戶B和租戶C的自定義部分數(shù)據(jù)也由被切分成5塊減少至3塊,存儲數(shù)據(jù)所需空間減少的同時,重構查詢結果時,需要的連接操作也得到了減少。

表6 多級塊折疊表數(shù)據(jù)模型Tenant_Table

表7 多級塊折疊表數(shù)據(jù)模型Chunk_Table_1

表8 多級塊折疊表數(shù)據(jù)模型Chunk_Table_2

表9 多級塊折疊表數(shù)據(jù)模型Chunk_Table_3

2.1 數(shù)據(jù)模型的一般性描述

多級塊折疊模型通過設置一張基礎表存儲租戶的同構部分數(shù)據(jù),設置基礎表的如表10所示。設置的一組多級塊表存儲租戶的自定義部分數(shù)據(jù),設置的一組多級塊表如表11-表13所示。其中,基礎表設置的字段為:租戶id(Tenant_id),Row(行號),Com_field_1(租戶公共字段1),…,Com_field_m(租戶公共字段m)。塊表設置的字段為:租戶id(Tenant_id),Table(數(shù)據(jù)表號),Chunk(塊號),Row(行號),Cus_type_1_1(自定義數(shù)據(jù)類型1的第1字段),…,Cus_type_x_1(自定義數(shù)據(jù)類型x的第1字段),…,Com_field_o_1(自定義數(shù)據(jù)類型o的第1字段)。塊表寬度的設置、塊表級別數(shù)量的設置以及每一級別塊表自定義數(shù)據(jù)類型的組合需要根據(jù)實際SaaS多租戶應用所需要存儲的具體數(shù)據(jù)決定。

表10 多級塊折疊表數(shù)據(jù)模型Tenant_Table

表11 多級塊折疊表數(shù)據(jù)模型Chunk_Table_1

表12 多級塊折疊表數(shù)據(jù)模型Chunk_Table_x

表13 多級塊折疊表數(shù)據(jù)模型Chunk_Table_n

2.2 數(shù)據(jù)模型的設置方法

要實現(xiàn)使用多級塊折疊表數(shù)據(jù)模型存儲SaaS多租戶應用的數(shù)據(jù),需要完成多級塊折疊模型數(shù)據(jù)表的設置。

方法涉及的部分符號含義如下:

SaaS多租戶應用中租戶的集合為Tenant,其大小為q,定義為Tenant={tenant1,tenant2,…,tenantq},其中tenanti為租戶。多租戶數(shù)據(jù)庫需要存儲的租戶的數(shù)據(jù)集為TenantData,其大小為q,定義為TenantData={tenantData1,tenantData2,…,tenantDataq},其中tenantDatai為租戶tenanti的數(shù)據(jù)。

方法的描述如下:

1) 對TenantData數(shù)據(jù)集中的租戶數(shù)據(jù)進行分析。根據(jù)tenant1,tenant2,…,tenantq,將每個租戶的基礎數(shù)據(jù)部分劃分到公共數(shù)據(jù)集合ComData中,ComData={comData1,comData2,…,comDataq},其中,comDatai為tenantDatai的基礎數(shù)據(jù)部分。將租戶的自定義數(shù)據(jù)部分劃分到自定義數(shù)據(jù)集合CusData中,CusData={cusData1,cusData2,…,cusDataq},其中,cusDatai為tenantDatai的自定義數(shù)據(jù)部分。

2) 根據(jù)ComData集合設置多級塊表數(shù)據(jù)模型的基礎表。ComData集合中每一個租comDatai是同構的,根據(jù)comDatai的結構設置基礎表BaseTable的結構。

3) 根據(jù)CusData集合設置多級塊表數(shù)據(jù)模型的塊表集。對CusData集合中的cusDatai進行分析,得到租戶自定義數(shù)據(jù)量集合CusDataSize={cusDataSize1,cusDataSize2,…,cusDataSizeq},其中cusDataSizei為tenanti的數(shù)據(jù)元組數(shù)量,得到租戶自定義數(shù)據(jù)字段結構集合CusDataStruc={CusDataStruc1,CusDataStruc2,…,CusDataStrucq},其中,CusDataStruci為tenanti的自定義部分數(shù)據(jù)結構,CusDataStruci={(DataTypex,n),…,(DataTypey,m)},其中(DataTypex,n)表示tenanti的自定義字段中,有n個數(shù)據(jù)類型為DataTypex的字段。根據(jù)CusDataSize和CusDataStruc設置多組多級塊折疊表的塊寬度,表數(shù)量以及每個塊的塊內結構。

3 多級塊折疊表數(shù)據(jù)模型

3.1 實驗環(huán)境

為了驗證多級塊折疊表數(shù)據(jù)模型的查詢性能與空間效率,實驗以一個課程管理功能為背景,選取塊折疊表數(shù)據(jù)模型與彈性擴展表數(shù)據(jù)模型作為參照數(shù)據(jù)模型。實驗環(huán)境PC機的設置如圖1所示。

圖1 實驗環(huán)境PC機設置示意圖

其中,PC1模擬若干個租戶隨機發(fā)出選擇查詢請求,每次查詢一門課程的若干項課程信息。PC3存儲8~80個租戶的數(shù)據(jù),每個租戶擁有一張字段數(shù)量為10~25個的邏輯課程數(shù)據(jù)表,每一張邏輯課程數(shù)據(jù)表擁有10 000條記錄,邏輯數(shù)據(jù)表的三個副本分別被存儲在多級塊折疊表模型、塊折疊表模型和彈性擴展表模型中。PC2存儲租戶的元數(shù)據(jù)。

3.2 實驗結果

實驗將租戶的數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫中,在存儲不同租戶數(shù)據(jù)量的情況下,三種模型的空間效率對比如圖2所示。

圖2 三種數(shù)據(jù)模型空間效率對比圖

根據(jù)實驗結果可知,多級塊折疊表數(shù)據(jù)模型與參照模型在存儲同樣數(shù)量的邏輯數(shù)據(jù)時,該模型比塊折疊表模型節(jié)省約22%的存儲空間,比彈性擴展表模型節(jié)省約83.9%的存儲空間。彈性擴展表模型使用完全垂直切分數(shù)據(jù)的方式存儲租戶的自定義數(shù)據(jù),需要存儲大量的元數(shù)據(jù),導致租戶有效數(shù)據(jù)占比較低。對于傳統(tǒng)的塊折疊表模型,多級塊折疊表與其的空間效率分析如下:

對于租戶數(shù)據(jù)的基礎數(shù)據(jù)部分,多級塊折疊表數(shù)據(jù)模型與塊折疊表模型存儲數(shù)據(jù)的方式相同,存儲該部分數(shù)據(jù)的空間效率相同。對于租戶數(shù)據(jù)的自定義數(shù)據(jù)部分,由于兩種模型對于CusData的存儲方式存在差異,空間效率存儲差異,因此對兩種數(shù)據(jù)模型存儲自定義數(shù)據(jù)的空間效率進行分析。

對于租戶tenant,其自定義數(shù)據(jù)的結構可表示為:

(1)

其中(dataTypei,dci)表示tenant的自定義數(shù)據(jù)中,含有數(shù)據(jù)類型為dataTypei的字段dci個。

對于塊折疊表數(shù)據(jù)模型,其單個塊結構可表示為:

(2)

其中,(cfDataTypek,cfDck)表示一個塊含有數(shù)據(jù)類型為dataTypek的字段cdDck個。

對于多級塊折疊模型,其一組多級塊可表示為:

(3)

使用塊表的塊對cusDataStruc進行切分,切分后的塊數(shù)量為:

(4)

cfDataTypek=dataTypeidci≠0

使用多級塊表對cusDataStruc進行切分,切分后的塊數(shù)量為:

(5)

由于多級塊表模型的多個塊包含塊表的單個塊,因此可知:

mccc≤cc

(6)

對于塊表,其用于存儲租戶單個邏輯元組所需的數(shù)據(jù)空間cfs為:

(7)

其中,ms表示塊表單個元組的存儲塊描述信息所需的空間,nsdti表示塊表存儲數(shù)據(jù)類型為dataTypei的空值時的空間,dsi表示塊表存儲類型為dataTypei的數(shù)據(jù)所需的空間。

對于多級塊表,其用于存儲租戶單個邏輯元組所需的數(shù)據(jù)空間mccfs為:

(8)

由于mccc≤cc,因此可知:

mccfSize≤cfSize

(9)

由分析可知,多級塊折疊表數(shù)據(jù)模型在存儲同樣數(shù)量的邏輯元組時,只在多級塊折疊表模型使用與塊折疊表模型相同的塊切分所有租戶邏輯元組時,方與塊折疊表模型具有相同的空間效率,在更多的數(shù)據(jù)場景中,多級塊折疊表模型具有更高的空間效率。

在同樣的實驗數(shù)據(jù)設置下,對多級塊折疊表數(shù)據(jù)模型的查詢性能進行驗證實驗。PC1模擬2~20個隨機租戶同時發(fā)出查詢,每個租戶發(fā)起1 000個查詢若干個邏輯字段的選擇查詢,記錄并計算單個查詢的平均時間。三個模型的查詢平均延時對比如圖3所示,查詢吞吐率對比如圖4所示。

圖3 三種數(shù)據(jù)模型查詢延時對比圖

圖4 三種數(shù)據(jù)模型查詢延吞吐率對比圖

對于彈性擴展表模型,其在構造涉及多個數(shù)據(jù)列的查詢結果時,需要進行大量的連接操作,導致其查詢延時較高,查詢吞吐量較低。對于塊折疊表模型,由式(8)可知,多級塊折疊表數(shù)據(jù)模型能夠對不同結構的邏輯元組采取更加靈活的切分方式,在存儲同一邏輯元組時,多級塊折疊模型往往只需要更少的物理元組。在構造查詢結果時,所需要進行的連接操作也更少。在實驗場景中,與塊折疊表數(shù)據(jù)模型相比,多級塊折疊表數(shù)據(jù)模型的平均查詢延時減少了28.04%,吞吐率提高了69.68%。

4 結 語

本文對塊折疊表數(shù)據(jù)模型進行了拓展,提出了一種適用于多租戶數(shù)據(jù)存儲的多級塊折疊表數(shù)據(jù)模型。該數(shù)據(jù)模型通過設置基礎數(shù)據(jù)表存儲租戶同構的基礎數(shù)據(jù),通過設置多組多張塊內結構各異的塊表存儲租戶的自定義數(shù)據(jù),本文通過一個多級塊折疊數(shù)據(jù)模型、塊折疊表數(shù)據(jù)模型和彈性拓展表數(shù)據(jù)模型的對比實驗,驗證了多級塊折疊表數(shù)據(jù)模型具有較高的查詢性能與空間效率。本文實驗分析部分對多級塊折疊表數(shù)據(jù)模型所做的有效性分析為一般性分析,如何結合生產(chǎn)環(huán)境中更多的實際使用的數(shù)據(jù)庫引擎的緩存、索引等技術,對數(shù)據(jù)模型的有效性進行進一步分析與驗證,是本文未來研究的方向。

[1] Chong F, Carraro G. Architecture Strategies for Catching the Long Tail[EB/OL]. (2006-06)[2016-03-21].http://msdn.microsoft.com/enus/ library/aa479069.aspx.

[2] Chong F, Carraro G, Wolter R. Multi-Tenant Data Architecture[EB/OL]. (2006-06)[2016-03-21].https://msdn.microsoft.com/en-us/library/aa479086.aspx.

[3] Aulbach S, Grust T, Jacobs D, et al. Multi-tenant databases for software as a service: schema-mapping techniques[C]// ACM SIGMOD International Conference on Management of Data. ACM, 2008:1195-1206.

[4] Saraswathi M, Bhuvaneswari T. Multitenant SaaS model of cloud computing: Issues and solutions[C]// International Conference on Communication and Network Technologies. IEEE, 2014:27-32.

[5] Fang S, Tong Q. A comparison of multi-tenant data storage solutions for Software-as-a-Service[C]// International Conference on Computer Science & Education. IEEE, 2011:95-98.

[6] Yaish H, Goyal M, Feuerlicht G. An Elastic Multi-tenant Database Schema for Software as a Service[C]// IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing. IEEE, 2011:737-743.

[7] Yaish H, Goyal M. A Multi-tenant Database Architecture Design for Software Applications[C]// IEEE, International Conference on Computational Science and Engineering. 2013:933-940.

[8] Gorti I, Shiri N, Radhakrishnan T. A Flexible Data Model for Multi-tenant Databases for Software as a Service[C]// IEEE, International Conference on Computational Science and Engineering. 2013:1059-1066.

[9] 唐圣潘, 周肆清, 丁長松. 基于SAAS模式的共享模型的數(shù)據(jù)擴展技術研究[J]. 計算機技術與發(fā)展, 2011, 21(8):63-66.

[10] 周文瓊, 李慶忠, 范路橋,等. SaaS模式多租戶數(shù)據(jù)存貯模型的研究與實現(xiàn)[J]. 計算機科學, 2013, 40(10):194-197.

[11] Weissman C D, Bobrowski S. The design of the force.com multitenant internet application development platform[C]// ACM SIGMOD International Conference on Management of Data, SIGMOD 2009, Providence, Rhode Island, Usa, June 29-July. 2009:889-896.

[12] Ni J, Li G, Wang L, et al. Adaptive Database Schema Design for Multi-Tenant Data Management[J]. IEEE Transactions on Knowledge & Data Engineering, 2014, 26(9):2079-2093.

ANEWEFFICIENTMULTI-TENANTSHAREDDATAMODEL

He Wenzhe Fan Bingbing
(SchoolofComputer,SouthChinaNormalUniversity,Guangzhou510631,Guangdong,China)

Aiming at the problem of designing multi-tenant shared data model for achieving efficient storage of tenant’s custom data when building an SaaS multi-tenant database. A multi-class chunk folding data model is proposed for multi-tenant data storage. Multiple groups of heterogeneous chunk tables are used to store tenant’s custom data. The base table’s structure of the data model is designed. A general method is proposed for setting the heterogeneous chunk tables. The experimental result shows that the multi-class chunk folding model reduces the query latency by 28% and reduces the storage space by 22% compared with the classical chunk folding model. It also shows that multi-class chunk folding model reduces query latency by 54.9% and reduces storage space by 83.9% compared with the elastic extension table model, which means the multi-class chunk folding data model has higher query performance and space efficiency.

Multi-tenant Data model Chunk folding table

2016-06-24。廣東省重大科技專項(2014B010115001,2014B010112002,2016B030305003)。何文哲,碩士,主研領域:云計算。范冰冰,教授。

TP3

A

10.3969/j.issn.1000-386x.2017.08.012

猜你喜歡
設置數(shù)據(jù)庫模型
一半模型
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
本刊欄目設置說明
主站蜘蛛池模板: 国产日韩久久久久无码精品| 97超爽成人免费视频在线播放 | 波多野结衣无码中文字幕在线观看一区二区 | 国产精品一区二区在线播放| 四虎永久在线| 毛片在线看网站| 伊人激情综合网| 久久国产高潮流白浆免费观看| 亚洲国产综合精品一区| 永久免费无码日韩视频| 影音先锋丝袜制服| 91在线一9|永久视频在线| 色妞www精品视频一级下载| 青青国产成人免费精品视频| 中文无码精品A∨在线观看不卡| 亚洲 成人国产| 日韩精品欧美国产在线| 国产综合网站| 日韩精品一区二区三区swag| 成人午夜天| 久久精品国产精品一区二区| 成人亚洲国产| 中文字幕亚洲第一| 国产精品不卡片视频免费观看| 五月天久久综合| 欧美激情第一区| 欧美成人国产| 国产18在线| 亚洲精品视频免费看| 日本免费a视频| 中字无码av在线电影| 久久免费精品琪琪| 色欲综合久久中文字幕网| 久久亚洲精少妇毛片午夜无码| 久久亚洲国产一区二区| 99成人在线观看| 久久黄色影院| 台湾AV国片精品女同性| 色妞www精品视频一级下载| 国产精品亚洲αv天堂无码| 亚洲高清免费在线观看| 最近最新中文字幕在线第一页| 亚洲无码在线午夜电影| 搞黄网站免费观看| 一级片一区| 青青草国产在线视频| AV不卡无码免费一区二区三区| 午夜三级在线| 亚洲热线99精品视频| 欧美啪啪网| 国产成人免费观看在线视频| av尤物免费在线观看| 波多野结衣在线se| 亚洲天堂视频网| 久草视频精品| 无码专区国产精品第一页| 色欲国产一区二区日韩欧美| 一级成人欧美一区在线观看| 成年网址网站在线观看| 精品无码一区二区三区在线视频| 黄色网址免费在线| 亚洲91在线精品| 九九这里只有精品视频| 亚洲三级色| av一区二区无码在线| 91精品网站| 国产精品亚洲天堂| 午夜无码一区二区三区在线app| 日本亚洲欧美在线| a欧美在线| 国产欧美视频一区二区三区| 中文字幕无码电影| 99精品国产电影| 欧美精品啪啪一区二区三区| 久久国产精品国产自线拍| 精品小视频在线观看| 国产另类视频| 热久久综合这里只有精品电影| 亚洲国产天堂久久九九九| 青草国产在线视频| 18禁黄无遮挡免费动漫网站| 天天摸夜夜操|