用户标识信息读取方法和系统、计算机存储介质及设备与流程

文档序号:14942872发布日期:2018-07-13 21:29阅读:373来源:国知局

本发明涉及互联网技术领域,特别是涉及一种用户标识信息读取方法和系统、计算机存储介质及设备。



背景技术:

在对网站数据进行统计时,为了确定访问用户的唯一独立性,服务器会对用户的客户端植入对应的用户标识信息,从而根据用户标识信息对网站页面的浏览次数和独立访客数等数据进行统计。

一般地,服务器通过多种不同的植入方式(例如,第一方浏览器缓存(也称为第一方cookie)、第三方浏览器缓存(也称为第三方cookie),文档对象模型(dom,documentobjectmodel)存储方式)对访问的客户端尝试植入用户标识信息,并将成功植入的用户标识信息存储至各方式对应的数据库中,从而当该客户端再次进行访问时,根据客户端发送的请求信息,在各个数据库中尝试读出直至读出该客户端对应的用户标识信息,进而可进行数据统计。

然而,在通过上述方法读取用户标识信息时,需对不同的数据库进行尝试读取,用户标识信息的读取效率低。



技术实现要素:

基于此,有必要针对上述用户标识信息读取方法存在读取效率低的技术问题,提供一种用户标识信息读取方法和系统、计算机存储介质和设备。

一种用户标识信息读取方法,包括以下步骤:

检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息;

若所述请求头信息中不存在第三方浏览器缓存的用户标识信息,则获取所述客户端的配置信息;

根据所述客户端的配置信息确定目标用户标识信息的存储区域,从所述存储区域中读取所述目标用户标识信息。

上述用户标识信息读取方法,通过先检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息,若不存在第三方浏览器缓存的用户标识信息,则获取客户端的配置信息并根据该配置信息确定目标用户标识信息的存储区域,并从存储区域中读取目标用户标识信息,从而在读取用户标识信息时,可以直接确定目标用户标识信息的存储区域,无需对不同存储区域进行尝试读取,提高了读取用户标识信息的效率。

在其中一个实施例中,根据所述客户端的配置信息确定目标用户标识信息的存储区域的步骤包括:

若所述客户端的配置信息为预设的第一类配置信息,则确定目标用户标识信息的存储区域为文档对象模型的存储区域;

若所述客户端的配置信息为预设的第二类配置信息,则确定目标用户标识信息的存储区域为第一方浏览器缓存的存储区域。

通过根据客户端的配置信息为预设第一类或第二类的配置信息,确定目标用户标识信息的存储区域为文档对象模型或第一方浏览器缓存的存储区域,进一步提高读取用户标识信息的效率。

在其中一个实施例中,在检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息的步骤之前,还包括:

接收客户端发送的请求头信息,检测所述请求头信息中是否包含任意一类的用户标识信息;

若所述请求头信息中不包含任意一类用户标识信息,则通过第三方浏览器缓存的方式根据所述请求头信息生成第三方浏览器缓存的用户标识信息,将所述第三方浏览器缓存的用户标识信息写入响应头信息中,将所述响应头信息返回至所述客户端;

和/或;

若所述请求头信息中不包含任意一类用户标识信息,则通过第一方浏览器缓存的方式根据所述请求头信息生成第一方浏览器缓存的用户标识,并将所述第一方浏览器缓存的用户标识信息写入所述第一方浏览器缓存的存储区域;

和/或;

若所述请求头信息中不包含任意一类用户标识信息,则通过文档对象模型的方式根据所述请求头信息生成文档对象模型的用户标识信息,并将所述文档对象模型的用户标识信息写入所述文档对象模型的存储区域。

通过采用第三方浏览器缓存、第一方浏览器缓存和文档对象模型等方式对客户端发送的请求头信息注入用户标识信息并进行相应存储,提高了用户标识信息的存储成功率,提高数据完整性并且提高对各类客户端的用户标识信息注入的兼容性。

在其中一个实施例中,通过文档对象模型的方式根据所述请求头信息生成文档对象模型的用户标识信息,并将所述文档对象模型的用户标识信息写入所述文档对象模型的存储区域的步骤包括:

检测当前窗口对象中是否存在本地存储对象和会话存储对象,并检测所述本地存储对象和会话存储对象中是否均存在对象的读写方法;

若检测到当前窗口对象中存在本地存储对象和会话存储对象以及所述本地存储对象和会话存储对象均存在对象的读写方法,则通过文档对象模型的方式根据所述请求头信息生成文档对象模型的用户标识信息,并将所述文档对象模型的用户标识信息写入所述本地存储对象中和所述会话存储对象中。

通过预先判断当前环境是否存在支持通过文档对象模型的方式注入用户标识信息,提高了通过文档对象模型注入用户标识信息的准确性和效率。

在其中一个实施例中,并将所述文档对象模型的用户标识信息写入所述本地存储对象中和所述会话存储对象中的步骤包括:

获取所述文档对象模型的用户标识信息对应的信息类型;

根据所述信息类型将所述文档对象模型的用户标识信息存入所述本地存储对象中;

和/或;

根据所述信息类型将所述文档对象模型的用户标识信息存入所述会话存储对象中。

通过获取用户标识信息的信息类型,根据用户标识信息的类型存入对应的存储对象中,提高了数据的完整性和存储效率。

在其中一个实施例中,在检测所述请求头信息中是否包含任意一类的用户标识信息的步骤之后,还包括:

若所述请求头信息包含第三方浏览器缓存的用户标识信息,则读取所述第三方浏览器缓存的用户标识信息。

通过直接读取请求头信息中包含的第三方浏览器缓存的用户标识信息,进一步提高了读取用户标识信息的效率。

在其中一个实施例中,在则读取所述第三方浏览器缓存的用户标识信息的步骤之后,还包括:

获取所述客户端的配置信息,根据所述客户端的配置信息确定目标用户标识信息的存储区域,从所述存储区域中读取所述目标用户标识信息;

根据所述第三方浏览器缓存的用户标识信息和所述目标用户标识信息,判断用户标识信息是否存在数据篡改。

通过在读取第三方浏览器缓存的用户标识信息之后,获取文档对象模型或第一方浏览器缓存的用户标识信息,将两个获取的用户标识信息进行对比判断用户标识信息是否存在数据篡改,提高了数据存储及读取的安全性。

一种用户标识信息读取系统,包括:

检测模块,用于检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息;

获取模块,用于若所述请求头信息中不存在第三方浏览器缓存的用户标识信息,则获取所述客户端的配置信息;

读取模块,用于根据所述客户端的配置信息确定目标用户标识信息的存储区域,从所述存储区域中读取所述目标用户标识信息。

上述用户标识信息读取系统,通过检测模块先检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息,并利用获取模块在不存在第三方浏览器缓存的用户标识信息时,获取客户端的配置信息,进而通过读取模块根据获取的客户端的配置信息确定目标用户标识信息的存储区域,并从存储区域中读取目标用户标识信息,从而在读取用户标识信息时,可以直接确定目标用户标识信息的存储区域,无需对不同存储区域进行尝试读取,提高了读取用户标识信息的效率。

一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的用户标识信息读取方法。

上述计算机存储介质,通过其存储的计算机程序,提高了用户标识信息读取的效率。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的用户标识信息读取方法。

上述计算机设备,通过所述处理器上运行的计算机程序,提高了用户标识信息读取的效率。

附图说明

图1为一个实施例的用户标识信息读取方法的应用环境图;

图2为一个实施例的用户标识信息读取方法流程图;

图3为一个实施例的用户标识信息篡改检测流程的示意图;

图4为传统的用户标识信息存储方法的示意图;

图5为另一个实施例的用户标识信息读取方法流程图;

图6为一个实施例的用户标识信息读取系统结构示意图。

具体实施方式

下面结合具体的实施例及附图对本发明的技术方案进行详细的描述,以使其更加清楚。

如图1所示为一个实施例的用户标识信息读取方法的应用环境图。参照图1,该用户标识信息读取方法可应用于读取用户标识信息的系统中,该系统包括客户端101、服务器102和存储器103,其中客户端101通过网络与服务器102相连接,服务器102与存储器103相连接。客户端101可以是但不限于各种能启用浏览器的个人计算机、智能手机和平板电脑等。其中,服务器102根据客户端101的用户标识信息对客户端101登录的网站相关数据进行统计,具体地,客户端101在启用浏览器时,向服务器102发送请求头信息,服务器102根据接收的请求头信息,从存储器103中相应存储区读取用户标识信息,进而根据用户标识信息对客户端101登录的网站的相关数据进行统计。

如图2所示,在一个实施例中,提供一种用户标识信息读取方法,该方法以应用于服务器中进行举例说明,可包括以下步骤:

步骤s201:检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息;

步骤s202:若所述请求头信息中不存在第三方浏览器缓存的用户标识信息,则获取所述客户端的配置信息;

步骤s203:根据所述客户端的配置信息确定目标用户标识信息的存储区域,从所述存储区域中读取所述目标用户标识信息。

其中,客户端在启动浏览器时向服务器发送请求头信息,在实际应用中,客户端可在webview内嵌页面打开网站页面,相当于启动浏览器进行网站浏览,从而此时向服务器发送请求头信息,为了便于描述,下面均以客户端在webview内嵌页面向服务器发送请求头信息为例进行说明。

其中,客户端的配置信息可为客户端的操作系统类型、操作系统版本或硬件信息中的一种或多种可辨别客户端配置高低的信息,即通过该配置信息可确认客户端为高端或低端的智能设备。有的智能设备(如较高配置的智能设备)中默认禁用或不支持浏览器缓存功能,而同样地,有的智能设备(如较低配置的智能设备)并不支持文档对象模型的存储方式,因此可预先将默认禁用或不支持浏览器缓存功能的智能设备的配置信息归类为第一类配置信息,将不支持文档对象模型的智能设备的配置信息归类为第二类配置信息,当确认客户端的配置信息为预设的第一类配置信息,则确认目标用户标识信息的存储区为文档对象模型的存储区,当确认客户端的配置信息为预设的第二类配置信息,则确认目标用户标识信息的存储区为第一方浏览器缓存的存储区。

在一个实施例中,服务器获取客户端的配置信息为该客户端的操作系统类型为android、操作系统版本7.0,确定该配置信息为预设第一类配置信息,从而确定目标用户标识信息的存储区域为文档对象模型的存储区域,从该存储区域中读取目标用户标识信息。

在另一个实施例中,服务器获取客户端的配置信息为该客户端的操作系统类型android、操作系统版本4.0,确定该配置信息为预设第二类配置信息,从而确定目标用户标识信息的存储区域为第一方浏览器缓存的存储区域,从该存储区域中读取目标用户标识信息。通过确定客户端的配置信息为预设第一类或第二类的配置信息,从而确定目标存储区域为文档对象模型或第一方浏览器缓存的存储区域,进一步提高读取用户标识信息的效率,提高对不同客户端的兼容性。

步骤s201中的请求头信息为客户端非首次打开浏览器发送的请求头信息,服务器在客户端首次打开浏览器向本服务器发送请求头信息时,已将客户端对应的用户标识信息写入相应的存储区,因而当客户端再次打开浏览器时,服务器需根据客户端发送的请求头信息读取目标用户标识信息,即采用上述实施例所述的用户标识信息读取方法读取目标用户标识信息。

在一个实施例中,服务器接收客户端发送的请求头信息,并检测该请求头信息中是否包含任意一类用户标识信息,服务器检测到该请求头信息中存在第三方浏览器缓存的用户标识信息,则直接读取该第三方浏览器缓存的用户标识信息并进行使用,并且在返回给客户端的响应头信息中无需再写入用户标识信息。通过直接读取请求头信息中包含的第三方浏览器缓存的用户标识信息,提高了读取用户标识信息的效率。

进一步地,在读取请求头信息包含的第三方浏览器缓存的用户标识信息之后,还可判断用户标识信息是否存在数据篡改,参考如图3所示的一个实施例的用户标识信息篡改流程的示意图,其中包括:

步骤s310:服务器接收客户端发送的请求头信息,检测请求头信息中是否包含任意一类的用户标识信息;

步骤s320:服务器读取请求头信息中包含的第三方浏览器缓存的用户标识信息;

步骤s330:服务器获取客户端的配置信息,根据该配置信息确定目标用户标识信息的存储区域;

步骤s340:服务器从目标用户标识信息的存储区域中读取目标用户标识信息;

步骤s350:服务器将第三方浏览器缓存的用户标识信息与目标用户标识信息进行对比,判断用户标识信息是否被篡改。

本实施例中,在读取请求头信息中包含的第三方浏览器缓存的用户标识信息之后,根据获取的客户端的配置信息确定目标用户标识信息的存储区域,并从该存储区域中读取目标用户标识信息,进而将第三方浏览器缓存的用户标识信息与目标用户标识信息进行比较,判断用户标识信息是否存在篡改。通过在读取第三方浏览器缓存的用户标识信息之后,获取文档对象模型或第一方浏览器缓存的用户标识信息,将两个获取的用户标识信息进行对比判断用户标识信息是否存在数据篡改,提高了数据存储及读取的安全性。

在一个实施例中,服务器接收客户端发送的请求头信息并进行检测,确认该请求头信息中包含第三方浏览器缓存的用户标识信息,从而获取该客户端的配置信息为操作系统android,系统版本android6.0,为预设的第一类配置信息,从而确定目标用户标识的存储区域为文档对象模型的存储区域,从该存储区域中读取目标用户标识,并将该目标用户标识与第三方浏览器缓存的用户标识信息进行比对,确认两者一致,即用户标识信息不存在篡改。

同样地,针对客户端配置信息为预设第二类配置信息的客户端,在服务器获取第三方浏览器缓存的用户标识信息之后,可根据客户端配置信息获取第一方浏览器缓存的用户标识信息,并与第三方浏览器缓存的用户标识信息进行比对,判断用户标识信息是否存在篡改。

上述针对客户端非首次打开浏览器的情况,服务器接收客户端发送的请求头信息,仅需检测用户标识信息并进行读取工作,而针对客户端首次打开浏览器的情况,则需根据客户端发送的请求头信息进行用户标识信息的注入与存储。如图4所示为传统的用户标识信息存储方法的示意图,其中针对不同的情况,包括终端浏览器的web/wap页、微信/qq客户端或天翼云盘/家庭云客户端等,均采用cookie浏览器缓存的方式进行验证,即尝试对用户标识信息进行注入与存储。然而,不同的客户端对于浏览器缓存的兼容程度不同,因此,在浏览器中的web/wap页中和微信或qq客户端中,采用浏览器缓存方式能注入并存储用户标识信息,而在天翼云盘/家庭云客户端中,客户端webview不支持浏览器缓存的方式,因而无法将用户标识信息进行存储,只能将采集数据抛弃,无法全面存储数据,从而服务器在进行网站数据统计时的统计准确度低。

为解决现有用户标识信息存储方法存储数据不全面的问题,在一个实施例中,针对客户端首次打开浏览器的情况,服务器接收客户端发送的请求头信息,并检测该请求头信息中是否包含任意一类的用户标识信息,即可为第一方浏览器缓存、第三方浏览器缓存或文档对象模型的用户标识信息;当该请求头信息头不包含任意一类用户标识信息时,可通过第三方浏览器缓存的方式根据请求头信息生成第三方浏览器缓存的用户标识信息,并将该第三方浏览器缓存的用户标识信息尝试写入响应头信息中,将响应头信息返回至客户端。若第三方浏览器缓存方式注入用户标识信息成功,那么当客户端再次打开浏览器向服务器发送请求头信息时,此时请求头信息中会附带第三方浏览器缓存的用户标识信息。同时,可通过第一方浏览器缓存的方式根据请求头信息生成第一方浏览器缓存的用户标识,并将第一方浏览器缓存的用户标识信息写入对应的存储区域;也可以通过文档对象模型的方式根据该请求头信息生成文档对象模型的用户标识信息,并将文档对象模型的用户标识信息写入对应的存储区域。

在客户端首次打开浏览器向服务器发送请求头信息时,通过同时采用第三方浏览器缓存、第一方浏览器缓存和文档对象模型等方式对客户端发送的请求头信息注入用户标识信息,并保存相应的用户标识信息,从而提高了用户标识信息的存储成功率,提高数据完整性并且提高对各类客户端的用户标识注入的兼容性。针对客原生客户端中webview内嵌页面的网站数据统计需求,利用原生客户端webview下的浏览器缓存及文档对象模型存储能力兼容的特点,通过上述多方式写入用户标识信息,对比传统的仅根据第一方浏览器缓存或第三方浏览器缓存的写入方式提高了用户标识信息存储的完整性,提高了网站数据统计的准确率。

对于在客户端首次打开浏览器,服务器通过文档对象模型生成相应用户标识信息的方式,预先确定当前环境是否支持文档对象模型的用户标识信息注入及存储,从而提高通过文档对象模型注入及存储用户标识信息的准确性及效率。在一个实施例中,服务器接收客户端发送的请求头信息并确定该请求头信息中不包含任意一类的用户标识信息,进而检测当前窗口对象中是否存在本地存储对象和会话存储对象,并检测该本地存储对象和会话存储对象中是否均存在对象的读写方法,当检测到当前窗口对象中存在本地存储对象和会话存储对象且两者中均存在对象的读写方法,则通过文档对象模型的方式根据请求头信息生成文档对象模型的用户标识信息,并将该用户标识信息写入本地存储对象中和会话存储对象中。

进一步地,在对文档对象模型的用户标识信息进行写入时,可根据该用户标识信息对应的信息类型进行写入,即在确定当前环境支持文档对象模型的用户标识信息注入及存储,并根据客户端发送的请求头信息获取文档对象模型的用户标识信息之后,获取该用户标识信息的信息类型并根据该信息类型进行写入。其中,若所述用户标识信息为需持久存储的信息类型,例如用户昵称、用户地址和用户id等信息,则将该文档对象模型的用户标识信息存入本地存储对象中,若所述用户标识信息为短暂存储的信息类型,例如用户访问时间和登录时间等,则将该文档对象模型的用户标识信息存入会话存储对象中。此处用户标识信息对应的信息类型可根据实际情况而定,通过获取用户标识信息的信息类型,并根据用户标识信息的类型将用户标识信息存入对应的存储对象中,提高了数据的完整性和存储效率。

通过上述任意一个实施例的用户标识信息读取方法,检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息,当请求头信息中不存在第三方浏览器缓存的用户标识信息时,获取客户端的配置信息并根据该配置信息直接确定目标用户标识信息的存储区域,从该存储区域中读取目标用户标识信息,无需对不同存储区域进行尝试读取,提高了读取用户标识信息的效率。

为使本发明的技术方案更为清楚,提供如图5所示一个实施例的用户标识信息读取方法流程图。其中包括:

步骤s510:客户端向服务器发送请求头信息;客户端打开浏览器,向服务器发起统计脚本,即探针的请求,并等待服务器响应;

步骤s520:服务器接收请求头信息,并检测请求头信息是否包含任意一类用户标识信息;若其中不包含则执行步骤s530,若其中包含则执行步骤s531;

步骤s530:服务器通过第一方浏览器缓存、第三方浏览器缓存和文档对象模型等方式尝试为客户端注入用户标识信息;在确认客户端为首次打开浏览器,服务器通过多方式尝试注入用户标识信息并将注入成功的用户标识信息进行存储,其中通过第三方浏览器缓存成功注入的用户标识信息同时会设置于响应头信息中,并向客户端返回响应头信息;

步骤s531:服务器读取请求头信息中的用户标识信息;并根据该用户标识信息进行统计工作;

步骤s540:客户端再次打开浏览器向服务器发送请求头信息时,服务器检测该请求头信息是否包含第三方浏览器缓存的用户标识信息;若不包含则执行步骤s550,若包含则执行步骤s551;

步骤s550:服务器获取客户端的配置信息,根据客户端的配置信息确定目标用户标识信息的存储区;

步骤s551:服务器读取第三方浏览器缓存的用户标识信息;并根据该用户标识信息进行统计工作;

步骤s560:服务器从存储区中读取目标用户标识信息,并根据该目标用户标识信息进行统计工作;若未能读取到目标用户标识信息,则获取其他用于存储用户标识信息的存储区进行读取工作,若从其他存储区进行读取仍失败,则抛弃该条请求头信息的数据记录。

上述实施例提供的技术方案,通过先检测客户端发送的请求头信息中是否存在任意一类用户标识信息,判断客户端是否为首次打开浏览器,当客户端为首次打开浏览器时,则通过多种方式注入用户标识信息并进行相应存储,当客户端再次打开浏览器时,检测请求头信息中是否存在第三方浏览器缓存的用户标识信息,若存在则直接读取即完成用户标识信息读取工作,若不存在则获取客户端的配置信息,根据配置信息直接确定目标存储区域,从目标存储区域中读取到目标用户标识信息,从而快速地读取到用户标识信息,提高了用户标识信息读取的效率,并且更全面的保障用户标识信息,提高数据统计的可靠性。

针对传统技术在读取用户标识信息时读取效率低的问题,还提供一种用户标识信息读取系统,如图6所示为一个实施例的用户标识信息读取系统的结构示意图,该系统包括:

检测模块201,用于检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息;

获取模块202,用于若所述请求头信息中不存在第三方浏览器缓存的用户标识信息,则获取所述客户端的配置信息;

读取模块203,用于根据所述客户端的配置信息确定目标用户标识信息的存储区域,从所述存储区域中读取所述目标用户标识信息。

上述用户标识信息读取系统,通过检测模块201先检测客户端发送的请求头信息中是否存在第三方浏览器缓存的用户标识信息,并利用获取模块202在不存在第三方浏览器缓存的用户标识信息时,获取客户端的配置信息,进而通过读取模块203根据获取的客户端的配置信息直接确定目标用户标识信息的存储区域,并从存储区域中读取目标用户标识信息,从而无需对不同存储区域进行尝试读取,提高了读取用户标识信息的效率。

本发明的用户标识信息读取系统与本发明的用户标识信息读取方法一一对应,在上述用户标识信息读取方法的实施例阐述的技术特征及其有益效果均适用于用户标识信息读取系统的实施例中,特此声明。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意实施例中的用户标识信息读取的方法。该计算机可读存储介质所执行的方法与上述实施例中的用户标识信息读取的方法相同,此处不再赘述。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意实施例中的用户标识信息读取的方法。该计算机设备中的处理器所执行的方法与上述实施例中的用户标识信息读取的方法相同,此处不再赘述。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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