起數(shù)據(jù)同步,實(shí)現(xiàn)了服務(wù)器端提醒同步。
[0114]實(shí)施例七
[0115]圖7是根據(jù)本申請(qǐng)實(shí)施例九的數(shù)據(jù)同步方法的流程圖,該方法可以應(yīng)用于服務(wù)器端,如圖7所示,該數(shù)據(jù)同步方法至少可以包括:
[0116]步驟S701,服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)同步請(qǐng)求。其中,所述數(shù)據(jù)同步請(qǐng)求中包含上一次同步的時(shí)間戳。
[0117]步驟S702,將所述請(qǐng)求中包含的上一次同步的時(shí)間戳與本地保存的上一次同步的時(shí)間戳進(jìn)行匹配,并向所述客戶端返回匹配的結(jié)果。
[0118]步驟S703,在所述結(jié)果為匹配的情況下,接收所述客戶端發(fā)送的上一次同步后客戶端修改的數(shù)據(jù),并根據(jù)所述客戶端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0119]通過上述步驟,實(shí)現(xiàn)了客戶端單方同步,S卩,客戶端發(fā)送修改的數(shù)據(jù)給服務(wù)器端,服務(wù)器根據(jù)接收到的客戶端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù),而不再給客戶端發(fā)送需要更新的數(shù)據(jù),并且在數(shù)據(jù)同步過程中,客戶端只將上一次同步后客戶端修改的數(shù)據(jù)向服務(wù)器端發(fā)送,減少了數(shù)據(jù)同步過程中的數(shù)據(jù)傳輸量,而且減少了網(wǎng)絡(luò)資源和時(shí)間消耗,提高了數(shù)據(jù)同步的效率。
[0120]實(shí)施例八
[0121]圖8是根據(jù)本申請(qǐng)實(shí)施例八的數(shù)據(jù)同步方法的流程圖,該方法可以應(yīng)用于服務(wù)器端,如圖8所示,該數(shù)據(jù)同步方法至少可以包括:
[0122]步驟S801,服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)同步請(qǐng)求。所述數(shù)據(jù)同步請(qǐng)求中包含上一次同步的時(shí)間戳。
[0123]步驟S802,將所述請(qǐng)求中包含的上一次同步的時(shí)間戳與本地保存的上一次同步的時(shí)間戳進(jìn)行匹配,并向所述客戶端返回匹配的結(jié)果。
[0124]步驟S803,在所述結(jié)果為匹配的情況下,向所述客戶端發(fā)送上一次同步后服務(wù)器端修改的數(shù)據(jù),由所述客戶端根據(jù)接收的該服務(wù)器修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0125]通過上述步驟,實(shí)現(xiàn)了服務(wù)器端單方同步,并且在同步過程中,服務(wù)器端只將上一次同步后服務(wù)器修改的數(shù)據(jù)向客戶端發(fā)送,這種數(shù)據(jù)增量同步的方式,減少了數(shù)據(jù)同步過程中的數(shù)據(jù)傳輸量,而且減少了網(wǎng)絡(luò)資源和時(shí)間消耗,提高了數(shù)據(jù)同步的效率。
[0126]根據(jù)本發(fā)明,在上述實(shí)施例五至實(shí)施例八中,當(dāng)數(shù)據(jù)同步完成時(shí),還可以包括更新同步的時(shí)間戳的步驟,也就是說,在服務(wù)器端根據(jù)同步時(shí)間生成時(shí)間戳,并保存。
[0127]根據(jù)本發(fā)明,在上述實(shí)施例五至實(shí)施例八中,還可以包括以下步驟:
[0128]接收所述客戶端發(fā)送的客戶端本地?cái)?shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)與服務(wù)器端相應(yīng)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)的映射關(guān)系,保存并維護(hù)所述映射關(guān)系。
[0129]具體地,同步完成后客戶端可以對(duì)更新后的本地?cái)?shù)據(jù)進(jìn)行標(biāo)識(shí),賦予LUID(本地唯一標(biāo)識(shí)符,Locally Unique Identifier),并根據(jù)數(shù)據(jù)的⑶ID (全局唯一標(biāo)識(shí)符,Globally Unique Identifier),向所述服務(wù)器端發(fā)送更新后的本地?cái)?shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)與服務(wù)器端保存的相應(yīng)的數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)的映射關(guān)系,即,客戶端中數(shù)據(jù)的LUID標(biāo)識(shí)與服務(wù)器端相應(yīng)的數(shù)據(jù)的GUID標(biāo)識(shí)的映射關(guān)系,服務(wù)器端保存并維護(hù)該映射關(guān)系,以便進(jìn)行下次數(shù)據(jù)同步時(shí)使用。
[0130]根據(jù)本發(fā)明,在上述實(shí)施例五至實(shí)施例八中,還可以包括:數(shù)據(jù)同步完成后,向所述客戶端發(fā)送同步成功的確認(rèn)信息的步驟。
[0131]實(shí)施例九
[0132]圖9是根據(jù)本申請(qǐng)實(shí)施例九的數(shù)據(jù)同步裝置的結(jié)構(gòu)框圖,如圖9所示,該數(shù)據(jù)同步裝置900可以包括:
[0133]請(qǐng)求發(fā)送模塊901,用于向服務(wù)器端發(fā)送數(shù)據(jù)同步請(qǐng)求,所述數(shù)據(jù)同步請(qǐng)求中包含上一次同步的時(shí)間戳;
[0134]第一接收模塊902,用于接收所述服務(wù)器端返回的將所述請(qǐng)求中包含的上一次同步的時(shí)間戳與所述服務(wù)器端保存的上一次同步的時(shí)間戳進(jìn)行匹配的結(jié)果;
[0135]第一交互模塊903,用于在所述結(jié)果為匹配時(shí),與服務(wù)器交互修改的數(shù)據(jù)。
[0136]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903可以進(jìn)一步用于:在所述結(jié)果為匹配時(shí),向所述服務(wù)器端發(fā)送上一次同步后本地修改的數(shù)據(jù),由所述服務(wù)器端根據(jù)接收的該修改的數(shù)據(jù)更新服務(wù)器本地相應(yīng)的數(shù)據(jù)。
[0137]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903可以進(jìn)一步用于:在所述結(jié)果為匹配時(shí),接收所述服務(wù)器端發(fā)送的上一次同步后服務(wù)器端修改的數(shù)據(jù),并根據(jù)所述服務(wù)器端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0138]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903可以進(jìn)一步用于:在所述結(jié)果為匹配時(shí),向所述服務(wù)器端發(fā)送上一次同步后本地修改的數(shù)據(jù),由所述服務(wù)器端根據(jù)接收的該修改的數(shù)據(jù)更新服務(wù)器端相應(yīng)的數(shù)據(jù);以及接收所述服務(wù)器端發(fā)送的上一次同步后服務(wù)器端修改的數(shù)據(jù),并根據(jù)所述服務(wù)器端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0139]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述數(shù)據(jù)同步請(qǐng)求中還可以包含:需要同步的數(shù)據(jù)的類型、設(shè)備信息以及身份驗(yàn)證信息。
[0140]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903,可以包括:
[0141]解析子模塊,用于對(duì)所述服務(wù)器端修改的數(shù)據(jù)進(jìn)行解析;
[0142]更新子模塊,用于根據(jù)解析后得到的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0143]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903可以進(jìn)一步用于:向所述服務(wù)器端發(fā)送本地修改的數(shù)據(jù),該修改的數(shù)據(jù)為JSON數(shù)據(jù)格式。
[0144]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,所述第一交互模塊903還可以用于:如果所述結(jié)果為不匹配,則向所述服務(wù)器端發(fā)送所述本地的所有數(shù)據(jù);接收所述服務(wù)器端返回的本地需要修改的數(shù)據(jù);根據(jù)所述需要修改的數(shù)據(jù)更新本地的所有數(shù)據(jù),其中,所述需要修改的數(shù)據(jù)是所述服務(wù)器端將所述本地的所有數(shù)據(jù)與所述服務(wù)器端本地保存的相應(yīng)的數(shù)據(jù)進(jìn)行比對(duì)確定的。
[0145]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,還可以包括:通知接收模塊,用于接收所述服務(wù)器端推送的數(shù)據(jù)更新通知;所述第一請(qǐng)求模塊901可以進(jìn)一步用于當(dāng)接收所述服務(wù)器端推送的數(shù)據(jù)更新通知時(shí),向所述服務(wù)器端發(fā)送數(shù)據(jù)同步請(qǐng)求。
[0146]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,還可以包括:時(shí)間戳更新模塊,用于當(dāng)數(shù)據(jù)同步完成時(shí),更新同步的時(shí)間戳。
[0147]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,還可以包括:標(biāo)識(shí)模塊,用于對(duì)更新后的本地?cái)?shù)據(jù)進(jìn)行標(biāo)識(shí);以及映射關(guān)系發(fā)送模塊,用于向所述服務(wù)器端發(fā)送所述更新后的本地?cái)?shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)與服務(wù)器端保存的相應(yīng)的數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)的映射關(guān)系,以便由所述服務(wù)器端保存并維護(hù)所述映射關(guān)系。
[0148]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置900中,還可以包括:信息接收模塊,用于數(shù)據(jù)同步完成后,接收所述服務(wù)器端發(fā)送的同步確認(rèn)信息。
[0149]根據(jù)本申請(qǐng)實(shí)施例九的數(shù)據(jù)同步裝置900可以為客戶端。
[0150]實(shí)施例十
[0151]圖10是根據(jù)本申請(qǐng)實(shí)施例十的數(shù)據(jù)同步裝置的結(jié)構(gòu)框圖,如圖10所示,該數(shù)據(jù)同步裝置1000可以包括:
[0152]請(qǐng)求接收模塊1001,用于接收客戶端發(fā)送的數(shù)據(jù)同步請(qǐng)求,所述數(shù)據(jù)同步請(qǐng)求中包含上一次同步的時(shí)間戳;
[0153]匹配模塊1002,用于將所述請(qǐng)求中包含的上一次同步的時(shí)間戳與本地保存的上一次同步的時(shí)間戳進(jìn)行匹配,并向所述客戶端返回匹配的結(jié)果;
[0154]第二交互模塊1003,用于在所述結(jié)果為匹配的情況下,與客戶端交互修改的數(shù)據(jù)。
[0155]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,第二交互模塊1003,可以進(jìn)一步用于在所述結(jié)果為匹配的情況下,接收所述客戶端發(fā)送的上一次同步后客戶端修改的數(shù)據(jù);根據(jù)所述客戶端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù);
[0156]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,第二交互模塊1003,可以進(jìn)一步用于在所述結(jié)果為匹配的情況下,向所述客戶端發(fā)送上一次同步后本地修改的數(shù)據(jù),由所述客戶端根據(jù)接收的該修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0157]可選地,在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,第二交互模塊1003,可以進(jìn)一步用于在所述結(jié)果為匹配的情況下,接收所述客戶端發(fā)送的上一次同步后客戶端修改的數(shù)據(jù),并根據(jù)所述客戶端修改的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù);以及向所述客戶端發(fā)送上一次同步后本地修改的數(shù)據(jù),由所述客戶端根據(jù)接收的該修改的數(shù)據(jù)更新客戶端本地相應(yīng)的數(shù)據(jù)。
[0158]其中,所述數(shù)據(jù)同步請(qǐng)求中還可以包含:需要同步的數(shù)據(jù)的類型、客戶端設(shè)備信息以及身份驗(yàn)證信息。
[0159]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,所述第二交互模塊1003可以包括:解析子模塊,用于對(duì)所述客戶端修改的數(shù)據(jù)進(jìn)行解析;更新子模塊,用于根據(jù)解析后得到的數(shù)據(jù)更新本地相應(yīng)的數(shù)據(jù)。
[0160]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,所述第二交互模塊1003可以進(jìn)一步用于:向所述客戶端發(fā)送上一次同步后本地修改的數(shù)據(jù),該修改的數(shù)據(jù)為JSON數(shù)據(jù)格式。
[0161]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置1000中,所述第二交互模塊1003還可以用于:在所述驗(yàn)證結(jié)果為不匹配的情況下,則接收所述客戶端發(fā)送的所述客戶端的所有數(shù)據(jù)。
[0162]在根據(jù)本申請(qǐng)的數(shù)據(jù)同步裝置10