PingCAP 戴濤:構建面向未來的金融核心系統

作者:戴濤

導讀

近日,平凱星辰解決方案技術部總經理戴濤在 2024 數據技術嘉年華活動中,做了主題為“構建面向未來的金融核心系統”的分享,本文為戴濤演講實錄的全文。

文章分析了中國金融行業的發展趨勢,并且基于這些趨勢對數據庫選擇從架構、運維和開發三個視角進行展開。通過平凱星辰多年的金融行業實施經驗和豐富案例,基于 TiDB 構建金融核心系統是一條可重復、可復制、具備先天技術優勢的路徑。

金融核心系統的發展對分布式架構提出更高要求

1 從業務視角看當前中國金融行業處于三浪疊加的階段

隨著金融科技的興起,銀行業正面臨著深刻的變革。知名金融科技專家和作家布萊特·金(Brett King)在多部著作中提出,銀行經歷了四個發展階段:1.0 網點銀行,以物理網點為中心提供基本的存貸款服務;2.0 渠道銀行,拓展線上渠道,例如 ATM、網上銀行、手機銀行等;3.0 平臺銀行,基于移動隨時隨地獲得金融服務;4.0 開放銀行,嵌入生產、生活,無所不在的智能銀行。當前,中國銀行的業務發展呈現出三浪疊加的態勢:從 1.0 到 2.0 做網點轉型,2.0 到 3.0 做渠道轉型,3.0 到 4.0 做開放銀行的轉型。

三浪疊加的業務,對于當前的銀行提出了更高的發展要求。銀行的 IT 部門如何面對這些需求?唯有加速數字化轉型。在技術方面加快技術融合場景,加速體驗創新;技術架構升級推動科技創新,特別是采用分布式、微服務的架構,并且通過 DevOps 體系搭建數字化 IT 生產線;最后需要加大金融 IT 科技投入和人才組織創新。

2 從技術發展看,金融業對于金融科技提出更高的要求

這些轉型的背后對業務和 IT 都提出了巨大挑戰,以銀行技術舉例,銀行發展的周期和 IT 技術是密不可分的,需要綜合考慮業務需求和 IT 技術的演進。 追溯到 60 年代,半導體技術的突破使得電子數據取代人工記錄,銀行業務邁入信息化時代。 70 年代小型機、大型機出現,實現了銀行業務的系統化批處理,提高了工作效率。 80 年代終端 PC 的普及,推動了銀行業務的遠程化和自動化,客戶服務體驗得到顯著提升。 90 年代局域網的應用,開創了銀行數據中心公司網時代,為集中化數據管理奠定了基礎。 2000 年至今,銀行業開啟了互聯網新時代,金融服務變得更加便捷、高效。

金融科技經歷了從金融電子化、互聯網化到金融科技融合與創新的演變歷程。在金融科技融合與創新階段,未來的新技術趨勢可以濃縮為 ABCDIR5 七項:即 A 人工智能技術、B 區塊鏈技術、C 云計算及平臺、D 大數據相關技術、I 物聯網和平臺、R 機器人技術、5G 通信技術,這些新技術被廣泛應用于越來越多的金融業務場景,對數據和數據庫技術提出了新的挑戰和要求。

3 IT 架構和業務需求雙輪驅動推動銀行核心系統升級

業務需求和 IT 架構是銀行數字化轉型的雙輪驅動。傳統金融核心系統以技術為中心,面向業務流程,產品開發周期長,數據龐大且業務繁雜,信息交換和共享效率低。而金融數字化升級需求則以用戶為中心,強調架構的靈活性、敏捷性和海量業務的承接能力。以互聯網支付處理為例,業務需求的快速變化如何承接?渠道和用戶的體驗如何優化?營銷成本如何降低?IT 基礎設施的升級重構是銀行數字化轉型成功的關鍵。銀行需要構建一個敏捷、彈性、數據驅動、安全可靠的 IT 基礎設施,以滿足業務需求和數字化升級的需求。

4 分布式架構成為銀行核心轉型的必然路徑

分布式架構已經成為銀行核心轉型的必然路徑。 在早 期 WTO 時代,銀行核心系統采用胖核心架構,將記賬、數據分析、審計、監管等多種功能集成在一個系統中,以滿足銀行全面的業務需求。 隨著金融業務的復雜性和多樣性不斷提升,傳統胖核心架構難以滿足敏捷性和彈性需求。 銀行逐步轉向采用瘦核心架構,將核心業務功能與非核心業務功能分離,以 SOA 架構為基礎,把非核心業務功能模塊化,通過服務接口進行調用,提升了系統的靈活性和可擴展性。

互聯網技術的興起,對銀行業務產生了深遠的影響。傳統銀行核心系統難以滿足互聯網業務的敏捷性和彈性需求,因此出現了雙核心架構。雙核心架構是指銀行同時運行傳統核心系統和互聯網核心系統,以滿足不同業務場景的需求。傳統核心系統主要負責處理核心交易和數據管理,而互聯網核心系統則主要負責處理互聯網業務,例如網上銀行、在線支付等。

近幾年,隨著微服務架構的興起,銀行核心系統開始向分布式架構演進。分布式架構將核心業務系統拆解為多個微服務,每個微服務獨立開發、部署和運行,通過 API 接口進行通信,具有敏捷開發、彈性擴展、高可用等優點,稱為分布式核心或者無核心。在此基礎上結合自主可控的要求,分布式核心能夠更好地支持業務的創新和可持續發展。

2023 年 11 月,TiDB 助力杭州銀行新一代核心系統成功投產。杭州銀行的資產規模約為 1.6 萬億,在中國銀行排名在二十名左右。新核心系統是業內首個實際投產的云原生、分布式、全棧國產化的銀行核心系統,標志著杭州銀行核心業務系統實現完全自主可控和架構升級。

自上線以來,新核心運行高效穩定,日均交易量 1500 萬筆,服務調用 5500 萬次。客戶體驗顯著優化,與上一代相比,新核心的聯機交易性能大幅提升,平均響應時間小于 100 毫秒,提升了 1.5 倍;日終批量處理效率翻倍提升,為原系統的 2.1 倍,整個批處理在一小時之內完成。杭州銀行采用了 TiDB 兩地三中心架構部署,實現了雙活數據中心雙寫并行、災難快速自動恢復且數據零丟失。

杭州銀行堅持應用與基礎設施解耦的架構思想,秉承分布式、透明化的設計開發理念,這對于同行業來說具有重要的參考價值。在此次核心系統改造中,杭州銀行并未對業務架構進行大幅調整,而是將業務邏輯平移至新的技術平臺之上,既保留了原有的使用習慣,又為整體架構路線奠定了可持續創新的基礎。

面向未來的金融核心系統對數據庫的要求

總結下來,構建面向未來的金融核心系統對數據庫的要求有三大維度。

  • 從架構視角看,核心業務對數據庫的要求除了穩定性以外,一定要考慮到數據庫的通用性和開發透明性。
  • 從運維視角看,除了同城雙活以外,需要考慮到更好的線性可擴展,運維便捷以及更好的易用性。
  • 從研發視角看,需要關注在開發和業務實踐過程中,對于分布式事務、熱點等問題的解決方案,以及技術生態是否健全等。

1 架構視角看,優先考慮開發透明性和遷移路徑

從架構視角看,銀行核心系統歷經二十多年發展,積累了大量業務資產和應用系統,涉及多家供應商,數據庫架構的選擇需要以開發透明化為核心。傳統分庫分表方案對開發團隊提出了較高要求,且造成技術棧和業務邏輯的復雜化。為了降低開發復雜度,提高開發效率,原生分布式架構的數據庫產品是更好的選擇,開發團隊可以像使用傳統數據庫一樣設計應用和開發代碼。其次,選擇對運維擴容更加透明的數據庫產品,應用無需擔心數據庫表容量問題,單表大小可無限擴展且無性能拐點。第三,利用 HTAP 能力提供查詢分析的透明性,提供更高性能的 SQL 執行效率。此外,數據庫還應提供熱點數據自動感知且自動打散的能力,從而降低應用設計的復雜度。

系統遷移 5R 模型為系統遷移規劃提供了三個主要途徑:平遷、改造遷移和新架構重構。調研數據顯示,金融行業采用技術平移方式的比例為 56%,而采用新系統架構重構方式的比例為 44%。根據我們服務大量金融客戶的經驗,對于構建金融核心系統而言,平遷并非最佳選擇。平遷雖然看似簡單直接,但往往無法為業務帶來顯著收益。因此,在進行系統遷移決策時,應結合業務需求的主線進行綜合考量。

對于大量的邊緣化非核心系統,平遷是一種更為經濟便捷的方式。它可以有效降低遷移成本,并減少對業務運營的影響。然而,對于核心系統而言,新架構重構才是收益最大的方式。重構意味著采用全新的架構、軟硬件和設計開發理念,是實現核心系統升級和業務轉型的重要途徑。

在過去幾年,隨著互聯網業務的興起,一些銀行采用分庫分表單元化的架構來構建核心系統。如下圖所示,單元化架構采用總分總結構,將全球業務分成三個業務單元。不管單元怎么劃分,你會發現總是需要匯聚的,比如說全局管理單元、全局批量單元和全局數據匯聚單元等。單元化架構需要對應用代碼、基礎設施、數據存儲做大量的改造和重新設計,導致架構復雜度大幅提升,維護難度隨之增加。單元化架構本質上并非易于橫向擴展的架構,隨著業務量的增長,系統擴展難度會顯著增加。跨地域數據同步一致性是單元化架構面臨的重大挑戰,需要復雜的解決方案來確保數據的一致性。

單元化架構并非構建金融核心系統的最佳選擇,其高復雜度、低擴展性和數據同步挑戰等問題制約了系統的長期發展。我們優先考慮在數據庫級別采用橫向擴展的技術,相比于單元化架構更具優勢。對于擁有強大技術實力和資源儲備的大型銀行,單元化架構是一個可行的方案,其開發成本和周期可控。對于大多數中小銀行,微服務架構搭配原生分布式數據庫的組合更具優勢。微服務架構可以提升開發的敏捷性和靈活性,原生分布式數據庫則能提供彈性擴展、高可用和強一致性等特性,可以幫助中小銀行構建高效、可靠且成本可控的核心系統。

2 運維視角看,優先考慮擴展性和真同城雙活架構

從運維視角看,TiDB 原生分布式架構支持基于單節點的在線擴縮容。傳統分庫分表數據庫的擴容非常復雜,往往需要做多個節點的擴容,例如從 8 個節點到 16 個節點,從 16 個節點到 32 個節點。TiDB 支持按需的單節點擴容,無數次客戶側 PoC 的結果表明,隨著節點的增加,TiDB 的性能呈現準線性的增長。在銀行季度結息場景下,可動態增加 TiDB 的計算節點,提升處理效率,縮短結算時間。

TiDB 在業界率先實現了銀行核心系統的分布式數據庫雙活架構,為金融機構的業務連續性提供了堅實的保障。分布式數據庫通常需要三中心部署才能實現雙活,但對于大部分金融機構而言,由于數據中心地理位置限制,難以滿足三中心部署條件。TiDB 創新性地推出了“3-2-1”雙中心架構,在生產主中心部署 3 個 TiKV 節點,在同城副中心部署 2 個 TiKV 節點和 1 個 Learner 節點。該架構以更低的成本實現同城雙活,已在多家銀行成功落地。

除了兩中心雙活方案之外,TiDB 還提供金融級高可用的兩地三中心方案。當主集群發生故障時,可以快速切換到災備集群提供對外服務能力。通過引入只讀集群、測試集群、近線庫、逃生庫等多種災備擴展方案,全面滿足金融機構的容災備份需求。

3?研發視角看,需要端到端的各種場景解決方案

從研發視角看,分布式事務處理無疑是一個首要難題。目前,業界主流的分布式事務模型主要有 XA 鎖,SAGA 模型、 TCC 模型和 MQ 事務消息機制。針對金融行業的業務特點,我們采用了 SAGA 模型幫助用戶做賬務的處理,利用 MQ 事務消息機制來輔助用戶完成異步核算任務。在銀行進行分布式系統改造的過程中,為了滿足對數據實時性的要求,我們不僅需要優化數據庫性能,還需要對應用架構進行相應的調整,以確保數據的低延遲傳輸和處理。

在研發領域,除了分布式事務處理之外,讀寫熱點問題也是我們關注的重點。無論是傳統數據庫還是分布式數據庫,寫熱點問題都是一個普遍存在的挑戰。對于寫熱點的處理,我們建議采用 TiDB 數據庫的散列寫入策略。對于讀熱點問題,我們需要從兩個層面進行優化。在數據庫層,通過引入高效的緩存機制,提升熱點數據的訪問速度;在應用層,通過合理的緩存策略,進一步減輕數據庫的訪問壓力。

在中國銀行業,熱點賬戶問題尤為突出,這要求我們在業務設計上做出一定的調整和妥協。同時,在 SQL 語句的編寫上,盡量采用批量提交的方式,以減少對熱點賬戶的頻繁更新操作。在極端情況下,我們還需要與銀行業界共同努力,不斷完善相關應用的臺賬管理,以應對熱點賬戶帶來的挑戰。

在跑批場景,TiDB 提供核心批處理解決方案。以微眾銀行為例,批量數據每天通過單元化數據庫 TDSQL 近實時的同步到 TiDB 集群進行匯總,由批量應用程序在 TiDB 集群進行批量計算和加工。得益于 TiDB 出色的匯聚能力和可擴展性,以及豐富的工具生態系統,TiDB 上線之后,主要貸款業務的核心批量耗時顯著減少,較原有系統提升了 3.8 倍。在面對大促銷等高流量場景時,TiDB 展現出了卓越的水平擴展能力,能夠輕松應對突增的數據處理需求。

TiDB 原生分布式的架構與傳統集中式數據庫相比具有顯著的差異。銀行核心系統對性能、穩定性、跨地域的高可用性都有著嚴苛的要求。因此,TiDB 建立了混沌工程體系,通過混沌測試來探索系統的性能邊界、驗證高可用性和容災能力、評估擴展性、優化監控和告警機制、檢驗應急預案有效性,評估外圍作業對系統的影響等。平凱星辰攜手杭州銀行,基于風洞實驗室的生產仿真環境進行了大量的測試和驗證工作,通過場景提煉開發 10 余項產品新特性。

在經歷了二十多年的發展后,銀行業的信息技術已經達到了一個相對成熟的階段。然而,在當前不斷變化的技術環境中,銀行科技部門面臨著新的挑戰,包括采用新技術、構建新架構和實施新工程。銀行科技部門需要走出現有的舒適區,積極擁抱變革,重新構建一個完整的 IT 技術生態系統。這包括從需求分析,到開發、測試、發布,再到監控和運維的整個生命周期,形成一個面向未來的業務演進和規劃的閉環系統。

4?TiDB?是面向未來的金融核心數據庫

TiDB 是一款自主研發的原生分布式 HTAP 數據庫,為金融機構打造了高性能、高可用、彈性擴展的現代化數據基礎設施,其架構設計有以下特點:第一,存算分離,解決了高性能、高并發和在線擴容問題,且不依賴于特定的硬件和云平臺。第二,TiKV 行存和 TiFlash 列存來應對 OLTP 和 OLAP 場景需求,TiSpark 提供大數據處理能力。第三,數據三副本機制,天然具備集群級的高可用。TiDB 提供了多種數據遷移工具,支持 MySQL 和 Oracle 數據庫的平滑遷移。通過 TiCDC 同步工具,TiDB 的數據可同步至 MySQL、Kafka、對象存儲等。此外,TiDB 還提供豐富的監控和企業管理工具,構建了一個完善的數據庫技術生態。

攜手 TiDB 構建面向未來的金融核心系統

作為一款廣受全球用戶青睞的開源分布式數據庫,TiDB 贏得了國際社會的廣泛認可。在 2022 和 2023 年,TiDB 連續兩年入選 Gartner 云數據庫“客戶之聲”,獲評“卓越表現者”最高分。在沙利文頭豹研究院發布的“2023 年中國金融級分布式數據庫市場報告”中,TiDB 躋身市場領導者梯隊。在 DB-Engines 最新 4 月的關系型數據庫榜單中,TiDB 排名第 40 位,是中國唯一進入 Top 50 排名的數據庫。

在構建一個面向未來的金融核心系統時,選擇合適的數據庫至關重要。以下是從不同角度出發,對理想數據庫產品選擇的總結:

  1. 架構層面:應優先考慮采用原生分布式架構的數據庫,以確保系統具備良好的擴展性和彈性。同時,數據庫應提供高透明度的開發環境,讓開發者能夠清晰地理解和掌握其工作原理和行為模式。
  2. 運維角度:理想的數據庫應支持線性擴展,以便于系統運維團隊能夠輕松地進行擴容和管理。此外,數據庫應提供高效的同城雙活災備方案,確保在面臨災難性事件時,系統的穩定性和數據的安全性。
  3. 開發角度:在分布式事務處理和讀寫熱點問題上,數據庫應有成熟的解決方案和最佳實踐。這意味著數據庫不僅要能夠處理高并發的讀寫操作,還要能夠提供有效的策略來分散熱點,避免系統瓶頸。

TiDB 在國有大行 PB 級別的數據服務平臺、城商行核心系統、保險公司保單系統等金融核心場景,成功實現了經典數據庫和 MySQL 數據庫的升級替換。在服務金融行業客戶的過程中,TiDB 已經積累了豐富的最佳實踐和經驗。我相信未來能幫助更多的城商行、券商和保險公司,基于 TiDB 數據庫來構建面向未來的核心系統。

通過平凱星辰多年的金融實際案例和實施經驗,基于 TiDB 構建金融企業核心系統是一條可重復、可復制、具備先天技術優勢的路徑。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12211.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12211.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12211.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在 Mac OS 上使用 Homebrew 打造便捷的軟件安裝體驗:apt-get install 就是brew install:

標題:在 Mac OS 上使用 Homebrew 打造便捷的軟件安裝體驗 在 Mac OS 系統中,雖然不支持 apt-get install,但我們有幸擁有 Homebrew 這樣出色的包管理器。它為我們在 Mac 上安裝各種所需軟件提供了極大的便利。 一、安裝 Homebrew 要安裝 Home…

算法提高之加成序列

算法提高之加成序列 核心思想&#xff1a;迭代加深 dfs 從上往下逐漸增大depth 這樣下面沒有用的方案就不用遍歷了 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 110;int n;int path[N];//當前求哪個位置…

PDF編輯閱讀器PDF Expert for Mac v3.10.1中文激活版

PDF Expert for Mac是一款易于使用的 PDF 編輯器和注釋器&#xff0c;專為 Mac 設備設計。它允許用戶輕松查看、編輯、簽名、注釋和共享 PDF。該軟件使用戶能夠向他們的 PDF 添加文本、圖像、鏈接和形狀&#xff0c;突出顯示和標記文本&#xff0c;填寫表格以及簽署數字文檔。它…

STL----resize

resize的作用 設置容器元素個數和初始值。 resize和reserve resize即改變容器元素個數&#xff0c;也改變容器容量。 reserve只改變容器容量&#xff0c;不改變容器元素個數。 reserve有什么用 reserve---存儲&#xff0c;容量&#xff0c;保留。 1&#xff0c;設置容器容…

Python實現麥克風錄音保存到wav

功能展示&#xff1a; 運行環境&#xff1a; Python: 3.10.4 64-bit 操作系統&#xff1a; 截圖環境&#xff1a;win10 64-bit 視頻錄屏環境&#xff1a;win10 64-bit 功能說明&#xff1a; 點擊界面開始按鈕開始錄音&#xff0c;點擊停止按鈕結束錄音。 源碼文件列表&…

十二生肖Midjourney繪畫大挑戰:釋放你的創意火花

隨著AI藝術逐漸進入大眾視野&#xff0c;使用Midjourney繪制十二生肖不僅能夠激發我們的想象力&#xff0c;還能讓我們與傳統文化進行一場新式的對話。在這里&#xff0c;我們會逐一提供給你創意滿滿的繪畫提示詞&#xff0c;讓你的作品別具一格。而且&#xff0c;我們還精選了…

掃碼槍與Input的火花

文章目錄 前言一、需求&#xff1a;交互細節二、具體實現兩個核心的函數&#xff1a;自動聚焦 三&#xff0c;擴展知識input 與 change的區別 前言 在瀏覽器掃描條形碼獲取條形的值&#xff0c;再操作對應的邏輯。這是比較常見的業務&#xff0c;這里記錄實際操作。 其中PC端…

2023年國賽高教杯數學建模C題蔬菜類商品的自動定價與補貨決策解題全過程文檔及程序

2023年國賽高教杯數學建模 C題 蔬菜類商品的自動定價與補貨決策 原題再現 在生鮮商超中&#xff0c;一般蔬菜類商品的保鮮期都比較短&#xff0c;且品相隨銷售時間的增加而變差&#xff0c;大部分品種如當日未售出&#xff0c;隔日就無法再售。因此&#xff0c;商超通常會根據…

JSON 轉為json串后出現 “$ref“

問題描述 轉為JSON 串時出現 "$ref":"$.RequestParam.list[0]" $ref&#xff1a; fastjson數據重復的部分會用引用代替&#xff0c;當一個對象包含另一個對象時&#xff0c;fastjson就會把該對象解析成引用 “$ref”:”..” 上一級 “$ref”:”” 當前對…

2、架構-服務間的通信

遠程服務將計算機程序的工作范圍從單機擴展至網絡&#xff0c;從本地延 伸至遠程&#xff0c;是構建分布式系統的首要基礎。而遠程服務又不僅僅是為 分布式系統服務的&#xff0c;在網絡時代&#xff0c;瀏覽器、移動設備、桌面應用和服 務端的程序&#xff0c;普遍都有與其他設…

分布式搜索-elaticsearch基礎 安裝es

這里是在虛擬機的Linux系統里安裝es的教程: 1.創建網絡 在Finashell終端輸入指令 docker network create es-net 2.將es.tar安裝包放入tmp的目錄下 輸入指令加載鏡像&#xff1a;docker load -i es.tar 3.再運行docker 命令 docker run -d \--name es \-e "ES_JAVA_O…

UE4_照亮環境_光束light beam

學習筆記&#xff0c;不喜勿噴&#xff0c;侵權立刪&#xff01;祝愿生活越來越好&#xff01; 光束&#xff1a;模擬大氣中散射的光線。利用定向光源模擬真實曙暮光效果或大氣散射的陰影&#xff0c;即可生成 光束 。這些光線為場景添加深度和真實度。 一&#xff1a;一些參數…

RabbitMQ部署指南.md

RabbitMQ部署指南 1.單機部署 我們在Centos7虛擬機中使用Docker來安裝。 1.1.下載鏡像 方式一&#xff1a;在線拉取 docker pull rabbitmq:3.8-management方式二&#xff1a;從本地加載 在課前資料已經提供了鏡像包&#xff1a; 上傳到虛擬機中后&#xff0c;使用命令加載…

ASP.NET銀行大廳自助信息系統的開發與實現

摘 要 本畢業設計在基于銀行業務大廳現有業務的基礎上&#xff0c;針對自助銀行的概念和其獨有特點&#xff0c;通過.NETSQL技術&#xff0c;開發一個簡單的銀行大廳自助信息系統&#xff0c;完成一些自助銀行的業務需求如帳戶信息查詢、帳戶掛失、自助交費、留言、新聞查詢…

jmeter中java請求,解決不支持協議和元件,實現自定義元件

目錄 java請求 作用場景 JavaTest類源碼分析 編寫java請求樣例 新建java工程&#xff0c;導入jmeter主要依賴。 編寫java請求類&#xff0c;繼承AbstractJavaSamplerClient, 導入工程為jar包&#xff0c;放置jmeter安裝目錄下lib/ext目錄 重啟jmeter&#xff0c;添加ja…

3D,點云下采樣

文章目錄 一、隨機采樣1、算法原理2、步驟二、格點采樣格點采樣的特點三、均勻采樣1、類似體素網格采樣2、固定間隔采樣3、最遠點采樣四、曲率采樣曲率采樣的特點:參考資料:對于大規模點云處理而言,直接對點云進行特征提取能較好地保留三維結構信息。但由于點云的無序性,直…

flutter開發實戰-log日志存儲zip上傳,發送釘釘機器人消息

flutter開發實戰-log日志存儲zip上傳&#xff0c;發送釘釘機器人消息 當我們需要Apk上傳的時候&#xff0c;我們需要將日志打包并上傳到七牛&#xff0c;上傳之后通過釘釘通知我們日志下載地址。 這里我使用的是loggy來處理日志 一、引入loggy日志格式插件 在工程的pubspec.…

【經驗總結】超算互聯網服務器 transformers 加載本地模型

1. 背景 使用 超算互聯網 的云服務&#xff0c;不能連接外網&#xff0c;只能把模型下載到本地&#xff0c;再上傳上去到云服務。 2. 模型下載 在 模型中 https://huggingface.co/models 找到所需的模型后 點擊下載 config.json pytorch_model.bin vocab.txt 3. 上傳模型文…

Flutter 中的 CupertinoAlertDialog 小部件:全面指南

Flutter 中的 CupertinoAlertDialog 小部件&#xff1a;全面指南 在Flutter中&#xff0c;CupertinoAlertDialog是用于在iOS風格的應用中顯示警告或提示信息的模態對話框。它以其圓角卡片和模糊背景為特點&#xff0c;為用戶提供了一個簡潔而直觀的交互界面。CupertinoAlertDi…

IT行業找工作十面十敗,不妨試試鴻蒙開發崗~

近期某脈上看到這樣一則帖子&#xff0c;討論的非常激烈&#xff01; 相信也有不少人有和他這情況類似&#xff0c;像他這種失業的狀態&#xff0c;近兩年大家或多或少都深有體驗。由于互聯網行業進過了十幾年的快速發展&#xff0c;從2G→3G→4G→5G&#xff0c;在這個期間人們…