本發(fā)明涉及一種潔面儀,尤其涉及一種具有吸附功能,且可以進行上下震蕩和左右擺動的電動潔面儀。
背景技術(shù):
自動販賣機即,自動售貨機,是能根據(jù)投入的錢幣自動付貨的機器。自動售貨機是商業(yè)自動化的常用設(shè)備,它不受時間、地點的限制,能節(jié)省人力、方便交易。是一種全新的商業(yè)零售形式,又被稱為24小時營業(yè)的微型超市。能分為三種:飲料自動售貨機、食品自動售貨機、綜合自動售貨機,它的存在,給人們的生活帶了極大的便利。
從支付方式來分目前市面上有兩大類自動販賣機,一種是自動販賣機中的內(nèi)置支付功能可獨立工作完成購買流程的販賣機,第二種是通過云端下單并支付,服務(wù)器發(fā)送開箱指令到販賣機,或販賣機定時查詢服務(wù)器的新訂單有新訂單即開箱完成購買流程的販賣機.第一類販賣機由于內(nèi)置支付功能,所以成本高/功耗高/體積大。
第二類販賣機,目前市場上的技術(shù)是販賣機定時查詢服務(wù)器的訂單數(shù)據(jù),有訂單則開箱,或從服務(wù)器遠(yuǎn)程發(fā)送開箱指令到販賣機進行開箱.此方法的缺點:當(dāng)網(wǎng)絡(luò)質(zhì)量下降或中斷時,開箱信息不能可靠的下達(dá)到販賣機,或販賣機執(zhí)行指令的結(jié)果不能可靠的上報到服務(wù)器,造成交易失敗甚至訂單錯誤.此種販賣機對網(wǎng)絡(luò)質(zhì)量要求極高,網(wǎng)絡(luò)必須全天候穩(wěn)定可靠。此類販賣機為了達(dá)到安裝簡便,大多都采用無線通信鏈路.而無線通信鏈路先天具有不穩(wěn)定性,宇宙中任何電磁擾動(太陽風(fēng)暴)或相同相近頻段的人工電磁噪聲都會對通信造成干擾甚至導(dǎo)致通信中斷。
技術(shù)實現(xiàn)要素:
針對上述技術(shù)中存在的不足之處,本發(fā)明提供一種基于預(yù)下載隨機序列的在線離線兼容的自動販賣系統(tǒng),保證了與端支付的自動販賣機在網(wǎng)絡(luò)質(zhì)量差甚至離線的情況下仍然可以正常使用。
為了達(dá)到上述目的,本發(fā)明公開一種基于預(yù)下載隨機序列的在線離線兼容的自動販賣系統(tǒng),包括:在服務(wù)器與販賣機之間同時設(shè)置有內(nèi)置通信鏈路和外部冗余信道;
服務(wù)器預(yù)先與販賣機進行預(yù)下載,服務(wù)器預(yù)先與販賣機之間預(yù)下載同步一定數(shù)量的動作隨機序列組;每個動作隨機序列組對應(yīng)一個動作指令;并確認(rèn)販賣機已經(jīng)正確收到這些動作隨機序列組;
當(dāng)服務(wù)器需要販賣機執(zhí)行某種動作時,服務(wù)器可以通過內(nèi)置通信鏈路或者外部冗余信道將所述動作隨機序列組的執(zhí)行操作指令下達(dá)到販賣機;
販賣機收到執(zhí)行指令后,根據(jù)同步隨機序列信息解析出隨機序列所對應(yīng)的動作特征并進行執(zhí)行。
其中,當(dāng)服務(wù)器與販賣機內(nèi)置的通信鏈路之間網(wǎng)絡(luò)連接正常時,販賣機檢查自身需要同步上報的動作隨機序列組,通過內(nèi)置的網(wǎng)絡(luò)通信模塊向服務(wù)器同步動作隨機序列組的新狀態(tài)。
其中,所述預(yù)下載過程包括以下步驟:
服務(wù)器和販賣機之間建立通信;
販賣機檢查自身存儲的動作隨機序列組的數(shù)量,發(fā)現(xiàn)需要補充時,向服務(wù)器發(fā)出新動作隨機序列組下發(fā)請求;
服務(wù)器收到販賣機發(fā)出的動作隨機序列組下發(fā)請求后,根據(jù)數(shù)據(jù)庫中針對該販賣機所存儲的動作隨機序列組的情況,向該販賣機下發(fā)所缺少的動作隨機序列組;
販賣機收到動作隨機序列組后,向服務(wù)器發(fā)送動作隨機序列組確認(rèn)請求;
服務(wù)器收到販賣機發(fā)送的動作隨機序列組確認(rèn)請求后,將此動作隨機序列組狀態(tài)修改為已同步狀態(tài)。
其中,已同步后的動作隨機序列組為在服務(wù)器和販賣機兩側(cè)該隨機序列組被執(zhí)行;且服務(wù)器一側(cè)不做通信異常處理,而販賣機一側(cè),根據(jù)新動作隨機序列組請求的過程所進行到的具體步驟,進行該步所對應(yīng)的通信異常處理,重發(fā)請求或重發(fā)確認(rèn)信息。
其中,當(dāng)販賣機檢查自身存儲的動作隨機序列組的數(shù)量有問題或者服務(wù)器收到販賣機發(fā)出的動作隨機序列組下發(fā)請求時出現(xiàn)異常時,販賣機在下次檢查存儲的動作隨機序列組時,發(fā)現(xiàn)數(shù)量不夠預(yù)先設(shè)置好的閾值則會繼續(xù)重發(fā)新動作隨機序列組請求給服務(wù)器。
其中,服務(wù)器讓販賣機完成某個動作是通過動作指令的下達(dá)實現(xiàn),動作指令下達(dá)是服務(wù)器端的動作指令通過販賣機內(nèi)置的通信模塊與服務(wù)器的網(wǎng)絡(luò)連接或通過外部冗余信道下達(dá)到販賣機,販賣機執(zhí)行該動作。
其中,所述動作指令包括:
服務(wù)器根據(jù)應(yīng)用層的邏輯產(chǎn)生訂單或產(chǎn)生其他日常維護的需求,然后服務(wù)器判斷需要對販賣機下達(dá)何種動作指令,然后在服務(wù)器與販賣機已經(jīng)同步的動作隨機序列組表中找到需要向販賣機下達(dá)執(zhí)行的動作隨機序列組;
如果販賣機和服務(wù)器的網(wǎng)絡(luò)連接質(zhì)量良好,服務(wù)器可以通過與販賣機內(nèi)置通信模塊的網(wǎng)絡(luò)連接直接將動作隨機序列組的執(zhí)行指令下達(dá)到販賣機;
如果販賣機和服務(wù)器之間的網(wǎng)絡(luò)連接不良或中斷,服務(wù)器將動作隨機序列組的隨機序列通過外部冗余信道下達(dá)到販賣機;
販賣機收到要執(zhí)行的動作隨機序列組,根據(jù)已同步的動作隨機序列組信息解析出所對應(yīng)要執(zhí)行的動作特征,并對動作特征中的動作進行執(zhí)行。
其中,動作指令執(zhí)行結(jié)果包括:
服務(wù)器與販賣機之間建立通信;
販賣機檢查自身存儲的動作隨機序列組的狀態(tài),發(fā)現(xiàn)動作隨機序列組的狀態(tài)有變化但未上報的,通過內(nèi)置的通信模塊與服務(wù)器建立的通信鏈路向服務(wù)器上報動作隨機序列組的新狀態(tài);
服務(wù)器收到販賣機的動作隨機序列組新狀態(tài)上報,對存儲的對應(yīng)的動作隨機序列組的狀態(tài)進行更新。更新后向販賣機發(fā)送確認(rèn)消息;
販賣機收到服務(wù)器的確認(rèn)消息后,將販賣機內(nèi)存儲的對應(yīng)動作隨機序列組的狀態(tài)修改為已上報。
其中,動作指令執(zhí)行結(jié)果的同步僅通過販賣機內(nèi)置的與服務(wù)器通信的通信模塊來與服務(wù)器建立的通信鏈路來完成,當(dāng)內(nèi)置通訊網(wǎng)絡(luò)出現(xiàn)故障時,由內(nèi)置通信網(wǎng)絡(luò)恢復(fù)正常后在空閑事件同步上報。
本發(fā)明的有益效果是:
與現(xiàn)有技術(shù)相比,本發(fā)明公開一種基于預(yù)下載隨機序列的在線離線兼容的自動販賣系統(tǒng),在服務(wù)器與販賣機之間的通訊中,同時設(shè)置有內(nèi)置通信鏈路和外部冗余信道,服務(wù)器預(yù)先與販賣機之間預(yù)下載同步一定數(shù)量的動作隨機序列組,動作隨機序列組將所要執(zhí)行的動作都加上了唯一的隨機序列特征,因此可以實現(xiàn)對每個單獨動作的狀態(tài)進行終生的追蹤,通過預(yù)下載動作隨機序列組的方式,販賣機可以上實現(xiàn)部冗余信道以及異步狀態(tài)上報邏輯,通過外部冗余信道,從服務(wù)器到販賣機的通信得到了保證,從而大大提高販賣機訂單成功的幾率。通過外部冗余信道,販賣機與服務(wù)器之間的網(wǎng)絡(luò)通信質(zhì)量需求得到了降低,因為外部冗余信道可以大大提高通信成功率,有利于降低販賣機的硬件成本。販賣機硬件設(shè)計和生產(chǎn)可以選擇相對廉價和相對低可靠性的通信模塊。異步狀態(tài)上報邏輯相比同步返回狀態(tài)來講,由于每個單方向的通信異常都會得到處理,因此邏輯更加嚴(yán)謹(jǐn),對通信質(zhì)量的要求大大降低。
附圖說明
圖1為本發(fā)明實施例的總體連接框圖;
圖2為本發(fā)明實施例的動作隨機序列組下載流程;
圖3為本發(fā)明實施例的動作指令的下達(dá)流程圖;
圖4為本發(fā)明實施例的動作指令執(zhí)行結(jié)果的同步流程圖。
具體實施方式
為了更清除地表述本發(fā)明,下面結(jié)合附圖對本發(fā)明作進一步地描述。
請參閱圖1-圖2,本發(fā)明公開一種基于預(yù)下載隨機序列的在線離線兼容的自動販賣系統(tǒng),包括:在服務(wù)器與販賣機之間同時設(shè)置有內(nèi)置通信鏈路和外部冗余信道;
服務(wù)器預(yù)先與販賣機進行預(yù)下載,服務(wù)器預(yù)先與販賣機之間預(yù)下載同步一定數(shù)量的動作隨機序列組;每個動作隨機序列組對應(yīng)一個動作指令;并確認(rèn)販賣機已經(jīng)正確收到這些動作隨機序列組;
當(dāng)服務(wù)器需要販賣機執(zhí)行某種動作時,服務(wù)器可以通過內(nèi)置通信鏈路或者外部冗余信道將所述動作隨機序列組的執(zhí)行操作指令下達(dá)到販賣機;
販賣機收到執(zhí)行指令后,根據(jù)同步隨機序列信息解析出隨機序列所對應(yīng)的動作特征并進行執(zhí)行。
在本實施例中,動作隨機序列組即為使用一個隨機序列描述一個動作的指令集組。由一個隨機序列特征和一個動作特征組成。隨機序列特征是一個真隨機序列,在同一臺自動販賣機中,隨機序列特征不重復(fù),動作特征指的是該動作隨機序列組所要執(zhí)行的動作。二者可分別處于不同字段也可以通過一種編碼方式合并在同一個隨機序列字段之中.動作特征即該隨機序列特征所要執(zhí)行的動作。例如:一個隨機序列對應(yīng)一個販賣機格子的開鎖動作、一個隨機序列對應(yīng)對該販賣機的補貨動作,但是需要說明的是,動作特征包括但不僅限于以上兩點。動作隨機序列組在服務(wù)器一側(cè)至少具有兩個狀態(tài)屬性:一個為已同步屬性;另一個為未使用/已使用/已作廢屬性;而在販賣機一側(cè),動作隨機序列組至少具有:未使用/已使用/已作廢屬性,或者是已上報/未上報屬性。
外部冗余信道是指除內(nèi)置與服務(wù)器直接通信信道之外的其他信道,此信道可以將動作隨機序列組下發(fā)到販賣機。例如:通過販賣機上的隨機序列鍵盤,由購買者或維護人員將隨機序列輸入到販賣機。再如:通過販賣機內(nèi)置的碼槍掃描購買者或維護人員提供的從服務(wù)器獲取的條形碼或二維碼從而將隨機序列輸入到販賣機中,本實施例中包括但不限于此二種方法。
在本實施例中,服務(wù)器預(yù)先與販賣機同步一定數(shù)量的動作隨機序列組,數(shù)量根據(jù)需要保證的離線使用時間來確定。數(shù)量越多,可以保證離線使用的事件越長,但數(shù)量越多,越容易被暴力破解。因此當(dāng)服務(wù)器需要販賣機執(zhí)行某種動作時,例如開某個格子的鎖服務(wù)器可以通過以下兩個途經(jīng)將該動作隨機序列組的執(zhí)行操作指令下達(dá)到販賣機:
途經(jīng)1、通過服務(wù)器與販賣機之間的內(nèi)置的通信鏈路;
途經(jīng)2、通過外部的冗余信道;
販賣機收到執(zhí)行指令后,根據(jù)同步隨機序列信息解析出隨機序列所對應(yīng)的動作特征并進行執(zhí)行。
當(dāng)服務(wù)器與販賣機內(nèi)置的通信模塊之間網(wǎng)絡(luò)連接正常時,販賣機檢查自身需要同步上報的動作隨機序列組,通過內(nèi)置的網(wǎng)絡(luò)通信模塊向服務(wù)器同步動作隨機序列組的新狀態(tài)。
在本實施例中,為了保證服務(wù)器可以通過內(nèi)置通訊鏈路或外部冗余信道將動作指令下達(dá)到販賣機,服務(wù)器必須預(yù)先將動作隨機序列組預(yù)下載到販賣機中,并確認(rèn)販賣機已經(jīng)正確收到這些動作隨機序列組。
請參閱圖2,預(yù)下載流程如下:
s10、服務(wù)器和販賣機之間建立通信;
s11、販賣機檢查自身存儲的動作隨機序列組的數(shù)量,發(fā)現(xiàn)需要補充時,向服務(wù)器發(fā)出新動作隨機序列組下發(fā)請求;
s12、服務(wù)器收到販賣機發(fā)出的動作隨機序列組下發(fā)請求后,根據(jù)數(shù)據(jù)庫中針對該販賣機所存儲的動作隨機序列組的情況,向該販賣機下發(fā)所缺少的動作隨機序列組;
s13、販賣機收到動作隨機序列組后,向服務(wù)器發(fā)送動作隨機序列組確認(rèn)請求;
s14、服務(wù)器收到販賣機發(fā)送的動作隨機序列組確認(rèn)請求后,將此動作隨機序列組狀態(tài)修改為已同步狀態(tài)。
在本實施例中,已同步后的動作隨機序列組表示在服務(wù)器和販賣機兩側(cè)該隨機序列組可以被執(zhí)行;而服務(wù)器一側(cè)不做通信異常處理;販賣機一側(cè),根據(jù)新動作隨機序列組請求的過程所進行到的具體步驟,進行該步所對應(yīng)的通信異常處理,比如重發(fā)請求或重發(fā)確認(rèn)信息。
在本實施例中,通信異常處理邏輯:
當(dāng)?shù)趕11步或第s12步通信發(fā)生異常時,由于販賣機一側(cè)無法收到下載的新動作隨機序列組。因此,販賣機在下次檢查存儲的動作隨機序列組時,發(fā)現(xiàn)數(shù)量不夠預(yù)先設(shè)置好的閾值則會繼續(xù)重發(fā)新動作隨機序列組請求。
當(dāng)?shù)趕13步通信出錯時,由于動作隨機序列組的執(zhí)行都是從服務(wù)器一側(cè)發(fā)起,而服務(wù)器中只使用已經(jīng)設(shè)置為已同步的動作隨機序列組。而服務(wù)器中動作隨機序列組如果為已同步,那么根據(jù)流程,販賣機中的對應(yīng)的動作隨機序列組狀態(tài)一定為已同步。所以第三步網(wǎng)絡(luò)通信異常不必要做處理。
在本實施例中,服務(wù)器讓販賣機完成某個動作是通過動作指令的下達(dá)實現(xiàn)。動作指令下達(dá)是服務(wù)器端的動作指令通過販賣機內(nèi)置的通信模塊與服務(wù)器的網(wǎng)絡(luò)連接或通過外部冗余信道下達(dá)到販賣機,販賣機執(zhí)行該動作。
請參閱圖3,動作指令的步驟包括:
s21、服務(wù)器根據(jù)應(yīng)用層的邏輯產(chǎn)生訂單或產(chǎn)生其他日常維護的需求。然后服務(wù)器判斷需要對販賣機下達(dá)何種動作指令。然后在服務(wù)器與販賣機已經(jīng)同步的動作隨機序列組表中找到需要向販賣機下達(dá)執(zhí)行的動作隨機序列組;
s22、如果販賣機和服務(wù)器的網(wǎng)絡(luò)連接質(zhì)量良好,服務(wù)器可以通過與販賣機內(nèi)置通信模塊的網(wǎng)絡(luò)連接直接將動作隨機序列組的執(zhí)行指令下達(dá)到販賣機;
s23、如果販賣機和服務(wù)器之間的網(wǎng)絡(luò)連接不良或中斷,服務(wù)器將動作隨機序列組的隨機序列通過外部冗余信道下達(dá)到販賣機;
s24、販賣機收到要執(zhí)行的動作隨機序列組,根據(jù)已同步的動作隨機序列組信息解析出所對應(yīng)要執(zhí)行的動作特征,并對動作特征中的動作進行執(zhí)行。
在本實施例中,當(dāng)服務(wù)器與販賣機通過內(nèi)置的通信模塊建立連接后,販賣機要向服務(wù)器同步需要上報的動作隨機序列組的新的狀態(tài),以便服務(wù)器對販賣機執(zhí)行動作的情況進行掌握,從而完成一個應(yīng)用邏輯,比如訂單的開門動作,日常維護的補貨動作,但包括但不限于以上兩種。
由于動作執(zhí)行結(jié)果的同步相比動作指令下達(dá)來講實時性要求相對低許多。因此,動作指令執(zhí)行結(jié)果的同步僅通過販賣機內(nèi)置的與服務(wù)器通信的通信模塊來與服務(wù)器建立的通信鏈路來完成,不需要外部冗余信道。由內(nèi)置通信網(wǎng)絡(luò)恢復(fù)正常后在空閑事件同步上報。
請參閱圖4,動作指令執(zhí)行結(jié)果的同步的步驟包括:
s30、服務(wù)器與販賣機之間建立通信;
s31、販賣機檢查自身存儲的動作隨機序列組的狀態(tài),發(fā)現(xiàn)動作隨機序列組的狀態(tài)有變化但未上報的,通過內(nèi)置的通信模塊與服務(wù)器建立的通信鏈路向服務(wù)器上報動作隨機序列組的新狀態(tài)。新裝太包括但不限于已使用或已作廢;
s32、服務(wù)器收到販賣機的動作隨機序列組新狀態(tài)上報,對存儲的對應(yīng)的動作隨機序列組的狀態(tài)進行更新。更新后向販賣機發(fā)送確認(rèn)消息;
s33、販賣機收到服務(wù)器的確認(rèn)消息后,將販賣機內(nèi)存儲的對應(yīng)動作隨機序列組的狀態(tài)修改為已上報。
本發(fā)明的優(yōu)勢在于:
1)在服務(wù)器與販賣機之間的通訊中,同時設(shè)置有內(nèi)置通信鏈路和外部冗余信道,服務(wù)器預(yù)先與販賣機之間預(yù)下載同步一定數(shù)量的動作隨機序列組,動作隨機序列組將所要執(zhí)行的動作都加上了唯一的隨機序列特征,因此可以實現(xiàn)對每個單獨動作的狀態(tài)進行終生的追蹤;
2)通過預(yù)下載動作隨機序列組的方式,販賣機可以上實現(xiàn)部冗余信道以及異步狀態(tài)上報邏輯,通過外部冗余信道,從服務(wù)器到販賣機的通信得到了保證,從而大大提高販賣機訂單成功的幾率;
3)通過外部冗余信道,販賣機即使在與服務(wù)器斷開通信的情況下,只要內(nèi)部的預(yù)下載的隨機序列組沒有被耗盡,販賣機仍然可以正常的進行交易。
4)通過外部冗余信道,販賣機與服務(wù)器之間的網(wǎng)絡(luò)通信質(zhì)量需求得到了降低,因為外部冗余信道可以大大提高通信成功率,有利于降低販賣機的硬件成本。販賣機硬件設(shè)計和生產(chǎn)可以選擇相對廉價和相對低可靠性的通信模塊。
5)異步狀態(tài)上報邏輯相比同步返回狀態(tài)來講,由于每個單方向的通信異常都會得到處理,因此邏輯更加嚴(yán)謹(jǐn),對通信質(zhì)量的要求大大降低。
6)保證了每一個訂單或操作都是閉環(huán),從而杜絕了網(wǎng)絡(luò)不良造成的訂單錯誤和動作執(zhí)行失敗或多次執(zhí)行,將指令執(zhí)行過程中通信造成的邏輯錯誤徹底杜絕,對于同步返回狀態(tài)方式,如果服務(wù)器沒有正確的收到返回值,服務(wù)器一側(cè)無法判斷是該次通信的下行還是上行出現(xiàn)啦通信異常,而此兩種情況下,販賣機一側(cè)的狀態(tài)是不同的,因此會造成邏輯錯亂;
7)保證了與端支付的自動販賣機在網(wǎng)絡(luò)質(zhì)量差甚至離線的情況下仍然可以正常使用。
以上公開的僅為本發(fā)明的幾個具體實施例,但是本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。