本技术涉及计算机,尤其涉及一种科学工作流引擎的实现方法、设备及介质。
背景技术:
1、目前,在当前的科学研究领域,随着数据规模的不断扩大和复杂性的显著增加,科学家们正面临着前所未有的挑战。他们需要处理大规模的数据集,进行复杂的分析,并确保研究过程的高效性和可重复性。为了有效地应对这些挑战,科学工作流作为一种重要的工具应运而生。科学工作流能够全面协调和管理科学研究中的各个环节,从原始数据的收集和预处理,到深入的数据分析和最终的结果呈现,从而使科学家能够更加高效、系统地开展研究工作。
2、科学工作流引擎作为科学工作流的核心组成部分,扮演着至关重要的角色。它负责解析工作流定义文件,并按照业务的交互逻辑精确地控制业务流程的流转。通过先进的调度算法,科学工作流引擎能够管理流程的启动、终止、挂起、恢复等各种状态,同时处理流程中各个环节的复杂交互,如环节的合并、分叉、选择以及条件性的选择等。
3、在业务流程建模领域,业务流程建模与标注(business process modelingnotation,bpmn)作为一种广泛接受的建模语言标准,为构建清晰、标准的业务流程图提供了强有力的支持。bpmn由对象管理组(object management group,omg)创建并维护,它经历了多个版本的发展,其中bpmn 2.0标准于2011年推出,成为了业界的标准。bpmn的主要优势在于它提供了一套易于所有业务用户理解的标记语言,无论是业务分析者、软件开发者还是业务管理者,都能够通过bpmn准确地理解和交流业务流程。它在业务流程的设计与实现之间搭建了一条标准化的桥梁,极大地促进了业务流程的标准化和规范化。
4、然而,现行的科学工作流引擎大多针对特定的业务领域进行设计和开发,缺乏统一的标准和规范。这些引擎通常使用uml活动图或者petri网进行模型定义,虽然能够满足特定领域的需求,但却带来了移植和扩展上的困难。不同的科学工作流引擎之间缺乏兼容性,导致科学家在跨领域或跨平台进行研究时面临诸多不便。
技术实现思路
1、本技术实施例提供了一种科学工作流引擎的实现方法、设备及介质,用以解决现有的科学工作流引擎大多针对特定业务领域设计,缺乏统一标准,使用不同建模语言,导致移植和扩展困难的技术问题。
2、一方面,本技术实施例提供了一种科学工作流引擎的实现方法,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,包括:
3、基于所述数据管理模块,管理和控制密集型数据对应的工作流程;
4、基于所述科学计算模块,执行对所述密集型数据的科学计算;
5、基于所述工作流管理模块,存储和管理所述密集型数据。
6、在本技术的一种实现方式中,所述数据管理模块包括抽象接口;
7、所述方法还包括:
8、基于所述抽象接口,对所述密集型数据进行读取操作或者写入操作;
9、对所述密集型数据进行划分,以得到对应的划分数据;
10、通过分布式文件系统对划分数据进行分布式存储,并确定每个划分数据对应的索引;
11、基于划分数据对应的索引,在所述分布式文件系统中对所述划分数据进行数据访问。
12、在本技术的一种实现方式中,所述科学计算模块包括计算组件库;
13、所述方法还包括:
14、确定出待计算数据,以及所述待计算数据对应的待调用的计算资源;
15、通过预设方式,在所述计算组件库中调用所述计算资源;其中,所述预设方式包括http方式、rpc方式;
16、基于所述计算资源,完成所述待计算数据对应的计算过程。
17、在本技术的一种实现方式中,所述科学计算模块还包括计算组件注册机制;
18、所述方法还包括:
19、确定出已开发完成的计算组件,并基于所述计算组件注册机制,填写所述计算组件对应的组件信息;其中,所述组件信息包括名称、描述、入参、出参、调用方式、是否支持并行计算;
20、基于所述组件信息,允许科学工作流引擎调用所述计算组件。
21、在本技术的一种实现方式中,所述工作流管理模块包括科学工作流程虚拟机;
22、所述方法还包括:
23、确定所述科学工作流程虚拟机对应的抽象api接口,并通过所述抽象api接口,确定至少一种工作流操作情况。
24、在本技术的一种实现方式中,所述工作流管理模块还包括科学工作流活动模型;
25、所述方法还包括:
26、确定所述科学工作流活动模型对应的模型类库,并基于所述模型类库,确定科学工作流中各活动类对应的活动属性;
27、其中,所述活动属性包括开始、结束、计算、转换、消息和顺序流。
28、在本技术的一种实现方式中,所述工作流管理模块还包括科学工作流引擎;
29、所述方法还包括:
30、基于所述科学工作流引擎,确定科学工作流活动模型中各活动类的具体行为,并确定对应的活动实例类。
31、在本技术的一种实现方式中,所述方法还包括:
32、对所述科学工作流引擎进行分层,以确定所述科学工作流引擎对应的多个层级;其中,所述多个层级包括:核心接口层、基础组件层、核心实现层、命令层、命令拦截层、业务接口层和流程引擎;
33、确定分层架构的所述多个层级对应的包装方式;其中,所述包装方式为自底向上包装。
34、另一方面,本技术实施例还提供了一种科学工作流引擎的实现设备,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,所述设备包括:
35、至少一个处理器;
36、以及,与所述至少一个处理器通信连接的存储器;
37、其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种科学工作流引擎的实现方法。
38、另一方面,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,所述计算机可执行指令被执行时,实现如上述的一种科学工作流引擎的实现方法。
39、本技术实施例提供了一种科学工作流引擎的实现方法、设备及介质,至少包括以下有益效果:
40、通过数据管理模块和科学计算模块,实现了对密集型数据的有效管理和科学计算,提高了数据处理和计算效率;通过工作流管理模块,实现了密集型数据的存储和管理,方便数据的访问和使用;通过抽象接口对密集型数据进行操作,提高了数据处理的灵活性和可扩展性,并分布式存储和索引机制提高了数据的访问速度和处理效率;通过计算组件库和预设方式调用计算资源,实现了科学计算的高效执行,通过支持多种预设方式,如http、rpc,提高了计算资源的调用灵活性和兼容性;通过计算组件注册机制使得新开发的计算组件能够方便地注册到科学工作流引擎中,提高了系统的可扩展性,并通过组件信息,科学工作流引擎能够准确地调用所需的计算组件,提高了计算过程的准确性和效率;通过科学工作流程虚拟机提供了抽象api接口,使得工作流操作更加灵活和方便,以及通过抽象api接口确定工作流操作情况,提高了工作流管理的效率和准确性;通过科学工作流活动模型及其模型类库为科学工作流中的各活动类提供了统一的描述和管理方式,通过活动属性,能够准确地描述科学工作流中各活动的行为和特征,提高了工作流建模的准确性和效率;通过科学工作流引擎能够确定科学工作流活动模型中各活动类的具体行为,实现了工作流的自动化执行和管理,通过活动实例类,能够方便地创建和管理科学工作流中的各个活动实例,提高了工作流执行的灵活性和效率;通过对科学工作流引擎进行分层,使得引擎的结构更加清晰和易于管理,通过自底向上的包装方式使得各层级之间的依赖关系更加明确,提高了系统的可维护性和扩展性。
1.一种科学工作流引擎的实现方法,其特征在于,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,所述方法包括:
2.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述数据管理模块包括抽象接口;
3.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述科学计算模块包括计算组件库;
4.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述科学计算模块还包括计算组件注册机制;
5.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述工作流管理模块包括科学工作流程虚拟机;
6.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述工作流管理模块还包括科学工作流活动模型;
7.根据权利要求1所述的一种科学工作流引擎的实现方法,其特征在于,所述工作流管理模块还包括科学工作流引擎;
8.根据权利要求7所述的一种科学工作流引擎的实现方法,其特征在于,所述方法还包括:
9.一种科学工作流引擎的实现设备,其特征在于,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,所述设备包括:
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,应用于一种科学工作流引擎的实现系统,所述系统包括数据管理模块、科学计算模块和工作流管理模块,所述计算机可执行指令被执行时,实现如权利要求1-8任一项所述的一种科学工作流引擎的实现方法。