【技術實現步驟摘要】
本專利技術涉及計算機
,尤其涉及一種基于Redis管道通信的消息傳遞方法及系統。
技術介紹
Redis是一個開源、支持網絡、基于內存的鍵值對存儲數據庫,支持多種數據類型和多種操作,具有強大的管理數據的功能。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客戶端,使用很方便。Redis由于它的高性能和簡單的操作命令,完全可以作為軟件和傳統數據庫之間的緩沖作用,在保證了數據有效性的情況下,同時也保證了高性能。Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹復制。存盤可以有意無意的對數據進行寫操作。由于完全實現了發布/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道并接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。目前一般平臺的消息傳遞主要通過將數據存入關系型數據庫,然后由業務處理平臺從數據庫中讀取數據、緩存、過濾、解析再傳輸到用戶軟件上顯示。存在的問題在于:1、數據庫的讀寫不分離,互斥鎖會導致讀寫效率低下,業務處理平臺負載均衡的服務器數目越多,數據訪問 ...
【技術保護點】
一種基于Redis管道通信的消息傳遞方法,其特征在于:包括如下步驟:步驟1、啟動接收服務器,接收數據消息并讀取基礎數據,將該數據消息、其接口及該基礎數據進行封裝,并將封裝后的數據消息進行分類,調用發布指令,并根據該數據消息的類型將該數據消息發布到Redis服務器的不同通道中;同時,將封裝后的基礎數據存儲至Redis服務器內;步驟2、業務處理平臺發送訂閱指令給Redis服務器,Redis服務器接收該訂閱指令后,將相應通道中的數據消息傳輸給業務處理平臺;同時,業務處理平臺從Redis服務器獲取基本數據;步驟3、業務處理平臺將訂閱后的數據消息進行過濾;步驟4、業務處理平臺使用封裝好的接口將過濾后的數據消息的格式直接轉換為用業務處理平臺來解讀的對象格式后,根據基礎數據將過濾后的數據消息進行解析;步驟5、業務處理平臺獲取解析后的數據消息,并將該數據消息傳輸到用戶軟件進行顯示。
【技術特征摘要】
1.一種基于Redis管道通信的消息傳遞方法,其特征在于:包括如下
步驟:
步驟1、啟動接收服務器,接收數據消息并讀取基礎數據,將該數據消
息、其接口及該基礎數據進行封裝,并將封裝后的數據消息進行分類,調用
發布指令,并根據該數據消息的類型將該數據消息發布到Redis服務器的不
同通道中;同時,將封裝后的基礎數據存儲至Redis服務器內;
步驟2、業務處理平臺發送訂閱指令給Redis服務器,Redis服務器接收
該訂閱指令后,將相應通道中的數據消息傳輸給業務處理平臺;同時,業務
處理平臺從Redis服務器獲取基本數據;
步驟3、業務處理平臺將訂閱后的數據消息進行過濾;
步驟4、業務處理平臺使用封裝好的接口將過濾后的數據消息的格式直
接轉換為用業務處理平臺來解讀的對象格式后,根據基礎數據將過濾后的數
據消息進行解析;
步驟5、業務處理平臺獲取解析后的數據消息,并將該數據消息傳輸到
用戶軟件進行顯示。
2.根據權利要求1所述的一種基于Redis管道通信的消息傳遞方法,
其特征在于:所述接收服務器及業務處理平臺與Redis服務器的連接方式具
體為:
接收服務器與業務處理平臺均使用Redis連接池與Redis服務器進行
Redis連接,如果RedisSentinel集群監控到Redis服務器發生故障,說明
Redis連接中斷,則Redis連接池將等待RedisSentinel集群進行自動的故障
轉移切換,若切換成功,則重新創建Redis連接進行數據消息的傳輸,若切
換不成功,則結束流程;如果Redis服務器不發生故障,則說明Redis連接
不中斷,則RedisSentinel集群不進行故障轉移切換。
3.根據權利要求1所述的一種基于Redis管道通信的消息傳遞方法,
其特征在于:所述步驟1中將該數據消息及其接口進行封裝具體為:
將數據消息封裝為json格式字符串,并將其接口封裝為json序列化接
口。
4.根據權利要求1所述的一種基于Redis管道通信的消息傳遞方法,
其特征在于:所述步驟1中所述數據消息的類型包括最新位置信息類型、報
警信息類型、圖片信息類型、外設信息類型和應答信息及其他業務數據類型。
5.一種基于Redis管道通信的消息傳遞系統,其特征在...
【專利技術屬性】
技術研發人員:鄒山青,陳建靈,徐品,
申請(專利權)人:福建星海通信科技有限公司,
類型:發明
國別省市:福建;35
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。