国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

超市托盤共用系統(tǒng)設(shè)計(jì)

2021-01-11 06:40佘紅艷
物流技術(shù) 2020年12期
關(guān)鍵詞:共用供應(yīng)商區(qū)塊

佘紅艷

(華錄易云科技有限公司,四川 成都 610000)

1 引言

政府在《物流業(yè)發(fā)展中長(zhǎng)期規(guī)劃(2014-2020年)》中將開展托盤循環(huán)共用作為物流行業(yè)的發(fā)展重點(diǎn),且近幾年我國(guó)分別出臺(tái)了《物流產(chǎn)業(yè)調(diào)整與振興規(guī)劃》、《商貿(mào)物流標(biāo)準(zhǔn)化專項(xiàng)行動(dòng)計(jì)劃》和《物流標(biāo)準(zhǔn)化中長(zhǎng)期發(fā)展規(guī)劃》等文件推進(jìn)托盤共用系統(tǒng)發(fā)展。現(xiàn)如今我國(guó)推廣托盤循環(huán)共用已經(jīng)有4-5 年的時(shí)間了,多家企業(yè)和城市的試點(diǎn)推廣都取得了很好的效果。

國(guó)家對(duì)超市托盤共用系統(tǒng)重視的同時(shí),一些大型超市也開始積極進(jìn)行托盤共用嘗試,并取得了不錯(cuò)的效果。例如沃爾瑪在中國(guó)嘗試推行托盤共用后收貨率提高了129%,貨物裝卸率由原來(lái)的一車貨需要4小時(shí)裝卸縮短至半小時(shí),同時(shí)配送中心的作業(yè)能力得到顯著的提升,貨損率降低,門店響應(yīng)時(shí)間也由原來(lái)的32小時(shí)縮短至20小時(shí),門店有貨率由原來(lái)的95%提高至99%。而華潤(rùn)在進(jìn)行托盤共用后,配送周轉(zhuǎn)時(shí)間降低4-6 個(gè)小時(shí),整體效率提升了2-3 倍以上。因此,托盤共用可以為超市節(jié)省收貨時(shí)間,降低貨損,提高裝卸效率,降低成本。

雖然一些大型超市積極進(jìn)行托盤共用嘗試并且取得了很好的效果,具有很大的潛力,但現(xiàn)在只有少數(shù)超市進(jìn)行托盤共用,多數(shù)超市還只將托盤應(yīng)用在倉(cāng)庫(kù)中,僅僅提高了倉(cāng)庫(kù)的周轉(zhuǎn)效率,還有一些超市只將托盤應(yīng)用在倉(cāng)庫(kù)的裝卸環(huán)節(jié)中,這就導(dǎo)致托盤共用的效用大打折扣。因此,為了提高超市的裝卸效率、降低成本、降低貨損,對(duì)超市托盤共用系統(tǒng)進(jìn)行設(shè)計(jì)具有重要意義。

本文在分析超市托盤共用現(xiàn)狀的基礎(chǔ)上,提出適合超市場(chǎng)景的托盤共用模式和流程,引入?yún)^(qū)塊鏈技術(shù)設(shè)計(jì)超市托盤共用系統(tǒng),促進(jìn)超市托盤共用。

2 超市托盤共用流程設(shè)計(jì)

2.1 超市托盤共用現(xiàn)狀

目前托盤在超市中的共用方式主要是交換模式和轉(zhuǎn)移模式。交換模式是超市接收多少供應(yīng)商的帶貨托盤,交付給供應(yīng)商多少空托盤,如圖1 所示。轉(zhuǎn)移模式是供應(yīng)商和超市均在托盤租賃公司注冊(cè)賬號(hào),用來(lái)結(jié)算托盤的租金,當(dāng)托盤將貨物從供應(yīng)商運(yùn)輸?shù)匠袝r(shí),托盤的使用方由供應(yīng)商轉(zhuǎn)移到超市,托盤租金結(jié)算也相應(yīng)的從供應(yīng)商轉(zhuǎn)移到超市,如圖2所示。

圖2 轉(zhuǎn)移模式

在使用過(guò)程中,交換模式對(duì)于托盤的管理相對(duì)簡(jiǎn)單,不需要在托盤租賃企業(yè)擁有賬戶,供應(yīng)商運(yùn)輸貨物到達(dá)超市時(shí)當(dāng)場(chǎng)完成托盤交換,但是對(duì)于供應(yīng)商而言,一方面運(yùn)輸車輛的利用會(huì)出現(xiàn)問(wèn)題,因?yàn)楣?yīng)商有可能對(duì)運(yùn)輸配送車輛有其他的安排,假設(shè)供應(yīng)商將貨物運(yùn)輸?shù)匠泻?,運(yùn)輸車輛要去下一個(gè)供應(yīng)商裝貨,但是由于超市交換了空托盤從而導(dǎo)致空托盤占用車輛的運(yùn)輸空間,影響接下來(lái)的運(yùn)輸工作。另一方面需要供應(yīng)商和超市擁有一定數(shù)量的托盤進(jìn)行日常的托盤交換工作,而且要求供應(yīng)商到達(dá)超市卸貨時(shí)當(dāng)場(chǎng)完成托盤交換,這就要求超市本身?yè)碛械耐斜P數(shù)量大于接收的帶貨托盤數(shù)量,在一定程度上造成超市前期投入大,流動(dòng)資金減少。

轉(zhuǎn)移模式雖然不會(huì)影響供應(yīng)商運(yùn)輸車輛接下來(lái)的工作,也不需要超市擁有一定數(shù)量的托盤,減少了購(gòu)買托盤資金的投入,但是在轉(zhuǎn)移模式中,供應(yīng)商會(huì)持續(xù)送貨到超市,短時(shí)間內(nèi)會(huì)造成超市內(nèi)托盤數(shù)量快速增加,從而導(dǎo)致托盤數(shù)量的積壓,來(lái)不及消化,假如積累的托盤數(shù)量超過(guò)需求量,就會(huì)增加托盤的租賃使用費(fèi)用,而且造成托盤利用率降低,浪費(fèi)社會(huì)資源。

2.2 超市托盤共用模式

在以超市為中心的供應(yīng)鏈上的企業(yè)屬于零售業(yè)的重要組成部分,具有零售業(yè)淡旺季供貨量波動(dòng)大的特點(diǎn),如果自購(gòu)?fù)斜P,則需要按照托盤的最大需求量進(jìn)行購(gòu)買,會(huì)造成資金投入大,而且在淡季托盤閑置,還會(huì)浪費(fèi)存儲(chǔ)費(fèi)用。由于不是專業(yè)的托盤服務(wù)企業(yè),對(duì)于托盤的管理維護(hù)存在很大的問(wèn)題,托盤本身的維護(hù)管理成本較高,假如需要自行對(duì)托盤進(jìn)行維護(hù)管理會(huì)造成企業(yè)成本增加,而且一旦管理維修不當(dāng)會(huì)在使用過(guò)程中出現(xiàn)貨損的情況。同時(shí)零售業(yè)供應(yīng)鏈的優(yōu)化方向是去庫(kù)存,帶托運(yùn)輸是實(shí)現(xiàn)去庫(kù)存的重要基礎(chǔ),想要上下游帶托一貫化運(yùn)輸,自購(gòu)?fù)斜P是很難做到的。我國(guó)專業(yè)托盤服務(wù)商能夠提供優(yōu)質(zhì)服務(wù),可以隨租隨退,租賃托盤方便。因此本文的超市托盤共用系統(tǒng)中流轉(zhuǎn)的托盤是向?qū)I(yè)托盤租賃企業(yè)租賃的托盤,在借鑒現(xiàn)有托盤共用模式的基礎(chǔ)上考慮托盤再分派對(duì)空盤進(jìn)行調(diào)度,超市托盤共用模式如圖3所示。

圖3 超市托盤共用模式

由圖3可知,在超市托盤共用系統(tǒng)中流轉(zhuǎn)的托盤是向?qū)I(yè)的托盤租賃企業(yè)租賃的托盤,也就是托盤租賃企業(yè)為超市托盤共用系統(tǒng)提供托盤池,以便于托盤在超市共用系統(tǒng)中更好的流轉(zhuǎn)。上游供應(yīng)商向?qū)I(yè)托盤服務(wù)商租賃托盤,專業(yè)托盤服務(wù)商提供空盤給供應(yīng)商,上游供應(yīng)商將貨物裝載至托盤上形成帶貨托盤運(yùn)輸單元,將帶貨托盤運(yùn)輸至超市,超市接收帶貨托盤后對(duì)托盤的處理方式分為三種情況,第一種超市自身需要使用托盤,則將托盤的租賃方由上游供應(yīng)商轉(zhuǎn)移至超市;第二種情況是附近的節(jié)點(diǎn)有托盤需求,那么進(jìn)行托盤再分派;第三種情況是周圍節(jié)點(diǎn)沒有需求,自身同樣也不需要,則與專業(yè)托盤服務(wù)商進(jìn)行還盤操作。

圖4 超市托盤共用流程

2.3 超市托盤共用流程設(shè)計(jì)

由于超市托盤共用是為了實(shí)現(xiàn)上游供應(yīng)商與超市的托盤共用,因此在托盤共用模式的基礎(chǔ)上設(shè)計(jì)托盤共用流程,如圖4 所示,相關(guān)主體包括供應(yīng)商、超市、專業(yè)托盤服務(wù)商以及配送車輛,主要的流程包括:托盤租賃、發(fā)貨、運(yùn)輸、收貨和還盤。

3 超市托盤共用系統(tǒng)需求

3.1 系統(tǒng)相關(guān)主體

用戶主體是指系統(tǒng)服務(wù)的對(duì)象,用戶主體對(duì)系統(tǒng)的目標(biāo)要求是系統(tǒng)需求分析、功能模塊設(shè)計(jì)以及系統(tǒng)設(shè)計(jì)的基礎(chǔ)。

本文的超市托盤共用系統(tǒng)是在前面超市托盤共用分析設(shè)計(jì)的基礎(chǔ)上設(shè)計(jì)的超市托盤共用系統(tǒng),因此本文設(shè)計(jì)的超市托盤共用系統(tǒng)的用戶主體主要是專業(yè)托盤服務(wù)商、超市供應(yīng)鏈上的上游供應(yīng)商以及超市。在超市托盤共用系統(tǒng)中專業(yè)托盤服務(wù)商作為托盤供應(yīng)商方提供托盤服務(wù),上游供應(yīng)商和超市是托盤的使用方。

3.2 系統(tǒng)需求分析

超市托盤共用系統(tǒng)是為了實(shí)現(xiàn)超市托盤共用,基于前面的分析,超市托盤共用中用戶所存儲(chǔ)的托盤數(shù)量真實(shí)性關(guān)系著托盤共用系統(tǒng)中托盤利用率和成本。

托盤共用系統(tǒng)能夠高速有效的運(yùn)轉(zhuǎn)是基于用戶的信任,只有互相信任才能簡(jiǎn)化為了實(shí)現(xiàn)托盤共用而增加的處理信任問(wèn)題存在的復(fù)雜手續(xù)。并且為了對(duì)超市托盤共用系統(tǒng)中的托盤進(jìn)行更好的管理,托盤需要能夠被追溯。所以本小節(jié)總結(jié)出要建立一個(gè)超市托盤共用系統(tǒng)具有以下需求:

3.2.1 信任需求?,F(xiàn)有的托盤共用系統(tǒng)中信任大都是基于運(yùn)營(yíng)方,大多數(shù)中心化結(jié)構(gòu)的系統(tǒng)都是由單一的運(yùn)營(yíng)商進(jìn)行研發(fā)與維護(hù)的,當(dāng)用戶需要用托盤時(shí)都將自身的信息提供給運(yùn)營(yíng)商,需要非常信任運(yùn)營(yíng)商。

3.2.2 數(shù)據(jù)分布式存儲(chǔ)需求。由于當(dāng)前的托盤共用系統(tǒng)大多都是基于Web應(yīng)用程序開發(fā)技術(shù)與中心化存儲(chǔ)的應(yīng)用程序,中心化的存儲(chǔ)容易被破壞,并且系統(tǒng)日志或者操作記錄數(shù)據(jù)容易被篡改,且難以追責(zé),數(shù)據(jù)真實(shí)性存疑。而進(jìn)行數(shù)據(jù)分布式儲(chǔ)存后每個(gè)節(jié)點(diǎn)都進(jìn)行數(shù)據(jù)存儲(chǔ),單節(jié)點(diǎn)數(shù)據(jù)被修改沒有價(jià)值,從而避免數(shù)據(jù)由一方掌控的現(xiàn)象。

3.2.3 系統(tǒng)數(shù)據(jù)真實(shí)的需求。各個(gè)用戶的數(shù)據(jù)造假和錯(cuò)誤的數(shù)據(jù)將會(huì)影響托盤共用系統(tǒng)中托盤的高效利用,在一定程度上增加成本。

3.2.4 完整追溯托盤信息的需求。超市托盤共用系統(tǒng)中,托盤直接由還盤方調(diào)度到托盤需求方,精簡(jiǎn)了還盤租盤的步驟,但是對(duì)于托盤的定位有了更高的要求,需要避免托盤丟失以及丟失后難以追責(zé)的問(wèn)題,所以對(duì)于托盤信息以及托盤流轉(zhuǎn)追溯十分重要。在前面的技術(shù)分析中可知,區(qū)塊鏈?zhǔn)且环N按時(shí)間順序?qū)^(qū)塊互相連接形成鏈狀結(jié)構(gòu)的分布式存儲(chǔ)賬本,具有去中心化、數(shù)據(jù)不可篡改、安全可信的特點(diǎn)。所以為了保證超市托盤共用系統(tǒng)中數(shù)據(jù)的真實(shí)性,解決系統(tǒng)信任問(wèn)題,簡(jiǎn)化超市托盤共用的手續(xù)以及更好的進(jìn)行管理托盤,引入?yún)^(qū)塊鏈技術(shù)建立超市托盤共用系統(tǒng)。

3.3 系統(tǒng)功能分析

在超市托盤共用系統(tǒng)中,用戶需要登錄系統(tǒng),并且在系統(tǒng)中能夠?qū)ν斜P交易進(jìn)行管理和查詢,能夠調(diào)度托盤和進(jìn)行托盤租金結(jié)算,系統(tǒng)功能如圖5 所示。

3.3.1 登錄管理

(1)賬戶注冊(cè)。在目前有些應(yīng)用程序中,用戶可以匿名以游客模式訪問(wèn)系統(tǒng),但是由于超市托盤共用系統(tǒng)是僅僅為超市供應(yīng)鏈用戶服務(wù)的,是為了能夠追溯托盤交易信息,保證托盤交易信息的可信和安全,因此用戶必須登錄注冊(cè)才能夠訪問(wèn)系統(tǒng)。

圖5 系統(tǒng)功能圖

(2)用戶登錄。用戶輸入注冊(cè)時(shí)的密鑰就可以登錄系統(tǒng)。對(duì)用戶進(jìn)行驗(yàn)證時(shí)需要用戶再次輸入密鑰產(chǎn)生的新地址與之前保存的公鑰地址進(jìn)行對(duì)比,結(jié)果一樣即可以訪問(wèn)系統(tǒng)。

3.3.2 交易管理。在這個(gè)超市托盤共用系統(tǒng)中的核心就是托盤交易。其中托盤交易發(fā)起者、交易接收者、發(fā)送的托盤數(shù)量是發(fā)起托盤交易的三個(gè)必不可少的要素,通常是由發(fā)起者輸入發(fā)送的托盤數(shù)量以及接收者的賬戶地址后,系統(tǒng)會(huì)對(duì)三要素進(jìn)行合法性校驗(yàn),主要是要校驗(yàn)發(fā)起者和接收者是系統(tǒng)的合法用戶,以及校驗(yàn)發(fā)送者的交易托盤數(shù)量是否超過(guò)了發(fā)起者現(xiàn)有的托盤存儲(chǔ)數(shù)量,通過(guò)校驗(yàn)后,托盤交易發(fā)起者會(huì)對(duì)交易進(jìn)行數(shù)字簽名,然后通過(guò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)廣播到系統(tǒng)中。在系統(tǒng)中還可以對(duì)托盤交易進(jìn)行查詢。

(1)托盤調(diào)度。在超市托盤共用系統(tǒng)中各個(gè)節(jié)點(diǎn)之間可以進(jìn)行托盤調(diào)度。某一節(jié)點(diǎn)A的托盤現(xiàn)有量少于托盤需求預(yù)測(cè)量時(shí),節(jié)點(diǎn)A 發(fā)布托盤租賃請(qǐng)求,通過(guò)托盤共用系統(tǒng)驗(yàn)證后,通過(guò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)廣播到系統(tǒng)各節(jié)點(diǎn)中,系統(tǒng)匹配附近節(jié)點(diǎn)。假設(shè)附近節(jié)點(diǎn)的存儲(chǔ)托盤數(shù)量大于自身節(jié)點(diǎn)的托盤需求量且大于等于節(jié)點(diǎn)A 的托盤調(diào)度量,則附近節(jié)點(diǎn)進(jìn)行托盤再分派,由附近節(jié)點(diǎn)發(fā)起托盤交易,節(jié)點(diǎn)A 接收交易,配送車輛提供運(yùn)輸服務(wù)。假設(shè)附近節(jié)點(diǎn)均不符合調(diào)度需求,那么系統(tǒng)通知托盤租賃企業(yè)發(fā)起托盤交易,由節(jié)點(diǎn)A接收交易,配送車輛提供托盤運(yùn)輸服務(wù)。

(2)錢包管理。在本系統(tǒng)中的托盤均來(lái)自于托盤租賃企業(yè),需要對(duì)托盤進(jìn)行租金支付,并對(duì)提供托盤調(diào)度服務(wù)的配送車輛進(jìn)行服務(wù)費(fèi)用支付。

4 超市托盤共用系統(tǒng)設(shè)計(jì)

4.1 系統(tǒng)架構(gòu)設(shè)計(jì)

為了滿足超市托盤共用系統(tǒng)信任、數(shù)據(jù)真實(shí)、數(shù)據(jù)可追溯以及分布式存儲(chǔ)的需求,本文的超市托盤共用系統(tǒng)采用區(qū)塊鏈技術(shù)來(lái)設(shè)計(jì),系統(tǒng)總體架構(gòu)如圖6所示。

圖6 系統(tǒng)總體架構(gòu)

4.2 區(qū)塊鏈層設(shè)計(jì)

區(qū)塊鏈技術(shù)在中本聰(Satoshi nakamoto)的《比特幣:一種點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)》一文中首次被提出,它是一種把數(shù)據(jù)區(qū)塊按時(shí)間順序形成鏈狀結(jié)構(gòu)的去中心化共享總賬,其中應(yīng)用共識(shí)機(jī)制和P2P來(lái)確保系統(tǒng)的去中心化,應(yīng)用密碼學(xué)來(lái)保證數(shù)據(jù)的不可篡改和造假[1]。

4.2.1 數(shù)據(jù)區(qū)塊的形成。區(qū)塊就是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的數(shù)據(jù)元素,數(shù)據(jù)區(qū)塊的結(jié)構(gòu)包括區(qū)塊頭和區(qū)塊體,數(shù)據(jù)區(qū)塊對(duì)應(yīng)類應(yīng)包含相關(guān)信息,并能夠?qū)崿F(xiàn)創(chuàng)建新區(qū)塊、添加有效數(shù)據(jù)、校驗(yàn)數(shù)據(jù)、校驗(yàn)Merkle 根等功能。在超市托盤共用系統(tǒng)中,數(shù)據(jù)區(qū)塊形成的過(guò)程如圖7所示。

圖7 區(qū)塊鏈數(shù)據(jù)區(qū)塊形成過(guò)程圖

由圖7 可知,當(dāng)前區(qū)塊的前一區(qū)塊是父塊,一個(gè)區(qū)塊包括區(qū)塊頭和區(qū)塊體,區(qū)塊頭記錄區(qū)塊的元信息,包含當(dāng)前區(qū)塊的版本號(hào)、時(shí)間戳、隨機(jī)數(shù)、Merkle等。其中前一個(gè)區(qū)塊地址是父塊區(qū)塊頭數(shù)據(jù)通過(guò)hash算法生成的hash值。區(qū)塊體記錄一定時(shí)間內(nèi)所發(fā)生的交易數(shù)據(jù),區(qū)塊體中通過(guò)hash 算法把區(qū)塊中的交易信息進(jìn)行加密,通過(guò)加密后的交易信息被壓縮成一串?dāng)?shù)字和字母組成的散列字符串。一個(gè)區(qū)塊可以有多個(gè)交易信息,通過(guò)hash 算法對(duì)交易信息加密,不斷進(jìn)行hash計(jì)算,最后生成Merkle存入?yún)^(qū)塊頭中。

4.2.2 共識(shí)機(jī)制。所謂的共識(shí)必須遵循安全性和活躍性兩個(gè)屬性。安全性是指保證每個(gè)節(jié)點(diǎn)相同的輸入序列和相同的輸出,即一個(gè)節(jié)點(diǎn)接收到一筆交易,其他所有節(jié)點(diǎn)的狀態(tài)變化是一模一樣的。活躍性是指每一個(gè)節(jié)點(diǎn)都必須接收到所有提交的交易。而共識(shí)機(jī)制是區(qū)塊鏈的核心模塊,可以保證在沒有中心主體進(jìn)行控制的情況下,系統(tǒng)中的各個(gè)參與方能夠遵循相同的規(guī)則,實(shí)現(xiàn)數(shù)據(jù)分布式記賬的一致性。即共識(shí)機(jī)制是各節(jié)點(diǎn)在記賬權(quán)歸屬問(wèn)題上達(dá)成共識(shí)的機(jī)制。本系統(tǒng)是為超市供應(yīng)鏈上的用戶服務(wù)的,在此應(yīng)用Fabric網(wǎng)絡(luò)進(jìn)行系統(tǒng)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建,F(xiàn)abric區(qū)塊鏈網(wǎng)絡(luò)具有支持插拔式共識(shí)機(jī)制的特點(diǎn)。在多節(jié)點(diǎn)情況下在Fabric 中達(dá)成共識(shí)可以使用實(shí)用拜占庭容錯(cuò)算法(FBFT)。FBFT 降低了拜占庭協(xié)議的運(yùn)行的復(fù)雜度,使其能應(yīng)用在分布式系統(tǒng)中。作為一種狀態(tài)機(jī)復(fù)制的FBFT 被要求共同維護(hù)的是一個(gè)狀態(tài),所有節(jié)點(diǎn)的行動(dòng)是一致的。PBFT 在能夠保證活性和安全性的前提下提供了(n-1)/3 的容錯(cuò)性[2]。PFFT算法的運(yùn)作步驟為:

(1)選一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn);

(2)用戶端向主節(jié)點(diǎn)發(fā)起請(qǐng)求;

(3)主節(jié)點(diǎn)將客戶端的請(qǐng)求進(jìn)行排序生成序號(hào),將用戶端的請(qǐng)求和序號(hào)通過(guò)廣播發(fā)送給其他節(jié)點(diǎn);

(4)所有節(jié)點(diǎn)執(zhí)行請(qǐng)求后將結(jié)果發(fā)回用戶端;

(5)用戶端F+1個(gè)不同節(jié)點(diǎn)發(fā)回來(lái)的結(jié)果是最終的結(jié)果,步驟如圖8 所示,圖中×掉的節(jié)點(diǎn)是錯(cuò)誤節(jié)點(diǎn)或者內(nèi)奸節(jié)點(diǎn)。

圖8 FBFT

假設(shè)超市托盤共用系統(tǒng)中具有N-1 個(gè)從節(jié)點(diǎn),一個(gè)主節(jié)點(diǎn)O,從節(jié)點(diǎn)根據(jù)加入的順序排序?yàn)?,2,...,N-1。根據(jù)FBFT,最多能容忍的“內(nèi)奸節(jié)點(diǎn)”或者“錯(cuò)誤節(jié)點(diǎn)”為(N-1)/3 個(gè)。在不同的用戶在客戶端向主節(jié)點(diǎn)發(fā)起托盤交易、托盤調(diào)度、租金轉(zhuǎn)賬和托盤查詢等請(qǐng)求時(shí),主節(jié)點(diǎn)接收客戶端的請(qǐng)求,并且對(duì)請(qǐng)求進(jìn)行排序分配序列號(hào),主節(jié)點(diǎn)將客戶端的請(qǐng)求序列號(hào)廣播給從節(jié)點(diǎn),從節(jié)點(diǎn)收到主節(jié)點(diǎn)分配的序列并且節(jié)點(diǎn)間相互確認(rèn)消息,如果有一個(gè)節(jié)點(diǎn)是內(nèi)奸節(jié)點(diǎn),則不會(huì)跟其他節(jié)點(diǎn)進(jìn)行相互確認(rèn),之后各個(gè)節(jié)點(diǎn)對(duì)視圖內(nèi)的請(qǐng)求和序列號(hào),進(jìn)行Commit 消息廣播。最后各個(gè)節(jié)點(diǎn)執(zhí)行請(qǐng)求并將結(jié)果回執(zhí)給客戶端,客戶端在一段時(shí)間內(nèi)收到F+1個(gè)回執(zhí)消息就可以將結(jié)果作為最終結(jié)果。

4.2.3 智能合約。智能合約最早由科學(xué)家Nick Szabo 提出,其定義的智能合約為一種自動(dòng)執(zhí)行的協(xié)議[3]。智能合約是部署在區(qū)塊鏈上的一段鏈碼,具體根據(jù)應(yīng)用場(chǎng)景實(shí)現(xiàn)業(yè)務(wù)邏輯,在Fabric 中,智能合約實(shí)現(xiàn)的方式是鏈碼(Chaincode),在超市托盤共用系統(tǒng)中智能合約主要是為了實(shí)現(xiàn)托盤交易和托盤信息查詢功能,并且定義相關(guān)數(shù)據(jù)結(jié)構(gòu),方便數(shù)據(jù)結(jié)構(gòu)的序列化以及反序列化。

為了實(shí)現(xiàn)超市托盤共用信息查詢,對(duì)托盤的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了定義,托盤數(shù)據(jù)結(jié)構(gòu)體定義的數(shù)據(jù)為:托盤的ID、托盤的租賃價(jià)格以及托盤所有者,具體如圖9所示。

圖9 托盤數(shù)據(jù)結(jié)構(gòu)

4.3 系統(tǒng)業(yè)務(wù)邏輯

本文的系統(tǒng)是基于Fabric進(jìn)行設(shè)計(jì)的,在超市托盤共用系統(tǒng)中要實(shí)現(xiàn)托盤交易、托盤信息查詢以及托盤調(diào)度等需求的關(guān)鍵是智能合約,而智能合約是根據(jù)實(shí)際應(yīng)用場(chǎng)景的業(yè)務(wù)邏輯來(lái)開發(fā)的,所以超市托盤共用系統(tǒng)中業(yè)務(wù)邏輯的設(shè)計(jì)是實(shí)現(xiàn)超市托盤共用系統(tǒng)的基礎(chǔ)。

4.3.1 登錄/注冊(cè)業(yè)務(wù)邏輯。為了保證超市托盤共用系統(tǒng)用戶互相信任,超市托盤共用系統(tǒng)只有與超市有配送業(yè)務(wù)往來(lái)的供應(yīng)商以及超市自身的配送中心進(jìn)入。并且為保證托盤共用結(jié)果可追溯,本系統(tǒng)只有供應(yīng)商和超市配送中心注冊(cè)后才能進(jìn)入。每個(gè)用戶在注冊(cè)時(shí)會(huì)產(chǎn)生唯一的私鑰、公鑰以及地址,私鑰主要是用來(lái)對(duì)發(fā)起的交易進(jìn)行數(shù)字簽名,公鑰是用來(lái)對(duì)信息進(jìn)行加密,區(qū)塊鏈地址用來(lái)對(duì)交易記錄進(jìn)行追溯。公鑰和區(qū)塊鏈地址是通過(guò)私鑰計(jì)算得來(lái)的,但是公鑰和區(qū)塊鏈不能反推得到私鑰,即區(qū)塊鏈?zhǔn)褂玫氖欠菍?duì)稱加密技術(shù),區(qū)塊鏈地址、公鑰與私鑰都是唯一的。

每個(gè)賬戶的登錄/注冊(cè)流程如圖10所示。

圖10 登錄注冊(cè)邏輯

4.3.2 交易邏輯。超市托盤共用系統(tǒng)的核心是托盤交易,超市托盤交易中主要是指的帶貨托盤和空托盤在兩個(gè)不同節(jié)點(diǎn)之間的移動(dòng)。帶貨托盤的交易是由節(jié)點(diǎn)根據(jù)運(yùn)輸貨物的需求將托盤交易給接收貨物即接收托盤的節(jié)點(diǎn)。具體的的交易流程如圖11 所示。

由圖11 可知,帶貨托盤交易涉及的用戶節(jié)點(diǎn)主要為供應(yīng)商節(jié)點(diǎn)、配送車輛和超市,帶貨托盤由上游供應(yīng)商發(fā)往超市,所以由供應(yīng)商發(fā)起托盤交易,超市托盤共用系統(tǒng)判斷是否符合交易條件即供應(yīng)商是否具有足夠托盤數(shù)量進(jìn)行托盤交易,超市接收交易,配送車輛根據(jù)交易提供服務(wù),最后由超市托盤共用系統(tǒng)確認(rèn)交易。

圖11 帶貨托盤交易邏輯

由圖12 可知,當(dāng)超市節(jié)點(diǎn)和供應(yīng)商節(jié)點(diǎn)有托盤租賃需求時(shí),由超市、供應(yīng)商節(jié)點(diǎn)發(fā)布租賃需求,超市托盤共用系統(tǒng)判斷就近滿足托盤需求的節(jié)點(diǎn),由就近能滿足托盤租賃需求的節(jié)點(diǎn)發(fā)起托盤交易,超市托盤共用系統(tǒng)驗(yàn)證交易以及確認(rèn)交易,配送車輛根據(jù)交易提供服務(wù)。

由圖13 可知,當(dāng)供應(yīng)商或超市節(jié)點(diǎn)有還盤需求時(shí),有兩種情況,一是附近的系統(tǒng)用戶有托盤需求且供應(yīng)商或超市節(jié)點(diǎn)能滿足附近用戶托盤需求,由超市或供應(yīng)商發(fā)起托盤交易,附近用戶接收交易,超市托盤共用系統(tǒng)驗(yàn)證和確認(rèn)交易,配送車輛根據(jù)交易提供服務(wù)。二是附近用戶沒有托盤需求或者不滿足附近用戶的托盤需求,就只能將托盤歸還至托盤租賃企業(yè),由托盤租賃企業(yè)接收交易。

4.3.3 調(diào)度邏輯。在超市托盤共用系統(tǒng)中,要形成托盤的循環(huán)共用,托盤調(diào)度功能必不可少。調(diào)度邏輯如圖14所示。

由圖14 可知,超市托盤共用系統(tǒng)涉及的主體主要是托盤需求方、附近節(jié)點(diǎn)以及專業(yè)托盤服務(wù)商,滿足托盤需求方需求的用戶可能是附近節(jié)點(diǎn)也可能是專業(yè)托盤服務(wù)商,根據(jù)就近原則選擇滿足托盤需求的用戶發(fā)起托盤交易,超市托盤共用系統(tǒng)驗(yàn)證交易,托盤需求方接收交易,配送車輛提供服務(wù),最終確認(rèn)交易完成調(diào)度。

圖12 空盤交易邏輯1

圖13 空盤交易邏輯2

4.4 部分功能實(shí)現(xiàn)

本節(jié)基于超市托盤共用系統(tǒng)總體架構(gòu)、系統(tǒng)需求以及業(yè)務(wù)邏輯設(shè)計(jì),對(duì)超市托盤共用系統(tǒng)的部分原型進(jìn)行開發(fā),主要分為兩部分,一是超級(jí)賬本Fabric搭建,二是web客戶端開發(fā)。

圖14 調(diào)度邏輯

4.4.1 鏈碼開發(fā)。在Fabric 中,智能合約就是鏈碼,鏈碼在Fabric中分為系統(tǒng)鏈碼和用戶鏈碼,而根據(jù)現(xiàn)實(shí)場(chǎng)景定義業(yè)務(wù)邏輯的鏈碼通常指的是用戶鏈碼。鏈碼是用來(lái)訪問(wèn)超級(jí)賬本的方法,是用來(lái)實(shí)現(xiàn)規(guī)定接口的代碼。應(yīng)用層通過(guò)調(diào)用鏈碼來(lái)訪問(wèn)和管理賬本,鏈碼與鏈碼在有權(quán)限的情況下也可以互相調(diào)用。由于GO是Fabric的官方語(yǔ)言,所以本文選用GO語(yǔ)言進(jìn)行鏈碼開發(fā),本文鏈碼主要部分如圖15所示。

圖15 鏈碼Main結(jié)構(gòu)

4.4.2 部分功能。由于電科信鏈智能合約底層架構(gòu)是Fabric,并且使用的共識(shí)機(jī)制是PBFT,與本文的Fabric 底層環(huán)境以及調(diào)用的PBFT 共識(shí)機(jī)制一致,由于云環(huán)境中搭建的Fabric 環(huán)境不能直觀地展示托盤交易以及托盤查詢功能,所以本文將鏈碼部署在電科信鏈智能合約快速開發(fā)平臺(tái)上進(jìn)行實(shí)現(xiàn)。

(1)帶貨托盤交易實(shí)現(xiàn)。將根據(jù)帶貨托盤的交易邏輯開發(fā)且定義了托盤的數(shù)據(jù)結(jié)構(gòu)的鏈碼部署到平臺(tái)上,可以實(shí)現(xiàn)信息查詢、托盤交易功能。根據(jù)托盤交易邏輯,在超市托盤共用系統(tǒng)中是將托盤作為交易Token,直接進(jìn)行用戶間的托盤交易,在帶貨托盤交易流程中,托盤是由供應(yīng)商用戶交易給超市,初始化兩個(gè)用戶owner1 和owner2,帶貨托盤交易實(shí)現(xiàn)結(jié)果如圖16所示。

圖16 托盤交易實(shí)現(xiàn)

由圖16可知,通過(guò)invoke函數(shù)調(diào)用鏈碼,托盤實(shí)現(xiàn)了由owner1 到owner2 之間的流轉(zhuǎn),實(shí)現(xiàn)了一次交易過(guò)程,即實(shí)現(xiàn)了ID 為“tray1”的托盤由owner1 交易到owner2。

(2)交易信息查詢。在系統(tǒng)通過(guò)調(diào)用鏈碼實(shí)現(xiàn)托盤交易后,系統(tǒng)會(huì)產(chǎn)生交易日志,也就是交易記錄,能夠?qū)灰仔畔⑦M(jìn)行查詢,實(shí)現(xiàn)系統(tǒng)查詢功能中的交易查詢功能,查詢結(jié)果如圖17、圖18所示。

圖17 托盤交易信息

圖17 可以查詢到進(jìn)行過(guò)的所有托盤交易信息,圖18 能夠查詢具體的托盤交易信息,包括交易Hash、交易時(shí)間、交易結(jié)果以及所在區(qū)塊的具體信息,其中交易hash 是通過(guò)對(duì)交易信息進(jìn)行加密計(jì)算得到的hash值,交易時(shí)間是交易發(fā)生的時(shí)間。

圖18 托盤交易詳細(xì)信息

(3)托盤溯源。在進(jìn)行托盤交易后,可以通過(guò)調(diào)用鏈碼,查詢托盤的去向,如圖19所示。

圖19 托盤去向查詢

在圖19 中,通過(guò)query 函數(shù)調(diào)用鏈碼,可以得到ID為tray1的托盤,托盤流轉(zhuǎn)從owner1流向owner2,實(shí)現(xiàn)對(duì)托盤流向查詢,即能夠?qū)ν斜P進(jìn)行溯源。

(4)托盤信息查詢。鏈碼中定義托盤數(shù)據(jù)結(jié)構(gòu),鏈碼部署后,初始化數(shù)據(jù),可以通過(guò)query 函數(shù)調(diào)用鏈碼,進(jìn)行托盤信息查詢,查詢結(jié)果如圖20所示。

由圖20 可以看出定義的托盤信息,包括托盤的ID、托盤租賃價(jià)格以及托盤的所有者,實(shí)現(xiàn)托盤信息查詢功能。

(5)用戶賬戶信息查詢。在鏈碼中定義托盤所有者的數(shù)據(jù)結(jié)構(gòu),通過(guò)query 函數(shù)調(diào)用鏈碼,對(duì)Owner1用戶進(jìn)行查詢,能夠?qū)崿F(xiàn)對(duì)用戶賬戶信息的查詢功能,如圖21所示。

由圖21可知,系統(tǒng)實(shí)現(xiàn)了用戶賬戶信息查詢,能夠查詢到owner1的id,及對(duì)應(yīng)的現(xiàn)實(shí)用戶姓名,并能夠查詢用戶賬戶中的托盤,實(shí)現(xiàn)賬戶用戶信息查詢功能。

圖20 托盤信息查詢

5 總結(jié)

圖21 用戶賬戶信息查詢

本文在分析超市托盤共用現(xiàn)狀的基礎(chǔ)上,對(duì)超市托盤共用模式和共用流程進(jìn)行分析,引入?yún)^(qū)塊鏈技術(shù),根據(jù)用戶需求對(duì)超市托盤共用系統(tǒng)總體架構(gòu)進(jìn)行了設(shè)計(jì),對(duì)系統(tǒng)功能進(jìn)行了分析,并根據(jù)超市托盤共用系統(tǒng)的共用方案設(shè)計(jì)了系統(tǒng)實(shí)現(xiàn)的關(guān)鍵基礎(chǔ)業(yè)務(wù)邏輯。最后通過(guò)搭建Fabric網(wǎng)絡(luò)以及利用GO語(yǔ)言開發(fā)和部署符合業(yè)務(wù)邏輯和貼合超市托盤共用情景的鏈碼,進(jìn)而實(shí)現(xiàn)超市托盤共用系統(tǒng)的部分功能。

猜你喜歡
共用供應(yīng)商區(qū)塊
供應(yīng)商和客戶是否可以抑制企業(yè)在職消費(fèi)?
《紅樓夢(mèng)》的數(shù)字化述評(píng)——兼及區(qū)塊鏈的啟示
基于層次分析法的汽車備件供應(yīng)商選擇
區(qū)塊鏈助跑財(cái)資管理
一場(chǎng)區(qū)塊鏈引發(fā)的全民狂歡
區(qū)塊鏈助力企業(yè)創(chuàng)新
海德威,最佳壓載水處理解決方案供應(yīng)商
多種方法解“婦人洗碗問(wèn)題”
活該你單身
推薦供應(yīng)商
积石山| 若尔盖县| 金坛市| 海盐县| 临城县| 黄平县| 尤溪县| 武清区| 京山县| 手游| 巴林右旗| 南乐县| 合作市| 陇西县| 大安市| 翁源县| 乐业县| 鹤庆县| 武隆县| 周口市| 宝应县| 长治市| 水富县| 罗甸县| 嘉祥县| 锡林郭勒盟| 维西| 韶山市| 明水县| 龙川县| 买车| 陆河县| 论坛| 辉南县| 石台县| 灵宝市| 时尚| 西贡区| 会东县| 黎川县| 开封市|