CN114116202A - 一种基于微服务框架下的并行计算方法及系统 - Google Patents
一种基于微服务框架下的并行计算方法及系统 Download PDFInfo
- Publication number
- CN114116202A CN114116202A CN202111271797.5A CN202111271797A CN114116202A CN 114116202 A CN114116202 A CN 114116202A CN 202111271797 A CN202111271797 A CN 202111271797A CN 114116202 A CN114116202 A CN 114116202A
- Authority
- CN
- China
- Prior art keywords
- service
- component
- capacity
- thread
- capability
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- 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/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种基于微服务框架下的并行计算方法及系统,涉及电信业务支撑技术领域,包括:基于微服务框架开发业务组件和能力组件;将业务组件根据服务能力划分为多个业务组件单元;业务组件单元接收外部业务请求,调用能力组件;能力组件对应业务组件单元将计算任务映射到单一的线程;线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;线程通过主线程读取消息阻塞队列,合并结果并反馈业务组件单元。本发明基于微服务框架,实现了业务组件中各业务组件单元的并行计算,同时各业务组件单元中也通过多个子线程并行调用业务计算组件单元能力,提高了计算效率,进而提高了服务效率。
Description
技术领域
本发明涉及电信业务支撑技术领域,尤其是涉及一种基于微服务框架下的并行计算方法及系统。
背景技术
随着电信行业的发展,电信业务种类繁杂,使业务受理和处理过程变得复杂。
目前,一般针对业务进行能力开发,这就使得每增加一种业务都需要开发依次能力,使得开发压力变大,同时维护成本也变高。
因此,若构建一种与业务无关,仅提供微服务能力的系统,则在新业务建立过程,仅需对应其所需的微服务能力即可,无需二次开发,同时若提供并行计算,还可以提升整体服务效率。
发明内容
针对上述问题,本发明提供了一种基于微服务框架下的并行计算方法及系统,解决微服务调用拆分多个节点后的多节点数据合并处理的问题,保证独立的计算微服务能力。
为实现上述目的,本发明公开了一种基于微服务框架下的并行计算方法,包括步骤:
基于微服务框架开发业务组件和能力组件;
将所述业务组件根据服务能力划分为多个业务组件单元;
所述业务组件单元接收外部业务请求,调用所述能力组件;
所述能力组件对应所述业务组件单元将计算任务映射到单一的线程;
所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
作为本发明的进一步改进,多个所述业务组件单元分别接受外部业务请求,并行调用所述能力组件。
作为本发明的进一步改进,所述能力组件根据不同的所述业务组件单元将计算任务映射到不同的所述线程。
作为本发明的进一步改进,不同的多个所述线程并行独立工作。
作为本发明的进一步改进,所述能力组件为每个所述线程提供一个独立的所述消息阻塞队列。
本发明还提供了一种基于微服务框架下的并行计算系统,包括:组件开发模块、能力调用模块、任务分配模块、计算模块和合并反馈模块;
所述组件开发模块,用于:
基于微服务框架开发业务组件和能力组件;
将所述业务组件根据服务能力划分为多个业务组件单元;
所述能力调用模块,用于:
所述业务组件单元接收外部业务请求,调用所述能力组件;
所述任务分配模块,用于:
所述能力组件对应所述业务组件单元将计算任务映射到对应的线程;
所述计算模块,用于:
所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
所述合并反馈模块,用于:
所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
作为本发明的进一步改进,采用spring cloud的微服务框架开发所述业务组件和能力组件。
作为本发明的进一步改进,所述业务组件单元以微服务组件的形式部署在业务中心,提供标准化的接口对外提供能力,接收外部业务请求。
作为本发明的进一步改进,所述能力组件根据业务组件输入的调用请求个数,从线程池中获取多个线程,并行处理多个所述业务组件单元的计算任务。
作为本发明的进一步改进,当各所述线程的消息阻塞队列中数据均存储完成后,所述能力组件将各所述消息阻塞队列的数据收集合并,反馈给外部业务请求方。
与现有技术相比,本发明的有益效果为:
本发明基于微服务框架,实现了业务组件中各业务组件单元的并行计算,同时各业务组件单元中也通过多个子线程并行调用业务计算组件单元能力,提高了计算效率,进而提高了服务效率。
本发明通过消息阻塞队列接收各子线程的调用计算结果,通过主线程读取消息阻塞队列数据,合并结果后反馈给业务计算单元,保证数据的完整可靠性;若业务组件向能力组件输入的入参列表涉及多个业务组件单元时,仅当各线程对应的消息阻塞队列均接收数据完成后,能力组件才将结果收集合并,再反馈到外部业务请求者,保证数据的完整性。
附图说明
图1为本发明一种实施例公开的基于微服务框架下的并行计算方法流程图;
图2为本发明一种实施例公开的基于微服务框架下的并行计算系统简要示意图;
图3为本发明一种实施例公开的基于微服务框架下的并行计算系统工作控制流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1、3所示,本发明提供的一种基于微服务框架下的并行计算方法,包括:
S1、基于微服务框架开发业务组件和能力组件;
其中,
基于spring cloud的微服务框架开发业务组件,对外提供服务;
基于spring cloud的微服务框架开发能力组件,接收业务计算请求。
S2、将所述业务组件根据服务能力划分为多个业务组件单元,以微服务单元的方式部署在微服务中心;
其中,
多个所述业务组件单元分别接受外部业务请求,并行调用所述能力组件;
S3、所述业务组件单元接收外部业务请求,调用所述能力组件;
S4、所述能力组件对应所述业务组件单元将计算任务映射到单一的线程;
其中,
所述能力组件可根据不同的所述业务组件单元将计算任务映射到不同的所述线程;
不同的多个所述线程并行独立工作。
另外,
当业务组件调用输入列表设计多个业务组件单元时,所述能力组件根据业务组件输入的调用请求个数,从线程池中获取多个线程,并行处理多个所述业务组件单元的计算任务。
S5、所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
其中,
所述能力组件为每个所述线程提供一个独立的所述消息阻塞队列。
S6、所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
其中,
当各所述线程的消息阻塞队列中数据均存储完成后,所述能力组件将各所述消息阻塞队列的数据收集合并,反馈给外部业务请求方。
如图2所示,本发明还提供了一种微服务框架下的并行计算系统,包括:组件开发模块、能力调用模块、任务分配模块、计算模块和合并反馈模块;
所述组件开发模块,用于:
基于微服务框架开发业务组件和能力组件;
将所述业务组件根据服务能力划分为多个业务组件单元;
所述能力调用模块,用于:
所述业务组件单元接收外部业务请求,调用所述能力组件;
所述任务分配模块,用于:
所述能力组件对应所述业务组件单元将计算任务映射到对应的线程;
所述计算模块,用于:
所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
所述合并反馈模块,用于:
所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
本发明中,优选采用spring cloud的微服务框架开发所述业务组件和能力组件。
本发明中,将所述业务组件单元以微服务组件的形式部署在业务中心,提供标准化的接口对外提供能力,接收外部业务请求。
本发明中,所述能力组件根据业务组件输入的调用请求个数,从线程池中获取多个线程,并行处理多个所述业务组件单元的计算任务。
本发明中,当各所述线程的消息阻塞队列中数据均存储完成后,所述能力组件将各所述消息阻塞队列的数据收集合并,反馈给外部业务请求方。
本发明的优点:
(1)基于微服务框架,实现了业务组件中各业务组件单元的并行计算,同时各业务组件单元中也通过多个子线程并行调用业务计算组件单元能力,提高了计算效率,进而提高了服务效率。
(2)通过消息阻塞队列接收各子线程的调用计算结果,通过主线程读取消息阻塞队列数据,合并结果后反馈给业务计算单元,保证数据的完整可靠性;若业务组件向能力组件输入的入参列表涉及多个业务组件单元时,仅当各线程对应的消息阻塞队列均接收数据完成后,能力组件才将结果收集合并,再反馈到外部业务请求者,保证数据的完整性。
(3)通过消息阻塞队列解决了各并行处理的线程的数据合并问题,即每个并行处理的线程配置一个消息阻塞队列,当所有并行线程的消息阻塞队列中数据全部接收完毕后才将结果进行收集合并。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于微服务框架下的并行计算方法,其特征在于,包括:
基于微服务框架开发业务组件和能力组件;
将所述业务组件根据服务能力划分为多个业务组件单元;
所述业务组件单元接收外部业务请求,调用所述能力组件;
所述能力组件对应所述业务组件单元将计算任务映射到单一的线程;
所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
2.根据权利要求1所述的并行计算方法,其特征在于:多个所述业务组件单元分别接受外部业务请求,并行调用所述能力组件。
3.根据权利要求1所述的并行计算方法,其特征在于:所述能力组件根据不同的所述业务组件单元将计算任务映射到不同的所述线程。
4.根据权利要求3所述的并行计算方法,其特征在于:不同的多个所述线程并行独立工作。
5.根据权利要求3所述的并行计算方法,其特征在于:所述能力组件为每个所述线程提供一个独立的所述消息阻塞队列。
6.一种实现如权利要求1~5任一项所述的并行计算方法的系统,其特征在于,包括:组件开发模块、能力调用模块、任务分配模块、计算模块和合并反馈模块;
所述组件开发模块,用于:
基于微服务框架开发业务组件和能力组件;
将所述业务组件根据服务能力划分为多个业务组件单元;
所述能力调用模块,用于:
所述业务组件单元接收外部业务请求,调用所述能力组件;
所述任务分配模块,用于:
所述能力组件对应所述业务组件单元将计算任务映射到对应的线程;
所述计算模块,用于:
所述线程通过多个子线程并行调用业务计算组件单元能力,得到计算结果并存储到对应的消息阻塞队列;
所述合并反馈模块,用于:
所述线程通过主线程读取所述消息阻塞队列,合并结果并反馈所述业务组件单元。
7.根据权利要求6所述的系统,其特征在于:采用spring cloud的微服务框架开发所述业务组件和能力组件。
8.根据权利要求6所述的系统,其特征在于:所述业务组件单元以微服务组件的形式部署在业务中心,提供标准化的接口对外提供能力,接收外部业务请求。
9.根据权利要求6所述的系统,其特征在于:所述能力组件根据业务组件输入的调用请求个数,从线程池中获取多个线程,并行处理多个所述业务组件单元的计算任务。
10.根据权利要求9所述的系统,其特征在于:当各所述线程的消息阻塞队列中数据均存储完成后,所述能力组件将各所述消息阻塞队列的数据收集合并,反馈给外部业务请求方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271797.5A CN114116202A (zh) | 2021-10-29 | 2021-10-29 | 一种基于微服务框架下的并行计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271797.5A CN114116202A (zh) | 2021-10-29 | 2021-10-29 | 一种基于微服务框架下的并行计算方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116202A true CN114116202A (zh) | 2022-03-01 |
Family
ID=80379338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111271797.5A Pending CN114116202A (zh) | 2021-10-29 | 2021-10-29 | 一种基于微服务框架下的并行计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627681A (zh) * | 2023-07-25 | 2023-08-22 | 太平金融科技服务(上海)有限公司 | 业务请求处理方法、装置、计算机设备、介质和程序产品 |
-
2021
- 2021-10-29 CN CN202111271797.5A patent/CN114116202A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627681A (zh) * | 2023-07-25 | 2023-08-22 | 太平金融科技服务(上海)有限公司 | 业务请求处理方法、装置、计算机设备、介质和程序产品 |
CN116627681B (zh) * | 2023-07-25 | 2023-10-17 | 太平金融科技服务(上海)有限公司 | 业务请求处理方法、装置、计算机设备、介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756550B (zh) | 一种区块链共识方法及装置 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
US6158006A (en) | Method for the coordination of parallel accesses of a plurality of processors to resource configurations | |
CN110955535B (zh) | 一种多业务请求进程调用fpga设备的方法及相关装置 | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
US9703638B2 (en) | System and method for supporting asynchronous invocation in a distributed data grid | |
CN107515781B (zh) | 一种基于多处理器的确定性任务调度及负载均衡系统 | |
US20030158883A1 (en) | Message processing | |
CN114116202A (zh) | 一种基于微服务框架下的并行计算方法及系统 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN113760522A (zh) | 一种任务处理方法和装置 | |
CN114844907B (zh) | 一种基于mq异步收发的银行交易高速低连接数实现方法 | |
CN111046102A (zh) | 基于以太坊的高性能区块链服务系统 | |
CN113347430B (zh) | 一种硬件转码加速设备的分布式调度装置及其使用方法 | |
CN109933426B (zh) | 服务调用的处理方法、装置、电子设备及可读存储介质 | |
CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN110245115B (zh) | 一种文件处理方法、引擎及系统 | |
CN110033145B (zh) | 财务共享作业分单方法及装置、设备和存储介质 | |
CN113760524A (zh) | 任务执行方法和装置 | |
CN114691309A (zh) | 一种批量业务处理系统、方法及装置 | |
CN111782364A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN111797074A (zh) | 一种数据库连接方法、装置、电子设备和可读存储介质 | |
CN113971552B (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 |