CN106953933A - 一种消息推送方法及装置、电子设备 - Google Patents
一种消息推送方法及装置、电子设备 Download PDFInfo
- Publication number
- CN106953933A CN106953933A CN201710352070.7A CN201710352070A CN106953933A CN 106953933 A CN106953933 A CN 106953933A CN 201710352070 A CN201710352070 A CN 201710352070A CN 106953933 A CN106953933 A CN 106953933A
- Authority
- CN
- China
- Prior art keywords
- message
- thread
- push
- sent
- intended recipient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开揭示了一种消息推送方法及装置、电子设备、计算机可读存储介质,该方法包括:接收为多个消息接收端推送消息的触发指令,多个消息接收端分散连接至多个线程上;根据触发指令,确定每一线程向所连接消息接收端推送消息的顺序;每一线程均按照向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将待发送的消息内容推送至所连接的消息接收端。本公开提供技术方案,通过单个进程的多个线程并发进行消息推送,每个线程可以同时执行消息推送操作,由此可以缩短完成所有消息推送端消息推送任务的时间,保证消息到达的时效性,解决现有消息到达的时效性差的问题。
Description
技术领域
本公开涉及互联网技术领域,特别涉及一种消息推送方法及装置、电子设备、计算机可读存储介质。
背景技术
随着移动通信技术的发展,移动终端的功能越来越多,除了具备通话和发送短信的基本功能外,还具备上网的功能。移动终端在运行某个移动终端软件的过程中,后台服务器通常会发送消息给移动终端,要求移动终端显示文字和图片。
有些应用场景,要实现某一时刻给所有在线用户推送彼此不同的实时消息,当存在大量在线用户时,推送这些消息需要一定的时间,为尽快的给大量在线用户推送这些实时消息,常用的方法,是单进程对所有用户进行遍历,对每个用户生成需要发送的消息,这些消息可通过实时计算得到,也可以事先计算好并存储在数据库中,发送时依次针对每个用户从数据库中读取要发送的消息进行发送。
现有方案中通过实时计算需要发送的消息内容,虽然可以免去存储所有用户待发送的消息内容的存储消耗,但需要耗费一定的计算时间,影响用户接收到消息的时效性。另外,事先计算每个用户待发送的消息内容存储于数据库中虽然可以避免实时计算消息内容的时间消耗,但同时增加了从数据库读取消息内容的时间。对于用户接收消息时效性的影响取决于实时计算消息内容的时间长或者从数据库读取消息内容的时间长。进一步的,通过单进程遍历所有的用户,当用户量很大时,遍历耗时将逐渐增大,后推送消息的用户消息到达的时效性越来越差。
发明内容
为了解决相关技术中存在的消息到达的时效性差的问题,本公开提供了一种消息推送方法。
本公开提供了一种消息推送方法,所述方法实现进程的消息推送过程,所述进程包括多个线程,所述方法包括:
接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
另一方面,本公开还提供了一种消息推送装置,所述装置用于进行消息推送,所述装置进行消息推送的进程包括多个线程,所述装置包括:
指令接收模块,用于接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
线程触发模块,用于根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
其中,所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开提供的技术方案,通过单个进程的多个线程并发进行消息推送,每个线程可以同时执行消息推送操作,由此可以缩短完成所有消息推送端消息推送任务的时间,保证消息到达的时效性,解决现有消息到达的时效性差的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本公开所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种服务器的框图;
图3是根据一示例性实施例示出的一种消息推送方法的流程图;
图4是根据一示例性实施例示出的一种消息推送方法的原理示意图;
图5是图3对应实施例的步骤S310的流程图;
图6是图3对应实施例的步骤S350的流程图;
图7是进程中的其中一个线程进行消息推送的流程图;
图8是根据一示例性实施例示出的一种消息推送装置的框图;
图9是在图8对应实施例的基础上示出的一种消息推送装置的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本公开所涉及的实施环境的示意图。该实施环境包括:服务器110和多个客户端120;
服务器110和多个客户端120之间的关联方式,包括硬件的网络关联方式和/或协议,以及二者之间往来的数据关联方式。服务器110用于向多个客户端120推送消息。该服务器110的消息推送进程包括多个线程,多个客户端120分散连接在多个线程上,从而可以实现多个线程并发向多个客户端120同时推送消息,缩短消息推送时间。客户端120可以是参与同一场游戏的多个客户端120,也可以是一起参与群聊的多个客户端120。
参见图2,图2是本公开实施例提供的一种服务器结构示意图。该服务器200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)222(例如,一个或一个以上处理器)和存储器232,一个或一个以上存储应用程序242或数据244的存储介质230(例如一个或一个以上海量存储设备)。其中,存储器232和存储介质230可以是短暂存储或持久存储。存储在存储介质230的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器222可以设置为与存储介质230通信,在服务器200上执行存储介质230中的一系列指令操作。服务器200还可以包括一个或一个以上电源226,一个或一个以上有线或无线网络接口250,一个或一个以上输入输出接口258,和/或,一个或一个以上操作系统241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。下述图3、图5-7所示实施例中所述的由服务器所执行的消息推送方法可以基于该图2所示的服务器结构。
图3是根据一示例性实施例示出的一种消息推送方法的流程图。该消息推送方法的适用范围和执行主体,例如,该方法用于图1所示实施环境的服务器110,该消息推送方法用于实现进程的消息推送过程,该进程包括多个线程。如图3所示,该消息推送方法可以由服务器110完成,该方法可以包括以下步骤。
在步骤S310中,接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
以具体场景举例来说,如即时通信需要进行群发消息时,或者游戏结束需要向参与游戏的多个客户端推送游戏结果的消息时,又或者到了某个设定的时间点,需要统一向所有连接的客户端发送消息时,服务器的消息推送进程接收为多个消息接收端推送消息的触发指令。其中,该触发指令可以由客户端向即时服务器发送,触发即时通信服务器的消息推送进程,从而实现消息推送。或者,该触发指令也可以由游戏服务器向消息服务器发送,触发消息服务器的消息推送进程,从而实现消息推送。
其中,该多个消息接收端可以是需要进行群发消息的多个客户端,也可以是一起参与游戏的多个客户端。进程根据可用虚拟内存的大小,创建多个线程,多个消息接收端分散连接至多个线程上。换句话说,多个消息接收端不会全部连接在同一个线程上。如图4所示,根据消息接收端的数量,可以将消息接收端平均分配到不同的线程上。例如,每个线程连接四个消息接收端。
图5是对图3对应实施例的步骤S310的细节进行描述的流程示意图,如图5所示,步骤S310具体包括:
在步骤S311中,接收虚拟场景中事件触发而生成的触发指令;
需要说明的是,当多个消息接收端是一起参与游戏的多个客户端时,虚拟场景中事件可以是游戏中的某个人物角色失去生命值、某个人物角色捡到宝贝、各个玩家当前的游戏比分等。当虚拟场景中出现上述事件时,服务器进程接收这些由这些事件触发生成的触发指令。
在步骤S312中,根据所述触发指令建立所述多个线程与所述消息接收端之间的连接。
其中,该触发指令可以包括消息接收端的数量,地址等信息。具体的,服务器的消息推送进程在接收到触发指令后,根据该触发指令指示的消息接收端的地址,可以建立各个线程与各个消息接收端之间的连接。
举例来说,假设线程的数量为4个,编号为1-4;消息接收端的数量为16个,编号为1-16。那么各个消息接收端和各个线程的连接关系可以是将编号为1-4的消息接收端连接至编号为1的线程上。将编号为5-8的消息接收端连接至编号为2的线程上,依次类推。
在步骤S330中,根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
具体的,服务器的消息推送进程在接收到触发指令后,进程中的每个线程分别确定各自线程上所连接的多个消息接收端的消息推送顺序。其中,每个线程连接的多个消息接收端的地址可以以消息队列的形式排列,从而按照消息队列中每个消息接收端的先后顺序,确定每个线程向多个消息接收端推送消息的先后顺序。
在步骤S350中,所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
需要说明的是,当进程接收到触发指令,需要进行消息推送时,进程创建的每个线程同时执行消息推送操作。每个线程均按照各自连接的消息接收端的消息推送顺序,依次为连接的消息接收端获取消息内容,并将消息内容推送至消息接收端。由于多个线程并发进行消息推送,由此可以缩短完成所有消息接收端的消息推送任务的时间。
以图1所示应用场景举例来说,当存在多个客户端120,需要对多个客户端120同时推送消息时,现有技术通过单个进程依次遍历所有客户端120进行消息推送,当客户端120数量很大时,遍历所有客户端120的耗时逐渐增大,对于后推送消息的客户端120来言,消息到达的是消息越来越差。
本公开上述示例性实施例提供的消息推送方法,该方法通过单个进程的多个线程并发进行消息推送,每个线程可以同时执行消息推送操作,由此可以缩短完成所有消息推送端消息推送任务的时间,保证消息到达的时效性,解决现有消息到达的时效性差的问题。
图6是对图3对应实施例的步骤S350的细节进行描述的流程示意图,每一线程均执行步骤S351-步骤S354完成消息推送操作。如图6所示,步骤S350具体包括:
在步骤S351中,按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端;
需要说明的是,服务器推送消息的进程包括多个线程,多个线程同时执行消息推送操作。其中,每个线程均可以采用步骤S351-步骤S354的流程实现消息推送。为了便于说明,以某一线程(如线程1)的执行过程为例进行说明,其他线程的执行过程可以参照线程1。如图7所示,线程1在确定了线程上连接的消息接收端的消息推送顺序后,选择第一个消息接收端作为目标接收端;
在步骤S352中,从共享内存区域获取所述目标接收端的待发送的消息内容;
具体的,在选择了目标接收端后,如图7所示,线程1从共享内存区域中获取预先存储的该目标接收端对应的消息内容。由于从共享内存中读取消息内容要比从DB数据库中读取消息内容的速度快很多,由此,每个线程从共享内存中获取消息内容进一步提高了消息推送性能,缩短了消息推送时间。
需要说明的是,在步骤S310之后,本公开示例性实施例提供的方法还可以包括以下步骤:
在步骤S321中,根据所述触发指令,获得对应于所述消息接收端的待发送的消息内容;
其中,每个消息接收端的消息内容可以相同也可以不同,每个消息接收端对应的消息内容可以通过现有的算法计算得到。举例来说,根据可以游戏的比赛结果,向不同的消息接收端推送不同的奖励品、比分、名词等消息内容。这些消息内容的计算方式可以采用现有技术进行,对此不作限定。
在步骤S322中:按照所述消息接收端所连接的线程,将对应于所述消息接收端的待发送的消息内容存储至所述线程对应的共享内存区域。
需要解释的是,为了进一步提高从共享内存中读取消息内容的速度,事先往共享内存中存储消息内容时,可以将消息内容进行分类。将同一个线程所对应消息接收端的消息内容存储共享内存的同一个区域。由此可以避免每个线程从所有消息内存中遍历查找所需的消息内容。如图4所示,共享内存可以包括多个存储块,一个存储块代表共享内存的一个区域,每个存储块分别对应不同的线程。
具体的,服务器的消息推送进程在获得了每个消息接收端对应的消息内容后,按照消息接收端所连接的线程,将连接同一个线程的消息接收端对应的消息内容存储在共存内存的同一个存储块中。每个存储块都有各自的地址信息,根据每个线程对应的存储块的地址信息,可以将每个线程所对应的消息接收端的消息内容存储在指定地址的存储块中。
举例来说,连接线程1的所有消息接收端的消息内容存储至线程1对应的共享内存区域,如图4所示的第一个存储块,从而线程1在为连接的消息接收端获取消息内容时,只需从第一个存储块中查找消息内容,无需遍历共享内存中的所有消息,由此来缩短消息推送的时间。
在上述示例性实施例的基础上,步骤S352从共享内存区域获取所述目标接收端的待发送的消息内容,包括:
从所述目标接收端所连接线程对应的共享内存区域,获取为所述目标接收端存储的待发送的消息内容。
举例来说,线程1选择目标接收端后,线程1可以从对应的第一个存储块中,为该目标接收端获取对应的消息内容。线程2可以从对应的第二个存储块中,为线程2选择的目标接收端获取对应的消息内容,依次类推。
在步骤S353中,向所述目标接收端推送所述待发送的消息内容;
以线程1举例来说,如图7所示,线程1获取到目标接收端对应的消息内容后,向目标接收端推送该消息内容。当然,在线程1推送消息的同时,其他线程也在进行消息推送操作。
在步骤S354中,根据所述向所连接消息接收端推送消息的顺序判断是否存在下一目标接收端,如果为是,则返回步骤S351按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端,如果为否,则结束所在线程的消息推送操作。
具体的,如图7所示,线程1向第一个消息接收端(即目标接收端)推送消息内容后,判断是否是最后一个消息接收端,即是否存在下一个目标接收端。如果是最后一个消息接收端,线程1的消息推送任务结束。如果存在下一个消息接收端,即存在下一个目标接收端,线程1选择下一个消息接收端作为目标接收端,然后继续为该目标接收端获取消息内容然后进行消息推送,直到为线程1上的所有消息接收端完成消息推送任务。
上述示例性实施例中,每个线程上的消息接收端对应的消息内容存储在每个线程对应的共享内存区域,由此每个线程无需遍历共享内存中的所有消息,只需与线程对应的共享内存区域中查找所需的消息内容即可,通过缩短获取消息内容的时间,进一步提高消息推送的时效性。
下述为本公开装置实施例,可以用于执行本公开上述服务器110执行的消息推送方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开消息推送方法实施例。
图8是根据一示例性实施例示出的一种消息推送装置的框图,该消息推送装置可以用于图1所示实施环境的服务器110中,执行图3、图5-7任一所示的消息推送方法的全部或者部分步骤,所述装置用于进行消息推送,所述装置进行消息推送的进程包括多个线程。如图8所示,该消息推送装置包括但不限于:指令接收模块810和线程触发模块830;
指令接收模块810,用于接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
线程触发模块830,用于根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
其中,所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
上述装置中各个模块的功能和作用的实现过程具体详见上述消息推送方法中对应步骤的实现过程,在此不再赘述。
指令接收模块810比如可以是图2中的某一个物理结构输入输出接口258。
线程触发模块830也可以是功能模块,用于执行上述消息推送方法中的对应步骤。可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的中央处理器222所执行的存储在存储器232中的程序。
可选的,上述指令接收模块810可以包括但不限于:
指令接收单元,用于接收虚拟场景中事件触发而生成的触发指令;
连接建立单元,用于根据所述触发指令建立所述多个线程与所述消息接收端之间的连接。
如图9所示,在图8对应实施例的基础上,本公开提供的消息推送装置还可以包括但不限于:目标选择模块910、消息获取模块930、消息推送模块950以及循环推送模块970;
目标选择模块910,用于按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端;
消息获取模块930,用于从共享内存区域获取所述目标接收端的待发送的消息内容;
消息推送模块950,用于向所述目标接收端推送所述待发送的消息内容;
循环推送模块970,用于根据所述向所连接消息接收端推送消息的顺序判断是否存在下一目标接收端,如果为是,继续由目标选择模块910按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端,如果为否,则结束所在线程的消息推送操作。
可选的,所述装置还可以包括但不限于:
消息获得模块,用于根据所述触发指令,获得对应于所述消息接收端的待发送的消息内容;
消息存储模块,用于按照所述消息接收端所连接的线程,将对应于所述消息接收端的待发送的消息内容存储至所述线程对应的共享内存区域。
可选的,所述消息获取模块930可以包括但不限于:
消息获取单元,用于从所述目标接收端所连接线程对应的共享内存区域,获取为所述目标接收端存储的待发送的消息内容。
可选的,本公开还提供一种电子设备,该电子设备可以用于图1所示实施环境的服务器110中,执行图3、图5-7任一所示的消息推送方法的全部或者部分步骤。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述任一实施例所述的消息推送方法。
该实施例中的装置的处理器执行操作的具体方式已经在有关该消息推送方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该计算机可读存储介质存储有计算机程序,所述计算机程序可由服务器200的中央处理器222执行以完成上述任一实施例所述的消息推送方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种消息推送方法,其特征在于,所述方法实现进程的消息推送过程,所述进程包括多个线程,所述方法包括:
接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
2.根据权利要求1所述的方法,其特征在于,所述接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上,包括:
接收虚拟场景中事件触发而生成的触发指令;
根据所述触发指令建立所述多个线程与所述消息接收端之间的连接。
3.根据权利要求1所述的方法,其特征在于,所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端,包括:
按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端;
从共享内存区域获取所述目标接收端的待发送的消息内容;
向所述目标接收端推送所述待发送的消息内容;
根据所述向所连接消息接收端推送消息的顺序判断是否存在下一目标接收端,如果为是,则返回按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端的步骤,如果为否,则结束所在线程的消息推送操作。
4.根据权利要求3所述的方法,其特征在于,所述接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上之后,所述方法还包括:
根据所述触发指令,获得对应于所述消息接收端的待发送的消息内容;
按照所述消息接收端所连接的线程,将对应于所述消息接收端的待发送的消息内容存储至所述线程对应的共享内存区域。
5.根据权利要求4所述的方法,其特征在于,所述从共享内存区域获取所述目标接收端的待发送的消息内容,包括:
从所述目标接收端所连接线程对应的共享内存区域,获取为所述目标接收端存储的待发送的消息内容。
6.一种消息推送装置,其特征在于,所述装置用于进行消息推送,所述装置进行消息推送的进程包括多个线程,所述装置包括:
指令接收模块,用于接收为多个消息接收端推送消息的触发指令,所述多个消息接收端分散连接至所述多个线程上;
线程触发模块,用于根据所述触发指令,确定每一线程向所连接消息接收端推送消息的顺序;
其中,所述每一线程均按照所述向所连接消息接收端推送消息的顺序,依次为所连接的消息接收端获取待发送的消息内容并将所述待发送的消息内容推送至所连接的消息接收端。
7.根据权利要求6所述的装置,其特征在于,所述指令接收模块包括:
指令接收单元,用于接收虚拟场景中事件触发而生成的触发指令;
连接建立单元,用于根据所述触发指令建立所述多个线程与所述消息接收端之间的连接。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
目标选择模块,用于按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端;
消息获取模块,用于从共享内存区域获取所述目标接收端的待发送的消息内容;
消息推送模块,用于向所述目标接收端推送所述待发送的消息内容;
循环推送模块,用于根据所述向所连接消息接收端推送消息的顺序判断是否存在下一目标接收端,如果为是,继续由目标选择模块按照所述向所连接消息接收端推送消息的顺序,在所连接的消息接收端中选择消息推送的目标接收端,如果为否,则结束所在线程的消息推送操作。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
消息获得模块,用于根据所述触发指令指示,获得对应于所述消息接收端的待发送的消息内容;
消息存储模块,用于按照所述消息接收端所连接的线程,将对应于所述消息接收端的待发送的消息内容存储至所述线程对应的共享内存区域。
10.根据权利要求9所述的装置,其特征在于,所述消息获取模块包括:
消息获取单元,用于从所述目标接收端所连接线程对应的共享内存区域,获取为所述目标接收端存储的待发送的消息内容。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任意一项所述的消息推送方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可由处理器执行完成权利要求1-5任意一项所述的消息推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352070.7A CN106953933B (zh) | 2017-05-18 | 2017-05-18 | 一种消息推送方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352070.7A CN106953933B (zh) | 2017-05-18 | 2017-05-18 | 一种消息推送方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106953933A true CN106953933A (zh) | 2017-07-14 |
CN106953933B CN106953933B (zh) | 2018-09-11 |
Family
ID=59479760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710352070.7A Active CN106953933B (zh) | 2017-05-18 | 2017-05-18 | 一种消息推送方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106953933B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689984A (zh) * | 2017-07-27 | 2018-02-13 | 上海壹账通金融科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN109617941A (zh) * | 2018-10-22 | 2019-04-12 | 中国平安财产保险股份有限公司 | 数据推送方法、装置、计算机设备及计算机可读存储介质 |
CN111475759A (zh) * | 2020-04-08 | 2020-07-31 | 广州市百果园信息技术有限公司 | 一种消息推送平台、方法、装置、服务器和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8260864B2 (en) * | 2008-02-13 | 2012-09-04 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器系统 |
CN105471722A (zh) * | 2015-12-31 | 2016-04-06 | 深圳前海微众银行股份有限公司 | 消息处理方法和装置 |
US9565264B1 (en) * | 2013-07-24 | 2017-02-07 | Sprint Communications Company L.P. | True push architecture for internet protocol notification |
CN106550021A (zh) * | 2016-10-19 | 2017-03-29 | 广东欧珀移动通信有限公司 | 推送消息的推送方法及装置 |
-
2017
- 2017-05-18 CN CN201710352070.7A patent/CN106953933B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8260864B2 (en) * | 2008-02-13 | 2012-09-04 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器系统 |
US9565264B1 (en) * | 2013-07-24 | 2017-02-07 | Sprint Communications Company L.P. | True push architecture for internet protocol notification |
CN105471722A (zh) * | 2015-12-31 | 2016-04-06 | 深圳前海微众银行股份有限公司 | 消息处理方法和装置 |
CN106550021A (zh) * | 2016-10-19 | 2017-03-29 | 广东欧珀移动通信有限公司 | 推送消息的推送方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689984A (zh) * | 2017-07-27 | 2018-02-13 | 上海壹账通金融科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN107689984B (zh) * | 2017-07-27 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN109617941A (zh) * | 2018-10-22 | 2019-04-12 | 中国平安财产保险股份有限公司 | 数据推送方法、装置、计算机设备及计算机可读存储介质 |
CN111475759A (zh) * | 2020-04-08 | 2020-07-31 | 广州市百果园信息技术有限公司 | 一种消息推送平台、方法、装置、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106953933B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Du et al. | Learning resource allocation and pricing for cloud profit maximization | |
EP1670207A1 (en) | Method and apparatus for real-time graphical exploration of interconnected communication users | |
US9722869B2 (en) | Sharing an application configuration among social networks | |
CN103889524B (zh) | 信息处理系统、信息处理方法、信息处理程序、存储信息处理程序的计算机可读记录介质、数据结构、信息处理服务器和信息处理终端 | |
CN104243590B (zh) | 资源对象推荐方法和装置 | |
CN110109746A (zh) | 一种任务处理方法、装置、设备及介质 | |
CN106953933B (zh) | 一种消息推送方法及装置、电子设备 | |
JP7313467B2 (ja) | サーバーの負荷予測及び高度なパフォーマンス測定 | |
WO2014146441A1 (en) | Method, server and system for processing task data | |
CN106232193A (zh) | 使用检索到的部分用户数据的游戏进展 | |
CN109756766A (zh) | 直播平台的虚拟礼物显示方法、存储介质、电子设备及系统 | |
US11845005B2 (en) | Game quality-centric matchmaking for online gaming | |
JP2024072870A (ja) | ビデオゲームにおけるサーバベースのビデオヘルプ | |
US20150050999A1 (en) | Method for providing an online game enabling the user to change the shape of an item and a system thereof | |
CN108553904A (zh) | 一种游戏匹配方法、装置、电子设备及介质 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
US9149725B2 (en) | Method and server for PVP team matching in computer games | |
US9280384B2 (en) | Method, server and system for processing task data | |
CN116570928A (zh) | 一种基于nft的信息处理方法、装置和服务器 | |
CN106294146B (zh) | 参数替换测试方法及装置 | |
TWI475407B (zh) | 藉由預期之預處理減少伺服之應用程式之潛時 | |
CN115686300A (zh) | 用户互动的方法、装置、设备和存储介质 | |
CN109316753A (zh) | 一种组队的方法、装置及电子设备 | |
CN108829824B (zh) | 互联网运营活动中的资源处理方法及装置 | |
CN109889425A (zh) | 一种客户端的互动方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |