一种二维码生成和解析方法及设备与流程

文档序号:18869904发布日期:2019-10-14 19:17阅读:228来源:国知局
一种二维码生成和解析方法及设备与流程

本申请涉及信息技术领域,尤其涉及一种二维码生成和解析方法及设备。



背景技术:

uri(uniformresourceidentifier,统一资源标识符)用于标识互联网上的资源名称,其可以标识互联网上每种可用的资源如html文档、图像、视频、程序等,用户通过uri对所标识的互联网资源进行交互式处理,如执行读取操作、更新操作等。uri一般由三部分组成:主机名、标志符和相对uri,主机名表明存放资源的自身的名称,由路径表示,标志符指出资源内部的片段,相对uri的路径通常指向同一台机器上的资源。url是uri(uniformresourcelocator,统一资源定位符)的一个子集合,用于描述可在互联网上得到的资源的位置和访问方法。url包括如下组成部分:协议(或服务方式)、存有资源的主机地址和资源在主机上的具体路径等。

由于url的发展历史和使用习惯,目前url主要用于需要访问互联网资源的各种场合。

申请内容

本申请的一个目的是提供一种二维码生成和解析方法及设备。

为实现上述目的,本申请的一些实施例提供了一种在设备端生成二维码的方法,其中,该方法包括:获取url路径信息和url参数信息;根据url路径信息和url参数信息生成与url相关的url资源信息;根据所述url资源信息生成关于url的二维码。

本申请的另一些实施例还提供了一种在移动终端解析二维码的方法,其中,该方法包括:启动应用扫描并解析二维码,获得url资源信息;若所述应用为目标应用,所述目标应用从所述url资源信息中提取url路径信息;根据所述url路径信息,获得url前缀信息;结合所述url前缀信息和所述url资源信息,获得用于访问的url。

本申请的一些实施例还提供了一种设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行前述在设备端生成二维码的方法。

此外,本申请的一些实施例还提供了一种移动终端,该终端包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该终端执行前述在移动终端解析二维码的方法。

本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述在设备端生成二维码的方法和在移动终端解析二维码的方法。

与现有技术相比,本申请提供的方案能够根据网络资源的url路径信息和url参数信息生成url资源信息并以二维码形式进行展现,用户可以通过扫描该二维码得到url资源信息,并通过移动终端上的授权应用获得该url资源信息相应的url前缀信息,再根据url资源信息和url前缀信息得到完整的url并使用该url访问该网络资源;未在移动终端上安装授权应用的用户则无法得到完整的url,无法访问该网络资源,从而实现了对网络资源访问用户的灵活控制,提高了网络资源访问的可管理性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请的一些实施例提供的一种在设备端生成二维码的方法的流程图。

图2为本申请的一些实施例提供的一种优选的根据url资源信息生成的二维码图像。

图3为本申请的一些实施例提供的一种在移动终端解析二维码的方法的流程图。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,移动终端和网络设备均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本申请实施例提供了一种用于在设备端生成二维码的方法。该设备端可包括网络设备端或移动终端。网络设备可包括但不限于诸如集中式服务器或分布式服务器等服务设备;移动终端包括但不限于手机、平板电脑、笔记本电脑等移动式终端。如图1所示,该方法具体包括如下步骤:

步骤s101,获取url路径信息和url参数信息;

步骤s102,根据url路径信息和url参数信息生成与url相关的url资源信息;

步骤s103,根据所述url资源信息生成关于url的二维码。

若关于url的二维码由网络设备生成,该网络设备可在生成该二维码后,将该关于url的二维码发送至终端,如移动终端或固定终端等,以供终端展示该二维码。若关于url的二维码由移动终端生成,该移动终端可直接展示该关于url的二维码,或将其发送至其他设备,以进行诸如打印、存储等处理。网络设备可通过访问其数据库或与提供无线接入点的设备通信等方式,获取其所需的信息。移动终端可通过访问其数据库、或与网络设备或提供无线接入点的设备通信等方式,获取其所需的信息。

该方案尤其适合用于在需要对二维码的扫描用户进行网络资源访问控制的场合,能够根据网络资源的url路径信息和url参数信息生成与url相关的url资源信息,再将与url相关的url资源信息通过二维码生成工具生成相应的二维码,供需要访问该网络资源的用户通过扫描二维码获得url资源信息并使用授权应用获得网络资源的完整url,再进行相应资源的访问。生成的二维码可以使用多种方式进行展示,例如被打印在纸张上展示、被生成该二维码的网络设备分发给移动终端后由移动终端通过其屏幕展示、由生成该二维码的移动终端通过其屏幕展示等。

在此,url路径信息指的是用于定位网络资源的路径信息,即网络资源如html文件、图片、视频或应用程序等在服务器上存放位置的信息;在一些实施例中,该信息以uri规定的字符串形式表述。在对网络资源在服务器上的存放位置进行表述时,可以使用显示或隐式两种方式。显示方式即清楚指明要访问网络资源的目录和文件名,表述为目录+文件名的形式,例如一个场景下url路径信息为“/w/z/n”,表明要访问网络资源为服务器目录“/w/z/”下的文件“n”。

隐式方式是只指明要访问网络资源的目录,表述为只有目录的形式,目录以“/”结尾,例如url路径信息为“/w/z/n/”,此时实际访问的网络资源为服务器目录“/w/z/n/”下的默认文件,这个默认文件通常是index.html或default.htm。也就是说,url路径信息表述为“/w/z/n/”时实际访问的网络资源就是url路径信息表述为“/w/z/n/index.html”或“/w/z/n/default.htm”时访问的网络资源。隐式方式可用于简化url路径信息的表述。

url参数信息用于向网络资源传递相关的资源参数。在本申请的一些实施例中,资源参数可以包括无线接入点(即wifi热点)的接入信息,也可以包括其它关于网络资源配置的参数和关于业务功能的参数。一般来说,url中都会包含url参数信息,但是url中也可以不包含url参数信息,在访问不包含url参数信息的url时,使用的是该url指示的网络资源的默认参数。无线接入点的接入信息可包括但不限于该无线接入点的标识信息和密码,用于向无线接入点提供必要的认证;无线接入点的标识信息可例如为ssid。在一些实施例中,关于网络资源配置的参数还可以包括但不限于:路由器mac地址、路由器加密方式、路由器信号强度和通信信道等;在一些实施例中,路由器mac地址指明无线路由器的mac地址,通信信道指以无线信号作为传输媒体的数据信号传送通道,如无线的“频段”。关于业务功能的参数可包括但不限于如下参数:分享用户、客户端版本号和来源渠道。在一些实施例中,分享用户指明哪个用户进行了信息分享;来源渠道指出用户的来源渠道,例如来自第一合作商的渠道、来自第二合作商的渠道等。作为优选的实施方式,在步骤s101中,获取url参数信息时具体可采用以下处理步骤:首先获取关于url的资源参数,然后将所述资源参数拼装成url键值对形式的url参数信息。例如,有两个关于url的资源参数p和s,对应的参数值分别为“gst”和“ft”,将上述资源参数拼装成url键值对形式,产生的url参数信息为“p=gst&s=ft”。在一些实施例中,一些资源参数的参数值可能是变化的,需要在生成键值对时实时获取。

以用户间分享wifi密码的场景为例,一个用户想要通过移动终端来分享一个wifi热点的密码给另一个用户,其中,分享wifi热点的密码的用户,即分享用户,的移动终端上已经安装具有信息分享功能的应用,并且已经通过该应用获知了该wifi热点的ssid和密码;另一个用户的移动终端上安装有该应用或其合作伙伴方的应用。在此,合作伙伴方指的是同该应用达成合作协议的第三方厂商,该第三方厂商可通过合作协议获知该应用提供的对外接口、内部机制等技术信息。

该分享用户使用该应用中用于生成wifi热点信息的功能来生成相应的二维码,供另一个用户扫描获取。在此,该应用可自动从内置的数据库中获取url路径信息,获取的url路径信息可例如“/www/wifi/com”。关于url的资源参数可能来自多个渠道。例如,应用从内置数据库中获取的部分参数值拼装成的部分url参数信息例如“ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk”。并且,该应用还动态从连接的wifi热点获取另一部分参数来拼装得到另一部分url参数信息,例如“signal=45&channel=10”。最终将两部分url参数信息拼装成的url参数信息为“ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk&signal=45&channel=10”。

在一些实施例中,url参数信息还可以同时包含关于url的业务功能参数,这些业务功能参数可由应用从应用信息中获取;例如,该应用根据获得的关于url的业务功能参数拼装得到字符串“shareuser=user1&version=2.0.8&source=baidu”,并将上述三部分字符串拼装到一起最终得到的url参数信息为“ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk&signal=45&channel=10&shareuser=user1&version=2.0.8&source=baidu”。

拼装与url相关的url资源信息时可以使用得到的url路径信息和url参数信息,如果url参数信息为空,也可只使用url路径信息来拼装。作为优选的实施方式,在拼装上述两条信息时可按url路径信息在前、url参数信息在后的顺序,并在url路径信息后添加连接符。例如,连接符可以是“?”。在一些实施例中,url路径信息和url参数信息都为字符串,因此通过字符串连接得到的url资源信息也为字符串。在前述的一个实施例中,url路径字符串为“/w/z/n”,url参数字符串为“p=gst&s=ft”,将url路径字符串和url参数字符串通过连接符“?”连接所得到的url资源字符串为“/w/z/n?p=gst&s=ft”。另外,在前述用户间分享wifi热点密码的实施例中,最终得到的url资源信息可为“/www/wifi/com?ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk&signal=45&channel=10&shareuser=user1&version=2.0.8&source=baidu”。

此外,为方便资源访问用户得到用于访问网络资源的url资源信息,可向用户提供一种能获取url资源信息到移动终端上的简易方式,让资源访问用户以手动方式逐字键入url资源信息的方式是不可取的。本申请的一些实施例中采用了二维码方式来获得分享的信息,二维码作为一种简单、方便、易于使用的信息编码方式,可以用于资源访问用户间的信息分享或资源访问用户获取公共服务商提供的信息服务等多种场景。

具体地,将得到的url资源信息生成关于url的二维码,此步骤需要使用二维码生成工具对得到的url资源信息进行编码和转换,最终得到按照一定规则表示的图像。例如,前述用户间分享wifi热点密码的使用场景中得到的url资源信息经过二维码生成工具生成的二维码图像如图2所示。

本申请的一些实施例还提供了一种在移动终端解析二维码的方法,如图3所示,该方法具体包括如下步骤:

步骤s201,启动应用扫描并解析二维码,获得url资源信息;

步骤s202,若所述应用为目标应用,所述目标应用从所述url资源信息中提取url路径信息;

步骤s203,根据所述url路径信息,获得url前缀信息;

步骤s204,并结合所述url前缀信息和所述url资源信息,获得用于访问的url。

该方案用于对前述方案中生成的二维码进行解析得到url资源信息,并根据解析得到的url资源信息获取url前缀信息,最后得到可用于访问网络的完整url。本申请的一些实施例中,任何用户可以使用具有二维码扫描功能的移动终端对该二维码进行扫描从而获得部分url信息,只有安装了授权应用的移动终端才可以得到拼装完整的url,并根据此完整的url访问对应的网络资源。一个完整的url除了包含通过解析该二维码得到的url资源信息之外,还包含url前缀信息。本申请的一些实施例中,主要通过限制移动终端用户获得url前缀信息来实现对网络访问用户的管理与控制,用户通过授权应用得到相应的url前缀信息后,就能拼装得到完整的url并访问该url对应的网络资源。

在步骤s201中,移动终端启动具有二维码扫描功能的应用对前述生成的二维码进行扫描,该应用对二维码进行扫描时可使用外部工具,例如摄像头、扫描枪等便于实现图像识别的设备。在通过二维码扫描设备对二维码进行扫描后,移动终端应用对获得的二维码图像进行解析识别,通过使用二维码图像中携带的格式信息对二维码进行解码,获得url的资源信息,该url的资源信息中包含了用于访问网络的url的部分信息,具体来说,包含了url路径信息和url参数信息,url参数信息可以为空值。在此,移动终端使用的具有二维码扫描功能的应用可以是目标应用,也可以是非目标应用。目标应用是指已得到授权的应用,其已预置配套的规则,可基于url资源信息中的url路径信息得到url前缀,从而获得完整的url,例如,目标应用的提供商是该二维码的提供商或合作商,并为该目标应用配置了对应的二维码解码能力。非目标应用则是没有得到授权的应用,无法根据该二维码提供的信息得到url前缀信息,因此不能得到拼装完整的url。

在步骤s202中,如果移动终端使用的应用是目标应用,则目标应用可以从前一步骤中得到的url资源信息中提取url路径信息;如果所述应用为非目标应用,即未得到授权的应用,该应用可向用户显示访问url资源信息的提示信息,并根据用户对提示信息的确认操作访问url资源信息指示的网络资源,以获得目标应用的安装包。在下载、安装完成目标应用后,再使用目标应用对该二维码进行扫描,即可获得完整的url。

在步骤s203中,目标应用根据得到的url路径信息来获取url前缀信息。在此,url前缀信息指的是用于表明网络访问协议和网络资源所在服务器地址的相关信息,网络访问协议指明访问网络资源的模式,当前有很多种网络访问协议在互联网上使用,最常用的网络访问协议是http(hypertexttransferprotocol,超文本传输协议)。网络资源所在服务器地址用于指明存储网络资源的服务器对应的互联网访问地址,包括两个部分:ip地址(internetprotocoladdress,网际协议地址)和端口号。每种网络访问协议都有自身对应的默认端口号,如果只指明了网络访问协议和ip地址,就表明网络访问使用的端口号为该网络访问协议对应的默认端口号。例如网络访问协议http的默认端口号为80,url前缀信息为“http://202.114.35.24”时表明要通过http协议访问ip地址为“202.114.35.24”的服务器的80端口。由于ip地址的数字形式只方便机器的读取,并不利于人们理解和记忆,互联网又发展出域名技术,将域名和ip地址进行了相互映射,方便用户访问互联网,当前互联网服务器的地址基本都采用域名的形式表示,通过dns服务将域名转换成ip地址。例如url前缀信息为“ftp://www.xxx.com:8080”,域名“www.xxx.com”通过域名解析得到ip地址为“202.114.35.24”,则表明通过ftp协议访问ip地址为“202.114.35.24”的服务器的8080端口。

另外,url前缀信息也可包含用户账号和密码信息,用于向需要进一步认证的网络资源提供登录信息。例如url前缀信息为“http://guest:123456@www.xxx.com:8080”表明通过http协议以用户账号为“guest”,账号密码为“123456”访问域名为“www.xxx.com”的服务器的8080端口。

解析二维码获得的url资源信息可用于获得相应的url前缀信息。具体来说,是根据url资源信息中的路径信息来获得url前缀信息,在获得url前缀信息时可采用多种方法,例如映射表法,映射表中包含了url路径信息和url前缀信息的对应规则,根据url路径信息可直接在预设映射表中查找对应的url前缀信息;例如转换法,将url路径信息通过预设的转换规则转变成url前缀信息等。例如,识别二维码得到的url资源字符串为“/w/z/n?p=gst&s=ft”,根据其中的url路径信息“/w/z/n”在映射表中查找,其中存在一条映射规则为“url路径信息:‘/w/z/n’,url前缀信息:‘http://www.xxx.com’”,则该url路径信息查找到的对应url前缀信息为“http://www.xxx.com”。在前述用户间分享wifi热点密码的使用场景中,另一个用户通过扫描二维码得到url资源信息字符串为“/www/wifi/com?ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk&signal=45&channel=10&shareuser=user1&version=2.0.8&source=baidu”,其中url路径信息为“/www/wifi/com”,应用或合作伙伴方应用可根据内置的映射规则:字符转换规则将url路径信息转换成url前缀信息,这里的字符转换规则为“将字符‘/’转换为字符‘.’”,得到的url前缀信息为“.www.wifi.com”,再去掉最前面的字符“.”并加上相应协议“http://”,得到最终的url前缀信息为“http://www.wifi.com”。

获得url前缀信息后,将其与通过二维码解析得到的url资源信息进行连接,连接顺序为url前缀信息在前,url资源信息在后,连接时不需要连接符,直接进行拼装,即可获得url。具体地,获得的url为一个字符串,包含有访问协议、网络资源服务器的域名、服务器的目录和资源参数等信息,通过url即可访问相应的网络资源。例如,url前缀信息为“http://www.xxx.com”,url资源信息为“/w/z/n?p=gst&s=ft”,两者拼装成的完整url为“http://www.xxx.com/w/z/n?p=gst&s=ft”。在前述用户间分享wifi热点密码的使用场景中,将url前缀信息和url资源信息进行连接后最终得到的完整url为“http://www.wifi.com/www/wifi/com?ssid=wifi123456&pass=123456&mac=0c729c229d29&encryption=wpa-psk&signal=45&channel=10&shareuser=user1&version=2.0.8&source=baidu”。

得到完整的url之后,由于url给出了网络资源的访问标识,如果用户的移动终端此时已经连上网络,可以直接通过该url访问相应的网络资源,例如,用户可以将获得的url输入到网络浏览器的地址栏,即可通过网络浏览器获得url对应的网络资源的访问结果;如果用户是在应用程序中获得的url且应用程序提供了通过url进行网络访问的功能,用户可以在应用程序中直接获得url对应的资源访问结果。在前述用户间分享wifi热点密码的实施例中,用户扫描二维码后可通过应用或合作伙伴方应用自动得到完整url,随后,应用或合作伙伴方应用再根据完整url中无线接入点的接入信息调用操作系统提供的网络访问api连接相应的wifi热点,实现分享wifi热点的自动连接。

如果得到完整url后用户的移动终端还没有连上网络,用户可以通过获得网络接入信息来连接网络,也可以自行寻找可连接的wifi或通过移动通讯访问url。在此,该网络接入信息可以从url前缀信息或url参数信息中获得,如果接入信息从url前缀中获得,与之关联的url资源信息可以包含url参数信息也可以不包含url参数信息,只需包含url路径信息;如果接入信息从url参数信息中获得,与之关联的url资源信息中需要包含url路径信息和url参数信息。

本申请的一些实施例还提供了一种设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行前述在设备端生成二维码的方法。

本申请的一些实施例还提供了一种移动终端,该终端包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该终端执行前述在移动终端解析二维码的方法。

本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述在设备端生成二维码的方法和在移动终端解析二维码的方法。

综上所述,本申请提供的方案能够根据网络资源的url路径信息和url参数信息生成url资源信息并以二维码形式进行展现,用户可以通过扫描该二维码得到url资源信息,并通过移动终端上的授权应用获得该url资源信息相应的url前缀信息,再根据url资源信息和url前缀信息得到完整的url并使用该url访问该网络资源;未在移动终端上安装授权应用的用户则无法得到完整的url,无法访问该网络资源,从而实现了对网络资源访问用户的灵活控制,提高了网络资源访问的可管理性。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1