• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于Redis管道通信的消息傳遞方法及系統技術方案

    技術編號:14853050 閱讀:69 留言:0更新日期:2017-03-18 20:08
    本發明專利技術提供一種基于Redis管道通信的消息傳遞方法,包括:1、接收數據消息并讀取基礎數據,再進行封裝,調用發布指令,并根據該數據消息的類型將該數據消息發布到Redis服務器的不同通道中;同時,將封裝后的基礎數據存儲至Redis服務器內;2、業務處理平臺調用訂閱指令獲取相應通道中的數據消息;3、業務處理平臺將訂閱后的數據消息進行過濾;4、業務處理平臺使用封裝好的接口將過濾后的數據消息進行格式轉換,根據封裝后的基礎數據消息將過濾后的數據消息進行解析;5、業務處理平臺獲取解析后的數據消息,并傳輸到用戶軟件顯示。本發明專利技術還提供一種基于Redis管道通信的消息傳遞系統,消息快速有效的傳輸,可自動故障轉移。

    【技術實現步驟摘要】

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

    【技術保護點】
    一種基于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

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV中文无码乱人伦在线视色| 亚洲av成人中文无码专区| 亚洲?V无码成人精品区日韩| AV无码小缝喷白浆在线观看 | 国产色无码精品视频免费| 国产亚洲情侣一区二区无码AV| 毛片无码免费无码播放| 国产成人无码精品一区在线观看| 无码人妻精品一区二区三区东京热 | 日日摸夜夜爽无码毛片精选| 久久久久久国产精品无码超碰| 精品国产毛片一区二区无码 | 国产成年无码久久久久下载| 亚洲av成人无码久久精品| 无码国模国产在线无码精品国产自在久国产 | 午夜人性色福利无码视频在线观看| 无码国产激情在线观看| 久久青青草原亚洲av无码app| 国产aⅴ无码专区亚洲av麻豆| 无码av大香线蕉伊人久久| 永久免费av无码网站韩国毛片| 无码日韩精品一区二区三区免费| 久久精品无码一区二区三区日韩| 麻豆精品无码国产在线果冻| 中文字幕av无码一二三区电影| 无码人妻丰满熟妇区免费 | 欧美性生交xxxxx无码影院∵| 无码国产精品一区二区免费3p| 日韩精品无码一区二区三区四区| mm1313亚洲精品无码又大又粗| 日韩乱码人妻无码中文视频| 无码天堂亚洲国产AV| 国产精品无码翘臀在线观看| 国产乱人伦中文无无码视频试看| 无码一区18禁3D| 人妻少妇伦在线无码| 中文字幕无码久久精品青草| 亚洲国产精品无码专区在线观看| 亚洲精品成人无码中文毛片不卡| 亚洲Av综合色区无码专区桃色 | 国产AV无码专区亚洲Av|