一种网络中设备间的数据传输方法

文档序号:7595405阅读:139来源:国知局
专利名称:一种网络中设备间的数据传输方法
技术领域
本发明涉及网络技术,特别涉及一种网络中设备间的数据传输方法。
背景技术
随着各种无线网络技术的逐步普及,越来越多的网络设备通过无线网络与其他网络设备进行连接,进而在无线连接的基础上发送、接收信息。
由于无线信号所具有的不稳定特性、无线信号强度随着距离而衰减的特性以及拥有无线连接能力的设备的高度移动特性,使得网络应用程序开发者在开发基于网络连接尤其是无线网络连接的应用时必须付出额外的精力处理网络连接的建立、维持、检测过程,同时需要在应用的各个环节中加入足够多的网络连接异常处理,给应用程序的开发带来了诸多的不便。
另一方面,越来越多的网络设备同时具备一种以上的网络连接方式,如笔记本往往同时具备无线局域网(WLAN)和蓝牙(Bluetooth)、红外等多种网络连接能力,而这些网络连接手段单一使用的情况下往往存在着不稳定因素。比如WLAN连接的传输距离虽然相对较远,但信号受环境影响较大,而Bluetooth连接和红外连接的传输距离非常有限。
目前,虽然有的网络设备同时具备一种以上的网络连接方式,但网络设备之间传输一次数据,只能选择一种网络连接方式进行。一旦在数据传输过程中,出现异常情况连接即被断开,则用户必须重新建立连接、重新传输。如果网络不好还需要换其他连接方式或以原连接方式多次重新建立连接,不能在传输过程中自动切换到可用的连接方式上,给用户使用带来了不便。另外,这个过程中,如果需要一次传输的信息没有完全传输完毕,已经传输的部分信息往往需要重新传输,又浪费了系统资源。
例如,两台笔记本电脑正采用Bluetooth进行传输,如果此时其中一台笔记本用户必须离开,只能重新建立连接距离相对较远的WLAN连接进行传输,否则两台笔记本距离超出Bluetooth传输范围,连接就会自动断开,传输的数据可能丢失。这就给笔记本用户带来了使用的不便,重新传输数据又浪费了系统资源。

发明内容
有鉴于此,本发明的主要目的在于提供一种网络设备间数据传输的方法,该方法能够在数据传输过程中自动选择可用的连接方式进行数据传输,方便用户使用。
为达到上述目的,本发明的技术方案具体是这样实现的一种网络中设备间的数据传输方法,在网络设备中设置管道控制模块,数据传输过程包括以下步骤1)同一网络中数据发送源设备和数据发送目标设备的管道控制模块根据设备工作情况,分别将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,并建立源设备与目标设备间的数据传输管道;2)源设备的管道控制模块,选择数据传输管道中的一种介质网络连接方式进行数据传输;3)数据传输过程中需要切换到另一种介质网络连接方式时,则源设备管道控制模块控制建立新介质网络连接,继续进行数据传输。
其中,所述步骤1)可以包括11)同一网络中数据发送的源设备和数据发送的目标设备的管道控制模块,通过侦听网络多播地址获知对方可用的不同介质网络连接方式;12)源设备的管道控制模块控制源设备选择一种可用介质网络连接方式与目标设备建立网络协议连接;13)源设备的管道控制模块通过步骤12)建立的网络协议连接,向目标设备发送数据传输管道建立请求;
14)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,然后向源设备返回数据传输管道建立响应;如果目标设备同意建立数据传输管道,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道;15)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
所述步骤1)的也可以由以下步骤实现11a)源设备的管道控制模块控制源设备与目标设备用其所在网络的网络协议,建立网络协议连接;12a)源设备的管道控制模块通过步骤11a)建立的网络协议连接,向目标设备发送数据传输管道建立请求,该请求中包含自身可用的不同介质网络连接方式;13a)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,如果同意建立数据传输管道,则将自身和对方都可用的不同介质网络连接方式封装为数据传输管道,并在该响应中包含自身可用的不同介质网络连接方式;目标设备向源设备返回数据传输管道建立响应;14b)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将自身可用的不同介质网络连接方式和响应中包含的对方可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
源设备的管道控制模块是可以根据源设备中要传输数据的应用程序发送的建立管道命令,建立源设备与目标设备的网络协议连接,并通过该连接向目标设备发送数据传输管道建立请求;
源设备的管道控制模块收到目标设备返回的数据传输管道建立响应后,向源设备中要传输数据的应用程序返回管道建立是否成功结果。
所述应用程序发送的建立管道命令至少包含目标设备的设备标识。
所述源设备的管道控制模块发送的管道建立请求还包含源设备的设备标识、目标设备的设备标识、期望的管道持续时间;所述目标设备的管道控制模块返回的管道建立响应还包含管道建立成功或失败信息;如果管道建立成功,该管道建立响应还包含自身的设备标识、源设备标识、管道有效时间。
所述封装数据传输管道的方法可以为源设备和目标设备的管道控制模块在各自所在设备中分别将源设备和目标设备都可用的不同介质网络连接方式信息填入到管道信息表中。
所述封装数据传输管道的方法具体可以为管道控制模块生成本次的源设备和目标设备都可用的不同介质网络连接方式信息,并判断本设备中是否已经存在管道信息表,如果不存在,则建立管道信息表,并将生成的信息添加到管道信息表中;如果已经存在,则直接将生成的信息添加到管道信息表中。
所述源设备和目标设备都可用的不同介质网络连接方式信息包含管道标识、该管道设备间共同支持的网络协议、连接地址信息。
所述的源设备与多个目标设备进行数据传输时,该源设备可以分别通过管道控制模块与多个目标设备建立数据传输管道。
所述步骤2)可以包括21)源设备的管道控制模块判断当前是否存在与已建立的数据传输管道对应的处于可用状态的活动网络协议连接存在,如果存在则执行步骤22);如果不存在,则从已建立的数据传输管道中选取一个网络协议尝试建立新的网络协议连接,连接建立成功后则执行步骤22),连接建立失败则选取下一个共同支持的网络协议进行尝试,如果尝试所有的匹配协议后仍然无法建立连接,则应向源设备报告数据传输管道不可用,结束流程;22)管道控制模块将待发送的数据放入当前可用状态的活动网络协议连接的任务队列,向目标设备发送数据。
所述步骤22)将待发送的数据放入当前可用网络协议连接的任务队列的过程可以包括22a)管道控制模块判断在该可用连接上等待发送的数据量大小及该网络连接发送数据的平均速度大小,如果等待发送的数据量过大或该网络连接发送数据的平均速度太小,则执行步骤22b);否则,将待发送的数据放入当前可用网络协议连接的任务队列;22b)管道控制模块查找当前是否存在可用的其他网络协议连接,如果存在,则返回步骤22a);否则在数据传输管道中选择根据源设备与目标共同匹配的网络协议,尝试建立新的网络协议连接,如果建立成功,则将待发送的数据放入新建立的网络协议连接的任务队列;否则,将待发送的数据放入原当前可用网络协议连接的任务队列。
源设备的管道控制模块在接收到源设备中要传输数据的应用程序发送的数据传输命令后,执行步骤21);源设备的管道控制模块在数据发送完成或发送失败后,向要传输数据的应用程序返回数据发送成功或失败结果。
所述应用程序发送的数据传输命令至少包含管道标识、目标设备标识、目标应用程序标识和需要发送的源数据;所述待发送的数据中至少包含源设备的设备标识、发送数据的应用程序标识、目标设备标识、目标应用程序标识、需要发送的源数据;目标设备的管道控制模块在接收到数据后,根据数据中的目标应用程序标识,将数据分发给目标设备中的目标程序。
所述步骤3)可以为数据传输过程中传输数据的网络协议连接断开时,源设备的管道控制模块从数据传输管道中选择新的介质网络连接方式,建立网络协议连接,如果建立成功,则用新的网络协议连接继续传输数据并通知源设备;否则通知源设备数据发送错误且数据传输管道不可用。
该方法可以进一步包括数据传输管道空闲期间,源设备的管道控制模块向目标设备发送管道检测请求;目标设备的管道控制模块收到该检测请求后,根据自身工作情况向源设备返回管道检测响应;如果源设备未收到管道响应或收到的管道响应是管道不可用,则源设备的管道控制模块删除该管道。
所述的管道检测请求至少包含源设备期望的管道可用时间;所述管道检测响应中至少包含管道可用时间;如果源设备收到的管道响应中,管道可用时间为零,则该管道不可用。
该方法可以进一步包括源设备或目标设备的管道控制模块在数据传输完成后删除该数据传输管道,并向对方标设备发送管道关闭通知,对方设备在收到该关闭通知后,删除该数据传输管道。
所述管道控制模块是在接收到应用程序发送的管道关闭命令后,可以向对方设备发送管道关闭通知;管道控制模块删除该数据传输管道后,向发送管道关闭命令的应用程序返回管道关闭成功或失败结果。
由上述的技术方案可见,本发明的这种网络设备间数据传输的方法,在网络设备中设置,将设备间可用的不同介质网络连接方式封装为数据传输管道,由管道控制模块控制用该管道中的一种网络连接方式进行数据传输,如果该连接断开,则管道控制模块自动从管道中选择另一种网络连接方式建立连接进行数据传输。因此本发明实现了传输过程中,如果连接断开,自动切换到可用的连接方式上,继续进行数据传输,给用户使用带来了方便。


图1为本发明一个较佳实施例的数据传输过程示意图;图2为图1所示实施例中源设备管道控制模块建立数据传输管道的流程图;图3为图1所示实施例中源设备管道控制模块进行数据传输的流程图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的这种网络中设备间的数据传输方法,在网络设备中设置管道控制模块,同一网络中数据发送源设备和数据发送目标设备的管道控制模块根据设备工作情况,分别将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,并建立源设备与目标设备间的数据传输管道;选择数据传输管道中的一种介质网络连接方式进行数据传输;数据传输过程中需要切换到另一种介质网络连接方式时,则源设备管道控制模块控制建立新介质网络连接,继续进行数据传输。
本发明中将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,并建立源设备与目标设备间的数据传输管道有两种实现方式第一种方式包括以下步骤11)同一网络中数据发送的源设备和数据发送的目标设备的管道控制模块,通过侦听网络多播地址获知对方可用的不同介质网络连接方式;12)源设备选择一种可用介质网络连接方式与目标设备建立网络协议连接;13)源设备的管道控制模块通过步骤12)建立的网络协议连接,向目标设备发送数据传输管道建立请求;14)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,然后向源设备返回数据传输管道建立响应;如果目标设备同意建立数据传输管道,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道;15)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
第二种方式包括以下步骤11a)源设备与目标设备用其所在网络的网络协议,建立网络协议连接;12a)源设备的管道控制模块通过步骤11a)建立的网络协议连接,向目标设备发送数据传输管道建立请求,该请求中包含自身可用的不同介质网络连接方式;13a)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,如果同意建立数据传输管道,则将自身和对方都可用的不同介质网络连接方式封装为数据传输管道,并在该响应中包含自身可用的不同介质网络连接方式;目标设备向源设备返回数据传输管道建立响应;14b)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将自身可用的不同介质网络连接方式和响应中包含的对方可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
上述两种实现方式中,封装数据传输管道的方法都可以为源设备和目标设备的管道控制模块在各自所在设备中分别将源设备和目标设备都可用的不同介质网络连接方式信息填入到管道信息表中,该管道信息表可以用于后续查找。具体来说,管道控制模块生成本次的源设备和目标设备都可用的不同介质网络连接方式信息,并判断本设备中是否已经存在管道信息表,如果不存在,则建立管道信息表,并将生成的信息添加到管道信息表中;如果已经存在,则直接将生成的信息添加到管道信息表中。其中源设备和目标设备都可用的不同介质网络连接方式信息可以包含管道标识、该管道设备间共同支持的网络协议、连接地址信息。
以下本发明介绍的本实施例是上述的第一种实现方式,也就是说同一网络中数据发送的源设备和数据发送的目标设备的管道控制模块,通过侦听网络多播地址获知了对方可用的不同介质网络连接方式。
参见图1,图1为本发明一个较佳实施例的数据传输过程示意图。该流程包括以下步骤步骤101,源设备要传输数据的应用程序向本设备中的管道控制模块发送管道建立命令,该管道建立命令中包含目标设备的设备标识。
步骤102,源设备的管道控制模块控制建立源设备与目标设备的网络连接,例如TCP连接,并根据管道建立命令中的目标设备标识,向目标设备发送管道建立请求消息。该管道建立请求消息中包含了源设备的设备标识、目标设备的设备标识以及期望的管道持续时间。
步骤103,目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,然后向源设备返回数据传输管道建立响应消息;如果目标设备同意建立数据传输管道,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,也就是将源设备和目标设备都可用的不同介质网络连接方式信息填入到管道信息表中。管道建立响应消息中包含管道建立成功或失败信息;如果管道建立成功,该管道建立响应还包含自身的设备标识、源设备标识、管道有效时间。
步骤104,源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,也就是将源设备和目标设备都可用的不同介质网络连接方式信息填入到管道信息表中,数据传输管道建立成功;否则数据传输管道建立失败。源设备的管道控制模块向源设备的应用程序返回管道建立结果。
步骤105,源设备的应用程序向源设备管道控制模块发送数据传输命令,该数据传输命令中包含管道标识、目标设备标识、目标应用程序标识和需要发送的源数据。
步骤106,源设备管道控制模块收到数据传输命令后,根据该命令选择数据传输管道中一种介质的网络连接方式,将待发送数据发送给目标设备管道控制模块。其中待发送的数据中至少包含源设备的设备标识、发送数据的应用程序标识、目标设备标识、目标应用程序标识、需要发送的源数据。
步骤107,目标设备的管道控制模块在接收到数据后,根据数据中的目标应用程序标识,将数据分发给目标设备中的目标程序。
步骤108,源设备的管道控制模块在数据传输完成或发送失败后,向源设备的应用程序返回数据发送成功或失败结果。
步骤109,数据传输管道空闲期间,源设备的管道控制模块向目标设备发送管道检测请求,该管道检测请求中包含源设备期望的管道可用时间。
步骤110,目标设备的管道控制模块收到该检测请求后,根据自身工作情况向源设备返回管道检测响应,该管道检测响应中包含管道可用时间,如果管道不可用,则目标设备的管道控制模块可以将管道检测响应中包含管道可用时间填为零。
如果源设备未收到管道响应或收到的管道响应是管道不可用,则源设备的管道控制模块删除该管道。
步骤111,源设备的应用程序在数据传输完成后,向源设备的管道控制模块发送管道关闭命令,该命令中包含要关闭的管道标识。
步骤112,源设备的管道控制模块收到管道关闭命令后,根据其中的管道标识删除该数据传输管道,并向目标设备发送管道关闭通知。目标设备在收到该关闭通知后,删除该数据传输管道。
步骤113,源设备的管道控制模块删除该数据传输管道后,向发送管道关闭命令的应用程序返回管道关闭成功或失败结果。
本实施例中,步骤102~步骤104是建立数据传输管道的过程,该过程中源设备管道控制模块的具体处理过程参见图2,图2为图1所示实施例中源设备管道控制模块建立数据传输管道的流程图,该流程包括以下步骤步骤201,源设备的管道控制模块收到管道建立命令后,判断是否已经存在源设备与目标设备的数据传输管道,如果已经存在,则执行步骤207;否则执行步骤202;步骤202,源设备的管道控制模块控制源设备与目标设备选择一种可用介质网络连接方式建立网络协议连接。例如TCP连接。
步骤203,判断建立的TCP连接是否成功,如果是,则执行步骤204;否则执行步骤208。
步骤204,源设备的管道控制模块通过TCP连接向目标设备发送管道建立请求。
步骤205,判断是否收到管道建立成功响应,如果是则执行步骤206;否则执行步骤208;步骤206,为成功建立的管道分配管道标识,在管道信息表中增加相应信息。
步骤207、向应用程序返回建立管道结果,将管道建立成功信息及管道标识报告给应用程序,建立管道过程结束。
步骤208、向应用程序返回建立管道结果,将管道建立失败信息报告给应用程序,建立管道过程结束。
图1所示实施例中,步骤105~步骤108是数据传输的过程,该过程中源设备管道控制模块的具体处理过程参见图3,图3为图1所示实施例中源设备管道控制模块进行数据传输的流程图,该流程包括以下步骤步骤301,源设备的管道控制模块收到数据传输命令后,判断是否存在与命令中管道标识相应的管道,如果有则执行步骤302;否则,执行步骤310。
步骤302,判断当前是否有可用的网络协议连接,如果有则执行步骤303;否则执行步骤305。
步骤303,判断在可用的网络协议连接上等待发送的数据量大小及该网络协议连接发送数据的平均速度大小,如果等待发送的数据量过大或该网络连接发送数据的平均速度太小,则执行步骤304,否则执行步骤307。
步骤304,查找并判断当前是否存在可用的其他网络协议连接,如果存在,则返回步骤303;否则,执行步骤305。
步骤305,在数据传输管道中选择根据源设备与目标共同匹配的网络协议,尝试建立新的网络协议连接。
步骤306,判断建立新的网络协议连接是否建立成功,如果是,则执行步骤307;否则执行步骤310。
步骤307,将待发送的数据放入当前可用网络协议连接的任务队列中,发送数据。
步骤308,判断发送是否成功,如果是则执行步骤309;否则执行步骤310。
步骤309,向应用程序返回数据发送结果,报告数据发送成功,数据传输过程结束。
步骤310,向应用程序返回数据发送结果,报告数据发送出错及出错原因,数据传输过程结束。
上述过程中,如果因为等待发送的数据量过大或该网络连接发送数据的平均速度太小,重新建立网络协议连接而没有成功时,也可以用原来的网络协议连接进行数据传输,只是传输的效率比较低。
如果数据传输过程中传输数据的网络协议因为外界因素连接被断开,源设备的管道控制模块从数据传输管道中选择新的介质网络连接方式,建立网络协议连接,如果建立成功,则用新的网络协议连接继续传输数据并通知源设备;否则通知源设备数据发送错误且数据传输管道不可用。
本实施例中的管道控制模块可以设置管道建立接口、数据传输接口、管道检测接口、管道关闭接口。源设备可以通过调用管道控制模块的这些接口来实现管道建立、数据传输、管道检测和管道关闭等功能。
另外,如果本实施例中的源设备要与多个目标设备进行数据传输,则该源设备分别通过管道控制模块与多个目标设备建立数据传输管道,建立数据传输管道的方法相同,但各个数据传输管道使用的端口不同。例如源设备只包含一个蓝牙端口,如果该端口已经封装在与目标设备1的一个数据传输管道中,则该端口不能封装到源设备与目标设备2的数据传输管道中。
如果图1所示实施例中,源设备为笔记本电脑1,目标设备为笔记本电脑2,它们处于同一个WLAN中。笔记本电脑1和笔记本电脑2分别安装了管道控制模块1和管道控制模块2,且都具有WLAN网卡和蓝牙网卡。笔记本电脑1上的WLAN网卡上加载了TCP/IP协议,IP地址为192.168.0.1,侦听端口为1234,笔记本电脑1上的蓝牙网卡上加载了串口Profile,模拟出的串口号为串口2。笔记本电脑2上的WLAN网卡加载了TCP/IP协议,IP地址为192.168.0.2,侦听端口为2345,笔记本电脑2上的蓝牙网卡上加载了串口Profile,模拟出的串口号为串口3。笔记本电脑1上的应用程序Fc为实现文件传输功能的客户端,笔记本电脑2上的应用程序Fs为实现文件传输功能的服务端。
笔记本电脑1和笔记本电脑2分别通过侦听端口1234和侦听端口2345侦听到对方向网络多播地址发送的自身可用的不同介质网络连接方式。
这样笔记本电脑1的Fc向笔记本电脑2的Fs传输数据的过程可以包括1、笔记本电脑1的Fc向管道控制模块1发送建立管道命令。
2、管道控制模块1选择一种笔记本电脑1和笔记本电脑2都可用的介质网络连接方式,建立网络协议连接,本实施例选择TCP/IP协议建立笔记本电脑1和笔记本电脑2间的TCP连接。
3、管道控制模块1通过建立的TCP连接向笔记本电脑2发送建立管道请求消息。该管道请求消息如表1所示。

表14、笔记本电脑2中的管道控制模块2收到管道建立请求消息后,根据笔记本电脑2当前的工作情况接受管道建立请求,向笔记本1发送管道建立响应消息。该管道建立响应消息如表2所示。

表2如果笔记本电脑2中的管道控制模块2不接受管道建立请求,则在表2所示响应消息中的ResultCode域值为失败。
5、笔记本电脑1上的软件模块收到管道建立响应消息后,向程序Fc报告管道建立管道成功或失败结果。Fc收到管道建立成功的结果报告后,即可通过管道向Fs发送数据。数据发送消息如表3所示

表3其中,Data域也可以是其他形式封装的源数据。
本实施例中,如果笔记本1上的应用程序Fc大量的向Fs发送数据时,则笔记本1上的软件模块可以通过创建新的TCP连接以满足数据传输需求。此时,管道信息表如表4所示


表4如果在数据传输过程中,由于外界的因素,两个TCP连接被断开,则笔记本电脑1的管道控制模块记录当前数据发送的位置,从数据传输管道中选择SerialPort2尝试连接,如果连接建立成功,则笔记本电脑1的管道控制模块根据记录的数据位置,继续通过SerialPort2发送数据。如果连接建立失败,则管道控制模块通知Fc,数据传输出错且当前管道不可用。
笔记本电脑1和笔记本电脑2在待发送的数据均发送完成后也就是管道空闲期间,笔记本电脑1的管道控制模块可以定期的向笔记本电脑2发送管道检测消息以检测管道的可用性。管道检测请求消息如表5所示

表5笔记本电脑2的管道控制模块收到笔记本电脑1的管道检测请求后,可以根据实际情况发送管道检测响应消息。如果此时笔记本电脑2上的负载过大,则笔记本电脑2的管道控制模块可以发送管道可用时间为0的检测响应消息。该消息如表6所示

表6笔记本电脑1或2的管道控制模块在管道建立成功后,也可以根据需要向对方发送管道关闭通知消息以通知对方该管道不再可用。管道关闭通知消息如表7所示

表7本实施例不仅适用与笔记本电脑之间的无线数据传输,同样适用于笔记本电脑与手机之间、手机之间、手机与PDA之间、PDA之间、PDA与笔记本电脑之间等等各种网络设备间的无线数据传输。当然,对于有线网络上的网络设备间的有线数据传输也适用。
由上述的实施例可见,本发明的这种网络设备间数据传输的方法,能够在数据传输过程中自动选择可用的连接方式进行数据传输,方便用户使用,节省系统资源。
权利要求
1.一种网络中设备间的数据传输方法,其特征在于,在网络设备中设置管道控制模块,数据传输过程包括以下步骤1)同一网络中数据发送源设备和数据发送目标设备的管道控制模块根据设备工作情况,分别将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,并建立源设备与目标设备间的数据传输管道;2)源设备的管道控制模块,选择数据传输管道中的一种介质网络连接方式进行数据传输;3)数据传输过程中需要切换到另一种介质网络连接方式时,则源设备管道控制模块控制建立新介质网络连接,继续进行数据传输。
2.如权利要求1所述的数据传输方法,其特征在于,所述步骤1)包括11)同一网络中数据发送的源设备和数据发送的目标设备的管道控制模块,通过侦听网络多播地址获知对方可用的不同介质网络连接方式;12)源设备的管道控制模块控制源设备选择一种可用介质网络连接方式与目标设备建立网络协议连接;13)源设备的管道控制模块通过步骤12)建立的网络协议连接,向目标设备发送数据传输管道建立请求;14)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,然后向源设备返回数据传输管道建立响应;如果目标设备同意建立数据传输管道,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道;15)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
3.如权利要求1所述的数据传输方法,其特征在于,所述步骤1)包括11a)源设备的管道控制模块控制源设备与目标设备用其所在网络的网络协议,建立网络协议连接;12a)源设备的管道控制模块通过步骤11a)建立的网络协议连接,向目标设备发送数据传输管道建立请求,该请求中包含自身可用的不同介质网络连接方式;13a)目标设备的管道控制模块根据自身工作情况决定是否同意建立数据传输管道,如果同意建立数据传输管道,则将自身和对方都可用的不同介质网络连接方式封装为数据传输管道,并在该响应中包含自身可用的不同介质网络连接方式;目标设备向源设备返回数据传输管道建立响应;14b)源设备的管道控制模块根据目标设备返回的数据传输管道建立响应判断目标设备是否同意建立数据传输管道,如果是,则将自身可用的不同介质网络连接方式和响应中包含的对方可用的不同介质网络连接方式封装为数据传输管道,数据传输管道建立成功;否则数据传输管道建立失败。
4.如权利要求2或3所述的数据传输方法,其特征在于源设备的管道控制模块是根据源设备中要传输数据的应用程序发送的建立管道命令,建立源设备与目标设备的网络协议连接,并通过该连接向目标设备发送数据传输管道建立请求;源设备的管道控制模块收到目标设备返回的数据传输管道建立响应后,向源设备中要传输数据的应用程序返回管道建立是否成功结果。
5.如权利要求4所述的数据传输方法,其特征在于所述应用程序发送的建立管道命令至少包含目标设备的设备标识。
6.如权利要求2或3所述的数据传输方法,其特征在于,所述源设备的管道控制模块发送的管道建立请求还包含源设备的设备标识、目标设备的设备标识、期望的管道持续时间;所述目标设备的管道控制模块返回的管道建立响应还包含管道建立成功或失败信息;如果管道建立成功,该管道建立响应还包含自身的设备标识、源设备标识、管道有效时间。
7.如权利要求1、2或3所述的数据传输方法,其特征在于,所述封装数据传输管道的方法为源设备和目标设备的管道控制模块在各自所在设备中分别将源设备和目标设备都可用的不同介质网络连接方式信息填入到管道信息表中。
8.如权利要求7所述的数据传输方法,其特征在于,所述封装数据传输管道的方法为管道控制模块生成本次的源设备和目标设备都可用的不同介质网络连接方式信息,并判断本设备中是否已经存在管道信息表,如果不存在,则建立管道信息表,并将生成的信息添加到管道信息表中;如果已经存在,则直接将生成的信息添加到管道信息表中。
9.如权利要求7所述的数据传输方法,其特征在于,所述源设备和目标设备都可用的不同介质网络连接方式信息包含管道标识、该管道设备间共同支持的网络协议、连接地址信息。
10.如权利要求1所述的数据传输方法,其特征在于所述的源设备与多个目标设备进行数据传输时,该源设备分别通过管道控制模块与多个目标设备建立数据传输管道。
11.如权利要求1所述的数据传输方法,其特征在于,所述步骤2)包括21)源设备的管道控制模块判断当前是否存在与已建立的数据传输管道对应的处于可用状态的活动网络协议连接存在,如果存在则执行步骤22);如果不存在,则从已建立的数据传输管道中选取一个网络协议尝试建立新的网络协议连接,连接建立成功后则执行步骤22),连接建立失败则选取下一个共同支持的网络协议进行尝试,如果尝试所有的匹配协议后仍然无法建立连接,则应向源设备报告数据传输管道不可用,结束流程;22)管道控制模块将待发送的数据放入当前可用状态的活动网络协议连接的任务队列,向目标设备发送数据。
12.如权利要求11所述的数据传输方法,其特征在于,所述步骤22)将待发送的数据放入当前可用网络协议连接的任务队列的过程包括22a)管道控制模块判断在该可用连接上等待发送的数据量大小及该网络连接发送数据的平均速度大小,如果等待发送的数据量过大或该网络连接发送数据的平均速度太小,则执行步骤22b);否则,将待发送的数据放入当前可用网络协议连接的任务队列;22b)管道控制模块查找当前是否存在可用的其他网络协议连接,如果存在,则返回步骤22a);否则在数据传输管道中选择根据源设备与目标共同匹配的网络协议,尝试建立新的网络协议连接,如果建立成功,则将待发送的数据放入新建立的网络协议连接的任务队列;否则,将待发送的数据放入原当前可用网络协议连接的任务队列。
13.如权利要求11所述的数据传输方法,其特征在于源设备的管道控制模块在接收到源设备中要传输数据的应用程序发送的数据传输命令后,执行步骤21);源设备的管道控制模块在数据发送完成或发送失败后,向要传输数据的应用程序返回数据发送成功或失败结果。
14.如权利要求13所述的数据传输方法,其特征在于所述应用程序发送的数据传输命令至少包含管道标识、目标设备标识、目标应用程序标识和需要发送的源数据;所述待发送的数据中至少包含源设备的设备标识、发送数据的应用程序标识、目标设备标识、目标应用程序标识、需要发送的源数据;目标设备的管道控制模块在接收到数据后,根据数据中的目标应用程序标识,将数据分发给目标设备中的目标程序。
15.如权利要求1所述的数据传输方法,其特征在于,所述步骤3)为数据传输过程中传输数据的网络协议连接断开时,源设备的管道控制模块从数据传输管道中选择新的介质网络连接方式,建立网络协议连接,如果建立成功,则用新的网络协议连接继续传输数据并通知源设备;否则通知源设备数据发送错误且数据传输管道不可用。
16.如权利要求1所述的数据传输方法,其特征在于,该方法进一步包括数据传输管道空闲期间,源设备的管道控制模块向目标设备发送管道检测请求;目标设备的管道控制模块收到该检测请求后,根据自身工作情况向源设备返回管道检测响应;如果源设备未收到管道响应或收到的管道响应是管道不可用,则源设备的管道控制模块删除该管道。
17.如权利要求16所述的数据传输方法,其特征在于,所述的管道检测请求至少包含源设备期望的管道可用时间;所述管道检测响应中至少包含管道可用时间;如果源设备收到的管道响应中,管道可用时间为零,则该管道不可用。
18.如权利要求1所述的数据传输方法,其特征在于,该方法进一步包括源设备或目标设备的管道控制模块在数据传输完成后删除该数据传输管道,并向对方标设备发送管道关闭通知,对方设备在收到该关闭通知后,删除该数据传输管道。
19.如权利要求1所述的数据传输方法,其特征在于,所述管道控制模块是在接收到应用程序发送的管道关闭命令后,向对方设备发送管道关闭通知;管道控制模块删除该数据传输管道后,向发送管道关闭命令的应用程序返回管道关闭成功或失败结果。
全文摘要
本发明公开了一种网络设备间数据传输的方法,该方法在网络设备中设置管道控制模块,数据传输过程包括1)同一网络中数据发送源设备和数据发送目标设备的管道控制模块根据设备工作情况,分别将源设备和目标设备都可用的不同介质网络连接方式封装为数据传输管道,并建立源设备与目标设备间的数据传输管道;2)源设备的管道控制模块,选择数据传输管道中的一种介质网络连接方式进行数据传输;3)数据传输过程中需要切换到另一种介质网络连接方式时,则源设备管道控制模块控制建立新介质网络连接,继续进行数据传输。应用本发明方法,能够在数据传输过程中自动选择可用的连接方式进行数据传输,方便用户使用,节省系统资源。
文档编号H04L29/04GK1716946SQ200410062649
公开日2006年1月4日 申请日期2004年6月30日 优先权日2004年6月30日
发明者黄景楠, 罗予晋, 刘洋 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1