WebSocket webshop后台服务器的一些全局数据结构
這些數據結構都維護在內存中,目前無持久化。
位置:wsServerforWebShop.js
oTransactionID_SiteDetailMap
每次webshop的KOI login按鈕點擊之后,服務器會生成一個新的session,同時在這個數據結構(類似于hashmap)里插入一條記錄:
key:transaction id
value:主要有data和dataFromWebShop兩個對象。
data對象里只有一個字段QRCode,值和這條記錄對應的key相同。
dataFromWebShop對象包含了該webshop的名稱,和支持的Consent字段,上圖表明Nike webshop支持firstName,lastName和email三個字段。
clientAddress:該WebSocket服務器作為TCP客戶端和Orchestra連接的IP地址。
clientSocketID:同該WebSocket服務器建立ws連接的webshop對應的套接字。
oKOIID_TransactionIDMap
每次KOI App點了confirm按鈕后,會生成一個ConfirmRequest的請求,請求數據里包含了該user的KOIID,因此后臺會把這個KOIID同ConfirmRequest里附帶的Transaction ID做綁定。這樣接下來user在KOI App上進行Global profile update的時候,后臺就知道應該把這些update請求dispatch到哪些Web Shop實例上。
邏輯就是通過KOIID找到所有的transaction ID,通過transaction ID和剛剛介紹的數據結構oTransactionID_SiteDetailMap即可找到每個關聯的web shop實例。
oGlobalProfileValueUpdateNotificationTaskQueue
KOI App發送的Global profile update請求,即下圖左邊的簡化示意圖,被后臺服務器處理后,成為下圖中間的數據結構:
在代碼中的一個例子為:
這個數據結構會進一步被加工為可以直接發送給每一個相關的WebShop實例的數據,最終待發送的數據結構如下圖:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的WebSocket webshop后台服务器的一些全局数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把图片打包成文件(打包成jar包)
- 下一篇: win10怎么打开cmd命令窗口(Win