生成设备标识信息的方法及装置
技术领域
本申请涉及数据安全技术领域,尤其涉及一种生成设备标识信息的方法及装置。
背景技术
随着社会的不断发展,线下店铺之间的竞争越来越激烈,很多线下店铺为了提高自身竞争力,都需要对进入或者经过店铺的客户信息进行统计从而进行相关的经营决策工作。一般的,线下店铺通常通过红外传感器、摄像头或者无线保真(Wireless-Fidelity,Wi-Fi)探针等技术统计客户信息。其中,由于Wi-Fi探针技术在成本和技术实现上具有显著优势,因此得到了广泛的使用。
所谓Wi-Fi探针技术,一般是通过部署Wi-Fi探针,并通过探测客户所携带的Wi-Fi设备的媒体访问控制(Media Access Control,MAC)地址进行客户的探测,并将所探测到的MAC地址进行加密后作为Wi-Fi设备的标识信息上传至云端,从而完成客户信息的统计。
但是,如果直接将对MAC地址加密后的密文作为Wi-Fi设备的标识信息上传至云端,云端仍然可能解密出加密前的MAC地址,从而导致用户Wi-Fi设备的MAC地址的泄露,使得用户隐私存在被侵犯的风险。因此,有必要提出一种生成设备标识信息的技术方案,以提高用户MAC地址的安全性。
发明内容
本说明书实施例的目的是提供一种生成设备标识信息的方法及装置,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供了一种生成设备标识信息的方法,应用于Wi-Fi探测设备集群中的Wi-Fi探测设备,所述方法包括:
在探测到Wi-Fi设备时,采集所述Wi-Fi设备的MAC地址信息,以及,获取所述Wi-Fi探测设备集群所协商的目标随机数;
基于所述目标随机数,按照设定的混淆处理算法对所述MAC地址信息进行混淆处理;
按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为所述Wi-Fi设备的标识信息。
本说明书实施例还提供了一种生成设备标识信息的装置,应用于Wi-Fi探测设备集群中的Wi-Fi探测设备,所述装置包括:
采集模块,用于在探测到Wi-Fi设备时,采集所述Wi-Fi设备的MAC地址信息;
获取模块,用于获取所述Wi-Fi探测设备集群所协商的目标随机数;
混淆处理模块,用于基于所述目标随机数,按照设定的混淆处理算法对所述MAC地址信息进行混淆处理;
加密处理模块,用于按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为所述Wi-Fi设备的标识信息。
本说明书实施例还提供了一种生成设备标识信息的设备,应用于Wi-Fi探测设备集群中的Wi-Fi探测设备,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在探测到Wi-Fi设备时,采集所述Wi-Fi设备的MAC地址信息,以及,获取所述Wi-Fi探测设备集群所协商的目标随机数;
基于所述目标随机数,按照设定的混淆处理算法对所述MAC地址信息进行混淆处理;
按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为所述Wi-Fi设备的标识信息。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在探测到Wi-Fi设备时,采集所述Wi-Fi设备的MAC地址信息,以及,获取所述Wi-Fi探测设备集群所协商的目标随机数;
基于所述目标随机数,按照设定的混淆处理算法对所述MAC地址信息进行混淆处理;
按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为所述Wi-Fi设备的标识信息。
本实施例中的技术方案,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例所提供的生成设备标识信息的方法的应用场景示意图;
图2为本说明书实施例提供的生成设备标识信息的方法的方法流程图之一;
图3为本说明书实施例提供的生成设备标识信息的方法的方法流程图之二;
图4为本说明书实施例提供的生成设备标识信息的方法中,确定目标随机数的方法流程图之一;
图5为本说明书实施例提供的生成设备标识信息的方法中,确定目标随机数的方法流程图之二;
图6为本说明书实施例提供的生成设备标识信息的方法的方法流程图之三;
图7为本说明书实施例提供的生成设备标识信息的装置的模块组成示意图;
图8为本说明书实施例提供的生成设备标识信息的设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书实施例提供了一种生成设备标识信息的方法,该方法应用于Wi-Fi探测设备集群中的Wi-Fi探测设备。该方法在生成所探测到的Wi-Fi设备所对应的设备标识时,先根据Wi-Fi探测设备集群所协商的目标随机数对所探测到的Wi-Fi设备的MAC地址信息进行混淆处理,再对混淆处理所得到的信息进行加密,从而得到Wi-Fi设备的标识信息。这样,由于云端或者其他设备无法获知上述随机数,即使对加密算法进行破解也无法获取Wi-Fi设备的MAC地址信息。即采用本说明书实施例提供的方法,可以有效防止Wi-Fi设备的MAC地址信息的泄露,保护了MAC地址信息的安全性。
本说明书实施例所提供的生成设备标识信息的方法可以应用于Wi-Fi探测设备集群中的任意一个Wi-Fi探测设备,即该方法的执行主体为Wi-Fi探测设备,具体的,可以为安装于Wi-Fi探测设备上的MAC地址的加密装置。
图1为本说明书实施例所提供的生成设备标识信息的方法的一种具体应用场景示意图,即Wi-Fi探测设备集群的一种具体示意图,图1所示的Wi-Fi探测设备集群由n个Wi-Fi探测设备所构成,其中,n为大于或等于1的正整数,并且每个Wi-Fi探测设备均可以探测其附近所出现的Wi-Fi设备。并且,该Wi-Fi探测设备集群还包括云端(可以是云端服务器),各个Wi-Fi探测设备均与云端建立有通信连接。
在一种具体应用场景中,若是需要对某区域的客户信息进行统计,可以将Wi-Fi探测设备设置于各个店铺中,每个店铺中可以安装一个或者多个Wi-Fi探测设备,这样,可以将一个区域内的所有的Wi-Fi探测设备作为Wi-Fi探测设备集群。
图2为本说明书实施例提供的生成设备标识性信息的方法的方法流程图之一,图2所示的方法,至少包括如下步骤:
步骤202,在探测到Wi-Fi设备时,采集该Wi-Fi设备的MAC地址信息,以及,获取Wi-Fi探测设备集群所协商的目标随机数。
其中,上述Wi-Fi设备可以为安装有Wi-Fi模块的电子设备,如手机、平板电脑等。另外,需要说明的是,Wi-Fi探测设备只能探测到Wi-Fi处于开启状态的Wi-Fi设备,若是Wi-Fi设备的Wi-Fi处于关闭状态,则无法通过Wi-Fi探测探测设备探测到。
上述步骤202中所提及到的MAC地址信息则为Wi-Fi设备的Wi-Fi MAC地址信息。一般的,对于Wi-Fi设备而言,若是该Wi-Fi设备上安装有蓝牙模块,则该Wi-Fi设备还具有蓝牙MAC地址。因此,需要说明的是,本说明书实施例中所提及到的所有的MAC地址信息均为Wi-Fi设备的Wi-Fi MAC地址信息。
在具体实施时,可以在执行本说明书实施例提供的方法之前,可以通过Wi-Fi探测设备集群中的各Wi-Fi探测设备协商确定该Wi-Fi探测设备集群所对应目标随机数,并由各个Wi-Fi探测设备存储该目标随机数。这样,在执行本说明书实施例提供的方法时,可以直接从Wi-Fi探测设备获取该Wi-Fi探测设备集群所对应的目标随机数。
步骤204,基于上述目标随机数,按照设定的混淆处理算法对上述MAC地址信息进行混淆处理。
在本说明书实施例中,上述对MAC地址信息进行混淆处理可以是基于目标随机数对MAC地址信息执行某种运算操作,也可以是基于目标随机数对MAC地址信息进行某种变形操作等等,这样,对MAC地址信息进行混淆后,使得无法得知Wi-Fi设备的真实MAC地址信息。
可以理解,执行上述步骤204的目的则是为了对MAC地址信息进行混淆处理,防止云端或者其他设备在破解了加密算法后,可以直接获取Wi-Fi设备的MAC地址信息,从而进一步保护了Wi-Fi设备的MAC地址信息的安全性。
步骤206,按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为Wi-Fi设备的标识信息。
其中,上述加密算法可以为任意加密算法,例如,可以为md5sum、sha256sum加密算法等。在具体实施时,在对混淆处理后所得到的信息进行加密处理后,可以直接将加密后得到的密文信息作为Wi-Fi的标识信息,并上传至云端进行存储。
采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
为便于理解本说明书实施例提供的生成设备标识信息方法,下述将详细介绍上述图2所对应实施例中各个步骤的具体实现过程。
在具体实施时,上述步骤204中,基于目标随机数,按照设定的混淆处理规则对上述MAC地址信息进行混淆处理,至少可以包括以下混淆处理操作中的任意一种:
对上述目标随机数和上述MAC地址信息执行设定的运算操作;
将上述目标随机数与上述MAC地址信息进行拼接处理;
按照设定插入规则将上述目标随机数插入上述MAC地址信息中。
其中,上述运算操作可以为加法操作、乘法操作、或者加法乘法混合运算等。
在本说明书实施例中,若是采集到的MAC地址信息为使用十六进制表示的MAC地址信息,上述目标随机数可能为十进制的数值,因此,在对MAC地址信息与上述目标随机数执行运算操作时,可以将MAC地址信息转换成十进制的数值,然后与目标随机数进行运算操作,如可以相加、相乘或者加法乘法混合运算,在执行完运算操作后,再将运算得到的数据转换为原来的十六进制,从而得到混淆处理后的MAC地址信息。
具体的,上述将目标随机数与MAC地址信息进行拼接,可以是直接将目标随机数拼接在MAC地址信息的后面或者前面。例如,在一种具体实施方式中,所采集到的MAC地址信息为:00FF0A0C0603,上述目标随机数为123,因此,将目标随机数与MAC地址信息拼接的结果则为00FF0A0C0603123或者12300FF0A0C0603。当然,此处只是示例性说明,并不构成对本说明书实施例的限定。
当然,在本说明书实施例中,在基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理时,除了执行上述运算操作和拼接操作处理外,还可以按照设定的插入规则将目标随机数插入MAC地址信息中。在具体实施时,可以将目标随机数插入MAC地址信息的任意位置处。
例如,上述MAC地址信息为00FF0A0C0603,目标随机数为123,则可以将目标随机数插入MAC地址信息的第一位后面、第二位后面、第三位后面等等。插入后所得到的MAC相关信息可能为01230FF0A0C0603、00123FF0A0C0603等等。
另外,在具体实施时,还可以将上述三种混淆处理操作进行组合,此处不再赘述。当然,除了上述介绍的三种混淆处理方式之外,还可以基于目标随机数,采用其他混淆处理方式对MAC地址信息进行混淆处理,对MAC地址信息进行混淆处理的方式并不局限于上述三种方式,只要可以实现对MAC地址信息进行混淆的处理方式均可,对于其他混淆处理方式本说明书实施例中不再一一列举。
另外,在本说明书实施例中,为了实现可以使用目标随机数对所采集到的MAC地址信息进行混淆处理,还需要确定Wi-Fi探测设备集群所对应的目标随机数。在具体实施时,可以在采集Wi-Fi设备的MAC地址信息之前,就通过Wi-Fi探测设备集群的各Wi-Fi探测设备进行协商确定该Wi-Fi探测设备集群所对应的目标随机数。
因此,在本说明书实施例中,在探测Wi-Fi设备之前,本说明书实施例提供的方法还包括如下步骤:
与Wi-Fi探测设备集群的其他Wi-Fi探测设备进行协商,以确定上述目标随机数。
例如,Wi-Fi探测设备集群包括Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4四个Wi-Fi探测设备,在确定目标随机数时,可以通过Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4协商以确定Wi-Fi探测设备集群所对应的目标随机数。
图3为本说明书实施例提供的生成设备标识信息的方法的方法流程图之二,图3所示的方法至少包括如下步骤:
步骤302,与Wi-Fi探测设备集群中的其他Wi-Fi探测设备协商,以确定Wi-Fi探测设备集群所对应的目标随机数。
步骤304,在探测到Wi-Fi设备时,采集该Wi-Fi设备所对应的MAC地址信息。
步骤306,获取Wi-Fi探测设备集群所对应的目标随机数。
步骤308,基于目标随机数,按照设定的数据混淆算法对上述MAC地址信息进行混淆处理。
步骤310,按照设定加密算法,对混淆处理后所得到的MAC地址信息进行加密,并将加密后得到的密文作为该Wi-Fi设备的标识信息。
具体的,在本说明书实施例中,上述与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定Wi-Fi探测设备集群所对应的目标随机数,具体包括如下步骤一和步骤二;
步骤一、获取Wi-Fi探测设备集群中的其他Wi-Fi探测设备所生成的随机数;
步骤二、根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数。
在具体实施时,Wi-Fi探测设备集群中的每个Wi-Fi探测设备都会生成一个随机数,该随机数为Wi-Fi探测设备任意生成的,并将自身所生成的随机数通过云端发送给Wi-Fi探测设备集群中的其他Wi-Fi探测设备。即Wi-Fi探测设备集群中的每个Wi-Fi探测设备都可以获取到Wi-Fi探测设备集群中的其他Wi-Fi探测设备所生成的随机数。
为便于理解,下述将举例进行说明。
继续沿用上例,在具体实施时,Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4均产生一个随机数,Wi-Fi探测设备1所产生的随机数记为随机数1、Wi-Fi探测设备2所产生的随机数记为随机数2、Wi-Fi探测设备3所产生的随机数记为随机数3、Wi-Fi探测设备4所产生的随机数记为随机数4。之后,各Wi-Fi探测设备分别将各自所产生的随机数通过该Wi-Fi探测设备集群中的云端发送给Wi-Fi探测设备集群中的其他Wi-Fi探测设备,即Wi-Fi探测设备1将随机数1分别发送给Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4,Wi-Fi他呢设备2将随机数2发送给Wi-Fi探测设备1、Wi-Fi探测设备3和Wi-Fi探测设备4,Wi-Fi探测设备3将随机数3发送给Wi-Fi探测设备1、Wi-Fi探测设备2和Wi-Fi探测设备4,Wi-Fi探测设备4将随机数4发送给Wi-Fi探测设备1、Wi-Fi探测设备2和Wi-Fi探测设备3。
即Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4分别获取Wi-Fi探测设备集群中其他三个Wi-Fi探测设备所对应的随机数,这样,对于Wi-Fi探测设备集群中的每个Wi-Fi探测设备而言,都可以得知该Wi-Fi探测设备集群中的所有Wi-Fi探测设备所生成的随机数。
具体的,在上述步骤二中,当Wi-Fi探测设备集群中的每个Wi-Fi探测设备均获取到该Wi-Fi探测设备集群中其他Wi-Fi探测设备所生成的随机数后,根据所有的随机数,按照设定的随机数确定规则确定该Wi-Fi探测设备集群所对应的目标随机数。
当然,对于Wi-Fi探测设备集群中的每个Wi-Fi探测设备而言,均存储有该随机数确定规则,这样,当每个Wi-Fi探测设备获取到该Wi-Fi探测设备集群所对应的所有的随机数后,则基于该随机数确定规则根据所有的随机数确定出目标随机数。
需要说明的是,对于Wi-Fi探测设备集群中的每个Wi-Fi探测设备而言,其所存储的随机数确定规则是相同的,这样,可以保证Wi-Fi探测设备集群中每个Wi-Fi探测设备所确定的目标随机数是相同的,即整个Wi-Fi探测设备集群可以协商出一个统一的目标随机数。
由于在本说明书实施例中,整个Wi-Fi探测设备集群对应一个统一的目标随机数,使用该目标随机数对Wi-Fi探测设备集群中各Wi-Fi探测设备所采集到的所有的Wi-Fi设备的MAC地址信息进行混淆处理,可以保证同一个Wi-Fi设备对应一个唯一的标识信息,因此,当携带有Wi-Fi设备的用户在移动时,可以基于Wi-Fi探测设备集群中不同的Wi-Fi探测设备实现对该Wi-Fi探测设备的跟踪。
另外,在本说明书实施例中,上述根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数,具体包括:
选取自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数中的最大随机数或者最小随机数,作为目标随机数;
或者,
分别计算自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数的模值,将最大的模值或者最小的模值所对应的随机数确定为目标随机数。
即在本说明实施例中,可以将最大的随机数、最小的随机数、模值最大的随机数或者模值最小的随机数确定为目标随机数。一般的,当各个WiFi探测设备所确定的随机数为复数时,则可以通过计算模值的方式确定目标随机数。
当然,除此之外,也可以是对所有的随机数进行某种运算操作,将运算的结果作为目标随机数等等。当然,此处只是示例性列举几种确定目标随机数的具体方式,除此之外,还可以通过其他方式确定目标随机数,本说明书实施例并不对确定目标随机数的具体方式进行限定。
为便于理解本说明书实施例中确定目标随机数的具体过程,下述将以Wi-Fi探测设备集群包括Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4四个Wi-Fi探测设备,且以选取随机数中最大的随机数作为目标随机数为例,介绍上述确定目标随机数的一种具体实施方式。
图4为本说明书实施例中,Wi-Fi探测设备集群中的各Wi-Fi探测设备协商确定目标随机数的方法流程图,图4所示的方法,至少包括如下步骤:
步骤402,Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4分别生成一个随机数。
步骤404,Wi-Fi探测设备1通过云端分别获取Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4所对应的随机数,Wi-Fi探测设备2通过云端分别获取Wi-Fi探测设备1、Wi-Fi探测设备3和Wi-Fi探测设备4所对应的随机数,Wi-Fi探测设备3通过云端分别获取Wi-Fi探测设备1、Wi-Fi探测设备2和Wi-Fi探测设备4所对应的随机数,Wi-Fi探测设备4通过云端分别获取Wi-Fi探测设备1、Wi-Fi探测设备2和Wi-Fi探测设备3所对应的随机数。
步骤406,Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4分别从各自所具有的四个随机数中选取最大随机数作为该Wi-Fi探测设备集群所对应的目标随机数。
从上述描述可以看出,在生成Wi-Fi探测设备集群所对应的目标随机数时,各个Wi-Fi探测设备所述生成的随机数通过云端进行传输,虽然随机数的确定规则存储在各Wi-Fi探测设备中,但是,为了进一步保障所生成的目标随机数的安全性,防止云端根据各随机数破解出目标随机数,在本说明书实施例中,Wi-Fi探测设备在通过云端传输随机数时,可以先将随机数进行加密,然后再通过云端进行传输。
因此,在本说明书实施例中,对于Wi-Fi探测设备集群中的各个Wi-Fi探测设备而言,其所获取到的其他Wi-Fi探测设备所对应的随机数为加密后的随机数;
其中,其他Wi-Fi探测设备所对应的随机数基于预先生成的秘钥中的公钥进行加密的;预先生成的秘钥包括Wi-Fi探测设备集群所对应的秘钥或者需要获取随机数的Wi-Fi探测设备所对应的秘钥。
这样,当各Wi-Fi探测设备在获取到其他Wi-Fi探测设备所对应的随机数后,需要使用自身所存储的私钥对该随机数进行解密。
在本说明书实施例中,整个Wi-Fi探测设备集群可以设置一个秘钥,这样,各个Wi-Fi探测设备所获取到的随机数则是基于该Wi-Fi探测设备集群所对应的秘钥的公钥进行加密的,并且,在各个Wi-Fi探测设备中存储有该秘钥的私钥,该秘钥的公钥则存储在云端,这样,每个Wi-Fi探测设备在将随机数发送给其他Wi-Fi探测设备之前,可以从云端获取公钥并进行加密。当然,在该种情况下,也可以将公钥存储在各Wi-Fi探测设备中。
在另外一种具体实施方式中,为了进一步保障所生成的目标随机数的安全性,Wi-Fi探测设备集群中的每个Wi-Fi探测设备均对应一个秘钥,每个Wi-Fi探测设备在将其所生成的随机数发送给其他Wi-Fi探测设备时,则使用其他Wi-Fi探测设备所对应的公钥对该随机数进行加密,在这种情况下,为了便于各Wi-Fi探测设备对随机数进行加密,各Wi-Fi探测设备所对应的秘钥中的公钥可以存储在云端,自身存储所对应的秘钥中的私钥,这样,每个Wi-Fi探测设备在对随机数进行加密时,可以从云端获取所需要的公钥,每个Wi-Fi探测设备在获取到其他Wi-Fi探测设备所发送的随机数时,则直接使用自身所对应的秘钥中的私钥即可进行解密。
为便于理解,下述将举例进行说明。
例如,继续沿用上例,Wi-Fi探测设备1在将其所生成的随机数1发送给Wi-Fi探测设备2时,则需要使用Wi-Fi探测2所对应的秘钥中的公钥对该随机数1进行加密,Wi-Fi探测设备1在将其所生成的随机数1发送给Wi-Fi探测设备3时,则需要使用Wi-Fi探测设备3所对应的秘钥中的公钥对随机数1进行加密,Wi-Fi探测设备1在将其所生成的随机数1发送给Wi-Fi探测设备4时,则需要使用Wi-Fi探测设备4所对应的秘钥中的公钥对随机数1进行加密。即需要将随机数发送给Wi-Fi探测设备集群中的哪个Wi-Fi探测设备,则需要使用该Wi-Fi探测设备所对应的秘钥中的公钥对该随机数进行加密。
为便于理解本说明书实施例中确定目标随机数的具体过程,下述将每个Wi-Fi探测设备均对应一个秘钥,该秘钥中的公钥存储在云端,私钥自身存储,以选取随机数中最大的随机数作为目标随机数为例,介绍上述确定目标随机数的一种具体实施方式。
图5为本说明书实施例中,Wi-Fi探测设备集群中的各Wi-Fi探测设备协商确定目标随机数的方法流程图,图5所示的方法,至少包括如下步骤:
步骤502,Wi-Fi探测设备集群中的各Wi-Fi探测设备分别生成一个随机数。
步骤504,各Wi-Fi探测设备分别从云端获取其他Wi-Fi探测设备所对应的公钥。
步骤506,各Wi-Fi探测设备分别使用其他Wi-Fi探测设备所对应的公钥对其随机数进行加密,并将加密后的随机数通过云端分别传输给对应的Wi-Fi探测设备。
步骤508,各Wi-Fi探测设备在获取到其他Wi-Fi探测设备传输的随机数后,使用自身存储的私钥对该随机数进行解密。
步骤510,各Wi-Fi探测设备从所有的随机数中选取最大随机数作为该Wi-Fi探测设备集群所对应的目标随机数。
在具体实施时,对于每个Wi-Fi探测设备均对应一个秘钥这样情况而言,则需要各个Wi-Fi探测设备生成自身所对应的秘钥。在本说明书实施例中,各Wi-Fi探测设备可以通过如下步骤生成其自身所对应的秘钥:
步骤(1)、获取自身的设备相关信息;其中,该设备相关信息包括Wi-Fi探测设备第一次启动的时间信息和/或Wi-Fi探测设备的设备标识信息;
步骤(2)、基于上述设备相关信息生成上述秘钥。
其中,在本说明书实施例中,上述设备相关信息可以为该Wi-Fi探测设备第一次启动的时间信息,或者,可以为该Wi-Fi探测设备的设备标识信息,还或者,该设备相关信息可以同时包括Wi-Fi探测设备第一次启动的时间信息和设备标识信息。当然,除了第一次启动的时间信息和设备标识信息之外,该设备相关信息还可以是该设备可以区别于其他设备的其他信息,并不局限于此。
需要说明的是,上述Wi-Fi探测设备的设备标识信息可以为Wi-Fi探测设备的MAC地址信息。
在一种具体实施方式中,为了尽可能的使各个Wi-Fi探测设备第一次启动的时间信息存在区别,该时间信息可以采用unix秒级时间信息。
例如,在具体实施时,每个Wi-Fi探测设备可以基于自身第一次启动的时间信息和MAC地址信息生成该Wi-Fi探测设备所对应的秘钥。具体的,可以将该MAC地址转换成十进制,与时间信息相加得到一个数值,基于该数值生成秘钥。由于每个Wi-Fi探测设备所对应的第一次启动时间信息和MAC地址信息均不相同,因此,所对应的上述数值也不相同,从而可以保证每个Wi-Fi探测设备所生成的秘钥也是不相同的。
当然,在具体生成秘钥时,可以使用第一次启动的时间信息与MAC地址信息相加得到一个数值,也可以基于上述两个信息通过其他方式生成该数值,并基于该数值生成秘钥,本说明书实施例并不对此进行限定。
当然,在本说明书实施例中,当各Wi-Fi探测设备生成各自所对应的秘钥后,将该秘钥中的公钥上传至云端进行存储,私钥则自身进行存储。
需要说明的是,在本说明书实施例中,上述所生成的秘钥可以为RSA秘钥。
具体的,在本说明书实施例中,每个Wi-Fi探测设备都是基于自身设备相关信息生成秘钥,由于每个Wi-Fi探测设备所对应的自身设备相关信息都不同,因此,可以保证Wi-Fi探测设备集群中的每个Wi-Fi探测设备所生成的秘钥都不相同,从而进一步提高了安全性。
图6为本说明书实施例提供的生成设备标识信息的方法的方法流程图之三,图6所示的方法,至少包括如下步骤:
步骤602,Wi-Fi探测设备集群中的各Wi-Fi探测设备生成自身所对应的随机数。
步骤604,各Wi-Fi探测设备从云端获取Wi-Fi探测设备集群中其他Wi-Fi探测设备所对应的秘钥的公钥。
步骤606,各Wi-Fi探测设备分别使用其他Wi-Fi探测设备所对应的公钥对该随机数进行加密,并通过云端发送给对应的Wi-Fi探测设备。
例如,Wi-Fi探测设备集群包括Wi-Fi探测设备1、Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4四个Wi-Fi探测设备,以Wi-Fi探测设备1为例,则Wi-Fi探测设备1分别使用Wi-Fi探测设备2、Wi-Fi探测设备3和Wi-Fi探测设备4所对应的公钥对其自身所产生的随机数进行加密,并将使用Wi-Fi探测设备2所对应的公钥加密后的随机数通过云端发送给Wi-Fi探测设备2,将使用Wi-Fi探测设备3所对应的公钥加密后的随机数通过云端发送给Wi-Fi探测设备3,将使用Wi-Fi探测设备4所对应的公钥加密后的随机数通过云端发送给Wi-Fi探测设备4。
步骤608,各Wi-Fi探测设备在获取到Wi-Fi探测设备集群中的所有其他Wi-Fi探测设备所对应的随机数后,使用自身存储的私钥对获取的随机数进行解密。
步骤610,各Wi-Fi探测设备根据所有的随机数,按照设定的随机数确定规则确定Wi-Fi探测设备集群所对应的目标随机数。
步骤612,各Wi-Fi探测设备在探测到Wi-Fi设备时,采集该Wi-Fi设备的MAC地址信息,并使用目标随机数对该MAC地址信息进行混淆处理。
步骤614,各Wi-Fi探测设备对混淆处理后的MAC地址信息进行加密处理,将加密后的密文信息作为该Wi-Fi设备的设备标识信息,并上传至云端进行存储。
本说明书实施例提供的生成设备标识信息的方法,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
对应于本说明书实施例提供的生成设备标识信息的方法,基于相同的思路,本说明书实施例还提供了一种生成设备标识信息的装置,用于执行本说明书实施例提供的生成设备标识信息的方法,该装置应用于Wi-Fi探测设备集群中的Wi-Fi探测设备,图7位本说明书实施例提供的生成设备标识信息的装置的模块组成示意图,图7所示的装置,至少包括:
采集模块702,用于在探测到Wi-Fi设备时,采集Wi-Fi设备的MAC地址信息;
获取模块704,用于获取Wi-Fi探测设备集群所协商的目标随机数;
混淆处理模块706,用于基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理;
加密处理模块708,用于按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为Wi-Fi设备的标识信息。
可选的,上述混淆处理模块706包括以下单元中的至少一种:
运算单元,用于对目标随机数和MAC地址信息执行设定的运算操作;
拼接单元,用于将目标随机数与MAC地址信息进行拼接处理;
插入单元,用于按照设定插入规则将目标随机数插入MAC地址信息中。
可选的,本说明书实施例提供的装置,还包括:
协商模块,用于与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定上述目标随机数。
可选的,上述协商模块,包括:
获取单元,用于获取Wi-Fi探测设备集群中的其他Wi-Fi探测设备所生成的随机数;
确定单元,用于根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数。
可选的,上述确定单元,具体用于:
选取自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数中最大的随机数或者最小的随机数,作为目标随机数;
或者,
分别计算自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数的模值,将最大的模值或者最小的模值所对应的随机数确定为目标随机数。
可选的,上述获取单元所获取的其他Wi-Fi探测设备所对应的随机数为加密后的随机数;
其中,其他Wi-Fi探测设备所对应的随机数基于预先生成的秘钥中的公钥进行加密的;预先生成的秘钥包括Wi-Fi探测设备集群所对应的秘钥或者需要获取随机数的Wi-Fi探测设备所对应的秘钥。
可选的,本说明书实施例提供的装置还包括:
获取模块,用于获取自身的设备相关信息;其中,设备相关信息包括Wi-Fi探测设备第一次启动的时间信息和/或Wi-Fi探测设备的设备标识信息;
生成模块,用于基于上述设备相关信息生成秘钥。
本说明书实施例的生成设备标识信息的装置还可执行图1-图6中生成设备标识信息的装置执行的方法,并实现生成设备标识信息的装置在图1-图6所示实施例的功能,在此不再赘述。
本说明书实施例提供的生成设备标识信息的装置,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
进一步地,基于上述图1至图6所示的方法,本说明书实施例还提供了一种生成设备标识信息的设备,该设备应用于Wi-Fi探测设备集群中的Wi-Fi探测设备,该设备如图8所示。
生成设备标识信息的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对生成设备标识信息的设备中的一系列计算机可执行指令信息。更进一步地,处理器801可以设置为与存储器802通信,在生成设备标识信息的设备上执行存储器802中的一系列计算机可执行指令信息。生成设备标识信息的设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806等。
在一个具体的实施例中,生成设备标识信息的设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对生成设备标识信息的设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
在探测到Wi-Fi设备时,采集Wi-Fi设备的MAC地址信息,以及,获取Wi-Fi探测设备集群所协商的目标随机数;
基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理;
按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为Wi-Fi设备的标识信息。
可选的,计算机可执行指令信息在被执行时,基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理,包括以下混淆处理操作中的至少一种:
对目标随机数和MAC地址信息执行设定的运算操作;
将目标随机数与MAC地址信息进行拼接处理;
按照设定插入规则将目标随机数插入MAC地址信息中。
可选的,计算机可执行指令信息在被执行时,在探测Wi-Fi设备之前,还可以执行如下步骤:
与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定上述目标随机数。
可选的,计算机可执行指令信息在被执行时,与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定Wi-Fi探测设备集群所对应的目标随机数,包括:
获取Wi-Fi探测设备集群中的其他Wi-Fi探测设备所生成的随机数;
根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数。
可选的,计算机可执行指令信息在被执行时,根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数,包括:
选取自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数中最大的随机数或者最小的随机数,作为目标随机数;
或者,
分别计算自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数的模值,将最大的模值或者最小的模值所对应的随机数确定为目标随机数。
可选的,计算机可执行指令信息在被执行时,获取的其他Wi-Fi探测设备所对应的随机数为加密后的随机数;
其中,其他Wi-Fi探测设备所对应的随机数基于预先生成的秘钥中的公钥进行加密的;预先生成的秘钥包括Wi-Fi探测设备集群所对应的秘钥或者需要获取随机数的Wi-Fi探测设备所对应的秘钥。
可选的,计算机可执行指令信息在被执行时,通过如下步骤生成Wi-Fi探测设备所对应的秘钥:
获取自身的设备相关信息;其中,设备相关信息包括Wi-Fi探测设备第一次启动的时间信息和/或Wi-Fi探测设备的设备标识信息;
基于上述设备相关信息生成秘钥。
本说明书实施例提供的生成设备标识信息的设备,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
进一步地,基于上述图1至图6所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
在探测到Wi-Fi设备时,采集Wi-Fi设备的MAC地址信息,以及,获取Wi-Fi探测设备集群所协商的目标随机数;
基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理;
按照设定加密算法,对混淆处理后所得到的信息进行加密处理,将加密后得到的密文信息作为Wi-Fi设备的标识信息。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,基于目标随机数,按照设定的混淆处理算法对MAC地址信息进行混淆处理,包括以下混淆处理操作中的至少一种:
对目标随机数和MAC地址信息执行设定的运算操作;
将目标随机数与MAC地址信息进行拼接处理;
按照设定插入规则将目标随机数插入MAC地址信息中。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,在探测Wi-Fi设备之前,还可以执行如下步骤:
与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定上述目标随机数。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,与Wi-Fi探测设备集群中的其他Wi-Fi探测设备进行协商,以确定Wi-Fi探测设备集群所对应的目标随机数,包括:
获取Wi-Fi探测设备集群中的其他Wi-Fi探测设备所生成的随机数;
根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,根据自身所生成的随机数和其他Wi-Fi探测设备所生成的随机数,按照设定的随机数确定规则确定目标随机数,包括:
选取自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数中最大的随机数或者最小的随机数,作为目标随机数;
或者,
分别计算自身所对应的随机数和其他Wi-Fi探测设备所对应的随机数的模值,将最大的模值或者最小的模值所对应的随机数确定为目标随机数。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,获取的其他Wi-Fi探测设备所对应的随机数为加密后的随机数;
其中,其他Wi-Fi探测设备所对应的随机数基于预先生成的秘钥中的公钥进行加密的;预先生成的秘钥包括Wi-Fi探测设备集群所对应的秘钥或者需要获取随机数的Wi-Fi探测设备所对应的秘钥。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,通过如下步骤生成Wi-Fi探测设备所对应的秘钥:
获取自身的设备相关信息;其中,设备相关信息包括Wi-Fi探测设备第一次启动的时间信息和/或Wi-Fi探测设备的设备标识信息;
基于上述设备相关信息生成秘钥。
本说明书实施例提供的该存储介质存储的计算机可执行指令信息在被处理器执行时,在通过Wi-Fi探测设备采集到Wi-Fi设备的MAC地址信息后,获取Wi-Fi探测设备集群预先协商的目标随机数,基于该目标随机数,按照设定的混淆处理算法对所采集到的MAC地址信息进行混淆处理,并按照设定加密算法对混淆后所得到的信息进行加密,并将加密后的密文信息作为Wi-Fi设备的标识信息。由于目标随机数为Wi-Fi探测设备集群协商得到的,即只有Wi-Fi探测设备集群中的各Wi-Fi探测设备可以获知该目标随机数,外界设备无法获取到该目标随机数,因此,即使对MAC地址信息进行加密的算法被破解,由于无法获取对MAC地址信息进行混淆处理的目标随机数以及如何对MAC地址信息进行混淆处理的,因此,也无法获知Wi-Fi设备的MAC地址信息。采用本说明书实施例提供的方法,可以有效防止用户的Wi-Fi设备的MAC地址信息被泄露,提高了用户Wi-Fi设备的MAC地址信息的安全性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令信息实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令信息到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令信息产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令信息也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令信息产生包括指令信息装置的制造品,该指令信息装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令信息也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令信息提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令信息、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令信息的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。