亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Alluxio的異步存儲(chǔ)優(yōu)化

        2018-04-12 08:51:05溫東新董文菁
        關(guān)鍵詞:保證數(shù)據(jù)世系底層

        溫東新  董文菁  曹 瑞  張 展

        (哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)

        受輸入輸出流的限制,現(xiàn)行框架[1-2]和存儲(chǔ)系統(tǒng)[3-6]無法更高效地進(jìn)行大規(guī)模數(shù)據(jù)并行處理.數(shù)據(jù)緩存[7]是最通用的提升數(shù)據(jù)讀寫性能的方法,但由于容錯(cuò)的需要,實(shí)際操作中會(huì)對節(jié)點(diǎn)間的寫數(shù)據(jù)進(jìn)行復(fù)制備份.然而,數(shù)據(jù)復(fù)制過程中網(wǎng)絡(luò)延遲高以及吞吐率性能低下都會(huì)降低寫過程的性能.

        Alluxio(原名Tachyon)是以內(nèi)存為中心的虛擬分布式存儲(chǔ)系統(tǒng)[8],在大數(shù)據(jù)生態(tài)系統(tǒng)中介于計(jì)算框架和底層存儲(chǔ)之間.其利用世系思想[9]避免重復(fù)復(fù)制引發(fā)的吞吐率降低,采用重計(jì)算而非數(shù)據(jù)備份進(jìn)行數(shù)據(jù)恢復(fù),利用底層存儲(chǔ)的容錯(cuò)機(jī)制保證已持久化數(shù)據(jù)的可靠性.針對底層存儲(chǔ),采用同步存儲(chǔ)方式會(huì)導(dǎo)致讀寫速度難以匹配計(jì)算速度,進(jìn)而影響系統(tǒng)性能,而采用異步存儲(chǔ)則可以在不影響性能的情況下完成數(shù)據(jù)的持久化.

        本文提出了一種適用于遠(yuǎn)程應(yīng)用場景的結(jié)合文件操作的異步存儲(chǔ)策略Async-Store.為保證數(shù)據(jù)可靠性,進(jìn)一步提出同步與異步相結(jié)合的策略Async&Sync.Async-Store策略采用傳輸操作的方式,利用底層存儲(chǔ)的計(jì)算資源完成數(shù)據(jù)持久化過程,減輕網(wǎng)絡(luò)傳輸數(shù)據(jù)的壓力,提升異步存儲(chǔ)性能.

        1 異步存儲(chǔ)基礎(chǔ)與架構(gòu)

        1.1 Alluxio遠(yuǎn)程應(yīng)用場景

        Alluxio作為一個(gè)內(nèi)存級別的虛擬分布式存儲(chǔ)系統(tǒng),其主要應(yīng)用場景之一是遠(yuǎn)程應(yīng)用場景,即計(jì)算層需要反復(fù)訪問遠(yuǎn)程存儲(chǔ)的數(shù)據(jù).在百度與去哪兒的實(shí)際應(yīng)用中,Alluxio作為核心存儲(chǔ)層與計(jì)算系統(tǒng)部署在一起,存儲(chǔ)系統(tǒng)如HDFS則作為底層存儲(chǔ)位于遠(yuǎn)端機(jī)房,用于備份所有數(shù)據(jù).

        1.2 Alluxio寫數(shù)據(jù)

        Alluxio包括2種存儲(chǔ)類型:管理存儲(chǔ)和底層存儲(chǔ).Alluxio的寫類型包括4種:數(shù)據(jù)同步到底層存儲(chǔ)、異步到底層存儲(chǔ)、只在Alluxio中的存儲(chǔ)和直接寫到底層的存儲(chǔ).同步存儲(chǔ)表示程序必須等待數(shù)據(jù)完成持久化后才能返回成功.異步存儲(chǔ)表示數(shù)據(jù)寫入Alluxio后立即返回成功,然后在后期進(jìn)行持久化操作.Alluxio支持的異步存儲(chǔ)方式目前處于實(shí)驗(yàn)階段,在當(dāng)前1.2.0版本中支持單節(jié)點(diǎn)異步存儲(chǔ)[10].

        1.3 Alluxio世系關(guān)系

        Alluxio的世系關(guān)系日志記錄了文件之間的生成關(guān)系[9].生成世系關(guān)系的前提是生成文件的操作具有冪等性.通過訪問日志可以獲得生成某文件的具體操作信息,根據(jù)這些信息利用重計(jì)算來恢復(fù)丟失數(shù)據(jù).因此,在數(shù)據(jù)持久化過程中,傳輸操作能有效減緩網(wǎng)絡(luò)的數(shù)據(jù)傳輸壓力.

        1.4 異步存儲(chǔ)架構(gòu)

        異步存儲(chǔ)策略包括3個(gè)模塊:文件預(yù)處理模塊、異步存儲(chǔ)模塊和故障處理模塊(見圖1).文件預(yù)處理模塊負(fù)責(zé)對異步文件進(jìn)行組織分配,按照是否可重計(jì)算、可替換等條件管理文件.異步存儲(chǔ)模塊將進(jìn)入異步隊(duì)列的文件按照優(yōu)先級排列,根據(jù)異步策略持久化文件,保證數(shù)據(jù)一致性,以不影響程序運(yùn)行為前提完成數(shù)據(jù)持久化過程.發(fā)生故障后,故障處理模塊根據(jù)異步存儲(chǔ)的狀態(tài)進(jìn)行處理,以保證數(shù)據(jù)能夠有效持久化.

        圖1 異步存儲(chǔ)架構(gòu)

        2 異步存儲(chǔ)策略實(shí)現(xiàn)

        2.1 文件預(yù)處理模塊

        2.1.1文件類型分配

        在異步策略中,文件被分為需要異步的文件和暫不需要異步的文件2個(gè)部分.針對需要異步的文件,根據(jù)生成該文件的操作是否具有冪等性,將其分為可重計(jì)算恢復(fù)的文件和無法重計(jì)算恢復(fù)的文件.暫不需要異步的文件主要包括已經(jīng)完成持久化的文件和用戶標(biāo)注不需要異步的文件.

        2.1.2異步文件隊(duì)列

        當(dāng)引入一個(gè)需要異步的新文件時(shí),需判別該文件是否可以利用重計(jì)算恢復(fù).不能利用重計(jì)算恢復(fù)的文件的異步優(yōu)先級高于可以利用重計(jì)算恢復(fù)的文件.在異步過程中,通過預(yù)測文件重計(jì)算時(shí)間和傳輸時(shí)間進(jìn)行異步策略分配.圖2給出了一個(gè)由原始文件集1通過一系列操作生成各種文件集的重計(jì)算隊(duì)列.默認(rèn)文件集1已完成持久化操作.對于可重計(jì)算隊(duì)列中的文件n,其相應(yīng)世系關(guān)系中的文件m(m

        圖2 世系關(guān)系信息鏈舉例

        2.1.3數(shù)據(jù)替換

        緩存滿時(shí)可替換已經(jīng)完成持久化的文件和不需要持久化的文件.可用的緩存替換算法有很多,Alluxio支持LRU,LRFU等替換算法[7].

        當(dāng)可替換的文件容量小于新文件大小時(shí),可以占用部分可重計(jì)算的文件容量.為避免影響文件恢復(fù)速度,選擇位于特殊位置的文件進(jìn)行替換,例如利用位于重計(jì)算隊(duì)列中奇數(shù)位置的文件通過一步冪等操作即可恢復(fù)相應(yīng)偶數(shù)位置的文件.如果新文件很大,對其采用直接存到底層存儲(chǔ)的方式,而非占用過多的內(nèi)存資源[8].

        2.2 異步存儲(chǔ)模塊

        異步存儲(chǔ)設(shè)置的關(guān)鍵是在后臺異步執(zhí)行存儲(chǔ)操作且不停止當(dāng)前執(zhí)行的應(yīng)用程序.理想的異步存儲(chǔ)策略需要滿足以下幾點(diǎn):① 為重要文件進(jìn)行優(yōu)先異步;② 盡量避免對臨時(shí)文件的異步;③ 異步存儲(chǔ)滿足一定的效率,如果時(shí)間過長導(dǎo)致文件數(shù)據(jù)丟失或者失去意義則會(huì)形成無效的異步.

        2.2.1異步文件優(yōu)先級分配

        需要異步的文件分為無法重計(jì)算得到的文件、世系關(guān)系中的檢查點(diǎn)文件和正??芍赜?jì)算的文件3種.文件分配優(yōu)先級的策略是基于文件的屬性和文件被讀取的次數(shù).不可重計(jì)算獲得的文件優(yōu)先級比可重計(jì)算的文件優(yōu)先級高,生成文件操作不具有冪等性的文件優(yōu)先級比具有冪等性的文件優(yōu)先級高,被多次讀取的文件優(yōu)先級比相同條件下讀取次數(shù)少的文件優(yōu)先級高,作為檢查點(diǎn)的文件優(yōu)先級比其他世系關(guān)系信息中記錄的文件優(yōu)先級高.因此,分配文件優(yōu)先級的考慮因素包括該文件是否可以通過重計(jì)算獲得、操作是否具有冪等性、是否作為檢查點(diǎn)文件及其被讀取次數(shù).按權(quán)重配比,對于文件i而言,其優(yōu)先級設(shè)定為

        Pi=ax1+bx2+cx3+dx4

        式中,x1,x2,x3∈{0,1},且x1=1表示系統(tǒng)中存在生成文件i的相應(yīng)操作信息,x2=1表示該操作信息具有冪等性,x3=1表示文件i屬于檢查點(diǎn)文件;x4為文件i被讀取的次數(shù);a,b,c,d為權(quán)重,具體數(shù)值需依照實(shí)際運(yùn)行環(huán)境進(jìn)行分配.

        2.2.2傳輸策略設(shè)計(jì)

        對于無法重計(jì)算獲得的文件只能利用傳送數(shù)據(jù)來進(jìn)行持久化.對于具有操作信息的文件,以某個(gè)固定數(shù)據(jù)量為界限,數(shù)據(jù)量小的文件可以在短時(shí)間內(nèi)進(jìn)行數(shù)據(jù)結(jié)果的傳輸,如詞頻計(jì)算的結(jié)果.超過一定數(shù)據(jù)量的文件根據(jù)其操作是否具有冪等性進(jìn)行劃分,對不具有冪等性的文件采用傳輸數(shù)據(jù)的方式,對具有冪等性的文件采用傳輸操作的方式,如對大文件的清洗操作.

        針對非世系關(guān)系中的檢查點(diǎn)文件,選擇在操作結(jié)束后對文件數(shù)據(jù)進(jìn)行傳輸,從而避免程序在運(yùn)行過程中傳輸與復(fù)制臨時(shí)文件,避免存儲(chǔ)資源與網(wǎng)絡(luò)資源的浪費(fèi).針對傳送操作,需考慮操作執(zhí)行的前提條件,如該操作的源文件是否已經(jīng)完成持久化、操作在底層計(jì)算資源中的預(yù)估計(jì)算時(shí)間與直接傳送數(shù)據(jù)的預(yù)估傳輸時(shí)間的對比.傳輸數(shù)據(jù)時(shí)需選擇傳輸數(shù)據(jù)的執(zhí)行節(jié)點(diǎn),為提升數(shù)據(jù)傳送效率,需根據(jù)文件數(shù)據(jù)塊所處位置進(jìn)行判斷,選擇存在最多連續(xù)數(shù)據(jù)塊的空閑節(jié)點(diǎn)執(zhí)行數(shù)據(jù)傳輸操作,若不存在則尋找距離這些數(shù)據(jù)塊最近的空閑節(jié)點(diǎn)執(zhí)行.

        2.2.3數(shù)據(jù)一致性保證

        由于Alluxio是一次寫入多次讀取,數(shù)據(jù)具有不變性且只提供數(shù)據(jù)之上的擴(kuò)展操作[8],因此Alluxio中不會(huì)發(fā)生因數(shù)據(jù)更改造成的數(shù)據(jù)不一致現(xiàn)象.異步存儲(chǔ)過程中,導(dǎo)致數(shù)據(jù)不一致現(xiàn)象發(fā)生的情況主要包括:① 系統(tǒng)故障導(dǎo)致的數(shù)據(jù)塊丟失;② 文件發(fā)生替換時(shí)一旦未持久化的數(shù)據(jù)塊被替換出去會(huì)導(dǎo)致數(shù)據(jù)塊丟失,引起數(shù)據(jù)不一致現(xiàn)象;③ 數(shù)據(jù)傳輸過程中受網(wǎng)絡(luò)影響等因素導(dǎo)致數(shù)據(jù)變化引起的數(shù)據(jù)不一致現(xiàn)象.

        在數(shù)據(jù)塊丟失情況下,無法重計(jì)算恢復(fù)且尚未完成持久化操作的文件是不支持進(jìn)行替換操作的.可重計(jì)算文件在未完成持久化之前發(fā)生數(shù)據(jù)丟失時(shí),可以通過重計(jì)算進(jìn)行恢復(fù).數(shù)據(jù)已發(fā)生部分丟失且無法重計(jì)算恢復(fù)的文件則只能拋出異常交由上層應(yīng)用處理.

        針對傳輸過程發(fā)生的數(shù)據(jù)不一致現(xiàn)象,通過校驗(yàn)和進(jìn)行檢查.完成持久化處理之后,由底層存儲(chǔ)的相應(yīng)機(jī)制來保證數(shù)據(jù)的一致性.

        2.2.4異步開銷

        為不影響當(dāng)前工作任務(wù),在執(zhí)行過程中將異步策略分配優(yōu)先級設(shè)置得較低.在文件進(jìn)行異步過程中,具有冪等性的大文件采用傳操作方式,避免占用計(jì)算集群資源和網(wǎng)絡(luò)資源,小文件使用直接傳輸數(shù)據(jù)的方式.異步策略的開銷對集群運(yùn)行影響較小.

        2.2.5異步與同步相結(jié)合

        異步策略能夠在維持性能的前提下盡可能完成數(shù)據(jù)的持久化,但無法完全避免數(shù)據(jù)丟失.例如,用戶從本地將大型文件導(dǎo)入到集群中,再將本地文件刪除,在數(shù)據(jù)完成持久化處理前,系統(tǒng)發(fā)生任何異常都可能導(dǎo)致數(shù)據(jù)永久性丟失.對無法恢復(fù)的重要文件采用異步存儲(chǔ)會(huì)出現(xiàn)數(shù)據(jù)不可用的情況,這時(shí)可結(jié)合同步操作來保證數(shù)據(jù)的可用性.通過采用同步與異步相結(jié)合的方式,針對不可恢復(fù)的重要文件采用同步策略,最大化保證數(shù)據(jù)的可靠性.

        2.3 故障處理模塊

        Alluxio利用底層存儲(chǔ)的容錯(cuò)機(jī)制來保證數(shù)據(jù)在底層存儲(chǔ)上的可靠性,利用世系關(guān)系[9]進(jìn)行未持久化文件的容錯(cuò).Alluxio集群因系統(tǒng)故障可能會(huì)發(fā)生數(shù)據(jù)丟失,對已完成持久化或未發(fā)生數(shù)據(jù)塊丟失的文件不需要進(jìn)行處理,發(fā)生數(shù)據(jù)塊丟失的文件通過世系關(guān)系信息重計(jì)算進(jìn)行數(shù)據(jù)恢復(fù),對無法重計(jì)算的文件交則由上層應(yīng)用處理.整個(gè)系統(tǒng)有2種情況會(huì)使文件無法通過重計(jì)算恢復(fù):① 生成該文件的操作不具有冪等性;② 生成該文件操作的源文件不存在于集群中.

        系統(tǒng)發(fā)生故障后,異步文件包括正在進(jìn)行數(shù)據(jù)持久化的文件、操作持久化的文件和等待進(jìn)行異步的文件.對于處于操作持久化或待異步中的文件,只要傳輸操作的前提條件滿足即可進(jìn)行持久化操作.對于處于數(shù)據(jù)持久化中的文件,只能等待世系關(guān)系重計(jì)算恢復(fù)文件后重新傳輸.無法恢復(fù)數(shù)據(jù)的文件只能拋出異常,交由上層應(yīng)用處理.Async&Sync策略將無法重計(jì)算獲得的文件進(jìn)行同步存儲(chǔ),使得異步存儲(chǔ)的文件均為可重計(jì)算獲得的文件,即使發(fā)生故障也可以保證數(shù)據(jù)完成持久化.

        3 實(shí)驗(yàn)

        實(shí)驗(yàn)中的計(jì)算中心是搭建在浪潮服務(wù)器上的一個(gè)虛擬機(jī)集群,Alluxio容量設(shè)置為56 GB.存儲(chǔ)中心是搭建在刀片服務(wù)器上的一個(gè)虛擬機(jī)集群,HDFS容量為1.5 TB.

        實(shí)驗(yàn)中,作為測試的工作流是基于文件的一個(gè)分析工作流[8].如圖3所示,該工作流包括周期性的提取、轉(zhuǎn)換和加載,分為若干批次分別讀取數(shù)據(jù)源1~5 GB的數(shù)據(jù),每批次包含5個(gè)Spark操作和4個(gè)MapReduce操作.利用Spark的轉(zhuǎn)換操作來仿真數(shù)據(jù)清洗過程,采用MapReduce的詞頻計(jì)算來仿真測試分析過程.

        圖3 實(shí)驗(yàn)工作流

        實(shí)驗(yàn)測試了CacheOnly,CacheThrough,Async-Store和Async&Sync四種持久化策略.其中CacheOnly和CacheThrough為Alluxio自帶的持久化方式.采用CacheOnly時(shí)數(shù)據(jù)不進(jìn)行持久化;采用CacheThrough時(shí)數(shù)據(jù)使用同步方式進(jìn)行持久化.

        實(shí)驗(yàn)中文件的計(jì)算時(shí)間與傳輸時(shí)間采用隨機(jī)數(shù)進(jìn)行模擬.默認(rèn)底層存儲(chǔ)足夠大,生成的文件都需要進(jìn)行保存.只要完成文件持久化操作,就可以利用底層存儲(chǔ)的容錯(cuò)機(jī)制來保證數(shù)據(jù)的可靠性.

        實(shí)驗(yàn)中采用文件丟失數(shù)來衡量數(shù)據(jù)丟失程度.當(dāng)某個(gè)文件丟失了部分?jǐn)?shù)據(jù)塊,則認(rèn)為該文件丟失.

        3.1 運(yùn)行時(shí)間分析

        程序運(yùn)行時(shí)間見圖4.由圖可知,CacheOnly策略和Async-Store策略的時(shí)間消耗相當(dāng)且最少,Async&Sync策略次之,CacheThrough策略最長.

        圖4 程序運(yùn)行時(shí)間

        相比同步策略CacheThrough,Async-Store的運(yùn)行時(shí)間縮短41%,Async&Sync的運(yùn)行時(shí)間縮短26%,并保證了數(shù)據(jù)的可靠性,說明選擇同步策略雖然保證了數(shù)據(jù)的可靠性,但是犧牲了運(yùn)行時(shí)間.

        3.2 數(shù)據(jù)結(jié)果分析

        從數(shù)據(jù)丟失的情況來看,CacheThrough與Async&Sync能保證數(shù)據(jù)不會(huì)丟失,CacheOnly則無法保證,Async-Store只能在不可重計(jì)算文件不丟失的情況下保證數(shù)據(jù)不丟失.本實(shí)驗(yàn)中,采用CacheOnly策略時(shí),由于存在數(shù)據(jù)替換操作,文件丟失的概率為53%,CacheThrough,Async-Store和Async&Sync均未發(fā)生數(shù)據(jù)丟失.通過程序比較方法,證明CacheTrough與Async-Store持久化到底層的數(shù)據(jù)完全一致.

        由此可知,異步操作能在保證運(yùn)行時(shí)間的情況下完成數(shù)據(jù)的持久化操作.同步與異步相結(jié)合的方式能以犧牲少部分性能來保證數(shù)據(jù)可靠性.

        3.3 資源消耗分析

        使用文獻(xiàn)[11]中方法對集群中異步策略的資源消耗進(jìn)行分析,統(tǒng)計(jì)結(jié)果如圖5所示.Async-Store與CacheOnly在內(nèi)存的消耗上基本一致,其中內(nèi)存使用平均值分別為20.0和19.3,緩存消耗平均值為34.4和31.7.Async-Store的平均網(wǎng)絡(luò)流量輸出較CacheOnly高出約5 MB/s.由此可知,異步策略對集群資源的使用沒有產(chǎn)生很大影響.

        3.4 故障處理分析

        在故障處理實(shí)驗(yàn)中采用節(jié)點(diǎn)宕機(jī)的方式模擬單點(diǎn)故障.節(jié)點(diǎn)故障導(dǎo)致存儲(chǔ)在該節(jié)點(diǎn)的數(shù)據(jù)發(fā)生丟失,利用2.3節(jié)中的方法進(jìn)行相應(yīng)處理,結(jié)果見圖6.由圖可知,程序相對無故障運(yùn)行時(shí)間延長,在Async-Store中因故障丟失且無法重計(jì)算獲得的文件數(shù)約為需要完成持久化文件數(shù)的3%.Async & Sync通過同步方式對無法重計(jì)算的文件進(jìn)行持久化操作,沒有發(fā)生數(shù)據(jù)丟失.

        4 結(jié)語

        異步存儲(chǔ)策略Async-Store依據(jù)操作信息,采用傳送冪等方式,利用底層空閑資源實(shí)現(xiàn)數(shù)據(jù)的持久化操作.實(shí)驗(yàn)結(jié)果表明,該策略可以在不影響性能的情況下極大地保證數(shù)據(jù)可靠性.Alluxio本身提供了4種寫類型.如果在編寫程序的時(shí)候明確文件屬性,便可以直接進(jìn)行相應(yīng)文件的屬性配置.若內(nèi)存容量足夠且結(jié)果只用一次,則可以將數(shù)據(jù)全部存儲(chǔ)在內(nèi)存中.

        (a) 內(nèi)存使用對比

        (b) 內(nèi)存緩存對比

        (c) 網(wǎng)絡(luò)流量輸入對比

        (d) 網(wǎng)絡(luò)流量輸出對比

        圖6 故障處理分析圖

        參考文獻(xiàn)(References)

        [1] Zaharia M, Chowdhury M, Das T, et al. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing [C]//UsenixConferenceonNetworkedSystemsDesignandImplementation. Berkeley, CA, USA, 2012: 2.

        [2] Vaidya M. MapReduce: A flexible data processing tool[J].CommunicationsoftheACM, 2010,53(1): 72-77.

        [3] Ousterhout J, Agrawal P, Erickson D, et al. The case for RAMCloud[J].AcmSigopsOperatingSystemsReview, 2009,54(4): 121-130.

        [4] Baker J, Bond C, Corbett J, et al. Megastore: Providing scalable, highly available storage for interactive services[C]//FifthBiennialConferenceonInnovativeDataSystemsResearch. Asilomar, CA, USA, 2011: 223-234.

        [5] Escriva R, Wong B. HyperDex: A distributed, searchable key-value store[J].ACMSIGCOMMComputerCommunicationReview, 2012,42(42): 25-36. DOI:10.1145/2377677.2377681.

        [6] Ghemawat S, Gobioff H, Leung S. File and storage systems: The Google file system[J].AcmSymposiumonOperatingSystemsPrinciplesBoltonLanding, 2003,37: 29-43.

        [7] anonym. Tiered storage on Alluxio. [EB/OL].[2017-04-03].http://www.alluxio.org/docs/master/cn/Tiered-Storage-on-Alluxio.html.

        [8] Li, Haoyuan, Ghodsi, et al. Tachyon: Reliable, memory speed storage for cluster computing frameworks[J].ACMTransactionsonNetworks, 2014,14: 1-15.

        [9] Anonym. Lineage [EB/OL].[2017-04-12]. http://www.alluxio.org/docs/master/cn/Lineage-API.html.

        [10] Anonym. Why the data in memory still not be persisted into hdfs with setting write type to “ASYNC_THROUGH” [EB/OL].(2016-10-12)[2017-04-03]. http://alluxio-users.85194.x6.nabble.com/Why-the-data-in-memory-still-not-be-persisted-into-hdfs-with-setting-write-type-to-quot-ASYNC-THROUG-td1295.html#a1526.

        [11] Massie M L, Chun B N, Culler D E. The ganglia distributed monitoring system: Design, implementation, and experience[J].ParallelComputing, 2004,30(7): 817-840. DOI:10.1016/j.parco.2004.04.001.

        猜你喜歡
        保證數(shù)據(jù)世系底層
        航天企業(yè)提升采購能力的底層邏輯
        Debye-screening effect on electron-impact excitation of helium-like Al11+and Fe24+ions
        日本船級社(NK)發(fā)布《數(shù)據(jù)質(zhì)量指南》
        察哈爾格西《厄魯特王統(tǒng)世系》譯注
        備份與恢復(fù)vSphere 虛擬化環(huán)境
        遼耶律休哥世系考
        新見《源伯儀墓志》及中古源氏世系補(bǔ)考
        《新唐書宰相世系表》之唐貞休世系再考
        回到現(xiàn)實(shí)底層與悲憫情懷
        小說林(2014年5期)2014-02-28 19:51:47
        略論“底層”
        雜文選刊(2013年7期)2013-02-11 10:41:11
        国产精品女主播福利在线| 国产成人永久在线播放| 日本黄色一区二区三区视频| 午夜男女靠比视频免费| 日本大肚子孕妇交xxx| 日韩欧美在线综合网| 99色网站| 国产女人乱码一区二区三区| 在厨房被c到高潮a毛片奶水| 五月天激情婷婷婷久久| 在线丝袜欧美日韩制服| 亚洲精品456在线播放狼人 | 日韩精品成人一区二区在线观看 | 精品粉嫩国产一区二区三区| 精品亚洲第一区二区三区| 久久人妻少妇嫩草av无码专区| 就去吻亚洲精品欧美日韩在线| 精品国产又大又黄又粗av| 丝袜美腿视频一区二区| 无码国产精品一区二区免费式直播| 福利一区在线观看| 久久一二三四区中文字幕| 国产一区国产二区亚洲精品| 性色av无码中文av有码vr| 在线观看亚洲AV日韩A∨| 在线一区二区三区免费视频观看| 美腿丝袜诱惑一区二区| 好屌草这里只有精品| 亚洲区偷拍自拍29p| 亚洲一区二区av偷偷| 日本一区三区三区在线观看| 欧美日韩精品一区二区三区高清视频| 亚洲国产成人精品福利在线观看| 日本中文字幕人妻精品| 日本久久精品中文字幕| 18禁黄久久久aaa片| 国产短视频精品区第一页| 国产三级国产精品国产专区| 手机免费在线观看av网址| 国产午夜福利在线播放| 精精国产xxxx视频在线播放器|