本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種數(shù)據(jù)傳輸方法,以及,一種數(shù)據(jù)傳輸裝置。
背景技術(shù):
目前在系統(tǒng)升級(jí)、數(shù)據(jù)同步等的終端與網(wǎng)關(guān)進(jìn)行數(shù)據(jù)交互的場(chǎng)景中,通常由網(wǎng)關(guān)將用于升級(jí)或同步的數(shù)據(jù)幀傳輸至各個(gè)終端,由終端采用接收的數(shù)據(jù)幀進(jìn)行系統(tǒng)升級(jí)或數(shù)據(jù)同步。
為了保證數(shù)據(jù)傳輸?shù)耐暾裕ǔ2捎胦ta(overtheairtechnology,空間下載技術(shù))傳輸方式,網(wǎng)關(guān)將單個(gè)數(shù)據(jù)幀發(fā)送給用戶終端,用戶終端則需要逐幀確認(rèn),針對(duì)每個(gè)接收的數(shù)據(jù)幀返回一個(gè)接收確認(rèn)消息(ack,acknowledgement),網(wǎng)關(guān)收到接收確認(rèn)消息后再繼續(xù)發(fā)下一數(shù)據(jù)幀。如果沒(méi)有收到接收確認(rèn)消息,網(wǎng)關(guān)則會(huì)重復(fù)地發(fā)送同一數(shù)據(jù)幀。網(wǎng)關(guān)發(fā)送數(shù)據(jù)幀和終端返回接收確認(rèn)消息是一個(gè)完全串行的過(guò)程。
一方面,網(wǎng)關(guān)發(fā)送完當(dāng)前的數(shù)據(jù)幀后,需要等待一段時(shí)間,直到接收到確認(rèn)消息才能發(fā)送下一數(shù)據(jù)幀,網(wǎng)關(guān)與終端之間多次的確認(rèn)需要終端一直保持喚醒狀態(tài)以便處理接收的數(shù)據(jù)幀。終端長(zhǎng)時(shí)間保持喚醒狀態(tài),需要消耗終端大量的處理資源。
另一方面,終端針對(duì)每個(gè)接收的數(shù)據(jù)幀返回接收確認(rèn)消息,終端進(jìn)行過(guò)多的發(fā)送處理,則會(huì)消耗終端大量的處理資源。
因此,目前的數(shù)據(jù)傳輸方法存在著消耗終端大量處理資源的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種數(shù)據(jù)傳輸方法和數(shù)據(jù)傳輸裝置。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀;
在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,所述重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的步驟包括:
當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的步驟包括:
當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟包括:
發(fā)送一個(gè)數(shù)據(jù)幀,并監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
若是,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀;
若否,則標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟包括:
將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口;
將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟包括:
按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
可選地,所述接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息的步驟包括:
接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
所述方法還包括:
將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息的步驟包括:
接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
所述方法還包括:
根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)的步驟包括:
當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
接收網(wǎng)關(guān)連續(xù)發(fā)送的多個(gè)數(shù)據(jù)幀;
針對(duì)接收的多個(gè)數(shù)據(jù)幀,返回指向設(shè)定數(shù)量的數(shù)據(jù)幀的接收確認(rèn)消息,供所述網(wǎng)關(guān)在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:
數(shù)據(jù)幀發(fā)送模塊,用于向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀;
數(shù)據(jù)幀重發(fā)模塊,用于在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀重發(fā)模塊包括:
第一重發(fā)子模塊,用于當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述數(shù)據(jù)幀重發(fā)模塊包括:
第二重發(fā)子模塊,用于當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述數(shù)據(jù)幀發(fā)送模塊包括:
監(jiān)聽(tīng)子模塊,用于發(fā)送一個(gè)數(shù)據(jù)幀,并監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
所述數(shù)據(jù)幀發(fā)送模塊具體用于繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀,或者,標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀發(fā)送模塊包括:
數(shù)據(jù)包拆分子模塊,用于將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口;
數(shù)據(jù)幀發(fā)送子模塊,用于將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
可選地,所述數(shù)據(jù)幀發(fā)送模塊包括:
依次發(fā)送數(shù)據(jù)幀子模塊,用于按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
可選地,所述數(shù)據(jù)幀發(fā)送模塊包括:
接收確認(rèn)消息接收子模塊,用于接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
所述裝置還包括:
發(fā)送成功數(shù)據(jù)幀標(biāo)記模塊,用于將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀發(fā)送模塊包括:
查找指示信息接收子模塊,用于接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
所述裝置還包括:
歷史發(fā)送數(shù)據(jù)幀查找模塊,用于根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述第二重發(fā)子模塊包括:
發(fā)送失敗數(shù)據(jù)幀重發(fā)子單元,用于當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:
數(shù)據(jù)幀接收模塊,用于接收網(wǎng)關(guān)連續(xù)發(fā)送的多個(gè)數(shù)據(jù)幀;
接收確認(rèn)消息返回模塊,用于返回指向設(shè)定數(shù)量的數(shù)據(jù)幀的接收確認(rèn)消息,供所述網(wǎng)關(guān)在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
根據(jù)本發(fā)明實(shí)施例,網(wǎng)關(guān)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收終端返回的接收確認(rèn)消息,根據(jù)指向設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以一次性地確認(rèn)設(shè)定數(shù)量的發(fā)送成功數(shù)據(jù)幀或發(fā)送失敗數(shù)據(jù)幀,并針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā),由此,在保證數(shù)據(jù)完整性的同時(shí),縮短了終端保持喚醒狀態(tài)的時(shí)間,節(jié)省了終端消耗的處理資源;而且,終端無(wú)須針對(duì)每個(gè)接收到的數(shù)據(jù)幀返回接收確認(rèn)消息,節(jié)省了終端消耗的處理資源。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例一的一種數(shù)據(jù)傳輸方法的步驟流程圖;
圖2示出了本發(fā)明實(shí)施例二的一種數(shù)據(jù)傳輸方法的步驟流程圖;
圖3示出了本發(fā)明實(shí)施例三的一種數(shù)據(jù)傳輸方法的步驟流程圖;
圖4示出了本發(fā)明實(shí)施例四的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖5示出了本發(fā)明實(shí)施例五的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖6示出了本發(fā)明實(shí)施例六的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖7示出了本發(fā)明實(shí)施例的一種發(fā)送數(shù)據(jù)幀的步驟流程圖;
圖8示出了本發(fā)明實(shí)施例的另一種發(fā)送數(shù)據(jù)幀的步驟流程圖;
圖9示出了本發(fā)明實(shí)施例的一種返回接收確認(rèn)消息的步驟流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)傳輸方法。
參照?qǐng)D1,示出了本發(fā)明實(shí)施例一的一種數(shù)據(jù)傳輸方法的步驟流程圖。
步驟101,向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀。
需要說(shuō)明的是,上述的終端可以包括任何具有數(shù)據(jù)處理能力的智能設(shè)備,如電腦、手機(jī)等終端,又如智能門鎖、智能電視機(jī)、智能空調(diào)等家居設(shè)備。
具體實(shí)現(xiàn)中,網(wǎng)關(guān)可以將多個(gè)數(shù)據(jù)幀連續(xù)不斷地發(fā)送至終端。例如,網(wǎng)關(guān)根據(jù)數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)出數(shù)據(jù)幀,在發(fā)出一個(gè)數(shù)據(jù)幀后,并不需要等待終端針對(duì)當(dāng)前數(shù)據(jù)幀返回的接收確認(rèn)消息,即可繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。又例如,網(wǎng)關(guān)在發(fā)出一個(gè)數(shù)據(jù)幀后,可以等待一段時(shí)間后,無(wú)論是否收到接收確認(rèn)消息,仍然繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
本領(lǐng)域技術(shù)人員可以根據(jù)需要采用不同的方式實(shí)現(xiàn)多個(gè)數(shù)據(jù)幀的連續(xù)發(fā)送,以保證在終端沒(méi)有返回接收確認(rèn)消息的情況下仍能繼續(xù)發(fā)送下一數(shù)據(jù)幀。
終端在接收到數(shù)據(jù)幀后,可以返回針對(duì)數(shù)據(jù)幀的接收確認(rèn)消息。其中,接收確認(rèn)消息可以指向設(shè)定數(shù)量的數(shù)據(jù)幀。例如,終端可以針對(duì)多個(gè)接收到的數(shù)據(jù)幀返回一個(gè)接收確認(rèn)消息,而無(wú)須僅僅限于針對(duì)一個(gè)數(shù)據(jù)幀返回一個(gè)接收確認(rèn)消息。
實(shí)際應(yīng)用中,終端可以根據(jù)其所處網(wǎng)絡(luò)環(huán)境,確定所返回的接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,還是指向多個(gè)連續(xù)的數(shù)據(jù)幀。例如,在網(wǎng)絡(luò)環(huán)境較佳的情況下,適合于在當(dāng)前重發(fā)多個(gè)數(shù)據(jù)幀,可以在單個(gè)的接收確認(rèn)消息中添加多個(gè)數(shù)據(jù)幀的幀標(biāo)識(shí),而在網(wǎng)絡(luò)環(huán)境相對(duì)不理想的情況下,并不適合在當(dāng)前重發(fā)數(shù)據(jù)幀,則可以在單個(gè)的接收確認(rèn)消息中添加單個(gè)數(shù)據(jù)幀的幀標(biāo)識(shí)。從而使得網(wǎng)關(guān)可以根據(jù)接收確認(rèn)消息中所指向設(shè)定數(shù)量的數(shù)據(jù)幀,在數(shù)據(jù)幀發(fā)送失敗的情況下,采用匹配于終端所處網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)幀重發(fā)方式。
步驟102,在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,網(wǎng)關(guān)可以根據(jù)終端返回的接收確認(rèn)消息所指向的數(shù)據(jù)幀,確定歷史發(fā)送的多個(gè)數(shù)據(jù)幀中,沒(méi)有被接收確認(rèn)消息指向的確定為發(fā)送失敗的數(shù)據(jù)幀。在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,可以確定發(fā)送失敗的數(shù)據(jù)幀后,并重發(fā)該部分的數(shù)據(jù)幀。
在其中一種重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的具體實(shí)施方式中,可以在單個(gè)接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀的時(shí)候,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。例如,網(wǎng)關(guān)針對(duì)指向一個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以在當(dāng)前發(fā)送某個(gè)數(shù)據(jù)幀后,若沒(méi)有接收到針對(duì)該數(shù)據(jù)幀的接收確認(rèn)消息,則可以將該數(shù)據(jù)幀標(biāo)記為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。在將全部的數(shù)據(jù)幀均發(fā)送完畢后,將標(biāo)記的發(fā)送失敗數(shù)據(jù)幀重新發(fā)送至終端。
在另一種重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的具體實(shí)施方式中,可以在單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。例如,在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,若當(dāng)前沒(méi)有接收到指向該多個(gè)連續(xù)數(shù)據(jù)幀的接收確認(rèn)消息,則可以將該多個(gè)連續(xù)的數(shù)據(jù)幀重新發(fā)送至終端。
本領(lǐng)域技術(shù)人員可以實(shí)際需要采用不同方式重發(fā)沒(méi)有被接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀,本發(fā)明實(shí)施例對(duì)此不作限制。
根據(jù)本發(fā)明實(shí)施例,網(wǎng)關(guān)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收終端返回的接收確認(rèn)消息,根據(jù)指向設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以一次性地確認(rèn)設(shè)定數(shù)量的發(fā)送成功數(shù)據(jù)幀或發(fā)送失敗數(shù)據(jù)幀,并針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā),由此,在保證數(shù)據(jù)完整性的同時(shí),一方面,網(wǎng)關(guān)無(wú)須等待終端的接收確認(rèn)消息即可發(fā)送下一數(shù)據(jù)幀,縮短了數(shù)據(jù)傳輸過(guò)程耗費(fèi)的時(shí)間,從而縮短了終端保持喚醒狀態(tài)的時(shí)間,節(jié)省了終端消耗的處理資源;另一方面,終端無(wú)須針對(duì)每個(gè)接收到的數(shù)據(jù)幀返回接收確認(rèn)消息,減少了發(fā)送處理,節(jié)省了終端消耗的處理資源。因此,在整個(gè)數(shù)據(jù)傳輸過(guò)程中,節(jié)省了終端所消耗的處理資源。
實(shí)施例二
詳細(xì)介紹本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)傳輸方法。
參照?qǐng)D2,示出了本發(fā)明實(shí)施例二的一種數(shù)據(jù)傳輸方法的步驟流程圖。
步驟201,向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟可以包括以下子步驟:
子步驟s11,將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口。
子步驟s12,將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
需要說(shuō)明的是,上述的待發(fā)送數(shù)據(jù)包可以為發(fā)送給終端供終端系統(tǒng)升級(jí)的固件。具體實(shí)現(xiàn)中,可以將數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀??梢栽O(shè)定一個(gè)發(fā)送窗口,將多個(gè)數(shù)據(jù)幀輸入至該發(fā)送窗口。針對(duì)發(fā)送窗口上的多個(gè)數(shù)據(jù)幀,可以初始化一個(gè)設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口。
可以將該數(shù)據(jù)標(biāo)記窗口按照設(shè)定的時(shí)間間隔和滑動(dòng)幅度,沿?cái)?shù)據(jù)幀的排列方向進(jìn)行移動(dòng)。移動(dòng)后的數(shù)據(jù)標(biāo)記窗口可以標(biāo)記出若干個(gè)數(shù)據(jù)幀,將被標(biāo)記的若干數(shù)據(jù)幀發(fā)送至終端。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟可以包括以下子步驟:
子步驟s21,按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
具體實(shí)現(xiàn)中,可以根據(jù)多個(gè)待發(fā)送的數(shù)據(jù)幀的幀標(biāo)識(shí)的排列順序,依次發(fā)送給終端。實(shí)際應(yīng)用中,幀標(biāo)識(shí)可以是數(shù)據(jù)幀的幀號(hào),可以按照幀號(hào)的大小順序進(jìn)行發(fā)送。
實(shí)際應(yīng)用中,在所述步驟201之前,所述方法可以還包括:
向所述終端發(fā)送所述數(shù)據(jù)幀的摘要信息。
當(dāng)在設(shè)定時(shí)間范圍內(nèi)沒(méi)有收到所述終端返回的摘要校驗(yàn)成功消息,則停止發(fā)送數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,網(wǎng)關(guān)可以在進(jìn)行數(shù)據(jù)幀的發(fā)送之前,預(yù)先向終端發(fā)送當(dāng)前要發(fā)送的多個(gè)數(shù)據(jù)幀的摘要信息,供終端進(jìn)行初步的校驗(yàn)和獲取本次所要傳輸?shù)娜繑?shù)據(jù)幀的幀標(biāo)識(shí)等信息。實(shí)際應(yīng)用中,摘要信息可以是壓縮固件以及md5(messagedigestalgorithmmd5,消息摘要算法第五版)校驗(yàn)后生成的meta信息(metainformation,元信息)。
終端對(duì)摘要信息進(jìn)行校驗(yàn)后,可以根據(jù)校驗(yàn)結(jié)果相應(yīng)返回摘要校驗(yàn)成功消息或摘要校驗(yàn)失敗消息。校驗(yàn)成功則可以開(kāi)始數(shù)據(jù)幀的發(fā)送,校驗(yàn)失敗則不開(kāi)始數(shù)據(jù)幀發(fā)送。實(shí)際應(yīng)用中,可以針對(duì)發(fā)送的摘要信息設(shè)置定時(shí)器,以對(duì)終端返回消息進(jìn)行監(jiān)聽(tīng)計(jì)時(shí)。如果超過(guò)一定時(shí)間仍然未收到針對(duì)摘要信息的校驗(yàn)成功消息,則不開(kāi)始數(shù)據(jù)幀發(fā)送。
步驟202,接收所述終端針對(duì)校驗(yàn)失敗的數(shù)據(jù)幀返回的校驗(yàn)失敗消息。
步驟203,重發(fā)所述校驗(yàn)失敗消息對(duì)應(yīng)的數(shù)據(jù)幀。
終端針對(duì)接收的數(shù)據(jù)幀可以進(jìn)行校驗(yàn),以保證數(shù)據(jù)幀的內(nèi)容正確無(wú)損。若校驗(yàn)失敗,終端可以返回校驗(yàn)失敗消息至網(wǎng)關(guān)。由于可以接收到校驗(yàn)失敗消息,表明終端目前的網(wǎng)絡(luò)環(huán)境正常,因此網(wǎng)關(guān)可以針對(duì)校驗(yàn)失敗的數(shù)據(jù)幀即時(shí)進(jìn)行重發(fā),而無(wú)須等待到全部數(shù)據(jù)幀發(fā)送后再重發(fā)。若校驗(yàn)成功,終端可以直接返回接收確認(rèn)消息至網(wǎng)關(guān),從而網(wǎng)關(guān)可以繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
步驟204,在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,所述步驟204可以包括以下子步驟:
子步驟s31,當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
當(dāng)網(wǎng)關(guān)接收到的單個(gè)接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,可以采用相應(yīng)的數(shù)據(jù)幀重發(fā)方式進(jìn)行重發(fā)。具體地,在發(fā)送完全部的數(shù)據(jù)幀之后,可以在全部歷史發(fā)送數(shù)據(jù)幀中,查找不存在接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀作為發(fā)送失敗數(shù)據(jù)幀,將發(fā)送失敗數(shù)據(jù)幀發(fā)送至所述終端?;蛘撸诋?dāng)前發(fā)送某個(gè)數(shù)據(jù)幀后,若沒(méi)有接收到針對(duì)該一個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,則可以將該一個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。在發(fā)送完全部的數(shù)據(jù)幀之后,在歷史發(fā)送的數(shù)據(jù)幀中,查找標(biāo)記為發(fā)送失敗數(shù)據(jù)幀,將其全部重新發(fā)送至終端。
可選地,所述向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的步驟可以包括:
發(fā)送一個(gè)數(shù)據(jù)幀,并監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
若是,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀;
若否,則標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,網(wǎng)關(guān)可以在發(fā)送一個(gè)數(shù)據(jù)幀之后,針對(duì)每個(gè)發(fā)送的數(shù)據(jù)幀設(shè)置一個(gè)定時(shí)器,以對(duì)終端返回接收確認(rèn)消息進(jìn)行監(jiān)聽(tīng)計(jì)時(shí)。若網(wǎng)關(guān)在設(shè)定時(shí)間范圍內(nèi)接收到接收確認(rèn)消息,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。若在設(shè)定時(shí)間范圍內(nèi)仍為收到接收確認(rèn)消息,表明終端可能由于網(wǎng)絡(luò)環(huán)境不佳而無(wú)法成功接收數(shù)據(jù)幀或無(wú)法成功返回接收確認(rèn)消息。因此可以標(biāo)記當(dāng)前的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
實(shí)際應(yīng)用中,其中一種的針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)的具體實(shí)施方式中,可以監(jiān)聽(tīng)發(fā)送所述發(fā)送失敗數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;若是,則繼續(xù)發(fā)送下一個(gè)發(fā)送失敗數(shù)據(jù)幀,若否,則重發(fā)當(dāng)前的發(fā)送失敗數(shù)據(jù)幀。更具體地,在將全部數(shù)據(jù)幀發(fā)送至終端后,可以針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā)。重發(fā)過(guò)程中,若在設(shè)定時(shí)間范圍內(nèi)接收到接收確認(rèn)消息,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。若未接收到接收確認(rèn)消息,則可以重新發(fā)送當(dāng)前的數(shù)據(jù)幀。
在實(shí)際的數(shù)據(jù)傳輸應(yīng)用場(chǎng)景中,可能會(huì)因?yàn)榻K端所處的網(wǎng)絡(luò)環(huán)境不佳,導(dǎo)致發(fā)送數(shù)據(jù)幀或返回接收確認(rèn)消息失敗。例如,有其他用戶從正在進(jìn)行數(shù)據(jù)傳輸?shù)慕K端旁邊路過(guò),干擾了終端的網(wǎng)絡(luò)信號(hào),或者,當(dāng)前的網(wǎng)絡(luò)信號(hào)存在波動(dòng)等等。在網(wǎng)絡(luò)環(huán)境不佳的情況下,網(wǎng)關(guān)如果一直重發(fā)發(fā)送失敗的數(shù)據(jù)幀,則會(huì)導(dǎo)致整個(gè)數(shù)據(jù)傳輸?shù)暮臅r(shí)較長(zhǎng),終端也相應(yīng)地需要保持較長(zhǎng)的喚醒狀態(tài)。長(zhǎng)時(shí)間保持喚醒狀態(tài)需要消耗高功耗終端大量的處理資源,最終可能會(huì)影響終端的使用壽命。
根據(jù)本發(fā)明實(shí)施例,通過(guò)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,在終端所處網(wǎng)絡(luò)環(huán)境不佳而沒(méi)有收到接收確認(rèn)消息的情況下,繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀至到全部數(shù)據(jù)幀發(fā)送完畢,在終端所處網(wǎng)絡(luò)環(huán)境恢復(fù)正常后再重發(fā)數(shù)據(jù)幀。從而減少了在網(wǎng)絡(luò)環(huán)境不佳的情況下重發(fā)數(shù)據(jù)幀耗費(fèi)的時(shí)間,終端保持喚醒狀態(tài)的時(shí)間也相應(yīng)減少。在保證數(shù)據(jù)完整性的同時(shí),節(jié)省了終端所消耗的處理資源。而且,由于終端無(wú)須長(zhǎng)時(shí)間處于喚醒狀態(tài)處理數(shù)據(jù)幀,提升了終端的使用壽命。
可選地,所述步驟204可以包括以下子步驟:
子步驟s41,當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
當(dāng)網(wǎng)關(guān)接收到的單個(gè)接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,可以采用相應(yīng)的數(shù)據(jù)幀重發(fā)方式進(jìn)行重發(fā)。具體地,在當(dāng)前連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀后,若沒(méi)有接收到指向多個(gè)連續(xù)的數(shù)據(jù)幀的接收確認(rèn)消息,則可以將該多個(gè)連續(xù)的數(shù)據(jù)幀重新發(fā)送至終端。若在當(dāng)前連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀后,接收到指向多個(gè)連續(xù)的數(shù)據(jù)幀的接收確認(rèn)消息,則可以針對(duì)該多個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送成功數(shù)據(jù)幀,并繼續(xù)發(fā)送下一批的多個(gè)連續(xù)的數(shù)據(jù)幀。
在實(shí)際應(yīng)用中,可以針對(duì)每個(gè)發(fā)送的數(shù)據(jù)幀設(shè)置一個(gè)定時(shí)器,以對(duì)接收確認(rèn)消息的返回時(shí)間進(jìn)行計(jì)時(shí)監(jiān)聽(tīng)。針對(duì)連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀的情況,如果在一定時(shí)間內(nèi)仍然未接收到針對(duì)多個(gè)連續(xù)的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,則認(rèn)為之前連續(xù)發(fā)送的多個(gè)數(shù)據(jù)幀均發(fā)送失敗,可以對(duì)該多個(gè)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息的步驟可以包括以下子步驟:
子步驟s51,接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
所述方法可以還包括:
將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,終端在接收到多個(gè)數(shù)據(jù)幀后,可以將所接收的多個(gè)數(shù)據(jù)幀的幀標(biāo)識(shí)添加至接收確認(rèn)消息,然后返回給網(wǎng)關(guān)。網(wǎng)關(guān)接收到指向多個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息后,可以根據(jù)其中添加的多個(gè)幀標(biāo)識(shí),查找對(duì)應(yīng)的數(shù)據(jù)幀,將查找的多個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息的步驟可以包括以下子步驟:
子步驟s61,接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
所述方法可以還包括:
根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,終端在接收到多個(gè)數(shù)據(jù)幀后,可以將最新接收到的數(shù)據(jù)幀的幀標(biāo)識(shí)作為目標(biāo)幀標(biāo)識(shí),與查找指示信息一起添加至接收確認(rèn)消息,然后返回給網(wǎng)關(guān)。網(wǎng)關(guān)接收到指向多個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息后,可以根據(jù)查找指示信息和其中添加的目標(biāo)幀標(biāo)識(shí),在此前發(fā)送過(guò)的數(shù)據(jù)幀中,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的數(shù)據(jù)幀,將查找的多個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
在實(shí)際的數(shù)據(jù)傳輸應(yīng)用場(chǎng)景中,網(wǎng)關(guān)可以一定時(shí)間間隔連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀至終端,并針對(duì)每個(gè)發(fā)送的數(shù)據(jù)幀設(shè)置定時(shí)器,設(shè)置的超時(shí)時(shí)間可以為t1。終端在收到一個(gè)數(shù)據(jù)幀之后,即使對(duì)數(shù)據(jù)幀校驗(yàn)成功,也可以不立即返回接收確認(rèn)消息,而是根據(jù)超時(shí)時(shí)間t1和返回一個(gè)接收確認(rèn)消息所耗時(shí)間t2確定當(dāng)前的待機(jī)時(shí)間(t1-2*t2)。如果待機(jī)時(shí)間內(nèi)接收到更多數(shù)據(jù)幀,則在待機(jī)時(shí)間結(jié)束后,返回添加有最后收到的數(shù)據(jù)幀的目標(biāo)幀號(hào)的接收確認(rèn)消息。網(wǎng)關(guān)收到該接收確認(rèn)消息后,則可以將幀號(hào)小于目標(biāo)幀號(hào)的多個(gè)數(shù)據(jù)幀的定時(shí)器進(jìn)行關(guān)閉,表明該部分的數(shù)據(jù)幀為發(fā)送成功的數(shù)據(jù)幀,并繼續(xù)發(fā)送后續(xù)的多個(gè)數(shù)據(jù)幀。例如,網(wǎng)關(guān)依次發(fā)送了幀號(hào)為1至10的數(shù)據(jù)幀至終端,收到的接收確認(rèn)消息中添加有幀號(hào)10,則可以認(rèn)為幀號(hào)為1至10的數(shù)據(jù)幀均發(fā)送成功。
可選地,所述子步驟s61可以包括:
當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
具體實(shí)現(xiàn)中,網(wǎng)關(guān)發(fā)送了多個(gè)連續(xù)的數(shù)據(jù)幀之后,若沒(méi)有接收到接收確認(rèn)消息,則可以依據(jù)最近發(fā)送的數(shù)據(jù)幀的幀標(biāo)識(shí),查找小于該幀標(biāo)識(shí)的多個(gè)歷史發(fā)送的數(shù)據(jù)幀,在查找的數(shù)據(jù)幀中,可以將未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的數(shù)據(jù)幀,作為發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā)。
根據(jù)本發(fā)明實(shí)施例,通過(guò)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,由終端返回一個(gè)指向多個(gè)數(shù)據(jù)幀的接收確認(rèn)消息,從而終端無(wú)須分別針對(duì)各個(gè)數(shù)據(jù)幀返回多個(gè)接收確認(rèn)消息,在保證數(shù)據(jù)完整性的同時(shí),節(jié)省了終端所消耗的處理資源。而且,終端可以提供更多的處理資源供其他功能使用,提升了終端的整體處理效率。
實(shí)際應(yīng)用中,若連續(xù)標(biāo)記發(fā)送失敗數(shù)據(jù)幀的次數(shù)或數(shù)據(jù)幀重發(fā)次數(shù)大于預(yù)設(shè)閾值,則停止發(fā)送數(shù)據(jù)幀。因?yàn)樵趯?shí)際的應(yīng)用場(chǎng)景中,可能存在著終端所處網(wǎng)絡(luò)環(huán)境不佳,一直無(wú)法恢復(fù)的情況。在這種情況下,可能會(huì)導(dǎo)致連續(xù)的發(fā)送數(shù)據(jù)幀失敗,如果一直嘗試重發(fā)數(shù)據(jù)幀則會(huì)耗費(fèi)終端的處理資源。因此,當(dāng)連續(xù)針對(duì)多個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送失敗的次數(shù)超過(guò)一定閾值時(shí),或數(shù)據(jù)幀重發(fā)次數(shù)超過(guò)一定閾值時(shí),可以停止發(fā)送數(shù)據(jù)幀,退出本次的數(shù)據(jù)幀發(fā)送任務(wù)。
實(shí)際應(yīng)用中,所述方法可以還包括:接收所述終端的數(shù)據(jù)幀請(qǐng)求消息;所述數(shù)據(jù)幀請(qǐng)求消息包括所述終端記錄的接收失敗數(shù)據(jù)幀的幀標(biāo)識(shí)。
根據(jù)所述數(shù)據(jù)幀請(qǐng)求消息中的幀標(biāo)識(shí)向所述終端發(fā)送所述接收失敗數(shù)據(jù)幀。終端可以根據(jù)摘要信息中本次數(shù)據(jù)傳輸任務(wù)中所有待發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí),或者,根據(jù)多個(gè)所接收數(shù)據(jù)幀中缺失的數(shù)據(jù)幀,確定接收失敗的數(shù)據(jù)幀并記錄其幀標(biāo)識(shí),將該幀標(biāo)識(shí)添加至數(shù)據(jù)幀請(qǐng)求消息并發(fā)送給網(wǎng)關(guān),由網(wǎng)關(guān)將相應(yīng)的數(shù)據(jù)幀重發(fā)給終端。
網(wǎng)關(guān)和終端分別記錄發(fā)送失敗的數(shù)據(jù)幀和接收失敗的數(shù)據(jù)幀,通過(guò)終端請(qǐng)求網(wǎng)關(guān)重發(fā)缺失的數(shù)據(jù)幀的方式,在避免增加終端的處理資源的同時(shí),進(jìn)一步保證了數(shù)據(jù)傳輸?shù)耐暾浴?/p>
需要說(shuō)明的是,本發(fā)明實(shí)施例所提供的重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的若干實(shí)施方式,既可以單獨(dú)應(yīng)用在實(shí)際的數(shù)據(jù)傳輸應(yīng)用場(chǎng)景中,也可以結(jié)合為一種數(shù)據(jù)傳輸方式進(jìn)行應(yīng)用,均能起到在保證數(shù)據(jù)完整性的同時(shí)節(jié)省終端所消耗處理資源的作用。例如,針對(duì)多個(gè)連續(xù)發(fā)送的數(shù)據(jù)幀,根據(jù)單個(gè)的指向多個(gè)數(shù)據(jù)幀的接收確認(rèn)消息標(biāo)記多個(gè)數(shù)據(jù)幀為發(fā)送成功數(shù)據(jù)幀;若沒(méi)有收到接收確認(rèn)消息時(shí),可以將該多個(gè)數(shù)據(jù)幀標(biāo)記為發(fā)送失敗數(shù)據(jù)幀,在發(fā)送全部數(shù)據(jù)幀之后再進(jìn)行重發(fā)。本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要單獨(dú)或結(jié)合應(yīng)用上述提供的數(shù)據(jù)傳輸方法。
在實(shí)際的數(shù)據(jù)傳輸應(yīng)用場(chǎng)景中,不同功耗的終端適用于不同的數(shù)據(jù)傳輸方式。如高功耗終端適于避免長(zhǎng)時(shí)間處于喚醒狀態(tài),而低功耗終端適于減少返回接收確認(rèn)消息的次數(shù)。
因此,根據(jù)本發(fā)明實(shí)施例,終端可以根據(jù)自身的功耗消耗情況,返回相應(yīng)的指向一個(gè)數(shù)據(jù)幀或多個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息。對(duì)于高功耗終端,可以使得高功耗終端無(wú)須長(zhǎng)時(shí)間處于喚醒狀態(tài)處理數(shù)據(jù)幀,提升了高功耗終端的使用壽命。對(duì)于低功耗終端,無(wú)須分別針對(duì)各個(gè)數(shù)據(jù)幀返回多個(gè)接收確認(rèn)消息,節(jié)省了處理資源,以提供更多的處理資源供其他功能使用,提升了低功耗終端的整體處理效率。從而,使得網(wǎng)關(guān)可以自動(dòng)切換適應(yīng)終端功耗消耗的數(shù)據(jù)傳輸方式,提升了數(shù)據(jù)傳輸?shù)撵`活性和適應(yīng)性。
需要說(shuō)明的是,實(shí)際應(yīng)用中,可以預(yù)先根據(jù)終端的功耗情況選擇相應(yīng)的數(shù)據(jù)傳輸方式,而無(wú)須根據(jù)終端返回的接收確認(rèn)消息進(jìn)行切換。
為了便于本領(lǐng)域技術(shù)人員深入理解本發(fā)明實(shí)施例,以下將結(jié)合具體實(shí)施示例進(jìn)行說(shuō)明。
圖7示出了本發(fā)明實(shí)施例的一種發(fā)送數(shù)據(jù)幀的步驟流程圖。從圖中可見(jiàn),網(wǎng)關(guān)可以首先發(fā)送摘要信息meta至終端進(jìn)行初步校驗(yàn),判斷是否在設(shè)定時(shí)間范圍內(nèi)接收到ack,若超時(shí)接收則退出本次傳輸任務(wù),若正確接收則開(kāi)始發(fā)送數(shù)據(jù)幀。每發(fā)送一個(gè)數(shù)據(jù)幀則可以設(shè)置一個(gè)發(fā)送定時(shí)器,判斷是否在設(shè)定時(shí)間范圍內(nèi)接收到ack,若超時(shí)接收則標(biāo)記當(dāng)前未發(fā)送成功數(shù)據(jù)幀的幀號(hào),并發(fā)送下一數(shù)據(jù)幀;針對(duì)接收到的ack,判斷終端對(duì)所接收數(shù)據(jù)幀進(jìn)行校驗(yàn)后添加的校驗(yàn)結(jié)果,若接收到校驗(yàn)成功的ack,則直接發(fā)送下一數(shù)據(jù)幀,若接收到校驗(yàn)失敗的ack,則重發(fā)當(dāng)前的數(shù)據(jù)幀,并針對(duì)當(dāng)前重發(fā)的數(shù)據(jù)幀設(shè)置發(fā)送定時(shí)器。在發(fā)送完全部的數(shù)據(jù)幀后,將標(biāo)記未發(fā)送成功的數(shù)據(jù)幀進(jìn)行重發(fā)。在上述過(guò)程中,若存在接收ack連續(xù)超時(shí)的情況,則退出本次傳輸任務(wù)。當(dāng)成功發(fā)送全部數(shù)據(jù)幀后,則完成本次傳輸任務(wù)。
圖8示出了本發(fā)明實(shí)施例的另一種發(fā)送數(shù)據(jù)幀的步驟流程圖。從圖中可見(jiàn),網(wǎng)關(guān)連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀至終端,每發(fā)送一個(gè)數(shù)據(jù)幀可以設(shè)置一個(gè)發(fā)送定時(shí)器,判斷是否在設(shè)定時(shí)間范圍內(nèi)接收到ack,若超時(shí)接收或校驗(yàn)失敗則重發(fā)當(dāng)前的多個(gè)數(shù)據(jù)幀;若接收到校驗(yàn)成功的ack,則繼續(xù)連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀。在上述過(guò)程中,若存在接收ack連續(xù)超時(shí)的情況,則退出本次傳輸任務(wù)。當(dāng)成功發(fā)送全部數(shù)據(jù)幀后,則完成本次傳輸任務(wù)。
實(shí)施例三
詳細(xì)介紹本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)傳輸方法。
參照?qǐng)D3,示出了本發(fā)明實(shí)施例三的一種數(shù)據(jù)傳輸方法的步驟流程圖。
步驟301,接收網(wǎng)關(guān)連續(xù)發(fā)送的多個(gè)數(shù)據(jù)幀。
步驟302,針對(duì)接收的多個(gè)數(shù)據(jù)幀,返回指向設(shè)定數(shù)量的數(shù)據(jù)幀的接收確認(rèn)消息,供所述網(wǎng)關(guān)在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,終端可以接收到網(wǎng)關(guān)發(fā)送的多個(gè)連續(xù)的數(shù)據(jù)幀,并返回針對(duì)設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,供網(wǎng)關(guān)重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。網(wǎng)關(guān)重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀的具體實(shí)施方式,可以針對(duì)指向一個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā),或者,也可以針對(duì)指向多個(gè)連續(xù)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,在沒(méi)有收到接收確認(rèn)消息時(shí),針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
實(shí)際應(yīng)用中,所述方法可以還包括:
監(jiān)聽(tīng)當(dāng)前接收數(shù)據(jù)幀后的設(shè)定時(shí)間范圍是否接收到下一數(shù)據(jù)幀。
若否,則標(biāo)記下一數(shù)據(jù)幀為接收失敗數(shù)據(jù)幀。
具體實(shí)現(xiàn)中,終端可以針對(duì)當(dāng)前接收的數(shù)據(jù)幀設(shè)置定時(shí)器,以對(duì)下一數(shù)據(jù)幀的接收時(shí)間進(jìn)行監(jiān)聽(tīng)計(jì)時(shí)。由于網(wǎng)關(guān)發(fā)送連續(xù)的多個(gè)數(shù)據(jù)幀,根據(jù)當(dāng)前接收的數(shù)據(jù)幀的幀標(biāo)識(shí)可以確定下一數(shù)據(jù)幀的幀標(biāo)識(shí)。因此,當(dāng)設(shè)定時(shí)間范圍內(nèi)未收到下一數(shù)據(jù)幀,則可以針對(duì)下一數(shù)據(jù)幀的幀標(biāo)識(shí)標(biāo)記接收失敗數(shù)據(jù)幀。
實(shí)際應(yīng)用中,所述方法可以還包括:
校驗(yàn)接收的數(shù)據(jù)幀。當(dāng)校驗(yàn)失敗時(shí),將針對(duì)校驗(yàn)失敗的數(shù)據(jù)幀的校驗(yàn)失敗消息返回至網(wǎng)關(guān),供所述網(wǎng)關(guān)根據(jù)該校驗(yàn)失敗消息重發(fā)對(duì)應(yīng)的數(shù)據(jù)幀。當(dāng)校驗(yàn)成功時(shí),則可以直接返回接收確認(rèn)消息。由于網(wǎng)關(guān)可以接收到校驗(yàn)失敗消息,表明終端目前的網(wǎng)絡(luò)環(huán)境正常,因此網(wǎng)關(guān)可以針對(duì)校驗(yàn)失敗的數(shù)據(jù)幀即時(shí)進(jìn)行重發(fā),而無(wú)須等待到全部數(shù)據(jù)幀發(fā)送后再重發(fā)。
實(shí)際應(yīng)用中,所述方法可以還包括:
當(dāng)連續(xù)標(biāo)記接收失敗數(shù)據(jù)幀的次數(shù)大于預(yù)設(shè)閾值,則停止接收數(shù)據(jù)幀。
實(shí)際應(yīng)用中,可能存在著終端所處網(wǎng)絡(luò)環(huán)境不佳,一直無(wú)法恢復(fù)的情況。在這種情況下,可能會(huì)導(dǎo)致連續(xù)的接收數(shù)據(jù)幀失敗,如果一直嘗試接收數(shù)據(jù)幀則會(huì)耗費(fèi)終端的處理資源。因此,當(dāng)連續(xù)針對(duì)多個(gè)數(shù)據(jù)幀標(biāo)記為接收失敗的次數(shù)超過(guò)一定閾值時(shí),可以停止接收數(shù)據(jù)幀,退出本次的數(shù)據(jù)幀接收任務(wù)。
實(shí)際應(yīng)用中,所述方法可以還包括:
在數(shù)據(jù)幀請(qǐng)求消息中添加被標(biāo)記為接收失敗數(shù)據(jù)幀的幀標(biāo)識(shí),并向所述網(wǎng)關(guān)發(fā)送數(shù)據(jù)幀請(qǐng)求消息。
具體實(shí)現(xiàn)中,終端可以根據(jù)摘要信息中本次數(shù)據(jù)傳輸任務(wù)中所有待發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí),或者,根據(jù)多個(gè)所接收數(shù)據(jù)幀中缺失的數(shù)據(jù)幀,確定接收失敗的數(shù)據(jù)幀并記錄其幀標(biāo)識(shí),將該幀標(biāo)識(shí)添加至數(shù)據(jù)幀請(qǐng)求消息并發(fā)送給網(wǎng)關(guān),由網(wǎng)關(guān)將相應(yīng)的數(shù)據(jù)幀重發(fā)給終端。
實(shí)際應(yīng)用中,針對(duì)當(dāng)前接收到的一個(gè)數(shù)據(jù)幀,返回記錄有所接收數(shù)據(jù)幀的幀標(biāo)識(shí)的接收確認(rèn)消息;或者,針對(duì)在設(shè)定時(shí)間范圍內(nèi)接收到的多個(gè)連續(xù)的數(shù)據(jù)幀,返回記錄有最新接收數(shù)據(jù)幀或所接收的全部數(shù)據(jù)幀的幀標(biāo)識(shí)的接收確認(rèn)消息。
具體實(shí)現(xiàn)中,可以針對(duì)每一個(gè)接收的數(shù)據(jù)幀,返回一個(gè)接收確認(rèn)消息?;蛘?,針對(duì)設(shè)定時(shí)間范圍內(nèi)接收到的多個(gè)數(shù)據(jù)幀,將最近接收的數(shù)據(jù)幀的幀標(biāo)識(shí)或該多個(gè)數(shù)據(jù)幀的全部幀標(biāo)識(shí)添加至接收確認(rèn)消息,并返回給網(wǎng)關(guān)。
實(shí)際應(yīng)用中,所述數(shù)據(jù)幀可以攜帶所述網(wǎng)關(guān)設(shè)置的用于監(jiān)聽(tīng)數(shù)據(jù)幀發(fā)送是否失敗的設(shè)定時(shí)間范圍,終端可以從當(dāng)前接收的數(shù)據(jù)幀中查找所述設(shè)定時(shí)間范圍。
例如,網(wǎng)關(guān)可以針對(duì)每個(gè)發(fā)送的數(shù)據(jù)幀設(shè)置一個(gè)定時(shí)器,設(shè)置的超時(shí)時(shí)間可以為t1,作為監(jiān)聽(tīng)數(shù)據(jù)幀發(fā)送是否失敗的設(shè)定時(shí)間范圍。
終端在接收到數(shù)據(jù)幀后可以查找到該設(shè)定時(shí)間范圍。終端可以根據(jù)所述設(shè)定時(shí)間范圍和每次返回接收確認(rèn)消息所耗費(fèi)的時(shí)間,確定當(dāng)前的待機(jī)時(shí)間。
例如,終端在收到一個(gè)數(shù)據(jù)幀之后,即使對(duì)數(shù)據(jù)幀校驗(yàn)成功,也可以不立即返回接收確認(rèn)消息,而是根據(jù)超時(shí)時(shí)間t1和返回一個(gè)接收確認(rèn)消息所耗時(shí)間t2確定當(dāng)前的待機(jī)時(shí)間(t1-2*t2)。
終端針對(duì)在待機(jī)時(shí)間內(nèi)接收的一個(gè)或多個(gè)數(shù)據(jù)幀,返回接收確認(rèn)消息。
例如,網(wǎng)關(guān)依次發(fā)送了幀號(hào)為1至10的數(shù)據(jù)幀至終端,而終端在待機(jī)時(shí)間內(nèi)接收到幀號(hào)為1至5的數(shù)據(jù)幀,可以針對(duì)在待機(jī)時(shí)間內(nèi)最后接收到的數(shù)據(jù)幀,將幀號(hào)5和查找指示信息添加至接收確認(rèn)消息中,或者,將幀號(hào)1至5均添加至接收確認(rèn)消息中。將該接收確認(rèn)消息返回給網(wǎng)關(guān),網(wǎng)關(guān)可以根據(jù)該接收確認(rèn)消息,確認(rèn)1至5的數(shù)據(jù)幀已經(jīng)被終端成功接收。
根據(jù)本發(fā)明實(shí)施例,網(wǎng)關(guān)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收終端返回的接收確認(rèn)消息,根據(jù)指向設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以一次性地確認(rèn)設(shè)定數(shù)量的發(fā)送成功數(shù)據(jù)幀或發(fā)送失敗數(shù)據(jù)幀,并針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā),由此,在保證數(shù)據(jù)完整性的同時(shí),一方面,網(wǎng)關(guān)無(wú)須等待終端的接收確認(rèn)消息即可發(fā)送下一數(shù)據(jù)幀,縮短了數(shù)據(jù)傳輸過(guò)程耗費(fèi)的時(shí)間,從而縮短了終端保持喚醒狀態(tài)的時(shí)間,節(jié)省了終端消耗的處理資源;另一方面,終端無(wú)須針對(duì)每個(gè)接收到的數(shù)據(jù)幀返回接收確認(rèn)消息,減少了發(fā)送處理,節(jié)省了終端消耗的處理資源。因此,在整個(gè)數(shù)據(jù)傳輸過(guò)程中,節(jié)省了終端所消耗的處理資源。
為了便于本領(lǐng)域技術(shù)人員深入理解本發(fā)明實(shí)施例,以下將結(jié)合具體實(shí)施示例進(jìn)行說(shuō)明。
圖9示出了本發(fā)明實(shí)施例的一種返回接收確認(rèn)消息的步驟流程圖。從圖中可見(jiàn),終端可以針對(duì)接收的摘要信息meta進(jìn)行初步的校驗(yàn)和檢查,并返回包含校驗(yàn)結(jié)果的ack至網(wǎng)關(guān),以觸發(fā)數(shù)據(jù)幀的發(fā)送。終端可以監(jiān)聽(tīng)是否在設(shè)定時(shí)間范圍內(nèi)接收到數(shù)據(jù)幀,若成功接收到數(shù)據(jù)幀,則返回針對(duì)一個(gè)或多個(gè)成功接收數(shù)據(jù)幀的ack至網(wǎng)關(guān);若超時(shí)接收,則標(biāo)記未成功接收的數(shù)據(jù)幀,并保持待機(jī)狀態(tài)。若存在連續(xù)的超時(shí)接收的情況,則記錄下所有未成功接收的數(shù)據(jù)幀后退出本次傳輸任務(wù)。若已經(jīng)接收到所有數(shù)據(jù)幀后,則完成本次傳輸任務(wù)。
需要說(shuō)明的是,對(duì)于前述的方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明所必需的。
實(shí)施例四
詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)傳輸裝置。
參照?qǐng)D4,示出了本發(fā)明實(shí)施例四的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖。
所述裝置可以包括:
數(shù)據(jù)幀發(fā)送模塊401,用于向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀。
數(shù)據(jù)幀重發(fā)模塊402,用于在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
根據(jù)本發(fā)明實(shí)施例,網(wǎng)關(guān)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收終端返回的接收確認(rèn)消息,根據(jù)指向設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以一次性地確認(rèn)設(shè)定數(shù)量的發(fā)送成功數(shù)據(jù)幀或發(fā)送失敗數(shù)據(jù)幀,并針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā),由此,在保證數(shù)據(jù)完整性的同時(shí),一方面,網(wǎng)關(guān)無(wú)須等待終端的接收確認(rèn)消息即可發(fā)送下一數(shù)據(jù)幀,縮短了數(shù)據(jù)傳輸過(guò)程耗費(fèi)的時(shí)間,從而縮短了終端保持喚醒狀態(tài)的時(shí)間,節(jié)省了終端消耗的處理資源;另一方面,終端無(wú)須針對(duì)每個(gè)接收到的數(shù)據(jù)幀返回接收確認(rèn)消息,減少了發(fā)送處理,節(jié)省了終端消耗的處理資源。因此,在整個(gè)數(shù)據(jù)傳輸過(guò)程中,節(jié)省了終端所消耗的處理資源。
實(shí)施例五
詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)傳輸裝置。
參照?qǐng)D5,示出了本發(fā)明實(shí)施例五的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖。
所述裝置可以包括:
數(shù)據(jù)幀發(fā)送模塊501,用于向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀。
校驗(yàn)失敗消息接收模塊502,用于接收所述終端針對(duì)校驗(yàn)失敗的數(shù)據(jù)幀返回的校驗(yàn)失敗消息。
校驗(yàn)失敗重發(fā)模塊503,用于當(dāng)接收到所述終端返回的校驗(yàn)失敗消息,則重發(fā)所述校驗(yàn)失敗消息對(duì)應(yīng)的數(shù)據(jù)幀。
數(shù)據(jù)幀重發(fā)模塊504,用于在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀重發(fā)模塊504包括:
第一重發(fā)子模塊,用于當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述數(shù)據(jù)幀重發(fā)模塊504包括:
第二重發(fā)子模塊,用于當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述數(shù)據(jù)幀發(fā)送模塊501包括:
監(jiān)聽(tīng)子模塊,用于監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
所述數(shù)據(jù)幀發(fā)送模塊具體用于發(fā)送一個(gè)數(shù)據(jù)幀以及繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀,或者,標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀發(fā)送模塊501包括:
數(shù)據(jù)包拆分子模塊,用于將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口;
數(shù)據(jù)幀發(fā)送子模塊,用于將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
可選地,所述數(shù)據(jù)幀發(fā)送模塊501包括:
依次發(fā)送數(shù)據(jù)幀子模塊,用于按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
可選地,所述數(shù)據(jù)幀發(fā)送模塊501包括:
接收確認(rèn)消息接收子模塊,用于接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
所述裝置還包括:
發(fā)送成功數(shù)據(jù)幀標(biāo)記模塊,用于將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)幀發(fā)送模塊501包括:
查找指示信息接收子模塊,用于接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
所述裝置還包括:
歷史發(fā)送數(shù)據(jù)幀查找模塊,用于根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述第二重發(fā)子模塊包括:
發(fā)送失敗數(shù)據(jù)幀重發(fā)子單元,用于當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
根據(jù)本發(fā)明實(shí)施例,通過(guò)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,在終端所處網(wǎng)絡(luò)環(huán)境不佳而沒(méi)有收到接收確認(rèn)消息的情況下,繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀至到全部數(shù)據(jù)幀發(fā)送完畢,在終端所處網(wǎng)絡(luò)環(huán)境恢復(fù)正常后再重發(fā)數(shù)據(jù)幀。從而減少了在網(wǎng)絡(luò)環(huán)境不佳的情況下重發(fā)數(shù)據(jù)幀耗費(fèi)的時(shí)間,終端保持喚醒狀態(tài)的時(shí)間也相應(yīng)減少。在保證數(shù)據(jù)完整性的同時(shí),節(jié)省了終端所消耗的處理資源。而且,由于終端無(wú)須長(zhǎng)時(shí)間處于喚醒狀態(tài)處理數(shù)據(jù)幀,提升了終端的使用壽命。
根據(jù)本發(fā)明實(shí)施例,通過(guò)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,由終端返回一個(gè)指向多個(gè)數(shù)據(jù)幀的接收確認(rèn)消息,從而終端無(wú)須分別針對(duì)各個(gè)數(shù)據(jù)幀返回多個(gè)接收確認(rèn)消息,在保證數(shù)據(jù)完整性的同時(shí),節(jié)省了終端所消耗的處理資源。而且,終端可以提供更多的處理資源供其他功能使用,提升了終端的整體處理效率。
根據(jù)本發(fā)明實(shí)施例,終端可以根據(jù)自身的功耗消耗情況,返回相應(yīng)的指向一個(gè)數(shù)據(jù)幀或多個(gè)數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息。對(duì)于高功耗終端,可以使得高功耗終端無(wú)須長(zhǎng)時(shí)間處于喚醒狀態(tài)處理數(shù)據(jù)幀,提升了高功耗終端的使用壽命。對(duì)于低功耗終端,無(wú)須分別針對(duì)各個(gè)數(shù)據(jù)幀返回多個(gè)接收確認(rèn)消息,節(jié)省了處理資源,以提供更多的處理資源供其他功能使用,提升了低功耗終端的整體處理效率。從而,使得網(wǎng)關(guān)可以自動(dòng)切換適應(yīng)終端功耗消耗的數(shù)據(jù)傳輸方式,提升了數(shù)據(jù)傳輸?shù)撵`活性和適應(yīng)性。
實(shí)施例六
詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)傳輸裝置。
參照?qǐng)D6,示出了本發(fā)明實(shí)施例六的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖。
所述裝置包括:
數(shù)據(jù)幀接收模塊601,用于接收網(wǎng)關(guān)連續(xù)發(fā)送的多個(gè)數(shù)據(jù)幀。
接收確認(rèn)消息返回模塊602,用于返回指向設(shè)定數(shù)量的數(shù)據(jù)幀的接收確認(rèn)消息,供所述網(wǎng)關(guān)在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
根據(jù)本發(fā)明實(shí)施例,網(wǎng)關(guān)向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收終端返回的接收確認(rèn)消息,根據(jù)指向設(shè)定數(shù)量的數(shù)據(jù)幀的單個(gè)接收確認(rèn)消息,可以一次性地確認(rèn)設(shè)定數(shù)量的發(fā)送成功數(shù)據(jù)幀或發(fā)送失敗數(shù)據(jù)幀,并針對(duì)發(fā)送失敗的數(shù)據(jù)幀進(jìn)行重發(fā),由此,在保證數(shù)據(jù)完整性的同時(shí),一方面,網(wǎng)關(guān)無(wú)須等待終端的接收確認(rèn)消息即可發(fā)送下一數(shù)據(jù)幀,縮短了數(shù)據(jù)傳輸過(guò)程耗費(fèi)的時(shí)間,從而縮短了終端保持喚醒狀態(tài)的時(shí)間,節(jié)省了終端消耗的處理資源;另一方面,終端無(wú)須針對(duì)每個(gè)接收到的數(shù)據(jù)幀返回接收確認(rèn)消息,減少了發(fā)送處理,節(jié)省了終端消耗的處理資源。因此,在整個(gè)數(shù)據(jù)傳輸過(guò)程中,節(jié)省了終端所消耗的處理資源。
對(duì)于上述文字識(shí)別裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
實(shí)施例七
詳細(xì)介紹本發(fā)明實(shí)施例提供的一種計(jì)算機(jī)設(shè)備和一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)以下步驟:
向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀;
在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
發(fā)送一個(gè)數(shù)據(jù)幀,并監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
若是,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀;
若否,則標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口;
將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,所述處理器執(zhí)行所述程序時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
向終端連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,接收所述終端針對(duì)所述數(shù)據(jù)幀返回的接收確認(rèn)消息;所述接收確認(rèn)消息指向設(shè)定數(shù)量的數(shù)據(jù)幀;
在連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀之后,重發(fā)沒(méi)有被所述接收確認(rèn)消息指向的歷史發(fā)送數(shù)據(jù)幀。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)單個(gè)所述接收確認(rèn)消息指向一個(gè)數(shù)據(jù)幀,在全部的數(shù)據(jù)幀發(fā)送完畢后,針對(duì)沒(méi)有收到接收確認(rèn)消息的全部歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)單個(gè)所述接收確認(rèn)消息指向多個(gè)連續(xù)的數(shù)據(jù)幀,針對(duì)當(dāng)前沒(méi)有收到接收確認(rèn)消息的歷史發(fā)送數(shù)據(jù)幀進(jìn)行重發(fā)。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
發(fā)送一個(gè)數(shù)據(jù)幀,并監(jiān)聽(tīng)發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi)是否接收到接收確認(rèn)消息;
若是,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀;
若否,則標(biāo)記當(dāng)前發(fā)送的數(shù)據(jù)幀為發(fā)送失敗數(shù)據(jù)幀,并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)幀。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
將待發(fā)送數(shù)據(jù)包拆分成多個(gè)數(shù)據(jù)幀,移動(dòng)至少一個(gè)具有設(shè)定范圍的數(shù)據(jù)標(biāo)記窗口;
將在所述數(shù)據(jù)標(biāo)記窗口內(nèi)的數(shù)據(jù)幀發(fā)送至所述終端。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
按照數(shù)據(jù)幀的幀標(biāo)識(shí)順序,依次發(fā)送多個(gè)數(shù)據(jù)幀至所述終端。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
接收所述終端針對(duì)多個(gè)數(shù)據(jù)幀對(duì)應(yīng)添加有幀標(biāo)識(shí)的接收確認(rèn)消息;
將所述接收確認(rèn)消息中多個(gè)幀標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
接收所述終端針對(duì)最新接收數(shù)據(jù)幀添加有目標(biāo)幀標(biāo)識(shí)的接收確認(rèn)消息以及查找指示信息;
根據(jù)所述查找指示信息,查找?guī)瑯?biāo)識(shí)小于目標(biāo)幀標(biāo)識(shí)的歷史發(fā)送數(shù)據(jù)幀,標(biāo)記為發(fā)送成功數(shù)據(jù)幀。
可選地,該程序被處理器執(zhí)行時(shí)還可以實(shí)現(xiàn)以下步驟:
當(dāng)監(jiān)聽(tīng)到當(dāng)前發(fā)送數(shù)據(jù)幀后的設(shè)定時(shí)間范圍內(nèi),沒(méi)有接收到接收確認(rèn)消息,則查找?guī)瑯?biāo)識(shí)小于當(dāng)前發(fā)送數(shù)據(jù)幀的幀標(biāo)識(shí)的、且未被標(biāo)記為發(fā)送成功數(shù)據(jù)幀的多個(gè)歷史發(fā)送數(shù)據(jù)幀,作為發(fā)送失敗數(shù)據(jù)幀進(jìn)行重發(fā)。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
本領(lǐng)域技術(shù)人員易于想到的是:上述各個(gè)實(shí)施例的任意組合應(yīng)用都是可行的,故上述各個(gè)實(shí)施例之間的任意組合都是本發(fā)明的實(shí)施方案,但是由于篇幅限制,本說(shuō)明書(shū)在此就不一一詳述了。
在此提供的基于移動(dòng)終端的電話舉報(bào)方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(dsp)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的文字識(shí)別方案中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。