揭秘Sponge:統(tǒng)一Hadoop、Spark、SDS、Swift的大數(shù)據(jù)操作系統(tǒng)

責(zé)任編輯:editor005

作者:周建丁

2015-05-26 16:15:55

摘自:CSDN

使用對(duì)象存儲(chǔ)、高性能存儲(chǔ)、Hadoop、Spark、Storm……等技術(shù)來(lái)存儲(chǔ)、處理和分析大數(shù)據(jù)很流行,然而海綿數(shù)據(jù)科技有限公司(以下簡(jiǎn)稱“海綿數(shù)據(jù)”)說(shuō),這些技術(shù)各自為政

使用對(duì)象存儲(chǔ)、高性能存儲(chǔ)、Hadoop、Spark、Storm……等技術(shù)來(lái)存儲(chǔ)、處理和分析大數(shù)據(jù)很流行,然而海綿數(shù)據(jù)科技有限公司(以下簡(jiǎn)稱“海綿數(shù)據(jù)”)說(shuō),這些技術(shù)各自為政,存在性能、管理、開發(fā)、成本等多方面的問題。

5月20日,海綿數(shù)據(jù)宣布推出其第二代大數(shù)據(jù)操作系統(tǒng)產(chǎn)品Sponge。海綿數(shù)據(jù)CEO朱曉明、VP崔斌、CTO李東及COO劉棟接受了CSDN記者的采訪,全面解析了Sponge的研發(fā)初衷、技術(shù)特點(diǎn)、適用場(chǎng)景、部署模式以及市場(chǎng)戰(zhàn)略等一系列的問題。

總體來(lái)說(shuō),Sponge是一個(gè)簡(jiǎn)單多層,兼容完全POSIX兼容的分布式NFS、Hadoop,支持對(duì)象存儲(chǔ)、云存儲(chǔ)、SDS(軟件定義存儲(chǔ))、容器機(jī)制,集成Spark為計(jì)算引擎,基于內(nèi)存計(jì)算技術(shù)的分布式系統(tǒng),將大數(shù)據(jù)的存儲(chǔ)、管理和計(jì)算有機(jī)融合,具有實(shí)時(shí)一致性,易于兼容現(xiàn)有系統(tǒng),相比10年前誕生的第一代產(chǎn)品Hadoop更加簡(jiǎn)單易用,易于擴(kuò)展。

三位高管表示,僅僅有作為計(jì)算平臺(tái)的Spark不足以全面應(yīng)對(duì)大數(shù)據(jù)的挑戰(zhàn),整合后的Sponge技術(shù)框架,能夠同時(shí)支持大數(shù)據(jù)、云存儲(chǔ)、結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的處理,代表了大數(shù)據(jù)的發(fā)展方向。

需求&理念

Sponge的誕生源于三個(gè)理由。首先是大數(shù)據(jù)市場(chǎng)的剛需。今天已經(jīng)沒有人再懷疑大數(shù)據(jù)的價(jià)值,云計(jì)算、移動(dòng)互聯(lián)、物聯(lián)網(wǎng)、機(jī)器學(xué)習(xí)、無(wú)人機(jī)等前沿技術(shù)的普及與大數(shù)據(jù)的發(fā)展相得益彰,不論在美國(guó)還是中國(guó),大數(shù)據(jù)已經(jīng)在很多的IT企業(yè)和傳統(tǒng)企業(yè)開始落地,譬如互聯(lián)網(wǎng)金融公司的反欺詐流程,電信運(yùn)營(yíng)商的客戶服務(wù)分析,都貫穿著大數(shù)據(jù)和機(jī)器學(xué)習(xí)技術(shù)的應(yīng)用,這也刺激著初創(chuàng)企業(yè)在這個(gè)領(lǐng)域?qū)ふ倚碌纳虡I(yè)機(jī)會(huì)。

目前普遍被采用來(lái)應(yīng)對(duì)大數(shù)據(jù)的是開源軟件與廉價(jià)的x86服務(wù)器的組合,這些開源產(chǎn)品包括Hadoop、Spark、Storm、NoSQL等。傳統(tǒng)存儲(chǔ)和數(shù)據(jù)庫(kù)當(dāng)然也針對(duì)大數(shù)據(jù)的需求升級(jí),用來(lái)存儲(chǔ)價(jià)值密度低的大量非結(jié)構(gòu)化數(shù)據(jù)卻不現(xiàn)實(shí)。這些原本被Google、Facebook、Yahoo等大公司驗(yàn)證在某些場(chǎng)景很成功的開源項(xiàng)目,也存在問題:不同功能模塊對(duì)應(yīng)多個(gè)相互獨(dú)立的開源項(xiàng)目,為不同的目的而設(shè)計(jì),其關(guān)系很復(fù)雜,缺乏通用性,系統(tǒng)部署和使用復(fù)雜而低效,二次開發(fā)困難,并且難以統(tǒng)一管理和監(jiān)控,維護(hù)成本高,所以,需要有一個(gè)統(tǒng)一的平臺(tái)。當(dāng)前風(fēng)頭正盛的Spark,被其粉絲認(rèn)為是通用的大數(shù)據(jù)處理平臺(tái),但李東認(rèn)為,Spark只是一個(gè)計(jì)算平臺(tái),并未涉及到如文件系統(tǒng)等底層的大數(shù)據(jù)核心技術(shù),不能算是我們需要的大數(shù)據(jù)操作系統(tǒng)。

在李東看來(lái),第二代大數(shù)據(jù)操作系統(tǒng)和第一代產(chǎn)品的最本質(zhì)區(qū)別在于設(shè)計(jì)理念的不同,由此架構(gòu)和實(shí)現(xiàn)方法也不一樣。第一代的系統(tǒng)即使再打補(bǔ)丁,因?yàn)榧軜?gòu)的原因也存在無(wú)法添加的功能。海綿數(shù)據(jù)相信,隨著社交媒體、智能設(shè)備的普及,Hadoop在其誕生環(huán)境下自然采用的傳統(tǒng)批處理的方式,已經(jīng)跟不上現(xiàn)在的交互式處理、實(shí)時(shí)處理的需求,現(xiàn)在我們需要多樣化的處理方式,如果部署Hadoop就可能需要并行的兩套系統(tǒng)來(lái)提供兩種處理模式。另一方面,Hadoop版本眾多,現(xiàn)在就有1.0、1.1、2.0,生態(tài)系統(tǒng)項(xiàng)目的使用也不是一件簡(jiǎn)單的事情。

此外,自主知識(shí)產(chǎn)權(quán)的需求同樣作用于大數(shù)據(jù)技術(shù)領(lǐng)域。朱曉明稱,大數(shù)據(jù)操作系統(tǒng)的準(zhǔn)入門檻高,如文件系統(tǒng)這樣的核心技術(shù),即便是在美國(guó),具有相關(guān)開發(fā)能力的團(tuán)隊(duì)也不多,而海綿數(shù)據(jù)具有硅谷的研發(fā)團(tuán)隊(duì),其中不乏在硅谷20多年的專家,具有這個(gè)技術(shù)儲(chǔ)備。

簡(jiǎn)單、高效、可靠、經(jīng)濟(jì),這四個(gè)詞,是海綿數(shù)據(jù)對(duì)第二代大數(shù)據(jù)操作系統(tǒng)的價(jià)值的追求,以及Sponge產(chǎn)品設(shè)計(jì)的理念。

技術(shù)&產(chǎn)品

Sponge集成了現(xiàn)有開源技術(shù)的思想或者組件,但并不僅僅是一個(gè)簡(jiǎn)單的打包,而是一套擁有20多項(xiàng)專利技術(shù)的技術(shù)。我們先來(lái)看它的架構(gòu)。Sponge追求簡(jiǎn)單易用,并能夠整合多層,提供一個(gè)高性能的平臺(tái),滿足不同層面的需求,技術(shù)架構(gòu)如下圖所示。

Sponge整體技術(shù)架構(gòu)

其設(shè)計(jì)要點(diǎn)如下:

存儲(chǔ)層整合高性能存儲(chǔ)、結(jié)構(gòu)和半結(jié)構(gòu)化數(shù)據(jù)處理、云對(duì)象存儲(chǔ)和軟件定義存儲(chǔ)層,采用統(tǒng)一的核心,各層都實(shí)現(xiàn)在同一個(gè)核心之上,實(shí)現(xiàn)高可擴(kuò)展和整合多層。

分析層集成Spark作為計(jì)算引擎,包括核心API和其他附加庫(kù)如Streaming、Spark SQL、GraphX、MLlib等。

分布式NFS完全POSIX兼容,易于集成現(xiàn)有的系統(tǒng)、應(yīng)用和腳本。

實(shí)現(xiàn)Hadoop文件系統(tǒng)的接口,能夠兼容Hadoop生態(tài)系統(tǒng)(使用任何Hadoop版本都可以進(jìn)行數(shù)據(jù)遷移)。

底層存儲(chǔ)架構(gòu)支持細(xì)粒度數(shù)據(jù)塊和CDR(持續(xù)數(shù)據(jù)復(fù)制)。

采用Masterless集群拓?fù)浼軜?gòu),解決單點(diǎn)故障和小文件數(shù)據(jù)的限制。

這里要說(shuō)一下Masterless,也就是Sponge只有一種節(jié)點(diǎn)類型,沒有Hadoop那樣的Master和Slave之分,客戶端可以直接和Sponge節(jié)點(diǎn)通信,無(wú)需經(jīng)過(guò)Master。

Masterless結(jié)構(gòu)

這就帶來(lái)如下的優(yōu)勢(shì):

所有的文件系統(tǒng)的metadata平均分配在每個(gè)節(jié)點(diǎn),所以沒有單點(diǎn)故障和文件數(shù)據(jù)的限制,可以處理更多小文件。

節(jié)點(diǎn)之間沒有依賴關(guān)系,所有的服務(wù)都在單個(gè)節(jié)點(diǎn),不需要其他獨(dú)立的集群協(xié)助。

沒有NameNode的限制,處理大并發(fā)性能更好。

此外,Sponge還是模塊化架構(gòu),這不限于分布式系統(tǒng)拓?fù)浣Y(jié)構(gòu),單個(gè)實(shí)例也是由多個(gè)組件和多個(gè)服務(wù)組成的。

Sponge與Hadoop的對(duì)比

下面再展示一些具體的重要特性。

Sponge文件系統(tǒng)(SpongeFS)

不同于以往以磁盤計(jì)算技術(shù)為核心的文件系統(tǒng),SpongeFS將集群內(nèi)存管理提升成為文件系統(tǒng)的重要組成部分,以滿足大量文件數(shù)據(jù)讀寫IO的高需求。SpongeFS基于分布式設(shè)計(jì),上文說(shuō)的Masterless結(jié)構(gòu),以及模塊化架構(gòu),正是由SpongeFS來(lái)操盤的。

SpongeFS主要由集群管理層、文件管理層和存儲(chǔ)層構(gòu)成(詳見架構(gòu)圖)。當(dāng)數(shù)據(jù)進(jìn)入SpongeFS,就被分成一個(gè)個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊通過(guò)文件管理層先存入緩存層,被加入集群間復(fù)制隊(duì)列,一擊加入到持久隊(duì)列等待存入持久層,CDR則把持久層數(shù)據(jù)塊復(fù)制到目標(biāo)集群(目標(biāo)群數(shù)據(jù)塊也優(yōu)先存到緩存層)。

文件管理層的基本管理單位是Volume,每個(gè)Volume可以有不同的管理設(shè)置,如容錯(cuò)性、安全性、物理資源的使用等。

緩存層提供高性能服務(wù)的關(guān)鍵。SpongeFS的緩存層由整個(gè)集群所有節(jié)點(diǎn)的緩存組成,共同協(xié)作完成IO操作,緩存層提供自動(dòng)預(yù)加載功能,并通過(guò)Ejection內(nèi)存管理技術(shù),以Low和High為界限保證緩存空間快速、安全地重新分配。

SpongeFS緩存層

最后要說(shuō)的是,SpongeFS的持久層使用“容器”提供文件數(shù)據(jù)管理服務(wù)。容器是虛擬的文件數(shù)據(jù)容器。一個(gè)容器就是SpongeFS集群里的一個(gè)邏輯組物理資源,它可以被 集群里的文件管理層使用。容器提供安全的機(jī)制來(lái)組織、管理、分析數(shù)據(jù)存儲(chǔ)資源,每個(gè)容器由一定數(shù)量的虛擬容器構(gòu)成平均分配在集群每個(gè)節(jié)點(diǎn)上(詳見Masterless結(jié)構(gòu)圖)。

SpongeFS采用容器提供高可用、動(dòng)態(tài)重配置、分布式的數(shù)據(jù)存儲(chǔ),在集群的節(jié)點(diǎn)發(fā)生故障時(shí),允許集群自我修復(fù)并繼續(xù)提供服務(wù)。容器的主要的功能特性如下:

數(shù)據(jù)持久保存。數(shù)據(jù)異步從緩存層寫往持久層,防范服務(wù)重啟或較小的故障發(fā)生數(shù)據(jù)丟失。

副本管理??梢耘渲脭?shù)據(jù)副本的份數(shù)。集群里的每個(gè)節(jié)汽既保存活躍的數(shù)據(jù),又保存數(shù)據(jù)副本。當(dāng)某個(gè)節(jié)點(diǎn)不可用,數(shù)據(jù)副本虛擬容器可以被提升為活躍的虛擬客器,從而繼續(xù)提供高可用服務(wù)。

重新組織。集群里的數(shù)據(jù)可以重新組織和分布,從而動(dòng)態(tài)增加或刪除容器和服務(wù)器。

容積改變??梢栽谛枰獣r(shí)動(dòng)態(tài)調(diào)整容積容積大小。

文件系統(tǒng)實(shí)時(shí)一致性

Sponge FSCK是Sponge的文件系統(tǒng)實(shí)時(shí)一致性檢查技術(shù),通過(guò)在后臺(tái)運(yùn)行的FSCK Deamon完成一致性檢查,任何對(duì)SpongeFS的修改,都會(huì)從各個(gè)節(jié)點(diǎn)通過(guò)一個(gè)輕量級(jí)的MapReduce引擎實(shí)時(shí)傳輸給FSCK Deamon匯總和及時(shí)檢測(cè),支持完全和增量檢查,以提高性能,降低系統(tǒng)開銷。

李東介紹,F(xiàn)SCK結(jié)果查詢可以由用戶應(yīng)用程序查詢,Sponge同時(shí)有一個(gè)FSCK long running service,這個(gè)service進(jìn)行結(jié)果查詢匯總。

CDR數(shù)據(jù)同步技術(shù)

CDR流程前文已經(jīng)說(shuō)過(guò),圖示如下。

CDR技術(shù)

與Hadoop的distcp(批處理過(guò)程)不同,CDR支持集群或數(shù)據(jù)中心之間接近實(shí)時(shí)的復(fù)制,并支持文件、文件夾、文件卷等不同的篩選規(guī)則,以及增量復(fù)制、斷點(diǎn)恢復(fù)、單向和雙向復(fù)制、內(nèi)存間復(fù)制等。

分布式NFS技術(shù)

SpongeFS支持實(shí)時(shí)隨機(jī)讀寫操作,所以Sponge的NFS是完全POSIX兼容的:

分布式NFS技術(shù)

每個(gè)節(jié)點(diǎn)都實(shí)現(xiàn)完全無(wú)狀態(tài)的Sponge文件系統(tǒng)NFS服務(wù)器,都可以被NFS客戶端mount。

每個(gè)NFS服務(wù)器運(yùn)行在CNode上,作為CNode的一個(gè)服務(wù),客戶端的NFS請(qǐng)求通過(guò)CNode解釋稱對(duì)在存儲(chǔ)層的文件操作。

任何一個(gè)Sponge文件系統(tǒng)NFS服務(wù)器都可以和所有的節(jié)點(diǎn)通訊。

Sponge文件系統(tǒng)NFS服務(wù)器實(shí)現(xiàn)了NFSv3。

數(shù)據(jù)分析引擎

考慮到Java或Python的支持、shell中的交互式查詢、SQL查詢、流數(shù)據(jù)、圖表數(shù)據(jù)處理和機(jī)器學(xué)習(xí)等,Sponge選擇了Spark作為分析引擎,Spark在這些領(lǐng)域表現(xiàn)出色,同時(shí)架構(gòu)和Sponge的底層存儲(chǔ)架構(gòu)也非常相似。這里只說(shuō)Sponge對(duì)Spark的“加持”作用:

Spark在從Sponge文件系統(tǒng)讀寫文件時(shí),從內(nèi)存中讀取,減少磁盤IO。

Sponge幫助Spark通過(guò)在數(shù)據(jù)處理過(guò)程中成本更低的洗脾(Shuffle)方式,在mapper和reducer之間建立流通道,提升Spark性能。

利用Sponge內(nèi)存數(shù)據(jù)存儲(chǔ)和接近實(shí)時(shí)的處理能力提升Spark大數(shù)據(jù)處理性能。

數(shù)據(jù)分析引擎

軟件定義存儲(chǔ)

Sponge的集群管理層是和存儲(chǔ)層分離的,而存儲(chǔ)層是由集群管理層進(jìn)行管理。在存儲(chǔ)層,Sponge采用Kinetic存儲(chǔ)技術(shù)來(lái)實(shí)況SDS。

軟件定義存儲(chǔ)

Sponge SDS做了以下工作:

數(shù)據(jù)存儲(chǔ)。Sponge文件系統(tǒng)在持久層實(shí)現(xiàn)了和Kinetic接口的集成,數(shù)據(jù)通過(guò)Sponge 文件系統(tǒng)經(jīng)過(guò)TCP/IP網(wǎng)絡(luò)中以KV的方式存入Kinetic。

集群管理。Sponge集群管理負(fù)責(zé)管理Kinetic Farm,包括加減Kinetic,數(shù)據(jù)reblance,Kinetic failover。由于Kinetic Farm的管理是和節(jié)點(diǎn)是分離的,所Kinetic Farm的擴(kuò)展性和Sponge節(jié)點(diǎn)的擴(kuò)展也是分離的,增減Kinetic不需要增減Sponge節(jié)點(diǎn)。

多租戶。Sponge文件系統(tǒng)負(fù)責(zé)多用戶管理,為用尸提供Quota管理,備份,Snapshot。

Sponge文件系統(tǒng)的其它功能都可以提供給SDS用戶,如CDR(持續(xù)數(shù)據(jù)復(fù)制),高性能分析等。

支持對(duì)象存儲(chǔ)協(xié)議Swift

支持對(duì)象存儲(chǔ)協(xié)議Swift是Sponge后續(xù)版本的功能。Sponge在存儲(chǔ)層把云存儲(chǔ)和大數(shù)據(jù)存儲(chǔ)結(jié)合,不需要多余的ETL,存儲(chǔ)空間、網(wǎng)絡(luò)帶寬,通過(guò)Sponge對(duì)象存儲(chǔ)存入到Sponge的數(shù)據(jù),可以直接用來(lái)做各種工作。

Sponge在CNode內(nèi)部實(shí)現(xiàn)Swift接口,數(shù)據(jù)通過(guò)swift存入到Sponge文件系統(tǒng)可以以NFS的方式獲取,反之亦然。

由以上介紹可以看到,Sponge是一套簡(jiǎn)單多層的系統(tǒng),同時(shí)提供豐富的功能和擴(kuò)展性,并兼容現(xiàn)有的技術(shù),李東在答記者問的時(shí)候明確表示,Sponge的各個(gè)組件是松耦合的,也就是說(shuō),這些功能可以有單獨(dú)提供的可能性,以滿足用戶的個(gè)性化需求。

根據(jù)海綿數(shù)據(jù)的介紹,Sponge對(duì)部署環(huán)境沒有特別的需求,而Masterless的集群拓?fù)浣Y(jié)構(gòu)還使得它需要的節(jié)點(diǎn)數(shù)據(jù)更少,這意味著更少的投資門檻。Sponge還可以與當(dāng)前熱門的容器技術(shù)及虛擬機(jī)技術(shù)配合使用,支持兩種方式:Sponge可以部署在容器或虛擬機(jī)里,同時(shí)SpongeFS也可以被容器或虛擬機(jī)所使用。

此外,Sponge不需要另起爐灶推出一套自己的編程框架,這樣的好處是開發(fā)人員不需要再掌握另外的編程技術(shù)。

戰(zhàn)略&生態(tài)

海綿數(shù)據(jù)對(duì)自身的定位是一個(gè)技術(shù)驅(qū)動(dòng)的公司,只專注于大數(shù)據(jù)操作系統(tǒng),上層的開發(fā)有合作伙伴來(lái)提供。未來(lái),Sponge還會(huì)支持和更多公有云的集成。

海綿數(shù)據(jù)強(qiáng)調(diào)了Sponge的路線:開放,但不開源。朱曉明表示,開源是技術(shù)而不是產(chǎn)品,開源社區(qū)的規(guī)范管理旨在推動(dòng)技術(shù)發(fā)展而不是技術(shù)產(chǎn)品化,但企業(yè)真正需要的是產(chǎn)品。所以,Sponge會(huì)開放API提供給二次開發(fā)者,讓他們做各類行業(yè)的數(shù)據(jù)挖掘、數(shù)據(jù)分析等應(yīng)用。朱曉明表示,在智慧城市、智慧金融、物聯(lián)網(wǎng)、智能穿戴等應(yīng)用場(chǎng)景,都有Sponge的用武之地。

朱曉明介紹,Sponge在美國(guó)和中國(guó)市場(chǎng)都已經(jīng)有用戶試用。一家美國(guó)硬盤巨頭已經(jīng)在生產(chǎn)環(huán)境中測(cè)試Sponge;而中國(guó)某大型視頻監(jiān)控企業(yè),使用Hadoop一年多仍然存在很多問題沒有解決,反而試用Sponge系統(tǒng)獲得了超乎想象的性能和吞吐量。

中國(guó)和美國(guó)兩大大數(shù)據(jù)市場(chǎng)都是海綿數(shù)據(jù)的目標(biāo),不過(guò),海綿數(shù)據(jù)已經(jīng)注銷了美國(guó)公司,未來(lái)將以中國(guó)的大數(shù)據(jù)市場(chǎng)為業(yè)務(wù)重心。當(dāng)然,從今年下半年年底到明年年初,海綿數(shù)據(jù)也會(huì)布局美國(guó)的市場(chǎng)。而在中國(guó)的技術(shù)推廣和生態(tài)建設(shè),海綿數(shù)據(jù)已經(jīng)開始高校的免費(fèi)試用,產(chǎn)業(yè)聯(lián)盟/產(chǎn)業(yè)基地會(huì)是未來(lái)的一個(gè)重點(diǎn)。

補(bǔ)充問題:文件系統(tǒng)是Sponge的一項(xiàng)核心技術(shù),是否可以把SpongeFS和分布式內(nèi)存文件系統(tǒng)做一下Tachyon比較?

李東:Tachyon和Sponge都提供了一個(gè)In-Memory的分布式存儲(chǔ)系統(tǒng),這一點(diǎn)是類似的。二者主要的三個(gè)不同點(diǎn)如下:

Tachyon 是Hadoop compatible的,Sponge不但是Hadoop compatible的,而且是POSIX compatible的。意思是說(shuō)用戶可以把Sponge的文件系統(tǒng)mount到本地,像local文件系統(tǒng)一樣使用。但是如果用戶要access在Tachyon里面的數(shù)據(jù),則需要使用Tachyon提供的API或者特殊CLI指令,很不方便。

Tachyon往往無(wú)法獨(dú)立使用,因?yàn)樗鼪]有自己的persist文件系統(tǒng),需要plug-in第三方文件系統(tǒng)比如HDFS,這樣用戶又要多管理一個(gè)系統(tǒng)。而Sponge的分布式內(nèi)存系統(tǒng)和分布式persist系統(tǒng)是緊密結(jié)合的一個(gè)整體。

Tachyon的HA(High availability)需要Zookeeper的支持,這意味著用戶又要多安裝和管理一個(gè)Zookeeper集群,管理成本和出錯(cuò)可能性也隨之增加。而Sponge的HA是本身就提供的,不需要任何第三方軟硬件支持。

Tachyon可能的一個(gè)優(yōu)點(diǎn)是對(duì)于Spark的RDD off-heap存儲(chǔ)的支持。我們也考慮過(guò)提供同樣的接口給Spark使用,讓Spark把Sponge當(dāng)做Tachyon一樣來(lái)用。 目前我們暫時(shí)沒有把提供這個(gè)任務(wù)作為重點(diǎn),主要原因是,Spark目前對(duì)于Tachyon off-heap的存儲(chǔ)還在實(shí)驗(yàn)階段,并且不是對(duì)所有 workload都有performance提高。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)