CN106487811A - 多容器间通信的方法及装置 - Google Patents

多容器间通信的方法及装置 Download PDF

Info

Publication number
CN106487811A
CN106487811A CN201611069923.8A CN201611069923A CN106487811A CN 106487811 A CN106487811 A CN 106487811A CN 201611069923 A CN201611069923 A CN 201611069923A CN 106487811 A CN106487811 A CN 106487811A
Authority
CN
China
Prior art keywords
containment system
master control
communication port
control system
containment
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.)
Granted
Application number
CN201611069923.8A
Other languages
English (en)
Other versions
CN106487811B (zh
Inventor
李京
焦建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201611069923.8A priority Critical patent/CN106487811B/zh
Publication of CN106487811A publication Critical patent/CN106487811A/zh
Application granted granted Critical
Publication of CN106487811B publication Critical patent/CN106487811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了多容器间通信的方法及装置,该方法包括:首先移动终端中的任一容器系统向主控系统发送建立任一容器系统与其他容器系统之间通信通道的创建通道请求消息,然后主控系统根据所述创建通道请求消息,创建至少一个通信通道,然后已创建通信通道的容器系统通过其之间的通信通道,进行通信,能够解决移动终端多容器间无法进行通信的问题,通过上述方法,移动终端多容器间进行通信,降低获取其它容器系统信息的复杂度,进而可以提升用户体验。

Description

多容器间通信的方法及装置
技术领域
本发明涉及终端设备技术领域,具体而言,本发明涉及一种多容器间通信的方法及装置。
背景技术
容器技术是操作系统级别的轻量级虚拟化技术,它底层依赖的技术Linux命名空间(Namespace)、Linux控制组(Control Group)完全是内核特性,没有任何中间层开销,对于资源的利用率极高,性能接近物理机。
容器技术可以根据不同的业务需求将系统中的全部进程分配到不同的进程组中,不同的进程组可以相互隔离地运行在同一台物理设备上,即一个容器内的某个进程无法将自己的数据或状态分享或发送给容器外的进程或其他容器内的进程,当用户需要查看后台运行的容器系统存储的相关信息时,需要先切换容器系统,再获取上述相关信息,从而导致获取其它容器系统中信息的复杂度较高,进而导致用户的体验较差。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的一个实施例提供了一种多容器间通信的方法,包括:
移动终端中的任一容器系统向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息;
所述主控系统根据所述创建通道请求消息,创建至少一个通信通道;
已创建通信通道的容器系统通过其之间的通信通道,进行通信。
具体地,所述主控系统根据所述创建通道请求消息,创建至少一个通信通道的步骤,包括:
所述主控系统根据所述创建通道请求消息,创建至少两个socket文件描述符;
所述已创建通信通道的容器系统通过其之间的通信通道,进行通信的步骤,包括:
所述已创建通信通道的容器系统从所述主控系统中获取对应的socket文件描述符,并根据所述对应的socket文件描述符进行通信。
具体地,所述移动终端中的任一容器系统向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息的步骤,包括:
所述移动终端中的任一容器系统中的进程通过同一容器系统中的通信通道服务进程向所述主控系统的通信通道服务进程,发送创建通道请求消息,所述创建通道请求消息中携带发送请求的容器系统的标识,以及需要进行通信的容器系统的标识;
其中,所述主控系统根据所述创建通道请求消息,创建至少两个socket文件描述符的步骤,包括:
所述主控系统的通信通道服务进程根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符。
可选地,所述主控系统的通信通道服务进程根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符的步骤之后,还包括:
所述主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息,所述注册请求消息中携带所述至少两个socket文件描述符,以及每个socket文件描述符对应的名称;
在注册成功之后,所述主控系统的通信通道服务进程向所述发送请求的容器系统以及所述需要进行通信服务的容器系统分别发送其各自对应的socket文件描述符的名称;
具体地,所述已创建通信通道的容器系统获取对应的socket文件描述符的步骤,包括:
所述发送请求的容器系统以及所述需要进行通信的容器系统根据接收到的socket文件描述符的名称,从所述NSS设备中,获取到其各自对应socket文件描述符。
可选地,所述主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息的步骤之前,还包括:
所述主控系统的通信通道服务预先配置所述至少两个socket文件描述符中每个socket文件描述符对应的名称。
本发明的另一个实施例提供了一种多容器间通信的装置,所述装置包括:
第一发送模块,位于移动终端中的任一容器系统中,用于向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息;
创建模块,位于所述主控系统中,用于根据所述创建通道请求消息,创建至少一个通信通道;
通信模块,位于已创建通信通道的容器系统中,用于通过其之间的通信通道,进行通信。
具体地,
所述创建模块,具体用于根据所述第一发送模块发送的所述创建通道请求消息,创建至少两个socket文件描述符;
所述通信模块,具体用于从所述主控系统中获取对应的socket文件描述符;
所述通信模块,具体用于根据所述对应的socket文件描述符,进行通信。
具体地,
所述第一发送模块,具体用于通过同一容器系统中的通信通道服务进程向所述主控系统的通信通道服务进程,发送创建通道请求消息,所述创建通道请求消息中携带发送请求的容器系统的标识,以及需要进行通信的容器系统的标识;
所述创建模块,具体用于根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符。
可选地,所述装置还包括:第二发送模块;
所述第二发送模块,位于所述主控系统中,用于向主控系统中的虚拟域名NSS设备发送注册请求消息,所述注册请求消息中携带所述至少两个socket文件描述符,以及每个socket文件描述符对应的名称;
所述第二发送模块,还用于在注册成功之后,向所述发送请求的容器系统以及所述需要进行通信服务的容器系统分别发送其各自对应的socket文件描述符的名称;
所述通信模块,具体还用于根据接收到的socket文件描述符的名称,从所述NSS设备中,获取到其各自对应socket文件描述符。
可选地,所述装置还包括:配置模块;
所述配置模块,位于所述主控系统中,用于预先配置所述至少两个socket文件描述符中每个socket文件描述符对应的名称。
本发明提供了一种多容器间通信的方法及装置,与现有技术中各个容器系统相互隔离无法进行通信相比,本发明通过移动终端中的任一容器系统向主控系统发送建立该容器系统与其他容器系统之间通信通道创建通道请求消息,以使得主控系统能够创建至少一个通信通道,并且需要进行通信的容器系统能够获取到对应的通信通道,并进行通信,即实现了移动终端中任一容器系统可以与其他容器系统通过对应的通信通道直接进行数据通信,当某一容器系统需要获取其它容器系统的信息时,两容器系统之间不再需要先切换容器系统,再获取相应的信息,大大降低获取其它容器系统信息的复杂度,进而可以提升用户体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的多系统终端设备中各系统间的关系示意图;
图2为本发明实施例的多容器间通信的方法流程示意图;
图3为本发明实施例的另一种多容器间通信的方法流程示意图;
图4为本发明实施例的又一种多容器间通信的方法流程示意图;
图5为本发明实施例的又一种多容器间通信的方法流程示意图;
图6为本发明实施例的又一种多容器间通信的方法流程示意图;
图7为本发明实施例的一种多容器间通信的装置结构示意图;
图8为本发明实施例的另一种多容器间通信的装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:主控系统和两个以上的容器系统。
其中,本发明实施例中的容器系统,可以是设置在以Linux container(容器)虚拟化技术创建的容器中的操作系统。操作系统可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系统或FireFox系统等,还可以为以Windows平台为基础的windows系统等等。实际上,本发明中的容器系统不限于前述例举的操作系统,可以涵盖所有能够在容器中运行的操作系统。
优选地,主控系统可以是上述传统的操作系统,也可以是对传统的kernel进行改进和/或在kernel之外(例如框架层和应用层)增加功能模块之后,得到的操作系统。
主控系统主要用于对多个容器系统进行前后台管理,与各容器系统进行交互等。本发明实施例提供了一种多容器间通信的方法,如图2所示,该方法包括:
步骤201、移动终端中的任一容器系统向主控系统发送建立任一容器系统与其他容器系统之间通信通道的创建通道请求消息。
对于本发明实施例,移动终端中运行着多个容器系统,当其中一个容器系统需要与其他容器系统中的一个或者多个容器系统进行通信时,需要向主控系统发送创建通道请求消息,以使得主控系统创建通道,将该容器系统与其他容器系统连通。
步骤202、主控系统根据创建通道请求消息,创建至少一个通信通道。
对于本发明实施例,移动终端中的容器系统向主控系统发送的创建通道请求消息中可以携带该容器系统的容器标识,以及需要进行通信的容器系统的容器标识,主控系统根据该容器系统的容器标识,以及需要进行通信的容器系统的容器标识分别为该两个容器系统创建其之间的通信通道。
对于本发明实施例,主控系统中可以预先配置移动终端中需要进行互相通信的容器系统,当主控系统接收到某一个容器系统发送的创建通道请求消息之后,根据预先配置的通信关系,为需要进行通信的容器系统分别创建通信通道。
步骤203、已创建通信通道的容器系统通过其之间的通信通道,进行通信。
对于本发明实施例,需要进行通信的容器系统从主控系统中获取自身容器系统对应的通信通道。
本发明实施例提供了一种多容器间通信的方法,与现有技术中各个容器系统相互隔离无法进行通信相比,本发明实施例通过移动终端中的任一容器系统向主控系统发送建立该容器系统与其他容器系统之间通信通道创建通道请求消息,以使得主控系统能够创建至少一个通信通道,并且需要进行通信的容器系统能够获取到对应的通信通道,并进行通信,即实现了移动终端中任一容器系统可以与其他容器系统通过对应的通信通道直接进行数据通信,当某一容器系统需要获取其它容器系统的信息时,两容器系统之间不再需要先切换容器系统,再获取相应的信息,大大降低获取其它容器系统信息的复杂度,进而可以提升用户体验。
本发明实施例的另一种可能的实现方式,在如图1所示的基础上,步骤202、主控系统根据创建通道请求消息,创建至少一个通信通道,包括如图3所示的步骤302,步骤203、已创建通信通道的容器系统通过其之间的通信通道,进行通信包括,如图3所示的步骤303-304,其中步骤301所执行的操作与步骤201所执行的操作相同,在此不再赘述。
步骤302、主控系统根据创建通道请求消息,创建至少两个socket文件描述符。
对于本发明实施例,移动终端中的容器系统向主控系统发送的创建通道请求消息中可以携带该容器系统的容器标识,以及需要进行通信的容器系统的容器标识,主控系统根据该容器系统的容器标识,以及需要进行通信的容器系统的容器标识分别为上述容器系统创建socket文件描述符。
对于本发明实施例,主控系统中可以预先配置移动终端中需要进行互相通信的容器系统,当主控系统接收到某一个容器系统发送的创建通道请求消息之后,根据预先配置的通信关系,为需要进行通信的容器系统分别创建socket文件描述符。
例如,主控系统中配置有第一容器系统与第二容器系统进行通信,当主控系统接收到第一容器系统发送的创建通道请求消息,则主控系统为第一容器系统以及第二容器系统分别创建socket文件描述符。
步骤303、已创建通信通道的容器系统获取对应的socket文件描述符。
对于本发明实施例,需要进行通信的容器系统从主控系统中获取自身容器系统对应的socket文件描述符。
步骤304、已创建通信通道的容器系统根据对应的socket文件描述符,进行通信。
对于本发明实施例,移动终端中的任一容器系统通过已建立的socket通信通道向另一容器系统发送数据请求消息。
对于本发明实施例,移动终端中设置有两个容器系统,分别为第一容器系统以及第二容器系统,其中,第一容器系统等级较低,无法获取到移动终端的系统应用的信息,第二容器系统可以获取系统应用的信息,例如,移动终端系统应用的信息可以包括移动终端当前电池的电量、移动终端硬盘的存储空间情况等。
例如,当前前台运行的容器系统为第一容器系统,当第一容器系统需要获知当前电池的剩余电量时,通过已建立的socket通信信道,向第二容器系统发送获取电池剩余电量的请求消息。
对于本发明实施例,发送数据请求的容器系统通过已建立的socket通信通道接收该另一容器系统返回的响应数据。
对于本发明实施例,接收到数据请求消息的容器系统根据接收到的数据请求消息,获取相应的数据,并将获取到的相应的数据,通过socket通信通道,返回至发送数据请求的容器系统。
例如,当第二容器系统接收到第一容器系统发送的获取电池剩余电量的请求消息,第二容器系统获取当前电池的剩余电量,并将获取到的当前电池的剩余电量,通过建立的socket通信通道返回至第一容器系统。
对于本发明实施例,移动终端中的某个容器系统通过已建立的socket通信通道向另一容器系统发送数据请求消息,能够使得另一容器系统通过已建立socket通信通道,返回响应数据,即当前前台运行的容器系统无法获取到系统数据时,该容器系统可以从其他容器系统中获取相应的数据并反馈至前台容器系统,而不需要切换容器系统,从而可以降低获取各个容器系统数据的复杂度,进而可以提升用户体验。
本发明实施例的另一种可能的实现方式,在如图3所示的基础上,步骤301、移动终端中的任一容器系统向主控系统发送建立任一容器系统与其他容器系统之间通信通道的创建通道请求消息,包括如图4所示的步骤401,步骤302、主控系统根据创建通道请求消息,创建至少两个socket文件描述符,包括如图4所示的步骤402,其中如图4所示的步骤403-404所执行的操作与步骤303-304所执行的操作相同,在此不再赘述。
步骤401、移动终端中的任一容器系统中的进程通过同一容器系统中的通信通道服务进程向主控系统的通信通道服务进程,发送创建通道请求消息。
其中,创建通道请求消息中携带发送请求的容器系统的标识,以及需要进行通信的容器系统的标识。
例如,当第一容器系统中的进程需要与第二容器系统中的进程进行通信,第一容器系统中的进程向第一容器系统中的通信通道服务进程发送创建通道请求消息,然后第一容器系统中的通信通道服务进程将接收到的创建通道请求消息,发送至主控系统的通信通道服务进程,其中,该创建通道请求消息中携带第一容器系统的标识以及第二容器系统的标识,以请求主控系统的通信通道服务进程创建第一容器系统以及第二容器系统之间的通信通道。
步骤402、主控系统的通信通道服务进程根据发送请求的容器系统的标识以及需要进行通信的容器系统的标识,创建至少两个socket文件描述符。
例如,当主控系统中的通信通道服务进程接收到的请求消息中携带第一容器系统的标识以及第二容器系统的标识,则主控系统的通信通道进程为分别创建第一容器系统以及第二容器系统对应的socket文件描述符。
对于本发明实施例,通过移动终端中的某个容器系统通过同一容器系统中的通信通道服务进程向主控系统的通信通道服务进程发送携带请求发送方容器系统的系统标识,以及需要进行通信的容器系统的系统标识,能够使得主控系统的通信通道服务进程为上述需要进行通信的通信系统创建对应的socket文件描述符,从而上述容器系统能够根据创建的socket文件描述符进行通信,进而可以为容器间通信提供可能。
本发明实施例的另一种可能的实现方式,在如图4所示的基础上,步骤402、主控系统的通信通道服务进程根据发送请求的容器系统的标识以及需要进行通信的容器系统的标识,创建至少两个socket文件描述符,之后还包括如图5所示的步骤503-504,步骤403、各个容器系统获取对应的socket文件描述符,包括如图5所示的步骤505,其中,如图5所示的步骤506所执行的操作与如图4中的步骤404所执行的操作相同,在此不再赘述。
步骤503、主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息。
其中,注册请求消息中携带至少两个socket文件描述符,以及每个socket文件描述符对应的名称。
其中,NSS设备为主控系统提供的虚拟域名设备。在本发明实施例中,socket文件描述符的名称为对应的容器系统的名称与容器系统之间通道的名称。
例如,第一容器系统与第二容器系统之间的通道名称为通道1,第一容器系统与第二容器系统分别对应的名称为容器系统1与容器系统2,则第一容器系统对应的socket文件描述符对应的名称为容器系统1+通道1,第二容器系统对应的socket文件描述符对应的名称为容器系统2+通道1。
步骤504、在注册成功之后,主控系统的通信通道服务进程向发送请求的容器系统以及需要进行通信服务的容器系统分别发送其各自对应的socket文件描述符的名称。
对于本发明实施例,在注册成功之后,NSS设备返回成功消息至主控系统的通信通道服务进程,当主控系统的通信通道服务进程接收到NSS设备返回的成功消息之后,将创建的socket文件描述对应的名称分别发送至对应的容器系统。
例如,主控系统的通信通道服务进程将“容器系统1+通道1”发送至第一容器系统,将“容器系统2+通道1”发送至第二容器系统。
步骤505、发送请求的容器系统以及需要进行通信的容器系统根据接收到的socket文件描述符的名称,从NSS设备中,获取到其各自对应socket文件描述符。
对于本发明实施例,当发送请求的容器系统以及需要进行通信的容器系统从NSS设备中,获取到其各自对应的socket文件描述符之后,则表征发送请求的容器系统以及需要进行通信的容器系统之间的通信通道创建完成,上述容器系统之间可以进行数据传输。
对于本发明实施例,通过主控系统的通信通道服务进程向发送请求的容器系统以及需要进行通信服务的容器系统发送其各自对应的socket文件描述符的名称,以使得发送请求的容器系统以及需要进行通信服务的容器系统能够通过接收到的socket文件描述符的名称,获取对应的socket文件描述符,从而各个容器系统可以根据对应的socket文件描述符进行通信。
本发明实施例的另一种可能的实现方式,在如图5所示的基础上,步骤503、主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息,之前还包括如图6所示的步骤603,其中步骤604-607所执行的操作与步骤403-406相同,在此不再赘述。
步骤603、主控系统的通信通道服务预先配置至少两个socket文件描述符中每个socket文件描述符对应的名称。
对于本发明实施例,当主控系统的通信通道服务接收到创建通道请求消息之后,配置socket文件描述符对应的名称。
对于本发明实施例,主控系统的通信通道服务通过预先配置socket文件描述符的名称,能够在注册成功之后,将socket文件描述符的名称发送至对应的容器系统,以使得上述容器系统根据接收到的名称获取对应的socket文件描述符,从而可以实现容器间通信。
本发明实施例提供了另一种多容器间通信的方法,通过移动终端中的某个容器系统通过同一容器系统中的通信通道服务进程向主控系统的通信通道服务进程发送携带请求发送方容器系统的系统标识,以及需要进行通信的容器系统的系统标识,能够使得主控系统的通信通道服务进程为上述需要进行通信的通信系统创建对应的socket文件描述符,从而上述容器系统能够根据创建的socket文件描述符进行通信,进而可以为容器间通信提供可能;通过主控系统的通信通道服务进程向发送请求的容器系统以及需要进行通信服务的容器系统发送其各自对应的socket文件描述符的名称,以使得发送请求的容器系统以及需要进行通信服务的容器系统能够通过接收到的socket文件描述符的名称,获取对应的socket文件描述符,从而各个容器系统可以根据对应的socket文件描述符进行通信;移动终端中的某个容器系统通过已建立的socket通信通道向另一容器系统发送数据请求消息,能够使得另一容器系统通过已建立socket通信通道,返回响应数据,即当前前台运行的容器系统无法获取到系统数据时,该容器系统可以从其他容器系统中获取相应的数据并反馈至前台容器系统,而不需要切换容器系统,从而可以降低获取各个容器系统数据的复杂度,进而可以提升用户体验;主控系统的通信通道服务通过预先配置socket文件描述符的名称,能够在注册成功之后,将socket文件描述符的名称发送至对应的容器系统,以使得上述容器系统根据接收到的名称获取对应的socket文件描述符,从而可以实现容器间通信。
需要注意的是,由于移动终端中包含多个容器系统,但是为了方便描述,以下关于移动终端的描述,以移动终端中仅包含两个容器系统进行描述。
本发明实施例提供了一种多容器间通信的装置,如图7所示,该装置包括第一发送模块71、创建模块72、通信模块73;其中,
第一发送模块71,位于移动终端中的任一容器系统中,用于向主控系统发送建立任一容器系统与其他容器系统之间通信通道的创建通道请求消息。
创建模块72,位于主控系统中,用于根据创建通道请求消息,创建至少一个通信通道。
通信模块73,位于第一容器系统以第二容器系统中,用于通过其之间的通信通道,进行通信。
创建模块72,位于主控系统中,具体用于根据创建通道请求消息,创建至少两个socket文件描述符。
通信模块73,位于第一容器系统以第二容器系统中,具体用于从主控系统中获取对应的socket文件描述符。
通信模块73,位于第一容器系统以第二容器系统中,具体用于根据对应的socket文件描述符,进行通信。
第一发送模块71,具体用于通过同一容器系统中的通信通道服务进程向主控系统的通信通道服务进程,发送创建通道请求消息。
其中,创建通道请求消息中携带第一容器系统的标识,以及第二容器系统的标识。
创建模块72,具体用于根据第一容器系统的标识以及第二容器系统的标识,创建至少两个socket文件描述符。
进一步地,如图8所示,该装置还包括:第二发送模块81。
第二发送模块81,位于主控系统中,用于向主控系统中的虚拟域名NSS设备发送注册请求消息。
其中,注册请求消息中携带至少两个socket文件描述符,以及每个socket文件描述符对应的名称。
第二发送模块81,还用于在注册成功之后,向第一容器系统以及第二容器系统分别发送其各自对应的socket文件描述符的名称。
通信模块73,具体还用于根据接收到的socket文件描述符的名称,从NSS设备中,获取到其各自对应socket文件描述符。
进一步地,如图8所示,该装置还包括:配置模块82。
配置模块82,位于主控系统中,用于预先配置至少两个socket文件描述符中每个socket文件描述符对应的名称。
本发明实施例提供了一种多容器间通信的装置,与现有技术中各个容器系统相互隔离无法进行通信相比,本发明实施例通过移动终端中的任一容器系统向主控系统发送建立该容器系统与其他容器系统之间通信通道创建通道请求消息,以使得主控系统能够创建至少一个通信通道,并且需要进行通信的容器系统能够获取到对应的通信通道,并进行通信,即实现了移动终端中任一容器系统可以与其他容器系统通过对应的通信通道直接进行数据通信,当某一容器系统需要获取其它容器系统的信息时,两容器系统之间不再需要先切换容器系统,再获取相应的信息,大大降低获取其它容器系统信息的复杂度,进而可以提升用户体验。
本发明实施例提供了另一种多容器间通信的装置,通过移动终端中的某个容器系统通过同一容器系统中的通信通道服务进程向主控系统的通信通道服务进程发送携带请求发送方容器系统的系统标识,以及需要进行通信的容器系统的系统标识,能够使得主控系统的通信通道服务进程为上述需要进行通信的通信系统创建对应的socket文件描述符,从而上述容器系统能够根据创建的socket文件描述符进行通信,进而可以为容器间通信提供可能;通过主控系统的通信通道服务进程向发送请求的容器系统以及需要进行通信服务的容器系统发送其各自对应的socket文件描述符的名称,以使得发送请求的容器系统以及需要进行通信服务的容器系统能够通过接收到的socket文件描述符的名称,获取对应的socket文件描述符,从而各个容器系统可以根据对应的socket文件描述符进行通信;移动终端中的某个容器系统通过已建立的socket通信通道向另一容器系统发送数据请求消息,能够使得另一容器系统通过已建立socket通信通道,返回响应数据,即当前前台运行的容器系统无法获取到系统数据时,该容器系统可以从其他容器系统中获取相应的数据并反馈至前台容器系统,而不需要切换容器系统,从而可以降低获取各个容器系统数据的复杂度,进而可以提升用户体验;主控系统的通信通道服务通过预先配置socket文件描述符的名称,能够在注册成功之后,将socket文件描述符的名称发送至对应的容器系统,以使得上述容器系统根据接收到的名称获取对应的socket文件描述符,从而可以实现容器间通信。
本发明实施例提供的多容器间通信的装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的多容器间通信的方法及装置可以适用于多系统的移动终端,该移动终端中的各个容器系统之间能够互相通信,但不仅限于此。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种多容器间通信的方法,其特征在于,所述方法包括:
移动终端中的任一容器系统向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息;
所述主控系统根据所述创建通道请求消息,创建至少一个通信通道;
已创建通信通道的容器系统通过其之间的通信通道,进行通信。
2.根据权利要求1所述的多容器间通信的方法,其特征在于,
所述主控系统根据所述创建通道请求消息,创建至少一个通信通道的步骤,包括:
所述主控系统根据所述创建通道请求消息,创建至少两个socket文件描述符;
所述已创建通信通道的容器系统通过其之间的通信通道,进行通信的步骤,包括:
所述已创建通信通道的容器系统从所述主控系统中获取对应的socket文件描述符,并根据所述对应的socket文件描述符进行通信。
3.根据权利要求2所述的多容器间通信的方法,其特征在于,所述移动终端中的任一容器系统向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息的步骤,包括:
所述移动终端中的任一容器系统中的进程通过同一容器系统中的通信通道服务进程向所述主控系统的通信通道服务进程,发送创建通道请求消息,所述创建通道请求消息中携带发送请求的容器系统的标识,以及需要进行通信的容器系统的标识;
其中,所述主控系统根据所述创建通道请求消息,创建至少两个socket文件描述符的步骤,包括:
所述主控系统的通信通道服务进程根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符。
4.根据权利要求3所述的多容器间通信的方法,其特征在于,所述主控系统的通信通道服务进程根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符的步骤之后,还包括:
所述主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息,所述注册请求消息中携带所述至少两个socket文件描述符,以及每个socket文件描述符对应的名称;
在注册成功之后,所述主控系统的通信通道服务进程向所述发送请求的容器系统以及所述需要进行通信服务的容器系统分别发送其各自对应的socket文件描述符的名称;
其中,所述已创建通信通道的容器系统获取对应的socket文件描述符的步骤,包括:
所述发送请求的容器系统以及所述需要进行通信的容器系统根据接收到的socket文件描述符的名称,从所述NSS设备中,获取到其各自对应socket文件描述符。
5.根据权利要求4所述的多容器间通信的方法,其特征在于,所述主控系统的通信通道服务进程向主控系统中的虚拟域名NSS设备发送注册请求消息的步骤之前,还包括:
所述主控系统的通信通道服务预先配置所述至少两个socket文件描述符中每个socket文件描述符对应的名称。
6.一种多容器间通信的装置,其特征在于,所述装置包括:
第一发送模块,位于移动终端中的任一容器系统中,用于向主控系统发送建立所述任一容器系统与其他容器系统之间通信通道的创建通道请求消息;
创建模块,位于所述主控系统中,用于根据所述创建通道请求消息,创建至少一个通信通道;
通信模块,位于已创建通信通道的容器系统中,用于通过其之间的通信通道,进行通信。
7.根据权利要求6所述的多容器间通信的装置,其特征在于,
所述创建模块,具体用于根据所述第一发送模块发送的所述创建通道请求消息,创建至少两个socket文件描述符;
所述通信模块,具体用于从所述主控系统中获取对应的socket文件描述符;
所述通信模块,具体用于根据所述对应的socket文件描述符,进行通信。
8.根据权利要求7所述的多容器间通信的装置,其特征在于,
所述第一发送模块,具体用于通过同一容器系统中的通信通道服务进程向所述主控系统的通信通道服务进程,发送创建通道请求消息,所述创建通道请求消息中携带发送请求的容器系统的标识,以及需要进行通信的容器系统的标识;
所述创建模块,具体用于根据所述发送请求的容器系统的标识以及所述需要进行通信的容器系统的标识,创建至少两个socket文件描述符。
9.根据权利要求8所述的多容器间通信的装置,其特征在于,所述装置还包括:第二发送模块;
所述第二发送模块,位于所述主控系统中,用于向主控系统中的虚拟域名NSS设备发送注册请求消息,所述注册请求消息中携带所述至少两个socket文件描述符,以及每个socket文件描述符对应的名称;
所述第二发送模块,还用于在注册成功之后,向所述发送请求的容器系统以及所述需要进行通信服务的容器系统分别发送其各自对应的socket文件描述符的名称;
所述通信模块,具体还用于根据接收到的socket文件描述符的名称,从所述NSS设备中,获取到其各自对应socket文件描述符。
10.根据权利要求9所述的多容器间通信的装置,其特征在于,所述装置还包括:配置模块;
所述配置模块,位于所述主控系统中,用于预先配置所述至少两个socket文件描述符中每个socket文件描述符对应的名称。
CN201611069923.8A 2016-11-29 2016-11-29 多容器间通信的方法及装置 Active CN106487811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611069923.8A CN106487811B (zh) 2016-11-29 2016-11-29 多容器间通信的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611069923.8A CN106487811B (zh) 2016-11-29 2016-11-29 多容器间通信的方法及装置

Publications (2)

Publication Number Publication Date
CN106487811A true CN106487811A (zh) 2017-03-08
CN106487811B CN106487811B (zh) 2019-06-25

Family

ID=58274611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611069923.8A Active CN106487811B (zh) 2016-11-29 2016-11-29 多容器间通信的方法及装置

Country Status (1)

Country Link
CN (1) CN106487811B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066874A (zh) * 2017-04-18 2017-08-18 北京元心科技有限公司 容器系统间交互验证信息的方法及装置
CN108563513A (zh) * 2017-12-29 2018-09-21 北京元心科技有限公司 进程间通信的方法及装置
CN109343974A (zh) * 2018-09-14 2019-02-15 珠海国芯云科技有限公司 基于容器的虚拟桌面的进程间通信方法及装置
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN109634546A (zh) * 2018-12-07 2019-04-16 艾体威尔电子技术(北京)有限公司 一种基于容器的多屏支付装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938700A (zh) * 2009-06-30 2011-01-05 中兴通讯股份有限公司 一种广播多播服务系统中数据流传输的方法和系统
CN102413032A (zh) * 2010-09-23 2012-04-11 微软公司 提供使用多承租人中继的虚拟网络
CN104580734A (zh) * 2015-01-20 2015-04-29 宇龙计算机通信科技(深圳)有限公司 多系统设备的数据同步方法、数据同步系统和终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938700A (zh) * 2009-06-30 2011-01-05 中兴通讯股份有限公司 一种广播多播服务系统中数据流传输的方法和系统
CN102413032A (zh) * 2010-09-23 2012-04-11 微软公司 提供使用多承租人中继的虚拟网络
CN104580734A (zh) * 2015-01-20 2015-04-29 宇龙计算机通信科技(深圳)有限公司 多系统设备的数据同步方法、数据同步系统和终端

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066874A (zh) * 2017-04-18 2017-08-18 北京元心科技有限公司 容器系统间交互验证信息的方法及装置
CN108563513A (zh) * 2017-12-29 2018-09-21 北京元心科技有限公司 进程间通信的方法及装置
CN109343974A (zh) * 2018-09-14 2019-02-15 珠海国芯云科技有限公司 基于容器的虚拟桌面的进程间通信方法及装置
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN109542590B (zh) * 2018-11-28 2022-12-20 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN109634546A (zh) * 2018-12-07 2019-04-16 艾体威尔电子技术(北京)有限公司 一种基于容器的多屏支付装置

Also Published As

Publication number Publication date
CN106487811B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN106487811A (zh) 多容器间通信的方法及装置
CN108449418B (zh) 一种混合云平台管理系统及方法
CN105046156B (zh) 智能终端及其设备访问权限控制方法
US10003651B2 (en) Maritime communication system and method
CN105138896B (zh) 智能终端及其硬件设备访问权限控制方法
CN106789931A (zh) 多系统的网络隔离共享方法及装置
CN105184153B (zh) 智能终端及其基于多级容器的应用程序运行方法
CN106406931A (zh) 应用程序中直播间快捷启动方法、装置及终端设备
CN106535160B (zh) 双系统双sim卡网络隔离传输的方法及系统
CN101606147A (zh) 在通信系统中从应用服务提供商向客户端提供服务
CN106776013A (zh) 多系统的资源调度方法及装置
CN103442032A (zh) 一种基于云服务的车载导航方法及系统
CN105204816A (zh) 在多系统中对音频进行控制的方法及装置
CN106453413A (zh) 在多系统中应用SELinux安全策略的方法及装置
CN106302107A (zh) 预览即时通讯消息的方法及装置
CN102546166A (zh) 一种身份认证方法、系统及装置
CN107291336A (zh) 多系统间应用程序的启动方法、装置及终端设备
CN106776066A (zh) 多系统的系统功能处理方法及装置
CN104754507A (zh) 信息推送方法及装置
CN115589396A (zh) 服务管理方法、系统、装置、电子设备及存储介质
CN106413063A (zh) 多系统Wi‑Fi共享的方法及装置
CN107872472A (zh) 一种通过web界面与车机交互的方法及系统
CN104166954A (zh) 汽车调度方法和装置
CN202889464U (zh) 一种基于人工坐席及后台的车载通讯交互系统
CN109900286A (zh) 导航方法、服务器及导航系统

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20210203

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170308

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method and device of communication between multiple containers

Granted publication date: 20190625

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract