掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
公司存在多種物料種類(lèi)、不同類(lèi)型的庫(kù)存和價(jià)值管理不一,存貨系統(tǒng)目前主要接入包裝耗材、商品數(shù)據(jù)。目的是為了:

創(chuàng)新互聯(lián)建站于2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元西秀做網(wǎng)站,已為上家服務(wù),為西秀各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
存貨系統(tǒng)先接入了包耗材數(shù)據(jù),這類(lèi)數(shù)據(jù)的特性是行數(shù)據(jù)不多,但每行數(shù)量很大。后接入了商品的庫(kù)存,由于行數(shù)據(jù)量增長(zhǎng)N倍以上,并且隨著業(yè)務(wù)不斷增長(zhǎng)數(shù)據(jù)量越來(lái)越大,考慮到原有底層設(shè)計(jì)不能很好的支撐這么大的數(shù)據(jù)量,故有了這次系統(tǒng)的模型升級(jí)。
原業(yè)務(wù)流程在數(shù)據(jù)承接上跨越了核心P0鏈路后才把數(shù)據(jù)落地到庫(kù)存應(yīng)用(造成了一定的技術(shù)風(fēng)險(xiǎn),歷史上也確實(shí)發(fā)生過(guò)一次技術(shù)故障 ,消費(fèi)上游消息代碼有bug,導(dǎo)致P0清結(jié)算鏈路數(shù)據(jù)下發(fā)出現(xiàn)阻塞,影響了部分結(jié)算單據(jù)的處理時(shí)效):
(1)數(shù)據(jù)落庫(kù)在單據(jù)系統(tǒng)
(2)關(guān)聯(lián)訂單數(shù)據(jù)
(3)查詢(xún)出未稅單價(jià)
(4)組裝后下發(fā)庫(kù)存
重構(gòu)前的設(shè)計(jì),成本表存儲(chǔ)邏輯:不管每天成本價(jià)有沒(méi)有變化,都會(huì)維護(hù)一條記錄;臺(tái)賬表存儲(chǔ)邏輯:每天如果有出入庫(kù)數(shù)據(jù)按照業(yè)務(wù)類(lèi)型匯總+2條期初期末數(shù)據(jù),如果沒(méi)有出入庫(kù)數(shù)據(jù),只保存2條期初期末數(shù)據(jù)。從存儲(chǔ)邏輯不難看出存儲(chǔ)了很多冗余數(shù)據(jù),且臺(tái)賬表期初期末數(shù)據(jù)以行的形式存儲(chǔ)也是不合理的。
如下是例子數(shù)據(jù)
每天出入庫(kù)、調(diào)價(jià)單的數(shù)據(jù)
|
3/18 |
3/19 |
3/20 |
3/21 |
3/22 |
3/23 | |
|
明細(xì)數(shù)(出入庫(kù)、調(diào)價(jià)單) |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
|
總數(shù)量(出入庫(kù)、調(diào)價(jià)單) |
15000 |
30000 |
45000 |
60000 |
75000 |
90000 |
所有物料每天都需要計(jì)算一個(gè)成本價(jià)
|
3/18 |
3/19 |
3/20 |
3/21 |
3/22 |
3/23 | |
|
總數(shù)量 |
15000 |
45000 |
90000 |
150000 |
225000 |
315000 |
日臺(tái)賬:匯總當(dāng)天明細(xì)數(shù)據(jù)、以及期初、期末價(jià)格和數(shù)量 月臺(tái)賬:匯總當(dāng)月明細(xì)數(shù)據(jù)、以及期初、期末價(jià)格和數(shù)量
|
3/18 |
3/19 |
3/20 |
3/21 |
3/22 |
3/23 | |
|
總數(shù)量 |
45000 |
135000 |
270000 |
450000 |
675000 |
945000 |
通過(guò)大盤(pán)和臺(tái)賬表分析,在接入倉(cāng)庫(kù)商品數(shù)據(jù)后,頁(yè)面查詢(xún)接口耗時(shí)很高,接口性能存在問(wèn)題
比如一個(gè)物料,3月1日的成本價(jià)為100元,后在3月30日又進(jìn)一件成本價(jià)200元的相同物料,則我們庫(kù)里的記錄信息如下, 2條數(shù)據(jù)即可 , 【無(wú)須每日更新數(shù)據(jù),只有當(dāng)前物料當(dāng)日有出入庫(kù)、調(diào)價(jià)數(shù)據(jù)時(shí),才需要插入當(dāng)日最新數(shù)據(jù)】,
實(shí)際場(chǎng)景,當(dāng)業(yè)務(wù)代碼查詢(xún)3月10日的成本價(jià)時(shí),往前查詢(xún)到03.01的數(shù)據(jù)即可
|
日期 |
物料編碼 |
成本價(jià) |
|
03.01 |
BZCL |
100 |
|
03.30 |
BZCL |
(100+200)/2 =150 |
而不是30條數(shù)據(jù) ( 03.02 至 03.29,這28條數(shù)據(jù)都是冗余的數(shù)據(jù))
|
日期 |
物料編碼 |
成本價(jià) |
|
03.01 |
BZCL |
100 |
|
03.02 |
BZCL |
100 |
|
03.03 |
BZCL |
100 |
|
。 |
。 |
。 |
|
03.29 |
BZCL |
100 |
|
03.30 |
BZCL |
150 |
由于數(shù)據(jù)存儲(chǔ)邏輯變更,只會(huì)存儲(chǔ)有變動(dòng)的數(shù)據(jù),而進(jìn)銷(xiāo)存報(bào)表是每天都需要產(chǎn)出的不管數(shù)據(jù)有沒(méi)有變化。結(jié)合當(dāng)前業(yè)務(wù)邏輯以及數(shù)據(jù)量最后決定把數(shù)據(jù)同步到數(shù)倉(cāng),在數(shù)倉(cāng)進(jìn)行數(shù)據(jù)補(bǔ)全后,通過(guò)報(bào)表平臺(tái)拉取報(bào)表信息。
數(shù)據(jù)同步流程如下:
每月節(jié)省核算以及審核時(shí)間約30小時(shí),占核算組總月結(jié)時(shí)間比例為30%。
(1)技術(shù)價(jià)值:首次嘗試了在線TIDB切換流程(包括數(shù)據(jù)復(fù)制、數(shù)據(jù)同步、數(shù)據(jù)比對(duì)、數(shù)據(jù)切流),積累了TIDB切換經(jīng)驗(yàn),給后續(xù)的TIDB遷移專(zhuān)項(xiàng)提供了經(jīng)驗(yàn)沉淀。
(2)技術(shù)價(jià)值:把P0級(jí)的清結(jié)算應(yīng)用里的部分功能遷移到庫(kù)存應(yīng)用中,解決了大流量的倉(cāng)庫(kù)數(shù)據(jù)下傳至清結(jié)算應(yīng)用的風(fēng)險(xiǎn),實(shí)現(xiàn)了交易和非交易在應(yīng)用級(jí)別的解耦和隔離。
(3) 團(tuán)隊(duì)價(jià)值:以賽代練,通過(guò)該項(xiàng)目培養(yǎng)了組內(nèi)成員對(duì)于數(shù)倉(cāng)平臺(tái)和報(bào)表平臺(tái)的實(shí)踐和使用,拓寬了團(tuán)隊(duì)整體的技術(shù)棧,并積累了數(shù)據(jù)開(kāi)發(fā)的對(duì)應(yīng)經(jīng)驗(yàn),也落地了數(shù)倉(cāng)平臺(tái)和報(bào)表平臺(tái)的操作使用文檔(節(jié)省了后續(xù)團(tuán)隊(duì)成員的數(shù)據(jù)開(kāi)發(fā)熟悉接入的成本)。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流