CN117956024A - 消息推送方法、装置、系统、服务器及可读存储介质 - Google Patents
消息推送方法、装置、系统、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN117956024A CN117956024A CN202311825236.4A CN202311825236A CN117956024A CN 117956024 A CN117956024 A CN 117956024A CN 202311825236 A CN202311825236 A CN 202311825236A CN 117956024 A CN117956024 A CN 117956024A
- Authority
- CN
- China
- Prior art keywords
- identification information
- message
- client
- server
- pushing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请适用于数据通信技术领域,提供了一种消息推送方法、装置、系统、服务器及可读存储介质。所述消息推送方法包括:在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,所述第一标识信息为所述服务器的标识信息;向各个所述客户端推送所述消息。通过本申请可准确地向客户端推送消息。
Description
技术领域
本申请属于数据通信技术领域,尤其涉及一种消息推送方法、装置、系统、服务器及可读存储介质。
背景技术
WebSocket协议是一种建立长连接的协议,虽然连接建立较快,但是如果短时间内客户端并发建立连接的需求量过大,而服务端没有过多的连接可用,则会造成客户端建立连接失败。所以在项目架构、代码层面无法再优化的情况下,为了解决上述客户端建立连接失败的问题,通常会增加部署多台服务器,但这样容易导致客户端与服务器进行通信时,不是与建立连接时的服务器进行通信,从而导致客户端无法接收到消息或者接收到错误的消息。
发明内容
本申请实施例提供了一种消息推送方法、装置、系统、服务器及可读存储介质,以准确地向客户端推送消息。
第一方面,本申请实施例提供了一种消息推送方法,应用于WebSocket集群中的任一服务器,所述消息推送方法包括:
在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,所述第一标识信息为所述服务器的标识信息;
向各个所述客户端推送所述消息。
第二方面,本申请实施例提供了一种消息推送装置,应用于WebSocket集群中的任一服务器,所述消息推送装置包括:
客户端确定模块,用于在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,所述第一标识信息为所述服务器的标识信息;
消息推送模块,用于向各个所述客户端推送所述消息。
第三方面,本申请实施例提供了一种消息推送系统,所述消息推送系统包括WebSocket集群和M个客户端,WebSocket集群包括N个服务器,M为大于或者等于N的整数,N为大于1的整数;
N个所述服务器在接收到需要推送的消息时,基于各自的第一标识信息,确定至少一个已与各自建立连接的所述客户端,所述第一标识信息为对应的所述服务器的标识信息;
N个所述服务器分别向对应的所述客户端推送所述消息。
第四方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述消息推送方法的步骤。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述消息推送方法的步骤。
第六方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在服务器上运行时,使得所述服务器执行如上述第一方面所述消息推送方法的步骤。
由上可见,本方案在WebSocket集群中的任一服务器接收到需要推送的消息时,基于服务器的标识信息,可以确定至少一个已与该服务器建立连接的客户端,服务器在推送消息时是和已与其建立连接的客户端进行通信,从而可准确地向客户端推送消息,使得客户端能够接收到正确的消息。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的消息推送系统的网络架构图;
图2是本申请一实施例提供的消息推送方法的实现流程示意图;
图3是本申请另一实施例提供的消息推送方法的实现流程示意图;
图4是本申请一实施例提供的消息推送装置的结构示意图;
图5是本申请一实施例提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请一实施例提供的消息推送系统的网络架构图。为了便于说明,仅示出了与本申请实施例相关的部分。
上述消息推送系统包括WebSocket集群和M个客户端,WebSocket集群包括N个服务器,M为大于或者等于N的整数,N为大于1的整数。
N个服务器在接收到需要推送的消息时,基于各自的第一标识信息,确定已与各自建立连接的客户端,第一标识信息为对应的服务器的标识信息;
N个服务器分别向对应的客户端推送消息。
其中,本申请中的客户端与服务器之间的连接是指WebSocket连接。一个服务器对应的客户端可以是指已与该服务器建立连接的客户端。
图1是以三个服务器和三个客户端为例进行说明,但服务器的数量并不局限于三个,客户端的数量也不局限于三个,且服务器可以同时连接一个客户端或者至少两个客户端。
WebSocket集群在接收到需要推送的消息时,服务器1基于其自身的标识信息,确定已与服务器1建立连接的客户端1,并向客户端1推送消息;服务器2基于自身的标识信息,确定已与服务器2建立连接的客户端2,并向客户端2推送消息;服务器3基于自身的标识信息,确定已与服务器3建立连接的客户端3,并向客户端3推送消息。
需要说明的是,上述WebSocket集群中的每个服务器都可执行图2和图3所示的消息推送方法,具体内容可参见图2和图3的相关描述。
本实施例在WebSocket集群中的N个服务器接收到需要推送的消息时,基于各自的第一标识信息,可以确定至少一个已与各自建立连接的客户端,N个服务器在推送消息时均是和已与其建立连接的客户端进行通信,从而可准确地向客户端推送消息,使得客户端能够接收到正确的消息。
参见图2,是本申请一实施例提供的消息推送方法的实现流程示意图,该消息推送方法应用于WebSocket集群中的任一服务器。如图2所示,该消息推送方法可以包括以下步骤:
步骤201,在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端。
其中,第一标识信息为服务器的标识信息。服务器的标识信息表示服务器的唯一性,不同服务器的标识信息不同。例如,服务器的标识信息可以是服务器的网际互联协议(Internet Protocol,IP)地址、端口号(Port Number)等。
可以预先在服务器的存储器中存储第一标识信息,服务器在接收到需要推送的消息时,可以从自身的存储器中读取第一标识信息,从而基于第一标识信息,查找所有与其已建立连接的客户端。
在一应用场景中,第一客户端可以向WebSocket集群发送消息(即需要推送的消息),WebSocket集群中的各个服务器在接收到该消息之后,都基于各自的第一标识信息确定已与其建立连接的第二客户端,并向第二客户端推送该消息,从而实现消息推送。
步骤202,向各个客户端推送消息。
服务器与客户端之间已建立连接,即可以进行通信,故服务器在接收到需要推送的消息之后,可以向已与其建立连接的客户端推送消息,而不向其他客户端(即未与服务器建立连接的客户端)推送消息,从而可避免出现发错消息的情况。
在一实施例中,服务器在基于自身的标识信息(即第一标识信息),确定已与其建立连接的客户端之后,还可以先判断客户端是否为消息的接收方;若客户端是消息的接收方,则向客户端推送消息,从而将消息推送给指定客户端,避免出现发错消息的情况;若客户端不是消息的接收方,则不向客户端推送消息,避免出现发错消息的情况。其中,上述消息的接收方即是指定客户端,是需要接收到消息的客户端。
可选的,消息的发送方在向服务器发送消息时,可以在消息中携带消息的接收方的标识信息,服务器在接收到消息之后,基于消息中携带的标识信息即可从所连接的所有客户端中准确地查找到消息的接收方。其中,接收方的标识信息表示接收方的唯一性,不同接收方的标识信息不同。接收方的标识信息可以是一个能够唯一识别客户端的字符串。
需要说明的是,对于WebSocket集群中的任意一个服务器来说,与该服务器已建立连接的客户端的数量可能是一个,也可能是至少两个。在服务器连接的客户端的数量为至少两个时,服务器可以向各个客户端推送消息,也可以只向至少两个客户端中的指定客户端推送消息。
本实施例在WebSocket集群中的任一服务器接收到需要推送的消息时,基于服务器的标识信息,可以确定与该服务器已建立连接的客户端,服务器在推送消息时是和已与其建立连接的客户端进行通信,从而可准确地向客户端推送消息,使得客户端能够接收到正确的消息。
参见图3,是本申请另一实施例提供的消息推送方法的实现流程示意图,该消息推送方法应用于WebSocket集群中的任一服务器。如图3所示,该消息推送方法可以包括以下步骤:
步骤301,在接收到需要推送的消息时,基于第一标识信息,确定至少一个第二标识信息。
其中,第二标识信息是已建立连接的客户端的标识信息。客户端的标识信息可以是一个能够唯一识别客户端的字符串。
服务器在与客户端建立连接时,可以确定第一标识信息和第二标识信息,并在数据库中存储第一标识信息与第二标识信息之间的映射关系。在服务器同时连接至少两个客户端时,第一标识信息与至少两个第二标识信息之间存在映射关系,数据库中存储有第一标识信息与所有第二标识信息之间的映射关系。服务器在接收到需要推送的消息时,基于第一标识信息可以从上述数据库中查找到所有的第二标识信息。
其中,第一标识信息与第二标识信息之间的映射关系可以表示服务器与客户端之间的连接信息,反映第一标识信息对应的服务器与第二标识信息对应的客户端已建立连接。
可选的,服务器可以从自身的存储器中读取到第一标识信息。在客户端与服务器建立连接的过程中,客户端可以向服务器发送自身的标识信息,从而使得服务器可获取到第二标识信息。
需要说明的是,本申请对数据库的类型不做限定。例如,数据库可以是Redis,Redis是一个支持持久化的内存数据库,能够进行数据的快速查询。Redis是一个key-value存储系统,第一标识信息可以作为key,第二标识信息可以作为value,value的类型可以是string、list、set、zset、hash等任一类型。
上述数据库可以存储WebSocket集群中所有服务器的映射关系,并集成在其他服务器上。一个服务器的映射关系是指该服务器的标识信息(即第一标识信息)与所有已与其连接的客户端的标识信息(即第二标识信息)之间的映射关系。其他服务器可以是指除WebSocket集群之外的服务器,例如云服务器、阿里云等。
需要说明的是,在数据库集成在其他服务器上时,上述消息推送系统还可以包括集成有数据库的其他服务器(图1未示出),以便于WebSocket集群中的服务器从数据库中查找对应的客户端。
在一应用场景中,所有服务器的映射关系均存储在Redis时,基于每个服务器对应的key,可以遍历该key对应的所有value,从而将消息推送到各个客户端。
在一实施例中,若与客户端未进行通信的时长超过有效时长,则从数据库中删除第一标识信息与第二标识信息之间的映射关系。
其中,有效时长用于判断服务器与客户端是否已长时间未进行通信。可选的,用户可以根据实际需求设定有效时长,例如有效时长设定为五分钟。
在客户端由于网络异常导致无法访问服务器时,通常会导致服务器与客户端异常断开通信,从而导致服务器与客户端未进行通信的时长超过有效时间,在此种情况下,服务器与客户端之间已无法进行通信,故可以从数据库中删除第一标识信息与该客户端的标识信息(即第二标识信息)之间的映射关系,从而删除数据库中的无效数据,避免由于无效数据过多影响数据库性能。
步骤302,基于至少一个第二标识信息,确定至少一个客户端。
服务器基于第二标识信息,可以查找标识信息与第二标识信息相同的客户端,该客户端即为已与服务器建立连接的客户端。
步骤303,向各个客户端推送消息。
该步骤与步骤202相同,具体可参见步骤202的相关描述,在此不再赘述。
本实施例在WebSocket集群中的任一服务器接收到需要推送的消息时,基于服务器的标识信息,可以确定至少一个第二标识信息,从而基于第二标识信息确定所有已与该服务器建立连接的客户端,服务器在推送消息时是和已与其建立连接的客户端进行通信,从而可准确地向客户端推送消息,使得客户端能够接收到正确的消息。
参见图4,是本申请一实施例提供的消息推送装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
上述消息推送装置包括:
客户端确定模块41,用于在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,第一标识信息为服务器的标识信息;
消息推送模块42,用于向客户端推送消息。
可选的,上述客户端确定模块41包括:
第一确定单元,用于基于第一标识信息,确定至少一个第二标识信息,第二标识信息是已建立连接的客户端的标识信息;
第二确定单元,用于基于至少一个第二标识信息,确定至少一个客户端。
可选的,上述第一确定单元具体用于:
基于第一标识信息,从数据库中查找至少一个第二标识信息,数据库存储有第一标识信息与所有第二标识信息之间的映射关系。
可选的,上述消息推送装置还包括:
关系删除模块,用于若与客户端未进行通信的时长超过有效时长,则从数据库中删除第一标识信息与该客户端对应的第二标识信息之间的映射关系。
可选的,上述消息推送装置还包括:
信息处理模块,用于在与客户端建立连接时,确定第一标识信息和该客户端对应的第二标识信息,并在数据库中存储第一标识信息与该客户端对应的第二标识信息之间的映射关系。
可选的,上述消息推送模块42具体用于:
若客户端为消息的接收方,则向该客户端推送消息。
本申请实施例提供的消息推送装置可以应用在前述方法实施例中,详情参见上述方法实施例的描述,在此不再赘述。
参见图5,是本申请一实施例提供的服务器的结构示意图。如图5所示,该实施例的服务器5包括:一个或多个处理器50(图中仅示出一个)、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个消息推送方法实施例中的步骤。
所述服务器可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是服务器5的示例,并不构成对服务器5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述服务器5的内部存储单元,例如服务器5的硬盘或内存。所述存储器51也可以是所述服务器5的外部存储设备,例如所述服务器5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述服务器5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时实现可实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种消息推送方法,其特征在于,应用于WebSocket集群中的任一服务器,所述消息推送方法包括:
在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,所述第一标识信息为所述服务器的标识信息;
向各个所述客户端推送所述消息。
2.根据权利要求1所述的消息推送方法,其特征在于,所述基于第一标识信息,确定至少一个已建立连接的客户端,包括:
基于所述第一标识信息,确定至少一个第二标识信息,所述第二标识信息是已建立连接的所述客户端的标识信息;
基于至少一个所述第二标识信息,确定至少一个所述客户端。
3.根据权利要求2所述的消息推送方法,其特征在于,基于所述第一标识信息,确定对应的至少一个第二标识信息,包括:
基于所述第一标识信息,从数据库中查找至少一个所述第二标识信息,所述数据库存储有所述第一标识信息与所有所述第二标识信息之间的映射关系。
4.根据权利要求3所述的消息推送方法,其特征在于,所述消息推送方法还包括:
若与所述客户端未进行通信的时长超过有效时长,则从所述数据库中删除所述第一标识信息与该客户端对应的所述第二标识信息之间的映射关系。
5.根据权利要求3所述的消息推送方法,其特征在于,在接收到需要推送的消息之前,还包括:
在与所述客户端建立连接时,确定所述第一标识信息和该客户端对应的所述第二标识信息,并在所述数据库中存储所述第一标识信息与该客户端对应的所述第二标识信息之间的映射关系。
6.根据权利要求1至5任一项所述的消息推送方法,其特征在于,在向所述各个客户端推送所述消息之前,还包括:
若所述客户端为所述消息的接收方,则向该客户端推送所述消息。
7.一种消息推送装置,其特征在于,应用于WebSocket集群中的任一服务器,所述消息推送装置包括:
客户端确定模块,用于在接收到需要推送的消息时,基于第一标识信息,确定至少一个已建立连接的客户端,所述第一标识信息为所述服务器的标识信息;
消息推送模块,用于向各个所述客户端推送所述消息。
8.一种消息推送系统,其特征在于,所述消息推送系统包括WebSocket集群和M个客户端,WebSocket集群包括N个服务器,M为大于或者等于N的整数,N为大于1的整数;
N个所述服务器在接收到需要推送的消息时,基于各自的第一标识信息,确定至少一个已与各自建立连接的所述客户端,所述第一标识信息为对应的所述服务器的标识信息;
N个所述服务器分别向对应的所述客户端推送所述消息。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述消息推送方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述消息推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825236.4A CN117956024A (zh) | 2023-12-26 | 2023-12-26 | 消息推送方法、装置、系统、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825236.4A CN117956024A (zh) | 2023-12-26 | 2023-12-26 | 消息推送方法、装置、系统、服务器及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117956024A true CN117956024A (zh) | 2024-04-30 |
Family
ID=90804043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311825236.4A Pending CN117956024A (zh) | 2023-12-26 | 2023-12-26 | 消息推送方法、装置、系统、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117956024A (zh) |
-
2023
- 2023-12-26 CN CN202311825236.4A patent/CN117956024A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460115B (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN110856126B (zh) | 信息上报、接收方法、终端设备及存储介质 | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN111885051B (zh) | 数据验证方法、装置及电子设备 | |
CN110311855B (zh) | 用户消息处理方法、装置、电子设备及存储介质 | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
US11113706B2 (en) | Scoring information matching method and device, storage medium and server | |
CN117956024A (zh) | 消息推送方法、装置、系统、服务器及可读存储介质 | |
JP2006277158A (ja) | データ更新システム、サーバ及びプログラム | |
CN111291127B (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN112637151B (zh) | 数据消息的传输方法、终端设备、服务器及存储介质 | |
CN110020040B (zh) | 查询数据的方法、装置和系统 | |
CN116263770A (zh) | 基于数据库的业务数据存储方法、装置、终端设备及介质 | |
CN112559546B (zh) | 数据库同步方法、装置、计算机设备及可读存储介质 | |
CN114185804A (zh) | 一种接口测试方法、装置及终端设备 | |
CN110493735B (zh) | 一种短信处理方法及装置 | |
CN113726885A (zh) | 一种流量配额的调整方法和装置 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN112597119A (zh) | 一种处理日志的生成方法、装置及存储介质 | |
CN111475291A (zh) | 一种数据处理方法、系统、服务器及介质 | |
CN115987683B (zh) | 区块链网络中节点访问控制方法、装置、设备和介质 | |
CN114866594B (zh) | 设备连接管理方法、装置、系统、服务器及可读存储介质 | |
CN112527787B (zh) | 一种安全可靠的多方数据去重系统、方法及装置 | |
CN111241355B (zh) | 消息转发方法及服务端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |