本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)傳輸
技術(shù)領(lǐng)域:
,尤其涉及一種數(shù)據(jù)重傳方法及系統(tǒng)。
背景技術(shù):
:在當(dāng)前的云服務(wù)時(shí)代,分散在各個(gè)節(jié)點(diǎn)服務(wù)器或者容器內(nèi)的日志需要統(tǒng)一的收集、歸整、分析,然后匯總、保存。隨著信息技術(shù)的高速發(fā)展,節(jié)點(diǎn)服務(wù)器所承載的業(yè)務(wù)量與日俱增,產(chǎn)生了海量日志數(shù)據(jù);同時(shí),隨著網(wǎng)絡(luò)的發(fā)展與運(yùn)營(yíng)商的多元化,服務(wù)提供商之間的相互競(jìng)爭(zhēng)更加激烈,對(duì)服務(wù)質(zhì)量的要求也越來(lái)越高,這就使得提供服務(wù)的節(jié)點(diǎn)服務(wù)器變得極其分散,再也不能只存在主流的運(yùn)營(yíng)商和少量的節(jié)點(diǎn)上。因此,收集和傳輸這些極其分散的海量日志數(shù)據(jù)更加困難。當(dāng)前的日志數(shù)據(jù)接收端需要接收和處理海量數(shù)據(jù),承擔(dān)的壓力和負(fù)載非常高,并且接收服務(wù)器的網(wǎng)絡(luò)環(huán)境和性能穩(wěn)定性也難以一直保持在理想狀態(tài)。同時(shí),在多元化的網(wǎng)絡(luò)運(yùn)營(yíng)商與復(fù)雜的網(wǎng)絡(luò)環(huán)境下,難以完全保障數(shù)據(jù)傳輸成功,這就使得,業(yè)務(wù)上要求高完整度地收集日志數(shù)據(jù)和網(wǎng)絡(luò)傳輸?shù)某晒β手g形成了矛盾。當(dāng)前的失敗重傳方案,只是在應(yīng)用層以常規(guī)簡(jiǎn)單的方式進(jìn)行不斷地重傳,這種方案在面對(duì)接收極其分散的海量日志數(shù)據(jù)的情況下,很難在最終結(jié)果上保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求,同時(shí)還可能對(duì)數(shù)據(jù)接收端服務(wù)器和網(wǎng)絡(luò)形成沖擊,加大了接收端負(fù)載,使當(dāng)前情況更加惡化,進(jìn)而帶來(lái)了不必要的網(wǎng)絡(luò)帶寬消耗,增加了成本。技術(shù)實(shí)現(xiàn)要素:為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)重傳方法及系統(tǒng)。所述技術(shù)方案如下:一方面,提供了一種數(shù)據(jù)重傳方法,包括如下步驟:發(fā)送端向接收端傳輸數(shù)據(jù);所述發(fā)送端和所述接收端均統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,分別生成發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果;所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù);所述發(fā)送端根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。進(jìn)一步的,所述重傳參數(shù)至少包括重傳周期、重傳速率。進(jìn)一步的,所述發(fā)送端和所述接收端均統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,分別生成發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果的步驟具體包括:所述發(fā)送端每隔第一設(shè)定時(shí)段對(duì)第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述發(fā)送端數(shù)據(jù)傳輸結(jié)果,所述發(fā)送端數(shù)據(jù)傳輸結(jié)果至少包括所述發(fā)送端在所述第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率;所述接收端每隔第二設(shè)定時(shí)段對(duì)第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述接收端數(shù)據(jù)傳輸結(jié)果,所述接收端數(shù)據(jù)傳輸結(jié)果至少包括所述接收端在所述第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。進(jìn)一步的,所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù)的步驟具體為:所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳周期,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳周期進(jìn)行匹配,調(diào)整下一重傳周期為當(dāng)前重傳周期的固定比例值;或者,所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳速率,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳速率進(jìn)行匹配,調(diào)整下一重傳速率為當(dāng)前重傳速率的固定比例值。進(jìn)一步的,所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳周期,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳周期進(jìn)行匹配,調(diào)整下一重傳周期為當(dāng)前重傳周期的固定比例值的步驟具體包括:如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸連接數(shù)超限的失敗狀態(tài)碼并且當(dāng)前重傳周期大于重傳周期設(shè)定值,則當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸連接數(shù)超限的失敗狀態(tài)碼,并且當(dāng)前重傳周期小于重傳周期設(shè)定值,則當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值。進(jìn)一步的,所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳速率,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳速率進(jìn)行匹配,調(diào)整下一重傳速率為當(dāng)前重傳速率的固定比例值的步驟具體包括:如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸帶寬限制的失敗狀態(tài)碼并且當(dāng)前重傳速率小于重傳速率設(shè)定值,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸帶寬限制的失敗狀態(tài)碼,并且當(dāng)前重傳速率大于重傳速率設(shè)定值,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值。進(jìn)一步的,所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù)的步驟具體為:所述發(fā)送端向所述接收端獲取接收端數(shù)據(jù)傳輸結(jié)果,如果獲取成功,則所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù);如果獲取失敗,則所述發(fā)送端根據(jù)所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù)。另一方面,提供了一種數(shù)據(jù)重傳系統(tǒng),包括發(fā)送端和接收端,所述發(fā)送端包括發(fā)送模塊、發(fā)送端統(tǒng)計(jì)模塊以及重傳模塊,所述接收端包括接收模塊和接收端統(tǒng)計(jì)模塊;所述發(fā)送模塊,用于向所述接收端傳輸數(shù)據(jù);所述發(fā)送端統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成發(fā)送端數(shù)據(jù)傳輸結(jié)果;所述接收模塊,用于接收所述發(fā)送端傳輸?shù)臄?shù)據(jù);所述接收端統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成接收端數(shù)據(jù)傳輸結(jié)果;所述重傳模塊,用于根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。進(jìn)一步的,所述重傳參數(shù)至少包括重傳周期、重傳速率。進(jìn)一步的,所述發(fā)送端統(tǒng)計(jì)模塊,還用于每隔第一設(shè)定時(shí)段對(duì)第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述發(fā)送端數(shù)據(jù)傳輸結(jié)果,所述發(fā)送端數(shù)據(jù)傳輸結(jié)果至少包括所述發(fā)送端在所述第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率;進(jìn)一步的,所述接收端統(tǒng)計(jì)模塊,還用于每隔第二設(shè)定時(shí)段對(duì)第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述接收端數(shù)據(jù)傳輸結(jié)果,所述接收端數(shù)據(jù)傳輸結(jié)果至少包括所述接收端在所述第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。進(jìn)一步的,所述重傳模塊還用于:將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳周期,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳周期進(jìn)行匹配,調(diào)整下一重傳周期為當(dāng)前重傳周期的固定比例值;或者,將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳速率,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳速率進(jìn)行匹配,調(diào)整下一重傳速率為當(dāng)前重傳速率的固定比例值。進(jìn)一步的,所述重傳模塊還用于:如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸連接數(shù)超限的失敗狀態(tài)碼并且當(dāng)前重傳周期大于重傳周期設(shè)定值,調(diào)整當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸連接數(shù)超限的失敗狀態(tài)碼,并且當(dāng)前重傳周期小于重傳周期設(shè)定值,調(diào)整當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值。進(jìn)一步的,所述重傳模塊還用于:如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸帶寬限制的失敗狀態(tài)碼并且當(dāng)前重傳速率小于重傳速率設(shè)定值,調(diào)整當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸帶寬限制的失敗狀態(tài)碼,并且當(dāng)前重傳速率大于重傳速率設(shè)定值,調(diào)整當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值。進(jìn)一步的,所述重傳模塊還用于,向所述接收端獲取接收端數(shù)據(jù)傳輸結(jié)果,如果獲取成功,則根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端;如果獲取失敗,則根據(jù)所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:根據(jù)數(shù)據(jù)傳輸結(jié)果調(diào)整數(shù)據(jù)重傳參數(shù)如重傳周期和重傳速率,實(shí)現(xiàn)智能數(shù)據(jù)重傳,能夠?qū)邮斩似鸬揭欢ǖ谋Wo(hù),并減少不必要的網(wǎng)絡(luò)傳輸帶寬消耗,最大限度地保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)重傳方法流程圖;圖2是本發(fā)明實(shí)施例一提供的步驟S102的詳細(xì)子步驟流程圖;圖3是本發(fā)明實(shí)施例一提供的另一種數(shù)據(jù)重傳方法流程圖;圖4是本發(fā)明實(shí)施例二提供的一種數(shù)據(jù)重傳系統(tǒng)示意圖;圖5是本發(fā)明實(shí)施例二提供的另一種數(shù)據(jù)重傳系統(tǒng)示意圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例一參見(jiàn)圖1,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)重傳方法,包括如下步驟:S101:發(fā)送端向接收端傳輸數(shù)據(jù)。在實(shí)際傳輸場(chǎng)景中,發(fā)送端的數(shù)量很多,并且分散在不同的地方,導(dǎo)致這些發(fā)送端的網(wǎng)絡(luò)環(huán)境復(fù)雜且多元化。相對(duì)于發(fā)送端,接收端的數(shù)量很少,但是,這些發(fā)送端都向每一個(gè)接收端發(fā)送同樣的數(shù)據(jù),這就導(dǎo)致每一個(gè)接收端將接收海量的數(shù)據(jù)。在數(shù)據(jù)傳輸過(guò)程中,每一個(gè)發(fā)送端根據(jù)其數(shù)據(jù)傳輸請(qǐng)求向接收端傳輸數(shù)據(jù),其中,數(shù)據(jù)傳輸請(qǐng)求包括數(shù)據(jù)傳輸?shù)母鞣N信息,例如數(shù)據(jù)接收目標(biāo)、數(shù)據(jù)大小、傳輸協(xié)議。S102:所述發(fā)送端和所述接收端均統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,分別生成發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果。在本實(shí)施例中,數(shù)據(jù)傳輸結(jié)果是作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ),該數(shù)據(jù)傳輸結(jié)果能夠反映接收端或發(fā)送端當(dāng)前的網(wǎng)絡(luò)環(huán)境,以及接收端或發(fā)送端服務(wù)器性能的穩(wěn)定性。數(shù)據(jù)傳輸結(jié)果包括很多,例如失敗狀態(tài)碼、數(shù)據(jù)傳輸次數(shù)、成功狀態(tài)碼。對(duì)于狀態(tài)碼,當(dāng)數(shù)據(jù)傳輸失敗時(shí),數(shù)據(jù)傳輸結(jié)果包括本次傳輸失敗的失敗狀態(tài)碼,當(dāng)數(shù)據(jù)傳輸成功時(shí)數(shù)據(jù)傳輸結(jié)果包括本次傳輸成功的狀態(tài)碼,在本實(shí)施例中,對(duì)失敗狀態(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),作為數(shù)據(jù)傳輸結(jié)果的數(shù)據(jù)來(lái)源。具體而言,失敗狀態(tài)碼是作為數(shù)據(jù)傳輸失敗原因的一種反饋標(biāo)識(shí),例如標(biāo)識(shí)網(wǎng)絡(luò)中斷或者傳輸寬帶限制導(dǎo)致的傳輸失敗。參見(jiàn)表1,表1列出了部分失敗狀態(tài)碼,當(dāng)然,表1的內(nèi)容還能夠根據(jù)具體情況進(jìn)行增減和編輯,在此不做限定。表1失敗狀態(tài)碼狀態(tài)碼含義500目標(biāo)網(wǎng)絡(luò)不可達(dá)501傳輸場(chǎng)景標(biāo)識(shí)不識(shí)別503數(shù)據(jù)輸出到目標(biāo)端口失敗507目標(biāo)服務(wù)器上數(shù)據(jù)輸出目錄寫(xiě)入失敗509傳輸帶寬限制510傳輸連接數(shù)超限參見(jiàn)圖2,在本實(shí)施例中,所述發(fā)送端和所述接收端均統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,分別生成發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果的步驟具體包括S1021-S1022兩個(gè)子步驟。S1021:所述發(fā)送端每隔第一設(shè)定時(shí)段對(duì)第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述發(fā)送端數(shù)據(jù)傳輸結(jié)果,所述發(fā)送端數(shù)據(jù)傳輸結(jié)果至少包括所述發(fā)送端在所述第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。例如,發(fā)送端每隔一分鐘對(duì)其五分鐘內(nèi)數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成發(fā)送端數(shù)據(jù)傳輸結(jié)果,其中,失敗狀態(tài)碼集合包括五分鐘內(nèi)所有數(shù)據(jù)傳輸?shù)氖顟B(tài)碼,總傳輸次數(shù)為五分鐘內(nèi)所有數(shù)據(jù)傳輸次數(shù)的總數(shù),成功率為五分鐘內(nèi)所有數(shù)據(jù)傳輸成功的次數(shù)占總傳輸次數(shù)的百分比,數(shù)據(jù)傳輸成功的次數(shù)由總傳輸次數(shù)減去失敗狀態(tài)碼總數(shù)得到。S1022:所述接收端每隔第二設(shè)定時(shí)段對(duì)第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述接收端數(shù)據(jù)傳輸結(jié)果,所述接收端數(shù)據(jù)傳輸結(jié)果至少包括所述接收端在所述第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。例如,接收端每隔一分鐘對(duì)其五分鐘內(nèi)數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成接收端數(shù)據(jù)傳輸結(jié)果。其中,失敗狀態(tài)碼集合包括五分鐘內(nèi)所有數(shù)據(jù)傳輸?shù)氖顟B(tài)碼,總傳輸次數(shù)為五分鐘內(nèi)所有數(shù)據(jù)傳輸次數(shù)的總數(shù),成功率為五分鐘內(nèi)所有數(shù)據(jù)傳輸成功的次數(shù)占總傳輸次數(shù)的百分比,數(shù)據(jù)傳輸成功的次數(shù)由總傳輸次數(shù)減去失敗狀態(tài)碼總數(shù)得到。需要說(shuō)明的是,上述第一設(shè)定時(shí)段和第二設(shè)定時(shí)段可以是相同的也可以是不同的,第一固定時(shí)段和第二固定時(shí)段可以是相同的也可以是不同的,在此不做限定。在本實(shí)施例中,由于接收端接收大量不同發(fā)送端的數(shù)據(jù)傳輸,因而其生成的接收端數(shù)據(jù)傳輸結(jié)果,較單個(gè)發(fā)送端生成的發(fā)送端數(shù)據(jù)傳輸結(jié)果更加具有全局性和更加準(zhǔn)確。數(shù)據(jù)傳輸結(jié)果是作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ),具體如何選用數(shù)據(jù)傳輸結(jié)果,有多種實(shí)施方式,可以?xún)?yōu)先采用接收端數(shù)據(jù)傳輸結(jié)果,也可以只采用發(fā)送端數(shù)據(jù)傳輸結(jié)果,還可以同時(shí)采用發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果。對(duì)于同時(shí)采用發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果的實(shí)施方式,此時(shí),存在兩套數(shù)據(jù)傳輸結(jié)果,優(yōu)先選用接收端的接收端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ);當(dāng)發(fā)送端獲取不到接收端數(shù)據(jù)傳輸結(jié)果時(shí),再采用發(fā)送端自身的發(fā)送端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ)。在這種情況下,接收端數(shù)據(jù)傳輸結(jié)果和發(fā)送端數(shù)據(jù)傳輸結(jié)果互為備用,在其中一個(gè)數(shù)據(jù)傳輸結(jié)果無(wú)法采用時(shí),采用另一個(gè)數(shù)據(jù)傳輸結(jié)果,進(jìn)一步擴(kuò)大并保證了調(diào)整重傳參數(shù)的數(shù)據(jù)來(lái)源。S103:所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù)。在本實(shí)施例中,當(dāng)數(shù)據(jù)傳輸失敗時(shí),發(fā)送端不是一味的進(jìn)行傳輸嘗試,而是根據(jù)數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),進(jìn)行數(shù)據(jù)重傳。在本實(shí)施例中,所述重傳參數(shù)至少包括重傳周期、重傳速率。重傳周期是指數(shù)據(jù)傳輸失敗后,再次發(fā)起該數(shù)據(jù)傳輸?shù)闹芷?,例如?dāng)前接收端接收狀況良好,通過(guò)將傳輸周期調(diào)小,盡快將傳輸失敗的數(shù)據(jù)進(jìn)行重傳。重傳速率是指數(shù)據(jù)傳輸失敗后,重新傳輸數(shù)據(jù)的傳輸速率,例如當(dāng)前接收端網(wǎng)絡(luò)狀況不佳,只能承受較低的連接數(shù)和傳輸帶寬,通過(guò)調(diào)低傳輸速率,保證當(dāng)前數(shù)據(jù)傳輸?shù)姆€(wěn)定性和數(shù)據(jù)完整性。在本實(shí)施例中,所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳周期,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳周期進(jìn)行匹配,調(diào)整下一重傳周期為當(dāng)前重傳周期的固定比例值。上述匹配并調(diào)整重傳周期的過(guò)程具體為,如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸連接數(shù)超限的失敗狀態(tài)碼并且當(dāng)前重傳周期大于重傳周期設(shè)定值,調(diào)整當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值。例如,如果成功率大于等于80%并且總傳輸次數(shù)大于20并且不存在510狀態(tài)碼并且當(dāng)前重傳周期大于2s,則當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的50%,比如當(dāng)前重傳周期為3s,調(diào)整當(dāng)前重傳周期的下一重傳周期為1.5s。如果成功率小于成功率設(shè)定值或者存在傳輸連接數(shù)超限的失敗狀態(tài)碼,并且當(dāng)前重傳周期小于重傳周期設(shè)定值,則當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值。例如,如果成功率小于70%,或者,存在510狀態(tài)碼并且當(dāng)前重傳周期小于5s,則當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的120%。在本實(shí)施例中,所述發(fā)送端將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳速率,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳速率進(jìn)行匹配,調(diào)整下一重傳速率為當(dāng)前重傳速率的固定比例值。上述匹配并調(diào)整重傳速率的過(guò)程具體為,如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸帶寬限制的失敗狀態(tài)碼并且當(dāng)前重傳速率小于重傳速率設(shè)定值,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值。例如,如果成功率大于等于80%并且請(qǐng)求數(shù)大于20并且不存在509狀態(tài)碼并且當(dāng)前重傳速率小于1MB/s,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的110%。如果成功率小于成功率設(shè)定值或者存在傳輸帶寬限制的失敗狀態(tài)碼,并且當(dāng)前重傳速率大于重傳速率設(shè)定值,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值。例如,如果成功率小于70%,或者,存在509狀態(tài)碼并且當(dāng)前重傳速率大于0.1MB/s,則當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的90%。根據(jù)數(shù)據(jù)傳輸結(jié)果調(diào)整數(shù)據(jù)重傳參數(shù)如重傳周期和重傳速率,實(shí)現(xiàn)智能數(shù)據(jù)重傳,能夠?qū)邮斩似鸬揭欢ǖ谋Wo(hù),并減少不必要的網(wǎng)絡(luò)傳輸帶寬消耗,最大限度地保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求。進(jìn)一步的,上述調(diào)整重傳參數(shù)的過(guò)程還存在其他實(shí)施方式。例如,如果數(shù)據(jù)傳輸?shù)哪繕?biāo)臨時(shí)網(wǎng)絡(luò)中斷,在這段時(shí)間內(nèi),數(shù)據(jù)傳輸成功率很低,發(fā)送端調(diào)整重傳周期為最大值,中斷不必要的失敗重傳嘗試,同時(shí)直接累積失敗重傳任務(wù),并且在網(wǎng)絡(luò)恢復(fù)后,即成功率較高時(shí),提升重傳周期和重傳速率,盡快地將網(wǎng)絡(luò)中斷期間所失敗的傳輸任務(wù)重傳完成,保證目標(biāo)服務(wù)器上數(shù)據(jù)的完整性。另外,對(duì)于一些特別的狀態(tài)碼,比如表一中所列的501、503、507等非網(wǎng)絡(luò)因素(應(yīng)用層原因)造成的結(jié)果性失敗,再多的嘗試也沒(méi)有意義,當(dāng)比例超過(guò)一定的值,例如30%,除了為發(fā)送端的重傳提供決策基礎(chǔ),還可以直接產(chǎn)生報(bào)警信息,以便維護(hù)人員及時(shí)排查具體原因并恢復(fù),保障業(yè)務(wù)要求的數(shù)據(jù)完整性。S104:所述發(fā)送端根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。在本實(shí)施例中,上述發(fā)送端按照調(diào)整后的重傳周期和重傳速率,將數(shù)據(jù)重傳至接收端。參見(jiàn)圖3,圖3示出了本實(shí)施例的另一種實(shí)施方式,包括如下步驟:S301:發(fā)送端向接收端傳輸數(shù)據(jù)。S302:所述發(fā)送端和所述接收端均統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,分別生成發(fā)送端數(shù)據(jù)傳輸結(jié)果和接收端數(shù)據(jù)傳輸結(jié)果。S303:所述發(fā)送端向所述接收端獲取接收端數(shù)據(jù)傳輸結(jié)果,如果獲取成功,則所述發(fā)送端根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù);如果獲取失敗,則所述發(fā)送端根據(jù)所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù)。S304:所述發(fā)送端根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。在本實(shí)施方式中,由于存在兩套數(shù)據(jù)傳輸結(jié)果,優(yōu)先選用接收端的接收端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ);當(dāng)發(fā)送端獲取不到接收端數(shù)據(jù)傳輸結(jié)果時(shí),再采用發(fā)送端自身的發(fā)送端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ),進(jìn)一步擴(kuò)大并保證了調(diào)整重傳參數(shù)的數(shù)據(jù)來(lái)源。本實(shí)施例還存在其他的實(shí)施方式,例如發(fā)送端只根據(jù)接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),或者發(fā)送端只根據(jù)發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),也能夠?qū)邮斩似鸬揭欢ǖ谋Wo(hù),減少不必要的網(wǎng)絡(luò)傳輸帶寬消耗,保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求。實(shí)施例二參見(jiàn)圖4,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)重傳系統(tǒng),可以執(zhí)行實(shí)施例一中提供的數(shù)據(jù)重傳方法,包括發(fā)送端40和接收端41,其中,所述發(fā)送端40包括發(fā)送模塊401、發(fā)送端統(tǒng)計(jì)模塊402以及重傳模塊403,所述接收端41包括接收模塊411和接收端統(tǒng)計(jì)模塊412;所述發(fā)送模塊401,用于向所述接收端41傳輸數(shù)據(jù);所述發(fā)送端統(tǒng)計(jì)模塊402,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成發(fā)送端數(shù)據(jù)傳輸結(jié)果;所述接收模塊411,用于接收所述發(fā)送端40傳輸?shù)臄?shù)據(jù);所述接收端統(tǒng)計(jì)模塊412,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成接收端數(shù)據(jù)傳輸結(jié)果;所述重傳模塊403,用于根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。在本實(shí)施例中,所述重傳參數(shù)至少包括重傳周期、重傳速率。在本實(shí)施例中,所述發(fā)送端統(tǒng)計(jì)模塊402,還用于每隔第一設(shè)定時(shí)段對(duì)第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述發(fā)送端數(shù)據(jù)傳輸結(jié)果,所述發(fā)送端數(shù)據(jù)傳輸結(jié)果至少包括所述發(fā)送端40在所述第一固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。在本實(shí)施例中,所述接收端統(tǒng)計(jì)模塊412,還用于每隔第二設(shè)定時(shí)段對(duì)第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼和數(shù)據(jù)傳輸次數(shù)進(jìn)行統(tǒng)計(jì),生成所述接收端數(shù)據(jù)傳輸結(jié)果,所述接收端數(shù)據(jù)傳輸結(jié)果至少包括所述接收端41在所述第二固定時(shí)段內(nèi)其數(shù)據(jù)傳輸?shù)氖顟B(tài)碼集合、總傳輸次數(shù)、成功率。在本實(shí)施例中,所述重傳模塊403還用于,將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳周期,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳周期進(jìn)行匹配,調(diào)整下一重傳周期為當(dāng)前重傳周期的固定比例值。具體地,如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸連接數(shù)超限的失敗狀態(tài)碼并且當(dāng)前重傳周期大于重傳周期設(shè)定值,重傳模塊403調(diào)整當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸連接數(shù)超限的失敗狀態(tài)碼,并且當(dāng)前重傳周期小于重傳周期設(shè)定值,重傳模塊403調(diào)整當(dāng)前重傳周期的下一重傳周期為當(dāng)前重傳周期的固定比例值。在本實(shí)施例中,所述重傳模塊403還用于,將所述接收端數(shù)據(jù)傳輸結(jié)果或者所述發(fā)送端數(shù)據(jù)傳輸結(jié)果中的失敗狀態(tài)碼集合所包括的失敗狀態(tài)碼、總傳輸次數(shù)、成功率和當(dāng)前重傳速率,與設(shè)定失敗狀態(tài)碼、設(shè)定傳輸次數(shù)、設(shè)定成功率、設(shè)定重傳速率進(jìn)行匹配,調(diào)整下一重傳速率為當(dāng)前重傳速率的固定比例值。具體地,如果成功率大于等于成功率設(shè)定值并且總傳輸次數(shù)大于傳輸次數(shù)設(shè)定值并且不存在傳輸帶寬限制的失敗狀態(tài)碼并且當(dāng)前重傳速率小于重傳速率設(shè)定值,重傳模塊403調(diào)整當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值;如果成功率小于成功率設(shè)定值或者存在傳輸帶寬限制的失敗狀態(tài)碼,并且當(dāng)前重傳速率大于重傳速率設(shè)定值,重傳模塊403調(diào)整當(dāng)前重傳速率的下一重傳速率為當(dāng)前重傳速率的固定比例值。參見(jiàn)圖5,圖5示出了本實(shí)施例的另一種實(shí)施方式,包括發(fā)送端50和接收端51,其中,所述發(fā)送端50包括發(fā)送模塊501、發(fā)送端統(tǒng)計(jì)模塊502以及重傳模塊503,所述接收端51包括接收模塊511和接收端統(tǒng)計(jì)模塊512;所述發(fā)送模塊501,用于向所述接收端51傳輸數(shù)據(jù);所述發(fā)送端統(tǒng)計(jì)模塊502,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成發(fā)送端數(shù)據(jù)傳輸結(jié)果;所述接收模塊511,用于接收所述發(fā)送端50傳輸?shù)臄?shù)據(jù);所述接收端統(tǒng)計(jì)模塊512,用于統(tǒng)計(jì)數(shù)據(jù)傳輸結(jié)果,生成接收端數(shù)據(jù)傳輸結(jié)果;所述重傳模塊503,用于向所述接收端獲取接收端數(shù)據(jù)傳輸結(jié)果,如果獲取成功,則根據(jù)所述接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端;如果獲取失敗,則根據(jù)所述發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),并根據(jù)調(diào)整后的所述重傳參數(shù)將數(shù)據(jù)重傳至所述接收端。根據(jù)數(shù)據(jù)傳輸結(jié)果調(diào)整數(shù)據(jù)重傳參數(shù)如重傳周期和重傳速率,實(shí)現(xiàn)智能數(shù)據(jù)重傳,能夠?qū)邮斩似鸬揭欢ǖ谋Wo(hù),并減少不必要的網(wǎng)絡(luò)傳輸帶寬消耗,最大限度地保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求。在本實(shí)施方式中,存在兩套數(shù)據(jù)傳輸結(jié)果,優(yōu)先選用接收端51的接收端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ);當(dāng)發(fā)送端50獲取不到接收端數(shù)據(jù)傳輸結(jié)果時(shí),再采用發(fā)送端50自身的發(fā)送端數(shù)據(jù)傳輸結(jié)果作為調(diào)整重傳參數(shù)的數(shù)據(jù)基礎(chǔ)。在這種情況下,接收端數(shù)據(jù)傳輸結(jié)果和發(fā)送端數(shù)據(jù)傳輸結(jié)果互為備用,在其中一個(gè)數(shù)據(jù)傳輸結(jié)果無(wú)法采用時(shí),采用另一個(gè)數(shù)據(jù)傳輸結(jié)果,進(jìn)一步擴(kuò)大并保證了調(diào)整重傳參數(shù)的數(shù)據(jù)來(lái)源。本實(shí)施例還存在其他的實(shí)施方式,例如重傳模塊503只根據(jù)接收端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),或者重傳模塊503只根據(jù)發(fā)送端數(shù)據(jù)傳輸結(jié)果調(diào)整重傳參數(shù),也能夠?qū)邮斩?1起到一定的保護(hù),減少不必要的網(wǎng)絡(luò)傳輸帶寬消耗,保障業(yè)務(wù)上對(duì)日志數(shù)據(jù)的完整性要求。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3