具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在无线通信技术中,例如低功耗蓝牙通信(Bluetooth Low Energy,BLE),无线数据信号通过开放空间传播,因而无线数据信号容易被截获。
如低功耗蓝牙通信设备在直连方式下通信,采用的是明文传输。一些比较敏感的数据在传输过程中就会有被窃取的风险。如果采用加密传输,在密钥协商的过程中,也容易因为无线数据信号被截获,而造成密钥遭到破解。
本申请实施例提供一种无线通信系统和应用于该无线通信系统的数据传输加密的数据处理方法,用于智能设备间的加密通信,以解决上述问题的至少一部分。
图1示出的是本申请实施例提供的一种无线通信系统10。该无线通信系统用于智能设备间的加密通信,所述智能设备包括:第一设备110,和第二设备 120。
在一些实施例中,第一设备110与第二设备120通过无线通信协议通信。
在一些实施例中,第一设备110与第二设备120通过蓝牙通信协议通信。在一个具体的示例中,第一设备110与第二设备120通过低功耗蓝牙通信协议通信。作为非限定性的示例,在第一设备110与第二设备120通过低功耗蓝牙通信协议通信的情况下,第一设备110可以是从设备,例如,第一设备可以是电动牙刷、电动洁牙器、电动洁面仪或电动按摩仪。作为非限定性的示例,第一设备110与第二设备120通过低功耗蓝牙通信协议通信的情况下,第二设备 120可以是主设备,例如,第二设备可以是手机、平板电脑,还可以是针对所述从设备设计的控制器。
图2示出的是本申请一实施例提供的数据传输加密的数据处理方法的流程示意图。本申请实施例提供了一种数据传输加密的数据处理方法,应用于上述无线通信系统10,由该无线通信系统10中的智能设备的软件和/或硬件实现,其中,智能设备包括第一设备110和第二设备120,所述方法包括以下步骤S101 至S104:
S101:所述第二设备向所述第一设备发送数据无线传输连接请求。
在一些实施例中,如图2所示,第二设备120向第一设备发送数据无线传输连接请求,作为非限定性的示例,该连接请求可以是低功耗蓝牙连接请求。在一些实施例中,第二设备120向第一设备发送连接请求后开启监听(notify),即开启监听注册通道,若第一设备向第二设备发送蓝牙数据的话,第二设备可以监听的到。
S102:所述第一设备接收到所述数据无线传输连接请求后生成第一随机对象,并根据所述第一随机对象确定回传时长;所述第一设备向所述第二设备发送第一信息,所述第一信息中包括所述回传时长。
作为非限定性的示例,本申请各个实施例中的随机对象,例如第一随机对象、第二随机对象,可以是预设比特数的随机数,随机对象还可以是随机字符,随机对象还可以是预设比特数的字符串。在一个非限定性的示例中,随机对象可以是一个16bytes的随机数。
在一些实施例中,根据所述第一随机对象确定回传时长具体可以是所述预设时长与所述第一信息的数据量正相关。在一些实施例中,第一信息的数据量可以是第一信息中包含的数据的长度,作为非限定性的示例,数据量可以是有效载荷的比特数。应理解,回传时长与第一信息的数据量的正相关关系,可以是依从预设对照表的正相关对应关系,也可以是依从某一种正相关的函数的对应关系。正相关函数包括但不限于正相关的比例函数、指数函数、幂函数、对数函数等。在一些实施例中,回传设时长可以和第一信息的数据量成正比。例如,第一信息包括n比特的随机数,则回传时长T=kn,其中,n为大于或等于 1的正整数,k为大于0的实数。在一些实施例中,k的取值范围为[1/16,3/16]。
在一些实施例中,所述回传时长包括基础时段和浮动时段,所述并根据所述第一随机对象确定回传时长具体包括:获取预先设置在所述第一设备中的所述基础时段;获取所述浮动时段,所述第一随机对象为多字节随机数,所述浮动时段根据所述第一设备产生的所述多字节随机数中的最高位字节中的高电平数确定;确定所述回传时长,所述回传时长等于所述基础时段与所述浮动时段的标量和。在一个具体的示例中,回传时长T=a+x。其中,a为基础时段,x为浮动时段。浮动时段x与随机数(第一随机对象)的大小正相关,具体可通过随机数A的最高位字节中的高电平数确定,即最高位字节中的1的个数。a为基础时段,设置基础系数可以规避数据传输中产生的时间误差,基础时段可根据具体情况在大于或等于1毫秒,至小于或等于3毫秒的区间([1,3]毫秒)内选取。在一个优选的实施例中,基础时段为3毫秒(ms)。
例如,若第一随机对象为16字节随机数,其最高字节的二进制数为0111 0101,共有5个高电平,基础时段预设为3ms,则对应的回传时长T=3+5=8ms, 1的数量相对较多,表示该随机值较大,因此给予该值的时长也相对较长。若其最高字节二进制数为0000 0000,则对应的回传时长T=3+0=3ms,该随机数值相对较小,因此给予处理该随机数值的时间也相应较短。
可以理解,其他位数的随机数也同理。例如,随机数A为双字节数,其二进制16位表示为0001 1100 0101 0110(十进制数7254)。其最高位字节0001 1100 中包括3个1,故x等于3ms,所以回传时长T=3+3=6ms。
最高位字节中的1出现的次数越多,则说明随机数的值越大,使用该随机数的算法或处理该随机的算法也就需要更多的时间,相应的回传时长也就需要相应的增加。同时,随机数的最高位字节出现1的概率也是最大的,故通过随机数的最高位字节中的1的数量来确定动态回传时长的具体值能使动态回传时长高度符合随机数或处理随机数的复杂度;仅对随机数的最高位的高电平进行测量,降低了相关处理器的处理时间,提高了处理速度。
S103:所述第二设备接收到所述第一信息后生成第二信息,并反馈所述第二信息至所述第一设备。
在一些实施例中,第二信息可以是以预设帧格式封装的信息,以便于第一设备识别收到的信息是第二信息。第二信息也可以是包含预设标识的信息,比如包含第一设备的设备ID的信息或者包含厂商标识的信息,以便于第一设备识别收到的信息是第二信息。第二信息还可以是包含预设方法获得的载荷的信息,例如,第二设备接收到的第一信息后,基于第一信息中的内容,根据预设的处理方式处理后的到目标内容,将该目标内容封装为载荷后生成的信息。当然,第二信息可以是包含预设帧格式、预设标识或预设载荷的至少之一的信息。
在一个具体的示例中,第一信息中还包括第一随机对象。第二信息中还可以包含基于第一随机对象,根据预设加密算法生成的秘钥构成的载荷。
在一些实施例中,所述第二设备设置有回传时长控制器,当所述第二设备接收到所述第一信息后,所述回传时长控制器根据所述回传时长开始计时,并在所述回传时长截止时反馈所述第二信息至所述第一设备。其中,回传时长控制器可以是第二设备中的专用处理器,也可以是第二设备中的通用处理器通过运行计算机程序实现的控制器。
S104:所述第一设备接收所述第二信息,若接收到的所述第二信息满足预设条件,则确定传输秘钥,所述第一设备基于所述传输密钥与所述第二设备进行加密数据传输;所述预设条件包括从发出所述第一信息到接收到所述第二信息的时间间隔等于所述回传时长。
在一些实施例中,确定传输秘钥的方式可以是采用预先约定的方式确定。例如,可以是基于第一随机对象和预设加密算法确定传输秘钥,也可以是基于所述回传时长的值和预设加密算法确定传输秘钥,还可以是基于第一信息和第二信息的内容确定传输秘钥。
在一些实施例中,第一设备在确定第二信息满足预设条件后,可以通过与第二设备继续协商秘钥的方式确定传输秘钥。
在一些实施例中,若第一设备接收到的所述第二信息不满足预设条件,即从发出所述第一信息到接收到所述第二信息的时间间隔超过了预设时长,则第一设备判定第二设备为非法设备,断开与第二设备的连接。第一设备后续即便接收到了第二设备发送的第二信息,也不会允许蓝牙连接。
图3示出的是本申请一实施例提供的数据传输加密的数据处理方法的信息交互流程示意图。如图3所示,第二设备向第一设备发送数据无线传输连接请求。第一设备接收到数据无线传输连接请求后生成第一随机对象,并根据第一随机对象确定回传时长。第一设备向第二设备发送第一信息,第一信息中包括回传时长。第二设备接收到所述第一信息后生成第二信息,并反馈所述第二信息至所述第一设备。第一设备接收第二信息,若接收到的第二信息满足预设条件,则确定传输秘钥,第一设备基于传输密钥与第二设备进行加密数据传输。预设条件包括从发出第一信息到接收到第二信息的时间间隔等于回传时长。
在一些实施例中,若第一设备接收到的所述第二信息不满足预设条件,即从发出所述第一信息到接收到所述第二信息的时间间隔不等于回传时长,则第一设备判定第二设备为非法设备,断开与第二设备的连接,不再与第二设备进行后续的数据传输。
应理解,本申请中各个实施方式的示例均适用于图3所示的实施例,本领域技术人员可以根据实际需要对各实施例进行合理的组合。
本申请的申请人发现,固定的回传时长容易被破解,从而增大了信息泄露的概率。本申请中,第一设备在第二设备发送的第二信息满足条件的情况下才与第二设备进行加密数据传输,在本申请中,将预设条件设置为的发出第一信息到接收到第二信息的时间间隔等于回传时长,由于该回传时长是由随机对象确定的,使得每次数据传输连接中所采用的回传时长也变为随机的动态回传时长,从而增加了破解难度,提高了数据传输的保密性。
在图2和图3所示的实施例基础上,图4示出的是本申请另一实施例提供的数据传输加密的数据处理方法的信息交互流程示意图。
如图4所示,所述第一设备向所述第二设备发送第一信息的同时还基于所述第一随机对象,根据第一加密算法生成第一秘钥。所述第一信息中还包括所述第一随机对象。所述第二信息包括第二秘钥,所述第二秘钥由所述第二设备基于所述第一随机对象,根据所述第一加密算法生成。所述若接收到的所述第二信息满足预设条件,则确定所述传输秘钥具体还包括:所述第一设备将所述第一秘钥与所述第二秘钥进行比较,若是两者相同,则确定两者中的任一项为传输秘钥。
在一个具体实施例中,如图3所示,第二设备向第一设备发送数据无线传输连接请求。
第一设备在接收到第二设备发送的数据无线传输连接请求后,生成第一随机对象。第一随机对象可以是16byte的随机数。第一设备根据第一随机对象确定回传时长。上述确定回传时长的示例均可适用于本实施例。例如,回传时长 T=a+x。其中,a为基础时段,x为浮动时段。基础时段为3ms。x由第一随机对象确定,例如,第一随机对象为双字节随机数,其二进制16位表示为0001 1100 0101 0110(十进制数7254)。其最高位字节0001 1100中包括3个1,故x 等于3ms,所以回传时长T=3+3=6ms。
第一设备响应于第二设备发送的数据无线传输连接请求,向第二设备反馈第一信息。第一信息中包括回传时长和第一随机对象。可理解的是,第一设备可以在生成第一随机对象后,就向所述第二设备反馈包括所述第一随机对象的第一信息;还可以在基于所述第一随机对象,根据第一加密算法生成第一密钥后,向所述第二设备反馈包括所述第一随机对象的第一信息。
第二设备基于第一随机对象,根据第一加密算法生成第二秘钥。
第一设备接收到第二信息后,对第二信息是否满足预设条件进行判断。预设条件包括从发出所述第一信息到接收到所述第二信息的时间间隔等于回传时长,预设条件还包括接收到的所述第二信息中的第二密钥与所述第一密钥相同。
在一些实施例中,若第一设备接收到的所述第二信息不满足预设条件,即从发出所述第一信息到接收到所述第二信息的时间间隔超过了预设时长,或第二信息中的第二密钥与所述第一密钥不同,则第一设备判定第二设备为非法设备,断开与第二设备的连接。
作为非限定性的示例,上述预设加密算法或第一加密算法,可以是任意一种可以对随机对象进行加密的算法。第一设备和第二设备使用相同的加密算法。可以是对称加密算法,也可以是散列加密算法(数字签名算法)。例如,RSA 加密算法、数据加密标准算法(Data Encryption Standard,DES)加密算法、高级加密标准算法(Advanced EncryptionStandard,AES),或MD5算法。
应理解,在无线通信过程中,密钥在传输过程中可能会被截获,但是因为每次第一设备与第二设备建立连接时,第一设备产生的随机对象是变化的,所以每次建立连接后所采用的基于该随机对象的密钥也是变化的。即使密钥被攻击者截获,该攻击者也无法利用该密钥窃取下一次建立连接时的数据,因此提高了无线数据传输的安全性。
在图2和图3示出的实施例的基础上,图5示出了本申请另一实施例提供的数据传输加密的数据处理方法的信息交互流程示意图。
如图5所示,所述第一设备向所述第二设备发送第一信息后还将所述第一随机对象与预设对象进行异或运算,获得第一公钥,并将所述第一公钥发送至所述第一设备;所述第二信息包括第二公钥,所述第二公钥由所述第二设备生成第二随机对象,并将所述第二随机对象与预设对象进行异或运算得到;所述若接收到的所述第二信息满足预设条件,则确定所述传输秘钥具体还包括:所述第一设备将所述第一公钥和所述第二公钥进行异或运算,得到所述传输秘钥。在图5所示的实施例的基础上,所述第二设备将所述第一公钥和所述第二公钥进行异或运算,得到所述传输秘钥。
在一个具体的示例,如图4所示,第二设备向第一设备发送数据无线传输连接请求。
第一设备响应于第二设备发送的数据无线传输连接请求,生成第一随机对象,并根据第一随机对象确定回传时长。第一随机对象可以是16byte的随机数。第一设备根据第一随机对象确定回传时长。上述确定回传时长的示例均可适用于本实施例。例如,回传时长T=a+x。其中,a为基础时段,x为浮动时段。基础时段为3ms。x由第一随机对象确定,例如,第一随机对象为双字节随机数,其二进制16位表示为0001 1100 0101 0110(十进制数7254)。其最高位字节0001 1100中包括3个1,故x等于3ms,所以回传时长T=3+3=6ms。
第一设备向第二设备反馈第一信息,第一信息中包含回传时长,在一些实施例中第一信息中还包含第一随机对象。
在第一设备向第二设备反馈第一信息后,还将所述第一随机对象与预设对象进行异或运算,获得第一公钥。并将第一公钥发送给第二设备。
第二设备可以在接收到第一信息后,也可以在接收到第一公钥后,生成第二随机对象,将第二随机对象与预设对象进行异或运算得到第二公钥,并将第二公钥发送给第一设备。
其中,预设对象可以是预设比特数的数值,预设对象还可以是预设字符,预设对象还可以是预设的字符串。在一个非限定性的示例中,预设对象可以是一个16bytes的数值。
第一设备判断第二信息是否满足预设条件。具体的,判断发出第一信息到接收到第二信息间的时间间隔是否等于回传时长,若等于回传时长,则第一设备将第一公钥和第二公钥进行异或运算,获得传输秘钥。在一些实施例中,若不等于回传时长,则第一设备判定第二设备为非法设备,断开与第二设备的连接。
相应的,第二设备将第一公钥和第二公钥进行异或运算,得到所述传输秘钥。
此后,第一设备和第二设备基于该传输秘钥进行加密数据传输。
为了更好的理解本申请的实施例,在一个具体的非限定性示例中,第一设备可以是电动牙刷,第二设备可以是手机,第一设备和第二设备通过低功耗蓝牙协议通信。
第二设备(手机)向第一设备(电动牙刷)发出蓝牙连接请求,第一设备自己随机生成一个随机数作为私钥A,并且第一设备根据之前商定好的参数C通过异或算法生成公钥A’。第一设备根据A确定回传时长,以及将A发送给第二设备。此时第一设备开启回传计时。
在接收到第一信息后,或者接收到第一公钥后,第二设备也自己随机生成一个随机数作为私钥B。第二设备根据之前商定好的参数C通过异或算法生成公钥B’,然后将第二公钥作通过第二信息发送给第一设备。
其中,私钥A和私钥B可以是预设长度的随机数,例如16bytes的随机数。
当第二设备与第一设备分别收到对方传输的公钥A’和公钥B’之后,第一设备判断第二信息若满足预设条件,则将公钥A’和公钥B’进行异或运算,获得传输秘钥K。
第二设备将公钥A’和公钥B’进行异或运算,获得传输秘钥K。
此后,第一设备和第二设备基于传输秘钥K进行加密数据传输。
本申请实施例提到的异或运算算法例程如下:
第二设备与第一设备随机产生的B和A分别为:3和8;
第二设备与第一设备商定的参数C为5;
第二设备生成的公钥B’为:B^C=3^5=6;
第一设备生成的公钥A’为:A^B=8^5=13;
第二设备与第一设备交换公钥后分别将公钥A’和公钥B’进行异或运算,获得传输秘钥K:K=B’^A’=6^13=11。
其中,“^”表示按位异或运算。
应理解,本申请图5提供的实施例中,传输密钥从始至终都没有暴露在空气中,也就不存在密钥被窃取的风险。并且传输密钥也是基于随机数生成,每次连接生成的传输密钥也不相同,加大了破解难度,提高了无线数据传输的安全性。
在图2至5的基础上,本申请实施例还提供了两种判断第二信息是否满足预设条件的方式,在实施本申请实施例时,可以任选其中的一种方式。该预设条件包括从发出所述第一信息到接收到所述第二信息的时间间隔等于回传时长。
方式一:第一设备在发送第一信息后开始计时,在获取到第二信息时计算从发出第一信息至接收到第二信息的时间间隔t,将时间间隔t与预设时长T进行比较,若时间间隔t等于回传时长T,认为满足预设条件,反之则判定为非法设备,第一设备主动断开连接。
方式二:第一设备设置有校验位,该校验位可以设置在与第一设备耦合的存储介质中。在第一设备向第二设备反馈第一信息后,还包括:将校验位设置为第一校验值,例如置为0,开始计时。
在第一设备接收到所述第二设备发送的第二信息后,将所述校验位设置为第二校验值,例如置为1。
定时轮询所述校验位,若在第一设备计时到达回传时长前,若所述校验位为第二校验值,则所述第二信息不满足所述预设条件;在第一设备计时达到回传时长时,检查所述校验位;若所述校验位为第一校验值,则所述第二信息不满足所述预设条件;若所述校验位为第二校验值,则所述第二信息满足所述预设条件。
在一些实施例中,第二设备设置有回传时长控制器,当所述第二设备接收到所述第一信息后,所述回传时长控制器根据所述回传时长开始计时,并在所述回传时长截止时反馈所述第二信息至所述第一设备。
对应于上述图2所示的数据传输方法,图6示出的是本申请实施例提供的一种数据传输的装置M100,用于智能设备间的加密通信,所述智能设备包括第一设备和第二设备,其特征在于,所述装置包括:
数据无线传输连接请求发送模块M101,用于所述第二设备向所述第一设备发送数据无线传输连接请求;
第一信息发送模块M102,用于所述第一设备接收到所述数据无线传输连接请求后生成第一随机对象,并根据所述第一随机对象确定回传时长;所述第一设备向所述第二设备发送第一信息,所述第一信息中包括所述回传时长;
第二信息反馈模块M103,用于所述第二设备接收到所述第一信息后生成第二信息,并反馈所述第二信息至所述第一设备;
加密数据传输模块M104,用于所述第一设备接收所述第二信息,若接收到的所述第二信息满足预设条件,则确定传输秘钥,所述第一设备基于所述传输密钥与所述第二设备进行加密数据传输;所述预设条件包括从发出所述第一信息到接收到所述第二信息的时间间隔等于所述回传时长。
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图7为本申请一实施例提供的电子设备的结构示意图。该电子设备DA10 用于实现上述无线通信系统10中的第一设备110和第二设备120。如图7所示,该实施例的电子设备DA10包括:至少一个处理器DA100(图7中仅示出一个) 处理器、存储器DA101以及存储在所述存储器DA101中并可在所述至少一个处理器DA100上运行的计算机程序DA102,所述处理器DA100执行所述计算机程序DA102时实现上述由所述第一设备实现的各个方法实施例中的步骤,该电子设备DA10的各个部件通过总线DA110通信。
本领域技术人员可以理解,图7仅仅是电子设备DA10的举例,并不构成对电子设备DA10的限定,电子设备DA10可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备DA10还可以包括通信单元DA103,以及未示出的输入输出设备、电源单元、驱动单元等。
本申请实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器DA100还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit, ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例中所称存储器在一些实施例中可以是所述电子设备DA10的内部存储单元,例如硬盘或内存。所述存储器在另一些实施例中也可以是所述电子设备DA10的外部存储设备,例如所述电子设备DA10上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述电子设备DA10的内部存储单元也包括外部存储设备。所述存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。