本发明涉及网页游戏技术领域,更具体地说,它涉及一种游戏快速充值系统及方法。
背景技术:
sdk(softwaredevelopmentkit)即“软件开发工具包”,是指由第三方服务商提供的实现软件产品某项功能的工具包。一般以集合kpi和文档、范例、工具的形式出现。通常sdk是由专业性质的公司提供专业服务的集合。
网页游戏是指运行在浏览器当中的游戏,不需要特别的安装和下载。现有的网页游戏充值一般是由后台游戏服务器自带的充值模块完成,充值金额的接收与校验需要占用游戏后台服务器的时间。在调用上述模块时常常会需要中断游戏的进程,如经常出现的充值弹窗,当上述弹窗进程开始之后,游戏进程会自动地停止,而充值进程中游戏服务器向用户端的订单发送进程以及支付链接进程将会白白的占用游戏用户许多时间,造成用户游戏体验的下降。
并且现有技术中内置在游戏服务器中的充值模块,一般为程序代码,上述模块的接入性很差,当游戏开发的后期需要对游戏进行升级时,需要重新对游戏的充值模块进行编码,例如需要重新增加或改写支付链接,修改充值进程中所调用的实例,甚至重新定义子模块的接口以及功能,这些都为后期游戏的升级及扩展带来了极大的不便。
技术实现要素:
针对实际运用中游戏充值过程占用时间长,中断游戏进程这一问题,本发明目的在于提出一种游戏快速充值系统及方法,具体方案如下:
一种游戏快速充值系统,包括用于提供人机交互功能的客户端以及与所述客户端连接的服务器端,所述服务器端包括提供游戏进程服务的游戏服务器、提供游戏外围功能扩展及辅助服务的sdk服务器、提供充值支付服务的支付服务器;所述客户端包括游戏客户端以及sdk客户端,其中,所述sdk客户端内置于所述游戏客户端中并与所述游戏服务器通信连接,所述游戏客户端与游戏服务器通信连接,获取游戏进程的更新数据并与用户进行人机交互;所述游戏客户端接收所述游戏服务器的更新数据,若用户的账户余额超出预设范围,则游戏服务器发送充值提示信息至游戏客户端;所述sdk客户端接收所述充值提示信息并向游戏客户端发出调用请求信息,调用所述游戏客户端的交互资源;所述sdk服务器中设置有充值服务模块,所述sdk客户端与所述sdk服务器通信连接,发送游戏客户端的下单信息至所述sdk服务器,所述sdk服务器反馈带有支付渠道信息的订单号至sdk客户端;所述支付服务器与所述sdk服务器及sdk客户端通信连接,接收所述订单号进行支付,并向所述sdk服务器以及所述sdk客户端反馈支付结果;所述sdk服务器与所述游戏服务器通信连接,响应于所述游戏服务器的充值确认信号向游戏服务器发送充值结果信息,所述游戏服务器接收所述充值结果信息控制游戏进程。
进一步的,所述sdk客户端包括用于调用充值界面显示组件的界面调用模块、用于显示充值成功后充值金额的充值成功信息体解析模块、用于显示充值失败后状态码及意图充值金额的充值失败信息体、以及用于向所述sdk服务器发送订单的订单发送模块,所述订单发送模块根据用户的游戏设定向所述sdk服务器发送对应的订单信息。
进一步的,所述游戏服务器中设置有用于存储用户个人账户信息的存储单元以及用于账户余额的预警单元,所述存储单元实时检测用户的账户余额并向所述预警单元发送余额检测信息,上述预警单元包括比较模块以及预设金额范围设定模块,所述余额检测信息与所述设定的预设金额范围比较,输出余额预警信息至游戏客户端。
进一步的,所述sdk客户端中还设置有用于判定用户个人账户信息的判定模块,所述判定模块包括历史账户信息查询模块、游戏角色查询模块、以及订单预生成模块,所述订单预生成模块与所述历史账户信息查询模块以及游戏角色查询模块通信连接,接收用户的历史账户信息以及游戏角色信息,输出所述订单信息。
进一步的,所述支付服务器与所述sdk客户端及sdk服务器通信连接,提供支付服务器运营商的url给到sdk客户端,所述sdk客户端发起请求,所述支付服务器响应于上述请求进行支付服务。
进一步的,所述游戏客户端包括人机互动硬件以及设于与所述sdk客户端相互对接的软件模块。
上述技术方案中,在游戏服务器推进的游戏进程中,不仅游戏界面会更新,还会实时更新用户的个人账户信息,当用户的个人账户余额超过预设金额范围时,则由游戏服务器发出预警信号,上述预警信号给到游戏客户端,游戏客户端处理后将上述信息转化为充值信号给到sdk客户端,sdk客户端将下单信息给到sdk服务器,同时调用游戏客户端的人体交互资源,用于向用户展示充值界面。在上述过程中,给到用户的充值金额经过与用户历史账户信息相比对,并结合着用户游戏角色,使得待充值的金额更能满足用户的需求,以此减少用户充值的频率;并且,在调用游戏客户端进行人机互动的同时,完成订单的生成以及订单号及支付渠道的建立,上述充值过程由于是独立于游戏服务器以及游戏客户端进行,因此,后台服务器端可以在不干扰游戏进程的情况下完成订单及订单号的生成,节省时间,提升游戏体验,并且上述充值过程的后期即付款确认环节也经由sdk客户端调取支付服务器相应的程序进行确认,使得确认环节也更加的高效,整体上提升充值效率。
一种游戏快速充值方法,基于权利要求1所述的系统,包括如下步骤,
检测步骤,游戏服务器中的预警单元实时检测用户的账户余额信息,并将上述余额信息与预设金额范围设定模块生成的范围值作比较,生成相应的含有充值金额的余额预警信息;
订单生成步骤,游戏客户端接收游戏服务器更新的游戏数据,检测上述数据中包含的余额预警信息,生成给到sdk服务器的订单,在上述订单生成过程中,结合用户历史账户信息以及游戏角色设定输出订单金额,同时sdk客户端调用游戏客户端的充值显示程序进行人机互动;
充值步骤,sdk服务器接收sdk客户端发送的订单,调用对应的程序模块生成与所述订单相对应的订单号以及支付渠道信息,sdk服务器接收上述信息并调用支付服务器;支付服务器被sdk客户端调用,对上述订单号进行预支付处理;
充值确认步骤,支付服务器按照订单号完成支付进程,并将支付结果发送至sdk服务器以及sdk客户端,上述sdk服务器响应于所述游戏服务器的请求信号,发送充值结果至游戏服务器,游戏服务器接收到上述充值结果;若确认充值结果,则继续游戏进程,若充值结果不确认,则再次请求sdk服务器进行充值结果反馈,如此往复设定次数后,若仍未确认充值结果,则重新回到订单生成步骤开始执行。
进一步的,所述游戏进程包括游戏界面的flash更新、用户个人账户信息的更新以及用户与游戏客户端的互动。
上述技术方案,与现有的游戏充值方法相比,首先将充值的进程与游戏进程完全隔离开来,使得充值的进程不与游戏的进程产生过大的冲突,可以在减少对游戏进程的情况下实现游戏充值;其次,在充值过程的验证、下单以及付款环节,均由sdk服务器以及sdk客户端完成,通过调用大量的实例以及软件模块,完成上述充值过程,并且,由于sdk服务器预留的接口扩展性很强,后期当游戏升级需要改变充值的运营商或者充值校验程序时,只需要改变sdk服务器调用的外围程序模块即可。在上述方法中,为了减少充值的进程时间,会事先对用户的个人账户信息进行比对,使得用户待充值的金额能够符合用户的实际需求,最大限度减少用户充值的频率。
与现有技术相比,本发明的有益效果如下:
(1)通过将游戏充值的进程与游戏进程分离开,利用sdk服务器及sdk客户端完成充值的各项进程,使得充值的同时不会拖慢游戏的进度,提升游戏的体验;
(2)通过利用sdk服务器以及sdk客户端实现游戏外围程序的自动调取,游戏服务器只需更新游戏的进度,充值等功能则由外围程序实现,使得外围功能扩展性更强,充值的效率也更高。
附图说明
图1为本发明的整体框架示意图;
图2为本发明充值方法的流程示意图。
附图标志:1、客户端;2、服务器端;3、sdk客户端;4、sdk服务器;5、支付服务器;6、游戏服务器;7、游戏客户端。
具体实施方式
下面结合实施例及图对本发明作进一步的详细说明,但本发明的实施方式不仅限于此。
如图1所示,一种游戏快速充值系统,主要包括用于提供人机交互功能的客户端1以及与客户端1连接的服务器端2。传统的游戏服务器6主要功能有收银员功能模块(即充值功能模块)、权限功能模块、用于存储用户个人账户信息的数据文件功能模块、以及通信功能模块等,上述各个功能模块均内置在游戏服务器6中,当其中一个功能模块运作时,常常会与其它功能模块相冲突,例如运行充值功能模块时,常常占用游戏界面的调用刷新模块,使得游戏变慢甚至是停顿,这都给游戏用户带来不好的游戏体验。
如图1所述,本发明中的服务器端2包括提供游戏进程服务的游戏服务器6、提供游戏外围功能扩展及辅助服务的sdk服务器4、提供充值支付服务的支付服务器5。对于游戏进程,不仅仅包括游戏界面flash的更新,还包括用户个人账户信息的更新,例如账户余额、角色装备使用期限及费用等。由于sdk服务器4是由第三方服务商提供的实现软件产品某项功能的工具包,因此,游戏的充值、权限校验等外围功能模块均可以由sdk服务器4调取,而不用内置到游戏服务器6中,由此使得游戏服务器6与游戏充值的进程不会冲突。
对应的,客户端1包括游戏客户端7以及sdk客户端3,游戏客户端7包括与用户互动的pc机、内置于pc机中的网络通信模块、处理器、显示器等。sdk客户端3内置于游戏客户端7中并与游戏服务器6通信连接,例如,sdk客户端3主要由各种调用的软件工具包组成,上述软件工具包内置于游戏主机中。游戏客户端7与游戏服务器6通信连接,获取游戏进程的更新数据并与用户进行人机交互。
游戏客户端7接收游戏服务器6的更新数据,若用户的账户余额超出预设范围,则游戏服务器6发送充值提示信息至游戏客户端7。上述过程中需要监测程序实时监视用户的账户余额信息,上述预设范围在实践中包括正常范围、预警范围以及透支范围。sdk客户端3接收充值提示信息并向游戏客户端7发出调用请求信息,调用游戏客户端7的交互资源,上述交互资源包括显示器的显示资源以及部分音频资源。
sdk服务器4中设置有充值服务模块,sdk客户端3与sdk服务器4通信连接,发送游戏客户端7的下单信息至sdk服务器4,sdk服务器4反馈带有支付渠道信息的订单号至sdk客户端3,而后由sdk客户端3将上述带有支付渠道的订单号发送到游戏客户端7。支付服务器5与sdk服务器4及sdk客户端3通信连接,接收订单号进行支付,并向sdk服务器4以及sdk客户端3反馈支付结果。sdk服务器4与游戏服务器6通信连接,响应于游戏服务器6的充值确认信号向游戏服务器6发送充值结果信息,游戏服务器6接收充值结果信息控制游戏进程。
为了实现上述充值进程,sdk客户端3包括用于调用充值界面显示组件的界面调用模块、用于显示充值成功后充值金额的充值成功信息体解析模块、用于显示充值失败后状态码及意图充值金额的充值失败信息体、以及用于向sdk服务器4发送订单的订单发送模块,订单发送模块根据用户的游戏设定向sdk服务器4发送对应的订单信息。
游戏服务器6中设置有用于存储用户个人账户信息的存储单元以及用于账户余额的预警单元,存储单元实时检测用户的账户余额并向预警单元发送余额检测信息。具体而言,上述预警单元包括比较模块以及预设金额范围设定模块,余额检测信息与设定的预设金额范围比较,输出余额预警信息至游戏客户端7。
由于各个用户的游戏角色不一样,其充值后余额消耗的速度也并不一样,并且各个用户的充值习惯也并不相同,因此,sdk客户端3中还调用设置有用于判定用户个人账户信息的判定模块,判定模块包括历史账户信息查询模块、游戏角色查询模块、以及订单预生成模块,订单预生成模块与历史账户信息查询模块以及游戏角色查询模块通信连接,接收用户的历史账户信息以及游戏角色信息,输出订单信息。经过比对后的用户充值信息更易于被用户接受,并且能够降低用户充值的频率,例如,当用户的历史账户信息显示用户每次充值的金额都为一个固定值,则sdk客户端3调用的充值模块中相应的订单金额则为上述金额,并且根据用户角色的设定,由于每个角色的余额消耗速度不一样,因此,特定的角色对应特定的充值额度将有效降低用户充值的频率。
支付服务器5与sdk客户端3及sdk服务器4通信连接,提供支付服务器5运营商的url给到sdk客户端3,sdk客户端3发起请求,支付服务器5响应于上述请求进行支付服务。
上述技术方案中,在游戏服务器6推进的游戏进程中,不仅游戏界面会更新,还会实时更新用户的个人账户信息,当用户的个人账户余额超过预设金额范围时,则由游戏服务器6发出预警信号,上述预警信号给到游戏客户端7,游戏客户端7处理后将上述信息转化为充值信号给到sdk客户端3,sdk客户端3将下单信息给到sdk服务器4,同时调用游戏客户端7的人体交互资源,用于向用户展示充值界面。在上述过程中,给到用户的充值金额经过与用户历史账户信息相比对,并结合着用户游戏角色,使得待充值的金额更能满足用户的需求,以此减少用户充值的频率;并且,在调用游戏客户端7进行人机互动的同时,完成订单的生成以及订单号及支付渠道的建立,上述充值过程由于是独立于游戏服务器6以及游戏客户端7进行,因此,后台服务器端2可以在不干扰游戏进程的情况下完成订单及订单号的生成,节省时间,提升游戏体验,并且上述充值过程的后期即付款确认环节也经由sdk客户端3调取支付服务器5相应的程序进行确认,使得确认环节也更加的高效,整体上提升充值效率。
基于上述游戏充值的系统,本发明还提出了一种游戏快速充值方法,如图2所示,包括如下步骤:
检测步骤,游戏服务器6中的预警单元实时检测用户的账户余额信息,并将上述余额信息与预设金额范围设定模块生成的范围值作比较,生成相应的含有充值金额的余额预警信息;
订单生成步骤,游戏客户端7接收游戏服务器6更新的游戏数据,检测上述数据中包含的余额预警信息,生成给到sdk服务器4的订单,在上述订单生成过程中,结合用户历史账户信息以及游戏角色设定输出订单金额,同时sdk客户端3调用游戏客户端7的充值显示程序进行人机互动;
充值步骤,sdk服务器4接收sdk客户端3发送的订单,调用对应的程序模块生成与订单相对应的订单号以及支付渠道信息,sdk服务器4接收上述信息并调用支付服务器5;支付服务器5被sdk客户端3调用,对上述订单号进行预支付处理;
充值确认步骤,支付服务器5按照订单号完成支付进程,并将支付结果发送至sdk服务器4以及sdk客户端3,上述sdk服务器4响应于游戏服务器6的请求信号,发送充值结果至游戏服务器6,游戏服务器6接收到上述充值结果;若确认充值结果,则继续游戏进程,若充值结果不确认,则再次请求sdk服务器4进行充值结果反馈,如此往复设定次数后,若仍未确认充值结果,则重新回到订单生成步骤开始执行。
上述技术方案,与现有的游戏充值方法相比,首先将充值的进程与游戏进程完全隔离开来,使得充值的进程不与游戏的进程产生过大的冲突,可以在减少对游戏进程的情况下实现游戏充值;其次,在充值过程的验证、下单以及付款环节,均由sdk服务器4以及sdk客户端3完成,通过调用大量的实例以及软件模块,完成上述充值过程,并且,由于sdk服务器4预留的接口扩展性很强,后期当游戏升级需要改变充值的运营商或者充值校验程序时,只需要改变sdk服务器4调用的外围程序模块即可。在上述方法中,为了减少充值的进程时间,会事先对用户的个人账户信息进行比对,使得用户待充值的金额能够符合用户的实际需求,最大限度减少用户充值的频率。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。