用于检测矩阵条形码的网络钓鱼的方法和装置
技术领域
本发明一般而言涉及用于检测矩阵条形码的网络钓鱼(phishing)的方法。本发明还涉及网络钓鱼检测单元、计算系统、数据处理程序以及计算机程序产品。
背景技术
QR码——作为一种二维或矩阵条形码,并且有时候被称为“标记”——如今被大量使用,这是因为,与传统条形码相比,它们通常可以携带更多信息。特别地,QR码允许移动用户使用智能电话相机读取并解释QR码。QR码可以包含文本和/或URL(通用资源定位符,其用于例如因特网)。
QR码到处都在快速扩散和出现:在广告牌、电视、可以访问的网站、邮政或旅游标志、衣服、票、优惠券、车号牌等等上面。据说,可能有人会把恶意QR码标签粘到已有的QR码标签上。
QR码标签代表非常简单的机器可读编码技术,不幸的是,这也常常允许有效地对QR码进行网络钓鱼,从而,如果QR码上的信息码代表因特网地址,即URL,则用户会被劫持到网络钓鱼网站。网站可以被恶意的人恰当地精确镜像成与预期原始网站看起来相似或完全相同。作为下一个恶意步骤,用户可能被请求注册或登录到该伪造网站,使得攻击者可以窃取人的机密数据。
对于奸诈的人来说,实现这种欺诈技术的成本低得离谱。实际上,它只需要:识别指向某个“干净”网站的物理QR码标签,并且生成该“干净”网站的镜像网络钓鱼网站,其目的就是窃取用户的个人数据。此外,网络钓鱼URL需要被编到QR码中,以指向进行网络钓鱼的镜像网站。而且,因为QR码编码器在因特网上可随便获得,所以这是相当便宜的。恶意QR码标签的粘贴版需要打印出来并且恶意QR码标签需要粘到原始QR码标签上。奸诈的人将在不被察觉的情况下做这种事。
如可以看到的,经由QR码实现网络钓鱼非常简单。
目前,对于QR码的这种严重漏洞还没有补救办法。在因特网上可以找到的仅仅是讨论关于QR码的这种安全性问题的站点,警告用户在QR码被移动电话的相机拍摄后总是要检查传递到浏览器的QR码移动电话应用的URL。
一个相关问题通过文档US 7,273,175 B2而得以处理,该文档通过为QR码的不同方块使用稍微不同的色度来在QR码标记中提供隐藏的QR码,从而在给定的QR码标签中隐藏QR码。
由此,存在对识别粘到另一个QR码标签上并代替原始QR码标签的QR码标签的需求。
发明内容
这个需求可通过根据独立权利要求的用于检测矩阵条形码的网络钓鱼的方法、网络钓鱼检测单元、计算系统、数据处理程序以及计算机程序产品而解决。
根据一个方面,可以提供用于检测矩阵条形码的网络钓鱼的方法。矩阵条形码可以包括以行和列布置的有色(例如黑色)以及白色方块。该方法可以包括逐行和逐列地扫描矩阵条形码以得到接收到的方块,并且存储每个接收到的白色方块的对应白色色阶(color level),以及两两比较接收到的白色方块的白色色阶。
根据另一方面,可以提供网络钓鱼检测单元。在这里,矩阵条形码也可以包括以行和列布置的有色和白色方块。网络钓鱼检测单元可以包括适于逐行和逐列扫描矩阵条形码以得到接收到的方块的扫描单元,适于存储每个接收到的白色方块的对应白色色阶的存储单元,以及适于两两比较接收到的方块的白色色阶的比较单元。
具体描述
可以指出,白色色阶可以按其颜色成分存储,例如,RGB(红、绿、蓝)颜色代码成分。
还可以指出,矩阵条形码可以是通常以QR码标记或标签形式使用的二维码,例如QR码。
代替QR码的黑色和白色方块,其它颜色组合也可以被使用。但是,为了清晰,在本文档中,为了解释本发明的概念,主要为矩阵条形码使用黑色和白色方块。技术人员可以把该构思转换成其它颜色域(field)组合。
在本描述的语境下,可以使用以下约定、术语和/或表述:
术语“矩阵条形码”可以指在一表面上的二维的基于两色的码之类的条形码。矩阵条形码的例子可以是QR码。这是快速响应码的缩写并且是实现为光学机器可读标签的矩阵条形码的一种特殊形式。术语“QR码”和“QR码标签(或标记)”贯穿本文档可以互换使用。QR码的几种形式和标准是已知的。典型地,它们可以具有21×21至177×177个黑色和白色域或方块。其它形式,例如微QR码,使用更少数量的域,例如11×11至17×17。其它域数量也是可能的。这里所提出的方法对其它QR码标准(例如安全QR码)也有效。QR码的未来形式也可以由所提出的方法和装置来处理。
术语“白色色阶(white color level)”可以指有色区域的颜色成分。作为颜色代码,典型的代码可以被使用。在这里,所描述的例子使用RGB成分(红、绿、蓝),代表加法三原色。或者,可以使用CMYK颜色模型(青色、品红色、黄色、黑色)或者其它颜色代码。
术语“两两(couple-wise)”可以指两个元素可被用于比较。这两个元素的选择可以利用不同的算法执行,如随后解释的。
“网络钓鱼通知器”可以指识别超出阈值从而指示网络钓鱼状况的信号。
所提出的用于检测矩阵条形码网络钓鱼的方法可以提供一些优点:
所提出的方法和相关的系统能够用容易、便宜和快速的途径来识别被恶意使用的QR码标签。用户可以被警告,对网站的访问可以被阻断,并且,收集被编撰的恶意QR码的地址的信息服务可以被运行。
该方法可以在带相机的每个智能或移动电话或者移动计算机上执行。阴影效应可以被自动消除,使得它们不会对网络钓鱼QR码标签的检测有影响。
根据该方法的一个实施例,如果一对中的两个接收到的白色方块的白色色阶比较可以得到超过预定义阈值的差异,则该方法可以包括增大计数器,具体地,增量是1。关于对的建立,有几种方法可以应用,如随后解释的。还可以有用于比较白色方块的白色色阶的不同算法。
根据该方法的增强实施例,矩阵条形码可以是QR码。这可能是目前使用的最主要的矩阵条形码。但是,该方法可适用于其它的二维矩阵码。
根据该方法的进一步的实施例,存储每个接收到的白色方块的对应白色色阶还可以包括把该接收到的方块标记为白色。其它接收到的方块可以识别为黑色。所有数据都可以被存储。以这种方式,所有白色和黑色的方块都是可识别的,供将来参考和处理。以这种方式,二进制码可以是可识别的;黑色方块可以表示“1”而白色方块可以表示“0”,或者反过来。
该方法的一个附加实施例可以包括,在矩阵条形码的扫描之后,通过对每个接收到的方块的色阶(特别地,其RGB成分)应用动态乘数,来补偿矩阵条形码上的阴影,其中动态乘数与矩阵条形码上阴影的强度成比例地改变其值。通常,阴影是逐步增加或减少的。由于典型QR码标签的相对小尺寸,线性函数可能足以描述QR码标签上渐增的黑暗。但是,其它数学函数也可以用来补偿阴影。
根据该方法的进一步的实施例,如果在矩阵条形码的一个方向上,接收到的方块的亮度变化可表示为数学单调函数,则阴影的补偿可以执行,其中,所述方向包括垂直方向、水平方向或对角线方向,其中对角线方向可以包括从矩阵条形码的左上角到右下角或者从矩阵条形码的右上角到左下角的方向。以这种方式,可以使用线性函数来改变动态乘数的值。
根据进一步的增强实施例,该方法还可以包括,在所有的两个白色方块的色阶比较都已经执行以后,如果计数器大于预定义的网络钓鱼计数器,则激活网络钓鱼通知器。这可意味着多个潜在为白色的方块可能不像它们应当的那样白,从而表明在顶层QR码标签的可见QR码方块的下面可能是黑色方块。如果计数器值可能变得太高——意味着大于阈值——则可以检测到网络钓鱼攻击。在这种情况下,可以生成形式为网络钓鱼通知器的报警。这可以是用于激活不同动作的标志或信号。
一种动作可以是阻断对应于矩阵条形码的Web访问,尤其是因特网上的Web访问。用户还可以视觉上或听觉上被警告。恶意QR的URL可以不被显示或被进一步用于任何动作。它可以被直接删除。除了其它的反应,还可以生成对用户的声音报警。
被阻断的Web地址,尤其是其URL,也可以在例如智能电话的显示器上被显示。通知可以被发送到其它相关链接的系统或程序,以便不让因特网地址访问造成任何安全性问题。
进一步地,在该方法的一个实施例中,被阻断的Web地址可以被发送到网络钓鱼识别服务,以便收集恶意QR码标签的发生。通过与例如智能电话的QR码扫描仪相机一起操作的GPS(全球定位系统)可获得的恶意QR码的地理位置也可以被发送到识别服务。以这种方式,可以实现对应QR码标签的分布的地理表示。其它用户可以提前被警告。此外,可能已经被恶意镜像(见上文)的网站的提供商可以就该潜在的安全性问题被通知。
进一步地,实施例可以采取计算机程序产品的形式,该计算机程序产品可以从提供由计算机或任何指令执行系统使用或者与其联合使用的程序代码的计算机可用或计算机可读介质访问。对于本描述,计算机可用或计算机可读介质可以是任何可以包含用于存储、传送、传播或运输由计算机或任何指令执行系统、装置或设备(像移动电话、智能电话或具有集成的通信设施的移动扫描仪)使用或者与其联合使用的程序的部件的装置。
对于传播介质,介质可以是电、磁、光、电磁、红外线或半导体系统。计算机可读介质的例子可以包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘、以及光盘。光盘的当前例子包括紧凑盘只读存储器(CD-ROM)、紧凑盘读/写(CD-R/W)、DVD和蓝光盘。
应当指出,已经参考不同的主题描述了本发明的实施例。特别地,已经参考方法类型权利要求描述了一些实施例,而参考装置类型权利要求描述了其它实施例。但是,本领域技术人员将从以上和以下的描述中了解到,除非另外告知,否则,在属于一种类型主题的特征的任意组合以外,涉及不同主题的特征之间(尤其是方法类型权利要求的特征与装置类型权利要求的特征之间)的任意组合也被认为在本文档中被公开。
本发明以上定义的各方面以及进一步的方面从下文将描述的实施例的例子变得清晰,并且参考实施例的例子被解释,但本发明不限于这些实施例。
附图说明
现在将仅仅作为例子并且参考下面的附图来描述本发明的优选实施例:
图1示出了用于检测矩阵条形码的网络钓鱼的发明方法的框图。
图2示出了QR码标签。
图3示出了另一个恶意QR码标签以及它如何可以粘到原始的QR码标签上。
图4示出了在另一个标签之上粘贴的QR码标签的效果。
图5示出了关于发明方法的算法的框图。
图6示出了网络钓鱼检测单元的实施例。
图7示出了包括网络钓鱼检测单元的计算机。
具体实施方式
以下将给出附图的具体描述。附图中的所有指示都是示意性的。首先,给出用于检测矩阵条形码的网络钓鱼的发明方法的实施例的框图。之后,将描述网络钓鱼检测方法和相关单元的更多实施例。
图1示出了用于检测矩阵条形码的网络钓鱼的发明方法100的框图。矩阵条形码可以包括黑色和白色方块。但是,其它颜色组合也是可能的。白色方块可以与另一颜色(例如蓝色)的方块组合。重要的方面可以是深色与浅色方块之间良好的对比度。就此而言,白色方块也可以具有其它浅色,例如黄色、灰色、或者其它颜色的浅色调。这里提出的方法可以适用于任何颜色的矩阵条形码。但是,为了清晰,例子可以利用白色作为矩阵条形码标签的浅色并且黑色作为深色来描述。方块可以按行和列来组织。矩阵码可以具有整体方形或矩形形式。其它形式也是可能的。QR码可以是矩阵条形码的典型例子。
在第一步,可以确定矩阵码标签的朝向。这可以按本领域技术人员已知的方式执行。在这里不具体描述。
然后,该方法可以包括逐行和逐列扫描102矩阵条形码,从而得到接收到的方块。接收到的方块可以作为数据元素存储在计算机的存储器单元中,供进一步参考和解释。扫描可以利用由手持设备的相机(例如,照相机、例如移动电话等的相机等)拍摄的图像来执行。
此外,该方法可以包括存储104对应的白色色阶。这可以对每个接收到的白色方块利用RGB(红、绿、蓝)颜色代码或者使用其它等效的颜色代码来执行。如果相机的8位颜色分辨率可用,则对应的白色色阶可以区分256级。由此,三个颜色成分为255,255,255可以代表理想的白色。但是,这只能在特别的情况下实现。在现实生活情形下,对于8位颜色分辨率,RGB成分的值会稍低于255的最大水平。
下一步,可以两两执行接收到的白色方块的接收到的白色色阶的比较。可以有不同的算法来形成白色方块对。
-如果白色方块可以从1至n编号,n代表给定QR码标签中检测到的白色方块的总数,则具有编号1和2,3和4,5和6等等的方块可以彼此比较,即,其白色色阶可以比较。
-可替换地,以下接收到的白色方块对,即,其白色色阶,可以比较:1/2,2/3,3/4,等等。
-在另一种可替换方案中,比较可以只按行或只按列进行。这可以排除不同的照明条件。
-而且,按块(block-wise)进行比较也是可能的。
-此外,可以首先建立用于所有白色方块及其RGB成分的均值,并且单独白色方块的单独RGB成分可以与该颜色成分的对应均值进行比较。
不管可能应用哪种比较算法,在每两个被选白色方块之间的RGB成分之间都会存在差异。如果这种差异可超过预定义的阈值,则计数器可以增加例如1。该增加还可以依赖于上述差异。
计算差异的算法也可以变化。差异可以例如涉及所有三个RGB成分之和,或者涉及仅一个颜色成分的最大差异。依赖于选定的算法,阈值可以是可调节的。
其白色色阶差异超过阈值的检测到的接收到的白色方块可以指示,该特定的接收到的白色方块可能在其下面有另一个QR码标签的另一个黑色方块,该黑色方块位于其(即,“被粘贴覆盖”的原始标签)下面与原始矩阵码标签不同的QR码标签上,如以下解释的。
图2示出了QR码标签部分200的一部分。如所示出的,典型的QR码包括域中的多个黑色和白色方块。在这里,为了说明发明概念,只示出了3×3矩阵。但是,本领域技术人员将能够变换到任何矩阵尺寸。QR码部分200示出了三个黑色方块和六个白色方块。在这里,QR码部分200也可以代表完整的QR码标签。
在QR码网络钓鱼的情况下,奸诈的人将把另一个QR码标签或标记300粘到原始QR码标签200上。这在图3中示出。如可以很容易地看到的,当与原始QR码标签200比较时,有些方块显示出不同的颜色。
图4示出了在另一个标签之上粘贴的QR码标签的效果。因为可以放到原始QR码标签200上的那些QR码标签300必须相当薄,以便不会太容易地被物理检测到。但是,这样做的后果可能就是被识别的QR码标签400可能部分透明。换句话说,有可能检测到(即使是模糊的)在被粘贴的QR码300后面的东西。这是由于QR码典型地只包括两种颜色(即黑色和白色)这一事实。因此,以下四种配置是可能的:
1)原始QR码(200)的方块单元是白色的,粘上去的网络钓鱼QR码(300)的方块单元是白色的;
2)原始QR码(200)的方块单元是黑色的,粘上去的网络钓鱼QR码(300)的方块单元是黑色的;
3)原始QR码(200)的方块单元是白色的,粘上去的网络钓鱼QR码(300)的方块单元是黑色的;
4)原始QR码(200)的方块单元是黑色的,粘上去的网络钓鱼QR码(300)的方块单元是白色的。
因为白色比黑色更透明,所以配置4会带来这样的事实:当这种情况发生时,如果与来自配置1)的方块单元相比,所获得的粘上的网络钓鱼QR码300的白色方块单元会稍暗一些。换句话说,黑色覆盖白色得到的颜色比白色覆盖白色得到的颜色更暗。这可能能够被与网络钓鱼检测单元一起的扫描仪或相机检测到。其中QR码标签200具有黑色方块并且粘上的QR码标签300在相同的位置具有白色方块的那些情形可以由标号402识别。它们看起来比干净的白色方块稍微“更灰一点”(示出为带条纹的方块)。
在有些实现中,一般白色色阶可以在关于接收到的白色方块的数据可被进一步处理之前建立。这可以代表一种规格化。如果相机在照明不好的房间内拍摄QR码,则白色的点在RGB系统中将不是255255255,而是有点像250250250,这可以代表一定的灰色阴影。黑色方块在理想情况下在RGB系统中将被表示为000。但是,在照明不好的房间内或者由于光学反射,QR码黑色方块可能在RGB系统中看起来像202020。
基于此,可以利用各种算法来执行规格化。例如,接收到的QR码的所有白色方块的所有RGB色阶可以求平均,以表示用于QR码的典型平均白色。这可以代表用于特定拍摄到的QR码的一般白色色阶。
另外,接收到的白色色阶可以与动态乘数相乘,以抗衡QR码标签表面之上的阴影。在照明不好的环境中,常常不是整个QR码标签变暗,而是只有其一部分变暗。阴影可以定义为可在一个方向上均匀变化的暗度/亮度的梯度。对于拍摄到的QR码标签的变暗区域,算法能够动态地应用不同的白色/黑色系数,即,动态乘数。如果沿着被描述的方向的亮度变化可以描述为数学单调函数,例如,亮度在那个给定的方向上总是增加或总是减小,则区域可以定义为有阴影。如果不是,则动态乘数可能不被应用,仅一般性阈值可以应用。
但是,在阴影的这种情况下,由于QR码标签相对小的尺寸,因此对于有阴影的情况,只计算垂直、水平或两个对角线(从左上到右下或者从右上到左下)方向的阴影可能就足够了。
因此,对白色和黑色真实颜色的决定可以总结为这些步骤:
1.阴影检测:如果有的话,就与阴影的强度成比例地对每个方块应用乘数。
2.阈值计算:从使用动态乘数修改后的QR码标签开始,阈值计算可以依赖于一般白色色阶来执行。
3.逐行和逐列地扫描QR码标签。
因此,如果动态乘数可以用来消除QR码标签上阴影的影响,则这种算法步骤可以在QR码的扫描可被执行之前实现,因而,可以在图5中的框512之前,或者在如图1中描述的方法的步骤102之前执行。
一个例子可以更好地说明该过程:接收到的最暗的方块可以由RGB系统中的值100100100而不是由黑色的理想值000表示。最亮的方块可以具有RGB系统中的值200200200而不是RGB系统中的理想值255255255。对于RGB成分,动态乘数可以设置成222。在另一个例子中,代替100100100,接收到的RGB成分可以是120120120。在这种情况下,动态乘数可以设置成0.50.50.5。因而,动态乘数可以是基于经验的用户设置值。
在QR码方块的数字表示可能已经规格化之后,用于白色色阶比较的相同阈值可能是适用的。
这种计算阴影的方法就计算而言是特别便宜的,并且完美地适用于作为QR码的小黑白块状图像。一般而言,对于照片,阴影检测可以通过更昂贵的变换来执行,以增强边缘并平衡图像亮度,但这太昂贵。
图5示出了关于发明方法的算法或程序的框图500。算法可以在502开始。在504,可以从相机获得QR码照片。计数器可以设置成最大值,506。另外,计数器可以初始化成零,508。此外,用于从相机接收到的白色方块的白色单元阈值可以被设置,510。然后,QR码的照片可以被扫描,典型地是逐行和逐列扫描,512。对于每个接收到的白色方块,可以判定对应的白色色阶是否超过白色单元阈值,514。在“是”的情况下,计数器可以增加一,516。在“否”的情况下,可以判定是否还有更多方块单元要分析,518。在“是”的情况下,过程回到框512。在“否”的情况下,可以检查计数器是否超过计数器最大值,520。在“是”的情况下,可以生成网络钓鱼通知器,522。算法可以在524结束。本领域技术人员可以有能力实现这种算法编程语言,例如,Java。
图6示出了网络钓鱼检测单元600的实施例。如以上所提到的,矩阵条形码200可以包括以行和列布置的有色的和白色的方块。网络钓鱼检测单元600可以包括扫描单元602,例如,数码相机、QR码扫描仪、移动电话的相机等,并且可以适于逐行和逐列地扫描矩阵条形码。这可获得接收到的方块,其可存储在存储单元604中,存储单元604适于存储每个接收到的白色方块的对应白色色阶。
比较单元606可以适于两两比较接收到的方块的白色色阶,如在相关方法的语境下解释的。
本发明的实施例可以与几乎任何类型的计算机一起实现,而不管适于存储和/或执行程序代码的平台如何。例如,如图7中所示,计算系统700可以包括每个处理器都具有一个或多个核的一个或多个处理器702、关联的存储器元件704、内部存储设备706(例如,硬盘、诸如紧凑盘驱动器或数字视频盘(DVD)驱动器的光驱、闪存记忆棒、固态盘等),以及如今计算机典型的各种其它元件和功能(未示出)。存储器元件704可以包括在程序代码实际执行期间使用的主存储器,例如,随机存取存储器(RAM),以及可以提供至少一些程序代码和/或数据的临时存储以便减少为了执行必须从长期存储介质或外部大容量存储器716取回代码和/或数据的次数的高速缓存存储器。计算机700内部的元件可以利用对应的适配器通过总线系统718链接到一起。此外,网络钓鱼检测单元500可以附连到总线系统718。可以指出,计算机系统700还可以是移动电话。移动电话的相机720可以与网络钓鱼检测单元的扫描单元502共享——等效地,存储器704和存储器704。
计算机系统700还可以包括输入装置,诸如键盘、诸如鼠标710的定点设备,或者麦克风(未示出)。或者,计算系统可以配备触摸敏感屏幕作为主要输入设备。此外,计算机系统700还可以包括输出装置,诸如监视器或屏幕712(例如,液晶显示器(LCD)、等离子体显示器、发光二极管显示器(LED)、或者阴极射线管(CRT)监视器)。计算机系统700可以经网络接口连接714连接到网络(例如,局域网(LAN)、广域网(WAN)、诸如因特网或任何其它相似类型的网络,包括无线网络)。这可以允许耦合到其它计算机系统或存储网络或带驱动器。本领域技术人员将理解,存在许多不同类型的计算机系统,并且以上提到的输入和输出装置可以采取其它形式。一般而言,计算机系统700可以至少包括实践本发明实施例必需的最小化的处理、输入和/或输出装置。
虽然已经参考有限数量的实施例描述了本发明,但是,受益于本公开内容的本领域技术人员将理解,不背离本发明范围的其它实施例也可以设计,如本文中所公开的。相应地,本发明的范围应当只由所附权利要求来限制。而且,与不同实施例相关联描述的元件可以组合。还应当指出,权利要求中的标号不应当认为是限制元件。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,以产生计算机实现的过程,使得在计算机或者其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的框图显示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或者代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,上文中讨论的功能可以以不同于所公开的次序发生。例如,两个连续教导的功能实际上可以基本并行地执行,或者功能有时也可以按相反的顺序执行,这依赖于所涉及的功能而定。也要注意的是,框图中的每个方框以及框图中方框的组合可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文所使用的术语仅仅是为了描述特定的实施例而不是要作为本发明的限制。如本文所使用的,除非上下文明确地另外指出,否则单数形式“一”、“一个”和“该”是要也包括复数形式。还应当理解,当在本说明书使用时,术语“包括”规定所提到的特征、整数、步骤、操作、元素和/或部件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、部件和/或其集合的存在或添加。
权利要求中所有装置或步骤加功能元素的对应结构、材料、动作及等价物都是要包括用于结合其它所主张元素执行所述功能的任何结构、材料或行为,如同具体主张的那样。已经为了说明和描述给出了本发明的描述,但这不是详尽的或者要把本发明限定到所公开的形式。在不背离本发明范围与主旨的情况下,许多修改和变化对本领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最好地解释本发明的原理和实践应用,并使本领域其他普通技术人员能够理解本发明以获得具有适于预期特定使用的各种修改的各种实施例。