CN110825512B - 一种通用的分布式***设计及其c++实现 - Google Patents
一种通用的分布式***设计及其c++实现 Download PDFInfo
- Publication number
- CN110825512B CN110825512B CN201911086854.5A CN201911086854A CN110825512B CN 110825512 B CN110825512 B CN 110825512B CN 201911086854 A CN201911086854 A CN 201911086854A CN 110825512 B CN110825512 B CN 110825512B
- Authority
- CN
- China
- Prior art keywords
- service
- server
- database server
- service processes
- task
- 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
- 238000013461 design Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 325
- 230000008569 process Effects 0.000 claims abstract description 302
- 230000002159 abnormal effect Effects 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种通用的分布式***设计及其C++实现,其中该***包括:前端设备,用于构建任务并发送任务;与前端设备相连的数据库服务器,用于存储任务;与数据库服务器相连的计算服务器集群,计算服务器集群包括用于从数据库服务器提取任务并分发任务的管控服务器,和,与管控服务器相连的、用于执行任务的多台计算服务器;其中每个计算服务器集成有:多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程。由于***服务进程、通用服务进程为不同应用场景所共有的,定制服务进程是针对每个应用场景的个性化进程,由此使得本发明提供的分布式***具有通用性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通用的分布式***设计及其C++实现。
背景技术
现在分布式***的应用范围越来越广,越来越多的企业开始使用分布式***。
但是由于不同企业中对于分布式***的应用场景不同,所以目前分布式***多为针对某个应用场景单独开发的。也即针对不同企业的应用场景,单独开发一套分布式***,导致分布式***通用性较差。
发明内容
鉴于此,本发明提供一种通用的分布式***设计及其C++实现,可以适用于不同应用场景,提高分布式***的通用性。
为了实现上述目的,本申请提供了下述技术特征:
一种通用性分布式***,包括:
前端设备,用于构建任务并发送所述任务;
与所述前端设备相连的数据库服务器,用于存储所述任务;
与所述数据库服务器相连的计算服务器集群,所述计算服务器集群包括用于从所述数据库服务器提取任务并分发任务的管控服务器,和,与所述管控服务器相连的、用于执行任务的多台计算服务器;
其中每个计算服务器集成有:多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程。
可选的,所述数据库服务器包括:
与所述多个***服务进程对应的***数据表;
与所述多个通用服务进程对应的***数据表;
与所述多个定制服务进程一一对应的多个定制数据表。
可选的,所述管控服务器用于从所述数据库服务器提取任务并分发任务,包括:
从所述数据库服务器中按任务执行顺序依次提取任务;
拆分所述任务为多个子任务;
按负载均衡策略分发所述多个子任务,至所述计算服务器集群中处于正常状态的计算服务器,以供处于正常状态的计算服务器执行子任务。
可选的,所述管控服务器,还用于接收处于正常状态的计算服务器发送的子任务执行状态和进度,并发送所述任务中多个子任务执行状态和进度至前端设备;
所述前端设备,还用于显示所述任务中多个子任务执行状态和进度。
可选的,所述前端设备,还用于提供任务交互界面,通过所述任务交互界面接收新任务制定指令、原任务调整指令和/或任务顺序调整指令;
在接收新任务制定指令后,将新任务发送至所述数据库服务器,以供所述数据库服务器存储所述新任务;
在接收原任务调整指令后,发送调整后任务至所述数据库服务器,以供所述数据库服务器利用所述调整后任务覆盖所述原任务;
在接收任务顺序调整指令后,发送新任务执行顺序至所述数据库服务器,以供所述数据库服务器保存所述新任务执行顺序。
可选的,每个计算服务器,还用于从多个***服务进程中选择一个***服务进程,判断***服务进程是否正常,若正常则继续选择下一***服务进程,若不正常则读取***服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
每个计算服务器,还用于从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
每个计算服务器,还用于从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
可选的,所述***服务进程包括:
消息创建进程、消息路由进程、服务调度进程、处理监视进程、内部出错报警进程、消息监视进程、处理错误报警进程处理错误处理进程、进程监视进程、***错误处理进程;
所述通用服务进程包括:
批量读入数据文件进程、复制当前的数据文件进程、拼接当前读入的数据文件进程、继续等待进程、向文件服务器上传数据文件进程、将数据处理结果发送至文件服务器进程、将处理结果传送到客户端进程。
一种通用性分布式方法,包括:
构建多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程;
部署所述多个***服务进程、所述多个通用服务进程和所述多个定制服务进程至分布式***的计算服务器。
可选的,还包括:
构建与所述多个***服务进程对应的***数据表,与所述多个通用服务进程对应的***数据表,以及,与所述多个定制服务进程一一对应的多个定制数据表;
部署所述***数据表、所述通用数据表和所述多个定制数据表至分布式***的数据库服务器中,以用于分别存储***服务进程的数据、通用服务进程的数据和多个定制服务进程的数据。
可选的,所述分布式***的计算服务器用于执行下述操作:
从多个***服务进程中选择一个***服务进程,判断***服务进程是否正常,若正常则继续选择下一***服务进程,若不正常则读取***服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
通过以上技术手段,可以实现以下有益效果:
本发明为了使得通用性分布式***适用于不同的应用场景,预先构建多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程,并部署于分布式***的每个计算服务器中。
由于***服务进程、通用服务进程为不同应用场景所共有的,所以***服务进程和通用服务进程可以适用于不同的应用场景。针对不同的应用场景设置不同的定制服务进程,从而可以实现每个应用场景的个性化进程,由此使得本发明提供的分布式***具有通用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种通用性分布式***的结构示意图;
图2为本发明实施例公开的一种通用性分布式方法实施例一的流程图;
图3为本发明实施例公开的一种通用性分布式方法实施例二的流程图;
图4为本发明实施例公开的一种通用性分布式方法实施例三的流程图;
图5为本发明实施例公开的一种通用性分布式方法实施例四的流程图;
图6为本发明实施例公开的一种通用性分布式方法实施例五的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明提供了一种通用性分布式***,包括:
前端设备100,用于构建任务并发送所述任务。前端设备100的数量可以由一个或多个,前端设备的具体数量可以根据实际情况而定,对此不做限定。
与所述前端设备100相连的数据库服务器200,用于存储所述任务。
与所述数据库服务器200相连的计算服务器集群300,所述计算服务器集群包括用于从所述数据库服务器提取任务并分发任务的管控服务器,和,与所述管控服务器相连的、用于执行任务的多台计算服务器。
其中每个计算服务器集成有:多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程。
为了使得通用性分布式***适用于不同的应用场景,预先构建多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程,并部署于分布式***的每个计算服务器中。
通过以上技术手段,可以实现以下有益效果:
由于***服务进程、通用服务进程为不同应用场景所共有的,所以***服务进程和通用服务进程可以适用于不同的应用场景。针对不同的应用场景设置不同的定制服务进程,从而可以实现多个应用场景的个性化进程,由此使得本发明提供的分布式***具有通用性。
可选的,为了适应于***服务进程、通用服务进程和定制服务进程,数据库服务器包括:
与所述多个***服务进程对应的***数据表,用于存储多个***服务进程的数据。
与所述多个通用服务进程对应的***数据表,用于存储多个通用服务进程的数据。
与所述多个定制服务进程一一对应的多个定制数据表,用于存储多个定制数据表的数据。
由此可以使得数据库服务器中的数据与进程对应,后续可以简单方便的从服务进程对应的数据表中提取数据。
可选的,为了便于用户方便的使用通用性的分布式***,所述前端设备还用于提供任务交互界面,通过所述任务交互界面接收新任务制定指令、原任务调整指令和/或任务顺序调整指令。
在接收新任务制定指令后,将新任务发送至所述数据库服务器,以供所述数据库服务器存储所述新任务。
在接收原任务调整指令后,发送调整后任务至所述数据库服务器,以供所述数据库服务器利用所述调整后任务覆盖所述原任务。
在接收任务顺序调整指令后,发送新任务执行顺序至所述数据库服务器,以供所述数据库服务器保存所述新任务执行顺序。
可选的,本申请的软件可以采用C++方式来实现,使得整体软件流程采用一种语言来实现,不同软件模块之间更加通用,交互起来更加方便。
下面介绍与分布式***对应的通用性分布式方法的实施例一,参见图2,可以包括以下步骤:
步骤S201:前端设备构建任务并发送所述任务至数据库服务器。
前端设备可以根据应用场景构建一个或多个任务并设置任务优先级,发送任务和优先级至数据库服务器。
步骤S202:数据库服务器存储任务并对按任务优先级设置任务执行顺序。
数据库服务器接收一个或多个任务,并按任务优先级对任务排序,获得多个任务的执行顺序,多个任务的执行顺序作为任务执行顺序。可以采用一个数据表来存储任务执行顺序,具体实现可以根据实际情况来定。
步骤S203:管控服务器按照任务执行顺序从数据库服务器中提取任务。
管控服务器按照任务执行顺序选择一个或多个任务来处理,为了便于描述以一个任务为例进行后续说明。
步骤S204:管控服务器拆分所述任务为多个子任务。
若一个任务大于预设数据量,则说明该任务较大,可以对任务进行拆分,按照一定的规则对任务进行拆分,获得多个子任务。
当然,若一个任务不大于预设数据量,则说明该任务较小,可以不对任务进行拆分。针对多个较小任务,还可以组合成一个不大于预设数据量的任务。
步骤S205:按负载均衡策略分发所述多个子任务,至所述计算服务器集群中处于正常状态的计算服务器,以供处于正常状态的计算服务器执行子任务。
通用性分布式***中具有多个计算服务器,为了实现多个计算服务器的负载均衡,按照一定的负责均衡策略来分发多个子任务至计算服务器集群中计算服务器。
可以理解的是,由于计算服务器集群中计算服务器在使用过程中可能出现异常,因此,可以根据计算服务器的状态,分发多个子任务至计算服务器集群中处于正常状态的计算服务器,以便子任务可以快捷处理。
步骤S206:处于正常状态的计算服务器执行子任务,并根据执行过程生成子任务执行状态和进度。
处于正常状态的计算服务器执行子任务,根据***服务进程、通用服务进程和定制服务进程来执行子任务,并可以在执行过程中生成子任务执行状态和进度。
若某一计算服务器运行过程中出现异常,可以通知管控服务器,以便管控服务器得知计算服务器的状态。
步骤S207:处于正常状态的计算服务器发送子任务执行状态和进度至管控服务器。
为了便于管控服务器得知每个计算服务器的负载量,也为了便于用于用户得知任务的执行状态和进度,计算服务器发送子任务执行状态和进度至管控服务器。
步骤S208:管控服务器接收处于正常状态的计算服务器发送的子任务执行状态和进度,并发送所述任务中多个子任务执行状态和进度至前端设备。
管控服务器接收处于正常状态的计算服务器发送的子任务执行状态和进度,以便基于执行状态和进度来确定计算服务器的负载情况,以用于分发任务时执行负载均衡策略时使用。
管控服务器还可以发送任务中多个子任务执行状态和进度至前端设备,以供用户查看任务的执行状态和进度。
步骤S209:所述前端设备显示所述任务中多个子任务执行状态和进度。
通过上述技术特征可知,本实施例具有以下技术效果:
由于***服务进程、通用服务进程为不同应用场景所共有的,所以***服务进程和通用服务进程可以适用于不同的应用场景。针对不同的应用场景设置不同的定制服务进程,从而可以实现多个应用场景的个性化进程,由此使得本发明提供的分布式***具有通用性。
并且,本发明可以在分布式***中实现负载均衡、便于用户了解任务执行状态和进度,用户可以通过任务交互界面来简单方便的新建、调整和更改任务。
本申请提供一种通用性分布式方法实施例二,以介绍通用性分布式***的预先操作流程。参见图3,包括以下步骤:
步骤S301:构建多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程。
获取多个应用场景的分布式***共有的***服务进程、多个应用场景共有的多个通用服务进程。
其中,所述***服务进程包括:消息创建进程、消息路由进程、服务调度进程、处理监视进程、内部出错报警进程、消息监视进程、处理错误报警进程处理错误处理进程、进程监视进程、***错误处理进程。
所述通用服务进程包括:批量读入数据文件进程、复制当前的数据文件进程、拼接当前读入的数据文件进程、继续等待进程、向文件服务器上传数据文件进程、将数据处理结果发送至文件服务器进程、将处理结果传送到客户端进程。
当然,上述***服务进程和通用服务进程仅为列举的一些具体实例,在实际应用中还可以包括其它服务器进程。
技术人员仅针对不同的应用场景的开发定制服务进程即可,关于定制服务进程的具体实现与实际应用场景有关,在此不再赘述。
步骤S302:部署所述多个***服务进程、所述多个通用服务进程和所述多个定制服务进程至分布式***的计算服务器。
部署于所述多个***服务进程、所述多个通用服务进程和所述多个定制服务进程至分布式***的计算服务器,以便分布式***中多个计算服务器均可以执行不同应用场景的任务。
步骤S303:构建与所述多个***服务进程对应的***数据表,与所述多个通用服务进程对应的***数据表,以及,与所述多个定制服务进程一一对应的多个定制数据表。
为了便于数据分类存储,构建与所述多个***服务进程对应的***数据表,与所述多个通用服务进程对应的***数据表,以及,与所述多个定制服务进程一一对应的多个定制数据表。
由于***服务进程具有共性,所以多个***服务进程可以采用一个***数据表。由于通用服务进程具有共性,所以多个通用服务进程采用一个***数据表。
由于多个定制服务进程为适用于不同应用场景的,所以分别单独的设置每个定制服务进程的定制数据表,以用于分别存储每个应用场景的数据。
步骤S304:部署所述***数据表、所述通用数据表和所述多个定制数据表至分布式***的数据库服务器中,以用于分别存储***服务进程的数据、通用服务进程的数据和多个定制服务进程的数据。
为了便于***服务进程、通用服务进程和定制服务进程可以正常工作,计算服务器可以对***服务进程、通用服务进程和定制服务进程执行监测过程。
本申请提供一种通用性分布式方法实施例三,以介绍通用性分布式***的中***服务进程的监测过程。参见图4,包括以下步骤:
步骤S401:从多个***服务进程中选择一个***服务进程。
步骤S402:判断***服务进程是否正常。若是则进入步骤S405,若否则进入步骤S403。
若***服务进程正常则继续选择下一***服务进程,重复执行监测过程。
步骤S403:若不正常则读取***服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表,进入步骤S404。
步骤S404:是否终止***服务进程;若是则中止***服务进程进入步骤S405;若否则进入步骤S405。
步骤S405:判断***服务进程是否循环结束;若是则结束本次监测,若否则进入步骤S401。
本申请提供一种通用性分布式方法实施例四,以介绍通用性分布式通用的中通用服务进程的监测过程。参见图5,包括以下步骤:
步骤S501:从多个通用服务进程中选择一个通用服务进程。
步骤S502:判断通用服务进程是否正常。若是则进入步骤S505,若否则进入步骤S503。
若通用服务进程正常则继续选择下一通用服务进程,重复执行监测过程。
步骤S503:若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的通用数据表,进入步骤S504。
步骤S504:是否终止通用服务进程;若是则中止通用服务进程进入步骤S505;若否则进入步骤S505。
步骤S505:判断通用服务进程是否循环结束;若是则结束本次监测,若否则进入步骤S501。
本申请提供一种定制性分布式方法实施例五,以介绍定制性分布式定制的中定制服务进程的监测过程。参见图6,包括以下步骤:
步骤S601:从多个定制服务进程中选择一个定制服务进程。
步骤S602:判断定制服务进程是否正常。若是则进入步骤S605,若否则进入步骤S603。
若定制服务进程正常则继续选择下一定制服务进程,重复执行监测过程。
步骤S603:若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表,进入步骤S604。
步骤S604:是否终止定制服务进程;若是则中止定制服务进程进入步骤S605;若否则进入步骤S605。
步骤S605:判断定制服务进程是否循环结束;若是则结束本次监测,若否则进入步骤S601。
通过图4、图5和图6所示的实施例,每个计算服务器可以***服务进程、通用服务进程和定制服务进程进行监测,以便在通用性分布式***中及时监测到出现异常的服务进程,并告知技术人员进行调整,进而提高计算服务器可靠性。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种通用性分布式***,其特征在于,包括:
前端设备,用于构建任务并发送所述任务;
与所述前端设备相连的数据库服务器,用于存储所述任务;
与所述数据库服务器相连的计算服务器集群,所述计算服务器集群包括用于从所述数据库服务器提取任务并分发任务的管控服务器,和,与所述管控服务器相连的、用于执行任务的多台计算服务器;
其中每个计算服务器集成有:多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程,计算服务器根据***服务进程、通用服务进程和定制服务进程执行子任务;所述***服务进程包括:消息创建进程、消息路由进程、服务调度进程、处理监视进程、内部出错报警进程、消息监视进程、处理错误报警进程、处理错误处理进程、进程监视进程、***错误处理进程;所述通用服务进程包括:批量读入数据文件进程、复制当前的数据文件进程、拼接当前读入的数据文件进程、继续等待进程、向文件服务器上传数据文件进程、将数据处理结果发送至文件服务器进程、将处理结果传送到客户端进程;
所述数据库服务器包括:
与所述多个***服务进程对应的***数据表;
与所述多个通用服务进程对应的通用数据表;
与所述多个定制服务进程一一对应的多个定制数据表。
2.如权利要求1所述的通用性分布式***,其特征在于,所述管控服务器用于从所述数据库服务器提取任务并分发任务,包括:
从所述数据库服务器中按任务执行顺序依次提取任务;
拆分所述任务为多个子任务;
按负载均衡策略分发所述多个子任务,至所述计算服务器集群中处于正常状态的计算服务器,以供处于正常状态的计算服务器执行子任务。
3.如权利要求2所述的通用性分布式***,其特征在于,
所述管控服务器,还用于接收处于正常状态的计算服务器发送的子任务执行状态和进度,并发送所述任务中多个子任务执行状态和进度至前端设备;
所述前端设备,还用于显示所述任务中多个子任务执行状态和进度。
4.如权利要求1所述的通用性分布式***,其特征在于,
所述前端设备,还用于提供任务交互界面,通过所述任务交互界面接收新任务制定指令、原任务调整指令和/或任务顺序调整指令;
在接收新任务制定指令后,将新任务发送至所述数据库服务器,以供所述数据库服务器存储所述新任务;
在接收原任务调整指令后,发送调整后任务至所述数据库服务器,以供所述数据库服务器利用所述调整后任务覆盖所述原任务;
在接收任务顺序调整指令后,发送新任务执行顺序至所述数据库服务器,以供所述数据库服务器保存所述新任务执行顺序。
5.如权利要求1所述的通用性分布式***,其特征在于,
每个计算服务器,还用于从多个***服务进程中选择一个***服务进程,判断***服务进程是否正常,若正常则继续选择下一***服务进程,若不正常则读取***服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
每个计算服务器,还用于从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的通用数据表;
每个计算服务器,还用于从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
6.一种通用性分布式方法,其特征在于,包括:
构建多个应用场景共有的多个***服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程;
部署所述多个***服务进程、所述多个通用服务进程和所述多个定制服务进程至分布式***的计算服务器,计算服务器根据***服务进程、通用服务进程和定制服务进程执行子任务;
所述***服务进程包括:消息创建进程、消息路由进程、服务调度进程、处理监视进程、内部出错报警进程、消息监视进程、处理错误报警进程、处理错误处理进程、进程监视进程、***错误处理进程;所述通用服务进程包括:批量读入数据文件进程、复制当前的数据文件进程、拼接当前读入的数据文件进程、继续等待进程、向文件服务器上传数据文件进程、将数据处理结果发送至文件服务器进程、将处理结果传送到客户端进程;
构建与所述多个***服务进程对应的***数据表,与所述多个通用服务进程对应的通用数据表,以及,与所述多个定制服务进程一一对应的多个定制数据表;
部署所述***数据表、所述通用数据表和所述多个定制数据表至分布式***的数据库服务器中,以用于分别存储***服务进程的数据、通用服务进程的数据和多个定制服务进程的数据。
7.如权利要求6所述的方法,其特征在于,所述分布式***的计算服务器用于执行下述操作:
从多个***服务进程中选择一个***服务进程,判断***服务进程是否正常,若正常则继续选择下一***服务进程,若不正常则读取***服务进程的异常信息,并存储异常信息至所述数据库服务器的***数据表;
从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的通用数据表;
从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086854.5A CN110825512B (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式***设计及其c++实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086854.5A CN110825512B (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式***设计及其c++实现 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825512A CN110825512A (zh) | 2020-02-21 |
CN110825512B true CN110825512B (zh) | 2024-05-24 |
Family
ID=69553521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911086854.5A Active CN110825512B (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式***设计及其c++实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825512B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075546A (zh) * | 2011-02-18 | 2011-05-25 | 北京积木恒硕科技有限公司 | 一种基于云计算的在线操作*** |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
JP2012038275A (ja) * | 2010-08-12 | 2012-02-23 | Mizuho Information & Research Institute Inc | 取引計算シミュレーションシステム、方法及びプログラム |
CN102662754A (zh) * | 2012-04-20 | 2012-09-12 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
CN104102545A (zh) * | 2014-07-04 | 2014-10-15 | 北京理工大学 | 移动增强现实浏览器三维资源配置与加载的优化方法 |
CN105357266A (zh) * | 2015-09-30 | 2016-02-24 | 山东乾云启创信息科技股份有限公司 | 适合多种场景的socket通信与进程管理通用平台及方法 |
CN106451538A (zh) * | 2016-10-12 | 2017-02-22 | 许继集团有限公司 | 一种适用于多场景的标准功率模块通用控制方法及*** |
CN107526544A (zh) * | 2017-08-16 | 2017-12-29 | 国家电网公司 | 一种分布式存储Ceph集群硬件选型设计方法 |
CN108459951A (zh) * | 2017-02-21 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 测试方法和装置 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储***和分布式任务存储/读取方法 |
CN109451062A (zh) * | 2018-12-21 | 2019-03-08 | 广东粤众互联信息技术有限公司 | 一种高度客制化的分布式平台开发方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475107B2 (en) * | 2002-07-08 | 2009-01-06 | Electronic Evidence Discovery, Inc. | System and method for managing distributed computer processes |
US20060075391A1 (en) * | 2004-10-05 | 2006-04-06 | Esmonde Laurence G Jr | Distributed scenario generation |
US20070156835A1 (en) * | 2005-12-30 | 2007-07-05 | Sebastian Pulkowski | Exchanging data between enterprise computing systems and service provider systems |
US20090288104A1 (en) * | 2008-05-19 | 2009-11-19 | Rohati Systems, Inc. | Extensibility framework of a network element |
US10205760B2 (en) * | 2014-05-05 | 2019-02-12 | Citrix Systems, Inc. | Task coordination in distributed systems |
-
2019
- 2019-11-08 CN CN201911086854.5A patent/CN110825512B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012038275A (ja) * | 2010-08-12 | 2012-02-23 | Mizuho Information & Research Institute Inc | 取引計算シミュレーションシステム、方法及びプログラム |
CN102075546A (zh) * | 2011-02-18 | 2011-05-25 | 北京积木恒硕科技有限公司 | 一种基于云计算的在线操作*** |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
CN102662754A (zh) * | 2012-04-20 | 2012-09-12 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
CN104102545A (zh) * | 2014-07-04 | 2014-10-15 | 北京理工大学 | 移动增强现实浏览器三维资源配置与加载的优化方法 |
CN105357266A (zh) * | 2015-09-30 | 2016-02-24 | 山东乾云启创信息科技股份有限公司 | 适合多种场景的socket通信与进程管理通用平台及方法 |
CN106451538A (zh) * | 2016-10-12 | 2017-02-22 | 许继集团有限公司 | 一种适用于多场景的标准功率模块通用控制方法及*** |
CN108459951A (zh) * | 2017-02-21 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 测试方法和装置 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储***和分布式任务存储/读取方法 |
CN107526544A (zh) * | 2017-08-16 | 2017-12-29 | 国家电网公司 | 一种分布式存储Ceph集群硬件选型设计方法 |
CN109451062A (zh) * | 2018-12-21 | 2019-03-08 | 广东粤众互联信息技术有限公司 | 一种高度客制化的分布式平台开发方法 |
Non-Patent Citations (8)
Title |
---|
A general framework for parallel distributed processing;Rumelhart David E;Parallel distributed processing:Explorations in the microstructure of cognition;19861231;全文 * |
分布式业务集成部署平台的设计与实现;王瑞雪;中国硕士学位论文全文数据库;全文 * |
分布式流式计算框架关键技术的研究与实现;顾昕;中国优秀硕士学位论文全文数据库;全文 * |
基于云的复杂事件检测服务;陈斌;中国优秀硕士学位论文全文数据库 信息科技辑;摘要,第2、4章 * |
基于云计算业务应用的定制化服务器性能研究;沈玲;赵学健;孙知信;;南京邮电大学学报(自然科学版);20141231(06);全文 * |
通用分布式虚拟现实软件开发平台的研究;邓志东;余士良;程振波;;***仿真学报;20080623(12);全文 * |
通用数据库集群服务器***;陈付龙, 赵诚, 纪书国, 李明东, 汪迅宝;计算机工程与科学;20051230(12);全文 * |
陈斌.基于云的复杂事件检测服务.中国优秀硕士学位论文全文数据库 信息科技辑.2016,摘要,第2、4章. * |
Also Published As
Publication number | Publication date |
---|---|
CN110825512A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111600930B (zh) | 微服务请求的流量管理方法、装置、服务器及存储介质 | |
US20190266537A1 (en) | Systems and methods for incident queue assignment and prioritization | |
US10754869B2 (en) | Managing data format of data received from devices in an internet of things network | |
CN110912972B (zh) | 一种业务处理方法、***、电子设备及可读存储介质 | |
CN104750690A (zh) | 一种查询处理方法、装置及*** | |
CN110650209A (zh) | 实现负载均衡的方法和装置 | |
CN111064776B (zh) | 区块链中区块的生成方法、记账节点及存储介质 | |
CN105100244A (zh) | 头像设置方法及装置 | |
CN104468764A (zh) | 一种策略调度方法、装置及*** | |
CN110825512B (zh) | 一种通用的分布式***设计及其c++实现 | |
EP2942711B1 (en) | Dynamic generation of proxy connections | |
CN110349076B (zh) | 数据的处理方法及装置 | |
US9501321B1 (en) | Weighted service requests throttling | |
CN110609707B (zh) | 在线数据处理***生成方法、装置及设备 | |
US20160198046A1 (en) | Skill management apparatus, method and program | |
EP2908277A1 (en) | Device, method and non-transitory computer readable storage medium for performing instant message communication | |
CN103428273B (zh) | 在异步式交互中进行响应询问的方法与装置 | |
CN116016209A (zh) | 一种网络自动化方法及装置 | |
US8374593B2 (en) | Method of providing mobile application | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN111815339B (zh) | 一种营销信息推送方法及设备 | |
CN109739453B (zh) | 一种拼接墙分辨率自动配置方法及相关设备 | |
US20080059501A1 (en) | Method and system for automated process distribution | |
CN106294721A (zh) | 一种集群数据统计及导出方法及装置 | |
CN110362575A (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 |