一种通信方法、设备及计算机可读存储介质技术

技术编号:18496810 阅读:73 留言:0更新日期:2018-07-21 20:02
本发明专利技术提供了一种通信方法,包括:创建数据卷容器;有通信需求的容器在启动时,将数据卷容器挂载为容器内目录;有通信需求的容器通过在数据卷容器中交换文件完成通信。基于上述通信方法,本发明专利技术还提供了一种通信设备及计算机可读存储介质,利用本发明专利技术的技术方案,可以很好的解决在IP地址不确定或动态变化的情况下同宿主机Docker容器间的通信问题。

Communication method, device and computer readable storage medium

The invention provides a communication method, including: creating a data volume container; a container with a communication requirement is mounted as a container in a container when it is started; a container with a communication requirement can communicate by exchanging files in a volume container. Based on the above communication method, the invention also provides a communication device and a computer readable storage medium. By using the technical scheme of the invention, the communication problem between the Docker container of the homoclinic host can be solved well in the case of the uncertainty of the IP address or the dynamic change.

【技术实现步骤摘要】
一种通信方法、设备及计算机可读存储介质
本专利技术涉及通信领域,特别涉及一种通信方法、设备及计算机可读存储介质。
技术介绍
Docker最初是cotCloud公司创始人SolomonHykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache2.0授权协议开源,主要项目代码在GitHub上进行维护。Docker自开源后受到广泛的关注和讨论,其使用Google公司提出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离的进程,因此也称其为容器。Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势。主要有:(1)更高新的利用系统资源。由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。(2)更快速的启动时间。传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大地节约了开发、测试、部署的时间。Docker容器是目前主流的容器技术,容器之间具备良好的独立性,各容器互不影响,如同各自是一个独立的主机一般。但对分布式应用来说,各容器之间不可避免地需要相互通信。通常来说,这种通信需要知晓相互的IP,而后使用基于IP的协议进行通信。但在一些特殊的场合,IP信息可能是无法知晓的,此时需要额外的通信手段。同宿主机的Docker容器间可以通过Docker容器的虚拟网卡相互通信。但由于Docker容器的IP地址是在容器启动后自动分配的,所以基于IP的通信方式需要其他的手段辅助确定目标容器的IP地址,否则两个容器间还是无法通信。
技术实现思路
为了解决通信双方的IP地址不确定或变动的情况下,同宿主机容器间的通信问题,本专利技术提供了一种通信方法、设备及计算机可读存储介质。本专利技术提供的通信方法,包括:创建数据卷容器;有通信需求的容器在启动时,将所述数据卷容器挂载为容器内目录;所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信。可选的,在本专利技术所述的通信方法中,所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信,包括:当通信方式为在消息发送容器和消息接收容器之间进行的点对点通信时,分别在所述消息发送容器和消息接收容器的数据卷容器的根目录下创建消息事件目录、及消息事件数据目录,以所述消息接收容器中消息事件目录的变化作为收发消息的标志、以所述消息接收容器中消息事件数据目录中的读写完成消息数据的传递;当通信方式为在广播发送容器和广播接收容器之间进行的广播通信时,在所述广播发送容器的数据卷容器的根目录下创建广播事件目录、及广播事件数据目录,以所述广播事件目录的变化作为收发消息的标志、以所述广播事件数据目录中的读写完成广播数据的传递。可选的,在本专利技术所述的通信方法中,以所述消息接收容器中消息事件目录的变化作为收发消息的标志、以所述消息接收容器中消息事件数据目录中的读写完成消息数据的传递,包括:当所述消息发送容器向所述消息接收容器发送消息时,所述消息发送容器在所述消息接收容器的消息事件数据目录下创建一个消息新文件,并当所述消息新文件创建完成并写入消息数据后,在所述消息接收容器的消息事件目录中创建第一事件文件,其中所述第一事件文件与所述消息新文件同名;当所述消息接收容器监听到所述第一事件文件后,在所述消息接收容器的消息事件数据目录中利用所述第一事件文件的名称找到所述消息新文件,并从所述消息新文件中读取消息。可选的,在本专利技术所述的通信方法中,所述消息新文件的名称至少包括:所述消息发送容器的标识、及所述发送消息的消息序列号。可选的,在本专利技术所述的通信方法中,从所述消息新文件中读取消息内容,包括:利用所述消息发送容器的标识确定消息的来源,利用所述消息序列号确定消息内容。可选的,在本专利技术所述的通信方法中,在从所述消息新文件中读取消息之后,还包括:当所述消息接收容器需要给所述消息发送容器发送响应时,所述消息接收容器在所述消息发送容器的消息事件数据目录中创建一个响应文件,当所述响应文件创建完成并写入响应数据后,在所述消息发送容器的消息事件目录中创建第二事件文件,所述第二事件文件与所述响应文件同名;当所述消息发送容器监听到所述第二事件文件后,在所述消息发送容器的消息事件数据目录中利用所述第二事件文件的名称找到所述响应文件,并从所述响应文件中读取响应消息。可选的,在本专利技术所述的通信方法中,以所述广播事件目录的变化作为收发消息的标志、以所述广播事件数据目录中的读写完成广播数据的传递,包括:当所述广播发送容器需要发送广播消息时,在所述广播事件数据目录中创建广播新文件,当所述广播新文件创建完成并写入消息数据后,在所述广播事件目录中创建第三事件文件,其中所述第三事件文件与所述广播新文件同名;当所述广播接收容器监听到所述第三事件文件后,在所述广播事件数据目录中利用所述第三事件文件的名称找到所述广播新文件,并从所述广播新文件中读取消息。可选的,在本专利技术所述的通信方法中,所述广播新文件的名称至少包括:所述广播消息的序列号。本专利技术还提供了一种通信设备,所述通信设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的通信方法的步骤。本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有通信程序,所述通信程序被处理器执行时实现如上所述的通信方法的步骤。本专利技术的有益效果如下:本专利技术实施例提供的通信方法、设备及计算机可读存储介质,将所述数据卷容器挂载为容器内目录,所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信,很好的解决了在IP地址不确定或动态变化的情况下同宿主机Docker容器间的通信问题。附图说明图1为本专利技术第一方法实施例中通信方法的流程示意图;图2为本专利技术实例1点对点通信中通信方法的流程示意图;图3为本专利技术实例2广播模式中通信方法的流程示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为了解决通信双方的IP地址不确定或变动的情况下,同宿主机容器间的通信问题,本专利技术提供了一种通信方法、设备及计算机可读存储介质,以下结合附图对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。与传统的虚拟化方式类似,Docker容器可以在启动时将宿主机的目录挂载为容器内可访问的目录。本文档来自技高网
...

【技术保护点】
1.一种通信方法,其特征在于,包括:创建数据卷容器;有通信需求的容器在启动时,将所述数据卷容器挂载为容器内目录;所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信。

【技术特征摘要】
1.一种通信方法,其特征在于,包括:创建数据卷容器;有通信需求的容器在启动时,将所述数据卷容器挂载为容器内目录;所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信。2.如权利要求1所述的通信方法,其特征在于,所述有通信需求的容器通过在所述数据卷容器中交换文件完成通信,包括:当通信方式为在消息发送容器和消息接收容器之间进行的点对点通信时,分别在所述消息发送容器和消息接收容器的数据卷容器的根目录下创建消息事件目录、及消息事件数据目录,以所述消息接收容器中消息事件目录的变化作为收发消息的标志、以所述消息接收容器中消息事件数据目录中的读写完成消息数据的传递;当通信方式为在广播发送容器和广播接收容器之间进行的广播通信时,在所述广播发送容器的数据卷容器的根目录下创建广播事件目录、及广播事件数据目录,以所述广播事件目录的变化作为收发消息的标志、以所述广播事件数据目录中的读写完成广播数据的传递。3.如权利要求2所述的通信方法,其特征在于,以所述消息接收容器中消息事件目录的变化作为收发消息的标志、以所述消息接收容器中消息事件数据目录中的读写完成消息数据的传递,包括:当所述消息发送容器向所述消息接收容器发送消息时,所述消息发送容器在所述消息接收容器的消息事件数据目录下创建一个消息新文件,并当所述消息新文件创建完成并写入消息数据后,在所述消息接收容器的消息事件目录中创建第一事件文件,其中所述第一事件文件与所述消息新文件同名;当所述消息接收容器监听到所述第一事件文件后,在所述消息接收容器的消息事件数据目录中利用所述第一事件文件的名称找到所述消息新文件,并从所述消息新文件中读取消息。4.如权利要求3所述的通信方法,其特征在于,所述消息新文件的名称至少包括:所述消息发送容器的标识、及所述发送消息的消息序列号。5.如权利要求4所述的通信方法,其特征在...

【专利技术属性】
技术研发人员:武少波王竞争陈智涛李鹏刘长娥贾丽芳
申请(专利权)人:中国电子科技集团公司电子科学研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1