(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111663357.4
(22)申请日 2021.12.31
(71)申请人 北京像素 软件科技股份有限公司
地址 102200 北京市昌平区科技园区白浮
泉路10号2号楼1 104A
(72)发明人 杜江
(74)专利代理 机构 北京超凡宏宇专利代理事务
所(特殊普通 合伙) 11463
代理人 王思楠
(51)Int.Cl.
G06F 9/50(2006.01)
A63F 13/358(2014.01)
(54)发明名称
多线程化处理方法、 装置、 服务器和可读存
储介质
(57)摘要
本发明实施例提供的多线程化处理方法、 装
置、 服务器和可读存储介质, 涉及计算机技术领
域。 在主线程接收到外部设备发送的网络包后,
根据网络包 更新服务器的当前处理逻辑, 得到更
新后的处理逻辑, 在主线程处理到更新后的处理
逻辑中的耗时逻辑时, 将耗时逻辑按照预设规则
分配给多个子线程处理, 在 多个子线程处理完耗
时逻辑后, 再通过主线程处理更新后的处理逻辑
中的剩余未处理逻辑。 主线程处理到耗时逻辑
时, 将耗时逻辑分配给多个子线程处理, 多个子
线程同时处理相互独立的逻辑,提高了对处理逻
辑进行处理时的速度,缩短了总体的处理时间,
提高服务器的运行效率, 进而提高了服务器的帧
率, 解决了已上线运行多年的单线程的服务器端
卡顿问题。
权利要求书1页 说明书8页 附图4页
CN 114385356 A
2022.04.22
CN 114385356 A
1.一种多线程化处理方法, 其特征在于, 应用于服务器, 所述服务器包括主线程和预设
的多个子线程, 所述方法包括:
在所述主线程接收到外部设备发送的网络包后, 根据所述网络包更新所述服务器的当
前处理逻辑, 得到更新后的处 理逻辑;
在所述主线程处理到所述更新后的处理逻辑中的耗 时逻辑时, 将所述耗 时逻辑按照预
设规则分配给 所述多个子线程处 理;
在所述多个子线程处理完所述耗 时逻辑后, 通过所述主线程处理所述更新后的处理逻
辑中的剩余未处 理逻辑。
2.根据权利要求1所述的方法, 其特征在于, 所述耗 时逻辑由所述服务器根据压力测试
工具模拟外部设备发送的网络包, 对当前处理逻辑进行模拟更新, 并在所述主线程处理模
拟更新后的处 理逻辑的过程中, 利用性能分析工具进行性能分析获得。
3.根据权利要求1所述的方法, 其特征在于, 所述在所述主线程处理到所述更新后的处
理逻辑中的耗时逻辑时, 将所述 耗时逻辑按照预设规则分配给 所述多个子线程处 理, 包括:
在所述主线程处理到所述更新后的处理逻辑中的耗 时逻辑时, 将所述耗 时逻辑按照负
载均衡原则分配给 所述多个子线程处 理。
4.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
在将所述更新后的处 理逻辑处 理完成后, 向所述外 部设备反馈处 理结果。
5.根据权利要求1所述的方法, 其特征在于, 所述子线程的数量根据所述服务器的CPU
的核心数量确定 。
6.一种多线程化处理装置, 其特征在于, 应用于服务器, 所述服务器包括主线程和预设
的多个子线程, 所述装置包括:
更新模块, 用于在所述主线程接收到外部设备发送的网络包后, 根据所述网络包更新
所述服务器的当前处 理逻辑, 得到更新后的处 理逻辑;
分配模块, 用于在所述主线程处理到所述更新后的处理逻辑中的耗时逻辑时, 将所述
耗时逻辑按照预设规则分配给 所述多个子线程处 理;
处理模块, 用于在所述多个子线程处理完所述耗时逻辑后, 通过所述主线程处理所述
更新后的处 理逻辑中的剩余未处 理逻辑。
7.根据权利要求6所述的装置, 其特 征在于, 所述分配模块用于:
在所述主线程处理到所述更新后的处理逻辑中的耗 时逻辑时, 将所述耗 时逻辑按照负
载均衡原则分配给 所述多个子线程处 理。
8.根据权利要求6所述的装置, 其特 征在于, 所述装置还 包括:
反馈模块, 用于在将所述更新后的处理逻辑处理完成后, 向所述外部设备反馈处理结
果。
9.一种服务器, 其特征在于, 包括处理器和存储器, 所述存储器存储有能够被所述处理
器执行的计算机程序, 所述处理器可执行所述计算机程序以实现权利要求1 ‑5中任一所述
的方法。
10.一种可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序被处理
器执行时实现如权利要求1 ‑5中任一项所述的方法。权 利 要 求 书 1/1 页
2
CN 114385356 A
2多线程化处理 方法、 装置、 服务器和可 读存储介质
技术领域
[0001]本发明涉及计算机技术领域, 具体而言, 涉及一种多线程化处理方法、 装置、 服务
器和可读存 储介质。
背景技术
[0002]现有技术中, 在对大型多人在线游戏 的服务器的程序进行开发时, 为了降低开发
难度, 是采用单线程的架构设计开发的, 这在游戏上线早期时, 一般承载到最大人数时, 服
务器帧率较高, 玩家 游戏体验顺畅, 不 卡顿。
[0003]但是, 已上线稳定运行多年的服务器的单线程程序, 随着多年的功能添加, 程序需
要运行的逻辑越来越多, 这样在服务器的玩家人数达到上限时, 以前运行流畅的逻辑, 运行
起来会变得越来越慢了, 服务器反馈的结果也越来越慢, 使得玩家的体验不顺畅, 出现卡
顿。
[0004]随着多年的功能添加, 程序 需要运行的逻辑越来越多, 很难对逻辑进行大面积 改
写, 也无法保证大面积的改写不会出错, 进而服务器运行缓慢和 卡顿的问题也越来越难以
解决。
发明内容
[0005]有鉴于此, 本 发明的目的在于提供一种多线程化处理方法、 装置、 服务器和可读存
储介质, 以解决在线玩家数量多时, 服 务器运行慢, 玩家 游戏体验卡顿的问题。
[0006]为了实现上述目的, 本发明实施例采用的技 术方案如下:
[0007]第一方面, 本 发明提供一种多线程化处理方法, 应用于服务器, 所述服务器包括主
线程和预设的多个子线程, 所述方法包括:
[0008]在所述主线程接收到外部设备发送的网络包后, 根据所述网络包更新所述服务器
的当前处 理逻辑, 得到更新后的处 理逻辑;
[0009]在所述主线程处理到所述更新后的处理逻辑中的耗时逻辑时, 将所述耗时逻辑按
照预设规则分配给 所述多个子线程处 理;
[0010]在所述多个子线程处理完所述耗时逻辑后, 通过所述主线程处理所述更新后的处
理逻辑中的剩余未处 理逻辑。
[0011]在可选的实施方式中, 所述耗时逻辑由所述服务器根据压力测试工具模拟外部设
备发送的网络包, 对当前处理逻辑进行模拟更新, 并在所述主线程处理模拟更新后的处理
逻辑的过程中, 利用性能分析工具进行性能分析获得。
[0012]在可选的实施方式中, 所述在所述主线程处理到所述更新后的处理逻辑中的耗时
逻辑时, 将所述 耗时逻辑按照预设规则分配给 所述多个子线程处 理, 包括:
[0013]在所述主线程处理到所述更新后的处理逻辑中的耗时逻辑时, 将所述耗时逻辑按
照负载均衡原则分配给 所述多个子线程处 理。
[0014]在可选的实施方式 中, 所述方法还 包括:说 明 书 1/8 页
3
CN 114385356 A
3
专利 多线程化处理方法、装置、服务器和可读存储介质
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 02:02:13上传分享