一种基于队列的业务请求处理方法技术

技术编号:14637470 阅读:66 留言:0更新日期:2017-02-15 11:39
本发明专利技术公开了一种基于队列的业务请求处理方法,包括:接收并响应用户触发的业务请求,获取业务请求数据;添加业务请求数据到数据库的数据表中;添加业务请求数据到预设操作类型预设优先级的正常队列;应用服务器定时处理各操作类型中的正常队列,正常队列按预设优先级从高到低进行处理;正常队列处理失败则将队列中的业务请求数据添加到重启队列尾部;应用服务器定时处理各操作类型中重启队列的业务请求数据;业务请求处理失败且执行次数未超过预设值则将该业务请求数据重新添加到所述操作类型的重启队列尾部。本发明专利技术的基于队列的业务请求处理方法,提高了数据交互过程的效率及用户体验。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种基于队列的业务请求处理方法
技术介绍
随着计算机网络技术的发展,人们的工作娱乐及日常生活中,均少不了客户端的身影,客户端能让用户直观地进行操作,发布自己想要发布的任务或获取自己想要获取的数据,并且能够实时获取到操作状态或操作结果。客户端操作的请求最终发送给应用服务器进行处理,客户端与服务器在进行数据交互的过程中,通常会涉及多种操作类型,每种操作类型包括多个业务,每个业务可能涉及批量数据处理。现有技术中,往往通过类似于串行的方式处理,先向应用服务器发送一个业务请求,在完成该业务请求后,再发送下一个业务请求,但有些业务请求并非是数据交互过程中所必须的,特别是一个业务请求涉及到大批量数据处理时,用户往往需要等待较长的时间获取操作结果,这样整个数据交互流程效率过低,导致用户体验较差。
技术实现思路
鉴于上述问题,本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种基于队列的业务请求处理方法。本专利技术解决其技术问题所采用的技术方案是:一种基于队列的业务请求处理方法,包括:接收并响应用户触发的业务请求,获取业务请求数据;所述业务请求数据包括用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据;添加属于预设操作类型的业务请求数据到数据库的数据表中;所述数据表的字段包括队列状态、执行次数、用户ID、操作类型、优先级和操作所需数据;业务请求数据成功添加到数据库后,添加所述业务请求数据到预设操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中的正常队列,每种操作类型中的正常队列按预设优先级从高到低进行处理;正常队列处理失败则将队列中的业务请求数据添加到重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中重启队列的业务请求数据;业务请求处理失败且执行次数未超过预设值则将该业务请求数据重新添加到所述操作类型的重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理。优选的,基于队列的业务请求处理方法还包括:接收添加到数据库出错指令,确定业务请求失败。优选的,基于队列的业务请求处理方法还包括:处理正常队列或重启队列中的业务请求之前,判断所述业务请求是否已取消;如果已取消,删除队列中的业务请求,退出处理。优选的,基于队列的业务请求处理方法还包括:应用服务器处理重启队列中的业务请求失败后,若执行次数超过预设值,删除队列中的业务请求,退出处理。优选的,添加属于预设操作类型的业务请求数据到数据库的数据表中时,所述数据表中的用户ID、操作类型、优先级和操作所需数据分别从业务请求数据的用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据获取。优选的,所述业务请求数据成功添加到数据库后,添加所述业务请求数据到操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理,进一步包括:业务请求数据成功添加到数据库后,添加所述业务请求数据和该业务请求数据在数据库的所述数据表中的唯一标识到操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理。优选的,每处理一次正常队列或重启队列中的业务请求时,数据库的所述数据表中的执行次数字段增1。优选的,所述预设操作类型通过配置文件进行设置;不属于预设操作类型的业务请求不添加到数据库。优选的,所述预设优先级为根据操作类型中业务的重要程度设置的优先级,数值大的优先级高,优先执行。优选的,所述队列状态包括等待执行、正在执行、重启、取消、执行成功和执行失败;业务请求数据添加到数据库的所述数据表中后,修改队列状态为等待执行;应用服务器处理正常队列或重启队列中的业务请求数据时,修改队列状态为正在执行;应用服务器处理正常队列或重启队列中的业务请求数据失败后,修改队列状态为重启;业务请求取消后,修改队列状态为取消。优选的,应用服务器定时以线程并发的方式处理正常队列和重启队列;其中正常队列的定时时间按操作类型设置,定时时间到,同一操作类型下的正常队列按预设的优先级执行。本专利技术的基于队列的业务请求处理方法,接收并响应用户触发的业务请求,获取包括用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据的业务请求数据;进一步将业务请求数据添加到数据库的数据表中,从而对业务请求数据进行存储,并根据处理进展更新业务请求对应的队列状态和执行次数,从而指示应用服务器对业务请求进行处理;添加所述业务请求数据到预设操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理,便于将同一操作类型下的不同业务按重要程度进行区别对待,重要程度高的业务优先处理;正常队列处理失败后将队列中的业务请求数据添加到重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理,且重启队列中的业务请求不设优先等级,遵循先进先出原则,且一次执行失败后应用服务器能根据定时时间再次到重启队列中执行业务请求,从而提高业务请求的成功率;对业务请求的执行次数加以限制,可以防止业务请求无限次执行,占用资源并影响其他业务请求的执行效率;添加业务请求数据在数据库的数据表中的唯一标识到预设操作类型预设优先级的正常队列,便于在执行到该业务请求时,能够快速定位到数据库中的这条数据,对数据库中的这条数据进行修改;应用服务器定时以线程并发的方式处理正常队列和重启队列,能提高处理速度,加快执行效率,提高用户体验。综上所述,本专利技术不再直接将业务请求依次发送到应用服务器进行串行处理,而是将多个业务请求中属于预设操作类型的业务请求按业务优先级放入对应的操作类型的正常队列中,以供应用服务器从正常队列中取出业务请求数据进行处理;正常队列处理失败则将队列中的业务请求数据添加到重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理;在数据交互过程中无需等待应用服务器对预设操作类型的业务请求的反馈,从而提高了数据交互过程的效率,提高了用户体验。上述说明仅是本专利技术技术方案的概述,为了能够更清楚地了解本专利技术的技术手段,从而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下列举本专利技术的具体实施方式。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述及其他目的、优点和特征。附图说明图1为本专利技术方法的主流程图;图2为本专利技术方法的添加队列的流程图;图3为本专利技术方法的处理正常队列的流程图;图4为本专利技术方法的处理重启队列的流程图;图5为本专利技术方法的添加模板过户队列的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步的详细描述。需要说明的是,本实施方式的方法的执行主体为终端,所述终端为手机、平板电脑、掌上电脑PDA、笔记本或台式机等设备,当然,还可以为其他具有相似功能的设备,本实施方式不加以限制。参见图1,本专利技术的一种代码发布的方法,包括如下步骤:步骤101:接收并响应用户触发的业务请求,获取业务请求数据;具体的,所述业务请求数据包括用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据。可理解的是,用户触发业务请求可以通过多本文档来自技高网...
一种基于队列的业务请求处理方法

【技术保护点】
一种基于队列的业务请求处理方法,其特征在于,包括:接收并响应用户触发的业务请求,获取业务请求数据;所述业务请求数据包括用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据;添加属于预设操作类型的业务请求数据到数据库的数据表中;所述数据表的字段包括队列状态、执行次数、用户ID、操作类型、优先级和操作所需数据;业务请求数据成功添加到数据库后,添加所述业务请求数据到操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中的正常队列,每种操作类型中的正常队列按预设优先级从高到低进行处理;正常队列处理失败则将队列中的业务请求数据添加到重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中重启队列的业务请求数据;业务请求处理失败且执行次数未超过预设值则将该业务请求数据重新添加到所述操作类型的重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理。

【技术特征摘要】
1.一种基于队列的业务请求处理方法,其特征在于,包括:接收并响应用户触发的业务请求,获取业务请求数据;所述业务请求数据包括用户ID、操作类型、在操作类型中的优先级和操作该业务需要的数据;添加属于预设操作类型的业务请求数据到数据库的数据表中;所述数据表的字段包括队列状态、执行次数、用户ID、操作类型、优先级和操作所需数据;业务请求数据成功添加到数据库后,添加所述业务请求数据到操作类型预设优先级的正常队列,以供应用服务器从正常队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中的正常队列,每种操作类型中的正常队列按预设优先级从高到低进行处理;正常队列处理失败则将队列中的业务请求数据添加到重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理;应用服务器定时处理各操作类型中重启队列的业务请求数据;业务请求处理失败且执行次数未超过预设值则将该业务请求数据重新添加到所述操作类型的重启队列尾部,以供应用服务器从重启队列中取出业务请求数据进行处理。2.根据权利要求1所述的基于队列的业务请求处理方法,其特征在于,还包括:处理正常队列或重启队列中的业务请求之前,判断所述业务请求是否已取消;如果已取消,删除队列中的业务请求,退出处理。3.根据权利要求1所述的基于队列的业务请求处理方法,其特征在于,还包括:应用服务器处理重启队列中的业务请求失败后,若执行次数超过预设值,删除队列中的业务请求,退出处理。4.根据权利要求1所述的基于队列的业务请求处理方法,其特征在于:添加属于预设操作类型的业务请求数据到数据库的数据表中时,所述数据表中的用户ID、操作类型、优先级和操作所需数据分别从业务请求数据的用户ID、操作类型、在操作类...

【专利技术属性】
技术研发人员:金小刚邹国臣
申请(专利权)人:厦门易名科技股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1