91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何秒級(jí)實(shí)現(xiàn)接口間“冪等”補(bǔ)償:一款輕量級(jí)仿冪等數(shù)據(jù)校正處理輔助工具

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2025-09-15 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導(dǎo)語

本文分析了在網(wǎng)絡(luò)超時(shí)場景下,RPC服務(wù)調(diào)用數(shù)據(jù)一致性的問題,對(duì)于接口無冪等、接口冪等失效情況下,對(duì)異常數(shù)據(jù)快速處理做了分析思考和嘗試,開發(fā)了一款輕量級(jí)仿冪等數(shù)據(jù)校正處理輔助工具。該工具可以MOCK或SPY服務(wù)調(diào)用,不限于RPC接口,進(jìn)程內(nèi)的方法調(diào)用也支持,與JSF、WebService、HTTP方式無關(guān),只要方法能被代理,就可以使用,寫服務(wù)、讀服務(wù)均可以支持。目前已在生產(chǎn)環(huán)境中使用,在關(guān)鍵時(shí)刻可以發(fā)揮相應(yīng)的作用。本文工具并不重要,重要的是與大家一起探討一些解決方案,給大家提供一種思路。如果小伙伴有類似訴求,也歡迎大家合適的場景下接入使用。

?

由來

最近在參與系統(tǒng)的故障與處理恢復(fù)專題,我腦海中衍生了一個(gè)關(guān)于數(shù)據(jù)校正處理(或稱之為修數(shù),或數(shù)據(jù)處理)相關(guān)的一個(gè)idea,可以在一些場景下發(fā)揮重要作用。

本文的重點(diǎn)不是探討故障與處理恢復(fù)措施,比如三板斧、三把刀,而是將我腦海中的這個(gè)idea場景剖開,打算設(shè)計(jì)和開發(fā)一款對(duì)應(yīng)的數(shù)據(jù)處理提效工具,落地到相應(yīng)場景中去使用。

?

場景分析

在分布式架構(gòu)中,應(yīng)用之間的網(wǎng)絡(luò)通信,簡單說存在三種狀態(tài):成功、失敗、超時(shí),簡稱為網(wǎng)絡(luò)三態(tài)。

成功:請(qǐng)求成功發(fā)送并且得到正確的響應(yīng)。

失?。?/strong>請(qǐng)求發(fā)送失敗或收到的響應(yīng)表示操作失敗。

超時(shí):請(qǐng)求在指定時(shí)間內(nèi)沒有收到響應(yīng)。

?

wKgZO2jH1HGAVzG6AAED7s7Q4r0297.png

?

wKgZPGjH1HKANcFIAADkucxVIv8955.png

?

對(duì)于成功而言,可以正常響應(yīng)處理。

對(duì)于失敗而言,可以進(jìn)行數(shù)據(jù)回退、重試補(bǔ)償?shù)仁侄巍?/p>

對(duì)于成功、失敗這兩種狀態(tài)而言,結(jié)果都是明確的,在分布式數(shù)據(jù)一致性處理上也相對(duì)比較簡單。

對(duì)于超時(shí)而言,調(diào)用方感知的是超時(shí),服務(wù)提供方處理的時(shí)間超出預(yù)期時(shí)間,但服務(wù)提供方最終是否執(zhí)行成功,不得而知。有可能執(zhí)行失敗,也有可能最終處理成功并落庫,只是未能響應(yīng)給調(diào)用方。

在超時(shí)情況下,即使調(diào)用方再感知超時(shí)后,回退自身數(shù)據(jù)后,同時(shí)嘗試回退服務(wù)提供方的數(shù)據(jù)時(shí),大概率也是回退失敗,因?yàn)榇藭r(shí)服務(wù)提供方尚未執(zhí)行完成,數(shù)據(jù)尚未落庫完成。如果說delay一段時(shí)間后,再去回退服務(wù)提供方的數(shù)據(jù),倒是可行,但delay多長時(shí)間,回退多少次才能成功,都不確定,對(duì)調(diào)用方來說,也增加了復(fù)雜性和運(yùn)維難度。

?

假如服務(wù)調(diào)用是同一個(gè)線程中的本地調(diào)用,訪問同一個(gè)數(shù)據(jù)庫實(shí)例,則可以直接使用數(shù)據(jù)庫事務(wù)來保障一致性。

如果是分布式調(diào)用,可以采取分布式事務(wù)措施,例如2PC、3PC、TCC、Saga事務(wù)等方式來保障一致性,市面上也有成熟的分布式事務(wù)中間件可以使用,例如Seata解決方案。

?

上面說到分布式事務(wù)只是順著話題延伸了一下,本文重點(diǎn)不是探討分布式事務(wù)的解決方案,況且很多京東系統(tǒng),并沒有接入分布式事務(wù)解決方案,本文重點(diǎn)思考在超時(shí)場景下,有沒有一些手段或工具可以幫助快速數(shù)據(jù)一致性處理、故障恢復(fù)。

?

思考

超時(shí)也許是由于網(wǎng)絡(luò)抖動(dòng),或者服務(wù)器負(fù)載過高造成的服務(wù)超時(shí),也有可能是程序性能不佳造成的持續(xù)超時(shí)。最終的數(shù)據(jù)處理和恢復(fù)方向,都是要讓數(shù)據(jù)在應(yīng)用之間得以流動(dòng)落地,才能使整個(gè)鏈路的流程走下去,即要保障應(yīng)用間數(shù)據(jù)的最終一致性。

?

如果服務(wù)可以降級(jí),則降級(jí)是比較快速的一個(gè)恢復(fù)手段。

如果服務(wù)不可降級(jí),則通過重試補(bǔ)償?shù)仁侄蝸砘謴?fù)數(shù)據(jù)的一致性。

?

RPC服務(wù)重試,調(diào)用方、服務(wù)提供方需要保障接口的冪等性才能保證重試無副作用。

何為冪等性?冪等是一次和多次請(qǐng)求某一個(gè)資源對(duì)于資源本身應(yīng)該具有同樣的結(jié)果,換言之,其任意多次執(zhí)行對(duì)資源本身所產(chǎn)生的影響均與一次執(zhí)行的影響相同。

接口的冪等性,需要調(diào)用方和服務(wù)提供方相互配合才行,倘若服務(wù)提供方提供的接口支持冪等性,雙方按照約定接口入?yún)⒅械膗uid作為唯一序列號(hào)進(jìn)行防重,但服務(wù)提供方每次的重試調(diào)用(無論上次調(diào)用成功與否)uuid都會(huì)改變,這就會(huì)使得冪等失效。

?

如果接口沒有實(shí)現(xiàn)冪等性,或者由于調(diào)用方每次必變uuid導(dǎo)致冪等失效,在這種情況下,該如何快速恢復(fù)數(shù)據(jù)呢?

?

?

wKgZO2jH1HOAeN5EAAGrhmUvg8A700.png

?

如上圖所示,由于服務(wù)超時(shí)后,應(yīng)用B內(nèi)部仍在持續(xù)執(zhí)行,此時(shí)恢復(fù)手段是:人工介入,梳理數(shù)據(jù)后,人工將應(yīng)用B的數(shù)據(jù)進(jìn)行回退,或者人工將應(yīng)用A的數(shù)據(jù)進(jìn)行補(bǔ)齊推動(dòng)流程向后走,人工保證A和B之間的數(shù)據(jù)一致性。倘若應(yīng)用A、B背后的流程比較長,涉及的表關(guān)系比較復(fù)雜,數(shù)據(jù)量比較大,這時(shí)候人工就難以處理了,也容易出錯(cuò),造成二次傷害。

?

之前還遇到過一種情況,服務(wù)提供方和調(diào)用方都支持冪等,但由于一些原因,調(diào)用方很久之前的一個(gè)異步任務(wù)失敗了,而調(diào)用方用于冪等防重的數(shù)據(jù)歸檔了。當(dāng)時(shí)為了支持冪等重試,從歸檔庫里拉回了相應(yīng)的流水?dāng)?shù)據(jù)到生產(chǎn)庫,才重試調(diào)用成功,費(fèi)力費(fèi)力,效率低。

?

思路

這里持續(xù)探索無冪等或冪等失效場景下的重試能力建設(shè)。

?

wKgZPGjH1HOAd30DAAE8-R-J58M898.png

在應(yīng)急處理情況下,向來都是爭分奪秒,這里可以通過MOCK結(jié)果返回給調(diào)用方A,相當(dāng)于“預(yù)支成功”。

并非所有的“預(yù)支成功”都是合理的,為了讓“預(yù)支成功”盡可能合理,需要在服務(wù)提供方內(nèi)部實(shí)現(xiàn)里,做好充分的判斷和校驗(yàn),這種判斷和校驗(yàn)盡量是輕量級(jí)的。如果高并發(fā)情況下的“預(yù)支成功”判斷不合理,事后可以人工介入核對(duì)和補(bǔ)償數(shù)據(jù)。

?

建設(shè)工具

對(duì)工具的期望

?由于接口無冪等或冪等失效,需要對(duì)能夠預(yù)支成功的請(qǐng)求圈定一個(gè)范圍,這個(gè)范圍要支持配置,最好支持動(dòng)態(tài)配置秒級(jí)生效。

?對(duì)這個(gè)范圍內(nèi)的請(qǐng)求,進(jìn)行偽冪等,MOCK特定結(jié)果,返回給調(diào)用方,使得調(diào)用方可以拿到成功結(jié)果快速推動(dòng)流程。

?圈定的范圍盡可能具體,盡量避免不該MOCK的進(jìn)行了MOCK,造成服務(wù)調(diào)用方的數(shù)據(jù)沒得到刷新,導(dǎo)致數(shù)據(jù)的不一致。

?

在實(shí)現(xiàn)中,我稱這個(gè)工具為“魔法工具”,是一種“障眼法”,是一種“預(yù)先支付成功”,是一種MOCK或SPY,對(duì)于調(diào)用方A來說,是一種體感上的成功,認(rèn)為調(diào)用方真的處理成功了。

?

配置

wKgZO2jH1HSAdvFYAAFcv7gm6gI857.png

?

在配置中,支持多個(gè)配置內(nèi)容的存在,比如有多個(gè)單據(jù)需要同時(shí)進(jìn)行偽冪等MOCK。

?

wKgZPGjH1HWAEueTAAK9ICiiP4M187.png

wKgZO2jH1HaAKR50AAOvtrfDJTU070.png

?

更直觀地,用一個(gè)JSON數(shù)據(jù)示例來看一下數(shù)據(jù)結(jié)構(gòu):

{
    "detailList": [
        {
            "enabled": true,
            "className": "com.jdwl.wms.stock.app.service.main.StockTransferAppServiceImpl",
            "methodName": "increaseStock",
            "basicNo1": null,
            "basicNo2": null,
            "basicNo3": "6_6_601",
            "uuidList": null,
            "businessNoList": [
                "GZQ202503160250001"
            ],
            "startTime": "2025-03-16 01:50:00",
            "endTime": "2025-03-18 03:50:00",
            "strategy": "DO_AND_RETURN_SUCCESS_REGARDLESS_OF_FAILURE",
            "defaultResult": {
                "resultValue": true,
                "resultCode": 100000,
                "prompType": 0,
                "success": true
            }
        }
    ]
}

?

startTime、endTime 時(shí)間區(qū)間是用來卡控配置生效的時(shí)間段,正常情況下配置是短暫生效,起到數(shù)據(jù)處理的作用后,應(yīng)去掉該配置。

?

目前策略有兩種:

wKgZPGjH1HeAYtnHAAHD-ysbjaI563.png

?

這兩個(gè)策略的區(qū)別是要不要真正執(zhí)行一次接口實(shí)現(xiàn),類似于單測中的MOCK和SPY效果。

defaultResult 是該接口方法的期望返回值,配置對(duì)應(yīng)的返回值JSON,會(huì)按照配置的內(nèi)容直接返回給調(diào)用方。

?

核心實(shí)現(xiàn)

圈定范圍的匹配

wKgZO2jH1HiAN749AALfCKkWP5A949.png

?

按不同策略MOCK或SPY

wKgZO2jH1HqAObl0AANywz_FfTc143.png

?

使用案例

案例一 MOCK服務(wù)調(diào)用

通過DUCC配置圈定要MOCK的范圍

?

wKgZPGjH1HuAPbc0AAM7vXvLysg894.png

?

{
    "detailList": [
        {
            "enabled": true,
            "className": "com.jdwl.wms.stock.app.service.main.StockTransferAppServiceImpl",
            "methodName": "increaseStock",
            "basicNo1": null,
            "basicNo2": null,
            "basicNo3": "6_6_601",
            "uuidList": null,
            "businessNoList": [
                "GZQ202503160250001"
            ],
            "startTime": "2025-03-16 01:50:00",
            "endTime": "2025-03-18 03:50:00",
            "strategy": "DO_NOTHING_AND_RETURN_SPECIFIED_VALUE",
            "defaultResult": {
                "resultValue": true,
                "resultCode": 100000,
                "prompType": 0,
                "success": true
            }
        }
    ]
}

?

在JSF平臺(tái)模擬客戶端調(diào)用方發(fā)起調(diào)用

?

wKgZO2jH1H2AOkJXAANDbhTlnW0495.png

?

這里采用的策略是

DO_NOTHING_AND_RETURN_SPECIFIED_VALUE,即:不執(zhí)行,直接返回指定的返回值

JSF的返回值就是在上面所配置的返回值內(nèi)容。

?

驗(yàn)證執(zhí)行情況

這里檢查數(shù)據(jù)庫落庫情況,看方法是否真地得到執(zhí)行。

?

wKgZPGjH1H6ASbayAAOZMUvkx58773.png

?

與預(yù)期一致,方法被成功MOCK,未真正執(zhí)行該方法,返回了預(yù)先配置的返回值。

?

案例二 阻隔異常數(shù)據(jù)生成

近期生產(chǎn)環(huán)境遇到一個(gè)場景,逆向盤點(diǎn)時(shí),有個(gè)終止盤點(diǎn)的操作,這個(gè)操作表示結(jié)束盤點(diǎn),并且未盤點(diǎn)的明細(xì)則以少貨缺量的方式提報(bào)差異,并預(yù)占庫存。

雖然按鈕有提示,但少概率下會(huì)有操作人員不看提示而誤點(diǎn)擊,形成大量的差異庫存預(yù)占。

這些預(yù)占是由于誤點(diǎn)擊形成的差異預(yù)占,并非真實(shí)的差異,屬于異常數(shù)據(jù),這種數(shù)據(jù)需要釋放關(guān)閉處理,如果數(shù)據(jù)量較大,現(xiàn)場會(huì)找研發(fā)團(tuán)隊(duì)協(xié)助處理。

?

異常監(jiān)控

收到監(jiān)控告警,查看流量情況,發(fā)現(xiàn)有突發(fā)差異提報(bào)流量,短時(shí)間內(nèi)調(diào)用量比日常高出很多。

?

wKgZO2jH1H-ARBVQAAEFmIUaMEw417.png

?

阻隔配置

找到異常倉號(hào)和單號(hào),與現(xiàn)場電話對(duì)齊后,決定對(duì)該異常單進(jìn)行阻隔攔截,避免產(chǎn)生更多的異常數(shù)據(jù)。

?

wKgZPGjH1ICAff0pAARwRssFMs8858.png

?

{
    "detailList": [
        {
            "enabled": true,
            "className": "com.jdwl.wms.stock.app.service.main.StockExceptionHandleAppServiceImpl",
            "methodName": "recordDifferenceDetail",
            "basicNo1": null,
            "basicNo2": null,
            "basicNo3": "11309_200",
            "uuidList": null,
            "businessNoList": [
                "DPPT1904111957150015488"
            ],
            "startTime": "2025-03-24 19:37:00",
            "endTime": "2025-03-25 00:00:00",
            "strategy": "DO_NOTHING_AND_RETURN_SPECIFIED_VALUE",
            "defaultResult": {
                "resultValue": true,
                "resultCode": 100000,
                "prompType": 0,
                "success": true
            }
        }
    ]
}

?

結(jié)果核實(shí)

wKgZO2jH1ISAXkfoABe-nSpw-Zk991.png

?

通過核實(shí)日志和數(shù)據(jù),該工具有效阻隔了部分異常數(shù)據(jù)的生成,節(jié)省了異常數(shù)據(jù)核對(duì)和處理的時(shí)間。

?

總結(jié)

本文所提出的一款輕量級(jí)仿冪等數(shù)據(jù)校正處理輔助工具,可以達(dá)到MOCK或SPY的效果。不僅可以用在無冪等或冪等失效場景下,數(shù)據(jù)庫快速處理恢復(fù)的場合,還可以用于一些查詢類、校驗(yàn)類的讀服務(wù)的MOCK場景。

現(xiàn)階段工具還比較簡單,功能還很有限,使用場景也有針對(duì)性和局限性,希望在一些場景上可以幫助大家。

本文工具并不重要,重要的是與大家一起探討一些解決方案,給大家提供一種思路。

本文的解決方案是我短時(shí)間內(nèi)的一個(gè)思考和落地嘗試,未必是最優(yōu)的,希望與大家一起交流更好的方案。

?

如何接入使用?

如果小伙伴也有類似使用訴求,大家可以先在測試、UAT環(huán)境接入試用,然后再逐步推廣線上生產(chǎn)環(huán)境。

接入方法也非常簡單,如下。

?

1、引入Maven依賴



    com.jd.sword
    sword-aspect
    1.0.2-SNAPSHOT
    
        
            org.projectlombok
            lombok
        
        
            org.apache.commons
            commons-lang3
        
        
            org.slf4j
            slf4j-api
        
        
            org.springframework
            spring-context
        
        
            org.aspectj
            aspectjweaver
        
        
            com.alibaba
            fastjson
        
        
            com.jd.laf.config
            laf-config-client-jd-spring
        
    


    com.jd.sword
    sword-constant
    1.0.0-SNAPSHOT


    com.jd.sword
    sword-annotation
    1.0.1-SNAPSHOT


對(duì)于其中的間接依賴,例如lombok等,大家可以使用自己工程中的已有依賴,在這里可以通過exclusion排掉,如果自己工程中沒有這些依賴,可以不exclusion。

?

2、在被攔截方法上打上注解

示例:

@Magic(enabled = true, basicNo3 = "#args[0].requestHeader.warehouseNo", uuid = "#args[0].requestHeader.uuid", businessNo = "#args[0].requestHeader.businessNo")

支持SpEL表達(dá)式。

建議在服務(wù)提供方的內(nèi)部方法實(shí)現(xiàn)內(nèi),或者調(diào)用方在調(diào)用目標(biāo)API的防腐層上進(jìn)行注解。

服務(wù)提供方的內(nèi)部方法實(shí)現(xiàn)內(nèi),不一定是放在API的impl層,也可以是其內(nèi)部的Service層,比如放在冪等防重和輕量級(jí)校驗(yàn)判斷之后,重量級(jí)核心邏輯實(shí)現(xiàn)之前。

?

3、使用時(shí)進(jìn)行按需配置

DUCC配置或Spring yml 配置都可以,更推薦使用DUCC動(dòng)態(tài)配置生效。

使用完應(yīng)盡快去掉配置,可以保留空殼,將detailList置為空list。

示例配置:

{
    "detailList": [
        {
            "enabled": true,
            "className": "com.jdwl.wms.stock.app.service.main.StockTransferAppServiceImpl",
            "methodName": "increaseStock",
            "basicNo1": null,
            "basicNo2": null,
            "basicNo3": "6_6_601",
            "uuidList": null,
            "businessNoList": [
                "GZQ202503160250001"
            ],
            "startTime": "2025-03-16 01:50:00",
            "endTime": "2025-03-18 03:50:00",
            "strategy": "DO_NOTHING_AND_RETURN_SPECIFIED_VALUE",
            "defaultResult": {
                "resultValue": true,
                "resultCode": 100000,
                "prompType": 0,
                "success": true
            }
        }
    ]
}

magic:
  content: '{"detailList":[{"enabled":true,"className":"com.jdwl.wms.stock.app.service.main.StockTransferAppServiceImpl","methodName":"increaseStock","basicNo1":null,"basicNo2":null,"basicNo3":"6_6_601","uuidList":null,"businessNoList":["GZQ202503160250"],"startTime":"2025-03-16 01:50:00","endTime":"2025-03-18 03:50:00","strategy":"DO_AND_RETURN_SUCCESS_REGARDLESS_OF_FAILURE","defaultResult":{"resultValue":true,"resultCode":100000,"prompType":0,"success":true}}]}'

審核編輯 黃宇

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

    關(guān)注

    33

    文章

    9525

    瀏覽量

    157060
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    114

    瀏覽量

    12265
  • 京東
    +關(guān)注

    關(guān)注

    2

    文章

    1108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    借助TRAE和MCUXpresso for VS Code實(shí)現(xiàn)AI輔助開發(fā)MCX A系列MCU工程

    作為個(gè)折騰過幾乎所有主流AI編程輔助工具的開發(fā)者,本猿最終還是覺得國產(chǎn)的TRAE對(duì)國區(qū)用戶最友好、最穩(wěn)定。雖然它偶爾也會(huì)“天馬行空”地輸出些奇怪代碼,但整體在嵌入式開發(fā)上的表現(xiàn)已經(jīng)非常靠譜,更重要的是——免費(fèi)。
    的頭像 發(fā)表于 03-02 09:24 ?501次閱讀
    借助TRAE和MCUXpresso for VS Code<b class='flag-5'>實(shí)現(xiàn)</b>AI<b class='flag-5'>輔助</b>開發(fā)MCX A系列MCU工程

    瑞芯微SOC智能視覺AI處理

    RK3568B2: 一款性能均衡、接口豐富的中高端AIoT應(yīng)用處理器,是RK3568的優(yōu)化版本,主打穩(wěn)定與可靠性。CPU/GPU: 延續(xù)RK3568的4核A55 + G52 GPU架構(gòu),性能可靠
    發(fā)表于 12-19 13:44

    通過2的次進(jìn)行除法和取余數(shù)快捷方法優(yōu)化

    如果除法中的除數(shù)是2的次,我們可以更好的優(yōu)化除法。 編譯器使用移位操作來執(zhí)行除法。因此,我們需要盡可能的設(shè)置除數(shù)為2的次(例如64而不是66)。 并且依然記住,無符號(hào)unsigned整數(shù)除法
    發(fā)表于 12-12 06:02

    RSA加速實(shí)現(xiàn)思路

    ;),進(jìn)步減少運(yùn)算時(shí)間。 可以看出L-R模算法包含了大量蒙哥馬利算法實(shí)現(xiàn)的模乘運(yùn)算。模運(yùn)算效率的提高取決于模乘運(yùn)輸速度。為了加快模運(yùn)
    發(fā)表于 10-28 07:28

    商品詳情頁內(nèi)容更新接口設(shè)計(jì)與實(shí)現(xiàn)

    ? ?1. 接口核心價(jià)值 商品詳情頁是電商平臺(tái)的核心頁面,其內(nèi)容更新接口需滿足: 實(shí)時(shí)性:價(jià)格/庫存變動(dòng)需級(jí)同步 原子性:避免更新過程中出現(xiàn)中間狀態(tài)
    的頭像 發(fā)表于 10-11 15:36 ?375次閱讀
    商品詳情頁內(nèi)容更新<b class='flag-5'>接口</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    【CW32】uart_obj_fw 輕量級(jí)串口框架

    的隊(duì)列實(shí)現(xiàn),進(jìn)行簡化處理,保留最核心的功能,對(duì)于數(shù)據(jù)的FIFO操作,分析了拷貝原數(shù)據(jù)的劣勢,采用了類似拷貝指針的方式,減少內(nèi)存占用,提高效率。同時(shí)
    的頭像 發(fā)表于 09-29 18:02 ?7831次閱讀

    要求穩(wěn)定可靠,必選的一款10.1寸屏(LVDS, 高分變率、戶外高亮、CTP防暴玻璃蓋板)

    推薦一款,穩(wěn)定可靠的工業(yè)級(jí)TFT顯示屏, 工業(yè)級(jí)10.1寸 1280x800, LVDS接口、寬溫、 滿足戶外可見、電容式觸摸( IK08等級(jí)
    發(fā)表于 09-08 09:22

    【正點(diǎn)原子】新代經(jīng)濟(jì)型工業(yè)級(jí)核心板RK3506J開發(fā)板及資料發(fā)布

    和控制、適用于輕量級(jí)物聯(lián)網(wǎng)應(yīng)用,性能不錯(cuò)的一款開發(fā)板。 核心板采用郵票孔形式僅40mmx40mm,配套底板120mmx100mm。底板板載串口/USB接口/WIFI/藍(lán)牙/音頻/百兆網(wǎng)絡(luò)x2/4G-5G
    發(fā)表于 08-27 11:54

    Crypto核心庫:顛覆傳統(tǒng)的數(shù)據(jù)安全輕量級(jí)加密方案

    傳統(tǒng)加密方案常陷入“安全與性能”的二元悖論。Crypto核心庫打破這僵局,通過輕量級(jí)架構(gòu)與算法優(yōu)化,實(shí)現(xiàn)加密解密的雙向突破:在保障銀行級(jí)安全的同時(shí),將資源消耗壓縮至極致,讓
    的頭像 發(fā)表于 08-04 14:44 ?723次閱讀
    Crypto核心庫:顛覆傳統(tǒng)的<b class='flag-5'>數(shù)據(jù)</b>安全<b class='flag-5'>輕量級(jí)</b>加密方案

    基于米爾瑞芯微RK3576開發(fā)板部署運(yùn)行TinyMaix:超輕量級(jí)推理框架

    本文將介紹基于米爾電子MYD-LR3576開發(fā)平臺(tái)部署超輕量級(jí)推理框架方案:TinyMaix 摘自優(yōu)秀創(chuàng)作者-短笛君 TinyMaix 是面向單片機(jī)的超輕量級(jí)的神經(jīng)網(wǎng)絡(luò)推理庫,即 TinyML
    發(fā)表于 07-25 16:35

    ReviewHub:實(shí)現(xiàn)Booster與設(shè)計(jì)工具端無縫鏈接的評(píng)審協(xié)作平臺(tái)

    在電子產(chǎn)品設(shè)計(jì)與質(zhì)量管理中,跨部門的高效評(píng)審協(xié)作至關(guān)重要。傳統(tǒng)線下評(píng)審方式因時(shí)間、地點(diǎn)和信息孤島限制,效率低下且易出錯(cuò)。ReviewHub作為一款貫穿Booster與設(shè)計(jì)工具端的線上評(píng)審平臺(tái),憑借
    的頭像 發(fā)表于 06-04 11:46 ?865次閱讀
    ReviewHub:<b class='flag-5'>實(shí)現(xiàn)</b>Booster與設(shè)計(jì)<b class='flag-5'>工具</b>端無縫鏈接的評(píng)審協(xié)作平臺(tái)

    Segger RTT調(diào)試工具的使用方法

    期已經(jīng)跟著小編介紹的安裝步驟,相信大家都已經(jīng)開始使用了Segger Ozone調(diào)試工具。那么今天小編繼續(xù)趁熱打鐵,給大家介紹另個(gè)Segger推出的調(diào)試輔助工具Segger RTT
    的頭像 發(fā)表于 03-28 14:21 ?3514次閱讀
    Segger RTT調(diào)試<b class='flag-5'>工具</b>的使用方法

    求助,關(guān)于iMX DDR3寄存器編程輔助問題求解

    我們目前正在使用 iMX6UL DDR 寄存器編程輔助工具為 U-Boot 生成 DCD 表。我們的設(shè)備使用的是 MT41K128M16JT-107,即 DDR3-1866,這意味著它的時(shí)鐘周期頻率
    發(fā)表于 03-27 07:16

    樹莓派替代臺(tái)式計(jì)算機(jī)?樹莓派上七最佳的輕量級(jí)操作系統(tǒng)!

    RaspberryPi是一款超級(jí)實(shí)惠的單板計(jì)算機(jī)(SBC),可用于各種不同的項(xiàng)目。RaspberryPi的些最流行用途包括將其變成媒體播放器或模擬機(jī)器。鑒于該系統(tǒng)的多功能性,有人想知道它是否可以
    的頭像 發(fā)表于 03-25 09:43 ?1311次閱讀
    樹莓派替代臺(tái)式計(jì)算機(jī)?樹莓派上七<b class='flag-5'>款</b>最佳的<b class='flag-5'>輕量級(jí)</b>操作系統(tǒng)!

    英偉達(dá)GTC2025亮點(diǎn):NVIDIA Blackwell加速計(jì)算機(jī)輔助工程軟件,實(shí)現(xiàn)實(shí)時(shí)數(shù)字孿生性能數(shù)量級(jí)提升

    、Altair、Cadence、Siemens 和 Synopsys 在內(nèi)的領(lǐng)先計(jì)算機(jī)輔助工程(CAE)軟件供應(yīng)商正在使用 NVIDIA Blackwell 平臺(tái)加速其仿真工具,速度提升高達(dá) 50 倍
    的頭像 發(fā)表于 03-21 15:12 ?1502次閱讀