參與感知系統及其任務分配方法
【專利摘要】本發明提供一種參與感知系統及其任務分配方法,是一種在線的感知任務分配系統及方法,即一旦任務到達,系統立即將新任務分配給當前已分配任務總完成時間最短的成員設備去完成,使得成員設備間總的工作時間的最大值與最小值的差距最小,可部署和實施性更強,適用于大規模參與感知系統的部署和運行。
【專利說明】參與感知系統及其任務分配方法
【技術領域】
[0001]本發明涉及數據感知【技術領域】,尤其涉及一種參與感知系統及其任務分配方法。【背景技術】
[0002]隨著移動設備的廣泛流行,利用智能手機進行數據感知已經成為一種新的、重要的數據收集和共享模式。許多基于智能手機數據感知技術的應用大量涌現。例如智能交通、定位、環境監控和人群統計,等等。典型的參與感知系統結構如圖1所示,系統有一個中心平臺和一組智能手機組成。中心平臺位于云端,它接收來著系統用戶(user)的感知服務請求(sensing requests),并將這些請求分配給成員手機。成員手機接收到任務后,按照任務要求的時間完成感知任務(sensing tasks),然后將感知到的數據(sensing data)返回給中心平臺,最終,中心平臺將數據(data)轉回給系統用戶。
[0003]現有技術中,任務分配問題的研究多在眾包市場(crowdsourcing market)領域,比如亞馬遜土耳其機器人(Amazon Mechanical Turk),它是一個Web服務應用程序接口(API),開發商通過它可以將人的智能整合到遠程過程調用(RPC)。亞馬遜土耳其機器人調用那些計算機很難完成但“人工的人工智能”卻能很容易執行的任務。執行人工智能任務(HIT)的人可能會被要求寫產品描述,對移動語音搜索查詢作出回應或選擇某一主題的最佳照片等等。它的工作過程包括:當請求者提出一個要求,應用程序就會將這一請求發送到執行任務的人;執行任務的人就會對此作出應答,然后服務器將回應傳給請求者。土耳其工人的工資是按成功完成人工智能任務來計算的。亞馬遜(Amazon)通過收取成功完成請求者人工智能任務的百分之十的價格來獲利。
[0004]還有,發表在AAAI, 2012 年的文獻 Online task assignment in crowdsourcingmarkets中記載的任務分配原理如下:假設任務是現有存在的,而任務完成者(worker)的到來則是動態的,并且每個完成者對完成的任務具有不同的技能,動態把任務完成者分配給每個任務,并最大化任務發布者的利益。
[0005]顯然,現有技術中的感知系統在考慮任務分配的同時并未考慮最大化節省總的能耗并且使得分配公平的問題。找到節能、公平的感知任務分配方案面臨著很多挑戰。首先,如何在智能手機的節能和公平性保證這兩個目標之間取得權衡。其次,一旦智能手機的個數或者需要調度分配的任務個數變大,那么采用暴力窮舉法帶來的時間復雜度將會非常大。最后,在真實環境中,任務的到來可以是任意時間,因此,在任務調度中任務到來的不確定性又增加了調度的難度。
[0006]由此可見,如何解決任務分配過程中的節能,并且同時保證各個成員手機之間的能耗公平性是一個亟待解決的問題。
【發明內容】
[0007]本發明的目的在于提供一種參與感知系統的任務分配系統及方法和數據感知系統,能夠任務分配過程中實現節能,并且保證任務執行端的各個成員設備之間的能耗公平性。
[0008]為解決上述問題,本發明提出一種參與感知系統的任務分配方法,包括以下步驟:
[0009](a)初始化,清空任務執行端的每個成員設備的已分配任務列表;
[0010](b)接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備;
[0011](C)將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行;
[0012](d)將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間;
[0013](e)接收另一新任務,重復步驟(b)至(d),直到不再接收新任務為止。
[0014]進一步的,所述任務執行端的每個成員設備能夠同時執行多個任務。
[0015]進一步的,在步驟(b)中,所述確定當前已分配任務的總完成時間最小的成員設備的過程包括:
[0016]保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間;
[0017]計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間;
[0018]比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
[0019]進一步的,在步驟(b)中,當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,則比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,確定增量最小的成員設備;在步驟(C)中,將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差。
[0020]進一步的,所述成員設備為智能移動設備。
[0021]本發明還提供一種參與感知系統,包括請求端、服務器端和任務執行端,所述請求端包括至少一個請求設備,用于向所述服務器端發送任務以及從服務器端接收任務執行端返回的執行結果;所述服務器端接收所述請求端的任務,向所述任務執行端分配任務以及接收任務執行端返回的執行結果;所述任務執行端包括多個成員設備,用于并行執行所述服務器端分配來的任務,其中,所述服務器端包括:
[0022]初始化模塊,用于清空任務執行端的每個成員設備的已分配任務列表,實現系統初始化;
[0023]查詢模塊,用于在服務器端接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備;
[0024]分配模塊,用于將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行;
[0025]更新模塊,用于將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間。
[0026]進一步的,所述查詢模塊包括:[0027]存儲單元,用于保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間;
[0028]計算單元,用于計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間;
[0029]比較單元,用于比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
[0030]進一步的,所述計算單元還用于當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,所述分配模塊將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差。
[0031]進一步的,所述成員設備為智能移動設備。
[0032]與現有技術相比,本發明提供的參與感知系統及其任務分配方法,具有以下有益效果:
[0033]1、實現一種在線參與感知方式,可部署和實施性更強,適用于規模大的參與感知系統;
[0034]2、本發明通過合理分配到來的新任務,在保證智能手機等智能成員設備節能的前提下,使得任務執行端的成員設備總的工作時間的最大值與最小值的差距最小;
[0035]3、本發明適用于感知任務分配問題,執行任務時滿足同時段的任務在同一成員設備上可并行執行,提高了執行任務的有效性和優越性。
【專利附圖】
【附圖說明】
[0036]圖1是現有技術中一種參與感知系統結構的示意圖;
[0037]圖2是本發明具體實施例的參與感知系統的任務分配方法流程圖;
[0038]圖3本發明具體實施例的參與感知系統的任務分配方法流程圖;
[0039]圖4本發明具體實施例的參與感知系統的框架圖。
【具體實施方式】
[0040]為使本發明的目的、特征更明顯易懂,下面結合附圖對本發明的【具體實施方式】作進一步的說明,然而,本發明可以用不同的形式實現,不應認為只是局限在所述的實施例。
[0041]本發明提出一種基于數據感知系統中節能的、公平的感知任務的分配方法。本發明設計的是在線的感知任務分配方法,即任務可以在任何時間到達任務感知系統,一旦任務到達,則系統必須立即將任務分配給某個成員設備(如智能手機等)去完成。任務的規格要求任務完成者完成具體某段時間內的數據感知。來自不同用戶的同類任務如果時間重疊則可以在同一成員設備上并行完成。
[0042]為了更好的刻畫分配過程中節能和公平性這兩個相對的目標,本發明提出一種新的目標:最小化成員設備(如智能手機)中總工作時間的最大值。我們假設任務對成員設備無區分,即成員設備能完成任何一種任務。
[0043]請參考圖2,本發明提出一種參與感知系統的任務分配方法,包括以下步驟:[0044](a)初始化,清空任務執行端的每個成員設備的已分配任務列表;
[0045](b)接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備;
[0046](C)將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行;
[0047](d)將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間;
[0048](e)接收另一新任務,重復步驟(b)至(d),直到不再接收新任務為止。
[0049]其中,在步驟(b)中,所述確定當前已分配任務的總完成時間最小的成員設備的過程包括:
[0050]保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間;
[0051]計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間;
[0052]比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
[0053]進一步的,在步驟(b)中,當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,則比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,確定增量最小的成員設備;在步驟(C)中,將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差,即成員設備分配所述新任務前后的當前已分配任務的總完成時間之差。
[0054]請參考圖3,下面以成員設備為智能手機為例,詳細說明本發明的任務分配方法,具體包括:
[0055]首先,系統初始化,清空每個成員智能手機的任務列表;
[0056]接著,系統感知新任務并分配新任務,每個智能手機執行已分配任務,當第t個新任務P到來時,執行以下步驟:
[0057]步驟一:計算每個智能手機當前已分配任務的總完成時間,記為廣1 ;
[0058]步驟二:判斷是否存在多個智能手機的當前已分配任務的總完成時間相同且最小,若無,則執行步驟五;若有,則執行步驟三;
[0059]步驟三:計算將任務f分配給每個智能手機后,各智能手機的新的當前已分配任務的總完成時間It,進一步計算每部智能手機被分配任務rt前后的當前已分配任務的總完成時間的增量D,即D=It-1t-1;
[0060]步驟四:將任務f分配給增量D最小的智能手機;
[0061]步驟五:將任務P分配給當前已分配任務的總完成時間廣1最小的智能手機;
[0062]步驟六:將任務P插入分配到的智能手機的已分配任務列表中,并更新智能手機的當前已分配任務的總完成時間;
[0063]步驟七:判斷系統接收的任務均分配完畢,若是,結束;若否,重復步驟一至七,直到分配結束。
[0064]在實際應用中,感知任務通常需要感知某段時間的數據,比如收集上海虹橋區下午3點到5點的空氣質量數據。不同的感知任務可以同時被同一部智能手機一起執行,即分配到同一部智能手機上的任務可以并行執行。系統感知到該收集任務,此時系統計算每個智能手機當前已分配任務的總完成時間,將該收集任務分配給當前已分配任務的總完成時間最小的智能手機來執行,當存在多個智能手機的當前已分配任務的總完成時間相同且最小時,計算將該收集任務分配給每個智能手機前后,各智能手機的當前已分配任務的總完成時間的增量,將該收集任務分配給增量最小的智能手機來執行,將該收集任務插入該智能手機的已分配任務列表中,并更新該智能手機的當前已分配任務的總完成時間。
[0065]由此可見,本發明提供的一種參與感知系統的任務分配方法,是一種在線的感知任務分配方法,即一旦任務到達,系統立即將新任務分配給當前已分配任務總完成時間最短的成員設備去完成,進而使得成員設備總的工作時間的最大值與最小值的差距最小,可部署和實施性更強,適用于大規模參與感知系統的部署和運行。
[0066]請參考圖4,本發明還提供一種參與感知系統,包括請求端、服務器端和任務執行端,所述請求端包括至少一個請求設備,用于向所述服務器端發送任務以及從服務器端接收任務執行端返回的執行結果;所述服務器端接收所述請求端的任務,向所述任務執行端分配任務以及接收任務執行端返回的執行結果;所述任務執行端包括多個成員設備,用于并行執行所述服務器端分配來的任務,其中,所述服務器端包括:
[0067]初始化模塊,用于清空任務執行端的每個成員設備的已分配任務列表,實現系統初始化;
[0068]查詢模塊,用于在服務器端接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備;
[0069]分配模塊,用于將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行;
[0070]更新模塊,用于將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間。
[0071]其中,所述查詢模塊包括:
[0072]存儲單元,用于保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間;
[0073]計算單元,用于計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間;
[0074]比較單元,用于比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
[0075]進一步的,所述計算單元還用于當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,所述分配模塊將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差。
[0076]綜上所述,本發明提供一種參與感知系統及其任務分配方法,是一種在線的感知任務分配系統及方法,即一旦任務到達,系統立即將新任務分配給當前已分配任務總完成時間最短的成員設備去完成,使得成員設備總的工作時間的最大值與最小值的差距最小,可部署和實施性更強,適用于大規模參與感知系統的部署和運行。
[0077]顯然,本領域的技術人員可以對發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種參與感知系統的任務分配方法,其特征在于,包括以下步驟: Ca)初始化,清空任務執行端的每個成員設備的已分配任務列表; (b)接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備; (C)將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行; (d)將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間; (e)接收另一新任務,重復步驟(b)至(d),直到不再接收新任務為止。
2.如權利要求1所述的參與感知系統的任務分配方法,其特征在于,所述任務執行端的每個成員設備能夠同時執行多個任務。
3.如權利要求2所述的參與感知系統的任務分配方法,其特征在于,在步驟(b)中,所述確定當前已分配任務的總完成時間最小的成員設備的過程包括: 保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間; 計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間; 比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
4.如權利要求3所述的參 與感知系統的任務分配方法,其特征在于,在步驟(b)中,當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,則比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,確定增量最小的成員設備;在步驟(c)中,將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差。
5.如權利要求1所述的參與感知系統的任務分配方法,其特征在于,所述成員設備為智能移動設備。
6.一種參與感知系統,包括請求端、服務器端和任務執行端,所述請求端包括至少一個請求設備,用于向所述服務器端發送任務以及從服務器端接收任務執行端返回的執行結果;所述服務器端接收所述請求端的任務,向所述任務執行端分配任務以及接收任務執行端返回的執行結果;所述任務執行端包括多個成員設備,用于并行執行所述服務器端分配來的任務,其特征在于,所述服務器端包括: 初始化模塊,用于清空任務執行端的每個成員設備的已分配任務列表,實現系統初始化; 查詢模塊,用于在服務器端接收到一新任務時,查詢任務執行端每個成員設備的當前已分配任務的總完成時間,從中確定當前已分配任務的總完成時間最小的成員設備; 分配模塊,用于將所述新任務分配到所述當前已分配任務的總完成時間最小的成員設備來執行; 更新模塊,用于將所述新任務插入所述當前已分配任務的總完成時間最小的成員設備的已分配任務列表,并更新其當前已分配任務的總完成時間。
7.如權利要求6所述的參與感知系統,其特征在于,所述查詢模塊包括:存儲單元,用于保存任務執行端的各個成員設備分別執行完各自當前每一項已分配任務的完成時間; 計算單元,用于計算任務執行端每個成員設備執行完各自當前所有已分配任務的總完成時間; 比較單元,用于比較任務執行端所有成員設備的當前已分配任務的總完成時間,找出當前已分配任務的總完成時間最小的成員設備。
8.如權利要求7所述的參與感知系統,其特征在于,所述計算單元還用于當任務執行端的多個成員設備的當前已分配任務的總完成時間相同且最小時,比較假定將所述新任務分配給每個成員設備后每個成員設備的當前已分配任務的總完成時間的增量,所述分配模塊將所述新任務分配給增量最小的成員設備,所述增量為成員設備已分配所述新任務后的當前已分配任務的總完成時間與其未分配所述新任務時的當前已分配任務的總完成時間的差。
9.如權利要求6所述 的參與感知系統,其特征在于,所述成員設備為智能移動設備。
【文檔編號】G06F9/50GK103514048SQ201310483266
【公開日】2014年1月15日 申請日期:2013年10月15日 優先權日:2013年10月15日
【發明者】趙晴雯, 朱燕民 申請人:上海交通大學