本發(fā)明實施例涉及計算機技術(shù),尤其涉及一種廣播發(fā)送方法、裝置和終端設(shè)備。
背景技術(shù):
廣播是一種被廣泛運用的在應(yīng)用程序之間進行信息傳輸?shù)臋C制,以安卓操作系統(tǒng)為例,其通過廣播(broadcast)來實現(xiàn)應(yīng)用程序間數(shù)據(jù)的傳輸和共享。典型的,如安卓自帶的短信、電話等廣播。
在安卓系統(tǒng)中,廣播發(fā)送者通過調(diào)用sendbroadcast函數(shù)進行廣播消息的發(fā)送,廣播接收者通過調(diào)用registerreceiver函數(shù)在管理模塊中進行廣播接收器(broadcastreceiver)的注冊,并定義自身感興趣的廣播消息,由此來實現(xiàn)對相應(yīng)的廣播消息的接收。
現(xiàn)有技術(shù)中,廣播的發(fā)送過程存在的缺陷,使得廣播處理效率低下,系統(tǒng)資源消耗過多且穩(wěn)定性差。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種廣播發(fā)送方法、裝置和終端設(shè)備,提高了廣播處理效率,降低了系統(tǒng)資源消耗,增加了系統(tǒng)的穩(wěn)定性。
第一方面,本發(fā)明實施例提供了一種廣播發(fā)送方法,包括:
獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程;
確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程;
依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
第二方面,本發(fā)明實施例還提供了一種廣播發(fā)送裝置,包括:
獲取模塊,用于獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息;
第一發(fā)送進程確定模塊,用于確定所述當前待發(fā)送的廣播消息的發(fā)送進程;
第二發(fā)送進程確定模塊,用于確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程;
控制模塊,用于依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
第三方面,本發(fā)明實施例還提供了一種終端設(shè)備,包括:處理器、存儲器以及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程;
確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程;
依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
本發(fā)明實施例提供的技術(shù)方案,解決了現(xiàn)有的廣播發(fā)送時存在的缺陷,提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本發(fā)明實施例提供的一種廣播發(fā)送方法的流程圖;
圖2是本發(fā)明實施例提供的另一種廣播發(fā)送方法的流程圖;
圖3是本發(fā)明實施例提供的另一種廣播發(fā)送方法的流程圖;
圖4是本發(fā)明實施例提供的一種廣播發(fā)送裝置的結(jié)構(gòu)框圖;
圖5是本發(fā)明實施例提供的一種終端設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
圖1是本發(fā)明實施例提供的一種廣播發(fā)送方法的流程圖,本實施例可適用于系統(tǒng)中廣播的發(fā)送進行控制的情況,該方法可以由本發(fā)明實施例提供的終端設(shè)備來執(zhí)行,該終端設(shè)備的廣播發(fā)送裝置可采用軟件和/或硬件的方式實現(xiàn),如圖1所示,本實施例提供的具體方案如下:
s101、獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程。
廣播機制中,廣播消息指的是系統(tǒng)或者應(yīng)用程序在運行過程中發(fā)送的,用于系統(tǒng)和/或應(yīng)用程序之間傳輸?shù)男畔?,示例性的,廣播消息可以是系統(tǒng)啟動廣播消息、短信類廣播消息、電話類廣播消息或者三方應(yīng)用類廣播消息等。
在廣播處理過程中,廣播發(fā)送者的服務(wù)進程通過調(diào)用廣播發(fā)送函數(shù)(如sendbroadcast函數(shù))將廣播消息發(fā)送至管理模塊(如activitymanagerservice,活動管理服務(wù)),管理模塊接收到該廣播消息后將其放入廣播發(fā)送隊列,管理模塊通過進程通信機制(如binder進程通信機制)將廣播發(fā)送隊列中的廣播消息發(fā)送至符合接收條件的廣播接收者。
在一個實施例中,管理模塊對廣播發(fā)送隊列中的廣播消息依次進行發(fā)送。廣播發(fā)送者發(fā)送廣播消息的過程和廣播接收者接收廣播消息的過程是異步操作過程,廣播發(fā)送者和廣播接收者通過管理模塊實現(xiàn)低耦合的關(guān)系匹配。其中,根據(jù)廣播發(fā)送方式的不同可將廣播消息分為普通廣播消息和有序廣播消息。普通廣播消息被管理模塊發(fā)出后,廣播接收者對該廣播消息的接收是無序的,而有序廣播消息被管理模塊發(fā)出后,廣播接收者按照順序先后依次接收,即第一個廣播接收者接收到廣播消息并處理完畢后,第二個廣播接收者才能開始接收并處理該廣播消息,依次類推,本實施例限定在對有序廣播消息的處理進行控制。具體的,廣播接收者在接收廣播消息時,管理模塊可以對廣播接收器的注冊指令進行獲取,該廣播接收器的注冊指令由廣播接收者發(fā)出。通常,廣播接收者通過進程通信機制向管理模塊注冊(訂閱)想要接收的廣播消息。廣播接收者的服務(wù)進程通過調(diào)用registerreceiver函數(shù)在管理模塊中進行廣播接收器的注冊,同時定義自身感興趣的廣播消息,管理模塊在發(fā)送廣播發(fā)送隊列中的廣播消息時,依據(jù)廣播接收者的注冊情況,將該廣播消息發(fā)送至對其進行訂閱了的廣播接收者相應(yīng)的消息循環(huán)隊列中,廣播接收者接收到該廣播消息后回調(diào)注冊的廣播接收器中的接收方法(如onreceive方法)來執(zhí)行相應(yīng)的功能以對接收到的廣播消息進行處理。
在一個實施例中,對廣播發(fā)送隊列中當前待發(fā)送的廣播消息進行獲取,并確定該廣播消息對應(yīng)的廣播發(fā)送者的進程。當前待發(fā)送的廣播消息可以是廣播隊列中馬上要處理到的廣播消息(即已發(fā)送的廣播消息正在處理中,等該已發(fā)送的廣播消息處理完畢后,該當前待發(fā)送的廣播消息被處理)。具體的,廣播發(fā)送者在發(fā)出廣播消息時會啟動相應(yīng)的進程,進程指系統(tǒng)中的程序關(guān)于某數(shù)據(jù)集合上的運行活動,是系統(tǒng)進行資源分配和調(diào)度的基本單位,是系統(tǒng)結(jié)構(gòu)的組成基礎(chǔ),為應(yīng)用程序的基本執(zhí)行實體。以計數(shù)器應(yīng)用程序作為廣播發(fā)送者為例,其發(fā)送廣播消息的過程可表示為
//創(chuàng)建一個廣播消息
intentintent=newintent(broadcast_counter_action);
//傳遞計數(shù)器參數(shù)及對應(yīng)的計數(shù)值
intent.putextra(counter_value,counter);
//發(fā)送廣播消息
sendbroadcast(intent)
本實施例中,當獲取到的廣播消息為broadcast_counter_action時,確定出發(fā)送該廣播消息broadcast_counter_action使用的發(fā)送進程,示例性的,可以是對應(yīng)的進程id號。
s102、確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程。
在一個實施例中,獲取廣播隊列中已發(fā)送的廣播消息,依據(jù)已發(fā)送的廣播消息的內(nèi)容確定出對應(yīng)的發(fā)送該廣播消息的發(fā)送進程,具體過程如s101所述,此處不再贅述。
s103、依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
本步驟中,依據(jù)s101確定出的當前待發(fā)送的廣播消息對應(yīng)的發(fā)送進程和s102中確定出的已發(fā)送的廣播消息對應(yīng)的發(fā)送進程來最終確定是否發(fā)送當前待發(fā)送的廣播消息。
在一個實施例中,如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。該實施例中,由于當前待發(fā)送的廣播消息的發(fā)送進程和之前已發(fā)送的廣播消息的發(fā)送進程不同,可以及時的對待發(fā)送的廣播消息進行發(fā)送,而不必等待之前的廣播消息處理完畢后再進行發(fā)送,由此完成了有序廣播隊列的并行發(fā)送。
需要說明的是,在一個實施例中,方案為對廣播發(fā)送隊列進行控制處理,其中,可以是監(jiān)測到管理模塊依據(jù)廣播發(fā)送隊列中廣播消息的次序,在發(fā)出一個廣播消息后開始判斷當前待發(fā)送的廣播消息的進程。
本實施例提供的技術(shù)方案,通過獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程,確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程,依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者,解決了現(xiàn)有的有序廣播發(fā)送隊列中,需要等待已發(fā)送的廣播消息處理完畢才能執(zhí)行下一廣播消息發(fā)送帶來的廣播處理效率低下的問題,極大的縮短了廣播隊列的處理時間。
圖2是本發(fā)明實施例提供的另一種廣播發(fā)送方法的流程圖,在上述實施例的基礎(chǔ)上,在所述發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者之后,還包括:將所述已發(fā)送的廣播消息從所述廣播發(fā)送隊列中移除,并保存至數(shù)組中;接收到所述已發(fā)送的廣播消息的廣播接收者發(fā)送的反饋結(jié)果后,發(fā)送在所述數(shù)組中保存的已發(fā)送的廣播消息至對應(yīng)的下一廣播接收者。
基于上述優(yōu)化,如圖2所示,本實施例提供的技術(shù)方案具體如下:
s201、獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程,確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程。
s202、依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
s203、將所述已發(fā)送的廣播消息從所述廣播發(fā)送隊列中移除,并保存至數(shù)組中。
在一個實施例中,廣播消息被發(fā)出進行處理時,廣播隊列中保留著該正在處理的廣播消息,當廣播消息處理完畢得到反饋后,該廣播消息被廣播隊列移除。該實施例中,當確定出當前待發(fā)送的廣播消息的發(fā)送進程和已發(fā)送的廣播消息的發(fā)送進程不一致,則及時的發(fā)送出了該待發(fā)送的廣播消息進行廣播處理,此時,可選的,將已發(fā)送的還在廣播隊列中的廣播消息移除出廣播隊列,保存在數(shù)組中,該數(shù)組可以是新建數(shù)組,用于存放已發(fā)送的廣播消息。
s204、接收到所述已發(fā)送的廣播消息的廣播接收者發(fā)送的反饋結(jié)果后,發(fā)送在所述數(shù)組中保存的已發(fā)送的廣播消息至對應(yīng)的下一廣播接收者。
在一個實施例中,廣播接收者在處理完畢對應(yīng)的廣播消息后會反饋處理結(jié)果,接收到該處理的反饋結(jié)果后相應(yīng)的將廣播消息發(fā)送至下一廣播接收者進行處理。其中,廣播接收者接收廣播消息的注冊過程可表示為(以接收計數(shù)器發(fā)送的廣播消息為例):
//定義一個感興趣的廣播消息(訂閱廣播消息)
intentfiltercounteractionfilter=
newintentfilter(counterservice.broadcast_counter_action);
//進行廣播接收器的注冊
registerreceiver(counteractionreceiver,counteractionfilter)
當該廣播發(fā)送者發(fā)送的廣播消息(broadcast_counter_action)由管理模塊發(fā)出后,由于廣播接收者注冊了對應(yīng)的接收該廣播消息的廣播接收器,該廣播消息即會被對應(yīng)的廣播接收者接收、處理。
在一個實施例中,將已發(fā)送的廣播消息移除出廣播隊列,保存在新建數(shù)組中,接收到反饋結(jié)果后,從該新建數(shù)組中查詢對應(yīng)的廣播消息,在將該廣播消息發(fā)送至下一廣播接收者,完成了有序廣播隊列并行發(fā)送廣播消息的同時,使得針對每個廣播消息而言又是有序處理的,進一步優(yōu)化了廣播發(fā)送的處理方式,提高了廣播處理效率的同時保證了廣播消息處理的有序性。
圖3是本發(fā)明實施例提供的另一種廣播發(fā)送方法的流程圖,在上述實施例的基礎(chǔ)上,可選的,如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程相同,則不發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者;在所述廣播發(fā)送隊列中獲取所述當前待發(fā)送的廣播消息的排序之后的待發(fā)送的廣播,確定所述待發(fā)送的廣播消息的發(fā)送進程;如果所述待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述待發(fā)送的廣播消息至所述待發(fā)送的廣播消息的廣播接收者。
基于上述優(yōu)化,如圖3所示,本實施例提供的技術(shù)方案具體如下:
s301、獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程。
s302、確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程。
s303、判斷所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程是否相同,如果是,則執(zhí)行s304、s305。
s304、不發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
在一個實施例中,如果確定出的當前待發(fā)送的廣播消息和已發(fā)送的廣播消息的發(fā)送進程一致,未避免造成對同一進程的占用,則不發(fā)送該當前的待發(fā)送的廣播消息,等待同一進程的廣播消息處理完畢后再行發(fā)送。
s305、在所述廣播發(fā)送隊列中獲取所述當前待發(fā)送的廣播消息的排序之后的待發(fā)送的廣播,確定所述待發(fā)送的廣播消息的發(fā)送進程,如果所述待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述待發(fā)送的廣播消息至所述待發(fā)送的廣播消息的廣播接收者。
在一個實施例中,依據(jù)廣播隊列中廣播消息的排序次序,依次確定是否發(fā)送廣播消息,如果廣播消息的發(fā)送進程和已發(fā)送的廣播消息的發(fā)送進程不同則發(fā)送該廣播消息,若相同,則繼續(xù)獲取下一廣播消息,并確定對應(yīng)的發(fā)送進程以確定是否發(fā)送該廣播消息。
本實施例提供了一種廣播發(fā)送方法,如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程相同,則不發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者,在所述廣播發(fā)送隊列中獲取所述當前待發(fā)送的廣播消息的排序之后的待發(fā)送的廣播,確定所述待發(fā)送的廣播消息的發(fā)送進程,如果所述待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述待發(fā)送的廣播消息至所述待發(fā)送的廣播消息的廣播接收者,實現(xiàn)了有序廣播隊列的并行發(fā)送,提高了廣播處理效率,降低了系統(tǒng)功耗。
在上述技術(shù)方案的基礎(chǔ)上,在一個實施例中,所述已發(fā)送的廣播消息的發(fā)送進程包括在廣播消息發(fā)送時記錄的發(fā)送所述廣播消息的發(fā)送進程,所述已發(fā)送的廣播消息的發(fā)送進程依據(jù)所述已發(fā)送的廣播消息的處理狀態(tài)進行更新。在確定廣播發(fā)送隊列中的廣播消息的發(fā)送進程過程中,由于廣播發(fā)送隊列中的廣播消息可能數(shù)量眾多,由此導(dǎo)致當確定到一個廣播消息的發(fā)送進程和之前已發(fā)送的廣播消息的發(fā)送進程一致,但之前記錄的已發(fā)送的廣播消息已經(jīng)處理完畢而釋放對應(yīng)的進程,本方案中,已發(fā)送的廣播消息的發(fā)送進程依據(jù)已發(fā)送的廣播消息的處理狀態(tài)進行更新,若處理完畢,則對應(yīng)設(shè)置該進程不被占用以用于新的廣播消息進行發(fā)送。
圖4是本發(fā)明實施例提供的一種廣播發(fā)送裝置的結(jié)構(gòu)框圖,該裝置用于執(zhí)行上述實施例提供的廣播發(fā)送方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。如圖4所示,該裝置具體包括:獲取模塊401、第一發(fā)送進程確定模塊402、第二發(fā)送進程確定模塊403和控制模塊404。
其中,獲取模塊401用于獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息;
第一發(fā)送進程確定模塊402用于確定所述當前待發(fā)送的廣播消息的發(fā)送進程;
第二發(fā)送進程確定模塊403用于確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程;
控制模塊404用于依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
本實施例提供的技術(shù)方案,解決了現(xiàn)有的廣播發(fā)送時存在的缺陷,提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
可選的,所述控制模塊404具體用于:如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
可選的,還包括:保存模塊405,用于在所述發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者之后,在所述發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者之后,將所述已發(fā)送的廣播消息從所述廣播發(fā)送隊列中移除,并保存至數(shù)組中;所述控制模塊404,還用于接收到所述已發(fā)送的廣播消息的廣播接收者發(fā)送的反饋結(jié)果后,發(fā)送在所述數(shù)組中保存的已發(fā)送的廣播消息至對應(yīng)的下一廣播接收者。
可選的,所述控制模塊404具體用于:如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程相同,則不發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者;在所述廣播發(fā)送隊列中獲取所述當前待發(fā)送的廣播消息的排序之后的待發(fā)送的廣播,確定所述待發(fā)送的廣播消息的發(fā)送進程;如果所述待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述待發(fā)送的廣播消息至所述待發(fā)送的廣播消息的廣播接收者。
可選的,還包括:更新模塊405,用于所述已發(fā)送的廣播消息的發(fā)送進程依據(jù)所述已發(fā)送的廣播消息的處理狀態(tài)進行更新,其中,所述已發(fā)送的廣播消息的發(fā)送進程包括在廣播消息發(fā)送時記錄的發(fā)送所述廣播消息的發(fā)送進程。
本實施例在上述各實施例的基礎(chǔ)上提供了一種終端設(shè)備,該終端設(shè)備可以包括本發(fā)明提供的廣播發(fā)送裝置。圖5是本發(fā)明實施例提供的一種終端設(shè)備的結(jié)構(gòu)示意圖,如圖5所示,該終端設(shè)備可以包括:存儲器501、中央處理器(centralprocessingunit,cpu)502、外設(shè)接口503、rf(radiofrequency,射頻)電路505、音頻電路506、揚聲器511、電源管理芯片508、輸入/輸出(i/o)子系統(tǒng)509、觸摸屏512、其他輸入/控制設(shè)備510以及外部端口504,這些部件通過一個或多個通信總線或信號線507來通信。
應(yīng)該理解的是,圖示終端設(shè)備500僅僅是終端設(shè)備的一個范例,并且終端設(shè)備500可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個或多個信號處理和/或?qū)S眉呻娐吩趦?nèi)的硬件、軟件、或硬件和軟件的組合中實現(xiàn)。
下面就本實施例提供的用于多開應(yīng)用的權(quán)限管理的終端設(shè)備進行詳細的描述,該終端設(shè)備以智能手機為例。
存儲器501,所述存儲器501可以被cpu502、外設(shè)接口503等訪問,所述存儲器501可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
外設(shè)接口503,所述外設(shè)接口503可以將設(shè)備的輸入和輸出外設(shè)連接到cpu502和存儲器501。
i/o子系統(tǒng)509,所述i/o子系統(tǒng)509可以將設(shè)備上的輸入輸出外設(shè),例如觸摸屏512和其他輸入/控制設(shè)備510,連接到外設(shè)接口503。i/o子系統(tǒng)509可以包括顯示控制器5091和用于控制其他輸入/控制設(shè)備510的一個或多個輸入控制器5092。其中,一個或多個輸入控制器5092從其他輸入/控制設(shè)備510接收電信號或者向其他輸入/控制設(shè)備510發(fā)送電信號,其他輸入/控制設(shè)備510可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號盤、滑動開關(guān)、操縱桿、點擊滾輪。值得說明的是,輸入控制器5092可以與以下任一個連接:鍵盤、紅外端口、usb接口以及諸如鼠標的指示設(shè)備。
觸摸屏512,所述觸摸屏512是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標、視頻等。
i/o子系統(tǒng)509中的顯示控制器5091從觸摸屏512接收電信號或者向觸摸屏512發(fā)送電信號。觸摸屏512檢測觸摸屏上的接觸,顯示控制器5091將檢測到的接觸轉(zhuǎn)換為與顯示在觸摸屏512上的用戶界面對象的交互,即實現(xiàn)人機交互,顯示在觸摸屏512上的用戶界面對象可以是運行游戲的圖標、聯(lián)網(wǎng)到相應(yīng)網(wǎng)絡(luò)的圖標等。值得說明的是,設(shè)備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
rf電路505,主要用于建立手機與無線網(wǎng)絡(luò)(即網(wǎng)絡(luò)側(cè))的通信,實現(xiàn)手機與無線網(wǎng)絡(luò)的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,rf電路505接收并發(fā)送rf信號,rf信號也稱為電磁信號,rf電路505將電信號轉(zhuǎn)換為電磁信號或?qū)㈦姶判盘栟D(zhuǎn)換為電信號,并且通過該電磁信號與通信網(wǎng)絡(luò)以及其他設(shè)備進行通信。rf電路505可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、rf收發(fā)機、一個或多個放大器、調(diào)諧器、一個或多個振蕩器、數(shù)字信號處理器、codec(coder-decoder,編譯碼器)芯片組、用戶標識模塊(subscriberidentitymodule,sim)等等。
音頻電路506,主要用于從外設(shè)接口503接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號,并且將該電信號發(fā)送給揚聲器511。
揚聲器511,用于將手機通過rf電路505從無線網(wǎng)絡(luò)接收的語音信號,還原為聲音并向用戶播放該聲音。
電源管理芯片508,用于為cpu502、i/o子系統(tǒng)及外設(shè)接口所連接的硬件進行供電及電源管理。
本發(fā)明實施例提供的cpu502可執(zhí)行如下操作:
獲取廣播發(fā)送隊列中當前待發(fā)送的廣播消息,確定所述當前待發(fā)送的廣播消息的發(fā)送進程;
確定所述廣播發(fā)送隊列中已發(fā)送的廣播消息的發(fā)送進程;
依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
可選的,所述依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者包括:如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者。
可選的,在所述發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者之后,還包括:將所述已發(fā)送的廣播消息從所述廣播發(fā)送隊列中移除,并保存至數(shù)組中;接收到所述已發(fā)送的廣播消息的廣播接收者發(fā)送的反饋結(jié)果后,發(fā)送在所述數(shù)組中保存的已發(fā)送的廣播消息至對應(yīng)的下一廣播接收者。
可選的,所述依據(jù)所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程確定是否發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者包括:如果所述當前待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程相同,則不發(fā)送所述當前待發(fā)送的廣播消息至所述當前待發(fā)送的廣播消息的廣播接收者;在所述廣播發(fā)送隊列中獲取所述當前待發(fā)送的廣播消息的排序之后的待發(fā)送的廣播,確定所述待發(fā)送的廣播消息的發(fā)送進程;如果所述待發(fā)送的廣播消息的發(fā)送進程和所述已發(fā)送的廣播消息的發(fā)送進程不同,則發(fā)送所述待發(fā)送的廣播消息至所述待發(fā)送的廣播消息的廣播接收者。
可選的,所述已發(fā)送的廣播消息的發(fā)送進程包括在廣播消息發(fā)送時記錄的發(fā)送所述廣播消息的發(fā)送進程,所述已發(fā)送的廣播消息的發(fā)送進程依據(jù)所述已發(fā)送的廣播消息的處理狀態(tài)進行更新。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。