发明内容
本发明实施例所要解决的一个技术问题是:如何提高标签系统的运行效率。
根据本发明一些实施例的第一个方面,提供一种标签数据处理系统,包括:网关,被配置为获取来自客户端的数据处理请求,数据处理请求的目的地址包括预设地址以及服务标识;以及,根据服务标识将数据处理请求转发给相应的服务模块;应用服务器,包括多个服务模块,被配置为将获取的数据处理请求转换为计算请求并发送给相应的计算模块,在数据处理请求为预设类型的处理请求的情况下,将计算请求发送给内存计算集群;将计算结果作为数据处理响应返回给用户;内存计算集群,被配置为响应于获取计算请求,从缓存集群中读取标签数据并进行计算;以及将计算结果返回给应用服务器;缓存集群,被配置为存储标签数据。
在一些实施例中,缓存集群进一步被配置为存储比特数组Bitmap形式的标签数据。
在一些实施例中,每条Bitmap数据的各个位表示各个用户;缓存集群进一步被配置为存储用户标识与用户在Bitmap数据中的偏移量之间的对应关系。
在一些实施例中,内存计算集群进一步被配置为将计算结果中的Bitmap数据进行序列化处理,并将序列化处理结果发送给缓存集群进行存储。
在一些实施例中,数据处理请求为用户标识融合请求;内存计算集群进一步被配置为从缓存集群中获取来自多个数据源的用户标识数据,用户标识数据中的每一条包括一个或多个标识,来自不同数据源的用户标识数据中具有不同种类的标识;对用户标识数据进行数据融合处理,以便将同一用户的、来自不同数据源的标识进行关联,获得关联后的用户标识数据。
在一些实施例中,标签处理系统还包括:关系型数据库,被配置为以结构化数据的方式存储关联后的用户标识数据。
在一些实施例中,标签处理系统还包括:分布式数据库,被配置为存储离线标签数据;以及,获取并存储内存计算集群的计算结果,并将计算结果写入数据仓库中;数据仓库,被配置为以结构化数据的方式存储数据;以及,向分布式数据库、缓存集群推送存储的数据。
在一些实施例中,数据处理请求为包括SQL语句的表处理请求;应用服务器进一步被配置为将获取的表处理请求转换为包括SQL语句的Perl脚本,并将Perl脚本发送给ETL系统;标签处理系统还包括:ETL系统,被配置为执行Perl脚本,并将执行结果写入数据仓库中。
根据本发明一些实施例的第二个方面,提供一种标签数据处理方法,包括:网关获取来自客户端的数据处理请求,数据处理请求的目的地址包括预设地址以及服务标识;网关根据服务标识将数据处理请求转发给相应的服务模块,服务模块位于应用服务器中;服务模块将获取的数据处理请求转换为计算请求并发送给相应的计算模块,在数据处理请求为预设类型的处理请求的情况下,将计算请求发送给内存计算集群;内存计算集群响应于获取计算请求,从缓存集群中读取标签数据并进行计算;应用服务器将计算结果作为数据处理响应返回给用户。
在一些实施例中,数据处理请求为用户标识融合请求;内存计算集群进一步被配置为从缓存集群中获取来自多个数据源的用户标识数据,用户标识数据中的每一条包括一个或多个标识,来自不同数据源的用户标识数据中具有不同种类的标识;对用户标识数据进行数据融合处理,以便将同一用户的、来自不同数据源的标识进行关联,获得关联后的用户标识数据。
在一些实施例中,标签数据为比特数组Bitmap形式,每条Bitmap数据的各个位表示各个用户。
在一些实施例中,数据处理请求为人群生成请求,人群合并请求包括采用具有多个预设标签、并且预设标签的值等于相应预设值的用户生成人群的指示;内存计算集群响应于获取计算请求,从缓存集群中读取标签数据并进行计算包括:内存计算集群从缓存集群中搜索具有预设标签和相应的预设值的标签数据;内存计算集群将搜索到的标签数据进行按位与运算,得到一条Bitmap数据、作为人群标签数据,交集运算结果中值等于1的位所对应的用户为生成的人群中的用户。
在一些实施例中,内存计算集群进一步被配置为人群合并请求,人群合并请求包括将多个人群合并为一个新人群的请求;内存计算集群响应于获取计算请求,从缓存集群中读取标签数据并进行计算包括:内存计算集群获取从缓存集群中获取待合并的人群对应的人群标签数据;内存计算集群将获取的人群标签数据进行按位或运算,得到一条Bitmap数据、作为新人群的人群标签数据。
在一些实施例中,数据处理请求为表处理请求,表处理请求中包括SQL语句;标签数据处理方法还包括:服务模块将获取的表处理请求转换为包括SQL语句的Perl脚本,并将Perl脚本发送给ETL系统;ETL系统执行Perl脚本,并将执行结果写入分布式数据库。
上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以从应用服务层面和数据存储层面提高了计算和响应速度,提高了对标签数据的处理效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为根据本发明一些实施例的标签数据处理系统的结构示意图。如图1所示,该实施例的标签数据处理系统10包括网关110、应用服务器120、内存计算集群130以及缓存集群140。
网关110被配置为获取来自客户端的数据处理请求,其中,数据处理请求的目的地址包括预设地址以及服务标识;以及,根据服务标识将数据处理请求转发给相应的服务模块。
预设地址例如可以为服务中心的地址。网关110统一获取用户对各个服务模块的访问请求,并由网关110进一步将这些请求转发给相应的服务模块,从而可以在转发请求前进行鉴权、安全处理、负载均衡等操作,提高了用户进行业务访问时的安全性和响应速度。在一些实施例中,网关110可以为Zuul网关,服务模块可以是基于SpringCloud架构的微服务模块。从而可以提高HTTP响应速度。
Zuul网关与SpringCloud架构的微服务模块相关的组件包括如下部分:1)NetflixEureka:服务中心,用于定位服务,以实现云端中间层服务的发现和故障转移;2)NetflixHystrix:熔断器,是一种容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而提供更强大的容错能力;3)Netflix Zuul网关:在云平台上提供动态路由、监控、弹性、安全等边缘服务的框架,具有拦截和路由功能;4)Spring Cloud Config:配置中心,用于配置管理工具包,从而可以把配置设置到远程服务器,以集中化管理集群配置;5)Spring CloudBus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与SpringCloud Config联合实现热部署;6)Spring Cloud Sleuth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案;7)Spring Cloud Task:主要用于解决短命微服务的任务管理、任务调度的工作。
数据处理请求可以是标签数据处理请求、表数据处理请求等等。
应用服务器120,包括多个服务模块,被配置为将获取的数据处理请求转换为计算请求并发送给相应的计算模块,其中,在数据处理请求为预设类型的处理请求的情况下,将计算请求发送给内存计算集群;将计算结果作为数据处理响应返回给用户。
预设类型的处理请求为对实时性要求较高的请求。例如,对人群数据的生成、处理过程可以在内存计算集群130中进行。人群是指具有相同特征的多个用户的集合,特征可以通过标签值来体现。
内存计算集群130,被配置为响应于获取计算请求,从缓存集群中读取标签数据并进行计算;以及将计算结果返回给应用服务器。内存计算集群130包括一个或多个服务器,可以采用主从容灾部署。
在一些实施例中,数据处理请求为用户标识融合请求。内存计算集群130进一步被配置为从缓存集群140中获取来自多个数据源的用户标识数据,其中,用户标识数据中的每一条包括一个或多个标识,来自不同数据源的用户标识数据中具有不同种类的标识;对用户标识数据进行数据融合处理,以便将同一用户的、来自不同数据源的标识进行关联,获得关联后的用户标识数据。从而,可以更准确地确定哪些标签属于同一个用户。
在一些实施例中,数据融合过程可以采用基于Spark框架的标识匹配(ID-MAPPING)处理方式。
缓存集群140,被配置为存储标签数据。在一些实施例中,缓存集群140为Redis集群。
缓存集群140可以采用键-值(Key-Value)的方式存储标签数据。
在一些实施例中,缓存集群进一步被配置为存储比特数组(Bitmap)形式的标签数据。Bitmap形式即以0、1表示的数据。
表1示例性地示出了Bitmap数据以及含义。标签A有两种取值,分别为a1和a2。用户U1~U5的标签A的取值情况采用0、1表示,0表示用户的A标签取该标签值、1表示用户的A标签不取该标签值。“Bitmap”列表示相应的标签名和标签值对应的Bitmap数据。
表1
标签名 |
标签值 |
U1 |
U2 |
U3 |
U4 |
U5 |
Bitmap |
A |
a1 |
1 |
1 |
0 |
0 |
0 |
[1,1,0,0,0] |
A |
a2 |
0 |
0 |
1 |
1 |
1 |
[0,0,1,1,1] |
在一些实施例中,每条Bitmap数据的各个位表示各个用户。缓存集群140进一步被配置为存储用户标识与用户在Bitmap数据中的偏移量之间的对应关系。
例如,仍然参考表1,用户U1的ID为103010101、在Bitmap中对应第一个元素(即偏移量为1),从而可以记录对应关系<103010101,1>。
由于Bitmap数据的数据量小、可压缩,在采用Bitmap数据进行海量计算时,尤其是对人群的标签取交集、并集、补集等操作时,可以通过与、或、非等运算实现,进一步提高了数据处理效率。
通过上述实施例的系统,可以从应用服务层面和数据存储层面提高了计算和响应速度,提高了对标签数据的处理效率。
本发明的标签数据处理系统除了缓存以外,还可以部署其他数据存储装置,以适应不同类型的数据的处理。下面参考图2描述本发明系统数据架构的实施例。
图2为根据本发明一些实施例的系统数据架构的结构示意图。如图2所示,该实施例的系统数据架构20包括分布式数据库210、数据仓库220、云存储模块230、关系型数据库240、Redis缓存集群250。
分布式数据库210,例如为HBase,被配置为存储离线标签数据;以及,获取并存储内存计算集群的计算结果,并将计算结果写入数据仓库中。分布式数据库210中的数据可以是通过key-value的形式存储的,存储的内容例如可以包括离线标签数据,表示用户ID对应的用户的各个标签的值以及时间等辅助信息。
在一些实施例中,应用服务器进一步被配置为将获取的表处理请求转换为包括SQL(Structured Query Language,结构化查询语言)语句的Perl脚本,并将Perl脚本发送给ETL(Extract-Transform-Load,抽取、转换、加载)系统。标签处理系统还可以包括ETL系统260,被配置为执行Perl脚本,并将执行结果写入分布式数据库210。
数据仓库220,例如为Hive,被配置为以结构化数据的方式存储数据;以及,向分布式数据库、缓存集群推送存储的数据。数据仓库220以结构化数据的形式存储数据,存储的内容例如可以包括标识关系数据、用户标签数据等等。标识关系数据包括同一个用户关联的多个ID,例如用户ID-手机号-设备号-即时通讯账号-数据源优先级。数据仓库220可以用于存储原始数据、历史数据、快照数据等等。
云存储模块230被配置为用户上传的原始数据,并将原始数据同步到数据仓库220中。
关系型数据库240,被配置为被配置为以结构化数据的方式存储关联后的用户标识数据。在一些实施例中,关系型数据库240为MySQL数据库。关系型数据库240可以用于存储融合后的用户标识数据以及管理数据,例如标签的定义、枚举值、计算作业的配置等标签管理数据,人群标识和描述以及全量用户标识等客群管理数据,用户权限、对接通证等系统管理数据。
Redis缓存集群250中可以存储实时标签数据和人群数据。
通过上述实施例,可以根据不同的业务需求,采用多种数据存储介质达到支撑不同业务需求的目的。
在一些实施例中,标签数据处理系统还包括防火墙模块,被配置为在不同的服务模块之间、以及服务模块与数据库之间设置网络防火墙。图3为本发明标签管理系统安全架构的示意图。如图3所示,在安全架构30中,将系统划分为WEB服务子系统310(包括应用服务器等)、标签数据存储子系统320(包括缓存集群、关系型数据库、HBase等)、大数据存储子系统330(包括Hive等)。在不同的子系统之间设置防火墙300,用于进行访问控制和网络隔离。WEB服务子系统进行用户权限控制;标签数据存储子系统中的敏感数据进行加密处理;大数据存储子系统进行数据压缩和敏感数据加密。从而,可以进一步提升安全性。
图4为本发明标签数据处理系统的一种示例性的实现方式。如图4所示,用户通过个人PC发送数据处理请求,该请求通过网关42转发到Web服务器44。Web服务器44可以是虚拟机,用于提供Web服务。如果识别到用户的请求是系统管理、查询ID-MAPPING的结果等工作,Web服务器44可以从关系型数据库MySQL中获得结果;如果识别到用户的请求与计算有关,可以将其进一步转发到作为应用服务器的Proxy集群45。Proxy集群45对于需要高速响应的请求,将其转发到内存持久层进行处理,内存持久层包括内存计算集群471、个人命中集群472、R2M集群473,R2M集群473作为缓存集群存储Bitmap数据。Hive49可以用于向Hbase48和内存持久层提供数据。
下面参考图5描述本发明标签数据处理方法的实施例。
图5为根据本发明一些实施例的标签数据处理方法的流程示意图。如图5所示,该实施例的标签数据处理方法包括步骤S502~S510。
在步骤S502中,网关获取来自客户端的数据处理请求,其中,数据处理请求的目的地址包括预设地址以及服务标识。
在步骤S504中,网关根据服务标识将数据处理请求转发给相应的服务模块,服务模块位于应用服务器中。
在步骤S506中,服务模块将获取的数据处理请求转换为计算请求并发送给相应的计算模块,其中,在数据处理请求为预设类型的处理请求的情况下,将计算请求发送给内存计算集群。
在步骤S508中,内存计算集群响应于获取计算请求,从缓存集群中读取标签数据并进行计算。
在步骤S510中,应用服务器将计算结果作为数据处理响应返回给用户。
通过上述实施例的方法,可以从应用服务层面和数据存储层面提高了计算和响应速度,提高了对标签数据的处理效率。
在一些实施例中,标签数据为比特数组Bitmap形式,每条Bitmap数据的各个位表示各个用户。本发明的实施例可以对标签进行加工以生成其他结果。下面参考图6和图7描述基于标签数据进行的人群标签数据生成方法的实施例。
图6为根据本发明一些实施例的人群标签数据生成方法的流程示意图。在该实施例中,数据处理请求为人群生成请求,其中,人群合并请求包括采用具有多个预设标签、并且预设标签的值等于相应预设值的用户生成人群的指示。如图6所示,该实施例的人群标签数据生成方法包括步骤S602~S604。
在步骤S602中,内存计算集群从缓存集群中搜索具有预设标签和相应的预设值的标签数据。
在步骤S604中,内存计算集群将搜索到的标签数据进行按位与运算,得到一条Bitmap数据、作为人群标签数据,交集运算结果中值等于1的位所对应的用户为生成的人群中的用户。
例如,标签A取标签值a1对应的Bitmap数据为A(a1)=[1,1,0,0,0],标签B取标签值b1对应的Bitmap数据为B(b1)=[1,1,0,1,0]。如果想获得A=a1并且B=b1的人群,可以将A(a1)和B(b1)进行按位与运算,获得[1,1,0,0,0],即为具有A(a1)∩B(b1)标签的人群C1,其中包括Bitmap中第一个元素对应的用户U1和第二个元素对应的用户U2。
图7为根据本发明另一些实施例的人群标签数据生成方法的流程示意图。在该实施例中,内存计算集群进一步被配置为人群合并请求,其中,人群合并请求包括将多个人群合并为一个新人群的请求。如图7所示,该实施例的人群标签数据生成方法包括步骤S702~S704。
在步骤S702中,内存计算集群获取从缓存集群中获取待合并的人群对应的人群标签数据。
在步骤S704中,内存计算集群将获取的人群标签数据进行按位或运算,得到一条Bitmap数据、作为新人群的人群标签数据。
例如,人群C1=[1,1,0,0,0]、人群C2=[1,0,0,0,1],则人群C1和C2的合并结果为对C1和C2取并集,获得C1∪C2=[1,1,0,0,1],从而得到了新人群。
由于Bitmap数据的数据量小、可压缩,在采用Bitmap数据进行海量计算时,尤其是对人群的标签取交集、并集、补集等操作时,可以通过与、或、非等运算实现,进一步提高了数据处理效率。
本发明的实施例还可以通过ETL系统对数据表进行处理。下面参考图8描述本发明表处理方法的实施例。
图8为根据本发明一些实施例的表处理方法的流程示意图。在该实施例中,数据处理请求为表处理请求,表处理请求中包括SQL语句。如图8所示,该实施例的表处理方法包括步骤S802~S806。
在步骤S802中,服务模块通过网关获取用户发送的表处理请求。
表处理请求是涉及到数据表操作的请求。例如,用户注册了新的标签、录入标签的基本信息、录入标签的枚举值、指定标签依赖的表作业的名称、设置权限、将人群数据写入数据库、标签修改、标签下线、修改表、即时标签管理、永久标签管理等等。
在步骤S804中,服务模块将获取的表处理请求转换为包括SQL语句的Perl脚本,并将Perl脚本发送给ETL系统。
在步骤S806中,ETL系统执行Perl脚本,并将执行结果写入分布式数据库。
通过该实施例的方法,用户可以不关注后台系统中数据的存储位置,仅需要通过SQL语句输入对数据的具体处理方式。从而,降低了标签数据处理难度,提高了标签数据处理方法的适用性。
结合上述系统和方法,本发明可以提供标签加工流程、人群应用流程、数据输出等流程。下面示例性地描述这些流程。
标签的基本加工流程的操作方式如下。1.添加用于进行加工的数据表;2.选择添加的数据表,Web服务器会将数据表对应的名称返回给用户;3.录入标签基本信息,包括选择标签业务属性信息、根据标签业务属性定位最细粒度、输入标签名称、填写标签描述;4.录入标签枚举值;5.录入标签依赖的表作业名;6.输入该标签的SQL段;7.设置权限,例如公开或私有,安全等级按照提示进行选择。然后,如果保存并继续,可以继续注册下一个标签;如果立即部署,则系统会将该标签对应的SQL语句封装入对应表的Perl脚本,并传给ETL系统调度系统开始部署,并反馈标签加工作业部署成功或失败的信息。
标签的自定义加工流程的数据采用宽表存储,以时间为分区,按列存储(例如:人群标识列、性别标签值列、年龄标签值列、学历标签值列、持有金额标签列……、时间列)。该流程主要是针对业务测已经开发完成了基于用户的标签表,该表的形式是以客户标识为主键、以时间为分区、按列存储的格式。该流程如下。1.添加表,所添加的表为底层SQL所在作业脚本;2.选择表;3.录入标签基本信息,包括选择标签业务属性信息,根据标签业务属性确定最细粒度;4.输入标签名称;5.填写标签描述;6.录入标签枚举值;7.录入标签依赖的数据表作业名;8.选择标签权限,如公开、私密,并选择标签的安全等级。如果保存并继续,可以继续注册下一个标签;如果立即部署,则系统会将该标签对应的Perl脚本传给ETL系统调度系统以便部署至Hbase服务器,并反馈标签加工作业部署成功或失败的信息。
人群应用流程用于根据创建的人群选择标签维度,分析人群总数在各标签维度的用户数分布图。主要包括人群分析功能、人群对比分析功能、常用分析指标收藏功能、逻辑关系图查看功能、分析结果生成PDF并导出功能。该流程的主要功能如下:1.对已经选好的人群,进行指定维度(标签)的单一视图分析;2.人群对比分析功能:在有对标人群的场景下,进行同一维度(标签)的不同人群分析;3.常用分析指标收藏功能:通过选择指标收藏功能,可将指标设置为常用分析指标,在进行人群分析的时候,通过选择我的收藏即可使用已收藏的常用分析指标;4.逻辑关系图查看功能:通过逻辑关系图可查看所要分析人群的交、并关系;5.分析结果生成PDF并导出功能:可将分析结果生成PDF下载到本地。
人群探索应用流程的操作过程如下。1.对即将上传的用户群进行命名;2.上传外部用户群,以系统识别的客户标识ID/商品标识ID/品牌标识ID/品类标识ID/地理位置ID/KOL(key opinion leader)ID等不同类型ID为主键,建立用户群包并上传;3.匹配用户群,上传的人群包通过底层ID-mapping的算法进行ID识别匹配,最终前端页面显示匹配率;4.创建用户群;5.添加图表流程,在前端进行图表展示;6.选择要分析的标签流程,用于选择要分析的指标、维度;7.分析图表呈现,用于将最终结果以单一视图形式呈现;8.添加对比人群;9.导出逻辑关系或分析结果。
接口流程的操作过程如下。1.确定入参,入参例如可以为:客户标识ID/商品标识ID/品牌标识ID/品类标识ID/地理位置ID/KOL(key opinion leader)ID等不同类型ID;2.选择接口类型为取值接口;3.初步筛选标签范围;4.选取所需标签与标签值;5.填写基本信息,包括接口创建者、接口名称、接口描述与接口权限;6.输出结果,输出结果包括出参,即为用户选择的标签对应的标签值。
离线数据推送流程的操作如下。1.根据业务需求选择标签及标签值进行用户数据范围圈定;2.设置需要推送的目标库信息、表信息;3.建立ETL数据推送作业,以通过调度来实现数据推送;4.设置推送周期,以周期性把用户标签数据推送到自己的业务系统,实现系统间的数据同步。
本发明提供的系统和方法可以协助实现上述操作流程。本领域技术人员也可以基于这些架构实现更多的流程。从而,降低了标签数据处理的使用门槛,可以提高标签数据处理效率。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。