Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. CN101114867 - Multi-channel synchronization transmitting method and system

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ ZH ]
一种多信道同步传输的方法及系统


技术领域
本发明涉及数字家庭的领域,特别是涉及数字家庭网络设备多信道同步传 输数据的方法。
背景技术
21世纪是信息时代,随着信息化的发展每个人、每间公司、每个组织等 每天有大量的信息处理需要处理,同时又不断的生成新的信息。随着通信技术 的不断发展,使得局域网的组网方式越来越灵活,包括有线传输,以及各种无 线通信方式如Ethernet、WiFi、UWB、Bluetooth、Infrared等,一方面网络办 公设备为了更好实现与外部设备的数据连接,通常都提供多种通信的数据接 口,以满足不同的应用场景的数据通信需求,另一方面,随着信息量的不断增 长,人们对数据传输的速度要求越来越高,以至于每一种数据传输方式都在不 断的升级,数据传输速率在不断提高,如USB1.0、USB1.1、USB2.0等多种升 级版本的出现,都是以满足人们快速传输大量数据的需求。
不同的信道有着不同的带宽和物理特性,以及各自不同的报文格式,传输 参数要求等,但是它们的本质都是供各类不同的设备相互通讯,传输数据,交 换信息。如果在物理层把各种信道的信息转换则需要专门的硬件,随着互联互 通技术发展,家用电器及办公设备基本能支持无线通讯网和电力网的数据传 输。现在大部分信息家电都配备操作系统,而且操作系统由驱动程序支持,可 以同时控制系统中处于不同信道的硬件,从而在操作系统层面的不同信道传送 数据就不需要特殊的硬件支持了。
因此,在信息交换需求不断发展的今天,人们一方面需要设备以不同的数 据传输方式满足不同的数据传输环境,又希望数据传输的速度不断提高,提供 一种实现数据快速传输的方法,既能实现对网络设备通信资源的有效利用,又 能提高数据传输的效率实有必要。
发明内容
本发明要解决的技术问题是提供一种实现多信道同步传输数据的方法。
本发明解决技术问题的技术方案提供的一种数据多信道同步传输数据的 方法,包括以下步骤:建立客户端与服务器端数据连接,客户端获取服务器端 的数据传送服务的服务描述报文;客户端发出调用服务器端的数据传送服务请 求;服务器端收到客户端的服务调用请求以后根据客户端的要求及本设备当前 的情况,为客户端提供文件传输服务,然后,服务端进行空闲信道检测,当检 测到所有跟客户端连接的信道都可用,且根据客户端服务调用的传送请求中的 参数知道需要快速传送数据,则启用所有跟客户端连接的信道发送数据,当开 展数据传送后发现有某些信道不可用,则在数据传送过程中再执行空闲信道检 测,并增加新检测到的空闲信道来同时发送数据,且在利用新检测到的空闲信 道传送时首先传输文件的分片信息,所述空闲信道检测以信道的参数为依据; 客户端从多个信道同时接收数据。
更进一步的是本发明多信道同步传输的方法服务器端对容量较大的单个 文件进一步包括文件分割功能,客户端对从多个信道接收的分片文件重组。
本发明提供一种多信道同步传输数据的系统包括,服务器端、客户端及建 立服务器端与客户端之间数据连接的协议栈,其中服务器端进一步包括:空闲 信道检测模块,执行空闲信道检测,当开展数据传送后发现有某些信道不可用, 则在数据传送过程中再执行空闲信道检测,所述空闲信道检测以信道的QoS 参数为依据,文件分割模块,负责把容量较大的文件按设定的要求分割成多个 数据块,传输信道分配模块,负责把分割好的数据块分配至相应的数据传输信 道,所述数据传输信道为所述空闲信道检测模块检测出的空闲信道,数据传送 模块,将数据块通过所述相应的数据传输信道同步传输给客户端;客户端进一 步包括:传输信道分配模块,根据服务器端确定的传输信道在客户端分配数据 接收信道,数据接收模块,负责从不同的信道接收数据块,文件重组模块,将 从多个信道接收到的数据块重组还原为原文件。
基于IGRS协议的多信道带宽共享技术就是在操作系统的软件层面上实现 多信道同步传输数据,它不需要额外的硬件负责信道的信息转换,只要运行 IGRS协议的硬件设备具有相应信道的接口,操作系统能够访问这些接口就可 以实现多信道共享带宽。从而大大的节省了硬件成本,降低了系统开发的复杂 性。
附图说明
图1是本发明基于IGRS协议多信道同步传输数据原理图;
图2是本发明空闲信道检测示意图;
图3是本发明文件分割示意图;
图4是本发明多信道传输数据示意图;
图5是本发明多信道数据接收示意图;
图6是本发明文件重组示意图。
具体实施方式
本发明提供的一种多信道同步传输的方法是通过IGRS协议实现服务器端 与客户端之间的数据在不同信道间同时传输,从而有效的提高数据的传输速 度。利用IGRS协议实现多信道同步传输数据的实现过程如下:
请参阅图1所示的基于IGRS协议多信道同步传输数据原理图,开发基于 IGRS协议的多通道数据同步传送服务主要包括通过IGRS协议栈30建立数据 服务器端10与客户端20之间的数据连接,服务器端10的数据传送服务包括 空闲信道检测模块12负责服务器端10与客户端20之间的空闲数据信道的检 测;文件分割模块14负责把容量较大的文件按设定的要求分割成多个数据块; 传输信道分配模块16负责把分割好的数据块分配至相应的数据传输信道;最 后通过数据传送模块16将多个数据块通过多信道同步传输的方式传输给客户 端20。客户端20的数据接收模块22负责从不同的信道接收数据块,再经文 件重组模块24重新组合,形成一个完整的文件。
为了对本发明的技术方案有更清楚说明,下面对本发明的技术方案进行更 详细描述,服务器端的数据传送服务包括的功能主要有:信道空闲侦测、文件 分割、传输信道分配、多信道传送数据。
请参阅图2所示的空闲信道检测示意图,服务器端的信道空闲侦测功能是 服务器探测当前有多少个信道能够为文件传输服务。当发现有两个或两个以上 的信道空闲时,服务器端的文件传输服务就可以把空闲的信道都利用上,以加 快文件传输的速度。空闲信道侦察主要是根据信道的QoS(Quality of Service) 参数来确定的。服务器端通过向操作系统进行系统调用,启动当前所有信道的 QoS,如果发现当前信道的QoS能够满足传送文件的要求,服务器端就启动该 信道进行数据传送。无论是服务器端或客户端,在不同信道传送和接收数据的 时候是通过不同的线程传送和接收数据的。因此实现基于IGRS协议的多信道 同步传输数据的技术需要有支持多线程的操作系统支持。当然,在同一信道的 数据传送也可以使用多线程。
请参阅图3所示的文件分割示意图,服务器端的文件分割功能是为了满足 传送单个大文件容量的文件服务的。例如一些视频文件,数据库文件等,它们 的文件大小通常都达到上GB。文件分割功能主要是把这些大文件容量的文件 分割成几块适合在不同信道传输的数据块,这样,当检测到其他信道空闲的时 候就通过这些空闲信道传送分割的数据块。文件的划分原则主要是考虑平衡主 信道的带宽、空闲信道的带宽、文件的总容量、传输线程的数量、文件传送的 优先级别等方面的参数,按照需要进行划分。在主信道上传输的文件分片大小 和在空闲信道传输的文件分片正比于主信道和空闲信道的带宽比。如果主信道 带宽为空闲信道带宽的2倍,则在主信道传输的文件分片大小是在空闲信道传 输的文件分片大小的2倍。当文件总容量比较大的时候,如果服务器端和客户 端的文件传送服务支持同一信道多线程传送,则文件分片的数目要比服务器端 和客户端的文件传送服务不支持同一信道多线程传送要多。这样更能让多线程 同时启动,发送不同的文件分片。当文件传送的优先及比较高,而系统又服务 器端和客户端都支持同一信道多线程传送的时候,文件分片相对会多一些。对 文件进行分片时不同的分片带有不同的ID,以便在客户端把文件重组时候能 够正确的把分片连接起来。分片的ID是文件所在的路径、文件名、本分片相 对文件头的偏移量。这样就能够在一个系统内唯一表示一个分片。在通过不同 的信道传送文件分片的时候,文件分片的ID首先传送。让客户端可以知道本 分片的信息。如果要传送的文件数比较多,总容量比较大但是单个文件容量比 较小的时候就不需要对这些文件进行分片,直接把单个文件通过空闲的信道传 送。
服务器端的传输信道分配模块16会每一个数据块大小确定的各自的传输 信道、传输信道分配的发送线程数、传送优先级等参赛,在相应的信道分配好 发送数据的线程,将数发向客户端。
请参阅图4多信道传输数据示意图,服务器端的多信道传输数据就是利用 空闲信道的带宽,进行数据的传输。当服务器端的信道空闲侦测完成后,服务 器端就通过IGRS协议通知客户端现在可用信道的信息,通知客户端在相应的 空闲信道等待数据。服务器端和客户端商定使用空闲信道的交换信息都是通过 IGRS协议栈进行的。当服务器端发现了有新的空闲信道可用利用,它就在 IGRS协议服务调用的过程中,以服务调用通知的形式告诉客户端有新的信道 可用。服务器端与客户端利用IGRS协议的通知机制协商当前对可用信道的传 送参数,包括可用信道的标识、在可用信道启动的传输线程数、在可用信道传 送的文件或文件分片信息等。进而在建立可用信道的数据传输连接。服务器端 和客户端都借助IGRS协议里面的基于回话的通知消息报文交换各自的数据, 商定双方的传送参数。而IGRS协议在多信道传输数据的服务中扮演着信息控 制信息交换桥梁的角色。
客户端的数据传送服务包括:数据信道分配、多信道接收数据、文件重组、 文件完整性检查。
客户端的传输信道分配模块26会根据服务器端的数据传输信道分配模块 16确定的传输信道、传输信道分配的发送线程数、传送优先级等参赛,在相 应的信道分配好接收数据的线程,等待服务器端把数据传输过来。
请参阅图5所示的多信道数据接收示意图,客户端的多信道接收数据功能 是接收服务器从不同信道传送过来的数据。客户端接收到服务器端的空闲信道 传送通知以后就启动新的线程在对应的信道等待服务器端把数据传送过来。传 送过来的数据即包括原文件的文件内容,也包括本信道文件分片的分片信息。
请参阅图6所示的文件重组示意图,客户端的文件重组模块24是把从多 信道接收到的数据块重组还原为原文件。重组数据块的依据就是文件分片信 息。文件分片信息是在服务器端通过不同的信道传送数据的时候首先传送过来 的信息。它包括文件分片的ID、本文件的分片数、文件的总容量、本分片的 传送次数等基本信息。客户端的文件重组在文件的所有分片传送完毕以后进 行。它能够根据文件分片的信息把所有分片重新连接为完整的原文件。
客户端的文件完整性检查是对传送的文件分片进行连接后校对文件的完 整性。当传输过程中出现某些错误的时候,文件连接可能可以成功,但是连接 后的文件跟源文件有差别,文件完整性检查就把出问题的文件分片丢弃,重新 向服务器端请求传输出问题的文件分片。当接收到正确的新文件分片后,再次 调用文件重组功能把文件连接起来还原文件。
下面详细描述一下多信道同步传输数据的过程。
首先是进行IGRS协议数据传送服务调用,当客户端有需要调用服务器端 的数据传送服务的时候,客户端就向IGRS协议发出调用服务器端的数据传送 服务请求。客户端在发出服务调用请求之前首先是获取到服务器端的数据传送 服务的服务描述报文。这个服务描述报文不单描述了服务器端的数据传送服务 的基本信息,而且指明了本服务是否支持多信道共享带宽的功能,包括了支持 该功能的具体参数,如支持的信道(Ethernet、UWB、Blue tooth......)、是否 支持单信道多线程传输、支持传送的最大线程数等。客户端根据服务描述报文 的内容以及本设备的情况向服务器端发起调用服务器端的文件传送服务。如果 客户端也支持多信道共享带宽,则在服务调用请求的时候指定本服务调用使用 多信道共享带宽支持,指明本客户端支持的信道,该信道需要对应于服务器端 数据传输服务的服务描述报文指明支持的信道、是否支持单信道多线程传送、 支持的最大线程数等参数。
服务器端收到客户端的服务调用请求以后根据客户端的要求及本设备当 前的情况,为客户端提供文件传输服务。通过IGRS协议进行数据传送服务调 用的时候,服务器端和客户端协调好服务调用的参数后就可以使用IGRS通讯 的信道开展数据传输了。这个信道是服务器端跟客户端利用IGRS协议交互信 息的信道,因此这个信道是肯定可用的信道。一开始传送文件的时候不需要对 大文件进行分片,因为默认的情况下是使用本信道进行单信道传送。
然后,服务器端进行空闲信道检测工作,如果客户端在服务调用的时候指 明使用多信道共享带宽的支持,则服务器端就开始侦察跟客户端能够通讯,而 且是可用的信道。这个工作根据服务调用的传送要求不定期的开展,当检测到 所有的跟客户端连接的信道都可用的时候,而且客户端服务调用的传送要求知 道的参数需要快速传送数据,那么服务器端就启用所有跟客户端连接的可用信 道开展数据传输服务。这样服务器端在本次服务结束之前就不在开展空闲信道 检测工作。在所有的可用信道都能用来开展数据传送服务的时候,服务器端保 证不能全部占用信道的带宽,以保留带宽供更紧急的数据交互。当开展数据传 送后发现有某些信道不可以用,则服务器端先不使用该信道,在数据传送过程 中再对信道进行空闲检测,如果服务器端检测到跟客户端连接的信道中有空闲 信道,则服务器端就可以使用该信道进行数据传送了。在利用新检测到的空闲 信道传送时首先传输的是文件的分片信息。客户端需要用最新的文件分片信息 更新客户端的文件传输记录。因为这个文件分片信息是随时改变的。在一开始 使用单信道单线程传送的时候文件是没有分片的。当发现有新信道可用的时 候,服务器就在原来文件的基础上对文件进行分片,把新分片通过新发现的可 用信道传送出去。这时客户端的文件分片信息已经陈旧,服务器端把最新的文 件分片信息发给客户端,以通知客户端新信道发送的文件分片是文件的什么部 分,它相对于文件头的偏移是多少,整个文件的总体分片信息是什么。
接下来是数据传送过程的文件分片,如果数据传送服务需要传送的文件都 是单个文件容量比较小的文件的集合,那么就不需要开展文件分片工作。当数 据传送服务需要传送的文件有单个文件容量比较大的文件存在的时候需要对 文件进行分片。数据传送过程中的文件分片是个不定期调用的过程。如果服务 器端使用多线程传输的时候(包括单信道多线程传输和多信道多线程传输), 需要对文件进行分片;如果服务器端侦查到当前有新的空闲信道可用使用的时 候,需要对文件进行分片。分片数量是以主信道带宽、可用信道数、可用信道 带宽、服务调用的请求优先级、当前信道的QoS值、本次服务调用同时启动 的传送线程数作为输入参数的函数。一般的信道的带宽越大,在该信道传送的 分片大小就越大;服务调用请求的优先级越高,分片就越多;当前信道的QoS 值越优,分片越多;本次服务调用启动的传送线程数越多,分片越多。
如果调用数据传送服务的过程中服务器端对文件进行过分片,那么客户端 在接收完数据的时候就需要对文件重组。文件重组的依据是服务器端传送过来 的文件分片信息,它标明了不同文件分片的信息和文件的总体分片信息。根据 这些信息把文件的分片按照分片在源文件的偏移连接起来,还原源文件。
因此,本发明提供的多信道同步传输数据方法,能在不增加现有网络设备 通信资源的基础上,可快速提高数据传输的速度。