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

輕量級(jí)遙感數(shù)據(jù)分布式調(diào)度框架DataboxMR

2021-07-23 07:53:32孟祥海王學(xué)志趙江華周小華
關(guān)鍵詞:引擎數(shù)據(jù)處理用戶

孟祥海,王學(xué)志,趙江華,周小華

1.中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190

2.中國科學(xué)院大學(xué),北京 100049

引 言

隨著遙感數(shù)據(jù)處理技術(shù)的不斷豐富和發(fā)展,遙感數(shù)據(jù)處理能力不斷增強(qiáng),處理手段更加豐富,發(fā)展出較多成熟的遙感數(shù)據(jù)處理技術(shù),例如,利用人工智能技術(shù)進(jìn)行云雪檢測、利用rasterio訪問柵格數(shù)據(jù)等,充分發(fā)揮不同遙感數(shù)據(jù)處理技術(shù)的優(yōu)勢,提升遙感數(shù)據(jù)處理的效率和水平是研究遙感數(shù)據(jù)處理的關(guān)鍵。遙感數(shù)據(jù)處理涉及數(shù)據(jù)解譯、處理和專業(yè)應(yīng)用等,目標(biāo)為形成多源遙感基礎(chǔ)數(shù)據(jù)產(chǎn)品和專業(yè)數(shù)據(jù)產(chǎn)品。基于遙感數(shù)據(jù)(特別是高分辨率遙感影像數(shù)據(jù))的信息提取技術(shù)獲取有效信息,可為專業(yè)應(yīng)用提供數(shù)據(jù)支撐,可應(yīng)用于土地遙感分析、植物遙感分析、水體和海洋遙感分析等領(lǐng)域。信息提取的前提是對遙感數(shù)據(jù)進(jìn)行有效地組織、處理、計(jì)算和分析等操作。

作為連接遙感數(shù)據(jù)和專業(yè)應(yīng)用之間的媒介,遙感數(shù)據(jù)處理系統(tǒng)建設(shè)正臨著數(shù)據(jù)密集、計(jì)算密集、并發(fā)訪問密集、時(shí)空密集等實(shí)際應(yīng)用帶來的挑戰(zhàn)[1]。傳統(tǒng)單機(jī)處理的服務(wù)模式已不能滿足遙感大數(shù)據(jù)的處理需求,為此需要引入分布式系統(tǒng)對空間數(shù)據(jù)進(jìn)行處理[2-4],依托分布式處理技術(shù)提高處理遙感數(shù)據(jù)的規(guī)模和效率。

目前主流分布式計(jì)算框架Hadoop、Storm、Spark等在遙感數(shù)據(jù)處理方面均取得了較好的效果,根據(jù)數(shù)據(jù)的格式及內(nèi)容提供實(shí)時(shí)處理和離線批處理[5]。張嘉等基于HBase預(yù)分區(qū)優(yōu)化策略,結(jié)合MapReduce計(jì)算框架,構(gòu)建了空間數(shù)據(jù)分布式計(jì)算與分析的優(yōu)化流程[6]。宋峣等應(yīng)用Storm對現(xiàn)有系統(tǒng)進(jìn)行并行優(yōu)化,設(shè)計(jì)了遙感數(shù)據(jù)流處理任務(wù)拓?fù)浣Y(jié)構(gòu)[7]。劉歡等基于Spark并行框架進(jìn)行MODIS遙感影像的海表溫度反演,影像處理效率大大提升[8]。然而,利用上述主流分布式計(jì)算框架對遙感數(shù)據(jù)進(jìn)行分析處理需要用戶自己設(shè)計(jì)遙感數(shù)據(jù)處理算子,其影像數(shù)據(jù)切割、分析等操作需借助額外的專有框架實(shí)現(xiàn),用戶操作復(fù)雜度較高。

針對上述問題,研究人員提出了眾多專門應(yīng)用于遙感數(shù)據(jù)處理的分布式系統(tǒng)架構(gòu),如SpatialHadoop[9]、Hadoop-GIS[10]、GeoSpark[11]、LocationSpark[12]、Simaba[13]、pipsCloud[14]等。這些系統(tǒng)基于MapReduce和Spark分布式計(jì)算框架實(shí)現(xiàn),無需借助額外的專有框架,提高了遙感數(shù)據(jù)處理的效率。然而,基于MapReduce和Spark計(jì)算框架進(jìn)行遙感數(shù)據(jù)處理帶來性能提升的同時(shí),也帶來了一定的局限性。

上述框架集成在通用平臺(tái)上,只能在特定開發(fā)環(huán)境,利用通用平臺(tái)API和存儲(chǔ)系統(tǒng)處理遙感數(shù)據(jù),需要用戶學(xué)習(xí)使用通用平臺(tái)的API和技術(shù),用戶使用復(fù)雜度高,對于輕量級(jí)的遙感處理任務(wù)(數(shù)據(jù)的簡單計(jì)算)來說遷移和使用代價(jià)較高。目前,用戶大多擁有處理遙感數(shù)據(jù)的程序或算法,待處理遙感數(shù)據(jù)存儲(chǔ)在特定存儲(chǔ)系統(tǒng)中,借助一個(gè)輕量級(jí)框架,在盡量不改變既有程序和存儲(chǔ)位置的基礎(chǔ)上實(shí)現(xiàn)遙感數(shù)據(jù)的高效處理成為用戶的需求。若基于MapReduce或Spark等通用計(jì)算框架進(jìn)行遙感數(shù)據(jù)處理,其程序和算法需要根據(jù)通用平臺(tái)的API進(jìn)行重構(gòu),數(shù)據(jù)需要導(dǎo)入框架對應(yīng)的存儲(chǔ)系統(tǒng),遷移代價(jià)較高。更換技術(shù)框架和存儲(chǔ)系統(tǒng)給簡單的處理任務(wù)帶了較大壓力。

實(shí)踐中針對既有成熟遙感數(shù)據(jù)處理技術(shù)只能單獨(dú)使用或在特定領(lǐng)域使用的問題,設(shè)計(jì)了一個(gè)新的交互環(huán)境。該環(huán)境支持既有成熟技術(shù)的綜合使用,提升了系統(tǒng)處理能力。此外,不同用戶需求不同,只提供特定的API接口或算法,難以滿足用戶個(gè)性化的處理需求。因此,設(shè)計(jì)一種遷移方便、操作簡單的開放交互方式,也是目前亟待解決的問題。

目前,依托通用平臺(tái)進(jìn)行遙感數(shù)據(jù)處理的計(jì)算框架除遷移能力和操作復(fù)雜度受限制外,其調(diào)度端的可控性也是用戶關(guān)心的問題。通常,分布式計(jì)算框架執(zhí)行任務(wù)時(shí),其他任務(wù)無法提交,需等待任務(wù)執(zhí)行完畢才可提交新的任務(wù)執(zhí)行,為用戶執(zhí)行緊急任務(wù)帶來了一定的困擾。現(xiàn)有遙感數(shù)據(jù)處理系統(tǒng)一般將任務(wù)提交至集群,集群自動(dòng)分配節(jié)點(diǎn)執(zhí)行任務(wù),緊急處理任務(wù)仍需按其調(diào)度策略分配執(zhí)行,用戶對任務(wù)分配調(diào)度過程的控制力較低。因此,設(shè)計(jì)一個(gè)用戶可控的調(diào)度系統(tǒng),保證緊急任務(wù)及時(shí)處理和負(fù)載均衡也是急需解決的問題。此外,遙感數(shù)據(jù)處理過程偶爾涉及處理全局?jǐn)?shù)據(jù)的操作,通用平臺(tái)的遙感數(shù)據(jù)處理一般基于內(nèi)存執(zhí)行分布式處理,若單景數(shù)據(jù)量較大,將全局?jǐn)?shù)據(jù)加載至內(nèi)存處理可能會(huì)造成內(nèi)存資源負(fù)載過重,從而降低系統(tǒng)的處理性能。

針對上述問題,本文提出了基于RS-UDF的輕量級(jí)遙感數(shù)據(jù)分布式調(diào)度框架DataboxMR。針對處理輕量級(jí)遙感任務(wù)時(shí)遷移能力低、用戶操作復(fù)雜度高等問題,本文提出了RS-UDF。RS-UDF是可封裝既有成熟遙感數(shù)據(jù)處理技術(shù)并將封裝單元提交至調(diào)度引擎執(zhí)行的交互環(huán)境,可在不改變用戶既有程序或數(shù)據(jù)存儲(chǔ)位置的情況下提交分布式任務(wù)。針對調(diào)度過程可控性低和遙感數(shù)據(jù)全局處理性能差等問題,系統(tǒng)設(shè)計(jì)了雙層調(diào)度引擎。雙層調(diào)度引擎支持遙感數(shù)據(jù)的高效調(diào)度,支持用戶指定節(jié)點(diǎn)執(zhí)行任務(wù),支持故障恢復(fù),可實(shí)現(xiàn)輕量化任務(wù)處理,相同條件下,消耗更少的系統(tǒng)資源。

1 遙感數(shù)據(jù)調(diào)度框架DataboxMR

1.1 系統(tǒng)概述

DataboxMR以穩(wěn)定高效地處理遙感數(shù)據(jù)為目標(biāo),提供了一個(gè)支持已有成熟遙感處理技術(shù)、遷移方便、用戶使用復(fù)雜度低、調(diào)度過程可控的輕量級(jí)調(diào)度框架。如圖1所示,DataboxMR主要由RS-UDF、主調(diào)度器(Jobman)、分調(diào)度器(Taskman)和工作節(jié)點(diǎn)(Worker)四部分組成。其中,RS-UDF以函數(shù)為調(diào)度單元,實(shí)現(xiàn)分布式任務(wù)的封裝與提交,主調(diào)度器接收RS-UDF提交的任務(wù)并進(jìn)行任務(wù)劃分和分發(fā),分調(diào)度接收主調(diào)度器分配的子任務(wù)并分發(fā)給工作節(jié)點(diǎn),工作節(jié)點(diǎn)負(fù)責(zé)實(shí)際的任務(wù)執(zhí)行。

圖1 DataboxMR框架Fig.1 DataboxMR framework

在這四部分中,RS-UDF和調(diào)度引擎(主調(diào)度器和分調(diào)度器)是支撐DataboxMR框架的核心模塊,RS-UDF實(shí)現(xiàn)對遙感處理邏輯的封裝,提供對外交互的環(huán)境和接口。調(diào)度引擎實(shí)現(xiàn)遙感處理任務(wù)的高效劃分、分配與處理,支持指定節(jié)點(diǎn)處理緊急任務(wù),具備故障恢復(fù)能力。

1.2 遙感數(shù)據(jù)處理服務(wù)組件RS-UDF

UDF技術(shù)是用戶自定義函數(shù)的簡稱,一般表示自定義標(biāo)量函數(shù)、自定義聚合函數(shù)及自定義表函數(shù)三種自定義函數(shù)的集合,通常所說的UDF指用戶自定義標(biāo)量函數(shù)。RS-UDF受UDF啟發(fā),將遙感數(shù)據(jù)處理技術(shù)融入U(xiǎn)DF技術(shù)中,用以支持對現(xiàn)有遙感數(shù)據(jù)處理技術(shù)的擴(kuò)展,實(shí)現(xiàn)靈活高效的二次開發(fā)。

RS-UDF是DataboxMR中面向遙感數(shù)據(jù)的用戶自定義服務(wù)組件,基于Python提供遷移方便、操作簡單的開發(fā)交互環(huán)境,側(cè)重與既有成熟技術(shù)(如numpy、rasterio、gdal等)結(jié)合,利用既有成熟技術(shù)設(shè)計(jì)業(yè)務(wù)邏輯。用戶已有程序或算法經(jīng)過簡單封裝,即可提交任務(wù)請求。當(dāng)用戶實(shí)現(xiàn)數(shù)據(jù)可視化、數(shù)據(jù)計(jì)算等簡單的處理任務(wù)時(shí),無需根據(jù)通用平臺(tái)的API進(jìn)行重構(gòu),只需簡單修改已有程序,將其封裝成滿足RS-UDF要求的函數(shù)算子形式,通過服務(wù)接口提交調(diào)度引擎處理即可,用戶操作復(fù)雜度低,遷移代價(jià)小。此外,用戶可根據(jù)需求靈活設(shè)計(jì)遙感數(shù)據(jù)處理邏輯,直接引入已有成熟軟件包,充分保留UDF靈活開發(fā)的優(yōu)勢,從而保證用戶操作的靈活性。

1.2.1 基于RS-UDF處理遙感數(shù)據(jù)的內(nèi)部任務(wù)封裝過程

RS-UDF接收用戶任務(wù)后,內(nèi)部對任務(wù)進(jìn)行進(jìn)一步封裝處理。如圖2所示,用戶以函數(shù)為單元封裝好處理邏輯,將函數(shù)單元以參數(shù)形式提交至RSUDF接口,接收任務(wù)參數(shù)后,RS-UDF將任務(wù)調(diào)度服務(wù)器地址、客戶端地址注冊至etcd。檢測集群狀態(tài)、節(jié)點(diǎn)狀態(tài)等信息,驗(yàn)證集群是否有空閑資源可以分布式處理遙感數(shù)據(jù)。若集群資源滿足處理遙感數(shù)據(jù)的要求,則將函數(shù)單元序列化為統(tǒng)一的JSON格式,將接口中其他參數(shù)轉(zhuǎn)碼為字節(jié)碼形式。將序列化和轉(zhuǎn)碼后的參數(shù)提交至DataboxMR-Engine進(jìn)行分布式處理。RS-UDF根據(jù)用戶不同需求可提供不同的接口服務(wù),同步任務(wù)若存在Reduce算子,則選用MapReduce接口,若只存在Map算子,則選擇map接口。異步任務(wù)調(diào)用過程同理,在實(shí)際應(yīng)用中,用戶可根據(jù)不同需求選擇不同接口服務(wù)。

圖2 RS-UDF任務(wù)封裝Fig.2 RS-UDF task package

上述客戶端地址、集群主調(diào)度器地址等注冊過程通過etcd服務(wù)器保障實(shí)現(xiàn)。etcd通過raft一致性協(xié)議保證集群的高可靠性,當(dāng)一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),集群中其他節(jié)點(diǎn)的備份數(shù)據(jù)可保障任務(wù)的正常執(zhí)行。

1.2.2 RS-UDF用戶任務(wù)封裝實(shí)例

針對通用平臺(tái)遷移代價(jià)大、用戶使用復(fù)雜度高等問題,RS-UDF結(jié)合既有成熟遙感數(shù)據(jù)處理技術(shù),在原有程序和算法的基礎(chǔ)上只需簡單封裝,即可提交調(diào)度引擎執(zhí)行分布式處理。此外,基于RS-UDF提交分布式任務(wù)時(shí),對數(shù)據(jù)的存儲(chǔ)系統(tǒng)沒有特殊要求,可在不改變原有存儲(chǔ)系統(tǒng)的情況下處理數(shù)據(jù)。為了解RS-UDF用戶任務(wù)封裝過程,設(shè)計(jì)了圖3所示NDVI計(jì)算實(shí)例。

圖3 RS-UDF封裝實(shí)例Fig.3 RS-UDF package example

舉例:

如圖3所示,用戶在已有處理邏輯的基礎(chǔ)上,利用DataboxMR的分布式計(jì)算能力完成數(shù)據(jù)分析任務(wù)時(shí),只需簡單修改既有程序(其中“+”表示增加的代碼,“-”表示刪除的代碼),修改為滿足RS-UDF要求的函數(shù)形式。基于RS-UDF封裝函數(shù)調(diào)度單元時(shí),基本未改變用戶原有處理邏輯,有效避免了為實(shí)現(xiàn)輕量級(jí)任務(wù)而學(xué)習(xí)通用平臺(tái)API、進(jìn)行大規(guī)模代碼修改、遷移等問題,用戶操作簡便,使用代價(jià)低。

1.3 調(diào)度引擎DataboxMR-Engine

調(diào)度引擎主要為遙感數(shù)據(jù)提供作業(yè)和計(jì)算任務(wù)的分層調(diào)度、任務(wù)處理等服務(wù)。分別從高效處理輕量級(jí)任務(wù)、用戶可控性及性能穩(wěn)定性方面入手,保證調(diào)度引擎的功能。作為調(diào)度系統(tǒng)的核心,DataboxMR-Engine除實(shí)現(xiàn)任務(wù)劃分及調(diào)度基本功能外,保證系統(tǒng)的高可靠性,實(shí)現(xiàn)對任務(wù)狀態(tài)的監(jiān)測、保障有效的容錯(cuò)及恢復(fù)機(jī)制也是其必不可少的功能。基于雙層調(diào)度模式實(shí)現(xiàn)遙感數(shù)據(jù)的切分和分配,其處理過程可支持用戶指定節(jié)點(diǎn)處理遙感數(shù)據(jù),保證靈活性的同時(shí),可增加用戶對調(diào)度引擎的控制能力,可提升用戶處理緊急任務(wù)的能力和效率。同時(shí),調(diào)度引擎支持故障恢復(fù)功能,基于核心數(shù)據(jù)結(jié)構(gòu)(雙端隊(duì)列和索引樹)和狀態(tài)機(jī)制實(shí)現(xiàn),保證系統(tǒng)高可用和穩(wěn)定性的同時(shí),可快速回收系統(tǒng)資源,保證系統(tǒng)可用資源充足,從而保證系統(tǒng)輕量化的特點(diǎn)。

1.3.1 遙感處理任務(wù)調(diào)度過程

雙層調(diào)度引擎由一個(gè)主調(diào)度器和多個(gè)分調(diào)度器組成。主調(diào)度器負(fù)責(zé)任務(wù)的劃分和分發(fā),分調(diào)度器負(fù)責(zé)接收子任務(wù)并分發(fā)給工作節(jié)點(diǎn)。雙層調(diào)度模塊側(cè)重對遙感數(shù)據(jù)的高效調(diào)度和處理,通過雙端隊(duì)列和索引樹等數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),具有指定節(jié)點(diǎn)優(yōu)先執(zhí)行、故障恢復(fù)的能力。其調(diào)度過程如圖4所示。

圖4 調(diào)度過程Fig.4 Scheduling process

任務(wù)接收和劃分:主調(diào)度器接收來自RS-UDF的任務(wù)二進(jìn)制流,解析二進(jìn)制流,將解析后任務(wù)加入任務(wù)字典,從字典中取出任務(wù)劃分并加入任務(wù)隊(duì)列。入隊(duì)順序根據(jù)優(yōu)先級(jí)參數(shù)確定,若優(yōu)先級(jí)參數(shù)為True,則將子任務(wù)分配至隊(duì)列首部,若未指定優(yōu)先級(jí),則按順序加入至隊(duì)列尾部。

主調(diào)度器子任務(wù)分配:從任務(wù)隊(duì)列首部取出任務(wù)分配。當(dāng)任務(wù)指定優(yōu)先級(jí)時(shí),高優(yōu)先級(jí)任務(wù)的任務(wù)信息被放入至數(shù)據(jù)庫,子任務(wù)信息不放入數(shù)據(jù)庫,放入內(nèi)存等待分配執(zhí)行。若任務(wù)未指定優(yōu)先級(jí),任務(wù)和子任務(wù)信息均放入數(shù)據(jù)庫,不放于內(nèi)存,等高優(yōu)先級(jí)任務(wù)執(zhí)行完畢再執(zhí)行。

分調(diào)度器子任務(wù)分配:分調(diào)度器向主調(diào)度器請求批量子任務(wù),主調(diào)度器根據(jù)分調(diào)度器的請求信息從任務(wù)隊(duì)列取出子任務(wù)分配給分調(diào)度器,分調(diào)度器將接收到的子任務(wù)加入至其自身維護(hù)的雙端隊(duì)列中,等待工作節(jié)點(diǎn)來主動(dòng)拉取任務(wù)執(zhí)行。

任務(wù)執(zhí)行:工作節(jié)點(diǎn)從與其位于相同節(jié)點(diǎn)的分調(diào)度器隊(duì)列中主動(dòng)拉取子任務(wù)到本地執(zhí)行。

1.3.2 基于隊(duì)列和索引樹的雙層調(diào)度結(jié)構(gòu)

如圖5所示,雙層調(diào)度引擎的核心數(shù)據(jù)結(jié)構(gòu)為任務(wù)隊(duì)列和索引樹。任務(wù)隊(duì)列負(fù)責(zé)維護(hù)待分配子任務(wù)。索引樹用于記錄子任務(wù)與分調(diào)度器或子任務(wù)與工作節(jié)點(diǎn)之間的映射關(guān)系。

圖5 隊(duì)列和索引執(zhí)行原理Fig.5 Queue and index execution principle

任務(wù)隊(duì)列基于雙端隊(duì)列實(shí)現(xiàn),入隊(duì)時(shí),當(dāng)未指定任務(wù)優(yōu)先級(jí)時(shí),按順序?qū)澐趾笞尤蝿?wù)加入至隊(duì)列尾部,當(dāng)指定任務(wù)優(yōu)先級(jí)或重新執(zhí)行任務(wù)時(shí),將子任務(wù)加入至隊(duì)列首部。分配時(shí),從隊(duì)列首部取出任務(wù)分配執(zhí)行。

索引樹用于存儲(chǔ)任務(wù)、子任務(wù)和節(jié)點(diǎn)之間的分配關(guān)系,基于任務(wù)id、子任務(wù)id及節(jié)點(diǎn)地址實(shí)現(xiàn)映射。一級(jí)索引樹用于記錄任務(wù)、子任務(wù)和分調(diào)度器之間的映射關(guān)系,二級(jí)索引樹用于記錄子任務(wù)和工作節(jié)點(diǎn)地址之間的映射。

1.3.3 基于狀態(tài)機(jī)制的故障恢復(fù)

受限于網(wǎng)絡(luò)、硬件資源等情況,任務(wù)執(zhí)行過程中出現(xiàn)任務(wù)超時(shí)、任務(wù)執(zhí)行出錯(cuò)等情況不可避免,如何實(shí)現(xiàn)高效的故障恢復(fù)是必須解決的一個(gè)問題。為保證任務(wù)執(zhí)行過程中的故障恢復(fù)能力,提升系統(tǒng)的可靠性,調(diào)度引擎提出了狀態(tài)機(jī)制。

狀態(tài)機(jī)制是指在調(diào)度過程中為每個(gè)階段的任務(wù)賦予相應(yīng)狀態(tài),例如,任務(wù)分發(fā)后賦予已分配狀態(tài),任務(wù)執(zhí)行成功賦予成功狀態(tài)。調(diào)度過程根據(jù)任務(wù)的狀態(tài)信息,執(zhí)行相應(yīng)的分配、拋棄等操作。

如圖6所示,任務(wù)在工作節(jié)點(diǎn)執(zhí)行時(shí),分調(diào)度器通過心跳信息定時(shí)的獲取任務(wù)的執(zhí)行狀態(tài),若任務(wù)出現(xiàn)超時(shí)或出錯(cuò),工作節(jié)點(diǎn)通過心跳信息將失敗任務(wù)信息反饋給上層分調(diào)度器。分調(diào)度器通過索引樹快速定位出錯(cuò)子任務(wù)相應(yīng)信息、子任務(wù)id及與工作節(jié)點(diǎn)間的映射關(guān)系,將獲取到的錯(cuò)誤子任務(wù)相關(guān)信息通過心跳信息反饋給主調(diào)度器。主調(diào)度器根據(jù)狀態(tài)信息首先從索引樹中獲取出錯(cuò)的子任務(wù)id及任務(wù)id的映射信息,停止出錯(cuò)任務(wù)相關(guān)的所有子任務(wù)的執(zhí)行,回收分配至這些任務(wù)中的資源,然后從任務(wù)字典重新取出任務(wù)并劃分為子任務(wù),將子任務(wù)分配至雙端隊(duì)列的首部,等待重新分配,最終任務(wù)被重新分配至新的節(jié)點(diǎn)執(zhí)行成功,結(jié)束故障恢復(fù)過程。

圖6 故障恢復(fù)過程Fig.6 Failure recovery process

狀態(tài)機(jī)制結(jié)合調(diào)度引擎的隊(duì)列和索引樹數(shù)據(jù)結(jié)構(gòu)保障任務(wù)執(zhí)行的可靠性和穩(wěn)定性。調(diào)度引擎基于每秒一次的心跳信息獲取任務(wù)狀態(tài),保證及時(shí)發(fā)現(xiàn)任務(wù)執(zhí)行故障并激活故障恢復(fù)機(jī)制,整個(gè)狀態(tài)恢復(fù)過程調(diào)度引擎自主完成,無需人工干預(yù),對用戶透明。

1.3.4 可控、輕量化的調(diào)度引擎

通常,用戶希望通過管理調(diào)度引擎來提升任務(wù)處理過程的可控性。為滿足這一需求,系統(tǒng)內(nèi)部設(shè)計(jì)任務(wù)處理監(jiān)測模塊,通過狀態(tài)反饋機(jī)制、接受用戶指定節(jié)點(diǎn)執(zhí)行任務(wù)的方式實(shí)現(xiàn)。狀態(tài)反饋機(jī)制負(fù)責(zé)監(jiān)測并反饋任務(wù)執(zhí)行狀態(tài)。接受用戶指定執(zhí)行節(jié)點(diǎn)的服務(wù)可保證調(diào)度引擎可控的特性,指定節(jié)點(diǎn)執(zhí)行任務(wù)時(shí),若指定節(jié)點(diǎn)未在執(zhí)行任務(wù),可直接執(zhí)行用戶指定任務(wù),若指定節(jié)點(diǎn)有任務(wù)執(zhí)行中,則需要等待當(dāng)前任務(wù)執(zhí)行完畢后執(zhí)行用戶任務(wù)。

此外,處理全局遙感數(shù)據(jù)時(shí),可結(jié)合Zonal Operation運(yùn)算的特點(diǎn)及其狀態(tài)機(jī)制提升資源的利用率和任務(wù)處理的效率。遙感數(shù)據(jù)的Zonal Operation運(yùn)算,處理范圍通常為不規(guī)則但具有明確物理意義的單元,其輸入需包含指定區(qū)域的矢量范圍,調(diào)度引擎在計(jì)算時(shí)將矢量范圍掩膜包含的多個(gè)Tiles按數(shù)據(jù)量大小均衡的加載至各個(gè)節(jié)點(diǎn)執(zhí)行分布式處理。同時(shí),基于狀態(tài)機(jī)制及時(shí)將分配至出錯(cuò)任務(wù)的系統(tǒng)資源收回,保證系統(tǒng)資源的高效利用,從而保證系統(tǒng)輕量化處理的特點(diǎn)。

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

2.1 實(shí)驗(yàn)設(shè)計(jì)

為驗(yàn)證系統(tǒng)性能,基于Landsat8[15]數(shù)據(jù)集計(jì)算歸一化植被指數(shù)(Normalized Difference Vegetation Index, NDVI)。NDVI是一種利用綠色植物對紅光的低反射率和對近紅光的高反射率的光譜特征值計(jì)算的植被指數(shù),可應(yīng)用于檢測植被生長狀態(tài)、植被覆蓋度等。NDVI值在-1至1之間,負(fù)值表示地面覆蓋為云、水、雪等,對可見光高反射;0表示有巖石或裸土等,近紅外光譜特征(NIR)和紅外光譜特征(Red)近似相等;正值表示有植被覆蓋,且隨覆蓋度增大而增大。其數(shù)學(xué)表達(dá)式為:實(shí)驗(yàn)過程中對比DataboxMR和GeoTrellis計(jì)算NDVI時(shí)處理時(shí)間、CPU占用、內(nèi)存占用和網(wǎng)絡(luò)占用的性能差異。

基于DataboxMR處理遙感數(shù)據(jù)時(shí),將Map函數(shù)、Reduce函數(shù)及數(shù)據(jù)提交至RS-UDF的服務(wù)接口。實(shí)驗(yàn)中,DataboxMR引入gdal庫,基于gdal庫將影像數(shù)據(jù)讀取為矩陣,基于矩陣可分解的性質(zhì),對矩陣進(jìn)行切分,切分后數(shù)據(jù)塊作為DataboxMR分布式處理的基本單元,以List或者Tuple形式提交至服務(wù)接口,接收參數(shù)后接口將任務(wù)封裝并提交至調(diào)度引擎,調(diào)度引擎對任務(wù)執(zhí)行劃分和分配,將子任務(wù)下發(fā)至集群中各節(jié)點(diǎn)分別執(zhí)行遙感數(shù)據(jù)的NDVI計(jì)算,最后將各部分?jǐn)?shù)據(jù)計(jì)算結(jié)果匯總返回并寫入磁盤。

為使用內(nèi)存計(jì)算平臺(tái)Spark的分布式調(diào)度和計(jì)算能力執(zhí)行遙感數(shù)據(jù)處理任務(wù),需引入開源框架GeoTrellis[16]進(jìn)行分布式柵格數(shù)據(jù)處理。GeoTrellis是基于Spark環(huán)境處理遙感空間數(shù)據(jù)的框架,旨在支持網(wǎng)絡(luò)規(guī)模和集群規(guī)模的地理空間處理,可讀取、轉(zhuǎn)換、操作和寫入遙感數(shù)據(jù),此外,GeoTrellis可對矢量數(shù)據(jù)進(jìn)行地圖代數(shù)操作,可進(jìn)行矢量數(shù)據(jù)和柵格數(shù)據(jù)的相互轉(zhuǎn)換操作。其主要實(shí)現(xiàn)了創(chuàng)建低延遲、可擴(kuò)展的地理處理Web服務(wù)、在分布式體系結(jié)構(gòu)中運(yùn)行,對大型遙感數(shù)據(jù)集進(jìn)行快速批處理、采用多核架構(gòu)對遙感數(shù)據(jù)進(jìn)行并行化處理等功能。綜上所述,GeoTrellis為Spark提供了功能豐富、處理高效的遙感數(shù)據(jù)處理庫,通過GeoTrellis與Spark共同組成的處理引擎執(zhí)行遙感數(shù)據(jù)處理操作,在提升處理效率的同時(shí),也擴(kuò)展了Spark的處理能力和范圍。因此,為了利用Spark基于內(nèi)存的分布式計(jì)算能力,對遙感數(shù)據(jù)進(jìn)行高效處理。同時(shí),也為了利用GeoTrellis強(qiáng)大的遙感數(shù)據(jù)處理能力,提出了開源框架GeoTrellis與Spark組成調(diào)度引擎進(jìn)行遙感數(shù)據(jù)處理的方法。基于GeoTrellis處理遙感數(shù)據(jù)時(shí)將柵格數(shù)據(jù)分割為使用空間填充曲線索引的統(tǒng)一瓦片[17]。受GeoTrellis-Landsat-Tutorial[18]啟發(fā),本實(shí)驗(yàn)基于GeoTrellis對數(shù)據(jù)進(jìn)行柵格化。基于Spark環(huán)境實(shí)現(xiàn)遙感影像的分布式處理,首先需利用GeoTrellis將遙感影像切分為多個(gè)瓦片數(shù)據(jù)(實(shí)驗(yàn)中為彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset,RDD),然后對瓦片數(shù)據(jù)進(jìn)行一系列處理。其處理流程為讀取影像數(shù)據(jù)并將其轉(zhuǎn)化為RDD[(SpatialKey, MultibandTile)],然后基于轉(zhuǎn)化后RDD[(SpatialKey, MultibandTile)]執(zhí)行分布式計(jì)算,除計(jì)算NDVI外,基于RDD還可對遙感影像執(zhí)行多種分布式處理操作。實(shí)驗(yàn)中,GeoTrellis涉及處理技術(shù)有:基于HadoopGeoTiffRDD方法將單波段影像讀取為RDD[(SpatilKey,Tile)],基于combine等方法將單波段影像合并為多波段形式,然后基于map算子設(shè)計(jì)處理邏輯,將合并成的多波段影像切分為瓦片并執(zhí)行計(jì)算,最后在Spark環(huán)境中以RDD為執(zhí)行單位進(jìn)行分布式處理。Spark分布式環(huán)境下GeoTrellis執(zhí)行分布式處理的流程如圖7所示。

圖7 GeoTrellis計(jì)算NDVI過程Fig.7 GeoTrellis calculation process of NDVI

2.2 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)

實(shí)驗(yàn)在由3個(gè)計(jì)算節(jié)點(diǎn)組成的集群上進(jìn)行,每個(gè)計(jì)算節(jié)點(diǎn)中配置有4核CPU、8GB RAM和30GB 7200RPM的HDD,實(shí)驗(yàn)環(huán)境如表1所示。

表1 實(shí)驗(yàn)環(huán)境系統(tǒng)信息Table 1 Experimental environment system information

實(shí)驗(yàn)數(shù)據(jù)基于Landsat8數(shù)據(jù)集,本實(shí)驗(yàn)采用十景Landsat8數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)集及數(shù)據(jù)量如表2所示。

表2 數(shù)據(jù)集Table 2 Data set

2.3 實(shí)驗(yàn)結(jié)果監(jiān)測

DataboxMR與GeoTrellis分別讀取并處理十景遙感影像,并將計(jì)算后的遙感數(shù)據(jù)寫入相應(yīng)的存儲(chǔ)系統(tǒng)。在該過程中,分別記錄分布式處理任務(wù)的消耗時(shí)間、CPU占用率、內(nèi)存占用率和網(wǎng)絡(luò)傳輸占用等性能指標(biāo)。時(shí)間消耗通過監(jiān)測Linux系統(tǒng)時(shí)間實(shí)現(xiàn),后三者通過Ganglia監(jiān)測記錄。Ganglia是UC Berkely發(fā)起的開源項(xiàng)目,可對分布式集群的所有計(jì)算資源進(jìn)行監(jiān)測,通過Web頁面顯示監(jiān)測結(jié)果。實(shí)驗(yàn)過程中,通過為集群部署Ganglia的方式實(shí)時(shí)監(jiān)測集群處理任務(wù)時(shí)間段內(nèi)的系統(tǒng)資源(CPU占用率、內(nèi)存占用率、網(wǎng)絡(luò)負(fù)載)變化,并記錄反饋監(jiān)測結(jié)果。

2.3.1 計(jì)算時(shí)間

為驗(yàn)證DataboxMR處理遙感影像數(shù)據(jù)的速度,相同實(shí)驗(yàn)條件下,對相同數(shù)據(jù)集執(zhí)行NDVI計(jì)算,基于Linux的系統(tǒng)時(shí)間,對讀取遙感數(shù)據(jù)、分析遙感數(shù)據(jù)和寫遙感數(shù)據(jù)處理結(jié)果三個(gè)階段時(shí)間分別監(jiān)測記錄,各階段時(shí)間消耗情況如表3所示。

去噪模塊的核心在于將噪聲分類,通過不同的濾波器進(jìn)行處理。均值濾波是對數(shù)據(jù)求均值,中值濾波采用分組排序:首先對列數(shù)據(jù)進(jìn)行排序,之后對排序后的每行數(shù)據(jù)排序得到每行的中值,最后對每行數(shù)據(jù)的中值排序得到中值[5]。

表3 GeoTrellis與DataboxMR時(shí)間消耗Table 3 Time consumption of GeoTrellis and DataboxMR

表3表明,相同實(shí)驗(yàn)條件下,對相同遙感數(shù)據(jù)執(zhí)行NDVI計(jì)算,DataboxMR讀寫磁盤數(shù)據(jù)的時(shí)間相較于GeoTrellis讀寫HDFS數(shù)據(jù)更快。由于最終處理數(shù)據(jù)為矩陣形式,因此處理過程消耗時(shí)間相近,差異較小。因此,由實(shí)驗(yàn)結(jié)果可知DataboxMR的I/O速度較快。若將數(shù)據(jù)存于主流空間數(shù)據(jù)庫或?qū)ο蟠鎯?chǔ)系統(tǒng),其讀寫性能可進(jìn)一步提升。

2.3.2 CPU占用

為觀察DataboxMR執(zhí)行分布式計(jì)算時(shí)CPU占用變化,分別監(jiān)測集群整體和各節(jié)點(diǎn)的CPU占用變化。

圖8(左上)表明,GeoTrellis在Spark環(huán)境下執(zhí)行遙感影像分布式處理時(shí),任務(wù)提交后,集群整體CPU占用率最高超過25%,普遍維持在15%~20%之間。DataboxMR的CPU占用率峰值在4%以下,普遍穩(wěn)定在3%~3.5%之間,GeoTrellis的占用面積(曲線與坐標(biāo)軸的積分)大于DataboxMR的面積。因此,分布式處理遙感數(shù)據(jù)時(shí),DataboxMR比GeoTrellis占用更少的CPU資源。圖8(右上、左下、右下)表明,集群各節(jié)點(diǎn)CPU占用率均出現(xiàn)明顯變化,未出現(xiàn)明顯負(fù)載不均衡,未產(chǎn)生明顯數(shù)據(jù)傾斜,分布式任務(wù)執(zhí)行狀態(tài)正常。對比各節(jié)點(diǎn)CPU占用率變化可知,DataboxMR的CPU占用率明顯低于GeoTrellis的CPU占用率。綜上所述,DataboxMR進(jìn)行遙感數(shù)據(jù)分布式處理時(shí)比GeoTrellis占用更少CPU資源。

圖8 CPU占用變化Fig.8 CPU usage changes

2.3.3 內(nèi)存占用

為驗(yàn)證分布式處理過程中內(nèi)存占用變化情況,分別監(jiān)測處理過程中集群內(nèi)存變化和各節(jié)點(diǎn)內(nèi)存變化。圖9表示內(nèi)存使用時(shí)的占用變化,圖10表示剩余空閑內(nèi)存變化。

圖9 內(nèi)存占用變化Fig.9 Memory usage changes

圖10 空閑內(nèi)存變化Fig.10 Free memory changes

圖9(左上)表示GeoTrellis和DataboxMR處理相同任務(wù)時(shí)集群內(nèi)存使用變化。結(jié)果表明,前者處理時(shí)內(nèi)存占用面積(占用曲線與坐標(biāo)軸之間的積分)大于后者的面積。因此,可知前者處理任務(wù)時(shí)內(nèi)存占用更大。圖9(右上、左下、右下)表示集群各節(jié)點(diǎn)處理相同任務(wù)時(shí)內(nèi)存占用變化。結(jié)果表明,各節(jié)點(diǎn)前者面積均大于后者面積,說明處理任務(wù)時(shí)GeoTrellis各節(jié)點(diǎn)的內(nèi)存占用率大于DataboxMR。圖10(左上)表明,GeoTrellis提交分布式任務(wù)至Spark運(yùn)行環(huán)境時(shí),空閑內(nèi)存出現(xiàn)明顯減少,維持在2GB~4GB之間。提交分布式計(jì)算任務(wù)至DataboxMR時(shí),空閑內(nèi)存資源變化較平緩,維持在5GB~6GB之間,前者平均空閑值小于后者。圖10(右上、左下、右下)表明,各節(jié)點(diǎn)執(zhí)行計(jì)算任務(wù)時(shí)空閑內(nèi)存均出現(xiàn)了明顯減少,但DataboxMR各節(jié)點(diǎn)的空閑內(nèi)存相較于GeoTrellis平均值更大,即相對空閑內(nèi)存更多。綜上所述,執(zhí)行遙感數(shù)據(jù)處理任務(wù)時(shí),GeoTrellis消耗的內(nèi)存資源比DataboxMR更多。

2.3.4 網(wǎng)絡(luò)傳輸

為驗(yàn)證網(wǎng)絡(luò)傳輸和通信效率,監(jiān)測網(wǎng)絡(luò)負(fù)載。圖11表示網(wǎng)絡(luò)輸入變化,圖12表示網(wǎng)絡(luò)輸出變化。

圖12 網(wǎng)絡(luò)輸出變化Fig.12 Network output changes

圖11-12(左上)表明,GeoTrellis處理遙感影像時(shí),從HDFS讀寫數(shù)據(jù)將產(chǎn)生大量網(wǎng)絡(luò)傳輸開銷,最大輸入、輸出傳輸達(dá)到17.5MB/s左右。DataboxMR計(jì)算NDVI時(shí),最大輸入、輸出傳輸峰值在5MB/s以下,后者的面積(輸入、輸出曲線與坐標(biāo)軸之間的積分)明顯小于前者,為前者的1/3左右,說明后者占用了更少的網(wǎng)絡(luò)資源。圖11-12(右上、左下、右下)表明,Spark集群中各節(jié)點(diǎn)從HDFS讀寫數(shù)據(jù)時(shí)輸入、輸出的網(wǎng)絡(luò)傳輸負(fù)載在6MB/s~10MB/s之間,網(wǎng)絡(luò)負(fù)載重,系統(tǒng)傳輸效率低。DataboxMR集群中各節(jié)點(diǎn)的輸入、輸出的網(wǎng)絡(luò)負(fù)載在3MB/s以下,數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)開銷明顯低于GeoTrellis,網(wǎng)絡(luò)占用低,對系統(tǒng)的網(wǎng)絡(luò)性能影響小,網(wǎng)絡(luò)通信效率高。綜上所述,執(zhí)行遙感數(shù)據(jù)處理時(shí),DataboxMR網(wǎng)絡(luò)傳輸開銷比GeoTrellis更低,通信代價(jià)更小,網(wǎng)絡(luò)傳輸效率和通信效率更高。

圖11 網(wǎng)絡(luò)輸入變化Fig.11 Network input changes

3 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)從處理時(shí)間、CPU占用率、內(nèi)存占用率、網(wǎng)絡(luò)負(fù)載角度驗(yàn)證了DataboxMR處理遙感數(shù)據(jù)的性能。對比DataboxMR與基于Spark計(jì)算框架的GeoTrellis的處理性能,實(shí)驗(yàn)結(jié)果表明,前者的I/O時(shí)間、處理時(shí)間均比GeoTrellis少,處理輕量級(jí)任務(wù)的效率較高。前者處理任務(wù)時(shí)CPU占用率比后者低,前者平均剩余空閑內(nèi)存比后者高,即DataboxMR比GeoTrellis消耗更少的內(nèi)存資源。網(wǎng)絡(luò)傳輸從輸入占用和輸出占用兩方面進(jìn)行分析,前者輸入、輸出均約為后者的1/3,因此,DataboxMR相比于GeoTrellis的網(wǎng)絡(luò)負(fù)載更低。綜上所述,DataboxMR處理輕量級(jí)遙感數(shù)據(jù)分析任務(wù)時(shí),具有穩(wěn)定高效的特點(diǎn),相同實(shí)驗(yàn)條件下,占用更少的系統(tǒng)資源。

4 結(jié)論

將大數(shù)據(jù)技術(shù)與遙感數(shù)據(jù)處理技術(shù)深度融合是一個(gè)值得繼續(xù)探討的問題[19]。數(shù)據(jù)密集型科學(xué)需要高效的計(jì)算框架提高數(shù)據(jù)分析效率[20],本文對目前遙感數(shù)據(jù)分布式處理面臨的一些挑戰(zhàn)做了詳細(xì)闡述并設(shè)法予以克服,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)輕量級(jí)的分布式調(diào)度框架(DataboxMR),從處理輕量級(jí)任務(wù)、方便遷移、支持已有技術(shù)擴(kuò)展、提高用戶對調(diào)度系統(tǒng)的控制力等角度出發(fā),設(shè)計(jì)實(shí)現(xiàn)了RS-UDF以及雙層調(diào)度引擎。最后,與開源框架GeoTrellis作對比實(shí)驗(yàn),分別計(jì)算遙感數(shù)據(jù)的NDVI,收集集群內(nèi)資源消耗情況,從不同角度對結(jié)果進(jìn)行了分析。結(jié)果表明,DataboxMR不僅具有高效處理輕量級(jí)任務(wù)的能力,而且相同實(shí)驗(yàn)條件下,比GeoTrellis消耗更少的時(shí)間和更少的CPU、內(nèi)存、網(wǎng)絡(luò)等系統(tǒng)資源,具有輕量高效的特點(diǎn)。

隨著云計(jì)算技術(shù)的發(fā)展,在線計(jì)算平臺(tái)得到了空前的發(fā)展,在線計(jì)算可根據(jù)用戶個(gè)性化需求高效處理任務(wù)。RS-UDF自定義函數(shù)算子的特點(diǎn)可滿足用戶個(gè)性化的開發(fā)需求,簡單封裝已有算法和程序執(zhí)行輕量級(jí)分布式任務(wù)的特性,為用戶提供了一個(gè)高效易用的開發(fā)環(huán)境。DataboxMR是在遙感影像數(shù)據(jù)處理領(lǐng)域的新技術(shù),可應(yīng)對遙感大數(shù)據(jù)帶來的挑戰(zhàn),可為遙感數(shù)據(jù)處理提供靈活、高效的服務(wù),可應(yīng)用于在線計(jì)算領(lǐng)域,提供科學(xué)數(shù)據(jù)端的在線交互分析[21]。該框架除分布式處理遙感數(shù)據(jù)外,還可支持傳統(tǒng)數(shù)據(jù)的批處理以及人工智能算法的分布式訓(xùn)練等,為多種數(shù)據(jù)處理任務(wù)及應(yīng)用場景提供分布式算力支撐。目前該調(diào)度框架已開源,可通過https://gitee.com/gscloud_dbox/databox_pymapreduce地址訪問。

利益沖突聲明

所有作者聲明不存在利益沖突關(guān)系。

猜你喜歡
引擎數(shù)據(jù)處理用戶
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應(yīng)用
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發(fā)
如何獲取一億海外用戶
主站蜘蛛池模板: 国产精品无码久久久久AV| 四虎在线观看视频高清无码| 九九精品在线观看| 91麻豆精品国产高清在线| 九色视频线上播放| 国产一级二级在线观看| 91青青草视频在线观看的| 狠狠做深爱婷婷久久一区| 亚洲天堂网2014| 精品人妻AV区| 国产毛片网站| 日本高清视频在线www色| 99视频在线看| 国禁国产you女视频网站| 国产导航在线| 亚洲性影院| 97国产成人无码精品久久久| 国产本道久久一区二区三区| 国产成人三级| 亚洲三级电影在线播放 | 57pao国产成视频免费播放 | 少妇精品在线| 精品91视频| 被公侵犯人妻少妇一区二区三区| 亚洲av色吊丝无码| 最新国产午夜精品视频成人| 国产精品亚洲五月天高清| 老司机精品久久| 日韩免费视频播播| 久久精品66| 亚洲中文字幕23页在线| 国产精品亚洲天堂| 国产成人综合在线视频| 浮力影院国产第一页| 亚洲天堂网在线视频| 嫩草影院在线观看精品视频| 欧美色伊人| 国产在线一区视频| av在线人妻熟妇| 国产丝袜丝视频在线观看| 亚洲人成影院午夜网站| 深夜福利视频一区二区| 谁有在线观看日韩亚洲最新视频| 中文字幕 91| 91极品美女高潮叫床在线观看| 香蕉视频在线精品| 伊人精品视频免费在线| 成人久久18免费网站| 国产毛片片精品天天看视频| 精品伊人久久久香线蕉 | 欧美成人综合视频| 朝桐光一区二区| 日韩亚洲高清一区二区| 国产亚洲欧美日韩在线一区二区三区| 欧美激情伊人| 久久综合国产乱子免费| 中文字幕啪啪| 71pao成人国产永久免费视频 | 国产精品亚洲综合久久小说| 中文字幕日韩视频欧美一区| 国产一区二区色淫影院| 日韩毛片在线视频| 国产产在线精品亚洲aavv| 久草视频中文| 中文字幕免费视频| 日本手机在线视频| 久久久久久尹人网香蕉| 亚洲最大福利网站| 国产亚洲成AⅤ人片在线观看| 色综合天天视频在线观看| 人妻丰满熟妇αv无码| 欧洲欧美人成免费全部视频| 热99re99首页精品亚洲五月天| 国产超薄肉色丝袜网站| 在线高清亚洲精品二区| 亚洲三级a| 国产高清国内精品福利| 日韩无码黄色网站| 久久精品视频一| 久久精品国产精品国产一区| 制服丝袜亚洲| 亚洲娇小与黑人巨大交|