最佳實踐|騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級-創(chuàng)新互聯(lián)

數(shù)據(jù)存儲和處理是一個古老而重要的技術(shù),從遠古時期的結(jié)繩記事到古人的文本記事,再到計算機誕生后的各種系統(tǒng),直到E.F.Codd提出關(guān)系模型,人類終于有了一種相對高效而統(tǒng)一的數(shù)據(jù)處理系統(tǒng)——關(guān)系數(shù)據(jù)庫。

在傳統(tǒng)的關(guān)系數(shù)據(jù)處理系統(tǒng)中,習慣把系統(tǒng)按照業(yè)務特點分為在線事務處理系統(tǒng)(OLTP)和在線分析處理(OLAP),一般意義上OLTP關(guān)注實時在線業(yè)務,要求低延時,高吞吐量,總體數(shù)據(jù)量一般不會特別大;而OLAP系統(tǒng)用來處理大規(guī)模數(shù)據(jù)的報表分析,要求低響應時間。兩者因為數(shù)據(jù)量,查詢請求,業(yè)務要求的不用,加上之前技術(shù)條件的限制,就分解為兩個獨立的系統(tǒng),即OLTP系統(tǒng)用來處理在線交易,OLAP系統(tǒng)用來進行報表處理,兩者之間通過ETL工具連接。

成都創(chuàng)新互聯(lián)2013年至今,先為泰寧等服務建站,泰寧等地企業(yè),進行企業(yè)商務咨詢服務。為泰寧企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

一般這個兩套數(shù)據(jù)庫系統(tǒng)是相互獨立的產(chǎn)品,常見的OLTP產(chǎn)品有IBM DB2,Informix, ORACLE,SQL SERVER,mysql,PostgreSQL等,在OLAP常見的如TeraData,SybaseIQ,GreenPlum,HP VERTICA, SAP HANA,Hadoop大數(shù)據(jù)平臺等等。在這個架構(gòu)中,有兩套獨立的數(shù)據(jù)系統(tǒng)需要維護,增加系統(tǒng)采購的成本和系統(tǒng)運維的成本;同時ETL過程中OLTP到OLAP系統(tǒng)的數(shù)據(jù)一致性也是一個讓人頭疼的問題。

TBase向我們展示了一種革命性的數(shù)據(jù)處理架構(gòu),把OLTP和OLAP處理進行融合,在一套數(shù)據(jù)庫系統(tǒng)中同時完成兩種操作,同時降低業(yè)務復雜度和業(yè)務成本。TBase在某省部門上線運行超過快四年,在客戶的架構(gòu)升級中扮演了重要的角色,當前在該客戶有快10套TBase系統(tǒng)在運行,集群規(guī)??旖咏倥_。本文希望借助客戶的實際案例來對TBase的架構(gòu)進行下解析,增加大家對TBase的了解。

TBase架構(gòu)特點

TBase分布式無共享(share nothing)分布式數(shù)據(jù)庫,集群結(jié)構(gòu)如下:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

Coordinator:協(xié)調(diào)節(jié)點(簡稱CN),對外提供接口,負責數(shù)據(jù)的分發(fā)和查詢規(guī)劃,多個節(jié)點位置對等,每個節(jié)點都提供相同的數(shù)據(jù)庫視圖;在功能上CN上只存儲系統(tǒng)的全局元數(shù)據(jù),并不存儲實際的業(yè)務數(shù)據(jù)。

Datanode:處理存儲本節(jié)點相關(guān)的元數(shù)據(jù),每個節(jié)點還存儲業(yè)務數(shù)據(jù)的分片,簡稱DN。在功能上,DN節(jié)點負責完成執(zhí)行協(xié)調(diào)節(jié)點分發(fā)的執(zhí)行請求。 

GTM:全局事務管理器(Global transaction manager.),負責管理集群事務信息,同時管理集群的全局對象,比如序列等。
在這個架構(gòu)下,TBase集群具有下面幾個能力:多活/多主:每個coordinator提供相同的集群視圖,可以從任何一個CN進行寫入,業(yè)務無需感知集群拓撲;
讀/寫擴展:數(shù)據(jù)被分片存儲在了不同的DN,集群的讀/寫能力,隨著集群規(guī)模的擴大做而得到提升;

集群寫一致:業(yè)務在一個CN節(jié)點發(fā)生的寫事務會一致性的呈現(xiàn)在其他的CN節(jié)點,就像這些事務是本CN節(jié)點發(fā)生的一樣;

集群結(jié)構(gòu)透明:數(shù)據(jù)位于不同的數(shù)據(jù)庫節(jié)點中,當查詢數(shù)據(jù)時,不必關(guān)心數(shù)據(jù)位于具體的節(jié)點;TBase的share nothing集群架構(gòu)方便了業(yè)務接入,降低了業(yè)務接入的門檻。

TBase 的HTAP能力

HTAP是混合事務和分析處理
Hybrid Transactional/Analytical Processing的簡寫,TBase通過下面這些技術(shù)構(gòu)建了原生的HTAP能力。

事務ACID強保證:

在分布式數(shù)據(jù)庫中,分布式事務的ACID保證是一個很有挑戰(zhàn)性的工作,但是業(yè)務系統(tǒng)在使用數(shù)據(jù)庫的過程中,往往會依賴數(shù)據(jù)庫提供的ACID能力來開發(fā)他們的業(yè)務,因此事務ACID能力的保證也成了分布式數(shù)據(jù)庫必不可少的能力。先把數(shù)據(jù)庫理論中的ACID的定義拿出來,熟悉下這些概念:

ACID,指數(shù)據(jù)庫事務正確執(zhí)行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個支持事務(Transaction)的數(shù)據(jù)庫,必須要具有這四種特性,否則在事務過程(Transaction processing)當中無法保證數(shù)據(jù)的正確性,交易過程極可能達不到交易方的要求。
詳細解釋下:

原子性(Atomicity):整個事務中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環(huán)節(jié)。事務在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務開始前的狀態(tài),就像這個事務從來沒有執(zhí)行過一樣。

一致性(Consistency):事務必須始終保持系統(tǒng)處于一致的狀態(tài),不管在任何給定的時間并發(fā)事務有多少。
也就是說:如果事務是并發(fā)多個,系統(tǒng)也必須如同串行事務一樣操作。其主要特征是保護性和不變性(Preserving an Invariant),以轉(zhuǎn)賬案例為例,假設(shè)有五個賬戶,每個賬戶余額是100元,那么五個賬戶總額是500元,如果在這個5個賬戶之間同時發(fā)生多個轉(zhuǎn)賬,無論并發(fā)多少個,比如在A與B賬戶之間轉(zhuǎn)賬5元,在C與D賬戶之間轉(zhuǎn)賬10元,在B與E之間轉(zhuǎn)賬15元,五個賬戶總額也應該還是500元,這就是保護性和不變性。

一致性是分布式事務中的重大挑戰(zhàn),網(wǎng)絡(luò)時延和操作系統(tǒng)調(diào)度等不確定因素給分布式 事務一致性的保證帶來諸多困難,但是分布式數(shù)據(jù)必須有一套完整的分布式事務一致性邏輯,否則會帶來災難性的后果。

隔離性(Isolation):隔離狀態(tài)執(zhí)行事務,使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。如果有兩個事務,運行在相同的時間內(nèi),執(zhí)行相同的功能,事務的隔離性將確保每一事務在系統(tǒng)中認為只有該事務在使用系統(tǒng)。這種屬性有時稱為串行化,為了防止事務操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。

持久性(Durability):在事務完成以后,該事務對數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會被回滾。

TBase中的事務嚴格遵守事務的ACID,當前支持read committed和repeatable read兩個隔離級別,并提供可擴展的事務吞吐能力。

在事務測試模型TPC-C中有9張表,用來模擬從倉庫中下訂單發(fā)貨,庫存狀態(tài)查詢,并有一定的回滾比例,每個事務中有5-6條SQL,讀寫混合,測試過程中要求嚴格遵守ACID。在這個模型下TBase的處理能力隨著集群規(guī)模的提升近似線性提升,在30臺(24core,64G,1000Mb)規(guī)模時可以達到300W tpm。 

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

Share nothing架構(gòu)決定了隨著集群規(guī)模的增加系統(tǒng)的TPC-C處理能力會進一步的提升,TBase在事務處理中處理能力可以到千萬級QPS。

完整SQL兼容性:

SQL是訪問數(shù)據(jù)庫的必備工具,在SQL誕生了幾十年后的今天,大量的軟件產(chǎn)品使用SQL進行開發(fā),每個程序員都或多或少的使用到SQL,數(shù)據(jù)庫對SQL的處理能力直接關(guān)系軟件產(chǎn)品的穩(wěn)定和程序開發(fā)的效率。

TBase認為:完整SQL兼容性 = 完美的SQL語法兼容+代價優(yōu)化器+分布式執(zhí)行器。因此TBase在設(shè)計之初就定下一條設(shè)計規(guī)則:SQL語法完全兼容SQL2003標準,讓用戶像使用普通數(shù)據(jù)庫一樣來使用TBase。

因此在TBase中,數(shù)據(jù)庫開發(fā)工程師可以像在之前熟悉的數(shù)據(jù)庫產(chǎn)品中一樣編寫SQL,不用擔心數(shù)據(jù)庫產(chǎn)品的變化帶來額外的學習工作量。為業(yè)務節(jié)省大量的開發(fā)工作,降低業(yè)務升級的成本。

除了SQL語法兼容性,為了達到高效的分布式執(zhí)行,TBase有專門為分布式環(huán)境設(shè)計的基于代價的查詢優(yōu)化器,與之配合的是專門為分布式環(huán)境設(shè)計的分布式執(zhí)行器。

分布式執(zhí)行器提供了目前已知的所有數(shù)據(jù)庫算子(operator)支持,包括聚合,窗口函數(shù),cube,存儲過程,自定義函數(shù),觸發(fā)器,物化視圖,并行執(zhí)行等等。

通過這些設(shè)計,TBase為業(yè)務提供良好了的數(shù)據(jù)庫使用體驗,大幅降低業(yè)務的遷移成本和開發(fā)人員的學習成本,提高業(yè)務遷移的效率。 

SQL兼容性和性能我們通過TPC-H來測試。TPC-H標準滿足了數(shù)據(jù)倉庫領(lǐng)域的測試需求。TPC-H中 用 3NF 實現(xiàn)了一個數(shù)據(jù)倉庫,共包含 8 個基本表, 22 個查詢(Q1~Q22),其主要評價指標是各個查詢的響應時間,即從提交查詢到結(jié)果返回所需時間(越短越好)。其中的查詢主要涉及:多表關(guān)聯(lián)(超過4張),多表聚合,子查詢等。

下圖是TBase在行存儲模式下TPC-H測試結(jié)果和國際知名數(shù)據(jù)庫倉庫的測試結(jié)果對比,從測試結(jié)果來看,TBase在所有22個測試用例中都大幅度的領(lǐng)先。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

在數(shù)據(jù)庫語法中,除了SQL標準外,每個數(shù)據(jù)庫都產(chǎn)品有自己的本地化語義,在本地化語義方面, TBase完整的的兼容PostgreSQL語法,部分兼容Oracle語法。

完整列存儲能力

數(shù)據(jù)庫的物理文件存儲格式常見的有兩種:按行存儲和按列存儲。下面對每種存儲結(jié)構(gòu)給出一個例子,下表是我們的表結(jié)構(gòu)和定義。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

按行存儲格式

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

按行存儲格式,數(shù)據(jù)按照邏輯順序相同的方式來來進行文件存儲,一行中的所有列數(shù)據(jù)按照順序存儲在物理磁盤上,這種格式的好處很明顯,如果同時訪問一行中的多列數(shù)據(jù)時,一般只需要一次磁盤IO,比較適合OLTP類型的負載。

按列存儲格式

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

表中的每列數(shù)據(jù)存儲為一個獨立的磁盤文件,比如例子中,“姓名”,“部門”,“薪酬”,“家庭信息”每列中的數(shù)據(jù)都為一個獨立的數(shù)據(jù)文件,這中格式在一次需要訪問表中少數(shù)列時相比行存能夠節(jié)省大量的磁盤IO,在聚合類場景下尤其高效,因此多用在OLAP類系統(tǒng)中。

行存儲是TBase的基本存儲格式,為了支持高效的OLAP TBase也提供了完整的列存儲能力,業(yè)務可以根據(jù)自己的需要對寫入數(shù)據(jù)庫中的數(shù)據(jù)選擇需要的存儲格式。TBase的列存儲還支持強大的壓縮能力,支持透明壓縮和輕量級壓縮,透明壓縮支持gzip,zstd等壓縮算法,輕量級壓縮算法可以根據(jù)數(shù)據(jù)的特征進行高效壓縮,壓縮比高達400+。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

TPC-DS是一套決策支持系統(tǒng)測試基準,主要針對零售行業(yè)。提供了99個SQL查詢(SQL 2003),分析數(shù)據(jù)量大,測試數(shù)據(jù)與實際商業(yè)數(shù)據(jù)高度相似,同時具有各種業(yè)務模型(分析報告型,數(shù)據(jù)挖掘型等等),主要用來對決策支持系統(tǒng)進行性能性能評測。TBase列存儲的 TPC-DS上運行了1T的工作集合,測試結(jié)果如下:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級


從測試結(jié)果來看,TBase在列存儲模式下的TPC-DS能力要遠遠優(yōu)于業(yè)界標桿。

PS:TBase中行表和列表之間可以進行任意關(guān)聯(lián)查詢,可以進行相互的格式轉(zhuǎn)換(通過insert into select)。

資源隔離能力:

在HTAP系統(tǒng)中,OLTP和OLAP業(yè)務要同時運行,兩者都會消耗巨量的資源都,如果不對資源使用進行隔離必然會造成相互之間的干擾,影像系統(tǒng)的整體穩(wěn)定性和服務質(zhì)量。

TBase中的資源隔離方案--節(jié)點組的資源隔離方案,如果業(yè)務的OLTP和OLAP訪問的是不同的數(shù)據(jù),可以使用TBase中的節(jié)點組把OLTP業(yè)務和OLAP業(yè)務在集群中分離為兩個節(jié)點組,對與OLTP節(jié)點組中的CN設(shè)置OLTP優(yōu)化器,對于與OLAP節(jié)點組中的CN設(shè)置OLAP優(yōu)化,從硬件上進行嚴格的分離。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

在TBase中每個用戶session都有一個資源配額限制,使用這個配額可以限制用戶session的CPU,內(nèi)存,網(wǎng)絡(luò)等資源,在OLTP和OLAP不存在絕對競爭的場景也可以讓兩者運行在同一個group,使用用戶資源配置來資源進行管控和配置。

TBase資源隔離方式—多副本方式(專利技術(shù)),多平面技術(shù),此時用戶數(shù)據(jù)還是同一份數(shù)據(jù),通過副本復制的方式把數(shù)據(jù)從OLTP系統(tǒng)復制到OLAP系統(tǒng),同時實現(xiàn)行存儲到列存儲的轉(zhuǎn)換,通過這種方式從硬件上分離了OLTP和OLAP業(yè)務,同時數(shù)據(jù)庫內(nèi)部的數(shù)據(jù)復制可靠性由數(shù)據(jù)庫內(nèi)部機制保證,可靠性遠遠高于ETL工具。這種資源隔離技術(shù)TBase中的叫多平面技術(shù)。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

通過上面這些資源隔離技術(shù),TBase實現(xiàn)了HTAP中關(guān)鍵的資源隔離技術(shù),可以很好的保證系統(tǒng)的服務質(zhì)量和改善客戶體驗。

TBase安全解決方案:

得益于TBase常年服務公司內(nèi)部客戶,  TBase建設(shè)了一套很有特色的數(shù)據(jù)安全系統(tǒng),可以說TBase是目前市面上安全能力最出色的數(shù)據(jù)庫產(chǎn)品,這一特性得到內(nèi)外部客戶的一致認可,并作為安全技術(shù)標準寫入到PICC的數(shù)據(jù)庫安全規(guī)范中。

TBase的數(shù)據(jù)安全系統(tǒng)我們稱之為MLS(multiple level security),這個體系的整體視圖如下:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

以三權(quán)分立為基礎(chǔ),消除系統(tǒng)的超級用戶權(quán)限。在安全管理規(guī)則中增加強制安全規(guī)則,支持對表進行矩陣式的權(quán)限劃分,在數(shù)據(jù)訪問層和存儲層進行加密和脫敏控制,防止數(shù)據(jù)拖庫時發(fā)生的數(shù)據(jù)泄密:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

在事后追溯和實時審計中,TBase提供了完整的審計規(guī)則和豐富的自定義審計規(guī)則來進行支持。通過FGA(細粒度審計),TBase還可以做到數(shù)據(jù)越權(quán)訪問的實時告警,實時防止數(shù)據(jù)越權(quán)訪問。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

客戶案例場景:

案例1:TBase協(xié)助解決某省匯集庫瓶頸,助力客戶架構(gòu)升級:
原有系統(tǒng)使用某知名數(shù)據(jù)庫集群。在支撐數(shù)據(jù)量到300億數(shù)據(jù)時,計算和查詢的時候能力已經(jīng)到達極限,超時宕機的場景頻發(fā),入庫的速率最后只能達到數(shù)千/秒的極限值,遠遠無法滿足業(yè)務需要。

TBase匯集庫在系統(tǒng)中的位置:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

匯集庫在系統(tǒng)中承擔著數(shù)據(jù)匯集處理的作用,既要對接其他關(guān)系數(shù)據(jù)庫,消息中間件等,還要運行部分核心系統(tǒng)的OLTP業(yè)務,并在這兩者數(shù)據(jù)的基礎(chǔ)上運行模型構(gòu)建,離線行為分析等OLAP類計算。是一個典型的HTAP系統(tǒng)。

之前的系統(tǒng)之所以遇到瓶頸,很大程度上也是因為業(yè)務模型本身計算量大,模型復雜超出了RAC的處理效率。

TBase團隊在分析了業(yè)務的特點后,結(jié)合TBase的本身能力為業(yè)務制訂詳細的解決方案。方案的核心要點是OLTP和OLAP的多平面資源隔離技術(shù),我們?yōu)橄到y(tǒng)的請求詳細的劃分了業(yè)務的運行平面,業(yè)務的寫入全都集中在主平面,把查詢類的請求根據(jù)計算復雜度和實時要求劃分到備用平面和主平面。很好的隔離了實時請求和離線請求。匯集庫TBase CN和DN的部署結(jié)構(gòu)如下圖。

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級

匯集集群當前有節(jié)點數(shù)近百,存儲數(shù)據(jù)數(shù)百T。120億數(shù)據(jù)的OLTP類業(yè)務1秒內(nèi)完成處理。 處理性能遠遠超越了之前系統(tǒng),成本相比卻大幅降低,得到用戶的高度認可!

案例二:物聯(lián)網(wǎng)地理信息系統(tǒng)
業(yè)務背景:隨著物聯(lián)網(wǎng)的到來,很多的傳感器數(shù)據(jù)需要進行接入,這些數(shù)據(jù)中都包含共同點,都包含一些點位信息(經(jīng)度和緯度)。結(jié)合這些位置信息和我們已有的地理信息進行關(guān)聯(lián)分析,可以分析出很有價值的數(shù)據(jù),為國民生產(chǎn)生活所用。

這個系統(tǒng)的核心功能是要對地理位置信息進行關(guān)聯(lián)計算和查詢,這個需要TBase提供的地理信息能力進行支持。

PS:TBase支持最先進的開源地理信息引擎PostGIS,可以提供豐富高效的地理信息處理能力。

該業(yè)務系統(tǒng)的部署架構(gòu)如下:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級


TBase上游對接接業(yè)務傳感器后端的ETL,數(shù)據(jù)進入集群后先對清洗變換,并把人和位置信息進行關(guān)聯(lián)形成寬表;在寬表的基礎(chǔ)上進行GIS OLAP分析,輸出我們需要的高價值信息。

目前GIS系統(tǒng)規(guī)模:目前5臺機器協(xié)調(diào)節(jié)點+6臺機器Datanode節(jié)點主備混合部署。
案例三,某核心OLTP在線核查系統(tǒng):某省核心服務微信公眾號后臺系統(tǒng),核心系統(tǒng)結(jié)構(gòu)如下:

最佳實踐 | 騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級


業(yè)務的核心TBase服務器部署內(nèi)網(wǎng),敏感數(shù)據(jù)部署在這個核心TBase實例中,互聯(lián)網(wǎng)部署的一臺應用服務器,運行公眾號相關(guān)的業(yè)務數(shù)據(jù),并通過網(wǎng)絡(luò)邊界同步工具把數(shù)據(jù)同步到業(yè)務內(nèi)網(wǎng)。

總結(jié)

TBase構(gòu)建HTAP能力的過程中團隊小伙伴們突破了一個又一個技術(shù)難點,創(chuàng)造了一個又一個“不可能”,回顧這個過程,就想起一句古語“篳路藍縷,以啟山林”!對TBase來說,應該是“篳路藍縷,開拓創(chuàng)新”!

當前TBase服務的外部客戶包括金融,公安,消防,政務,醫(yī)療,社保,能源,稅務等行業(yè),外部集群超過30個。在案例中的省份上線運行已經(jīng)快4年,集群規(guī)模從最開始的十幾臺逐漸增長到現(xiàn)在的近百臺,業(yè)務系統(tǒng)也有最初的一個增長到現(xiàn)在的快十個,在幫助業(yè)務解決痛點的同時,TBase自己也獲得了很多成長的機會,感謝大家對TBase的關(guān)注。

推薦閱讀

支撐微信支付的數(shù)據(jù)庫如何提供超300萬TPCC事務處理能力?

網(wǎng)站欄目:最佳實踐|騰訊HTAP數(shù)據(jù)庫TBase助力某省核心IT架構(gòu)升級-創(chuàng)新互聯(lián)
標題路徑:http://bm7419.com/article26/cdgccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、電子商務、響應式網(wǎng)站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)