在分布式大数据存储系统内进行数据传输的方法及系统与流程

文档序号:15849925发布日期:2018-11-07 09:41阅读:231来源:国知局
在分布式大数据存储系统内进行数据传输的方法及系统与流程

本发明涉及大数据计算和大数据存储领域,并且更具体地,涉及一种在分布式大数据存储系统内进行数据传输的方法及系统。

背景技术

目前,在大数据计算和大数据存储领域,用户所需求的通常存储在分布式大数据存储系统内多个存储节点上。在特定情况下,由于分布式大数据存储系统内部的网络传输延迟较低,而分布式大数据存储系统内存储节点与用户所在网络或所使用的设备的网络延迟较高。为此,现有技术需要能够针对用户的大量数据获取请求提供低延迟传输的方案。并且另一方面,在分布式大数据存储系统需要对各个存储节点上的数据进行协调,以保证各个存储节点能够以较为平衡、均匀的方式进行数据传输



技术实现要素:

根据本发明的一个方面,提供一种在分布式大数据存储系统内进行数据传输的方法,所述方法包括:

接收来自数据请求方的数据获取请求,其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件;

根据数据请求方标识对所述数据请求方进行身份验证,根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

当身份验证的结果指示所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限时,根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合;

确定所述数据集合中的所有数据项的总尺寸,根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点;

向所述服务存储节点发送所述数据请求方地址和所述总尺寸,促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段,并且为每个缓冲存储段设置用于指示存储顺序的顺序号;

从所述服务存储节点接收包括缓冲存储段的数量和尺寸的响应消息,并对所述数据集合中每个数据项所归属的目标存储节点进行统计,以确定所述数据集合所涉及的多个目标存储节点;

将包括所述数据集合中每个数据项的目录信息以及所述缓冲存储段的尺寸和数量的数据传输指示消息发送给多个目标存储节点中的每个目标存储节点;

每个目标存储节点根据目录信息确定自身所存储的并与数据传输相关联的多个数据项,确定多个数据项中每个数据项的尺寸并且基于每个数据项的尺寸计算每个目标存储节点自身所存储的多个数据项的总尺寸;

每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级别,其中传输级别的数量小于所述缓冲存储段的数量并且不同的传输级别用于指示向服务存储节点发送数据项时不同的传输顺序;

响应于每个目标存储节点为自身所存储的每个数据项设置传输级别的完成,按照每个目标存储节点与服务存储节点的网络延迟为每个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列;

按照从数据项的最高传输级别到最低传输级别的降序顺序依次对每个传输级别的数据项进行传输:从环状传输队列中位于队首的目标存储节点开始到位于队尾的目标存储节点为止,按照环状传输队列的队列顺序依次将每个目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个,并且其中在当前的目标存储节点将当前传输级别的至少一个数据项全部传输到所述服务存储节点之后,促使环状传输队列中所述当前的目标存储节点的下一目标存储节点开始进行数据传输;以及

所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到当前顺序号的缓冲存储段中:在判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方,将所述当前接收的数据项存储到下一顺序号的缓冲存储段中,并且将所述下一顺序号作为当前顺序号;当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。

所述分布式大数据系统包括系统节点和多个存储节点,其中所述系统节点用于为数据请求方提供与所述分布式大数据系统进行数据交互的通信接口,由所述系统节点通过通信接口接收来自数据请求方的数据获取请求,其中多个存储节点中的每个存储节点用于存储多个数据项。

其中数据请求方标识是能够唯一地标识数据请求方的标识符,数据请求方地址是数据请求方的网络地址以及数据检索条件是至少一个数据检索式,其中通过每个数据检索式能够从分布式大数据存储系统的所有数据项中确定一个或多个数据项。

其中根据数据请求方标识对所述数据请求方进行身份验证包括:基于所述数据请求方标识在验证数据库的验证列表中进行查询,根据查询结果确定身份验证的结果,其中所述身份验证的结果用于指示所述数据请求方的访问权限;所述访问权限包括:禁止访问、限制访问和完全访问。

确定所述数据检索条件的检索级别,所述检索级别包括高级检索和普通检索,其中当数据检索条件的至少一个数据检索式中任意数据检索式为高级检索式时,确定所述数据检索条件的检索级别为高级检索;当数据检索条件的至少一个数据检索式中所有数据检索式均为普通检索式时,确定所述数据检索条件的检索级别为普通检索。

其中根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限包括:

当身份验证的结果指示所述数据请求方的访问权限为完全访问时,确定所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

当身份验证的结果指示所述数据请求方的访问权限为限制访问并且数据检索条件的检索级别为普通检索时,确定所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

当身份验证的结果指示所述数据请求方的访问权限为限制访问并且数据检索条件的检索级别为高级检索时,确定所述数据请求方不具有使用所述数据获取请求中的数据检索条件来获取数据的权限;以及

当身份验证的结果指示所述数据请求方的访问权限为禁止访问时,确定所述数据请求方不具有使用所述数据获取请求中的数据检索条件来获取数据的权限。

根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合包括:根据所述数据检索条件的至少一个数据检索式中的每个数据检索式来获取包括至少一个数据项的数据子集合,将所获取的至少一个数据子集合的并集确定为所述数据获取请求所涉及的包括多个数据项的数据集合。

其中确定所述数据集合中的所有数据项的总尺寸包括:将所述数据集合中每个数据项的尺寸求和以确定所有数据项的总尺寸。

其中根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点包括:

确定所述分布式大数据存储系统内多个存储节点中每个存储节点的剩余存储容量,将剩余存储容量大于所述总尺寸的五倍以上的存储节点确定为候选存储节点,将多个候选存储节点中与所述数据请求方地址的网络延迟最小的候选存储节点确定为服务存储节点。

促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段包括:

所述服务存储节点确定与所述数据请求方地址在预定时间段内的平均网络延迟;

当所述平均网络延迟大于或等于延迟阈值时,创建存储容量为所述总尺寸的1.2倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/50将所述缓冲存储区划分为60个缓冲存储段;

当所述平均网络延迟小于延迟阈值时,创建存储容量为所述总尺寸的1.1倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/10将所述缓冲存储区划分为11个缓冲存储段。

其中为每个缓冲存储段设置用于指示存储顺序的顺序号包括:按照缓冲存储段的地址的升序顺序设置用于指示存储顺序的顺序号;或者,按照缓冲存储段的地址的降序顺序设置用于指示存储顺序的顺序号;或者按照随机方式为每个缓冲存储段设置用于指示存储顺序的顺序号。

其中目标存储节点是存储了多个数据项的存储节点。

所述目录信息包括多个条目,每个条目包括数据项的名称和目标存储节点的标识。

所述数据传输指示消息用于指示目标存储节点开始进行数据传输。

其中每个目标存储节点根据目录信息确定自身所存储的并与数据传输相关联的多个数据项包括:

每个目标存储节点对目录信息中的所有条目进行识别,以确定包括自身标识的多个条目,通过所确定多个条目来确定自身所存储的并与数据传输相关联的多个数据项。

其中所述传输级别包括传输顺序依次降低的至少三个传输级别;

其中所述传输级别包括高传输级别、中传输级别和低传输级别;

其中每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级包括:

当所存储的多个数据项的总尺寸小于或等于所述缓冲存储段的尺寸时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为1:1:1;

当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸并且小于或等于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.5:1:0.5;以及

当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.25:1:0.25。

其中为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列包括:

按照每个目标存储节点与服务存储节点的网络延迟的升序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最小,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最大;或者

按照每个目标存储节点与服务存储节点的网络延迟的降序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最大,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最小;或者

按照随机方式为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。

在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的顺时针方向作为所述环状传输队列的队列顺序,将从位于队首的目标存储节点开始逆时针方向的相邻目标存储节点作为位于队尾的目标存储节点。

在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的逆时针方向作为所述环状传输队列的队列顺序,将从位于队首的目标存储节点开始顺时针方向的相邻目标存储节点作为位于队尾的目标存储节点。

所述传输级别包括传输顺序依次降低的至少三个传输级别;所述传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。

对于多个传输级别中除最低传输级别之外的任意传输级别,在任意传输级别的所有数据项全部被传输到服务存储节点之后,开始进行比所述任意传输级别低一个级别的传输级别的数据项的传输;

对于最低传输级别,在最低传输级别的所有数据项全部被传输到服务存储节点之后,任何目标存储节点不再向服务存储节点传输数据。

所述环状传输队列包括第一目标存储节点、第二目标存储节点、第三目标存储节点、第四目标存储节点和第五目标存储节点,其中第一目标存储节点是位于队首的目标存储节点并且第五目标存储节点是位于队尾的目标存储节点;

所述传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。其中第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别的传输顺序依次降低;

a1、将第一传输级别作为当前传输级别:

a2、第一目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a3、第二目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a4、第三目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a5、第四目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;以及

a6、第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a7、在第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点之后,确定当前传输级别是否为第五传输级别,如果是,则结束;如果否,则将下一传输级别作为当前传输级别,进行步骤a2。

其中最高传输级别是对数据项进行传输时的最高级别,并且最低传输级别是对数据项进行传输时的最低级别。

其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个包括:将多个传输级别中每个传输级别按照从最高传输级别到最低传输级别的降序顺序依次选择作为当前传输级别。

所述当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个,并且当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个包括:将环状传输队列中多个目标传输节点中每个目标传输节点按照从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的队列顺序依次选择作为当前的目标传输节点。

在当前的目标存储节点是位于队尾的目标存储节点的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是位于队首的目标存储节点;

在当前的目标存储节点不是位于队尾的目标存储节点的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是环状传输队列中顺时针方向或逆时针方向的相邻节点。

其中所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到缓冲存储段包括:

在多个缓冲存储段之间,所述服务存储节点按照缓冲存储段的顺序号选择所接收到的数据项进行缓存的缓冲存储段;

在缓冲存储段内,所述服务存储节点按照数据项的接收时间将接收到的数据项缓存到缓冲存储段中。

所述当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个,并且当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个包括:将多个顺序号中每个顺序号按照顺序号的顺序依次选择作为当前顺序号。

还包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间;

包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,不会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间。

将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方包括:将所述当前顺序号的缓冲存储段中的所有数据项封装成至少两个数据包,并且将所述至少两个数据包发送给数据请求方。

其中下一顺序号的缓冲存储段是缓冲存储段的顺序号中与当前顺序号的缓冲存储段相邻并且顺序号为后一位的缓冲存储段;其中在缓冲存储段时最末顺序号的缓冲存储段的情况下,不存在下一顺序号的缓冲存储段。

其中缓冲存储器包括10个缓冲存储段,所述10个缓冲存储段的顺序号为1、2、3、4、5、6、7、8、9和10;

b1、将顺序号为1的缓冲存储段作为当前顺序号的缓冲存储段:

b2、服务存储节点按照数据项的接收时间将接收到的数据项保存到当前顺序号缓冲存储段中;

b3、判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,判断当前顺序号是否为10,如果是,则结束,否则将下一顺序号作为当前顺序号,进行步骤b2。

所述当前顺序号的缓冲存储段是服务存储节点将所接收的数据项保存到其中的当前缓冲存储段。

根据本发明的一个方面,提供一种在分布式大数据存储系统内进行数据传输的方法,所述方法包括:

步骤1、接收来自数据请求方的数据获取请求,其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件;

步骤2、根据数据请求方标识对所述数据请求方进行身份验证,根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

步骤3、当身份验证的结果指示所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限时,根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合;

步骤4、确定所述数据集合中的所有数据项的总尺寸,根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点;

步骤5、向所述服务存储节点发送所述数据请求方地址和所述总尺寸,促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段,并且为每个缓冲存储段设置用于指示存储顺序的顺序号;

步骤6、从所述服务存储节点接收包括缓冲存储段的数量和尺寸的响应消息,并对所述数据集合中每个数据项所归属的目标存储节点进行统计,以确定所述数据集合所涉及的多个目标存储节点;

步骤7、将包括所述数据集合中每个数据项的目录信息以及所述缓冲存储段的尺寸和数量的数据传输指示消息发送给多个目标存储节点中的每个目标存储节点;

步骤8、每个目标存储节点根据目录信息确定自身所存储的并与数据传输相关联的多个数据项,确定多个数据项中每个数据项的尺寸并且基于每个数据项的尺寸计算每个目标存储节点自身所存储的多个数据项的总尺寸;

步骤9、每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级别,其中传输级别的数量小于所述缓冲存储段的数量并且不同的传输级别用于指示向服务存储节点发送数据项时不同的传输顺序;

步骤10、响应于每个目标存储节点为自身所存储的每个数据项设置传输级别的完成,按照每个目标存储节点与服务存储节点的网络延迟为每个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列;

步骤11、将多个传输级别中的最高传输级别确定为当前传输级别;

步骤12、;从环状传输队列中位于队首的目标存储节点开始到位于队尾的目标存储节点为止,按照环状传输队列的队列顺序依次将每个目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

步骤13、在确定环状传输队列中位于队尾的目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项全部被传输到所述服务存储节点时,确定是否存在比当前传输级别低一个级别的传输级别,如果是,则将比当前传输级别低一个级别的传输级别确定为当前传输级别,并且进行步骤12;如果否,则进行步骤15;

步骤15,所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到当前顺序号的缓冲存储段中:在判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方,并且将所述当前接收的数据项存储到下一顺序号的缓冲存储段中,并且将所述下一顺序号作为当前顺序号;当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。

根据本发明的一个方面,提供一种在分布式大数据存储系统内进行数据传输的系统,所述系统包括:

接收单元,接收来自数据请求方的数据获取请求,其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件;

验证单元,根据数据请求方标识对所述数据请求方进行身份验证,根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

检索单元,当身份验证的结果指示所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限时,根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合;

选择单元,确定所述数据集合中的所有数据项的总尺寸,根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点;

第一发送单元,向所述服务存储节点发送所述数据请求方地址和所述总尺寸,促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段,并且为每个缓冲存储段设置用于指示存储顺序的顺序号;

统计单元,获取通过接收单元从所述服务存储节点接收包括缓冲存储段的数量和尺寸的响应消息,并对所述数据集合中每个数据项所归属的目标存储节点进行统计,以确定所述数据集合所涉及的多个目标存储节点;

第二发送单元,将包括所述数据集合中每个数据项的目录信息以及所述缓冲存储段的尺寸和数量的数据传输指示消息发送给多个目标存储节点中的每个目标存储节点;

处理单元,每个目标存储节点根据目录信息确定自身所存储的并与数据传输相关联的多个数据项,确定多个数据项中每个数据项的尺寸并且基于每个数据项的尺寸计算每个目标存储节点自身所存储的多个数据项的总尺寸;促使每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级别,其中传输级别的数量小于所述缓冲存储段的数量并且不同的传输级别用于指示向服务存储节点发送数据项时不同的传输顺序;响应于每个目标存储节点为自身所存储的每个数据项设置传输级别的完成,按照每个目标存储节点与服务存储节点的网络延迟为每个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列;

所述处理单元按照从数据项的最高传输级别到最低传输级别的降序顺序依次对每个传输级别的数据项进行传输:从环状传输队列中位于队首的目标存储节点开始到位于队尾的目标存储节点为止,按照环状传输队列的队列顺序依次将每个目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个,并且其中在当前的目标存储节点将当前传输级别的至少一个数据项全部传输到所述服务存储节点之后,促使环状传输队列中所述当前的目标存储节点的下一目标存储节点开始进行数据传输;以及

传输单元,所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到当前顺序号的缓冲存储段中:在判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方,将所述当前接收的数据项存储到下一顺序号的缓冲存储段中,并且将所述下一顺序号作为当前顺序号;当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。

所述分布式大数据系统包括系统节点和多个存储节点,其中所述系统节点用于为数据请求方提供与所述分布式大数据系统进行数据交互的通信接口,由所述系统节点通过通信接口接收来自数据请求方的数据获取请求,其中多个存储节点中的每个存储节点用于存储多个数据项。

其中数据请求方标识是能够唯一地标识数据请求方的标识符,数据请求方地址是数据请求方的网络地址以及数据检索条件是至少一个数据检索式,其中通过每个数据检索式能够从分布式大数据存储系统的所有数据项中确定一个或多个数据项。

其中根据数据请求方标识对所述数据请求方进行身份验证包括:基于所述数据请求方标识在验证数据库的验证列表中进行查询,根据查询结果确定身份验证的结果,其中所述身份验证的结果用于指示所述数据请求方的访问权限;所述访问权限包括:禁止访问、限制访问和完全访问。

确定所述数据检索条件的检索级别,所述检索级别包括高级检索和普通检索,其中当数据检索条件的至少一个数据检索式中任意数据检索式为高级检索式时,确定所述数据检索条件的检索级别为高级检索;当数据检索条件的至少一个数据检索式中所有数据检索式均为普通检索式时,确定所述数据检索条件的检索级别为普通检索。

其中根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限包括:

当身份验证的结果指示所述数据请求方的访问权限为完全访问时,确定所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

当身份验证的结果指示所述数据请求方的访问权限为限制访问并且数据检索条件的检索级别为普通检索时,确定所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限;

当身份验证的结果指示所述数据请求方的访问权限为限制访问并且数据检索条件的检索级别为高级检索时,确定所述数据请求方不具有使用所述数据获取请求中的数据检索条件来获取数据的权限;以及

当身份验证的结果指示所述数据请求方的访问权限为禁止访问时,确定所述数据请求方不具有使用所述数据获取请求中的数据检索条件来获取数据的权限。

根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合包括:根据所述数据检索条件的至少一个数据检索式中的每个数据检索式来获取包括至少一个数据项的数据子集合,将所获取的至少一个数据子集合的并集确定为所述数据获取请求所涉及的包括多个数据项的数据集合。

其中确定所述数据集合中的所有数据项的总尺寸包括:将所述数据集合中每个数据项的尺寸求和以确定所有数据项的总尺寸。

其中根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点包括:

确定所述分布式大数据存储系统内多个存储节点中每个存储节点的剩余存储容量,将剩余存储容量大于所述总尺寸的五倍以上的存储节点确定为候选存储节点,将多个候选存储节点中与所述数据请求方地址的网络延迟最小的候选存储节点确定为服务存储节点。

促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段包括:

所述服务存储节点确定与所述数据请求方地址在预定时间段内的平均网络延迟;

当所述平均网络延迟大于或等于延迟阈值时,创建存储容量为所述总尺寸的1.2倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/50将所述缓冲存储区划分为60个缓冲存储段;

当所述平均网络延迟小于延迟阈值时,创建存储容量为所述总尺寸的1.1倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/10将所述缓冲存储区划分为11个缓冲存储段。

其中为每个缓冲存储段设置用于指示存储顺序的顺序号包括:按照缓冲存储段的地址的升序顺序设置用于指示存储顺序的顺序号;或者,按照缓冲存储段的地址的降序顺序设置用于指示存储顺序的顺序号;或者按照随机方式为每个缓冲存储段设置用于指示存储顺序的顺序号。

根据权利要求1所述的系统,其中目标存储节点是存储了多个数据项的存储节点。

所述目录信息包括多个条目,每个条目包括数据项的名称和目标存储节点的标识。

所述数据传输指示消息用于指示目标存储节点开始进行数据传输。

其中每个目标存储节点根据目录信息确定自身所存储的并与数据传输相关联的多个数据项包括:

每个目标存储节点对目录信息中的所有条目进行识别,以确定包括自身标识的多个条目,通过所确定多个条目来确定自身所存储的并与数据传输相关联的多个数据项。

其中所述传输级别包括传输顺序依次降低的至少三个传输级别;

其中所述传输级别包括高传输级别、中传输级别和低传输级别;

其中每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级包括:

当所存储的多个数据项的总尺寸小于或等于所述缓冲存储段的尺寸时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为1:1:1;

当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸并且小于或等于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.5:1:0.5;以及

当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.25:1:0.25。

其中为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列包括:

按照每个目标存储节点与服务存储节点的网络延迟的升序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最小,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最大;或者

按照每个目标存储节点与服务存储节点的网络延迟的降序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最大,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最小;或者

按照随机方式为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。

在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的顺时针方向作为所述环状传输队列的队列顺序,将从位于队首的目标存储节点开始逆时针方向的相邻目标存储节点作为位于队尾的目标存储节点。

在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的逆时针方向作为所述环状传输队列的队列顺序,将从位于队首的目标存储节点开始顺时针方向的相邻目标存储节点作为位于队尾的目标存储节点。

所述传输级别包括传输顺序依次降低的至少三个传输级别;所述传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。

对于多个传输级别中除最低传输级别之外的任意传输级别,在任意传输级别的所有数据项全部被传输到服务存储节点之后,开始进行比所述任意传输级别低一个级别的传输级别的数据项的传输;

对于最低传输级别,在最低传输级别的所有数据项全部被传输到服务存储节点之后,任何目标存储节点不再向服务存储节点传输数据。

所述环状传输队列包括第一目标存储节点、第二目标存储节点、第三目标存储节点、第四目标存储节点和第五目标存储节点,其中第一目标存储节点是位于队首的目标存储节点并且第五目标存储节点是位于队尾的目标存储节点;

所述传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。其中第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别的传输顺序依次降低;

a1、将第一传输级别作为当前传输级别:

a2、第一目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a3、第二目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a4、第三目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a5、第四目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;以及

a6、第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a7、在第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点之后,确定当前传输级别是否为第五传输级别,如果是,则结束;如果否,则将下一传输级别作为当前传输级别,进行步骤a2。

其中最高传输级别是对数据项进行传输时的最高级别,并且最低传输级别是对数据项进行传输时的最低级别。

其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个包括:将多个传输级别中每个传输级别按照从最高传输级别到最低传输级别的降序顺序依次选择作为当前传输级别。

所述当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个,并且当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个包括:将环状传输队列中多个目标传输节点中每个目标传输节点按照从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的队列顺序依次选择作为当前的目标传输节点。

在当前的目标存储节点是位于队尾的目标存储节点的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是位于队首的目标存储节点;

在当前的目标存储节点不是位于队尾的目标存储节点的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是环状传输队列中顺时针方向或逆时针方向的相邻节点。

其中所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到缓冲存储段包括:

在多个缓冲存储段之间,所述服务存储节点按照缓冲存储段的顺序号选择所接收到的数据项进行缓存的缓冲存储段;

在缓冲存储段内,所述服务存储节点按照数据项的接收时间将接收到的数据项缓存到缓冲存储段中。

所述当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个,并且当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个包括:将多个顺序号中每个顺序号按照顺序号的顺序依次选择作为当前顺序号。

还包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间;

包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,不会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间。

将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方包括:将所述当前顺序号的缓冲存储段中的所有数据项封装成至少两个数据包,并且将所述至少两个数据包发送给数据请求方。

其中下一顺序号的缓冲存储段是缓冲存储段的顺序号中与当前顺序号的缓冲存储段相邻并且顺序号为后一位的缓冲存储段;其中在缓冲存储段时最末顺序号的缓冲存储段的情况下,不存在下一顺序号的缓冲存储段。

其中缓冲存储器包括10个缓冲存储段,所述10个缓冲存储段的顺序号为1、2、3、4、5、6、7、8、9和10;

b1、将顺序号为1的缓冲存储段作为当前顺序号的缓冲存储段:

b2、服务存储节点按照数据项的接收时间将接收到的数据项保存到当前顺序号缓冲存储段中;

b3、判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,判断当前顺序号是否为10,如果是,则结束,否则将下一顺序号作为当前顺序号,进行步骤b2。

所述当前顺序号的缓冲存储段是服务存储节点将所接收的数据项保存到其中的当前缓冲存储段。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的在分布式大数据存储系统内进行数据传输的方法的流程图;

图2为根据本发明实施方式的分布式大数据存储系统的结构示意图;

图3为根据本发明实施方式的目标存储节点确定传输级别的示意图;

图4为根据本发明实施方式的服务存储节点的缓冲存储区的示意图;以及

图5为根据本发明实施方式的在分布式大数据存储系统内进行数据传输的系统的结构示意图。

具体实施方式

图1为根据本发明实施方式的在分布式大数据存储系统内进行数据传输的方法100的流程图。如图1所示,方法100从步骤101处开始。

在步骤101,分布式大数据存储系统的系统节点接收来自数据请求方的数据获取请求。其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件。图2为根据本发明实施方式的分布式大数据存储系统200的结构示意图。下面参照图2来介绍方法100。

分布式大数据系统200包括系统节点201和多个存储节点203-210。系统节点201用于为数据请求方202(或者数据请求方的设备、用户设备、用户终端)提供与分布式大数据系统200进行数据交互的通信接口。由系统节点201通过通信接口接收来自数据请求方202的数据获取请求。多个存储节点203-210中的每个存储节点用于存储多个数据项。其中数据项可以是各种类型的文件,例如,音频文件、视频文件、文本文件等,并且数据项可以是文件集、文件组、文件压缩包等类似的集合。

其中数据请求方标识是能够唯一地标识数据请求方201的标识符。数据请求方地址是数据请求方201的网络地址以及数据检索条件是至少一个数据检索式。其中通过每个数据检索式能够从分布式大数据存储系统的所有数据项中确定一个或多个数据项。数据检索式例如是:通信和系统和(上行或下行)。

在步骤102,根据数据请求方标识对所述数据请求方进行身份验证,根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限。

系统节点201根据数据请求方标识对所述数据请求方进行身份验证包括:系统节点201基于所述数据请求方标识在验证数据库的验证列表中进行查询,根据查询结果确定身份验证的结果。其中所述身份验证的结果用于指示所述数据请求方的访问权限。所述访问权限包括:禁止访问、限制访问和完全访问。

系统节点201确定所述数据检索条件的检索级别。所述检索级别包括高级检索和普通检索。其中当数据检索条件的至少一个数据检索式中任意数据检索式为高级检索式时,确定所述数据检索条件的检索级别为高级检索。当数据检索条件的至少一个数据检索式中所有数据检索式均为普通检索式时,确定所述数据检索条件的检索级别为普通检索。例如,在摘要数据库中进行搜索,则检索式-(通信和系统和(上行或下行))/-为普通检索式,在全文数据库中进行检索,则检索式-通信和系统和(上行或下行)-为高级检索式。

系统节点201根据身份验证的结果确定所述数据请求方202是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限包括:当身份验证的结果指示所述数据请求方的访问权限为完全访问时,确定所述数据请求方具有使用所述数据获取请求202中的数据检索条件来获取数据的权限;当身份验证的结果指示所述数据请求方202的访问权限为限制访问并且数据检索条件的检索级别为普通检索时,确定所述数据请求方202具有使用所述数据获取请求中的数据检索条件来获取数据的权限;当身份验证的结果指示所述数据请求方202的访问权限为限制访问并且数据检索条件的检索级别为高级检索时,确定所述数据请求方202不具有使用所述数据获取请求中的数据检索条件来获取数据的权限;以及当身份验证的结果指示所述数据请求方202的访问权限为禁止访问时,确定所述数据请求方202不具有使用所述数据获取请求中的数据检索条件来获取数据的权限。

在步骤103,当身份验证的结果指示所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限时,系统节点201根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合。系统节点201根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合包括:根据所述数据检索条件的至少一个数据检索式中的每个数据检索式来获取包括至少一个数据项的数据子集合,将所获取的至少一个数据子集合的并集确定为所述数据获取请求所涉及的包括多个数据项的数据集合。还包括,对包括多个数据项的数据集合中的数据项进行去重处理。

在步骤104,系统节点201确定所述数据集合中的所有数据项的总尺寸,根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点。系统节点201根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点包括:系统节点201确定所述分布式大数据存储系统200内多个存储节点203-210中每个存储节点的剩余存储容量。将剩余存储容量大于所述总尺寸的五倍以上的存储节点确定为候选存储节点。例如,所有数据项的总尺寸为10gb,存储节点203的剩余存储容量为1tb、存储节点204的剩余存储容量为100gb并且存储节点205的剩余存储容量为500gb,则将存储节点203-205确定为候选存储节点。将多个候选存储节点203-205中与所述数据请求方地址的网络延迟最小的候选存储节点确定为服务存储节点,例如,候选存储节点205确定为服务存储节点。

系统节点201确定所述数据集合中的所有数据项的总尺寸包括:系统节点201将所述数据集合中每个数据项的尺寸求和以确定所有数据项的总尺寸。

在步骤105,系统节点201向所述服务存储节点205发送所述数据请求方地址和所述总尺寸,促使所述服务存储节点205根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段,并且为每个缓冲存储段设置用于指示存储顺序的顺序号。

系统节点201促使所述服务存储节点205根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段包括:所述服务存储节点205确定与所述数据请求方地址在预定时间段内的平均网络延迟。当所述平均网络延迟大于或等于延迟阈值时,创建存储容量为所述总尺寸的1.2倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/50将所述缓冲存储区划分为60个缓冲存储段。当所述平均网络延迟小于延迟阈值时,创建存储容量为所述总尺寸的1.1倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/10将所述缓冲存储区划分为11个缓冲存储段,如图4所示。

图4为根据本发明实施方式的服务存储节点内存储结构的示意图。缓冲存储区包括缓冲存储段401-1、401-2、401-3、401-4、401-5、……、401-n。通常,为了避免尺寸较大的数据项在缓冲存储段之间跨界的情况,即特定的大尺寸数据项无法被存储到缓冲存储段401-1(由于缓冲存储段401-1的剩余存储空间小于特定的大尺寸数据项的存储空间)时,只能被存储到缓冲存储段401-2中,为此,通常将缓冲存储区的存储空间设置为比总尺寸大。此外,当服务存储节点205与所述数据请求方地址(或数据请求方202)在预定时间段内的平均网络延迟较大时,可以将缓冲存储段的尺寸设置为较小,以降低数据重传的开销。当服务存储节点205与所述数据请求方地址(或数据请求方202)在预定时间段内的平均网络延迟较小时,可以将缓冲存储段的尺寸设置为较大,以减少网络开销并且提升网络传输速度。

系统节点201或服务存储节点205为每个缓冲存储段设置用于指示存储顺序的顺序号包括:按照缓冲存储段的地址的升序顺序设置用于指示存储顺序的顺序号;或者,按照缓冲存储段的地址的降序顺序设置用于指示存储顺序的顺序号;或者按照随机方式为每个缓冲存储段设置用于指示存储顺序的顺序号。

在步骤106,系统节点201从所述服务存储节点205接收包括缓冲存储段的数量和尺寸的响应消息,并对所述数据集合中每个数据项所归属的目标存储节点进行统计,以确定所述数据集合所涉及的多个目标存储节点。其中目标存储节点是存储了多个数据项的存储节点(当存储节点存储了所述数据集合中的数据项时,将存储节点确定为目标存储节点),即本申请的目标存储节点是至少存储了两个数据项的存储节点。每个数据集合对应于至少两个目标存储节点。

在步骤107,系统节点201将包括所述数据集合中每个数据项的目录信息以及所述缓冲存储段的尺寸和数量的数据传输指示消息发送给多个目标存储节点中的每个目标存储节点。目录信息包括多个条目,每个条目包括数据项的名称和目标存储节点的标识。数据传输指示消息用于指示目标存储节点开始进行数据传输。

在步骤108,每个目标存储节点206-210根据目录信息确定自身所存储的并与数据传输相关联的多个数据项,确定多个数据项中每个数据项的尺寸并且基于每个数据项的尺寸计算每个目标存储节点206-210自身所存储的多个数据项的总尺寸。通常,每个数据项的尺寸进行求和以确定每个目标存储节点206-210自身所存储的多个数据项的总尺寸。

在步骤109,与服务存储节点301连接的每个目标存储节点302-306根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级别,其中传输级别的数量小于所述缓冲存储段的数量并且不同的传输级别用于指示向服务存储节点发送数据项时不同的传输顺序,如图3所示。图3为根据本发明实施方式的目标存储节点确定传输级别的示意图。传输级别包括传输顺序依次降低的至少三个传输级别,级别1、级别2和级别3。可替换地,三个传输级别可以分别被称为高传输级别、中传输级别和低传输级别。通常,每个目标存储节点302-306可以确定不同传输级别(例如,三个传输级别)的比例,并且根据所存储的多个数据项的数量和比例来确定每个传输级别所包括的数据项的数量。即,每个目标存储节点302-306内不同传输级别的数据项的比例是数量比例。此外,每个目标存储节点302-306均具有相同数量的传输级别。

举例来说,每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级包括:当所存储的多个数据项的总尺寸小于或等于所述缓冲存储段的尺寸时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为1:1:1;当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸并且小于或等于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.5:1:0.5;以及当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.25:1:0.25。应当了解的是,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例可以是任何合理的比例,并且高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量均不为零。

在步骤110,响应于每个目标存储节点206-210为自身所存储的每个数据项设置传输级别的完成,为多个目标存储节点206-210设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。其中为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列包括:按照每个目标存储节点与服务存储节点的网络延迟的升序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最小,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最大;或者按照每个目标存储节点与服务存储节点的网络延迟的降序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最大,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最小;或者按照随机方式为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。

在步骤111,按照从数据项的最高传输级别到最低传输级别的降序顺序依次对每个传输级别的数据项进行传输:从环状传输队列中位于队首的目标存储节点开始到位于队尾的目标存储节点为止,按照环状传输队列的队列顺序依次将每个目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个,并且其中在当前的目标存储节点将当前传输级别的至少一个数据项全部传输到所述服务存储节点之后,促使环状传输队列中所述当前的目标存储节点的下一目标存储节点开始进行数据传输。

在所述环状传输队列中随机选择一个目标存储节点,例如,目标存储节点206,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的顺时针方向作为所述环状传输队列的队列顺序,即目标存储节点206、207、208、209和210的顺序,将从位于队首的目标存储节点开始逆时针方向的相邻目标存储节点作为位于队尾的目标存储节点,例如,目标存储节点210。在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点例如,目标存储节点206,将以位于队首的目标存储节点开始的逆时针方向作为所述环状传输队列的队列顺序,即目标存储节点206、210、209、208和207的顺序,将从位于队首的目标存储节点开始顺时针方向的相邻目标存储节点作为位于队尾的目标存储节点,例如,目标存储节点207。

通常,传输级别包括传输顺序依次降低的至少三个传输级别。例如,传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。对于多个传输级别中除最低传输级别之外的任意传输级别,在任意传输级别的所有数据项全部被传输到服务存储节点205之后,开始进行比所述任意传输级别低一个级别的传输级别的数据项的传输;对于最低传输级别,例如第五传输级别,在最低传输级别的所有数据项全部被传输到服务存储节点205之后,任何目标存储节点不再向服务存储节点传输数据。

具体地,环状传输队列包括第一目标存储节点、第二目标存储节点、第三目标存储节点、第四目标存储节点和第五目标存储节点,其中第一目标存储节点是位于队首的目标存储节点并且第五目标存储节点是位于队尾的目标存储节点。传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。其中第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别的传输顺序依次降低。

a1、将第一传输级别作为当前传输级别;

a2、第一目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a3、第二目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a4、第三目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a5、第四目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;以及

a6、第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;

a7、在第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点之后,确定当前传输级别是否为第五传输级别,如果是,则结束;如果否,则将下一传输级别作为当前传输级别,进行步骤a2。

最高传输级别是对数据项进行传输时的最高级别,并且最低传输级别是对数据项进行传输时的最低级别。当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个包括:将多个传输级别中每个传输级别按照从最高传输级别到最低传输级别的降序顺序依次选择作为当前传输级别。

所述当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个,并且当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个包括:将环状传输队列中多个目标传输节点中每个目标传输节点206-210按照从位于队首的目标存储节点206开始到位于队尾的目标存储节点200为止的队列顺序依次选择作为当前的目标传输节点,即依次序选择目标存储节点206、207、208、209和210。

在当前的目标存储节点是位于队尾的目标存储节点(例如,目标存储节点210)的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是位于队首的目标存储节点,即,目标存储节点206。在当前的目标存储节点不是位于队尾的目标存储节点(例如目标存储节点208)的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是环状传输队列中顺时针方向或逆时针方向的相邻节点,即目标存储节点209。

在步骤112,所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到当前顺序号的缓冲存储段中:在判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方,将所述当前接收的数据项存储到下一顺序号的缓冲存储段中,并且将所述下一顺序号作为当前顺序号;当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。

其中所述服务存储节点205按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到缓冲存储段包括:在多个缓冲存储段之间,所述服务存储节点按照缓冲存储段的顺序号选择所接收到的数据项进行缓存的缓冲存储段。在缓冲存储段内,所述服务存储节点按照数据项的接收时间将接收到的数据项缓存到缓冲存储段中。例如,在缓冲存储器包括11个缓冲存储段(顺序号为1、2、3、4、5、6、7、8、9、10、11)的情况下,服务存储节点205按照数据项的接收时间将接收到的数据项首先保存到顺序号为1的缓冲存储段中。当顺序号为1的缓冲存储段中的剩余空间无法容纳当前接收的数据项时,将顺序号为1的缓冲存储段中的所有数据项发送给数据请求方,并且将从(包括)当前接收的数据项开始,将所接收的数据项存储到顺序号为2的缓冲存储段中,以此类推。

所述当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个,并且当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个包括:将多个顺序号中每个顺序号按照顺序号的顺序依次选择作为当前顺序号。

还包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间。包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,不会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间。例如,顺序号为1的缓冲存储段中的剩余空间为5m,当前接收的数据项的尺寸为6m,则判断当前顺序号1的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间。顺序号为1的缓冲存储段中的剩余空间为5m,当前接收的数据项的尺寸为3m,则判断当前顺序号1的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间,并且据此将当前接收的数据项保存到顺序号为1的缓冲存储段中并且继续判断是否可以容纳或存储下一个接收的数据项。

将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方包括:将所述当前顺序号的缓冲存储段中的所有数据项封装成至少两个数据包,并且将所述至少两个数据包发送给数据请求方。其中下一顺序号的缓冲存储段是缓冲存储段的顺序号中与当前顺序号的缓冲存储段相邻并且顺序号为后一位的缓冲存储段;其中在缓冲存储段时最末顺序号的缓冲存储段的情况下,不存在下一顺序号的缓冲存储段。

在另一个实例中,缓冲存储器包括10个缓冲存储段,所述10个缓冲存储段的顺序号为1、2、3、4、5、6、7、8、9和10;

b1、将顺序号为1的缓冲存储段作为当前顺序号的缓冲存储段:

b2、服务存储节点按照数据项的接收时间将接收到的数据项保存到当前顺序号缓冲存储段中;

b3、判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,判断当前顺序号是否为10,如果是,则结束,否则将下一顺序号作为当前顺序号,进行步骤b2。

当前顺序号的缓冲存储段是服务存储节点将所接收的数据项保存到其中的当前缓冲存储段。

当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。例如是,当顺序号为9(当前顺序号)的缓冲存储段在预定时间(5分钟、10分钟、15分钟等)内没有接收到(来自任意目标存储节点的)数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方,并且结束数据传输过程。

图5为根据本发明实施方式的在分布式大数据存储系统内进行数据传输的系统500的结构示意图。如图5所示,系统500包括:接收单元501、验证单元502、检索单元503、选择单元504、第一发送单元505、统计单元506、第二发送单元507、处理单元508以及传输单元509。

接收单元501接收来自数据请求方的数据获取请求,其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件。例如,分布式大数据存储系统的系统节点的接收单元接收来自数据请求方的数据获取请求。其中所述数据获取请求包括:数据请求方标识、数据请求方地址以及数据检索条件。

分布式大数据系统200包括系统节点201和多个存储节点203-210。系统节点201用于为数据请求方202(或者数据请求方的设备、用户设备、用户终端)提供与分布式大数据系统200进行数据交互的通信接口。由系统节点201通过通信接口接收来自数据请求方202的数据获取请求。多个存储节点203-210中的每个存储节点用于存储多个数据项。其中数据项可以是各种类型的文件,例如,音频文件、视频文件、文本文件等,并且数据项可以是文件集、文件组、文件压缩包等类似的集合。

其中数据请求方标识是能够唯一地标识数据请求方201的标识符。数据请求方地址是数据请求方201的网络地址以及数据检索条件是至少一个数据检索式。其中通过每个数据检索式能够从分布式大数据存储系统的所有数据项中确定一个或多个数据项。数据检索式例如是:通信和系统和(上行或下行)。

验证单元502,根据数据请求方标识对所述数据请求方进行身份验证,根据身份验证的结果确定所述数据请求方是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限。根据数据请求方标识对所述数据请求方进行身份验证包括:基于所述数据请求方标识在验证数据库的验证列表中进行查询,根据查询结果确定身份验证的结果。其中所述身份验证的结果用于指示所述数据请求方的访问权限。所述访问权限包括:禁止访问、限制访问和完全访问。

确定所述数据检索条件的检索级别。所述检索级别包括高级检索和普通检索。其中当数据检索条件的至少一个数据检索式中任意数据检索式为高级检索式时,确定所述数据检索条件的检索级别为高级检索。当数据检索条件的至少一个数据检索式中所有数据检索式均为普通检索式时,确定所述数据检索条件的检索级别为普通检索。例如,在摘要数据库中进行搜索,则检索式-(通信和系统和(上行或下行))/-为普通检索式,在全文数据库中进行检索,则检索式-通信和系统和(上行或下行)-为高级检索式。

根据身份验证的结果确定所述数据请求方202是否具有使用所述数据获取请求中的数据检索条件来获取数据的权限包括:当身份验证的结果指示所述数据请求方的访问权限为完全访问时,确定所述数据请求方具有使用所述数据获取请求202中的数据检索条件来获取数据的权限;当身份验证的结果指示所述数据请求方202的访问权限为限制访问并且数据检索条件的检索级别为普通检索时,确定所述数据请求方202具有使用所述数据获取请求中的数据检索条件来获取数据的权限;当身份验证的结果指示所述数据请求方202的访问权限为限制访问并且数据检索条件的检索级别为高级检索时,确定所述数据请求方202不具有使用所述数据获取请求中的数据检索条件来获取数据的权限;以及当身份验证的结果指示所述数据请求方202的访问权限为禁止访问时,确定所述数据请求方202不具有使用所述数据获取请求中的数据检索条件来获取数据的权限。

检索单元503,当身份验证的结果指示所述数据请求方具有使用所述数据获取请求中的数据检索条件来获取数据的权限时,根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合。根据所述数据检索条件来确定所述数据获取请求所涉及的包括多个数据项的数据集合包括:根据所述数据检索条件的至少一个数据检索式中的每个数据检索式来获取包括至少一个数据项的数据子集合,将所获取的至少一个数据子集合的并集确定为所述数据获取请求所涉及的包括多个数据项的数据集合。还包括,对包括多个数据项的数据集合中的数据项进行去重处理。

选择单元504,确定所述数据集合中的所有数据项的总尺寸,根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点。根据所述总尺寸和所述数据请求方地址从所述分布式大数据存储系统内多个存储节点中选择一个存储节点以作为所述数据请求方选择服务存储节点包括:系统节点201确定所述分布式大数据存储系统200内多个存储节点203-210中每个存储节点的剩余存储容量。将剩余存储容量大于所述总尺寸的五倍以上的存储节点确定为候选存储节点。例如,所有数据项的总尺寸为10gb,存储节点203的剩余存储容量为1tb、存储节点204的剩余存储容量为100gb并且存储节点205的剩余存储容量为500gb,则将存储节点203-205确定为候选存储节点。将多个候选存储节点203-205中与所述数据请求方地址的网络延迟最小的候选存储节点确定为服务存储节点,例如,候选存储节点205确定为服务存储节点。确定所述数据集合中的所有数据项的总尺寸包括:系统节点201将所述数据集合中每个数据项的尺寸求和以确定所有数据项的总尺寸。

第一发送单元505,向所述服务存储节点发送所述数据请求方地址和所述总尺寸,促使所述服务存储节点根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段,并且为每个缓冲存储段设置用于指示存储顺序的顺序号;系统节点201促使所述服务存储节点205根据所述数据请求方地址和所述总尺寸来创建缓冲存储区并将所述缓冲存储区分为至少两个缓冲存储段包括:所述服务存储节点205确定与所述数据请求方地址在预定时间段内的平均网络延迟。当所述平均网络延迟大于或等于延迟阈值时,创建存储容量为所述总尺寸的1.2倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/50将所述缓冲存储区划分为60个缓冲存储段。当所述平均网络延迟小于延迟阈值时,创建存储容量为所述总尺寸的1.1倍的缓冲存储区并且以缓冲存储段的尺寸为所述总尺寸的1/10将所述缓冲存储区划分为11个缓冲存储段。

缓冲存储区包括缓冲存储段401-1、401-2、401-3、401-4、401-5、……、401-n。通常,为了避免尺寸较大的数据项在缓冲存储段之间跨界的情况,即特定的大尺寸数据项无法被存储到缓冲存储段401-1(由于缓冲存储段401-1的剩余存储空间小于特定的大尺寸数据项的存储空间)时,只能被存储到缓冲存储段401-2中,为此,通常将缓冲存储区的存储空间设置为比总尺寸大。此外,当服务存储节点205与所述数据请求方地址(或数据请求方202)在预定时间段内的平均网络延迟较大时,可以将缓冲存储段的尺寸设置为较小,以降低数据重传的开销。当服务存储节点205与所述数据请求方地址(或数据请求方202)在预定时间段内的平均网络延迟较小时,可以将缓冲存储段的尺寸设置为较大,以减少网络开销并且提升网络传输速度。

系统节点201或服务存储节点205为每个缓冲存储段设置用于指示存储顺序的顺序号包括:按照缓冲存储段的地址的升序顺序设置用于指示存储顺序的顺序号;或者,按照缓冲存储段的地址的降序顺序设置用于指示存储顺序的顺序号;或者按照随机方式为每个缓冲存储段设置用于指示存储顺序的顺序号。

统计单元506,获取通过接收单元从所述服务存储节点接收包括缓冲存储段的数量和尺寸的响应消息,并对所述数据集合中每个数据项所归属的目标存储节点进行统计,以确定所述数据集合所涉及的多个目标存储节点;其中目标存储节点是存储了多个数据项的存储节点(当存储节点存储了所述数据集合中的数据项时,将存储节点确定为目标存储节点),即本申请的目标存储节点是至少存储了两个数据项的存储节点。每个数据集合对应于至少两个目标存储节点。

第二发送单元507,将包括所述数据集合中每个数据项的目录信息以及所述缓冲存储段的尺寸和数量的数据传输指示消息发送给多个目标存储节点中的每个目标存储节点;目录信息包括多个条目,每个条目包括数据项的名称和目标存储节点的标识。数据传输指示消息用于指示目标存储节点开始进行数据传输。

处理单元508,每个目标存储节点206-210根据目录信息确定自身所存储的并与数据传输相关联的多个数据项,确定多个数据项中每个数据项的尺寸并且基于每个数据项的尺寸计算每个目标存储节点206-210自身所存储的多个数据项的总尺寸。通常,每个数据项的尺寸进行求和以确定每个目标存储节点206-210自身所存储的多个数据项的总尺寸。

促使每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级别,其中传输级别的数量小于所述缓冲存储段的数量并且不同的传输级别用于指示向服务存储节点发送数据项时不同的传输顺序.如图3所示。图3为根据本发明实施方式的目标存储节点确定传输级别的示意图。传输级别包括传输顺序依次降低的至少三个传输级别,级别1、级别2和级别3。可替换地,三个传输级别可以分别被称为高传输级别、中传输级别和低传输级别。通常,每个目标存储节点302-306可以确定不同传输级别(例如,三个传输级别)的比例,并且根据所存储的多个数据项的数量和比例来确定每个传输级别所包括的数据项的数量。即,每个目标存储节点302-306内不同传输级别的数据项的比例是数量比例。此外,每个目标存储节点302-306均具有相同数量的传输级别。

举例来说,每个目标存储节点根据自身所存储的多个数据项的总尺寸和所述缓冲存储段的尺寸为每个数据项设置传输级包括:当所存储的多个数据项的总尺寸小于或等于所述缓冲存储段的尺寸时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为1:1:1;当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸并且小于或等于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.5:1:0.5;以及当所存储的多个数据项的总尺寸大于所述缓冲存储段的尺寸的2倍时,高传输级别的数据项、中传输级别的数据项和低传输级别的数据项的数量比例为0.25:1:0.25。

响应于每个目标存储节点为自身所存储的每个数据项设置传输级别的完成,为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。其中为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列包括:按照每个目标存储节点与服务存储节点的网络延迟的升序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最小,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最大;或者按照每个目标存储节点与服务存储节点的网络延迟的降序顺序为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列,其中环状传输队列队首的目标存储节点与服务存储节点的网络延迟最大,环状传输队列队尾的目标存储节点与服务存储节点的网络延迟最小;或者按照随机方式为多个目标存储节点设置向服务存储节点进行数据传输的传输顺序,以形成环状传输队列。

所述处理单元按照从数据项的最高传输级别到最低传输级别的降序顺序依次对每个传输级别的数据项进行传输:从环状传输队列中位于队首的目标存储节点开始到位于队尾的目标存储节点为止,按照环状传输队列的队列顺序依次将每个目标存储节点所存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;其中当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个,并且其中在当前的目标存储节点将当前传输级别的至少一个数据项全部传输到所述服务存储节点之后,促使环状传输队列中所述当前的目标存储节点的下一目标存储节点开始进行数据传输。

在所述环状传输队列中随机选择一个目标存储节点,例如,目标存储节点206,以作为位于队首的目标存储节点,将以位于队首的目标存储节点开始的顺时针方向作为所述环状传输队列的队列顺序,即目标存储节点206、207、208、209和210的顺序,将从位于队首的目标存储节点开始逆时针方向的相邻目标存储节点作为位于队尾的目标存储节点,例如,目标存储节点210。在所述环状传输队列中随机选择一个目标存储节点,以作为位于队首的目标存储节点例如,目标存储节点206,将以位于队首的目标存储节点开始的逆时针方向作为所述环状传输队列的队列顺序,即目标存储节点206、210、209、208和207的顺序,将从位于队首的目标存储节点开始顺时针方向的相邻目标存储节点作为位于队尾的目标存储节点,例如,目标存储节点207。

通常,传输级别包括传输顺序依次降低的至少三个传输级别。例如,传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。对于多个传输级别中除最低传输级别之外的任意传输级别,在任意传输级别的所有数据项全部被传输到服务存储节点205之后,开始进行比所述任意传输级别低一个级别的传输级别的数据项的传输;对于最低传输级别,例如第五传输级别,在最低传输级别的所有数据项全部被传输到服务存储节点205之后,任何目标存储节点不再向服务存储节点传输数据。

具体地,环状传输队列包括第一目标存储节点、第二目标存储节点、第三目标存储节点、第四目标存储节点和第五目标存储节点,其中第一目标存储节点是位于队首的目标存储节点并且第五目标存储节点是位于队尾的目标存储节点。传输级别包括:第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别。其中第一传输级别、第二传输级别、第三传输级别、第四传输级别和第五传输级别的传输顺序依次降低。

a1、将第一传输级别作为当前传输级别;a2、第一目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;a3、第二目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;a4、第三目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;a5、第四目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;以及a6、第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点;a7、在第五目标存储节点将存储的多个数据项中当前传输级别的至少一个数据项传输或全部传输到所述服务存储节点之后,确定当前传输级别是否为第五传输级别,如果是,则结束;如果否,则将下一传输级别作为当前传输级别,进行步骤a2。

最高传输级别是对数据项进行传输时的最高级别,并且最低传输级别是对数据项进行传输时的最低级别。当前传输级别是从最高传输级别到最低传输级别的多个传输级别中的一个包括:将多个传输级别中每个传输级别按照从最高传输级别到最低传输级别的降序顺序依次选择作为当前传输级别。

所述当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个,并且当前的目标存储节点是从位于队首的目标存储节点开始到位于队尾的目标存储节点为止的多个目标存储节点中的一个包括:将环状传输队列中多个目标传输节点中每个目标传输节点206-210按照从位于队首的目标存储节点206开始到位于队尾的目标存储节点200为止的队列顺序依次选择作为当前的目标传输节点,即依次序选择目标存储节点206、207、208、209和210。

在当前的目标存储节点是位于队尾的目标存储节点(例如,目标存储节点210)的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是位于队首的目标存储节点,即,目标存储节点206。在当前的目标存储节点不是位于队尾的目标存储节点(例如目标存储节点208)的情况下,环状传输队列中所述当前的目标存储节点的下一目标存储节点是环状传输队列中顺时针方向或逆时针方向的相邻节点,即目标存储节点209。

传输单元509,所述服务存储节点按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到当前顺序号的缓冲存储段中:在判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方,将所述当前接收的数据项存储到下一顺序号的缓冲存储段中,并且将所述下一顺序号作为当前顺序号;当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。

其中所述服务存储节点205按照数据项的接收时间将接收到的数据项按照缓冲存储段的顺序号保存到缓冲存储段包括:在多个缓冲存储段之间,所述服务存储节点按照缓冲存储段的顺序号选择所接收到的数据项进行缓存的缓冲存储段。在缓冲存储段内,所述服务存储节点按照数据项的接收时间将接收到的数据项缓存到缓冲存储段中。例如,在缓冲存储器包括11个缓冲存储段(顺序号为1、2、3、4、5、6、7、8、9、10、11)的情况下,服务存储节点205按照数据项的接收时间将接收到的数据项首先保存到顺序号为1的缓冲存储段中。当顺序号为1的缓冲存储段中的剩余空间无法容纳当前接收的数据项时,将顺序号为1的缓冲存储段中的所有数据项发送给数据请求方,并且将从(包括)当前接收的数据项开始,将所接收的数据项存储到顺序号为2的缓冲存储段中,以此类推。

所述当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个,并且当前顺序号是从缓冲存储段的最早顺序号到最末顺序号之间的一个包括:将多个顺序号中每个顺序号按照顺序号的顺序依次选择作为当前顺序号。

还包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间。包括确定如果将当前接收的数据项存储到当前顺序号的缓冲存储段后,不会导致当前顺序号的缓冲存储段的存储内容超出存储容量的情况下,判断当前顺序号的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间。例如,顺序号为1的缓冲存储段中的剩余空间为5m,当前接收的数据项的尺寸为6m,则判断当前顺序号1的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间。顺序号为1的缓冲存储段中的剩余空间为5m,当前接收的数据项的尺寸为3m,则判断当前顺序号1的缓冲存储段具有对当前接收的数据项进行存储的剩余存储空间,并且据此将当前接收的数据项保存到顺序号为1的缓冲存储段中并且继续判断是否可以容纳或存储下一个接收的数据项。

将所述当前顺序号的缓冲存储段中的所有数据项发送给数据请求方包括:将所述当前顺序号的缓冲存储段中的所有数据项封装成至少两个数据包,并且将所述至少两个数据包发送给数据请求方。其中下一顺序号的缓冲存储段是缓冲存储段的顺序号中与当前顺序号的缓冲存储段相邻并且顺序号为后一位的缓冲存储段;其中在缓冲存储段时最末顺序号的缓冲存储段的情况下,不存在下一顺序号的缓冲存储段。

在另一个实例中,缓冲存储器包括10个缓冲存储段,所述10个缓冲存储段的顺序号为1、2、3、4、5、6、7、8、9和10;b1、将顺序号为1的缓冲存储段作为当前顺序号的缓冲存储段:b2、服务存储节点按照数据项的接收时间将接收到的数据项保存到当前顺序号缓冲存储段中;b3、判断当前顺序号的缓冲存储段已经不具有对当前接收的数据项进行存储的剩余存储空间时,判断当前顺序号是否为10,如果是,则结束,否则将下一顺序号作为当前顺序号,进行步骤b2。当前顺序号的缓冲存储段是服务存储节点将所接收的数据项保存到其中的当前缓冲存储段。

当所述缓冲存储区中当前顺序号的缓冲存储段在预定时间内没有接收到数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方。例如是,当顺序号为9(当前顺序号)的缓冲存储段在预定时间(5分钟、10分钟、15分钟等)内没有接收到(来自任意目标存储节点的)数据项时,将所述当前顺序号的缓冲存储段的所有数据项发送给数据请求方,并且结束数据传输过程。

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