具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的首选实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容更加透彻全面。
需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件并与之结合为一体,或者可能同时存在居中元件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
根据市场部门对专网市场的调研,在轨道交通、机场、电力、政府等专网通信领域及具备机柜安装机房的民用领域对BBU(Building Baseband Unit,基带处理单元)产品招标需求中,明确提出插板式机箱结构的BBU产品形态,并对设备的可靠性和备份功能提出要求。为此,针对HA(High Availability,支持硬件备份的高可靠)BBU平台,需要包括插板式机箱结构硬件平台、不断电热插拔、电源模块1+1热备份以及主控板1+1热备份等技术功能。其中,热备份涉及到LTE(Long Term Evolution,长期演进)协议模块的状态变量的备份以及失步恢复,尤其是L2数据面实时变化的状态变量。
主控板或业务板热切换时,主要需要周期性地备份PDCP层或RLC层的业务状态变量。状态变量的特殊处理,需要区分AM(Acknowledged Mode,确认模式)或UM(Unacknowledged Mode,非确认)模式,上行或下行,PDCP层或RLC层,传统的处理方法是使用重建立进行失步恢复,将基站和UE之间状态变量的同步,且只是一定业务条件下的恢复。同时,重建立是由终端发起,不便于基站触发,而且会产生较大的业务中断。如图1所示,图1为传统技术进行重建立的流程示意图,当发生故障进行切换时,备板的高层发送一些错误的重配置信令触发UE进行重建立流程,利用重建立流程使得通信的两端状态变量都恢复到初始状态。这种方法主要针对UM模式,没有普偏性,而且有的UE不一定会进行重建立。
为此,本申请实施例基于BBU设备周期备份的特点,提供一种L2状态变量失步恢复的方法、装置及设备,利用LTE协议的逻辑,对RLC层上下行以及PDCP层上下行进行特殊处理,使得基站和UE的状态变量能够很快地同步起来,并使得应用层数据不被协议层丢弃;可应用于HA系统,实现基站和UE空口数据面状态变量的快速恢复。其中,L2状态变量失步恢复的方法可以应用于如图2所示的应用环境中,图2为一个实施例中L2状态变量失步恢复的方法的应用环境图。其中,终端102通过网络与BBU设备104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
无线接口可分为三个协议层:物理层(L1)、数据链路层(L2)和网络层(L3)。
L1主要用于为高层业务提供传输的无线物理通道。L2可包括MAC(Medium AccessControl)、RLC、BMC(Broadcast/Multicast Control)和PDCP四个子层。L3包括接入层中的RRC子层和非接入层的MM(Mobility Management,移动性管理)和CC(Call Control,呼叫控制)。L2状态变量可包括RLC层的上行状态变,RLC层的下行状态变量,以及PDCP层的下行状态变量等。
在一个实施例中,提供了一种L2状态变量失步恢复的方法,如图3所示,图3为一个实施例中L2状态变量失步恢复的方法的第一示意性流程图,包括:
步骤S110,对RLC层的上行状态变量进行UE的识别码适配,接收UE发送的状态报告。
具体而言,获取UE的识别码,将本地所有的状态变量与识别码适配,例如,根据UE的识别码,对RLC层的上行状态变量进行适配。按照接收到的识别码对上行有关的状态变量进行修改,例如RLC层的上行状态变量。基于修改后的上行状态变量,可正常接收后续的数据,例如,正常接收UE传输的数据。
需要说明的是,UE可为与基站侧、BBU设备进行数据交互的终端。
识别码作为UE的标识,可用于基站侧、BBU设备对不同UE进行识别。对RLC层的上行状态变量进行识别码适配后,可正常接收该UE上传的数据,例如UE的状态报告,避免数据丢失,保证业务的连续不中断。基站侧对RLC层的上行状态变量进行识别码适配;识别码为UE的标识。
步骤S120,基于状态报告中的请求重传消息,向UE发送非法数据包,并依据状态报告修改RLC层的下行状态变量;非法数据包用于指示UE保持本UE的PDCP状态。
具体而言,状态包括可包括UE的请求重传消息;基站侧根据请求重传消息,可伪造UE需要重传的PDU包;具体地,伪造一个任意包,即非法数据包,并将非法数据包发送给UE。按照接收到的状态报告对RLC层的下行状态变量进行修改,以使后续下行包的发送能够根据此状态报告进行,可满足与UE的正常交互。
需要说明的是,RLC层的下行状态变量用于向UE发送数据,依据UE的状态报告进行修改,可向UE传输对应的下行数据,完成RLC层的状态变量同步,保证业务的连续不中断。
状态报告可包括请求重传消息;请求重传消息可用于指示基站侧生成UE端要求重传的PDU。具体地,请求重传消息可包括UE要求重传的一个完整PDU或PDU分段。
非法数据包用于让UE的PDCP入口处就检测该数据包为非法而丢弃,不至于影响对端PDCP状态,即,保持UE的PDCP状态。具体地,基站侧可根据UE端的请求重传消息,伪造一个任意包,即,非法数据包可为伪造的重传PDU包;伪造的重传PDU包可为完整的PDU包,可用于让UE端的PDCP入口处就检测该伪造的重传PDU是非法的数据包而丢弃,不影响UE端的PDCP状态。在主备板切换的时候,由于备板可能没有对端UE要求重传的PDU,因此,RLC层采用伪造的方式,例如,对伪造包中的PDCP头部进行违反协议构建,从而可在UE的PDCP层丢弃,既没有影响UE的PDCP的状态变量,也没有影响应用层的业务。
步骤S130,以预设数值对PDCP层的下行状态变量进行修改,确认恢复L2状态变量。
具体而言,完成RLC层的状态变量同步后,可认为底层是正常的运行状态,可进行PDCP层的状态变量同步。修改PDCP层的下行状态变量,使得最终的PDU SN大于此时UE接收状态变量的值,UE照常接收下行数据包,避免发送的PDU在PDCP窗口外而被UE丢弃,完成PDCP层的状态变量同步,确认回复L2状态变量。
需要说明的是,预设数值用于使UE正常接收下行数据包,保证业务不中断。以预设数值修改PDCP层的下行状态变量的方式可包括:将PDCP层的下行状态变量的值修改为预设数值,或对PDCP层的下行状态变量的值进行增加预设数值的处理,或对PDCP层的下行状态变量的值进行预设数值的倍数增长。
对于PDCP层的状态变量同步,由于考虑设备的备份周期,PDCP序列号的最大跨越没有超过AM 2048的重排序窗口,因此,对于AM模式PDCP的上行可不做特殊处理,状态变量能够自动恢复,上行方向检测丢包,但是照常接收向上递交SDU(service Data Unit,服务数据单元);对于AM模式下行,以预设数值对状态变量进行修改。
本申请实施例利用LTE协议的逻辑,对RLC层以及PDCP层的状态变量进行处理,以使基站和UE的状态变量很快地完成同步,避免应用层数据被协议层丢弃;能够解决HA系统主备板切换后基站和UE之间状态变量不同步的问题,并且,在主备板热切换时,较好地保证各种类型业务的速率连续性。基站和UE之间状态变量的恢复无需依靠重建立,恢复机制更加准确可靠且适用于各种业务,在主备切换后可很快地恢复应用层的业务,保证业务不中断。
应该注意的是,获取UE的状态报告的步骤可包括:通过发送指令来触发UE发送状态报告,或接受UE周期性发送的状态报告。
在一个实施例中,如图4所示,图4为一个实施例中L2状态变量失步恢复的方法的第二示意性流程图,接收UE发送的状态报告的步骤之前,还包括步骤:
向UE发送POLL包;POLL包为伪造的数据包,用于指示UE发送状态报告。
具体而言,下行方向向UE发送一个伪造的POLL包,以触发UE发送状态报告,并获取该状态报告。
需要说明的是,通过伪造数据包的方式来触发UE发送状态报告,可尽快恢复失步,防止业务中断,方便快捷且准确可靠。
在一个实施例中,PDCP层的下行状态变量包括发送状态变量以及超帧号。
如图5所示,图5为一个实施例中L2状态变量失步恢复的方法的第三示意性流程图,以预设数值对PDCP层的下行状态变量进行修改的步骤包括:
步骤S132,基于备份周期,以预设数值对发送状态变量的值进行增加;预设数值为基于备份周期生成的数值。
具体而言,PDCP层的下行状态变量可包括发送状态变量以及超帧号,对PDCP层的下行状态变量的修改包括:在发送状态变量的值的基础上增加预设数值,可考虑翻转;对超帧号进行相应的修改。发送状态变量可为TX_SN或next PDCP TxSn,超帧号可为txHfn。
需要说明的是,具有主板和备板的设备设置有备份周期,用于定期备份数据,以便于主备板的切换。预设数值可由设备的备份周期来确定。例如,在备份周期为100ms(毫秒)时,可将预设数值设为1200;由于PDCP序列号最大跨越1200左右,没有超过AM 2048的重排序窗口,对于AM模式PDCP上行不需做特殊处理,状态变量可以自动恢复;在PDCP检测到丢包时,对于AM模式下行进行发送状态变量TX_SN增加1200的处理。
在一个实施例中,备份周期的取值范围为50ms至150ms。
具体而言,备份周期可依据设备配置以及运行需求进行设置,取值范围可为50ms至150ms之间。
需要说明的是,预设数值可随备份周期线性增长,根据备份周期,能够计算出对应的预设数值,使得UE能够正常接收下行数据包。
在一个实施例中,识别码为处理RLC PDU得到的SN号。
如图6所示,图6为一个实施例中L2状态变量失步恢复的方法的第四示意性流程图,对RLC层的上行状态变量进行UE的识别码适配的步骤之前,还包括步骤:
步骤S106,在接收到主备切换指令时,初始化备板资源,获取RLC PDU。
具体而言,UE的识别码可为SN号。接收到HA框架软件发送的主备切换指令时,备板初始化有关资源,开始准备进行LTE状态变量的恢复。上行方向收到RLC PDU后,解析出SN号。
需要说明的是,根据上行方向收到的RLC PDU进行解析,得到SN号,可快速准确地获取当前与设备交互的UE的识别码,有利于状态变量的快速同步,避免与UE之间的业务中断。
在一个实施例中,如图7所示,图7为一个实施例中L2状态变量失步恢复的方法的第五示意性流程图,接收UE发送的状态报告的步骤之前,还包括步骤:
步骤S108,对RLC层的下行状态变量、PDCP层的下行状态变量、PDCP层的上行状态变量以及定时器进行识别码适配。
具体而言,获取到UE的标识码后,可将本地所有的状态变量与定时器进行标识码适配。进行适配修改后,能够与UE进行正常的数据交互。具体地,可根据识别码,对RLC层的下行状态变量、PDCP层的下行状态变量、PDCP层的上行状态变量以及定时器进行适配。
在一个实施例中,非法数据包为违反协议构建的、包括RLC头部以及PDCP头部的数据包。
具体而言,伪造的非法数据包为组好RLC头部(要求重传的SN)、对应的PDCP头部并且写成违反协议格式的数据包,目的让UE的PDCP入口处就检测头部的非法而丢弃,不至于影响对端的PDCP状态。
在一个实施例中,非法数据包为0x70格式的数据包。
具体而言,违反协议的格式包括多种,可将非法数据包写成0x70或其他格式的数据包。
在一个实施例中,请求重传消息包括PDU分段;非法数据包为完整的PDU包。
具体而言,在UE要求重传为一个PDU分段时,伪造完整的PDU包并发送给UE,后续下行包的发送则根据状态报告来进行。
需要说明的是,备板没有待重传的PDU,没有必要进行分段,并且,分段还可能引起UE的错误数据向PDCP层投递。
在一个实施例中,如图8所示,图8为一个实施例中L2状态变量失步恢复的方法的第六示意性流程图,包括步骤:
步骤S1,接收HA框架软件发过来的主备切换指令,备板初始化有关资源,开始准备进行LTE状态变量的恢复。
步骤S2,上行方向收到RLC PDU后,解析出SN号,将本地所有的状态变量与定时器进行SN号适配,即,按照接收到的SN号对本地上行有关的状态变量进行修改,修改后就可以正常接收后续的数据。
步骤S3,下行方向首先发送一个伪造POLL包,触发收到状态报告后,对于UE要求重传的PDU,伪造一个任意包并发送给UE。其中,任意包需要组好RLC头部(填写终端要求重传的SN),对应的RLC SDU,即PDCP头部,并写成0x70或其他格式;目的是让UE的PDCP入口处就检测头部非法而丢弃,不至于影响对端的PDCP状态。如果UE要求重传只是一个PDU分段,此时仍伪造一个完整的PDU给UE;因为备板没有待重传的PDU,也就没有必要分段,并且,分段还可能引起UE的错误数据向PDCP投递。后续下行包的发送可根据状态报告进行,即,下行状态变量按照接收到的状态报告进行修改。
步骤S4,对于PDCP层的状态变量同步,考虑100ms的备份周期,PDCP序列号最大跨越1200左右,没有超过AM 2048的重排序窗口,所以,对于AM模式PDCP上行不需做特殊处理,状态变量可以自动恢复,只是PDCP检测到丢包时,对于AM模式下行进行发送状态变量TX_SN增加1200的处理。
本申请实施例不需要借助重建立来进行L2状态变量的恢复,恢复机制更加准确可靠。同时,由于备板可能没有对端要求重传的PDU,RLC层的处理采用伪造的方式,即,对伪造包的PDCP包头进行违反协议构建,使其在UE的PDCP层丢弃,既没有影响UE的PDCP的状态变量,也没有影响应用层的业务。PDCP下行对发送状态变量进行增加预设数值的处理,使得最终的PDU SN大于此时UE接收状态变量的值,终端能够照常接收数据包,避免发送的PDU在PDCP窗口外而被对端丢弃。
应该理解的是,虽然图3-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种L2状态变量失步恢复的装置,如图9所示,图9为一个实施例中L2状态变量失步恢复的装置的结构示意图,包括:
状态变量适配模块110,用于对RLC层的上行状态变量进行UE的识别码适配,接收UE发送的状态报告。
RLC层状态变量修改模块120,用于基于状态报告中的请求重传消息,向UE发送非法数据包,并依据状态报告修改RLC层的下行状态变量;非法数据包用于指示UE保持本UE的PDCP状态。
PDCP层状态变量修改模块130,用于以预设数值对PDCP层的下行状态变量进行修改,确认恢复L2状态变量。
在一个实施例中,状态变量适配模块还包括:
状态报告触发单元,用于向UE发送POLL包;POLL包为伪造的数据包,用于指示UE发送状态报告。
在一个实施例中,PDCP层的下行状态变量包括发送状态变量以及超帧号。
PDCP层状态变量修改模块包括:
发送状态变量修改单元,用于基于备份周期,以预设数值对发送状态变量的值进行增加;预设数值为基于备份周期生成的数值。
在一个实施例中,备份周期的取值范围为50ms至150ms。
在一个实施例中,识别码为处理RLC PDU得到的SN号。
L2状态变量失步恢复的装置还包括:
RLC PDU获取模块,用于在接收到主备切换指令时,初始化备板资源,获取RLCPDU。
在一个实施例中,状态变量适配模块还包括:
适配单元,用于对RLC层的下行状态变量、PDCP层的下行状态变量、PDCP层的上行状态变量以及定时器进行识别码适配。
在一个实施例中,非法数据包为违反协议构建的、包括RLC头部以及PDCP头部的数据包。
在一个实施例中,非法数据包为0x70格式的数据包。
在一个实施例中,请求重传消息包括PDU分段;非法数据包为完整的PDU包。
关于L2状态变量失步恢复的装置的具体限定可以参见上文中对于L2状态变量失步恢复的方法的限定,在此不再赘述。上述L2状态变量失步恢复的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示,图10为一个实施例中计算机设备的结构示意图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储UE识别码、SN号、备份周期以及状态变量等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种L2状态变量失步恢复的方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种设备,如图11所示,图11为一个实施例中设备的结构示意图,包括主板210,连接主板210的备板220,以及分别连接主板210、备板220的处理器230;处理器230执行如上述的L2状态变量失步恢复的方法,包括步骤:
对RLC层的上行状态变量进行UE的识别码适配,接收UE发送的状态报告。
基于状态报告中的请求重传消息,向UE发送非法数据包,并依据状态报告修改RLC层的下行状态变量;非法数据包用于指示UE保持本UE的PDCP状态。
以预设数值对PDCP层的下行状态变量进行修改,确认恢复L2状态变量。
在一个实施例中,处理器执行计算机程序接收UE发送的状态报告的步骤之前,还实现以下步骤:向UE发送POLL包;POLL包为伪造的数据包,用于指示UE发送状态报告。
在一个实施例中,PDCP层的下行状态变量包括发送状态变量以及超帧号。
处理器执行计算机程序以预设数值对PDCP层的下行状态变量进行修改的步骤时,还实现以下步骤:基于备份周期,以预设数值对发送状态变量的值进行增加;预设数值为基于备份周期生成的数值。
在一个实施例中,备份周期的取值范围为50ms至150ms。
在一个实施例中,识别码为处理RLC PDU得到的SN号。
处理器执行计算机程序对RLC层的上行状态变量进行UE的识别码适配的步骤之前,还实现以下步骤:在接收到主备切换指令时,初始化备板资源,获取RLC PDU。
在一个实施例中,处理器执行计算机程序接收UE发送的状态报告的步骤之前,还实现以下步骤:对RLC层的下行状态变量、PDCP层的下行状态变量、PDCP层的上行状态变量以及定时器进行识别码适配。
在一个实施例中,非法数据包为违反协议构建的、包括RLC头部以及PDCP头部的数据包。
在一个实施例中,非法数据包为0x70格式的数据包。
在一个实施例中,请求重传消息包括PDU分段;非法数据包为完整的PDU包。
在一个实施例中,如图12所示,图12为一个实施例中处理器的装置结构示意图,处理器包括故障检测模块、RLC恢复模块、通知模块以及PDCP恢复模块。其中,故障检测模块主要用于接收HA软件框架发过来的主备切换指令,触发备板开始激活小区建立流程,并初始化有关资源,准备进行LTE状态变量的恢复流程。
RLC恢复模块主要包括上行方向适配修改SN有关的状态变量,尽量不开启相关协议定时器,下行方向伪造POLL包以及伪造终端需要重传的PDU包;下行状态变量按照接收到的状态报告进行修改,此模块通过开关控制,在一次主备切换过程中仅运行一次。
通知模块主要是在上述RLC恢复模块操作完成后,通知PDCP恢复模块RLC层已经恢复完成。PDCP层此时可认为底层已经正常,接下来进行本层的恢复操作。通知模块以RB无线承载为最小粒度,通过有关全局变量来完成两个模块的通知消息。通知模块还包括在故障检测模块激活小区后、及时告知RLC恢复模块等相关操作。
PDCP恢复模块主要包括对下行状态变量进行修改,对nextPdcpTxSn增加1200,并考虑翻转,对超帧号txHfn进行相应的修改,上行方向检测丢包,但是照常接收向上递交SDU。此模块的操作通过开关控制,在一次主备切换过程中仅运行一次。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对RLC层的上行状态变量进行UE的识别码适配,接收UE发送的状态报告。
基于状态报告中的请求重传消息,向UE发送非法数据包,并依据状态报告修改RLC层的下行状态变量;非法数据包用于指示UE保持本UE的PDCP状态。
以预设数值对PDCP层的下行状态变量进行修改,确认恢复L2状态变量。
在一个实施例中,计算机程序被处理器执行接收UE发送的状态报告的步骤之前,还实现以下步骤:向UE发送POLL包;POLL包为伪造的数据包,用于指示UE发送状态报告。
在一个实施例中,PDCP层的下行状态变量包括发送状态变量以及超帧号。
计算机程序被处理器执行时以预设数值对PDCP层的下行状态变量进行修改的步骤,还实现以下步骤:基于备份周期,以预设数值对发送状态变量的值进行增加;预设数值为基于备份周期生成的数值。
在一个实施例中,备份周期的取值范围为50ms至150ms。
在一个实施例中,识别码为处理RLC PDU得到的SN号。
计算机程序被处理器执行对RLC层的上行状态变量进行UE的识别码适配的步骤之前,还实现以下步骤:在接收到主备切换指令时,初始化备板资源,获取RLC PDU。
在一个实施例中,计算机程序被处理器执行接收UE发送的状态报告的步骤之前,还实现以下步骤:对RLC层的下行状态变量、PDCP层的下行状态变量、PDCP层的上行状态变量以及定时器进行识别码适配。
在一个实施例中,非法数据包为违反协议构建的、包括RLC头部以及PDCP头部的数据包。
在一个实施例中,非法数据包为0x70格式的数据包。
在一个实施例中,请求重传消息包括PDU分段;非法数据包为完整的PDU包。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。