异步的数据传输方法、装置及系统的制作方法

文档序号:7752478阅读:284来源:国知局
专利名称:异步的数据传输方法、装置及系统的制作方法
技术领域
本发明实施例涉及通信领域,尤其涉及一种异步的数据传输方法、装置及系统。
背景技术
目前在网络设备之间的通信主要采用TCP(Transmission Control Protocol,传输控制协议)与UDP(User Datagram Protocol,用户数据包协议)两种协议进行。TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议,但是由于其是一对一的面向连接的通信方式,使数据的传输效率和网络的利用率不高。UDP是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。为了达到UDP数据的可靠性传输,现有技术中提供一种数据传输的方法,包括发送端向接收端发送数据,等待接收端回应数据接收信息;在发送端接收到该数据接收信息后,根据该数据接收信息确定下一步的操作,或者发送端等待超时就重发该数据,并等待接收端回应数据接收信息,并根据该数据接收信息确定下一步的操作。在实现上述数据传输的过程中,发明人发现现有技术中至少存在如下问题上述数据传输的方法,虽然保证了数据传输的可靠性,但发送方只能等到接收方的回应或等待超时才能决定下一步的操作,限制了发送端的通信处理能力。

发明内容
本发明的实施例提供一种异步的数据传输方法、装置及系统,能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。为达到上述目的,本发明的实施例采用如下技术方案一方面,提供了一种异步的数据传输方法,包括向接收端发送当前数据;在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;若确定重发当前数据,则将所述当前数据重发给所述接收端。另一方面,提供了一种发送端,包括发送单元,用于向接收端发送当前数据;确定单元,用于在所述发送单元向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;重发单元,用于在所述确定单元确定重发当前数据时,将所述当前数据重发给所述接收端。再一方面,提供了一种异步的数据传输系统,包括接收端和权利要求1-4中的任一项所述的发送端;所述接收端,用于接收所述发送端发送的当前数据,根据所述当前数据的接收情况确定接收响应信息,并将所述响应信息发送给所述发送端。
本发明实施例提供的上述技术方案中,当需要向接收端发送数据时,先向接收端发送当前数据,在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据,若确定重发数据则重发所述当前数据;与现有技术中采用同步方式传输数据相比,本发明通过数据发送处理与收取等待回应处理并行运行的方式,避免了发送端需要等待当前数据处理完才能发送后续数据,克服了限制发送端通信能力的问题,提高了发送端发送处理的效率,实现了能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例1提供的一种异步的数据传输方法流程图;图2为本发明实施例2提供的一种异步的数据传输方法流程图;图3为本发明实施例3提供的一种发送端的组成框图;图4为本发明实施例3提供的另一种发送端的组成框图;图5为本发明实施例3提供的另一种发送端的组成框图;图6为本发明实施例3提供的另一种发送端的组成框图;图7为本发明实施例3提供的另一种发送端的组成框图;图8为本发明实施例3提供的另一种发送端的组成框图;图9为本发明实施例4提供的一种异步的数据传输系统的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1本发明的实施例提供一种异步的数据传输方法,该方法为发送端的异步数据传输方法,如图1所示,该方法包括101、向接收端发送当前数据。102、在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据。其中,所述根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据可以采用以下的方法实现,包括当根据接收端的接收响应信息确定是否需要重发所述当前数据时,可以包括接收所述发送端发送的接收响应信息;若所述接收响应信息为接收成功,则确定不重发所述当前数据;若所述接收响应信息为接收失败,则确定重发所述当前数据。
当根据超时信息确定是否重发所述当前数据时,可以包括在向所述接收端发送当前数据时开始计时,检测计时是否超过预定时间值;若检测到所述计时超过所述预定时间值,则确定重发所述当前数据;其中,所述预定时间值为一经验值,用户可以根据实际应用具体设置,本发明实施例对此不进行限制。103、若确定重发当前数据,则将所述当前数据重发给所述接收端。本发明的实施例中,当需要向接收端发送数据时,先向接收端发送当前数据,在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据,若确定重发数据则重发所述当前数据;与现有技术中采用同步方式传输数据相比,本发明通过数据发送处理与收取等待回应处理并行运行的方式,避免了发送端需要等待当前数据处理完才能发送后续数据,克服了限制发送端通信能力的问题,提高了发送端发送处理的效率,实现了能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。实施例2本发明实施例提供一种异步的数据传输方法,与实施例1相比,本发明实施例在发送端设置了数据发送缓冲区,并设置数据发送缓冲区的数据量门限值,以便通过该数据量门限值和所述数据发送缓冲区的实际数据量,预知接收端处理数据的能力;如图2所示, 该方法包括201、在发送端设置数据缓冲区,并设置数据发送缓冲区的数据量门限值,所述数据量门限值为一经验值,用户可以根据接收端处理能力做具体的设置,也可以根据实际通信状况进行调整,本发明实施例对此不进行限制。202、发送端向接收端发送当前数据,并且在向所述接收端发送当前数据后,将所述当前数据暂存在所述数据发送缓冲区中。203、在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;若确定重发所述当前数据,则执行步骤204 ;若确定不重发所述当前数据,则执行步骤206。其中,所述根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据可以采用以下的方法实现,包括当根据接收端的接收响应信息确定是否需要重发所述当前数据时,可以包括接收所述发送端发送的接收响应信息;若所述接收响应信息为接收成功,则确定不重发所述当前数据;若所述接收响应信息为接收失败,则确定重发所述当前数据。当根据超时信息确定是否重发所述当前数据时,可以包括在向所述接收端发送当前数据时开始计时,检测计时是否超过预定时间值;若检测到所述计时超过所述预定时间值,则确定重发所述当前数据;其中,所述预定时间值为一经验值,用户可以根据实际应用具体设置,本发明实施例对此不进行限制。进一步,需要说明的是,为了避免不可到达发送端的数据多次重发,造成资源的浪费,因此设定数据重发的次数门限,在数据重发的次数达到设定的次数门限时,不重发该数据,并将该数据丢弃;因此在确定重发当前数据后,需要执行步骤204。204、判断所述当前数据已经重发的次数是否大于 或等于预定次数门限,若判定所述当前数据已经重发的次数小于所述预定次数门限,则执行步骤205 ;若判定所述当前数据已经重发的次数大于或等于所述预定次数门限,则执行步骤206。205、重发所述当前数据,并执行步骤203。 206、将所述当前数据从所述数据发送缓冲区中删除,并将所述当前数据是否成功发送的信息上报给所述当前数据的调用者。其中,在将所述当前数据是否成功发送的信息上报给所述当前数据的调用者时, 可以采用但不局限于回调函数的方式实现,本发明实施例对此不进行限制。当采用回调函数的方式实现时,可以包括在当前数据的调用者建立通信环境后,由该调用者向发送端的通信模块注册当前数据发送成功和当前数据发送失败的回调函数。当确定所述当前数据发送成功时,调用该当前数据发送成功的回调函数,将所述当前数据成功发送的信息上报给所述当前数据的调用者;当确定所述当前数据发送失败时,调用该当前数据发送失败的回调函数,将所述当前数据失败发送的信息上报给所述当前数据的调用者。进一步,需要说明的是,在数据发送的过程中,为了实现发送端可预知接收端的接收能力,并根据该接收能力实时的调整向接收端发送数据的速率,避免造成接收端处理数据的压力过大。本发明实施例还提供一种处理方法,可以包括发送端在向所述接收端发送所述当前数据的后续数据的同时,检测预定时间内所述数据发送缓冲区中的数据量是否大于或等于预设的数据量门限值;其中,所述预设的数据量门限值为一经验值,用户可以根据具体的应用具体设置,本发明实施例对此不进行限制。若检测到预定时间内所述数据发送缓冲区中的数据量大于或等于所述预设的数据量门限值,则降低向所述接收端发送数据的发送速率,以降低所述接收端处理数据的压力;若检测到预定时间内所述数据发送缓冲区中的数据量小于所述预设的数据量门限值,则保持当前的发送速率向所述接收端发送数据。本发明的实施例中,当需要向接收端发送数据时,先向接收端发送当前数据,在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据,若确定重发数据则重发所述当前数据;与现有技术中采用同步方式传输数据相比,本发明通过数据发送处理与收取等待回应处理并行运行的方式,避免了发送端需要等待当前数据处理完才能发送后续数据,克服了限制发送端通信能力的问题,提高了发送端发送处理的效率,实现了能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。并且,本发明实施例中,在发送端设置数据发送缓冲区,用于暂存已发送的当前数据,并且设置所述数据发送缓冲区的数据量门限值,通过该数据量门限值和所述数据发送缓冲区的实际数据量,预知接收端处理数据的能力,根据该接收能力实时的调整向接收端发送数据的速率,避免造成接收端处理数据的压力过大。进一步的,本发明实施例中,设定了数据重发的次数门限,在数据重发的次数达到设定的次数门限时,不再重发该数据,并将该当前数据丢弃,避免不可到达发送端的数据多次重发,造成资源的浪费。更进一步的,本发明实施例中,在发送后续数据的同时将当前数据的发送结果反馈给调用者,以便调用者根据反馈作具体的操作。实施例3 本发明的实施例提供一种发送端,如图3所示,该发送端包括发送单元31、确定单元32和重发单元33。发送单元31,用于向接收端发送当前数据;确定单元32,用于在所述发送单元31向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;重发单元33,用于在所述确定单元32确定重发当前数据时,将所述当前数据重发给所述接收端。进一步的,如图4所示,所述发送端还包括设置单元34、检测单元35和调整单元 36。设置单元34,用于设置数据发送缓冲区,所述数据发送缓冲区用于在向所述接收端发送当前数据后,将所述当前数据暂存在所述数据发送缓冲区中;当确定所述当前数据发送成功或失败并不重发后,将所述当前数据从所述数据发送缓冲区中删除;检测单元35,用于在所述发送单元31向所述接收端发送所述当前数据的后续数据的同时,检测预定时间内所述数据发送缓冲区中的数据量是否大于或等于预设的数据量门限值;调整单元36,用于在所述检测单元检35测到预定时间内所述数据发送缓冲区中的数据量大于或等于所述预设的数据量门限值时,降低向所述接收端发送数据的发送速率,以降低所述接收端处理数据的压力;所述调整单元36还用于,在所述检测单元35检测到预定时间内所述数据发送缓冲区中的数据量小于所述预设的数据量门限值时,保持当前的发送速率向所述接收端发送数据。进一步的,如图5所示,该发送端还包括判断单元37和丢弃单元38。判断单元37,用于在所述确定单元32确定重发当前数据之后,判断所述当前数据已经重发的次数是否大于或等于预定次数门限;丢弃单元38,用于在所述判断单元37判定所述当前数据已经重发的次数大于或等于所述预定次数门限时,将所述当前数据丢弃;所述重发单元33还用于,在所述判断单元37判定所述当前数据已经重发的次数小于所述预定次数门限时,将所述当前数据重发给所述接收端。进一步的,如图6所示,该发送端还包括上报单元39。上报单元39,用于在所述确定单元32确定不重发所述当前数据时,将所述当前数据是否成功发送的信息上报给所述当前数据的调用者。进一步的,当所述确定单元32根据接收端的接收响应信息确定是否需要重发所述当前数据时,如图7所示,所述确定单元32包括接收模块321和第一确定模块322。接收模块321,用于接收所述发送端发送的接收响应信息;第一确定模块322,用于在所述接收响应信息为接收成功时,确定不重发所述当前数据;所述第一确定模块322 还用于,在所述接收响应信息为接收失败时,确定重发所述当前数据。进一步的,当所述确定单元32根据超时信息确定是否重发所述当前数据时,如图 8所示,所述确定单元包括计时模块323、检测模块324和第二确定模块325。
计时模块323,用于在向所述接收端发送当前数据时开始计时;检测模块324,用于检测所述计时模块的计时是否超过预定时间值;第二确定模块325,用于在所述检测模块324检测到所述计时超过所述预定时间值时,确定重发所述当前数据。本发明实施例中功能模块的相应描述,可以参考实施例1和实施例2中的描述,此处将不再赘述。本发明的实施例中,当需要向接收端发送数据时,先向接收端发送当前数据,在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据,若确定重发数据则重发所述当前数据;与现有技术中采用同步方式传输数据相比,本发明通过数据发送处理与收取等待回应处理并行运行的方式,避免了发送端需要等待当前数据处理完才能发送后续数据,克服了限制发送端通信能力的问题,提高了发送端发送处理的效率,实现了能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。并且,本发明实施例中,在发送端设置数据发送缓冲区,用于暂存已发送的当前数据,并且设置所述数据发送缓冲区的数据量门限值,通过该数据量门限值和所述数据发送缓冲区的实际数据量,预知接收端处理数据的能力,根据该接收能力实时的调整向接收端发送数据的速率,避免造成接收端处理数据的压力过大。进一步的,本发明实施例中,设定了数据重发的次数门限,在数据重发的次数达到设定的次数门限时,不再重发该数据,并将该当前数据丢弃,避免不可到达发送端的数据多次重发,造成资源的浪费。更进一步的,本发明实施例中,在发送后续数据的同时将当前数据的发送结果反馈给调用者,以便调用者根据反馈作具体的操作。实施例4本发明的实施例还提供一种异步的数据传输系统,如图9所示,该系统包括发送端41和接收端42。所述发送端41,用于向接收端42发送当前数据;在向所述接收端42发送所述当前数据的后续数据的同时,根据发送超时信息或接收端42的接收响应信息,确定是否重发所述当前数据;若确定重发当前数据,则将所述当前数据重发给所述接收端42 ;若确定不重发所述当前数据,则将所述当前数据是否成功发送的信息上报给所述当前数据的调用
者ο 所述接收端42,用于接收所述发送端41发送的当前数据,根据所述当前数据的接收情况确定接收响应信息,并将所述响应信息发送给所述发送端41。进一步的,为了预知接收端处理数据的能力,在发送端41设置数据发送缓冲区, 用于在向所述接收端42发送当前数据后,将所述当前数据暂存在所述数据发送缓冲区中; 当确定所述当前数据发送成功或失败并不重发后,将所述当前数据从所述数据发送缓冲区中删除。可以包括在向所述接收端42发送所述当前数据的后续数据的同时,检测预定时间内所述数据发送缓冲区中的数据量是否大于或等于预设的数据量门限值;若检测到预定时间内所述数据发送缓冲区中的数据量大于或等于所述预设的数据量门限值,则降低向所述接收端42发送数据的发送速率,以降低所述接收端42处理数据的压力;若检测到预定时间内所述数据发送缓冲区中的数据量小于所述预设的数据量门限值,则保持当前的发送速率向所述接收端42发送数据。 进一步的,为了避免不可到达发送端的数据多次重发,造成资源的浪费,在所述发送端41处设定了数据重发的次数门限;可以包括所述发送端41在确定重发当前数据之后,还用于判断所述当前数据已经重发的次数是否大于或等于预定次数门限;若判定所述当前数据已经重发的次数大于或等于所述预定次数门限,则将所述当前数据丢弃;若判定所述当前数据已经重发的次数小于所述预定次数门限,则将所述当前数据重发给所述接收端42。本发明实施例中发送端对应的其他描述,可以参考实施例1和实施例2中的描述, 此处将不再赘述。本发明的实施例中,当需要向接收端发送数据时,先向接收端发送当前数据,在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据,若确定重发数据则重发所述当前数据;与现有技术中采用同步方式传输数据相比,本发明通过数据发送处理与收取等待回应处理并行运行的方式,避免了发送端需要等待当前数据处理完才能发送后续数据,克服了限制发送端通信能力的问题,提高了发送端发送处理的效率,实现了能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。并且,本发明实施例中,在发送端设置数据发送缓冲区,用于暂存已发送的当前数据,并且设置所述数据发送缓冲区的数据量门限值,通过该数据量门限值和所述数据发送缓冲区的实际数据量,预知接收端处理数据的能力,根据该接收能力实时的调整向接收端发送数据的速率,避免造成接收端处理数据的压力过大。进一步的,本发明实施例中,设定了数据重发的次数门限,在数据重发的次数达到设定的次数门限时,不再重发该数据,并将该当前数据丢弃,避免不可到达发送端的数据多次重发,造成资源的浪费。更进一步的,本发明实施例中,在发送后续数据的同时将当前数据的发送结果反馈给调用者,以便调用者根据反馈作具体的操作。本发明的实施例,可以用于但不局限于UDP数据传输的过程中,还可以用于采用其他无连接通信协议进行数据传输的过程中。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种异步的数据传输方法,其特征在于,包括 向接收端发送当前数据;在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;若确定重发当前数据,则将所述当前数据重发给所述接收端。
2.根据权利要求1所述的方法,其特征在于,该方法还包括设置数据发送缓冲区,用于在向所述接收端发送当前数据后,将所述当前数据暂存在所述数据发送缓冲区中;当确定所述当前数据发送成功或失败并不重发后,将所述当前数据从所述数据发送缓冲区中删除;在向所述接收端发送所述当前数据的后续数据的同时,检测预定时间内所述数据发送缓冲区中的数据量是否大于或等于预设的数据量门限值;若检测到预定时间内所述数据发送缓冲区中的数据量大于或等于所述预设的数据量门限值,则降低向所述接收端发送数据的发送速率,以降低所述接收端处理数据的压力;若检测到预定时间内所述数据发送缓冲区中的数据量小于所述预设的数据量门限值, 则保持当前的发送速率向所述接收端发送数据。
3.根据权利要求1所述的方法,其特征在于,在确定重发当前数据之后,该方法还包括判断所述当前数据已经重发的次数是否大于或等于预定次数门限; 若判定所述当前数据已经重发的次数大于或等于所述预定次数门限,则将所述当前数据丢弃;若判定所述当前数据已经重发的次数小于所述预定次数门限,则将所述当前数据重发给所述接收端。
4.根据权利要求1所述的方法,其特征在于,该方法还包括若确定不重发所述当前数据,则将所述当前数据是否成功发送的信息上报给所述当前数据的调用者。
5.一种发送端,其特征在于,包括 发送单元,用于向接收端发送当前数据;确定单元,用于在所述发送单元向所述接收端发送所述当前数据的后续数据的同时, 根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;重发单元,用于在所述确定单元确定重发当前数据时,将所述当前数据重发给所述接收端。
6.根据权利要求5所述的发送端,其特征在于,还包括设置单元,用于设置数据发送缓冲区,所述数据发送缓冲区用于在向所述接收端发送当前数据后,将所述当前数据暂存在所述数据发送缓冲区中;当确定所述当前数据发送成功或失败并不重发后,将所述当前数据从所述数据发送缓冲区中删除;检测单元,用于在所述发送单元向所述接收端发送所述当前数据的后续数据的同时, 检测预定时间内所述数据发送缓冲区中的数据量是否大于或等于预设的数据量门限值;调整单元,用于在所述检测单元检测到预定时间内所述数据发送缓冲区中的数据量大于或等于所述预设的数据量门限值时,降低向所述接收端发送数据的发送速率,以降低所述接收端处理数据的压力;所述调整单元还用于,在所述检测单元检测到预定时间内所述数据发送缓冲区中的数据量小于所述预设的数据量门限值时,保持当前的发送速率向所述接收端发送数据。
7.根据权利要求5所述的发送端,其特征在于,还包括判断单元,用于在所述确定单元确定重发当前数据之后,判断所述当前数据已经重发的次数是否大于或等于预定次数门限;丢弃单元,用于在所述判断单元判定所述当前数据已经重发的次数大于或等于所述预定次数门限时,将所述当前数据丢弃;所述重发单元还用于,在所述判断单元判定所述当前数据已经重发的次数小于所述预定次数门限时,将所述当前数据重发给所述接收端。
8.根据权利要求5所述的发送端,其特征在于,还包括上报单元,用于在所述确定单元确定不重发所述当前数据时,将所述当前数据是否成功发送的信息上报给所述当前数据的调用者。
9.一种异步的数据传输系统,其特征在于,包括接收端和权利要求1-4中的任一项所述的发送端;所述接收端,用于接收所述发送端发送的当前数据,根据所述当前数据的接收情况确定接收响应信息,并将所述响应信息发送给所述发送端。
全文摘要
本发明实施例公开了一种异步的数据传输方法、装置及系统,涉及通信领域,能够在不限制发送端通信处理能力的同时实现数据的可靠性传输。本发明的方法包括向接收端发送当前数据;在向所述接收端发送所述当前数据的后续数据的同时,根据发送超时信息或接收端的接收响应信息,确定是否重发所述当前数据;若确定重发当前数据,则将所述当前数据重发给所述接收端。本发明实施例主要用于在网络设备间使用UDP传输数据的过程中。
文档编号H04L12/56GK102158389SQ20101020971
公开日2011年8月17日 申请日期2010年6月25日 优先权日2010年6月25日
发明者宋道建 申请人:青岛海信传媒网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1