业务处理系统及方法_3

文档序号:9326737阅读:来源:国知局
当请求分发进程350计算出另一用户的用户标识对应的映射值为6时,则将该另一用户发起的业务请求分发给第四个业务处理进程。需要说明的一点是:上述针对业务请求的分发过程的说明仅是示例性和解释性的,并不用于限定本发明。
[0092]相比于相关技术中仅部署一个业务处理进程,在本实施例中,通过部署多个业务处理进程310,使得海量的业务请求可被分发至不同的业务处理进程310进行处理,无需集中依赖于一个业务处理进程进行处理,有效缓解单个业务处理进程的压力,确保业务处理效率和请求响应速度,且有助于提高整个业务系统的稳定性。
[0093]目标业务处理进程311,用于根据用户标识,从多个数据库系统330中确定用于存储目标用户对应的个人业务数据的第一目标数据库系统331 ;访问第一目标数据库系统331,执行针对目标用户对应的个人业务数据的读写操作以响应于上述业务请求。
[0094]目标业务处理进程311获取到请求分发进程350分发的业务请求后,对该业务请求进行处理。
[0095]首先,目标业务处理进程311根据目标用户的用户标识,从多个数据库系统330中确定出用于存储该目标用户对应的个人业务数据的第一目标数据库系统331。在一种可能的实现方式中,目标业务处理进程311,具体用于:计算用户标识对应的映射值;根据多个数据库系统330中的每个数据库系统330分别对应的映射值区间,从多个数据库系统330中确定第一目标数据库系统331 ;其中,第一目标数据库系统331对应的映射值区间包含上述映射值。目标业务处理进程311确定第一目标数据库系统331的过程与上述请求分发进程350确定目标业务处理进程311的过程相类似,具体参见上述针对请求分发进程350确定目标业务处理进程311的过程的介绍和说明,此处不再赘述。可选地,数据库系统330可以是MySQL关系型数据库系统。
[0096]相比于相关技术中仅部署一个数据库系统,在本实施例中,通过部署多个数据库系统330,使得海量用户的个人业务数据可被分布存储至不同的数据库系统330中,无需集中存储于一个数据库系统中,有效缓解单个数据库系统的存储压力以及数据读写压力,避免出现数据库系统不可用的状况。
[0097]之后,目标业务处理进程311访问第一目标数据库系统331,执行针对目标用户对应的个人业务数据的读写操作以响应于上述业务请求。
[0098]可选地,针对业务请求的不同类型,存在如下几种可能的情况:
[0099]1、当业务请求属于数据读取请求时,目标业务处理进程311用于访问第一目标数据库系统331,读取目标用户对应的个人业务数据,并向目标用户提供个人业务数据。
[0100]以目标业务为网络游戏为例,客户端在目标用户进行游戏的过程中可能会向业务处理系统发起用于请求获取诸如个人属性数据、个人任务完成等级、个人排名等个人业务数据的业务请求,目标业务处理进程311依据该业务请求中携带的请求参数,从第一目标数据库系统331中读取上述业务请求所请求获取的数据,并反馈给客户端。
[0101]2、当业务请求属于数据存储请求时,目标业务处理进程311用于访问第一目标数据库系统331,对目标用户对应的个人业务数据进行编辑。
[0102]仍然以目标业务为网络游戏为例,客户端在目标用户进行游戏的过程中可能会向业务处理系统发起用于请求修改诸如个人属性数据、个人任务完成等级、个人排名等个人业务数据的业务请求,目标业务处理进程311依据该业务请求中携带的请求参数,对第一目标数据库系统331中存储的相关数据进行修改和编辑。
[0103]3、当业务请求属于业务参与请求时,目标业务处理进程311用于访问第一目标数据库系统331,在第一目标数据库系统331中创建目标用户对应的个人业务数据。
[0104]仍然以目标业务为网络游戏为例,客户端在目标用户要求加入该游戏时向业务处理系统发起用于请求加入游戏的业务请求,目标业务处理进程311依据该业务请求中携带的请求参数,在第一目标数据库系统331中创建目标用户对应的个人业务数据,如包括个人属性数据、个人任务完成等级、个人排名等数据。
[0105]可选地,当业务请求属于业务参与请求时,目标业务处理进程311还用于检测目标用户是否符合参与条件,当目标用户符合参与条件时,在第一目标数据库系统331中创建目标用户对应的个人业务数据。其中,参与条件可包括但不限于目标用户当前暂未参与目标业务、目标业务对应的总参与人数未达到人数上限等条件中的至少一种。
[0106]可选地,如图3所示,该业务处理系统还包括:执行进程360。执行进程360,用于每隔预定时间间隔对目标业务对应的整体业务数据以及参与目标业务的各个用户分别对应的个人业务数据进行更新。
[0107]在本实施例中,为了避免海量的业务请求导致多个业务处理进程310执行大量同样而又重复的操作,进一步减少对数据库系统330的访问压力,在业务处理系统中部署执行进程360。系统可为执行进程360设定定时器,通过定时器每隔预定时间间隔触发执行进程360启动运行。执行进程360用于统一执行不同业务请求所请求的共性操作,并在数据库系统330中更新相关的共性数据。例如,当目标业务为网络游戏时,海量的业务请求可能都要请求获取参与游戏的所有用户的排名情况,若针对每一个业务请求执行一次排名操作,这无疑会浪费业务处理进程310大量的处理开销,且对数据库系统330的访问压力也会很大。然而,若通过执行进程360每隔预定时间间隔对参与游戏的所有用户进行一次排名,并将最新的排名情况更新至该网络游戏对应的整体业务数据以及各用户分别对应的个人业务数据中,各个业务处理进程310接收到上述业务请求后仅需从数据库系统330中读取最新的排名情况,无需执行排名操作,既可以节省业务处理进程310的处理开销,又可以减轻数据库系统330的访问压力。
[0108]在一种可能的实现方式中,目标业务为协作游戏任务。协作游戏任务是指需要多个用户共同参与并协作完成的游戏任务。如一种卡牌游戏,需要多个用户协作提升卡牌的等级,并在卡牌被升级至目标等级时才算完成任务,在升级卡牌的过程中,付出努力最多的一个或多个用户为获胜者,其余用户均为失败者,系统会向获胜者发放相关奖励。
[0109]当目标业务为协作游戏任务时,整体业务数据包括但不限于任务参与总人数、任务完成总人数、整体任务完成等级、整体任务执行时间、整体任务完成时间以及整体用户排名中的至少一项。个人业务数据包括但不限于个人任务完成等级、个人任务执行时间、个人任务完成时间以及个人排名中的至少一项。
[0110]相应地,当目标业务为协作游戏任务时,执行进程360可具体用于每隔预定时间间隔执行如下操作:
[0111]1、获取协作游戏任务对应的业务标识。
[0112]2、根据业务标识,从多个数据库系统330中确定用于存储协作游戏任务对应的整体业务数据的第二目标数据库系统332。
[0113]在一种可能的实现方式中,执行进程360,具体用于:计算业务标识对应的映射值;根据多个数据库系统330中的每个数据库系统330分别对应的映射值区间,从多个数据库系统330中确定用于存储协作游戏任务对应的整体业务数据的第二目标数据库系统332。
[0114]3、访问第二目标数据库系统332,读取整体业务数据。
[0115]例如,当协作游戏任务为上述例举的卡牌游戏时,整体业务数据可包括任务参与总人数、任务完成总人数、整体任务完成等级以及整体用户排名等。
[0116]4、根据业务标识,访问多个数据库系统330,读取参与协作游戏任务的各个用户分别对应的个人业务数据。
[0117]在一种可能的实现方式中,执行进程360,具体用于:根据预定对应关系获取与业务标识对应的至少一个用户标识;对于每一个用户标识,计算该用户标识对应的映射值;根据多个数据库系统330中的每个数据库系统330分别对应的映射值区间,从多个数据库系统330中确定用于存储该用户标识对应的用户的个人业务数据的数据库系统330。其中,预定对应关系中记录有协作游戏任务对应的业务标识,以及参与该协作游戏任务的各个用户的用户标识之间的对应关系。
[0118]另外,当协作游戏任务为上述例举的卡牌游戏时,个人业务数据可包括个人任务完成等级、个人任务执行时间、个人任务完成时间以及个人排名等。
[0119]5、根据整体业务数据以及各个个人业务数据,对参与协作游戏任务的各个用户进行排序。
[0120]6、依据排序结果,对整体业务数据和各个个人业务数据进行更新。
[0121]执行进程360可
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1