中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress 仿虎嗅沈陽百度推廣優(yōu)化

wordpress 仿虎嗅,沈陽百度推廣優(yōu)化,長寧區(qū)網(wǎng)站建設網(wǎng)站,藥品網(wǎng)站訂單源碼作者:郭偉杰(阿里云), 范瑞(Shopee) Apache Flink PMC(項目管理委員)很高興地宣布發(fā)布 Apache Flink 1.20.0。與往常一樣,這是一個充實的版本,包含了廣泛的改進和新功能??偣灿?142 人為此版本做出了貢獻,…

作者:郭偉杰(阿里云), 范瑞(Shopee)


Apache Flink PMC(項目管理委員)很高興地宣布發(fā)布 Apache Flink 1.20.0。與往常一樣,這是一個充實的版本,包含了廣泛的改進和新功能??偣灿?142 人為此版本做出了貢獻,完成了 13 個 FLIPs、解決了 300 多個問題。感謝各位貢獻者的支持!

站在 Flink 2.0 的前夜

Apache Flink 1.0 發(fā)布至今已經(jīng) 8 年了。因此,最近幾個月以來,社區(qū)一直在積極朝著下一個大版本(Flink 2.0)邁進。最新發(fā)布的 Flink 1.20 版本將會是 Flink 2.0 (預計 2024 年底發(fā)布) 之前的最后一個小版本。

從 Flink 1.19 開始,社區(qū)決定正式開始廢棄過時的公共 API。在 1.20 中,我們進一步整理了所有可能需要被替換或棄用的API,為 2.0 版本鋪平道路:

  • 為了提升易用性和可維護性,我們重新審視了所有運行時、Table、SQL 以及狀態(tài)和檢查點相關的配置項,對它們進行了歸類,增強和廢棄。

  • 廢棄過時的 SinkFunction 接口: Flink 1.12 引入了 Unified Sink V2,經(jīng)過了多個版本的開發(fā)和迭代后, 它已經(jīng)變得比較穩(wěn)定和完善。根據(jù)社區(qū)在 FLIP-197 中提出的關于 API 演進的要求,我們把 Unified Sink V2 提升為了公共接口,并且廢棄了 SinkFunction 接口。

歷經(jīng) 8 年的發(fā)展,我們對 Flink 2.0 寄予厚望,并且計劃在 2.x 中發(fā)布幾個重量級的新功能。其中一些已在 Flink 1.20 中完成了最小可行產(chǎn)品(MVP)的開發(fā):

  • 提升數(shù)據(jù)加工鏈路開發(fā)體驗:FLIP-435引入了物化表功能,允許用戶在動態(tài)表中通過統(tǒng)一的 SQL 語句來定義數(shù)據(jù)的流式/批式轉(zhuǎn)換邏輯,從而加速 ETL 管道開發(fā),并自動管理任務調(diào)度。完整內(nèi)容和更多細節(jié)請參考FLIP-435。

  • 統(tǒng)一的檢查點文件合并機制:Flink 1.20 中引入了統(tǒng)一的檢查點文件合并機制,允許將零散的小的檢查點文件合并到大文件中,減少文件創(chuàng)建和文件刪除的次數(shù),緩解大量小文件對文件系統(tǒng)元數(shù)據(jù)管理帶來的壓力。完整內(nèi)容和更多細節(jié)請參考FLIP-306。

Flink SQL 提升

引入物化表

Flink 1.20 版本 為 Flink SQL 引入了物化表(Materialized Table)抽象。這是一種新的表類型,旨在同時簡化流和批處理的數(shù)據(jù)加工鏈路,同時提供一致的開發(fā)體驗。

通過定義查詢語句和數(shù)據(jù)新鮮度,引擎會自動推導出表結(jié)構并創(chuàng)建對應的數(shù)據(jù)加工鏈路,以保證查詢結(jié)果滿足所要求的數(shù)據(jù)新鮮度。用戶無需理解流處理和批處理之間的概念和差異,也不必直接維護 Flink 流處理或批作業(yè),所有操作都在物化表上完成,這可以顯著加快 ETL 數(shù)據(jù)加工鏈路的開發(fā)速度。

下面是創(chuàng)建一個具備自動刷新能力的物化表的示例,數(shù)據(jù)新鮮度為 3 分鐘。

-- 1. 創(chuàng)建物化表并定義新鮮度
CREATE MATERIALIZED TABLE dwd_orders
(PRIMARY KEY(ds, id) NOT ENFORCED
)
PARTITIONED BY (ds)
FRESHNESS = INTERVAL '3' MINUTE
AS SELECT o.dso.id,o.order_number,o.user_id,
...
FROM orders as oLEFT JOIN products FOR SYSTEM_TIME AS OF proctime() AS prodON o.product_id = prod.idLEFT JOIN order_pay AS payON o.id = pay.order_id and o.ds = pay.ds;-- 2. 暫停數(shù)據(jù)刷新
ALTER MATERIALIZED TABLE dwd_orders SUSPEND;-- 3. 恢復數(shù)據(jù)刷新
ALTER MATERIALIZED TABLE dwd_orders RESUME
-- Set table option via WITH clause
WITH('sink.parallesim' = '10'
);-- 手動刷寫歷史數(shù)據(jù)
ALTER MATERIALIZED TABLE dwd_orders REFRESH PARTITION(ds='20231023');

更多信息

  • 物化表文檔

  • FLIP-435: Introduce a New Materialized Table for Simplifying Data Pipelines

完善 Catalog 相關語法

隨著 Flink SQL 的廣泛采用,Flink Catalog 發(fā)揮著越來越重要的作用。Flink 內(nèi)置了 JDBCHive Catalog 實現(xiàn),而其他開源項目(如 Apache Paimon)也實現(xiàn)了自己的 Catalog

在 Flink 1.20 中,您可以使用 DQL 語法從現(xiàn)有 Catalog 中獲取詳細的元數(shù)據(jù)信息,并使用 DDL語法修改指定Catalog 的屬性或注釋等元數(shù)據(jù)。

Flink SQL> CREATE CATALOG `cat` WITH ('type'='generic_in_memory', 'default-database'='db');
[INFO] Execute statement succeeded.Flink SQL> SHOW CREATE CATALOG `cat`;
+---------------------------------------------------------------------------------------------+
|                                                                                      result |
+---------------------------------------------------------------------------------------------+
| CREATE CATALOG `cat` WITH ('default-database' = 'db','type' = 'generic_in_memory'
)
|
+---------------------------------------------------------------------------------------------+
1 row in setFlink SQL> DESCRIBE CATALOG `cat`;
+-----------+-------------------+
| info name |        info value |
+-----------+-------------------+
|      name |               cat |
|      type | generic_in_memory |
|   comment |                   |
+-----------+-------------------+
3 rows in setFlink SQL> ALTER CATALOG `cat` SET ('default-database'='new-db');
[INFO] Execute statement succeeded.Flink SQL> SHOW CREATE CATALOG `cat`;
+-------------------------------------------------------------------------------------------------+
|                                                                                          result |
+-------------------------------------------------------------------------------------------------+
| CREATE CATALOG `cat` WITH ('default-database' = 'new-db','type' = 'generic_in_memory'
)
|
+-------------------------------------------------------------------------------------------------+
1 row in set

更多信息

  • FLIP-436: Introduce Catalog-related Syntax

DDL 支持 DISTRIBUTED BY 語句

鑒于越來越多的 SQL 引擎對外暴露了 “分區(qū)”、“分桶”或“聚類”的概念,Flink 1.20 將“分桶”的概念引入了 Flink SQL。分桶操作通過將數(shù)據(jù)拆分為不相交的子集來實現(xiàn)數(shù)據(jù)在外部存儲系統(tǒng)中的負載均衡。雖然它在很大程度上取決于底層連接器的語義,但是用戶可以通過指定分桶數(shù)量、算法以及用于目標分桶計算的列(如果算法允許)來影響分桶的行為。所有分桶相關的關鍵字在 SQL 語法中都是可選的。

Apache Paimon 的分桶表和 Apache Kafka 的 topic 分區(qū)都將對接到該語法上,簡化用戶的建表操作,并讓 Flink SQL 感知了外部數(shù)據(jù)的物理分布,為未來支持 bucket join 等優(yōu)化打好了基礎。

以下面的 SQL 語句為例:

-- 指定桶的個數(shù)和數(shù)據(jù)分配邏輯(按照 uid 列的哈希值進行分配)
CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY HASH(uid) INTO 4 BUCKETS;-- 不顯示指定分桶算法,數(shù)據(jù)分配邏輯由 Connector 自己決定。
CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY (uid) INTO 4 BUCKETS;-- 不顯式指定桶的數(shù)量,桶數(shù)量和數(shù)據(jù)分配邏輯均由 Connector 自己決定。
CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY (uid);-- 僅指定桶的數(shù)量
CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED INTO 4 BUCKETS;

更多信息

  • FLIP-376: Add DISTRIBUTED BY clause

  • 文檔

狀態(tài) & 檢查點提升

統(tǒng)一的檢查點文件合并機制

Flink 1.20 引入了統(tǒng)一的檢查點文件合并機制,它將多個小的檢查點文件合并為數(shù)量較少的大文件,從而減少了文件創(chuàng)建和文件刪除操作的次數(shù),并減輕了檢查點期間文件系統(tǒng)元數(shù)據(jù)管理的壓力。

可以通過將 execution.checkpointing.file-merging.enabled 設置為 true來啟用該功能。有關更多高級選項以及此功能背后的原理,請參閱文檔。

更多信息

  • FLIP-306: Unified File Merging Mechanism for Checkpoints

  • 文檔

壓縮小的 SST 文件

在某些情況下,RocksDB 狀態(tài)后端生成的文件數(shù)量會無限制地增長。除了許多小文件造成的開銷之外,此行為還可能導致任務狀態(tài)信息超出 RPC 消息大小限制,從而導致檢查點失敗。從 1.20 版開始,Flink 可以使用 RocksDB API 在后臺合并此類文件。

更多信息

  • FLINK-2605

批處理能力提升

JobMaster 發(fā)生故障時更好的錯誤恢復機制

在 Flink 1.20 中,我們支持了一種新的批處理作業(yè)恢復機制,使批處理作業(yè)能夠在 JobMaster故障轉(zhuǎn)移后盡可能多地恢復進度,避免重新運行已經(jīng)完成的任務。

更多信息

  • FLIP-383: Support Job Recovery from JobMaster Failures for Batch Jobs

  • 文檔

HiveSource 支持動態(tài)并發(fā)推斷

在 Flink 1.20 中,我們?yōu)?Hive 數(shù)據(jù)源連接器增加了對動態(tài)并發(fā)推斷的支持,這允許它基于動態(tài)分區(qū)修剪(DPP)的結(jié)果動態(tài)決定并行度。

此外,我們引入了一個新的配置選項 table.exec.hive.infer-source-parallelism.mode,使用戶能夠在數(shù)據(jù)源并行度的靜態(tài)和動態(tài)推斷模式之間進行切換。需要注意的是,在 Flink 1.20 中,以前的配置選項 table.exec.hive.infer-source-parallelism已被標記為棄用。

更多信息

  • FLIP-445: Support dynamic parallelism inference for HiveSource

DataStream API 提升

DataSetAPI 已正式棄用,并將在 Flink 2.0 版本中被刪除。我們建議 Flink 用戶根據(jù)數(shù)據(jù)處理需求將作業(yè)從 DataSet API 逐步遷移到 DataStream API、TableAPI 和 SQL。

支持 DataStream API 上的全量分區(qū)數(shù)據(jù)處理

在 Flink 1.20 之前,DataStream API 不支持對非分區(qū)流上的數(shù)據(jù)做全量的數(shù)據(jù)聚合操作,這阻礙了用戶從 DataSetAPI 的遷移。作為一種替代方案,用戶可以將子任務的編號關聯(lián)到數(shù)據(jù)上,并以此為數(shù)據(jù)鍵來構建分區(qū)流,但這會產(chǎn)生很大的額外開銷。為此,Flink 1.20 引入了 FullPartitionWindow API,從而補齊了對全量分區(qū)數(shù)據(jù)處理的內(nèi)置支持。

假設我們想要計算每個分區(qū)中的總記錄數(shù)并輸出到下游,可以按如下方式完成:

inputStream.fullWindowPartition().mapPartition(new MapPartitionFunction<Record, Long>() {@Overridepublic void mapPartition(Iterable<Record> values, Collector<Long> out)throws Exception {long counter = 0;for (Record value : values) {counter++;}out.collect(counter));}})

更多信息

  • FLIP-380: Support Full Partition Processing On Non-keyed DataStream

重要配置項變更

隨著 Apache Flink 即將來到 2.0 版本,一大批配置項在 Flink 1.20 版本被更改或棄用,以提高易用性和可維護性。

更新配置項為合適的類型

  • 一系列與時間相關的配置項(例如 client.heartbeat.interval)的類型被更新為了 Duration。完整列表可在FLINK-35359 中找到。

  • 配置項 taskmanager.network.compression.codectable.optimizer.agg-phase-strategy的類型被更新為了Enum。

  • 配置項yarn.application-attempts的類型被更新為了 Int。

更多信息

  • FLINK-35359

棄用多個配置項

在 Flink 1.20 中社區(qū)決定正式棄用多個即將在 Flink 2.0 停用的配置項:

  • 由于我們正在逐步淘汰基于哈希的 Blocking Shuffle,以下配置項已被棄用并將在 Flink 2.0 中被刪除:

    • taskmanager.network.sort-shuffle.min-parallelism

    • taskmanager.network.blocking-shuffle.type

  • 由于我們正在逐步淘汰舊的Hybrid Shuffle 模式,以下配置項已被棄用并將在 Flink 2.0 中被刪除:

    • taskmanager.network.hybrid-shuffle.spill-index-region-group-size

    • taskmanager.network.hybrid-shuffle.num-retained-in-memory-regions-max

    • taskmanager.network.hybrid-shuffle.enable-new-mode

  • 為了簡化網(wǎng)絡緩沖區(qū)相關配置,以下配置選項已被棄用并將在 Flink 2.0 中被刪除:

    • taskmanager.network.memory.buffers-per-channel

    • taskmanager.network.memory.floating-buffers-per-gate

    • taskmanager.network.memory.max-buffers-per-channel

    • taskmanager.network.memory.max-overdraft-buffers-per-gate

    • taskmanager.network.memory.exclusive-buffers-request-timeout-ms (請使用 taskmanager.network.memory.buffers-request-timeout 代替)

  • 由于絕大多數(shù)批作業(yè)都會開啟壓縮,配置項 taskmanager.network.batch-shuffle.compression.enabled 已被棄用并將在 Flink 2.0 中被刪除。如確有需要,請將 taskmanager.network.compression.codec 設置為 NONE以禁用壓縮。

  • 以下與 Netty 相關的配置項過于底層,已在 Flink 1.20 被棄用,我們將在 Flink 2.0 中將其移除:

    • taskmanager.network.netty.num-arenas

    • taskmanager.network.netty.server.numThreads

    • taskmanager.network.netty.client.numThreads

    • taskmanager.network.netty.server.backlog

    • taskmanager.network.netty.sendReceiveBufferSize

    • taskmanager.network.netty.transport

  • 以下配置項是不必要的,已在 Flink 1.20 被棄用并且將在 Flink 2.0 中被刪除:

    • taskmanager.network.max-num-tcp-connections(將在 Flink 2.0 中被硬編碼為 1

    • fine-grained.shuffle-mode.all-blocking

  • 以下配置項用于微調(diào) TPC 測試但當前 Flink 已不再需要,已被棄用并且將在 Flink 2.0 中被刪除:

    • table.exec.range-sort.enabled

    • table.optimizer.rows-per-local-agg

    • table.optimizer.join.null-filter-threshold

    • table.optimizer.semi-anti-join.build-distinct.ndv-ratio

    • table.optimizer.shuffle-by-partial-key-enabled

    • table.optimizer.smj.remove-sort-enabled

    • table.optimizer.cnf-nodes-limit

  • 以下配置項是為現(xiàn)已過時的 FilterableTableSource 接口引入的,已被棄用并且將在 Flink 2.0 中被刪除:

    • table.optimizer.source.aggregate-pushdown-enabled

    • table.optimizer.source.predicate-pushdown-enabled

  • 配置選項sql-client.display.max-column-width已被棄用并且將在 Flink 2.0 中被刪除。請改用 table.display.max-column-width替代。

更多信息

  • Runtime 相關配置項變更

  • Table/SQL 相關配置項變更

配置項的其他變更

重新組織配置項

在 Flink 1.20 中,所有關于狀態(tài)和檢查點的配置項都被重新組織并按前綴分類:

  • execution.checkpointing.*:所有與檢查點和保存點相關的配置選項。

  • execution.state-recovery.*:所有與狀態(tài)恢復相關的配置選項。

  • state.*:所有與狀態(tài)訪問相關的配置選項。

  • state.backend.*: 各個狀態(tài)后端的配置選項,例如 RocksDB 狀態(tài)后端。

  • state.changelog.*:與狀態(tài)變更日志相關的配置選項。

  • state.latency-track.*:與狀態(tài)訪問的延遲追蹤相關的配置選項。

新的公開配置項
  • 以下與動態(tài)哈希聚合相關配置項已從 org.apache.flink.table.planner.codegen.agg.batch.HashAggCodeGenerator移動至 org.apache.flink.table.api.config 并提升為 @PublicEvolvingAPI:

  • table.exec.local-hash-agg.adaptive.enabled

  • table.exec.local-hash-agg.adaptive.sampling-threshold

  • table.exec.local-hash-agg.adaptive.distinct-value-rate-threshold

  • 以下與 LookupJoin 相關的配置項已從 org.apache.flink.table.planner.hint.LookupJoinHintOptions移動至 org.apache.flink.table.api.config.LookupJoinHintOptions并提升為 @PublicEvolvingAPI:

  • table

  • async

  • output-mode

  • capacity

  • timeout

  • retry-predicate

  • retry-strategy

  • fixed-delay

  • max-attempts

  • 以下與優(yōu)化器有關的配置項已從 org.apache.flink.table.planner.plan.optimize.RelNodeBlock移動至 org.apache.flink.table.api.config.OptimizerConfigOptions并升級為 @PublicEvolvingAPI:

  • table.optimizer.union-all-as-breakpoint-enabled

  • table.optimizer.reuse-optimize-block-with-digest-enabled

  • table.optimizer.incremental-agg-enabled 已從 org.apache.flink.table.planner.plan.rules.physical.stream.IncrementalAggregateRule移動至 org.apache.flink.table.api.config.OptimizerConfigOptions 并升級為 @PublicEvolvingAPI.

更多信息

  • Runtime 相關配置項變更

  • Table/SQL 相關配置項變更

  • Checkpointing Options

  • Recovery Options

  • State Backend Options

  • State Changelog Options

  • Latency-track Options

升級說明

Apache Flink 社區(qū)努力確保升級過程盡可能平穩(wěn), 但是升級到 1.20 版本可能需要用戶對現(xiàn)有應用程序做出一些調(diào)整。請參考Release Notes獲取更多的升級時需要的改動與可能的問題列表細節(jié)。

貢獻者列表

在 1.20 版本中,我們一如既往地看到了許多來自中國的開發(fā)者身影。他們積極參與并貢獻社區(qū),協(xié)助新版本的發(fā)布,四個版本發(fā)布管理者(Release Manager)中有兩位均來自國內(nèi),分別是來自阿里云智能的郭偉杰和來自 Shopee 的范瑞。中國開發(fā)者在 1.20 備受期待的新功能上也作出了巨大貢獻,例如來自阿里云的開發(fā)者們主導并貢獻了物化表、檢查點文件合并、JobMaster 發(fā)生故障時更好的錯誤恢復機制等特性。來自字節(jié)跳動,網(wǎng)易,小米等公司的開發(fā)者們也都為社區(qū)帶來了非常多的重要功能貢獻和 bug 修復。

Apache Flink 社區(qū)感謝對此版本做出貢獻的每一位貢獻者:

Ahmed Hamdy, Alan Sheinberg, Aleksandr Pilipenko, Alexander Fedulov, Andrey Gaskov, Antonio Vespoli, Anupam Aggarwal, Barak Ben-Nathan, Benchao Li, Brad, Cheng Pan, Chesnay Schepler, DamonXue, Danny Cranmer, David Christle, David Moravek, David Schlosnagle, Dawid Wysakowicz, Dian Fu, Dmitriy Linevich, Elphas Toringepi, Emre Kartoglu, Fang Yong, Feng Jin, Ferenc Csaky, Frank Yin, Gabor Somogyi, Gyula Fora, HCTommy, Hangxiang Yu, Hanyu Zheng, Hao Li, Hong Liang Teoh, Hong Teoh, HuangXingBo, Jacky Lau, James Hughes, Jane Chan, Jeyhun Karimov, Jiabao Sun, Jim Hughes, Jing Ge, Jinzhong Li, JunRuiLee, Juntao Hu, JustinLee, Kartikey Pant, Kumar Mallikarjuna, Leonard Xu, Lorenzo Affetti, Luke Chen, Martijn Visser, Mason Chen, Matthias Pohl, Mingliang Liu, Panagiotis Garefalakis, Peter Huang, Peter Vary, Piotr Nowojski, Puneet Duggal, Qinghui Xu, Qingsheng Ren, Ravi Dutt Singh, Robert Metzger, Robert Young, Roc Marshal, Roman, Roman Boyko, Roman Khachatryan, Ron, Rui Fan, Ryan Skraba, Samrat, Sergey Nuyanzin, Shilun Fan, Stefan Richter, SuDewei, Timo Walther, Ufuk Celebi, Vincent Woo, Wang FeiFan, Weijie Guo, Wencong Liu, Wouter Zorgdrager, Xiangyu Feng, Xintong Song, Xuyang, Yanfei Lei, Yangze Guo, Yu Chen, Yubin Li, Yuepeng Pan, Yun Tang, Yuxin Tan, Zakelly, Zhanghao Chen, Zhen Wang, Zhenqiu Huang, Zhu Zhu, Zmm, ammar-master, anupamaggarwal, bvarghese1, caicancai, caodizhou, chenzihao, drymatini, dsaisharath, eason.qin, elon-X, fengli, gongzhongqiang, hejufang, jectpro7, jiangxin, liming.1018, lincoln lee, liuyongvs, lxliyou001, oleksandr.nitavskyi, plugatarev, rmoff, slfan1989, spoon-lz, sunxia, sxnan, sychen, wforget, xiaogang, xingbo, yebukong, yunfengzhou-hub, yunhong, zhouyisha, 馬越

http://www.risenshineclean.com/news/58765.html

相關文章:

  • 新疆吐魯番建設網(wǎng)站搜索引擎優(yōu)化崗位
  • wordpress網(wǎng)站模板下載建筑設計網(wǎng)站
  • 涿州住房和城鄉(xiāng)建設局網(wǎng)站微信軟文范例100字
  • 網(wǎng)站建設需要會什么軟件seo優(yōu)化需要多少錢
  • asp做bs網(wǎng)站怎么寫網(wǎng)頁百度網(wǎng)站優(yōu)化
  • 建設一個返利網(wǎng)站芭蕉視頻app無限次數(shù)
  • 可以加外鏈的網(wǎng)站網(wǎng)站seo優(yōu)化免費
  • 設計師網(wǎng)站知乎最近七天的新聞大事
  • 徐州建設局網(wǎng)站51趣優(yōu)化網(wǎng)絡seo工程師教程
  • asp網(wǎng)站開發(fā)軟件seo標題生成器
  • node.js 網(wǎng)站開發(fā)cpc廣告接單平臺
  • 黃做網(wǎng)站發(fā)廣告平臺有哪些免費
  • 網(wǎng)站推廣有哪些公司可以做網(wǎng)絡運營是做什么的工作
  • 銷售型網(wǎng)站seo的范疇是什么
  • 玉林網(wǎng)站建設公司小說引流推廣
  • 江蘇常州青之峰做網(wǎng)站營銷頁面
  • 射洪哪里可以做網(wǎng)站優(yōu)化大師apk
  • 寧波營銷型網(wǎng)站建設可以發(fā)廣告的100個網(wǎng)站
  • 做二手車廣告推廣哪家網(wǎng)站好突發(fā)大事震驚全國
  • 歐陽網(wǎng)站建設平臺推廣文案
  • 網(wǎng)站建設 預算谷歌瀏覽器下載官方正版
  • 大網(wǎng)站服務器維護費用技能培訓班
  • 廣州網(wǎng)站建設優(yōu)化中國輿情觀察網(wǎng)
  • 外貿(mào)網(wǎng)站模板 外貿(mào)網(wǎng)站制作游戲掛機賺錢一小時20
  • 建個網(wǎng)站多少費用游戲代理推廣渠道
  • 網(wǎng)站的建設模式專業(yè)推廣引流團隊
  • 做網(wǎng)站好平臺化百度網(wǎng)頁版主頁
  • 網(wǎng)頁動畫制作軟件網(wǎng)站seo專員
  • 網(wǎng)站建設找金手指排名網(wǎng)站站點
  • 網(wǎng)頁設計與網(wǎng)站建設完全教程代做百度首頁排名價格