CN114827115A - 容器内Web服务的访问方法、装置、电子设备及存储介质 - Google Patents
容器内Web服务的访问方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114827115A CN114827115A CN202210618567.XA CN202210618567A CN114827115A CN 114827115 A CN114827115 A CN 114827115A CN 202210618567 A CN202210618567 A CN 202210618567A CN 114827115 A CN114827115 A CN 114827115A
- Authority
- CN
- China
- Prior art keywords
- port
- target
- container
- web service
- task
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013507 mapping Methods 0.000 claims description 110
- 238000012545 processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 76
- 238000010586 diagram Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种容器内Web服务的访问方法、装置、电子设备及存储介质。该方法包括:在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,其中,任务信息存储于目标端口所在的目标容器中;然后获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;最后基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。在每次需要获取任务信息时,利用处于空闲的转发端口跟目标端口临时建立起链接通道,对于空闲状态的转发端口,能够实现循环利用,有效避免管理节点端口被过多的占用问题。
Description
技术领域
本申请实施例涉及容器端口转发技术领域,尤其涉及一种容器内Web服务的访问方法、装置、电子设备及存储介质。
背景技术
随着容器技术的发展,容器对外提供Web服务的场景特别多,比如超算集群中,计算节点一般是不开放外网的,计算节点的容器内部开放指定的端口,该端口指向容器内的Web服务,外部可以通过管理节点对外开放的端口以及该计算节点容器内指定的端口访问到该容器内的Web服务。
由于集群中的容器数量庞大,每个容器内部的Web服务都需要通过对应容器的端口与管理节点的端口建立联系,而且每个Web服务都需要独自对应管理节点的一个端口,那么集群中有多少Web服务,就需要占用管理节点多少端口。
而管理节点的端口数量是有限的,在集群内Web服务过多时,就会占据管理节点过多的端口,很有可能会出现管理节点端口不足的问题。
发明内容
本申请实施例提供一种容器内Web服务的访问方法、装置、电子设备及存储介质,以避免管理节点端口被过多的占用。
第一方面,本申请实施例提供了一种容器内Web服务的访问方法,所述方法包括:
在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取所述目标任务关联的目标端口,所述任务信息存储于所述目标端口所在的目标容器中;
获取管理节点当前处于空闲状态的转发端口,并建立所述转发端口和所述目标端口的链接通道;
基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
可选的,所述获取管理节点当前处于空闲状态的转发端口,包括:
判断所述管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口;
若存在处于空闲状态的目标开放端口,将所述目标开放端口作为当前处于空闲状态的转发端口。
上述技术方案,可以针对管理节点当前已经开放的开放端口进行循环利用,进一步减轻管理节点的端口压力。
可选的,所述判断所述管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口,包括:
获取Lua共享内存中存储的映射数据,所述映射数据包括多条映射关系,每条所述映射关系包括管理节点当前开放的任一开放端口以及所述任一开放端口对应的容器端口;
判断所述映射数据中是否存在使用状态为第一状态的目标映射关系,并将所述目标映射关系中的开放端口确定为处于空闲状态的目标开放端口。
上述技术方案,可以通过Lua内存中存储的映射数据来反映管理节点当前存在的所有开放端口,并通过对映射数据中的映射关系引入使用状态的概念,来确定开放端口是否能确定为空闲状态的目标开放端口。
可选的,在所述获取管理节点当前处于空闲状态的转发端口之后,且在所述建立所述转发端口和所述目标端口的链接通道之前,所述方法还包括:
删除当前Lua共享内存中包含所述转发端口的映射关系;
将所述转发端口与所述目标端口进行映射,将映射产生的映射关系存储到所述Lua共享内存中,并将产生的所述映射关系的使用状态设置为第二状态。
上述方案中,通过对Lua共享内存中映射数据以及转发端口对应的映射关系的使用状态的更新,保证Lua共享内存中的映射数据与端口间实际链接状态相符,便于准确确定所需的转发端口。
可选的,所述建立所述转发端口和所述目标端口的链接通道,包括:
获取所述转发端口所在的管理节点的用户请求资源定位符,并将所述用户请求资源定位符与所述产生的映射关系进行绑定,得到绑定关系;
利用所述用户请求资源定位符与所述目标端口进行拼接,得到Web服务访问资源定位符;
将所述Web服务访问资源定位符以及所述绑定关系确定为链接通道。
上述方案中,利用web服务访问资源定位符,可以使访问方式变得更为灵活,用户可以通过web服务访问资源定位符进行目标端口的访问,而管理节点能够通过该绑定关系确定出转发到目标端口的转发端口。
可选的,所述基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息,包括:
从所述Web服务访问资源定位符中提取所述用户请求资源定位符,并基于所述绑定关系确定所述用户请求资源定位符对应的映射关系;
通过所述映射关系中的转发端口以及目标端口访问所述Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
上述方案中,可以实现用户通过Web服务访问资源定位符以及绑定关系,正确地通过转发端口转发到目标端口,访问到相应的web服务。
可选的,所述获取管理节点当前处于空闲状态的转发端口,还包括:
若不存在处于空闲状态的目标开放端口,在所述管理节点中新建开放端口,并将新建的所述开放端口作为当前处于空闲状态的转发端口。
上述方案中,能够在不存在处于空闲状态的目标开放端口情况下,新建一个开放端口作为处于空闲状态的转发端口,保证访问能够正常进行。
第二方面,本申请实施例还提供了一种容器内Web服务的访问装置,该容器内Web服务的访问装置包括:
获取模块,用于在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取所述目标任务关联的目标端口,所述任务信息存储于所述目标端口所在的目标容器中;
建立模块,用于获取管理节点当前处于空闲状态的转发端口,并建立所述转发端口和所述目标端口的链接通道;
访问模块,用于基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请任一实施例提供的容器内Web服务的访问方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请任一实施例提供的容器内Web服务的访问方法。
本申请实施例的技术方案中,在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取所述目标任务关联的目标端口,其中,所述任务信息存储于所述目标端口所在的目标容器中;然后获取管理节点当前处于空闲状态的转发端口,并建立所述转发端口和所述目标端口的链接通道;最后基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。相对于现有技术,本申请不再采用转发端口与目标端口固定对应的方式来保证通过转发端口和目标端口访问到Web服务,而是在每次需要获取任务信息时,利用管理节点处于空闲的转发端口跟目标端口临时建立起链接通道,那么对于空闲状态的转发端口,本申请能够实现循环利用,避免了空闲的转发端口被某个服务强行占据的情况,有效避免管理节点端口被过多的占用问题。
附图说明
图1为本申请实施例一提供的容器内Web服务的访问方法的流程示意图;
图2为本申请的实施例一提供的计算集群的架构示意图;
图3为本申请的实施例一提供的建立链接通道的流程示意图;
图4为本申请的实施例一提供的用户交互界面示意图;
图5为本申请的实施例二提供的一种容器内Web服务的访问流程示意图;
图6为本申请实施例三提供的一种容器内Web服务的访问装置的结构示意图;
图7为本申请实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的容器内Web服务的访问方法的流程示意图,本实施例可适用于容器内Web服务的访问的场景。该方法可以由容器内Web服务的访问装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在具有数据运算能力的计算机等电子设备中,具体包括如下步骤:
步骤101、在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,任务信息存储于目标端口所在的目标容器中。
需要说明的是,本实施例的方法可以应用在计算集群中,该计算集群中设置有管理节点和计算节点,管理节点的数量和计算节点的数量可以根据计算集群的规模进行设定,此处不进行限定。
为了更好地进行说明,可以以具体例子的形式对该计算集群的架构进行说明,可以参阅图2,图2为本申请的实施例一提供的计算集群的架构示意图。
如图2所示,本计算集群存在1个管理节点和5个计算节点,在计算节点A中设置有容器,该容器内设置有Web服务,外部可以通过管理节点进行端口转发,从而访问到计算节点A中的该Web服务。
需要说明的是,该目标任务运行时至少需要依据该计算节点A中设置的容器,该容器内存储有该目标任务运行时产生的任务信息,该任务信息可以是目标任务的运行进度、运行结果等。
在新建该目标任务时,为了完成该目标任务,会在至少一个计算节点中新建容器,容器中用来安装完成该目标任务所需的应用程序,该应用程序可以协助完成该目标任务。
为了实现正确的端口转发,即保证外部正确获取该目标任务的任务信息,本实施例中,在新建容器后,会将该目标任务与新建容器的端口信息进行映射保存,在一个具体的例子中,该映射可以保存在计算集群的数据库中,以数据表的形式进行保存。
另外,端口信息可以包括该新建容器的IP以及该新建容器中存在的各个服务所对应的端口,在一个具体的例子中,若新建容器中存在Web服务,该Web服务对应的端口可以是该新建容器的8080端口。
一般,外部如果想要访问计算节点中容器内存储的任务信息,该容器中需要安装相应的Web服务,在安装时,会为该Web服务分配相应的端口。需要说明的是,该Web服务可以在需要通过管理节点获取目标任务的任务信息的情况下,再进行安装和端口配置,也可以在新建该目标任务的时刻,就在相应的容器中安装并配置好Web服务。
无论是何时安装的Web服务,前述保存目标任务与容器端口信息的数据表中,都会在安装完该Web服务之后相应的端口标识存储到数据表中,并与安装该Web服务的容器IP进行映射。
因此,本步骤中,可以从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口。其中,该关联关系即是数据表中存储的映射数据,为了对各个任务进行区别,可以利用任务标识来对任务进行识别,比如目标任务的任务标识为1001,那么,可以从前述数据表中查找该任务标识1001对应的Web服务的目标端口。
步骤102、获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道。
本步骤中,管理节点会有多个端口,所有端口的端口标识都存储在资源池中,需要说明的是,该资源池中可以是所有未使用过的未开放端口。
对管理节点的开放端口进行管理,可以依靠在管理节点中搭建的Nginx+Lua环境,该环境设置有Lua共享内存,该Lua共享内存中就可以存储管理节点的开放端口与容器的Web服务对应端口之间的映射关系。
本步骤获取空闲状态的转发端口时,可以先判断管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口;若存在处于空闲状态的目标开放端口,将目标开放端口作为当前处于空闲状态的转发端口。
具体的,可以先获取Lua共享内存中存储的映射数据,映射数据包括多条映射关系,每条映射关系包括管理节点当前开放的任一开放端口以及任一开放端口对应的容器端口;然后判断映射数据中是否存在使用状态为第一状态的目标映射关系,并将目标映射关系中的开放端口确定为处于空闲状态的目标开放端口。
在一个具体的例子中,Lua共享内存中存储的映射数据可以如表1所示。
表1
管理节点端口 | 容器IP | 容器端口 | 使用状态 |
端口a1 | IP1 | 端口a2 | True |
端口b1 | IP2 | 端口b2 | False |
端口c1 | IP3 | 端口c2 | True |
端口d1 | IP4 | 端口d2 | True |
首先,可以先判断表1中是否存在使用状态为第一状态False的目标映射关系,从表1中可以看出,“端口b1-IP3-端口b2”这一映射关系的使用状态为False。
然后,可以将该条映射关系确定为目标映射关系,并将该目标映射关系中的管理节点端口“端口b1”确定为处于空闲状态的目标开放端口。最后将该目标开放端口设置为转发接口即可。
为了便于后续的访问,在确定好转发端口后,可以对Lua共享内存中的映射数据进行更新。具体的,可以先删除当前Lua共享内存中包含转发端口的映射关系;然后将转发端口与目标端口进行映射,将映射产生的映射关系存储到Lua共享内存中,并将产生的映射关系的使用状态设置为第二状态。
仍以上述表1为例,若目标端口为容器IP5的端口e2,那么新的映射关系就为“端口b1-IP5-端口e2”,此时,便可以将“端口b1-IP3-端口b2”这一映射关系从表1中删除,然后将“端口b1-IP5-端口e2”这一映射关系添加到表1中,并将“端口b1-IP5-端口e2”这一映射关系的使用状态设置为第二状态True。形成的新的映射数据可以如表2所示。
表2
管理节点端口 | 容器IP | 容器端口 | 使用状态 |
端口a1 | IP1 | 端口a2 | True |
端口b1 | IP5 | 端口e2 | True |
端口c1 | IP3 | 端口c2 | True |
端口d1 | IP4 | 端口d2 | True |
当然,本实施例还可能出现不存在处于空闲状态的目标开放端口的情况,若不存在处于空闲状态的目标开放端口,可以在管理节点中新建开放端口,并将新建的开放端口作为当前处于空闲状态的转发端口。
需要说明的是,可以从管理节点的资源池中找到任一个未使用的端口作为新建的开放端口,该未使用的端口指的是未包含在映射数据中的端口,当然,若映射数据中的某条映射关系再一定的时长内使用状态均处于第一状态(即False),可以将该条映射关系删除,然后将该条映射关系中的管理节点的端口再放回该管理节点的资源池中。
另外,在确定好转发接口后,可以建立该转发端口和目标端口的链接通道,用户可以通过该链接通道访问相应的Web服务。具体可以参考图3,图3为本申请的实施例一提供的建立链接通道的流程示意图。
如图3所示,建立链接通道的过程可以包括:
步骤301、获取转发端口所在的管理节点的用户请求资源定位符,并将用户请求资源定位符与产生的映射关系进行绑定,得到绑定关系。
本步骤中,用户请求资源定位符指的是用户在登录该管理节点后,携带有用户标识以及该管理节点标识的URL。一般,根据用户操作生成获取目标任务的任务信息的请求时,都会生成该用户请求资源定位符,当然,该请求中还可以包括目标任务的任务标识,相应容器的IP。
需要说明的是,一个任务可能会包含多个子任务,每个子任务由相应的一个容器中的应用程序来协助完成,当每个子任务都完成时,该任务即可视为完成。
而对于用户,若想获取该任务的任务信息,本实施例可以提供一个交互界面,供用户进行操作。该交互界面中包括了该任务所包含的子任务、每个子任务对应的容器,每个子任务的任务信息查询按钮,具体可以参阅图4,图4为本申请的实施例一提供的用户交互界面示意图。
如图4所示,该交互界面显示的是任务A的相关内容,比如任务A所包含的子任务a、子任务b以及子任务c;子任务a对应的容器1、子任务b对应的容器2以及子任务c对应的容器3;子任务a对应的查询按钮、子任务b对应的查询按钮以及子任务c对应的查询按钮。通常,用户可以通过点击查询按钮触发对某个子任务的任务信息的查询。
在得到用户请求资源定位符后,可以将该用户请求资源定位符与前边产生的映射关系进行绑定,得到绑定关系。该绑定关系可以便于后续对Web服务的访问。
步骤302、利用用户请求资源定位符与目标端口进行拼接,得到Web服务访问资源定位符。
本步骤中,该Web服务访问资源定位符可以回传到前述交互界面中,作为相应的查询按钮的查询链接。在用户点击查询按钮后,根据该查询按钮对应的查询链接来获取相应的任务信息。
在一个具体的例子中,用户请求资源定位符可以为“http://10.0.35.187:7090/sothisai/api/containers/container-service?”其中,“10.0.35.187:7090”指的是管理节点在计算集群中的IP地址。
而目标端口可以使用id“aiforward452480057772867584”来进行标识,将两者拼接后,可以得到最终的Web服务访问资源定位符“http://10.0.35.187:7090/sothisai/api/containers/container-service?id=aiforward452480057772867584”。
步骤303、将Web服务访问资源定位符以及绑定关系确定为链接通道。
本步骤中,可以将前述绑定关系和Web服务访问资源定位符作为链接通道,供后续用户通过该链接通道进行任务信息的查询和获取。
步骤103、基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
本步骤中,指的是用户在交互界面中点击某一查询按钮后,会按照该查询按钮对应的查询链接查询任务信息的过程。需要说明的是,本实施例中,交互界面会根据查询链接(即Web服务访问资源定位符)中的管理节点IP将该查询链接发送给相应的管理节点,然后管理节点从Web服务访问资源定位符中提取用户请求资源定位符。
再基于链接通道中的绑定关系,确定该用户请求资源定位符对应的映射关系;最后通过映射关系中的转发端口以及目标端口访问Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
本申请实施例的技术方案中,在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,其中,任务信息存储于目标端口所在的目标容器中;然后获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;最后基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。相对于现有技术,本申请不再采用转发端口与目标端口固定对应的方式来保证通过转发端口和目标端口访问到Web服务,而是在每次需要获取任务信息时,利用管理节点处于空闲的转发端口跟目标端口临时建立起链接通道,那么对于空闲状态的转发端口,本申请能够实现循环利用,避免了空闲的转发端口被某个服务强行占据的情况,有效避免管理节点端口被过多的占用问题。
实施例二
图5为本申请的实施例二提供的一种容器内Web服务的访问流程示意图。
如图5所示,本实施例提供的容器内Web服务的访问过程可以包括:
步骤501、从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口。
步骤502、获取Lua共享内存中存储的映射数据。
步骤503、判断映射数据中是否存在使用状态为第一状态的目标映射关系。
步骤504、若存在使用状态为第一状态的目标映射关系,则将目标映射关系中的开放端口确定为处于空闲状态的目标开放端口,并将目标开放端口作为当前处于空闲状态的转发端口。
步骤505、删除当前Lua共享内存中包含转发端口的映射关系。
步骤506、将转发端口与目标端口进行映射,将映射产生的映射关系存储到Lua共享内存中。
由于后续需要将该转发端口重新利用,转发端口不再与之前的端口具有映射关系,因此,为了保证Lua共享内存中存储的映射关系与事实相符,可以执行步骤505,将当前存储的转发端口的映射关系进行删除,然后执行步骤506中的映射和存储过程。
步骤507、将产生的映射关系的使用状态设置为第二状态。
由于新产生的映射关系需要被使用,因此,其对应的映射关系的使用状态需要设置为第二状态,以便于新执行本实施例时,避免该映射关系被选中为目标映射关系。
步骤508、若不存在使用状态为第一状态的目标映射关系,在管理节点中新建开放端口,并将新建的开放端口作为当前处于空闲状态的转发端口。
步骤509、获取转发端口所在的管理节点的用户请求资源定位符,并将用户请求资源定位符与产生的映射关系进行绑定,得到绑定关系。
步骤510、利用用户请求资源定位符与目标端口进行拼接,得到Web服务访问资源定位符。
步骤511、将Web服务访问资源定位符以及绑定关系确定为链接通道。
步骤512、从Web服务访问资源定位符中提取用户请求资源定位符,并基于绑定关系确定用户请求资源定位符对应的映射关系。
步骤513、通过映射关系中的转发端口以及目标端口访问Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
本实施例的方案,相对于现有技术,本申请不再采用转发端口与目标端口固定对应的方式来保证通过转发端口和目标端口访问到Web服务,而是在每次需要获取任务信息时,利用管理节点处于空闲的转发端口跟目标端口临时建立起链接通道,那么对于空闲状态的转发端口,本申请能够实现循环利用,避免了空闲的转发端口被某个服务强行占据的情况,有效避免管理节点端口被过多的占用问题。
实施例三
图6为本申请实施例三提供的一种容器内Web服务的访问装置的结构示意图。本申请实施例所提供的容器内Web服务的访问装置可执行本申请任意实施例所提供的容器内Web服务的访问方法,具备执行方法相应的功能模块和有益效果。该装置可采用软件和/或硬件的方式实现,如图6所示,容器内Web服务的访问装置具体包括:获取模块601、建立模块602、访问模块603。
其中,获取模块,用于在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,任务信息存储于目标端口所在的目标容器中;
建立模块,用于获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;
访问模块,用于基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
本申请实施例的技术方案中,在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,其中,任务信息存储于目标端口所在的目标容器中;然后获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;最后基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。相对于现有技术,本申请不再采用转发端口与目标端口固定对应的方式来保证通过转发端口和目标端口访问到Web服务,而是在每次需要获取任务信息时,利用管理节点处于空闲的转发端口跟目标端口临时建立起链接通道,那么对于空闲状态的转发端口,本申请能够实现循环利用,避免了空闲的转发端口被某个服务强行占据的情况,有效避免管理节点端口被过多的占用问题。
进一步的,获取模块包括:
判断单元,用于判断管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口;
第一转发端口确定单元,用于若存在处于空闲状态的目标开放端口,将目标开放端口作为当前处于空闲状态的转发端口。
进一步地,判断单元包括:
获取子单元,用于获取Lua共享内存中存储的映射数据,映射数据包括多条映射关系,每条映射关系包括管理节点当前开放的任一开放端口以及任一开放端口对应的容器端口;
判断子单元,用于判断映射数据中是否存在使用状态为第一状态的目标映射关系,并将目标映射关系中的开放端口确定为处于空闲状态的目标开放端口。
进一步地,装置还包括:
删除模块,用于删除当前Lua共享内存中包含转发端口的映射关系;
存储模块,用于将转发端口与目标端口进行映射,将映射产生的映射关系存储到Lua共享内存中,并将产生的映射关系的使用状态设置为第一状态。
进一步地,建立模块包括:
绑定单元,用于获取转发端口所在的管理节点的用户请求资源定位符,并将用户请求资源定位符与产生的映射关系进行绑定,得到绑定关系;
拼接单元,用于利用用户请求资源定位符与目标端口进行拼接,得到Web服务访问资源定位符;
链接通道确定单元,用于将Web服务访问资源定位符以及绑定关系确定为链接通道。
进一步地,访问模块包括:
提取单元,用于从Web服务访问资源定位符中提取用户请求资源定位符,并基于绑定关系确定用户请求资源定位符对应的映射关系;
访问单元,用于通过映射关系中的转发端口以及目标端口访问Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
进一步地,建立模块还包括:
第二转发端口确定单元,用于若不存在处于空闲状态的目标开放端口,在管理节点中新建开放端口,并将新建的开放端口作为当前处于空闲状态的转发端口。
实施例四
图7为本申请实施例四提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器710、存储器720、输入装置730和输出装置740;电子设备中处理器710的数量可以是一个或多个,图7中以一个处理器710为例;电子设备中的处理器710、存储器720、输入装置730和输出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器720作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的容器内Web服务的访问方法对应的程序指令/模块(例如,容器内Web服务的访问装置中的获取模块601、建立模块602、访问模块603)。处理器710通过运行存储在存储器720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的容器内Web服务的访问方法:
在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,任务信息存储于目标端口所在的目标容器中;
获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;
基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种容器内Web服务的访问方法,该方法包括:
在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取目标任务关联的目标端口,任务信息存储于目标端口所在的目标容器中;
获取管理节点当前处于空闲状态的转发端口,并建立转发端口和目标端口的链接通道;
基于链接通道访问目标容器内的Web服务,以通过Web服务获取目标容器存储的目标任务的任务信息。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的容器内Web服务的访问方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种容器内Web服务的访问方法,其特征在于,所述方法包括:
在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取所述目标任务关联的目标端口,所述任务信息存储于所述目标端口所在的目标容器中;
获取管理节点当前处于空闲状态的转发端口,并建立所述转发端口和所述目标端口的链接通道;
基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
2.根据权利要求1所述的方法,其特征在于,所述获取管理节点当前处于空闲状态的转发端口,包括:
判断所述管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口;
若存在处于空闲状态的目标开放端口,将所述目标开放端口作为当前处于空闲状态的转发端口。
3.根据权利要求2所述的方法,其特征在于,所述判断所述管理节点当前的开放端口中是否存在处于空闲状态的目标开放端口,包括:
获取Lua共享内存中存储的映射数据,所述映射数据包括多条映射关系,每条所述映射关系包括管理节点当前开放的任一开放端口以及所述任一开放端口对应的容器端口;
判断所述映射数据中是否存在使用状态为第一状态的目标映射关系,并将所述目标映射关系中的开放端口确定为处于空闲状态的目标开放端口。
4.根据权利要求3所述的方法,其特征在于,在所述获取管理节点当前处于空闲状态的转发端口之后,且在所述建立所述转发端口和所述目标端口的链接通道之前,所述方法还包括:
删除当前Lua共享内存中包含所述转发端口的映射关系;
将所述转发端口与所述目标端口进行映射,将映射产生的映射关系存储到所述Lua共享内存中,并将产生的所述映射关系的使用状态设置为第二状态。
5.根据权利要求4所述的方法,其特征在于,所述建立所述转发端口和所述目标端口的链接通道,包括:
获取所述转发端口所在的管理节点的用户请求资源定位符,并将所述用户请求资源定位符与所述产生的映射关系进行绑定,得到绑定关系;
利用所述用户请求资源定位符与所述目标端口进行拼接,得到Web服务访问资源定位符;
将所述Web服务访问资源定位符以及所述绑定关系确定为链接通道。
6.根据权利要求5所述的方法,其特征在于,所述基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息,包括:
从所述Web服务访问资源定位符中提取所述用户请求资源定位符,并基于所述绑定关系确定所述用户请求资源定位符对应的映射关系;
通过所述映射关系中的转发端口以及目标端口访问所述Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
7.根据权利要求2所述的方法,其特征在于,所述获取管理节点当前处于空闲状态的转发端口,还包括:
若不存在处于空闲状态的目标开放端口,在所述管理节点中新建开放端口,并将新建的所述开放端口作为当前处于空闲状态的转发端口。
8.一种容器内Web服务的访问装置,其特征在于,所述装置包括:
获取模块,用于在需要通过管理节点获取目标任务的任务信息的情况下,从预先存储的任务与容器开放端口的关联关系中获取所述目标任务关联的目标端口,所述任务信息存储于所述目标端口所在的目标容器中;
建立模块,用于获取管理节点当前处于空闲状态的转发端口,并建立所述转发端口和所述目标端口的链接通道;
访问模块,用于基于所述链接通道访问所述目标容器内的Web服务,以通过所述Web服务获取所述目标容器存储的目标任务的任务信息。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的容器内Web服务的访问方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的容器内Web服务的访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210618567.XA CN114827115B (zh) | 2022-06-01 | 2022-06-01 | 容器内Web服务的访问方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210618567.XA CN114827115B (zh) | 2022-06-01 | 2022-06-01 | 容器内Web服务的访问方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827115A true CN114827115A (zh) | 2022-07-29 |
CN114827115B CN114827115B (zh) | 2024-06-28 |
Family
ID=82518502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210618567.XA Active CN114827115B (zh) | 2022-06-01 | 2022-06-01 | 容器内Web服务的访问方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827115B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115714733A (zh) * | 2022-11-08 | 2023-02-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 移动端管控方法、装置、存储介质和设备 |
CN116389172A (zh) * | 2023-06-05 | 2023-07-04 | 国网四川省电力公司信息通信公司 | 基于多租户的容器云平台资源安全管理方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110196A (ja) * | 2007-10-29 | 2009-05-21 | Mitsubishi Electric Corp | Webサーバアクセススケジューリングシステム |
CN103747020A (zh) * | 2014-02-18 | 2014-04-23 | 成都致云科技有限公司 | 一种安全可控的公网访问虚拟资源方法 |
US20150074186A1 (en) * | 2010-03-22 | 2015-03-12 | Tso-Sung HUNG | Server system connection process method preventing network congestion |
US20160205518A1 (en) * | 2015-01-14 | 2016-07-14 | Kodiak Networks Inc. | System and Method for Elastic Scaling using a Container-Based Platform |
US10212041B1 (en) * | 2016-03-04 | 2019-02-19 | Avi Networks | Traffic pattern detection and presentation in container-based cloud computing architecture |
US20190306231A1 (en) * | 2018-03-29 | 2019-10-03 | Hewlett Packard Enterprise Development Lp | Container cluster management |
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
US20200137185A1 (en) * | 2018-10-24 | 2020-04-30 | Hewlett Packard Enterprise Development Lp | Remote service access in a container management system |
CN111726399A (zh) * | 2020-06-08 | 2020-09-29 | 中国工商银行股份有限公司 | Docker容器安全访问方法及装置 |
CN111966442A (zh) * | 2019-05-20 | 2020-11-20 | 北京白山耘科技有限公司 | 一种容器端口管理的方法,装置,介质及设备 |
CN112511611A (zh) * | 2020-11-19 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 节点集群的通信方法、装置、系统及电子设备 |
CN112532666A (zh) * | 2019-09-18 | 2021-03-19 | 北京国双科技有限公司 | 反向代理方法、装置、存储介质及设备 |
CN113098868A (zh) * | 2021-04-01 | 2021-07-09 | 广州巨时信息科技股份有限公司 | 一种基于容器的网络安全处理方法和装置 |
CN113806066A (zh) * | 2021-04-06 | 2021-12-17 | 京东科技控股股份有限公司 | 大数据资源调度方法、系统和存储介质 |
CN114374696A (zh) * | 2021-12-15 | 2022-04-19 | 深圳前海微众银行股份有限公司 | 一种容器负载均衡方法、装置、设备及存储介质 |
-
2022
- 2022-06-01 CN CN202210618567.XA patent/CN114827115B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110196A (ja) * | 2007-10-29 | 2009-05-21 | Mitsubishi Electric Corp | Webサーバアクセススケジューリングシステム |
US20150074186A1 (en) * | 2010-03-22 | 2015-03-12 | Tso-Sung HUNG | Server system connection process method preventing network congestion |
CN103747020A (zh) * | 2014-02-18 | 2014-04-23 | 成都致云科技有限公司 | 一种安全可控的公网访问虚拟资源方法 |
US20160205518A1 (en) * | 2015-01-14 | 2016-07-14 | Kodiak Networks Inc. | System and Method for Elastic Scaling using a Container-Based Platform |
US10212041B1 (en) * | 2016-03-04 | 2019-02-19 | Avi Networks | Traffic pattern detection and presentation in container-based cloud computing architecture |
US20190306231A1 (en) * | 2018-03-29 | 2019-10-03 | Hewlett Packard Enterprise Development Lp | Container cluster management |
US20200137185A1 (en) * | 2018-10-24 | 2020-04-30 | Hewlett Packard Enterprise Development Lp | Remote service access in a container management system |
CN111966442A (zh) * | 2019-05-20 | 2020-11-20 | 北京白山耘科技有限公司 | 一种容器端口管理的方法,装置,介质及设备 |
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
CN112532666A (zh) * | 2019-09-18 | 2021-03-19 | 北京国双科技有限公司 | 反向代理方法、装置、存储介质及设备 |
CN111726399A (zh) * | 2020-06-08 | 2020-09-29 | 中国工商银行股份有限公司 | Docker容器安全访问方法及装置 |
CN112511611A (zh) * | 2020-11-19 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 节点集群的通信方法、装置、系统及电子设备 |
CN113098868A (zh) * | 2021-04-01 | 2021-07-09 | 广州巨时信息科技股份有限公司 | 一种基于容器的网络安全处理方法和装置 |
CN113806066A (zh) * | 2021-04-06 | 2021-12-17 | 京东科技控股股份有限公司 | 大数据资源调度方法、系统和存储介质 |
CN114374696A (zh) * | 2021-12-15 | 2022-04-19 | 深圳前海微众银行股份有限公司 | 一种容器负载均衡方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115714733A (zh) * | 2022-11-08 | 2023-02-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 移动端管控方法、装置、存储介质和设备 |
CN115714733B (zh) * | 2022-11-08 | 2024-09-20 | 湖南快乐阳光互动娱乐传媒有限公司 | 移动端管控方法、装置、存储介质和设备 |
CN116389172A (zh) * | 2023-06-05 | 2023-07-04 | 国网四川省电力公司信息通信公司 | 基于多租户的容器云平台资源安全管理方法 |
CN116389172B (zh) * | 2023-06-05 | 2023-09-19 | 国网四川省电力公司信息通信公司 | 基于多租户的容器云平台资源安全管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114827115B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114827115B (zh) | 容器内Web服务的访问方法、装置、电子设备及存储介质 | |
EP2344953B1 (en) | Provisioning virtual resources using name resolution | |
CN114172966B (zh) | 单元化架构下的服务调用方法、服务处理方法及装置 | |
CN110717076A (zh) | 节点管理方法、装置、计算机设备及存储介质 | |
CN114116065A (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
US20070089107A1 (en) | Database communication method | |
CN111865978B (zh) | 一种微服务的请求标识更新方法、装置、设备及介质 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN111447273B (zh) | 云处理系统及基于云处理系统的数据处理方法 | |
CN113625998A (zh) | 一种请求处理方法和装置 | |
CN112860398A (zh) | 基于规则引擎的数据处理方法、装置、设备及介质 | |
CN110928672A (zh) | 一种任务编排方法、装置、设备及存储介质 | |
CN116032614A (zh) | 容器网络微隔离方法、装置、设备和介质 | |
CN112291212B (zh) | 静态规则的管理方法、装置、电子设备和存储介质 | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN111475226B (zh) | 电子装置、微服务调用方法和计算机可读存储介质 | |
CN114219643A (zh) | 一种交易调用方法、装置、设备及存储介质 | |
US10678562B2 (en) | Systems and methods for facilitating real-time analytics | |
CN112418720A (zh) | 业务与流程引擎映射的管理方法、装置、电子设备及介质 | |
CN111400060A (zh) | 设备联动方法、装置、服务器和介质 | |
CN115277586B (zh) | Pod流量处理方法、系统、设备及存储介质 | |
US12086141B1 (en) | Coordination of services using PartiQL queries | |
US20240028346A1 (en) | Linking kubernetes resources with underlying cloud infrastructure | |
CN111124923B (zh) | 运行状态查询方法、装置、服务器设备及存储介质 | |
CN115277568B (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 |