專(zhuān)利名稱(chēng):用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的系統(tǒng)和方法
用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的系統(tǒng)和方法
背景技術(shù):
I.領(lǐng)域以下描述一般涉及web服務(wù),且更具體地涉及用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的系統(tǒng)和方法。II.
背景技術(shù):
作為關(guān)于一些常規(guī)系統(tǒng)的背景技術(shù),計(jì)算設(shè)備在傳統(tǒng)上已在設(shè)備本地存儲(chǔ)了信息以及相關(guān)聯(lián)的應(yīng)用和數(shù)據(jù)服務(wù)。但是,隨著在線和云服務(wù)的演進(jìn),信息正越來(lái)越多地移至網(wǎng)絡(luò)提供者,該網(wǎng)絡(luò)提供者代表設(shè)備來(lái)不執(zhí)行服務(wù)、執(zhí)行服務(wù)的一些或全部。能夠存儲(chǔ)數(shù)T字節(jié)數(shù)據(jù)(且在將來(lái)潛在可能的千萬(wàn)億字節(jié)、百萬(wàn)萬(wàn)億字節(jié)數(shù)據(jù))的網(wǎng)絡(luò)存儲(chǔ)場(chǎng)的演進(jìn)創(chuàng)造了在云中模擬本地場(chǎng)景且使主設(shè)備與外部存儲(chǔ)分隔開(kāi)的機(jī)會(huì)。 然而,沒(méi)有云服務(wù)或網(wǎng)絡(luò)存儲(chǔ)提供者能夠有效地提供信息來(lái)作為任何平臺(tái)上的服務(wù),使得發(fā)布者、開(kāi)發(fā)者以及消費(fèi)者能以可被跟蹤并審計(jì)所涉及的所有事務(wù)的方式容易地發(fā)布、專(zhuān)門(mén)化應(yīng)用和消費(fèi)任何種類(lèi)的數(shù)據(jù)。另外,由于不同數(shù)量的內(nèi)容提供者和他們用于定義數(shù)據(jù)的專(zhuān)用模式,今天,在不同的內(nèi)容提供者不直接彼此協(xié)調(diào)他們相對(duì)于云的動(dòng)作的情況下,極少有機(jī)會(huì)以對(duì)事務(wù)鏈中每一人都公平的方式正確地映射數(shù)據(jù)事務(wù)流。事實(shí)上,從發(fā)布者到開(kāi)發(fā)者再到消費(fèi)受眾(如,訂閱者),由于信息跨事務(wù)鏈?zhǔn)遣黄胶獾?,?duì)事務(wù)的不同的視圖具有不同的形狀和意義。為此,當(dāng)今用于提供對(duì)來(lái)自云的信息的訪問(wèn)的系統(tǒng)在開(kāi)始使用和廣泛采用時(shí)有各種缺點(diǎn)。例如,常規(guī)基礎(chǔ)結(jié)構(gòu)不允許跨不同平臺(tái)對(duì)數(shù)據(jù)進(jìn)行無(wú)縫消費(fèi)。在涉及不同平臺(tái)的情況下,應(yīng)用程序編程接口(API)有時(shí)是用于橋接這樣的通信缺口的重要組件。然而,當(dāng)前用于跟蹤API使用的方法缺乏自動(dòng)化,這使得對(duì)API使用進(jìn)行審計(jì)和/或記賬變得特別困難。結(jié)果,API所有者通常不愿對(duì)公眾發(fā)布API。當(dāng)前方法的上述缺點(diǎn)僅旨在提供常規(guī)系統(tǒng)的一些問(wèn)題的概覽,并且不旨在是窮盡性的。在仔細(xì)閱讀了以下詳細(xì)描述后,現(xiàn)有技術(shù)的其他問(wèn)題和各非限制性性實(shí)施例的對(duì)應(yīng)好處可變得顯而易見(jiàn)。概述此處提供了簡(jiǎn)化的概述以幫助能夠?qū)σ韵赂敿?xì)的描述和附圖中的示例性、非限制性實(shí)施例的各方面有基本或大體的理解。然而,本概述并不旨在是詳盡的或窮盡的。相反,本發(fā)明的唯一目的在于,以簡(jiǎn)化的形式提出與一些示例性、非限制性實(shí)施例相關(guān)的一些概念,作為以下各實(shí)施例的更詳細(xì)的描述的序言。根據(jù)一個(gè)或多個(gè)實(shí)施例及其相應(yīng)的公開(kāi)內(nèi)容,結(jié)合從任何平臺(tái)提供信息來(lái)作為服務(wù)描述了各非限定性方面。在一個(gè)這樣的方面中,公開(kāi)了一種被配置成便于經(jīng)由Web服務(wù)提供信息來(lái)作為服務(wù)的裝置。在這一實(shí)施例中,該裝置包括被配置成執(zhí)行存儲(chǔ)在存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行組件的處理器。該計(jì)算機(jī)可執(zhí)行組件包括接口組件、解析組件、以及跟蹤組件。接口組件被配置成便于訪問(wèn)至少一個(gè)應(yīng)用程序編程接口(API)數(shù)據(jù)庫(kù),而解析組件被配置成解析對(duì)所請(qǐng)求的API的請(qǐng)求。對(duì)于該實(shí)施例,API請(qǐng)求便于處理由至少一個(gè)內(nèi)容提供者提供的數(shù)據(jù)。在一方面,該請(qǐng)求包括與所請(qǐng)求的API的開(kāi)發(fā)者相關(guān)聯(lián)的密鑰和與所請(qǐng)求的API的用戶相關(guān)聯(lián)的唯一標(biāo)識(shí)符。跟蹤組件隨后被配置成基于該密鑰和/或唯一標(biāo)識(shí)符來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。以下更詳細(xì)地描述其他實(shí)施例和各非限制性性示例、場(chǎng)景和實(shí)現(xiàn)。附圖簡(jiǎn)述圖I是根據(jù)本說(shuō)明書(shū)的一方面的用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的示例性系統(tǒng)的概覽。圖2是根據(jù)一實(shí)施例的示例性API請(qǐng)求的圖示。圖3示出根據(jù)本說(shuō)明書(shū)的一個(gè)方面的示例性web服務(wù)單元的框圖。圖4是根據(jù)一實(shí)施例的實(shí)現(xiàn)處理API請(qǐng)求的各組件的示例性耦合的圖示。 圖5是示出根據(jù)一實(shí)施例的用于便于處理API請(qǐng)求的示例性方法的流程圖。圖6是根據(jù)一實(shí)施例的實(shí)現(xiàn)生成API請(qǐng)求的各組件的示例性耦合的圖示。圖7是示出根據(jù)一實(shí)施例的用于便于生成API請(qǐng)求的示例性方法的流程圖。圖8是根據(jù)一實(shí)施例的實(shí)現(xiàn)上傳API的各組件的示例性耦合的圖示。圖9是示出根據(jù)一實(shí)施例的用于便于上傳API的示例性方法的流程圖。
圖10是示出用于從任何平臺(tái)作為服務(wù)提供的信息的非限制性基礎(chǔ)結(jié)構(gòu)的示例性序列的流程圖。圖11是示出用于從任何平臺(tái)作為服務(wù)提供的信息的示例性非限制性基礎(chǔ)結(jié)構(gòu)的框圖。圖12是示出用于從任何平臺(tái)作為服務(wù)提供的信息的基礎(chǔ)結(jié)構(gòu)的一組示例性非限制性實(shí)現(xiàn)具體細(xì)節(jié)的框圖。圖13示出來(lái)自用于從任何平臺(tái)作為服務(wù)提供的信息的示例性基礎(chǔ)結(jié)構(gòu)的示例性數(shù)據(jù)消費(fèi);圖14是表示其中可實(shí)現(xiàn)此處描述的各種實(shí)施例的示例性非限制聯(lián)網(wǎng)環(huán)境的框圖。圖15是表示其中可實(shí)現(xiàn)此處所描述的各種實(shí)施例的一個(gè)或多個(gè)方面的示例性非限制計(jì)算系統(tǒng)或操作環(huán)境的框圖。詳細(xì)描述現(xiàn)在參照附圖描述各實(shí)施例,全部附圖中,相同的附圖標(biāo)記用于指代相同的元素。在以下描述中,為解釋起見(jiàn),闡明了眾多具體細(xì)節(jié)以提供對(duì)一個(gè)或多個(gè)實(shí)施例的全面理解。然而,很明顯,這(些)實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施。在其他情況下,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備以便于描述一個(gè)或多個(gè)實(shí)施例。本說(shuō)明書(shū)公開(kāi)了一種便于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的系統(tǒng)和方法。在一方面,提供web服務(wù)應(yīng)用程序編程接口(API)以供消費(fèi)來(lái)自發(fā)布庫(kù)的數(shù)據(jù)。在這樣的實(shí)施例中,對(duì)API (例如,Get_Weather O (獲取天氣))的每一請(qǐng)求指定至少一個(gè)開(kāi)發(fā)者密鑰(用于開(kāi)發(fā)該API的人)、一個(gè)或多個(gè)唯一標(biāo)識(shí)符(指定調(diào)用該API的用戶)、以及API調(diào)用中涉及的任何伙伴標(biāo)識(shí)符(例如,與該API有關(guān)系的一方)。通過(guò)將這三個(gè)組分包括在每一 API請(qǐng)求中,對(duì)web服務(wù)API的跟蹤可被自動(dòng)化。此外,API使用可被自動(dòng)地審計(jì)、記賬、以及報(bào)告,這向內(nèi)容所有者提供了指示他們的數(shù)據(jù)被如何使用以及被誰(shuí)使用的有力工具。在一方面,基于對(duì)一組個(gè)體指定的多個(gè)唯一標(biāo)識(shí)符也可跟蹤多座(multi-seat) API使用。接下來(lái)參考圖1,示出了根據(jù)一方面的用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的示例性系統(tǒng)的概覽。如圖所示,系統(tǒng)100包括web服務(wù)單元120、發(fā)布者130、訂閱者140、開(kāi)發(fā)者150、以及伙伴160,它們?cè)谕ㄐ派辖?jīng)由網(wǎng)絡(luò)110相耦合。在一方面,web服務(wù)單元120便于通過(guò)提供用于上傳并獲得API的集中式基礎(chǔ)結(jié)構(gòu)提供信息來(lái)作為服務(wù),其中API使用可被無(wú)縫地跟蹤。例如,希望獲得來(lái)自發(fā)布者130的內(nèi)容的訂閱者140可經(jīng)由API管理單元122搜索API數(shù)據(jù)庫(kù)124以尋找所需API (例如,用于從特定內(nèi)容提供者檢索天氣數(shù)據(jù)的API)。在一方面,所選API可能已被伙伴160 (例如,NOKIA)上傳到API數(shù)據(jù)庫(kù)124并被開(kāi)發(fā)者150 (例如,獨(dú)立軟件供應(yīng)者(ISV))轉(zhuǎn)售給訂閱者140。在這樣的實(shí)施例內(nèi),基于每一API請(qǐng)求中包括的標(biāo)識(shí)參數(shù)來(lái)跟蹤對(duì)所選API的使用。接著參考圖2,示出了根據(jù)一實(shí)施例的示例性API請(qǐng)求。如圖所示,API請(qǐng)求200可包括頭部部分210和正文部分220。在一方面,頭部部分210 —律包括開(kāi)發(fā)者密鑰字段212、唯一標(biāo)識(shí)符字段214、以及伙伴標(biāo)識(shí)符字段216。對(duì)于這一實(shí)施例,應(yīng)當(dāng)明白,唯一標(biāo)識(shí)符字段214可通過(guò)包括多個(gè)用戶的唯一標(biāo)識(shí)符來(lái)便于跟蹤多座API的使用。此外,對(duì)于伙·伴標(biāo)識(shí)符216,應(yīng)當(dāng)明白,可以指定空值,從而指示沒(méi)有伙伴與特定API請(qǐng)求有關(guān)系。接著參考圖3,提供了便于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的示例性web服務(wù)單元的框圖。如圖所示,web服務(wù)單元300可包括處理器組件310、存儲(chǔ)器組件320、接口組件330、解析組件340、跟蹤組件350、生成組件360、審計(jì)組件370以及記賬組件380。在一個(gè)方面中,處理器組件310被配置成執(zhí)行與執(zhí)行多個(gè)功能中的任何功能相關(guān)的計(jì)算機(jī)可讀指令。處理器組件310可以是單個(gè)處理器或多個(gè)處理器,專(zhuān)用于分析要從web服務(wù)單元300傳遞的信息和/或生成可由存儲(chǔ)器組件320、接口組件330、解析組件340、跟蹤組件350、生成組件360、審計(jì)組件370和/或記賬組件380使用的信息。作為補(bǔ)充或替換,處理器組件310可被配置成控制web服務(wù)單元300的一個(gè)或多個(gè)組件。在另一方面中,存儲(chǔ)器組件320被耦合至處理器組件310并被配置成存儲(chǔ)由處理器組件310執(zhí)行的計(jì)算機(jī)可讀指令。存儲(chǔ)器組件320還可被配置成存儲(chǔ)多種其他類(lèi)型的數(shù)據(jù)中的任何數(shù)據(jù),包括由接口組件330、解析組件340、跟蹤組件350、生成組件360、審計(jì)組件370和/或記賬組件380中的任何組件生成的數(shù)據(jù)。存儲(chǔ)器組件320可以被配置成多個(gè)不同的配置,包括作為隨機(jī)存取存儲(chǔ)器、帶后備電源的存儲(chǔ)器、硬盤(pán)、磁帶等等。還可以在存儲(chǔ)器組件320上實(shí)現(xiàn)各種特征,如壓縮和自動(dòng)備份(如使用獨(dú)立驅(qū)動(dòng)器冗余陣列配置)。在又一方面,接口組件330也耦合到處理器組件,并被配置成將web服務(wù)單元300與外部實(shí)體進(jìn)行對(duì)接。例如,接口組件330可被配置成便于訪問(wèn)API數(shù)據(jù)庫(kù)。在一特定實(shí)施例中,接口組件330可被配置成便于將外部API上傳到API數(shù)據(jù)庫(kù)和/或生成對(duì)API數(shù)據(jù)庫(kù)中所存儲(chǔ)的API的API請(qǐng)求。實(shí)際上,在這樣的實(shí)施例中,可以實(shí)現(xiàn)用戶友好的界面,如API上傳向?qū)Ш?或API請(qǐng)求向?qū)?。例如,接口組件330可被配置成向用戶顯示API數(shù)據(jù)庫(kù)中所存儲(chǔ)的多個(gè)可選API。對(duì)于這一實(shí)施例,接口組件330還可被配置成便于搜索API數(shù)據(jù)庫(kù),其中顯示給用戶的可選API對(duì)應(yīng)于該搜索的結(jié)果。這樣的搜索可以基于標(biāo)識(shí)多個(gè)準(zhǔn)則中的任一個(gè)的用戶輸入,這些準(zhǔn)則包括例如所需操作(例如,提取最大值/最小值、查明平均值,等等)、所需內(nèi)容提供者(例如,CNN、F0X News,等等)、和/或所需內(nèi)容類(lèi)型(例如,
壬與日任西坐坐、yv —I、又 ,寸寸)ο
在又一實(shí)施例中,web服務(wù)單元300還可包括生成組件360。在這樣的實(shí)施例中,生成組件360耦合到接口組件330,并被配置成基于輸入來(lái)生成API請(qǐng)求。例如,在一方面,生成組件360可被配置成自動(dòng)生成對(duì)所選API的API請(qǐng)求。此外,在接收到對(duì)特定API的選擇之后,生成組件360可被配置成查明和/或生成開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、和/或伙伴標(biāo)識(shí)符,它們隨后被自動(dòng)插入API請(qǐng)求中。如圖所示,web服務(wù)單元300還可包括解析組件340和跟蹤組件350。在一方面,在接收到API請(qǐng)求之后,解析組件340被配置成解析該API請(qǐng)求以從該請(qǐng)求中提取開(kāi)發(fā)者密鑰(例如,與所請(qǐng)求的API的開(kāi)發(fā)者相關(guān)聯(lián))、唯一標(biāo)識(shí)符(例如,與所請(qǐng)求的API的用戶相關(guān)聯(lián))、以及伙伴標(biāo)識(shí)符(例如,與所請(qǐng)求的API的伙伴/關(guān)聯(lián)方相關(guān)聯(lián))中的每一個(gè),而跟蹤組件350被配置成基于該密鑰、唯一標(biāo)識(shí)符、或伙伴標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。在又一方面,應(yīng)當(dāng)明白,web服務(wù)單元300可被配置成處理與對(duì)所請(qǐng)求的API的多座使用有關(guān)的API請(qǐng)求。為便于處理這樣的請(qǐng)求,解析組件340可被配置成從所請(qǐng)求的API中提取多個(gè)唯一標(biāo)識(shí)符,其中該多個(gè)唯一標(biāo)識(shí)符分別標(biāo)識(shí)與對(duì)所請(qǐng)求的API的多 座使用相關(guān)聯(lián)的多個(gè)用戶。跟蹤組件350隨后可被配置成在按使用和/或按用戶的基礎(chǔ)上根據(jù)多個(gè)唯一標(biāo)識(shí)符來(lái)跟蹤這一多座使用。在另一方面,web服務(wù)單元300還包括審計(jì)組件370和記賬組件380,它們各自耦合到跟蹤組件350。在這樣的實(shí)施例中,審計(jì)組件370被配置成自動(dòng)審計(jì)API數(shù)據(jù)庫(kù)內(nèi)的API的使用歷史,而記賬組件380被配置成基于這樣的使用歷史來(lái)對(duì)外部實(shí)體(例如,內(nèi)容所有者、開(kāi)發(fā)者、伙伴、和/或用戶)自動(dòng)記賬。轉(zhuǎn)向圖4,示出了根據(jù)一實(shí)施例的便于處理API請(qǐng)求的系統(tǒng)400。系統(tǒng)400和/或用于實(shí)現(xiàn)系統(tǒng)400的指令可駐留在例如web服務(wù)單元300或計(jì)算機(jī)可讀介質(zhì)內(nèi)。如圖所示,系統(tǒng)400包括可表示由處理器、軟件、或其組合(例如,固件)來(lái)實(shí)現(xiàn)的功能的各功能框。系統(tǒng)400包括可聯(lián)合操作的各組件的邏輯編組402。如圖所示,邏輯編組402可包括用于提供對(duì)至少一個(gè)API數(shù)據(jù)庫(kù)的訪問(wèn)的組件410以及用于接收標(biāo)識(shí)所請(qǐng)求的API的API請(qǐng)求的組件412。邏輯編組402還可包括用于解析API請(qǐng)求以查明開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、以及伙伴標(biāo)識(shí)符的組件414。此外,邏輯編組402可包括用于基于密鑰、唯一標(biāo)識(shí)符、或伙伴標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)所請(qǐng)求的API的使用的組件416。另外,系統(tǒng)400可包括保存用于執(zhí)行與組件410、412、414、以及416相關(guān)聯(lián)的功能的指令的存儲(chǔ)器420,其中組件410、412、414、以及416中的任一個(gè)可以存在于存儲(chǔ)器420的內(nèi)部或外部。接著參考圖5,提供了示出根據(jù)一實(shí)施例的便于處理API請(qǐng)求的示例性方法的流程圖。如圖所示,該方法包括根據(jù)本說(shuō)明書(shū)的一方面的可由計(jì)算設(shè)備執(zhí)行的一系列動(dòng)作。例如,該方法可通過(guò)采用處理器來(lái)執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令以實(shí)現(xiàn)該系列動(dòng)作來(lái)實(shí)現(xiàn)。在另一實(shí)施例中,構(gòu)想到了包括用于實(shí)現(xiàn)該系列動(dòng)作的代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。如圖所示,該方法通過(guò)在動(dòng)作500建立與客戶機(jī)設(shè)備的通信來(lái)開(kāi)始。對(duì)于該特定示例,客戶機(jī)可以與開(kāi)發(fā)者(例如,ISV)相關(guān)聯(lián)。接著,在動(dòng)作510處,接收對(duì)特定API的請(qǐng)求。在接收到API請(qǐng)求之后,在動(dòng)作520處,隨后提取該API請(qǐng)求中嵌入的標(biāo)識(shí)參數(shù)。在一方面,如上所述,這樣的參數(shù)可包括開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、以及伙伴標(biāo)識(shí)符。在提取了標(biāo)識(shí)參數(shù)之后,在動(dòng)作530處,該方法通過(guò)從API數(shù)據(jù)庫(kù)中檢索所請(qǐng)求的API來(lái)繼續(xù)進(jìn)行。在此,應(yīng)當(dāng)明白,所請(qǐng)求的API可被各其他ISV中的任一個(gè)類(lèi)似地請(qǐng)求。因此,在動(dòng)作540處,該方法通過(guò)跟蹤對(duì)所請(qǐng)求的API的使用來(lái)繼續(xù)進(jìn)行,其中這樣的跟蹤便于對(duì)所請(qǐng)求的API進(jìn)行自動(dòng)審計(jì)/記賬(例如,在按使用和/或按用戶的基礎(chǔ)上根據(jù)唯一標(biāo)識(shí)符)。接著參考圖6,示出了根據(jù)一實(shí)施例的便于生成API請(qǐng)求的系統(tǒng)600。系統(tǒng)600和/或用于實(shí)現(xiàn)系統(tǒng)600的指令例如可駐留在web服務(wù)單元300或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi),其中系統(tǒng)600包括可表示由處理器、軟件、或其組合(例如,固件)來(lái)實(shí)現(xiàn)的功能的各功能框。此外,系統(tǒng)600包括類(lèi)似于系統(tǒng)400中的邏輯編組402的、可聯(lián)合操作的各組件的邏輯編組602。如圖所示,邏輯編組602可包括用于提供對(duì)包括多個(gè)可選API的至少一個(gè)API數(shù)據(jù)庫(kù)的訪問(wèn)的組件610以及用于生成標(biāo)識(shí)所選API的API請(qǐng)求的組件612。邏輯編組602還可包括用于解析API請(qǐng)求以查明開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、以及伙伴標(biāo)識(shí)符的組件614。此夕卜,邏輯編組602可包括用于基于密鑰、唯一標(biāo)識(shí)符、或伙伴標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)所選API的使用的組件616。另外,系統(tǒng)600可包括保存用于執(zhí)行與組件610、612、614、以 及616相關(guān)聯(lián)的功能的指令的存儲(chǔ)器620。盡管被示為處于存儲(chǔ)器620外部,但可以理解,組件610、612、614、以及616可以存在于存儲(chǔ)器620內(nèi)部。接著參考圖7,提供了示出根據(jù)一實(shí)施例的便于生成API請(qǐng)求的示例性方法的流程圖。如圖所示,該方法包括根據(jù)本說(shuō)明書(shū)的一方面的可由計(jì)算設(shè)備執(zhí)行的一系列動(dòng)作。例如,該方法可通過(guò)采用處理器來(lái)執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令以實(shí)現(xiàn)該系列動(dòng)作來(lái)實(shí)現(xiàn)。在另一實(shí)施例中,構(gòu)想到了包括用于實(shí)現(xiàn)該系列動(dòng)作的代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。如圖所示,該方法通過(guò)在動(dòng)作700建立與客戶機(jī)設(shè)備的通信來(lái)開(kāi)始。對(duì)于該特定示例,客戶機(jī)可以與用戶(例如,信息工作者(IW))相關(guān)聯(lián)。接著,在動(dòng)作710處,接收對(duì)應(yīng)于用戶所需的特定API的搜索準(zhǔn)則輸入。如上所述,這樣的輸入可以標(biāo)識(shí)多個(gè)準(zhǔn)則中的任一個(gè),這些準(zhǔn)則包括例如所需操作(例如,提取最大值/最小值、查明平均值,等等)、所需內(nèi)容提供者(例如,CNN、FOX News,等等)、和/或所需內(nèi)容類(lèi)型(例如,天氣、股票,等等)。在接收到搜索準(zhǔn)則輸入之后,然后在動(dòng)作720處,顯示匹配該搜索準(zhǔn)則輸入的一組API。在動(dòng)作730處,隨后接收標(biāo)識(shí)用戶所選的特定API的輸入。一旦選擇了 API,在動(dòng)作740處,該方法通過(guò)生成對(duì)所選API的API請(qǐng)求來(lái)繼續(xù)進(jìn)行。在一方面,生成API請(qǐng)求可包括查明和/或生成開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、和/或伙伴標(biāo)識(shí)符,它們隨后被自動(dòng)插入到API請(qǐng)求中。對(duì)于多座API使用,可以生成分別標(biāo)識(shí)該API的多個(gè)用戶的多個(gè)唯一標(biāo)識(shí)符并隨后將其插入該請(qǐng)求中。一旦生成了 API請(qǐng)求,則可調(diào)用該API。然而,在此,應(yīng)當(dāng)明白,所選API可被各其他用戶中的任一個(gè)類(lèi)似地調(diào)用。因此,在動(dòng)作750處,該方法通過(guò)跟蹤對(duì)所選API的使用來(lái)繼續(xù)進(jìn)行,其中這樣的跟蹤便于對(duì)所選API進(jìn)行自動(dòng)審計(jì)/記賬(例如,在按使用和/或按用戶的基礎(chǔ)上根據(jù)唯一標(biāo)識(shí)符)。接著參考圖8,示出了根據(jù)一實(shí)施例的便于上傳API的系統(tǒng)800。系統(tǒng)800和/或用于實(shí)現(xiàn)系統(tǒng)800的指令例如可駐留在web服務(wù)單元300或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi),其中系統(tǒng)800包括可表示由處理器、軟件、或其組合(例如,固件)來(lái)實(shí)現(xiàn)的功能的各功能框。此夕卜,系統(tǒng)800包括類(lèi)似于系統(tǒng)400和600中各自的邏輯編組402和602的、可聯(lián)合操作的各組件的邏輯編組802。如圖所示,邏輯編組802可包括用于提供對(duì)至少一個(gè)API數(shù)據(jù)庫(kù)的訪問(wèn)的組件810以及用于將接收到的API上傳到API數(shù)據(jù)庫(kù)的組件812。邏輯編組802還可包括用于解析對(duì)接收到的API的API請(qǐng)求以查明開(kāi)發(fā)者密鑰、唯一標(biāo)識(shí)符、以及伙伴標(biāo)識(shí)符的組件814。此外,邏輯編組802可包括用于基于密鑰、唯一標(biāo)識(shí)符、或伙伴標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)接收到的API的使用的組件816。另外,系統(tǒng)800可包括保存用于執(zhí)行與組件810、812、814、以及816相關(guān)聯(lián)的功能的指令的存儲(chǔ)器820。盡管被示為處于存儲(chǔ)器820外部,但可以理解,組件810、812、814、以及816可以存在于存儲(chǔ)器820內(nèi)部。接著參考圖9,提供了示出根據(jù)一實(shí)施例的便于上傳API的示例性方法的流程圖。如圖所示,該方法包括根據(jù)本說(shuō)明書(shū)的一方面的可由計(jì)算設(shè)備執(zhí)行的一系列動(dòng)作。例如,該方法可通過(guò)采用處理器來(lái)執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令以實(shí)現(xiàn)該系列動(dòng)作來(lái)實(shí)現(xiàn)。在另一實(shí)施例中,構(gòu)想到了包括用于實(shí)現(xiàn)該系列動(dòng)作的代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)如圖所示,該方法通過(guò)在動(dòng)作900建立與客戶機(jī)設(shè)備的通信來(lái)開(kāi)始。對(duì)于該特定示例,客戶機(jī)可以與擁有若干API的伙伴實(shí)體相關(guān)聯(lián),其中該伙伴實(shí)體想要上傳這些API來(lái) 銷(xiāo)售或轉(zhuǎn)售(例如,經(jīng)由ISV轉(zhuǎn)售給用戶)。在這種情況下,在動(dòng)作910處,該方法因而可通過(guò)從伙伴實(shí)體接收一組API來(lái)繼續(xù)進(jìn)行。一旦接收到API,在動(dòng)作920處,隨后向伙伴實(shí)體分配伙伴標(biāo)識(shí)符。在此,雖然可向整組API分配單個(gè)伙伴標(biāo)識(shí)符,但可向各單獨(dú)的API和/或API子集分配唯一伙伴標(biāo)識(shí)符。一旦向API分配了它們適當(dāng)?shù)幕锇闃?biāo)識(shí)符,在動(dòng)作930處,隨后將它們上傳到API數(shù)據(jù)庫(kù)。在一方面,在請(qǐng)求時(shí),存儲(chǔ)在API數(shù)據(jù)庫(kù)中的API是可檢索的。該方法因而繼續(xù)進(jìn)行至動(dòng)作940,在此,接收對(duì)所上傳的API的請(qǐng)求。在動(dòng)作950處,隨后跟蹤對(duì)所上傳的API的使用,其中這樣的跟蹤便于對(duì)所上傳的API進(jìn)行自動(dòng)審計(jì)/記賬(例如,在按使用和/或按用戶的基礎(chǔ)上根據(jù)唯一標(biāo)識(shí)符)。如圖10的流程圖中所示的,在1000,本文所描述的是供內(nèi)容所有者或發(fā)布者來(lái)經(jīng)由基礎(chǔ)結(jié)構(gòu)發(fā)布數(shù)據(jù)的各種方式。在1010,存在允許開(kāi)發(fā)者開(kāi)發(fā)用于經(jīng)由基礎(chǔ)結(jié)構(gòu)消費(fèi)數(shù)據(jù)的應(yīng)用程序的各種工具。在1020,消費(fèi)者或信息工作者使用應(yīng)用程序或者可直接對(duì)數(shù)據(jù)進(jìn)行查詢(xún)以消費(fèi)數(shù)據(jù)。最后,在1030,該基礎(chǔ)結(jié)構(gòu)提供豐富的各種工具,這些工具代表由事務(wù)模型啟用的內(nèi)容鏈中的所有各方來(lái)啟用自動(dòng)管理、審計(jì)、記賬等。在這點(diǎn)上,該基礎(chǔ)結(jié)構(gòu)中的一些密鑰方包括數(shù)據(jù)所有者、應(yīng)用程序開(kāi)發(fā)者/ISVjP消費(fèi)者/信息工作者。一般而言,數(shù)據(jù)所有者是希望對(duì)數(shù)據(jù)收費(fèi)的實(shí)體,或者出于其他原因想要免費(fèi)提供數(shù)據(jù)或?qū)?shù)據(jù)實(shí)施其他條件的實(shí)體。進(jìn)而,應(yīng)用程序開(kāi)發(fā)者/ISV是希望對(duì)其應(yīng)用程序進(jìn)行貨幣化(例如,通過(guò)廣告、直接支付、間接支付等)或出于一些利益原因向這些實(shí)體免費(fèi)提供其應(yīng)用程序的實(shí)體。信息工作者和消費(fèi)者是可使用原始數(shù)據(jù)的那些人,或者是想要使用由應(yīng)用程序開(kāi)發(fā)者提供的應(yīng)用程序的那些人。圖11是一般地示出可參與到本文所描述的提供信息作為服務(wù)的生態(tài)系統(tǒng)中的各方的框圖。例如,取決于數(shù)據(jù)的敏感性或其他特性,一組網(wǎng)絡(luò)可訪問(wèn)信息服務(wù)1100提供對(duì)各種可信或不可信的數(shù)據(jù)存儲(chǔ)Ilio的訪問(wèn)。如圖所示,因而,數(shù)據(jù)存儲(chǔ)1112、1114、……、1116是什么類(lèi)型并非是重要的,因?yàn)樯鷳B(tài)系統(tǒng)支持任何類(lèi)型的數(shù)據(jù)、團(tuán)塊、結(jié)構(gòu)化、非結(jié)構(gòu)化等。如所提及的,該系統(tǒng)包括將數(shù)據(jù)添加到生態(tài)系統(tǒng)的發(fā)布者1120,消費(fèi)數(shù)據(jù)的訂閱者1130,以及通過(guò)其應(yīng)用程序幫助消費(fèi)數(shù)據(jù)的應(yīng)用程序開(kāi)發(fā)者或提供者1150。訪問(wèn)信息生成器1170也可通過(guò)維護(hù)或?qū)嵤粜畔?、密鑰信息等來(lái)管理各方對(duì)數(shù)據(jù)的訪問(wèn)。在這點(diǎn)上,內(nèi)容所有者1160可橫跨任意角色,因?yàn)閮?nèi)容所有者1160也可以是發(fā)布者1120、訂閱者1130、和/或應(yīng)用程序開(kāi)發(fā)者。在一個(gè)方面,所有各方的公共基礎(chǔ)結(jié)構(gòu)啟用對(duì)該基礎(chǔ)結(jié)構(gòu)上發(fā)生的數(shù)據(jù)事務(wù)的管理1165、審計(jì)1175、記賬1175以及其他所需輔助服務(wù)。在這點(diǎn)上,用于實(shí)現(xiàn)來(lái)自任何平臺(tái)的作為服務(wù)的信息的用戶友好數(shù)據(jù)平臺(tái)的各個(gè)實(shí)施例是用于使得數(shù)據(jù)的消費(fèi)者(IW、開(kāi)發(fā)者、ISV)能以簡(jiǎn)單、成本高效和方便的方式消費(fèi)數(shù)據(jù)的基礎(chǔ)結(jié)構(gòu)。該基礎(chǔ)結(jié)構(gòu)以負(fù)擔(dān)得起的方式對(duì)優(yōu)越(私有)和公用(公共)數(shù)據(jù)民主化,以允許IW快速洞悉,并允許開(kāi)發(fā)者以創(chuàng)造性的方式使用多個(gè)數(shù)據(jù)源構(gòu)建創(chuàng)新應(yīng)用,并使得開(kāi)發(fā)者能夠?qū)ζ湓谌魏纹脚_(tái)上的努力進(jìn)行貨幣化。例如,該基礎(chǔ)結(jié)構(gòu)支持按使用付費(fèi)以及對(duì)內(nèi)容的訂閱定價(jià)、對(duì)內(nèi)容付費(fèi)(“零售價(jià)”一由內(nèi)容所有者設(shè)置)、支付數(shù)據(jù)費(fèi)(“運(yùn)送和處理”)和BW、并還支持作為按照以每次邏輯事務(wù)為基礎(chǔ)(按報(bào)告、按API、按下載等)的傭金費(fèi)用的數(shù)據(jù)費(fèi)。對(duì)于信息工作者(例如,Office、SQL Server (SQL服務(wù)器)、Dynamics用戶),該基 礎(chǔ)結(jié)構(gòu)支持訂閱以允許將來(lái)的EA整合以及可預(yù)測(cè)的花費(fèi)需要(以及高速緩存以支持場(chǎng)所內(nèi)和場(chǎng)所外BI以及“HPC”工作負(fù)載)。因而,替換方案包括每用戶每月定價(jià)的內(nèi)容;其可以被捆綁或可以不被捆綁遞送內(nèi)容包,或者按交易定價(jià),例如允許云報(bào)告/業(yè)務(wù)智能按需定價(jià),以在允許按使用定價(jià)、或經(jīng)由報(bào)告圖庫(kù)的垂直應(yīng)用程序同時(shí)消除移動(dòng)大量數(shù)據(jù)的需要。對(duì)于內(nèi)容提供者(任何數(shù)據(jù)類(lèi)型;任何云),在使用任何平臺(tái)的情況下,該基礎(chǔ)結(jié)構(gòu)變成價(jià)值建議,以激勵(lì)任何特定所需平臺(tái)內(nèi)的銷(xiāo)售;在沒(méi)有附加成本下的自動(dòng)縮放的、較高水平的SLA概率。對(duì)于一些非限制性示例,數(shù)據(jù)可以是安全的,并且可以是以下域中的相關(guān)聯(lián)數(shù)據(jù)位置知曉服務(wù)和數(shù)據(jù)、商業(yè)和住宅房地產(chǎn)、財(cái)務(wù)數(shù)據(jù)和服務(wù)等。非限制性情景可包括將數(shù)據(jù)遞送到排名前30的非政府組織(NGO)數(shù)據(jù)集。另外,該基礎(chǔ)結(jié)構(gòu)可包括通過(guò)“用于信息作為服務(wù)的Bing (必應(yīng))”、HPC等來(lái)突出展示BI和可視化的能力。也存在垂直應(yīng)用程序機(jī)會(huì)。在一個(gè)非限制性實(shí)施例中,可將數(shù)據(jù)傭金與常規(guī)實(shí)體店策略作類(lèi)比例如,容量可被表示為貨架空間(例如,結(jié)構(gòu)化和非結(jié)構(gòu)化/團(tuán)塊數(shù)據(jù)的混合)、貨物的成本(COGS)可被表示為平方英尺、(SA、平臺(tái)依賴(lài)性、帶寬)且內(nèi)容可被表示為商品(例如,優(yōu)化內(nèi)容提供者以?xún)敻禖OGS、最大化來(lái)自IW和開(kāi)發(fā)者的利潤(rùn))。在各個(gè)實(shí)施例中,入伙(onboarding)過(guò)程可使用數(shù)據(jù)和服務(wù)的質(zhì)量標(biāo)準(zhǔn)以及接納服務(wù)級(jí)協(xié)議(SLA)來(lái)實(shí)現(xiàn)。圖12是以上根據(jù)一個(gè)或多個(gè)特征描述的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)1210的示例性非限制性實(shí)現(xiàn)。交互側(cè)是可經(jīng)由基于SSL/REST的API 1206與該基礎(chǔ)結(jié)構(gòu)通信的信息工作者1200、開(kāi)發(fā)者1202和消費(fèi)者1204。負(fù)載平衡器1208可被用來(lái)以最優(yōu)方式幫助操縱通信量。在這點(diǎn)上,輸入被路由至門(mén)戶web角色1220或API web角色1222。從基礎(chǔ)結(jié)構(gòu)1210到數(shù)據(jù)側(cè)是用于訪問(wèn)云存儲(chǔ)框架1240的團(tuán)塊數(shù)據(jù)集1242或團(tuán)塊數(shù)據(jù)集1244或用于訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)框架1250的數(shù)據(jù)集1252或數(shù)據(jù)集1254的附加負(fù)載平衡1224或1226 (例如,WA或SA)。代理層1228可被用來(lái)訪問(wèn)第三方云1260的數(shù)據(jù)1262或數(shù)據(jù)1264。在適用時(shí),內(nèi)容數(shù)據(jù)抽象層(DAL) 1230可被用于訪問(wèn)內(nèi)容。在這點(diǎn)上,可以有跨不同類(lèi)型的存儲(chǔ)的數(shù)據(jù)集的復(fù)制或重疊,例如,相同數(shù)據(jù)可被表示為團(tuán)塊數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù),例如,SQL。
作為對(duì)數(shù)據(jù)的補(bǔ)充服務(wù),記賬和發(fā)現(xiàn)服務(wù)1270可包括在線記賬1272(例如,M0CP)或發(fā)現(xiàn)服務(wù)1274 (例如,定位),并且認(rèn)證服務(wù)1280可包括憑證管理1282 (例如,Live ID)或內(nèi)容認(rèn)證1284,例如,經(jīng)認(rèn)證的內(nèi)容服務(wù)(ACS)。帳戶服務(wù)1290可包括記錄/審計(jì)服務(wù)1286或帳戶管理1288。管理和運(yùn)營(yíng)服務(wù)1292可包括運(yùn)營(yíng)控制板服務(wù)1294和網(wǎng)絡(luò)運(yùn)營(yíng)服務(wù) 1296,例如 Gomez。圖13是示出根據(jù)用于啟用信息作為服務(wù)的一般基礎(chǔ)結(jié)構(gòu)的一個(gè)或多個(gè)實(shí)施例的從數(shù)據(jù)到數(shù)據(jù)的消費(fèi)者的示例性端到端流的框圖。例如,信息作為服務(wù)1300可包括商用數(shù)據(jù)1302和免費(fèi)數(shù)據(jù)1304,其可以是各種以營(yíng)利為目的的開(kāi)發(fā)者1310、具有非營(yíng)利動(dòng)機(jī)的非營(yíng)利性開(kāi)發(fā)者1312以及一般出于生產(chǎn)目的而對(duì)消費(fèi)數(shù)據(jù)感興趣的其他信息工作者1314所感興趣的。這些實(shí)體可使用發(fā)現(xiàn)服務(wù)1320來(lái)確定什么應(yīng)用程序1322、1324、……、1326可能是他們所感興趣的,以及最終將數(shù)據(jù)傳送給ILA消費(fèi)者1330和DLA消費(fèi)者1332。示例性聯(lián)網(wǎng)以及分布式環(huán)境本領(lǐng)域普通技術(shù)人員可以理解,此處所描述的用于來(lái)自任何平臺(tái)的信息作為服務(wù) 的基礎(chǔ)結(jié)構(gòu)的方法和設(shè)備的各個(gè)實(shí)施例以及本文中描述的相關(guān)實(shí)施例可以結(jié)合任何計(jì)算機(jī)或其他客戶端或服務(wù)器設(shè)備來(lái)實(shí)現(xiàn),該任何計(jì)算機(jī)或其他客戶端或服務(wù)器設(shè)備可作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分來(lái)部署或者被部署在分布式計(jì)算環(huán)境中,并且可以連接到任何種類(lèi)的數(shù)據(jù)存儲(chǔ)。在這一點(diǎn)上,此處描述的各實(shí)施例可在具有任何數(shù)量的存儲(chǔ)器或存儲(chǔ)單元的、并且任何數(shù)量的應(yīng)用和進(jìn)程跨任何數(shù)量的存儲(chǔ)單元發(fā)生的任何計(jì)算機(jī)系統(tǒng)或環(huán)境中實(shí)現(xiàn)。這包括但不限于具有部署在具有遠(yuǎn)程或本地存儲(chǔ)的網(wǎng)絡(luò)環(huán)境或分布式計(jì)算環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶機(jī)計(jì)算機(jī)的環(huán)境。附圖14提供了示例性聯(lián)網(wǎng)或分布式計(jì)算環(huán)境的非限制性性示意圖。該分布式計(jì)算環(huán)境包括計(jì)算對(duì)象1410、1412等以及計(jì)算對(duì)象或設(shè)備1420、1422、1424、1426、1428等,這些計(jì)算對(duì)象或設(shè)備可包括如由應(yīng)用程序1430、1432、1434、1436、1438表示的程序、方法、數(shù)據(jù)存儲(chǔ)、可編程邏輯等。能夠理解,對(duì)象1410、1412等以及計(jì)算對(duì)象或設(shè)備1420、1422、1424、1426、1428等可包括不同的設(shè)備,比如PDA、音頻/視頻設(shè)備、移動(dòng)電話、MP3播放器、膝上型計(jì)算機(jī)等。每一個(gè)對(duì)象1410、1412等以及計(jì)算對(duì)象或設(shè)備1420、1422、1424、1426、1428等可通過(guò)通信網(wǎng)絡(luò)1440直接或間接與一個(gè)或多個(gè)其他對(duì)象1410、1412等以及計(jì)算對(duì)象或設(shè)備1420、1422、1424、1426、1428等進(jìn)行通信。即使在圖14中被示為單個(gè)元件,但網(wǎng)絡(luò)1440也可包括向圖14的系統(tǒng)提供服務(wù)的其他計(jì)算對(duì)象或計(jì)算設(shè)備,和/或可表示未示出的多個(gè)互連網(wǎng)絡(luò)。每個(gè)對(duì)象1410、1412等或1420、1422、1424、1426、1428等還可包含諸如應(yīng)用程序1430、1432、1434、1436、1438之類(lèi)的應(yīng)用程序,該應(yīng)用程序可利用適用于與根據(jù)本發(fā)明的各實(shí)施例提供的用于來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)進(jìn)行通信或適用于實(shí)現(xiàn)該基礎(chǔ)結(jié)構(gòu)的API或其他對(duì)象、軟件、固件和/或硬件。存在支持分布式計(jì)算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計(jì)算系統(tǒng)可由有線或無(wú)線系統(tǒng)、本地網(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多網(wǎng)絡(luò)被耦合至因特網(wǎng),后者為廣泛分布的計(jì)算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的網(wǎng)絡(luò),但任何網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)可用于變得與如各實(shí)施例中所描述的技術(shù)相關(guān)聯(lián)的示例性通信。由此,可使用諸如客戶機(jī)/服務(wù)器、對(duì)等、或混合體系結(jié)構(gòu)之類(lèi)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的主機(jī)。在客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中,尤其在聯(lián)網(wǎng)系統(tǒng)中,客戶機(jī)通常是訪問(wèn)另一計(jì)算機(jī)(例如,服務(wù)器)所提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在圖14的圖示中,作為非限制性示例,計(jì)算機(jī)1420、1422、1424、1426、1428等可被認(rèn)為是客戶端而計(jì)算機(jī)1410、1412等可被認(rèn)為是服務(wù)器,其中服務(wù)器1410、1412等提供數(shù)據(jù)服務(wù),諸如從客戶端計(jì)算機(jī)1420、1422、1424、1426、1428等接收數(shù)據(jù),存儲(chǔ)數(shù)據(jù),處理數(shù)據(jù),向客戶端計(jì)算機(jī)1420、1422、1424、1426、1428發(fā)送數(shù)據(jù)等,但任何計(jì)算機(jī)都可取決于環(huán)境而被認(rèn)為是客戶端、服務(wù)器或兩者。這些計(jì)算設(shè)備中的任一個(gè)可以處理數(shù)據(jù),或請(qǐng)求可指示如此處參考一個(gè)或多個(gè)實(shí)施例描述的來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)以及相關(guān)技術(shù)的服務(wù)或任務(wù)。服務(wù)器通常是可通過(guò)諸如因特網(wǎng)或無(wú)線網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)之類(lèi)的遠(yuǎn)程網(wǎng)絡(luò)或本地網(wǎng)絡(luò)訪問(wèn)的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)??蛻魴C(jī)進(jìn)程可在第一計(jì)算機(jī)系統(tǒng)中活動(dòng),而服務(wù)器進(jìn)程可在第二計(jì)算機(jī)系統(tǒng)中活動(dòng),它們通過(guò)通信介質(zhì)相互通信,由此提供分布式功能并允許多個(gè)客戶機(jī)利用服務(wù)器的信息收集能力。按照用戶剖析來(lái)利用的任何軟件對(duì)象可以獨(dú)立地提供或跨多個(gè)計(jì)算設(shè)備或?qū)ο蠓植?。例如,在其中通信網(wǎng)絡(luò)/總線1440是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,服務(wù)器1410、1412等 可以是客戶機(jī)1420、1422、1424、1426、1428等通過(guò)諸如HTTP等多種已知協(xié)議中的任一種與其通信的web服務(wù)器。服務(wù)器1410,1412等也可擔(dān)當(dāng)客戶端1420、1422、1424、1426、1428等,這是分布式計(jì)算環(huán)境的特性。示例性計(jì)算設(shè)備如所提到的那樣,此處描述的各實(shí)施例適用于其中可能期望實(shí)現(xiàn)來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)的一個(gè)或多個(gè)部分的任何設(shè)備。因此,應(yīng)當(dāng)理解,構(gòu)思了結(jié)合此處描述的各實(shí)施例使用的手持式、便攜式和其他計(jì)算設(shè)備和計(jì)算對(duì)象,即在設(shè)備可以結(jié)合來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)來(lái)提供某些功能的任何地方。因此,在下面的圖15中描述的以下通用遠(yuǎn)程計(jì)算機(jī)僅是一個(gè)示例,且所公開(kāi)的主題的各實(shí)施例可以用具有網(wǎng)絡(luò)/總線互操作性和交互的任何客戶機(jī)來(lái)實(shí)現(xiàn)。盡管并不是必需的,但各實(shí)施例的任意一個(gè)可以部分地經(jīng)由操作系統(tǒng)來(lái)實(shí)現(xiàn),以供設(shè)備或?qū)ο蟮姆?wù)開(kāi)發(fā)者使用,和/或被包括在結(jié)合可操作組件來(lái)操作的應(yīng)用軟件中。軟件可在諸如客戶機(jī)工作站、服務(wù)器或其他設(shè)備之類(lèi)的一個(gè)或多個(gè)計(jì)算機(jī)所執(zhí)行的諸如程序模塊之類(lèi)的計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。本領(lǐng)域的技術(shù)人員可以理解,網(wǎng)絡(luò)交互可以用各種計(jì)算機(jī)系統(tǒng)配置和協(xié)議來(lái)實(shí)施。因此,圖15示出了其中可實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的合適的計(jì)算系統(tǒng)環(huán)境1500的一個(gè)示例,但是上面已經(jīng)弄清楚,計(jì)算系統(tǒng)環(huán)境1500僅為合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)各實(shí)施例中的任意一個(gè)的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算環(huán)境1500解釋為對(duì)示例性操作環(huán)境1500中示出的任一組件或其組合有任何依賴(lài)性或要求。參考圖15,用于實(shí)現(xiàn)此處的一個(gè)或多個(gè)實(shí)施例的示例性遠(yuǎn)程設(shè)備可以包括手持式計(jì)算機(jī)1510形式的通用計(jì)算設(shè)備。手持式計(jì)算機(jī)1510的組件可以包括但不限于處理單元1520、系統(tǒng)存儲(chǔ)器1530和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元1520的系統(tǒng)總線1521。計(jì)算機(jī)1510通常包括各種計(jì)算機(jī)可讀介質(zhì),并且可以是可由計(jì)算機(jī)1510訪問(wèn)的任何可用介質(zhì)。系統(tǒng)存儲(chǔ)器1530可包括諸如只讀存儲(chǔ)器(ROM)和/或隨機(jī)存取存儲(chǔ)器(RAM)之類(lèi)的易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。作為示例而非限制性,存儲(chǔ)器1530還可以包括操作系統(tǒng)、應(yīng)用程序、其他程序模塊、和程序數(shù)據(jù)。用戶可以通過(guò)輸入設(shè)備1540向計(jì)算機(jī)1510輸入命令和信息。監(jiān)視器或其他類(lèi)型的顯示設(shè)備也經(jīng)由諸如輸出接口 1550之類(lèi)的接口連接到系統(tǒng)總線1521。除監(jiān)視器之外,計(jì)算機(jī)還可以包括其他外圍輸出設(shè)備,如揚(yáng)聲器和打印機(jī),它們可以通過(guò)輸出接口 1550連接。計(jì)算機(jī)1510可使用到一個(gè)或多個(gè)其他遠(yuǎn)程計(jì)算機(jī)(諸如遠(yuǎn)程計(jì)算機(jī)1570)的邏輯連接在聯(lián)網(wǎng)或分布式環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1570可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見(jiàn)網(wǎng)絡(luò)節(jié)點(diǎn)、或者任何其他遠(yuǎn)程媒體消費(fèi)或傳輸設(shè)備,并且可包括以上關(guān)于計(jì)算機(jī)1510所述的任何或全部元件。圖15所示的邏輯連接包括諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類(lèi)的網(wǎng)絡(luò)1571,但也可包括其他網(wǎng)絡(luò)/總線。這些聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見(jiàn)的。如上所述,雖然結(jié)合各計(jì)算設(shè)備、網(wǎng)絡(luò)和廣告體系結(jié)構(gòu)描述了示例性實(shí)施例,但還可將底層概念應(yīng)用于其中想要結(jié)合與云或網(wǎng)絡(luò)服務(wù)的交互來(lái)發(fā)布、構(gòu)建應(yīng)用或消費(fèi)數(shù)據(jù)的任何網(wǎng)絡(luò)系統(tǒng)和任何計(jì)算設(shè)備或系統(tǒng)。有多種實(shí)現(xiàn)此處描述的一個(gè)或多個(gè)實(shí)施例的方式,例如,使應(yīng)用和服務(wù)能使用來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)的適當(dāng)API、工具包、驅(qū)動(dòng)程序代碼、操作系統(tǒng)、控件、獨(dú)立或可下載的軟件對(duì)象等等??梢詮腁PI (或其他軟件對(duì)象)的觀點(diǎn)以及從便于提供根據(jù)所描述的實(shí)施例中的一個(gè)或多個(gè)的來(lái)自任何平臺(tái)的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)的軟件或硬件對(duì)象來(lái)構(gòu)想各實(shí)施例。此處描述的各種實(shí)現(xiàn)和實(shí)施例可以具有完全采用硬件、部分采用硬件并且部分采用軟件、以及采用軟件的方面。本文中所使用的詞語(yǔ)“示例性”意味著用作示例、實(shí)例、或說(shuō)明。為避免疑惑,本文所公開(kāi)的主題不限于這些示例。另外,本文中被描述為“示例性”的任何方面或設(shè)計(jì)不一定 被解釋為比其他方面或設(shè)計(jì)更優(yōu)選或有利,它也不意味著排除本領(lǐng)域普通技術(shù)人員已知的等效示例性結(jié)構(gòu)和技術(shù)。而且,就術(shù)語(yǔ)“包括”、“具有”、“包含”和其他類(lèi)似的詞語(yǔ)在詳細(xì)描述或權(quán)利要求書(shū)中的使用而言,為避免疑惑,這樣的術(shù)語(yǔ)旨在以類(lèi)似于術(shù)語(yǔ)“包括”作為開(kāi)放的過(guò)渡詞的方式解釋而不排除任何附加或其他元素。如所述的,此處所述的各種技術(shù)可結(jié)合硬件或軟件或,在適當(dāng)時(shí),以?xún)烧叩慕M合來(lái)實(shí)現(xiàn)。如此處所使用的,術(shù)語(yǔ)“組件”、“系統(tǒng)”等同樣旨在指計(jì)算機(jī)相關(guān)實(shí)體,或者是硬件、硬件和軟件的組合、軟件或者是執(zhí)行中的軟件。例如,組件可以是,但不限于是,在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行碼、執(zhí)行的線程、程序和/或計(jì)算機(jī)。作為說(shuō)明,在計(jì)算機(jī)上運(yùn)行的應(yīng)用和計(jì)算機(jī)都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行線程中,并且組件可以位于一個(gè)計(jì)算機(jī)內(nèi)和/或分布在兩個(gè)或更多計(jì)算機(jī)之間。如前所述的系統(tǒng)已經(jīng)參考若干組件之間的交互來(lái)描述。可以理解,這些系統(tǒng)和組件可包括組件或指定的子組件、某些指定的組件或子組件和/或附加的組件,并且根據(jù)上述內(nèi)容的各種置換和組合。子組件還可作為通信地耦合到其他組件的組件來(lái)實(shí)現(xiàn),而不是被包括在父組件內(nèi)(層次性)。另外,應(yīng)該注意,一個(gè)或多個(gè)組件也可以合并到提供聚合功能的單一組件中,或者也可以分成多個(gè)單獨(dú)的子組件,并且,可以提供諸如管理層之類(lèi)的任何一個(gè)或更多中間層,以可通信地耦合到這樣的子組件,以便提供集成的功能。此處所述的任何組件也可與一個(gè)或多個(gè)此處未專(zhuān)門(mén)描述的但本領(lǐng)域技術(shù)人員一般已知的其他組件進(jìn)行交互??紤]到以上描述的示例性系統(tǒng),參考各附圖的流程圖將可以更好地理解根據(jù)所公開(kāi)的主題實(shí)現(xiàn)的方法。盡管為了說(shuō)明簡(jiǎn)潔起見(jiàn),按照一系列框示出和描述了方法,但是,應(yīng)該理解和知道,所要求保護(hù)的主題不限于框的順序,因?yàn)橐恍┛蚩梢园磁c此處所描繪和描述的不同的順序進(jìn)行和/或與其他框并發(fā)地進(jìn)行。盡管經(jīng)由流程圖示出了非順序或分支的流程,但可以理解,可實(shí)現(xiàn)達(dá)到相同或類(lèi)似結(jié)果的各種其他分支、流程路徑和框的次序。此夕卜,并非全部所示的框都是實(shí)現(xiàn)下面所述的方法所必需的。雖然在某些實(shí)施例中示出了客戶機(jī)側(cè)觀點(diǎn),但要出于避免對(duì)存在相對(duì)應(yīng)的服務(wù)器觀點(diǎn)的疑問(wèn)來(lái)理解,反之亦然。類(lèi)似地,在實(shí)施一方法時(shí),可以提供具有存儲(chǔ)和被配置成經(jīng)
由一個(gè)或多個(gè)組件實(shí)施該方法的至少一個(gè)處理器的相對(duì)應(yīng)的設(shè)備。盡管結(jié)合各附圖的優(yōu)選實(shí)施例描述了各實(shí)施例,但可以理解,可以使用其他類(lèi)似的實(shí)施例,或可以對(duì)所描述的實(shí)施例進(jìn)行修改和添加來(lái)執(zhí)行相同的功能而不背離本發(fā)明。而且,此處描述的各實(shí)施例的一個(gè)或多個(gè)方面可以在多個(gè)處理芯片或設(shè)備中實(shí)現(xiàn)或跨多個(gè)處理芯片或設(shè)備實(shí)現(xiàn),且存儲(chǔ)可以類(lèi)似地跨多個(gè)設(shè)備來(lái)實(shí)現(xiàn)。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,而是應(yīng)該根據(jù)所附權(quán)利要求書(shū)的廣度和范圍來(lái)解釋。
權(quán)利要求
1.一種被配置成便于經(jīng)由Web服務(wù)提供信息來(lái)作為服務(wù)的裝置,所述裝置包括 被配置成執(zhí)行存儲(chǔ)在存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行組件的處理器,所述組件包括 被配置成便于訪問(wèn)至少一個(gè)應(yīng)用程序編程接口(API)數(shù)據(jù)庫(kù)的接口組件; 被配置成解析對(duì)所請(qǐng)求的API的請(qǐng)求的解析組件,其中所述請(qǐng)求便于處理由至少一個(gè)內(nèi)容提供者提供的數(shù)據(jù),并且其中所述請(qǐng)求包括與所請(qǐng)求的API的開(kāi)發(fā)者相關(guān)聯(lián)的密鑰和與所請(qǐng)求的API的用戶相關(guān)聯(lián)的唯一標(biāo)識(shí)符;以及 被配置成基于所述密鑰或所述唯一標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)所請(qǐng)求的API的使用的跟蹤組件。
2.如權(quán)利要求I所述的裝置,其特征在于,還包括被配置成基于對(duì)所請(qǐng)求的API的選擇來(lái)生成所述請(qǐng)求的生成組件。
3.如權(quán)利要求2所述的裝置,其特征在于,所述接口組件被配置成顯示存儲(chǔ)在所述至少一個(gè)API數(shù)據(jù)庫(kù)中的多個(gè)可選API,所請(qǐng)求的API被包括在所述多個(gè)可選API中。
4.如權(quán)利要求3所述的裝置,其特征在于,所述接口組件被配置成便于搜索至少一個(gè)API數(shù)據(jù)庫(kù),所述多個(gè)可選API對(duì)應(yīng)于所述搜索的結(jié)果。
5.如權(quán)利要求4所述的裝置,其特征在于,所述接口組件被配置成便于基于輸入來(lái)進(jìn)行所述搜索,所述輸入標(biāo)識(shí)以下中的至少一個(gè)所需操作、所需內(nèi)容提供者、或所需內(nèi)容類(lèi)型。
6.如權(quán)利要求I所述的裝置,其特征在于,所述接口組件被配置成將外部API上傳到所述至少一個(gè)API數(shù)據(jù)庫(kù)。
7.如權(quán)利要求I所述的裝置,其特征在于,所述使用對(duì)應(yīng)于所請(qǐng)求的API的多座使用,所述解析組件被配置成從所請(qǐng)求的API提取多個(gè)唯一標(biāo)識(shí)符,其中所述多個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí)與所述多座使用相關(guān)聯(lián)的多個(gè)用戶。
8.如權(quán)利要求I所述的裝置,其特征在于,還包括被配置成自動(dòng)審計(jì)所述多個(gè)API中的至少一個(gè)的使用歷史的審計(jì)組件。
9.如權(quán)利要求I所述的裝置,其特征在于,還包括被配置成基于所述多個(gè)API中的至少一個(gè)的使用歷史來(lái)對(duì)外部實(shí)體自動(dòng)記賬的記賬組件。
10.如權(quán)利要求I所述的裝置,其特征在于,所述請(qǐng)求還包括與所請(qǐng)求的API的關(guān)聯(lián)方相關(guān)聯(lián)的伙伴標(biāo)識(shí)符,其中所述跟蹤組件還被配置成基于所述伙伴標(biāo)識(shí)符來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。
11.一種便于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的方法,包括 提供對(duì)至少一個(gè)應(yīng)用程序編程接口(API)數(shù)據(jù)庫(kù)的訪問(wèn); 接收標(biāo)識(shí)所請(qǐng)求的API的請(qǐng)求,所述請(qǐng)求便于處理由至少一個(gè)內(nèi)容提供者提供的數(shù)據(jù); 解析所述請(qǐng)求以查明與所請(qǐng)求的API的開(kāi)發(fā)者相關(guān)聯(lián)的密鑰和與所請(qǐng)求的API的用戶相關(guān)聯(lián)的唯一標(biāo)識(shí)符;以及 基于所述密鑰或所述唯一標(biāo)識(shí)符中的至少一個(gè)來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。
12.如權(quán)利要求11所述的方法,其特征在于,還包括自動(dòng)審計(jì)存儲(chǔ)在所述至少一個(gè)API數(shù)據(jù)庫(kù)中的至少一個(gè)API的使用歷史。
13.如權(quán)利要求11所述的方法,其特征在于,還包括基于存儲(chǔ)在所述至少一個(gè)API數(shù)據(jù)庫(kù)中的至少一個(gè)API的使用歷史來(lái)對(duì)外部實(shí)體自動(dòng)記賬。
14.如權(quán)利要求11所述的方法,其特征在于,所述解析包括從所請(qǐng)求的API中提取多個(gè)唯一標(biāo)識(shí)符,其中所述多個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí)與所請(qǐng)求的API的多座使用相關(guān)聯(lián)的多個(gè)用戶。
15.如權(quán)利要求11所述的方法,其特征在于,所述請(qǐng)求還包括與所請(qǐng)求的API的關(guān)聯(lián)方相關(guān)聯(lián)的伙伴標(biāo)識(shí)符,其中所述跟蹤還包括基于所述伙伴標(biāo)識(shí)符來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。
全文摘要
公開(kāi)了用于經(jīng)由web服務(wù)提供信息來(lái)作為服務(wù)的各方面。便于對(duì)至少一個(gè)應(yīng)用程序編程接口(API)數(shù)據(jù)庫(kù)的訪問(wèn)并解析對(duì)所請(qǐng)求的API的請(qǐng)求。在此,這樣的API請(qǐng)求便于處理由至少一個(gè)內(nèi)容提供者提供的數(shù)據(jù)。在一方面,每一請(qǐng)求包括與所請(qǐng)求的API的開(kāi)發(fā)者相關(guān)聯(lián)的密鑰和與所請(qǐng)求的API的用戶相關(guān)聯(lián)的唯一標(biāo)識(shí)符。隨后基于密鑰和/或唯一標(biāo)識(shí)符來(lái)跟蹤對(duì)所請(qǐng)求的API的使用。
文檔編號(hào)G06F9/44GK102792269SQ201180013479
公開(kāi)日2012年11月21日 申請(qǐng)日期2011年3月11日 優(yōu)先權(quán)日2010年3月12日
發(fā)明者C·林斯伯格, G·斯韋德伯格, L·格沃茨德茲, M·克斯拉維, R·S·馬爾, R·鮑 申請(qǐng)人:微軟公司