一种任务处理的方法及装置与流程

文档序号:12363839阅读:176来源:国知局
一种任务处理的方法及装置与流程

本发明涉及互联网技术领域,特别涉及一种任务处理的方法及装置。



背景技术:

经过近几年的互联网技术的发展,出现了许多任务发布的网站,这些网站发布任务,吸引具备相应任务解决能力者前来接受任务。

发布的任务多样,例如一些发布音频视频编辑、语音识别的任务,软件的试用任务等等;举一个例子来说,网站发布一个任务即:从互联网上搜索包含人脸的10000张图片,从这些图片中圈出人脸。用户可以通过完成这些任务获得相应的报酬,获取任务的方式也多样,有些需要按照指示逐步完成,有些通过回答相应的问题来完成。

以往接受任务的方式都是用户人为地搜索任务发布网站,然后再人为搜素自身能够完成的任务,并按照网站指示的方式接受任务并处理,直至任务完成。

但是这种人工零散接受任务并处理任务的方式,存在整体效率较低的问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种任务处理的方法及装置。

本发明实施例提供的一种任务处理的方法,包括:

针对每个发布任务的网站,对所述网站所包含的多个网页内容分别进行解析,确定获取任务的方式;

根据确定出的获取任务的方式,确定预先定义的与所述方式对应的应对策 略;

执行所述应对策略以模拟用户的操作,从所述网站获取任务;

将所述任务分发给一个或多个客户端进行处理;

接收所述一个或多个客户端返回的处理结果。

进一步地,从所述网站获取任务之后,还包括:

判断从所述网站中获取的任务中是否包含所述任务完整的任务数据;

若否,则根据所述网页内容中所述任务的描述信息,在网络中搜索对应的任务数据。

进一步地,将所述任务分发给一个或多个客户端进行处理,具体包括:

根据所述网页内容中所述任务的描述信息,判断所述任务是否可以被拆分;

若是,则将所述任务进行拆分,并将拆分后的任务转发给多个客户端分别进行处理;

若否,则将所述任务转发至一个客户端进行处理。

进一步地,将所述任务进行拆分,并将拆分后的任务分别转发给多个客户端分别进行处理,具体包括:

根据所述任务的描述信息,判断所述任务是否可拆分为多个子任务和/或环节;

若是,将所述任务拆分为多个子任务和/或环节;

将拆分后的多个子任务和/或环节的任务数据下发给多个客户端分别进行处理。

进一步地,所述多个子任务和/或环节之间为并行处理关系或者串行处理关系。

本发明实施例提供的一种任务的处理装置,包括:

解析模块,用于针对每个发布任务的网站,对所述网站所包含的多个网页内容分别进行解析,确定获取任务的方式;

应对策略确定模块,用于根据确定出的获取任务的方式,确定预先定义的与所述方式对应的应对策略;

任务获取模块,用于执行所述应对策略以模拟用户的操作,从所述网站获取任务;

任务下发模块,用于将所述任务分发给一个或多个客户端进行处理;

结果接收模块,用于接收所述一个或多个客户端返回的处理结果。

进一步地,本发明实施例提供的任务处理的装置,还包括:任务数据判断模块,用于判断从所述网站中获取的任务中是否包含所述任务完整的任务数据;若否,则根据所述网页内容中所述任务的描述信息,在网络中搜索对应的任务数据。

进一步地,所述任务下发模块,具体用于根据所述网页内容中所述任务的描述信息,判断所述任务是否可以被拆分;若是,则将所述任务进行拆分,并将拆分后的任务转发给多个客户端分别进行处理;若否,则将所述任务转发至一个客户端进行处理。

所述任务下发模块,进一步用于根据所述任务的描述信息,判断所述任务是否可拆分为多个子任务和/或环节;若是,将所述任务拆分为多个子任务和/或环节;将拆分后的多个子任务和/或环节的任务数据下发给多个客户端分别进行处理。

进一步地,所述多个子任务和/或环节之间为并行处理关系或者串行处理关系。

本发明的有益效果包括:

本发明实施例提供的获取任务的方法及装置,对每个发布任务的网站,对网站包含的多个网页内容进行解析,确定获取任务的方式,再根据获取任务的方式,确定对应的应对策略,执行应对策略以模拟用户的操作,从网站获取任务,然后将任务自动分给一个或多个客户端进行处理,最终接收一个或多个客户端返回的处理结果。这样,通过自动化的方式获取网页内容、模拟用户获取 任务的操作,将任务分发给客户端进行处理,较现有技术中通过用户人为上网搜索、人为获取任务和完成任务的方式,大大提高了任务处理的效率。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中获取任务的方法的流程图;

图2为本发明实施例中网页内容的示意图之一;

图3为本发明实施例中网页内容的示意图之二;

图4为本发明实施例中将任务分发给一个或多个客户端进行处理的流程图;

图5为本发明实施例中任务的处理装置的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

下面对本发明实施例提供的获取任务的方法的具体实施方式进行详细的说明。

本发明实施例提供的获取任务的方法,如图1所示,包括下述步骤:

S11、针对每个发布任务的网站,对网站所包含的多个网页内容分别进行解析,确定获取任务的方式;

S12、根据确定出的获取任务的方式,确定预先定义的与方式对应的应对策略;

S13、执行应对策略以模拟用户的操作,从网站获取任务;

S14、将任务分发给一个或多个客户端进行处理;

S15、接收一个或多个客户端返回的处理结果。

为了克服现有技术中人工零散接受任务并处理任务的方式的缺点,在本发明实施例中,将获取任务的过程通过机器自动实现,并在获取到任务之后,将获取到的任务自动分配到一个或多个客户端进行处理并得到处理结果,这样,使得获取任务和处理任务的方式速度和效率都较现有技术大大的提高。

下面进一步地对上述各步骤进行详细的说明。

由于在互联网中存在数量巨大的发布任务的网站,本发明实施例提供的上述获取任务的方法的S11中,如何获取这些发布任务的网站的地址,可以通过多种方式得到,一个较佳的实施方式,可以通过将相关的检索关键词或者其他检索元素发送至搜索引擎实现,这些搜索关键词或者其他检索元素(例如图片等)可预先根据这些发布任务的网站的内容、想要获取的任务的类型等来确定,具体的确定方法可以参照现有技术,在此不再限定。具体来说,即将预设的与发布任务的网站相关的至少一个检索关键词发送给搜索引擎,然后获取搜索引擎返回的发布任务的网站的搜索结果,搜索结果中包含一个或多个发布网站的地址链接。

进一步地,上述S11中,网站所包含的多个网页内容,在具体实施时,可以利用网络爬虫技术从每个发布任务的网站,获取该网站下多个网页。网络爬虫技术的具体实施方式可以参照现有技术。

从网站中获取其多个网页之后,需要对网页的内容进行解析,例如对网页中各元素进行解析,例如标题、文档内容、图片等进行解析,确定该网页内容中是否包含与发布任务有关的内容。

一旦通过解析网页内容确定该网页内容发布有相关的任务,则根据该网页包含的任务的关键词进一步进行解析,确定获取任务的方式。

现有在发布任务的网站获取任务的方式有多种,例如采用点通过点击按钮来获取、通过填写预制的信息来获取和回答设定的问题来获取。

举例来说,通过点击按钮来获取,即网页在发布任务的文字内容下面通过 按钮的方式与接受任务的用户来交互,例如图2中所示的,在文字内容下面设置有“下一步”、“确定”、“同意”、“不同意”“接受”、“不接受”、“是”以及“否”的按钮,可以通过点击这些按钮来获取任务,通常,获取这样一个任务可能需要多个步骤,每个步骤对一个的网页上都有这种按钮,用户可通过点击这种按钮来获取任务。

通过填写预制的信息来获取的方式,即网页通过填写预制的信息来与接受任务的用户来交互,这些预制信息的内容大体固定,例如图3中所示的,在任务说明的文字内容下面需要填写类似于姓名、性别、出生年月、身份证号、邮箱、联系电话等。

回答设定的问题来获取的方式,即网页中提供多个问题,通过用户填写相应的答案来获取任务,例如“请问您的职业是?”、“请回答您所学的专业是?”、“请问填写您的相关的工作经验”等。这种问题涉及的内容较预制信息复杂。

在具体实施时,发布任务的网页,有可能会采用三种方式中的任意一种或几种,通过解析网页内容,确定具体是哪一种获取任务的方式。

进一步地,上述S12中,根据确定出的获取任务的方式,确定预先定义的与方式对应的应对策略,在具体实施时,可以通过下述方式实现:

当获取的任务的方式为通过点击按钮来获取时,确定应对策略为点击预设的与任务步骤对应的各按钮选项;

当获取的任务的方式为通过填写预制的信息来获取时,确定应对策略为填写预设的与任务步骤对应的各预制的信息;

当获取的任务的方式为回答设定的问题来获取时,确定应对策略为填写预设的与任务步骤对应的问题答案。

在具体实施时,有多少种获取任务的方式,就需要预先定义多少种应对策略,对于按钮选项和预制信息的方式,应对策略中各执行步骤往往是固定的,比如,对于按钮选项的方式,应对策略中包含:点击“下一步”按钮、点击“确 定”按钮、点击“是”按钮等各执行步骤。对于预制信息的方式,应对策略中包含:“姓名”统一填写为“张三”,“性别”统一填写为“男”,“身份证号码”统一填写为一个固定的号码等。

对于填写预设的与任务步骤对应的问题答案这种应对策略,应对策略包含简单的人工智能,需要通过简单解析问题的内容,从预制的各种答案中查找对应的答案进行填写。

如果同一个网页中包含两种获取方式或者更多方式,则需要同时调取多个对应的应对策略,每个应对策略都针对相应位置的信息的填写,从而完成整个任务的获取过程。

这些应对策略可以通过各种执行脚本来实现,或者其他软件程序的实现方式。

这样,S13中,可以通过执行这些软件脚本,执行这些应对策略,从而实现自动化地模拟用户的操作,从网站获取任务。

从网站获取到任务之后,可以进一步地将任务推送给后端的客户端进行处理,进而完成该任务。

进一步地,本发明实施例提供的上述获取任务的方法的步骤S13之后,步骤S14之前,还可以包括下述步骤:

判断从网站中获取的任务中是否包含任务完整的任务数据;

若否,则根据网页内容中任务的描述信息,在网络中搜索对应的任务数据。

之所以会存在上述步骤,是因为,有些网站在提供任务的同时,即提供了相关的任务数据,而有些任务数据是无法提供的,例如背景技术中提到的从互联网上搜索包含人脸的10000张图片并圈出人脸的任务,获取这些任务数据本身就是任务的一部分,此时,需要根据网络内容中任务的描述信息,从网络中搜索到相应的任务数据,以上述例子来说,就是需要从互联网上搜索10000张图片作为完整的任务数据。

进一步地,上述S14中将任务分发给一个或多个客户端进行处理,在具体 实施时,如图4所示,可通过下述方式实现:

S41、根据网页内容中任务的描述信息,判断该任务是否可以被拆分;若是,执行S42;若否,执行S43;

S42、将任务进行拆分,并将拆分后的任务分别转发给多个客户端进行处理;

S43、将任务转发至一个客户端进行处理。

具体来说,上述S41中,需要对网页内容中任务的描述信息进行进一步地解析,例如下述方式:如果该任务描述信息中,包含完成任务的多个步骤,且步骤的数量大于设定的阈值,则确定该任务可以被拆分。反之,如果任务只包含一个步骤,或者虽然任务包含多个步骤,但步骤数量小于该设定的阈值,则确定该任务不可拆分。

或者,如果该任务描述信息中,任务对应的任务数据量较大,超过设定的阈值,则确定该任务可被拆分。

相应地,上述S42中,将任务进行拆分,可以有多种方式,例如可以根据任务的描述信息,判断任务是否可拆分为多个子任务和/或环节;

若是,将任务拆分为多个子任务和/或环节;

将拆分后的多个子任务和/或环节的任务数据下发给多个客户端分别进行处理。

进一步地,多个子任务和/或环节之间为并行处理关系或者串行处理关系。

子任务通常是将任务数据量较大的任务拆分为若干个任务数据量较小的子任务,子任务之间为并行处理的关系;

环节通常是将任务包含的若干个步骤拆分,称为整个任务的若干个任务环节,各环节之间为串行处理的关系。

在具体实施时,上述拆分方式,可能是选择其中任意一种,或者,在任务较复杂时,会同时存在既按照步骤拆分成多个环节,又在具体的环节拆分为多个子任务。

还是以背景技术中提到的任务为例进行说明。即:从互联网上获取包含人脸的10000张图片,对其中的人脸划上圈。

分配方式有多种,一种是这个任务可以划分为100个子任务,分别分给100个客户端,每个客户端负责处理100张图片。

另外一种方式是,将该任务分为多个环节即:环节1:从互联网上搜索10000包含人脸的照片,环节2:从这些照片中找出人脸部分并圈中;其中环节1分配给30个客户端,环节2分配给70个客户端。每个环节进行分配时,又可参照前述子任务的分配方式。

进一步地,上述子任务或者环节在分配给客户端时,可以根据客户端的处理能力的高低进行对应的分配。处理能力较高的,可分配任务数据量大的或者处理过程较复杂的,进一步提高整体的任务处理能力。

基于同一发明构思,本发明实施例还提供了一种任务的处理装置,由于该装置所解决问题的原理与前述任务的处理方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。

本发明实施例提供的任务的处理装置,如图5所示,包括:

解析模块501,用于针对每个发布任务的网站,对网站所包含的多个网页内容分别进行解析,确定获取任务的方式;

应对策略确定模块502,用于根据确定出的获取任务的方式,确定预先定义的与方式对应的应对策略;

任务获取模块503,用于执行应对策略以模拟用户的操作,从网站获取任务;

任务下发模块504,用于将任务分发给一个或多个客户端进行处理;

结果接收模块505,用于接收一个或多个客户端返回的处理结果。

进一步地,上述任务的处理装置,如图5所示,还可以包括:任务数据判断模块506,用于判断从网站中获取的任务中是否包含任务完整的任务数据;若否,则根据网页内容中任务的描述信息,在网络中搜索对应的任务数据。

进一步地,上述任务的处理装置中的任务下发模块504,具体用于根据网页内容中任务的描述信息,判断任务是否可以被拆分;若是,则将任务进行拆分,并将拆分后的任务分别转发给多个客户端分别进行处理;若否,则将任务转发至一个客户端进行处理。

进一步地,上述任务下发模块504,进一步用于根据任务的描述信息,判断任务是否可拆分为多个子任务和/或环节;若是,将任务拆分为多个子任务和/或环节;将拆分后的多个子任务和/或环节的任务数据下发给多个客户端分别进行处理。

进一步地,上述多个子任务和/或环节之间为并行处理关系或者串行处理关系。

本发明实施例提供的获取任务的方法及装置,对每个发布任务的网站,对网站包含的多个网页内容进行解析,确定获取任务的方式,再根据获取任务的方式,确定对应的应对策略,执行应对策略以模拟用户的操作,从网站获取任务,然后将任务自动分给一个或多个客户端进行处理,最终接收一个或多个客户端返回的处理结果。这样,通过自动化的方式获取网页内容、模拟用户获取任务的操作,将任务分发给客户端进行处理,较现有技术中通过用户人为上网搜索、人为获取任务和完成任务的方式,大大提高了任务处理的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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