本發明涉及計算機技術領域,特別涉及一種基于超市收銀的預約付款方法、裝置及系統。
背景技術:
隨著城市居民數量的不斷增加及人們生活水平的不斷提高,大型超市內選購商品的消費者人數也越來越多。各用戶在選購完自身所需商品之后,需要在超市各收銀臺處順序排隊以等待付款。通常情況下,不同時間段內等待付款的用戶人數會存在差異,例如每天晚上及周末時,超市內的人流量較其他時間段有明顯增多。
目前,超市內通常開放部分收銀臺,用戶在開放的各收銀臺處順序排隊以等待付款。當管理人員發現收銀臺開放數量與排隊人數存在顯著不均衡時,會相應調整收銀臺開放數量。
由于需要人為發現收銀臺的當前開放數量不適宜時才進行相應調整,故現有的實現方式存在一定滯后性,不能實現收銀臺開放數量實時調整。
技術實現要素:
本發明提供了一種基于超市收銀的預約付款方法、裝置及系統,能夠基于用戶預約付款以實時調整收銀臺的開放數量。
為了達到上述目的,本發明是通過如下技術方案實現的:
第一方面,本發明提供了一種基于超市收銀的預約付款方法,應用于服務器端,包括:
在接收到客戶端發來的付款申請時,確定每一個收銀臺的當前排隊人數,并確定出其中的最小排隊人數;
將所述最小排隊人數發送給所述客戶端;
在接收到所述客戶端發來的確認申請時,確定所述最小排隊人數對應的任一目標收銀臺,并生成目標排隊序號,且所述目標排隊序號為所述目標收銀臺對應的末位排隊序號的下一個排隊序號,以及將所述目標排隊序號發送給所述客戶端;接收所述客戶端發來的開啟新收銀臺申請;
判斷預先確定的時間段內所接收到的開啟新收銀臺申請的個數是否超過相應閾值,若是,通知管理員開啟新收銀臺。
進一步地,該方法還包括:定期分別判斷預先確定的時間段內每一個收銀臺的累計排隊人數是否在相應閾值范圍內,在判斷結果為均低于所述閾值范圍時,通知管理員關閉任一收銀臺,在判斷結果為均高于所述閾值范圍時,通知管理員開啟新收銀臺。
第二方面,本發明提供了一種基于超市收銀的預約付款方法,應用于客戶端,包括:
在接收到用戶輸入的付款申請時,將所述付款申請發送給服務器端;
接收并顯示所述服務器端發來的最小排隊人數;
在接收到用戶輸入的確認申請時,將所述確認申請發送給所述服務器端,以及接收并顯示所述服務器端發來的目標排隊序號;在接收到用戶輸入的開啟新收銀臺申請時,將所述開啟新收銀臺申請發送給服務器端。
第三方面,本發明提供了一種服務器端,包括:
通信單元,用于在接收到客戶端發來的付款申請時,向第一處理單元發送第一觸發信號,并將所述第一處理單元輸出的最小排隊人數發送給所述客戶端;在接收到所述客戶端發來的確認申請時,向第一處理單元發送第二觸發信號,并將所述第一處理單元輸出的目標排隊序號發送給所述客戶端;接收所述客戶端發來的開啟新收銀臺申請;
所述第一處理單元,用于接收到所述通信單元發來的第一觸發信號時,確定每一個收銀臺的當前排隊人數,并確定出其中的最小排隊人數,并將所述最小排隊人數輸出至所述通信單元;接收到所述通信單元發來的第二觸發信號時,確定所述最小排隊人數對應的任一目標收銀臺,并生成目標排隊序號,且所述目標排隊序號為所述目標收銀臺對應的末位排隊序號的下一個排隊序號,并將所述目標排隊序號輸出至所述通信單元;
第二處理單元,用于判斷預先確定的時間段內所述通信單元所接收到的開啟新收銀臺申請的個數是否超過相應閾值,若是,通知管理員開啟新收銀臺。
進一步地,所述第二處理單元,還用于定期分別判斷預先確定的時間段內每一個收銀臺的累計排隊人數是否在相應閾值范圍內,在判斷結果為均低于所述閾值范圍時,通知管理員關閉任一收銀臺,在判斷結果為均高于所述閾值范圍時,通知管理員開啟新收銀臺。
第四方面,本發明提供了一種客戶端,包括:
第一通信單元,用于在接收到用戶輸入的付款申請時,將所述付款申請輸出至第二通信單元;在接收到用戶輸入的確認申請時,將所述確認申請輸出至第二通信單元;在接收到用戶輸入的開啟新收銀臺申請時,將所述開啟新收銀臺申請輸出至第二通信單元;
所述第二通信單元,用于將所述第一通信單元輸出的付款申請發送給服務器端,以及接收所述服務器端發來的最小排隊人數,并將所述最小排隊人數輸出至顯示單元;將所述第一通信單元輸出的確認申請發送給所述服務器端,以及接收所述服務器端發來的目標排隊序號,并將所述目標排隊序號輸出至顯示單元;將所述第一通信單元輸出的開啟新收銀臺申請發送給所述服務器端;
所述顯示單元,用于顯示所述第二通信單元輸出的最小排隊人數;顯示所述第二通信單元輸出的目標排隊序號。
第五方面,本發明提供了一種基于超市收銀的預約付款系統,包括:
上述任一所述的服務器端,以及至少一個上述所述的客戶端。
進一步地,所述客戶端,還用于在接收到用戶輸入的針對目標商品的搜索申請時,將所述搜索申請發送給所述服務器端,以及接收并顯示所述服務器端發來的超市商品布局示意圖;
所述服務器端,還用于在接收到所述客戶端發來的所述搜索申請時,獲取商品定位信息清單和超市商品布局示意圖;根據所述商品定位信息清單,確定所述目標商品的目的位置;確定所述客戶端的當前位置;分別將所述目的位置對應的定位標和所述當前位置對應的定位標添加至所述超市商品布局示意圖中,并將添加后的所述超市商品布局示意圖發送給所述客戶端。
進一步地,所述服務器端,還用于在生成目標排隊序號時,記錄當前的第一時間,并將所述第一時間發送給所述客戶端;在接收到所述客戶端發來的過號申請時,確定當前的第二時間,并判斷所述第一時間和所述第二時間的差值是否超過預先確定的相應閾值,若是,通知所述客戶端申請失敗,否則,將所述目標排隊序號設置為對應的目標收銀臺的下一個服務序號,并通知所述目標收銀臺和所述客戶端;
所述客戶端,還用于接收并顯示所述服務器端發來的第一時間;在接收到用戶輸入的針對所述目標排隊序號的過號申請時,將所述過號申請發送給所述服務器端;接收并顯示所述服務器端發來的申請失敗的通知消息;以及接收并顯示所述服務器端發來的所述目標排隊序號為對應的目標收銀臺的下一個服務序號的通知消息。
進一步地,所述客戶端為安裝有預約付款APP軟件的手機客戶端,且所述手機客戶端中設置有定位裝置;
所述客戶端在監測到用戶針對所述預約付款APP軟件的開啟觸發操作時,利用所述定位裝置確定自身當前位置所對應的服務器端。
本發明提供了一種基于超市收銀的預約付款方法、裝置及系統,服務器端接收到客戶端的付款申請時,確定各收銀臺的當前排隊人數,并將最小排隊人數發送給客戶端;接收到客戶端的確認申請時,確定最小排隊人數對應的任一目標收銀臺,生成目標收銀臺對應的下一個排隊序號,并將其發送給客戶端;接收客戶端的開啟新收銀臺申請,并在判斷出預先確定的時間段內開啟新收銀臺申請的個數超過相應閾值時,通知管理員開啟新收銀臺。用戶可以通過客戶端向服務器端申請預約付款及申請開啟新收銀臺,服務器端相應的可以根據用戶具體申請情況以調整收銀臺開放數量。因此,本發明能夠基于用戶預約付款以實時調整收銀臺的開放數量。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一實施例提供的一種基于超市收銀的預約付款方法的流程圖;
圖2是本發明一實施例提供的另一種基于超市收銀的預約付款方法的流程圖;
圖3是本發明一實施例提供的又一種基于超市收銀的預約付款方法的流程圖;
圖4是本發明一實施例提供的一種服務器端的示意圖;
圖5是本發明一實施例提供的一種客戶端的示意圖;
圖6是本發明一實施例提供的一種基于超市收銀的預約付款系統的示意圖;
圖7是本發明一實施例提供的一種超市商品布局示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,本發明實施例提供了一種基于超市收銀的預約付款方法,應用于服務器端,可以包括以下步驟:
步驟101:在接收到客戶端發來的付款申請時,確定每一個收銀臺的當前排隊人數,并確定出其中的最小排隊人數。
步驟102:將所述最小排隊人數發送給所述客戶端。
步驟103:在接收到所述客戶端發來的確認申請時,確定所述最小排隊人數對應的任一目標收銀臺,并生成目標排隊序號,且所述目標排隊序號為所述目標收銀臺對應的末位排隊序號的下一個排隊序號,以及將所述目標排隊序號發送給所述客戶端;接收所述客戶端發來的開啟新收銀臺申請。
步驟104:判斷預先確定的時間段內所接收到的開啟新收銀臺申請的個數是否超過相應閾值,若是,通知管理員開啟新收銀臺,否則,結束當前流程。
本發明實施例提供了一種基于超市收銀的預約付款方法,服務器端接收到客戶端的付款申請時,確定各收銀臺的當前排隊人數,并將最小排隊人數發送給客戶端;接收到客戶端的確認申請時,確定最小排隊人數對應的任一目標收銀臺,生成目標收銀臺對應的下一個排隊序號,并將其發送給客戶端;接收客戶端的開啟新收銀臺申請,并在判斷出預先確定的時間段內開啟新收銀臺申請的個數超過相應閾值時,通知管理員開啟新收銀臺。用戶可以通過客戶端向服務器端申請預約付款及申請開啟新收銀臺,服務器端相應的可以根據用戶具體申請情況以調整收銀臺開放數量。因此,本發明實施例能夠基于用戶預約付款以實時調整收銀臺的開放數量。
在本發明實施例中,基于先到先得的規則,可以根據各確認申請對應的時間,依次分配排隊序號。服務器端將生成的排隊序號發送至客戶端后,用戶可以根據該排隊序號而進行有序付款。
由于可以根據各自的排隊序號而進行有序付款,故可以在收銀臺附近設置付款等候休息區以供用戶使用,這一實現方式無需各用戶進行常規排隊以等待付款,能夠在排隊人數較多、等待時間較長、用戶購買商品量較大的情況下,為用戶提供方便,提高用戶購物體驗。
在本發明一個實施例中,當多個用戶均需要付款結算時,為每一個用戶分配哪一個收銀臺的算法如下所述:
首先,可以設置目前收銀臺的開放數目為n,收銀臺窗口當前的等待付款人數為w[i],i≥0。假設一段時間內有p個人同時提交付款申請,通過各用戶的付款申請到達服務器端的時間進行排序,可以為p1<p2<…<pp,并按照這個順序進入隊列。
相應地,分配原則可以為:根據隊列中的順序,將每一個用戶首先分配到等待人數最少的那個窗口,若窗口等待人數相同,則隨機分配。
舉例來說,首先將當前收銀臺窗口等待的人數從低到高排序,為:
w[0]<w[1]<w[2]<w[i]<…<w[n-1]
此時,w[0]等待的人數最少,故可以將p1分配到w[0]收銀臺上去。
另一種情況下,若前i個收銀臺窗口等待人數相同,即:
w[0]=w[1]=w[2]=w[i]<…<w[n-1]
此時,前i個收銀臺的等待人數相同,則產生一個從[0,i]中的一個隨機數,故可以將p1分配到隨機數所對應的收銀臺窗口。
基于上述實現原理,可以遍歷所有同時提交付款申請的P個人,并將p個人的申請成功分配到對應的收銀臺。
詳細地,實時調整收銀臺開放數量的實現方式至少可以包括以下兩種:
方式1:根據用戶通過客戶端提交的開啟新收銀臺申請的個數,以實時調整收銀臺的開放數量;
方式2:根據各收銀臺的累計排隊人數,以實時調整收銀臺的開放數量。
詳細地,針對上述方式1:
如圖1所示的實施例,當一定時間段內,各用戶申請新收銀臺的總次數超過相應閾值時,可以通知管理員開啟新收銀臺。
例如,假設每天的18:00至21:30期間,超市客流量可能叫平時顯著增加,故可以每隔一個時間段,對該時間段內的用戶申請新收銀臺的次數進行一次判斷。比如,設置的各時間段的時長均為15min,故可以預先設置每一個時間段分別為:18:00~18:15、18:15~18:30、……、21:00~21:15,并依次于18:15、18:30、……、21:15進行一次判斷。
詳細地,不同期間內的時間段的時長可以不同,相關工作人員可以根據實際需求以進行合理設置。
詳細地,針對上述方式2:
在本發明的一個實施例中,為了說明一種根據各收銀臺的累計排隊人數以實時調整收銀臺開放數量的實現方式,所以,該方法可以進一步包括:定期分別判斷預先確定的時間段內每一個收銀臺的累計排隊人數是否在相應閾值范圍內,在判斷結果為均低于所述閾值范圍時,通知管理員關閉任一收銀臺,在判斷結果為均高于所述閾值范圍時,通知管理員開啟新收銀臺。
舉例來說,可以預先設置每一個時間段,且各時間段的設置情況可以同上述方式1所述;可以設置閾值范圍,如設置為(5人~10人)。
假設目前超市內開放有6個收銀臺,在當前所在的時間段內,服務器端對該時間段內每一個收銀臺對應的排隊序號的總數進行累計記錄,如18:00~18:15范圍內,6個收銀臺的累計排隊人數分別為8人、9人、9人、8人、8人、9人,在達到相應的判定時間時,經判斷可知,各收銀臺的累計排隊人數均在(5人~10人)閾值范圍內,故維持收銀臺的當前開放數量。
相應地,假設6個收銀臺的累計排隊人數分別為4人、4人、4人、3人、3人、4人,經判斷可知,各收銀臺的累計排隊人數均低于(5人~10人)閾值范圍,故可以管理員關閉任一收銀臺。
在本發明一個實施例中,當需要關閉收銀臺時,可以首先在服務器端將任一收銀臺設置為關閉狀態,故在接收到用戶的付款申請時,將不統計該收銀臺的當前排隊人數,從而為不會為用戶分配該收銀臺的排隊序號。然后,可以將該收銀臺的唯一標識通知于管理員。此外,在一種實現方式中,還可以通過收銀臺的顯示裝置以預先通知該收銀臺處的收銀員。
相應地,假設6個收銀臺的累計排隊人數分別為11人、11人、11人、12人、12人、12人,經判斷可知,各收銀臺的累計排隊人數均低于(5人~10人)閾值范圍,故可以管理員開啟新收銀臺。
在本發明一個實施例中,服務器端在接收到客戶端發來的付款申請時,可以確定當前開放的收銀臺的標識及個數、待開放的備用收銀臺的個數,以及每一個收銀臺的當前排隊人數,并將確定出的這些信息均發送給客戶端,以便于通過客戶端將這些信息提供給用戶。
在本發明實施例中,所提及的收銀臺可以為針對用戶利用客戶端進行預約付款的專用收銀臺。
如圖2所示,本發明實施例提供了一種基于超市收銀的預約付款方法,應用于客戶端,可以包括以下步驟:
步驟201:在接收到用戶輸入的付款申請時,將所述付款申請發送給服務器端。
步驟202:接收并顯示所述服務器端發來的最小排隊人數。
步驟203:在接收到用戶輸入的確認申請時,將所述確認申請發送給所述服務器端,以及接收并顯示所述服務器端發來的目標排隊序號;在接收到用戶輸入的開啟新收銀臺申請時,將所述開啟新收銀臺申請發送給服務器端。
詳細地,用戶完成超市購物之前,可以預先通過客戶端提出付款申請。服務器端在確定出當前的最小排隊人數時,可以將其發送給客戶端,以通過客戶端顯示界面提供于用戶。
針對該最小排隊人數,用戶可以執行下述任一路徑:
路徑1:若用戶可以接受該最小排隊人數,則可以進一步提交確認申請,從而可以利用客戶端以獲取到服務器端分配的相應排隊序號。其中,每一個排隊序號中可以包括一個收銀臺的唯一標識信息及用戶的排隊順序。然后,用戶可以根據服務器端分配的排隊序號,到相應收銀臺處順序排隊以等待付款。
路徑2:若用戶不愿接受該最小排隊人數,則可以進一步提交開啟新收銀臺申請,以請求開啟新收銀臺。當服務器接收到的各用戶提交的開啟新收銀臺申請的次數較多時,可以應允以開啟新收銀臺。當然,為了保證數據準確性,一定時間段內通過同一客戶端提交的申請可以不重復計數。在等待新收銀臺期間,用戶可以選擇繼續購物,或再次提交付款申請等。
在本發明一個實施例中,由于用戶看到的最小排隊人數是用戶提交付款申請時的實時數據,故為了保證數據的相對準確性,客戶端可以對用戶提交確定申請的時間進行限制。例如,在用戶提交付款申請后,客戶端可以進行為期5s的倒計時,若計時結束之前用戶未提交確認申請,則提示用戶需要再次提交付款申請。
在本發明一個實施例中,所述客戶端可以為用戶自身的手機客戶端,且手機客戶端上可以安裝有預約付款APP軟件。用戶通過該軟件,可以通過手機客戶端以與服務器端進行相應信息交互。
如圖3所示,本發明實施例提供了一種基于超市收銀的預約付款方法,可以包括以下步驟:
步驟301:客戶端將用戶輸入的針對目標商品的搜索申請發送給服務器端。
詳細地,客戶端可以為安裝有預約付款APP軟件的手機客戶端,且手機客戶端中設置有定位裝置。客戶端在監測到用戶針對預約付款APP軟件的開啟觸發操作時,可以利用定位裝置確定自身當前位置所對應的服務器端。
詳細地,一個超市對應于一個服務器端,且每一個服務器端對應于多個客戶端。本發明實施例中,以一個客戶端與一個特定服務器端的信息交互為例進行說明。
詳細地,用戶需要快速尋找任一目標商品時,可以提交針對目標商品的搜索申請。
步驟302:服務器端在接收到客戶端發來的搜索申請時,獲取商品定位信息清單和超市商品布局示意圖。
詳細地,商品定位信息清單中可以包括每一種商品的貨架位置信息。
詳細地,超市商品布局示意圖中可以包括超市內每一個商品貨架的擺放位置及大致示意圖。
步驟303:服務器端確定客戶端的當前位置,并根據商品定位信息清單,確定目標商品的目的位置。
詳細地,利用客戶端內部的定位裝置,可以定位客戶端的當前位置,及用戶當前所在位置。
步驟304:服務器端分別將目的位置對應的定位標和當前位置對應的定位標添加至超市商品布局示意圖中,并將添加后的超市商品布局示意圖發送給客戶端。
根據步驟303中確定出的當前位置和目的位置,可以將兩者添加至超市商品布局示意圖中。
步驟305:客戶端接收并顯示服務器端發來的超市商品布局示意圖。
客戶端通過顯示超市商品布局示意圖,可以快速準確的確定出從當前位置到目的位置的商品獲取路徑。
步驟306:客戶端將用戶輸入的付款申請發送給服務器端。
用戶完成商品選購時或之前,可以提交付款申請,以請求服務器端分配排隊序號。
步驟307:服務器端在接收到客戶端發來的付款申請時,確定每一個收銀臺的當前排隊人數,并將其中的最小排隊人數發送給客戶端。
服務器端在接收到付款申請時,可以確定各收銀臺的當前排隊人數,如分別為8人、9人、9人、8人、8人、9人,故可以確定其中的最小排隊人數是8人。
步驟308:客戶端接收并顯示服務器端發來的最小排隊人數。
客戶端通過顯示該最小排隊人數:8人,可以使用戶了解當前開放的收銀臺中,每一個收銀臺處至少有8人已預約排隊。
步驟309:客戶端將用戶輸入的確認申請發送給服務器端。
當用戶接受這一最小排隊人數:8人時,可以提交確認申請。
步驟310:服務器端在接收到客戶端發來的確認申請時,確定最小排隊人數對應的任一目標收銀臺。
服務器端在接收到確認申請時,可以確定最小排隊人數:8人對應的任一收銀臺。由步驟307可知,超市內當前開放的收銀臺數為6臺,其中有3臺的排隊人數均為8人,故可以在這3臺中確定出任意一臺,如確定出收銀臺A。
步驟311:服務器端生成目標排隊序號,該目標排隊序號為目標收銀臺對應的末位排隊序號的下一個排隊序號,并記錄當前的第一時間。
在確定出目標收銀臺:收銀臺A后,可以生成目標排隊序號,并記錄當前時間。
詳細地,排隊序號可以為:A25形式的序號,A表示收銀臺A,25表示排隊順序號碼。假設目前已生成的針對收銀臺A的末位排隊序號為A24,則當前生成的目標排隊序號可以為A25。
步驟312:客戶端接收并顯示服務器端發來的目標排隊序號和第一時間。
用戶通過客戶端顯示的目標排隊序號和第一時間,可以到目標排隊序號對應的收銀臺A處排隊付款。基于第一時間,可以提醒用戶,若用戶到達收銀臺A處時目標排序序號已過號,在第一時間對應的時間閾值范圍內,可以提交過號申請。
例如,第一時間為12:00,且時間閾值為10min時,則在12:10之前,若目標排序序號已過號,則用戶可以提交過號申請。
步驟313:客戶端將用戶輸入的針對目標排隊序號的過號申請發送給服務器端。
步驟314:服務器端在接收到客戶端發來的過號申請時,確定當前的第二時間,并判斷第一時間和第二時間的差值是否超過預先確定的相應閾值,若是,通知客戶端申請失敗,否則,將目標排隊序號設置為對應的目標收銀臺的下一個服務序號,并通知目標收銀臺和客戶端。
詳細地,若第一時間和第二時間的差值未超過預先確定的相應閾值,如12:00和12:05的差值為5min,小于閾值10min,故服務器端可以將目標排隊序號:A25設置為收銀臺A的下一個服務序號。
例如,收銀臺A的當前服務序號為A27,下一個服務序號為A28,則服務器端可以將其更改為下一個服務序號為A25,A25之后的下一個服務序號為A28。
假設本發明實施例中,第二時間為12:15,故可以通知客戶端申請失敗。
步驟315:客戶端接收并顯示服務器端發來的申請失敗的通知消息。
因為各收銀臺為順序叫號,故若過號申請失敗,則目標排隊序號A25則失效,故可以提醒用戶再次提交付款申請。
步驟316:客戶端將用戶輸入的付款申請發送給服務器端,并接收并顯示服務器端發來的最小排隊人數。
同上述步驟306至步驟308,客戶端可以顯示當前服務器端發來的最小排隊人數。假設該最小排隊人數為12人。
步驟317:客戶端將用戶輸入的開啟新收銀臺申請發送給服務器端。
若用戶認為最小排隊人數為12人為導致自身排隊時間過長,較為浪費時間,故可以提交開啟新收銀臺申請。
步驟318:服務器端接收客戶端發來的開啟新收銀臺申請。
服務器端在接收到開啟新收銀臺申請時,可以對其數量進行統計。
步驟319:服務器端判斷預先確定的時間段內所接收到的開啟新收銀臺申請的個數是否超過相應閾值,若是,通知管理員開啟新收銀臺,并結束當前流程,否則,執行步驟320。
假設當前時間段為18:00~18:15,故在18:15時,服務器端可以判斷該15min內所接收到的開啟新收銀臺申請的個數是否超過相應閾值。
步驟320:服務器端定期分別判斷預先確定的時間段內每一個收銀臺的累計排隊人數是否在相應閾值范圍內,在判斷結果為均低于閾值范圍時,通知管理員關閉任一收銀臺,在判斷結果為均高于閾值范圍時,通知管理員開啟新收銀臺。
詳細地,通知管理員開啟新收銀臺的實現方式,除了可以通過判斷當前時間段內的開啟新收銀臺申請的個數是否超過相應閾值外,另一方面,還可以判斷每一個收銀臺的累計排隊人數是否在相應閾值范圍內。
例如,6個收銀臺的累計排隊人數分別為8人、9人、9人、8人、8人、9人,在達到相應的判定時間時,經判斷可知,各收銀臺的累計排隊人數均在(5人~10人)閾值范圍內,故維持收銀臺的當前開放數量。
如圖4所示,本發明實施例提供了一種服務器端40,可以包括:
通信單元401,用于在接收到客戶端發來的付款申請時,向第一處理單元402發送第一觸發信號,并將所述第一處理單元402輸出的最小排隊人數發送給所述客戶端;在接收到所述客戶端發來的確認申請時,向第一處理單元402發送第二觸發信號,并將所述第一處理單元402輸出的目標排隊序號發送給所述客戶端;接收所述客戶端發來的開啟新收銀臺申請;
所述第一處理單元402,用于接收到所述通信單元401發來的第一觸發信號時,確定每一個收銀臺的當前排隊人數,并確定出其中的最小排隊人數,并將所述最小排隊人數輸出至所述通信單元401;接收到所述通信單元401發來的第二觸發信號時,確定所述最小排隊人數對應的任一目標收銀臺,并生成目標排隊序號,且所述目標排隊序號為所述目標收銀臺對應的末位排隊序號的下一個排隊序號,并將所述目標排隊序號輸出至所述通信單元401;
第二處理單元403,用于判斷預先確定的時間段內所述通信單元401所接收到的開啟新收銀臺申請的個數是否超過相應閾值,若是,通知管理員開啟新收銀臺。
在本發明一個實施例中,所述第二處理單元403,還用于定期分別判斷預先確定的時間段內每一個收銀臺的累計排隊人數是否在相應閾值范圍內,在判斷結果為均低于所述閾值范圍時,通知管理員關閉任一收銀臺,在判斷結果為均高于所述閾值范圍時,通知管理員開啟新收銀臺。
如圖5所示,本發明實施例提供了一種客戶端50,可以包括:
第一通信單元501,用于在接收到用戶輸入的付款申請時,將所述付款申請輸出至第二通信單元502;在接收到用戶輸入的確認申請時,將所述確認申請輸出至第二通信單元502;在接收到用戶輸入的開啟新收銀臺申請時,將所述開啟新收銀臺申請輸出至第二通信單元502;
所述第二通信單元502,用于將所述第一通信單元501輸出的付款申請發送給服務器端,以及接收所述服務器端發來的最小排隊人數,并將所述最小排隊人數輸出至顯示單元503;將所述第一通信單元501輸出的確認申請發送給所述服務器端,以及接收所述服務器端發來的目標排隊序號,并將所述目標排隊序號輸出至顯示單元503;將所述第一通信單元501輸出的開啟新收銀臺申請發送給所述服務器端;
所述顯示單元503,用于顯示所述第二通信單元502輸出的最小排隊人數;顯示所述第二通信單元502輸出的目標排隊序號。
如圖6所示,本發明實施例提供了一種基于超市收銀的預約付款系統,可以包括:上述任一服務器端40,以及至少一個上述客戶端50。
在本發明一個實施例中,所述客戶端50為安裝有預約付款APP軟件的手機客戶端50,且所述手機客戶端50中設置有定位裝置;
所述客戶端50在監測到用戶針對所述預約付款APP軟件的開啟觸發操作時,利用所述定位裝置確定自身當前位置所對應的服務器端40。
詳細地,當用戶在超市購物時,系統中的服務器端為用戶當前所在超市對應的服務器端。客戶端可以為用戶自身的手機。同一服務器端可以與多個客戶端進行信息交互。
在實際超市購物過程中,由于超市內部商品種類繁多,且各超市商品貨架布局存在差異,故當用戶需求特定商品時,可能需要花費較長的商品尋找時間,或尋找相關工作人員以進行咨詢。總體來看,現有的實現方式較為麻煩,費時費力。
為解決或緩解這一問題,故在本發明一個實施例中,所述客戶端50,還用于在接收到用戶輸入的針對目標商品的搜索申請時,將所述搜索申請發送給所述服務器端40,以及接收并顯示所述服務器端40發來的超市商品布局示意圖;
所述服務器端40,還用于在接收到所述客戶端50發來的所述搜索申請時,獲取商品定位信息清單和超市商品布局示意圖;根據所述商品定位信息清單,確定所述目標商品的目的位置;確定所述客戶端50的當前位置;分別將所述目的位置對應的定位標和所述當前位置對應的定位標添加至所述超市商品布局示意圖中,并將添加后的所述超市商品布局示意圖發送給所述客戶端50。
詳細地,相關工作人員可以預先將各超市的超市位置信息、各超市內的全部商品的商品信息和商品擺放位置信息、超市商品布局示意圖、超市內收銀臺信息等上傳至云數據中心。當用戶在客戶端輸入當前超市的標識信息,或利用客戶端定位裝置定位出當前超市的標識信息時,可以通過網絡將相關信息推送至客戶端以便于用戶查看。
詳細地,用戶在客戶端輸入商品的標識信息時,服務器端根據預先確定的數據信息,快速確定出用戶所需商品的具體擺放位置。其中,任一商品擺放位置均可以在超市商品布局示意圖進行準確定位。另一方面,根據客戶端自身的定位功能,可以獲取到用戶當前所在位置,通過將用戶當前所在位置和商品具體擺放位置準確定位至超市商品布局示意圖,可以使用戶通過客戶端顯示的該示意圖,以快速明確商品獲取路徑。
在本發明一個實施例中,請參考圖7,超市商品布局示意圖上可以包括超市內各商品貨架的示意圖,并在各貨架示意圖上標識出對應的唯一標識。此外,超市內現實存在的各商品貨架上,同樣可以明顯標識出其對應的唯一標識。根據超市商品布局示意圖上的各標識,結合超市內各商品貨架上的標識,可以方便用戶快速找準方向、明確商品獲取路徑。
在圖7中,超市內各貨架的唯一標識可以順序設置,以便于用戶理解和找到標識設置規律,從而便于快速找到目標商品所在貨架。如圖7中的上部第一排的三個貨架的標識可以依次為A1、A2、A3,相鄰的第二排的兩個貨架的標識可以依次為B1、B2,以此類推,下部最后一排的兩個貨架的標識可以依次為E1、E2。其中,E1處的定位標可以指示用戶所在位置,B2處的定位標可以指示目標商品所在位置。通過超市商品布局示意圖及圖中的這兩個定位標,用戶可以快速明確商品尋找路徑。
本發明實施例中,用戶通過客戶端可以查看標識有當前位置定位標和商品位置定位標的超市商品布局示意圖,這一實現方式有助于用戶快速找到所需商品,節省商品購物時間,以及有益于超市減少相應工作人員的人力投入。
在本發明一個實施例中,還可以規劃從當前位置到目的位置的最優路徑。例如,假設目前顧客所在位置為a(I,j),顧客所選擇商品位置為b(k,h)。從a到b的路徑有兩種方法,一種是通過a直接到達b,另一種是通過中間節點,假設為t(p,q)。假設a直接到達b的最短路徑為disk(a,b),通過中間節點t對應的最短路徑為disk(a,t)+disk(t,b)。將兩種方式的最短路徑做比較,若disk(a,b)>disk(a,t)+disk(t,b),故可以將顧客所選商品的最短路徑設置為:disk(a,t)+disk(t,b),當遍歷所有的中間節點t后,就可以規劃出最短路徑。然后,當確定出最短路徑后,可以將該最短路徑在超市商品布局示意圖進行顯示。
本發明實施例中,由于用戶通過客戶端提交付款申請為預約付款,即用戶在獲取到服務器端分配的排隊序號后,通常不能立刻趕到收銀臺處。當多個用戶在較短時間段內均提交付款申請時,由于各用戶根據自身排隊序號以順序付款,且各用戶達到收銀臺的時間通常存在差異,故這一實現方式可能存在用戶到達收銀臺處后,自身排隊序號已過號的情況。
為解決或緩解上述問題,故在本發明一個實施例中,所述服務器端40,還用于在生成目標排隊序號時,記錄當前的第一時間,并將所述第一時間發送給所述客戶端50;在接收到所述客戶端50發來的過號申請時,確定當前的第二時間,并判斷所述第一時間和所述第二時間的差值是否超過預先確定的相應閾值,若是,通知所述客戶端50申請失敗,否則,將所述目標排隊序號設置為對應的目標收銀臺的下一個服務序號,并通知所述目標收銀臺和所述客戶端50;
所述客戶端50,還用于接收并顯示所述服務器端40發來的第一時間;在接收到用戶輸入的針對所述目標排隊序號的過號申請時,將所述過號申請發送給所述服務器端40;接收并顯示所述服務器端40發來的申請失敗的通知消息;以及接收并顯示所述服務器端40發來的所述目標排隊序號為對應的目標收銀臺的下一個服務序號的通知消息。
在本發明一個實施例中,客戶端在接收并顯示第一時間以便于用戶查看的同時,可以根據設置的閾值,如10min,進行倒序計時以提醒用戶,有助于防止用戶排隊序號過期作廢。
當用戶發現自身排隊序號已過號時,在一定時間范圍內,同樣可以通過客戶端以提交過號申請。例如,用戶1、用戶2和用戶3在依次在12:00~12:03期間順序提交付款申請,且分別得到排隊序號A23、A24和A25,其中,A可以為收銀臺的唯一標識,A之后的數字可以為序號順序。
此外,服務器端可以設置每一個排隊序號針對過號申請的時間閾值為10~15min,如為10min。那么,若用戶1的排隊序號A23對應的時間為12:00,故在12:00~12:10時間范圍內,若排隊序號A23已過號,則用戶1可以通過客戶端提交過號申請,服務器端可以將排隊序號A23設置為收銀臺A的下一個服務序號。
例如,收銀臺A當前服務序號為:A25,預計下一個服務序號為A26,由于在A25對應的用戶付款期間,用戶1提交過號申請且申請成功,則服務器端可以設置A23為收銀臺A的下一個服務序號,原本的下一個服務序號A26及其他后續排序序號均依次順延。
當然,若用戶1于12:10之后提交過號申請,服務器端經判斷,用戶1申請失敗,故可以通知用戶其申請失敗,并提醒用戶再次提交付款申請。
由于服務器端生成每一個排隊序號時,可以更新每一個收銀臺對應的服務序號排序,此外,服務器端同樣可以根據各用戶的過號申請以相應更新服務序號排序,故可以設置每一個收銀臺對應于一個叫號裝置,便于能夠根據服務器端設置的服務序號排序以順序叫號。
此外,為便于各用戶及時查看自身排序序號是否過號及排隊等待情況,故可以在顯示裝置上顯示各收銀臺當前的服務序號及下一個服務序號等。
在本發明實施例中,當用戶的排隊序號已過號時,在允許的時間范圍內,允許用戶提交過號申請,并根據各排隊序號的生成時間,以順序將已過號的排隊序號相應提前。這一實現方式能夠解決或緩解各用戶達到收銀臺的時間通常存在差異而造成的過號情況。
上述裝置內的各單元之間的信息交互、執行過程等內容,由于與本發明方法實施例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
綜上所述,本發明的各個實施例至少具有如下有益效果:
1、本發明實施例中,服務器端接收到客戶端的付款申請時,確定各收銀臺的當前排隊人數,并將最小排隊人數發送給客戶端;接收到客戶端的確認申請時,確定最小排隊人數對應的任一目標收銀臺,生成目標收銀臺對應的下一個排隊序號,并將其發送給客戶端;接收客戶端的開啟新收銀臺申請,并在判斷出預先確定的時間段內開啟新收銀臺申請的個數超過相應閾值時,通知管理員開啟新收銀臺。用戶可以通過客戶端向服務器端申請預約付款及申請開啟新收銀臺,服務器端相應的可以根據用戶具體申請情況以調整收銀臺開放數量。因此,本發明實施例能夠基于用戶預約付款以實時調整收銀臺的開放數量。
2、本發明實施例中,由于可以根據各自的排隊序號而進行有序付款,故可以在收銀臺附近設置付款等候休息區以供用戶使用,這一實現方式無需各用戶進行常規排隊以等待付款,能夠在排隊人數較多、等待時間較長、用戶購買商品量較大的情況下,為用戶提供方便,提高用戶購物體驗。
3、本發明實施例中,用戶通過客戶端可以查看標識有當前位置定位標和商品位置定位標的超市商品布局示意圖,這一實現方式有助于用戶快速找到所需商品,節省商品購物時間,以及有益于超市減少相應工作人員的人力投入。
4、本發明實施例中,當用戶的排隊序號已過號時,在允許的時間范圍內,允許用戶提交過號申請,并根據各排隊序號的生成時間,以順序將已過號的排隊序號相應提前。這一實現方式能夠解決或緩解各用戶達到收銀臺的時間通常存在差異而造成的過號情況。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
最后需要說明的是:以上所述僅為本發明的較佳實施例,僅用于說明本發明的技術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。