智能家電設(shè)備活躍度的統(tǒng)計(jì)方法、裝置及互聯(lián)網(wǎng)網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能家居領(lǐng)域,特別是涉及一種智能家電設(shè)備活躍度的統(tǒng)計(jì)方法、裝置及互聯(lián)網(wǎng)網(wǎng)關(guān)。
【背景技術(shù)】
[0002]接入互聯(lián)網(wǎng)的智能家電會(huì)周期性的上報(bào)狀態(tài)數(shù)據(jù)到服務(wù)端,需要有一種穩(wěn)定可靠的統(tǒng)計(jì)方法來(lái)統(tǒng)計(jì)活躍智能家電設(shè)備的排行榜。其中活躍度的定義為上報(bào)狀態(tài)數(shù)據(jù)的頻率,頻率越高,則認(rèn)為越活躍。然而,接入互聯(lián)網(wǎng)的智能家電數(shù)目會(huì)越來(lái)越多,而且其上報(bào)數(shù)據(jù)的頻率也很高。大量智能家電連續(xù)地上報(bào)屬性狀態(tài)時(shí),如何實(shí)時(shí)的統(tǒng)計(jì)出最活躍的top η個(gè)設(shè)備是一個(gè)問(wèn)題。
[0003]現(xiàn)有技術(shù)中統(tǒng)計(jì)家電設(shè)備上報(bào)的方法是采用單進(jìn)程進(jìn)行統(tǒng)計(jì),如果上報(bào)的數(shù)據(jù)流量較大,會(huì)需要緩存一段時(shí)間的上報(bào)計(jì)數(shù),由于數(shù)據(jù)量較大,內(nèi)存會(huì)不堪重負(fù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種智能家電設(shè)備活躍度的統(tǒng)計(jì)方法、裝置及互聯(lián)網(wǎng)網(wǎng)關(guān),用以解決現(xiàn)有技術(shù)統(tǒng)計(jì)家電設(shè)備上報(bào)的方法是采用單進(jìn)程進(jìn)行統(tǒng)計(jì),如果上報(bào)的數(shù)據(jù)流量較大,會(huì)需要緩存一段時(shí)間的上報(bào)計(jì)數(shù),由于數(shù)據(jù)量較大,內(nèi)存會(huì)不堪重負(fù)的問(wèn)題。
[0005]為解決上述技術(shù)問(wèn)題,一方面,本發(fā)明提供一種智能家電設(shè)備活躍度的統(tǒng)計(jì)方法,包括:創(chuàng)建多個(gè)統(tǒng)計(jì)進(jìn)程,其中,每個(gè)統(tǒng)計(jì)進(jìn)程用于存儲(chǔ)對(duì)應(yīng)的一個(gè)或多個(gè)智能家電設(shè)備上報(bào)數(shù)據(jù)消息的計(jì)數(shù)信息;在接收到智能家電設(shè)備上報(bào)的數(shù)據(jù)消息時(shí),將所述數(shù)據(jù)消息發(fā)送至與所述智能家電設(shè)備對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理;將所述統(tǒng)計(jì)進(jìn)程中預(yù)定的統(tǒng)計(jì)周期內(nèi)上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存,其中,N為大于O的正整數(shù);在所述共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名。
[0006]進(jìn)一步,所述計(jì)數(shù)信息至少包括:統(tǒng)計(jì)周期、智能家電設(shè)備的地址(ID)、以及該統(tǒng)計(jì)周期內(nèi)數(shù)據(jù)消息的上報(bào)次數(shù)。
[0007]進(jìn)一步,將所述統(tǒng)計(jì)進(jìn)程中預(yù)定的統(tǒng)計(jì)周期內(nèi)上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存,包括:用當(dāng)前統(tǒng)計(jì)周期內(nèi)的所述上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息覆蓋上一個(gè)統(tǒng)計(jì)周期內(nèi)的計(jì)數(shù)信息。
[0008]進(jìn)一步,在所述共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名,包括:按照預(yù)定時(shí)間間隔統(tǒng)計(jì)所述所有智能家電設(shè)備數(shù)據(jù)消息的上報(bào)次數(shù);將上報(bào)次數(shù)最多的M個(gè)智能家電設(shè)備進(jìn)行降序排列,并保存排列結(jié)果,其中,M為大于O的正整數(shù)。
[0009]進(jìn)一步,在所述共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名之后,還包括:在接收到用戶(hù)查詢(xún)家電設(shè)備活躍度排名請(qǐng)求的情況下,將所述M個(gè)智能家電設(shè)備的排名發(fā)送至用戶(hù)終端,以進(jìn)行呈現(xiàn)。
[0010]進(jìn)一步,將所述數(shù)據(jù)消息發(fā)送至與所述智能家電設(shè)備對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理,包括:將所述數(shù)據(jù)消息發(fā)送至與所述智能家電設(shè)備的唯一識(shí)別碼對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理。
[0011]另一方面,本發(fā)明提供一種智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置,包括:創(chuàng)建模塊,用于創(chuàng)建多個(gè)統(tǒng)計(jì)進(jìn)程,其中,每個(gè)統(tǒng)計(jì)進(jìn)程用于存儲(chǔ)對(duì)應(yīng)的一個(gè)或多個(gè)智能家電設(shè)備上報(bào)數(shù)據(jù)消息的計(jì)數(shù)信息;統(tǒng)計(jì)模塊,用于在接收到智能家電設(shè)備上報(bào)的數(shù)據(jù)消息時(shí),將所述數(shù)據(jù)消息發(fā)送至與所述智能家電設(shè)備對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理;第一發(fā)送模塊,用于將所述統(tǒng)計(jì)進(jìn)程中預(yù)定的統(tǒng)計(jì)周期內(nèi)上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存;排序模塊,用于在所述共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名。
[0012]進(jìn)一步,所述第一發(fā)送模塊,還用于用當(dāng)前統(tǒng)計(jì)周期內(nèi)的所述上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息覆蓋上一個(gè)統(tǒng)計(jì)周期內(nèi)的計(jì)數(shù)信息。
[0013]進(jìn)一步,所述排序模塊包括:統(tǒng)計(jì)單元,用于按照預(yù)定時(shí)間間隔統(tǒng)計(jì)所述所有智能家電設(shè)備數(shù)據(jù)消息的上報(bào)次數(shù);排序單元,用于將上報(bào)次數(shù)最多的M個(gè)智能家電設(shè)備進(jìn)行降序排列,并保存排列結(jié)果,其中,M為大于O的正整數(shù)。
[0014]進(jìn)一步,所述裝置還包括:第二發(fā)送模塊,用于在接收到用戶(hù)查詢(xún)家電設(shè)備活躍度排名請(qǐng)求的情況下,將所述M個(gè)智能家電設(shè)備的排名發(fā)送至用戶(hù)終端,以進(jìn)行呈現(xiàn)。
[0015]又一方面,本發(fā)明提供一種互聯(lián)網(wǎng)網(wǎng)關(guān),包括:上述任一項(xiàng)所述的智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置。
[0016]本發(fā)明為創(chuàng)建了多個(gè)統(tǒng)計(jì)進(jìn)程,在統(tǒng)計(jì)上報(bào)的數(shù)據(jù)消息時(shí),能夠多進(jìn)程共同處理,每次處理時(shí),由于是對(duì)活躍度的統(tǒng)計(jì),所以每個(gè)進(jìn)程只將上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存,讓共享內(nèi)存對(duì)較為活躍的這些智能家電設(shè)備進(jìn)行統(tǒng)計(jì),節(jié)省系統(tǒng)資源,提高處理效率,解決了現(xiàn)有技術(shù)統(tǒng)計(jì)家電設(shè)備上報(bào)的方法是采用單進(jìn)程進(jìn)行統(tǒng)計(jì),如果上報(bào)的數(shù)據(jù)流量較大,會(huì)需要緩存一段時(shí)間的上報(bào)計(jì)數(shù),由于數(shù)據(jù)量較大,內(nèi)存會(huì)不堪重負(fù)的問(wèn)題。
【附圖說(shuō)明】
[0017]圖1是本發(fā)明實(shí)施例中智能家電設(shè)備活躍度的統(tǒng)計(jì)方法的流程圖;
[0018]圖2是本發(fā)明實(shí)施例中智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖;
[0019]圖3是本發(fā)明實(shí)施例中智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置排序模塊的結(jié)構(gòu)示意圖;
[0020]圖4是本發(fā)明實(shí)施例中智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置的優(yōu)選結(jié)構(gòu)示意圖;
[0021 ]圖5是本發(fā)明優(yōu)選實(shí)施例中統(tǒng)計(jì)方法處理流程圖。
【具體實(shí)施方式】
[0022]為了解決現(xiàn)有技術(shù)統(tǒng)計(jì)家電設(shè)備上報(bào)的方法是采用單進(jìn)程進(jìn)行統(tǒng)計(jì),如果上報(bào)的數(shù)據(jù)流量較大,會(huì)需要緩存一段時(shí)間的上報(bào)計(jì)數(shù),由于數(shù)據(jù)量較大,內(nèi)存會(huì)不堪重負(fù)的問(wèn)題,本發(fā)明提供了一種智能家電設(shè)備活躍度的統(tǒng)計(jì)方法、裝置及互聯(lián)網(wǎng)網(wǎng)關(guān),以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0023]本發(fā)明實(shí)施例提供一種智能家電設(shè)備活躍度的統(tǒng)計(jì)方法,該方法的流程如圖1所示,包括步驟S102至S108:
[0024]S102,創(chuàng)建多個(gè)統(tǒng)計(jì)進(jìn)程,其中,每個(gè)統(tǒng)計(jì)進(jìn)程用于存儲(chǔ)對(duì)應(yīng)的一個(gè)或多個(gè)智能家電設(shè)備上報(bào)數(shù)據(jù)消息的計(jì)數(shù)信息。其中,計(jì)數(shù)信息至少包括:統(tǒng)計(jì)周期、智能家電設(shè)備的地址ID、以及該統(tǒng)計(jì)周期內(nèi)數(shù)據(jù)消息的上報(bào)次數(shù)。
[0025]S104,在接收到智能家電設(shè)備上報(bào)的數(shù)據(jù)消息時(shí),將數(shù)據(jù)消息發(fā)送至與智能家電設(shè)備對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理。
[0026]S106,將統(tǒng)計(jì)進(jìn)程中預(yù)定的統(tǒng)計(jì)周期內(nèi)上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存,其中,N為大于O的正整數(shù)。實(shí)現(xiàn)時(shí),如果在共享內(nèi)存已經(jīng)存在智能家電設(shè)備對(duì)應(yīng)的計(jì)數(shù)信息,則用當(dāng)前的信息覆蓋已經(jīng)存在的信息
[0027]S108,在共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名。
[0028]本發(fā)明實(shí)施例為創(chuàng)建了多個(gè)統(tǒng)計(jì)進(jìn)程,在統(tǒng)計(jì)上報(bào)的數(shù)據(jù)消息時(shí),能夠多進(jìn)程共同處理,每次處理時(shí),由于是對(duì)活躍度的統(tǒng)計(jì),所以每個(gè)進(jìn)程只將上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息發(fā)送至共享內(nèi)存,讓共享內(nèi)存對(duì)較為活躍的這些智能家電設(shè)備進(jìn)行統(tǒng)計(jì),節(jié)省系統(tǒng)資源,提高處理效率,解決了現(xiàn)有技術(shù)統(tǒng)計(jì)家電設(shè)備上報(bào)的方法是采用單進(jìn)程進(jìn)行統(tǒng)計(jì),如果上報(bào)的數(shù)據(jù)流量較大,會(huì)需要緩存一段時(shí)間的上報(bào)計(jì)數(shù),由于數(shù)據(jù)量較大,內(nèi)存會(huì)不堪重負(fù)的問(wèn)題。
[0029]在上述步驟S102和S104實(shí)現(xiàn)過(guò)程中,可以將數(shù)據(jù)消息發(fā)送至與智能家電設(shè)備的唯一識(shí)別碼(例如MAC ID)對(duì)應(yīng)的統(tǒng)計(jì)進(jìn)程中進(jìn)行統(tǒng)計(jì)處理時(shí),對(duì)進(jìn)程的編號(hào)可以是按照智能家電設(shè)備ID的hash值對(duì)進(jìn)程編號(hào)取模的絕對(duì)值來(lái)編號(hào)。
[0030]例如,創(chuàng)建A個(gè)統(tǒng)計(jì)進(jìn)程,其中,每個(gè)統(tǒng)計(jì)進(jìn)程用于存儲(chǔ)對(duì)應(yīng)的一個(gè)或多個(gè)智能家電設(shè)備上報(bào)的數(shù)據(jù)消息,其對(duì)應(yīng)關(guān)系可以為智能家底那設(shè)備ID hash值^^的絕對(duì)值,如某智能家電設(shè)備ID為000ABCD001,其hash值為-429293344,則對(duì)應(yīng)的進(jìn)程編號(hào)為[-429293344 %A],假設(shè)A = 5,則對(duì)應(yīng)的進(jìn)程編號(hào)=4。
[0031]實(shí)現(xiàn)過(guò)程中,每個(gè)進(jìn)程對(duì)自身處理的數(shù)據(jù)消息進(jìn)行統(tǒng)計(jì),只將上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備發(fā)送至共享內(nèi)存,在共享內(nèi)存中,按照預(yù)定時(shí)間間隔統(tǒng)計(jì)所有智能家電設(shè)備數(shù)據(jù)消息的上報(bào)次數(shù);將上報(bào)次數(shù)最多的M個(gè)智能家電設(shè)備進(jìn)行降序排列,并保存排列結(jié)果,其中,M為大于O的正整數(shù)。
[0032]如果共享內(nèi)存中已經(jīng)存在計(jì)數(shù)信息,則用當(dāng)前統(tǒng)計(jì)周期內(nèi)的上報(bào)次數(shù)最多的N個(gè)智能家電設(shè)備的計(jì)數(shù)信息覆蓋上一個(gè)統(tǒng)計(jì)周期內(nèi)的計(jì)數(shù)信息,以防造成統(tǒng)計(jì)錯(cuò)誤,而且此種覆蓋方式還可以保證共享內(nèi)存中存在充足的空間。
[0033]在共享內(nèi)存中根據(jù)所有計(jì)數(shù)信息對(duì)所有智能家電設(shè)備進(jìn)行活躍度排名之后,如果接收到用戶(hù)查詢(xún)家電設(shè)備活躍度排名請(qǐng)求,則將M個(gè)智能家電設(shè)備的排名發(fā)送至用戶(hù)終端,以進(jìn)行呈現(xiàn)。
[0034]本發(fā)明實(shí)施例還提供了一種智能家電設(shè)備活躍度的統(tǒng)計(jì)裝置,該裝置的結(jié)構(gòu)示意如圖2所示,包括:創(chuàng)建模塊10,用于創(chuàng)建多個(gè)統(tǒng)計(jì)進(jìn)程,其中,每個(gè)統(tǒng)計(jì)進(jìn)程用于存儲(chǔ)對(duì)應(yīng)的一