具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供一种搜索方法。所述搜索方法以服务器为执行主体。所述服务器可以为一个服务器,还可以为包括多个服务器的服务器集群。例如,所述服务器可以为京东服务器、支付宝服务器、微信服务器、或谷歌服务器等。
请一并参阅图1、图6-图10,本实施例可以包括以下方法步骤。需要说明的是,出于解释的目的,图1示出了以特定顺序执行的多个方法步骤。但是,本领域技术人员应当能够理解,本实施例可以包括更多或更少的方法步骤。另外,图1示出的方法步骤可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
步骤S11:接收来自客户端的指定地理位置数据。
在本实施例中,所述客户端例如可以为PC(personal computer)机、服务器、工控机(工业控制计算机)、移动智能电话、平板电子设备、便携式计算机(例如笔记本电脑等)、个人数字助理(PDA)、或桌面型计算机或智能穿戴设备等。
所述客户端可以具备定位功能。所述定位功能可以通过GPS(Global PositioningSystem,全球定位系统)、BDS(BeiDou Navigation Satellite System,北斗卫星导航系统)、GLONASS(格洛纳斯卫星导航系统)、伽利略卫星导航系统(Galileo satellitenavigation system)、基站无线信号、WIFI(Wireless-Fidelity,无线保真)信号、蓝牙(Bluetooth)信号等方式来实现,当然,也可以通过上述方式的任意组合来实现。
所述指定地理位置数据可以用于描述所述客户端的地理位置,具体可以为经纬度(经度和维度)数据。例如,所述指定地理位置数据的经度数据可以为116.389550,维度数据可以为39.928167。
在本实施例中,如前所述,所述客户端可以具备定位功能。如此,所述客户端可以获取自身地理位置数据,可以向服务器上传自身地理位置数据。所述服务器可以接收上传地理位置数据,可以将接收到地理位置数据作为指定地理位置数据。
具体地,所述客户端可以安装有指定应用程序,所述指定应用程序例如可以为微信或支付宝等。所述指定应用程序在运行后,可以获取所述客户端地理位置数据,可以向服务器上传获取地理位置数据。或者,所述客户端可以安装有指定应用程序,所述指定应用程序可以提供有信息搜索界面,所述信息搜索界面可以包括搜索词输入框。用户可以触发所述搜索词输入框,从而,所述搜索词输入框可以获得焦点(Focus)。如此,所述指定应用程序在检测到所述搜索词输入框获得焦点以后,可以获取所述客户端的地理位置数据,可以向服务器上传获取地理位置数据。当然,本领域技术人员应当能够理解,所述客户端还可以采用其它的方式获取自身的地理位置数据,本实施例对此并不做具体限定。
所述客户端具体可以通过卫星导航系统(例如GPS、BDS、GLONASS或伽利略卫星导航系统)获取自身地理位置数据,也可以通过移动通信的基站信号获取自身地理位置数据,还可以通过第三方的WIFI设备或蓝牙设备获取自身地理位置数据。
步骤S12:基于所述指定地理位置数据,确定至少一个目标信息点。
在本实施例中,所述服务器可以提供信息点集合。所述信息点集合可以包括至少一个信息点(Point of Information)。每个信息点可以对应一个地理实体,所述地理实体例如可以为“青山大桥公交车站”、“金逸影院影视中心店”、或“肯德基圆融时代广场店”等。
每个信息点可以对应至少一个服务标签。所述服务标签可以用于描述所述信息点提供的服务,所述服务标签具体可以为文本标签等。例如,信息点“青山大桥公交车站”提供服务的可以为:在青山大桥公交车站乘坐苏州公交车333路、345路、和378路。那么,信息点“青山大桥公交车站”对应的服务标签可以包括青山大桥、苏州、公交车站等文本标签。又如,信息点“肯德基圆融时代广场店”提供的服务可以为:在肯德基圆融时代广场店点餐。那么,信息点“肯德基圆融时代广场店”对应的服务标签可以包括圆融时代广场、苏州、餐馆等文本标签。
在本实施例的一个实施方式中,每个信息点可以对应一个地理位置数据。所述地理位置数据可以用于描述信息点的地理位置,所述地理位置数据具体可以为经纬度数据。例如,信息点“青山大桥公交车站”的地理位置数据可以为(116.389550,39.928167)。地理位置数据(116.389550,39.928167)具体可以表示经度数据为116.389550,维度数据为39.928167。
在本实施例的另一个实施方式中,每个信息点可以对应一个地理位置编码。所述地理位置编码可以用于描述信息点的地理位置,所述地理位置编码具体可以为将信息点的地理位置数据依据预设算法进行计算后产生的字符串。所述预设算法例如可以为去尾算法或GeoHash算法等。例如,地理位置数据(116.389550,39.928167)依据GeoHash算法进行计算后产生的地理位置编码可以为wx4g。
在本实施方式中,每个地理位置编码可以用于表示一个地理范围。通常地,每个地理位置编码的位数,与该地理位置编码表示的地理范围,反相关。即,每个地理位置编码的位数越多,该地理位置编码表示的地理范围越小,从而,该地理位置编码描述的地理位置越精确。例如,地理位置编码GeoHash_A的位数可以为5位,地理位置编码GeoHash_B的位数可以为6位。那么,相对于地理位置编码GeoHash_A,地理位置编码GeoHash_B描述的地理位置更精确。
相对于一个地理位置编码,该地理位置编码的前缀可以表示更大的地理范围。另外,相对于该地理位置编码较多位数的前缀,该地理位置编码较少位数的前缀可以表示更大的地理范围。例如,一个地理位置编码可以为wx4g0ec1。那么,相对于该地理位置编码wx4g0ec1,该地理位置编码的前缀wx4g0e,可以表示更大的地理范围;相对于该地理位置编码较多位数的前缀wx4g0e,该地理位置编码较少位数的前缀wx4g,可以表示更大的地理范围。
如此,根据两个或多个地理位置编码具有相同前缀的位数,所述服务器可以识别所述两个或多个地理位置编码所描述地理位置的远近程度。具体地,所述两个或多个地理位置编码具有相同前缀的位数越多,所述服务器可以识别所述两个或多个地理位置编码所描述地理位置较近。相对应地,所述两个或多个地理位置编码具有相同前缀的位数越少,所述服务器可以识别所述两个或多个地理位置编码所描述地理位置较远。
在本实施例中,所述服务器可以基于所述指定地理位置数据,从所述信息点集合中选取至少一个信息点;可以将选取的每个信息点作为目标信息点。例如,可以从所述信息点集合中选取1、3、7、或12个信息点,作为目标信息点。
在本实施例的一个实施方式中,如前所述,所述信息点集合中的每个信息点可以对应一个地理位置数据。如此,针对所述信息点集合中的每个信息点,所述服务器可以基于该信息点对应的地理位置数据以及所述指定地理位置数据,计算该信息点与所述客户端之间的地理距离;可以从所述信息点集合中,选取地理距离小于或等于预设距离的至少一个信息点。所述预设距离可以根据实际需要灵活设定,例如可以为500m、700m、或1000m等。
例如,所述服务器可以使用公式S=R·arccos(cosb1·cosb2·cos(a1-a2)+sinb1·sinb2)来计算地理距离。其中,S表示地理距离;R表示地球半径;a1表示信息点对应地理位置数据中的经度数据;b1表示信息点对应地理位置数据中的维度数据;a2表示所述指定地理位置数据中的经度数据;b2表示所述指定地理位置数据中的维度数据。当然,本领域技术人员应当能够理解,上述地理距离计算公式仅为示例,在实际上还可以有其它的公式或方法来计算地理距离。
在本实施例的另一个实施方式中,如前所述,所述信息点集合中的每个信息点可以对应一个地理位置数据。如此,所述服务器还可以基于所述指定地理位置数据来确定一个指定地理范围。所述指定地理范围可以为任意形状的地理范围,例如圆形、矩形、多边形等。所述指定地理位置数据描述的地理位置可以位于所述指定地理范围内的任意位置,例如中心、对角线交点等。从而,所述服务器可以基于所述信息点集合中每个信息点对应的地理位置数据,来识别该信息点是否位于所述指定地理范围内部;可以从所述信息点集合中,选取位于所述指定地理范围内部的至少一个信息点。
例如,所述指定地理位置数据可以为(116.389550,39.928167)。所述服务器可以以所述指定地理位置数据描述的地理位置作为对角线交点,以1000m作为边长,建立正方形指定地理范围。所述正方形指定地理范围的维度范围可以为[39.923675,39.932659],经度范围可以为[116.383693,116.395407]。
信息点POI_A对应的地理位数数据可以为(116.385693,39.925675)。信息点POI_B的对应地理位置数据可以为(116.385693,39.942659)。那么,所述服务器可以识别信息点POI_A位于所述正方形指定地理范围内部,可以识别所述信息点POI_B位于所述正方形指定地理范围外部。
在本实施例的另一个实施方式中,如前所述,所述信息点集合中的每个信息点可以对应一个地理位置编码。如此,所述服务器可以基于预设算法,计算所述指定地理位置数据对应的地理位置编码;可以将计算得到的地理位置编码作为指定地理位置编码;可以识别所述信息点集合中每个信息点对应的地理位置编码,与所述指定地理位置编码是否满足预设匹配规则;可以从所述信息点集合中,选取对应地理位置编码与所述指定地理位置编码满足预设匹配规则的至少一个信息点。所述预设算法例如可以为去尾算法或GeoHash算法等。
所述匹配规则可以为地理位置编码中具有相同前缀位数的数值,例如可以为7位、6位、或5位等。在实际过程中可以根据需要灵活设定所述匹配规则中具有相同前缀位数的数值。例如,当需要选取较大地理范围内的至少一个信息点时,所述匹配规则中具有相同前缀位数的数值可以设置的较小;当需要选取较小地理范围内的至少一个信息点时,所述匹配规则中具有相同前缀位数的数值可以设置的较大。
步骤S13:确定每个目标信息点对应的至少一个目标即时应用和至少一个目标搜索词。
在本实施例中,所述服务器可以提供即时应用集合。所述即时应用集合可以包括至少一个即时应用。所述即时应用可以为一种无需安装即可使用的应用,具体例如可以为腾讯公司的微信小程序、阿里巴巴公司的支付宝小程序、和谷歌公司的即时应用(AndroidInstant Apps)等。例如,所述即时应用可以为“8684公交”、或“肯德基+”等。
每个即时应用可以对应至少一个属性信息,所述属性信息例如可以为即时应用的功能标签、即时应用的描述信息、即时应用的入链数量(inbound link)、即时应用的出链数量(outbound link)、或即时应用的PageRank数值等。当然,本领域技术人员应当能够理解,此处的属性信息仅为举例,在实际中即时应用还可以对应其它的一个或多个属性信息。
即时应用对应的功能标签可以用于描述即时应用提供的功能,所述功能标签可以为文本标签等。例如,即时应用“8684公交”可以提供公交线路和/或公交车站搜索功能。那么,即时应用“8684公交”对应的功能标签可以包括公交等文本标签。又如,即时应用“肯德基+”可以提供用餐功能。那么,即时应用“肯德基+”对应的功能标签可以包括点餐等文本标签。当然,为了更准确地描述即时应用“肯德基+”提供的功能,即时应用“肯德基+”对应的功能标签还可以包括汉堡、肯德基、KFC等功能标签。
即时应用对应的描述信息可以用于详细描述即时应用提供的功能。即时应用的描述信息可以为文本信息、图像信息及其任意组合等。例如,即时应用的描述信息可以为即时应用的文本简介信息等。具体地,例如,即时应用“8684公交”的描述信息可以为:8684公交搜集全国400多个城市公交信息,用算法为用户提供最便捷的出行方案。
即时应用对应的入链数量可以为指向即时应用程序的链接数量,所述链接例如可以为URL地址等。即时应用的出链数量可以为即时应用指向其它即时应用的链接数量。即时应用的PageRank数值可以为基于即时应用的入链数量和出链数量,使用PageRank算法计算得到的数值。
在本实施例中,针对每个目标信息点,所述服务器可从所述即时应用集合中,选取至少一个即时应用,作为该目标信息点对应的目标即时应用。
在本实施例的一个实施方式中,如前所述,所述服务器可以提供信息点集合和即时应用集合。所述信息点集合中的每个信息点可以对应至少一个服务标签,所述即时应用集合中的每个即时应用可以对应至少一个功能标签。如此,针对每个目标信息点,所述服务器可以将该目标信息点对应的服务标签,与所述即时应用集合中即时应用对应的功能标签进行语义匹配;可以将匹配成功的功能标签对应的至少一个即时应用,作为该目标信息点对应的目标即时应用。其中,这里匹配成功可以理解为:两个标签相同,或者,两个标签表示的语义相同。例如,公交车站和公交站可以认为表示相同的公交车站语义。
例如,所述即时应用集合可以包括即时应用“8684公交”和“肯德基+”。其中,即时应用“8684公交”的功能标签可以包括公交等文本标签,即时应用“肯德基+”的功能标签可以包括点餐、汉堡、肯德基、和KFC等文本标签。目标信息点“青山大桥公交车站”的服务标签可以包括青山大桥、苏州、公交车站等文本标签。
那么,所述服务器可以将目标信息点“青山大桥公交车站”对应的服务标签青山大桥、苏州、或公交车站,分别与所述即时应用集合中每个即时应用对应的功能标签公交、点餐、汉堡、肯德基、和KFC进行语义匹配,得到匹配成功的功能标签公交;可以将功能标签公交对应的即时应用“8684公交”,作为目标信息点“青山大桥公交车站”对应的目标即时应用。
在本实施例的另一个实施方式中,如前所述,所述服务器可以提供信息点集合和即时应用集合。所述信息点集合中的每个信息点可以对应至少一个服务标签,所述即时应用集合中的每个即时应用可以对应至少一个属性信息。如此,针对每个目标信息点,所述服务器可以基于该目标信息点对应的服务标签,以及所述即时应用集合中每个即时应用对应的至少一个属性信息,计算所述即时应用集合中每个即时应用对应的特征值;可以从所述即时应用集合中,选取特征值大于或等于预设阈值的至少一个即时应用,作为该目标信息点对应的目标即时应用。
具体地,针对每个目标信息点,对于所述即时应用集合中的每个即时应用,所述服务器可以基于该目标信息的服务标签,以及该即时应用对应的至少一个属性信息,使用预设函数计算该即时应用对应的特征值。例如,该即时应用对应的至少一个属性信息可以包括该即时应用的描述信息、该即时应用的入链数量、该即时应用的出链数量,那么,所述服务器可以使用预设函数Score=a·CS+b·PM+c·PR+d来计算该即使应用对应的特征值,其中,a、b、c、d分别为系数;CS表示该目标信息的服务标签在该即时应用的描述信息中出现的词频;PM表示该即时应用的入链数量;PR表示该即时应用的出链数量。当然,本领域技术人员应当能够理解,上述预设函数仅为示例,在实际上还可以有其它的函数或方法来计算该即时应用对应的特征值。
需要说明的是,前述预设函数和预设阈值可以由开发人员根据实际需要灵活设定。当然,前述预设函数和预设阈值还可以通过机器学习算法进行训练得到。具体的,可以获取至少一个样本目标信息点,以及至少一个样本即时应用集合;可以根据机器学习算法对所述至少一个样本目标信息点以及所述至少一个样本即时应用集合进行训练,从而得到前述预设函数和预设阈值。所述机器学习算法可以包括朴素贝叶斯、决策树、逻辑回归、神经网络等。
在本实施例中,所述服务器可以提供至少一个搜索词集合。每个搜索词集合可以包括至少一个历史搜索词,且可以对应一个用户标识。所述用户标识可以用于标识一个用户,例如可以为用户的账户、邮箱、手机号、昵称等。每个搜索词集合中的历史搜索词,可以来自该搜索词集合对应用户标识所标识的用户。例如,张三的用户标识可以为zhangsan,所述客户端可以将张三输入的每个搜索词上传至服务器。所述服务器可以接收所述客户端上传的搜索词,并可以将接收到搜索词作为用户标识zhangsan所对应搜索词集合中的历史搜索词。
如此,所述服务器可以接收来自客户端的指定用户标识;可以从所述至少一个搜索词集合中,获取所述指定用户标识对应的目标搜索词集合;针对每个目标信息点,可以从所述目标搜索词集合中选取至少一个历史搜索词,作为该目标信息点对应的至少一个目标搜索词。
所述指定用户标识可以为所述客户端当前登录用户的用户标识或历史登录用户的用户标识。具体地,所述客户端可以获取当前登录用户或历史登录用户的用户标识,可以向服务器上传获取用户标识。所述服务器可以接收上传用户标识,可以将接收到用户标识作为指定用户标识。具体地,所述客户端可以安装有指定应用程序,所述指定应用程序例如可以为微信或支付宝等。所述指定应用程序在运行后,可以获取当前登录用户或历史登录用户的用户标识,可以向服务器上传获取用户标识。或者,所述客户端可以安装有指定应用程序,所述指定应用程序可以提供有信息搜索界面,所述信息搜索界面可以包括搜索词输入框。用户可以触发所述搜索词输入框,从而,所述搜索词输入框可以获得焦点。如此,所述指定应用程序在检测到所述搜索词输入框获得焦点以后,可以获取当前登录用户或历史登录用户的用户标识,可以向服务器上传获取用户标识。当然,本领域技术人员应当能够理解,所述客户端还可以采用其它的方式获取当前登录用户或历史登录用户的用户标识,本实施例对此并不做具体限定。需要说明的是,所述客户端可以在获取自身地理位置数据之前或之后,获取当前登录用户或历史登录用户的用户标识。当然,所述客户端还可以在获取自身地理位置数据的同时,获取当前登录用户或历史登录用户的用户标识。
具体地,针对每个目标信息点,所述服务器可以将该目标信息点的服务标签,与所述目标搜索词集合中的历史搜索词进行语义匹配;可以将匹配成功的至少一个历史搜索词,作为该目标信息点对应的目标搜索词。其中,这里匹配成功,可以理解为:服务标识与历史搜索词相同,或者,服务标签与历史搜索词的语义相同。
例如,所述目标搜索词集合可以包括历史搜索词公交333路、大盘鸡、肯德基。目标信息点“青山大桥公交车站”对应的服务标签可以包括青山大桥、苏州、公交车站等文本标签。那么,所述服务器可以将目标信息点“青山大桥公交车站”对应的服务标签青山大桥、苏州、或公交车站,与所述目标搜索词集合中的历史搜索词公交333路、大盘鸡、肯德基进行语义匹配;可以将匹配成功的历史搜索词公交333路,作为目标信息点“青山大桥公交车站”对应的目标搜索词。
在本实施例的一个实施方式中,每个搜索词集合还可以包括至少一个子搜索词集合。每个子搜索词集合可以包括至少一个历史搜索词,且可以对应有类型标签。所述类型标签可以用于表示子搜索词集合中历史搜索词的类型。所述类型标签具体可以为文本标签等,所述类型具体可以为公交线路、出行目的地、菜名等。
例如,搜索词集合Search_Query_A可以包括子搜索词集合Search_Query_A1、Search_Query_A2、Search_Query_A3。子搜索词集合Search_Query_A1对应的类型标签可以包括公交线路,具体可以包括历史搜索词333路、345路、578路等。子搜索词集合Search_Query_A2对应的类型标签可以包括出行目的地,具体可以包括历史搜索词圆融时代广场、苏州乐园等。子搜索词集合Search_Query_A3对应的类型标签可以为菜名,具体可以包括历史搜索词大盘鸡、汉堡等。
如此,在本实施方式中,在接收到来自客户端的指定用户标识后,所述服务器可以从所述至少一个搜索词集合中,获取所述指定用户标识对应的目标搜索词集合。从而,针对每个目标信息点,所述服务器可以将该目标信息点对应的服务标签,与所述目标搜索词集合中每个子搜索词集合对应的类型标签进行语义匹配;可以将匹配成功类型标签对应的子搜索词集合作为目标子搜索词集合;可以从所述目标子搜索词集合中,选取至少一个历史搜索词,作为该目标信息点对应的目标搜索词。具体地,所述服务器可以从所述目标子搜索词集合中,选取全部或部分历史搜索词,作为该目标信息点对应的目标搜索词。例如,所述服务器可以从所述目标子搜索词集合中,选取与该目标信息点对应的服务标签相同或者表示语义相同至少一个历史搜索词,作为该目标信息点对应的目标搜索词。
步骤S14:使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果。
在本实施例中,针对每个目标信息点对应的每个目标即时应用,所述服务器可以使用该目标即时应用,对该目标信息点对应的至少一个目标搜索词进行搜索,得到该目标信息点对应的至少一个搜索结果。
具体地,如前所述,所述服务器可以提供即时应用集合。所述即时应用集合可以包括至少一个即时应用。每个即时应用可以对应有服务器。为了便于描述,这里可以将执行本申请实施例的服务器作为第一服务器,可以将即时应用对应的服务器作为第二服务器。如此,针对每个目标信息点对应的每个目标即时应用,所述第一服务器可以向该目标即时应用对应的第二服务器发送搜索请求,所述搜索请求中可以携带有该目标信息点对应的至少一个目标搜索词。该目标信息点对应的第二服务器可以接收所述搜索请求,可以对该目标信息点对应的至少一个目标搜索词进行搜索,得到至少一个搜索结果;可以向所述第一服务器发送所述至少一个搜索结果。所述第一服务器可以接收所述至少一个搜索结果,作为该目标信息点对应的搜索结果。
例如,目标信息点“青山大桥公交车站”对应的目标即时应用可以包括“8684公交”和“滴滴公交”,对应的目标搜索词可以包括333路。
那么,所述第一服务器可以向目标即时应用“8684公交”对应的第二服务器发送搜索请求,所述搜索请求中可以携带有目标搜索词333路。目标即时应用“8684公交”对应的第二服务器可以接收所述搜索请求,可以对目标搜索词333路进行搜索,得到至少一个搜索结果;可以向所述第一服务器发送所述至少一个搜索结果。所述第一服务器可以接收所述至少一个搜索结果,作为目标信息点“青山大桥公交车站”对应的搜索结果。
相类似地,所述第一服务器还可以向目标即时应用“滴滴公交”对应的第二服务器发送搜索请求,所述搜索请求中可以携带有目标搜索词333路。目标即时应用“滴滴公交”对应的第二服务器可以接收所述搜索请求,可以对目标搜索词333路进行搜索,得到至少一个搜索结果;可以向所述第一服务器发送所述至少一个搜索结果。所述第一服务器可以接收所述至少一个搜索结果,作为目标信息点“青山大桥公交车站”对应的搜索结果。
步骤S15:向所述客户端发送每个目标信息点对应的至少一个搜索结果。
在本实施例中,所述服务器可以向所述客户端发送每个目标信息点对应的至少一个搜索结果。所述客户端可以接收并展示每个目标信息点对应的至少一个搜索结果。
例如,前述步骤S11中,所述客户端可以安装有指定应用程序,所述指定应用程序可以提供有信息搜索界面,所述信息搜索界面可以包括搜索词输入框。所述指定应用程序在检测到所述搜索词输入框获得焦点以后,可以获取所述客户端的地理位置数据,可以向服务器上传获取地理位置数据。那么,在步骤S14中,所述客户端可以在所述信息搜索界面,展示每个目标信息点对应的至少一个搜索结果。
在本实施例的一个实施方式中,所述服务器还可以向所述客户端发送每个目标信息点对应的至少一个目标应用标识,每个目标应用标识可以用于标识该目标信息点对应的一个目标即时应用,所述目标应用标识具体例如可以为目标即时应用的名称、图标、链接地址等。所述客户端可以接收并展示每个目标信息点对应的至少一个目标应用标识,从而便于用户在对客户端展示的搜索结果不满意时,用户可以基于展示的目标应用标识来获取对应的目标即时应用,继而可以使用获取的目标即时应用进行搜索,以期得到新的搜索结果。
在本实施例中,用户的使用体验可以为:用户携带客户端行至某一地理位置附近时,所述客户端可以向服务器发送该地理位置对应的地理位置数据。所述服务器可以接收所述客户端发来的地理位置数据;可以将接收到地理位置数据作为指定地理位置数据;可以基于所述指定地理位置数据,确定至少一个目标信息点;可以确定每个目标信息点对应的至少一个目标即时应用和至少一个目标搜索词;可以使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果;可以向所述客户端发送每个目标信息点对应的至少一个搜索结果。所述客户端可以展示每个目标信息点对应的至少一个搜索结果。从而,用户无需在所述客户端输入搜索词,也无需触发搜索按钮控件以进行搜索操作,便可以得到至少一个搜索结果。
例如,张三在携带客户端行至某一公交车站附近时,张三无需构建应用搜索词和信息搜索词,也无需在所述客户端进行多次输入操作和多次搜索触发操作,便可以得到公交线路或出行路线。例如,得到张三经常乘坐的公交线路,或者,该公交车站与张三经常出行目的地之间的出行路线。
在本实施例中,服务器可以接收来自客户端的指定地理位置数据;可以基于所述指定地理位置数据,确定至少一个目标信息点;可以确定每个目标信息点对应的至少一个目标即时应用和至少一个目标搜索词;可以使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果;可以向所述客户端发送每个目标信息点对应的至少一个搜索结果。与现有技术相比,在本实施例中,服务器在接收到来自客户端的指定地理位置数据以后,可以直接向所述客户端返回至少一个搜索结果。因此,本实施例可以避免用户构建应用搜索词、在第一搜索词输入控件输入应用搜索词、构建信息搜索词、以及在第二搜索词输入控件输入信息搜索词等过程,从而简化了整个搜索过程中的用户操作,进而提高了用户体验。
本申请实施例还提供另一种搜索方法。所述搜索方法以服务器为执行主体。所述服务器可以为一个服务器,还可以为包括多个服务器的服务器集群。
请一并参阅图2、图6-图10,本实施例可以包括以下方法步骤。需要说明的是,出于解释的目的,图2示出了以特定顺序执行的多个方法步骤。但是,本领域技术人员应当能够理解,本实施例可以包括更多或更少的方法步骤。另外,图1示出的方法步骤可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
步骤S21:接收来自客户端的至少一个搜索词。
在本实施例中,所述客户端可以安装有指定应用程序,所述指定应用程序例如可以为微信或支付宝等。所述指定应用程序在运行后可以提供信息搜索界面。用户可以在所述信息搜索界面输入查询数据。所述查询数据可以包括文本数据、音频数据、视频数据、图像数据、和电子码数据中的一个或多个,所述电子码例如可以包括二维码和条形码等。所述指定应用程序可以接收用户输入的所述查询数据;可以向所述服务器发送所述查询数据。所述服务器可以接收所述查询数据;可以基于所述查询数据获取至少一个搜索词。
在本实施例的一个实施方式中,所述信息搜索界面可以包括文本输入框。如此,用户可以直接在所述文本输入框输入至少一个搜索词。所述指定应用程序可以接收所述至少一个搜索词;可以向所述服务器发送所述至少一个搜索词。所述服务器可以接收所述至少一个搜索词。
在本实施例的另一个实施方式中,所述信息搜索界面可以包括文本输入框。如此,用户可以在所述文本输入框输入文本数据。所述指定应用程序可以接收所述文本数据;可以向所述服务器发送所述文本数据。所述服务器可以接收所述文本数据;可以从所述文本数据中获取至少一个搜索词。
所述服务器具体例如可以采用基于字符串匹配的分词方法、基于理解的分词方法、和基于统计的分词方法中的一个或多个,对接收文本数据进行分词处理,得到词语集合,所述词语集合可以包括至少一个词语;可以从所述词语集合中选取至少一个词语作为搜索词。
具体地,所述服务器可以直接从所述词语集合中选取至少一个词语作为搜索词。或者,所述服务器还可以使用预设过滤规则对所述词语集合中的词语进行过滤处理,得到子词语集合,所述子词语集合可以包括至少一个词语;可以从所述子词语集合中选取至少一个词语作为搜索词。所述预设过滤规则例如可以为过滤掉预设停用词集合中所包含的词语,所述预设停用词集合可以包括至少一个不再使用的词语。或者,所述预设过滤规则例如还可以为过滤掉非独立表意的词语,所述非独立表意的词语例如可以为啊啊啊等。
具体地,所述服务器可以从所述词语集合或所述子词语集合中,任意选取至少一个词语作为搜索词。当然,所述服务器还可以采用其它方式从所述词语集合或所述子词语集合中选取至少一个词语作为搜索词。例如,所述服务器可以提供有预设词典。所述预设词典可以包括至少一个预设词语。那么,所述服务器可以从所述词语集合或所述子词语集合中,选取所述预设词典所包含的至少一个词语作为搜索词。
在本实施例的另一个实施方式中,所述信息搜索界面可以包括音频输入控件。如此,用户可以基于所述音频输入控件输入音频数据。所述指定应用程序可以接收所述音频数据;可以向服务器发送所述音频数据。所述服务器可以接收所述音频数据;可以将所述音频数据识别为至少一个搜索词。具体地,所述客户端可以存储有至少一个音频数据。用户可以基于所述音频输入控件,从所述客户端存储的至少一个音频数据中选取音频数据。或者,所述客户端可以具有音频录制功能。用户可以基于所述音频输入控件来录制音频数据。
在本实施例的另一个实施方式中,所述信息搜索界面可以包括视频输入控件。如此,用户可以基于所述视频输入控件输入视频数据。所述指定应用程序可以接收所述视频数据;可以向服务器发送所述视频数据。所述服务器可以接收所述视频数据;可以将所述视频数据识别为至少一个搜索词。所述指定应用程序接收视频数据的过程,可以参照前述接收音频数据的过程,在此不再赘述。
在本实施例的另一个实施方式中,所述信息搜索界面可以包括图像输入控件。如此,用户可以基于所述图像输入控件输入图像数据。所述指定应用程序可以接收所述图像数据;可以向服务器发送所述图像数据。所述服务器可以接收所述图像数据;可以将所述图像数据识别为至少一个搜索词。所述指定应用程序接收图像数据的过程,可以参照前述接收音频数据的过程,在此不再赘述。
在本实施例的另一个实施方式中,所述信息搜索界面可以包括电子码输入控件。如此,用户可以触发所述电子码输入控件以输入电子码数据。所述电子码数据例如可以为二维码数据或条形码数据等。所述客户端可以接收并将所述电子码数据识别为文本数据;可以向所述服务器发送所述文本数据。所述服务器可以接收所述文本数据;可以从所述文本数据中获取至少一个搜索词。
步骤S22:从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用。
在本实施例中,所述服务器可以提供即时应用集合,所述即时应用集合可以包括至少一个即时应用。关于所述即时应用集合的详细描述可以参照前述实施例,在此不再赘述。如此,所述服务器可以从所述即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用。
在本实施例中,所述服务器从所述即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用的过程,可以与前述实施例步骤S13中,针对每个目标信息点,所述服务器所述即时应用集合中,选取至少一个即时应用,作为该目标信息点对应的目标即时应用的过程,相类似,二者可以对照进行解释,在此不再赘述。
步骤S23:使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果。
在本实施例中,所述服务器使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果的过程,可以与前述实施例步骤S14中,所述服务器使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果的过程,相类似,二者可以对照进行解释,在此不再赘述。
步骤S24:向所述客户端发送所述至少一个搜索结果。
在本实施例中,所述服务器向所述客户端发送所述至少一个搜索结果的过程,可以参照前述实施例步骤S15,在此不再赘述。
本实施例中步骤S21-步骤S24实现的具体功能,可以与前述实施例对照进行解释。
在本实施例中,所述服务器可以接收来自客户端的至少一个搜索词;可以从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;可以使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;可以向所述客户端发送所述至少一个搜索结果。与现有技术相比,在本实施例中,所述服务器在接收到来自客户端的至少一个搜索词后,可以直接向所述客户端返回至少一个搜索结果。因此,本实施例可以避免用户构建应用搜索词、在第一搜索词输入控件输入应用搜索词、构建信息搜索词、以及在第二搜索词输入控件输入信息搜索词等过程,从而简化了整个搜索过程中的用户操作,进而提高了用户体验。
本申请实施例还提供另一种搜索方法。所述搜索方法以客户端为执行主体。所述客户端例如可以为PC(personal computer)机、服务器、工控机(工业控制计算机)、移动智能电话、平板电子设备、便携式计算机(例如笔记本电脑等)、个人数字助理(PDA)、或桌面型计算机或智能穿戴设备等。所述客户端可以具备定位功能。所述定位功能可以通过GPS(Global Positioning System,全球定位系统)、BDS(BeiDou Navigation SatelliteSystem,北斗卫星导航系统)、GLONASS(格洛纳斯卫星导航系统)、伽利略卫星导航系统(Galileo satellite navigation system)、基站无线信号、WIFI(Wireless-Fidelity,无线保真)信号、蓝牙(Bluetooth)信号等方式来实现,当然,也可以通过上述方式的任意组合来实现。
请一并参阅图3、图6-图10。本实施例可以包括以下方法步骤。
步骤S31:提供信息搜索界面。
在本实施例中,所述信息搜索界面可以用于接收用户输入的查询数据。所述查询数据可以包括文本数据、音频数据、视频数据、图像数据、和电子码数据中的一个或多个,所述电子码例如可以包括二维码和条形码等。
在本实施例中,所述客户端可以安装有指定应用程序,所述指定应用程序例如可以为微信或支付宝等。所述指定应用程序在运行后可以提供信息搜索界面。当然,所述客户端还可以采用其它方式提供所述信息搜索界面,在此不再赘述。
步骤S32:接收用户在所述信息搜索界面输入的查询数据。
在本实施例中,用户可以在所述信息搜索界面输入查询数据。所述客户端可以接收用户输入的查询数据。用户输入查询数据以及所述客户端接收查询数据的过程可以参照前述实施例步骤S21,在此不再赘述。
步骤S33:向服务器发送所述查询数据。
在本实施例中,所述服务器可以为一个服务器,还可以为包括多个服务器的服务器集群。例如,例如,所述服务器可以为京东服务器、支付宝服务器、微信服务器、或谷歌服务器等。
在本实施例中,所述客户端可以向所述服务器发送所述查询数据。所述服务器可以接收所述查询数据;可以基于所述查询数据获取至少一个搜索词;可以从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;其中,所述即时应用集合包括至少一个即时应用;可以使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;可以向所述客户端发送所述至少一个搜索结果。
步骤S34:接收并在所述信息搜索界面展示所述至少一个搜索结果。
在本实施例中,所述客户端可以接收所述至少一个搜索结果;可以在所述信息搜索界面展示所述至少一个搜索结果。
本实施例中步骤S31-步骤S34实现的具体功能,可以与前述实施例对照进行解释。
请一并参阅图6-图11。以下介绍本申请实施例的一个具体应用场景。
在本场景示例中,所述客户端可以为移动智能手机。所述移动智能手机可以运行有指定应用程序。用户可以登录所述指定应用程序。从而,所述指定应用程序可以具有用户的用户标识。
在本场景示例中,在用户携带所述移动智能手机行至某一地理位置附近时,用户可以打开所述指定应用程序。所述指定应用程序可以提供有信息搜索界面,所述信息搜索界面可以包括搜索词输入框。用户可以触发所述搜索词输入框,从而,所述搜索词输入框可以获得焦点(Focus)。所述指定应用程序在检测到所述搜索词输入框获得焦点以后,可以获取所述移动智能手机的地理位置数据和当前登录用户的用户标识;可以向服务器上传获取地理位置数据和当前登录用户的用户标识。
所述服务器可以接收上传地理位置数据和用户标识;可以将接收到地理位置数据作为指定地理位置数据,可以将接收到用户标识作为指定用户标识;可以基于所述指定地理位置数据,确定至少一个目标信息点;可以确定每个目标信息点对应的至少一个目标即时应用;可以基于所述指定用户标识,确定每个目标信息点对应的至少一个目标搜索词;可以使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果;可以向所述指定应用程序发送每个目标信息点对应的至少一个搜索结果。所述指定应用程序可以接收每个目标信息点对应的至少一个搜索结果;可以在所述信息搜索界面展示每个目标信息点对应的至少一个搜索结果。
在本场景示例中,用户对所述指定应用程序展示的搜索结果可能满意,也可能不满意。在用户对所述指定应用程序展示的搜索结果满意的条件下,整个搜索过程可以结束。在用户对所述指定应用程序展示的搜索结果不满意的条件下,用户可以进一步在所述信息搜索界面输入查询数据。所述指定应用程序可以接收用户输入的查询数据;可以向所述服务器发送所述查询数据。所述服务器可以接收所述查询数据;可以基于所述查询数据获取至少一个搜索词;可以从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;可以使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;可以向所述指定应用程序发送所述至少一个搜索结果。所述指定应用程序可以接收所述至少一个搜索结果;可以在所述信息搜索界面展示所述至少一个搜索结果。
请参阅图4。本申请实施例还提供一种服务器。所述服务器包括通信组件和处理器。
在本实施例中,所述通信组件可以用于建立通信连接并进行数据传输。具体地,所述通信组件可以采用有线网卡、无线网卡、蓝牙模块、红外收发模块、超宽带通信模块、以及紫蜂协议通信模块进行通信。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
在本实施例中,所述处理器,耦合到所述通信组件;可以用于接收来自客户端的指定地理位置数据;基于所述指定地理位置数据,确定至少一个目标信息点;确定每个目标信息点对应的至少一个目标即时应用和至少一个目标搜索词;使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果;向所述客户端发送每个目标信息点对应的至少一个搜索结果。
本申请实施例公开的服务器,其通信组件和处理器实现的具体功能,可以与本申请中的前述实施例相对照解释。
请参阅图4。本申请实施例还提供另一种服务器。所述服务器包括通信组件和处理器。
在本实施例中,所述通信组件可以用于建立通信连接并进行数据传输。具体地,所述通信组件可以采用有线网卡、无线网卡、蓝牙模块、红外收发模块、超宽带通信模块、以及紫蜂协议通信模块进行通信。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
在本实施例中,所述处理器,耦合到所述通信组件;可以用于提供即时应用集合;所述即时应用集合中包括至少一个即时应用;接收来自客户端的至少一个搜索词;从所述即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;向所述客户端发送所述至少一个搜索结果。
本申请实施例公开的服务器,其通信组件和处理器实现的具体功能,可以与本申请中的前述实施例相对照解释。
请参阅图5。本申请实施例还提供一种客户端。所述客户端包括通信组件、显示组件和处理器。
在本实施例中,所述通信组件可以用于建立通信连接并进行数据传输。具体地,所述通信组件可以采用有线网卡、无线网卡、蓝牙模块、红外收发模块、超宽带通信模块、以及紫蜂协议通信模块进行通信。
在本实施例中,所述显示组件包括但不限于液晶(Liquid Crystal Display,LCD)显示器、阴极射线管(Cathode Ray Tube,CRT)显示器、和发光二极管(Light EmittingDiode,LED)显示器等。
在本实施例中,所述显示组件,可以用于展示信息搜索界面;在所述信息搜索界面展示至少一个搜索结果。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
在本实施例中,所述处理器,可以用于提供信息搜索界面;接收用户在所述信息搜索界面输入的查询数据;其中,所述查询数据包括音频数据、视频数据、图像数据和文本数据中的一个或多个;向服务器发送所述查询数据;以便于所述服务器能够基于所述查询数据获取至少一个搜索词;从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;其中,所述即时应用集合包括至少一个即时应用;使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;接收来自所述服务器的至少一个搜索结果。
本申请实施例公开的客户端,其通信组件、显示组件和处理器实现的具体功能,可以与本申请中的前述实施例相对照解释。
请参阅图12。本申请实施例还提供一种搜索装置。所述搜索装置包括地理位置数据接收单元121、信息点确定单元122、即时应用和搜索词确定单元123、搜索单元124、和搜索结果发送单元125。其中,
地理位置数据接收单元121,用于接收来自客户端的指定地理位置数据;
信息点确定单元122,用于基于所述指定地理位置数据,确定至少一个目标信息点;
即时应用和搜索词确定单元123,用于确定每个目标信息点对应的至少一个目标即时应用和至少一个目标搜索词;
搜索单元124,用于使用每个目标信息点对应的至少一个目标即时应用,搜索出与该目标信息点对应的至少一个目标搜索词相匹配的至少一个搜索结果;
搜索结果发送单元125,用于向所述客户端发送每个目标信息点对应的至少一个搜索结果。
请参阅图13。本申请实施例还提供另一种搜索装置。所述搜索装置包括搜索词接收单元131、即时应用选取单元132、搜索单元133、和搜索结果发送单元134。其中,
搜索词接收单元131,用于接收来自客户端的至少一个搜索词;
即时应用选取单元132,用于从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;所述即时应用集合包括至少一个即时应用;
搜索单元133,用于使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;
搜索结果发送单元134,用于向所述客户端发送所述至少一个搜索结果。
请参阅图14。本申请实施例还提供另一种搜索装置。所述搜索装置包括界面提供单元141、查询数据接收单元142、查询数据发送单元143、和搜索结果接收单元144。其中,
界面提供单元141,用于提供信息搜索界面;
查询数据接收单元142,用于接收用户在所述信息搜索界面输入的查询数据;其中,所述查询数据包括音频数据、视频数据、图像数据和文本数据中的一个或多个;
查询数据发送单元143,用于向服务器发送所述查询数据;以便于所述服务器能够基于所述查询数据获取至少一个搜索词;从即时应用集合中,选取与所述至少一个搜索词相匹配的至少一个目标即时应用;其中,所述即时应用集合包括至少一个即时应用;使用所述至少一个目标即时应用,搜索出与所述至少一个搜索词相匹配的至少一个搜索结果;
搜索结果接收单元144,用于接收并在所述信息搜索界面展示,来自所述服务器的至少一个搜索结果。
需要说明的是,本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于服务器和计算机存储介质实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
另外,可以理解的是,所属领域技术人员在阅读本申请文件之后,可以无需创造性劳动想到本申请文件中列举的部分或全部实施方式之间可以组合,这些组合也在本申请公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware
Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。