本發(fā)明涉及一種生成通知的方法和裝置以及訂閱通知消息的方法和裝置。
背景技術(shù):
在物聯(lián)網(wǎng)(iot)系統(tǒng)中,現(xiàn)有的訂閱通知機(jī)制是通過(guò)在被訂閱資源下創(chuàng)建<subscription>元素實(shí)現(xiàn)的,被訂閱資源的屬性變化以及直接子資源的變化都可能產(chǎn)生事件通知。但是,現(xiàn)有的訂閱通知機(jī)制只能針對(duì)單個(gè)事件訂閱并產(chǎn)生通知。
因此,需要一種能夠訂閱并產(chǎn)生針對(duì)多個(gè)事件的通知的方法和裝置。
技術(shù)實(shí)現(xiàn)要素:
本公開(kāi)實(shí)施例提供一種生成通知的方法和裝置以及訂閱通知消息的方法和裝置,能夠訂閱并產(chǎn)生針對(duì)多個(gè)事件的通知。
根據(jù)本公開(kāi)的一個(gè)方面,提供一種用于生成通知的方法,該方法包括:接收訂閱請(qǐng)求;根據(jù)訂閱請(qǐng)求創(chuàng)建第一訂閱資源,所述第一訂閱資源包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則;接收根據(jù)所述多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件;確定所述多個(gè)第一事件是否滿足所述第二事件通知規(guī)則;以及當(dāng)所述多個(gè)第一事件滿足所述第二事件通知規(guī)則時(shí)生成通知,所述通知指示第二事件。
在一個(gè)例子中,在接收根據(jù)所述多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件之前,該方法還包括:根據(jù)所述多個(gè)第一事件通知規(guī)則創(chuàng)建至少一個(gè)第二訂閱資源。
在一個(gè)例子中,所述至少一個(gè)第二訂閱資源屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,其中,所述第二事件通知規(guī)則指示所述多個(gè)第一事件之間的關(guān)系。
在一個(gè)例子中,所述關(guān)系包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。
在一個(gè)例子中,所述次序關(guān)系指示所述多個(gè)第一事件的順序發(fā)生或同時(shí)發(fā)生。
在一個(gè)例子中,所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。
在一個(gè)例子中,所述預(yù)先設(shè)置多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)包括以下中的至少一個(gè):預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè);多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是默認(rèn)的;以及檢索多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括資源偏移量,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括目標(biāo)資源的列表。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括時(shí)間窗類型和時(shí)間窗大小。
在一個(gè)例子中,根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析。
在一個(gè)例子中,該方法還包括:根據(jù)多級(jí)事件通知規(guī)則創(chuàng)建三個(gè)或更多級(jí)訂閱資源。
根據(jù)本公開(kāi)的一個(gè)方面,提供一種用于生成通知的裝置,該裝置包括:創(chuàng)建單元,被配置為根據(jù)訂閱請(qǐng)求創(chuàng)建第一訂閱資源,所述第一訂閱資源包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則;接收單元,被配置為接收所述訂閱請(qǐng)求和根據(jù)所述多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件;確定單元,被配置為確定所述多個(gè)第一事件是否滿足所述第二事件通知規(guī)則;以及生成單元,被配置為當(dāng)所述多個(gè)第一事件滿足所述第二事件通知規(guī)則時(shí)生成通知,所述通知指示第二事件。
在一個(gè)例子中,所述創(chuàng)建單元還被配置為:根據(jù)所述多個(gè)第一事件通知規(guī)則創(chuàng)建至少一個(gè)第二訂閱資源。
在一個(gè)例子中,所述至少一個(gè)第二訂閱資源屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,所述第二事件通知規(guī)則指示所述多個(gè)第一事件之間的關(guān)系。
在一個(gè)例子中,所述關(guān)系包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。
在一個(gè)例子中,所述次序關(guān)系指示所述多個(gè)第一事件的順序發(fā)生或同時(shí)發(fā)生。
在一個(gè)例子中,所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。
在一個(gè)例子中,所述預(yù)先設(shè)置多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)包括以下中的至少一個(gè):預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè);多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是默認(rèn)的;以及檢索多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括資源偏移量,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括目標(biāo)資源的列表。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括時(shí)間窗類型和時(shí)間窗大小。
在一個(gè)例子中,所述確定單元還被配置為根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析。
在一個(gè)例子中,所述創(chuàng)建單元還被配置為:根據(jù)多級(jí)事件通知規(guī)則創(chuàng)建三個(gè)或更多級(jí)訂閱資源。
根據(jù)本公開(kāi)的一個(gè)方面,提供一種用于訂閱通知的方法,包括:發(fā)送訂閱請(qǐng)求;以及當(dāng)多個(gè)第一事件滿足第二事件通知規(guī)則時(shí)接收通知,所述通知指示第二事件,其中,所述多個(gè)第一事件是根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生的。
在一個(gè)例子中,所述多個(gè)第一事件屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,所述第二事件通知規(guī)則指示所述多個(gè)第一事件之間的關(guān)系。
在一個(gè)例子中,所述關(guān)系包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。
在一個(gè)例子中,所述次序關(guān)系指示所述多個(gè)第一事件的順序發(fā)生或同時(shí)發(fā)生。
在一個(gè)例子中,所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。
在一個(gè)例子中,所述預(yù)先設(shè)置多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)包括以下中的至少一個(gè):預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè);多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是默認(rèn)的;以及檢索多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括資源偏移量,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括目標(biāo)資源的列表。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括時(shí)間窗類型和時(shí)間窗大小。
在一個(gè)例子中,所產(chǎn)生的多個(gè)第一事件根據(jù)第二事件通知規(guī)則被進(jìn)行進(jìn)一步的判斷和分析。
在一個(gè)例子中,所述訂閱請(qǐng)求中包括三級(jí)或更多級(jí)事件通知規(guī)則。
根據(jù)本公開(kāi)的一個(gè)方面,提供一種用于訂閱通知的裝置,包括:發(fā)送單元,被配置為發(fā)送訂閱請(qǐng)求;以及接收單元,被配置為當(dāng)多個(gè)第一事件滿足第二事件通知規(guī)則時(shí)接收通知,所述通知指示第二事件,其中,所述多個(gè)第一事件是根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生的。
在一個(gè)例子中,所述多個(gè)第一事件屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,所述第二事件通知規(guī)則指示所述多個(gè)第一事件之間的關(guān)系。
在一個(gè)例子中,所述關(guān)系包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。
在一個(gè)例子中,所述次序關(guān)系指示所述多個(gè)第一事件的順序發(fā)生或同時(shí)發(fā)生。
在一個(gè)例子中,所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。
在一個(gè)例子中,所述預(yù)先設(shè)置多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)包括以下中的至少一個(gè):預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè);多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是默認(rèn)的;以及檢索多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,所述訂閱請(qǐng)求包括資源偏移量,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括目標(biāo)資源的列表。
在一個(gè)例子中,所述訂閱請(qǐng)求還包括時(shí)間窗類型和時(shí)間窗大小。
在一個(gè)例子中,所產(chǎn)生的多個(gè)第一事件根據(jù)第二事件通知規(guī)則被進(jìn)行進(jìn)一步的判斷和分析。
在一個(gè)例子中,所述訂閱請(qǐng)求中包括三級(jí)或更多級(jí)事件通知規(guī)則。
根據(jù)本公開(kāi)實(shí)施例,根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生多個(gè)第一事件,并根據(jù)第二事件通知規(guī)則確定是否發(fā)生第二事件,當(dāng)發(fā)生第二事件時(shí),生成通知。從而,所生成的通知指示第二事件,并且該第二事件涉及滿足第二事件通知規(guī)則的多個(gè)第一事件。因此,可以在一個(gè)通知中合并多個(gè)第一事件,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)的負(fù)擔(dān)。
此外,可以根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析,而不是直接通知第一事件,這提升了智能化水平,并避免了因網(wǎng)絡(luò)故障導(dǎo)致的信息丟失而造成的影響。
附圖說(shuō)明
通過(guò)以下借助附圖的詳細(xì)描述,將會(huì)更容易地理解本發(fā)明,其中相同的標(biāo)號(hào)指定相同結(jié)構(gòu)的單元,并且在其中:
圖1示出用于訂閱消息通知的示意性信號(hào)流圖;
圖2示出訂閱容器的示意性視圖;
圖3示出根據(jù)本公開(kāi)實(shí)施例的用于生成通知的方法的示意性流程圖;
圖4示出根據(jù)本公開(kāi)的第一實(shí)施例的生成通知的示意性信號(hào)流圖;
圖5示出根據(jù)本公開(kāi)的第一實(shí)施例的訂閱容器的示意性視圖;
圖6示出根據(jù)本公開(kāi)的第一實(shí)施例的檢測(cè)溫度的階梯變化以生成通知的示意圖;
圖7示出根據(jù)本公開(kāi)的第二實(shí)施例的生成通知的示意性信號(hào)流圖;
圖8示出根據(jù)本公開(kāi)的第二實(shí)施例的訂閱容器的示意性視圖;
圖9示出根據(jù)本公開(kāi)的第三實(shí)施例的生成通知的示意性信號(hào)流圖;
圖10示出根據(jù)本公開(kāi)的第三實(shí)施例的訂閱容器的示意性視圖;
圖11示出根據(jù)本公開(kāi)實(shí)施例的用于生成通知的裝置的示意性框圖;
圖12示出根據(jù)本公開(kāi)實(shí)施例的用于訂閱通知的方法的示意性流程圖;和
圖13示出根據(jù)本公開(kāi)實(shí)施例的用于訂閱通知的裝置的示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1示出用于訂閱消息通知的示意性信號(hào)流圖。
參照?qǐng)D1,在s101請(qǐng)求方110向接收方120發(fā)送訂閱請(qǐng)求,在s102接收方120向發(fā)送方110發(fā)送訂閱響應(yīng),并且,在s103,接收方120在被訂閱的單個(gè)目標(biāo)資源下創(chuàng)建訂閱資源<subscription>,當(dāng)被訂閱資源改變時(shí),確定發(fā)生事件,生成通知消息。在s104,接收方120向請(qǐng)求方110發(fā)送通知請(qǐng)求,并且在s105,請(qǐng)求方110向接收方120發(fā)送通知響應(yīng)。從而,當(dāng)所訂閱的目標(biāo)資源發(fā)生改變時(shí),請(qǐng)求方110接收到通知消息。
圖2示出訂閱容器的示意性視圖。
參照?qǐng)D2,訂閱資源<subscription1>用于訂閱資源1<container1>的屬性及其直接子資源、即<contentinstance11>和<contentinstance12>的變化,訂閱資源<subscription2>用于訂閱資源2<container2>的屬性及其直接子資源、即<contentinstance21>和<contentinstance22>的變化,訂閱資源<subscription3>用于訂閱<ae>(applicationentity,應(yīng)用實(shí)體)的屬性及直接子資源、即<container1>和<container2>的變化,但是<subscription3>不能訂閱<container1>和<container2>的內(nèi)容變化,即,<subscription3>不能訂閱<contentinstance11>、<contentinstance12>、<contentinstance21>和<contentinstance22>的變化。
如圖1和圖2中所示,只能針對(duì)單個(gè)資源的變化進(jìn)行訂閱,因而通知消息中僅指示單個(gè)事件的發(fā)生。當(dāng)針對(duì)單個(gè)資源發(fā)生多個(gè)事件時(shí),需要生成和發(fā)送多個(gè)通知,服務(wù)器接收到多個(gè)通知后進(jìn)行分析,確定多個(gè)通知所表達(dá)的含義。首先,接收多個(gè)通知增加了網(wǎng)絡(luò)的負(fù)擔(dān);其次,因?yàn)閬G失任何一個(gè)通知消息可能會(huì)影響最后的分析結(jié)果,所以接收多個(gè)通知增加了對(duì)網(wǎng)絡(luò)的要求;最后,對(duì)多個(gè)通知進(jìn)行分析也影響服務(wù)器效率。
此外,圖1中所示的機(jī)制也不能監(jiān)視單個(gè)資源或多個(gè)資源的順序事件以及多個(gè)資源的組合事件。
圖3示出根據(jù)本公開(kāi)實(shí)施例的用于生成通知的方法300的示意性流程圖??梢栽谄脚_(tái)側(cè)、例如服務(wù)器等執(zhí)行該方法300。
如圖3中所示,在方法300的s310,接收訂閱請(qǐng)求。在s320,根據(jù)訂閱請(qǐng)求創(chuàng)建第一訂閱資源,所述第一訂閱資源包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則。在s330,接收根據(jù)所述多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件。在s340,確定所述多個(gè)第一事件是否滿足所述第二事件通知規(guī)則。在s350,當(dāng)所述多個(gè)第一事件滿足所述第二事件通知規(guī)則時(shí)生成通知,所述通知指示第二事件。
根據(jù)本公開(kāi)實(shí)施例,根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生多個(gè)第一事件,并根據(jù)第二事件通知規(guī)則確定是否發(fā)生第二事件,當(dāng)發(fā)生第二事件時(shí),生成通知。從而,所生成的通知指示第二事件,并且該第二事件涉及滿足第二事件通知規(guī)則的多個(gè)第一事件。因此,可以在一個(gè)通知中合并多個(gè)第一事件,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)的負(fù)擔(dān)。
此外,可以根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析,而不是直接通知第一事件,這提升了智能化水平,并避免了因網(wǎng)絡(luò)故障導(dǎo)致的信息丟失而造成的影響。
在一個(gè)例子中,在接收根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件之前,該方法300還可以包括:根據(jù)多個(gè)第一事件通知規(guī)則創(chuàng)建至少一個(gè)第二訂閱資源。這里,多個(gè)第一事件通知規(guī)則可以為列表形式。第一事件通知規(guī)則的個(gè)數(shù)可以為2個(gè)或更多個(gè)。例如,{eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},n為大于等于2的整數(shù)。根據(jù){eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},可以相應(yīng)地產(chǎn)生多個(gè)第一事件:firstevent1、firstevent2、……、firsteventn。
根據(jù)本公開(kāi)實(shí)施例,第一訂閱資源是在目標(biāo)資源的父資源下創(chuàng)建的,例如<ae>資源,并且至少一個(gè)第二訂閱資源是在目標(biāo)資源下創(chuàng)建的。
在一個(gè)例子中,至少一個(gè)第二訂閱資源可以屬于一個(gè)或多個(gè)目標(biāo)資源。在第二訂閱資源屬于一個(gè)目標(biāo)資源的情況下,第一訂閱資源可以是<subscription>,并且在第二訂閱資源屬于多個(gè)目標(biāo)資源的情況下,第一訂閱資源可以是<crossresourcesubscription>。
當(dāng)然,還可以根據(jù)需要在更多的目標(biāo)資源下創(chuàng)建更多級(jí)的訂閱資源,例如可以對(duì)于分級(jí)的目標(biāo)資源創(chuàng)建第三訂閱資源、第四訂閱資源、……、第n訂閱資源,n為大于等于2的整數(shù)。但是本公開(kāi)實(shí)施例不限于此。
在一個(gè)例子中,第二事件通知規(guī)則可以指示多個(gè)第一事件之間的關(guān)系。該關(guān)系可以包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。因此,可以靈活設(shè)置第二事件通知規(guī)則,以實(shí)現(xiàn)對(duì)多個(gè)第一事件的順序訂閱、組合訂閱等。
例如,次序關(guān)系可以指示多個(gè)第一事件的順序發(fā)生或同時(shí)發(fā)生。也就是說(shuō),該次序關(guān)系指示多個(gè)第一事件可以按照預(yù)定的時(shí)間順序接連發(fā)生,或者,多個(gè)第一事件可以同時(shí)或基本同時(shí)發(fā)生,例如,可能存在預(yù)定時(shí)間裕量,當(dāng)在預(yù)定時(shí)間裕量期間多個(gè)第一事件發(fā)生時(shí),可以認(rèn)為多個(gè)第一事件同時(shí)發(fā)生。但是本公開(kāi)實(shí)施例不限于此。
邏輯關(guān)系例如可以包括多個(gè)第一事件之間的與(and)、或(or)、異或(xor)等關(guān)系。但是本公開(kāi)實(shí)施例不限于此。
算術(shù)關(guān)系例如可以包括對(duì)多個(gè)第一事件的事件值進(jìn)行算術(shù)運(yùn)算——諸如加、減、乘、除、取模等等——的結(jié)果與預(yù)定閾值之間的關(guān)系,諸如大于、等于、小于、大于等于、小于等于、等等。但是本公開(kāi)實(shí)施例不限于此。
例如,對(duì)于次序關(guān)系,第二事件通知規(guī)則可以指示在firstevent1之后發(fā)生firstevent2;或者firstevent1與firstevent2同時(shí)發(fā)生;對(duì)于邏輯關(guān)系,第二事件通知規(guī)則可以指示在firstevent1發(fā)生時(shí)不發(fā)生firstevent2,并且在firstevent1不發(fā)生時(shí)發(fā)生firstevent2;或者對(duì)于算術(shù)關(guān)系,第二事件通知規(guī)則可以指示firstevent1的值*firstevent2的值>(≥、<、≤、≠、=,等等)預(yù)定閾值。
第二事件通知規(guī)則的數(shù)目也可以為2個(gè)或更多個(gè)。
此外,根據(jù)需要,還可以存在更多級(jí)的事件通知規(guī)則。例如,在創(chuàng)建了n級(jí)訂閱資源的情況下,可以存在相應(yīng)的n級(jí)事件通知規(guī)則,例如,多個(gè)第一事件通知規(guī)則、多個(gè)第二事件通知規(guī)則、……、第n事件通知規(guī)則(一個(gè)或多個(gè))。
在一個(gè)例子中,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。例如,可以在平臺(tái)側(cè)預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)??商鎿Q地,在針對(duì)預(yù)定目標(biāo)資源的情況下,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)可以在平臺(tái)側(cè)是默認(rèn)的,或者可以由平臺(tái)側(cè)自行檢索。
在一個(gè)例子中,可以在訂閱請(qǐng)求中包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,訂閱請(qǐng)求可以包括資源偏移量offset,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。因此,不僅可以關(guān)注目標(biāo)資源的子資源,還可以關(guān)注其孫資源、孫資源的子資源等等。例如,當(dāng)offset=0時(shí),表示訂閱目標(biāo)資源及其子資源的變化,當(dāng)offset=1時(shí),表示訂閱目標(biāo)資源及其子資源和孫資源的變化。此外,也可以設(shè)置offset,使得訂閱目標(biāo)資源的子資源、孫資源的變化。當(dāng)然,在這里offset的值僅僅是示例,本領(lǐng)域技術(shù)人員可以根據(jù)需要將其設(shè)置為其他格式的值,并指定要關(guān)注的更多層級(jí)的資源。可以針對(duì)每個(gè)目標(biāo)資源分別設(shè)置offset的值,也可以針對(duì)全部目標(biāo)資源設(shè)置一個(gè)offset的值。如前所述,當(dāng)訂閱目標(biāo)資源及其子資源和孫資源的變化時(shí),可以存在針對(duì)孫資源的多個(gè)第一事件通知規(guī)則、針對(duì)子資源的多個(gè)第二事件通知規(guī)則以及針對(duì)目標(biāo)資源的第三事件通知規(guī)則。
在一個(gè)例子中,訂閱請(qǐng)求可以包括目標(biāo)資源的列表listofresource,以指定目標(biāo)資源。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗類型timewindowtype。例如,當(dāng)timewindowtype=1時(shí),表示時(shí)間窗為周期時(shí)間窗,并且當(dāng)timewindowtype=0時(shí),表示時(shí)間窗為滾動(dòng)時(shí)間窗。在滾動(dòng)時(shí)間窗的范圍內(nèi),如果產(chǎn)生相同的第一事件,則新事件代替舊事件。在周期時(shí)間窗的范圍內(nèi),只要有事件產(chǎn)生,即發(fā)送更新消息。當(dāng)然,本公開(kāi)實(shí)施例不限于此,還可以指定其他類型的時(shí)間窗。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗大小timewindowsize,其值可以為二進(jìn)制、十進(jìn)制、十六進(jìn)制等。時(shí)間窗大小的單位例如可以為秒。
可選地,offset、listofresource、timewindowtype和timewindowsize可以不被包括在訂閱請(qǐng)求中,而是默認(rèn)值。
平臺(tái)側(cè)可以基于訂閱請(qǐng)求創(chuàng)建第一訂閱資源。在下面的表1中示出了第一訂閱資源可能具有的屬性。第一訂閱資源例如為<subscription>或<crossresourcesubscription>。
表1
下面將參照附圖描述根據(jù)本公開(kāi)的具體實(shí)施例。
根據(jù)本公開(kāi)的第一實(shí)施例,對(duì)于單個(gè)目標(biāo)資源進(jìn)行訂閱并生成通知,以監(jiān)視單個(gè)資源的多個(gè)事件的順序變化。根據(jù)本公開(kāi)的第二實(shí)施例,對(duì)于多個(gè)目標(biāo)資源、例如組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的順序變化。根據(jù)本公開(kāi)的第三實(shí)施例,對(duì)于多個(gè)目標(biāo)資源、例如非組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的組合變化。根據(jù)本公開(kāi)的第四實(shí)施例,對(duì)于多個(gè)目標(biāo)資源、例如非組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的順序變化。
圖4示出根據(jù)本公開(kāi)的第一實(shí)施例的生成通知的示意性信號(hào)流圖,其中,對(duì)于單個(gè)目標(biāo)資源進(jìn)行訂閱并生成通知。
如圖4中所示,在s401,接收方430向平臺(tái)側(cè)420發(fā)生設(shè)備注冊(cè)請(qǐng)求。在s402,平臺(tái)側(cè)創(chuàng)建<ae>資源。在s403,平臺(tái)側(cè)420向接收方430發(fā)送設(shè)備注冊(cè)響應(yīng)。
在s404,請(qǐng)求方410向平臺(tái)側(cè)420發(fā)送訂閱請(qǐng)求。在訂閱請(qǐng)求中可以包括單個(gè)目標(biāo)資源、多個(gè)第一事件通知規(guī)則、第二事件通知規(guī)則,可選地還可以包括時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。雖然在該實(shí)施例中在請(qǐng)求方410發(fā)送的訂閱請(qǐng)求中包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則,但是平臺(tái)側(cè)420可以通過(guò)其他方式獲得多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。例如,如前所述,可以在平臺(tái)側(cè)420預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè),或者平臺(tái)側(cè)420在先前的過(guò)程中已經(jīng)獲得了多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在s405,平臺(tái)側(cè)420在單個(gè)目標(biāo)資源上創(chuàng)建第一訂閱資源,即<subscription>資源,在該<subscription>資源中包括多個(gè)第一事件通知規(guī)則、第二事件通知規(guī)則,可選地還可以包括時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。在s406,平臺(tái)側(cè)420向請(qǐng)求方410返回訂閱響應(yīng)。
之后,當(dāng)在接收方430根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生第一事件時(shí),在s407,接收方430向平臺(tái)側(cè)420發(fā)送第一事件通知請(qǐng)求,并且在s408平臺(tái)側(cè)420向接收方430返回第一事件通知響應(yīng)。
可以重復(fù)s407和s408,以接收多個(gè)第一事件。
在s409,平臺(tái)側(cè)420確定多個(gè)第一事件是否滿足第二事件通知規(guī)則,可選地還確定多個(gè)第一事件是否在時(shí)間窗大小的范圍內(nèi)。如果滿足,則在s410,平臺(tái)側(cè)420生成通知,否則,在s411,結(jié)束該過(guò)程。可選地,在s411之后,還可以立即啟動(dòng)另一時(shí)間窗,以繼續(xù)進(jìn)行監(jiān)視。
在s412,平臺(tái)側(cè)420向請(qǐng)求方410發(fā)送通知請(qǐng)求,在該通知中指示第二事件,具體為,在時(shí)間窗大小的范圍內(nèi)發(fā)生的多個(gè)第一事件滿足第二事件通知規(guī)則。
在s413,請(qǐng)求方410返回通知響應(yīng)。
圖5示出根據(jù)本公開(kāi)的第一實(shí)施例的訂閱容器的示意性視圖。
在一個(gè)例子中,請(qǐng)求方410可以為管理應(yīng)用,平臺(tái)側(cè)420可以為工業(yè)平臺(tái),并且接收方430可以為工業(yè)設(shè)備。
具體地,第一事件通知規(guī)則可以指示第一事件通知規(guī)則1、eventnotificationcriteria1為溫度>100℃且第一事件通知規(guī)則2、eventnotificationcriteria2為溫度>200℃,以列表形式可以被表示為{溫度>100℃;溫度>200℃},則firstevent1指示發(fā)生溫度>100℃的事件,且firstevent2指示發(fā)生溫度>200℃的事件。第二事件通知規(guī)則指示在firstevent1之后發(fā)生firstevent2,且時(shí)間窗類型timewindowtype=1(指示周期時(shí)間窗),時(shí)間窗大小timewindowsize=20s。當(dāng)管理應(yīng)用接收到通知時(shí),第二事件可以表示在20s內(nèi)工業(yè)設(shè)備的溫度在大于100℃之后進(jìn)一步上升到200℃以上,從而可以監(jiān)視工業(yè)設(shè)備的溫度的階梯變化,如圖6中所示。
在該第一實(shí)施例中,因?yàn)獒槍?duì)的是單個(gè)資源,所以可以僅創(chuàng)建了第一訂閱資源<subscription>,省略了第二訂閱資源,如圖5中所示。但是,也可以在<ae>資源下創(chuàng)建第一訂閱資源<subscription>,然后在相應(yīng)資源下創(chuàng)建第二訂閱資源,例如<subscription1>。
根據(jù)本公開(kāi)實(shí)施例,可以對(duì)于單個(gè)資源的多個(gè)事件的順序變化生成通知。
圖7示出根據(jù)本公開(kāi)的第二實(shí)施例的生成通知的示意性信號(hào)流圖,其中,對(duì)于多個(gè)目標(biāo)資源、例如組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的順序變化。在該第二實(shí)施例中,多個(gè)接收方730是組成員。
如圖7中所示,在s701,請(qǐng)求方710向平臺(tái)側(cè)720發(fā)送訂閱請(qǐng)求。在訂閱請(qǐng)求中可以包括組資源、多個(gè)第一事件通知規(guī)則、第二事件通知規(guī)則,可選地還可以包括時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。如前所述,雖然在該實(shí)施例中在請(qǐng)求方710發(fā)送的訂閱請(qǐng)求中包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則,但是平臺(tái)側(cè)720可以通過(guò)其他方式獲得多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。例如,如前所述,可以在平臺(tái)側(cè)720預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè),或者平臺(tái)側(cè)720在先前的過(guò)程中已經(jīng)獲得了多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在s702,平臺(tái)側(cè)720在組資源上創(chuàng)建第一訂閱資源,即<crossresourcesubscription>資源,在該<crossresourcesubscription>資源中包括多個(gè)第一事件通知規(guī)則、第二事件通知規(guī)則,可選地還可以包括時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。在s703,平臺(tái)側(cè)720向請(qǐng)求方710返回訂閱響應(yīng)。
在s704,平臺(tái)側(cè)720向多個(gè)接收方730中的每個(gè)發(fā)送訂閱請(qǐng)求,在該每個(gè)訂閱請(qǐng)求中包括相應(yīng)的單個(gè)第一事件通知規(guī)則、時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。在s705,每個(gè)接收方730向平臺(tái)側(cè)720返回訂閱響應(yīng)。
之后,在s706,在每個(gè)接收方730根據(jù)相應(yīng)的第一事件通知規(guī)則產(chǎn)生第一事件。在s707,接收方730向平臺(tái)側(cè)720發(fā)送第一事件通知請(qǐng)求,以通知單個(gè)第一事件,并且在s708平臺(tái)側(cè)420向?qū)?yīng)的接收方730返回第一事件通知響應(yīng)。
s706至s708可以被重復(fù)多次,以針對(duì)每個(gè)接收方730接收所發(fā)生的第一事件。在圖7中以雙箭頭示出s707和s708,以表示s707和s708可以被重復(fù)多次。
在s709,平臺(tái)側(cè)720確定多個(gè)第一事件是否滿足第二事件通知規(guī)則,并且可選地還確定多個(gè)第一事件是否在時(shí)間窗大小的范圍內(nèi)。如果滿足,則在s710,平臺(tái)側(cè)720生成通知,否則,在s711,結(jié)束該過(guò)程??蛇x地,在s711之后,還可以立即啟動(dòng)另一時(shí)間窗,以繼續(xù)進(jìn)行監(jiān)視。
在s712,平臺(tái)側(cè)720向請(qǐng)求方710發(fā)送通知請(qǐng)求,在該通知中指示第二事件,具體為,在時(shí)間窗大小的范圍內(nèi)發(fā)生的多個(gè)第一事件滿足第二事件通知規(guī)則。
在s713,請(qǐng)求方710返回通知響應(yīng)。
圖8示出根據(jù)本公開(kāi)的第二實(shí)施例的訂閱容器的示意性視圖。
在一個(gè)例子中,請(qǐng)求方710可以為管理應(yīng)用,平臺(tái)側(cè)720可以為工業(yè)平臺(tái)、例如組托管(grouphosting)通用服務(wù)實(shí)體(cse),并且接收方730可以為作為組成員的工業(yè)設(shè)備組。在該實(shí)施例中,由于平臺(tái)側(cè)720是cse且訂閱的是組成員的資源,所以可以省略設(shè)備注冊(cè)請(qǐng)求、設(shè)備注冊(cè)響應(yīng)和創(chuàng)建<ae>的過(guò)程。
具體地,根據(jù)第二實(shí)施例,第一成員的第一事件可以為firstevent1,第二成員的第一事件可以為firstevent2,……,第n成員的第一事件可以為firsteventn,第二事件通知規(guī)則可以規(guī)定按照f(shuō)irstevent1、firstevent2、……、firsteventn的順序發(fā)生各個(gè)第一事件。當(dāng)多個(gè)第一事件滿足該第二事件通知規(guī)則且在時(shí)間窗大小的范圍內(nèi)時(shí),平臺(tái)側(cè)720生成通知,并向請(qǐng)求方710發(fā)送通知,以指示第二事件。該第二事件即向請(qǐng)求方710表示在時(shí)間窗大小的范圍內(nèi)多個(gè)第一事件是按照f(shuō)irstevent1、firstevent2、……、firsteventn的順序發(fā)生的。
因此,根據(jù)本公開(kāi)實(shí)施例,可以對(duì)于多個(gè)目標(biāo)資源(組資源)的多個(gè)第一事件的順序發(fā)生生成通知。
例如,在工業(yè)應(yīng)用的情況下,可以對(duì)流水線上的工業(yè)設(shè)備是否順序接收到產(chǎn)品信息進(jìn)行檢測(cè)。
具體地,多個(gè)第一事件通知規(guī)則可以被表示為{第一成員接收到產(chǎn)品信息,第二成員接收到產(chǎn)品信息,…第n成員接收到產(chǎn)品信息},則firstevent1指示發(fā)生第一成員接收到產(chǎn)品信息的事件,且firstevent2指示發(fā)生第二成員接收到產(chǎn)品信息的事件,以此類推,firsteventn指示發(fā)生第n成員接收到產(chǎn)品信息的事件。從而,當(dāng)請(qǐng)求方710接收到通知時(shí),第二事件可以指示按照第一成員、第二成員、……、第n成員的順序,各個(gè)成員依次接收到產(chǎn)品信息。
圖9示出根據(jù)本公開(kāi)的第三實(shí)施例的生成通知的示意性信號(hào)流圖,其中,對(duì)于多個(gè)目標(biāo)資源、例如非組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的組合變化。在該第三實(shí)施例中,多個(gè)資源并不屬于一個(gè)組。
如圖9中所示,在s901,接收方930向平臺(tái)側(cè)920發(fā)生設(shè)備注冊(cè)請(qǐng)求。在s902,平臺(tái)側(cè)創(chuàng)建<ae>資源。在s903,平臺(tái)側(cè)920向接收方930發(fā)送設(shè)備注冊(cè)響應(yīng)。
在s904,請(qǐng)求方910向平臺(tái)側(cè)920發(fā)送訂閱請(qǐng)求。在訂閱請(qǐng)求中可以包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則,可選地還可以包括跨資源的多個(gè)資源(資源列表)、時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。如前所述,雖然在該實(shí)施例中在請(qǐng)求方910發(fā)送的訂閱請(qǐng)求中包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則,但是平臺(tái)側(cè)920可以通過(guò)其他方式獲得多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。例如,如前所述,可以在平臺(tái)側(cè)920預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè),或者平臺(tái)側(cè)920在先前的過(guò)程中已經(jīng)獲得了多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在s905,平臺(tái)側(cè)920在<ae>資源上創(chuàng)建第一訂閱資源,即<crossresourcesubscription>資源,在該<crossresourcesubscription>資源中包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則,可選地還可以包括資源列表、時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。
在s906,平臺(tái)側(cè)920根據(jù)資源列表,在相關(guān)資源下創(chuàng)建第二訂閱資源<subscription>資源,每個(gè)<subscription>資源包括相應(yīng)的第一事件通知規(guī)則。每個(gè)<subscription>資源也可以包括時(shí)間窗類型、時(shí)間窗大小、資源偏移量等等。
在s907,平臺(tái)側(cè)920向請(qǐng)求方910返回訂閱響應(yīng)。
之后,在s908,接收方930根據(jù)相應(yīng)的第一事件通知規(guī)則產(chǎn)生第一事件。在s909,接收方930向平臺(tái)側(cè)920發(fā)送第一事件通知請(qǐng)求,以通知單個(gè)第一事件,并且在s910平臺(tái)側(cè)920向接收方930返回第一事件通知響應(yīng)。
s908至s910可以被重復(fù)多次,以針對(duì)接收方930的每個(gè)資源接收所發(fā)生的第一事件。在圖9中以雙箭頭示出s909和s910,以表示s909和s910可以被重復(fù)多次
在s911,平臺(tái)側(cè)920確定多個(gè)第一事件是否滿足第二事件通知規(guī)則,并且可選地還確定多個(gè)第一事件是否在時(shí)間窗大小的范圍內(nèi)。如果滿足,則在s912,平臺(tái)側(cè)920生成通知,否則,在s913,結(jié)束該過(guò)程。可選地,在s913之后,還可以立即啟動(dòng)另一時(shí)間窗,以繼續(xù)進(jìn)行監(jiān)視。
在s914,平臺(tái)側(cè)920向請(qǐng)求方910發(fā)送通知請(qǐng)求,在該通知中指示第二事件,具體為,在時(shí)間窗大小的范圍內(nèi)發(fā)生的多個(gè)第一事件滿足第二事件通知規(guī)則。
在s915,請(qǐng)求方910返回通知響應(yīng)。
圖10示出根據(jù)本公開(kāi)的第三實(shí)施例的訂閱容器的示意性視圖。
在一個(gè)例子中,請(qǐng)求方910可以為管理應(yīng)用,平臺(tái)側(cè)920可以為工業(yè)平臺(tái),并且接收方930可以為工業(yè)設(shè)備。
具體地,第一事件通知規(guī)則可以指示第一事件通知規(guī)則1、eventnotificationcriteria1為溫度>500℃且第一事件通知規(guī)則2、eventnotificationcriteria2為壓力>400pa,以列表形式可以被表示為{溫度>500℃;壓力>400pa},則firstevent1指示發(fā)生溫度>500℃的事件,且firstevent2指示發(fā)生壓力>400pa的事件。第二事件通知規(guī)則可以指示firstevent1的值*firstevent2的值>2000,即工業(yè)設(shè)備的溫度*壓力>2000,且時(shí)間窗類型timewindowtype=1(指示周期時(shí)間窗),時(shí)間窗大小timewindowsize=20s。當(dāng)管理應(yīng)用接收到通知時(shí),第二事件可以表示在20s內(nèi)工業(yè)設(shè)備的溫度*壓力大于2000,即在該時(shí)間段內(nèi)工業(yè)設(shè)備的溫度和壓力同時(shí)高于預(yù)定值,從而可以監(jiān)視工業(yè)設(shè)備的異常變化。
因此,根據(jù)本公開(kāi)實(shí)施例,可以對(duì)于多個(gè)目標(biāo)資源的多個(gè)第一事件的組合發(fā)生生成通知。
此外,根據(jù)本公開(kāi)的第四實(shí)施例的信號(hào)流圖與訂閱容器的示意性視圖與第三實(shí)施例的圖9和圖10類似,在此不再贅述。區(qū)別在于,根據(jù)本公開(kāi)的第四實(shí)施例,對(duì)于多個(gè)目標(biāo)資源、例如非組資源進(jìn)行訂閱并生成通知,以監(jiān)視多個(gè)資源的多個(gè)事件的順序變化。
具體地,第一事件通知規(guī)則可以指示第一事件通知規(guī)則1、eventnotificationcriteria1為溫度>500℃且第一事件通知規(guī)則2、eventnotificationcriteria2為壓力>400pa,以列表形式可以被表示為{溫度>500℃;壓力>400pa},則firstevent1指示發(fā)生溫度>500℃的事件,且firstevent2指示發(fā)生壓力>400pa的事件。第二事件通知規(guī)則可以指示在firstevent1發(fā)生之后發(fā)生firstevent2,且時(shí)間窗類型timewindowtype=1(指示周期時(shí)間窗),時(shí)間窗大小timewindowsize=20s。當(dāng)管理應(yīng)用接收到通知時(shí),第二事件可以表示在20s內(nèi),在工業(yè)設(shè)備的溫度>500℃之后,其壓力>400pa,從而可以監(jiān)視工業(yè)設(shè)備的溫度和壓力的順序變化。
因此,根據(jù)本公開(kāi)實(shí)施例,可以對(duì)于多個(gè)目標(biāo)資源的多個(gè)第一事件的順序發(fā)生生成通知。
雖然在工業(yè)應(yīng)用的上下文中描述了根據(jù)本公開(kāi)的第一實(shí)施例至第四實(shí)施例,但是也可以在家用環(huán)境中應(yīng)用本公開(kāi),例如可以針對(duì)空氣凈化器、溫度傳感器等設(shè)備訂閱和生成通知。
此外,作為家居應(yīng)用的另一個(gè)示例,通過(guò)監(jiān)視單個(gè)資源或多個(gè)資源的順序事件,可以監(jiān)控某一行為(即第二事件),例如請(qǐng)求方訂閱兩個(gè)燈的順序事件(如門外燈1開(kāi),門內(nèi)燈2開(kāi)),通過(guò)接收兩個(gè)燈的順序事件,可以判斷用戶是進(jìn)門或出門,當(dāng)接收到門外燈1的“開(kāi)”通知消息后接收到門內(nèi)燈2的“開(kāi)”通知消息,可以確定用戶進(jìn)門,相反可以確定用戶出門。
當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,本公開(kāi)不限于此。
圖11示出根據(jù)本公開(kāi)實(shí)施例的用于生成通知的裝置1100的示意性框圖。
如圖11中所示,該裝置1100可以包括創(chuàng)建單元1110、接收單元1120、確定單元1130和生成單元1140。
創(chuàng)建單元1110可以根據(jù)訂閱請(qǐng)求創(chuàng)建第一訂閱資源,所述第一訂閱資源包括多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則。接收單元1120可以接收所述訂閱請(qǐng)求和根據(jù)所述多個(gè)第一事件通知規(guī)則產(chǎn)生的多個(gè)第一事件。確定單元1130可以確定所述多個(gè)第一事件是否滿足所述第二事件通知規(guī)則。生成單元1140可以當(dāng)所述多個(gè)第一事件滿足所述第二事件通知規(guī)則時(shí)生成通知,所述通知指示第二事件。
根據(jù)本公開(kāi)實(shí)施例,根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生多個(gè)第一事件,并根據(jù)第二事件通知規(guī)則確定是否發(fā)生第二事件,當(dāng)發(fā)生第二事件時(shí),生成通知。從而,所生成的通知指示第二事件,并且該第二事件涉及滿足第二事件通知規(guī)則的多個(gè)第一事件。因此,可以在一個(gè)通知中合并多個(gè)第一事件,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)的負(fù)擔(dān)。
此外,可以根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析,而不是直接通知第一事件,這提升了智能化水平,并避免了因網(wǎng)絡(luò)故障導(dǎo)致的信息丟失而造成的影響。
在一個(gè)例子中,創(chuàng)建單元1110還可以根據(jù)多個(gè)第一事件通知規(guī)則創(chuàng)建至少一個(gè)第二訂閱資源。這里,多個(gè)第一事件通知規(guī)則可以為列表形式。第一事件通知規(guī)則的個(gè)數(shù)可以為2個(gè)或更多個(gè)。例如,{eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},n為大于等于2的整數(shù)。根據(jù){eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},可以相應(yīng)地產(chǎn)生多個(gè)第一事件:firstevent1、firstevent2、……、firsteventn。
根據(jù)本公開(kāi)實(shí)施例,第一訂閱資源是在目標(biāo)資源的父資源下創(chuàng)建的,例如<ae>資源,并且至少一個(gè)第二訂閱資源是在目標(biāo)資源下創(chuàng)建的。
在一個(gè)例子中,至少一個(gè)第二訂閱資源可以屬于一個(gè)或多個(gè)目標(biāo)資源。在第二訂閱資源屬于一個(gè)目標(biāo)資源的情況下,第一訂閱資源可以是<subscription>,并且在第二訂閱資源屬于多個(gè)目標(biāo)資源的情況下,第一訂閱資源可以是<crossresourcesubscription>。
當(dāng)然,還可以根據(jù)需要在更多的目標(biāo)資源下創(chuàng)建更多級(jí)的訂閱資源,例如可以對(duì)于分級(jí)的目標(biāo)資源創(chuàng)建第三訂閱資源、第四訂閱資源、……、第n訂閱資源,n為大于等于2的整數(shù)。但是本公開(kāi)實(shí)施例不限于此。
在一個(gè)例子中,第二事件通知規(guī)則可以指示多個(gè)第一事件之間的關(guān)系。該關(guān)系可以包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。因此,可以靈活設(shè)置第二事件通知規(guī)則,以實(shí)現(xiàn)對(duì)多個(gè)第一事件的順序訂閱、組合訂閱等。次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系的例子在前面已經(jīng)描述過(guò),這里不再贅述。
例如,對(duì)于次序關(guān)系,第二事件通知規(guī)則可以指示在firstevent1之后發(fā)生firstevent2;或者firstevent1與firstevent2同時(shí)發(fā)生;對(duì)于邏輯關(guān)系,第二事件通知規(guī)則可以指示在firstevent1發(fā)生時(shí)不發(fā)生firstevent2,并且在firstevent1不發(fā)生時(shí)發(fā)生firstevent2;或者對(duì)于算術(shù)關(guān)系,第二事件通知規(guī)則可以指示firstevent1的值*firstevent2的值>(≥、<、≤、≠、=,等等)預(yù)定閾值。
第二事件通知規(guī)則的數(shù)目也可以為2個(gè)或更多個(gè)。
此外,根據(jù)需要,還可以存在更多級(jí)的事件通知規(guī)則。例如,在創(chuàng)建了n級(jí)訂閱資源的情況下,可以存在相應(yīng)的n級(jí)事件通知規(guī)則,例如,多個(gè)第一事件通知規(guī)則、多個(gè)第二事件通知規(guī)則、……、第n事件通知規(guī)則(一個(gè)或多個(gè))。
在一個(gè)例子中,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。例如,可以在平臺(tái)側(cè)預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。可替換地,在針對(duì)預(yù)定目標(biāo)資源的情況下,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)可以在平臺(tái)側(cè)是默認(rèn)的,或者可以由平臺(tái)側(cè)自行檢索。
在一個(gè)例子中,可以在訂閱請(qǐng)求中包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。
在一個(gè)例子中,訂閱請(qǐng)求可以包括資源偏移量offset,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。因此,不僅可以關(guān)注目標(biāo)資源的子資源,還可以關(guān)注其孫資源、孫資源的子資源等等。例如,當(dāng)offset=0時(shí),表示訂閱目標(biāo)資源及其子資源的變化,當(dāng)offset=1時(shí),表示訂閱目標(biāo)資源及其子資源和孫資源的變化。此外,也可以設(shè)置offset,使得訂閱目標(biāo)資源的子資源、孫資源的變化。如前所述,在這里offset的值僅僅是示例,本領(lǐng)域技術(shù)人員可以根據(jù)需要將其設(shè)置為其他格式的值,并指定要關(guān)注的更多層級(jí)的資源??梢葬槍?duì)每個(gè)目標(biāo)資源分別設(shè)置offset的值,也可以針對(duì)全部目標(biāo)資源設(shè)置一個(gè)offset的值。如前所述,當(dāng)訂閱目標(biāo)資源及其子資源和孫資源的變化時(shí),可以存在針對(duì)孫資源的多個(gè)第一事件通知規(guī)則、針對(duì)子資源的多個(gè)第二事件通知規(guī)則以及針對(duì)目標(biāo)資源的第三事件通知規(guī)則。
在一個(gè)例子中,訂閱請(qǐng)求可以包括目標(biāo)資源的列表listofresource,以指定目標(biāo)資源。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗類型timewindowtype。例如,當(dāng)timewindowtype=1時(shí),表示時(shí)間窗為周期時(shí)間窗,并且當(dāng)timewindowtype=0時(shí),表示時(shí)間窗為滾動(dòng)時(shí)間窗。在滾動(dòng)時(shí)間窗的范圍內(nèi),如果產(chǎn)生相同的第一事件,則新事件代替舊事件。在周期時(shí)間窗的范圍內(nèi),只要有事件產(chǎn)生,即發(fā)送更新消息。當(dāng)然,本公開(kāi)實(shí)施例不限于此,還可以指定其他類型的時(shí)間窗。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗大小timewindowsize,其值可以為二進(jìn)制、十進(jìn)制、十六進(jìn)制等。時(shí)間窗大小的單位例如可以為秒。
可選地,offset、listofresource、timewindowtype和timewindowsize可以不被包括在訂閱請(qǐng)求中,而是默認(rèn)值。
圖12示出根據(jù)本公開(kāi)實(shí)施例的用于訂閱通知的方法1200的示意性流程圖??梢栽谟脩魝?cè)或管理設(shè)備側(cè)執(zhí)行該方法1200。如圖12中所示,在方法1200的s1210,發(fā)送訂閱請(qǐng)求,在s1220,當(dāng)多個(gè)第一事件滿足第二事件通知規(guī)則時(shí)接收通知,所述通知指示第二事件。其中,所述多個(gè)第一事件是根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生的。
根據(jù)本公開(kāi)實(shí)施例,根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生多個(gè)第一事件,并根據(jù)第二事件通知規(guī)則確定是否發(fā)生第二事件,當(dāng)發(fā)生第二事件時(shí),生成通知。從而,所生成的通知指示第二事件,并且該第二事件涉及滿足第二事件通知規(guī)則的多個(gè)第一事件。因此,可以在一個(gè)通知中合并多個(gè)第一事件,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)的負(fù)擔(dān)。
此外,可以根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析,而不是直接通知第一事件,這提升了智能化水平,并避免了因網(wǎng)絡(luò)故障導(dǎo)致的信息丟失而造成的影響。
在一個(gè)例子中,所述多個(gè)第一事件屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,第二事件通知規(guī)則可以指示多個(gè)第一事件之間的關(guān)系。該關(guān)系可以包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。因此,可以靈活設(shè)置第二事件通知規(guī)則,以實(shí)現(xiàn)對(duì)多個(gè)第一事件的順序訂閱、組合訂閱等。次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系的例子在前面已經(jīng)描述過(guò),這里不再贅述。
例如,對(duì)于次序關(guān)系,第二事件通知規(guī)則可以指示在firstevent1之后發(fā)生firstevent2;或者firstevent1與firstevent2同時(shí)發(fā)生;對(duì)于邏輯關(guān)系,第二事件通知規(guī)則可以指示在firstevent1發(fā)生時(shí)不發(fā)生firstevent2,并且在firstevent1不發(fā)生時(shí)發(fā)生firstevent2;或者對(duì)于算術(shù)關(guān)系,第二事件通知規(guī)則可以指示firstevent1的值*firstevent2的值>(≥、<、≤、≠、=,等等)預(yù)定閾值。
在一個(gè)例子中,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。例如,可以在平臺(tái)側(cè)預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。可替換地,在針對(duì)預(yù)定目標(biāo)資源的情況下,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)可以在平臺(tái)側(cè)是默認(rèn)的,或者可以由平臺(tái)側(cè)自行檢索。
在一個(gè)例子中,訂閱請(qǐng)求可以包括資源偏移量offset,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。因此,不僅可以關(guān)注目標(biāo)資源的子資源,還可以關(guān)注其孫資源、孫資源的子資源等等。例如,當(dāng)offset=0時(shí),表示訂閱目標(biāo)資源及其子資源的變化,當(dāng)offset=1時(shí),表示訂閱目標(biāo)資源及其子資源和孫資源的變化。此外,也可以設(shè)置offset,使得訂閱目標(biāo)資源的子資源、孫資源的變化。如前所述,在這里offset的值僅僅是示例,本領(lǐng)域技術(shù)人員可以根據(jù)需要將其設(shè)置為其他格式的值,并指定要關(guān)注的更多層級(jí)的資源??梢葬槍?duì)每個(gè)目標(biāo)資源分別設(shè)置offset的值,也可以針對(duì)全部目標(biāo)資源設(shè)置一個(gè)offset的值。如前所述,當(dāng)訂閱目標(biāo)資源及其子資源和孫資源的變化時(shí),可以存在針對(duì)孫資源的多個(gè)第一事件通知規(guī)則、針對(duì)子資源的多個(gè)第二事件通知規(guī)則以及針對(duì)目標(biāo)資源的第三事件通知規(guī)則。
在一個(gè)例子中,訂閱請(qǐng)求可以包括目標(biāo)資源的列表listofresource,以指定目標(biāo)資源。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗類型timewindowtype。例如,當(dāng)timewindowtype=1時(shí),表示時(shí)間窗為周期時(shí)間窗,并且當(dāng)timewindowtype=0時(shí),表示時(shí)間窗為滾動(dòng)時(shí)間窗。在滾動(dòng)時(shí)間窗的范圍內(nèi),如果產(chǎn)生相同的第一事件,則新事件代替舊事件。在周期時(shí)間窗的范圍內(nèi),只要有事件產(chǎn)生,即發(fā)送更新消息。當(dāng)然,本公開(kāi)實(shí)施例不限于此,還可以指定其他類型的時(shí)間窗。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗大小timewindowsize,其值可以為二進(jìn)制、十進(jìn)制、十六進(jìn)制等。時(shí)間窗大小的單位例如可以為秒。
在一個(gè)例子中,還可以在訂閱請(qǐng)求中包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。這里,多個(gè)第一事件通知規(guī)則可以為列表形式。第一事件通知規(guī)則的個(gè)數(shù)可以為2個(gè)或更多個(gè)。例如,{eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},n為大于等于2的整數(shù)。根據(jù){eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},可以相應(yīng)地產(chǎn)生多個(gè)第一事件:firstevent1、firstevent2、……、firsteventn。
第二事件通知規(guī)則的數(shù)目也可以為2個(gè)或更多個(gè)。
此外,根據(jù)需要,還可以存在更多級(jí)的事件通知規(guī)則。例如,在創(chuàng)建了n級(jí)訂閱資源的情況下,可以存在相應(yīng)的n級(jí)事件通知規(guī)則,例如,多個(gè)第一事件通知規(guī)則、多個(gè)第二事件通知規(guī)則、……、第n事件通知規(guī)則(一個(gè)或多個(gè))。
可選地,offset、listofresource、timewindowtype和timewindowsize可以不被包括在訂閱請(qǐng)求中,而是默認(rèn)值。
圖13示出根據(jù)本公開(kāi)實(shí)施例的用于訂閱通知的裝置1300的示意性框圖。
如圖13所示,裝置1300可以包括發(fā)送單元1310和接收單元1320。
發(fā)送單元1310可以發(fā)送訂閱請(qǐng)求,并且接收單元1320可以當(dāng)多個(gè)第一事件滿足第二事件通知規(guī)則時(shí)接收通知,所述通知指示第二事件,其中,所述多個(gè)第一事件是根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生的。
根據(jù)本公開(kāi)實(shí)施例,根據(jù)多個(gè)第一事件通知規(guī)則產(chǎn)生多個(gè)第一事件,并根據(jù)第二事件通知規(guī)則確定是否發(fā)生第二事件,當(dāng)發(fā)生第二事件時(shí),生成通知。從而,所生成的通知指示第二事件,并且該第二事件涉及滿足第二事件通知規(guī)則的多個(gè)第一事件。因此,可以在一個(gè)通知中合并多個(gè)第一事件,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)的負(fù)擔(dān)。
此外,可以根據(jù)第二事件通知規(guī)則對(duì)所產(chǎn)生的多個(gè)第一事件進(jìn)行進(jìn)一步的判斷和分析,而不是直接通知第一事件,這提升了智能化水平,并避免了因網(wǎng)絡(luò)故障導(dǎo)致的信息丟失而造成的影響。
在一個(gè)例子中,所述多個(gè)第一事件屬于一個(gè)或多個(gè)目標(biāo)資源。
在一個(gè)例子中,第二事件通知規(guī)則可以指示多個(gè)第一事件之間的關(guān)系。該關(guān)系可以包括所述多個(gè)第一事件的次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系。因此,可以靈活設(shè)置第二事件通知規(guī)則,以實(shí)現(xiàn)對(duì)多個(gè)第一事件的順序訂閱、組合訂閱等。次序關(guān)系、邏輯關(guān)系或算術(shù)關(guān)系的例子在前面已經(jīng)描述過(guò),這里不再贅述。
例如,對(duì)于次序關(guān)系,第二事件通知規(guī)則可以指示在firstevent1之后發(fā)生firstevent2;或者firstevent1與firstevent2同時(shí)發(fā)生;對(duì)于邏輯關(guān)系,第二事件通知規(guī)則可以指示在firstevent1發(fā)生時(shí)不發(fā)生firstevent2,并且在firstevent1不發(fā)生時(shí)發(fā)生firstevent2;或者對(duì)于算術(shù)關(guān)系,第二事件通知規(guī)則可以指示firstevent1的值*firstevent2的值>(≥、<、≤、≠、=,等等)預(yù)定閾值。。
在一個(gè)例子中,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)是預(yù)先設(shè)置的。例如,可以在平臺(tái)側(cè)預(yù)先存儲(chǔ)多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)。可替換地,在針對(duì)預(yù)定目標(biāo)資源的情況下,多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則中的至少一個(gè)可以在平臺(tái)側(cè)是默認(rèn)的,或者可以由平臺(tái)側(cè)自行檢索。
在一個(gè)例子中,訂閱請(qǐng)求可以包括資源偏移量offset,指示一個(gè)或多個(gè)目標(biāo)資源的層級(jí)。因此,不僅可以關(guān)注目標(biāo)資源的子資源,還可以關(guān)注其孫資源、孫資源的子資源等等。例如,當(dāng)offset=0時(shí),表示訂閱目標(biāo)資源及其子資源的變化,當(dāng)offset=1時(shí),表示訂閱目標(biāo)資源及其子資源和孫資源的變化。此外,也可以設(shè)置offset,使得訂閱目標(biāo)資源的子資源、孫資源的變化。如前所述,在這里offset的值僅僅是示例,本領(lǐng)域技術(shù)人員可以根據(jù)需要將其設(shè)置為其他格式的值,并指定要關(guān)注的更多層級(jí)的資源。可以針對(duì)每個(gè)目標(biāo)資源分別設(shè)置offset的值,也可以針對(duì)全部目標(biāo)資源設(shè)置一個(gè)offset的值。如前所述,當(dāng)訂閱目標(biāo)資源及其子資源和孫資源的變化時(shí),可以存在針對(duì)孫資源的多個(gè)第一事件通知規(guī)則、針對(duì)子資源的多個(gè)第二事件通知規(guī)則以及針對(duì)目標(biāo)資源的第三事件通知規(guī)則。
在一個(gè)例子中,訂閱請(qǐng)求可以包括目標(biāo)資源的列表listofresource,以指定目標(biāo)資源。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗類型timewindowtype。例如,當(dāng)timewindowtype=1時(shí),表示時(shí)間窗為周期時(shí)間窗,并且當(dāng)timewindowtype=0時(shí),表示時(shí)間窗為滾動(dòng)時(shí)間窗。在滾動(dòng)時(shí)間窗的范圍內(nèi),如果產(chǎn)生相同的第一事件,則新事件代替舊事件。在周期時(shí)間窗的范圍內(nèi),只要有事件產(chǎn)生,即發(fā)送更新消息。當(dāng)然,本公開(kāi)實(shí)施例不限于此,還可以指定其他類型的時(shí)間窗。
在一個(gè)例子中,訂閱請(qǐng)求可以包括時(shí)間窗大小timewindowsize,其值可以為二進(jìn)制、十進(jìn)制、十六進(jìn)制等。時(shí)間窗大小的單位例如可以為秒。
在一個(gè)例子中,還可以在訂閱請(qǐng)求中包括所述多個(gè)第一事件通知規(guī)則和第二事件通知規(guī)則。這里,多個(gè)第一事件通知規(guī)則可以為列表形式。第一事件通知規(guī)則的個(gè)數(shù)可以為2個(gè)或更多個(gè)。例如,{eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},n為大于等于2的整數(shù)。根據(jù){eventnotificationcriteria1,eventnotificationcriteria2,…,eventnotificationcriterian},可以相應(yīng)地產(chǎn)生多個(gè)第一事件:firstevent1、firstevent2、……、firsteventn。
第二事件通知規(guī)則的數(shù)目也可以為2個(gè)或更多個(gè)。
此外,根據(jù)需要,還可以存在更多級(jí)的事件通知規(guī)則。例如,在創(chuàng)建了n級(jí)訂閱資源的情況下,可以存在相應(yīng)的n級(jí)事件通知規(guī)則,例如,多個(gè)第一事件通知規(guī)則、多個(gè)第二事件通知規(guī)則、……、第n事件通知規(guī)則(一個(gè)或多個(gè))。
可選地,offset、listofresource、timewindowtype和timewindowsize可以不被包括在訂閱請(qǐng)求中,而是默認(rèn)值。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。