掌桥专利:专业的专利平台
掌桥专利
首页

数据传输方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:30


数据传输方法、装置、设备及存储介质

技术领域

本发明涉及数据传输技术领域,特别涉及一种数据传输方法、装置、设备及存储介质。

背景技术

RDMA(Remote Direct Memory Access,远程直接内存访问)是一种直接存储器访问技术,它允许应用程序和网卡之间绕过操作系统内核进行直接交互,并且可以通过远程服务器上的网卡直接访问远程服务器上的内存。因此通过RDMA技术可以避免数据从应用缓冲区到内核网络缓冲区的拷贝,又因为应用程序可以通过远程服务器上的网卡直接访问远程内存,从而在远程服务器端,数据的读写无需CPU参与,所以通过RDMA技术进行数据传输具有很小的管理开销,并杜绝了内存污染现象的出现,具有良好的可用性和性能。

最早实现RDMA能力的是高性能计算领域中的无限带宽(Infini band)协议,Infini Band从数据链路层到网络层再到传输层设计了一套全新的网络协议,并将协议下沉到专用硬件(网卡,交换机),使Infini Band完全工作在一个封闭的环境中。专用协议和专用硬件的设计使得在高性能计算,超算等领域获得了巨大成功。

然而随着数据的不断增加,现有的RDMA在数据传输过程中存在内存注册操作冗杂以及信号发出端CPU拷贝时的资源占用率会导致高延迟的问题。

发明内容

本发明实施例的目的在于提供一种数据传输方法、装置、设备及存储介质,解决现有的RDMA在数据传输过程中存在内存注册操作冗杂以及信号发出端C PU拷贝时的资源占用率会导致高延迟的问题,具体技术方案如下:

在本发明实施的第一方面,首先提供了一种数据传输方法,其特征在于,所述方法包括:

将目标传输数据划分为多个分片数据,所述分片数据按照预设规则排序;

将多个所述分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP;

通过所述QP将所述分片请求发送至网卡;

通过所述网卡将拷贝完成的每个分片数据封包发送。

可选地,所述将多个所述分片数据依次拷贝到指定的注册内存,包括:

按照预设规则确定多个所述分片数据的拷贝顺序;

在确定拷贝顺序中处于上一位置的分片数据拷贝完成的情况下,开始进行下一位置分片数据的拷贝。

可选地,所述QP包括:发送队列和接收队列;

所述通过所述QP将所述分片请求发送至网卡,包括:

获取所述QP的状态信息,所述状态信息包括:所述QP中发送队列的状态信息和所述QP中接收队列的状态信息;

通过所述状态信息将所述分片请求发送至网卡,所述状态信息缓存于所述网卡的缓存内。

可选地,所述通过所述网卡将拷贝完成的每个分片数据封包发送,包括:

获取目标大小的以太网包头;

为拷贝完成的所述分片数据添加所述以太网包头;

通过所述网卡将添加以太网包头后的分片数据封包发送。

可选地,所述通过所述网卡将添加以太网包头后的分片数据封包发送之后,还包括:

获取目标数据包的大小,所述目标数据包是通过将添加以太网包头后的分片数据封包处理得到的;

根据所述目标数据包的大小确定接收地址。

可选地,所述获取目标数据包的大小之后,还包括:

获取目标传输数据的大小;

获取以太网包头的数据大小;

根据所述目标传输数据的大小和所述以太网包头的数据大小从接收缓冲区划分出目标大小缓冲区间,所述目标大小缓冲区间用于接收传输的多个目标数据包;

通过所述目标大小缓冲区间确定目标数据包的第一接收地址区间;

根据所述以太网包头的数据大小确定所述第一接收地址区间中接收有效数据地址区间的起始地址;

获取传输的多个所述目标数据包的个数;

根据传输的多个所述目标数据包的个数将所述接收有效数据地址区间进行划分;

所述根据传输的多个所述目标数据包的个数将所述接收有效数据地址区间进行划分,包括:

按照由高地址到低地址的顺序和传输的多个所述目标数据包的个数将所述接收有效数据地址区间进行划分。

可选地,所述分片数据的大小初步选定为4KB。

在本发明实施的第二方面,还提供了一种数据传输装置,其特征在于,包括:

划分模块,用于将目标传输数据划分为多个分片数据,所述分片数据按照预设规则排序;

拷贝模块,用于将多个所述分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP;

第一发送模块,用于通过所述QP将所述分片请求发送至网卡;

第二发送模块,用于通过所述网卡将拷贝完成的每个分片数据封包发送。

在本发明实施的第三方面,还提供了一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的数据传输方法。

根据本申请实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行如本申请第一方面所述的数据传输方法。。

本发明实施例提供的数据传输方法,通过将目标传输数据划分为多个分片数据,分片数据按照预设规则排序,从而将目标传输数据分片处理,使得只需要被一个较小分片的阻塞后就可以获得处理,提高了服务器的响应速度,从而提高数据的传输能力,将多个分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP,通过QP将分片请求发送至网卡,从而实现利用RDMA技术绕过操作内核直接交互,节省了大量的CPU资源,提高了系统吞吐量,降低了系统的网络通信延迟,通过网卡将拷贝完成的每个分片数据封包发送,可以实现在网卡发送分片数据的同时,CPU处理下一分片数据,大幅缩减了发送大消息的整体延迟,降低了频繁注册内存的冗杂阻塞。综上所述,本发明实施例通过将目标传输数据分片,并在网卡发送分片数据的同时使得CPU继续处理下一分片数据,避免了内存注册操作冗杂以及信号发出端CPU拷贝时的资源占用率会导致高延迟的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的传统数据传输示意图;

图2是本发明实施例提供的现有RDMA数据传输示意图;

图3是本发明实施例提供的数据传输方法的步骤流程图之一;

图4是图3所示的本发明实施例提供的数据传输方法中目标传输数据的划分示意图;

图5是本发明实施例提供的分片数据拷贝流程示意图;

图6是图3所示的本发明实施例提供的数据传输方法中步骤104的流程图;

图7是本发明实施例提供的分片数据传输示意图;

图8是本发明实施例提供的一种数据传输装置的结构示意图;

图9是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明实施例是通过RDMA(Remote Direct Memory Access,远程直接内存访问)的网络传输技术来实现通过远程服务器上的网卡直接访问远程服务器上的内存的。为了更加清楚的了解这一技术,本发明的发明人对传统的数据传递方式进行深入了解,如图1所示,图1为本发明实施例提供的传统数据传输示意图,用户1和用户2之间进行数据传输时(以用户1向用户2传输数据为例),将数据从用户1的缓存空间复制到内核1的套接字缓存空间,然后再由内核1的套接字缓存空间复制到网卡1的缓存空间,进行网络传输,数据的接受方——用户2,通过网卡2接收网卡1发送的数据,并将其存储到网卡2的缓存空间,而后从网卡2的缓存空间复制到内核2的套接字缓存空间,然后经过一系列的网络协议进行数据包的解析工作,最终被复制到用户2的缓存空间。同理,用户2发送数据,用户1接收数据亦要经过这一系列的拷贝工作,由上述内容可知,传统的数据传输需要进行频繁的拷贝,即意味着需要CPU的多次介入,导致处理延时大,达到数十微秒,同时整个过程CPU的过多参与,大量消耗CPU性能,影响数据计算。

RDMA(Remote Direct Memory Access,远程直接内存访问)的网络传输技术允许用户态的应用程序直接读取或写入远程内存,不经过操作系统。无内核干预和内存拷贝发生,节省了大量的CPU资源,提高了系统吞吐量,降低了系统的网络通信延迟,对应的数据传输方式如图2所示,中央处理器1将数据拷贝到内存1,而后发送信息至网卡1,网卡1发送信息至网卡2,通过网卡1和网卡2将数据传输至内存2,可以看到RDMA的远程传输不需要经过远程中央处理器2的参与,也无需经过操作系统,但是中央处理器1节点作为信号的发出端和接收端仍面临着对于海量数据的处理,很容易导致CPU1达到性能瓶颈,从而使得传输过程的延迟增大,基于此,本发明实施例提出了分片模式内存拷贝方法,将大数据信息分割成小片状,以小的网络包形式进行传输,网卡发送数据的同时,中央处理器同步进行拷贝工作,因此大幅缩减了发送大消息的整体延迟。降低了频繁注册内存的冗杂阻塞。提高了RDMA的传输速率。

参照图3,示出了本发明实施例提供的数据传输方法的步骤流程图之一,所述方法可以包括:

步骤101,将目标传输数据划分为多个分片数据。

本发明实施例是通过将大数据信息分割成片状后,通过CPU的分布处理来完成数据传输,需要说明的是,分片数据的大小初步选定为4KB。因为尽管小分片拷贝可以大幅减少由于拷贝带来的开销,但是为了最小化内存管理的开销,仍然需要确定一个合适的分片大小。本发明实施例期望在上一个分片被网卡发送完成以后,下一个分片已经被拷贝进注册内存中,同时考虑到网卡带宽利用率的问题,同样期望分片的大小越大越好,所以通过采集多项数据,以及考虑到RDMA的传输延迟和内存拷贝的延迟之后,将分片初步选定为4KB,但是,随之技术的发展,硬件和软件的进步,可以将分片大小进行改变,本发明在此不做具体限定。

除此之外,为了保证数据分片传输后在接收端能够正确的复原传输的目标传输数据,本发明实施例还会将分片数据按照预设规则排序,即在划分分片数据后,会按照数据原有的顺序将分片数据进行排序,示例的,如图4,将原有的目标传输数据划分后,得到分片数据1,分片数据2,分片数据3,,此时的分片数据的排列数据就是分片数据1,2,3。

步骤102,将多个分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP。

本发明实施例中的注册内存是计算机中重要的组成部分,它负责存储正在运行的程序和数据,以便处理器能够快速访问它们。在计算机中,内存的速度和容量对整个系统的性能有很大的影响。

本发明实施例中CPU按照分片数据的顺序依次进行拷贝,并且是在确定一个分片数据完全完成拷贝后,才会开始下一个分片数据的拷贝,具体的,包括:

按照预设规则确定多个分片数据的拷贝顺序;

在确定拷贝顺序中处于上一位置的分片数据拷贝完成的情况下,开始进行下一位置分片数据的拷贝。

通过按照顺序进行分片数据的拷贝,便于后续数据在复原时,可以得到正确顺序的数据。

除此之外,本发明实施例中在每完成一个分片数据的拷贝后,就会发送对应的分片请求至远程直接内存访问RDMA的QP,从而使得后续网卡也可以根据这一分片请求,一个一个的对分片数据进行处理。

步骤103,通过QP将分片请求发送至网卡。

本发明实施例中的QP是原生RDMA接口针对端到端建立起的数据通路的一个抽象,其中包括:发送队列和接收队列,网卡为了更快的调度各条连接,将QP的状态信息缓存在网卡缓存上,具体的包括:

通过QP将分片请求发送至网卡,包括:

获取QP的状态信息,状态信息包括:QP中发送队列的状态信息和QP中接收队列的状态信息;

通过状态信息将分片请求发送至网卡,状态信息缓存于网卡的缓存内。

步骤104,通过网卡将拷贝完成的每个分片数据封包发送。

本发明实施例中网卡接管到分片请求后,对该分片请求对应的拷贝完成的分片数据进行封包发送处理,因为本发明实施例中划分有多个分片数据,而且是按照顺序依次对分片数据进行拷贝,且在一个完成后就发送分片请求,使得网卡对这一完成拷贝的分片数据进行封包发送,此时CPU已经在继续拷贝下一分片数据,由此可以实现网卡发送数据的同时,CPU同步进行拷贝工作,进而大幅缩减了发送大消息的整体延迟。降低了频繁注册内存的冗杂阻塞。

示例的,如图5所示,将目标输出数据划分为三个分片数据1,2,3,中央处理器CPU先将分片数据1卡拷贝到指定的注册内存,并发送第一分片请求至对应的远程直接内存访问中,而后网卡通过远程直接内存访问运输接管第一个分片请求,对该第一分片请求对应的分片数据1进行封包发送处理,在网卡发送分片数据1的过程中,CPU拷贝分片数据2到指定的注册内存中,并且将第二个分片请求提交到RDMA QP中,而后网卡通过远程直接内存访问运输接管第二个分片请求,对该第二分片请求对应的分片数据2进行封包发送处理,在网卡发送分片数据2的过程中,CPU拷贝分片数据3到指定的注册内存中,并且将第三个分片请求提交到RDMA QP中,而后网卡通过远程直接内存访问运输接管第三个分片请求,对该第三分片请求对应的分片数据3进行封包发送处理,至此完成此次目标数据的拷贝流程。

本发明实施例提供的数据传输方法,通过将目标传输数据划分为多个分片数据,分片数据按照预设规则排序,从而将目标传输数据分片处理,使得只需要被一个较小分片的阻塞后就可以获得处理,提高了服务器的响应速度,从而提高数据的传输能力,将多个分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP,通过QP将分片请求发送至网卡,从而实现利用RDMA技术绕过操作内核直接交互,节省了大量的CPU资源,提高了系统吞吐量,降低了系统的网络通信延迟,通过网卡将拷贝完成的每个分片数据封包发送,可以实现在网卡发送分片数据的同时,CPU处理下一分片数据,大幅缩减了发送大消息的整体延迟,降低了频繁注册内存的冗杂阻塞。综上所述,本发明实施例通过将目标传输数据分片,并在网卡发送分片数据的同时使得CPU继续处理下一分片数据,避免了内存注册操作冗杂以及信号发出端CPU拷贝时的资源占用率会导致高延迟的问题。

参照图6,示出了图3所示的本发明实施例提供的数据传输方法中步骤104的流程图,具体包括:

步骤201,获取目标大小的以太网包头。

本发明实施例中的以太网包头中包括MAC地址,MAC地址中包括目的地址,源地址和类型等信息,因为后续要根据以太网包头的大小,设置接收数据包的接收地址的起始地址,所以需要获取以太网包头的大小,而这一大小通常是预先设置的,所以是目标大小,可以是14B,16B,本发明在此不做具体限定。

步骤202,为拷贝完成的分片数据添加以太网包头。

本发明实施例在发送数据时,通过添加的以太网包头确定数据发送的目的,所以需要为拷贝完成的分片数据添加以太网包头,那么此时数据的大小就是原有的分片数据的大小加上以太网包头的大小,示例的,分片数据是1104B,以太网包头是16B,为拷贝完成的分片数据添加以太网包头的数据大小是1120B。

步骤203,通过网卡将添加以太网包头后的分片数据封包发送。

本发明实施例中通过网卡可以从注册内存获取分片数据,并为其进行封包处理后发送。在通过网卡将数据发送后,还需要考虑数据的接收,以及每个封包处理的分片数据的接收地址的确定,具体的包括:

获取目标数据包的大小,目标数据包是通过将添加以太网包头后的分片数据封包处理得到的;

根据目标数据包的大小确定接收地址。

需要说明的是,获取目标数据包的大小之后,还包括:

获取目标传输数据的大小;

获取以太网包头的数据大小;

根据目标传输数据的大小和以太网包头的数据大小从接收缓冲区划分出目标大小缓冲区间,目标大小缓冲区间用于接收传输的多个目标数据包;

通过目标大小缓冲区间确定目标数据包的第一接收地址区间;

根据以太网包头的数据大小确定第一接收地址区间中接收有效数据地址区间的起始地址;

获取传输的多个目标数据包的个数;

根据传输的多个目标数据包的个数将接收有效数据地址区间进行划分;

根据传输的多个目标数据包的个数将接收有效数据地址区间进行划分,包括:

按照由高地址到低地址的顺序和传输的多个目标数据包的个数将接收有效数据地址区间进行划分。

示例的,如图7所示,设置目标传输数据的大小为4KB,以太网包头的数据大小为16B,分片数据1,2,3对应的长度分别为1496B,1496B,1104B,第一网卡将分片数据1,2,3进行封包后,通过DMA(Direct Memory Access,直接存储器访问)发送这些封包数据,目标数据包1,2,3,第二网卡通过直接存储器访问接收这些封包数据后将其存入接收缓冲区,在接收缓冲区划分出目标大小缓冲区间,因为接收数据时还有包头,所以目标大小缓冲区间为4112B,对应的第一接收地址区间为0×0000~0×1010,因为以太网包头在接收时也需要存入接收缓冲区,占用一部分的空间,因此设置第一接收地址区间中接收有效数据地址区间的起始地址为0×0010,其中,封包时每个分片数据对应的包头大小是一致的,DMA传输将数据从一个地址空间复制到另外一个地址空间,接收有效数据地址区间指的是仅存储目标传输数据的区间;将封包的分片数据称为目标数据包,每一个分片数据就有一个目标数据包,所以目标数据包的个数为3,对应的每个目标数据包的大小为1412B,1412B,1120B,因为在接收时仅需一个以太网包头就可以,所以按照由高地址到低地址的顺序和传输的多个目标数据包的个数将接收有效数据地址区间进行划分时不考虑包头因素,设置第一个数据包接收地址为0x0A28(2600),第二个为0x0450(1104),第三个为0x0000,这样可以使得目标数据包2将目标数据包1中的包头部分覆盖,目标数据包3将目标数据包2中的包头部分覆盖,因此发送端由高地址到低地址反向发送3个数据块,即分片数据3对应目标数据包1,分片数据2对应目标数据包2,分片数据1对应目标数据包3,在接收节点上,目标数据包1先到达0x0A28位置,目标数据包2到达0x0450位置,并将目标数据包1的包头覆盖掉,目标数据包3到达0x0000位置,将目标数据包2的包头覆盖掉,从而拼接出连续的4KB数据块。实现数据的传输,通过上述设置可以实现按照正确顺序拼接出原始的目标传输数据,保证了数据传输的准确性。

参照图8,示出了本发明实施例提供的一种数据传输装置的结构示意图,如图8所示,该装置可以包括:

划分模块301,用于将目标传输数据划分为多个分片数据,分片数据按照预设规则排序。

拷贝模块302,用于将多个分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP。

第一发送模块303,用于通过QP将分片请求发送至网卡。

第二发送模块304,用于通过网卡将拷贝完成的每个分片数据封包发送。

可选地,拷贝模块302还包括:

第一确定子模块,用于按照预设规则确定多个分片数据的拷贝顺序。

第一拷贝子模块,用于在确定拷贝顺序中处于上一位置的分片数据拷贝完成的情况下,开始进行下一位置分片数据的拷贝。

可选地,QP包括:发送队列和接收队列。

第一发送模块303还包括:

第一获取子模块,用于获取QP的状态信息,状态信息包括:QP中发送队列的状态信息和QP中接收队列的状态信息。

第一发送子模块,用于通过状态信息将分片请求发送至网卡,状态信息缓存于网卡的缓存内。

可选地,第二发送模块304还包括:

第二获取子模块,用于获取目标大小的以太网包头。

添加子模块,用于为拷贝完成的分片数据添加以太网包头。

第二发送子模块,用于通过网卡将添加以太网包头后的分片数据封包发送。

第三获取子模块,用于获取目标数据包的大小,目标数据包是通过将添加以太网包头后的分片数据封包处理得到的。

第二确定子模块,用于根据目标数据包的大小确定接收地址。

第四获取子模块,用于获取目标传输数据的大小。

第五获取子模块,用于获取以太网包头的数据大小。

第一划分子模块,用于根据目标传输数据的大小和以太网包头的数据大小从接收缓冲区划分出目标大小缓冲区间,目标大小缓冲区间用于接收传输的多个目标数据包。

第三确定子模块,用于通过目标大小缓冲区间确定目标数据包的第一接收地址区间。

第四确定子模块,用于根据以太网包头的数据大小确定第一接收地址区间中接收有效数据地址区间的起始地址。

第六获取子模块,用于获取传输的多个目标数据包的个数。

第二划分子模块,用于根据传输的多个目标数据包的个数将接收有效数据地址区间进行划分。

第二划分子模块,还包括:

划分单元,用于按照由高地址到低地址的顺序和传输的多个目标数据包的个数将接收有效数据地址区间进行划分。

可选地,分片数据的大小初步选定为4KB。

本发明实施例提供的数据传输方法,通过将目标传输数据划分为多个分片数据,分片数据按照预设规则排序,从而将目标传输数据分片处理,使得只需要被一个较小分片的阻塞后就可以获得处理,提高了服务器的响应速度,从而提高数据的传输能力,将多个分片数据依次拷贝到指定的注册内存,并在确定每个分片数据拷贝完成的情况下,发送对应的分片请求至远程直接内存访问RDMA的QP,通过QP将分片请求发送至网卡,从而实现利用RDMA技术绕过操作内核直接交互,节省了大量的CPU资源,提高了系统吞吐量,降低了系统的网络通信延迟,通过网卡将拷贝完成的每个分片数据封包发送,可以实现在网卡发送分片数据的同时,CPU处理下一分片数据,大幅缩减了发送大消息的整体延迟,降低了频繁注册内存的冗杂阻塞。综上所述,本发明实施例通过将目标传输数据分片,并在网卡发送分片数据的同时使得CPU继续处理下一分片数据,避免了内存注册操作冗杂以及信号发出端CPU拷贝时的资源占用率会导致高延迟的问题。

本发明实施例还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现任一数据传输方法。

图9是根据一示例性实施例示出的一种用于电子设备400的框图。例如,电子设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图9,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出接口412,传感器组件414,以及通信组件416。

处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。

存储器404被配置为存储各种类型的数据以支持在设备400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRA M),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件406为电子设备400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。

多媒体组件408包括在所述电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。

输入/输出接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到电子设备400的打开/关闭状态,组件的相对定位,例如所述组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件416被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述数据传输方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器420执行以完成上述数据传输方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其他设备固有相关。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图,或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

需要说明的是,本申请实施例中获取各种数据相关过程,都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

相关技术
  • 数据传输方法、装置、电子设备及存储介质
  • 基于非授权传输的数据传输方法、装置、设备和存储介质
  • 一种数据传输方法、装置、电子设备及存储介质
  • 数据传输方法、数据传输装置及计算机可读存储介质
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 数据传输方法、数据传输装置、数据传输设备及存储介质
  • 数据传输方法、数据传输装置、数据传输设备及存储介质
技术分类

06120116503449