[发明专利]对客户端上执行的操作进行验证的方法及装置有效
申请号: | 201710107412.9 | 申请日: | 2017-02-24 |
公开(公告)号: | CN108509329B | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 张俊生 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 董文倩;褚敏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 执行 操作 进行 验证 方法 装置 | ||
本发明公开了一种对客户端上执行的操作进行验证的方法及装置。其中,该方法包括:通过调用动态链接库文件,在第一服务器上执行动态链接库文件中封装的操作逻辑代码,得到第一执行结果;根据第一执行结果和第二执行结果对目标操作进行验证;将进行验证得到的验证结果从第一服务器传输到第二服务器。本发明解决了现有技术中对客户端上执行的操作进行验证时的验证效率较低的技术问题。
技术领域
本发明涉及计算机领域,具体而言,涉及一种对客户端上执行的操作进行验证的方法及装置。
背景技术
随着互联网技术的迅猛发展,为了跟上日新月异的发展速度,对软件应用的开发和运行要求也越来越高,人们都在追求软件应用的开发和运行中的效率。比如,在游戏产业中,很多游戏的运行过程中,为了保证在一些游戏模式(例如:人机对战PVE战斗过程)中客户端与服务器端的一致性,需要对这些游戏模式进行校验。在一致性校验的过程中,需要客户端和服务器端运行相同的战斗逻辑代码,这就要求战斗逻辑代码在服务器端和客户端能够跨平台运行,如战斗逻辑代码为C++实现,则客户端和服务器跨平台运行比较方便。而在一些特定的条件下,如服务器端是Linux 系统C++环境,客户端是C#实现,要想实现C#代码在Linux上运行则不太容易。在目前的一致性校验的方案中,通过mono在Linux上运行C# 代码,具体为:如图1所示,通过mono自带的C#编译器编译客户端的战斗验证C#代码生成可执行程序(如:a.exe),然后通过mono运行时运行该可执行程序,命令是:mono a.exe,因为游戏主逻辑服务器gamesvr是基于游戏的服务框架(例如:游戏服务框架(Service FrameworkFor Game,简称为SF4G))实现的,为了提高开发效率且方便用通信通道(Bus)与 gamesvr进行通信,通信通道(Bus)是SF4G框架的进程间的通信通道,可以用C++来实现验证服务器Checksvr,然后通过Checksvr调用mono a.exe,可以称该方案为方案A。
在A方案中通过子进程的形式运行mono,再通过mono调用a.exe(C# 验证逻辑编译生成的可执行文件),该方案效率比较低,有如下测试结果:
其中example.exe是mono的C#编译器mcs编译example.cs得到的可执行文件,example.cs只有一行打印信息,如下:
在4核4G内存的开发机上执行10000次循环耗时308秒,约32.5次 /秒,这样的处理效率太低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种对客户端上执行的操作进行验证的方法及装置,以至少解决现有技术中对客户端上执行的操作进行验证时的验证效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种对客户端上执行的操作进行验证的方法,包括:通过调用动态链接库文件,在第一服务器上执行所述动态链接库文件中封装的操作逻辑代码,得到第一执行结果,其中,所述操作逻辑代码用于在客户端上执行目标操作,所述操作逻辑代码的编写语言与用于实现所述第一服务器的编写语言不同;根据所述第一执行结果和第二执行结果对所述目标操作进行验证,其中,所述第二执行结果是在所述客户端上执行所述操作逻辑代码所产生的执行结果;将进行所述验证得到的验证结果从所述第一服务器传输到第二服务器,其中,所述第一服务器和所述第二服务器是基于相同的应用服务框架,并使用相同的编写语言实现的,所述应用服务框架是跨平台的服务器框架。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710107412.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据库校验方法及装置
- 下一篇:一种数据处理方法及系统