CN114168233A - 一种数据处理方法、装置、服务器及存储介质 - Google Patents
一种数据处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114168233A CN114168233A CN202111358141.7A CN202111358141A CN114168233A CN 114168233 A CN114168233 A CN 114168233A CN 202111358141 A CN202111358141 A CN 202111358141A CN 114168233 A CN114168233 A CN 114168233A
- Authority
- CN
- China
- Prior art keywords
- target
- account
- data
- modified
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种数据处理方法、装置、服务器及存储介质,涉及通信技术领域。该方法包括:接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改待修改账户对应的数据;基于该待修改账户的标识确定待确认进程,该待确认进程为该待修改账户对应的进程;当该待确认进程与该目标进程不相同时,在该目标进程中调用该目标服务,以修改该待修改账户对应的数据。本公开提供的方案,能够提高数据修改的效率,提升用户体验。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种数据处理方法、装置、服务器及存储介质。
背景技术
目前,可以在多个不同进程中存储某一账户的相关数据,当需要更新某一功能时,可以分别在该多个不同进程的每一个进程中修改该账户相关数据。
但是,上述方法中,由于该多个不同进程中可能会存在该账户对应的某些相同数据,如此当修改该账户的相关数据时,需要对该相同数据进行多次修改,可能会影响数据修改的效率,降低用户体验。
发明内容
本公开提供一种数据处理方法、装置、服务器及存储介质,解决了现有技术中对相同数据进行多次修改,影响数据修改的效率,降低用户体验的技术问题。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法。该方法可以包括:接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据;基于该待修改账户的标识确定待确认进程,该待确认进程为该待修改账户对应的进程;当该待确认进程与该目标进程不相同时,在该目标进程中调用该目标服务。
可选地,上述基于该待修改账户的标识确定待确认进程具体包括:对该待修改账户的标识进行哈希变换,得到目标哈希值;基于该目标哈希值,确定该待确认进程。
可选地,上述数据修改请求消息还包括第一线程的标识,该第一线程为该目标服务对应的线程;上述在该目标进程中调用该目标服务具体包括:在该目标进程的该第一线程中调用该目标服务。
可选地,上述数据处理方法还包括:基于该目标哈希值,确定第二线程,该第二线程为该待修改账户对应的线程;将该目标哈希值添加至目标队列,该目标队列为该第二线程对应的队列。
可选地,上述数据处理方法还包括:当第一接收时间在第二接收时间之前时,优先获取第一哈希值并且优先处理第一数据修改请求消息,该第一哈希值为该目标队列中包括的M个哈希值中的一个,该第一数据修改请求消息为该第一哈希值对应的数据修改请求消息,该第一接收时间为该第一数据修改请求消息的接收时间,该第二接收时间为第二修改请求消息的接收时间,该第二数据修改请求消息为第二哈希值对应的数据修改请求消息,该第二哈希值该M个哈希值中除该第一哈希值以外的哈希值,M≥1;在间隔预设时长之后,获取该第二哈希值并且处理该第二数据修改请求消息。
可选地,上述目标队列为无阻塞队列。
可选地,上述数据处理方法还包括:当该待确认进程与该目标进程相同时,确定在该待确认进程中调用该目标服务。
根据本公开实施例的第二方面,提供一种数据处理装置。该数据处理装置可以包括:接收模块、确定模块以及处理模块;该接收模块,被配置为接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据;该确定模块,被配置为基于该待修改账户的标识确定待确认进程,该待确认进程为该待修改账户对应的进程;该处理模块,被配置为当该待确认进程与该目标进程不相同时,在该目标进程中调用该目标服务,以修改该待修改账户对应的数据。
可选地,该处理模块,还被配置为对该待修改账户的标识进行哈希变换,得到目标哈希值;该确定模块,具体被配置为基于该目标哈希值,确定该待确认进程。
可选地,上述数据修改请求消息还包括第一线程的标识,该第一线程为该目标服务对应的线程;该处理模块,具体被配置为在该目标进程的该第一线程中调用该目标服务。
可选地,该确定模块,还被配置为基于该目标哈希值,确定第二线程,该第二线程为该待修改账户对应的线程;该处理模块,还被配置为将该目标哈希值添加至目标队列,该目标队列为该第二线程对应的队列。
可选地,该处理模块,还被配置为当第一接收时间在第二接收时间之前时,优先获取第一哈希值并且优先处理第一数据修改请求消息,该第一哈希值为该目标队列中包括的M个哈希值中的一个,该第一数据修改请求消息为该第一哈希值对应的数据修改请求消息,该第一接收时间为该第一数据修改请求消息的接收时间,该第二接收时间为第二修改请求消息的接收时间,该第二数据修改请求消息为第二哈希值对应的数据修改请求消息,该第二哈希值该M个哈希值中除该第一哈希值以外的哈希值,M≥1;该处理模块,还被配置为在间隔预设时长之后,获取该第二哈希值并且处理该第二数据修改请求消息。
可选地,上述目标队列为无阻塞队列。
可选地,该确定模块,还被配置为当该待确认进程与该目标进程相同时,确定在该待确认进程中调用该目标服务。
根据本公开实施例的第三方面,提供一种服务器,可以包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由服务器执行时,使得该服务器能够执行上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在服务器上运行时,使得该服务器执行如第一方面中任一种可选地数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
基于上述任一方面,本公开中,服务器可以接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据;然后该服务器基于该待修改账户的标识确定该待修改账户对应的进程,即待确认进程;当该待确认进程与该目标进程不相同时,说明目标服务对应的数据与该待修改账户对应的数据不在同一进程(或逻辑服务器节点)内,如此服务器可以在目标进程(即该目标服务对应的进程)中调用该目标服务,以修改该待修改账户对应的数据。本公开实施例中,服务器无需对待修改账户对应的数据进行多次修改,即确定在某一进程(例如目标进程)中调用目标服务,以在固定的进程(即待确认进程)中修改该待修改账户对应的数据,能够提高数据修改的效率,提升用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了本公开实施例提供的一种数据处理系统示意图;
图2示出了本公开实施例提供的一种逻辑服务器节点的内部示意图;
图3示出了本公开实施例提供的一种数据处理方法的流程示意图;
图4示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图5示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图6示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图7示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图8示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图9示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图10示出了本公开实施例提供的一种数据处理装置的结构示意图;
图11示出了本公开实施例提供的又一种数据处理装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
如背景技术中所描述,由于现有技术中某一账户对应的多个不同进程中可能会存在相同数据,如此当需要修改该账户的相关数据时,即需要对相同数据进行多次修改,可能会影响数据修改的效率,降低用户体验。基于此,本公开实施例提供一种数据处理方法,服务器无需对待修改账户对应的数据进行多次修改,即确定在某一进程(例如目标进程)中调用目标服务,以在固定的进程(即待确认进程)中修改该待修改账户对应的数据,能够提高数据修改的效率,提升用户体验。
本公开实施例提供的数据处理方法、装置、服务器及存储介质,应用于数据修改(具体可以为对某一账户(或玩家)对应的数据进行修改)的场景中。当服务器接收到数据修改请求消息时,可以依据本公开实施例提供的方法,在某一进程(例如目标进程)中调用目标服务,以修改待修改账户对应的数据。
以下结合附图对本公开实施例提供的数据处理方法进行示例性说明:
图1为本公开实施例提供的一种数据处理系统示意图,如图1所示,该数据处理系统中可以包括电子设备101和服务器102,电子设备101可以通过有线网络或无线网络与服务器102之间建立连接。
其中,电子设备101可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容社区应用的设备,本公开对电子设备101的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
具体的,电子设备101可以向服务器102发送数据修改请求消息,如此服务器102可以接收该数据修改请求消息,并且基于待修改账户的标识确定待确认进程。进而在目标进程中调用目标服务,以基于该目标服务修改该待修改账户对应的数据。
在本公开实施例的一种实现方式中,上述服务器102中可以包括至少一个进程,也可以理解为该服务器102包括至少一个逻辑服务器节点,一个逻辑服务器节点为一个进程,进而,可以对该至少一个逻辑服务器节点中每一个逻辑服务器节点进行逻辑功能划分。
如图2所示,可以将一个逻辑服务器节点划分为5层结构,包括:功能层(module)201、服务层(service)202、调度线程层(worker)203、节点进程层(node)204以及全局路由层(router)205。
具体的,功能层201用于存储功能程序员编写的静态方法(或数据),例如在游戏应用场景下,该静态方法可以为某一个技能是如何实现的,该功能层201还可以向服务层202发送数据。
服务层202用于存储该服务层202可以提供的服务内容或服务数据,以及接收功能层201发送的数据。本公开实施例中,服务器调用目标服务,即为在目标服务对应的服务层调用该目标服务。在本公开实施例的一种实现方式中,可以将功能层的接口和服务层的接口开放给功能程序员,以使得功能程序员可以在该功能层和该服务层修改数据。
调度线程层203是用于线程工作的层面,也可以理解为就是一个线程,所有的工作最终都会在worker层被执行,消息的调用是从功能层到调度线程层实现的。本公开实施例中,调度线程层还用于存储某一个队列。
节点进程层204用于表征一个进程(或一个逻辑服务器节点),一个进程中可以包括多个线程。本公开实施例中,服务器可以确定待修改账户对应的进程(即待确认进程)与目标服务对应的进程(即目标进程)是否相同,进而在该目标进程(或该待确认进程)中调用目标服务。
全局路由层205用于存储路由表,具体可以通过zookeeper确定某一个服务器的互联网协议(internet protocol,IP)地址等。
如图3所示,本公开实施例提供的数据处理方法可以包括S101-S103。
S101、服务器接收数据修改请求消息。
其中,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据。
应理解,网络中可以包括多个逻辑服务器节点(或多个进程),该多个逻辑服务器节点可以均属于该服务器,也可以分属于多个不同的服务器,该多个逻辑服务器节点中的每一个逻辑服务器节点可以将其对应的(或可以提供)多种服务注册到zookeeper中,如此,其他逻辑服务器节点(即该多个逻辑服务器节点中除该每一个逻辑服务器节点以外的逻辑服务器节点)可以通过zookeeper进行服务发现,具体为该其他逻辑服务器节点可以确定(或发现)该每一个逻辑服务器节点提供的多种服务。最终,该每一个逻辑服务器节点可以确定该其他逻辑服务器节点中任意一个逻辑服务器节点可以提供的多种服务,进而指定一种服务(例如目标服务),然后去可以提供该种服务的逻辑服务器节点内调用该种服务。
即上述目标进程可以提供多种服务,该目标服务为该多种服务中的一种,该目标进程中存储有该目标服务对应的数据,服务器可以调用该目标服务以修改该待修改账户对应的数据。
S102、服务器基于待修改账户的标识确定待确认进程。
其中,该待确认进程为该待修改账户对应的进程。
应理解,该待确认进程为存储有该待修改账户对应的数据的进程。当服务器接收到上述数据修改请求消息之后,可以基于该待修改账户的标识确定将该数据修改请求消息对应的处理进程(或者可以理解为将该数据修改请求消息分配到该处理进程中),该处理进程为该待修改账户对应的进程,即该待确认进程。
在本公开实施例的一种实现方式中,在游戏场景下,上述待修改账户可以为某一个游戏玩家,该待修改账户的标识即可以为该游戏玩家的ID。
S103、当待确认进程与目标进程不相同时,服务器在目标进程中调用目标服务,以修改待修改账户对应的数据。
应理解,当该待确认进程与该目标进程不相同时,说明存储目标服务对应的数据的进程(或逻辑服务器节点)与存储待修改账户对应的数据的进程不同。本公开实施例中,当该两个进程不相同时,服务器可以在目标进程(即目标服务对应的进程)中调用目标服务。
结合上述游戏场景,上述数据修改请求消息可以理解为游戏玩家通过电子设备发出的指令,该指令用于指示该游戏玩家的某一个游戏行为,例如施放目标技能。则上述目标服务即为存储有该目标技能对应的服务,服务器通过调用该目标服务,修改该游戏玩家对应的数据,即可完成该施放目标技能的过程。
在本公开实施例中的一种实现方式中,当服务器调用该目标服务需要得到返回值时(可以理解为注册回调),例如在上述游戏场景中,服务器需要确定该目标技能是否施放成功时。服务器可以得到该是否施放成功的返回值,进而将该返回值返回(或发送)至电子设备。
上述实施例提供的技术方案至少能够带来以下有益效果:由S101-S103可知,服务器可以接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据;然后该服务器基于该待修改账户的标识确定该待修改账户对应的进程,即待确认进程;当该待确认进程与该目标进程不相同时,说明目标服务对应的数据与该待修改账户对应的数据不在同一进程(或逻辑服务器节点)内,如此服务器可以在目标进程(即该目标服务对应的进程)中调用该目标服务,以修改该待修改账户对应的数据。本公开实施例中,服务器无需对待修改账户对应的数据进行多次修改,即确定在某一进程(例如目标进程)中调用目标服务,以在固定的进程(即待确认进程)中修改该待修改账户对应的数据,能够提高数据修改的效率,提升用户体验。
结合图3,如图4所示,在本公开实施例的一种实现方式中,上述基于待修改账户的标识确定待确认进程,具体包括S1021-S1022。
S1021、服务器对待修改账户的标识进行哈希变换,得到目标哈希值。
应理解,该待修改账户的标识可能较长(或较大),服务器对该待修改账户的标识进行哈希变换,可以将该待修改账户(具体为该待修改账户对应的数据修改请求消息)重定向到一个逻辑服务器节点(即待确认进程),由于该目标哈希值(即待修改账户的标识对应的哈希值)是不变的,因此,该待修改账户对应的每一个数据修改请求消息都会被重定向到相同的待确认进程。
S1022、服务器基于目标哈希值,确定待确认进程。
在本公开实施例的一种实现方式中,服务器可以基于该目标哈希值,以及网络中包括的进程(或逻辑服务器节点)的总数量取模,以确定该待确认进程。
上述实施例提供的技术方案至少能够带来以下有益效果:由S1021-S1022可知,服务器可以对待修改账户的标识进行哈希变换,得到目标哈希值,并且基于该目标哈希值,确定待确认进程(即该待修改账户对应的进程)。本公开实施例中,服务器可以基于目标哈希值为待修改账户确定出唯一不变的进程,进而在该唯一不变的进程中进行数据的修改。能够提升待确认进程的确定效率,进而提升数据修改的准确性。
结合图3,如图5所示,在本公开实施例的一种实现方式中,上述数据修改请求消息还包括第一线程的标识,该第一线程为该目标服务对应的线程。上述在目标进程中调用目标服务,具体可以包括S1031。
S1031、服务器在目标进程的第一线程中调用目标服务。
应理解,上述多个进程中的每一个进程中可以包括多个线程。该第一线程为该目标进程中包括的多个线程中的一个。
具体的,目标进程可以提供的服务包括该目标进程中包括的多个线程中每一个线程可以提供的服务,该每一个线程可以提供至少一种服务。上述每一个逻辑服务器节点在zookeeper中注册时,即可以将该每一个线程可以提供的服务注册在zookeeper中,以使得其他进程(或线程)可以确定该每一个线程可以提供的服务。
可以理解的是,该数据修改请求消息还包括该目标服务的标识,服务器可以基于该目标服务的标识确定该目标服务,进而从该目标进程的第一线程中调用该目标服务。
上述实施例提供的技术方案至少能够带来以下有益效果:由S1031可知,服务器可以在目标进程的第一线程中调用目标服务,即可以具体的某一线程中调用该目标服务,能够准确、有效地确定出该目标服务对应的数据所在的内存空间,提升服务调用的准确性。
结合图4,如图6所示,本公开实施例提供的数据处理方法还包括S104-S105。
S104、服务器基于目标哈希值,确定第二线程。
其中,该第二线程为该待修改账户对应的线程。
结合上述实施例的描述,应理解,上述待确认进程中也可以包括多个线程,该第二线程为该待确认进程中包括的多个线程中的一个。
本公开实施例中,服务器还可以基于该目标哈希值,以及该待确认进程中包括的线程的总数量取模,以确定该第二线程。
S105、服务器将目标哈希值添加至目标队列。
其中,该目标队列为该第二线程对应的队列。
可以理解的是,本公开实施例中的一个线程可以对应一个队列。服务器在接收到上述数据修改请求消息之后,可以将该数据修改请求消息分配到该目标队列,具体为将该目标哈希值添加至该目标队列,进而使得该服务器可以处理该数据修改请求消息。
上述实施例提供的技术方案至少能够带来以下有益效果:由S104-S105可知,服务器可以基于目标哈希值,确定待修改账户对应的线程(即第二线程),然后将该目标哈希值添加至该第二线程对应的队列(即目标队列)。本公开实施例中,服务器在接收到数据修改请求消息之后,可以将该数据修改请求消息分配到某一队列,具体为将该数据修改请求消息包括的待修改账户的标识对应的目标哈希值添加至目标队列,进而服务器可以处理该数据修改请求消息,完成目标服务的调用,即完成修改待修改账户的数据的过程。能够方便快捷地确定出每一个业务数据请求消息对应的队列,进而提升数据处理的效率。
结合图6,如图7所示,本公开实施例提供的数据处理方法还可以包括S106-S107。
S106、当第一接收时间在第二接收时间之前时,服务器优先获取第一哈希值并且优先处理第一数据修改请求消息。
其中,该第一哈希值为该目标队列中包括的M个哈希值中的一个,该第一数据修改请求消息为该第一哈希值对应的数据修改请求消息,该第一接收时间为该第一数据修改请求消息的接收时间,该第二接收时间为第二修改请求消息的接收时间,该第二数据修改请求消息为第二哈希值对应的数据修改请求消息,该第二哈希值该M个哈希值中除该第一哈希值以外的哈希值,M≥1。
应理解,该M个哈希值中的每一个哈希值均可以对应一个数据修改请求消息,M个数据修改请求消息中的每一个数据修改请求消息均可以对应一个接收时间,一个接收时间可以理解为服务器接收一个数据修改请求消息的时间(或添加时间,即将数据修改请求消息添加至该目标队列的时间)。
S107、在间隔预设时长之后,服务器获取第二哈希值并且处理第二数据修改请求消息。
可以理解的是,上述目标队列对应的M个数据修改请求消息是按照先进先出的方式进行处理。具体的,若该M个数据修改请求消息中每一个数据修改请求消息对应的接收时间在该M个数据修改请求消息中其他数据修改请求消息对应的接收时间之前(该其他数据修改请求消息为该M个数据修改请求消息中除该每一个数据修改请求消息以外的消息),则服务器可以确定优先获取该每一个数据修改请求消息对应的哈希值,并且优先处理该每一个数据修改请求消息。以及在间隔预设时长之后,获取该M个数据修改请求消息中其他数据修改请求消息对应的哈希值并且处理该其他数据修改请求消息。
可选地,上述预设时长可以为服务器的心跳(即服务器的刷新频率),例如可以为16ms(毫秒),即服务器16ms心跳一次,每一次心跳就可以从该目标队列中取出M个哈希值,即处理M个数据修改请求消息。
本公开实施例中,服务器可以从该目标队列的结束位置(或者尾部位置)添加一个哈希值,进而从该目标队列的开始位置(或者头部位置)获取该哈希值,并且处理该哈希值对应的数据修改请求消息。
上述实施例提供的技术方案至少能够带来以下有益效果:由S106-S107可知,当第一接收时间在第二接收时间之前时,服务器可以优先获取第一哈希值并且优先处理第一数据修改请求消息;以及在间隔预设时长之后,服务器可以获取第二哈希值并且处理第二数据修改请求消息。本公开实施例中,服务器可以按照时间先后顺序获取目标队列中包括的M个哈希值,并且处理该M个哈希值各自对应的数据修改请求消息。可以基于统一的标准(即时间先后顺序)处理数据修改请求消息,能够提高消息的处理效率,提升数据处理的有效性。
在本公开实施例的一种实现方式中,上述目标队列可以为无阻塞队列。
应理解,该目标队列为无阻塞队列,即服务器可以持续在该目标队列中添加哈希值,并且还可以基于上述预设时长持续从该目标队列中获取哈希值,进而处理相应的数据修改请求消息,能够提升数据处理的效率。并且,在目标队列中没有哈希值的情况下,停止处理数据修改请求消息,可以减少资源浪费,提升资源使用率。
结合图3,如图8所示,在一种可选的实现方式中,本公开实施例提供的数据处理方法还可以包括S108。
S108、当待确认进程与目标进程相同时,服务器确定在待确认进程中调用目标服务。
应理解,该待确认进程与该目标进程相同时,说明存储目标服务对应的数据的进程与存储待修改账户对应的数据的进程相同。本公开实施例中,当该两个进程相同时,服务器可以确定在该待确认进程(或目标进程)中调用该目标服务。
上述实施例提供的技术方案至少能够带来以下有益效果:由S108可知,当待确认进程与目标进程相同时,服务器可以确定在该待确认进程中调用目标服务。本公开实施例中,服务器无需对待修改账户对应的数据进行多次修改,即确定在某一进程(例如待确认进程)中调用目标服务,以在相同的进程中修改该待修改账户对应的数据,能够提高数据修改的效率,提升用户体验。
如图9所示,以下以上述待确认进程与上述目标进程相同为例,说明在服务器内部,具体为在该待确认进程中调用目标服务的过程,包括S201-S206。
S201、第二功能层向第二调度线程层发送服务调度请求。
其中,该第二功能层为待修改账户对应的功能层,该第二调度线程层为该待修改账户对应的调度线程层,即第二线程,该服务调度请求包括目标服务的标识、目标进程的标识以及第一线程的标识,该服务调度请求用于请求调度该目标服务;
应理解,该第二功能层向该第二调度线程发送服务调度请求,即可以理解为该第二功能层远程调用该第二线程,具体为该第二功能层基于远程调用服务(service remoteinvocation,SRI)通过第二服务层(即待修改账户对应的服务层)调用该第二线程。
S202、第二调度线程层向第二节点进程层发送该服务调度请求。
其中,该第二节点进程层即为上述待确认进程对应的节点进程层。
S203、第二节点进程层确定该待确认进程与该目标进程相同。
结合上述实施例的描述,应理解,该待确认进程与该目标进程相同,说明该目标服务对应的数据与该待修改账户对应的数据属于相同的进程中。
S204、第二节点进程层向第一调度线程层发送服务调度请求。
其中,该第一调度线程层为该第一线程对应的调度线程层。
S205、第一调度线程层向第一服务层发送该服务调度请求。
其中,该第一服务层为该目标服务对应的服务层。
S206、第一服务层向第一功能层发送服务调度请求。
其中,该第一功能层为该目标服务对应的功能层。
至此,服务器可以在该第一功能层调用该目标服务对应的静态方法,进而完成待修改账户对应的数据的修改过程。
可以理解的,在实际实施时,本公开实施例所述的服务器可以包含有用于实现前述对应数据处理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个服务器。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种数据处理装置,图10示出了本公开实施例提供的数据处理装置的结构示意图。如图10所示,该数据处理装置30可以包括:接收模块301、确定模块302以及处理模块303。
接收模块301,被配置为接收数据修改请求消息,该数据修改请求消息包括待修改账户的标识和目标进程的标识,该目标进程为目标服务对应的进程,该目标服务用于修改该待修改账户对应的数据。
确定模块302,被配置为基于该待修改账户的标识确定待确认进程,该待确认进程为该待修改账户对应的进程。
处理模块303,被配置为当该待确认进程与该目标进程不相同时,在该目标进程中调用该目标服务,以修改该待修改账户对应的数据。
可选地,处理模块303,还被配置为对该待修改账户的标识进行哈希变换,得到目标哈希值。
确定模块302,具体被配置为基于该目标哈希值,确定该待确认进程。
可选地,上述数据修改请求消息还包括第一线程的标识,该第一线程为该目标服务对应的线程。
处理模块303,具体被配置为在该目标进程的该第一线程中调用该目标服务。
可选地,该确定模块302,还被配置为基于该目标哈希值,确定第二线程,该第二线程为该待修改账户对应的线程。
处理模块303,还被配置为将该目标哈希值添加至目标队列,该目标队列为该第二线程对应的队列。
可选地,处理模块303,还被配置为当第一接收时间在第二接收时间之前时,优先获取第一哈希值并且优先处理第一数据修改请求消息,该第一哈希值为该目标队列中包括的M个哈希值中的一个,该第一数据修改请求消息为该第一哈希值对应的数据修改请求消息,该第一接收时间为该第一数据修改请求消息的接收时间,该第二接收时间为第二修改请求消息的接收时间,该第二数据修改请求消息为第二哈希值对应的数据修改请求消息,该第二哈希值该M个哈希值中除该第一哈希值以外的哈希值,M≥1。
处理模块303,还被配置为在间隔预设时长之后,获取该第二哈希值并且处理该第二数据修改请求消息
可选地,上述目标队列为无阻塞队列。
可选地,确定模块302,还被配置为当该待确认进程与该目标进程相同时,确定在该待确认进程中调用该目标服务。
如上所述,本公开实施例可以根据上述方法示例对数据处理装置进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的数据处理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
图11是本公开提供的另一种数据处理装置的结构示意图。如图11,该数据处理装置40可以包括至少一个处理器401以及用于存储处理器可执行指令的存储器403。其中,处理器401被配置为执行存储器403中的指令,以实现上述实施例中的数据处理方法。
另外,数据处理装置40还可以包括通信总线402以及至少一个通信接口404。
处理器401可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。
通信总线402可包括一通路,在上述组件之间传送信息。
通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器403用于存储执行本公开方案的指令,并由处理器401来控制执行。处理器401用于执行存储器403中存储的指令,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图11中的CPU0和CPU1。
在具体实现中,作为一种实施例,数据处理装置40可以包括多个处理器,例如图11中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,数据处理装置40还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图11中示出的结构并不构成对数据处理装置40的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由服务器执行时,使得服务器执行如上述实施例所提供的数据处理方法。
另外,本公开还提供一种计算机程序产品,包括指令,当指令由服务器执行时,使得服务器执行如上述实施例所提供的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收数据修改请求消息,所述数据修改请求消息包括待修改账户的标识和目标进程的标识,所述目标进程为目标服务对应的进程,所述目标服务用于修改所述待修改账户对应的数据;
基于所述待修改账户的标识确定待确认进程,所述待确认进程为所述待修改账户对应的进程;
当所述待确认进程与所述目标进程不相同时,在所述目标进程中调用所述目标服务,以修改所述待修改账户对应的数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述待修改账户的标识确定待确认进程,包括:
对所述待修改账户的标识进行哈希变换,得到目标哈希值;
基于所述目标哈希值,确定所述待确认进程。
3.根据权利要求1所述的数据处理方法,其特征在于,所述数据修改请求消息还包括第一线程的标识,所述第一线程为所述目标服务对应的线程;
所述在所述目标进程中调用所述目标服务,包括:
在所述目标进程的所述第一线程中调用所述目标服务。
4.根据权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
基于所述目标哈希值,确定第二线程,所述第二线程为所述待修改账户对应的线程;
将所述目标哈希值添加至目标队列,所述目标队列为所述第二线程对应的队列。
5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
当第一接收时间在第二接收时间之前时,优先获取第一哈希值并且优先处理第一数据修改请求消息,所述第一哈希值为所述目标队列中包括的M个哈希值中的一个,所述第一数据修改请求消息为所述第一哈希值对应的数据修改请求消息,所述第一接收时间为所述第一数据修改请求消息的接收时间,所述第二接收时间为第二修改请求消息的接收时间,所述第二数据修改请求消息为第二哈希值对应的数据修改请求消息,所述第二哈希值所述M个哈希值中除所述第一哈希值以外的哈希值,M≥1;
在间隔预设时长之后,获取所述第二哈希值并且处理所述第二数据修改请求消息。
6.根据权利要求4所述的数据处理方法,其特征在于,所述目标队列为无阻塞队列。
7.一种数据处理装置,其特征在于,包括:接收模块、确定模块以及处理模块;
所述接收模块,被配置为接收数据修改请求消息,所述数据修改请求消息包括待修改账户的标识和目标进程的标识,所述目标进程为目标服务对应的进程,所述目标服务用于修改所述待修改账户对应的数据;
所述确定模块,被配置为基于所述待修改账户的标识确定待确认进程,所述待确认进程为所述待修改账户对应的进程;
所述处理模块,被配置为当所述待确认进程与所述目标进程不相同时,在所述目标进程中调用所述目标服务,以修改所述待修改账户对应的数据。
8.一种服务器,其特征在于,所述服务器包括:
处理器;
被配置为存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的数据处理方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由服务器执行时,使得所述服务器能够执行如权利要求1-6中任一项所述的数据处理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行如权利要求1-6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358141.7A CN114168233B (zh) | 2021-11-16 | 2021-11-16 | 一种数据处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358141.7A CN114168233B (zh) | 2021-11-16 | 2021-11-16 | 一种数据处理方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168233A true CN114168233A (zh) | 2022-03-11 |
CN114168233B CN114168233B (zh) | 2022-12-27 |
Family
ID=80479315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111358141.7A Active CN114168233B (zh) | 2021-11-16 | 2021-11-16 | 一种数据处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168233B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
CN105827604A (zh) * | 2016-03-15 | 2016-08-03 | 深圳市游科互动科技有限公司 | 服务器业务处理方法及服务器 |
CN110795171A (zh) * | 2019-09-18 | 2020-02-14 | 平安银行股份有限公司 | 业务数据处理方法、装置、计算机设备及存储介质 |
CN111813805A (zh) * | 2019-04-12 | 2020-10-23 | 中国移动通信集团河南有限公司 | 一种数据处理方法及装置 |
CN113094430A (zh) * | 2021-03-25 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
-
2021
- 2021-11-16 CN CN202111358141.7A patent/CN114168233B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
CN105827604A (zh) * | 2016-03-15 | 2016-08-03 | 深圳市游科互动科技有限公司 | 服务器业务处理方法及服务器 |
CN111813805A (zh) * | 2019-04-12 | 2020-10-23 | 中国移动通信集团河南有限公司 | 一种数据处理方法及装置 |
CN110795171A (zh) * | 2019-09-18 | 2020-02-14 | 平安银行股份有限公司 | 业务数据处理方法、装置、计算机设备及存储介质 |
CN113094430A (zh) * | 2021-03-25 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
李丽娜等: "流数据处理中负载突发感知的弹性资源分配", 《计算机学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114168233B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9501319B2 (en) | Method and apparatus for scheduling blocking tasks | |
US10701139B2 (en) | Life cycle management method and apparatus | |
CN111542064B (zh) | 一种用于无线接入网的容器编排管理系统及编排方法 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
WO2019001074A1 (zh) | 一种远程过程调用的方法、装置及计算机设备 | |
US20220357990A1 (en) | Method for allocating data processing tasks, electronic device, and storage medium | |
CN105516086B (zh) | 业务处理方法及装置 | |
JP2024512209A (ja) | IoT機器に基づく情報処理方法、関連機器及び記憶媒体 | |
WO2022257247A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
JP2021518955A (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
US11868164B2 (en) | On-demand code execution with limited memory footprint | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN111586140A (zh) | 一种数据交互的方法及服务器 | |
CN114979286B (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN111290842A (zh) | 一种任务执行方法和装置 | |
CN114168233B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN110245027B (zh) | 一种进程间通信的方法和设备 | |
CN111752728A (zh) | 消息传输方法及装置 | |
CN103488530A (zh) | 一种锁迁移方法及装置 | |
US20240086228A1 (en) | Resource Configuration Method and Apparatus, Electronic Device, and Computer-Readable Storage Medium | |
WO2024130565A1 (zh) | 任务处理方法、装置及电子设备 | |
CN107634916B (zh) | 一种数据通信方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |