CN111258774A - 流程处理方法、装置、计算机设备及存储介质 - Google Patents
流程处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111258774A CN111258774A CN202010015270.5A CN202010015270A CN111258774A CN 111258774 A CN111258774 A CN 111258774A CN 202010015270 A CN202010015270 A CN 202010015270A CN 111258774 A CN111258774 A CN 111258774A
- Authority
- CN
- China
- Prior art keywords
- link
- message queue
- task
- result
- thread
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种流程处理方法、装置、计算机设备及存储介质,所述包括以下步骤:响应于业务处理指令,采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;当监测到所述第一消息队列中添加所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果;基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。通过设置消息队列的形式,本发明中后一个业务环节能够及时发现前一个业务环节中任何一个线程执行完毕的信息,从而保证多个业务环节之间的高效协调有序运行,减少计算资源浪费。
Description
技术领域
本发明涉及自动化任务处理技术领域,特别涉及一种流程处理方法、装置、计算机设备及存储介质。
背景技术
随着办公自动化的普及,模块化定制越来越成为业务处理流程的优选方式。所谓模块化定制,就是将业务处理流程中的每个环节分别设计成标准化的可插拔代码模块,每个模块可以根据实际需要任意添加或者删减,从而有利于不同业务处理流程的灵活实现。
对于上述模块化设计的业务处理流程,现有技术中每个代码模块之间是依照同步原则依次执行的,即当前一个代码模块完全执行完之后,再启动后一个代码模块执行下一个环节。由于每个代码模块在实际运行时可能会包含多个线程,每个线程的执行速度不一样,因此会产生先执行完的线程长时间等待后执行完的线程的情况,造成计算资源的大量浪费,业务处理效率不高。因此,如何对不同处理速度的线程进行及时响应,提高业务处理流程的运行效率,成为本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种流程处理方法、装置、计算机设备及存储介质,已解决现有技术中存在的上述问题。
为实现上述目的,本发明提出一种流程处理方法,包括以下步骤:
响应于业务处理指令,采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;
当监测到所述第一消息队列中添加了所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果;
基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
根据本发明提出的流程处理方法,其中,所述采用第一线程执行业务处理流程中的第一环节任务,并将生成的第一环节结果添加到第一消息队列的步骤包括:
采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列;
所述采用第二线程从所述第一消息队列中提取所述第一环节结果的步骤包括:
按照所述完成时间顺序,采用第二线程依次从所述第一消息队列中提取每个第一线程生成的第一环节结果;
将已被提取的所述第一环节结果从所述第一消息队列中删除。
根据本发明提出的流程处理方法,其中,所述采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列的步骤之前,还包括:
判断所述第一消息队列中已经添加的第一环节结果的数量是否已经达到第一预设阈值;
若是,不再向所述第一消息队列中添加新的第一环节结果,直至所述第一消息队列中包含的第一环节结果的数量少于所述第一预设阈值。
根据本发明提出的流程处理方法,其中,所述第二线程基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果的步骤之后,还包括:
将所述第二环节结果添加到第二消息队列;
当监测到所述第二消息队列中添加所述第二环节结果时,采用第三线程从所述第二消息队列中提取所述第二环节结果;
基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
根据本发明提出的流程处理方法,其中,所述业务处理指令是第三方系统发出的文件准备就绪指令,所述第一环节任务是文件下载任务,所述第一环节结果是包含了文件名称、文件来源和文件类型的文件信息,所述第二环节任务是文件转换任务、数据入库任务、数据整理任务和数据输出任务中的其中之一,所述第二环节结果是标准化文件、数据库文件、整理文件和输出文件其中之一;
所述当监测到所述第一消息队列中添加了所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果的步骤包括:
当监测到所述第一消息队列中添加了所述文件信息时,采用第二线程从所述第一消息队列中提取所述文件信息;
所述基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果的步骤包括:
基于所述文件信息执行所述业务处理流程中的文件转换任务、数据入库任务、数据整理任务和数据输出任务其中之一,生成标准化文件、数据库文件、整理文件和输出文件其中之一。
为实现上述目的,本发明还提出一种流程处理装置,包括:
第一消息添加模块,适用于响应于业务处理指令,采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;
第一消息提取模块,适用于当监测到所述第一消息队列中添加所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果;
第一累积模块,适用于基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
根据本发明提出的流程处理装置,其中,所述第一消息添加模块包括:
第一线程单元,适用于采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列;
所述第一消息提取模块包括:
第二线程单元,适用于按照所述完成时间顺序,采用第二线程依次从所述第一消息队列中提取每个第一线程生成的第一环节结果;
删除单元,适用于将已被提取的所述第一环节结果从所述第一消息队列中删除。
根据本发明提出的流程处理装置,其中,还包括:
第二消息添加模块,适用于将所述第二环节结果添加到第二消息队列;
第二消息提取模块,适用于当监测到所述第二消息队列中添加所述第二环节结果时,采用第三线程从所述第二消息队列中提取所述第二环节结果;
第二累积模块,适用于基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的流程处理方法、装置、计算机设备及计算机存储介质,为业务处理流程提供了一种快速高效的解决方案。本发明为每个任务环节中的任务分配多个线程执行,每个线程可以单独管理。同时在每相邻两个任务环节之间分别设置消息队列,前一个任务环节生成的中间结果按照时间顺序依次被添加到消息队列。同时,一旦检测到消息队列中添加了中间结果,后一个任务环节马上启动线程从所述消息队列中提取所述中间结果,并给予中间结果继续执行后一个任务环节的任务。通过设置消息队列的形式,本发明中后一个任务环节能够及时发现前一个任务环节中任何一个线程执行完毕的信息,通过从消息队列中提取中间结果,实现对执行完毕的线程的及时响应,从而保证多个任务环节之间的高效协调有序运行,减少计算资源浪费。
附图说明
图1为本发明的流程处理方法实施例一的流程图;
图2为本发明的流程处理装置实施例一的程序模块示意图;
图3为本发明的流程处理装置实施例一的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的流程处理方法、装置、计算机设备及计算机存储介质,为业务处理流程提供了一种快速高效的解决方案。本发明为每个任务环节中的任务分配多个线程执行,每个线程可以单独管理。同时在每相邻两个任务环节之间分别设置消息队列,前一个任务环节生成的中间结果按照时间顺序依次被添加到消息队列。同时,一旦检测到消息队列中添加了中间结果,后一个任务环节马上启动线程从所述消息队列中提取所述中间结果,并给予中间结果继续执行后一个任务环节的任务。通过设置消息队列的形式,本发明中后一个任务环节能够及时发现前一个任务环节中任何一个线程执行完毕的信息,通过从消息队列中提取中间结果,实现对执行完毕的线程的及时响应,从而保证多个任务环节之间的高效协调有序运行,减少计算资源浪费。
实施例一
请参阅图1,本实施例提出一种流程处理方法,具体包括以下步骤:
S1:响应于业务处理指令,采用多个线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列。
本发明适用于具有多个中间环节的业务处理流程,例如包含文件下载、文件转换、数据整理、数据输出等几个环节的文件处理流程,每个环节用以完成不同的任务。其中,文件下载用于与第三方系统对接,从第三方系统下载需要处理的文件;文件转换是指将从第三方系统下载的文件转换为标准格式;数据整理是指对于不同的文件数据进行分类、统计、计算等工作,数据输出是指将整理完成的数据传送给接收方。在本发明的实施例中,所述第一环节任务是文件下载任务。
本发明响应于业务处理指令开始执行第一环节任务,所述业务处理指令可以是由定时器触发的定时任务指令,可以是于本发明对接的第三方系统发送的数据准备完成指令,或者是通过手动按钮发出的实时任务指令。
本发明将第一环节任务分配给多个线程分别执行,例如在文件下载环节,启动线程1、线程2、线程3、线程4和线程5分别用于下载文件A、文件B、文件C、文件D和文件E。通过将业务处理流程中的其中一个环节任务分配给多个线程分别执行,可以提高该环节任务的速度。并且业务处理流程中的后续环节可以基于其中一个线程的执行结果进一步执行任务,无需等待第一环节任务全部执行完毕再进行启动,因此减少了空闲等待时间,提高了系统资源的利用率。
每个线程执行完各自的任务后,会生成对应的环节结果,例如线程1下载完文件A后生成环节结果1,线程2下载完文件B后生成环节结果2,线程3下载完文件C后生成环节结果3,线程4下载完文件D后生成环节结果4,线程5下载完文件E后生成环节结果5。需要说明的是,本发明中的环节结果,指的是在执行完环节任务后,由该环节任务生成的具体数据,而不是指环节任务的完成状态。因此,本发明只要能得到环节结果,就说明该环节任务已经顺利执行完毕。具体的,本发明所述环节结果可以是包含文件名、文件来源、文件类型的文件信息。
本发明将每个线程生成的环节结果按时间顺序分别添加到第一消息队列,优选的,该第一消息队列是基于链表的阻塞队列LinkedBlockingQueue。若环节结果1最先生成,其后依次生成环节结果2、环节结果3、环节结果4和环节结果5,那么本发明会首先将环节结果1添加到第一消息队列,然后依次向消息队列中添加环节结果2、环节结果3、环节结果4和环节结果5。
进一步,本发明中的第一消息队列设置有第一阈值,当所述第一消息队列中添加的环节结果的数量达到所述第一阈值时,将阻止新的线程继续向其中添加环节结果,直到所述第一消息队列中包含的环节结果的数量小于所述第一阈值。所述第一阈值的设置与计算机操作系统的性能相关,例如,所述第一阈值设置为计算机线程池中的最大线程数。
S2:当监测到所述第一消息队列中添加所述第一环节结果时,采用多个第二线程从所述第一消息队列中提取所述第一环节结果。
具体的,当监测到所述第一消息队列中添加了包含文件名称、文件来源和文件类型的文件信息时,采用第二线程从所述第一消息队列中提取所述文件信息。
本发明实时监测第一消息队列中的数据变化情况,当发现第一消息队列中添加了第一环节结果时,会分配第二线程从所述第一消息队列中提取新添加的第一环节结果。可以理解,当第一消息队列中添加有多个数据时,相应的会分配多个第二线程从第一消息队列中提取这些数据。
本发明中的第一消息队列优选为阻塞队列,与第一消息队列相连的第一环节任务和第二环节任务,通过生产者-消费者的模式分别向所述第一消息队列添加-消费数据。当第二环节任务中的其中一个第二线程从所述第一消息队列中提取一条环节结果数据后,所述环节结果数据便从所述第一消息队列中删除。
本发明的阻塞队列设置第一阈值作为该阻塞队列可存储的最大消息条数,当阻塞队列中存储的消息条数达到第一阈值时,禁止第一线程再向所述阻塞队列中添加消息,直至阻塞队列中的消息条数小于第一阈值。在本实施例中,相当于当阻塞队列中添加的第一环节结果的个数等于所述第一阈值时,禁止第一线程再向所述阻塞队列中添加第一环节结果,直至所述阻塞队列中的第一环节结果被第二线程提取后使得阻塞队列中的第一环节结果小于所述第一阈值。
仍以本实施例中的文件处理流程为例,当环节结果1、环节结果2、环节结果3、环节结果4和环节结果5按照完成时间顺序先后添加到第一消息队列中时,本发明分配多个第二线程分别从所述第一消息队列中提取环节结果。按照先进先出的原则,本发明中的第二线程最先从第一消息队列中提取环节结果1,然后依次提取环节结果2、环节结果3、环节结果4和环节结果5。
S3:基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
在从第一消息队列中提取到第一环节结果的基础上,本步骤基于提取到的第一环节结果执行业务处理流程中的第二环节任务,从而生成第二环节结果。
例如,从消息队列中提取到已经完成的文件信息A,通过文件信息A可以获得相关的文件名称、文件来源、文件格式等信息,根据上述信息,本发明对文件A执行下一环节的文件转换任务,即将文件A的格式转换为标准化格式,得到标准化文件A。
同理,对于第一消息队列中的文件信息B、文件信息C、文件信息D和文件信息E,依次对相应的文件对象执行文件转换任务,从而分别将文件B、文件C、文件D和文件E转换为标准化文件B、标准化文件C、标准化文件D和标准化文件E。
本领域普通技术人员可以理解,本发明所述第二环节任务可以包含多种不同的文件处理任务,例如是文件转换任务、数据入库任务、数据整理任务和数据输出任务中的其中之一,相应的本发明所述第二环节结果可以是标准化文件、数据库文件、整理文件和输出文件其中之一。
基于上述内容,本步骤可以具体实现为:基于所述文件信息执行所述业务处理流程中的文件转换任务、数据入库任务、数据整理任务和数据输出任务其中之一,生成标准化文件、数据库文件、整理文件和输出文件其中之一。
S4:将所述第二环节结果添加到第二消息队列。具体的,将标准化文件、数据库文件、整理文件和输出文件其中之一添加到第二消息队列。
本步骤用于将第二环节任务中得到的第二环节结果添加到第二消息队列。具体的,将多个第二线程基于第一环节结果执行第二环节任务而得到的第二环节结果按照时间顺序分别添加到第二消息队列。
与第一消息队列相同,本发明中的第二消息队列同样优选为阻塞队列,此时第二环节任务作为生产者,将执行得到的第二环节结果按照完成时间顺序依次添加到第二消息队列中,以供作为生产者的第三环节任务从所述第二消息队列中提取后进行再处理。
在本实施例中,相当于将执行文件转换任务得到的标准化文件A、标准化文件B、标准化文件C、标准化文件D和标准化文件E分别添加到第二消息队列。
进一步,所述第二消息队列中设置了第二阈值,当第二消息队列中添加的第二环节结果的个数达到所述第二阈值时,将禁止继续向所述第二消息队列中添加新的第二环节结果,直至所述第二消息队列中的第二环节结果的个数由于被提取而减少到所述第二阈值以下。
S5:当监测到所述第二消息队列中添加所述第二环节结果时,从所述第二消息队列中提取所述第二环节结果。
本发明实时监控第二消息队列中的数据变化情况,当第二消息队列中添加第二环节结果时,将分配第三线程从所述第二消息队列中提取所述第二环节结果,即采用多个第三线程分别从第二消息队列中依次提取标准化文件A、标准化文件B、标准化文件C、标准化文件D和标准化文件E。
S6:基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
本实施例中,第三环节任务可以是数据整理任务或数据输出任务。基于从第二消息队列中提取到的多个标准化文件,分别通过多个第三线程对标准化文件执行数据整理操作,以得到多个第三环节结果。
本领域普通技术人员可以理解,本发明所述的业务处理流程并不限于上文中提到的三个环节任务,而是可以包括无数多个环节任务。其中,每两个环节任务之间设置有一个消息队列,用于存放前一个环节任务的执行结果,并供后一个环节任务从所述消息队列中提取前一个环节任务的执行结果进行再处理。
本发明中的每一个环节任务可以拆分成多个线程分别执行,同一个环节任务中的任何一个线程执行完毕后,即可启动下一个环节任务的相应线程,而不必等待同一个环节任务中的所有线程都执行完毕再统一启动下一个环节任务。因此,本发明可以最大程度地节约计算机系统资源,提升业务流程的处理效率。
请继续参阅图2,示出了一种流程处理装置,在本实施例中,流程处理装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述流程处理方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述流程处理装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一消息添加模块11,适用于响应于业务处理指令,采用多个第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;
第一消息提取模块12,适用于当监测到所述第一消息队列中添加所述第一环节结果时,采用多个第二线程从所述第一消息队列中提取所述第一环节结果;
第一累积模块13,适用于基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
根据本发明提出的流程处理装置,其中,所述第一消息添加模块11包括:
第一线程单元111,适用于采用多个第一线程分别执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列;
所述第一消息提取模块12包括:
第二线程单元121,适用于按照所述完成时间顺序,采用多个第二线程依次从所述第一消息队列中提取每个第一线程生成的第一环节结果;
删除单元122,适用于将已被提取的所述第一环节结果从所述第一消息队列中删除。
根据本发明提出的流程处理装置,其中,还包括:
第二消息添加模块14,适用于将所述第二环节结果添加到第二消息队列;
第二消息提取模块15,适用于当监测到所述第二消息队列中添加所述第二环节结果时,采用多个第三线程从所述第二消息队列中提取所述第二环节结果;
第二累积模块16,适用于基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的数据同步装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行流程处理装置10,以实现实施例一的流程处理方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储流程处理装置10,被处理器执行时实现实施例一的流程处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种流程处理方法,其特征在于,包括以下步骤:
响应于业务处理指令,采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;
当监测到所述第一消息队列中添加了所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果;
基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
2.根据权利要求1所述的流程处理方法,其特征在于,所述采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列的步骤包括:
采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列;
所述采用第二线程从所述第一消息队列中提取所述第一环节结果的步骤包括:
按照所述完成时间顺序,采用第二线程依次从所述第一消息队列中提取每个第一线程生成的第一环节结果;
将已被提取的所述第一环节结果从所述第一消息队列中删除。
3.根据权利要求2所述的流程处理方法,其特征在于,所述采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列的步骤之前,还包括:
判断所述第一消息队列中已经添加的第一环节结果的数量是否已经达到第一预设阈值;
若是,不再向所述第一消息队列中添加新的第一环节结果,直至所述第一消息队列中包含的第一环节结果的数量少于所述第一预设阈值。
4.根据权利要求1或2所述的流程处理方法,其特征在于,所述基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果的步骤之后,还包括:
将所述第二环节结果添加到第二消息队列;
当监测到所述第二消息队列中添加所述第二环节结果时,采用第三线程从所述第二消息队列中提取所述第二环节结果;
基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
5.根据权利要求1所述的流程处理方法,其特征在于,所述业务处理指令是第三方系统发出的文件准备就绪指令,所述第一环节任务是文件下载任务,所述第一环节结果是包含了文件名称、文件来源和文件类型的文件信息,所述第二环节任务是文件转换任务、数据入库任务、数据整理任务和数据输出任务中的其中之一;所述第二环节结果是标准化文件、数据库文件、整理文件和输出文件其中之一;
所述当监测到所述第一消息队列中添加了所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果的步骤包括:
当监测到所述第一消息队列中添加了所述文件信息时,采用第二线程从所述第一消息队列中提取所述文件信息;
所述基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果的步骤包括:
基于所述文件信息执行所述业务处理流程中的文件转换任务、数据入库任务、数据整理任务和数据输出任务其中之一,生成标准化文件、数据库文件、整理文件和输出文件其中之一。
6.一种流程处理装置,其特征在于,包括:
第一消息添加模块,适用于响应于业务处理指令,采用第一线程执行业务处理流程中的第一环节任务,并将执行完所述第一环节任务后生成的第一环节结果添加到第一消息队列;
第一消息提取模块,适用于当监测到所述第一消息队列中添加了所述第一环节结果时,采用第二线程从所述第一消息队列中提取所述第一环节结果;
第一累积模块,适用于基于所述第一环节结果执行所述业务处理流程中的第二环节任务,生成第二环节结果。
7.根据权利要求6所述的流程处理装置,其特征在于,所述第一消息添加模块包括:
第一线程单元,适用于采用第一线程执行所述第一环节任务,并按完成时间顺序将每个所述第一线程生成的第一环节结果依次添加到所述第一消息队列;
所述第一消息提取模块包括:
第二线程单元,适用于按照所述完成时间顺序,采用第二线程依次从所述第一消息队列中提取每个第一线程生成的第一环节结果;
删除单元,适用于将已被提取的所述第一环节结果从所述第一消息队列中删除。
8.根据权利要求6或7所述的流程处理装置,其特征在于,还包括:
第二消息添加模块,适用于将所述第二环节结果添加到第二消息队列;
第二消息提取模块,适用于当监测到所述第二消息队列中添加了所述第二环节结果时,从所述第二消息队列中提取所述第二环节结果;
第二累积模块,适用于基于所述第二环节结果执行所述业务处理流程中的第三环节任务,生成第三环节结果。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015270.5A CN111258774A (zh) | 2020-01-07 | 2020-01-07 | 流程处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015270.5A CN111258774A (zh) | 2020-01-07 | 2020-01-07 | 流程处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111258774A true CN111258774A (zh) | 2020-06-09 |
Family
ID=70945079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010015270.5A Pending CN111258774A (zh) | 2020-01-07 | 2020-01-07 | 流程处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258774A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111754207A (zh) * | 2020-06-30 | 2020-10-09 | 深圳壹账通智能科技有限公司 | 流程实例管理方法、装置、计算机设备及可读存储介质 |
CN111796949A (zh) * | 2020-07-07 | 2020-10-20 | 深圳市元征科技股份有限公司 | 通讯任务处理方法、装置、设备及存储介质 |
CN111813529A (zh) * | 2020-07-20 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112000476A (zh) * | 2020-08-21 | 2020-11-27 | 南京星邺汇捷网络科技有限公司 | 基于队列的任务执行流程控制方法及系统 |
CN113672374A (zh) * | 2021-10-21 | 2021-11-19 | 深圳致星科技有限公司 | 用于联邦学习和隐私计算的任务调度方法及系统 |
CN116016805A (zh) * | 2023-03-27 | 2023-04-25 | 四川弘和通讯集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-01-07 CN CN202010015270.5A patent/CN111258774A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111754207A (zh) * | 2020-06-30 | 2020-10-09 | 深圳壹账通智能科技有限公司 | 流程实例管理方法、装置、计算机设备及可读存储介质 |
CN111796949A (zh) * | 2020-07-07 | 2020-10-20 | 深圳市元征科技股份有限公司 | 通讯任务处理方法、装置、设备及存储介质 |
CN111813529A (zh) * | 2020-07-20 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111813529B (zh) * | 2020-07-20 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112000476A (zh) * | 2020-08-21 | 2020-11-27 | 南京星邺汇捷网络科技有限公司 | 基于队列的任务执行流程控制方法及系统 |
CN113672374A (zh) * | 2021-10-21 | 2021-11-19 | 深圳致星科技有限公司 | 用于联邦学习和隐私计算的任务调度方法及系统 |
CN116016805A (zh) * | 2023-03-27 | 2023-04-25 | 四川弘和通讯集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258774A (zh) | 流程处理方法、装置、计算机设备及存储介质 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN111835768B (zh) | 一种用于处理安全事件的方法、装置、介质及计算机设备 | |
CN108446171B (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
CN110633135A (zh) | 异步任务分配方法、装置、计算机设备及存储介质 | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN106034113A (zh) | 数据处理方法及装置 | |
CN111258741B (zh) | 仓库任务执行的方法、分布式服务器集群及计算机设备 | |
CN111210340B (zh) | 一种自动任务处理方法、装置、服务器及存储介质 | |
CN112199180A (zh) | 多任务调度的方法及装置、电子设备及可读存储介质 | |
CN111580948A (zh) | 任务调度方法、装置及计算机设备 | |
CN110333916B (zh) | 请求消息处理方法、装置、计算机系统及可读存储介质 | |
CN112948096A (zh) | 一种批量调度方法、装置和设备 | |
CN111338775B (zh) | 一种执行定时任务的方法及设备 | |
CN116627615A (zh) | 一种任务处理方法、装置、电子设备和存储介质 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN116089040A (zh) | 业务流程的调度方法及其装置、电子设备及存储介质 | |
CN113742071A (zh) | 一种任务处理方法和电子设备 | |
CN111258728A (zh) | 任务的执行方法及装置、存储介质和电子装置 | |
CN110543470A (zh) | 消息预警的方法及装置、存储介质和电子装置 | |
CN113127548B (zh) | 一种文件合并的方法、装置、设备及存储介质 | |
CN113204434B (zh) | 基于k8s的计划任务执行方法、装置及计算机设备 | |
CN113127221B (zh) | 一种限制消息消费速率的方法、装置、设备及存储介质 | |
CN106557359B (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 |