本發(fā)明涉及網(wǎng)絡(luò)資源管理技術(shù)領(lǐng)域,尤其涉及訂閱資源的變更技術(shù)領(lǐng)域。
背景技術(shù):
隨著物聯(lián)網(wǎng)的發(fā)展,基于資源(Resource)的restful風(fēng)格的物聯(lián)網(wǎng)標(biāo)準(zhǔn)(技術(shù))也在制定和發(fā)展過程中,例如OCF、OneM2M、ETSIM2M。
在基于資源的系統(tǒng)構(gòu)架中,為了資源的推廣或者讓更多的人發(fā)現(xiàn)資源(商業(yè)行為),提出一種在另一個(gè)設(shè)備建立資源副本的解決方案,即把節(jié)點(diǎn)A上的某一資源在節(jié)點(diǎn)B上建立副本,該副本為節(jié)點(diǎn)A上的資源的子集(一般應(yīng)包含重要的資源和屬性),如果節(jié)點(diǎn)B是受眾能夠經(jīng)常訪問的網(wǎng)絡(luò)設(shè)備(或平臺(tái)),則無疑可以讓更多的人發(fā)現(xiàn)資源副本,進(jìn)而完成節(jié)點(diǎn)A上的資源的發(fā)現(xiàn)和推廣。
如圖1所示,在節(jié)點(diǎn)A有資源resource1,為了讓更多的人發(fā)現(xiàn)和使用resource1,節(jié)點(diǎn)A在節(jié)點(diǎn)B(訪問者眾多)上建立了resource1的副本文件(annc-resource1),annc-resource1為resource1的子集,包含resource1的主要資源和屬性;當(dāng)resource1發(fā)生變化的時(shí)候,其變化自會(huì)同步到annc-resource1。由于節(jié)點(diǎn)B存在大量受眾,當(dāng)其進(jìn)行資源發(fā)現(xiàn)時(shí),較為容易發(fā)現(xiàn)備份資源,進(jìn)而通過其link屬性發(fā)現(xiàn)節(jié)點(diǎn)A的resource1。
這種基于資源建立備份文件的方式進(jìn)行資源發(fā)現(xiàn)的解決方案,當(dāng)資源發(fā)現(xiàn)完成之后,節(jié)點(diǎn)C(發(fā)現(xiàn)了節(jié)點(diǎn)B上的備份資源)如果想要訂閱該資源,要么訂閱節(jié)點(diǎn)A上的resource1,要么訂閱節(jié)點(diǎn)B上的annc-resource1。其中,訂閱是指在資源上做一個(gè)標(biāo)記,該標(biāo)記上包含訂閱者的信息,當(dāng)資源發(fā)生變化時(shí),通知訂閱者,以便訂閱者進(jìn)行即時(shí)操作。
若訂閱節(jié)點(diǎn)A上的resource1,節(jié)點(diǎn)A有可能會(huì)發(fā)送大量的通知消息,如果節(jié)點(diǎn)A是受限設(shè)備或者處理能力不強(qiáng),可能會(huì)造成節(jié)點(diǎn)A的系統(tǒng)癱瘓;若是訂閱節(jié)點(diǎn)B上的annc-resource1,如果annc-resource1被刪除,則訂閱者將不能再訪問該資源。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決上面描述的問題。本發(fā)明的一個(gè)目的是提供一種解決以上問題中的任何一個(gè)的變更訂閱資源的方法及裝置。具體地,本發(fā)明提供能夠在刪除訂閱資源時(shí)為用戶推薦合適的替代訂閱目標(biāo)的變更訂閱資源的方法及裝置。
根據(jù)本發(fā)明的第一方面,本發(fā)明提供了一種變更訂閱資源的方法,所述變更訂閱資源的方法包括:
第一實(shí)體接收到刪除目標(biāo)資源的指令后,如檢測(cè)到所述目標(biāo)資源為副本文件、且為訂閱資源,則根據(jù)所述目標(biāo)資源的文件屬性值確定所述目標(biāo)資源的原始資源的信息,從所述原始資源的歸屬實(shí)體獲取所述原始資源的連接屬性,其中,所述原始資源的連接屬性包含所述原始資源的所有副本文件的標(biāo)識(shí)信息;
如根據(jù)所述連接屬性判斷出所述原始資源存在其他副本文件,則執(zhí)行下述方式中的任意一個(gè):
方式一:選擇其中一個(gè)副本文件作為替代資源,向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有所述替代資源的標(biāo)識(shí)信息,根據(jù)所述替代資源的標(biāo)識(shí)信息向所述替代資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容;
方式二:向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有除目標(biāo)資源外的部分或全部其它副本文件的信息,根據(jù)所述訂閱實(shí)體的選擇結(jié)果,向所述訂閱實(shí)體選擇的副本文件的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容;
刪除所述目標(biāo)資源。
其中,所述方法還包括:所述第一實(shí)體判斷所述原始資源不存在其它副本文件時(shí),向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有所述原始資源的信息,向所述原始資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容。
其中,所述方法還包括:所述第一實(shí)體從其它實(shí)體接收到訂閱請(qǐng)求后,根據(jù)所述訂閱請(qǐng)求中攜帶的所述目標(biāo)資源的信息確定所述目標(biāo)資源的原始資源的信息,根據(jù)此原始資源的信息確定所述第一實(shí)體中此原始資源的副本文件;從所述訂閱請(qǐng)求中攜帶的訂閱子資源內(nèi)容獲取訂閱者的信息,根據(jù)所述訂閱者的信息為所述第一實(shí)體中的所述副本文件與所述訂閱者之間建立訂閱關(guān)系。
其中,所述方法還包括:所述第一實(shí)體從其它實(shí)體接收到訂閱資源地址變更消息后,判斷此訂閱資源地址變更消息中攜帶一個(gè)以上的副本文件的信息時(shí),從中選擇一個(gè)副本文件的信息并返回選擇的結(jié)果。
其中,所述方法還包括:所述第一實(shí)體接收到用于獲取所述原始資源的連接屬性的請(qǐng)求信息后,返回所述原始資源的連接屬性。
根據(jù)本發(fā)明的另一方面,本發(fā)明還提供了一種變更訂閱資源的裝置,所述變更訂閱資源的裝置包括:通訊模塊、判斷模塊和控制模塊,其中,
所述通信模塊,用于接收刪除目標(biāo)資源的指令,并根據(jù)所述目標(biāo)資源的文件屬性值確定所述目標(biāo)資源的原始資源的信息,并從所述原始資源的歸屬實(shí)體獲取所述原始資源的連接屬性,其中,所述原始資源的連接屬性包含所述原始資源的所有副本文件的標(biāo)識(shí)信息;還用于所述判斷模塊判斷出所述原始資源存在其它副本文件時(shí),執(zhí)行下述方式中的任意一個(gè):
方式一:選擇其中一個(gè)副本文件作為替代資源,向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有所述替代資源的標(biāo)識(shí)信息,根據(jù)所述替代資源的標(biāo)識(shí)信息向所述替代資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容;
方式二:向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有除目標(biāo)資源外的部分或全部其它副本文件的信息,根據(jù)所述訂閱實(shí)體的選擇結(jié)果,向所述訂閱實(shí)體選擇的副本文件的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容;
所述判斷模塊,用于檢測(cè)所述目標(biāo)資源是否為副本文件、是否為訂閱資源,以及根據(jù)所述連接屬性判斷所述原始資源是否存在其他副本文件;
所述控制模塊,用于刪除所述目標(biāo)資源。
其中,所述通信模塊,還用于在所述判斷模塊判斷所述原始資源不存在其它副本文件時(shí),向所述目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有所述原始資源的信息,向所述原始資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有所述目標(biāo)資源的信息和訂閱子資源內(nèi)容。
其中,所述通信模塊,還用于從其它實(shí)體接收訂閱請(qǐng)求,根據(jù)所述訂閱請(qǐng)求中攜帶的所述目標(biāo)資源的信息確定所述目標(biāo)資源的原始資源的信息,根據(jù)此原始資源的信息確定所述變更訂閱資源的裝置中此原始資源的副本文件;從所述訂閱請(qǐng)求中攜帶的訂閱子資源內(nèi)容獲取訂閱者的信息;
所述控制模塊,還用于根據(jù)訂閱者的信息為所述變更訂閱資源的裝置中的所述副本文件與所述訂閱者之間建立訂閱關(guān)系。
其中,所述通信模塊,還用于從其它實(shí)體接收到訂閱資源地址變更消息后,判斷此訂閱資源地址變更消息中攜帶一個(gè)以上的副本文件的信息時(shí),從中選擇一個(gè)副本文件的信息并返回選擇結(jié)果。
其中,所述通信模塊,還用于接收到用于獲取原始資源的連接屬性的請(qǐng)求信息后,返回所述原始資源的連接屬性。
根據(jù)本發(fā)明所提供的變更訂閱資源的方法及裝置,在刪除訂閱資源時(shí),能夠?yàn)橛脩敉扑]合適的替代資源作為訂閱資源,在不損害用戶體驗(yàn)的基礎(chǔ)上,在后臺(tái)完成訂閱資源的變更。進(jìn)一步地,該方案也可以應(yīng)用在服務(wù)器的遷移、負(fù)載均衡方面。
參照附圖來閱讀對(duì)于示例性實(shí)施例的以下描述,本發(fā)明的其他特性特征和優(yōu)點(diǎn)將變得清晰。
附圖說明
并入到說明書中并且構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且與描述一起用于解釋本發(fā)明的原理。在這些附圖中,類似的附圖標(biāo)記用于表示類似的要素。下面描述中的附圖是本發(fā)明的一些實(shí)施例,而不是全部實(shí)施例。對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了節(jié)點(diǎn)A、節(jié)點(diǎn)B和節(jié)點(diǎn)C之間的關(guān)系結(jié)構(gòu)圖;
圖2示例性地示出了本發(fā)明的變更訂閱資源的方法的流程圖;
圖3示例性地示出了本發(fā)明的變更訂閱資源的裝置的模塊結(jié)構(gòu)示意圖;
圖4示例性地示出了本發(fā)明的變更訂閱資源的方法的實(shí)施例一的實(shí)施流程圖;
圖5示例性地示出了本發(fā)明的變更訂閱資源的方法的實(shí)施例二的實(shí)施流程圖;
圖6示例性地示出了本發(fā)明的變更訂閱資源的方法的實(shí)施例三的實(shí)施流程圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
本發(fā)明的基本思想是在接收到刪除資源的命令時(shí),若判斷出該資源為副本文件、且為訂閱資源,則查找其它副本文件,并擇一作為替代資源推薦給用戶,建立訂閱關(guān)系;若無其它副本文件,則推薦原始資源進(jìn)行訂閱。從而可以不損害用戶體驗(yàn),且能有保證設(shè)備及系統(tǒng)的正常運(yùn)行。
下面結(jié)合附圖,對(duì)根據(jù)本發(fā)明所提供的變更訂閱資源的方法及裝置進(jìn)行詳細(xì)說明。
圖2示出了根據(jù)本發(fā)明的變更訂閱資源的方法的一種流程圖,參照?qǐng)D2所示,該變更訂閱資源的方法包括:
第一實(shí)體接收到刪除目標(biāo)資源的指令后,檢測(cè)到該目標(biāo)資源為副本文件、且為訂閱資源,根據(jù)目標(biāo)資源的文件屬性值確定目標(biāo)資源的原始資源的信息,并從原始資源的歸屬實(shí)體獲取原始資源的連接屬性,其中,該原始資源的連接屬性中包含該原始資源的所有副本文件的標(biāo)識(shí)信息;
根據(jù)原始資源的連接屬性判斷原始資源存在其他副本文件時(shí),執(zhí)行下述方式中的任意一個(gè):
方式一:選擇其中一個(gè)副本文件作為替代資源,向目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有替代資源的標(biāo)識(shí)信息,并根據(jù)該替代資源的標(biāo)識(shí)信息向替代資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源的內(nèi)容;
方式二:向目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有除目標(biāo)資源外的原始資源的部分或全部其它副本文件的信息,并根據(jù)訂閱實(shí)體的選擇結(jié)果,向訂閱實(shí)體選擇的副本文件的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源內(nèi)容;
第一實(shí)體刪除目標(biāo)資源。
當(dāng)?shù)谝粚?shí)體判斷到該原始資源不存在其它副本文件時(shí),則直接將原始資源作為替代資源推薦給目標(biāo)資源的訂閱實(shí)體,即:向目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有原始資源的信息,并向原始資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源的內(nèi)容。
在本文中,第一實(shí)體既可以是要?jiǎng)h除的目標(biāo)資源的歸屬實(shí)體,也可以是其它副本文件的歸屬實(shí)體,例如,可以是被選中作為替代資源的副本文件的歸屬實(shí)體,也可以是原始資源的歸屬實(shí)體,進(jìn)一步地,還可以是訂閱實(shí)體。
具體地,第一實(shí)體作為被選作替代資源的副本文件的歸屬實(shí)體時(shí),根據(jù)本發(fā)明的變更訂閱資源的方法還包括:
第一實(shí)體從其它實(shí)體接收到訂閱請(qǐng)求后,根據(jù)該訂閱請(qǐng)求中攜帶的目標(biāo)資源的信息確定此目標(biāo)資源的原始資源的信息,根據(jù)此原始資源的信息確定所述第一實(shí)體中此原始資源的副本文件;并從該訂閱請(qǐng)求中攜帶的訂閱子資源內(nèi)容獲取訂閱者的信息,該訂閱者的信息中包括訂閱實(shí)體的標(biāo)識(shí)和訂閱者的標(biāo)識(shí)等信息,根據(jù)該訂閱者的信息為在第一實(shí)體中的上述原始資源的副本文件建立與訂閱者之間的訂閱關(guān)系。
具體地,當(dāng)?shù)谝粚?shí)體作為訂閱實(shí)體時(shí),本發(fā)明的變更訂閱資源的方法還可以包括:
第一實(shí)體從其它實(shí)體接收到訂閱資源地址變更消息后,判斷此訂閱資源地址變更消息中攜帶一個(gè)以上的副本文件的信息時(shí),從中選擇一個(gè)副本文件的信息并返回選擇的結(jié)果。
進(jìn)一步地,當(dāng)?shù)谝粚?shí)體作為原始資源的歸屬實(shí)體時(shí),本發(fā)明的變更訂閱資源的方法還可以包括:
當(dāng)?shù)谝粚?shí)體接收到用于獲取原始資源的連接屬性的請(qǐng)求信息后,返回該原始資源的連接屬性。
相適應(yīng)于上述變更訂閱資源的方法,本發(fā)明還提供了一種變更訂閱資源的裝置,圖3示出了該變更訂閱資源的裝置的一種模塊結(jié)構(gòu)示意圖。該變更訂閱資源的裝置即上述方法中的第一實(shí)體,即可以是原始資源的歸屬實(shí)體,也可以是副本文件的歸屬實(shí)體,還可以是訂閱實(shí)體。參照?qǐng)D3所示,該裝置包括通信模塊、判斷模塊和控制模塊。
其中,通信模塊用于接收刪除目標(biāo)資源的指令,并根據(jù)目標(biāo)資源的文件屬性值確定目標(biāo)資源的原始資源的信息,以及從原始資源的歸屬實(shí)體獲取該原始資源的連接屬性,其中,該原始資源的連接屬性中包含該原始資源的所有副本文件的標(biāo)識(shí)信息;還用于當(dāng)判斷模塊判斷出該原始資源存在其它副本文件時(shí),執(zhí)行下述方式中的任意一個(gè):
方式一:選擇其中一個(gè)副本文件作為替代資源,向該目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有該替代資源的標(biāo)識(shí)信息,并根據(jù)該替代資源的標(biāo)識(shí)信息向該替代資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源內(nèi)容;
方式二:向目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有原始資源的除目標(biāo)資源外的部分或全部其它副本文件的信息,并根據(jù)訂閱實(shí)體的選擇結(jié)果,向訂閱實(shí)體選擇的副本文件的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源內(nèi)容。
其中,判斷模塊用于判斷要?jiǎng)h除的目標(biāo)資源是否為副本文件、是否為訂閱資源,以及根據(jù)其原始資源的連接屬性判斷原始資源是否存在其他副本文件。
其中,控制模塊主要用于刪除目標(biāo)資源。
具體地,在判斷模塊判斷原始資源不存在其它副本文件時(shí),通訊模塊還可以用于向目標(biāo)資源的訂閱實(shí)體發(fā)送訂閱資源地址變更消息,此訂閱資源地址變更消息中攜帶有原始資源的信息,并向原始資源的歸屬實(shí)體發(fā)送訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶有目標(biāo)資源的信息和訂閱子資源內(nèi)容。
當(dāng)該裝置作為被選作替代資源的副本文件的歸屬實(shí)體時(shí),通信模塊還可以用于從其它實(shí)體接收訂閱請(qǐng)求,根據(jù)訂閱請(qǐng)求中攜帶的目標(biāo)資源的信息確定此目標(biāo)資源的原始資源的信息,根據(jù)此原始資源的信息確定在本裝置中此原始資源的副本文件;并從該訂閱請(qǐng)求中攜帶的訂閱子資源內(nèi)容獲取訂閱者的信息,此訂閱者的信息中包括訂閱實(shí)體的標(biāo)識(shí)和訂閱者的標(biāo)識(shí)等信息。而控制模塊還可以用于根據(jù)從訂閱子資源內(nèi)容中獲取到的訂閱者的信息,為本裝置中的此原始資源的副本文件與該訂閱者之間建立訂閱關(guān)系。
當(dāng)本發(fā)明的變更訂閱資源的裝置作為訂閱實(shí)體時(shí),通信模塊還可以用于從其它實(shí)體接收到訂閱資源地址變更消息后,判斷模塊判斷出此訂閱資源地址變更消息中攜帶一個(gè)以上的副本文件的信息時(shí),從中選擇一個(gè)副本文件的信息并返回選擇結(jié)果。
而當(dāng)該裝置作為原始資源的歸屬實(shí)體時(shí),通信模塊則可以用于接收到用于獲取原始資源的連接屬性的請(qǐng)求信息,并返回該原始資源的連接屬性。進(jìn)一步地,原始資源在除要?jiǎng)h除的副本文件外沒有其它副本文件時(shí),通信模塊還可以用于接收其它實(shí)體發(fā)送的訂閱請(qǐng)求,根據(jù)訂閱請(qǐng)求中攜帶的副本文件的信息確定此副本文件的原始資源的信息,并從該訂閱請(qǐng)求中攜帶的訂閱子資源內(nèi)容獲取訂閱者的信息;而控制模塊還可以用于根據(jù)從訂閱子資源內(nèi)容中獲取到的訂閱者的信息,為本裝置中的此原始資源與該訂閱者之間建立訂閱關(guān)系。
具體實(shí)施例一
圖4示出了根據(jù)本發(fā)明的變更訂閱資源的方法的一種實(shí)施例的具體實(shí)施流程圖,參照?qǐng)D4所示,原始實(shí)體與宣布實(shí)體1建立關(guān)于資源Resource1的資源映射關(guān)系,即在宣布實(shí)體1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在該副本文件的屬性中增加原始實(shí)體中Resource1的ID或地址,從而明確兩者的關(guān)系;同時(shí),原始實(shí)體需要在Resource1的連接屬性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,從而關(guān)聯(lián)Resource1和所有副本文件。建立映射關(guān)系后,如果Resource1發(fā)生變化,會(huì)同時(shí)反映到副本文件上。
同理,原始實(shí)體與宣布實(shí)體2也建立關(guān)于資源Resource1的資源映射關(guān)系,在宣布實(shí)體2上建立Resource1的副本文件annc-resource1-id2,并在該副本文件的屬性中增加原始實(shí)體中Resource1的ID或地址;同時(shí),原始實(shí)體在Resource1的連接屬性上增加annc-resource1-id2的ID或者地址。
訂閱實(shí)體發(fā)現(xiàn)并訂閱宣布實(shí)體2上的annc-resource1-id2資源,所謂的訂閱就是在訂閱資源下建立一個(gè)訂閱子資源用來記錄:訂閱者的ID或者地址、訂閱的內(nèi)容等信息。
當(dāng)宣布實(shí)體2接收到刪除annc-resource1-id2的指令時(shí):
宣布實(shí)體2檢測(cè)annc-resource1-id2的屬性獲知annc-resource1-id2為副本文件,且為訂閱資源,宣布實(shí)體2根據(jù)annc-resource1-id2的屬性值(resource1的標(biāo)識(shí)(ID或地址))向原始實(shí)體發(fā)送請(qǐng)求Resource1的連接屬性的請(qǐng)求信息,目的是獲取Resource1是否在其他實(shí)體上存在副本文件。
原始實(shí)體接收到上述請(qǐng)求信息后,將Resource1的連接屬性發(fā)送至宣布實(shí)體2。
宣布實(shí)體2接收到Resource1的連接屬性后,判斷Resource1在其它實(shí)體上存在副本文件,獲取除annc-resource1-id2外的Resource1的副本文件的地址,并選擇其中一個(gè)作為替代資源推薦給訂閱實(shí)體,例如,推薦宣布實(shí)體1上的annc-resource1-id1;并且,宣布實(shí)體2向宣布實(shí)體1發(fā)送關(guān)于annc-resource1-id1的訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶annc-resource1-id2的信息和訂閱子資源的內(nèi)容。
宣布實(shí)體1接收到訂閱請(qǐng)求后,根據(jù)annc-resource1-id2的信息確定Resource1的信息,從而確定要訂閱的副本文件為annc-resource1-id1,并從訂閱子資源的內(nèi)容中獲取訂閱者的信息,包括訂閱實(shí)體的標(biāo)識(shí)和訂閱者的標(biāo)識(shí)等信息,并據(jù)此為annc-resource1-id1創(chuàng)建與訂閱者之間的訂閱關(guān)系,然后向宣布實(shí)體2發(fā)送確認(rèn)消息。
宣布實(shí)體2接收到宣布實(shí)體1的確認(rèn)消息后,向訂閱實(shí)體發(fā)送訂閱資源地址變更成功的通知消息,此通知消息中攜帶宣布實(shí)體1的ID或地址;宣布實(shí)體2刪除annc-resource1-id2。
具體實(shí)施例二
圖5示出了根據(jù)本發(fā)明的變更訂閱資源的方法的另一種實(shí)施例的具體實(shí)施流程圖,參照?qǐng)D5所示,原始實(shí)體與宣布實(shí)體1建立關(guān)于資源Resource1的資源映射關(guān)系,在宣布實(shí)體1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在該副本文件的屬性中增加原始實(shí)體中Resource1的ID或地址,從而明確兩者的關(guān)系;同時(shí),原始實(shí)體需要在Resource1的連接屬性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,從而關(guān)聯(lián)Resource1和所有副本文件。
同理,原始實(shí)體與宣布實(shí)體2也建立關(guān)于資源Resource1的資源映射關(guān)系,在宣布實(shí)體2上建立Resource1的副本文件annc-resource1-id2,并在該副本文件的屬性中增加原始實(shí)體中Resource1的ID或地址;同時(shí),原始實(shí)體在Resource1的連接屬性上增加annc-resource1-id2的ID或者地址。
訂閱實(shí)體發(fā)現(xiàn)并訂閱宣布實(shí)體2上的annc-resource1-id2資源。
當(dāng)宣布實(shí)體2接收到刪除annc-resource1-id2的指令時(shí):
宣布實(shí)體2檢測(cè)annc-resource1-id2的屬性獲知annc-resource1-id2為副本文件,且為訂閱資源,宣布實(shí)體2根據(jù)annc-resource1-id2的屬性值(resource1的標(biāo)識(shí)(ID或地址))向原始實(shí)體發(fā)送請(qǐng)求Resource1的連接屬性的請(qǐng)求信息,目的是獲取Resource1是否在其他實(shí)體上存在副本文件。
原始實(shí)體接收到上述請(qǐng)求信息后,將Resource1的連接屬性發(fā)送至宣布實(shí)體2。
宣布實(shí)體2接收到Resource1的連接屬性后,判斷Resource1在其它實(shí)體上存在副本文件,獲取除annc-resource1-id2外的Resource1的副本文件的地址,并將其中的部分或者全部副本文件的地址列表作為推薦列表發(fā)送至訂閱實(shí)體,根據(jù)訂閱實(shí)體的選擇結(jié)果,例如訂閱實(shí)體選中宣布實(shí)體1上的annc-resource1-id1作為替代資源,向宣布實(shí)體1發(fā)送關(guān)于annc-resource1-id1的訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶annc-resource1-id2的信息和訂閱子資源的內(nèi)容。
宣布實(shí)體1接收到訂閱請(qǐng)求后,根據(jù)annc-resource1-id2的信息確定Resource1的信息,從而確定要訂閱的副本文件為annc-resource1-id1,并從訂閱子資源的內(nèi)容中獲取訂閱者的信息,包括訂閱實(shí)體的標(biāo)識(shí)和訂閱者的標(biāo)識(shí)等信息,并據(jù)此為annc-resource1-id1創(chuàng)建與該訂閱者之間的訂閱關(guān)系,然后向宣布實(shí)體2發(fā)送確認(rèn)消息。
宣布實(shí)體2接收到宣布實(shí)體1的確認(rèn)消息后,向訂閱實(shí)體發(fā)送訂閱資源地址變更成功的通知消息,此通知消息中攜帶宣布實(shí)體1的ID或地址;宣布實(shí)體2刪除annc-resource1-id2。
具體實(shí)施例三
圖6示出了根據(jù)本發(fā)明的變更訂閱資源的方法的第三種實(shí)施例的具體實(shí)施流程圖,參照?qǐng)D6所示,原始實(shí)體與宣布實(shí)體1建立關(guān)于資源Resource1的資源映射關(guān)系,在宣布實(shí)體1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在該副本文件的屬性中增加原始實(shí)體中Resource1的ID或地址,從而明確兩者的關(guān)系;同時(shí),原始實(shí)體需要在Resource1的連接屬性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,從而關(guān)聯(lián)Resource1。
訂閱實(shí)體發(fā)現(xiàn)并訂閱宣布實(shí)體1上的annc-resource1-id1資源。
當(dāng)宣布實(shí)體1接收到刪除annc-resource1-id1的指令時(shí):
宣布實(shí)體1檢測(cè)annc-resource1-id1的屬性獲知annc-resource1-id1為副本文件,且為訂閱資源,宣布實(shí)體1根據(jù)annc-resource1-id1的屬性值(resource1的標(biāo)識(shí)(ID或地址))向原始實(shí)體發(fā)送請(qǐng)求Resource1的連接屬性的請(qǐng)求信息,目的是獲取Resource1是否在其他實(shí)體上存在副本文件。
原始實(shí)體接收到上述請(qǐng)求信息后,將Resource1的連接屬性發(fā)送至宣布實(shí)體1。
宣布實(shí)體1接收到Resource1的連接屬性后,判斷Resource1不存在其它副本文件,向訂閱實(shí)體發(fā)送訂閱資源變更消息,此消息中攜帶Resource1的地址,并向原始實(shí)體發(fā)送關(guān)于Resource1的訂閱請(qǐng)求,此訂閱請(qǐng)求中攜帶annc-resource1-id1的信息和訂閱子資源的內(nèi)容。
原始實(shí)體接收到訂閱請(qǐng)求后,根據(jù)annc-resource1-id1的信息確定Resource1的信息,從而確定要訂閱的資源為Resource1,并從訂閱子資源的內(nèi)容中獲取訂閱者的信息,包括訂閱實(shí)體的標(biāo)識(shí)和訂閱者的標(biāo)識(shí)等信息,并據(jù)此為Resource1創(chuàng)建與該訂閱者之間的訂閱關(guān)系,然后向宣布實(shí)體1發(fā)送確認(rèn)消息。
宣布實(shí)體1接收到原始實(shí)體的確認(rèn)消息后,向訂閱實(shí)體發(fā)送訂閱資源地址變更成功的通知消息,此通知消息中攜帶原始實(shí)體的ID或地址;宣布實(shí)體1刪除annc-resource1-id1。
上面描述的內(nèi)容可以單獨(dú)地或者以各種方式組合起來實(shí)施,而這些變型方式都在本發(fā)明的保護(hù)范圍之內(nèi)。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包含一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)…”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制。盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。