基于docker的通信控制方法、装置、通信控制设备和存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种基于docker(应用容器引擎)的通信控制方法、装置、通信控制设备和存储介质。
背景技术
前置机一般存在于前台客户端和后台服务器之间,扮演适配器的角色,即:在不同的通信协议、数据格式或语言之间相互转换。另外,前置机还起着管理和调度前台客户端所发起的交易作用,经过前置机的调度,可以减轻后台服务器的负担。并且前置机还在客户端和后台服务器间起着防火墙的作用,从而可以起到隐藏后台服务器的功能,在一定程度上确保后台服务器的安全性。
但是,目前一台前置机往往对应着很多的通信设备,但是通信设备间不能完全独立的工作,一个链路的通信失败或者前置机***的故障,会造成其它的通信设备也无法正常工作,导致***瘫痪。
发明内容
基于此,有必要针对上述单点链路故障导致***瘫痪的技术问题,提供一种基于docker的通信控制方法、装置、通信控制设备和存储介质。
为了实现上述目的,一方面,本申请实施例提供了一种基于docker的通信控制方法,所述方法包括:
接收采集设备的访问连接请求,其中,访问连接请求包括目标主站和采集设备的设备信息;
根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息;
根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信。
在其中一个实施例中,docker容器的网络配置信息包括docker容器的IP地址;则根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,包括:根据docker容器的IP地址分别建立信息传输通道和加密传输通道,其中,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。
在其中一个实施例中,信息传输通道包括数据传输通道和控制指令传输通道,数据传输通道用于采集设备向目标主站上报数据;控制指令传输通道用于目标主站向采集设备发送控制指令。
在其中一个实施例中,加密传输通道包括第一加密传输通道和第二加密传输通道,第一加密传输通道用于采集设备采用加密通信的方式向docker容器传输数据;第二加密传输通道用于docker容器采用加密通信的方式向采集设备传输数据。
在其中一个实施例中,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系之后,还包括:监测docker容器的运行状态;当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器;建立新的docker容器与采集设备的通信连接关系,以使采集设备通过新的docker容器与目标主站通信。
另一方面,本申请实施例还提供了一种基于docker的通信控制装置,该装置包括:
请求接收模块,用于接收采集设备的访问连接请求,其是,访问连接请求包括待访问目标主站和采集设备的设备信息;
docker容器分配模块,用于根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息;
通信连接建立模块,用于根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信。
在其中一个实施例中,docker容器的网络配置信息包括docker容器的IP地址;则通信连接建立模块具体用于根据docker容器的IP地址分别建立信息传输通道和加密传输通道,其中,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。
在其中一个实施例中,上述装置还包括监测模块,用于监测docker容器的运行状态,当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器;则通信连接建立模块还用于,建立新的docker容器与采集设备的通信连接关系,以使采集设备通过新的docker容器与目标主站通信。
又一方面,本申请实施例还提供了一种通信控制设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
再一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
上述基于docker的通信控制方法、装置、通信控制设备和存储介质,通过接收采集设备的访问连接请求,为采集设备分配对应的docker容器,并获取docker容器的网络配置信息,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信,由于docker容器具有沙箱机制,相互之间不会有任何接口,且几乎没有性能开销,因此,通过docker容器与采集设备的一一对应,能够有效解决传统技术中前置机的通信设备的单点故障而导致***瘫痪的问题,且实现了***的负载均衡。
附图说明
图1为一个实施例中基于docker的通信控制方法的应用环境图;
图2为一个实施例中基于docker的通信控制方法的流程示意图;
图3为另一个实施例中基于docker的通信控制方法的流程示意图;;
图4为一个实施例中基于docker的通信控制装置的结构框图;
图5为另一个实施例中基于docker的通信控制装置的结构框图;
图6为一个实施例中通信控制设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于docker的通信控制方法,可以应用于如图1所示的应用环境中。其中,各采集设备102通过通信控制设备104与主站106进行通信,采集设备102与通信控制设备104之间通过网络建立连接,通信控制设备104可以部署在主站106的内部,也可以独立设置,并与主站106建立通信连接。具体的,在本实施例中,当通信控制设备104接收到某一采集设备102对主站106的访问连接请求时,根据该采集设备102的设备信息为该采集设备102分配对应的docker容器,并获取docker容器的网络配置信息,进而根据docker容器的网络配置信息建立docker容器与该采集设备102的通信连接关系,以使该采集设备102通过对应的docker容器与目标主站106进行通信。
其中,采集设备102可以但不限于是各种进行数据采集的终端设备,如分布在电网中的配变终端、低压集抄采集终端等。主站106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。通信控制设备104则可以是部署有docker(应用容器引擎)的计算机设备。
在一个实施例中,如图2所示,提供了一种基于docker的通信控制方法,以该方法应用于图1中的通信控制设备为例进行说明,该方法包括以下步骤:
步骤202,接收采集设备的访问连接请求。
具体的,由于前端采集设备通过通信控制设备与主站进行通信,因此,前端采集设备与主站进行通信前,需要先与通信控制设备建立连接,即向通信控制设备发送访问连接请求,其中,访问连接请求包括目标主站和采集设备的设备信息。具体的,采集设备的设备信息可以是采集设备的地址信息,如采集设备的IP地址(Internet Protocol Address,互联网协议地址)、MAC(Media Access Control,介质访问控制)地址等。
步骤204,根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息。
由于通信控制设备中部署有docker即应用容器引擎,因此,通信控制设备接收到采集设备的访问连接请求后,通信控制设备则根据访问连接请求中采集设备的设备信息为采集设备分配对应的docker容器。并获取docker容器的网络配置信息,其中,网络配置信息可以包括但不限是docker容器的IP地址。
步骤206,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系。
在本实施例中,通信控制设备根据docker容器的网络配置信息如docker容器的IP地址建立docker容器与采集设备的通信连接关系,即通过docker容器的网络配置信息实现docker容器与采集设备的一一对应,进而使得采集设备通过对应的docker容器与目标主站通信。
上述基于docker的通信控制方法,通过接收采集设备的访问连接请求,为采集设备分配对应的docker容器,并获取docker容器的网络配置信息,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信,由于docker容器具有沙箱机制,相互之间不会有任何接口,且几乎没有性能开销,因此,通过docker容器与采集设备的一一对应,能够有效解决传统技术中前置机的通信设备的单点故障而导致***瘫痪的问题,且实现了***的负载均衡。
在一个实施例中,docker容器的网络配置信息包括docker容器的IP地址,则根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,具体可以包括:根据docker容器的IP地址和采集设备的IP地址或MAC地址生成路由策略,从而建立通信传输通道。其中,通信传输通道包括信息传输通道和加密传输通道。具体的,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。本实施例在docker容器与采集设备一一对应的基础上,通过建立多个通信传输通道,从而实现能够传输各种业务类型需要的数据,提高了***的兼容性。
在一个实施例中,信息传输通道还可以包括数据传输通道和控制指令传输通道,其中,数据传输通道用于采集设备向目标主站上报数据,如日志或记录等数据。控制指令传输通道用于目标主站向采集设备发送控制指令,如下发配置数据、响应数据格式、运行状态监视等控制指令,从而实现对采集设备的控制功能。
加密传输通道则可以包括第一加密传输通道和第二加密传输通道,具体的,当网络通信不可信时,采集设备可以采用加密通信的方式通过第一加密传输通道向docker容器传输数据;docker容器则可以采用加密通信的方式通过第二加密传输通道向采集设备传输数据,从而保证传输信息的安全性。本实施例通过建立不同的通信传输通道以传输需要的数据,从而实现了数据传输的并发性,在一定程度上提高了数据传输的效率。
在一个实施例中,如图3所示,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系之后,上述方法还可以包括如下步骤:
步骤302,监测docker容器的运行状态。
其中,docker容器的运行状态包括docker容器自身是否有响应或者对应的各通信传输通道是否有响应。在本实施例中,当通信控制设备建立了docker容器与采集设备的通信连接关系之后,还可以对docker容器的运行状态进行监测。
步骤304,当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器。
在本实施例中,当docker容器自身没有响应时,则表示docker容器出现故障,因此,可以根据出现故障的docker容器的网络配置信息生成新的docker容器,即复制故障docker容器的网络配置信息以重新建立对应的新的docker容器,从而以新的docker容器代替故障docker容器。
步骤306,建立新的docker容器与采集设备的通信连接关系。
具体的,针对与故障docker容器建立通信连接关系的采集设备,建立其与新的docker容器之间的通信连接关系,从而使得该采集设备可以通过新的docker容器与目标主站通信。其中,通信连接关系的建立过程可参考上述实施例,此处不再赘述。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种基于docker的通信控制装置,包括:请求接收模块401、docker容器分配模块402和通信连接建立模块403,其中:
请求接收模块401,用于接收采集设备的访问连接请求,其中,访问连接请求包括待访问目标主站和采集设备的设备信息;
docker容器分配模块402,用于根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息;
通信连接建立模块403,用于根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信。
在一个实施例中,如图5所示,还包括监测模块404,用于监测docker容器的运行状态,当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器;则通信连接建立模块403还用于,建立新的docker容器与采集设备的通信连接关系,以使采集设备通过新的docker容器与目标主站通信。
在一个实施例中,docker容器的网络配置信息包括docker容器的IP地址;则通信连接建立模块403具体用于根据docker容器的IP地址分别建立信息传输通道和加密传输通道,其中,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。
在一个实施例中,信息传输通道包括数据传输通道和控制指令传输通道,其中,数据传输通道用于采集设备向目标主站上报数据;控制指令传输通道用于目标主站向采集设备发送控制指令。加密传输通道包括第一加密传输通道和第二加密传输通道,其中,第一加密传输通道用于采集设备采用加密通信的方式向docker容器传输数据;第二加密传输通道用于docker容器采用加密通信的方式向采集设备传输数据。
关于基于docker的通信控制装置的具体限定可以参见上文中对于基于docker的通信控制方法的限定,在此不再赘述。上述基于docker的通信控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种通信控制设备,该通信控制设备可以是部署有docker应用容器引擎的计算机设备,其内部结构图可以如图6所示。该通信控制设备包括通过***总线连接的处理器、存储器、网络接口和docker应用容器引擎。其中,该通信设备的处理器用于提供计算和控制能力。该通信控制设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和docker应用容器引擎。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该通信控制设备的网络接口用于与外部的采集设备和主站通过网络连接通信。该计算机程序被处理器执行时以实现一种基于docker的通信控制方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的通信控制设备的限定,具体的通信控制设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收采集设备的访问连接请求,其中,访问连接请求包括目标主站和采集设备的设备信息;
根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息;
根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信。
在一个实施例中,docker容器的网络配置信息包括docker容器的IP地址;则根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,包括:根据docker容器的IP地址分别建立信息传输通道和加密传输通道,其中,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。
在一个实施例中,信息传输通道包括数据传输通道和控制指令传输通道,数据传输通道用于采集设备向目标主站上报数据;控制指令传输通道用于目标主站向采集设备发送控制指令。
在一个实施例中,加密传输通道包括第一加密传输通道和第二加密传输通道,第一加密传输通道用于采集设备采用加密通信的方式向docker容器传输数据;第二加密传输通道用于docker容器采用加密通信的方式向采集设备传输数据。
在一个实施例中,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系之后,还包括:监测docker容器的运行状态;当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器;建立新的docker容器与采集设备的通信连接关系,以使采集设备通过新的docker容器与目标主站通信。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收采集设备的访问连接请求,其中,访问连接请求包括目标主站和采集设备的设备信息;
根据采集设备的设备信息为采集设备分配对应的docker容器,获取docker容器的网络配置信息;
根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,以使采集设备通过对应的docker容器与目标主站通信。
在一个实施例中,docker容器的网络配置信息包括docker容器的IP地址;则根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系,包括:根据docker容器的IP地址分别建立信息传输通道和加密传输通道,其中,信息传输通道用于采集设备与目标主站之间进行数据和控制指令的传输,加密传输通道用于采集设备与docker容器之间采用加密通信的方式传输数据。
在一个实施例中,信息传输通道包括数据传输通道和控制指令传输通道,数据传输通道用于采集设备向目标主站上报数据;控制指令传输通道用于目标主站向采集设备发送控制指令。
在一个实施例中,加密传输通道包括第一加密传输通道和第二加密传输通道,第一加密传输通道用于采集设备采用加密通信的方式向docker容器传输数据;第二加密传输通道用于docker容器采用加密通信的方式向采集设备传输数据。
在一个实施例中,根据docker容器的网络配置信息建立docker容器与采集设备的通信连接关系之后,还包括:监测docker容器的运行状态;当监测到docker容器出现故障时,根据docker容器的网络配置信息生成新的docker容器;建立新的docker容器与采集设备的通信连接关系,以使采集设备通过新的docker容器与目标主站通信。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。