亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種物流訂單數(shù)據(jù)處理方法及裝置與流程

文檔序號:12366250閱讀:249來源:國知局
一種物流訂單數(shù)據(jù)處理方法及裝置與流程

本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種物流訂單數(shù)據(jù)處理方法及裝置。



背景技術(shù):

物流訂單及物流訂單的訂單狀態(tài)是用于記錄一個真實的物流包裹從創(chuàng)建到完結(jié)這一過程的數(shù)據(jù)。物流包裹從創(chuàng)建到完結(jié)可能經(jīng)歷發(fā)貨人、倉庫、物流公司、攬件員、派件員中間的層層流轉(zhuǎn),最終輾轉(zhuǎn)送達收貨人手上,這些數(shù)據(jù)均可通過記錄的物流訂單及物流訂單狀態(tài)來記錄。

通常每一條物流訂單及該物流訂單的訂單狀態(tài)數(shù)據(jù)是通過物流平臺中的數(shù)據(jù)庫來記錄的。下面通過圖1對一個包裹經(jīng)歷發(fā)貨人、倉庫、物流公司、攬件員、派件員中間的層層流轉(zhuǎn)過程及相應(yīng)地對物流平臺中的物流訂單的操作進行說明,圖1中包括以下步驟:

步驟1:發(fā)貨人在物流平臺中創(chuàng)建一條物流訂單;

步驟2:發(fā)貨人進行第一次選擇,之后轉(zhuǎn)向步驟31或執(zhí)行步驟32;

步驟31:發(fā)貨人針對該創(chuàng)建的物流訂單在物流平臺中選擇發(fā)貨,物流平臺將該物流訂單下發(fā)給物流公司,之后轉(zhuǎn)向步驟4;

步驟32:發(fā)貨人不發(fā)貨,發(fā)貨人主動將在物流平臺中創(chuàng)建的物流訂單關(guān)閉;

步驟4:物流公司進行第一次選擇,之后轉(zhuǎn)向步驟51或步驟52;

步驟51:物流公司同意接單且攬收,之后執(zhí)行步驟6;

這里,物流公司攬收之后將會把包裹送達收貨人;

步驟52:物流公司拒絕接單或者同意接單但拒絕攬收,之后轉(zhuǎn)向步驟10;

步驟6:收貨人第二次選擇,之后轉(zhuǎn)向步驟71或步驟72;

步驟71:收貨人拒簽,之后轉(zhuǎn)向步驟8;

步驟72:收貨人簽收,之后轉(zhuǎn)向步驟8;

步驟8:物流公司第二次選擇,之后轉(zhuǎn)向步驟91或轉(zhuǎn)向步驟92;

步驟91:物流公司向物流平臺回傳拒簽。

步驟92:物流公司向物流平臺回傳簽收。

步驟10:發(fā)貨人第三次選擇,之后轉(zhuǎn)向步驟111或步驟112;

步驟111:發(fā)貨人在物流平臺中關(guān)閉當(dāng)前物流訂單,不發(fā)貨;

步驟112:發(fā)貨人在物流平臺中關(guān)閉當(dāng)前物流訂單,然后重新創(chuàng)建新的物流訂單;之后轉(zhuǎn)向步驟2。

上述過程,在理想情況下,每一條物流訂單最終都會走向關(guān)閉,簽收或者拒簽這三種狀態(tài)。但事實情況并非如此,例如以下情況:

1、發(fā)貨人創(chuàng)建物流訂單之后一直沒有選擇發(fā)貨,也沒有選擇主動關(guān)閉交易,如圖1中的①;

2、發(fā)貨人選擇發(fā)貨之后物流公司一直沒有選擇接單和攬收也沒有選擇拒絕接單和拒絕攬收,如圖1中的②;

3、物流公司拒絕接單或者拒絕攬收之后,發(fā)貨人又沒有選擇再次發(fā)貨或者主動關(guān)閉物流訂單,如圖1中的③;

4、收貨人收到貨之后,物流公司既沒有回傳簽收也沒有回傳拒簽如圖1中的④。

在上述4種情況下,現(xiàn)有的物流訂單處理方案是,如果一直沒有發(fā)起者主動推動這條物流訂單,那么讓這條該物流訂單將永遠(yuǎn)存在下去,永遠(yuǎn)不會達到完結(jié)狀態(tài)(關(guān)閉、簽收、拒簽)。

現(xiàn)有的物流訂單數(shù)據(jù)處理方案只能讓物流訂單的訂單狀態(tài)在理想的情況下自動走向完結(jié)狀態(tài)。這依靠發(fā)貨人、物流公司的自覺以及物流公司系統(tǒng)的穩(wěn)定性等等大量不可靠因素。當(dāng)這些不可靠因素發(fā)生在每天上千萬,甚至上億級別物流訂單上時,每天產(chǎn)生的這類僵尸訂單的數(shù)量將是非常龐大的。這類僵尸物流訂單無法進入完結(jié)狀態(tài),也就無法被刪除或者移動到歷史物流訂單數(shù)據(jù) 庫,只能堆積在有限的當(dāng)前物流訂單數(shù)據(jù)庫中。一方面,將會大量占用物流平臺的存儲服務(wù)器上額外的存儲空間;另一方面,隨著時間的推移,堆積在當(dāng)前物流訂單數(shù)據(jù)庫中的沒有使用價值的僵尸物流訂單數(shù)量的會越來越龐大,這將導(dǎo)致在利用物流平臺中的當(dāng)前物流訂單數(shù)據(jù)庫,對具有使用價值的物流訂單的進行查詢時,查詢速度變得十分緩慢。



技術(shù)實現(xiàn)要素:

本申請實施例提供一種物流訂單數(shù)據(jù)處理方法及裝置,用以解決僵尸物流訂單占用存儲服務(wù)器上額外的存儲空間和導(dǎo)致查詢速度變慢的問題。

基于上述問題,本申請實施例提供的一種物流訂單數(shù)據(jù)處理方法,包括:

監(jiān)聽物流訂單數(shù)據(jù)庫在數(shù)據(jù)發(fā)生變更時廣播的數(shù)據(jù)變更消息,所述數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識和變更信息;

對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,得到包含變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)信息的數(shù)據(jù)變更消息;所述變更信息包含訂單類型和變更后的訂單狀態(tài),所述訂單類型包括關(guān)聯(lián)外部業(yè)務(wù)訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單,所述完結(jié)狀態(tài)包括:關(guān)閉、簽收和拒收;

針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行以下操作:

查詢該物流訂單在物流訂單數(shù)據(jù)庫中的當(dāng)前訂單狀態(tài);

若該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)一致,則確定該物流訂單的訂單類型;

若該物流訂單的訂單類型為關(guān)聯(lián)外部業(yè)務(wù)訂單,則進一步確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài);

根據(jù)確定的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),對物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)進行更改,所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種。

一種物流訂單數(shù)據(jù)處理裝置,包括:

監(jiān)聽單元,用于監(jiān)聽物流訂單數(shù)據(jù)庫在數(shù)據(jù)發(fā)生變更時廣播的數(shù)據(jù)變更消息,所述數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識和變更信息;

過濾單元,用于對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,得到包含變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)信息的數(shù)據(jù)變更消息;所述變更信息包含訂單類型和變更后的訂單狀態(tài),所述訂單類型包括關(guān)聯(lián)外部業(yè)務(wù)訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單,所述完結(jié)狀態(tài)包括:關(guān)閉、簽收和拒收;

更改單元,用于針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行以下操作:查詢該物流訂單在物流訂單數(shù)據(jù)庫中的當(dāng)前訂單狀態(tài);若該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)一致,則確定該物流訂單的訂單類型;若該物流訂單的訂單類型為關(guān)聯(lián)外部業(yè)務(wù)訂單,則進一步確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài);根據(jù)確定的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),對物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)進行更改,所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種。

在本申請實施例的方案中,首先過濾出了變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)的數(shù)據(jù)變更消息,其次,對過濾出的數(shù)據(jù)變更消息中的每一物流訂單的標(biāo)識所表示的物流訂單進行了定時任務(wù)處理,在設(shè)定時長后,進行該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)進行對比,訂單狀態(tài)一致時,說明該物流訂單在所述設(shè)定時長內(nèi)狀態(tài)沒有發(fā)生變化,進行進一步確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),之后根據(jù)確定的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),對物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)進行更改,實現(xiàn)了對訂單狀態(tài)不為完結(jié)狀態(tài),訂單類型為關(guān)聯(lián)外部業(yè)務(wù)的物流訂單,且設(shè)定時長內(nèi)訂單狀態(tài)沒有發(fā)生變化的物流訂單的訂單狀態(tài)的更改,并且所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種,由于該物流訂單的訂單狀態(tài)處于完結(jié)狀態(tài),因此,可將該物流訂單刪除或移動到歷史物流訂單處理器,減少了存儲 物流訂單數(shù)據(jù)庫的服務(wù)器上額外的存儲空間的占用,并且減少了堆積在當(dāng)前物流訂單數(shù)據(jù)中的沒有使用價值的僵尸物流訂單的數(shù)量,進而提高了當(dāng)前物流訂單數(shù)據(jù)庫中對具有使用價值的物流訂單的進行查詢的速度。

附圖說明

圖1為本申請中對包裹的層層流轉(zhuǎn)過程及相應(yīng)地對物流平臺中的物流訂單的操作的示意圖;

圖2為本申請實施例一提供的物流訂單數(shù)據(jù)處理方法的流程圖;

圖3為本申請實施例二提供的物流訂單數(shù)據(jù)處理方法的流程圖之一;

圖4為本申請實施例二提供的物流訂單數(shù)據(jù)處理方法的流程圖之二;

圖5為本申請實施例二提供的物流訂單數(shù)據(jù)處理方法的流程圖之三;

圖6為本申請實施例三提供的物流訂單數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。

具體實施方式

為了解決僵尸物流訂單占用存儲服務(wù)器上額外的存儲空間和導(dǎo)致當(dāng)前物流訂單數(shù)據(jù)庫的查詢速度變慢的問題,本申請實施例提供一種物流訂單數(shù)據(jù)處理方法及裝置。

以下結(jié)合說明書附圖對本申請的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本申請,并不用于限定本申請。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。

為了清楚地理解本申請實施例的方案,這里首先對物流訂單的訂單類型進行說明:

現(xiàn)有的物流訂單按照是否與其它業(yè)務(wù)系統(tǒng)產(chǎn)生的業(yè)務(wù)訂單有關(guān)聯(lián),分為關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單。其中,外部業(yè)務(wù)訂單指的是其他業(yè)務(wù)系統(tǒng)的訂單,該其它業(yè)務(wù)系統(tǒng)的訂單需要依靠物流訂單進行發(fā)貨,也即需要與物流訂單進行關(guān)聯(lián)。例如,網(wǎng)上商城的交易訂單就可以 稱為是外部業(yè)務(wù)訂單,因為交易訂單上一般只有交易信息,如交易金額、交易時間、交易商品等,但不會包含復(fù)雜的物流發(fā)貨信息,所以需要依靠物流訂單進行發(fā)貨。利用所述交易訂單創(chuàng)建的物流訂單就可稱為關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單。對于一個作為消費者的用戶通過物流平臺寄送一個包裹時創(chuàng)建的物流訂單,對該物流平臺使用的功能就僅僅是聯(lián)系物流公司、查看物流詳情等。這種情況就是不關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單。

針對關(guān)聯(lián)外部業(yè)務(wù)訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單這兩種不同訂單類型的物流訂單,均包括發(fā)貨地址、收貨地址、物流公司信息以及運單號等信息,關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單中還可以包括外部交易訂單的標(biāo)識,或者外部交易訂單的標(biāo)識和外部交易信息;這里的外部交易信息可以包括交易金額、交易商品和交易數(shù)量等信息。

下面結(jié)合附圖,用具體實施例對本申請?zhí)峁┑姆椒把b置進行詳細(xì)描述。

實施例一

如圖2所示,其為本申請實施例一提供的一種物流訂單數(shù)據(jù)處理方法的流程圖,包括以下步驟:

步驟201:監(jiān)聽物流訂單數(shù)據(jù)庫在數(shù)據(jù)發(fā)生變更時廣播的數(shù)據(jù)變更消息,之后執(zhí)行步驟202;

在數(shù)據(jù)驅(qū)動業(yè)務(wù)流轉(zhuǎn)的系統(tǒng)架構(gòu)中,每一次數(shù)據(jù)的變更都會往外部發(fā)送一條數(shù)據(jù)變更消息。而承載物流訂單的系統(tǒng)就是此種類型的系統(tǒng)。承載物流訂單的系統(tǒng)在數(shù)據(jù)發(fā)生變更時,系統(tǒng)中的物流訂單數(shù)據(jù)庫就廣播數(shù)據(jù)變更消息,所述數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識和變更信息。這里的變更信息也即為變更的內(nèi)容。可以包含變更后的內(nèi)容,還可以包含變更前的內(nèi)容,通常,還可以包括變更時間。

用戶每次通過承載物流訂單的系統(tǒng)中的物流平臺發(fā)貨都會產(chǎn)生一條物流訂單,這條物流訂單能完整的表達貨物從哪里發(fā)出,發(fā)往哪里,中間經(jīng)過了哪 些人對這條物流訂單做了什么。這條物流訂單從創(chuàng)建開始,每發(fā)生一個變化,物流訂單數(shù)據(jù)庫都會將其變化的數(shù)據(jù)通過數(shù)據(jù)變更消息的形式廣播出來;針對這些廣播出的數(shù)據(jù)變更消息,不同的業(yè)務(wù)系統(tǒng)監(jiān)聽自己感興趣的消息。例如,有些業(yè)務(wù)系統(tǒng)專門監(jiān)聽包含物流訂單創(chuàng)建的數(shù)據(jù)變更消息,有些業(yè)務(wù)系統(tǒng)專門監(jiān)聽包含運單號變化的數(shù)據(jù)變更消息,有些業(yè)務(wù)系統(tǒng)專門監(jiān)聽包含收貨地址修改的數(shù)據(jù)變更消息等等,而本申請實施例中監(jiān)聽的是包含訂單狀態(tài)變更的數(shù)據(jù)變更消息。

步驟202:對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,得到包含變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)信息的數(shù)據(jù)變更消息,之后執(zhí)行步驟203;

物流訂單的訂單狀態(tài)包括:完結(jié)狀態(tài)和非完結(jié)狀態(tài),其中,完結(jié)狀態(tài)又包括:關(guān)閉、簽收和拒收;非完結(jié)狀態(tài)包括:等待物流公司接單、等待物流公司攬收、物流公司接單、物流公司攬收、等待發(fā)貨人發(fā)貨、等待發(fā)貨人重新發(fā)貨等等。在物流訂單的訂單狀態(tài)為完結(jié)狀態(tài)時,該條物流訂單走向完結(jié),可以被移入歷史物流訂單數(shù)據(jù)庫或者刪除。

下面對接單和攬收進行說明:用戶通過網(wǎng)絡(luò)創(chuàng)建物流訂單,將用戶的要求快遞東西的消息發(fā)送給物流公司,物流公司可以根據(jù)自己的實際情況,如攬派范圍,人員情況等,選擇是否接收個物流訂單,選擇做這個物流訂單就是接單;攬收是在線上選擇接單之后,派遣快遞員去攬收包裹。當(dāng)快遞員拿到這個包裹后,將拿到包裹的這條消息上傳到物流平臺,這條消息就是攬收。

所述變更信息包含訂單類型、變更前的訂單狀態(tài)和變更后的訂單狀態(tài),所述訂單類型包括關(guān)聯(lián)外部業(yè)務(wù)訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單;

由于本申請需要處理的是處于非完結(jié)狀態(tài)的物流訂單,因此,需要對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,過濾出包含變更后的訂單狀態(tài)的數(shù)據(jù)變更消息,且該過濾出的數(shù)據(jù)變更消息中包含的變更后的訂單狀態(tài)為非完結(jié)狀態(tài)中的訂單狀態(tài),也可以說過濾出的數(shù)據(jù)變更消息中包含的變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài),之后針對該過濾出的數(shù)據(jù)變更消息進行后續(xù)處理。

優(yōu)選的,所述數(shù)據(jù)變更消息中還包括變更類型;所述變更類型包括:訂單狀態(tài)變更、運單號變更、收貨地址變更、新訂單創(chuàng)建等等;

此時,步驟202中,進行過濾時,可以先根據(jù)變更類型對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,判斷監(jiān)聽到的各條數(shù)據(jù)變更消息中包含的變更類型是否為訂單狀態(tài)變更;若是,則保留此條數(shù)據(jù)變更消息,若否,則丟棄該條數(shù)據(jù)變更消息;之后,針對保留的各條數(shù)據(jù)變更消息進行再次過濾,判斷數(shù)據(jù)變更消息中包含的變更后的訂單狀態(tài)是否為完結(jié)狀態(tài)中的任一種,若是,則丟棄此條變更消息,若否,則保留此條數(shù)據(jù)變更消息;此時,再次過濾后得到的即為變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)的數(shù)據(jù)變更消息,也即變更類型為訂單狀態(tài)變更、且變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)的數(shù)據(jù)變更消息。

步驟203:針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行以下述步驟204至步驟212;

所述設(shè)定時長可以是國內(nèi)普通快遞從發(fā)貨地址到投遞到收貨地址平均需要的時長,也可以是根據(jù)經(jīng)驗值設(shè)定的時長,還可以是根據(jù)統(tǒng)計的每個不同的訂單狀態(tài)在物流訂單從創(chuàng)建狀態(tài)到完結(jié)狀態(tài)這一生命周期中流轉(zhuǎn)到下一個狀態(tài)的時間,對統(tǒng)計得到的各個時間的統(tǒng)計值,例如,對各個統(tǒng)計得到的時間進行加權(quán)平均,或者取各個統(tǒng)計得到的時間的最大值等等;

這里在設(shè)定時長后執(zhí)行下述步驟204至步驟206,目的是為了等待物流訂單的改變,在設(shè)定時長后,有些物流訂單的當(dāng)前狀態(tài)已經(jīng)發(fā)生了改變,而有些物流訂單的當(dāng)前狀態(tài)并沒有發(fā)生改變,這些當(dāng)前狀態(tài)已經(jīng)發(fā)生了改變的物流訂單,該物流訂單從目前的情況看是正在走向下一個訂單狀態(tài)或者正在走向完結(jié)狀態(tài),目前必定不是僵尸物流訂單。

步驟204:查詢該物流訂單在物流訂單數(shù)據(jù)庫中的當(dāng)前訂單狀態(tài),之后執(zhí)行步驟205;

由于過濾后得到的數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識,因此,利用根據(jù)該物流訂單的標(biāo)識,在物流訂單數(shù)據(jù)庫中查詢該物流訂單的標(biāo)識所表示的物流 訂單的當(dāng)前訂單狀態(tài)。

步驟205:判斷該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)是否一致,若判斷結(jié)果為是,則執(zhí)行步驟206;若判斷結(jié)果為否,則執(zhí)行步驟207;

這里,若該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)相同,則確定該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)一致;若該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)不相同,則確定該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)不一致。

步驟206:判斷該物流訂單的訂單類型是否為關(guān)聯(lián)外部業(yè)務(wù)訂單;若是,則執(zhí)行步驟208;若否,則執(zhí)行步驟209;

由于關(guān)聯(lián)外部業(yè)務(wù)訂單類型的物流訂單,其訂單狀態(tài)的改變是依靠其關(guān)聯(lián)的外部業(yè)務(wù)訂單的訂單狀態(tài);而不關(guān)聯(lián)外部業(yè)務(wù)訂單類型的物流訂單,其訂單狀態(tài)的改變是由自身決定的,因此,本步驟206需要對物流訂單的訂單類型進行區(qū)分,以便于對不同訂單類型的物流訂單分別進行處理。

步驟207:結(jié)束;

這里,由于該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)不一致,說明物流訂單當(dāng)前必定不為僵尸訂單,因此,不需要進行處理。

步驟208:確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),之后執(zhí)行步驟210;

步驟209:根據(jù)該物流訂單的處于變更后的訂單狀態(tài)的時長,判斷該物流訂單是否超時;若超時,則執(zhí)行步驟211;若沒有超時,則執(zhí)行步驟212;

具體的,可以查詢物流訂單數(shù)據(jù)庫中該物流訂單的當(dāng)前訂單狀態(tài),若當(dāng)前訂單狀態(tài)與變更后的物流訂單的訂單狀態(tài)一致,則可利用當(dāng)前時間與包含該物流訂單的數(shù)據(jù)變更消息中包含的變更時間之差相減,即得到該物流訂單的處于變更后的訂單狀態(tài)的時長,然后將該得到的時長與設(shè)定的超時時長進行比較,大于設(shè)定的超時時長時,則確定為超時,否則,確定為未超時。可以對設(shè)定與各訂單狀態(tài)對應(yīng)的超時時長。

步驟210:根據(jù)確定的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),對物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)進行更改,所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種;

步驟211:將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

步驟212:等待設(shè)定時長,之后跳轉(zhuǎn)至步驟204。

通過本申請實施例一的方案實現(xiàn)了對訂單狀態(tài)不為完結(jié)狀態(tài),訂單類型為關(guān)聯(lián)外部業(yè)務(wù)的物流訂單,且設(shè)定時長內(nèi)訂單狀態(tài)沒有發(fā)生變化的物流訂單的訂單狀態(tài)的更改,并且所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種,由于該物流訂單的訂單狀態(tài)處于完結(jié)狀態(tài),因此,可將該物流訂單刪除或移動到歷史物流訂單處理器,并且對減少了存儲物流訂單數(shù)據(jù)庫的服務(wù)器上額外的存儲空間的占用,并且進一步實現(xiàn)了對訂單狀態(tài)不為完結(jié)狀態(tài),訂單類型為不關(guān)聯(lián)外部業(yè)務(wù)的物流訂單,且設(shè)定時長內(nèi)訂單狀態(tài)沒有發(fā)生變化的物流訂單的訂單狀態(tài)進行了關(guān)閉或者進行了重新進行超時判斷,訂單狀態(tài)減少了堆積在當(dāng)前物流訂單數(shù)據(jù)中的沒有使用價值的僵尸物流訂單的數(shù)量,進而提高了當(dāng)前物流訂單數(shù)據(jù)庫中對具有使用價值的物流訂單的進行查詢的速度。此外,還可以對本申請實施例一的方案進行優(yōu)化,以便進一步減少僵尸物流訂單,下面,通過實施例二的方案進行描述。

實施例二

如圖3所示,其為本申請實施例一提供的一種物流訂單數(shù)據(jù)處理方法的流程圖,包括以下步驟:

步驟301:監(jiān)聽物流訂單數(shù)據(jù)庫在數(shù)據(jù)發(fā)生變更時廣播的數(shù)據(jù)變更消息,之后執(zhí)行步驟302;

步驟302:對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,得到包含變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)信息的數(shù)據(jù)變更消息,之后執(zhí)行步驟303;

上述步驟301至步驟302的具體實現(xiàn)細(xì)節(jié)與實施例一中的步驟201至步驟 202的具體實現(xiàn)細(xì)節(jié)相同,這里不再贅述。

步驟303:判斷過濾后得到的數(shù)據(jù)變更消息中,包含的物流訂單的標(biāo)識所表示的物流訂單的變更后的訂單狀態(tài),是否為拒絕接單和拒絕攬收兩種訂單狀態(tài)中的任一種;若是,則執(zhí)行步驟304;若否,則執(zhí)行步驟305;

步驟304:查詢與該物流訂單具有關(guān)聯(lián)關(guān)系的最新創(chuàng)建的物流訂單的標(biāo)識,并將該物流訂單的變更后的訂單狀態(tài)作為該最新創(chuàng)建的物流訂單的變更后的訂單狀態(tài),之后執(zhí)行步驟305;

其中,可以通過以下第一步至第三步確定與該物流訂單具有關(guān)聯(lián)關(guān)系的最新創(chuàng)建的物流訂單的標(biāo)識:

第一步:確定變更后的訂單狀態(tài)為拒絕接單或者拒絕攬收狀態(tài)的數(shù)據(jù)變更消息中的物流訂單的標(biāo)識;

第二步:利用確定的物流訂單的標(biāo)識查詢物流訂單數(shù)據(jù)庫,該物流訂單數(shù)據(jù)庫中記錄物流訂單的標(biāo)識和該物流訂單的標(biāo)識所表示的物流訂單被關(guān)閉后重新創(chuàng)建的物流訂單的標(biāo)識之間的關(guān)聯(lián)關(guān)系;

其中,該關(guān)聯(lián)關(guān)系可以通過業(yè)務(wù)標(biāo)識來實現(xiàn);由于同一個業(yè)務(wù)的標(biāo)識下,只有一個正常狀態(tài)的物流訂單,其他都處于被關(guān)閉/取消狀態(tài),因此可以根據(jù)當(dāng)前消息體中的物流訂單的標(biāo)識,找到業(yè)務(wù)的標(biāo)識,根據(jù)業(yè)務(wù)的標(biāo)識找到重新創(chuàng)建的物流訂單的標(biāo)識;

第三步:從該物流訂單數(shù)據(jù)庫中查詢該確定的物流訂單的標(biāo)識相關(guān)聯(lián)的重新創(chuàng)建的物流訂單的標(biāo)識;

上述步驟301至步驟304可以理解為物流訂單數(shù)據(jù)處理中的采集需要要處理的物流訂單數(shù)據(jù)階段。

步驟305:針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單中,訂單狀態(tài)不為拒絕接單和拒絕攬收兩種訂單狀態(tài)中的任一種的物流訂單,和查詢出的所述最新創(chuàng)建的物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行以下步驟306至步驟317;

步驟306:查詢該物流訂單在物流訂單數(shù)據(jù)庫中的當(dāng)前訂單狀態(tài),之后執(zhí)行步驟307;

步驟307:判斷該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)是否一致,若判斷結(jié)果為是,則執(zhí)行步驟308;若判斷結(jié)果為否,則執(zhí)行步驟309;

步驟308:判斷該物流訂單的訂單類型是否為關(guān)聯(lián)外部業(yè)務(wù)訂單;若是,則執(zhí)行步驟310;若否,則執(zhí)行步驟311;

步驟309:結(jié)束;

步驟310:確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),之后執(zhí)行步驟312;

步驟311:根據(jù)該物流訂單的處于變更后的訂單狀態(tài)的時長,判斷該物流訂單是否超時;若超時,則執(zhí)行步驟313;若沒有超時,則執(zhí)行步驟314;

步驟312:判斷外部業(yè)務(wù)訂單的訂單狀態(tài)是否為成功完結(jié)或關(guān)閉,若是,則執(zhí)行步驟315;若否,則執(zhí)行步驟314;

步驟313:判斷該物流訂單的變更后的訂單狀態(tài)是否為等待物流公司接單或等待物流公司攬收,若是,則執(zhí)行步驟316,若否,則執(zhí)行步驟317;

步驟314:等待設(shè)定時長,之后跳轉(zhuǎn)至步驟306。

步驟315:在外部業(yè)務(wù)訂單的訂單狀態(tài)為成功完結(jié)時,將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為簽收;在外部業(yè)務(wù)訂單的訂單狀態(tài)為關(guān)閉時,將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉;

步驟316:關(guān)閉該物流訂單并重新創(chuàng)建一條物流訂單,并設(shè)置該重新創(chuàng)建的一條物流訂單的訂單狀態(tài)為等待發(fā)貨人重新發(fā)貨;

步驟317:將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

上述步驟305至步驟317,為需要等待設(shè)定時長后才執(zhí)行的操作,可以將步驟305中待處理的每一物流訂單的物流訂單標(biāo)識和變更后的訂單狀態(tài)這些數(shù)據(jù)看做是一個定時任務(wù),相應(yīng)地,可以將步驟305至步驟317理解為物流訂單數(shù)據(jù)處理中的定時任務(wù)執(zhí)行階段。這時,上述步驟301至步驟304所描述的物 流訂單數(shù)據(jù)采集過程也可以用圖4來表達,上述步驟305至步驟317所描述的物流訂單數(shù)據(jù)采集過程也可以用圖5來表達,圖4和圖5中的目標(biāo)狀態(tài)即為變更后的訂單狀態(tài),超時任務(wù)即為定時任務(wù),Schedule為定時任務(wù)調(diào)度中心,由定時任務(wù)調(diào)度中心來執(zhí)行圖5中的過程。

在本申請實施例三的方案中,針對關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單,根據(jù)其關(guān)聯(lián)的外部業(yè)務(wù)訂單的訂單狀態(tài)對其訂單狀態(tài)進行修改,能夠有效保證該物流訂單的訂單狀態(tài)和其關(guān)聯(lián)的外部業(yè)務(wù)訂單的訂單狀態(tài)保持一致性,減少僵尸物流訂單訂單;針對沒有關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單則能完全保證其狀態(tài)走向終結(jié),完全解決僵尸物流訂單。

實施例三

基于同一發(fā)明構(gòu)思,本申請實施例三還提供了一種物流訂單數(shù)據(jù)處理裝置,由于該裝置所解決問題的原理與前述的物流訂單數(shù)據(jù)處理方法相似,因此該裝置的實施可以參見前述方法的實施,重復(fù)之處不再贅述。

如圖6所示,其為本申請實施例三提供的物流訂單數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖,包括:監(jiān)聽單元61、過濾單元62和更改單元63;其中:

監(jiān)聽單元61,用于監(jiān)聽物流訂單數(shù)據(jù)庫在數(shù)據(jù)發(fā)生變更時廣播的數(shù)據(jù)變更消息,所述數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識和變更信息;

過濾單元62,用于對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾,得到包含變更后的訂單狀態(tài)不為完結(jié)狀態(tài)中的任一狀態(tài)信息的數(shù)據(jù)變更消息;所述變更信息包含訂單類型和變更后的訂單狀態(tài),所述訂單類型包括關(guān)聯(lián)外部業(yè)務(wù)訂單和不關(guān)聯(lián)外部業(yè)務(wù)訂單,所述完結(jié)狀態(tài)包括:關(guān)閉、簽收和拒收;

更改單元63,用于針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行以下操作:查詢該物流訂單在物流訂單數(shù)據(jù)庫中的當(dāng)前訂單狀態(tài);若該物流訂單的變更后的訂單狀態(tài)與當(dāng)前訂單狀態(tài)一致,則確定該物流訂單的訂單類型;若該物流訂單的訂單類型為關(guān) 聯(lián)外部業(yè)務(wù)訂單,則進一步確定該物流訂單關(guān)聯(lián)的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài);根據(jù)確定的外部業(yè)務(wù)訂單的當(dāng)前訂單狀態(tài),對物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)進行更改,所述更改使得該物流訂單的訂單狀態(tài)能走向完結(jié)狀態(tài)中的一種。

較佳的,所述更改單元63,還用于若該物流訂單的訂單類型為不關(guān)聯(lián)外部業(yè)務(wù)訂單,則根據(jù)該物流訂單的處于變更后的訂單狀態(tài)的時長,確定該物流訂單是否超時;若確定該物流訂單超時,則將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

較佳的,所述更改單元63,具體用于若確定該物流訂單超時,則進一步確定該物流訂單的變更后的訂單狀態(tài)是否為等待物流公司接單或等待物流公司攬收;若確定該物流訂單變更后的訂單狀態(tài)不為等待物流公司接單或等待物流公司攬收,則將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

較佳的,所述更改單元63,還用于若確定該物流訂單變更后的訂單狀態(tài)為等待物流公司接單或等待物流公司攬收,則關(guān)閉該物流訂單并重新創(chuàng)建一條物流訂單,并設(shè)置該重新創(chuàng)建的一條物流訂單的訂單狀態(tài)為等待發(fā)貨人重新發(fā)貨。

較佳的,所述更改單元63,具體用于在確定的外部業(yè)務(wù)訂單的訂單狀態(tài)為成功完結(jié)時,將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為簽收;在確定的外部業(yè)務(wù)訂單的訂單狀態(tài)為關(guān)閉時,將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

較佳的,所述更改單元63,還用于在確定的外部業(yè)務(wù)訂單的訂單狀態(tài)為尚未完結(jié)時,在所述設(shè)定時長后,針對該物流訂單執(zhí)行所述操作。

較佳的,所述裝置還包括:查詢單元64,用于在過濾單元對監(jiān)聽到的數(shù)據(jù)變更消息進行過濾之后,變更單元針對過濾后得到的數(shù)據(jù)變更消息中包含的每一物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行所述操作之前,若確定過濾后得到的數(shù)據(jù)變更消息中,包含的物流訂單的標(biāo)識所表示的物流訂單 的變更后的訂單狀態(tài),為拒絕接單和拒絕攬收兩種訂單狀態(tài)中的任一種,則查詢與該物流訂單具有關(guān)聯(lián)關(guān)系的最新創(chuàng)建的物流訂單的標(biāo)識,并將該物流訂單的變更后的訂單狀態(tài),作為該最新創(chuàng)建的物流訂單的變更后的訂單狀態(tài);

所述更改單元63,具體用于針對過濾后得到的數(shù)據(jù)變更消息中,包含的物流訂單的標(biāo)識所表示的物流訂單中,訂單狀態(tài)不為拒絕接單和拒絕攬收兩種訂單狀態(tài)中的任一種的物流訂單,和查詢出的所述最新創(chuàng)建的物流訂單的標(biāo)識所表示的物流訂單,在設(shè)定時長后,執(zhí)行上述在設(shè)定時長后執(zhí)行的操作。

在本申請實施例的方案中,首先通過監(jiān)聽數(shù)據(jù)變更消息來完成對僵尸物流訂單的處理,無侵入性的設(shè)計保證原有的業(yè)務(wù)不會因為此次變更而受到影響。其次,通過監(jiān)控每個物流訂單的訂單狀態(tài)的變化,使用用定時任務(wù)來保證不關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單能夠都走向完結(jié)(簽收、拒簽、關(guān)閉),以及確保包含外部業(yè)務(wù)訂單的物流訂單,能夠和其關(guān)聯(lián)的外部業(yè)務(wù)訂單的訂單狀態(tài)的一致性。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式實現(xiàn)?;谶@樣的理解,本申請實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述的方法。

本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本申請所必須的。

本領(lǐng)域技術(shù)人員可以理解實施例中終端中的模塊可以按照實施例描述進行分布于實施例的終端中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個終端中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。

上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

顯然,本領(lǐng)域的技術(shù)人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1