一种游戏用户数据的存储方法及系统与流程

文档序号:11519779阅读:317来源:国知局
一种游戏用户数据的存储方法及系统与流程

本发明涉及计算机技术领域,尤其涉及一种游戏用户数据的存储方法及系统。



背景技术:

现有技术中,游戏属性多基于遍历数据表而得到,如:某种武器的攻击力属性,根据武器等级不同拥有不同的攻击力数值,所以每个等级都相应的需要存储一条数据记录。程序在获取该武器攻击力时再从数据表中查询对应的武器名称以及等级的攻击力数值。

而上述方法存在以下缺点:

缺点1:数据维护困难,初始化时需要对大量数据初始化,维护过程中如果出现需要修改相关属性值,需要维护的数据庞大容易出错。

缺点2:数据量大,假设游戏中有50种武器,武器级别有200个等级,则数据表中需存储10000条记录,而这仅仅是该武器一种属性的数据。这些配置文件增加了客户端安装包的大小。

缺点3:内存占用高,一个完整的游戏客户端包含了大量的属性配置数据(例如:角色属性、技能属性、战斗属性、装备属性、交易属性、系统属性、社交属性等等),这些配置在游戏启动后需要长时间驻留在客户端的内存中。

缺点4:cpu占用高,属性配置数据一般都是以json、xml、csv等格式存储在客户端,这些格式的数据在检索方面有着先天的劣势,导致客户端在搜索配置数据时需要额外占用很高的cpu。对于移动终端来说这意味着更大的耗电量。



技术实现要素:

本发明所要解决的技术问题是:提供了一种游戏用户数据的存储方法,通过表达式树对角色或武器等级对应的攻击力进行存储,减小了内存占用空间,提高了内存利用率。

为了解决上述技术问题,本发明提供了一种游戏用户数据的存储方法,包括以下步骤:

s1:获取游戏角色或武器攻击力的等级属性表;

s2:构建与所述等级属性表对应的数学表达式;

s3:构建与所述数学表达式对应的表达式树;

s4:通过所述表达式树存储所述数学表达式。

本发明还提供了一种游戏用户数据的存储系统,包括:

获取模块,用于获取游戏角色或武器攻击力的等级属性表;

第一构建模块,用于构建与所述等级属性表对应的数学表达式;

第二构建模块,用于构建与所述数学表达式对应的表达式树;

存储模块,用于通过所述表达式树存储所述数学表达式。

本发明的有益效果为:

相对于现有技术中通过数据表存储游戏角度或武器不同等级对应不同攻击力,存在占用内存空间过大的问题;本发明通过获取游戏角色或武器攻击力的等级属性表,通过等级属性表中不同等级对应不同的攻击力,得到对应的数学表达式,构建与所述数学表达式对应的表达式树;本发明通过表达式树存储所述角色或武器攻击力与等级之间的对应关系,解决了现有技术中通过庞大的数据表存储数据时,需要占用的内存空间过大,导致移动终端性能降低的问题;通过一个表达式树就能存储一种武器或一种角色的等级与攻击力相关的数据,减小了游戏安装包的大小,同时也降低了游戏运行过程中对cpu占用率,提高了用户在游戏时数据加载的速率,对移动端网络游戏和网页游戏这类对通信和安装包大小要求比较严格的游戏领域具有重要的意义。

附图说明

图1为本发明实施例的一种游戏用户数据的存储方法的主要步骤流程图;

图2为本发明实施例一的一种游戏用户数据的存储方法的步骤流程图;

图3为本发明实施例的一种游戏用户数据的存储系统的结构示意图;

图4为本发明实施例的第一构建模块和第二构建模块的结构示意图;

图5为本发明实施例的获取单元的结构示意图;

标号说明:

1、获取模块;2、第一构建模块;3、第二构建模块;4、存储模块;5、第一构建单元;6、拟合单元;7、获取单元;8、第二构建单元;9、分割子单元;10、第一获取子单元;11、第二获取子单元;12、第三获取子单元;13、第四获取子单元。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:构建表达式树,通过表达式树对角色或武器攻击力与等级之间的对应关系进行存储,减小了内存占用空间,提高了内存利用率。

请参照图1至图2,本发明提供的一种游戏用户数据的存储方法,包括以下步骤:

s1:获取游戏角色或武器攻击力的等级属性表;

s2:构建与所述等级属性表对应的数学表达式;

s3:构建与所述数学表达式对应的表达式树;

s4:通过所述表达式树存储所述数学表达式。

从上述描述可知,从上述描述可知,本发明通过获取游戏角色或武器攻击力的等级属性表,通过等级属性表中不同等级对应不同的攻击力,得到对应的数学表达式,构建与所述数学表达式对应的表达式树;本发明通过表达式树存储所述角色或武器攻击力与等级之间的对应关系,解决了现有技术中通过庞大的数据表存储数据时,需要占用的内存空间过大,导致移动终端性能降低的问题;通过一个表达式树就能存储一种武器或一种角色的等级与攻击力相关的数据,减小了游戏安装包的大小,同时也降低了游戏运行过程中对cpu占用率,提高了用户在游戏时数据加载的速率,对移动端网络游戏和网页游戏这类对通信和安装包大小要求比较严格的游戏领域具有重要的意义。

进一步的,所述s2具体为:

s21:根据所述等级属性表中所有的等级和攻击力,构建坐标点集合;所述坐标点集合中坐标点的横坐标为一所述等级,纵坐标为一所述攻击力;所述攻击力和所述等级一一对应;

s22:根据坐标点集合的所有坐标点,得到拟合曲线;

s23:根据所述拟合曲线,得到所述数学表达式。

从上述描述可知,通过坐标点,得到拟合曲线,通过拟合曲线,能够更准确得到所述数学表达式,在降低数据存储的同时,提高了数据加载的准确性。

进一步的,所述s23具体为:

根据所述拟合曲线上各点的曲率值,将所述拟合曲线分割为第一增长区曲线、平缓区曲线和第二增长区曲线;

根据所述第一增长区曲线和预设第一数学表达式模型,得到第一攻击力表达式;

根据所述平缓区曲线和预设第二数学表达式模型,得到第二攻击力表达式;

根据所述第二增长区曲线和预设第三数学表达式模型,得到第三攻击力表达式;

根据所述第一攻击力表达式、所述第二攻击力表达式和所述第三攻击力表达式,得到所述数学表达式。

从上述描述可知,由于攻击力与等级之间的曲线主要包括三部分:第一增长区曲线、平缓区曲线和第二增长区曲线;第一增长区曲线,为游戏的新手阶段或武器的初级阶段,为了提高用户吸引力,随着等级的增加,攻击力快速增长;平缓区曲线,此阶段随着等级的增加,攻击力的增长平缓;第二增长区曲线,此阶段随着等级的增加,攻击力的增长相对变快;对于三种不同的曲线,建立不同的数学模型,进一步提高了所述数学表达式体现攻击力与等级之间关系的准确性。

进一步的,所述一种游戏用户数据的存储方法,还包括:

将所述数学表达式中的除法运算转化为相应的乘法运算。

从上述描述可知,乘法运算相对于除法运算,能够提高计算机的计算速度,提高了数据加载的速率。

进一步的,所述s3具体为:

根据所述数学表达式,构建二叉树的树状结构。

从上述描述可知,通过所述二叉树对数据进行存储,能进一步减小数据存储的数据量。

进一步的,所述s4之后还包括:

加密所述二叉树的数据信息;

根据所述二叉树,得到与输入角色或武器等级相应的攻击力。

从上述描述可知,通过所述二叉树,输入角色或武器等级,就能输出相应的攻击力,相对于数据表的存储方法,极大的减小了内存的占用空间;同时对数据进行加密,提高了数据存储的安全性。

请参照图3至图5,本发明还提供了一种游戏用户数据的存储系统,包括:

获取模块1,用于获取游戏角色或武器攻击力的等级属性表;

第一构建模块2,用于构建与所述等级属性表对应的数学表达式;

第二构建模块3,用于构建与所述数学表达式对应的表达式树;

存储模块4,用于通过所述表达式树存储所述数学表达式。

从上述描述可知,本发明通过获取游戏角色或武器攻击力的等级属性表,通过等级属性表中不同等级对应不同的攻击力,得到对应的数学表达式,构建与所述数学表达式对应的表达式树;本发明通过表达式树存储所述角色或武器攻击力与等级之间的对应关系,解决了现有技术中通过庞大的数据表存储数据时,需要占用的内存空间过大,导致移动终端性能降低的问题;通过一个表达式树就能存储一种武器或一种角色的等级与攻击力相关的数据,减小了游戏安装包的大小,同时也降低了游戏运行过程中对cpu占用率,提高了用户在游戏时数据加载的速率,对移动端网络游戏和网页游戏这类对通信和安装包大小要求比较严格的游戏领域具有重要的意义。

进一步的,所述第一构建模块2包括:

第一构建单元5,用于根据所述等级属性表中所有的等级和攻击力,构建坐标点集合;所述坐标点集合中坐标点的横坐标为一所述等级,纵坐标为一所述攻击力;所述攻击力和所述等级一一对应;

拟合单元6,用于根据坐标点集合的所有坐标点,得到拟合曲线;

获取单元7,用于根据所述拟合曲线,得到所述数学表达式。

从上述描述可知,通过坐标点,得到拟合曲线,通过拟合曲线,能够更准确得到所述数学表达式,在降低数据存储的同时,提高了数据加载的准确性。

进一步的,所述获取单元7包括:

分割子单元9,用于根据所述拟合曲线上各点的曲率值,将所述拟合曲线分割为第一增长区曲线、平缓区曲线和第二增长区曲线;

第一获取子单元10,用于根据所述第一增长区曲线和预设第一数学表达式模型,得到第一攻击力表达式;

第二获取子单元11,用于根据所述平缓区曲线和预设第二数学表达式模型,得到第二攻击力表达式;

第三获取子单元12,用于根据所述第二增长区曲线和预设第三数学表达式模型,得到第三攻击力表达式;

第四获取子单元13,用于根据所述第一攻击力表达式、所述第二攻击力表达式和所述第三攻击力表达式,得到所述数学表达式。

从上述描述可知,由于攻击力与等级之间的曲线主要包括三部分:第一增长区曲线、平缓区曲线和第二增长区曲线;第一增长区曲线,为游戏的新手阶段或武器的初级阶段,为了提高用户吸引力,随着等级的增加,攻击力快速增长;平缓区曲线,此阶段随着等级的增加,攻击力的增长平缓;第二增长区曲线,此阶段随着等级的增加,攻击力的增长相对变快;对于三种不同的曲线,建立不同的数学模型,进一步提高了所述数学表达式体现攻击力与等级之间关系的准确性。

进一步的,所述第二构建模块3包括:

第二构建单元8,用于根据所述数学表达式,构建二叉树的树状结构。

从上述描述可知,通过所述二叉树对数据进行存储,能进一步减小数据存储的数据量。

请参照图2,本发明的实施例一为:

本发明提供的一种游戏用户数据的存储方法,包括以下步骤:

s1:获取游戏角色或武器攻击力的等级属性表;

s2:根据所述等级属性表中包括的等级和与所述等级对应的攻击力,构建坐标点集合;所述坐标点集合中坐标点的横坐标为一所述等级,纵坐标为一所述攻击力;所述攻击力和所述等级一一对应;

s3:根据坐标点集合的所有坐标点,得到拟合曲线;

s4:根据所述拟合曲线,得到所述数学表达式;

s5:根据所述数学表达式,构建二叉树的树状结构;

s6:通过所述二叉树存储所述数学表达式。

从上述描述可知,通过表达式树存储武器或角色的等级与攻击力之间的对应关系,无需通过数据表对数据进行存储,减小了游戏安装包的大小,同时也降低了游戏运行过程中对cpu占用率,提高了用户在游戏时数据加载的速率,对移动端网络游戏和网页游戏这类对通信和安装包大小要求比较严格的游戏领域具有重要的意义。

本发明的实施例二为:

本实施例二与实施例一的区别在于,一种游戏用户数据的存储方法,还包括:

将所述数学表达式中的除法运算转化为相应的乘法运算;

加密所述二叉树的数据信息;

根据所述二叉树,得到与输入角色或武器等级相应的攻击力。

从上述描述可知,通过上述方法提高了数据加载的速率,并提高了数据存储的安全性。

请参照图3至图5,本发明的实施例三为:

通过获取模块获取游戏角色或武器攻击力的等级属性表,并将获取结果发送至第一构建单元;第一构建单元根据所述等级属性表中所有的等级和攻击力,构建坐标点集合,并将坐标点集合发送至拟合单元;所述坐标点集合中坐标点的横坐标为一所述等级,纵坐标为一所述攻击力;所述攻击力和所述等级一一对应;拟合单元根据坐标点集合的所有坐标点,得到拟合曲线,并将拟合曲线发送至分割单元;分割子单元根据所述拟合曲线上各点的曲率值,将所述拟合曲线分割为第一增长区曲线、平缓区曲线和第二增长区曲线,并将第一增长区曲线发送至第一获取单元,将平缓区曲线发送至第二获取单元,将第二增长区曲线发送至第三获取单元;第一获取子单元根据所述第一增长区曲线和预设第一数学表达式模型,得到第一攻击力表达式,并将第一攻击力表达式发送至第四获取单元;第二获取子单元根据所述平缓区曲线和预设第二数学表达式模型,得到第二攻击力表达式,并第二攻击力表达式发送至第四获取单元;第三获取子单元根据所述第二增长区曲线和预设第三数学表达式模型,得到第三攻击力表达式,并第三攻击力表达式发送至第四获取单元;第四获取子单元根据所述第一攻击力表达式、所述第二攻击力表达式和所述第三攻击力表达式,得到所述数学表达式,并将所述数学表达式发送至第二构建模块;第二构建模块构建与所述数学表达式对应的表达式树,并将构建结果发送至存储模块;存储模块通过所述表达式树存储所述数学表达式。

本发明的实施例四为:

获取游戏角色或武器攻击力的等级属性表;根据所述等级属性表中包括的等级和与所述等级对应的攻击力,构建坐标点集合;所述坐标点集合中坐标点的横坐标为一所述等级,纵坐标为一所述攻击力;将坐标点集合中的所有坐标点进行曲线拟合,通过设置斜率阀值,将得到的曲线根据曲线各点的斜率值,分为第一增长区曲线、平缓区曲线和第二增长区曲线;根据第一增长区曲线和预设的第一数学表达式模型,计算得到第一攻击力表达式,由于第一增长曲线中,随着等级增加,攻击力快速增长,故预设的第一数学表达式模型为y=atan(plv)*a,其中y表示攻击力的数值,plv表示等级,a为预设第一系数;根据所述平缓区曲线和预设的第二数学表达式模型,计算得到第二攻击力表达式,由于平缓区曲线,随着等级增加,攻击力趋于平缓,故预设的第二攻击力表达式模型为y=log(plv+b)*c,其中y表示攻击力的数值,plv表示等级,b为预设第二系数,c为预设第三系数;通过第二增长区曲线和预设的第三数学表达式模型,计算得到第三攻击力表达式,由于第二增长区曲线,随着等级增加,攻击力增长加快,故预设的第三攻击力表达式模型为y=plv*plv*plv/d,其中y表示攻击力的数值,plv表示等级,d为预设第四系数;根据计算得到的第一攻击力表达式、第二攻击力表达式和第三攻击力表达式,能够得到表示攻击力与等级之间的数学表达式,其中数学表达式中各个变量及常量的数据类型为浮点型,将数学表达式中2的整数次幂的乘法运算或除法运算,转换为相应的位运算,并将数学表达式中的其他的除法运算转化为相应的乘法运算,通过上述方法对数学表达式进行化简,能够提高计算机的运算性能;并将化简后的数学表达式,进行构建相应的表达式树,通过表达式树存储数学表达式。

综上所述,本发明提供的一种游戏用户数据的存储方法及系统,本发明通过获取游戏角色或武器攻击力的等级属性表,通过等级属性表中不同等级对应不同的攻击力,得到对应的数学表达式,构建与所述数学表达式对应的表达式树;本发明通过表达式树存储所述角色或武器攻击力与等级之间的对应关系,解决了现有技术中通过庞大的数据表存储数据时,需要占用的内存空间过大,导致移动终端性能降低的问题;通过一个表达式树就能存储一种武器或一种角色的等级与攻击力相关的数据,减小了游戏安装包的大小,同时也降低了游戏运行过程中对cpu占用率,提高了用户在游戏时数据加载的速率,对移动端网络游戏和网页游戏这类对通信和安装包大小要求比较严格的游戏领域具有重要的意义。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1