CN113660988A - 数据处理方法、装置、系统、设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113660988A CN113660988A CN202180002701.7A CN202180002701A CN113660988A CN 113660988 A CN113660988 A CN 113660988A CN 202180002701 A CN202180002701 A CN 202180002701A CN 113660988 A CN113660988 A CN 113660988A
- Authority
- CN
- China
- Prior art keywords
- parameter
- preset
- target
- service
- event
- 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.)
- Pending
Links
Images
Classifications
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- 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/75—Enforcing rules, e.g. detecting foul play or generating lists of cheating players
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种数据处理方法、装置、系统、设备及计算机可读存储介质;方法包括:在接收到针对于第一服务的参数修改请求的情况下,根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;通过统一调用接口,更新目标参数在远端存储空间中对应的远端参数;第一预设事件注册表表征第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;远端存储空间用于存储至少一个服务的至少一个远端参数;使用目标参数,调用目标参数修改事件对应的目标回调函数,将目标参数加载至第一服务;运行第一服务,基于目标参数,对游戏区域的游戏状态进行记录。通过本公开,能够提高参数配置的效率。
Description
相关申请的交叉引用
本公开要求在2021年8月27日提交新加坡知识产权局、申请号为10202109388P的新加坡专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及计算机网络技术,尤其涉及一种数据处理方法、装置、系统、设备及计算机可读存储介质。
背景技术
目前,对于通过服务器上的服务实现游戏桌状态记录的应用场景,在游戏桌的桌面布局、参与者信息、游戏规则或网络连接配置等参数发生变化的情况下,需要及时对服务的配置参数进行修改更新。然而,目前的参数配置方法在修改配置参数之后,需要重启服务器上的服务,利用服务的初始化过程来加载修改后的配置参数。这样的参数配置过程所配置的参数生效慢,并且会导致服务器出现无法提供服务的停工时段,从而降低了参数配置的效率。
发明内容
本公开实施例提供一种数据处理方法、装置、系统、设备及计算机可读存储介质,能够提高参数配置的效率。
本公开实施例的技术方案是这样实现的:
本公开实施例提供一种数据处理方法,包括:
在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
在接收到参数修改请求的情况下,可以根据目标参数,触发对应的目标参数修改事件,进而作为对目标参数修改事件的响应,调用对应的目标回调函数来将目标参数实时加载至第一服务,使得第一服务可以基于新的目标参数的值进行游戏状态的记录,从而可以通过预先在事件注册表中将参数修改事件的回调函数配置为参数加载方法,并通过事件触发机制来响应参数修改请求,实时调用对应的回调函数,达到参数变更后即时生效的效果;并且,对于实际场景中由不同类型存储设备组成的远端存储空间,可以通过统一调用接口,无差别地管理和更新远端存储空间中对应的远端参数,进而实现至少一个服务的参数同步,从而大大提高了参数配置的效率。
上述方法中,所述根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件之前,所述方法还包括:
在对所述第一服务进行初始化的情况下,获取所述第一服务对应的至少一个第一预设参数,以及所述至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,所述目标参数属于至少一个第一预设参数;所述第一预设参数加载方法为所述第一服务中预先配置的参数加载方法;
对于所述每个第一预设参数,生成与所述每个第一预设参数对应的第一预设参数修改事件;其中,所述第一预设参数修改事件对应的第一预设回调函数为所述每个第一预设参数对应的第一预设参数加载方法;所述目标参数修改事件为所述第一预设事件注册表中与所述目标参数对应的第一预设参数修改事件;所述目标回调函数为所述目标参数修改事件对应的第一预设回调函数;
将所述第一预设参数修改事件对应注册在所述每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为所述第一预设事件注册表。
通过生成每个第一预设参数对应的第一预设参数修改事件并注册在相应的第一预设参数上,以及将第一预设参数修改事件的第一预设回调函数设置为相应的第一预设参数的第一预设参数加载方法,实现了至少一个第一预设参数、第一预设参数修改事件与第一预设回调函数之间的映射关系作为第一预设事件注册表。这样,在第一预设事件注册表中的第一预设参数发生变化的情况下,即可通过相应的事件触发响应机制,调用起事件对应的第一预设回调函数,执行第一预设回调函数中实现的第一预设参数加载方法,将对应的目标参数实时加载至第一服务,从而提高了参数配置的效率。
上述方法中,所述在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件,包括:
在通过预设参数修改接口,接收到针对于所述参数修改请求的情况下,调用所述预设参数修改接口中预先实现的预设事件驱动方法,根据所述目标参数访问所述第一预设事件注册表;
在所述第一预设事件注册表中,确定出所述目标参数对应的第一预设参数修改事件作为所述目标参数修改事件,并通过所述预设事件驱动方法触发所述目标参数修改事件。
通过在预设参数修改接口中预先实现预设事件驱动方法,可以在接收到参数修改请求的情况下立即触发目标参数对应的目标参数修改事件,提高了参数配置的效率。
上述方法中,所述使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务,包括:
根据所述第一预设事件注册表,确定所述目标参数修改事件对应的目标回调函数;
通过所述预设事件驱动方法,使用所述目标参数调用所述目标回调函数,将所述目标参数传入所述目标回调函数中实现的目标预设参数加载方法,并通过所述目标预测参数加载方法将所述目标参数加载至所述第一服务;所述目标预设参数加载方法为所述目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;所述至少一个第一预设参数加载方法为所述第一服务中至少一个第一预设参数对应的预设参数加载方法。
由于在第一预设事件注册表中,每个第一预设参数修改事件对应的第一预设回调函数为相应的第一预设参数的第一预设参数加载方法,因此在通过第一预设事件注册表获取目标参数修改事件对应的目标回调函数的情况下,可以通过对目标回调函数的调用,将目标参数传入目标参数对应的目标参数加载方法,进而将目标参数实时加载至第一服务,使得第一服务在当前的运行过程中即可实时加载到最新修改后的参数配置,从而提高了参数配置的效率。
上述方法中,所述通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数,包括:
通过所述统一调用接口访问所述远端存储空间,根据所述目标参数的目标参数名,从所述至少一个远端参数中确定出目标远端参数;所述远端存储空间包含至少一种存储类型的子存储空间;所述统一调用接口用于通过统一调用方式实现对所述至少一种存储类型的子存储空间的读写操作;所述目标远端参数为所述第一服务与所述第二服务的共享参数;所述第二服务用于对所述第一服务的业务数据进行同步;
使用所述目标参数更新所述目标远端参数,将所述目标参数同步更新至所述第二服务。
通过使用目标参数值更新远端存储空间中的目标远端参数,可以使得第一服务本地与远端存储的参数值保持实时同步,进而可以通过目标远端参数的变更,将针对第一服务的参数修改请求对应的参数变更及时同步到与其共享参数的多个其他服务上,从而提高了参数配置的效率。
上述方法中,所述方法还包括:
根据所述目标参数,对所述目标参数在第一本地存储中对应的第一本地目标参数进行更新;所述第一本地存储为所述第一服务所在第一主机上的存储空间。
将参数修改请求指定的参数变更同步更新到第一服务对应的本地缓存中,可以保证运行参数与本地缓存参数的一致性,从而提高第一服务运行的稳定性。
本公开实施例提供一种数据处理方法,包括:
根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
通过定时对比本地参数与远端参数的差异,快速发现参数变更事件,并通过预先设计事件驱动模型以及预先定义参数变更后需要执行的事件,实现了通过事件触发响应机制将更新后的远端参数及时同步到本地进行加载,使得变更的配置参数可以在第二服务上实时生效,从而提高了参数配置的效率。
上述方法中,所述根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件之前,所述方法还包括:
在对所述第二服务进行初始化的情况下,基于所述第二服务对应的至少一个第二预设参数与所述至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到所述第二预设事件注册表;所述第二预设事件注册表中,所述至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;所述至少一个第二预设参数加载方法中的每个第二预设参数加载方法为所述至少一个第二预设参数修改事件各自对应的回调函数。
通过生成每个第二预设参数、第二预设参数修改事件与第二预设回调函数的映射关系的第二预设事件注册表,可以通过事件触发响应机制,将参数变更涉及的目标参数实时加载至第二服务,从而提高了参数配置的效率。
上述方法中,所述从所述第二远端参数中确定出目标参数之后,所述方法还包括:
通过所述统一调用接口,从所述远端存储空间中读取所述目标参数;所述远端存储空间包含至少一种存储类型的子存储空间;
根据所述目标参数,对所述目标参数在第一本地存储中对应的第二本地目标参数进行更新;所述第二本地存储为所述第二服务所在第二主机上的存储空间。
通过统一调用接口进行调用,实现了对不同类型子存储空间读写操作的统一抽象,使得第二服务可以无差别管理各存储地的系统配置参数,从而提高了参数配置的效率和可维护性。
本公开实施例提供一种数据处理系统,包括:第一主机与第二主机,所述第一主机上运行有第一服务,所述第二主机上运行有第二服务;
所述第一主机,用于在接收到针对于所述第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录;
所述第二主机,用于根据预设时间间隔,通过所述统一调用接口,将所述第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述目标参数为所述至少一个服务中的第一服务与所述第二服务的共享参数;通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
本公开实施例提供一种第一数据处理装置,包括:
第一触发部分,被配置为在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
第一调用部分,被配置为使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
记录部分,被配置为运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
上述装置中,第一数据处理装置还包括第一注册部分;所述第一注册部分,被配置为所述根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件之前,在对所述第一服务进行初始化的情况下,获取所述第一服务对应的至少一个第一预设参数,以及所述至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,所述目标参数属于至少一个第一预设参数;所述第一预设参数加载方法为所述第一服务中预先配置的参数加载方法;对于所述每个第一预设参数,生成与所述每个第一预设参数对应的第一预设参数修改事件;其中,所述第一预设参数修改事件对应的第一预设回调函数为所述每个第一预设参数对应的第一预设参数加载方法;所述目标参数修改事件为所述第一预设事件注册表中与所述目标参数对应的第一预设参数修改事件;所述目标回调函数为所述目标参数修改事件对应的第一预设回调函数;将所述第一预设参数修改事件对应注册在所述每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为所述第一预设事件注册表。
上述装置中,所述第一触发部分,还被配置为在通过预设参数修改接口,接收到针对于所述参数修改请求的情况下,调用所述预设参数修改接口中预先实现的预设事件驱动方法,根据所述目标参数访问所述第一预设事件注册表;在所述第一预设事件注册表中,确定出所述目标参数对应的第一预设参数修改事件作为所述目标参数修改事件,并通过所述预设事件驱动方法触发所述目标参数修改事件。
上述装置中,所述第一调用部分,还被配置为根据所述第一预设事件注册表,确定所述目标参数修改事件对应的目标回调函数;通过所述预设事件驱动方法,使用所述目标参数调用所述目标回调函数,将所述目标参数传入所述目标回调函数中实现的目标预设参数加载方法,并通过所述目标预测参数加载方法将所述目标参数加载至所述第一服务;所述目标预设参数加载方法为所述目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;所述至少一个第一预设参数加载方法为所述第一服务中至少一个第一预设参数对应的预设参数加载方法。
上述装置中,所述第一触发部分,还被配置为通过所述统一调用接口访问所述远端存储空间,根据所述目标参数的目标参数名,从所述至少一个远端参数中确定出目标远端参数;所述远端存储空间包含至少一种存储类型的子存储空间;所述统一调用接口用于通过统一调用方式实现对所述至少一种存储类型的子存储空间的读写操作;所述目标远端参数为所述第一服务与所述第二服务的共享参数;所述第二服务用于对所述第一服务的业务数据进行同步;使用所述目标参数更新所述目标远端参数,将所述目标参数同步更新至所述第二服务。
上述装置中,所述第一数据处理装置还包括第一更新部分;所述第一更新部分,被配置为根据所述目标参数,对所述目标参数在第一本地存储中对应的第一本地目标参数进行更新;所述第一本地存储为所述第一服务所在第一主机上的存储空间。
本公开实施例提供一种第二数据处理装置,包括:
对比部分,被配置为根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
第二触发部分,被配置为在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
第二调用部分2553,被配置为通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
同步部分2554,被配置为运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
上述装置中,所述第二数据处理装置还包括:第二注册部分,所述第二注册部分,被配置为所述根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件之前,在对所述第二服务进行初始化的情况下,基于所述第二服务对应的至少一个第二预设参数与所述至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到所述第二预设事件注册表;所述第二预设事件注册表中,所述至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;所述至少一个第二预设参数加载方法中的每个第二预设参数加载方法为所述至少一个第二预设参数修改事件各自对应的回调函数。
上述装置中,所述第二数据处理装置还包括:第二更新部分,所述第二更新单元,被配置为从所述第二远端参数中确定出目标参数之后,通过所述统一调用接口,从所述远端存储空间中读取所述目标参数;所述远端存储空间包含至少一种存储类型的子存储空间;根据所述目标参数,对所述目标参数在第一本地存储中对应的第二本地目标参数进行更新;所述第二本地存储为所述第二服务所在第二主机上的存储空间。
本公开实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现上述任一种本公开实施例提供的方法。
本公开实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述任一种本公开实施例提供的方法。
本公开实施例具有以下有益效果:
在接收到参数修改请求的情况下,可以根据目标参数,触发对应的目标参数修改事件,进而作为对目标参数修改事件的响应,调用对应的目标回调函数来将目标参数实时加载至第一服务,使得第一服务可以基于新的目标参数的值进行游戏状态的记录,从而可以通过预先在事件注册表中将参数修改事件的回调函数配置为参数加载方法,并通过事件触发机制来响应参数修改请求,实时调用对应的回调函数,达到参数变更后即时生效的效果;并且,可以通过统一调用接口,更新远端存储空间中对应的远端参数,进而实现至少一个服务的参数同步,从而大大提高了参数配置的效率。
附图说明
图1是本公开实施例提供的数据处理系统架构的一个可选的结构示意图;
图2是本公开实施例提供的第一数据处理装置的一个可选的结构示意图;
图3是本公开实施例提供的第二数据处理装置的一个可选的结构示意图;
图4是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图;
图5是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图;
图6是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图;
图7是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图;
图8是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图;
图9是本公开实施例提供的第一服务的调用关系示意图;
图10是本公开实施例提供的第二主机上的数据处理方法的一个可选的流程示意图;
图11是本公开实施例提供的第二主机上的数据处理方法的一个可选的流程示意图;
图12是本公开实施例提供的第一服务与第二服务共享参数过程的流程示意图;
图13是本公开实施例提供的实际的应用场景中的示例性应用示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)分布式部署,就是无法通过一台设备承载的海量数据或者是由于安全问题等特殊要求把一个数据处理业务分开部署到不同设备上的技术解决方案。分布式的实质就是把本来一台机器完成的任务,分配给多个机器从而提高效率。
2)分布式系统(distributed system)是建立在分布式部署的网络之上的软件系统。在分布式数据库申,用户感觉不到数据是分布的,即用户不需知道关系是否分割、有无副本、数据存于哪个站点以及事物在哪个站点上执行等。从进程角度看,两个程序分别运行在两台主机的进程上,相互协作最终完成同一个服务,则这两个程序所组成的系统可以称作“分布式系统”。
3)集群:所谓集群,就是将相同的应用,不断在多个设备如服务器上进行横向扩展,以提高服务能力的方式。
4)集群存储:集群存储是将多台存储设备中的存储空间聚合为一个存储池,并向应用服务器提供统一访问接口和管理界面。应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,充分发挥存储设备的性能和磁盘利用率。集群存储中的数据将会按照一定的规则从多台存储设备上存储和读取,以获得更高的并发访问性能。
目前,服务器上一个完备的业务应用常常需要适配各种不同场景和需求,例如测试环境和生产环境的数据库地址切换、日志级别变更或特定的规则适配等,通常是通过修改业务应用的系统配置参数来适配不同的应用场景参数。对于已经上线运行的业务应用,需要在线上环境来需要修改系统配置参数并且能够即时应用。然而目前的方案一般在修改完系统配置后,需要重启业务应用,使其使用新的系统配置参数初始化,这样会造成业务应用有一段时间无法提供服务,对高可用场景显然是不合理的。
另外,对于一些多类型存储适配的需求,如多供应商接口适配等,一个业务应用需要同时适配多种不同的存储来源,如本地文件、数据库、对象存储(Object StorageService,OSS)等。业务应用中各个不同模块的系统配置参数可以由不同的存储来源保持,由业务应用内部统一管理维护。如果每次配置发生改变,业务应用都需要重启初始化,会大大降低业务应用的可用性。
进一步的,当业务应用需要分布式部署时,业务应用的多个服务间状态是要求同步的,参数配置的修改需要快速同步到其他的服务上,而基于目前的参数配置方案是无法实现分布式部署场景下,业务应用参数修改的快速同步的。
本公开实施例提供一种数据处理方法、装置、系统、设备和计算机可读存储介质,能够提高参数配置的效率,下面说明本公开实施例提供的电子设备的示例性应用,本公开实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本公开实施例提供的数据处理系统100的一个可选的架构示意图,为实现支撑一个集群部署的业务应用,客户端设备400通过网络300连接至服务器200,其中,服务器200可以是包含至少一个主机(示例性示出了主机200-1至主机200-n)的集群,网络300可以是广域网或者局域网,又或者是二者的组合。至少一个服务(示例性示出了第一服务、第二服务至第n服务)以分布式部署的方式分别部署在主机200-1、主机200-2至主机200-n上。至少一个服务可以将各自对应的参数为至少一个远端参数,共同存储在远端存储空间如存储设备500中,每个远端参数对应存储设备500中的一条数据记录。在数据处理系统100的初始化阶段,可以先对存储设备500中的至少一个远端参数进行参数值的初始化,至少一个服务在启动时可以通过统一调用接口510,从存储设备500中分别读取到各自对应的本地存储空间,如缓存1、缓存2至缓存n中,用于各自的服务运行。这样,至少一个服务可以通过存储设备500进行参数共享。分布式部署的至少一个服务在运行过程中,需要将自身在当前运行中加载的参数、本地存储空间中的本地参数以及远端存储空间中对应的远端参数保持一致。也就是说,对于分布式部署的至少一个服务,当其中的某个服务的参数发生变化的情况下,参数变更需要及时同步到每个服务对应的加载的参数、本地参数、以及远端参数中。
在一些实施例中,主机200-1上的第一服务可以是当前正在对外提供业务服务的主服务,如对游戏区域的游戏状态进行记录的服务。主机200-2至主机200-n上第二服务至第n服务可以是与第一服务功能一致的副本服务,第二服务至第n服务不对外提供业务服务,用于在第一服务运行的过程中,与第一服务的业务数据,如业务状态和业务进度等保持实时同步,从而可以作为第一服务的业务备份,使得数据处理系统100在第一服务出现故障的情况下可以随时切换到相同业务状态或进度下的其他服务,如第二服务至第n服务中的任一个上,减少服务器停工时间,从而能够服务于高可用场景。在这种场景下,第一服务、第二服务至第n服务的参数为相同的参数,这些相同的参数由第一服务、第二服务至第n服务分别在各自的本地存储空间中维护,并作为共享参数在远端存储空间即存储设备500中统一存储。这样,在参数修改请求对第一服务上的参数进行了修改的情况下,需要将修改后的参数及时同步到第二服务至第n服务上。
在一些实施例中,第二服务至第n服务也可以是与第一服务共享有相同参数的应用,与第一服务共同运行在配置有相同共享参数的应用场景中,共同对外提供业务服务。示例性地,对于第一服务、第二服务至第n服务可以分别对不同的游戏区域上的游戏状态进行记录的场景,不同的游戏区域对应的热区图可以是相同的。这样,相同的热区图可以作为共享参数在存储设备500中统一存储,并由第一服务、第二服务至第n服务对应的参数分别读取至各自的本地存储空间中,在运行时进行加载,以正常实现对游戏区域的记录功能。对于这种场景,在修改第一服务、第二服务至第n服务中的任一个服务对应的参数发生变更的情况下,需要将变更的参数同步更新至存储设备500中对应的共享参数,以及与之相关的其他服务中,以实现参数配置的快速统一。
图1中,存储设备500(示例性示出了存储设备500-1与存储设备500-2)用于提供至少一种存储类型的子存储空间,示例性地,至少一种存储类型可以包括文件存储、数据库存储与对象存储类型等。至少一种存储类型的子存储空间可以通过统一调用接口510由第一应用、第二应用至第n应用进行无差别的统一管理,如读写操作等。
图1中,客户端设备400归属于数据处理系统100的管理人员,用于通过运维客户端软件410发起对指定配置参数的修改操作,并将指定配置参数作为目标参数,生成修改操作对应的参数修改请求;将参数修改请求通过网络300发送至服务器200。通常,参数修改请求会被发送至当前正在提供服务的主机200-1上的第一服务。其中,第一服务的参数分别存储在主机200-1本地的缓存1以及远端的存储设备500上,主机200-1,用于在接收到针对于第一服务的参数修改请求的情况下,根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新目标参数在远端存储空间即存储设备500中对应的远端参数;第一预设事件注册表表征第一服务中的第一预设参数、预设参数修改事件与回调函数的映射关系;使用目标参数,调用目标参数修改事件对应的目标回调函数,将目标参数加载至第一服务;运行第一服务,基于目标参数,对游戏区域的游戏状态进行记录。
其中,主机200-2,用于根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储即缓存2中的第二本地参数与第二服务在远端存储空间中对应的第二远端参数进行对比,得到对比结果;在对比结果表征第二本地参数与第二远端参数不一致的情况下,从第二远端参数中确定出目标参数;根据目标参数,触发第二预设事件注册表中目标参数名对应的目标参数修改事件,通过调用目标参数修改事件对应的目标回调函数,将目标参数加载至第二服务;第二预设事件注册表表征第二服务中参数名、预设参数修改事件与回调函数的映射关系;运行第二服务,基于目标参数,对第一服务进行同步。
需要说明的是,这里,对于与第一服务包含共享参数的其他服务,如主机200-3上的第三服务至主机200-n上的第n服务,可以各自通过与第二服务相同的数据处理方法,对存储设备500中变更的共享参数进行更新,从而实现分布式部署服务对参数变更的全局实时同步,此处不再赘述。
需要说明的是,基于数据处理系统100的网络结构,也可以将主机200-2或主机200-n上的第二服务或第n服务作为当前提供业务功能的服务,通过第二服务或第n服务接收参数修改请求,通过本公开实施例中的数据处理方法实现目标参数的实时加载以及存储设备500中共享参数的更新;并通过第一服务实现对于更新后的共享参数的同步与实时加载。也即在数据处理系统100中,主机200-1、主机200-2至主机200-n之间的业务角色可以互换。具体的根据实际情况进行选择,本公开实施例不作限定。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开实施例中不做限制。
参见图2,图2是本公开实施例提供的服务器200中的主机200-1的结构示意图,图2所示的主机200-1包括:至少一个第一处理器210-1、第一存储器250-1、至少一个第一网络接口220-1和第一用户接口230-1。主机200-1中的各个组件通过第一总线系统240-1耦合在一起。可理解,第一总线系统240-1用于实现这些组件之间的连接通信。第一总线系统240-1除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第一总线系统240-1。
第一处理器210-1可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230-1包括使得能够呈现媒体内容的一个或多个第一输出装置231-1,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230-1还包括一个或多个第一输入装置232-1,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250-1可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250-1可选地包括在物理位置上远离第一处理器210-1的一个或多个存储设备。
第一存储器250-1包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本公开实施例描述的第一存储器250-1旨在包括任意适合类型的存储器。
在一些实施例中,第一存储器250-1能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251-1,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252-1,用于经由一个或多个(有线或无线)第一网络接口220-1到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
第一呈现模块253-1,用于经由一个或多个与第一用户接口230-1相关联的第一输出装置231-1(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254-1,用于对一个或多个来自一个或多个第一输入装置232-1之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本公开实施例提供的装置可以采用软件方式实现,图2示出了存储在第一存储器250-1中的第一数据处理装置255-1,其可以是程序和插件等形式的软件,包括以下软件部分,以实现如主机200-1的功能:第一触发部分2551、第一调用部分2552和记录部分2553,这些软件部分是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
参见图3,图3是本公开实施例提供的服务器200中的主机200-2的结构示意图,图3所示的主机200-2包括:至少一个第二处理器210-2、第二存储器250-2、至少一个第二网络接口220-2和第二用户接口230-2等。主机200-2中的各个组件的功能与上述主机200-1中相应名称的各个组件的功能相似,此处不再赘述。其中,图3示出了存储在第二存储器250-2中的第二数据处理装置255-2,其可以是程序和插件等形式的软件,包括以下软件部分,以实现如主机200-2的功能:对比部分2551、第二触发部分2552、第二调用部分2553和同步部分2554,这些软件部分是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明图2与图3中各个软件部分的功能。
在另一些实施例中,本公开实施例提供的装置可以采用硬件方式实现,作为示例,本公开实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本公开实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本公开实施例提供的服务器的示例性应用和实施,说明本公开实施例提供的数据处理方法。
参见图4,图4是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
S101、在接收到针对于第一服务的参数修改请求的情况下,根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新目标参数在远端存储空间中对应的远端参数;第一预设事件注册表表征第一服务中的第一预设参数、预设参数修改事件与回调函数的映射关系;远端存储空间用于存储至少一个服务的至少一个远端参数。
本公开实施例中,用户可以通过客户端设备登录数据处理系统,发起针对目标参数的参数修改请求,并将参数修改请求发送至包含多台主机的服务器集群。通常,参数修改请求会由服务器集群中当前正在提供业务服务的主机接收,即第一主机。第一主机上的第一服务为正在提供业务服务的应用服务。在一些实施例中,第一服务可以用于对游戏区域的游戏状态进行检测。
本公开实施例中,第一服务对应维护有第一预设事件注册表,第一预设事件注册表表征第一服务中的第一预设参数、预设参数修改事件与回调函数的映射关系。第一预设参数为第一服务对应的配置参数,第一预设事件注册表中包含了至少一个第一预设参数修改事件,至少一个第一预设参数修改事件可以在第一服务的初始化阶段一一对应地注册到第一服务对应的至少一个第一预设参数上,作为至少一个第一预设参数的事件处理程序。这样,当第一预设参数的状态发生变化时,如参数修改请求将某个指定的第一预设参数修改为目标参数时,第一服务就会根据触发事件的对象,即目标参数调用到对应的第一预设参数修改事件,即目标参数修改事件。
本公开实施例中,每个第一预设参数修改事件对应绑定有第一预设回调函数,每个第一预设回调函数用于在其对应的第一预设参数修改事件中被触发时,作为事件触发的响应方式被第一服务调用。其中,每个第一预设参数修改事件对应的第一预设回调函数的内部实现为该第一预设参数修改事件对应的第一预设参数的第一预设参数加载方法。
本公开实施例中,数据处理系统的每台主机上都可以配置有各自的预设事件注册表,比如对于第二主机上的第二服务,可以对应配置有第二预设事件注册表。这样,在每个主机上的服务监测到需要配置的目标参数的情况下,如对于第一服务来说,就是接收到参数修改请求中的目标参数的情况下,对于第二服务来说,可以是监听到远端存储空间中的目标参数发生更新的情况下等,每个主机上的服务都可以根据各自对应的预设事件注册表,利用事件触发响应机制,调用起目标参数对应的预设加载方法,对目标参数进行实时加载。
在一些实施例中,第一预设参数可以包括摄像头的角度、游戏参与者信息、热区图、游戏规则、以及服务器自身的网络配置参数,如网络地址、最大连接数量、连接的客户端地址、端口号等等。其中,摄像头用于通过不同角度记录游戏区域的游戏过程产生的游戏场景图像、热区图为游戏区域上预先划分的各种游戏功能区域,可以通过图像识别方法对热区图在游戏场景图像中对应的区域进行识别分析,智能地识别游戏过程的当前状态或进度。
在一些实施例中,第一主机可以在接收参数修改请求的功能接口设置事件驱动,这样,在通过参数修改接口接收到参数修改请求时,可以通过调用事件驱动,根据目标参数触发第一预设事件注册表中对应的目标参数修改事件。
本公开实施例中,第一主机在接收到针对第一服务的参数修改请求的情况下,会对参数修改请求对应的网络数据包进行解析,得到其中包含的目标参数;其中,目标参数可以包括目标参数名与目标参数值。这样,第一主机根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件的过程可以实施为根据目标参数的目标参数名,从第一预设事件注册表中确定出对应的第一预设参数修改事件,作为目标参数修改事件;然后使用目标参数触发目标参数修改事件,将目标参数值传入目标参数修改事件的内部处理程序,以使目标参数修改事件中预先绑定的目标回调函数获得目标参数值,进行目标参数值的实时加载。
本公开实施例中,为了保持本地参数与远端参数的同步,第一主机还可以通过统一调用接口,更新目标参数在远端存储空间中对应的远端参数。其中,远端存储空间用于存储至少一个服务的至少一个远端参数,至少一个远端参数中可以包含有第一服务与第二服务,或更多服务的共享参数。
在一些实施例中,在接收到针对于第一服务的参数修改请求的情况下,第一主机可以使用不同的进程,分别执行根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件、以及通过统一调用接口,更新目标参数在远端存储空间中对应的远端参数这两个过程。
S102、使用目标参数,调用目标参数修改事件对应的目标回调函数,将目标参数加载至第一服务。
本公开实施例中,作为对目标参数修改事件被触发后的响应,第一主机可以使用目标参数调起目标参数修改事件对应的目标回调函数,将目标参数的目标参数值传入目标回调函数;进而执行目标回调函数,将目标参数值加载至第一服务,这样,目标参数即可配置生效,第一服务即可基于目标参数值来运行并提供业务服务了。
在一些实施例中,由于第一服务在运行过程中,会将运行过程产生的临时数据以及当前或常用的第一预设参数存储在第一主机的本地存储空间,如缓存中,以对相关参数或数据进行快速调用,因此,第一主机还可以根据目标参数中的目标参数名,对目标参数名在第一本地存储中对应的第一本地参数值进行更新,以同步更新第一服务在本地缓存中对应的参数;其中,第一本地存储为第一服务所在第一主机上的存储空间。
S103、运行第一服务,基于目标参数,对游戏区域的游戏状态进行记录。
本公开实施例中,第一服务可以将最新配置的参数,即目标参数应用到运行过程中,第一主机通过运行第一服务,即可基于目标参数,实时地继续对游戏区域的游戏状态进行记录,而无需通过重启来使得配置后的目标参数生效。
在一些实施例中,游戏区域可以是游戏桌,也可以是游戏场地等等任何类型的游戏场景区域,具体的根据实际情况进行选择,本公开实施例不作限定。
可以理解的是,本公开实施例中,在接收到参数修改请求的情况下,可以根据目标参数,触发对应的目标参数修改事件,进而作为对目标参数修改事件的响应,调用对应的目标回调函数来将目标参数实时加载至第一服务,使得第一服务可以基于新的目标参数的值进行游戏状态的记录,从而可以通过预先在事件注册表中将参数修改事件的回调函数配置为参数加载方法,并通过事件触发机制来响应参数修改请求,实时调用对应的回调函数,达到参数变更后即时生效的效果;并且,对于实际场景中由不同类型存储设备组成的远端存储空间,可以通过统一调用接口,无差别地管理和更新远端存储空间中对应的远端参数,进而实现至少一个服务的参数同步,从而大大提高了参数配置的效率。
参见图5,图5是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图,基于图4,S101之前,还可以包括S001-S003,将结合图5示出的步骤进行说明。
S001、在对第一服务进行初始化的情况下,获取第一服务对应的至少一个第一预设参数,以及至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,目标参数属于至少一个第一预设参数;第一预设参数加载方法为第一服务中预先配置的参数加载方法。
本公开实施例中,第一主机可以在对第一服务进行初始化的情况下,获取第一服务对应的至少一个第一预设参数,并获取第一服务中预先配置的对每个第一预设参数的加载方法,作为每个第一预设参数对应的第一预设参数加载方法。其中,目标参数是属于至少一个第一预设参数的一个。
S002、对于每个第一预设参数,生成与每个第一预设参数对应的第一预设参数修改事件;其中,第一预设参数修改事件对应的第一预设回调函数为每个第一预设参数对应的第一预设参数加载方法;目标参数修改事件为第一预设事件注册表中与目标参数对应的第一预设参数修改事件;目标回调函数为目标参数修改事件对应的第一预设回调函数。
本公开实施例中,第一主机可以将每个第一预设参数作为事件机制中的事件对象,为每个第一预设参数生成对应的第一预设参数修改事件;并且,将S001中获取的每个第一预设参数对应的第一预设参数加载方法,作为每个第一预设参数对应的第一预设参数修改事件的第一预设回调函数,实现第一预设参数、第一预设参数修改事件与第一预设参数加载方法的绑定。
本公开实施例中,目标参数修改事件为第一预设事件注册表中与目标参数对应的第一预设参数修改事件;目标回调函数为目标参数修改事件对应的第一预设回调函数。
S003、将第一预设参数修改事件对应注册在每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为第一预设事件注册表。
本公开实施例中,对于每个第一预设参数,第一主机可以通过挂载的方式,将第一预设参数修改事件注册在相应的第一预设参数上,从而得到至少一个第一预设参数、第一预设参数修改事件与第一预设回调函数之间的映射关系,作为第一主机上第一服务所对应的第一预设事件注册表。
本公开实施例中,对于第一服务对应的每个第一预设参数,第一主机上可以预先部署实现有每个第一预设参数对应的变更管理程序,用来在相应的第一预设参数发生变更时进行变更事件的处理。第一主机可以将第一预设参数修改事件挂载在相应的第一预设参数的变更管理程序上,这样,在第一预设参数发生变化,如接收到对应的参数修改请求的情况下,可以通过预设事件驱动方法触发该第一预设参数对应的第一预设参数修改事件,进而可以执行对该第一预设参数修改事件对应的第一预设回调函数的调用。
在一些实施例中,S001之后,第一主机还可以通过每个第一预设参数对应的第一预设参数加载方法,将每个第一预设参数加载至第一服务,以使用每个第一预设参数包含初始的第一预设参数值,对第一服务进行初始化。
可以理解的是,本公开实施例中,第一主机通过生成每个第一预设参数对应的第一预设参数修改事件并注册在相应的第一预设参数上,以及将第一预设参数修改事件的第一预设回调函数设置为相应的第一预设参数的第一预设参数加载方法,实现了至少一个第一预设参数、第一预设参数修改事件与第一预设回调函数之间的映射关系作为第一预设事件注册表。这样,在第一预设事件注册表中的第一预设参数发生变化的情况下,即可通过相应的事件触发响应机制,调用起事件对应的第一预设回调函数,执行第一预设回调函数中实现的第一预设参数加载方法,将对应的目标参数实时加载至第一服务,从而提高了参数配置的效率。
参见图6,图6是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图,基于图4或图5,S101可以通过执行S101-1:在接收到针对于第一服务的参数修改请求的情况下,根据参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;以及S101-2:通过统一调用接口,更新目标参数在远端存储空间中对应的远端参数来实现。其中,S101-1可以通过执行S101-11至S101-12来实现,将结合各步骤进行说明。
S101-11、在通过预设参数修改接口,接收到针对于参数修改请求的情况下,调用预设参数修改接口中预先实现的预设事件驱动方法,根据目标参数访问第一预设事件注册表,
本公开实施例中,第一主机可以在用来与客户端进行交互的预设参数修改接口中,预先实现预设事件驱动方法,这样,在接收到针对于参数修改请求的情况下,调用预设参数修改接口中预先实现的预设事件驱动方法,根据目标参数访问第一预设事件注册表,确定目标参数是否在第一预设事件注册表中有对应的第一预设参数修改事件。
在一些实施例中,预设事件驱动方法可以通过event_edit_parameter(p-a)形式的函数来实现,其中,p-a代表目标参数。
S101-12、在第一预设事件注册表中,确定出目标参数对应的第一预设参数修改事件作为目标参数修改事件,并通过预设事件驱动方法触发目标参数修改事件。
本公开实施例中,第一主机可以在第一预设事件注册表中,找到目标参数所属的第一预设参数,并根据第一预设事件注册表,将目标参数所属的第一预设参数上注册的第一预设参数修改事件作为目标参数修改事件。
本公开实施例中,在确定出目标参数修改事件的情况下,第一主机通过预设事件驱动方法触发目标参数修改事件。
可以理解的是,本公开实施例中,通过在预设参数修改接口预先实现预设事件驱动方法,可以在接收到参数修改请求的情况下立即触发目标参数对应的目标参数修改事件,提高了参数配置的效率。
参见图7,图7是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图,基于图6,S102可以通过执行S1021-S1022来实现,将结合各步骤进行说明。
S1021、根据第一预设事件注册表,确定目标参数修改事件对应的目标回调函数。
本公开实施例中,在目标参数修改事件被触发的情况下,第一主机将第一预设事件注册表中,目标参数修改事件对应的第一预设回调函数作为目标回调函数,以通过对目标回调函数的调用,对目标参数修改事件进行响应。
S1022、通过预设事件驱动方法,使用目标参数调用目标回调函数,将目标参数传入目标回调函数中实现的目标预设参数加载方法,并通过目标预测参数加载方法将目标参数加载至第一服务;目标预设参数加载方法为目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;至少一个第一预设参数加载方法为第一服务中至少一个第一预设参数对应的预设参数加载方法。
本公开实施例中,在确定了目标回调函数的情况下,第一主机可以将目标参数作为目标回调函数的传入参数,通过预设事件驱动方法调用目标回调函数,将目标参数传入目标回调函数,并执行目标回调函数的过程中,通过目标回调函数中对应实现的目标预设参数加载方法,将目标参数加载至第一服务。
本公开实施例中,目标预设参数加载方法为目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;其中,至少一个第一预设参数加载方法为第一服务的至少一个第一预设参数对应的预设参数加载方法。
可以理解的是,本公开实施例中,由于在第一预设事件注册表中,每个第一预设参数修改事件对应的第一预设回调函数为相应的第一预设参数的第一预设参数加载方法,因此第一主机在通过第一预设事件注册表获取到目标参数修改事件对应的目标回调函数的情况下,可以通过对目标回调函数的调用,将目标参数传入目标参数对应的目标参数加载方法,进而将目标参数实时加载至第一服务,使得第一服务在当前的运行过程中即可实时加载到最新修改后的参数配置,从而提高了参数配置的效率。
在一些实施例中,在接收到针对第一服务的参数修改请求的情况下,第一主机还可以根据目标参数,对目标参数在第一本地存储中对应的第一本地目标参数进行更新;其中,第一本地存储为第一服务所在第一主机上的存储空间。在一些实施例中,第一本地存储可以为第一主机上,第一服务所使用的缓存空间。这样,可以将参数修改请求指定的参数变更同步更新到第一服务对应的本地缓存中,保证运行参数与本地缓存参数的一致,提高第一服务运行的稳定性。
参见图8,图8是本公开实施例提供的第一主机上的数据处理方法的一个可选的流程示意图,基于图4或图5,S101中的S101-2可以通过执行S101-21至S101-22来实现,将结合各步骤进行说明。
S101-21、通过统一调用接口访问远端存储空间,根据目标参数的目标参数名,从至少一个远端参数中确定出目标远端参数;远端存储空间包含至少一种存储类型的子存储空间;统一调用接口用于通过统一调用方式实现对至少一种存储类型的子存储空间的读写操作;目标远端参数为第一服务与第二服务的共享参数;第二服务用于对第一服务的业务数据进行同步。
本公开实施例中,对于使用目标参数更新远端存储空间的过程,第一主机可以通过统一调用接口访问远端存储空间;其中,远端存储空间包含至少一种存储类型的子存储空间;第一主机可以利用统一调用接口,通过统一调用方式实现对至少一种存储类型的子存储空间的读写操作。
本公开实施例中,第一主机可以根据目标参数的目标参数名,从远端存储空间的至少一个远端参数中确定出目标参数名对应目标远端参数,这里,目标远端参数的参数名与目标参数名一致,目标远端参数的参数值为接收到参数修改请求前,目标参数名对应的原有参数值。
S101-22、使用目标参数的目标参数值更新目标远端参数,以使第二服务对目标远端参数进行同步更新。
本公开实施例中,第一主机可以使用目标参数的目标参数值,对目标远端参数的参数值进行更新。这里,由于目标远端参数是第一服务与第二服务的共享参数,这样,当目标远端参数更新后,即可通过第二服务获取最新的目标远端参数进行同步更新,使得针对第一服务的参数修改请求对应的参数变更可以同步到与其共享参数的多个其他服务上。
可以理解的是,通过使用目标参数值更新远端存储空间中的目标远端参数,可以使得第一服务本地与远端存储的参数值保持实时同步,进而可以通过目标远端参数的变更,将针对第一服务的参数修改请求对应的参数变更及时同步到与其共享参数的多个其他服务上,从而提高了参数配置的效率。
在一些实施例中,参见图9,图9是本公开实施例提供的第一服务的调用关系示意图,如图9所示,第一主机上的第一服务本身会维护第一预设事件注册表,在初始化阶段,第一服务会通过统一调用接口,从远端存储空间中读取所需的系统配置参数作为第一预设参数,如p-a,此时p-a对应包含有初始的预设参数值。第一服务调用init_callback(p-a)方法对p-a的预设参数值进行加载,并根据p-a在第一预设事件注册表中对应添加一个第一预设参数修改事件E-p-a,同时设置E-p-a的回调函数callback-p-a为使得新的p-a参数生效的函数,即init_callback(p-a),从而可以根据第一服务对应的至少一个系统配置参数生成如图9所示的第一预设事件注册表。在第一主机通过接收到包含目标参数p-a的参数修改请求的情况下,此时p-a中的参数值为新参数值,可以根据p-a调用参数修改接口中预先设置的事件驱动event_edit_parameter(),得到event_edit_parameter(p-a)对第一预设事件注册表进行访问,从第一预设事件注册表p-a对应的目标参数修改事件E-p-a并触发E-p-a,进而作为E-p-a事件触发后的响应,根据第一预设事件注册表中确定E-p-a事件对应的回调函数callback-p-a,并调用在callback-p-a中设置的参数加载方法init_callback(p-a),将包含新参数值的p-a加载至第一服务。并且,通过统一调用接口,将包含新参数值的p-a写入远端存储空间,对远端存储空间中对应的远端参数进行更新。
参见图10,图10是本公开实施例提供的第二主机上的数据处理方法的一个可选的流程示意图,将结合图10示出的步骤进行说明。
S201、根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与第二服务在远端存储空间中对应的第二远端参数进行对比,得到对比结果;远端存储空间用于存储至少一个服务的至少一个远端参数;至少一个远端参数中包含第一服务与第二服务的共享参数;第二本地存储为第二服务所在第二主机上的存储空间;第一服务用于对游戏区域的游戏状态进行记录。
本公开实施例中,第二主机上运行有第二服务,第二服务对应的至少一个第二预设参数分别存储在第二本地存储与远端存储空间,其中,第二本地存储的第二预设参数为第二本地参数,远端存储空间中存储的第二预设参数为第二远端参数。其中,第二远端参数中包含第一服务与所述第二服务的共享参数。
本公开实施例中,第二主机可以根据预设时间间隔,通过统一调用接口,将第二本地参数与第二远端参数进行对比,得到对比结果。
S202、在对比结果表征第二本地参数与第二远端参数不一致的情况下,从第二远端参数中确定出目标参数;并根据目标参数,触发第二预设事件注册表中目标参数名对应的目标参数修改事件;第二预设事件注册表表征第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系。
本公开实施例中,对比结果表征第二本地参数与第二远端参数是否一致,当第二本地参数与第二远端参数不一致时,说明第二远端参数发生了变化。由于第二远端参数中包含了第一服务与第二服务的共享参数,则可能是由第一服务对其中的某个共享参数进行了更新,因此,第二服务需要将更新的共享参数及时同步到第二主机上。
本公开实施例中,第二主机上的第二服务对应维护有第二预设事件注册表,在对比结果表征第二本地参数与第二远端参数不一致的情况下,第二主机从第二远端参数中确定出目标参数;并根据目标参数,触发第二预设事件注册表中目标参数名对应的目标参数修改事件。
本公开实施例中,第二预设事件注册表表征第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系,可以理解,这里第二预设参数名包含与第一服务的共享参数的参数名。这样,第二主机可以使用目标参数,在第二预设事件注册表的映射关系中,确定出目标参数对应的目标参数修改事件并触发目标参数修改事件,其过程与第一主机上的触发过程相同,此处不再赘述。
在一些实施例中,第二主机可以将第二远端参数中,与第二本地参数不一致的第二远端参数作为目标参数,对第二服务的第二本地参数进行差分更新,也可以直接将全部第二远端参数作为目标参数,对第二本地参数进行全局更新,具体的根据实际情况进行选择,本公开实施例不作限定。
S203、通过调用目标参数修改事件对应的目标回调函数,将目标参数加载至第二服务。
本公开实施例中,第二服务通过调用目标参数修改事件对应的目标回调函数,将目标参数加载至第二服务,与第一主机上相应的调用目标回调函数并加载目标参数至第一服务的过程相同,此处不再赘述。
S204、运行第二服务,基于目标参数,对第一服务进行同步。
本公开实施例中,第二服务可以是第一服务的备份服务,在目标参数加载至第二服务的情况下,第二主机可以运行第二服务,基于目标参数,将第一服务当前的业务状态和业务数据同步至第二服务中,实现对第一服务的同步。
可以理解的是,本公开实施例中,第二服务可以通过定时对比本地参数与远端参数的差异,快速发现参数变更事件,并通过预先设计事件驱动模型以及预先定义参数变更后需要执行的事件,实现了通过事件触发响应机制将更新后的远端参数及时同步到本地进行加载,使得变更的配置参数可以在第二服务上实时生效,从而提高了参数配置的效率。
在一些实施例中,S202中根据目标参数,触发第二预设事件注册表中目标参数名对应的目标参数修改事件之前,还可以执行以下步骤来生成第二预设事件注册表,如下:在对第二服务进行初始化的情况下,基于第二服务对应的至少一个第二预设参数与至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到第二预设事件注册表;第二预设事件注册表中,至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;至少一个第二预设参数加载方法中的每个第二预设参数加载方法为至少一个第二预设参数修改事件各自对应的回调函数。
上述在第二主机上生成第二预设事件注册表的过程与第一主机上的相同过程S001-S003描述一致,此处不再赘述。
参见图11,图11是本公开实施例提供的第二主机上的数据处理方法的一个可选的流程示意图,基于图10,S202可以通过执行S202-1:在对比结果表征第二本地参数与第二远端参数不一致的情况下,从第二远端参数中确定出目标参数;与S202-2:根据目标参数,触发第二预设事件注册表中目标参数名对应的目标参数修改事件来实现。其中,S202-1之后,还可以执行S205-S206,将结合图11示出的步骤进行说明。
S205、通过统一调用接口,从远端存储空间中读取目标参数;远端存储空间包含至少一种存储类型的子存储空间。
本公开实施例中,第二主机可以利用统一调用接口,屏蔽至少一种存储类型的子存储空间对应的不同读写方法,根据统一调用接口中实现的统一读写操作,将远端存储空间中的目标参数读取到本地。
S206、在第二本地存储中,根据目标参数的目标参数名,对目标参数名在第二本地存储中对应的第二本地参数值进行更新。
本公开实施例中,第二主机在第二本地存储中,根据目标参数的目标参数名,确定出对应的第二本地目标参数,使用目标参数的目标参数值更新第二本地目标参数的参数值,从而实现远端存储空间中的参数变更与本地存储空间的及时同步。
可以理解的是,通过统一调用接口进行调用,实现了对不同类型子存储空间读写操作的统一抽象,使得第二服务可以无差别管理各存储地的系统配置参数,从而提高了参数配置的效率和可维护性。
参见图12,图12是本公开实施例提供的第一服务与第二服务共享参数过程的流程示意图,将结合图12示出的步骤进行说明。
本公开实施例中,在分布式部署场景中会存在多个服务同时使用相同的存储空间。如第一服务与第二服务参数共享,共同使用远端存储空间。由于客户端的参数修改请求只会发送到当前正在提供业务的第一服务,为了防止多个服务之间缓存的参数值不一致而出现服务间状态不一致的问题,第二服务通过参数管理程序定时对比远端存储空间与第二本地存储空间,如第二本地缓存中的参数值是否发生变化。当通过对比发现远端存储空间与第二本地缓存的配置参数对应的数据不一致时,第二服务向远端存储空间发送请求,远端存储空间进行请求响应,快速将包含新参数值的目标参数同步到参数管理程序,通过参数管理程序将目标参数在第二本地缓存中更新,并触发目标参数修改事件即第二参数修改事件将目标参数加载至第二服务,以使目标参数中的新参数值实时生效。
下面,将结合图13,说明本公开实施例在一个实际的应用场景中的示例性应用。
如图13所示,实际的数据处理系统中的远端存储空间可以是包含各个不同类型存储设备,如MySQL数据库、对象存储服务与本地配置文件等设备的存储空间集合。数据处理系统通过抽象一个统一调用接口作为统一的配置管理接口,通过统一调用接口处理不同存储类型的IO操作,使数据处理系统中的多个多个业务服务能够无差别管理各存储地的系统配置参数。其中,数据处理系统中的业务服务在初始化阶段,可以通过统一调用接口从远端存储空间中读取至少一个第一预设参数加载至自身,以完成初始化并正常启动,并基于至少一个第一预设参数生成自身对应的预设事件注册表。这样,业务服务在接收到针对自身的参数修改请求的情况下,或者发现自身对应的本地参数与远端存储空间中的参数不一致的情况下,可以执行参数变更对应的写入的流程,触发预设事件注册表中目标参数对应的目标参数修改事件,同时调用目标参数修改事件对应的目标回调函数,将目标参数加载至自身,从而实现了在分布式部署时服务间的状态同步。
下面继续说明本公开实施例提供的第一数据处理装置255-1的实施为软件部分的示例性结构,在一些实施例中,如图2所示,存储在第一存储器250-1的第一数据处理装置255-1中的软件部分可以包括:第一触发部分2551、第一调用部分2552和记录部分2553,其中,
所述第一触发部分2551,被配置为在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
所述第一调用部分2552,被配置为使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
所述记录部分2553,被配置为运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
在一些实施例中,第一数据处理装置255-1还包括第一注册部分;所述第一注册部分,被配置为所述根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件之前,在对所述第一服务进行初始化的情况下,获取所述第一服务对应的至少一个第一预设参数,以及所述至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,所述目标参数属于至少一个第一预设参数;所述第一预设参数加载方法为所述第一服务中预先配置的参数加载方法;对于所述每个第一预设参数,生成与所述每个第一预设参数对应的第一预设参数修改事件;其中,所述第一预设参数修改事件对应的第一预设回调函数为所述每个第一预设参数对应的第一预设参数加载方法;所述目标参数修改事件为所述第一预设事件注册表中与所述目标参数对应的第一预设参数修改事件;所述目标回调函数为所述目标参数修改事件对应的第一预设回调函数;将所述第一预设参数修改事件对应注册在所述每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为所述第一预设事件注册表。
在一些实施例中,所述第一触发部分2551,还被配置为在通过预设参数修改接口,接收到针对于所述参数修改请求的情况下,调用所述预设参数修改接口中预先实现的预设事件驱动方法,根据所述目标参数访问所述第一预设事件注册表;在所述第一预设事件注册表中,确定出所述目标参数对应的第一预设参数修改事件作为所述目标参数修改事件,并通过所述预设事件驱动方法触发所述目标参数修改事件。
在一些实施例中,所述第一调用部分2552,还被配置为根据所述第一预设事件注册表,确定所述目标参数修改事件对应的目标回调函数;通过所述预设事件驱动方法,使用所述目标参数调用所述目标回调函数,将所述目标参数传入所述目标回调函数中实现的目标预设参数加载方法,并通过所述目标预测参数加载方法将所述目标参数加载至所述第一服务;所述目标预设参数加载方法为所述目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;所述至少一个第一预设参数加载方法为所述第一服务中至少一个第一预设参数对应的预设参数加载方法。
在一些实施例中,所述第一触发部分2551,还被配置为通过所述统一调用接口访问所述远端存储空间,根据所述目标参数的目标参数名,从所述至少一个远端参数中确定出目标远端参数;所述远端存储空间包含至少一种存储类型的子存储空间;所述统一调用接口用于通过统一调用方式实现对所述至少一种存储类型的子存储空间的读写操作;所述目标远端参数为所述第一服务与所述第二服务的共享参数;所述第二服务用于对所述第一服务的业务数据进行同步;使用所述目标参数更新所述目标远端参数,将所述目标参数同步更新至所述第二服务。
在一些实施例中,所述第一数据处理装置255-1还包括第一更新部分;所述第一更新部分,被配置为根据所述目标参数,对所述目标参数在第一本地存储中对应的第一本地目标参数进行更新;所述第一本地存储为所述第一服务所在第一主机上的存储空间。
下面继续说明本公开实施例提供的第二数据处理装置255-2的实施为软件部分的示例性结构,在一些实施例中,如图3所示,存储在第二存储器250-2的第二数据处理装置255-2中的软件部分可以包括:对比部分2551、第二触发部分2552、第二调用部分2553和同步部分2554,其中,
所述对比部分2551,被配置为根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
所述第二触发部分2552,被配置为在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
所述第二调用部分2553,被配置为通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
所述同步部分2554,被配置为运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
在一些实施例中,所述第二数据处理装置255-2还包括:第二注册部分,所述第二注册部分,被配置为所述根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件之前,在对所述第二服务进行初始化的情况下,基于所述第二服务对应的至少一个第二预设参数与所述至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到所述第二预设事件注册表;所述第二预设事件注册表中,所述至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;所述至少一个第二预设参数加载方法中的每个第二预设参数加载方法为所述至少一个第二预设参数修改事件各自对应的回调函数。
在一些实施例中,所述第二数据处理装置255-2还包括:第二更新部分,所述第二更新部分,被配置为从所述第二远端参数中确定出目标参数之后,通过所述统一调用接口,从所述远端存储空间中读取所述目标参数;所述远端存储空间包含至少一种存储类型的子存储空间;根据所述目标参数,对所述目标参数在第一本地存储中对应的第二本地目标参数进行更新;所述第二本地存储为所述第二服务所在第二主机上的存储空间。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本公开实施例上述的数据处理方法。
本公开实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本公开实施例提供的方法,例如,如图4-8、以及图10、图11中示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本公开实施例,在接收到参数修改请求的情况下,可以根据目标参数,触发对应的目标参数修改事件,进而作为对目标参数修改事件的响应,调用对应的目标回调函数来将目标参数实时加载至第一服务,使得第一服务可以基于新的目标参数的值进行游戏状态的记录,从而可以通过预先在事件注册表中将参数修改事件的回调函数配置为参数加载方法,并通过事件触发机制来响应参数修改请求,实时调用对应的回调函数,达到参数变更后即时生效的效果;并且,对于实际场景中由不同类型存储设备组成的远端存储空间,可以通过统一调用接口,无差别地管理和更新远端存储空间中对应的远端参数,进而实现至少一个服务的参数同步,从而大大提高了参数配置的效率。并且,第二服务可以通过定时对比本地参数与远端参数的差异,快速发现参数变更事件,并通过预先涉及事件驱动模型以及预先定义参数变更后需要执行的事件,通过事件触发响应机制将更新后的远端参数及时同步到本地进行加载,使得远端存储空间中更新的远端参数可以实时生效,提高了参数配置的效率。并且通过统一调用接口进行调用,实现了对不同类型子存储空间读写操作的统一抽象,使得服务可以无差别管理各存储地的系统配置参数,从而提高了参数配置的效率和可维护性。
以上所述,仅为本公开的实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本公开的保护范围之内。
Claims (20)
1.一种数据处理方法,包括:
在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
2.根据权利要求1所述的方法,其中,所述根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件之前,所述方法还包括:
在对所述第一服务进行初始化的情况下,获取所述第一服务对应的至少一个第一预设参数,以及所述至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,所述目标参数属于至少一个第一预设参数;所述第一预设参数加载方法为所述第一服务中预先配置的参数加载方法;
对于所述每个第一预设参数,生成与所述每个第一预设参数对应的第一预设参数修改事件;其中,所述第一预设参数修改事件对应的第一预设回调函数为所述每个第一预设参数对应的第一预设参数加载方法;所述目标参数修改事件为所述第一预设事件注册表中与所述目标参数对应的第一预设参数修改事件;所述目标回调函数为所述目标参数修改事件对应的第一预设回调函数;
将所述第一预设参数修改事件对应注册在所述每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为所述第一预设事件注册表。
3.根据权利要求1或2所述的方法,其中,所述在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件,包括:
在通过预设参数修改接口,接收到针对于所述参数修改请求的情况下,调用所述预设参数修改接口中预先实现的预设事件驱动方法,根据所述目标参数访问所述第一预设事件注册表;
在所述第一预设事件注册表中,确定出所述目标参数对应的第一预设参数修改事件作为所述目标参数修改事件,并通过所述预设事件驱动方法触发所述目标参数修改事件。
4.根据权利要求3所述的方法,其中,所述使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务,包括:
根据所述第一预设事件注册表,确定所述目标参数修改事件对应的目标回调函数;
通过所述预设事件驱动方法,使用所述目标参数调用所述目标回调函数,将所述目标参数传入所述目标回调函数中实现的目标预设参数加载方法,并通过所述目标预测参数加载方法将所述目标参数加载至所述第一服务;所述目标预设参数加载方法为所述目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;所述至少一个第一预设参数加载方法为所述第一服务中至少一个第一预设参数对应的预设参数加载方法。
5.根据权利要求1或2所述的方法,其中,所述通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数,包括:
通过所述统一调用接口访问所述远端存储空间,根据所述目标参数的目标参数名,从所述至少一个远端参数中确定出目标远端参数;所述远端存储空间包含至少一种存储类型的子存储空间;所述统一调用接口用于通过统一调用方式实现对所述至少一种存储类型的子存储空间的读写操作;所述目标远端参数为所述第一服务与所述第二服务的共享参数;所述第二服务用于对所述第一服务的业务数据进行同步;
使用所述目标参数更新所述目标远端参数,将所述目标参数同步更新至所述第二服务。
6.根据权利要求1或2所述的方法,其中,所述方法还包括:
根据所述目标参数,对所述目标参数在第一本地存储中对应的第一本地目标参数进行更新;所述第一本地存储为所述第一服务所在第一主机上的存储空间。
7.一种数据处理方法,包括:
根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
8.根据权利要求7所述的方法,其中,所述根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件之前,所述方法还包括:
在对所述第二服务进行初始化的情况下,基于所述第二服务对应的至少一个第二预设参数与所述至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到所述第二预设事件注册表;所述第二预设事件注册表中,所述至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;所述至少一个第二预设参数加载方法中的每个第二预设参数加载方法为所述至少一个第二预设参数修改事件各自对应的回调函数。
9.根据权利要求7或8所述的方法,其中,所述从所述第二远端参数中确定出目标参数之后,所述方法还包括:
通过所述统一调用接口,从所述远端存储空间中读取所述目标参数;所述远端存储空间包含至少一种存储类型的子存储空间;
根据所述目标参数,对所述目标参数在第一本地存储中对应的第二本地目标参数进行更新;所述第二本地存储为所述第二服务所在第二主机上的存储空间。
10.一种第一主机,其中,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令以:
在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
11.根据权利要求10所述的第一主机,其中,在根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件之前,所述第一处理器配置为:
在对所述第一服务进行初始化的情况下,获取所述第一服务对应的至少一个第一预设参数,以及所述至少一个第一预设参数中每个第一预设参数对应的第一预设参数加载方法;其中,所述目标参数属于至少一个第一预设参数;所述第一预设参数加载方法为所述第一服务中预先配置的参数加载方法;
对于所述每个第一预设参数,生成与所述每个第一预设参数对应的第一预设参数修改事件;其中,所述第一预设参数修改事件对应的第一预设回调函数为所述每个第一预设参数对应的第一预设参数加载方法;所述目标参数修改事件为所述第一预设事件注册表中与所述目标参数对应的第一预设参数修改事件;所述目标回调函数为所述目标参数修改事件对应的第一预设回调函数;
将所述第一预设参数修改事件对应注册在所述每个第一预设参数上,得到第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系,作为所述第一预设事件注册表。
12.根据权利要求10或11所述的第一主机,其中,当在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件时,所述第一处理器配置为:
在通过预设参数修改接口,接收到针对于所述参数修改请求的情况下,调用所述预设参数修改接口中预先实现的预设事件驱动方法,根据所述目标参数访问所述第一预设事件注册表;
在所述第一预设事件注册表中,确定出所述目标参数对应的第一预设参数修改事件作为所述目标参数修改事件,并通过所述预设事件驱动方法触发所述目标参数修改事件。
13.根据权利要求12所述的第一主机,其中,当所述使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务时,所述第一处理器配置为:
根据所述第一预设事件注册表,确定所述目标参数修改事件对应的目标回调函数;
通过所述预设事件驱动方法,使用所述目标参数调用所述目标回调函数,将所述目标参数传入所述目标回调函数中实现的目标预设参数加载方法,并通过所述目标预测参数加载方法将所述目标参数加载至所述第一服务;所述目标预设参数加载方法为所述目标参数在至少一个第一预设参数加载方法中对应的第一预设参数加载方法;所述至少一个第一预设参数加载方法为所述第一服务中至少一个第一预设参数对应的预设参数加载方法。
14.根据权利要求10或11所述的第一主机,其中,当通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数时,所述第一处理器配置为:
通过所述统一调用接口访问所述远端存储空间,根据所述目标参数的目标参数名,从所述至少一个远端参数中确定出目标远端参数;所述远端存储空间包含至少一种存储类型的子存储空间;所述统一调用接口用于通过统一调用方式实现对所述至少一种存储类型的子存储空间的读写操作;所述目标远端参数为所述第一服务与所述第二服务的共享参数;所述第二服务用于对所述第一服务的业务数据进行同步;
使用所述目标参数更新所述目标远端参数,将所述目标参数同步更新至所述第二服务。
15.根据权利要求10或11所述的第一主机,其中,所述第一处理器还配置为:
根据所述目标参数,对所述目标参数在第一本地存储中对应的第一本地目标参数进行更新;所述第一本地存储为所述第一服务所在第一主机上的存储空间。
16.一种第二主机,其中,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令以:
根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
17.根据权利要求16所述的第二主机,其中,在根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件之前,所述第二处理器还配置为:
在对所述第二服务进行初始化的情况下,基于所述第二服务对应的至少一个第二预设参数与所述至少一个第二预设参数对应的至少一个第二预设参数加载方法,得到所述第二预设事件注册表;所述第二预设事件注册表中,所述至少一个第二预设参数与至少一个第二预设参数修改事件一一对应;所述至少一个第二预设参数加载方法中的每个第二预设参数加载方法为所述至少一个第二预设参数修改事件各自对应的回调函数。
18.根据权利要求16或17所述的第二主机,其中在从所述第二远端参数中确定出目标参数之后,所述第二处理器还配置为:
通过所述统一调用接口,从所述远端存储空间中读取所述目标参数;所述远端存储空间包含至少一种存储类型的子存储空间;
根据所述目标参数,对所述目标参数在第一本地存储中对应的第二本地目标参数进行更新;所述第二本地存储为所述第二服务所在第二主机上的存储空间。
19.一种计算机可读存储介质,其中,存储有可执行指令,用于被第一处理器执行以:
在接收到针对于第一服务的参数修改请求的情况下,根据所述参数修改请求中的目标参数,触发第一预设事件注册表中的目标参数修改事件;并通过统一调用接口,更新所述目标参数在远端存储空间中对应的远端参数;所述第一预设事件注册表表征所述第一服务中的第一预设参数、第一预设参数修改事件与第一预设回调函数的映射关系;所述远端存储空间用于存储至少一个服务的至少一个远端参数;
使用所述目标参数,调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第一服务;
运行所述第一服务,基于所述目标参数,对游戏区域的游戏状态进行记录。
20.一种计算机可读存储介质,其中,存储有可执行指令,用于被第二处理器执行以:
根据预设时间间隔,通过统一调用接口,将第二服务在第二本地存储中的第二本地参数与远端存储空间中的第二远端参数进行对比,得到对比结果;所述第二本地存储为所述第二服务所在第二主机上的存储空间;所述第二远端参数包含第一服务与所述第二服务的共享参数;所述第一服务用于对游戏区域的游戏状态进行记录;
在所述对比结果表征所述第二本地参数与所述第二远端参数不一致的情况下,从所述第二远端参数中确定出目标参数;并根据所述目标参数,触发第二预设事件注册表中所述目标参数名对应的目标参数修改事件;所述第二预设事件注册表表征所述第二服务中第二预设参数名、第二预设参数修改事件与第二预设回调函数的映射关系;
通过调用所述目标参数修改事件对应的目标回调函数,将所述目标参数加载至所述第二服务;
运行所述第二服务,基于所述目标参数,对所述第一服务进行同步。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202109388P | 2021-08-27 | ||
SG10202109388P | 2021-08-27 | ||
PCT/IB2021/058443 WO2023026084A1 (en) | 2021-08-27 | 2021-09-16 | Data processing method, apparatus, system and device and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113660988A true CN113660988A (zh) | 2021-11-16 |
Family
ID=78484354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180002701.7A Pending CN113660988A (zh) | 2021-08-27 | 2021-09-16 | 数据处理方法、装置、系统、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113660988A (zh) |
AU (1) | AU2021240195A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627857A (zh) * | 2023-05-25 | 2023-08-22 | 合芯科技有限公司 | 一种处理器核外缓存模型及模拟方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334178B1 (en) * | 1998-08-31 | 2001-12-25 | International Business Machines Corporation | Multiprocessing system with automated propagation of changes to centrally maintained configuration settings |
US20060287089A1 (en) * | 2005-05-13 | 2006-12-21 | Addington David R | System and method for interfacing a simulation device with a gaming device |
CN111078313A (zh) * | 2019-12-09 | 2020-04-28 | 神州数码融信软件有限公司 | 一种业务参数配置方法 |
CN111966311A (zh) * | 2020-07-15 | 2020-11-20 | 北京视博云信息技术有限公司 | 云游戏的显示设置方法、装置、可读存储介质及设备 |
CN112866177A (zh) * | 2019-11-26 | 2021-05-28 | 浙江大搜车软件技术有限公司 | 处理服务调用请求的方法、装置、存储介质及计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287098A1 (en) * | 2001-09-28 | 2006-12-21 | Morrow James W | System and method for gaming-content configuration and management system |
US7669177B2 (en) * | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
-
2021
- 2021-09-16 AU AU2021240195A patent/AU2021240195A1/en not_active Abandoned
- 2021-09-16 CN CN202180002701.7A patent/CN113660988A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334178B1 (en) * | 1998-08-31 | 2001-12-25 | International Business Machines Corporation | Multiprocessing system with automated propagation of changes to centrally maintained configuration settings |
US20060287089A1 (en) * | 2005-05-13 | 2006-12-21 | Addington David R | System and method for interfacing a simulation device with a gaming device |
CN112866177A (zh) * | 2019-11-26 | 2021-05-28 | 浙江大搜车软件技术有限公司 | 处理服务调用请求的方法、装置、存储介质及计算机设备 |
CN111078313A (zh) * | 2019-12-09 | 2020-04-28 | 神州数码融信软件有限公司 | 一种业务参数配置方法 |
CN111966311A (zh) * | 2020-07-15 | 2020-11-20 | 北京视博云信息技术有限公司 | 云游戏的显示设置方法、装置、可读存储介质及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627857A (zh) * | 2023-05-25 | 2023-08-22 | 合芯科技有限公司 | 一种处理器核外缓存模型及模拟方法 |
CN116627857B (zh) * | 2023-05-25 | 2023-11-24 | 合芯科技有限公司 | 一种处理器核外缓存模型及模拟方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2021240195A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
KR101644666B1 (ko) | 장치와 웹 서비스 간에 브라우저 캐시를 동기화하는 프로그래밍 모델 | |
US8910138B2 (en) | Hot pluggable extensions for access management system | |
US11030025B2 (en) | Managing inter-process communications in a containerized application environment | |
US10838977B2 (en) | Key-value replication with consensus protocol | |
JP7493053B2 (ja) | イメージファイル生成方法、装置及びコンピュータプログラム | |
CN111796838B (zh) | Mpp数据库自动部署方法及装置 | |
WO2022134797A1 (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN114422343A (zh) | 业务配置方法、设备、系统及计算机可读存储介质 | |
CN116028163A (zh) | 一种容器组的动态链接库调度方法、装置及存储介质 | |
CN114706690A (zh) | 一种Kubernetes容器共享GPU方法及系统 | |
CN113660988A (zh) | 数据处理方法、装置、系统、设备及计算机可读存储介质 | |
CN113296891B (zh) | 基于平台的多场景知识图谱处理方法及装置 | |
US7739232B2 (en) | Programming system for occasionally-connected mobile business applications | |
CN114356504A (zh) | 集群中数据迁移方法、装置、电子设备和存储介质 | |
WO2024109540A1 (zh) | 芯片电路、处理器的启动方法及服务器 | |
WO2023026084A1 (en) | Data processing method, apparatus, system and device and computer-readable storage medium | |
CN110096552A (zh) | 一种业务数据的读、写方法、装置、设备和存储介质 | |
US11979307B2 (en) | Network switching method and apparatus, electronic device, and storage medium | |
CN114625575A (zh) | 业务系统同步方法、装置、设备及存储介质 | |
CN111580942A (zh) | 分布式系统定时任务的处理方法、装置及存储介质 | |
CN111597021A (zh) | 一种实现应用程序运行的方法、装置、系统及相关设备 | |
CN114896261B (zh) | 数据库的升级方法、装置、计算机设备和存储介质 | |
RU2816181C1 (ru) | Способ и система для управления доступами к ресурсам программной среды в геонавигационных сервисах | |
CN110489140B (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 |