并发任务调度方法及装置制造方法及图纸

技术编号:10600994 阅读:85 留言:0更新日期:2014-11-05 13:54
本发明专利技术提供了一种并发任务调度方法,包括:接收上传的业务请求,将所述业务请求封装成任务对象;获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务服务器,并将所述任务对象发送至所述选取的业务服务器进行处理;通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。此外,还提供了一种并发任务调度装置及系统。上述并发任务调度方法、装置及系统能够降低系统维护的开销。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种并发任务调度方法,包括:接收上传的业务请求,将所述业务请求封装成任务对象;获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务服务器,并将所述任务对象发送至所述选取的业务服务器进行处理;通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。此外,还提供了一种并发任务调度装置及系统。上述并发任务调度方法、装置及系统能够降低系统维护的开销。【专利说明】并发任务调度方法及装置
本专利技术涉及计算机
,特别是涉及一种并发任务调度方法及装置。
技术介绍
传统技术中的应用服务器在处理并发任务时,通常采用多进程的方式对多个业务请求进行并行处理,每个进程独立执行相应的处理任务,并将处理结果生成响应返回给相应的客户端。 然而,在高并发环境下,需要根据业务需求添加业务服务器,使用多进程的处理方式则在添加删除业务服务器时需要进行根据业务需求配置进程间通信的协议,使得维护的开销较大。
技术实现思路
基于此,有必要提供一种能够降低维护开销的并发任务调度方法。 一种并发任务调度方法,包括: 接收上传的业务请求,将所述业务请求封装成任务对象; 获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务服务器,并将所述任务对象发送至所述选取的业务服务器进行处理; 通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。 此外,还有必要提供一种能够降低维护开销的并发任务调度装置。 一种并发任务调度装置,包括: 请求接收模块,用于接收上传的业务请求,将所述业务请求封装成任务对象; 任务分配模块,用于获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务服务器,并将所述任务对象发送至所述选取的业务服务器进行处理; 响应生成模块,用于通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。 此外,还有必要提供一种能够降低维护开销的并发任务调度方法。 一种并发任务调度方法,包括: 入口节点接收客户端上传的业务请求,将所述业务请求封装成任务对象;获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务节点,并将所述任务对象发送至所述选取的业务节点; 所述业务节点通过对与其对应的数据节点进行读写操作生成与所述任务对象对应的处理结果,并返回给所述入口节点; 所述入口节点通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。 此外,还有必要提供一种能够降低维护开销的并发任务调度系统。 一种并发任务调度系统,包括客户端、入口节点、业务节点和数据节点,其中: 所述入口节点用于接收客户端上传的业务请求,将所述业务请求封装成任务对象;获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务节点,并将所述任务对象发送至所述选取的业务节点; 所述业务节点用于通过对与其对应的数据节点进行读写操作生成与所述任务对象对应的处理结果,并返回给所述入口节点; 所述入口节点还用于通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。 上述并发任务调度方法、装置及系统中,以线程为单位并发地处理业务请求,使得在进行线程调度时,同一进程下的多线程本身共享同一内存,可在进程内通信,即可直接使用操作系统提供的线程调度方法对处理业务请求的多线程进行调度。与传统技术相比,开发人员在添加或移除业务时,不需要编写或修改大量的用于维护的进程通信代码,从而降低了维护的开销。 【专利附图】【附图说明】 图1为传统技术中基于多进程的任务调度系统的结构示意图; 图2为传统技术中使用多进程的进行任务调度的原理示意图; 图3为一个实施例中并发任务调度方法的流程图; 图4为一个实施例中使用多进程的进行任务调度的原理示意图; 图5为一个实施例中并发任务调度系统的结构示意图; 图6为一个实施例中并发任务调度装置的结构示意图; 图7为另一个实施例中并发任务调度方法的流程图; 图8为一个实施例中运行web应用中执行业务逻辑的方法的服务器运行环境示意图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 除非上下文另有特定清楚的描述,本专利技术中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本专利技术并不对此进行限定。本专利技术中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组口 ο 在传统技术中,如图1所示,PN节点(Proxy Node)为提供业务服务入口的入口服务器,例如,web应用中的web服务器,移动互联网应用的应用服务器;C1和C2为客户端,客户端可以有多个。BN节点(Business Node)即业务节点,PN节点与多个BN节点连接(即图中的BN1、BN2、BN3和BN4),每个BN节点可根据预设的业务逻辑算法处理业务请求。客户端通过向PN节点发起业务请求来获得服务,BN节点通过处理PN节点转发或重定向的业务请求执行业务,PN节点通过向客户端返回由BN节点回复的响应来提供服务。 然而,如图2所示,在传统技术中,PN节点在转发业务请求时,采用的是多进程的方法,即接收到业务请求后,为其分配一个进程以及一个端口号,然后该进程通过该端口号与某个业务服务器建立socket连接,将业务请求通过该socket连接转发给业务服务器。通常情况下,进程还包括类别信息,每一类的多个进程对应处理该种业务的业务服务器(如图2中的A类业务对应多个业务服务器进行处理,PN节点有多个进程与A类业务服务器进行通信),在多进程的机制下,则根据业务请求的业务类型对多个进程进行调度(例如A类进程等待B类进程接收到的响应数据,需要进入阻塞状态)。对多个进程进行调度则需要在多进程之间进行通信。 而传统技术中,进程间通信的机制(IPC, Inter-Process Communicat1n)通常需要开发人员根据业务需求设计,若业务类型较多,或者在添加或移除某种业务类型时,则相应的需要添加或修改相应的IPC代码。对于较大的应用来说,需要花费在维护上的开销较大。 而在本实施例中,未解决上述系统维护开销较大的问题,提出了一种并发任务调度方法,该方法可依赖于计算机程序,能够运行于基于冯洛伊曼体系的计算机系统上。该计算机系统可以是web服务器、移动互联网应用服务器、游戏入口服务器等。 在本实施例中,如图3所示,该方法包括: 步骤S102,接收上传的业务请求,将业务请求封装成任务对象。 业务请求即为前述的客户端向PN节点发起的期望获得数据服务的业务请求。 例如,在一个基于web的视频点播系统中,用户发起的业务请求即为通过浏览器发起的基于http协议的web访问请求,该we本文档来自技高网...

【技术保护点】
一种并发任务调度方法,包括:接收上传的业务请求,将所述业务请求封装成任务对象;获取处理线程,将所述任务对象分配给所述处理线程,由所述处理线程选取业务服务器,并将所述任务对象发送至所述选取的业务服务器进行处理;通过所述处理线程接收业务服务器返回的处理结果,根据所述处理结果生成响应并返回。

【技术特征摘要】

【专利技术属性】
技术研发人员:方学维
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1