專(zhuān)利名稱(chēng):一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法及用戶(hù)檔案管理服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信及網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法及用戶(hù)檔案管理服務(wù)器。
背景技術(shù):
在信息社會(huì)中,用戶(hù)在網(wǎng)絡(luò)中使用的業(yè)務(wù)越來(lái)越多,用戶(hù)的個(gè)人檔案數(shù)據(jù)也越來(lái)越多的分散到不同的網(wǎng)絡(luò)實(shí)體中,對(duì)用戶(hù)檔案的控制和管理也越來(lái)越復(fù)雜,并且要求有更好的安全性和靈活性,能夠滿(mǎn)足用戶(hù)和業(yè)務(wù)對(duì)檔案的各種操作。
用戶(hù)的檔案數(shù)據(jù)通常包括用戶(hù)的偏好信息,業(yè)務(wù)的個(gè)性化定制信息,終端能力設(shè)備信息以及網(wǎng)絡(luò)狀態(tài)信息。對(duì)這些信息進(jìn)行準(zhǔn)確的量化和表示,是進(jìn)一步利用這些信息構(gòu)建新的業(yè)務(wù)提供、業(yè)務(wù)應(yīng)用和業(yè)務(wù)控制模式,實(shí)現(xiàn)智能化和個(gè)性化的應(yīng)用系統(tǒng)的前提。
隨著網(wǎng)絡(luò)硬件設(shè)施的快速發(fā)展,寬帶和3G網(wǎng)絡(luò)能夠滿(mǎn)足更多的業(yè)務(wù)需求,各種各樣的新業(yè)務(wù)不斷涌現(xiàn)。綜合來(lái)看,業(yè)務(wù)有向個(gè)性化和社會(huì)化兩個(gè)方向同時(shí)發(fā)展的趨勢(shì)。個(gè)性化的業(yè)務(wù)指業(yè)務(wù)根據(jù)每個(gè)用戶(hù)的特點(diǎn),為用戶(hù)提供符合其偏好的業(yè)務(wù)服務(wù),如用戶(hù)使用的業(yè)務(wù)界面是其喜歡的顏色,使用其偏好的語(yǔ)言進(jìn)行人機(jī)交互,業(yè)務(wù)的展現(xiàn)形式也適合用戶(hù)終端的顯示能力等。這些用戶(hù)偏好信息和業(yè)務(wù)的個(gè)性化定制信息存儲(chǔ)在用戶(hù)檔案中,可以支撐個(gè)性化業(yè)務(wù)的運(yùn)行;社會(huì)化業(yè)務(wù)是指業(yè)務(wù)為用戶(hù)提供服務(wù)時(shí)并不孤立的考慮用戶(hù)本身的檔案信息,而且需要考慮其他與該用戶(hù)相關(guān)用戶(hù)的檔案信息,相關(guān)用戶(hù)指與該用戶(hù)有相似特征的同類(lèi)型用戶(hù)或該用戶(hù)的好友用戶(hù)。同樣,社會(huì)化業(yè)務(wù)也需要社會(huì)化的用戶(hù)檔案服務(wù)的支撐,如用戶(hù)搜索內(nèi)容的排序希望按照某個(gè)用戶(hù)群內(nèi)用戶(hù)的點(diǎn)擊偏好,為用戶(hù)推薦的內(nèi)容是與用戶(hù)聯(lián)系最密切好友喜歡的內(nèi)容,用戶(hù)的初始業(yè)務(wù)設(shè)置與某個(gè)最相似用戶(hù)的設(shè)置相同等。用戶(hù)檔案數(shù)據(jù)的管理需要在架構(gòu)上對(duì)上述的各種業(yè)務(wù)服務(wù)進(jìn)行支撐,滿(mǎn)足業(yè)務(wù)的要求。
現(xiàn)有技術(shù)一在通用用戶(hù)檔案GUP(Generic User Profile)中,提供了一種用戶(hù)檔案訪問(wèn)和控制的方法。該方法中由用戶(hù)檔案管理服務(wù)器對(duì)所有的用戶(hù)檔案進(jìn)行管理,并提供兩種基本的用戶(hù)數(shù)據(jù)管理和訪問(wèn)的機(jī)制,即代理方式和重定向方式。該方法中用戶(hù)檔案數(shù)據(jù)由一個(gè)或多個(gè)檔案組件文件組成,每個(gè)檔案組件中可以包括子檔案組件或用戶(hù)屬性數(shù)據(jù)項(xiàng),檔案組件可以分布式存儲(chǔ)在不同的用戶(hù)檔案存儲(chǔ)庫(kù)中,由一個(gè)用戶(hù)檔案管理服務(wù)器統(tǒng)一來(lái)進(jìn)行管理。用戶(hù)檔案服務(wù)器是對(duì)用戶(hù)檔案操作的統(tǒng)一接口,對(duì)存儲(chǔ)在不同用戶(hù)檔案存儲(chǔ)庫(kù)中數(shù)據(jù)的訪問(wèn)和操作(包括建立用戶(hù)數(shù)據(jù),讀取某個(gè)用戶(hù)數(shù)據(jù)項(xiàng)或者更改某個(gè)用戶(hù)數(shù)據(jù)項(xiàng))均發(fā)送給用戶(hù)檔案服務(wù)器執(zhí)行。
上述代理方式的用戶(hù)檔案的操作流程,參見(jiàn)圖1所示,包括下列步驟1.請(qǐng)求方(需要訪問(wèn)用戶(hù)數(shù)據(jù)的用戶(hù)或第三方應(yīng)用)向用戶(hù)檔案管理服務(wù)器PMS(Profile Management Server)發(fā)送數(shù)據(jù)操作請(qǐng)求。
2.PMS首先對(duì)請(qǐng)求方進(jìn)行認(rèn)證,檢查請(qǐng)求的操作權(quán)限,識(shí)別并定位用戶(hù)數(shù)據(jù)項(xiàng)。
3,PMS向用戶(hù)檔案存儲(chǔ)庫(kù)發(fā)送請(qǐng)求方的操作請(qǐng)求。
4.用戶(hù)檔案存儲(chǔ)庫(kù)執(zhí)行操作,并將結(jié)果數(shù)據(jù)返回給PMS。
5.PMS將返回的結(jié)果返回響應(yīng)給請(qǐng)求方。
上述重定向方式的用戶(hù)檔案的操作流程,參見(jiàn)圖2所示,包括下列步驟1.請(qǐng)求方(需要訪問(wèn)用戶(hù)數(shù)據(jù)的用戶(hù)或第三方應(yīng)用)向用戶(hù)檔案管理服務(wù)器(PMS)發(fā)送數(shù)據(jù)操作請(qǐng)求。
2.PMS首先對(duì)請(qǐng)求方進(jìn)行認(rèn)證,檢查請(qǐng)求的操作權(quán)限,識(shí)別并定位用戶(hù)數(shù)據(jù)項(xiàng)。
3,PMS將授權(quán)聲明和定位信息返回給請(qǐng)求方。
4.請(qǐng)求方根據(jù)接收到的授權(quán)聲明向用戶(hù)檔案存儲(chǔ)庫(kù)請(qǐng)求執(zhí)行操作。
5.用戶(hù)檔案存儲(chǔ)庫(kù)將操作的結(jié)果的數(shù)據(jù)返回給請(qǐng)求方。
在上述兩種方式對(duì)用戶(hù)檔案的操作流程中,對(duì)用戶(hù)檔案服務(wù)器的請(qǐng)求消息中包括●Create建立用戶(hù)檔案。
●Delete刪除用戶(hù)檔案。
●Modify修改用戶(hù)檔案。
●List列出現(xiàn)有的用戶(hù)檔案項(xiàng)。
●Query查詢(xún)用戶(hù)檔案。
●Subscribe應(yīng)用請(qǐng)求對(duì)用戶(hù)檔案變化的通知。
●Unsubscribe取消應(yīng)用請(qǐng)求對(duì)用戶(hù)檔案變化的通知。
以查詢(xún)請(qǐng)求為例,請(qǐng)求方向用戶(hù)檔案管理服務(wù)器發(fā)送的查詢(xún)請(qǐng)求包括用戶(hù)標(biāo)識(shí)、請(qǐng)求的檔案數(shù)據(jù)項(xiàng)和請(qǐng)求方標(biāo)識(shí),用戶(hù)檔案管理服務(wù)器接收到查詢(xún)請(qǐng)求后對(duì)請(qǐng)求方標(biāo)識(shí)進(jìn)行認(rèn)證,認(rèn)證通過(guò)后根據(jù)請(qǐng)求方標(biāo)識(shí),請(qǐng)求的用戶(hù)標(biāo)識(shí)和用戶(hù)檔案項(xiàng)確認(rèn)請(qǐng)求方是否可以查詢(xún)請(qǐng)求的用戶(hù)數(shù)據(jù),即對(duì)請(qǐng)求進(jìn)行授權(quán),然后定位請(qǐng)求的用戶(hù)數(shù)據(jù)的位置,獲得請(qǐng)求所在的一個(gè)或多個(gè)用戶(hù)檔案存儲(chǔ)庫(kù)的信息(同一個(gè)用戶(hù)標(biāo)識(shí)的檔案組件/數(shù)據(jù)項(xiàng)可能分布存儲(chǔ)在不同的用戶(hù)檔案存儲(chǔ)庫(kù)中),之后,根據(jù)請(qǐng)求的訪問(wèn)機(jī)制,用戶(hù)檔案管理服務(wù)器或者向存儲(chǔ)用戶(hù)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)庫(kù)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求,并接收返回的數(shù)據(jù)值信息,將數(shù)據(jù)值以響應(yīng)消息返回給請(qǐng)求方,或者將授權(quán)聲明發(fā)送給發(fā)送方,由發(fā)送方向用戶(hù)檔案存儲(chǔ)庫(kù)請(qǐng)求數(shù)據(jù)。
在上述兩種方式的用戶(hù)檔案的操作流程中,對(duì)用戶(hù)檔案存儲(chǔ)庫(kù)的請(qǐng)求消息中包括●Create Component在存儲(chǔ)庫(kù)中增加一個(gè)新的檔案組件。
●Delete Component從存儲(chǔ)庫(kù)中刪除一個(gè)檔案組件。
●List列出已有的檔案項(xiàng)。
●Modify修改現(xiàn)有的用戶(hù)檔案組件中的數(shù)據(jù)。
●Read查詢(xún)用戶(hù)檔案中的數(shù)據(jù)。
●Subscribe訂購(gòu)檔案組件中數(shù)據(jù)變化的通知。
●Unsubscribe取消檔案組件中數(shù)據(jù)變化的通知。
以查詢(xún)請(qǐng)求為例,用戶(hù)檔案存儲(chǔ)庫(kù)收到的請(qǐng)求包括資源標(biāo)識(shí)、請(qǐng)求的數(shù)據(jù)項(xiàng)和請(qǐng)求方標(biāo)識(shí),這些信息被封裝到一個(gè)安全的授權(quán)聲明中,用戶(hù)檔案存儲(chǔ)庫(kù)接收到查詢(xún)請(qǐng)求后,檢查安全授權(quán)聲明,使用授權(quán)聲明到發(fā)布聲明的用戶(hù)檔案管理服務(wù)器進(jìn)行鑒權(quán),鑒權(quán)通過(guò)后則利用資源標(biāo)識(shí)和請(qǐng)求的數(shù)據(jù)項(xiàng)在數(shù)據(jù)存儲(chǔ)庫(kù)中查找符合條件的數(shù)據(jù)項(xiàng)的值,以XML文檔的形式返回給請(qǐng)求方。
現(xiàn)有技術(shù)一中,雖然一個(gè)用戶(hù)的分布式檔案由用戶(hù)檔案管理服務(wù)器統(tǒng)一進(jìn)行管理,但各個(gè)用戶(hù)的檔案之間是單獨(dú)管理的,并沒(méi)有考慮用戶(hù)檔案之間的關(guān)聯(lián)關(guān)系,因此對(duì)于社會(huì)化業(yè)務(wù)不能很好的支撐,即無(wú)法通過(guò)一個(gè)用戶(hù)檔案的授權(quán)訪問(wèn)來(lái)訪問(wèn)其他相關(guān)的用戶(hù)檔案。
有如下場(chǎng)景,用戶(hù)u是業(yè)務(wù)A的一個(gè)用戶(hù),業(yè)務(wù)A可以訪問(wèn)用戶(hù)u的檔案,另一個(gè)用戶(hù)v是用戶(hù)u的好友用戶(hù),業(yè)務(wù)A并沒(méi)有對(duì)用戶(hù)v檔案的訪問(wèn)權(quán)限。當(dāng)業(yè)務(wù)A試圖通過(guò)好友用戶(hù)v的檔案為用戶(hù)u提供服務(wù)時(shí),并沒(méi)有v的授權(quán),因此不能訪問(wèn)v的檔案,則業(yè)務(wù)A無(wú)法為用戶(hù)u提供社會(huì)化服務(wù)。這種基于用戶(hù)檔案的關(guān)聯(lián)訪問(wèn)方式在現(xiàn)有技術(shù)一中沒(méi)有提供有效的支撐,而且隨著社會(huì)化業(yè)務(wù)的越來(lái)越豐富,這種應(yīng)用場(chǎng)景會(huì)越來(lái)越多。所以,用戶(hù)檔案管理系統(tǒng)需要在功能上支持這種基于用戶(hù)檔案的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)。
現(xiàn)有技術(shù)二現(xiàn)有互聯(lián)網(wǎng)的社會(huì)網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,注冊(cè)的用戶(hù)可以直接訪問(wèn)好友的數(shù)據(jù)資料,并且可以通過(guò)授權(quán)來(lái)訪問(wèn)好友的好友的數(shù)據(jù)資料,并查找一條可以找到目標(biāo)用戶(hù)的最佳關(guān)系路徑(如聯(lián)系的途徑)。
但是現(xiàn)有技術(shù)二中,是通過(guò)好友列表和權(quán)限控制實(shí)現(xiàn)在同一個(gè)管理域中的數(shù)據(jù)訪問(wèn),不涉及分布式的數(shù)據(jù)訪問(wèn)機(jī)制,從而限制了數(shù)據(jù)訪問(wèn)的靈活性。
綜上所述,現(xiàn)有技術(shù)無(wú)法兼顧用戶(hù)檔案之間的關(guān)聯(lián)訪問(wèn),以及分布式的數(shù)據(jù)訪問(wèn)機(jī)制。
發(fā)明內(nèi)容
本發(fā)明提供一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法及用戶(hù)檔案管理服務(wù)器,用以解決現(xiàn)有技術(shù)無(wú)法兼顧用戶(hù)檔案之間的關(guān)聯(lián)訪問(wèn),以及分布式數(shù)據(jù)訪問(wèn)機(jī)制的問(wèn)題。
本發(fā)明方法包括用戶(hù)檔案管理服務(wù)器PMS收到請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,則在判定允許該請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)后,確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,并將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;以及PMS對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán),并根據(jù)鑒權(quán)結(jié)果,提供相關(guān)數(shù)據(jù)。
本發(fā)明的用戶(hù)檔案管理服務(wù)器,包括授權(quán)規(guī)則存儲(chǔ)模塊,用于存儲(chǔ)是否允許請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)的關(guān)聯(lián)授權(quán)規(guī)則;控制模塊,用于根據(jù)授權(quán)規(guī)則存儲(chǔ)模塊中存儲(chǔ)的關(guān)聯(lián)授權(quán)規(guī)則判定允許請(qǐng)求方進(jìn)行關(guān)聯(lián)訪問(wèn)后,將該請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息轉(zhuǎn)發(fā)給關(guān)聯(lián)處理模塊;以及根據(jù)關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明,指示提供相關(guān)數(shù)據(jù);關(guān)聯(lián)處理模塊,用于從關(guān)聯(lián)存儲(chǔ)模塊中提取源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表,并根據(jù)該關(guān)聯(lián)訪問(wèn)控制列表及所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,以及將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;以及對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán),并根據(jù)鑒權(quán)結(jié)果向控制模塊發(fā)出訪問(wèn)授權(quán)聲明;關(guān)聯(lián)存儲(chǔ)模塊,用于存儲(chǔ)和提供用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表。
本發(fā)明實(shí)施例的有益效果如下本發(fā)明中,PMS收到請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息后,先判斷是否允許該請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn),若判定允許,則根據(jù)源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表及所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,并將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;之后PMS對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán);最后PMS根據(jù)鑒權(quán)結(jié)果,提供相關(guān)數(shù)據(jù)。
本發(fā)明與現(xiàn)有技術(shù)一相比,考慮了用戶(hù)檔案之間的關(guān)聯(lián)關(guān)系,可支撐社會(huì)化業(yè)務(wù)。
本發(fā)明與現(xiàn)有技術(shù)二相比,由用戶(hù)檔案管理服務(wù)器統(tǒng)一管理用戶(hù)檔案,不局限于通過(guò)用戶(hù)檔案之間的關(guān)聯(lián)關(guān)系確定到達(dá)某一目標(biāo)用戶(hù)的最佳關(guān)系路徑,還可支撐分布式數(shù)據(jù)訪問(wèn)機(jī)制,即訪問(wèn)與授權(quán)訪問(wèn)用戶(hù)(源訪問(wèn)用戶(hù))相關(guān)聯(lián)的若干用戶(hù)的用戶(hù)檔案,所以本發(fā)明繼承了分布式數(shù)據(jù)訪問(wèn)機(jī)制的靈活性。
綜上所述,本發(fā)明既支撐了用戶(hù)檔案之間的關(guān)聯(lián)訪問(wèn),又繼承了分布式數(shù)據(jù)訪問(wèn)機(jī)制。
圖1為現(xiàn)有代理方式的用戶(hù)檔案操作流程圖;圖2為現(xiàn)有重定向方式的用戶(hù)檔案操作流程圖;圖3為本發(fā)明請(qǐng)求方訪問(wèn)關(guān)聯(lián)數(shù)據(jù)的處理流程圖;圖4為本發(fā)明方法實(shí)施例一的流程圖;圖5為本發(fā)明用戶(hù)檔案管理服務(wù)器的結(jié)構(gòu)示意圖;圖6為本發(fā)明模塊化的實(shí)施例流程圖。
具體實(shí)施例方式
為了在訪問(wèn)用戶(hù)數(shù)據(jù)時(shí),既支撐用戶(hù)檔案之間的關(guān)聯(lián)訪問(wèn),又繼承分布式數(shù)據(jù)訪問(wèn)機(jī)制的靈活性,本發(fā)明提供了一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法。為了支撐本發(fā)明方法,首先需要為每一用戶(hù)生成關(guān)聯(lián)訪問(wèn)控制列表并保存在PMS中;或保存在信任PMS的用戶(hù)檔案存儲(chǔ)庫(kù)中,所述PMS可以直接訪問(wèn)該關(guān)聯(lián)訪問(wèn)控制列表。用戶(hù)的關(guān)聯(lián)訪問(wèn)列表中記錄了通過(guò)該用戶(hù)可以關(guān)聯(lián)訪問(wèn)的關(guān)聯(lián)用戶(hù)的標(biāo)識(shí),以及每個(gè)關(guān)聯(lián)用戶(hù)的授權(quán)信息;所述授權(quán)信息包括關(guān)聯(lián)用戶(hù)包含的關(guān)聯(lián)數(shù)據(jù)項(xiàng),以及各個(gè)關(guān)聯(lián)數(shù)據(jù)項(xiàng)的訪問(wèn)權(quán)限。并且需要定義關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息和關(guān)聯(lián)訪問(wèn)響應(yīng)消息。
◆所述關(guān)聯(lián)訪問(wèn)控制列表可由用戶(hù)設(shè)置生成,或者由服務(wù)商生成。
●由用戶(hù)設(shè)置生成。
系統(tǒng)中每個(gè)用戶(hù)可為自身設(shè)置一關(guān)聯(lián)訪問(wèn)控制列表,所述關(guān)聯(lián)訪問(wèn)控制列表中包括若干與該用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)和每個(gè)關(guān)聯(lián)用戶(hù)授權(quán)的關(guān)聯(lián)數(shù)據(jù)項(xiàng)及其訪問(wèn)權(quán)限。請(qǐng)求方可通過(guò)對(duì)該用戶(hù)的訪問(wèn)獲得該關(guān)聯(lián)訪問(wèn)控制列表中的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)和授權(quán)信息,進(jìn)一步訪問(wèn)所述關(guān)聯(lián)用戶(hù)的檔案數(shù)據(jù)。
所述關(guān)聯(lián)訪問(wèn)控制列表例如表一所示 表一所述表一中,用戶(hù)A標(biāo)識(shí)Ricky@domainl。
關(guān)聯(lián)用戶(hù)1標(biāo)識(shí)alice@domainl;訪問(wèn)權(quán)限數(shù)據(jù)項(xiàng)默認(rèn)權(quán)限不可訪問(wèn);Name項(xiàng)權(quán)限可讀;MusicPreference項(xiàng)權(quán)限可讀;Alias項(xiàng)權(quán)限可修改。
關(guān)聯(lián)用戶(hù)2標(biāo)識(shí)Rose@domainl;訪問(wèn)權(quán)限數(shù)據(jù)項(xiàng)默認(rèn)權(quán)限可讀;Age項(xiàng)權(quán)限不可訪問(wèn);MusicPreference項(xiàng)權(quán)限可讀。
上述表一只是一種具體表現(xiàn)形式,還可采取其他形式表明與用戶(hù)A相關(guān)聯(lián)的用戶(hù)將自己的數(shù)據(jù)項(xiàng)授權(quán)給用戶(hù)A的情況。
●由服務(wù)商生成。
由服務(wù)商根據(jù)自身的規(guī)則對(duì)用戶(hù)進(jìn)行分類(lèi),并根據(jù)分類(lèi)結(jié)果生成關(guān)聯(lián)訪問(wèn)控制列表。所述關(guān)聯(lián)訪問(wèn)控制列表中包括為每個(gè)用戶(hù)記錄該用戶(hù)所屬的若干關(guān)聯(lián)類(lèi)別項(xiàng);所述關(guān)聯(lián)訪問(wèn)控制列表中還包括所有用戶(hù)共同使用的為各個(gè)類(lèi)別中特定數(shù)據(jù)項(xiàng)配置的訪問(wèn)權(quán)限,以及所有屬于該類(lèi)別的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)(即同一類(lèi)別中的用戶(hù)相互關(guān)聯(lián))。這樣通過(guò)所述關(guān)聯(lián)類(lèi)別項(xiàng)可以找到屬于該類(lèi)別的所有關(guān)聯(lián)用戶(hù),進(jìn)而可以通過(guò)對(duì)特定數(shù)據(jù)項(xiàng)的鑒權(quán)過(guò)程訪問(wèn)某一關(guān)聯(lián)用戶(hù)的特定數(shù)據(jù)項(xiàng)信息。
所述關(guān)聯(lián)訪問(wèn)控制列表例如表二所示
表二用戶(hù)A同時(shí)被分類(lèi)在關(guān)聯(lián)類(lèi)別1至關(guān)聯(lián)類(lèi)別n中。
關(guān)聯(lián)類(lèi)別1包含的特定數(shù)據(jù)項(xiàng)Age數(shù)據(jù)項(xiàng)可讀;Alias數(shù)據(jù)項(xiàng)可讀;MusicPreference數(shù)據(jù)項(xiàng)可修改;LanguragePreference數(shù)據(jù)項(xiàng)可讀。
屬于關(guān)聯(lián)類(lèi)別1的關(guān)聯(lián)用戶(hù)用戶(hù)A、用戶(hù)B、用戶(hù)C、用戶(hù)D。
上述表二只是一種具體表現(xiàn)形式,還可采取其他形式表明服務(wù)商為各個(gè)類(lèi)別中的數(shù)據(jù)項(xiàng)設(shè)定的訪問(wèn)權(quán)限。
◆定義關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息和關(guān)聯(lián)訪問(wèn)響應(yīng)消息。
●所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息的定義參見(jiàn)表三所示
表三●所述關(guān)聯(lián)訪問(wèn)響應(yīng)消息的定義參見(jiàn)表四所示
表四◆為每一用戶(hù)保存了一個(gè)關(guān)聯(lián)訪問(wèn)控制列表,以及定義關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息和關(guān)聯(lián)訪問(wèn)響應(yīng)消息之后,請(qǐng)求方訪問(wèn)關(guān)聯(lián)數(shù)據(jù)的處理流程參見(jiàn)圖3所示,包括下列主要步驟S1、PMS收到請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息。
請(qǐng)求方向PMS發(fā)送關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,該關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶有上述表三中描述的必選選項(xiàng),以及若干可選選項(xiàng)。
S2、PMS對(duì)關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息進(jìn)行鑒權(quán)。
本步驟中,PMS首先判斷是否允許請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)(其中包括對(duì)請(qǐng)求方的身份進(jìn)行認(rèn)證和關(guān)聯(lián)訪問(wèn)權(quán)限認(rèn)證),若認(rèn)證通過(guò),則PMS提取源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表,并根據(jù)該請(qǐng)求消息中的過(guò)濾參數(shù)和源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表來(lái)確定目標(biāo)關(guān)聯(lián)用戶(hù)集合。根據(jù)所述過(guò)濾參數(shù)中攜帶的信息不同,存在兩種確定目標(biāo)關(guān)聯(lián)用戶(hù)集合的情況情況一、從源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中提取源訪問(wèn)用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)合集,并將該用戶(hù)標(biāo)識(shí)合集與所述過(guò)濾參數(shù)中攜帶的請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表比較,取其交集為目標(biāo)關(guān)聯(lián)用戶(hù)集合。
情況二、從源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中提取源訪問(wèn)用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)合集,并根據(jù)所述過(guò)濾參數(shù)中的關(guān)聯(lián)層數(shù),從所述源訪問(wèn)用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)合集中提取對(duì)應(yīng)關(guān)聯(lián)層數(shù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合作為目標(biāo)關(guān)聯(lián)用戶(hù)集合。
之后將所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息分解為對(duì)所述目標(biāo)關(guān)聯(lián)用戶(hù)集合中包含的各個(gè)目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求消息,并在對(duì)各個(gè)指向目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求消息鑒權(quán)結(jié)束后轉(zhuǎn)入步驟S3。
S3、PMS根據(jù)鑒權(quán)結(jié)果,提供相關(guān)數(shù)據(jù)。
對(duì)應(yīng)上述表四中描述的參數(shù),本步驟存在兩種情況。
情況一、PMS根據(jù)鑒權(quán)結(jié)果生成授權(quán)聲明,并以該授權(quán)聲明從本地用戶(hù)檔案存儲(chǔ)庫(kù)(不限于一個(gè)用戶(hù)檔案存儲(chǔ)庫(kù))中相應(yīng)提取關(guān)聯(lián)數(shù)據(jù)或直接向信任的用戶(hù)檔案存儲(chǔ)庫(kù)提取相關(guān)數(shù)據(jù);PMS得到關(guān)聯(lián)數(shù)據(jù)之后,根據(jù)所述請(qǐng)求訪問(wèn)數(shù)據(jù)中的請(qǐng)求類(lèi)型生成關(guān)聯(lián)操作響應(yīng)消息,用以向請(qǐng)求方返回關(guān)聯(lián)數(shù)據(jù)。
情況二、若指示需要重定向,則PMS根據(jù)鑒權(quán)結(jié)果生成授權(quán)聲明,并將該授權(quán)聲明返回給請(qǐng)求方;之后,請(qǐng)求方以該授權(quán)聲明從用戶(hù)檔案存儲(chǔ)庫(kù)(不限于一個(gè)用戶(hù)檔案存儲(chǔ)庫(kù))中獲取相應(yīng)的關(guān)聯(lián)數(shù)據(jù)。
方法實(shí)施例一、為了更加詳盡的描述PMS處理關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息的流程,以下結(jié)合上述圖3、表三和表四,說(shuō)明鑒權(quán)后PMS直接向請(qǐng)求方返回關(guān)聯(lián)數(shù)據(jù)的情況(即對(duì)應(yīng)上述步驟S3中的情況一),參見(jiàn)圖4所示,包括下列細(xì)節(jié)步驟1、PMS認(rèn)證請(qǐng)求方身份,對(duì)身份的認(rèn)證可以根據(jù)所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中的安全認(rèn)證參數(shù)(如消息通過(guò)SOAP協(xié)議承載,則通過(guò)SOAP中的安全參數(shù))在PMS內(nèi)部或向第三方認(rèn)證機(jī)構(gòu)請(qǐng)求認(rèn)證請(qǐng)求方的身份。
2、PMS根據(jù)請(qǐng)求方的身份和所述請(qǐng)求消息中的源訪問(wèn)用戶(hù)標(biāo)識(shí),查詢(xún)關(guān)聯(lián)授權(quán)規(guī)則,判斷是否允許請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)。若允許,則轉(zhuǎn)入步驟4;否則,轉(zhuǎn)入步驟3。在具體實(shí)現(xiàn)中,所述關(guān)聯(lián)授權(quán)規(guī)則可為所述源訪問(wèn)用戶(hù)不存在于該請(qǐng)求方的好友列表中,則判定不允許該請(qǐng)求方對(duì)所述源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn);否則,允許。又例如請(qǐng)求方為Ricky@domainl,源訪問(wèn)用戶(hù)的被訪問(wèn)對(duì)象為Rose@domainl的MusicPreference數(shù)據(jù)項(xiàng),訪問(wèn)方式為可讀取,則代表允許Ricky讀取Rose的MusicPreference項(xiàng)。
3、設(shè)定關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Status字段為“請(qǐng)求失敗”,并轉(zhuǎn)入步驟11。
4、PMS從源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中獲得該用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合與關(guān)聯(lián)數(shù)據(jù)項(xiàng)授權(quán)信息。
5、PMS根據(jù)所述請(qǐng)求消息中的過(guò)濾參數(shù),從上述的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合中選擇符合條件的目標(biāo)關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合。
如果所述請(qǐng)求消息中的過(guò)濾條件為“關(guān)聯(lián)過(guò)濾參數(shù)”,則根據(jù)過(guò)濾條件中的關(guān)聯(lián)層數(shù),從源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中獲得對(duì)應(yīng)關(guān)聯(lián)層數(shù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合(第一層對(duì)應(yīng)源訪問(wèn)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí),第二層對(duì)應(yīng)源訪問(wèn)用戶(hù)每個(gè)關(guān)聯(lián)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí),以此類(lèi)推);如果請(qǐng)求消息中的過(guò)濾條件為“請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表”,則PMS首先獲得源用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表,然后將所述請(qǐng)求消息中的“請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表”與得到的源訪問(wèn)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合進(jìn)行比較,并取符合關(guān)聯(lián)條件的關(guān)聯(lián)用戶(hù)標(biāo)識(shí);即取二者的交集。
6、PMS將指向源訪問(wèn)用戶(hù)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息分解為對(duì)所述目標(biāo)關(guān)聯(lián)用戶(hù)集合中包含的各個(gè)目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求消息,并根據(jù)步驟4中獲得的關(guān)聯(lián)數(shù)據(jù)授權(quán)信息,對(duì)所述目標(biāo)關(guān)聯(lián)用戶(hù)集合中包含的各個(gè)目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)項(xiàng)分別進(jìn)行鑒權(quán)。
若指向各個(gè)目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求消息全部符合授權(quán)規(guī)則(例如該目標(biāo)關(guān)聯(lián)用戶(hù)的關(guān)聯(lián)數(shù)據(jù)項(xiàng)有5項(xiàng),若其中大于等于3項(xiàng)通過(guò)鑒權(quán),則判定符合授權(quán)規(guī)則;否則,判定不符合授權(quán)規(guī)則),則判定符合PMS中預(yù)設(shè)的策略,繼續(xù)執(zhí)行步驟7;若某些指向目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求不符合授權(quán)規(guī)則,則根據(jù)PMS中預(yù)設(shè)的策略,判定符合預(yù)設(shè)的策略時(shí)繼續(xù)執(zhí)行步驟7,否則轉(zhuǎn)入步驟3(例如有任一個(gè)指向目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求不符合授權(quán)規(guī)則,則判定不符合預(yù)設(shè)的策略,轉(zhuǎn)入步驟3;又例如有半數(shù)以上指向目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求不符合授權(quán)規(guī)則,才判定不符合預(yù)設(shè)的策略,轉(zhuǎn)入步驟3。
7、PMS根據(jù)符合授權(quán)規(guī)則的目標(biāo)關(guān)聯(lián)用戶(hù)標(biāo)識(shí)和所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,相應(yīng)生成訪問(wèn)關(guān)聯(lián)數(shù)據(jù)所需要的訪問(wèn)授權(quán)聲明。
8、PMS使用所述訪問(wèn)授權(quán)聲明向用戶(hù)檔案存儲(chǔ)庫(kù)發(fā)送用戶(hù)數(shù)據(jù)請(qǐng)求。
9、用戶(hù)檔案存儲(chǔ)庫(kù)根據(jù)訪問(wèn)授權(quán)聲明對(duì)請(qǐng)求進(jìn)行認(rèn)證,并在響應(yīng)中返回請(qǐng)求的數(shù)據(jù)。
10、PMS得到從用戶(hù)檔案存儲(chǔ)庫(kù)發(fā)來(lái)的數(shù)據(jù)后,根據(jù)關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中的關(guān)聯(lián)請(qǐng)求類(lèi)型做相應(yīng)的處理a)如果關(guān)聯(lián)請(qǐng)求類(lèi)型為FullReturen,則將多條用戶(hù)數(shù)據(jù)合并成一個(gè)XML項(xiàng)作為關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Data內(nèi)容;b)如果關(guān)聯(lián)請(qǐng)求類(lèi)型為MainReturn,則統(tǒng)計(jì)多條用戶(hù)數(shù)據(jù)的值,將統(tǒng)計(jì)的結(jié)果返回,統(tǒng)計(jì)過(guò)程為選擇多個(gè)返回?cái)?shù)據(jù)值中最多的數(shù)據(jù)值作為返回的數(shù)據(jù),有多個(gè)相同的最多的數(shù)據(jù)值則按照某種規(guī)則(如按照返回順序)選擇一個(gè)作為關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Data內(nèi)容。
11、PMS發(fā)送關(guān)聯(lián)訪問(wèn)響應(yīng)消息給請(qǐng)求方。
方法實(shí)施例二、為了更加詳盡的描述PMS處理關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息的流程,以下結(jié)合上述圖3、表三和表四,說(shuō)明指示需要重定向的情況(即對(duì)應(yīng)上述步驟S3中的情況二),包括下列細(xì)節(jié)步驟1至7與方法實(shí)施例一相同。
8、PMS發(fā)送關(guān)聯(lián)訪問(wèn)響應(yīng)消息給請(qǐng)求方,其中攜帶所述訪問(wèn)授權(quán)聲明。
9、請(qǐng)求方以該訪問(wèn)授權(quán)聲明向用戶(hù)檔案存儲(chǔ)庫(kù)發(fā)送用戶(hù)數(shù)據(jù)請(qǐng)求。
10、用戶(hù)檔案存儲(chǔ)庫(kù)根據(jù)訪問(wèn)授權(quán)聲明對(duì)請(qǐng)求進(jìn)行認(rèn)證,并根據(jù)該請(qǐng)求中攜帶的關(guān)聯(lián)請(qǐng)求類(lèi)型在響應(yīng)中返回請(qǐng)求的數(shù)據(jù)。
◆為了支撐本發(fā)明方法,本發(fā)明還提供了一種用戶(hù)檔案管理服務(wù)器PMS,參見(jiàn)圖5所示,其包括依次相連的授權(quán)規(guī)則存儲(chǔ)模塊、控制模塊、關(guān)聯(lián)處理模塊,以及關(guān)聯(lián)存儲(chǔ)模塊;進(jìn)一步當(dāng)PMS鑒權(quán)后直接向請(qǐng)求方提供關(guān)聯(lián)數(shù)據(jù)時(shí),在所述控制模塊與用戶(hù)檔案存儲(chǔ)庫(kù)之間還包括檔案訪問(wèn)接口。
所述授權(quán)規(guī)則存儲(chǔ)模塊,用于存儲(chǔ)是否允許請(qǐng)求方進(jìn)行關(guān)聯(lián)訪問(wèn)的關(guān)聯(lián)授權(quán)規(guī)則。其中包括關(guān)于請(qǐng)求方、源訪問(wèn)用戶(hù)、訪問(wèn)方式,以及關(guān)聯(lián)訪問(wèn)類(lèi)型等內(nèi)容。例如請(qǐng)求方為Ricky@domainl,源訪問(wèn)用戶(hù)的被訪問(wèn)對(duì)象為Rose@domainl的MusicPreference數(shù)據(jù)項(xiàng),訪問(wèn)方式為可讀取,則代表允許Ricky讀取Rose的MusicPreference項(xiàng)。所述關(guān)聯(lián)訪問(wèn)類(lèi)型具體方式例如請(qǐng)求方為Ricky@domainl,源訪問(wèn)用戶(hù)的被訪問(wèn)對(duì)象為Rose@domainl,關(guān)聯(lián)訪問(wèn)類(lèi)型為關(guān)聯(lián)訪問(wèn)FullReturn,則表示允許Ricky對(duì)Rose進(jìn)行FullReturn方式的關(guān)聯(lián)訪問(wèn)。
所述控制模塊,用于接收請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,并對(duì)請(qǐng)求方的身份認(rèn)證通過(guò)后,從授權(quán)規(guī)則存儲(chǔ)模塊中獲取所述關(guān)聯(lián)授權(quán)規(guī)則,并據(jù)此判定是否授權(quán)請(qǐng)求方發(fā)起關(guān)聯(lián)訪問(wèn);若允許該請(qǐng)求方發(fā)起關(guān)聯(lián)訪問(wèn),則將所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息轉(zhuǎn)發(fā)給關(guān)聯(lián)處理模塊。以及在通過(guò)訪問(wèn)鑒權(quán)之后與關(guān)聯(lián)處理模塊交互,根據(jù)關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明實(shí)施訪問(wèn)控制,并指示提供相關(guān)數(shù)據(jù)。所述指示提供相關(guān)數(shù)據(jù)包括兩種情況之一、控制模塊通過(guò)檔案訪問(wèn)接口,以關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明從用戶(hù)檔案存儲(chǔ)庫(kù)中提取相應(yīng)的關(guān)聯(lián)數(shù)據(jù),并返回給請(qǐng)求方;之二、控制模塊將關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明轉(zhuǎn)發(fā)給請(qǐng)求方,還可指示請(qǐng)求方以所述訪問(wèn)授權(quán)聲明向用戶(hù)檔案存儲(chǔ)庫(kù)獲取相應(yīng)的關(guān)聯(lián)數(shù)據(jù)。
所述關(guān)聯(lián)處理模塊,用于處理控制模塊發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求。根據(jù)該關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求指向的源訪問(wèn)用戶(hù)從關(guān)聯(lián)存儲(chǔ)模塊相應(yīng)提取關(guān)聯(lián)訪問(wèn)控制列表,并根據(jù)該關(guān)聯(lián)訪問(wèn)控制列表及所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,以及將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;之后,根據(jù)所述關(guān)聯(lián)訪問(wèn)控制列表中的授權(quán)信息及授權(quán)規(guī)則對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán);再根據(jù)鑒權(quán)結(jié)果向控制模塊發(fā)出訪問(wèn)授權(quán)聲明。
所述關(guān)聯(lián)存儲(chǔ)模塊,用于存儲(chǔ)和提供用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表。該模塊可以是在PMS中,也可以是一種特定的用戶(hù)檔案存儲(chǔ)庫(kù)。
◆以下結(jié)合上述方法流程及PMS的內(nèi)部模塊,基于鑒權(quán)后PMS直接向請(qǐng)求方返回關(guān)聯(lián)數(shù)據(jù)的情況,描述PMS的內(nèi)部模塊處理關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息的流程。參見(jiàn)圖6所示,包括下列具體步驟1、控制模塊接收請(qǐng)求方發(fā)送的到關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息。
2、控制模塊對(duì)請(qǐng)求方進(jìn)行認(rèn)證,確認(rèn)請(qǐng)求方身份,對(duì)身份的認(rèn)證可以根據(jù)所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中的安全認(rèn)證參數(shù)(消息通過(guò)SOAP協(xié)議承載,則通過(guò)SOAP中的安全參數(shù))在PMS內(nèi)部或向第三方認(rèn)證機(jī)構(gòu)請(qǐng)求認(rèn)證請(qǐng)求方的身份。
3、控制模塊從授權(quán)規(guī)則存儲(chǔ)模塊獲得請(qǐng)求方對(duì)于源用戶(hù)的授權(quán)規(guī)則(即關(guān)聯(lián)授權(quán)規(guī)則);4、控制模塊根據(jù)授權(quán)規(guī)則判斷請(qǐng)求方是否可以對(duì)源訪問(wèn)用戶(hù)進(jìn)行所述請(qǐng)求類(lèi)型的關(guān)聯(lián)訪問(wèn),如果可以訪問(wèn)則繼續(xù)執(zhí)行;否則,設(shè)定響應(yīng)標(biāo)志位,發(fā)送關(guān)聯(lián)訪問(wèn)響應(yīng)給請(qǐng)求方。
5、控制模塊將關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求發(fā)送到關(guān)聯(lián)處理模塊。
6、關(guān)聯(lián)處理模塊根據(jù)源訪問(wèn)用戶(hù)標(biāo)識(shí)向關(guān)聯(lián)存儲(chǔ)模塊請(qǐng)求源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表。
7、關(guān)聯(lián)存儲(chǔ)模塊根據(jù)源訪問(wèn)用戶(hù)標(biāo)識(shí),向關(guān)聯(lián)處理模塊返回相應(yīng)的訪問(wèn)控制列表,其中包括關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合與關(guān)聯(lián)數(shù)據(jù)項(xiàng)授權(quán)信息。
8、關(guān)聯(lián)處理模塊根據(jù)所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中的過(guò)濾參數(shù),從上述的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合中選擇符合條件的目標(biāo)關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合。
如果所述請(qǐng)求消息中的過(guò)濾條件為“關(guān)聯(lián)過(guò)濾參數(shù)”,則根據(jù)過(guò)濾條件中的關(guān)聯(lián)層數(shù),從源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中獲得對(duì)應(yīng)關(guān)聯(lián)層數(shù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合(第一層對(duì)應(yīng)源訪問(wèn)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí),第二層對(duì)應(yīng)源訪問(wèn)用戶(hù)每個(gè)關(guān)聯(lián)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí),以此類(lèi)推);如果請(qǐng)求消息中的過(guò)濾條件為“請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表”,則PMS首先獲得源用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表,然后將所述請(qǐng)求消息中的“請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表”中與得到的源訪問(wèn)用戶(hù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合進(jìn)行比較,并取符合關(guān)聯(lián)條件的關(guān)聯(lián)用戶(hù)標(biāo)識(shí);即取二者的交集。
9、關(guān)聯(lián)處理模塊將指向源訪問(wèn)用戶(hù)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息分解為對(duì)所述目標(biāo)關(guān)聯(lián)用戶(hù)集合中包含的各個(gè)目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求消息,并根據(jù)上述步驟6和7得到的關(guān)聯(lián)數(shù)據(jù)授權(quán)信息,對(duì)所述指向目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)請(qǐng)求分別進(jìn)行鑒權(quán)(例如該目標(biāo)關(guān)聯(lián)用戶(hù)的關(guān)聯(lián)數(shù)據(jù)項(xiàng)有5項(xiàng),若其中大于等于3項(xiàng)通過(guò)鑒權(quán),則判定符合授權(quán)規(guī)則;否則,判定不符合授權(quán)規(guī)則)。如果某個(gè)關(guān)聯(lián)用戶(hù)訪問(wèn)請(qǐng)求不符合授權(quán)規(guī)則,則設(shè)定關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Status字段為“關(guān)聯(lián)失敗”,然后根據(jù)關(guān)聯(lián)處理模塊中預(yù)設(shè)的策略繼續(xù)執(zhí)行或轉(zhuǎn)入步驟15。
10.關(guān)聯(lián)處理模塊對(duì)授權(quán)的數(shù)據(jù)請(qǐng)求生成訪問(wèn)授權(quán)聲明,并返回給控制模塊。
11、控制模塊使用訪問(wèn)授權(quán)聲明向檔案訪問(wèn)接口發(fā)送用戶(hù)檔案請(qǐng)求。
12、檔案訪問(wèn)接口與用戶(hù)檔案存儲(chǔ)庫(kù)交互,根據(jù)訪問(wèn)授權(quán)聲明獲得用戶(hù)檔案數(shù)據(jù)。
13、檔案訪問(wèn)接口將用戶(hù)檔案數(shù)據(jù)返回給控制模塊。
14、控制模塊通過(guò)檔案訪問(wèn)接口得到返回的數(shù)據(jù)后,根據(jù)請(qǐng)求消息中的關(guān)聯(lián)請(qǐng)求類(lèi)型做相應(yīng)的處理a)如果關(guān)聯(lián)請(qǐng)求類(lèi)型為FullReturen,則將多條用戶(hù)數(shù)據(jù)合并成一個(gè)XML項(xiàng)作為關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Data內(nèi)容;b)如果關(guān)聯(lián)請(qǐng)求類(lèi)型為MainReturn,則統(tǒng)計(jì)多條用戶(hù)數(shù)據(jù)的值,將統(tǒng)計(jì)的結(jié)果返回,統(tǒng)計(jì)過(guò)程為選擇多個(gè)返回?cái)?shù)據(jù)值中最多的數(shù)據(jù)值作為返回的數(shù)據(jù),有多個(gè)相同的最多的數(shù)據(jù)值則按照某種規(guī)則(如按照返回順序)選擇一個(gè)作為關(guān)聯(lián)訪問(wèn)響應(yīng)消息的Data內(nèi)容;15、控制模塊發(fā)送關(guān)聯(lián)訪問(wèn)響應(yīng)消息給請(qǐng)求方。
◆在具體實(shí)現(xiàn)中,例如一個(gè)通過(guò)用戶(hù)的社會(huì)化特性為用戶(hù)提供服務(wù)的業(yè)務(wù)(可以是現(xiàn)有的任何業(yè)務(wù)增加了社會(huì)化的特征),該業(yè)務(wù)為用戶(hù)提供個(gè)性化的音樂(lè)服務(wù)。當(dāng)前的用戶(hù)檔案管理服務(wù)器中的“音樂(lè)”數(shù)據(jù)項(xiàng)存有用戶(hù)喜愛(ài)的音樂(lè)類(lèi)型,業(yè)務(wù)通過(guò)調(diào)用這個(gè)用戶(hù)屬性來(lái)獲得用戶(hù)的喜好。
用戶(hù)Alice注冊(cè)了這個(gè)業(yè)務(wù),但Alice從前沒(méi)有使用過(guò)音樂(lè)類(lèi)服務(wù),用戶(hù)檔案中的“音樂(lè)”項(xiàng)為空,則業(yè)務(wù)可以通過(guò)向用戶(hù)檔案管理平臺(tái)發(fā)送用戶(hù)Alice音樂(lè)數(shù)據(jù)的關(guān)聯(lián)請(qǐng)求來(lái)獲得Alice相關(guān)用戶(hù)對(duì)于“音樂(lè)”的喜好數(shù)據(jù),而業(yè)務(wù)可能不知道Alice有哪些相關(guān)用戶(hù),而且對(duì)于其相關(guān)用戶(hù)沒(méi)有直接訪問(wèn)用戶(hù)檔案數(shù)據(jù)的權(quán)限,用戶(hù)檔案管理平臺(tái)屏蔽了這些因素來(lái)為業(yè)務(wù)提供關(guān)聯(lián)的數(shù)據(jù)訪問(wèn)服務(wù)。
又例如個(gè)社會(huì)化搜索業(yè)務(wù),為用戶(hù)提供個(gè)性化+社會(huì)化的搜索服務(wù),在每個(gè)用戶(hù)的用戶(hù)檔案中都有一個(gè)搜索偏好數(shù)據(jù)項(xiàng),搜索業(yè)務(wù)通過(guò)這項(xiàng)數(shù)據(jù)來(lái)為用戶(hù)提供服務(wù)。
當(dāng)Alice輸入一個(gè)關(guān)鍵字進(jìn)行搜索時(shí),業(yè)務(wù)首先請(qǐng)求Alice個(gè)人的搜索偏好數(shù)據(jù)項(xiàng),再請(qǐng)求Alice關(guān)聯(lián)用戶(hù)(好友或一類(lèi)用戶(hù))的搜索偏好數(shù)據(jù)項(xiàng),將這些搜索偏好按照某種合適的算法進(jìn)行綜合,生成一個(gè)綜合的搜索偏好數(shù)據(jù)項(xiàng),根據(jù)這個(gè)綜合搜索偏好對(duì)Alice搜索到的結(jié)果進(jìn)行排序,則Alice偏好的內(nèi)容和其關(guān)聯(lián)用戶(hù)偏好的內(nèi)容均會(huì)體現(xiàn)在搜索結(jié)果中。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法,其特征在于,包括下列步驟用戶(hù)檔案管理服務(wù)器PMS收到請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,則在判定允許該請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)后,確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,并將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;以及PMS對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán),并根據(jù)鑒權(quán)結(jié)果,提供相關(guān)數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述確定目標(biāo)關(guān)聯(lián)用戶(hù)集合包括PMS從存儲(chǔ)器中存儲(chǔ)的源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中提取關(guān)聯(lián)用戶(hù)標(biāo)識(shí)合集;將提取的源訪問(wèn)用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)合集與關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)中的請(qǐng)求關(guān)聯(lián)用戶(hù)標(biāo)識(shí)列表比較,取其交集為目標(biāo)關(guān)聯(lián)用戶(hù)集合。
3.如權(quán)利要求1所述的方法,其特征在于,所述確定目標(biāo)關(guān)聯(lián)用戶(hù)集合包括PMS從存儲(chǔ)器中存儲(chǔ)的源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表中提取關(guān)聯(lián)用戶(hù)標(biāo)識(shí)合集;根據(jù)關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)中的關(guān)聯(lián)層數(shù),從所述源訪問(wèn)用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí)合集中提取對(duì)應(yīng)關(guān)聯(lián)層數(shù)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)集合作為目標(biāo)關(guān)聯(lián)用戶(hù)集合。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述關(guān)聯(lián)訪問(wèn)控制列表由用戶(hù)設(shè)置生成,并上傳到PMS;所述關(guān)聯(lián)訪問(wèn)控制列表包括與該用戶(hù)相關(guān)聯(lián)的用戶(hù)標(biāo)識(shí),各關(guān)聯(lián)用戶(hù)授權(quán)的關(guān)聯(lián)數(shù)據(jù)項(xiàng),以及各關(guān)聯(lián)數(shù)據(jù)項(xiàng)的訪問(wèn)權(quán)限;或者,由服務(wù)商對(duì)用戶(hù)進(jìn)行分類(lèi)并生成關(guān)聯(lián)訪問(wèn)控制列表,以及存儲(chǔ)于PMS中;所述關(guān)聯(lián)訪問(wèn)控制列表包括每個(gè)用戶(hù)所屬的關(guān)聯(lián)類(lèi)別項(xiàng),各類(lèi)別中特定數(shù)據(jù)項(xiàng)及其訪問(wèn)權(quán)限,以及歸屬于各類(lèi)別項(xiàng)的關(guān)聯(lián)用戶(hù)標(biāo)識(shí)。
5.如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,PMS根據(jù)鑒權(quán)結(jié)果生成授權(quán)聲明,并以該授權(quán)聲明相應(yīng)提取關(guān)聯(lián)數(shù)據(jù);之后,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中的請(qǐng)求類(lèi)型向請(qǐng)求方返回關(guān)聯(lián)數(shù)據(jù)。
6.如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,PMS根據(jù)鑒權(quán)結(jié)果生成授權(quán)聲明,并將該授權(quán)聲明返回給請(qǐng)求方。
7.一種用戶(hù)檔案管理服務(wù)器,其特征在于,包括授權(quán)規(guī)則存儲(chǔ)模塊,用于存儲(chǔ)是否允許請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)的關(guān)聯(lián)授權(quán)規(guī)則;控制模塊,用于根據(jù)授權(quán)規(guī)則存儲(chǔ)模塊中存儲(chǔ)的關(guān)聯(lián)授權(quán)規(guī)則判定允許請(qǐng)求方進(jìn)行關(guān)聯(lián)訪問(wèn)后,將該請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息轉(zhuǎn)發(fā)給關(guān)聯(lián)處理模塊;以及根據(jù)關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明,指示提供相關(guān)數(shù)據(jù);關(guān)聯(lián)處理模塊,用于從關(guān)聯(lián)存儲(chǔ)模塊中提取源訪問(wèn)用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表,并根據(jù)該關(guān)聯(lián)訪問(wèn)控制列表及所述關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息中攜帶的過(guò)濾參數(shù)確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,以及將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;以及對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán),并根據(jù)鑒權(quán)結(jié)果向控制模塊發(fā)出訪問(wèn)授權(quán)聲明;關(guān)聯(lián)存儲(chǔ)模塊,用于存儲(chǔ)和提供用戶(hù)的關(guān)聯(lián)訪問(wèn)控制列表。
8.如權(quán)利要求7所述的用戶(hù)檔案管理服務(wù)器,其特征在于,所述控制模塊與用戶(hù)檔案存儲(chǔ)庫(kù)之間還包括檔案訪問(wèn)接口,控制模塊通過(guò)該接口,以關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明從用戶(hù)檔案存儲(chǔ)庫(kù)中提取相應(yīng)的關(guān)聯(lián)數(shù)據(jù),并返回給請(qǐng)求方。
9.如權(quán)利要求7所述的用戶(hù)檔案管理服務(wù)器,其特征在于,控制模塊將關(guān)聯(lián)處理模塊發(fā)來(lái)的訪問(wèn)授權(quán)聲明轉(zhuǎn)發(fā)給請(qǐng)求方。
全文摘要
本發(fā)明公開(kāi)了一種訪問(wèn)用戶(hù)數(shù)據(jù)的方法及用戶(hù)檔案管理服務(wù)器,用以解決現(xiàn)有技術(shù)無(wú)法兼顧用戶(hù)檔案之間的關(guān)聯(lián)訪問(wèn),以及分布式數(shù)據(jù)訪問(wèn)機(jī)制的問(wèn)題。本發(fā)明方法包括用戶(hù)檔案管理服務(wù)器PMS收到請(qǐng)求方發(fā)來(lái)的關(guān)聯(lián)數(shù)據(jù)訪問(wèn)請(qǐng)求消息,則在判定允許該請(qǐng)求方對(duì)源訪問(wèn)用戶(hù)進(jìn)行關(guān)聯(lián)訪問(wèn)后,確定目標(biāo)關(guān)聯(lián)用戶(hù)集合,并將該關(guān)聯(lián)訪問(wèn)請(qǐng)求消息轉(zhuǎn)換為對(duì)各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求;以及PMS對(duì)指向各目標(biāo)關(guān)聯(lián)用戶(hù)的數(shù)據(jù)訪問(wèn)請(qǐng)求分別進(jìn)行鑒權(quán),并根據(jù)鑒權(quán)結(jié)果,提供相關(guān)數(shù)據(jù)。本發(fā)明服務(wù)器包括授權(quán)規(guī)則存儲(chǔ)模塊,控制模塊,關(guān)聯(lián)處理模塊和關(guān)聯(lián)存儲(chǔ)模塊。
文檔編號(hào)G06F17/30GK1996955SQ20061016727
公開(kāi)日2007年7月11日 申請(qǐng)日期2006年12月15日 優(yōu)先權(quán)日2006年12月15日
發(fā)明者邵剛, 鐘杰萍, 莫彩文 申請(qǐng)人:華為技術(shù)有限公司