[发明专利]基于Golang开发框架开发游戏系统的方法、系统、装置和介质在审
申请号: | 202111248240.X | 申请日: | 2021-10-26 |
公开(公告)号: | CN114153625A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 郭贺 | 申请(专利权)人: | 杭州电魂网络科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;A63F13/60 |
代理公司: | 杭州创智卓英知识产权代理事务所(普通合伙) 33324 | 代理人: | 张超 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 golang 开发 框架 游戏 系统 方法 装置 介质 | ||
本申请涉及一种基于Golang开发框架开发游戏系统的方法、系统、装置和介质,其中,该方法包括:获取主服务链接,并启动读协程和写协程,通过读协程获取主服务发送的数据,并根据自定义规则解析数据得到数据包和包头;接着,将数据包分发到对应消息队列通道中,并获取空闲的逻辑处理协程,通过该逻辑处理协程对数据包进行逻辑处理,得到处理数据并实时存入redis或数据库中;最后,将处理数据返回给写协程,通过写协程将处理数据写入网络缓冲区,并发送给主服务。通过本申请,解决了基于Golang开发框架开发游戏系统时,存在的开发效率低、开发成本高的问题,提高了开发效率,降低了成本。
技术领域
本申请涉及计算机技术领域,特别是涉及基于Golang开发框架开发游戏系统的方法、系统、装置和介质。
背景技术
现今的服务框架开发采用的是C++语言,对开发人员要求较高,然而,开发效率却比较低,不便于进行线上热更新,存在单点服务的问题。此外,在对原有服务框架进行升级时,由于原有业务逻辑过多,服务逻辑复杂,无法一次性替换为新服务框架。例如,使用Golang开发框架进行迭代替换时,会存在Golang与C++服务跨语言数据交互的问题,这会导致原C++框架开发人员使用golang框架开发时,需要较长时间熟悉新框架结构,时间成本较高。
目前针对相关技术中,基于Golang开发框架开发游戏系统时,存在的开发效率低、开发成本高的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于Golang开发框架开发游戏系统的方法、系统、装置和介质,以至少解决相关技术中基于Golang开发框架开发游戏系统时,存在的开发效率低、开发成本高的问题。
第一方面,本申请实施例提供了一种基于Golang开发框架开发游戏系统的方法,所述方法包括:
获取主服务链接,并启动读协程和写协程,通过所述读协程获取主服务发送的数据,并根据自定义规则解析所述数据得到数据包和包头;
将所述数据包分发到对应消息队列通道中,并获取空闲的逻辑处理协程,通过所述逻辑处理协程对所述数据包进行逻辑处理,得到处理数据并实时存入redis或数据库中;
将所述处理数据返回给所述写协程,通过所述写协程将所述处理数据写入网络缓冲区,并发送给主服务。
在其中一些实施例中,在获取主服务链接之前,所述方法包括:
启动所述主服务,加载配置,并启动逻辑协程池和监听链接协程。
在其中一些实施例中,在通过所述逻辑处理协程对所述数据包进行逻辑处理之前,所述方法包括:
根据配置文件启动相应的逻辑处理协程,并根据哈希规则从所述redis或数据库中加载相应的所述逻辑处理协程处的节点数据;
启动Cron定时器,通过所述Cron定时器定时刷新逻辑。
在其中一些实施例中,所述根据自定义规则解析所述数据得到数据包和包头包括:
通过字节存储长度或字节存储消息是否加密的标记,解析所述数据得到所述数据包和包头。
第二方面,本申请实施例提供了一种基于Golang开发框架开发游戏系统的系统,所述系统包括:
获取解析模块,用于获取主服务链接,并启动读协程和写协程,通过所述读协程获取主服务发送的数据,并根据自定义规则解析所述数据得到数据包和包头;
逻辑处理模块,用于将所述数据包分发到对应消息队列通道中,并获取空闲的逻辑处理协程,通过所述逻辑处理协程对所述数据包进行逻辑处理,得到处理数据并实时存入redis或数据库中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电魂网络科技股份有限公司,未经杭州电魂网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111248240.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:轨迹预测、自移动设备控制方法
- 下一篇:一种大小头五金件智能双侧供料装置