CN106330498A - 远程数据获取方法及装置 - Google Patents
远程数据获取方法及装置 Download PDFInfo
- Publication number
- CN106330498A CN106330498A CN201510358860.7A CN201510358860A CN106330498A CN 106330498 A CN106330498 A CN 106330498A CN 201510358860 A CN201510358860 A CN 201510358860A CN 106330498 A CN106330498 A CN 106330498A
- Authority
- CN
- China
- Prior art keywords
- data
- length
- local device
- group
- charting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种远程数据获取方法及装置,其中该方法包括:首先,本端设备确定预获取第一组数据的第一长度,若本端设备的可用带宽大于第一预设值,则增加第一长度至第二长度,其中,第二长度小于或者等于可用带宽;其次,本端设备向对端设备发送数据请求消息,数据请求消息包括:第一组数据在对端设备的起始地址和第二长度;最后,本端设备接收对端设备发送的数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据,从而使得本端设备根据带宽的使用情况来调整请求获取数据的长度,进而提高了可用带宽的利用率。
Description
技术领域
本发明实施例涉及远程数据的获取技术,尤其涉及一种远程数据获取方法及装置。
背景技术
随着通信网络技术的高速发展,远程数据交互变得越来越频繁。现有技术中,本端设备获取远程数据的过程是:首先,本端设备向对端设备发送数据请求消息,该数据请求消息中包括预获取数据在对端设备的起始地址和长度,其次,本端设备接收对端设备发送的数据响应消息,数据响应消息中包括本端设备预获取的数据。
通常本端设备从对端设备获取到第一组数据后,本端设备的中央处理器(Central Processing Unit,简称CPU)会对第一组数据进行相应处理,然后,本端设备可能会再次从对端设备获取第二组数据,再次获取的第二组数据通常是与第一组数据是连续的,即它们在对端设备的存储地址连续。
然而,在获取第一组数据的时候,本端设备的可用带宽可能足够大,比如:第一组数据的长度为10字节(Byte,简称B),可用带宽是100B,这样会造成可用带宽利用率低的问题。
发明内容
本发明实施例提供一种远程数据获取方法及装置,从而提高计算机的带宽利用率。
第一方面,本发明实施例提供一种远程数据获取方法,包括:本端设备确定预获取第一组数据的第一长度;若本端设备的可用带宽大于第一预设值,则增加所述第一长度至第二长度,其中,所述第二长度小于或者等于所述可用带宽;所述本端设备向所述对端设备发送数据请求消息,所述数据请求消息包括:所述第一组数据在所述对端设备的起始地址和所述第二长度;所述本端设备接收所述对端设备发送的数据响应消息,所述数据响应消息包括:从所述起始地址开始,长度为所述第二长度的数据。
结合第一方面,在第一方面的第一种可能实施方式中,所述本端设备接收所述对端设备发送的数据响应消息之后,还包括:所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区,其中所述第三长度为所述第二长度与所述第一长度之差。
结合第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区之后,还包括:所述本端设备建立第一记录表格,所述第一记录表格用于记录所述长度为第三长度的数据的地址范围。
结合第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述本端设备建立第一记录表格之后,还包括:所述本端设备确定预获取第二组数据的地址范围;若所述预获取第二组数据的地址范围与所述第一记录表格的地址范围存在交集,则所述本端设备从所述缓存区中获取所述交集对应的数据。
结合第一方面的第一种可能实施方式,在第一方面的第四种可能实施方式中,所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区之后,还包括:所述本端设备建立第二记录表格,所述第二记录表格用于记录已获取的数据的地址范围。
结合第一方面的第四种可能实施方式,在第一方面的第五种可能实施方式中,所述本端设备建立第二记录表格之后,还包括:所述本端设备确定预获取第三组数据的地址范围;若所述预获取第三组数据的地址范围与所述第一记录表格的地址范围存在交集,则判断所述第三组数据中是否存在至少一个数据在所述缓存区中;若是,则从所述缓存区中获取所述至少一个数据。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式,在第一方面的第六种可能实施方式中,所述本端设备接收所述对端设备发送的数据响应消息,具体包括:若所述第二长度小于或者等于第二预设值,则所述本端设备通过加载/存储Load/Store通道接收所述对端设备发送的数据响应消息;否则,所述本端设备通过远程直接数据存取RDMA通道接收所述对端设备发送的数据响应消息。
第二方面,本发明实施例提供一种远程数据获取装置,包括:确定模块,用于确定预获取第一组数据的第一长度;增加模块,若所述远程数据获取装置的可用带宽大于第一预设值,则所述增加模块增加所述第一长度至第二长度,其中,所述第二长度小于或者等于所述可用带宽;发送模块,用于向所述对端设备发送数据请求消息,所述数据请求消息包括:所述第一组数据在所述对端设备的起始地址和所述第二长度;接收模块,用于接收所述对端设备发送的数据响应消息,所述数据响应消息包括:从所述起始地址开始,长度为所述第二长度的数据。
结合第二方面,在第二方面的第一种可能实施方式中,还包括:处理模块;所述处理模块用于处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述远程数据获取装置的缓存区,其中所述第三长度为所述第二长度与所述第一长度之差。
结合第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,还包括:第一建立模块,用于建立第一记录表格,所述第一记录表格用于记录所述长度为第三长度的数据的地址范围。
结合第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,还包括:第一获取模块;所述确定模块确定预获取第二组数据的地址范围,若所述预获取第二组数据的地址范围与所述第一记录表格的地址范围存在交集,则所述第一获取模块从所述缓存区中获取所述交集对应的数据。
结合第二方面的第一种可能实施方式,在第二方面的第四种可能实施方式中,还包括:第二建立模块,用于建立第二记录表格,所述第二记录表格用于记录已获取的数据的地址范围。
结合第二方面的第四种可能实施方式,在第二方面的第五种可能实施方式中,第二获取模块;所述确定模块确定预获取第三组数据的地址范围;若所述预获取第三组数据的地址范围与所述第一记录表格的地址范围存在交集,则判断所述第三组数据中是否存在至少一个数据在所述缓存区中;若是,则所述第二获取模块从所述缓存区中获取所述至少一个数据。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式,在第二方面的第六种可能实施方式中,所述接收模块,具体用于:若所述第二长度小于或者等于第二预设值,则所述接收模块通过加载/存储Load/Store通道接收所述对端设备发送的数据响应消息;否则,所述接收模块通过远程直接数据存取RDMA通道接收所述对端设备发送的数据响应消息。
本发明实施例提供一种远程数据获取方法及装置,其中该方法包括:本端设备确定预获取第一组数据的第一长度,若本端设备的可用带宽大于第一预设值,则增加第一长度至第二长度,其中,第二长度小于或者等于可用带宽;本端设备向对端设备发送数据请求消息,数据请求消息包括:第一组数据在对端设备的起始地址和第二长度;最后,本端设备接收对端设备发送的数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据,从而使得本端设备根据带宽的使用情况来调整请求获取数据的长度,进而提高了可用带宽的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种远程数据获取方法的流程示意图;
图2为本方面一实施例提供的一种远程数据获取装置的结构示意图一;
图3为本发明一实施例提供的一种远程数据获取装置的结构示意图二;
图4为本发明一实施例提供的一种远程数据获取装置的结构示意图三;
图5为本发明一实施例提供的一种远程数据获取装置的结构示意图四;
图6为本发明一实施例提供的MRC的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中带宽利用率低的问题,本发明实施例提供一种远程数据获取方法及装置,图1为本发明一实施例提供的一种远程数据获取方法的流程示意图,该方法的应用场景是本端设备预获取在对端设备的远程数据,其中该方法的执行主体为:远程数据获取装置,即本端设备,这里的本端设备可以是台式计算机、笔记本电脑、平板电脑等智能终端,该方法具体包括如下步骤:
S101:本端设备确定预获取第一组数据的第一长度;
具体地,通常本端设备的CPU会确定预获取第一组数据在对端设备的起始地址和第一长度,或者第一组数据在对端设备的起始地址和终止地址,当确定的是第一组数据在对端设备的起始地址和终止地址时,则本端设备确定预获取第一组数据的第一长度的具体方法是:首先,求终止地址与起始地址的差值,然后确定第一组数据的数据类型,比如为整型或者浮点型等,最后求差值与数据类型所占用字节的乘积,得到的结果则为第一长度。本发明中所给出的第一组数据包括至少一个数据,这里的对端设备也可以是台式计算机、笔记本电脑、平板电脑等智能终端。
S102:若本端设备的可用带宽大于第一预设值,则增加第一长度至第二长度,其中,第二长度小于或者等于可用带宽;
比如:可用带宽是100B,第一组数据的第一长度是50B,第一预设值为80B,这时可用带宽大于第一预设值,即目前本端设备的链路比较空闲,因此可以增加第一长度至第二长度,其中要确保第二长度小于或者等于可用带宽,以实现本端设备有足够的带宽接收长度为第二长度的数据。
S103:本端设备向对端设备发送数据请求消息,数据请求消息包括:第一组数据在对端设备的起始地址和第二长度;
S104:本端设备接收对端设备发送的数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据。
比如:第一组数据在对端设备的起始地址是1000,第二长度为70B,即本端设备向对端设备请求从起始地址1000开始,长度为70B的数据。然后,对端设备接收到数据请求消息后,对端设备从自己的存储器中获取起始地址为1000,长度为70B的数据,并向本端设备发送数据响应消息,该数据响应消息包括:从起始地址开始,长度为第二长度的数据。
本发明实施例提供一种远程数据获取方法,包括:本端设备确定预获取第一组数据的第一长度,若本端设备的可用带宽大于第一预设值,则增加第一长度至第二长度,其中,第二长度小于或者等于可用带宽;本端设备向对端设备发送数据请求消息,数据请求消息包括:第一组数据在对端设备的起始地址和第二长度;最后本端设备接收对端设备发送的数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据,从而使得本端设备根据带宽的使用情况来调整请求获取数据的长度,进而提高了可用带宽的利用率。
进一步地,本端设备接收对端设备发送的数据响应消息之后,还包括:本端设备处理第一组数据,并且将从起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入本端设备的缓存区,其中第三长度为第二长度与第一长度之差。其中本端设备处理第一组数据可以是运行第一组数据或者是计算第一组数据等。
具体地,本端设备接收到数据响应消息,即本端设备成功获取了从起始地址开始,长度为第二长度的数据,此时本端设备的CPU,即本端CPU会对长度为第二长度的数据中所包括的第一组数据进行处理,比如:本端CPU运行或者计算第一组数据,将从起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入本端设备的缓存区,即除第一组数据以外的数据放入缓存区,以便如果本端设备之后还需要从对端设备获取远程数据,那么有可能需要获取的数据已经存入了缓存区中,这种情况下,本端设备只需从本端的缓存区获取数据,从而降低了时延,提高了获取数据的效率。比如:结合上一实施例的例子,第一组数据在对端设备的起始地址是1000,第一长度为50B,第二长度为70B,即本端设备向对端设备请求从起始地址1000开始,长度为70B的数据。然后,对端设备接收到数据请求消息后,对端设备向本端设备发送数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据。这时本端设备对起始地址为1000,长度为50B的第一组数据进行处理,将从1000+50B的位置开始,长度为20B的数据存入自己的缓存区中,假设数据类型是整型数据,那么1000+50B的位置即为1000+50/2=1025,那么地址范围在1025-1035之间的数据已经存入了本端设备的缓存区。
一种可选方式,本端设备处理第一组数据,并且将从起始地址与第一长度之和的位置开始,长度为第三长度的数据存入本端设备的缓存区之后,还包括:本端设备建立第一记录表格,第一记录表格用于记录长度为第三长度的数据的地址范围。比如:第一记录表格中存入地址范围1025-1035。
本端设备建立第一记录表格之后,还包括:本端设备确定预获取第二组数据的地址范围;若预获取第二组数据的地址范围与第一记录表格的地址范围存在交集,则本端设备从缓存区中获取交集对应的数据。
举个例子:当本端设备预获取的第二组数据的地址范围是:1025-1035,这时本端设备在第一记录表格中查找到了该地址范围,表明该地址范围的数据存储在本端设备的缓存区中,因此本端设备只需从缓存区中获取该地址范围的数据。当本端设备预获取的第二组数据的地址范围是:1025-1040,那么1025-1040的交集是1025-1035,因此本端设备同样可以从缓存区中获得1025-1035的数据,剩下的1035-1040的数据可以从对端设备的存储器获得,具体获取方式与获取第一组数据类似,再次不再赘述。
需要说明的是,第一记录表格中记录的是所有增加长度的数据范围,比如:第三长度即为增加长度。
另一种可选方式,本端设备处理第一组数据,并且将从起始地址与第一长度之和的位置开始,长度为第三长度的数据存入本端设备的缓存区之后,还包括:本端设备建立第二记录表格,第二记录表格用于记录已获取的数据的地址范围。比如:第一记录表格中存入地址范围1000-1035,其中包括第一组数据的地址范围1000-1025和长度为第三长度数据的地址范围1025-1035。
本端设备建立第二记录表格之后,还包括:本端设备确定预获取第三组数据的地址范围;若预获取第三组数据的地址范围与第一记录表格的地址范围存在交集,则判断第三组数据中是否存在至少一个数据在缓存区中;若是,则从缓存区中获取至少一个数据。
举个例子:当本端设备预获取的第三组数据是1025-1028,那么本端设备首先查看第二记录表格已经获取的数据的地址范围是1000-1035,然后再在缓存区中查找是否存在地址范围在1025-1028的数据,此时由于第三长度数据的地址范围是1025-1035,该第三长度数据存储于缓存区,因此确定1025-1028的数据存储于缓存区,本端设备可以直接从缓存区中获取该数据。
值得说明的是,由于本端设备可能会不止一次的从对端设备获取远程数据,因此,本端CPU可能会发出多条数据请求消息,因此,后边多次获取数据的过程类似于获取第二组数据或者获取第三组数据的方法。相应的,第一记录表格和第二记录表格中由于记载了至少一条数据请求消息对应的地址范围,为了清楚的说明地址范围与数据请求消息的对应关系,可以对数据请求消息通过唯一的标识来标识。
进一步地,本端设备接收对端设备发送的数据响应消息,具体包括:若第二长度小于或者等于第二预设值,则本端设备通过加载/存储Load/Store通道接收对端设备发送的数据响应消息;否则,本端设备通过远程直接数据存取(Remote Direct Memory Access,简称RDMA)通道接收所述对端设备发送的数据响应消息。比如:当第二长度大于或者等于最大传输单元(MaximumTransmission Unit,简称MTU),即第二预设值为MTU,这时本端设备通过RDMA通道接收数据响应消息,当小于MTU时,则通过Load/Store通道接收对端设备发送的数据响应消息即可。
本发明实施例通过建立第一记录表格或者第二记录表格的方式,使得当本端设备需要再次获取远程数据时,可以首先查询第一记录表格或者第二记录表格,若查询成功,则表示远程数据存在于本端设备的缓存区,从而提高了获取数据的效率,降低时延。
图2为本方面一实施例提供的一种远程数据获取装置的结构示意图一,其中该远程数据获取装置作为本端设备,它可以是台式计算机、笔记本电脑、平板电脑等智能终端,该装置具体包括:确定模块201,用于确定预获取第一组数据的第一长度,增加模块202,若远程数据获取装置的可用带宽大于第一预设值,则增加模块202增加第一长度至第二长度,其中,第二长度小于或者等于可用带宽;发送模块203,用于向对端设备发送数据请求消息,数据请求消息包括:第一组数据在对端设备的起始地址和第二长度;接收模块204,用于接收对端设备发送的数据响应消息,数据响应消息包括:从起始地址开始,长度为第二长度的数据。
本发明实施例提供的远程数据获取装置若确定可用带宽大于第一预设值,则通过增加预获取数据的长度,从而一次可以从对端设备获得更多的数据,进而提高了可用带宽的利用率。
进一步地,图3为本发明一实施例提供的一种远程数据获取装置的结构示意图二,结合图2,该装置还包括处理模块205;处理模块205用于处理第一组数据,并且将从起始地址与第一长度之和的位置开始,长度为第三长度的数据存入远程数据获取装置的缓存区,其中第三长度为第二长度与第一长度之差。
一种可选方式,该装置还包括:第一建立模块206,用于建立第一记录表格,所述第一记录表格用于记录所述长度为第三长度的数据的地址范围。该装置还包括第一获取模块207;所述确定模块201确定预获取第二组数据的地址范围;若预获取第二组数据的地址范围与第一记录表格的地址范围存在交集,则第一获取模块207从缓存区中获取交集对应的数据。
另一种可选方式,图4为本发明一实施例提供的一种远程数据获取装置的结构示意图三,结合图2,该装置还包括:第二建立模块208,用于建立第二记录表格,第二记录表格用于记录已获取的数据的地址范围。该装置还包括:第二获取模块209;确定模块201确定预获取第三组数据的地址范围;若预获取第三组数据的地址范围与第一记录表格的地址范围存在交集,则判断第三组数据中是否存在至少一个数据在所述缓存区中;若是,则所述第二获取模块209从缓存区中获取至少一个数据。
进一步地,所述接收模块204具体用于:若第二长度小于或者等于第二预设值,则接收模块204通过加载/存储Load/Store通道接收对端设备发送的数据响应消息;否则,接收模块204通过远程直接数据存取RDMA通道接收对端设备发送的数据响应消息。
图5为本发明一实施例提供的一种远程数据获取装置的结构示意图四,该远程数据获取装置包括内存资源管理器(Memory Resource Controller,简称MRC)501、CPU502和内存控制器(Memory Controller,简称MC)503,其中MRC501集成了上述确定模块、增加模块、发送模块、接收模块、处理模块、第一建立模块、第一获取模块、第二建立模块和第二获取模块所实现的所有功能,MC503是计算机***内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。图6为本发明一实施例提供的MRC的结构示意图,其中MRC包括:处理器601,该处理器601对应于上述确定模块、增加模块、发送模块、接收模块、处理模块、第一建立模块、第一获取模块、第二建立模块和第二获取模块,MRC还包括:加载/存储通道602和RDMA通道603,当处理器601确定判断第二长度小于或者等于第二预设值,则通过加载/存储通道602接收对端设备发送的数据响应消息;否则,通过远程直接数据存取RDMA通道603接收对端设备发送的数据响应消息。并且将接收的数据存储至本端设备的缓存区604中。
本发明实施例提供的远程数据获取装置,通过建立第一记录表格或者第二记录表格的方式,使得当远程数据获取装置需要从对端设备再次获取远程数据时,可以首先查询第一记录表格或者第二记录表格,若查询成功,则表示远程数据存在于本端设备的缓存区,从而提高了获取数据的效率,降低时延。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种远程数据获取方法,其特征在于,包括:
本端设备确定预获取第一组数据的第一长度;
若所述本端设备的可用带宽大于第一预设值,则增加所述第一长度至第二长度,其中,所述第二长度小于或者等于所述可用带宽;
所述本端设备向所述对端设备发送数据请求消息,所述数据请求消息包括:所述第一组数据在所述对端设备的起始地址和所述第二长度;
所述本端设备接收所述对端设备发送的数据响应消息,所述数据响应消息包括:从所述起始地址开始,长度为所述第二长度的数据。
2.根据权利要求1所述的方法,其特征在于,所述本端设备接收所述对端设备发送的数据响应消息之后,还包括:
所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区,其中所述第三长度为所述第二长度与所述第一长度之差。
3.根据权利要求2所述的方法,其特征在于,所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区之后,还包括:
所述本端设备建立第一记录表格,所述第一记录表格用于记录所述长度为第三长度的数据的地址范围。
4.根据权利要求3所述的方法,其特征在于,所述本端设备建立第一记录表格之后,还包括:
所述本端设备确定预获取第二组数据的地址范围;
若所述预获取第二组数据的地址范围与所述第一记录表格的地址范围存在交集,则所述本端设备从所述缓存区中获取所述交集对应的数据。
5.根据权利要求2所述的方法,其特征在于,所述本端设备处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述本端设备的缓存区之后,还包括:
所述本端设备建立第二记录表格,所述第二记录表格用于记录已获取的数据的地址范围。
6.根据权利要求5所述的方法,其特征在于,所述本端设备建立第二记录表格之后,还包括:
所述本端设备确定预获取第三组数据的地址范围;
若所述预获取第三组数据的地址范围与所述第二记录表格的地址范围存在交集,则判断所述第三组数据中是否存在至少一个数据在所述缓存区中;
若是,则从所述缓存区中获取所述至少一个数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述本端设备接收所述对端设备发送的数据响应消息,具体包括:
若所述第二长度小于或者等于第二预设值,则所述本端设备通过加载/存储Load/Store通道接收所述对端设备发送的数据响应消息;
否则,所述本端设备通过远程直接数据存取RDMA通道接收所述对端设备发送的数据响应消息。
8.一种远程数据获取装置,其特征在于,包括:
确定模块,用于确定预获取第一组数据的第一长度;
增加模块,若所述远程数据获取装置的可用带宽大于第一预设值,则所述增加模块增加所述第一长度至第二长度,其中,所述第二长度小于或者等于所述可用带宽;
发送模块,用于向对端设备发送数据请求消息,所述数据请求消息包括:所述第一组数据在所述对端设备的起始地址和所述第二长度;
接收模块,用于接收所述对端设备发送的数据响应消息,所述数据响应消息包括:从所述起始地址开始,长度为所述第二长度的数据。
9.根据权利要求8所述的装置,其特征在于,还包括:处理模块;
所述处理模块用于处理所述第一组数据,并且将从所述起始地址与所述第一长度之和的位置开始,长度为第三长度的数据存入所述远程数据获取装置的缓存区,其中所述第三长度为所述第二长度与所述第一长度之差。
10.根据权利要求9所述的装置,其特征在于,还包括:
第一建立模块,用于建立第一记录表格,所述第一记录表格用于记录所述长度为第三长度的数据的地址范围。
11.根据权利要求10所述的装置,其特征在于,还包括:第一获取模块;
所述确定模块确定预获取第二组数据的地址范围;
若所述预获取第二组数据的地址范围与所述第一记录表格的地址范围存在交集,则所述第一获取模块从所述缓存区中获取所述交集对应的数据。
12.根据权利要求9所述的装置,其特征在于,还包括:
第二建立模块,用于建立第二记录表格,所述第二记录表格用于记录已获取的数据的地址范围。
13.根据权利要求12所述的装置,其特征在于,第二获取模块;
所述确定模块确定预获取第三组数据的地址范围;
若所述预获取第三组数据的地址范围与所述第一记录表格的地址范围存在交集,则判断所述第三组数据中是否存在至少一个数据在所述缓存区中;
若是,则所述第二获取模块从所述缓存区中获取所述至少一个数据。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述接收模块,具体用于:
若所述第二长度小于或者等于第二预设值,则所述接收模块通过加载/存储Load/Store通道接收所述对端设备发送的数据响应消息;
否则,所述接收模块通过远程直接数据存取RDMA通道接收所述对端设备发送的数据响应消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510358860.7A CN106330498B (zh) | 2015-06-25 | 2015-06-25 | 远程数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510358860.7A CN106330498B (zh) | 2015-06-25 | 2015-06-25 | 远程数据获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106330498A true CN106330498A (zh) | 2017-01-11 |
CN106330498B CN106330498B (zh) | 2019-08-27 |
Family
ID=57729309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510358860.7A Active CN106330498B (zh) | 2015-06-25 | 2015-06-25 | 远程数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106330498B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0817007A3 (en) * | 1996-07-01 | 1999-07-07 | Sun Microsystems, Inc. | Data prefetch apparatus and method |
US20060064499A1 (en) * | 2001-12-28 | 2006-03-23 | V-Enable, Inc. | Information retrieval system including voice browser and data conversion server |
CN101021818A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 面向流应用的片内存储器 |
CN101043294A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 数据帧的切片方法和光网络单元 |
CN101082861A (zh) * | 2006-03-31 | 2007-12-05 | 英特尔公司 | 自适应预取 |
CN101123606A (zh) * | 2007-07-13 | 2008-02-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输协议或实时控制协议的avs传输控制方法 |
CN101179392A (zh) * | 2006-12-12 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种上传文件的方法和*** |
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
CN102163144A (zh) * | 2011-05-05 | 2011-08-24 | 浙江大学 | 嵌入式处理器的硬件数据预取方法 |
CN102231898A (zh) * | 2011-07-05 | 2011-11-02 | 深圳市融创天下科技股份有限公司 | 一种网络带宽自适应qos传输的方法、***和终端设备 |
CN102833158A (zh) * | 2012-08-15 | 2012-12-19 | 北京神州绿盟信息安全科技股份有限公司 | 网络数据发送方法和装置、网络数据*** |
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存***和方法 |
CN103414654A (zh) * | 2013-08-26 | 2013-11-27 | 深圳市德传技术有限公司 | 一种实现带宽分流方法及*** |
CN103945282A (zh) * | 2014-05-16 | 2014-07-23 | 成都凯智科技有限公司 | 文件读取方法和装置 |
WO2014194441A1 (en) * | 2013-06-06 | 2014-12-11 | Yahoo! Inc | Method and system for dynamic content pre-caching |
US9058357B1 (en) * | 2012-05-05 | 2015-06-16 | Paraccel Llc | Strategies for prefetching database blocks |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
-
2015
- 2015-06-25 CN CN201510358860.7A patent/CN106330498B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0817007A3 (en) * | 1996-07-01 | 1999-07-07 | Sun Microsystems, Inc. | Data prefetch apparatus and method |
US20060064499A1 (en) * | 2001-12-28 | 2006-03-23 | V-Enable, Inc. | Information retrieval system including voice browser and data conversion server |
CN101082861A (zh) * | 2006-03-31 | 2007-12-05 | 英特尔公司 | 自适应预取 |
CN101179392A (zh) * | 2006-12-12 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种上传文件的方法和*** |
CN101043294A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 数据帧的切片方法和光网络单元 |
CN101021818A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 面向流应用的片内存储器 |
CN101123606A (zh) * | 2007-07-13 | 2008-02-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输协议或实时控制协议的avs传输控制方法 |
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
CN102163144A (zh) * | 2011-05-05 | 2011-08-24 | 浙江大学 | 嵌入式处理器的硬件数据预取方法 |
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存***和方法 |
CN102231898A (zh) * | 2011-07-05 | 2011-11-02 | 深圳市融创天下科技股份有限公司 | 一种网络带宽自适应qos传输的方法、***和终端设备 |
US9058357B1 (en) * | 2012-05-05 | 2015-06-16 | Paraccel Llc | Strategies for prefetching database blocks |
CN102833158A (zh) * | 2012-08-15 | 2012-12-19 | 北京神州绿盟信息安全科技股份有限公司 | 网络数据发送方法和装置、网络数据*** |
WO2014194441A1 (en) * | 2013-06-06 | 2014-12-11 | Yahoo! Inc | Method and system for dynamic content pre-caching |
CN103414654A (zh) * | 2013-08-26 | 2013-11-27 | 深圳市德传技术有限公司 | 一种实现带宽分流方法及*** |
CN103945282A (zh) * | 2014-05-16 | 2014-07-23 | 成都凯智科技有限公司 | 文件读取方法和装置 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
Also Published As
Publication number | Publication date |
---|---|
CN106330498B (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102629240B (zh) | 一种串口通信方法与装置 | |
CN106911780A (zh) | 业务id生成方法、装置及*** | |
CN104135741A (zh) | 蓝牙低功耗通信的方法、蓝牙设备和*** | |
CN101882116A (zh) | 音频传输的实现方法及移动终端 | |
WO2014169860A1 (zh) | 一种数据传输方法及设备 | |
CN107104782B (zh) | 数据传输方法及装置 | |
CN105450785A (zh) | 一种文件传输方法和装置 | |
CN110062425A (zh) | 网络传输速率的控制方法、装置、计算机设备和存储介质 | |
CN103024798A (zh) | Ap性能测试方法及装置 | |
CN111163149A (zh) | 一种基于区块链的智能合约平台方法 | |
CN109600278A (zh) | 一种数据通信方法、装置、设备及介质 | |
WO2024104295A1 (zh) | 虚拟机的热迁移控制方法和装置、介质和计算机设备 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和*** | |
CN103856558A (zh) | 一种用于终端应用的数据处理方法和装置 | |
CN109302456A (zh) | 一种基于空中下载ota技术的文件传输方法及装置 | |
CN105656794A (zh) | 数据分发方法及装置 | |
CN117176666A (zh) | 网络流量控制方法、装置、交换机、电子设备和存储介质 | |
CN103117953B (zh) | 一种QoS配置方法和设备 | |
WO2023193599A1 (zh) | 文件传输方法、装置及终端设备 | |
CN106330498A (zh) | 远程数据获取方法及装置 | |
CN117114623A (zh) | 一种园区内监控设备的智慧管理方法及*** | |
CN105471930A (zh) | 一种读取分布式数据的方法、***和设备 | |
CN103533452A (zh) | 一种流媒体的传输控制方法及装置 | |
CN111208953A (zh) | 一种分布式存储方法及其装置 | |
CN109992490A (zh) | 一种nfs性能的测试方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |