chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

EXCEL導(dǎo)入—設(shè)計(jì)與思考

京東云 ? 來(lái)源:jf_75140285 ? 作者:jf_75140285 ? 2025-08-20 16:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

EXCEL導(dǎo)入—設(shè)計(jì)與思考

一、案例信息與設(shè)計(jì)

1.1、案例需求與背景

B2BTC同城二期有一個(gè)Excel導(dǎo)入的功能,單次數(shù)據(jù)量小于一千,使用頻次不高。但涉及到多個(gè)字段組成唯一約束,即每條數(shù)據(jù)操作時(shí)要根據(jù)唯一性組合字段來(lái)操作,要確保數(shù)據(jù)表中的數(shù)據(jù)不違反唯一性。

每條數(shù)據(jù)涉及到多次查詢其他業(yè)務(wù)RPC來(lái)校驗(yàn)、補(bǔ)充信息的訴求,即使有緩存,但也可能涉及到緩存不命中問題,即單條數(shù)據(jù)的校驗(yàn)和導(dǎo)入的時(shí)效性保障不了。

?

1.2、整體解決方案

以下四個(gè)方案為開發(fā)過(guò)程中依次思考的四個(gè)方案,沒有絕對(duì)利弊。

1.2.1、初始構(gòu)思開發(fā)方案(同步導(dǎo)入)

首先想到的方案為常用的同步導(dǎo)入,即在一臺(tái)容器的一個(gè)線程中完成Excel中數(shù)據(jù)的解析、校驗(yàn)、導(dǎo)入、發(fā)送通知消息三部分流程。

問題:

1.當(dāng)數(shù)據(jù)量過(guò)大時(shí),在單臺(tái)服務(wù)器上操作時(shí)對(duì)服務(wù)器造成比較大的內(nèi)存壓力。

2.流程比較長(zhǎng),每條數(shù)據(jù)涉及多次RPC查詢,總體時(shí)間很長(zhǎng)。接口TP99會(huì)比較高 + 用戶體驗(yàn)很差。

優(yōu)點(diǎn):

1.可以讓前端同步獲取導(dǎo)入結(jié)果。

?

wKgZO2iljcSADVFTAADJIwuc8jo791.jpg

??

1.2.2、方案二(改進(jìn)版)

由于方案一時(shí)效不可控制,在參考了另外一個(gè)Excel導(dǎo)入場(chǎng)景后設(shè)計(jì)了以下方案:

基于原有的方案,該方案使用了線程池來(lái)校驗(yàn)數(shù)據(jù)并通過(guò)MQ來(lái)異步地處理每條數(shù)據(jù),這樣基于原有的方案有一定的效率提升。

但由于當(dāng)時(shí)思考不充分,開發(fā)完成之后發(fā)現(xiàn)和實(shí)際場(chǎng)景不適配,并可能有TP99超時(shí)風(fēng)險(xiǎn),只作為記錄。

?

問題:

1.業(yè)務(wù)可以結(jié)束完全的異步,所有的導(dǎo)入結(jié)果都通過(guò)。

優(yōu)點(diǎn):

1.可以讓前端同步獲取校驗(yàn)結(jié)果。

2.線程池和異步處理一定程度上提升了數(shù)據(jù)處理效率。

適用場(chǎng)景:

本方案適用于前端需要同步獲取導(dǎo)入的結(jié)果,后端不涉及唯一性校驗(yàn)(有單號(hào)等唯一主鍵信息)的場(chǎng)景,可以校驗(yàn)數(shù)據(jù)之后進(jìn)行批量插入(不用MQ來(lái)發(fā)消息異步處理數(shù)據(jù))。

?

方案本身沒有什么問題,問題在于方案和引用場(chǎng)景不是最佳適配:本次導(dǎo)入不要求前端能即時(shí)獲取到導(dǎo)入的結(jié)果,因此無(wú)需在這里同步獲取到結(jié)果之后再異步處理數(shù)據(jù),可以將 excel解析 + 數(shù)據(jù)校驗(yàn) + 處理消息統(tǒng)一均異步處理。

wKgZPGiljcSAZWohAAK6A6lTxEE472.jpg

??

?

1.2.3、方案三(最終版)

由于業(yè)務(wù)方?jīng)]有同步獲取導(dǎo)入結(jié)果或者校驗(yàn)結(jié)果的任何訴求,因此這里將 excel解析 + 數(shù)據(jù)校驗(yàn) + 處理消息統(tǒng)一均異步處理(JMQ發(fā)消息給消費(fèi)者來(lái)處理這些流程),只對(duì)必要的參數(shù)進(jìn)行校驗(yàn)。

對(duì)于數(shù)據(jù)處理,將Excel數(shù)據(jù)拆分為每條的粒度,用 線程池來(lái)進(jìn)行 數(shù)據(jù)校驗(yàn)并處理,最終由主線程統(tǒng)計(jì)結(jié)果。

此外,在進(jìn)行數(shù)據(jù) 查詢唯一性數(shù)據(jù) + 操作數(shù)據(jù)(增加刪除修改) 的最小并發(fā)影響粒度加上Redis鎖來(lái)保障數(shù)據(jù)表的唯一性不會(huì)被破壞。

?

問題:

1.所有的 excel解析 + 數(shù)據(jù)校驗(yàn) + 處理消息 均在一臺(tái)服務(wù)器上執(zhí)行,對(duì)服務(wù)器的壓力會(huì)比較大。

優(yōu)點(diǎn):

1.用線程池處理消息,大大縮短了消息處理的時(shí)間,減少了單個(gè)服務(wù)器壓力。

2.有兜底策略,可確保數(shù)據(jù)不丟失,導(dǎo)入流程可以正常且按時(shí)結(jié)束,不會(huì)無(wú)上限等待。

3.除必要校驗(yàn)的所有流程均異步處理,接口的TP99可靠且較快。

適用場(chǎng)景:

1.對(duì)數(shù)據(jù)完整性要求比較的業(yè)務(wù)。

2.數(shù)據(jù)量不會(huì)太大的業(yè)務(wù)。(避免對(duì)單個(gè)容器造成較大壓力)

wKgZO2iljcWAZtL7AAISNa1Nvzc472.jpg

??

?

1.2.4、方案四(理想版)

對(duì)于方案三,將所有的數(shù)據(jù)校驗(yàn) + 處理的流程都給一臺(tái)服務(wù)器執(zhí)行,造成單臺(tái)服務(wù)器壓力比較大,且并發(fā)度不夠高,總體流程時(shí)效性可能得不到保障。因此設(shè)想了一個(gè)較為理想的方案四場(chǎng)景,適用于數(shù)據(jù)量大、對(duì)數(shù)據(jù)可靠性要求不高、時(shí)效性要求高的場(chǎng)景。

相比方案三,方案四減少了對(duì)應(yīng)的對(duì)賬、兜底機(jī)制,整體的流程還是異步進(jìn)行。相比于線程池,用 JMQ 發(fā)送消息給 數(shù)據(jù)校驗(yàn)并處理的consumer來(lái)處理消息并記錄結(jié)果到Redis來(lái)跟蹤導(dǎo)入進(jìn)度。此外,在進(jìn)行數(shù)據(jù) 查詢唯一性數(shù)據(jù) + 操作數(shù)據(jù)(增加刪除修改)+ 更新Redis中最終結(jié)果 的最小并發(fā)影響粒度加上Redis鎖來(lái)保障數(shù)據(jù)表的唯一性不會(huì)被破壞。

?

問題:

1.沒有兜底策略,數(shù)據(jù)校驗(yàn)處理的流程中可能出現(xiàn)有一條消息阻塞丟失意外結(jié)束,導(dǎo)致最終沒有線程統(tǒng)計(jì)結(jié)果并發(fā)送咚咚消息。

優(yōu)點(diǎn):

1.除必要校驗(yàn)的所有流程均異步處理,接口的TP99可靠且較快。

2.利用拆分導(dǎo)入數(shù)據(jù) + 多個(gè)Consumer處理消息,大大縮短了消息處理的時(shí)間。

3.拆分?jǐn)?shù)據(jù)為消息異步處理,用了JMQ的重試機(jī)制來(lái)提升了數(shù)據(jù)處理的可靠性。

適用場(chǎng)景:

1.本方案適用于前端無(wú)需同步獲取導(dǎo)入的結(jié)果,后端可以完全異步處理數(shù)據(jù)的場(chǎng)景。

2.對(duì)數(shù)據(jù)可靠性要求不是極高的業(yè)務(wù),可接受小概率容錯(cuò)。

3.對(duì)導(dǎo)入結(jié)果失效有一定訴求的業(yè)務(wù)。

4.數(shù)據(jù)量比較大或操作比較頻繁的業(yè)務(wù)。

?

wKgZPGiljcaAEBkuAAKCB17DGjQ355.jpg

??

?

二、持續(xù)思考

2.1 中間件的合理使用

合理利用JMQ來(lái)解耦、拆分業(yè)務(wù)邏輯可以 減少單臺(tái)服務(wù)器實(shí)例內(nèi)存或CPU的壓力、提高數(shù)據(jù)處理并發(fā)量,同時(shí)可以利用MQ的重試機(jī)制來(lái)盡可能保障對(duì)應(yīng)業(yè)務(wù)的可用性

同時(shí),異步處理可能存在結(jié)果丟失的情況,在數(shù)據(jù)可靠性要求不高的場(chǎng)景可以合理舍棄這種小概率場(chǎng)景發(fā)生的問題(因?yàn)橛兄卦囘€一直失?。?strong>但在數(shù)據(jù)可靠性要求比較高的場(chǎng)景,需要有對(duì)應(yīng)的對(duì)賬機(jī)制 + 兜底機(jī)制來(lái)統(tǒng)計(jì)數(shù)據(jù)的處理情況。(如Excel導(dǎo)入,可以將解析完成的數(shù)據(jù) 和 最終導(dǎo)入的數(shù)據(jù)進(jìn)行一個(gè)數(shù)據(jù)對(duì)賬,如果有數(shù)據(jù)丟失或者無(wú)響應(yīng),發(fā)出告警,讓定時(shí)任務(wù) 或 人工進(jìn)行二次核驗(yàn)來(lái)確保數(shù)據(jù)可靠不丟失)

但中間件的過(guò)度使用使得服務(wù)過(guò)度依賴中間件的可靠性,問題追蹤定位難度會(huì)進(jìn)一步加大,需要結(jié)合實(shí)際業(yè)務(wù)場(chǎng)景綜合權(quán)衡。

2.2 業(yè)務(wù)充分適配場(chǎng)景

在進(jìn)行方案的技術(shù)設(shè)計(jì)時(shí),不要只是照葫蘆畫瓢,要結(jié)合自己的業(yè)務(wù)場(chǎng)景、業(yè)務(wù)數(shù)據(jù)量、可靠性要求等場(chǎng)景充分考慮,借鑒其他方案的可用之處。

如本文檔中方案二借鑒了之前的方案設(shè)計(jì),但沒有考慮自己的業(yè)務(wù)場(chǎng)景是不是與其適配,沒有充分適配自己的實(shí)際業(yè)務(wù),還可能引入新的問題。

沒有最好的技術(shù)方案,只有適配于當(dāng)前業(yè)務(wù)場(chǎng)景的最佳方案。

審核編輯 黃宇

聲明:本文內(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)投訴
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    12105
  • Excel
    +關(guān)注

    關(guān)注

    4

    文章

    230

    瀏覽量

    57339
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    KiCad 已支持導(dǎo)入 Altium 工程(Project)

    “ ?9.0.3 的小版本更新中增加一個(gè)非常實(shí)用的功能:直接導(dǎo)入 Altium 的工程,省去了分別導(dǎo)入原理圖和 PCB 的麻煩。? ” ? Altium 導(dǎo)入器 從 ?8.0 開始,KiCad
    的頭像 發(fā)表于 07-21 11:15 ?2154次閱讀
    KiCad 已支持<b class='flag-5'>導(dǎo)入</b> Altium 工程(Project)

    樹莓派用戶必備的五大微軟Excel替代軟件!

    微軟Excel通常是處理XLS、XLSX或CSV等電子表格時(shí)首先考慮的工具。然而,由于它對(duì)ARM處理器和Linux操作系統(tǒng)缺乏原生支持,在樹莓派上使用微軟Excel頗具挑戰(zhàn)性。但這并不意味著沒有好
    的頭像 發(fā)表于 07-17 17:17 ?498次閱讀
    樹莓派用戶必備的五大微軟<b class='flag-5'>Excel</b>替代軟件!

    使用Word/Excel管理需求的10個(gè)痛點(diǎn)及解決方案Perforce ALM

    還在用Word/Excel做需求管理?10個(gè)“翻車信號(hào)”,都是小伙伴們踩過(guò)的坑~來(lái)看看你踩過(guò)哪些?是不是也該升級(jí)到更專業(yè)的ALM工具了~
    的頭像 發(fā)表于 07-10 15:59 ?397次閱讀
    使用Word/<b class='flag-5'>Excel</b>管理需求的10個(gè)痛點(diǎn)及解決方案Perforce ALM

    Allegro Skill字符功能之導(dǎo)入LOGO

    在完成PCB設(shè)計(jì)之后,常常會(huì)遇到需要在PCB板上展示公司標(biāo)志或者導(dǎo)入設(shè)計(jì)中需要的logo圖片的情況。為了滿足這一需求,F(xiàn)anySkill特別提供了“導(dǎo)入LOGO”這一便捷功能。通過(guò)這個(gè)功能,用戶可以輕松地將logo圖片放置到PCB設(shè)計(jì)中,從而快速實(shí)現(xiàn)將公司標(biāo)識(shí)或其他設(shè)計(jì)元
    的頭像 發(fā)表于 07-07 17:05 ?1434次閱讀
    Allegro Skill字符功能之<b class='flag-5'>導(dǎo)入</b>LOGO

    如何導(dǎo)出Excel文件 -- excel_hm介紹 ##三方SDK##

    導(dǎo)出的三方庫(kù)吧 首先要思考一下原理:excel并不像html網(wǎng)頁(yè)或者txt文件一樣,可以通過(guò)直接編輯內(nèi)容指定一個(gè)文件格式來(lái)生成文件,如果我們對(duì)一個(gè)excel文件右鍵通過(guò)記事本打開的話,你會(huì)發(fā)現(xiàn)一堆亂碼
    發(fā)表于 06-30 17:57

    Simcenter FLOEFD EDA Bridge模塊:使用導(dǎo)入的詳細(xì)PCB設(shè)計(jì)和IC熱特性來(lái)簡(jiǎn)化熱分析

    優(yōu)勢(shì)使用導(dǎo)入的詳細(xì)PCB設(shè)計(jì)和集成電路熱特性進(jìn)行分析,省時(shí)省力將詳細(xì)的PCB數(shù)據(jù)快速導(dǎo)入SimcenterFLOEFD通過(guò)更詳細(xì)的電子設(shè)備熱建模提高分析精度摘要SimcenterFLOEFD軟件
    的頭像 發(fā)表于 06-10 17:36 ?1079次閱讀
    Simcenter FLOEFD EDA Bridge模塊:使用<b class='flag-5'>導(dǎo)入</b>的詳細(xì)PCB設(shè)計(jì)和IC熱特性來(lái)簡(jiǎn)化熱分析

    Spire.Cloud.Excel云端Excel文檔處理SDK

    Spire.Cloud.Excel 是一款專業(yè)的云端 Excel 文檔處理 SDK,開發(fā)人員可調(diào)用 SDK 在云端創(chuàng)建、讀取、編輯、轉(zhuǎn)換、及保存 Excel 文檔。作為一款完全獨(dú)立的 Office
    的頭像 發(fā)表于 02-13 11:03 ?668次閱讀
    Spire.Cloud.<b class='flag-5'>Excel</b>云端<b class='flag-5'>Excel</b>文檔處理SDK

    如何將python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過(guò)使用myCobot機(jī)械臂進(jìn)行QR碼視覺追蹤的實(shí)踐案例分析,介紹如何將 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?1053次閱讀
    如何將python文件<b class='flag-5'>導(dǎo)入</b>到ROS系統(tǒng)中

    使用插件將Excel連接到MySQL/MariaDB

    使用插件將 Excel 連接到 MySQL/MariaDB 適用于 MySQL 的 Devart Excel 插件允許您將 Microsoft Excel 連接到 MySQL 或 MariaDB
    的頭像 發(fā)表于 01-20 12:38 ?1005次閱讀
    使用插件將<b class='flag-5'>Excel</b>連接到MySQL/MariaDB

    適用于Oracle的Devart Excel插件:輕松管理數(shù)據(jù)

    使用加載項(xiàng)將 Excel 連接到 Oracle Microsoft Excel 插件可以連接到 Oracle,能夠快速地將數(shù)據(jù)從 Oracle 加載到 Excel,且立即從數(shù)據(jù)庫(kù)刷新 Exce
    的頭像 發(fā)表于 01-14 11:11 ?782次閱讀
    適用于Oracle的Devart <b class='flag-5'>Excel</b>插件:輕松管理數(shù)據(jù)

    Devart Excel的附加組件

    Excel 的全部功能用于超過(guò) 25 種云應(yīng)用程序和數(shù)據(jù)庫(kù)。 - 將 Microsoft Excel 連接到任何所需數(shù)據(jù)源 - 同時(shí)處理多個(gè)數(shù)據(jù)源 - 使用 SQL 或集成的可視化查詢生成器檢索
    的頭像 發(fā)表于 01-07 11:40 ?681次閱讀

    臺(tái)灣COMCHIP高端MOS:車用客戶導(dǎo)入案例型號(hào)推薦 下

    深圳鴻合智遠(yuǎn)|臺(tái)灣COMCHIP高端MOS:車用客戶導(dǎo)入案例型號(hào)推薦 下
    的頭像 發(fā)表于 12-11 11:00 ?650次閱讀
    臺(tái)灣COMCHIP高端MOS:車用客戶<b class='flag-5'>導(dǎo)入</b>案例型號(hào)推薦 下

    臺(tái)灣COMCHIP高端MOS:車用客戶導(dǎo)入案例型號(hào)推薦 中

    深圳鴻合智遠(yuǎn)|臺(tái)灣COMCHIP高端MOS:車用客戶導(dǎo)入案例型號(hào)推薦 中
    的頭像 發(fā)表于 12-10 10:59 ?690次閱讀
    臺(tái)灣COMCHIP高端MOS:車用客戶<b class='flag-5'>導(dǎo)入</b>案例型號(hào)推薦 中

    如何導(dǎo)入Altium Designer的原理圖和PCB?

    “ ?KiCad可以支持直接導(dǎo)入Altium Designer的原理圖及PCB文件。與其它導(dǎo)入器不同,KiCad導(dǎo)入器可以直接導(dǎo)入源生的二進(jìn)制文件(*.schdoc及*.pcbdoc)
    的頭像 發(fā)表于 11-12 12:21 ?7050次閱讀
    如何<b class='flag-5'>導(dǎo)入</b>Altium Designer的原理圖和PCB?

    傳統(tǒng)電子表格Excel和Teable多維表格數(shù)據(jù)庫(kù)的區(qū)別?

    傳統(tǒng)Excel是一款功能強(qiáng)大的電子表格軟件,它的數(shù)據(jù)處理 分析以及圖表制作等功能給工作帶來(lái)了很多便利,但也有自身的局限性,本文介紹的多維表格Teable數(shù)據(jù)庫(kù)將在傳統(tǒng)電子表格Excel的特性上,增強(qiáng)數(shù)據(jù)處理能力,提升工作效率.
    的頭像 發(fā)表于 10-23 16:44 ?1450次閱讀