具体实施方式
根据结合附图对本发明示例性实施例的以下详细描述,本发明的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。
在本发明中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。
在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
根据本发明的实施例,整个仓库可以分成多个分区。例如,同一类的货品可以存放在一个分区里。例如,仓库的分区可以包括日常用品分区、个护化妆分区、电子产品分区、食品分区等,但不限于此。可以理解的是,分区的划分方式不是特定的,也不局限于本发明描述的方式。相反,可以根据实际需要,以各种不同的方式划分这样的分区。当收到一张订单后,不是立即安排拣货,而是可以将若干张订单集合在一起,然后再安排拣货。
本发明提供了一种集合多张订单来组建集合单的方法,充分利用整个仓库的拣货分区信息,倾向于优先将涉及相同拣货分区的订单组成一个集合单,根据本发明实施例,先确定每张订单所对应的拣货分区集合,然后针对每个拣货分区集合,将相应订单按照预定规则组建集合单,直到该拣货分区集合所对应的剩余订单无法组建集合单为止。这种组建集合单的方法使得组建后的集合单中商品集中度高,当实际在仓库中拣货时,可以行走较少的路径获得较多的商品,提高了实际拣货时的效率。
下面参照图2和图3描述根据本发明实施例的集合单组建***及集合多张订单来组建集合单的方法。
图1示意性示出了根据本发明实施例的集合单组建***100的应用场景。根据本发明的实施例,集合单组建***100可以应用于将电商平台***收到的多张订单组建成集合单,但本领域技术人员可以理解,集合单组建***100也可以应用于其他应用场景的集合单组建。如图1所示,集合单组件***100可以与电商平台***200、仓储数据库***300以及拣货***400进行交互。上述***可以采用一个或多个计算机***来实现。所述一个或多个计算机***可以集中部署在本地,或者可以分布式地布置在多个地点,并且通过通信网络实现交互。根据本发明的实施例,电商平台***200接收客户订单。仓储数据库***300存储和维护各货品的存储位置,例如其所在的分区。仓储数据库***300还可以包括存储货品的各个货格的位置数据。集合单组建***100将电商平台***200收到的订单数据,从仓储数据库***300获得订单中货品的定位情况,例如订单中货品分布于哪个或哪些分区,其所在的货格的位置数据等。然后,集合单组建***100根据该定位情况,按照一定规则组建集合单,然后将集合单分配给拣货***400。拣货***400根据集合单安排拣货。
可以理解的是,集合单组建***100、电商平台***200、仓储数据库***300和拣货***400可以集成或分离地实现,即,不同***或***的功能可以组合在一起,或者单个***的功能可以拆分为多个***来实现。
图2示意性示出了根据本发明实施例的集合单组建方法的流程图。根据本发明的实施例,该方法例如可以由集合单组建***100实现。
该方法开始于步骤S201。
在步骤S202,读取多张订单的订单数据。根据本发明的实施例,所述订单例如可以来自电商平台***200。所述订单可以是集合单组建***100从电商平台***200拉取到缓冲区的,也可以是电商平台***200推送到集合单组建***100的缓冲区的。根据本发明实施例,所述订单可以是定时自动获取,也可以是根据***管理者的指令而获取。订单数据例如可以包括货物种类、型号、供货商名称、购买数量等,但不限于此。每张订单上指定一个或多个货品。根据本发明的实施例,可以每隔预定时间、在一天中的特定时点、或者根据管理者指令,从缓冲区中读取全部的订单。
在步骤S203,确定每张订单所对应的拣货分区集合。根据本发明的实施例,每个拣货分区集合例如可以包含一个或多个拣货分区,每张订单所对应的拣货分区集合包括每张订单中的货品所在的拣货分区。
根据本发明实施例,整个仓库可以分成多个分区。例如,同一类的货品可以存放在一个分区里。例如,仓库的分区可以包括日常用品分区、个护化妆分区、电子产品分区、食品分区等,但不限于此。可以理解的是,分区的划分方式不是特定的,也不局限于本发明描述的方式。相反,可以根据实际需要,以各种不同的方式划分这样的分区。根据本发明实施例,一般仓库内的拣货分区不超过10个,若大于10个,则考虑合并某些分区,或者采用分区并联的方式连接某几个分区。
根据本发明实施例,拣货分区集合包含一个或多个拣货分区。在本发明实施例中,确定订单所对应的拣货分区集合可以是根据订单指定的货品所在的拣货分区建立该张订单所对应的拣货分区集合。例如,假设有订单1,指定有商品手机、零食、服装,分别属于拣货分区A、拣货分区B和拣货分区C,则订单1对应的拣货分区集合为{A,B,C}。
在步骤S204,针对步骤S203确定的每个拣货分区集合组建集合单。
根据本发明的实施例,针对每个拣货分区集合组建集合单包括只将每个拣货分区集合内对应的订单组建集合单,直到该拣货分区集合所对应的剩余订单无法组建集合单为止。
根据本发明实施例,可以针对每个拣货分区集合,将相应的订单按照预定规则组建集合单,所述预定规则包括:针对该集合内没有加入任何集合单的订单:任选一张订单作为订单集合的基础订单;找到与该订单集合距离最小的订单,加入所述订单集合;找到距离当前订单集合距离最小的订单,加入所述当前订单集合,依次类推,直到当前订单集合满足阈值要求,将该订单集合作为一张集合单。所述阈值要求包括以下中的一项或多项:当前订单集合中的订单数量等于订单数量阈值;当前订单集合中的货品数量等于货品数量阈值;或者当前订单集合中的货品数量加上新找到的订单中的货品数量大于货品数量阈值。在本发明实施例中,确定订单或订单集合o1与订单o2之间的距离可以包括:根据订单或订单集合o1中的货品在拣货分区集合中的分布确定该订单或订单集合o1的最短拣货路径TSP(o1),所述TSP为旅行商问题算法;根据订单o2中的货品在拣货分区集合中的位置确定该订单o2的最短拣货路径TSP(o2);以及订单或订单集合o1与订单o2之间的距离DIS(o1,o2)为:
例如,假设拣货分区集合1{A}仅包含一个拣货分区,其对应有100张订单。集合单的阈值要求例如为每张集合单的订单数量不能超过10张,并且货品数量不能超过30个。于是,针对拣货分区集合1{A}内的订单组建集合单,例如任意选择其中一张订单P1作为基础订单,按照上述判断两张订单距离的方法,找到距离P1最近的订单P2,将P1和P2组建订单集合。然后,继续寻找距离当前订单集合最近的订单P3加入当前集合,依次类推,当订单集合找到第十张订单P10加入到当前订单集合,此时订单数量为10,商品数量为20,订单数量已经达到阈值上限,组建集合单完毕。剩余的90张订单继续按照上述方法组建集合单,例如,如果当前订单集合已经有P11~P18,8张订单,共28件货品,找到距离最近的订单B19后,该订单中包含3个货品,则订单总量为9张,而货品总数量为31件,超过阈值,那么不将此订单加入到当前订单集合,并将当前订单集合组建成集合单。若最后剩余的订单数量以及订单指定的商品数量都达不到相应阈值,则该拣货分区集合组建集合单完毕。针对每个拣货分区集合如上组建集合单。
本发明实施例中所述的按照预定规则组建集合单的方法,使得组建后的集合单中商品集中度高,当实际在仓库中拣货时,可以行走较少的路径获得较多的商品,提高了实际拣货时的效率。
在步骤S205,将有剩余订单的拣货分区集合进行合并,针对合并后的拣货分区集合组建集合单。根据本发明实施例,将拣货分区集合的有剩余订单的所有子集合并到该拣货分区集合中,所述拣货分区和所述子集所对应的剩余订单都统计到该拣货分区集合下。针对合并之后的拣货分区集合,将相应剩余订单按照所述预定规则组建集合单,直到该拣货分区集合内的剩余订单无法组建集合单为止。对拣货分区集合按从小到大的次序,依次重复所述合并和组建集合单操作,直到无法进行所述合并操作或不再有剩余订单。
下面举例说明步骤S205的操作。例如,拣货分区集合1{A}剩余5张订单,拣货分区集合2{B}剩余3张订单,拣货分区集合3{C}剩余2张订单,拣货分区集合4{A,B}剩余3张订单,拣货分区集合5{A,B,C}剩余6张订单。拣货分区集合4{A,B}有子集拣货分区集合1{A}和拣货分区集合2{B},则将拣货分区集合1、2合并到集合4,合并后的拣货分区集合4{A,B}内有5+3+3=11张订单。按照步骤S204中的方法,将合并后的拣货分区集合内的订单组建集合单,例如将距离最近的10张订单,共计商品20件组建集合单,拣货分区集合4{A,B}剩余1张订单。拣货分区集合5有子集拣货分区集合3{C}和拣货分区集合4{A,B},则将拣货分区集合3{C}和拣货分区集合4{A,B}合并到拣货分区集合5{A,B,C},合并后的拣货分区集合5{A,B,C}内有1+2+6=9张订单,按照步骤S204中的方法,将合并后的拣货分区集合内的订单组建集合单。
根据本发明的实施例,对拣货分区集合按从小到大的次序,依次重复所述合并和组建集合单操作,直到无法进行所述合并操作或不再有剩余订单。例如,先用包含两个拣货分区的集合去合并包含一个拣货分区的集合,再用包含三个拣货分区的集合去合并包含一个和/或两个拣货分区的集合,依此类推。但是,也可以采用其他策略进行拣货分区集合的合并,例如随机选取,或从大到小进行合并,等等。
在步骤S206,判断是否有剩余订单。如果是则执行步骤S207,否则去往步骤S208。
在步骤S207,将剩余订单组建集合单。根据本发明的实施例,如果最后剩余的订单数量以及剩余订单指定的货品数量都达不到相应阈值,则按照步骤S204的方法,将剩余的订单组建成缺量集合单。在本发明实施例中,如果剩余的订单没有时限要求,也可以将订单发回缓冲区,等待下一次从缓冲区中提取订单时,与新的订单重新组建集合单。根据本发明实施例,将组建好的集合单输出到拣货***400,拣货***400可以根据集合单安排拣货。
该方法在步骤S208处结束。
根据本发明实施例,充分利用整个仓库中拣货分区的信息,提出拣货分区集合的概念,将同一拣货分区集合下的订单组建集合单,可以提高货品集中度,从而提高拣货效率。
根据本发明实施例,将有剩余订单的拣货分区集合合并,将合并后的拣货分区按照预定规则组建集合单,剩余的订单按照拣货分区合并,则合并后的订单都属于一个拣货分区集合,这种拣货分区集合的合并能有效地将涉及相同拣货分区的剩余订单组合在一起,使得得到的集合单定位的货品集中度高,从而提高拣货效率。例如,如图5所示,订单Q1对应于拣货分区集合{A,B},订单Q2对应于拣货分区集合{B,C},订单Q3对应于拣货分区集合{A,B,C}。订单Q1与订单Q2涉及相同的拣货分区B,订单Q1与Q3涉及相同的拣货分区A和B,Q2与Q3涉及相同的拣货分区B和C。将订单Q1、Q2和Q3集合在一个集合单中,这样,在拣取订单Q3的货品时,也能拣取到订单Q1和Q2的货品,减少了拣货中的重复路线,提高了拣货效率。
下面参考图3描述根据本发明实施例的集合单组建***500的框图。集合单组建***500可以用作图1中的集合单组建***100,与电商平台***200、仓储数据库***300以及拣货***400进行交互,在此不再赘述。
如图3所示,集合单组建***500包括订单读取模块510、集合确定模块520、集合单组建模块530、分区合并模块540、剩余订单组合模块550、循环控制模块560、集中组合模块570以及输出模块580。
订单读取模块510,读取多张订单的订单数据。根据本发明的实施例,所述订单例如可以来自电商平台***200。所述订单可以是集合单组建***500从电商平台***200拉取到缓冲区的,也可以是电商平台***200推送到集合单组建***500的缓冲区的。根据本发明实施例,所述订单可以是定时自动获取,也可以是根据***管理者的指令而获取。订单数据例如可以包括货物种类、型号、供货商名称、购买数量等,但不限于此。每张订单上指定一个或多个货品。根据本发明的实施例,可以每隔预定时间、在一天中的特定时点、或者根据管理者指令,从缓冲区中读取全部的订单。
集合确定模块520,确定每张订单所对应的拣货分区集合。根据本发明的实施例,每个拣货分区集合例如可以包含一个或多个拣货分区,每张订单所对应的拣货分区集合包括每张订单中的货品所在的拣货分区。
根据本发明实施例,整个仓库可以分成多个分区。例如,同一类的货品可以存放在一个分区里。例如,仓库的分区可以包括日常用品分区、个护化妆分区、电子产品分区、食品分区等,但不限于此。可以理解的是,分区的划分方式不是特定的,也不局限于本发明描述的方式。相反,可以根据实际需要,以各种不同的方式划分这样的分区。根据本发明实施例,一般仓库内的拣货分区不超过10个,若大于10个,则考虑合并某些分区,或者采用分区并联的方式连接某几个分区。
根据本发明实施例,拣货分区集合包含一个或多个拣货分区。在本发明实施例中,确定订单所对应的拣货分区集合可以是根据订单指定的货品所在的拣货分区建立该张订单所对应的拣货分区集合。例如,假设有订单1,指定有商品手机、零食、服装,分别属于拣货分区A、拣货分区B和拣货分区C,则订单1对应的拣货分区集合为{A,B,C}。
集合单组建模块530,针对集合确定模块520确定的每个拣货分区集合组建集合单。
根据本发明的实施例,针对每个拣货分区集合组建集合单包括只将每个拣货分区集合内对应的订单组建集合单,直到该拣货分区集合所对应的剩余订单无法组建集合单为止。
根据本发明实施例,可以针对每个拣货分区集合,将相应的订单按照预定规则组建集合单,所述预定规则包括:针对该集合内没有加入任何集合单的订单:任选一张订单作为订单集合的基础订单;找到与该订单集合距离最小的订单,加入所述订单集合;找到距离当前订单集合距离最小的订单,加入所述当前订单集合,依次类推,直到当前订单集合满足阈值要求,将该订单集合作为一张集合单。所述阈值要求包括以下中的一项或多项:当前订单集合中的订单数量等于订单数量阈值;当前订单集合中的货品数量等于货品数量阈值;或者当前订单集合中的货品数量加上新找到的订单中的货品数量大于货品数量阈值。在本发明实施例中,确定订单或订单集合o1与订单o2之间的距离可以包括:根据订单或订单集合o1中的货品在拣货分区集合中的分布确定该订单或订单集合o1的最短拣货路径TSP(o1),所述TSP为旅行商问题算法;根据订单o2中的货品在拣货分区集合中的位置确定该订单o2的最短拣货路径TSP(o2);以及订单或订单集合o1与订单o2之间的距离DIS(o1,o2)为:
例如,假设拣货分区集合1{A}仅包含一个拣货分区,其对应有100张订单。集合单的阈值要求例如为每张集合单的订单数量不能超过10张,并且货品数量不能超过30个。于是,针对拣货分区集合1{A}内的订单组建集合单,例如任意选择其中一张订单P1作为基础订单,按照上述判断两张订单距离的方法,找到距离P1最近的订单P2,将P1和P2组建订单集合。然后,继续寻找距离当前订单集合最近的订单P3加入当前集合,依次类推,当订单集合找到第十张订单P10加入到当前订单集合,此时订单数量为10,商品数量为20,订单数量已经达到阈值上限,组建集合单完毕。剩余的90张订单继续按照上述方法组建集合单,例如,如果当前订单集合已经有P11~P18,8张订单,共28件货品,找到距离最近的订单B19后,该订单中包含3个货品,则订单总量为9张,而货品总数量为31件,超过阈值,那么不将此订单加入到当前订单集合,并将当前订单集合组建成集合单。若最后剩余的订单数量以及订单指定的商品数量都达不到相应阈值,则该拣货分区集合组建集合单完毕。针对每个拣货分区集合如上组建集合单。
本发明实施例中所述的按照预定规则组建集合单的***,使得组建后的集合单中商品集中度高,当实际在仓库中拣货时,可以行走较少的路径获得较多的商品,提高了实际拣货时的效率。
分区合并模块540,将有剩余订单的拣货分区集合进行合并,根据本发明实施例,将拣货分区集合的有剩余订单的所有子集合并到该拣货分区集合中,所述拣货分区和所述子集所对应的剩余订单都统计到该拣货分区集合下。根据本发明实施例,对拣货分区集合按从小到大的次序合并。例如,先用包含两个拣货分区的集合去合并包含一个拣货分区的集合,再用包含三个拣货分区的集合去合并包含一个和/或两个拣货分区的集合,依此类推。但是,也可以采用其他策略进行拣货分区集合的合并,例如随机选取,或从大到小进行合并,等等。
剩余订单组合模块550,针对合并后的拣货分区集合组建集合单。针对合并之后的拣货分区集合,将相应剩余订单按照所述预定规则组建集合单,直到该拣货分区集合内的剩余订单无法组建集合单为止。
下面举例说明分区合并模块540以及剩余订单组合模块550的操作。例如,拣货分区集合1{A}剩余5张订单,拣货分区集合2{B}剩余3张订单,拣货分区集合3{C}剩余2张订单,拣货分区集合4{A,B}剩余3张订单,拣货分区集合5{A,B,C}剩余6张订单。拣货分区集合4{A,B}有子集拣货分区集合1{A}和拣货分区集合2{B},则将拣货分区集合1、2合并到集合4,合并后的拣货分区集合4{A,B}内有5+3+3=11张订单。按照步骤S204中的方法,将合并后的拣货分区集合内的订单组建集合单,例如将距离最近的10张订单,共计商品20件组建集合单,拣货分区集合4{A,B}剩余1张订单。拣货分区集合5有子集拣货分区集合3{C}和拣货分区集合4{A,B},则将拣货分区集合3{C}和拣货分区集合4{A,B}合并到拣货分区集合5{A,B,C},合并后的拣货分区集合5{A,B,C}内有1+2+6=9张订单,按照步骤S204中的方法,将合并后的拣货分区集合内的订单组建集合单。
循环控制模块560,控制所述分区合并模块540和所述剩余订单组合模块550,对拣货分区集合按从小到大的次序,依次重复所述合并和组建集合单操作,直到无法继续进行所述合并操作或不再有剩余订单。根据本发明实施例,循环控制模块560控制分区合并模块540从包含拣货分区少的集合开始合并,例如找到包含有两个拣货分区的集合的子集,合并到该集合下,然后循环控制模块560控制剩余订单组合模块550将合并后的集合内的订单组建集合单,直到合并后的集合所对应的剩余订单无法组建集合单为止,或者直到不再有剩余订单为止。然后,再找到包含有三个拣货分区的集合的子集,将其合并到该集合下,然后循环控制模块560控制剩余订单组合模块550将合并后的集合内的订单组建集合单,直到合并后的集合所对应的剩余订单无法组建集合单为止,或者直到不再有剩余订单为止。依此类推,直到无法再进行合并或没有剩余订单为止。
集中组合模块570,如果无法继续进行所述合并操作但仍有剩余订单,则将所有剩余订单集中在一起按照所述预定规则组建集合单。根据本发明根据本发明的实施例,如果最后剩余的订单数量以及剩余订单指定的货品数量都达不到相应阈值,则按照步骤S204的方法,将剩余的订单组建成缺量集合单。在本发明实施例中,如果剩余的订单没有时限要求,也可以将订单发回缓冲区,等待下一次从缓冲区中提取订单时,与新的订单重新组建集合单。
输出模块580,输出所述集合单。根据本发明实施例,将组建好的集合单输出到拣货***400,拣货***400可以根据集合单安排拣货。
可以理解的是,订单读取模块510、集合确定模块520、集合单组建模块530、分区合并模块540、剩余订单组合模块550、循环控制模块560、集中组合模块570以及输出模块580中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,订单读取模块510、集合确定模块520、集合单组建模块530、分区合并模块540、剩余订单组合模块550、循环控制模块560、集中组合模块570以及输出模块580中的至少一项可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以以用于对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,订单读取模块510、集合确定模块520、集合单组建模块530、分区合并模块540、剩余订单组合模块550、循环控制模块560、集中组合模块570以及输出模块580中的至少一项可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图4示意性示出了根据本发明另一实施例的集合单组建***的结构框图。集合单组建***600包括处理器610,例如通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行参考图2描述的根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
集合单组建***600还可以包括具有非易失性或易失性存储器形式的至少一个可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
可读存储介质620包括计算机程序621,该计算机程序621包括代码/计算机可读指令,其在由处理器610执行时使得处理器610可以执行例如上面结合图1和2所描述的方法流程及其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……模块621F。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行例如上面结合2所描述的方法流程及其任何变形。
根据本发明的实施例,集合单组建***600还可以包括用于从其他实体接收信号的输入单元630、以及用于向其他实体提供信号的输出单元640。输入单元630和输出单元640可以被布置为单一实体或者是分离的实体。输入单元630和输出单元640可以在处理器610的控制下,用于集合单组建***600与电商平台***200、仓储数据库***300和拣货***400之间的交互。
结合图3和图4所示,根据本发明的实施例,集合确定模块510、集合单组建模块520、分区合并模块530、剩余订单组合模块540、循环控制模块550以及集中组合模块560可以实现为参考图4描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的多种改变。因此,本发明的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。