具体实施方式
网络技术快速发展的今天,网络的安全问题也备受关注,对于承载着各种网络业务的网络设备来说,比如路由器、交换机等,拥有一个自身安全保护措施也显得尤为重要,ACL就是常用的安全技术之一。
ACL的功能是用来过滤进出网络设备端口的数据包。ACL由很多条ACL规则组成,将数据包中相应字段的地址与ACL规则进行匹配,ACL规则可以是数据包的源地址、目的地址、源端口号、目的端口号等信息,从而达到访问控制的目的。
ACL技术应用场景中,常见的实现方式是使用TCAM实现特性访问控制规则的匹配查找功能。但是并非所有的TCAM都支持范围匹配的查找功能,在TCAM受限情况下,需要将用户下发的范围匹配规则分解为多个精确匹配规则进行查找。
现有范围匹配规则分解的中最常用的是单范围匹配规则的加法分解方式,这种分解方式分解简单,动态处理方便,比如实现101-200区间范围匹配,在实现上直接使用范围匹配最小数据101作为低门限,使用2n作为增加数据步长进行累加的操作,最终实现的分解功能所使用的精确规则匹配数为7条,即101;102~103;104~111;112~127;128~191;192~199;200分别配置一条ACL规则。具体实现方法如下:
但是,现有的范围匹配规则分解的方法,存在范围匹配分解不够精简,额外消耗精确匹配硬件资源的缺点。
有鉴于此,本发明提供一种ACL规则的配置方法及网络设备,旨在解决现有范围匹配分解不够精简,额外消耗精确匹配硬件资源的问题。
以下结合具体的实施方式对本发明进行详细阐述,但这些只是本发明提供的具体实施方式,并不用以限定本发明的保护范围。
请参阅图1,图1是本发明实施方式提供的一种ACL规则的配置方法,本实施方式ACL规则的配置方法以网络设备的角度来进行描述,本实施方式的ACL规则的配置方法包括以下步骤:
S101:网络设备接收数据包中一段需要范围匹配的地址;
在本步骤中,首先接收数据包中的一段需要范围匹配的地址,这里假设需要范围匹配的地址为101~200。
S102:将范围匹配地址进行2n分解得到至少两个分解区间,其中,n取非负整数;
将范围匹配地址进行2n分解得到至少两个分解区间,n取非负整数。在本步骤中,可以采用现有的任何一种进行2n分解的方式来对范围匹配地址进行分解。
其中,本发明实施方式中提供的一种将范围匹配地址进行2n分解得到至少两个分解区间的方法为:确定范围匹配地址的中心地址,以中心地址为中心,分别向范围匹配地址的两端分解得到至少两个分解区间,中心地址为范围匹配地址以内最大的2n或为通过a2n+b2n-1+c2n-2+d2n-3……方式逐级累加得到的范围匹配区间内的最小数值,其中,a、b、c、d取0或1。
以范围匹配地址101~200为例,28=256,超出上限200,26=64在下限101之外,27=128刚好处于101~200范围内且是该范围内最大的2的幂次方数值,因此以128作为中心地址,向101~200的两端分解得到101~127,128~200两个分解区间。
而以范围匹配地址130~200作为举例,28=256,超出上限200,27=128又在下限130之外,这时候,将27向下一级26做一个累加,即128+64=192,这个192刚好处于范围130~200之间,以192作为中心地址,向130~200的两端分解得到130~191,192~200两个分解区间。
需要说明的是,当范围匹配地址以内不存在2幂次方数值时,以2的幂次方数值逐级累加得到的最小数值作为中心地址,这时候的累加过程,只能是逐级累加。以上述为例,27+25=160虽然也在130~200之间,但是这不是逐级累加的结果,所以不能作为中心地址。在确定中心地址的时候,只要最高一级与其下一级幂次方的数累加得到的数值在范围匹配地址以内,即以这个数值作为中心地址,不再继续往下一级幂次方累加。
S103:将分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,0<k<n;
将分解得到的分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,0<k<n。其中,采用减法方式进行再次分解是通过包含分解区间且有效地址个数为2的幂次方的大区间减去大区间内分解区间之外的区间以得到分解区间的方式。
优选地,大区间的有效地址个数是大于分解区间有效地址个数且最接近分解区间有效地址个数的2的幂次方。
以范围匹配地址为101~200为例,上述分解得到101~127,128~200两个分解区间,其中101~127之间有效地址个数为27,128~200之间有效地址为55,其中,27大于24(16)小于25(32),则将101~127采用减法方式进行再次分解。选择的大区间可以是包含101~127在内且有效地址个数为32,64,128……等的区间。因为有效地址个数为2的幂次方的区间都可以用一条规则表示,所以为了简化分解次数,优选包含101~127在内且有效地址个数为32的区间即96~127作为大区间,然后用区间96~127减去区间96~100即得到区间101~127,也就是说,区间101~127再次分解得到(96~127)-(96~100)。同样,对于128~200区间也按照同样的方法,分解得到(128~255)-(201~255)。
S104:查找是否有再次分解后得到的有效地址个数不为2的幂次方的分解区间;
对于经再次分解后,得到的所有区间中,有效地址不为2的幂次方的分解区间,还需要再次分解,因此,从再次分解后得到的分解区间中查找是否有有效地址个数不为2的幂次方的分解区间,如果有,返回执行步骤S104即对于有效地址不为2的幂次方的分解区间采用减法方式进行再次分解,否则,执行步骤S105。如此循环直到所有分解得到的区间的有效地址个数都为2的幂次方为止。
比如上述分解后得到的区间(96~100),其有效地址个数为5,区间(201~255),其有效地址个数为55,都需要进行再次分解。按照上述同样的方法,22<5<23,所以96~100再次分解得到(96~103)-(101~103),(101~103)满足再次分解的条件,再次分解得到(100~103)-(100),到此,针对101~127分解得到的所有区间的有效地址个数都为2的幂次方,不需要再往下分解,最终分解结果为101~127=(96~127)-(96~100)=(96~127)-[(96~103)-(101~103)]=(96~127)-[(96~103)-(100~103)+(100)]=(96~127)-[(96~103)-(100~103)]-(100)。
同理,128~200也按照同样的方法进行分解,最终分解结果为128~200=(128~255)-(201~255)=(128~255)-[(192~255)-(192~200)]=(128~255)-[(192~255)-(192~207)+(201~207)]=(128~255)-[(192~255)-(192~207)+(200~207)-(200)]=(128~255)-(192~255)+(192~207)-(200~207)+(200)。
S105:对有效地址个数为2的幂次方的所有区间中的连续区间进行合并处理,不连续区间进行累加处理;
本步骤可以在上述步骤都执行完后再执行,也可以每进行一次分解后分别执行。
这里的连续区间可以有两种情况:第一种情况是指两个区间有部分重叠,且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间,比如区间(128~255)-(192~255),是两个部分重叠的区间,并且合并后得到的区间(128~191)的有效地址个数为64个,符合合并条件,所以进行合并处理。
第二种情况是指两个区间,其中一个区间的上限刚好跟另一个区间的下限是连续的数值,并且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间。比如(0~1)+(2~3),这两个区间中1与2刚好是连续的数值,且两个区间合并后得到(0~3)中有效地址个数又刚好为4,符合合并条件,经合并后可以用一条规则来进行表示。
对上述的举例分解得到的区间进行合并和累加处理,即101~127=(96~127)-(96~99)-(100),128~200=(128~191)+(192~199)+(200)。请参阅图2,图2是本实施方式中针对范围匹配地址101~200的分解示意图,其中,每个区间之前的符号表示该区间最终分配到的符号,每个区间之后的数值表示该区间内的有效地址个数。
S106:为合并处理和累加处理后得到的每个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理;
对进行合并处理和累加处理后得到的每个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。比如针对范围匹配地址101~200,最终分别为(96~127)、(96~99)、(100)、(128~191)、(192~199)、(200)配置一条ACL规则,总共配置6条ACL规则,相对于现有技术通过加法分解方式需要7条规则进一步精简到只需要6条规则,避免精确匹配硬件资源的浪费。具体分配结果如下:
以下给出针对两个不同范围匹配地址,现有技术加法分解方法跟本发明分解方法进行比较的结果可见,通过本发明实施方式提供的上述方法,可以减少ACL规则使用数量,提高ACL规则利用率。
表1:本发明分解方法跟现有加法分解方法比较结果
通过上述实施方式的描述,可以理解,本发明实施方式提供的ACL规则的配置方法,通过对范围匹配地址进行2n分解得到至少两个分解区间,对分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,如此循环直至所有分解区间的有效地址个数都为2的幂次方,然后对这些有效地址个数为2的幂次方的所有区间中的连续区间进行合并处理,不连续区间进行累加处理,对经过累加处理和合并处理后得到的区间分别配置ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。通过这样的方式,从而大大减少ACL规则使用数量,提高ACL规则利用率,节省TCAM硬件资源。
请参阅图3,图3是本发明实施方式提供的一种网络设备的结构示意图,本实施方式的网络设备100包括接收模块11、第一分解模块12、第二分解模块13、处理模块14以及配置模块15,其中:
接收模块11用于接收数据包中一段需要范围匹配的地址;
网络设备通过接收模块11接收数据包中的一段需要范围匹配的地址,这里假设需要范围匹配的地址为72~255。
第一分解模块12用于将接收模块11接收的范围匹配地址进行2n分解得到至少两个分解区间,其中n取非负整数;
其中,第一分解模块12将范围匹配地址进行2n分解得到至少两个分解区间,n取非负整数。其中,第一分解模块12可以采用现有的任何一种进行2n分解的方式来对范围匹配地址进行分解。
其中,本发明实施方式中提供的一种将范围匹配地址进行2n分解得到至少两个分解区间的方法为:第一分解模块12确定范围匹配地址的中心地址,以中心地址为中心,分别向范围匹配地址的两端分解得到至少两个分解区间,中心地址为范围匹配地址以内最大的2n或为通过a2n+b2n-1+c2n-2+d2n-3……方式累加得到的范围匹配区间内的最小数值,其中,a、b、c、d取0或1。
以范围匹配地址72~255为例,28=256,超出上限255,26=64在下限72之外,27=128刚好处于72~255范围内且是该范围内最大的2的幂次方数值,因此以128作为中心地址,向72~255的两端分解得到72~127,128~255两个分解区间。
而以范围匹配地址130~200作为举例,28=255,超出上限200,27=128又在下限130之外,这时候,将27向下一级26做一个累加,即128+64=192,这个192刚好处于范围130~200之间,以192作为中心地址,向130~200的两端分解得到130~191,192~200两个分解区间。
需要说明的是,当范围匹配地址以内不存在2幂次方数值时,以2的幂次方数值逐级累加得到的最小数值作为中心地址,这时候的累加过程,只能是逐级累加。以上述为例,27+25=160虽然也在130~200之间,但是这不是逐级累加的结果,所以不能作为中心地址。在确定中心地址的时候,只要最高一级与其下一级幂次方的数累加得到的数值在范围匹配地址以内,即以这个数值作为中心地址,不再继续往下一级幂次方累加。
第二分解模块13用于将第一分解模块分解得到的分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,其中,0<k<n,通过减法方式再次分解是通过包含分解区间且有效地址个数为2的幂次方的大区间减去大区间内分解区间之外的区间以得到分解区间的方式,并对经再次分解后得到的有效地址个数不为2的幂次方的分解区间再次执行采用减法方式进行再次分解的步骤,如此循环直至分解得到的所有区间包含的有效地址个数都为2的幂次方;
将分解得到的分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,0<k<n。其中,采用减法方式进行再次分解是通过包含分解区间且有效地址个数为2的幂次方的大区间减去大区间内分解区间之外的区间以得到分解区间的方式。
优选地,大区间的有效地址个数是大于分解区间有效地址个数且最接近分解区间有效地址个数的2的幂次方。
以范围匹配地址为72~255为例,上述分解得到的72~127,128~255两个分解区间,其中72~127之间有效地址个数为56,56大于25(32)小于26(64),则将72~127采用减法方式进行再次分解。选择的大区间可以是包含72~127且有效地址个数为64,128,256……等的区间。这里优选有效地址个数为64的大区间即64~127,然后用区间64~127减去区间64~71即得到区间72~127。分解得到的64~127以及64~71都包含2的幂次方的有效地址,不需要循环执行再次分解的步骤,而128~255也刚好包含2的幂次方的有效地址,也不需要执行再次分解的步骤。
处理模块14用于对第二分解模块13的有效地址个数为2的幂次方的所有区间中的连续区间进行合并处理,不连续区间进行累加处理;
处理模块14对经分解后得到的所有的有效地址个数为2的幂次方的区间中连续区间进行合并处理,不连续区间进行累加处理。
这里的连续区间可以有两种情况:第一种情况是指两个区间有部分重叠,且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间,比如区间(128~255)-(192~255),是两个部分重叠的区间,并且合并后得到的区间(128~191)的有效地址个数为64个,符合合并条件,因此进行合并处理。
第二种情况是指两个区间,其中一个区间的上限刚好跟另一个区间的下限是连续的数值,并且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间。比如(0~1)+(2~3),这两个区间中1与2刚好是连续的数值,且两个区间合并后得到(0~3)中有效地址个数又刚好为4,符合合并条件,经合并后可以用一条规则来进行表示。
比如针对上述的72~200分解得到的区间64~127、64~71以及128~255,都不存在连续的区间,因此对这些区间进行累加处理。即最终结果为72~200=(64~127)-(64~71)+(128~255)。
其中,处理模块14可以在第二分解模块13将所有分解区间都分解到包含2的幂次方的区间后再执行处理操作,也可以在每次第二分解模块13执行完一次分解后执行一次处理操作。
配置模块15对处理模块14后得到的每个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。
配置模块15对处理模块14进行合并处理和累加处理后得到的每个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。比如针对上述范围匹配区间72~200,最终分别为(64~127)、(64~71)、(128~255)配置一条ACL规则,总共配置3条ACL规则。相对于现有技术通过加法分解方式需要4条规则即(72~79)、(80~95)、(96~127)以及(128~255),本发明方法进一步精简到只需要3条规则,避免精确匹配硬件资源的浪费。
请参阅图4,图4是本发明实施方式提供的另一种网络设备的结构示意图,本实施方式的网络设备200包括处理器21、存储器22、输入设备23、输出设备24以及总线系统25,其中:
处理器21控制网络设备200的操作,处理器21还可以称为CPU(Central Processing Unit,中央处理单元)。处理器21可能是一种集成电路芯片,具有信号的处理能力。处理器21还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器22可以包括只读存储器和随机存取存储器,并向处理器21提供指令和数据。存储器22的一部分还可以包括非易失性随机存取存储器(NVRAM)。
网络设备200的各个组件通过总线系统25耦合在一起,其中总线系统25除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统25。
存储器22存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器21通过调用存储器22存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器21接收数据包中一段需要范围匹配的地址,将范围匹配地址进行2n分解得到至少两个分解区间,其中n取非负整数,并进一步将分解得到的分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,其中,0<k<n,通过减法方式再次分解是通过包含分解区间且有效地址个数为2的幂次方的大区间减去大区间内分解区间之外的区间以得到分解区间的方式,并对经再次分解后得到的有效地址个数不为2的幂次方的分解区间再次执行采用减法方式进行再次分解的步骤,如此循环直至分解得到的所有区间包含的有效地址个数都为2的幂次方,然后对有效地址个数为2的幂次方的所有区间中的连续区间进行合并处理,不连续区间进行累加处理,并为经合并处理和累加处理后的每一个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。
其中,处理器31可以采用现有的任何一种进行2n分解的方式来对范围匹配地址进行分解。
本实施方式中提供的一种将范围匹配地址进行2n分解得到至少两个分解区间的方法为:处理器21确定范围匹配地址的中心地址,以中心地址为中心,分别向范围匹配地址的两端分解得到至少两个分解区间,中心地址为范围匹配地址以内最大的2n或为通过a2n+b2n-1+c2n-2+d2n-3……方式累加得到的范围匹配区间内的最小数值,其中,a、b、c、d取0或1。
以范围匹配地址72~255为例,28=256,超出上限255,26=64在下限72之外,27=128刚好处于72~255范围内且是该范围内最大的2的幂次方数值,因此以128作为中心地址,向72~255的两端分解得到72~127,128~255两个分解区间。
而以范围匹配地址130~200作为举例,28=255,超出上限200,27=128又在下限130之外,这时候,将27向下一级26做一个累加,即128+64=192,这个192刚好处于范围130~200之间,以192作为中心地址,向130~200的两端分解得到130~191,192~200两个分解区间。
需要说明的是,当范围匹配地址以内不存在2幂次方数值时,以2的幂次方数值逐级累加得到的最小数值作为中心地址,这时候的累加过程,只能是逐级累加。以上述为例,27+25=160虽然也在130~200之间,但是这不是逐级累加的结果,所以不能作为中心地址。在确定中心地址的时候,只要最高一级与其下一级幂次方的数累加得到的数值在范围匹配地址以内,即以这个数值作为中心地址,不再继续往下一级幂次方累加。
其中,处理器21将分解得到的分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,0<k<n。其中,采用减法方式进行再次分解是通过包含分解区间且有效地址个数为2的幂次方的大区间减去大区间内分解区间之外的区间以得到分解区间的方式。
优选地,大区间的有效地址个数是大于分解区间有效地址个数且最接近分解区间有效地址个数的2的幂次方。
以范围匹配地址为72~255为例,上述分解得到的72~127,128~255两个分解区间,其中72~127之间有效地址个数为56,56大于25(32)小于26(64),则将72~127采用减法方式进行再次分解。选择的大区间可以是包含72~127且有效地址个数为64,128,256……等的区间。这里优选有效地址个数为64的大区间即64~127,然后用区间64~127减去区间64~71即得到区间72~127。分解得到的64~127以及64~71都包含2的幂次方的有效地址,不需要循环执行再次分解的步骤,而128~255也刚好包含2的幂次方的有效地址,也不需要执行再次分解的步骤。
本实施方式中,处理器21对所有有效地址个数为2的幂次方的区间中连续区间进行合并处理,这里的连续区间可以有两种情况:第一种情况是指两个区间的有部分重叠,且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间,比如区间(128~255)-(192~255),是两个部分重叠的区间,并且合并后得到的区间(128~191)的有效地址个数为64个,符合合并条件进行合并处理。
第二种情况是指两个区间,其中一个区间的上限刚好跟另一个区间的下限是连续的数值,并且合并后可以用同一条规则表示(即合并后的有效地址个数也是2的幂次方)的区间。比如(0~1)+(2~3),这两个区间中1与2刚好是连续的数值,且两个区间合并后得到(0~3)中有效地址个数又刚好为4,符合合并条件,经合并后可以用一条规则来进行表示。
处理器21可以在将所有分解区间都分解到包含2的幂次方的区间后再进行合并和累加处理,也可以是没执行一次分解后都执行一次合并和累加处理。
处理器21还进一步对进行合并处理和累加处理后得到的每个区间分别配置一条ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。比如针对上述范围匹配区间72~200,最终分别为(64~127)、(64~71)、(128~255)配置一条ACL规则,总共配置3条ACL规则。相对于现有技术通过加法分解方式需要4条规则即(72~79)、(80~95)、(96~127)以及(128~255),本发明方法进一步精简到只需要3条规则,避免精确匹配硬件资源的浪费。
上述本发明实施方式揭示的方法可以应用于处理器21中,或者由处理器21实现。在实现过程中,上述方法的各步骤可以通过处理器21中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。结合本申请实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器22,处理器21读取存储器22中的信息,结合其硬件完成上述方法的步骤。
通过本实施方式的提供的网络设备为范围匹配区间配置ACL规则,可以减少ACL规则使用数量,提高ACL规则利用率。
上述为本发明实施方式提供的ACL规则的配置方法及网络设备的详细描述,通过上述实施方式的描述,可以理解,本发明通过对范围匹配地址进行2n分解得到至少两个分解区间,对分解区间中有效地址个数大于2k小于2k+1的分解区间,采用减法方式进行再次分解,如此循环直至所有分解区间的有效地址个数都为2的幂次方,然后对这些有效地址个数为2的幂次方的所有区间中的连续区间进行合并处理,不连续区间进行累加处理,对经过累加处理和合并处理后得到的区间分别配置ACL规则,以依据配置的ACL规则对经过的数据包地址进行处理。通过这样的方式,从而大大减少ACL规则使用数量,提高ACL规则利用率,节省TCAM硬件资源。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。