可编程数据平面流调度方法、系统、介质及网络设备
技术领域
本发明涉及网络通信技术领域,特别是涉及一种可编程数据平面流调度方法、系统、介质及网络设备。
背景技术
近年来,人们对互联网的需求呈现爆炸式增长,互联网除了规模和发展速度远超之前的数据网络,业务的创新速度也是空前加快,各种业务得到了快速发展,网络之间的流量传输也相应变大,在这种情况下,网络拥塞或故障问题成为了阻碍网络发展的重要因素。如何解决网络拥塞、故障及负载均衡的问题成为了本领域技术人员亟需解决的技术问题。
目前,有方案提出在网络拥塞或故障时根据链路QoS重新计算路由,也提出通过路由协议、流调度机制,以及负载均衡、流量工程等机制实现流量的优化传输,但他们现有方案都不能解决上述问题。一段路径端到端传输时间,一段路径\一个节点\一个网络的吞吐量,都会与网络中每一跳的延迟、抖动、丢包率必然存在着关联关系。所以,观测丢包率、延迟、抖动等参数可以预测到端到端传输时间、吞吐量。
同时,研究也表明,互联网中的流可以划分为两种流类型,即,老鼠流和大象流,大象流和老鼠流具有不同的性能要求。通常,老鼠流是延迟敏感度应用,期望最大化时限要求满足率DMR(Deadline Meet Rate);而大象流期望更高的吞吐量和更短的流完成时间FCT(Flow Completion Time)而其没有具体的截止完成时间(Deadline)。
P4(Programming Protocol-Independent Packet Processors)是可编程数据平面的一种可编程转发技术,一方面,P4不仅可以控制数据流的转发,还可以对交换设备的数据处理流程进行软件编程定义,甚至可做到转发无中断的重配置,并且,可实现交换设备协议无关转发,克服了OpenFlow的扩展性差的问题。另一方面,基于INT(In-band networktelemetry)可实现数据平面的状态/资源的感知,可以追踪网络中每一个数据报的行为,也能够监测到网络的状态。
P4+INT可实现全网的精细化性能测量,不仅可实现逐跳的性能 (如延迟、抖动、丢包率、吞吐量等)测量,还可实现测量范围(跳数) 可调的性能测量,并且测量结果是实时的。所以,基于精细化测量结果的精细化流调度可实现全网性能最优。
发明内容
为了解决上述问题,本发明的目的是提供一种提高网络吞吐量、减少网络时延、实现负载均衡的可编程数据平面流调度方法、系统、介质及网络设备。
根据本发明提供的可编程数据平面流调度方法,包括:
以P1为测量周期,周期性地测量网络内各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3;
基于深度学习训练分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组之间映射关系的第一模型、第二模型、第三模型及第四模型;
通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性;
基于上述各模型,以P2为预测周期,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量T3p;
基于预测结果采用分类分路径传输的思想,采用可编程转发技术实现精细化的流调度。
根据本发明提供的可编程数据平面流调度方法,由于能周期性的对各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量 T3进行采集与的反馈,以便于能够对网络内各跳的网络状态进行监控,从而及时了解网络内各跳的网络状态及拥塞程度;通过建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组的第一模型、第二模型、第三模型及第四模型,从而实现通过多维度参数的测量与各模型的建立,以提高各模型建立的可靠性;通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性,以提高流调度的可靠性;通过对上述各模型进行深度学习后,以预测周期P2,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量 T3p,从而实现通过精细化的流调度来达到全网性能最优的效果。由于本发明提供的可编程数据平面流调度方法能够基于精细化测量结果,通过精细化的路由实现全网性能最优,可解决现有网络吞吐量低、网络时延大、负载均衡度低的问题,满足了实际应用需求。
根据本发明上述的可编程数据平面流调度方法,还可以具有如下附加的技术特征:
进一步地,基于预测结果采用分类分路径传输的思想,采用可编程转发技术实现精细化的流调度,具体包括:
根据流的时限要求与所述目标路径的端到端传输时间Dp的耦合度为老鼠流配置老鼠流专用路径;
根据流的大小与所述目标路径的吞吐量T1p的耦合度为大象流配置大象流专用路径。
进一步地,在测量周期P1内,各跳在多个时间点测量到的性能参数组包括延迟d、抖动j、丢包率l,所述性能参数组构成一个时空三维矩阵,记作:[d,j,l]。
进一步地,所述分别建立所述目标路径的当前端到端传输时间 D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3与性能参数组之间映射关系的第一模型、第二模型、第三模型及第四模型,具体步骤包括:
利用[d,j,l]和D的关联关系、[d,j,l]和T1的关联关系、[d,j,l] 和T2的关联关系、[d,j,l]和T3的关联关系分别建立四个训练集;
利用所述四个训练集进行深度学习训练,以分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3与[d,j,l]之间映射关系的四个模型。
进一步地,所述四个模型具体包括:
进一步地,采用可编程转发技术实现精细化的流调度,所述方法还包括:
采用P4设计流调度中节点所转发的数据报的头部,实现所述流调度中节点在可编程数据平面的Parse,所述头部包括源路由链及流 ID;其中,源路由链为所述的老鼠流专用路径和大象流专用路径所途经的交换机ID的序列,流ID为所述老鼠流和大象流的标识序号;
采用P4设计所述流调度中节点在可编程数据平面中的 match-action;其中,match是流ID,action是根据源路由链指定的交换机ID转发到下一跳交换机。
进一步地,实现所述四个模型的自动更新,具体包括:
在任一流结束后,统计所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3的实际值,所述实际值作为新的标签数据更新所述四个训练集;
周期性地利用更新后的四个训练集重新训练第一模型、第二模型、第三模型及第四模型。
根据本发明实施例的可编程数据平面路由系统,具体包括:
获取模块,用于以P1为测量周期,周期性地测量网络内各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3;
创建模块,用于基于深度学习训练分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组之间映射关系的第一模型、第二模型、第三模型及第四模型;
验证模块,用于通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性;
预测模块,用于基于上述各模型,以P2为预测周期,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量 T1p、目标节点的吞吐量T2p及目标网络的吞吐量T3p;
调度模块,用于基于预测结果采用分类分路径传输的思想,实现精细化的流调度。
本发明的另一个实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的另一个实施例还提出一种网络设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
图1是本发明第一实施例提出的可编程数据平面流调度方法的流程图;
图2是本发明第二实施例提出的可编程数据平面路由系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的一种可编程数据平面流调度方法,其中,包括步骤S101~S104:
步骤S101,以P1为测量周期,周期性地测量网络内各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3。
本实施例中,以P4交换机为例进行说明,但需要了解的是,本发明实施例并不限于此,本发明实施例的方法可以应用在任何可以通过数据编程完成信息交换功能的电子设备中。在本实施例中,基于 P4+INT,交换机周期性的获取测量周期P1内各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3。其中,在测量周期P1内,各跳在多个时间点测量到的性能参数组包括延迟d、抖动j、丢包率l,所述获取测量周期P1内各跳的性能参数组的步骤之后,所述方法还包括:根据各跳在多个预设时间点的性能参数组建立一个性能参数组的时空三维矩阵,记作:[d,j,l]。其中,在本发明其他实施例中,所述各跳的性能参数组还可以包括吞吐量及链路利用率,在此不做限制。
可以理解的,通过预设的时间长度,以测量周期P1对网络内各路的性能参数组进行监测、更新与存储,因此在将其存储在对应的存储空间中时,该存储的性能参数组是不断替换预覆盖前一周期中已存储的性组参数的。本实施例中,所述测量周期P1为3s,其中,获取所述网络内各跳的性能参数组的测量周期P1还可以为实时、十五分钟、一天或一周,在此不作限制,用户可根据实际需求进行调整与设置。
步骤S102,基于深度学习训练分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量 T2及目标网络的当前吞吐量T3与性能参数组之间映射关系的第一模型、第二模型、第三模型及第四模型。
具体的,将测量周期P1内获取的各跳链路在多个预设时间点的性能参数组:延迟d、抖动j及丢包率l建立一个性能参数组的时空三维矩阵,记作:[d,j,l],分别建立所述目标路径的当前端到端传输时间 D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与所述性能参数组映射关系;利用[d,j,l]和D的关联关系、[d,j,l]和T1的关联关系、[d,j,l]和T2的关联关系、[d,j,l]和 T3的关联关系分别建立四个训练集;利用所述四个训练集进行深度学习训练,以分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3与[d,j,l]之间映射关系的四个模型:当前端到端传输时间D与各跳链路的性能参数组(延迟、抖动、丢包率)之间的映射关系的模型,即,建立D=f([d,j,l]),称为第一模型,以及一个吞吐量与各跳链路的性能参数组(延迟、抖动、丢包率)之间的映射关系的模型,即建立, T1=f([d,j,l])、T2=f([d,j,l])、T3=f([d,j,l]),分别称为第二模型、第三模型、第四模型。
可以理解的,通过建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组的第一模型、第二模型、第三模型及第四模型,从而实现通过多维度参数的测量与各模型的建立,以提高各模型建立的可靠性。
步骤S103,通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性。
如上所述,通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性,同时还可方便用户及时对存在问题或不符合实际的模型进行调整,以提高流调度的可靠性。
步骤S104,基于上述各模型,以P2为预测周期,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量T3p。
步骤S105,基于预测结果采用分类分路径传输的思想,采用可编程转发技术实现精细化的流调度。
如上所述,通过对所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组,所建立的第一模型、第二模型、第三模型及第四模型进行深度学习后,基于上述各模型,以预测周期P2,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量T3p,从而实现通过精细化的流调度来达到全网性能最优的效果。由于本发明提供的可编程数据平面流调度方法能够基于精细化测量结果,通过精细化的路由实现全网性能最优,可解决现有网络吞吐量低、网络时延大、负载均衡度低的问题,满足了实际应用需求。
进一步地,基于预测结果采用分类分路径传输的思想,采用可编程转发技术实现精细化的流调度的方法包括:
根据流的时限要求与所述目标路径的端到端传输时间Dp的耦合度为老鼠流配置老鼠流专用路径;根据流的大小与所述目标路径的吞吐量T1p的耦合度为大象流配置大象流专用路径。
具体的,由于所述目标路径的端到端传输时间Dp反映的是一个数据报的传输时间,适合帮助老鼠流选择路径。由于老鼠流一般只有几个报文,在传输这几个报文时,预测到的目标路径的端到端传输时间Dp不会发生太大的变化,所以,可以为老鼠流的所有报文选择相同的路径。对于老鼠流来说,只要在时限要求(deadline)之前传输完成就好,而没有必要牺牲过多资源在远早于其时限要求完成传输。当去往目的地存在多条路径时,每条路径都有一个目标路径的端到端传输时间Dp,则按照流的时限要求与所述目标路径的端到端传输时间Dp的耦合度为老鼠流选择配置相应的老鼠流路径,即,在所有满足 Dp<deadline的路径中,选择deadline-Dp最小的那条路径。
具体的,由于吞吐量反映的是一块数据(由多个数据报组成)在一个预测周期P2内的传输性能,适合帮助大象流选择路径。因此对于大象流,当去往目的地存在多条路径时,每条路径都有一个预测值 T1p,大象流的大小越大,那么选择具有越大T1p的路径。
可以理解的,基于上述各模型,以P2为预测周期,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p,以便于根据流的时限要求将所述数据报选择专用的老鼠流路径或大象流路径,避免所述数据报在传输的过程由于路径拥塞或不同网络区域中传输节点的性能参数组相差较大,而导致所述数据报的传输效率降低的状况;由于本发明提供的可编程数据平面流调度方法能够根据流的时限要求将所述数据报选择相应的老鼠流路径或大象流路径、对网络状态变化适应快、传输效率高,解决现有网络吞吐量低、网络时延大、负载均衡度低的问题,满足了实际应用需求。可以理解的,本发明可满足5G网络、工业互联网、智能灌溉传感网络等实际应用对低时延、大吞吐量等需求。
在此还需要说明的是,采用可编程转发技术实现精细化的流调度得方法还包括:采用P4设计流调度中节点所转发的数据报的头部,实现所述流调度中节点在可编程数据平面的Parse,所述头部包括源路由链及流ID,其中,源路由链为所述的老鼠流专用路径和大象流专用路径所途经的交换机ID的序列,流ID为所述老鼠流和大象流的标识序号;采用P4设计所述流调度中节点在可编程数据平面中的 match-action,其中,match是流ID,action是根据源路由链指定的交换机ID转发到下一跳交换机。
根据本发明提供的可编程数据平面流调度方法,由于能周期性的对各的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量 T3进行采集与的反馈,以便于能够对网络内各跳的网络状态进行监控,从而及时了解网络内各路的网络状态及拥塞程度;通过建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组的第一模型、第二模型、第三模型及第四模型,从而实现通过多维度参数的测量与各模型的建立,以提高各模型建立的可靠性;通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性,以提高流调度的可靠性;通过对上述各模型进行深度学习后,以预测周期P2,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量 T3p,从而实现通过精细化的流调度来达到全网性能最优的效果。由于本发明提供的可编程数据平面流调度方法能够基于精细化测量结果,通过精细化的路由实现全网性能最优,可解决现有网络吞吐量低、网络时延大、负载均衡度低的问题,满足了实际应用需求。
在本发明另一实施例中,所述方法还包括:在任一流结束后,统计所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量 T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3实际值D1、 T11、T21、T31,以得到[d1,j1,l1]与D、T1、T2、T3的最新模型。
具体的,通过在任一流结束后,统计所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3的实际值D1、T11、T21、T31,并将所述实际值作为新的标签数据,进而得到[d1,j1,l1]与D、T1、T2、T3之间的映射关系,并分别对应加入到第一训练集、第二训练集、第三练训集及第四训练集,以形成新的训练集,从而实现了上述四个训练集的更新;以周期C,例如5min,通过对新的训练集训练深度学习模型(第一模型、第二模型、第三模型、第四模型),从而得到最新模型,以确保预测模型能够适应于实时变化的网络状态与流量特征,改善预测准确度,其中周期C可根据实际网络状态变化情况来确定。
请参阅图2,基于同一发明构思,本发明第二实施例提供的可编程数据平面路由系统,包括:获取模块10、创建模块20、所述验证模块30及预测模块40。
所述获取模块10,用于以P1为测量周期,周期性地测量网络内各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3。
在测量周期P1内,各跳在多个时间点测量到的性能参数组包括延迟d、抖动j、丢包率l,所述性能参数组构成一个时空三维矩阵,记作:[d,j,l]。
其中,采用可编程转发技术实现精细化的流调度,所述方法还包括:
采用P4设计流调度中节点所转发的数据报的头部,实现所述流调度中节点在可编程数据平面的Parse,所述头部包括源路由链及流 ID,其中,源路由链为所述的老鼠流专用路径和大象流专用路径所途经的交换机ID的序列,流ID为所述老鼠流和大象流的标识序号;
采用P4设计所述流调度中节点在可编程数据平面中的 match-action,其中,match是流ID,action是根据源路由链指定的交换机ID转发到下一跳交换机。
所述创建模块20,用于基于深度学习训练分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组之间映射关系的第一模型、第二模型、第三模型及第四模型。
本实施例中,所述创建模块20包括:
第一创建单元21,用于利用[d,j,l]和D的关联关系、[d,j,l]和 T1的关联关系、[d,j,l]和T2的关联关系、[d,j,l]和T3的关联关系分别建立四个训练集。
第二创建单元21,用于利用所述四个训练集进行深度学习训练,以分别建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3与[d, j,l]之间映射关系的四个模型。
其中,
所述验证模块30,用于通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性。
所述预测模块40,用于基于上述各模型,以P2为预测周期,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量T3p。
本实施例中,所述预测模块40还用于,实现所述四个模型的自动更新,具体包括:在任一流结束后,统计所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量T3的实际值,所述实际值作为新的标签数据更新所述四个训练集;周期性地利用更新后的四个训练集重新训练第一模型、第二模型、第三模型及第四模型。
本实施例中,所述预测模块40还包括:
第一配置单元41,根据流的时限要求与所述目标路径的端到端传输时间Dp的耦合度为老鼠流配置老鼠流专用路径。
第二配置单元42,用于根据流的大小与所述目标路径的吞吐量 T1p的耦合度为大象流配置大象流专用路径。
调度模块50,用于基于预测结果采用分类分路径传输的思想,实现精细化的流调度.
根据本发明提供的可编程数据平面路由系统,由于能周期性的对各跳的性能参数组、目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2、目标网络的当前吞吐量 T3进行采集与的反馈,以便于能够对网络内各跳的网络状态进行监控,从而及时了解网络内各跳的网络状态及拥塞程度;通过建立所述目标路径的当前端到端传输时间D、目标路径的当前吞吐量T1、目标节点的当前吞吐量T2及目标网络的当前吞吐量T3与性能参数组的第一模型、第二模型、第三模型及第四模型,从而实现通过多维度参数的测量与各模型的建立,以提高各模型建立的可靠性;通过交叉验证技术验证所述第一模型、第二模型、第三模型及第四模型的准确性,以提高流调度的可靠性;通过对上述各模型进行深度学习后,以预测周期P2,周期性地预测数据报在所述目标路径的端到端传输时间Dp、目标路径的吞吐量T1p、目标节点的吞吐量T2p及目标网络的吞吐量 T3p,从而实现通过精细化的流调度来达到全网性能最优的效果。由于本发明提供的可编程数据平面流调度方法能够基于精细化测量结果,通过精细化的路由实现全网性能最优,可解决现有网络吞吐量低、网络时延大、负载均衡度低的问题,满足了实际应用需求。可以理解的,本发明可满足5G网络、工业互联网、智能灌溉传感网络等实际应用对低时延、大吞吐量等需求。
本发明实施例提出的可编程数据平面路由系统的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
此外,本发明的实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
此外,本发明的实施例还提出一种网络设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或网络设备 (如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或网络设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或网络设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或网络设备或结合这些指令执行系统、装置或网络设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。