CN117253552B - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117253552B CN117253552B CN202311485269.9A CN202311485269A CN117253552B CN 117253552 B CN117253552 B CN 117253552B CN 202311485269 A CN202311485269 A CN 202311485269A CN 117253552 B CN117253552 B CN 117253552B
- Authority
- CN
- China
- Prior art keywords
- state
- workflow
- computing
- calculation
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 197
- 238000012545 processing Methods 0.000 claims abstract description 105
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004891 communication Methods 0.000 claims description 58
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 24
- 238000012937 correction Methods 0.000 claims description 21
- 230000007704 transition Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 6
- 239000013078 crystal Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000329 molecular dynamics simulation Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- DPXDJGUFSPAFJZ-UHFFFAOYSA-L disodium;4-[3-methyl-n-(4-sulfonatobutyl)anilino]butane-1-sulfonate Chemical compound [Na+].[Na+].CC1=CC=CC(N(CCCCS([O-])(=O)=O)CCCCS([O-])(=O)=O)=C1 DPXDJGUFSPAFJZ-UHFFFAOYSA-L 0.000 description 2
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 150000003384 small molecules Chemical class 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000005284 basis set Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/90—Programming languages; Computing architectures; Database systems; Data warehousing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Theoretical Computer Science (AREA)
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及计算机可读存储介质,方法包括:建立工作流模板,工作流模板用于处理目标类型工作流,目标类型工作流包括至少一个计算任务,工作流模板包括至少一个单元计算组件,一个单元计算组件用于处理目标类型工作流中的一个计算任务;在待处理的第一工作流为目标类型工作流的情况下,基于工作流模板,处理第一工作流。本申请实施例能够提高处理计算任务的效率,降低工作量。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
随着高通量计算技术的发展,计算模拟(如第一性原理计算或者分子动力学计算)成为获取小分子物化性能数据的重要手段。高通量计算可以利用大规模计算资源对大量材料进行计算和模拟,得到这些材料的结构、性质和性能的信息。
然而,高通量计算通常需要处理大量的计算任务,因此通常需要编写大量的代码来处理计算任务,存在效率较低,工作量较大的问题。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及计算机可读存储介质,能够提高处理计算任务的效率,降低工作量。
第一方面,本申请实施例提供了一种数据处理方法,数据处理方法包括:建立工作流模板,工作流模板用于处理目标类型工作流,目标类型工作流包括至少一个计算任务,工作流模板包括至少一个单元计算组件,一个单元计算组件用于处理目标类型工作流中的一个计算任务;在待处理的第一工作流为目标类型工作流的情况下,基于工作流模板,处理第一工作流。
本申请实施例的技术方案中,对于目标类型工作流中的计算任务,设置对应的单元计算组件,至少一个单元计算组件组成用于处理目标类型工作流的工作流模板。在待处理的第一工作流为目标类型工作流的情况下,可以直接基于工作流模板,处理第一工作流,从而提高了单元计算组件和/或工作流模板的复用性,减少了代码的编写,提高了处理计算任务的效率,降低了编写代码的工作量。
根据本申请第一方面的实施方式,建立工作流模板,包括:设置单元计算组件的多种状态以及多种状态之间的执行顺序,其中,处理计算任务包括多个操作,每种状态对应处理计算任务的至少一个操作;单元计算组件用于按照多种状态各自对应的操作和多种状态之间的执行顺序,处理计算任务。
如此,通过设置单元计算组件的多种状态以及多种状态之间的执行顺序,可以较好的保证单元计算组件在处理计算任务时能够按照预设的顺序执行计算任务中的多个操作。
根据本申请第一方面前述任一实施方式,不同的状态对应处理计算任务中的不同操作。
如此,设置不同的状态对应处理计算任务中的不同操作,可以较好的保证单元计算组件在处理计算任务时能够按照预设的顺序执行计算任务中的多个操作,且执行的操作不会重复。
根据本申请第一方面前述任一实施方式,多种状态包括初始状态、提交状态和检查状态;初始状态对应以下操作:生成单元计算组件的第一标识、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹、创建本地设备的第一工作路径、创建远程设备的第二工作路径和转移至提交状态;提交状态对应以下操作:生成输入文件、将输入文件和第一标识发送给远程设备、提交计算作业和转移至第一目标状态;远程设备用于基于输入文件执行计算作业,得到计算结果,以及根据第一标识,将计算结果发送给单元计算组件;检查状态对应以下操作:接收计算结果和检查计算结果是否计算成功。
根据本申请第一方面前述任一实施方式,多种状态还包括监控状态,监控状态对应以下操作:监控远程设备执行计算作业的状态。
根据本申请第一方面前述任一实施方式,在提交作业之后,在转移至第一目标状态之前,提交状态还对应以下操作:将计算作业的第二标识和远程设备执行计算作业的状态写入数据库;第一目标状态包括监控状态,监控状态对应以下操作:基于第二标识从数据库中查询远程设备执行计算作业的状态和在监控到计算作业完成时转移至检查状态。
如此,通过设置监控状态,可以及时了解远程设备执行计算作业的状态。
根据本申请第一方面前述任一实施方式,多种状态还包括纠错状态,检查状态还对应以下操作:在计算结果计算失败时转移至纠错状态;纠错状态对应以下操作:判断计算结果的错误类型是否为第一错误类型,在计算结果的错误类型为第一错误类型时转移至提交状态。
如此,在计算结果的错误类型为第一错误类型时转移至提交状态,可以使得原本一些计算失败的计算任务再增加一些次数的计算,使得计算成功。
根据本申请第一方面前述任一实施方式,多种状态还包括分析状态,检查状态还对应以下操作:在计算结果计算成功时转移至分析状态;纠错状态还对应以下操作:判断计算结果的错误类型是否为第二错误类型,在计算结果的错误类型为第二错误类型时转移至分析状态;分析状态对应以下操作:在计算结果计算成功时,从计算结果中提取目标信息;在计算结果的错误类型为第二错误类型时,生成计算失败的记录。
根据本申请第一方面前述任一实施方式,基于工作流模板,处理第一工作流,包括:将工作流模板中的单元计算组件的状态重置为初始状态,按照多种状态各自对应的操作和多种状态之间的执行顺序,处理第一工作流中的计算任务。
根据本申请第一方面前述任一实施方式,基于工作流模板,处理第一工作流,包括:基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备;基于通信模块将远程设备的操作结果反馈给单元计算组件。
如此,通过增设通信模块,将多个单元计算组件与远程设备通信的工作交由通信模块完成,可以缓解单元计算组件与远程设备之间的通信压力。
根据本申请第一方面前述任一实施方式,基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备,包括:建立第一消息队列;向第一消息队列发送单元计算组件的第一标识和请求远程设备执行的第一操作信息;基于通信模块监听第一消息队列,并在第一消息队列中存在第一操作信息的情况下,基于通信模块将第一操作信息发送给远程设备。
根据本申请第一方面前述任一实施方式,基于通信模块将远程设备的操作结果反馈给单元计算组件,包括:建立与第一标识对应的第二消息队列;基于通信模块接收远程设备的操作结果,并基于第一标识将操作结果发送给与第一标识对应的第二消息队列;在监听到第二消息队列存在操作结果的情况下,删除第二消息队列,并执行目标操作。
根据本申请第一方面前述任一实施方式,目标类型工作流包括用于执行第一性原理计算的工作流。
第二方面,本申请实施例提供了一种数据处理装置,数据处理装置包括:建立模块,用于建立工作流模板,工作流模板用于处理目标类型工作流,目标类型工作流包括至少一个计算任务,工作流模板包括至少一个单元计算组件,一个单元计算组件用于处理目标类型工作流中的一个计算任务;处理模块,用于在待处理的第一工作流为目标类型工作流的情况下,基于工作流模板,处理第一工作流。
第三方面,本申请实施例提供了一种电子设备,电子设备包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面提供的数据处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面提供的数据处理方法的步骤。
附图说明
下面将参考附图来描述本申请示例性实施例的特征、优点和技术效果。
图1为本申请实施例提供的数据处理方法的一种流程示意图;
图2为本申请实施例提供的数据处理方法的另一种流程示意图;
图3为本申请实施例提供的数据处理方法中S102的一种流程示意图;
图4为本申请实施例提供的数据处理方法中S301的一种流程示意图;
图5为本申请实施例提供的数据处理方法中S302的一种流程示意图;
图6为本申请实施例提供的数据处理方法中S301和S302的一种操作示意图;
图7为本申请实施例提供的数据处理装置的一种结构示意图;
图8示出了本申请实施例提供的电子设备的硬件结构示意图。
在附图中,附图未必按照实际的比例绘制。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在不脱离本申请的精神或范围的情况下,在本申请中能进行各种修改和变化,这对于本领域技术人员来说是显而易见的。因而,本申请意在覆盖落入所对应权利要求(要求保护的技术方案)及其等同物范围内的本申请的修改和变化。需要说明的是,本申请实施例所提供的实施方式,在不矛盾的情况下可以相互组合。
在阐述本申请实施例所提供的技术方案之前,为了便于对本申请实施例理解,本申请首先对相关技术中存在的问题进行具体说明:
随着高通量计算技术的发展,计算模拟(如第一性原理计算或者分子动力学计算)成为获取小分子物化性能数据的重要手段。高通量计算可以利用大规模计算资源对大量材料进行计算和模拟,得到这些材料的结构、性质和性能的信息。利用这些信息,可以快速地筛选出具有潜在应用价值的材料,并对这些材料进行进一步的研究和优化。
然而,高通量计算通常需要处理大量的计算任务,因此通常需要编写大量的代码来处理计算任务,存在效率较低,工作量较大的问题。
在本申请实施例中,高通量计算包括但不限于第一性原理计算或者分子动力学计算等。其中,在量子化学中,第一性原理是指利用基本的物理方程(如薛定谔方程)来描述和解释原子核与电子之间相互作用的方法。它是一种从基本原理出发,通过求解量子力学方程来预测和解释分子结构、能量、光谱性质等的方法。
为了解决现有技术问题,本申请实施例提供了一种数据处理方法、装置、设备及计算机可读存储介质。
本申请实施例的技术构思在于:对于目标类型工作流中的计算任务,设置对应的单元计算组件,至少一个单元计算组件组成用于处理目标类型工作流的工作流模板。在待处理的第一工作流为目标类型工作流的情况下,可以直接基于工作流模板,处理第一工作流,从而提高了单元计算组件和/或工作流模板的复用性,减少了代码的编写,提高了处理计算任务的效率,降低了编写代码的工作量。
下面首先对本申请实施例所提供的数据处理方法进行介绍。
图1为本申请实施例提供的数据处理方法的一种流程示意图。如图1所示,本申请实施例提供的数据处理方法可以包括以下步骤S101和S102。
S101、建立工作流模板。
其中,工作流例如可以包括处理高通量计算的工作流,如用于执行第一性原理计算的工作流。工作流模板可以用于处理目标类型工作流。目标类型工作流可以为任意一种类型的工作流。例如目标类型工作流可以是对于一种类型的分子或晶体进行高通量计算的工作流,如分析该类型的分子或晶体的一种或多种性质等。在一些示例中,目标类型工作流可以是用于对于一种类型的分子或晶体执行第一性原理计算的工作流,
目标类型工作流可以包括至少一个计算任务。以第一性原理计算为例,例如一个计算任务可以用于对分子的结构进行一次优化,即优化一次分子的结构。而当目标类型工作流包括多个计算任务时,可以对分子的结构进行多次优化。
工作流模板可以包括至少一个单元计算组件,一个单元计算组件可以用于处理目标类型工作流中的一个计算任务。例如,当目标类型工作流包括3个计算任务时,工作流模板可以包括3个单元计算组件。其中,工作流模板中的第1个单元计算组件可以用于对分子的结构进行第一次优化,工作流模板中的第2个单元计算组件可以用于在第一次优化的基础上对分子的结构进行第二次优化,工作流模板中的第3个单元计算组件可以用于在第二次优化的基础上对分子的结构进行第三次优化。对于结构相对未知的分子,通过对分子的结构进行优化,例如可以计算出分子可以在自然界稳定存在状态下的结构。
在一些示例中,单元计算组件可以为用于处理计算任务的软件模块,单元计算组件可以被复用。例如,单元计算组件具体可以为具有状态模式的代码,该代码可以被复用,即重复使用。
S102、在待处理的第一工作流为目标类型工作流的情况下,基于工作流模板,处理第一工作流。
工作流模板可以用于对一种类型的工作流(即目标类型工作流)进行处理。因此,在待处理的工作流为目标类型工作流的情况下,可以基于工作流模板,处理该工作流。为了便于区分,这里将待处理的工作流称作第一工作流。其中,第一工作流例如可以包括处理高通量计算的工作流,如第一性原理计算的工作流。
具体而言,第一工作流可以包括至少一个计算任务,工作流模板中的各个单元计算组件用于处理第一工作流中的各自对应的计算任务。例如,在一些示例中,目标类型工作流可以是对于目标类型的分子或晶体进行高通量计算的工作流。在第一工作流也是对于目标类型的分子或晶体进行高通量计算的工作流时,则可以基于工作流模板,处理第一工作流。
本申请实施例提供的数据处理方法,对于目标类型工作流中的计算任务,设置对应的单元计算组件,至少一个单元计算组件组成用于处理目标类型工作流的工作流模板。在待处理的第一工作流为目标类型工作流的情况下,可以直接基于工作流模板,处理第一工作流,从而提高了单元计算组件和/或工作流模板的复用性,减少了代码的编写,提高了处理计算任务的效率,降低了编写代码的工作量。
图2为本申请实施例提供的数据处理方法的另一种流程示意图。如图2所示,根据本申请的一些实施例,可选地,S101、建立工作流模板,具体可以包括以下步骤:
设置单元计算组件的多种状态以及多种状态之间的执行顺序。
其中,处理计算任务可以包括多个操作。例如,在一些示例中,处理计算任务可以包括准备输入文件、执行计算作业和分析结果等操作。通过设置单元计算组件的多种状态以及多种状态之间的执行顺序,可以较好的保证单元计算组件在处理计算任务时能够按照预设的顺序执行计算任务中的多个操作。例如,依次完成准备输入文件、执行计算作业和分析结果等操作。
其中,每种状态可以对应处理计算任务的至少一个操作。当单元计算组件处于某种状态时,可以执行该状态对应的操作。
单元计算组件可以用于按照多种状态各自对应的操作和多种状态之间的执行顺序,处理计算任务。例如,多种状态之间的执行顺序(或称转换关系)可以为:先执行状态A;状态A执行完成后,执行状态B;状态B执行完成后,执行状态C。因此,可以先将单元计算组件的状态设置为状态A,执行状态A对应的操作。待状态A对应的操作执行完毕后,单元计算组件的状态由状态A转换至状态B,执行状态B对应的操作。待状态B对应的操作执行完毕后,单元计算组件的状态由状态B转换至状态C,执行状态C对应的操作。这样,可以较好的保证单元计算组件在处理计算任务时能够按照预设的顺序执行计算任务中的多个操作,使得计算任务顺利完成。
在一些示例中,可以基于有限状态机,设置单元计算组件的多种状态以及多种状态之间的执行顺序。不同的状态可以对应处理计算任务中的不同操作,每个状态对应的操作执行完毕后,可以根据判断结果切换为下一个状态。
如此,设置不同的状态对应处理计算任务中的不同操作,可以较好的保证单元计算组件在处理计算任务时能够按照预设的顺序执行计算任务中的多个操作,且执行的操作不会重复。
根据本申请的一些实施例,可选地,多种状态可以包括初始状态(或称Initial状态)、提交状态(或称Sbatch状态)和检查状态(或称Check状态)。
其中,初始状态主要进行计算前的准备工作。提交状态主要进行生成计算所使用的输入文件、将输入文件发送给远程设备和提交计算作业。检查状态主要进行检查计算结果是否计算成功。
高通量计算(如第一性原理计算)需要消耗大量计算资源,因此,在一些实施例中,可以基于本地设备中的单元计算组件和远程设备共同处理计算任务。示例性地,本地设备包括但不限于本地服务器,远程设备包括但不限于远程服务器。远程服务器例如可以包括高性能计算机(High performance computing,HPC)。远程设备(如HPC)可以提供大量的计算资源,因此可以将计算任务中的执行计算作业操作交由远程设备来完成,计算任务中的其他操作(如生成输入文件、分析结果和状态之间的转换)交由本地设备来完成。这样,本地设备不需要耗费过多的资源,并且远程设备也可以专门用于执行计算作业。
根据本申请的一些实施例,可选地,初始状态可以对应以下操作:生成单元计算组件的第一标识、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹、创建本地设备的第一工作路径、创建远程设备的第二工作路径和转移至提交状态。
其中,单元计算组件的第一标识包括但不限于单元计算组件的身份标识码(Identity document,ID)。单元计算组件的第一标识可以用于在远程设备反馈操作结果时,可以根据单元计算组件的第一标识反馈给对应的单元计算组件。在本地设备上创建第一工作文件夹和在远程设备上创建第二工作文件夹主要可以用于存储处理计算任务时产生的数据。创建本地设备的第一工作路径和创建远程设备的第二工作路径主要可以用于可以根据第一工作路径和/或第二工作路径进行文件的存储或调用。初始状态对应的最后一个操作是转移至提交状态。即,生成单元计算组件的第一标识、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹、创建本地设备的第一工作路径和创建远程设备的第二工作路径等操作完成后,可以转移至提交状态。
根据本申请的一些实施例,可选地,提交状态可以对应以下操作:生成输入文件、将输入文件和第一标识发送给远程设备、提交计算作业和转移至第一目标状态。
示例性地,输入文件中可以指定计算所使用的方法、基组以及分子的初始几何结构。此外,在输入文件中设置计算所需的参数。例如,可以选择优化模式、收敛准则和/或最大迭代次数等。在生成输入文件之后,可以将输入文件和单元计算组件的第一标识发送给远程设备,然后提交计算作业。
在提交计算作业之后,远程设备可以用于基于输入文件执行计算作业,得到计算结果。例如,远程设备可以基于输入文件中的分子的初始几何结构、计算所使用的方法和参数进行计算,得到计算结果。远程设备还可以用于根据单元计算组件的第一标识,将计算结果发送给第一标识对应的单元计算组件。
提交状态对应的最后一个操作为转移至第一目标状态。在一些示例中,第一目标状态可以包括检查状态。在另一些示例中,第一目标状态也可以包括其他状态,如下文中提及的监控状态。
根据本申请的一些实施例,可选地,检查状态可以对应以下操作:接收计算结果和检查计算结果是否计算成功。
例如,在一些示例中,可以检查计算结果是否以目标字符(如Normaltermination)结尾。若计算结果以目标字符结尾,则认为计算成功。若计算结果未以目标字符结尾,则认为计算失败。
根据本申请的一些实施例,可选地,多种状态还可以包括监控状态(或称Monitor状态),监控状态可以对应以下操作:监控远程设备执行计算作业的状态。例如,当单元计算组件处于监控状态时,可以监控远程设备执行计算作业的进度和/或计算是否中断等。
如此,通过设置监控状态,可以及时了解远程设备执行计算作业的状态。
根据本申请的一些实施例,可选地,第一目标状态可以包括监控状态。
在提交计算作业之后,在转移至第一目标状态之前,提交状态还可以对应以下操作:将计算作业的第二标识和远程设备执行计算作业的状态写入数据库。
示例性地,计算作业的第二标识可以包括计算作业的ID,即JobId。单元计算组件在提交作业之后,可以将计算作业的ID(JobId)和远程设备执行计算作业的状态JobState写入数据库。其中,数据库可以包括远程字典服务(redis)数据库。在一些示例中,单元计算组件可以将JobId和JobState以键值对(key-value)的形式写入redis数据库,从而建立JobId与JobState之间的对应关系。
相应地,监控状态可以对应以下操作:基于第二标识从数据库中查询远程设备执行计算作业的状态和在监控到计算作业完成时转移至检查状态。
例如,当单元计算组件处于监控状态时,可以定时或者每隔预设时长根据JobId从数据库中查询远程设备执行计算作业的状态JobState,从而实现对于远程设备执行计算作业的状态JobState的监控。在监控到计算作业完成时,如结果为COMPLETED时,可以将状态由监控状态转移至检查状态。
根据本申请的一些实施例,可选地,多种状态还可以包括纠错状态(或称ErrorCorrect状态)。
检查状态还可以对应以下操作:在计算结果计算失败时转移至纠错状态。
相应地,纠错状态可以对应以下操作:判断计算结果的错误类型是否为第一错误类型,在计算结果的错误类型为第一错误类型时转移至提交状态。示例性地,第一错误类型包括但不限于计算步数不足错误,如“L9999错误”。远程设备通常默认进行预设次数的计算,如只进行50次计算。在进行预设次数的计算之后,可能距离计算成功只差一些次数的计算。因此,当发生计算步数不足错误时,可以转移至提交状态,重新提交计算作业,使得远程设备再增加一些次数的计算,使得计算成功。
如此,在计算结果的错误类型为第一错误类型时转移至提交状态,可以使得原本一些计算失败的计算任务再增加一些次数的计算,使得计算成功。
根据本申请的一些实施例,可选地,多种状态还可以包括分析状态(或称ToDb状态)。检查状态还可以对应以下操作:在计算结果计算成功时转移至分析状态。
纠错状态还可以对应以下操作:判断计算结果的错误类型是否为第二错误类型,在计算结果的错误类型为第二错误类型时转移至分析状态。
示例性地,第二错误类型可以包括除计算步数不足错误之外的其他错误。即,当计算结果的错误类型不为计算步数不足错误时,可以将状态转移至分析状态。
相应地,分析状态可以对应以下操作:在计算结果计算成功时,从计算结果中提取目标信息。其中,目标信息例如可以包括分子的结构、能量和/或光谱等性质。在计算结果计算成功时,可以从计算结果中提取分子的结构、能量和/或光谱等性质存储至数据库中。
分析状态还可以对应以下操作:在计算结果的错误类型为第二错误类型时,生成计算失败的记录。
根据本申请的一些实施例,可选地,多种状态还可以包括结束状态(或称End状态)。分析状态还可以对应以下操作:转移至结束状态。分析状态的最后一个操作可以为转移至结束状态。
结束状态可以对应以下操作:结束处理计算任务。当单元计算组件处于结束状态时,说明计算任务已完成,可以结束处理计算任务。
根据本申请的一些实施例,可选地,在设置单元计算组件的多种状态以及多种状态之间的执行顺序之前,S101、建立工作流模板,还可以包括以下步骤:
定义多个状态的共同接口。示例性地,共同接口可以包括State接口。
如此,通过设置多个状态的共同接口,有助于实现不同状态之间的转换。
根据本申请的一些实施例,可选地,在设置单元计算组件的多种状态以及多种状态之间的执行顺序之前,S101、建立工作流模板,还可以包括以下步骤:
定义单元计算组件的上下文。其中,上下文即context。通过定义单元计算组件的上下文context,在进行状态转移时,只需调用context,将context的状态属性(如context.setState(nextState))设置为待转移的状态(即下一个状态),便可快速的实现单元计算组件的状态转移。然后执行该状态的行为(context.state.execute())。
为了便于理解,下面结合第一性原理计算的具体应用示例对于上下文context、各个状态和各个状态的处理逻辑进行举例说明。
在建立工作流模板时,对于工作流模板中的任意一个单元计算组件,首先可以定义单元计算组件的上下文context。context计算氧化电位相关的参数(比如:需要计算的分子的结构、优化模式、收敛准则、最大迭代次数、电荷数和/或自旋耦合度),其中一些参数都是默认值。这些参数都可以看作是context的属性。
接下来,定义多个状态的共同接口。示例性地,共同接口可以包括State接口。
如此,通过设置多个状态的共同接口,有助于实现不同状态之间的转换。
再接下来,设置单元计算组件的多种状态以及多种状态之间的执行顺序。在一些示例中,多种状态可以包括初始状态(或称Initial状态)、提交状态(或称Sbatch状态)、监控状态(或称Monitor状态)、检查状态(或称Check状态)、纠错状态(或称ErrorCorrect状态)、分析状态(或称ToDb状态)和结束状态(或称End状态)。
初始状态可以对应处理计算任务的以下操作一至操作四。
操作一、生成单元计算组件的第一标识,如生成单元计算组件的ID。
操作二、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹。
操作三、创建本地设备的第一工作路径local_workspace,创建远程设备的第二工作路径HPC_workspace。
操作四、操作一至操作三完成后状态转移至提交状态。例如可以将context的状态属性(如context.setState(SbatchState))设置为提交状态SbatchState。然后执行提交状态SbatchState的行为(context.state.execute())。
提交状态可以对应处理计算任务的以下操作五至操作十三。
操作五、判断是否存在上次计算失败遗留下的输入文件,如IN.gjf文件。若存在上次计算失败遗留下的输入文件,则对上次计算失败遗留下的输入文件进行重命名。
操作六、在本地设备生成输入文件,输入文件可以基于首次期望使用的计算所使用的方法、基组、分子的初始几何结构和计算所需的参数生成,也可以基于其他单元计算组件的计算结果或者单元计算组件自身前一次的计算结果生成。输入文件的路径为local_workspace。
操作七、如果需要前一个单元计算组件的计算结果生成输入文件,且前一个单元计算组件的计算结果计算失败,则直接转移到分析状态,并执行分析状态的处理逻辑。
操作八、将输入文件和第一标识发送给远程设备,在远程设备的路径为HPC_workspace。
操作九、在远程设备的第二工作路径HPC_workspace下创建计算所使用的文件,如后缀名为.Slurm的文件。
操作十、提交计算作业。
操作十一、获取JobId,并给job_id属性赋值。
操作十二、将JobId和JobState以key-value的形式写入redis数据库。
操作十三、前面几个操作完成后状态转移到监控状态。
监控状态可以对应处理计算任务的以下操作十四和操作十五。
操作十四、定时或者每隔预设时长根据JobId从数据库中查询远程设备执行计算作业的状态JobState,从而实现对于远程设备执行计算作业的状态JobState的监控。
操作十五、在监控到计算作业完成时,如结果为COMPLETED时,可以将状态由监控状态转移至检查状态。
检查状态可以对应处理计算任务的以下操作十六至操作十九。
操作十六、判断是否存在上次计算遗留下的计算失败文件,如gauss.log文件。若存在上次计算遗留下的计算失败文件,则对上次计算遗留下的计算失败文件进行重命名。
操作十七、更新recal_count。
操作十八、将远程设备的计算结果由第二工作路径HPC_workspace下载到本地设备的第一工作路径local_workspace。
操作十九、检查计算结果是否计算成功。若计算结果以目标字符结尾,则认为计算成功,状态转移至分析状态。其他情况状态转移到纠错状态。
纠错状态可以对应处理计算任务的以下操作二十和操作二十一。
操作二十、判断计算结果的错误类型是否为第一错误类型,在计算结果的错误类型为第一错误类型时转移至提交状态。示例性地,第一错误类型包括但不限于计算步数不足错误,如“L9999错误”。
操作二十一、判断计算结果的错误类型是否为第二错误类型,在计算结果的错误类型为第二错误类型时转移至分析状态。示例性地,第二错误类型可以包括除计算步数不足错误之外的其他错误。
分析状态可以对应处理计算任务的以下操作二十二和操作二十三。
操作二十二、在计算结果计算成功时,从计算结果中提取目标信息。其中,目标信息例如可以包括分子的结构、能量和/或光谱等性质。在计算结果计算成功时,可以从计算结果中提取分子的结构、能量和/或光谱等性质存储至数据库中。
操作二十三、在计算结果的错误类型为第二错误类型时,生成计算失败的记录。
操作二十四、在操作二十二或者操作二十三完成后转移至结束状态。
结束状态可以对应以下操作二十五、结束处理计算任务。
根据本申请的一些实施例,可选地,S102、基于工作流模板,处理第一工作流,包括:
将工作流模板中的单元计算组件的状态重置为初始状态,按照多种状态各自对应的操作和多种状态之间的执行顺序,处理第一工作流中的计算任务。
在处理第一工作流时,将工作流模板中的单元计算组件的状态重置为初始状态,按照多种状态各自对应的操作和多种状态之间的执行顺序,即可处理第一工作流中的计算任务。
多种状态各自对应的操作已在上文详细描述,在此不再赘述。
图3为本申请实施例提供的数据处理方法中S102的一种流程示意图。如图3所示,根据本申请的一些实施例,可选地,S102、基于工作流模板,处理第一工作流,可以包括以下步骤S301和S302。
S301、基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备。
其中,通过向远程设备发送第一操作信息,可以请求远程设备执行对应的操作。例如,当单元计算组件处于初始状态时,第一操作信息可以包括请求远程设备创建第二工作文件夹和第二工作路径的信息,从而使得远程设备创建第二工作文件夹和第二工作路径。例如,当单元计算组件处于提交状态时,第一操作信息可以包括输入文件和请求远程设备执行计算作业的信息,从而使得远程设备执行计算作业。
在一些示例中,通信模块可以包括agent模块。在S301中,可以基于agent模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备。
S302、基于通信模块将远程设备的操作结果反馈给单元计算组件。
远程设备响应于第一操作信息执行对应的操作之后,可以将操作结果通过通信模块反馈给单元计算组件。例如,操作结果包括但不限于执行计算作业的计算结果。在S302中,可以基于agent模块将远程设备的操作结果反馈给单元计算组件。
在高通量计算中,可能会同时运行较多数量的单元计算组件,通过增设通信模块,将多个单元计算组件与远程设备通信的工作交由通信模块完成,可以缓解单元计算组件与远程设备之间的通信压力。
图4为本申请实施例提供的数据处理方法中S301的一种流程示意图。如图4所示,根据本申请的一些实施例,可选地,S301、基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备,可以包括以下步骤S401至S403。
S401、建立第一消息队列。
S402、向第一消息队列发送单元计算组件的第一标识和请求远程设备执行的第一操作信息。
第一消息队列又可以称作主消息队列。各个单元计算组件均可以向第一消息队列发送请求远程设备执行的第一操作信息。为了便于区分,单元计算组件在向第一消息队列发送第一操作信息时,可以随同将自身的第一标识发送给第一消息队列。
S403、基于通信模块监听第一消息队列,并在第一消息队列中存在第一操作信息的情况下,基于通信模块将第一操作信息发送给远程设备。
基于通信模块可以监听第一消息队列。在第一消息队列中存在第一操作信息的情况下,通信模块可以将第一操作信息和与第一操作信息对应的单元计算组件的第一标识发送给远程设备。
图5为本申请实施例提供的数据处理方法中S302的一种流程示意图。如图5所示,根据本申请的一些实施例,可选地,S302、基于通信模块将远程设备的操作结果反馈给单元计算组件,可以包括以下步骤S501至S503。
S501、建立与第一标识对应的第二消息队列。
单元计算组件在向第一消息队列发送完单元计算组件的第一标识和请求远程设备执行的第一操作信息之后,可以基于自身的第一标识,建立与第一标识对应的第二消息队列。第二消息队列又可以称作临时消息队列。第二消息队列主要用于接收由通信模块转发的远程设备的操作结果。单元计算组件在建立与第一标识对应的第二消息队列之后,可以进行主动阻塞。即,单元计算组件进入睡眠状态,不再进行任何操作,直至监听到第二消息队列存在操作结果时被唤醒。如此,通过主动阻塞,可以减少对于cpu资源的占用。
S502、基于通信模块接收远程设备的操作结果,并基于第一标识将操作结果发送给与第一标识对应的第二消息队列。
通信模块接收到远程设备的操作结果之后,可以基于第一标识将操作结果发送给与第一标识对应的第二消息队列。
S503、在监听到第二消息队列存在操作结果的情况下,删除第二消息队列,并执行目标操作。
单元计算组件监听到与其第一标识对应的第二消息队列存在操作结果之后,可以删除第二消息队列,并继续进行下一步操作。
图6为本申请实施例提供的数据处理方法中S301和S302的一种操作示意图。如图6所示,可选地,多个单元计算组件601均可以向第一消息队列602发送请求远程设备执行的第一操作信息。为了便于区分,各个单元计算组件601在向第一消息队列602发送第一操作信息时,可以随同将自身的第一标识发送给第一消息队列602。基于通信模块603可以监听第一消息队列602,并在第一消息队列602中存在第一操作信息的情况下,基于通信模块603将第一操作信息发送给远程设备604。各个单元计算组件601可以基于自身的第一标识,建立与第一标识对应的第二消息队列605。
通信模块603接收到远程设备604的操作结果之后,可以基于第一标识将操作结果发送给与第一标识对应的第二消息队列605。单元计算组件601可以监听与其第一标识对应的第二消息队列605是否存在操作结果,并在监听到与其第一标识对应的第二消息队列605存在操作结果之后,可以删除第二消息队列605,并继续进行下一步操作。
基于上述实施例提供的数据处理装置,相应地,本申请还提供了数据处理装置的具体实现方式。请参见以下实施例。
图7为本申请实施例提供的数据处理装置的一种结构示意图。如图7所示,本申请实施例提供的数据处理装置70可以包括以下模块:
建立模块701,用于建立工作流模板,工作流模板用于处理目标类型工作流,目标类型工作流包括至少一个计算任务,工作流模板包括至少一个单元计算组件,一个单元计算组件用于处理目标类型工作流中的一个计算任务;
处理模块702,用于在待处理的第一工作流为目标类型工作流的情况下,基于工作流模板,处理第一工作流。
本申请实施例提供的数据处理装置,对于目标类型工作流中的计算任务,设置对应的单元计算组件,至少一个单元计算组件组成用于处理目标类型工作流的工作流模板。在待处理的第一工作流为目标类型工作流的情况下,可以直接基于工作流模板,处理第一工作流,从而提高了单元计算组件和/或工作流模板的复用性,减少了代码的编写,提高了处理计算任务的效率,降低了编写代码的工作量。
根据本申请的一些实施例,可选地,建立模块701具体可以用于设置单元计算组件的多种状态以及多种状态之间的执行顺序,其中,处理计算任务包括多个操作,每种状态对应处理计算任务的至少一个操作;单元计算组件用于按照多种状态各自对应的操作和多种状态之间的执行顺序,处理计算任务。
根据本申请的一些实施例,可选地,不同的状态对应处理计算任务中的不同操作。
根据本申请的一些实施例,可选地,多种状态包括初始状态、提交状态和检查状态;初始状态对应以下操作:生成单元计算组件的第一标识、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹、创建本地设备的第一工作路径、创建远程设备的第二工作路径和转移至提交状态;提交状态对应以下操作:生成输入文件、将输入文件和第一标识发送给远程设备、提交计算作业和转移至第一目标状态;远程设备用于基于输入文件执行计算作业,得到计算结果,以及根据第一标识,将计算结果发送给单元计算组件;检查状态对应以下操作:接收计算结果和检查计算结果是否计算成功。
根据本申请的一些实施例,可选地,多种状态还包括监控状态,监控状态对应以下操作:监控远程设备执行计算作业的状态。
根据本申请的一些实施例,可选地,在提交作业之后,在转移至第一目标状态之前,提交状态还对应以下操作:将计算作业的第二标识和远程设备执行计算作业的状态写入数据库;第一目标状态包括监控状态,监控状态对应以下操作:基于第二标识从数据库中查询远程设备执行计算作业的状态和在监控到计算作业完成时转移至检查状态。
根据本申请的一些实施例,可选地,多种状态还包括纠错状态,检查状态还对应以下操作:在计算结果计算失败时转移至纠错状态;纠错状态对应以下操作:判断计算结果的错误类型是否为第一错误类型,在计算结果的错误类型为第一错误类型时转移至提交状态。
根据本申请的一些实施例,可选地,多种状态还包括分析状态,检查状态还对应以下操作:在计算结果计算成功时转移至分析状态;纠错状态还对应以下操作:判断计算结果的错误类型是否为第二错误类型,在计算结果的错误类型为第二错误类型时转移至分析状态;分析状态对应以下操作:在计算结果计算成功时,从计算结果中提取目标信息;在计算结果的错误类型为第二错误类型时,生成计算失败的记录。
根据本申请的一些实施例,可选地,多种状态还包括结束状态,分析状态还还对应以下操作:转移至结束状态;结束状态对应以下操作:结束处理计算任务。
根据本申请的一些实施例,可选地,基于工作流模板,处理第一工作流,包括:将工作流模板中的单元计算组件的状态重置为初始状态,按照多种状态各自对应的操作和多种状态之间的执行顺序,处理第一工作流中的计算任务。
根据本申请的一些实施例,可选地,基于工作流模板,处理第一工作流,包括:基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备;基于通信模块将远程设备的操作结果反馈给单元计算组件。
根据本申请的一些实施例,可选地,基于通信模块将单元计算组件请求远程设备执行的第一操作信息发送给远程设备,包括:建立第一消息队列;向第一消息队列发送单元计算组件的第一标识和请求远程设备执行的第一操作信息;基于通信模块监听第一消息队列,并在第一消息队列中存在第一操作信息的情况下,基于通信模块将第一操作信息发送给远程设备。
根据本申请的一些实施例,可选地,基于通信模块将远程设备的操作结果反馈给单元计算组件,包括:建立与第一标识对应的第二消息队列;基于通信模块接收远程设备的操作结果,并基于第一标识将操作结果发送给与第一标识对应的第二消息队列;在监听到第二消息队列存在操作结果的情况下,删除第二消息队列,并执行目标操作。
根据本申请的一些实施例,可选地,目标类型工作流包括用于执行第一性原理计算的工作流。
图7所示装置中的各个模块/单元具有实现上述方法实施例提供的数据处理方法中各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
基于上述实施例提供的数据处理方法,相应地,本申请还提供了电子设备的具体实现方式。请参见以下实施例。
图8示出了本申请实施例提供的电子设备的硬件结构示意图。
电子设备可以包括处理器801以及存储有计算机程序指令的存储器802。
具体地,上述处理器801可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个示例中,存储器802可以包括可移除或不可移除(或固定)的介质,或者存储器802是非易失性固态存储器。存储器802可在电子设备的内部或外部。
在一个示例中,存储器802可以是只读存储器(Read Only Memory,ROM)。在一个示例中,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
存储器802可以包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述方法实施例中的方法/步骤,并达到方法实施例执行其方法/步骤达到的相应技术效果,为简洁描述在此不再赘述。
在一个示例中,电子设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
通信接口803,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(IndustryStandard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的数据处理方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据处理方法。计算机可读存储介质的示例包括非暂态计算机可读存储介质,如电子电路、半导体存储器设备、ROM、随机存取存储器、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
建立工作流模板,所述工作流模板用于处理目标类型工作流,所述目标类型工作流包括至少一个计算任务,所述工作流模板包括至少一个单元计算组件,一个所述单元计算组件用于处理所述目标类型工作流中的一个计算任务,所述目标类型工作流包括处理高通量计算的工作流;
在待处理的第一工作流为所述目标类型工作流的情况下,基于所述工作流模板,处理所述第一工作流;
所述单元计算组件位于本地设备,基于所述本地设备中的所述单元计算组件和远程设备共同处理所述计算任务,所述远程设备用于处理所述计算任务中的执行计算作业操作;
所述单元计算组件与所述远程设备通信的工作由通信模块完成;
所述建立工作流模板,包括:
设置所述单元计算组件的多种状态以及所述多种状态之间的执行顺序,其中,处理所述计算任务包括多个操作,每种所述状态对应处理所述计算任务的至少一个所述操作;
所述单元计算组件用于按照所述多种状态各自对应的所述操作和所述多种状态之间的执行顺序,处理所述计算任务;
所述基于所述工作流模板,处理所述第一工作流,包括:
基于通信模块将所述单元计算组件请求远程设备执行的第一操作信息发送给所述远程设备;
基于所述通信模块将所述远程设备的操作结果反馈给所述单元计算组件;
所述基于通信模块将所述单元计算组件请求远程设备执行的第一操作信息发送给所述远程设备,包括:
建立第一消息队列;
向所述第一消息队列发送所述单元计算组件的第一标识和请求远程设备执行的第一操作信息;
基于所述通信模块监听所述第一消息队列,并在所述第一消息队列中存在所述第一操作信息的情况下,基于所述通信模块将所述第一操作信息发送给远程设备;
所述基于所述通信模块将所述远程设备的操作结果反馈给所述单元计算组件,包括:
建立与所述第一标识对应的第二消息队列;
基于所述通信模块接收所述远程设备的操作结果,并基于所述第一标识将所述操作结果发送给与所述第一标识对应的第二消息队列;
在监听到所述第二消息队列存在所述操作结果的情况下,删除所述第二消息队列,并执行目标操作。
2.根据权利要求1所述的方法,其特征在于,不同的所述状态对应处理所述计算任务中的不同所述操作。
3.根据权利要求1所述的方法,其特征在于,所述多种状态包括初始状态、提交状态和检查状态;
所述初始状态对应以下操作:生成所述单元计算组件的第一标识、在本地设备上创建第一工作文件夹、在远程设备上创建第二工作文件夹、创建本地设备的第一工作路径、创建远程设备的第二工作路径和转移至所述提交状态;
所述提交状态对应以下操作:生成输入文件、将所述输入文件和所述第一标识发送给所述远程设备、提交计算作业和转移至第一目标状态;所述远程设备用于基于所述输入文件执行所述计算作业,得到计算结果,以及根据所述第一标识,将所述计算结果发送给所述单元计算组件;
所述检查状态对应以下操作:接收所述计算结果和检查所述计算结果是否计算成功。
4.根据权利要求3所述的方法,其特征在于,所述多种状态还包括监控状态,所述监控状态对应以下操作:监控所述远程设备执行所述计算作业的状态。
5.根据权利要求4所述的方法,其特征在于,在所述提交计算作业之后,在所述转移至第一目标状态之前,所述提交状态还对应以下操作:将所述计算作业的第二标识和所述远程设备执行所述计算作业的状态写入数据库;
所述第一目标状态包括所述检查状态或者所述监控状态,在所述第一目标状态为所述监控状态时,所述监控状态还对应以下操作:基于所述第二标识从所述数据库中查询所述远程设备执行所述计算作业的状态和在监控到所述计算作业完成时转移至所述检查状态。
6.根据权利要求3所述的方法,其特征在于,所述多种状态还包括纠错状态,所述检查状态还对应以下操作:在所述计算结果计算失败时转移至所述纠错状态;
所述纠错状态对应以下操作:判断所述计算结果的错误类型是否为第一错误类型,在所述计算结果的错误类型为所述第一错误类型时转移至所述提交状态。
7.根据权利要求6所述的方法,其特征在于,所述多种状态还包括分析状态,所述检查状态还对应以下操作:在所述计算结果计算成功时转移至所述分析状态;
所述纠错状态还对应以下操作:判断所述计算结果的错误类型是否为第二错误类型,在所述计算结果的错误类型为所述第二错误类型时转移至所述分析状态;
所述分析状态对应以下操作:在所述计算结果计算成功时,从所述计算结果中提取目标信息;在所述计算结果的错误类型为所述第二错误类型时,生成计算失败的记录。
8.根据权利要求7所述的方法,其特征在于,所述多种状态还包括结束状态,所述分析状态还对应以下操作:转移至所述结束状态;
所述结束状态对应以下操作:结束处理所述计算任务。
9.根据权利要求3所述的方法,其特征在于,所述基于所述工作流模板,处理所述第一工作流,包括:
将所述工作流模板中的所述单元计算组件的状态重置为所述初始状态,按照所述多种状态各自对应的所述操作和所述多种状态之间的执行顺序,处理所述第一工作流中的计算任务。
10.根据权利要求1所述的方法,其特征在于,所述目标类型工作流包括用于执行第一性原理计算的工作流。
11.一种数据处理装置,其特征在于,包括:
建立模块,用于建立工作流模板,所述工作流模板用于处理目标类型工作流,所述目标类型工作流包括至少一个计算任务,所述工作流模板包括至少一个单元计算组件,一个所述单元计算组件用于处理所述目标类型工作流中的一个计算任务,所述目标类型工作流包括处理高通量计算的工作流;
处理模块,用于在待处理的第一工作流为所述目标类型工作流的情况下,基于所述工作流模板,处理所述第一工作流;
所述单元计算组件位于本地设备,基于所述本地设备中的所述单元计算组件和远程设备共同处理所述计算任务,所述远程设备用于处理所述计算任务中的执行计算作业操作;
所述单元计算组件与所述远程设备通信的工作由通信模块完成;
所述建立模块具体用于设置所述单元计算组件的多种状态以及所述多种状态之间的执行顺序,其中,处理所述计算任务包括多个操作,每种所述状态对应处理所述计算任务的至少一个所述操作;所述单元计算组件用于按照所述多种状态各自对应的所述操作和所述多种状态之间的执行顺序,处理所述计算任务;
所述处理模块具体用于基于通信模块将所述单元计算组件请求远程设备执行的第一操作信息发送给所述远程设备;基于所述通信模块将所述远程设备的操作结果反馈给所述单元计算组件;
所述处理模块具体用于建立第一消息队列;向所述第一消息队列发送所述单元计算组件的第一标识和请求远程设备执行的第一操作信息;基于所述通信模块监听所述第一消息队列,并在所述第一消息队列中存在所述第一操作信息的情况下,基于所述通信模块将所述第一操作信息发送给远程设备;
所述处理模块具体用于建立与所述第一标识对应的第二消息队列;基于所述通信模块接收所述远程设备的操作结果,并基于所述第一标识将所述操作结果发送给与所述第一标识对应的第二消息队列;在监听到所述第二消息队列存在所述操作结果的情况下,删除所述第二消息队列,并执行目标操作。
12.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的数据处理方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311485269.9A CN117253552B (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311485269.9A CN117253552B (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117253552A CN117253552A (zh) | 2023-12-19 |
CN117253552B true CN117253552B (zh) | 2024-04-12 |
Family
ID=89135307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311485269.9A Active CN117253552B (zh) | 2023-11-09 | 2023-11-09 | 数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117253552B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
JP2019192158A (ja) * | 2018-04-27 | 2019-10-31 | 株式会社日立製作所 | ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法 |
CN114186976A (zh) * | 2021-12-16 | 2022-03-15 | 中国平安财产保险股份有限公司 | 工作流程流转方法、装置、计算机设备及存储介质 |
CN114862368A (zh) * | 2022-06-01 | 2022-08-05 | 北京白海科技有限公司 | 一种工作流实例的运行方法、装置、电子设备及存储介质 |
CN116049099A (zh) * | 2023-01-04 | 2023-05-02 | 中国建设银行股份有限公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
-
2023
- 2023-11-09 CN CN202311485269.9A patent/CN117253552B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019192158A (ja) * | 2018-04-27 | 2019-10-31 | 株式会社日立製作所 | ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法 |
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
CN114186976A (zh) * | 2021-12-16 | 2022-03-15 | 中国平安财产保险股份有限公司 | 工作流程流转方法、装置、计算机设备及存储介质 |
CN114862368A (zh) * | 2022-06-01 | 2022-08-05 | 北京白海科技有限公司 | 一种工作流实例的运行方法、装置、电子设备及存储介质 |
CN116049099A (zh) * | 2023-01-04 | 2023-05-02 | 中国建设银行股份有限公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117253552A (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045933B (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
CN110852882A (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
Roberts et al. | Fragment assignment in the cloud with eXpress-D | |
CN104504347A (zh) | 一种数据一致性匹配处理方法和设备 | |
US11651198B2 (en) | Data processing method and apparatus for neural network | |
CN107807845A (zh) | 一种增量式数据并行处理装置与方法 | |
CN113342671B (zh) | 对运算模块进行验证的方法、装置、电子设备和介质 | |
CN117253552B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US20220405184A1 (en) | Method, electronic device, and computer program product for data processing | |
CN115146782A (zh) | 量子线路编译方法、装置、编译框架及量子操作系统 | |
CN116383092B (zh) | 一种软件模糊测试的有效测试用例复用方法及装置 | |
US8938484B2 (en) | Maintaining dependencies among supernodes during repeated matrix factorizations | |
CN111610938A (zh) | 分布式数据编码存储方法、电子设备和计算机可读存储介质 | |
CN113806312A (zh) | 文件处理方法、装置、电子设备和存储介质 | |
CN114490547A (zh) | 数据压缩方法、装置、设备及介质 | |
CN113704174A (zh) | 一种芯片和数据处理方法 | |
CN112184027A (zh) | 任务进度更新方法、装置及存储介质 | |
CN104657507A (zh) | 基于分布式系统的图数据的模式检测方法和装置 | |
CN116720818B (zh) | 基于区块链的仓储处理方法、装置、计算机设备 | |
CN114615144B (zh) | 网络优化方法及系统 | |
CN113360178B (zh) | 软件唯一识别码生成方法、装置、设备及可读存储介质 | |
CN116910757B (zh) | 一种多进程检测系统、电子设备及存储介质 | |
JP2013107633A (ja) | メッセージを送受信するための装置および方法 | |
CN113722292B (zh) | 分布式数据系统的应灾处理方法、装置、设备及存储介质 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |