2020 年開始接觸 Java Excel 匯入的開發工作。 一家建築機器人的公司離職後,來到廣州找的是一家工廠,開始接觸匯入的開發工作。之前也沒有什麼使用開發經驗, 是 教學影片 中看到過有些老師使用開源的 Excel POI 進行資料的匯入儲存。
說到匯入工作,沒有開發經驗的工程師有的覺得簡單有的覺得難。匯入是把 Excel 中的資料匯入到資料庫中。Excel 匯入校驗是開發過程中第一個模組, 有校驗成功之後的資料才是正確可信,才能入庫儲存。資料採集與儲存,現 有很多的問題都是透過表單之類的提示要 求用於提供資料採集的許可權。軟體的盈利模式有很多的嘗試。首先是要弄懂管理程式設計師的公 司,然後才開始開發專案,之後是產品,升級到品牌就是相當不容易。資料的採集操作如果是 透過單條表示式的校驗成功之後提交,效率是十分低下。批處理操作就是為了提升工作效率 形成的一種工作理念。
資料 Excel 匯入資料量有大有小,問題就是會有多有少。資料和執行緒又是兩回事,資料是使用者很看重的儲存單元。執行緒是使用者,處理資料,使用資料。資料量大了就要進行分散式儲存, 資料量小對一個系統的開發需求又有點雞肋。分散式儲存的概念 程式開發的大量資料處理機制裡面一直 嘗試和運用。分散式儲存,多執行緒高併發,可移動式嵌入式裝置,這些概念是現 和將來都很重要的。使用者量和資料量是企業的掙錢方式,同時也是相當頭疼的難題。
匯入校驗的任務是把一些錯誤校驗資訊存放 某個地方。匯入不成功的處理機制像處理事務一樣,要麼成功,要麼失敗。讀檔案和寫檔案的效率是十分低下,把磁碟中的檔案載入到記憶體中,透過中央系統處理器處理之後要持久化到磁碟中,這個過程消耗的時間太多。時間響應的指標對使用者的體驗影響十分大。快取機制和分散式鎖機制,市面上有很多的整合產品。 Java 的開發框架 Redis,分散式批處理框架 SpringBatch,都可以考慮。鎖的使用是避免多執行緒高併發的時候多執行緒同時操作同一個資料區的時候的一種處理方案。非同步操作使得執行緒操作很靈活,同步操作使得執行緒運算元據很安全。時間和空間,使用鎖機制會消耗時間,多使用動態記憶體開執行緒視窗會消耗空間。元件的使用,封裝簡化,提供操作介面。Reuse space and more efficiency。
分散式叢集和多執行緒高併發,叢集的操作處理資料的方式 後臺伺服器端存 很多的解決方案。SpringCloud 和 dubbo, 是服務層的分散式解決方案。分散式事務處理機制是 銀行看到的一種概念, 業務邏輯程的分散式資料處理方式,具體的實現方式開源框架沒有怎麼接觸。
分散式的概念 程式開發的每一層都是有相應的處理方案。資料量大了,處理資料的效率要 開發相應的提升,資料分開存放,執行緒處理同步之後就不會有太大的效能問題。這是軟體處理 資料的一種思想。硬體的問題,比如資料傳輸,頻寬,CPU 等等都會有影響。