PHP關於大數據的批量結算總結

一般php都不會去處理大量數據的結算,php是網頁腳本語言! 不合適執行時間較長的操作! 我們一般都會交到後端給其他程序處理 如:python java C等其他服務端去處理 然後中間返回給我們想要的結果和數據!

可能根據業務和現實的情況需要,我們可能會用php 處理一些量大數據結算!如收益結算,交易結算等。在處理之前我們要梳理清楚業務流程,保證業務流程的正確性和結算的準確性。我們可以根絕我們的實際情況選擇去處理!這樣的結算不僅僅之前我們寫過,也見過很多寫過! 大家都會有不同的方法去處理!之前我們見過別人的一些方法
結算方法:
1. 跳轉到結算頁面 每次結算一天或者多條 然後 通過頁面 js 跳轉到 下一條要結算的數據【 防止頁面超時】!中間也可以加進度條去顯示
2. 異步請求結算數據 每次傳遞不同的id進去
3. 結算顯示進度條 可以進度條顯示 顯示結算進度 結算完成之後 給提示

只要業務邏輯沒有問題,中間加入判斷機制 防止重複結算 都是可以實現我們這個數據的結算的!這樣結算跟網絡和機器的性能有關! 當然中間我們會加入 事務處理 如果沒有執行成功 我們不提交事務就可以了! 業務中斷! 我們會接着上次的結算 保證數據不出錯!
這些計算也是有缺陷的 結算時間長,耗費資源比較多 ! 如果數據太大的話 明顯不合適的! 幾萬條的數據可以選擇! 如果太多就要棄用,使用其他方法去處理!

我們只能才用異步去處理!點擊結算後 請求給服務端 服務端去處理, 根據情況返回進度和結果!我們可以考慮使用其他語言!如java c++ python go 等去處理!現在有了workerman和swoole 擴展 用php也可以做服務端 !我們要把要結算的數據存放到隊列裏面,然後異步提交給服務端 服務端步返回結算進度和結算結果!這樣就可以結算我們的數據了!服務端都可以支持多進程去結算我們的數據!我們也可以開啓多個進程去處理!





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章