本申請涉及倉儲管理中的信息處理,尤其涉及一種出入庫報文傳輸、庫存信息更新方法及裝置。
背景技術(shù):
目前,物流倉儲管理系統(tǒng)(wms)的出入庫業(yè)務(wù)僅支持一次性出入庫模式。所謂的一次性出入庫模式即一個出入庫單中的所有物品在多次作業(yè)完成出入庫操作后,一次性傳輸與出入庫單對應(yīng)的一個出入庫報文(包含對應(yīng)的出入庫單實際出入庫結(jié)果的報文)給倉庫服務(wù)器,以便倉庫服務(wù)器依據(jù)出入庫報文更新庫存信息。也就是,不論一個出入庫單中包含多少條物品均生成包含相應(yīng)數(shù)量物品的對應(yīng)的出入庫報文一次性傳輸給倉庫服務(wù)器。例如,一個入庫單中包含2000個a物品,第一次入庫1200個a物品,第二次入庫700個a物品,第三次入庫100個a物品,則三次入庫都完成后生成包含2000個a物品的入庫報文發(fā)送給倉庫服務(wù)器,倉庫服務(wù)器據(jù)此更新a物品的庫存信息。
該一次性出入庫模式至少存在如下問題:
首先,一次性出入庫模式需要在一個出入庫單中的所有物品均執(zhí)行完成出入庫操作后才傳輸相應(yīng)的出入庫報文給倉庫服務(wù)器,而一個出入庫單中的物品有可能分多次/多天完成實際出入庫操作,這樣會導(dǎo)致倉庫服務(wù)器更新滯后,影響倉儲管理系統(tǒng)庫存更新效率。
另外,由于目前的網(wǎng)絡(luò)對報文大小的限制(目前的網(wǎng)關(guān)只能支持2m報文)以及系統(tǒng)對報文處理耗時的限制(對于一個報文的傳輸操作限制不能超過3s,超過3s則斷開連接),導(dǎo)致目前倉儲管理系統(tǒng)的一次性出入庫模式只能處理小出入庫單(包含的物品數(shù)量不超過預(yù)定閾值的出入庫單)。而大出入庫單(所包含的物品數(shù)量超過預(yù)定閾值的出入庫單) 由于所包含的物品數(shù)量較多,導(dǎo)致傳輸?shù)某鋈霂靾笪倪^大,有可能直接被網(wǎng)關(guān)拒絕,或者由于解析報文時間過長導(dǎo)致傳輸超時。因此目前的倉儲管理系統(tǒng)的一次性出入庫模式在處理大出入庫單時無法滿足網(wǎng)絡(luò)對報文大小的限制以及系統(tǒng)對報文處理耗時的限制。
然而,隨著物流業(yè)務(wù)的不斷發(fā)展與壯大,大出入庫單業(yè)務(wù)不斷增多,因此,有必要提供一種針對大出入庫單的出入庫解決方案,以克服已有倉儲管理系統(tǒng)一次性出入庫模式處理大出入庫單時存在的報文過大、傳輸超時等問題。
技術(shù)實現(xiàn)要素:
本申請解決的技術(shù)問題之一是提供一種出入庫報文傳輸、庫存信息更新技術(shù),有效解決大出入庫單對應(yīng)的出入庫報文過大、傳輸超時的問題。
根據(jù)本申請的一個實施例,提供了一種出入庫報文傳輸方法,所述方法包括:
第一服務(wù)器接收出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;
將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息。
根據(jù)本申請的一個實施例,提供了一種庫存信息更新方法,所述方法包括:
第二服務(wù)器接收與出入庫單對應(yīng)的出入庫報文;
識別所述出入庫報文是局部出入庫報文,還是全局出入庫報文,其中局部出入庫報文中包含所述出入庫單中的部分物品的出入庫數(shù)量,全局出入庫報文中包含所述出入庫單中的物品的累計出入庫數(shù)量;
若是局部出入庫報文,則依據(jù)所述局部出入庫報文中包含的所述出 入庫單中的部分物品的出入庫數(shù)量更新庫存信息,得到所述出入庫單的庫存信息更新結(jié)果;
若是全局出入庫報文,則檢查所述出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量是否一致,得到更新檢查結(jié)果。
根據(jù)本申請的一個實施例,提供了一種出入庫信息處理方法,包括:
第一設(shè)備生成出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
向第一服務(wù)器發(fā)送所述出入庫單,以便第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;而后,第一服務(wù)器將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息;
在針對根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成的多個局部出入庫報文,都已完成庫存信息的更新的情況下,從第一服務(wù)器接收確認消息。
根據(jù)本申請的一個實施例,提供了一種出入庫處理參數(shù)配置方法,包括:
第三服務(wù)器接收配置的第一閾值;
向第一服務(wù)器發(fā)送所述第一閾值,使得在出入庫單中包含的物品數(shù)量超過第一閾值的情況下,第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值。
根據(jù)本申請的一個實施例,提供了一種出入庫報文傳輸裝置,所述裝置包括:
出入庫單接收單元,用于接收出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
局部出入庫報文生成單元,用于根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;
局部出入庫報文發(fā)送單元,用于將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息。
根據(jù)本申請的一個實施例,提供了一種庫存信息更新裝置,所述裝置包括:
出入庫報文接收單元,用于接收與出入庫單對應(yīng)的出入庫報文;
出入庫報文識別單元,用于識別所述出入庫報文是局部出入庫報文,還是全局出入庫報文,其中局部出入庫報文中包含所述出入庫單中的部分物品的出入庫數(shù)量,全局出入庫報文中包含所述出入庫單中的物品的累計出入庫數(shù)量;
庫存信息更新結(jié)果獲得單元,用于若是局部出入庫報文,則依據(jù)所述局部出入庫報文中包含的所述出入庫單中的部分物品的出入庫數(shù)量更新庫存信息,得到所述出入庫單的庫存信息更新結(jié)果;
更新檢查結(jié)果獲得單元,用于若是全局出入庫報文,則檢查所述出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量是否一致,得到更新檢查結(jié)果。
根據(jù)本申請的一個實施例,提供了一種出入庫信息處理裝置,包括:
出入庫單生成單元,用于生成出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
出入庫單發(fā)送單元,用于向第一服務(wù)器發(fā)送所述出入庫單,以便第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;而后,第一服務(wù)器將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息;
確認消息接收單元,用于在針對根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成的多個局部出入庫報文,都已完成庫存信息的更新的情況下,從第一服務(wù)器接收確認消息。
根據(jù)本申請的一個實施例,提供了一種出入庫處理參數(shù)配置裝置, 包括:
第一閾值接收單元,用于接收配置的第一閾值;
第一閾值發(fā)送單元,用于向第一服務(wù)器發(fā)送所述第一閾值,使得在出入庫單中包含的物品數(shù)量超過第一閾值的情況下,第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值。
本申請實施例當(dāng)出入庫單包含的物品數(shù)量超過第一閾值時,根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值,而不是一次性等到入庫單的所有物品出入庫后為入庫單上的所有物品生成一個統(tǒng)一的出入庫報文,解決了大出入庫單的出入庫報文過大、傳輸超時的問題。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請并不僅限于這些實施例。而是,本申請的范圍是廣泛的,且意在僅通過后附的權(quán)利要求限定本申請的范圍。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是根據(jù)本申請一個實施例所應(yīng)用的物流倉儲管理體系的示意圖。
圖2是根據(jù)本申請一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸方法的流程圖。
圖3是根據(jù)本申請另一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸方法的流程圖。
圖4是根據(jù)本申請一個實施例的步驟s120的具體流程圖。
圖5是根據(jù)本申請另一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸方法的流程圖。
圖6是根據(jù)本申請一個實施例的第二服務(wù)器側(cè)庫存信息更新方法的流程圖。
圖7是根據(jù)本申請另一個實施例的第二服務(wù)器側(cè)庫存信息更新方法的流程圖。
圖8是根據(jù)本申請一個實施例的第一設(shè)備側(cè)出入庫信息處理方法的流程圖。
圖9是根據(jù)本申請一個實施例的第三服務(wù)器側(cè)出入庫處理參數(shù)配置方法的流程圖。
圖10是根據(jù)本申請一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸裝置的框圖。
圖11是根據(jù)本申請另一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸裝置的框圖。
圖12是根據(jù)本申請另一個實施例的第一服務(wù)器側(cè)出入庫報文傳輸裝置的框圖。
圖13是根據(jù)本申請一個實施例的第二服務(wù)器側(cè)庫存信息更新裝置的框圖。
圖14是根據(jù)本申請另一個實施例的第二服務(wù)器側(cè)庫存信息更新裝置的框圖。
圖15是根據(jù)本申請一個實施例的第一設(shè)備側(cè)出入庫信息處理裝置的框圖。
圖16是根據(jù)本申請一個實施例的第三服務(wù)器側(cè)出入庫處理參數(shù)配置裝置的框圖。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請并不僅限于這些實施例。而是,本申請的范圍是廣泛的,且意在僅通過后附的權(quán)利要求限定本申請的范圍。
具體實施方式
在更加詳細地討論示例性實施例之前,應(yīng)當(dāng)提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時實施。此外,各項操作的順序可以被重新安排。當(dāng)其操作完成時所述 處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
所述計算機設(shè)備包括用戶設(shè)備與網(wǎng)絡(luò)設(shè)備。其中,所述用戶設(shè)備包括但不限于電腦、智能手機、pda等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個網(wǎng)絡(luò)服務(wù)器、多個網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計算(cloudcomputing)的由大量計算機或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。其中,所述計算機設(shè)備可單獨運行來實現(xiàn)本申請,也可接入網(wǎng)絡(luò)并通過與網(wǎng)絡(luò)中的其他計算機設(shè)備的交互操作來實現(xiàn)本申請。其中,所述計算機設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、vpn網(wǎng)絡(luò)等。
需要說明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計算機設(shè)備或網(wǎng)絡(luò)如可適用于本申請,也應(yīng)包含在本申請保護范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過流程圖示出)可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合來實施。當(dāng)用軟件、固件、中間件或微代碼來實施時,用以實施必要任務(wù)的程序代碼或代碼段可以被存儲在機器或計算機可讀介質(zhì)(比如存儲介質(zhì))中。(一個或多個)處理器可以實施必要的任務(wù)。
這里所公開的具體結(jié)構(gòu)和功能細節(jié)僅僅是代表性的,并且是用于描述本申請的示例性實施例的目的。但是本申請可以通過許多替換形式來具體實現(xiàn),并且不應(yīng)當(dāng)被解釋成僅僅受限于這里所闡述的實施例。
應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語“第一”、“第二”等等來描述各個單元,但是這些單元不應(yīng)當(dāng)受這些術(shù)語限制。使用這些術(shù)語僅僅是為了將一個單元與另一個單元進行區(qū)分。舉例來說,在不背離示例性實施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語“和/或”包括其中一個或更多所列出的相關(guān)聯(lián)項目的任意和所有組合。
應(yīng)當(dāng)理解的是,當(dāng)一個單元被稱為“連接”或“耦合”到另一單元時,其 可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當(dāng)一個單元被稱為“直接連接”或“直接耦合”到另一單元時,則不存在中間單元。應(yīng)當(dāng)按照類似的方式來解釋被用于描述單元之間的關(guān)系的其他詞語(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術(shù)語僅僅是為了描述具體實施例而不意圖限制示例性實施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個”、“一項”還意圖包括復(fù)數(shù)。還應(yīng)當(dāng)理解的是,這里所使用的術(shù)語“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應(yīng)當(dāng)提到的是,在一些替換實現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標(biāo)示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執(zhí)行或者有時可以按照相反的順序來執(zhí)行。
針對現(xiàn)有物流倉儲管理系統(tǒng)處理大出入庫單時存在的傳輸給倉庫服務(wù)器的出入庫報文過大、傳輸超時等問題,本申請實施例提供一種支持多批次出入庫報文模式的報文傳輸方法。當(dāng)出入庫單包含的物品數(shù)量超過第一閾值時,根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,使每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值,而不是一次性等到入庫單的所有物品出入庫后為入庫單上的所有物品生成一個統(tǒng)一的出入庫報文,解決了大出入庫單的出入庫報文過大、傳輸超時的問題。
下面結(jié)合附圖對本申請的技術(shù)方案作進一步詳細描述。
圖1是根據(jù)本申請一個實施例所應(yīng)用的物流倉儲管理體系的示意圖。該物流倉儲管理體系包括多個第一設(shè)備3、第一服務(wù)器1、第二服務(wù)器2、第三服務(wù)器4。第一服務(wù)器1例如是倉儲管理系統(tǒng)(wms)服務(wù)器,第二服務(wù)器2例如是倉庫服務(wù)器,第一設(shè)備3例如是商家設(shè)備,第三服務(wù)器4例如是管理平臺服務(wù)器。wms是物流網(wǎng)(例如菜鳥)中對倉庫進行 實操的操作系統(tǒng),由物流網(wǎng)(例如菜鳥)的合作伙伴負責(zé)實施和運維。商家需要物品入庫時,商家設(shè)備向wms服務(wù)器下達入庫單,wms進行入庫相關(guān)處理(例如確定要入的倉庫、確定入庫時間、產(chǎn)生運單等),并在完成入庫操作后,產(chǎn)生與該入庫單對應(yīng)的入庫報文給倉庫服務(wù)器。倉庫服務(wù)器根據(jù)入庫報文更新庫存信息。商家需要物品出庫時,商家設(shè)備向wms服務(wù)器下達出庫單,wms進行出庫相關(guān)處理(例如確定要出的倉庫、確定出庫時間、產(chǎn)生運單等),并在完成出庫操作后,產(chǎn)生與該出庫單對應(yīng)的出庫報文給倉庫服務(wù)器。倉庫服務(wù)器根據(jù)出庫報文更新庫存信息。管理平臺服務(wù)器是對wms服務(wù)器、倉庫服務(wù)器進行維護的服務(wù)器。wms服務(wù)器、倉庫服務(wù)器日常運行中的一些參數(shù)都通過管理平臺服務(wù)器來設(shè)置。
圖2是根據(jù)本申請一個實施例的出入庫報文傳輸方法的流程圖。所述方法包括:
s110、第一服務(wù)器接收出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
s120、根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;
s130、將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息。
下面針對這些步驟分別描述。
步驟s110、第一服務(wù)器接收出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值。
所述第一閾值可根據(jù)第一服務(wù)器和第二服務(wù)器之間的網(wǎng)絡(luò)對其能承載的報文大小的限制以及對報文處理耗時的限制進行設(shè)置,例如,在出入庫單包含的物品數(shù)量小于等于200條時,所生成的與出入庫單對應(yīng)的出入庫報文能夠滿足當(dāng)前網(wǎng)絡(luò)對報文大小的限制以及系統(tǒng)對報文處理耗時的限制。而在出入庫單包含的物品數(shù)量大于200時,所生成的與出入庫單對應(yīng)的出入庫報文很難滿足當(dāng)前網(wǎng)絡(luò)對報文大小的限制以及系統(tǒng)對 報文處理耗時的限制,因此,所述第一閾值可設(shè)置為200。該第一閾值的設(shè)置方式僅為一種實例,本申請實施例并不局限于此。
步驟s120、根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值。
例如,一個入庫單中包含2000個a物品,實際入庫1800個,第一閾值為200個,此時可以生成9個局部入庫報文,每個局部入庫報文中包含200個a物品。
步驟s120在以下任一個時機但不限于這些時機執(zhí)行:
其一、在接收到針對出入庫單中的任何物品的實際出入庫操作結(jié)果情況下實時執(zhí)行。
例如,一個入庫單中包含2000個a物品,第一閾值為200個,實際入庫1800個,但分三次實際入庫,其中第一次入庫1000個,第二次入庫600個,第三次入庫200個。在第一次入庫時,生成5個局部入庫報文,每個局部入庫報文中包含200個a物品。在第二次入庫時,生成3個局部入庫報文,每個局部入庫報文中包含200個a物品。在第三次入庫時,生成1個局部入庫報文,該局部入庫報文中包含200個a物品。
其二、每固定時間間隔針對該固定時間間隔內(nèi)獲取到的針對出入庫單中的物品的實際出入庫操作結(jié)果執(zhí)行。
例如,一個入庫單中包含2000個a物品,第一閾值為200個,實際入庫1800個,但分三次實際入庫,其中第一次入庫1000個,發(fā)生在上午8:10,第二次入庫600個,發(fā)生在上午8:40:第三次入庫200個,發(fā)生在上午8:50。固定時間間隔為半個小時,則每個整點鐘和半點鐘(例如8:00,8:30,9:00,9:30)獲取這半個小時中所有出入庫操作結(jié)果,針對這些操作結(jié)果生成局部出入庫報文。即,在上午8:30,獲取到8:00-8:30之間入庫1000個a物品,則生成5個局部入庫報文,每個局部入庫報文中包含200個a物品。在上午9:00,獲取到8:30-9:00之間入庫800個a物品,則生成4個局部入庫報文,每個局部入庫報文中包含200個a物品。
其三、在所述出入庫單中的物品實際出入庫的數(shù)量超過第二閾值的 情況下執(zhí)行。
例如,第二閾值設(shè)置為700,一個入庫單中包含2000個a物品,第一閾值為200個,實際入庫1800個,但分三次實際入庫,其中第一次入庫1000個,第二次入庫600個,第三次入庫200個。當(dāng)?shù)谝淮?000個a物品入庫時,由于1000>700,則生成5個局部入庫報文,每個局部入庫報文中包含200個a物品。當(dāng)?shù)诙?00個a物品入庫時,由于600<700,不生成局部入庫報文。當(dāng)?shù)谌?00個a物品入庫時,由于600+200>700,則生成4個局部入庫報文,每個局部入庫報文中包含200個a物品。
如圖4所示,步驟s120可包括:
s121、將所述實際出入庫操作結(jié)果中的物品按照預(yù)設(shè)劃分規(guī)則劃分為批次,其中所述預(yù)設(shè)劃分規(guī)則包括但不限于以下至少一個:
將所述實際出入庫操作結(jié)果中的物品中同一生產(chǎn)日期的物品劃分為同一批次;
將所述實際出入庫操作結(jié)果中的物品中同一生產(chǎn)地的物品劃分為同一批次;
將所述實際出入庫操作結(jié)果中的物品中出入庫時間在固定時長范圍內(nèi)的物品劃分為同一批次;
將固定數(shù)量的物品劃分為同一批次。
s122、如果劃分為同一批次的物品數(shù)量不超過第一閾值,為該同一批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文;
s123、如果劃分為同一批次的物品數(shù)量超過第一閾值,將該批次的物品繼續(xù)分子批次,直到每子批次的物品數(shù)量不超過所述第一閾值,從而為每個子批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文。
在上面第一次入庫1000個a物品、第二次入庫600個a物品、第三次入庫200個a物品、在三次入庫時分別生成5、3、1個局部入庫報文、每個局部入庫報文200個a物品的例子中,實際上是將固定數(shù)量(200個)的物品劃分為同一批次的情況。
如果預(yù)設(shè)劃分規(guī)則是將所述實際出入庫操作結(jié)果中的物品中同一生 產(chǎn)日期的物品劃分為同一批次,一個生成局部出入庫報文的例子是:假設(shè)第一次入庫的1000個a物品有50個是2015年12月21日生產(chǎn)的,有950個是2015年12月31日生產(chǎn)的,則50個2015年12月21日生產(chǎn)的a物品為第一批次,由于50<200,則生成一個局部入庫報文,含有50個a物品;950個2015年12月31日生產(chǎn)的a物品是第二批次,950>200,將其分成200、200、200、200、150五個子批次,分別為其生成五個局部入庫報文,分別含有200、200、200、200、150個a物品。
如果預(yù)設(shè)劃分規(guī)則是將所述實際出入庫操作結(jié)果中的物品中同一生產(chǎn)地的物品劃分為同一批次,一個生成局部出入庫報文的例子是:假設(shè)第一次入庫的1000個a物品有50個是北京生產(chǎn)的,有950個是上海生產(chǎn)的,則50個北京生產(chǎn)的a物品為第一批次,由于50<200,則生成一個局部入庫報文,含有50個a物品;950個上海生產(chǎn)的a物品是第二批次,950>200,將其分成200、200、200、200、150五個子批次,分別為其生成五個局部入庫報文,分別含有200、200、200、200、150個a物品。
如果預(yù)設(shè)劃分規(guī)則是將所述實際出入庫操作結(jié)果中的物品中出入庫時間在固定時長范圍內(nèi)的物品劃分為同一批次,這往往對應(yīng)前述每固定時間間隔針對該固定時間間隔內(nèi)獲取到的針對所述出入庫單中的物品的實際出入庫操作結(jié)果生成局部出入庫報文、在所述出入庫單中的物品實際出入庫的數(shù)量超過第二閾值的情況下生成局部出入庫報文的情形。例如,第二閾值是700。在8:10入庫a物品400個,在8:40入庫a物品200個,在8:50入庫a物品600個。由于在8:50才有超過700個a物品入庫,因此8:50才開始生成局部入庫報文。假設(shè)固定時長是半小時。這時8:00-8:30入庫的a物品400個劃分為第一批次,8:30-9:00入庫的a物品800個劃分為第二批次,分別為第一批次和第二批次生成2、4個局部入庫報文,各自含有200個a物品。
在一種實施例中,還可以針對每一局部出入庫報文中同一批次的物品在局部出入庫報文中添加相應(yīng)的批次屬性信息。所述批次屬性信息即批次是按什么來劃分的信息,包括:生產(chǎn)日期、生產(chǎn)地等。通過添加批次屬性信息能夠?qū)崿F(xiàn)倉儲的精細化管理。
步驟s130、將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息。
在一個實施例中,步驟s130包括:將所述多個局部出入庫報文并行發(fā)送給第二服務(wù)器。它的好處是提高局部出入庫報文傳輸?shù)男?,使第二服?wù)器能夠同時接收到多個出入庫報文,提高物流處理效率。現(xiàn)有技術(shù)中,出入庫報文過大,導(dǎo)致第二服務(wù)器接收延遲,甚至由于網(wǎng)絡(luò)原因無法傳輸,本申請實施例將其分成小的出入庫報文并并行發(fā)送,大大提高了物流倉儲數(shù)據(jù)處理的效率。
如圖3所示,本申請實施例的方法還可以包括:
s140、獲取針對所述出入庫單中的物品的累計出入庫數(shù)量;
s150、生成包含所獲取的累計出入庫數(shù)量的全局出入庫報文;
s160、將所述全局出入庫報文發(fā)送到第二服務(wù)器,以便第二服務(wù)器檢查所述物品的庫存信息更新結(jié)果是否與所述全局出入庫報文中的累計出入庫數(shù)量一致,得到更新檢查結(jié)果。
下面對步驟s140-s160進行詳細描述。
步驟s140、獲取針對所述出入庫單中的物品的累計出入庫數(shù)量;
在一個實施例中,步驟s140包括:響應(yīng)于在預(yù)定時間間隔內(nèi)沒有針對所述出入庫單中的物品的出入庫操作,獲取針對所述出入庫單中的物品的累計出入庫數(shù)量。
一般來說,wms接收到出入庫單,都會立刻安排相應(yīng)處理,使得出入庫單中的所有物品盡可能早地出入庫,但也經(jīng)常會出現(xiàn)出入庫單中有部分物品因特殊原因遲遲未能出入庫。在現(xiàn)有技術(shù)中,必須等到出入庫單中所有物品都實際出入庫后才能生成出入庫報文,在入庫單中有部分物品因特殊原因遲遲未能出入庫的情況下就使得已出入庫的物品不能及時更新其庫存信息。響應(yīng)于在預(yù)定時間間隔內(nèi)沒有針對所述出入庫單中的物品的出入庫操作,就開始獲取針對所述出入庫單中的物品的累計出入庫數(shù)量,這樣就可以對于已出入庫的物品及時更新其庫存信息并檢查更新結(jié)果。例如,預(yù)訂時間間隔為2天,一個入庫單中包含2000個a物 品,2015年12月21日9:30入庫1500個a物品,同一天11:00入庫300個a物品,剩下的200個a物品在2015年12月23日9:30仍然沒有入庫,此時就不必等待剩下的200個a物品入庫,及時獲取所述入庫單中a物品的累計出入庫數(shù)量1800,通知給第二服務(wù)器進行庫存更新結(jié)果的檢查。
步驟s150、生成包含所獲取的累計出入庫數(shù)量的全局出入庫報文。
全局出入庫報文包括全局標(biāo)識,局部出入庫報文包括用于與全局出入庫報文中的全局標(biāo)識進行區(qū)分的局部標(biāo)識。本申請實施例對所述局部標(biāo)識及全局標(biāo)識的表現(xiàn)方式不做具體限制,例如,可以在出入庫報文中設(shè)置一符號為confirmtype,通過該符號的不同取值來表示不同的標(biāo)識。當(dāng)confirmtype=1時,表示該報文是局部出入庫報文,當(dāng)confirmtype=0時,表示該報文是全局出入庫報文?;蛘撸诔鋈霂靾笪闹惺褂貌煌姆杹肀硎静煌臉?biāo)識,使用local作為報文的局部標(biāo)識,使用global作為報文的全局標(biāo)識??偠灾?,本申請實施例需要在生成的出入庫報文中增加表示局部標(biāo)識或全局標(biāo)識的字段。
由于局部出入庫報文中包含的物品均已經(jīng)完成出入庫操作,因此一個出入庫單生成的多個對應(yīng)的局部出入庫報文中所包含的物品的數(shù)量之和有可能等同于該出入庫單中所包含的物品的數(shù)量,也有可能小于該出入庫單中所包含的物品數(shù)量。換句話講,本申請實施例是將為一個出入庫單生成多個局部出入庫報文。每個局部出入庫報文中包含對應(yīng)的出入庫單中的部分物品的出入庫數(shù)量。第二服務(wù)器可以根據(jù)該局部出入庫報文中包含的物品數(shù)量更新庫存信息。例如,一個出庫單中共包含2000條物品,若全部出庫完成,所生成的多個局部出庫報文中每個局部出庫報文中包含50條物品,則共需生成40個與該出庫單對應(yīng)的局部出庫報文。可以理解的是,每個局部出庫報文中包含的物品數(shù)量可以相同也可以不同。
除了多個局部出入庫報文外,本申請實施例對于一個出入庫單還至少生成一個全局出入庫報文。該全局出入庫報文中攜帶所述出入庫單的中的物品的累計出入庫數(shù)量,即記載有該出入庫單中所包含的所有物品 中實際已經(jīng)完成出入庫的物品的數(shù)量,該累計出入庫數(shù)量即為一個出入庫單對應(yīng)的所有局部出入庫報文中攜帶的物品的數(shù)量之和。例如,一個出庫單中共包含2000個物品,而實際出庫1950個物品,則在該匯總檢查信息中記載的累計出入庫數(shù)量即為1950。所述全局出入庫報文用于觸發(fā)服務(wù)器檢查庫存信息更新結(jié)果是否與全局出入庫報文攜帶的累計出入庫數(shù)量一致,即可執(zhí)行對庫存信息的檢查操作,以得到更新檢查結(jié)果。
步驟s160、將所述全局出入庫報文發(fā)送到第二服務(wù)器,以便第二服務(wù)器檢查所述物品的庫存信息更新結(jié)果是否與所述全局出入庫報文中的累計出入庫數(shù)量一致,得到更新檢查結(jié)果。
需要說明的是,全局出入庫報文在局部出入庫報文之后發(fā)送,但有可能由于報文長度不同造成的網(wǎng)絡(luò)傳輸時間不同而先于部分局部出入庫報文到達服務(wù)器,該全局出入庫報文可以觸發(fā)服務(wù)器檢查庫存信息更新結(jié)果是否正確,得到更新檢查結(jié)果。若該全局出入庫報文先于部分局部出入庫報文到達第二服務(wù)器,第二服務(wù)器的庫存信息更新結(jié)果必定與全局出入庫報文中的累計出入庫數(shù)量不一致,則服務(wù)器得到的更新檢查結(jié)果為失敗。
如圖5所示,根據(jù)本申請的一個實施例,該方法還包括:
s170、從第二服務(wù)器接收更新檢查結(jié)果;
s180、在所述更新檢查結(jié)果為失敗情況下,重新發(fā)送所述全局出入庫報文給所述第二服務(wù)器。
也就是說,本申請實施例的第一服務(wù)器接收第二服務(wù)器返回的更新檢查結(jié)果,在接收的更新檢查結(jié)果為失敗情況下,可重新發(fā)送所述全局出入庫報文給所述第二服務(wù)器。重新發(fā)送全局出入庫報文的過程中,之前未被服務(wù)器接收并依此更新的局部出入庫報文有可能已被服務(wù)器接收并得到新的庫存信息更新結(jié)果,因此,通過該重新發(fā)送全局出入庫報文的過程,進一步保證了分布式的倉儲管理系統(tǒng)信息更新的一致性。
本申請實施例的出入庫報文傳輸方法,第一服務(wù)器可以為大出入庫單生成多個用于觸發(fā)服務(wù)器更新庫存信息的局部出入庫單和一個用于觸發(fā)服務(wù)器檢測庫存信息更新結(jié)果是否正確的全局出入庫單,且所述局部 出入庫單中包含的物品數(shù)量低于預(yù)定閾值,因此,有效解決了已有技術(shù)中大出入庫單對應(yīng)的出入庫報文過大、傳輸超時等問題,同時所述全局出入庫報文保證了系統(tǒng)更新的一致性。
圖6示出了根據(jù)本申請一個實施例的第二服務(wù)器側(cè)一種庫存信息更新方法。所述方法包括:
s210、第二服務(wù)器接收與出入庫單對應(yīng)的出入庫報文;
s220、識別所述出入庫報文是局部出入庫報文,還是全局出入庫報文,其中局部出入庫報文中包含所述出入庫單中的部分物品的出入庫數(shù)量,全局出入庫報文中包含所述出入庫單中的物品的累計出入庫數(shù)量;
s230、若是局部出入庫報文,則依據(jù)所述局部出入庫報文中包含的所述出入庫單中的部分物品的出入庫數(shù)量更新庫存信息,得到所述出入庫單的庫存信息更新結(jié)果;
s240、若是全局出入庫報文,則檢查所述出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量是否一致,得到更新檢查結(jié)果。
為進一步理解本方案,下面對上述各步驟做進一步詳細介紹。
步驟s210、第二服務(wù)器接收與出入庫單對應(yīng)的出入庫報文。
由前述實施例中可知,所述與出入庫單對應(yīng)的出入庫報文可并行發(fā)送,因此,步驟s210中可并行接收來自第一服務(wù)器的與出入庫單對應(yīng)的出入庫報文。
步驟s220、識別所述出入庫報文是局部出入庫報文,還是全局出入庫報文,其中局部出入庫報文中包含所述出入庫單中的部分物品的出入庫數(shù)量,全局出入庫報文中包含所述出入庫單中的物品的累計出入庫數(shù)量;
在一個實施例中,所述全局出入庫報文中包括全局標(biāo)識,所述局部出入庫報文中包括用于與全局出入庫報文中的全局標(biāo)識進行區(qū)分的局部標(biāo)識。相應(yīng)地,步驟s220包括:依據(jù)所述全局標(biāo)識識別所述出入庫報文為全局出入庫報文;依據(jù)所述局部標(biāo)識識別所述出入庫報文為局部出入 庫報文。
例如,可以通過識別所接收的出入庫報文中攜帶的confirmtype字段的取值是0還是1還確定該出入庫報文是局部出入庫報文還是全局出入庫報文。若confirmtype字段的取值是1,則可確定該出入庫報文是局部出入庫報文,若confirmtype字段的取值是0,則可確定該出入庫報文是全局出入庫報文。
步驟s230、若是局部出入庫報文,則依據(jù)所述局部出入庫報文中包含的所述出入庫單中的部分物品的出入庫數(shù)量更新庫存信息,得到所述出入庫單的庫存信息更新結(jié)果。
如前文所述,局部出入庫報文的作用是,觸發(fā)第二服務(wù)器依據(jù)該局部出入庫報文進行庫存信息更新,因此如步驟s230中所述,若識別出所接收的出入庫報文是局部出入庫報文,則依據(jù)該局部出入庫報文中包含的所述出入庫單中的部分物品的出入庫數(shù)量更新庫存信息,即記錄針對所述出入庫單的庫存信息更新結(jié)果。例如,并行接收的每個局部入庫報文中均包含50個a物品,當(dāng)前時間并行接收2個局部入庫報文,則更新庫存信息,增加a物品的庫存100個。例如,原有a物品的庫存500個,增加后a物品的庫存為600個。
另外,在一個實施例中,由于在局部出入庫報文中攜帶有批次屬性信息,因此,更新庫存信息包括更新批次屬性信息,實現(xiàn)了庫存的精細化管理。
步驟s240、若是全局出入庫報文,則檢查所述出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量是否一致,得到更新檢查結(jié)果。
全局出入庫報文的作用是,觸發(fā)第二服務(wù)器檢查庫存信息更新結(jié)果是否與全局出入庫報文中的累計出入庫數(shù)量一致。由于局部出入庫報文和全局出入庫報文長度不同,因此在接收到全局出入庫報文時,有可能部分局部出入庫報文還未被接收或未更新完成,則更新檢查結(jié)果為失敗??梢姡ㄟ^該全局出入庫報文,可檢驗庫存信息更新的正確性。
如圖7所示,該方法還可包括:s350、將所述更新檢查結(jié)果發(fā)送給第一服務(wù)器。
發(fā)送更新檢查結(jié)果給第一服務(wù)器,是為了在更新檢查結(jié)果為失敗的情況下,觸發(fā)第一服務(wù)器重新發(fā)送所述全局出入庫報文。重新發(fā)送全局出入庫報文的過程中,之前未被第二服務(wù)器接收并依此更新的局部出入庫報文有可能已被第二服務(wù)器接收并得到新的庫存信息更新結(jié)果,因此,通過該重新發(fā)送全局出入庫報文的過程,進一步保證了倉儲管理系統(tǒng)信息更新的一致性。
如圖8所示,根據(jù)本申請的一個實施例,還提供了一種第一設(shè)備(例如商家設(shè)備)側(cè)的出入庫信息處理方法,包括:
s310、第一設(shè)備生成出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
s320、向第一服務(wù)器發(fā)送所述出入庫單,以便第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;而后,第一服務(wù)器將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息;
s330、在針對根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成的多個局部出入庫報文,都已完成庫存信息的更新的情況下,從第一服務(wù)器接收確認消息。
在步驟s310中,商家希望對存儲在其物流倉庫(例如菜鳥倉庫)中的物品進行出入庫時,生成出入庫單發(fā)送給第一服務(wù)器,出入庫單包含其想出入庫的物品的數(shù)量、倉庫地址等。步驟s320的過程在前面已結(jié)合圖2-7進行了描述,故不贅述。在步驟s330中,可以在第二服務(wù)器檢查出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量一致后,第一服務(wù)器接收到來自第二服務(wù)器的成功的更新檢查結(jié)果,向第一設(shè)備發(fā)送確認消息,通知商家出入庫成功完成。
如圖9所示,根據(jù)本申請的一個實施例,還提供了一種第三服務(wù)器側(cè)的出入庫處理參數(shù)配置方法,包括:
s410、第三服務(wù)器接收配置的第一閾值;
s420、向第一服務(wù)器發(fā)送所述第一閾值,使得在出入庫單中包含的物品數(shù)量超過第一閾值的情況下,第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值。
在步驟s410中,第一閾值可以是管理平臺的管理人員根據(jù)經(jīng)驗配置并輸入第三服務(wù)器的。例如,在出入庫單包含的物品數(shù)量小于等于200條時,所生成的與出入庫單對應(yīng)的出入庫報文能夠滿足當(dāng)前網(wǎng)絡(luò)對報文大小的限制以及系統(tǒng)對報文處理耗時的限制。而在出入庫單包含的物品數(shù)量大于200時,所生成的與出入庫單對應(yīng)的出入庫報文很難滿足當(dāng)前網(wǎng)絡(luò)對報文大小的限制以及系統(tǒng)對報文處理耗時的限制,因此,所述第一閾值可設(shè)置為200。
步驟s420中在出入庫單中包含的物品數(shù)量超過第一閾值的情況下,第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文的過程在上文已詳細描述,故不贅述。
另外,該方法還可包括:
接收配置的第二閾值(圖中未示);
向第一服務(wù)器發(fā)送所述第二閾值(圖中未示),使得第一服務(wù)器在所述出入庫單中的物品實際出入庫的數(shù)量超過第二閾值的情況下,根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文。
另外,該方法還可包括:
接收配置的劃分規(guī)則(圖中未示);
向第一服務(wù)器發(fā)送所述劃分規(guī)則(圖中未示),使得第一服務(wù)器:將所述實際出入庫操作結(jié)果中的物品按照所述劃分規(guī)則劃分為批次;如果劃分為同一批次的物品數(shù)量不超過所述第一閾值,為該同一批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文;如果劃分為同一批次的物品數(shù)量超過所述第一閾值,將該批次的物品繼續(xù)分子批次,直到每子批次的物品數(shù)量不超過所述第一閾值,從而為每個子批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文。
第二閾值和劃分規(guī)則可以由管理平臺的管理人員根據(jù)經(jīng)驗配置并輸入第三服務(wù)器。
如圖10所示,根據(jù)本申請的一個實施例,提供了一種出入庫報文傳輸裝置100,包括:
出入庫單接收單110,用于接收出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
局部出入庫報文生成單元120,用于根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;
局部出入庫報文發(fā)送單元130,用于將所述多個局部出入庫報文發(fā)送給第二服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息。
可選地,如圖11所示,所述裝置100還包括:
累計出入庫數(shù)量獲取單元140,用于獲取針對所述出入庫單中的物品的累計出入庫數(shù)量;
全局出入庫報文生成單元150,用于生成包含所獲取的累計出入庫數(shù)量的全局出入庫報文;
全局出入庫報文發(fā)送單元160,用于將所述全局出入庫報文發(fā)送到第二服務(wù)器,以便第二服務(wù)器檢查所述物品的庫存信息更新結(jié)果是否與所述全局出入庫報文中的累計出入庫數(shù)量一致,得到更新檢查結(jié)果。
可選地,所述局部出入庫報文生成單元在以下任一個時機根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文:
獲取到針對所述出入庫單中的任何物品的實際出入庫操作結(jié)果;
每固定時間間隔;
所述出入庫單中的物品實際出入庫的數(shù)量超過第二閾值。
可選地,所述局部出入庫報文生成單元進一步用于:
將所述實際出入庫操作結(jié)果中的物品按照預(yù)設(shè)劃分規(guī)則劃分為批次;
如果劃分為同一批次的物品數(shù)量不超過第一閾值,為該同一批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文;
如果劃分為同一批次的物品數(shù)量超過第一閾值,將該批次的物品繼續(xù)分子批次,直到每子批次的物品數(shù)量不超過所述第一閾值,從而為每個子批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文。
可選地,所述預(yù)設(shè)劃分規(guī)則包括以下至少一個:
將所述實際出入庫操作結(jié)果中的物品中同一生產(chǎn)日期的物品劃分為同一批次;
將所述實際出入庫操作結(jié)果中的物品中同一生產(chǎn)地的物品劃分為同一批次;
將所述實際出入庫操作結(jié)果中的物品中出入庫時間在固定時長范圍內(nèi)的物品劃分為同一批次;
將固定數(shù)量的物品劃分為同一批次。
可選地,所述局部出入庫報文發(fā)送單元進一步用于:
將所述多個局部出入庫報文并行發(fā)送給服務(wù)器。
可選地,所述全局出入庫報文包括:全局標(biāo)識;
所述局部出入庫報文包括:用于與全局出入庫報文中的全局標(biāo)識進行區(qū)分的局部標(biāo)識。
可選地,如圖12所示,所述裝置還包括:
更新檢查結(jié)果接收單元170,用于從第二服務(wù)器接收更新檢查結(jié)果;
全局出入庫報文重新發(fā)送單元180,用于在所述更新檢查結(jié)果為失敗情況下,重新發(fā)送所述全局出入庫報文給所述第二服務(wù)器。
可選地,所述累計出入庫數(shù)量獲取單元進一步用于:
響應(yīng)于在預(yù)定時間間隔內(nèi)沒有針對所述出入庫單中的物品的出入庫操作,獲取針對所述出入庫單中的物品的累計出入庫數(shù)量。
可選地,第二服務(wù)器是倉庫服務(wù)器。
如圖13所示,根據(jù)本申請的一個實施例,提供了一種庫存信息更新裝置200,所述裝置包括:
出入庫報文接收單元210,用于接收與出入庫單對應(yīng)的出入庫報文;
出入庫報文識別單元220,用于識別所述出入庫報文是局部出入庫報文,還是全局出入庫報文,其中局部出入庫報文中包含所述出入庫單中的部分物品的出入庫數(shù)量,全局出入庫報文中包含所述出入庫單中的物品的累計出入庫數(shù)量;
庫存信息更新結(jié)果獲得單元230,用于若是局部出入庫報文,則依據(jù)所述局部出入庫報文中包含的所述出入庫單中的部分物品的出入庫數(shù)量更新庫存信息,得到所述出入庫單的庫存信息更新結(jié)果;
更新檢查結(jié)果獲得單元240,用于若是全局出入庫報文,則檢查所述出入庫單的庫存信息更新結(jié)果與全局出入庫報文中的累計出入庫數(shù)量是否一致,得到更新檢查結(jié)果。
可選地,如圖14所示,所述裝置還包括:
更新檢查結(jié)果發(fā)送單元250,用于將所述更新檢查結(jié)果發(fā)送給第一服務(wù)器。
可選地,所述全局出入庫報文中包括全局標(biāo)識;所述局部出入庫報文中包括用于與全局出入庫報文中的全局標(biāo)識進行區(qū)分的局部標(biāo)識;
所述出入庫報文識別單元用于:
依據(jù)所述全局標(biāo)識識別所述出入庫報文為全局出入庫報文;
依據(jù)所述局部標(biāo)識識別所述出入庫報文為局部出入庫報文。
可選地,第一服務(wù)器是倉庫管理系統(tǒng)(wms)服務(wù)器。
如圖15所示,根據(jù)本申請的一個實施例,提供了一種出入庫信息處理裝置300,包括:
出入庫單生成單元310,用于生成出入庫單,其中,所述出入庫單中包含的物品數(shù)量超過第一閾值;
出入庫單發(fā)送單元320,用于向第一服務(wù)器發(fā)送所述出入庫單,以便第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值;而后,第一服務(wù)器將所述多個局部出入庫報文發(fā)送給第二 服務(wù)器,以便第二服務(wù)器根據(jù)所述局部出入庫報文中包含的物品更新所述物品的庫存信息;
確認消息接收單元330,用于在針對根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成的多個局部出入庫報文,都已完成庫存信息的更新的情況下,從第一服務(wù)器接收確認消息。
可選地,第一服務(wù)器是倉庫管理系統(tǒng)(wms)服務(wù)器,第二服務(wù)器是倉庫服務(wù)器。
如圖16所示,根據(jù)本申請的一個實施例,提供了一種出入庫處理參數(shù)配置裝置400,包括:
第一閾值接收單元410,用于接收配置的第一閾值;
第一閾值發(fā)送單元420,用于向第一服務(wù)器發(fā)送所述第一閾值,使得在出入庫單中包含的物品數(shù)量超過第一閾值的情況下,第一服務(wù)器根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文,其中每個局部出入庫報文中包含的物品數(shù)量不超過所述第一閾值。
可選地,該裝置還包括:
第二閾值接收單元(圖中未示),用于接收配置的第二閾值;
第二閾值發(fā)送單元(圖中未示),用于向第一服務(wù)器發(fā)送所述第二閾值,使得第一服務(wù)器在所述出入庫單中的物品實際出入庫的數(shù)量超過第二閾值的情況下,根據(jù)所述出入庫單中的物品的實際出入庫操作結(jié)果生成多個局部出入庫報文。
可選地,該裝置還包括:
劃分規(guī)則接收單元(圖中未示),用于接收配置的劃分規(guī)則;
劃分規(guī)則發(fā)送單元(圖中未示),用于向第一服務(wù)器發(fā)送所述劃分規(guī)則,使得第一服務(wù)器:將所述實際出入庫操作結(jié)果中的物品按照所述劃分規(guī)則劃分為批次;如果劃分為同一批次的物品數(shù)量不超過所述第一閾值,為該同一批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文;如果劃分為同一批次的物品數(shù)量超過所述第一閾值,將該批次的物品繼續(xù)分子批次,直到每子批次的物品數(shù)量不超過所述第一閾值,從而 為每個子批次的物品的實際出入庫操作結(jié)果生成一個局部出入庫報文。
可選地,第一服務(wù)器是倉庫管理系統(tǒng)(wms)服務(wù)器。
綜上所述,本申請實施例通過為大出入庫單生成多個包含物品數(shù)量低于第一閾值的局部出入庫報文和一個全局出入庫報文,實現(xiàn)了支持報文分割傳輸、分布式并行處理的多批次出入庫模式,大大提升了業(yè)務(wù)系統(tǒng)的吞吐量及大出入庫單的執(zhí)行效率,在解決了大出入庫單的出入庫報文過大傳輸超時的問題的同時,保證了庫存信息更新的一致性。
需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實施,例如,可采用專用集成電路(asic)、通用目的計算機或任何其他類似硬件設(shè)備來實現(xiàn)。在一個實施例中,本申請的軟件程序可以通過處理器執(zhí)行以實現(xiàn)上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計算機可讀記錄介質(zhì)中,例如,ram存儲器,磁或光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本申請的一些步驟或功能可采用硬件來實現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。
另外,本申請的一部分可被應(yīng)用為計算機程序產(chǎn)品,例如計算機程序指令,當(dāng)其被計算機執(zhí)行時,通過該計算機的操作,可以調(diào)用或提供根據(jù)本申請的方法和/或技術(shù)方案。而調(diào)用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運行的計算機設(shè)備的工作存儲器中。在此,根據(jù)本申請的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計算機程序指令被該處理器執(zhí)行時,觸發(fā)該裝置運行基于前述根據(jù)本申請的多個實施例的方法和/或技術(shù)方案。
對于本領(lǐng)域技術(shù)人員而言,顯然本申請不限于上述示范性實施例的細節(jié),而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本申請。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所 有變化涵括在本申請內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。系統(tǒng)權(quán)利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。