[发明专利]一种数据处理方法、装置和电子设备有效
申请号: | 202010718400.1 | 申请日: | 2020-07-23 |
公开(公告)号: | CN111949252B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 尚乐 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/71;A63F13/77 |
代理公司: | 深圳新创友知识产权代理有限公司 44223 | 代理人: | 方艳平 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 电子设备 | ||
本发明公开了一种数据处理方法,包括:针对配置数据定义一个属性监控类,所述属性监控类用于监测配置数据是否被修改或删除;响应针对配置数据的获取请求,确定所述配置数据是否为可变类型数据;若所述配置数据为可变类型数据,根据所述属性监控类将所述配置数据封装为监控对象数据;返回所述监控对象数据。本发明还公开了一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现前述的数据处理方法的步骤。本发明提供了一种通用的数据结构支持所有配置数据的只读功能,同时支持嵌套数据的只读功能。
技术领域
本发明涉及计算机领域,尤其涉及一种数据处理方法、装置和电子设备。
背景技术
游戏开发中会用到大量的配置数据,这些数据通常是由策划填表后再转换为代码在程序中使用,在python开发的游戏中,这些配置数据一般会存放在python的dict(字典)、list(列表)、set(集合)等数据结构中,例如物品配置信息如下:
这些配置数据会在很多地方使用(例如物品配置信息可能会在包裹系统、奖励系统、邮件系统等地方使用),通常是不能修改,一旦某个地方不小心修改,会导致其他所有用到的地方都受影响,这种潜在的风险在语法和语义层面都是无法检测的,但在逻辑层面上就会导致程序异常造成bug。
目前常用的只读数据实现是分别继承python的dict、list、set等,实现一个新的数据结构,例如ReadOnlyDict、ReadOnlyList、ReadOnlySet等,然后禁用掉可以修改各个数据结构的方法,例如dict的update、pop,list的insert、remove等,这样就无法直接修改对应的数据。但采用此方案后,仍会有数据意外被意外修改。
以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
基于现有技术中需要针对每种数据结构单独继承实现新的数据结构的问题以及嵌套数据无法实现只读的问题,本发明提出了一种数据处理方法、装置和电子设备,提供了一种通用的数据结构支持所有配置数据的只读功能,同时支持嵌套数据的只读功能。
为了达到上述目的,本发明采用以下技术方案:
第一方面,本发明的实施例提供了一种数据处理方法,包括:
针对配置数据定义一个属性监控类,所述属性监控类用于监测配置数据是否被修改或删除;
响应针对配置数据的获取请求,确定所述配置数据是否为可变类型数据;若所述配置数据为可变类型数据,根据所述属性监控类将所述配置数据封装为监控对象数据;
返回所述监控对象数据。
优选地,若所述配置数据为不可变类型数据,返回所述配置数据。
优选地,在返回所述监控对象数据之后,所述方法包括:
监测针对所述监控对象数据中包含的配置数据的处理操作;
若所述处理操作包括修改操作或删除操作,禁止修改或禁止删除所述配置数据;
否则,调用所述监控对象数据中包含的配置数据。
优选地,在所述禁止修改或禁止删除所述配置数据时,提示操作错误信息。
优选地,所述监控对象数据包括与所述配置数据对应的修改函数、删除函数和只读函数;
所述禁止修改或禁止删除所述配置数据,包括:
调用所述修改函数或删除函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010718400.1/2.html,转载请声明来源钻瓜专利网。