[发明专利]一种基于异步回调的任务处理方法与设备有效
申请号: | 201710687661.X | 申请日: | 2017-08-11 |
公开(公告)号: | CN107506247B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 曾光尧;司继平;赵毅;李岩 | 申请(专利权)人: | 恒丰银行股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 上海三和万国知识产权代理事务所(普通合伙) 31230 | 代理人: | 周建华 |
地址: | 264001 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异步 任务 处理 方法 设备 | ||
1.一种基于异步回调的任务处理方法,其中,该方法包括:
获取待处理任务的语法树,该语法树包括节点以及节点关联关系;
基于所述节点关联关系执行所述语法树中的节点,其中:当被执行的节点具有预定异步标记时,向异步调用对象发送异步处理指令,并返回具有所述预定异步标记的节点的父节点以继续处理任务;并且,当接收到来自所述异步调用对象的反馈时,返回所述具有预定异步标记的节点;
其中,返回具有所述预定异步标记的节点的父节点以继续处理任务,包括:
当所述父节点具有预定任务并行标记且该父节点具有尚未被执行的子节点时,执行该父节点的尚未被执行的子节点;
当所述父节点不具有预定任务并行标记时,执行该父节点,其中,如果该父节点不是并行处理节点,则控制权将交给该父节点的父节点,一直到父节点为所述语法树的根节点,则所述语法树的对象线程释放;如果该父节点为并行处理节点,则该父节点会继续往下执行其他子节点。
2.根据权利要求1所述的方法,其中,所述异步处理指令包括所述具有预定异步标记的节点的地址信息。
3.根据权利要求2所述的方法,其中,返回所述具有预定异步标记的节点,包括:
根据所述地址信息返回并继续执行所述具有预定异步标记的节点。
4.根据权利要求2所述的方法,其中,所述地址信息包括所述具有预定异步标记的节点在所述语法树中的地址标签。
5.根据权利要求1所述的方法,其中,该方法还包括:
当被执行的节点具有所述预定异步标记时,生成并注册IO处理事件函数,该IO处理事件函数的输入值包括所述反馈。
6.根据权利要求5所述的方法,其中,返回所述具有预定异步标记的节点,包括:
启动新的进程,将所述反馈输入所述IO处理事件函数,以返回并继续执行所述具有预定异步标记的节点。
7.根据权利要求1所述的方法,其中,基于所述节点关联关系执行所述语法树中的节点,还包括:
当被执行的节点具有预定数据并行标记时,并利用该节点的子节点产生多个并行的子任务,以并行处理数据。
8.根据权利要求1所述的方法,其中,该方法还包括:
接收来自远程的调用;
根据所述调用,启动任务处理。
9.根据权利要求8所述的方法,其中,该方法还包括:
当所述语法树的所有节点执行完毕时,向所述远程反馈处理结果。
10.一种基于异步回调的任务处理设备,其中,该设备包括:
获取装置,用于获取待处理任务的语法树,该语法树包括节点以及节点关联关系;
执行装置,用于基于所述节点关联关系执行所述语法树中的节点,其中:当被执行的节点具有预定异步标记时,所述执行装置向异步调用对象发送异步处理指令,并返回具有所述预定异步标记的节点的父节点以继续处理任务;并且,当接收到来自所述异步调用对象的反馈时,所述执行装置返回所述具有预定异步标记的节点;
其中,返回具有所述预定异步标记的节点的父节点以继续处理任务,包括:
当所述父节点具有预定任务并行标记且该父节点具有尚未被执行的子节点时,执行该父节点的尚未被执行的子节点;
当所述父节点不具有预定任务并行标记时,执行该父节点,其中,如果该父节点不是并行处理节点,则控制权将交给该父节点的父节点,一直到父节点为所述语法树的根节点,则所述语法树的对象线程释放;如果该父节点为并行处理节点,则该父节点会继续往下执行其他子节点。
11.根据权利要求10所述的设备,其中,所述异步处理指令包括所述具有预定异步标记的节点的地址信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒丰银行股份有限公司,未经恒丰银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710687661.X/1.html,转载请声明来源钻瓜专利网。