專利名稱:一種從云端服務(wù)器同步共享文件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種從云端服務(wù)器同步共享文件的方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,云計(jì)算和云存儲(chǔ)正越來(lái)越受到IT業(yè)界的關(guān)注,其應(yīng)用也逐漸推廣,獲得了廣泛的好評(píng)。云存儲(chǔ)是在云計(jì)算(cloud computing)概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,云計(jì)算是分布式處理(Distributed Computing)、并行處理(ParallelComputing)和網(wǎng)格計(jì)算(Grid Computing)的發(fā)展,是透過(guò)網(wǎng)絡(luò)將龐大的計(jì)算處理程序自動(dòng)分拆成無(wú)數(shù)個(gè)較小的子程序,再交由多部服務(wù)器所組成的龐大系統(tǒng)經(jīng)計(jì)算分析之后將處理結(jié)果回傳給用戶。通過(guò)云計(jì)算技術(shù),網(wǎng)絡(luò)服務(wù)提供者可以在數(shù)秒之內(nèi),處理數(shù)以千萬(wàn)計(jì)甚至億計(jì)的信息,達(dá)到和”超級(jí)計(jì)算機(jī)”同樣強(qiáng)大的網(wǎng)絡(luò)服務(wù)。云存儲(chǔ)的概念與云計(jì)算類似,它是指通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。云狀存儲(chǔ)系統(tǒng)中的所有設(shè)備對(duì)使用者來(lái)講都是完全透明的,任何地方的任何一個(gè)經(jīng)過(guò)授權(quán)的使用者都可以通過(guò)一根接入線纜與云存儲(chǔ)連接,對(duì)云存儲(chǔ)進(jìn)行數(shù)據(jù)訪問(wèn)。常用的云存儲(chǔ)方案中,用戶的數(shù)據(jù)存儲(chǔ)在云端服務(wù)器,用戶的任意設(shè)備接入互聯(lián)網(wǎng),都可以拿到存儲(chǔ)在云端服務(wù)器中的數(shù)據(jù),并且可以實(shí)現(xiàn)多臺(tái)終端的靈活運(yùn)用,不限制在哪一臺(tái)終端。目前云存儲(chǔ)逐漸擴(kuò)展為工作組用戶之間的云端數(shù)據(jù)共享,一個(gè)用戶可以建立自己的工作組,并將云端數(shù)據(jù)共享給工作組成員,便于工作組成員之間基于共同的數(shù)據(jù)協(xié)同工作。然而目前將云端服務(wù)器數(shù)據(jù)同步到工作組成員本地,一般都是采用直接從云端服務(wù)器下載數(shù)據(jù),在發(fā)生需要大量文件數(shù)據(jù)需要從云端同步下載到本地時(shí),會(huì)產(chǎn)生大數(shù)據(jù)流量傳輸,將占用非常多服務(wù)器端和本地網(wǎng)絡(luò)的互聯(lián)網(wǎng)接入帶寬資源,甚至造成出口帶寬擁塞現(xiàn)象。例如2009年發(fā)生的“暴風(fēng)影音”網(wǎng)絡(luò)擁塞事故。在用戶共享云端數(shù)據(jù)給工作組成員時(shí),很可能很多工作組成員都在同一局域網(wǎng)內(nèi),這是因?yàn)楣ぷ鹘M建立通常在同一個(gè)單位成員之間,因而當(dāng)同一個(gè)局域網(wǎng)內(nèi)多用戶進(jìn)行云端數(shù)據(jù)的同步時(shí),特別是當(dāng)大量文件數(shù)據(jù)進(jìn)行同步時(shí),網(wǎng)絡(luò)擁塞就是一個(gè)急需解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是解決同一局域網(wǎng)內(nèi)共享用戶從云端服務(wù)器同步共享文件時(shí),特別是當(dāng)大量文件數(shù)據(jù)進(jìn)行同步時(shí)導(dǎo)致的網(wǎng)絡(luò)擁塞問(wèn)題,提出了一種從云端服務(wù)器同步共享文件的方法,能快速同步共享文件。一種從云端服務(wù)器同步共享文件的方法,用于同一局域網(wǎng)內(nèi)的共享用戶從云端服務(wù)器同步共享文件,包括步驟:(I)、同一局域網(wǎng)內(nèi)的共享用戶輪詢檢測(cè)云端服務(wù)器是否有需要進(jìn)行同步的共享文件;
(2)、當(dāng)發(fā)現(xiàn)有需要進(jìn)行同步的共享文件時(shí),在局域網(wǎng)內(nèi)發(fā)送文件請(qǐng)求數(shù)據(jù)包;(3)、局域網(wǎng)內(nèi)的其他共享用戶接收到文件請(qǐng)求數(shù)據(jù)包后,在本地搜索是否擁有所述共享文件的數(shù)據(jù),如果有則發(fā)送應(yīng)答數(shù)據(jù)包,否則不回應(yīng);(4)、發(fā)送文件請(qǐng)求數(shù)據(jù)包的共享用戶收集局域網(wǎng)內(nèi)的應(yīng)答數(shù)據(jù)包,如果接收到應(yīng)答數(shù)據(jù)包,則根據(jù)應(yīng)答數(shù)據(jù)包從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步所述共享文件,否則進(jìn)入下一步;(5)、由至少一個(gè)共享用戶從云端服務(wù)器直接同步所述共享文件。進(jìn)一步地,所述步驟(I)包括步驟:(1.1)、同一局域網(wǎng)內(nèi)的共享用戶輪詢?cè)贫朔?wù)器,向云端服務(wù)器請(qǐng)求獲取一份最新的共享文件信息;(1.2)、根據(jù)所述共享文件信息比較所述云端服務(wù)器中共享文件數(shù)據(jù)與本地存儲(chǔ)的文件數(shù)據(jù),若發(fā)現(xiàn)存在不同的文件,則表示此文件就是需要同步的共享文件。其中,所述共享文件信息包括共享文件的文件名,文件大小,文件版本號(hào)和文件內(nèi)容摘要。通過(guò)比較共享文件信息,就能判斷出哪些文件是需要進(jìn)行同步的共享文件。進(jìn)一步地,所述文件請(qǐng)求數(shù)據(jù)包為UDP廣播數(shù)據(jù)包,所述文件請(qǐng)求數(shù)據(jù)包包括所述共享文件的散列值以及數(shù)據(jù)包發(fā)送者的設(shè)備ID號(hào)。文件請(qǐng)求數(shù)據(jù)包通過(guò)UDP廣播的形式向局域網(wǎng)用戶發(fā)送,任何局域網(wǎng)用戶都能夠收到,在收到文件請(qǐng)求數(shù)據(jù)包后會(huì)在本地查找是否有文件請(qǐng)求數(shù)據(jù)包中所請(qǐng)求的共享文件的數(shù)據(jù),有則回復(fù)應(yīng)答信息給發(fā)送者,否則不回應(yīng)。進(jìn)一步地,擁有所述共享文件的數(shù)據(jù)的其他共享用戶在收到文件請(qǐng)求數(shù)據(jù)包后,建立HTTP服務(wù)器并生成可供訪問(wèn)的URL地址,將URL封裝在應(yīng)答數(shù)據(jù)包中發(fā)送到所述文件請(qǐng)求數(shù)據(jù)包的發(fā)送者。所述文件請(qǐng)求數(shù)據(jù)包的發(fā)送者在接收到應(yīng)答數(shù)據(jù)包后,解析應(yīng)答數(shù)據(jù)包,訪問(wèn)所述的URL地址,從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步所述共享文件。其中,所述應(yīng)答數(shù)據(jù)包包括本機(jī)設(shè)備ID,URL地址以及本地該共享文件的數(shù)據(jù)信息,所述URL地址包括本機(jī)IP地址、下載端口和所述共享文件的散列值,所述數(shù)據(jù)信息包括本地已有的數(shù)據(jù)塊在所述共享文件中的起始位置和大小。應(yīng)答數(shù)據(jù)包也可以直接發(fā)送本機(jī)設(shè)備ID、本機(jī)IP地址、下載端口和所述共享文件的HASH值,及本地該共享文件的數(shù)據(jù)信息到文件請(qǐng)求數(shù)據(jù)包的發(fā)送者,文件請(qǐng)求數(shù)據(jù)包的發(fā)送者解析應(yīng)答數(shù)據(jù)包,合成URL地址并訪問(wèn),從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步所述共享文件。進(jìn)一步地,由至少一個(gè)共享用戶從云端服務(wù)器直接同步所述共享文件包括步驟:同一局域網(wǎng)內(nèi)的共享用戶根據(jù)接收的文件請(qǐng)求數(shù)據(jù)包,判斷請(qǐng)求共享文件同步的共享用戶數(shù),設(shè)置從云端服務(wù)器直接下載的用戶設(shè)備數(shù)量N ;比較本機(jī)設(shè)備ID號(hào)與其他共享用戶的設(shè)備ID號(hào),若本機(jī)設(shè)備ID號(hào)在所有同一局域網(wǎng)內(nèi)的共享用戶中按照升序排序在前N個(gè)之內(nèi),則從云端服務(wù)器直接同步所述共享文件,否則繼續(xù)發(fā)送文件請(qǐng)求數(shù)據(jù)包。通過(guò)設(shè)置直接從云端服務(wù)器下載共享文件的用戶設(shè)備個(gè)數(shù),可以有效提高大用戶量時(shí)同步共享文件的速度和效率。進(jìn)一步地,本發(fā)明的從云端服務(wù)器同步共享文件的方法還包括步驟:在共享文件未同步完成前共享用戶會(huì)定時(shí)發(fā)送文件請(qǐng)求數(shù)據(jù)包,直到共享文件同步完成。本發(fā)明提出的從云端服務(wù)器同步共享文件的方法,使同一局域網(wǎng)內(nèi)的共享用戶不需要都從云端服務(wù)器下載共享文件,只需要一個(gè)或幾個(gè)用戶先從云端服務(wù)器下載共享文件,其他用戶則從已經(jīng)下載了共享文件的用戶本地下載共享文件,大大提高了從云端服務(wù)器同步共享文件的效率,減少了占用的網(wǎng)絡(luò)帶寬。
圖1為本發(fā)明實(shí)施例網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖2為本發(fā)明從云端服務(wù)器同步共享文件的方法的流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明,以下實(shí)施例不構(gòu)成對(duì)本發(fā)明的限定。如圖1所示,有處于同一局域網(wǎng)內(nèi)的A、B、C三個(gè)共享用戶,云端服務(wù)器有一個(gè)新增文件同時(shí)共享給這三個(gè)同一局域網(wǎng)內(nèi)的共享用戶,新增的共享文件稱為共享文件。以圖1為例,本發(fā)明從云端服務(wù)器同步共享文件的方法流程如圖2所示,包括步驟:步驟21、同一局域網(wǎng)內(nèi)的共享用戶輪詢檢測(cè)云端服務(wù)器是否有需要進(jìn)行同步的共享文件。同一局域網(wǎng)內(nèi)的三個(gè)用戶A、B、C通過(guò)輪詢檢測(cè)云端服務(wù)器是否有需要進(jìn)行同步的共享文件,通常當(dāng)共享文件夾中的文件有變動(dòng)(增加,修改或者刪除)時(shí),就需要進(jìn)行同步。使用云存儲(chǔ)共享的用戶會(huì)安裝一個(gè)客戶端,用戶A、B、C他們各自的本地客戶端會(huì)每隔一定周期,例如60秒,向云端服務(wù)器請(qǐng)求獲取一份這個(gè)時(shí)間間隔內(nèi)云端服務(wù)器共享文件夾的共享文件信息清單,根據(jù)清單內(nèi)的每個(gè)文件信息與本地存儲(chǔ)的文件進(jìn)行比較,文件信息包括文件名,文件大小,文件版本,文件內(nèi)容摘要等信息,客戶端會(huì)根據(jù)比較的結(jié)果判斷是否有需要進(jìn)行同步的共享文件,若發(fā)現(xiàn)存在不同的文件,則表示此文件就是需要同步的共享文件,并進(jìn)行同步,即下載新的文件,覆蓋修改的文件,刪除多余的文件。需要說(shuō)明的是,如何比較本地?cái)?shù)據(jù)與云端服務(wù)器數(shù)據(jù)是否有不同,如何判斷有哪些文件需要更新,不是本發(fā)明的重點(diǎn),例如有根據(jù)文件的散列值進(jìn)行判斷等方法,這里不再贅述。步驟22、當(dāng)發(fā)現(xiàn)有需要進(jìn)行同步的共享文件時(shí),在局域網(wǎng)內(nèi)發(fā)送文件請(qǐng)求數(shù)據(jù)包。同一局域網(wǎng)內(nèi)的三個(gè)用戶A、B、C,無(wú)論是誰(shuí)發(fā)現(xiàn)有需要進(jìn)行同步下載的共享文件時(shí),都在局域網(wǎng)內(nèi)發(fā)送文件請(qǐng)求UDP (User Datagram Protocol用戶數(shù)據(jù)包協(xié)議)廣播數(shù)據(jù)包。數(shù)據(jù)包中包含該共享文件的散列值(HASH值)、以及數(shù)據(jù)包發(fā)送者的設(shè)備ID號(hào)。用戶A、B、C在經(jīng)過(guò)輪詢后,如果發(fā)現(xiàn)有需要同步的共享文件,那么就會(huì)分別發(fā)送文件請(qǐng)求數(shù)據(jù)包。步驟23、局域網(wǎng)內(nèi)的所有用戶接收到文件請(qǐng)求數(shù)據(jù)包后,在本地搜索是否擁有該共享文件的數(shù)據(jù),如果有則發(fā)送應(yīng)答數(shù)據(jù)包,否則不回應(yīng)。例如,如果用戶A發(fā)送了文件請(qǐng)求數(shù)據(jù)包,那么用戶B和用戶C就會(huì)收到該文件請(qǐng)求數(shù)據(jù)包,收到后用戶B和用戶C就在本地搜索,若發(fā)現(xiàn)其本地?fù)碛性摴蚕砦募?shù)據(jù)(已下載整個(gè)或部分文件),則發(fā)送應(yīng)答數(shù)據(jù)包給用戶A,若本地?zé)o相關(guān)文件數(shù)據(jù)且沒(méi)有從云端開(kāi)始下載該共享文件則不回應(yīng)。如果用戶B本地?fù)碛性摴蚕砦募?shù)據(jù),則在收到文件請(qǐng)求數(shù)據(jù)包后,建立HTTP服務(wù)器(http sever)并生成可供訪問(wèn)的URL地址,該URL包括用戶B的主機(jī)IP地址、下載端口、及該共享文件hash值。并向請(qǐng)求方用戶A發(fā)送應(yīng)答數(shù)據(jù)包,應(yīng)答數(shù)據(jù)包包括用戶B的本機(jī)設(shè)備ID,以及剛生成的URL地址和本地該共享文件的數(shù)據(jù)信息,向用戶A反饋本機(jī)設(shè)備ID以及本機(jī)IP,下載端口,該共享文件hash值和本地該共享文件的數(shù)據(jù)信息。用戶C本地沒(méi)有該共享文件數(shù)據(jù),則不進(jìn)行回應(yīng)。這里的數(shù)據(jù)信息是指本地已有的數(shù)據(jù)塊在文件中的起始位置和大小。需要說(shuō)明的是,本發(fā)明的應(yīng)答數(shù)據(jù)包可以包括由用戶B生成的URL地址,直接發(fā)送到用戶A,也可以在應(yīng)答數(shù)據(jù)包中包括用戶B的IP地址,下載端口和該共享文件的hash值,由用戶A生成URL并訪問(wèn),本發(fā)明不限于采用哪種方法。步驟24、發(fā)送文件請(qǐng)求數(shù)據(jù)包的共享用戶收集局域網(wǎng)內(nèi)的應(yīng)答數(shù)據(jù)包,如果接收到應(yīng)答數(shù)據(jù)包,則根據(jù)應(yīng)答數(shù)據(jù)包從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步該共享文件,否則進(jìn)入下一步。發(fā)送請(qǐng)求數(shù)據(jù)包的用戶A將會(huì)等待5秒,收集局域網(wǎng)內(nèi)回復(fù)數(shù)據(jù)包。分析回復(fù)數(shù)據(jù)包后,如果發(fā)現(xiàn)局域網(wǎng)內(nèi)有用戶本地?fù)碛行枰降墓蚕砦募臄?shù)據(jù),則從該本地?fù)碛袛?shù)據(jù)的用戶獲取文件數(shù)據(jù)。例如用戶A收到用戶B的應(yīng)答數(shù)據(jù)包,則根據(jù)應(yīng)答數(shù)據(jù)包中包含的信息,并訪問(wèn)該URL地址,從用戶B本地同步下載數(shù)據(jù)。如果用戶C也在本地有該共享文件的數(shù)據(jù),則也發(fā)送應(yīng)答數(shù)據(jù)包,此時(shí)用戶A先接收到誰(shuí)的應(yīng)答信息就先從哪里同步該共享文件。步驟25、由至少一個(gè)共享用戶從云端服務(wù)器直接同步共享文件。如果局域網(wǎng)內(nèi)無(wú)人擁有該共享文件數(shù)據(jù),即用戶B和用戶C在本地都沒(méi)有需要同步的共享文件的數(shù)據(jù),則不回應(yīng),這時(shí)候則優(yōu)先由設(shè)備ID號(hào)小的用戶從云端服務(wù)器下載。例如如果用戶A、用戶B和用戶C都在本地沒(méi)有該共享文件的數(shù)據(jù),則都會(huì)發(fā)送文件請(qǐng)求數(shù)據(jù)包,各用戶會(huì)比較自己與其他用戶的設(shè)備ID號(hào),如果自己的設(shè)備ID號(hào)最小,則去云端服務(wù)器同步數(shù)據(jù)。用戶A、用戶B和用戶C根據(jù)文件請(qǐng)求數(shù)據(jù)包來(lái)比較各自設(shè)備ID,設(shè)備ID號(hào)小的客戶從云端服務(wù)器下載該共享文件,如果用戶C通過(guò)比較后,發(fā)現(xiàn)自己的設(shè)備ID號(hào)最小,則從云端服務(wù)器下載該共享文件,用戶C在收到其他用戶的文件請(qǐng)求數(shù)據(jù)包后,則應(yīng)答從云端服務(wù)器新下載的信息,該信息包括從云端下載的數(shù)據(jù)塊在文件中的起始位置和大小,并供局域網(wǎng)內(nèi)其他用戶同步。若同一局域網(wǎng)內(nèi)的共享用戶數(shù)超過(guò)額定值,當(dāng)同步用戶較多情況下,一般當(dāng)同一文件有超過(guò)10個(gè)用戶同時(shí)有同步需求時(shí)則判多,這時(shí)候可調(diào)節(jié)ID號(hào)排序在前的N個(gè)設(shè)備從云端服務(wù)器同步下載數(shù)據(jù),其他用戶向這些設(shè)備請(qǐng)求文件數(shù)據(jù)。即根據(jù)接收的文件請(qǐng)求數(shù)據(jù)包,判斷請(qǐng)求共享文件同步的共享用戶數(shù),設(shè)置從云端服務(wù)器直接下載的用戶設(shè)備數(shù)量N ;比較本機(jī)設(shè)備ID號(hào)與其他共享用戶的設(shè)備ID號(hào),若本機(jī)設(shè)備ID號(hào)在所有同一局域網(wǎng)內(nèi)的共享用戶中按照升序排序在前N個(gè)之內(nèi),則從云端服務(wù)器直接同步所述共享文件,否則繼續(xù)發(fā)送文件請(qǐng)求數(shù)據(jù)包。
需要說(shuō)明的是,用戶本地都安裝有客戶端,上述步驟都通過(guò)客戶端來(lái)執(zhí)行,也可以通過(guò)客戶端的設(shè)置來(lái)確定當(dāng)用戶較多的情況下由幾個(gè)用戶從云端服務(wù)器下載共享文件。設(shè)置的方法可以根據(jù)需求同步的用戶數(shù)除以10取整的值作為從云端服務(wù)器同步的設(shè)備數(shù),設(shè)備ID號(hào)按照降序或者升序排序不影響本發(fā)明的效果,即可以選擇設(shè)備ID號(hào)大的用戶去從云端服務(wù)器直接同步共享文件,也可以選擇設(shè)備ID號(hào)小的用戶去從云端服務(wù)器直接同步共享文件,這里不再贅述。同時(shí)在文件未同步完成前請(qǐng)求數(shù)據(jù)包會(huì)定時(shí)發(fā)送,持續(xù)向局域網(wǎng)內(nèi)其他用戶索取文件數(shù)據(jù),而其他用戶在收到請(qǐng)求數(shù)據(jù)包后進(jìn)行相應(yīng)的回應(yīng)。以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種從云端服務(wù)器同步共享文件的方法,用于使用云存儲(chǔ)的同一局域網(wǎng)內(nèi)的共享用戶從云端服務(wù)器同步共享文件,其特征在于,包括步驟: (1)、同一局域網(wǎng)內(nèi)的共享用戶輪詢檢測(cè)云端服務(wù)器是否有需要進(jìn)行同步的共享文件; (2)、當(dāng)發(fā)現(xiàn)有需要進(jìn)行同步的共享文件時(shí),在局域網(wǎng)內(nèi)發(fā)送文件請(qǐng)求數(shù)據(jù)包; (3)、局域網(wǎng)內(nèi)的其他共享用戶接收到文件請(qǐng)求數(shù)據(jù)包后,在本地搜索是否擁有所述共享文件的數(shù)據(jù),如果有則發(fā)送應(yīng)答數(shù)據(jù)包,否則不回應(yīng); (4)、發(fā)送文件請(qǐng)求數(shù)據(jù)包的共享用戶收集局域網(wǎng)內(nèi)的應(yīng)答數(shù)據(jù)包,如果接收到應(yīng)答數(shù)據(jù)包,則根據(jù)應(yīng)答數(shù)據(jù)包從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步所述共享文件,否則進(jìn)入下一步; (5)、由至少一個(gè)共享用戶從云端服務(wù)器直接同步所述共享文件。
2.根據(jù)權(quán)利要求1所述的從云端服務(wù)器同步共享文件的方法,其特征在于,所述步驟(I)包括步驟: (1.1)、同一局域網(wǎng)內(nèi)的共享用戶輪詢?cè)贫朔?wù)器,向云端服務(wù)器請(qǐng)求獲取一份最新的共享文件信息; (1.2)、根據(jù)所述共享文件信息比較所述云端服務(wù)器中共享文件數(shù)據(jù)與本地存儲(chǔ)的文件數(shù)據(jù),若發(fā)現(xiàn)存在不同的文件,則表示此文件就是需要同步的共享文件。
3.根據(jù)權(quán)利要求2所述的從云`端服務(wù)器同步共享文件的方法,其特征在于,所述共享文件信息包括共享文件的文件名,文件大小,文件版本號(hào)和文件內(nèi)容摘要。
4.根據(jù)權(quán)利要求1所述的從云端服務(wù)器同步共享文件的方法,其特征在于,所述文件請(qǐng)求數(shù)據(jù)包為UDP廣播數(shù)據(jù)包。
5.根據(jù)權(quán)利要求4所述的從云端服務(wù)器同步共享文件的方法,其特征在于,所述文件請(qǐng)求數(shù)據(jù)包包括所述共享文件的散列值以及文件請(qǐng)求數(shù)據(jù)包發(fā)送者的設(shè)備ID號(hào)。
6.根據(jù)權(quán)利要求1所述的從云端服務(wù)器同步共享文件的方法,其特征在于,擁有所述共享文件的數(shù)據(jù)的其他共享用戶在收到文件請(qǐng)求數(shù)據(jù)包后,還包括步驟: 建立HTTP服務(wù)器并生成可供訪問(wèn)的URL地址,將URL封裝在應(yīng)答數(shù)據(jù)包中發(fā)送到所述文件請(qǐng)求數(shù)據(jù)包的發(fā)送者。
7.根據(jù)權(quán)利要求6所述的從云端服務(wù)器同步共享文件的方法,其特征在于,所述文件請(qǐng)求數(shù)據(jù)包的發(fā)送者在接收到應(yīng)答數(shù)據(jù)包后,解析應(yīng)答數(shù)據(jù)包,訪問(wèn)所述的URL地址,從發(fā)送該應(yīng)答數(shù)據(jù)包的共享用戶本地同步所述共享文件。
8.根據(jù)權(quán)利要求6或7所述的從云端服務(wù)器同步共享文件的方法,其特征在于,所述應(yīng)答數(shù)據(jù)包包括本機(jī)設(shè)備ID,URL地址以及本地該共享文件的數(shù)據(jù)信息,所述URL地址包括本機(jī)IP地址、下載端口和所述共享文件的散列值,所述數(shù)據(jù)信息包括本地已有的數(shù)據(jù)塊在所述共享文件中的起始位置和大小。
9.根據(jù)權(quán)利要求5所述的從云端服務(wù)器同步共享文件的方法,其特征在于,由至少一個(gè)共享用戶從云端服務(wù)器直接同步所述共享文件包括步驟: 同一局域網(wǎng)內(nèi)的共享用戶根據(jù)接收的文件請(qǐng)求數(shù)據(jù)包,判斷請(qǐng)求共享文件同步的共享用戶數(shù),設(shè)置從云端服務(wù)器直接下載的用戶設(shè)備數(shù)量N ; 比較本機(jī)設(shè)備ID號(hào)與其他共享用戶的設(shè)備ID號(hào),若本機(jī)設(shè)備ID號(hào)在所有同一局域網(wǎng)內(nèi)的共享用戶中按照升序排序在前N個(gè)之內(nèi),則從云端服務(wù)器直接同步所述共享文件,否則繼續(xù)發(fā)送文件請(qǐng)求數(shù)據(jù)包。
10.根據(jù)權(quán)利要求1所述的從 云端服務(wù)器同步共享文件的方法,其特征在于,還包括步驟: 在共享文件未同步完成前共享用戶會(huì)定時(shí)發(fā)送文件請(qǐng)求數(shù)據(jù)包。
全文摘要
本發(fā)明公開(kāi)了一種從云端服務(wù)器同步共享文件的方法,首先同一局域網(wǎng)內(nèi)的共享用戶輪詢?cè)贫朔?wù)器是否有需要同步的共享文件,若有則在局域網(wǎng)內(nèi)發(fā)送文件請(qǐng)求數(shù)據(jù)包;局域網(wǎng)內(nèi)的所有用戶接收到文件請(qǐng)求數(shù)據(jù)包后,在本地搜索是否擁有該共享文件的數(shù)據(jù),如果有則發(fā)送應(yīng)答數(shù)據(jù)包,否則不回應(yīng);發(fā)送文件請(qǐng)求數(shù)據(jù)包的用戶收集局域網(wǎng)內(nèi)的應(yīng)答數(shù)據(jù)包,判斷局域網(wǎng)內(nèi)是否有用戶具有需要下載的共享文件的數(shù)據(jù),如果有則從該本地?fù)碛袛?shù)據(jù)的用戶獲取該共享文件的數(shù)據(jù)。本發(fā)明的方法大大提高了從云端服務(wù)器同步共享文件的效率,減少了占用的網(wǎng)絡(luò)帶寬。
文檔編號(hào)H04L29/08GK103108051SQ20131006099
公開(kāi)日2013年5月15日 申請(qǐng)日期2013年2月27日 優(yōu)先權(quán)日2013年2月27日
發(fā)明者蔣爍淼 申請(qǐng)人:上海夠快網(wǎng)絡(luò)科技有限公司