[发明专利]游戏服务端虚拟时间实现方法有效
申请号: | 201310695034.2 | 申请日: | 2013-12-13 |
公开(公告)号: | CN103678919B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 吴开 | 申请(专利权)人: | 广东星辉天拓互动娱乐有限公司 |
主分类号: | G06F19/00 | 分类号: | G06F19/00 |
代理公司: | 北京联瑞联丰知识产权代理事务所(普通合伙)11411 | 代理人: | 黄冠华 |
地址: | 510000 广东省广州市天河区软件园高唐新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 服务端 虚拟 时间 实现 方法 | ||
技术领域
本发明涉及游戏服务器处理技术,具体涉及游戏服务器时间处理的方法。
背景技术
操作系统为了应对各种各样的时间需求,其时间精度很高。操作系统的时间可以被简单的设置,这样可能会导致游戏服务器的时间不是单调递增的,而引起依赖于时间的游戏逻辑错误。此外,对于游戏中的时间触发的逻辑,可能会因为服务器在某一个时刻很卡,导致某一时刻的系统时间被跳过,而无法进行时间触发。为保证时间的准确性,现有技术一般采用频繁读取系统时间的方式而保障时间精确度,然而游戏服务器对时间精度的需求都不高,一般100毫秒基本就够了,如果频繁的读取系统时间反而会因为不必要的时间精度浪费计算机性能。
发明内容
针对上述现有技术不足,本发明要解决的技术问题是提供一种满足游戏服务器时间需求,保证游戏服务器时间是单调递增的,避免游戏逻辑错误。
为解决上述技术问题,本发明采用的技术方案为,游戏服务端虚拟时间实现方法,包括如下步骤:
S1:服务器启动时,获取当前现实时间进行缓存,作为虚拟时间的时间值起点;
S2:在程序运行过程中,服务器定期刷新缓存内的时间值,作为当前虚拟时间;
S3:在程序运行过程中,服务器需要获得时间条件执行逻辑的,均通过缓存内的虚拟时间作为时间条件。
这样的方案使服务器的时间不以操作系统为依据,而由游戏服务器本身的缓存时间进行获取,提高性能,并保证时间是单调递增的。
进一步的技术方案为,所述步骤S2中,服务器每间隔一个游戏最小时间单位,刷新一次缓存内的时间值。
这样的方案保证游戏的每一个时间都会作为时间条件而被执行逻辑,不会因为服务器卡而跳过某些时间,导致某些逻辑无法执行,而令运行出现逻辑错误。
再进一步的技术方案为,所述步骤S2中,刷新缓存内时间值的具体步骤为:通过服务器的CPU时钟周期及服务器标准帧率,计算一个游戏最小时间单位内执行逻辑数量的理论标准值;当累计执行的逻辑数量达到理论标准值时,对缓存内的时间值增加一个游戏最小时间单位,并重新累计一次执行的逻辑数量。
这样的方案使虚拟时间不依赖外接时间而增加。
再进一步的技术方案为,所述步骤S2中,还包括把每次累计中执行一个理论标准值数量的逻辑的实际时间与游戏最小时间单位进行对比的步骤,当执行一个理论标准值数量的逻辑的实际时间大于游戏最小时间单位时,增大服务器的实际帧率,直到当执行一个理论标准值数量的逻辑的实际时间等于游戏最小时间单位时,把服务器的实际帧率重新调整为服务器标准帧率。
这样的方案使服务器具有追赶时间的能力,但又不跳过每一个时间。
进一步的技术方案为,还包括步骤S4:当收到关闭服务器命令时,服务器在关闭过程中,保存一次时间记录文件;
所述步骤S1中,还包括在服务器启动时,读取时间记录文件,判断时间合法性的步骤;若合法,则执行步骤S1,正常启动后续步骤;若不合法,则停止执行后续步骤,退出进程。
这样的方案使得服务器在关闭后重启时仍能保证时间的单调递增,避免因服务器启动时就存在时间错误而引发逻辑错误。
再进一步的技术方案为,所述步骤S4中,保存时间记录文件,具体为在时间记录文件中,标记服务器状态为关闭,并记录关闭时的虚拟时间;
所述步骤S1中,判断时间合法性的步骤具体为:当时间记录文件中的服务器状态为关闭时,若当前现实时间或虚拟时间大于关闭时的虚拟时间,则判断为时间合法;否则,判断为时间不合法。
更进一步的技术方案为,还包括步骤S5:在程序运行过程中,每相隔一个指定时间,更新一次时间记录文件,把时间记录文件中的服务器状态标记为运行,并记录当时的虚拟时间;
所述步骤S1,判断时间合法性的步骤还包括:当时间记录文件中的服务器状态为运行时,若当前现实时间或虚拟时间减去记录时的虚拟时间的差值大于指定时间,则判断为时间合法;否则,判断为时间不合法。
这样的方案保证服务器在不正常关闭的情况下,启动时仍能保证时间的单调递增。
优选的技术方案为,所述指定时间为3-6分钟。
本发明的游戏服务端虚拟时间实现方法,对比于传统的时间处理方案,能更有效地保证时间的单调递增性,性能更高效;并能保证在服务器关闭维护后依然能保证时间的单调递增性;且能很容易的加速或者减速服务器的时间运行,方便特殊逻辑的调试,完善服务器对意外情况的处理能力。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东星辉天拓互动娱乐有限公司,未经广东星辉天拓互动娱乐有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695034.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种遥控器
- 下一篇:基于非局部均值的视频去噪方法和装置
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用