移动设备自适应网络搜索的系统和方法与流程

文档序号:13736651阅读:178来源:国知局
技术领域本发明涉及移动搜索应用领域,具体地涉及用于基于分布式云环境平台的移动设备自适应网络搜索的系统和方法。

背景技术:
这个部分提供了与本公开有关的背景信息,这不一定是现有技术。如今,移动互联网随着智能手机和3G/4G网络的快速发展变得越来越繁荣,并且人们逐渐开始使用智能手机。在PC时代,搜索引擎能够帮助用户从互联网中查找到有用的信息。在移动互联网时代,搜索引擎同样扮演着非常重要的作用。用户可以使用手机找到指定的场所,附近的饭店以及其它网页信息。由于手机设备存在各种不同特征的多样性例如设备屏幕大小、操作系统版本以及其它物理功能,因此手机网页搜索引擎与PC搜索引擎是完全不同的。在传统的方法中,网页搜索引擎是针对PC网页设计的。搜索引擎主要是根据关键词相关度来提供结果。但是这种方法不适用于手机。这是因为尽管一些搜索结果与查询关键词的相关性非常高,但是这些网页并不能适配于各种不同的手机屏幕大小。此外,有些手机网页会使用到HTML5标签和一些物理功能,对于这种情况,传统的爬虫是无法抓取的。当用户查询的时候,传统的搜索引擎也不会使用手机的固有特征来对结果进行排序。因此,如何构建具有高精确度的移动网络搜索引擎是一项难题。

技术实现要素:
这个部分提供了本公开的一般概要,而不是其全部范围或其全部特征的全面披露。本公开的目的在于提供一种基于分布式云环境平台的移动设备自适应网络搜索的系统和方法。本公开总体涉及移动爬虫模块。在本公开中,网络测试技术被使用以构建移动爬虫模块。本公开可以基于网络用户界面(UI)遍历自动生成网络测试脚本,然后将其部署在分布式云环境平台(如测试即服务TaaS平台)上以进行处理。此外,本公开还可以包括移动查询模块。当用户搜索结果时,移动查询模块可以根据关键字的相关性和设备适配来对结果进行排序。以此,提供针对移动用户的具有更高精度的搜索结果。根据本公开的一方面,提供了一种基于分布式云环境平台的移动设备自适应网络搜索的系统,包括:获取单元,其基于未访问通用资源标识符(URI)种子中的一个统一资源定位器(URL)来获取网页;解析单元,其将获取的网页解析成文档对象模型(DOM)树;遍历单元,其基于获取的网页和解析的DOM树来进行网页UI遍历,以生成网页UI遍历测试脚本;配置单元,其将网页UI遍历测试脚本部署在分布式云环境平台上,在该分布式云环境平台上使用不同的上下文环境来配置多个移动设备;以及抓取单元,其在多个移动设备中的每一个上执行网页UI遍历测试脚本,以抓取从URI种子扩展的所有扩展网页。根据本公开的另一方面,提供了一种基于分布式云环境平台的移动设备自适应网络搜索的方法,包括:基于未访问URI种子中的一个URL来获取网页;将获取的网页解析成DOM树;基于获取的网页和解析的DOM树来进行网页UI遍历,以生成网页UI遍历测试脚本;将网页UI遍历测试脚本部署在分布式云环境平台上,在该分布式云环境平台上使用不同的上下文环境来配置多个移动设备;以及在多个移动设备中的每一个上执行网页UI遍历测试脚本以抓取从URI种子扩展的所有扩展网页。根据本公开的另一方面,提供了一种程序产品,该程序产品包括存储在其中的机器可读指令代码,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据本公开的基于分布式云环境平台的移动设备自适应网络搜索的方法。根据本公开的另一方面,提供了一种机器可读存储介质,其上携带有根据本公开的程序产品。使用根据本公开的基于分布式云环境(如测试即服务TaaS)平台的移动设备自适应网络搜索的系统和方法使用户获取的搜索结果更加有用、更加适配于移动用户所处的各种环境。用户可以更加迅速地发现自己所需的移动互联网信息。除此以外,由于本公开所提供的搜索的系统使用移动设备(如手机)抓取网页,可以更好地模拟移动用户的真实环境,并且对搜索结果考虑了移动设备自适应匹配。因此。根据本公开的基于分布式云环境平台的移动设备自适应网络搜索的系统和方法还具有更高的搜索准确率和更好的用户体验。这个概要中的描述和特定例子只是为了示意的目的,而不旨在限制本公开的范围。附图说明在此描述的附图只是为了所选实施例的示意的目的而非全部可能的实施,并且不旨在限制本公开的范围。在附图中:图1示例性示出根据本公开的技术方案的系统结构图;图2为根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统的框图;图3为根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统的一部分的框图;图4示例性示出根据本公开的实施例的基于可执行操作的网页UI遍历过程;图5为根据本公开的另一个实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统的框图;图6示例性示出根据本公开的基于TaaS平台的移动设备网页爬虫过程;图7为根据本公开的一个实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统的一部分的框图;图8示例性示出根据本公开的实施例的网页UI适配测试流程;图9示例性示出根据本公开的实施例的TaaS平台中基于上下文环境的移动设备网页爬虫过程的流程图;图10为根据本公开的另一实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统的框图;图11示例性示出根据本公开的实施例的移动设备自适应查询的过程;图12示例性示出根据本公开的实施例的基于时间和场所的用户搜索历史;图13为根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的方法的流程图;以及图14为其中可以实现根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统和方法的通用个人计算机的示例性结构的框图。虽然本公开容易经受各种修改和替换形式,但是其特定实施例已作为例子在附图中示出,并且在此详细描述。然而应当理解的是,在此对特定实施例的描述并不打算将本公开限制到公开的具体形式,而是相反地,本公开目的是要覆盖落在本公开的精神和范围之内的所有修改、等效和替换。要注意的是,贯穿几个附图,相应的标号指示相应的部件。实施方式现在参考附图来更加充分地描述本公开的示例。以下描述实质上只是示例性的,而不旨在限制本公开、应用或用途。下面提供了示例实施例,以便本公开将会变得详尽,并且将会向本领域技术人员充分地传达其范围。阐述了众多的特定细节如特定单元、装置和方法的示例,以提供对本公开的实施例的详尽理解。对于本领域技术人员而言将会明显的是,不需要使用特定的细节,示例实施例可以用许多不同的形式来实施,它们都不应当被解释为限制本公开的范围。在某些示例实施例中,没有详细地描述众所周知的过程、众所周知的结构和众所周知的技术。传统的网页爬虫单元部署在PC服务器端,抓取的网页仅仅适用于PC用户搜索,但并不适合于移动设备(如手机)用户。把传统的PC端搜索引擎移植到移动设备端,并不能检测网页的设备自适应程度,也无法抓取移动设备相关的网页(如HTML5网页)。使用根据本公开的用于基于分布式云环境平台的移动设备自适应网络搜索的系统和方法,可以将手机网页爬虫单元部署在TaaS平台中。不使用传统的模拟http消息的方式抓取网页,而是采用网页测试脚本的方式来执行爬虫过程。具体地,基于网页操作的UI遍历生成爬虫脚本,并将其作为爬虫单元部署在TaaS平台中的各种不同配置的手机里面以进行处理。图1示出根据本公开的技术方案的系统结构图。如图1所示,根据本公开的基于分布式云环境(如测试即服务TaaS)平台的移动设备自适应网络搜索的系统可以包括基于TaaS平台的移动爬虫单元和(如图1的虚线框中所示的)设备自适应查询单元。基于TaaS平台的移动爬虫单元可以使用网页测试技术来构建。例如,基于URI数据库中的URL列表(如baidu.com/news、qq.com/news以及sohu.com/news)来进行网页的UI遍历,以生成用于爬虫的网页测试脚本。然后,将该网页测试脚本部署在移动TaaS平台中的真机(如爬虫1、爬虫2…爬虫N)上,以基于HTML内容的上下文环境来抓取网页,进而进一步更新URI。移动TaaS平台是一个用于对移动设备网页进行多设备进行适配测试的云平台。此处,需要指出的是,图1中虚线框中所示的设备自适应查询单元并不是本公开必不可少的,将在下面的实施例中详细描述。上面简要描述了根据本公开的技术方案的主要基本结构。接下来参考附图来进一步详细地描述本公开的技术方案。图2示出了根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统200。如图2所示,根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统可以包括获取单元210、解析单元220、遍历单元230、配置单元240以及抓取单元250。获取单元210可以基于未访问通用资源标识符(URI)种子中的一个统一资源定位器(URL)来获取网页。根据本公开的一个实施例,获取单元210可以从URI种子数据库中选择未访问的URL如sohu.com/news来获取网页内容。接下来,解析单元220可以将获取的网页解析成文档对象模型(DOM)树。根据本公开的一个实施例,解析单元220可以将获取单元210获取的网页内容解析成DOM树结构。然后,遍历单元230可以基于获取的网页和解析的DOM树来进行网页用户界面(UI)遍历,以生成网页UI遍历测试脚本。根据本公开的一个实施例,遍历单元230可以基于获取的网页的所有可执行操作来通过测试该可执行操作是否能够正常执行来进行网页UI遍历,以生成网页UI遍历测试脚本。优选地,遍历单元230可以基于模拟浏览器操作(如javascript和ajax操作)来实现,以发现新的网页内容。接下来,配置单元240可以将网页UI遍历测试脚本部署在分布式云环境平台上,在分布式云环境平台上使用不同的上下文环境来配置多个移动设备。根据本公开的一个实施例,配置单元240可以将网页UI遍历测试脚本作为移动设备(如手机)网页的爬虫单元部署在分布式云环境平台(如TaaS平台)上,在该分布式云环境平台上使用不同的上下文环境如位置、语言或浏览器等来配置部署在该分布式云环境平台上的多个移动设备(如手机)。TaaS平台是一个云测试环境,其可以提供大量移动设备如手机用于测试移动网页应用和本地应用。然后,抓取单元250可以在多个移动设备中的每一个上执行网页UI遍历测试脚本(即爬虫单元),以抓取从URI种子扩展的所有扩展网页。根据本公开的一个实施例,抓取单元250可以将网页UI遍历测试脚本作为移动设备如手机网页的爬虫单元在多个移动设备中的每一个上执行,以抓取从URI种子扩展的所有扩展网页。例如,在云端通过在移动设备如手机浏览器中执行爬虫单元来抓取网页。根据图2的实施例,将移动设备(如手机)网页的爬虫单元部署在云环境平台中,以使用网页UI遍历测试脚本抓取各种网页。其基于真实设备中执行的网页UI遍历测试脚本可以抓取更多适配于手机的网页。此外,在测试脚本是基于浏览器的情况下,可以解决传统爬虫所不能解决的脚本语言(如javascript)爬取问题。根据本公开的另一个实施例,如图3所示,遍历单元230可以包括结点查找单元2301、操作查找单元2302、操作树构建单元2303、操作树遍历单元2304以及下载单元2305。下面将结合图4对本实施例的遍历单元230详细进行描述。结点查找单元2301可以基于获取的网页的标签来查找全部结点。如图4所示,根据本公开的一个实施例,结点查找单元2301可以分析获取的网页的HTML内容,并且基于HTML标签来查找所有HTML结点。接下来,操作查找单元2302可以通过查询每个结点的候选操作的数据库来查找基于当前页面的所有可执行操作。如图4所示,根据本公开的一个实施例,操作查找单元2302可以通过查询候选操作数据库发现当前页面中每个结点所有的可执行的操作如Op1、Op2、Op3、Op4…。如图4中虚线框中所示,可执行的操作(Op)可以以下式表示:操作=(URL,标签,动作,可操作性,跳转变化)其中,URL表示网页地址;标签表示HTML标签;动作表示基于特定HTML结点可执行的动作(例如点击、滑动等);可操作性表示结点是否可以操作(例如<p>结点是无法操作的)以及跳转变化表示操作是否会引起网页跳转到其它的URL链接。然后,操作树构建单元2303可以使用查找到的可执行操作来构建操作树,所构建的操作树中的每个结点代表一个操作。如图4所示,根据本公开的一个实施例,操作树中的每个结点代表一个操作,例如Op2代表点击超链接。并且操作树中处于同一深度的兄弟结点基于同一URL页面,例如Op5和Op6都基于URL2。接下来,操作树遍历单元2304可以以遍历算法通过访问每个结点来遍历构建的操作树。如图4所示,根据本公开的一个实施例,操作树遍历单元2304可以使用例如深度优先搜索算法DFS来遍历操作树。具体地,操作树遍历单元2304可以以树根结点作为初始点通过使用DFS延箭头方向访问操作树中的每个结点来进行遍历。若发现未执行过的操作,则访问相应的操作结点。然后,下载单元2305可以在执行构建的操作树的操作后,在所在URL当前页面发生改变或者当前页面跳转到其它URL的情况下,下载当前页面。如图4所示,根据本公开的一个实施例,当执行Op1后,页面发起ajax请求,从而刷新了当前页面的内容,则下载当前页面。当执行Op2后,页面跳转到另一个新的URL2,同样,将跳转前的页面下载。当执行Op4后,由于<p>没有可执行的操作,因此删除该结点并且更新操作树。根据图3的实施例,通过遍历单元230,可以将基于某个URI种子所延伸出的所有网页全部下载下来。而且,对于例如脚本语言(如javascript)引起的页面内容发生改变,同样可以进行处理。图5示出了根据本公开的另一实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统500。如图5所示,根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统除了获取单元210、解析单元220、遍历单元230、配置单元240以及抓取单元250外,还可以包括适配测试单元510。下面将结合图6对本实施例的系统详细进行描述。如图6所示,获取单元210可以从URI种子数据库中选择未访问的URL来获取网页内容。接下来,解析单元220可以将获取单元210获取的网页内容解析成DOM树结构。然后,遍历单元230可以基于获取的网页和解析的DOM树来进行网页可执行操作UI遍历。接下来,适配测试单元510可以基于获取的网页和解析的DOM树来进行网页UI设备适配测试,以生成网页UI设备适配测试脚本。根据本公开的一个实施例,当移动设备(如手机)网页爬虫单元在抓取网页时,适配测试单元510可以检查抓取的网页是否适配于各种不同的机型。具体地,如图6所示,适配测试单元510可以基于分析网页的DOM树结构并且遍历DOM树的每个结点来进行网页UI设备适配测试,以生成网页UI设备适配测试脚本。网页UI设备适配测试是基于网页在部署在云环境平台中的不同移动设备(如手机)中能否正常显示的测试。接下来,配置单元240还可以将网页UI设备适配测试脚本部署在分布式云环境平台(如TaaS平台)上,在该分布式云环境平台上使用不同的上下文环境来配置多个移动设备。如图6所示,根据本公开的一个实施例,配置单元240可以将网页UI遍历测试脚本和网页UI设备适配脚本作为移动设备(如手机)网页爬虫测试脚本。然后,配置单元240可以将该网页爬虫测试脚本部署在分布式云环境平台(如TaaS平台,其为基于云端的测试平台,在远程部署有多个移动设备)上,在该分布式云环境平台上使用不同的上下文环境来配置多个移动设备。然后,抓取单元250还可以在多个移动设备中的每一个上执行网页UI设备适配测试脚本以检查网页UI设备适配。如图6所示,根据本公开的一个实施例,抓取单元250可以将网页UI遍历测试脚本和网页UI设备适配脚本作为移动设备(如手机)网页爬虫单元在远程各种不同配置的移动设备如手机浏览器中运行,以检查所抓取的每个网页的网页UI设备适配,即检查所抓取的网页是否适配于各种不同配置的移动设备的机型。使用图5的基于分布式云环境平台的移动设备自适应网络搜索的系统可以在本公开将移动设备网页爬虫单元(即网页UI遍历测试脚本和网页UI设备适配脚本)部署在分布式云环境平台如TaaS平台中,然后,使用网页UI遍历测试脚本抓取各种网页。基于真实设备中执行的测试脚本可以抓取更多适配于手机的网页。此外,在测试脚本是基于浏览器的情况下,可以解决传统爬虫所不能解决的脚本语言(如javascript)爬取问题。根据本公开的又一个实施例,如图7所示,适配测试单元510可以包括第一检查单元5101、第二检查单元5102、第三检查单元5103以及第四检查单元5104以计算每个页面对移动设备的UI适配度。第一检查单元5101可以利用公式(1)来检查页面的结点是否在移动设备如手机的屏幕外:其中,结点个数屏幕内表示处于移动设备如手机屏幕之内的所有结点个数;结点个数横向屏幕外表示处于移动设备如手机横向屏幕之外的所有结点个数。第二检查单元5102可以利用公式(2)来检查页面的结点是否能够在移动设备如手机上被显示:其中,结点个数显示表示移动设备如手机上显示的结点个数。第三检查单元5103可以利用公式(3)来检查页面的结点尺寸是否适配于移动设备如手机:其中,最佳比例表示结点尺寸与屏幕尺寸的平均最佳比例。第四检查单元5104可以检查浏览器的水平(横向)滑动条是否存在。若水平(横向)滑动条存在,方向为1;否则,方向为0。然后,适配测试单元510可以利用第一检查单元5101、第二检测单元5102、第三检查单元5103以及第四检查单元5104的检查结果,通过公式(4)对每个页面对移动设备的UI适配度进行加权计算:UI适配度=位置×α+结点显示×β+结点尺寸适配×γ+方向×(1-α-β-γ)(4),其中,α、β以及γ表示相应的权重值。例如,如图8所示,适配测试单元510可以基于获取的网页和解析的DOM树,通过其中的第一检查单元5101检查页面的结点是否在移动设备屏幕外(如图8中一个Div结点在移动设备的屏幕外)、第二检查单元5102检查页面的结点是否能够在移动设备上被显示(如图8中一个闪客(Flash)结点不能在移动设备上被显示)、第三检查单元5103检查页面的结点尺寸是否适配于移动设备以及第四检查单元5104检查浏览器的水平(横向)滑动条是否存在来计算每个页面对移动设备的UI适配度。图9示出根据本公开的实施例的TaaS平台中基于上下文环境的移动设备网页爬虫过程的流程图。如图9所示,使用网页爬虫脚本来抓取网页。首先,使用不同的上下文环境参数设置云环境平台中的各种手机,然后开始遍历操作树。若发现未执行过的操作,则访问相应的操作结点。若该操作引起URL跳转,则下载当前页面;若该URL没有跳转,但当前页面改变了内容,则同样下载该页面。同时,检查每个页面的UI适配,并计算每个页面对移动设备的UI适配得分。可选地,根据本公开的又一实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统500还可以包括存储单元(未示出),其将抓取的所有扩展网页存储在数据库中。例如,如图6所示,存储单元可以将抓取的所有扩展网页的上下文环境、设备参数、网页内容、UI适配度、网页重要度以及网页类型等存储在数据库中。然后,解析单元220可以反复对页面内容进行HTML解析。图10示出了根据本公开的又一实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统1000。如图10所示,根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统1000除了获取单元210、解析单元220、遍历单元230、配置单元240、抓取单元250以及适配测试单元510外,还可以包括索引建立单元1010、搜索单元1020、排序单元1030以及二次排序单元1040。索引建立单元1010可以在抓取所有扩展网页后,建立用于所有扩展网页的索引,该索引将用于搜索。接下来,搜索单元1020可以通过从当前用户获取的关键字从索引进行搜索,以生成初始搜索结果。如图11所示,根据本公开的一个实施例,搜索单元1020可以通过用户输入到搜索引擎的关键词的相关度来进行搜索,从而从索引中获取和用户输入的关键字相似的搜索结果。当然,也可以采用本领域公知的其它方法来进行搜索。然后,如图11所示,排序单元1030可以对初始搜索结果进行排序,以获取初始搜索结果列表。根据本公开的一个实施例,排序单元1030可以采用本领域公知的方法如相关度排序法对初始搜索结果进行排序。尽管从索引中获取了初始搜索结果并进行了初次排序,但是这仅仅考虑了关键词的相关度,并没有考虑移动设备特征的匹配问题,因此经初始排序后获得的初始搜索结果列表可能并不适配于各种不同类型的移动设备如手机。因此,需要对初始搜索结果列表进行重新排序。接下来,如图11所示,二次排序单元1040可以针对排序后的初始搜索结果列表基于设备适配度加权计算进行二次排序,其中,设备适配度包括用户设备和移动设备(即部署在分布式云环境平台如TaaS平台上的多个移动设备)的设备相似度、上下文环境相似度、网页重要度、页面加载时间、用户偏好以及根据公式(4)所计算的UI适配度等。用户设备和爬虫设备的设备相似度可以通过公式(5)获得:其中,设备包括屏幕尺寸、操作系统(OS)版本以及内存参数;设备用户表示(使用本公开所提供的移动设备搜索引擎的)用户设备;设备i表示部署在分布式云环境如TaaS平台上(即使用本公开所提供的移动设备搜索引擎)的抓取第i个页面的设备。用户设备和爬虫设备的上下文环境相似度可以通过公式(6)获得:其中,上下文环境包括网速、位置以及浏览器参数;上下文环境用户表示(使用本公开所提供的移动设备搜索引擎的)用户上下文环境;上下文环境i表示部署在分布式云环境如TaaS平台上(即使用本公开所提供的移动设备搜索引擎)的抓取第i个页面的上下文环境。优选地,网页重要度可以通过公式(7)获得:其中,点击次数PC表示所有个人计算机(PC)用户点击页面的次数;点击次数移动用户表示所有移动用户点击页面的次数;以及点击次数用户表示用户使用本公开所提供的移动设备搜索引擎点击页面的次数。优选地,页面加载时间可以通过公式(8)的归一化函数来获得:其中,页面下载流量表示当前移动设备用户浏览网页所需要花费的下载流量;以及网速表示当前移动设备的网速。优选地,如图12所示,用户偏好(如用户偏好的网页类型)可以基于场所(如位置1、位置2或位置3等)和时间(如T1、T2或T3等)通过公式(9)来获得:其中,计数页面包含页面类型单词表示基于当前时间和场所,页面所包含的描述网页类型(如头条新闻、IT、视频、娱乐或体育等)的单词;计数历史页面包含页面类型单词表示基于历史记录中的相同时间和场所,用户所访问的历史页面中包含的网页类型的单词。然后,二次排序单元可以针对排序后的初始搜索结果列表基于以上公式(4)-(9)所获得的设备适配度通过公式(10)进行加权计算,以获得最终排序得分,从而基于最终排序得分进行降序排序:最终排序得分=相似度设备×α1+相似度上下文环境×α2+页面重要度×α3+页面加载时间×α4+用户偏好×α5+UI适配度×(1-α1-α2-α3-α4-α5)(10),其中,α1-α5表示相应权重值。根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统1000除了获取单元210、解析单元220、遍历单元230、配置单元240、抓取单元250、适配测试单元510、索引建立单元1010、搜索单元1020、排序单元1030以及二次排序单元1040外,还可以包括相关信息获取单元(未示出),其在从当前用户获取关键字的同时获取相关信息。根据本公开的一个实施例,相关信息可以包括搜索时间、搜索历史、移动设备上下文环境(位置、语言或浏览器)等。使用图10的基于分布式云环境平台的移动设备自适应网络搜索的系统1000因为当用户搜索的时候,本公开考虑到了设备相似度、上下文环境相似度、页面重要度、用户偏好、页面加载时间以及UI适配度等,本公开的移动设备如手机网页搜索引擎能够提供高准确率的搜索结果。此外,使用该系统1000,当用户查询结果的时候,将根据关键词以及设备自适应程度向用户提供搜索结果,因此这样获取的搜索结果对于移动用户来说更为有效、精确,并且可以更优地适配于移动用户所处的各种环境。下面结合图13来描述根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的方法。如图13所示,根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的方法开始于步骤S1310。在步骤S1310中,基于未访问URI种子中的一个URL来获取网页。接下来,在步骤S1320中,将获取的网页解析成DOM树。接下来,在步骤S1330中,基于获取的网页和解析的DOM树来进行网页UI遍历,以生成网页UI遍历测试脚本。接下来,在步骤S1340中,将网页UI遍历测试脚本部署在分布式云环境平台上,在分布式云环境平台上使用不同的上下文环境来配置多个移动设备。接下来,在步骤S1350中,在多个移动设备中的每一个上执行网页UI遍历测试脚本以抓取从URI种子扩展的所有扩展网页。在这之后,过程结束。根据本公开的又一实施例,遍历步骤还可以包括基于获取的网页的标签来查找全部结点的步骤;接下来通过查询每个结点的候选操作的数据库来查找基于当前页面的所有可执行操作的步骤;然后,使用查找到的可执行操作来构建操作树的步骤,其中所构建的操作树中的每个结点代表一个操作;接下来以遍历算法通过访问每个结点来遍历所构建的操作树的步骤;以及在执行构建的操作树的操作后,在所在URL当前页面发生改变或者当前页面跳转到其它URL的情况下,下载当前页面的步骤。根据本公开的又一实施例,基于分布式云环境平台的移动设备自适应网络搜索的方法还可以包括基于获取的网页和解析的DOM树来进行网页UI设备适配测试,以生成网页UI设备适配测试脚本的适配测试步骤。接下来,配置过程还可以将网页UI设备适配测试脚本部署在分布式云环境平台上,并且抓取过程还可以在多个移动设备中的每一个上执行网页UI设备适配测试脚本以检查网页UI设备适配。根据本公开的又一实施例,适配测试步骤还可以包括以下步骤,以计算每个页面对多个移动设备中的每一个的UI适配度:检查页面的结点是否在移动设备的屏幕外;检查页面的结点是否能够在移动设备被显示;检查页面的结点尺寸相对移动设备是否合适;以及检查浏览器的水平滑动条是否存在的步骤。根据本公开的又一实施例,基于分布式云环境平台的移动设备自适应网络搜索的方法还可以包括以下步骤:在抓取所有扩展网页后,建立用于所有扩展网页的索引,该索引将用于搜索;通过从当前用户获取的关键字从索引进行搜索,以生成初始搜索结果;对初始搜索结果进行排序,以获取初始搜索结果列表;以及针对排序后的初始搜索结果列表基于设备适配度加权计算进行二次排序,其中,设备适配度包括用户设备和多个移动设备的设备相似度、上下文环境相似度、网页重要度、网页加载时间、用户偏好以及所述UI适配度。根据本公开的又一实施例,基于分布式云环境平台的移动设备自适应网络搜索的方法还可以包括在从当前用户获取关键字的同时获取相关信息的获取步骤。根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的方法的上述步骤的各种具体实施方式前面已经作过详细描述,在此不再重复说明。显然,根据本公开的基于分布式云环境平台的移动设备自适应网络搜索的方法的各个操作过程可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给系统或设备,并且该系统或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。此时,只要该系统或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。另外,计算机通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到计算机中然后执行该程序,也可以实现本公开的技术方案。图14为其中可以实现根据本公开的实施例的基于分布式云环境平台的移动设备自适应网络搜索的系统和方法的通用个人计算机的示例性结构的框图。如图14所示,CPU1301根据只读存储器(ROM)1302中存储的程序或从存储部分1308加载到随机存取存储器(RAM)1303的程序执行各种处理。在RAM1303中,也根据需要存储当CPU1301执行各种处理等等时所需的数据。CPU1301、ROM1302和RAM1303经由总线1304彼此连接。输入/输出接口1305也连接到总线1304。下述部件连接到输入/输出接口1305:输入部分1306(包括键盘、鼠标等等)、输出部分1307(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,以及扬声器等)、存储部分1308(包括硬盘等)、通信部分1309(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1309经由网络比如因特网执行通信处理。根据需要,驱动器1310也可连接到输入/输出接口1305。可拆卸介质1311比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1310上,使得从中读出的计算机程序根据需要被安装到存储部分1308中。在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1311安装构成软件的程序。本领域的技术人员应当理解,这种存储介质不局限于图14所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1311。可拆卸介质1311的示例包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM1302、存储部分1308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。在本公开的系统和方法中,显然,各单元或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。以上虽然结合附图详细描述了本公开的实施例,但是应当明白,上面所描述的实施方式只是用于说明本公开,而并不构成对本公开的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本公开的实质和范围。因此,本公开的范围仅由所附的权利要求及其等效含义来限定。关于包括以上实施例的实施方式,还公开下述的附记:附记1.一种基于分布式云环境平台的移动设备自适应网络搜索的系统,包括:获取单元,其基于未访问通用资源标识符URI种子中的一个统一资源定位器URL来获取网页;解析单元,其将获取的网页解析成文档对象模型DOM树;遍历单元,其基于获取的网页和解析的文档对象模型DOM树来进行网页用户界面UI遍历,以生成网页用户界面UI遍历测试脚本;配置单元,其将所述网页用户界面UI遍历测试脚本部署在所述分布式云环境平台上,在所述分布式云环境平台上使用不同的上下文环境来配置多个移动设备;以及抓取单元,其在所述多个移动设备中的每一个上执行所述网页用户界面UI遍历测试脚本以抓取从所述通用资源标识符URI种子扩展的所有扩展网页。附记2.根据附记1所述的系统,其中,所述遍历单元包括:结点查找单元,其基于获取的网页的标签来查找全部结点;操作查找单元,其通过查询每个结点的候选操作的数据库来查找基于当前页面的所有可执行操作;操作树构建单元,其使用查找到的可执行操作来构建操作树,所构建的操作树中的每个结点代表一个操作;操作树遍历单元,其以遍历算法通过访问每个结点来遍历所构建的操作树;以及下载单元,其在执行构建的操作树的操作后,在所在统一资源定位器URL当前页面发生改变或者当前页面跳转到其它统一资源定位器URL的情况下,下载当前页面。附记3.根据附记1或2所述的系统,还包括:适配测试单元,其基于获取的网页和解析的文档对象模型DOM树来进行网页用户界面UI设备适配测试,以生成网页用户界面UI设备适配测试脚本,所述配置单元还将所述网页用户界面UI设备适配测试脚本部署在所述分布式云环境平台上,并且所述抓取单元还在所述多个移动设备中的每一个上执行所述网页用户界面UI设备适配测试脚本以检查网页用户界面UI设备适配。附记4.根据附记3所述的系统,其中,所述适配测试单元包括以下单元,以计算每个页面对所述多个移动设备中的每一个的用户界面UI适配度:第一检查单元,其检查页面的结点是否在移动设备的屏幕外;第二检查单元,其检查页面的结点是否能够在移动设备被显示;第三检查单元,其检查页面的结点尺寸相对移动设备是否合适;以及第四检查单元,其检查浏览器的水平滑动条是否存在。附记5.根据附记4所述的系统,还包括存储单元,其将抓取的所有扩展网页存储在数据库中。附记6.根据附记4所述的系统,还包括:索引建立单元,其在抓取所有扩展网页后,建立用于所有扩展网页的索引,所述索引将用于搜索;搜索单元,其通过从当前用户获取的关键字从所述索引进行搜索,以生成初始搜索结果;排序单元,其对所述初始搜索结果进行排序,以获取初始搜索结果列表;以及二次排序单元,其针对排序后的初始搜索结果列表基于设备适配度加权计算进行二次排序,其中,所述设备适配度包括用户设备和所述多个移动设备的设备相似度、上下文环境相似度、网页重要度、网页加载时间、用户偏好以及所述UI适配度。附记7.根据附记6所述的系统,还包括相关信息获取单元,其在从当前用户获取关键字的同时获取相关信息。附记8.根据附记6所述的系统,其中,所述网页重要度通过对PC用户、移动用户以及当前用户的历史点击量来计算;所述网页加载时间根据用户设备的当前网速和网页的大小来计算;以及所述用户偏好根据用户基于相同时间和场所访问的历史网页类型来计算。附记9.根据附记1所述的系统,其中,所述分布式云环境平台是测试即服务TaaS平台。附记10.根据附记2所述的系统,其中,所述遍历算法是深度优先搜索DFS算法。附记11.根据附记1所述的系统,其中,所述遍历单元基于模拟浏览器操作来实现,以发现新的网页内容。附记12.根据附记11所述的系统,其中,所述遍历单元模拟javascript和ajax操作。附记13.一种基于分布式云环境平台的移动设备自适应网络搜索的方法,包括:基于未访问通用资源标识符URI种子中的一个统一资源定位器URL来获取网页;将获取的网页解析成文档对象模型DOM树;基于获取的网页和解析的文档对象模型DOM树来进行网页用户界面UI遍历,以生成网页用户界面UI遍历测试脚本;将所述网页用户界面UI遍历测试脚本部署在所述分布式云环境平台上,在所述分布式云环境平台上使用不同的上下文环境来配置多个移动设备;以及在所述多个移动设备中的每一个上执行所述网页用户界面UI遍历测试脚本以抓取从所述通用资源标识符URI种子扩展的所有扩展网页。附记14.根据附记13所述的方法,其中,遍历步骤包括:基于获取的网页的标签来查找全部结点;通过查询每个结点的候选操作的数据库来查找基于当前页面的所有可执行操作;使用查找到的可执行操作来构建操作树,所构建的操作树中的每个结点代表一个操作;以遍历算法通过访问每个结点来遍历所构建的操作树;以及在执行构建的操作树的操作后,在所在统一资源定位器URL当前页面发生改变或者当前页面跳转到其它统一资源定位器URL的情况下,下载当前页面。附记15.根据附记13或14所述的方法,还包括:基于获取的网页和解析的文档对象模型DOM树来进行网页用户界面UI设备适配测试,以生成网页用户界面UI设备适配测试脚本,所述配置步骤还将所述网页用户界面UI设备适配测试脚本部署在所述分布式云环境平台上,并且所述抓取步骤还在所述多个移动设备中的每一个上执行所述网页用户界面UI设备适配测试脚本以检查网页用户界面UI设备适配。附记16.根据附记15所述的方法,其中,所述适配测试步骤包括以下步骤,以计算每个页面对所述多个移动设备中的每一个的用户界面UI适配度:检查页面的结点是否在移动设备的屏幕外;检查页面的结点是否能够在移动设备被显示;检查页面的结点尺寸相对移动设备是否合适;以及检查浏览器的水平滑动条是否存在。附记17.根据附记16所述的方法,还包括将抓取的所有扩展网页存储在数据库中。附记18.根据附记16所述的方法,还包括:在抓取所有扩展网页后,建立用于所有扩展网页的索引,所述索引将用于搜索;通过从当前用户获取的关键字从所述索引进行搜索,以生成初始搜索结果;对所述初始搜索结果进行排序,以获取初始搜索结果列表;以及针对排序后的初始搜索结果列表基于设备适配度加权计算进行二次排序,其中,所述设备适配度包括用户设备和所述多个移动设备的设备相似度、上下文环境相似度、网页重要度、网页加载时间、用户偏好以及所述UI适配度。附记19.根据附记18所述的方法,还包括在从当前用户获取关键字的同时获取相关信息。附记20.一种机器可读存储介质,其上携带有包括存储在其中的机器可读指令代码的程序产品,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据附记13-19中任何一项所述的方法。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1