色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BFF層聚合查詢服務(wù)異步改造及治理實(shí)踐

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-08-20 15:24 ? 次閱讀

首先感謝王曉老師的[接口優(yōu)化的常見方案實(shí)戰(zhàn)總結(jié)]一文總結(jié),恰巧最近在對(duì)穩(wěn)健理財(cái)BFF層聚合查詢服務(wù)優(yōu)化治理,針對(duì)文章內(nèi)的串行改并行章節(jié)進(jìn)行展開,分享下實(shí)踐經(jīng)驗(yàn),主要涉及原同步改異步的過程、全異步化后衍生的問題以及治理方面的思考與改進(jìn)。 希望通過分享這些經(jīng)驗(yàn),能夠?qū)Υ蠹业墓ぷ饔兴鶈l(fā)和幫助。如果有任何問題或建議,請(qǐng)隨時(shí)提出。 感謝大家的關(guān)注和支持!

一、問題背景

將不同理財(cái)產(chǎn)品(如基金、券商、保險(xiǎn)、銀行理財(cái)?shù)龋┽槍?duì)不同投放渠道人群進(jìn)行個(gè)性化商品推薦,每個(gè)渠道或人群看到的商品或特性數(shù)據(jù)又各不相同,為方便渠道快速對(duì)接,由BFF層統(tǒng)一對(duì)所有數(shù)據(jù)進(jìn)行聚合下發(fā),因此BFF層聚集依賴了大量底層原子服務(wù),所以主要問題是在依賴大量上游接口的場(chǎng)景下保障TP99、以及可用率。

案例:

以其中比較典型的商品推薦接口為例,需要依賴本地商品池緩存、算法推薦服務(wù)、商品基礎(chǔ)信息服務(wù)、持倉查詢服務(wù)、人群標(biāo)簽服務(wù)、券配置服務(wù),可領(lǐng)用券服務(wù)、其他數(shù)據(jù)服務(wù)ServN……等等,其中大部分上游原子接口對(duì)單次批量查詢支持有限,所以極端情況,單個(gè)推品接口單次推薦1-n個(gè)推品,每個(gè)商品如果要綁定10個(gè)動(dòng)態(tài)屬性,至少需要發(fā)起(1~n)*10次io調(diào)用。

改造前的流程和問題:

流程:

wKgZombERICAGYHFAAKgzRNY5gg529.png

問題:

?一是邏輯流程強(qiáng)耦合,很多上下游服務(wù)強(qiáng)同步依賴;

?二是鏈路較長(zhǎng),其中某個(gè)上游服務(wù)不穩(wěn)定時(shí)很容易造成整體鏈路失敗。

改造后的流程和實(shí)現(xiàn)的目標(biāo):

流程:

wKgaombERIKAMZ1PAAYfE7O_Wg4591.png

目標(biāo):

?改造目標(biāo)也很明確,就是對(duì)現(xiàn)有邏輯改造,盡可能增加弱依賴比例,一是方便異步提前加載,二是弱依賴代表可摘除,為降級(jí)操作奠定基礎(chǔ),減少因某個(gè)鏈路抖動(dòng)影響整體鏈路失??;

初步改造后的新問題【【重點(diǎn)解決】】:

?邏輯上解耦比較簡(jiǎn)單,無非就是前置參數(shù)或冗余加載,本次不展開探討;

?技術(shù)上改造前期異步邏輯主要是采用@Async("tpXXX")標(biāo)注,這也是最快捷實(shí)現(xiàn)的方式,但也存在以下幾個(gè)問題,主要是涉及治理方面:

1. 隨著項(xiàng)目和人員不斷迭代,造成@Async注解滿天飛;

2. 不同人員在不熟悉其他模塊的情況下,無法界定不同線程池的是否可公用,大多都會(huì)采用聲明新的線程池,造成線程池資源泛濫;

3. 部分調(diào)用場(chǎng)景不合理造成@Async嵌套過多或注解失效問題;

4. 降級(jí)機(jī)制重復(fù)代碼太多,需要頻繁手動(dòng)聲明各種降級(jí)開關(guān);

5. 缺少統(tǒng)一的請(qǐng)求級(jí)別的緩存機(jī)制,雖然jsf已經(jīng)提供了一定程度的支持;

6. 線程池上下文傳遞問題;

7. 缺少線程池狀態(tài)的統(tǒng)一監(jiān)控報(bào)警,無法觀測(cè)實(shí)際運(yùn)行過程中的每個(gè)線程池狀態(tài),可能每次都是拍腦袋覺設(shè)置線程池參數(shù)。

二、整體改造路徑

切入點(diǎn):

鑒于大部分項(xiàng)目都會(huì)封裝單獨(dú)的io調(diào)用層,比如 com.xx.package.xxx.client,所以以此為切入點(diǎn)進(jìn)行重點(diǎn)改造治理。

最終目標(biāo):

實(shí)現(xiàn)、應(yīng)用簡(jiǎn)單,對(duì)老代碼改造友好,盡可能降低改造成本;

1. 抽象io調(diào)用模板,統(tǒng)一io調(diào)用層封裝規(guī)范,標(biāo)準(zhǔn)化io調(diào)用需要的增強(qiáng)屬性聲明并提供默認(rèn)配置,如所屬線程池分配、超時(shí)、緩存、熔斷、降級(jí)等;

2. 優(yōu)化@Async調(diào)用,所有io異步操作統(tǒng)一收縮至io調(diào)用層,在模板層實(shí)現(xiàn)回調(diào)機(jī)制,老代碼僅繼承模板即可實(shí)現(xiàn)異步回調(diào);

3. 請(qǐng)求級(jí)別的緩存實(shí)現(xiàn),默認(rèn)支持r2m;

4. 請(qǐng)求級(jí)別的熔斷降級(jí)支持,在上游故障時(shí)使服務(wù)實(shí)現(xiàn)一定程度的自治理;

5. 線程池集中管理,對(duì)上下文自動(dòng)傳遞MDC參數(shù)提供支持;

6. 線程池狀態(tài)自動(dòng)可視化監(jiān)控、報(bào)警實(shí)現(xiàn);

7. 支持配置中心動(dòng)態(tài)設(shè)置。

具體實(shí)現(xiàn):

1. io調(diào)用抽象模板

模板主要作用是進(jìn)行規(guī)范和增強(qiáng),目前提供兩種模板,默認(rèn)模板、緩存模板,核心思想就是對(duì)io操作涉及的大部分行為進(jìn)行聲明,比如當(dāng)前服務(wù)所屬線程池分組、請(qǐng)求分組等,由委托組件按照聲明的屬性進(jìn)行增強(qiáng)實(shí)現(xiàn),示例如下:

主要是提供代碼級(jí)別的默認(rèn)聲明,從日常實(shí)踐看大部分采用開發(fā)時(shí)的代碼級(jí)別的配置即可。

wKgZombERIOAacbiAAqVuPgi5l8702.png

?.

wKgaombERIWAccbsAAYpIbJ-Qeg025.png

2. 委托代理

此委托屬于整個(gè)執(zhí)行過程的橋接實(shí)現(xiàn),io封裝實(shí)現(xiàn)繼承抽象模板后,由模板創(chuàng)建委托代理實(shí)例,主要用于對(duì)io封裝進(jìn)行增強(qiáng)實(shí)現(xiàn),比如調(diào)用前、調(diào)用后、以及調(diào)用失敗自動(dòng)調(diào)用聲明的降級(jí)方法等處理。

可以理解為:模板專注請(qǐng)求行為,委托關(guān)注對(duì)象行為進(jìn)行組合增強(qiáng)。

wKgZombERIiARrcaAA_4etxMWiY133.png

3. 執(zhí)行器選型

基于前面的實(shí)現(xiàn)目標(biāo),減少自研成本,調(diào)研目前已有框架,如 hystrix、sentinel、resilience4j,由于主要目的是期望支持線程池級(jí)別的壁艙模式實(shí)現(xiàn),且hystrix集成度要優(yōu)于resilience4j,最終選型默認(rèn)集成hystrix,備選resilience4j, 以此實(shí)現(xiàn)線程池的動(dòng)態(tài)創(chuàng)建管理、熔斷降級(jí)、半連接重試等機(jī)制,HystrixCommander實(shí)現(xiàn)如下:

wKgaombERIqAcvqBAAg6e3cYyOk550.png

4. hystrix 適配 concrete 動(dòng)態(tài)配置

1、繼承concrete.PropertiesNotifier, 注冊(cè)HystrixPropertiesNotifier監(jiān)聽器,緩存配置中心所有以hystrix起始的key配置;

2、實(shí)現(xiàn)HystrixDynamicProperties,注冊(cè)ConcreteHystrixDynamicProperties替換默認(rèn)實(shí)現(xiàn),最終支持所有的hystrix配置項(xiàng),具體用法參考hystrix文檔。

wKgZombERIyAEZpSAAfmRxEwaJI080.png

5. hystrix 線程池上下文傳遞改造

hystrix已經(jīng)提供了改造點(diǎn),主要是對(duì)HystrixConcurrencyStrategy#wrapCallable方法重寫實(shí)現(xiàn)即可,在submit任務(wù)前暫存主線程上下文進(jìn)行傳遞。

wKgZombERI2ATqfuAAS61OwPqEE133.png

6. hystrix、jsf、spring注冊(cè)線程池狀態(tài)多維可視化監(jiān)控、報(bào)警

主要依賴以下三個(gè)自定義組件,注冊(cè)一個(gè)狀態(tài)監(jiān)控處理器,單獨(dú)啟動(dòng)一個(gè)線程,定期(每秒)收集所有實(shí)現(xiàn)數(shù)據(jù)上報(bào)模板的實(shí)例,通過指定的通道實(shí)現(xiàn)狀態(tài)數(shù)據(jù)推送,目前默認(rèn)使用PFinder上報(bào):

?ThreadPoolMonitorHandler 定義一個(gè)線程狀態(tài)監(jiān)控處理器,定期執(zhí)行上報(bào)過程;

?ThreadPoolEndpointMetrics 定義要上報(bào)的數(shù)據(jù)模板,包括應(yīng)用實(shí)例、線程類型(spring、jsf、hystrix……)、類型線程分組、以及線程池的幾個(gè)核心參數(shù);

?AbstractThreadPoolMetricsPublisher 定義監(jiān)控處理器執(zhí)行上報(bào)時(shí)依賴的通道(Micrometer、PFinder、UMP……)。

例如以下是hystrix的狀態(tài)收集實(shí)現(xiàn),最終可實(shí)現(xiàn)基于機(jī)房、分組、實(shí)例、線程池類型、名稱等不同維度的狀態(tài)監(jiān)控:

wKgaombERI-AX4EqAAeQ0F382gM876.png

wKgZombERJGAVLeJAAnxG305wPc922.png

wKgaombERJKAA43XAASI9f0_PQs347.png

PFinder實(shí)際效果:支持不同維度組合查看及報(bào)警

wKgZombERJSAL8h8AAObNtDM4nk932.png

wKgaombERJWAAUWeAAdapwpU7GI019.png

wKgZombERJiALAosAARqLtV9fao380.png

7. 提供統(tǒng)一await future工具類

由于大部分調(diào)用是基于列表形式的異步結(jié)果List>、Map>,并且hystrix目前暫不支持返回CompletableFuture,方便統(tǒng)一await,提供工具類:

wKgaombERJuAAy-vAAWwBwLbBgg133.png

8. 其他小功能

1、除了sgm traceId支持,同時(shí)內(nèi)置自定義的traceId實(shí)現(xiàn),主要是處理sgm在子線程內(nèi)打印traceId需要在控制臺(tái)手動(dòng)添加監(jiān)控方法的問題以及提供對(duì)部分無sgm環(huán)境的鏈路Id支持,方便日志跟蹤;

2、比如針對(duì)jsf調(diào)用,基于jsf過濾器實(shí)現(xiàn)跨應(yīng)用級(jí)別的前后請(qǐng)求id傳遞支持;

3、默認(rèn)增加jsf過濾器實(shí)現(xiàn)日志打印,同時(shí)支持provider、consume的動(dòng)態(tài)日志打印開關(guān),方便線上隨時(shí)開關(guān)jsf日志,不再需要在client層重復(fù)logger.isDebugerEnabled();

4、代理層自動(dòng)上報(bào)io調(diào)用方法、fallback等信息至ump,方便監(jiān)控報(bào)警。

日常使用示例:

1. 一個(gè)最簡(jiǎn)單的io調(diào)用封裝

僅增加繼承即可支持異步回調(diào),不重寫線程池分組時(shí)使用默認(rèn)分組。

wKgZombERJyALnyBAAN4-9CU0mI221.png

2. 一個(gè)支持請(qǐng)求級(jí)別熔斷的io調(diào)用封裝

默認(rèn)支持的熔斷級(jí)別是服務(wù)級(jí)別,老服務(wù)僅需要繼承原請(qǐng)求參數(shù),實(shí)現(xiàn)FallbackRequest接口即可,可防止因?yàn)槟骋粋€(gè)特殊參數(shù)引起的整體接口熔斷。

wKgaombERJ2ARx5zAAD8FecVDlg436.png

wKgaombERJ6ACyprAAdYJk735BI124.png

3. 一個(gè)支持請(qǐng)求級(jí)別緩存、接口級(jí)別熔斷降級(jí)、獨(dú)立線程池的io調(diào)用封裝

wKgZombERKCAK_YGAAbvbXhODSc001.png

4. 上層調(diào)用,實(shí)際效果

1、直接將一個(gè)商品列表轉(zhuǎn)換成一個(gè)異步屬性綁定任務(wù);

2、利用工具類await List>;

3、在上層無感知的狀態(tài)下,實(shí)現(xiàn)線程池的管理、熔斷、降級(jí)、或緩存邏輯的增強(qiáng),且可根據(jù)pfinder監(jiān)控的可視化線程池狀態(tài),通過concrete實(shí)時(shí)調(diào)整線程池及超時(shí)或熔斷參數(shù);

4、舉例:比如某接口頻繁500ms超時(shí),可通過配置直接打開短路返回降級(jí)結(jié)果,或者調(diào)低超時(shí)為100ms,快速觸發(fā)熔斷,默認(rèn)10s內(nèi)請(qǐng)求總數(shù)達(dá)到20個(gè),50%失敗時(shí)打開斷路器,每隔5s半鏈接重試。

wKgaombERKGAcAJPAALybjYxvCU379.png

wKgZombERKSAbfLzAAp8h25IU3k166.png

三、最后

本篇主要是思考如何依賴現(xiàn)有框架、環(huán)境的能力,從代碼層面系統(tǒng)化的實(shí)現(xiàn)相關(guān)治理規(guī)范。

最后仍引用王曉老師文章結(jié)尾來結(jié)束

接口性能問題形成的原因思考我相信很多接口的效率問題不是一朝一夕形成的,在需求迭代的過程中,為了需求快速上線,采取直接累加代碼的方式去實(shí)現(xiàn)功能,這樣會(huì)造成以上這些接口性能問題。 變換思路,更高一級(jí)思考問題,站在接口設(shè)計(jì)者的角度去開發(fā)需求,會(huì)避免很多這樣的問題,也是降本增效的一種行之有效的方式。 以上,共勉!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8625

    瀏覽量

    151351
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4798

    瀏覽量

    68714
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    晶科能源入選2024年度Wind中國(guó)上市公司ESG最佳實(shí)踐100強(qiáng)榜單

    日前,知名金融信息服務(wù)商萬得(Wind)發(fā)布“2024年度Wind中國(guó)上市公司ESG最佳實(shí)踐100強(qiáng)”榜單。憑借在環(huán)境、社會(huì)和治理方面的卓越表現(xiàn),晶科能源以信息技術(shù)行業(yè)最優(yōu)的AA評(píng)級(jí)強(qiáng)勢(shì)入選,凸顯公司在ESG
    的頭像 發(fā)表于 11-05 14:02 ?271次閱讀

    架構(gòu)與設(shè)計(jì) 常見微服務(wù)分層架構(gòu)的區(qū)別和落地實(shí)踐

    的架構(gòu)風(fēng)格越傾向于清晰的職責(zé)定位,且讓領(lǐng)域模型成為架構(gòu)的核心。 基于這些架構(gòu)風(fēng)格,在軟件架構(gòu)設(shè)計(jì)過程中又有非常多的架構(gòu)分層模型。 傳統(tǒng)三架構(gòu) 傳統(tǒng)服務(wù)通常使用三架構(gòu): ? 門面層: 作為
    的頭像 發(fā)表于 10-22 15:34 ?263次閱讀
    架構(gòu)與設(shè)計(jì) 常見微<b class='flag-5'>服務(wù)</b>分層架構(gòu)的區(qū)別和落地<b class='flag-5'>實(shí)踐</b>

    常見的IP地址查詢技術(shù)

    1. 在線IP地址查詢工具 ? 在線IP地址查詢服務(wù)是獲取IP地址信息的最用戶友好方法。像IP數(shù)據(jù)云IP地址查詢這樣的網(wǎng)頁提供直觀的界面,用戶只需輸入IP地址即可獲得詳細(xì)信息。這些工具
    的頭像 發(fā)表于 09-26 10:21 ?363次閱讀
    常見的IP地址<b class='flag-5'>查詢</b>技術(shù)

    服務(wù)網(wǎng)格DPU卸載解決方案

    服務(wù)網(wǎng)格(Service Mesh)是微服務(wù)架構(gòu)中的一種重要技術(shù),它主要處理服務(wù)之間的通信,為服務(wù)間的信息交換提供更安全、更快速且更可靠的基礎(chǔ)設(shè)施
    的頭像 發(fā)表于 09-20 16:25 ?326次閱讀
    <b class='flag-5'>服務(wù)</b>網(wǎng)格DPU卸載解決方案

    如何利用python和API查詢IP地址?

    在Python中,直接查詢IP地址的地理位置或詳細(xì)信息(如所屬國(guó)家、城市等)通常需要依賴外部API服務(wù),因?yàn)镻ython標(biāo)準(zhǔn)庫本身不提供直接查詢IP地址地理位置的功能。以下是一個(gè)使用requests
    發(fā)表于 08-28 11:55

    中國(guó)高速服務(wù)區(qū)加油站應(yīng)用觸摸屏查詢一體機(jī)智慧便民

    隨著數(shù)字化科技的飛速發(fā)展,OBOO鷗柏觸摸屏查詢一體機(jī)在高速公路服務(wù)區(qū)、加油站等交通領(lǐng)域發(fā)揮著越來越重要的作用。服務(wù)區(qū)展廳展館應(yīng)用可以提供包括自駕車導(dǎo)航、餐飲連鎖、旅游景區(qū)、娛樂、商務(wù)、教育、信息
    的頭像 發(fā)表于 07-29 11:15 ?300次閱讀
    中國(guó)高速<b class='flag-5'>服務(wù)</b>區(qū)加油站應(yīng)用觸摸屏<b class='flag-5'>查詢</b>一體機(jī)智慧便民

    淺談流域治理工程的智慧水務(wù)智能配電能效平臺(tái)設(shè)計(jì)與實(shí)踐

    程瑜 江蘇安科瑞微電網(wǎng)研究院有限公司 江蘇江陰 214432 摘要 :近幾年,我國(guó)城市化的發(fā)展、河道水體水質(zhì)、水景觀治理之間的不協(xié)調(diào)成為城市發(fā)展要著重解決的一項(xiàng)問題,主要是因?yàn)楹恿饔蛩w受污染,不僅
    的頭像 發(fā)表于 07-10 10:54 ?224次閱讀
    淺談流域<b class='flag-5'>治理</b>工程的智慧水務(wù)智能配電能效平臺(tái)設(shè)計(jì)與<b class='flag-5'>實(shí)踐</b>

    AT+CIPSERVERMAXCONN查詢/設(shè)置服務(wù)器允許建立的最大連接數(shù)是幾個(gè)呢?

    AT+CIPSERVERMAXCONN查詢/設(shè)置服務(wù)器允許建立的最大連接數(shù)是幾個(gè)呢?
    發(fā)表于 06-27 08:07

    分庫分表后復(fù)雜查詢的應(yīng)對(duì)之道:基于DTS實(shí)時(shí)性ES寬表構(gòu)建技術(shù)實(shí)踐

    1 問題域 業(yè)務(wù)發(fā)展的初期,我們的數(shù)據(jù)庫架構(gòu)往往是單庫單表,外加讀寫分離來快速的支撐業(yè)務(wù),隨著用戶量和訂單量的增加,數(shù)據(jù)庫的計(jì)算和存儲(chǔ)往往會(huì)成為我們系統(tǒng)的瓶頸,業(yè)界的實(shí)踐多數(shù)采用分而治之的思想:分庫
    的頭像 發(fā)表于 06-25 18:30 ?878次閱讀
    分庫分表后復(fù)雜<b class='flag-5'>查詢</b>的應(yīng)對(duì)之道:基于DTS實(shí)時(shí)性ES寬表構(gòu)建技術(shù)<b class='flag-5'>實(shí)踐</b>

    聚合物鋰電池型號(hào)表及容量查詢

    聚合物鋰電池型號(hào)表及容量查詢
    發(fā)表于 06-22 10:55 ?0次下載

    ClickHouse內(nèi)幕(3)基于索引的查詢優(yōu)化

    ClickHouse基于索引的查詢算子優(yōu)化方式。 在整個(gè)查詢計(jì)劃中Sort、Distinct、聚合這3個(gè)算子相比其他算子比如:過濾、projection等有如下幾個(gè)特點(diǎn):1.算子需要再內(nèi)存中保存狀態(tài)
    的頭像 發(fā)表于 06-11 10:46 ?1041次閱讀
    ClickHouse內(nèi)幕(3)基于索引的<b class='flag-5'>查詢</b>優(yōu)化

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-設(shè)備管理USB服務(wù)開發(fā)概覽

    USB API、USB Service、USB HAL。 **圖1 **USB服務(wù)運(yùn)作機(jī)制 USB API:提供USB的基礎(chǔ)API,主要包含查詢USB設(shè)備列表、批量數(shù)據(jù)傳輸、控制命令傳輸、權(quán)限控制等
    發(fā)表于 06-11 10:26

    淺析流域治理工程的智慧水務(wù)智能配電能效平臺(tái)設(shè)計(jì)與實(shí)踐

    程瑜 江蘇安科瑞微電網(wǎng)研究院有限公司 江蘇江陰 214432 摘要 :近幾年,我國(guó)城市化的發(fā)展、河道水體水質(zhì)、水景觀治理之間的不協(xié)調(diào)成為城市發(fā)展要著重解決的一項(xiàng)問題,主要是因?yàn)楹恿饔蛩w受污染,不僅
    的頭像 發(fā)表于 06-06 16:14 ?358次閱讀
    淺析流域<b class='flag-5'>治理</b>工程的智慧水務(wù)智能配電能效平臺(tái)設(shè)計(jì)與<b class='flag-5'>實(shí)踐</b>

    智慧園區(qū)建設(shè)實(shí)踐方案

    工業(yè)互聯(lián)網(wǎng)是實(shí)現(xiàn)第4 次工業(yè)革命的有效架構(gòu)體系,主要包括邊緣計(jì)算、IaaS 基礎(chǔ)設(shè)施服務(wù)、PaaS 平臺(tái)服務(wù)、SaaS 應(yīng)用
    的頭像 發(fā)表于 01-29 10:43 ?619次閱讀
    智慧園區(qū)建設(shè)<b class='flag-5'>實(shí)踐</b>方案

    云天勵(lì)飛智管服務(wù)平臺(tái)實(shí)現(xiàn)城市治理的智能化

    為更好推動(dòng)我國(guó)數(shù)據(jù)行業(yè)應(yīng)用及產(chǎn)業(yè)發(fā)展,甄選具有高價(jià)值、標(biāo)桿性、真落地的典型應(yīng)用實(shí)踐,中國(guó)信息通信研究院(以下簡(jiǎn)稱“中國(guó)信通院”)啟動(dòng)2023年“數(shù)據(jù)+”行業(yè)應(yīng)用實(shí)踐征集活動(dòng)。日前,遴選結(jié)果公布,云天勵(lì)飛為成都新津打造的城市智管服務(wù)
    的頭像 發(fā)表于 01-10 10:41 ?813次閱讀
    主站蜘蛛池模板: 久久精品视在线-2| 美女18毛片免费视频| 纯肉高H啪短文合集| 成年黄网站免费大全毛片| 成人做视频免费| 动漫H片在线播放免费高清| 国产成人精品一区二区三区视频| 国产成人综合在线视频| 国产在线精品视频免费观看| 久久99国产精品二区不卡| 久久亚洲AV成人无码国产漫画| 蜜桃人妻无码AV天堂三区| 日本黄色官网| 小妇人电影免费完整观看2021| 亚洲精品另类有吗中文字幕| 在线播放日韩欧美亚洲日本| brazzers欧美最新版视频| 国产GV天堂亚洲国产GV刚刚碰| 国产婷婷色综合AV蜜臀AV| 久久国产乱子伦精品免费M| 欧美大jiji| 香蕉久久一区二区三区啪啪| 伊人影院久久| 俺来也俺去也视频久久| 国产偷啪自怕网| 麻豆免费版| 色综合五月激情综合色一区| 亚洲影院在线播放| jizz老太婆| 国产手机精品一区二区| 久久综合视频网站| 色婷婷亚洲精品天天综合影院| 亚洲精品久久无码AV片银杏| 99re6久久热在线播放| 国产精品成人不卡在线观看| 久久精品中文騷妇女内射| 日本xxxxxxx| 一攻多受高h大总攻| 超碰免费视频caoporn| 精品亚洲大全| 色播播电影|