端并不需要將網(wǎng)頁組件A和B的整段代碼上傳給服務(wù)器以便實(shí)現(xiàn)服務(wù)器對(duì)客戶端在編網(wǎng)頁的跟蹤,客戶端可以僅僅將網(wǎng)頁組件A和B各自對(duì)應(yīng)的第一代碼ID如001.a和001.b上傳到服務(wù)器。在上述場景下,由于服務(wù)器本身便維護(hù)有第一代碼,因此服務(wù)器可以結(jié)合客戶端上傳的第一代碼ID在一定程度上還原出客戶端當(dāng)前編輯的網(wǎng)頁,從而實(shí)現(xiàn)對(duì)客戶端在編網(wǎng)頁的跟蹤。
[0082]也即,根據(jù)本發(fā)明實(shí)施例提供的服務(wù)器,通過第二接收單元606,服務(wù)器可以接收并保存客戶端發(fā)送的第二代碼ID,并將第二代碼ID標(biāo)記為與客戶端編輯的網(wǎng)頁文件對(duì)應(yīng),其中,第二代碼ID表示已由客戶端添加到網(wǎng)頁文件中的第一代碼對(duì)應(yīng)的第一代碼ID。
[0083]在以上描述的基礎(chǔ)上,進(jìn)一步地,根據(jù)本發(fā)明實(shí)施例提供的服務(wù)器,通過第二發(fā)送單元608,服務(wù)器可以根據(jù)保存的第二代碼ID向客戶端發(fā)送用于指示更新或恢復(fù)網(wǎng)頁文件中的第二代碼的消息。也即,在本發(fā)明實(shí)施例中,服務(wù)器可以利用所跟蹤的網(wǎng)頁編輯信息及時(shí)地對(duì)客戶端在編網(wǎng)頁中的組件的更新狀態(tài)進(jìn)行通知,或者是響應(yīng)于客戶端請(qǐng)求恢復(fù)在編網(wǎng)頁的消息向客戶端回傳網(wǎng)頁編輯信息,以便于使得客戶端可以根據(jù)回傳的信息還原出先前編輯的網(wǎng)頁。
[0084]具體地,在本發(fā)明實(shí)施例中,第二發(fā)送單元608可以包括:
[0085]1)第一發(fā)送模塊,用于在存在與保存的第二代碼ID中的任一個(gè)對(duì)應(yīng)的更新代碼時(shí),通知客戶端網(wǎng)頁文件中的與該任一個(gè)對(duì)應(yīng)的第二代碼處于可更新狀態(tài);或者,
[0086]2)第二發(fā)送模塊,用于向客戶端返回第二代碼ID,并使客戶端使用返回的第二代碼ID和第一代碼恢復(fù)網(wǎng)頁文件中的第二代碼。
[0087]作為對(duì)服務(wù)器側(cè)以第一代碼ID的形式來保存的客戶端在編網(wǎng)頁的網(wǎng)頁編輯信息或者說跟蹤記錄的具體應(yīng)用方式,在本發(fā)明實(shí)施例中,一種可選的方案是結(jié)合第一發(fā)送模塊對(duì)客戶端進(jìn)行更新通知。具體地,服務(wù)器可以在檢測到存在與保存的第二代碼ID對(duì)應(yīng)的更新代碼時(shí),判斷出與該第二代碼ID對(duì)應(yīng)的第二代碼或者說第一代碼中由客戶端所使用的代碼處于可更新狀態(tài),進(jìn)而服務(wù)器可以將這一情況通知給客戶端,以便于用戶通過客戶端來選擇是否對(duì)當(dāng)前編輯的網(wǎng)頁中的相應(yīng)代碼進(jìn)行更新。也即,在本發(fā)明實(shí)施例中,與第一發(fā)送模塊耦合地,上述服務(wù)器還可以包括:
[0088]1)第五接收單元,用于接收客戶端發(fā)送的請(qǐng)求更新處于可更新狀態(tài)的與該任一個(gè)對(duì)應(yīng)的第二代碼的消息;
[0089]2)第三發(fā)送單元,用于向客戶端發(fā)送與該任一個(gè)對(duì)應(yīng)的更新代碼,用于指示客戶端使用更新代碼更新網(wǎng)頁文件中的與該任一個(gè)對(duì)應(yīng)的第二代碼。
[0090]例如,在一個(gè)實(shí)施例中,若客戶端上傳的第二代碼ID包括001.a和001.b,且001.a和001.b分別用于標(biāo)識(shí)網(wǎng)頁組件A和B,則在服務(wù)器檢測到其所維護(hù)的網(wǎng)頁組件A被更新為A’、或者說網(wǎng)頁組件A的代碼被更新為A’的代碼也即上述更新代碼時(shí),則服務(wù)器可以通知客戶端網(wǎng)頁文件或網(wǎng)頁開發(fā)項(xiàng)目中的對(duì)應(yīng)的網(wǎng)頁組件也即網(wǎng)頁組件A的實(shí)例處于可更新狀態(tài)。若客戶端進(jìn)一步地請(qǐng)求對(duì)網(wǎng)頁文件中的網(wǎng)頁組件進(jìn)行更新,則服務(wù)器可以將更新代碼也即A’的代碼下發(fā)給客戶端,以便于使得客戶端根據(jù)更新代碼對(duì)網(wǎng)頁文件中的對(duì)應(yīng)的實(shí)例進(jìn)行更新。
[0091 ] 進(jìn)一步可選地,在本發(fā)明實(shí)施例中,與第一發(fā)送模塊耦合地,服務(wù)器還可以包括:
[0092]1)第三接收單元,用于接收并保存任一客戶端上傳的第三代碼;
[0093]2)第一判斷單元,用于判斷第三代碼與由任一個(gè)標(biāo)識(shí)的第二代碼是否屬于同一作者,和/或,判斷第三代碼的第三代碼ID與任一個(gè)是否對(duì)應(yīng)一致;
[0094]3)第二判斷單元,用于在第三代碼與由任一個(gè)標(biāo)識(shí)的第二代碼屬于同一作者、和/或第三代碼ID與任一個(gè)對(duì)應(yīng)一致時(shí),判斷第三代碼的內(nèi)容與由任一個(gè)標(biāo)識(shí)的第二代碼的內(nèi)容是否一致;
[0095]4)輸出單元,用于在第三代碼的內(nèi)容與由任一個(gè)標(biāo)識(shí)的第二代碼的內(nèi)容不一致時(shí),判斷出存在與任一個(gè)對(duì)應(yīng)的更新代碼,且更新代碼為第三代碼。
[0096]為便于營造一個(gè)開放式的代碼或網(wǎng)頁組件的共享平臺(tái),并避免多個(gè)不同的開發(fā)者各自獨(dú)立地對(duì)同一網(wǎng)頁組件進(jìn)行編輯可能帶來的版本沖突,在本發(fā)明實(shí)施例中,可以對(duì)維護(hù)在服務(wù)器的第一代碼的更新方式進(jìn)行限制。例如,可以采用上述步驟中所描述的基于代碼作者和/或代碼ID的更新檢查,若更新代碼與原本保存的第一代碼或者第一代碼中的為客戶端所使用的第二代碼出自不同作者或具有不同的代碼ID,則可以拒絕使用更新代碼對(duì)原本保存的代碼進(jìn)行的更新操作。進(jìn)一步地,若判斷出更新代碼與原本保存的代碼屬于同一作者和/或具有相同或相應(yīng)的ID,則可以認(rèn)為更新代碼通過了更新檢查,進(jìn)而服務(wù)器可以根據(jù)更新代碼對(duì)原本保存的代碼進(jìn)行更新,并可以據(jù)此通知客戶端對(duì)相應(yīng)的第二代碼進(jìn)行更新。
[0097]除此此外,在本發(fā)明實(shí)施例中,另一種可選的方案是結(jié)合第二發(fā)送模塊對(duì)客戶端所編輯的網(wǎng)頁進(jìn)行恢復(fù)。具體地,在本發(fā)明實(shí)施例中,服務(wù)器可以響應(yīng)于客戶端請(qǐng)求恢復(fù)網(wǎng)頁文件的消息,向客戶端返回保存在服務(wù)器側(cè)的與該網(wǎng)頁文件對(duì)應(yīng)的第二代碼ID,以便于使得客戶端可以使用返回的第二代碼ID和第一代碼恢復(fù)網(wǎng)頁文件中的第二代碼。也即,在本發(fā)明實(shí)施例中,與第二發(fā)送模塊耦合地,上述服務(wù)器還可以包括:
[0098]1)第六接收單元,用于接收客戶端發(fā)送的請(qǐng)求恢復(fù)網(wǎng)頁文件的消息。
[0099]例如,在一個(gè)實(shí)施例中,若客戶端上傳的第二代碼ID包括001.a和001.b,且001.a和001.b分別用于標(biāo)識(shí)網(wǎng)頁組件A和B,則服務(wù)器在接收到客戶端發(fā)送的請(qǐng)求恢復(fù)在編的網(wǎng)頁文件的消息后,可以向客戶端回傳所保存的與該網(wǎng)頁文件對(duì)應(yīng)的第二代碼ID,也即
001.a和001.b,進(jìn)而客戶端可以根據(jù)回傳的第二代碼ID恢復(fù)其所編輯的網(wǎng)頁。
[0100]進(jìn)一步可選地,考慮到第二代碼對(duì)應(yīng)的多個(gè)網(wǎng)頁對(duì)象在網(wǎng)頁中的位置、層次關(guān)系的復(fù)雜性,在本發(fā)明實(shí)施例中,第二接收單元606可以包括:
[0101]1)第一接收模塊,用于接收并保存客戶端發(fā)送的第二代碼ID和頁面對(duì)象參數(shù),其中,頁面對(duì)象參數(shù)用于描述由第二代碼所表示的頁面對(duì)象在網(wǎng)頁文件對(duì)應(yīng)的網(wǎng)頁中的形態(tài)或位置關(guān)系;其中,
[0102]第二發(fā)送模塊可以包括:
[0103]2)第一發(fā)送子模塊,用于向客戶端返回第二代碼ID和頁面對(duì)象參數(shù),并使客戶端使用返回的第二代碼ID、第一代碼和頁面對(duì)象參數(shù)恢復(fù)網(wǎng)頁文件中的第二代碼。
[0104]通過這一方式,便可以更為完善地恢復(fù)客戶端先前編輯的網(wǎng)頁,然而本發(fā)明并不會(huì)限定頁面對(duì)象參數(shù)所具體包含的各類參數(shù),例如其可以包括坐標(biāo)信息,也可以包括圖層信息,還可以包括其他的配置信息如尺寸大小、顯示狀態(tài)等信息,本發(fā)明對(duì)此不做限定。
[0105]在另一方面,可選地,為方便服務(wù)器對(duì)具體某個(gè)在編的網(wǎng)頁文件進(jìn)行跟蹤,并加強(qiáng)服務(wù)器所保存的第二代碼ID與網(wǎng)頁文件之間的關(guān)聯(lián),如圖5所示,在本發(fā)明實(shí)施例中,上述第二接收單元606可以包括:
[0106]1)第二接收模塊,用于接收并保存客戶端發(fā)送的第二代碼ID以及與第二代碼ID對(duì)應(yīng)的網(wǎng)頁文件的網(wǎng)頁文件ID ;其中,
[0107]在第二發(fā)送模塊之前,上述服務(wù)器還可以包括:
[0108]1)第四接收單元,用于接收客戶端發(fā)送的攜帶有網(wǎng)頁文件ID且用于請(qǐng)求恢復(fù)網(wǎng)頁文件的請(qǐng)求消息;其中,
[0109]第二發(fā)送模塊可以包括:
[0110]1)第二發(fā)送子模塊,用于向客戶端返回在保存的第二代碼ID中的與攜帶在請(qǐng)求消息中的網(wǎng)頁文件ID對(duì)應(yīng)的第二代碼ID。
[0111]通過以上實(shí)施例,對(duì)本發(fā)明技術(shù)方案進(jìn)行了描述,然而應(yīng)當(dāng)理解的是,上述實(shí)施例僅用于對(duì)本發(fā)明的理解和實(shí)施,并不會(huì)對(duì)本發(fā)明構(gòu)成任何的限定。
[0112]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0113]在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
[0114]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的服務(wù)器,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
[0115]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。