用于实现用户行为追踪的方法、设备、浏览器及电子设备与流程

文档序号:11216364阅读:274来源:国知局
用于实现用户行为追踪的方法、设备、浏览器及电子设备与流程

本发明涉及浏览器技术领域,更具体地,涉及一种用于实现用户行为追踪的方法、设备、浏览器及电子设备。



背景技术:

当今社会的互联网迅速发展,大量的用户每天通过电脑和手机上的浏览器登录网页进行信息查询、网页浏览。然而,不同用户查询的信息和浏览偏好都不一样,如何实现对用户使用浏览器的用户行为进行追踪,成为亟待解决的问题。

目前,一种常用的方法是通过用户注册的浏览器账户作为用户的唯一身份标识,当用户以浏览器账户登录浏览器时,可以实现识别用户,对用户使用浏览器的用户行为进行记录,以实现追踪用户行为。但是这种方法的弊端在于用户常常会因为复杂的账户注册过程和频繁的登录而放弃通过浏览器账户登录使用浏览器,导致不能通过识别用户来追踪用户行为。

而在不能通过识别用户来记录用户行为时,为能实现追踪用户的行为,常用的方法是在浏览器中注入cookie(浏览器缓存),cookie中存储有唯一标识码可以用于唯一标识浏览器,可以实现识别用户使用的浏览器,对使用该浏览器的用户的行为进行记录,以实现追踪用户行为。然而,由于电脑或手机上安装的杀毒软件或性能优化软件经常会进行清除cookie的操作,导致基于cookie来记录用户行为的信息因此而丢失,无法实际追踪用户行为。



技术实现要素:

本发明的一个目的是提供一种用于实现用户行为追踪的新技术方案。

根据本发明的第一方面,提供一种利用浏览器指纹实现用户行为追踪的方法,包括以下步骤:利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹,其中,所述浏览器指纹唯一标识所述浏览器;向所述服务器发送所述浏览器指纹和对应的用户使用浏览器的用户行为信息以进行存储。

优选地,所述与浏览器相关的一个或更多个维度包括利用浏览器获取的帆布指纹,其中,在浏览器上利用帆布功能绘制图片,并计算绘制出的图片的图形码作为所述帆布指纹。

可选地,所述图片包括直线、图形、文本、和/或颜色渐变的色彩区域。

可选地,所述图形码包括所述图片转换成的编码字符串中的冗余循环校验码。

优选地,所述与浏览器相关的一个或更多个维度还包括浏览器的属性信息。

可选地,所述浏览器的属性信息包括浏览器的用户代理和/或浏览器使用的语言。

可选地,所述浏览器的属性信息还包括浏览器的显示分辨率和/或浏览器的可用显示分辨率。

可选地,所述浏览器的属性信息还包括浏览器是否支持会话存储、浏览器是否支持本地存储、浏览器是否支持索引数据库、和/或浏览器是否支持开放数据库。

可选地,所述浏览器的属性信息还包括安装在浏览器上的插件信息、浏览器是否允许跟踪的权限状态、浏览器是否支持安装广告拦截器、浏览器是否支持附加行为、和/或浏览器是否支持触摸事件。

可选地,所述浏览器的属性信息还包括利用浏览器的网页图形库功能获得的网页图形库指纹。

优选地,所述与浏览器相关的一个或更多个维度还包括浏览器运行的软件环境信息。

可选地,所述浏览器运行的软件环境信息包括操作系统平台信息和/或操作系统时区信息。

优选地,所述与浏览器相关的一个或更多个维度还包括浏览器运行的硬件环境信息。

可选地,所述浏览器运行的硬件环境信息包括处理器的信息、显示设备的像素比率、和/或显示设备上调色板的比特深度。

优选地,所述与浏览器相关的一个或更多个维度还包括浏览器是否被篡改的信息。

可选地,所述浏览器是否被篡改的信息包括浏览器的语言是否被篡改、浏览器的分辨率是否被篡改、浏览器运行的平台是否被篡改、和/或浏览器的用户代理是否被篡改。

优选地,所述计算浏览器的浏览器指纹包括以下步骤:将通过所述一个或更多个维度得到的信息拼接成字符串并对所述字符串加密。

根据本发明的第二方面,提供一种用于实现用户行为追踪的设备,包括:用于利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹的装置,其中,所述浏览器指纹唯一标识所述浏览器;用于向所述服务器发送所述浏览器指纹和对应的用户使用浏览器的用户行为以进行存储的装置。

根据本发明的第三方面,提供一种浏览器,包括根据本发明的用于实现用户行为追踪的设备。

根据本发明的第四方面,提供一种浏览器,被设计成执行根据本发明的用于实现用户行为追踪的方法中的操作。

根据本发明的第五方面,提供一种电子设备,包括根据本发明的浏览器。

根据本发明的第六方面,提供一种电子设备,包括处理器、存储器和显示装置,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明的用于实现用户行为追踪的方法。

本发明的发明人发现,在现有技术中,浏览器cookie中记录的用户行为信息常常因为诸如电脑或手机上安装的杀毒软件或性能优化软件等被清除,或者因为用户放弃进行账户注册和登录操作而未能进行用户身份识别以保存用户行为信息,在这些情况下,无法实现对用户行为的追踪。

根据本发明,利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹,能够获得不依赖于用户操作的、唯一性极高的浏览器指纹。向服务器发送浏览器指纹和对应的用户使用浏览器的用户行为信息以进行存储,能够保证用户行为信息不被删除,从而实现用户行为追踪。

根据本发明,用户使用浏览器进行操作,其用户行为信息便能够与浏览器指纹绑定,一并被存储至服务器中保存,避免基于浏览器cookie存储的用户行为信息因为cookie清除而丢失的风险。另外,由于根据本发明的浏览器指纹是由与浏览器相关的一个或更多个维度计算出来的,其不依赖于用户的操作,因此无需用户进行繁琐的账户注册和登录操作来实现用户身份识别,就能通过浏览器指纹识别浏览器,以记录使用浏览器的用户的行为,实现利用浏览器指纹实现用户行为追踪。

因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是根据本发明实施例的用于实现用户行为追踪的方法的示意性流程图。

图2是根据本发明实施例的浏览器的示意性框图。

图3是根据本发明一个实施例的电子设备的示意性框图。

图4是根据本发明另一个实施例的电子设备的示意性框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

在本发明的实施例中,提出了一种用于实现用户行为追踪的新方式。

下面,参照附图描述根据本发明的各个实施例和实例。

<方法>

图1是根据本发明实施例的用于实现用户行为追踪的方法的示意性流程图。

如图1所示,在步骤s100,利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹,其中,所述浏览器指纹唯一标识所述浏览器;以及步骤s200,向服务器发送浏览器指纹和对应的用户使用浏览器的用户行为信息以进行存储。

在本文中,与浏览器相关的一个或更多个维度是指直接与浏览器本身有关或间接利用浏览器获取的一方面或更多方面信息。

以下详细说明根据本发明实施例的步骤s100和步骤s200。

在步骤s100中,与浏览器相关的第一维度可以包括利用浏览器获取的帆布(canvas)指纹,其中,在浏览器上利用canvas功能绘制图片,并计算绘制出的图片的图形码作为所述canvas指纹。

进一步地,根据本发明的实施例,在步骤s100中,与浏览器相关的第二维度至第五维度可以包括:浏览器的属性信息、浏览器运行的软件环境信息、浏览器运行的硬件环境信息、浏览器是否被篡改的信息。

以下详细说明根据本发明实施例的第一维度以及第二维度至第五维度所包括的若干子维度。

第一维度:利用浏览器获取的canvas指纹

canvas是html5的一个专属标签,在浏览器上利用canvas功能绘制canvas图片时,对于同样的canvas绘制代码,不同的浏览器绘制出的图片特征是独一无二的。因此,可以利用在浏览器上由canvas功能获得的canvas指纹作为与浏览器相关的第一维度。

在根据本发明实施例的一个实例中,利用canvas功能绘制直线、图形、文本、和/或颜色渐变的色彩区域。由于上述这四个功能是canvas的四个最基本的基础功能,优选地,在使用上述全部四个功能的情况下,能够有助于获得唯一性更高的浏览器指纹。

下面详细说明根据本发明实施例的一个实例的在浏览器上利用canvas功能绘制图片、并计算绘制出的图片的图形码作为canvas指纹的方法。

例如,可以利用canvas功能绘制直线。可以先通过函数document.createelement创建一个canvas标签,然后可以通过函数getcontent(‘2d’)获得它的2d上下文。之后,可以通过函数moveto(0,0)、lineto(200,200)、stroke()绘制出起始坐标(0,0)到终点坐标(200,200)的直线。

例如,可以利用canvas功能绘制圆形。可以通过函数arc(95,50,40,0,2*math.pi)和stroke()绘制圆心为(95,50)、位置半径为40像素、弧度为2*math.pi的圆形。

例如,可以利用canvas功能绘制文本文字。可以通过函数font="30pxarial"设定要绘制的文本文字的大小为30像素、字体为arial,然后可以通过函数filltext("helloworld",10,50)在坐标位置(10,50)绘制出“helloworld”的文字。

例如,可以利用canvas功能绘制颜色渐变的色彩区域。可以通过函数createlineargradient(0,0,200,0)创建一个长度为200像素的颜色渐近线,然后可以通过函数addcolorstop(0,"red")设置该颜色渐近线的初始颜色为红,可以通过函数addcolorstop(1,"white")设置该颜色渐近线的终点颜色为白,之后可以将fillstyle属性的填充色设置为该颜色渐近线,并且可以将该填充色填充到长、宽均为10像素的矩形fillrect(0,0,10,10)中,由此获得颜色渐变的色彩区域。

在获得了利用canvas功能绘制出的包括直线、图形、文本、颜色渐变的色彩区域的图片之后,优选地,可以通过canvas自带的函数todataurl()计算出所述图片的base64编码字符串,所述编码字符串中包含一段32位的crc(冗余循环校验)码,提取这段crc码作为图片的图形码,以由此作为第一维度canvas指纹。

第二维度:浏览器的属性信息

优选地,与浏览器相关的第二维度浏览器的属性信息可以包括以下子维度:

浏览器的用户代理。根据本发明实施例的一个实例,可以通过函数navigator.useragent获得浏览器的用户代理信息,其是浏览器用于http请求的用户代理头的值。

浏览器使用的语言。根据本发明实施例的一个实例,可以通过函数navigator.language、navigator.userlanguage、navigator.browserlanguage、和/或navigator.systemlanguage获得浏览器使用的是哪国的语言。由于每个浏览器都存在差异和兼容性,优选地,可以同时使用上述四个函数来获得浏览器使用的语言。

进一步优选地,与浏览器相关的第二维度浏览器的属性信息还可以包括以下子维度:

浏览器的显示分辨率。根据本发明实施例的一个实例,可以通过函数screen.width获得显示浏览器的宽度像素,以及可以通过函数screen.height获得显示浏览器的高度像素。

浏览器的可用显示分辨率。根据本发明实施例的一个实例,可以通过函数screen.availwidth获得显示浏览器的可用宽度像素,以及可以通过函数screen.availheight获得显示浏览器的可用高度像素。

更进一步优选地,与浏览器相关的第二维度浏览器的属性信息还可以包括以下子维度:

浏览器是否支持会话存储(sessionstorage)。根据本发明实施例的一个实例,可以通过函数window.sessionstorage是否为空(null)或者未定义(undefined)来确定浏览器是否支持会话存储(sessionstorage)。

浏览器是否支持本地存储(localstorage)。根据本发明实施例的一个实例,可以通过函数window.localstorage是否为空(null)或者未定义(undefined)来确定浏览器是否支持本地存储(localstorage)。

浏览器是否支持索引数据库(indexeddb)。根据本发明实施例的一个实例,可以通过函数window.indexeddb是否为空(null)或者未定义(undefined)来确定浏览器是否支持索引数据库(indexeddb)。

浏览器是否支持开放数据库(opendatabase)。根据本发明实施例的一个实例,可以通过函数window.opendatabase是否为空(null)或者未定义(undefined)来确定浏览器是否支持开放数据库(opendatabase)。

优选地,与浏览器相关的第二维度浏览器的属性信息还可以包括以下子维度:

安装在浏览器上的插件信息。根据本发明实施例的一个实例,可以通过函数navigator.plugin获得安装在浏览器上的插件的信息。

浏览器是否允许跟踪的权限状态。根据本发明实施例的一个实例,可以通过函数navigator.donottrack获得浏览器是否允许跟踪的权限状态。

浏览器是否支持安装广告拦截器(adblock)。根据本发明实施例的一个实例,可以通过函数document.createelement("div")创建一个div网页元素,然后设置该元素的类名为“adsbox”,之后通过函数document.getelementsbyclassname("adsbox")[0].offsetheight获得该元素的高位移,如果结果不为0则代表浏览器安装了广告拦截器(adblock)。

浏览器是否支持附加行为。根据本发明实施例的一个实例,可以通过函数document.body.addbehavior来确定浏览器是否支持addbehavior附加行为。

浏览器是否支持触摸事件。根据本发明实施例的一个实例,可以通过函数document.createevent("touchevent")在浏览器里创建触摸事件,如果创建成功则代表浏览器支持触摸事件。进一步地,可以通过函数"ontouchstart"inwindow来判断浏览器是否支持触摸事件里的ontouchstart事件。

优选地,与浏览器相关的第二维度浏览器的属性信息还可以包括以下子维度:

利用浏览器的网页图形库(webgl)功能获得的webgl指纹。根据本发明实施例的一个实例,可以通过函数canvas.getcontext("webgl")获得一个webgl对象,然后取该webgl对象中的aliased_line_width_range、aliased_point_size_range、alpha_bits、blue_bits、max_combined_texture_image_units、max_fragment_uniform_vectors、max_renderbuffer_size、shading_language_version这几个值,并且将所述值拼接成字符串以获得webgl指纹。

第三维度:浏览器运行的软件环境信息

优选地,与浏览器相关的第三维度浏览器运行的软件环境信息可以包括以下子维度:

操作系统平台信息。根据本发明实施例的一个实例,可以通过函数navigator.platform返回浏览器所运行的操作系统平台信息,例如可以返回操作系统平台的字符串,诸如"win32","win16","wince","mac68k","macppc","hp-ux","sunos"等。

操作系统时区信息。根据本发明实施例的一个实例,可以通过函数newdate().gettimezoneoffset()获得协调通用时间(utc)与当前系统时间之间的分钟差值,即操作系统时区信息。

第四维度:浏览器运行的硬件环境信息

优选地,与浏览器相关的第四维度浏览器运行的硬件环境信息可以包括以下子维度:

处理器的信息。根据本发明实施例的一个实例,可以通过函数window.navigator.cpuclass返回处理器的信息,例如"x86","68k","alpha","ppc"等。

显示设备的像素比率。根据本发明实施例的一个实例,可以通过函数window.devicepixelratio获得显示设备物理像素和显示设备独立像素(dips)的比率。

显示设备上调色板的比特深度。根据本发明实施例的一个实例,可以通过函数screen.colordepth获得显示设备上调色板的比特深度。

第五维度:浏览器是否被篡改的信息

优选地,与浏览器相关的第五维度浏览器是否被篡改的信息可以包括以下子维度:

浏览器的语言是否被篡改。根据本发明实施例的一个实例,可以通过判断预设的浏览器语言组中的第一个语言项参数navigator.languages[0]与当前浏览器的语言参数navigator.language是否相等来确定浏览器的语言是否被篡改。

浏览器的分辨率是否被篡改。根据本发明实施例的一个实例,可以通过判断预设的浏览器宽度分辨率参数screen.width与浏览器可用宽度分辨率参数screen.availwidth是否相等来确定浏览器的分辨率是否被篡改。

浏览器运行的平台是否被篡改。根据本发明实施例的一个实例,可以通过判断预设的浏览器平台参数navigator.platform和浏览器当前运行的平台参数navigator.oscpu是否相等来确定浏览器运行的平台是否被篡改。

浏览器的用户代理是否被篡改。根据本发明实施例的一个实例,可以通过判断预设的浏览器用户代理navigator.useragent和浏览器当前用户代理navigator.productsub是否相等来确定浏览器是否被篡改。

根据本发明的实施例,在步骤s100,可以利用第一维度至第五维度计算浏览器的浏览器指纹。进一步地,可以利用第一维度和第二至第五维度包括的若干子维度计算浏览器的浏览器指纹。

例如,可以利用第一维度canvas指纹计算浏览器的浏览器指纹。根据本发明的实施例,通过利用canvas功能绘制出来的图片的图形码作为计算浏览器指纹唯一性的第一维度,可以使得浏览器指纹唯一性达到90%以上。

优选地,可以利用第一维度以及第二维度至第五维度所包括的全部子维度,即总共24个方面计算浏览器的浏览器指纹。可以将利用所述24个方面获得的信息拼接成一个字符串,然后可以将该字符串经过32位的md5加密,由此得到唯一性几乎为100%的32位浏览器指纹码。本领域的技术人员可以根据不同的需要来选择字符串的加密方式。

在步骤s200中,可以利用所述浏览器指纹来实现用户行为追踪。在使用根据本发明实施例计算出的浏览器指纹的情况下,当用户使用浏览器进行操作时,诸如用户搜索过的词汇、操作信息、浏览记录等用户行为,都可以与该浏览器的浏览器指纹绑定,一并存储至服务器。例如,可以为每个浏览器指纹单独开设一个存储空间用来存储与其绑定的用户行为信息。

由于存储至服务器的用户行为信息是无法被用户删除的,因此不存在浏览器cookie中记录的用户行为信息因为诸如电脑或手机上安装的杀毒软件或性能优化软件等而被清除的风险。同时,即使因为用户放弃进行账户注册和登录操作而未进行用户身份识别,只要用户通过该浏览器进行操作,其用户行为信息都能够与该浏览器的浏览器指纹绑定,一并被存储至服务器中,由此实现用户行为追踪。

根据本发明的实施例,利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹,能够获得不依赖于用户操作的、唯一性极高的浏览器指纹;将浏览器指纹和用户使用浏览器的用户行为信息一并存储至服务器,能够保证用户行为信息不被删除,从而实现用户行为追踪。

根据本发明的实施例,用户使用浏览器进行操作,其用户行为信息便能够与浏览器指纹绑定,一并被存储至服务器中保存,避免基于浏览器cookie存储的用户行为信息因为cookie清除而丢失的风险。另外,由于根据本发明实施例的浏览器指纹是由与浏览器相关的一个或更多个维度计算出来的,其不依赖于用户的操作,因此无需用户进行繁琐的账户注册和登录操作来实现用户身份识别,就能通过浏览器指纹识别浏览器,以记录使用浏览器的用户的行为,实现利用浏览器指纹实现用户行为追踪。

<设备>

本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中。本领域技术人员很容易基于上面公开的方法,产生一种用于实现用户行为追踪的设备。该设备可以包括用于实现前面所述的用于实现用户行为追踪的方法中的各个操作的装置。例如,该设备可以包括:用于利用与浏览器相关的一个或更多个维度计算浏览器的浏览器指纹的装置,其中,所述浏览器指纹唯一标识所述浏览器;用于向服务器发送所述浏览器指纹和对应的用户使用浏览器的用户行为以进行存储的装置。

<浏览器>

上面描述的用于实现用户行为追踪的设备可以是一个独立的设备(例如,客户端中的应用),也可以被集成在浏览器中,成为浏览器的一部分。在这种情况下,所述浏览器能够提供一种用于实现用户行为追踪的新方式。本领域技术人员应当理解,随着技术的发展,浏览器可以是一个单独的应用程序,例如,ie浏览器、chrome浏览器等,或者也可以指的是集成了浏览器功能的应用程序,例如微博应用程序、微信应用程序、facebook应用程序、vk应用程序等。

图2是根据本发明实施例的浏览器的示意性框图。

一般来说,浏览器从架构上可以分为两个部分,即内核和外壳。浏览器内核负责对网页语法的解释(如html、javascript)并渲染(显示)网页,即浏览器通过内核对网页进行解析和渲染。浏览器外壳主要处理浏览器外观界面、操控体验。在图2中,浏览器2000包括内核2010和外壳2020。浏览器2000还包括用户行为追踪设备2030。用户行为追踪设备2030可以是根据本发明的用于实现用户行为追踪的设备。尽管为了清楚起见,在图2中,用户行为追踪设备2030在外壳2020和内核2010之外,但是,本领域技术人员应当理解,用户行为追踪设备2030可以位于外壳2020和内核2010内。

另一方面,本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。从这个方面来说,在本发明的实施例中,还提供了一种浏览器,该浏览器被设计成执行前面所述的根据本发明实施例的用于实现用户行为追踪的操作。

<电子设备>

可以在电子设备中实现根据本发明的各个实施例。所述电子设备例如是笔记本电脑、智能手机、平板电脑等。

图3是根据本发明一个实施例的电子设备的示意性框图。如图3所述,电子设备3000包括浏览器3010。浏览器3010例如是前面所述的浏览器中的任何一个。

图4是根据本发明另一个实施例的电子设备的示意性框图。

如图4所示,电子设备4000可以包括处理器4010、存储器4020、接口装置4030、通信装置4040、显示装置4050、输入装置4060、扬声器4070、麦克风4080,等等。

处理器4010例如可以是中央处理器cpu、微处理器mcu等。

存储器4020例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。

接口装置4030例如包括usb接口、耳机接口等。

通信装置4040例如能够进行有有线或无线通信。

显示装置4050例如是液晶显示屏、触摸显示屏等。

输入装置4060例如可以包括触摸屏、键盘等。

用户可以通过扬声器4070和麦克风4080输入/输出语音信息。

图4所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。

在这个实施例中,所述存储器4020用于存储指令,所述指令用于控制所述处理器4010进行操作以执行本实施例所述的用于实现用户行为追踪的方法。本领域技术人员应当理解,尽管在图4中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器4010和存储装置4020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

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