本發(fā)明涉及通信技術(shù),尤其涉及一種通訊信息收集方法和裝置。
背景技術(shù):
即時(shí)通訊(Instant Messaging,簡(jiǎn)稱IM)是一個(gè)終端服務(wù),允許兩人或多人使用網(wǎng)路即時(shí)的傳遞文字訊息、檔案、語(yǔ)音與視頻交流。隨著通訊終端的大量普及和終端應(yīng)用軟件的不斷改進(jìn),大多數(shù)終端用戶會(huì)使用安裝在終端上的即時(shí)通訊應(yīng)用軟件進(jìn)行即時(shí)通訊和社交,改變了以往終端用戶主要利用終端上的短信功能和電話功能進(jìn)行通訊的方式,常用的即時(shí)通訊應(yīng)用有QQ,微信,百度Hi,Whatsapp,Viber等。因此,對(duì)于大多數(shù)終端用戶來(lái)說(shuō),用戶完整的通訊信息不僅包括通過短信和電話功能進(jìn)行溝通的通訊信息,還應(yīng)包括通過即時(shí)通訊應(yīng)用軟件進(jìn)行溝通的通訊信息。
在大數(shù)據(jù)時(shí)代,為了能更好地對(duì)用戶提供便利,需要對(duì)到用戶完整的通訊信息進(jìn)行處理和分析。在收集用戶的通訊信息時(shí),可以通過訪問終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù),從而獲取到用戶通過短信和電話功能進(jìn)行溝通的通訊信息。而即時(shí)通訊應(yīng)用軟件是一種安裝在終端上的第三方應(yīng)用軟件,由于權(quán)限的限制,除非是獲取到操作系統(tǒng)的root權(quán)限,否則無(wú)法訪問第三方應(yīng)用軟件的內(nèi)部數(shù)據(jù)庫(kù),從而無(wú)法收集到用戶通過即時(shí)通訊應(yīng)用軟件交流的通訊信息,也就無(wú)法收集到用戶完整的通訊信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)現(xiàn)有技術(shù)中無(wú)法獲取終端用戶完整的通訊信息的問題,提出一種通訊信息收集方法和裝置,從而可以對(duì)到用戶完整的通訊信息進(jìn)行處理和分析。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種通訊信息收集方法,包括:
通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;所述通知消息用于通知所述終端用戶已收到對(duì)端用戶發(fā)送的消息;
在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取所述通知消息;
從所述通知消息中解析出第一通訊信息;所述第一通訊信息至少包括以下內(nèi)容:所述通知消息的通訊內(nèi)容,以及與即時(shí)通訊應(yīng)用軟件綁定的所述對(duì)端用戶的終端號(hào)碼;
根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù),所述通訊信息數(shù)據(jù)庫(kù)還包括從所述終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù)中獲取的第二通訊信息,所述第二通訊信息包括所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
進(jìn)一步地,根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)具體為:
根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在第一數(shù)據(jù)庫(kù)中查找與所述第一通訊信息關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述第一數(shù)據(jù)庫(kù)中,所述第一數(shù)據(jù)庫(kù)用于存儲(chǔ)從所述通知消息中提取的所述第一通訊信息;
根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一數(shù)據(jù)庫(kù)與第二數(shù)據(jù)庫(kù)進(jìn)行整合,形成通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
進(jìn)一步地,
根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)具體為:
根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù);
所述方法還包括:
當(dāng)?shù)诙?shù)據(jù)庫(kù)被添加時(shí),從所述第二數(shù)據(jù)庫(kù)中提取被添加的第二通訊信息,根據(jù)所述第二通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
進(jìn)一步地,在根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)之前,所述方法還包括:
在所述第一通訊信息中添加第一通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第一通訊信息為所述終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的通訊信息;
在所述第二通訊信息中添加第二通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第二通訊信息為所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
本發(fā)明還提供一種通訊信息收集裝置,包括:
監(jiān)聽模塊,用于通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;所述通知消息用于通知所述終端用戶已收到對(duì)端用戶發(fā)送的消息;
抓取模塊,用于在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取所述通知消息;
解析模塊,用于從所述通知消息中解析出第一通訊信息;所述第一通訊信息至少包括以下內(nèi)容:所述通知消息的通訊內(nèi)容,以及與所述即時(shí)通訊應(yīng)用軟件綁定的所述對(duì)端用戶的終端號(hào)碼;
關(guān)聯(lián)模塊,用于根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù),所述通訊信息數(shù)據(jù)庫(kù)還包括從所述終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù)中獲取的第二通訊信息,所述第二通訊信息包括所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
進(jìn)一步,所述關(guān)聯(lián)模塊,具體用于根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在第一數(shù)據(jù)庫(kù)中查找與所述第一通訊信息關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述第一數(shù)據(jù)庫(kù)中,所述第一數(shù)據(jù)庫(kù)用于存儲(chǔ)從所述通知消息中提取的所述第一通訊信息;根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一數(shù)據(jù)庫(kù)與第二數(shù)據(jù)庫(kù)進(jìn)行整合,形成通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
進(jìn)一步,所述關(guān)聯(lián)模塊,具體用于根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù);當(dāng)?shù)诙?shù)據(jù)庫(kù)被添加時(shí),從所述第二數(shù)據(jù)庫(kù)中提取被添加的第二通訊信息,根據(jù)所述第二通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
進(jìn)一步,所述裝置還包括:
標(biāo)識(shí)模塊,用于在根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)之前,在所述第一通訊信息中添加第一通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第一通訊信息為所述終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的通訊信息;在所述第二通訊信息中添加第二通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第二通訊信息為所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
本發(fā)明通過終端操作系統(tǒng)提供的通知許可服務(wù)實(shí)時(shí)獲取所有類型的即時(shí)通訊應(yīng)用軟件的通知消息,從通知消息中解析到終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的第一通訊信息,不需要申請(qǐng)終端操作系統(tǒng)的根訪問權(quán)限即可獲取第一通訊信息。解析到第一通訊信息后,與終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的第二通訊信息共同存儲(chǔ)在通訊信息數(shù)據(jù)庫(kù)中,因而,實(shí)現(xiàn)了收集終端用戶完整的通訊信息的目的。
附圖說(shuō)明
圖1為本發(fā)明提供的一種通訊信息收集方法流程圖;
圖2為本發(fā)明提供的另一種通訊信息收集方法流程圖;
圖3為本發(fā)明提供的又一種通訊信息收集方法流程圖;
圖4為本發(fā)明提供的一種通訊信息收集裝置結(jié)構(gòu)示意圖;
圖5為本發(fā)明提供的另一種通訊信息收集裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明提供的以下方法實(shí)施例中,各步驟的執(zhí)行主體可以是運(yùn)行于終端操作系統(tǒng)之上獨(dú)立的應(yīng)用軟件,也可以是為第三方即時(shí)通訊應(yīng)用軟件設(shè)計(jì)的插件。
圖1為本發(fā)明提供的一種通訊信息收集方法流程圖。如圖1所示,本實(shí)施例包括:
步驟101:通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;通知消息用于通知終端用戶已收到對(duì)端用戶發(fā)送的消息。
所有類型的即時(shí)通訊應(yīng)用軟件發(fā)起通知時(shí),都可以通過通知許可服務(wù)都可以監(jiān)聽到。舉例來(lái)說(shuō),基于Linux的安卓系統(tǒng)開放了一個(gè)名為NotificationListenerService的服務(wù),NotificationListenerService是通過系統(tǒng)調(diào)起的服務(wù)。當(dāng)有應(yīng)用發(fā)起通知的時(shí)候,系統(tǒng)會(huì)將通知的動(dòng)作和信息回調(diào)給NotificationListenerService。也就是說(shuō),當(dāng)系統(tǒng)發(fā)現(xiàn)某應(yīng)用產(chǎn)生通知或者用戶刪除某通知,都會(huì)回調(diào)服務(wù)NotificationListenerService的兩個(gè)函數(shù):onNotificationPosted和onNotificationRemoved,函數(shù)的參數(shù)StatusBarNotification包含著該通知的具體信息。
步驟102:在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取通知消息。
步驟103:從通知消息中解析出第一通訊信息;第一通訊信息至少包括以下內(nèi)容:通知消息的通訊內(nèi)容,以及與即時(shí)通訊應(yīng)用軟件綁定的對(duì)端用戶的終端號(hào)碼。
從通知消息中提取第一通訊信息,不需要申請(qǐng)終端操作系統(tǒng)的根訪問權(quán)限,舉例來(lái)說(shuō),對(duì)于安卓系統(tǒng),不需要獲取root訪問權(quán)限即可獲取到第一通訊信息。
大多數(shù)即時(shí)通訊應(yīng)用軟件的通知消息至少包括包名、通訊標(biāo)題、對(duì)端用戶名、即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)、通訊內(nèi)容,以及與即時(shí)通訊應(yīng)用軟件綁定的對(duì)端用戶的終端號(hào)碼,終端號(hào)碼可以是通常所指的電話號(hào)碼或手機(jī)號(hào)碼。因此,從通知消息中提取的第一通訊信息除通訊內(nèi)容和對(duì)端用戶的終端號(hào)碼之外,還可以包括通知消息的包名、通訊標(biāo)題、對(duì)端用戶名和即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)。
步驟104:根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù),通訊信息數(shù)據(jù)庫(kù)還包括從終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù)中獲取的第二通訊信息,第二通訊信息包括終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
其中,第二通訊信息可以直接從終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù)中直接獲得。舉例來(lái)說(shuō),基于Linux的安卓系統(tǒng)來(lái)說(shuō),對(duì)于終端用戶使用電話功能進(jìn)行通訊的通訊信息可以從操作系統(tǒng)內(nèi)置的Contacts數(shù)據(jù)庫(kù)中獲取,對(duì)于終端用戶使用短信功能進(jìn)行通訊的通訊信息可以直接從操作系統(tǒng)內(nèi)置的Mms數(shù)據(jù)庫(kù)中獲取。由于,第二通訊信息包括終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的通訊信息,第二通訊信息通常以對(duì)端用戶的終端號(hào)碼為索引進(jìn)行存儲(chǔ)。而第一通訊信息中也包括與即時(shí)通訊應(yīng)用軟件綁定的對(duì)端用戶的終端號(hào)碼,因此,在通訊信息數(shù)據(jù)庫(kù)中可以通過對(duì)端用戶的終端號(hào)碼將第一通訊信息和第二通訊信息進(jìn)行關(guān)聯(lián)存儲(chǔ)。
將第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)時(shí),可以通過兩種方法來(lái)實(shí)現(xiàn)。一種方法可以是,先根據(jù)對(duì)端用戶的終端號(hào)碼將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù),然后再根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù)與操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)進(jìn)行整合。
另一種方法可以是,先根據(jù)對(duì)端用戶的終端號(hào)碼將提取的第一通訊信息實(shí)時(shí)添加到通訊信息數(shù)據(jù)庫(kù)中,同時(shí)操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)被添加時(shí),將新添加的內(nèi)容實(shí)時(shí)更新到通訊信息數(shù)據(jù)庫(kù),從而將兩種通訊信息動(dòng)態(tài)添加到通訊信息數(shù)據(jù)庫(kù)中。
進(jìn)一步地,為了便于區(qū)分是利用即時(shí)通訊應(yīng)用軟件的通訊信息還是利用短信或電話功能的通訊信息,可以為解析出的通訊信息增加通訊類型標(biāo)識(shí)。具體可以是,在根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)之前,在第一通訊信息中添加第一通訊類別標(biāo)識(shí),用于標(biāo)識(shí)第一通訊信息為終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的通訊信息;
在根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)之前,在第二通訊信息中添加第二通訊類別標(biāo)識(shí),用于標(biāo)識(shí)第二通訊信息為終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
本實(shí)施例提供的方法,通過終端操作系統(tǒng)提供的通知許可服務(wù)實(shí)時(shí)獲取所有類型的即時(shí)通訊應(yīng)用軟件的通知消息,從通知消息中解析到終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的第一通訊信息,不需要申請(qǐng)終端操作系統(tǒng)的根訪問權(quán)限即可獲取第一通訊信息。解析到第一通訊信息后,與終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的第二通訊信息共同存儲(chǔ)在通訊信息數(shù)據(jù)庫(kù)中,因而,本實(shí)施例實(shí)現(xiàn)了收集終端用戶完整的通訊信息的目的。
圖2為本發(fā)明提供的另一種通訊信息收集方法流程圖。以下步驟204和步驟205為步驟104的進(jìn)一步細(xì)化。如圖2所示,本實(shí)施例包括:
步驟201:通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;通知消息用于通知終端用戶已收到對(duì)端用戶發(fā)送的消息。
步驟202:在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取通知消息。
步驟203:從通知消息中解析出第一通訊信息;第一通訊信息至少包括以下內(nèi)容:通訊內(nèi)容、包名、通訊標(biāo)題、即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)、對(duì)端用戶名以及與即時(shí)通訊應(yīng)用軟件綁定的對(duì)端用戶的終端號(hào)碼。
步驟204:根據(jù)第一通訊信息中的對(duì)端用戶的終端號(hào)碼,在第一數(shù)據(jù)庫(kù)中查找與第一通訊信息關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到第一數(shù)據(jù)庫(kù)中,第一數(shù)據(jù)庫(kù)用于存儲(chǔ)從通知消息中提取的第一通訊信息;
第一數(shù)據(jù)庫(kù)中第一通訊信息以對(duì)端用戶的終端號(hào)碼為索引進(jìn)行存儲(chǔ)。
初始化時(shí),第一數(shù)據(jù)庫(kù)為空,在運(yùn)行一段時(shí)間后,在第一數(shù)據(jù)庫(kù)中已經(jīng)存儲(chǔ)有第一通訊信息,有可能存儲(chǔ)的第一通訊信息的對(duì)端用戶與當(dāng)前第一通訊信息的對(duì)端用戶是同一人,可以將對(duì)端用戶的終端號(hào)碼相同的第一通訊信息進(jìn)行關(guān)聯(lián),并合并存儲(chǔ)。例如,當(dāng)前從通知消息中解析出的第一通訊信息為:終端號(hào)碼為11111、通訊內(nèi)容為x1x1x1、通訊標(biāo)題為Y1Y1Y1、即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)為WEIXIN;根據(jù)終端號(hào)碼1111在第一數(shù)據(jù)庫(kù)中查找到與當(dāng)前第一通訊信息相關(guān)聯(lián)的通訊信息為:終端號(hào)碼為11111、通訊內(nèi)容為x2x2x2、通訊標(biāo)題為Y2Y2Y2、即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)為WEIXIN,將這兩條第一通訊信息合并存儲(chǔ)。
步驟205:根據(jù)對(duì)端用戶的終端號(hào)碼,將第一數(shù)據(jù)庫(kù)與第二數(shù)據(jù)庫(kù)進(jìn)行整合,形成通訊信息數(shù)據(jù)庫(kù),第二數(shù)據(jù)庫(kù)為終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù),第二通訊信息為終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
第二數(shù)據(jù)庫(kù)中存儲(chǔ)有終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的通訊信息,這些通訊信息通常以對(duì)端用戶的終端號(hào)碼為索引進(jìn)行存儲(chǔ)。第一數(shù)據(jù)庫(kù)中第一通訊信息也以對(duì)端用戶的終端號(hào)碼為索引進(jìn)行存儲(chǔ),可以以對(duì)端用戶的終端號(hào)碼為索引,將第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù)進(jìn)行整合,形成以對(duì)端用戶的終端號(hào)碼為索引的存儲(chǔ)終端用戶完整通訊信息的通訊信息數(shù)據(jù)庫(kù)。
本實(shí)施例提供的方法,在整合第一通訊信息與第二通訊信息時(shí),先根據(jù)對(duì)端用戶的終端號(hào)碼將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù)即第一數(shù)據(jù)庫(kù),然后再根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù)與操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)進(jìn)行整合。
圖3為本發(fā)明提供的另一種通訊信息收集方法流程圖。以下步驟304和步驟305為步驟104的進(jìn)一步細(xì)化。如圖3所示,本實(shí)施例包括:
步驟301:通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;通知消息用于通知終端用戶已收到對(duì)端用戶發(fā)送的消息。
步驟302:在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取通知消息。
步驟303:從通知消息中解析出第一通訊信息;第一通訊信息至少包括以下內(nèi)容:通訊內(nèi)容、包名、通訊標(biāo)題、即時(shí)通訊應(yīng)用軟件的唯一標(biāo)識(shí)、對(duì)端用戶名以及與即時(shí)通訊應(yīng)用軟件綁定的對(duì)端用戶的終端號(hào)碼。
步驟304:根據(jù)第一通訊信息中的對(duì)端用戶的終端號(hào)碼,在通訊信息數(shù)據(jù)庫(kù)中查找與對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù);
步驟305:當(dāng)?shù)诙?shù)據(jù)庫(kù)被添加時(shí),從第二數(shù)據(jù)庫(kù)中提取被添加的第二通訊信息,根據(jù)第二通訊信息中的對(duì)端用戶的終端號(hào)碼,在通訊信息數(shù)據(jù)庫(kù)中查找與對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù),第二數(shù)據(jù)庫(kù)為終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)。
在實(shí)際情況中,步驟304和步驟305沒有先后執(zhí)行的邏輯關(guān)系,執(zhí)行的先后順序根據(jù)抓取通知消息和第二數(shù)據(jù)庫(kù)被添加的先后順序有關(guān)。
本實(shí)施例在整合第一通訊信息與第二通訊信息時(shí),先根據(jù)對(duì)端用戶的終端號(hào)碼將提取的第一通訊信息實(shí)時(shí)添加到通訊信息數(shù)據(jù)庫(kù)中,同時(shí)操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)被添加時(shí),將新添加的內(nèi)容實(shí)時(shí)更新到通訊信息數(shù)據(jù)庫(kù),從而將兩種通訊信息動(dòng)態(tài)添加到通訊信息數(shù)據(jù)庫(kù)中。
圖4為本發(fā)明提供的一種通訊信息收集裝置結(jié)構(gòu)示意圖。如圖4所示,本實(shí)施例提供的裝置包括:
監(jiān)聽模塊41,用于通過終端操作系統(tǒng)提供的通知許可服務(wù)監(jiān)聽即時(shí)通訊應(yīng)用軟件向終端用戶發(fā)起的通知消息;所述通知消息用于通知所述終端用戶已收到對(duì)端用戶發(fā)送的消息;
抓取模塊42,用于在監(jiān)聽到即時(shí)通訊應(yīng)用軟件發(fā)起通知消息時(shí),抓取所述通知消息;
解析模塊43,用于從所述通知消息中解析出第一通訊信息;所述第一通訊信息至少包括以下內(nèi)容:所述通知消息的通訊內(nèi)容,以及與所述即時(shí)通訊應(yīng)用軟件綁定的所述對(duì)端用戶的終端號(hào)碼;
關(guān)聯(lián)模塊44,用于根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù),所述通訊信息數(shù)據(jù)庫(kù)還包括從所述終端操作系統(tǒng)內(nèi)置的數(shù)據(jù)庫(kù)中獲取的第二通訊信息,所述第二通訊信息包括所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
本實(shí)施例提供的裝置,通過終端操作系統(tǒng)提供的通知許可服務(wù)實(shí)時(shí)獲取所有類型的即時(shí)通訊應(yīng)用軟件的通知消息,從通知消息中解析到終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的第一通訊信息,不需要申請(qǐng)終端操作系統(tǒng)的根訪問權(quán)限即可獲取第一通訊信息。解析到第一通訊信息后,與終端用戶利用終端上的短信功能和電話功能進(jìn)行通訊的第二通訊信息共同存儲(chǔ)在通訊信息數(shù)據(jù)庫(kù)中,因而,本實(shí)施例實(shí)現(xiàn)了收集終端用戶完整的通訊信息的目的。
進(jìn)一步,所述關(guān)聯(lián)模塊44,具體用于根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在第一數(shù)據(jù)庫(kù)中查找與所述第一通訊信息關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述第一數(shù)據(jù)庫(kù)中,所述第一數(shù)據(jù)庫(kù)用于存儲(chǔ)從所述通知消息中提取的所述第一通訊信息;根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一數(shù)據(jù)庫(kù)與第二數(shù)據(jù)庫(kù)進(jìn)行整合,形成通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
本實(shí)施例在整合第一通訊信息與第二通訊信息時(shí),先根據(jù)對(duì)端用戶的終端號(hào)碼將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù)即第一數(shù)據(jù)庫(kù),然后再根據(jù)對(duì)端用戶的終端號(hào)碼,將第一通訊信息形成獨(dú)立的數(shù)據(jù)庫(kù)與操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)進(jìn)行整合。
進(jìn)一步,所述關(guān)聯(lián)模塊44,具體用于根據(jù)所述第一通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù);當(dāng)?shù)诙?shù)據(jù)庫(kù)被添加時(shí),從所述第二數(shù)據(jù)庫(kù)中提取被添加的第二通訊信息,根據(jù)所述第二通訊信息中的所述對(duì)端用戶的終端號(hào)碼,在所述通訊信息數(shù)據(jù)庫(kù)中查找與所述對(duì)端用戶的終端號(hào)碼關(guān)聯(lián)的通訊信息,并與查找到的通訊信息合并存儲(chǔ)到所述通訊信息數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為所述終端操作系統(tǒng)內(nèi)置的用于存儲(chǔ)所述第二通訊信息的數(shù)據(jù)庫(kù)。
本實(shí)施例在整合第一通訊信息與第二通訊信息時(shí),先根據(jù)對(duì)端用戶的終端號(hào)碼將提取的第一通訊信息實(shí)時(shí)添加到通訊信息數(shù)據(jù)庫(kù)中,同時(shí)操作系統(tǒng)內(nèi)置的用于存儲(chǔ)第二通訊信息的數(shù)據(jù)庫(kù)被添加時(shí),將新添加的內(nèi)容實(shí)時(shí)更新到通訊信息數(shù)據(jù)庫(kù),從而將兩種通訊信息動(dòng)態(tài)添加到通訊信息數(shù)據(jù)庫(kù)中。
為了便于區(qū)分是利用即時(shí)通訊應(yīng)用軟件的通訊信息還是利用短信或電話功能的通訊信息,可以為解析出的通訊信息增加通訊類型標(biāo)識(shí)。如圖5所示,所述裝置還包括:標(biāo)識(shí)模塊45。
標(biāo)識(shí)模塊45,用于在根據(jù)所述對(duì)端用戶的終端號(hào)碼,將所述第一通訊信息存儲(chǔ)到通訊信息數(shù)據(jù)庫(kù)之前,在所述第一通訊信息中添加第一通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第一通訊信息為所述終端用戶通過即時(shí)通訊應(yīng)用軟件進(jìn)行通訊時(shí)的通訊信息;在所述第二通訊信息中添加第二通訊類別標(biāo)識(shí),用于標(biāo)識(shí)所述第二通訊信息為所述終端用戶利用所述終端上的短信功能和電話功能進(jìn)行通訊的通訊信息。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。