一種接收通知消息的處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種接收通知消息的處理方法及裝置。
【背景技術(shù)】
[0002]當(dāng)提供者應(yīng)用程序Provider APP的屬性Property變化的頻率比較高,而且該P(yáng)roperty對(duì)應(yīng)的發(fā)送通知消息的標(biāo)識(shí)org.freedesktop.DBus.Property.EmitsChangedSignal的標(biāo)注值設(shè)定為true或者invalidates時(shí),需要生成對(duì)應(yīng)的org.freedesktop.DBus.Properties.PropertiesChanged 信號(hào)時(shí),訂閱該信號(hào)的消費(fèi)者應(yīng)用程序Consumer APP可能需要相同頻率解析上述信號(hào),出現(xiàn)的問(wèn)題是,Consumer APP所在的移動(dòng)設(shè)備正在解析一個(gè)信號(hào)時(shí),又要接收下一個(gè)信號(hào),并且要開(kāi)始下一個(gè)信號(hào)的解析,如果堆積,嚴(yán)重地消耗了 Client APP所在設(shè)備的資源,造成移動(dòng)設(shè)備的過(guò)載、宕機(jī)甚至失控等問(wèn)題。因此,需要一種接收通知消息的處理方法,以解決現(xiàn)有技術(shù)中存在的上述技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種接收通知消息的處理方法及裝置,提高了客戶(hù)端應(yīng)用程序Consumer APP所在移動(dòng)設(shè)備運(yùn)行的穩(wěn)定性。
[0004]本發(fā)明采用的技術(shù)方案是:
[0005]—種接收通知消息的處理方法,其在提供端執(zhí)行的流程包括:在一個(gè)檢測(cè)周期內(nèi)發(fā)送變化通知消息至客戶(hù)端,其中所述變化通知消息攜帶有所述變化通知消息的時(shí)序信息,以使所述客戶(hù)端基于所述時(shí)序信息和接收所述變化通知消息的接收頻率判斷是否接收所述變化通知消息。
[0006]優(yōu)選地,當(dāng)提供端應(yīng)用程序的屬性發(fā)生變化時(shí),啟動(dòng)所述檢測(cè)周期。
[0007]優(yōu)選地,提供端應(yīng)用程序啟動(dòng)檢測(cè)周期,發(fā)送變化通知消息,經(jīng)由提供端路由器發(fā)送至客戶(hù)端的路由器;或者,提供端路由器啟動(dòng)檢測(cè)周期,發(fā)送所述變化通知消息至客戶(hù)端的路由器。
[0008]本發(fā)明還提供了一種接收通知消息的處理方法,其在客戶(hù)端執(zhí)行的流程包括:在一個(gè)檢測(cè)周期內(nèi),接收所述提供端發(fā)來(lái)的變化通知消息,其中所述變化通知消息攜帶有所述變化通知消息的時(shí)序信息;基于所述時(shí)序信息和接收所述變化通知消息的接收頻率,判斷是否接收所述變化通知消息。
[0009]優(yōu)選地,所述時(shí)序信息包括所述變化通知消息在所述檢測(cè)周期內(nèi)的序號(hào)和所述檢測(cè)周期的周期時(shí)間;在基于所述時(shí)序信息和接收所述變化通知消息的接收頻率,判斷是否接收所述變化通知消息中:判斷所述序號(hào)是否超出所述周期時(shí)間與所述接收頻率的乘積;若是,則放棄所述變化通知消息;若否,則接收所述變化通知消息。
[0010]優(yōu)選地,根據(jù)設(shè)置于所述客戶(hù)端的移動(dòng)設(shè)備的設(shè)備參數(shù)確定所述接收頻率。
[0011]本發(fā)明還提供了一種接收通知消息的處理裝置,其設(shè)置于提供端,所述裝置包括消息發(fā)送模塊,用于:在一個(gè)檢測(cè)周期內(nèi)發(fā)送變化通知消息至客戶(hù)端,其中所述變化通知消息攜帶有所述變化通知消息的時(shí)序信息,以使所述客戶(hù)端基于所述時(shí)序信息和接收所述變化通知消息的接收頻率判斷是否接收所述變化通知消息。
[0012]本發(fā)明還提供了一種接收通知消息的處理裝置,其設(shè)置于客戶(hù)端,所述裝置包括:接收模塊,用于在一個(gè)檢測(cè)周期內(nèi)接收所述提供端發(fā)來(lái)的變化通知消息,其中所述變化通知消息攜帶有所述變化通知消息的時(shí)序信息;判斷模塊,用于基于所述時(shí)序信息和接收所述變化通知消息的接收頻率,判斷是否接收所述變化通知消息。
[0013]優(yōu)選地,所述時(shí)序信息包括所述變化通知消息在該檢測(cè)周期內(nèi)的序號(hào)和該檢測(cè)周期的周期時(shí)間,所述判斷模塊還用于:判斷所述序號(hào)是否超出所述周期時(shí)間與所述接收頻率的乘積;若是,則放棄所述變化通知消息,并且發(fā)送放棄所述變化通知消息的信號(hào)至所述提供端,以觸發(fā)所述提供端結(jié)束所述檢測(cè)周期;若否,則接收所述變化通知消息。
[0014]優(yōu)選地,所述處理裝置還包括接收頻率確定模塊,用于:根據(jù)設(shè)置于所述客戶(hù)端的移動(dòng)設(shè)備的設(shè)備參數(shù)確定所述接收頻率。
[0015]采用上述技術(shù)方案,本發(fā)明至少具有下列效果:
[0016]采用本發(fā)明的接收通知消息的處理方法可以有效地降低提供端應(yīng)用程序Provider APP以高頻率地發(fā)送變化通知消息,造成客戶(hù)端應(yīng)用程序Consumer APP處理大量數(shù)據(jù)所出現(xiàn)的過(guò)載現(xiàn)象。
【附圖說(shuō)明】
[0017]圖1為本發(fā)明第一實(shí)施例的接收通知消息的處理方法的流程圖;
[0018]圖2為本發(fā)明第二實(shí)施例的接收通知消息的處理方法的流程圖;
[0019]圖3為本發(fā)明第二實(shí)施例的接收通知消息的處理方法的流程圖;
[0020]圖4為本發(fā)明第三實(shí)施例的接收通知消息的處理方法的流程圖;
[0021]圖5為本發(fā)明的第四實(shí)施例的接收通知消息的處理方法的示意圖。
[0022]圖6為本發(fā)明第五實(shí)施例和第六實(shí)施例的接收通知消息的處理裝置的方框圖。
【具體實(shí)施方式】
[0023]為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明如后。
[0024]本發(fā)明提供的接收通知消息的處理方法可以提供客戶(hù)端應(yīng)用程序所在移動(dòng)設(shè)備穩(wěn)定運(yùn)行。下面將詳細(xì)地描述本發(fā)明的接收通知消息的處理方法及其各個(gè)步驟。
[0025]第一實(shí)施例
[0026]如圖1所示,本實(shí)施例中的接收通知消息的處理方法在提供端執(zhí)行的流程包括:步驟SlO:在一個(gè)檢測(cè)周期內(nèi)發(fā)送變化通知消息至客戶(hù)端,其中變化通知消息攜帶有變化通知消息的時(shí)序信息,以使客戶(hù)端基于時(shí)序信息和接收變化通知消息的接收頻率判斷是否接收該變化通知消息。優(yōu)選地,當(dāng)提供端應(yīng)用程序Provider APP的屬性Property發(fā)生變化時(shí),啟動(dòng)所述檢測(cè)周期。Provider APP啟動(dòng)監(jiān)測(cè)功能,當(dāng)監(jiān)測(cè)到Property變化時(shí),發(fā)送變化通知消息,該變化通知消息中攜帶有該變化通知消息的時(shí)序信息。由此實(shí)現(xiàn)了由提供端實(shí)現(xiàn)監(jiān)測(cè)功能,并且通過(guò)時(shí)序信息和接收頻率來(lái)判斷是否接收該變化通知消息,以此提供端根據(jù)客戶(hù)端是否接收該變化通知消息來(lái)決定檢測(cè)周期是否需要結(jié)束,還是繼續(xù)在該檢測(cè)周期內(nèi)進(jìn)行監(jiān)測(cè)。
[0027]根據(jù)org.freedesktop.DBus.Property.EmitsChangedSignal 的標(biāo)注值 Property可以分為三種信號(hào)處理的情況:
[0028]當(dāng)標(biāo)注值為T(mén)rue 時(shí):Property 發(fā)生變化時(shí),----updateing Property org.freedesktop.DBus.Properties.PropertiesChanged 消息攜帶 Property 的新值被發(fā)送。
[0029]當(dāng)標(biāo)注值為False:Property發(fā)生變化時(shí),不會(huì)發(fā)送----non-cacheable
property org.freedesktop.DBus.Properties.PropertiesChanged 消息。
[0030]當(dāng)標(biāo)注值為invalidates:Property 發(fā)生變化時(shí),----1nvalidating property
org.freedesktop.DBus.Properties.PropertiesChanged 消息發(fā)送,不攜帶 Property 的新值。
[0031]上述消息都是以時(shí)域sess1n內(nèi)的廣播形式發(fā)送,同一個(gè)sess1n內(nèi)的應(yīng)用程序App都可能接收到上述消息。那么客戶(hù)端應(yīng)用程序采用以下方式選擇接收上述消息:通過(guò)addmatch方法向客戶(hù)端路由器router注冊(cè)一個(gè)過(guò)濾條件。當(dāng)客戶(hù)端路由器:router接收到上述Property變化的變化通知消息后,會(huì)根據(jù)上述過(guò)濾條件,判定是否需要為客戶(hù)端應(yīng)用程序APP發(fā)送上述變化通知消息。下面是變化通知信號(hào)的類(lèi)型。
[0032]org.freedesktop.DBus.AddMatch (bus_proxy, 〃type = ' signal' , name = ' org.example.App’ , path_namespace = ’/org/exampIe/App'");
[0033]其中addmatch的參數(shù)包括如下:type (消息類(lèi)型);sender (Bus名或者連接唯一名);interface (接口名)!member (方法名或者信號(hào)名稱(chēng));path (對(duì)象路徑)