CN115599558B - 一种工业互联网平台的任务处理方法和系统 - Google Patents
一种工业互联网平台的任务处理方法和系统 Download PDFInfo
- Publication number
- CN115599558B CN115599558B CN202211592241.0A CN202211592241A CN115599558B CN 115599558 B CN115599558 B CN 115599558B CN 202211592241 A CN202211592241 A CN 202211592241A CN 115599558 B CN115599558 B CN 115599558B
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- task processing
- processing
- stage
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于工业物联网技术领域,尤其涉及一种工业互联网平台的任务处理方法和系统,所述方法包括:获取待处理任务和可调配线程数量;根据待处理任务查询预设的任务处理模版,划分任务处理阶段;根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理;计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成。本发明通过对待处理任务进行类型识别,确定任务类型,对任务进行拆解,将其划分为多个任务处理阶段,将线程分配给各个任务处理阶段,并在进行处理的过程中,对线程的分配进行动态调节,以提高任务处理的效率,提高响应速度。
Description
技术领域
本发明属于工业物联网技术领域,尤其涉及一种工业互联网平台的任务处理方法和系统。
背景技术
工业互联网是新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式和工业生态,通过对人、机、物、系统等的全面连接,构建起覆盖全产业链、全价值链的全新制造和服务体系。
工业互联网以网络为基础、平台为中枢、数据为要素、安全为保障,既是工业数字化、网络化、智能化转型的基础设施,也是互联网、大数据、人工智能与实体经济深度融合的应用模式,同时也是一种新业态、新产业,将重塑企业形态、供应链和产业链。
在当前的工业物联网中,采用分步的方式进行任务处理,其过程为根据任务过程逐级处理数据,难以根据各级数据处理过程进行算力的分配与调整,导致任务处理速度慢。
发明内容
本发明实施例的目的在于提供一种工业互联网平台的任务处理方法,旨在解决根据任务过程逐级处理数据,难以根据各级数据处理过程进行算力的分配与调整,导致任务处理速度慢的问题。
本发明实施例是这样实现的,一种工业互联网平台的任务处理方法,所述方法包括:
获取待处理任务和可调配线程数量;
根据待处理任务查询预设的任务处理模版,划分任务处理阶段;
根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理;
计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成。
优选的,所述根据待处理任务查询预设的任务处理模版,划分任务处理阶段的步骤,具体包括:
识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址;
基于任务类型查询模版数据库,查询得到对应的任务处理模版;
根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序。
优选的,所述根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理的步骤,具体包括:
根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段;
查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程;
通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
优选的,所述计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成的步骤,具体包括:
独立统计各个任务处理阶段对应的线程空闲率;
计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度;
基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成。
优选的,当任一任务处理阶段的数据积压量超过预设值时,重新进行线程分配。
优选的,处于同一处理顺序的并行任务阶段对应的固定线程允许相互调用。
本发明实施例的另一目的在于提供一种工业互联网平台的任务处理系统,所述系统包括:
数据获取模块,用于获取待处理任务和可调配线程数量;
任务拆分模块,用于根据待处理任务查询预设的任务处理模版,划分任务处理阶段;
线程分配模块,用于根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理;
线程动态调节模块,用于计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成。
优选的,所述任务拆分模块包括:
任务识别单元,用于识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址;
数据查询单元,用于基于任务类型查询模版数据库,查询得到对应的任务处理模版;
阶段拆分单元,用于根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序。
优选的,所述线程分配模块包括:
任务分类单元,用于根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段;
线程匹配单元,用于查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程;
动态调节单元,用于通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
优选的,所述线程动态调节模块包括:
空闲率计算单元,用于独立统计各个任务处理阶段对应的线程空闲率;
信息计算单元,用于计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度;
线程调节单元,用于基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成。
本发明实施例提供的一种工业互联网平台的任务处理方法,通过对待处理任务进行类型识别,确定任务类型,对任务进行拆解,将其划分为多个任务处理阶段,将线程分配给各个任务处理阶段,并在进行处理的过程中,对线程的分配进行动态调节,以提高任务处理的效率,提高响应速度。
附图说明
图1为本发明提供的一种工业互联网平台的任务处理方法的流程图。
图2为本发明提供的根据待处理任务查询预设的任务处理模版,划分任务处理阶段的步骤的流程图。
图3为本发明提供的根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理的步骤的流程图。
图4为本发明提供的计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成的步骤的流程图。
图5为本发明提供的一种工业互联网平台的任务处理系统的架构图。
图6为本发明提供的一种任务拆分模块的架构图。
图7为本发明提供的一种线程分配模块的架构图。
图8为本发明提供的一种线程动态调节模块的架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明提供的一种工业互联网平台的任务处理方法的流程图,所述方法包括:
S100,获取待处理任务和可调配线程数量。
在本步骤中,获取待处理任务,所述待处理任务为本次需要执行的任务,在该待处理任务中,应当包含本次任务的类型、任务执行数据源以及任务处理结果存储地址,如数据采集任务,任务类型为数据采集、任务执行数据源为监控设备,任务处理结果存储地址为A服务器,可调配线程数量即为当前可以调配用来执行当前待处理任务的空闲线程的数量。
S200,根据待处理任务查询预设的任务处理模版,划分任务处理阶段。
在本步骤中,根据待处理任务查询预设的任务处理模版进行任务处理阶段的划分,任务类型是固定的,仅是任务的内容存在少许差异,如数据源不同、数据采集后的处理过程不同,数据存储位置不同等,如B待处理任务为从C摄像装置采集数据,对采集得到的数据进行关键区域视频截取、视频优化处理、压缩、加密、传输和存储,从而据此划分任务处理阶段,其中数据采集、关键区域视频截取、视频优化处理、压缩、加密、传输和存储均属于独立的任务处理阶段。
S300,根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理。
在本步骤中,根据任务处理模版确定各个任务处理阶段线程分配比例,在任务处理模版中,根据不同的任务设置有不同的处理过程,其中包含了各个任务处理阶段所需的线程数量,而可调配线程数量的是波动的,因此可以根据任务处理模版中各任务处理阶段所需的线程数量确定线程分配比例,从而根据线程分配比例来确定分给各个任务处理阶段的线程数量,由于各个任务处理阶段的处理过程并非始终处于稳定状态,因此,从可调配线程中抽取一定比例的线程用作机动线程,当某一任务处理阶段存在数据积压时,将该机动线程临时分配至该存在数据积压的任务处理阶段,在积压缓解之后,重新对机动线程进行分配,从而实现任务的动态处理,避免了由于一个任务处理阶段的进度滞后影响整个任务的完成进度。
S400,计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成。
在本步骤中,计算各个任务处理阶段对应的线程空闲率,为了保证线程的有效利用,也避免数据的积压,每运行一定时长则进行一次线程调节,也可以是在发生特定时间时进行线程调节,如当任一任务处理阶段的数据积压量超过预设值时,重新进行线程分配,因此在整个过程中,保证了线程的有效利用,保证了任务完成的进度。
如图2所示,作为本发明的一个优选实施例,所述根据待处理任务查询预设的任务处理模版,划分任务处理阶段的步骤,具体包括:
S201,识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址。
在本步骤中,识别待处理任务,待处理任务可以通过特定字符串进行表示,如D代表数据采集,P001代表数据采集的数据源,即001号摄像装置,F05代表对采集的数据执行关键区域视频截取、视频优化处理、压缩、加密和传输操作,S501则代表将处理完成的数据存储于501号服务器,那么待处理任务即可表示为D- P001- F05- S501,当接收到该待处理任务时,即可根据该任务编号确定待处理任务的相关信息。
S202,基于任务类型查询模版数据库,查询得到对应的任务处理模版。
在本步骤中,基于任务类型查询模版数据库,在得到任务编号之后,查询模版数据库,在模版数据库中,对任务编号中的各个部分对应的信息均有记载,查询之后,根据各个编号区间查询得到的内容进行组合,即可得到任务处理模版,如模版数据中包括,DGH等三个任务类型,P001- P009等九个数据源,F01- F05等五个处理任务集,S101- S501等五个存储地址,根据D- P001- F05- S501进行查询和组合,即可确定相应完整数据处理流程。
S203,根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序。
在本步骤中,根据任务处理模版确定各个任务处理步骤,在同一个任务中,各个任务处理步骤之间有的具有先后关系,有的不具有先后关系,如在关键区域视频截取、视频优化处理、压缩、加密和传输操作这些步骤中,关键区域视频截取和视频优化处理可以并行处理,先执行关键区域视频截取,后执行视频优化处理,或者后执行关键区域视频截取,先执行视频优化处理,或者同步进行,都不影响整个任务的完成,而加密和传输则存在固定的先后关系,必须先进行数据加密,随后才能进行传输,从而确定各个任务处理阶段的先后关系,以及是否可以并列处理,以确定各个任务处理阶段的数据处理顺序。
如图3所示,作为本发明的一个优选实施例,所述根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理的步骤,具体包括:
S301,根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段。
在本步骤中,根据数据处理顺序确定并行任务阶段和串行任务阶段,并行任务阶段对应有多个任务,上述任务为可以同时执行的任务,根据数据处理顺序即可完成划分,并行任务阶段包含至少两个可并行处理的任务处理阶段,具体的,并行任务阶段中任务处理阶段的数量可以为三个、四个或者更多,具体取决于任务的复杂程度以及先后关系。
S302,查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程。
在本步骤中,查询任务处理模版,模版数据库对处理任务集设置有相应的线程分配比例,如某处理任务集包含四个任务处理阶段,其中前两个任务处理阶段的处理过程相对繁琐,一个线程处理一个固定大小的数据包的时间为1分钟,而其他两个任务处理阶段的处理过程相对简单,一个线程处理一个固定大小的数据包的时间为0.5分钟,那么线程分配比例设置为2:2:1:1,其中比例为2的为处理过程相对复杂的任务处理阶段,这样就能够保证数据处理过程连续,在各个任务处理阶段不存储数据积压的情况,预留至少一个线程作为活动线程,如存在7个线程,提取一个线程为活动线程(即机动线程),剩余的六个线程则按照2:2:1:1进行分配。
S303,通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
在本步骤中,通过固定线程执行各并行任务阶段和串行任务阶段,由于并行任务阶段是可以并列运行的,因此,在处理过程中,允许并列运行的线程之间相互之间进行调度,即两个并行任务阶段各对应有两个固定线程,那么在运行过程中,若其中一个并行任务阶段出现数据积压,而另一个并行任务阶段存在线程空闲时,则可以调配一个线程,即三个线程处理一个并行任务阶段,并且在整个运行过程中,通过活动线程进行临时调节,即当某一个任务处理阶段存在数据积压,则将该活动线程调配至该任务处理阶段,若所有任务处理阶段均不存在数据积压,则将该活动线程调配至最后一个任务处理阶段。
如图4所示,作为本发明的一个优选实施例,所述计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成的步骤,具体包括:
S401,独立统计各个任务处理阶段对应的线程空闲率。
S402,计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度。
在本步骤中,独立统计各个任务处理阶段对应的线程空闲率,当线程出现空闲的时候,说明该任务处理阶段存在线程冗余的情况,此时则计算各个任务处理阶段的待处理数据量,并且计算任务处理阶段对应的单线程处理速度,即一个线程在该任务处理阶段单位时间处理的数据量。
S403,基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成。
在本步骤中,根据各个任务处理阶段的数据输入速度以及单线程处理速度计算各个任务处理阶段所需的线程数量,从而进行线程调配,直至任务处理完成。
如图5所示,为本发明实施例提供的一种工业互联网平台的任务处理系统,所述系统包括:
数据获取模块100,用于获取待处理任务和可调配线程数量。
在本系统中,数据获取模块100获取待处理任务,所述待处理任务为本次需要执行的任务,在该待处理任务中,应当包含本次任务的类型、任务执行数据源以及任务处理结果存储地址,如数据采集任务,任务类型为数据采集、任务执行数据源为监控设备,任务处理结果存储地址为A服务器,可调配线程数量即为当前可以调配用来执行当前待处理任务的空闲线程的数量。
任务拆分模块200,用于根据待处理任务查询预设的任务处理模版,划分任务处理阶段。
在本系统中,任务拆分模块200根据待处理任务查询预设的任务处理模版进行任务处理阶段的划分,任务类型是固定的,仅是任务的内容存在少许差异,如数据源不同、数据采集后的处理过程不同,数据存储位置不同等,如B待处理任务为从C摄像装置采集数据,对采集得到的数据进行关键区域视频截取、视频优化处理、压缩、加密、传输和存储,从而据此划分任务处理阶段,其中数据采集、关键区域视频截取、视频优化处理、压缩、加密、传输和存储均属于独立的任务处理阶段。
线程分配模块300,用于根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理。
在本系统中,线程分配模块300根据任务处理模版确定各个任务处理阶段线程分配比例,在任务处理模版中,根据不同的任务设置有不同的处理过程,其中包含了各个任务处理阶段所需的线程数量,而可调配线程数量的是波动的,因此可以根据任务处理模版中各任务处理阶段所需的线程数量确定线程分配比例,从而根据线程分配比例来确定分给各个任务处理阶段的线程数量,由于各个任务处理阶段的处理过程并非始终处于稳定状态,因此,从可调配线程中抽取一定比例的线程用作机动线程,当某一任务处理阶段存在数据积压时,将该机动线程临时分配至该存在数据积压的任务处理阶段,在积压缓解之后,重新对机动线程进行分配,从而实现任务的动态处理,避免了由于一个任务处理阶段的进度滞后影响整个任务的完成进度。
线程动态调节模块400,用于计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成。
在本系统中,线程动态调节模块400计算各个任务处理阶段对应的线程空闲率,为了保证线程的有效利用,也避免数据的积压,每运行一定时长则进行一次线程调节,也可以是在发生特定时间时进行线程调节,如当任一任务处理阶段的数据积压量超过预设值时,重新进行线程分配,因此在整个过程中,保证了线程的有效利用,保证了任务完成的进度。
如图6所示,作为本发明的一个优选实施例,所述任务拆分模块200包括:
任务识别单元201,用于识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址。
在本模块中,任务识别单元201识别待处理任务,待处理任务可以通过特定字符串进行表示,如D代表数据采集,P001代表数据采集的数据源,即001号摄像装置,F05代表对采集的数据执行关键区域视频截取、视频优化处理、压缩、加密和传输操作,S501则代表将处理完成的数据存储于501号服务器,那么待处理任务即可表示为D- P001- F05- S501,当接收到该待处理任务时,即可根据该任务编号确定待处理任务的相关信息。
数据查询单元202,用于基于任务类型查询模版数据库,查询得到对应的任务处理模版。
在本模块中,数据查询单元202基于任务类型查询模版数据库,在得到任务编号之后,查询模版数据库,在模版数据库中,对任务编号中的各个部分对应的信息均有记载,查询之后,根据各个编号区间查询得到的内容进行组合,即可得到任务处理模版,如模版数据中包括,DGH等三个任务类型,P001- P009等九个数据源,F01- F05等五个处理任务集,S101- S501等五个存储地址,根据D- P001- F05- S501进行查询和组合,即可确定相应完整数据处理流程。
阶段拆分单元203,用于根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序。
在本模块中,阶段拆分单元203根据任务处理模版确定各个任务处理步骤,在同一个任务中,各个任务处理步骤之间有的具有先后关系,有的不具有先后关系,如在关键区域视频截取、视频优化处理、压缩、加密和传输操作这些步骤中,关键区域视频截取和视频优化处理可以并行处理,先执行关键区域视频截取,后执行视频优化处理,或者后执行关键区域视频截取,先执行视频优化处理,或者同步进行,都不影响整个任务的完成,而加密和传输则存在固定的先后关系,必须先进行数据加密,随后才能进行传输,从而确定各个任务处理阶段的先后关系,以及是否可以并列处理,以确定各个任务处理阶段的数据处理顺序。
如图7所示,作为本发明的一个优选实施例,所述线程分配模块300包括:
任务分类单元301,用于根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段。
在本模块中,任务分类单元301根据数据处理顺序确定并行任务阶段和串行任务阶段,并行任务阶段对应有多个任务,上述任务为可以同时执行的任务,根据数据处理顺序即可完成划分,并行任务阶段包含至少两个可并行处理的任务处理阶段,具体的,并行任务阶段中任务处理阶段的数量可以为三个、四个或者更多,具体取决于任务的复杂程度以及先后关系。
线程匹配单元302,用于查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程。
在本模块中,线程匹配单元302查询任务处理模版,模版数据库对处理任务集设置有相应的线程分配比例,如某处理任务集包含四个任务处理阶段,其中前两个任务处理阶段的处理过程相对繁琐,一个线程处理一个固定大小的数据包的时间为1分钟,而其他两个任务处理阶段的处理过程相对简单,一个线程处理一个固定大小的数据包的时间为0.5分钟,那么线程分配比例设置为2:2:1:1,其中比例为2的为处理过程相对复杂的任务处理阶段,这样就能够保证数据处理过程连续,在各个任务处理阶段不存储数据积压的情况,预留至少一个线程作为活动线程,如存在7个线程,提取一个线程为活动线程(即机动线程),剩余的六个线程则按照2:2:1:1进行分配。
动态调节单元303,用于通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
在本模块中,动态调节单元303,通过固定线程执行各并行任务阶段和串行任务阶段,由于并行任务阶段是可以并列运行的,因此,在处理过程中,允许并列运行的线程之间相互之间进行调度,即两个并行任务阶段各对应有两个固定线程,那么在运行过程中,若其中一个并行任务阶段出现数据积压,而另一个并行任务阶段存在线程空闲时,则可以调配一个线程,即三个线程处理一个并行任务阶段,并且在整个运行过程中,通过活动线程进行临时调节,即当某一个任务处理阶段存在数据积压,则将该活动线程调配至该任务处理阶段,若所有任务处理阶段均不存在数据积压,则将该活动线程调配至最后一个任务处理阶段。
如图8所示,作为本发明的一个优选实施例,所述线程动态调节模块400包括:
空闲率计算单元401,用于独立统计各个任务处理阶段对应的线程空闲率。
信息计算单元402,用于计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度。
在本模块中,独立统计各个任务处理阶段对应的线程空闲率,当线程出现空闲的时候,说明该任务处理阶段存在线程冗余的情况,此时则计算各个任务处理阶段的待处理数据量,并且计算任务处理阶段对应的单线程处理速度,即一个线程在该任务处理阶段单位时间处理的数据量。
线程调节单元403,用于基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成。
在本模块中,线程调节单元403根据各个任务处理阶段的数据输入速度以及单线程处理速度计算各个任务处理阶段所需的线程数量,从而进行线程调配,直至任务处理完成。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种工业互联网平台的任务处理方法,其特征在于,所述方法包括:
获取待处理任务和可调配线程数量;
根据待处理任务查询预设的任务处理模版,划分任务处理阶段;
根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理;
计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成;
所述根据待处理任务查询预设的任务处理模版,划分任务处理阶段的步骤,具体包括:
识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址;
基于任务类型查询模版数据库,查询得到对应的任务处理模版;
根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序;
所述计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成的步骤,具体包括:
独立统计各个任务处理阶段对应的线程空闲率;
计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度;
基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成;
所述根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理的步骤,具体包括:
根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段;
查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程;
通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
2.根据权利要求1所述的工业互联网平台的任务处理方法,其特征在于,当任一任务处理阶段的数据积压量超过预设值时,重新进行线程分配。
3.根据权利要求1所述的工业互联网平台的任务处理方法,其特征在于,处于同一处理顺序的并行任务阶段对应的固定线程允许相互调用。
4.一种工业互联网平台的任务处理系统,其特征在于,所述系统包括:
数据获取模块,用于获取待处理任务和可调配线程数量;
任务拆分模块,用于根据待处理任务查询预设的任务处理模版,划分任务处理阶段;
线程分配模块,用于根据任务处理模版确定各个任务处理阶段线程分配比例,根据可调配线程数据进行线程分配,并进行任务动态处理;
线程动态调节模块,用于计算各个任务处理阶段对应的线程空闲率,根据线程空闲率进行线程分配调节,直至任务处理完成;
所述任务拆分模块包括:
任务识别单元,用于识别待处理任务,确定任务类型、任务执行数据源以及任务处理结果存储地址;
数据查询单元,用于基于任务类型查询模版数据库,查询得到对应的任务处理模版;
阶段拆分单元,用于根据任务处理模版确定各个任务处理步骤,划分任务处理阶段,确定各个任务处理阶段的数据处理顺序;
所述线程动态调节模块包括:
空闲率计算单元,用于独立统计各个任务处理阶段对应的线程空闲率;
信息计算单元,用于计算各个任务处理阶段的待处理数据量,计算各个任务处理阶段对应的单线程处理速度;
线程调节单元,用于基于各任务处理阶段对应的单线程处理速度对各个任务处理阶段分配的线程进行数量调整,直至任务处理完成;
所述线程分配模块包括:
任务分类单元,用于根据数据处理顺序确定并行任务阶段和串行任务阶段,所述并行任务阶段包含至少两个可并行处理的任务处理阶段;
线程匹配单元,用于查询任务处理模版,为所有并行任务阶段和串行任务阶段分配对应的固定线程,并预留至少一个线程作为活动线程;
动态调节单元,用于通过固定线程执行各并行任务阶段和串行任务阶段,根据固定线程的空闲率对活动线程进行动态调配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211592241.0A CN115599558B (zh) | 2022-12-13 | 2022-12-13 | 一种工业互联网平台的任务处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211592241.0A CN115599558B (zh) | 2022-12-13 | 2022-12-13 | 一种工业互联网平台的任务处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599558A CN115599558A (zh) | 2023-01-13 |
CN115599558B true CN115599558B (zh) | 2023-03-10 |
Family
ID=84852843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211592241.0A Active CN115599558B (zh) | 2022-12-13 | 2022-12-13 | 一种工业互联网平台的任务处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599558B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593166A (zh) * | 2012-08-17 | 2014-02-19 | 刘书 | 一种同时线程处理器的分支预测器设计 |
CN103428272B (zh) * | 2013-07-16 | 2016-06-15 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
US11321123B2 (en) * | 2019-11-21 | 2022-05-03 | International Business Machines Corporation | Determining an optimum number of threads to make available per core in a multi-core processor complex to executive tasks |
CN111176806B (zh) * | 2019-12-05 | 2024-02-23 | 中国银联股份有限公司 | 一种业务处理方法、装置及计算机可读存储介质 |
CN112035258B (zh) * | 2020-08-31 | 2022-06-17 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及介质 |
-
2022
- 2022-12-13 CN CN202211592241.0A patent/CN115599558B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115599558A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
CN110351375B (zh) | 一种数据处理方法、装置及计算机装置、可读存储介质 | |
CN111708627B (zh) | 基于分布式调度框架的任务调度方法以及装置 | |
CN104391749A (zh) | 一种资源分配方法及装置 | |
US20220156115A1 (en) | Resource Allocation Method And Resource Borrowing Method | |
CN106406983A (zh) | 一种集群中的任务调度方法及装置 | |
CN110837513B (zh) | 一种缓存更新方法、装置、服务器及存储介质 | |
CN111858055B (zh) | 任务处理方法、服务器及存储介质 | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
CN111176840B (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
US11102145B2 (en) | Resource sharing method, computer device, and storage medium | |
CN111209336B (zh) | 基于区块链的数据分配方法、装置及服务器 | |
EP2778921B1 (en) | A method and a system for distributed processing of a dataset | |
CN108399102A (zh) | 一种资源分配方法和装置 | |
CN111858659A (zh) | 基于行键盐值的数据查询方法、装置、设备及存储介质 | |
CN111260253A (zh) | 信息发送方法、装置、计算机设备及存储介质 | |
CN115599558B (zh) | 一种工业互联网平台的任务处理方法和系统 | |
CN109144690B (zh) | 任务处理方法和装置 | |
CN110659272A (zh) | 数据清洗方法和系统 | |
WO2024088078A1 (zh) | 一种带宽调节方法、系统、设备及存储介质 | |
CN111338778B (zh) | 任务调度方法、装置、存储介质及计算机设备 | |
CN110275777B (zh) | 一种资源调度系统 | |
CN114238328A (zh) | 数据分页查询方法、装置、设备及存储介质 | |
CN112667392A (zh) | 云计算资源分配方法、装置、计算机设备和存储介质 | |
CN113407558A (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 |