專利名稱:一種基于云服務的消息隊列流處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種基于云服務的消息隊列流處理方法。
背景技術(shù):
云服務帶來的ー個重大變革是從以設(shè)備為中心轉(zhuǎn)向以信息為中心,設(shè)備包括應用程序,而信息及人們在信息中的投資則是必須要長期保留。越來越多的人們在其工作和生活中,依靠信息推送的方式來獲取信息,這些信息通過推送的方式實時的傳遞到用戶的手機或臺式機,因此就會出現(xiàn)ー個問題:用戶通常會在不同的設(shè)備收到不同的信息,或者在不同的設(shè)備收到相同的信息;有沒有辦法把這些推送信息都聚集在ー個地方則是個問題。同時,推送應用程序開發(fā)也日趨復雜,由于移動設(shè)備的范圍日益擴大,開發(fā)人員必須編寫和維護不同版本的同一推送軟件大集的Android智能手機、iPhone、iPad和現(xiàn)在的Windows手機,以及其它智能手機及 平板電腦設(shè)備。因此,針對以上方面,本發(fā)明對現(xiàn)有技術(shù)進行創(chuàng)新。
發(fā)明內(nèi)容
針對以上缺陷,本發(fā)明提供一種基于云服務的消息隊列流處理方法,通過該方法滿足最終用戶和安全從業(yè)人員、安全廠商所面臨的挑戰(zhàn),使通知更輕松地訪問、組織和存儲,而且對于開發(fā)人員也降低了成本和復雜性,開發(fā)人員可以創(chuàng)建ー個單ー的,無處不在的通知服務,將通知傳遞到所有類型的設(shè)備,如手機、平板電腦、臺式機、筆記本電腦和智能電視。為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種基于云服務的消息隊列流處理方法,主要包括以下步驟:(I)建立八個子系統(tǒng)結(jié)構(gòu),即作為內(nèi)部版、專業(yè)版、大眾版Web門戶統(tǒng)一入ロ的門戶子系統(tǒng),作為內(nèi)部版、專業(yè)版、大眾版平板或智能手機終端子系統(tǒng)的終端接入子系統(tǒng),作為綜合服務平臺面向中心領(lǐng)導、中心員エ、管理員的子系統(tǒng)的內(nèi)部版服務子系統(tǒng),作為綜合服務平臺面向8+2行業(yè)、政府機構(gòu)、企業(yè)用戶子系統(tǒng)的專業(yè)版服務子系統(tǒng),作為綜合服務平臺面向社會大眾、信息安全人才和機構(gòu)的大眾版服務子系統(tǒng),負責面向三大類用戶子系統(tǒng)的服務管理的服務管理子系統(tǒng),負責綜合服務平臺整個系統(tǒng)管理的系統(tǒng)管理子系統(tǒng),用于存儲綜合服務平臺的推送數(shù)據(jù)、用戶數(shù)據(jù)、服務數(shù)據(jù)等海量數(shù)據(jù)的綜合服務數(shù)據(jù)庫子系統(tǒng);其中的服務管理子系統(tǒng)與系統(tǒng)管理子系統(tǒng)與綜合服務數(shù)據(jù)庫子系統(tǒng)連接,內(nèi)部版服務子系統(tǒng)、專業(yè)版服務子系統(tǒng)、大眾版服務子系統(tǒng)分別與終端接入子系統(tǒng)連接;(2)建立消息隊列構(gòu)架作為系統(tǒng)核心,其組件包括消息生產(chǎn)者、消息消費者、消息隊列服務,其中的消息生產(chǎn)者包括信息安全專業(yè)網(wǎng)站,安全專業(yè)人員、安全合作廠商也可通過開發(fā)API調(diào)用、普通用戶通過網(wǎng)頁、智能終端發(fā)布安全信息等方式成為生產(chǎn)者;其中的消息消費者實現(xiàn)多種消息消費者,包括門戶網(wǎng)站、SNS、平板電腦、智能手機等,消費者具有注冊、訂閱、自動接收推送信息等功能;其中的消息隊列服務提供基礎(chǔ)消息隊列服務,實現(xiàn)消息推送、訂閱、過濾功能;(3)消息隊列采用推模式,即客戶端發(fā)送一條消息,消息隊列服務器先把消息存入待發(fā)布隊列,消息隊列后臺服務處理待發(fā)布消息隊列,每條消息從待發(fā)布隊列中取出,存儲該消息內(nèi)容本身,消息隊列服務往所有關(guān)注者的隊列中注冊一條該消息指針,所有關(guān)注者客戶端實時獲得該推送消息。本發(fā)明所述的基于云服務的消息隊列流處理方法的有益效果為:(I)消息隊列云服務平臺可使基于消息隊列的云推送作為ー種服務,為最終用戶開發(fā)平臺或服務;(2)具有一個開放的協(xié)議,定義用戶和內(nèi)容模型,它允許第三方編寫雙方可互操作的聯(lián)邦服務器的實施和用戶客戶端;(3)能夠?qū)崿F(xiàn)實時推送通知直接傳遞給大家,無論移動、臺式機或媒體設(shè)備、可實現(xiàn)隨時隨地跨設(shè)備的推送,這ー創(chuàng)新解決方案為開發(fā)商降低了成本和復雜性,同時為最終用戶提供更大的便利和增值功能。
下面根據(jù)附圖對本發(fā)明作進ー步詳細說明。圖1是本發(fā)明實施例所述基于云服務的消息隊列總體平臺框架示意圖;圖2是本發(fā)明實施例所述基于云服務的消息隊列的推送流程示意圖;圖3是本發(fā)明實施例所述基于云服務的消息隊列流處理方法的具體實施邏輯示意圖。
具體實施例方式如圖1-3所示,本發(fā)明實施例所述的基于云服務的消息隊列流處理方法,主要包括以下步驟:(I)建立八個子系統(tǒng)結(jié)構(gòu),即作為內(nèi)部版、專業(yè)版、大眾版Web門戶統(tǒng)一入ロ的門戶子系統(tǒng),作為內(nèi)部版、專業(yè)版、大眾版平板或智能手機終端子系統(tǒng)的終端接入子系統(tǒng),作為綜合服務平臺面向中心領(lǐng)導、中心員エ、管理員的子系統(tǒng)的內(nèi)部版服務子系統(tǒng),作為綜合服務平臺面向8+2行業(yè)、政府機構(gòu)、企業(yè)用戶子系統(tǒng)的專業(yè)版服務子系統(tǒng),作為綜合服務平臺面向社會大眾、信息安全人才和機構(gòu)的大眾版服務子系統(tǒng),負責面向三大類用戶子系統(tǒng)的服務管理(主要有服務訂閱、服務推送、信息發(fā)布、郵件推送等功能)的服務管理子系統(tǒng),負責綜合服務平臺整個系統(tǒng)管理(主要有權(quán)限、用戶管理、訪問日志、審計等功能)的系統(tǒng)管理子系統(tǒng),用于存儲綜合服務平臺的推送數(shù)據(jù)、用戶數(shù)據(jù)、服務數(shù)據(jù)等海量數(shù)據(jù)的綜合服務數(shù)據(jù)庫子系統(tǒng);其中的服務管理子系統(tǒng)與系統(tǒng)管理子系統(tǒng)與綜合服務數(shù)據(jù)庫子系統(tǒng)連接,內(nèi)部版服務子系統(tǒng)、專業(yè)版服務子系統(tǒng)、大眾版服務子系統(tǒng)分別與終端接入子系統(tǒng)連接;(2)建立消息隊列構(gòu)架作為系統(tǒng)核心,其組件包括消息生產(chǎn)者、消息消費者、消息隊列服務,其中的消息生產(chǎn)者包括信息安全專業(yè)網(wǎng)站,安全專業(yè)人員、安全合作廠商也可以通過開發(fā)API調(diào)用、普通用戶通過網(wǎng)頁、智能終端發(fā)布安全信息等方式成為生產(chǎn)者;其中的消息消費者實現(xiàn)了多種消息消費者,包括門戶網(wǎng)站、SNS、平板電腦、智能手機等,消費者具有注冊、訂閱、自動接收推送信息等功能;其中的消息隊列服務提供基礎(chǔ)消息隊列服務,實現(xiàn)消息推送、訂閱、過濾等功能;系統(tǒng)整體技術(shù)構(gòu)架:I)客戶端發(fā)送消息請求;2) Redis Master 存儲該消息;3) Redi s數(shù)據(jù)庫存儲的同時,記錄事務日志;4)事務日志解析,作為消息的生產(chǎn)者,提供RabbitMQ Master ;5)消息隊列 RabbitMQ Master 復制到多個 Rabbit Slave ;6)消息隊列 RabbitMQ 的 Con summer 有 MySQL、Memory cached、Redis ;7) MySQL提供各種綜合查詢;8) Memory Cached提供終端各種快速緩存;9) Redis提供實時推送功能;(3)消息發(fā)布流程:消息隊列采用推模式,即客戶端發(fā)送一條消息,消息隊列服務器先把消息存入待發(fā)布隊列,消息隊列后臺服務處理待發(fā)布消息隊列,每條消息從待發(fā)布隊列中取出,存儲該消息內(nèi)容本身,消息隊列服務往所有關(guān)注者的隊列中注冊一條該消息指針,所有關(guān)注者客戶端實時獲得該推送消息。消息推送流程:本推送流程實現(xiàn)了多臺設(shè)備-共享的管理:認識到這項新服務的用戶有多個設(shè)備:臺式機、手機、平板電腦,允許用戶在所有他們的設(shè)備共享和管理他們的通知。面向普通用戶實時的網(wǎng)絡-ー個粘性的做法:使得它可以為最終用戶接收,實時,所有的信息,數(shù)據(jù),內(nèi)容,更新和提醒他們真正想要的,只要它是在網(wǎng)絡上?;诜盏耐ㄖ?一個易于使用的環(huán)境:通知系統(tǒng)最終用戶的使用是非常簡單的,訂閱到一個新的內(nèi)容或服務提供商的通知很簡單,在網(wǎng)站上點擊ー個鏈接。侵擾程度較低的通知-一個統(tǒng)ー的收件箱:通知服務提供了ー個獨特的中央收件箱應用程序在ー個安全的中央存儲庫,收集和儲存的所有通知。多臺設(shè)備-共享的管理:認識到這項新服務的用戶有多個設(shè)備:臺式機,手機,平板電腦甚至是ー個全新的網(wǎng)絡連接的電視機。允許用戶在所有他們的設(shè)備共享和管理他們的通知。中央調(diào)度員-ー個有組織的和語境:使用本系統(tǒng),用戶可以分組通知時間,地域和來源等,這使得更容易找到和組織信息的一個合乎邏輯的方式。保持記錄-保存消息和捜索選項:大多數(shù)的消息可以提供稍后閱讀功能,搜索選項也可以保存供以后使用。面向安全開發(fā)人員開發(fā)一次,到處推送-一個面向Web的通知系統(tǒng),開發(fā)者再也不用為每ー個可能的用戶設(shè)備開發(fā)不同的服務器端和客戶端軟件。相反,他們現(xiàn)在可以實現(xiàn)ー個統(tǒng)一策略推送來通知。目標用戶,而不是ー個設(shè)備-最終用戶關(guān)注的焦點:在設(shè)計上,現(xiàn)有的推送通知系統(tǒng)目標的應用程序特定的設(shè)備或平臺?,F(xiàn)在,這些系統(tǒng)能夠滿足最終用戶無論在什么樣的設(shè)備,他們有多少設(shè)備。因此,企業(yè)可以專注于為客戶提供最佳的用戶體驗。公共或私人數(shù)據(jù)-信道的使用:建立ー個基干”云服務”的通知系統(tǒng)并不意味著的用戶接受公眾的內(nèi)容是有限的。開發(fā)人員可以創(chuàng)建通知系統(tǒng),提供特定的最終用戶的信息,比如ー組人共享相同的興趣,或者一個團隊的員エ。集成到現(xiàn)有的系統(tǒng)-一個簡單的開發(fā)部署的推送通知服務需要幾分鐘的時間。開發(fā)人員只需添加新的鏈接和ー個非常簡單的代碼插入到網(wǎng)站或Web應用程序。面向信息安全內(nèi)容提供商和信息安全企業(yè)本平臺是ー個真正的創(chuàng)新的解決方案,這將有利于更多的實時通知系統(tǒng)的發(fā)展和加速的推送服務的最終用戶。該解決方案是:開放:通過提供消息隊列”云服務”作為ー個開放的技術(shù)和共享,g在進ー步與信息安全廠商發(fā)展的ー個標準的“推送”生態(tài)系統(tǒng)。完全聯(lián)合:允許雙向通信,實現(xiàn)真正的互操作性在不同的通知平臺。云消息作為ー種服務:提供云計算作為ー種服務。以上本發(fā)明實施例所述的基于云服務的消息隊列流處理方法,消息隊列開放API實現(xiàn)如下功能:建立MQS連接SQS sqs = new SQSClient (new BasicMQSCredentials (MQS_KEY, MQS_SECRET));在MQSAPI中,對createQueue的調(diào)用,不一定姆次創(chuàng)建一個新隊列。如果隊列已經(jīng)存在,返回其句柄。在SQS中,隊列僅僅是URLs ;因此,隊列處理也只是ー個URL。注意在MQS SDKAPI 中,Queue URL 是ー個 String 類型,而不是 Java URL 類型。創(chuàng)建ー個隊列String url = sqs.createQueue (,new CreateQueueRequest ( " a_queue " )) getQueueUrl ();有了隊列之后,可以向其寫入一條消息。通過SQS發(fā)送消息sqs.sendMessage (new SendMessageRequest (url, " BrowserCRM 多個 SQL 注入漏洞"));通過SQS檢索消息
權(quán)利要求
1.一種基于云服務的消息隊列流處理方法,其特征在于,主要包括以下步驟: (1)建立八個子系統(tǒng)結(jié)構(gòu),即作為內(nèi)部版、專業(yè)版、大眾版Web門戶統(tǒng)一入ロ的門戶子系統(tǒng),作為內(nèi)部版、專業(yè)版、大眾版平板或智能手機終端子系統(tǒng)的終端接入子系統(tǒng),作為綜合服務平臺面向中心領(lǐng)導、中心員エ、管理員的子系統(tǒng)的內(nèi)部版服務子系統(tǒng),作為綜合服務平臺面向8+2行業(yè)、政府機構(gòu)、企業(yè)用戶子系統(tǒng)的專業(yè)版服務子系統(tǒng),作為綜合服務平臺面向社會大眾、信息安全人才和機構(gòu)的大眾版服務子系統(tǒng),負責面向三大類用戶子系統(tǒng)的服務管理的服務管理子系統(tǒng),負責綜合服務平臺整個系統(tǒng)管理的系統(tǒng)管理子系統(tǒng),用于存儲綜合服務平臺的推送數(shù)據(jù)、用戶數(shù)據(jù)、服務數(shù)據(jù)等海量數(shù)據(jù)的綜合服務數(shù)據(jù)庫子系統(tǒng);其中的服務管理子系統(tǒng)與系統(tǒng)管理子系統(tǒng)與綜合服務數(shù)據(jù)庫子系統(tǒng)連接,內(nèi)部版服務子系統(tǒng)、專業(yè)版服務子系統(tǒng)、大眾版服務子系統(tǒng)分別與終端接入子系統(tǒng)連接; (2)建立消息隊列構(gòu)架作為系統(tǒng)核心,其組件包括消息生產(chǎn)者、消息消費者、消息隊列服務,其中的消息生產(chǎn)者包括信息安全專業(yè)網(wǎng)站,安全專業(yè)人員、安全合作廠商也可通過開發(fā)API調(diào)用、普通用戶通過網(wǎng)頁、智能終端發(fā)布安全信息等方式成為生產(chǎn)者;其中的消息消費者實現(xiàn)多種消息消費者,包括門戶網(wǎng)站、SNS、平板電腦、智能手機等,消費者具有注冊、訂閱、自動接收推送信息等功能;其中的消息隊列服務提供基礎(chǔ)消息隊列服務,實現(xiàn)消息推送、訂閱、過濾功能; (3)消息隊列采用推模式,即客戶端發(fā)送一條消息,消息隊列服務器先把消息存入待發(fā)布隊列,消息隊列后臺服務處理待發(fā)布消息隊列,每條消息從待發(fā)布隊列中取出,存儲該消息內(nèi)容本身,消息隊列服務往所有關(guān)注者的隊列中注冊一條該消息指針,所有關(guān)注者客戶端實時獲得該推送消息。
全文摘要
本發(fā)明涉及一種基于云服務的消息隊列流處理方法,主要包括建立八個子系統(tǒng)結(jié)構(gòu),即門戶子系統(tǒng),終端接入子系統(tǒng),內(nèi)部版服務子系統(tǒng),專業(yè)版服務子系統(tǒng),大眾版服務子系統(tǒng),服務管理子系統(tǒng),系統(tǒng)管理子系統(tǒng),綜合服務數(shù)據(jù)庫子系統(tǒng);建立消息隊列構(gòu)架作為系統(tǒng)核心。本發(fā)明有益效果為可使基于消息隊列的云推送作為一種服務,為最終用戶開發(fā)平臺或服務;具有一個開放的協(xié)議,定義用戶和內(nèi)容模型,它允許第三方編寫雙方可互操作的聯(lián)邦服務器的實施和用戶客戶端;能夠?qū)崿F(xiàn)實時推送通知直接傳遞給大家,無論移動、臺式機或媒體設(shè)備、可實現(xiàn)隨時隨地跨設(shè)備的推送,為開發(fā)商降低了成本和復雜性,同時為最終用戶提供更大的便利和增值功能。
文檔編號H04L29/06GK103118138SQ20131006813
公開日2013年5月22日 申請日期2013年3月4日 優(yōu)先權(quán)日2013年3月4日
發(fā)明者趙向輝, 劉暉, 易錦, 劉彥釗, 田雯, 葉林, 曾昭沛, 羅寧 申請人:中國信息安全測評中心, 上海三零衛(wèi)士信息安全有限公司