iOS Android PC多種外圍設(shè)備連接方案

收銀臺的客戶端需要連接各種外設(shè)設(shè)備,包括小票打印機(jī),智能POS,掃描槍等外圍設(shè)備。

傳統(tǒng)的收銀臺只有PC端,外圍設(shè)備通常都是通過有線的形式連接到PC。

現(xiàn)代的收銀臺除了PC端,還有手機(jī),平板電腦等移動收銀臺。

手機(jī)和平板不能通過有線的形式連接到外圍設(shè)備,需要通過藍(lán)牙,WiFi,GPRS,NFC等無線形式連接到外圍設(shè)備。

基于這種情形下,設(shè)備服務(wù)器需要有以下特性。

1.可擴(kuò)展。由于外圍設(shè)備的類型和個數(shù)不確定,設(shè)備服務(wù)器必須支持添加設(shè)備,刪除設(shè)備。

2.可共享。一個現(xiàn)代的收銀系統(tǒng)可以包括多個客戶端,比如PC端,iOS端,Android端。一個客戶端連接的設(shè)備,可以共享其他客戶端。

3.穩(wěn)定。設(shè)備狀態(tài)可以檢測,設(shè)備掉線可以重連,設(shè)備出錯可以重試,可以脫機(jī)工作。

4.高性能。設(shè)備必須穩(wěn)定高效的工作,要有一定的吞吐量??梢圆⑿谢蛘叽泄ぷ?。

設(shè)備服務(wù)器實現(xiàn)方案。

1.可擴(kuò)展

高度抽象外設(shè)設(shè)備的基類。

一般的外圍設(shè)備都有支持一下幾種功能:

a.設(shè)備的查找或者發(fā)現(xiàn)

b.設(shè)備的連接

c.設(shè)備的狀態(tài)檢測

d.設(shè)備的基本信息

e.設(shè)備的數(shù)據(jù)讀寫

基于這些外圍設(shè)備基類,每種設(shè)備實現(xiàn)自己的子類。

外圍設(shè)備在基類的內(nèi)部實現(xiàn)自己的連接方式,列如藍(lán)牙,WiFi,GPRS,NFC。

設(shè)備服務(wù)器不需要關(guān)心外圍設(shè)備的實現(xiàn)方式,直接管理外圍設(shè)備。

這樣設(shè)備服務(wù)器就可以支持不同的外圍設(shè)備。

2.可共享。

一般收銀系統(tǒng)的客戶端都在一個局域網(wǎng)中,比如一個飯店的收銀系統(tǒng)的客戶端連接到一個WiFi上。

由于所有的客戶端都在一個局域中,每個客戶端啟動一個本地的HTTP請求。

客戶端添加外圍設(shè)備時,都把自己連接的外圍設(shè)備信息發(fā)送到中央服務(wù)器。

其他設(shè)備通過查詢中央服務(wù)器,可以獲取到分享的外圍設(shè)備的信息,然后向共享外圍設(shè)備的客戶端發(fā)起HTTP請求。

分享外圍設(shè)備的客戶端收到請求后,向自己連接的外圍設(shè)備轉(zhuǎn)發(fā)請求。

3.穩(wěn)定。

設(shè)計緩存隊列,超時策略,完善設(shè)備狀態(tài)監(jiān)測,掉線重連方案,出錯重連方案。

每種設(shè)備的連接方式不一樣,所有必須根據(jù)設(shè)備的特性、驅(qū)動,盡可能考慮所有的可能所有出錯的場景,不斷的試錯,不斷完善。

多和設(shè)備廠商聯(lián)系,向技術(shù)支持請教。

去掉一些不穩(wěn)的設(shè)備,尋找同種設(shè)備的最佳廠商。

4.高性能。

使用多線程,信號量,同步鎖。

同一個設(shè)備串行,不同設(shè)備并行。

找出性能的瓶頸,并進(jìn)行優(yōu)化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容