本發(fā)明涉及通信領(lǐng)域,尤其涉及一種資源獲取的方法及相關(guān)設(shè)備。
背景技術(shù):
:m2m(machinetomachine,機(jī)器與機(jī)器)是將數(shù)據(jù)從一臺(tái)終端傳送到另一臺(tái)終端,也就是機(jī)器與機(jī)器(machinetomachine)的對(duì)話。m2m是機(jī)器和機(jī)器之間的一種智能化、交互式的通信。隨著m2m技術(shù)迅速發(fā)展,已經(jīng)在越來(lái)越多的垂直行業(yè)和領(lǐng)域得到豐富的應(yīng)用。例如智能交通、農(nóng)業(yè)灌溉、智能家居、電網(wǎng)、抄表等行業(yè)。m2m系統(tǒng)為了滿足對(duì)不同垂直行業(yè)應(yīng)用服務(wù)的需要,開(kāi)發(fā)統(tǒng)一的m2m平臺(tái)實(shí)現(xiàn)部分公共能力,例如數(shù)據(jù)訪問(wèn)和存儲(chǔ)、數(shù)據(jù)的共享和傳輸、群組通信、對(duì)數(shù)據(jù)的訂閱通知、安全、計(jì)費(fèi)、設(shè)備管理等。在m2m系統(tǒng)中可以包括終端、注冊(cè)服務(wù)器和資源服務(wù)器,注冊(cè)服務(wù)器可以是運(yùn)營(yíng)商平臺(tái),可以是家庭網(wǎng)關(guān),資源服務(wù)器提供具體特定的服務(wù),可以是天氣服務(wù)器,也可以是車(chē)隊(duì)管理服務(wù)器。終端通過(guò)注冊(cè)服務(wù)器向資源服務(wù)器獲取資源,資源是信息的一種抽象,任何能夠被命名的信息都能夠作為一個(gè)資源:例如,資源可以是一份文檔或一張圖片、一個(gè)與時(shí)間相關(guān)的服務(wù)(例如,“南京2015年9月1號(hào)的天氣”)等。在實(shí)際應(yīng)用中,例如:終端a需要獲取資源c,而終端b也需要獲取資源c,資源c包括例如具體內(nèi)容、內(nèi)容大小、內(nèi)容格式等屬性,其中,在一種情況下,終端a需要獲取的資源c和終端b獲取的資源c相同,則資源服務(wù)器向注冊(cè)服務(wù)器發(fā)送兩次相同的資源。在另一種情況下,終端a獲取的資源c與終端b獲取的資源c相比,其中,只有一部分的屬性值發(fā)生了改變,而其中大部分的屬性值是相同的,資源服務(wù)器可能會(huì)將大部分重復(fù)的數(shù)據(jù),即屬性值相同的那部分?jǐn)?shù)據(jù)多次發(fā)送給注冊(cè)服務(wù)器,從而造成了資源服務(wù)器和注冊(cè)服務(wù)器之間的冗余數(shù)據(jù)傳輸,造成網(wǎng)絡(luò)資源的浪費(fèi),也減緩了注冊(cè)服務(wù)器對(duì)終端的響應(yīng)速度。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種資源獲取的方法及相關(guān)設(shè)備,能夠有效的減少注冊(cè)服務(wù)器和資源服務(wù)器之間冗余數(shù)據(jù)的傳輸,節(jié)省網(wǎng)絡(luò)資源。本發(fā)明中實(shí)施例中,提供了一種通信系統(tǒng),該通信系統(tǒng)包括終端、注冊(cè)服務(wù)器和資源服務(wù)器,其中,在具體m2m網(wǎng)絡(luò)部署中,終端可對(duì)應(yīng)adn(applicationdedicatednode,應(yīng)用專用節(jié)點(diǎn))、asn(applicationservicenode,應(yīng)用服務(wù)節(jié)點(diǎn))、mn(middlenode,中間節(jié)點(diǎn)),注冊(cè)服務(wù)器和資源服務(wù)器可對(duì)應(yīng)asn、mn或in(infrastructurenode,基礎(chǔ)設(shè)施節(jié)點(diǎn))。注冊(cè)服務(wù)器(英文:registrarcommonserviceentity,縮寫(xiě):r-cse)為終端注冊(cè)的cse,cse(commonserviceentity,公共服務(wù)實(shí)體)是作為m2m系統(tǒng)的公共能力部件,可以實(shí)現(xiàn)對(duì)公共能力的承載。資源服務(wù)器(英文:hostingcommonserviceentity,縮寫(xiě):h-cse)為資源或?qū)傩缘某钟袑?shí)體。注冊(cè)服務(wù)器可以支持多個(gè)終端,注冊(cè)服務(wù)器可以是運(yùn)營(yíng)商平臺(tái),可以是家庭網(wǎng)關(guān)。資源服務(wù)器提供具體特定的服務(wù),如,可以是天氣服務(wù)器,也可以是車(chē)隊(duì)管理服務(wù)器。終端可以通過(guò)注冊(cè)服務(wù)器向資源服務(wù)器獲取資源或資源的屬性。本發(fā)明實(shí)施例中,在注冊(cè)服務(wù)器中引入存儲(chǔ)機(jī)制,將資源進(jìn)行存儲(chǔ),當(dāng)終端請(qǐng)求獲取目標(biāo)屬性時(shí),該目標(biāo)屬性為資源包含的部分屬性,注冊(cè)服務(wù)器首先在本地存儲(chǔ)進(jìn)行搜索,確定本地是否存儲(chǔ)有該目標(biāo)屬性所屬的資源,若存儲(chǔ)有該資源,注冊(cè)服務(wù)器就會(huì)直接將本地存儲(chǔ)的該資源所包含的目標(biāo)屬性發(fā)送給終端,而不需要向資源服務(wù)器獲取目標(biāo)屬性了,有效的減少了注冊(cè)服務(wù)器和資源服務(wù)器之間的數(shù)據(jù)傳輸。本發(fā)明中終端需要獲取的可能是資源,也可能是該資源所包括的目標(biāo)屬性,下面對(duì)終端需要獲取目標(biāo)屬性進(jìn)行說(shuō)明。第一方面,本發(fā)明實(shí)施例提供一種資源獲取的方法,應(yīng)用于機(jī)器通信m2m系統(tǒng)。其中,注冊(cè)服務(wù)器接收終端發(fā)送的用于獲取資源包含的目標(biāo)屬性的第一請(qǐng)求,該第一請(qǐng)求中攜帶該目標(biāo)屬性的通用資源標(biāo)識(shí)符uri,注冊(cè)服務(wù)器可以根據(jù)uri確定出第一請(qǐng)求所請(qǐng)求的是資源包括的目標(biāo)屬性,該目標(biāo)屬性為該資源包含的部分內(nèi)容,目標(biāo)屬性為至少一個(gè)屬性,注冊(cè)服務(wù)器根據(jù)通用資源標(biāo)識(shí)符(英文:uniformresourceidentifier,縮寫(xiě):uri)確定該注冊(cè)服務(wù)器中存儲(chǔ)有該目標(biāo)屬性所屬的資源,然后,注冊(cè)服務(wù)器將uri的資源部分 作為索引在本地存儲(chǔ)進(jìn)行搜索,確定本地存儲(chǔ)中是否存在該目標(biāo)屬性所屬的資源,當(dāng)注冊(cè)服務(wù)器確定本地存儲(chǔ)有該目標(biāo)屬性所屬的資源時(shí),注冊(cè)服務(wù)器向終端發(fā)送uri指示的有效的目標(biāo)屬性,這里的有效的目標(biāo)屬性為注冊(cè)服務(wù)器中本地存儲(chǔ)的目標(biāo)屬性。這里所指的資源為終端向注冊(cè)服務(wù)器首次獲取請(qǐng)求后,注冊(cè)服務(wù)器從資源服務(wù)器獲取響應(yīng)并存儲(chǔ)后得到的。在注冊(cè)服務(wù)器中存儲(chǔ)的資源會(huì)進(jìn)行更新,可以定期進(jìn)行數(shù)據(jù)更新并存儲(chǔ),優(yōu)選的,隨著后期資源服務(wù)器向注冊(cè)服務(wù)器返回的變化的屬性值內(nèi)容而同步更新并存儲(chǔ)。通過(guò)本發(fā)明的實(shí)施例,在注冊(cè)服務(wù)器中引入了存儲(chǔ)機(jī)制,當(dāng)終端向注冊(cè)服務(wù)器請(qǐng)求目標(biāo)屬性時(shí),注冊(cè)服務(wù)器根據(jù)uri的資源部分為索引在存儲(chǔ)中進(jìn)行搜索,若確定本地存儲(chǔ)有該目標(biāo)屬性所屬的資源時(shí),注冊(cè)服務(wù)器直接向終端發(fā)送該資源所屬的目標(biāo)資源,不需要再向資源服務(wù)器獲取,有效的減少的注冊(cè)服務(wù)器和資源服務(wù)器之間的數(shù)據(jù)的傳輸量。具體的,注冊(cè)服務(wù)器對(duì)于有效的目標(biāo)屬性的確定又包括幾種不同的情況,下面分別進(jìn)行說(shuō)明。在一個(gè)可能的設(shè)計(jì)中,該資源包含用于指示該資源有效期的時(shí)間屬性,該注冊(cè)服務(wù)器可以根據(jù)該時(shí)間屬性確定該目標(biāo)屬性所屬的資源是否過(guò)期,若該資源未過(guò)期,那么,注冊(cè)服務(wù)器確定該有效的目標(biāo)屬性具體為該注冊(cè)服務(wù)器中存儲(chǔ)的該uri所指示的目標(biāo)屬性。注冊(cè)服務(wù)器向終端發(fā)送該有效的目標(biāo)屬性。在一個(gè)可能的設(shè)計(jì)中,若注冊(cè)服務(wù)器根據(jù)時(shí)間屬性確定目標(biāo)屬性所屬的資源已過(guò)期,進(jìn)一步的,注冊(cè)服務(wù)器會(huì)向資源服務(wù)器發(fā)送第二請(qǐng)求,該第二請(qǐng)求用于向資源服務(wù)器獲取該目標(biāo)屬性,該第二請(qǐng)求攜帶存儲(chǔ)在注冊(cè)服務(wù)器中的該資源的最后修改時(shí)間屬性值和uri。之后,該注冊(cè)服務(wù)器會(huì)接收資源服務(wù)器反饋的屬性值內(nèi)容,其中,屬性值內(nèi)容具體為當(dāng)注冊(cè)服務(wù)器中存儲(chǔ)的最后修改時(shí)間屬性值與資源服務(wù)器中存儲(chǔ)的最后修改時(shí)間屬性值不同時(shí),存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于該存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容。注冊(cè)服務(wù)器器確定有效的目標(biāo)屬性具體為:注冊(cè)服務(wù)器接收的該屬性值內(nèi)容和注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性中未發(fā)生變化的屬性值內(nèi)容。本發(fā)明實(shí)施例中,注冊(cè)服務(wù)器首先會(huì)根據(jù)資源的時(shí)間屬性確定該資源是否過(guò)期了,如果該資源沒(méi)有過(guò)期,則直接確定本地存儲(chǔ)的未過(guò)期的資源所包含的目標(biāo)屬性為有效的目標(biāo)屬性。不需要向資源服務(wù)器獲取,如果該資源已過(guò)期,注冊(cè)服務(wù)器會(huì)將該資源包括的最后修改時(shí)間屬性值發(fā)送給資源服務(wù)器,以使資源服務(wù)器根據(jù)該最后修改時(shí)間屬性值來(lái)確定在注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性中哪些屬性值內(nèi)容發(fā)生了變化,注冊(cè)服務(wù)器接收資源服務(wù)器發(fā)送的目標(biāo)屬性中發(fā)生變化的屬性值內(nèi)容,并不會(huì)接收全部的目標(biāo)屬性內(nèi)容,有效的減少的了注冊(cè)服務(wù)器和資源服務(wù)器之間的數(shù)據(jù)傳輸,注冊(cè)服務(wù)器確定接收的發(fā)生變化的屬性值內(nèi)容和本地存儲(chǔ)的未發(fā)生變化的屬性值內(nèi)容為有效的目標(biāo)屬性,注冊(cè)服務(wù)器向終端發(fā)送有效的目標(biāo)屬性。上面對(duì)終端向注冊(cè)服務(wù)器獲取目標(biāo)屬性做了說(shuō)明,下面對(duì)終端需要獲取資源進(jìn)行說(shuō)明。在一個(gè)可能的設(shè)計(jì)中,該注冊(cè)服務(wù)器接收終端發(fā)送的用于獲取資源的第三請(qǐng)求,該第三請(qǐng)求中攜帶資源的uri,注冊(cè)服務(wù)器將uri作為索引,在本地存儲(chǔ)中進(jìn)行搜索,注冊(cè)服務(wù)器根據(jù)資源的uri確定本地存儲(chǔ)有該資源,并且,注冊(cè)服務(wù)器根據(jù)資源的時(shí)間屬性確定該資源是否已經(jīng)過(guò)期了,若該資源已過(guò)期,注冊(cè)服務(wù)器就會(huì)向資源服務(wù)器發(fā)送第四請(qǐng)求,該第四請(qǐng)求用于向資源服務(wù)器請(qǐng)求獲取該資源,同時(shí)第四請(qǐng)求還會(huì)攜帶資源的uri和在注冊(cè)服務(wù)器中存儲(chǔ)的資源的最后修改時(shí)間屬性值,之后,該注冊(cè)服務(wù)器接收該資源服務(wù)器反饋的屬性值內(nèi)容,其中,該屬性值內(nèi)容包括存儲(chǔ)在資源服務(wù)器的當(dāng)最后修改時(shí)間屬性值與存儲(chǔ)在該注冊(cè)服務(wù)器中的該最后修改時(shí)間屬性值不同時(shí),存儲(chǔ)在資源服務(wù)器的資源中相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源的屬性值發(fā)生變化的屬性值內(nèi)容。注冊(cè)服務(wù)器確定該有效的資源具體為:接收的發(fā)生變化的屬性值內(nèi)容和存儲(chǔ)在該注冊(cè)服務(wù)器中未發(fā)生變化的屬性值內(nèi)容。該注冊(cè)服務(wù)器向該終端發(fā)送該有效的資源。注冊(cè)服務(wù)器接收到變化的屬性值內(nèi)容時(shí),根據(jù)變化的屬性值內(nèi)容將對(duì)應(yīng)的屬性值進(jìn)行更新存儲(chǔ)。本發(fā)明實(shí)施例中,若注冊(cè)服務(wù)器中存儲(chǔ)的資源只是部分屬性內(nèi)容發(fā)生了變化,還有一部分屬性內(nèi)容沒(méi)有發(fā)生變化,那么,注冊(cè)服務(wù)器只接收該資源中發(fā)生變化的屬性值內(nèi)容,并不會(huì)接收資源中全部的屬性值內(nèi)容,減少了注 冊(cè)服務(wù)器和資源服務(wù)器之間傳輸?shù)臄?shù)據(jù)。第二方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存上述注冊(cè)服務(wù)器所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計(jì)的程序。第三方面,本發(fā)明實(shí)施例提供了一種注冊(cè)服務(wù)器,具有實(shí)現(xiàn)上述方法中實(shí)際中注冊(cè)服務(wù)器所執(zhí)行的功能。該功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。第四方面,注冊(cè)服務(wù)器的結(jié)構(gòu)中包括存儲(chǔ)器,收發(fā)器和處理器。其中存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序代碼,并與收發(fā)器耦合。該程序代碼包括指令,當(dāng)該處理器執(zhí)行該指令時(shí),該指令使該注冊(cè)服務(wù)器執(zhí)行上述方法中所涉及的信息或者指令。第五方面,本發(fā)明實(shí)施例提供一種資源獲取的方法,應(yīng)用于機(jī)器通信m2m系統(tǒng)。其中,資源服務(wù)器接收注冊(cè)服務(wù)器發(fā)送的用于獲取資源包含的目標(biāo)屬性的第二請(qǐng)求,該第二請(qǐng)求攜帶該目標(biāo)屬性的uri和該資源的最后修改時(shí)間屬性,該目標(biāo)屬性為該資源包含的部分內(nèi)容。資源服務(wù)器根據(jù)該uri可以確定第二請(qǐng)求所請(qǐng)求的是資源,進(jìn)一步的,資源服務(wù)器會(huì)判斷接收到的最后修改時(shí)間屬性值和存儲(chǔ)的最后修改時(shí)間屬性值是否相同,當(dāng)該目標(biāo)屬性所屬的資源的最后修改時(shí)間屬性值與接收到的最后修改時(shí)間屬性值不同時(shí),資源服務(wù)器將注冊(cè)服務(wù)器請(qǐng)求的目標(biāo)屬性逐一對(duì)比,資源服務(wù)器確定該存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于該存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容,可選的,并根據(jù)該發(fā)生變化的屬性值內(nèi)容生成響應(yīng)。通過(guò)本發(fā)明的實(shí)施例,資源服務(wù)器將請(qǐng)求的目標(biāo)屬性逐一對(duì)比,只將發(fā)生變化的屬性值內(nèi)容發(fā)送給注冊(cè)服務(wù)器,或者,資源服務(wù)器將請(qǐng)求的目標(biāo)屬性逐一對(duì)比后,發(fā)現(xiàn)目標(biāo)屬性中所有的屬性值內(nèi)容都沒(méi)有發(fā)生變化,則資源服務(wù)器向注冊(cè)服務(wù)器發(fā)送響應(yīng),以指示該目標(biāo)屬性沒(méi)有變化,資源服務(wù)器不需要將全部的目標(biāo)屬性發(fā)送給注冊(cè)服務(wù)器,減少了資源服務(wù)器和注冊(cè)服務(wù)器之間傳輸?shù)娜哂鄶?shù)據(jù)。在一個(gè)可能的設(shè)計(jì)中,資源服務(wù)器接收注冊(cè)服務(wù)器發(fā)送的用于獲取資源的第四請(qǐng)求,該第四請(qǐng)求攜帶該資源的uri和存儲(chǔ)在該注冊(cè)服務(wù)器中該資源 的最后修改時(shí)間屬性值。該資源服務(wù)器確定存儲(chǔ)的該資源的最后修改時(shí)間屬性值與接收的該資源的最后修改時(shí)間屬性值不同時(shí),資源服務(wù)器將請(qǐng)求的資源中的所有屬性逐一對(duì)比,資源服務(wù)器確定該存儲(chǔ)在資源服務(wù)器中的資源相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源發(fā)生變化的屬性值內(nèi)容。該資源服務(wù)器向該注冊(cè)服務(wù)器發(fā)送該發(fā)生變化的屬性值內(nèi)容。本發(fā)明實(shí)施例中,資源服務(wù)器對(duì)接收到最后修改時(shí)間屬性值和本地存儲(chǔ)的最后修改時(shí)間屬性值做比較,若兩個(gè)最后修改時(shí)間屬性值不同,資源服務(wù)器會(huì)進(jìn)一步比較存儲(chǔ)的最后修改時(shí)間屬性值對(duì)應(yīng)的資源中相對(duì)于接收的最后修改時(shí)間屬性值對(duì)應(yīng)的資源中,哪些屬性值發(fā)生了變化,并只將發(fā)生變化的屬性值發(fā)送給注冊(cè)服務(wù)器,并不會(huì)將資源中所有的屬性值發(fā)送給注冊(cè)服務(wù)器,因此極大的減少了注冊(cè)服務(wù)器和資源服務(wù)器之間的冗余信息傳輸,節(jié)省了網(wǎng)絡(luò)資源。第六方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述資源服務(wù)器所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計(jì)的程序。第七方面,本發(fā)明實(shí)施例提供了一種資源服務(wù)器,該資源服務(wù)器具有實(shí)現(xiàn)上述方法中資源服務(wù)器所執(zhí)行的功能。該功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。第七方面,本發(fā)明實(shí)施例提供了一種資源服務(wù)器,該資源服務(wù)器具有實(shí)現(xiàn)上述方法中資源服務(wù)器所執(zhí)行的功能。所述功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的單元。第八方面,本發(fā)明實(shí)施例提供了一種資源服務(wù)器,該資源服務(wù)器包括存儲(chǔ)器,收發(fā)器和處理器。其中存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序代碼,并與和收發(fā)器耦合。該程序代碼包括指令,當(dāng)該處理器執(zhí)行該指令時(shí),該指令使該資源服務(wù)器執(zhí)行上述方法中所涉及的信息或者指令。附圖說(shuō)明圖1為本發(fā)明實(shí)施例m2m系統(tǒng)示意圖;圖2為本發(fā)明實(shí)施例中通信系統(tǒng)示意圖;圖3為本發(fā)明實(shí)施例中m2m系統(tǒng)中cse結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例中資源數(shù)據(jù)結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例一種資源獲取的方法的一個(gè)實(shí)施例示意圖;圖6為本發(fā)明實(shí)施例一種資源獲取的方法的另一個(gè)實(shí)施例示意圖;圖7為本發(fā)明實(shí)施例一種注冊(cè)服務(wù)器的結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例一種資源服務(wù)器的結(jié)構(gòu)示意圖。具體實(shí)施方式本發(fā)明實(shí)施例提供了一種資源獲取方法及相關(guān)設(shè)備,用于有效減少資源服務(wù)器和注冊(cè)服務(wù)器之間有冗余數(shù)據(jù)傳輸,提高注冊(cè)服務(wù)服務(wù)器對(duì)終端的響應(yīng)速度。為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。圖1提供了本發(fā)明實(shí)施例的一種m2m系統(tǒng)的架構(gòu)示意圖,m2m系統(tǒng)包括m2m平臺(tái)102、m2m網(wǎng)關(guān)103、m2m設(shè)備104以及ae(applicationentity,應(yīng)用實(shí)體)101。如圖1所示,m2m平臺(tái)102可以是in(infrastructurenode,基礎(chǔ)設(shè)施節(jié)點(diǎn)),m2m網(wǎng)關(guān)103是mn(middlenode,中間節(jié)點(diǎn)),m2m設(shè)備可以是asn(applicationservicenode,應(yīng)用服務(wù)節(jié)點(diǎn))和adn(application dedicatednode,應(yīng)用專用節(jié)點(diǎn))圖中未示出。另外,cse(commonserviceentity,公共服務(wù)實(shí)體)是作為m2m系統(tǒng)的公共能力部件,可以實(shí)現(xiàn)對(duì)公共能力的承載。cse可以包含在m2m平臺(tái)、m2m網(wǎng)關(guān),或作為m2m設(shè)備的asn中,以實(shí)現(xiàn)相應(yīng)的功能。ae可以單獨(dú)存在,也可以包含在m2m平臺(tái)、m2m網(wǎng)關(guān),或作為m2m設(shè)備的asn或adn中。cse通過(guò)mca參考點(diǎn)讓ae訪問(wèn)cse開(kāi)放的公共能力,通過(guò)mcc參考點(diǎn)實(shí)現(xiàn)cse之間的通信以及通過(guò)mcn參考點(diǎn)實(shí)現(xiàn)對(duì)底層網(wǎng)絡(luò)能力的調(diào)用。本發(fā)明中實(shí)施例中,圖2為通信系統(tǒng)示意圖,包括終端10、注冊(cè)服務(wù)器20和資源服務(wù)器30,其中,注冊(cè)服務(wù)器20(英文:registrarcommonserviceentity,縮寫(xiě):r-cse)為終端注冊(cè)的cse,資源服務(wù)器30(英文:hostingcommonserviceentity,縮寫(xiě):h-cse)為資源或?qū)傩缘某钟袑?shí)體。需要說(shuō)明的是,本發(fā)明實(shí)施例中的終端10、注冊(cè)服務(wù)器20和資源服務(wù)器30對(duì)應(yīng)于圖1中m2m系統(tǒng)的實(shí)體如下表1所示:表1如上表1所示,在實(shí)際網(wǎng)絡(luò)部署中,終端可對(duì)應(yīng)adn、asn、mn,注冊(cè)服務(wù)器20和資源服務(wù)器30可對(duì)應(yīng)asn、mn或in。注冊(cè)服務(wù)器可以支持多個(gè)終端10,注冊(cè)服務(wù)器20可以是運(yùn)營(yíng)商平臺(tái),可以是家庭網(wǎng)關(guān)。資源服務(wù)器30提供具體特定的服務(wù),可以是天氣服務(wù)器,也可以是車(chē)隊(duì)管理服務(wù)器。終端10可以通過(guò)注冊(cè)服務(wù)器20向資源服務(wù)器30獲取資源或資源的屬性。圖3顯示了本發(fā)明實(shí)施例在m2m系統(tǒng)中的cse40的結(jié)構(gòu)示意圖,cse40可以是r-cse,也可以是h-cse,cse40可包含一個(gè)或多個(gè)端口21,與收發(fā)器(transceiver)22相耦合。收發(fā)器22可以是發(fā)射器,接收器或其組合,從其他網(wǎng)絡(luò)節(jié)點(diǎn)通過(guò)端口21發(fā)送或接收數(shù)據(jù)包。處理器23耦合到收發(fā)器22, 用于處理數(shù)據(jù)包。處理器23可包含一個(gè)或多個(gè)多核處理器23和/或存儲(chǔ)器24。處理器23可以是一個(gè)通用處理器23,專用集成電路(英文:applicationspecificintegratedcircuit,縮寫(xiě):asic),或數(shù)字信號(hào)處理器(英文:digitalsignalprocessor,縮寫(xiě):dsp)23。存儲(chǔ)器24可為非瞬時(shí)性的存儲(chǔ)介質(zhì),與處理器23相耦合,用于保存不同類型的數(shù)據(jù),如語(yǔ)義描述資源,被語(yǔ)義描述資描述的資源等。存儲(chǔ)器24可包含只讀存儲(chǔ)器24(英文:readonlymemory,縮寫(xiě):rom),隨機(jī)存取存儲(chǔ)器24(英文:randomaccessmemory,縮寫(xiě):ram)或者可存儲(chǔ)信息和指令的其他類型的動(dòng)態(tài)存儲(chǔ)設(shè)備,也可以是磁盤(pán)存儲(chǔ)器24。存儲(chǔ)器24可用于保存實(shí)現(xiàn)語(yǔ)義驗(yàn)證相關(guān)方法的指令??梢岳斫?,通過(guò)編程或裝載可執(zhí)行指令到設(shè)備200的處理器23,存儲(chǔ)和長(zhǎng)期存儲(chǔ)中的至少一個(gè)。一個(gè)實(shí)施例中,cse40作為注冊(cè)服務(wù)器(r-cse)時(shí),包括存儲(chǔ)器24,處理器23和收發(fā)器22以及與收發(fā)器22耦合的一個(gè)或多個(gè)端口21。存儲(chǔ)器24,用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序代碼;處理器23與所述存儲(chǔ)器24和所述收發(fā)器22耦合。其中所述程序代碼包括指令,當(dāng)所述處理器23執(zhí)行所述指令時(shí),所述指令使注冊(cè)服務(wù)器執(zhí)行圖5和圖6中的相關(guān)步驟。此外,cse40作為資源服務(wù)器(r-cse)時(shí),包括存儲(chǔ)器24,處理器23和收發(fā)器22以及與收發(fā)器22耦合的一個(gè)或多個(gè)端口21。存儲(chǔ)器24,用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序代碼;處理器23與所述存儲(chǔ)器24和所述收發(fā)器22耦合。其中所述程序代碼包括指令,當(dāng)所述處理器23執(zhí)行所述指令時(shí),所述指令使所述資源服務(wù)器執(zhí)行圖5和圖6中的相關(guān)步驟。在m2m系統(tǒng)中,操作的對(duì)象以資源的形式出現(xiàn),資源是信息的一種抽象表現(xiàn)形式,任何能夠被命名的信息都能夠作為一個(gè)資源,例如,一份文檔、一張圖片、一個(gè)與時(shí)間相關(guān)的服務(wù)(例如,“南京2015年9月1號(hào)的天氣”)等。通常使用通用資源標(biāo)識(shí)符(英文:uniformresourceidentifier,縮寫(xiě):uri)來(lái)標(biāo)識(shí)特定資源,每個(gè)資源都有唯一的地址(uri)。資源可以通過(guò)crud(create/retrieve/update/delete)對(duì)其進(jìn)行管理,分別對(duì)應(yīng)創(chuàng)建、獲取、更新和刪除等。資源可以包含子資源和屬性,子資源又可以包括屬性。資源和屬性的區(qū)別在于,屬性不再包含下級(jí)子資源或?qū)傩?,而資源包含下一級(jí)子資源或?qū)傩浴1景l(fā)明實(shí)施例中,請(qǐng)參閱圖4所示的資源的數(shù)據(jù)結(jié)構(gòu)圖,在圖4中,方頭長(zhǎng)框表示的是資源,圓頭長(zhǎng)框表示的是屬性,資源“容器”(container)可以存儲(chǔ)數(shù)據(jù),主要用于和其他實(shí)體之間進(jìn)行數(shù)據(jù)共享,以及對(duì)數(shù)據(jù)進(jìn)行追蹤。其中,容器實(shí)例(contentinstance)為子資源,而創(chuàng)建者(creator)、最大實(shí)例個(gè)數(shù)(maxnrofinstances)作為容器資源的屬性。具體內(nèi)容(content),內(nèi)容大小(contentsize)、最后修改時(shí)間(lastmodifiedtime),時(shí)間(cacheexpire)作為子資源的容器實(shí)例包括的屬性。屬性是對(duì)資源的具體描述,用于存儲(chǔ)資源的具體數(shù)據(jù)。一個(gè)屬性有名稱-值對(duì)(name-valuepair),例如屬性creator的名稱值對(duì)表現(xiàn)為creator=sam,表示創(chuàng)建者為名叫sam的人。有需要共享的信息,創(chuàng)建container資源,將信息放到其子資源contentinstance中的content屬性中,包括天氣信息共享、農(nóng)戶莊稼種植信息共享等。本發(fā)明實(shí)施例中,通過(guò)在注冊(cè)服務(wù)器引入存儲(chǔ)機(jī)制,將資源進(jìn)行存儲(chǔ),終端獲取資源或獲取目標(biāo)屬性時(shí),目標(biāo)屬性為資源包含的部分屬性,即目標(biāo)屬性可以是至少一個(gè)屬性,以終端獲取目標(biāo)屬性舉例說(shuō)明,當(dāng)終端向注冊(cè)服務(wù)器發(fā)送獲取目標(biāo)屬性的請(qǐng)求時(shí),注冊(cè)服務(wù)器可以在本地存儲(chǔ)中查找,當(dāng)注冊(cè)服務(wù)器確定已存儲(chǔ)了該目標(biāo)屬性所屬的資源時(shí),注冊(cè)服務(wù)器將有效的目標(biāo)屬性發(fā)送給終端。其中,有效的目標(biāo)屬性,當(dāng)時(shí)間(cacheexpire)屬性指示該目標(biāo)屬性所屬的資源未過(guò)期時(shí),注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性。可選的,當(dāng)時(shí)間(cacheexpire)屬性指示該目標(biāo)屬性所屬的資源已過(guò)期時(shí),注冊(cè)服務(wù)器會(huì)將資源的最后修改時(shí)間(lastmodifiedtime)屬性值發(fā)送給資源服務(wù)器,資源服務(wù)器確定接收的最后修改時(shí)間(lastmodifiedtime)屬性值和資源服務(wù)器中存儲(chǔ)的最后修改時(shí)間屬性值不同時(shí),資源服務(wù)器將本地存儲(chǔ)的最后修改時(shí)間屬性值對(duì)應(yīng)的目標(biāo)屬性中,相對(duì)于接收的最后修改時(shí)間屬性值對(duì)應(yīng)的目標(biāo)屬性中發(fā)生變化的屬性值發(fā)送給注冊(cè)服務(wù)器。為了便于理解,將圖4中的具體內(nèi)容(content),內(nèi)容大小(contentsize)、最后修改時(shí)間(lastmodifiedtime),過(guò)期時(shí)間(cacheexpire)等屬性值內(nèi)容進(jìn)行舉例說(shuō)明:屬性屬性值lastmodifiedtime格林尼治時(shí)間,2015-9-29,星期二,04:51:59contentsize1kcontentcloudy(多云)cacheexpire格林尼治時(shí)間,2015-9-29,星期二,06:00:00根據(jù)終端請(qǐng)求獲取的是資源的全部?jī)?nèi)容(即資源),還是資源的部分內(nèi)容(目標(biāo)屬性)的不同,下面分實(shí)施例進(jìn)行具體描述,請(qǐng)參閱圖5所示,本實(shí)施例提供了一種資源獲取的方法,包括:一、終端請(qǐng)求獲取目標(biāo)屬性501、終端向注冊(cè)服務(wù)器發(fā)送用于獲取目標(biāo)屬性的第一請(qǐng)求,第一請(qǐng)求中攜帶目標(biāo)屬性的通用資源標(biāo)識(shí)符uri;目標(biāo)屬性可以為至少一個(gè)屬性,此處不限定,為了方便理解下面舉例進(jìn)行說(shuō)明。以終端獲取天氣信息為例:終端向注冊(cè)服務(wù)器發(fā)送第一請(qǐng)求,第一請(qǐng)求請(qǐng)求contentinstance資源下的屬性‘content’和‘contentsize’。第一請(qǐng)求可以為:get/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cshttp/1.1其中,get表示獲取操作,遵循h(huán)ttp1.1版本。第一請(qǐng)求中攜帶的uri為:/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cs。/m2m.provider.com/cse221/container/contentinstance表示uri的資源部分,‘con’表示該uri資源部分所指示資源的屬性‘content’,cs表示該uri資源部分所指示資源的屬性contentsize。502、注冊(cè)服務(wù)器接收第一請(qǐng)求,并根據(jù)uri的資源部分確定注冊(cè)服務(wù)器中存儲(chǔ)有目標(biāo)屬性所屬的資源。注冊(cè)服務(wù)器接收第一請(qǐng)求中攜帶的uri。首先,注冊(cè)服務(wù)器對(duì)該uri進(jìn)行解析,注冊(cè)服務(wù)器可以通過(guò)對(duì)uri的解析確定第一請(qǐng)求中uri的資源部分 和/或?qū)傩圆糠?。例如,通過(guò)對(duì)步驟501中第一請(qǐng)求中攜帶的uri進(jìn)行解析:在/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cs中,uri的資源部分和屬性部分的劃分可以根據(jù)兩者的邊界字符“?”區(qū)分,“?”前面的部分為資源部分,“?”后面部分根據(jù)“atr”判斷請(qǐng)求的是屬性。那么,資源部分為‘/m2m.provider.com/cse221/container/contentinstance’,根據(jù)‘a(chǎn)tr=con&atr=cs’可以確定第一請(qǐng)求所請(qǐng)求的屬性為該資源的content屬性和contentsize屬性。同理,若第一請(qǐng)求攜帶的uri為:‘/m2m.provider.com/cse221/container/contentinstance’沒(méi)有“?”字符,則表示第一請(qǐng)求所請(qǐng)求的是資源。綜上所述,在本實(shí)施例中,第一請(qǐng)求請(qǐng)求的目標(biāo)屬性。其次,注冊(cè)服務(wù)器以u(píng)ri的資源部分作為索引搜索本地存儲(chǔ),確定本地是否存儲(chǔ)有目標(biāo)屬性所屬的資源。例如,注冊(cè)服務(wù)器以u(píng)ri的資源部分為:‘/m2m.provider.com/cse221/container/contentinstance’作為索引搜索本地存儲(chǔ),確定本地存儲(chǔ)存在目標(biāo)屬性所屬的資源,通過(guò)atr=con&atr=cs確定該終端所請(qǐng)求的目標(biāo)屬性為content和contentsize??梢岳斫獾氖牵?cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性所屬的資源為注冊(cè)服務(wù)器根據(jù)終端首次請(qǐng)求資源進(jìn)行存儲(chǔ)的。也就是說(shuō),注冊(cè)服務(wù)器在接收到任一終端發(fā)送的對(duì)于某一資源的獲取請(qǐng)求時(shí),根據(jù)請(qǐng)求的uri確定本地沒(méi)有存儲(chǔ)資源。注冊(cè)服務(wù)器在向資源服務(wù)器獲取到終端請(qǐng)求的資源后,根據(jù)確定的本地沒(méi)有存儲(chǔ)資源的結(jié)果,將從資源服務(wù)器中獲取到的響應(yīng)存儲(chǔ)在注冊(cè)服務(wù)器中。注冊(cè)服務(wù)器中存儲(chǔ)的包括目標(biāo)屬性所屬的資源的響應(yīng)如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201505:51:59gmt/表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,05:51:59。<?xmlversion="1.0"encoding="utf-8"?><contentinstance>/表示部分更新開(kāi)始。<lastmodifiedtime>tue,29sep201504:51:59gmt</lastmodifiedtime><contentsize>1k</contentsize>/表示contentsize的屬性值為“1k”。<content>cloudy</content>/表示content的屬性值為“多云”。<cacheexpire>tue,29sep201506:00:00gmt</cacheexpire>/表示cacheexpire的屬性值為格林尼治時(shí)間2015年9月29日,星期二,06:00:00。<contentinstance>/表示資源部分結(jié)束。作為另一種方式,注冊(cè)服務(wù)還可以根據(jù)資源服務(wù)器在發(fā)送的資源中增加的cacheexpire屬性值,存儲(chǔ)從資源服務(wù)器中獲取的資源。具體的,資源服務(wù)器接收到針對(duì)同一資源的至少兩個(gè)請(qǐng)求后,當(dāng)確定針對(duì)同一資源的請(qǐng)求的數(shù)量達(dá)到預(yù)值時(shí),資源服務(wù)器將在發(fā)送給注冊(cè)服務(wù)器的響應(yīng)中包括cacheexpire屬性值,以指示注冊(cè)服務(wù)器存儲(chǔ)包括該資源的響應(yīng)。503、注冊(cè)服務(wù)器確定uri所指示的目標(biāo)屬性所屬的資源已過(guò)期。注冊(cè)服務(wù)器根據(jù)cacheexpire屬性值確定該目標(biāo)屬性所屬的資源是否過(guò)期,若該資源過(guò)期,則目標(biāo)屬性過(guò)期,該cacheexpire的屬性值可以是絕對(duì)時(shí)間(如,格林尼治時(shí)間,2015年9月9日,05:43:02),也可以是相對(duì)時(shí)間(如,600s),此處不限定。下面對(duì)注冊(cè)服務(wù)器比較當(dāng)前時(shí)間和cacheexpire屬性值來(lái)確定該目標(biāo)屬性所屬的資源是否過(guò)期進(jìn)行舉例說(shuō)明:cacheexpire屬性值:格林尼治時(shí)間,2015年9月9日,05:43:02,接收到第一請(qǐng)求時(shí)的當(dāng)前時(shí)間為:格林尼治時(shí)間,2015年9月9日,05:45:02,則確定存儲(chǔ)中的目標(biāo)屬性已過(guò)期。又如,cacheexpire屬性值為相對(duì)時(shí)間,cacheexpire:600s,注冊(cè)服務(wù)器存儲(chǔ)該資源的時(shí)間為:格林尼治時(shí)間,2015年9月9日,05:33:02,注冊(cè)服務(wù)器接收第一請(qǐng)求時(shí)的當(dāng)前時(shí)間為格林尼治時(shí)間,2015年9月9日,05:55:02,則存儲(chǔ)中的目標(biāo)屬性已過(guò)期。注冊(cè)服務(wù)器確定資源未過(guò)期的原理與確定資源已過(guò)期的原理相同,此處不再舉例子贅述。504、所述注冊(cè)服務(wù)器向所述資源服務(wù)器發(fā)送第二請(qǐng)求,第二請(qǐng)求攜帶存 儲(chǔ)在注冊(cè)服務(wù)器中所述資源的lastmodifiedtime屬性值和所述uri。例如,所述第二請(qǐng)求如下:get/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cshttp/1.1lastmodifiedtime:tue,29sep201504:51:59gmt其中,該第二請(qǐng)求的頭域攜帶lastmodifiedtime,lastmodifiedtime的屬性值為:格林尼治時(shí)間,2015年9月29日,星期二,04:51:59。第二請(qǐng)求中攜帶的uri為:/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cs,對(duì)于‘/m2m.provider.com/cse221/container/contentinstance?atr=con&atr=cs’的說(shuō)明與步驟501中的說(shuō)明相同,此處不贅述。505、資源服務(wù)器接收第二請(qǐng)求,所述第二請(qǐng)求攜帶所述目標(biāo)屬性的通用資源標(biāo)識(shí)符uri和所述資源的lastmodifiedtime屬性值??梢岳斫獾氖?,所述資源服務(wù)器中存儲(chǔ)的所述目標(biāo)屬性所屬的資源如下:<contentinstance>/表示資源部分開(kāi)始。<lastmodifiedtime>tue,29sep201505:51:59gmt</lastmodifiedtime>/表示lastmodifiedtime屬性值為:格林尼治時(shí)間,2015年9月29日,星期二,05:51:59。<contentsize>1k</contentsize>/表示contentsize的屬性值為1k。<content>raining</content>/表示content的屬性值為“雨”。<cacheexpire>tue,29sep201507:00:00gmt</cacheexpire>/表示cacheexpire的屬性值為:格林尼治時(shí)間,2015年9月29日,星期二,07:00:00?!?lt;contentinstance>/資源部分結(jié)束。所述資源服務(wù)器確定存儲(chǔ)在所述資源服務(wù)器中的lastmodifiedtime屬性值與接收到的lastmodifiedtime屬性值是否相同,當(dāng)所述目標(biāo)屬性所屬的資源的lastmodifiedtime屬性值與接收到的lastmodifiedtime屬性值不同時(shí),存在兩種 情況:(1)資源服務(wù)器將注冊(cè)服務(wù)器請(qǐng)求的目標(biāo)屬性逐一對(duì)比,資源服務(wù)器確定所述存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于所述存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容,并根據(jù)該發(fā)生變化的屬性值內(nèi)容生成響應(yīng)。(2)可選的,資源服務(wù)器將請(qǐng)求的目標(biāo)屬性逐一對(duì)比后,資源服務(wù)器確定存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于所述存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性都未發(fā)生變化。下面,針對(duì)第(1)種情況進(jìn)行舉例說(shuō)明:第二請(qǐng)求獲取的是/m2m.provider.com/cse221/container/contentinstance指示資源中的content和contentsize,該目標(biāo)屬性包括‘content’和‘contentsize’屬性,請(qǐng)參閱表2所示:表2從上表2可以看出,lastmodifiedtime屬性值不同,需要說(shuō)明的是,資源服務(wù)器中存儲(chǔ)有不同的lastmodifiedtime屬性值對(duì)應(yīng)的資源的不同版本,用于資源不同版本的內(nèi)容比較,因?yàn)榧词故前姹静煌?,各版本中的各屬性值并非全部發(fā)生變化,也可能只是部分的屬性值發(fā)生了變化。需要說(shuō)明的是,資源服務(wù)器確定存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容,包括兩種方法,第一種方法是直接比較各屬性的屬性值,如表2所示,‘contentsize’屬性值沒(méi)有變化,都是‘1k’,‘content’屬性值發(fā)生了變化,一個(gè)是‘raining’,另一個(gè)是‘cloudy’。第二種方法是比較各屬性的更新時(shí)間,即每個(gè)屬性對(duì)應(yīng)一個(gè)更新時(shí)間,請(qǐng)參閱表3所示,該更新時(shí)間為各屬性的標(biāo)識(shí)位的狀態(tài)值,每一個(gè)屬性都具有一個(gè)更新時(shí)間。表3在第二中方法中資源服務(wù)器不需要比較屬性值,而是比較各屬性值的更新時(shí)間,從上表3可以看出,‘contentsize’對(duì)應(yīng)的更新時(shí)間相同,‘content’對(duì)應(yīng)的更新時(shí)間不同,因此,存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的更新時(shí)間發(fā)生變化的屬性值內(nèi)容即為‘content=raining’,未發(fā)生變化的屬性值內(nèi)容為‘contentsize=1k’??梢岳斫獾氖牵Y源服務(wù)器比較的屬性值的結(jié)果相同,但比較的方法不同。第一種方法是直接比較各屬性的屬性值,而第二種方法是比較各屬性值的更新時(shí)間。506、資源服務(wù)器向注冊(cè)服務(wù)器發(fā)送響應(yīng),該響應(yīng)包括發(fā)生變化的屬性值內(nèi)容??蛇x的,資源服務(wù)器也可以直接向注冊(cè)服務(wù)器發(fā)送發(fā)生變化的屬性值內(nèi)容,具體的方式此處不限定。針對(duì)上述第(1)種情況,資源服務(wù)器生成消息發(fā)送時(shí)間為‘tue,29sep201506:01:59gmt’,根據(jù)第二請(qǐng)求所請(qǐng)求的目標(biāo)屬性中發(fā)生變化的屬性值內(nèi)容生成響應(yīng),資源服務(wù)器生成的響應(yīng)如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59??蛇x的,針對(duì)第(2)種情況,資源服務(wù)器生成標(biāo)識(shí)信息,該標(biāo)識(shí)信息指示變化的屬性值內(nèi)容為空集??蛇x的,該標(biāo)識(shí)信息可以被攜帶于響應(yīng)中,該響應(yīng)指示目標(biāo)屬性未改變,該響應(yīng)如下:http/1.1304notmodified表示返回304響應(yīng)指示第二請(qǐng)求所請(qǐng)求的目標(biāo)屬性未改變。date:tue,29sep201506:01:59gmt表示消息發(fā)送的時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。可選的,資源服務(wù)器可以通過(guò)不同的狀態(tài)碼表示目標(biāo)屬性未改變,例如3xy。507、注冊(cè)服務(wù)器接收響應(yīng),并確定有效的目標(biāo)屬性??蛇x的,該有效的目標(biāo)屬性可以被攜帶于新的響應(yīng)中。針對(duì)步驟506中的第(1)種情況,有效的目標(biāo)屬性為接收的發(fā)生變化的屬性值內(nèi)容和注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性中未發(fā)生變化的屬性值內(nèi)容??梢岳斫獾氖?,注冊(cè)服務(wù)器接收到響應(yīng),根據(jù)響應(yīng)指示(partialupdate),也可以通過(guò)特定的響應(yīng)狀態(tài)碼(例如3xzpartialupdate)確定該響應(yīng)為部分更新響應(yīng)。注冊(cè)服務(wù)器將響應(yīng)消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間,例如,將消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間“date:tue,29sep201506:01:59gmt”。將本地存儲(chǔ)的未變化屬性值內(nèi)容‘contentsize’加到接收到的響應(yīng)中,生成新的響應(yīng)??蛇x的,注冊(cè)服務(wù)器將響應(yīng)消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間,例如,將消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間“date:tue,29sep201506:01:59gmt”。將注冊(cè)服務(wù)器中存儲(chǔ)的資源的響應(yīng)進(jìn)行復(fù)制,將復(fù)制版本中的所述目標(biāo)屬性所屬的資源中除了目標(biāo)屬性之外的屬性刪除,將‘content’的屬性值由‘cloudy’ 替換成‘raining’,生成新的響應(yīng),新的響應(yīng)舉例如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。從上述新的響應(yīng)的例子可以看出,有效的目標(biāo)屬性為接收的發(fā)生變化的屬性值內(nèi)容(content=raining)和注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性中未發(fā)生變化的屬性值內(nèi)容(contentsize=1k)。針對(duì)步驟506中的第(2)種情況,有效的目標(biāo)屬性為注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性??梢岳斫獾氖?,當(dāng)注冊(cè)服務(wù)器接收到標(biāo)識(shí)信息,該標(biāo)識(shí)信息指示變化的屬性值內(nèi)容為空集,注冊(cè)服務(wù)器根據(jù)該標(biāo)識(shí)信息確定存儲(chǔ)的uri所指示資源中的目標(biāo)屬性未發(fā)生變化??蛇x的,注冊(cè)服務(wù)器接收到響應(yīng),根據(jù)響應(yīng)指示(如304notmodified)確定請(qǐng)求的目標(biāo)屬性未改變。注冊(cè)服務(wù)器根據(jù)存儲(chǔ)的響應(yīng)和請(qǐng)求的屬性值生成新的響應(yīng),將新的響應(yīng)消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間,例如,將消息發(fā)送的時(shí)間修改為當(dāng)前時(shí)間‘date:tue,29sep201506:01:59gmt’,注冊(cè)服務(wù)器將資源進(jìn)行復(fù)制,并將復(fù)制版本的資源中除了目標(biāo)屬性之外的屬性刪除,根據(jù)復(fù)制版本的響應(yīng)中的‘contentsize’屬性值和‘content’屬性值生成新的響應(yīng),新的響應(yīng)如下所示:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。從上述新的響應(yīng)的例子可以看出,有效的目標(biāo)屬性為注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性(contentsize=1k和content=cloudy)。508、注冊(cè)服務(wù)器向終端發(fā)送有效的目標(biāo)屬性。注冊(cè)服務(wù)器可以直接向終端發(fā)送有效的目標(biāo)屬性??蛇x的,該有效的目標(biāo)屬性被攜帶于響應(yīng)中,注冊(cè)服務(wù)器修改消息發(fā)送時(shí)間后向終端發(fā)送該響應(yīng)。具體的發(fā)送方式此處不做限定。需要說(shuō)明的是,步驟503至步驟507為注冊(cè)服務(wù)器中存儲(chǔ)的目標(biāo)屬性所屬的資源已過(guò)期的情況??蛇x的,若注冊(cè)服務(wù)器根據(jù)cacheexpire屬性值確定目標(biāo)屬性所屬的資源未過(guò)期,則所述有效的目標(biāo)屬性為在注冊(cè)服務(wù)器中存儲(chǔ)的uri所指示的未過(guò)期的屬性值內(nèi)容。注冊(cè)服務(wù)器根據(jù)終端請(qǐng)求的目標(biāo)屬性,直接將本地存儲(chǔ)的目標(biāo)屬性(content和contentsize)生成響應(yīng)返回給終端。注冊(cè)服務(wù)器可以將存儲(chǔ)的目標(biāo)屬性發(fā)送給終端,也可以將目標(biāo)屬性攜帶于響應(yīng)中,將該響應(yīng)發(fā)送給終端,具體的發(fā)送方式不限定。注冊(cè)服務(wù)器修改消息發(fā)送時(shí)間并根據(jù)存儲(chǔ)的目標(biāo)屬性生成響應(yīng),該響應(yīng)如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。有效的目標(biāo)屬性為cacheexpire屬性值指示未過(guò)期的資源所包括的目標(biāo)屬性。本實(shí)施例中,在注冊(cè)服務(wù)器中引入了存儲(chǔ)機(jī)制,當(dāng)終端向注冊(cè)服務(wù)器請(qǐng)求目標(biāo)屬性時(shí),注冊(cè)服務(wù)器根據(jù)uri的資源部分為索引在存儲(chǔ)中進(jìn)行搜索,若確定本地存儲(chǔ)有該目標(biāo)屬性所屬的資源時(shí),注冊(cè)服務(wù)器根據(jù)資源的cacheexpire屬性值確定該資源是否過(guò)期,若資源未過(guò)期,注冊(cè)服務(wù)器將存儲(chǔ)的目標(biāo)屬性發(fā)送給終端,不需要向資源服務(wù)器獲取,極大的減少了資源服務(wù)器和注冊(cè)服務(wù)器之間的數(shù)據(jù)傳輸。進(jìn)一步的,若注冊(cè)服務(wù)器確定該資源已過(guò)期,注冊(cè)服務(wù)器向資源服務(wù)器發(fā)送該資源的lastmodifiedtime屬性值,資源服務(wù)器對(duì)接收到lastmodifiedtime屬性值和最新的lastmodifiedtime屬性值做比較,若兩個(gè)lastmodifiedtime屬性值不同,資源服務(wù)器會(huì)進(jìn)一步判斷存儲(chǔ)的lastmodifiedtime屬性值對(duì)應(yīng)的目標(biāo)屬性,相對(duì)于接收的lastmodifiedtime屬性值對(duì)應(yīng)的目標(biāo)屬性中,哪些屬性值內(nèi)容發(fā)生了變化,并只將發(fā)生變化的屬性值內(nèi)容發(fā)送給注冊(cè)服務(wù)器,并不會(huì)將目標(biāo)屬性中所有的屬性值內(nèi)容發(fā)送給注冊(cè)服務(wù)器,因此極大的減少了注冊(cè)服務(wù)器和資源服務(wù)器之間的冗余信息傳輸,節(jié)省了網(wǎng)絡(luò)資源。二、終端請(qǐng)求獲取資源請(qǐng)參閱圖6所示,本發(fā)明提供了一種資源獲取的方法,包括:601、終端向注冊(cè)服務(wù)器發(fā)送用于獲取資源的第三請(qǐng)求,第三請(qǐng)求中攜帶資源的通用資源標(biāo)識(shí)符uri;以終端獲取天氣信息為例:終端向注冊(cè)服務(wù)器發(fā)送第三請(qǐng)求,第三請(qǐng)求請(qǐng)求獲取<contentinstance>資源。該第三請(qǐng)求如下:get/m2m.provider.com/cse221/container/contentinstancehttp/1.1第三請(qǐng)求中攜帶的uri為:/m2m.provider.com/cse221/container/contentinstance。其中,第三請(qǐng)求和 uri的說(shuō)明請(qǐng)參閱上述實(shí)施例步驟501中的說(shuō)明,此處不贅述。602、注冊(cè)服務(wù)器接收第三請(qǐng)求,并根據(jù)uri確定注冊(cè)服務(wù)器中存儲(chǔ)有該資源。注冊(cè)服務(wù)器接收第三請(qǐng)求中攜帶的uri,對(duì)該uri進(jìn)行解析,確定終端請(qǐng)求的是資源。其中,對(duì)于uri的解析,確定是資源的說(shuō)明請(qǐng)參閱上述實(shí)施例中步驟502,此處不贅述。注冊(cè)服務(wù)器以u(píng)ri的資源部分作為索引搜索本地存儲(chǔ),確定本地是否存儲(chǔ)有第三請(qǐng)求所請(qǐng)求的資源。例如,注冊(cè)服務(wù)器以u(píng)ri的資源部分為:‘/m2m.provider.com/cse221/container/contentinstance’作為索引搜索本地存儲(chǔ),確定本地存儲(chǔ)有該資源contentinstance,注冊(cè)服務(wù)器中存儲(chǔ)的該資源包括的屬性值內(nèi)容如下表4所示:表4屬性屬性值lastmodifiedtime2015-9-29,星期二,04:51:59contentsize1kcontentcloudycacheexpire2015-9-29,星期二,06:00:00603、注冊(cè)服務(wù)器確定uri所指示的資源已過(guò)期。注冊(cè)服務(wù)器根據(jù)cacheexpire屬性值確定該資源已過(guò)期。對(duì)于根據(jù)cacheexpire屬性值確定資源是否過(guò)期的說(shuō)明請(qǐng)參閱上述實(shí)施例步驟503,此處不贅述。604、注冊(cè)服務(wù)器向資源服務(wù)器發(fā)送第四請(qǐng)求,第四請(qǐng)求攜帶存儲(chǔ)在注冊(cè)服務(wù)器中的所述資源的lastmodifiedtime屬性值和所述uri;該第四請(qǐng)求如下:get/m2m.provider.com/cse221/container/contentinstancehttp/1.1lastmodifiedtime:tue,29sep201504:51:59gmt其中,該第四請(qǐng)求的頭域攜帶lastmodifiedtime,lastmodifiedtime的屬性 值為格林尼治時(shí)間,2015年9月29日,星期二,04:51:59。第四請(qǐng)求中攜帶的uri為:/m2m.provider.com/cse221/container/contentinstance。其中,第四請(qǐng)求和uri的說(shuō)明請(qǐng)參閱上述實(shí)施例步驟501中的說(shuō)明,此處不贅述。605、資源服務(wù)器接收第四請(qǐng)求,所述第四請(qǐng)求攜帶該資源的通用資源標(biāo)識(shí)符uri和所述資源的lastmodifiedtime屬性值。所述資源服務(wù)器確定存儲(chǔ)本地中的lastmodifiedtime屬性值與接收到的lastmodifiedtime屬性值是否相同,當(dāng)所述資源的lastmodifiedtime屬性值與接收到的lastmodifiedtime屬性值不同時(shí),資源服務(wù)器將請(qǐng)求的資源中的所有屬性逐一對(duì)比,資源服務(wù)器確定所述存儲(chǔ)在資源服務(wù)器中的資源相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源發(fā)生變化的屬性值內(nèi)容??蛇x的,資源服務(wù)器根據(jù)發(fā)生變化的屬性值內(nèi)容生成響應(yīng)。第四請(qǐng)求所請(qǐng)求的是資源,該資源包括‘contentsize’,‘content’,‘lastmodifiedtime’和‘cacheexpire’屬性,具體實(shí)際應(yīng)用中,該資源包括的屬性不限于此4個(gè),本實(shí)施例中只是舉例說(shuō)明,并非限制,請(qǐng)參閱表5所示:表5從上表5可以看出,lastmodifiedtime屬性值不同,資源服務(wù)器確定存儲(chǔ)在資源服務(wù)器中的資源相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源發(fā)生變化的屬性值,包括兩種方法,第一種方法是直接比較各屬性的屬性值,如表5所示,contentsize的屬性值沒(méi)有變化,都是‘1k’,‘content’的屬性值發(fā)生了變化,一個(gè)是‘raining’,另一個(gè)是‘cloudy’?!甤acheexpire’的屬性值發(fā)生了變化,一個(gè)是“2015-9-29,06:00:00”,另一個(gè)是“2015-9-29,07:00:00”。 ‘lastmodifiedtime’的屬性值發(fā)生了變化,一個(gè)是2015-9-29,05:51:59,而另一個(gè)是2015-9-29,04:51:59。第二種方法是比較各屬性的更新時(shí)間,即資源的每個(gè)屬性對(duì)應(yīng)一個(gè)更新時(shí)間,請(qǐng)參閱表6所示。該更新時(shí)間為各屬性的標(biāo)識(shí)位的狀態(tài)值,每一個(gè)屬性都具有一個(gè)更新時(shí)間。表6在第二中方法中資源服務(wù)器不需要比較屬性的屬性值,而是比較各屬性值的更新時(shí)間,需要說(shuō)明的是,對(duì)于lastmodifiedtime而言,lastmodifiedtime的更新時(shí)間與屬性值相同,從上表6可以看出,‘contentsize’對(duì)應(yīng)的更新時(shí)間相同,‘content’對(duì)應(yīng)的更新時(shí)間不同,‘cacheexpire’對(duì)應(yīng)的更新時(shí)間不同,lastmodifiedtime的更新時(shí)間不同,因此,存儲(chǔ)在資源服務(wù)器中的資源相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源,更新時(shí)間發(fā)生變化的屬性值內(nèi)容即為content=raining,cacheexpire=2015-9-2907:00:00,lastmodifiedtime=2015-9-29,05:51:59,未發(fā)生變化的屬性值內(nèi)容為contentsize=1k??梢岳斫獾氖牵Y源服務(wù)器比較的發(fā)生變化的屬性值的結(jié)果相同,但比較的方法不同。第一種方法是直接比較各屬性的屬性值,而第二種方法是比較資源中各屬性值的更新時(shí)間。606、資源服務(wù)器向所述注冊(cè)服務(wù)器發(fā)送變化的屬性值內(nèi)容??蛇x的,該變化的屬性值內(nèi)容可以被攜帶于響應(yīng)中。如資源服務(wù)器生成消息的發(fā)送時(shí)間為‘tue,29sep201506:01:59gmt’,并根據(jù)發(fā)生變化的屬性值內(nèi)容(content=raining,cacheexpire=tue,29sep201507:00:00gmt)生成響應(yīng),該響應(yīng)如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。<cacheexpire>tue,29sep201507:00:00gmt</cacheexpire>/表示cacheexpire的屬性值為2015年9月29日,星期二,07:00:00。<lastmodifiedtime>2015-9-29,05:51:59/表示lastmodifiedtime的屬性值為“2015-9-29,05:51:59”。<contentinstance>/表示資源部分結(jié)束。</partialupdate>/表示部分更新結(jié)束。可選的,資源服務(wù)器可以通過(guò)不同的狀態(tài)碼表示資源中的部分屬性值發(fā)生改變,例如3xb。需要說(shuō)明的是,注冊(cè)服務(wù)器接收到變化的屬性值內(nèi)容或者該響應(yīng)時(shí),根據(jù)變化的屬性值內(nèi)容將對(duì)應(yīng)的屬性值進(jìn)行更新存儲(chǔ),例如,以上述響應(yīng)為例子進(jìn)行說(shuō)明,注冊(cè)服務(wù)器將本地存儲(chǔ)的響應(yīng)中的該資源的content屬性值更新為‘raining’,將‘cacheexpire’的屬性值更新為‘tue,29sep201507:00:00gmt’,將‘lastmodifiedtime’的屬性值更新為‘2015-9-29,05:51:59’。607、注冊(cè)服務(wù)器接收變化的屬性值內(nèi)容,并確定有效的資源??蛇x的,注冊(cè)服務(wù)器也可以接收響應(yīng),該響應(yīng)包括變化的屬性值內(nèi)容??梢岳斫獾氖牵?cè)服務(wù)器可以接收到響應(yīng)的指示標(biāo)識(shí)(如partialupdate),或者通過(guò)特定的響應(yīng)狀態(tài)碼(3xcpartialupdate)確定資源中 一部分屬性值內(nèi)容發(fā)生了變化。則注冊(cè)服務(wù)器確定有效的資源為接收的發(fā)生變化的屬性值內(nèi)容和存儲(chǔ)的資源中未發(fā)生變化的屬性值內(nèi)容。注冊(cè)服務(wù)器根據(jù)接收到的發(fā)生變化的屬性值內(nèi)容確定本地存儲(chǔ)中未發(fā)生變化的屬性值內(nèi)容,在該資源中,確定了一部分是發(fā)生變化的屬性值內(nèi)容,則另一部分就是未發(fā)生變化的屬性值內(nèi)容??蛇x的,有效的屬性值內(nèi)容可以被攜帶于新的響應(yīng)中,具體的,注冊(cè)服務(wù)器將消息的發(fā)送時(shí)間更改當(dāng)前時(shí)間,并將本地存儲(chǔ)的未變化的屬性值內(nèi)容(contentsize=1k)加到響應(yīng)中,生成新的響應(yīng)??蛇x的,注冊(cè)服務(wù)器接收到響應(yīng),注冊(cè)服務(wù)器將消息的發(fā)送時(shí)間更改為當(dāng)前時(shí)間,將發(fā)生變化的屬性值內(nèi)容進(jìn)行更新存儲(chǔ),例如將‘content’的屬性值更新為‘raining’,將‘cacheexpire’的屬性值更新為‘tue,29sep201507:00:00gmt’,將‘lastmodifiedtime’的屬性值更新為‘2015-9-29,05:51:59’。注冊(cè)服務(wù)器根據(jù)更新后的本地存儲(chǔ)的資源生成新的響應(yīng)??蛇x的,注冊(cè)服務(wù)器將消息的發(fā)送時(shí)間更改為當(dāng)前時(shí)間,并將本地存儲(chǔ)的content屬性值替換為‘raining’,將‘cacheexpire’屬性值替換為‘tue,29sep201507:00:00gmt’,將lastmodifiedtime’替換為‘2015-9-29,05:51:59’,‘contentsize’屬性值不改變,生成新的響應(yīng)。生成新的響應(yīng)如下:http/1.1200ok/表示200ok成功響應(yīng),遵循h(huán)ttp1.1版本。content-type:application/xml/表示消息體的內(nèi)容格式為xml。date:tue,29sep201506:01:59gmt/表示消息發(fā)送時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。<cacheexpire>tue,29sep201507:00:00gmt</cacheexpire>/表示cacheexpire的屬性值為2015年9月29日,星期二,07:00:00。<lastmodifiedtime>2015-9-29,05:51:59/表示lastmodifiedtime的屬性值為“2015-9-29,05:51:59”。<contentinstance>/表示資源部分結(jié)束。608、注冊(cè)服務(wù)器向終端發(fā)送有效的資源。注冊(cè)服務(wù)器可以直接向終端發(fā)送有效的資源??蛇x的,該有效的資源被攜帶于響應(yīng)中,注冊(cè)服務(wù)器修改消息發(fā)送時(shí)間后向終端發(fā)送該響應(yīng)。需要說(shuō)明的是:(1)、步驟603至步驟607為注冊(cè)服務(wù)器中存儲(chǔ)的資源已過(guò)期的情況,可選的,若注冊(cè)服務(wù)器根據(jù)cacheexpire屬性值確定資源未過(guò)期,則所述有效的資源為uri所指示的在注冊(cè)服務(wù)器中存儲(chǔ)的資源。(2)、步驟605至步驟607為資源服務(wù)器接收到的lastmodifiedtime屬性值和資源服務(wù)器存儲(chǔ)的lastmodifiedtime屬性值不同的情況??蛇x的,若資源服務(wù)器接收到的lastmodifiedtime屬性值和資源服務(wù)器存儲(chǔ)的lastmodifiedtime屬性值相同時(shí),則資源服務(wù)器可以生成標(biāo)識(shí)信息,該標(biāo)識(shí)信息指示注冊(cè)服務(wù)器中存儲(chǔ)的資源未發(fā)生改變,即發(fā)生變化的屬性值內(nèi)容為空集??蛇x的,該標(biāo)識(shí)信息可以被攜帶于響應(yīng)中,該響應(yīng)指示注冊(cè)服務(wù)器中存儲(chǔ)的資源未改變,該響應(yīng)如下:http/1.1304notmodified表示返回304響應(yīng)指示第四請(qǐng)求所請(qǐng)求的目標(biāo)屬性未改變。date:tue,29sep201506:01:59gmt表示消息發(fā)送的時(shí)間為:格林尼治時(shí)間,2015年9月29日,星期二,06:01:59。注冊(cè)服務(wù)器接收到資源服務(wù)器發(fā)送的標(biāo)識(shí)信息或響應(yīng)時(shí),注冊(cè)服務(wù)器確定有效的資源為注冊(cè)服務(wù)器中存儲(chǔ)的資源。(3)、本實(shí)施例中步驟602至步驟607為注冊(cè)服務(wù)器中存儲(chǔ)有該資源響應(yīng)的情況,若注冊(cè)服務(wù)器根據(jù)第三請(qǐng)求確定注冊(cè)服務(wù)器中未存儲(chǔ)有該資源響應(yīng)時(shí),則注冊(cè)服務(wù)器需要將第三請(qǐng)求轉(zhuǎn)發(fā)給資源服務(wù)器,從資源服務(wù)器首次 獲取該資源。第三請(qǐng)求如步驟601所示。資源服務(wù)器接收到第三請(qǐng)求,該第三請(qǐng)求中未攜帶lastmodifiedtime則表示是對(duì)該資源的首次請(qǐng)求,資源服務(wù)器根據(jù)該資源的uri確定請(qǐng)求的是資源,資源服務(wù)器生成響應(yīng)。例如,該響應(yīng)如下:http/1.1200ok/200ok表示成功響應(yīng),遵循h(huán)ttp1.1版本規(guī)范。content-type:application/xml/消息體的內(nèi)容格式為xml。date:tue,29sep201505:51:59gmt/消息發(fā)送時(shí)間。<?xmlversion="1.0"encoding="utf-8"?><contentinstance>/資源部分開(kāi)始。<lastmodifiedtime>tue,29sep201504:51:59gmt</lastmodifiedtime>/該資源的lastmodifiedtime的屬性值為格林尼治時(shí)間,2015年9月29日,星期二,04:51:59。<contentsize>1k</contentsize>/contentsize的屬性值為“1k”。<content>cloudy</content>/content的屬性值為“多云”。<cacheexpire>tue,29sep201506:00:00gmt</cacheexpire>/該資源的cacheexpire的屬性值為格林尼治時(shí)間,2015年9月29日,星期二,06:00:00?!?lt;contentinstance>/資源部分結(jié)束。注冊(cè)服務(wù)器接收到該響應(yīng)后可以根據(jù)cacheexpire確定需要支持存儲(chǔ),也就是說(shuō),當(dāng)該資源包括cacheexpire的屬性值時(shí),注冊(cè)服務(wù)器會(huì)將整個(gè)響應(yīng)進(jìn)行存儲(chǔ)??梢岳斫獾氖?,附圖5對(duì)應(yīng)的實(shí)施例中的步驟502,附圖6對(duì)應(yīng)的實(shí)施例中的步驟602中的資源的來(lái)源為:終端向注冊(cè)服務(wù)器首次獲取請(qǐng)求后,注冊(cè)服務(wù)器從資源服務(wù)器獲取響應(yīng)并存儲(chǔ)后得到的。在注冊(cè)服務(wù)器中存儲(chǔ)的資源會(huì)進(jìn)行更新,可以定期進(jìn)行數(shù)據(jù)更新并存儲(chǔ),優(yōu)選的,隨著后期資源服務(wù)器向注冊(cè)服務(wù)器返回的變化的屬性值內(nèi)容而同步更新并存儲(chǔ)。本實(shí)施例中,在注冊(cè)服務(wù)器中引入了存儲(chǔ)機(jī)制,當(dāng)終端向注冊(cè)服務(wù)器請(qǐng) 求資源時(shí),注冊(cè)服務(wù)器根據(jù)uri為索引在存儲(chǔ)中進(jìn)行搜索,若確定在存儲(chǔ)中存在有該資源時(shí),注冊(cè)服務(wù)器根據(jù)資源的cacheexpire屬性值確定該資源是否過(guò)期,若資源未過(guò)期,注冊(cè)服務(wù)器將存儲(chǔ)的資源發(fā)送給終端,不需要向資源服務(wù)器獲取,極大的減少了資源服務(wù)器和注冊(cè)服務(wù)器之間的數(shù)據(jù)傳輸。進(jìn)一步的,若注冊(cè)服務(wù)器確定該資源已過(guò)期,注冊(cè)服務(wù)器向資源服務(wù)器發(fā)送該資源的lastmodifiedtime屬性值,資源服務(wù)器對(duì)接收到lastmodifiedtime屬性值和本地存儲(chǔ)的lastmodifiedtime屬性值做比較,若兩個(gè)lastmodifiedtime屬性值不同,資源服務(wù)器會(huì)進(jìn)一步比較存儲(chǔ)的lastmodifiedtime屬性值對(duì)應(yīng)的資源中相對(duì)于接收的lastmodifiedtime屬性值對(duì)應(yīng)的資源中,哪些屬性值發(fā)生了變化,并只將發(fā)生變化的屬性值發(fā)送給注冊(cè)服務(wù)器,并不會(huì)將資源中所有的屬性值發(fā)送給注冊(cè)服務(wù)器,因此極大的減少了注冊(cè)服務(wù)器和資源服務(wù)器之間的冗余信息傳輸,節(jié)省了網(wǎng)絡(luò)資源。以上對(duì)一種資源獲取的方法進(jìn)行了詳細(xì)描述,本發(fā)明實(shí)施例還提供了一種注冊(cè)服務(wù)器,請(qǐng)參閱圖7所述的注冊(cè)服務(wù)器700的結(jié)構(gòu)示意圖,該注冊(cè)服務(wù)器包括接收模塊701、確定模塊702和發(fā)送模塊703。其中,接收模塊701,用于接收終端發(fā)送的用于獲取資源包含的目標(biāo)屬性的第一請(qǐng)求,所述第一請(qǐng)求中攜帶所述目標(biāo)屬性的通用資源標(biāo)識(shí)符uri;確定模塊702,用于根據(jù)所述接收模塊701接收的所述uri確定所述注冊(cè)服務(wù)器中存儲(chǔ)有所述目標(biāo)屬性所屬的資源,所述目標(biāo)屬性為所述資源包含的部分內(nèi)容;發(fā)送模塊703,用于向所述終端發(fā)送所述uri指示的有效的目標(biāo)屬性。進(jìn)一步的,接收模塊701還用于執(zhí)行圖5和圖6中注冊(cè)服務(wù)器執(zhí)行的步驟502,507,602,607等步驟。確定模塊702還可以執(zhí)行圖5和圖6中注冊(cè)服務(wù)器執(zhí)行的503、603步驟,發(fā)送模塊用于執(zhí)行圖5和圖6中的504、508、604和608步驟。本發(fā)明實(shí)施例在此不再詳述。進(jìn)一步的,圖7中的注冊(cè)服務(wù)器是以功能模塊的形式來(lái)呈現(xiàn)。這里的“模塊”可以指特定應(yīng)用集成電路(application-specificintegratedcircuit,asic),電路,執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器和存儲(chǔ)器,集成邏輯電路,和/或其他可以提供上述功能的器件。在一個(gè)簡(jiǎn)單的實(shí)施例中,本領(lǐng)域的技術(shù) 人員可以想到圖7中的注冊(cè)服務(wù)器可以采用圖3所示的形式。各模塊可以通過(guò)圖3的處理器、收發(fā)器和存儲(chǔ)器來(lái)實(shí)現(xiàn)。如圖8所示,本發(fā)明實(shí)施例還提供了一種資源服務(wù)器的結(jié)構(gòu)示意圖。該資源服務(wù)器應(yīng)用于m2m系統(tǒng)。該裝置包括:接收模塊801、確定模塊802和發(fā)送模塊803。其中,接收模塊801,用于接收注冊(cè)服務(wù)器發(fā)送的用于獲取資源包含的目標(biāo)屬性的第二請(qǐng)求,所述第二請(qǐng)求攜帶所述目標(biāo)屬性的通用資源標(biāo)識(shí)符uri和所述資源的最后修改時(shí)間屬性,所述目標(biāo)屬性為所述資源包含的部分內(nèi)容;確定模塊802,用于確定存儲(chǔ)在所述資源服務(wù)器中的所述目標(biāo)屬性的最后修改時(shí)間屬性值與接收到的最后修改時(shí)間屬性值不同時(shí),確定所述存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于所述存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容;發(fā)送模塊803,用于向所述注冊(cè)服務(wù)器發(fā)送所述發(fā)生變化的屬性值內(nèi)容。進(jìn)一步的,接收模塊801還用于在圖5的步驟505中執(zhí)行“接收第二請(qǐng)求”的步驟,圖6的步驟605中執(zhí)行“接收第四請(qǐng)求”的步驟。確定模塊802還可以執(zhí)行圖5的在步驟505中執(zhí)行“確定存儲(chǔ)在所述資源服務(wù)器中的所述目標(biāo)屬性的最后修改時(shí)間屬性值與接收到的最后修改時(shí)間屬性值不同時(shí),確定所述存儲(chǔ)在資源服務(wù)器中的目標(biāo)屬性中相對(duì)于所述存儲(chǔ)在注冊(cè)服務(wù)器中的目標(biāo)屬性發(fā)生變化的屬性值內(nèi)容”的步驟,以及可以在圖6的步驟605中執(zhí)行“確定存儲(chǔ)的所述資源的最后修改時(shí)間屬性值與接收的所述資源的最后修改時(shí)間屬性值不同時(shí),確定存儲(chǔ)在資源服務(wù)器中的資源相對(duì)于存儲(chǔ)在注冊(cè)服務(wù)器中的資源發(fā)生變化的屬性值內(nèi)容”的步驟。發(fā)送模塊803還可以用于執(zhí)行圖5和圖6中的506和606步驟,本發(fā)明實(shí)施例在此不再詳述。進(jìn)一步的,圖8中的裝置是以功能模塊的形式來(lái)呈現(xiàn)。這里的“模塊”可以指特定應(yīng)用集成電路(application-specificintegratedcircuit,asic),電路,執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器和存儲(chǔ)器,集成邏輯電路,和/或其他可以提供上述功能的器件。在一個(gè)簡(jiǎn)單的實(shí)施例中,本領(lǐng)域的技術(shù)人員可以想到圖8中的裝置可以采用圖3所示的形式。各模塊可以通過(guò)圖3的收發(fā)器、處理器和存儲(chǔ)器來(lái)實(shí)現(xiàn)。本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述圖7所示的注冊(cè)服務(wù)器或圖8所示的資源服務(wù)器所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方法實(shí)施例所設(shè)計(jì)的程序。通過(guò)執(zhí)行存儲(chǔ)的程序,可以實(shí)現(xiàn)對(duì)資源的獲取。本領(lǐng)域普通技術(shù)人員應(yīng)該了解本申請(qǐng)的所有或部分標(biāo)的物可在結(jié)合硬件和/或固件的軟件中實(shí)施。例如,本文描述的標(biāo)的物可在一個(gè)或多個(gè)處理器執(zhí)行的軟件中實(shí)施。在一項(xiàng)示例性實(shí)施方式中,本文描述的標(biāo)的物可使用存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)實(shí)施,當(dāng)計(jì)算機(jī)處理器執(zhí)行該計(jì)算機(jī)可執(zhí)行指令時(shí),該指令控制計(jì)算機(jī)執(zhí)行步驟。適于實(shí)施本文描述的標(biāo)的物的示例計(jì)算機(jī)可讀介質(zhì)包括非瞬時(shí)計(jì)算機(jī)可讀介質(zhì),例如磁盤(pán)存儲(chǔ)器設(shè)備、芯片存儲(chǔ)器設(shè)備、可編程邏輯設(shè)備和專用集成電路。另外,實(shí)施本文描述的標(biāo)的物的計(jì)算機(jī)可讀介質(zhì)可位于單個(gè)設(shè)備或計(jì)算平臺(tái)上,或可在多個(gè)設(shè)備或計(jì)算平臺(tái)上分發(fā)。最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。當(dāng)前第1頁(yè)12