本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種消息群發(fā)的方法。
背景技術(shù):
隨著通信技術(shù)的快速發(fā)展,即時(shí)通訊的功能也越來越強(qiáng)大,使用各種通訊工具群發(fā)消息成為人們必不可少的交流方式。在即時(shí)通訊工具的使用人數(shù)倍增的情況下,每個(gè)用戶的聯(lián)系人數(shù)量越來越多,在消息群發(fā)時(shí),最通常的方式是對多個(gè)聯(lián)系人的消息發(fā)送是以群組方式來實(shí)現(xiàn)的,當(dāng)需要對多個(gè)聯(lián)系人發(fā)送消息時(shí),用戶需要首先建立群組,群組中有多個(gè)聯(lián)系人,用戶在群組中發(fā)消息,群組中的聯(lián)系人就可以在群組中收到用戶發(fā)送的消息。
但是這種方法,群組中的多個(gè)聯(lián)系人相互之間可以看到發(fā)送給群組中任何人的消息,不利于隱私,在用戶想要向多人發(fā)送相同消息,但希望多個(gè)聯(lián)系人之間相互并不知曉該消息為群發(fā)消息,或者在希望單獨(dú)收到回復(fù)時(shí)并不適用。
此外,用戶在群發(fā)消息時(shí),對多個(gè)聯(lián)系人若采用逐一發(fā)送,耗時(shí)且效率低下;若采用同時(shí)發(fā)送,高并發(fā)容易出現(xiàn)數(shù)據(jù)丟失,影響用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對現(xiàn)有技術(shù)的缺陷,提供一種消息群發(fā)的方法,能夠保護(hù)群發(fā)消息接受對象的多個(gè)聯(lián)系人之間的私密性,兼顧了效率和傳輸數(shù)據(jù)安全性、完整性的要求。
有鑒于此,本發(fā)明實(shí)施例提供了一種消息群發(fā)的方法,包括:
步驟1,第一用戶終端接收第一用戶輸入的群發(fā)請求指令,根據(jù)所述群發(fā)請求指令獲取聯(lián)系人信息;所述聯(lián)系人信息包括聯(lián)系人的聯(lián)系人ID;
步驟2,將所述聯(lián)系人ID進(jìn)行顯示;
步驟3,接收所述第一用戶輸入的聯(lián)系人ID的選擇指令,確定被選中的聯(lián)系人ID和所述選擇指令對應(yīng)的發(fā)生次序;
步驟4,根據(jù)所述被選中的聯(lián)系人ID和所述發(fā)生次序,生成待發(fā)送對象隊(duì)列;
步驟5,初始化發(fā)送對象群組,將所述待發(fā)送對象隊(duì)列中的前N個(gè)聯(lián)系人ID順序加入所述發(fā)送對象群組;N為正整數(shù)且N>1;
步驟6,接收所述第一用戶輸入的待發(fā)送消息;
步驟7,根據(jù)所述待發(fā)送對象隊(duì)列中的聯(lián)系人ID和所述待發(fā)送消息,生成群發(fā)信息;
步驟8,根據(jù)所述發(fā)送對象群組中的聯(lián)系人ID,發(fā)送所述群發(fā)信息;
步驟9,監(jiān)控所述群發(fā)信息的發(fā)送狀態(tài),當(dāng)完成對一個(gè)聯(lián)系人ID的群發(fā)信息發(fā)送時(shí),獲取所述待發(fā)送對象隊(duì)列中的下一個(gè)聯(lián)系人ID;
步驟10,將完成發(fā)送的所述聯(lián)系人ID移出所述發(fā)送對象群組,并將所述下一個(gè)聯(lián)系人ID加入所述發(fā)送對象群組;
步驟11,對新加入的所述下一個(gè)聯(lián)系人ID,發(fā)送相應(yīng)的群發(fā)信息;
步驟12,重復(fù)步驟9至步驟11,直至完成對所述待發(fā)送對象隊(duì)列中的全部聯(lián)系人ID的群發(fā)信息的發(fā)送。
優(yōu)選的,在所述初始化發(fā)送對象群組之前,所述方法還包括:
接收所述發(fā)送對象群組的配置信息;所述配置信息包括發(fā)送對象群組包括的聯(lián)系人ID的數(shù)量;
根據(jù)所述配置信息,確定所述N。
優(yōu)選的,所述N為3。
優(yōu)選的,根據(jù)所述待發(fā)送對象隊(duì)列的聯(lián)系人ID和所述待發(fā)送消息,生成群發(fā)信息具體為:
根據(jù)所述待發(fā)送消息和所述待發(fā)送對象隊(duì)列的聯(lián)系人ID,生成N條群發(fā)信息;所述群發(fā)信息包括:聯(lián)系人ID、所述第一用戶的用戶ID和所述待發(fā)送消息。
進(jìn)一步優(yōu)選的,在所述根據(jù)所述發(fā)送對象群組中的聯(lián)系人ID,發(fā)送所述群發(fā)信息之后,所述方法還包括:
第二用戶終端接收所述群發(fā)信息。
進(jìn)一步優(yōu)選的,所述方法還包括:
所述第二用戶終端接收第二用戶輸入的回復(fù)信息;
根據(jù)所述第一用戶的用戶ID,將所述回復(fù)信息發(fā)送給所述第一用戶終端。
本發(fā)明實(shí)施例提供的消息群發(fā)的方法,能夠保護(hù)群發(fā)消息接受對象的多個(gè)聯(lián)系人之間的私密性,兼顧了效率和傳輸數(shù)據(jù)安全性、完整性的要求。
附圖說明
圖1為本發(fā)明實(shí)施例提供的消息群發(fā)的方法的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的消息群發(fā)的方法的發(fā)送過程示意圖。
具體實(shí)施方式
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本實(shí)施例提供的消息群發(fā)的方法,應(yīng)用于即時(shí)通信工具中,對用戶的聯(lián)系人的進(jìn)行會(huì)話消息的群發(fā)。
圖1為本發(fā)明實(shí)施例提供的消息群發(fā)的方法流程圖,如圖1所示,包括:
步驟101,第一用戶終端接收第一用戶輸入的群發(fā)請求指令,根據(jù)群發(fā)請求指令獲取聯(lián)系人信息;
具體的,當(dāng)用戶需要進(jìn)行消息群發(fā)時(shí),通過第一用戶終端開啟即時(shí)通信工具,在用戶界面輸入群發(fā)請求指令。
輸入群發(fā)請求指令的動(dòng)作可以是通過點(diǎn)擊即時(shí)通信工具提供的群發(fā)助手來具體實(shí)現(xiàn)的。
第一用戶終端在接收到群發(fā)請求指令后,會(huì)根據(jù)當(dāng)前登錄的第一用戶的用戶信息獲取第一用戶的聯(lián)系人信息;其中,聯(lián)系人信息包括聯(lián)系人的聯(lián)系人ID。
步驟102,將聯(lián)系人ID進(jìn)行顯示;
具體的,將獲取到的聯(lián)系人ID進(jìn)行顯示,優(yōu)選的以列表方式順序顯示。
步驟103,接收第一用戶輸入的聯(lián)系人ID的選擇指令,確定被選中的聯(lián)系人ID和所述選擇指令對應(yīng)的發(fā)生次序;
具體的,第一用戶終端接收第一用戶輸入的聯(lián)系人ID的選擇指令,具體可以是通過用戶點(diǎn)擊用戶界面上的聯(lián)系人ID完成選擇指令的輸入。根據(jù)用戶對聯(lián)系人ID的點(diǎn)擊順序,生成選擇指令對應(yīng)的發(fā)生次序。
步驟104,根據(jù)被選中的聯(lián)系人ID和對應(yīng)的發(fā)生次序,生成待發(fā)送對象隊(duì)列;
具體的,在待發(fā)送對象隊(duì)列中,聯(lián)系人ID按照發(fā)生次序進(jìn)行順序排序。即對用戶優(yōu)先點(diǎn)擊選擇的,排列在待發(fā)送對象隊(duì)列的前面,在后續(xù)發(fā)送過程中優(yōu)先發(fā)送。
步驟105,初始化發(fā)送對象群組,將待發(fā)送對象隊(duì)列中的前N個(gè)聯(lián)系人ID順序加入所述發(fā)送對象群組;
在本例中,N為正整數(shù)且N>1;為了兼顧發(fā)送效率和信息安全性完整性,避免高并行發(fā)送造成數(shù)據(jù)丟失,優(yōu)選N=3。即同時(shí)對3個(gè)聯(lián)系人進(jìn)行消息的發(fā)送。
具體的,在初始化發(fā)送對象群組之前,可以對發(fā)送對象群組進(jìn)行配置。具體可以是接收第一用戶輸入的發(fā)送對象群組的配置信息,也可以是從服務(wù)器獲取發(fā)送對象群組的配置信息。配置信息包括發(fā)送對象群組包括的聯(lián)系人ID的數(shù)量,第一用戶終端根據(jù)配置信息,確定N。
步驟106,接收所述第一用戶輸入的待發(fā)送消息;
步驟107,根據(jù)所述待發(fā)送對象隊(duì)列中的聯(lián)系人ID和所述待發(fā)送消息,生成群發(fā)信息;
具體的,根據(jù)待發(fā)送消息和待發(fā)送對象隊(duì)列的聯(lián)系人ID,生成N條群發(fā)信息。群發(fā)信息包括:一個(gè)聯(lián)系人ID、第一用戶的用戶ID和待發(fā)送消息。
因此,群發(fā)消息之間是相互獨(dú)立的,每個(gè)都是單獨(dú)的一條消息,具有確定的一個(gè)消息接收對象。
步驟108,根據(jù)發(fā)送對象群組中的聯(lián)系人ID,發(fā)送群發(fā)信息;
具體的,對于發(fā)送對象群組中的N個(gè)聯(lián)系人ID進(jìn)行相應(yīng)的群發(fā)消息的發(fā)送,并且在第一用戶終端本地生成群發(fā)消息的發(fā)送記錄。
步驟109,監(jiān)控所述群發(fā)信息的發(fā)送狀態(tài),當(dāng)完成對一個(gè)聯(lián)系人ID的群發(fā)信息發(fā)送時(shí),獲取待發(fā)送對象隊(duì)列中的下一個(gè)聯(lián)系人ID;
步驟110,將完成發(fā)送的聯(lián)系人ID移出發(fā)送對象群組,并將下一個(gè)聯(lián)系人ID加入發(fā)送對象群組;
步驟111,對新加入的聯(lián)系人ID,發(fā)送相應(yīng)的群發(fā)信息;
具體的,在群發(fā)消息的發(fā)送過程中持續(xù)對發(fā)送狀態(tài)進(jìn)行監(jiān)控,以優(yōu)選方案為例,群發(fā)采用3線程并發(fā)執(zhí)行,也就是同時(shí)最多只能有3條群發(fā)消息同時(shí)發(fā)送的任務(wù)在執(zhí)行,按照選擇聯(lián)系人的順序發(fā)送,1條執(zhí)行完成時(shí),下一聯(lián)系人ID的立即加入發(fā)送對象隊(duì)列執(zhí)行群發(fā)消息發(fā)送。這樣既可以提高效率,又能降低網(wǎng)絡(luò)傳輸中丟失數(shù)據(jù)的風(fēng)險(xiǎn)。
步驟112,確定是否待發(fā)送對象隊(duì)列中還有新加入聯(lián)系人ID的下一個(gè)聯(lián)系人ID;
如果有,則重復(fù)步驟109至步驟112,如果沒有則結(jié)束本次消息群發(fā)流程,完成對待發(fā)送對象隊(duì)列中的全部聯(lián)系人ID的群發(fā)信息的發(fā)送。
進(jìn)一步的,在根據(jù)發(fā)送對象群組中的聯(lián)系人ID,發(fā)送群發(fā)信息之后,聯(lián)系人ID對應(yīng)的聯(lián)系人登陸的第二用戶終端接收群發(fā)信息。聯(lián)系人通過第二用戶終端輸入的回復(fù)信息;第二用戶終端根據(jù)接收到的群發(fā)消息解析得到第一用戶的用戶ID,并根據(jù)所述第一用戶的用戶ID,將回復(fù)信息發(fā)送給第一用戶終端,使得第一用戶能夠查看到該聯(lián)系人的回復(fù)。
因?yàn)槿喊l(fā)消息在發(fā)送時(shí)對于多個(gè)聯(lián)系人ID是生成了分別獨(dú)立的多條群發(fā)消息,因此有別于目前常用的群組通信功能,第一用戶的聯(lián)系人之間不能通過群發(fā)消息實(shí)現(xiàn)互相通訊,每個(gè)聯(lián)系人對第一用戶的回復(fù)是直接以一對一的消息發(fā)送方式回復(fù)給第一用戶,不會(huì)被群發(fā)消息的其他聯(lián)系人看到,這樣既保證了信息發(fā)送的效率,更保證了用戶、聯(lián)系人二者的隱私。
為便于更好的理解本發(fā)明的意圖,本實(shí)施例還提供的一個(gè)消息群發(fā)的方法的發(fā)送過程示意,具體如圖2所示。
待發(fā)送對象隊(duì)列的聯(lián)系人ID包括聯(lián)系人A、聯(lián)系人B、聯(lián)系人C、聯(lián)系人D、聯(lián)系人E,根據(jù)用戶輸入的選擇指令,確定首先將聯(lián)系人A、聯(lián)系人B、聯(lián)系人C加入發(fā)送對象群組。
對聯(lián)系人A、聯(lián)系人B、聯(lián)系人C同時(shí)發(fā)送群發(fā)消息,假設(shè)聯(lián)系人B先完成發(fā)送,則按用戶選擇指令將聯(lián)系人D順序加入到發(fā)送對象群組中,對聯(lián)系人D進(jìn)行群發(fā)消息的發(fā)送。假設(shè)聯(lián)系人A第二個(gè)完成發(fā)送,則將兩系人E加入發(fā)送對象群組中,進(jìn)行群發(fā)消息發(fā)送。
本發(fā)明實(shí)施例提供的消息群發(fā)的方法,能夠保護(hù)群發(fā)消息接受對象的多個(gè)聯(lián)系人之間的私密性,兼顧了效率和傳輸數(shù)據(jù)安全性、完整性的要求。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上所述的具體實(shí)施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。