本發(fā)明涉及終端技術(shù)領(lǐng)域,尤其涉及一種廣播接收者的管理方法、裝置及終端。
背景技術(shù):
android系統(tǒng)中廣播是一種廣泛運用在應用程序之間傳輸信息的機制,android中的廣播用于監(jiān)聽系統(tǒng)事件或應用程序事件。
在android系統(tǒng)中,一些應用在后臺通過接收各種各樣的廣播消息進行自啟動或者執(zhí)行其他操作。在一些應用接收廣播消息時,由于應用本身可能在執(zhí)行一些耗時的操作或者應用本身出現(xiàn)卡頓的情況,導致接收到的廣播消息無法及時處理,甚至有些應用對廣播還會超時處理,影響廣播的后續(xù)分發(fā),穩(wěn)定性差。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種廣播接收者的管理方法、裝置及終端,可以優(yōu)化廣播接收者處理廣播的順序,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
第一方面,本發(fā)明實施例提供了一種廣播接收者的管理方法,包括:
接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者;
獲取所述廣播接收者處理所述廣播消息的歷史參數(shù);
基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
第二方面,本發(fā)明實施例還提供了一種廣播接收者的管理裝置,包括:
廣播消息發(fā)送模塊,用于接收廣播發(fā)送者發(fā)送的廣播消息,將所述廣播消息發(fā)送給廣播接收者;
第一獲取模塊,用于獲取所述廣播接收者處理所述廣播消息的歷史參數(shù);
第一調(diào)整模塊,用于基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
第三方面,本發(fā)明實施例還提供了一種終端,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者;
獲取所述廣播接收者處理所述廣播消息的歷史參數(shù);
基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
本發(fā)明實施例提供的技術(shù)方案,通過廣播接收者處理廣播消息的歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播的順序,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖;
圖2是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖;
圖3是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖;
圖4是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖;
圖5是本發(fā)明一個實施例提供的一種廣播接收者的管理裝置結(jié)構(gòu)框圖;
圖6是本發(fā)明一個實施例提供的一種終端的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
圖1是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖,所述方法由一種廣播接收者的管理裝置來執(zhí)行,所述裝置由軟件和/或硬件來執(zhí)行,所述裝置配置在諸如手機等終端中。
如圖1所示,本實施例提供的技術(shù)方案包括:
s110:接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者。
在廣播處理過程中,廣播發(fā)送者的服務進程通過調(diào)用廣播發(fā)送函數(shù)(如sendbroadcast函數(shù))將廣播消息發(fā)送至廣播管理模塊(如activitymanagerservice,活動管理服務),廣播管理模塊接收到該廣播消息后將其放入廣播發(fā)送隊列,廣播管理模塊通過進程通信機制(如binder進程通信機制)將廣播發(fā)送隊列中的廣播消息發(fā)送至符合接收條件的廣播接收者。
在廣播機制中,廣播消息指的是系統(tǒng)或者應用程序在運行過程中發(fā)送的,用于系統(tǒng)和/或應用程序之間傳輸?shù)男畔?。示例性的,廣播消息可以是系統(tǒng)啟動廣播消息、短信類廣播消息、電話類廣播消息或者三方應用類廣播消息等。
s120:獲取所述廣播接收者處理所述廣播消息的歷史參數(shù)。
其中,廣播接收者處理廣播消息的歷史參數(shù)包括處理廣播消息的歷史超時次數(shù)、處理廣播消息的歷史時間,處理廣播消息累加的歷史超時時間或者處理廣播消息對應的動態(tài)時間閾值,其中,動態(tài)時間閾值用于判斷處理廣播消息是否超時。并且廣播接收處理廣播消息的歷史參數(shù)并不局限于上述的參數(shù)形式。
其中,廣播接收者處理廣播消息的歷史超時次數(shù)可以是廣播接收者在預設(shè)時間段內(nèi)或者預設(shè)次數(shù)內(nèi)處理廣播消息的歷史超時次數(shù)。
在本實施例中,在預設(shè)時間段內(nèi)廣播接收者可以處理一個廣播消息,也可以處理多個廣播消息,為了確定每個廣播接收者處理廣播消息的快慢,對預設(shè)時間段進行設(shè)置,以使廣播接收者處理多個廣播消息。因此,每個廣播接收者在處理多個廣播消息時,超時次數(shù)可能是多次,也可能是0次。
在本實施例中,對于廣播接收者處理廣播消息的超時次數(shù)是通過標識的超時次數(shù)而獲得。廣播管理模塊是終端系統(tǒng)中的一個功能模塊,在廣播管理模塊中創(chuàng)建一個變量,采用該變量標識超時次數(shù),根據(jù)標識的超時次數(shù)而獲得超時次數(shù)。
對于廣播接收者處理廣播消息是否超時通過如下的方式:判斷廣播接收者處理廣播消息的時間是否大于設(shè)定時間閾值;如果是,判定廣播接收者處理廣播消息超時。當廣播接收者處理廣播消息超時時,對該廣播接收者處理廣播消息的超時次數(shù)進行標識。
其中,廣播接收者處理廣播消息的歷史平均時間可以是廣播接收者在預設(shè)時間段內(nèi)處理廣播消息的歷史平均時間,或者也可以是廣播接收者在預設(shè)次數(shù)內(nèi)處理廣播消息的歷史平均時間。
其中,歷史超時時間是廣播接收者在預設(shè)時間段內(nèi)或者預設(shè)次數(shù)內(nèi)處理廣播消息的時間超出一設(shè)定時間閾值的時間,該設(shè)定時間閾值可以固定不變,也可以隨超時次數(shù)的變化而變化。累加的歷史超時時間是將每次超過一設(shè)定時間閾值的時間進行相加,并求和獲得的時間。
其中,動態(tài)時間閾值是指當廣播接收者處理廣播消息的時間大于動態(tài)時間閾值時,判斷該廣播接收者處理廣播消息超時。其中,動態(tài)時間閾值基于初始設(shè)定值、歷史超時次數(shù)以及時間增幅值進行確定,其中,時間增幅值為每增加設(shè)定數(shù)量的超時次數(shù),動態(tài)時間閾值的增加量。
s130:基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
在本實施例中,對于注冊同一廣播消息的廣播接收者而言,當廣播消息下發(fā)時,廣播接收者以隊列的方式進行排序,并按照順序處理廣播消息。
本實施例中,基于歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序可以包括,基于所述歷史參數(shù)將廣播接收者進行排序,以調(diào)整廣播接收者處理廣播消息的順序。例如,歷史參數(shù)若為累加的超時時間,將廣播接收者按照累加的超時時間從少到多進行排序,以調(diào)整廣播接收者處理廣播消息的順序。
可選的,基于歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序還可以包括:若廣播接收者處理廣播消息的歷史參數(shù)符合設(shè)定條件,調(diào)整廣播接收者在廣播接收者隊列中的順序;若廣播接收者處理廣播消息的歷史參數(shù)不符合設(shè)定條件,對廣播接收者的順序不進行調(diào)整。其中設(shè)定條件包括累加的超時時間超過第一預設(shè)時間閾值,歷史平均時間超過第二預設(shè)時間閾值,歷史超時次數(shù)超過預設(shè)次數(shù)閾值,或者動態(tài)時間閾值首次超過第三預設(shè)時間閾值等。
需要說明的是,基于歷史參數(shù)調(diào)整廣播接收者在廣播接收隊列中的順序并不局限于上述的方式,還可以包括其他方式。
本實施例中,通過廣播接收者處理廣播消息的歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播的順序,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
圖2是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖,當歷史參數(shù)包括歷史超時次數(shù)時,獲取所述廣播接收者處理所述廣播消息的歷史參數(shù),包括:獲取所述廣播接收者處理所述廣播消息的歷史超時次數(shù);所述基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序,包括:將所述廣播接收者按照歷史超時次數(shù)從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
如圖2所示,本實施例提供的技術(shù)方案包括:
s210:接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者。
s220:獲取所述廣播接收者處理所述廣播消息的歷史超時次數(shù)。
在本實施例中,廣播接收者處理廣播消息的歷史超時次數(shù)是指在當前之前處理廣播消息的超時次數(shù),可以是預設(shè)時間段內(nèi)廣播接收者處理廣播消息的歷史超時次數(shù),也可以是廣播接收者在其他條件下處理廣播消息的歷史超時次數(shù)。
在本實施例中,當廣播接收者處理廣播消息的時間大于設(shè)定的固定時間閾值時,歷史超時次數(shù)增加一次。例如,設(shè)定的固定時間閾值為10s,當廣播接收者處理廣播消息的時間大于10s時,廣播接收者處理廣播消息的超時次數(shù)增加一次。
或者當廣播接收者處理廣播消息的時間大于動態(tài)時間閾值時,歷史超時次數(shù)增加一次,其中,動態(tài)時間閾值基于初始設(shè)定值、歷史超時次數(shù)以及時間增幅值進行確定,時間增幅值為每增加設(shè)定數(shù)量的超時次數(shù),動態(tài)時間閾值的增加量。
例如,每增加一次歷史超時次數(shù),動態(tài)時間閾值在上一次處理廣播消息時對應動態(tài)時間閾值的基礎(chǔ)上增加1s,采用公式表述為:t=c×t0+t1。其中,t1為動態(tài)時間閾值的初始設(shè)定值,c為歷史超時次數(shù),t0為時間增幅值,即為1。若動態(tài)時間閾值的初始設(shè)定值為10s,若歷史超時次數(shù)為1次,動態(tài)時間閾值為:1×1+10=11s,即在初始設(shè)定值的基礎(chǔ)上增加1s,為11s。若再次處理廣播消息的時間小于11s,則不超時,若處理廣播消息的時間大于11s,則超時,歷史超時次數(shù)增加1次。時間增幅值或者也可以是每增加兩次超時次數(shù),在上一次處理廣播消息時對應的動態(tài)時間閾值的基礎(chǔ)上增加1s,或者還可以是其他形式。
并且通過歷史超時次數(shù)和時間增幅值確定動態(tài)時間閾值,能夠合理控制廣播接收者處理廣播消息的超時次數(shù)。
s230:將所述廣播接收者按照歷史超時次數(shù)從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
其中,按照歷史超時次數(shù)從少到多將廣播接收者進行排序,能夠使歷史超時次數(shù)較少的廣播接收者先處理廣播消息。
例如,廣播接收者分別依次是a,b,c,其中,a的歷史超時次數(shù)是3次,b的歷史超時次數(shù)是0次,c的歷史超時次數(shù)是2次。將a,b,c三個廣播接收者按照歷史超時次數(shù)從少到多進行排序。調(diào)整之后廣播接收者的順序是b,c,a,由于b的歷史超時次數(shù)較少,能夠使b先處理分發(fā)的廣播消息,避免了處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響。
在上述實施例的基礎(chǔ)上,當歷史參數(shù)包括歷史超時次數(shù)時,基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序還可以包括:當所述歷史超時次數(shù)超過第一設(shè)定閾值時,在廣播接收者隊列中,將歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者調(diào)整到歷史超時次數(shù)未超過第一設(shè)定閾值的廣播接收者之后,且歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者按照歷史超時次數(shù)從少到多依次排列,以調(diào)整所述廣播接收者處理廣播消息的順序。若歷史超時次數(shù)沒有超過第一設(shè)定閾值,對廣播接收者的順序不進行調(diào)整。
當歷史超時次數(shù)超過第一設(shè)定閾值時,對上述調(diào)整廣播接收者在廣播接收者隊列中的順序的方法進行舉例說明。例如,若第一設(shè)定閾值為5次,廣播接收者分別依次是a,b,c,其中,a的歷史超時次數(shù)是3次,b的歷史超時次數(shù)是0次,c的歷史超時次數(shù)是2次。由于a,b,c三個廣播接收者處理廣播消息的歷史超時次數(shù)沒有達到5次,所以a,b和c三個廣播接收者的順序可以不進行調(diào)整,按照原來的順序處理廣播消息。
又如,若第一設(shè)定閾值為1次,a和c處理廣播消息的歷史超時次數(shù)超過第一設(shè)定閾值,將歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者(a,c)調(diào)整到歷史超時次數(shù)未超過第一設(shè)定閾值的廣播接收者(b)之后,且歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者按照超時次數(shù)從少到多依次排序。由于c的歷史超時次數(shù)小于a的歷史超時次數(shù),故c在a之前,因此,a,b,c三個廣播接收者的調(diào)整之后的順序依次為b,c,a。
本實施例中,通過廣播接收者處理廣播消息的歷史超時次數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播消息的順序,合理控制廣播接收者處理對廣播消息,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
圖3是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖,當歷史參數(shù)包括歷史平均時間時,獲取所述廣播接收者處理所述廣播消息的歷史參數(shù),包括:獲取所述廣播接收者處理所述廣播消息的歷史平均時間;所述基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序,包括:將所述廣播接收者按照歷史平均時間從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
如圖3所示,本實施例提供的技術(shù)方案包括:
s310:接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者。
s320:獲取所述廣播接收者處理所述廣播消息的歷史平均時間。
在本實施例中,歷史平均時間的計算方法為:將廣播接收者在預設(shè)時間段內(nèi)或者預設(shè)次數(shù)內(nèi)處理廣播消息的時間相加,再除以處理的廣播消息的數(shù)量。
s330:將所述廣播接收者按照歷史平均時間從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
本實施例中,將廣播接收者按照歷史平均時間從少到多的順序在廣播接收者隊列中排序,能夠使歷史平均時間較短的廣播接收者先處理廣播消息,提高廣播消息的處理速度。
在上述實施例的基礎(chǔ)上,當歷史參數(shù)包括歷史平均時間時,基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序還可以包括:當所述歷史平均時間超過第二預設(shè)時間閾值時,調(diào)整廣播接收者在廣播接收者隊列中的順序,當所述歷史平均時間未超過第二預設(shè)時間閾值時,對廣播接收者在廣播接收者隊列中的順序不進行調(diào)整。
本實施例中,通過廣播接收者處理廣播消息的歷史平均時間調(diào)整廣播接收者在廣播接收作者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播消息的順序,合理控制廣播接收者處理對廣播消息,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
圖4是本發(fā)明一個實施例提供的一種廣播接收者的管理方法流程圖,當歷史參數(shù)包括動態(tài)時間閾值時;獲取所述廣播接收者處理所述廣播消息的歷史參數(shù),包括:獲取所述廣播接收者處理所述廣播消息對應的動態(tài)時間閾值;所述基于所述歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序,包括:將所述廣播接收者按照對應的動態(tài)時間閾值從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
如圖4所示,本實施例提供的技術(shù)方案包括:
s410:接收廣播發(fā)送者發(fā)送的廣播消息,并將所述廣播消息發(fā)送給廣播接收者。
s420:獲取所述廣播接收者處理所述廣播消息對應的動態(tài)時間閾值。
其中,動態(tài)時間閾值用于判斷所述廣播接收者處理廣播消息是否超時;動態(tài)時間閾值基于獲取的歷史超時次數(shù)、時間增幅值以及初始設(shè)定值進行確定。
廣播接收者處理廣播消息的歷史超時次數(shù)與動態(tài)時間閾值相對應。因此,廣播接收者處理廣播消息時基于歷史超時次數(shù)與動態(tài)時間閾值對應。例如,廣播接收者處理廣播消息的超時次數(shù)為0,對應的是動態(tài)時間閾值的初始設(shè)定值。即若廣播接收者處理廣播消息的超時次數(shù)為0,判斷處理廣播消息是否超時基于處理廣播消息的時間與動態(tài)時間閾值的初始設(shè)定值進行確定。
s430:將所述廣播接收者按照對應的動態(tài)時間閾值從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
在本實施例中,將廣播接收者按照對應的動態(tài)時間閾值從少到多的順序在廣播接收者隊列中排序,能夠使對應的動態(tài)時間閾值較少的廣播接收者先處理廣播消息,提高廣播消息的處理速度。
在上述實施例的基礎(chǔ)上,當歷史參數(shù)包括動態(tài)時間閾值時,基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序還可以包括:當動態(tài)時間閾值首次超過第三預設(shè)時間閾值時,調(diào)整廣播接收者在廣播接收者隊列中的順序,當所述動態(tài)時間閾值首次未超過第三預設(shè)時間閾值時,對廣播接收者在廣播接收者隊列中的順序不進行調(diào)整。
其中,動態(tài)時間閾值的初始設(shè)定值小于第三預設(shè)時間閾值;第三預設(shè)時間閾值為固定值。由于動態(tài)時間閾值隨歷史超時次數(shù)而變化,因此,存在動態(tài)時間閾值大于第三預設(shè)時間閾值的情況。例如,動態(tài)時間閾值的初始設(shè)定值為5s,第三預設(shè)時間閾值為10s,若每超時次數(shù)增加一次,動態(tài)時間閾值增加1s,當超時次數(shù)達到6次時,動態(tài)時間閾值為11s,首次超過第三預設(shè)時間閾值。
本實施例中,通過廣播接收者處理廣播消息對應的動態(tài)時間閾值調(diào)整廣播接收者在廣播接收者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播的順序,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
在上述各實施例的基礎(chǔ)上,當廣播接收者處理廣播消息的歷史參數(shù)包括:歷史超時次數(shù)、歷史平均時間或者動態(tài)時間閾值,廣播接收者的管理方法還包括:當目標廣播接收者處理廣播消息的歷史超時次數(shù)達到第二設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標廣播接收者廣播消息的數(shù)量;或者當目標廣播接收者處理廣播消息的歷史平均時間達到第三設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標廣播接收者廣播消息的數(shù)量;或者當目標廣播接收者處理廣播消息對應的動態(tài)時間閾值達到第四設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標接收者廣播消息的數(shù)量。
其中,所述動態(tài)時間閾值用于判斷廣播接收者處理廣播消息是否超時;所述動態(tài)時間閾值基于獲取的歷史超時次數(shù)、時間增幅值以及初始設(shè)定值進行確定??刂品职l(fā)給目標廣播接收者廣播消息的數(shù)量,具體的數(shù)量可根據(jù)需要進行設(shè)定,且分發(fā)給目標廣播接收者廣播消息的數(shù)量小于分發(fā)給非目標廣播接收者廣播消息的數(shù)量;或者禁止將廣播消息分發(fā)給目標廣播接收者。例如,當限制狀態(tài)的目標廣播接收者在后臺運行時,禁止將廣播消息發(fā)給后臺運行的目標廣播接收者。
由此,通過控制分發(fā)給限制狀態(tài)的目標廣播接收者廣播消息的數(shù)量,能夠避免處理速度較慢的廣播接收者對其他廣播接收者的影響,提高廣播消息的處理速度,減少超時次數(shù),保證系統(tǒng)的穩(wěn)定性。
在上述實施例的基礎(chǔ)上,廣播接收者的管理方法還包括:獲取限制狀態(tài)的目標廣播接收者的數(shù)量;若限制狀態(tài)的目標廣播接收者的數(shù)量與所述廣播接收者總數(shù)量的比例大于設(shè)定比例閾值,調(diào)整所述第二設(shè)定閾值、所述第三設(shè)定閾值或者所述第四設(shè)定閾值以控制限制狀態(tài)的目標廣播接收者的數(shù)量。
對于注冊了同一廣播消息的廣播接收者而言,為了避免對廣播消息不響應的情形,限制狀態(tài)的目標廣播接收者的數(shù)量需要進行控制。因此,若限制狀態(tài)的目標廣播接收者數(shù)量與廣播接收者總數(shù)量的比例大于設(shè)定比例閾值,調(diào)整第二設(shè)定閾值、第三設(shè)定閾值或者第四設(shè)定閾值以控制限制狀態(tài)的目標廣播接收者的數(shù)量,能夠合理控制廣播消息的分發(fā),避免出現(xiàn)廣播接收者不響應廣播消息的情形。
圖5是本發(fā)明一個實施例提供的一種廣播接收者的管理裝置結(jié)構(gòu)框圖,所述裝置用于執(zhí)行一種廣播接收者的管理方法,如圖5所示,所述裝置包括廣播消息發(fā)送模塊510、第一獲取模塊520和第一調(diào)整模塊530。
其中,廣播消息發(fā)送模塊510,用于接收廣播發(fā)送者發(fā)送的廣播消息,將所述廣播消息發(fā)送給廣播接收者;
第一獲取模塊520,用于獲取所述廣播接收者處理所述廣播消息的歷史參數(shù);
第一調(diào)整模塊530,用于基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
進一步的,所述歷史參數(shù)包括歷史超時次數(shù);
所述第一獲取模塊520,用于獲取所述廣播接收者處理所述廣播消息的歷史超時次數(shù);
所述第一調(diào)整模塊530,用于將所述廣播接收者按照歷史超時次數(shù)從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
進一步的,所述歷史參數(shù)包括歷史超時次數(shù);
所述第一獲取模塊520,用于獲取所述廣播接收者處理所述廣播消息的歷史超時次數(shù);
所述第一調(diào)整模塊530,用于當所述歷史超時次數(shù)超過第一設(shè)定閾值時,在所述廣播接收者隊列中,將歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者調(diào)整到歷史超時次數(shù)未超過第一設(shè)定閾值的廣播接收者之后,且歷史超時次數(shù)超過第一設(shè)定閾值的廣播接收者按照歷史超時次數(shù)從少到多依次排列,以調(diào)整所述廣播接收者處理廣播消息的順序。
進一步的,當所述廣播接收者處理所述廣播消息的時間大于設(shè)定時間固定值時,所述歷史超時次數(shù)增加一次;或者
當所述廣播接收者處理所述廣播消息的時間大于動態(tài)時間閾值時,所述歷史超時次數(shù)增加一次,其中,所述動態(tài)時間閾值基于初始設(shè)定值、所述歷史超時次數(shù)以及時間增幅值進行確定,所述時間增幅值為每增加設(shè)定數(shù)量的超時次數(shù),所述動態(tài)時間閾值的增加量。
進一步的,所述歷史參數(shù)包括歷史平均時間;
所述第一獲取模塊520,用于獲取所述廣播接收者處理所述廣播消息的歷史平均時間;
所述第一調(diào)整模塊530,用于將所述廣播接收者按照歷史平均時間從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序。
進一步的,所述歷史參數(shù)包括動態(tài)時間閾值;
所述第一獲取模塊520,用于獲取所述廣播接收者處理所述廣播消息對應的動態(tài)時間閾值;
所述第一調(diào)整模塊530,用于將所述廣播接收者按照對應的動態(tài)時間閾值從少到多的順序在所述廣播接收者隊列中依次排序,以調(diào)整處理廣播消息的順序;
其中,所述動態(tài)時間閾值用于判斷所述廣播接收者處理廣播消息是否超時;所述動態(tài)時間閾值基于獲取的歷史超時次數(shù)、時間增幅值以及初始設(shè)定值進行確定。
進一步的,所述歷史參數(shù)包括:歷史超時次數(shù)、歷史平均時間或者動態(tài)時間閾值;所述裝置還包括:
廣播消息分發(fā)控制模塊540,用于當目標廣播接收者處理廣播消息的歷史超時次數(shù)達到第二設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標廣播接收者廣播消息的數(shù)量;或者
當目標廣播接收者處理廣播消息的歷史平均時間達到第三設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標廣播接收者廣播消息的數(shù)量;或者
當目標廣播接收者處理廣播消息對應的動態(tài)時間閾值達到第四設(shè)定閾值時,設(shè)置所述目標廣播接收者為限制狀態(tài),并控制分發(fā)給所述目標接收者廣播消息的數(shù)量;
其中,所述動態(tài)時間閾值用于判斷廣播接收者處理廣播消息是否超時;所述動態(tài)時間閾值基于獲取的歷史超時次數(shù)、時間增幅值以及初始設(shè)定值進行確定。
進一步的,所述裝置還包括:
第二獲取模塊550,用于獲取限制狀態(tài)的目標廣播接收者的數(shù)量;
第二調(diào)整模塊560,用于若限制狀態(tài)的目標廣播接收者的數(shù)量與所述廣播接收者總數(shù)量的比例大于設(shè)定比例閾值,調(diào)整所述第二設(shè)定閾值、第三設(shè)定閾值或者第四設(shè)定閾值以控制限制狀態(tài)的目標廣播接收者的數(shù)量。
本實施例提供的一種廣播接收者的管理裝置,通過廣播接收者處理廣播消息的歷史參數(shù)調(diào)整廣播接收者在廣播接收者隊列中的順序,能夠優(yōu)化廣播接收者處理廣播的順序,避免處理速度較慢的廣播接收者對處理速度較快的廣播接收者的影響,保障系統(tǒng)穩(wěn)定性。
本發(fā)明實施例提供了一種終端,該終端中可集成本發(fā)明實施例提供的廣播接收者的管理裝置。圖6為本發(fā)明一個實施例提供的一種終端的結(jié)構(gòu)示意圖。如圖6所示,該終端600可以包括:存儲器601、中央處理器(centralprocessingunit,cpu)602(又稱處理器,以下簡稱cpu)、觸摸屏612以及存儲在存儲器上并可在cpu上運行的計算機程序。所述觸摸屏612,用于將用戶操作轉(zhuǎn)換成電信號輸入至所述cpu,并顯示可視輸出信號;cpu602執(zhí)行計算機程序時實現(xiàn)以下步驟:接收廣播發(fā)送者發(fā)送的廣播消息,將獲取的廣播消息發(fā)送給廣播接收者;獲取所述廣播接收者處理所述廣播消息的歷史參數(shù);基于所述歷史參數(shù)調(diào)整所述廣播接收者在廣播接收者隊列中的順序。
所述終端600還包括:外設(shè)接口603、rf(radiofrequency,射頻)電路605、音頻電路606、揚聲器611、電源管理芯片608、輸入/輸出(i/o)子系統(tǒng)609、其他輸入/控制設(shè)備610以及外部端口604,這些部件通過一個或多個通信總線或信號線607來通信。
應該理解的是,圖示終端600僅僅是終端的一個范例,并且終端600可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個或多個信號處理和/或?qū)S眉呻娐吩趦?nèi)的硬件、軟件、或硬件和軟件的組合中實現(xiàn)。
下面就本實施例提供的集成有廣播接收者的管理裝置的終端進行詳細的描述,該終端以手機為例。
存儲器601,所述存儲器601可以被cpu602、外設(shè)接口603等訪問,所述存儲器601可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
外設(shè)接口603,所述外設(shè)接口603可以將設(shè)備的輸入和輸出外設(shè)連接到cpu602和存儲器601。
i/o子系統(tǒng)609,所述i/o子系統(tǒng)609可以將設(shè)備上的輸入輸出外設(shè),例如觸摸屏612和其他輸入/控制設(shè)備610,連接到外設(shè)接口603。i/o子系統(tǒng)609可以包括顯示控制器6091和用于控制其他輸入/控制設(shè)備610的一個或多個輸入控制器6092。其中,一個或多個輸入控制器6092從其他輸入/控制設(shè)備610接收電信號或者向其他輸入/控制設(shè)備610發(fā)送電信號,其他輸入/控制設(shè)備610可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號盤、滑動開關(guān)、操縱桿、點擊滾輪。值得說明的是,輸入控制器6092可以與以下任一個連接:鍵盤、紅外端口、usb接口以及諸如鼠標的指示設(shè)備。
觸摸屏612,所述觸摸屏612是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標、視頻等。
i/o子系統(tǒng)609中的顯示控制器6091從觸摸屏612接收電信號或者向觸摸屏612發(fā)送電信號。觸摸屏612檢測觸摸屏上的接觸,顯示控制器6091將檢測到的接觸轉(zhuǎn)換為與顯示在觸摸屏612上的用戶界面對象的交互,即實現(xiàn)人機交互,顯示在觸摸屏612上的用戶界面對象可以是運行游戲的圖標、聯(lián)網(wǎng)到相應網(wǎng)絡(luò)的圖標等。值得說明的是,設(shè)備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
rf電路605,主要用于建立手機與無線網(wǎng)絡(luò)(即網(wǎng)絡(luò)側(cè))的通信,實現(xiàn)手機與無線網(wǎng)絡(luò)的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,rf電路605接收并發(fā)送rf信號,rf信號也稱為電磁信號,rf電路605將電信號轉(zhuǎn)換為電磁信號或?qū)㈦姶判盘栟D(zhuǎn)換為電信號,并且通過該電磁信號與通信網(wǎng)絡(luò)以及其他設(shè)備進行通信。rf電路605可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、rf收發(fā)機、一個或多個放大器、調(diào)諧器、一個或多個振蕩器、數(shù)字信號處理器、codec(coder-decoder,編譯碼器)芯片組、用戶標識模塊(subscriberidentitymodule,sim)等等。
音頻電路606,主要用于從外設(shè)接口603接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號,并且將該電信號發(fā)送給揚聲器611。
揚聲器611,用于將手機通過rf電路605從無線網(wǎng)絡(luò)接收的語音信號,還原為聲音并向用戶播放該聲音。
電源管理芯片608,用于為cpu602、i/o子系統(tǒng)及外設(shè)接口所連接的硬件進行供電及電源管理。
本實施例提供的終端用于執(zhí)行上述各實施例所述的廣播接收者的管理方法,其技術(shù)原理和產(chǎn)生的技術(shù)效果類似,這里不再贅述。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。