System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于责任链的任务编排方法、装置、设备及介质制造方法及图纸_技高网

基于责任链的任务编排方法、装置、设备及介质制造方法及图纸

技术编号:41392483 阅读:5 留言:0更新日期:2024-05-20 19:15
本申请涉及医疗健康领域,公开一种基于责任链的任务编排方法,包括:获取多个待编排任务,并为每个待编排任务添加顺序属性,其中,顺序属性用于确定待编排任务之间的执行顺序;接收每个待编排任务对应的顺序属性值,其中,顺序属性值与预设需求文档对应;基于多个待编排任务构建责任链,其中,待编排任务在责任链中的排列顺序与执行顺序对应,责任链包括任务集合属性、位置索引属性以及返回值属性,任务集合属性包括多个待编排任务,位置索引属性用于指示当前在执行的待编排任务,返回值属性用于记录每个待编排任务的执行结果。本申请解决了现有责任链扩展性较差、修改繁琐的问题。

【技术实现步骤摘要】

本申请涉及计算机,应用于医疗健康领域,尤其是涉及到一种基于责任链的任务编排方法、装置、设备及介质


技术介绍

1、在线购药等业务场景中,涉及到对于数据的多重校验或多重过滤的操作,如用户鉴权、sku校验、store校验、适用优惠校验、处方单校验、支付校验等。如果使用流水式代码(非责任链)将会显得非常臃肿,很难阅读和维护。为解决上述问题,当前业内一般使用责任链模式来处理这种业务,如图1所示,在主干代码上初始化一个过滤器链(filerchain),并依次执行链上每一个过滤器(filter)。然后在业务调整时,多重校验或多重过滤也要随之调整,这种应用方式扩展性较差,且修改繁琐,无法胜任需要频繁修改的应用场景。


技术实现思路

1、有鉴于此,本申请提供了一种基于责任链的任务编排方法、装置、介质及设备,解决了现有责任链扩展性较差、修改繁琐的问题。

2、本申请的第一方面,提供了一种基于责任链的任务编排方法,所述方法包括:

3、获取多个待编排任务,并为每个所述待编排任务添加顺序属性,其中,所述顺序属性用于确定所述待编排任务之间的执行顺序;

4、接收每个所述待编排任务对应的顺序属性值,其中,所述顺序属性值与预设需求文档对应;

5、基于所述多个待编排任务构建责任链,其中,所述待编排任务在所述责任链中的排列顺序与所述执行顺序对应,所述责任链包括任务集合属性、位置索引属性以及返回值属性,所述任务集合属性包括所述多个待编排任务,所述位置索引属性用于指示当前在执行的待编排任务,所述返回值属性用于记录每个所述待编排任务的执行结果。

6、本申请的第二方面,提供了一种基于责任链的任务编排装置,所述装置包括:

7、数据读取模块,获取多个待编排任务,并为每个所述待编排任务添加顺序属性,其中,所述顺序属性用于确定所述待编排任务之间的执行顺序;以及,接收每个所述待编排任务对应的顺序属性值,其中,所述顺序属性值与预设需求文档对应;

8、责任链构建模块,用于基于所述多个待编排任务构建责任链,其中,所述待编排任务在所述责任链中的排列顺序与所述执行顺序对应,所述责任链包括任务集合属性、位置索引属性以及返回值属性,所述任务集合属性包括所述多个待编排任务,所述位置索引属性用于指示当前在执行的待编排任务,所述返回值属性用于记录每个所述待编排任务的执行结果。

9、本申请的第三方面,提供了一种设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的指令或代码,所述处理器执行所述指令或代码时实现上述基于责任链的任务编排方法。

10、本申请的第四方面,提供了一种介质,其上存储有指令或代码,所述指令或代码被处理器执行时实现上述基于责任链的任务编排方法。

11、上述基于责任链的任务编排方法、装置、设备及介质所实现的方案,为每个待编排任务设置了顺序属性,因而可基于顺序属性自行组装成责任链并执行,相较于传统的环环相扣的链式结构在更新时需要修改代码并重新发布,该实施例仅需修改相应的属性值,因此更有利于进行扩展和更新。在此基础上,相较于传统责任链模式,本申请为责任链设计了任务集合属性、位置索引属性以及返回值属性三种属性,通过任务集合属性管理链条中所有待编排任务,通过位置索引属性管理当前执行进度,通过返回值属性统一返回任务执行结果。责任链的三种属性与待编排任务的顺序属性相结合,根据业务场景可自行编排任务并组装成链条结构,代码结构简单,且责任链操作更加灵活。

12、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

本文档来自技高网...

【技术保护点】

1.一种基于责任链的任务编排方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述基于所述多个待编排任务构建责任链之后,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在所述基于所述多个待编排任务构建责任链之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述多个待编排任务构建责任链,包括:

6.根据权利要求3所述的方法,其特征在于,在所述获取多个待编排任务之前,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述按照所述执行顺序,依次执行所述责任链中的每个待执行任务,包括:

8.一种基于责任链的任务编排装置,其特征在于,所述装置包括:

9.一种存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的方法。

10.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的方法。

...

【技术特征摘要】

1.一种基于责任链的任务编排方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述基于所述多个待编排任务构建责任链之后,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在所述基于所述多个待编排任务构建责任链之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述多个待编排任务构建责任链,包括:

6.根据权利要求3所述的方法,其特征在于,在所述获取多个待...

【专利技术属性】
技术研发人员:翟士喜
申请(专利权)人:康键信息技术深圳有限公司
类型:发明
国别省市:

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

1