[发明专利]自适应数据请求处理方法、装置、任务调度器及系统在审
申请号: | 201510751805.4 | 申请日: | 2015-11-06 |
公开(公告)号: | CN105389207A | 公开(公告)日: | 2016-03-09 |
发明(设计)人: | 陈朱尧;敬斌 | 申请(专利权)人: | 成都视达科信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 刘洵 |
地址: | 610000 四川省成都市高新区世*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自适应 数据 请求 处理 方法 装置 任务 调度 系统 | ||
技术领域
本发明涉及数据处理领域,特别涉及一种自适应数据请求处理方法、装置、任务调度器及系统。
背景技术
一个涉及数据处理的系统或软件(如应用程序)通常包涵很多的数据请求和/或数据处理任务,数据请求和处理的合理和高效是十分重要的,可以能使得整个系统的体验提升到最佳,使用户得到更好的体验。
现有的数据请求处理任务(下称请求或任务)处理过程一般是将下一个请求的启动放到了所依赖的上一个请求的执行结果中,当下一个请求获得上一个请求的执行结果时,将数据传递到再下一个的请求当中,当前置依赖的上一个请求执行完成时,启动再下一个数据请求任务。
比如,在视频播放任务处理中,有如下数据请求处理任务队列,任务A:获取其他任务的入口地址;任务B:根据A任务返回的地址请求同步服务器时间;任务C:根据A任务返回的地址请求自动登录;任务D:根据任务C自动登录的用户信息和任务B同步的服务器时间,使用任务A返回的地址请求一个时移的播放串。
上述任务队列包含A、B、C、D四个任务,启动B需要A的结果,启动C需要A的结果,启动D则需要A的地址、B的服务器时间、C的用户信息,所以他们之间的依赖关系就是A没有依赖,B依赖于A,C依赖于A,D依赖于ABC。
较为传统的请求处理方式为:首先是A任务启动,执行完毕时再启动B,B执行完毕时请求C,C执行完毕最后请求D,D执行完毕则整个任务队列执行完毕。另外也可以调整B和C的执行顺序,可以看出整个任务队列的执行过程是顺序的。这样的方式在具有依赖关系的任务队列执行时,其处理的逻辑关系是由一个或多个任务驱动下一个任务并顺序执行,任务间的耦合度较高,不能做到较高的任务并发执行,导致处理效率较低。
另外,当任务之间的依赖关系改变时,任务间的依赖关系难以明确,调整任务间的依赖关系的灵活度较低,进一步导致处理效率较低且不方便系统后期维护和扩展。以上述举例为例说明,如果在上述任务中间增加一个步骤是去获取播放列表的话,那么涉及到的几个任务之间的依赖关系改变较多,要做修改的话,易出错,任务间的依赖关系难以明确,通过实际的实现代码没有办法明显的看出他们之间的依赖关系,进而难以灵活地调整驱动任务执行。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种自适应数据请求处理方法、装置、任务调度器及系统,旨在具有依赖关系的任务队列执行时,获得尽可能高的并发度,提高任务执行效率,高效地完成数据请求处理,同时利于数据处理系统的后期维护和扩展。
为了实现上述发明目的,本发明采用的技术方案是:
一方面,本发明实施例提供一种自适应数据请求处理方法,包括以下步骤:
获取待执行的数据请求队列中的至少两个数据请求处理任务之间的依赖关系并建立依赖关系表;以及
根据所述依赖关系表,统一自适应地调度所述数据请求队列中的所述至少两个数据请求处理任务并驱动执行。
在一个实施例中,所述根据所述依赖关系表,统一调度所述数据请求队列中的所述至少两个数据请求处理任务并驱动执行的步骤,具体包括:
根据预定的调度规则,将所述数据请求队列中满足所述预定的调度规则的数据请求处理任务调度加入到执行队列以驱动执行;
其中,所述预定的调度规则为:数据请求处理任务处于非错误状态,非运行状态,非执行完成状态并且它所依赖的其他数据请求处理任务全部处于执行完成状态。
在一个实施例中,所述获取待执行的数据请求队列中的至少两个数据请求处理任务之间的依赖关系并建立依赖关系表的步骤,具体还包括以下子步骤:
建立所述依赖关系表的同时或之后,建立所述至少两个数据请求处理任务中每个数据请求处理任务的调用接口;其中所有数据请求处理任务的调用接口相同;
相应的,所述根据所述依赖关系表,统一自适应地调度所述数据请求队列中的所述至少两个数据请求处理任务并驱动执行的步骤,具体包括如下子步骤:
根据所述依赖关系表和每个数据请求处理任务的所述调用接口,将所述数据请求队列中满足所述预定的调度规则的数据请求处理任务调度加入到执行队列以驱动执行。
在一个实施例中,该方法还包括:当检测到所述数据请求队列执行到出口任务时,结束所述数据请求队列的执行;其中,所述出口任务为所述数据请求队列中最后一个处于执行完成状态的数据请求处理任务。
进一步的,该方法还包括:当检测到所述数据请求队列执行过程中出现预定错误时,停止所述数据请求队列的执行,并将所述预定错误返回给调用者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都视达科信息技术有限公司,未经成都视达科信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510751805.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种容器监控方法和装置
- 下一篇:一种云计算数据中心虚拟机资源快速配置方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置