买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】同步任务的处理方法及系统_武汉斗鱼网络科技有限公司_201710283545.1 

申请/专利权人:武汉斗鱼网络科技有限公司

申请日:2017-04-26

公开(公告)日:2021-04-09

公开(公告)号:CN108804206B

主分类号:G06F9/48(20060101)

分类号:G06F9/48(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.09#授权;2018.12.07#实质审查的生效;2018.11.13#公开

摘要:本发明公开了一种同步任务的处理方法及系统,涉及软件开发过程中的任务处理领域。该方法的步骤为:在上下级任务中分别创建任务执行结果发送和接收接口;同时开启上下级任务,上级任务执行完成后,将任务执行结果发送至下级任务;下级任务收到任务执行结果后由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,下级任务由唤醒状态变更为休眠状态;当任务执行结果为上级任务执行成功结果时,下级任务开始执行。本发明的执行结果发送和接收接口占用的系统资源较小,而且通过任务执行结果发送和接收接口相耦合同步任务的耦合度较低,不仅便于同步任务的扩展,而且不会影响系统的性能。

主权项:1.一种同步任务的处理方法,其特征在于,该方法包括以下步骤:S1:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议;S2:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态,转到S3;S3:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,转到S4;S4:任务执行结果接收接口收到任务执行结果后,下级任务由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,转到S5;当任务执行结果为上级任务执行成功结果时,转到S6;S5:下级任务由唤醒状态变更为休眠状态;S6:下级任务开始执行;S5之后还包括以下步骤:当下级任务为同步任务中间的任务时,下级任务将上级任务执行失败结果传递至下一个下级任务;S3中所述任务执行结果为上级任务执行失败结果时,任务执行结果中还包括失败原因。

全文数据:同步任务的处理方法及系统技术领域[0001]本发明涉及软件开发过程中的任务处理领域,具体涉及一种同步任务的处理方法及系统。背景技术[0002]软件开发过程中通常进行同步任务操作和异步任务操作,同步任务操作的含义为:等待任务A完成后再开始执行任务B,异步任务操作的含义为:同时开始执行任务A和B。[0003]传统实现同步任务操作的方法和对应的缺陷为:[0004]1通过任务定时器周期性的监听任务A的执行状态,监听到任务A执行完成后,将任务A的完成结果通知至任务B,任务B收到完成结果后开始执行。[0005]方法⑴开启任务定时器周期性的监听任务A的执行状态时,会占用大量的系统资源;与此同时,任务定时器周期性会强行耦合任务A和B将任务A的完成结果通知至任务B等),进而提高软件的耦合度,不仅不利于同步任务的扩展,而且任务A和B耦合兼容后产生的高负荷,会极大的影响系统性能。[0006]2通过全局任务变量来维系状态:任务A和B同时开启,任务A开始执行,任务B处于休眠状态;任务A完成后将全局任务变量设置为true,任务B轮询监听全局任务变量,当监听到全局任务变量为true时开始执行任务。[0007]方法⑵中任务B需要开启进程来监听全局任务变量,进而占用系统资源;与此同时,由于全局任务变量属于全局性质,因此任何地方均可对全局任务变量进行赋值操作,进而无法保证全局任务变量的安全,容易引起程序执行逻辑的紊乱;进一步,任务A和B之间通过全局任务变量来进行耦合,依旧属于强耦合关系,不利于同步任务的扩展。[0008]与此同时,与任务A相比(上级任务),方法1中的任务定时器和方法⑵中的全局任务变量,均属于下级通过轮询的方式来监听上级任务的完成情况,上级任务完成后,下级从监听至发送给任务B上级任务会占用一定的时间,进而会导致任务B完成后,任务B没有立即执行,即出现延迟的情况,无法保证同步任务的质量。发明内容[0009]针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在占用系统资源较少的情况下,保证耦合度较低的同步任务的质量。本发明的执行结果发送和接收接口占用的系统资源较小,而且通过任务执行结果发送和接收接口相耦合同步任务的耦合度较低,不仅便于同步任务的扩展,而且不会影响系统的性能。[0010]为达到以上目的,本发明提供的同步任务的处理方法,包括以下步骤:[0011]si:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议;[0012]S2:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态,转到S3;[0013]S3:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,转到S4;[0014]S4:任务执行结果接收接口收到任务执行结果后,下级任务由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,转到S5;当任务执行结果为上级任务执行成功结果时,转到S6;[0015]S5:下级任务由唤醒状态变更为休眠状态;[0016]S6:下级任务开始执行。[0017]本发明提供的同步任务的处理系统,包括同步任务开启模块、同步任务交互模块、执行结果发送模块和下级任务执行模块;[0018]同步任务交互模块用于:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议;[0019]同步任务开启模块用于:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态;[0020]执行结果发送模块用于:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,向下级任务执行模块发送下级任务执行信号;[0021]下级任务执行模块用于:收到下级任务执行信号后,将下级任务由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,将下级任务由唤醒状态变更为休眠状态;当任务执行结果为上级任务执行成功结果时,触发下级任务开始执行。[0022]与现有技术相比,本发明的优点在于:[0023]1参见本发明S1至S3可知,本发明的同步任务上级任务和下级任务),通过任务执行结果发送和接收接口相耦合,与现有技术中通过任务定时器或全局任务变量耦合同步任务相比,本发明的执行结果发送和接收接口占用的系统资源较小,而且通过任务执行结果发送和接收接口相耦合同步任务的耦合度较低,不仅便于同步任务的扩展,而且不会影响系统的性能。[0024]_与此同时,与现有技术中通过下级下级任务或者任务定时器轮询监听上级任务的执行状态相比,参见本发明S3至S6可知,本发明通过上级任务直接向下级任务发送任务执行结果,即上级任务完成后能够立即激活并执行下级任务,不会出现同步任务间切换延迟的问题,保证了同步任务的运行质量。[0025]进一步,本参见本发明S2可知,本发明的任务执行结果发送接口位于上级任务中,与现有技术中的全局任务变量相比,任务执行结果发送接口的安全性能显著增强,能够保证同步任务的正常执行。[0026]2本发明当上级任务执行失败时,会向所有下级任务广播上级任务执行失败结果和失败原因,以便定位问题和维修,进而提高工作效率。附图说明[0027]图1为本发明实施例中的同步任务的处理方法的流程图。具体实施方式[0028]以下结合附图及实施例对本发明作进一步详细说明。[0029]参见图1所示,本发明实施例中的同步任务的处理方法,包括以下步骤:[0030]S1:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务,同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态,其原因在于:下级任务的运行依赖上级任务的完成结果,因此下级任务未收到完成结果前不会被唤醒,即使被开启也只会处于休眠状态,转到S2。[0031]S2:在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议,转到S3。[0032]S2中任务执行结果的回调函数为:〇nResultboolbaton,Stringmsg,其中baton代表任务执彳丁状态,当任务执行结果为上级任务执彳丁完成时,baton为true,msg为空;当任务执行结果为上级任务执行失败时,baton为false,此时msg为失败原因。[0033]S3:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果true或上级任务执行失败结果false;当任务执行结果为上级任务执行失败结果时,上级任务发送的任务执行结果还包括失败原因,转到S4。[0034]S4:任务执行结果接收接口收到任务执行结果后,下级任务由休眠状态变更为唤醒状态。当任务执行结果为上级任务执行失败结果时,转到S5;当任务执行结果为上级任务执行成功结果时,转到S6。[0035]S5:判断下级任务是否为同步任务中最后一个任务,若是,下级任务由唤醒状态变更为休眠状态,结束;否则下级任务将上级任务执行失败结果和失败原因,传递至下一个下级任务后,由唤醒状态变更为休眠状态,结束。[0036]通过S5可知,本实施例当上级任务执行失败时,会向所有下级任务广播上级任务执行失败结果和失败原因,以便定位问题和维修,进而提高工作效率。[0037]S6:下级任务开始执行,下级任务向上级任务返回任务开始执行信息,上级任务收到任务开始执行信息后,关闭上级任务使用的线程,以释放系统资源,结束。[0038]本发明实施例中的同步任务的处理系统,包括同步任务开启模块、同步任务交互模块、执行结果发送模块和下级任务执行模块。[0039]同步任务交互模块用于:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议。[0040]同步任务开启模块用于:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态。[0041]执行结果发送模块用于:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,当任务执行结果为上级任务执行失败结果时,任务执行结果中还包括失败原因;向下级任务执行模块发送下级任务执行信号。[0042]下级任务执行模块用于:收到下级任务执行信号后,将下级任务由休眠状态变更为唤醒状态。当任务执行结果为上级任务执行失败结果时,将下级任务由唤醒状态变更为休眠状态;若下级任务为同步任务中间的任务,则将上级任务执行失败结果和失败原因传递至下一个下级任务。当任务执行结果为上级任务执行成功结果时,触发下级任务开始执行;向同步任务开启模块返回任务开始执行信息;同步任务开启模块收到任务开始执行信息后,关闭上级任务使用的线程。[0043]通过本发明实施例可知,本发明实施例中的同步任务上级任务和下级任务),通过任务执行结果发送和接收接口相耦合,与现有技术中通过任务定时器或全局任务变量耦合同步任务相比,本实施例中执行结果发送和接收接口占用的系统资源较小,而且通过任务执行结果发送和接收接口相親合同步任务的稱合度较低,不仅便于同步任务的扩展,而且不会影响系统的性能。[0044]与此同时,与现有技术中通过下级(下级任务或者任务定时器轮询监听上级任务的执行状态相比,本实施例通过上级任务直接向下级任务发送任务执行结果,即上级任务完成后能够立即激活并执行下级任务,不会出现同步任务间切换延迟的问题,保证了同步任务的运行质量。[0045]进一步,本实施例的任务执行结果发送接口位于上级任务中,与现有技术中的全局任务变量相比,任务执行结果发送接口的安全性能显著增强,能够保证同步任务的正常执行。[0046]进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

权利要求:1.一种同步任务的处理方法,其特征在于,该方法包括以下步骤:S1:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议;S2:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态,转到S3;S3:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,转到S4;S4:任务执行结果接收接口收到任务执行结果后,下级任务由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,转到S5;当任务执行结果为上级任务执行成功结果时,转到S6;S5:下级任务由唤醒状态变更为休眠状态;S6:下级任务开始执行。2.如权利要求1所述的同步任务的处理方法,其特征在于,S5之后还包括以下步骤:当下级任务为同步任务中间的任务时,下级任务将上级任务执行失败结果传递至下一个下级任务。3.如权利要求2所述的同步任务的处理方法,其特征在于:S3中所述任务执行结果为上级任务执行失败结果时,任务执行结果中还包括失败原因。4.如权利要求3所述的同步任务的处理方法,其特征在于:当下级任务为同步任务中间的任务时,下级任务将失败原因传递至下一个下级任务。5.如权利要求1至4任一项所述的同步任务的处理方法,其特征在于,S6之后还包括以下步骤:下级任务向上级任务返回任务开始执行信息,上级任务收到任务开始执行信息后,关闭上级任务使用的线程。6.—种同步任务的处理系统,其特征在于,该系统包括同步任务开启模块、同步任务交互模块、执行结果发送模块和下级任务执行模块;同步任务交互模块用于:定义需要等待其他任务完成后再执行的任务为下级任务,所述其他任务为上级任务;在上级任务中创建任务执行结果发送接口,在任务执行结果发送接口中定义任务执行结果发送协议;在下级任务中创建任务执行结果接收接口,在任务执行结果接收接口中,定义与任务执行结果发送协议对应的任务执行结果接收协议;同步任务开启模块用于:同时开启上级任务和下级任务,上级任务处于任务执行状态,下级任务处于休眠状态;执行结果发送模块用于:上级任务执行完成后,将任务执行结果通过任务执行结果发送接口发送至下级任务的任务执行结果接收接口中,任务执行结果包括上级任务执行成功结果或上级任务执行失败结果,向下级任务执行模块发送下级任务执行信号;下级任务执行模块用于:收到下级任务执行信号后,将下级任务由休眠状态变更为唤醒状态;当任务执行结果为上级任务执行失败结果时,将下级任务由唤醒状态变更为休眠状态;当任务执行结果为上级任务执行成功结果时,触发下级任务开始执行。7.如权利要求6所述的同步任务的处理系统,其特征在于:所述下级任务执行模块将下级任务由唤醒状态变更为休眠状态后,若下级任务为同步任务中间的任务,则将上级任务执行失败结果传递至下一个下级任务。8.如权利要求7所述的同步任务的处理系统,其特征在于:所述执行结果发送模块发送的任务执行结果为上级任务执行失败结果时,任务执行结果中还包括失败原因。9.如权利要求8所述的同步任务的处理系统,其特征在于:所述下级任务执行模块将下级任务由唤醒状态变更为休眠状态后,若下级任务为同步任务中间的任务,则将失败原因传递至下一个下级任务。10.如权利要求6至9任一项所述的同步任务的处理系统,其特征在于:所述下级任务执行模块触发下级任务开始执行后,向同步任务开启模块返回任务开始执行信息;同步任务开启模块收到任务开始执行信息后,关闭上级任务使用的线程。

百度查询: 武汉斗鱼网络科技有限公司 同步任务的处理方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。