【技术实现步骤摘要】
任务处理方法及装置
[0001]本说明书涉及数据处理
,特别涉及任务处理方法及装置。
技术介绍
[0002]游戏服务器在需要对数据库中的数据进行数据处理时,通常是通过数据库管理中转服务与数据库交互,但这种方式需要用到额外的数据库管理中转服务,会导致很多服务器性能上的损耗。因此,为了减少服务器性能的损耗,且不阻塞游戏服务器的主线程,可以创建工作线程来与数据库进行交互,但如此又会存在多线程之间数据访问的安全问题。
[0003]现有技术中,可以通过锁机制来解决上述问题。具体地,当某个工作线程要对队列进行访问时,需要获取该队列的队列锁,然后才能对该队列进行相应的读写访问,当队列锁被某个工作线程取得时,其他工作线程则无法对该队列进行访问。
[0004]但在上述方式中,若多个工作线程需要并行访问队列,没有取得队列锁的工作线程可能需要一直等待而无法执行其他操作,不但浪费服务器的处理资源,还会降低服务器获取队列中任务的效率,进而降低任务处理的效率。
技术实现思路
[0005]有鉴于此,本说明书实施例提供了一种任务处理方法。本说明书同时涉及一种获取数据的装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
[0006]根据本说明书实施例的第一方面,提供了一种任务处理方法方法,应用于游戏服务器,所述游戏服务器创建主线程和至少两个工作线程,包括:
[0007]所述主线程将待处理任务写入待处理任务队列;
[0008]所述至少两个工作线程中的至少一个工作 ...
【技术保护点】
【技术特征摘要】
1.一种任务处理方法,其特征在于,应用于游戏服务器,所述游戏服务器创建主线程和至少两个工作线程,所述方法包括:所述主线程将待处理任务写入待处理任务队列;所述至少两个工作线程中的至少一个工作线程从所述待处理任务队列中获取目标位置处的第一待处理任务并备份,得到所述至少一个工作线程对应的备份任务;在确定所述至少一个工作线程中的目标工作线程对应的备份任务与所述待处理任务队列中所述目标位置处当前的第二待处理任务相同的情况下,所述目标工作线程删除所述第二待处理任务,并执行所述备份任务。2.如权利要求1所述的任务处理方法,其特征在于,所述至少两个工作线程中的至少一个工作线程从所述待处理任务队列中获取目标位置处的第一待处理任务并备份,得到所述至少一个工作线程对应的备份任务之后,还包括:在确定所述至少一个工作线程中的目标工作线程对应的备份任务与所述待处理任务队列中所述目标位置处当前的第二待处理任务不同的情况下,所述目标工作线程删除所述备份任务。3.如权利要求1所述的任务处理方法,其特征在于,确定所述至少一个工作线程中的目标工作线程对应的备份任务与所述待处理任务中所述目标位置处当前的第二待处理任务相同,包括:将所述至少一个工作线程对应的备份任务分别与所述第二待处理任务做比对,若所述至少一个工作线程对应的备份任务中存在与所述第二待处理任务相同的目标备份任务,将所述目标备份任务对应的工作线程确定为所述目标工作线程,并确定所述至少一个工作线程的目标工作线程对应的备份任务与所述待处理任务中所述目标位置处当前的第二待处理任务相同。4.如权利要求2所述的任务处理方法,其特征在于,确定所述至少一个工作线程中的目标工作线程对应的备份任务与所述待处理任务队列中所述目标位置处当前的第二待处理任务不同,包括:将所述至少一个工作线程对应的备份任务分别与所述第二待处理任务做比对,若所述至少一个工作线程对应的备份任务中存在与所述第二待处理任务相同的目标备份任务,将所述目标备份任务对应的工作线程确定为所述目标工作线程,并确定所述至少一个工作线程中的目标工作线程对应的备份任务与所述待处理任务队列中所述目标位置处当前的第二待处理任务不同。5.如权利要求1或3所述的任务处理方法,其特征在于,所述目标工作线程执行所述备份任务,包括:所述目标工作线程基于所述备份任务对数据库中的数据进行处理,并将任务处理结果反馈给所述主线程。6.如权利要求5所述的任务处理方法,其特征在于,所述目标工作线程基于所述备份任务对所述数据库中的数据进行处理,并将任务处理结果反馈给所述主线程,包括:所述目标工作线程基于所述备份任务对所述数据库中的数据进行处理,并获取所述任务处理结果;所述目标工作线程将所述任务处理结果写入结果反馈队列;
所述主线程从所述结果反馈队列中获取所述任务处理结果。7.如权利要求6所述的任务处理方法,其特征在于,所述待处理任务包括任务标识,则所述备份任务中包括所述任务标识,所述目标工作线程获取所述任务处理结果,包括:所述目标工作线程获取携带所述任务标识的所述任务处理结果。8.如权利要求7所述的任务处理方法,其特征在于,所...
【专利技术属性】
技术研发人员:周启立,姚双喜,
申请(专利权)人:珠海西山居移动游戏科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。