浏览器跳转至应用程序的数据同步方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种浏览器跳转至应用程序的数据同步方法及装置。
背景技术
浏览器是用于显示网站服务器或文件***内的文件,并让用户与这些文件交互的一种应用软件,它可以显示在万维网或局域网等内的文字、图像及其他信息,这些文字或图像可以是连接其他网址的超链接,用户可迅速而轻易地浏览各种信息。
当用户在进行网页浏览时,如果终端安装了与所浏览的网站相对应的应用程序,终端会离开浏览器界面并自动跳转打开应用程序,例如,在浏览器中访问淘宝网时,终端检测到本地安装有手机淘宝软件,会自动跳转到手机淘宝的客户端。
在这种情况下,统计浏览器的访问记录的统计服务器在统计用户流量时,只能统计到跳转至淘宝等APP之前的用户在浏览器上的访问记录,而在用户继续在淘宝等APP上进行购物时,点击按钮或链接产生的访问记录则无法被统计服务器得到,这就使得统计服务器统计得到的访问记录不全面,导致统计的准确率较低。
发明内容
本发明实施例提出了一种浏览器跳转至应用程序的数据同步方法,可以解决终端应用程序自动跳转导致浏览器数据统计准确率降低的技术问题。
一种浏览器跳转至应用程序的数据同步方法,包括:
检测在浏览器中发起的第一网页资源请求,在检测到所述第一网页资源请求时,获取所述第一网页资源请求对应的第一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为一个实施例中一种浏览器跳转至应用程序的数据同步装置的结构示意图;
图3为一个实施例中运行前述浏览器跳转至应用程序的数据同步方法的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,提出了一种浏览器跳转至应用程序的数据同步方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机***之上,该计算机程序可以是终端上的应用程序的启动管理的应用程序或浏览器与其他应用的关联启动的管理应用程序。该计算机***可以是运行上述计算机程序的例如智能手机、平板电脑、个人电脑等服务器或终端。
具体的,如图1所示,上述浏览器跳转至应用程序的数据同步方法包括如下步骤:
步骤S102:检测在浏览器中发起的第一网页资源请求,在检测到所述第一网页资源请求时,获取所述第一网页资源请求对应的第一URL。
在进行网页访问的过程中,用户在地址栏中输入将要访问的网页地址,或者点击网站上包含的其他网站的网页地址,浏览器根据用户的操作以及对应的网页地址生成相应的HTTP请求,并发送给Web服务器,也就是说,用户在浏览器中发起第一网页资源请求,并且,该请求对应上述网页地址。。
可以在浏览器中预先定义脚本语言,例如JavaScript等,检测网页资源请求的操作,例如超链接控件的点击事件、按钮控件的点击事件,从而获取网页资源请求对应的URL,即网络地址。
需要说明的是,在本实施例中,在检测到用户在浏览器中发起第一网络资源请求时,获取与该请求对应的网络地址,即获取与该请求对应的URL(Uniform ResourceLocator)。
步骤S104:读取本地应用程序列表,在所述本地应用程序列表中查找与所述第一URL对应的应用程序作为目标应用程序,若查找到,则执行步骤S1060:跳转至所述目标应用程序中与所述第一URL对应的应用界面;若未查找到,则执行步骤S1062:在所述浏览器中展示与第一URL对应的页面。
在进行网站访问时,浏览器从所获取的URL中提取关键字,并通过关键字与本地安装的应用程序信息进行比对,查找是否有与该网址信息对应的应用程序。例如,在终端访问淘宝网时,获取其网页地址为“https://www.taobao.com/”,终端提取出其中的关键字为“taobao”,终端在本地的应用程序列表中查询到注册信息包含有关键字“taobao”的应用程序,即判定网址信息与本地应用程序相对应,并将该本地应用程序标识为目标应用程序,该目标应用程序即为跳转的应用程序。
在本实施例中,若目标应用程序存在的情况下,为了保证用户在浏览页面时的良好的适用体验,跳转至目标应用程序中继续进行浏览和操作。具体的,浏览器在查找到本地应用程序列表中存在与网页地址相对应的应用程序时,即向应用程序管理软件发送指令来跳转至对应的应用程序;该指令的发送可以通过内置在浏览器中的应用程序管理的插件直接向应用程序管理软件发送指令。在另一个实施例中,也可以通过浏览器向终端控制中心发送指令,再由终端控制中心向应用程序管理软件发送指令,从而实现从浏览器向应用程序的跳转。
需要说明的是,在由浏览器跳转至目标应用程序时,还将上述检测到的在浏览器中发起的第一网页资源请求以及相应的第一URL也一并发送给目标应用程序,目标应用程序在启动之后,根据第一网页资源请求以及相应的第一URL展示与第一URL对应的应用界面,从而实现在浏览器中发起网页资源请求而在目标应用程序中展示用户发起的网页资源请求对应的界面。
可选的,在一个实施例中,并不是所有的在浏览器中的操作均跳转至对应的应用程序进行操作,例如,用户可以设置在需要跳转的应用为A应用时,不进行跳转,或者,还可以设置在需要跳转的应用为B应用时,进行跳转。进一步的,还可以设置可跳转应用的白名单以及不可跳转应用的黑名单。
具体的,在一个实施例中,上述跳转至所述目标应用程序中与所述第一URL对应的应用界面之前还包括:判断所述目标应用程序是否属于所述预设的可跳转应用程序的白名单,若是,则执行所述跳转至所述目标应用程序中与所述第一URL对应的应用界面。
也就是说,在浏览器或者终端中预设有可跳转应用程序白名单,即在检测到终端中的本地应用程序列表中包含的应用程序存在于该白名单中时,终端的应用程序管理软件允许该应用程序的启动。例如,在浏览器中设置的应用程序白名单中包含支付宝软件,当用户在访问网站时,所访问的网页链接中包含“alipay”关键字,浏览器检测其对应的应用程序为支付宝软件,并在终端的本地应用程序列表中查找到存在支付宝软件,并且,该支付宝软件属于上述可跳转应用的白名单上,则执行相应的跳转操作。
再例如,在浏览器中还设置有不可跳转应用的黑名单,在需要跳转的目标应用程序属于该黑名单时,无论在终端上是否已经安装有该应用程序,均不进行跳转操作。
步骤S108:获取在所述目标应用程序中发起的第二网页资源请求对应的第二URL,根据所述第二URL生成行为记录。
步骤S110:根据预设的同步周期将所述行为记录发送至所述浏览器中进行存储,所述浏览器用于将所述存储的行为记录上报至服务器。
在跳转至目标应用程序之后,在目标应用程序中开启一个进程用来记录用户在目标应用程序中进行数据浏览的过程中产生的历史数据。例如,用户在目标应用程序中通过搜索操作、链接点击操作等操作产生的网页数据浏览的历史数据。具体的,上述进程在用户进行网页数据浏览的过程中,获取在目标应用程序中发起的所有的网页资源请求对应的网页地址(或URL),并根据获取到的所有的URL生成行为记录。该行为记录中包括了用户在使用目标应用数据浏览数据的过程中的所有的访问记录。
为了使得在浏览器中包含有用户的所有的访问记录,并且在上报给web服务器的访问记录时用户的完整的访问记录,因此,在用户在目标应用程序中完成数据的访问之后,将用户在目标应用程序中的访问记录发送给浏览器,以便浏览器获取完成的访问记录。
需要说明的是,在本实施例中,目标应用程序将访问记录发送给浏览器的时间可以是实时的,也就是说,一般上述进程检测到目标应用程序中的访问请求,则更新访问记录,并将更新后的访问记录发送给浏览器,以便浏览器获取实时的访问数据,即实现浏览器与目标应用程序之间的实时的数据同步。
进一步的,在另一个实施例中,还可以设定一个同步周期,也就是说,目标应用程序按照上述同步周期定时的将访问记录发送给浏览器,减少了在数据同步的过程中同步的次数,以及对终端资源的占用。
也就是说,在浏览器中不仅包括了用户在浏览器中相应的行为记录或访问记录,还包括了用户在目标应用程序中进行数据访问的行为记录或访问记录。从而使得浏览器在将行为记录或访问记录上报给web服务器时,上报的数据覆盖了用户完整的访问记录,提高了上报数据的完整性。
需要说明的是,在本实施例中,浏览器上报的行为记录为目标应用程序发送至浏览器的行为记录,还可以包括了浏览器根据在浏览器上进行的数据浏览的记录生成的行为记录。
可选的,在用户结束浏览之后,浏览器将用户的访问记录存储到浏览器缓存中。浏览器缓存,通常称为Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的键key/值value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用Cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。在用户在目标应用程序中进行数据访问之后,将相应的行为记录也一并存储在浏览器的Cookie中。
需要说明的是,在本实施例中,在生成行为记录的同时,不仅将网页地址或URL包含在该行为记录中,还在行为记录中存储有与每一项行为记录对应的时间戳,用来区分网页浏览的先后顺序。
具体的,所述获取在所述目标应用程序中发起的第二网页资源请求对应的第二URL还包括:获取与所述第二URL对应的第二网页资源请求的发起时间戳;所述根据所述第二URL生成行为记录还包括:在所述行为记录中加入与所述第二URL对应的第二网页资源请求的发起时间戳。
进一步的,在行为记录中还可以包括有用户在进行网页搜索时输入的搜索关键字等搜索记录,该搜索记录可以用来确定用户的偏好信息;并且,在行为记录中还可以包括有用户在浏览网页时产生的网页缩略图等相关数据。
具体的,上述根据所述第二URL生成行为记录之前还包括:获取与所述在所述目标应用程序中发起的第二网页资源请求对应的搜索关键字;获取与所述在所述目标应用程序中发起的第二网页资源请求对应的网页缩略图;所述根据所述第二URL生成行为记录还包括:在所述行为记录中加入所述搜索关键字和/或所述网页缩略图。
也就是说,在用户通过目标应用程序访问网络时,不仅仅获取用户访问的网页所对应的网页地址或对应的URL,还需要获取用户在网页的浏览的过程中搜索网页所产生的搜索官建立等搜索历史,并且将上述搜索历史添加到行为记录中,以便web服务器再统计用户的偏好信息时根据搜索历史来确定用户的偏好信息。
需要说明的是,在本实施例中,目标应用程序同步到浏览器的不仅仅是访问记录,还可以将目标应用程序展示的页面也一并随着访问记录的同步同步到浏览器中。
具体的,所述根据预设的同步周期将所述行为记录发送至所述浏览器中进行存储之前还包括:获取所述目标应用程序当前展示的第一目标网页所对应的目标URL;将所述目标URL发送至所述浏览器,所述浏览器用于展示与所述目标URL对应的第二目标网页。
具体实施中,在目标应用程序将行为记录发送给浏览器的同时,还将当前在目标应用程序的展示页面上展示的网页对应的URL也一并发送给浏览器,浏览器在接收到该URL之后,加载该URL对应的网页,并在浏览器对应的展示页面上展示与该URL对应的网页。
在另一个实施例中,上述网页的同步还可以是目标应用程序获取当前在展示页面上展示的目标网页对应的脚本文件,然后将该脚本文本一并发送给浏览器,浏览器在接收到脚本文件之后,通过加载脚本文件来展示目标网页。
此外,在一个实施例中,如图2所示,还提出了一种浏览器跳转至应用程序的数据同步装置,包括网络资源请求检测模块102、目标应用程序确定模块104、界面跳转模块106、行为记录生成模块108以及数据同步模块110,其中:
网络资源请求检测模块102,用于检测在浏览器中发起的第一网页资源请求,在检测到所述第一网页资源请求时,获取所述第一网页资源请求对应的第一URL;
目标应用程序确定模块104,用于读取本地应用程序列表,在所述本地应用程序列表中查找与所述第一URL对应的应用程序作为目标应用程序;
界面跳转模块106,用于跳转至所述目标应用程序中与所述第一URL对应的应用界面;
行为记录生成模块108,用于获取在所述目标应用程序中发起的第二网页资源请求对应的第二URL,根据所述第二URL生成行为记录;
数据同步模块110,用于根据预设的同步周期将所述行为记录发送至所述浏览器中进行存储,所述浏览器用于将所述存储的行为记录上报至服务器。
可选的,在一个实施例中,行为记录生成模块108还用于获取与所述第二URL对应的第二网页资源请求的发起时间戳;在所述行为记录中加入与所述第二URL对应的第二网页资源请求的发起时间戳。
可选的,在一个实施例中,数据同步模块110还用于获取所述目标应用程序当前展示的第一目标网页所对应的目标URL;将所述目标URL发送至所述浏览器,所述浏览器用于展示与所述目标URL对应的第二目标网页。
可选的,在一个实施例中,行为记录生成模块108还用于获取与所述在所述目标应用程序中发起的第二网页资源请求对应的搜索关键字;获取与所述在所述目标应用程序中发起的第二网页资源请求对应的网页缩略图;在所述行为记录中加入所述搜索关键字和/或所述网页缩略图。
可选的,在一个实施例中,如图2所示,上述装置还包括白名单判断模块112,用于判断所述目标应用程序是否属于所述预设的可跳转应用程序的白名单,在所述目标应用程序属于所述预设的可跳转应用程序的白名单时,调用所述界面跳转模块106。
采用了上述浏览器跳转至应用程序的数据同步方法和装置之后,在用户在浏览器中进行网页浏览时,解析所访问的网页的地址信息,若该地址信息与终端中安装的应用程序是匹配的,则跳转至对应的应用程序中继续网页的浏览;并且,在应用程序中继续挖网页浏览的过程中,记录在该应用程序中进行网页浏览所产生的访问记录,并定时或实时的将记录的访问记录发送给浏览器,以便浏览器上的访问数据与应用程序上的访问数据是同步的,并在上报访问记录时一并将在应用程序中的访问记录上报。也就是说,虽然在浏览器中访问网页的过程中跳转至应用程序中进行网页浏览,但是因为统计服务器在统计用户的访问记录时,也统计了用户在应用程序上的访问记录,并没有因为跳转至应用服务器而导致无法统计完整的访问记录,即统计服务器统计的是用户完整的访问记录,提高了用户访问记录统计的准确性。
在一个实施例中,如图3所示,图3展示了一种运行上述浏览器跳转至应用程序的数据同步方法的基于冯诺依曼体系的计算机***的终端。该计算机***可以是智能手机、平板电脑、掌上电脑、笔记本电脑或个人电脑等终端设备。具体的,可包括通过***总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机***的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机***中形成逻辑上的网络资源请求检测模块102、目标应用程序确定模块104、界面跳转模块106、行为记录生成模块108、数据同步模块110以及白名单判断模块112。且在上述浏览器跳转至应用程序的数据同步方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
具体的,在一个实施例中,上述处理器1002用于检测在浏览器中发起的第一网页资源请求,在检测到所述第一网页资源请求时,获取所述第一网页资源请求对应的第一URL;读取本地应用程序列表,在所述本地应用程序列表中查找与所述第一URL对应的应用程序作为目标应用程序;若查找到,则跳转至所述目标应用程序中与所述第一URL对应的应用界面;获取在所述目标应用程序中发起的第二网页资源请求对应的第二URL,根据所述第二URL生成行为记录;根据预设的同步周期将所述行为记录发送至所述浏览器中进行存储,所述浏览器用于将所述存储的行为记录上报至服务器。
在可选的实施例中,处理器1002还用于获取与所述第二URL对应的第二网页资源请求的发起时间戳;在所述行为记录中加入与所述第二URL对应的第二网页资源请求的发起时间戳。
在可选的实施例中,处理器1002根据预设的同步周期将所述行为记录发送至所述浏览器中进行存储之前,处理器1002还用于获取所述目标应用程序当前展示的第一目标网页所对应的目标URL;将所述目标URL发送至所述浏览器,所述浏览器用于展示与所述目标URL对应的第二目标网页。
在可选的实施例中,处理器1002根据所述第二URL生成行为记录之前,处理器1002还用于获取与所述在所述目标应用程序中发起的第二网页资源请求对应的搜索关键字;获取与所述在所述目标应用程序中发起的第二网页资源请求对应的网页缩略图;进一步的,处理器1002还用于在所述行为记录中加入所述搜索关键字和/或所述网页缩略图。
在可选的实施例中,处理器1002跳转至所述目标应用程序中与所述第一URL对应的应用界面之前,处理器还用于判断所述目标应用程序是否属于所述预设的可跳转应用程序的白名单,在属于预设的可跳转应用程序的白名单时,处理器1002跳转至所述目标应用程序中与所述第一URL对应的应用界面,且输出接口1004用于展示跳转后的目标应用程序中与所述第一URL对应的应用界面。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。