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

一种通道分配方法、装置、一种存储系统及设备和介质

文献发布时间:2023-06-19 18:37:28


一种通道分配方法、装置、一种存储系统及设备和介质

技术领域

本申请涉及计算机技术领域,更具体地说,涉及一种通道分配方法、装置、一种存储系统及一种电子设备和一种计算机可读存储介质。

背景技术

在大数据时代,对存储阵列可靠性提出更高要求,尤其对存储系统存储数据的高效性;大量的业务数据呈指数倍增加,这给存储设备的数据传输带来压力,当前的数据传输链路已升级到PCIE(高速串行计算机扩展总线,peripheral component interconnectexpress)5.0,传输过程中PCIE SWITCH(高速串行计算机扩展总线交换设备)的工作交换效率影响着数据传输效率;但传统的PCIE SWITCH数据传输中会不考虑内部结构,仅根据SWITCH芯片的外部引脚进行通道分配,且工作过程中不会考虑通道动态分配等操作,这直接导致了PCIE SWITCH的数据传输、交换速率降低。

因此,如何调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升存储效率是本领域技术人员需要解决的技术问题。

发明内容

本申请的目的在于提供一种通道分配方法、装置、一种存储系统及一种电子设备和一种计算机可读存储介质,通过调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升了存储效率。

为实现上述目的,本申请提供了一种通道分配方法,应用于交换设备,所述方法包括:

确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;

获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

其中,所述确定当前时间段需要传输的目标传输数据之前,还包括:

将需要传输的数据划分为多个数据片段;其中,每个所述数据片段对应一个时间段。

其中,所述将需要传输的数据划分为多个数据片段之后,还包括:

对每个所述数据片段的起始位和终止位进行标记。

其中,所述确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道,包括:

确定当前时间段需要传输的目标数据片段;

当检测到所述目标数据片段的起始位时,为所述目标数据片段分配传输通道。

其中,所述基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,包括:

若所述输入通道数量小于所述输出通道数量,则根据所述处理器的数据处理状态对所述输入通道和所述输出通道进行调整。

其中,所述根据所述处理器的数据处理状态对所述输入通道和所述输出通道进行调整,包括:

若所述处理器处于忙碌状态,则减少所述第二输出通道的数量。

其中,所述根据所述处理器的数据处理状态对所述输入通道和所述输出通道进行调整,包括:

若所述处理器处于空闲状态,则增加所述第二输出通道的数量。

其中,所述增加所述第二输出通道的数量之后,还包括:

增加所述第一输入通道的数量。

其中,所述基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,包括:

若所述输入通道数量大于所述输出通道数量,则增加所述第一输出通道的数量。

其中,所述增加所述第一输出通道的数量之后,还包括:

在所述存储设备的剩余存储资源中创建第一独立片区,将增加的第一输出通道映射至所述第一独立片区中;

当所述当前时间段对应的目标传输片段传输完成后,将所述第一独立片区中的数据整合至总存储资源中。

其中,所述基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整之后,还包括:

对所述交换设备中各栈区间的传输通道进行调整,以使各栈区间的传输数据量均衡。

其中,对所述交换设备中各栈区间的传输通道进行调整,包括:

计算所述交换设备中各栈区间的输入通道平均值和输出通道平均值;

基于所述输入通道平均值对各栈区间的输入通道进行调整,基于所述输出通道平均值对各栈区间的输出通道进行调整。

其中,对所述交换设备中各栈区间的传输通道进行调整,包括:

获取所述交换设备中各栈区间的空闲通道数量;

若所述空闲通道数量大于预设值,则减少对应的栈区间的传输通道;

若所述空闲通道数量小于所述预设值,则增加对应的栈区间的传输通道。

其中,所述对所述交换设备中各栈区间的传输通道进行调整之后,还包括:

在所述存储设备的剩余存储资源中创建第二独立片区,将各栈区间经过调整的传输通道映射至所述第二独立片区中;

当所述当前时间段对应的目标传输片段传输完成后,将所述第二独立片区中的数据整合至总存储资源中。

为实现上述目的,本申请提供了一种通道分配装置,应用于交换设备,所述装置包括:

分配模块,用于确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;

第一调整模块,用于获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述通道分配方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述通道分配方法的步骤。

为实现上述目的,本申请提供了一种存储系统,包括服务器、交换机、交换设备、处理器和存储设备;

所述服务器通过所述交换机与所述交换设备的第一目标栈区间连接,所述第一目标栈区间的输入通道与所述交换机全部连接,所述第一目标栈区间的一部分输出通道与所述交换机连接,所述第一目标栈区间的另一部分输出通道与所述存储设备连接;

所述存储设备与所述交换设备的第二目标栈区间连接,所述第二目标栈区间的输出通道与所述存储设备全部连接,所述第二目标栈区间的一部分输入通道与所述存储设备连接,所述第二目标栈区间的另一部分输入通道与所述交换机连接;

所述服务器,用于通过所述交换机向所述交换设备发送数据;

所述交换设备,用于将所述数据发送至所述处理器;

所述处理器,用于对所述数据进行处理,并将处理后的数据返回至所述交换设备;

所述交换设备,还用于将处理后的数据发送至所述存储设备进行存储;

所述处理器,还用于确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配输入通道和输出通道,基于当前时间段的输入通道数量和输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

其中,所述交换设备中各栈区间的输入通道总数和输出通道总数相等。

其中,所述处理器的输入通道数量和输出通道数量相等。

通过以上方案可知,本申请提供的一种通道分配方法,包括:确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

本申请提供的通道分配方法,根据当前时间段传输数据的情况对通道输入与输出数量进行调整,调整后尽可能保证输入与输出通道数量相同,这样可以保证最大的交换传输速率。由此可见,本申请通过调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升了存储效率。

本申请还公开了一种通道分配装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种存储系统结构图;

图2为根据一示例性实施例示出的一种PCIE SWITCH通道分配示意图;

图3为根据一示例性实施例示出的一种通道分配方法的流程图;

图4为根据一示例性实施例示出的另一种通道分配方法的流程图;

图5为根据一示例性实施例示出的另一种存储系统结构图;

图6为根据一示例性实施例示出的一种上层优化流程图;

图7为根据一示例性实施例示出的一种下层优化流程图;

图8为根据一示例性实施例示出的一种通道分配装置的结构图;

图9为根据一示例性实施例示出的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本实施例提供了一种存储系统,参见图1,根据一示例性实施例示出的一种存储系统结构图,如图1所示,包括服务器10、交换机20、交换设备30、处理器40和存储设备50;

所述服务器10通过所述交换机20与所述交换设备30的第一目标栈区间连接,所述第一目标栈区间的输入通道与所述交换机20全部连接,所述第一目标栈区间的一部分输出通道与所述交换机20连接,所述第一目标栈区间的另一部分输出通道与所述存储设备50连接;

所述存储设备50与所述交换设备30的第二目标栈区间连接,所述第二目标栈区间的输出通道与所述存储设备50全部连接,所述第二目标栈区间的一部分输入通道与所述存储设备50连接,所述第二目标栈区间的另一部分输入通道与所述交换机20连接;

所述服务器10,用于通过所述交换机20向所述交换设备30发送数据;

所述交换设备30,用于将所述数据发送至所述处理器40;

所述处理器40,用于对所述数据进行处理,并将处理后的数据返回至所述交换设备30;

所述交换设备30,还用于将处理后的数据发送至所述存储设备50进行存储;

所述处理器40,还用于确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配输入通道和输出通道,基于当前时间段的输入通道数量和输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

在本实施例中,硬件上的拓扑结构面向于“服务器+交换机+存储”级联结构,本实施例中的交换设备可以具体为PCIE SWITCH,与交换设备相连接的单元包含三部分,第一部分为存储主板上的PCIE SWITCH通过FC卡(光纤网卡, Fibre Channel HBA)的光纤传输与交换机相连接,服务器端处理的数据通过交换机与后端存储相连,PCIE SWITCH芯片以读交换机传输的数据为主。第二部分为 PCIE SWITCH与CPU(Central Processing unit,中央处理器)之间通过PCIE 通道进行的连接,这种PCIE 传输通道以双向连接为主,PCIE SWITCH将前端数据写入CPU中,CPU经过一系列数据处理操作后,将处理数据传输至PCIE SWITCH进行落盘处理。第三部分为PCIE SWITCH与后端的存储设备之间的PCIE通道连接,存储设备可以具体为NVME(非易失性内存主机控制器接口规范,Non Volatile Memory HostController Interface Specification)型SSD,将处理后的数据写入后端的SSD盘中,此时的PCIE SWITCH以写数据为主。

根据上述分析,PCIE SWITCH与交换机之前的数据传输以读数据为主,与SSD之间的数据传输以写为主,因此,本实施例将PCIE SWITCH芯片上的通道按需进行物理层上的分配。在传统的PCIE SWITCH分配中,芯片的每个STACK(栈)都保持输入通道与输出通道的对称,即假设有8条x2的PCIE通道从交换机输入PCIE SWITCH的一个STACK中,就对应额外有8条x2的PCIE通道从该STACK连接到交换机中,芯片中各个STACK的通道均是如此分配以保证物理层传输平衡。

在考虑PCIE SWITCH 芯片内部的STACK结构,以及级联结构中前端读数据后端写数据的工作特性后,在芯片内部的各STACK中输入的数据可以互相交换,从一个STACK中的处理数据可以在任意STACK中进行输出,因此通道分配过程中,假设交互机中的数据写入第一目标栈区间中,将第一目标栈区间中的输入通道全部连接,而第一目标栈区间中的输出通道仅选取x2或x4通道来与交换机进行连接,因为大部分工作状态下以PCIE SWITCH中读取数据为主;对于第一目标栈区间中的剩余通道留给存储设备,将剩余的输出通道与存储设备的相连接,因为存储设备以从PCIE SWITCH中读取数据为主,同样,在其余的STACK中把与存储设备相连主要进行数据写入的第二目标栈区间同样按此分配,将第二目标栈区间中的输出通道全部与存储设备相级联,将输入通道仅选取x2或x4与SSD相级联,其余的输入通道留给交换机端。

作为一种优选实施方式,所述交换设备中各栈区间的输入通道总数和输出通道总数相等。在具体实施中,保持各STACK整体上通道输入与输出的均衡,例如,当选择x2通道作为交互机的写入通道时,也要再另一个STACK上选择x2通道作为存储设备的读取通道。

作为一种优选实施方式,所述处理器的输入通道数量和输出通道数量相等。在具体实施中,交换设备与处理器之间的级联保持之间的对称级联,使得写入与写出的数据较为均衡。

举例说明,参见图2,根据一示例性实施例示出的一种PCIE SWITCH通道分配示意图,交互机中的数据写入STACK2中,因此将STACK2中的输入通道全部连接,而STACK2中的输出通道仅选取x2或x4通道来与交换机进行连接,因为大部分工作状态下以PCIE SWITCH中读取数据为主.对于STACK2中的剩余通道留给SSD单元,将剩余的输出通道与SSD单元的相连接,因为SSD以从PCIE SWITCH中读取数据为主,同样,在其余的STACK中把与SSD相连主要进行数据写入的STACK同样按此分配,将STACK中的输出通道全部与SSD相级联,将输入通道仅选取x2或x4与SSD相级联,其余的输入通道留给交换机端。在设计过程中注意,要保持各STACK整体上通道输入与输出的均衡,当选择x2通道作为交互机的写入通道时,也要再另一个STACK1上选择x2通道作为SSD的读取通道。此外,PCIE SWITCH与CPU之间的级联保持之间的对称级联,因为写入与写出的数据较为均衡。

由此可见,本实施例在硬件上提供了PCIE 通道分配的实现方法,根据数据传输的情况、根据内部STACK结构特性,重新对PCIE SWITCH上的数据通道进行分配,分配后的各STACK整体上通道输入与输出的均衡,PCIE SWITCH能够最大程度在存储中发挥数据传输能力。

本申请实施例公开了一种通道分配方法,通过调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升了存储效率。

参见图3,根据一示例性实施例示出的一种通道分配方法的流程图,如图3所示,包括:

S101:确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;

作为一种可行的实施方式,所述确定当前时间段需要传输的目标传输数据之前,还包括:将需要传输的数据划分为多个数据片段;其中,每个所述数据片段对应一个时间段。在具体实施中,首先确定时间段与当前时段的传输资源,按数据传输需求将数据分为n个部分并对应n个不同的时间段。

进一步的,对每个所述数据片段的起始位和终止位进行标记。确定当前时间段需要传输的目标数据片段;当检测到所述目标数据片段的起始位时,为所述目标数据片段分配传输通道。

在具体实施中,当PCIE SWITCH检测到数据的起始位后记录数据传输开始。传输过程中,先对通道进行初始分配,PCIE SWITCH会根据该时间段内数据传输情况自动分配通道完成数据传输。分配的传输通道包括输入通道和输出通道,输入通道包括从交换机输入交换设备的第一输入通道、从处理器输入交换设备的第二输入通道,输出通道包括交换设备输出至存储设备的第一输出通道、交换设备输出至处理器的第二输出通道。

S102:获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

在具体实施中,初始分配完成后将分配过程中的输入输出通道信息、以及各通道与CPU、SSD间的数据传输状态信息统一汇总至CPU单元搭载的大系统中。CPU接收到当前的数据传输状态以及传输通道情况后,优先进行判断并根据情况制定相应调整策略,以传输过程中的正在输入与输出数据的通道数相等为优化目标。

作为一种可行的实施方式,所述基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,包括:若所述输入通道数量小于所述输出通道数量,则根据所述处理器的数据处理状态对所述输入通道和所述输出通道进行调整。在具体实施中,当监测到当前正在向PCIE SWITCH写入数据的通道数小于输出通道数情况时,优先分析此时CPU内部的数据处理情况。

若所述处理器处于忙碌状态,则减少所述第二输出通道的数量。在具体实施中,若CPU处理数据已处于忙碌状态,则减少PCIE SWITCH向CPU写入数据的通道数,这样能够维持PCIE SWITCH处理数据通道均衡的同时,保证CPU不会过载运行。

若所述处理器处于空闲状态,则增加所述第二输出通道的数量。在具体实施中,若CPU处理数据处于空闲状态,则在调整CPU数据处理通道的同时,增加PCIE SWITCH与交换机之间的数据通道,也即增加所述第一输入通道的数量。

作为一种可行的实施方式,所述基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,包括:若所述输入通道数量大于所述输出通道数量,则增加所述第一输出通道的数量。优选的,所述增加所述第一输出通道的数量之后,还包括:在所述存储设备的剩余存储资源中创建第一独立片区,将增加的第一输出通道映射至所述第一独立片区中;当所述当前时间段对应的目标传输片段传输完成后,将所述第一独立片区中的数据整合至总存储资源中。

在具体实施中,当监测到当前向PCIE SWITCH中写入数据的通道数大于输出通道时,优先对后端SSD盘的数据存储状态进行分析,将存储设备的剩余存储资源中提出一个独立片区,增加相应数据传输通道并将新增的传输通道映射到该独立片区上,带该时段的数据传输结束后,该新增存储片区整合到总存储资源中。

本申请实施例提供的通道分配方法,根据当前时间段传输数据的情况对通道输入与输出数量进行调整,调整后尽可能保证输入与输出通道数量相同,这样可以保证最大的交换传输速率。由此可见,本申请实施例通过调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升了存储效率。

本申请实施例公开了一种通道分配方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图4,根据一示例性实施例示出的另一种通道分配方法的流程图,如图4所示,包括:

S201:确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;

S202:获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等;

S203:对所述交换设备中各栈区间的传输通道进行调整,以使各栈区间的传输数据量均衡。

在具体实施中,确定好此时PCIE SWITCH的输入输出能力已达到均衡后再优化内部STACK情况,优化目标为PCIE SWITCH中各STACK工作区的工作能力均衡,以保证PCIESWITCH发挥最大的工作效率。

作为一种可行的实施方式,对所述交换设备中各栈区间的传输通道进行调整,包括:计算所述交换设备中各栈区间的输入通道平均值和输出通道平均值;基于所述输入通道平均值对各栈区间的输入通道进行调整,基于所述输出通道平均值对各栈区间的输出通道进行调整。

在具体实施中,PCIE SWITCH首先统计此时各STACK区间中输入与输出的通道工作情况,并将此量化给处理器作为优化的输入参数,如STACK1中共包含通道n条,此时正在进行数据入手的通道为m条,正在进行数据输出的通道为j条,此时的空闲通道为k条;处理器根据输入参数中各STACK中的通道情况,处理器首先计算出当前参与工作的输入通道总数、输出通道总数,并按照STACK数将当前输入输出通道分别求取均值可以得到一个初步的通道调整结果,各STACK按此调整。

作为一种优选实施方式,对所述交换设备中各栈区间的传输通道进行调整,包括:获取所述交换设备中各栈区间的空闲通道数量;若所述空闲通道数量大于预设值,则减少对应的栈区间的传输通道;若所述空闲通道数量小于所述预设值,则增加对应的栈区间的传输通道。

在具体实施中,考虑此时各STACK工作区的实际工作情况给出各STACK的通道调整结果,将该时段各STACK按空闲通道k值进行排序,在初始调整结果基础上给空闲通道多的STACK少分配1~2条通道,给空闲通道少的STACK多分配1~2条通道,最终保持动态均衡。

进一步的,所述对所述交换设备中各栈区间的传输通道进行调整之后,还包括:在所述存储设备的剩余存储资源中创建第二独立片区,将各栈区间经过调整的传输通道映射至所述第二独立片区中;当所述当前时间段对应的目标传输片段传输完成后,将所述第二独立片区中的数据整合至总存储资源中。

在具体实施中,在存储设备中创建第二独立片区,根据给出的通道调整结果,将调整后的输入输出通道情况映射到创建第二独立片区中,在该时段结束将该存储空间的数据整合到总存储空间中。

由此可见,本实施例提供了上下两层的传输通道调整方式,上层优化以传输过程中的正在输入与输出数据的通道数相等为优化目标,在初始分配的基础上,根据处理器的工作状态、以及后端存储设备的资源占用情况进行调整,最终保证PCIE SWITCH在当前时段输入输出数据相等,发挥最大性能。下层优化的优化目标为PCIE SWITCH中各STACK工作区的工作能力均衡,在上层优化的基础上进行两次STACK间的通道调整,第一次是从通道数量上保证各STACK中输入输出均衡,第二次是根据当前STACK的工作状态进行通道调整,从而保证PCIE SWITCH发挥最大的工作效率。

下面介绍本申请提供的一种应用实施例,硬件上的拓扑结构面向于“服务器+交换机+存储”级联结构,具体拓扑结构图如图5所示。图中与PCIE SWITCH芯片相连接的单元包含三部分,第一部分为存储主板上的PCIE SWITCH通过FC卡的光纤传输与交换机相连接,服务器端处理的数据通过交换机与后端存储相连,PCIE SWITCH芯片以读交换机传输的数据为主;第二部分为 PCIE SWITCH与CPU之间通过PCIE 通道进行的连接,这种PCIE 传输通道以双向连接为主,PCIE SWITCH将前端数据写入CPU中,CPU经过一系列数据处理操作后,将处理数据传输至PCIE SWITCH进行落盘处理;第三部分为PCIE SWITCH与后端NVME型SSD之间的PCIE通道连接,将处理后的数据写入后端的SSD盘中,此时的PCIE SWITCH以写数据为主。

软件上的动态存储路径规划算法包含上下两层,上层以传输过程中的正在输入与输出数据的通道数相等为优化目标,下层优化在上层优化的基础上以各STACK之间的传输数据工作量之间均衡为优化目标。上层优化流程图如图6所示,首先确定时间段与当前时段的传输资源,按数据传输需求将数据分为n个部分并对应n个不同的时间段,并对每一段传输数据的起始与终止位在系统中提前做标记,当PCIE SWITCH检测到数据的起始位后记录数据传输开始;传输过程中,先对通道进行初始分配,PCIE SWITCH会根据该时间段内数据传输情况自动分配通道完成数据传输,初始分配完成后将分配过程中的输入输出通道信息、以及各通道与CPU、SSD间的数据传输状态信息统一汇总至CPU单元搭载的大系统中;CPU接收到当前的数据传输状态以及传输通道情况后,优先进行判断并根据情况制定相应调整策略,当监测到当前正在向PCIE SWITCH写入数据的通道数小于输出通道数情况时,优先分析此时CPU内部的数据处理情况,若CPU处理数据已处于忙碌状态,则减少PCIE SWITCH向CPU写入数据的通道数,这样能够维持PCIE SWITCH处理数据通道均衡的同时,保证CPU不会过载运行;若CPU处理数据处于空闲状态,则在调整CPU数据处理通道的同时,增加PCIESWITCH与交换机之间的数据通道;当监测到当前向PCIE SWITCH中写入数据的通道数大于输出通道时,优先对后端SSD盘的数据存储状态进行分析,将SSD盘的剩余存储资源中提出一个独立片区,增加相应数据传输通道并将新增的传输通道映射到该独立片区上,带该时段的数据传输结束后,该新增存储片区整合到总存储资源中。

下层优化流程图如图7所示,优化目标为PCIE SWITCH中各STACK工作区的工作能力均衡,以保证PCIE SWITCH发挥最大的工作效率。下层优化首先的输入条件是接收到上层优化完成的指令,确定好此时PCIE SWITCH的输入输出能力已达到均衡后再优化内部STACK情况;收到完成指令后,PCIE SWITCH首先统计此时各STACK区间中输入与输出的通道工作情况,并将此量化给CPU大系统作为优化的输入参数,如STACK1中共包含通道n条,此时正在进行数据入手的通道为m条,正在进行数据输出的通道为j条,此时的空闲通道为k条;CPU单元根据输入参数中各STACK中的通道情况,CPU首先计算出当前参与工作的输入/输出通道总数,并按照STACK数将当前输入输出通道分别求取均值可以得到一个初步的通道调整结果,各STACK按此调整;考虑此时各STACK工作区的实际工作情况给出各STACK的通道调整结果,将该时段各STACK按空闲通道k值进行排序,在初始调整结果基础上给空闲通道多的STACK少分配1~2条通道,给空闲通道少的STACK多分配1~2条通道,最终保持动态均衡;在SSD磁盘阵列中重新分配一个存储空间,根据给出的通道调整结果,将调整后的输入输出通道情况映射到SSD新分配的存储空间中,在该时段结束将该存储空间的数据整合到总存储空间中。

本实施例在考虑PCIE SWITCH 芯片内部的STACK结构,以及级联结构中前端读数据后端写数据的工作特性后,给出了一种双层优化的数据传输动态规划方法,该算法以运行时间为尺度,第一层优化为当前时刻数据传输的通道输入与输出数,根据当前时刻传输数据的情况对通道输入与输出数量进行调整,调整后尽可能保证输入与输出通道数量相同,这样可以保证最大的交换传输速率、第二层优化在第一层优化基础上调整PCIE SWITCH内部各STACK中的通道传输情况,优化保证各STACK中的工作情况保持均衡,从而进一步提升PCIE SWITCH的数据传输速率。通过这种硬件与软件算法上的存储路径规划调整,保证各时间状态下PCIE SWITCH均能工作的最优数据传输状态,提升了存储工作效率。

下面对本申请实施例提供的一种通道分配装置进行介绍,下文描述的一种通道分配装置与上文描述的一种通道分配方法可以相互参照。

参见图8,根据一示例性实施例示出的一种通道分配装置的结构图,如图8所示,包括:

分配模块801,用于确定当前时间段需要传输的目标数据片段,并为所述目标数据片段分配传输通道;其中,所述传输通道包括输入通道和输出通道,所述输入通道包括从交换机输入的第一输入通道和从处理器输入的第二输入通道,所述输出通道包括输出至存储设备的第一输出通道和输出至处理器的第二输出通道;

第一调整模块802,用于获取当前时间段的输入通道数量和输出通道数量,基于所述输入通道数量和所述输出通道数量对所述输入通道和所述输出通道进行调整,以使所述输入通道数量和所述输出通道数量相等。

本申请实施例提供的通道分配装置,根据当前时间段传输数据的情况对通道输入与输出数量进行调整,调整后尽可能保证输入与输出通道数量相同,这样可以保证最大的交换传输速率。由此可见,本申请实施例通过调整交换设备的传输通道,保证各时间状态下交换设备均能工作在最优数据传输状态,提升了存储效率。

在上述实施例的基础上,作为一种优选实施方式,还包括:

划分模块,用于将需要传输的数据划分为多个数据片段;其中,每个所述数据片段对应一个时间段。

在上述实施例的基础上,作为一种优选实施方式,还包括:

标记模块,用于对每个所述数据片段的起始位和终止位进行标记。

在上述实施例的基础上,作为一种优选实施方式,所述分配模块801具体用于:确定当前时间段需要传输的目标数据片段;当检测到所述目标数据片段的起始位时,为所述目标数据片段分配传输通道。

在上述实施例的基础上,作为一种优选实施方式,所述第一调整模块802包括:

第一调整单元,用于当所述输入通道数量小于所述输出通道数量时,根据所述处理器的数据处理状态对所述输入通道和所述输出通道进行调整。

在上述实施例的基础上,作为一种优选实施方式,所述第一调整单元具体用于:若所述处理器处于忙碌状态,则减少所述第二输出通道的数量;若所述处理器处于空闲状态,则增加所述第二输出通道的数量。

在上述实施例的基础上,作为一种优选实施方式,所述第一调整单元具体用于:若所述处理器处于忙碌状态,则减少所述第二输出通道的数量;若所述处理器处于空闲状态,则增加所述第二输出通道的数量,增加所述第一输入通道的数量。

在上述实施例的基础上,作为一种优选实施方式,所述第一调整模块802包括:

第二调整单元,用于当所述输入通道数量大于所述输出通道数量时,增加所述第一输出通道的数量。

在上述实施例的基础上,作为一种优选实施方式,所述第二调整单元具体用于:当所述输入通道数量大于所述输出通道数量时,增加所述第一输出通道的数量;在所述存储设备的剩余存储资源中创建第一独立片区,将增加的第一输出通道映射至所述第一独立片区中;当所述当前时间段对应的目标传输片段传输完成后,将所述第一独立片区中的数据整合至总存储资源中。

在上述实施例的基础上,作为一种优选实施方式,还包括:

第二调整模块,用于对所述交换设备中各栈区间的传输通道进行调整,以使各栈区间的传输数据量均衡。

在上述实施例的基础上,作为一种优选实施方式,所述第二调整模块包括:

第三调整单元,用于计算所述交换设备中各栈区间的输入通道平均值和输出通道平均值;基于所述输入通道平均值对各栈区间的输入通道进行调整,基于所述输出通道平均值对各栈区间的输出通道进行调整。

在上述实施例的基础上,作为一种优选实施方式,所述第二调整模块包括:

第四调整单元,用于获取所述交换设备中各栈区间的空闲通道数量;若所述空闲通道数量大于预设值,则减少对应的栈区间的传输通道;若所述空闲通道数量小于所述预设值,则增加对应的栈区间的传输通道。

在上述实施例的基础上,作为一种优选实施方式,所述第二调整模块具体用于:对所述交换设备中各栈区间的传输通道进行调整,以使各栈区间的传输数据量均衡;在所述存储设备的剩余存储资源中创建第二独立片区,将各栈区间经过调整的传输通道映射至所述第二独立片区中;当所述当前时间段对应的目标传输片段传输完成后,将所述第二独立片区中的数据整合至总存储资源中。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图9为根据一示例性实施例示出的一种电子设备的结构图,如图9所示,电子设备包括:

通信接口1,能够与其它设备比如网络设备等进行信息交互;

处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的通道分配方法。而所述计算机程序存储在存储器3上。

当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统4。

本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。

可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。

上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。

处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、CD-ROM等存储器。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

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

技术分类

06120115632930