一种面向自组织群智感知系统的在线任务分派方法与流程

文档序号:11519417阅读:392来源:国知局
一种面向自组织群智感知系统的在线任务分派方法与流程

本发明涉及群智感知领域,尤其涉及一种面向自组织群智感知系统的在线任务分派方法。



背景技术:

近些年,随着电子技术和通讯技术的发展,智能手机已经完全地融入了人们的生活。由于智能手机通常集成多种传感器,例如:加速度传感器、陀螺仪、亮度传感器、全球定位系统(gps)等。这些传感器在大多数时间都处于空闲状态,因此可以将它们在群智感知系统中加以利用,一方面,参与者能通过执行任务获得收益,另一方面,不需要安装额外的专用传感器即可以采集到数据,降低了设备开销。群智感知的概念是由raghuk.ganti在2011年提出的,由请求者向云端提出请求,云通过招募大量智能移动设备在请求者要求的区域和时间段内采集数据和计算,从而完成任务,这种收集模式能被广泛地应用于路况监控,环境监控以及室内定位导航等方面。全球市场研究机构trendforce的研究报告指出,2016年全球智能手机的出货量将达到13.4亿支,这意味着有大量的手机用户能够参与到群智感知系统中,因此群智感知成为了新兴起的研究方向和应用模式。

现在广泛研究的群智感知系统主要由三部分组成:请求者,云管理控制平台和参与者。请求者将希望通过群智感知完成的任务传输到云端;云管理控制平台查看现有的已登录的参与者的性能,应用调度算法选择合适的参与者,然后利用无线机会网络通知被选择的参与者并且将任务发送给他们;参与者完成任务后同样利用无线机会网络向云端返回结果,云管理控制平台再将结果返回给请求者;请求者向云管理控制平台支付酬劳,由其向参与者发放他们应该获得的报酬。虽然,云管理控制平台拥有大量的处理能力,能够快速完成复杂度高的调度算法,但是这种群智感知系统同样会带来不可避免的缺陷,主要有如下三点:一、参与者与云管理控制平台之间的通讯都是经过机会网络,如果附近没有无线wifi接入点或者参与者没有打电话(无法携带式传输数据)就会带来实时性差的缺点。二、云管理控制平台没有广告机制,不能针对任务的特殊性招募合适的参与者,只能被动地在已经登录的参与者中进行挑选,因此可能带来采集结果低效的缺点。三、现在的群智感知系统是中央化的并且有平台特殊性,因此灵活性和鲁棒性都受到限制。

考虑到现在主流的群智感知系统的以上三个缺点,2015年一种面向自组织网络的群智感知系统应运而生,这种系统只包含两个组成部分:请求者r和参与者p。r和p在无线局域网中的交互过程如图1所示,在r向p发送任务描述(1)并且p确认有足够的处理能力且同意r所提供的酬劳(2)后,r执行调度算法确定是否选择p为自己完成任务,如果p被r所选择,则r向p发送需要完成的任务(3),待p完成后返回结果(4),r向p支付酬金(5)。在这种只由请求者和参与者组成的系统中,请求者所持有的计算资源远没有云管理控制平台那么多,因此如何选择合适的调度算法即为系统实现的关键。

然而,面向自组织网络的群智感知系统的调度算法并没有得到应有的关注。mingjunxiao等人的文献中提出了在此种群智感知架构中的多任务放置算法,包括离线放置算法和在线放置算法,该算法采用贪心的策略并证明这种策略能实现任务平均执行时间最少。但是,在这篇文献中,每个任务并没有副本也没有考虑参与者是否可信,当执行某个任务的参与者只想获得酬金而不愿真正执行任务,并且为了蒙蔽请求者而给出错误的结果时,请求者并没有机制能保证结果的正确性。

因此,需要找出一种适合于自组织网络的群智感知系统的任务分派方法,该方法能够兼顾选择信誉度高的参与者和在多副本情况下尽可能地减少任务的平均执行时间两个目标,以达到避免上述调度算法的缺陷的目的。



技术实现要素:

本发明的目的在于提供一种面向自组织网络的群智感知系统的在线任务分派方法,结合移动社交网络中人群移动轨迹的特性,实现兼顾选择信誉度高的参与者和在多副本情况下尽量减少任务的平均处理时间。

本发明提供的技术方案为:

一种面向自组织群智感知系统的在线任务分派方法,包括如下步骤:

步骤一:根据移动社交网络中的历史信息,按照信誉度值对将遇到的所有参与者进行排序,并计算所有参与者的信誉度的平均值;

步骤二:通过比较参与者信誉度和所述平均值的关系,将大于信誉度平均值的参与者放入候选者集合;

步骤三:计算候选者集合中参与者个数;

若参与者个数小于任务副本数,则向候选者集合内补充信誉度高的参与者,达到候选者集合内参与者个数与任务副本数相同;

若参与者个数大于任务副本数,通过比较参与者与请求者的间隔时间对候选者进行筛选,采用分层求解方法,以得到信誉度高和当前执行时间小的参与者;

步骤四:按照贪心策略,为每个任务副本选择合适的候选者,从而决定目前相遇的参与者上的任务副本集合。

优选的是,所述步骤一中的参与者按照信誉值降序排列。

优选的是,所述步骤一任务分派的过程中,每个参与者的信誉度值保持不变。

优选的是,所述步骤三中包括:

a.将经过步骤一排序后的参与者存入集合cr中,计算集合cr中所有参与者的信誉度平均值,并将信誉度大于等于信誉度平均值的参与者存入集合g中;

b.比较参与者集合g中的元素个数|g|和所有副本个数sumc,其中,m为请求者提交的任务个数,cq表示第q个任务的副本个数;

c.若|g|≥sumc,进一步设置筛选条件,采用分层求解方法,以得到信誉度高和当前执行时间小的参与者;

若|g|<sumc,增加参与者个数,将参与者集合cr中前sumc-|g|个元素放入g中。

优选的是,所述分层求解方法,包括:

首先,计算g中前sumc个元素的相遇间隔时间的平均值mave,并且设置一个集合prcan,初始情况下所述集合prcan为空集;

然后.从g中第sumc+1个元素开始寻找相遇间隔时间小于等于mave的元素,将它们放入prcan集合中,并按相遇间隔时间的升序排序;然后将它们从g中删除;

接着,按照相遇间隔时间的降序排列g中的参与者,依次扫描g中的元素的相遇间隔时间,当扫描到某个参与者的相遇间隔时间大于mave且当且prcan集合不为空时,将这个参与者与prcan中相遇间隔时间最小的参与者替换,同时删去prcan中的当前参与者;

最后,将g中所有的元素放入候选者集合can中,候选者集合can中存放的是经过挑选的信誉度高的参与者。

优选的是,在步骤四中的贪心策略,包括:

a.为can集合中每个候选者设置初始化值,并将它的初始执行时间设置为它与请求者之间的相遇间隔时间,并且其上放置的任务集设置为空集,按照执行时间,对参与者进行排序;

b.然后,将所有任务副本按照它们的处理时间从小到大排序,存放在集合js中,并将处理时间最短的任务放到当前执行时间最短的参与者上;

c.计算参与者的当前执行时间,即为初始执行时间与任务处理时间之和,并重新按照当前执行时间对参与者进行排序;

d.仍将处理时间最短的任务放到当前执行时间最短的参与者上;最终只有被分配到当前相遇的候选者上的任务副本能够真正被分派到移动设备上,其它任务仍然留在请求者任务队列里;当遇到其他候选者时,重新执行该在线分派方法,为遇到的候选者分派任务。

优选的是,在步骤a中,如果相遇的参与者已被选为候选者,则将它的初始执行时间设置为零,即将处理的任务副本集合设置为空集;对于还没有相遇的候选者来说,初始执行时间设置为这个候选者和请求者之间的相遇间隔时间,并且即将处理的任务副本集合初始设置为空集。

优选的是,在步骤b中,任务的描述方式是其处理时间,无论该任务被放到哪个参与者上,所述处理时间都是相同的。

优选的是,对所有任务副本按照处理时间从小到大排序,依照候选者当前的执行时间,按升序排列候选者。

本发明的有益效果是:本发明提出的一种面向自组织群智感知系统的在线任务分派方法,与现有技术相比,该方法不仅考虑减少任务平均执行时间,还考虑多任务副本和选择信誉度高的参与者以保证任务结果正确性,在提高任务结果质量的前提下缩减任务的平均执行时间。

附图说明

图1是面向自组织网络的群智感知系统中请求者和参与者交互示意图。

图2是本发明的一种面向自组织网络的群智感知系统的在线调度方法的流程图。

图3是根据历史信息选择信誉度高于平均值的参与者的流程图。

图4是根据历史信息选择合适的参与者作为候选者的流程图

图5是将任务副本放置到相遇的候选者上的流程图。

图6是请求者根据参与者的信誉度值和相遇间隔时间进行任务分派的实施例。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

本发明提供了一种面向自组织网络的群智感知系统的在线任务分派方法,具体包括以下步骤:

步骤一:根据历史信息,按照信誉度值的降序对即将遇到的所有参与者排序,计算所有参与者的信誉度的平均值。

在本轮任务分派的过程中,每个参与者的信誉度值保持不变,因为信誉度的改变发生在参与者完成任务后,根据其执行的结果情况增加或降低其信誉度值。

根据移动社交网络中的历史记录,请求者能够知道即将与之相遇的参与者,请求者和参与者的相遇间隔时间服从参数为λi的指数分布,其中i为参与者的索引号。

步骤二:设置选择信誉度高的参与者的条件,将满足条件的参与者放入候选者集合。

其中,候选者的个数最多为所有任务的副本数的和,因为最多需要这些数目的候选者即可确保完成所有的任务及其副本;当平均信誉度值过小,从而导致候选者数目过少时,候选者的数目也可以少于所有任务副本数的总和,代价是增加任务的平均执行时间。

步骤三:查看当前遇到的参与者是否为候选者,如果是候选者,继续执行该方法,否则丢弃当前参与者,等待下一个即将遇到的参与者。

如果相遇的参与者已被选为候选者,则将它的初始执行时间设置为零,它的即将处理的任务副本集合设置为空集;对于还没有相遇的候选者来说,它们的初始执行时间设置为这个候选者和请求者之间的相遇间隔时间,它们的即将处理的任务副本集合初始设置为空集。

步骤四:按照贪心策略,为每个任务副本选择合适的候选者,从而决定目前相遇的候选者上的任务副本集合,该策略的目的是尽量减少所有任务的平均执行时间。

对于候选者的选择需要根据信誉度高和当前执行时间小两个目标,求解多目标问题采用分层求解的思想。任务的描述方式是其处理时间,这是因为任务类型是多种多样的,但是它们都可以用处理时间描述。

首先,对所有任务副本按照处理时间从小到大排序,并且依照候选者当前的执行时间,按升序排列候选者。然后,根据贪心策略,将当前处理时间最短的任务分配到目前执行时间最短的移动设备上,前提是这个移动设备没有执行该任务的任何副本。由于是在线算法,最终只有被分配到当前相遇的候选者上的任务副本能够真正被分派到移动设备上,其它任务仍然留在请求者的任务队列里。当遇到其他候选者时,重新执行该在线分派方法,为遇到的候选者分派任务。

具体过程如下:首先,为面向自组织网络的群智感知系统建模:

考虑有(n+1)个智能手机用户的群智感知系统,其中包括一个请求者r和n个参与者,参与者集合为p={p1,p2,…,pi…,pn},请求者r提交了m个任务,则任务集合为j={j1,j2,…,jq…jm},由于智能设备被广泛使用的特性,我们假设n远远大于m。

对于每个任务来说,按照它们不同的质量要求,它们的副本数也不同,我们以cq表示第q个任务的副本个数,则第q个任务的第k个副本的处理时间设置为tqk,所有任务副本的集合可以表示为:

其中,同一个任务的所有副本的处理时间都是一致的,因此,可以将原来的放置任务集合j的问题转化成放置所有任务副本js的问题,但是需要添加两个约束条件,第一,每个参与者只能执行同一个的任务的一个副本;第二,每个副本只能被放置一次。本方法的目的是找到一种合适的放置任务副本的策略x,在结果正确的情况下尽可能地减少所有任务的平均执行时间。

综上所述,可以将任务副本放置问题形式化成如下目标和约束条件:

f1(x)=max∑(aui×xiqk)

xiqk={0,1}

其中,xiqk表示是否将第q个任务的第k个副本放到参与者i上,如果决定放置任务,则xiqk的值为1;否则为0。放置策略x={x1,x2,…,xi,…,xn},xi代表在第i个参与者上放置的任务副本集合。aui是第i个参与者的信誉度值。

考虑到请求者希望能在得到正确采集结果的前提下尽可能减少任务的平均执行时间,我们采用求解多目标问题中的分层求解的思想,因此,第一个目标的优先级高于第二个目标。

如图3和图4所示,步骤一和步骤二为完成第一个目标所做的工作,具体的流程如下:

步骤一:先根据历史信息,对请求者即将遇到的所有参与者按照它们的信誉度值的降序进行排序并存入集合cr中,如果两个参与者的信誉度值相同,将相遇间隔时间少的参与者排在前面的位置,并且计算所有参与者的信誉度的平均值aave。

步骤二:设置选择信誉度高的参与者的条件,将满足条件的参与者放入候选者集合。

具体的,先将信誉度大于等于aave的参与者存入集合g中,并从cr集合中删除这些参与者,比较g集合中的元素个数|g|和所有副本个数sumc,其中,

进一步的,若|g|≥sumc,说明有足够的信誉度高的参与者,可以从中挑选与请求者相遇间隔时间短的参与者,其过程如下:

首先,计算g中前sumc个元素的相遇间隔时间的平均值mave,并且设置一个集合prcan备用,初始情况下prcan为空集;

然后,从g中第(sumc+1)个元素开始寻找相遇间隔时间小于等于mave的元素,将它们放入prcan集合中,并按相遇间隔时间的升序排序;然后,无论该参与者的相遇间隔时间是否小于等于mave,都将该元素从g中删除;接着,按照相遇间隔时间的降序排列g中的参与者;

然后,依次扫描g中的元素的相遇间隔时间,当扫描到某个参与者的相遇间隔时间大于mave且当且prcan集合不为空时,将这个参与者与prcan中当前参与者替换,同时删去prcan中的当前参与者;

最后,将g中所有的元素放入候选者集合can中,can中存放的是经过挑选的信誉度高的参与者。

进一步的,若|g|<sumc,说明需要放宽参与者的信誉度的要求,增加参与者的个数,其过程如下:首先,将g中所有元素都添加到候选者集合can中;然后,将cr集合中前(sumc-|g|)个元素放入g中。此时,can中存放的是经过放宽条件后挑选的信誉度高的参与者。

步骤三:查找当前遇到的参与者是否为候选者,如果是候选者,继续执行步骤四,否则丢弃当前参与者,等待下一个即将遇到的参与者。该步骤的目的是保证每一个被分配任务的参与者都在候选者范围内,有足够的信誉度值。

步骤四:依照贪心策略,为每个任务副本选择合适的候选者,从而决定将哪些任务副本放到目前相遇的参与者上,该策略的目的是尽量减少所有任务的平均执行时间。

具体的,如图5所示,对于当前相遇的候选者pi,它的初始执行时间设置为0,其上放置的任务集为空集,并且,将这个候选者从候选者集合can中删除;为can集合中每个候选者设置初始化值,将它的初始执行时间设置为它与请求者之间的相遇间隔时间,并且其上放置的任务集设置为空集。

进一步的,将所有任务副本按照它们的处理时间从小到大排序,存放在集合js中,所以js中第一个任务副本为目前还没有分发出去的任务副本中处理时间最小的。由于同一个任务的所有副本,它们的处理时间都相同,因此存在当前还没有分派出去的任务副本中有多个任务副本处理时间相同的情况。

进一步的,顺序扫描js中的所有任务副本,制定放置策略,欲将当前任务副本jqk放到包括pi和can集合中的某个候选者上。从pi和can集合中选出目前执行时间最短的候选者p′,并且p′没有执行任务jq的任何副本,在策略中,将jqk添加到p′的任务队列xp′中,并且这个候选者的执行时间需要增加tqk,接着继续扫描js中的任务副本。如果在can集合中有多个候选者的目前执行时间相同,则从中挑选出信誉度最好的候选者放置任务。

进一步的,将策略中预放到pi中的任务副本放到pi上,其余任务副本仍保存在请求者队列中,等待下一个相遇的候选者。当遇到下一个候选者时,重新执行该在线任务分派方法,为这个候选者分派任务。

综合上述步骤,本发明方法根据即将相遇的参与者的历史数据,选择出信誉度高且有足够能力的参与者,从而提高系统鲁棒性;由请求者自行完成任务分派的工作,无需通过云管理控制平台,并且在任务结果正确的情况下尽可能地减少任务平均执行时间,从而提高系统实时性。

如图6所示,实施例1:本发明是一种面向自组织群智感知系统的在线任务分派方法,用以执行由请求者直接向参与者分派任务的过程。在本实施例中,着重介绍请求者如何根据参与者信誉度值和相遇间隔时间选择合适的参与者完成任务。

请求者r有三个任务,其中c1=3,c2=1,c3=2,且t1=2,t2=6,t3=9,则任务副本集合js={j11,j12,j13,j21,j31,j32}。根据历史数据,有8个参与者即将到达,他们的信誉度值和相遇间隔时间分别是{{0.5,2.5},{0.6,2},{0.4,3.5},{0.9,1},{0.8,2.5},{0.7,1.5},{0.5,4},{0.6,1}}。

首先,按照信誉度值排序参与者,按序存入集合cr中,则cr={p4,p5,p6,p2,p8,p1,p7,p3};计算平均信誉度值:

则g集合中包括p4,p5,p6三个参与者,少于任务副本数的总数,因此将g集合中所有参与者存入can集合后,将p2,p8,p1加入can集合中,can集合中的元素{p4,p5,p6,p2,p8,p1}即为候选者,假定候选者到达的顺序依次为p6,p4,p2,p5,p8,p1。

如图6所示,按照贪心算法的思想制定将任务副本放到候选者上的策略。当p6到达时,则将它的初始执行时间设置为0,按初始执行时间从小到大的顺序排序can集合中的参与者,则参与者的顺序为p6,p4,p8,p2,p5,p1,根据贪心的思想,总是将处理时间最短的任务放到当前执行时间最短的参与者上,将j11放在p6上,此时,p6的执行时间为t1=2,而p4和p8的执行时间为其相遇间隔时间,即为1,因此,参与者的顺序为:p4,p8,p6,p2,p5,p1。当前p4和p8的执行时间最短,所以分别将j12和j13放在p4和p8上。此时,p4和p8,的执行时间变为7,目前,按照执行时间升序排序can集合中参与者的顺序为p6,p2,p5,p1,p4,p8,因此将j21分配给p6,则p6的执行时间增加为8。目前,按照执行时间升序排序can集合中参与者的顺序为p2,p5,p1,p4,p8,p6,所以j31和j32分别被分配到p2和p5上。经过上述过程可得到图6中的第一个图。因为p6已经与请求者相遇,所以将任务j11和j21分派到p6上,即x6={j11,j21},并且can集合中将不再包含p6,但是在本次执行贪心策略的过程中,其它未相遇的候选者不予分派任务。以此类推,每当有can集合中的参与者到达时,执行一次贪心策略,可得到

x4={j12,j31},x2={j13},x5={j32},x8=x1=φ

综上所述,本发明能够适应由请求者自行组织的群智感知系统,并且在结果正确的前提下,尽可能较少任务的平均执行时间。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

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