• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    分布式數(shù)據(jù)處理系統(tǒng)內(nèi)存對象管理問題分析

    2016-03-24 00:22:56張雄陸路石宣化
    中興通訊技術(shù) 2016年2期
    關(guān)鍵詞:大數(shù)據(jù)

    張雄 陸路 石宣化

    摘要:通過從程序語言的特性、垃圾回收機(jī)制、內(nèi)存對象的序列化機(jī)制到基于區(qū)域的內(nèi)存管理機(jī)制分析了內(nèi)存對象的管理存在的問題,并分析了內(nèi)存對象的生命周期在內(nèi)存對象管理中能發(fā)揮的作用。提出了基于內(nèi)存對象的生命周期對內(nèi)存進(jìn)行區(qū)域化管理的思路,可以從根本上解決垃圾回收問題。

    關(guān)鍵詞:大數(shù)據(jù);內(nèi)存對象管理;分布式數(shù)據(jù)處理系統(tǒng)

    Abstract:Through analysis of the characteristics of program languages, mechanism of garbage collection, serialization of in-memory data-objects and region-based memory management, most existing problems with memory management are exposed. Whats more, the lifetime of in-memory data objects can be key factor in memory management. Thus a solution is region-based memory management combined with the lifetime of in-memory data objects, which can solve the garbage collection problem.

    Key words:big data; in-memory data-object management; distributed data processing system

    以MapReduce為代表的分布式數(shù)據(jù)處理系統(tǒng)使得人們可以以增加硬件資源的方法來處理海量數(shù)據(jù)。已有的大量研究集中在多核或分布式環(huán)境下的可擴(kuò)展性和容錯性。最新的研究工作表明:這類系統(tǒng)計(jì)算執(zhí)行效率是一個被忽視的重要問題。導(dǎo)致執(zhí)行效率低下的一個重要原因是代表性的開源系統(tǒng),如Hadoop和Spark,都使用帶有托管執(zhí)行環(huán)境的高級語言開發(fā),從而降低分布式環(huán)境下的部署和調(diào)試的難度。托管環(huán)境提供內(nèi)建的高級功能,比如自動內(nèi)存管理和并發(fā)模型,使得其對象模型的底層實(shí)現(xiàn)非常復(fù)雜,帶來額外的內(nèi)存和中央處理器(CPU)開銷。工業(yè)級托管環(huán)境的現(xiàn)代即時編譯優(yōu)化很大程度上解決了中間代碼(IR)的解釋執(zhí)行效率問題,但是難以解決復(fù)雜對象模型實(shí)現(xiàn)帶來的對象管理開銷問題。以Java虛擬機(jī)(JVM)為例:(1)每個對象在JVM中會有一個頭結(jié)構(gòu)保存元數(shù)據(jù),頭結(jié)構(gòu)除了記錄對象類型,還要支持垃圾收集和并發(fā)加鎖優(yōu)化;(2)所有(非原生類型)對象都在堆中創(chuàng)建,因此每個存活對象至少要有一個額外變量保存其引用;(3)泛型容器的元素如果是基本類型,必須首先被裝箱為對象類型;(4)主流垃圾收集算法都是基于對象追蹤的,因此堆中有大量的存活對象時,垃圾收集器需要耗費(fèi)大量CPU周期來標(biāo)記存活對象[1]。隨著處理數(shù)據(jù)量的增大,內(nèi)存對象越來越多,尤其是長駐內(nèi)存對象的存在[2],內(nèi)存對象管理會帶來嚴(yán)重的內(nèi)存膨脹和CPU開銷問題。內(nèi)存膨脹會間接影響執(zhí)行性能:如果內(nèi)存足夠,更大的內(nèi)存占用會導(dǎo)致更頻繁的垃圾回收;如果內(nèi)存不足,緩存的數(shù)據(jù)需要部分丟棄或者換出到磁盤,導(dǎo)致額外的重計(jì)算或輸入輸出(IO)開銷。

    最初用來解決這類問題的方法是垃圾收集優(yōu)化。垃圾收集優(yōu)化分為兩個方面:一方面是通過參數(shù)[3]調(diào)優(yōu),避免頻繁垃圾收集;另一方面是通過優(yōu)化垃圾收集算法實(shí)現(xiàn)來提高垃圾收集的性能[4]。垃圾收集優(yōu)化的方法只是減緩了垃圾收集操作的影響,實(shí)際上內(nèi)存對象管理所存在的問題仍然存在。后續(xù)的性能優(yōu)化方案逐漸從垃圾收集的優(yōu)化深入到內(nèi)存對象管理本身,針對數(shù)據(jù)對象在內(nèi)存中的存儲進(jìn)行優(yōu)化,主要包括序列化存儲[5],基于區(qū)域的內(nèi)存管理[6]。這種解決方案從根本上解決了對象對內(nèi)存資源的占用,但是仍然無法避免對象的存在。在對象存儲優(yōu)化的基礎(chǔ)上,目前分布式系統(tǒng)的一些上層特定應(yīng)用,例如Spark 結(jié)構(gòu)化查詢語言(SQL),利用特定的數(shù)據(jù)結(jié)構(gòu)解決了對象存儲優(yōu)化的不足,從根本上消除對象。當(dāng)然,由于是特定的應(yīng)用系統(tǒng),使用范圍窄。

    1 垃圾收集優(yōu)化

    垃圾收集問題是內(nèi)存對象管理中最重要的問題之一,也是影響系統(tǒng)性能的關(guān)鍵因素。因此,最初針對內(nèi)存對象管理問題的解決方法都是從垃圾收集入手。

    1.1 垃圾收集調(diào)優(yōu)

    垃圾收集調(diào)優(yōu)是最傳統(tǒng)的垃圾收集優(yōu)化技術(shù),也是一些長時間運(yùn)行的低延遲Web服務(wù)所推薦的方法。一些開源分布式數(shù)據(jù)處理系統(tǒng),例如Cassandra和HBase都使用以延遲為中心的方法來避免長時間垃圾收集開銷[7]。以上所述垃圾收集調(diào)優(yōu)方法的關(guān)鍵在于:用標(biāo)記清除算法(CMS)的垃圾收集控制器代替原有以吞吐量為中心的垃圾收集;調(diào)整標(biāo)記清除算法的垃圾收集控制器參數(shù)以降低垃圾收集開銷。

    1.2 垃圾收集算法優(yōu)化

    目前的垃圾收集算法有引用計(jì)數(shù)法、標(biāo)記清除算法、拷貝收集算法等,不同的垃圾收集算法讓內(nèi)存對象管理有更多的選擇來處理對象的回收。垃圾收集算法的優(yōu)化性能要到達(dá)最優(yōu)一般有特定場景,例如非統(tǒng)一內(nèi)存訪問(NUMA)感知的垃圾回收器[8]。并且,垃圾收集算法的優(yōu)化只是掩蓋了內(nèi)存對象管理的問題,內(nèi)存對象的自動化管理存在的問題仍然存在,頻繁調(diào)用垃圾收集的本質(zhì)因素沒有解決。

    1.3 程序語言優(yōu)化

    分布式數(shù)據(jù)處理系統(tǒng)使用高級面向?qū)ο笳Z言進(jìn)行開發(fā)會導(dǎo)致內(nèi)存對象管理的問題,而傳統(tǒng)的面向機(jī)器的語言,如C、C++,則不存在內(nèi)存對象管理存在的問題。為了追求性能上的優(yōu)勢,一部分企業(yè)機(jī)構(gòu)會選擇用這些傳統(tǒng)的語言來改寫目前的分布式數(shù)據(jù)處理系統(tǒng),但是失去了高級語言特性的系統(tǒng)開發(fā)難度非常之大,并且不利于系統(tǒng)的更新。

    2 對象存儲的優(yōu)化策略

    垃圾收集的優(yōu)化并沒有考慮內(nèi)存對象管理所存在的問題的本質(zhì),即內(nèi)存中的對象仍然是自動化管理的。所以一些系統(tǒng)將對象用序列化的方式存放到內(nèi)存以減少內(nèi)存的占用來防止頻繁垃圾收集,或者將常規(guī)的內(nèi)存對象管理方法替換為針對對象標(biāo)記回收的區(qū)域內(nèi)存管理方法來消除垃圾收集。這一類方法從內(nèi)存對象管理的本質(zhì)上考慮了性能問題。

    2.1 序列化存儲

    目前的分布式數(shù)據(jù)處理系統(tǒng),如Hadoop和Spark,都支持將中間數(shù)據(jù)對象序列化為byte數(shù)組,從而減少對象在內(nèi)存中存儲的占用。Hadoop系統(tǒng)中的對象大部分都是臨時的數(shù)據(jù)對象,因此Hadoop僅將Map的輸出數(shù)據(jù)序列化成byte數(shù)據(jù),存放到磁盤,然后通過Shuffle傳輸給reduce task。盡管不存在內(nèi)存對象管理的問題,但是序列化機(jī)制確實(shí)對分布式數(shù)據(jù)處理系統(tǒng)有重要作用。Spark系統(tǒng)不僅在Shuffle階段提供序列化機(jī)制,還在Cache時提供了序列化選擇,Cache時Spark會將彈性分布式數(shù)據(jù)集(RDD)中的數(shù)據(jù)保存到內(nèi)存,用戶可以選擇是否采用序列化保存數(shù)據(jù)。Spark之所以支持非序列化保存,是因?yàn)樾蛄谢瘷C(jī)制存在序列化和反序列化的開銷。一般來說,序列化機(jī)制能夠有效降低內(nèi)存對象的占用,但是要在Cache數(shù)據(jù)對象時執(zhí)行序列化操作,而在使用對象時執(zhí)行反序列化操作。

    序列化存儲降低了內(nèi)存對象的占用,但是應(yīng)用仍然基于對象執(zhí)行的。因此在序列化和反序列化的基礎(chǔ)上,內(nèi)存對象管理仍然需要考慮中間對象的管理,當(dāng)數(shù)據(jù)量大時,對象的回收仍然會影響系統(tǒng)的性能[9]。

    2.2 基于區(qū)域的內(nèi)存管理

    無論是基于垃圾收集調(diào)優(yōu)還是序列化存儲,都是由內(nèi)存管理機(jī)制自動標(biāo)注對象的生命周期,始終存在對象的操作,就必然會需要內(nèi)存管理機(jī)制根據(jù)標(biāo)注回收無需再使用的對象,也就必然會導(dǎo)致垃圾收集。從內(nèi)存對象相反的一個方向分析,C、C++等語言完全手動的標(biāo)注內(nèi)存中使用的對象,手動的回收對象?;趨^(qū)域的內(nèi)存管理綜合了自動化和完全手動標(biāo)注內(nèi)存對象的兩種策略,采取了繞過垃圾收集的策略,將一部分對象統(tǒng)一標(biāo)記后直接存儲到堆外區(qū)域,整塊回收區(qū)域內(nèi)的對象,從而消除頻繁垃圾收集,解決內(nèi)存對象管理的問題。

    FACADE[10]系統(tǒng)是基于區(qū)域的內(nèi)存管理的典型實(shí)例。FACADE以程序分析為基礎(chǔ),在程序代碼中由用戶標(biāo)識需要轉(zhuǎn)換的Java對象。FACADE會首先識別用戶標(biāo)注的Java對象,將其轉(zhuǎn)換為輕量級的FACADE對象并通過byte形式保存FACADE到堆外內(nèi)存,極大地減少了對象對內(nèi)存的占用,而FACADE相比序列化更加進(jìn)一步消除對象之處在于它同時轉(zhuǎn)換了Java對象的操作代碼。用戶自定義的操作函數(shù)是基于Java對象的,F(xiàn)ACADE轉(zhuǎn)換Java對象為FACADE對象后,同時將操作函數(shù)轉(zhuǎn)換為基于FACADE對象的操作函數(shù),完全實(shí)現(xiàn)了對象的消除。FACADE的內(nèi)存對象管理采取了整塊分配和整塊回收的原則,一方面配合FACADE對象的存儲方式;一方面減少了垃圾收集開銷,相比傳統(tǒng)的內(nèi)存對象管理取得了非常好的效果。

    盡管FACADE的內(nèi)存對象管理已經(jīng)從很大程度上解決了對象管理的垃圾收集問題,但是它基于一個很強(qiáng)烈的假設(shè):在整塊分配和整塊回收的操作間隔內(nèi)的所有對象在內(nèi)存中的存活時間都是相同的。在一些分布式數(shù)據(jù)處理系統(tǒng)中,例如Spark和Flink,將作業(yè)劃分為有向無環(huán)圖,按照每個階段執(zhí)行。這類系統(tǒng)中的數(shù)據(jù)對象在內(nèi)存中的存活時間就非常復(fù)雜,如果有用戶將數(shù)據(jù)Cache到內(nèi)存,數(shù)據(jù)對象的存活時間持續(xù)整個作業(yè)執(zhí)行期;如果是Shuffle階段的數(shù)據(jù)對象,數(shù)據(jù)對象可能會在多個階段的執(zhí)行期內(nèi)都存活在內(nèi)存中。所以,F(xiàn)ACADE在內(nèi)存對象的管理上忽略了內(nèi)存對象的生命周期。

    Broom[11]綜合考慮了基于區(qū)域的內(nèi)存管理的特點(diǎn)以及內(nèi)存對象的生命周期的特點(diǎn),Broom以NET CLR平臺為研究對象,將內(nèi)存對象的存放區(qū)域進(jìn)一步區(qū)分為:可轉(zhuǎn)移區(qū)域,用來存放操作的傳遞消息,同一時間只有一個操作可以訪問該區(qū)域;操作所需區(qū)域,針對某個操作私有的對象存儲區(qū)域,該區(qū)域內(nèi)的對象的生命周期與相應(yīng)的操作生命周期相同;臨時區(qū)域,存放一些臨時的數(shù)據(jù)對象。由于Broom基于閉源的系統(tǒng)實(shí)現(xiàn)而且作為short paper對系統(tǒng)實(shí)現(xiàn)提及較少,所以能夠獲取的信息只在于基于區(qū)域的內(nèi)存管理與內(nèi)存對象生命周期特點(diǎn)的結(jié)合是消除垃圾收集所必須考慮的兩個因素。

    3 特定應(yīng)用領(lǐng)域的優(yōu)化

    大多優(yōu)秀的開源分布式數(shù)據(jù)處理系統(tǒng),如Hadoop和Spark,都基于底層的系統(tǒng)實(shí)現(xiàn)了上層應(yīng)用領(lǐng)域的生態(tài)系統(tǒng)[12],例如Spark生態(tài)系統(tǒng)包括Spark SQL、Spark Streaming、Spark GraphX和Spark MLlib。特定應(yīng)用領(lǐng)域的分布式數(shù)據(jù)處理系統(tǒng)在底層數(shù)據(jù)系統(tǒng)的基礎(chǔ)上定義了特定的計(jì)算結(jié)構(gòu),從而可以實(shí)現(xiàn)更加復(fù)雜的內(nèi)存對象管理機(jī)制。在最初Java等高級語言被應(yīng)用在數(shù)據(jù)分析系統(tǒng)時,除了受益于高級語言的特性,一些系統(tǒng)也意識到其在內(nèi)存對象管理上的不足,因此結(jié)合特定的結(jié)構(gòu)進(jìn)行優(yōu)化[13],例如SQL。Shark等針對data-intensive的數(shù)據(jù)庫管理系統(tǒng),將Java對象轉(zhuǎn)化為Telegraph數(shù)據(jù)流,在內(nèi)存分配上整存整取,繞過Java的內(nèi)存管理方法[14]。Shark使用基于列的內(nèi)存存儲和動態(tài)查詢優(yōu)化來提高SQL查詢的性能。Apache項(xiàng)目Tungsten基于Spark SQL實(shí)現(xiàn),將傳統(tǒng)的關(guān)系表結(jié)果轉(zhuǎn)換為以列為結(jié)構(gòu)的字節(jié)序列,同時將SQL操作全部轉(zhuǎn)換為基于字節(jié)序列的操作。

    分布式數(shù)據(jù)處理系統(tǒng)內(nèi)存對象管理的解決方案各具優(yōu)點(diǎn)和缺點(diǎn),具體見表1。

    4 結(jié)束語

    分布式數(shù)據(jù)處理系統(tǒng)按照數(shù)據(jù)流的路徑可以分為控制路徑和數(shù)據(jù)路徑,控制路徑由系統(tǒng)框架支持和實(shí)現(xiàn),數(shù)據(jù)路徑由用戶定義和實(shí)現(xiàn)。我們發(fā)現(xiàn):控制路徑的編程實(shí)現(xiàn)更多的從對象模型的高級特性中獲益,包括類型的運(yùn)行時動態(tài)識別、并發(fā)同步操作的偏向鎖優(yōu)化和自動對象內(nèi)存管理等。數(shù)據(jù)路徑的編程實(shí)現(xiàn)很少使用語言的高級特性。數(shù)據(jù)路徑的實(shí)現(xiàn)由用戶自定義,具體包括用戶自定義類型(UDT)和用戶自定義方法(UDF)。UDT定義的是數(shù)據(jù)路徑中實(shí)際操作的對象類型,而UDF定義了對這些數(shù)據(jù)類型執(zhí)行的操作。UDT通常是基本類型的淺層組合和常用方法的實(shí)現(xiàn)封裝,很少會使用復(fù)雜的繼承層次和多態(tài)。

    比如,通過定義接口來抽象化模塊之間的交互,進(jìn)而通過工廠模式,依賴注入來支持靈活的模塊和插件加載,而這些設(shè)計(jì)模式依賴于多態(tài)和反射等語言特性。框架負(fù)責(zé)任務(wù)的并行化執(zhí)行和同步機(jī)制,因此依賴于托管環(huán)境的并發(fā)執(zhí)行模型,比如線程創(chuàng)建和加鎖操作。由于并發(fā)執(zhí)行由框架負(fù)責(zé),UDF本身都是串行代碼,在UDF內(nèi)部使用加鎖操作通常沒有意義,更不可能會在UDT數(shù)據(jù)對象上加鎖。因此,UDT并不依賴于一個復(fù)雜的對象模型實(shí)現(xiàn)。比如:(1)當(dāng)沒有多態(tài)導(dǎo)致的虛方法派發(fā)時,也沒有使用反射時,不需要在對象頭部記錄對象的運(yùn)行時類型;(2)當(dāng)對象沒有加鎖操作時,也不需要在頭部存儲偏向鎖狀態(tài);(3)UDT數(shù)據(jù)對象的生命周期具有很強(qiáng)的規(guī)律性,如果能夠跳過JVM的內(nèi)存管理,不僅消除了垃圾收集的CPU開銷,也不需要在對象頭部存儲垃圾收集所需的狀態(tài)信息。

    最重要的一點(diǎn)是:數(shù)據(jù)對象的生命周期具有很強(qiáng)的規(guī)律性。我們發(fā)現(xiàn):在以Spark為代表的新一代通用數(shù)據(jù)并行系統(tǒng)中,作業(yè)執(zhí)行時通常有幾類數(shù)據(jù)容器會持有數(shù)據(jù)對象,而數(shù)據(jù)對象的生命周期和持有它的數(shù)據(jù)容器的生命周期有很強(qiáng)的關(guān)聯(lián)性:

    (1)UDF變量。包括UDF對象的字段和UDF局部變量,前者的生命周期剛好為一個任務(wù)的執(zhí)行時間,其存活時間內(nèi)時所持有的對象生命周期由該字段的賦值操作決定,但最長不超過任務(wù)的執(zhí)行時間;后者的生命周期為一次UDF方法的調(diào)用,因此其持有的數(shù)據(jù)對象最多存活一次方法調(diào)用,可以視為臨時對象。

    (2)緩存數(shù)據(jù)集。緩存數(shù)據(jù)集的生命周期由應(yīng)用程序顯示決定,其持有的數(shù)據(jù)對象的生命周期具有與該RDD等同的生命周期。

    (3)Shuffle緩沖區(qū)。不考慮溢出到磁盤的情況,Shuffle緩沖區(qū)的生命周期也剛好為一個任務(wù)的執(zhí)行時間。其持有的數(shù)據(jù)對象的生命周期較為復(fù)雜,在聚合計(jì)算的過程中,Shuffle buffer僅為一個Key數(shù)據(jù)對象保存一個數(shù)據(jù)對象作為當(dāng)前聚合的結(jié)果。

    一種可行的方法是通過自動轉(zhuǎn)換數(shù)據(jù)處理應(yīng)用程序來減少程序運(yùn)行時創(chuàng)建的UDT數(shù)據(jù)對象的數(shù)量。轉(zhuǎn)換工作對應(yīng)用開發(fā)人員完全透明,不會限制數(shù)據(jù)并行編程模型的表達(dá)能力和靈活性。

    致謝

    本研究得到華中科技大學(xué)金海教授的指導(dǎo),謹(jǐn)致謝意!

    參考文獻(xiàn)

    [1] JONES R, HOSKING A, MOSS E. The Garbage Collection Handbook : the Art of Automatic Memory Management [M]. USA: CRC Press, 2012

    [2] ZAHARIA M, CHOWDHURY M, DAS T, et al. Resilient Distributed Datasets: a Fault-Tolerant Abstraction for in-Memory Cluster Computing [C]//Proceeding in 9th USENIX Conference on Networked Systems Design and Implementation (NSDI). USA: USENIX Association, 2012: 141-146

    [3] Cassandra Garbage Collection Tuning, Find and Fix Long GC Pauses [EB/OL]. [2013-11-14]. http://aryanet.com/blog/cassandra-garbage-collector-tuning

    [4] Laboratory for Web Algorithmic [EB/OL]. [2014-10-12].http://law.di.unimi.it/datasets.php

    [5] CARPENTER B, FOX G, KO S H, et al. Object Serialization for Marshalling Data in a Java Interface to MPI[C]//ACM Java Grande Conference. USA: ASM, 1970: 66-67

    [6] MADS T, JEAN-PIERRE T. Region-Based Memory Management [J]. Information & Computation, 1997, 132(2):109-176

    [7] The Garbage Collector and Apache Hbase [EB/OL]. (2016-02-18)[2014-03-22].http://hbase.apache.org/book.html#gc

    [8] 浦云明. JAVA垃圾收集器算法分析及垃圾收集器的運(yùn)行透視[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2003 (11): 39-41

    [9] MILLER H, HALLER P, BURMAKO E, et al. Instant Pickles: Generating Object-Oriented Pickler Combinators for Fast and Extensible Serialization [J]. ACM Sigplan Notices, 2013, 48(10):183-202

    [10] NGUYEN K, WANG K, BU Y, et al. FACADE: A Compiler and Runtime for (Almost) Object-Bounded Big Data Applications [J]. ACM Sigplan Notices, 2015, 50(4):675-690. DOI: 10.1145/2775054.2694345

    [11] GOH I, GICEVA J, SCHWARZKOPF M, et al. Broom: Sweeping Out Garbage Collection from Big Data Systems [C]//15th Workshop on Hot Topics in Operating Systems (HotOS XV). USA: ACM, 2015

    [12] 胡俊, 胡賢德, 程家興. 基于Spark的大數(shù)據(jù)混合計(jì)算模型[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2015(4): 214-218

    [13] SHAH M A, FRANKLIN M J, MADDEN S, et al. Java Support for Data-Intensive Systems: Experiences Building the Telegraph Dataflow System [J]. Sigmod Record, 2001, 30(4):103-114

    [14] XIN R. S, ROSEN J, ZAHARIA M, et al. Shark: SQL and Rich Analytics at Scale[C]// Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. USA: ASM, 2013:13-24. DOI: 10.1145/2463676.2465288

    猜你喜歡
    大數(shù)據(jù)
    基于在線教育的大數(shù)據(jù)研究
    中國市場(2016年36期)2016-10-19 04:41:16
    “互聯(lián)網(wǎng)+”農(nóng)產(chǎn)品物流業(yè)的大數(shù)據(jù)策略研究
    中國市場(2016年36期)2016-10-19 03:31:48
    基于大數(shù)據(jù)的小微電商授信評估研究
    中國市場(2016年35期)2016-10-19 01:30:59
    大數(shù)據(jù)時代新聞的新變化探究
    商(2016年27期)2016-10-17 06:26:00
    淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
    今傳媒(2016年9期)2016-10-15 23:35:12
    “互聯(lián)網(wǎng)+”對傳統(tǒng)圖書出版的影響和推動作用
    今傳媒(2016年9期)2016-10-15 22:09:11
    大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
    新聞世界(2016年10期)2016-10-11 20:13:53
    基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
    科技視界(2016年20期)2016-09-29 10:53:22
    數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
    中國記者(2016年6期)2016-08-26 12:36:20
    观看美女的网站| 亚洲婷婷狠狠爱综合网| 好男人在线观看高清免费视频| 51国产日韩欧美| 成人性生交大片免费视频hd| 午夜福利成人在线免费观看| 国产日韩欧美在线精品| 日韩国内少妇激情av| 日本av手机在线免费观看| 午夜老司机福利剧场| 国产单亲对白刺激| 99热全是精品| 久久久久久久亚洲中文字幕| 国产伦在线观看视频一区| 久久久久久久久久久免费av| 麻豆久久精品国产亚洲av| 亚洲欧美精品专区久久| 亚洲精品色激情综合| 深爱激情五月婷婷| 精品久久久久久久末码| 麻豆av噜噜一区二区三区| 校园春色视频在线观看| 亚洲丝袜综合中文字幕| 欧美日韩综合久久久久久| 我的老师免费观看完整版| www日本黄色视频网| 五月玫瑰六月丁香| 日本爱情动作片www.在线观看| 亚洲精品影视一区二区三区av| 国产亚洲av嫩草精品影院| 最近视频中文字幕2019在线8| 两个人视频免费观看高清| 亚洲欧美日韩高清专用| 国产一级毛片在线| 亚洲丝袜综合中文字幕| 亚洲在久久综合| 亚洲国产精品国产精品| 久久久久免费精品人妻一区二区| 国产亚洲精品久久久久久毛片| 精品人妻偷拍中文字幕| ponron亚洲| 少妇丰满av| 九九久久精品国产亚洲av麻豆| 少妇丰满av| 亚洲av.av天堂| 少妇裸体淫交视频免费看高清| 精品免费久久久久久久清纯| 99热全是精品| 精品久久久久久久人妻蜜臀av| 波野结衣二区三区在线| 亚洲欧美日韩无卡精品| a级毛片免费高清观看在线播放| 亚洲aⅴ乱码一区二区在线播放| 最近手机中文字幕大全| 欧美色欧美亚洲另类二区| 中文字幕免费在线视频6| 十八禁国产超污无遮挡网站| kizo精华| 欧美一区二区精品小视频在线| 国产亚洲5aaaaa淫片| 精华霜和精华液先用哪个| 亚洲国产欧美人成| 禁无遮挡网站| 国产69精品久久久久777片| 精品人妻一区二区三区麻豆| 日本黄色视频三级网站网址| 91久久精品电影网| 成人三级黄色视频| 欧美性感艳星| 国产精品一区www在线观看| 国产精品永久免费网站| 伦精品一区二区三区| 一区二区三区高清视频在线| 精品久久久久久久久亚洲| 哪里可以看免费的av片| 国产黄a三级三级三级人| 国国产精品蜜臀av免费| 亚洲av一区综合| 欧美成人一区二区免费高清观看| 精品久久久久久久末码| 高清毛片免费看| 亚洲精华国产精华液的使用体验 | 亚洲欧洲日产国产| 免费观看人在逋| 一进一出抽搐动态| 一级毛片aaaaaa免费看小| 人人妻人人澡人人爽人人夜夜 | 亚洲av熟女| 国产麻豆成人av免费视频| 国产综合懂色| 成人高潮视频无遮挡免费网站| 亚洲电影在线观看av| 少妇丰满av| 搡老妇女老女人老熟妇| 三级毛片av免费| 国产成人精品一,二区 | 一级二级三级毛片免费看| 精品一区二区三区视频在线| 亚洲欧美日韩高清在线视频| 久久久精品大字幕| 日韩欧美在线乱码| 欧美人与善性xxx| 成年版毛片免费区| 日本-黄色视频高清免费观看| 国产亚洲精品久久久久久毛片| 国内精品一区二区在线观看| 国产精品野战在线观看| 国产精品久久电影中文字幕| 韩国av在线不卡| 久久草成人影院| 国产精品蜜桃在线观看 | 国产亚洲精品久久久com| av卡一久久| 午夜激情福利司机影院| 乱系列少妇在线播放| 好男人视频免费观看在线| 性色avwww在线观看| 国产视频内射| 亚洲在线自拍视频| 白带黄色成豆腐渣| ponron亚洲| 爱豆传媒免费全集在线观看| 日韩一区二区视频免费看| 国产激情偷乱视频一区二区| av专区在线播放| 国产探花在线观看一区二区| 看免费成人av毛片| 又粗又爽又猛毛片免费看| 九九在线视频观看精品| 特级一级黄色大片| 亚洲在久久综合| 久久亚洲国产成人精品v| 成人午夜精彩视频在线观看| 国产高清不卡午夜福利| 国产亚洲精品久久久久久毛片| 久久精品人妻少妇| 久久99热这里只有精品18| 色吧在线观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲欧洲国产日韩| 2021天堂中文幕一二区在线观| 久久99热这里只有精品18| 青春草亚洲视频在线观看| 亚洲国产精品成人综合色| 亚洲18禁久久av| 国产亚洲91精品色在线| 国产真实伦视频高清在线观看| 丰满人妻一区二区三区视频av| 午夜a级毛片| 97人妻精品一区二区三区麻豆| 亚洲欧美精品专区久久| 国产蜜桃级精品一区二区三区| 国产成人福利小说| 久久精品影院6| 91av网一区二区| 国内久久婷婷六月综合欲色啪| 国产精品不卡视频一区二区| 人体艺术视频欧美日本| 18禁黄网站禁片免费观看直播| 菩萨蛮人人尽说江南好唐韦庄 | 校园人妻丝袜中文字幕| 天天躁夜夜躁狠狠久久av| 免费观看在线日韩| 日本黄色视频三级网站网址| 一区二区三区高清视频在线| 国产高清不卡午夜福利| 久久亚洲国产成人精品v| 成人一区二区视频在线观看| 久久久久性生活片| a级毛片免费高清观看在线播放| 国产精品人妻久久久影院| av天堂在线播放| 三级国产精品欧美在线观看| 色哟哟哟哟哟哟| 国产精品无大码| 色综合站精品国产| 国产黄色小视频在线观看| 亚洲七黄色美女视频| 成人午夜高清在线视频| 国产伦精品一区二区三区视频9| 国产av麻豆久久久久久久| 99热这里只有是精品在线观看| 丝袜喷水一区| 国产黄片美女视频| 亚洲中文字幕一区二区三区有码在线看| av.在线天堂| 久久99蜜桃精品久久| 91麻豆精品激情在线观看国产| 久久亚洲国产成人精品v| 国产精品一区二区三区四区免费观看| 在线观看66精品国产| 大型黄色视频在线免费观看| 国产成人精品婷婷| 在线观看美女被高潮喷水网站| 丝袜美腿在线中文| 亚洲五月天丁香| 国产精品久久久久久精品电影小说 | 狂野欧美白嫩少妇大欣赏| 久久99热6这里只有精品| 国产精品伦人一区二区| 国产女主播在线喷水免费视频网站 | 床上黄色一级片| 国产一区亚洲一区在线观看| 亚洲最大成人av| 在线观看午夜福利视频| 久久久久九九精品影院| 一本久久精品| 国产黄色视频一区二区在线观看 | 97在线视频观看| 久久久久久国产a免费观看| 噜噜噜噜噜久久久久久91| av卡一久久| 亚洲国产精品成人久久小说 | 插逼视频在线观看| 亚洲欧美日韩无卡精品| 人妻制服诱惑在线中文字幕| 久久久久国产网址| 国产白丝娇喘喷水9色精品| 插逼视频在线观看| 中文字幕av在线有码专区| 免费av观看视频| 黄色一级大片看看| 亚洲性久久影院| 色综合色国产| www.av在线官网国产| 日本黄大片高清| 国产av不卡久久| 男女视频在线观看网站免费| 国产又黄又爽又无遮挡在线| 插阴视频在线观看视频| 直男gayav资源| 久久午夜福利片| 日本在线视频免费播放| 亚洲欧美日韩高清在线视频| 91久久精品电影网| 国产精品一及| 三级毛片av免费| 少妇高潮的动态图| 久久精品影院6| 国产单亲对白刺激| 日本成人三级电影网站| 亚洲国产欧美在线一区| 一进一出抽搐动态| 熟妇人妻久久中文字幕3abv| 99久久精品热视频| 久久久国产成人免费| 日韩成人伦理影院| 中文欧美无线码| 中文资源天堂在线| 国产亚洲精品久久久久久毛片| 日韩制服骚丝袜av| 99热6这里只有精品| 大又大粗又爽又黄少妇毛片口| 国产精品福利在线免费观看| 性色avwww在线观看| 成人综合一区亚洲| 免费观看在线日韩| 国产精品女同一区二区软件| 蜜桃久久精品国产亚洲av| 精品熟女少妇av免费看| 亚洲国产欧美人成| 日本三级黄在线观看| 色哟哟哟哟哟哟| 久久6这里有精品| 内地一区二区视频在线| 久久精品91蜜桃| 丰满乱子伦码专区| 欧美成人免费av一区二区三区| 不卡一级毛片| 我要搜黄色片| 中文在线观看免费www的网站| 精品人妻偷拍中文字幕| 美女内射精品一级片tv| 国产日韩欧美在线精品| 国产三级中文精品| 亚洲五月天丁香| 亚洲不卡免费看| 午夜福利在线观看免费完整高清在 | 身体一侧抽搐| 五月伊人婷婷丁香| 18禁裸乳无遮挡免费网站照片| 18+在线观看网站| 婷婷六月久久综合丁香| 久久久久九九精品影院| 在线观看午夜福利视频| 午夜精品一区二区三区免费看| 神马国产精品三级电影在线观看| 欧美性猛交╳xxx乱大交人| 亚洲美女搞黄在线观看| 悠悠久久av| 亚洲av熟女| 99久久成人亚洲精品观看| 午夜福利高清视频| 亚洲七黄色美女视频| 又爽又黄a免费视频| 22中文网久久字幕| av卡一久久| 色5月婷婷丁香| 日韩欧美三级三区| 成年免费大片在线观看| 国产精品一区二区性色av| 免费人成视频x8x8入口观看| 日本一本二区三区精品| 欧美日本亚洲视频在线播放| av在线播放精品| 国产探花在线观看一区二区| 国产精品人妻久久久影院| 老司机影院成人| 看十八女毛片水多多多| 欧美性感艳星| 亚洲在线自拍视频| 哪个播放器可以免费观看大片| 国产亚洲av嫩草精品影院| 黄色一级大片看看| 日产精品乱码卡一卡2卡三| 卡戴珊不雅视频在线播放| 高清在线视频一区二区三区 | 精品日产1卡2卡| 久久精品91蜜桃| 在线免费观看的www视频| 一级av片app| 欧美日韩一区二区视频在线观看视频在线 | 99热网站在线观看| 精品人妻熟女av久视频| 女同久久另类99精品国产91| 九色成人免费人妻av| 成年av动漫网址| 日韩一本色道免费dvd| 18禁裸乳无遮挡免费网站照片| 国产精品乱码一区二三区的特点| 99在线人妻在线中文字幕| 精品久久久久久久久久久久久| 人人妻人人澡欧美一区二区| or卡值多少钱| 精品人妻一区二区三区麻豆| 国产午夜精品久久久久久一区二区三区| 亚洲欧美清纯卡通| 亚洲精品456在线播放app| 尤物成人国产欧美一区二区三区| 波多野结衣高清无吗| 国产亚洲av嫩草精品影院| 国产毛片a区久久久久| 国产精品女同一区二区软件| 天堂av国产一区二区熟女人妻| 丰满的人妻完整版| 国产精品一二三区在线看| 中文亚洲av片在线观看爽| 深爱激情五月婷婷| 久久人妻av系列| 18禁黄网站禁片免费观看直播| 国产中年淑女户外野战色| 女同久久另类99精品国产91| 我要搜黄色片| 亚洲人成网站在线观看播放| 亚洲av免费在线观看| 免费黄网站久久成人精品| 国内少妇人妻偷人精品xxx网站| 国产高清有码在线观看视频| 久久久精品大字幕| 精品久久久久久久久亚洲| 热99re8久久精品国产| 婷婷精品国产亚洲av| 床上黄色一级片| 日本三级黄在线观看| 2021天堂中文幕一二区在线观| 国产片特级美女逼逼视频| 国产精品.久久久| av天堂在线播放| 国产黄a三级三级三级人| 99久久成人亚洲精品观看| 最新中文字幕久久久久| 少妇人妻精品综合一区二区 | 久久精品久久久久久噜噜老黄 | 亚洲国产精品久久男人天堂| 久久精品人妻少妇| 国产精华一区二区三区| 亚洲经典国产精华液单| 激情 狠狠 欧美| 亚洲在线自拍视频| 草草在线视频免费看| 麻豆精品久久久久久蜜桃| 国内精品美女久久久久久| 狠狠狠狠99中文字幕| av专区在线播放| 91aial.com中文字幕在线观看| 精品一区二区三区视频在线| 观看免费一级毛片| av.在线天堂| 好男人视频免费观看在线| 91狼人影院| 淫秽高清视频在线观看| 国产在视频线在精品| 国产不卡一卡二| 精品一区二区三区视频在线| 熟女电影av网| 亚洲国产精品成人综合色| 日韩成人伦理影院| 国产国拍精品亚洲av在线观看| 国产精品伦人一区二区| 在线观看av片永久免费下载| 亚洲国产精品成人综合色| 免费av观看视频| 国产精品免费一区二区三区在线| 亚洲av不卡在线观看| 2022亚洲国产成人精品| 一区二区三区免费毛片| 两性午夜刺激爽爽歪歪视频在线观看| 九色成人免费人妻av| 久久精品国产鲁丝片午夜精品| 久久国产乱子免费精品| 夜夜夜夜夜久久久久| 大型黄色视频在线免费观看| 国产精品嫩草影院av在线观看| 国产午夜精品论理片| 国产精品爽爽va在线观看网站| 国产成人精品一,二区 | av在线老鸭窝| 男女做爰动态图高潮gif福利片| 少妇人妻精品综合一区二区 | 99九九线精品视频在线观看视频| 国产探花在线观看一区二区| 色综合亚洲欧美另类图片| 亚洲第一电影网av| 久久国产乱子免费精品| a级毛色黄片| 亚洲精品自拍成人| 岛国在线免费视频观看| 中文字幕av在线有码专区| 国产av不卡久久| 亚洲欧美日韩高清在线视频| 国产精品久久久久久精品电影| 免费看av在线观看网站| 精品一区二区三区人妻视频| 国产真实伦视频高清在线观看| 村上凉子中文字幕在线| 亚洲人与动物交配视频| 国产精品一区二区性色av| 男女做爰动态图高潮gif福利片| 免费观看的影片在线观看| 国产精品一区二区在线观看99 | 日韩大尺度精品在线看网址| 亚洲欧美成人综合另类久久久 | 熟女人妻精品中文字幕| 小蜜桃在线观看免费完整版高清| 国产黄片美女视频| 欧美成人一区二区免费高清观看| 一级av片app| av在线亚洲专区| 成年女人永久免费观看视频| av在线老鸭窝| 亚洲综合色惰| 国产91av在线免费观看| 精品人妻视频免费看| 国内精品宾馆在线| 成人亚洲欧美一区二区av| 丝袜美腿在线中文| 国产成人freesex在线| 欧美一区二区国产精品久久精品| 亚洲在线观看片| 国产成人91sexporn| 亚洲欧美精品综合久久99| 自拍偷自拍亚洲精品老妇| 麻豆乱淫一区二区| 日本与韩国留学比较| 男人狂女人下面高潮的视频| 国产一区二区在线观看日韩| 国产视频内射| 人人妻人人澡欧美一区二区| 国产精品一区www在线观看| 国产成人精品久久久久久| 欧美成人一区二区免费高清观看| 国产白丝娇喘喷水9色精品| 午夜亚洲福利在线播放| 18+在线观看网站| 亚洲精品色激情综合| 久久久a久久爽久久v久久| 国产精品av视频在线免费观看| 欧美3d第一页| 亚洲av中文av极速乱| 亚洲欧美中文字幕日韩二区| 在线观看免费视频日本深夜| 中国美女看黄片| 久久久久久久久久久免费av| 在线观看美女被高潮喷水网站| 久久久久免费精品人妻一区二区| 激情 狠狠 欧美| 亚洲欧美成人精品一区二区| 国产精品日韩av在线免费观看| 啦啦啦韩国在线观看视频| av又黄又爽大尺度在线免费看 | 欧美3d第一页| 久久99蜜桃精品久久| 久久精品久久久久久久性| 久久久午夜欧美精品| 亚洲aⅴ乱码一区二区在线播放| 人妻制服诱惑在线中文字幕| 亚洲av成人av| 十八禁国产超污无遮挡网站| 午夜福利在线在线| 国产精品一区www在线观看| 插逼视频在线观看| 99riav亚洲国产免费| av天堂中文字幕网| 日韩成人av中文字幕在线观看| 成人一区二区视频在线观看| 国产黄a三级三级三级人| 联通29元200g的流量卡| 国产成人精品婷婷| 国产探花在线观看一区二区| 国产高清视频在线观看网站| 又黄又爽又刺激的免费视频.| 国产精品国产三级国产av玫瑰| 99久久成人亚洲精品观看| 99热网站在线观看| 久久精品国产99精品国产亚洲性色| 日本与韩国留学比较| 久久精品久久久久久久性| 国产av在哪里看| 亚洲成a人片在线一区二区| av天堂在线播放| 夜夜夜夜夜久久久久| 黄片无遮挡物在线观看| 色视频www国产| 国产三级中文精品| 麻豆乱淫一区二区| 久久欧美精品欧美久久欧美| 人妻系列 视频| 国产一区二区三区av在线 | 亚洲欧美日韩无卡精品| 国产单亲对白刺激| www日本黄色视频网| 99热这里只有精品一区| 热99在线观看视频| 国产av一区在线观看免费| 亚洲自偷自拍三级| 99精品在免费线老司机午夜| 亚洲内射少妇av| 免费一级毛片在线播放高清视频| 99久久中文字幕三级久久日本| 久久久久久久久中文| 午夜福利在线观看吧| 亚洲精品亚洲一区二区| 国产久久久一区二区三区| 色哟哟·www| h日本视频在线播放| 国产美女午夜福利| 菩萨蛮人人尽说江南好唐韦庄 | 免费av不卡在线播放| 一级黄片播放器| 精品久久久久久久久亚洲| 国产精品电影一区二区三区| 毛片一级片免费看久久久久| 日韩一本色道免费dvd| 久久久久久久久久久丰满| 激情 狠狠 欧美| 国产熟女欧美一区二区| 秋霞在线观看毛片| 亚洲一级一片aⅴ在线观看| 熟妇人妻久久中文字幕3abv| 欧美色视频一区免费| 久久精品久久久久久噜噜老黄 | 蜜臀久久99精品久久宅男| 久久人妻av系列| 国产黄片视频在线免费观看| 国产熟女欧美一区二区| 亚洲精品456在线播放app| 99在线人妻在线中文字幕| 亚洲色图av天堂| 国产淫片久久久久久久久| 久久精品久久久久久噜噜老黄 | 蜜臀久久99精品久久宅男| 国产高清三级在线| 国产高清有码在线观看视频| 一进一出抽搐gif免费好疼| 久久精品国产亚洲av天美| 久久久精品欧美日韩精品| 欧美日韩一区二区视频在线观看视频在线 | 国产精品麻豆人妻色哟哟久久 | 成人特级av手机在线观看| 欧美区成人在线视频| 午夜激情欧美在线| 午夜a级毛片| kizo精华| 国产精华一区二区三区| 欧美bdsm另类| 国产午夜精品一二区理论片| 亚洲欧美清纯卡通| eeuss影院久久| 天堂av国产一区二区熟女人妻| 亚洲精品久久国产高清桃花| 国产 一区精品| 校园春色视频在线观看| 嫩草影院精品99| 国产老妇女一区| 国产精品久久久久久久久免| 亚州av有码| 成人高潮视频无遮挡免费网站| 亚洲国产精品成人久久小说 | 免费一级毛片在线播放高清视频| 97热精品久久久久久| 自拍偷自拍亚洲精品老妇| 免费观看精品视频网站| 性插视频无遮挡在线免费观看| 亚洲乱码一区二区免费版| 亚洲丝袜综合中文字幕| 日韩欧美精品免费久久| av免费观看日本| 在线国产一区二区在线| 99久久精品国产国产毛片| 午夜a级毛片| 91狼人影院| 久99久视频精品免费| 久久久久久久久大av| 搞女人的毛片| 能在线免费观看的黄片|