一种二维码的生成和使用方法
技术领域
本申请涉及一种二维码的生成和使用方法,尤其涉及用于安装软件的二维码的生成和使用方法。
背景技术
二维码(2-dimensional bar code)是一种将某种几何图形(例如方块或矩形块)按照一定规则在二维方向的平面上进行排布,以记录或表示特定数据信息的条形码,其中的每个几何图形构成了二维码的一个条码单元。通常地,所述几何图形可以具有特定的光学特性,例如颜色或灰度特性,以使得在识读所述二维码的图像时,不同的几何图形可以为识读设备所区别。
手机二维条码可简称为手机二维码。手机扫描二维条码技术简单地说是通过手机“拍照”功能对二维 条码进行扫描,快速获取到条码中存储的信息,进行上网、发送短信、拨号、资料交换、自动文字输入等。它存在着如下的问题:二维码经扫描解析得到的字符串是直接可以下载的安装包URL,这种字符串容易暴露服务端资源的真实地址,容易与服务端安全策略冲突,产生盗链、无法使用一次性下载地址等问题;二维码解析出的信息是固定不变的,不能根据不同的手机操作系统,不同的固件版本来判断和选择相应的下载方式或进行错误提示,手机软件具有严格的匹配手机操作系统和固件版本的特点,因此如果手机软件与之不适配则无法成功安装。现有技术中的一种是将所有版本的安装数据包全部下载,但是其中本移动终端适用的安装数据包仅占一小部分,造成下载所有的安装数据包的流量和空间过大,给用户带来了不便。
CN102438067B公开了一种手机扫描二维码安装手机软件的方法。其通过手机二维码解析后得到的是特征值信息,所述特征值信息包括软件的内部标识的产品ID、软件的唯一标识符、软件名称的至少一种,通过将手机操作系统信息、固件版本信息以及特征值信息发送到服务端进行匹配,从而能够根据手机的操作系统和固件版本来选择下载方式或进行提示。但是所述技术方案中,需要手机客户端与服务端进行信息交互,导致效率较低,并且手机用户将手机操作系统信息、固件版本信息发送给服务端还可能导致信息泄漏,存在安全隐患。
本发明提供了一种用于安装软件的二维码的生成和使用方法,能够有效避免上述缺陷。
发明内容
本发明提供了一种二维码的生成方法,包括如下步骤,将下载数据库中的同一软件的不同版本放置在同一目录下;获取所述目录的下载地址以及所述不同版本的软件名称;获取所述不同版本的软件对应的手机的操作系统信息以及固件信息;对于所述目录的下载地址、所述不同版本的软件名称以及操作系统信息以及固件信息分别进行编码;将待生成的二维码分成多个区域分布,所述多个区域互不交叉;将编码后的所述目录的下载地址打印在第一区域,编码后的所述不同版本的软件名称打印在第二区域,编码后的操作系统信息以及固件信息打印在第三区域;其中第三区域的操作系统信息以及固件信息与第二区域的不同版本的软件名称具有对应关系。
作为本发明的另一方面,提供了上述方案的二维码的使用方法,包括如下步骤,手机客户端扫描二维码;手机客户端对第三区域进行解码;手机客户端将解码后的操作系统信息以及固件信息与手机客户端的操作系统信息以及固件信息进行匹配;如果解码后的操作系统信息以及固件信息中不存在与手机客户端的操作系统信息以及固件信息匹配的信息,则提示无对应的安装软件;如果解码后的操作系统信息以及固件信息中存在与手机客户端的操作系统信息以及固件信息匹配的信息,则对第二区域进行解码,通过所述匹配的操作系统信息以及固件信息匹配的信息与第二区域的不同版本的软件名称的对应关系,获取对应的第二区域的对应版本的软件名称,然后对第一区域进行解码,获取下载数据库中目录的下载地址,将所述下载地址与对应版本的软件名称进行合并,得到仅有一个软件的下载地址,手机客户端通过所述地址进行下载。
更进一步的,本发明还提供了用于上述方法的手机客户端:包括扫描元件,用于扫描二维码;解码元件,用于将所扫描的二维码解码;交互元件,用于将手机客户端的信息传送到服务端并且接收服务端传送的信息。
具体实施方式
本发明的实施例仅举例说明用于本发明的原理。对于需要用户下载的软件,例如Angry Bird。首先,将下载数据库中愤怒的小鸟的不同版本放置在同一目录下;获取所述目录的下载地址例如http://xiazai.net/sub1/sub2/以及所述不同版本的软件名称例如:Angry_Bird_android4.3.apk,Angry_Bird_android5.1.apk等;获取所述不同版本的软件对应的手机的操作系统信息以及固件信息;对于所述目录的下载地址、所述不同版本的软件名称以及操作系统信息以及固件信息分别进行二维码编码;将待生成的二维码分成多个区域分布,所述多个区域互不交叉,例如横向或者纵向分成三个区域;将所述目录的下载地址http://xiazai.net/sub1/sub2/编码后的二维码打印在第一区域,编码后的所述不同版本的软件名称打印在第二区域,编码后的操作系统信息以及固件信息打印在第三区域;其中第三区域的操作系统信息以及固件信息与第二区域的不同版本的软件名称具有对应关系,可以使用多种的对应关系,例如将操作系统信息以及固件信息以及不同版本的软件名称在各自区域分别按照顺序排列,排列第一位的操作系统信息以及固件信息对应于排列第一位的软件名称。
上述方案的二维码的使用方法,包括如下步骤,手机客户端扫描二维码;手机客户端对第三区域进行解码,获得第三区域内的操作系统信息以及固件信息;手机客户端将解码后的操作系统信息以及固件信息与手机客户端的操作系统信息以及固件信息进行匹配;如果解码后的操作系统信息以及固件信息中不存在与手机客户端的操作系统信息以及固件信息匹配的信息,则提示无对应的安装软件;如果解码后的操作系统信息以及固件信息中存在与手机客户端的操作系统信息以及固件信息匹配的信息,则对第二区域进行解码,通过所述匹配的操作系统信息以及固件信息匹配的信息与第二区域的不同版本的软件名称的对应关系,获取对应的第二区域的对应版本的软件名称,然后对第一区域进行解码,获取下载数据库中目录的下载地址,将所述下载地址与对应版本的软件名称进行合并,得到仅有一个软件的下载地址,手机客户端通过所述地址进行下载。
上述实施例中的仅用于示范性的表示本发明的内容。另外,本领域技术人员还可于本发明精神内做其它变化,只要其不偏离本发明的技术效果均可。这些依据本发明精神所做的变化,都应包含在本发明所要求保护的范围之内。