国产精品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è)測(cè)控網(wǎng)絡(luò)中基于xmpp協(xié)議的發(fā)布/訂閱服務(wù)方法

      文檔序號(hào):10597052閱讀:274來(lái)源:國(guó)知局
      一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于xmpp協(xié)議的發(fā)布/訂閱服務(wù)方法
      【專利摘要】本發(fā)明涉及一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,涉及工業(yè)測(cè)控網(wǎng)絡(luò)技術(shù)領(lǐng)域。本方法在XMPP系列協(xié)議標(biāo)準(zhǔn)的基礎(chǔ)上,根據(jù)工業(yè)測(cè)控網(wǎng)絡(luò)自身特點(diǎn)和應(yīng)用需求,設(shè)計(jì)了基于XMPP協(xié)議的發(fā)布/訂閱方法。該方法主要在XMPP服務(wù)器中添加了發(fā)布/訂閱關(guān)系維護(hù)和管理功能,支持基于事件的發(fā)布和周期性數(shù)據(jù)的發(fā)布;此外,針對(duì)工業(yè)測(cè)控網(wǎng)絡(luò)的節(jié)能需求,在發(fā)布/訂閱方法中加入了對(duì)休眠傳感器節(jié)點(diǎn)的支持機(jī)制。該方法不僅可以實(shí)現(xiàn)工業(yè)測(cè)控網(wǎng)絡(luò)中現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端之間的發(fā)布/訂閱,也支持工業(yè)現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端與互聯(lián)網(wǎng)客戶端之間的發(fā)布/訂閱。本發(fā)明在工業(yè)測(cè)控網(wǎng)絡(luò)中實(shí)現(xiàn)的基于XMPP的發(fā)布/訂閱服務(wù)方法,能夠降低發(fā)布者實(shí)現(xiàn)發(fā)布功能的復(fù)雜度,節(jié)省工業(yè)測(cè)控網(wǎng)絡(luò)的能量開(kāi)銷。
      【專利說(shuō)明】
      一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明屬于工業(yè)測(cè)控網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā) 布/訂閱服務(wù)方法。
      【背景技術(shù)】
      [0002] 工業(yè)測(cè)控網(wǎng)絡(luò)包括了從儀表電氣、現(xiàn)場(chǎng)總線、工業(yè)以太網(wǎng)到無(wú)線網(wǎng)絡(luò)等各種網(wǎng)絡(luò) 結(jié)構(gòu),而有線與無(wú)線網(wǎng)絡(luò)技術(shù)集成實(shí)現(xiàn)異構(gòu)的工業(yè)測(cè)控網(wǎng)絡(luò)是新的發(fā)展趨勢(shì),這推動(dòng)了物 聯(lián)網(wǎng)技術(shù)在工業(yè)現(xiàn)場(chǎng)測(cè)控領(lǐng)域的發(fā)展。并且發(fā)布/訂閱服務(wù)模式是工業(yè)測(cè)控網(wǎng)絡(luò)數(shù)據(jù)通信 的一種重要方法。然而工業(yè)測(cè)控領(lǐng)域的通信協(xié)議眾多,但各協(xié)議之間存在互不兼容等問(wèn)題。 XMPP協(xié)議是一種基于IP技術(shù)和XML語(yǔ)言的即時(shí)信息傳輸規(guī)范,并且在其協(xié)議中增加了對(duì)發(fā) 布/訂閱的支持。作為一種具有良好的實(shí)時(shí)性和擴(kuò)展性的應(yīng)用層協(xié)議,XMPP協(xié)議已經(jīng)在互聯(lián) 網(wǎng)中得到了廣泛的部署和應(yīng)用,例如,聊天、娛樂(lè)、電子郵件等需要實(shí)時(shí)消息推送的應(yīng)用。在 工業(yè)測(cè)控網(wǎng)絡(luò)中引入XMPP協(xié)議,不僅可以解決異構(gòu)網(wǎng)絡(luò)之間的互聯(lián)互通問(wèn)題,還能實(shí)現(xiàn)即 時(shí)通訊。
      [0003] 當(dāng)前互聯(lián)網(wǎng)中XMPP協(xié)議的應(yīng)用主要注重于數(shù)據(jù)的雙向交互,而工業(yè)測(cè)控網(wǎng)絡(luò)中 XMPP協(xié)議的應(yīng)用主要注重于數(shù)據(jù)的匯集;發(fā)布/訂閱機(jī)制在互聯(lián)網(wǎng)中主要是基于事件的發(fā) 布,而在工業(yè)網(wǎng)測(cè)控網(wǎng)絡(luò)中不僅是基于事件的發(fā)布,還有發(fā)布周期性數(shù)據(jù)的需求。然而,當(dāng) 前XMPP協(xié)議中發(fā)布/訂閱機(jī)制主要是基于事件的發(fā)布,不能對(duì)周期性數(shù)據(jù)的發(fā)布提供有力 支持,也不能對(duì)具備休眠節(jié)點(diǎn)提供支持。因此,很有必要對(duì)現(xiàn)有的XMPP協(xié)議中的機(jī)制進(jìn)行優(yōu) 化和改進(jìn)。

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

      [0004] 有鑒于此,本發(fā)明的目的在于提供一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂 閱服務(wù)方法,該方法結(jié)合工業(yè)測(cè)控網(wǎng)絡(luò)的自身特點(diǎn)和應(yīng)用,發(fā)布者和訂閱者之間的訂閱關(guān) 系不再由發(fā)布者管理,改進(jìn)為服務(wù)器管理,同時(shí)能支持具備休眠功能節(jié)點(diǎn)的發(fā)布/訂閱服 務(wù);該方法實(shí)現(xiàn)了有效的發(fā)布/訂閱管理,能夠降低發(fā)布者實(shí)現(xiàn)發(fā)布功能的復(fù)雜度,節(jié)省工 業(yè)測(cè)控網(wǎng)絡(luò)的能量開(kāi)銷。
      [0005] 為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
      [0006] -種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,該方法不僅支持工業(yè) 測(cè)控現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端之間的發(fā)布/訂閱,也支持互聯(lián)網(wǎng)客戶端通過(guò)互聯(lián)網(wǎng)網(wǎng)絡(luò)連接服務(wù)器 實(shí)現(xiàn)互聯(lián)網(wǎng)客戶端與現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端之間的發(fā)布/訂閱;該方法中的通信實(shí)體包括訂閱者、 發(fā)布者和服務(wù)器;在該方法中,發(fā)布者和訂閱者之間的訂閱關(guān)系由服務(wù)器管理,但訂閱請(qǐng)求 的鑒權(quán)和審核依然由發(fā)布者驗(yàn)證;
      [0007] 該方法具體包括以下步驟:
      [0008] S1:發(fā)布者向服務(wù)器出席自己當(dāng)前狀態(tài)信息,服務(wù)器記錄該發(fā)布者的狀態(tài)信息;
      [0009] S2:訂閱者向服務(wù)器發(fā)送訂閱請(qǐng)求,請(qǐng)求發(fā)布者提供消息服務(wù);
      [0010] S3:服務(wù)器收到訂閱者的訂閱請(qǐng)求后,判斷發(fā)布者當(dāng)前狀態(tài),若發(fā)布者休眠,則告 知該訂閱者,請(qǐng)下次重試;若發(fā)布者在線,則向發(fā)布者發(fā)送訂閱請(qǐng)求;
      [0011] S4:發(fā)布者驗(yàn)證訂閱請(qǐng)求,若驗(yàn)證通過(guò),則發(fā)送訂閱響應(yīng)給服務(wù)器;
      [0012] S5:服務(wù)器收到訂閱響應(yīng)后,添加該訂閱者至訂閱列表,并轉(zhuǎn)發(fā)訂閱響應(yīng)給訂閱 者;
      [0013] S6:訂閱成功后,發(fā)布者發(fā)布消息給服務(wù)器,服務(wù)器查詢管理的訂閱列表,并向列 表中所有已訂閱的訂閱者發(fā)布消息;
      [0014] S7:若訂閱者需要取消該消息服務(wù),則向服務(wù)器發(fā)送取消訂閱的請(qǐng)求;
      [0015] S8:服務(wù)器收到訂閱者取消訂閱的請(qǐng)求,則查詢訂閱列表并刪除該訂閱者,并判斷 發(fā)布者當(dāng)前狀態(tài),若發(fā)布者已休眠,等待其喚醒后再發(fā)送取消訂閱請(qǐng)求,并進(jìn)行下一步;若 發(fā)布者未休眠,則發(fā)送取消訂閱請(qǐng)求給發(fā)布者;
      [0016] S9:發(fā)布者驗(yàn)證取消訂閱請(qǐng)求,驗(yàn)證通過(guò),則發(fā)送響應(yīng)給服務(wù)器,并不再發(fā)布該消 息。
      [0017] 進(jìn)一步,在本方法中,發(fā)布者被訂閱但休眠時(shí),會(huì)向服務(wù)器出席休眠狀態(tài)并告知休 眠時(shí)間和數(shù)據(jù)有效時(shí)間,此時(shí)取消訂閱請(qǐng)求的鑒權(quán)和審核由服務(wù)器代為管理,并在數(shù)據(jù)有 效期內(nèi)由服務(wù)器代為發(fā)布數(shù)據(jù)。
      [0018] 進(jìn)一步,在本方法中,當(dāng)存在多個(gè)訂閱者訂閱相同的內(nèi)容時(shí),發(fā)布者僅需向服務(wù)器 發(fā)布一次數(shù)據(jù),由服務(wù)器根據(jù)發(fā)布/訂閱關(guān)系將數(shù)據(jù)轉(zhuǎn)發(fā)給多個(gè)訂閱者。
      [0019] 進(jìn)一步,該方法可讓發(fā)布者不僅支持基于事件的發(fā)布,同時(shí)還支持周期性數(shù)據(jù)的 發(fā)布;所述事件類型包括但不限于以下內(nèi)容:超出設(shè)定的數(shù)據(jù)上限、低于設(shè)定的數(shù)據(jù)下限、 連續(xù)兩次采集的數(shù)據(jù)變化量超出了預(yù)設(shè)范圍。
      [0020] 進(jìn)一步,該發(fā)布/訂閱服務(wù)方法是基于對(duì)象設(shè)計(jì)的,對(duì)于發(fā)布者而言內(nèi)部會(huì)存在多 種發(fā)布對(duì)象,對(duì)象會(huì)有多種屬性,訂閱關(guān)系是針對(duì)某個(gè)發(fā)布對(duì)象中的某個(gè)屬性發(fā)起的;所述 設(shè)計(jì)對(duì)象類型包括但不限于以下3種類型:節(jié)點(diǎn)數(shù)據(jù)服務(wù)對(duì)象、節(jié)點(diǎn)休眠管理對(duì)象和服務(wù)器 訂閱關(guān)系管理對(duì)象。
      [0021] 本發(fā)明的有益效果在于:
      [0022] 1)能夠降低發(fā)布者的復(fù)雜度,適用于資源受限的節(jié)點(diǎn)。對(duì)于發(fā)布者而言,不需要維 護(hù)復(fù)雜的發(fā)布/訂閱關(guān)系,降低了發(fā)布者的復(fù)雜性,從而在實(shí)現(xiàn)過(guò)程中降低了發(fā)布者對(duì)硬件 資源的要求,適用于資源受限的傳感器節(jié)點(diǎn),可實(shí)現(xiàn)輕量化。
      [0023] 2)能夠降低發(fā)布者發(fā)送的數(shù)據(jù)量。若發(fā)布/訂閱關(guān)系不在服務(wù)器中維護(hù),發(fā)布者向 多個(gè)訂閱者發(fā)布相同的內(nèi)容時(shí),發(fā)布者需要針對(duì)每個(gè)訂閱者發(fā)送一次數(shù)據(jù)。改進(jìn)后的發(fā)布/ 訂閱方法發(fā)布/訂閱關(guān)系由服務(wù)器管理和維護(hù)。對(duì)于發(fā)布者而言,如果存在多個(gè)訂閱者訂閱 相同的數(shù)據(jù),發(fā)布者僅需向XMPP服務(wù)器發(fā)送一次發(fā)布數(shù)據(jù),在XMPP服務(wù)器收到發(fā)布數(shù)據(jù)后, 服務(wù)器根據(jù)的發(fā)布/訂閱關(guān)系將數(shù)據(jù)轉(zhuǎn)發(fā)給不同的訂閱者,從而降低了傳感網(wǎng)內(nèi)的數(shù)據(jù)發(fā) 送量,也能夠在一定程度上為傳感器節(jié)點(diǎn)節(jié)省能量。
      [0024] 3)能夠支持具備休眠功能的傳感器節(jié)點(diǎn)。如果發(fā)布/訂閱關(guān)系由發(fā)布者自己維護(hù), 當(dāng)發(fā)布者處于休眠狀態(tài)中,訂閱者在訂閱或取消訂閱關(guān)系時(shí)都將失敗且有無(wú)可預(yù)期的情況 發(fā)生。若采用該發(fā)布/訂閱方法,由于訂閱者和者之間的關(guān)系由XMPP服務(wù)器維護(hù),在發(fā)布者 處于休眠狀態(tài)下時(shí),服務(wù)器可代發(fā)布者建立或解除訂閱關(guān)系,等下次節(jié)點(diǎn)喚醒后由服務(wù)器 通知發(fā)布者訂閱關(guān)系的改變情況;并且服務(wù)器在節(jié)點(diǎn)休眠時(shí)告知休眠時(shí)間和消息有效時(shí) 間,可以在消息有效時(shí)間內(nèi)代為發(fā)布消息。
      【附圖說(shuō)明】
      [0025] 為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行 說(shuō)明:
      [0026] 圖1為本發(fā)明的XMPP發(fā)布/訂閱服務(wù)方法流程圖;
      [0027] 圖2為XMPP發(fā)布/訂閱服務(wù)方法應(yīng)用場(chǎng)景圖;
      [0028] 圖3為訂閱者向正常工作發(fā)布者發(fā)起訂閱/取消訂閱流程圖;
      [0029] 圖4為訂閱者向休眠發(fā)布者發(fā)起訂閱流程圖;
      [0030] 圖5為訂閱者向休眠發(fā)布者取消訂閱流程圖;
      [0031 ]圖6為發(fā)布者向多個(gè)訂閱者發(fā)布消息流程圖。
      【具體實(shí)施方式】
      [0032]下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
      [0033]在基于XMPP協(xié)議的工業(yè)測(cè)控網(wǎng)絡(luò)中,發(fā)布者與訂閱者之間訂閱關(guān)系的管理和維護(hù) 由XMPP服務(wù)器統(tǒng)一承擔(dān),而不僅僅作為數(shù)據(jù)轉(zhuǎn)發(fā)的通道。圖1為本發(fā)明的XMPP發(fā)布/訂閱服 務(wù)方法流程圖,本發(fā)明提供的方法具體實(shí)現(xiàn)過(guò)程如下:
      [0034] 一、發(fā)布/訂閱流程說(shuō)明
      [0035]圖2為XMPP發(fā)布/訂閱服務(wù)方法應(yīng)用場(chǎng)景圖,XMPP發(fā)布/訂閱服務(wù)方法不僅支持無(wú) 線傳感網(wǎng)現(xiàn)場(chǎng)網(wǎng)絡(luò)戶端之間的發(fā)布/訂閱,也支持互聯(lián)網(wǎng)客戶端通過(guò)互聯(lián)網(wǎng)網(wǎng)絡(luò)連接服務(wù) 器實(shí)現(xiàn)互聯(lián)網(wǎng)客戶端和現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端之間的發(fā)布/訂閱。其中,實(shí)線箭頭代表發(fā)布/訂閱 路線,虛線代表網(wǎng)絡(luò)連接。
      [0036]圖3是本發(fā)明訂閱者向正常工作發(fā)布者發(fā)起訂閱/取消訂閱流程圖,具體步驟如 下:
      [0037] Setpl:訂閱者發(fā)送訂閱請(qǐng)求到服務(wù)器,服務(wù)器將訂閱請(qǐng)求轉(zhuǎn)發(fā)者發(fā)布者;
      [0038] Setp2:發(fā)布者驗(yàn)證訂訂閱請(qǐng)求,驗(yàn)證通過(guò),發(fā)送訂閱響應(yīng)給服務(wù)器,服務(wù)器轉(zhuǎn)發(fā)至 發(fā)布者;
      [0039] Setp3:發(fā)布者周期發(fā)布信息至服務(wù)器,服務(wù)器根據(jù)訂閱關(guān)系轉(zhuǎn)發(fā)消息到所有訂閱 者;
      [0040] Setp4:訂閱者發(fā)送取消訂閱請(qǐng)求至服務(wù)器,服務(wù)器直接回復(fù)取消訂閱響應(yīng);
      [0041] Setp5:服務(wù)器發(fā)送取消訂閱請(qǐng)求給發(fā)布者,發(fā)布者驗(yàn)證后回復(fù)服務(wù)器取消訂閱響 應(yīng)。
      [0042]圖4是本發(fā)明訂閱者向休眠發(fā)布者發(fā)起訂閱流程圖,具體步驟如下:
      [0043] Stepl:發(fā)布者發(fā)送進(jìn)入休眠消息(攜帶休眠時(shí)長(zhǎng))至服務(wù)器,聲明進(jìn)入休眠狀態(tài)。 [0044] Step2:發(fā)布者向服務(wù)器發(fā)送訂閱請(qǐng)求,請(qǐng)求訂閱處于休眠狀態(tài)下發(fā)布者提供的服 務(wù),服務(wù)器直接向訂閱者回復(fù)訂閱響應(yīng),聲明被訂閱者當(dāng)前處于休眠狀態(tài),同時(shí)指明還將繼 續(xù)處于休眠狀態(tài)的時(shí)長(zhǎng);
      [0045] Step3:發(fā)布者發(fā)送停止休眠消息至服務(wù)器,聲明停止休眠;
      [0046] Step4:訂閱者發(fā)送訂閱請(qǐng)求到服務(wù)器,服務(wù)器將訂閱請(qǐng)求轉(zhuǎn)發(fā)者發(fā)布者;
      [0047] Setp5:發(fā)布者驗(yàn)證訂訂閱請(qǐng)求,驗(yàn)證通過(guò),發(fā)送訂閱響應(yīng)給服務(wù)器,服務(wù)器轉(zhuǎn)發(fā)至 發(fā)布者;
      [0048] Step6:發(fā)布者周期發(fā)布信息至服務(wù)器,服務(wù)器根據(jù)訂閱關(guān)系轉(zhuǎn)發(fā)消息到所有訂閱 者。
      [0049]圖5是本發(fā)明訂閱者向休眠發(fā)布者取消訂閱流程圖,具體步驟如下:
      [0050] Stepl:發(fā)布者發(fā)送進(jìn)入休眠消息(攜帶休眠時(shí)長(zhǎng))至服務(wù)器,聲明進(jìn)入休眠狀態(tài);
      [0051] Setp2:訂閱者發(fā)送取消訂閱請(qǐng)求至服務(wù)器,服務(wù)器直接回復(fù)取消訂閱響應(yīng);
      [0052] Step3:發(fā)布者發(fā)送停止休眠消息至服務(wù)器,聲明停止休眠;
      [0053] Setp4:服務(wù)器發(fā)送取消訂閱請(qǐng)求給發(fā)布者,發(fā)布者驗(yàn)證后回復(fù)服務(wù)器取消訂閱響 應(yīng)。
      [0054]圖6為本發(fā)明發(fā)布者向多個(gè)訂閱者發(fā)布消息流程圖,發(fā)布者周期發(fā)布消息至服務(wù), 服務(wù)器根據(jù)訂閱關(guān)系將消息依次發(fā)送至所有訂閱者。
      [0055] 對(duì)于異常情況處理包含以下:
      [0056] 1.發(fā)布者驗(yàn)證訂閱請(qǐng)求失敗
      [0057]原因包括訂閱者權(quán)限不夠、被訂閱服務(wù)/資源不存在等。
      [0058] 2.訂閱者重復(fù)訂閱
      [0059]重復(fù)訂閱由服務(wù)器來(lái)出來(lái),服務(wù)器每次在轉(zhuǎn)發(fā)訂閱請(qǐng)求時(shí),需先驗(yàn)證訂閱關(guān)系是 否已經(jīng)存在,在訂閱關(guān)系不存在的情況下才發(fā)起轉(zhuǎn)發(fā)。
      [0060] 3.被取消的訂閱關(guān)系不存在 [0061]由服務(wù)器直接處理。
      [0062]二、語(yǔ)法及對(duì)象設(shè)計(jì) [0063] 1.對(duì)象設(shè)計(jì)
      [0064] 1.1節(jié)點(diǎn)數(shù)據(jù)服務(wù)對(duì)象
      [0065] 數(shù)據(jù)服務(wù)對(duì)象對(duì)其他客戶端獲取本地?cái)?shù)據(jù)提供服務(wù),獲取數(shù)據(jù)的方式可為read、 write和pubsub,對(duì)象屬性包擴(kuò)outvalue、unit和act ion等等,具體如表1所示。
      [0066] 表1:節(jié)點(diǎn)數(shù)據(jù)服務(wù)對(duì)象屬性
      [0068] 1.2節(jié)點(diǎn)休眠管理對(duì)象
      [0069] 節(jié)點(diǎn)休眠管理對(duì)象為節(jié)點(diǎn)實(shí)現(xiàn)休眠功能提供支持。
      [0070] 表2:節(jié)點(diǎn)休眠管理對(duì)象屬性
      [0072] 1.3服務(wù)器發(fā)布/訂閱關(guān)系管理對(duì)象
      [0073]服務(wù)器發(fā)布/訂閱關(guān)系管理對(duì)象為管理發(fā)布者和訂閱者之間的發(fā)布/訂閱關(guān)系提 供支持。
      [0074]表3:服務(wù)器發(fā)布/訂閱關(guān)系管理
      [0079] 2、發(fā)布/訂閱XML語(yǔ)法:
      [0080]在XMPP數(shù)據(jù)服務(wù)協(xié)議語(yǔ)法基礎(chǔ)上增加〈item/〉元素對(duì)發(fā)布/訂閱功能提供支持。該 元素具備的屬性為 from,to,ob jectName,ob」6(:1:10,&1:1:冰&1116和七5^6。
      [0081 ] From和to屬性表明訂閱請(qǐng)求/響應(yīng)的發(fā)送方或接收方。A、訂閱者向服務(wù)器發(fā)送的 訂閱請(qǐng)求中item元素不包含from屬性,需包含to屬性表明發(fā)布者的j id; B、服務(wù)器向發(fā)布者 發(fā)送的訂閱請(qǐng)求不包含to屬性,需包含from屬性表明訂閱者的jid;C、發(fā)布者向服務(wù)器發(fā)送 的訂閱響應(yīng)中包含from屬性,需包含to屬性表明訂閱者j i d; D、服務(wù)器向訂閱者發(fā)送的訂閱 響應(yīng)中不包含to屬性,需包含from屬性表明發(fā)布者的jid。
      [0082] objectName和objectName屬性表明數(shù)據(jù)服務(wù)對(duì)象的類名和屬性實(shí)例ID。在item元 素中應(yīng)至少包含其中的一個(gè)屬性。A、只包含objectName屬性表明訂閱者意圖向某一類數(shù)據(jù) 服務(wù)對(duì)象發(fā)起訂閱;B、只包含objectID屬性時(shí)表明訂閱者意圖向末一個(gè)特定的數(shù)據(jù)服務(wù)對(duì) 象發(fā)起訂閱。
      [0083] attrName屬性表明訂閱者要訂閱的屬性名稱。
      [0084] Type屬性表明訂閱者訂閱的方式為周期性訂閱或基于事件的訂閱。
      [0085] 本發(fā)明提供的一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法能夠在滿 足工業(yè)測(cè)控網(wǎng)絡(luò)的要求條件下,使發(fā)布者和訂閱者之間的訂閱關(guān)系由服務(wù)器管理,同時(shí)能 支持具備休眠功能節(jié)點(diǎn)的發(fā)布/訂閱服務(wù),能夠降低發(fā)布者實(shí)現(xiàn)發(fā)布功能的復(fù)雜度,節(jié)省工 業(yè)測(cè)控網(wǎng)絡(luò)的能量開(kāi)銷。
      [0086] 最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通 過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在 形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。
      【主權(quán)項(xiàng)】
      1. 一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,其特征在于: 該方法中的通信實(shí)體包括訂閱者、發(fā)布者和服務(wù)器;該方法不僅支持工業(yè)測(cè)控現(xiàn)場(chǎng)網(wǎng) 絡(luò)客戶端之間的發(fā)布/訂閱,也支持互聯(lián)網(wǎng)客戶端通過(guò)互聯(lián)網(wǎng)網(wǎng)絡(luò)連接服務(wù)器實(shí)現(xiàn)互聯(lián)網(wǎng) 客戶端與現(xiàn)場(chǎng)網(wǎng)絡(luò)客戶端之間的發(fā)布/訂閱;在該方法中,發(fā)布者和訂閱者之間的訂閱關(guān)系 由服務(wù)器管理,但訂閱請(qǐng)求的鑒權(quán)和審核依然由發(fā)布者驗(yàn)證; 該方法具體包括以下步驟: SI:發(fā)布者向服務(wù)器出席自己當(dāng)前狀態(tài)信息,服務(wù)器記錄該發(fā)布者的狀態(tài)信息; S2:訂閱者向服務(wù)器發(fā)送訂閱請(qǐng)求,請(qǐng)求發(fā)布者提供消息服務(wù); S3:服務(wù)器收到訂閱者的訂閱請(qǐng)求后,判斷發(fā)布者當(dāng)前狀態(tài),若發(fā)布者休眠,則告知該 訂閱者,請(qǐng)下次重試;若發(fā)布者在線,則向發(fā)布者發(fā)送訂閱請(qǐng)求; S4:發(fā)布者驗(yàn)證訂閱請(qǐng)求,若驗(yàn)證通過(guò),則發(fā)送訂閱響應(yīng)給服務(wù)器; S5:服務(wù)器收到訂閱響應(yīng)后,添加該訂閱者至訂閱列表,并轉(zhuǎn)發(fā)訂閱響應(yīng)給訂閱者; S6:訂閱成功后,發(fā)布者發(fā)布消息給服務(wù)器,服務(wù)器查詢管理的訂閱列表,并向列表中 所有已訂閱的訂閱者發(fā)布消息; S7:若訂閱者需要取消該消息服務(wù),則向服務(wù)器發(fā)送取消訂閱的請(qǐng)求; S8:服務(wù)器收到訂閱者取消訂閱的請(qǐng)求,則查詢訂閱列表并刪除該訂閱者,并判斷發(fā)布 者當(dāng)前狀態(tài),若發(fā)布者已休眠,等待其喚醒后再發(fā)送取消訂閱請(qǐng)求,并進(jìn)行下一步;若發(fā)布 者未休眠,則發(fā)送取消訂閱請(qǐng)求給發(fā)布者; S9:發(fā)布者驗(yàn)證取消訂閱請(qǐng)求,驗(yàn)證通過(guò),則發(fā)送響應(yīng)給服務(wù)器,并不再發(fā)布該消息。2. 根據(jù)權(quán)利要求1所述的一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,其 特征在于:在本方法中,發(fā)布者被訂閱但休眠時(shí),會(huì)向服務(wù)器出席休眠狀態(tài)并告知休眠時(shí)間 和數(shù)據(jù)有效時(shí)間,此時(shí)取消訂閱請(qǐng)求的鑒權(quán)和審核由服務(wù)器代為管理,并在數(shù)據(jù)有效期內(nèi) 由服務(wù)器代為發(fā)布數(shù)據(jù)。3. 根據(jù)權(quán)利要求1所述的一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,其 特征在于:在本方法中,當(dāng)存在多個(gè)訂閱者訂閱相同的內(nèi)容時(shí),發(fā)布者僅需向服務(wù)器發(fā)布一 次數(shù)據(jù),由服務(wù)器根據(jù)發(fā)布/訂閱關(guān)系將數(shù)據(jù)轉(zhuǎn)發(fā)給多個(gè)訂閱者。4. 根據(jù)權(quán)利要求1所述的一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,其 特征在于:該方法可讓發(fā)布者不僅支持基于事件的發(fā)布,同時(shí)還支持周期性數(shù)據(jù)的發(fā)布;所 述事件類型包括但不限于以下內(nèi)容:超出設(shè)定的數(shù)據(jù)上限、低于設(shè)定的數(shù)據(jù)下限、連續(xù)兩次 采集的數(shù)據(jù)變化量超出了預(yù)設(shè)范圍。5. 根據(jù)權(quán)利要求1所述的一種工業(yè)測(cè)控網(wǎng)絡(luò)中基于XMPP協(xié)議的發(fā)布/訂閱服務(wù)方法,其 特征在于:該發(fā)布/訂閱服務(wù)方法是基于對(duì)象設(shè)計(jì)的,對(duì)于發(fā)布者而言內(nèi)部會(huì)存在多種發(fā)布 對(duì)象,對(duì)象會(huì)有多種屬性,訂閱關(guān)系是針對(duì)某個(gè)發(fā)布對(duì)象中的某個(gè)屬性發(fā)起的;所述設(shè)計(jì)對(duì) 象類型包括但不限于以下3種類型:節(jié)點(diǎn)數(shù)據(jù)服務(wù)對(duì)象、節(jié)點(diǎn)休眠管理對(duì)象和服務(wù)器訂閱關(guān) 系管理對(duì)象。
      【文檔編號(hào)】H04L29/06GK105959165SQ201610559625
      【公開(kāi)日】2016年9月21日
      【申請(qǐng)日】2016年7月15日
      【發(fā)明人】王平, 劉玉強(qiáng), 王恒
      【申請(qǐng)人】重慶郵電大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1