调整数据传输的方法与流程

文档序号:20271597发布日期:2020-04-03 19:05阅读:200来源:国知局
调整数据传输的方法与流程

本发明是关于一种调整数据传输的方法,特别是关于一种当网络环境是弱网络环境时,调整数据传输的方法。



背景技术:

经由网络环境传输数据的技术发展迅速,然而当经由网络环境进行数据传输的时候经常会遇到弱网络环境等网络环境不稳定的状况,使得数据传输的过程受到影响。

当网络环境是弱网络环境时,尽管网络环境仍可以传输部分的数据,然而数据的传输通常是不完整的,即当传输的数据是由多个封包(packet)组成的封包串行时,不但数据的传输可能因受到弱网络环境影响而被中断而导致丢包(packetloss)的情况,还可能因其中一个封包无法被传输而使得接续于其后的封包亦无法被传输。此外,当网络环境是弱网络环境时,仍无完整的机制可以确保经由网络环境传输的数据是重要性较高或较关键的数据。



技术实现要素:

鉴于上述,本发明提供一种以满足上述需求的调整数据传输的方法,借此解决上述提及的问题并满足上述提及的需求。

依据本发明一实施例的一种调整数据传输的方法,适用于通过网络环境进行数据传输的第一处理器及第二处理器,该方法包含:以该第一处理器执行检测程序以判断该网络环境是否为弱网络环境;当该第一处理器判断该网络环境为该弱网络环境时,以该第一处理器于请求数据附加第一序列标记,并输出具有该第一序列标记的该请求数据;于该第二处理器接获该请求数据时,以该第二处理器于对应该请求数据的回复数据附加该第一序列标记及第二序列标记;以及以该第二处理器对该第一处理器输出包含该第一序列标记及该第二序列标记的该回复数据。

综上所述,为克服以往的因弱环境网络而导致数据传输发生丢包的状况,本发明提出的调整数据传输的方法可以在传输的数据是由多个封包组成的封包串行,且网络环境是弱网络环境而导致传输的数据被中断时,避免丢包的情况,还可以避免因其中一个封包无法被传输而导致接续于其后的封包皆因此无法被传输。此外,当网络环境是弱网络环境时,依据本发明的一个或多个调整数据传输的方法的实施例,可以确保经由网络环境传输的数据是重要性较高或较关键的数据。

以上关于本公开内容的说明及以下实施方式的说明用以示范与解释本发明的精神与原理,并且提供本发明的权利要求更进一步的解释。

附图说明

图1是依据本发明一实施例所绘示的调整数据传输的方法的流程图。

图2是依据本发明一实施例所绘示的检测程序的流程图。

图3是依据本发明另一实施例所绘示的调整数据传输的方法的流程图。

具体实施方式

以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所公开的内容、权利要求书及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。以下实施例进一步详细说明本发明的观点,但非以任何观点限制本发明的范围。

请参考图1,图1是依据本发明一实施例所绘示的调整数据传输的方法的流程图。本发明所说明的调整数据传输的方法较佳是适用于通过网络环境进行数据传输的第一处理器及第二处理器,其中此第一处理器可以是客户端装置,而第二处理器则可为服务端主机,然而此两个处理器也可以是相反的配置或是其他的应用硬件,本发明并不就此予以限制。

请参考步骤s02:执行检测程序以判断网络环境是否为弱网络环境。详细而言,当第一处理器欲借由网络环境将数据传输给第二处理器时,第一处理器先对网络环境执行检测程序,以判断网络环境是否为弱网络环境,其中弱网络环境例如是数据传输/接收时间超过预定时间的网络环境、传输量低于预定传输量的网络环境、或者网络环境的信号强度低于默认强度的网络环境等,本发明不以此为限。换句话说,当网络环境是弱网络环境时,网络环境传输数据的能力可能会下降,导致数据的传输被中断,其中所述的检测程序将于以下图2的实施例更详细地说明。

请先继续参考图1,当第一处理器于步骤s02判断网络环境非弱网络环境时,则接续步骤s03结束方法。

反之,当第一处理器于步骤s02判断网络环境是弱网络环境时,则接续步骤s04以第一处理器于请求数据附加第一序列标记。详细而言,请求数据例如是一个封包(packet),且第一处理器欲输出由多个封包组成的封包串行时(即第一处理器欲输出包含请求数据的封包串行时),则第一处理器于第一封包附加第一序列标记,且第一序列标记较佳是封包在所述的封包串行的排序位置。即,第一序列标记是串行中的一个标记,且标记可以是数字、英文字母,或是数字及英文字母的组合,本发明不以此为限。此外,在第一处理器及第二处理器均可确知此第一序列标记在序列中的序位,即适用于本案的调整数据传输的方法,因此前述的序列的内容并不必然是数字由小到大或英文字母由a至z排列。除了第一序列标记之外,请求数据亦可以具有权重值,因此第一处理器可以依据一请求数据的权重值及另一请求数据的另一权重值决定输出该请求数据及该另一请求数据的顺序。据此,第一处理器于后续输出请求数据时可以是基于第一序列标记依序地输出请求数据,或是先依照权重值类分为多个数据群,再于依序输出这多个数据群时基于第一序列标记排序输出当前数据群中的请求数据,本发明不以此为限。

此外,请求数据可以包含于文件数据(commandfile)中,文件数据还包含至少另一请求数据,且文件数据的大小超过预设大小。详言之,当网络环境是弱网络环境,而默认大小例如是弱网络环境的最大可传输量,因此当文件数据的数据大小超过默认大小时,请求数据可以是以文件数据的形式被传输,以避免较重要的请求数据在传输时被漏掉。

当第一处理器在步骤s04于请求数据附加第一序列标记之后,接着于步骤s06输出请求数据予第二处理器,其中第一处理器于步骤s04输出的请求数据包含第一序列标记。

当第一处理器于步骤s06输出请求数据后,第一处理器接着于步骤s071判断是否在回复期限内收到由第二处理器输出的确认信号(acknowledgement,ack),用以供第一处理器判断第二处理器是否有收到请求数据。

当第一处理器未在回复期限内收到确认信号时,第一处理器接续于步骤s072判断是否为第一次未在回复期限内收到确认信号,并且当第一处理器判断是为第一次未在回复期限内收到确认信号时,以第一处理器再次回到步骤s06输出请求数据予第二处理器。

反之,当第一处理器于步骤s072判断不是第一次未在回复期限内收到确认信号时,则第一处理器于步骤s073将请求数据安排到暂存列,因此第一处理器可以经过几个运作周期后再回到步骤s06输出请求数据予第二处理器。据此,第一处理器可以先输出其他请求数据,并且在其他请求数据皆输出完毕后再执行步骤s06将存放在暂存列的请求数据输出予第二处理器,以避免因未接获回复信号而导致其他请求数据亦无法被发送。

请回到步骤s071,当第一处理器是在回复期限内收到确认信号时,则第二处理器接着于步骤s08于回复数据附加第一序列标记以及第二序列标记,其中此回复数据的内容即是回复具有此第一序列标记的请求数据。在上述的步骤s071至步骤s073用于供第一处理器确认其与第二处理器之间的数据传输是否受到弱网络环境的影响,导致第一处理器所发出的请求数据未能顺利传送至第二处理器,并进而在适当时机重新发送此请求数据。

请一并参考步骤s06及s08,详细而言,第一处理器于步骤s06输出请求数据予第二处理器,以向第二处理器请求对应请求数据的回复数据,且第一处理器输出的请求数据报含第一序列标记,借此第二处理器便可基于第一序列标记判断第一处理器所传送的请求数据是否跳号,进而得知应否另向第一处理器要求重发丢失的请求数据。

在第二处理器依据请求数据产生回复数据后,第二处理器于步骤s08于回复数据附加第一序列标记及第二序列标记,其中第二序列标记较佳是回复数据在多个回复数据的串行中的位置,并于步骤s10对第一处理器输出包含第一序列标记及第二序列标记的回复数据。与第一序列标记同理,在第一处理器及第二处理器均可确知此第二序列标记在序列中的序位,即适用于本案的调整数据传输的方法,故此序列的内容并不必然是数字由小到大或英文字母由a至z排列。同理,在步骤s10之后,第二处理器也可以执行类似前述的步骤s071至s073的重送机制,以根据是否在回复期限内接到来自第一处理器的确认信号而决定应否再次传送回复数据。据此,第一处理器可以借由第一序列标记及第二序列标记判断其所输出的封包或第二处理器所回传的回复数据是否在弱网络环境下发生丢包的情况。

请参考图2,图2是依据本发明一实施例所绘示的检测程序的流程图。图2的检测程序较佳是用于判断网络环境是否为弱网络环境。其中,检测程序可以是数据接收时间检测、传输量检测或信号强度检测。详言之,数据接收时间检测是用以检测经由网络环境传输及接收数据的时间是否大于默认时间;传输量检测是用以检测经由网络环境传输的数据的大小是否小于预设大小;而信号强度检测是用以检测网络环境的信号强度是否小于默认强度。

第一处理器于步骤s021以第一周期做为检测周期,并且于第一周期是检测周期的情况下取得检测值,于步骤s022判断检测值是否落在参考值域外。以上述的数据接收时间做为例子而言,检测值例如是从第一处理器输出检测数据给第二处理器,到第一处理器接获从第二处理器回传的检测数据的实际时间,而参考值域即为网络环境非弱网络环境时,从第一处理器输出检测数据给第二处理器,到第一处理器接获从第二处理器回传的检测数据的理想时间。

需注意的是,参考值域可以是基于多个检测值而得。换句话说,当网络环境非弱网络环境时,则此时所取得的检测值即为网络环境正常运作下时的检测值。因此,在取得多个网络环境非弱网络环境时的检测值后,参考值域即可以是以多个检测值的平均值再加上可容许误差值所构成的值域,参考值域亦可以是对多个检测值执行常态分布(normaldistribution)统计后,以常态分布函数的信赖区间所构成的值域,然本发明不以此为限。

因此,当第一处理器于步骤s022判断检测值不落在参考值域外时(即检测值落在参考值域内),则表示所述的实际时间不超过理想时间,因此接续步骤s03结束方法。反之,当第一处理器于步骤s022判断检测值落在参考值域外时,则表示所述的实际时间超过理想时间,意即网络环境可能是弱网络环境。

因此,第一处理器接着于步骤s023以第二周期做为检测周期,并且于第二周期是检测周期的情况下取得检测值,其中第二周期小于第一周期。

第一处理器于步骤s024判断检测值是否落在参考值域外,其中此述的检测值及参考值域可以是相同于上述的实际时间与理想时间。当第一处理器判断检测值不落在参考值域外时(即检测值落在参考值域内),则于步骤s03结束方法。

反之,在第二周期是检测周期的情况下,若第一处理器于步骤s024判断检测值落在参考值域外时,第一处理器接着于步骤s025判断检测值落在参考值域外的连续次数是否达到预设次数。换句话说,第一处理器于步骤s025判断检测值是否连续地落在参考值域外。

当第一处理器于步骤s024判断检测值落在参考值域外,而于步骤s025判断检测值落在参考值域外的连续次数未达预设次数时,则第一处理器回到步骤s023以第二周期做为检测周期并取得检测值。反之,当第一处理器于步骤s024判断检测值落在参考值域外,而于步骤s025判断检测值落在参考值域外的连续次数达预设次数时,则第一处理器于步骤s026判断网络环境是弱网络环境,并且第一处理器可以接续相同于图1所说明的步骤s04,于请求数据附加第一序列标记。

即,第一处理器借由判断检测值连续落在参考值域外的连续次数是否超过预设次数,以密集的检测来判断网络环境是否为弱网络环境。此外,当判断网络环境是弱网络环境时,第一处理器还可以每经过一间隔时断就执行一次检测程序,以判断网络环境是否仍为弱网络环境。

请参考图3,图3是依据本发明另一实施例所绘示的调整数据传输的方法的流程图。图3所示的步骤s02到s03以及步骤s06到步骤s10较佳是相同于图1所说明的步骤s02到s03以及步骤s06到步骤s10,故相同之处不再于此赘述,其中图3所示的步骤s02较佳是以图2所说明的步骤s021到步骤s026实现。但是,图3与图1的不同处在于图3所说明的步骤s04’。

请继续参考图3,当第一处理器于步骤s02借由执行检测程序而判断网络环境是弱网络环境时,第一处理器于步骤s04’以第一处理器于请求数据附加第一序列标记及特征标记,其中第一序列标记较佳是相同于前述的第一序列标记,然本发明不以此为限。

详细而言,第一处理器除了可以于请求数据附加第一序列标记之外,还可以于请求数据附加特征标记,且特征标记可以包含请求数据的验证码或包含请求数据的封包串行的数据长度。验证码可以是对请求数据的内容执行验证运算所得的验证码,其中验证运算例如是哈希(hash)运算,而验证码例如是哈希值;而当请求数据是多个请求数据时,则特征标记可以包含该请求数据的数据长度。

因此,当第一处理器于步骤s06输出请求数据予第二处理器,第二处理器便可基于第一序列标及特征标记判断第一处理器所传送的请求数据是否跳号,或第一处理器所传送的请求数据是否正确,进而得知应否另向第一处理器要求重发丢失的请求数据。

综上所述,依据本发明的一个或多个调整数据传输的方法的实施例,当传输的数据是由多个封包组成的封包串行,且网络环境是弱网络环境而导致传输的数据被中断时,可以避免丢包的情况,还可以避免因其中一个封包无法被传输而导致接续于其后的封包皆因此无法被传输。此外,当网络环境是弱网络环境时,依据本发明的一个或多个调整数据传输的方法的实施例,可以确保经由网络环境传输的数据是重要性较高或较关键的数据。

虽然本发明已以实施方式公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1