众包任务分配方法、装置、电子设备及存储介质与流程

文档序号:21465577发布日期:2020-07-14 16:50阅读:344来源:国知局
众包任务分配方法、装置、电子设备及存储介质与流程

本发明涉及数据分析技术领域,尤其涉及一种众包任务分配方法、装置、电子设备及存储介质。



背景技术:

随着众包平台的迅速发展,各大众包平台的任务类型越来越多样,不同的用户对于任务类型的偏好也各不相同,并且大部分的众包平台都允许用户按照自身偏好自主选择任务类型进行作答,因此很容易导致众包平台上的某些类型的任务被完成得很快,而某些任务则缺少作业用户。

针对上述情况,有部分众包平台采取了下述方案:(1)不允许用户自主选择任务类型,而是将所有类型的任务混合在一起随机派发给在线用户;(2)设定一个固定换题点,例如:当用户完成的同类型任务达到一百题时,随机切换到其他任务类型。

但是,不同的任务类型所需的作业用户数量是不同的,例如:简单的信息转录任务只需要较少的作业用户就可以完成较高的任务量,而需要思考的方案性任务往往需要更多的用户才能在相同的时间里完成与前者一样多的任务量,因此,上述两种方案都没有考虑不同任务对作业用户量的不同需求,同时,众包平台的用户分布是实时变动的,因此,上述两种方案都不能很好地解决众包平台用户分布不均的问题,这将导致系统的负载量分配不均,影响任务的处理效率。



技术实现要素:

鉴于以上内容,有必要提供一种众包任务分配方法、装置、电子设备及存储介质,能够有效解决众包平台用户分布不均的问题,进而优化系统负载分配,提升任务处理效率。

一种众包任务分配方法,所述方法包括:

当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务;

确定每个任务组中的待分配子任务数及可分配用户数;

根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力;

获取每个任务组预先配置的作业力警戒线;

对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果;

根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组;

计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力;

根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

根据本发明优选实施例,所述根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力包括:

计算每个任务组中的可分配用户数与待分配子任务数的商值;

将所述商值确定为每个任务组的实时作业力。

根据本发明优选实施例,在获取每个任务组预先配置的作业力警戒线前,所述方法还包括:

采用网络爬虫技术爬取历史作业数据;

基于回归分析法,以所述历史作业数据构建回归模型;

采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

根据本发明优选实施例,所述根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组包括:

当实时作业力高于或者等于作业力警戒线时,确定该任务组为所述作业力富余任务组;或者

当实时作业力低于作业力警戒线时,确定该任务组为所述作业力短缺任务组。

根据本发明优选实施例,所述计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力包括:

采用下述公式计算所述作业力富余任务组中每个作业力富余任务组的富余力:

其中,aui表示第i个作业力富余任务组的富余力(i为大于0的正整数),pui表示第i个作业力富余任务组的可分配用户数,pti表示第i个作业力富余任务组的待分配子任务数,表示第i个作业力富余任务组的作业力警戒线;

计算每个富余力的累加和,得到所述总富余力;

采用下述公式计算所述作业力短缺任务组中每个作业力短缺任务组的短缺力:

其中,luj表示第j个作业力短缺任务组的短缺力(j为大于0的正整数),puj表示第j个作业力短缺任务组的可分配用户数,ptj表示第j个作业力短缺任务组的待分配子任务数,表示第j个作业力短缺任务组的作业力警戒线;

计算每个短缺力的累加和,得到所述总短缺力。

根据本发明优选实施例,所述根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组包括:

当所述总富余力大于或者等于所述总短缺力时,从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户;

将抽取的可分配用户转移至所述作业力短缺任务组。

根据本发明优选实施例,所述根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组还包括:

当所述总富余力小于所述总短缺力时,将每个作业力短缺任务组按照短缺力进行排序;

按照短缺力由高到低的顺序,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,直至所述作业力富余任务组没有可分配用户。

一种众包任务分配装置,所述装置包括:

获取单元,用于当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务;

确定单元,用于确定每个任务组中的待分配子任务数及可分配用户数;

计算单元,用于根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力;

所述获取单元,还用于获取每个任务组预先配置的作业力警戒线;

对比单元,用于对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果;

所述确定单元,还用于根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组;

所述计算单元,还用于计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力;

转移单元,用于根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

根据本发明优选实施例,所述计算单元根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力包括:

计算每个任务组中的可分配用户数与待分配子任务数的商值;

将所述商值确定为每个任务组的实时作业力。

根据本发明优选实施例,所述装置还包括:

爬取单元,用于在获取每个任务组预先配置的作业力警戒线前,采用网络爬虫技术爬取历史作业数据;

构建单元,用于基于回归分析法,以所述历史作业数据构建回归模型;

处理单元,用于采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

根据本发明优选实施例,所述确定单元根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组包括:

当实时作业力高于或者等于作业力警戒线时,确定该任务组为所述作业力富余任务组;或者

当实时作业力低于作业力警戒线时,确定该任务组为所述作业力短缺任务组。

根据本发明优选实施例,所述计算单元计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力包括:

采用下述公式计算所述作业力富余任务组中每个作业力富余任务组的富余力:

其中,aui表示第i个作业力富余任务组的富余力(i为大于0的正整数),pui表示第i个作业力富余任务组的可分配用户数,pti表示第i个作业力富余任务组的待分配子任务数,表示第i个作业力富余任务组的作业力警戒线;

计算每个富余力的累加和,得到所述总富余力;

采用下述公式计算所述作业力短缺任务组中每个作业力短缺任务组的短缺力:

其中,luj表示第j个作业力短缺任务组的短缺力(j为大于0的正整数),puj表示第j个作业力短缺任务组的可分配用户数,ptj表示第j个作业力短缺任务组的待分配子任务数,表示第j个作业力短缺任务组的作业力警戒线;

计算每个短缺力的累加和,得到所述总短缺力。

根据本发明优选实施例,所述转移单元根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组包括:

当所述总富余力大于或者等于所述总短缺力时,从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户;

将抽取的可分配用户转移至所述作业力短缺任务组。

根据本发明优选实施例,所述转移单元根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组还包括:

当所述总富余力小于所述总短缺力时,将每个作业力短缺任务组按照短缺力进行排序;

按照短缺力由高到低的顺序,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,直至所述作业力富余任务组没有可分配用户。

一种电子设备,所述电子设备包括:

存储器,存储至少一个指令;及

处理器,执行所述存储器中存储的指令以实现所述众包任务分配方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述众包任务分配方法。

由以上技术方案可以看出,本发明能够当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,并确定每个任务组中的待分配子任务数及可分配用户数,进而根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力,获取每个任务组预先配置的作业力警戒线,并对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果,再根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组,计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力,进一步根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,从而根据富余力及短缺力自动平衡不同任务类型的任务组间的作业力分配,有效解决了众包平台用户分布不均的问题,进而优化系统负载分配,提升任务处理效率。

附图说明

图1是本发明众包任务分配方法的较佳实施例的流程图。

图2是本发明众包任务分配装置的较佳实施例的功能模块图。

图3是本发明实现众包任务分配方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

如图1所示,是本发明众包任务分配方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述众包任务分配方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。

所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。

所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。

s10,当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组。

其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务。

在本发明的至少一个实施例中,所述众包任务分配指令可以由配置人员触发,也可以由所述电子设备定时触发,本发明不限制。

其中,所述配置人员可以包括,但不限于:众包平台的相关工作人员、众包平台的指定用户等。

在本发明的至少一个实施例中,所述预设时间间隔可以进行自定义配置,本发明不限制。例如:所述预设时间间隔可以包括24小时等。

s11,确定每个任务组中的待分配子任务数及可分配用户数。

在本发明的至少一个实施例中,所述待分配子任务数是指需要处理的,但是还没有用户接收的子任务的总量。

在本发明的至少一个实施例中,所述可分配用户数是指处于空闲状态,且能够处理任务的用户的总量。

在本发明的至少一个实施例中,所述电子设备可以采用数据库查询语句从众包平台的所有运行数据中进行查询,进而将查询到的数据确定为每个任务组中的待分配子任务数及可分配用户数。

例如:对于mysql数据库,所述电子设备可以采用sql语句查询每个任务组中的待分配子任务数及可分配用户数。

s12,根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力。

可以理解的是,由于每个任务组属于不同的任务类型,而每种任务类型下任务的难度系数也不同,因此,有些任务组由于任务的难度系数较低,聚集了大量的用户,导致用户冗余,而有些任务组由于任务复杂,因此接受任务的用户数较低,导致大量子任务堆积,无人处理。

在本发明中,通过计算的所述实时作业力,能够衡量一个任务组中当前任务的执行情况,以及当前是否存在多余的人力。

在本发明的至少一个实施例中,所述电子设备根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力包括:

所述电子设备计算每个任务组中的可分配用户数与待分配子任务数的商值,并将所述商值确定为每个任务组的实时作业力。

例如:当任务组a中的可分配用户数为100,待分配子任务数为50时,则所述任务组a的实时作业力为100/50=2。

通过上述计算方式,所述电子设备即可得到每个任务组的实时作业力。

s13,获取每个任务组预先配置的作业力警戒线。

在本发明的至少一个实施例中,所述作业力警戒线能够反映出每个任务组中可分配用户数与待分配子任务数的最低比例。

具体地,当某个任务组的作业力低于该任务组的作业力警戒线时,需要增加该任务组的用户数,以保证该任务能够按时按量完成。

在本发明的至少一个实施例中,在获取每个任务组预先配置的作业力警戒线前,所述方法还包括:

所述电子设备采用网络爬虫技术爬取历史作业数据,并基于回归分析法,以所述历史作业数据构建回归模型,所述电子设备进一步采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

可以理解的是,基于回归分析法构建所述回归模型,能够对所述历史作业数据进行线性拟合,进而得到一段更有规律且更具有参考价值的线性关系,进一步采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

s14,对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果。

其中,所述对比结果包括以下两种:

(1)实时作业力高于或者等于作业力警戒线。

(2)实时作业力低于作业力警戒线。

需要说明的是,所述对比结果能够反映出每个任务组的实时作业力与对应作业力警戒线的高低。

可以理解的是,当实时作业力高于或者等于作业力警戒线时,说明该任务组的作业力较强,而当实时作业力低于作业力警戒线时,说明该任务组的作业力较弱。

进一步地,针对作业力较弱的任务组,所述电子设备需要调整该任务组的任务分配情况,以使更多的子任务被处理,而对于作业力较强的任务组,所述电子设备可以利用较强的任务组辅助较弱的任务组进行任务分配,进而达到作业力的均衡,具体任务分配方式将在后文进行详细阐述。

s15,根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组。

在本发明的至少一个实施例中,所述作业力富余任务组是指所有子任务都有人处理,并且存在富余人力的任务组,所述作业力短缺任务组是指现有作业人员不足以处理该任务组中的所有子任务的任务组。

在本发明的至少一个实施例中,所述电子设备根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组包括:

(1)当实时作业力高于或者等于作业力警戒线时,所述电子设备确定该任务组为所述作业力富余任务组。

(2)当实时作业力低于作业力警戒线时,所述电子设备确定该任务组为所述作业力短缺任务组。

可以理解的是,所述作业力富余任务组的数量及所述作业力短缺任务组的数量分别可以是一个或者多个,具体以实际计算结果确定。

进一步地,针对所述作业力富余任务组及所述作业力短缺任务组,所述电子设备也将配置不同的任务分配方式。

s16,计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力。

在本发明的至少一个实施例中,所述总富余力表征了所述作业力富余任务组的实际富余人数,属于对富余力的量化,相应地,所述总短缺力表征了所述作业力短缺任务组的实际短缺人数,属于对短缺力的量化。

在本发明的至少一个实施例中,所述电子设备计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力包括:

所述电子设备采用下述公式计算所述作业力富余任务组中每个作业力富余任务组的富余力:

其中,aui表示第i个作业力富余任务组的富余力(i为大于0的正整数),pui表示第i个作业力富余任务组的可分配用户数,pti表示第i个作业力富余任务组的待分配子任务数,表示第i个作业力富余任务组的作业力警戒线;

进一步地,所述电子设备计算每个富余力的累加和,得到所述总富余力。

所述电子设备采用下述公式计算所述作业力短缺任务组中每个作业力短缺任务组的短缺力:

其中,luj表示第j个作业力短缺任务组的短缺力(j为大于0的正整数),puj表示第j个作业力短缺任务组的可分配用户数,ptj表示第j个作业力短缺任务组的待分配子任务数,表示第j个作业力短缺任务组的作业力警戒线;

进一步地,所述电子设备计算每个短缺力的累加和,得到所述总短缺力。

具体地,通过roundup()函数,能够对所述总富余力及所述总短缺力进行进位,得到正整数,该正整数能够表示用户数量。

通过上述实施方式,所述电子设备即可计算得到所述总富余力及所述总短缺力,以便对众包平台的整体作业情况及人员分配情况进行量化,更加直观,便于相关工作人员查看。

s17,根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

在本发明的至少一个实施例中,为了均衡众包平台的整体作业力,所述电子设备将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,以减少富余人员及冗余任务。

具体地,所述电子设备根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组包括:

当所述总富余力大于或者等于所述总短缺力时,所述电子设备从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户,进一步将抽取的可分配用户转移至所述作业力短缺任务组。

可以理解的是,由于所述总富余力大于或者等于所述总短缺力,说明所述作业力富余任务组的可分配用户完全可以满足所述作业力短缺任务组的剩余任务对于用户的需要,因此,所述电子设备只要从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户,并将抽取的可分配用户转移至所述作业力短缺任务组,即可使所述作业力短缺任务组中的所有子任务被处理。

相应地,所述电子设备根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组还包括:

当所述总富余力小于所述总短缺力时,所述电子设备将每个作业力短缺任务组按照短缺力进行排序,进一步地,所述电子设备按照短缺力由高到低的顺序,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,直至所述作业力富余任务组没有可分配用户。

可以理解的是,由于所述总富余力小于所述总短缺力,说明所述作业力富余任务组的可分配用户不完全满足所述作业力短缺任务组的剩余任务对于用户的需要,因此,所述电子设备优先从所述作业力富余任务组中抽取可分配用户,并将抽取的可分配用户转移至短缺力最高的作业力短缺任务组,以此类推,直至所述作业力富余任务组没有可分配用户。

例如:假设众包平台x上有4个任务组p1、p2、p3、p4,在某个需调整作业用户的时间点的实时作业力如下表所示:

由上表可以得出,出现作业用户短缺的任务组是p2和p4,且整体来看,p2和p4短缺的作业用户总量(即总短缺力)为39,小于p1和p3富余用户总量(即总富余力)44。因此,所述电子设备可以先从p1的121位可分配用户中随机抽取30位,将其中26位分配到短缺比例最高的p4中,再将剩下4位分配到p2中,此时,p2还缺少9位作业用户,所述电子设备再从p3的可分配用户中随机抽取9人分配到p2中进行作业。

通过上述实施方式,所述电子设备能够优先填补人力最短缺的任务组,进而实现对作业力的均衡处理。

由以上技术方案可以看出,所述众包任务分配方法能够当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,并确定每个任务组中的待分配子任务数及可分配用户数,进而根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力,获取每个任务组预先配置的作业力警戒线,并对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果,再根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组,计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力,进一步根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,从而根据富余力及短缺力自动平衡不同任务类型的任务组间的作业力分配,有效解决了众包平台用户分布不均的问题,进而优化系统负载分配,提升任务处理效率。

如图2所示,是本发明众包任务分配装置的较佳实施例的功能模块图。所述众包任务分配装置11包括获取单元110、确定单元111、计算单元112、对比单元113、转移单元114、爬取单元115、构建单元116以及处理单元117。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

当接收到众包任务分配指令时,获取单元110每隔预设时间间隔获取所有任务组。

其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务。

在本发明的至少一个实施例中,所述众包任务分配指令可以由配置人员触发,也可以由所述电子设备定时触发,本发明不限制。

其中,所述配置人员可以包括,但不限于:众包平台的相关工作人员、众包平台的指定用户等。

在本发明的至少一个实施例中,所述预设时间间隔可以进行自定义配置,本发明不限制。例如:所述预设时间间隔可以包括24小时等。

确定单元111确定每个任务组中的待分配子任务数及可分配用户数。

在本发明的至少一个实施例中,所述待分配子任务数是指需要处理的,但是还没有用户接收的子任务的总量。

在本发明的至少一个实施例中,所述可分配用户数是指处于空闲状态,且能够处理任务的用户的总量。

在本发明的至少一个实施例中,所述确定单元111可以采用数据库查询语句从众包平台的所有运行数据中进行查询,进而将查询到的数据确定为每个任务组中的待分配子任务数及可分配用户数。

例如:对于mysql数据库,所述确定单元111可以采用sql语句查询每个任务组中的待分配子任务数及可分配用户数。

计算单元112根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力。

可以理解的是,由于每个任务组属于不同的任务类型,而每种任务类型下任务的难度系数也不同,因此,有些任务组由于任务的难度系数较低,聚集了大量的用户,导致用户冗余,而有些任务组由于任务复杂,因此接受任务的用户数较低,导致大量子任务堆积,无人处理。

在本发明中,通过计算的所述实时作业力,能够衡量一个任务组中当前任务的执行情况,以及当前是否存在多余的人力。

在本发明的至少一个实施例中,所述计算单元112根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力包括:

所述计算单元112计算每个任务组中的可分配用户数与待分配子任务数的商值,并将所述商值确定为每个任务组的实时作业力。

例如:当任务组a中的可分配用户数为100,待分配子任务数为50时,则所述任务组a的实时作业力为100/50=2。

通过上述计算方式,所述计算单元112即可得到每个任务组的实时作业力。

所述获取单元110获取每个任务组预先配置的作业力警戒线。

在本发明的至少一个实施例中,所述作业力警戒线能够反映出每个任务组中可分配用户数与待分配子任务数的最低比例。

具体地,当某个任务组的作业力低于该任务组的作业力警戒线时,需要增加该任务组的用户数,以保证该任务能够按时按量完成。

在本发明的至少一个实施例中,在获取每个任务组预先配置的作业力警戒线前,爬取单元115采用网络爬虫技术爬取历史作业数据,构建单元116基于回归分析法,以所述历史作业数据构建回归模型,处理单元117进一步采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

可以理解的是,基于回归分析法构建所述回归模型,能够对所述历史作业数据进行线性拟合,进而得到一段更有规律且更具有参考价值的线性关系,进一步采用广义最小二乘法处理所述回归模型,得到每个任务组的作业力警戒线。

对比单元113对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果。

其中,所述对比结果包括以下两种:

(1)实时作业力高于或者等于作业力警戒线。

(2)实时作业力低于作业力警戒线。

需要说明的是,所述对比结果能够反映出每个任务组的实时作业力与对应作业力警戒线的高低。

可以理解的是,当实时作业力高于或者等于作业力警戒线时,说明该任务组的作业力较强,而当实时作业力低于作业力警戒线时,说明该任务组的作业力较弱。

进一步地,针对作业力较弱的任务组,需要调整该任务组的任务分配情况,以使更多的子任务被处理,而对于作业力较强的任务组,可以利用较强的任务组辅助较弱的任务组进行任务分配,进而达到作业力的均衡,具体任务分配方式将在后文进行详细阐述。

所述确定单元111根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组。

在本发明的至少一个实施例中,所述作业力富余任务组是指所有子任务都有人处理,并且存在富余人力的任务组,所述作业力短缺任务组是指现有作业人员不足以处理该任务组中的所有子任务的任务组。

在本发明的至少一个实施例中,所述确定单元111根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组包括:

(1)当实时作业力高于或者等于作业力警戒线时,所述确定单元111确定该任务组为所述作业力富余任务组。

(2)当实时作业力低于作业力警戒线时,所述确定单元111确定该任务组为所述作业力短缺任务组。

可以理解的是,所述作业力富余任务组的数量及所述作业力短缺任务组的数量分别可以是一个或者多个,具体以实际计算结果确定。

进一步地,针对所述作业力富余任务组及所述作业力短缺任务组,也将配置不同的任务分配方式。

所述计算单元112计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力。

在本发明的至少一个实施例中,所述总富余力表征了所述作业力富余任务组的实际富余人数,属于对富余力的量化,相应地,所述总短缺力表征了所述作业力短缺任务组的实际短缺人数,属于对短缺力的量化。

在本发明的至少一个实施例中,所述计算单元112计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力包括:

所述计算单元112采用下述公式计算所述作业力富余任务组中每个作业力富余任务组的富余力:

其中,aui表示第i个作业力富余任务组的富余力(i为大于0的正整数),pui表示第i个作业力富余任务组的可分配用户数,pti表示第i个作业力富余任务组的待分配子任务数,表示第i个作业力富余任务组的作业力警戒线;

进一步地,所述计算单元112计算每个富余力的累加和,得到所述总富余力。

所述计算单元112采用下述公式计算所述作业力短缺任务组中每个作业力短缺任务组的短缺力:

其中,luj表示第j个作业力短缺任务组的短缺力(j为大于0的正整数),puj表示第j个作业力短缺任务组的可分配用户数,ptj表示第j个作业力短缺任务组的待分配子任务数,表示第j个作业力短缺任务组的作业力警戒线;

进一步地,所述计算单元112计算每个短缺力的累加和,得到所述总短缺力。

具体地,通过roundup()函数,能够对所述总富余力及所述总短缺力进行进位,得到正整数,该正整数能够表示用户数量。

通过上述实施方式,所述计算单元112即可计算得到所述总富余力及所述总短缺力,以便对众包平台的整体作业情况及人员分配情况进行量化,更加直观,便于相关工作人员查看。

转移单元114根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

在本发明的至少一个实施例中,为了均衡众包平台的整体作业力,所述转移单元114将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,以减少富余人员及冗余任务。

具体地,所述转移单元114根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组包括:

当所述总富余力大于或者等于所述总短缺力时,所述转移单元114从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户,进一步将抽取的可分配用户转移至所述作业力短缺任务组。

可以理解的是,由于所述总富余力大于或者等于所述总短缺力,说明所述作业力富余任务组的可分配用户完全可以满足所述作业力短缺任务组的剩余任务对于用户的需要,因此,所述转移单元114只要从所述作业力富余任务组中随机抽取与所述总短缺力数量一致的可分配用户,并将抽取的可分配用户转移至所述作业力短缺任务组,即可使所述作业力短缺任务组中的所有子任务被处理。

相应地,所述转移单元114根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组还包括:

当所述总富余力小于所述总短缺力时,所述转移单元114将每个作业力短缺任务组按照短缺力进行排序,进一步地,所述转移单元114按照短缺力由高到低的顺序,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,直至所述作业力富余任务组没有可分配用户。

可以理解的是,由于所述总富余力小于所述总短缺力,说明所述作业力富余任务组的可分配用户不完全满足所述作业力短缺任务组的剩余任务对于用户的需要,因此,所述转移单元114优先从所述作业力富余任务组中抽取可分配用户,并将抽取的可分配用户转移至短缺力最高的作业力短缺任务组,以此类推,直至所述作业力富余任务组没有可分配用户。

例如:假设众包平台x上有4个任务组p1、p2、p3、p4,在某个需调整作业用户的时间点的实时作业力如下表所示:

由上表可以得出,出现作业用户短缺的任务组是p2和p4,且整体来看,p2和p4短缺的作业用户总量(即总短缺力)为39,小于p1和p3富余用户总量(即总富余力)44。因此,所述转移单元114可以先从p1的121位可分配用户中随机抽取30位,将其中26位分配到短缺比例最高的p4中,再将剩下4位分配到p2中,此时,p2还缺少9位作业用户,所述转移单元114再从p3的可分配用户中随机抽取9人分配到p2中进行作业。

通过上述实施方式,所述转移单元114能够优先填补人力最短缺的任务组,进而实现对作业力的均衡处理。

由以上技术方案可以看出,当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,并确定每个任务组中的待分配子任务数及可分配用户数,进而根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力,获取每个任务组预先配置的作业力警戒线,并对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果,再根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组,计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力,进一步根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组,从而根据富余力及短缺力自动平衡不同任务类型的任务组间的作业力分配,有效解决了众包平台用户分布不均的问题,进而优化系统负载分配,提升任务处理效率。

如图3所示,是本发明实现众包任务分配方法的较佳实施例的电子设备的结构示意图。

在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如众包任务分配程序。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器13可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。

所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个众包任务分配方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14、s15、s16、s17。

或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务;确定每个任务组中的待分配子任务数及可分配用户数;根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力;获取每个任务组预先配置的作业力警戒线;对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果;根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组;计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力;根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、确定单元111、计算单元112、对比单元113、转移单元114、爬取单元115、构建单元116以及处理单元117。

所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据等)等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如fifo(firstinfirstout,)等。或者,所述存储器12也可以是具有实物形式的存储器,如内存条、tf卡(trans-flashcard)等等。

所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)。

结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种众包任务分配方法,所述处理器13可执行所述多个指令从而实现:当接收到众包任务分配指令时,每隔预设时间间隔获取所有任务组,其中,每个任务组的任务类型不同,且每个任务组中包括多个子任务;确定每个任务组中的待分配子任务数及可分配用户数;根据每个任务组中的待分配子任务数及可分配用户数计算每个任务组的实时作业力;获取每个任务组预先配置的作业力警戒线;对比每个任务组的实时作业力及每个任务组的作业力警戒线,得到对比结果;根据所有任务组的所述对比结果,从所述所有任务组中确定作业力富余任务组及作业力短缺任务组;计算所述作业力富余任务组的总富余力,及所述作业力短缺任务组的总短缺力;根据所述总富余力及所述总短缺力,将所述作业力富余任务组的可分配用户转移至所述作业力短缺任务组。

具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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