一种游戏数据传输方法及系统的制作方法

文档序号:7614932阅读:615来源:国知局
专利名称:一种游戏数据传输方法及系统的制作方法
技术领域
本发明属于计算机通信领域,尤其涉及一种对游戏数据进行传输的方法及系统。
背景技术
Flash是一种用于互联网的动画编程语言。它采用了网络流式媒体技术,突破了网络带宽的限制,可以在网络上更快速地播放动画,实现动画交互,发挥个人的创造性和想象力,同时提供更为精美的网页界面、精彩的动画演示和交互游戏。Flash采用Shockwave(流式多媒体技术),按照“流”方式传输音频和视频文件,可以边下载边播放,用户无需等待。Flash的交互性是它的又一大特色。在Flash中可以通过加入按钮来控制页面的跳转合链接,按钮还可以发声,丰富网页、动画演示和交互游戏上的表现手段。这些使得使用Flash技术制作Flash游戏逐渐流行起来。
现有的Flash游戏是一种利用Flash技术在客户端单机上实现游戏逻辑的方式,同时提供网络通信的高层接口,将游戏的结果单向传输给其他计算机,发送方作为客户端(client),接收方作为服务端(server),如图1所示。第一种方法需要在服务端上配置标准的web server(网络服务端)和一个web(网络)应用程序,这个web应用程序可以是CGI(Common Gateway Interface,通用网关接口),或者ASP(Active Server Pages,活动服务端页),JSP(Java ServerPages,Java服务端页),PHP(Hypertext Preprocessor,超文本预处理器)等动态网页语言。Client端的Flash通过URL(Uniform Resource Locator,统一资源定位地址)的格式来调用这个web应用程序。这个程序从URL中即可获得Flash传来的参数数据。第二种方法是通过Flash引擎内置的socket网络通信接口XMLSocket(XML套接口)。发送方将数据封装成XML(可扩展的标记语言)格式发送给服务端。服务端在接收数据时要监听一个约定好的端口,接收客户端发送的数据,然后解析XML,从中取出数据,这种方式传送数据比较隐蔽,游戏数据不容易篡改。
因此,在现有的Flash游戏中,客户端将最终的游戏数据发送给了服务端,服务端无条件信任客户端发来的数据。由于客户端缺乏可靠的逻辑保证游戏数据的合法性和正确性,难以保证游戏结果不被伪造或者篡改。

发明内容
本发明的目的在于解决现有的Flash游戏中,由于客户端缺乏可靠的逻辑保证游戏数据的合法性和正确性,难以保证游戏数据向服务端传送时不被伪造或者篡改的问题。
为了实现发明目的,本发明提供了一种游戏数据传输方法,用于客户端向服务端传输游戏数据,所述方法包括下述步骤A.客户端登录服务端,获取服务端分配的会话密钥,利用所述会话密钥启动游戏程序;B.客户端利用所述会话密钥加密游戏数据,并将所述游戏数据提交给服务端,服务端解密并验证所述游戏数据有效后,将游戏数据保存。
在所述步骤B之前,所述方法进一步包括客户端将游戏数据进行特征转换处理后发送给服务端,服务端接收到所述游戏数据后进行逆转换处理,并保存所述逆转换处理后的游戏数据。
所述会话密钥包含用户标识以及客户端登录的当前时间信息。
当服务端将会话密钥解密后,验证时间数据不超时以及用户标识与用户登录的用户标识相符时,游戏数据有效。
为了更好地实现发明目的,本发明进一步提供了一种游戏数据传输系统,包括服务端以及与所述服务端通信的多个客户端,所述客户端用于登录服务端,获取服务端分配的会话密钥,利用所述会话密钥启动游戏程序,加密游戏数据;所述服务端用于向所述客户端分配会话密钥,接收客户端提交的游戏数据,解密并验证所述游戏数据有效后,将游戏数据保存。
所述客户端包括鉴权请求模块,用于登录服务端,获取服务端分配的会话密钥,并利用所述会话密钥启动游戏程序;数据加密模块,用于利用所述会话密钥加密游戏数据。
所述服务端包括鉴权确认模块,用于向客户端分配会话密钥;数据解密模块,用于解密客户端提交的游戏数据,并验证游戏数据是否有效;数据存储模块,用于保存客户端提交的游戏数据。
所述客户端进一步包括数据转换处理模块,用于对游戏数据进行特征转换处理。
所述服务端进一步包括数据逆转换处理模块,用于对客户端提交的经过特征转换处理的游戏数据进行逆转换处理,将游戏数据恢复。
所述会话密钥包含用户标识以及客户端登录的当前时间信息。
当服务端将会话密钥解密后,验证时间数据不超时以及用户标识与用户登录的用户标识相符时,游戏数据有效。
本发明能够保证客户端将游戏数据安全传输到服务端,防止数据被篡改或者伪造。


图1是现有技术中传输Flash游戏数据的示意图;图2是本发明提供的传输Flash游戏数据的实现流程图;
图3是实现本发明Flash游戏数据传输的系统结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明适用于一种用户通过客户端启动执行游戏,游戏数据上传到服务端保存的Flash游戏。在本发明中,为了保证游戏数据的安全性,在游戏的启动环节以及中间的脚本逻辑执行环节进行了加密处理。
图2示出了本发明提供的游戏数据传输流程1.客户端使用用户ID登录服务端。
2.服务端向客户端返回一个会话密钥(Session Key),该会话密钥是服务端利用客户端的用户标识,如用户ID、用户名等,客户端登录的当前时间以及使用加密算法产生的一个字符串。
3.客户端收到服务端发送的会话密钥后,启动执行相应的Flash游戏。具体实现是在Flash游戏制作时对Flash文件进行加密,客户端启动游戏时,Flash程序脚本接收到并且检验客户端获得的会话密钥,如果客户端没有会话密钥则禁止游戏启动执行,以此保证游戏只能在服务端的环境下并通过服务端授权的客户端才能启动执行,防止非法用户参与游戏进程,篡改游戏数据。
4.当客户端需要向服务端提交游戏数据时,客户端使用服务端返回的会话密钥对游戏数据进行加密。
5.客户端将加密后的游戏数据上传给服务端。
6.服务端收到客户端上传的游戏数据后,对会话密钥进行解密,在验证时间数据不超时以及用户ID与用户登录的用户ID相符时,确认客户端发送过来的游戏结果数据是合法有效的,将游戏数据进行保存。
在本发明中,为了防止恶意用户伪造游戏数据,可以进一步在Flash游戏中最终生成结果的脚本逻辑中加入加密逻辑,例如对游戏数据的格式或者表现形式等按照服务端的规定或者客户端与服务端的约定进行相应的特征转换处理,以保证数据是由Flash游戏逻辑生成的而不是在游戏之外伪造的,服务端接收到游戏数据后进行逆转换处理,将数据恢复并进行保存。
图3示出了实现本发明的系统结构,客户端100通过Internet与服务端200进行通信。客户端100可以是各种终端,如移动电话、PDA(Personal DigitalAssistant,个人数字助理)等。服务端200可以是各种大、中、小型服务器。
Flash游戏程序101可以是客户端100本地安装的客户端程序,也可以是客户端100登录服务端200运行的程序,如登录服务端200的Web网页,运行网页上提供的Flash游戏。
数据存储模块201用来保存客户端100提交的游戏数据,具体可以是服务端200在各种存储介质,如内存、硬盘上为客户端100分配的存储空间。
客户端100通过鉴权请求模块102使用用户ID登录服务端200,鉴权确认模块202接收到客户端100发送的鉴权请求后,验证用户ID以及用户密码,鉴权通过后,鉴权确认模块202客户端100分配一个会话密钥,该会话密钥是服务端200利用客户端100的用户标识,如用户ID、用户名等,客户端登录的当前时间以及使用加密算法产生的一个字符串。
鉴权请求模块102获得服务端200返回的会话密钥后,利用该会话密钥启动Flash游戏程序101,Flash程序脚本接收到并且检验客户端100获得的会话密钥,如果客户端没有会话密钥则禁止游戏启动执行,以此保证Flash游戏只能在服务端200的环境下,通过服务端200授权的客户端才能启动执行,防止非法用户参与游戏进程,篡改游戏数据。
当客户端100需要向服务端200提交游戏数据时,数据加密模块103使用服务端200返回的会话密钥对游戏数据进行加密,并将加密后的游戏数据发送给服务端200。服务端200收到客户端100发送的游戏数据后,数据解密模块203对会话密钥进行解密,在验证时间数据不超时以及用户ID与用户登录的用户ID相符时,确认客户端100发送过来的游戏数据是合法有效的,将游戏数据提交数据存储模块201进行保存。
为了防止恶意用户伪造游戏数据,客户端100中进一步可以设置一个数据转换处理模块105,用来对游戏数据的格式或者表现形式等按照服务端200的规定或者客户端100与服务端200的约定进行相应的特征转换处理,以保证数据是由Flash游戏逻辑生成的而不是在游戏之外伪造的。相应的,服务端200设置数据逆转换处理模块205,在接收到客户端100提交的游戏数据后,对游戏数据进行逆转换处理,将数据恢复,并提交到数据存储模块201中进行保存。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种游戏数据传输方法,用于客户端向服务端传输游戏数据,其特征在于,所述方法包括下述步骤A.客户端登录服务端,获取服务端分配的会话密钥,利用所述会话密钥启动游戏程序;B.客户端利用所述会话密钥加密游戏数据,并将所述游戏数据提交给服务端,服务端解密并验证所述游戏数据有效后,将游戏数据保存。
2.如权利要求1所述的方法,其特征在于,在所述步骤B之前,所述方法进一步包括客户端将游戏数据进行特征转换处理后发送给服务端,服务端接收到所述游戏数据后进行逆转换处理,并保存所述逆转换处理后的游戏数据。
3.如权利要求1所述的方法,其特征在于,所述会话密钥包含用户标识以及客户端登录的当前时间信息。
4.如权利要求1所述的方法,其特征在于,当服务端将会话密钥解密后,验证时间数据不超时以及用户标识与用户登录的用户标识相符时,游戏数据有效。
5.一种游戏数据传输系统,包括服务端以及与所述服务端通信的多个客户端,其特征在于,所述客户端用于登录服务端,获取服务端分配的会话密钥,利用所述会话密钥启动游戏程序,加密游戏数据;所述服务端用于向所述客户端分配会话密钥,接收客户端提交的游戏数据,解密并验证所述游戏数据有效后,将游戏数据保存。
6.如权利要求5所述的系统,其特征在于,所述客户端包括鉴权请求模块,用于登录服务端,获取服务端分配的会话密钥,并利用所述会话密钥启动游戏程序;数据加密模块,用于利用所述会话密钥加密游戏数据。
7.如权利要求5所述的系统,其特征在于,所述服务端包括鉴权确认模块,用于向客户端分配会话密钥;数据解密模块,用于解密客户端提交的游戏数据,并验证游戏数据是否有效;数据存储模块,用于保存客户端提交的游戏数据。
8.如权利要求6所述的系统,其特征在于,所述客户端进一步包括数据转换处理模块,用于对游戏数据进行特征转换处理。
9.如权利要求7所述的系统,其特征在于,所述服务端进一步包括数据逆转换处理模块,用于对客户端提交的经过特征转换处理的游戏数据进行逆转换处理,将游戏数据恢复。
10.如权利要求5所述的系统,其特征在于,所述会话密钥包含用户标识以及客户端登录的当前时间信息。
11.如权利要求5所述的系统,其特征在于,当服务端将会话密钥解密后,验证时间数据不超时以及用户标识与用户登录的用户标识相符时,游戏数据有效。
全文摘要
本发明适用于计算机通信领域,提供了一种游戏数据传输方法及系统,用于客户端向服务端传输游戏数据,所述方法包括下述步骤A.客户端登录服务端,获取服务端分配的会话密钥,利用所述会话密钥启动游戏程序;B.客户端利用所述会话密钥加密游戏数据,并将所述游戏数据提交给服务端,服务端解密并验证所述游戏数据有效后,将游戏数据保存。本发明能够保证客户端将游戏数据安全传输到服务端,防止数据被篡改或者伪造。
文档编号H04L9/00GK1929367SQ20051003725
公开日2007年3月14日 申请日期2005年9月10日 优先权日2005年9月10日
发明者汪海兵, 郭必坚, 杨晓虎 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1