[發(fā)明專利]一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎在審
| 申請?zhí)枺?/td> | 202310067060.4 | 申請日: | 2023-02-06 |
| 公開(公告)號: | CN116055554A | 公開(公告)日: | 2023-05-02 |
| 發(fā)明(設(shè)計)人: | 王照陽;朱世照;齊剛;黎紹泉 | 申請(專利權(quán))人: | 國電南京自動化股份有限公司 |
| 主分類號: | H04L67/55 | 分類號: | H04L67/55;H04L67/1095;H04L67/568;H04L67/06;H04L67/02;H04L67/1097;H04L9/40;H04L69/16 |
| 代理公司: | 南京燦爛知識產(chǎn)權(quán)代理有限公司 32356 | 代理人: | 趙麗 |
| 地址: | 210009 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 消息 機制 應(yīng)用于 數(shù)字化 業(yè)務(wù) 通知 引擎 | ||
1.一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎,其特征在于,包括以下步驟:
S1,初始化數(shù)據(jù)庫中消息記錄,搭建FastDFS系統(tǒng),存儲文件到FastDFS系統(tǒng);
S2,用戶登錄后,清除Redis緩存中保存的用戶socket信息,生成token;將生成的token存儲到Redis緩存中;
S3,客戶端連接服務(wù)器,使用token進行socket連接有效性校驗;
S4,控制服務(wù)器端將文本和文件消息推送消息接收方客戶端;
S5,消息接收方客戶端接收文本和文件消息,更新消息狀態(tài);
S6,用戶退出登錄,調(diào)用移除授權(quán)方法,刪除Redis緩存中記錄。
2.根據(jù)權(quán)利要求1所述的一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎,其特征在于,
S1具體包括以下步驟:初始化數(shù)據(jù)庫中消息記錄,消息記錄表初始化為空,消息發(fā)送者上傳文件作為系統(tǒng)附件存儲到FastDFS系統(tǒng),返回文件存儲ID和文件路徑,文件存儲ID和文件路徑用于文件消息接收方用戶查看文件消息時,對文件進行預(yù)覽和下載。
3.根據(jù)權(quán)利要求1所述的一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎,其特征在于,
S2具體包括以下步驟:
201,基于移除用戶授權(quán)方法,清除Redis緩存中保存的用戶socket信息,生成token;
移除用戶授權(quán)方法具體包括以下步驟:在Redis緩存以登錄方用戶ID為主鍵查詢是否存在用戶socket信息,如果存在所述登錄方用戶ID的用戶socket信息,獲取用戶socket信息中的token,分別刪除Redis緩存中登錄方用戶Id和token作為主鍵的用戶socket信息;
202,生成token初始字符串,token初始字符串包括令牌主鍵字符串、系統(tǒng)當前時間戳和UUID;?UUID指統(tǒng)隨機生成的通用唯一識別碼,固定長度為32的字符串,并有唯一性;
203,對初始字符串使用MD5摘要算法生成32位長度token字符串。
4.根據(jù)權(quán)利要求3所述的一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎,其特征在于,
Redis緩存中存儲用戶Id與用戶socket信息映射,token與用戶socket信息映射;Redis緩存數(shù)據(jù)結(jié)構(gòu)為:
(userId:?SocketUserInfo(userId,token,channelId))
(token:?SocketUserInfo(userId,token,channelId))
其中,userId表示用戶ID,用戶ID包括登錄方用戶ID和接收方用戶ID,是用戶唯一標識,channelId表示客戶端與服務(wù)器建立socket連接管道唯一標識,SocketUserInfo表示用戶socket信息的對象實體,用戶socket信息的對象實體包括userId、token和channelId三個屬性字段。
5.根據(jù)權(quán)利要求1所述的一種基于消息機制并應(yīng)用于數(shù)字化業(yè)務(wù)的通知引擎,其特征在于,
S3具體包括以下步驟:
用戶Socket連接時從Redis緩存中讀取token,以token為key來查詢redis緩存,判斷是否存在key相同的token的記錄,存在則表明用戶授權(quán)登錄連接有效,否則表明用戶授權(quán)登錄連接無效,
根據(jù)當前輸入的token和channelId,查詢Redis緩存中token對應(yīng)用戶socket信息是否存在;用戶socket信息包括用戶ID,token,channelId,用token為key查詢Redis緩存中的用戶socket信息;
如果查詢結(jié)果不為空,表明當前socket連接有效,更新緩存中用戶socket信息的channelId字段為當前輸入的channelId;查詢數(shù)據(jù)庫存儲的歷史消息記錄,判斷當前登錄方用戶ID是否有未推送消息記錄,如果有則進入步驟S4;
消息記錄如果查詢結(jié)果為空,表明socket連接無效,斷開當前socket連接。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國電南京自動化股份有限公司,未經(jīng)國電南京自動化股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310067060.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





