一种基于Docker容器化管理的电网地理信息系统及管理方法
技术领域
本发明涉及电网地理信息系统领域,并且更具体地,涉及一种基于Docker容器化管理的电网地理信息系统及管理方法。
背景技术
电网地理信息系统(Geographic Information System,GIS)是基于空间信息服务将电力企业的电力设备、变电站、输配电网络、电力用户与电力负荷和生产及管理等核心业务连接形成电力信息化的综合信息系统。电网GIS系统提供的电力设备设施信息、电网运行状态信息、电力技术信息、生产管理信息、电力市场信息与GIS基础地理空间数据集中于统一系统中,可通过GIS查询有关数据、图片、图象、地图、技术资料、管理知识等。
Docker是一个基于Linux系统LXC技术的高级容器引擎,Docker提供了一种在安全、可重复的环境中自动部署软件的方式。Docker容器直接运行在宿主服务器平台的系统内核之上,直接结合Linux文件系统,将开发的应用程序部署到容器中。同时,Docker容器可以在不超过1秒的时间内启动,而且拥有与宿主服务器相近的性能,同一台宿主服务器上面可以同时运行成百上千个Docker容器,从而能够让用户充分的利用系统资源。Docker容器运行时,如升级某个应用程序到新的版本,一个新的文件系统层会被创建并叠加到原有的文件层之上,不替换整个原先的镜像,确保容器的隔离性。Docker容器化技术能进一步简化应用程序软件的依赖、部署和管理问题。
目前电网GIS系统主要采用物理服务器部署架构,包含应用服务器、GIS平台服务器、GIS数据库服务器、业务数据库服务器等多个组件,每个组件都要采用集群模式,其安装、配置到全生命周期运维管理,都需要根据系统实际运行情况进行操作,整个过程难于管理。尤其是,随着电网GIS系统的应用范围和数据量的快速增长,每日访问高峰时段和低谷时段,系统工作负载变化较大,不可能完全按照高峰时段的负载量来配置物理服务器资源,迫切需要一种简单、高效、低成本的模式来优化电网GIS系统的架构。
发明内容
本发明提供了一种基于Docker容器化管理的电网地理信息系统及管理方法,以解决如何以简单、高效、低成本的模式来优化电网GIS系统的架构的问题。
为了解决上述问题,本发明提供了一种基于Docker容器化管理的电网地理信息系统,所述系统包括:
Docker主管理服务器,分别通过网络与Docker宿主服务器和Docker镜像库服务器相连接,用于对Docker宿主服务器和Docker镜像库服务器进行调度监控管理;
Docker宿主服务器,用于对Docker容器模块中各类Docker容器的运行提供支撑;
Docker镜像库服务器,用于对电网地理信息系统中的至少一个Docker镜像进行存储;
Docker容器模块,用于提供所述Docker镜像库服务器中每个Docker镜像对应的Docker容器。
优选地,其中所述Docker主管理服务器,用于对Docker宿主服务器Docker镜像库服务器进行调度监控管理,包括:
对Docker宿主服务器的启动和停止、Docker宿主服务器运行健康状态监控、Docker镜像库服务器和每个Docker镜像对应的Docker容器进行管理。
优选地,其中所述对每个Docker镜像对应的Docker容器进行管理,包括:对每个Docker镜像对应的Docker容器的创建、启动、停止和删除。
优选地,其中所述Docker镜像包括以下内容中的一个或多个:
负载均衡服务Docker镜像、电网地理信息系统服务Docker镜像、地理空间数据库服务Docker镜像、文件服务Docker镜像和电网业务数据库服务Docker镜像。
优选地,其中所述Docker容器模块包括以下内容中的一个或多个:
负载均衡服务Docker容器,创建至少一个用于实现负载均衡服务的实例;
电网地理信息系统服务Docker容器,创建至少一个用于电网地理信息系统服务的实例;
地理空间数据库服务Docker容器,创建至少一个用于地理空间数据库服务的实例;
文件服务Docker容器,创建至少一个用于电网地理信息系统中文件服务的实例;
电网业务数据库服务Docker容器,创建至少一个用于电网业务数据库服务的实例。
根据本发明的另一个方面,提供了一种基于Docker对电网地理信息系统进行容器化管理的方法,所述方法包括:
利用Docker主管理服务器对Docker宿主服务器Docker镜像库服务器进行调度监控管理;
利用Docker宿主服务器对Docker容器模块中各类Docker容器的运行提供支撑;
利用Docker镜像库服务器对电网地理信息系统中的至少一个Docker镜像进行存储;
利用Docker容器模块提供所述Docker镜像库服务器中每个Docker镜像对应的Docker容器。
优选地,其中所述利用Docker主管理服务器对Docker宿主服务器和Docker镜像库服务器进行调度监控管理,包括:
利用Docker主管理服务器对Docker宿主服务器的启动和停止、Docker宿主服务器运行健康状态监控、Docker镜像库服务器和每个Docker镜像对应的Docker容器进行管理。
优选地,其中所述对每个Docker镜像对应的Docker容器进行管理,包括:对每个Docker镜像对应的Docker容器的创建、启动、停止和删除。
优选地,其中所述Docker镜像包括以下内容中的一个或多个:
负载均衡服务Docker镜像、电网地理信息系统服务Docker镜像、地理空间数据库服务Docker镜像、文件服务Docker镜像和电网业务数据库服务Docker镜像。
优选地,其中所述Docker容器模块包括以下内容中的一个或多个:
负载均衡服务Docker容器,创建至少一个用于实现负载均衡服务的实例;
电网地理信息系统服务Docker容器,创建至少一个用于电网地理信息系统服务的实例;
地理空间数据库服务Docker容器,创建至少一个用于地理空间数据库服务的实例;
文件服务Docker容器,创建至少一个用于电网地理信息系统中文件服务的实例;
电网业务数据库服务Docker容器,创建至少一个用于电网业务数据库服务的实例。
本发明提供的基于Docker容器化管理的电网地理信息系统及管理方法能够为电力调度管理、电网运行管理、配电网管理、电力营销管理等各种电网业务应用系统提供可高效快速部署,并根据访问负载可秒级伸缩的对电网GIS服务提供支撑。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的基于Docker容器化管理的电网地理信息系统100的示意图;
图2为根据本发明实施方式的基于Docker容器化管理的电网地理信息系统的结构示意图;以及
图3为根据本发明实施方式的基于Docker对电网地理信息系统进行容器化管理的方法300的流程图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的基于Docker容器化管理的电网地理信息系统100的示意图。如图1所示,本发明实施方式的基于Docker容器化管理的电网地理信息系统系统能够为电力调度管理、电网运行管理、配电网管理、电力营销管理等各种电网业务应用系统提供可高效快速部署,并根据访问负载可秒级伸缩的对电网GIS服务提供支撑。本发明实施方式的基于Docker容器化管理的电网地理信息系统系统100包括:Docker主管理服务器101、Docker宿主服务器102、Docker镜像库服务器103和Docker容器模块104。优选地,所述Docker主管理服务器101,分别通过网络与Docker宿主服务器102和Docker镜像库服务器103相连接,用于对Docker宿主服务器和Docker镜像库服务器进行调度监控管理。
优选地,其中所述Docker主管理服务器101,对Docker宿主服务器Docker镜像库服务器进行调度监控管理,包括:
对Docker宿主服务器的启动和停止、Docker宿主服务器运行健康状态监控、Docker镜像库服务器和每个Docker镜像对应的Docker容器进行管理。
优选地,其中所述对每个Docker镜像对应的Docker容器进行管理,包括:对每个Docker镜像对应的Docker容器的创建、启动、停止和删除。
优选地,在所述Docker宿主服务器102,对Docker容器模块中各类Docker容器的运行提供支撑。
优选地,在所述Docker镜像库服务器103,对电网地理信息系统中的至少一个Docker镜像进行存储。优选地,其中所述Docker镜像包括以下内容中的一个或多个:
负载均衡服务Docker镜像、电网地理信息系统服务Docker镜像、地理空间数据库服务Docker镜像、文件服务Docker镜像和电网业务数据库服务Docker镜像。
优选地,在所述Docker容器模块104,提供所述Docker镜像库服务器中每个Docker镜像对应的Docker容器。
优选地,其中所述Docker容器模块包括以下内容中的一个或多个:
负载均衡服务Docker容器1041,创建至少一个用于实现负载均衡服务的实例;
电网地理信息系统服务Docker容器1042,创建至少一个用于电网地理信息系统服务的实例;
地理空间数据库服务Docker容器1043,创建至少一个用于地理空间数据库服务的实例;
文件服务Docker容器1044,创建至少一个用于电网地理信息系统中文件服务的实例;
电网业务数据库服务Docker容器1045,创建至少一个用于电网业务数据库服务的实例。
以下具体举例说明本发明的实施方式
图2为根据本发明实施方式的基于Docker容器化管理的电网地理信息系统的结构示意图。如图2所示,在本发明的实施方式中,基于Docker容器化管理的电网地理信息系统,包括Docker主管理服务器、Docker宿主服务器、电网GIS Docker镜像库服务器以及在Docker宿主服务器上运行的负载均衡服务Docker容器、电网GIS服务Docker容器、地理空间数据库服务Docker容器、文件服务Docker容器和电网业务数据库服务Docker容器。Docker主管理服务器通过网络与Docker宿主服务器和电网GIS Docker镜像库服务器相连接。
在本发明的实施方式中,Docker主管理服务器提供对Docker宿主服务器、电网GISDocker镜像库服务器的调度监控管理,包括对Docker宿主服务器的启动和停止、Docker宿主服务器运行健康状态监控、Docker容器创建、Docker容器启动、Docker容器停止、Docker容器删除、Docker镜像库管理。
Docker宿主服务器提供对各类Docker容器的运行支撑,Docker宿主服务器受Docker主管理服务器管理控制。
Docker镜像库服务器提供对各类电网GIS服务容器镜像的集中存储,包括负载均衡服务Docker镜像、电网GIS服务Docker镜像、地理空间数据库服务Docker镜像、文件服务Docker镜像、电网业务数据库服务Docker镜像。
负载均衡服务Docker容器提供对负载均衡LB(Load Balance)服务实例,若干个负载均衡服务实例组成电网GIS负载均衡服务集群。电网GIS服务Docker容器提供电网GIS服务实例,若干个电网GIS服务实例组成电网GIS服务集群。地理空间数据库Docker容器提供地理空间数据库服务实例,若干个地理空间数据库服务组成地理空间数据库服务集群。文件服务Docker容器提供文件服务实例,若干个文件服务组成文件服务集群。电网业务数据库服务Docker容器提供电网业务数据库服务实例,若干个电网业务数据库服务组成电网业务数据库服务集群。
图3为根据本发明实施方式的基于Docker对电网地理信息系统进行容器化管理的方法300的流程图。如图3所示,本发明提供的基于Docker对电网地理信息系统进行容器化管理的方法300从步骤301处开始,在步骤301利用Docker主管理服务器对Docker宿主服务器Docker镜像库服务器进行调度监控管理。优选地,其中所述利用Docker主管理服务器对Docker宿主服务器和Docker镜像库服务器进行调度监控管理301,包括:
利用Docker主管理服务器对Docker宿主服务器的启动和停止、Docker宿主服务器运行健康状态监控、Docker镜像库服务器和每个Docker镜像对应的Docker容器进行管理。
优选地,其中所述对每个Docker镜像对应的Docker容器进行管理,包括:对每个Docker镜像对应的Docker容器的创建、启动、停止和删除。
优选地,在步骤302利用Docker宿主服务器对Docker容器模块中各类Docker容器的运行提供支撑。
优选地,在步骤303利用Docker镜像库服务器对电网地理信息系统中的至少一个Docker镜像进行存储。优选地,其中所述Docker镜像包括以下内容中的一个或多个:
负载均衡服务Docker镜像、电网地理信息系统服务Docker镜像、地理空间数据库服务Docker镜像、文件服务Docker镜像和电网业务数据库服务Docker镜像。
优选地,在步骤304利用Docker容器模块提供所述Docker镜像库服务器中每个Docker镜像对应的Docker容器。
优选地,其中所述Docker容器模块包括以下内容中的一个或多个:
负载均衡服务Docker容器,创建至少一个用于实现负载均衡服务的实例;
电网地理信息系统服务Docker容器,创建至少一个用于电网地理信息系统服务的实例;
地理空间数据库服务Docker容器,创建至少一个用于地理空间数据库服务的实例;
文件服务Docker容器,创建至少一个用于电网地理信息系统中文件服务的实例;
电网业务数据库服务Docker容器,创建至少一个用于电网业务数据库服务的实例。在本发明的实施方式中,基于Docker对电网地理信息系统进行容器化管理过程主要包括:
第一步,将电网地理信息系统的各组件构建为Dockerfile,其中组件包括:电网GIS服务组件、地理空间数据库服务组件、文件服务组件、电网业务数据库服务组件和负载均衡服务组件;
第二步,基于电网地理信息系统的各组件的Dockerfile创建Docker镜像;
第三步,将创建的电网地理信息系统的各组件Docker镜像导入Docker镜像库中管理;
第四步,通过Docker主管理服务统一调度各Docker宿主服务器中的Docker守护进程启动Docker容器,Docker容器运行进程将占有相应的CPU计算资源、内存、虚拟网络设备以及相应的文件系统资源;
第五步:通过Docker主管理服务统一调度各Docker宿主服务器中的Docker守护进程在Docker容器中运行所需的电网地理信息系统中各组件的Docker镜像,对外提供组件相关服务。
本发明的实施例的基于Docker对电网地理信息系统进行容器化管理的方法300与本发明的另一个实施例的基于Docker容器化管理的电网地理信息系统100相对应,在此不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。