CN111282263A - 事件消息的处理方法、装置、电子设备及可读存储介质 - Google Patents
事件消息的处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111282263A CN111282263A CN202010140390.8A CN202010140390A CN111282263A CN 111282263 A CN111282263 A CN 111282263A CN 202010140390 A CN202010140390 A CN 202010140390A CN 111282263 A CN111282263 A CN 111282263A
- Authority
- CN
- China
- Prior art keywords
- message
- game
- event message
- event
- message queue
- 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
- 238000003672 processing method Methods 0.000 title claims description 13
- 230000004044 response Effects 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims description 19
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种事件消息的处理方法、装置、电子设备及可读存储介质,应用于游戏服务器,包括:在接收到的事件消息写入与游戏房间关联的消息队列中,并且从消息队列中读取最先写入的待处理事件消息,以及对待处理事件消息进行处理,得到待处理事件消息对应的响应消息,以及向属于游戏房间的游戏客户端发送响应消息。应用本发明实施例提供的技术方案,可以将属于一个游戏房间的多个游戏客户端发送的事件消息写入到针对该游戏房间预先创建的消息队列中,再对这些事件消息逐个进行处理,将处理后得到的响应消息发送到上述多个游戏客户端,驱动这多个游戏客户端更新游戏画面,取代了加锁和解锁的操作,从而降低了游戏的时延。
Description
技术领域
本发明涉及产品应用技术领域,特别是涉及一种事件消息的处理方法、装置、电子设备及可读存储介质。
背景技术
对于多人实时互动游戏,游戏客户端发送一个交互指令,游戏服务器接收到该交互指令后,并对该交互指令进行响应处理,得到响应消息,将响应消息发送到客户端,以使客户端更新游戏画面。
当多个游戏客户端针对一份公共的数据同时发送多个交互指令时,通常对这份公共的数据加互斥锁从而避免冲突。例如,当游戏客户端A和游戏客户端B同时请求修改同一份公共的数据时,游戏客户端A修改时可以对这份公共的数据加互斥锁,阻止游戏客户端B修改,当游戏客户端A加的互斥锁解除后,游戏客户端B才能继续修改这份公共的数据。
但是,当同时修改这份公共的数据的游戏客户端数量较多时,处理过程中,需要多次执行加锁和解锁的操作,可能导致部分游戏客户端等待时间较长,影响游戏的时延等性能指标。
发明内容
本发明实施例的目的在于提供一种事件消息的处理方法、装置、电子设备及可读存储介质,用以解决多个游戏客户端同时发送事件消息时,响应时延大的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种事件消息的处理方法,应用于游戏服务器,包括:
在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
向属于所述游戏房间的游戏客户端发送所述响应消息。
进一步的,所述将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,包括:
判断写指针在与所述游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息;
若不存在,将所述事件消息写入所述写指针指向的位置。
进一步的,在若不存在,将所述事件消息写入所述写指针指向的位置之后,所述方法还包括:
判断所述写指针指向的位置是否为所述消息队列的末位;
若是,将所述写指针指向的位置变更为所述消息队列的首位;
若否,将所述写指针指向的位置在所述消息队列中后移一位。
进一步的,所述按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息,包括:
判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息;
若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息。
进一步的,在若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息之后,所述方法还包括:
判断所述读指针指向的位置是否为所述消息队列的末位;
若是,将所述读指针指向的位置变更为所述消息队列的首位;
若否,将所述读指针指向的位置在所述消息队列中后移一位。
进一步的,所述方法还包括:
若不存在未被读取的事件消息,等待预设时长后,再次执行所述判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息的步骤;或者
若不存在未被读取的事件消息,将所述读指针指向的位置变更为另一个游戏房间的消息队列的首位。
进一步的,在向属于所述游戏房间的游戏客户端发送所述响应消息之前,所述方法还包括:
检测当前时刻与所述游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,所述上一个同步时间为上一次向属于所述游戏房间的游戏客户端发送响应消息的时刻;
若否,则等待,直到当前时刻与所述上一个同步时间的时间间隔大于等于预设时间间隔时,执行所述向属于所述游戏房间的游戏客户端发送所述响应消息的步骤。
进一步的,所述将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,包括:
利用预先创建的消息派发线程将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中;
所述按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息,包括:利用预先创建的消息消费线程按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
所述对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息,包括:利用所述消息消费线程对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
所述向属于所述游戏房间的游戏客户端发送所述响应消息,包括:利用预先创建的消息发送线程向属于所述游戏房间的游戏客户端发送所述响应消息。
第二方面,本发明实施例提供了一种事件消息的处理装置,应用于游戏服务器,包括:
写入单元,用于在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
读取单元,用于按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
处理单元,用于对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
发送单元,用于向属于所述游戏房间的游戏客户端发送所述响应消息。
进一步的,所述写入单元,具体用于判断写指针在与所述游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息,并且若不存在,将所述事件消息写入所述写指针指向的位置。
进一步的,所述写入单元,还用于判断所述写指针指向的位置是否为所述消息队列的末位,并且若是,将所述写指针指向的位置变更为所述消息队列的首位,以及若否,将所述写指针指向的位置在所述消息队列中后移一位。
进一步的,所述读取单元,具体用于判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息,并且若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息。
进一步的,所述读取单元,还用于判断所述读指针指向的位置是否为所述消息队列的末位,并且若是,将所述读指针指向的位置变更为所述消息队列的首位,以及若否,将所述读指针指向的位置在所述消息队列中后移一位。
进一步的,所述读取单元,还用于若不存在未被读取的事件消息,等待预设时长后,再次执行所述判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息的步骤;或者若不存在未被读取的事件消息,将所述读指针指向的位置变更为另一个游戏房间的消息队列的首位。
进一步的,所述发送单元,还用于在向属于所述游戏房间的游戏客户端发送所述响应消息之前,检测当前时刻与所述游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,所述上一个同步时间为上一次向属于所述游戏房间的游戏客户端发送响应消息的时刻,并且若否,则等待,直到当前时刻与所述上一个同步时间的时间间隔大于等于预设时间间隔时,执行所述向属于所述游戏房间的游戏客户端发送所述响应消息的步骤。
进一步的,所述写入单元,具体用于利用预先创建的消息派发线程将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中;
所述读取单元,具体用于利用预先创建的消息消费线程按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
所述处理单元,具体用于利用所述消息消费线程对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
所述发送单元,具体用于利用预先创建的消息发送线程向属于所述游戏房间的游戏客户端发送所述响应消息。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现所述事件消息的处理方法的任一步骤。
第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述事件消息的处理方法的任一步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的事件消息的处理方法。
本发明实施例提供的一种事件消息的处理方法、装置、电子设备及可读存储介质,应用于游戏服务器,在接收到游戏客户端发送的事件消息后,将事件消息写入与游戏客户端所属游戏房间关联的消息队列中,事件消息为游戏客户端基于接收到的交互操作所生成的,并且按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息,以及对待处理事件消息进行处理,得到待处理事件消息对应的响应消息,以及向属于游戏房间的游戏客户端发送响应消息,驱动游戏客户端更新游戏画面。
应用本发明实施例提供的技术方案,可以将属于一个游戏房间的多个游戏客户端发送的事件消息,写入到针对该游戏房间预先创建的消息队列中,再对这些事件消息逐个进行处理,并将处理后得到的响应消息发送到上述多个游戏客户端,驱动这多个游戏客户端更新游戏画面,取代了加锁和解锁的操作,从而降低了游戏的时延。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的事件消息的处理方法的第一种流程图;
图2为本发明实施例提供的游戏服务器创建游戏房间的一种示意图;
图3为本发明实施例提供的写入事件消息的一种流程图;
图4为本发明实施例提供的消息队列的一种示意图;
图5为本发明实施例提供的读取事件消息的一种流程图;
图6为本发明实施例提供的事件消息的处理方法的第二种流程图;
图7为本发明实施例提供的事件消息的处理方法的一种信令图;
图8为本发明实施例提供的游戏服务器的一种结构示意图;
图9为本发明实施例提供的事件消息的处理装置的结构示意图;
图10为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种事件消息的处理方法、装置、电子设备及可读存储介质,以下分别进行详细说明。
如图1所示,图1为本发明实施例提供的事件消息的处理方法的流程图,该方法可以应用于游戏服务器,包括如下步骤:
步骤11,在接收到游戏客户端发送的事件消息后,将事件消息写入与游戏客户端所属游戏房间关联的消息队列中。
步骤12,按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息。
步骤13,对待处理事件消息进行处理,得到待处理事件消息对应的响应消息。
步骤14,向属于游戏房间的游戏客户端发送响应消息。
采用上述图1所示的事件消息的处理方法,属于游戏房间的游戏客户端可以为多个,可以将属于一个游戏房间的多个游戏客户端发送的事件消息写入到针对该游戏房间预先创建的消息队列中,再对这些事件消息逐个进行处理,并将处理后得到的响应消息发送到上述多个游戏客户端,驱动这多个游戏客户端更新游戏画面,取代了加锁和解锁的操作,从而降低了游戏的时延。
如图2所示,图2为本发明实施例提供的游戏服务器创建游戏房间的一种示意图。以3个游戏客户端为例,属于游戏房间的游戏客户端包含三个,分别为游戏客户端1、游戏客户端2和游戏客户端3,这三个游戏客户端经过向匹配服务器发送匹配请求,匹配请求中携带了游戏客户端的ID(Identity Document,身份证标识号),匹配服务器基于匹配请求将上述三个游戏客户端匹配好之后,生成匹配消息,该匹配消息中包括上述三个游戏客户端的ID,匹配服务器将匹配消息发送到Netty(网状)服务器,Netty服务器将匹配消息通过随机算法路由到游戏服务器集群中的游戏服务器1,游戏服务器1收到匹配消息后,为上述三个游戏客户端创建游戏房间。
游戏房间创建完毕后,可选的,可以针对该游戏房间创建于该游戏房间相互关联的消息队列,可选的,消息队列也可以为预先已存在的,游戏房间创建完成后,在未被占用的已存在的消息队列中选取与游戏房间关联的消息队列,进一步的,可以通过建立关联信息表的方式维持游戏房间与消息队列的关联关系。
在一个实施例中,上述事件消息可以为游戏客户端基于接收到的交互操作所生成的,可选的,游戏客户端接收到交互操作后,将响应该交互操作的交互事件封装成事件消息。
在本申请的一个实施例中,上述在接收到游戏客户端发送的事件消息后,将事件消息写入与游戏客户端所属游戏房间关联的消息队列中(步骤11),如图3所示,进一步的,可以包括如下步骤:
步骤31,判断写指针在与游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息。
与游戏客户端所属游戏房间关联的消息队列包含多个位置,消息队列中的每个位置均可用于存储事件消息,游戏服务器可以在消息队列的每个位置中写入接收到的事件消息,也可以在需要时,读取存储于消息队列每个位置中的事件消息。可选的,写指针初始指向的位置为消息队列的首位,既消息队列第一个写入的事件消息的位置为消息队列的首位。
判断写指针在消息队列中所指向的位置中是否存在未被读取的事件消息,如果存在,执行步骤32,如果不存在,执行步骤33。如图4所示,图4为本发明实施例提供的消息队列的一种示意图,消息队列的长度为5,从左往右将消息队列中的位置分别标记为0,1,2,3,4,写指针初始指向的位置为消息队列的首位,即标记为0的位置,判断标记为0的位置中是否存在未被读取的消息,如果存在,执行步骤32,如果不存在,执行步骤33。
步骤32,等待第一时长后,再次执行步骤31;
其中,第一时长可以为根据实际需求设定的,当写指针在消息队列中所指向的位置中存在未被读取的事件消息时,游戏服务器等待第一时长,再次执行步骤31。例如,当写指针在消息队列中所指向的位置中存在未被读取的事件消息时,游戏服务器等待10毫秒,再次判断写指针在消息队列中所指向的位置中是否存在未被读取的事件消息,重复此过程,直到上述未被读取的事件消息被游戏服务器读取。
步骤33,将事件消息写入写指针指向的位置;
当写指针在消息队列中所指向的位置中不存在未被读取的事件消息时,游戏服务器将事件消息写入写指针指向的位置。
步骤34,判断写指针指向的位置是否为消息队列的末位;
游戏服务器判断写指针指向的位置是否为消息队列的末位,可选的,若为消息队列的末位,执行步骤35;若不为消息队列的末位,执行步骤36。以图4为例,判断写指针指向的位置是否为消息队列的末位,即判断写指针指向的位置是否为标记为4的位置,若为标记为4的位置,执行步骤35;若不为标记为4的位置,执行步骤36。
步骤35,将写指针指向的位置变更为消息队列的首位;
当写指针指向的位置为消息队列的末位时,游戏服务器将写指针指向的位置变更为首位,以图4为例,如果写指针指向的位置为标记为4的位置,游戏服务器将写指针指向的位置变更为标记为0的位置。
步骤36,将写指针指向的位置在消息队列中后移一位。
当写指针指向的位置不为消息队列的末位时,游戏服务器将写指针指向的位置在消息队列中后移一位,以图4为例,如果写指针指向的位置为标记为1的位置,游戏服务器将写指针指向的位置在消息队列中后移一位,变更为标记为2的位置。
采用图3所示的实施例,可以避免在消息队列中写指针指向的位置中的事件消息还未被读取的情况下,游戏服务器又将接收到的新的事件消息写入到该位置,出现事件消息覆盖,从而导致事件消息漏读的问题。
在本申请的一个实施例中,上述按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息的步骤(步骤12),如图5所示,进一步的,可以包括如下步骤:
步骤51,判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息。
针对游戏房间预先创建了消息队列,消息队列中的位置供游戏服务器写入和读取事件消息,可选的,读指针初始指向的位置为消息队列的首位,判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息,如果存在,执行步骤52。以图4为例,读指针初始指向的位置为消息队列的首位,即标记为0的位置,判断标记为0的位置中是否存在未被读取的消息,如果存在,执行步骤52。
步骤52,读取读指针所指向的位置中的事件消息,作为待处理事件消息。
当读指针在消息队列中所指向的位置中存在未被读取的事件消息时,游戏服务器读取读指针所指向的位置中的事件消息,作为待处理事件消息。
步骤53,判断读指针指向的位置是否为消息队列的末位。
游戏服务器判断读指针指向的位置是否为消息队列的末位,若为消息队列的末位,执行步骤54;若不为消息队列的末位,执行步骤55。以图4为例,判断读指针指向的位置是否为消息队列的末位,即判断写指针指向的位置是否为标记为4的位置,若为标记为4的位置,执行步骤54;若不为标记为4的位置,执行步骤55。
步骤54,将读指针指向的位置变更为消息队列的首位。
当读指针指向的位置为消息队列的末位时,游戏服务器将读指针指向的位置变更为首位,以图4为例,如果读指针指向的位置为标记为4的位置,游戏服务器将读指针指向的位置变更为标记为0的位置。
步骤55,将读指针指向的位置在消息队列中后移一位。
当读指针指向的位置不为消息队列的末位时,游戏服务器将读指针指向的位置在消息队列中后移一位,以图4为例,如果读指针指向的位置为标记为1的位置,游戏服务器将读指针指向的位置在消息队列中后移一位,变更为标记为2的位置。
在本申请的一个实施例中,针对上述判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息(步骤51),若得到的结果为不存在未被读取的事件消息,一种实施方式为:游戏服务器可以等待预设时长后,再次执行判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息的步骤。例如,当读指针在消息队列中所指向的位置中不存在未被读取的事件消息时,游戏服务器等待5毫秒,再次判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息,重复此过程,直到游戏服务器在读指针在消息队列中所指向的位置中写入事件消息。应用该实施方式,可以实时检测消息队列中事件消息的写入情况,及时读取游戏服务器写入的事件消息,提高游戏服务器对事件消息的响应速度,降低游戏时延;
另一种实施方式为:游戏服务器可以将读指针指向的位置变更为另一个游戏房间的消息队列的首位。游戏服务器预先创建有游戏房间列表,游戏房间列表中包括多个游戏房间,游戏服务器可以将读指针指向的位置变更为另一个游戏房间的消息队列的首位。应用该实施方式,游戏服务器可以在一个游戏房间的消息队列中的事件消息全部被读取的情况下,读取房间列表中下一个游戏房间的消息队列,节省了游戏服务器的线程资源。
在本申请的一个实施例中,在向属于游戏房间的游戏客户端发送响应消息的步骤(步骤15)之前,还可以包括如下步骤:
检测当前时刻与游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,上一个同步时间为上一次向多个游戏客户端发送响应消息的时刻;
若否,则等待,直到当前时刻与上一个同步时间的时间间隔大于等于预设时间间隔时,执行向多个游戏客户端发送响应消息的步骤。
如图6所示,图6为本发明实施例提供的事件消息的处理方法的流程图,该方法可以应用于游戏服务器,包括如下步骤:
步骤61,在接收到游戏客户端发送的事件消息后,将事件消息写入与游戏客户端所属游戏房间关联的消息队列中。
上述事件消息可以为属于一个游戏房间中的多个游戏客户端向游戏服务器发送的游戏开始指令、游戏暂停指令、针对游戏画面的某种具体操作指令等消息,本发明实施例对此不作限定。多个游戏客户端经过匹配处理后分配到同一个游戏房间,针对这多个游戏客户端,游戏服务器在接收到游戏客户端发送的事件消息后,将事件消息写入针对游戏房间预先创建的消息队列中。本步骤可以与上述图3所示的步骤相同,具体可参考上述图3的描述。
步骤62,按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息。
本步骤可以与上述图5所示的步骤相同,具体可参考上述图5的描述。
步骤63,对待处理事件消息进行处理,得到待处理事件消息对应的响应消息。
游戏服务器对待处理事件消息进行处理,得到待处理事件消息对应的响应消息。
步骤64,检测当前时刻与游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,上一个同步时间为上一次向属于游戏房间的游戏客户端发送响应消息的时刻;若大于等于预设时间间隔,执行步骤65;若小于预设时间间隔,执行步骤66;
游戏服务器中存储了上一个同步时间,上一个同步时间为上一次向属于游戏房间的游戏客户端发送响应消息的时刻,游戏服务器检测当前时刻与游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔;例如,游戏服务器中存储的上一个同步时间为上午9时30分9秒,游戏服务器获取到当前时刻为上午9时30分11秒,预设时间间隔为2秒,游戏服务器检测到当前时刻与上一个同步时间的时间间隔为2秒,等于预设时间间隔,故执行步骤65;游戏服务器获取到当前时刻为上午9时30分10秒,检测到当前时刻与上一个同步时间的时间间隔为1秒,小于预设时间间隔,故执行步骤66。
步骤65,向属于游戏房间的游戏客户端发送响应消息。
游戏服务器向上述属于同一个游戏房间的多个游戏客户端同时发送响应消息,游戏客户端接收到该响应消息后,基于响应消息更新游戏画面。
步骤66,等待,执行步骤64,直到当前时刻与上一个同步时间的时间间隔大于等于预设时间间隔时,执行步骤65。
当游戏服务器检测到当前时刻与游戏房间的上一个同步时间的时间间隔小于预设时间间隔时,等待预设时长,再次检测当前时刻与游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,直到当前时刻与上一个同步时间的时间间隔大于等于预设时间间隔时,游戏服务器向上述属于同一个游戏房间的多个游戏客户端发送响应消息。
在本申请的一个实施例中,上述消息队列的长度为在历史时间段内统计的多个游戏客户端每秒发送的事件消息的个数与第二时长的乘积。
例如,游戏服务器在一个月内统计到属于一个游戏房间的多个游戏客户端每秒发送的事件消息的个数平均为10个,第二时长为2秒,则消息队列的长度为20,即消息队列中的位置有20个。消息队列的长度可以根据游戏服务器统计的历史数据进行调整,节省了游戏服务器的存储资源。
在本申请的一个实施例中,游戏服务器利用预先创建的消息派发线程将事件消息写入与游戏客户端所属游戏房间关联的消息队列中。
可选的,游戏服务器预先创建了一个消息派发线程,消息派发线程可以根据游戏房间的ID,在房间列表中找到该ID对应的游戏房间中的消息队列,将属于该游戏房间的多个游戏客户端发送的事件消息写入到该游戏房间的消息队列中。
游戏服务器利用预先创建的消息消费线程按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息;
游戏服务器预先创建了消息消费线程,消息消费线程的数量可以为CPU(CentralProcessing Unit,中央处理器)的核心数目,消息消费线程可以绑定包含多个游戏房间ID的房间列表,消息消费线程先读取房间列表中的第一个游戏房间ID对应的游戏房间中的消息队列,按照从先到后的写入顺序,从该消息队列中读取事件消息,作为待处理事件消息;
游戏服务器利用上述消息消费线程对待处理事件消息进行处理,得到待处理事件消息对应的响应消息;
游戏服务器利用预先创建的消息发送线程向属于游戏房间的游戏客户端发送响应消息。
游戏服务器利用预先创建的消息发送线程向多个游戏客户端发送响应消息。
游戏服务器预先创建了消息发送线程,消息发送线程将响应消息发送到属于该游戏房间的多个游戏客户端。
采用上述实施例提供的方法,可以将向多个游戏客户端发送响应消息的任务交给消息发送线程完成,避免影响消息消费线程的响应速度,并且游戏服务器的CPU缓存不再因为锁冲突而频繁加载缓存,可以极大的提高服务器的并发数量,提高缓存的命中效率。
结合图7所示的信令图,对本发明实施例提供的事件消息的处理方法作进一步解释,包括如下步骤:
步骤71,多个游戏客户端向Netty服务器发送事件消息;
Netty服务器在Netty服务器与多个游戏客户端之间建立了TCP通道,可以通过TCP通道收发消息,多个游戏客户端向Netty服务器发送事件消息。
步骤72,Netty服务器将事件消息转发给游戏服务器;
Netty服务器存储了上述多个游戏客户端与游戏服务器之间的对应关系,Netty服务器根据该对应关系将事件消息发送给对应的游戏服务器。
步骤73,游戏服务器利用预先创建的消息派发线程将事件消息写入针对游戏房间创建的消息队列中;
游戏服务器预先创建了一个消息派发线程,在接收到多个游戏客户端的事件消息后,利用消息派发线程将事件消息写入针对游戏房间创建的消息队列中。步骤73与图3所示的步骤相同,具体描述可参考上述图3的描述。
步骤74,游戏服务器利用预先创建的消息消费线程读取上述消息队列中的事件消息,得到待处理事件消息;
本发明实施例还提供如图8所述的游戏服务器的结构示意图,游戏服务器通过Round Robin算法预先创建了CPU核心数目个消息消费线程,每个消息消费线程绑定一个房间列表,消息消费线程与房间列表的绑定关系可以通过图8中房间管理器维持。
房间列表中至少包括一个游戏房间,利用与上述游戏房间绑定的消息消费线程读取消息队列中的事件消息,得到待处理事件消息。步骤74与图5所示的步骤相同,具体描述可参考上述图5的描述。
步骤75,游戏服务器利用上述消息消费线程处理待处理事件消息,得到响应消息;
游戏服务器在得到待处理事件消息后,利用上述消息消费线程处理该待处理事件消息,得到对应的响应消息。
步骤76,游戏服务器利用消息发送线程将响应消息发送到Netty服务器;
游戏服务器利用预先创建的消息发送线程将上述响应消息发送到Netty服务器。
步骤77,Netty服务器将响应消息转发到多个游戏客户端。
Netty服务器通过上述TCP通道,将响应消息转发到多个游戏客户端。
与事件消息的处理方法相对应,本发明实施例还提供了一种事件消息的处理装置。如图9所示,图9为本发明实施例提供的事件消息的处理装置的结构示意图。该装置包括:
写入单元91,用于在接收到游戏客户端发送的事件消息后,将事件消息写入与游戏客户端所属游戏房间关联的消息队列中,事件消息为游戏客户端基于接收到的交互操作所生成的;
读取单元92,用于按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息;
处理单元93,用于对待处理事件消息进行处理,得到待处理事件消息对应的响应消息;
发送单元94,用于向属于游戏房间的游戏客户端发送响应消息。
进一步的,写入单91元,具体用于判断写指针在与游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息,并且若不存在,将事件消息写入写指针指向的位置。
进一步的,写入单元91,还用于判断写指针指向的位置是否为消息队列的末位,并且若是,将写指针指向的位置变更为消息队列的首位,以及若否,将写指针指向的位置在消息队列中后移一位。
进一步的,读取单元92,具体用于判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息,并且若存在未被读取的事件消息,读取读指针所指向的位置中的事件消息,作为待处理事件消息。
进一步的,读取单元92,还用于判断读指针指向的位置是否为消息队列的末位,并且若是,将读指针指向的位置变更为消息队列的首位,以及若否,将读指针指向的位置在消息队列中后移一位。
进一步的,读取单元92,还用于若不存在未被读取的事件消息,等待预设时长后,再次执行判断读指针在消息队列中所指向的位置中是否存在未被读取的事件消息的步骤;或者若不存在未被读取的事件消息,将读指针指向的位置变更为另一个游戏房间的消息队列的首位。
进一步的,发送单元94,还用于在向属于游戏房间的游戏客户端发送响应消息之前,检测当前时刻与游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,上一个同步时间为上一次向属于游戏房间的游戏客户端发送响应消息的时刻,并且若否,则等待,直到当前时刻与上一个同步时间的时间间隔大于等于预设时间间隔时,执行向属于游戏房间的游戏客户端发送响应消息的步骤。
进一步的,写入单元91,具体用于利用预先创建的消息派发线程将事件消息写入与游戏客户端所属游戏房间关联的消息队列中;
读取单元92,具体用于利用预先创建的消息消费线程按照消息队列中包含的各事件消息的写入顺序,从消息队列中读取最先写入的事件消息,作为待处理事件消息;
处理单元93,具体用于利用消息消费线程对待处理事件消息进行处理,得到待处理事件消息对应的响应消息;
发送单元94,具体用于利用预先创建的消息发送线程向属于游戏房间的游戏客户端发送响应消息。
与事件消息的处理方法相对应,本发明实施例还提供了一种电子设备,如图10所示,包括处理器101、通信接口102、存储器103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信,
存储器103,用于存放计算机程序;
处理器101,用于执行存储器103上所存放的程序时,实现如下步骤:
在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
向属于所述游戏房间的游戏客户端发送所述响应消息。
应用本发明实施例提供的技术方案,可以将属于一个游戏房间的多个游戏客户端发送的事件消息,写入到针对该游戏房间预先创建的消息队列中,再对这些事件消息逐个进行处理,将处理后得到的响应消息发送到上述多个游戏客户端,驱动这多个游戏客户端更新游戏画面,由于不再需要频繁的执行加锁和解锁的操作,从而降低了游戏的时延。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种可读存储介质,该可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述事件消息的处理方法的任一步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一事件消息的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种事件消息的处理方法,其特征在于,应用于游戏服务器,包括:
在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
向属于所述游戏房间的游戏客户端发送所述响应消息。
2.根据权利要求1所述的方法,其特征在于,所述将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,包括:
判断写指针在与所述游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息;
若不存在,将所述事件消息写入所述写指针指向的位置。
3.根据权利要求2所述的方法,其特征在于,在若不存在,将所述事件消息写入所述写指针指向的位置之后,所述方法还包括:
判断所述写指针指向的位置是否为所述消息队列的末位;
若是,将所述写指针指向的位置变更为所述消息队列的首位;
若否,将所述写指针指向的位置在所述消息队列中后移一位。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息,包括:
判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息;
若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息。
5.根据权利要求4所述的方法,其特征在于,在若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息之后,所述方法还包括:
判断所述读指针指向的位置是否为所述消息队列的末位;
若是,将所述读指针指向的位置变更为所述消息队列的首位;
若否,将所述读指针指向的位置在所述消息队列中后移一位。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若不存在未被读取的事件消息,等待预设时长后,再次执行所述判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息的步骤;或者,
若不存在未被读取的事件消息,将所述读指针指向的位置变更为另一个游戏房间的消息队列的首位。
7.根据权利要求1-3或5-6任一项所述的方法,其特征在于,在向属于所述游戏房间的游戏客户端发送所述响应消息之前,所述方法还包括:
检测当前时刻与所述游戏房间的上一个同步时间的时间间隔是否大于等于预设时间间隔,其中,所述上一个同步时间为上一次向属于所述游戏房间的游戏客户端发送响应消息的时刻;
若否,则等待,直到当前时刻与所述上一个同步时间的时间间隔大于等于预设时间间隔时,执行所述向属于所述游戏房间的游戏客户端发送所述响应消息的步骤。
8.根据权利要求1所述的方法,其特征在于,
所述将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,包括:
利用预先创建的消息派发线程将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中;
所述按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息,包括:利用预先创建的消息消费线程按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
所述对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息,包括:利用所述消息消费线程对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
所述向属于所述游戏房间的游戏客户端发送所述响应消息,包括:利用预先创建的消息发送线程向属于所述游戏房间的游戏客户端发送所述响应消息。
9.一种事件消息的处理装置,其特征在于,应用于游戏服务器,包括:
写入单元,用于在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
读取单元,用于按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
处理单元,用于对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
发送单元,用于向属于所述游戏房间的游戏客户端发送所述响应消息。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140390.8A CN111282263A (zh) | 2020-03-03 | 2020-03-03 | 事件消息的处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140390.8A CN111282263A (zh) | 2020-03-03 | 2020-03-03 | 事件消息的处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111282263A true CN111282263A (zh) | 2020-06-16 |
Family
ID=71026946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010140390.8A Pending CN111282263A (zh) | 2020-03-03 | 2020-03-03 | 事件消息的处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111282263A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737012A (zh) * | 2020-07-31 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 数据包的同步方法、装置、设备及存储介质 |
CN112199215A (zh) * | 2020-10-13 | 2021-01-08 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN116570928A (zh) * | 2023-04-24 | 2023-08-11 | 北京科乐园网络科技有限公司 | 一种基于nft的信息处理方法、装置和服务器 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188245A (zh) * | 2011-12-31 | 2013-07-03 | 上海火瀑云计算机终端科技有限公司 | 一种对战类游戏服务端*** |
CN104468509A (zh) * | 2014-10-29 | 2015-03-25 | 北方工业大学 | 手机网络游戏数据传输的方法、***和手机用户端 |
CN104821947A (zh) * | 2015-05-08 | 2015-08-05 | 四川天上友嘉网络科技有限公司 | 网络游戏数据的传输方法 |
CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列***的消息处理方法和装置 |
CN107528922A (zh) * | 2017-09-29 | 2017-12-29 | 深圳市金立通信设备有限公司 | 一种消息推送方法、终端及计算机可读存储介质 |
CN107948051A (zh) * | 2017-11-14 | 2018-04-20 | 北京知行锐景科技有限公司 | 一种基于Socket技术的实时消息推送方法及*** |
CN109714409A (zh) * | 2018-12-21 | 2019-05-03 | 优估(上海)信息科技有限公司 | 一种消息的管理方法和*** |
CN110138721A (zh) * | 2019-03-22 | 2019-08-16 | 福建省天奕网络科技有限公司 | 解耦游戏服务和战斗服务的方法、存储介质 |
CN110327621A (zh) * | 2019-04-24 | 2019-10-15 | 上海恺英网络科技有限公司 | 用于网络游戏客户端匹配的方法及设备 |
CN110743163A (zh) * | 2019-09-25 | 2020-02-04 | 恒大智慧科技有限公司 | 基于直播界面二维码进入相同游戏房间的方法及*** |
-
2020
- 2020-03-03 CN CN202010140390.8A patent/CN111282263A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188245A (zh) * | 2011-12-31 | 2013-07-03 | 上海火瀑云计算机终端科技有限公司 | 一种对战类游戏服务端*** |
CN104468509A (zh) * | 2014-10-29 | 2015-03-25 | 北方工业大学 | 手机网络游戏数据传输的方法、***和手机用户端 |
CN104821947A (zh) * | 2015-05-08 | 2015-08-05 | 四川天上友嘉网络科技有限公司 | 网络游戏数据的传输方法 |
CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列***的消息处理方法和装置 |
CN107528922A (zh) * | 2017-09-29 | 2017-12-29 | 深圳市金立通信设备有限公司 | 一种消息推送方法、终端及计算机可读存储介质 |
CN107948051A (zh) * | 2017-11-14 | 2018-04-20 | 北京知行锐景科技有限公司 | 一种基于Socket技术的实时消息推送方法及*** |
CN109714409A (zh) * | 2018-12-21 | 2019-05-03 | 优估(上海)信息科技有限公司 | 一种消息的管理方法和*** |
CN110138721A (zh) * | 2019-03-22 | 2019-08-16 | 福建省天奕网络科技有限公司 | 解耦游戏服务和战斗服务的方法、存储介质 |
CN110327621A (zh) * | 2019-04-24 | 2019-10-15 | 上海恺英网络科技有限公司 | 用于网络游戏客户端匹配的方法及设备 |
CN110743163A (zh) * | 2019-09-25 | 2020-02-04 | 恒大智慧科技有限公司 | 基于直播界面二维码进入相同游戏房间的方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737012A (zh) * | 2020-07-31 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 数据包的同步方法、装置、设备及存储介质 |
EP4095693A4 (en) * | 2020-07-31 | 2023-07-12 | Tencent Technology (Shenzhen) Company Limited | DATA PACKET SYNCHRONIZATION METHOD AND DEVICE, DEVICE AND STORAGE MEDIUM |
CN112199215A (zh) * | 2020-10-13 | 2021-01-08 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN112199215B (zh) * | 2020-10-13 | 2024-01-19 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN116570928A (zh) * | 2023-04-24 | 2023-08-11 | 北京科乐园网络科技有限公司 | 一种基于nft的信息处理方法、装置和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848039B (zh) | 服务器、消息分配的方法及存储介质 | |
US10541945B2 (en) | Systems and methods for storing message data | |
US8028085B2 (en) | Optimizing message transmission and delivery in a publisher-subscriber model | |
CN111282263A (zh) | 事件消息的处理方法、装置、电子设备及可读存储介质 | |
JP2018531465A6 (ja) | メッセージデータを格納するためのシステム及び方法 | |
US9497288B2 (en) | Subscriber based priority of messages in a publisher-subscriber domain | |
CN109309712B (zh) | 基于接口异步调用的数据传输方法、服务器及存储介质 | |
CN110851253B (zh) | 一种远程运维的方法、***、存储介质及电子设备 | |
US9614646B2 (en) | Method and system for robust message retransmission | |
CN110968586A (zh) | 分布式事务处理方法及装置 | |
CN109152061B (zh) | 通道调配方法、装置、服务器及存储介质 | |
CN110008041B (zh) | 一种消息处理方法及装置 | |
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN115004673A (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN114006946B (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
CN110727507B (zh) | 一种消息的处理方法、装置、计算机设备和存储介质 | |
CN112838980B (zh) | 一种消息处理方法、***、装置、电子设备及存储介质 | |
CN110413398B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN112653736A (zh) | 一种并行回源方法、装置及电子设备 | |
US10862908B2 (en) | System and method for consensus ordering of broadcast messages | |
CN111984198A (zh) | 消息队列实现方法、装置及电子设备 | |
WO2020033048A1 (en) | System and method for consensus ordering of broadcast messages | |
CN115981893A (zh) | 消息队列任务处理方法、装置、服务器及存储介质 | |
US7089265B1 (en) | Database management system for implementing independent database actions in response to events of interest | |
CN110290215B (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 |