本发明涉及通信技术领域,尤其涉及一种数据链路管理方法及装置。
背景技术:
随着通信技术的发展,数据中心的规模越来越大,数据中心的耗电量也越来也多,而数据中心百分之一的功耗降低都会节约大量的电能,因此,关于如何降低数据中心的功耗的研究也越来越热门。在数据中心的功耗中,相当一部分的功耗来自于服务器闲置时带来的空闲功耗,空闲功耗中又有很大比例的功耗由服务器之间的空闲的数据链路产生。
目前,在基于PCIe(PCI-Express,总线接口)协议的电源管理方案中,当数据链路繁忙(即频繁的通过该数据链路发送数据)时,数据链路处于L0状态,此时,数据链路上可以传输数据。当PCIe设备发现与另一PCIe设备之间的某条数据链路在预设时间段内不传输数据时,可以通过改变该条数据链路对应的电源管理状态机的状态使得该数据链路进入低功耗状态,处于低功耗状态的数据链路上不可以传输数据。当PCIe设备接收到向另一PCIe设备发送的数据时,会逐步的唤醒电源管理状态机的状态使得该数据链路由低功耗状态进入L0状态。
上述降低数据链路的功耗的方法中,当PCIe设备每隔较长时间才接收到一次向另一PCIe设备发送的数据时,例如,每间隔1秒PCIe设备才接收到一个向另一PCIe设备发送的数据,那么传输该数据的数据链路的状态会频繁的在L0状态与低功耗状态之间切换,导致数据中心的节能效果较差。
技术实现要素:
本发明的实施例提供一种数据链路管理方法及装置,用以提高数据中心的节能效果。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据链路管理方法,包括:
第一节点获取与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率;其中,N≥2,N为整数;
当所述N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时,所述第一节点向所述第二节点发送链路关闭请求消息;其中,所述链路关闭请求消息包括所述第一节点向所述第二节点请求关闭的所述M条数据链路中的X条数据链路的信息;2≤M≤N,1≤X≤M,M、X均为整数;
所述第一节点接收所述第二节点发送的链路关闭响应消息,所述链路关闭响应消息包括所述第二节点确定关闭的m条数据链路的信息;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
所述第一节点根据所述链路关闭响应消息关闭所述m条数据链路。
结合第一方面,在第一种可能的实现方式中,在所述第一节点接收所述第二节点发送的链路关闭响应消息之后,所述方法还包括:
所述第一节点根据所述m条数据链路的信息更新网络节点连通表,所述网络节点连通表包括有所述第一节点与所述第二节点连通的数据链路的信息;
所述第一节点根据更新后的所述网络节点连通表更新路由表,以使得所述第一节点根据更新后的所述路由表与所述第二节点传输数据。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述第一节点向所述第二节点发送链路关闭请求消息之前,所述方法还包括:
所述第一节点预留至少一条所述M条数据链路中的、且网络延时小于预设延时的数据链路,所述X条数据链路为所述M条数据链路中的除预留的数据链路之外的数据链路;或者,
所述第一节点向所述第二节点发送数据链路预留消息,用于请求所述第二节点预留至少一条K条数据链路中的、且网络延时小于预设延时的数据链路,所述X条数据链路为所述M条数据链路;其中,所述K条数据链路为所述第二节点确定的所述X条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;2≤K≤X;K为整数。
结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在所述第一节点根据所述链路关闭响应消息关闭所述m条数据链路之后,所述方法还包括:
当所述第一节点在预设时间段内接收到第二预设数据量的向所述第二节点发送的数据时,所述第一节点开启所述m条数据链路中的至少一条数据链路;
所述第一节点向所述第二节点发送链路开启通知消息,通知所述第二节点开启所述至少一条数据链路;其中,所述链路开启通知消息包括所述至少一条数据链路的信息。
结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,在所述第一节点根据所述链路关闭响应消息关闭所述m条数据链路之后,所述方法还包括:
所述第一节点接收所述第二节点发送的链路开启通知消息;其中,所述链路开启通知消息包括所述第二节点通知开启的所述m条数据链路中的至少一条数据链路的信息;
所述第一节点根据所述链路开启通知消息开启所述至少一条数据链路。
第二方面,提供一种数据链路管理方法,包括:
第二节点接收第一节点发送的链路关闭请求消息;其中,所述链路关闭请求消息包括所述第一节点向所述第二节点请求关闭的M条数 据链路中的X条数据链路的信息;所述M条数据链路为所述第一节点确定的与所述第二节点连通的N条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;1≤X≤M,2≤M≤N,N、M、X均为整数;
所述第二节点根据所述链路关闭请求消息确定关闭X条数据链路中的m条数据链路;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
所述第二节点根据所述m条数据链路的信息生成链路关闭响应消息并向所述第一节点发送所述链路关闭响应消息,以使得所述第一节点根据所述链路关闭响应消息关闭所述m条数据链路;
所述第二节点关闭所述m条数据链路。
结合第二方面,在第一种可能的实现方式中,在所述第二节点根据所述链路关闭请求消息确定关闭X条数据链路中的m条数据链路之后,所述方法还包括:
所述第二节点根据所述m条数据链路的信息更新网络节点连通表,所述网络节点连通表包括有所述第二节点与所述第一节点连通的数据链路的信息;
所述第二节点根据更新后的所述网络节点连通表更新路由表,以使得所述第二节点根据更新后的所述路由表与所述第一节点传输数据。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二节点根据所述链路关闭请求消息确定关闭X条数据链路中的m条数据链路,包括:
所述第二节点统计所述X条数据链路的待发送数据量和/或带宽利用率,若所述X条数据链路中的m条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,确定关闭所述m条数据链路;
或者,
所述第二节点接收所述第一节点发送的数据链路预留消息;所述 第二节点统计所述X条数据链路的待发送数据量和/或带宽利用率,若所述X条数据链路中的K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,预留至少一条所述K条数据链路中的网络延时小于预设延时的数据链路,确定关闭所述K条数据链路中的除预留的数据链路之外的m条数据链路;2≤K≤X,K为整数。
结合第二方面、第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在所述第二节点关闭所述m条数据链路之后,所述方法还包括:
所述第二节点接收所述第一节点发送的链路开启通知消息;其中,所述链路开启通知消息中包括所述第一节点通知开启的所述m条数据链路中的至少一条数据链路的信息;
所述第二节点根据所述链路开启通知消息开启所述至少一条数据链路。
结合第二方面、第二方面的第一种可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,在所述第二节点关闭所述m条数据链路之后,所述方法还包括:
当所述第二节点在预设时间段内接收到第二预设数据量的向所述第一节点发送的数据时,所述第二节点开启所述m条数据链路中的至少一条数据链路;
所述第二节点向所述第一节点发送链路开启通知消息,通知所述第一节点开启所述至少一条数据链路;其中,所述链路开启通知消息包括所述至少一条数据链路的信息。
第三方面,提供一种第一节点,包括:
获取单元,用于获取与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率;其中,N≥2,N为整数;
发送单元,用于当所述N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时,向所述第二节点发送链路关闭请求消息;其中,所述链路关闭请求消 息包括所述第一节点向所述第二节点请求关闭的所述M条数据链路中的X条数据链路的信息;2≤M≤N,1≤X≤M,M、X均为整数;
接收单元,用于接收所述第二节点发送的链路关闭响应消息,所述链路关闭响应消息包括所述第二节点确定关闭的m条数据链路的信息;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
执行单元,用于根据所述链路关闭响应消息关闭所述m条数据链路。
结合第三方面,在第一种可能的实现方式中,所述第一节点还包括:
第一更新单元,用于根据所述m条数据链路的信息更新网络节点连通表,所述网络节点连通表包括有所述第一节点与所述第二节点连通的数据链路的信息;
第二更新单元,用于根据更新后的所述网络节点连通表更新路由表,以使得所述第一节点根据更新后的所述路由表与所述第二节点传输数据。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一节点还包括预留单元,所述预留单元用于预留至少一条所述M条数据链路中的、且网络延时小于预设延时的数据链路,所述X条数据链路为所述M条数据链路中的除预留的数据链路之外的数据链路;或者,
所述发送单元,还用于向所述第二节点发送数据链路预留消息,用于请求所述第二节点预留至少一条K条数据链路中的、且网络延时小于预设延时的数据链路,所述X条数据链路为所述M条数据链路;其中,所述K条数据链路为所述第二节点确定的所述X条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;2≤K≤X;K为整数。
结合第三方面、第三方面的第一种可能的实现方式或第二种可能 的实现方式,在第三种可能的实现方式中,
所述执行单元,还用于当所述第一节点在预设时间段内接收到第二预设数据量的向所述第二节点发送的数据时,开启所述m条数据链路中的至少一条数据链路;
所述发送单元,还用于向所述第二节点发送链路开启通知消息,通知所述第二节点开启所述至少一条数据链路;其中,所述链路开启通知消息包括所述至少一条数据链路的信息。
结合第三方面、第三方面的第一种可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,
所述接收单元,还用于接收所述第二节点发送的链路开启通知消息;其中,所述链路开启通知消息包括所述第二节点通知开启的所述m条数据链路中的至少一条数据链路的信息;
所述执行单元,还用于根据所述链路开启通知消息开启所述至少一条数据链路。
第四方面,提供一种第二节点,包括:
接收单元,用于接收第一节点发送的链路关闭请求消息;其中,所述链路关闭请求消息包括所述第一节点向所述第二节点请求关闭的M条数据链路中的X条数据链路的信息;所述M条数据链路为所述第一节点确定的与所述第二节点连通的N条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;1≤X≤M,2≤M≤N,N、M、X均为整数;
确定单元,用于根据所述链路关闭请求消息确定关闭X条数据链路中的m条数据链路;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
生成单元,用于根据所述m条数据链路的信息生成链路关闭响应消息;
发送单元,用于向所述第一节点发送所述链路关闭响应消息,以使得所述第一节点根据所述链路关闭响应消息关闭所述m条数据链路;
执行单元,用于关闭所述m条数据链路。
结合第四方面,在第一种可能的实现方式中,所述第二节点还包括:
第一更新单元,用于根据所述m条数据链路的信息更新网络节点连通表,所述网络节点连通表包括有所述第二节点与所述第一节点连通的数据链路的信息;
第二更新单元,用于根据更新后的所述网络节点连通表更新路由表,以使得所述第二节点根据更新后的所述路由表与所述第一节点传输数据。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述确定单元,具体用于统计所述X条数据链路的待发送数据量和/或带宽利用率,若所述X条数据链路中的m条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,确定关闭所述m条数据链路;
或者,
所述接收单元,还用于接收所述第一节点发送的数据链路预留消息;所述确定单元,具体用于统计所述X条数据链路的待发送数据量和/或带宽利用率,若所述X条数据链路中的K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,预留至少一条所述K条数据链路中的网络延时小于预设延时的数据链路,确定关闭所述K条数据链路中的除预留的数据链路之外的m条数据链路;2≤K≤X,K为整数。
结合第四方面、第四方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,
所述接收单元,还用于接收所述第一节点发送的链路开启通知消息;其中,所述链路开启通知消息中包括所述第一节点通知开启的所述m条数据链路中的至少一条数据链路的信息;
所述执行单元,还用于根据所述链路开启通知消息开启所述至少 一条数据链路。
结合第四方面、第四方面的第一种可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,
所述执行单元,还用于当所述第二节点在预设时间段内接收到第二预设数据量的向所述第一节点发送的数据时,开启所述m条数据链路中的至少一条数据链路;
所述发送单元,还用于所述第二节点向所述第一节点发送链路开启通知消息,通知所述第一节点开启所述至少一条数据链路;其中,所述链路开启通知消息包括所述至少一条数据链路的信息。
第五方面,提供一种数据链路管理系统,其特征在于,包括:如第三方面所述任一种第一节点,和/或,如第四方面所述任一种第二节点。
本发明实施例提供的方法及装置,第一节点可以统计与第二节点连通的数据链路的待发送数据量和/或带宽利用率,并与第二节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据链路管理方法的流程图;
图2为本发明实施例提供的又一种数据链路管理方法的流程图;
图3为本发明实施例提供的再一种数据链路管理方法的流程图;
图4为本发明实施例提供的再一种数据链路管理方法的流程图;
图5为本发明实施例提供的一种第一节点的结构示意图;
图6为本发明实施例提供的又一种第一节点的结构示意图;
图7为本发明实施例提供的再一种第一节点的结构示意图;
图8为本发明实施例提供的一种第二节点的结构示意图;
图9为本发明实施例提供的又一种第二节点的结构示意图;
图10为本发明实施例提供的再一种第二节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的方法可以用于降低数据中心的功耗。数据中心一般包括机架、机柜和服务器等,服务器之间可以通过数据链路传输数据。本发明实施例中的第一节点和第二节点均指网络节点,所属于服务器,第一节点与第二节点在同一网络中传输数据时不需要经过其他的网络节点,可以直接通过第一节点与第二节点之间连通的多条数据链路传输数据。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中的“多个”是指两个或者两个以上。
实施例一
本发明实施例提供一种数据链路管理方法,如图1所示,包括:
101、第一节点获取与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率;其中,N≥2,N为整数。
其中,一条数据链路对应一个待发送数据量和一个带宽利用率。
步骤101在具体实现时,第一节点可以实时的统计数据链路的待 发送数据量和/或带宽利用率,也可以统计一定时间段内的数据链路的待发送数据量和/或带宽利用率。
102、当N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时,第一节点向第二节点发送链路关闭请求消息;其中,链路关闭请求消息包括第一节点向第二节点请求关闭的M条数据链路中的X条数据链路的信息;2≤M≤N,1≤X≤M,M、X均为整数。
具体的,当数据链路的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率时,说明通过该条数据链路传输的数据较少。其中,第一预设数据量和预设利用率可以根据实际情况进行确定,本发明实施例对此不进行限制。
其中,数据链路的信息具体可以为数据链路的编号,也可以为其他可以用于区分不同的数据链路的信息。
103、第一节点接收第二节点发送的链路关闭响应消息,链路关闭响应消息包括第二节点确定关闭的m条数据链路的信息;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数。
104、第一节点根据链路关闭响应消息关闭m条数据链路。
其中,本发明实施例中提到的关闭某条数据链路是指使得该条数据链路处于无法传输数据的状态。
步骤104在具体实现时,第一节点中包含有电源管理状态机,一条数据链路可以对应一个电源管理状态机,当第一节点确定关闭某条数据链路时,可以控制该数据链路对应的电源管理状态机的状态使得该数据链路的状态从L0状态切换到低功耗状态,从而关闭该数据链路。
本发明实施例提供的方法,第一节点可以统计与第二节点连通的数据链路的待发送数据量和/或带宽利用率,并与第二节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
可选的,在步骤102之前,上述X条数据链路可以通过以下两种方式中的任意一种确定:
方式一:第一节点预留至少一条M条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路中的除预留的数据链路之外的数据链路。
方式二:第一节点向第二节点发送数据链路预留消息,用于请求第二节点预留至少一条K条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路;其中,K条数据链路为第二节点确定的X条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;2≤K≤X;K为整数。
其中,方式一在具体实现时,第一节点需要计算M条数据链路的网络延时(一条数据链路对应一个网络延时),从中确定出网络延时小于预设延时的数据链路,预留其中的至少一条数据链路。另外,第一节点在计算出M条数据链路的网络延时后,也可以根据其他预设条件确定出预留的数据链路,例如,其他预设条件可以为:预留的每条数据链路的网络延时小于M条数据链路中的除预留的数据链路之外的其他数据链路的网络延时。
具体的,第一节点确定的预留的数据链路的条数可以根据实际情况进行确定,例如,若M条数据链路的待发送数据量的总和较多,可以预留多条数据链路,若M条数据链路的待发送数据量的总和较少,可以预留一条数据链路。
上述方法中,预留的数据链路的网络延时较短,有利于提高数据的传输效率。
可选的,在步骤103之后,上述方法还可以包括以下步骤11)-12):
11)第一节点根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第一节点与第二节点连通的数据链路的信息。
12)第一节点根据更新后的网络节点连通表更新路由表,以使得第一节点根据更新后的路由表与第二节点传输数据。
需要说明的是,该可选的方法可以执行在步骤104之前或之后, 也可以与步骤104同时执行;优选的,该可选的方法执行在步骤104之前或者与步骤104同时执行。
具体的,第二节点在确定关闭的m条数据链路后可以直接更新自身的网络节点连通表并根据更新后的网络节点连通表更新自身的路由表,该情况下,第一节点在更新路由表后,则可以保证第一节点和第二节点根据各自更新后的路由表通过未关闭的数据链路传输数据。
可选的,在步骤104之后,上述方法还可以包括以下步骤21)-22):
21)当第一节点在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,第一节点开启m条数据链路中的至少一条数据链路。
22)第一节点向第二节点发送链路开启通知消息,通知第二节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
具体的,在步骤22)之后,第一节点可以通过开启的至少一条数据链路、或者开启的至少一条数据链路和未关闭的数据链路向第二节点发送数据。
具体的,当第一节点在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,利用未关闭的数据链路可能无法及时的发送数据,此时,可以开启已经关闭的数据链路。
可选的,在步骤104之后,上述方法还可以包括以下步骤31)-32):
31)第一节点接收第二节点发送的链路开启通知消息;其中,链路开启通知消息包括第二节点通知开启的m条数据链路中的至少一条数据链路的信息。
32)第一节点根据链路开启通知消息开启至少一条数据链路。
该情况下,第二节点在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,第二节点也可以向第一节点发送链路开启通知消息,以使得第一节点开启关闭的m条数据链路中的至少一条数据链路。
另外,当第一节点确定开启某条数据链路时,可以控制该数据链 路对应的电源管理状态机的状态使得该数据链路从低功耗状态切换到L0状态。
需要说明的是,一旦N条数据链路中的一条或者多条数据链路的状态由打开状态变为关闭状态或者由关闭状态变为打开状态,第一节点和第二节都需要及时的更新自身的网络节点连通表和路由表,保证数据的正确传输。
需要说明的是,背景技术中描述的降低数据链路的功耗的方法,当PCIe设备接收到向另一PCIe设备发送的数据时,会逐步的唤醒电源管理状态机的状态使得发送该数据的数据链路进入L0状态。低功耗状态又可分为L0s、L1、L2和L3状态,按照数据链路的功耗由大到小的顺序可以将低功耗状态排列为L0s>L1>L2>L3。可见,当数据链路进入L3状态时,数据链路的功耗最小。
具体的,当数据链路处于低功耗状态L3时,若PCIe设备接收到向另一PCIe设备发送的数据时,就会唤醒电源管理状态机的状态使得该数据链路的状态从L3状态到L2状态,再到L1状态再到L0s状态,最后进入L0状态。这样,PCIe设备需要通过该数据链路向另一PCIe设备发送数据时,需要等到该数据链路被唤醒才可以,而数据链路从低功耗状态唤醒到L0状态需要较长的时延。而本发明实施例提供的数据链路管理方法,在满足条件的数据链路被关闭后,若第一节点接收到的向第二节点发送的数据的数据量较少时,第一节点和第二节点之间可以通过未关闭的数据链路进行数据传输,因此,不存在上述问题。
实施例二
本发明实施例提供一种数据链路管理方法,如图2所示,包括:
201、第二节点接收第一节点发送的链路关闭请求消息;其中,链路关闭请求消息包括第一节点向第二节点请求关闭的M条数据链路中的X条数据链路的信息;M条数据链路为第一节点确定的与第二节点连通的N条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;1≤X≤M,2≤M≤N,N、M、X均为整数。
需要说明的是,本发明实施例中的相关解释可以参见上述实施例。
202、第二节点根据链路关闭请求消息确定关闭X条数据链路中的m条数据链路;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数。
可选的,步骤202在具体实现时可以通过以下两种方式中的任意一种方式实现:
方式一、第二节点统计X条数据链路的待发送数据量和/或带宽利用率,若X条数据链路中的m条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,确定关闭m条数据链路。
方式二、第二节点接收第一节点发送的数据链路预留消息;第二节点统计X条数据链路中的待发送数据量和/或带宽利用率,若X条数据链路中的K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,预留至少一条K条数据链路中的网络延时小于预设延时的数据链路,确定关闭K条数据链路中的除预留的数据链路之外的m条数据链路;2≤K≤X,K为整数。
其中,方式二在具体实现时,第二节点需要计算K条数据链路的网络延时(一条数据链路对应一个网络延时),从中确定出网络延时小于预设延时的数据链路,预留其中的至少一条数据链路。另外,第二节点在计算出K条数据链路中的网络延时后,也可以根据其他预设条件确定出预留的数据链路,例如,其他预设条件可以为:预留的每条数据链路的网络延时小于K条数据链路中的除预留的数据链路之外的其他数据链路的网络延时。
具体的,第二节点确定的预留的数据链路的条数可以根据实际情况进行确定,例如,若K条数据链路的待发送数据量的总和较多,可以预留多条数据链路,若K条数据链路的待发送数据量的总和较少,可以预留一条数据链路。上述方法中,预留的数据链路的网络延时较短,有利于提高数据的传输效率。
203、第二节点根据m条数据链路的信息生成链路关闭响应消息并向第一节点发送链路关闭响应消息,以使得第一节点根据链路关闭响应消息关闭m条数据链路。
204、第二节点关闭m条数据链路。
步骤204在具体实现时,第二节点中包含有电源管理状态机,一条数据链路可以对应一个电源管理状态机,当第二节点确定关闭某条数据链路时,可以控制该数据链路对应的电源管理状态机的状态使得该数据链路的状态从L0状态切换到低功耗状态,从而关闭该数据链路。
本发明实施例中步骤203和步骤204的执行顺序不分先后。
本发明实施例提供的方法,第二节点可以通过接收到的第一节点发送的链路关闭请求消息中包含的数据链路的信息,与第一节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
可选的,在步骤202之后,上述方法还可以包括以下步骤41)-42):
41)第二节点根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第二节点与第一节点连通的数据链路的信息。
42)第二节点根据更新后的网络节点连通表更新路由表,以使得第二节点根据更新后的路由表与第一节点传输数据。
需要说明的是,该可选的方法可以执行在步骤204之前和之后,也可以与步骤204同时执行;优选的,该可选的方法执行在步骤204之前或者与步骤204同时执行。
具体的,第二节点在确定关闭的m条数据链路后可以直接更新自身的网络节点连通表并根据更新后的网络节点连通表更新自身的路由表,该情况下,第一节点在更新路由表后,则可以保证第一节点和第二节点根据各自更新后的路由表通过未关闭的数据链路传输数据。
可选的,在步骤204之后,上述方法还可以包括以下步骤51)-52):
51)第二节点接收第一节点发送的链路开启通知消息;其中,链路开启通知消息中包括第一节点通知开启的m条数据链路中的至少一 条数据链路的信息。
52)第二节点根据链路开启通知消息开启至少一条数据链路。
该情况下,第一节点在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,向第二节点发送链路开启通知消息,使得第二节点开启关闭的m条数据链路中的至少一条数据链路。
可选的,在步骤204之后,上述方法还可以包括以下步骤61)-62):
61)当第二节点在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,第二节点开启m条数据链路中的至少一条数据链路。
62)第二节点向第一节点发送链路开启通知消息,通知第一节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
具体的,在步骤62)之后,第二节点可以通过开启的至少一条数据链路、或者开启的至少一条数据链路和未关闭的数据链路向第一节点发送数据。
具体的,当第二节点在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,利用未关闭的数据链路可能无法及时的发送数据,此时,可以开启已经关闭的数据链路。
另外,当第二节点确定开启某条数据链路时,可以控制该数据链路对应的电源管理状态机的状态使得该数据链路从低功耗状态切换到L0状态。
实施例三
本发明实施例是对实施例一和实施例二提供的数据链路管理方法的示例性说明,本发明实施例中的相关解释可以参见上述实施例,如图3所示,该方法包括:
301、第一节点统计与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率。
具体的,第一节点可以通过查询自身缓存的待发送数据量确定自身的待发送数据量,待发送数据量越少的数据链路越空闲。第一节点 可以通过在某条数据链路上向第二节点发送的数据量的多少和第二节点反馈的接收到的数据量的多少计算得到该数据链路的带宽利用率,带宽利用率越小的数据链路越空闲。
302、当N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时,第一节点向第二节点发送数据链路预留消息和链路关闭请求消息;其中,数据链路预留消息用于使第二节点预留M条数据链路中的一条网络延时最短的数据链路;链路关闭请求消息包括第一节点向第二节点请求关闭的M条数据链路的信息。
其中,数据链路的信息具体可以为数据链路的编号。
303、第二节点根据接收到的链路关闭请求消息统计M条数据链路的待发送数据量和/或带宽利用率。
304、若M条数据链路中K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,第二节点计算该K条数据链路的网络延时。
示例性的,第二节点可以在数据链路上发送一个用于计算网络延时的数据包,第二节点在接收到该数据包后立即发送一个反馈消息,第一节点根据发送数据包的时间点和接收到反馈消息的时间点计算该数据链路的网络延时。
305、第二节点根据数据链路预留消息预留K条数据链路中的一条网络延时最短的数据链路,确定K条数据链路中其余的数据链路为确定关闭的m条数据链路;其中,m=K-1。
需要说明的是,预留的数据链路的网络延时较短,有利于提高数据的传输效率。
306、第二节点生成链路关闭响应消息并向第一节点发送链路关闭响应消息;其中,链路关闭响应消息包括第二节点确定关闭的m条数据链路的信息。
307、第二节点根据确定关闭的m条数据链路的信息更新自身的网络节点连通表,并根据更新后的网络节点连通表更新自身的路由表。
308、第二节点根据确定关闭的m条数据链路的信息关闭该m条数据链路。
需要说明的是,本发明实施例对步骤307和308的执行顺序不进行限定,优选的,步骤307和308同时执行,或者步骤307先于步骤308执行。
309、第一节点根据接收到的链路关闭响应消息中包括的m条数据链路的信息更新自身的网络节点连通表,并根据更新后的网络节点连通表更新自身的路由表。
310、第一节点根据接收到的链路关闭响应消息中包括的m条数据链路的信息关闭该m条数据链路。
需要说明的是,本发明实施例对步骤309和310的执行顺序不进行限定,优选的,步骤309和310同时执行,或者步骤309先于步骤310执行。另外,第二节点在执行步骤307和308时,第一节点可以执行步骤309和310,二者并不冲突。
具体的,第一节点和第二节点中包含有电源管理状态机,一条数据链路可以对应一个电源管理状态机,当第一节点或第二节点确定关闭某条数据链路时,可以控制该数据链路对应的电源管理状态机的状态使得该数据链路的状态从L0状态切换到低功耗状态,从而关闭该数据链路。
311、第一节点根据更新后的路由表与第二节点传输数据。
具体的,在第一节点和第二节点更新网络节点连通表并根据更新后的网络节点连通表更新路由表后,第一节点或第二节点可以根据各自更新后的路由表在未关闭的数据链路上进行数据传输。
其中,未关闭的数据链路为M条数据链路中的除m条数据链路之外的其他数据链路。
当第一节点在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,利用未关闭的数据链路可能无法及时的发送数据,该情况下,如图4所示,该方法还可以包括:
401、第一节点开启m条数据链路中的至少一条数据链路。
402、第一节点向第二节点发送链路开启通知消息;其中,链路开启通知消息包括第一节点通知开启的m条数据链路中的至少一条数据链路的信息。
403、第二节点根据接收到的链路开启通知消息开启m条数据链路中的至少一条数据链路。
具体的,当第一节点或第二节点确定开启某条数据链路时,可以控制该数据链路对应的电源管理状态机的状态使得该数据链路从低功耗状态切换到L0状态。
当然,当第二节点在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,第二节点也可以执行步骤401和402,第一节点执行步骤403。
需要说明的是,一旦N条数据链路中的一条或者多条数据链路的状态由打开状态变为关闭状态或者由关闭状态变为打开状态,第一节点和第二节都需要及时的更新自身的网络节点连通表和路由表,保证数据的正确传输。
本发明实施例提供的方法,第一节点可以统计与第二节点连通的数据链路的待发送数据量和/或带宽利用率,并与第二节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
实施例四
如图5所示,本发明实施例提供一种第一节点50,用于实现图1所示的数据链路管理方法,该第一节点50包括:
获取单元501,用于获取与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率;其中,N≥2,N为整数;
发送单元502,用于当N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时, 向第二节点发送链路关闭请求消息;其中,链路关闭请求消息包括第一节点50向第二节点请求关闭的M条数据链路中的X条数据链路的信息;2≤M≤N,1≤X≤M,M、X均为整数;
接收单元503,用于接收第二节点发送的链路关闭响应消息,链路关闭响应消息包括第二节点确定关闭的m条数据链路的信息;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
执行单元504,用于根据链路关闭响应消息关闭m条数据链路。
可选的,如图6所示,第一节点50还可以包括:
第一更新单元505,用于根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第一节点50与第二节点连通的数据链路的信息;
第二更新单元506,用于根据更新后的网络节点连通表更新路由表,以使得第一节点50根据更新后的路由表与第二节点传输数据。
可选的,如图6所示,第一节点50还包括预留单元507,预留单元用于预留至少一条M条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路中的除预留的数据链路之外的数据链路;或者,
发送单元502,还用于向第二节点发送数据链路预留消息,用于请求第二节点预留至少一条K条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路;其中,K条数据链路为第二节点确定的X条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;2≤K≤X;K为整数。
可选的,执行单元504,还用于当第一节点50在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,开启m条数据链路中的至少一条数据链路;发送单元502,还用于向第二节点发送链路开启通知消息,通知第二节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
可选的,接收单元503,还用于接收第二节点发送的链路开启通 知消息;其中,链路开启通知消息包括第二节点通知开启的m条数据链路中的至少一条数据链路的信息;执行单元504,还用于根据链路开启通知消息开启至少一条数据链路。
本发明实施例提供的第一节点,可以统计与第二节点连通的数据链路的待发送数据量和/或带宽利用率,并与第二节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
实施例五
在硬件实现上,实施例四中的各个模块可以以硬件形式内嵌于或独立于第一节点的处理器中,也可以以软件形式存储于第一节点的存储器中,以便于处理器调用执行以上各个模块对应的操作,该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
如图7所示,本发明实施例提供一种第一节点70,用于实现图1所示的数据链路管理方法,该第一节点70包括:存储器701、处理器702、发送器703、接收器704和总线系统705;
其中,存储器701、处理器702、发送器703和接收器704之间是通过总线系统705耦合在一起的,其中存储器701可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。总线系统705,可以是ISA总线、PCI总线或EISA总线等。该总线系统705可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器701用于存储一组代码,该代码用于控制处理器702执行以下动作:获取与第二节点连通的N条数据链路的待发送数据量和/或带宽利用率;其中,N≥2,N为整数;
发送器703,用于当N条数据链路中的M条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率时,向第二节点发送链路关闭请求消息;其中,链路关闭请求消息包括第一节点70向第二节点请求关闭的M条数据链路中的X条数据链路的信 息;2≤M≤N,1≤X≤M,M、X均为整数;
接收器704,用于接收第二节点发送的链路关闭响应消息,链路关闭响应消息包括第二节点确定关闭的m条数据链路的信息;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
处理器702,还用于根据链路关闭响应消息关闭m条数据链路。
可选的,处理器702还用于根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第一节点70与第二节点连通的数据链路的信息;根据更新后的网络节点连通表更新路由表,以使得第一节点70根据更新后的路由表与第二节点传输数据。
可选的,处理器702还用于预留至少一条M条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路中的除预留的数据链路之外的数据链路;或者,
发送器703,还用于向第二节点发送数据链路预留消息,用于请求第二节点预留至少一条K条数据链路中的、且网络延时小于预设延时的数据链路,X条数据链路为M条数据链路;其中,K条数据链路为第二节点确定的X条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;2≤K≤X;K为整数。
可选的,处理器702还用于当第一节点70在预设时间段内接收到第二预设数据量的向第二节点发送的数据时,开启m条数据链路中的至少一条数据链路;发送器703,还用于向第二节点发送链路开启通知消息,通知第二节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
可选的,接收器704还用于接收第二节点发送的链路开启通知消息;其中,链路开启通知消息包括第二节点通知开启的m条数据链路中的至少一条数据链路的信息;处理器702,还用于根据链路开启通知消息开启至少一条数据链路。
本发明实施例提供的第一节点,可以统计与第二节点连通的数据链路的待发送数据量和/或带宽利用率,并与第二节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部 分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
实施例六
如图8所示,本发明实施例提供一种第二节点80,用于实现图2所示的数据链路管理方法,该第二节点80包括:
接收单元801,用于接收第一节点发送的链路关闭请求消息;其中,链路关闭请求消息包括第一节点向第二节点80请求关闭的M条数据链路中的X条数据链路的信息;M条数据链路为第一节点确定的与第二节点80连通的N条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;1≤X≤M,2≤M≤N,N、M、X均为整数;
确定单元802,用于根据链路关闭请求消息确定关闭X条数据链路中的m条数据链路;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;
生成单元803,用于根据m条数据链路的信息生成链路关闭响应消息;
发送单元804,用于向第一节点发送链路关闭响应消息,以使得第一节点根据链路关闭响应消息关闭m条数据链路;
执行单元805,用于关闭m条数据链路。
可选的,如图9所示,第二节点80还包括:
第一更新单元806,用于根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第二节点80与第一节点连通的数据链路的信息;
第二更新单元807,用于根据更新后的网络节点连通表更新路由表,以使得第二节点80根据更新后的路由表与第一节点传输数据。
可选的,确定单元802具体用于统计X条数据链路的待发送数据量和/或带宽利用率,若X条数据链路中的m条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,确定 关闭m条数据链路;或者,
接收单元801,还用于接收第一节点发送的数据链路预留消息;确定单元802,具体用于统计X条数据链路的待发送数据量和/或带宽利用率,若X条数据链路中的K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,预留至少一条K条数据链路中的网络延时小于预设延时的数据链路,确定关闭K条数据链路中的除预留的数据链路之外的m条数据链路;2≤K≤X,K为整数。
可选的,接收单元801还用于接收第一节点发送的链路开启通知消息;其中,链路开启通知消息中包括第一节点通知开启的m条数据链路中的至少一条数据链路的信息;执行单元805,还用于根据链路开启通知消息开启至少一条数据链路。
可选的,执行单元805还用于当第二节点80在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,开启m条数据链路中的至少一条数据链路;发送单元804还用于第二节点80向第一节点发送链路开启通知消息,通知第一节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
本发明实施例提供的第二节点,可以通过接收到的第一节点发送的链路关闭请求消息中包含的数据链路的信息,与第一节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
实施例七
在硬件实现上,实施例六中的各个模块可以以硬件形式内嵌于或独立于第二节点的处理器中,也可以以软件形式存储于第二节点的存储器中,以便于处理器调用执行以上各个模块对应的操作,该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
如图10所示,本发明实施例提供一种第二节点100,用于实现图 2所示的数据链路管理方法,该第二节点100包括:接收器1001、存储器1002、处理器1003、发送器1004和总线系统1005。
其中,接收器1001、存储器1002、处理器1003和发送器1004之间是通过总线系统1005耦合在一起的,其中存储器1002可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。总线系统1005,可以是ISA总线、PCI总线或EISA总线等。该总线系统1005可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
接收器1001,用于接收第一节点发送的链路关闭请求消息;其中,链路关闭请求消息包括第一节点向第二节点100请求关闭的M条数据链路中的X条数据链路的信息;M条数据链路为第一节点确定的与第二节点100连通的N条数据链路中的待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的数据链路;1≤X≤M,2≤M≤N,N、M、X均为整数;
存储器1002用于存储一组代码,该代码用于控制处理器1003执行以下动作:根据链路关闭请求消息确定关闭X条数据链路中的m条数据链路;其中,当1≤X<M时,1≤m≤X;当X=M时,1≤m<X;m为整数;根据m条数据链路的信息生成链路关闭响应消息;
发送器1004,用于向第一节点发送链路关闭响应消息,以使得第一节点根据链路关闭响应消息关闭m条数据链路;
处理器1003,还用于关闭m条数据链路。
可选的,处理器1003还用于根据m条数据链路的信息更新网络节点连通表,网络节点连通表包括有第二节点100与第一节点连通的数据链路的信息;根据更新后的网络节点连通表更新路由表,以使得第二节点100根据更新后的路由表与第一节点传输数据。
可选的,处理器1003具体用于统计X条数据链路的待发送数据量和/或带宽利用率,若X条数据链路中的m条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,确定关闭m条数据链路;或者,
接收器1001,还用于接收第一节点发送的数据链路预留消息;处理器1003具体用于统计X条数据链路的待发送数据量和/或带宽利用率,若X条数据链路中的K条数据链路的待发送数据量均小于第一预设数据量和/或带宽利用率均小于预设利用率,预留至少一条K条数据链路中的网络延时小于预设延时的数据链路,确定关闭K条数据链路中的除预留的数据链路之外的m条数据链路;2≤K≤X,K为整数。
可选的,接收器1001还用于接收第一节点发送的链路开启通知消息;其中,链路开启通知消息中包括第一节点通知开启的m条数据链路中的至少一条数据链路的信息;处理器1003还用于根据链路开启通知消息开启至少一条数据链路。
可选的,处理器1003还用于当第二节点100在预设时间段内接收到第二预设数据量的向第一节点发送的数据时,开启m条数据链路中的至少一条数据链路;发送器1004,还用于第二节点100向第一节点发送链路开启通知消息,通知第一节点开启至少一条数据链路;其中,链路开启通知消息包括至少一条数据链路的信息。
本发明实施例提供的第二节点,可以通过接收到的第一节点发送的链路关闭请求消息中包含的数据链路的信息,与第一节点共同确定将待发送数据量小于第一预设数据量和/或带宽利用率小于预设利用率的部分数据链路关闭,当第一节点每隔较长时间才接收到一次通过关闭的某条数据链路与第二节点传输的数据时,该某条数据链路也不会在L0状态与低功耗状态之间频繁切换,因此可以提高数据中心的节能效果。
本发明实施例还提供一种数据链路管理系统,包括:如实施例四或实施例五提供的任一种第一节点,和/或,如实施例六或实施例七提供的任一种第二节点。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。