HK40052748B - Data processing method, device and storage medium based on cache queue - Google Patents
Data processing method, device and storage medium based on cache queue Download PDFInfo
- Publication number
- HK40052748B HK40052748B HK42021041073.4A HK42021041073A HK40052748B HK 40052748 B HK40052748 B HK 40052748B HK 42021041073 A HK42021041073 A HK 42021041073A HK 40052748 B HK40052748 B HK 40052748B
- Authority
- HK
- Hong Kong
- Prior art keywords
- target
- offline
- data
- user
- event
- Prior art date
Links
Description
技术领域Technical Field
本申请涉及计算机技术领域,尤其涉及一种基于缓存队列的数据处理方法、装置及存储介质。This application relates to the field of computer technology, and in particular to a data processing method, apparatus and storage medium based on a cache queue.
背景技术Background Technology
网络游戏也称在线游戏,一般指多名玩家通过计算机互联网进行交互娱乐的电子游戏。大型多人在线角色扮演游戏(MassiveMultiplayer Online Role-Playing Game,MMORPG)是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏,玩家可扮演一个或多个虚拟角色,并控制该角色在游戏中虚拟世界的活动与行为。在大型多人在线角色扮演游戏中存在大量离线事件,比如删除离线好友、帮派踢出离线成员、给离线成员发邮件等。由于服务器内存有限且玩家数量巨大,因此服务器内存通常只会加载在线玩家的相关数据,所以当上述大量离线事件发生时服务器无法直接修改离线玩家数据。Online games, also known as network games, generally refer to video games where multiple players interact and enjoy entertainment via computer internet. Massive Multiplayer Online Role-Playing Games (MMORPGs) are a type of video role-playing game categorized by the number of players. Players can assume the role of one or more virtual characters and control their actions and behaviors within the game's virtual world. MMORPGs experience numerous offline events, such as deleting offline friends, kicking offline members from guilds, and sending emails to offline members. Due to limited server memory and the massive number of players, server memory typically only loads data related to online players. Therefore, when these numerous offline events occur, the server cannot directly modify offline player data.
本申请的发明人在研究和实践过程中发现,现有技术通常是在发生离线事件后将离线玩家数据从数据库(DataBase,DB)中加载进内存,对内存中的数据进行处理后再更新至数据库。这种方法相当于直接修改了离线玩家的数据,忽略了特权玩家的用户体验。且由于离线事件的种类繁多,若每次离线事件都访问数据库进行数据修改,则会影响其他在线事件的数据库访问性能,用户体验感低,适用性低,可靠性差。The inventors of this application discovered during their research and practice that existing technologies typically load offline player data from a database (DB) into memory after an offline event occurs, process the data in memory, and then update it back to the database. This method is equivalent to directly modifying the offline player's data, ignoring the user experience of privileged players. Furthermore, due to the wide variety of offline events, if the database is accessed and data is modified for each offline event, it will affect the database access performance for other online events, resulting in a poor user experience, low applicability, and poor reliability.
发明内容Summary of the Invention
本申请实施例提供了一种基于缓存队列的数据处理方法、装置及存储介质,可以提高目标应用的可靠性,增强目标应用的用户粘性,操作简单,适用性高。This application provides a data processing method, apparatus, and storage medium based on a cache queue, which can improve the reliability of the target application, enhance user stickiness of the target application, and is simple to operate and highly applicable.
本申请实施例第一方面提供一种基于缓存队列的数据处理方法,包括:The first aspect of this application provides a data processing method based on a cache queue, including:
当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,其中,任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据;When offline event interaction data of the target application is detected, the offline event interaction data is stored, wherein the target application is an application interacted by multiple users, and the offline event interaction data is the offline data of the users of the target application, wherein the offline data of any user is the operation data generated by other users in the target application initiating offline events for any user when any user is offline;
当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据;When it is detected that a target user of the target application has logged into the target application, the target offline data corresponding to the target user is determined from the stored offline event interaction data.
基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。Based on the aforementioned target offline data and the target user's historical user data in the aforementioned target application, the target offline event corresponding to the aforementioned target offline data is responded to to generate the target user's online user data. The aforementioned target offline event is an offline event initiated by other users in the aforementioned target application against the aforementioned target user when the target user is offline.
结合第一方面,在一种可能的实施方式中,上述存储上述离线事件交互数据包括:In conjunction with the first aspect, in one possible implementation, storing the aforementioned offline event interaction data includes:
将上述离线事件交互数据存储至缓存队列;Store the aforementioned offline event interaction data in a cache queue;
上述从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据包括:The target offline data corresponding to the target user determined from the stored offline event interaction data includes:
从上述缓存队列中存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue.
结合第一方面,在一种可能的实施方式中,上述存储上述离线事件交互数据存储至缓存队列之前,上述方法还包括:In conjunction with the first aspect, in one possible implementation, before storing the aforementioned offline event interaction data into the cache queue, the method further includes:
从应用服务器的共享内存中确定出部分共享内存,并将上述部分共享内存确定为上述缓存队列。A portion of the shared memory is identified from the application server's shared memory, and this portion of shared memory is designated as the aforementioned cache queue.
结合第一方面,在一种可能的实施方式中,上述将上述离线事件交互数据存储至缓存队列之后,上述方法还包括:In conjunction with the first aspect, in one possible implementation, after storing the aforementioned offline event interaction data in a cache queue, the method further includes:
当数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库;When the data update cycle arrives, the aforementioned offline event interaction data will be read from the cache queue and stored in the target database;
上述从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据包括:The target offline data corresponding to the target user determined from the stored offline event interaction data includes:
基于上述目标用户登录上述目标应用的时间和上述数据更新周期到来的时间,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。Based on the time when the target user logs into the target application and the time when the data update cycle arrives, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the cache queue and/or the target database.
结合第一方面,在一种可能的实施方式中,上述将上述离线事件交互数据存储至缓存队列之后,上述方法还包括:In conjunction with the first aspect, in one possible implementation, after storing the aforementioned offline event interaction data in a cache queue, the method further includes:
当上述缓存队列存储空间已满时,将上述缓存队列中存入时间最早的离线事件交互数据读出并存储至目标数据库;When the above cache queue storage space is full, the offline event interaction data with the earliest storage time in the above cache queue is read out and stored in the target database;
上述从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据包括:The target offline data corresponding to the target user determined from the stored offline event interaction data includes:
从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue and/or the aforementioned target database.
结合第一方面,在一种可能的实施方式中,上述将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,上述方法还包括:In conjunction with the first aspect, in one possible implementation, after reading the aforementioned offline event interaction data from the cache queue and storing it in the target database, the method further includes:
将上述离线事件交互数据从上述缓存队列中删除;或者Delete the aforementioned offline event interaction data from the aforementioned cache queue; or
将上述离线事件交互数据标记为已存储数据。Mark the above offline event interaction data as stored data.
结合第一方面,在一种可能的实施方式中,上述基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件之前,上述方法还包括:In conjunction with the first aspect, in one possible implementation, before responding to the target offline event corresponding to the target offline data based on the target offline data and the target user's historical user data in the target application, the method further includes:
向上述目标用户发送离线事件处理请求;Send offline event handling requests to the aforementioned target users;
当接收到上述目标用户发送的上述离线事件处理响应时,基于上述目标离线数据确定上述目标离线数据对应的上述目标离线事件的事件处理逻辑,以基于上述事件处理逻辑、上述目标离线数据以及上述目标用户在上述目标应用中的历史用户数据执行上述目标离线事件以响应上述目标离线事件;When the offline event handling response sent by the target user is received, the event handling logic of the target offline event corresponding to the target offline data is determined based on the target offline data, and the target offline event is executed based on the event handling logic, the target offline data, and the target user's historical user data in the target application to respond to the target offline event.
其中,上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。The aforementioned online user data refers to user data generated after the aforementioned target user logs into the aforementioned target application and responds to the aforementioned target offline event.
结合第一方面,在一种可能的实施方式中,上述基于上述事件处理逻辑、上述目标离线数据以及上述目标用户在上述目标应用中的历史用户数据执行上述目标离线事件,包括:In conjunction with the first aspect, in one possible implementation, executing the target offline event based on the aforementioned event processing logic, the target offline data, and the target user's historical user data in the target application includes:
基于上述事件处理逻辑和上述目标离线数据调用上述目标应用的在线事件逻辑接口,以通过上述在线事件逻辑接口修改上述目标应用中的上述目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口。Based on the above event processing logic and the above target offline data, the online event logic interface of the above target application is called to modify the historical user data of the above target user in the above target application through the above online event logic interface to generate the online user data of the above target user. The above online event logic interface is the processing logic interface for online events in the above target application.
第二方面,本申请提供了一种基于缓存队列的数据处理装置,上述装置包括:Secondly, this application provides a data processing apparatus based on a cache queue, the apparatus comprising:
第一存储模块,用于当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,其中,任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据;The first storage module is used to store the offline event interaction data when the offline event interaction data of the target application is detected, wherein the target application is an application interacted by multiple users, the offline event interaction data is the offline data of the users of the target application, and the offline data of any user is the operation data generated by other users in the target application initiating offline events for any user when any user is offline.
第一确定模块,用于当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据;The first determining module is used to determine the target offline data corresponding to the target user from the stored offline event interaction data when it is detected that the target user of the target application has logged into the target application.
第一响应模块,用于基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。The first response module is used to respond to the target offline event corresponding to the target offline data based on the target offline data and the target user's historical user data in the target application to generate the target user's online user data. The target offline event is an offline event initiated by other users in the target application against the target user when the target user is offline.
结合第二方面,在一种可能的实施方式中,上述第一存储模块还用于:In conjunction with the second aspect, in one possible implementation, the first storage module is further configured to:
将上述离线事件交互数据存储至缓存队列;Store the aforementioned offline event interaction data in a cache queue;
上述第一确定模块还用于:The aforementioned first determining module is also used for:
从上述缓存队列中存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue.
结合第二方面,在一种可能的实施方式中,上述装置还包括:In conjunction with the second aspect, in one possible implementation, the above-described apparatus further includes:
第二确定模块,用于从应用服务器的共享内存中确定出部分共享内存,并将上述部分共享内存确定为上述缓存队列。The second determining module is used to determine a portion of the shared memory from the shared memory of the application server, and to determine the aforementioned portion of the shared memory as the aforementioned cache queue.
结合第二方面,在一种可能的实施方式中,上述装置还包括:In conjunction with the second aspect, in one possible implementation, the above-described apparatus further includes:
第二存储模块,用于当数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库;The second storage module is used to read the aforementioned offline event interaction data from the cache queue and store it in the target database when the data update cycle arrives;
上述第一确定模块还用于:The aforementioned first determining module is also used for:
基于上述目标用户登录上述目标应用的时间和上述数据更新周期到来的时间,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。Based on the time when the target user logs into the target application and the time when the data update cycle arrives, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the cache queue and/or the target database.
结合第二方面,在一种可能的实施方式中,上述第二存储模块还用于:In conjunction with the second aspect, in one possible implementation, the second storage module is further configured to:
当上述缓存队列存储空间已满时,将上述缓存队列中存入时间最早的离线事件交互数据读出并存储至目标数据库;When the above cache queue storage space is full, the offline event interaction data with the earliest storage time in the above cache queue is read out and stored in the target database;
上述第一确定模块还用于:The aforementioned first determining module is also used for:
从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue and/or the aforementioned target database.
结合第二方面,在一种可能的实施方式中,上述装置还包括:In conjunction with the second aspect, in one possible implementation, the above-described apparatus further includes:
删除模块,用于将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,将上述离线事件交互数据从上述缓存队列中删除;The deletion module is used to read the offline event interaction data from the cache queue and store it in the target database, and then delete the offline event interaction data from the cache queue.
标记模块,用于将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,将上述离线事件交互数据标记为已存储数据。The marking module is used to mark the offline event interaction data as stored data after reading it from the cache queue and storing it in the target database.
结合第二方面,在一种可能的实施方式中,上述装置还包括:In conjunction with the second aspect, in one possible implementation, the above-described apparatus further includes:
发送模块,用于向上述目标用户发送离线事件处理请求;The sending module is used to send offline event processing requests to the aforementioned target users;
第三确定模块,用于当接收到上述目标用户发送的上述离线事件处理响应时,基于上述目标离线数据确定上述目标离线数据对应的上述目标离线事件的事件处理逻辑;The third determining module is used to determine the event processing logic of the target offline event corresponding to the target offline data based on the target offline data when the offline event processing response sent by the target user is received.
上述第一响应模块还用于:The aforementioned first response module is also used for:
基于上述事件处理逻辑、上述目标离线数据以及上述目标用户在上述目标应用中的历史用户数据执行上述目标离线事件以响应上述目标离线事件;Based on the above event handling logic, the above target offline data, and the above target user's historical user data in the above target application, execute the above target offline event to respond to the above target offline event;
其中,上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。The aforementioned online user data refers to user data generated after the aforementioned target user logs into the aforementioned target application and responds to the aforementioned target offline event.
结合第二方面,在一种可能的实施方式中,上述第一响应模块还包括:In conjunction with the second aspect, in one possible implementation, the first response module further includes:
调用单元,用于基于上述事件处理逻辑和上述目标离线数据调用上述目标应用的在线事件逻辑接口;The calling unit is used to call the online event logic interface of the target application based on the above event processing logic and the above target offline data;
生成单元,用于通过上述在线事件逻辑接口修改上述目标应用中的上述目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口。The generation unit is used to modify the historical user data of the target user in the target application through the online event logic interface to generate the online user data of the target user, wherein the online event logic interface is the processing logic interface for online events in the target application.
第三方面,本申请提供了一种计算机设备,包括:处理器、收发器、存储器以及网络接口;上述处理器与存储器、收发器以及网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储程序代码,上述处理器和上述收发器用于调用上述程序代码,以执行本申请中上述第一方面以及第一方面中任一种可能的实施方式所执行的方法。Thirdly, this application provides a computer device, including: a processor, a transceiver, a memory, and a network interface; the processor is connected to the memory, the transceiver, and the network interface, wherein the network interface is used to provide data communication functions, the memory is used to store program code, and the processor and the transceiver are used to call the program code to execute the method performed by the first aspect and any possible implementation of the first aspect of this application.
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请中上述第一方面以及第一方面中任一种可能的实施方式所执行的方法。Fourthly, this application provides a computer-readable storage medium storing a computer program, the computer program including program instructions that, when executed by a processor, perform the methods described in the first aspect of this application and any possible implementation thereof.
在本申请中,当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述离线事件交互数据为上述目标应用的用户的离线数据,且任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据。当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据,在目标用户登录上述目标应用后再对存储的离线事件交互数据做相应的处理,提升了目标用户的用户体验感。确定出上述目标用户对应的目标离线数据后,基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,其中,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。采用本申请,可以缓解在离线事件种类繁多的情况下,每发生一次离线事件都访问数据库进行数据修改,影响其他在线事件的数据库访问性能的问题,且提升了目标应用的用户体验感,操作简单,适用性高。In this application, when offline event interaction data of a target application is detected, the offline event interaction data is stored. This offline event interaction data comprises the offline data of a user of the target application, and the offline data of any user is the operation data generated when other users in the target application initiate offline events for that user while the user is offline. When a target user of the target application is detected to have logged into the target application, the target offline data corresponding to the target user is determined from the stored offline event interaction data. The stored offline event interaction data is then processed after the target user logs into the target application, improving the user experience. After determining the target offline data corresponding to the target user, based on the target offline data and the target user's historical user data in the target application, a target offline event corresponding to the target offline data is responded to to generate the target user's online user data. The target offline event is an offline event initiated by other users in the target application for the target user while the target user is offline. By adopting this application, the problem of accessing the database to modify data for each offline event, which affects the database access performance of other online events, can be alleviated when there are many types of offline events. It also improves the user experience of the target application, is simple to operate, and has high applicability.
附图说明Attached Figure Description
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
图1是本申请实施例提供的网络架构示意图;Figure 1 is a schematic diagram of the network architecture provided in an embodiment of this application;
图2是本申请实施例提供的基于缓存队列的数据处理方法的场景示意图;Figure 2 is a schematic diagram of a scenario for a data processing method based on a cache queue provided in an embodiment of this application;
图3是本申请实施例提供的基于缓存队列的数据处理方法的一流程示意图;Figure 3 is a flowchart illustrating a data processing method based on a cache queue provided in an embodiment of this application.
图4是本申请实施例提供的离线事件处理方法的一交互示意图;Figure 4 is an interactive schematic diagram of the offline event processing method provided in an embodiment of this application;
图5是本申请实施例提供的离线事件处理方法的另一交互示意图;Figure 5 is another interactive schematic diagram of the offline event processing method provided in the embodiment of this application;
图6是本申请实施例提供的引入请求队列后的离线事件处理方法的交互示意图;Figure 6 is an interactive schematic diagram of the offline event processing method after introducing a request queue provided in an embodiment of this application;
图7是本申请实施例提供的基于缓存队列的数据处理方法的另一流程示意图;Figure 7 is another flowchart illustrating the data processing method based on a cache queue provided in an embodiment of this application.
图8是本申请实施例提供的基于缓存队列的数据处理方法的交互示意图;Figure 8 is an interactive schematic diagram of the data processing method based on a cache queue provided in an embodiment of this application;
图9是本申请实施例提供的离线事件处理的另一交互示意图;Figure 9 is another interactive schematic diagram of offline event processing provided in an embodiment of this application;
图10是本申请实施例提供的基于缓存队列的数据处理装置的一结构示意图;Figure 10 is a schematic diagram of a data processing device based on a cache queue provided in an embodiment of this application;
图11是本申请实施例提供的基于缓存队列的数据处理装置的另一结构示意图;Figure 11 is another structural schematic diagram of the data processing device based on a cache queue provided in an embodiment of this application;
图12是本申请实施例提供的计算机设备的结构示意图。Figure 12 is a schematic diagram of the structure of the computer device provided in an embodiment of this application.
具体实施方式Detailed Implementation
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
本申请实施例提供的基于缓存队列的数据处理方法属于计算机技术领域下属的云技术(Cloud Technology,CT)。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现大数据的计算、储存、处理和共享的一种托管技术。可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。其中,大数据(Big Data,BD)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。The data processing method based on a cache queue provided in this application belongs to the field of cloud technology (CT) within the computer technology field. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology applied based on the cloud computing business model. It refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to achieve the computing, storage, processing, and sharing of big data. It can form resource pools, be used on demand, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of technical network systems require a large amount of computing and storage resources, such as video websites, image websites, and more portal websites. With the rapid development and application of the Internet industry, in the future, every item may have its own identification mark, which will need to be transmitted to the back-end system for logical processing. Data of different levels will be processed separately, and various industry data will all require strong system support, which can only be achieved through cloud computing. Among them, big data (BD) refers to data sets that cannot be captured, managed, and processed by conventional software tools within a certain time frame. It is a massive, high-growth, and diverse information asset that requires new processing models to achieve stronger decision-making, insight discovery, and process optimization capabilities. With the advent of the cloud era, big data has attracted increasing attention. Big data requires specialized technologies to effectively process large amounts of data over a short period. Technologies suitable for big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the Internet, and scalable storage systems.
请参见图1,图1是本申请实施例提供的一种网络构架图。如图1所示,该网络架构图可以包括业务服务器100以及用户终端集群,该用户终端集群可以包括用户终端10a、用户终端10b、…、用户终端10n,其中,用户终端集群之间可以存在通信连接,例如用户终端10a与用户终端10b之间存在通信连接,用户终端10b与用户终端10n之间存在通信连接,且用户终端集群中的任一用户终端可以与业务服务器100存在通信连接,例如用户终端10a与业务服务器100之间存在通信连接,用户终端10b与业务服务器100之间存在通信连接。Please refer to Figure 1, which is a network architecture diagram provided in an embodiment of this application. As shown in Figure 1, the network architecture diagram may include a service server 100 and a user terminal cluster. The user terminal cluster may include user terminal 10a, user terminal 10b, ..., user terminal 10n. There may be communication connections between the user terminal cluster members. For example, there may be a communication connection between user terminal 10a and user terminal 10b, and a communication connection between user terminal 10b and user terminal 10n. Any user terminal in the user terminal cluster may have a communication connection with the service server 100. For example, there may be a communication connection between user terminal 10a and service server 100, and a communication connection between user terminal 10b and service server 100.
其中,上述用户终端集群(也包括上述的用户终端10a、用户终端10b以及用户终端10n)均可以集成安装有目标应用。可选的,该目标应用可以包括具有展示文字、图像以及视频等数据信息功能的用户交互应用。例如,该目标应用可以为社交应用,可以用于任一用户离线时上述社交应用中其他用户针对任一用户发起离线操作(如踢出聊天群组),当检测到上述社交应用中目标用户处于登录状态时,响应其他用户针对上述目标用户发起的离线操作(如踢出聊天群组),并在上述用户终端(如用户终端10b)的显示界面显示出响应上述离线操作后上述目标用户对应的账号信息(如目标用户不属于该聊天群组的信息)。或者该目标应用也可以为大型多人在线角色扮演游戏应用,可以用于任一用户离线时上述游戏应用中其他用户针对任一用户发起离线操作(如将目标用户移除游戏好友),当检测到上述游戏应用中目标用户处于登录状态时,响应其他用户针对上述目标用户发起的离线操作(如将目标用户移除游戏好友),并在上述用户终端(如用户终端10b)的显示界面显示出响应上述离线操作后上述目标用户对应的账号信息(如某玩家不属于目标用户游戏好友的信息)。本申请中的业务服务器100可以收集到这些应用中的离线事件交互数据,这里的离线事件交互数据为目标应用中用户的离线数据(即任一用户离线时其他用户针对上述任一用户发起离线事件所产生的操作数据)。当业务服务器100检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,并在检测到上述目标应用中目标用户登录上述目标应用时,从存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。随后业务服务器100基于上述目标离线数据以及上述目标用户在上述目标应用中的历史数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,并将上述目标用户的在线用户数据对应的账号信息返回至用户终端。可选的,上述用户终端可以为在上述图1所对应实施例的用户终端集群中所选取的任意一个用户终端,比如,该用户终端可以为上述用户终端10b,则用户可以在用户终端10b的显示页面上查看到响应上述目标离线事件后对应的账号信息。The aforementioned user terminal cluster (including user terminal 10a, user terminal 10b, and user terminal 10n) can all integrate and install the target application. Optionally, the target application can include a user interaction application with the function of displaying data information such as text, images, and videos. For example, the target application can be a social application, which can be used to initiate offline operations (such as kicking out of a chat group) for any user when any user is offline. When the target user is detected to be logged in in the social application, the application responds to the offline operations (such as kicking out of a chat group) initiated by other users for the target user, and displays the account information corresponding to the target user after responding to the offline operation (such as information that the target user does not belong to the chat group) on the display interface of the user terminal (such as user terminal 10b). Alternatively, the target application can be a massively multiplayer online role-playing game (MMORPG) application, which can be used to allow other users in the game application to initiate offline operations (such as removing the target user from the game friends list) when any user is offline. When the target user is detected to be logged in, the application responds to the offline operations (such as removing the target user from the game friends list) initiated by other users and displays the account information of the target user after responding to the offline operation (such as information that a player is not a game friend of the target user) on the display interface of the user terminal (such as user terminal 10b). The business server 100 in this application can collect offline event interaction data in these applications. Here, the offline event interaction data is the offline data of users in the target application (i.e., the operation data generated by other users initiating offline events for any user when any user is offline). When the business server 100 detects the offline event interaction data of the target application, it stores the offline event interaction data, and when it detects that the target user is logged into the target application, it determines the target offline data corresponding to the target user from the stored offline event interaction data. Subsequently, based on the aforementioned target offline data and the target user's historical data in the aforementioned target application, the service server 100 responds to the target offline event corresponding to the aforementioned target offline data to generate the target user's online user data, and returns the account information corresponding to the target user's online user data to the user terminal. Optionally, the aforementioned user terminal can be any user terminal selected in the user terminal cluster of the embodiment corresponding to Figure 1 above. For example, the user terminal can be the aforementioned user terminal 10b, and the user can view the account information corresponding to the response to the aforementioned target offline event on the display page of user terminal 10b.
可以理解的是,本申请实施例所提供的方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器,本申请实施例中的业务服务器100可以为计算机设备,用户终端集群中的用户终端也可以为计算机设备,此处不限定。上述业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表等智能终端,但并不局限于此。其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。It is understood that the methods provided in this application embodiment can be executed by computer devices, including but not limited to terminals or servers. The business server 100 in this application embodiment can be a computer device, and the user terminals in the user terminal cluster can also be computer devices; this is not limited here. The aforementioned business server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The aforementioned terminals can include, but are not limited to, smart terminals such as smartphones, tablets, laptops, desktop computers, smart TVs, smart speakers, desktop computers, and smartwatches. The user terminals and the business server can be directly or indirectly connected via wired or wireless communication; this application does not impose any restrictions on this connection.
请参见图2,图2是本申请实施例提供的基于缓存队列的数据处理方法的场景示意图。如图2所示,当业务服务器100检测到目标应用(如大型多人在线角色扮演游戏应用)时中的离线事件交互数据时,首先存储上述离线事件交互数据,其中,上述离线事件交互数据为目标应用(如大型多人在线角色扮演游戏应用)的用户的离线数据,其中,任一用户的离线数据为任一用户离线时上述目标应用中其他用户针对任一用户发起离线事件(如踢出帮派)所产生的操作数据。当业务服务器100检测到上述目标应用(如大型多人在线角色扮演游戏应用)的目标用户(如用户A)登录上述目标应用时,从存储的离线事件交互数据中确定出上述目标用户(如用户A)对应的目标离线数据。然后业务服务器100基于上述目标离线数据以及目标用户(如用户A)在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件(如踢出帮派)以生成上述目标用户的在线用户数据,其中,上述目标离线事件(如踢出帮派)为目标用户(如用户A)离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。并将上述目标用户的在线用户数据对应的更新后的账号信息返回至用户终端,则用户A可以在用户终端10b的显示页面20上查看到响应上述目标离线事件后更新的账号信息。如显示页面20所示,当玩家名称为“闻人夜思”的用户A上线后,可以看到当响应上述目标离线事件(如踢出帮派)后该玩家的帮派职称已变为“临时帮众”。Please refer to Figure 2, which is a schematic diagram of a data processing method based on a cache queue provided in this application embodiment. As shown in Figure 2, when the business server 100 detects offline event interaction data in a target application (such as a massively multiplayer online role-playing game application), it first stores the offline event interaction data. This offline event interaction data consists of the offline data of users in the target application (such as a massively multiplayer online role-playing game application). The offline data of any user is the operation data generated when other users in the target application initiate offline events (such as kicking out of a guild) against that user while the user is offline. When the business server 100 detects that a target user (such as user A) has logged into the target application (such as a massively multiplayer online role-playing game application), it determines the target offline data corresponding to the target user (such as user A) from the stored offline event interaction data. Then, based on the aforementioned target offline data and the target user's (e.g., user A's) historical user data in the aforementioned target application, the business server 100 responds to the target offline event (e.g., being kicked out of the guild) corresponding to the aforementioned target offline data to generate the target user's online user data. The aforementioned target offline event (e.g., being kicked out of the guild) is an offline event initiated by other users in the aforementioned target application against the target user when the target user (e.g., user A) is offline. The updated account information corresponding to the target user's online user data is then returned to the user terminal. User A can then view the updated account information after responding to the aforementioned target offline event on the display page 20 of the user terminal 10b. As shown on display page 20, when user A, whose player name is "闻人夜思", logs in, it can be seen that after responding to the aforementioned target offline event (e.g., being kicked out of the guild), the player's guild title has changed to "Temporary Guild Member".
进一步地,为便于理解,请参见图3,图3是本申请实施例提供的基于缓存队列的数据处理方法的一流程示意图。该方法可以由用户终端(例如,上述图1或图2所示的用户终端)执行,也可以由用户终端和业务服务器(如上述图1或图2所对应实施例中的业务服务器100)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该基于缓存队列的数据处理方法至少可以包括以下步骤S101-步骤S104:Further, for ease of understanding, please refer to Figure 3, which is a flowchart illustrating a data processing method based on a cache queue provided in an embodiment of this application. This method can be executed by a user terminal (e.g., the user terminal shown in Figure 1 or Figure 2 above), or it can be jointly executed by the user terminal and a business server (e.g., the business server 100 in the embodiment corresponding to Figure 1 or Figure 2 above). For ease of understanding, this embodiment will be described using the method executed by the aforementioned user terminal as an example. The data processing method based on a cache queue may include at least the following steps S101-S104:
S101,当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据。S101, when offline event interaction data of the target application is detected, the aforementioned offline event interaction data is stored.
在一些可行的实施方式中,当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,且任一用户的离线数据为任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据。可以理解,当上述目标应用为大型多人在线角色扮演游戏应用时,其对应的离线事件可以为删除离线好友、帮派踢出成员、给离线成员发邮件等事件。当发生上述离线事件时被操作的目标用户不在线,而由于用户数量庞大且业务服务器内存有限,业务服务器无法将全部用户数据加载进内存,因此不在线的用户通常是不会保存在业务服务器内存,而只是将在线用户的相关数据加载进业务服务器内存。所以发生上述离线事件时,业务服务器无法直接修改用户历史数据。如果需要对离线用户的用户历史数据进行更改,可将离线用户的用户历史数据从数据库(Database,DB)中加载进业务服务器内存,对业务服务器内存中的用户历史数据进行处理后,再更新至数据库。数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。请参见图4,图4是本申请实施例提供的离线事件处理方法的一交互示意图。如图4所示,目标数据库中存储有用户A的用户历史数据、用户B的用户历史数据、用户C的用户历史数据等,当发生离线事件时,业务服务器会向目标数据库请求目标用户的用户历史数据,以基于上述离线事件对应的离线交互数据对目标用户的用户历史数据进行修改。当修改后的用户A的用户历史数据更新至目标数据库后,业务服务器内存则会删除从目标数据库加载的用户A的用户历史数据以释放内存。例如当发生的离线事件为用户A被踢出帮派时,业务服务器内存向目标数据库请求用户A的用户历史数据,随后目标数据库则将用户A的用户历史数据加载进业务服务器内存中。业务服务器则调用离线事件逻辑响应上述离线事件,修改用户A的用户历史数据以更新用户A的用户历史数据,并向目标数据库发送更新后的用户A的用户历史数据。当数据更新成功后,业务服务器内存则会删除用户A的用户历史数据以释放内存,以将内存提供给在线用户使用。然而在上述用户A的用户历史数据的修改过程中,发生离线事件后业务服务器内存会直接从目标数据库中加载用户A的用户历史数据进行数据修改,这是一种强制行为因此忽略了用户A的玩家体验。且在目前的用户交互应用中,各种数据处理逻辑复杂,存在着大量数据依赖,例如离线用户被踢出帮派需要通知周边系统(帮派聊天频道、帮派雕像等)进行数据更新,因此若直接修改数据库中的数据,也需要处理这些周边系统中的依赖数据,大量的依赖数据则容易造成数据遗漏导致应用产生漏洞。且在目前的用户交互应用中,玩家数量众多离线事件种类也随之增多,如果每发生一次离线事件都访问数据库进行数据修改,则会给数据库带来较大的数据压力,从而影响其他在线事件的数据库访问性能。请参见图5,图5是本申请实施例提供的离线事件处理方法的另一交互示意图。如图5所示,目标数据库中存储有用户A的用户历史数据、用户B的用户历史数据、用户C的用户历史数据等。当发生离线事件时,业务服务器内存需要将目标用户的用户历史数据加载进内存,以基于上述离线事件对应的离线交互数据对目标用户的用户历史数据进行修改,但业务服务器对上述目标用户的用户历史数据进行修改时,也需要对周边系统(如聊天频道、帮派频道以及帮派活跃等)复杂的依赖数据进行修改。可以理解,这里的依赖数据为目标用户的用户历史数据的其中一种表现形式。当离线事件过多,业务服务器获取数据库中的用户N的用户历史数据,并访问数据库以更新用户N的用户历史数据时,目标数据库可能会由于性能压力而导致更新失败,这时业务服务器只能定时重试以更新目标数据库中用户N的历史数据,适用性及可靠性不高。在本申请可选的实施例中,当业务服务器检测到离线事件交互数据时,先将上述离线事件交互数据存储起来,直到检测到目标用户为登录状态时再进行后续操作,不仅提高了用户的玩家体验感,还解决了数据库性能问题。In some feasible implementations, when offline event interaction data of a target application is detected, the offline event interaction data is stored. The target application is an application with multiple user interactions, and the offline event interaction data consists of the offline data of the users of the target application. Furthermore, the offline data of any user is the operation data generated by other users in the target application initiating offline events for that user when that user is offline. It can be understood that when the target application is a large-scale multiplayer online role-playing game application, its corresponding offline events could be events such as deleting offline friends, kicking members from a guild, or sending emails to offline members. When the aforementioned offline event occurs, the target user being operated on is offline. Due to the large number of users and the limited memory of the business server, the business server cannot load all user data into memory. Therefore, offline users are usually not stored in the business server's memory; only the relevant data of online users are loaded into the business server's memory. Therefore, when the aforementioned offline event occurs, the business server cannot directly modify the user's historical data. If it is necessary to modify the user's historical data of offline users, the user's historical data of offline users can be loaded from the database (DB) into the business server's memory, processed, and then updated back to the database. In short, a database can be viewed as an electronic filing cabinet—a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data. A "database" is a collection of data stored together in a certain way, shared by multiple users, with minimal redundancy, and independent of applications. Please refer to Figure 4, which is an interactive schematic diagram of the offline event processing method provided in this application embodiment. As shown in Figure 4, the target database stores user history data for user A, user history data for user B, user history data for user C, etc. When an offline event occurs, the business server requests the target user's user history data from the target database to modify the target user's user history data based on the offline interaction data corresponding to the offline event. After the modified user A's user history data is updated in the target database, the business server memory deletes the user A's user history data loaded from the target database to free up memory. For example, when the offline event is user A being kicked out of a guild, the business server memory requests user A's user history data from the target database, and then the target database loads user A's user history data into the business server memory. The business server then invokes the offline event logic to respond to the aforementioned offline event, modifying user A's user history data to update it, and sending the updated user A's user history data to the target database. Once the data update is successful, the business server's memory deletes user A's user history data to free up memory for online users. However, during the modification of user A's user history data, after an offline event occurs, the business server's memory directly loads user A's user history data from the target database for modification. This is a forced action that ignores user A's player experience. Furthermore, in current user interaction applications, various data processing logics are complex, with numerous data dependencies. For example, when an offline user is kicked from a guild, surrounding systems (guild chat channels, guild statues, etc.) need to be notified for data updates. Therefore, directly modifying data in the database also requires processing dependent data from these surrounding systems. A large amount of dependent data can easily lead to data omissions and application vulnerabilities. Moreover, in current user interaction applications, with a large number of players and an increasing variety of offline events, accessing the database for each offline event would put significant pressure on the database, impacting the database access performance for other online events. Please refer to Figure 5, which is another interactive schematic diagram of the offline event processing method provided in this application embodiment. As shown in Figure 5, the target database stores user history data of user A, user history data of user B, user history data of user C, etc. When an offline event occurs, the business server memory needs to load the target user's user history data into memory to modify the target user's user history data based on the offline interaction data corresponding to the offline event. However, when the business server modifies the target user's user history data, it also needs to modify complex dependency data of surrounding systems (such as chat channels, guild channels, and guild activity). It can be understood that the dependency data here is one form of the target user's user history data. When there are too many offline events, when the business server obtains user history data of user N from the database and accesses the database to update user N's user history data, the target database may fail to update due to performance pressure. In this case, the business server can only retry periodically to update user N's historical data in the target database, which has low applicability and reliability. In an optional embodiment of this application, when the business server detects offline event interaction data, it first stores the offline event interaction data until it detects that the target user is logged in before performing subsequent operations. This not only improves the user's gaming experience but also solves the database performance problem.
S102,当检测到目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据。S102, when it is detected that the target user of the target application has logged into the target application, the target offline data corresponding to the target user is determined from the stored offline event interaction data.
在一些可行的实施方式中,上述当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据可以为将上述离线事件交互数据存储至缓存队列。这里的缓存队列通过预分配指定内存空间来存取数据,在本申请可选的实施例中,所有的数据都保存在应用服务器内置的共享内存中,因此在将上述离线事件交互数据存储至上述缓存队列之前,可从应用服务器的共享内存中确定出部分共享内存,并将上述部分共享内存确定为上述缓存队列。其中,这里的应用服务器可以理解为,为上述目标应用提供数据计算、数据校验、数据存储和数据转发等服务的业务服务器。将上述离线事件交互数据存储在缓存队列,以通过在共享内存中缓存数据来减少读取数据库的次数,从而提高数据库的性能。为了提高队列的可靠性,在本申请可选的实施例中,上述缓存队列从应用服务器的共享内存中分配,这是因为共享内存在在应用服务器宕机之后不会自动清理,因此可以通过重启应用服务器的进程重新将共享内存与新进程关联起来,从而恢复缓存队列中的离线事件交互数据。这里的进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,它是操作系统动态执行的基本单元,在传统的操作系统中进程既是基本的分配单元也是基本的执行单元。在本申请可选的实施例中,为了解决数据库性能问题,还可以通过引入一个请求队列将需要处理的离线事件放在队列中,定时逐个处理队列中的离线事件,以减轻集中处理离线事件导致的数据库性能问题。请参见图6,图6是本申请实施例提供的引入请求队列后的离线事件处理方法的交互示意图。如图6所示,目标数据库中存储有用户A的用户历史数据、用户B的用户历史数据、用户C的用户历史数据等。请求队列中存储有各离线事件对应的数据修改事项,例如修改用户A的用户历史数据、修改用户B的用户历史数据等。当修改目标用户的用户历史数据时,还可以将目标用户的依赖数据进行一并修改,并将修改后的目标用户的用户历史数据更新至目标数据库,以防止数据丢失。当发生离线事件后,将各离线事件加入请求队列中进行逐个处理。当处理的离线事件对应为修改用户A的用户历史数据时,则请求队列从数据库加载用户A的用户历史数据,并基于发生的离线事件修改用户A的用户历史数据,其中包括修改用户A的依赖数据(如聊天频道、帮派雕像、帮派活跃等),将修改后的用户A的用户历史数据更新至数据库。在上述方案中,虽然解决了数据库压力过大导致的性能问题但请求队列的长度是有限的,但依然是在发生离线事件后直接修改用户历史数据,忽略了用户体验。且在这种方案中请求队列是从服务器内存中分配,一旦离线事件足够多,这种方案就需要大量的内存空间,若服务器宕机请求队列中的数据也将全部丢失。因此若在应用服务器的共享内存中确定一部分作为缓存队列,并将离线事件交互数据存储至缓存队列中,待检测到目标用户登录目标应用时,从上述缓存队列中存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据,既避免了发生离线事件后直接进行数据修改,又解决了队列存盘落地的问题。这是由于这里的共享内存是两个或多个正在运行的进程之间共享和传递数据的存储区,且由于共享内存在应用服务器的进程宕机后不会自动清理,因此将离线事件交互数据存储至缓存队列中,直到检测到目标用户为登录状态时再进行后续操作,不仅提高了用户的玩家体验感,还解决了数据库性能问题。In some feasible implementations, when offline event interaction data of the target application is detected, storing the offline event interaction data can be done by storing the offline event interaction data in a cache queue. This cache queue accesses data by pre-allocating a specified memory space. In optional embodiments of this application, all data is stored in the shared memory built into the application server. Therefore, before storing the offline event interaction data in the cache queue, a portion of the shared memory can be determined from the application server's shared memory and designated as the cache queue. Here, the application server can be understood as a business server that provides data computation, data verification, data storage, and data forwarding services for the target application. Storing the offline event interaction data in the cache queue reduces the number of database reads by caching data in shared memory, thereby improving database performance. To improve the reliability of the queue, in optional embodiments of this application, the cache queue is allocated from the application server's shared memory. This is because shared memory is not automatically cleaned up after the application server crashes; therefore, the shared memory can be re-associated with the new process by restarting the application server's process, thereby restoring the offline event interaction data in the cache queue. Here, a process is a running activity of a program with a certain independent function on a certain data set. It is the basic unit of dynamic execution of the operating system. In traditional operating systems, a process is both a basic allocation unit and a basic execution unit. In an optional embodiment of this application, in order to solve the database performance problem, a request queue can be introduced to place the offline events that need to be processed in the queue, and process the offline events in the queue one by one at regular intervals to alleviate the database performance problem caused by centralized processing of offline events. Please refer to Figure 6, which is an interactive schematic diagram of the offline event processing method after introducing a request queue provided in an embodiment of this application. As shown in Figure 6, the target database stores the user history data of user A, user history data of user B, user history data of user C, etc. The request queue stores the data modification items corresponding to each offline event, such as modifying the user history data of user A, modifying the user history data of user B, etc. When modifying the user history data of the target user, the dependent data of the target user can also be modified at the same time, and the modified user history data of the target user is updated to the target database to prevent data loss. When an offline event occurs, each offline event is added to the request queue for processing one by one. When the offline event being processed corresponds to modifying user A's historical data, the request queue loads user A's historical data from the database and modifies it based on the offline event. This modification includes changing user A's dependent data (such as chat channels, guild statues, guild activity, etc.), and then updates the database with the modified historical data. While this approach solves the performance problem caused by excessive database pressure, the request queue length is limited, and it still directly modifies user historical data after an offline event occurs, neglecting user experience. Furthermore, this approach allocates the request queue from server memory; if there are a large number of offline events, this requires significant memory space, and if the server crashes, all data in the request queue will be lost. Therefore, if a portion of the application server's shared memory is designated as a cache queue, and offline event interaction data is stored in this cache queue, when a target user is detected logging into the target application, the target offline data corresponding to that user can be determined from the offline event interaction data stored in the cache queue. This avoids directly modifying data after an offline event occurs and also solves the problem of storing the queue data on disk. This is because shared memory here is a storage area for data sharing and transfer between two or more running processes. Since shared memory is not automatically cleaned up after the application server process crashes, offline event interaction data is stored in a cache queue until the target user is detected to be logged in before subsequent operations are performed. This not only improves the user's gaming experience but also solves the database performance problem.
S103,基于上述目标离线数据和上述目标用户在所述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据。S103, based on the aforementioned target offline data and the aforementioned target user's historical user data in the target application, respond to the target offline event corresponding to the aforementioned target offline data to generate the aforementioned target user's online user data.
在一些可行的实施方式中,基于上述目标离线数据和上述目标用户在所述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,其中,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。可选的,当检测到目标用户登录目标应用后,基于事件处理逻辑和上述目标离线数据调用目标应用的在线事件逻辑接口,以通过上述在线事件逻辑捷库修改上述目标应用中的目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口,且上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。在本申请可选的实施例中,当目标用户登录目标应用后,本身就需要将用户历史数据加载进内存,因此在用户历史数据加载进内存的时刻执行离线事件就可以复用用户在线时的事件处理逻辑,从而防止处理周边系统(如帮派聊天频道、帮派雕像等)中的依赖数据的时候有逻辑遗漏的情况,也避免了重复开发离线事件处理逻辑时数据逻辑遗漏而导致的数据不准确的问题。因为现有的在线事件处理逻辑能针对离线事件交互数据以及目标用户的用户历史数据进行更完善的逻辑处理,因此复用现有的在线事件处理逻辑安全可靠,同时不会遗漏依赖数据的处理逻辑。In some feasible implementations, based on the aforementioned target offline data and the target user's historical user data in the target application, a target offline event corresponding to the aforementioned target offline data is responded to to generate the target user's online user data. The aforementioned target offline event is an offline event initiated by other users in the target application against the target user when the target user is offline. Optionally, when a target user is detected to have logged into the target application, the online event logic interface of the target application is called based on the event processing logic and the aforementioned target offline data. This allows modification of the target user's historical user data in the target application through the aforementioned online event logic library to generate the target user's online user data. The aforementioned online event logic interface is the online event processing logic interface in the target application, and the aforementioned online user data is the user data generated after the target user logs into the target application and responds to the aforementioned target offline event. In an optional embodiment of this application, when a target user logs into the target application, the user's historical data needs to be loaded into memory. Therefore, executing offline events at the moment the user's historical data is loaded into memory allows reuse of the event handling logic when the user is online. This prevents logical omissions when processing dependent data from surrounding systems (such as guild chat channels, guild statues, etc.) and avoids data inaccuracies caused by data logic omissions when repeatedly developing offline event handling logic. Because existing online event handling logic can perform more comprehensive logical processing on offline event interaction data and the target user's historical data, reusing existing online event handling logic is safe and reliable, and will not omit the processing logic of dependent data.
在本申请中,当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述离线事件交互数据为上述目标应用的用户的离线数据,且任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据。当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据,在目标用户登录上述目标应用后再对存储的离线事件交互数据做相应的处理,提升了目标用户的用户体验感。确定出上述目标用户对应的目标离线数据后,基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,其中,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。采用本申请,可以缓解在离线事件种类繁多的情况下,每发生一次离线事件都访问数据库进行数据修改,影响其他在线事件的数据库访问性能的问题,且提升了目标应用的用户体验感,操作简单,适用性高。In this application, when offline event interaction data of a target application is detected, the offline event interaction data is stored. This offline event interaction data comprises the offline data of a user of the target application, and the offline data of any user is the operation data generated when other users in the target application initiate offline events for that user while the user is offline. When a target user of the target application is detected to have logged into the target application, the target offline data corresponding to the target user is determined from the stored offline event interaction data. The stored offline event interaction data is then processed after the target user logs into the target application, improving the user experience. After determining the target offline data corresponding to the target user, based on the target offline data and the target user's historical user data in the target application, a target offline event corresponding to the target offline data is responded to to generate the target user's online user data. The target offline event is an offline event initiated by other users in the target application for the target user while the target user is offline. By adopting this application, the problem of accessing the database to modify data for each offline event, which affects the database access performance of other online events, can be alleviated when there are many types of offline events. It also improves the user experience of the target application, is simple to operate, and has high applicability.
在一些可行的实施方式中,请一并参见图7,图7是本申请实施例提供的基于缓存队列的数据处理方法的另一流程示意图。该方法可以由用户终端(例如,上述图1或图2所示的用户终端)执行,也可以由用户终端和业务服务器(如上述图1或图2所对应实施例中的业务服务器100)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该基于缓存队列的数据处理方法至少可以包括以下步骤S201-步骤S205:In some feasible implementations, please refer to Figure 7 as well. Figure 7 is another flowchart illustrating the data processing method based on a cache queue provided in this application embodiment. This method can be executed by a user terminal (e.g., the user terminal shown in Figure 1 or Figure 2 above), or it can be jointly executed by the user terminal and a service server (e.g., the service server 100 in the embodiment corresponding to Figure 1 or Figure 2 above). For ease of understanding, this embodiment will be described using the method executed by the aforementioned user terminal as an example. The data processing method based on a cache queue may include at least the following steps S201-S205:
S201,当检测到目标应用的离线事件交互数据时,将上述离线事件交互数据存储至缓存队列。S201, When offline event interaction data of the target application is detected, the aforementioned offline event interaction data is stored in the cache queue.
在一些可行的实施方式中,当检测到目标应用的离线事件交互数据时,从应用服务器的共享内存中确定出部分共享内存,并将所述部分共享内存确定为所述缓存队列,并将上述离线事件交互数据存储至缓存队列,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,且任一用户的离线数据为任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据。在本申请可选的实施例中,上述存入缓存队列中的离线事件交互数据,这与上述图6中的请求队列中存储的离线事件对应的用户数据是有区别的,这两者的区别主要在内存占用方面,因为离线事件对应的用户数据通常在兆字节(MByte,MB)级别,而离线事件交互数据为任一用户离线时目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据(若离线事件为上述帮派踢人事件,则这里的操作数据可以为修改目标用户的帮派名称这个操作对应的相关数据),其通常在千字节(Kilobyte,KB)级别,两者之间相差1000个数量级。因此将上述离线事件交互数据存储至缓存队列也可以节约共享内存的空间,提高缓存队列的运行效率。In some feasible implementations, when offline event interaction data of the target application is detected, a portion of shared memory is determined from the shared memory of the application server, and this portion of shared memory is designated as the cache queue. The offline event interaction data is then stored in the cache queue. The target application is an application with multiple user interactions, and the offline event interaction data consists of the offline data of the users of the target application. Furthermore, the offline data of any user is the operation data generated when other users in the target application initiate an offline event targeting that user while that user is offline. In optional embodiments of this application, the offline event interaction data stored in the cache queue differs from the user data corresponding to the offline event stored in the request queue in Figure 6. The main difference lies in memory usage. The user data corresponding to the offline event is typically in the megabyte (MByte, MB) range, while the offline event interaction data, which is the operation data generated when other users in the target application initiate an offline event targeting that user while that user is offline (e.g., if the offline event is the aforementioned gang kicking event, then the operation data here could be the relevant data corresponding to the operation of modifying the target user's gang name), is typically in the kilobyte (KB) range. The difference between the two is approximately 1000 orders of magnitude. Therefore, storing the aforementioned offline event interaction data in a cache queue can also save shared memory space and improve the operating efficiency of the cache queue.
S202,当数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库。S202, when the data update cycle arrives, the above offline event interaction data is read from the cache queue and stored in the target database.
在一些可行的实施方式中,为了解决缓存队列中的内存占用问题,可选的,可以将上述缓存队列中的离线事件交互数据定期存储至目标数据库,为其他离线事件交互数据腾出存储空间。因此在数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库,可以避免业务服务器宕机的情况下丢失离线事件交互数据。在本申请可选的实施例中,若上述数据更新周期时间还未到来,但上述缓存队列中的存储空间已满,则将上述缓存队列中存入时间最早的离线事件交互数据读出来存储至目标数据库,以为其他离线事件交互数据腾出存储空间。可选的,将缓存队列中的离线事件交互数据读出并存储至目标数据库之后,还可以将上述离线事件交互数据从上述缓存队列中删除,或者将上述离线事件交互数据标记为已存储数据。请参见图8,图8是本申请实施例提供的基于缓存队列的数据处理方法的交互示意图。如图8所示,目标数据库中存储有从缓存队列中更新的离线事件1交互数据、离线事件2交互数据以及离线事件3交互数据。缓存队列中存储有除离线事件1交互数据、离线事件2交互数据以及离线事件3交互数据以外的离线事件4交互数据以及离线事件5交互数据等。如图8所示,当检测到目标应用的离线事件交互数据时,将离线事件N交互数据存储至缓存队列,以逐个对缓存队列中的离线事件交互数据对应的离线事件进行处理,缓解了数据库压力。当数据更新周期到来时,将缓存队列中的离线事件1交互数据、离线事件2交互数据、离线事件3交互数据等逐个存储至目标数据库中,然后将缓存队列中的离线事件1交互数据、离线事件2交互数据、离线事件3交互数据删除,为其他离线事件交互数据腾出存储空间。In some feasible implementations, to address the memory consumption issue in the cache queue, the offline event interaction data in the cache queue can be periodically stored in the target database to free up storage space for other offline event interaction data. Therefore, when the data update cycle arrives, reading the offline event interaction data from the cache queue and storing it in the target database can prevent the loss of offline event interaction data in the event of a business server crash. In an optional embodiment of this application, if the data update cycle has not yet arrived, but the storage space in the cache queue is full, the offline event interaction data with the earliest storage time in the cache queue is read out and stored in the target database to free up storage space for other offline event interaction data. Optionally, after reading and storing the offline event interaction data from the cache queue in the target database, the offline event interaction data can be deleted from the cache queue or marked as stored data. Please refer to Figure 8, which is an interactive schematic diagram of the data processing method based on the cache queue provided in an embodiment of this application. As shown in Figure 8, the target database stores offline event 1 interaction data, offline event 2 interaction data, and offline event 3 interaction data updated from the cache queue. The cache queue stores offline event interaction data (excluding offline event 1, offline event 2, and offline event 3), as well as offline event interaction data (including offline event 4 and offline event 5). As shown in Figure 8, when offline event interaction data of the target application is detected, offline event N interaction data is stored in the cache queue. This allows for the processing of offline events corresponding to the offline event interaction data in the cache queue one by one, alleviating database pressure. When the data update cycle arrives, the offline event interaction data (including offline event 1, offline event 2, and offline event 3 interaction data) in the cache queue are stored one by one into the target database. Then, the offline event interaction data (including offline event 1, offline event 2, and offline event 3 interaction data) in the cache queue are deleted to free up storage space for other offline event interaction data.
S203,当检测到所述目标应用的目标用户登录所述目标应用时,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。S203, when it is detected that a target user of the target application has logged into the target application, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the above-mentioned cache queue and/or the above-mentioned target database.
在一些可行的实施方式中,当检测到目标应用的目标用户登录上目标应用时,若上述目标用户对应的离线事件交互数据一部分在缓存队列中一部分已存储至目标数据库中,则从上述缓存队列和目标数据库中确定出上述目标用户对应的目标离线数据;若上述目标用户对应的离线事件交互数据已全部存储至目标数据库,则从目标数据库中确定出上述目标用户的目标离线数据;若上述目标用户对应的离线事件交互数据还为存储至目标数据库,则从缓存队列中确定出上述目标用户的目标离线数据。当目标用户登录上述目标应用时,会首先将目标数据库中存储的用户历史数据加载进内存,同时将确定出的上述目标用户的目标离线数据加载进内存以供后续操作。In some feasible implementations, when a target user is detected logging into the target application, if a portion of the offline event interaction data corresponding to the target user is in the cache queue and a portion has been stored in the target database, then the target offline data corresponding to the target user is determined from the cache queue and the target database; if all the offline event interaction data corresponding to the target user has been stored in the target database, then the target offline data of the target user is determined from the target database; if the offline event interaction data corresponding to the target user has not yet been stored in the target database, then the target offline data of the target user is determined from the cache queue. When the target user logs into the target application, the user's historical data stored in the target database is first loaded into memory, and the determined target offline data of the target user is also loaded into memory for subsequent operations.
S204,向上述目标用户发送离线事件处理请求。S204, Send an offline event handling request to the aforementioned target user.
在一些可行的实施方式中,当检测到目标用户登录上述目标应用后,向上述目标用户发送离线事件处理请求。可选的,若上述目标应用为大型多人在线角色扮演游戏应用上述目标用户为特权用户,且上述离线事件为帮派踢人事件时,向上述目标用户发送离线事件处理请求。可以理解,这里向目标用户发送离线事件处理请求可以为向特权用户发送是否同意退出帮派的请求。In some feasible implementations, upon detecting that a target user has logged into the target application, an offline event processing request is sent to the target user. Optionally, if the target application is a massively multiplayer online role-playing game (MMORPG), the target user is a privileged user, and the offline event is a guild kicking event, an offline event processing request is sent to the target user. It can be understood that sending an offline event processing request to the target user here could be a request to the privileged user to confirm or deny leaving the guild.
S205,当接收到目标用户发送的所述离线事件处理响应时,基于目标离线数据和目标用户的历史用户数据,响应目标离线数据对应的目标离线事件以生成目标用户的在线用户数据。S205, when the offline event processing response sent by the target user is received, based on the target offline data and the target user's historical user data, the target offline event corresponding to the target offline data is responded to to generate the target user's online user data.
在一些可行的实施方式中,接收到目标用户发送的所述离线事件处理响应时,基于目标离线数据和目标用户的历史用户数据,响应目标离线数据对应的目标离线事件以生成目标用户的在线用户数据。可选的,当接收到目标用户发送的离线事件处理响应时,若上述离线事件处理响应中携带事件同意信息(如同意退出帮派),则基于上述目标离线数据确定上述目标离线数据对应的目标离线事件的事件处理逻辑,并基于上述事件处理逻辑和上述目标离线数据调用目标应用的在线事件逻辑接口,以通过上述在线事件逻辑接口修改上述目标应用中的目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口,且上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。请参见图9,图9是本申请实施例提供的离线事件处理的另一交互示意图。如图9所示,目标数据库中存储有从缓存队列中更新的离线事件1交互数据、离线事件2交互数据以及离线事件3交互数据。业务服务器中加载有目标数据库中的目标用户的用户历史数据以及离线事件1交互数据、离线事件2交互数据以及离线事件3交互数据。当上述目标应用为大型多人在线角色扮演游戏应用时,上述周边系统可以包括帮派系统、奖励系统、邮件系统、活动系统、任务系统、家园系统等。当目标用户登录上述目标应用且接收到的目标用户发送的离线事件处理响应中携带事件同意信息,若上述目标用户对应的离线事件交互数据已全部存储至目标数据库,则从目标数据库中确定出上述目标用户的目标离线数据(如离线事件1交互数据、离线事件2交互数据、离线事件3交互数据),并将上述目标离线数据(如离线事件1交互数据、离线事件2交互数据、离线事件3交互数据)以及目标用户的历史用户数据加载进业务服务器内存中,然后基于上述目标离线数据以及基于目标离线数据确定的目标离线事件对应的事件处理逻辑调用上述目标应用的在线事件逻辑接口,以通过上述在线事件逻辑接口修改上述目标应用中的目标用户的历史用户数据,并生成目标用户的在线用户数据。可选的,如图9所示,若上述目标应用为大型多人在线角色扮演游戏应用,其应用中的周边系统涉及帮派系统、奖励系统、邮件系统、活动系统、任务系统、家园系统等,当目标用户登录上述大型多人在线角色扮演游戏应用后,还可以复用在线事件的逻辑接口对上述周边系统中涉及的依赖数据进行更改,使用户离线时被踢出帮派与用户在线时被踢出帮派的表现一致,不会有逻辑遗漏且进而保证了周边系统中的数据准确性。In some feasible implementations, upon receiving the offline event processing response sent by the target user, based on the target offline data and the target user's historical user data, the target offline event corresponding to the target offline data is responded to to generate the target user's online user data. Optionally, when receiving the offline event processing response sent by the target user, if the offline event processing response carries event consent information (such as consent to leave a guild), the event processing logic of the target offline event corresponding to the target offline data is determined based on the target offline data, and the online event logic interface of the target application is called based on the event processing logic and the target offline data. This allows modification of the target user's historical user data in the target application through the online event logic interface to generate the target user's online user data. The online event logic interface is the online event processing logic interface in the target application, and the online user data is the user data generated after the target user logs into the target application and responds to the target offline event. Please refer to Figure 9, which is another interactive schematic diagram of offline event processing provided in this application embodiment. As shown in Figure 9, the target database stores offline event 1 interaction data, offline event 2 interaction data, and offline event 3 interaction data updated from the cache queue. The business server loads the target user's historical data and offline event 1, offline event 2, and offline event 3 interaction data from the target database. When the target application is a large-scale multiplayer online role-playing game, the peripheral systems may include guild systems, reward systems, email systems, event systems, task systems, and home systems. When a target user logs into the target application and receives an offline event handling response from the target user carrying event consent information, if all the offline event interaction data corresponding to the target user has been stored in the target database, the target offline data (such as offline event 1, offline event 2, and offline event 3 interaction data) of the target user is determined from the target database. The target offline data (such as offline event 1, offline event 2, and offline event 3 interaction data) and the target user's historical user data are loaded into the business server's memory. Then, based on the target offline data and the event handling logic corresponding to the target offline events determined based on the target offline data, the online event logic interface of the target application is called to modify the target user's historical user data in the target application and generate the target user's online user data. Optionally, as shown in Figure 9, if the target application is a massively multiplayer online role-playing game (MMORPG), and its peripheral systems include guild systems, reward systems, mail systems, event systems, quest systems, and home systems, after the target user logs into the MMORPG, the logic interface of online events can be reused to modify the dependent data involved in the peripheral systems. This ensures that the behavior of a user being kicked out of a guild when offline is consistent with the behavior of a user being kicked out of a guild when online, without any logical omissions and thus guaranteeing the accuracy of the data in the peripheral systems.
在本申请中,当检测到目标应用的离线事件交互数据时,从应用服务器的共享内存中确定出部分共享内存,并将所述部分共享内存确定为所述缓存队列,并将上述离线事件交互数据存储至缓存队列,为了解决缓存队列中的内存占用问题,在数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库,为其他离线事件交互数据腾出存储空间。当检测到所述目标应用的目标用户登录所述目标应用时,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据,并向上述目标用户发送离线事件处理请求,当收到目标用户发送的所述离线事件处理响应时,基于目标离线数据和目标用户的历史用户数据,响应目标离线数据对应的目标离线事件以生成目标用户的在线用户数据。采用本申请,可以将离线事件交互数据存储至缓存队列中以缓解数据库压力,同时解决了直接修改数据库中的数据带来的用户体验不足的问题,还可以复用用户的在线事件逻辑接口,从而保证离线事件与在线事件表现一致,防止重复开发离线事件处理逻辑带来的数据遗漏问题,操作简单,适用性高。In this application, when offline event interaction data of a target application is detected, a portion of shared memory is determined from the shared memory of the application server and designated as the cache queue. The aforementioned offline event interaction data is stored in the cache queue. To address the memory consumption issue in the cache queue, when the data update cycle arrives, the aforementioned offline event interaction data is read from the cache queue and stored in the target database, freeing up storage space for other offline event interaction data. When a target user of the target application is detected logging into the target application, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue and/or the aforementioned target database. An offline event processing request is sent to the target user. Upon receiving the offline event processing response from the target user, based on the target offline data and the target user's historical user data, the target offline event corresponding to the target offline data is responded to to generate the target user's online user data. By using this application, offline event interaction data can be stored in a cache queue to alleviate database pressure. At the same time, it solves the problem of insufficient user experience caused by directly modifying data in the database. It can also reuse the user's online event logic interface, thereby ensuring that offline events and online events behave consistently, preventing data loss caused by repeated development of offline event processing logic. It is simple to operate and highly applicable.
进一步地,请参见图10,图10是本申请提供的基于缓存队列的数据处理装置的一结构示意图。该基于缓存队列的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于缓存队列的数据处理装置为一个应用软件;该装置可以用于执行本申请提供的方法中的相应步骤。如图10所示,该基于缓存队列的数据处理装置包括:第一存储模块10、第一确定20、第一响应模块30。Further, please refer to Figure 10, which is a schematic diagram of a data processing device based on a cache queue provided in this application. This data processing device based on a cache queue can be a computer program (including program code) running on a computer device; for example, it can be an application software. The device can be used to execute the corresponding steps in the method provided in this application. As shown in Figure 10, the data processing device based on a cache queue includes: a first storage module 10, a first determination module 20, and a first response module 30.
第一存储模块10,用于当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,其中,任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据;The first storage module 10 is used to store the offline event interaction data when the offline event interaction data of the target application is detected, wherein the target application is an application interacted by multiple users, the offline event interaction data is the offline data of the users of the target application, and the offline data of any user is the operation data generated by other users in the target application initiating an offline event for any user when any user is offline.
第一确定模块20,用于当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据;The first determining module 20 is used to determine the target offline data corresponding to the target user from the stored offline event interaction data when it is detected that the target user of the target application has logged into the target application.
第一响应模块30,用于基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。The first response module 30 is used to respond to the target offline event corresponding to the target offline data based on the target offline data and the target user's historical user data in the target application to generate the target user's online user data. The target offline event is an offline event initiated by other users in the target application against the target user when the target user is offline.
在一种可能的实施方式中,上述第一存储模块10还用于:In one possible implementation, the first storage module 10 is further configured to:
将上述离线事件交互数据存储至缓存队列;Store the aforementioned offline event interaction data in a cache queue;
上述第一确定模块20还用于:The aforementioned first determining module 20 is also used for:
从上述缓存队列中存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue.
在一种可能的实施方式中,请参见图11,图11是本申请实施例提供的基于缓存队列的数据处理装置的另一结构示意图。如图11所示,上述装置还包括:In one possible implementation, please refer to FIG11, which is another structural schematic diagram of a data processing apparatus based on a cache queue provided in an embodiment of this application. As shown in FIG11, the apparatus further includes:
第二确定模块40,用于从应用服务器的共享内存中确定出部分共享内存,并将上述部分共享内存确定为上述缓存队列。The second determining module 40 is used to determine a portion of the shared memory from the shared memory of the application server and to determine the aforementioned portion of the shared memory as the aforementioned cache queue.
在一种可能的实施方式中,上述装置还包括:In one possible implementation, the above-described apparatus further includes:
第二存储模块50,用于当数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库;The second storage module 50 is used to read the aforementioned offline event interaction data from the cache queue and store it in the target database when the data update cycle arrives;
上述第一确定模块20还用于:The aforementioned first determining module 20 is also used for:
基于上述目标用户登录上述目标应用的时间和上述数据更新周期到来的时间,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。Based on the time when the target user logs into the target application and the time when the data update cycle arrives, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the cache queue and/or the target database.
在一种可能的实施方式中,上述第二存储模块50还用于:In one possible implementation, the second storage module 50 is further configured to:
当上述缓存队列存储空间已满时,将上述缓存队列中存入时间最早的离线事件交互数据读出并存储至目标数据库;When the above cache queue storage space is full, the offline event interaction data with the earliest storage time in the above cache queue is read out and stored in the target database;
上述第一确定模块20还用于:The aforementioned first determining module 20 is also used for:
从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue and/or the aforementioned target database.
在一种可能的实施方式中,上述装置还包括:In one possible implementation, the above-described apparatus further includes:
删除模块60,用于将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,将上述离线事件交互数据从上述缓存队列中删除;The deletion module 60 is used to read the offline event interaction data from the cache queue and store it in the target database, and then delete the offline event interaction data from the cache queue.
标记模块70,用于将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,将上述离线事件交互数据标记为已存储数据。The marking module 70 is used to mark the offline event interaction data as stored data after reading it from the cache queue and storing it in the target database.
在一种可能的实施方式中,上述装置还包括:In one possible implementation, the above-described apparatus further includes:
发送模块80,用于向上述目标用户发送离线事件处理请求;Sending module 80 is used to send offline event processing requests to the aforementioned target users;
第三确定模块90,用于当接收到上述目标用户发送的上述离线事件处理响应时,基于上述目标离线数据确定上述目标离线数据对应的上述目标离线事件的事件处理逻辑;The third determining module 90 is used to determine the event processing logic of the target offline event corresponding to the target offline data based on the target offline data when it receives the offline event processing response sent by the target user.
上述第一响应30模块还用于:The aforementioned first response module 30 is also used for:
基于上述事件处理逻辑、上述目标离线数据以及上述目标用户在上述目标应用中的历史用户数据执行上述目标离线事件以响应上述目标离线事件;Based on the above event handling logic, the above target offline data, and the above target user's historical user data in the above target application, execute the above target offline event to respond to the above target offline event;
其中,上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。The aforementioned online user data refers to user data generated after the aforementioned target user logs into the aforementioned target application and responds to the aforementioned target offline event.
在一种可能的实施方式中,上述第一响应模块30还包括:In one possible implementation, the first response module 30 further includes:
调用单元301,用于基于上述事件处理逻辑和上述目标离线数据调用上述目标应用的在线事件逻辑接口;Calling unit 301 is used to call the online event logic interface of the target application based on the above event processing logic and the above target offline data;
生成单元302,用于通过上述在线事件逻辑接口修改上述目标应用中的上述目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口。The generation unit 302 is used to modify the historical user data of the target user in the target application through the online event logic interface to generate the online user data of the target user, wherein the online event logic interface is the processing logic interface for online events in the target application.
进一步的,请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,该计算机设备2000可以应用于服务器,该服务器可以为上述图1所对应实施例中的业务服务器100;该计算机设备2000可以应用于终端,该终端可以为上述图1所对应实施例中的用户终端10a、用户终端10b、…、用户终端10n;该计算机设备2000也可以为上述图3所对应实施例中的计算机设备。计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还包括:收发器2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。Further, please refer to Figure 12, which is a schematic diagram of the structure of a computer device provided in an embodiment of this application. As shown in Figure 12, the computer device 2000 can be applied to a server, which can be the business server 100 in the embodiment corresponding to Figure 1 above; the computer device 2000 can be applied to a terminal, which can be user terminal 10a, user terminal 10b, ..., user terminal 10n in the embodiment corresponding to Figure 1 above; the computer device 2000 can also be the computer device in the embodiment corresponding to Figure 3 above. The computer device 2000 may include: a processor 2001, a network interface 2004, and a memory 2005. In addition, the computer device 2000 also includes: a transceiver 2003, and at least one communication bus 2002. The communication bus 2002 is used to realize the connection and communication between these components. The network interface 2004 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface). The memory 2005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk storage device. Alternatively, the memory 2005 may be at least one storage device located remotely from the aforementioned processor 2001. As shown in FIG12, the memory 2005, as a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.
在图12所示的计算机设备2000中,网络接口2004可提供网络通讯功能;处理器2001和收发器2003可以用于调用存储器2005中存储的设备控制应用程序,以实现:In the computer device 2000 shown in Figure 12, the network interface 2004 provides network communication functionality; the processor 2001 and transceiver 2003 can be used to call the device control application stored in the memory 2005 to achieve:
上述处理器2001,用于当检测到目标应用的离线事件交互数据时,存储上述离线事件交互数据,其中上述目标应用为多个用户交互的应用,上述离线事件交互数据为上述目标应用的用户的离线数据,其中,任一用户的离线数据为上述任一用户离线时上述目标应用中其他用户针对上述任一用户发起离线事件所产生的操作数据;The processor 2001 is configured to store the offline event interaction data when offline event interaction data of a target application is detected, wherein the target application is an application interacted by multiple users, the offline event interaction data is the offline data of the users of the target application, and the offline data of any user is the operation data generated by other users in the target application initiating an offline event for any user when any user goes offline.
上述处理器2001,还用于当检测到上述目标应用的目标用户登录上述目标应用时,从存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据;The processor 2001 is further configured to determine the target offline data corresponding to the target user from the stored offline event interaction data when it is detected that the target user of the target application has logged into the target application.
上述处理器2001,还用于基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件以生成上述目标用户的在线用户数据,上述目标离线事件为上述目标用户离线时上述目标应用中其他用户针对上述目标用户发起的离线事件。The processor 2001 is further configured to, based on the target offline data and the target user's historical user data in the target application, respond to the target offline event corresponding to the target offline data to generate the target user's online user data, wherein the target offline event is an offline event initiated by other users in the target application against the target user when the target user is offline.
在一种可能的实施方式中,上述处理器2001还用于:In one possible implementation, the processor 2001 is further configured to:
将上述离线事件交互数据存储至缓存队列;Store the aforementioned offline event interaction data in a cache queue;
从上述缓存队列中存储的上述离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue.
在一种可能的实施方式中,上述存储上述离线事件交互数据存储至缓存队列之前,上述处理器2001还用于:In one possible implementation, before storing the offline event interaction data into the cache queue, the processor 2001 is further configured to:
从应用服务器的共享内存中确定出部分共享内存,并将上述部分共享内存确定为上述缓存队列。A portion of the shared memory is identified from the application server's shared memory, and this portion of shared memory is designated as the aforementioned cache queue.
在一种可能的实施方式中,上述将上述离线事件交互数据存储至缓存队列之后,上述处理器2001还用于:In one possible implementation, after storing the aforementioned offline event interaction data in a cache queue, the processor 2001 is further configured to:
当数据更新周期到来时,将上述离线事件交互数据从缓存队列中读出并存储至目标数据库;When the data update cycle arrives, the aforementioned offline event interaction data will be read from the cache queue and stored in the target database;
基于上述目标用户登录上述目标应用的时间和上述数据更新周期到来的时间,从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。Based on the time when the target user logs into the target application and the time when the data update cycle arrives, the target offline data corresponding to the target user is determined from the offline event interaction data stored in the cache queue and/or the target database.
在一种可能的实施方式中,上述将上述离线事件交互数据存储至缓存队列之后,上述处理器2001还用于:In one possible implementation, after storing the aforementioned offline event interaction data in a cache queue, the processor 2001 is further configured to:
当上述缓存队列存储空间已满时,将上述缓存队列中存入时间最早的离线事件交互数据读出并存储至目标数据库;When the above cache queue storage space is full, the offline event interaction data with the earliest storage time in the above cache queue is read out and stored in the target database;
从上述缓存队列和/或上述目标数据库存储的离线事件交互数据中确定出上述目标用户对应的目标离线数据。The target offline data corresponding to the target user is determined from the offline event interaction data stored in the aforementioned cache queue and/or the aforementioned target database.
在一种可能的实施方式中,上述将上述离线事件交互数据从缓存队列读出并存储至目标数据库之后,上述处理器2001还用于:In one possible implementation, after reading the offline event interaction data from the cache queue and storing it in the target database, the processor 2001 is further configured to:
将上述离线事件交互数据从上述缓存队列中删除;或者Delete the aforementioned offline event interaction data from the aforementioned cache queue; or
将上述离线事件交互数据标记为已存储数据。Mark the above offline event interaction data as stored data.
在一种可能的实施方式中,上述基于上述目标离线数据和上述目标用户在上述目标应用中的历史用户数据,响应上述目标离线数据对应的目标离线事件之前,上述收发器2003用于:In one possible implementation, before responding to the target offline event corresponding to the target offline data based on the target offline data and the target user's historical user data in the target application, the transceiver 2003 is configured to:
向上述目标用户发送离线事件处理请求;Send offline event handling requests to the aforementioned target users;
当上述收发器2003接收到目标用户发送的上述离线事件处理响应时,上述处理器2001还用于,基于上述目标离线数据确定上述目标离线数据对应的上述目标离线事件的事件处理逻辑,以基于上述事件处理逻辑、上述目标离线数据以及上述目标用户在上述目标应用中的历史用户数据执行上述目标离线事件以响应上述目标离线事件;When the transceiver 2003 receives the offline event processing response sent by the target user, the processor 2001 is further configured to determine the event processing logic of the target offline event corresponding to the target offline data based on the target offline data, and execute the target offline event based on the event processing logic, the target offline data and the target user's historical user data in the target application to respond to the target offline event.
其中,上述在线用户数据为上述目标用户登录上述目标应用后响应上述目标离线事件后产生的用户数据。The aforementioned online user data refers to user data generated after the aforementioned target user logs into the aforementioned target application and responds to the aforementioned target offline event.
在一种可能的实施方式中,上述处理器2001还用于:In one possible implementation, the processor 2001 is further configured to:
基于上述事件处理逻辑和上述目标离线数据调用上述目标应用的在线事件逻辑接口,以通过上述在线事件逻辑接口修改上述目标应用中的上述目标用户的历史用户数据以生成上述目标用户的在线用户数据,其中,上述在线事件逻辑接口为上述目标应用中在线事件的处理逻辑接口。Based on the above event processing logic and the above target offline data, the online event logic interface of the above target application is called to modify the historical user data of the above target user in the above target application through the above online event logic interface to generate the online user data of the above target user. The above online event logic interface is the processing logic interface for online events in the above target application.
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的一种基于通路融合的图像识别装置所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3和/或图7所对应实施例中对该基于通路融合的图像识别方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行。Furthermore, it should be noted that this application also provides a computer-readable storage medium storing a computer program executed by the aforementioned path fusion-based image recognition device. This computer program includes program instructions, which, when executed by the processor, enable the execution of the path fusion-based image recognition method described in the embodiments corresponding to Figures 3 and/or 7. Therefore, these descriptions will not be repeated here. Additionally, the beneficial effects of using the same method will not be repeated here either. For technical details not disclosed in the computer-readable storage medium embodiments of this application, please refer to the description of the method embodiments of this application. As an example, the program instructions may be deployed to execute on a single computing device or on multiple computing devices located in one location.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述计算机可读存储介质可以是前述任一实施例提供的一种功率变换器的控制装置或者上述设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其它程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The computer-readable storage medium can be a control device for a power converter provided in any of the foregoing embodiments, or an internal storage unit of the device, such as a hard disk or memory of an electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the electronic device. The computer-readable storage medium can also include magnetic disks, optical disks, read-only memory (ROM), or random access memory, etc. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of the electronic device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
本发明的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。The terms "first," "second," etc., used in the claims, description, and drawings of this invention are used to distinguish different objects, not to describe a particular order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that comprises a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses. References to "embodiment" herein mean that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The presentation of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and/or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Those skilled in the art can implement the described functions using different methods for each specific application, but such implementations should not be considered beyond the scope of this invention.
在本申请所提供的实施例中,所揭露的电路和方法,还可以通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如,电路模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。The circuits and methods disclosed in the embodiments provided in this application can also be implemented in other ways. For example, the device embodiments described above are illustrative. For example, the division of circuit modules is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed.
在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In the various embodiments of this application, the functional units can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims (9)
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40052748A HK40052748A (en) | 2022-01-28 |
| HK40052748B true HK40052748B (en) | 2024-07-19 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7397094B2 (en) | Resource configuration method, resource configuration device, computer equipment, and computer program | |
| US8874780B2 (en) | Data buffering and notification system and methods thereof | |
| CN111586164B (en) | Sharing, succession and information processing method of remote cloud desktop and electronic equipment | |
| CN113467958B (en) | Data processing method, device, equipment and readable storage medium | |
| WO2017041625A1 (en) | Information pushing method, apparatus, and system | |
| CN115543938A (en) | Data processing method, device, electronic device and storage medium | |
| CN112910880B (en) | Virtual room creating method, system, device, equipment and medium | |
| CN110728558B (en) | Virtual package transmitting method, device, equipment and storage medium | |
| CN118612520A (en) | Message interaction method, device, equipment and storage medium | |
| CN105100242A (en) | Data processing method and system | |
| CN113014608A (en) | Flow distribution control method and device, electronic equipment and storage medium | |
| WO2015085735A1 (en) | Information requesting method and system | |
| CN117891348A (en) | Interactive control method, device, equipment and storage medium | |
| CN111111216A (en) | Matching method, device, server and storage medium | |
| US20200348840A1 (en) | System and method for event driven storage management | |
| CN113209635B (en) | Data processing method, device and storage medium based on cache queue | |
| HK40052748B (en) | Data processing method, device and storage medium based on cache queue | |
| CN108520401A (en) | User list management method, device, platform and storage medium | |
| CN111930724A (en) | Data migration method and device, storage medium and electronic equipment | |
| CN111957052A (en) | Task team forming method and device, electronic equipment and storage medium | |
| CN104090874B (en) | A kind of cross-platform data management method and system | |
| CN111905361B (en) | Game service system, game processing method, storage medium and device | |
| WO2019242279A1 (en) | Message processing method and device | |
| HK40052748A (en) | Data processing method, device and storage medium based on cache queue | |
| US20140298287A1 (en) | Methods and systems for creating data applications |