專利名稱:一種即時通信消息的過濾方法及即時通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于即時通信領(lǐng)域,尤其涉及即時通信中對用戶消息進(jìn)行接收管理的方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)即時通信(Instant Messenger,簡稱IM)是一種基于互聯(lián)網(wǎng)的通訊服務(wù),以實現(xiàn)網(wǎng)絡(luò)上的即時通訊功能為主,可以通過點對點技術(shù)來實現(xiàn)用戶之間的即時溝通,得到了廣泛的應(yīng)用。因此,對用戶通信的安全性提出了越來越高的要求。在用戶進(jìn)行即時通信的過程中,即時通信消息的發(fā)送與接收是最重要的溝通方式,用戶通過這種簡單的消息發(fā)送與接收保持與其他用戶之間高效的信息交流。但用戶經(jīng)常會收到其他用戶發(fā)來的一些非法的、無聊的消息,造成了對用戶不必要的干擾,因此需要對其他用戶的消息進(jìn)行相應(yīng)的屏蔽。
當(dāng)前對用戶消息進(jìn)行屏蔽的方式是用戶可以設(shè)置完全不接收某個用戶的消息,當(dāng)用戶收到被阻止的用戶發(fā)來的消息后,則直接丟棄該用戶的消息,不做顯示和保存處理。該方案由于完全阻止接收某個用戶的消息,不能根據(jù)用戶消息的內(nèi)容進(jìn)行有選擇性的接收,使得用戶對消息接收的管理缺乏足夠的靈活性。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種即時通信消息的過濾方法,旨在解決現(xiàn)有技術(shù)中存在的不能根據(jù)用戶消息的內(nèi)容進(jìn)行有選擇性的接收,使得用戶對消息接收的管理缺乏足夠的靈活性的問題。
本發(fā)明的另一個目的在于提供一種即時通信系統(tǒng)。
本發(fā)明是這樣實現(xiàn)的,一種即時通信消息的過濾方法,所述方法包括下述步驟A.設(shè)置即時通信消息過濾字段信息;B.根據(jù)所述消息過濾字段信息對接收到的即時通信消息進(jìn)行過濾,如果所述即時通信消息包含有需要過濾的消息過濾字段,則丟棄所述即時通信消息,否則提示用戶接收所述即時通信消息。
所述步驟A進(jìn)一步包括下述步驟A1.設(shè)置并保存針對特定即時通信用戶的消息過濾字段信息;A2.將保存的消息過濾字段信息發(fā)送到即時通信服務(wù)器保存。
所述步驟B進(jìn)一步包括下述步驟B1.查找與發(fā)送所述即時通信消息的用戶對應(yīng)的消息過濾字段信息;B2.分解所述消息過濾字段信息,生成消息過濾字符串?dāng)?shù)組;B3.根據(jù)所述消息過濾字符串?dāng)?shù)組解析所述即時通信消息,判斷所述即時通信消息中是否包含需要過濾的消息過濾字符串,如果包含則執(zhí)行步驟B4,否則執(zhí)行步驟B5;B4.丟棄所述即時通信消息;B5.提示用戶接收所述即時通信消息。
在所述步驟B1之前進(jìn)一步包括下述步驟B0.判斷與發(fā)送所述即時通信消息的用戶是否被阻止,是則執(zhí)行步驟B4,否則執(zhí)行步驟B1。
一種即時通信系統(tǒng),所述系統(tǒng)包括消息過濾字段設(shè)置單元,用于設(shè)置即時通信消息過濾字段信息;以及消息過濾單元,用于根據(jù)所述消息過濾字段信息對接收到的即時通信消息進(jìn)行過濾,如果所述即時通信消息包含有需要過濾的消息過濾字段,則丟棄所述即時通信消息,否則提示用戶接收所述即時通信消息。
所述消息過濾字段設(shè)置單元進(jìn)一步包括消息過濾字段設(shè)置模塊,用于設(shè)置針對特定即時通信用戶的消息過濾字段信息;消息過濾數(shù)據(jù)庫,用于保存所述消息過濾字段信息。
所述消息過濾單元進(jìn)一步包括消息收發(fā)模塊,用于接收即時通信消息;消息過濾字段分解模塊,用于分解所述消息過濾字段信息,生成消息過濾字符串?dāng)?shù)組;消息過濾模塊,用于根據(jù)所述消息過濾字符串?dāng)?shù)據(jù)解析所述即時通信消息,判斷所述即時通信消息中是否包含需要過濾的消息過濾字符串;消息通知模塊,用于在所述即時通信消息中不包含需要過濾的消息過濾字符串時通知用戶接收所述即時通信消息。
本發(fā)明根據(jù)消息內(nèi)容對即時通信消息進(jìn)行過濾,可以實現(xiàn)用戶只接收某個用戶發(fā)來的部分消息,拒絕被阻止的消息,減少了無用消息對用戶的干擾,增強(qiáng)了用戶消息接收管理的有效性和靈活性。
圖1是適用本發(fā)明的即時通信系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2是本發(fā)明提供的設(shè)置消息過濾字段信息的實現(xiàn)流程圖;圖3是本發(fā)明提供的對即時通信消息進(jìn)行過濾的實現(xiàn)流程圖;圖4是本發(fā)明提供的即時通信系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明根據(jù)即時通信消息的內(nèi)容對消息進(jìn)行過濾,如果接收到的消息內(nèi)容包含用戶設(shè)置的阻止內(nèi)容時,則不接收該消息,直接丟棄,如果接收到的消息內(nèi)容不包含用戶設(shè)置的阻止內(nèi)容時,則提示用戶接收該好友消息。
圖1示出了適用本發(fā)明的即時通信系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),多個即時通信客戶端與即時通信服務(wù)器相連。即時通信服務(wù)器中保存有即時通信用戶的用戶信息,例如即時通信號碼、用戶名以及登錄密碼等,以及即時通信用戶的好友信息,例如好友的即時通信號碼、用戶名等。即時通信客戶端中裝載有即時通信客戶端子系統(tǒng),用戶通過即時通信客戶端登錄即時通信服務(wù)器,進(jìn)行身份驗證,身份驗證通過后,用戶通過即時通信客戶端與其他用戶之間進(jìn)行點對點通信,相互發(fā)送和接收即時通信消息以及數(shù)據(jù)等。
圖2示出了設(shè)置消息過濾字段信息的實現(xiàn)流程1.即時通信用戶設(shè)置需要過濾的即時通信號碼,以及與該即時通信號碼對應(yīng)的過濾內(nèi)容,保存到本地消息過濾數(shù)據(jù)庫中。
在本發(fā)明中,用戶可以針對某個即時通信號碼設(shè)置一個或者多個消息過濾字段信息,消息過濾字段之間通過字段分隔符,例如“;”隔開。當(dāng)然用戶也可以設(shè)置對來自某個即時通信號碼的所有即時通信消息全部進(jìn)行過濾,即完全阻止某個用戶的消息。
2.即時通信客戶端將設(shè)置后的需要過濾的即時通信號碼、對應(yīng)的消息過濾字段信息以及用戶的即時通信號碼組合到數(shù)據(jù)包中,對數(shù)據(jù)包進(jìn)行加密處理,利用與即時通信服務(wù)器約定的IP地址與PORT端口生成發(fā)送套接字,發(fā)送加密后的數(shù)據(jù)包給即時通信服務(wù)器。
3.即時通信服務(wù)器在約定的套接字異步接收到該數(shù)據(jù)包后,進(jìn)行解密,確認(rèn)是有效數(shù)據(jù)包后解析出數(shù)據(jù)包中的需要過濾的即時通信號碼以及對應(yīng)的消息過濾字段信息,放入用戶信息數(shù)據(jù)庫中保存,用于用戶在不同的地點登錄系統(tǒng)獲取消息過濾信息。
用戶可以根據(jù)需要修改或者解除對來自某個即時通信號碼的消息的過濾,重新提交到即時通信服務(wù)器保存。
圖3示出了對即時通信消息進(jìn)行過濾的實現(xiàn)流程,詳述如下
在步驟S301中,用戶在約定的消息接收套接字異步等待其他用戶發(fā)送的消息數(shù)據(jù)包,當(dāng)收到消息數(shù)據(jù)包后進(jìn)行解密操作,判斷是有效數(shù)據(jù)包后利用約定的協(xié)議格式解析出數(shù)據(jù)包中的發(fā)送消息的即時通信號碼以及消息內(nèi)容;在步驟S302中,利用提取得到的消息對應(yīng)的即時通信號碼查詢本地消息過濾數(shù)據(jù)庫,獲取對應(yīng)該即時通信號碼的消息過濾字段信息,對消息過濾字段信息進(jìn)行分解處理,獲取消息過濾字符串?dāng)?shù)組。具體的分解過程可以是記錄當(dāng)前起始位置數(shù)據(jù),找到字段分隔符,例如“;”,以及當(dāng)前位置數(shù)據(jù),通過起始位置以及當(dāng)前位置數(shù)據(jù)進(jìn)行切割,得到當(dāng)前消息過濾的某個消息過濾字段,通過循環(huán)處理,把切割的結(jié)果字符子集保存到消息過濾字符串?dāng)?shù)組中;在步驟S303中,遍歷步驟S302中建立的字符串?dāng)?shù)組列表,解析消息內(nèi)容中是否包含字符數(shù)組列表中的某個消息過濾字符串,如果包含,則說明該消息內(nèi)容需要進(jìn)行消息過濾,執(zhí)行步驟S304,否則執(zhí)行步驟S305。消息內(nèi)容中消息過濾字段的提取解析可以利用windows的字符操作API函數(shù)實現(xiàn)。
在步驟S304中,直接丟棄該即時通信消息,不再進(jìn)行后續(xù)的處理;在步驟S305中,提示用戶接收該消息。
本發(fā)明可以和現(xiàn)有的消息過濾方案結(jié)合使用,即當(dāng)收到即時通信消息時,首先判斷發(fā)送該消息的用戶是否屬于被阻止的用戶,如果屬于則直接丟棄該消息,否則按照上述方式對消息內(nèi)容進(jìn)行過濾判斷。
圖4示出了本發(fā)明提供的即時通信系統(tǒng)的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明相關(guān)的部分。
即時通信系統(tǒng)400設(shè)置于即時通信客戶端,包括消息過濾字段設(shè)置模401、消息過濾數(shù)據(jù)庫402、消息收發(fā)模塊403、消息過濾字段分解模塊404、消息過濾模塊405以及消息通知模塊406。
消息過濾字段設(shè)置模401用于設(shè)置針對特定的即時通信用戶的消息過濾字段信息。
消息過濾數(shù)據(jù)庫402保存設(shè)置的消息過濾字段信息,可以即時通信標(biāo)識為索引,如即時通信號碼或者即時通信用戶的用戶名。
消息收發(fā)模塊403接收其他即時通信用戶發(fā)送的即時通信消息,或者向其他即時通信用戶發(fā)送即時通信消息。同時,通過消息收發(fā)模塊403將設(shè)置的消息過濾字段信息發(fā)送到即時通信服務(wù)器保存。
當(dāng)收到即時通信消息后,消息過濾字段分解模塊404查詢消息過濾數(shù)據(jù)庫402,調(diào)取與發(fā)送該即時通信消息對應(yīng)的用戶的消息過濾字段信息,對消息過濾字段信息進(jìn)行分解處理,生成消息過濾字符串?dāng)?shù)組。消息過濾模塊405根據(jù)消息過濾字段分解模塊404提供的消息過濾字符串?dāng)?shù)組對收到的即時通信消息內(nèi)容進(jìn)行過濾,判斷即時通信消息內(nèi)容中是否含有需要過濾的字符串,如果含有則丟棄該即時通信消息,否則通過消息通知模塊406提示用戶接收該即時通信消息。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種即時通信消息的過濾方法,其特征在于,所述方法包括下述步驟A.設(shè)置即時通信消息過濾字段信息;B.根據(jù)所述消息過濾字段信息對接收到的即時通信消息進(jìn)行過濾,如果所述即時通信消息包含有需要過濾的消息過濾字段,則丟棄所述即時通信消息,否則提示用戶接收所述即時通信消息。
2.如權(quán)利要求
1所述的即時通信消息的過濾方法,其特征在于,所述步驟A進(jìn)一步包括下述步驟A1.設(shè)置并保存針對特定即時通信用戶的消息過濾字段信息;A2.將保存的消息過濾字段信息發(fā)送到即時通信服務(wù)器保存。
3.如權(quán)利要求
1或2所述的即時通信消息的過濾方法,其特征在于,所述步驟B進(jìn)一步包括下述步驟B1.查找與發(fā)送所述即時通信消息的用戶對應(yīng)的消息過濾字段信息;B2.分解所述消息過濾字段信息,生成消息過濾字符串?dāng)?shù)組;B3.根據(jù)所述消息過濾字符串?dāng)?shù)組解析所述即時通信消息,判斷所述即時通信消息中是否包含需要過濾的消息過濾字符串,如果包含則執(zhí)行步驟B4,否則執(zhí)行步驟B5;B4.丟棄所述即時通信消息;B5.提示用戶接收所述即時通信消息。
4.如權(quán)利要求
3所述的即時通信消息的過濾方法,其特征在于,在所述步驟B1之前進(jìn)一步包括下述步驟B0.判斷與發(fā)送所述即時通信消息的用戶是否被阻止,是則執(zhí)行步驟B4,否則執(zhí)行步驟B1。
5.一種即時通信系統(tǒng),其特征在于,所述系統(tǒng)包括消息過濾字段設(shè)置單元,用于設(shè)置即時通信消息過濾字段信息;以及消息過濾單元,用于根據(jù)所述消息過濾字段信息對接收到的即時通信消息進(jìn)行過濾,如果所述即時通信消息包含有需要過濾的消息過濾字段,則丟棄所述即時通信消息,否則提示用戶接收所述即時通信消息。
6.如權(quán)利要求
5所述的即時通信系統(tǒng),其特征在于,所述消息過濾字段設(shè)置單元進(jìn)一步包括消息過濾字段設(shè)置模塊,用于設(shè)置針對特定即時通信用戶的消息過濾字段信息;消息過濾數(shù)據(jù)庫,用于保存所述消息過濾字段信息。
7.如權(quán)利要求
5或6所述的即時通信系統(tǒng),其特征在于,所述消息過濾單元進(jìn)一步包括消息收發(fā)模塊,用于接收即時通信消息;消息過濾字段分解模塊,用于分解所述消息過濾字段信息,生成消息過濾字符串?dāng)?shù)組;消息過濾模塊,用于根據(jù)所述消息過濾字符串?dāng)?shù)據(jù)解析所述即時通信消息,判斷所述即時通信消息中是否包含需要過濾的消息過濾字符串;消息通知模塊,用于在所述即時通信消息中不包含需要過濾的消息過濾字符串時通知用戶接收所述即時通信消息。
專利摘要
本發(fā)明適用于即時通信領(lǐng)域,提供了一種即時通信消息的過濾方法及即時通信系統(tǒng),所述方法包括下述步驟A.設(shè)置即時通信消息過濾字段信息;B.根據(jù)所述消息過濾字段信息對接收到的即時通信消息進(jìn)行過濾,如果所述即時通信消息包含有需要過濾的消息過濾字段,則丟棄所述即時通信消息,否則提示用戶接收所述即時通信消息。本發(fā)明根據(jù)消息內(nèi)容對即時通信消息進(jìn)行過濾,可以實現(xiàn)用戶只接收某個用戶發(fā)來的部分消息,拒絕被阻止的消息,減少了無用消息對用戶的干擾,增強(qiáng)了用戶消息接收管理的有效性和靈活性。
文檔編號H04L12/58GK1996960SQ200610032606
公開日2007年7月11日 申請日期2006年1月1日
發(fā)明者李斌 申請人:騰訊科技(深圳)有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan