两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

消息推送方法及系統(tǒng)與流程

文檔序號(hào):12463751閱讀:641來(lái)源:國(guó)知局
消息推送方法及系統(tǒng)與流程

本發(fā)明涉及通訊領(lǐng)域,特別涉及一種多線程任務(wù)模式的消息推送方法及系統(tǒng)。



背景技術(shù):

現(xiàn)有的消息推送方式采用單線程工作模式,即無(wú)論消息的數(shù)量有多大,都是逐條推送的。舉個(gè)例子,一個(gè)活動(dòng)推廣需要推送幾十萬(wàn)的消息量,采用現(xiàn)有的消息推送方式動(dòng)輒需要十幾個(gè)小時(shí)才能推送完成,推送耗時(shí)過(guò)長(zhǎng)、推送效率低下,難以適應(yīng)現(xiàn)在活動(dòng)推廣的步伐。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問(wèn)題是為了克服現(xiàn)有技術(shù)中采用單線程方式推送消息導(dǎo)致推送效率低下的缺陷,提供一種多線程任務(wù)模式的消息推送方法及系統(tǒng)。

本發(fā)明是通過(guò)下述技術(shù)方案來(lái)解決上述技術(shù)問(wèn)題的:

一種消息推送方法,其特點(diǎn)在于,包括以下步驟:

S1、通過(guò)主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息,并將所述待推送消息放入消息隊(duì)列中;

S2、分別通過(guò)多個(gè)消費(fèi)線程定時(shí)從所述消息隊(duì)列中獲取待推送消息,并將獲取的待推送消息依次推送至外部設(shè)備;

S3、判斷所述消息隊(duì)列是否為空,若是,則執(zhí)行步驟S1,若否,執(zhí)行步驟S2。

較佳地,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的數(shù)量均為至少一個(gè)。

較佳地,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的周期不同。

較佳地,所述外部設(shè)備為移動(dòng)終端。

本發(fā)明還提供一種消息推送系統(tǒng),其特點(diǎn)在于,包括:

生產(chǎn)任務(wù)模塊,用于通過(guò)主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息,并將所述待推送消息放入消息隊(duì)列中;

消費(fèi)任務(wù)模塊,用于分別通過(guò)多個(gè)消費(fèi)線程定時(shí)從所述消息隊(duì)列中獲取待推送消息,并將獲取的待推送消息依次推送至外部設(shè)備;

判斷模塊,用于判斷所述消息隊(duì)列是否為空,并在是的情況下調(diào)用所述生產(chǎn)任務(wù)模塊,以及在否的情況下調(diào)用所述消費(fèi)任務(wù)模塊。

較佳地,所述消費(fèi)任務(wù)模塊中,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的數(shù)量均為至少一個(gè)。

較佳地,所述消費(fèi)任務(wù)模塊中,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的周期不同。

較佳地,所述外部設(shè)備為移動(dòng)終端。

在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。

本發(fā)明的積極進(jìn)步效果在于:與現(xiàn)有技術(shù)相比,本發(fā)明采用多線程任務(wù)模式向外部設(shè)備推送消息,具體地,采用通過(guò)設(shè)定主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息并將其放入消息隊(duì)列中,通過(guò)設(shè)定多個(gè)消費(fèi)線程定時(shí)到消息隊(duì)列中消費(fèi),實(shí)現(xiàn)了一次性大量推送消息的目的,提高了推送效率。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例的消息推送方法的流程圖。

圖2為本發(fā)明實(shí)施例的消息推送系統(tǒng)的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面通過(guò)實(shí)施例的方式進(jìn)一步說(shuō)明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。

本實(shí)施例提供一種消息推送方法,如圖1所示,包括以下步驟:

步驟101、通過(guò)主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息,并將所述待推送消息放入消息隊(duì)列中。

步驟102、分別通過(guò)多個(gè)消費(fèi)線程定時(shí)從所述消息隊(duì)列中獲取待推送消息,并將獲取的待推送消息依次推送至外部設(shè)備。

本實(shí)施例中,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的數(shù)量可以為一個(gè),也可以為多個(gè)。另外,不同消費(fèi)線程從消息隊(duì)列中獲取待推送消息的數(shù)量可以相同,也可以不同。

本實(shí)施例中,通過(guò)每個(gè)消費(fèi)線程從所述消息隊(duì)列中獲取待推送消息的周期不同,例如,消費(fèi)線程A1每隔10ms從消息隊(duì)列中獲取一次待推送消息,消費(fèi)線程A2每隔7ms從消息隊(duì)列中獲取一次待推送消息。

所述外部設(shè)備可以為移動(dòng)終端,例如手機(jī)、平板電腦等。每個(gè)消費(fèi)線程依次將從消息隊(duì)列中獲取到的待推送消息推送至外部設(shè)備,直至將所有獲取到的待推送消息推送完畢。

步驟103、判斷所述消息隊(duì)列是否為空,若是,則返回步驟101,若否,則返回步驟102。

通過(guò)主線程從已有的數(shù)據(jù)庫(kù)消息表中獲取若干個(gè)待推送消息,并將獲取的待推送消息放入消息隊(duì)列中。需要說(shuō)明的是,數(shù)據(jù)庫(kù)消息表的待推送消息是實(shí)時(shí)增加的,當(dāng)消息隊(duì)列中待推送消息的數(shù)量為0時(shí),說(shuō)明已經(jīng)完全被消費(fèi)線程所消費(fèi),這時(shí)再通過(guò)主線程從數(shù)據(jù)庫(kù)消息表中獲取新的待推送消息,并將其放入消息隊(duì)列中,以供多個(gè)消費(fèi)線程消費(fèi)。這里所說(shuō)的消費(fèi)是指,消費(fèi)線程從消息隊(duì)列中獲取待推送消息。

舉個(gè)具體的例子,設(shè)主線程從數(shù)據(jù)庫(kù)消息表中獲取了10000條與活動(dòng)推廣相關(guān)的待推送消息,并將這些消息放入了消息隊(duì)列中。消費(fèi)線程的個(gè)數(shù)為15個(gè),其中10個(gè)消費(fèi)線程均每隔20ms從消息隊(duì)列中獲取一次待推送消息,每次獲取的數(shù)量為3條,且每個(gè)消費(fèi)線程20ms內(nèi)發(fā)送完這3條消息,另外5個(gè)消費(fèi)線程均每隔5ms從消息隊(duì)列中獲取一次待推送消息,每次獲取的數(shù)量為1條,且每個(gè)消費(fèi)線程5ms內(nèi)發(fā)送完這1條消息。那么只需要4s就能夠?qū)⑦@10000條待推送消息推送至大量的移動(dòng)終端中,大大提升了活動(dòng)推廣的效率。

與現(xiàn)有技術(shù)相比,本實(shí)施例采用多線程任務(wù)模式向外部設(shè)備推送消息,具體地,采用通過(guò)設(shè)定主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息并將其放入消息隊(duì)列中,通過(guò)設(shè)定多個(gè)消費(fèi)線程定時(shí)到消息隊(duì)列中消費(fèi),實(shí)現(xiàn)了一次性大量推送消息的目的,提高了推送效率。

本實(shí)施例還提供一種消息推送系統(tǒng)20,如圖2所示,包括生產(chǎn)任務(wù)模塊21、消費(fèi)任務(wù)模塊22和判斷模塊23。

生產(chǎn)任務(wù)模塊21用于通過(guò)主線程從數(shù)據(jù)庫(kù)消息表中獲取待推送消息,并將所述待推送消息放入消息隊(duì)列中;

消費(fèi)任務(wù)模塊22用于分別通過(guò)多個(gè)消費(fèi)線程定時(shí)從所述消息隊(duì)列中獲取待推送消息,并將獲取的待推送消息依次推送至外部設(shè)備;

判斷模塊23用于判斷所述消息隊(duì)列是否為空,并在是的情況下調(diào)用生產(chǎn)任務(wù)模塊21,以及在否的情況下調(diào)用消費(fèi)任務(wù)模塊22。

雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說(shuō)明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書(shū)限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德州市| 博野县| 全南县| 文化| 新和县| 随州市| 南岸区| 临夏县| 全南县| 贵阳市| 松滋市| 北海市| 公安县| 隆安县| 罗平县| 探索| 梅河口市| 信丰县| 利辛县| 汕头市| 桂阳县| 依兰县| 周口市| 仪征市| 合阳县| 大同县| 二手房| 清远市| 屏东县| 彰武县| 明光市| 北票市| 洛阳市| 彭水| 繁昌县| 寿宁县| 尖扎县| 漳平市| 韶关市| 武鸣县| 临沭县|