国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度及消息隊列的實(shí)現(xiàn)方法與流程

      文檔序號:12067861閱讀:488來源:國知局
      消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度及消息隊列的實(shí)現(xiàn)方法與流程

      本發(fā)明涉及一種消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度及消息隊列的實(shí)現(xiàn)方法,屬于物聯(lián)網(wǎng)技術(shù)領(lǐng)域。



      背景技術(shù):

      伴隨著物聯(lián)網(wǎng)應(yīng)用的廣泛普及,各個網(wǎng)絡(luò)運(yùn)營商開始大力發(fā)展物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營平臺,如何設(shè)計一種能融合運(yùn)營商各種業(yè)務(wù)應(yīng)用平臺已成為當(dāng)前的熱點(diǎn)問題。特別是在物聯(lián)網(wǎng)異構(gòu)設(shè)備及技術(shù)日新月異的今天,面對各種復(fù)雜的物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)以及差異化巨大的用戶需求,人們需要提供一種統(tǒng)一的物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐平臺,從而用于滿足大量異構(gòu)數(shù)據(jù)的融合與處理,為不同的用戶提供方便、快捷的業(yè)務(wù)應(yīng)用。

      在傳統(tǒng)運(yùn)營商物聯(lián)網(wǎng)系統(tǒng)中,有各種異構(gòu)的業(yè)務(wù)系統(tǒng),如信息檢索業(yè)務(wù)系統(tǒng)、策略控制系統(tǒng)、用戶信息系統(tǒng)、計費(fèi)處理數(shù)據(jù)系統(tǒng)、權(quán)限認(rèn)證系統(tǒng)、CRM客戶關(guān)系管理系統(tǒng),如何根據(jù)客戶的需求,將來自不同系統(tǒng)的不同類型的數(shù)據(jù)進(jìn)行匯集與處理,通過統(tǒng)一的平臺展示給客戶,讓客戶進(jìn)行信息查詢、權(quán)限管理等操作,這可以打造面向物聯(lián)網(wǎng)產(chǎn)業(yè)群的業(yè)務(wù)運(yùn)營服務(wù)新供給,形成一種面向物聯(lián)網(wǎng)領(lǐng)域產(chǎn)業(yè)群的綜合智能運(yùn)營管理服務(wù)平臺。

      目前各個網(wǎng)絡(luò)運(yùn)營商的物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)、應(yīng)用差異化和用戶對物聯(lián)網(wǎng)多元化需求在不斷攀升,特別是物聯(lián)網(wǎng)異構(gòu)設(shè)備和技術(shù)革新所帶動的市場價值遠(yuǎn)遠(yuǎn)超出了最初的預(yù)期。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明目的在于針對上述現(xiàn)有技術(shù)的不足,提出了一種消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度及消息隊列的實(shí)現(xiàn)方法,著眼于集約運(yùn)營物聯(lián)網(wǎng)公共服務(wù)行業(yè),如車聯(lián)網(wǎng)、智能家居、智慧健康等行業(yè),該系統(tǒng)面向物聯(lián)網(wǎng)客戶輸出業(yè)務(wù)應(yīng)用信息。通過實(shí)時采集各種業(yè)務(wù)運(yùn)營數(shù)據(jù)用于解決物聯(lián)網(wǎng)異構(gòu)設(shè)備數(shù)據(jù)融合和實(shí)時處理問題。本發(fā)明的系統(tǒng)核心在于業(yè)務(wù)運(yùn)營支撐,將運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)信息進(jìn)行匯聚,并對物聯(lián)網(wǎng)業(yè)務(wù)進(jìn)行抽取、組合和發(fā)布,構(gòu)建穩(wěn)定的泛在業(yè)務(wù)運(yùn)行支撐環(huán)境,為業(yè)務(wù)使用者提供可擴(kuò)展的業(yè)務(wù)應(yīng)用。

      本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度及消息隊列的實(shí)現(xiàn)方法,該方法包括如下步驟:

      步驟1:物聯(lián)網(wǎng)自管理平臺用戶請求經(jīng)過HTTP協(xié)議編碼,通過Socket套接字傳送到服務(wù)器端;

      步驟2:到達(dá)服務(wù)器端的業(yè)務(wù)消息經(jīng)過HTTP解碼后封裝為Message消息對象,并根據(jù)操作類型的優(yōu)先級存入相應(yīng)的接收消息隊列中,接收隊列包括三個優(yōu)先級;

      步驟3:通過對隊列的調(diào)度控制,獲取消息隊列模塊中的Message消息對象,進(jìn)入物聯(lián)網(wǎng)業(yè)務(wù)解析模塊并進(jìn)行解析。根據(jù)物聯(lián)網(wǎng)業(yè)務(wù)類型選擇相應(yīng)的下部操作。如果業(yè)務(wù)請求類型為登錄執(zhí)行步驟4;如果業(yè)務(wù)請求類型為注冊執(zhí)行步驟5;如果業(yè)務(wù)請求類型為業(yè)務(wù)查詢執(zhí)行步驟6;如果業(yè)務(wù)請求類型為修改執(zhí)行步驟7;如果業(yè)務(wù)請求類型為業(yè)務(wù)定制受理,執(zhí)行步驟8;

      步驟4:用戶請求類型為登錄操作時時,消息隊列管理模塊獲得用戶名密碼,并查詢數(shù)據(jù)庫中用戶信息表,若果沒有用戶名或者密碼不對,服務(wù)器拒絕用戶登錄,返回到登陸界面。如果用戶名密碼匹配,查詢用戶物聯(lián)網(wǎng)訂購業(yè)務(wù)和用戶權(quán)限,根據(jù)相應(yīng)權(quán)限將結(jié)果返回到Result消息對象,執(zhí)行步驟9;

      步驟5:用戶請求類型為注冊操作時時,消息隊列管理模塊獲得用戶名和密碼,若否存在用戶已存在則拒絕注冊,若用戶不存在,在將相應(yīng)的用戶信息插入用戶信息表中返回success成功接收消息,并將消息封裝為Result消息對象,執(zhí)行步驟9;

      步驟6:用戶請求為物聯(lián)網(wǎng)業(yè)務(wù)查詢操作時,消息隊列管理模塊獲得查詢條件,如果是套餐使用量查詢,則根據(jù)相應(yīng)的條件查詢物聯(lián)網(wǎng)數(shù)據(jù)中心庫中的相應(yīng)記錄,并將結(jié)果封裝為Result消息對象,執(zhí)行步驟9;

      步驟7:用戶請求為業(yè)務(wù)修改操作時,消息隊列管理模塊獲得修改的業(yè)務(wù)屬性值,如活卡激活操作業(yè)務(wù)變更,在物聯(lián)網(wǎng)數(shù)據(jù)中心庫中進(jìn)行修改。返回結(jié)果success成功接收消息,封裝為Result消息對象。執(zhí)行步驟9;

      步驟8:用戶請求為業(yè)務(wù)定制時,消息隊列管理模塊獲得修改的業(yè)務(wù)定制類型,如果物聯(lián)網(wǎng)數(shù)據(jù)中心存在相關(guān)的業(yè)務(wù)類型,則服務(wù)器返回success成功接收消息,反之,則返回錯誤。執(zhí)行步驟9;

      步驟9:用戶請求為消息確認(rèn)時,消息隊列管理模塊獲得相應(yīng)應(yīng)答請求,在物聯(lián)網(wǎng)數(shù)據(jù)中心中進(jìn)行修改。并返回結(jié)果最終竣工消息。執(zhí)行步驟9。

      進(jìn)一步地,本發(fā)明的消息隊列的實(shí)現(xiàn)機(jī)制包括線程池機(jī)制、數(shù)據(jù)持久化機(jī)制和消息隊列管理調(diào)度機(jī)制。

      有益效果

      1、本發(fā)明能夠很好地加快運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)交互,實(shí)現(xiàn)了系統(tǒng)集成。

      2、本發(fā)明的消息隊列管理模塊能夠方便運(yùn)營商業(yè)務(wù)數(shù)據(jù)高效接入平臺。

      3、本發(fā)明構(gòu)建運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐層的架構(gòu)和所需要的功能模塊,方便搭建統(tǒng)一的運(yùn)營支撐平臺。

      4、本發(fā)明的通信層模塊描述了業(yè)務(wù)運(yùn)行流程設(shè)計,包括數(shù)據(jù)封裝格式,用偽代碼描述了通信過程。

      5、本發(fā)明整合了各個網(wǎng)絡(luò)運(yùn)營商的智能管道能力,形成一種面向物聯(lián)網(wǎng)領(lǐng)域產(chǎn)業(yè)群的業(yè)務(wù)運(yùn)營支撐體系。

      附圖說明

      圖1為本發(fā)明的系統(tǒng)架構(gòu)圖。

      圖2為本發(fā)明的物聯(lián)網(wǎng)自管理平臺邏輯架構(gòu)圖。

      圖3為本發(fā)明的數(shù)據(jù)中心交互圖。

      圖4為本發(fā)明的業(yè)務(wù)運(yùn)營支撐層架構(gòu)圖。

      圖5為本發(fā)明的消息隊列數(shù)據(jù)交互結(jié)構(gòu)圖。

      圖6為本發(fā)明的通信層接口模塊結(jié)構(gòu)圖。

      圖7為本發(fā)明的通信層接口模塊業(yè)務(wù)運(yùn)行流程圖。

      圖8為本發(fā)明的通信層接口模塊與消息隊列管理模塊數(shù)據(jù)交互圖。

      具體實(shí)施方式

      下面結(jié)合說明書附圖對本發(fā)明創(chuàng)造作進(jìn)一步的詳細(xì)說明。

      如圖1所示,本發(fā)明提供了一種應(yīng)用于物聯(lián)網(wǎng)自管理平臺的業(yè)務(wù)運(yùn)營支撐系統(tǒng),該系統(tǒng)包括六大功能,即:信息查詢功能、業(yè)務(wù)受理功能、策略控制功能、增值服務(wù)功能、權(quán)限管理功能、API開放功能。(1)信息查詢功能包括賬單查詢、清單查詢、套餐使用量查詢、充值查詢、調(diào)賬查詢、余額查詢、歷史費(fèi)用查詢、下載任務(wù)查詢,各種查詢信息通過消息隊列進(jìn)行交換;(2)業(yè)務(wù)受理功能包括充值繳費(fèi)功能、活卡激活功能、自助停復(fù)機(jī)管理,各種受理類操作通過消息隊列進(jìn)行處理;(3)策略控制功能包括用戶狀態(tài)查詢、預(yù)警監(jiān)控查詢、號碼清單查詢、卡信息查詢、業(yè)務(wù)統(tǒng)計查詢,各種策略控制信息通過消息隊列進(jìn)行控制;(4)增值服務(wù)功能包括成員管理、充值管理、使用量查詢管理,增值服務(wù)信息通過消息隊列進(jìn)行傳遞;(5)權(quán)限管理功能包括二級用戶管理和二級用戶權(quán)限配置管理;(6)API開放功能指將各個功能模塊的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)數(shù)據(jù)格式處理并提供給用戶使用。

      圖2所示的是本發(fā)明物聯(lián)網(wǎng)自管理平臺邏輯架構(gòu),業(yè)務(wù)運(yùn)營支撐層屬于自管理平臺核心位置,以一種開放性的架構(gòu),整合了電信運(yùn)營商的智能管道能力、成熟的運(yùn)營管理經(jīng)驗和能力,采用分層結(jié)構(gòu),整個業(yè)務(wù)運(yùn)營支撐層包括以下幾個模塊:有五個最主要的核心模塊,從底至上依次為通信層接入模塊、消息隊列管理模塊、系統(tǒng)服務(wù)模塊、業(yè)務(wù)解析模塊、用戶應(yīng)用模塊。各個模塊的物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)來源于物聯(lián)網(wǎng)數(shù)據(jù)中心,圖3所示是整個平臺的物聯(lián)網(wǎng)數(shù)據(jù)中心結(jié)構(gòu)圖,包括物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)處理中心、信息檢索數(shù)據(jù)倉庫、策略控制數(shù)據(jù)倉庫、用戶信息倉庫、計費(fèi)處理數(shù)據(jù)倉庫、權(quán)限認(rèn)證數(shù)據(jù)倉庫、CRM客戶關(guān)系管理倉庫。其中,物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)處理中心負(fù)責(zé)集約采集各模塊數(shù)據(jù)倉庫的信息數(shù)據(jù),并對整個平臺的數(shù)據(jù)進(jìn)行邏輯控制。

      通信層接入模塊的功能:從物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)中心獲取物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù),從而為整個平臺提供可靠的數(shù)據(jù)源。

      消息隊列管理模塊的功能:作為一個開放式的物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐平臺,如何管理大量用戶同一時刻的業(yè)務(wù)請求是至關(guān)重要的,因此需要引入消息隊列管理機(jī)制。

      業(yè)務(wù)解析模塊:主要有兩個方面的功能,一是對用戶的請求進(jìn)行解析得出用戶請求的類型及參數(shù),二是根據(jù)用戶的業(yè)務(wù)請求去選擇具體的業(yè)務(wù),如用戶選擇了充值繳費(fèi)這個業(yè)務(wù),則平臺會給用戶分配充值繳費(fèi)這個業(yè)務(wù)的入口權(quán)限。

      系統(tǒng)服務(wù)模塊:主要包括了用戶信息管理服務(wù),增值業(yè)務(wù)管理服務(wù),業(yè)務(wù)受理服務(wù)、策略控制服務(wù)、數(shù)據(jù)庫交互功能等。

      用戶應(yīng)用模塊:主要針對平臺物聯(lián)網(wǎng)用戶,提供服務(wù)運(yùn)營開發(fā)接口。

      本發(fā)明設(shè)計的物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐層主要包括通信層接入模塊、消息隊列管理模塊、系統(tǒng)服務(wù)模塊、業(yè)務(wù)解析模塊、用戶應(yīng)用模塊,其中消息隊列管理模塊與各個模塊進(jìn)行物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)的傳遞與交換,是業(yè)務(wù)運(yùn)營支撐層的核心功能模塊。

      針對運(yùn)營商各種業(yè)務(wù)系統(tǒng)之間存在異構(gòu)數(shù)據(jù)的問題,本發(fā)明將介紹一種物聯(lián)網(wǎng)運(yùn)營支撐層的設(shè)計技術(shù),描述了消息隊列管理管理模塊與業(yè)務(wù)解析模塊、系統(tǒng)服務(wù)模塊的數(shù)據(jù)交互流程與實(shí)現(xiàn)方法,同時闡述了通信層模塊業(yè)務(wù)運(yùn)行流程。

      一、物聯(lián)網(wǎng)自管理平臺邏輯架構(gòu)設(shè)計

      如圖2所示為物聯(lián)網(wǎng)自管理平臺邏輯架構(gòu),自管理平臺是按照面向服務(wù)的設(shè)計思想來進(jìn)行架構(gòu)設(shè)計的,目前物聯(lián)網(wǎng)行業(yè)數(shù)據(jù)來源復(fù)雜、非結(jié)構(gòu)性特點(diǎn)突出,故而需要采用業(yè)務(wù)使能的形式進(jìn)行開發(fā)與運(yùn)行。此外,為了達(dá)到跨平臺、高并發(fā)、高性能的要求,我們采用Java軟件進(jìn)行程序開發(fā)。

      本發(fā)明的各層主要功能包括如下:

      (1)平臺的接入用戶,主要分為兩類,即業(yè)務(wù)開發(fā)人員與業(yè)務(wù)接入用戶。業(yè)務(wù)開發(fā)人員工作于平臺的服務(wù)器端,負(fù)責(zé)開發(fā)各類物聯(lián)網(wǎng)業(yè)務(wù),是平臺業(yè)務(wù)的提供者;業(yè)務(wù)接入用戶指平臺的客戶端用戶,是平臺業(yè)務(wù)的直接使用者。

      (2)業(yè)務(wù)運(yùn)營支撐層主要有五個最主要的核心模塊,分別是通信層接入模塊、消息隊列管理模塊、系統(tǒng)服務(wù)模塊、業(yè)務(wù)解析模塊、用戶應(yīng)用模塊。圖4所示的框圖中描述了業(yè)務(wù)運(yùn)營支撐層的主要功能模塊。

      (3)物聯(lián)網(wǎng)客戶自管理平臺通過物聯(lián)網(wǎng)平臺數(shù)據(jù)處理中心獲取數(shù)據(jù),并經(jīng)由數(shù)據(jù)交互模塊存入數(shù)據(jù)庫,由此完成數(shù)據(jù)的交互對接工作。圖3所示為自管理平臺數(shù)據(jù)交互圖,其中,物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)處理中心負(fù)責(zé)集約采集各模塊數(shù)據(jù)倉庫的信息數(shù)據(jù),并對整個平臺的數(shù)據(jù)進(jìn)行邏輯控制。

      (4)平臺用戶可通過各類終端設(shè)備,包括PC端、移動端、Web端等方式接入物聯(lián)網(wǎng)客戶自管理平臺服務(wù)器。

      二、業(yè)務(wù)運(yùn)營支撐層架構(gòu)設(shè)計主要包括如下:

      業(yè)務(wù)運(yùn)營支撐層是整個平臺的核心功能構(gòu)件,負(fù)責(zé)運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)的傳輸及面向用戶提供服務(wù)能力,是平臺數(shù)據(jù)處理的中間橋梁與紐帶。

      如圖4所示為業(yè)務(wù)運(yùn)營支撐層的架構(gòu),本發(fā)明首先采用描述了模塊層次結(jié)構(gòu),提出一種通用的業(yè)務(wù)支撐框架,具體包括通信層接入模塊、消息隊列管理模塊、系統(tǒng)服務(wù)模塊、業(yè)務(wù)解析模塊、用戶應(yīng)用模塊,在此基礎(chǔ)上,設(shè)計了消息隊列的業(yè)務(wù)數(shù)據(jù)交互過程,并描述了通信層業(yè)務(wù)數(shù)據(jù)請求模型。

      本發(fā)明的業(yè)務(wù)運(yùn)營支撐層主要包括如下:

      (1)通信層接入模塊。該模塊從物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)中心獲取物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù),從而為整個平臺提供可靠的數(shù)據(jù)源。

      (2)消息隊列管理模塊。作為一個開放式的物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐平臺,如何管理大量用戶同一時刻的業(yè)務(wù)請求是至關(guān)重要的,因此消息隊列管理模塊是業(yè)務(wù)支撐層的核心模塊。

      (3)業(yè)務(wù)解析模塊。主要有兩個方面的功能,一是對用戶的請求進(jìn)行解析得出用戶請求的類型及參數(shù),二是根據(jù)用戶的業(yè)務(wù)請求去選擇具體的業(yè)務(wù),如用戶選擇了充值繳費(fèi)這個業(yè)務(wù),則平臺會給用戶分配充值繳費(fèi)這個業(yè)務(wù)的入口權(quán)限。

      (4)系統(tǒng)服務(wù)模塊。該模塊主要包括以下服務(wù),用戶信息管理服務(wù),增值業(yè)務(wù)管理服務(wù),業(yè)務(wù)受理服務(wù)、策略控制服務(wù),這些都是運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)的基礎(chǔ)服務(wù)。

      (5)用戶應(yīng)用模塊。該模塊主要針對平臺物聯(lián)網(wǎng)用戶提供了服務(wù)運(yùn)營開發(fā)接口。

      本發(fā)明的消息隊列管理模塊設(shè)計主要包括如下:

      如圖4所示,本發(fā)明的消息隊列管理模塊是整個業(yè)務(wù)運(yùn)營支撐層的核心部分,它位于通信層接口模塊與系統(tǒng)服務(wù)模塊之間,在行業(yè)現(xiàn)有的傳統(tǒng)單條隊列的基礎(chǔ)上,提出了多級多用戶的消息隊列管理機(jī)制,作為一個開放式物聯(lián)網(wǎng)業(yè)務(wù)運(yùn)營支撐平臺,如何管理大量用戶同一時刻的業(yè)務(wù)請求是至關(guān)重要的。

      圖5所示為消息隊列數(shù)據(jù)交互結(jié)構(gòu)圖,消息隊列模塊主要包括了兩大類:接受消息隊列和發(fā)送消息隊列,其中接收消息隊列包括三個子隊列,發(fā)送消息隊列包括三個。每一個隊列有不同的優(yōu)先級,本發(fā)明設(shè)計了一種通過隊列調(diào)度的算法,從而實(shí)現(xiàn)了物聯(lián)網(wǎng)用戶請求的優(yōu)先級的管理。

      本發(fā)明的消息隊列業(yè)務(wù)數(shù)據(jù)調(diào)度流程包括主要如下:

      步驟1:物聯(lián)網(wǎng)自管理平臺用戶請求經(jīng)過HTTP協(xié)議編碼,通過Socket套接字傳送到服務(wù)器端;

      步驟2:到達(dá)服務(wù)器端的業(yè)務(wù)消息經(jīng)過HTTP解碼后封裝為Message消息對象,并根據(jù)操作類型的優(yōu)先級存入相應(yīng)的接收消息隊列中,接收隊列包括三個優(yōu)先級;

      步驟3:通過對隊列的調(diào)度控制,獲取消息隊列模塊中的Message消息對象,進(jìn)入物聯(lián)網(wǎng)業(yè)務(wù)解析模塊并進(jìn)行解析。根據(jù)物聯(lián)網(wǎng)業(yè)務(wù)類型選擇相應(yīng)的下部操作。如果業(yè)務(wù)請求類型為登錄執(zhí)行步驟4;如果業(yè)務(wù)請求類型為注冊執(zhí)行步驟5;如果業(yè)務(wù)請求類型為業(yè)務(wù)查詢執(zhí)行步驟6;如果業(yè)務(wù)請求類型為修改執(zhí)行步驟7;如果業(yè)務(wù)請求類型為業(yè)務(wù)定制受理,執(zhí)行步驟8;

      步驟4:用戶請求類型為登錄操作時時,消息隊列管理模塊獲得用戶名密碼,并查詢數(shù)據(jù)庫中用戶信息表,若果沒有用戶名或者密碼不對,服務(wù)器拒絕用戶登錄,返回到登陸界面。如果用戶名密碼匹配,查詢用戶物聯(lián)網(wǎng)訂購業(yè)務(wù)和用戶權(quán)限,根據(jù)相應(yīng)權(quán)限將結(jié)果返回到Result消息對象,執(zhí)行步驟9;

      步驟5:用戶請求類型為注冊操作時時,消息隊列管理模塊獲得用戶名和密碼,若否存在用戶已存在則拒絕注冊,若用戶不存在,在將相應(yīng)的用戶信息插入用戶信息表中返回success成功接收消息,并將消息封裝為Result消息對象,執(zhí)行步驟9;

      步驟6:用戶請求為物聯(lián)網(wǎng)業(yè)務(wù)查詢操作時,消息隊列管理模塊獲得查詢條件,如果是套餐使用量查詢,則根據(jù)相應(yīng)的條件查詢物聯(lián)網(wǎng)數(shù)據(jù)中心庫中的相應(yīng)記錄,并將結(jié)果封裝為Result消息對象,執(zhí)行步驟9;

      步驟7:用戶請求為業(yè)務(wù)修改操作時,消息隊列管理模塊獲得修改的業(yè)務(wù)屬性值,如活卡激活操作業(yè)務(wù)變更,在物聯(lián)網(wǎng)數(shù)據(jù)中心庫中進(jìn)行修改。返回結(jié)果success成功接收消息,封裝為Result消息對象。執(zhí)行步驟9;

      步驟8:用戶請求為業(yè)務(wù)定制時,消息隊列管理模塊獲得修改的業(yè)務(wù)定制類型,如果物聯(lián)網(wǎng)數(shù)據(jù)中心存在相關(guān)的業(yè)務(wù)類型,則服務(wù)器返回success成功接收消息,反之,則返回錯誤。執(zhí)行步驟9;

      步驟9:用戶請求為消息確認(rèn)時,消息隊列管理模塊獲得相應(yīng)應(yīng)答請求,在物聯(lián)網(wǎng)數(shù)據(jù)中心中進(jìn)行修改。并返回結(jié)果最終竣工消息。執(zhí)行步驟9。

      本發(fā)明同時設(shè)計了消息隊列的實(shí)現(xiàn)機(jī)制,包括線程池機(jī)制、數(shù)據(jù)持久化機(jī)制和消息隊列管理調(diào)度機(jī)制。主要解決的問題包括:多線程資源共享問題,消息隊列的調(diào)度問題以及數(shù)據(jù)庫訪問機(jī)制的優(yōu)化。如圖1所示,業(yè)務(wù)支撐層業(yè)務(wù)數(shù)據(jù)交互主要包括了信息查詢交互、業(yè)務(wù)受理交互、策略控制交互、增值服務(wù)交互、權(quán)限管理交互、API開放交互,數(shù)據(jù)交互信息均是通過消息隊列進(jìn)行管理。

      (1)線程池機(jī)制設(shè)計

      線程池主要用來管理各種消息請求,本文設(shè)計了一種基于中斷任務(wù)控制的線程池管理機(jī)制,具體業(yè)務(wù)偽代碼設(shè)計如下:

      (2)數(shù)據(jù)持久化機(jī)制設(shè)計

      訪問數(shù)據(jù)庫的方式有很多,JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純Java API編寫數(shù)據(jù)庫應(yīng)用程序。但是JDBC存在的缺陷是每次訪問數(shù)據(jù)庫都需要建立和數(shù)據(jù)庫的的鏈接,這個鏈接的過程浪費(fèi)了大量的時間。

      本設(shè)計在考慮數(shù)據(jù)庫交互的優(yōu)化時,首先想到了數(shù)據(jù)庫的連接池機(jī)制,數(shù)據(jù)庫的連接池仍然采用JDBC機(jī)制,但是他不需要每次對去連接數(shù)據(jù)庫,節(jié)省了大量的時間。其后經(jīng)過大量的調(diào)查,發(fā)現(xiàn)了Hibernate機(jī)制,它包含了數(shù)據(jù)庫的連接池機(jī)制,而且還能實(shí)現(xiàn)了數(shù)據(jù)的持久化,簡化了數(shù)據(jù)的操作過程,并提高了系統(tǒng)的可靠性,具體過程如下:

      步驟1:在工程中加入Hibernate功能,配置相應(yīng)的配置文件,數(shù)據(jù)庫連接池根據(jù)數(shù)據(jù)庫服務(wù)器配好URL,JDBC驅(qū)動等。

      步驟2:數(shù)據(jù)庫中使用到的表包括用戶信息表,業(yè)務(wù)庫,權(quán)限管理表等進(jìn)行映射處理。生成對應(yīng)的關(guān)聯(lián)文件以及POJO實(shí)體類。

      步驟3:將數(shù)據(jù)庫的各種操作封裝在HibernateDao類中。

      (3)消息隊列管理調(diào)度機(jī)制設(shè)計

      消息隊列管理調(diào)度算法主要是實(shí)現(xiàn)消息隊列的調(diào)度,它是一種特殊的隊列機(jī)制,阻塞仍然采用FIFO(即:先進(jìn)先出)原則進(jìn)行存取數(shù)據(jù),可以實(shí)現(xiàn)對線程共享資源的管理,提高運(yùn)營商物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)高效安全的傳輸。

      消息隊列中我們事先封裝好相應(yīng)的消息對象,我們將用戶的物聯(lián)網(wǎng)業(yè)務(wù)請求封裝成Message消息對象,并將處理結(jié)果封裝為了Result消息對象,具體業(yè)務(wù)偽代碼設(shè)計如下:

      本發(fā)明的通信層接入模塊設(shè)計主要包括如下:

      如圖6所示為通信層模塊結(jié)構(gòu)圖,該模塊從物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)中心獲取物聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù),從而為整個平臺提供可靠的數(shù)據(jù)源,并將數(shù)據(jù)傳輸至消息隊列管理模塊。

      本發(fā)明的通信層接入模塊業(yè)務(wù)內(nèi)部通信過程主要包括如下:

      步驟1:物聯(lián)網(wǎng)自管理平臺數(shù)據(jù)中心將業(yè)務(wù)數(shù)據(jù)進(jìn)行ASN.1編碼;

      步驟2:將ASN.1編碼后的消息體通過Socket套接字傳送到消息隊列管理模塊;

      步驟3:消息隊列管理模塊將收到的物聯(lián)網(wǎng)業(yè)務(wù)消息進(jìn)行解碼,然后放在一個消息發(fā)送隊列中,交給業(yè)務(wù)運(yùn)營支撐層去處理;

      步驟4:業(yè)務(wù)運(yùn)營支撐層從消息隊列中取出處理后的消息;

      步驟5:通過Socket套接字將接收的消息回傳給用戶;

      本發(fā)明的通信層接入模塊業(yè)務(wù)運(yùn)行流程設(shè)計如圖7所示,為了滿足雙工通信的要求,即服務(wù)器和客戶端可以同時收發(fā)數(shù)據(jù),需建立發(fā)送,接收兩個線程,如圖8所示,通信層接口模塊與消息隊列管理模塊有兩個接口:receiveQueue(即:接收消息隊列)和sendQueue(即:發(fā)送消息隊列),接口數(shù)據(jù)類型為Message消息對象和ResaultMessage結(jié)果對象類,具體流程主要包括如下:

      步驟1:在建立連接后該線程取出Socket連接;

      步驟2:接收消息并通過接收消息隊列傳送至消息隊列管理模塊,同時建立發(fā)送線程;

      步驟3:監(jiān)聽發(fā)送消息隊列sendQuene,取出結(jié)果并發(fā)送,與此同時,接收線程處于阻塞狀態(tài);

      步驟4:如果物聯(lián)網(wǎng)平臺用戶請求斷開連接,則關(guān)閉Socket連接;

      步驟5:為防止連接數(shù)過多,將超過池中線程數(shù)的連接放入緩沖池,等到出現(xiàn)空閑線程再取出;

      步驟6:關(guān)閉Socket套接字連接,并記錄接收消息隊列receiveQueue中的消息對象。

      本發(fā)明的通信層接入模塊與消息隊列管理模塊交互過程設(shè)計如下:

      通信層接入模塊和消息隊列管理模塊以消息隊列作為數(shù)據(jù)傳遞接口,消息隊列采用的是BlockingQueue機(jī)制,它是一種特殊的隊列機(jī)制,BlockingQueue仍然采用FIFO原則進(jìn)行存取數(shù)據(jù),但是他加入了特殊的機(jī)制實(shí)現(xiàn)了對線程共享資源的管理,可以高效安全傳輸數(shù)據(jù)。消息隊列中元素是封裝好的業(yè)務(wù)對象。我們將用戶的業(yè)務(wù)請求封裝為了Message對象,并將服務(wù)器處理結(jié)果封裝為了ResultMessage。消息隊列、Message以及ResultMessage的定義如下:

      為了體現(xiàn)業(yè)務(wù)的優(yōu)先級我們分別定義了三個接受隊列和三個發(fā)送隊列,接受隊列分別為:receiveQueue1,receiveQueue2,receiveQueue3,其中三個隊列的優(yōu)先級依次遞增。發(fā)送隊列分別為:sendQueue1,sendQueue2,sendQueue3優(yōu)先級依次遞增,隊列偽代碼如下:

      Message是對用戶請求的封裝主要包括:業(yè)務(wù)類型、地點(diǎn)、時間、請求對象、用戶名密碼、socket標(biāo)記、登錄時間、操作狀態(tài)等,詳細(xì)可見如下代碼。

      if(this.operation.equals("log")||this.operation.equals("register")){//用戶業(yè)務(wù)請求判斷,此處為注冊或登錄操作

      ResultMessgae是對服務(wù)器對用戶請求響應(yīng)的封裝,主要包括:主要包括了結(jié)果和socket標(biāo)記兩個屬性。結(jié)果是用戶請求的處理結(jié)果,包括兩大類,一種是status表示的是狀態(tài)值,一種是result是結(jié)果集。socket標(biāo)記是保證服務(wù)器的響應(yīng)能夠正確的交付給相應(yīng)用戶。代碼如下

      。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1