[125]討論資訊比對-盤點與對賬
背景
最近工作中做了一個盤點的需求,突然想到盤點本質就是核對資訊的正確性然後修正錯誤的資訊,而這與對賬本質上是一樣的。
今天這篇文章是工作中有感而發,另一方面也是說明抽象總結的重要性。
什麼是盤點
盤點:定期或臨時對庫存商品進行清查、清點,從操作角度來說就是核對倉庫現有實際數量和保管賬上的數量。
在企業執行過程中由於實際操作經常會有貨損(比如客戶買了2件商品但是可能實際庫存扣了3件或者商品報廢等等),為了瞭解貨物的流向且不讓實際貨物與賬上數量差距越來越大就需要定期盤點。
怎麼盤點
盤點時候需要比對倉庫和賬目上的商品狀態,如下圖所示:
所謂狀態就包含 無/有(有多少),所以我們需要分別從兩邊觸發進行比對,從上圖場景來看意味著我們即要從倉庫角度比對賬目資料,同時也要從賬目角度比對倉庫。為什麼要這樣,其原因是如果只從倉庫去比對賬戶,那麼[d:7]這個條目是無法比對出來的。
關於對賬
幾年前做過對賬系統,由於網路不可靠性我們需要核對 交易雙方的訂單的狀態。比如支付系統與銀行可能也會產生 (支付系統有銀行沒有)和(銀行有而支付系統沒有的情況),從狀態角度來說,我們要比對狀態就需要比對0/1-...N的情況,而0這種狀態使我們考慮問題經常忽略的。
說在後面的畫
盤點本身比較簡單,但是我更想說當我們考慮狀態問題的時候一定要對0這個狀態有敏感度。
比如一個服務沒有起來,變數沒有傳過來都是屬於0這個狀態。由於0狀態無法把資訊傳遞給對方,所以需要對方考慮這種容錯情況。
相關文章
- 對容器映象的思考和討論
- 【思考】$nextTick 與 setTimeout 的一點對比!
- 騰訊雲與阿里雲的對比阿里
- Python==與is對比Python
- 資料儲存加密的主流方案對比與難點解析加密
- 歷史對話整理:古代戰爭討論
- Linux與其他系統對比,具有哪些特點?Linux
- pyppeteer與selenium對比
- redis與rabbitmq對比RedisMQ
- 對比Riak與HbaseOS
- Kotlin 與 Java 對比KotlinJava
- 點對點傳輸效率對比測試——鐳速傳輸
- openGauss資料與PostgreSQL的差異對比SQL
- 小程式與Vue對比·資料繫結Vue
- BI工具對比|Smartbi與億信ABI兩款BI資料看板軟體對比
- openGauss 對比-磁碟與MOT
- synchronized 與 Lock 的對比synchronized
- Terraform與其他工具對比ORM
- MySQL 資料對比MySql
- 論資訊顯示對我生活的影響
- 訊飛星火大模型 與New Bing實測對比大模型
- 支付對賬系統序章:千萬級資料對賬怎麼這麼難?
- MySQL資料庫資料一致性比對的方案的探討MySql資料庫
- 對C++11中的`移動語義`與`右值引用`的介紹與討論C++
- 大廠面試題:ReentrantLock 與 synchronized異同點對比面試題ReentrantLocksynchronized
- ETL資料整合工具DataX、Kettle、ETLCloud特點對比Cloud
- 百萬資料的對賬優化優化
- Vue2與Vue3的元件通訊對比Vue元件
- matlab影像點運算 對比度增強 對比度拉伸 灰度變換Matlab
- MySQL 半同步 與Raft對比MySqlRaft
- TDSQL-A與CK的對比SQL
- 對比ubuntu與centos系統 UbuntuCentOS
- ubuntu與centos系統對比UbuntuCentOS
- RabbitMQ與Kafka選型對比MQKafka
- Linux容器與Docker的對比LinuxDocker
- HarmonyOS與Android的全面對比Android
- OSI與TCP/IP的對比TCP
- Servlet與Netty橫向對比ServletNetty