CN111385294A - 数据处理方法、系统、计算机设备和存储介质 - Google Patents

数据处理方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN111385294A
CN111385294A CN202010142364.9A CN202010142364A CN111385294A CN 111385294 A CN111385294 A CN 111385294A CN 202010142364 A CN202010142364 A CN 202010142364A CN 111385294 A CN111385294 A CN 111385294A
Authority
CN
China
Prior art keywords
data
interaction
event
receiver
event data
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
Application number
CN202010142364.9A
Other languages
English (en)
Other versions
CN111385294B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010142364.9A priority Critical patent/CN111385294B/zh
Publication of CN111385294A publication Critical patent/CN111385294A/zh
Application granted granted Critical
Publication of CN111385294B publication Critical patent/CN111385294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种数据处理方法、系统、计算机设备和存储介质。所述方法包括:接收数据交互请求,数据交互请求携带接收方标识和交互数据;基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库;根据交互事件数据的交互类型标识,生成事件通知消息;发送事件通知消息至接收方标识对应的接收方,以使接收方在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。采用本方法,数据库中存储有根据交互请求创建的交互事件数据,根据交互事件数据的交互类型标识,生成事件通知消息并发送给接收方,实现交互数据的准确送达,避免了数据加锁造成的进程等候问题,可以提高单位时间内的数据处理效率。

Description

数据处理方法、系统、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、系统、计算机设备和存储介质。
背景技术
随着计算机技术的发展和应用,互联网用户规模和数据规模越来越大,这对数据处理能力的要求越来越高。在某些应用场景下,后台将很多服务器组成一个集群,以满足海量用户的数据服务需求。
从用户角度,所有的用户都处于同一个平台,所有用户之间可以进行数据交互。而在用户进行数据交互时,传统的数据处理方法,比如通过数据加锁的方式进行处理,这样存在单位时间内数据处理效率不高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高单位时间内处理效率的数据处理方法、系统、计算机设备和存储介质。
一种数据处理方法,所述方法包括:
接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
根据所述交互事件数据的交互类型标识,生成事件通知消息;
发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
一种数据处理系统,所述系统包括:
请求接收模块,用于接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
事件获取模块,用于基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
通知生成模块,用于根据所述交互事件数据的交互类型标识,生成事件通知消息;
通知发送模块,用于发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
根据所述交互事件数据的交互类型标识,生成事件通知消息;
发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
根据所述交互事件数据的交互类型标识,生成事件通知消息;
发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
上述数据处理方法、系统、计算机设备和存储介质,通过接收数据交互请求,数据交互请求携带接收方标识和交互数据;基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库;根据交互事件数据的交互类型标识,生成事件通知消息;发送事件通知消息至接收方标识对应的接收方,以使接收方在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据,上述数据处理方案,数据库中存储有根据交互请求创建的交互事件数据,根据交互事件数据的交互类型标识,生成事件通知消息并发送给接收方,由此实现交互数据的准确送达,无需数据加锁流程,这样避免了数据加锁造成的其它进程等候的问题,因而可以提高单位时间内的数据处理效率。
一种数据处理方法,所述方法包括:
接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
一种数据处理系统,所述系统包括:
通知接收模块,用于接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
数据读取模块,用于根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
数据处理模块,用于根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
数据交互模块,用于响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
上述数据处理方法、系统、计算机设备和存储介质,通过接收发送方下发的事件通知消息,事件通知消息携带交互事件数据的交互类型标识,交互事件数据基于发送方接收到的数据交互请求处理得到;根据事件通知消息,访问发送方中数据库,读取与数据交互请求中携带的接收方标识以及交互类型标识匹配的交互事件数据;根据读取到的交互事件数据生成交互界面数据,推送交互界面数据至用户,响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户的业务数据,上述数据处理方案,根据接收到的事件通知消息,读取发送方数据库中对应的交互事件数据,生成交互界面数据,再基于用户对交互界面数据的操作,更新用户的业务数据,由此实现数据交互,无需数据加锁流程,这样避免了数据加锁造成的其它进程等候的问题,因而可以提高单位时间内的数据处理效率。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中EventLog表的存储示意图;
图4为另一个实施例中数据处理方法的流程示意图;
图5为一个实施例中交互界面的示意图;
图6为另一个实施例中交互界面的示意图;
图7为一个实施例中采用传统技术的数据处理流程示意图;
图8为一个实施例中采用本申请数据处理方法的交互流程示意图;
图9为一个实施例中数据处理系统的结构框图;
图10为另一个实施例中数据处理系统的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。客户端102通过网络与数据后台104连接,数据后台104包括多台服务器。以用户A发起对用户B的数据交互为例,数据后台104给用户A分配的服务器为服务器1,服务器2的数据库用于数据存储,给用户B分配的服务器为服务器3,则可以将服务器1和服务器2视为发送方,服务器3视为接收方。用户A通过客户端102登录个人账号,用户A发起对用户B的数据交互请求。服务器1接收该数据交互请求,根据数据交互请求中携带的接收方标识和交互数据,生成交互事件数据,将该交互事件数据存储至服务器2的数据库。服务器2根据该交互事件数据的交互类型标识,生成事件通知消息,发送事件通知消息至服务器3。服务器3在收到该事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中数据后台的发送方为例进行说明,包括以下步骤:
步骤202,接收数据交互请求,数据交互请求携带接收方标识和交互数据。
数据交互请求是指由用户通过客户端发起的,用于请求与其他用户进行数据交互,比如用户A通过客户端1发起与用户B进行交互的数据交互请求。接收方标识是用来标识数据交互请求发起方所请求的交互对象,交互数据是指进行数据交互的业务数据,比如赠送5枚虚拟代币。此外,数据交互请求可以是不同用户对其他不同用户发起的数据交互请求,也可以是不同用户对同一其他用户发起的数据交互请求,还可以是同一用户对其他不同用户发起的数据交互请求。
当数据交互请求为至少两个并行的数据交互请求时,接收数据交互请求包括:当检测到并行的交互请求时,发送数据归集消息至预设服务器,数据归集消息用于指示预设服务器接收交互请求,并对交互请求进行归集得到交互请求队列;接收预设服务器基于数据归集消息反馈的交互请求队列,交互请求队列包括串行的交互请求,交互请求携带接收方标识和交互数据。可以由一个服务器归集各个用户的交互请求,这样可以将并行发起的交互请求串行化,从而避免写冲突。
步骤204,基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库。
交互事件数据是指按照预定义格式记录数据交互请求所携带的信息,比如服务器1根据数据交互请求,以接收方标识和交互数据的交互类型标识作为关键字,生成交互事件数据,服务器1在将该交互事件数据写入服务器2的数据库。一个数据交互请求对应一条交互事件数据,比如,用户A和用户B同时发起对用户C的交互请求,用户A请求赠送10个游戏道具X至用户C,用户B请求赠送1个游戏道具Y至用户C,用户A和用户B所分配到的服务器均为服务器1。此时,服务器1根据用户A的数据交互请求创建一条交互事件数据,根据用户B的数据交互请求创建一条交互事件数据,比如,用户A发起的数据交互请求对应交互事件数据1,用户B发起的数据交互请求对应交互事件数据2。服务器1将事件记录数据1和事件记录数据2写入服务器2的数据库中。
步骤206,根据交互事件数据的交互类型标识,生成事件通知消息。
交互类型标识用于标识交互事件数据的交互类型,交互类型用于区分不同的数据交互,比如用于区分不同的交互操作,或者用于区分同一交互操作下所赠送的不同道具。服务器2的数据库中存储有不同的交互事件数据,在检测到交互事件数据写入数据库时,服务器2根据交互事件数据的交互类型标识,生成事件通知消息。
步骤208,发送事件通知消息至接收方标识对应的接收方,以使接收方在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。
服务器2发送事件通知消息至接收方标识对应的接收方,用于通知接收方待处理的数据交互请求。承上所述,用户A和用户B同时发起对用户C的数据交互请求,服务器1创建交互事件数据1和交互事件数据2之后,将交互事件数据1和交互事件数据2写入服务器2的数据库,服务器2根据数据库中存储的两条交互事件数据生成事件通知消息,查询用户C分配的服务器为服务器3,发送事件通知消息至服务器3,通知用户C处理数据交互请求。服务器3在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。
上述数据处理方法中,通过接收数据交互请求,数据交互请求携带接收方标识和交互数据;基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库;根据交互事件数据的交互类型标识,生成事件通知消息;发送事件通知消息至接收方标识对应的接收方,以使接收方在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据,上述数据处理方案,数据库中存储有根据交互请求创建的交互事件数据,根据交互事件数据的交互类型标识,生成事件通知消息并发送给接收方,由此实现交互数据的准确送达,无需数据加锁流程,这样避免了数据加锁造成的其它进程等候的问题,因而可以提高单位时间内的数据处理效率。
在一个实施例中,基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库包括:获取交互数据对应的配置数据,根据配置数据对交互数据进行事件处理,得到事件处理后的交互数据;基于事件处理后的交互数据以及接收方标识,生成交互事件数据,并存储交互事件数据至预设数据库。交互数据对应的配置数据是指交互事件数据的属性数据,比如可以是交互事件数据的长度,不同类型的交互数据对应不同长度。具体地,基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库,可以是以接收方标识和交互数据的交互类型作为关键字,生成交互请求对应的事件日志,将事件日志存储至预设数据库。事件日志具体可以是EventLog表的形式,EventLog表存储于数据库中,比如基于游戏数据库Tcaplus的列表结构存储。EventLog表以接收该EventLog表的对象和EventLog表的类型作为关键字,不同类型的EventLog表包含不同类型的业务数据,具体业务类型可自定义。按照每种类型的EventLog表的重要程度和数量,可以定义多种长度的EventLog表,分别用于处理不同类型的业务数据。通过静态的配置,可以为每种具体的业务类型指定其访问不同长度的EventLog表。具体可以定义2-3种长度的EventLog表,具体数量视具体项目的业务需求而定。如图3所示,交互事件数据以EventLog表的形式存储至服务器的数据库,即数据库中包含EventLog数据。
在一个实施例中,如图4所示,提供了一种数据处理方法,以该方法应用于图1中接收方为例进行说明,包括以下步骤:
步骤402,接收发送方下发的事件通知消息,事件通知消息携带交互事件数据的交互类型标识,交互事件数据基于发送方接收到的数据交互请求处理得到;
步骤404,根据事件通知消息,访问发送方中数据库,读取与数据交互请求中携带的接收方标识以及交互类型标识匹配的交互事件数据;
步骤406,根据读取到的交互事件数据生成交互界面数据,推送交互界面数据至用户;
步骤408,响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户的业务数据。
服务器3根据读取到的交互事件数据生成交互界面数据,推送交互界面数据至用户,响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户的业务数据。比如,服务器3读取到的交互事件数据为交互事件数据1和交互事件数据2,根据交互事件数据1和交互事件数据2生成交互界面数据,并推送该交互界面数据至用户C。用户C通过客户端显示的交互界面数据和数据操作控件,比如交互界面数据为用户A赠送1个道具X,用户B赠送5个道具X,数据操作控件为全部收取控件。用户C点击全部收取控件,服务器3响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户C的业务数据,将用户C的道具X在原有基础上加上6个,比如用户C原有4个道具X,则将用户C所持有道具X的数量更新为10个。
上述数据处理方法中,通过接收发送方下发的事件通知消息,事件通知消息携带交互事件数据的交互类型标识,交互事件数据基于发送方接收到的数据交互请求进行处理得到;根据事件通知消息,访问发送方中数据库,读取与数据交互请求中携带的接收方标识以及交互类型标识匹配的交互事件数据;根据读取到的交互事件数据生成交互界面数据,推送交互界面数据至用户,响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户的业务数据,上述数据处理方案,根据接收到的事件通知消息,读取发送方数据库中对应的交互事件数据,生成交互界面数据,再基于用户对交互界面数据的操作,更新用户的业务数据,由此实现数据交互,无需数据加锁流程,这样避免了数据加锁造成的其它进程等候的问题,因而可以提高单位时间内的数据处理效率。
在一个实施例中,数据处理方法还包括:在检测到交互事件数据读取完成时,将匹配的交互事件数据从预设数据库中删除。仍以用户A和用户B同时发起对用户C的数据交互请求为例,服务器1根据用户A的数据交互请求创建交互事件数据1,根据用户B的数据交互请求创建交互事件数据2,将交互事件数据1和交互事件数据2写入服务器2的数据库。服务器2根据数据库中存储的两条交互事件数据生成事件通知消息,查询到用户C分配的服务器为服务器3,发送事件通知消息至服务器3,通知用户C处理数据交互请求。服务器3在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。在服务器3读取到交互事件数据1和交互事件数据2后,将交互事件数据1和交互事件数据2从数据库中删除,以释放数据库的存储空间,用于存储其它交互事件数据,从而可以实现高效处理更多的数据交互请求。
在一个实施例中,交互事件数据的数量为至少两条时,根据读取到的交互事件数据生成交互界面数据包括:当交互事件数据的交互类型属于预设第一类型时,根据交互事件数据对应的时间进行排序,根据排序后的交互事件数据生成交互界面数据;当交互事件数据的交互类型属于预设第二类型时,根据交互事件数据对应的交互数据数量进行排序,根据排序后的交互事件数据生成交互界面数据。
比如,服务器3读取到四条交互事件数据,分别是交互事件数据11(用户A1请求赠送1个游戏道具X)、交互事件数据12(用户A2请求赠送1个游戏道具X)、交互事件数据21(用户B1请求赠送10个游戏道具Y)和交互事件数据22(用户B2请求赠送5个游戏道具Y)。其中,交互事件数据11和交互事件数据12属于同一交互类型(赠送游戏道具X),交互事件数据21和交互事件数据22属于同一交互类型(赠送游戏道具Y)。根据交互事件数据11和交互事件数据12生成第一交互界面数据,根据交互事件数据21和交互事件数据22生成第二交互界面数据。交互事件数据11和交互事件数据12为同一类,比如记为第一类型,交互事件数据21和交互事件数据22为同一类,比如记为第二类型。对于第一类型的交互事件数据,比如,对交互事件数据11和交互事件数据12,根据交互事件数据对应的时间与当前时间由近到远进行排序,根据排序后的交互事件数据生成交互界面数据,一个具体的交互界面示意图如图5所示。对于第二类型的交互事件数据,根据交互事件数据对应的交互数据数量进行排序,比如,对交互事件数据21和交互事件数据22,按照游戏道具Y的赠送数量升序排序,根据排序后的交互事件数据生成交互界面数据,一个具体的交互界面示意图如图6所示。上述数据处理方法,对不同类型的交互事件数据进行归集,生成不同的交互界面数据,满足用户的不同需求。
本申请还提供一种全区全服游戏中多用户交互的应用场景,在该应用场景中,传统技术在用户发生交互时,通过数据加锁的方法避免写冲突,比如当用户A和用户B同时与用户C交互时,采用传统技术的数据处理流程如图7所示,服务器根据用户A的交互请求,对用户C的数据进行加锁,加锁成功后根据用户A的交互请求更新用户C的数据,对更新完成后用户C的数据释放解锁。然后再根据用户B的交互请求,对用户C的数据进行加锁,加锁成功后根据用户B的交互请求更新用户C的数据,对更新完成后用户C的数据释放解锁。这样导致交互流程过长,实现较为复杂,且当数据资源被加锁时,其它进程需要等待,导致数据处理系统的性能下降,即降低系统的吞吐量。
网络游戏的服务器架构包括全区全服和分区分服两种架构,基于数据库、数据互通性以及单服承载的玩家数量级角度考虑,选用不同的架构。全区全服只有一个数据库,全区全服数据库承载所有玩家,PCU(Peak Concurrent Users,最高同时在线玩家人数)可达百万级别,采用读写并发高的数据库组件;而分区分服的每个服务器都有独立的数据库。此外,全区全服所有玩家在一个服,分区分服玩家分摊在各个不同服,单服玩家数量不在一个级别,当玩家之间需要进行交互时,分区分服架构由于数据互通的限制,采用数据加锁的方式进行交互处理,这样导致交互流程繁琐,交互需要耗费更多的时间。将本申请的数据处理方法应用于全区全服游戏中多用户交互的应用场景,其交互流程示意图如图8所示。具体地,该数据处理方法在该应用场景的应用如下:当用户A请求与用户B进行交互时,用户A分配到的服务器为服务器1,用户B分配到的服务器为服务器3,服务器1接收用户1的交互请求,根据该交互请求创建对应的EventLog表,将该表写入服务器2的数据库中。服务器2发送事件通知消息给服务器3,在检测到用户B在线时,服务器3从数据库中读取EventLog表进行交互请求处理,并将EventLog表从数据库中删除,实时完成本次交互操作。在检测到用户B不在线时,服务器3在用户B下次登录时,从数据库中读取EventLog表进行交互请求处理,并将EventLog表从数据库中删除,完成交互操作。
上述数据处理方法,通过EventLog表的方式,可以屏蔽上层业务对交互对象是否在线的不同处理,即无论交互对象是否在线,采用上述数据处理方法,上层业务的处理逻辑统一,类似交互对象一直在线。此外,采用上述数据处理方法,还可以屏蔽上层业务逻辑对游戏用户通过不同游戏服务器登录的复杂性,即游戏用户通过任何一个游戏服务器登录,上层业务的处理逻辑统一。这样既解决了多用户并发交互的问题,也解决了用户不在线的问题,大大降低了游戏交互功能的开发难度,提高游戏的开发进度。
应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种数据处理系统,该系统可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该系统具体包括:请求接收模块、事件获取模块、通知生成模块和通知发送模块,其中:
请求接收模块,用于接收数据交互请求,数据交互请求携带接收方标识和交互数据;
事件获取模块,用于基于接收方标识和交互数据,获得交互事件数据以及存储有交互事件数据的数据库;
通知生成模块,用于根据交互事件数据的交互类型标识,生成事件通知消息;
通知发送模块,用于发送事件通知消息至接收方标识对应的接收方,以使接收方在收到事件通知消息时,访问数据库,读取与接收方标识和交互类型标识匹配的交互事件数据。
在一个实施例中,事件获取模块还用于获取交互数据对应的配置数据,根据配置数据对交互数据进行事件处理,得到事件处理后的交互数据;基于事件处理后的交互数据以及接收方标识,生成交互事件数据,并存储交互事件数据至预设数据库。
在一个实施例中,事件获取模块还用于以接收方标识和交互数据的交互类型作为关键字,生成交互请求对应的事件日志,将事件日志存储至预设数据库。
在一个实施例中,如图10所示,提供了一种数据处理系统,该系统具体包括:通知接收模块、数据读取模块、数据处理模块和数据交互模块,其中:
通知接收模块,用于接收发送方下发的事件通知消息,事件通知消息携带交互事件数据的交互类型标识,交互事件数据基于发送方接收到的数据交互请求处理得到;
数据读取模块,用于根据事件通知消息,访问发送方中数据库,读取与数据交互请求中携带的接收方标识以及交互类型标识匹配的交互事件数据;
数据处理模块,用于根据读取到的交互事件数据生成交互界面数据,推送交互界面数据至用户;
数据交互模块,用于响应用户对交互界面数据的数据处理请求,根据数据处理请求更新用户的业务数据。
在一个实施例中,数据处理系统还包括数据删除模块,用于在检测到交互事件数据读取完成时,将匹配的交互事件数据从预设数据库中删除。
在一个实施例中,数据处理模块还用于当交互事件数据的交互类型属于预设第一类型时,根据交互事件数据对应的时间进行排序,根据排序后的交互事件数据生成交互界面数据;当交互事件数据的交互类型属于预设第二类型时,根据交互事件数据对应的交互数据数量进行排序,根据排序后的交互事件数据生成交互界面数据。
关于数据处理系统的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据交互请求、业务数据、交互事件数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据处理方法,所述方法包括:
接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
根据所述交互事件数据的交互类型标识,生成事件通知消息;
发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库包括:
获取所述交互数据对应的配置数据,根据所述配置数据对所述交互数据进行事件处理,得到事件处理后的交互数据;
基于所述事件处理后的交互数据以及所述接收方标识,生成交互事件数据,并存储所述交互事件数据至预设数据库。
3.根据权利要求1所述的方法,其特征在于,所述基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库包括:
以所述接收方标识和所述交互数据的交互类型作为关键字,生成所述交互请求对应的事件日志,将所述事件日志存储至预设数据库。
4.一种数据处理方法,其特征在于,所述方法包括:
接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在检测到所述交互事件数据读取完成时,将所述匹配的交互事件数据从预设数据库中删除。
6.根据权利要求4所述的方法,其特征在于,所述交互事件数据的数量为至少两条时,所述根据读取到的交互事件数据生成交互界面数据包括:
当所述交互事件数据的交互类型属于预设第一类型时,根据所述交互事件数据对应的时间进行排序,根据排序后的交互事件数据生成交互界面数据;
当所述交互事件数据的交互类型属于预设第二类型时,根据所述交互事件数据对应的交互数据数量进行排序,根据排序后的交互事件数据生成交互界面数据。
7.一种数据处理系统,其特征在于,所述系统包括:
请求接收模块,用于接收数据交互请求,所述数据交互请求携带接收方标识和交互数据;
事件获取模块,用于基于所述接收方标识和所述交互数据,获得交互事件数据以及存储有所述交互事件数据的数据库;
通知生成模块,用于根据所述交互事件数据的交互类型标识,生成事件通知消息;
通知发送模块,用于发送所述事件通知消息至所述接收方标识对应的接收方,以使所述接收方在收到所述事件通知消息时,访问所述数据库,读取与所述接收方标识和所述交互类型标识匹配的交互事件数据。
8.一种数据处理系统,其特征在于,所述系统包括:
通知接收模块,用于接收发送方下发的事件通知消息,所述事件通知消息携带交互事件数据的交互类型标识,所述交互事件数据基于所述发送方接收到的数据交互请求处理得到;
数据读取模块,用于根据所述事件通知消息,访问所述发送方中数据库,读取与所述数据交互请求中携带的接收方标识以及所述交互类型标识匹配的交互事件数据;
数据处理模块,用于根据读取到的交互事件数据生成交互界面数据,推送所述交互界面数据至用户;
数据交互模块,用于响应所述用户对所述交互界面数据的数据处理请求,根据所述数据处理请求更新所述用户的业务数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010142364.9A 2020-03-04 2020-03-04 数据处理方法、系统、计算机设备和存储介质 Active CN111385294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010142364.9A CN111385294B (zh) 2020-03-04 2020-03-04 数据处理方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010142364.9A CN111385294B (zh) 2020-03-04 2020-03-04 数据处理方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111385294A true CN111385294A (zh) 2020-07-07
CN111385294B CN111385294B (zh) 2021-04-20

Family

ID=71217158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010142364.9A Active CN111385294B (zh) 2020-03-04 2020-03-04 数据处理方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111385294B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214264A (zh) * 2020-10-10 2021-01-12 交通运输部规划研究院 Ais交互操作处理方法及装置
CN114938357A (zh) * 2022-06-07 2022-08-23 中国人民解放军国防科技大学 开源群体协同消息通知方法、装置、计算机设备和介质
CN116192792A (zh) * 2023-02-06 2023-05-30 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207838A (zh) * 2006-12-06 2008-06-25 Sap股份公司 基于发送方和接收方关系的消息转发
CN103150379A (zh) * 2013-03-13 2013-06-12 北京东田教育科技有限公司 一种消息分目录进行索引式管理的方法
CN105550047A (zh) * 2015-12-11 2016-05-04 深圳市佳创视讯技术股份有限公司 基于数据库通信的方法及系统
CN106131175A (zh) * 2016-07-01 2016-11-16 微梦创科网络科技(中国)有限公司 一种信息获取、信息推送方法和设备
CN106155818A (zh) * 2016-06-17 2016-11-23 腾讯科技(深圳)有限公司 一种终端拉取信息的处理方法和终端以及服务器
CN106250487A (zh) * 2016-07-29 2016-12-21 杭州华三通信技术有限公司 一种数据库并发控制方法及装置
US20180210899A1 (en) * 2001-08-13 2018-07-26 S. Aqua Semiconductor, Llc Universal Data Management Interface
CN110781016A (zh) * 2019-10-30 2020-02-11 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180210899A1 (en) * 2001-08-13 2018-07-26 S. Aqua Semiconductor, Llc Universal Data Management Interface
CN101207838A (zh) * 2006-12-06 2008-06-25 Sap股份公司 基于发送方和接收方关系的消息转发
CN103150379A (zh) * 2013-03-13 2013-06-12 北京东田教育科技有限公司 一种消息分目录进行索引式管理的方法
CN105550047A (zh) * 2015-12-11 2016-05-04 深圳市佳创视讯技术股份有限公司 基于数据库通信的方法及系统
CN106155818A (zh) * 2016-06-17 2016-11-23 腾讯科技(深圳)有限公司 一种终端拉取信息的处理方法和终端以及服务器
CN106131175A (zh) * 2016-07-01 2016-11-16 微梦创科网络科技(中国)有限公司 一种信息获取、信息推送方法和设备
CN106250487A (zh) * 2016-07-29 2016-12-21 杭州华三通信技术有限公司 一种数据库并发控制方法及装置
CN110781016A (zh) * 2019-10-30 2020-02-11 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214264A (zh) * 2020-10-10 2021-01-12 交通运输部规划研究院 Ais交互操作处理方法及装置
CN114938357A (zh) * 2022-06-07 2022-08-23 中国人民解放军国防科技大学 开源群体协同消息通知方法、装置、计算机设备和介质
CN114938357B (zh) * 2022-06-07 2024-03-12 中国人民解放军国防科技大学 开源群体协同消息通知方法、装置、计算机设备和介质
CN116192792A (zh) * 2023-02-06 2023-05-30 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111385294B (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN111385294B (zh) 数据处理方法、系统、计算机设备和存储介质
CN107391653B (zh) 一种分布式NewSQL数据库系统及图片数据储存方法
CN109254733B (zh) 用于存储数据的方法、装置和系统
US20200183892A1 (en) Data Transaction Processing Method, Apparatus, and Electronic Device
CN109255056B (zh) 区块链的数据引用处理方法、装置、设备及存储介质
CN110399383A (zh) 应用于服务器的数据处理方法、装置、计算设备、介质
CN109842621B (zh) 一种减少token存储数量的方法及终端
CN104423982A (zh) 请求的处理方法和处理设备
CN106612330A (zh) 支持分布式多文件导入的系统及方法
CN111400246A (zh) 异步导入文件方法、装置、计算机设备和存储介质
CN114217979A (zh) 单据处理方法、装置、计算机设备和存储介质
CN100585579C (zh) 用于管理卷组中的卷的方法和系统
Ilin et al. Performance analysis of software with a variant NoSQL data schemes
CN109032940B (zh) 一种测试场景录入方法、装置、设备及存储介质
US9201937B2 (en) Rapid provisioning of information for business analytics
US11573931B2 (en) Smart near-real-time folder scan based on a breadth first search
CN114254278A (zh) 用户账号合并方法、装置、计算机设备以及存储介质
JP4693620B2 (ja) Cadデータ管理装置及びそのプログラム
CN107704557B (zh) 操作互斥数据的处理方法、装置、计算机设备和存储介质
CN110019113B (zh) 一种数据库的业务处理方法及数据库服务器
CN112416945A (zh) 基于大数据平台的数据处理方法、系统和计算机设备
KR20220013084A (ko) 복수의 문서 저장소들과 연동하여 클라이언트 단말로부터 수신된 문서 파일의 저장 처리를 수행하는 문서 저장 관리 서버 및 그 동작 방법
US11627085B2 (en) Non-transitory computer-readable recording medium, service management device, and service management method
US11921787B2 (en) Identity-aware data management
CN110134691B (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