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

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

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

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



背景技術(shù):

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

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

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

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

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

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

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

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

這里,物流公司攬收之后將會(huì)把包裹送達(dá)收貨人;

步驟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:物流公司向物流平臺(tái)回傳拒簽。

步驟92:物流公司向物流平臺(tái)回傳簽收。

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

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

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

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

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

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

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

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

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

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



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

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

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

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

對(duì)監(jiān)聽到的數(shù)據(jù)變更消息進(jìn)行過濾,得到包含變更后的訂單狀態(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)閉、簽收和拒收;

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

查詢?cè)撐锪饔唵卧谖锪饔唵螖?shù)據(jù)庫中的當(dāng)前訂單狀態(tài);

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

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

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

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

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

過濾單元,用于對(duì)監(jiān)聽到的數(shù)據(jù)變更消息進(jìn)行過濾,得到包含變更后的訂單狀態(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)閉、簽收和拒收;

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

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

附圖說明

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

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

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

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

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

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

具體實(shí)施方式

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

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

為了清楚地理解本申請(qǐng)實(shí)施例的方案,這里首先對(duì)物流訂單的訂單類型進(jìn)行說明:

現(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)的訂單需要依靠物流訂單進(jìn)行發(fā)貨,也即需要與物流訂單進(jìn)行關(guān)聯(lián)。例如,網(wǎng)上商城的交易訂單就可以 稱為是外部業(yè)務(wù)訂單,因?yàn)榻灰子唵紊弦话阒挥薪灰仔畔?,如交易金額、交易時(shí)間、交易商品等,但不會(huì)包含復(fù)雜的物流發(fā)貨信息,所以需要依靠物流訂單進(jìn)行發(fā)貨。利用所述交易訂單創(chuàng)建的物流訂單就可稱為關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單。對(duì)于一個(gè)作為消費(fèi)者的用戶通過物流平臺(tái)寄送一個(gè)包裹時(shí)創(chuàng)建的物流訂單,對(duì)該物流平臺(tái)使用的功能就僅僅是聯(lián)系物流公司、查看物流詳情等。這種情況就是不關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單。

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

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

實(shí)施例一

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

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

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

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

步驟202:對(duì)監(jiān)聽到的數(shù)據(jù)變更消息進(jìn)行過濾,得到包含變更后的訂單狀態(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)時(shí),該條物流訂單走向完結(jié),可以被移入歷史物流訂單數(shù)據(jù)庫或者刪除。

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

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

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

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

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

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

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

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

步驟204:查詢?cè)撐锪饔唵卧谖锪饔唵螖?shù)據(jù)庫中的當(dāng)前訂單狀態(tài),之后執(zhí)行步驟205;

由于過濾后得到的數(shù)據(jù)變更消息中包含物流訂單的標(biāo)識(shí),因此,利用根據(jù)該物流訂單的標(biāo)識(shí),在物流訂單數(shù)據(jù)庫中查詢?cè)撐锪饔唵蔚臉?biāo)識(shí)所表示的物流 訂單的當(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需要對(duì)物流訂單的訂單類型進(jìn)行區(qū)分,以便于對(duì)不同訂單類型的物流訂單分別進(jìn)行處理。

步驟207:結(jié)束;

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

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

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

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

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

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

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

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

實(shí)施例二

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

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

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

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

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

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

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

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

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

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

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

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

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

步驟306:查詢?cè)撐锪饔唵卧谖锪饔唵螖?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)的時(shí)長(zhǎng),判斷該物流訂單是否超時(shí);若超時(shí),則執(zhí)行步驟313;若沒有超時(shí),則執(zhí)行步驟314;

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

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

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

步驟315:在外部業(yè)務(wù)訂單的訂單狀態(tài)為成功完結(jié)時(shí),將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為簽收;在外部業(yè)務(wù)訂單的訂單狀態(tài)為關(guān)閉時(shí),將物流訂單數(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è)定時(shí)長(zhǎng)后才執(zhí)行的操作,可以將步驟305中待處理的每一物流訂單的物流訂單標(biāo)識(shí)和變更后的訂單狀態(tài)這些數(shù)據(jù)看做是一個(gè)定時(shí)任務(wù),相應(yīng)地,可以將步驟305至步驟317理解為物流訂單數(shù)據(jù)處理中的定時(shí)任務(wù)執(zhí)行階段。這時(shí),上述步驟301至步驟304所描述的物 流訂單數(shù)據(jù)采集過程也可以用圖4來表達(dá),上述步驟305至步驟317所描述的物流訂單數(shù)據(jù)采集過程也可以用圖5來表達(dá),圖4和圖5中的目標(biāo)狀態(tài)即為變更后的訂單狀態(tài),超時(shí)任務(wù)即為定時(shí)任務(wù),Schedule為定時(shí)任務(wù)調(diào)度中心,由定時(shí)任務(wù)調(diào)度中心來執(zhí)行圖5中的過程。

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

實(shí)施例三

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

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

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

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

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

較佳的,所述更改單元63,具體用于若確定該物流訂單超時(shí),則進(jìn)一步確定該物流訂單的變更后的訂單狀態(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í),將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為簽收;在確定的外部業(yè)務(wù)訂單的訂單狀態(tài)為關(guān)閉時(shí),將物流訂單數(shù)據(jù)庫中該物流訂單的訂單狀態(tài)更改為關(guān)閉。

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

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

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

在本申請(qǐng)實(shí)施例的方案中,首先通過監(jiān)聽數(shù)據(jù)變更消息來完成對(duì)僵尸物流訂單的處理,無侵入性的設(shè)計(jì)保證原有的業(yè)務(wù)不會(huì)因?yàn)榇舜巫兏艿接绊憽F浯?,通過監(jiān)控每個(gè)物流訂單的訂單狀態(tài)的變化,使用用定時(shí)任務(wù)來保證不關(guān)聯(lián)外部業(yè)務(wù)訂單的物流訂單能夠都走向完結(jié)(簽收、拒簽、關(guān)閉),以及確保包含外部業(yè)務(wù)訂單的物流訂單,能夠和其關(guān)聯(lián)的外部業(yè)務(wù)訂單的訂單狀態(tài)的一致性。

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

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

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

上述本申請(qǐng)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

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

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