一种请求处理方法及装置
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种请求处理方法及装置。
背景技术
在很多业务系统中,每一条工单是一个流水线的实例,客户端会进行单个工单的创建,之后服务端会进行单个工单的处理。
在某些业务场景下,对工单存在大批量创建和处理的需要。比如,在线教学场景下,教师客户端有时需要选择多个课程同时创建对应的工单。但是,由于工单系统的工单处理接口是适配单个工单的,不支持批量化操作,无法满足这种批量化处理需求。
发明内容
本公开实施例至少提供一种请求处理方法及装置。
第一方面,本公开实施例提供了一种请求处理方法,应用于服务器,包括:
响应批量处理请求,确定所述批量处理请求所对应的处理事项个数;
按照所述处理事项个数,生成与所述批量处理请求对应的多个处理指令,并将所述多个处理指令存储在异步存储队列中;
从所述异步存储队列中获取处理指令,并基于获取的每一个所述处理指令,生成对应的操作数据;
在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端。
一种可能的实施方式中,所述批量处理请求中携带有用于标识所述批量处理请求的标识参数信息;
所述方法还包括:
在将所有处理指令对应的操作数据发送至所述用户端之后,向所述用户端返回所述标识参数信息,以指示所述用户端停止向所述服务器轮询获取处理结果。
一种可能的实施方式中,所述在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端,包括:
在获取到所述用户端轮询发起的处理结果获取请求后,将最近的N个操作数据反馈给前端,所述最近的N个操作数据为服务器从上一次接收到处理结果获取请求至本次接收到处理结果获取请求之间,针对N个处理指令生成的N个操作数据。
一种可能的实施方式中,所述方法还包括:
若未在所述服务器中检测到针对任一处理指令生成的操作数据,则将该处理指令重新添加至所述异步存储队列中。
第二方面,本公开实施例还提供一种请求处理方法,应用于用户端,包括:
生成批量处理请求,并将所述批量处理请求发送至服务器;
向所述服务器轮询发起处理结果获取请求,并在接收到所述服务器反馈的操作数据之后,基于所述操作数据进行数据更新。
第三方面,本公开实施例提供了一种请求处理装置,包括:
响应模块,用于响应批量处理请求,确定所述批量处理请求所对应的处理事项个数;
指令生成模块,用于按照所述处理事项个数,生成与所述批量处理请求对应的多个处理指令,并将所述多个处理指令存储在异步存储队列中;
处理模块,用于从所述异步存储队列中获取处理指令,并基于获取的每一个所述处理指令,生成对应的操作数据;
发送模块,用于在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端。
一种可能的实施方式中,所述批量处理请求中携带有用于标识所述批量处理请求的标识参数信息;
所述处理模块,还用于:
在将所有处理指令对应的操作数据发送至所述用户端之后,向所述用户端返回所述标识参数信息,以指示所述用户端停止向所述服务器轮询获取处理结果。
一种可能的实施方式中,所述处理模块,在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端时,用于:
在获取到所述用户端轮询发起的处理结果获取请求后,将最近的N个操作数据反馈给前端,所述最近的N个操作数据为服务器从上一次接收到处理结果获取请求至本次接收到处理结果获取请求之间,针对N个处理指令生成的N个操作数据。
一种可能的实施方式中,所述处理模块,还用于:
若未在所述服务器中检测到针对任一处理指令生成的操作数据,则将该处理指令重新添加至所述异步存储队列中。
第四方面,本公开实施例还提供了一种请求处理装置,包括:
生成模块,用于生成批量处理请求,并将所述批量处理请求发送至服务器;
更新模块,用于向所述服务器轮询发起处理结果获取请求,并在接收到所述服务器反馈的操作数据之后,基于所述操作数据进行数据更新。
第五方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者执行上述第二方面的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者执行上述第二方面的步骤。
采用本公开实施例提供的请求处理方法,可以实现批量化请求的发起和响应,客户端可以发起批量化请求,服务端可以在接收到批量化请求之后,生成多个处理指令,然后基于每一个处理指令,生成对应的操作数据,通过这种方法,无需单独设计批量化处理功能的服务端接口,而是将单个批量处理请求分解成多个处理指令后依次执行,从而可以通过不支持批量化操作的接口,实现批量化操作。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种请求处理方法的流程图;
图2示出了本公开实施例所提供的另一种请求处理方法的流程图;
图3示出了本公开实施例所提供的一种批量化工单处理方法的流程示意图;
图4示出了本公开实施例所提供的一种请求处理装置的架构示意图;
图5示出了本公开实施例所提供的另一种请求处理装置的架构示意图;
图6示出了本公开实施例所提供的电子设备600的结构示意图;
图7示出了本公开实施例所提供的电子设备700的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
相关技术中,在进行系统设计时,部分接口的接口属性可能会设计成不可批量处理操作的,但是由于应用系统的不断优化,用户的需求越来越多,因此,可能会对部分接口有批量化处理操作的需求,为满足用户需求,相关技术中,可能会直接改变应用系统的后台代码及前端页面,以满足用户的批量化处理需求,但是由于后台代码的改变,可能会导致整个应用系统架构的改变,实现步骤较繁琐。
以工单创建为例,在工单系统设计之初,可能会将工单创建过程中所调用的接口设计成不可批量处理操作的,在某些业务场景中,可能需要批量创建或者处理工单,这种情况下,由于系统接口本身的属性,可能无法满足批量化处理需求。
基于此,本公开提供了一种请求处理方法,可以实现批量化请求的发起和响应,客户端可以发起批量化请求,服务端可以在接收到批量化请求之后,生成多个处理指令,然后基于每一个处理指令,生成对应的操作数据,通过这种方法,无需单独设计批量化处理功能的服务端接口,而是将单个批量处理请求分解成多个处理指令后依次执行,从而可以通过不支持批量化操作的接口,实现批量化操作。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
参见图1所示,为本公开实施例提供的一种请求处理方法的流程图,该方法应用于服务器,包括以下几个步骤:
步骤101、响应批量处理请求,确定所述批量处理请求所对应的处理事项个数。
步骤102、按照所述处理事项个数,生成与所述批量处理请求对应的多个处理指令,并将所述多个处理指令存储在异步存储队列中。
步骤103、从所述异步存储队列中获取处理指令,并基于获取的每一个所述处理指令,生成对应的操作数据。
步骤104、在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端。
以下是对步骤101~步骤104的详细介绍。
用户可以通过用户端发起批量处理请求,其中,批量处理请求中可以携带有多个处理事项的操作数据,操作数据例如可以为批量创建工单的操作数据、或批量删除工单的操作数据、或批量更新工单的操作数据等,多个处理事项可以是批量创建工单、批量删除工单、或批量更新工单。
需要说明的是,本方案的执行过程中,可以预先改变前端界面,以使用户可以通过前端页面发起批量处理请求,但是本方案的应用过程中的后端代码无需改变。对于用户界面而言,用户仅仅执行一次请求操作,而对于服务器而言,需要处理由批量处理请求生成的多个处理指令。
批量处理请求对应多个处理事项,每个处理事项,都对应一个处理指令,因此,生成与批量请求对应的处理指令的个数与处理事项的个数相同。
示例性的,若处理事项为创建工单,批量处理请求为创建N个工单对应的处理请求,N为正整数,则可以生成与批量处理请求对应的N个工单创建指令,每个工单创建指令用于指示生成一个工单。
在按照处理事项个数,生成与批量处理请求对应的多个处理指令后,为提高数据处理效率,满足对于高数据量的处理需求,在一种可能的实施方式中,还可以将生成的多个处理指令存储在异步存储队列中,然后再基于每一个处理指令,生成对应的操作数据之前,从异步存储队列中获取处理指令。
通过这种方法,生成批量处理请求对应的处理指令,与根据处理指令生成对应的操作数据可以同步执行,当服务器接收到多个批量处理请求时,通过将生成的处理指令存储在异步存储队列中,可以提高服务器对于批量处理请求的处理量。
其中,异步存储队列例如可以为卡夫卡消息队列,异步存储队列可以设置在除执行本方案的服务器外的其他服务器上。
当基于一个处理指令,生成对应的操作数据之后,可以先将数据暂存在服务器中,同时,再从异步存储队列中再次获取处理指令,并生成对应的操作数据,以此类推,直至基于异步存储队列中每一个处理指令,生成对应的操作数据。
其中,为节省存储空间,当从异步存储队列中获取处理指令之后,可以从异步存储队列中删除已经获取的处理指令。
在基于处理指令,生成对应的操作数据的过程中,若接收到用户端轮询发起的处理结果获取请求后,可以将已生成的操作数据发送至用户端。
具体的,可以在获取到用户端轮询发起的处理结果获取请求后,将最近的N个操作数据反馈给前端,所述最近的N个操作数据是指服务器从上一次接收到处理结果获取请求至本次接收到处理结果获取请求之间,针对N个处理指令生成的N个操作数据。
示例性的,若服务器在10:00接收到用户端发起的第一次处理结果获取请求,则将10:00之前生成的操作数据全部发送给用户端,若用户端在10:10接收到用户端发起的第二次处理结果获取请求,则将10:00至10:10之间生成的操作数据发送给用户端。
在一种可能的实施方式中,用户端向服务器发起的批量处理请求中还携带有用于标识批量处理请求的标识参数信息(例如可以为发起批量处理请求时的时间戳信息),服务器在将批量处理请求对应的所有处理指令对应的操作数据发送至用户端之后,还可以向用户端返回接收到的标识参数信息,以指示用户端停止向服务器轮询获取处理结果。
用户端在向服务器发送批量处理请求之后,以轮询的方式向服务器获取操作数据,当接收到服务器发送的标识参数信息之后,将接收到的标识参数信息与发送给服务器的标识参数信息进行对比,若比对成功(即接收到的标识参数信息与发送给服务器的标识参数信息一致),则停止向服务器轮询获取操作数据。
在一种可能的实施方式中,若未在服务器中检测到针对任一处理指令生成的操作数据,则说明服务器针对该处理指令生成操作数据失败,或者服务器未执行该处理指令,在这种情况下,则可以重新将该处理指令添加至异步存储队列中,以使服务器重新执行该处理指令。
基于相同的构思,本公开实施例还提供了另外一种请求处理方法,参见图2所示,为本公开实施例所提供的请求处理方法的流程示意图,该方法适用于用户端,包括以下几个步骤:
步骤201、生成批量处理请求,并将所述批量处理请求发送至服务器。
步骤202、向所述服务器轮询发起处理结果获取请求,并在接收到所述服务器反馈的操作数据之后,基于所述操作数据进行数据更新。
其中,用户端在向服务器轮询发起处理结果获取请求可以理解为用户端每隔预设时间向服务器发起一次处理结果获取请求。具体实施中,用户端在向服务器发起批量处理请求时,批量处理请求中可以携带有用于标识批量处理请求的标识参数信息(例如可以为时间戳),在接收到服务器发送的标识参数信息之后,将接收到的标识参数信息与发送至服务器的标识参数信息进行比对,若比对成功,则停止向服务器轮询获取处理结果。
采用本公开实施例提供的请求处理方法,可以实现批量化请求的发起和响应,客户端可以发起批量化请求,服务端可以在接收到批量化请求之后,生成多个处理指令,然后基于每一个处理指令,生成对应的操作数据,通过这种方法,无需单独设计批量化处理功能的服务端接口,而是将单个批量处理请求分解成多个处理指令后依次执行,从而可以通过不支持批量化操作的接口,实现批量化操作。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
为方便对上述请求处理方法的理解,下面将以工单处理系统为例,对上述请求处理方法做出介绍。
参见图3所示,为本公开实施例所提供的一种批量化工单处理方法的流程示意图,该方法应用于工单处理系统中,所调用的接口为不支持批量化操作的接口,包括以下几个步骤:
步骤301、响应批量工单处理请求,确定所述批量工单处理请求中所需处理的工单的数量。
其中,用户可以通过用户端发起批量工单处理请求,例如批量创建工单、批量删除工单、批量更新工单等。
步骤302、按照所述批量工单处理请求中所需处理的工单的数量,生成与所述批量工单处理请求对应的多个处理指令,并将生成的多个处理指令存储在异步存储队列中。
步骤303、从异步存储队列中获取处理指令,并基于获取的每一个处理指令,生成对应的工单处理数据。
具体实施中,服务器可以在获取一个处理指令,生成该处理指令对应的工单处理数据之后,再从异步存储队列中再次获取处理指令。
步骤304、在接收到用户端轮询发起的处理结果获取请求后,将已生成的工单处理数据发送至用户端。
在一种可能的实施方式中,用户端发起的批量工单处理请求中还携带有时间戳,该时间戳用于标识该批量工单处理请求,同时,用户端还可以存储该时间戳;服务器在将所有的处理指令处理之后,可以将该时间戳返回至用户端,用户端在接收到时间戳之后,与存储的时间戳进行对比,若一致则停止向服务器轮询。
另外,用户端在轮询后接收到工单处理数据之后,可以根据工单处理数据进行数据更新和显示。
上述方法中,该工单处理系统在设计之初,所设计的接口可能为不支持批量操作的接口,通过上述方法,可以通过该不支持批量操作的接口,进行批量化的工单操作,无需改变后台处理代码,系统改动较小,降低了人力处理成本。
基于同一发明构思,本公开实施例中还提供了与请求处理方法对应的请求处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述请求处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种请求处理装置的架构示意图,所述装置包括:响应模块401、指令生成模块402、处理模块403以及发送模块404;其中:
响应模块401,用于响应批量处理请求,确定所述批量处理请求所对应的处理事项个数;
指令生成模块402,用于按照所述处理事项个数,生成与所述批量处理请求对应的多个处理指令,并将所述多个处理指令存储在异步存储队列中;
处理模块403,用于从所述异步存储队列中获取处理指令,并基于获取的每一个所述处理指令,生成对应的操作数据;
发送模块404,用于在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端。
一种可能的实施方式中,所述批量处理请求中携带有用于标识所述批量处理请求的标识参数信息;
所述处理模块403,还用于:
在将所有处理指令对应的操作数据发送至所述用户端之后,向所述用户端返回所述标识参数信息,以指示所述用户端停止向所述服务器轮询获取处理结果。
一种可能的实施方式中,所述处理模块403,在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端时,用于:
在获取到所述用户端轮询发起的处理结果获取请求后,将最近的N个操作数据反馈给前端,所述最近的N个操作数据为服务器从上一次接收到处理结果获取请求至本次接收到处理结果获取请求之间,针对N个处理指令生成的N个操作数据。
一种可能的实施方式中,所述处理模块403,还用于:
若未在所述服务器中检测到针对任一处理指令生成的操作数据,则将该处理指令重新添加至所述异步存储队列中。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于相同的构思,本公开实施例还提供了另外一种请求处理装置,参见图5所示,为本公开实施例所提供的请求处理装置的架构示意图,包括生成模块501、更新模块502,具体的:
生成模块501,用于生成批量处理请求,并将所述批量处理请求发送至服务器;
更新模块502,用于向所述服务器轮询发起处理结果获取请求,并在接收到所述服务器反馈的操作数据之后,基于所述操作数据进行数据更新。
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图6所示,为本申请实施例提供的电子设备600的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当电子设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:
响应批量处理请求,确定所述批量处理请求所对应的处理事项个数;
按照所述处理事项个数,生成与所述批量处理请求对应的多个处理指令,并将所述多个处理指令存储在异步存储队列中;
从所述异步存储队列中获取处理指令,并基于获取的每一个所述处理指令,生成对应的操作数据;
在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端。
一种可能的实施方式中,处理器601执行的指令中,所述批量处理请求中携带有用于标识所述批量处理请求的标识参数信息;
处理器601执行的指令中还包括:
在将所有处理指令对应的操作数据发送至所述用户端之后,向所述用户端返回所述标识参数信息,以指示所述用户端停止向所述服务器轮询获取处理结果。
一种可能的实施方式中,处理器601执行的指令中,所述在接收到用户端轮询发起的处理结果获取请求后,将已生成的操作数据发送至所述用户端,包括:
在获取到所述用户端轮询发起的处理结果获取请求后,将最近的N个操作数据反馈给前端,所述最近的N个操作数据为服务器从上一次接收到处理结果获取请求至本次接收到处理结果获取请求之间,针对N个处理指令生成的N个操作数据。
一种可能的实施方式中,处理器601执行的指令中,还包括:
若未在所述服务器中检测到针对任一处理指令生成的操作数据,则将该处理指令重新添加至所述异步存储队列中。
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图7所示,为本申请实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701在执行以下指令:
生成批量处理请求,并将所述批量处理请求发送至服务器;
向所述服务器轮询发起处理结果获取请求,并在接收到所述服务器反馈的操作数据之后,基于所述操作数据进行数据更新。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的请求处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的请求处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的请求处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。