CN113704024B - 数据处理方法、装置、相关设备及存储介质 - Google Patents
数据处理方法、装置、相关设备及存储介质 Download PDFInfo
- Publication number
- CN113704024B CN113704024B CN202111000074.1A CN202111000074A CN113704024B CN 113704024 B CN113704024 B CN 113704024B CN 202111000074 A CN202111000074 A CN 202111000074A CN 113704024 B CN113704024 B CN 113704024B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- management server
- management
- management servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- 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/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
-
- 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/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、相关设备及存储介质,其中数据处理方法包括:响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。采用本申请实施例可保证管理服务器的高容灾性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、相关设备及存储介质。
背景技术
随着互联网技术的发展,基于互联网的网络游戏成为当今热门的娱乐方式之一,所谓网络游戏一般是指多名玩家通过计算机网络进行交互娱乐的电子游戏,网络游戏中较为受欢迎的是大型多人在线角色扮演游戏(MMORPC),MMORPC是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏,在MMORPC中,玩家可以扮演一个或多个虚拟角色,并控制该角色在游戏中虚拟世界的活动与行为。
用户通过游戏客户端操作网络游戏产生的数据通常是通过游戏服务器端保存在用于数据存储的管理服务器中的。目前管理服务器主要采用主备部署的方式,也就是说存储数据的服务器分为一个主机和多个备机,主机中保存的数据在备机中也会存储相同的一份,一般情况下均是由主机进行数据存储和提供数据查询服务,一旦主机出现故障,在备机中选举出一个机器作为主机,继续提供服务。这种数据管理方式下,多个备机带来了较高的机器成本,所以备机数量一般有所限制,这样一来就需要在机器成本和容灾特性之间做均衡,而且大部分情况备机的使用率并不高,会导致资源浪费。因此,如何部署管理服务器以及如何在管理服务器中写入数据或者读取数据成为当今研究的热点问题。
发明内容
本申请实施例提供了一种数据处理方法、装置、相关设备及存储介质,多个管理服务器采用均匀的环状结构,每个管理服务器都是等价的,不同管理服务器之间的数据互为备份,再无主机和备机之分,可以保持高容灾性。
一方面,本申请实施例提供了一种数据处理方法,包括:
响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;
根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。
一方面,本申请实施例还提供了一种数据处理方法,包括:
接收应用服务器传输的目标数据,目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则确定的,目标管理服务器用于管理目标业务;
存储目标数据,以及按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
一方面,本申请实施例提供了一种数据处理装置,包括:
获取单元,用于响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;
确定单元,用于根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
存储单元,用于将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。
一方面,本申请实施例还提供了另一种数据处理装置,包括:
接收单元,用于接收应用服务器传输的目标数据,目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则确定的,目标管理服务器用于管理目标业务;
存储单元,用于存储目标数据,以及按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
一方面,本申请实施例提供了一种服务器,其特征在于,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,计算机存储介质存储有一条或多条计算机程序,一条或多条计算机程序适于由处理器加载并执行:
响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;
根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。
一方面,本申请实施例提供了一种服务器,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,计算机存储介质存储有一条或多条计算机程序,一条或多条计算机程序适于由处理器加载并执行:
接收应用服务器传输的目标数据,目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则确定的,目标管理服务器用于管理目标业务;
存储目标数据,以及按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
一方面,本申请实施例提供了一种计算机存储介质,计算机存储介质存储有第一计算机程序,第一计算机程序被处理器执行时,用于执行:
响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;
根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。
或者,计算机存储介质存储有第二计算机程序,第二计算机程序被处理器执行时,用于执行:
接收应用服务器传输的目标数据,目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则确定的,目标管理服务器用于管理目标业务;
存储目标数据,以及按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,计算机程序产品包括第一计算机程序或第二计算机程序,第一计算机程序或第二计算机程序存储在计算机存储介质中;服务器的处理器从计算机存储介质中读取第一计算机程序,处理器执行第一计算机程序,使得服务器执行:
响应于对目标数据的存储事件,获取目标数据的数据标识;目标数据属于目标业务;
根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,目标管理服务器用于管理目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,C为数据传染因子。
或者,服务器的处理器从计算机存储介质中读取第二计算机程序,处理器执行第二计算机程序,使得服务器执行:
接收应用服务器传输的目标数据,目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则确定的,目标管理服务器用于管理目标业务;
存储目标数据,以及按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
本申请实施例中,设置有M个管理服务器用于存储数据,这M个管理服务器按照环状结构均匀分布,且每个管理服务器按照顺时针或者逆时针的顺序依次连接,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。在这种管理服务器的布局下,当需要将目标业务中的目标数据写入到管理服务器时,游戏服务器可以基于目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则,从M个管理服务器中确定出与该存储事件相匹配的第i个管理服务器,第i个管理服务器是用于管理目标业务的;进一步的,将目标数据存储到第i个管理服务器中,并使第i个管理服务器按照M个管理服务器的连接顺序,向第i个管理服务器之后的C个管理服务器备份该目标数据。由此可见,基于上述M个管理服务器的布局,写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种M个管理服务器的架构图;
图1b是本申请实施例提供的另一种M个管理服务器的架构图;
图1c是本申请实施例提供的一种数据处理系统的结构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3a是一种数据表单的示意图;
图3b是一种管理服务器以主备结构部署下数据写入流程示意图;
图4a是本申请实施例提供的一种目标数据读取的示意图;
图4b是本申请实施例提供的一种目标数据的数据传染过程的示意图;
图4c是本申请实施例提供的另一种目标数据的数据传染过程的示意图;
图4d是本申请实施例提供的又一种目标数据的数据传染过程的示意图;
图5是本申请实施例提供的另一种数据处理方法的流程示意图;
图6a是本申请实施例提供的一种目标管理服务器向其之后的C个管理服务器备份目标数据的示意图;
图6b是本发明实施例提供的一种应用场景图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的另一种数据处理装置的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图;
图10是本申请实施例提供的另一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供了一种数据处理方案,当应用服务器需要对目标业务产生的目标数据进行存储时,应用服务器从M个管理服务器中选择一个相匹配的目标管理服务器,其中,M个管理服务器是按照环状结构均匀分布的,且M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器获取到目标数据后,首先将目标数据进行存储,然后向目标管理服务器之后的C个管理服务器中传染该目标数据,以使这些管理服务器备份目标数据。这种数据处理方式中,各个管理服务器之间互为备份,尽管有管理服务器发送故障,但是在该发生故障的管理服务器的传染范围之内,只要有一个管理服务器存活,就可以继续提供数据处理服务,具有高可用性。
基于上述数据处理方案,本申请实施例提供了一种M个管理服务器的部署架构图,参见图1a为本申请实施例提供的一种M个管理服务器的部署架构图。在图1a中假设M的取值为8,也即一共有8个管理服务器,这8个管理服务器可以分别表示为server1,server2,……,server8。由图1a可见,M个管理服务器按照环状结构进行均匀部署,所谓均匀部署可以指任意相邻的两个管理服务器之间的距离是相同的,比如管理服务器server1和server2之间的距离为x,server2和server3之间的距离也为x。
M个管理服务器是按照顺时针顺序或者逆时针顺序依次连接的,比如在图1a中M个管理服务器可以是按照顺时针顺序依次连接的,具体地,server1沿着顺时针方向与server2连接,server2沿着顺时针方向与server3连接,server3沿着准时针方向与server4连接,以此类推直到每个管理服务器均与另外一个管理服务器连接。参见图1b是本申请实施例提供的另一种M个管理服务器的部署架构图,在图1b中,M个管理服务器可以是按照逆时针顺序依次连接的,具体地,server1沿着逆时针方向与server8连接,server8沿着逆时针方向与server7连接,以此类推,直到每个管理服务器均与另外一个管理服务器连接。
可选的,M个管理服务器可以用于管理一个或多个应用客户端的所有业务产生的数据,比如M个管理服务器用于管理同一个游戏客户端的所有业务下产生的游戏数据;或者M个管理服务器按照业务被划分为几组,比如server1-server4为一组,server5-server8为一组,server1-server4用于管理一个或多个应用客户端中的某个业务下产生的数据,比如管理游戏客户端的账号注册,个人属性信息修改等业务下的数据;server5-server8用于管理应用客户端中其他业务产生的数据,比如管理游戏客户端中除账号注册、游戏道具购买业务的其他业务产生的数据。
可选的,M个管理服务器中管理的数据可以存储到区块链中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了上一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。在区块链中存储的数据具有不可篡改性,将M个管理服务器中管理的数据存储在区块链中可以保证数据的安全性。
在图1a或者图1b所示的架构图中,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。
基于上述的管理服务器架构和数据处理方案,本申请实施例提供了一种数据管理系统。参见图1c,为本申请实施例提供的一种数据管理系统的结构示意图。在图1c所示的数据管理系统中可以包括应用客户端(Client)101、应用服务器102以及M个管理服务器103,应用客户端(Client)101是与应用服务器102相对的、为客户提供本地服务的程序,应用客户端101一般安装在用户的终端上,比如智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等。应用客户端101可以是任意一种客户端,比如应用客户端101可以是游戏客户端、社交客户端、网上购物客户端以及外卖配送服务客户端等等。
应用服务器102是用于支持应用客户端101运行的服务器,应用服务器102主要是指为应用客户端101提供数据计算、校验、存储和转发功能的服务软件程序,应用服务器102主要作用是保证应用客户端101稳定运行和正常的服务器功能。
M个管理服务器103的部署可以如上述图1a或者图1b所示,M个管理服务器103可以用于存储应用客户端101中产生的数据。管理服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其他客户机(如个人计算机(PersonalComputer,PC)、智能手机、自动取款机(Automatic Teller Machine,ATM)等终端甚至是火车系统等大型设备)提供计算或者应用服务。管理服务器具有高速的CPU运算能力、长时间的可靠运行,强大的I/0外部数据吞吐能力以及更好的扩展性。根据管理服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。
具体实现中,当应用客户端101想要存储目标数据时,应用客户端101首先通知应用服务器102进行目标数据的存储,进一步的,应用服务器102将目标数据存储在M个管理服务器中。其中,目标数据可以是应用客户端101中目标业务下的任意一种数据,目标业务可以是应用客户端101所提供的业务中任意一种,比如应用客户端101是游戏客户端,目标业务可以是游戏客户端101中的任意一种游戏场景比如对战场景,或者目标业务还可以是游戏客户端中任意一种功能比如个人属性信息的设置功能等等;再如应用客户端101为购物客户端,目标业务可以是购物客户端中的浏览物品业务,直播业务、好友聊天业务等等。
应用服务器101将目标数据存储在M个管理服务器中,可以包括如下步骤:应用服务器101根据目标数据的数据标识和M个管理服务器中各个管理服务器对应的数据存储规则,从M个管理服务器中确定目标管理服务器,目标管理服务器可以用于管理目标业务;进一步的,应用服务器101将目标数据传输给目标管理服务器,目标管理服务器存储目标数据,然后按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器备份该目标数据,其中C表示数据传染因子,可以是应用服务器102或者应用客户端101预先设定的,C为大于1的整数。在上述数据存储过程中,各个管理服务器中备份目标数据是通过一个管理服务器进行目标数据的数据传染过程实现的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
当应用客户端101发起数据查询时,管理服务器103提供应用客户端101所要查询的数据。具体实现中,应用客户端101通知应用服务器102查询目标数据,应用服务器102根据目标数据的数据标识便可以知道有哪些管理服务器中存储了目标数据,然后根据各个管理服务器的负载情况选择任意一个或多个管理服务器提供目标数据。
基于上述的M个存储服务器的架构图和数据管理系统,本申请实施例提供了一种数据处理方法,参见图2,为本申请实施例提供的一种数据处理方法的流程示意图。图2所示的数据处理方法可由应用服务器执行,具体可由应用服务器的处理器执行。图2所示的数据处理方法可包括如下步骤:
步骤S201、响应于对目标数据的存储事件,获取目标数据的数据标识。
其中,目标数据是属于目标业务的,目标业务可以是应用客户端中任意一种业务,比如应用客户端为游戏应用客户端,目标业务可以是游戏对战业务,目标业务还可以是用户购买游戏装备业务或者购买游戏道具业务;再如应用客户端为社交客户端,目标业务可以是好友会话业务,目标业务也可以是在内容分享平台进行内容分享的业务。
目标数据可以是目标业务执行过程中产生的任意数据。比如应用客户端为游戏客户端,目标业务为用户购买游戏装备,目标数据可以是用户购买的游戏装备信息;再如目标业务为游戏对战业务,目标数据可以是游戏对战中玩家的胜负数据,在游戏对战中获得的奖励数据等等。目标数据的数据标识是用于唯一标识该目标数据的,通过该数据标识可以唯一确定目标数据。应当理解的,应用客户端和应用服务器之间预先可定义了一种数据标识的分配规则,当目标业务产生了的目标数据时,可以按照数据标识的分配规则为目标数据分配一个数据标识。
在一个实施例中,数据标识的分配规则可以是按照数据产生的先后顺序为数据分配一个数据标识,通过该数据标识就可以知道对应的数据产生的顺序,比如数据标识是用数字表示的,第一个产生的数据被分配的数据标识可以表示为0,第二个产生的数据被分配的数据标识可以为1,以此类推;再如,数据标识还可以是用8位的二进制数表示的,第一个产生的数据被分配的数据标识可以是00000000,第二个产生的数据被分配的数据标识可以是00000001,以此类推。应当理解的,本申请实施例只是列举两种数据标识的表示形式,在实际应用中可以采用任意一种可行的方式来表示一个数据的数据标识,本申请实施例不做具体限定。
在一个实施例中,当应用客户端中目标业务下产生了目标数据时,应用服务器可以确定检测到了目标数据的存储事件;或者,当应用客户端中目标业务下产生了目标数据,且应用客户端向应用服务器发送数据写入请求时,应用服务器确定检测到了目标数据的存储事件。
步骤S202、根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器。
作为一种可选的实施方式,M个管理服务器中每个管理服务器均可以用于管理各种业务中产生的数据。在一个实施例中,每个管理服务器对应的数据存储规则中规定每个管理服务器管理的数据标识范围;此种情况下,根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,包括:将目标数据的数据标识和每个管理服务器管理的数据标识范围进行匹配,确定包括数据标识的目标数据标识范围;从目标数据标识范围对应的管理服务器中确定与存储事件匹配的目标管理服务器。
在一个实施例中,M个管理服务器中每个管理服务器对应的数据标识范围可以是各不相同的,不同管理服务器对应的数据标识范围是不重合的,那么此时查找到的包括数据标识的目标数据标识范围只有一个,目标数据标识范围对应的管理服务器也只有一个,此时从目标数据标识范围对应的管理服务器中确定与存储事件匹配的目标管理服务器,包括:指将目标数据标识范围对应的管理服务器作为目标管理服务器。简单来说,就是查找目标数据的数据标识落入哪个数据标识范围内,将落入的数据标识范围对应的管理服务器确定为目标管理服务器。例如,假设数据标识用阿拉伯数字表示,M个管理服务器的结构如图1a所示,管理服务器server1管理的数据标识范围为0-50,管理服务器server2管理的数据标识范围为51-100;目标数据的数据标识为52,52落入范围51-100,因此将管理服务器server2作为与存储事件匹配的目标管理服务器。
在其他实施例中,M个管理服务器中各个管理服务器对应的数据标识范围可能存在重合,此时查找到的包括数据标识的目标数据标识范围的数量不止一个,目标数据标识范围对应的管理服务器也不止一个,此时作为一种可选的实施方式,从目标数据标识范围对应的管理服务器中确定与存储事件匹配的目标管理服务器,包括:从多个目标数据标识范围对应的多个管理服务器中,选择负载最小的管理服务器作为目标管理服务器。作为另一种可选的实施方式,从目标数据标识范围对应的管理服务器中确定与存储事件匹配的目标管理服务器,还可以包括:将多个数据标识范围对应的多个管理服务器中,按照M个管理服务器的连接顺序从多个管理服务器中选择排序最后的或者最前的一个管理服务器作为目标管理服务器。例如,多个目标数据标识范围对应的多个管理服务器中包括server2,server5以及server8,可以将server2或者server8作为目标管理服务器。应当理解的,上述只是本申请实施例列举的两种从多个管理服务器中选择目标管理服务器的可行实施方式,在实际应用中,可以根据实际需求从多个目标数据标识范围对应的多个管理服务器中选择目标管理服务器,本申请实施例不做具体限定。
作为另一种可选的实施方式,每个管理服务器对应的数据存储规则中规定了每个管理服务器对应一个参考数据标识,此种情况下,根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,包括:基于目标数据的数据标识和每个管理服务器对应的参考数据标识,从M个管理服务器中选择与目标数据相关的第j个管理服务器和第j+1个管理服务器;其中,目标数据的数据标识大于第j个管理服务器对应的参考数据标识,且数据的数据标识小于第j+1个管理服务器对应的参考数据标识;将第j个管理服务器或者第j+1个管理服务器确定为与所述存储事件匹配的第i个管理服务器。假设数据标识用阿拉伯数字表示,M个管理服务器的布局可如图1a所示,管理服务器server1对应的参考数据标识可以为0,管理服务器server2对应的参考数据标识为50,管理服务器server3对应的参考数据标识为100,以此类推,相邻管理服务器之间的参考数据标识可以相差50,越排在后面的管理服务器对应的参考数据标识越大。如果目标数据的数据标识为25,25落在管理服务器server1对应的参考数据标识和管理服务器server2对应的参考数据标识之间,因此,管理服务器server1和管理服务器server2是与目标数据相关的两个管理服务器,进一步的,可以将这两个管理服务器中任意一个作为与存储事件匹配的目标管理服务器。
作为又一种可行的实施方式,可以按照不同业务类型将M个管理服务器划分到不同业务组,每个业务组中的管理服务器用于管理同一个业务,此时根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从M个管理服务器中确定与存储事件匹配的目标管理服务器,可以包括:从M个管理服务器中选择用于管理目标业务的N个管理服务器;然后根据目标数据的数据标识和N个管理服务器中每个管理服务器对应的数据存储规则从N个管理服务器中选择目标管理服务器。
在一个实施例中,上述根据目标数据的数据标识和N个管理服务器中每个管理服务器对应的数据存储规则从N个管理服务器中选择目标管理服务器的实施例方式,与上述根据目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则从M个管理服务器中选择目标管理服务器的方式可以是相同的,此处不再赘述。先选择用于管理目标业务的N个管理服务器,在一定程度上减少了查找范围,这样可以节省从N个管理服务器中选择与存储事件匹配的目标服务器的时间和资源消耗。
在实践中发现,在现有的管理服务器的主备架构中,预先设置每个主管理服务器对应的一个哈希值,对待存储数据的数据标识基于哈希算法进行哈希运算得到一个哈希值,该哈希值与哪个管理服务器对应,就由哪个管理服务器执行该待存储数据的写入。具体实现中,预先设置每个主管理服务器对应一个哈希值,将数据Data1、Data2以及Data3的数据标识分别经过哈希运算,假设确定Data2以及Data3的数据标识对应的哈希值是与主管理服务器Master2对应的,也即Data2和Data3是由主管理服务器进行管理的,那么在数据表单(Data Sheet)中存储Data2和Data3与Master2对应,如图3a所示;Data1的数据标识对应的哈希值是与主管理服务器Master1对应的,所以在数据表单中存储Data1与Master1对应,如图3a所示。
进一步的,当不同的应用客户端发送了针对Data1、Data2以及Data3的存储请求至应用服务器时,应用服务器首先通过图3a所示的数据表单中查找每个数据对应的主管理服务器,然后将各个数据转发给相应的主管理服务器,参见图3b所示,假设Data1对应的主管理服务器是Master1,Data2以及Data3对应的主管理服务器是Master2,因此将Data1转发给Master1,将Data2以及Data3均转发给Master2。从图3b可见看到,每个主管理服务器与几个备管理服务器Slave连接,备管理服务器中的数据均是由主管理服务器传输过去的,换句话说,备管理服务器用于对主管理服务器中的数据进行备份,当主管理服务器发生故障时,备管理服务器才启用。
上述过程中,哈希算法可以称为Hash,是把任意长度的输入通过哈希算法变成固定长度的输出,该输出就是哈希值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。基于哈希算法的上述特性,可以想到的,不同的数据标识通过哈希运算后可能得到相同的哈希值,这种现象称为哈希碰撞,由于哈希碰撞现象的存在,当待存储数据的数据量足够大时,哈希碰撞严重,大量数据可能会集中到某几个管理服务器中,严重影响了数据的分配,导致部分管理服务器可能过载。
然而,本申请实施例中每个管理服务器的数据存储规则中直接指示了相应管理服务器负责处理具有什么数据标识的数据,从统计学上讲,M个管理服务器是均分分布的环状结构,数据写入的操作会均匀地落入到每个管理服务器上。也就是说不会出现某个管理服务器过载,而其他管理服务器处于空闲这样的情况,可以实现资源的均衡分配。并且,现有技术中数据表单通常是单点部署的,该单点承受的应用客户端的压力较高,需要保证其可用性,一旦出现故障并会影响后续整个服务,但是本申请实施例中没有一个设备单独管理每个管理服务器对应的数据存储规则,而是每个管理服务器均保存着自己的数据存储规则,不会因为一个设备出现故障而影响整个数据写入流程。
步骤S203、将目标数据存储至目标管理服务器,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
其中,C表示数据传染因子,数据传染因子可以指在一次数据传染过程中传染源可以将待备份的数据传染给多少个管理服务器。由前述可知,传染源是指目标管理服务器,待备份的数据是指目标业务产生的目标数据,那么本发明实施例中数据传染因子可以是在目标管理服务器传染目标数据的过程中,可以将目标数据传染给目标管理服务器之后的多少个管理服务器。应当理解的,在目标管理服务器向其后的C个管理服务器中备份目标数据过程中,理想情况下,目标管理服务器之后的C个管理服务器中均能成功备份目标数据,此时就有C+1个管理服务器中存在目标数据。但是实际情况下,可能有个别的管理服务器由于网络原因、内存原因或者其他各种原因,导致目标数据备份失败,此时就没有C+1个管理服务器存储目标数据。也就是说理想情况下和实际情况下,成功备份了目标数据的管理服务器的数量可能不同。那么这样一来,如果用户请求读取目标数据时,如果只读取一个管理服务器上的数据,又恰巧这个管理服务器中存储的是旧数据,也就是没有存储目标数据,则用户此时就不能读取到最新的目标数据。为了解决这种情况,本申请实施例在目标数据写入和目标数据的读取均做了一些规定,下面一一介绍。
本申请实施例可以基于传输容错参数和数据传染因子确定一个需要成功备份目标数据的管理服务器的最小数量W,一旦检测到M个管理服务器中有W个管理服务器已成功备份了目标数据,则确定目标数据成功写入。在本发明实施例中,传输容错参数可以指在目标管理服务器向其后的C个管理服务器备份目标数据的过程中,可允许备份目标数据失败的管理服务器的数量。例如,传输容错参数为1,表明在目标管理服务器向其后C个管理服务器备份目标数据时,只允许有一个管理服务器备份目标数据失败,也就是说除了目标管理服务器之外,必须有C-1个管理服务器成功备份了目标数据。
通过此种方式保证M个管理服务器中不止有一个管理服务器中存在目标数据,进而可以提高后续读取目标数据的成功率。
具体实现中,应用服务器获取目标业务对应的传输容错参数;基于传输容错参数和数据传染因子确定M个管理服务器中需成功备份目标数据的管理服务器的最小数量W,W小于或等于C+1;若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则输出写入成功的提示信息。应用服务器输出的写入成功的提示信息可以是以任意形式输出给应用客户端的,比如通过文字形式输出,通过语音形式输出等等。反之,如果M个管理服务器中成功备份目标数据的管理服务器的数量小于W,则可以输出写入失败的提示信息。
其中,不同业务对于备份的要求不一样,有些业务中产生的数据可能相对来说不是很重要,这种业务的传输容错参数相对较大一点,因为对于不重要的数据可以不必要有更多的管理服务器中存储;相反的,有些业务中产生的数据相对来说是比较重要的,比如用户花钱购买的游戏角色、装备等数据,这些数据就需要更多的管理服务器来存储,以保证这些数据的安全性和可用性。基于此,一个业务对应一个传输容错参数,传输容错参数越小,说明需要更多的管理服务器来备份数据,传输容错参数越大,说明允许少一点的管理服务器来备份数据。在一个实施例中,基于传输容错参数和数据传染因子确定W,可以包括:对C+1与传输容错参数进行相减运算,得到的结果为W。
在目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器备份目标数据时,目标管理服务器可以称为传染源,向目标管理服务器之后的C个管理服务器备份目标数据的过程可以称为目标数据的数据传染过程。可选的,在M个管理服务器中已经有W个管理服务器成功备份了目标数据后,应用服务器响应于目标数据的读取事件,可以根据W个管理服务器中各个管理服务器负载状态从W个管理服务器中确定R个管理服务器,由R个管理服务器向应用服务器提供目标数据,并且输出R个管理服务器返回的目标数据。其中,R可以是基于W和数据传输因子C确定的,并且满足R与W之和大于C+1,这样才可以保证应用客户端能够读取到目标数据,保证了数据的最新特性。
参见图4a,为本申请实施例提供的一种目标数据读取的示意图,假设M个取值为8,M个管理服务器的架构如图1a所示,假设C为4,W为3,R为2,管理服务器serer2是传染目标数据时被选中的与存储事件匹配的目标管理服务器,也即传染源,server2将目标数据传染给server3,server4,server5以及server6,但是在传染过程中发现,向server4传染目标数据失败,也就是此时M个管理服务器中server3,server5以及server6中存储了目标数据,正好存储了目标数据的管理服务器的数量等于W;进一步的,如果应用客户端发起了目标数据的读取事件,则应用服务器可以选择至少两个管理服务器返回目标数据,例如在图4a中假设选择了管理服务器server3和管理服务器server4返回了目标数据,即使server4在目标数据传染过程中备份失败,server3中是成功备份了目标数据的,这样还是能够保证应用客户端获取到最新的目标数据。
在一个实施例中,M个管理服务器中每个管理服务器每隔一段固定时间会和应用服务器之间传输一个用于证明管理服务器无故障的证明数据,如果在固定时间应用服务器没有接收到某个管理服务器发送的证明数据,则可以确定该管理服务器发生了故障。假设目标管理服务器是M个管理服务器中的第i个管理服务器,在目标管理服务器向目标管理服务器之后的C个管理服务器中备份目标数据过程中,若第i个管理服务器发送故障,此时第i+1个管理服务器已成功备份了目标数据,那么接下来就有第i+1个管理服务器按照M个管理服务器的连接顺序向第i+1之后的C-1个管理服务器中备份目标数据。也就是说,一旦负责目标数据备份的目标管理服务器发生故障,那么可以依次选择已被目标管理服务器传染了目标数据的其他管理服务器继续执行目标数据的传染,这样用户的目标数据可以正常在M个管理服务器中进行备份,不影响用户体验。
举例来说,参见图4b,为本申请实施例提供的一种目标数据的数据传染过程的示意图,假设M个管理服务器的架构图可如图1a所示,M的取值为8,根据目标数据的标识和每个管理服务器的数据存储规则从M个管理服务器中确定了管理服务器server2作为目标管理服务器,数据传染因子为4,将目标数据存储至目标管理服务器后,由目标管理服务器server2开始向其后的4个管理服务器传染目标数据,如图4b中所示。如果在传染目标数据的过程中,server2出现故障此时不能继续通过server2进行传染,则可以切换为由server3继续进行目标数据的传染,如图4c所示。
在一个实施例中,上述步骤S203介绍了一个轮次的数据传染,如果目标业务对应的数据传染轮次大于1的情况下,则在目标管理服务器之后的第C个管理服务器备份了目标数据之后,由目标管理服务器之后的第C个管理服务器继续执行如步骤S203相似的数据传染流程,以此类推,直到上述数据传染流程执行次数等于目标业务对应的数据传染轮次。具体实现中,假设目标管理服务器是M个管理服务器中的第i个管理服务器,i为大于等于1且小于等于M的整数;在向目标管理服务器之后的C个管理服务器中备份目标数据后,且第i+C个管理服务器已成功备份目标数据,方法还包括:获取目标业务对应的数据传染轮次;若数据传染轮次大于1,则在第i+C个管理服务器成功备份目标数据后,指示第i+C个管理服务器按照M个管理服务器的连接顺序向第i+C个管理服务器之后的C个管理服务器中备份目标数据。
例如,参见图4d,为本申请实施例提供的又一种目标数据的数据传染过程的示意图,当目标管理服务器server2向管理服务器server3,server4,server5以及server6中传染了目标数据之后如图4d中实线所示,如果还需要继续传染,那么此时将server6作为一个新的传染源,按照M个管理服务器的连接顺序,向server之后的C个管理服务器传染目标数据,如图4d中虚线所示。
本申请实施例中,设置有M个管理服务器用于存储数据,这M个管理服务器按照环状结构均匀分布,且每个管理服务器按照顺时针或者逆时针的顺序依次连接,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。在这种管理服务器的布局下,当需要将目标业务中的目标数据写入到管理服务器时,游戏服务器可以基于目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则,从M个管理服务器中确定出与该存储事件相匹配的目标管理服务器,目标管理服务器是用于管理目标业务的;进一步的,将目标数据存储到目标管理服务器中,并使目标管理服务器按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器备份该目标数据。由此可见,基于上述M个管理服务器的布局,写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
基于上述的数据处理方法,本申请实施例提供了另一种数据处理方法,参见图5,为本申请实施例提供的另一种数据处理方法的流程示意图。图5所示的数据处理方法可由目标管理服务器执行,具体可由目标管理服务器中的处理器执行。目标管理服务器是M个管理服务器中与存储事件相匹配的管理服务器,图5所示的数据处理方法可包括如下步骤:
步骤S501、接收应用服务器传输的目标数据,并存储目标数据。
由前述可知,应用服务器传输的目标数据是应用客户端在目标业务下产生的,图5实施例中执行主体是目标管理服务器,目标管理服务器是应用服务器根据目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则确定的,具体实施方式可参见图2实施例中步骤S202的描述,此处不再赘述。
目标管理服务器接收到应用服务器传输的目标数据后,存储目标数据。可选的,存储目标数据可以包括:比较目标数据与目标管理服务器中历史数据之间的相似度,如果存在与目标数据相似的历史数据,则采用目标数据更新相似的历史数据,或者,存储历史数据和历史数据与目标数据之间的增量数据;如果不存在与目标数据相似的历史数据,则将目标数据存储在目标管理服务器中。
步骤S502、按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据。
进一步的,目标管理服务器作为传染源,按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份该目标数据,该过程也可以称为目标数据的数据传染过程。由于不同的管理服务器的性能不同,在数据传染过程中,本申请实施例目标管理服务器在接收到目标数据后,不是直接传染给目标管理服务器之后的C个管理服务器,而是采用推拉结合的机制将目标数据传染给目标管理服务器之后的C个管理服务器。具体实现中,按照M个管理服务器的连接顺序,向目标管理服务器之后的C个管理服务器中备份目标数据,包括:向目标管理服务器之后的C个管理服务器中每个管理服务器发送数据更新的提示信息,该数据更新的提示信息用于指示所述每个管理服务器在负载状态满足数据拉取条件时从所述目标管理服务器拉取所述目标数据;响应于任意一个管理服务器拉取所述目标数据的拉取请求时,将所述目标数据传输给所述任意一个管理服务器。
简单来说,所谓推拉机制中的“推”是指目标管理服务器接收到目标数据后,向目标管理服务器之后的C个管理服务器发送推送消息,以将目标管理服务器中接收到的更新的目标数据的消息通知给目标管理服务器之后的C个管理服务器;所谓推拉机制中的“拉”是指目标管理服务器之后的C个管理服务器中任意一个管理服务器在得知目标管理服务器中已存在个更新的目标数据时,确定自身的负载状态满足拉取条件时从目标管理服务器中拉取目标数据。该负载状态满足拉取条件可以指中央处理器CPU占用率不高的情况下。其实,在实际应用中,大多数情况下,各个管理服务器的CPU占用率都比较低,只有运行热门业务时,管理服务器的CPU占用率才会处于较高状态。因此,在大部分情况下,目标管理服务器之后的C个管理服务器在接收到目标管理服务器发送的数据更新的提示信息后,都可以直接向目标管理服务器拉取目标。
举例来说,参见图6a,为本申请实施例提供的一种目标管理服务器向目标管理服务器之后的C个管理服务器备份目标数据的示意图,假设图6a中M个管理服务器的架构如图1a所示,M的取值为8,8个管理服务器是按照顺时针的顺序依次连接的,假设根据目标数据的数据标识和每个管理服务器对应的数据存储规则确定出M个管理服务器中server2为目标管理服务器,数据传染因子C取值为4,那么server3,server4,server5以及server6是将要备份目标数据的管理服务器,因此server2接收到应用客户端产生的目标数据后,分别向server3,server4,server5以及server6推送一条数据更新的提示信息,然后server3,server4,server5以及server6接收到数据更新的提示信息后,选择合适的时间去server2中拉取目标数据。
本申请实施例中,将M个管理服务器设计为均匀分布的环状结构,数据副本分散在各个管理服务器中,不同管理服务器上的数据互为备份,管理服务器之间没有主机和备机的区别,保持了容灾性。另外,通过数据传染的方式,存在目标数据时,目标数据会被一个管理服务器传染至多个管理服务器中备份,以提高目标数据存储的准确性,并且为后续目标数据的读取提供高成功率保证。
基于图2和图5所述的数据处理方法的实施例,本发明实施例提供了一种数据处理方法的应用场景实施例,参见图6b所示,为本发明实施例提供的一种应用场景的示意图。在图6b所示的应用场景中,应用客户端是指游戏客户端,目标业务可以指游戏客户端中的游戏道具购买业务,游戏道具可以包括游戏角色、游戏角色的服装、游戏角色的技能等等,目标数据是指用户在游戏客户端中购买的游戏道具。在图6b中,假设目标业务为购买游戏角色业务,目标数据为用户购买的游戏角色。应用服务器是指游戏服务器,M个管理服务器的部署架构如图1a所示。
在图6b中,用户通过用户终端运行游戏客户端如图6b中601所示,如果用户在游戏客户端601中触发了购买游戏角色的操作,则可以显示游戏角色的购买窗口602,购买窗口602中可以显示多个可免费或者付费提供给用户的游戏角色,比如在购买窗口602中显示有标号为1的游戏角色和标号为2的游戏角色,每个游戏角色会对应显示有该游戏角色的售价,比如标号为1和标号为2的游戏角色售价均为xx游戏币;假设用户在购买窗口602中确定购买标号为1的游戏角色,则用户支付相应费用后,在游戏客户端601中会显示用户已购买的游戏角色如图6b中603所示。
同时,游戏客户端601确定了用户购买了游戏角色后,游戏客户端601通知游戏服务器604用户购买了新的游戏角色,游戏客户端604根据游戏角色这一目标数据对应的数据标识和M个管理服务器中各个管理服务器对应的数据存储规则,从M个管理服务器中选择一个目标管理服务器,假设606为被选择的目标管理服务器;进一步的,游戏服务器604将用户购买的游戏角色发送给目标管理服务器605,目标管理服务器605存储该游戏角色,并向目标管理服务器605之后的4个管理服务器中备份该游戏角色。
在上述游戏角色的存储过程中,M个管理服务器无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。并且写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
如果由于用户退出当前游戏客户端601的登录或者更换了用户终端等原因,导致用户终端需要重新获取用户在游戏客户端601中购买的游戏角色,用户终端向游戏服务器604发送已购买的游戏角色的查询请求,游戏客户端604根据所要查询的游戏角色对应的数据标识确定该游戏角色被备份在哪些管理服务器中,然后通知这些管理服务器返回游戏角色。应当理解的,返回游戏角色的管理服务器的数量为一个或多个,如此一来,即使某个管理服务器备份最新的游戏角色失败的情况下,以能保证用户终端还能从其他管理服务器获取到最新的游戏角色,提高了数据查询的准确性。
基于上述的数据处理方法实施例,本申请实施例提供了一种数据处理装置。参见图7,为本申请实施例提供的一种数据处理装置的结构示意图。图7所示的数据处理装置可运行如下单元:
获取单元701,用于响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;
确定单元702,用于根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
存储单元703,用于将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
在一个实施例中,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应的数据标识范围;所述确定单元702在根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器时,执行如下步骤:
将所述目标数据的数据标识和所述每个管理服务器对应的数据标识范围进行匹配,确定包括所述数据标识的目标数据标识范围;从所述目标数据标识范围对应的管理服务器中确定与所述存储事件匹配的目标管理服务器。
在一个实施例中,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应一个参考数据标识;所述确定单元702在根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器时,执行如下步骤:
基于所述目标数据的数据标识和所述每个管理服务器对应的参考数据标识,从所述M个管理服务器中选择与所述目标数据相关的第j个管理服务器和第j+1个管理服务器;其中,所述目标数据的数据标识大于所述第j个管理服务器对应的参考数据标识,且所述数据的数据标识小于所述第j+1个管理服务器对应的参考数据标识,j为大于等于1且小于等于M-1的整数;
将所述第j个管理服务器或者所述第j+1个管理服务器确定为与所述存储事件匹配的目标管理服务器。
在一个实施例中,图7所示的数据处理装置还包括输出单元704;
所述获取单元701还用于获取所述目标业务对应的传输容错参数;所述确定单元702还用于基于所述传输容错参数和所述数据传染因子确定所述M个管理服务器中需备份所述目标数据的管理服务器的最小数量W,W小于或等于C+1;所述输出单元704,用于若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则输出写入成功的提示信息。
在一个实施例中,所述确定单元702,还用于响应于对所述目标数据的读取事件,根据所述W个管理服务器中各个管理服务器的负载状态从所述W个管理服务器中确定R个管理服务器,将所述读取事件发送给所述R个管理服务器,以指示所述R个管理服务器中每个管理服务器返回所述目标数据,R是基于所述W和所述数据传染因子C确定的,且满足R与W之和大于C+1;所述输出单元704,还用于输出所述R个管理服务器返回的所述目标数据。
在一个实施例中,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;在向所述目标管理服务器之后的C个管理服务器中备份所述目标数据后,且所述第i+C个管理服务器已成功备份所述目标数据;
所述获取单元701,还用于获取所述目标业务对应的数据传染轮次;
所述存储单元703,还用于若所述数据传染轮次大于1,则指示所述第i+C个管理服务器按照所述M个管理服务器的连接顺序向所述第i+C个管理服务器之后的C个管理服务器中备份所述目标数据。
在一个实施例中,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;存储单元703,还用于在所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据的过程中,若所述第i个管理服务器发生故障,且第i+1个管理服务器已接收到所述第i个管理服务器已成功备份所述目标数据,则指示由所述第i+1个管理服务器按照所述M个管理服务器的连接顺序向所述第i+1个管理服务器之后的C-1个管理服务器中备份所述目标数据。
根据本申请的一个实施例,图2所示的数据处理方法所涉及各个步骤可以是由图7所示的数据处理装置中的各个单元来执行的。例如,图2所述的步骤S201可由图7所示的数据处理装置中的获取单元701来执行,步骤S202可由图7所示的数据处理装置中的确定单元702来执行,步骤S203可由图7所示的数据处理装置中存储单元703来执行。
根据本申请的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述数据处理设备中,并在其中运行。
本申请实施例中,设置有M个管理服务器用于存储数据,这M个管理服务器按照环状结构均匀分布,且每个管理服务器按照顺时针或者逆时针的顺序依次连接,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。在这种管理服务器的布局下,当需要将目标业务中的目标数据写入到管理服务器时,游戏服务器可以基于目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则,从M个管理服务器中确定出与该存储事件相匹配的第i个管理服务器,第i个管理服务器是用于管理目标业务的;进一步的,将目标数据存储到第i个管理服务器中,并使第i个管理服务器按照M个管理服务器的连接顺序,向第i个管理服务器之后的C个管理服务器备份该目标数据。由此可见,基于上述M个管理服务器的布局,写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
基于上述的数据处理方法实施例以及数据处理装置实施例,本申请实施例还提供了另一种数据处理装置,参见图8,为本申请实施例提供的另一种数据处理装置的结构示意图、图8所示的数据处理装置可运行如下单元:
接收单元801,用于接收应用服务器传输的目标数据,所述目标数据属于目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;所述目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;
存储单元802,用于存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
在一个实施例中,所述存储单元802在向所述目标管理服务器之后的C个管理服务器中备份所述目标数据时,执行如下步骤:
向所述目标管理服务器之后的C个管理服务器中每个管理服务器发送数据更新的提示信息,所述数据更新的提示信息用于指示所述每个管理服务器在负载状态满足数据拉取条件时从所述目标管理服务器拉取所述目标数据;
响应于任意一个管理服务器拉取所述目标数据的拉取请求时,将所述目标数据传输给所述任意一个管理服务器。
根据本申请的一个实施例,图5所示的数据处理方法所涉及各个步骤可以是由图8所示的数据处理装置中的各个单元来执行的。例如,图5所述的步骤S501可由图8所示的数据处理装置中的接收单元801来执行,步骤S502可由图8所示的数据处理装置中的存储单元802来执行。
根据本申请的另一个实施例,图8所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述数据处理设备中,并在其中运行。
本申请实施例中,将M个管理服务器设计为均匀分布的环状结构,数据副本分散在各个管理服务器中,不同管理服务器上的数据互为备份,管理服务器之间没有主机和备机的区别,保持了容灾性。另外,通过数据传染的方式,存在目标数据时,目标数据会被一个管理服务器传染至多个管理服务器中备份,以提高目标数据存储的准确性,并且为后续目标数据的读取提供高成功率保证。
基于上述的方法实施例以及装置实施例,本申请实施例提供了一种服务器,参见图9,为本发明实施例提供的一种服务器的结构示意图,图9所述的服务器对应于前述的应用服务器,图9所述的服务器可以包括处理器901、输入接口902、输出接口903以及计算机存储介质904。其中,处理器901、输入接口902、输出接口903以及计算机存储介质904可通过总线或其他方式连接。
计算机存储介质904可以存储在服务器的存储器中,所述计算机存储介质904用于存储计算机程序,所述处理器901用于执行所述计算机存储介质904存储的计算机程序。处理器901(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;
根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
本申请实施例中,设置有M个管理服务器用于存储数据,这M个管理服务器按照环状结构均匀分布,且每个管理服务器按照顺时针或者逆时针的顺序依次连接,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。在这种管理服务器的布局下,当需要将目标业务中的目标数据写入到管理服务器时,游戏服务器可以基于目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则,从M个管理服务器中确定出与该存储事件相匹配的第i个管理服务器,第i个管理服务器是用于管理目标业务的;进一步的,将目标数据存储到第i个管理服务器中,并使第i个管理服务器按照M个管理服务器的连接顺序,向第i个管理服务器之后的C个管理服务器备份该目标数据。由此可见,基于上述M个管理服务器的布局,写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
基于上述的方法实施例以及装置实施例,本申请实施例提供了另一种服务器,参见图10,为本发明实施例提供的另一种服务器的结构示意图,图10所述的服务器对应于前述的目标存储服务器。图10所述的服务器可以包括处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004。其中,处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004可通过总线或其他方式连接。
计算机存储介质1004可以存储在服务器的存储器中,所述计算机存储介质1004用于存储计算机程序,所述处理器1001用于执行所述计算机存储介质904存储的计算机程序。处理器1001(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
接收应用服务器传输的目标数据,所述目标数据属于目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;所述目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;
存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
本申请实施例中,将M个管理服务器设计为均匀分布的环状结构,数据副本分散在各个管理服务器中,不同管理服务器上的数据互为备份,管理服务器之间没有主机和备机的区别,保持了容灾性。另外,通过数据传染的方式,存在目标数据时,目标数据会被一个管理服务器传染至多个管理服务器中备份,以提高目标数据存储的准确性,并且为后续目标数据的读取提供高成功率保证。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是服务器的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括者服务器的内置存储介质,当然也可以包括服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了服务器的操作系统。并且,在该存储空间中还存放了适于被处理器901加载并执行的一条或多条的第一计算机程序,或者该存储空间还存放了适于被处理,1001加载并执行的一条或多条第二计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,所述计算机存储介质中存储的一条或多条第一计算机程序可由处理器901加载并执行:
响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;
根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
在一个实施例中,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应的数据标识范围;所述处理器901在根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器时,执行如下步骤:
将所述目标数据的数据标识和所述每个管理服务器对应的数据标识范围进行匹配,确定包括所述数据标识的目标数据标识范围;从所述目标数据标识范围对应的管理服务器中确定与所述存储事件匹配的目标管理服务器。
在一个实施例中,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应一个参考数据标识;所述处理器901在根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器时,执行如下步骤:
基于所述目标数据的数据标识和所述每个管理服务器对应的参考数据标识,从所述M个管理服务器中选择与所述目标数据相关的第j个管理服务器和第j+1个管理服务器;其中,所述目标数据的数据标识大于所述第j个管理服务器对应的参考数据标识,且所述数据的数据标识小于所述第j+1个管理服务器对应的参考数据标识,j为大于等于1且小于等于M-1的整数;将所述第j个管理服务器或者所述第j+1个管理服务器确定为与所述存储事件匹配的目标管理服务器。
在一个实施例中,所述处理器901还用于执行:
获取所述目标业务对应的传输容错参数;基于所述传输容错参数和所述数据传染因子确定所述M个管理服务器中需备份所述目标数据的管理服务器的最小数量W,W小于或等于C+1;若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则输出写入成功的提示信息。
在一个实施例中,若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则所述处理器901还用于执行:
响应于对所述目标数据的读取事件,根据所述W个管理服务器中各个管理服务器的负载状态从所述W个管理服务器中确定R个管理服务器,将所述读取事件发送给所述R个管理服务器,以指示所述R个管理服务器中每个管理服务器返回所述目标数据,R是基于所述W和所述数据传染因子C确定的,且满足R与W之和大于C+1;输出所述R个管理服务器返回的所述目标数据。
在一个实施例中,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;在向所述目标管理服务器之后的C个管理服务器中备份所述目标数据后,且所述第i+C个管理服务器已成功备份所述目标数据;所述处理器901还用于执行:
获取所述目标业务对应的数据传染轮次;若所述数据传染轮次大于1,则指示所述第i+C个管理服务器按照所述M个管理服务器的连接顺序向所述第i+C个管理服务器之后的C个管理服务器中备份所述目标数据。
在一个实施例中,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;所述处理器901还用于执行:
在所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据的过程中,若所述第i个管理服务器发生故障,且第i+1个管理服务器已接收到所述第i个管理服务器已成功备份所述目标数据,则指示由所述第i+1个管理服务器按照所述M个管理服务器的连接顺序向所述第i+1个管理服务器之后的C-1个管理服务器中备份所述目标数据。
本申请实施例中,设置有M个管理服务器用于存储数据,这M个管理服务器按照环状结构均匀分布,且每个管理服务器按照顺时针或者逆时针的顺序依次连接,这M个管理服务器中无主备之分,各个管理服务器均是等价的,无需在管理服务器部署成本和容灾性之间做衡量,可以保持较高的容灾性。在这种管理服务器的布局下,当需要将目标业务中的目标数据写入到管理服务器时,游戏服务器可以基于目标数据的数据标识和M个管理服务器中每个管理服务器的数据存储规则,从M个管理服务器中确定出与该存储事件相匹配的第i个管理服务器,第i个管理服务器是用于管理目标业务的;进一步的,将目标数据存储到第i个管理服务器中,并使第i个管理服务器按照M个管理服务器的连接顺序,向第i个管理服务器之后的C个管理服务器备份该目标数据。由此可见,基于上述M个管理服务器的布局,写入到各个管理服务器的数据是通过一个管理服务器传染给其他管理服务器的,各个管理服务器之间互为备份,当一个管理服务器发生故障时,只要有受到传染的管理服务器存活就可以继续提供服务,具有高可用性。
在一个实施例中,所述计算机存储介质中存储一条或多条第二计算机程序可由处理器1001加载并执行:
接收应用服务器传输的目标数据,所述目标数据属于目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;所述目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;
存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
在一个实施例中,所述处理器1001在向所述目标管理服务器之后的C个管理服务器中备份所述目标数据时,执行如下步骤:
向所述目标管理服务器之后的C个管理服务器中每个管理服务器发送数据更新的提示信息,所述数据更新的提示信息用于指示所述每个管理服务器在负载状态满足数据拉取条件时从所述目标管理服务器拉取所述目标数据;
响应于任意一个管理服务器拉取所述目标数据的拉取请求时,将所述目标数据传输给所述任意一个管理服务器。
本申请实施例中,将M个管理服务器设计为均匀分布的环状结构,数据副本分散在各个管理服务器中,不同管理服务器上的数据互为备份,管理服务器之间没有主机和备机的区别,保持了容灾性。另外,通过数据传染的方式,存在目标数据时,目标数据会被一个管理服务器传染至多个管理服务器中备份,以提高目标数据存储的准确性,并且为后续目标数据的读取提供高成功率保证。
本申请实施例提供了一种计算机程序或计算机产品,所述计算机产品包括第一计算机程序或第二计算机程序,所述第一计算机程序或所述第二计算机程序存储在计算机存储介质中;服务器的处理器901从所述计算机存储介质中读取所述第一计算机程序,执行如下步骤:
响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
服务器的处理器1001从所述计算机存储介质中读取所述第二计算机程序,用于加载并执行如下步骤:
接收应用服务器传输的目标数据,所述目标数据属于目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;所述目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;
根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
2.如权利要求1所述的方法,其特征在于,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应的数据标识范围;所述根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,包括:
将所述目标数据的数据标识和所述每个管理服务器对应的数据标识范围进行匹配,确定包括所述数据标识的目标数据标识范围;
从所述目标数据标识范围对应的管理服务器中确定与所述存储事件匹配的目标管理服务器。
3.如权利要求1所述的方法,其特征在于,所述每个管理服务器对应的数据存储规则中规定所述每个管理服务器对应一个参考数据标识;所述根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,包括:
基于所述目标数据的数据标识和所述每个管理服务器对应的参考数据标识,从所述M个管理服务器中选择与所述目标数据相关的第j个管理服务器和第j+1个管理服务器;其中,所述目标数据的数据标识大于所述第j个管理服务器对应的参考数据标识,且所述数据的数据标识小于所述第j+1个管理服务器对应的参考数据标识,j为大于等于1且小于等于M-1的整数;
将所述第j个管理服务器或者所述第j+1个管理服务器确定为与所述存储事件匹配的目标管理服务器。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标业务对应的传输容错参数;
基于所述传输容错参数和所述数据传染因子确定所述M个管理服务器中需备份所述目标数据的管理服务器的最小数量W,W小于或等于C+1;
若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则输出写入成功的提示信息。
5.如权利要求4所述的方法,其特征在于,若所述M个管理服务器中存在W个管理服务器中已备份所述目标数据,则所述方法还包括:
响应于对所述目标数据的读取事件,根据所述W个管理服务器中各个管理服务器的负载状态从所述W个管理服务器中确定R个管理服务器,将所述读取事件发送给所述R个管理服务器,以指示所述R个管理服务器中每个管理服务器返回所述目标数据,R是基于所述W和所述数据传染因子C确定的,且满足R与W之和大于C+1;
输出所述R个管理服务器返回的所述目标数据。
6.如权利要求1所述的方法,其特征在于,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;在向所述目标管理服务器之后的C个管理服务器中备份所述目标数据后,且所述第i+C个管理服务器已成功备份所述目标数据,所述方法还包括:
获取所述目标业务对应的数据传染轮次;
若所述数据传染轮次大于1,则指示所述第i+C个管理服务器按照所述M个管理服务器的连接顺序向所述第i+C个管理服务器之后的C个管理服务器中备份所述目标数据。
7.如权利要求1所述的方法,其特征在于,所述目标管理服务器为所述M个管理服务器中第i个管理服务器,i为大于等于1且小于等于M的整数;所述方法还包括:
在所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据的过程中,若所述第i个管理服务器发生故障,且第i+1个管理服务器已接收到所述第i个管理服务器已成功备份所述目标数据,则指示由所述第i+1个管理服务器按照所述M个管理服务器的连接顺序向所述第i+1个管理服务器之后的C-1个管理服务器中备份所述目标数据。
8.一种数据处理方法,其特征在于,所述数据处理方法由M个管理服务器中的目标管理服务器执行,所述方法包括:
接收应用服务器传输的目标数据,所述目标数据属于目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;所述目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;
存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
9.如权利要求8所述的方法,其特征在于,所述向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,包括:
向所述目标管理服务器之后的C个管理服务器中每个管理服务器发送数据更新的提示信息,所述数据更新的提示信息用于指示所述每个管理服务器在负载状态满足数据拉取条件时从所述目标管理服务器拉取所述目标数据;
响应于任意一个管理服务器拉取所述目标数据的拉取请求时,将所述目标数据传输给所述任意一个管理服务器。
10.一种数据处理装置,其特征在于,包括:
获取单元,用于响应于对目标数据的存储事件,获取所述目标数据的数据标识;所述目标数据属于目标业务;
确定单元,用于根据所述目标数据的数据标识和M个管理服务器中每个管理服务器对应的数据存储规则,从所述M个管理服务器中确定与所述存储事件匹配的目标管理服务器,所述目标管理服务器用于管理所述目标业务;所述M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接,M均为大于1的整数;
存储单元,用于将所述目标数据存储至所述目标管理服务器,并使所述目标管理服务器按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据,C为数据传染因子。
11.一种数据处理装置,其特征在于,包括:
接收单元,用于接收应用服务器传输的目标数据,所述目标数据属于目标业务;M个管理服务器按照环状结构均匀分布,且所述M个管理服务器按照顺时针或者逆时针顺序依次连接;目标管理服务器是根据所述目标数据的数据标识和所述M个管理服务器中每个管理服务器对应的数据存储规则确定的,所述目标管理服务器用于管理所述目标业务;
存储单元,用于存储所述目标数据,以及按照所述M个管理服务器的连接顺序,向所述目标管理服务器之后的C个管理服务器中备份所述目标数据。
12.一种服务器,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-7任一项所述的数据处理方法。
13.一种服务器,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求8或9任一项所述的数据处理方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有第一计算机程序,所述第一计算机程序被处理器执行时用于记载并执行如权利要求1-7任一项所述的数据处理方法;所述计算机存储介质存储有第二计算机程序,所述第二计算机程序被处理器执行时用于加载并执行如权利要求8或9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000074.1A CN113704024B (zh) | 2021-08-27 | 2021-08-27 | 数据处理方法、装置、相关设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000074.1A CN113704024B (zh) | 2021-08-27 | 2021-08-27 | 数据处理方法、装置、相关设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704024A CN113704024A (zh) | 2021-11-26 |
CN113704024B true CN113704024B (zh) | 2023-05-09 |
Family
ID=78656416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111000074.1A Active CN113704024B (zh) | 2021-08-27 | 2021-08-27 | 数据处理方法、装置、相关设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704024B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086434B (zh) * | 2022-06-14 | 2024-04-16 | 中国银行股份有限公司 | 基于区块链的银行业务办理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010205100A (ja) * | 2009-03-05 | 2010-09-16 | Nec Corp | 管理サーバ、バックアップ方式、バックアップ方法、及び、プログラム |
CN103457963A (zh) * | 2012-05-28 | 2013-12-18 | 联想(北京)有限公司 | 存储文件的方法及分布式存储系统 |
CN105407117A (zh) * | 2014-09-10 | 2016-03-16 | 腾讯科技(深圳)有限公司 | 分布式备份数据的方法、装置和系统 |
CN111327467A (zh) * | 2020-02-21 | 2020-06-23 | 苏州浪潮智能科技有限公司 | 一种服务器系统及其容灾备份方法和相关设备 |
CN111737043A (zh) * | 2019-03-25 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 数据库容灾方法、设备、服务器和存储介质 |
-
2021
- 2021-08-27 CN CN202111000074.1A patent/CN113704024B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010205100A (ja) * | 2009-03-05 | 2010-09-16 | Nec Corp | 管理サーバ、バックアップ方式、バックアップ方法、及び、プログラム |
CN103457963A (zh) * | 2012-05-28 | 2013-12-18 | 联想(北京)有限公司 | 存储文件的方法及分布式存储系统 |
CN105407117A (zh) * | 2014-09-10 | 2016-03-16 | 腾讯科技(深圳)有限公司 | 分布式备份数据的方法、装置和系统 |
CN111737043A (zh) * | 2019-03-25 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 数据库容灾方法、设备、服务器和存储介质 |
CN111327467A (zh) * | 2020-02-21 | 2020-06-23 | 苏州浪潮智能科技有限公司 | 一种服务器系统及其容灾备份方法和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113704024A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109949111B (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
CN111183625B (zh) | 用于在区块链网络中删除节点的系统和方法 | |
EP3816910B1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
US8914333B2 (en) | Systems for storing files in a distributed environment | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN110730225A (zh) | 基于区块链的物联网的数据处理方法、物联网及存储介质 | |
TW202016789A (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
US11250395B2 (en) | Blockchain-based transaction processing methods and apparatuses and electronic devices | |
US11425571B2 (en) | Device configuration method, apparatus and system | |
US20230315891A1 (en) | Transaction data processing method and apparatus, computer device and storage medium | |
CN110602108B (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
US11102284B2 (en) | Service processing methods and systems based on a consortium blockchain network | |
US20140059312A1 (en) | Recording medium, computer, and information processing system | |
US11042524B1 (en) | Self-adaptive execution method of smart contract for realizing data trustworthiness | |
JP6975153B2 (ja) | データ格納サービス処理方法及び装置 | |
US9229762B2 (en) | Host providing system and host providing method | |
CN113704024B (zh) | 数据处理方法、装置、相关设备及存储介质 | |
CN114844891B (zh) | 基于Raft算法的区块链共识方法及系统 | |
US20230362015A1 (en) | Notification control method, verification method, and information processing apparatus | |
US20080250421A1 (en) | Data Processing System And Method | |
JP2013065104A (ja) | 負荷分散システム、データアクセス装置、及び負荷分散方法 | |
KR20120075622A (ko) | 게임 서비스를 위한 로그 데이터를 효율적으로 저장할 수 있는 로그 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
CN105791350B (zh) | 项目数据处理方法和系统 | |
JP2021036357A (ja) | トランザクション実行方法およびシステム |
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 |