数据传输方法、系统及电子设备与流程

文档序号:11156841阅读:229来源:国知局
数据传输方法、系统及电子设备与制造工艺

本发明涉及信息技术领域,尤其涉及一种数据传输方法、系统及电子设备。



背景技术:

随着社会经济的发展,跨区域的文件分享成为一种新的迫切需求,且越来越受到关注。传统的媒体制作单位(例如,电视台等机构),在国际性事件(例如,奥运会)发生的时候,通常需要使用跨国文件传输服务将在国外采集到的素材传递到国内。当文件传到国内后,这些机构又出于保存的目的,需要将这些文件放置在存储系统内进行长期保存。

发明人在实现本发明的过程中发现,传统的媒体制作单位所使用的跨国文件传输服务以及存储服务通常是两个分开的服务。这就使得客户在使用跨国文件传输服务将文件传至国内后,还需要二次上传到存储系统中。一方面,这样使得完成文件的跨区域传输存储的效率变得低下;另一方面,由于存储系统是基于传统介质的(硬盘、磁盘、磁带等),非常不利于文件的长期保存。



技术实现要素:

本发明实施例提供一种数据传输方法、系统及电子设备,用于至少解决现有技术中存在的实现文件的跨区域传输存储效率低下的技术问题。

第一方面,本发明实施例提供一种数据传输方法,其包括:

解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

根据所述本地存储地址获取所述待传输数据;

通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

第二方面,本发明实施例提供一种数据传输系统,包括:

指令解析模块,用于解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

传输通道建立模块,用于建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

数据获取模块,用于根据所述本地存储地址获取所述待传输数据;

数据传输模块,用于通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

第三方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项数据传输方法。

第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项数据传输方法。

第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项数据传输方法。

本发明实施例的数据传输方法、系统及电子设备的有益技术效果在于:通过建立与目的地云盘之间的数据传输通道,并通过所述数据传输通道将待传输数据直接传输至目的地云盘进行存储。节省了将待传输数据传输至目的地后再次进行转储的时间开销,提升了跨区域传输存储文件的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的数据传输方法一实施例的流程图;

图2为本发明的数据传输方法另一实施例的流程图;

图3为本发明的数据传输方法又一实施例的流程图;

图4为本发明的数据传输系统一实施例的结构框图;

图5为本发明的数据传输系统另一实施例的结构框图;

图6为本发明的数据传输系统又一实施例的结构框图;

图7为本发明的电子设备的一实施例的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“装置”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

如图1所示,本发明的一实施例的数据传输方法,包括:

S11、解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

S12、建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

S13、根据所述本地存储地址获取所述待传输数据;

S14、通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

本实施例的数据传输方法通过建立与目的地云盘之间的数据传输通道,并通过所述数据传输通道将待传输数据直接传输至目的地云盘进行存储。节省了将待传输数据传输至目的地后再次进行转储的时间开销,提升了跨区域传输存储文件的效率。

本实施例中的步骤S12中的数据传输指令可以是基于本地数据分享指令生成的,例如,本地需要进行跨区域的文件分享时会生成文件分享指令,并且根据文件分享指令生成数据传输指令来完成文件的跨区域分享。数据传输指令也可以是基于跨区域的数据访问请求生成的。例如,第一区域需要访问第二区域的文件时,就在第一区域生成文件访问请求并发送至第二区域的服务器。当第二区域的服务器接收到文件访问请求后根据文件访问请求生成对应的数据传输指令以实现第一区域对第二区域的文件访问。

本实施例中的步骤S12至步骤S14通过直接建立与目的地云盘之间的数据传输通道并进行待传输数据的传输,实现了快速传输数据的目的。保证了文件传输的稳定性以及文件的完整性。

在一些实施例中,所述本地存储地址为所述待传输数据在本地服务器上的存储地址和/或所述待传输数据在本地云盘上的存储地址。

本实施例中根据待传输数据的本地存储地址确定待传输数据是存储在本地服务器还是本地云盘,并根据确定结果获取待传输数据进行传输。本实施不限制待传输数据的存储位置。并且本实施例中当确定本地服务器和本地云盘都存储有待传输数据时,优先从本地云盘获取待传输数据,以节省从本地服务器获取待传输数据再上传至网络进行传输所耗费的时间成本,提高数据传输的效率。

在一些实施例中,所述数据传输通道能够通过广域网加速将所述待传输数据传输至所述目的地存储地址所对应的服务器。本实施例中通过采用广域网加速待传输数据的方法整体上提升了跨区域数据传输存储的效率。本实施例中的广域网加速为前向纠错编码加速或WDT加速。广域网加速可以通过现有技术的加速传输方法实现,如前向纠错编码技术和WDT加速工具都可以实现。本发明实施例优选通过前向纠错编码技术进行加速传输,具体可以为在本地对获取到的待传输数据进行编码,将其由TCP包转换为UDP包,然后将编码后的UDP包通过数据传输通道传输到目的地云盘,目的地云盘接收到UDP包后进行解码处理,将UDP包再还原为TCP包即可。通过UDP加速的方式,在传输的过程中,即使发生包丢失的情况,例如本来11个包,传输到目的地云盘的只有8个包的情况下,通过前向纠错处理依然能够获取到正确的文件内容,即使发生包丢失也不影响文件的准确性。其中,前向纠错的具体处理过程和机制,可以参考现有技术,在此不进行赘述。

如图2所示,在一些实施例中,所述待传输数据以UDP数据包的形式进行传输;所述数据传输方法还包括:

S21、接收所述目的地云盘所发送的丢包信息;

S22、解析所述丢包信息以确定传输所述待传输数据过程中丢失的UDP数据包;

S23、通过所述数据传输通道重新传输所述丢失的UDP数据包至所述目的地云盘。

本实施例中通过解析来自目的地云盘所发送的丢包信息以确定数据传输过程中丢失的具体是哪个数据包,并相应地重新发送被丢失的数据包至目的地云盘。正是基于这种负反馈的机制(接收端检测到丢包并把需要重传的包信息反馈给发送端)使得本实施例的丢包重传所针对的都是真正丢失的数据包,没有冗余的传输和带宽的浪费。

如图3所示,在一些实施例中,所述数据传输方法还包括:

S31、接收所述目的地云盘所发送的最大数据存储速率;

S32、根据所述最大数据存储速率确定用于传输所述待传输数据的数据传输速率,所述数据传输速率小于所述最大数据存储速率。

本实施例通过实时的接收目的地云盘所反馈的在目的地云盘进行数据存储的最大数据存储速率,来确定用于传输待传输数据的数据传输速率,并且限制数据传输速率小于最大数据存储速率。从而避免了当用于传输待传输数据的数据传输速率大于所述最大数据存储速率时,目的地云盘不能及时存储传输来的待传输数据而造成的丢包情况。因此,本实施例的数据传输方法在实现数据的高速传输的情况下还保证了数据传输的完整性。因为,目的地云盘的吞吐能力(能够同时进行的读取和/或写入的数据的总量)是有限的,而本地云盘又可能是在同时进行多个任务的读写工作的,所以本地云盘的实际的可用吞吐能力也是在不断变化的。因此,在对目的地云盘进行读写操作时需要考虑其当前的实际吞吐能力,以保证数据读写的质量。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

如图4所示为本申请一实施例提供的一种数据传输系统400,包括:

指令解析模块410,用于解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

传输通道建立模块420,用于建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

数据获取模块430,用于根据所述本地存储地址获取所述待传输数据;

数据传输模块440,用于通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

在一些实施例中,所述本地存储地址为所述待传输数据在本地服务器上的存储地址和/或所述待传输数据在本地云盘上的存储地址。

在一些实施例中,所述数据传输通道能够通过广域网加速将所述待传输数据传输至所述目的地云盘。

如图5所示,在一些实施例中,所述待传输数据以UDP数据包的形式进行传输;所述数据传输系统400还包括:

丢包信息接收模块450,用于接收所述目的地云盘所发送的丢包信息;

信息解析模块460,用于解析所述丢包信息以确定传输所述待传输数据过程中丢失的UDP数据包;

丢包数据发送模块470,用于通过所述数据传输通道重新传输所述丢失的UDP数据包至所述目的地云盘。

如图6所示,在一些实施例中,所述数据传输系统400还包括:

存储速率接收模块480,用于接收所述目的地云盘所发送的最大数据存储速率;

传输速率确定模块490,用于根据所述最大数据存储速率确定用于传输所述待传输数据的数据传输速率,所述数据传输速率小于所述最大数据存储速率。

上述本发明实施例的数据传输系统可用于执行本发明实施例的数据传输方法,并相应的达到上述本发明实施例的数据传输方法所达到的技术效果,这里不再赘述。

本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。

另一方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行上述方法实施例中的相关步骤,例如:

解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

根据所述本地存储地址获取所述待传输数据;

通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

另一方面,本发明实施例还公开一种电子设备,该电子设备包括:

至少一个存储器,用于存放计算机操作指令;

至少一个处理器,用于执行所述存储器存储的计算机操作指令,以执行:

解析接收到的数据传输指令以确定待传输数据的本地存储地址和目的地存储地址;

建立与所述目的地存储地址所对应的目的地云盘之间的数据传输通道;

根据所述本地存储地址获取所述待传输数据;

通过所述数据传输通道将获取的待传输数据传输至所述目的地云盘。

图7是本申请另一实施例提供的执行数据传输方法的电子设备的硬件结构示意图,如图7所示,该设备包括:

一个或多个处理器710以及存储器720,图7中以一个处理器710为例。

执行数据传输方法的设备还可以包括:输入装置730和输出装置740。

处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。

存储器720作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据传输方法对应的程序指令/模块。处理器710通过运行存储在存储器720中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例数据传输方法。

存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据传输装置的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至数据传输装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置730可接收输入的数字或字符信息,以及产生与数据传输装置的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行上述任意方法实施例中的数据传输方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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