CN108228313B - 下游容器的发现方法及装置 - Google Patents

下游容器的发现方法及装置 Download PDF

Info

Publication number
CN108228313B
CN108228313B CN201711235950.2A CN201711235950A CN108228313B CN 108228313 B CN108228313 B CN 108228313B CN 201711235950 A CN201711235950 A CN 201711235950A CN 108228313 B CN108228313 B CN 108228313B
Authority
CN
China
Prior art keywords
container
information
upstream
downstream
server
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.)
Active
Application number
CN201711235950.2A
Other languages
English (en)
Other versions
CN108228313A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201711235950.2A priority Critical patent/CN108228313B/zh
Publication of CN108228313A publication Critical patent/CN108228313A/zh
Application granted granted Critical
Publication of CN108228313B publication Critical patent/CN108228313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/4555Para-virtualisation, i.e. guest operating system has to be modified
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种下游容器的发现方法及装置。本发明实施例提供的下游容器的发现方法及装置,通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,所述上游容器将包括自身的访问规则的所述下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。

Description

下游容器的发现方法及装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种下游容器的发现方法及装置。
背景技术
近年来,容器技术得到了迅猛发展。容器是一种实现操作系统虚拟化的方式,使用容器可以在资源隔离的条件下运行应用程序及其相关依赖组件。容器不需要为每个应用分配单独的操作系统,实例规模更小、创建和迁移速度也更快。相比于虚拟机,单个操作系统能够承载更多的容器,容器之间可以进行数据通信。
容器与其他容器进行通信之前,先要根据容器注册信息发现其下游容器,来建立两者之间的上下游映射关系。目前,数据库中存储了各容器的注册信息,根据容器的注册信息可以确定容器间是否可能建立上下游关系。在上游容器发现下游容器时,由容器管理系统访问数据库查找并确定下游容器,建立下游容器与上游容器的映射关系,完成下游容器的发现过程。但是,当容器数量较多时,通常会发生多个容器管理系统访问数据库查找下游容器的情况,造成数据库的访问量很大,导致下游容器的发现速度很慢。
发明内容
本发明实施例提供一种下游容器的发现方法及装置,以解决现有技术中当容器数量较多时,通常会发生多个容器管理系统访问数据库查找下游容器的情况,造成数据库的访问量很大,导致下游容器的发现速度很慢的问题。
本发明实施例的一个方面是提供一种下游容器的发现方法,包括:
上游容器从第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,并存储所述上游容器的备选容器信息;所述完备容器信息包括各容器的属性信息和关联信息;
所述上游容器根据存储的备选容器信息,从备选容器中确定下游容器;
所述上游容器根据自身的访问规则生成所述下游容器的关联信息,所述关联信息中包括所述上游容器的访问规则;
所述上游容器将所述关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息。
本发明实施例的另一个方面是提供一种下游容器的发现方法,包括:
第一服务器将数据库中完备容器信息同步存储到内存中,所述完备容器信息包括各容器的属性信息和关联信息,以供上游容器从所述第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息;
所述第一服务器监测到所述上游容器在备容器信息中增加了下游容器的关联信息时,向所述下游容器发出信息更新指令,以使所述下游容器在接收到所述信息更新指令后从所述第一服务器内存中的完备容器信息中获取所述关联信息;
其中,所述关联信息中包括所述上游容器的访问规则。
本发明实施例的另一个方面是提供一种下游容器的发现装置,包括:
获取模块,用于上游容器从第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,并存储所述上游容器的备选容器信息;所述完备容器信息包括各容器的属性信息和关联信息;
确定模块,用于所述上游容器根据存储的备选容器信息,从备选容器中确定下游容器;
生成模块,用于所述上游容器根据自身的访问规则生成所述下游容器的关联信息,所述关联信息中包括所述上游容器的访问规则;
发现模块,用于所述上游容器将所述关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息。
本发明实施例的另一个方面是提供一种下游容器的发现装置,包括:
数据管理模块,用于第一服务器将数据库中完备容器信息同步存储到内存中,所述完备容器信息包括各容器的属性信息和关联信息,以供上游容器从所述第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息;
检测模块,用于所述第一服务器监测到所述上游容器在备容器信息中增加了下游容器的关联信息时,向所述下游容器发出信息更新指令,以使所述下游容器在接收到所述信息更新指令后从所述第一服务器内存中的完备容器信息中获取所述关联信息;
其中,所述关联信息中包括所述上游容器的访问规则。
本发明实施例提供的下游容器的发现方法及装置,通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,所述上游容器将包括自身的访问规则的所述下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
附图说明
图1为本发明实施例一提供的下游容器的发现方法流程图;
图2为本发明实施例二提供的下游容器的发现方法流程图;
图3为本发明实施例三提供的下游容器的发现方法流程图;
图4为本发明实施例四提供的下游容器的发现方法流程图;
图5为本发明实施例五提供的下游容器的发现装置的结构示意图;
图6为本发明实施例六提供的下游容器的发现装置的结构示意图;
图7为本发明实施例七提供的下游容器的发现装置的结构示意图;
图8为本发明实施例八提供的下游容器的发现装置的结构示意图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的下游容器的发现方法流程图。本发明实施例针对现有技术中当容器数量较多时,通常会发生多个容器管理系统访问数据库查找下游容器的情况,造成数据库的访问量很大,导致下游容器的发现速度很慢的问题,提供了下游容器的发现方法。如图1所示,该方法具体步骤如下:
步骤S101、上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息,并存储上游容器的备选容器信息。
其中,完备容器信息包括各容器的属性信息和关联信息,备选容器信息包括上游容器的所有备选容器的属性信息。容器的属性信息至少包括:容器标识、健康度、访问规则信息、用途标签、下游容器用途标签、资源使用情况。
在实际应用中,根据容器实现的功能不同,将容器分成多个不同的用途类型,为每个容器添加用途标签。容器属性信息中的下游容器用途标签是指根据预设的上下游关联规则,该容器的下游容器的可能用途标签。上游容器在发现下游容器时,具有不同用途标签的上游容器对下游容器的要求不同,根据预设的上下游关联规则,下游容器的用途标签必须是与上游容器相对应的下游容器用途标签中的一种。
第一服务器为用于存储容器的信息的数据库所在的服务器。在实际应用中,各容器会向第一服务器上报自身的属性信息和关联信息完成容器的注册,第一服务器会将所有容器的属性信息和关联信息存储在数据库中,也即是第一服务器将完备容器信息存储在数据库中。
本实施例中,第一服务器在内存中同步存储了完备容器信息,内存与数据库中的完备容器信息实时同步。在发现下游容器过程中,上游容器从第一服务器内存中的完备容器信息中一次性地获取上游容器的备选容器信息,并存储,从而使得后续无需访问第一服务器,直接根据存储的备选容器信息确定下游容器。
本实施例中,可以由上游容器自行从第一服务器中下载上游容器的备选容器信息,也可以由上游容器向第一服务器发送获取信息请求,由第一服务器根据获取信息请求获取上游容器的备选容器信息,并将上游容器的备选容器信息发送给上游容器,本实施例对于上游容器从第一服务器中获取上游容器的备选容器信息的具体实现方式不作具体限定。
在本发明的另一实施方式中,上游容器包括数据库组件,通过数据库组件从第一服务器数据库中的完备容器信息中获取上游容器的备选容器信息,并存储上游容器的备选容器信息。
步骤S102、上游容器根据存储的备选容器信息,从备选容器中确定下游容器。
其中,备选容器信息包括上游容器的备选容器的属性信息。
该步骤中,上游容器根据各备选容器的属性信息,从备选容器中选取状况最好的备选容器作为下游容器。例如,选择健康度最高的备选容器作为下游容器,或者选择资源使用情况最好的备选容器作为下游容器。另外,本实施例中,上游容器从备选容器中确定下游容器可以根据现有技术中容器管理系统为上游容器选择下游容器的方法实现,本实施例此处不再赘述。
步骤S103、上游容器根据自身的访问规则生成下游容器的关联信息,关联信息中包括上游容器的访问规则;上游容器将关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息。
其中,下游容器的关联信息为与下游容器相关联的信息。
本实施例中,在确定了下游容器之后,上游容器将自身的访问规则告知下游容器,具体可以采用如下方式实现:
上游容器根据自身的访问规则生成下游容器的关联信息,关联信息中包括上游容器的访问规则;然后将关联信息添加到第一服务器内存中的完备容器信息中。当第一服务器检测到完备容器信息中增加了下游容器的关联信息时会通知下游容器从第一服务器内存中的完备容器信息中获取关联信息。
在下游容器得到上游容器的访问规则之后,完成上游容器下游容器的发现过程,下游容器可以根据上游容器的访问规则访问上游容器,或者建立与上游容器的通信连接,以完成下游容器订阅上游容器的过程。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例二
图2为本发明实施例二提供的下游容器的发现方法流程图。在上述实施例一的基础上,本实施例中,上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息,包括:上游容器向第一服务器发送获取信息请求,获取信息请求中包括上游容器的标识信息,以使第一服务器根据上游容器的标识信息获取内存中存储的上游容器的备选容器信息,并向上游容器反馈上游容器的备选容器信息;上游容器接收第一服务器发送的上游容器的备选容器信息。如图2所示,该方法具体步骤如下:
步骤S201、上游容器向第一服务器发送获取信息请求,获取信息请求中包括上游容器的标识信息,以使第一服务器根据上游容器的标识信息获取内存中存储的上游容器的备选容器信息,并向上游容器反馈上游容器的备选容器信息。
其中,完备容器信息包括各容器的属性信息和关联信息,备选容器信息包括上游容器的所有备选容器的属性信息。容器的属性信息至少包括:容器标识、健康度、访问规则信息、用途标签、下游容器用途标签、资源使用情况。
本实施例中,在下游容器的发现过程中,上游容器主动向第一服务器发送获取信息请求,第一服务器在接收到获取信息请求之后,根据获取请求中的上游容器的标识信息,从完备容器信息中获取可以作为该上游容器的下游容器的备选容器的属性信息,将备选容器的属性信息发送给上游容器。
步骤S202、上游容器接收第一服务器发送的上游容器的备选容器信息,并存储上游容器的备选容器信息。
上述步骤S201-S202为本实施例提供的上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息的一种实现方式。本实施例中,第一服务器在内存中同步存储了完备容器信息,内存与数据库中的完备容器信息实时同步。在发现下游容器过程中,上游容器从第一服务器内存中的完备容器信息中一次性地获取上游容器的备选容器信息,并存储,从而使得后续无需访问第一服务器,直接根据存储的备选容器信息确定下游容器。
步骤S203、上游容器根据存储的备选容器信息,从备选容器中选择一个目标容器,并通过容器管理系统查找目标容器
本实施例中,上游容器根据各备选容器的属性信息,从备选容器中选取状况最好的备选容器作为下游容器。本实施例中,可以为备选容器的属性信息设置优先级,根据优先级最高的属性信息,选择状况最好的备选容器作为目标容器。例如,健康度的优先级最高、资源使用情况次之,则可以优先选择健康度最高的备选容器作为下游容器,若备选容器的健康度均相同,则选择资源使用情况选择目前资源使用最少的备选容器作为目标容器。另外,本实施例中,上游容器从备选容器中确定下游容器可以根据现有技术中容器管理系统为上游容器选择下游容器的方法实现,本实施例此处不再赘述。
具体地,上游容器通过容器管理系统查找目标容器,具体可以采用如下方式实现:
上游容器向容器管理系统发送目标容器查找请求,目标容器查找请求包括目标容器的属性信息,以使容器管理系统在接收到目标容器查找请求之后,根据目标容器的属性信息查找目标容器,若查找成功则向上游容器发送查找成功消息;否则,若查找不成功则向上游容器发送查找失败消息;上游容器在接收到容器管理系统发送的查找成功消息时,确定查找目标容器成功,上游容器在接收到容器管理系统发送的查找失败消息时,确定查找目标容器失败。
本实际应用中,技术人员根据实际需要创建或者销毁容器,当容器不再需要或者出现故障无法使用时,容器会被销毁。本实施例中,在下游容器的发现过程中,通过容器管理系统查找目标容器,若能够查找到目标容器,则说明目标容器可以正常使用,可以作为下游容器使用。
步骤S204、上游容器确定查找目标容器是否成功。
若上游容器确定查找目标容器失败,从备选容器中重新选择一个目标容器,返回执行步骤S203通过容器管理系统查找重新选择的目标容器;若上游容器确定查找目标容器成功,执行步骤S205将查找成功的目标容器确定为下游容器。
本实施例中,若上游容器确定查找目标容器失败,则说明目标容器不能够正常使用,无法作为下游容器使用,上游容器需要重新确定目标容器。若上游容器确定查找目标容器成功,则说明目标容器能够正常使用,可以作为下游容器使用。
步骤S205、若上游容器确定查找目标容器成功,将查找成功的目标容器确定为下游容器。
上述步骤S203-S205为本实施例提供的上游容器根据存储的备选容器信息从备选容器中确定下游容器的一种实现方式。另外,本发明其他实施方式中,上游容器还可以采用现有技术中任意一种确定目标容器是否可以正常使用的方法来实现,本实施例此处不再赘述。
步骤S206、上游容器根据自身的访问规则生成下游容器的关联信息,关联信息中包括上游容器的访问规则;游容器将关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息。
其中,下游容器的关联信息为与下游容器相关联的信息。
本实施例中,在确定了下游容器之后,上游容器将自身的访问规则告知下游容器,具体可以采用如下方式实现:
上游容器根据自身的访问规则生成下游容器的关联信息,关联信息中包括上游容器的访问规则;然后将关联信息添加到第一服务器内存中的完备容器信息中。当第一服务器检测到完备容器信息中增加了下游容器的关联信息时会通知下游容器从第一服务器内存中的完备容器信息中获取关联信息。
在下游容器得到上游容器的访问规则之后,完成上游容器下游容器的发现过程,下游容器可以根据上游容器的访问规则访问上游容器,或者建立与上游容器的通信连接,以完成下游容器订阅上游容器的过程。
可选地,在接收到第一服务器的更新指令时,上游容器向第一服务器发送获取信息请求,从第一服务器的内存中获取上游容器的备选容器信息和/或关联信息,并更新本地存储的备选容器信息和/或关联信息。
例如,在接收到第一服务器的更新指令时,上游容器可以根据需要从第一服务器的内存中获取上游容器的备选容器信息、或者关联信息、或者同时获取上游容器的备选容器信息和关联信息。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例三
图3为本发明实施例三提供的下游容器的发现方法流程图。本发明实施例针对现有技术中当容器数量较多时,通常会发生多个容器管理系统访问数据库查找下游容器的情况,造成数据库的访问量很大,导致下游容器的发现速度很慢的问题,提供了下游容器的发现方法。如图3所示,该方法具体步骤如下:
步骤S301、第一服务器将数据库中完备容器信息同步存储到内存中,完备容器信息包括各容器的属性信息和关联信息,以供上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息。
其中,完备容器信息包括各容器的属性信息和关联信息,备选容器信息包括上游容器的所有备选容器的属性信息。容器的属性信息至少包括:容器标识、健康度、访问规则信息、用途标签、下游容器用途标签、资源使用情况。
在实际应用中,根据容器实现的功能不同,将容器分成多个不同的用途类型,为每个容器添加用途标签。容器属性信息中的下游容器用途标签是指根据预设的上下游关联规则,该容器的下游容器的可能用途标签。上游容器在发现下游容器时,具有不同用途标签的上游容器对下游容器的要求不同,根据预设的上下游关联规则,下游容器的用途标签必须是与上游容器相对应的下游容器用途标签中的一种。
第一服务器为用于存储容器的信息的数据库所在的服务器。在实际应用中,各容器会向第一服务器上报自身的属性信息和关联信息完成容器的注册,第一服务器会将所有容器的属性信息和关联信息存储在数据库中,也即是第一服务器将完备容器信息存储在数据库中。
本实施例中,第一服务器在内存中同步存储了完备容器信息,内存与数据库中的完备容器信息实时同步。因此,在发现下游容器过程中,上游容器可以从第一服务器内存中的完备容器信息中一次性地获取上游容器的备选容器信息,并存储,从而使得后续无需访问第一服务器,直接根据存储的备选容器信息确定下游容器。
本实施例中,可以由上游容器自行从第一服务器中下载上游容器的备选容器信息,也可以由上游容器向第一服务器发送获取信息请求,由第一服务器根据获取信息请求获取上游容器的备选容器信息,并将上游容器的备选容器信息发送给上游容器,本实施例对于上游容器从第一服务器中获取上游容器的备选容器信息的具体实现方式不作具体限定。
在本发明的另一实施方式中,上游容器包括数据库组件,通过数据库组件从第一服务器数据库中的完备容器信息中获取上游容器的备选容器信息,并存储上游容器的备选容器信息。
步骤S302、第一服务器监测到上游容器在完备容器信息中增加了下游容器的关联信息时,向下游容器发出信息更新指令,以使下游容器在接收到信息更新指令后从第一服务器内存中的完备容器信息中获取关联信息。
其中,下游容器的关联信息由上游容器根据自身的访问规则生成,包括上游容器的访问规则。
本实施例中,第一服务器监测到完备容器信息添加了信息时,根据添加的信息确定与该信息关联的容器,向与该信息关联的容器发送信息更新指令,容器在接收到第一服务器发送的信息更新指令之后,从第一服务器内存中的完备容器信息中获取自己的关联信息,并更新本地存储的关联信息。
另外,第一服务器监测到内存中的完备容器信息发生变化时,对数据库中存储的完备容器信息进行同步更新;第一服务器监测到数据库中的完备容器信息发生变化时,对内存中存储的完备容器信息进行同步更新,以保持数据库中的完备容器信息与内存中存储的完备容器信息一致。
在本发明另一实施方式中,容器在接收到第一服务器发送的信息更新指令之后,还可以从第一服务器内存中的完备容器信息中获取自己的备选容器信息,并更新本地存储的备选容器信息;或者,容器在接收到第一服务器发送的信息更新指令之后,还可以从第一服务器内存中的完备容器信息中获取自己的备选容器信息和关联信息,并更新本地存储的备选容器信息和关联信息。
在下游容器得到上游容器的访问规则之后,完成上游容器下游容器的发现过程,下游容器可以根据上游容器的访问规则访问上游容器,或者建立与上游容器的通信连接,以完成下游容器订阅上游容器的过程。
本发明实施例通过在发现下游容器时,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例四
图4为本发明实施例四提供的下游容器的发现方法流程图。在上述实施例三的基础上,本实施例中,第一服务器将数据库中完备容器信息同步存储到内存中之后,还包括:第一服务器接收上游容器发送的获取信息请求,获取信息请求中包括上游容器的标识信息;第一服务器根据上游容器的标识信息,从内存中获取上游容器的备选容器信息,并将上游容器的备选容器信息发送给上游容器,以使上游容器接收并存储上游容器的备选容器信息。如图4所示,该方法具体步骤如下:
步骤S401、第一服务器将数据库中完备容器信息同步存储到内存中,完备容器信息包括各容器的属性信息和关联信息。
该步骤与上述步骤S301相同,本实施例此处不再赘述。
步骤S402、第一服务器接收上游容器发送的获取信息请求,获取信息请求中包括上游容器的标识信息。
步骤S403、第一服务器根据上游容器的标识信息,从内存中获取上游容器的备选容器信息,并将上游容器的备选容器信息发送给上游容器,以使上游容器接收并存储上游容器的备选容器信息。
在下游容器的发现过程中,上游容器主动向第一服务器发送获取信息请求。本实施例中,第一服务器在接收到获取信息请求之后,根据获取请求中的上游容器的标识信息,从完备容器信息中获取可以作为该上游容器的下游容器的备选容器的属性信息,将备选容器的属性信息发送给上游容器。
上述步骤S201-S202为本实施例提供的上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息的一种实现方式。本实施例中,第一服务器在内存中同步存储了完备容器信息,内存与数据库中的完备容器信息实时同步。在发现下游容器过程中,上游容器从第一服务器内存中的完备容器信息中一次性地获取上游容器的备选容器信息,并存储,从而使得后续无需访问第一服务器,直接根据存储的备选容器信息确定下游容器。
步骤S404、第一服务器监测到上游容器在备容器信息中增加了下游容器的关联信息时,向下游容器发出信息更新指令,以使下游容器在接收到信息更新指令后从第一服务器内存中的完备容器信息中获取关联信息。
该步骤与上述步骤S302相同,本实施例此处不再赘述。
本发明实施例通过在发现下游容器时,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例五
图5为本发明实施例五提供的下游容器的发现装置的结构示意图。本发明实施例提供的下游容器的发现装置可以执行实施例一所提供的下游容器的发现方法实施例的处理流程,如图5所示,该装置50包括:获取模块501、确定模块502、生成模块503和发现模块504。
具体地,获取模块501用于上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息,并存储上游容器的备选容器信息;完备容器信息包括各容器的属性信息和关联信息。
确定模块502用于上游容器根据存储的备选容器信息,从备选容器中确定下游容器。
生成模块503用于上游容器根据自身的访问规则生成下游容器的关联信息,关联信息中包括上游容器的访问规则。
发现模块504用于上游容器将关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,完成下游容器的发现过程。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法,具体功能此处不再赘述。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例六
图6为本发明实施例六提供的下游容器的发现装置的结构示意图。在上述实施例五的基础上,本实施例中,获取模块501包括发送子模块和接收子模块。
具体地,发送子模块用于上游容器向第一服务器发送获取信息请求,获取信息请求中包括上游容器的标识信息,以使第一服务器根据上游容器的标识信息获取内存中存储的上游容器的备选容器信息,并向上游容器反馈上游容器的备选容器信息。
接收子模块用于上游容器接收第一服务器发送的上游容器的备选容器信息。
可选地,确定模块包括:查找子模块和确定子模块。
其中,查找子模块用于上游容器根据存储的备选容器信息,从备选容器中选择一个目标容器,通过容器管理系统查找目标容器。
查找子模块还用于若上游容器确定查找目标容器失败,从备选容器中重新选择一个目标容器,并通过容器管理系统查找重新选择的目标容器,直至上游容器确定查找目标容器成功。
确定子模块用于若上游容器确定查找目标容器成功,将查找成功的目标容器确定为下游容器。
本实施例中,如图6所示,该装置50还包括:更新模块505,用于在接收到第一服务器的更新指令时,上游容器向第一服务器发送获取信息请求,从第一服务器的内存中获取上游容器的备选容器信息和/或关联信息,并更新本地存储的备选容器信息和/或关联信息。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法,具体功能此处不再赘述。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例七
图7为本发明实施例七提供的下游容器的发现装置的结构示意图。本发明实施例提供的下游容器的发现装置可以执行实施例三提供的下游容器的发现方法实施例的处理流程,如图7所示,该装置60包括:数据管理模块601和检测模块602。
其中,数据管理模块601用于第一服务器将数据库中完备容器信息同步存储到内存中,完备容器信息包括各容器的属性信息和关联信息,以供上游容器从第一服务器内存中的完备容器信息中获取上游容器的备选容器信息。
检测模块602用于第一服务器监测到上游容器在备容器信息中增加了下游容器的关联信息时,向下游容器发出信息更新指令,以使下游容器在接收到信息更新指令后从第一服务器内存中的完备容器信息中获取关联信息,完成下游容器的发现过程。
其中,关联信息中包括上游容器的访问规则。
本发明实施例提供的装置可以具体用于执行上述实施例三所提供的方法,具体功能此处不再赘述。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,上游容器将包括自身的访问规则的下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使第一服务器通知下游容器从第一服务器内存中的完备容器信息中获取关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
实施例八
图8为本发明实施例八提供的下游容器的发现装置的结构示意图。在上述实施例七的基础上,本实施例中,如图8所示,该装置60还包括:接收模块603和处理模块604。
其中,接收模块603用于第一服务器接收上游容器发送的获取信息请求,获取信息请求中包括上游容器的标识信息。
处理模块604用于第一服务器根据上游容器的标识信息,从内存中获取上游容器的备选容器信息,并将上游容器的备选容器信息发送给上游容器,以使上游容器接收并存储上游容器的备选容器信息。
本发明实施例提供的装置可以具体用于执行上述实施例四所提供的方法,具体功能此处不再赘述。
本发明实施例通过在下游容器的发现过程中,上游容器从第一服务器内存中获取备选容器信息并存储,上游容器根据自身存储的备选容器信息确定下游容器,无需为了确定下游容器访问数据库;在确定下游容器之后,所述上游容器将包括自身的访问规则的所述下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息,无需访问数据库,从而大大减少了下游容器的发现过程中访问数据库的次数,大大提高了下游容器的发现效率。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种下游容器的发现方法,其特征在于,包括:
上游容器从第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,并存储所述上游容器的备选容器信息;所述完备容器信息包括各容器的属性信息和各容器的关联信息,所述备选容器信息包括备选容器的属性信息,所述备选容器包括待成为下游容器的容器;
所述上游容器根据存储的备选容器信息,从备选容器中确定下游容器;
所述上游容器根据自身的访问规则生成所述下游容器的关联信息,所述下游容器的关联信息中包括所述上游容器的访问规则;
所述上游容器将所述下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述下游容器的关联信息。
2.根据权利要求1所述的方法,其特征在于,所述上游容器从第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,包括:
所述上游容器向所述第一服务器发送获取信息请求,所述获取信息请求中包括所述上游容器的标识信息,以使所述第一服务器根据所述上游容器的标识信息获取内存中存储的所述上游容器的备选容器信息,并向所述上游容器反馈所述上游容器的备选容器信息;
上游容器接收所述第一服务器发送的所述上游容器的备选容器信息。
3.根据权利要求1所述的方法,其特征在于,所述上游容器根据存储的备选容器信息,从备选容器中确定下游容器,包括:
所述上游容器根据存储的所述备选容器信息,从所述备选容器中选择一个目标容器,通过容器管理系统查找所述目标容器;
若上游容器确定查找所述目标容器失败,从所述备选容器中重新选择一个目标容器,并通过容器管理系统查找重新选择的目标容器,直至上游容器确定查找目标容器成功,将查找成功的目标容器确定为所述下游容器。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
在接收到所述第一服务器的更新指令时,所述上游容器向所述第一服务器发送获取信息请求,从所述第一服务器的内存中获取所述上游容器的备选容器信息和/或关联信息,并更新本地存储的备选容器信息和/或关联信息。
5.一种下游容器的发现方法,其特征在于,包括:
第一服务器将数据库中完备容器信息同步存储到内存中,所述完备容器信息包括各容器的属性信息和各容器的关联信息,以供上游容器从所述第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,所述备选容器信息包括备选容器的属性信息,所述备选容器包括待成为下游容器的容器;
所述第一服务器监测到所述上游容器在备选容器信息中增加了下游容器的关联信息时,向所述下游容器发出信息更新指令,以使所述下游容器在接收到所述信息更新指令后从所述第一服务器内存中的完备容器信息中获取所述下游容器的关联信息;
其中,所述下游容器的关联信息中包括所述上游容器的访问规则。
6.根据权利要求5所述的方法,其特征在于,所述第一服务器将数据库中完备容器信息同步存储到内存中之后,还包括:
所述第一服务器接收所述上游容器发送的获取信息请求,所述获取信息请求中包括所述上游容器的标识信息;
第一服务器根据所述上游容器的标识信息,从内存中获取所述上游容器的备选容器信息,并将所述上游容器的备选容器信息发送给所述上游容器,以使所述上游容器接收并存储所述上游容器的备选容器信息。
7.一种下游容器的发现装置,其特征在于,包括:
获取模块,用于上游容器从第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,并存储所述上游容器的备选容器信息;所述完备容器信息包括各容器的属性信息和各容器的关联信息,所述备选容器信息包括备选容器的属性信息,所述备选容器为待成为下游容器的容器;
确定模块,用于所述上游容器根据存储的备选容器信息,从备选容器中确定下游容器;
生成模块,用于所述上游容器根据自身的访问规则生成所述下游容器的关联信息,所述下游容器的关联信息中包括所述上游容器的访问规则;
发现模块,用于所述上游容器将所述下游容器的关联信息添加到第一服务器内存中的完备容器信息中,以使所述第一服务器通知所述下游容器从所述第一服务器内存中的完备容器信息中获取所述关联信息。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
发送子模块,用于所述上游容器向所述第一服务器发送获取信息请求,所述获取信息请求中包括所述上游容器的标识信息,以使所述第一服务器根据所述上游容器的标识信息获取内存中存储的所述上游容器的备选容器信息,并向所述上游容器反馈所述上游容器的备选容器信息;
接收子模块,用于上游容器接收所述第一服务器发送的所述上游容器的备选容器信息。
9.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
查找子模块,用于所述上游容器根据存储的所述备选容器信息,从所述备选容器中选择一个目标容器,通过容器管理系统查找所述目标容器;
所述查找子模块还用于若所述上游容器确定查找所述目标容器失败,从所述备选容器中重新选择一个目标容器,并通过所述容器管理系统查找重新选择的目标容器,直至所述上游容器确定查找目标容器成功;
确定子模块,用于若所述上游容器确定查找目标容器成功,将查找成功的目标容器确定为所述下游容器。
10.根据权利要求7-9任一项所述的装置,其特征在于,还包括:
更新模块,用于在接收到所述第一服务器的更新指令时,所述上游容器向所述第一服务器发送获取信息请求,从所述第一服务器的内存中获取所述上游容器的备选容器信息和/或关联信息,并更新本地存储的备选容器信息和/或关联信息。
11.一种下游容器的发现装置,其特征在于,包括:
数据管理模块,用于第一服务器将数据库中完备容器信息同步存储到内存中,所述完备容器信息包括各容器的属性信息和关联信息,以供上游容器从所述第一服务器内存中的完备容器信息中获取所述上游容器的备选容器信息,所述备选容器信息包括备选容器的属性信息,所述备选容器包括待成为下游容器的容器;
检测模块,用于所述第一服务器监测到所述上游容器在备容器信息中增加了下游容器的关联信息时,向所述下游容器发出信息更新指令,以使所述下游容器在接收到所述信息更新指令后从所述第一服务器内存中的完备容器信息中获取所述下游容器的关联信息;
其中,所述关联信息中包括所述上游容器的访问规则。
12.根据权利要求11所述的装置,其特征在于,还包括:
接收模块,用于所述第一服务器接收所述上游容器发送的获取信息请求,所述获取信息请求中包括所述上游容器的标识信息;
处理模块,用于第一服务器根据所述上游容器的标识信息,从内存中获取所述上游容器的备选容器信息,并将所述上游容器的备选容器信息发送给所述上游容器,以使所述上游容器接收并存储所述上游容器的备选容器信息。
CN201711235950.2A 2017-11-30 2017-11-30 下游容器的发现方法及装置 Active CN108228313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711235950.2A CN108228313B (zh) 2017-11-30 2017-11-30 下游容器的发现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711235950.2A CN108228313B (zh) 2017-11-30 2017-11-30 下游容器的发现方法及装置

Publications (2)

Publication Number Publication Date
CN108228313A CN108228313A (zh) 2018-06-29
CN108228313B true CN108228313B (zh) 2021-11-30

Family

ID=62653646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711235950.2A Active CN108228313B (zh) 2017-11-30 2017-11-30 下游容器的发现方法及装置

Country Status (1)

Country Link
CN (1) CN108228313B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503882A (zh) * 2014-12-25 2015-04-08 北京京东尚科信息技术有限公司 容器管理方法及装置
CN104950757A (zh) * 2015-06-12 2015-09-30 北京奇虎科技有限公司 监控容器的方法及系统
CN105515864A (zh) * 2015-12-11 2016-04-20 深圳市中润四方信息技术有限公司 容器资源自适应调整方法及系统
CN105550576A (zh) * 2015-12-11 2016-05-04 华为技术服务有限公司 容器间通信的方法与装置
CN106776212A (zh) * 2016-12-09 2017-05-31 中电科华云信息技术有限公司 容器集群部署多进程应用的监管系统及方法
CN107105061A (zh) * 2017-05-31 2017-08-29 北京中电普华信息技术有限公司 一种服务注册方法及装置
CN107196982A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 一种用户请求的处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10892942B2 (en) * 2016-01-22 2021-01-12 Equinix, Inc. Container-based cloud exchange disaster recovery

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503882A (zh) * 2014-12-25 2015-04-08 北京京东尚科信息技术有限公司 容器管理方法及装置
CN104950757A (zh) * 2015-06-12 2015-09-30 北京奇虎科技有限公司 监控容器的方法及系统
CN105515864A (zh) * 2015-12-11 2016-04-20 深圳市中润四方信息技术有限公司 容器资源自适应调整方法及系统
CN105550576A (zh) * 2015-12-11 2016-05-04 华为技术服务有限公司 容器间通信的方法与装置
CN107196982A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 一种用户请求的处理方法和装置
CN106776212A (zh) * 2016-12-09 2017-05-31 中电科华云信息技术有限公司 容器集群部署多进程应用的监管系统及方法
CN107105061A (zh) * 2017-05-31 2017-08-29 北京中电普华信息技术有限公司 一种服务注册方法及装置

Also Published As

Publication number Publication date
CN108228313A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
US11632441B2 (en) Methods, systems, and devices for electronic note identifier allocation and electronic note generation
CN110096336B (zh) 数据监控方法、装置、设备和介质
US11627056B2 (en) State controller running in a Kubernetes system and method for operating same
US8856585B2 (en) Hardware failure mitigation
CN110247984B (zh) 业务处理方法、装置及存储介质
CN102355682A (zh) 传感器适配方法、装置及物联网系统
CN105468718B (zh) 数据一致性处理方法、装置和系统
JP2019502186A (ja) グローバル情報を取得、処理および更新するためのシステムおよび方法
US10282120B2 (en) Method, apparatus and system for inserting disk
CN107666493B (zh) 一种数据库配置方法及其设备
EP3786802A1 (en) Method and device for failover in hbase system
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN110677492A (zh) 一种访问请求处理方法、装置、电子设备及存储介质
CN110740155A (zh) 分布式系统中的请求处理方法及装置
CN110019444B (zh) 一种操作请求处理方法、装置、设备及系统
KR20180109921A (ko) 데이터 저장과 서비스 처리 방법 및 장치
CN105373563B (zh) 数据库切换方法及装置
US11128622B2 (en) Method for processing data request and system therefor, access device, and storage device
CN108667750B (zh) 虚拟资源管理方法及装置
CN113535262A (zh) 一种代理节点的启动控制方法、装置、设备及存储介质
CN108228313B (zh) 下游容器的发现方法及装置
CN112395220A (zh) 共享存储控制器的处理方法、装置、系统及存储控制器
CN109005071B (zh) 一种决策部署方法和调度设备
CN107340974B (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
GR01 Patent grant
GR01 Patent grant