识别特征账号的方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及识别特征账号的方法及装置。
背景技术
在互联网环境中,用户需要通过注册相应的账号,实现账号之间的数据交互。然而,部分用户通过注册或控制诸多账号,影响互联网的正常交互,但相关技术中无法准确地识别相应的特征账号。
发明内容
有鉴于此,本申请提供一种新的技术方案,可以解决相关技术中无法准确识别特征账号的技术问题。
为实现上述目的,本申请提供技术方案如下:
根据本发明的第一方面,提出了一种识别特征账号的方法,包括:
选取历史交易数据中的首活转账交易记录,其中首活转账交易记录对应的被转账方账号由转账方账号的转账操作而被首次激活;
将所述首活转账交易记录对应的转账方账号与被转账方账号之间的关联关系映射为父级节点与子级节点之间的对应关系,并建立对应的树状关系网络;
当所述树状关系网络满足预设特征条件时,判定该树状关系网络中包含特征账号。
根据本发明的第二方面,提出了一种识别特征账号的装置,包括:
记录选取单元,选取历史交易数据中的首活转账交易记录,其中首活转账交易记录对应的被转账方账号由转账方账号的转账操作而被首次激活;
网络建立单元,将所述首活转账交易记录对应的转账方账号与被转账方账号之间的关联关系映射为父级节点与子级节点之间的对应关系,并建立对应的树状关系网络;
判定单元,当所述树状关系网络满足预设特征条件时,判定该树状关系网络中包含特征账号。
由以上技术方案可见,本申请通过对特定类型的用户账号交互数据的分析,基于特定类型的用户账号交互数据对应的数据流动链路特征,可以实现对特征账号的准确识别。本申请还通过将基于特定类型的用户账号交互数据的账号关系转换为树状关系网络,便于执行账号间的关系识别,并有助于提升对特征账号进行识别时的准确性。
附图说明
图1示出了根据本发明的一示例性实施例的识别特征账号的方法的示意流程图;
图2示出了根据本发明的一示例性实施例的节点关系的示意图;
图3示出了根据本发明的一示例性实施例的通过消息传递生成树状关系网络的示意流程图;
图4示出了根据本发明的一示例性实施例的对节点进行初始化赋值的示意图;
图5示出了根据本发明的一示例性实施例的通过消息传递生成树状关系网络的示意图;
图6示出了根据本发明的一示例性实施例的树状关系网络中的资金传递的示意图;
图7示出了根据本发明的一示例性实施例的服务器的结构示意图;
图8示出了根据本发明的一示例性实施例的识别特征账号的装置的示意框图。
具体实施方式
本申请通过对特定类型的用户账号交互数据的分析,确定在相应的用户账号间形成的数据流动链,并通过将该数据流动链生成为树状关系网络,从而基于该树状关系网络的特征,识别其中的特征账号。为对本申请进行进一步说明,提供下列实施例:
请参考图1,图1示出了根据本发明的一示例性实施例的识别特征账号的方法,可以应用于服务器,该方法包括:
步骤102,选取历史行为数据中的特定类型的用户账号交互数据,该特定类型的用户账号交互数据对应的数据接收方账号接收到的来自数据发送方账号的交互信息为所述数据接收方账号在注册后接收到的首条交互信息;
在本实施例中,特定类型的用户账号交互数据体现出相应的数据接收方账号与数据发送方账号之间的数据流动特征,基于该数据流动特征的分析,即可确定相应的数据交互双方是否为特征账号。其中,针对不同的数据交互场景,用户账号之间的交互数据的类型可以有很多,比如在即时通讯(IM,Instant Messaging)的应用场景中,交互数据可以为用户账号之间传输的即时通讯消息,比如在社交网络(SNS,Social Network Sites)的应用场景中,交互数据可以为用户账号之间传送的通讯消息,比如在电商交易场景中,交互数据可以为用户账号之间的转账交易信息。
步骤104,将所述特定类型的用户账号交互数据对应的数据发送方账号与数据接收方账号之间的关联关系映射为父级节点与子级节点之间的对应关系,并建立对应的树状关系网络;
在本实施例在,由于每个数据发送方账号可以通过数据交互操作而“首活(由于是数据接收方账号在注册后接收到的首条交互消息,因而可以认为该消息“首活”或“首次激活”了相应的数据接收方账号)”多个数据接收方账号,而每个被首活的数据接收方账号同样可以用于首活其他的账号,因而本申请即可通过该“一对多”(一个数据发送方账号对应多个被首活的数据接收方账号)的对应关系和关系传递(比如B账号被A账号首活,而B账号也可以首活C账号,从而使得“首活”关系在A-B-C之间传递)的特点,由多个特定类型的用户账号交互数据生成对应的树状关系网络,且该树状关系网络中包含各账号之间进行数据交互操作时的数据流动关系。
步骤106,当所述树状关系网络满足预设特征条件时,判定该树状关系网络中包含特征账号。
由上述实施例可知,本申请通过分析特定类型的用户账号交互数据,利用首活关系在账号之间的传递特点,将每对账号之间的首活关系转换为树状关系网络,从而通过对该树状关系网络中包含的数据流动特征,能够准确分析出该树状关系网络中是否包含特征账号。
作为一示例性实施例,本申请在构建树状关系网络时,可以采用并行计算模型来实现,即通过并行计算来提升该树状关系网络的建立效率。当然,本领域技术人员应该理解的是,本申请并不对树状关系网络的建立方式进行限制,显然也可以通过其他方式实现树状关系网络的建立。
其中,当采用并行计算模型建立树状关系网络时,可以优选使用BSP(BulkSynchronous Parallel Computing Model,整体同步并行计算模型)建立所述树状关系网络。下面对基于BSP模型建立树状关系网络的过程进行详细描述。
请参考图2,假定提取历史行为数据中的特定类型的用户账号交互数据,并通过对该用户账号交互数据的分析,得到图2所示的账号之间的首活关系,比如图2(a)所示的由节点A首活节点B、由节点A首活节点C,图2(b)所示的由节点C首活节点D,图2(c)所示的由节点D首活节点E、由节点D首活节点F。虽然从图2可以轻易得出多个节点之间的树状关系,但基于数量巨大的特定类型的用户账号交互数据,服务器得到的账号之间的首活关系的数量也非常大,则服务器只能够了解到每对账号之间是否存在首活关系,但并不能够容易得出整个树状关系网络。
请参考图3,图3示出了根据本发明的一示例性实施例的通过消息传递生成树状关系网络的示意流程,包括:
步骤302,初始化操作:将特定类型的用户账号交互数据对应的所有账号映射为对应的节点,每个节点配置有对应的唯一标识和唯一值。比如对于节点A、节点B、节点C等,相应的唯一标识即A、B、C等;而每个节点的唯一值的形式可以为:自身ID+“#”+superstep(超步)步数,其中的ID为每个节点的唯一标识,比如上述的A、B、C等,superstep是指每个迭代操作的步骤,而“#”则用于区分“ID”和“superstep”的值。可见,当ID和superstep的步数容易区分时,也可以省去“#”。
基于上述赋值规则,如图4所示,节点A对应的唯一值为A#0、节点B对应的唯一值为B#0、节点C对应的唯一值为C#0、节点D对应的唯一值为D#0、节点E对应的唯一值为E#0、节点F对应的唯一值为F#0,然后通过各节点对应值,实现在每个superstep中的信息传递。
步骤304,当superstep=0时,每个节点直接将包含自身的唯一标识的消息传递至下游节点。其中,下游节点即直接以单向边与本节点相连的节点,比如图5所示:在图5(a1)中,节点A将“A”直接传递至节点B和节点C,节点B不存在下游节点;在图5(b1)中,节点C将“C”直接传递至节点D;在图5(c1)中,节点D直接将“D”传递至节点E和节点F,节点E和节点F不存在下游节点。
在下述的步骤306至步骤320中,需要通过多次迭代,实现对节点上消息的传递,则每次迭代都将执行步骤306至步骤320,下面结合图5进行详细说明。
当superstep=1时,迭代操作包括:
步骤306,每个节点判断是否接收到消息。对于superstep=1的情况下,即判断每个节点是否接收到superstep=0时,由上游节点传递的消息,若接收到,则转入步骤308,否则转入步骤314。
具体地,如图5所示:当superstep=1时,对应于步骤304中的消息传递,如图5(a1)所示,节点B和节点C接收到来自节点A的消息“A”;如图5(b1)所示,节点D接收到来自节点C的消息“C”;如图5(c1)所示,节点E和节点F接收到来自节点D的消息“D”;同时,节点A未接收到消息。
步骤308,对于在步骤306中接收到消息的节点,将自身的唯一值更新为:接收到的消息中的ID值+“#”+当前superstep。
具体地,如图5所示:由于在图5(a1)中,节点B和节点C接收到来自节点A的“A”,而此时处于superstep=1的阶段,因而由图5(a1)转入图5(a2),即节点B和节点C的唯一值均更新为“A#1”;类似地,如图5(b2)所示:节点D的唯一值更新为“C#1”,如图5(c2)所示:节点E和节点F的唯一值更新为“D#1”。
步骤310,判断在步骤308完成自身的唯一值的更新的节点,是否存在对应的下游节点,若存在则转入步骤312,否则转入步骤314。
具体地,如图5所示:在图5(a2)中,节点B不存在下游节点;在图5(b2)中,节点C存在下游节点为节点D;在图5(c2)中,节点D存在下游节点为节点E和节点F,且节点E和节点F不存在下游节点。
步骤312,步骤310中判定存在下游节点的节点,将自身接收到的消息继续传递至下游节点。
具体地,如图5所示:在图5(b2)中,节点C将消息“A”传递至节点D;在图5(c2)中,节点D将消息“C”传递至节点E和节点F。
步骤314,对于步骤306中未接收到消息的节点,或步骤310中不存在下游节点的节点,在当前superstep中结束对该节点的处理。具体地,节点A未接收到消息,而节点B、节点E和节点F不存在下游节点。
步骤316,判断是否所有的节点之间均未有消息发送,或者superstep的迭代次数是否已达到最大迭代次数,若未有消息发送或达到最大迭代次数,则转入步骤318,否则转入步骤320。
步骤318,结束并输出每个节点的唯一值。此时尚未满足转入步骤318的条件。
步骤320,进入下一个superstep,即superstep=2,并返回步骤306。
当superstep=2时,迭代操作包括:
步骤306’(在superstep=2时,通过“步骤306’”来区分“步骤306”,其余步骤类似),每个节点判断是否接收到消息。对于superstep=2的情况下,即判断每个节点是否接收到superstep=1时,由上游节点传递的消息,若接收到,则转入步骤308,否则转入步骤314。
具体地,如图5所示:当superstep=1时,对应于步骤312中的消息传递,如图5(b2)所示,节点D接收到来自节点C的消息“A”;如图5(c2)所示,节点E和节点F接收到来自节点D的消息“C”;同时,节点A、节点B和节点C未接收到消息。
步骤308’,对于在步骤306’中接收到消息的节点,将自身的值更新为:接收到的消息中的ID值+“#”+当前superstep。
具体地,如图5所示:在图5(b3)中,节点D的唯一值更新为“A#2”,在图5(c3)中,节点E和节点F的唯一值更新为“C#2”。
步骤310’,判断在步骤308’完成自身的唯一值的更新的节点,是否存在对应的下游节点,若存在则转入步骤312’,否则转入步骤314’。
具体地,如图5所示:在图5(c3)中,节点D存在下游节点为节点E和节点F,节点E和节点F不存在下游节点。
步骤312’,步骤310’中判定存在下游节点的节点,将自身的值传递至下游节点。
具体地,如图5所示:在图5(c3)中,节点D将“A”传递至节点E和节点F。
步骤314’,对于步骤306’中未接收到消息的节点,或步骤310’中不存在下游节点的节点,在当前superstep中结束对该节点的处理。具体地,节点A、节点B、节点C未接收到消息,而节点E和节点F不存在下游节点。
步骤316’,判断是否所有的节点之间均未有消息发送,或者superstep的迭代次数是否已达到最大迭代次数,若未有消息发送或达到最大迭代次数,则转入步骤318’,否则转入步骤320’。
步骤318’,结束并输出每个节点的唯一值。此时尚未满足转入步骤318’的条件。
步骤320’,进入下一个superstep,即superstep=3,并返回步骤306’。
当superstep=3时,迭代操作包括:
步骤306”(在superstep=3时,通过“步骤306””来区分“步骤306”和“步骤306’”,其余步骤类似),每个节点判断是否接收到消息。对于superstep=3的情况下,即判断每个节点是否接收到superstep=2时,由上游节点传递的消息,若接收到,则转入步骤308”,否则转入步骤314”。
具体地,如图5所示:当superstep=2时,对应于步骤312’中的消息传递,如图5(c3)所示,节点E和节点F接收到来自节点D的消息“A”;同时,节点A、节点B、节点C和节点D未接收到消息。
步骤308”,对于在步骤306”中接收到消息的节点,将自身的唯一值更新为:接收到的消息中的ID+“#”+当前superstep。
具体地,如图5所示:在图5(c4)中,节点E和节点F的唯一值更新为“A#3”。
步骤310”,判断在步骤308”完成自身的值的更新的节点,是否存在对应的下游节点,若存在则转入步骤312”,否则转入步骤314”。
具体地,如图5所示:在图5(c4)中,节点E和节点F不存在下游节点,直接转入步骤314”。
步骤314”,对于步骤306”中未接收到消息的节点,或步骤310”中不存在下游节点的节点,在当前superstep中结束对该节点的处理。具体地,节点A、节点B、节点C和节点D未接收到消息,而节点E和节点F不存在下游节点。
步骤316”,判断是否所有的节点之间均未有消息发送,或者superstep的迭代次数是否已达到最大迭代次数,若未有消息发送或达到最大迭代次数,则转入步骤318”,否则转入步骤320”。由于在此superstep中,所有节点均未有消息发送,因而转入步骤318”。
步骤318”,结束并输出每个节点的唯一值。
具体地,如图5所示:在图5(a4)中,节点A的唯一值为A#0,节点B的唯一值为A#1,节点C的唯一值为A#1;在图5(b4)中,节点D的唯一值为A#2;在图5(c4)中,节点E和节点F的唯一值均为A#3。
服务器根据获取每个节点输出的唯一值,了解到存在以节点A为根节点的树状关系网络,且节点B和节点C为节点A的一级子节点、节点D为节点A的二级子节点、节点E和节点F为节点A的三级子节点,并形成图5(d)所示的树状关系网络。
通过图3所示的流程或其他技术手段,可以得到树状关系网络,则对于每个树状关系网络,均可以根据该网络的特征,判断其中是否包含特征账号。
作为一示例性实施例,可以根据每个树状关系网络中包含节点的数量进行判断。具体地,由于在基于正常交易构成的树状关系网络中,节点之间的关系比较简单,不会存在很多节点在多个层级上相互关联的情况,因而可以获取每个树状关系网络中包含的节点数量,则当节点数量大于或等于预设数量阈值的情况下,即可判定相应的树状关系网络中包含有特征账号对应的节点。
作为另一示例性实施例,可以根据每个树状关系网络的最大树生长速度进行判断。具体地,由于在基于正常交易构成的树状关系网络中,树生长(即节点增加)的速度较均匀,不会具有强聚集性,因而可以获取每个树状关系网络在单位时间长度内的最大节点增加速度,比如最大单日(即单位时间长度为每日)节点增加数量,则当最大节点增加速度大于或等于预设速度阈值的情况下,即可判定相应的树状关系网络中包含有特征账号对应的节点。
本申请可以应用于各种类型的数据交互场景,下面以其中的典型应用为例,对本申请的技术方案进行详细说明。
1)电商平台
当本申请的技术方案应用于电商平台时,特定类型的用户账号交互数据可以为用户账号之间的转账交易信息。比如对于“支付宝”平台,“特征账号”即存在虚假交易的账号,比如卖家用户自己或雇佣第三方控制一系列虚拟买家账号,并通过这些虚拟买家账号在支付宝平台上进行虚假交易,从而造成卖家用户的信誉虚高、商品排名上升,不利于买家用户做出正确判断;另外某恶意用户控制一系列虚拟买家账号,通过这些虚拟买家账号恶意骗取卖方商户的营销资源,非法获取不当利润。而基于本申请的技术方案,即可有效识别上述虚假交易涉及的虚拟买家账号,从而对其进行搜索、购买等权限的权重做出合理调整。
在电商平台的应用场景下,除了上述根据树状关系网络中的节点数量或增长速度外,还可以根据树状关系网络中的节点之间的转账数额进行判断是否包含特征账号。其中,在电商平台的应用场景下,特定类型的用户账号交互数据具体可以为首活转账交易记录,即该首活转账交易记录对应的被转账方账号由转账方账号的转账操作而被首次激活。
比如在图6所述的树状关系网络中,获取涉及的所有首活转账交易记录对应的转账数额,并将对应的转账数额之间的差值小于或等于预设差值阈值的首活转账交易记录作为同一分组。假定预设差值阈值为“0.5万”,则由于节点a与节点b之间的转账数额为20万、节点b与节点e之间的转账数额为19.8万、节点e与节点i之间的转账数额为20.2万、节点i与节点k之间的转账数额为20万、节点k与节点n之间的转账数额为19.8万,则确定对应的5条首活转账交易记录为一组;由于节点b与节点d之间的转账数额为3万、节点e与节点h之间的转账数额为3万,则确定对应的2条首活转账交易记录为一组;同时,由于节点e与节点j之间的转账数额为6万、节点j与节点l之间的转账数额为5.8确定对应的2条首活转账交易记录为一组;而其他转账数额对应的首活转账交易记录各自形成一组,具体情况如表1所示:
表1
根据本申请的一示例性实施例,当存在至少一个分组内包含的首活转账交易记录的数量在所有首活转账交易记录中所占比例大于或等于预设比例阈值时,确定该树状关系网络中包含特征账号。假定该预设比例阈值为30%,则由于分组1所占比例为41.7%>30%,确定图6所示的树状关系网络中包含特征账号。
进一步地,可以将满足“所占比例大于或等于预设比例阈值”的分组内包含的首活转账交易记录对应的被转账方账号判定为特征账号,比如分组1中的节点b、节点e、节点i、节点k和节点n,可以确定节点a对应的卖家账号通过这些节点对应的账号执行虚假交易,即这些账号为节点a对应的卖家账号采用的虚拟买家账号。因此,可以限制特征账号的预设权限;同时,也可以对节点a对应的卖家账号进行处理,比如通过特征账号完成的交易不被用于计算相应卖家的信誉、出货量等信息。
需要说明的是,根据得到的树状关系网络,可以仅根据其中包含的节点数量、最大节点增加速度或每组首活转账交易记录所占的比例,也可以通过结合上述三种手段,以确定该网络中是否包含特征账号;在确定树状关系网络中包含特征账号后,即可根据对首活转账交易记录的分组情况,具体确定特征账号。
同时,可以根据实际需求调整“预设数量阈值”、“预设差值阈值”、“预设比例阈值”、“预设速度阈值”的数值,以控制对特征账号进行选取的严格程度。具体地,当预设数量阈值越大、预设差值阈值越大、预设比例阈值越大、预设速度阈值越大时,相应的选取标准越严格(即更难被确定存在特征账号),反之则越宽松(即更容易被确定存在特征账号)。
2)即时通讯或社交网络
当本申请的技术方案应用于即时通讯或社交网络场景时,特定类型的用户账号交互数据可以为用户账号之间的即时通讯消息或账号关联消息。其中,通讯消息包括即时通讯消息和非即时通讯消息,比如留言、评论等;账号关联消息包括好友添加请求、群加入请求、群成员邀请请求、账号关注操作等。具体地,“特征账号”即存在欺诈或骚扰行为的账号,比如用户通过控制一系列“小号”,并通过这些“小号”对其他用户进行欺诈或骚扰,比如发送欺骗消息、木马网站的网址或广告等。而基于本申请的技术方案,即可有效识别上述欺诈或骚扰行为涉及的账号,从而对其进行消息发送、好友添加等权限的权重做出合理调整。
对应于上述的识别特征账号的方法,本申请还提出了图7所示的根据本申请的一示例性实施例的服务器的示意结构图。请参考图7,在硬件层面,该服务器包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成识别特征账号的装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,在软件实施方式中,该识别特征账号的装置可以包括记录选取单元、网络建立单元和判定单元。其中:
记录选取单元,选取历史行为数据中的特定类型的用户账号交互数据,该特定类型的用户账号交互数据对应的数据接收方账号接收到的来自数据发送方账号的交互信息为所述数据接收方账号在注册后接收到的首条交互信息;
网络建立单元,将所述特定类型的用户账号交互数据对应的数据发送方账号与数据接收方账号之间的关联关系映射为父级节点与子级节点之间的对应关系,并建立对应的树状关系网络;
判定单元,当所述树状关系网络满足预设特征条件时,判定该树状关系网络中包含特征账号。
可选的,所述网络建立单元具体用于:
分别为每个节点生成对应的传递消息,该传递消息中包含相应节点的唯一标识;
根据所述对应关系执行迭代操作,其中在每次迭代操作中:当不存在父级节点时,相应的每个节点将本地的传递消息发送至对应的子级节点;当存在父级节点时,相应的每个节点接收来自对应的父级节点的传递消息,将接收到的传递消息中包含的唯一标识和当前迭代次数的线性组合值作为相应节点的唯一值,并将接收到的传递消息发送至对应的子级节点;当不存在对应的子级节点或已达到预设的迭代次数时,每个节点上报其唯一值;
其中,由上报的唯一值中包含的唯一标识相同的节点构成对应的树状关系网络,且每个节点在该树状关系网络中的层级状态对应于上报的唯一值中包含的当前迭代次数。
可选的:所述网络建立单元通过并行计算模型建立所述树状关系网络。
可选的:所述网络建立单元利用整体同步并行计算BSP模型建立所述树状关系网络。
可选的,所述预设特征条件包括:
所述树状关系网络中包含节点的数量大于或等于预设数量阈值。
可选的,所述预设特征条件包括:
所述树状关系网络的最大节点增加速度大于或等于预设速度阈值。
可选的,所述预设特征条件包括:
在所述树状关系网络对应的所有特定类型的用户账号交互数据中,将对应的转账数额之间的差值小于或等于预设差值阈值的特定类型的用户账号交互数据作为同一分组时,存在至少一个分组内包含的特定类型的用户账号交互数据的数量在所有特定类型的用户账号交互数据中所占比例大于或等于预设比例阈值。
可选的,所述判定单元具体用于:
将所述至少一个分组内包含的特定类型的用户账号交互数据对应的数据接收方账号判定为所述特征账号,并限制所述特征账号的预设权限。
因此,本申请通过对特定类型的用户账号交互数据的分析,确定在相应的用户账号间形成的数据流动链,并通过将该数据流动链生成为树状关系网络,从而基于该树状关系网络的特征,识别其中的特征账号。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。