CN110825512A - 一种通用的分布式系统设计及其c++实现 - Google Patents
一种通用的分布式系统设计及其c++实现 Download PDFInfo
- Publication number
- CN110825512A CN110825512A CN201911086854.5A CN201911086854A CN110825512A CN 110825512 A CN110825512 A CN 110825512A CN 201911086854 A CN201911086854 A CN 201911086854A CN 110825512 A CN110825512 A CN 110825512A
- Authority
- CN
- China
- Prior art keywords
- task
- service process
- processes
- server
- customized
- 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
- 238000013461 design Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 313
- 230000008569 process Effects 0.000 claims abstract description 285
- 230000002159 abnormal effect Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000003993 interaction Effects 0.000 claims description 8
- 238000009472 formulation Methods 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development 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
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/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
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 (10)
1.一种通用性分布式系统,其特征在于,包括:
前端设备,用于构建任务并发送所述任务;
与所述前端设备相连的数据库服务器,用于存储所述任务;
与所述数据库服务器相连的计算服务器集群,所述计算服务器集群包括用于从所述数据库服务器提取任务并分发任务的管控服务器,和,与所述管控服务器相连的、用于执行任务的多台计算服务器;
其中每个计算服务器集成有:多个应用场景共有的多个系统服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程。
2.如权利要求1所述的通用性分布式系统,其特征在于,所述数据库服务器包括:
与所述多个系统服务进程对应的系统数据表;
与所述多个通用服务进程对应的系统数据表;
与所述多个定制服务进程一一对应的多个定制数据表。
3.如权利要求2所述的通用性分布式系统,其特征在于,所述管控服务器用于从所述数据库服务器提取任务并分发任务,包括:
从所述数据库服务器中按任务执行顺序依次提取任务;
拆分所述任务为多个子任务;
按负载均衡策略分发所述多个子任务,至所述计算服务器集群中处于正常状态的计算服务器,以供处于正常状态的计算服务器执行子任务。
4.如权利要求3所述的通用性分布式系统,其特征在于,
所述管控服务器,还用于接收处于正常状态的计算服务器发送的子任务执行状态和进度,并发送所述任务中多个子任务执行状态和进度至前端设备;
所述前端设备,还用于显示所述任务中多个子任务执行状态和进度。
5.如权利要求1所述的通用性分布式系统,其特征在于,
所述前端设备,还用于提供任务交互界面,通过所述任务交互界面接收新任务制定指令、原任务调整指令和/或任务顺序调整指令;
在接收新任务制定指令后,将新任务发送至所述数据库服务器,以供所述数据库服务器存储所述新任务;
在接收原任务调整指令后,发送调整后任务至所述数据库服务器,以供所述数据库服务器利用所述调整后任务覆盖所述原任务;
在接收任务顺序调整指令后,发送新任务执行顺序至所述数据库服务器,以供所述数据库服务器保存所述新任务执行顺序。
6.如权利要求2所述的通用性分布式系统,其特征在于,
每个计算服务器,还用于从多个系统服务进程中选择一个系统服务进程,判断系统服务进程是否正常,若正常则继续选择下一系统服务进程,若不正常则读取系统服务进程的异常信息,并存储异常信息至所述数据库服务器的系统数据表;
每个计算服务器,还用于从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的系统数据表;
每个计算服务器,还用于从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
7.如权利要求1所述的通用性分布式系统,其特征在于,
所述系统服务进程包括:
消息创建进程、消息路由进程、服务调度进程、处理监视进程、内部出错报警进程、消息监视进程、处理错误报警进程处理错误处理进程、进程监视进程、系统错误处理进程;
所述通用服务进程包括:
批量读入数据文件进程、复制当前的数据文件进程、拼接当前读入的数据文件进程、继续等待进程、向文件服务器上传数据文件进程、将数据处理结果发送至文件服务器进程、将处理结果传送到客户端进程。
8.一种通用性分布式方法,其特征在于,包括:
构建多个应用场景共有的多个系统服务进程,多个应用场景共有的多个通用服务进程,以及,适用于多个应用场景的多个定制服务进程;
部署所述多个系统服务进程、所述多个通用服务进程和所述多个定制服务进程至分布式系统的计算服务器。
9.如权利要求8所述的方法,其特征在于,还包括:
构建与所述多个系统服务进程对应的系统数据表,与所述多个通用服务进程对应的系统数据表,以及,与所述多个定制服务进程一一对应的多个定制数据表;
部署所述系统数据表、所述通用数据表和所述多个定制数据表至分布式系统的数据库服务器中,以用于分别存储系统服务进程的数据、通用服务进程的数据和多个定制服务进程的数据。
10.如权利要求9所述的方法,其特征在于,所述分布式系统的计算服务器用于执行下述操作:
从多个系统服务进程中选择一个系统服务进程,判断系统服务进程是否正常,若正常则继续选择下一系统服务进程,若不正常则读取系统服务进程的异常信息,并存储异常信息至所述数据库服务器的系统数据表;
从多个通用服务进程中选择一个通用服务进程,判断通用服务进程是否正常,若正常则继续选择下一通用服务进程,若不正常则读取通用服务进程的异常信息,并存储异常信息至所述数据库服务器的系统数据表;
从多个定制服务进程中选择一个定制服务进程,判断定制服务进程是否正常,若正常则继续选择下一定制服务进程,若不正常则读取定制服务进程的异常信息,并存储异常信息至所述数据库服务器的定制数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086854.5A CN110825512A (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式系统设计及其c++实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086854.5A CN110825512A (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式系统设计及其c++实现 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825512A true CN110825512A (zh) | 2020-02-21 |
Family
ID=69553521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911086854.5A Pending CN110825512A (zh) | 2019-11-08 | 2019-11-08 | 一种通用的分布式系统设计及其c++实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825512A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006589A1 (en) * | 2002-07-08 | 2004-01-08 | 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 |
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 | 北京理工大学 | 移动增强现实浏览器三维资源配置与加载的优化方法 |
US20150319226A1 (en) * | 2014-05-05 | 2015-11-05 | Citrix Systems, Inc. | Task Coordination in Distributed Systems |
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 | 广东粤众互联信息技术有限公司 | 一种高度客制化的分布式平台开发方法 |
-
2019
- 2019-11-08 CN CN201911086854.5A patent/CN110825512A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006589A1 (en) * | 2002-07-08 | 2004-01-08 | 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 |
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 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
US20150319226A1 (en) * | 2014-05-05 | 2015-11-05 | Citrix Systems, Inc. | Task Coordination in Distributed Systems |
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 (7)
Title |
---|
RUMELHART DAVID E: "A general framework for parallel distributed processing", PARALLEL DISTRIBUTED PROCESSING:EXPLORATIONS IN THE MICROSTRUCTURE OF COGNITION, 31 December 1986 (1986-12-31) * |
沈玲;赵学健;孙知信;: "基于云计算业务应用的定制化服务器性能研究", 南京邮电大学学报(自然科学版), no. 06, 31 December 2014 (2014-12-31) * |
王瑞雪: "分布式业务集成部署平台的设计与实现", 中国硕士学位论文全文数据库 * |
邓志东;余士良;程振波;: "通用分布式虚拟现实软件开发平台的研究", 系统仿真学报, no. 12, 23 June 2008 (2008-06-23) * |
陈付龙, 赵诚, 纪书国, 李明东, 汪迅宝: "通用数据库集群服务器系统", 计算机工程与科学, no. 12, 30 December 2005 (2005-12-30) * |
陈斌: "基于云的复杂事件检测服务", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 2 * |
顾昕: "分布式流式计算框架关键技术的研究与实现", 中国优秀硕士学位论文全文数据库 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190266537A1 (en) | Systems and methods for incident queue assignment and prioritization | |
CN110310034B (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN105530272B (zh) | 一种应用数据的同步方法和装置 | |
CN109218341B (zh) | 用于监控服务器和用于服务器的负载均衡方法和装置 | |
EP3451727A1 (en) | Access scheduling method and device for terminal, and computer storage medium | |
KR20170013884A (ko) | 음성 표시 | |
US20130275416A1 (en) | Scoring of resource groups | |
US20220174100A1 (en) | System and method for grouping participant devices in a communication environment | |
CN104866556A (zh) | 数据库的故障处理方法、装置和数据库系统 | |
CN108875035B (zh) | 分布式文件系统的数据存储方法及相关设备 | |
CN106952085B (zh) | 一种数据存储与业务处理的方法及装置 | |
CN110728498A (zh) | 一种信息交互方法和装置 | |
KR20180137442A (ko) | 사용자 대화 활동성 및 대화 상황 정보를 활용한 대화방 정렬 방법 및 그 시스템 | |
CN113010786B (zh) | 信息推送的方法、装置、设备以及存储介质 | |
US10771623B1 (en) | Rapid data access | |
US9501321B1 (en) | Weighted service requests throttling | |
CN110825512A (zh) | 一种通用的分布式系统设计及其c++实现 | |
CN110349076B (zh) | 数据的处理方法及装置 | |
US20160198046A1 (en) | Skill management apparatus, method and program | |
US20140040772A1 (en) | Highlighting graphical user interface components based on usage by other users | |
US9323509B2 (en) | Method and system for automated process distribution | |
US8374593B2 (en) | Method of providing mobile application | |
CN105393221A (zh) | 应用启动端点的自动调整 | |
CN114244961A (zh) | 机器人智能外呼方法、装置、计算机设备及存储介质 | |
CN112925623A (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 |