两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng)的制作方法

文檔序號(hào):10512021閱讀:551來(lái)源:國(guó)知局
基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng),其包括寫消息模塊以及Redis集群,寫消息模塊通過(guò)連接池模塊與Redis集群連接;通過(guò)連接池模塊與Redis集群連接后,寫消息模塊能將消息體寫入Redis集群內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊釋放寫消息模塊與Redis集群的連接。本發(fā)明通過(guò)Redis集群的多個(gè)列表來(lái)實(shí)現(xiàn)具有優(yōu)先級(jí)功能的消息隊(duì)列,可以實(shí)時(shí)查看的消息隊(duì)列、消息隊(duì)列中消息列表的數(shù)量及對(duì)應(yīng)的消息內(nèi)容,能使得消息的優(yōu)先級(jí)可以實(shí)時(shí)進(jìn)行修改。
【專利說(shuō)明】
基于Red i s實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種方法及系統(tǒng),尤其是一種基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng),屬于計(jì)算機(jī)的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]目前,web應(yīng)用系統(tǒng)中為了對(duì)操作進(jìn)行異步處理,通常會(huì)采用消息隊(duì)列。采用消息隊(duì)列除了可以異步處理操作,還可以削減應(yīng)用訪問(wèn)量較高時(shí)的峰值緩解系統(tǒng)壓力、減少組件之間的耦合性。優(yōu)先級(jí)消息隊(duì)列是在消息隊(duì)列的基礎(chǔ)上使每條消息具有優(yōu)先級(jí),從而使優(yōu)先級(jí)較高的消息可以被優(yōu)先處理,具有更好的靈活性和易用性。
[0003]目前比較常用的消息隊(duì)列如ActiveMQ、RabbitMQ等均可支持優(yōu)先級(jí)消息隊(duì)列的功能O但是Ac t i VeMQ以及Rabb i tMQ均不能在消息發(fā)出后實(shí)時(shí)的對(duì)消息的內(nèi)容進(jìn)行查看和對(duì)優(yōu)先級(jí)和內(nèi)容進(jìn)行修改,而且對(duì)消息隊(duì)列進(jìn)行容量擴(kuò)展不是十分方便。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法及系統(tǒng),其通過(guò)Redis集群的多個(gè)列表來(lái)實(shí)現(xiàn)具有優(yōu)先級(jí)功能的消息隊(duì)列,可以實(shí)時(shí)查看的消息隊(duì)列、消息隊(duì)列中消息列表的數(shù)量及對(duì)應(yīng)的消息內(nèi)容,能使得消息的優(yōu)先級(jí)可以實(shí)時(shí)進(jìn)行修改。
[0005]按照本發(fā)明提供的技術(shù)方案,所述基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,包括寫消息模塊以及用于消息隊(duì)列存儲(chǔ)及管理的Redis集群,所述寫消息模塊通過(guò)連接池模塊與Redis集群連接;
通過(guò)連接池模塊與Redis集群連接后,寫消息模塊能將消息體寫入Redis集群內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊釋放寫消息模塊與Redis集群的連接。
[0006]所述消息體內(nèi)的消息內(nèi)容為字符串格式或?qū)ο箢愋?,?dāng)消息內(nèi)容采用對(duì)象類型時(shí),將消息內(nèi)容封裝成對(duì)應(yīng)的JSON格式,Redis集群將封裝成JSON格式的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中。
[0007]所述連接池模塊上還連接有查詢模塊,所述查詢模塊通過(guò)連接池模塊查看Redis集群中存在的消息隊(duì)列,并能查詢消息列表中的消息列表數(shù)量以及每個(gè)消息列表中的消息內(nèi)容。
[0008]所述連接池模塊上還連接有修改模塊,所述修改模塊通過(guò)連接池模塊能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改。
[0009]所述連接池模塊上還連接有讀消息模塊,所述讀消息模塊包括監(jiān)聽(tīng)器以及能配置并發(fā)多個(gè)監(jiān)聽(tīng)器的監(jiān)聽(tīng)容器,每個(gè)監(jiān)聽(tīng)器綁定Redis集群內(nèi)的一個(gè)消息隊(duì)列,監(jiān)聽(tīng)器實(shí)時(shí)監(jiān)聽(tīng)所綁定消息隊(duì)列中是否存在消息體,當(dāng)存在消息體時(shí),監(jiān)聽(tīng)器從所綁定的消息隊(duì)列中將消息體取出,并對(duì)取出消息體內(nèi)的消息內(nèi)容進(jìn)行解析。
[0010]所述Redis集群中每個(gè)消息隊(duì)列包含9個(gè)消息列表,每個(gè)消息列表唯一對(duì)應(yīng)一個(gè)消息優(yōu)先級(jí)。
[0011]一種基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的系統(tǒng),包括寫消息模塊以及用于消息隊(duì)列存儲(chǔ)及管理的Redis集群,所述寫消息模塊通過(guò)連接池模塊與Redis集群連接;
通過(guò)連接池模塊與Redis集群連接后,寫消息模塊能將消息體寫入Redis集群內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊釋放寫消息模塊與Redis集群的連接。
[0012]所述消息體內(nèi)的消息內(nèi)容為字符串格式或?qū)ο箢愋?,?dāng)消息內(nèi)容采用對(duì)象類型時(shí),將消息內(nèi)容封裝成對(duì)應(yīng)的JSON格式,Redis集群將封裝成JSON格式的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中;
所述連接池模塊上還連接有查詢模塊,所述查詢模塊通過(guò)連接池模塊查看Redi s集群中存在的消息隊(duì)列,并能查詢消息列表中的消息列表數(shù)量以及每個(gè)消息列表中的消息內(nèi)容。
[0013]所述連接池模塊上還連接有修改模塊,所述修改模塊通過(guò)連接池模塊能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改。
[0014]所述連接池模塊上還連接有修改模塊,所述修改模塊通過(guò)連接池模塊能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改;所述Redis集群中每個(gè)消息隊(duì)列包含9個(gè)消息列表,每個(gè)消息列表唯一對(duì)應(yīng)一個(gè)消息優(yōu)先級(jí)。
[0015]本發(fā)明的優(yōu)點(diǎn):通過(guò)Redis集群實(shí)現(xiàn)消息隊(duì)列的存儲(chǔ),可以通過(guò)擴(kuò)展Redis集群而擴(kuò)展消息隊(duì)列的存儲(chǔ)容量;通過(guò)查詢模塊使管理員可以實(shí)時(shí)查看目前存在的消息隊(duì)列、消息隊(duì)列中的消息數(shù)量、通過(guò)修改模塊能對(duì)指定消息的內(nèi)容與消息優(yōu)先級(jí)進(jìn)行修改,可以動(dòng)態(tài)的管理消息隊(duì)列,具有更好的靈活性。
【附圖說(shuō)明】
[0016]圖1為本發(fā)明的結(jié)構(gòu)框圖。
[0017]圖2為本發(fā)明寫消息模塊的工作流程圖。
[0018]圖3為本發(fā)明消費(fèi)消息功能的流程圖。
[0019]圖4為本發(fā)明查詢消息功能的流程圖。
[0020]圖5為本發(fā)明修改消息優(yōu)先級(jí)的流程圖。
[0021]圖6為本發(fā)明修改消息內(nèi)容的流程圖。
[0022]附圖標(biāo)記說(shuō)明:1_生存者、2-寫消息模塊、3-Redis集群、4-連接池模塊、5-讀消息模塊、6-查詢模塊、7-修改模塊、8-消費(fèi)者以及9-管理員。
【具體實(shí)施方式】
[0023]下面結(jié)合具體附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0024]如圖1所示:為了能實(shí)現(xiàn)具有優(yōu)先級(jí)功能的消息隊(duì)列,本發(fā)明包括寫消息模塊2以及用于消息隊(duì)列存儲(chǔ)及管理的Redis集群3,所述寫消息模塊2通過(guò)連接池模塊4與Redis集群3連接;
通過(guò)連接池模塊4與Redis集群3連接后,寫消息模塊2能將消息體寫入Redis集群3內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群3將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群3將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊4釋放寫消息模塊2與Redis集群3的連接。
[0025]具體地,Redis集群3采用Redis存儲(chǔ)系統(tǒng),Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API(Applicat1n Programming Interface)。Red is支持字符串、哈希、列表、集合、有序集合5中數(shù)據(jù)類型,其中,消息列表是通過(guò)雙端鏈表和壓縮列表來(lái)實(shí)現(xiàn)的,支持PUSH和POP操作,具體為本技術(shù)領(lǐng)域人員所熟知,此處不再贅述。
[0026]寫消息模塊2通過(guò)連接池模塊4指定Redis集群3的ip地址、端口號(hào)、訪問(wèn)密碼、最大連接數(shù)、最大空閑連接數(shù)、等待可用連接的最大時(shí)間等參數(shù),并負(fù)責(zé)初始化連接池、獲取一個(gè)指定連接、銷毀一個(gè)指定連接操作,具體過(guò)程為本技術(shù)領(lǐng)域人員所熟知,此處不再贅述。
[0027]寫消息模塊2通過(guò)連接池模塊4與Redis集群3連接后,寫消息模塊2能接收生產(chǎn)者I生產(chǎn)的消息體,所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),其中,隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí)間相互關(guān)聯(lián),以保證消息內(nèi)容以及消息優(yōu)先級(jí)間的匹配。具體實(shí)施時(shí),Redis集群3能創(chuàng)建新的消息隊(duì)列,即若寫消息模塊2寫入消息體的隊(duì)列名稱在Redis集群3內(nèi)不存在時(shí),在Redis集群3內(nèi)能利用所述消息體的隊(duì)列名稱進(jìn)行消息隊(duì)列的創(chuàng)建;本發(fā)明實(shí)施例中,Redis集群3內(nèi)每個(gè)消息隊(duì)列最多允許有9個(gè)消息列表,并為每個(gè)消息列表分配I?9的消息優(yōu)先級(jí),所述消息列表的優(yōu)先級(jí)即為存入消息列表內(nèi)消息內(nèi)容的優(yōu)先級(jí),從而實(shí)現(xiàn)對(duì)消息隊(duì)列的消息優(yōu)先級(jí)的利用Redis中的列表進(jìn)行隊(duì)列的創(chuàng)建。消息列表的命名格式為:隊(duì)列名稱_優(yōu)先級(jí),如名為demoqueue的消息隊(duì)列、優(yōu)先級(jí)為5的消息內(nèi)容將存儲(chǔ)在名為demoqueue_5的列表中edemoqueue消息隊(duì)列中從1-9優(yōu)先級(jí)的消息將分別存儲(chǔ)在Redis集群3 內(nèi)名為 demoqueue_l、demoqueue_2、demoqueue_3、demoqueue_4、demoqueue_5、demoqueue_
6、demoqueue_7、demoqueue_8、demoqueue_9的9個(gè)列表中,可以通過(guò)動(dòng)態(tài)擴(kuò)展Redi s集群3中Redis結(jié)點(diǎn)的數(shù)量達(dá)到擴(kuò)展本消息隊(duì)列存儲(chǔ)容量的目的。
[0028]進(jìn)一步地,所述消息體內(nèi)的消息內(nèi)容為字符串格式或?qū)ο箢愋?,?dāng)消息內(nèi)容采用對(duì)象類型時(shí),將消息內(nèi)容封裝成對(duì)應(yīng)的JSON格式,Redis集群3將封裝成JSON格式的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中。
[0029]如圖2所示,生產(chǎn)者I主要生產(chǎn)所需的消息體,生產(chǎn)者I將隊(duì)列名稱、消息內(nèi)容、消息優(yōu)先級(jí)三個(gè)參數(shù)傳給寫消息模塊2,其中消息內(nèi)容可以是字符串或者對(duì)象類型,如果是對(duì)象類型會(huì)將其封裝成對(duì)應(yīng)的JSON格式。寫消息模塊2通過(guò)隊(duì)列名稱和消息優(yōu)先級(jí)來(lái)生成Redis集群3中對(duì)應(yīng)列表的名稱,格式為:消息隊(duì)列名稱_優(yōu)先級(jí)。如名為demoqueue的消息隊(duì)列、優(yōu)先級(jí)為5的消息將存儲(chǔ)在名為demoqueue_5的列表中。寫消息模塊2通過(guò)連接池模塊4獲取與Redis集群3的連接,然后通過(guò)LPUSH操作將消息體寫入Redis集群3中的指定消息列表中。如果在寫入消息體時(shí)發(fā)現(xiàn)消息列表不存在,則將先創(chuàng)建消息列表,然后再將消息內(nèi)容寫入。
[0030]所述連接池模塊4上還連接有查詢模塊6,所述查詢模塊6通過(guò)連接池模塊4查看Redis集群3中存在的消息隊(duì)列,并能查詢消息列表中的消息列表數(shù)量以及每個(gè)消息列表中的消息內(nèi)容。
[0031]如圖4所示,查詢模塊6通過(guò)連接池模塊4獲取與Redis集群3的連接,然后查找出Redis集群3中存在的所有消息隊(duì)列。根據(jù)命名規(guī)則將隊(duì)列名稱_優(yōu)先級(jí)進(jìn)行拆分,獲取所有的消息隊(duì)列名稱。通過(guò)消息隊(duì)列名稱確定9個(gè)優(yōu)先級(jí)列表中存在消息內(nèi)容的數(shù)量,對(duì)其進(jìn)行求和,得到該消息隊(duì)列的消息數(shù)量。通過(guò)隊(duì)列名稱獲取9個(gè)優(yōu)先級(jí)消息列表中的消息內(nèi)容,
并顯示給管理員9。
[0032]所述連接池模塊4上還連接有修改模塊7,所述修改模塊7通過(guò)連接池模塊4能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改。
[0033]如圖5和圖6所示,通過(guò)查詢模塊6可顯示出當(dāng)前消息隊(duì)列的所有消息內(nèi)容,然后可通過(guò)選中指定消息列表修改其優(yōu)先級(jí)。被修改優(yōu)先級(jí)的消息通過(guò)LREM指令從原有的列表中刪除掉,并根據(jù)修改后的消息優(yōu)先級(jí)通過(guò)LPUSH指令存入對(duì)應(yīng)的消息列表中。通過(guò)選中指定消息可修改其內(nèi)容,其內(nèi)容執(zhí)行過(guò)程為:通過(guò)LINSERT指令在被修改的消息前插入修改后的新消息,然后通過(guò)LREM指令刪除消息列表中的原有消息,具體過(guò)程為本賽季領(lǐng)域人員所述熟知,此處不再詳述。
[0034]所述連接池模塊4上還連接有讀消息模塊5,所述讀消息模塊5包括監(jiān)聽(tīng)器以及能配置并發(fā)多個(gè)監(jiān)聽(tīng)器的監(jiān)聽(tīng)容器,每個(gè)監(jiān)聽(tīng)器綁定Redis集群3內(nèi)的一個(gè)消息隊(duì)列,監(jiān)聽(tīng)器實(shí)時(shí)監(jiān)聽(tīng)所綁定消息隊(duì)列中是否存在消息體,當(dāng)存在消息體時(shí),監(jiān)聽(tīng)器從所綁定的消息隊(duì)列中將消息體取出,并對(duì)取出消息體內(nèi)的消息內(nèi)容進(jìn)行解析。
[0035]如圖3所示,讀消息模塊5包括監(jiān)聽(tīng)器和監(jiān)聽(tīng)器容器兩個(gè)組件。每個(gè)監(jiān)聽(tīng)器綁定一個(gè)消息隊(duì)列,然后該監(jiān)聽(tīng)器實(shí)時(shí)監(jiān)聽(tīng)消息隊(duì)列中是否存在消息,如果存在則將消息從消息隊(duì)列中取出,然后將消息內(nèi)容進(jìn)行解析。監(jiān)聽(tīng)器容器負(fù)責(zé)監(jiān)聽(tīng)器的并發(fā)線程數(shù)量,即一個(gè)監(jiān)聽(tīng)器容器中可以并發(fā)存在多個(gè)監(jiān)聽(tīng)器,可以起到控制消費(fèi)速度的作用。通過(guò)配置文件為目標(biāo)消息隊(duì)列綁定監(jiān)聽(tīng)器,啟動(dòng)后監(jiān)聽(tīng)器開(kāi)始監(jiān)聽(tīng)對(duì)應(yīng)的隊(duì)列。
[0036]消費(fèi)者8主要通過(guò)讀消息模塊5來(lái)實(shí)現(xiàn)消息的消費(fèi)。消費(fèi)者8首先創(chuàng)建監(jiān)聽(tīng)器,并在創(chuàng)建時(shí)綁定消息隊(duì)列,然后消費(fèi)者創(chuàng)建監(jiān)聽(tīng)器容器,在創(chuàng)建時(shí)需要指定監(jiān)聽(tīng)器和監(jiān)聽(tīng)線程數(shù),每個(gè)監(jiān)聽(tīng)線程中運(yùn)行一個(gè)監(jiān)聽(tīng)器來(lái)實(shí)時(shí)取出消息隊(duì)列中的消息。消費(fèi)者8啟動(dòng)監(jiān)聽(tīng)器容器,一次監(jiān)聽(tīng)任務(wù)將按照優(yōu)先級(jí)由高到低依次查詢9個(gè)消息列表中的消息內(nèi)容,如果該優(yōu)先級(jí)列表中存在消息則通過(guò)RPOP指令取出并完成一次監(jiān)聽(tīng)任務(wù),否則執(zhí)行查詢低一優(yōu)先級(jí)的消息列表,監(jiān)聽(tīng)器容器將循環(huán)執(zhí)行監(jiān)聽(tīng)任務(wù)。
[0037]本發(fā)明通過(guò)Redis集群3實(shí)現(xiàn)消息隊(duì)列的存儲(chǔ),可以通過(guò)擴(kuò)展Redis集群3而擴(kuò)展消息隊(duì)列的存儲(chǔ)容量;通過(guò)查詢模塊6使管理員9可以實(shí)時(shí)查看目前存在的消息隊(duì)列、消息隊(duì)列中的消息數(shù)量、通過(guò)修改模塊7能對(duì)指定消息的內(nèi)容與消息優(yōu)先級(jí)進(jìn)行修改,可以動(dòng)態(tài)的管理消息隊(duì)列,具有更好的靈活性。
【主權(quán)項(xiàng)】
1.一種基于RediS實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:包括寫消息模塊(2)以及用于消息隊(duì)列存儲(chǔ)及管理的Redis集群(3),所述寫消息模塊(2)通過(guò)連接池模塊(4)與Redis集群(3)連接; 通過(guò)連接池模塊(4 )與Red i s集群(3 )連接后,寫消息模塊(2 )能將消息體寫入Redi s集群(3)內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群(3)將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群(3)將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊(4)釋放寫消息模塊(2)與Redis集群(3)的連接。2.根據(jù)權(quán)利要求1所述的基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:所述消息體內(nèi)的消息內(nèi)容為字符串格式或?qū)ο箢愋?,?dāng)消息內(nèi)容采用對(duì)象類型時(shí),將消息內(nèi)容封裝成對(duì)應(yīng)的JSON格式,Redis集群(3)將封裝成JSON格式的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中。3.根據(jù)權(quán)利要求1所述的基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:所述連接池模塊(4)上還連接有查詢模塊(6),所述查詢模塊(6)通過(guò)連接池模塊(4)查看Redis集群(3)中存在的消息隊(duì)列,并能查詢消息列表中的消息列表數(shù)量以及每個(gè)消息列表中的消息內(nèi)容。4.根據(jù)權(quán)利要求1所述的基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:所述連接池模塊(4)上還連接有修改模塊(7),所述修改模塊(7)通過(guò)連接池模塊(4)能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改。5.根據(jù)權(quán)利要求1所述的基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:所述連接池模塊(4)上還連接有讀消息模塊(5),所述讀消息模塊(5)包括監(jiān)聽(tīng)器以及能配置并發(fā)多個(gè)監(jiān)聽(tīng)器的監(jiān)聽(tīng)容器,每個(gè)監(jiān)聽(tīng)器綁定Redis集群(3)內(nèi)的一個(gè)消息隊(duì)列,監(jiān)聽(tīng)器實(shí)時(shí)監(jiān)聽(tīng)所綁定消息隊(duì)列中是否存在消息體,當(dāng)存在消息體時(shí),監(jiān)聽(tīng)器從所綁定的消息隊(duì)列中將消息體取出,并對(duì)取出消息體內(nèi)的消息內(nèi)容進(jìn)行解析。6.根據(jù)權(quán)利要求1所述的基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的方法,其特征是:所述Redis集群中每個(gè)消息隊(duì)列包含9個(gè)消息列表,每個(gè)消息列表唯一對(duì)應(yīng)一個(gè)消息優(yōu)先級(jí)。7.—種基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的系統(tǒng),其特征是:包括寫消息模塊(2)以及用于消息隊(duì)列存儲(chǔ)及管理的Redis集群(3),所述寫消息模塊(2)通過(guò)連接池模塊(4)與Redis集群(3)連接; 通過(guò)連接池模塊(4 )與Red i s集群(3 )連接后,寫消息模塊(2 )能將消息體寫入Redi s集群(3)內(nèi),所述消息體包括隊(duì)列名稱、消息內(nèi)容以及消息優(yōu)先級(jí),Redis集群(3)將消息體內(nèi)的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中,且在Redis集群(3)將消息內(nèi)容存儲(chǔ)在對(duì)應(yīng)的消息列表后,通過(guò)連接池模塊(4)釋放寫消息模塊(2)與Redis集群(3)的連接。8.根據(jù)權(quán)利要求7所述基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的系統(tǒng),其特征是:所述消息體內(nèi)的消息內(nèi)容為字符串格式或?qū)ο箢愋?,?dāng)消息內(nèi)容采用對(duì)象類型時(shí),將消息內(nèi)容封裝成對(duì)應(yīng)的JSON格式,Redi s集群(3 )將封裝成JSON格式的消息內(nèi)容存儲(chǔ)在與隊(duì)列名稱以及消息優(yōu)先級(jí)對(duì)應(yīng)消息隊(duì)列的消息列表中; 所述連接池模塊(4)上還連接有查詢模塊(6),所述查詢模塊(6)通過(guò)連接池模塊(4)查看Redis集群(3)中存在的消息隊(duì)列,并能查詢消息列表中的消息列表數(shù)量以及每個(gè)消息列表中的消息內(nèi)容。9.根據(jù)權(quán)利要求7所述基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的系統(tǒng),其特征是:所述連接池模塊(4)上還連接有修改模塊(7),所述修改模塊(7)通過(guò)連接池模塊(4)能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改。10.根據(jù)權(quán)利要求7所述基于Redis實(shí)現(xiàn)優(yōu)先級(jí)消息隊(duì)列的系統(tǒng),其特征是:所述連接池模塊(4)上還連接有修改模塊(7),所述修改模塊(7)通過(guò)連接池模塊(4)能對(duì)指定消息隊(duì)列中消息列表的消息內(nèi)容以及對(duì)應(yīng)的消息優(yōu)先級(jí)進(jìn)行修改;所述Redis集群(3)中每個(gè)消息隊(duì)列包含9個(gè)消息列表,每個(gè)消息列表唯一對(duì)應(yīng)一個(gè)消息優(yōu)先級(jí)。
【文檔編號(hào)】G06F9/54GK105868033SQ201610211815
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年4月6日
【發(fā)明人】張健, 劉斌, 臺(tái)憲青
【申請(qǐng)人】江蘇物聯(lián)網(wǎng)研究發(fā)展中心
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
驻马店市| 弥渡县| 龙胜| 正宁县| 扶风县| 林州市| 新乐市| 溆浦县| 吉安县| 汤阴县| 津市市| 开江县| 滦南县| 建宁县| 新平| 台中县| 霍林郭勒市| 亚东县| 丽江市| 盖州市| 嵊州市| 博野县| 柯坪县| 庆城县| 宝清县| 西华县| 桑日县| 衡东县| 哈尔滨市| 论坛| 定安县| 株洲市| 海城市| 台中县| 普宁市| 张家口市| 峡江县| 博乐市| 霍林郭勒市| 新乡市| 资兴市|