CN110876852B - 微服务的网络游戏数据处理方法及系统 - Google Patents

微服务的网络游戏数据处理方法及系统 Download PDF

Info

Publication number
CN110876852B
CN110876852B CN201811038906.7A CN201811038906A CN110876852B CN 110876852 B CN110876852 B CN 110876852B CN 201811038906 A CN201811038906 A CN 201811038906A CN 110876852 B CN110876852 B CN 110876852B
Authority
CN
China
Prior art keywords
event
micro
target state
service unit
subsequent
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.)
Active
Application number
CN201811038906.7A
Other languages
English (en)
Other versions
CN110876852A (zh
Inventor
覃世刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boya Network Games Development Shenzhen Co ltd
Original Assignee
Shenzhen Erlu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Erlu Technology Co ltd filed Critical Shenzhen Erlu Technology Co ltd
Priority to CN201811038906.7A priority Critical patent/CN110876852B/zh
Publication of CN110876852A publication Critical patent/CN110876852A/zh
Application granted granted Critical
Publication of CN110876852B publication Critical patent/CN110876852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features 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/53Features 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明适用于网络游戏技术领域,提供了一种微服务的网络游戏数据处理方法及系统,所述方法包括:接收用户终端发送的数据请求,并将所述数据请求发送至与所述数据请求对应的第一微服务单元;所述第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并存储至事件源数据库;第二微服务单元获取所述事件源数据库发送的所述目标状态事件,并通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,并存储至事件源数据库;所述第一微服务单元获取所述后续事件,并根据所述后续事件响应所述数据请求,所述方法采用微服务的网络架构能够使得各个服务实现独立部署,进而实现数据处理系统的灵活性、敏捷性和扩展性。

Description

微服务的网络游戏数据处理方法及系统
技术领域
本发明属于网络游戏技术领域,尤其涉及一种微服务的网络游戏数据处理方法及系统。
背景技术
现如今,网络越来越发达,各式各样的游戏也逐渐由线下转化到线上,例如棋牌游戏。同时,由于网络游戏不受时间空间的限制,越来越多地受到大家的青睐。然而,传统的游戏数据处理系统是基于单体模式架构实现的,单体模式架构下的游戏数据处理系统在开发和调试阶段都需要整体运行,具有耦合度高、难以控制以及浪费资源的缺点。因此,有必要设计一种具有灵活性、敏捷性和扩展性的网络游戏数据处理系统。
发明内容
有鉴于此,本发明实施例提供了微服务的网络游戏数据处理方法及装置,以解决现有技术中网络游戏数据处理系统具有的耦合度高、难以控制和浪费资源的问题。
本发明实施例的第一方面提供了一种微服务的网络游戏数据处理方法,包括:
接收用户终端发送的数据请求,并将所述数据请求发送至与所述数据请求对应的第一微服务单元;
所述第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并将所述目标状态事件存储至事件源数据库;
第二微服务单元获取所述事件源数据库发送的所述目标状态事件,并在获取所述目标状态事件后,通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,并将所述后续事件存储至事件源数据库;
所述第一微服务单元获取所述事件源数据库发送的所述后续事件,并根据所述后续事件响应所述数据请求。
本发明实施例的第二方面提供了一种微服务的网络游戏数据处理系统,所述系统包括:第一微服务单元、第二微服务单元和事件源数据库;
所述第一微服务单元,用于根据用户终端发送的数据请求获取对应的目标状态事件;
所述第二微服务单元,用于获取与所述目标状态事件对应的后续事件;
所述事件源数据库,用于存储目标状态事件和与所述目标状态事件对应的后续事件,并将所述目标状态事件和与所述目标状态事件对应的后续事件发送至订阅所述目标状态事件和与所述目标状态事件对应的后续事件的微服务单元。
本发明实施例的第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述微服务的网络游戏数据处理方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述微服务的网络游戏数据处理方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例中在获取到用户发送的数据请求后,通过第一微服务单元的命令侧对所述数据请求进行处理,将所述数据请求转变为目标状态事件,并将获取的目标状态事件存储至事件源数据库,第二微服务单元获取事件源数据库发送的目标状态事件,并在获取到目标状态事件后,通过第二微服务单元的查询侧获取与目标状态事件对应的后续事件,同时事件源数据库也对所述后续事件进行存储,第一微服务单元从事件源数据库获取后续事件,并根据后续事件来响应所述数据请求,上述方法通过事件源数据库对所述第一微服务单元和第二微服务单元获取的目标状态事件或后续事件进行存储,能够保证数据请求过程是以单个事务的方式完成,实现各个微服务的独立部署,使得数据处理系统具有灵活性、敏捷性和扩展性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的微服务的网络游戏数据处理方法的实现流程示意图;
图2是本发明实施例提供的微服务的网络游戏数据处理系统的结构示意图;
图3是本发明实施例提供的另一种微服务的网络游戏数据处理系统的结构示意图;
图4是本发明实施例提供的对用户的报名请求进行处理的流程示意图;
图5是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,示出了本发明实施例提供的微服务的网络游戏数据处理方法,详述如下:
步骤S101,接收用户终端发送的数据请求,并将所述数据请求发送至与所述数据请求对应的第一微服务单元。
在本实施例中,用户终端会通过API网关将数据请求发送至第一微服务单元,API网关用于连接所述用户终端与微服务器,用于将用户的数据请求转发至第一微服务单元,并将第一微服务单元对数据请求的响应结果返回至用户终端。所述第一微服务单元用于对数据请求进行处理。
步骤S102,所述第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并将所述目标状态事件存储至事件源数据库。
在本实施例中,第一微服务单元在接收到数据请求后,通过第一微服务单元的命令侧将所述数据请求转变为目标状态事件,例如:当第一微服务单元接收到数据请求时,会通过第一微服务单元的命令侧根据数据请求获取数据处理状态,目标状态事件可以为已新建数据请求事件。在第一微服务单元获取到目标状态事件后将目标状态事件发送至事件源数据库,也就是将已新建数据请求事件存储至事件源数据库。
步骤S103,第二微服务单元获取所述事件源数据库发送的所述目标状态事件,并在获取所述目标状态事件后,通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,并将所述后续事件存储至事件源数据库。
在本实施例中,第二微服务单元会从事件源数据库订阅目标状态事件,事件源数据库在获取到第一微服务单元发送的目标状态事件后,会将所述目标状态事件发送至第二微服务单元。例如,此处的目标状态事件可以为已新建数据请求事件。第二微服务单元在获取到目标状态事件后会通过查询侧获取与目标状态事件对应的后续事件,此处的后续事件可以为微服务单元在通过用户的数据请求时所要满足的事件,例如:用户的数据请求为报名时,第二微服务单元需要检测用户的游戏状态,只有当用户未处于游戏状态时,才能满足报名条件,则此处的后续事件可以为用户的游戏状态事件。
步骤S104,所述第一微服务单元获取所述事件源数据库发送的所述后续事件,并根据所述后续事件响应所述数据请求。
在本实施例中,第一微服务单元可以从事件源数据库订阅第二微服务单元发送的后续事件,根据获取的所述后续事件判断所述数据请求是否满足预设条件,当满足预设条件时,则向用户回复数据请求成功的信息;当不满足预设条件时,则向用户回复数据请求失败的信息,并注明数据请求失败的原因。
需要注意的是,用户报名成功所需要满足的预设条件可能为多个,而第二微服务单元每次所获取的后续事件是针对一个预设条件的,因此,第二微服务单元会多次获取不同的后续事件,并将其存储至事件源数据库,第一微服务单元则会从事件源数据库获取对应的后续事件,判断其是否满足预设条件,当所述的后续事件均满足预设条件时,则通过用户的数据请求,即向用户发送报名成功的信息。其中,第二微服务单元每次获取一个的后续事件,并发送至事件源数据库,第一微服务单元在从事件源数据库获取所述后续事件,并判断是否满足预条件,当不满足预设条件时,则直接中断对数据请求处理,向用户发送报名失败的信息。
从上述实施例可知,在获取到用户发送的数据请求后,通过第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并存储至事件源数据库,第二微服务单元在从事件源数据库获取目标状态事件后,通过第二微服务单元的查询侧获取与目标状态事件对应的后续事件,并对所述后续事件进行存储,第一微服务单元从事件源数据库获取后续事件,并根据后续事件来响应所述数据请求,上述方法通过事件源数据库对所述第一微服务单元和第二微服务单元获取的目标状态事件或后续事件进行存储,能够保证数据请求过程以单个事务的方式完成,实现各个服务的独立部署,使得数据处理系统具有灵活性、敏捷性和扩展性。
在本发明的一个实施例中,在步骤S103中,第二微服务单元将所述后续事件存储至事件源数据库后,还包括:
当接收到数据请求满足条件发生改变的命令请求时,通过第二微服务单元的命令侧将所述数据请求满足条件发生改变的命令请求转变为相应的状态改变事件,并将所述相应的状态改变事件存储至事件源数据库。
在本实施例中,当所述数据请求满足条件发生改变时,则会生成一个数据请求发生改变的命令请求,所述第二微服务单元会接收所述命令请求,并根据命令请求获取相应的状态改变事件。所述数据请求满足条件是指通过所述用户发送的数据请求时需要满足的条件。其中,所述数据请求满足条件是可以发生改变的。例如:当所述数据请求为报名请求时,用户报名的场次需要为开放的场次,当系统在某一时刻开放或关闭某一报名场次时,则数据请求满足条件将会发生变化。当第二微服务单元在获取所述命令请求时,将会通过第二微服务单元的命令侧将所述命令请求转变为状态改变事件,具体的,此处的状态改变事件可以为:当系统处于第一时刻时,第一场次的状态为开放状态;当系统为第二时刻时,第一场次的状态为关闭状态。当第二微服务单元在获取到状态改变事件后,将所述状态改变事件发送至事件源数据库进行存储。
在本发明的一个实施例中,在步骤S103中,所述通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,具体包括:
所述第二微服务单元从所述事件源数据库获取相应的状态改变事件,并将所述相应的状态改变事件进行重放,获取与所述目标状态事件对应的后续事件。
在本实施例中,由于事件源数据库存储的为状态改变事件,所以当第二微服务单元在需要获取与所述目标状态事件对应的后续事件时,需要从所述事件源数据库获取相应的状态改变事件,例如:第二微服务单元会从事件源数据库获取当系统处于第一时刻时第一场次的状态为开放状态这一事件,当系统为第二时刻时第一场次的状态为关闭状态这一事件,并将所述事件按照时间顺序进行重放后得到与所述目标状态事件对应的后续事件,即用户当前处于的游戏场次的开放状态。
从上述实施例可知,由于事件源数据库存储的是状态改变事件,所以可以通过事件的重放获取任一时间点的状态事件,从而避免了订阅该事件的微服务单元仅能够获取最终的状态事件。
在本发明的一个实施例中,所述方法还包括:事件源数据库在接收到目标状态事件或后续事件后,通过消息总线发送目标状态事件或后续事件至订阅所述目标状态事件或后续事件的微服务单元。
在本发明实施例中,事件源数据库在接收到目标状态事件或后续事件后,需要将所述事件发送至订阅所述目标状态事件或后续事件的微服务单元,具体的,所述事件源数据库是通过消息总线将所述目标状态事件或后续事件发送至微服务单元。例如:所述事件源数据库在接收到第一微服务单元获取的目标状态事件后,会将所述目标状态事件进行存储,并将所述目标状态事件发布至消息总线,并通过消息总线将所述目标状态事件发送至第二微服务单元。
在上述过程中,所述事件源数据库在数据发送的过程中具有原子性,当事件源数据库在获取到所述目标状态事件或后续事件后,一定会将所述目标状态事件或后续事件发送至消息总线,所述事件的保存过程为单一的操作,并且所述消息总线可以确保所述目标状态事件或后续事件可以发送至相应的微服务单元。
在本发明的一个实施例中,所述通过消息总线发送目标状态事件或后续事件至订阅所述目标状态事件或后续事件的微服务单元,具体包括:
步骤S201,检测目标状态事件或后续事件的延时时间。
在本实施例中,所述事件源数据库的消息总线还可以通过超时重发的操作确保所述目标状态事件或后续事件发送至订阅所述目标状态事件或后续事件的微服务单元。其中,先检测所述订阅所述目标状态事件或后续事件的微服务单元接收所述目标状态事件或后续事件的延时时间,具体的,当所述事件源数据库在发送所述目标状态事件或后续事件后,对所述订阅所述目标状态事件或后续事件的微服务单元未接收到目标状态事件或后续事件进行计时,获取延时时间。
步骤S202,当所述延时时间超过设定阈值时,将所述目标状态事件或后续事件重新发送至订阅所述目标状态事件或后续事件的微服务单元。
在本实施例中,当获取所述延时时间后,将所述延时时间与设定的阈值进行比较,当所述延时时间大于所述设定的阈值时,则表示所述订阅所述状态改变事件的微服务单元并没有接收到目标状态事件或后续事件,需要将所述目标状态事件或后续事件重新发送至订阅所述目标状态事件或后续事件的微服务单元。
通过上述实施例可以在所述相应的微服务单元未接收到目标状态事件或后续事件后,重新发送所述事件,能够提高订阅所述状态改变事件的微服务单元获取目标状态事件或后续事件的概率。
步骤S203,所述订阅所述目标状态事件或后续事件的微服务单元在接收到目标状态事件或后续事件后,发送消息确认信号至消息总线。
在本实施例中,所述订阅所述目标状态事件或后续事件的微服务单元在接收到所述事件后,生成一个确认信号,表示所述订阅所述目标状态事件或后续事件的微服务单元已经接收到目标状态事件或后续事件,并将所述确认信号发送至消息总线,消息总线在接收到所述确认信号后,可以确定该事件发送过程顺利完成。
通过上述实施例可以使得订阅所述目标状态事件或后续事件的微服务单元在接收到事件后,发送确认信号至消息总线,进而使得消息总线可以为发送下一个目标状态事件或后续事件做准备。
此外,采用超时重发和消息确认相结合的方式来确保订阅所述目标状态事件或后续事件的微服务单元能够接收到相应的事件,但是采用超时重发和消息确认的方式会使得消息总线发送重复事件至相应的微服务单元,所以此处还会采用幂等处理操作,采用幂等处理能够在微服务单元多次接收同一事件时,只产生对应于该事件的一个处理结果。例如:在相应的微服务单元多次接收到扣费事件后,只会扣除用户一次的费用。
在本发明的一个实施例中,所述数据请求为报名请求,所述通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,具体包括:
通过第二微服务单元的用户微服务子单元查询用户报名时所处的游戏状态事件;
通过第二微服务单元的场次微服务子单元查询用户报名的场次状态事件;
通过第二微服务单元的门票微服务子单元查询用户报名的门票状态事件。
在本实施例中,当所述数据请求为报名请求时,所述第二微服务单元获取的与目标状态事件对应的后续事件包括:游戏状态事件、场次状态事件和门票状态事件。其中,所述游戏状态事件、场次状态事件和门票状态事件均与用户的游戏报名所要满足的报名条件对应。例如:在用户申请报名某一场次的游戏时,需要满足一些条件:用户当前的游戏状态为未处于游戏状态;用户报名的游戏场次应为开放状态;用户的门票值应大于所述报名场次所需的门票值。在本实施例中,为了判断用户的报名信息是否满足报名条件,通过用户微服务子单元获取用户的游戏状态事件,通过场次微服务子单元获取用户的场次状态事件,通过门票微服务单元获取用户的门票状态事件,并将获取的所述事件发送至事件源数据库,所述第一微服务单元再从所述事件源数据库获取所述事件,并判断所述事件是否满足预设报名条件。
当所述数据请求为报名请求时,当获取的用户的游戏状态事件、场次状态事件和门票状态事件均与预设报名条件一致时,则表示用户报名成功,当游戏状态事件、场次状态事件和门票状态事件与预设报名条件不一致时,也就是报名过程出现异常时,可以通过信息回滚将用户的报名状态返回至状态事件处于正常状态的最近时刻,从而使得用户改变报名信息后就可以继续判断报名信息是否满足预设条件,而无需再次对已经满足预设条件的报名信息进行判断。
在本发明实施例中,在获取到用户发送的数据请求后,通过第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并存储至事件源数据库,第二微服务单元在从事件源数据库获取目标状态事件后,通过第二微服务单元的查询侧获取与目标状态事件对应的后续事件,并对所述后续事件进行存储,第一微服务单元从事件源数据库获取后续事件,并根据后续事件来响应所述数据请求,上述方法通过事件源数据库对所述第一微服务单元和第二微服务单元获取的状态改变事件或后续事件进行存储,能够保证数据请求过程以单个事务的方式完成,实现各个服务的独立部署,使得数据处理系统具有灵活性、敏捷性和扩展性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图2,示出了本发明实施例提供的微服务的网络游戏数据处理系统,所述系统包括:第一微服务单元101、第二微服务单元102和事件源数据库103。
所述第一微服务单元101,用于根据用户终端发送的数据请求获取对应的目标状态事件;所述第二微服务单元102,用于获取与所述目标状态事件对应的后续事件;所述事件源数据库103,用于存储目标状态事件和与所述目标状态事件对应的后续事件,并将所述目标状态事件和与所述目标状态事件对应的后续事件发送至订阅所述目标状态事件和与所述目标状态事件对应的后续事件的微服务单元。
参见图3,示出了本发明实施例提供的另一个微服务的网络游戏数据处理系统,所述第二微服务单元包括:用户微服务子单元1021、场次微服务子单元1022和门票微服务子单元1023。
所述用户微服务子单元1021用于查询用户报名时所处的游戏状态事件;
所述场次微服务子单元1022用于查询用户报名的场次状态事件;
所述门票微服务子单元1023用于查询用户报名的门票状态事件。
在本实施例中,通过设置第一微服务单元来根据用户终端发送的数据请求获取对应的目标状态事件,通过第二微服务单元获取与所述目标状态事件对应的后续事件,通过事件源数据库将所述目标状态事件和与所述目标状态事件对应的后续事件发送至订阅所述目标状态事件和与所述目标状态事件对应的后续事件的微服务单元,从而实现通过第二微服务单元获取后续事件,并通过第一微服务单元对后续事件是否满足预设条件进行判断。
参见图4,示出了当数据处理系统为报名请求处理系统时,对用户的报名请求进行处理的流程图,详述如下:
所述报名请求处理系统包括报名微服务单元、用户微服务单元、场次微服务单元、门票微服务单元和事件源数据库。用户终端发送报名请求后,报名微服务单元接收报名请求,并对报名请求进行处理,将报名状态修改为已创建报名事件,将所述新建报名事件进行保存同时发送至事件源数据库;所述场次微服务单元订阅事件源数据库中的新建报名事件,并获取新建报名事件后查询用户的场次状态,并将场次状态发布至事件源数据库;报名微服务单元订阅事件源数据库中的场次状态事件,并在获取场次确认事件后判断场次状态是否为开放状态,当所述场次状态为开放状态时,保存并发布报名场次确认事件至事件源数据库;用户微服务单元订阅事件源数据库中的报名场次确认事件,在获取报名场次确认事件后,查询用户的游戏状态,并发布游戏状态事件至事件源数据库。
当用户微服务单元发布游戏状态事件至事件源数据库后,报名微服务单元从所述事件源数据库订阅所述游戏状态事件,并判断所述游戏状态为未处于游戏状态时,保存并发布游戏状态确认事件至事件源数据库;门票微服务单元订阅所述事件源数据库中的游戏状态确认事件,在获取所述游戏状态确认事件后,查询并使用用户的门票,并发布门票使用事件至事件源数据库;报名微服务单元从事件源数据库订阅所述门票使用事件,同时发布门票使用确认事件至事件源数据库;用户微服务单元从事件源数据库订阅门票使用确认事件,并发布扣费事件至事件源数据库;报名微服务单元从事件源数据库订阅报名扣费事件,当扣费成功时,保存并发布报名扣费确认事件至事件源数据库,同时报名微服务单元发送报名成功的信息至用户终端。
在本发明实施例中,报名请求处理系统在接收报名请求后,通过各个微服务单元依次判断是否报名成功,具体的,采用场次微服务单元获取用户的场次状态事件,通过用户微服务单元获取用户的游戏状态事件,通过门票微服务单元获取用户的门票状态事件,通过用户微服务单元获取用户的扣费状态事件,通过事件源存储单元存储上述状态事件,并发送上述状态事件至报名微服务单元,根据上述状态事件判断用户是否报名成功。上述报名请求处理系统采用微服务的网络架构能够使得各个服务器实现独立部署,实现报名系统的灵活性、敏捷性和扩展性。
图5是本发明一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备50包括:处理器500、存储器501以及存储在所述存储器501中并可在所述处理器500上运行的计算机程序502。所述处理器500执行所述计算机程序502时实现上述各个微服务的网络游戏数据处理方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器500执行所述计算机程序502时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块101至103的功能。
示例性的,所述计算机程序502可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器501中,并由所述处理器500执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序502在所述终端设备50中的执行过程。例如,所述计算机程序502可以被分割成第一微服务单元、第二微服务单元和事件源数据库,各模块具体功能如下:
所述第一微服务单元101,用于根据用户终端发送的数据请求获取对应的目标状态事件;
所述第二微服务单元102,用于获取与所述目标状态事件对应的后续事件;
所述事件源数据库103,用于存储目标状态事件和与所述目标状态事件对应的后续事件,并将所述目标状态事件和与所述目标状态事件对应的后续事件发送至订阅所述目标状态事件和与所述目标状态事件对应的后续事件的微服务单元。
所述终端设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器500、存储器501。本领域技术人员可以理解,图5仅仅是终端设备50的示例,并不构成对终端设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器500可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器501可以是所述终端设备50的内部存储单元,例如终端设备50的硬盘或内存。所述存储器501也可以是所述终端设备50的外部存储设备,例如所述终端设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器501还可以既包括所述终端设备50的内部存储单元也包括外部存储设备。所述存储器501用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器501还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (8)

1.一种微服务的网络游戏数据处理方法,其特征在于,包括:
接收用户终端发送的数据请求,并将所述数据请求发送至与所述数据请求对应的第一微服务单元;所述数据请求为报名请求;
所述第一微服务单元的命令侧将所述数据请求转变为目标状态事件,并将所述目标状态事件存储至事件源数据库;
第二微服务单元获取所述事件源数据库发送的所述目标状态事件,并在获取所述目标状态事件后,通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,并将所述后续事件存储至事件源数据库,所述后续事件为通过所述数据请求时所要满足的事件;
所述第一微服务单元获取所述事件源数据库发送的所述后续事件,并根据所述后续事件判断所述数据请求是否满足预设条件;若满足所述预设条件,则向所述用户终端回复数据请求成功的信息;若不满足所述预设条件,则向所述用户终端回复数据请求失败的信息;
所述通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,具体包括:通过第二微服务单元的用户微服务子单元查询用户报名时所处的游戏状态事件;通过第二微服务单元的场次微服务子单元查询用户报名的场次状态事件;通过第二微服务单元的门票微服务子单元查询用户报名的门票状态事件。
2.如权利要求1所述的微服务的网络游戏数据处理方法,其特征在于,第二微服务单元将所述后续事件存储至事件源数据库后,还包括:
当接收到数据请求满足条件发生改变的命令请求时,通过第二微服务单元的命令侧将所述数据请求满足条件发生改变的命令请求转变为相应的状态改变事件,并将所述相应的状态改变事件存储至事件源数据库。
3.如权利要求2所述的微服务的网络游戏数据处理方法,其特征在于,所述通过所述第二微服务单元的查询侧获取与所述目标状态事件对应的后续事件,具体包括:
所述第二微服务单元从所述事件源数据库获取相应的状态改变事件,并将所述相应的状态改变事件进行重放,获取与所述目标状态事件对应的后续事件。
4.如权利要求1所述的微服务的网络游戏数据处理方法,其特征在于,该方法还包括:
事件源数据库在接收到目标状态事件或后续事件后,通过消息总线发送目标状态事件或后续事件至订阅所述目标状态事件或后续事件的微服务单元。
5.如权利要求4所述的微服务的网络游戏数据处理方法,其特征在于,所述通过消息总线发送目标状态事件或后续事件至订阅所述目标状态事件或后续事件的微服务单元,具体包括:
检测目标状态事件或后续事件的延时时间;
当所述延时时间超过设定阈值时,将所述目标状态事件或后续事件重新发送至订阅所述目标状态事件或后续事件的微服务单元;
所述订阅所述目标状态事件或后续事件的微服务单元在接收到目标状态事件或后续事件后,发送消息确认信号至消息总线。
6.一种微服务的网络游戏数据处理系统,其特征在于,所述系统包括,第一微服务单元、第二微服务单元和事件源数据库;
所述第一微服务单元,用于将用户终端发送的数据请求转变为目标状态事件,根据后续事件判断所述数据请求是否满足预设条件;若满足所述预设条件,则向所述用户终端回复数据请求成功的信息;若不满足所述预设条件,则向所述用户终端回复数据请求失败的信息;
所述第二微服务单元,用于获取与所述目标状态事件对应的所述后续事件,所述后续事件为通过所述数据请求时所要满足的事件;所述第二微服务单元包括,用户微服务子单元、场次微服务子单元和门票微服务子单元;所述用户微服务子单元用于查询用户报名时所处的游戏状态事件;所述场次微服务子单元用于查询用户报名的场次状态事件;所述门票微服务子单元用于查询用户报名的门票状态事件;
所述事件源数据库,用于存储目标状态事件和与所述目标状态事件对应的后续事件,并将所述目标状态事件和与所述目标状态事件对应的后续事件发送至订阅所述目标状态事件和与所述目标状态事件对应的后续事件的微服务单元。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201811038906.7A 2018-09-06 2018-09-06 微服务的网络游戏数据处理方法及系统 Active CN110876852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811038906.7A CN110876852B (zh) 2018-09-06 2018-09-06 微服务的网络游戏数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811038906.7A CN110876852B (zh) 2018-09-06 2018-09-06 微服务的网络游戏数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN110876852A CN110876852A (zh) 2020-03-13
CN110876852B true CN110876852B (zh) 2023-09-26

Family

ID=69727288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811038906.7A Active CN110876852B (zh) 2018-09-06 2018-09-06 微服务的网络游戏数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN110876852B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111445206A (zh) * 2020-03-26 2020-07-24 深圳壹账通智能科技有限公司 工作流控制方法和系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350741A (zh) * 2007-07-20 2009-01-21 华为技术有限公司 实时流协议事件通知方法、装置及系统
CN104702647A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 信息请求方法和系统
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
CN106254520A (zh) * 2016-09-06 2016-12-21 腾讯科技(深圳)有限公司 一种资源竞争方法及服务器
CN106993023A (zh) * 2017-03-01 2017-07-28 北京交通大学 微服务架构下的分布式事务解决方法
CN107404514A (zh) * 2017-06-08 2017-11-28 腾讯科技(深圳)有限公司 数据处理方法和装置
CN107645565A (zh) * 2017-10-25 2018-01-30 网易(杭州)网络有限公司 服务器状态信息的处理方法、装置、系统及处理器
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控系统及方法
CN107852571A (zh) * 2015-05-21 2018-03-27 克劳德泰克有限责任公司 识别、定位和认证系统及方法
CN107861823A (zh) * 2017-11-23 2018-03-30 国云科技股份有限公司 一种基于微服务架构的系统保障数据最终一致性的方法
CN107995169A (zh) * 2017-11-21 2018-05-04 厦门点触科技股份有限公司 一种基于微服务架构的手机游戏服务端框架系统
CN108415758A (zh) * 2018-03-27 2018-08-17 深圳市买买提信息科技有限公司 分布式事务协调方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571444B2 (en) * 2004-03-25 2009-08-04 International Business Machines Corporation Method, system and program product for managing events
US20060168090A1 (en) * 2005-01-07 2006-07-27 United Technologies Corporation Remote integrated subsystems in an aircraft or the like
EP1872527B1 (en) * 2005-04-18 2013-05-29 Research In Motion Limited System and method for enabling group subscription for asynchronous push-based applications on a wireless device
KR100883907B1 (ko) * 2006-09-15 2009-02-17 엔에이치엔(주) 다중 접속 온라인 게임에서의 분산 서버를 통한 게임 제어방법 및 시스템
US9017170B2 (en) * 2012-05-23 2015-04-28 King.Com Limited Method and apparatus for interactive gameplay across multiple computing platforms
US10178070B2 (en) * 2015-03-13 2019-01-08 Varmour Networks, Inc. Methods and systems for providing security to distributed microservices

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350741A (zh) * 2007-07-20 2009-01-21 华为技术有限公司 实时流协议事件通知方法、装置及系统
CN104702647A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 信息请求方法和系统
CN107852571A (zh) * 2015-05-21 2018-03-27 克劳德泰克有限责任公司 识别、定位和认证系统及方法
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
CN106254520A (zh) * 2016-09-06 2016-12-21 腾讯科技(深圳)有限公司 一种资源竞争方法及服务器
CN106993023A (zh) * 2017-03-01 2017-07-28 北京交通大学 微服务架构下的分布式事务解决方法
CN107404514A (zh) * 2017-06-08 2017-11-28 腾讯科技(深圳)有限公司 数据处理方法和装置
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控系统及方法
CN107645565A (zh) * 2017-10-25 2018-01-30 网易(杭州)网络有限公司 服务器状态信息的处理方法、装置、系统及处理器
CN107995169A (zh) * 2017-11-21 2018-05-04 厦门点触科技股份有限公司 一种基于微服务架构的手机游戏服务端框架系统
CN107861823A (zh) * 2017-11-23 2018-03-30 国云科技股份有限公司 一种基于微服务架构的系统保障数据最终一致性的方法
CN108415758A (zh) * 2018-03-27 2018-08-17 深圳市买买提信息科技有限公司 分布式事务协调方法及装置

Also Published As

Publication number Publication date
CN110876852A (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
CN107566786B (zh) 一种获取监控视频的方法、装置及终端设备
CN110830581B (zh) 提升区块链响应速度的方法、区块链应用系统及相关设备
CN110750341B (zh) 任务调度方法、装置、系统、终端设备及存储介质
CN111683118B (zh) 基于区块链的共识方法、装置、主节点设备及从节点设备
CN113141383B (zh) 设备信息订阅方法、客户端、服务器、系统及存储介质
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN108509615B (zh) 基于抽签机制的共识建立方法、装置及可读存储介质
CN109040210B (zh) 一种应用之间的通信方法、终端设备及存储介质
CN113852563B (zh) 报文数据传输方法、装置、终端设备及可读存储介质
CN109582655B (zh) 系统日志的定位方法及装置、计算机可读存储介质
CN114465998B (zh) 多设备的文件传输方法、装置、终端设备及可读存储介质
CN112446786A (zh) 一种异常交易处理方法、装置、电子设备和可读存储介质
CN107493486B (zh) 一种视频播放终止的方法、系统及终端设备
CN103561477B (zh) 一种竞争窗口值的更新方法和接入点
CN110876852B (zh) 微服务的网络游戏数据处理方法及系统
CN111200653B (zh) 多平台通讯方法、多平台通讯装置及中间服务器
CN109308219B (zh) 任务处理方法、装置及分布式计算机系统
CN115390939A (zh) 业务处理方法和系统
CN110474954B (zh) 基于区块链的文件分享方法、装置、计算机设备及可读存储介质
CN114326673A (zh) 车辆远程诊断方法、装置、连接器及存储介质
CN110971503B (zh) 微信小程序消息推送方法、存储介质、电子设备及系统
CN111552907A (zh) 消息处理方法、装置、设备和存储介质
CN113806069B (zh) 一种核电站系统交互方法、装置、外围系统及存储介质
CN110585717A (zh) 一种信息处理方法及装置
CN112203264B (zh) 一种应用于设备组的设备配对方法及设备组中的设备

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230814

Address after: Room 802, building E1, TCL Science Park, 1001 Zhongshan Garden Road, Shuguang community, Xili street, Nanshan District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Erlu Technology Co.,Ltd.

Address before: 518000 building D3, R & D building, TCL Science Park, No. 1001, Zhongshan Park Road, xiliuxiandong, Nanshan District, Shenzhen, Guangdong

Applicant before: Shenzhen City, Oriental Boya Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240313

Address after: 801, building E1, TCL Science Park, 1001 Zhongshan Garden Road, Shuguang community, Xili street, Nanshan District, Shenzhen, Guangdong 518000

Patentee after: BOYA NETWORK GAMES DEVELOPMENT (SHENZHEN) Co.,Ltd.

Country or region after: China

Address before: Room 802, building E1, TCL Science Park, 1001 Zhongshan Garden Road, Shuguang community, Xili street, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: Shenzhen Erlu Technology Co.,Ltd.

Country or region before: China