发明创造名称:多线程任务处理方法和装置
外观设计名称:
决定号:180857
决定日:2019-06-13
委内编号:1F238400
优先权日:
申请(专利)号:201610005316.9
申请日:2016-01-04
复审请求人:北京百度网讯科技有限公司
无效请求人:
授权公告日:
审定公告日:
专利权人:
主审员:王芳
合议组组长:宋朝
参审员:孔昕
国际分类号:G06F9/46;G06F17/30
外观设计分类号:
法律依据:专利法第22条第3款
决定要点
:如果一项权利要求请求保护的技术方案与作为最接近现有技术的对比文件相比存在区别技术特征,但所述区别技术特征或者被另一篇对比文件所公开且所起的作用相同,或者为本领域的公知常识,则该权利要求请求保护的技术方案相对于上述两篇对比文件及本领域公知常识的结合不具有突出的实质性特点,不具备专利法第22条第3款规定的创造性。
全文:
本复审请求涉及申请号为201610005316.9,名称为“多线程任务处理方法和装置”的发明专利申请(下称本申请)。本申请的申请人为北京百度网讯科技有限公司,申请日为2016年01月04日,公开日为2016年06月22日。
经实质审查,国家知识产权局实质审查部门于2017年08月08日发出驳回决定,以权利要求1-18不具备专利法第22条第3款规定的创造性为由驳回了本申请。驳回决定中引用了如下对比文件:
对比文件1:CN101957780A,公开日为2011年01月26日;
对比文件2:CN101290588A,公开日为2008年10月22日;
对比文件3:CN101425024A,公开日为2009年05月06日。
驳回决定的具体理由是:1、权利要求1、10与对比文件1相比,区别技术特征为:(1)所述实体包括:加锁标识、任务处理函数;执行模块调用锁及获取的实体的任务处理函数,所述锁根据获取的实体的加锁标识确定;(2)执行模块将处理的结果通知所述监听模块,监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功或失败标记发送给所述管理模块。然而区别技术特征(1)已经被对比文件2所公开且所起的作用相同,区别技术特征(2)是本领域的公知常识。2、权利要求2-9、11-18的附加技术特征部分被对比文件3公开且所起作用相同、其余部分是本领域的公知常识。因此,权利要求1-18不具备创造性。
驳回决定所依据的文本为:申请日2016年01月04日提交的权利要求第1-18项、说明书第1-20页、说明书附图第1-6页、说明书摘要和摘要附图。
驳回决定所针对的权利要求书内容如下:
“1. 一种多线程任务处理方法,其特征在于,所述方法包括:
任务管理器接收业务信息,将所述业务信息中包括的任务信息的实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述实体包括:加锁标识、任务处理函数;
所述管理模块调用执行模块以处理所述任务池中的实体,调用监听模块以获取所述执行模块处理所述任务池中的实体的结果;
所述执行模块从所述任务池中获取实体,调用线程、锁以及获取的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;
所述监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功标记或失败标记发送给所述管理模块。
2. 根据权利要求1所述的方法,其特征在于,所述实体还包括:重试次数;以及
所述监听模块根据所述处理的结果记录失败标记,并将记录的失败标记发送给所述管理模块包括:
所述监听模块响应于所述处理的结果为失败,根据获取的实体的重试次数,通知所述执行模块重试处理所述获取的实体,当重试处理的次数达到所述重试次数但处理的结果仍为失败时,记录失败标记,并将所述失败标记发送给所述管理模块。
3. 根据权利要求1或2任意一项所述的方法,其特征在于,所述任务管理器接收业务信息,将所述业务信息中包括的任务信息的实体添加至任务池中包括:所述任务管理器接收业务信息,将预设处理时间添加至所述业务信息包括的任务信息的实体中,将已添加所述预设处理时间的实体添加至任务池中;以及
所述管理模块调用执行模块以处理所述任务池中的实体包括:所 述管理模块响应于在所述预设处理时间内未接收到所述处理的结果,发送终止指令给所述执行模块以终止处理所述已添加所述预设处理时间的实体,并将所述已添加所述预设处理时间的实体重新添加至所述任务池中。
4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述任务管理器响应于所述任务信息的实体满足预设的事务条件,启动所述任务信息的实体的事务;
所述管理模块响应于接收到所述失败标记并且与所述失败标记对应的实体已预先启动事务,调用所述执行模块以回滚所述与所述失败标记对应的实体。
5. 根据权利要求4所述的方法,其特征在于,所述实体还包括:回滚函数;以及
所述方法还包括:所述执行模块调用所述回滚函数以回滚所述与所述失败标记对应的实体。
6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述任务管理器响应于接收用户选择而确定分布式锁,并将所述分布式锁添加至分布式锁池中;以及
所述执行模块调用锁包括:所述执行模块从所述分布式锁池中调用所述获取的实体的加锁标识所指示的锁。
7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:所述任务管理器接收添加执行模块指令,根据所述添加执行模块指令添加新的执行模块至执行模块池;以及
所述管理模块调用执行模块以处理所述任务池中的实体包括:所述管理模块从所述执行模块池中调用执行模块以处理所述任务池中的实体。
8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:所述任务管理器接收添加监听模块指令,根据所述添加监听模块指令添加新的监听模块至监听模块池;
所述管理模块调用监听模块以获取所述执行模块处理所述实体的结果包括:所述管理模块从所述监听模块池中调用监听模块以获取所述执行模块处理所述获取的实体的结果。
9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述管理模块对所述处理的结果进行以下一项或多项处理:存入数据库,写入日志和通知第三方系统。
10. 一种多线程任务处理装置,其特征在于,所述装置包括:
任务管理器,用于接收业务信息,将所述业务信息中包括的任务信息的实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述实体包括:加锁标识、任务处理函数;
所述管理模块,用于调用执行模块以处理所述任务池中的实体,调用监听模块以获取所述执行模块处理所述任务池中的实体的结果;
所述执行模块,用于从所述任务池中获取实体,调用线程、锁以及获取的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;
所述监听模块,用于根据所述处理的结果记录成功标记或失败标记,并将所述成功标记或失败标记发送给所述管理模块。
11. 根据权利要求10所述的装置,其特征在于,所述任务管理器中的所述实体还包括:重试次数;以及
所述监听模块进一步用于:
响应于所述处理的结果为失败,根据获取的实体的重试次数,通知所述执行模块重试处理所述获取的实体,当重试处理的次数达到所述重试次数但处理的结果仍为失败时,记录失败标记,并将所述失败 标记发送给所述管理模块。
12. 根据权利要求10或11任意一项所述的装置,其特征在于,所述任务管理器进一步用于:
接收业务信息,将预设处理时间添加至所述业务信息包括的任务信息的实体中,将已添加所述预设处理时间的实体添加至任务池中;以及
所述管理模块进一步用于:
响应于在所述预设处理时间内未接收到所述处理的结果,发送终止指令给所述执行模块以终止处理所述已添加所述预设处理时间的实体,并将所述已添加所述预设处理时间的实体重新添加至所述任务池中。
13. 根据权利要求12所述的装置,其特征在于,所述任务管理器进一步用于:
响应于所述任务信息的实体满足预设的事务条件,启动所述任务信息的实体的事务;以及
所述管理模块进一步用于:
响应于接收到所述失败标记并且与所述失败标记对应的实体已预先启动事务,调用所述执行模块以回滚所述与所述失败标记对应的实体。
14. 根据权利要求13所述的装置,其特征在于,所述任务管理器中的所述实体还包括:回滚函数;以及
所述执行模块进一步用于:
调用所述回滚函数以回滚所述与所述失败标记对应的实体。
15. 根据权利要求14所述的装置,其特征在于,所述任务管理器进一步用于:
响应于接收用户选择而确定分布式锁,并将所述分布式锁添加至 分布式锁池中;以及
所述执行模块进一步用于:
所述执行模块从所述分布式锁池中调用所述获取的实体的加锁标识所指示的锁。
16. 根据权利要求15所述的装置,其特征在于,所述任务管理器进一步用于:
接收添加执行模块指令,根据所述添加执行模块指令添加新的执行模块至执行模块池;以及
所述管理模块进一步用于:从所述执行模块池中调用执行模块以处理所述任务池中的实体。
17. 根据权利要求16所述的装置,其特征在于,所述任务管理器进一步用于:
接收添加监听模块指令,根据所述添加监听模块指令添加新的监听模块至监听模块池;以及
所述管理模块进一步用于:
从所述监听模块池中调用监听模块以获取所述执行模块处理所述获取的实体的结果。
18. 根据权利要求17所述的装置,其特征在于,所述管理模块进一步用于:
对所述处理的结果进行以下一项或多项处理:存入数据库,写入日志和通知第三方系统。”
申请人(下称复审请求人)对上述驳回决定不服,于2017年11月23日向国家知识产权局提出了复审请求,并提交了权利要求书的全文修改替换页。具体修改内容如下:将权利要求1、3、10、12中的技术特征“业务信息”修改为“原子性业务信息”。复审请求人认为:(1)对比文件1未公开技术特征①“任务管理器接收原子性业务信息,将所述原子性业务信息中包括的任务信息的实体添加至任务池中”,对比文件1中记载的内容在接收动作执行的主体、接收的对象和接收后进行的处理与权利要求1均不相同。(2)对比文件1未公开技术特征③“所述管理模块调用监听模块以获取所述执行模块处理所述任务池中的实体的结果”;④“执行模块将处理的结果通知所述监听模块,监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功或失败标记发送给所述管理模块”,这些特征也不是本领域的常用技术手段。(3)对比文件1未公开技术特征②“所述实体包括:加锁标识、任务处理函数;执行模块调用锁及获取的实体的任务处理函数,所述锁根据获取的实体的加锁标识确定”;对比文件2中公开了“加锁标志初始状态为空,用户可根据具体情况在任务中调用加锁、解锁函数进行设置”,也即对比文件2给出了加锁标识可以为空这一反向的教导。而权利要求1中为了保证原子性业务中的任务的唯一性且不被中断,即便在不需要访问共享资源时,加锁标识也不能为空。因此,修改后的权利要求1-18具备创造性。
复审请求人在提出复审请求时新修改的权利要求1、3、10、12的内容如下:
“一种多线程任务处理方法,其特征在于,所述方法包括:
任务管理器接收原子性业务信息,将所述原子性业务信息中包括的任务信息的实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述实体包括:加锁标识、任务处理函数;
所述管理模块调用执行模块以处理所述任务池中的实体,调用监听模块以获取所述执行模块处理所述任务池中的实体的结果;
所述执行模块从所述任务池中获取实体,调用线程、锁以及获取的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;
所述监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功标记或失败标记发送给所述管理模块。”
“3. 根据权利要求1或2任意一项所述的方法,其特征在于,所述任务管理器接收原子性业务信息,将所述原子性业务信息中包括的任务信息的实体添加至任务池中包括:所述任务管理器接收原子性业务信息,将预设处理时间添加至所述原子性业务信息包括的任务信息的实体中,将已添加所述预设处理时间的实体添加至任务池中;以及
所述管理模块调用执行模块以处理所述任务池中的实体包括:所 述管理模块响应于在所述预设处理时间内未接收到所述处理的结果,发送终止指令给所述执行模块以终止处理所述已添加所述预设处理时间的实体,并将所述已添加所述预设处理时间的实体重新添加至所述任务池中。”
“10. 一种多线程任务处理装置,其特征在于,所述装置包括:
任务管理器,用于接收原子性业务信息,将所述原子性业务信息中包括的任务信息的实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述实体包括:加锁标识、任务处理函数;
所述管理模块,用于调用执行模块以处理所述任务池中的实体,调用监听模块以获取所述执行模块处理所述任务池中的实体的结果;
所述执行模块,用于从所述任务池中获取实体,调用线程、锁以及获取的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;
所述监听模块,用于根据所述处理的结果记录成功标记或失败标记,并将所述成功标记或失败标记发送给所述管理模块。”
“12. 根据权利要求10或11任意一项所述的装置,其特征在于,所述任务管理器进一步用于:
接收原子性业务信息,将预设处理时间添加至所述原子性业务信息包括的任务信息的实体中,将已添加所述预设处理时间的实体添加至任务池中;以及
所述管理模块进一步用于:
响应于在所述预设处理时间内未接收到所述处理的结果,发送终止指令给所述执行模块以终止处理所述已添加所述预设处理时间的实体,并将所述已添加所述预设处理时间的实体重新添加至所述任务池中。”
经形式审查合格,国家知识产权局于2017年12月22日依法受理了该复审请求,并将其转送至实质审查部门进行前置审查。
实质审查部门在前置审查意见书中坚持驳回决定。
随后,国家知识产权局成立合议组对本案进行审理。
合议组于2019年01月02日向复审请求人发出复审通知书,指出权利要求1-18不具备专利法第22条第3款规定的创造性。对于复审请求人的意见陈述,合议组认为:(1)对比文件1也是用于通过多线程处理有多个任务的业务信息,在需要处理原子性业务信息时,本领域技术人员容易想到使用对比文件1的多线程任务处理方法,并根据原子性业务的特点作进一步改进,这是本领域的常用技术手段。(2)对比文件1中已经公开了管理模块获取执行模块的处理结果,执行模块处理成功还是失败都被反馈给了管理模块,在此启示下,本领域技术人员容易想到根据需要具体设置如何反馈处理结果,例如设置监听模块,由执行模块将结果通知监听模块,监听模块对结果记录标记并反馈管理模块,这是本领域的常用技术手段。(3)对比文件2中已经公开了在对多任务进行处理时,根据任务就绪表中处于最高优先级任务的优先级和当前任务优先级的高低以及加锁标志,激活函数确定是否进行任务调度切换,用户可根据具体情况在任务中调用加锁、解锁函数对锁进行设置,也是用于抢占共享资源。因此,本申请权利要求均不具备创造性。
复审请求人于2019年02月13日提交了意见陈述书,未修改申请文件。复审请求人认为:(1)对比文件1和权利要求1具有不同的发明构思,所属的技术领域不同,解决的技术问题不同,采用的技术方案不同,产生的技术效果也不相同。对比文件1是通过两级架构来实现多个调度器之间协同和统一管理,而权利要求1是多线程并行执行单个原子性业务的多个任务信息的实体,提高了原子性业务的效率。(2)对比文件1未公开多任务属于同一原子性业务,原子性业务包括的多个任务并不是普通的多个任务,有其特点,不容易将对比文件1的多线程任务处理方法应用到原子性业务中的多个任务;对比文件2有加锁为空这一反向教导,并且对比文件2的加锁标识在任务中调用加锁、解锁函数设置的,和权利要求1中的加锁标志所起的作用不相同,本领域技术人员不容易想到将对比文件2的方法用于确定分布式锁。(3)对比文件1中网格任务调度器采用两级结构,并不能解决权利要求1的技术问题,本领域技术人员没有动机在对比文件1的基础上引用其他技术特征来解决权利要求1的技术问题。(4)对比文件1中的相关模块不能相当于权利要求1中的执行模块、管理模块,对比文件1中的“网格调度执行器”相当于“任务管理器”与“调度任务管理模块”相当于“管理模块”相冲突,并且“调度任务管理模块”和“调度器管理模块”都相当于“管理模块”。因此,本申请全部权利要求1-18具备创造性。
在上述程序的基础上,合议组认为本案事实已经清楚,可以作出审查决定。
二、决定的理由
1、审查文本的认定
复审请求人在提出复审请求时提交了权利要求书的全文修改替换页(包括权利要求第1-18项),经审查,所作修改符合专利法实施细则第61条第1款及专利法第33条的规定。本复审请求审查决定所依据的审查文本为:申请日2016年01月04日提交的说明书第1-20页、说明书附图第1-6页、说明书摘要、摘要附图;2017年11月23日提交的权利要求第1-18项。
2、关于专利法第22条第3款
专利法第22条第3款规定:创造性,是指与现有技术相比,该发明具有突出的实质性特点和显著的进步,该实用新型具有实质性特点和进步。
如果一项权利要求请求保护的技术方案与作为最接近现有技术的对比文件相比存在区别技术特征,但所述区别技术特征或者被另一篇对比文件所公开且所起的作用相同,或者为本领域的公知常识,则该权利要求请求保护的技术方案相对于上述两篇对比文件及本领域公知常识的结合不具有突出的实质性特点,不具备专利法第22条第3款规定的创造性。
本复审请求审查决定所引用的对比文件与复审通知书和驳回决定中引用的对比文件相同,即:
对比文件1:CN101957780A,公开日为2011年01月26日;
对比文件2:CN101290588A,公开日为2008年10月22日;
对比文件3:CN101425024A,公开日为2009年05月06日。
权利要求1-18不符合专利法第22条第3款的规定。
2.1、权利要求1请求保护一种多线程任务处理方法,对比文件1公开了一种多线程调度处理方法,并具体公开了如下技术特征(参见说明书第[0078]-[0114]段,图1-4):
网格调度执行器(相当于任务管理器)由调度请求接收模块、调度请求处理模块、服务资源状态反馈收集模块、服务资源查询模块、调度任务管理模块、调度线程管理模块、调度任务执行模块、任务状态监控模块、调度模型线程池构成。调度请求接收模块负责接收从虚拟调度管理器中调度器协同模块转发的调度请求消息(相当于一种业务信息),并根据调度请求的消息类型送入不同的消息队列中;调度请求处理模块从消息队列中取出新的调度请求消息,根据调度请求消息中包含的调度请求特征生成新的调度任务(相当于任务信息的实体),放入就绪任务队列(相当于任务池)中;当调度线程管理模块通知调度任务管理模块(相当于管理模块)有空闲线程时,调度任务管理模块从就绪任务队列中取出第一个就绪任务送入调度线程管理模块处理。所述调度线程管理模块选择空闲线程处理新接收的调度任务。调度线程管理模块管理一个调度任务处理线程池,线程池中维护多个调度执行线程实例,每个线程的输入为调度任务,输出为调度结果,即资源-任务匹配的关系。对于同一个调度模型,允许有多个线程,这样可以支持并发调度。调度任务执行模块(调度线程管理模块和调度任务执行模块相当于执行模块)获取调度就绪任务可以通过P-V操作实现互斥。当某一个调度执行线程空闲时,将查询调度任务就绪队列,判断是否有使用该调度模型的调度任务就绪,如果有,则取出该任务执行调度过程;反之,调度执行线程将进行空闲等待状态,等待新的调度任务到来。当调度执行线程完成一次调度过程后,将通知调度任务管理模块调度过程结束,并返回调度结果。调度任务执行模块对从所述服务资源查询模块获取的所有可用服务资源进行循环处理,依次获取每个服务资源的状态信息。当所有可用资源的状态信息获取完毕,将根据调度策略执行任务调度过程,当任务调度过程执行完毕,所述调度任务管理模块将通知任务状态监控模块该调度任务执行成功。调度任务执行模块在执行资源查询匹配过程时,没有获得满足调度请求的可用服务资源时,则说明本地注册的资源均无法满足本次调度请求,所述调度任务管理模块将通知任务状态监控模块本次调度请求处理失败。所述任务状态监控模块收到由所述调度任务执行模块提交的调度任务状态信息后,如果状态信息表明调度任务处理失败,则所述任务状态监控模块将通知调度器协同模块本次调度请求处理失败,本地没有可用的服务资源。当调度器协同模块接收到调度任务处理失败的消息后,将查询相邻的调度节点信息,转发该调度请求;反之,调度器协同模块将调度结果通知调度器管理模块(相当于处理的结果记录为成功标记或者失败标记,并发送给管理模块)。
权利要求1所要求保护的技术方案与对比文件1所公开的技术内容相比,区别技术特征为:(1)权利要求1中接收的是原子性业务信息,加入任务池中的是原子性业务信息中包括的任务信息的实体,所述实体包括:加锁标识、任务处理函数;执行模块调用锁及获取的实体的任务处理函数,所述锁根据获取的实体的加锁标识确定;(2)执行模块将处理的结果通知所述监听模块,监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功或失败标记发送给所述管理模块。
基于上述区别技术特征,可以确定权利要求1所实际解决的技术问题是:如何将多线程任务处理方法应用到原子性业务中、表示任务相关的信息及根据该信息对任务进行处理;以及提供另一种为管理模块反馈处理结果的方式。
对于区别技术特征(1),对比文件1是采用多线程对多任务进行调度的方法,原子性业务也是包括多个任务,本领域普通技术人员容易想到将对比文件1的多线程任务处理方法应用到原子性业务中。此外,对比文件2公开了一种微嵌入式实时任务方法,并具体公开了如下技术特征(参见说明书第5页第9行-第8页第11行):任务控制模块,主要由一个结构体来管理任务执行相关的参数,每个任务在创建时复制一个相同的任务控制块结构体。任务控制块结构体由任务堆栈、任务入口地址、任务状态字、任务优先级和任务加锁标志5个部分组成。任务入口地址是任务运行时的初始地址,是一个长整型指针,在任务创建时初始化指向任务函数名。加锁标志初始状态为空,用户可根据具体情况在任务中调用加锁、解锁函数进行设置。事件机制控制模块:定义任务事件的结构形式,实现任务事件在任务调度中的实现方式,根据任务就绪表中处于最高优先级任务的优先级和当前任务优先级的高低以及加锁标志,激活函数确定是否进行任务调度切换。且其在对比文件2中所起的作用和其在权利要求1中所起的作用相同,都是用于通过加锁和任务处理函数来表示任务相关信息并对任务进行处理。即该对比文件给出了将上述区别技术特征应用到对比文件1中以解决其技术问题的启示。而原子性业务通常与多个任务的执行结果相关,在将对比文件1的多线程任务处理方法应用到原子性业务时,为了保证多个任务的原子性和一致性,在对比文件2的启示下,本领域普通技术人员容易想到通过加锁和使用任务处理函数来处理任务并根据加锁标识来确定锁,这些是本领域的常用技术手段。
对于区别技术特征(2),对比文件1中已经公开了任务状态监控模块接收调度任务执行结果,包括成功或失败。在这些启示下,本领域普通技术人员容易想到将处理结果不直接发送给管理模块,而是由监听模块记录成功标记或失败标记,并转发给管理模块,这是本领域的常用技术手段。
在对比文件1的基础上结合对比文件2和本领域的常用技术手段,得到权利要求1请求保护的技术方案对于本领域的技术人员来说是显而易见的,权利要求1请求保护的技术方案不具有突出的实质性特点,不具备专利法第22条第3款规定的创造性。
2.2、权利要求2引用权利要求1,对比文件3公开了一种多任务处理方法及装置,并具体公开了如下技术特征(参见说明书第3页倒数第1行-第4页第12行):预先配置失败重试间隔和最大重试次数(相当于包括重试次数),多任务列表记录每一项任务所包括各项子任务的重试次数,对于执行失败的子任务,根据配置的失败重试间隔,控制执行失败状态的子任务在执行节点上重复运行,并更新多任务列表中记录的该子任务的重试次数,直至运行成功或者达到配置的最大重试次数。如果执行失败状态的子任务通过若干次重复运行达到配置的最大重试次数,则上报多任务处理失败的告警信息。即对比文件3公开了设置最大重试次数,并在重试次数达到最大数并且处理结果仍为失败时,上报失败报警信息。且其在对比文件3中所起的作用和其在权利要求2中的作用相同,都是用于确定在任务处理时判断任务失败的状态,即该对比文件给出了将上述特征应用到对比文件1中以解决其技术问题的启示,在此启示下,本领域普通技术人员容易想到由监听模块根据失败的处理结果和重试次数通知执行模块重试处理,并在达到重试次数仍为失败时记录失败标记发送给管理模块,这些是本领域的常用技术手段。因而,在对比文件1的基础上结合对比文件2、对比文件3和和本领域的常用技术手段得到权利要求2请求保护的技术方案对于本领域的技术人员来说是显而易见的,权利要求2的技术方案不具有突出的实质性特点,不具备专利法第22条第3款规定的创造性。
2.3、权利要求3引用权利要求1或2,为保证任务的及时处理,设置任务的预设处理时间,如果在预设时间内未完成处理,则重新将任务送入任务池进行下一次的处理为本领域的常用技术手段。因此,当其引用的权利要求不具备创造性时,权利要求3也不具备专利法第22条第3款规定的创造性。
2.4、权利要求4引用权利要求3,在满足预设的事务条件时启动实体的事务以及在任务执行失败时,执行任务的回滚都是本领域的常用技术手段。当其引用的权利要求不具备创造性时,权利要求4也不具备专利法第22条第3款规定的创造性。
2.5、权利要求5引用权利要求4,在任务失败时调用回滚函数执行任务的回滚是本领域的公知常识,本领域的技术人员容易想到根据需要设置并使用回滚函数,这是本领域的常用技术手段。当其引用的权利要求不具备创造性时,权利要求5也不具备专利法第22条第3款规定的创造性。
2.6、权利要求6引用权利要求5,使用分布式锁来控制分布式系统之间同步访问共享资源是本领域的公知常识。为保证对共享资源的安全访问,保持数据的一致性,本领域技术人员容易想到在任务调度时采取分布式锁。当其引用的权利要求不具备创造性时,权利要求6也不具备专利法第22条第3款规定的创造性。
2.7、权利要求7引用权利要求6,权利要求8引用权利要求7,权利要求9引用权利要求8,对于具有多个功能模块可选择用于相关处理功能时,可将该多个功能模块添加并置于相应集合中,在需要时从集合中选择其一进行相关处理为本领域的公知常识。本领域的技术人员容易想到任务的处理和监听均可采取上述方式进行。而通过存入数据库或写入日志的方式对处理结果进行记录,或为处理需求将处理结果通知第三方系统均是本领域的常用技术手段。当其引用的权利要求不具备创造性时,权利要求7-9也不具备专利法第22条第3款规定的创造性。
2.8、权利要求10-18请求保护一种多线程任务处理装置,与方法权利要求1-9相对应,参考评述方法权利要求1-9类似的理由,权利要求10-18请求保护的多线程任务处理装置也不具备专利法第22条第3款规定的创造性。
3、对复审请求人相关意见的答复:
对于复审请求人答复复审通知书时提出的意见,合议组认为:
(1)对比文件1和本申请均属于计算机任务处理领域,具体而言,是针对多任务的处理,其解决方案都是通过多线程来执行多个任务,并对任务的执行情况进行监控,可见,两者的发明构思是相同的。此外,对比文件1中的任务处理方法支持并发调度任务,客观上就可以解决单线程串联处理业务带来的效率低下的问题,并且能够达到提高处理业务效率的技术效果;对比文件1不仅通过两级架构来实现多个调度执行器之间协同,还公开了每一个调度执行器具体如何对调度请求进行调度,在每一个调度执行器中可以通过多线程并行执行业务的多个任务信息的实体。
(2)对比文件1中采用多线程对多任务进行调度,并未限定这些任务属于同一业务还是不同业务,本领域技术人员能够理解,对比文件1中所描述的“多任务”可以属于相同或不同的业务,其解决方案在这两种情况都是适用的,并且权利要求1中对于“原子性业务信息”并未限制任何特性使得对比文件1的方法不适用于“原子性业务信息”,对本领域技术人员来说,可以想到将对比文件1的方法应用到对原子性业务信息的多任务进行调度中。而关于“锁”,对比文件1已经公开了通过P-V操作实现互斥,考虑了任务之间的互斥,而在对多任务进行控制时,本领域技术人员容易想到改进任务之间互斥操作的方法,从而有动机去采用对比文件2中的使用锁来实现互斥的方法;权利要求1中仅记载了“执行模块对实体处理时需要调用锁,调用的锁是根据获取的实体的加锁标识确定”,并未限定加锁标识是否为空,对比文件2中已经公开了在对多任务进行处理时,根据任务就绪表中处于最高优先级任务的优先级和当前任务优先级的高低以及加锁标志,激活函数确定是否进行任务调度切换,用户可根据具体情况在任务中调用加锁、解锁函数对锁进行设置,这些是本领域的常用技术手段。
(3)对比文件1在每一个调度执行器对调度请求进行调度时,具体是通过调度请求模块对调度请求进行分析并创建调度任务,将调度任务送入调度任务等候队列,由调度任务执行模块根据调度模型线程池中是否有空闲线程从而对调度任务进行处理,客观上对比文件1的方案就可以解决单线程串联处理业务的效率低下的问题。
(4)对比文件1中的“网格调度执行器”包括多个模块,其在逻辑上接收调度请求信息,送入不同的消息队列,并生成调度任务,放入就绪任务队列,然后通知调度任务管理模块从就绪队列中取出就绪任务送入调度线程管理模块进行处理,在整体上实现了任务管理器的功能,权利要求1中并未限定任务管理器和管理模块的关系,仅记载了任务管理器在适当时机调用管理模块,对比文件1中的“网格调度执行器”可以相当于权利要求1中的“任务管理器”。对比文件1中的“调度任务管理模块”相当于权利要求1的“管理模块”,对比文件1已经公开了其记录任务执行结果的整个过程“当调度执行线程完成一次调度过程后,将通知调度任务管理模块调度过程结束,并返回调度结果。调度任务执行模块对从所述服务资源查询模块获取的所有可用服务资源进行循环处理,依次获取每个服务资源的状态信息。……当调度器协同模块接收到调度任务处理失败的消息后,将查询相邻的调度节点信息,转发该调度请求;反之,调度器协同模块将调度结果通知调度器管理模块”,从中可知,对比文件1中的“调度任务管理模块”获得了“调度任务执行模块”关于任务的执行结果(成功或者失败),因而公开了“处理的结果记录为成功标记或者失败标记,并发送给管理模块”。此外,对比文件1中的“调度线程管理模块”和“调度任务执行模块”结合起来实现从任务池中获取调度任务,并且对获取的调度任务进行处理以及将处理结果进行反馈的功能,相当于权利要求1中的“执行模块”。
综上所述,复审请求人的意见陈述不具有说服力,合议组不予支持。
基于上述事实和理由,合议组作出如下决定。
三、决定
维持国家知识产权局于2017年08月08日对本申请作出的驳回决定。
如对本复审请求审查决定不服,根据专利法第41条第2款的规定,复审请求人可以自收到本复审请求审查决定之日起三个月内向北京知识产权法院起诉。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。