第三方應(yīng)用活動數(shù)據(jù)收集的制作方法
【專利摘要】一種系統(tǒng)包括:至少一個中心,用于在網(wǎng)站和至少一個第三方應(yīng)用之間協(xié)調(diào)至少一個活動消息,其中所述至少一個活動消息具有標(biāo)準(zhǔn)化格式;以及活動協(xié)調(diào)器,用于收聽所述至少一個活動消息,并至少將從所述至少一個消息中提取的數(shù)據(jù)添加到與識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個相關(guān)聯(lián)的流上,并且其中所述識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個是所述網(wǎng)站的用戶。所述系統(tǒng)還包括聯(lián)系人協(xié)調(diào)器,用于從所述流取回并分析聯(lián)系人相關(guān)信息,并充實所述聯(lián)系人在先前保存的信息;以及至少一個數(shù)據(jù)庫,用于存儲所述活動流以及所述聯(lián)系人相關(guān)信息,以供所述網(wǎng)站和所述聯(lián)系人使用。
【專利說明】
第三方應(yīng)用活動數(shù)據(jù)收集
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及在線應(yīng)用,并且特別地涉及它們與包含的第三方應(yīng)用的使用。
[0002]相關(guān)申請的交叉引用
[0003]本申請要求2013年12月4日遞交的美國臨時專利申請N0.61/911,485的權(quán)益,其全文通過引用合并于此。
【背景技術(shù)】
[0004]存在許多市場上可買到的網(wǎng)站建設(shè)系統(tǒng)和其它交互應(yīng)用建設(shè)工具,其能夠用于創(chuàng)建和編輯網(wǎng)站和其它在線應(yīng)用。終端用戶可以利用在多種不同平臺上的客戶端軟件訪問這種網(wǎng)站,例如,常規(guī)的個人計算機、智能電話、平板計算機和其它臺式或移動設(shè)備。
[0005]這些網(wǎng)站建設(shè)系統(tǒng)可以具有不同配置,例如,完全在線網(wǎng)站建設(shè)系統(tǒng),其以連接到互聯(lián)網(wǎng)的一個或多個服務(wù)器為主機,并利用諸如超文本傳輸協(xié)議(HTTP)的互聯(lián)網(wǎng)通信協(xié)議對其進(jìn)行訪問。創(chuàng)建、編輯和部署這些網(wǎng)站建設(shè)系統(tǒng)均通過服務(wù)器直接在線進(jìn)行。
[0006]網(wǎng)站建設(shè)系統(tǒng)還可以部分在線或者甚至有時完全離線。對于部分在線系統(tǒng),在用戶機器上局部地執(zhí)行網(wǎng)站創(chuàng)建,并稍后上載到一個或多個中央服務(wù)器以供部署。一旦被上載,這些網(wǎng)站建設(shè)系統(tǒng)將以與完全在線網(wǎng)站建設(shè)系統(tǒng)相同的方式運行。
[0007]網(wǎng)站建設(shè)系統(tǒng)具有內(nèi)部數(shù)據(jù)架構(gòu),以便在系統(tǒng)內(nèi)組織數(shù)據(jù)和元素。該架構(gòu)可以不同于用戶所看到的正在討論的站點的外部視圖,并還可以不同于將典型的超文本標(biāo)記語言(HTML)頁面發(fā)送給瀏覽器的方式。例如,內(nèi)部數(shù)據(jù)架構(gòu)可以包含頁面上每個元素的額外屬性(創(chuàng)建者、創(chuàng)建時間、訪問許可、到模板的鏈接等),其對于編輯和維持網(wǎng)站建設(shè)系統(tǒng)內(nèi)的站點是必要的,但是對于終端用戶(或者甚至對一些編輯用戶)從外部看不到。基于網(wǎng)站建設(shè)系統(tǒng)的典型架構(gòu)的站點可以包括包含部件(例如,形狀部件、圖形部件、文本部件、包含迷你頁面的單頁面和多頁面容器,等)的頁面。
[0008]部件可以是無內(nèi)容的,例如星形,其不具有任何內(nèi)部內(nèi)容(但是它具有顏色、尺寸、位置和一些其它屬性);或者可以具有內(nèi)部內(nèi)容,例如文本段部件,其內(nèi)部內(nèi)容包括所顯示的文本以及字體、格式和布局信息。該內(nèi)容自然可以從文本段部件的一個實例到另一實例而變化。
[0009]使用這種網(wǎng)站建設(shè)系統(tǒng)的設(shè)計者可以從頭(從空白屏幕開始)設(shè)計新的創(chuàng)建,或者可以依靠設(shè)計者自身或系統(tǒng)創(chuàng)建者或通過設(shè)計者團(tuán)隊創(chuàng)建的預(yù)先定義的應(yīng)用模板。網(wǎng)站建設(shè)系統(tǒng)可以支持模板,所述模板可以僅是部件集合、完整頁面(或迷你頁面)或甚至是頁面集合和完整的網(wǎng)站。
[0010]當(dāng)提供應(yīng)用模板時,設(shè)計者能夠隨意進(jìn)行定制一添加、移除或修改模板的所有元素,以創(chuàng)建他或她的模板版本??梢酝ㄟ^創(chuàng)建模板的修改版本(其與模板不同且分離)來實現(xiàn)這種定制??商娲?,網(wǎng)站建設(shè)系統(tǒng)可以通過繼承類機制應(yīng)用定制,所述繼承類機制保持到原始模板的連接,并因此反映對模板做的后續(xù)改變。
[0011]還可以利用第三方應(yīng)用和嵌入到其中的部件擴展網(wǎng)站建設(shè)系統(tǒng)。這種第三方應(yīng)用可以包含于網(wǎng)站建設(shè)系統(tǒng)設(shè)計環(huán)境中,或者可以通過多個分布機構(gòu)單獨購買(或以其它方式獲取),例如從集成到網(wǎng)站建設(shè)系統(tǒng)的應(yīng)用商店(AppStore),或者從網(wǎng)站建設(shè)系統(tǒng)(WBS)提供商或另一實體運營的單獨的、基于網(wǎng)絡(luò)或獨立的應(yīng)用倉庫(或AppStore)。還可以直接從第三方應(yīng)用供應(yīng)商(通過或不通過AppStore)獲得第三方應(yīng)用一這將提供實際安裝模塊,或者進(jìn)激活或訪問碼。
[0012]第三方應(yīng)用可以包括前端(顯示)元件與后臺業(yè)務(wù)元件(其不是視覺網(wǎng)站顯示的一部分)的任意組合。第三方應(yīng)用可以完全是后臺業(yè)務(wù)的(即,不包括顯示元件)、完全是前端(即,僅在網(wǎng)站使用背景下被激活)或者是兩者的組合。
[0013]第三方應(yīng)用的后臺業(yè)務(wù)元件可以包括例如數(shù)據(jù)庫通信、外部更新選項等的功能。例如,博客第三方應(yīng)用可以包括后臺業(yè)務(wù)元件,其允許從非人類來源(例如,從主要新聞服務(wù)饋送的RSS新聞)接收更新,以及從與網(wǎng)站不相關(guān)的人類資源(例如,允許提交博客條目的獨立智能電話應(yīng)用)接收更新。
[0014]可以通過多種方式將第三方應(yīng)用的視覺元件集成到包含網(wǎng)站。微件型第三方應(yīng)用可以作為部件嵌入到網(wǎng)站頁面中,而區(qū)段型第三方應(yīng)用可以作為一個或多個額外頁面而被添加到網(wǎng)站上。
[0015]此外,第三方應(yīng)用(微件和區(qū)段)可以是單頁面第三方應(yīng)用或多頁面第三方應(yīng)用(其具有表示為內(nèi)部URL結(jié)構(gòu)的內(nèi)部迷你頁面)。系統(tǒng)可以實現(xiàn)四種可能組合(微件或區(qū)段,單頁面或多頁面)的任一種或全部。
[0016]多頁面第三方應(yīng)用通常提供默認(rèn)的“著陸”迷你頁面,其可以是開始頁面、特定的內(nèi)部迷你頁面(例如,在博客第三方應(yīng)用中最近的博客條目)。迷你頁面選擇屏幕或一些其它迷你頁面。
[0017]通過第三方應(yīng)用實例實現(xiàn)在基于網(wǎng)站建設(shè)系統(tǒng)的網(wǎng)站中使用第三方應(yīng)用。網(wǎng)站建設(shè)系統(tǒng)可以支持在多個級別多次使用第三方應(yīng)用,例如允許在整個網(wǎng)站中的單個第三方應(yīng)用實例;允許在網(wǎng)站中創(chuàng)建多個第三方應(yīng)用的實例(但是不多于任意給定第三方應(yīng)用的一個實例);以及允許創(chuàng)建多個第三方應(yīng)用的多個實例,但是每個給定頁面不多于一個實例。還可以允許每個頁面部件第三方應(yīng)用有多個實例,但是不是區(qū)段第三方應(yīng)用,并且還允許創(chuàng)建多個第三方應(yīng)用的多個實例,而無需限制第三方應(yīng)用實例的數(shù)量、多樣性或位置。
[0018]第三方應(yīng)用實例可以具有實例特有內(nèi)容。例如,電子商店第三方應(yīng)用可以具有與特定實例相關(guān)聯(lián)的產(chǎn)品數(shù)據(jù)庫,其與和同一電子商店第三方應(yīng)用(在相同站點或其它站點)的其它實例相關(guān)聯(lián)的產(chǎn)品數(shù)據(jù)庫不同。
[0019]出于討論的目的,包含第三方應(yīng)用的網(wǎng)站頁面(或迷你頁面)及其迷你頁面或元件(即,“包裝頁面”)已知為包含網(wǎng)頁,并且對于整個網(wǎng)站為主站點。向用戶示出的集成的頁面(包括主頁面和嵌入式TPA迷你頁面/部件)將被稱作組合頁面。對于區(qū)段型第三方應(yīng)用,包含第三方應(yīng)用的“虛擬頁面”將用作包含網(wǎng)頁。
[0020]第三方應(yīng)用通常部署于網(wǎng)站建設(shè)系統(tǒng)供應(yīng)商服務(wù)器上、在第三方應(yīng)用供應(yīng)商服務(wù)器上、在外部(第四方)服務(wù)器上、或其任意組合。第三方應(yīng)用還可以包括實際在終端用戶機器上運行的元件,例如,靜態(tài)安裝的瀏覽器擴展或在網(wǎng)站建設(shè)系統(tǒng)客戶端側(cè)代碼內(nèi)運行的動態(tài)運行JavaScript部件,如現(xiàn)在參考的圖1所示。
[0021]網(wǎng)站建設(shè)系統(tǒng)供應(yīng)商的服務(wù)器用作終端用戶的接觸點,并響應(yīng)于請求(可能連接到第三方應(yīng)用供應(yīng)商的服務(wù)器以接收所要求的信息)。例如,當(dāng)需要視頻流送時,網(wǎng)站建設(shè)系統(tǒng)可以(按照需要)創(chuàng)建客戶端計算機和第三方應(yīng)用供應(yīng)商的服務(wù)器之間的直接連接。
[0022]所包含的第三方應(yīng)實例可以具有自己的內(nèi)部內(nèi)容,類似于常規(guī)部件包括內(nèi)部內(nèi)容的方式。第三方應(yīng)用可以獨立于網(wǎng)站建設(shè)系統(tǒng)并獨立于利用如現(xiàn)在參考的圖2所示的網(wǎng)站建設(shè)系統(tǒng)生成的網(wǎng)站而管理該內(nèi)容。(單個或多個第三方應(yīng)用的)多個第三方應(yīng)用實例可以具有共享內(nèi)容,例如,在兩個單獨的網(wǎng)站頁面中的兩個電子商店實例可以涉及同一產(chǎn)品數(shù)據(jù)庫。
[0023]可以以多種方式將來自包含的第三方應(yīng)用的輸出集成到包含網(wǎng)頁中,例如:
[0024]服務(wù)器側(cè)處理:在現(xiàn)在參考的圖3所示的該替代中,第三方應(yīng)用[a](包括設(shè)計和顯示元件)和用戶專用第三方應(yīng)用[b]由在第三方應(yīng)用供應(yīng)商的服務(wù)器[d]上運行的第三方應(yīng)用服務(wù)器代碼[c]合并。通過通信介質(zhì)[e]將它們發(fā)送到網(wǎng)站建設(shè)系統(tǒng)服務(wù)器代碼[f],該代碼將它們與包含網(wǎng)頁信息[g]合并,并發(fā)送它們以供在用戶客戶站點[h]處顯示。
[0025]客戶端側(cè)處理:在現(xiàn)在參考的圖4所示的該替代中,第三方應(yīng)用[a](包括設(shè)計和顯示元件)和用戶專用第三方應(yīng)用[b]由在第三方應(yīng)用供應(yīng)商的服務(wù)器[d]上運行的第三方應(yīng)用服務(wù)器代碼[c]合并。通過通信介質(zhì)[e]將它們發(fā)送到客戶端側(cè)處理部件[h]。網(wǎng)站建設(shè)系統(tǒng)服務(wù)器代碼[f]將包含網(wǎng)頁信息[g]發(fā)送給該客戶端側(cè)處理部件[h]??蛻舳藗?cè)處理部件[h]執(zhí)行信息的兩個來源的合并,并向瀏覽器(或其它客戶端代理)[i]呈現(xiàn)統(tǒng)一應(yīng)用。
[0026]iFrame包含:在現(xiàn)在參考的圖5所示的該替代中,第三方應(yīng)用[a](包括設(shè)計和顯示元件)和用戶專用第三方應(yīng)用[b]由在第三方應(yīng)用供應(yīng)商的服務(wù)器[d]上運行的第三方應(yīng)用服務(wù)器代碼[c]合并。通過通信介質(zhì)[e]將它們發(fā)送到在用戶代理(例如,網(wǎng)絡(luò)瀏覽器)[i]內(nèi)運行的基于瀏覽器的應(yīng)用[h]。網(wǎng)站建設(shè)系統(tǒng)服務(wù)器代碼[f]將包含網(wǎng)頁信息[g]發(fā)送給該基于瀏覽器的應(yīng)用[h]。包含網(wǎng)頁用作包含一個或多個iframe指令的網(wǎng)頁,其包括來自第三方應(yīng)用服務(wù)器[d]的內(nèi)容。也可以應(yīng)用額外的和替代的方法。
【發(fā)明內(nèi)容】
[0027]根據(jù)本發(fā)明優(yōu)選實施例提供了一種在網(wǎng)站上經(jīng)由客戶端/服務(wù)器系統(tǒng)實現(xiàn)的系統(tǒng),所述客戶端/服務(wù)器系統(tǒng)具有用于處理定義所述系統(tǒng)的指令的至少一個處理器。所述系統(tǒng)包括:至少一個中心,用于在網(wǎng)站和至少一個第三方應(yīng)用之間協(xié)調(diào)至少一個活動消息,其中所述至少一個活動消息具有標(biāo)準(zhǔn)化格式。所述系統(tǒng)還包括活動協(xié)調(diào)器,用于收聽所述至少一個活動消息,并至少將從所述至少一個消息中提取的數(shù)據(jù)添加到與識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個相關(guān)聯(lián)的流上,并且其中所述識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個是所述網(wǎng)站的用戶。所述系統(tǒng)還包括聯(lián)系人協(xié)調(diào)器,用于從所述流取回并分析聯(lián)系人相關(guān)信息,并充實所述聯(lián)系人在先前保存的信息;以及至少一個數(shù)據(jù)庫,用于存儲所述活動流以及所述聯(lián)系人相關(guān)信息,以供所述網(wǎng)站和所述聯(lián)系人使用。
[0028]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述至少一個中心包括以下中的至少一個:路由器和跟蹤器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間路由和跟蹤所述至少一個活動消息;私人策略強制器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施隱私策略;轉(zhuǎn)換器和適配器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間應(yīng)用預(yù)先指定的至少一個消息轉(zhuǎn)換和內(nèi)容適配規(guī)則;私人數(shù)據(jù)代理,用于實現(xiàn)私人數(shù)據(jù)代理和私人數(shù)據(jù)替代中的至少一個,并用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施用戶許可字段限制;以及驗證器和簽名器,用于利用所述至少一個第三方應(yīng)用的輸入鍵驗證所述至少一個活動消息的簽名,以將與所述至少一個活動消息相關(guān)聯(lián)的外部ID與內(nèi)部所述網(wǎng)站ID進(jìn)行轉(zhuǎn)換,并用于利用所述至少一個第三方應(yīng)用的輸出鍵對輸出的所述至少一個活動消息進(jìn)行簽名。
[0029]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述活動協(xié)調(diào)器包括以下中的至少一個:流創(chuàng)建器,用于識別與所述至少一個活動消息相關(guān)聯(lián)的所述聯(lián)系人,并用于在沒有相關(guān)聯(lián)的聯(lián)系人存在時創(chuàng)建所述數(shù)據(jù)流;流合并器,用于將來自所述至少一個活動消息的數(shù)據(jù)合并到現(xiàn)有流,并將來自至少兩個所述活動流的數(shù)據(jù)合并到單個流中;以及日志創(chuàng)建器,用于將來自所述活動流的活動數(shù)據(jù)記錄到所述至少一個數(shù)據(jù)庫中。
[0030]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述聯(lián)系人協(xié)調(diào)器包括以下中的至少一個:數(shù)據(jù)提取器,用于從所述至少一個活動消息、所述流、其它聯(lián)系人和外部源中的至少一個提取聯(lián)系人相關(guān)信息;數(shù)據(jù)合并器,用于合并至少兩個聯(lián)系人信息記錄,其中所述記錄與同一識別出的聯(lián)系人相關(guān)聯(lián),并且用于根據(jù)預(yù)先定義的合并規(guī)則將所述提取出的聯(lián)系人相關(guān)信息合并到現(xiàn)有聯(lián)系人的聯(lián)系人相關(guān)信息中;聯(lián)系人處理器,用于創(chuàng)建可識別的新聯(lián)系人和匿名聯(lián)系人中的至少一個,并用于在所述網(wǎng)站的會話期間跟蹤聯(lián)系人活動;以及數(shù)據(jù)和許可處理器,用于處理所提取出的聯(lián)系人相關(guān)信息的隱私保護(hù)和許可。
[0031]另外,根據(jù)本發(fā)明的優(yōu)選實施例,所述路由器和跟蹤器支持利用所述至少一個第三方應(yīng)用指定收聽查詢來路由所述至少一個活動消息。
[0032]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述流合并器包括活動到流合并器,以將所述數(shù)據(jù)合并到與所述識別出的聯(lián)系人相關(guān)聯(lián)的所述流,以及流到流合并器,以將至少兩個單獨的流合并到單個流。
[0033]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述流到流合并器包括水平流合并器和垂直流合并器中的至少一個,所述水平流合并器用于根據(jù)識別出的共同聯(lián)系人合并所述至少兩個單獨的流,所述垂直流合并器用于在連接匿名聯(lián)系人和注冊的聯(lián)系人用戶的登錄或注冊時合并針對匿名聯(lián)系人創(chuàng)建的流和與注冊的聯(lián)系人用戶相關(guān)聯(lián)的流。
[0034]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述數(shù)據(jù)合并器包括以下中的至少一個:聯(lián)系人識別器,用于以下至少一項:在至少兩個所述聯(lián)系人信息記錄中定位相同的主要ID字段值,在至少兩個所述聯(lián)系人信息記錄中定位當(dāng)被規(guī)范化時相同的主要鍵字段值,利用網(wǎng)絡(luò)跟蹤器識別站點用戶,利用針對注冊用戶的站點登錄來識別站點用戶,以及通過針對站點用戶利用與社交網(wǎng)絡(luò)相關(guān)聯(lián)的賬戶的社交登錄識別站點用戶。所述數(shù)據(jù)合并器還包括聯(lián)合器,用于利用語言、語法、文本分析和向外部數(shù)據(jù)源和服務(wù)的咨詢中的至少一個來聯(lián)合聯(lián)系人信息;矛盾解決器,用于根據(jù)預(yù)先定義的規(guī)則解決聯(lián)系人記錄之間的矛盾;列表值創(chuàng)建器,用于創(chuàng)建列表值字段,以定義在所述聯(lián)系人記錄之間的凈優(yōu)先;水平聯(lián)系人合并器,用于由于檢測到的共同主要ID合并兩個不相關(guān)的聯(lián)系人;以及垂直聯(lián)系人合并器,用于在連接匿名聯(lián)系人和注冊用戶的登錄或注冊時合并匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人。
[0035]另外,根據(jù)本發(fā)明的優(yōu)選實施例,所述水平聯(lián)系人合并器包括虛擬合并器,用于將至少兩個聯(lián)系人記錄維持為分離的,并將其鏈接到一起,從而將其標(biāo)記為表示同一聯(lián)系人。
[0036]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述垂直聯(lián)系人合并器包括虛擬合并器,用于將匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人維持為分離的,并將其鏈接到一起,從而將其標(biāo)記為表不同一聯(lián)系人。
[0037]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述用戶許可字段是所述網(wǎng)站確定的和所述網(wǎng)站擁有者確定的中的至少一個。
[0038]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述標(biāo)準(zhǔn)化格式是以下中的的至少一種:由預(yù)先定義的方案、繼承、回叫鏈路定義的、由所述至少一個第三方應(yīng)用進(jìn)行編碼和定義的、或基于外部正式的工業(yè)或事實標(biāo)準(zhǔn)。
[0039]根據(jù)本發(fā)明的優(yōu)選實施例,提供了一種在網(wǎng)站上經(jīng)由客戶端/服務(wù)器系統(tǒng)實現(xiàn)的方法,所述客戶端/服務(wù)器系統(tǒng)具有用于處理定義所述方法的指令的至少一個處理器。所述方法包括:在所述網(wǎng)站和至少一個第三方應(yīng)用之間協(xié)調(diào)至少一個活動消息,其中所述至少一個活動消息具有標(biāo)準(zhǔn)化格式;收聽所述至少一個活動消息,并至少將從所述至少一個消息中提取的數(shù)據(jù)添加到與識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個相關(guān)聯(lián)的流上,并且其中所述聯(lián)系人和匿名聯(lián)系人中的至少一個是所述網(wǎng)站的用戶。所述方法還包括從所述流取回并分析聯(lián)系人相關(guān)信息,并充實所述聯(lián)系人在先前保存的信息;以及存儲所述活動流以及所述聯(lián)系人相關(guān)信息,以供所述網(wǎng)站和所述聯(lián)系人使用。
[0040]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述協(xié)調(diào)包括以下中的至少一個:在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間路由和跟蹤所述至少一個活動消息;在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施隱私策略;在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間應(yīng)用預(yù)先指定的至少一個消息轉(zhuǎn)換和內(nèi)容適配規(guī)則;實現(xiàn)私人數(shù)據(jù)代理和私人數(shù)據(jù)替代中的至少一個,并在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施用戶許可字段限制;以及利用所述至少一個第三方應(yīng)用的輸入鍵驗證所述至少一個活動消息的簽名,將與所述至少一個活動消息相關(guān)聯(lián)的外部ID與內(nèi)部所述網(wǎng)站ID進(jìn)行轉(zhuǎn)換,并利用所述至少一個第三方應(yīng)用的輸出鍵對輸出的所述至少一個活動消息進(jìn)行簽名。
[0041]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述收聽和所述至少添加包括以下中的至少一個:識別與所述至少一個活動消息相關(guān)聯(lián)的所述聯(lián)系人,并在沒有相關(guān)聯(lián)的聯(lián)系人存在時創(chuàng)建所述數(shù)據(jù)流;將來自所述至少一個活動消息的數(shù)據(jù)合并到現(xiàn)有流,并將來自至少兩個所述活動流的數(shù)據(jù)合并到單個流中;以及將來自所述活動流的活動數(shù)據(jù)記錄到所述至少一個數(shù)據(jù)庫中。
[0042]此外,根據(jù)本發(fā)明的優(yōu)選實施例,其中所述取回和分析包括以下中的至少一個:從所述至少一個活動消息、所述流、其它聯(lián)系人和外部源中的至少一個提取聯(lián)系人相關(guān)信息;合并至少兩個聯(lián)系人信息記錄,其中所述記錄與同一識別出的聯(lián)系人相關(guān)聯(lián),并且根據(jù)預(yù)先定義的合并規(guī)則將所述提取出的聯(lián)系人相關(guān)信息合并到現(xiàn)有聯(lián)系人的聯(lián)系人相關(guān)信息中。所述取回和分析還包括創(chuàng)建可識別的新聯(lián)系人和匿名聯(lián)系人中的至少一個,并在所述網(wǎng)站的會話期間跟蹤聯(lián)系人活動;以及處理所提取出的聯(lián)系人相關(guān)信息的隱私保護(hù)和許可。
[0043]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述路由和跟蹤支持利用所述至少一個第三方應(yīng)用指定收聽查詢來路由所述至少一個活動消息。
[0044]另外,根據(jù)本發(fā)明的優(yōu)選實施例,所述合并包括將所述數(shù)據(jù)合并到與所述識別出的聯(lián)系人相關(guān)聯(lián)的所述流,以及將至少兩個單獨的流合并到單個流。
[0045]此外,根據(jù)本發(fā)明的優(yōu)選實施例,將所述數(shù)據(jù)合并到與所述識別出的聯(lián)系人相關(guān)聯(lián)的所述流和將至少兩個單獨的流合并到單個流包括水平合并和垂直合并中的至少一個,所述水平合并根據(jù)識別出的共同聯(lián)系人合并所述至少兩個單獨的流,所述垂直合并在連接匿名聯(lián)系人和注冊的聯(lián)系人用戶的登錄或注冊時合并針對匿名聯(lián)系人創(chuàng)建的流和與注冊的聯(lián)系人用戶相關(guān)聯(lián)的流。
[0046]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述合并至少兩個聯(lián)系人信息記錄包括以下中的至少一個:在至少兩個所述聯(lián)系人信息記錄中定位相同的主要ID字段值,在至少兩個所述聯(lián)系人信息記錄中定位當(dāng)被規(guī)范化時相同的主要鍵字段值,利用網(wǎng)絡(luò)跟蹤器識別站點用戶,利用針對注冊用戶的站點登錄來識別站點用戶,以及通過針對站點用戶利用與社交網(wǎng)絡(luò)相關(guān)聯(lián)的賬戶的社交登錄識別站點用戶。所述合并至少兩個聯(lián)系人信息記錄還包括:利用語言、語法、文本分析和向外部數(shù)據(jù)源和服務(wù)的咨詢中的至少一個來聯(lián)合聯(lián)系人信息;根據(jù)預(yù)先定義的規(guī)則解決聯(lián)系人記錄之間的矛盾;創(chuàng)建列表值字段,以定義在所述聯(lián)系人記錄之間的凈優(yōu)先;由于檢測到的共同主要ID水平合并兩個不相關(guān)的聯(lián)系人;以及在連接匿名聯(lián)系人和注冊用戶的登錄或注冊時垂直合并匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人。
[0047]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述水平合并包括虛擬合并以將至少兩個聯(lián)系人記錄維持為分離的,并將其鏈接到一起,從而將其標(biāo)記為表示同一聯(lián)系人。
[0048]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述垂直合并包括虛擬合并以將匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人維持為分離的,并將其鏈接到一起,從而將其標(biāo)記為表示同一聯(lián)系人。
[0049]另外,根據(jù)本發(fā)明的優(yōu)選實施例,所述用戶許可字段是所述網(wǎng)站確定的和所述網(wǎng)站擁有者確定的中的至少一個。
[0050]此外,根據(jù)本發(fā)明的優(yōu)選實施例,所述標(biāo)準(zhǔn)化格式是以下中的至少一種:由預(yù)先定義的方案、繼承、回叫鏈路定義的、由所述至少一個第三方應(yīng)用進(jìn)行編碼和定義、或基于外部正式的工業(yè)或事實標(biāo)準(zhǔn)。
【附圖說明】
[0051]在說明書的結(jié)論部分特地指出并明顯要求保護(hù)關(guān)于本發(fā)明的主題。然而,通過當(dāng)結(jié)合附圖閱讀時參考下面的【具體實施方式】可以理解關(guān)于操作的組織和方法以及其目標(biāo)、特征和優(yōu)點,在附圖中:
[0052]圖1是在網(wǎng)站建設(shè)系統(tǒng)和第三方應(yīng)用之間部署配置的示意圖;
[0053]圖2是第三方應(yīng)用內(nèi)部內(nèi)容管理的示意圖;
[0054]圖3是通過服務(wù)器側(cè)處理包含于包含網(wǎng)頁中的第三方應(yīng)用的示意圖;
[0055]圖4是通過客戶端側(cè)處理包含于包含網(wǎng)頁中的第三方應(yīng)用的示意圖;
[0056]圖5是通過iframe包含而包含于包含網(wǎng)頁中的第三方應(yīng)用的示意圖;
[0057]圖6是在頁面布局變化期間的現(xiàn)有和非最優(yōu)第三方應(yīng)用顯示的示意圖;
[0058]圖7A和7B是根據(jù)本發(fā)明構(gòu)造和操作的用于集成網(wǎng)站建設(shè)系統(tǒng)和一個或多個第三方應(yīng)用的系統(tǒng)的不意圖;
[0059]圖8是與部件模型相比的文檔對象模型的示意圖;
[0060]圖9是樣本多方博客第三方應(yīng)用的示意圖;[0061 ]圖10是樣本模塊化銷售第三方應(yīng)用的示意圖;
[0062]圖1lA和IlB是根據(jù)本發(fā)明構(gòu)造和操作的通信中心的不同實現(xiàn)方式的示意圖;
[0063]圖1lC是根據(jù)本發(fā)明構(gòu)造和操作的圖1lA和IlB的通信中心的元件的示意圖;
[0064]圖12是根據(jù)本發(fā)明構(gòu)造和操作的由圖1lA和IlB的通信中心所執(zhí)行的通信翻譯場景的不意圖;
[0065]圖13是根據(jù)本發(fā)明構(gòu)造和操作的處理具有相關(guān)聯(lián)模板的第三方應(yīng)用的包含網(wǎng)頁的不意圖;以及
[0066]圖14是根據(jù)本發(fā)明構(gòu)造和操作的包括在迷你頁面內(nèi)具有相關(guān)聯(lián)模板的第三方應(yīng)用的包含網(wǎng)頁的示意圖;
[0067]圖15是根據(jù)本發(fā)明構(gòu)造和操作的用于協(xié)調(diào)和收集來自在王振建設(shè)系統(tǒng)和一個或多個嵌入式第三方應(yīng)用之間交換的不同消息的數(shù)據(jù)的系統(tǒng)的示意圖;
[0068]圖16A、16B、16C和16D是根據(jù)本發(fā)明構(gòu)造和操作的圖15的系統(tǒng)的元件的示意圖;
[0069]圖17是根據(jù)本發(fā)明構(gòu)造和操作的顯示與聯(lián)系人相關(guān)聯(lián)的活動流的樣本圖形用戶界面的示意圖;
[0070]圖18是客戶端側(cè)和服務(wù)器側(cè)第三方應(yīng)用活動消息傳遞的示意圖;以及
[0071]圖19是在用戶網(wǎng)站會話期間登錄/注銷處理的示意圖。
[0072]將會意識到的是,為了圖示的簡潔和清晰,在圖中示出的元件不必按比例繪制。例如,為了清晰起見,可以將一些元件的尺寸相對其它元件進(jìn)行擴大。此外,當(dāng)認(rèn)為合適時,可以在圖中重復(fù)附圖標(biāo)記以表示對應(yīng)或類似的元件。
【具體實施方式】
[0073]在下面的【具體實施方式】中,闡述了多個具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。然而,本領(lǐng)域技術(shù)人員可以理解的是,可以在不具有這些特定細(xì)節(jié)的情況下實踐本發(fā)明。在其它實例中,沒有詳細(xì)描述已知的方法、過程和部件,以免模糊本發(fā)明。
[0074]
【申請人】已經(jīng)認(rèn)識到當(dāng)前方法在以下方式中存在多種限制:第三方應(yīng)用通常集成到網(wǎng)站建設(shè)系統(tǒng),以及集成的第三方應(yīng)用和網(wǎng)站建設(shè)系統(tǒng)相互作用的方式。
[0075]這些限制包括第三方應(yīng)用顯示器受限于包含網(wǎng)頁內(nèi)的單個矩形區(qū)域,所述區(qū)域包含于iframe內(nèi)。它們還包括第三方應(yīng)用控制其自己的窗口大小和位置的能力,以及在實際第三方應(yīng)用顯示窗口(例如,在第三方應(yīng)用窗口周圍的專門顯示框架)外部的視覺元件。
[0076]第三方應(yīng)用可以具有其自己的顯示風(fēng)格(顏色方案、字體、字符大小等)。這些風(fēng)格對于一些包含網(wǎng)頁可能是好的,但是對于其它包含網(wǎng)頁可能是視覺有問題的或不和諧的。
[0077]另一限制是從包含站點角度的第三方應(yīng)用顯示的剛性。如果站點必須被視覺修改(例如,由于部署到具有不同屏幕尺寸的平臺或由于動態(tài)布局事件),則可能要求包含網(wǎng)頁改變分配給第三方應(yīng)用的窗口的尺寸。在這種情況下,將修剪第三方應(yīng)用顯示,并要求經(jīng)由滾動條滾動到第三方應(yīng)用中的不同子區(qū)域?,F(xiàn)在參考圖6,其示出了當(dāng)對包含網(wǎng)頁[a]調(diào)整大小時所發(fā)生的情景的例子,分配給電子商店第三方應(yīng)用[b]的區(qū)域被減小,并且不能同時看到“購買”按鈕[c]和購物車[d]的內(nèi)容一需要多個滾動動作來完成購買,并更不可能地使得購買實際完成。
[0078]可以理解的是,第三方應(yīng)用不能與包含網(wǎng)頁內(nèi)的其它部件交互,并且有時需要這種交互來實現(xiàn)復(fù)雜的功能。特別地,對于第三方應(yīng)用而言不能根據(jù)在包含網(wǎng)頁中的部件的類型和內(nèi)容進(jìn)行不同的執(zhí)行。這種的例子是流送在線烹飪過程的網(wǎng)站。用戶希望在背景中觀看他的電影,他的屏幕的一較小區(qū)域?qū)S糜陴佀托侣劜⑶以谒钠聊坏牧硪粎^(qū)域更新天氣(例如,來自CNN的現(xiàn)場流)。他可能想要在他居住區(qū)域的天氣預(yù)報開始時自動暫停他所學(xué)習(xí)的會話。
[0079]對于多個第三方應(yīng)用也沒有任何清楚的、標(biāo)準(zhǔn)的方式來彼此合作,尤其是當(dāng)它們是由不同供應(yīng)商提供的時。因此,設(shè)計者沒有清楚的方式來組合來自不同供應(yīng)商的多個第三方應(yīng)用。這種的例子可以是電子商務(wù)網(wǎng)站,其運行來自第三方訂購系統(tǒng)的模塊以及運送系統(tǒng)的不同模塊。期望的是,根據(jù)運送調(diào)度等訂購供應(yīng)物。
[0080]
【申請人】已經(jīng)認(rèn)識到,可以通過使用在網(wǎng)站建設(shè)系統(tǒng)和包含于其中的第三方應(yīng)用實例之間的以及在實現(xiàn)于同一包含頁面中的不同第三方應(yīng)用實例之間的有結(jié)構(gòu)的雙向通信信道,來實現(xiàn)該集成。這些信道還可以傳送關(guān)于布局、風(fēng)格的信息以及額外信息。
[0081]可以理解的是,下面的討論集中于iframe包含方法,這是一種內(nèi)置且集成于現(xiàn)代瀏覽器的優(yōu)選方法,其不要求創(chuàng)建特殊的集成代碼。Iframe包含還提供瀏覽器支持封裝和沙盒,以及固有的保護(hù)免受黑客技術(shù),例如可以由惡意第三方應(yīng)用采用的跨站點腳本攻擊。
[0082]現(xiàn)在參考圖7A和7B,其示出了根據(jù)本發(fā)明的用于集成網(wǎng)站建設(shè)系統(tǒng)和一個或多個第三方應(yīng)用的系統(tǒng)100。圖7A示出了在設(shè)計階段的系統(tǒng)100,而圖7B示出了運行時的系統(tǒng)100。如圖7A所示,系統(tǒng)100包括客戶端10、安裝在網(wǎng)站建設(shè)系統(tǒng)(WBS)服務(wù)器20上的網(wǎng)站建設(shè)系統(tǒng)30,以及安裝在一個或多個第三方應(yīng)用服務(wù)器50上的一個或多個第三方應(yīng)用40。網(wǎng)站建設(shè)系統(tǒng)30包括WBS協(xié)調(diào)器21、應(yīng)用庫22、WBS側(cè)TPA屬性表單23、第三方應(yīng)用(TPA)協(xié)調(diào)器24和AppStore 25(其可以包括搜索器26)??蛻舳?0包括頁面編排器12以及TPA屬性表單23的客戶端側(cè)視圖。在一些實施例中,客戶端10還可以包括AppStore 25的客戶端側(cè)視圖。頁面編排器12包括鏈接器13,其將在下文更詳細(xì)地描述。第三方服務(wù)器50包括第三方應(yīng)用40、外部TPA協(xié)調(diào)器51和TPA數(shù)據(jù)庫52,所述TPA數(shù)據(jù)庫52存儲第三方應(yīng)用40部件、模板等以供使用。注意,系統(tǒng)100可以包括術(shù)語多個第三方應(yīng)用40供應(yīng)商的多個第三方服務(wù)器50。
[0083]可以理解的是,當(dāng)針對給定的第三方應(yīng)用40實例指定屬性時,可以調(diào)用TPA屬性表單23。還可以理解的是,當(dāng)被調(diào)用時,TPA屬性表單23可以在客戶端10上表現(xiàn)為TPA屬性表單23的客戶端側(cè)視圖。還可以理解的是離線實施例可以具有其屬性表單作為安裝的客戶端軟件的一部分,因此將不具有其TPA屬性表單23或其庫。
[0084]可以理解的是,坐在客戶端10處的設(shè)計者或終端用戶5可以利用頁面編排器12創(chuàng)建網(wǎng)站頁面和交互(中間頁面以及內(nèi)部頁面),從而創(chuàng)建他的網(wǎng)站(或任意其它在線應(yīng)用)。設(shè)計者5可以經(jīng)由WBS協(xié)調(diào)器21選擇存儲于應(yīng)用庫22中的網(wǎng)站建設(shè)系統(tǒng)30的一部分的部件、模板等。設(shè)計者5還可以創(chuàng)建包含網(wǎng)頁203,其嵌入來自第三方應(yīng)用40的第三方應(yīng)用40實例,所述第三方應(yīng)用40是已經(jīng)預(yù)先購買的并且它的模板、部件等可以存儲在應(yīng)用庫22上。在替代實施例中,所購買的模板、部件等可以存儲于TPA數(shù)據(jù)庫52上,并經(jīng)由外部TPA協(xié)調(diào)器51進(jìn)行訪問。在另一實施例中,可以根據(jù)需要經(jīng)由AppStore 25購買第三方應(yīng)用40模板、部件等。屬性表單23可以由設(shè)計者5指定,并保存關(guān)于已經(jīng)購買的第三方應(yīng)用40實例的信息,例如,許可、安裝指令、支付等,如下文更詳細(xì)描述的。設(shè)計者5還可以使用鏈接器23來手動指定在包含的第三方應(yīng)用40之間的任意通信信道(如果需要的話)。還可以理解的是,鏈接器23還允許設(shè)計者5指定在正在建設(shè)的包含網(wǎng)頁和正被包含的第三方應(yīng)用40實例(例如,如上文所述同時示出的電影和CNN新聞報道)之間的任意的特定通信連接和規(guī)則??梢岳斫獾氖牵梢酝ㄟ^網(wǎng)站試用期修改由鏈接器23創(chuàng)建的鏈接。
[0085]可以理解的是,設(shè)計者5可以通過AppStore 25外部的信道獲取第三方應(yīng)用40,例如第三方應(yīng)用40供應(yīng)商或外部方操作的外部AppStore。在這種情況下,當(dāng)?shù)谌綉?yīng)用40第一次安裝到由設(shè)計者5通過網(wǎng)站建設(shè)系統(tǒng)30創(chuàng)建的網(wǎng)站上時,網(wǎng)站建設(shè)系統(tǒng)30可以注冊第三方應(yīng)用40及其配置數(shù)據(jù)。
[0086]可以理解的是,為了鏈接器23提供建立可能通信信道的能力,第三方應(yīng)用40需要能夠正確地識別和辨識在包含網(wǎng)頁203內(nèi)的(將可能與其通信的)部件一包括其它第三方應(yīng)用40實例。對于基于相關(guān)聯(lián)的模板的部件(在下文中更詳細(xì)描述),通過第三方應(yīng)用40供應(yīng)商提前執(zhí)行所述識別。在相關(guān)聯(lián)模板中的部件可以是給定的特定參考ID,并且這些ID可以在與其通信時由第三方應(yīng)用40使用。
[0087]還可以理解的是,對于多方第三方應(yīng)用40(將在下文更詳細(xì)描述),即分別在多個iframe上的單個第三方應(yīng)用40,多方可以自動知道彼此如何進(jìn)行通信。
[0088]對于不包括于相關(guān)聯(lián)模板中的包含網(wǎng)站頁面部件(如將在下文更詳細(xì)描述的),第三方應(yīng)用40可以包括所需要的(強制的或可選的)包含網(wǎng)頁203部件(其應(yīng)該存在從而可以運作)的列表。所述列表可以存儲于庫表單23中,并包括唯一的ID、描述和部件細(xì)節(jié)(例如,必須是文本部件,將被用作博客對話標(biāo)簽)。該列表可以在進(jìn)入AppStore 25的第三方應(yīng)用40中詳細(xì)說明,并且設(shè)計者5可以使用鏈接器23來指定在復(fù)合第三方應(yīng)用40要求的包含網(wǎng)頁203中的部件(字段)。可以理解的是,當(dāng)創(chuàng)建第三方應(yīng)用40實例時,網(wǎng)站建設(shè)系統(tǒng)30可以動態(tài)地創(chuàng)建丟失的包含網(wǎng)頁203部件,并可以允許設(shè)計者5移動、調(diào)整大小并隨后完全指定它們。
[0089]可替代地,網(wǎng)站建設(shè)系統(tǒng)30可以將包含網(wǎng)頁203的全部或部分部件暴露給包括于包含網(wǎng)頁203中的第三方應(yīng)用40??梢岳斫獾氖?,這可以是部件模型,而不是包含網(wǎng)頁203的文檔對象模型(DOM)。包含網(wǎng)頁203D0M可以比部件模型更復(fù)雜和詳細(xì),這是因為實際的包含網(wǎng)頁203可以包含(隱藏的和可見的)多種HTML元件,其是網(wǎng)站建設(shè)系統(tǒng)30基礎(chǔ)結(jié)構(gòu)的一部分,或者其支持包含網(wǎng)頁203部件。部件模型因此可以更簡單。
[0090]現(xiàn)在參考圖8,其示出了利用多個HTML構(gòu)造(例如,封閉diV標(biāo)簽[b]、內(nèi)部diV標(biāo)簽[c]、框架“迷你微件” [dl]..[d5]等)如何實現(xiàn)文本部件[a]。用于包含網(wǎng)頁203的DOM模型[e]可以包含用于這些子元件中的每個的單獨DOM樹節(jié)點。部件[f]更簡單,其僅包含單個部件節(jié)點[g]。
[0091]可以理解的是,系統(tǒng)100還可以支持選擇性部件暴露一一設(shè)計者5可以經(jīng)由鏈接器23指定應(yīng)該將哪些部件暴露給第三方應(yīng)用40,并且只有這些部件(可能包括通向它們的“包含路徑”)可以包括于對第三方應(yīng)用40可見的簡化部件模型中??梢酝ㄟ^明確地標(biāo)記所包括的部件,根據(jù)它們的類型或任意其它網(wǎng)站建設(shè)系統(tǒng)30屬性,執(zhí)行指定。然后,第三方應(yīng)用40可以遍歷包含網(wǎng)頁203部件模型,并定位所需要的部件。
[0092]還將意識到的是,在包含網(wǎng)頁203和第三方應(yīng)用40實例之間的鏈路還可以自動創(chuàng)建,例如,廣播鏈接,在其中第三方應(yīng)用40可以在運行時期間發(fā)送通信以記錄特定事件。該通信可以是可選的或強制的(即,第三方應(yīng)用40可以不起作用或安裝,除非存在已經(jīng)鏈接以接收這種消息的匹配第三方應(yīng)用40)。例如,第三方應(yīng)用40可以廣播關(guān)于其執(zhí)行的活動的消息分組,并且任意安裝的記錄第三方應(yīng)用40可以接收這些信息分組。
[0093]現(xiàn)在通過設(shè)置完成的新創(chuàng)建的網(wǎng)頁可以(經(jīng)由WBS協(xié)調(diào)器21)存儲于應(yīng)用庫22中,以在運行時被調(diào)用,如下文更詳細(xì)描述的。
[0094]現(xiàn)在返回參考圖7B。在該實施例中,元件與圖7A的相同,除了客戶端10的元件。在運行時期間,客戶端10包括觀察器201以顯示包含網(wǎng)頁203??梢岳斫獾氖?,觀察器201可以包括多個觀察端口 202,其每一個顯示第三方應(yīng)用40的不同實例(根據(jù)一個或多個第三方應(yīng)用40導(dǎo)出的實例)。客戶端10還包括通信中心205,以促進(jìn)通信并提供在包含網(wǎng)頁203和任意第三方應(yīng)用40之間的反向通道,其與在所托管的第三方應(yīng)用40之間要求的任意通信一起托管,而無需任何到相關(guān)包含網(wǎng)頁203的連接。將在下文中更詳細(xì)地描述中心205的功能。
[0095]將會意識到的是,中心205可以在客戶端10上實現(xiàn),因為包含網(wǎng)頁203以及任意第三方應(yīng)用40包含都是可見網(wǎng)站的交互部分,并且它們的通信應(yīng)該被客戶端-服務(wù)器雙程所延遲。在替代實施例中,在第三方應(yīng)用服務(wù)器40需要交換大量數(shù)據(jù)并且優(yōu)選最好不將通過客戶端10進(jìn)行路由的情況下,中心205可以實現(xiàn)于網(wǎng)站建設(shè)系統(tǒng)服務(wù)器20上。
[0096]可以理解的是,通信中心205可以支持在網(wǎng)站建設(shè)系統(tǒng)30和一個或多個第三方應(yīng)用40之間以及在多個第三方應(yīng)用40之間的不同組合的通信。例如,中心205可以使得第三方應(yīng)用40請求網(wǎng)站建設(shè)系統(tǒng)30切換到主站點的另一頁面。通信中心205還可以使得第三方應(yīng)用40請求重新調(diào)整其可能影響包含頁面部件的窗口的大小。這可以通過動態(tài)布局處理進(jìn)行,將在下文中更詳細(xì)的描述。可替代地,如果需要在顯示中容納變化,則包含網(wǎng)頁203可以請求(例如)第三方應(yīng)用40切換到不同版本??梢岳斫獾氖牵@種2路通信還可以在第三方應(yīng)用40部件和與第三方應(yīng)用40相關(guān)的網(wǎng)站建設(shè)系統(tǒng)30部件之間開始,其顯示額外信息以及在多方第三方應(yīng)用40的元件和模塊化第三方應(yīng)用之間的通信,如上文所描述的。
[0097]還可以理解的是,還可以利用在線和離線網(wǎng)站建設(shè)系統(tǒng)30實現(xiàn)系統(tǒng)100,并且其還可以使用托管方法的任意組合,例如,客戶端側(cè)元件、網(wǎng)站建設(shè)系統(tǒng)30供應(yīng)商服務(wù)器、第三方應(yīng)用40供應(yīng)商服務(wù)器和其它第四方服務(wù)器??梢岳斫獾氖?,對于如上所述的離線實施例,仍可以要求服務(wù)器實現(xiàn)系統(tǒng)100。
[0098]系統(tǒng)100還可以托管在不同的服務(wù)器集上(不由網(wǎng)站建設(shè)系統(tǒng)供應(yīng)商操作),例如,針對較大組織的私人站點托管布置。
[0099]系統(tǒng)100還可以支持來自第三方應(yīng)用40的第三方應(yīng)用40實例包含選項,如上所述。然而,系統(tǒng)100還可以支持這些選項的子集,或可以對第三方應(yīng)用40實例包含概率放置約束。
[0100]系統(tǒng)100還可以實現(xiàn)多方第三方應(yīng)用40。多方第三方應(yīng)用40可以包括多個顯示區(qū)域,利用單獨的iframe處理每個顯示區(qū)域。這些區(qū)域還可以(根據(jù)需要)通過通信中心205合作,如下文更詳細(xì)描述的。
[0101]現(xiàn)在參考圖9,其示出了多方第三方應(yīng)用40的例子。如圖所示,從AppStore[b]獲取的博客第三方應(yīng)用[a]放置在包含網(wǎng)頁203 [ c ]中。博客第三方應(yīng)用[a]包括如下三個區(qū)域:博客條目區(qū)域[d],標(biāo)簽云區(qū)域[e],新聞更新區(qū)域[f]??梢岳斫獾氖?,多方第三方應(yīng)用可以以多種方式使用其多個區(qū)域,包括如在上述博客例子中或如在單個應(yīng)用的多個可選駐留部分一樣多的單個應(yīng)用的并發(fā)駐留部分,多個區(qū)域總是可見,并且多個區(qū)域是可選的且僅在需要時顯示??梢酝ㄟ^第三方應(yīng)用40或通過設(shè)計者5(當(dāng)包括第三方應(yīng)用時決定如何配置該第三方應(yīng)用)控制可選區(qū)域的顯示。還可以控制該顯示作為支持功能區(qū)域,例如配置或額外對話區(qū)域;或者作為針對多版本第三方應(yīng)用的替代顯示(例如,具有第三方應(yīng)用的較小和較大版本,或具有第三方應(yīng)用的肖像和風(fēng)景版本)。
[0102]可以理解的是,可以利用針對第三方應(yīng)用40元件顯示的iframe實現(xiàn)上述功能,因此增加基于iframe架構(gòu)的封裝和安全性優(yōu)點。
[0103]還可以理解的是,多方第三方應(yīng)用40的實現(xiàn)方式要求第三方應(yīng)用40(在其iframe內(nèi)部)控制各個iframe的顯示(例如,其可見性、尺寸和位置)。還可以理解的是,通信中心205可以支持該顯示,如下文更詳細(xì)描述的。
[0104]還可以理解的是,即使當(dāng)多方第三方應(yīng)用40(視覺)包括多個元件和區(qū)域,但在購買(例如,在AppStore 25中)、安裝、配置等方面仍將其視為單個第三方應(yīng)用40。
[0105]在現(xiàn)有系統(tǒng)中,每個第三方應(yīng)用40可以被視為單獨的實體,并且在(來自同一供應(yīng)商或其它合作供應(yīng)商的)兩個第三方應(yīng)用40之間的任意合作在逐一基礎(chǔ)上專門開發(fā)。可以理解的是,系統(tǒng)100還支持模塊化第三方應(yīng)用40,其包括能夠單獨購買和安裝的多個合作子模塊。
[0106]現(xiàn)在參考圖10,其示出了模塊化銷售管理第三方應(yīng)用[a]如何包括下列子模塊:CRM模塊[b],線索管理模塊[c]以及電子商務(wù)模塊[d]。單個第三方應(yīng)用供應(yīng)商可以提供所有要求的第三方應(yīng)用模塊??商娲?,第三方應(yīng)用供應(yīng)商可以提供第三方應(yīng)用40模塊(及功能)的子集,并允許設(shè)計者從同一或額外的第三方應(yīng)用供應(yīng)商處購買/安裝補充第三方應(yīng)用模塊。可以理解的是,多方第三方應(yīng)用被作為來自單個供應(yīng)商的單個第三方應(yīng)用獲取和安裝,這只發(fā)生用于占據(jù)多個屏幕區(qū)域,模塊化第三方應(yīng)用包括可以單獨獲取和安裝的多個模塊,并且可以包括來自多個第三方應(yīng)用供應(yīng)商的模塊。為了提供集成來自多個供應(yīng)商的多個第三方應(yīng)用模塊的能力,每個第三方應(yīng)用模塊必須提供其獲取的接口/功能以及其提供的接口 /功能的列表。例如,這可以通過使用基于層級點號隔開命名規(guī)范(例如,My_CRM_TRA.NewClient.GetInfo)的接口名稱和接口參數(shù)規(guī)范的列表來實現(xiàn)。
[0107]第三方應(yīng)用40模塊可以指定要求的接口作為強制的(S卩,模塊在不具有它們的情況下不工作)或作為可選的(即,模塊可以工作,但是可能提供減少的或修改的功能)。因此,為每個接口提供的參數(shù)為:接口唯一名稱;接口描述一向設(shè)計者5顯示,從而他或她可以知道(例如)丟失接口所處理的功能;強制/可選狀態(tài);接口參數(shù)列表和類型??梢岳斫獾氖?,每個第三方應(yīng)用模塊仍駐留在單個iframe(或iframe集合)中。接口的操作基于在下文更詳細(xì)描述的通信信道。
[0108]可以理解的是,可以在網(wǎng)站設(shè)計階段組裝第三方應(yīng)用40模塊。網(wǎng)站建設(shè)系統(tǒng)30可以在添加額外的第三方應(yīng)用40模塊時解決接口參考一新的第三方應(yīng)用40模塊解決現(xiàn)有要求的接口,但是可能添加新的(未解決的)要求接口。
[0109]可以理解的是,設(shè)計者5可以編輯和運行完整的網(wǎng)站,但是強制的(或可選的)接口仍未解決。然而,設(shè)計者5可以不公布所創(chuàng)建的網(wǎng)站,直到所有強制接口被解決,并且當(dāng)試圖使函數(shù)要求中心205激活尚未解決的強制接口的第三方應(yīng)用模塊時進(jìn)行提示。
[0110]還將意識到的是,AppStore25可以包括搜索器26,其試圖定位解決了所要求的第三方應(yīng)用模塊接口的第三方應(yīng)用模塊。搜索器26可以基于未解決的接口搜索特定第三方應(yīng)用模塊或所有第三方應(yīng)用模塊。搜索器26還可以搜索當(dāng)前未解決的接口或甚至搜索已經(jīng)解決的接口,并搜索強制、可選或兩種類型的接口??梢岳斫獾氖牵阉髌?6還可以限制于解決特定第三方應(yīng)用未解決接口,并都說特定第三方應(yīng)用供應(yīng)商。搜索器26可以執(zhí)行第一級搜索(即,滿足當(dāng)前未解決接口的模塊)或多級搜索(即,執(zhí)行重復(fù)搜索),還查找在考慮由先前搜索循環(huán)發(fā)現(xiàn)的第三方應(yīng)用模塊時添加的滿足未解決接口的模塊。
[0111]系統(tǒng)100可以使用接口描述來向設(shè)計者5提供關(guān)于一些丟失接口的重要性的信息。中心205可以提供不相容但仍需通信的第三方應(yīng)用之間的接口轉(zhuǎn)換。這可以通過網(wǎng)站建設(shè)系統(tǒng)30提供商添加的適配器模塊或通過將給定的要求接口適配到不同格式的外部方實現(xiàn)。
[0112]系統(tǒng)100還可以應(yīng)用于離線應(yīng)用編輯系統(tǒng),其使用互聯(lián)網(wǎng)(或任意其它網(wǎng)絡(luò)連接)并使用非瀏覽器客戶端側(cè)軟件來查看所創(chuàng)建的在線應(yīng)用。這種系統(tǒng)不需要使用常規(guī)網(wǎng)絡(luò)基礎(chǔ)設(shè)置所使用的特定技術(shù)(例如,IP通信、HTTP、HTML等)。
[0113]可以理解的是,在本領(lǐng)域中已知的標(biāo)準(zhǔn)跨域通信方法可以用于促進(jìn)跨域通信。這些方法可以包括:
[0114]HTML5 PostMessage:這是一種標(biāo)準(zhǔn)的HTML5特征,其可以用于提供安全的跨域消息傳送。利用HTML5Window.Postmessage,即使當(dāng)駐留在不同域中時,消息也可以被安全地在窗口、iframe和主HTML文檔之間發(fā)送。Postmessage提供工具用于發(fā)送iframe以指定將消息所發(fā)送到的域,并接收iframe來驗證消息發(fā)送自的域。
[0115]消息的URL片段標(biāo)識符:該方法依賴于使用URL片段標(biāo)識符來從一個端點發(fā)送消息到另一端點。所述數(shù)據(jù)以明文編碼并添加(作為片段標(biāo)識符)到用于調(diào)用在目標(biāo)終端域上的服務(wù)或在目標(biāo)終端iframe內(nèi)的隱藏iframe的URL上。然后通過在目標(biāo)服務(wù)或iframe中的代碼對片段標(biāo)識符進(jìn)行解碼。
[0116]專用通信網(wǎng)絡(luò)服務(wù):網(wǎng)站建設(shè)系統(tǒng)30提供托管在網(wǎng)站建設(shè)系統(tǒng)服務(wù)器20上的專用網(wǎng)絡(luò)。各種通信端點連接到該服務(wù)器上一發(fā)送消息或檢查等待消息。這可以經(jīng)由本領(lǐng)域已知的方法實現(xiàn),例如技術(shù)的預(yù)先HTML5Comet集、基于HTML5的WebSocket或任意其它排隊、輪詢、服務(wù)器推送或類似技術(shù)。
[0117]HTML5本地存儲:HTML5提供結(jié)構(gòu)化本地存儲設(shè)施,其可以用于存儲排隊消息。然而,本地存儲僅可以通過與存儲iframe屬于同一域的網(wǎng)絡(luò)內(nèi)容進(jìn)行訪問。在本領(lǐng)域中已經(jīng)開發(fā)了解決方案,例如,Meebo XAuth產(chǎn)品(現(xiàn)在術(shù)語Google公司)所使用的底層技術(shù),其中小服務(wù)器提供支持用于創(chuàng)建所需要的中間iframe,其允許從以異地域為基礎(chǔ)的iframe訪問特定域本地存儲。
[0118]HTML5本地文件系統(tǒng)訪問應(yīng)用編程接口(API):類似于使用上述本地存儲,可以利用通過HTML5文件訪問API (文件AP1、FiIefciter API和FiIeReader API)訪問的用戶代理的本地存儲上的本地文件構(gòu)造跨iframe通信信道。然而,需要注意的是,由HTML5文件系統(tǒng)訪問API創(chuàng)建的沙盒化本地文件系統(tǒng)仍是私人起源,并因此要求中間i frame/服務(wù)器部件橋接相同起源的限制。
[0119]專用瀏覽器插件:可以創(chuàng)建專用瀏覽器(或其它用戶代理)插件以管理跨iframe消息隊列。這種插件將由網(wǎng)站建設(shè)系統(tǒng)30的(所有級別的)用戶安裝,并將向所有iframe的主網(wǎng)站建設(shè)系統(tǒng)30頁面提供必要服務(wù)。
[0120]可以理解的是,通信中心205可以用作利用任意上述討論的傳輸方法的所有iframe間通信的代理。還可以理解的是,中心205完全知道由第三方應(yīng)用40供應(yīng)商提供并存儲于屬性表單23內(nèi)的包含網(wǎng)頁203結(jié)構(gòu)和第三方應(yīng)用40細(xì)節(jié)。第三方應(yīng)用40在包含于不同應(yīng)用并用于同一應(yīng)用中的不同包含實例時還可以具有不同的參數(shù)(如上所述)。這種參數(shù)可以包括唯一實例名稱,其可以用于智能尋址(如下文更詳細(xì)描述的)。還可以理解的是,中心205還可以知道不存儲于屬性表單23中的額外的第三方應(yīng)用40細(xì)節(jié)。
[0121]還可以理解的是,中心205還可以促進(jìn)智能尋址和識別,驗證通信起源,強制通信策略,解決第三方應(yīng)用40非兼容性問題,并還從第三方應(yīng)用40重定向到部件。中心205還可以基于對包含網(wǎng)頁203所做的改變使能動態(tài)更新在第三方應(yīng)用40中的布局,如下文更詳細(xì)描述的。
[0122]現(xiàn)在參考圖1lA和11B,其示出了中心205的不同實現(xiàn)實施例,以及參考圖11C,其示出了其不同元件的功能。
[0123]中心205可以包括智能標(biāo)識符和尋址器310、起源驗證器320、通信策略強制器330、協(xié)議轉(zhuǎn)換器340、重定向器350、動態(tài)布局更新器360、配置管理器370、通用更新器380和托管應(yīng)用編程接口 API包裝器390。將在下文更詳細(xì)描述這些元件的功能??梢岳斫獾氖牵泄δ芏伎蓱?yīng)用于所有的跨域通信信道,例如第三方應(yīng)用40到網(wǎng)站建設(shè)系統(tǒng)30信道和第三方應(yīng)用40到另一第三方應(yīng)用40通道。
[0124]現(xiàn)在參考的圖11A示出了通過中間iframe [a]的中心205的典型實施例,所述中間iframe[a]使用內(nèi)部通信應(yīng)用編程接口(API)來接觸網(wǎng)站建設(shè)系統(tǒng)30。這樣,可以對(例如)從TPA[d]發(fā)送到TPA[e](其分別使用通信API模塊[f]和[g])的消息[c]以施加專用知識的方式進(jìn)行分析、驗證或修改。
[0125]在現(xiàn)在參考的圖1lB中示出的替代實施例不使用中間iframe,但是在(分別嵌入到第三方應(yīng)用[c]和[d]中的)一個或兩個通信API模塊[a]和[b]中使用跨域通信。模塊[a]和[b]直接與網(wǎng)站建設(shè)系統(tǒng)30相互影響,以接收專用知識并在處理通信消息[f]時進(jìn)行處理。該實施例的缺點(與圖1IA所述的實施例比較)在于可以在包含于第三方應(yīng)用中的模塊內(nèi)處理客觀量的網(wǎng)站建設(shè)系統(tǒng)30級別信息,并且可以通過惡意第三方應(yīng)用訪問(或甚至修改)該?目息O
[0126]如上所述,在本文上述描述的所有跨通信方法中,iframe尋址基于iframe的起源,包括來源域、協(xié)議和端口,即,當(dāng)發(fā)送消息(以指定接收方)時以及當(dāng)接收消息(按照提供給接收方的發(fā)送方名稱)時使用直接第三方應(yīng)用40尋址。另外,消息發(fā)送需要發(fā)送方指定目標(biāo)iframe窗口(利用JavaScirpt的document.getElementById( “…” ).contentWindow調(diào)用或任意其它方法)。因此,在現(xiàn)有技術(shù)中,每個第三方應(yīng)用40必須包含任意其它第三方應(yīng)用40利用其可以進(jìn)行通信的全部和特定細(xì)節(jié)(包括域、協(xié)議、端口和iframe ID)。
[0127]可以理解的是,可以在系統(tǒng)100的環(huán)境中不方便地使用這種類型的直接尋址。即使設(shè)計者5可以集成來自多個非協(xié)調(diào)第三方應(yīng)用40供應(yīng)商的第三方應(yīng)用40,第三方應(yīng)用40供應(yīng)商可以供應(yīng)托管在給定域中的第三方應(yīng)用40,但是后續(xù)會將其移動到不同于或子域。第三方應(yīng)用40供應(yīng)商可以改變用于接觸任意給定第三方應(yīng)用的協(xié)議或端口??梢砸笤O(shè)計者5修改包含第三方應(yīng)用40的包含網(wǎng)頁203的設(shè)計。所有這些可以發(fā)生于在由多個用戶操作和訪問的網(wǎng)站中使用的第三方應(yīng)用40內(nèi)。另外,單個包含網(wǎng)頁203可以包括一個第三方應(yīng)用40的多個實例,其可以服務(wù)多個功能。例如,在產(chǎn)品支持網(wǎng)絡(luò)站點中的單個頁面包含兩個聊天第三方應(yīng)用40實例一一個用于用戶-用戶和論壇,另一個在可用時用于與供應(yīng)商的客服人員交談。
[0128]可以理解的是,尋址器和標(biāo)識符310可以完全知道包含網(wǎng)頁203的結(jié)構(gòu)以及第三方應(yīng)用40的細(xì)節(jié)(如第三方應(yīng)用40供應(yīng)商提供給網(wǎng)站建設(shè)系統(tǒng)30的)。尋址器和標(biāo)識符310可以利用以下中任一種彼此提供來源或目標(biāo)第三方應(yīng)用40的尋址:第三方應(yīng)用40唯一名稱(如在AppStore 25中注冊的);添加到在包含網(wǎng)頁203內(nèi)的每個第三方應(yīng)用40實例上的第三方應(yīng)用40實例描述ID,從而允許同一第三方應(yīng)用40的多個實例的尋址;用于所要求的第三方應(yīng)用類型/類別的通用標(biāo)識符(例如,“我想要將消息<x>發(fā)送給在包含網(wǎng)頁203中的任意事件記錄第三方應(yīng)用40實例”)。這種標(biāo)識符還可以描述應(yīng)該由第三方應(yīng)用40支持的特定服務(wù)。尋址器和標(biāo)識符310還可以使用版本識別例如:“我想要將事務(wù)<x>發(fā)送給計數(shù)包<y>的實例,但僅在其是版本<z>時”。
[0129]可以理解的是,在運行時期間,第三方應(yīng)用40僅與中心205通信,并因此只需要知道中心205的直接地址,而無需知道任意其它第三方應(yīng)用40。這種單向地址可以通過由網(wǎng)站建設(shè)系統(tǒng)30提供給第三方應(yīng)用40提供商的通信API包裝器(例如,如圖1lA所示的通信模塊f和g,以及如圖1lB所示的通信模塊a和b)進(jìn)行封裝。調(diào)用第三方應(yīng)用40可以提供應(yīng)用感知第三方應(yīng)用40描述性地址(如上所述),并且尋址器和標(biāo)識符310可以將其轉(zhuǎn)換為直接第三方應(yīng)用40地址并進(jìn)行路由。這樣,第三方應(yīng)用40不需要維持與其通信的所有可能第三方應(yīng)用40的絕對地址的表。
[0130]可以理解的是,消息起源驗證是關(guān)鍵的,否則接收第三方應(yīng)用40可能接收來自敵對第三方應(yīng)用40的消息。因為所有的通信可以經(jīng)由中心205發(fā)生,所以起源驗證器320可以檢查從第三方應(yīng)用進(jìn)入的所有消息的真實性。起源驗證器320還可以提供可以添加到消息上并可以用于進(jìn)行額外驗證的額外信息??梢岳斫獾氖?,因為在AppSotre 25中包括并由系統(tǒng)100使用的每個第三方應(yīng)用40注冊到網(wǎng)站建設(shè)系統(tǒng)30中,所以中心205可以驗證網(wǎng)站建設(shè)系統(tǒng)30是否在消息中包含的唯一起源ID與消息起源(域、端口等)匹配。
[0131]第三方應(yīng)用40可以定義通用通信策略,其可以取決于外部信息、包含網(wǎng)頁203信息等。通信強制器330可以確保強制執(zhí)行討論中的通信策略,而不必處理非復(fù)合通信。例如,在經(jīng)分類的信息處理網(wǎng)站中,第三方應(yīng)用可以在其簡檔中標(biāo)記有分類級別字段。被證明為分類級別X的提供后端事件記錄數(shù)據(jù)庫的第三方應(yīng)用40可以定義策略,由此不接受注冊具有比X大的分類級別的事件。在這種情況下,通信強制器330可以執(zhí)行所要求的預(yù)備過濾,并高度防止經(jīng)分類的消息甚至到達(dá)較低分類的應(yīng)用。
[0132]可以理解的是,設(shè)計者5可能希望在同一創(chuàng)造的網(wǎng)站中包括可以合作的兩個(或更多)第三方應(yīng)用,但是由于一些協(xié)議兼容性問題而實際不能如此。例如,如現(xiàn)在參考的圖12所示,電子商店第三方應(yīng)用[a]可能能夠?qū)①徺I訂單消息發(fā)送到履行和運輸?shù)谌綉?yīng)用,例如(不同供應(yīng)商所提供的)第三方應(yīng)用[b]。然而,第三方應(yīng)用[a]所提供的信息可能不包括第三方應(yīng)用[b]所要求的一些字段。這種情況通常由所涉及的第三方應(yīng)用的第三方應(yīng)用供應(yīng)商來解決,但是在一些情況下,這種解決方案是不可行的(例如,兩個第三方應(yīng)用之一由于一些原因當(dāng)前未更新)。協(xié)議轉(zhuǎn)換器340可以將相關(guān)的消息從[a]轉(zhuǎn)換到[b](例如,通過提供額外所需要的字段)。這種轉(zhuǎn)換可以由協(xié)議轉(zhuǎn)換器340執(zhí)行,或者可能涉及與嵌入式網(wǎng)站和包含網(wǎng)頁203的一些交互(例如,當(dāng)需要額外的信息時)。
[0133]還將意識到的是,第三方應(yīng)用40可以具有要求從另一第三方應(yīng)用40(例如,如上所述的電子商店/履行第三方應(yīng)用40對)發(fā)送或接收消息的一些能力。然而,在一些情況下,可能丟失一部分解決方案,在上述例子中,可能發(fā)生不存在匹配或適當(dāng)?shù)穆男械谌綉?yīng)用40。在這種情況下,重定向器350可以允許設(shè)計者5指定給定的消息可以路由到或路由自包含網(wǎng)頁203部件,并且可以通過包含網(wǎng)頁203部件和部件可以提供的功能來解決匹配能力。這可以允許構(gòu)造完全網(wǎng)站,而不要求構(gòu)造專用第三方應(yīng)用40。因此,可以將事物公布到網(wǎng)站建設(shè)系統(tǒng)30部件,其可以將事物記錄到數(shù)據(jù)庫,并且所述數(shù)據(jù)庫稍后可以(由單獨的程序)用于執(zhí)行離線履行和運輸。
[0134]第三方應(yīng)用40可以提供多個配置,具有不同能力,利用相同的代碼基但是具有不同的啟用功能。例如,第三方應(yīng)用40可以通過自由版本提供基本功能,并且通過購買的高級版本、多個付費版本或額外的購買的第三方應(yīng)用40特征提供額外功能。
[0135]可以理解的是,系統(tǒng)100可以包括每個用戶(或?qū)嶋H上每個設(shè)計者)第三方應(yīng)用40購買狀態(tài)的基于網(wǎng)站建設(shè)系統(tǒng)30的管理。還可以理解的是,設(shè)計者都可以是注冊的網(wǎng)站建設(shè)系統(tǒng)30用戶,并且網(wǎng)站建設(shè)系統(tǒng)30因此可以管理每個設(shè)計者5的第三方應(yīng)用40購買的數(shù)據(jù)庫。該信息可以通過TPA協(xié)調(diào)器24在涉及階段期間以及通過配置管理器370在運行時期間存儲于屬性表單23中。例如,第三方應(yīng)用40可以向網(wǎng)站建設(shè)系統(tǒng)30客戶端側(cè)元件發(fā)送版本查詢消息。網(wǎng)站建設(shè)系統(tǒng)30客戶端側(cè)元件可以與庫22或與其本地高速緩存副本咨詢,并向第三方應(yīng)用40返回具有關(guān)于其應(yīng)該提供的能力的信息的響應(yīng)消息。
[0136]在替代實施例中,網(wǎng)站建設(shè)系統(tǒng)30可以經(jīng)由替代信道為第三方應(yīng)用40提供所要求的第三方應(yīng)用40配置信息,例如加密的iframe參數(shù),而無需先前的查詢消息。
[0137]如上文所討論的,第三方應(yīng)用40可以與特定包含網(wǎng)頁203部件直接通信。第三方應(yīng)用40可以以多種方式識別進(jìn)行通信的部件:針對基于相關(guān)聯(lián)模板的部件直接地(將在下文更詳細(xì)描述);通過由設(shè)計者5明確地提供給特定包含網(wǎng)頁203部件的訪問ID;通過遍歷由包含網(wǎng)頁203提供給第三方應(yīng)用40的(可能選擇的)部件模型。
[0138]可以理解的是,在運行時期間,更新器380可以實現(xiàn)在包含網(wǎng)頁203部件和第三方應(yīng)用40之間的消息和響應(yīng)。例如,第三方應(yīng)用40可以影響或查詢包含網(wǎng)頁203部件的視覺和顯示屬性(例如,其位置、尺寸、顏色、透明度等)。更新器380還可以使能第三方應(yīng)用40讀取或?qū)懭氚W(wǎng)頁203部件的內(nèi)容,并還可以允許第三方應(yīng)用40指導(dǎo)執(zhí)行媒體功能的部件,例如,發(fā)布給定音頻或視頻片段到媒體播放器部件,或要求其暫停播放達(dá)給定時間段。
[0139]更新器380還便于網(wǎng)站建設(shè)系統(tǒng)30部件指定它們允許第三方應(yīng)用40具有的訪問類型一類似于在現(xiàn)代操作系統(tǒng)中保護(hù)文件的訪問許可位或訪問控制列表(ACL)功能??梢詾槊總€部件定義這種許可,以便針對來自特定供應(yīng)商的所有第三方應(yīng)用40或針對特定第三方應(yīng)用40而應(yīng)用。例如,可以允許第三方應(yīng)用40訪問在第三方應(yīng)用40外部的包含網(wǎng)頁203的一部分的文本字段。該文本字段可以用于針對博客第三方應(yīng)用40編輯博客條目,提供比在博客第三方應(yīng)用40區(qū)域本身內(nèi)所提供的更多的屏幕空間??梢岳斫獾氖?,針對嵌入到在多個頁面容器中的特定迷你頁面中的第三方應(yīng)用40,網(wǎng)站建設(shè)系統(tǒng)30可以限制第三方應(yīng)用40獨自對在特定迷你頁面中的部件的訪問。
[0140]可以理解的是,更新器380還可以允許第三方應(yīng)用40影響站點全局元件。這可以包括獲得并設(shè)置屬性,例如站點中的當(dāng)前頁面、在容器包含第三方應(yīng)用40中的當(dāng)前迷你頁面以及頁面歷史。更新器380還可以過濾或限制這種請求。
[0141]更新器380還可以使得網(wǎng)站建設(shè)系統(tǒng)30影響第三方應(yīng)用40的風(fēng)格和顯示。更新器380可以實現(xiàn)調(diào)用,網(wǎng)站建設(shè)系統(tǒng)30可以通過該調(diào)用向第三方應(yīng)用40提供格式化和風(fēng)格指南。這些可以包括如下屬性:顏色和顏色方案,字體,字符大小,透明度,動畫和特殊效果(例如,模糊)。特別地,顏色方案可以包括通用顏色方案(例如,使用下述X顏色),或者作為高級顏色(例如,對文本使用顏色X,對框架使用顏色y)。
[0142]可以理解的是,表達(dá)復(fù)雜風(fēng)格信息的一種優(yōu)選方法是使用層疊樣式表單(CSS),其可以表達(dá)多種風(fēng)格指示的組合,包括字體、大小、顏色等。更新器380可以將這種基于CSS的消息發(fā)送給第三方應(yīng)用40。風(fēng)格表單本質(zhì)上是通用的,或者包括由第三方應(yīng)用40定義的特定風(fēng)格名稱,從而網(wǎng)站建設(shè)系統(tǒng)30可以為第三方應(yīng)用40提供更好的指南(例如,風(fēng)格表單可以指的是特定第三方應(yīng)用40元件并為其提供指南)。
[0143]然后,第三方應(yīng)用40可以使用這些指南來制造其自己的外觀和感覺并更好適應(yīng)包含網(wǎng)頁203。這對于包含于相同站點或從相同站點中的多個包含網(wǎng)頁203可見的第三方應(yīng)用40是尤其重要的(上述多端口包含)。多個包含頁面可以采用不同的顏色方案或一般設(shè)計。第三方應(yīng)用40可以使用通過這些風(fēng)格消息提供給其的信息,并適配其自己的顯示顏色和風(fēng)格以更好地適應(yīng)每個包含頁面,并避免與包含頁面相比顯示不和諧顏色方案或外觀以及感覺。
[0144]可以理解的是,動態(tài)布局更新器360可以使得網(wǎng)站建設(shè)系統(tǒng)30/第三方應(yīng)用40或第三方應(yīng)用40和次級第三方應(yīng)用合作能夠處理由動態(tài)布局事件引起的顯示變化。網(wǎng)站建設(shè)系統(tǒng)30可以改變頁面中部件的大小和位置,以便防止頁面設(shè)計處于改變頁面中的一些部件的事件中。這些動態(tài)部件事件例如可以包括:在具有不同尺寸的屏幕上查看網(wǎng)站;在肖像和風(fēng)景模式之間旋轉(zhuǎn)顯示設(shè)備;改變一些部件的尺寸或位置以及改變給定部件的內(nèi)容(以要求它們改變其尺寸的方式)。動態(tài)布局事件還可以包括由(例如,在來自數(shù)據(jù)饋送的部件顯示信息中的)基于服務(wù)器的內(nèi)容更新引起的部件更新,或由于相同網(wǎng)站的另一并發(fā)用戶的內(nèi)容改變引起的部件更新。還可以理解的是,動態(tài)布局事件可以發(fā)生于設(shè)計環(huán)境以及運行時環(huán)境中。特別地,一些部件和第三方應(yīng)用40可以允許在運行時期間(S卩,通過終端用戶)而不是僅通過設(shè)計者進(jìn)行部件內(nèi)容變化或尺寸/位置變化。
[0145]還可以理解的是,動態(tài)布局事件還可以由第三方應(yīng)用40引起。例如,電子商店第三方應(yīng)用40可以在用戶從產(chǎn)品目錄視圖移動到(具有不同尺寸的)購物車視圖時要求尺寸改變。又如,產(chǎn)品目錄第三方應(yīng)用40可以包括用于產(chǎn)品突出性的選項,其可以使得它們顯示包括更多內(nèi)容的較大的目錄頁面。第三個例子是多區(qū)域第三方應(yīng)用40,其可以開始或停止顯示額外區(qū)域。
[0146]現(xiàn)有的系統(tǒng)通常在如返回當(dāng)前參考的圖6所示彈出窗口隱藏其它頁面部件時通過剪輯第三方應(yīng)用顯示、向其添加滾動條或僅調(diào)整其大小來處理這種情形(如果發(fā)生的話)。動態(tài)布局更新器360可以實現(xiàn)合作動態(tài)部件,其中網(wǎng)站建設(shè)系統(tǒng)30和第三方應(yīng)用40合作執(zhí)行動態(tài)布局并保持包含網(wǎng)頁203的基本設(shè)計。動態(tài)布局的功能被進(jìn)一步在2013年2月20日提交并指定為本發(fā)明的共同受讓人的美國專利應(yīng)用13/771,119中描述。然而,即使在合作動態(tài)部件支持系統(tǒng)中,包含網(wǎng)頁203中的動態(tài)布局機制對第三方應(yīng)用40的內(nèi)部布局不具有完全控制。此外,可以設(shè)計網(wǎng)站建設(shè)系統(tǒng)30微件,從而可以對它們調(diào)整大小到(在給定范圍內(nèi)的)任意隨意尺寸,但是第三方應(yīng)用40不能支持隨意調(diào)整大小。第三方應(yīng)用40例如可以提供以下項的任意組合:具有不同尺寸的多個顯示配置(例如,顯示更多或更少細(xì)節(jié));調(diào)整其一些內(nèi)部元件大小的能力,以及利用多個字體尺寸顯示其一些內(nèi)部文本元件的能力。
[0147]第三方應(yīng)用40仍提供有限數(shù)量的可能的顯示尺寸,并可以具有可能尺寸的整個范圍。因此,[包含網(wǎng)頁203—第三方應(yīng)用40]調(diào)整大小請求可以由第三方應(yīng)用40解決切換到最近的可能尺寸,或者通過提供可能的第三方應(yīng)用40尺寸的列表(并允許網(wǎng)站建設(shè)系統(tǒng)30選擇合適的一個進(jìn)行使用)解決。
[0148]動態(tài)布局更新器360可以利用以下序列實現(xiàn)[包含網(wǎng)頁203—第三方應(yīng)用40]合作動態(tài)布局:
[0149]例如,在包含網(wǎng)頁203中嵌入的第三方應(yīng)用40不需要被調(diào)整大小到給定的期望尺寸(列,X1*Y1像素)。動態(tài)布局更新器360可以向第三方應(yīng)用40發(fā)送消息請求第三方應(yīng)用40調(diào)整其內(nèi)容的大小到給定的期望尺寸(Χ1*Υ1)。第三方應(yīng)用40可以調(diào)整到所述尺寸一一通過使用替代顯示配置、內(nèi)部調(diào)整大小、內(nèi)部動態(tài)布局處理或任意其它方式。還可以理解的是,包含網(wǎng)頁203可以將包含第三方應(yīng)用40的外部iframe窗口調(diào)整大小到新的尺寸(XI*Yl) ο
[0150]還可以理解的是,第三方應(yīng)用40可以僅允許調(diào)整大小到可能尺寸的有限集合(例如,特定的用戶接口配置)。因此,動態(tài)布局更新器360可以使用下列替代算法,其允許第三方應(yīng)用40提供可能的尺寸集合。
[0151]包含網(wǎng)頁203被調(diào)整大小,并且動態(tài)布局更新器360向第三方應(yīng)用40發(fā)送消息請求第三方應(yīng)用40調(diào)整其內(nèi)容的大小到給定的期望尺寸(X1*Y1)。第三方應(yīng)用40然后可以確定最近的可能尺寸(例如,Χ2*Υ2像素),并因此通過使用替代顯示配置、內(nèi)部調(diào)整大小、內(nèi)部動態(tài)布局處理或任意其它方式進(jìn)行調(diào)整大小。更新器380然后向包含網(wǎng)頁203發(fā)送確認(rèn)調(diào)整大小的響應(yīng)消息,并提供實際的新尺寸(Χ2*Υ2)。包含網(wǎng)頁203可以對包含第三方應(yīng)用40的外部iframe窗口調(diào)整大小到實際的新尺寸(Χ2*Υ2)。包含網(wǎng)頁203可以基于實際的新尺寸(Χ2*Υ2)繼續(xù)動態(tài)布局處理。
[0152]可以理解的是,另一實施例也是可應(yīng)用的,尤其當(dāng)在包含網(wǎng)頁203中存在多個第三方應(yīng)用40(或多區(qū)域多個第三方應(yīng)用40)時。在該實施例中,包含網(wǎng)頁203可以查詢嵌入的第三方應(yīng)用40以獲得顯示尺寸的列表,從而它們可以試圖考慮用于多個第三方應(yīng)用40的多個選項來優(yōu)化外觀和感覺。該實施例在第三方應(yīng)用40在多個區(qū)域上顯示的情況下也是相關(guān)的。
[0153]包含網(wǎng)頁203可以執(zhí)行動態(tài)布局處理,發(fā)現(xiàn)一個或多個第三方應(yīng)用40(ΤΡΑ[ I]到ΤΡΑ[η])嵌入在包含網(wǎng)頁203內(nèi),并應(yīng)該使用下列算法調(diào)整大小:
[0154]Loop on i from I to η:
[0155]For each TPA[i]determine
[0156]The minimal size Xmin[i]*Ymin[i];
[0157]The maximal size Xman[i]*Ymanx[i];
[0158]The optimal size Xopt[i]*Yopt[i];
[0159]動態(tài)布局更新器360可以向TPA[i]發(fā)送消息,詳述上述min/max/opt尺寸,并請求關(guān)于可能的第三方應(yīng)用40尺寸的信息。
[0160]第三方應(yīng)用40可以向動態(tài)更新器380提供一組可能的尺寸選項,其可以假設(shè)Xposs[i][j]*Yposs[i][j]。
[0161]基于以上收集的Xp0SS[][]/Yp0SS□□信息,通過使用(例如)所有可能的第三方應(yīng)用尺寸組合的全面評價、線性編程技術(shù)或動態(tài)布局算法使用的任意其它技術(shù),包含網(wǎng)頁203可以計算動態(tài)布局計算的解。
[0162]為所有TPA 在 Xf inal [ i]/Yfinal [ i ]中存儲結(jié)果。
[0163]Loop on i from I to η:
[0164]包含網(wǎng)頁203然后可以將調(diào)整大小消息以及乂打肪1[丨]八打肪1[丨]發(fā)送給了?4[1];
[0165]包含網(wǎng)頁203將包含TPA[ i]的外部iframe窗口調(diào)整大小到Xf inal[ i]/Yfinal[ i];
[0166]基于實際的新尺寸,包含網(wǎng)頁203繼續(xù)動態(tài)布局處理。
[0167]可以理解的是,動態(tài)布局處理可以通常要求移動第三方應(yīng)用40并不僅對其調(diào)整大小。然而,第三方應(yīng)用40應(yīng)該對其在包含網(wǎng)頁203內(nèi)的框架的準(zhǔn)確位置不變。
[0168]如上文所討論的,第三方應(yīng)用40還需要不時地改變其顯示窗口尺寸。因為顯示iframe的窗口的尺寸由托管頁面(S卩,包含網(wǎng)頁203)所管理,所以第三方應(yīng)用40窗口尺寸變化必須由包含網(wǎng)頁203所執(zhí)行一一第三方應(yīng)用40(經(jīng)由動態(tài)布局更新器360)從包含網(wǎng)頁203請求改變窗口尺寸。
[0169]還可以理解的是,第三方應(yīng)用40還可以(經(jīng)由動態(tài)布局更新器360)請求改變其在包含網(wǎng)頁203內(nèi)的位置。這可能不內(nèi)部地(如尺寸變化那樣)影響第三方應(yīng)用40,但是要求在包含網(wǎng)頁203內(nèi)的顯示變化。動態(tài)布局更新器360可以集成該請求與動態(tài)布局。包含網(wǎng)頁203可以激活動態(tài)布局更新器360,以改變第三方應(yīng)用40窗口尺寸(以及可能地改變其位置),并確認(rèn)尺寸和位置變化回第三方應(yīng)用40。
[0170]可以理解的是,中心205還可以實現(xiàn)額外的第三方應(yīng)用40類別專用或第三方應(yīng)用專用消息,通過該消息,網(wǎng)站建設(shè)系統(tǒng)30自身、特定包含網(wǎng)站203或次級第三方應(yīng)用40可以影響第三方應(yīng)用40。例如,博客第三方應(yīng)用40可以定義輸入消息,其可以發(fā)布新的博客條目,或者新的對當(dāng)前博客條目的對話。這種消息可以由包含網(wǎng)頁203使用(例如,作為從在第三方應(yīng)用區(qū)域外部的較大編輯字段發(fā)布博客條目)。其還可以用于更高級別的應(yīng)用到應(yīng)用鏈接,例如,允許支持第三方應(yīng)用以向博客第三方應(yīng)用發(fā)布博客條目。
[0171]可以理解的是,第三方應(yīng)用40通常要求多種復(fù)雜服務(wù)一用于第三方應(yīng)用40內(nèi)部使用,或者用于由設(shè)計者使用在其站點處的第三方應(yīng)用40的下游使用。這種服務(wù)可以包括用戶管理、記賬和運輸管理。網(wǎng)站建設(shè)系統(tǒng)30供應(yīng)商可能不能提供這種服務(wù)作為網(wǎng)站建設(shè)系統(tǒng)的一部分(例如,由于技術(shù)或商業(yè)考量)。此外,這些服務(wù)可能不適于獨立地“封裝”為第三方應(yīng)用40。另外,第三方應(yīng)用40供應(yīng)商可能需要選項來利用第三方應(yīng)用40(例如,多個第三方記賬API)為設(shè)計者提供多個這種服務(wù),并允許設(shè)計者5選擇合適的一個用于其使用。
[0172]例如,可以在網(wǎng)站建設(shè)系統(tǒng)30中提供Paypal?托管API,并且可以直接由第三方應(yīng)用40使用或者由第三方應(yīng)用40將其提供給設(shè)計者5來使用它。第三方應(yīng)用40還可以提供其自己的選項集合(即,使用特定的記賬類型,如一次性、循環(huán)或收益分享),并通過調(diào)用所托管的Paypal API實現(xiàn)這些選項。
[0173]因此,利用網(wǎng)站建設(shè)系統(tǒng)30的設(shè)計者5可以開發(fā)特定提供(例如,售賣歌曲的電子商店),其使用預(yù)開賬單。設(shè)計者5可以通過使用托管的記賬API—一直接或通過第三方應(yīng)用40提供額外的抽象級別(或?qū)?一一而避免與記賬API提供商談判特定的結(jié)算或批發(fā)合同。在這種情況下,網(wǎng)站建設(shè)系統(tǒng)30可以成為托管API供應(yīng)商的經(jīng)銷商。
[0174]托管API包裝器390可以促進(jìn)在系統(tǒng)的不同部分(例如,網(wǎng)站建設(shè)系統(tǒng)30,托管的API代碼和所包含的第三方應(yīng)用40)之間的該通信??梢岳斫獾氖牵珹PI包裝器層和實際的API實現(xiàn)可以駐留在網(wǎng)站建設(shè)系統(tǒng)30本身或者另一第三方應(yīng)用40中。第三方應(yīng)用40供應(yīng)商(或設(shè)計者5)可以通過托管的API包裝器390使用托管的API,而無需知道實際基本API的實現(xiàn)方式。
[0175]在本發(fā)明的替代和補充實施例中,
【申請人】還認(rèn)識到在網(wǎng)站建設(shè)系統(tǒng)30以及一個或多個第三方應(yīng)用40之間的智能集成還可以通過使用集成模型實現(xiàn),在該集成模型中,額外的網(wǎng)站建設(shè)系統(tǒng)模板和部件與在AppStore 25的級別處的第三方應(yīng)用以及與相關(guān)的第三方應(yīng)用實例相關(guān)聯(lián)。第三方應(yīng)用40還可以與這些部件(以及不相關(guān)聯(lián)的部件)通信,以交換數(shù)據(jù)和控制消息。如上文所述,在包含網(wǎng)頁203內(nèi)的第三方應(yīng)用區(qū)域40是單獨的iframe,其內(nèi)容托管于單獨的域中(第三方應(yīng)用供應(yīng)商或其它)一一不同于托管主站點的域。因此,在不同iframe之間的通信經(jīng)受瀏覽器的“相同來源策略”并要求使用如上所述的技術(shù)。
[0176]現(xiàn)有的系統(tǒng)將第三方應(yīng)用40實現(xiàn)為整體地、剛性對象,其包含于包含網(wǎng)頁203中,但是不影響包含網(wǎng)頁203本身的外觀和感覺。第三方40實例放置在(通常是矩形的)區(qū)域中,并在該區(qū)域內(nèi)執(zhí)行其所有的活動。
[0177]
【申請人】還認(rèn)識到,根據(jù)本發(fā)明的實施例,可以通過使得(可選)額外的網(wǎng)站建設(shè)系統(tǒng)30模板與第三方應(yīng)用40相關(guān)聯(lián)(被稱作相關(guān)聯(lián)模板)來擴展該概念。還可以理解的是,該關(guān)聯(lián)可以在開發(fā)和公布第三方應(yīng)用40期間執(zhí)行,并且可以作為(從AppStore 25的)第三方應(yīng)用40選擇/購買過程以及第三方應(yīng)用40實例創(chuàng)建的一部分呈現(xiàn)給設(shè)計者5 JPA協(xié)調(diào)器24可以取回與第三方應(yīng)用40相關(guān)聯(lián)的模板(作為AppSotre 25管理的應(yīng)用庫的一部分或者由第三方應(yīng)用40供應(yīng)商提供),并可以將所述模板存儲于庫22中以供后續(xù)使用,如上所述。
[0178]可以理解,系統(tǒng)100可以支持公開具有多個相關(guān)聯(lián)模板的第三方應(yīng)用40—一允許設(shè)計者5選擇最適于其使用的模板。
[0179]可以理解的是,當(dāng)在任意包含網(wǎng)頁203中創(chuàng)建第三方應(yīng)用40的實例時,在相關(guān)聯(lián)模板中的部件可以與包含網(wǎng)頁203合并,并且可以與在包含網(wǎng)頁203中的任意其它部件一起顯不O
[0180]現(xiàn)在參考圖13,其示出了根據(jù)本發(fā)明實施例的相關(guān)聯(lián)模板的使用的例子。如圖所示,第三方應(yīng)用[a]與包括部件[d]和[e]相關(guān)聯(lián)模板[c] 一起放置于AppSt0re[b]中。還可以理解的是,當(dāng)?shù)谌綉?yīng)用[a]包括于包含網(wǎng)頁203[f]時,第三方應(yīng)用[a]可以在頁面[f]內(nèi)的其指定區(qū)域[g]中顯示,并且部件[d]和[e]的實例[d’]和[e’]可以與現(xiàn)有部件[h]和[i]一起顯示在頁面[f]上。
[0181]可以理解的是,系統(tǒng)100可以支持相關(guān)聯(lián)模板部件實例(例如,上述[d’]和[e’])放置在包含網(wǎng)頁203[f]內(nèi)的多種方式。這些可以包括:絕對布置(S卩,利用在用于原始[d]和[e]的相關(guān)聯(lián)模板[c]中指定的尺寸和位置);目標(biāo)相關(guān)放置(S卩,根據(jù)包含網(wǎng)頁203[f]調(diào)整新實例[d’]和[e’]的尺寸和位置);以及第三方應(yīng)用40相對放置(S卩,相對于針對包含網(wǎng)頁203[幻內(nèi)的第三方應(yīng)用實例匕]的尺寸和位置,挑中新實例[(1’]和[^]的尺寸和位置)。確定特定放置方法可以基于與相關(guān)聯(lián)模板[c] 一起被包括的設(shè)置進(jìn)行,可能允許設(shè)計者5對其進(jìn)tx覆與。
[0182]還可以理解的是,設(shè)計者5可以修改繼承自模板[c]的部件[d]和[e]的[f]中的實例。改變可能僅應(yīng)用于使用在[f]中的[d]和[e](并可能繼承自支持頁面間繼承的網(wǎng)站建設(shè)系統(tǒng)30的頁面),但是可能不影響與在AppSotre[b]中的第三方應(yīng)用[a]相關(guān)聯(lián)的“原始”模板[C]。
[0183]可以理解的是,上述對[d]和[e]實例的改變可能尤其包括將特定內(nèi)容(文本、圖像等)分配給字段實例,并且常規(guī)屬性改變。還可以理解的是,如果第三方應(yīng)用40包含于迷你頁面內(nèi),則相關(guān)聯(lián)的模板被應(yīng)用于包括第三方應(yīng)用40的特定迷你頁面,如現(xiàn)在參考的圖14所示。如圖所示,第三方應(yīng)用40包含于迷你頁面[X]中,因此將部件[c]和[d]添加到[X]上,但是不調(diào)點到同一多頁面容器[g]的額外迷你頁面[y]和[z]上。
[0184]還可以理解的是,對于區(qū)段類型的迷你頁面,相關(guān)聯(lián)的模板(如果有的話)被應(yīng)用于被創(chuàng)建以包含第三方應(yīng)用40的虛擬(和空的)包含網(wǎng)頁203中。
[0185]在替代實施例中,預(yù)先創(chuàng)建的相關(guān)聯(lián)模板可以被應(yīng)用于新創(chuàng)建的頁面戶迷你頁面中,其與所包括的包含網(wǎng)頁203“平行”。可以通過模板初始化該新創(chuàng)建的頁面或迷你頁面,之后再按照需要進(jìn)行修改。
[0186]網(wǎng)站建設(shè)系統(tǒng)30還可以允許多端口包含,在其中相同的第三方應(yīng)用40實例從主站點的多個頁面可見并且“駐留”在所述多個頁面中。這不同于給定第三方應(yīng)用40在主站點的多個包含,所述主站點創(chuàng)建了第三方應(yīng)用40的多個實例。(實例特定的)第三方應(yīng)用40內(nèi)容因此在相同多端口第三方應(yīng)用40的多個視圖之間共享。
[0187]在這種多端口包含中,可以將相關(guān)聯(lián)的模板單獨施加于添加了第三方應(yīng)用40的頁面和迷你頁面的每一個上。
[0188]如上文所述,系統(tǒng)100可以提供在第三方應(yīng)用40和包含網(wǎng)頁203中的部件之間的2路通信鏈路。可以理解的是,這包括由合并來自第三方應(yīng)用的相關(guān)聯(lián)模板造成的包含網(wǎng)頁203部件,以及與任何這種相關(guān)聯(lián)模板不相關(guān)的模板。
[0189]因此,可以理解的是,第三方應(yīng)用40供應(yīng)商通常可以創(chuàng)建與由供應(yīng)商生產(chǎn)的第三方應(yīng)用40相關(guān)聯(lián)的多個模板。除了實際被分布的模板(S卩,與當(dāng)前分布的第三方應(yīng)用版本相關(guān)聯(lián))外,這些模板還可以包括測試、開發(fā)和其它模板。
[0190]如上文所述,第三方應(yīng)用40可以通過AppStore 25分布,并還可以通過不相關(guān)的替代信道分布或由網(wǎng)站建設(shè)系統(tǒng)30供應(yīng)商管理。然而,與第三方應(yīng)用40—起分布的相關(guān)聯(lián)模板可能與應(yīng)用庫22高度相關(guān)并與其耦合,因為它們是利用部件、基礎(chǔ)模板和網(wǎng)站建設(shè)系統(tǒng)30管理的其它元件建設(shè)的。
[0191]此外,在這種單獨分布的相關(guān)聯(lián)模板下的網(wǎng)站建設(shè)系統(tǒng)30元件可能不得不被修改或刪除,這可能“破壞”相關(guān)聯(lián)的模板。為了解決這個問題,系統(tǒng)100可以在應(yīng)用庫22內(nèi)的單獨區(qū)域(可能每個第三方應(yīng)用40供應(yīng)商)中實現(xiàn)這些相關(guān)聯(lián)的模板。網(wǎng)站建設(shè)系統(tǒng)30可以用與其它網(wǎng)站建設(shè)系統(tǒng)30模板相同的方式管理這些模板。
[0192]還可以理解的是,可以為第三方應(yīng)用40供應(yīng)商提供用于每個創(chuàng)建牡丹的唯一ID(開發(fā)ID),并可以在第三方應(yīng)用40開發(fā)和測試過程期間使用該ID。一旦將要公布/分布第三方應(yīng)用40,則可以要求第三方應(yīng)用40供應(yīng)商申請和接收替代的唯一ID(公布ID),并可以在公布的第三方應(yīng)用40中引用該ID。一旦提供了公布ID,則創(chuàng)建單獨鎖定的模板副本。這是由第三方應(yīng)用40參考并在創(chuàng)建第三方應(yīng)用40的實例時使用的副本。這樣,第三方應(yīng)用40供應(yīng)商不能錯誤地修改與(正被設(shè)計者包括的)“現(xiàn)場”第三方應(yīng)用40相關(guān)聯(lián)的模板,并且保留參照完整性。此外,系統(tǒng)100可以交叉引用在這種鎖定模板與根本部件和基礎(chǔ)模板之間的關(guān)系。例如,當(dāng)修改網(wǎng)站建設(shè)系統(tǒng)30部件或包含于這種鎖定模板內(nèi)的基本模板(并且這種修改可能以某種方式破壞模板或第三方應(yīng)用40)時,這種交叉引用可以用于向網(wǎng)站建設(shè)系統(tǒng)30職員提供警告。
[0193]因此,系統(tǒng)100可以在第三方應(yīng)用40、包含網(wǎng)頁203內(nèi)的部件以及網(wǎng)站建設(shè)系統(tǒng)30之間提供雙向通信信道。包含網(wǎng)頁203部件可以基于與第三方應(yīng)用相關(guān)聯(lián)的模板,基于其它網(wǎng)站建設(shè)系統(tǒng)30模板,或者與任何模板都不相關(guān)。
[0194]如上文所討論的,通信中心205可以促進(jìn)通信,并可以提供在包含網(wǎng)頁和任意第三方應(yīng)用40之間的反向通道。
【申請人】還認(rèn)識到在包含網(wǎng)頁和任意第三方應(yīng)用40之間前向和后向移動的數(shù)據(jù)一旦被收集、處理和集成將是有用的。
[0195]例如,網(wǎng)站擁有者需要管理其每個站點用戶群體或成員,其不同于相關(guān)網(wǎng)站建設(shè)系統(tǒng)30的注冊用戶基礎(chǔ)。網(wǎng)站用戶可以注冊或不注冊(匿名),并且網(wǎng)站可以對不同級別的用戶提供不同級別的能力。此外,用戶通??梢蕴峁﹤€人或聯(lián)系人信息(即使是匿名用戶),例如,聯(lián)系人表格中的數(shù)據(jù),當(dāng)它們激活即時消息軟件以連續(xù)站點擁有者時,或者當(dāng)它們連接到作為與站點一起工作的一部分的社交網(wǎng)絡(luò)上時。可以理解的是,可以之間將該信息輸入到所創(chuàng)建的站點,或者可以作為與嵌入到站點內(nèi)的第三方應(yīng)用40交互的一部分而可用。
[0196]還可以理解的是,這些信息可能是未組織的、不相關(guān)的、潛在矛盾的并且多次根本未保存。例如,單個給定用戶可以在(由站點直接操作的)聯(lián)系人表格上輸入他的個人電子郵件,并在同一會話中在(由第三方應(yīng)用40操作的)單獨的訂閱表格中輸入他的工作電子郵件。
[0197]此外,那些“漂浮”的信息可以包括對其使用的不同許可。例如,在定于表格中填上電子郵件地址的用戶完全期望接收它們訂閱的基于電子郵件的訂閱以及可能相關(guān)的電子郵件簡報。在另一方面,提供電子郵件地址作為注冊ID的用戶可能除與他的賬戶處理、安全警告等有關(guān)的電子郵件之外,不希望在其注冊地址接收任何電子郵件。
[0198]現(xiàn)在參考圖15,其示出了系統(tǒng)200,用于協(xié)調(diào)和收集來自在網(wǎng)站建設(shè)系統(tǒng)30與一個或多個嵌入式第三方應(yīng)用40之間交換的不同消息的數(shù)據(jù)。系統(tǒng)200包括安裝在客戶端220中的客戶端中心210,以及安裝在服務(wù)器260中的服務(wù)器中心230、聯(lián)系人協(xié)調(diào)器240、活動協(xié)調(diào)器250、聯(lián)系數(shù)據(jù)庫245以及活動流數(shù)據(jù)庫255??梢岳斫獾氖牵行?10和230可以促進(jìn)網(wǎng)站建設(shè)系統(tǒng)30和安裝在服務(wù)器270上的多個第三方應(yīng)用40之間的通信以及在如上所述與中心205相關(guān)的不同的第三方應(yīng)用40之間的通信。聯(lián)系數(shù)據(jù)庫245和活動流數(shù)據(jù)庫255可以保存聯(lián)系人/活動信息以及從消息流提取出的信息,如下文更詳細(xì)描述的。
[0199]現(xiàn)在參考圖16A和圖16B,圖16A示出了客戶端中心210的元件,而圖16B示出了服務(wù)器中心230的元件、聯(lián)系人協(xié)調(diào)器240和活動協(xié)調(diào)器250??蛻舳酥行?10包括路由器211、轉(zhuǎn)換器和適配器212以及隱私策略強制器213。服務(wù)器中心230包括路由器和跟蹤器231、轉(zhuǎn)換器和適配器232、隱私策略強制器233、私人數(shù)據(jù)代理234以及驗證器和簽名器235。聯(lián)系人協(xié)調(diào)器240包括數(shù)據(jù)提取器241、聯(lián)系人吹起242、數(shù)據(jù)合并前243以及數(shù)據(jù)和許可處理器244?;顒訁f(xié)調(diào)器250包括流創(chuàng)建器251、流合并前252以及記錄創(chuàng)建器253。這些元件的功能將在下文更詳細(xì)描述。
[0200]現(xiàn)在參考圖16C和圖16D,圖16C示出了流合并前252的元件,而圖16D示出了數(shù)據(jù)合并前243的元件。流合并器252包括活動到流合并器261和流到流合并器262。流到流合并器262還包括水平流合并器263和垂直流合并器264。數(shù)據(jù)合并前243包括聯(lián)系人識別器272、聯(lián)合器273、矛盾解決器274、列表值創(chuàng)建器275、垂直聯(lián)系人合并器276和水平聯(lián)系人合并器277。水平聯(lián)系人合并器277還包括虛擬水平合并器278。垂直聯(lián)系人合并器276還包括虛擬垂直合并器279。這些元件的功能將在下文更詳細(xì)地描述。
[0201]可以理解的是,系統(tǒng)200可以支持在系統(tǒng)200和多個第三方應(yīng)用40之間傳遞消息,同時提供各種能力,包括通過流的活動消息組織、存儲活動消息歷史、多級別活動消息傳遞、針對活動消息利用邊帶信道、活動消息轉(zhuǎn)換和內(nèi)容適應(yīng)、活動消息驗證和簽名,以及利用下文詳細(xì)描述的監(jiān)聽器查詢進(jìn)行動態(tài)活動消息路由。
[0202]此外,系統(tǒng)200可以提取用戶相關(guān)信息并對其進(jìn)行合并一聯(lián)合來自多個源的信息以及在系統(tǒng)200中已經(jīng)存在的信息。這可以通過合并使不同且可能矛盾的信息一致的規(guī)則進(jìn)行。該聯(lián)合的信息可以存儲于聯(lián)系人數(shù)據(jù)庫245中。該信息還可以包括使用許可字段,控制所允許的收集到的信息的使用,如下文更詳細(xì)描述的。
[0203]在本發(fā)明的替代實施例中,客戶端中心210和服務(wù)器中心230可以單獨用于與安裝于服務(wù)器270上的多個第三方應(yīng)用40通信??梢岳斫獾氖?,在僅使用客戶端中心210的情形下,聯(lián)系人協(xié)調(diào)器240、活動協(xié)調(diào)器250與數(shù)據(jù)庫245和255—起可以本地安裝在相關(guān)客戶端中。
[0204]還可以理解的是,系統(tǒng)200可以包括其它部件,其可以允許第三方應(yīng)用40管理用戶聯(lián)系活動(例如,簡報的郵件群發(fā)),同時強制實行由用戶自己設(shè)置的使用限制。這種部件甚至可以隔離用戶私人數(shù)據(jù)與第三方應(yīng)用40—一從而第三方應(yīng)用40可以執(zhí)行它們的動作,而不能實際訪問私人用戶數(shù)據(jù)。例如,可以通過私人數(shù)據(jù)代理234實現(xiàn)這種能力,如下文更詳細(xì)描述的。
[0205]還可以理解的是,聯(lián)系人數(shù)據(jù)庫245可以專用于每個站點。然而,網(wǎng)站建設(shè)系統(tǒng)30可以定義包含(同一站點擁有者所擁有的)網(wǎng)站的集合的元站點(meta-site)/投影級別,并允許指定在元站點級別而不是單個站點級別處存儲、處理和合并聯(lián)系人。還可以在元站點而不是站點級別處定義其它站點元件(例如,所包括的第三方應(yīng)用40)。除了元站點支持外,系統(tǒng)200還通常不共享聯(lián)系人(除了下文描述的之外),或集成在不同站點或不同站點擁有者之間的聯(lián)系人信息(從而給定的終端用戶提供給一個站點的數(shù)據(jù)不會泄露給另一站點)。
[0206]如上文所述,系統(tǒng)200可以支持在網(wǎng)站建設(shè)系統(tǒng)30和一個或多個第三方應(yīng)用40之間的多個交互。這種交互可以是預(yù)先定義的活動,例如,購買、添加項目到購物車、填充聯(lián)系人信息等。第三方應(yīng)用40可以指定其支持哪些活動,并且其他第三方應(yīng)用40可以“監(jiān)聽”特定活動并在接收到活動及其相關(guān)聯(lián)信息時進(jìn)行動作??梢岳斫獾氖?,對于給定的第三方應(yīng)用40監(jiān)聽活動的列表可以被明確設(shè)置為一個或多個活動,或可以由監(jiān)聽查詢的活動所確定,如下文更詳細(xì)描述的。
[0207]可以理解的是,可以將每個活動視為消息,并且每個消息可以包括活動數(shù)據(jù)結(jié)構(gòu)?;顒訑?shù)據(jù)結(jié)構(gòu)是預(yù)先定義的數(shù)據(jù)類型,但是可以通過它們之間的繼承以及通過具有通過添加字段而對其進(jìn)行擴展的選項的第三方應(yīng)用40進(jìn)行定義。它們可以是對系統(tǒng)特定的,或者可以基于或包括標(biāo)準(zhǔn)化的數(shù)據(jù)結(jié)構(gòu)。它們還可以以某種方式進(jìn)行編碼,例如XML、JSON數(shù)據(jù),或使用二進(jìn)制對象編碼方案。
[0208]活動數(shù)據(jù)結(jié)構(gòu)還可以包括在“描述”字段提供的第三方應(yīng)用40。這是基于第三方應(yīng)用40的活動描述(其可以比網(wǎng)站建設(shè)系統(tǒng)30所知道的更詳細(xì))。例如,VOIP通信第三方應(yīng)用40可以提供“在999-555-1234-01:15呼叫John Smith"的活動描述文本。
[0209]活動數(shù)據(jù)結(jié)構(gòu)還可以包括回叫鏈路,例如,“更多信息”,其返回活動數(shù)據(jù)結(jié)構(gòu)。這可以用于提供額外的實質(zhì)信息,例如,對于電子商務(wù)活動數(shù)據(jù)結(jié)構(gòu):完全命令跟蹤信息、命令歷史等;對于聊天活動數(shù)據(jù)結(jié)構(gòu):完全聊天副本;以及對于電話活動數(shù)據(jù)結(jié)構(gòu):記錄電話。因此,樣本完全活動數(shù)據(jù)結(jié)構(gòu)可以包含以下字段:創(chuàng)建時間戳;活動類型;活動來源(第三方應(yīng)用40/部件ID);活動流ID;活動類型特定信息(取決于活動類型);創(chuàng)建站點ID;站點成員數(shù)據(jù)庫ID;活動發(fā)生的站點頁面的ID/URL;由第三方應(yīng)用40提供的活動描述;由第三方應(yīng)用40使用的更多信息鏈路和捕獲的用戶細(xì)節(jié)等。
[0210]可以將活動協(xié)調(diào)器250視為記錄元件,并且可以從中心230接收傳遞消息。流創(chuàng)建器251可以創(chuàng)建被視為記錄或鏈路狀結(jié)構(gòu)的初始流,并且流合并器252可以將向其添加任意額外的輸入活動,每個流對聯(lián)系人是唯一的??梢岳斫獾氖牵鲃?chuàng)建器251不能為包含于不同消息中的每個單獨的活動創(chuàng)建新的流。還可以理解的是,在流中包含的活動可以是失序的(例如,第三方應(yīng)用40可以延遲報告活動)。流合并器252可以在操作期間當(dāng)流屬于同一單個聯(lián)系人時合并流,并且記錄創(chuàng)建器253可以在所有先前創(chuàng)建的活動流的活動流數(shù)據(jù)庫255上保存記錄文件。
[0211]如以上關(guān)于圖16C所討論的,流合并器252包括活動到流合并器261和流到流合并器262?;顒拥搅骱喜⑵?61可以將活動與關(guān)聯(lián)于識別出的聯(lián)系人的流相關(guān)聯(lián),并且流到流合并器262可以將兩個單獨的流轉(zhuǎn)換為單個流。水平流合并器263可以將兩個不相關(guān)的流合并成檢測到的共同初始ID,而垂直流合并器264可以合并為匿名聯(lián)系人創(chuàng)建的流以及與注冊的用戶相關(guān)聯(lián)的流,當(dāng)?shù)卿浕蜃詴r,其可以連接兩者??梢岳斫獾氖牵诒匾獣r,流合并器252可以從活動流數(shù)據(jù)庫255訪問先前創(chuàng)建的流。
[0212]例如,匿名用戶填充站點中的聯(lián)系人表格。流創(chuàng)建器251可以創(chuàng)建新的活動流(具有ID“anon I”),并且聯(lián)系人處理器242可以創(chuàng)建新的聯(lián)系人(具有ID“anon I”,如下文更詳細(xì)描述的)。然后,同一用戶可以與站點擁有者聊天。流合并器252然后可以將該活動合并到“anon I”活動六,并且更新聯(lián)系人“anon I”(如下文更詳細(xì)描述的)。然后,使用不同瀏覽器的用戶填充調(diào)度表格。因為與原始用戶無關(guān),所以流創(chuàng)建器251可以創(chuàng)建具有ID“anon 2”的新的活動流,并且聯(lián)系人處理器242可以創(chuàng)建具有ID“anon 2”的新的聯(lián)系人。
[0213]然后,用戶從站點購買事物。流合并器252將新的活動合并到“anon2”活動流,并且更新聯(lián)系人“anon 2” (例如,利用“顧客”標(biāo)簽)。
[0214]使用另一瀏覽器的用戶向站點注冊。當(dāng)注冊時,所有的用戶從站點的成員處理器處接收到“用戶X” ID。在此時,流創(chuàng)建器251可以創(chuàng)建新的活動流(具有ID“用戶X”),并且聯(lián)系人處理器242可以創(chuàng)建新的聯(lián)系人(具有同一 ID “用戶X”)。
[0215]稍后,用戶從另一瀏覽器返回,并與站點擁有者聊天。當(dāng)站點不具有網(wǎng)絡(luò)跟蹤器(cookie)時,流創(chuàng)建器251可以創(chuàng)建又一新的流ID“anon 3”,并且聯(lián)系人處理器242可以創(chuàng)建新的聯(lián)系人“anon 3”。
[0216]現(xiàn)在,用戶登錄到網(wǎng)站。此時,存在具有“anon3” ID和“用戶x” ID的聯(lián)系人。數(shù)據(jù)合并前243可以將聯(lián)系人“anon 3”合并到“用戶x”中,從而在“用戶x”流中的登錄活動和聯(lián)系人“用戶X”的登錄活動兩者都指向活動流“用戶X”和“anon 3”。流合并器252可以將用戶在該會話中執(zhí)行的任意額外動作合并到“用戶X”活動流中。日志創(chuàng)建器253可以記錄來自流的所有活動數(shù)據(jù),并在活動數(shù)據(jù)庫255中保存日志的副本。
[0217]可以理解的是,站點擁有者可以針對給定聯(lián)系人通過由網(wǎng)站建設(shè)系統(tǒng)30提供的相關(guān)用戶接口訪問活動流的歷史,如現(xiàn)在參考的圖1 7所示。對于單個聯(lián)系人“DaniBronstein”,可以容易的訪問到他的網(wǎng)站的歷史。還可以理解的是,網(wǎng)站建設(shè)系統(tǒng)30或第三方應(yīng)用40還可以提供API來訪問日志信息。還可以理解的是,活動日志可以用于進(jìn)行優(yōu)化、用戶接口改善、廣告目標(biāo)等。
[0218]還可以理解的是,并行地,聯(lián)系人協(xié)調(diào)器240可以從活動流(消息)提供的數(shù)據(jù)收集信息,以構(gòu)建正在討論的用戶的聯(lián)系人簡檔。數(shù)據(jù)提取器241可以從活動消息和流中提取數(shù)據(jù),數(shù)據(jù)合并器243可以將相關(guān)數(shù)據(jù)合并到特定聯(lián)系人,其細(xì)節(jié)被存儲并可以從聯(lián)系人數(shù)據(jù)庫245訪問。聯(lián)系人處理器242可以創(chuàng)建新的聯(lián)系人,處理站點用戶身份、匿名用戶等,并且數(shù)據(jù)和許可處理器244可以處理隱私保護(hù)和許可相關(guān)數(shù)據(jù)。如上文所討論的,數(shù)據(jù)合并器243可以包括水平聯(lián)系人合并器277和垂直聯(lián)系人合并器276。水平聯(lián)系人合并器277可以由于檢測到的共同主要ID而合并兩個不相關(guān)聯(lián)系人,并且垂直聯(lián)系人合并器276可以合并匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人,當(dāng)?shù)卿浕蜃詴r,是可以連接兩者。水平聯(lián)系人合并器277還可以包括虛擬水平合并器278,以將兩個聯(lián)系人維持為分離的,但是將其鏈接到一起,從而它們可以被標(biāo)記為表示同一聯(lián)系人一一具有或不具有合并實際的聯(lián)系人信息。垂直聯(lián)系人合并器276還可以包括垂直虛擬合并器279,以維持匿名聯(lián)系人和與注冊的用戶相關(guān)聯(lián)的聯(lián)系人分離,但是將其鏈接到一起,從而它們被標(biāo)記為表示同一聯(lián)系人一具有或不具有合并的實際聯(lián)系人信息。數(shù)據(jù)合并器243還可以將聯(lián)系人信息(通常由數(shù)據(jù)提取器241提取)合并到現(xiàn)有聯(lián)系人中。還可以理解的是,聯(lián)系人識別器272可以利用網(wǎng)絡(luò)跟蹤器跟蹤用戶身份,并可以識別應(yīng)該合并的聯(lián)系人,如下文進(jìn)一步討論的。
[0219]返回參考圖15、16A和16B,可以在客戶端220、服務(wù)器260或兩者上執(zhí)行消息傳遞??梢岳斫獾氖?,第三方應(yīng)用40通常具有客戶端側(cè)元件以及服務(wù)器側(cè)元件,或者至少到第三方應(yīng)用40提供商服務(wù)器270的服務(wù)器側(cè)連接。中心210可以處理在客戶端220和第三方應(yīng)用40之間的任意消息,并且230在服務(wù)器260和第三方應(yīng)用40之間??梢岳斫獾氖?,由中心210接收到的數(shù)據(jù)可以被處理并轉(zhuǎn)發(fā)到中心230以供進(jìn)一步處理,如下文更詳細(xì)描述的。
[0220]現(xiàn)在參考圖18,其示出了在不同平臺之間的消息傳遞場景。用戶客戶端機器X可以連接到服務(wù)器Y上的網(wǎng)站建設(shè)系統(tǒng)30。可以利用網(wǎng)站建設(shè)系統(tǒng)30客戶端部件A’和網(wǎng)站建設(shè)系統(tǒng)30服務(wù)器部件A,實現(xiàn)網(wǎng)站建設(shè)系統(tǒng)30。當(dāng)現(xiàn)實所創(chuàng)建的站點時,其可以包括客戶端側(cè)元件(數(shù)據(jù)/代碼)B’和服務(wù)器側(cè)元件B。所創(chuàng)建的站點還可以包括三個第三方應(yīng)用40 —TPA1、TPA2和ETPA3。
[0221]可以通過客戶端側(cè)部件D’和與TPAl供應(yīng)商服務(wù)器H連接的服務(wù)器側(cè)元件D實現(xiàn)TPAl??梢酝ㄟ^客戶端側(cè)部件E ’和與TPA2供應(yīng)商服務(wù)器I連接的服務(wù)器側(cè)部件E實現(xiàn)TPA2。然而,EPTA3可以是由連接到網(wǎng)站建設(shè)系統(tǒng)30第三方應(yīng)用40支持后端F的服務(wù)器側(cè)部件G實現(xiàn)的僅服務(wù)器側(cè)第三方應(yīng)用40。該兩者可以與第三方應(yīng)用40供應(yīng)商服務(wù)器J通信。
[0222]還可以理解的是,TPAl和TPA2可以在(部件D’和E’之間的)客戶端上、在(部件D和E之間的)服務(wù)器上或在兩者上交換消息。然而,與EPTA3的任意通信必須僅在服務(wù)器上進(jìn)行。還可以理解的是,使用任一種方法都存在優(yōu)點和缺點??蛻舳藗?cè)活動消息發(fā)送可以是更交互的,并且提供更快的用戶響應(yīng)。服務(wù)器側(cè)活動消息發(fā)送可以是更健壯的、更可靠的(例如,用戶在該過程中間不能關(guān)閉瀏覽器窗口),提供更好的保證消息接收的正確順序,并還可以允許活動消息發(fā)送到安裝到后端或應(yīng)用儀表板上的后端第三方應(yīng)用40。
[0223]利用多個第三方應(yīng)用40的情況的例子是用戶將產(chǎn)品添加到在第三方應(yīng)用A中的購物車中(活動類型是“車變化”)。第三方應(yīng)用A然后可以將活動消息與添加的產(chǎn)品發(fā)送給網(wǎng)站建設(shè)系統(tǒng)30。網(wǎng)站建設(shè)系統(tǒng)30然后可以將活動轉(zhuǎn)發(fā)給向車變化注冊的所有第三方應(yīng)用40。由于第三方應(yīng)用B已經(jīng)注冊,所以其接收活動。第三方應(yīng)用B然后可以向用戶顯示消息,例如“如果你還添加產(chǎn)品X,則你可以獲得折扣”或者“分享該站點以獲得折扣”。
[0224]另一例子是用戶(經(jīng)由例如Facebook)“喜歡”在第三方應(yīng)用A中的事物。第三方應(yīng)用A然后可以將活動消息與活動類型“Facebook喜歡”發(fā)送給網(wǎng)站建設(shè)系統(tǒng)30。網(wǎng)站建設(shè)系統(tǒng)然后可以將活動轉(zhuǎn)發(fā)給注冊到“喜歡”活動的所有第三方應(yīng)用40。由于第三方應(yīng)用B已經(jīng)注冊,所以其接收活動。第三方應(yīng)用B可以向用戶顯示重新介入微件,并顯示消息例如“如果你喜歡該站點,聯(lián)系站點擁有者如何?”或“你想要打折券嗎?”
[0225]如上文所述的,可以經(jīng)由中心210和230發(fā)生所有通信。
[0226]路由器211可以在網(wǎng)站和任意第三方應(yīng)用40之間路由客戶端側(cè)消息。路由器211還可以在中心210和中心230之間路由消息,以供進(jìn)一步處理,如下文更詳細(xì)描述的。
[0227]路由器和跟蹤器231開在網(wǎng)站和任意第三方應(yīng)用40之間路由消息,并還可以跟蹤消息。可以理解的是,第三方應(yīng)用40還監(jiān)聽在客戶端和服務(wù)器上的消息。還可以理解的是,第三方應(yīng)用40可以明確地指定其監(jiān)聽的一個或多個活動,例如,監(jiān)聽所有的“購物車-添加項目”活動。第三方應(yīng)用40還可以指定其監(jiān)聽的活動類別,例如,監(jiān)聽所有的Facebook相關(guān)活動。此外,第三方應(yīng)用可以包括通配符表達(dá)(應(yīng)用于活動名稱上),其用于確定活動是否應(yīng)該被發(fā)送到第三方應(yīng)用。
[0228]還可以理解的是,第三方應(yīng)用40可以使用活動監(jiān)聽器查詢。這種查詢可以指的是額外的系統(tǒng)信息,包括通常不可用于第三方應(yīng)用本身的信息,例如:用戶屬性(例如,僅注冊的用戶,僅歐洲用戶等),網(wǎng)站屬性或結(jié)構(gòu)(例如,僅監(jiān)聽在從給定頁面模板導(dǎo)出的頁面上的給定活動),用戶歷史(例如,當(dāng)用戶過去購物總共超過X時僅監(jiān)聽購物車結(jié)賬活動)等。這種查詢可以由第三方應(yīng)用40指定,但是還可以由設(shè)計者編輯。
[0229]因此,路由器和跟蹤器231還可以跟蹤第三方應(yīng)用40正在監(jiān)聽的消息。可以理解的是,這種活動監(jiān)聽器查詢架構(gòu)最佳地實現(xiàn)于活動路由級別(而不是由第三方應(yīng)用40內(nèi)部的API調(diào)用實現(xiàn)),因為其可以允許網(wǎng)站設(shè)計者執(zhí)行裁剪和定制,而不要求第三方應(yīng)用40高度可編程和可定制。路由器和跟蹤器231還有助于保存用戶隱私,因為網(wǎng)站設(shè)計者不對所涉及的第三方應(yīng)用40提供(路由決策所需要的)額外信息。其還可以保存通常托管在單獨的服務(wù)器上的不需要的與第三方應(yīng)用40的通信調(diào)用。
[0230]可以理解的是,用戶(網(wǎng)站訪問者)向網(wǎng)站訪問、注冊和提供信息。用戶實際上不知道他或她所訪問的網(wǎng)站是利用網(wǎng)站建設(shè)系統(tǒng)30、部件、構(gòu)造網(wǎng)站和第三方應(yīng)用40的組合建設(shè)的。因此,用戶隱私的責(zé)任最終取決于網(wǎng)站擁有者(其還負(fù)責(zé)在他或她的網(wǎng)站中包含的第三方應(yīng)用40所采取的動作)。
[0231]還可以理解的是,可以基于由網(wǎng)站建設(shè)系統(tǒng)30和由網(wǎng)站建設(shè)系統(tǒng)30提供的API定義的隱私規(guī)則,通過第三方應(yīng)用40(和其它網(wǎng)站建設(shè)系統(tǒng)30部件)訪問用戶簡檔信息。此外,包含站點以及其內(nèi)包含的第三方應(yīng)用40可以使用聯(lián)系人信息來與用戶(經(jīng)由電子郵件或其它方式)進(jìn)行通信。
[0232]可以理解的是,存在三種主要的隱私相關(guān)問題。第一種是網(wǎng)站和網(wǎng)站建設(shè)系統(tǒng)30與第三方應(yīng)用40提供商的交互。網(wǎng)站(和網(wǎng)站建設(shè)系統(tǒng)30)不能完全信任使用其用戶數(shù)據(jù)的第三方應(yīng)用40,例如,第三方應(yīng)用40不會(利用站點提供的用戶電子郵件)群發(fā)郵件,請求從郵件中移除垃圾郵件用戶,或?qū)⒂脩魝€人信息轉(zhuǎn)移到第四方。然而,可以用如下方式進(jìn)行解決:
[0233]網(wǎng)站建設(shè)系統(tǒng)30供應(yīng)商可以要求第三方應(yīng)用40提供商在將其添加到網(wǎng)站建設(shè)系統(tǒng)30應(yīng)用市場中時簽署使用條款(ToU)協(xié)議。這種協(xié)議可以聲明第三方應(yīng)用40 (以第三方應(yīng)用40供應(yīng)商)不能濫用或還公開用戶的信息。如果第三方應(yīng)用提供商濫用信息,則網(wǎng)站建設(shè)系統(tǒng)30供應(yīng)商隨后可以懲罰第三方應(yīng)用提供商(例如,禁用第三方應(yīng)用40,將第三方應(yīng)用40從網(wǎng)站建設(shè)系統(tǒng)30應(yīng)用市場移除,等)。隱私策略強制器213和233以及私人數(shù)據(jù)代理234可以對第三方應(yīng)用40強制實行隱私策略,如下文更詳細(xì)描述的。
[0234]第二種隱私相關(guān)問題是網(wǎng)站和網(wǎng)站建設(shè)系統(tǒng)30與用戶(站點訪問者)的交互。網(wǎng)站必須向用戶提供清除的理解他或他的個人數(shù)據(jù)將被如何使用,從用戶處接收協(xié)議并遵守用戶同意的條款。網(wǎng)站建設(shè)系統(tǒng)30請求所有的公布站點向用戶提供ToU文獻(xiàn),其定義了對術(shù)語用戶的私人信息的允許使用,并且要求用戶電簽署所述文獻(xiàn)。然后,站點必須遵守這些條款和允許使用。網(wǎng)站建設(shè)系統(tǒng)30還可以包括其所提供的每個網(wǎng)站模板中的樣本ToU頁面。私人策略強制器213和233可以確保保持ToU文獻(xiàn)的使用的條款。私人測量強制器213和233還可以確保通過刪除或重新排列相關(guān)數(shù)據(jù)而僅向TPA提供所允許的信息。
[0235]第三種隱私相關(guān)問題是支持取消訂閱請求。站點必須向用戶提供取消定于任何營銷電子郵件的選項。這可以通過數(shù)據(jù)和許可處理器244處理,如下文更詳細(xì)描述的。
[0236]數(shù)據(jù)和許可處理器244還可以處理由不同用戶設(shè)置的不同用戶許可,如下文更詳細(xì)描述的。
[0237]私人數(shù)據(jù)代理234可以允許網(wǎng)站建設(shè)系統(tǒng)30(和在期內(nèi)建設(shè)的網(wǎng)站)在網(wǎng)站建設(shè)系統(tǒng)30管理的安全庫中保持所有或一些私人數(shù)據(jù),并可以向第三方應(yīng)用提供替代的唯一 ID(而不是私人數(shù)據(jù)),其可以由網(wǎng)站建設(shè)系統(tǒng)30用于取回隱藏的私人數(shù)據(jù)。例如,電子郵件地址由提供給第三方應(yīng)用40的替代“電子郵件地址ID”所代替,從而第三方應(yīng)用40不能訪問實際的電子郵件地址。
[0238]私人數(shù)據(jù)代理234還可以提供一組接口用于各種通信方法(例如,電子郵件、社交網(wǎng)絡(luò)消息傳送等),其可以由第三方應(yīng)用40用于接觸/發(fā)送消息給用戶,而無需第三方應(yīng)用40實際訪問與用戶相關(guān)聯(lián)的私人數(shù)據(jù)。這種私人數(shù)據(jù)可以包括所有的識別細(xì)節(jié),通過這些細(xì)節(jié)可以聯(lián)系用戶,包括(例如):名稱、地址、電子郵件、電話(包括SMSAMS)、統(tǒng)一通信ID(Skype等)以及社交網(wǎng)絡(luò)ID。
[0239]私人數(shù)據(jù)代理234因此可以強制實施用戶許可字段限制,強制實施用戶取消訂閱請求,并限制用戶消息發(fā)送,例如,對于為給定站點工作的給定第三方應(yīng)用40允許每天不超過100封電子郵件。私人數(shù)據(jù)代理234可以定義代理參數(shù),以及哪些私人數(shù)據(jù)用于揭露給第三方應(yīng)用和哪些用于隱藏一基于每個第三方應(yīng)用40,并基于逐字段進(jìn)行設(shè)置。
[0240]對于托管在網(wǎng)站建設(shè)系統(tǒng)30服務(wù)器上的第三方應(yīng)用40,私人數(shù)據(jù)代理234可以提供替代的唯一ID,其在形式上類似于原始私人數(shù)據(jù)(例如,提供替代的虛擬電子郵件,而不是原始私人用戶電子郵件),然后“捕捉”使用該信息的調(diào)用并轉(zhuǎn)發(fā)電子郵件(在該例子中)到正確的地址。這還可以用于檢測超過其允許權(quán)限的任意第三方應(yīng)用40。
[0241]可以理解的是,網(wǎng)站擁有者可能希望向任意特定第三方應(yīng)用40提供有限的或修改的信息。這可能例如由于一般的安全考慮,關(guān)于用戶數(shù)據(jù)的任意元素的特定隱私承諾或特定工業(yè)或應(yīng)用所特有的管理要求。私人策略強制器213和233可以實現(xiàn)網(wǎng)站擁有者所做出的任意這種改變,并覆寫當(dāng)前設(shè)置。
[0242]例子可以是處理醫(yī)療信息的網(wǎng)站,其可能對在向一般地理用戶分布分析第三方應(yīng)用40傳遞時阻擋一些個人系列到聯(lián)系人信息中感興趣。在另一例子中,第三方應(yīng)用40可能在處理某些類型的聯(lián)系人信息方面存在問題。想要繼續(xù)使用第三方應(yīng)用40的網(wǎng)站擁有者(即使已知故障)可能希望過濾掉觸發(fā)已知問題的聯(lián)系人,或修改數(shù)據(jù)從而不觸發(fā)問題。
[0243]轉(zhuǎn)換器和適配器212和232可以應(yīng)用預(yù)先指定的消息轉(zhuǎn)換和內(nèi)容適配規(guī)則。每個這種規(guī)則可以包括條件,例如其應(yīng)用于那些第三方應(yīng)用40,選擇其應(yīng)用于那些消息的過濾標(biāo)準(zhǔn),轉(zhuǎn)變規(guī)則(例如,涉及丟棄給定消息(關(guān)于相關(guān)的第三方應(yīng)用40))或?qū)?yīng)用于在活動數(shù)據(jù)結(jié)構(gòu)中的給定的一個或多個字段的轉(zhuǎn)變。
[0244]這樣,根據(jù)站點擁有者制定的規(guī)范,中心210和230可以向不同的第三方應(yīng)用40輸送不同版本的活動數(shù)據(jù)結(jié)構(gòu)(或根本不輸送)。
[0245]相關(guān)網(wǎng)站建設(shè)系統(tǒng)30還可以支持消息的驗證和簽名,以增強系統(tǒng)免于失敗和中斷試圖(例如,想要修改第三方應(yīng)用40消息有效載荷數(shù)據(jù)的中間人攻擊)。因此,向網(wǎng)站建設(shè)系統(tǒng)30注冊的每個第三方應(yīng)用40可以具有兩組私人/公共秘鑰:一組用于對從第三方應(yīng)用40發(fā)送到網(wǎng)站建設(shè)系統(tǒng)30的消息(輸入密鑰)進(jìn)行解碼,并且另一組用于對從網(wǎng)站建設(shè)系統(tǒng)30發(fā)送給第三方應(yīng)用40的消息進(jìn)行編碼(輸出密鑰)。
[0246]例如,第三方應(yīng)用A可以向網(wǎng)站建設(shè)系統(tǒng)30發(fā)送消息。可以連通用于站點的第三方應(yīng)用ID—起發(fā)送消息,所述第三方應(yīng)用ID是第三方應(yīng)用外部ID(具有第三方應(yīng)用范圍)并且可以由第三方應(yīng)用簽名。網(wǎng)站建設(shè)系統(tǒng)30可以接收消息。驗證器和簽名器235可以利用第三方應(yīng)用A的輸入秘鑰驗證簽名。如果所述驗證失敗,則驗證器和簽名器235可以將輸入消息報告為無效的并且不再傳送該消息。
[0247]驗證器和簽名器235可以利用內(nèi)部站點ID轉(zhuǎn)換與消息相關(guān)聯(lián)的外部ID。驗證器和簽名器235可以確定哪些第三方應(yīng)用40應(yīng)該獲得消息。
[0248]例如,對于每個第三方應(yīng)用B1..Bn,驗證器和簽名器235可以發(fā)現(xiàn)第三方應(yīng)用B的外部ID。驗證器和簽名器235然后可以創(chuàng)建到第三方應(yīng)用B的消息,并指示轉(zhuǎn)換器和適配器212/232應(yīng)用如上所述的任意可應(yīng)用過濾和轉(zhuǎn)變規(guī)則。驗證器和簽名器235然后可以利用第三方應(yīng)用B的輸出秘鑰對消息簽名,并經(jīng)由路由器和跟蹤器231(或路由器211)將該消息發(fā)送到第三方應(yīng)用B。然后,第三方應(yīng)用B可以接收消息并驗證簽名。如果當(dāng)前驗證失敗,則將該消息報告為無效的并不進(jìn)行進(jìn)一步處理。可以理解的是,驗證器和簽名器235僅可以執(zhí)行服務(wù)器側(cè)而不可以執(zhí)行客戶端側(cè)處理,以確保不會將秘密驗證數(shù)據(jù)發(fā)送給不信任的客戶端。
[0249]如上所討論的,系統(tǒng)200可以在網(wǎng)站建設(shè)系統(tǒng)30和第三方應(yīng)用40之間采用多種類型的通信。這些可以包括例如控制通信,例如,網(wǎng)站建設(shè)系統(tǒng)30命令第三方應(yīng)用40關(guān)閉;功能通信,例如,購物車第三方應(yīng)用40通過網(wǎng)站建設(shè)系統(tǒng)30向記賬第三方應(yīng)用40發(fā)送總的購買量,從而影響在本說明書中討論的例子的支付或活動通信。可以理解的是,這些不同種類的通信具有不同的簡檔和要求,例如,在消息發(fā)送量、健壯性、響應(yīng)時間要求等方面。
[0250]特別地,系統(tǒng)200可以包括非常頻繁的活動報告(例如,如果第三方應(yīng)用40圖形用戶界面(GUI)事件在被報告的第三方應(yīng)用40活動中)。這種多個活動報告可能覆蓋系統(tǒng)處理更多關(guān)鍵消息的部分。因此,系統(tǒng)200可以實現(xiàn)多個通信信道(例如,利用不同的端口、多個并發(fā)會話等),從而經(jīng)由單獨的信道發(fā)送每類消息。這樣,活動報告使用邊帶信道,并平行于且不干擾命令和功能通信。
[0251]如上所討論的,系統(tǒng)200可以收集活動信息,以便經(jīng)由聯(lián)系人協(xié)調(diào)器240和活動協(xié)調(diào)器250創(chuàng)建并增強聯(lián)系人信息,并且核對與特定聯(lián)系人相關(guān)聯(lián)的活動事件。對于通過中心210和230路由的每個活動消息,聯(lián)系人協(xié)調(diào)器240和活動協(xié)調(diào)器250可以處理信息。流創(chuàng)建器251可以根據(jù)活動消息創(chuàng)建聯(lián)系人專用數(shù)據(jù)流,并且聯(lián)系人協(xié)調(diào)器240的元件可以提取數(shù)據(jù),并在將其存儲到聯(lián)系人數(shù)據(jù)庫245之前進(jìn)行處理。
[0252]因此,每個活動流可以具有與其相關(guān)聯(lián)的構(gòu)造的聯(lián)系人,其可以通過從在數(shù)據(jù)流下執(zhí)行的活動中提取出的數(shù)據(jù)進(jìn)行增強??梢岳斫獾氖牵?lián)系人協(xié)調(diào)器240還可以識別相關(guān)聯(lián)系人的存在一被發(fā)現(xiàn)用于描述同一人的多個聯(lián)系人記錄。聯(lián)系人識別器272可以通過匹配主要ID字段(例如,電子郵件、電話號碼、社會安全號碼、Facebook ID等)來識別這種記錄??梢岳斫獾氖?,一些主要ID字段是多值字段(例如,人們可以具有多個識別電子郵件),而一些是嚴(yán)格的單值字段(例如,社會安全號碼)。
[0253]因此,數(shù)據(jù)合并器243可以將從新活動提取出的聯(lián)系人字段合并到當(dāng)前構(gòu)造的聯(lián)系人中,并且一旦匿名用戶執(zhí)行了登錄操作并已經(jīng)變成識別出的用戶,可以將為匿名用戶在使用網(wǎng)站期間構(gòu)造的構(gòu)造的聯(lián)系人合并到預(yù)先定義的保存的聯(lián)系人中(這已知為“垂直”合并)。水平聯(lián)系人合并器277還可以在檢測到這些是涉及同一用戶的相關(guān)聯(lián)系人時,執(zhí)行個不同聯(lián)系人(構(gòu)造的聯(lián)系人或存儲的聯(lián)系人)兩的“水平”合并。如上文所討論的,這種合并可以通過將一個聯(lián)系人合并到另一個的實際合并(即,將兩個單獨的聯(lián)系人轉(zhuǎn)換為單個聯(lián)系人),或通過虛擬合并(即,將兩個聯(lián)系人維持為單獨的但將其鏈接到一起,從而它們被標(biāo)記為表示同一用戶一一具有或不具有合并實際聯(lián)系人信息和活動流)執(zhí)行。還可以理解的是,即使在虛擬合并中,也可以將另外添加的信息添加到多個鏈接的虛擬合并聯(lián)系人中。
[0254]因此,數(shù)據(jù)提取器241可以從相關(guān)數(shù)據(jù)活動結(jié)構(gòu)中提取聯(lián)系人類型信息,并且數(shù)據(jù)合并器243可以將聯(lián)系人類型信息集成到與活動流相關(guān)聯(lián)的聯(lián)系人中(匿名的或識別出的)。如果聯(lián)系人類型信息I包含主要ID字段,則數(shù)據(jù)合并器243可以基于主要ID字段值檢查相關(guān)聯(lián)系人,并且如果發(fā)現(xiàn)了,則合并這些聯(lián)系人。數(shù)據(jù)合并器243還可以檢查活動是否在站點中建立了用戶身份(例如,站點登錄活動),如果是,則合并匿名聯(lián)系人與為該用戶記錄的現(xiàn)有聯(lián)系人記錄,并自此使其成為識別出的聯(lián)系人。
[0255]可以理解的是,聯(lián)系人識別器272可以實現(xiàn)多種方法來識別站點用戶,例如,通過使用網(wǎng)絡(luò)跟蹤器來跟蹤單個匿名用戶(其未登錄到站點)的會話,利用已注冊用戶的站點登錄,通過賬戶與社交網(wǎng)絡(luò)相關(guān)聯(lián)的站點用戶的社交登錄,或通過匹配主要ID字段(例如,電子郵件/電話)以識別描述同一用戶的兩個用戶簡檔。
[0256]還可以理解的是,細(xì)節(jié)存儲于聯(lián)系人數(shù)據(jù)庫245內(nèi)的站點用戶可以被分類為沒有在站點處注冊的匿名用戶;注冊用戶和潛在用戶一尚未正式在站點注冊的潛在用戶的(從外部源導(dǎo)入的)記錄。
[0257]因為相關(guān)網(wǎng)站可以安裝永久的從會話到會話堅持的網(wǎng)絡(luò)跟蹤器,所以在同一計算機上利用相同瀏覽器運行的多個匿名會話可以繼續(xù)想同一聯(lián)系人記錄貢獻(xiàn)信息。因此,即使匿名用戶可以可以具有相當(dāng)多的文本和聯(lián)系人信息。
[0258]注冊用戶必須提供對特定站點唯一的ID??梢允褂枚喾N類型的ID,例如,單獨的站點特有ID(如,用戶名),外部標(biāo)識符(如,電子郵件、電話號碼或社會安全號碼),或者不同系統(tǒng)提供的外部標(biāo)識符(如,社交網(wǎng)絡(luò)ID、0penID識別等)。
[0259]通過社交網(wǎng)絡(luò)登錄所注冊的用戶可以允許站點使用在社交網(wǎng)絡(luò)中可用的個人信息來填充同一用戶的站點簡檔。數(shù)據(jù)提取器241還可以重新訪問社交網(wǎng)絡(luò)簡檔,以檢測對該個人信息的任意變化,并可以更新站點用戶簡檔。
[0260]注冊用戶必須一般登錄到系統(tǒng)中以便建立她或他的身份,但是系統(tǒng)可能提供“使我保持連接到該系統(tǒng)”選項。這種登錄過程是明確的(用戶調(diào)用登錄對話)、隱含式的(要求用戶提供一些識別細(xì)節(jié),例如在對博客添加對話時),或者可以是基于外部登錄的(系統(tǒng)調(diào)用與不同系統(tǒng)相關(guān)聯(lián)的登錄過程,例如社交網(wǎng)絡(luò)登錄或OpenID登錄)。還可以通過物理設(shè)備(例如,直接或經(jīng)由無線接口連接到系統(tǒng)上的安全令牌)或通過生物統(tǒng)計信息使用(包括用戶的生物統(tǒng)計參數(shù),例如指紋或虹膜掃描;以及用戶的行為檢測,例如鍵入模式檢測)或者以上詳述的方法的任意組合影響登錄過程。
[0261]還可以理解的是,社交登錄過程可以在兩個方向上與常規(guī)登錄交互。例如,社交ID與站點成員ID相關(guān)聯(lián),從而社交登錄將暗示站點登錄,或者站點成員ID可以與一個或多個社交網(wǎng)絡(luò)ID相關(guān)聯(lián),從而站點登錄還可以識別一個或多個社交網(wǎng)絡(luò)的用戶。
[0262]當(dāng)用戶執(zhí)行明確的注銷時,聯(lián)系人處理器242可以生成新的匿名用戶網(wǎng)絡(luò)跟蹤器,并因此打開新的匿名會話(或會話系列),其活動將保存于該新的匿名聯(lián)系人下。在以后續(xù)識別出的聯(lián)系人再次登錄時,可以合并該新的匿名聯(lián)系人。
[0263]現(xiàn)在參考圖19,其示出了匿名用戶的登錄和注銷過程。用戶可以匿名地開始使用系統(tǒng)。聯(lián)系人處理器242可以創(chuàng)建聯(lián)系人,并且在用戶執(zhí)行第一個第三方應(yīng)用動作actl時,流創(chuàng)建器251可以自動創(chuàng)建活動流anonl。流合并器252可以將來自actl和來自后續(xù)活動act2和act3的信息合并到用戶anon I。
[0264]一旦相同用戶作為用戶對丸行登錄,則數(shù)據(jù)合并器243將anon I聯(lián)系人(以及從活動流取回的任意其它相關(guān)聯(lián)系人數(shù)據(jù))合并到用戶X的聯(lián)系人信息中??梢岳斫獾氖?,流合并器252還可以將從其它動作act4和act5提取出的信息合并到單個流中,并且數(shù)據(jù)提取器241然后可以提取用戶X的聯(lián)系人信息。當(dāng)用戶對丸行注銷時,聯(lián)系人處理器242可以創(chuàng)建新的網(wǎng)絡(luò)跟蹤器,從用戶X出分離其它的活動。因此,當(dāng)執(zhí)行新的活動act6時,聯(lián)系人處理器242可以創(chuàng)建新的匿名聯(lián)系人anon2,并且數(shù)據(jù)提取器241可以將提取出的聯(lián)系人細(xì)節(jié)(和活動)保存到新創(chuàng)建的匿名聯(lián)系人anon2下。
[0265]如果(如在場景A中)用戶anon2作為用戶Y執(zhí)行第二次登錄,則數(shù)據(jù)合并器243可以將聯(lián)系人anon2(如由act6和act7所更新的)以及任意進(jìn)一步的活動合并到識別出的用戶Y的聯(lián)系人細(xì)節(jié)中。
[0266]如果(如在場景B中)用戶anon2作為用戶X(重復(fù))執(zhí)行第二次登錄,則數(shù)據(jù)合并器243可以將用于用戶anon2的聯(lián)系人信息(如由act6和act7所更新的)與任意其它活動一起合并到用戶X的聯(lián)系人細(xì)節(jié)(已經(jīng)被更新以反映actl-act5)中。
[0267]可以理解的是,與活動相關(guān)聯(lián)的活動數(shù)據(jù)結(jié)構(gòu)還可以包括聯(lián)系人細(xì)節(jié)。數(shù)據(jù)提取器241可以提取該信息,并將其轉(zhuǎn)發(fā)到數(shù)據(jù)合并器243,該數(shù)據(jù)合并器243可以將其與現(xiàn)有聯(lián)系人信息集成到可能增強其的聯(lián)系人數(shù)據(jù)庫245中。還可以理解的是,數(shù)據(jù)提取器241可以從特定活動消息、從整個流、從其它聯(lián)系人或從外部源(例如,IP)到地理地址轉(zhuǎn)換服務(wù)提取細(xì)節(jié),如下文更詳細(xì)描述的。如上所討論的,在聯(lián)系人數(shù)據(jù)庫245中的聯(lián)系人還可以包含聯(lián)系人細(xì)節(jié),其由用戶明確提供作為對網(wǎng)站的登記或注冊過程的一部分,當(dāng)注冊到網(wǎng)站時(經(jīng)由社交登錄/注冊特征)從用戶所使用的社交網(wǎng)絡(luò)賬戶中提取出,或在更新他或她的簡檔時由用戶提供。數(shù)據(jù)提取器241還可以從外部源取回聯(lián)系人信息(例如,當(dāng)用戶僅指定美國郵政編碼時,并且這由站點用于從外部郵政編碼解碼網(wǎng)絡(luò)服務(wù)取回完整地址信息)。
[0268]如上所討論的,聯(lián)系人識別器272可以基于主要ID字段(例如,用戶名稱、電子郵件或電話號碼)將兩個聯(lián)系人識別為相關(guān)的。一旦發(fā)現(xiàn)聯(lián)系人A(新的)和B(現(xiàn)有的)相關(guān),則數(shù)據(jù)合并器243可以將A合并到B(B是主要的)。這可以利用諸如以下的字段合并規(guī)則進(jìn)行:
[0269]Bl=B或A(如“B| IA”);取B,并且如果B為空或空的則取A;
[0270]BI =math-func(A,B);重要的私人情況是:
[0271 ] BI =A+B ;例如,訪問次數(shù),總共購買次數(shù);
[0272]Bl=min(A,B);例如,日期聯(lián)合站點;
[0273]BI =max(A,B);例如,最后的活動日期;
[0274]81 = 11#-111^七(8^);在8的結(jié)尾處串聯(lián)列表4,移除4中與8中元素重復(fù)的元素(SP,B1 =B&(A-B))。數(shù)據(jù)合并器243可以根據(jù)以下規(guī)則確定在列表成員中的重復(fù):
[0275]對于包括正則值(S卩,標(biāo)量)的列表,使用正則值比較;
[0276]對于包括結(jié)構(gòu)的列表,使用結(jié)構(gòu)的特定子字段作為比較鍵。例如,在支持多個地址的網(wǎng)站建設(shè)系統(tǒng)30中的地址類型(家庭、辦公、送貨…);
[0277]正規(guī)化值比較。參見(例如)以下處理電話號碼:
[0278]如果結(jié)構(gòu)A是結(jié)構(gòu)B的更詳細(xì)版本則將A聯(lián)合到B中(在下文更詳細(xì)的描述),以及
[0279]較高確定性分?jǐn)?shù)一值可以具有附到其上的確定性分?jǐn)?shù)(例如,對由用戶直接提供的信息與關(guān)于用戶推理出的信息具有不同的確定性分?jǐn)?shù))。數(shù)據(jù)合并器243可以選擇具有較高確定性分?jǐn)?shù)的值。
[0280]可以理解的是,一些字段類型具有規(guī)范化格式。例如,電話號碼可以規(guī)范化為美國格式(例如,(999)555-1234)或國際格式(例如,+1-999-555-1234)。數(shù)據(jù)合并器243可以將字段值轉(zhuǎn)變?yōu)橐?guī)范化格式已進(jìn)行比較,例如當(dāng)比較主要聯(lián)系人鍵(例如,電話號碼)時,以及當(dāng)檢查合并列表中的重復(fù)時。
[0281]數(shù)據(jù)合并器243可以比較具有相同根本結(jié)構(gòu)的兩個結(jié)構(gòu)值一例如,包括多個子字段(國家、州、郵政編碼、街道、號碼等)的地址值。如果在結(jié)構(gòu)X內(nèi)的非空字段的值等于結(jié)構(gòu)Y中相同字段的值,即,Y包括X的所有非空字段值以及可能的一些額外字段值,則結(jié)構(gòu)Y是結(jié)構(gòu)X的詳細(xì)版本。因此,如果A是B的詳細(xì)版本并且A不等同于B,則數(shù)據(jù)合并器243將A聯(lián)合到B中。
[0282]可以理解的是,數(shù)據(jù)提取器241可以根據(jù)活動所來自的IP地址推理聯(lián)系人地址。這僅用于活動已經(jīng)從瀏覽器會話到達(dá)并且用戶不具有地址時。因此,數(shù)據(jù)提取器241可以根據(jù)IP地址的地理信息提取州/國家信息。在這種情況下,地址被標(biāo)記為“估計的地理IP地址”。這是必需的以便不干擾將來的地址合并一由于基于IP映射的包含現(xiàn)有(以及可能不準(zhǔn)確的)地址的地址字段,這可以防止后續(xù)詳細(xì)(但基本不同的)地址保存到聯(lián)系人數(shù)據(jù)庫245中。
[0283]數(shù)據(jù)合并器243還可以處理用于合并列表的標(biāo)簽沖突??梢岳斫獾氖牵诤喜⒘斜淼那闆r下,可以進(jìn)入到存在兩個實體的情形中,一個實體來自聯(lián)系人A且另一個來自聯(lián)系人B,兩者不同但是具有相同的標(biāo)簽。在這種情形下,數(shù)據(jù)合并器243可以通過在列表中以同一標(biāo)簽具有兩者而合并列表。
[0284]因此,組合[{tag:,,home” , emai 1:,,a@b.com” } ] + [ {tag:,,home” , emai 1:,,c@d.com” }]可以創(chuàng)建[{tag: ” home” , emai 1: ” aib.com” } ],[ {tag: ” home” , emai 1: ” cid.com” }]。這可以在合并字段被標(biāo)記為“允許非唯一列表標(biāo)簽”時使用。
[0285]數(shù)據(jù)合并器243還可以在試圖聯(lián)合聯(lián)系人信息時使用語言、語法或其它文本分析方法,以及向外部數(shù)據(jù)源或服務(wù)咨詢。例如,用戶還可以在兩個活動記錄中以兩種不同方式書寫他或她的家庭街道名稱,但是指定相同的家庭號碼、城市和郵政編碼。聯(lián)合器273在比較兩個實體時可以應(yīng)用文本分析(例如,探測算法),并還可以針對給定城市和郵政編碼比較兩個版本的街道名稱與街道名稱的外部源。在這種情況下,如果兩個街道類似于(但可能不同于)規(guī)范的名稱并且所有其它地址數(shù)據(jù)字段具有適當(dāng)?shù)闹担瑒t聯(lián)合器273可以選擇規(guī)范的街道名稱。
[0286]數(shù)據(jù)合并器243還可以根據(jù)登錄/會話信息合并聯(lián)系人信息。用戶可以使用站點而不進(jìn)行登錄或注冊,開始會話,執(zhí)行作為該會話的一部分的一些活動,并稍后進(jìn)行注冊或登錄,因此使得會話與新創(chuàng)建或現(xiàn)有的注冊用戶簡檔(包含聯(lián)系人信息)相關(guān)聯(lián)。
[0287]—旦用戶開始會話(匿名的),聯(lián)系人識別器272就可以在會話期間(利用網(wǎng)絡(luò)跟蹤器、會話ID等)跟蹤用戶,并且基于用戶在匿名會話期間執(zhí)行的活動,聯(lián)系人處理器242可以為特定匿名用戶創(chuàng)建構(gòu)造的聯(lián)系人。路由器和跟蹤器231還可以跨來自相同計算機的多個會話繼續(xù)跟蹤匿名用戶。這可以通過使用持續(xù)網(wǎng)絡(luò)(而不是會話網(wǎng)絡(luò)跟蹤器)跟蹤器進(jìn)行。
[0288]當(dāng)用戶注冊時,數(shù)據(jù)合并器243可以使用構(gòu)造的聯(lián)系人信息來初始填充用戶簡檔。如果用戶登錄,則數(shù)據(jù)合并器243可以初始地聯(lián)合構(gòu)造的聯(lián)系人信息與現(xiàn)有的用戶簡檔。可以理解的是,根據(jù)用戶的站點ID合并構(gòu)造的聯(lián)系人信息,因為數(shù)據(jù)合并器243可能不具有任意其它主要ID(電子郵件等)來用于構(gòu)造的聯(lián)系人以供合并。還可以理解的是,任意這種合并可以揭露在收集到的信息中的矛盾。當(dāng)合并匿名構(gòu)造的聯(lián)系人與現(xiàn)有的簡檔數(shù)據(jù)時,矛盾會發(fā)生并且不可避免。例如,匿名用戶以姓名John Smith填充數(shù)據(jù)表格(由一些第三方應(yīng)用40所顯示),然后(利用相同或單獨的瀏覽器會話)稍后登錄到姓名Jane Doe的賬戶下。(例如)可能的是,稍后登錄實際上是第二個人使用同一計算機進(jìn)行的,或者用戶使用聯(lián)系人表格中的假名來保存他或她的隱私。當(dāng)數(shù)據(jù)合并器243合并多個匿名構(gòu)造的聯(lián)系人時可能發(fā)生同樣的情形。
[0289]矛盾解決器264通??梢宰詣犹幚砻?,因為大部分字段(包括主要關(guān)鍵字段,例如電子郵件和電話)是可能包含多個值的列表字段。這可以僅應(yīng)用于同一根本站點的多次使用。不能(例如,通過將多個值合并到列表值中)解決的任意這種矛盾可以被標(biāo)記,以供站點擁有者可能通過終端用戶(其可以確定使用哪個值)或利用其它技術(shù)進(jìn)行手動處理。
[0290]因此,可能的是,構(gòu)造的聯(lián)系人信息可以反映不僅單個人,而是經(jīng)由相同計算機訪問相同站點的用戶的組合集合。
[0291]如上所討論的,數(shù)據(jù)合并器243通常在聯(lián)系人被創(chuàng)建或修改時根據(jù)主要ID字段(例如,電子郵件和電話號碼)合并聯(lián)系人。
[0292]輸入是聯(lián)系人記錄(輸入的聯(lián)系人C),其包括具有一個或多個值的一個或多個主要ID字段(例如,具有2個電子郵件和3個電話號碼的聯(lián)系人記錄)??梢砸蠖鄠€主要ID字段,因為用戶可能具有(例如)家庭/工作/蜂窩電話號碼和家庭/工作電子郵件,并且用戶可能在聯(lián)系人表格中互換地使用其中的任一個。
[0293]數(shù)據(jù)合并器243可以規(guī)范化主要關(guān)鍵值,并創(chuàng)建針對包含任意規(guī)范化主要關(guān)鍵值的聯(lián)系人記錄的查詢,例如,“(電話=Pl或電話= P2)或者(電子郵件=El或電子郵件=E2)”。數(shù)據(jù)合并器243還可以限制對特定站點的聯(lián)系人數(shù)據(jù)庫245的查詢。數(shù)據(jù)合并器243還可以查詢聯(lián)系人數(shù)據(jù)庫245,并取回匹配的聯(lián)系人列表L(其包括輸入聯(lián)系人C)。
[0294]如果輸入聯(lián)系人是(特定站點的)注冊的站點成員,則數(shù)據(jù)合并器243可以從列表L中移除聯(lián)系人C,并將在列表L中剩余的所有聯(lián)系人合并到聯(lián)系人C中。數(shù)據(jù)合并器243然后可以將更新后的聯(lián)系人C保存回聯(lián)系人數(shù)據(jù)庫245,并從聯(lián)系人數(shù)據(jù)庫245中移除在列表L中剩余的所有聯(lián)系人。如上所討論的,數(shù)據(jù)合并器234可以替代地執(zhí)行虛擬合并,聯(lián)合所有的聯(lián)系人信息(即,更新所有聯(lián)系人記錄以包含所有可用的信息)并標(biāo)記匹配的聯(lián)系人記錄作為屬于同一人(而不是刪除“重復(fù)的”聯(lián)系人記錄)。例如,這在第三方應(yīng)用40存儲或使用聯(lián)系人記錄專用的內(nèi)部ID時是需要的,從而刪除聯(lián)系人記錄將使得這些第三方應(yīng)用40失敗。相同的處理(即,標(biāo)記聯(lián)系人為相關(guān)的而不是刪除聯(lián)系人)可以應(yīng)用于在下文更詳細(xì)討論的其它情形中。
[0295]如果輸入聯(lián)系人不是注冊的站點成員,則數(shù)據(jù)合并器243可以檢查在列表L中存在多少站點成員聯(lián)系人。如果存在O個站點成員,則可以從列表L中移除聯(lián)系人C,并將在列表L中剩余的所有聯(lián)系人合并到聯(lián)系人C中。數(shù)據(jù)合并器243然后可以將更新后的聯(lián)系人C保存回聯(lián)系人數(shù)據(jù)庫245,并從聯(lián)系人數(shù)據(jù)庫245中移除在列表L中剩余的所有聯(lián)系人。
[0296]如果存在I個站點成員(聯(lián)系人D),則數(shù)據(jù)合并器243可以從列表L中移除聯(lián)系人D,并將在列表L中剩余的所有聯(lián)系人(包括聯(lián)系人C)合并到聯(lián)系人D中。數(shù)據(jù)合并器243然后可以將更新后的聯(lián)系人D保存回聯(lián)系人數(shù)據(jù)庫245,并從聯(lián)系人數(shù)據(jù)庫245中移除在列表L中剩余的所有聯(lián)系人。
[0297]如果存在兩個或更多個站點成員聯(lián)系人(D、D1、D2…),則數(shù)據(jù)合并器243可以從在(D、D1、D2...)中發(fā)現(xiàn)的站點成員聯(lián)系人中選擇聯(lián)系人D,并從列表L中移除聯(lián)系人D。然后可以根據(jù)包括在列表L中不是站點成員的聯(lián)系人的列表L創(chuàng)建子列表LL。數(shù)據(jù)合并器243然后可以將在列表LL上剩余的所有聯(lián)系人合并到聯(lián)系人D。數(shù)據(jù)合并器243然后可以將更新后的聯(lián)系人D保存到聯(lián)系人數(shù)據(jù)庫245,并從聯(lián)系人數(shù)據(jù)庫245中移除在列表LL中剩余的所有聯(lián)系人。
[0298]如上文針對登錄合并所討論的,可能發(fā)生數(shù)據(jù)中的矛盾。然而,因為列表值創(chuàng)建器275可以創(chuàng)建列表值字段(具有多個值),并可以定義在聯(lián)系人之間的凈優(yōu)先(clearprecedence),所以在大部分情況下不會發(fā)生問題。
[0299]例如,當(dāng)數(shù)據(jù)合并器243合并以下聯(lián)系人時:
[0300]Contactl=[Phonel,eml];
[0301]Contact2 = [Phonel,em2];
[0302]Contact3 = [Phone2,em2];
[0303]可以生成組合的聯(lián)系人:
[0304]Combined-Contact = [Phone = [Phonel,Phone2] ,Email = [eml,em2]]。
[0305]可以理解的是,聯(lián)系人數(shù)據(jù)庫245可以包括來自多個源的聯(lián)系人信息,并具有不同級別的許可以供使用。下述討論設(shè)計電子郵件;然而,討論和技術(shù)應(yīng)用于如上所述用于聯(lián)系用戶的任意類型的信息(電話、傳真、Skype ID、即時消息傳送ID、社交網(wǎng)絡(luò)ID等)。
[0306]例如,將電子郵件地址提供給站點的方式可以指示不同的許可以供使用。對電子郵件地址的一些可能的來源是:注冊ID;聯(lián)系人表格,簡報注冊和取消訂閱請求。在由用戶電簽署的“允許的使用協(xié)議”方面,電子郵件地址還可以不同。
[0307]可以理解的是,網(wǎng)站建設(shè)系統(tǒng)30通常具有關(guān)于針對給定電子郵件的允許使用的信息。然而,網(wǎng)站擁有者可以具有不同的、獨立的或額外的信息。例如,由于在站點中不同注冊格式的本質(zhì),或者由于在系統(tǒng)中具有由網(wǎng)站從包括額外使用許可信息的不同來源輸入的聯(lián)系人。
[0308]數(shù)據(jù)和許可處理器244可以在于站點中使用的第三方應(yīng)用40上強制實施正確的使用策略,以便幫助網(wǎng)站擁有者管理該信息。
[0309]因此,相關(guān)聯(lián)系人的聯(lián)系人記錄可以包括信息的兩個字段。第一字段是包含由網(wǎng)站根據(jù)用戶活動計算出的導(dǎo)出的或建議的許可的網(wǎng)站許可字段。聯(lián)系人表格僅暗示功能電子郵件,而訂閱表格可以暗示循環(huán)電子郵件。第二字段是基于網(wǎng)站許可字段值的站點擁有者許可字段。站點擁有者可以改變網(wǎng)站推薦,并做他或她喜歡的任何事情,但是他或她負(fù)責(zé)超過由網(wǎng)站許可字段定義的許可的任何使用。
[0310]可以理解的是,網(wǎng)站許可字段值表示用戶意圖的網(wǎng)站的最佳知識。站點擁有者許可值是網(wǎng)站所分配的值,且由第三方應(yīng)用40和系統(tǒng)的其它部分使用(例如,通過提供簡報發(fā)送的第三方應(yīng)用40使用)。
[0311]數(shù)據(jù)和許可處理器244可以使用這些許可字段來以多種方式定義許可。例如,數(shù)據(jù)和許可處理器244可以實現(xiàn)下述代碼或其組合或變形的任意一個(針對電子郵件以及其它耳關(guān)系人ID):
[0312]未知的一電子郵件從未知的源提取,并不能用于任何電子郵件發(fā)送。
[0313]電子郵件ID—針對注冊目的提供的電子郵件。其不能用于任何的電子郵件發(fā)送,除了注冊相關(guān)問題,例如,注冊確認(rèn),忘記密碼和懷疑安全性破壞通知。
[0314]功能電子郵件一為特定功能提供并允許一次性電子郵件。例如,購買確認(rèn)電子郵件,或為特定聯(lián)系人表格提供的電子郵件。
[0315]循環(huán)電子郵件一允許特定網(wǎng)站發(fā)送多次和周期性訂閱和廣告。這需要明確的訂閱/批準(zhǔn)。
[0316]可共享電子郵件一允許網(wǎng)站以及其合作伙伴(第三方應(yīng)用40、第四方)發(fā)送多次和周期性訂閱和廣告。這需要明確的訂閱/批準(zhǔn),并可以包括關(guān)于允許共享的詳細(xì)信息。
[0317]選擇退出一用戶明確取消訂閱。不向用戶發(fā)送電子郵件(除了可能的選擇退出通知)。
[0318]可以理解的是,數(shù)據(jù)和許可處理器244可以使用替代方法,例如許可位屏蔽(類似于在UNIX和Linux系統(tǒng)上使用的)或ACL(訪問控制列表)機制。數(shù)據(jù)和許可處理器244還可以針對聯(lián)系人信息的分離部分實現(xiàn)單獨的許可字段(例如,電子郵件、即時消息傳送者地址、社交網(wǎng)絡(luò)ID等)。
[0319]典型的使用場景是聯(lián)系人數(shù)據(jù)庫245包含從聯(lián)系人表格收集的第一組電子郵件和從訂閱請求收集的第二組。網(wǎng)站可以調(diào)用簡報發(fā)送第三方應(yīng)用40,知道該第三方應(yīng)用40將這發(fā)送電子郵件給屬于第二組的用戶(其發(fā)送訂閱請求)。
[0320]這種系統(tǒng)的優(yōu)點包括對網(wǎng)站和網(wǎng)站擁有者更好的(技術(shù)和法律)保護(hù),使其免受用戶的意外垃圾郵件或私人信息濫用,以及當(dāng)結(jié)合如上所述的私人數(shù)據(jù)代理234使用時實際上強制實施隱私策略。還可以確保取消訂閱請求被更嚴(yán)格的強制實施。
[0321]因此,用戶可以生成在相關(guān)網(wǎng)站建設(shè)系統(tǒng)30和任意相關(guān)第三方應(yīng)用40之間的活動流。這種流可以已知為活動流。每個活動流可以用作單個聯(lián)系人的信息源。如果可以確定不同的活動流來自同一源,則個體流的活動數(shù)據(jù)結(jié)構(gòu)也可以合并以形成聯(lián)系人。例如,單個用戶可以匿名通過兩個設(shè)備(如,移動設(shè)備和個人計算機)工作。這種用戶可以創(chuàng)建可以存儲消息的兩個匿名流。一旦已經(jīng)將流識別為與同一用戶相關(guān)聯(lián),則可以將其合并。
[0322]這里所呈現(xiàn)的過程和顯示并不固有地與任意特定計算機或其它裝置相關(guān)。各種通用系統(tǒng)可以根據(jù)本文的教導(dǎo)與程序一起使用,或者其可以證明便于構(gòu)造更專門的裝置來執(zhí)行所期望的方法。根據(jù)上述描述,用于多種這些系統(tǒng)的所期望的結(jié)構(gòu)將清晰。另外,并不結(jié)合任意特定編程語言來描述本發(fā)明的實施例。可以理解的是,多種編程語言可以用于實現(xiàn)如本文所描述的本發(fā)明的教導(dǎo)。
[0323]除非另有明確陳述,否則如前述討論所顯然的,可以理解的是,貫穿說明書,討論所使用的術(shù)語例如“處理”、“計算”、“運算”、“確定”等指的是計算機、計算系統(tǒng)或類似電子計算設(shè)備的動作和/或過程,其將表示為計算系統(tǒng)的寄存器和/或存儲器內(nèi)的物理(例如,電子)量的數(shù)據(jù)操縱和/或轉(zhuǎn)換為類似地表示為在計算系統(tǒng)的存儲器、寄存器或其它這種信息存儲、傳輸或顯示設(shè)備中的物理量的其它數(shù)據(jù)。
[0324]本發(fā)明的實施例可以包括用于執(zhí)行此處的操作的裝置??梢詾槠谕哪康臉?gòu)造該裝置,或者該裝置可以包括由存儲計算機中的計算機程序選擇性激活或配置的通用計算機。這種計算機程序可以存儲于計算機可讀存儲介質(zhì)中,例如但不限于,任何種類的盤,包括軟盤、光盤、磁光盤、只讀存儲器(ROM)。壓縮盤只讀存儲器(CD-ROM)。隨機存取存儲器(RAM)、電可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)。磁或光卡、閃存、或適于存儲電子指令并能夠耦合到計算機系統(tǒng)總線上的任意其它類型介質(zhì)。
[0325]雖然已經(jīng)在本文中圖示和描述了本發(fā)明的某些特征,但是本領(lǐng)域普通技術(shù)人員可以想到多種修改、替代、變化和等價物。因此,可以理解的是,隨附權(quán)利要求意圖覆蓋落入本發(fā)明真實精神內(nèi)的所有這些修改和變化。
【主權(quán)項】
1.一種能夠經(jīng)由客戶端/服務(wù)器系統(tǒng)在網(wǎng)站上實現(xiàn)的系統(tǒng),所述客戶端/服務(wù)器系統(tǒng)具有用于處理定義所述系統(tǒng)的指令的至少一個處理器,所述系統(tǒng)包括: 至少一個中心,用于在所述網(wǎng)站和至少一個第三方應(yīng)用之間協(xié)調(diào)至少一個活動消息,其中,所述至少一個活動消息具有標(biāo)準(zhǔn)化格式; 活動協(xié)調(diào)器,用于收聽所述至少一個活動消息,并且至少將從所述至少一個消息中提取的數(shù)據(jù)添加到與識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個相關(guān)聯(lián)的流上,并且其中所述識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個是所述網(wǎng)站的用戶; 聯(lián)系人協(xié)調(diào)器,用于從所述流取回并分析聯(lián)系人相關(guān)信息,并且充實針對所述聯(lián)系人的先前保存的?目息;以及 至少一個數(shù)據(jù)庫,用于存儲所述活動流以及所述聯(lián)系人相關(guān)信息,以供所述網(wǎng)站和所述聯(lián)系人使用。2.根據(jù)權(quán)利要求1所述的系統(tǒng),并且其中,所述至少一個中心包括以下中的至少一個: 路由器和跟蹤器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間路由和跟蹤所述至少一個活動消息; 私人策略強制器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施隱私策略; 轉(zhuǎn)換器和適配器,用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間應(yīng)用預(yù)先指定的至少一個消息轉(zhuǎn)換和內(nèi)容適配規(guī)則; 私人數(shù)據(jù)代理,用于實現(xiàn)私人數(shù)據(jù)代理和私人數(shù)據(jù)替代中的至少一個,并且用于在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施用戶許可字段限制;以及 驗證器和簽名器,用于利用所述至少一個第三方應(yīng)用的輸入鍵驗證所述至少一個活動消息的簽名,將與所述至少一個活動消息相關(guān)聯(lián)的外部ID與內(nèi)部所述網(wǎng)站ID進(jìn)行轉(zhuǎn)換,并且用于利用所述至少一個第三方應(yīng)用的輸出鍵對輸出的所述至少一個活動消息進(jìn)行簽名。3.根據(jù)權(quán)利要求1所述的系統(tǒng),并且其中,所述活動協(xié)調(diào)器包括以下中的至少一個: 流創(chuàng)建器,用于識別與所述至少一個活動消息相關(guān)聯(lián)的所述聯(lián)系人,并且用于在沒有相關(guān)聯(lián)的聯(lián)系人存在的情況下創(chuàng)建數(shù)據(jù)的所述流; 流合并器,用于將來自所述至少一個活動消息的數(shù)據(jù)合并到現(xiàn)有流中,并將來自所述活動流中的至少兩個的數(shù)據(jù)合并到單個流中;以及 日志創(chuàng)建器,用于將來自所述活動流的活動數(shù)據(jù)記錄到所述至少一個數(shù)據(jù)庫中。4.根據(jù)權(quán)利要求1所述的系統(tǒng),并且其中,所述聯(lián)系人協(xié)調(diào)器包括以下中的至少一個: 數(shù)據(jù)提取器,用于從所述至少一個活動消息、所述流、其它聯(lián)系人和外部源中的至少一個中提取聯(lián)系人相關(guān)信息; 數(shù)據(jù)合并器,用于合并至少兩個聯(lián)系人信息記錄,其中,所述記錄與同一識別出的聯(lián)系人相關(guān)聯(lián),并且用于根據(jù)預(yù)先定義的合并規(guī)則將所提取的聯(lián)系人相關(guān)信息合并到現(xiàn)有聯(lián)系人的聯(lián)系人相關(guān)信息中; 聯(lián)系人處理器,用于創(chuàng)建能夠識別的新聯(lián)系人和匿名聯(lián)系人中的至少一個,并且用于在所述網(wǎng)站的會話期間跟蹤聯(lián)系人活動;以及 數(shù)據(jù)和許可處理器,用于處理所提取的聯(lián)系人相關(guān)信息的隱私保護(hù)和許可。5.根據(jù)權(quán)利要求2所述的系統(tǒng),并且其中,所述路由器和跟蹤器支持利用所述至少一個第三方應(yīng)用指定的收聽查詢來路由所述至少一個活動消息。6.根據(jù)權(quán)利要求3所述的系統(tǒng),并且其中,所述流合并器包括活動到流合并器和流到流合并器,所述活動到流合并器用于將所述數(shù)據(jù)合并到與所識別的聯(lián)系人相關(guān)聯(lián)的所述流,所述流到流合并器用于將至少兩個單獨的流合并到單個流。7.根據(jù)權(quán)利要求6所述的系統(tǒng),并且其中,所述流到流合并器包括水平流合并器和垂直流合并器中的至少一個,所述水平流合并器用于根據(jù)識別出的共同聯(lián)系人合并所述至少兩個單獨的流,所述垂直流合并器用于在能夠連接匿名聯(lián)系人和注冊的聯(lián)系人用戶的登錄或注冊時合并針對匿名聯(lián)系人創(chuàng)建的流和與注冊的聯(lián)系人用戶相關(guān)聯(lián)的流。8.根據(jù)權(quán)利要求4所述的系統(tǒng),并且其中,所述數(shù)據(jù)合并器包括以下中的至少一個: 聯(lián)系人識別器,用于以下中的至少一項:在所述聯(lián)系人信息記錄中的至少兩個中定位相同的主要ID字段值,在所述聯(lián)系人信息記錄中的至少兩個中定位當(dāng)被規(guī)范化時相同的主要鍵字段值,利用網(wǎng)絡(luò)跟蹤器識別站點用戶,利用針對注冊用戶的站點登錄來識別站點用戶,以及通過針對站點用戶利用與社交網(wǎng)絡(luò)相關(guān)聯(lián)的賬戶的社交登錄來識別站點用戶;聯(lián)合器,用于利用語言、語法、文本分析以及向外部數(shù)據(jù)源和服務(wù)的咨詢中的至少一個來聯(lián)合聯(lián)系人信息; 矛盾解決器,用于根據(jù)預(yù)先定義的規(guī)則解決聯(lián)系人記錄之間的矛盾; 列表值創(chuàng)建器,用于創(chuàng)建列表值字段,以定義在所述聯(lián)系人記錄之間的凈優(yōu)先; 水平聯(lián)系人合并器,用于由于檢測到的共同主要ID而合并兩個不相關(guān)的聯(lián)系人;以及垂直聯(lián)系人合并器,用于在能夠連接匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人的登錄或注冊時合并匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人。9.根據(jù)權(quán)利要求8所述的系統(tǒng),并且其中,所述水平聯(lián)系人合并器包括虛擬合并器,用于將至少兩個聯(lián)系人記錄維持為分離的,并將其鏈接到一起,從而其被標(biāo)記為表示同一聯(lián)系人。10.根據(jù)權(quán)利要求8所述的系統(tǒng),并且其中,所述垂直聯(lián)系人合并器包括虛擬合并器,用于將匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人維持為分離的,并將其鏈接到一起,從而其被標(biāo)記為表不同一聯(lián)系人。11.根據(jù)權(quán)利要求2所述的系統(tǒng),并且其中,所述用戶許可字段是所述網(wǎng)站確定的和所述網(wǎng)站擁有者確定的中的至少一個。12.根據(jù)權(quán)利要求1所述的系統(tǒng),并且其中,所述標(biāo)準(zhǔn)化格式是以下中的至少一種:由預(yù)先定義的方案、繼承、回叫鏈路定義的,由所述至少一個第三方應(yīng)用進(jìn)行編碼和定義的,或基于外部正式的工業(yè)或事實標(biāo)準(zhǔn)。13.—種能夠經(jīng)由客戶端/服務(wù)器系統(tǒng)在網(wǎng)站上實現(xiàn)的方法,所述客戶端/服務(wù)器系統(tǒng)具有用于處理定義所述方法的指令的至少一個處理器,所述方法包括: 在所述網(wǎng)站和至少一個第三方應(yīng)用之間協(xié)調(diào)至少一個活動消息,其中,所述至少一個活動消息具有標(biāo)準(zhǔn)化格式; 收聽所述至少一個活動消息,并且至少將從所述至少一個消息中提取的數(shù)據(jù)添加到與識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個相關(guān)聯(lián)的流上,并且其中,所述識別出的聯(lián)系人和匿名聯(lián)系人中的至少一個是所述網(wǎng)站的用戶; 從所述流取回并分析聯(lián)系人相關(guān)信息,并且充實針對所述聯(lián)系人的先前保存的信息;以及 存儲所述活動流以及所述聯(lián)系人相關(guān)信息,以供所述網(wǎng)站和所述聯(lián)系人使用。14.根據(jù)權(quán)利要求13所述的方法,并且其中,所述協(xié)調(diào)包括以下中的至少一個: 在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間路由和跟蹤所述至少一個活動消息; 在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施隱私策略; 在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間應(yīng)用預(yù)先指定的至少一個消息轉(zhuǎn)換和內(nèi)容適配規(guī)則; 實現(xiàn)私人數(shù)據(jù)代理和私人數(shù)據(jù)替代中的至少一個,并且在所述網(wǎng)站和所述至少一個第三方應(yīng)用之間強制實施用戶許可字段限制;以及 利用所述至少一個第三方應(yīng)用的輸入鍵驗證所述至少一個活動消息的簽名,將與所述至少一個活動消息相關(guān)聯(lián)的外部ID與內(nèi)部所述網(wǎng)站ID進(jìn)行轉(zhuǎn)換,并且利用所述至少一個第三方應(yīng)用的輸出鍵對輸出的所述至少一個活動消息進(jìn)行簽名。15.根據(jù)權(quán)利要求13所述的方法,并且其中,所述收聽和所述至少添加包括以下中的至少一個: 識別與所述至少一個活動消息相關(guān)聯(lián)的所述聯(lián)系人,在沒有相關(guān)聯(lián)的聯(lián)系人存在的情況下創(chuàng)建數(shù)據(jù)的所述流; 將來自所述至少一個活動消息的數(shù)據(jù)合并到現(xiàn)有流,并且將來自所述活動流中的至少兩個的數(shù)據(jù)合并到單個流中;以及 將來自所述活動流的活動數(shù)據(jù)記錄到所述至少一個數(shù)據(jù)庫中。16.根據(jù)權(quán)利要求13所述的方法,并且其中,取回和分析包括以下中的至少一個: 從所述至少一個活動消息、所述流、其它聯(lián)系人和外部源中的至少一個中提取聯(lián)系人相關(guān)信息; 合并至少兩個聯(lián)系人信息記錄,其中,所述記錄與同一所識別的聯(lián)系人相關(guān)聯(lián),并且根據(jù)預(yù)先定義的合并規(guī)則將所提取的聯(lián)系人相關(guān)信息合并到現(xiàn)有聯(lián)系人的聯(lián)系人相關(guān)信息中; 創(chuàng)建能夠識別的新聯(lián)系人和匿名聯(lián)系人中的至少一個,并且在所述網(wǎng)站的會話期間跟蹤聯(lián)系人活動;以及 處理所提取的聯(lián)系人相關(guān)信息的隱私保護(hù)和許可。17.根據(jù)權(quán)利要求14所述的方法,并且其中,所述路由和跟蹤支持利用所述至少一個第三方應(yīng)用指定的收聽查詢來路由所述至少一個活動消息。18.根據(jù)權(quán)利要求15所述的方法,并且其中,所述合并包括將所述數(shù)據(jù)合并到與所識別的聯(lián)系人相關(guān)聯(lián)的所述流中,以及將至少兩個單獨的流合并到單個流中。19.根據(jù)權(quán)利要求18所述的方法,并且其中,所述的將所述數(shù)據(jù)合并到與所識別的聯(lián)系人相關(guān)聯(lián)的所述流中和將至少兩個單獨的流合并到單個流中包括以下中的至少一個:根據(jù)識別出的共同聯(lián)系人水平合并所述至少兩個單獨的流,在能夠連接匿名聯(lián)系人和注冊的聯(lián)系人用戶的登錄或注冊時垂直合并針對匿名聯(lián)系人創(chuàng)建的流和與注冊的聯(lián)系人用戶相關(guān)聯(lián)的流。20.根據(jù)權(quán)利要求16所述的方法,并且其中,所述的合并至少兩個聯(lián)系人信息記錄包括以下中的至少一個: 在所述聯(lián)系人信息記錄中的至少兩個中定位相同的主要ID字段值,在所述聯(lián)系人信息記錄中的至少兩個中定位當(dāng)被規(guī)范化時相同的主要鍵字段值,利用網(wǎng)絡(luò)跟蹤器識別站點用戶,利用針對注冊用戶的站點登錄來識別站點用戶,以及通過針對站點用戶利用與社交網(wǎng)絡(luò)相關(guān)聯(lián)的賬戶的社交登錄來識別站點用戶; 利用語言、語法、文本分析以及向外部數(shù)據(jù)源和服務(wù)的咨詢中的至少一個來聯(lián)合聯(lián)系人?目息; 根據(jù)預(yù)先定義的規(guī)則解決聯(lián)系人記錄之間的矛盾; 創(chuàng)建列表值字段,以定義在所述聯(lián)系人記錄之間的凈優(yōu)先; 由于檢測到的共同主要ID而水平合并兩個不相關(guān)的聯(lián)系人;以及 在能夠連接匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人的登錄或注冊時垂直合并匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人。21.根據(jù)權(quán)利要求20所述的方法,并且其中,所述水平合并包括虛擬合并以將至少兩個聯(lián)系人記錄維持為分離的,并將其鏈接到一起,從而其被標(biāo)記為表示同一聯(lián)系人。22.根據(jù)權(quán)利要求20所述的方法,并且其中,所述垂直合并包括虛擬合并以將匿名聯(lián)系人和與注冊用戶相關(guān)聯(lián)的聯(lián)系人維持為分離的,并將其鏈接到一起,從而其被標(biāo)記為表示同一聯(lián)系人。23.根據(jù)權(quán)利要求14所述的方法,并且其中,所述用戶許可字段是所述網(wǎng)站確定的和所述網(wǎng)站擁有者確定的中的至少一個。24.根據(jù)權(quán)利要求13所述的方法,并且其中,所述標(biāo)準(zhǔn)化格式是以下中的至少一種:由預(yù)先定義的方案、繼承、回叫鏈路定義的,由所述至少一個第三方應(yīng)用進(jìn)行編碼和定義的,或基于外部正式的工業(yè)或事實標(biāo)準(zhǔn)。
【文檔編號】G06F17/22GK105940391SQ201480074482
【公開日】2016年9月14日
【申請日】2014年12月4日
【發(fā)明人】Y·亞拉哈米, K·布洛赫, N·阿赫薩夫
【申請人】維克斯網(wǎng)有限公司