CN114244548B - 一种面向云ide的动态调度和用户认证方法 - Google Patents
一种面向云ide的动态调度和用户认证方法 Download PDFInfo
- Publication number
- CN114244548B CN114244548B CN202110387706.8A CN202110387706A CN114244548B CN 114244548 B CN114244548 B CN 114244548B CN 202110387706 A CN202110387706 A CN 202110387706A CN 114244548 B CN114244548 B CN 114244548B
- Authority
- CN
- China
- Prior art keywords
- development
- service
- user
- authentication
- 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
Links
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]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种面向云IDE的动态调度和用户认证方法,包括以下步骤:S1、用户在浏览器中输入统一登录地址和指定服务端口,输入用户名和口令;S2、Nginx服务将接收自S1的用户名和口令作为认证信息,对认证信息进行认证;S3、开发服务器上的开发服务接收到请求信息,检测开发环境工具服务是否启动成功,如果不成功,报错,如果成功,则携带用户信息向Nginx服务发送请求;S4、根据转发策略,推算出要转发给某一台固定开发服务器上的开发环境工具服务;S5、利用用户信息实现用户认证,如果认证通过,进入开发界面。本发明解决了开发工具的动态调度、用户认证服务以及资源负载均衡的问题。
Description
技术领域
本发明涉及一种面向云IDE的动态调度和用户认证方法,属于云IDE技术领域。
背景技术
目前,市面上云IDE已经有几个主流产品,如Visual Studio Online、Theia等,他们都是基于浏览器使用的模式。其中,Theia是一个可扩展平台,用于使用最新的web技术开发多语言的云端IDE和桌面级IDE,虽然它的界面类似于VS Code,且借鉴了很多VS Code方面的东西,甚至是直接支持VS Code的扩展,从而使很多VS Code使用者能够直接使用Theia开发的IDE产品。但是,在服务器上启动theia服务,在浏览器中只需要输入服务器的ip和指定的端口号就可以直接使用,存在很大的安全问题;同时,为应对多用户使用而造成的服务器负载不均衡问题,引入负载均衡机制。
目前,云IDE工具还是使用的单用户模式,即一个用户拥有一套完整的云服务和相关环境,多用户使用需要配置多套环境;同时,由于是使用基于浏览器的方式,会存在安全问题,端口暴露会导致任何人都可以访问该用户下的所有文件,安全隐患很大。在服务器集群中,会存在多人在同一服务器使用开发工具,造成服务器负载不均衡问题。
目前,基于服务器做远程开发的模式越来越流行,而在服务器上部署开发环境能够减少对本地环境的依赖,但是也存在一个用户配置一套环境仅供自己使用,无法实现多用户同时使用。针对集群服务器,多用户可能集中在某几台服务器上使用开发工具,而部分服务器就会出现较少用户使用的现象。
发明内容
本发明的目的是提供一种面向云IDE的动态调度和用户认证方法,以解决开发工具的动态调度、用户认证服务以及资源负载均衡的问题。
为达到上述目的,本发明采用的技术方案是:提供一种面向云IDE的动态调度和用户认证方法,基于以下配置:
将Nginx服务部署在专用服务器上获得Nginx服务器,作为登录和转发节点,在配置文件中设置需要转发的开发服务器地址;
在集群中其它服务器上都部署开发服务获得开发服务器,开发服务主要负责端口管理和开发环境工具的管理;
在开发服务器上预留一部分端口作为端口资源池,供开发服务使用;
将开发环境工具配置在全局路径下,保证每个用户都可以访问;
所述动态调度和用户认证方法包括以下步骤:
S1、用户在浏览器中输入统一登录地址和指定服务端口,根据显示的用户登录界面中的要求,输入用户名和口令;
S2、Nginx服务将接收自S1的用户名和口令作为认证信息,对认证信息进行认证,如果认证没有通过,则继续要求输入认证信息,如果多次认证失败,要求等待一定时间后才可继续输入认证信息进行认证;如果认证通过,则根据转发策略将请求转发到一台开发服务器上的开发服务;
S3、开发服务器上的开发服务接收到请求信息,首先检查该服务器下是否已经存在启动的开发环境工具服务;
如果存在,获取该开发环境工具服务的端口信息并携带该用户信息向Nginx服务发送请求;
如果不存在,则从预留的端口池中取出一个空闲的端口,启动开发环境工具服务并指定其端口号为刚获取的端口号;
检测开发环境工具服务是否启动成功,如果不成功,报错,如果成功,则携带用户信息向Nginx服务发送请求;
S4、Nginx服务接收到用户信息,根据转发策略,推算出要转发给某一台固定开发服务器上的开发环境工具服务;
S5、开发环境工具服务接收到用户请求,利用用户信息实现用户认证,如果认证通过,进入开发界面,如果认证失败,报错。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明针对服务器集群、多用户使用模式,提供一种集中管理、动态调度、具有用户认证功能的框架,提供给多用户使用,不仅减少磁盘空间和环境配置的环节,而且增强了使用的安全性,不存在单用户使用存在的安全性问题;还能够隐藏服务器的真实ip地址,在url中始终显示的都是统一登录地址,且集中管理,便于更新和维护。
附图说明
附图1为本发明一种面向云IDE的动态调度和用户认证方法的示意图。
具体实施方式
实施例:本发明提供一种面向云IDE的动态调度和用户认证方法,基于以下配置:
将Nginx服务部署在专用服务器上获得Nginx服务器,作为登录和转发节点,在配置文件中设置需要转发的开发服务器地址;
在集群中其它服务器上都部署开发服务获得开发服务器,开发服务主要负责端口管理和开发环境工具的管理;
在开发服务器上预留一部分端口作为端口资源池,供开发服务使用;
将开发环境工具配置在全局路径下,保证每个用户都可以访问;
所述动态调度和用户认证方法包括以下步骤:
S1、用户在浏览器中输入统一登录地址(由Nginx服务提供的统一登录点)和指定服务端口,根据显示的用户登录界面中的要求,输入用户名和口令;
S2、Nginx服务将接收自S1的用户名和口令作为认证信息,对认证信息进行认证,如果认证没有通过,则继续要求输入认证信息,如果多次认证失败,要求等待一定时间后才可继续输入认证信息进行认证;如果认证通过,则根据转发策略(如Hash策略,最少连接数策略)将请求转发到一台开发服务器上的开发服务;
S3、开发服务器上的开发服务接收到请求信息,首先检查该服务器下是否已经存在启动的开发环境工具服务;
如果存在,获取该开发环境工具服务的端口信息并携带该用户信息向Nginx服务发送请求;
如果不存在,则从预留的端口池中取出一个空闲的端口,启动开发环境工具服务并指定其端口号为刚获取的端口号;
检测开发环境工具服务是否启动成功,如果不成功,报错,如果成功,则携带用户信息向Nginx服务发送请求;
S4、Nginx服务接收到用户信息,根据转发策略,推算出要转发给某一台固定开发服务器上的开发环境工具服务;
S5、开发环境工具服务接收到用户请求,利用用户信息实现用户认证,如果认证通过,进入开发界面,如果认证失败,报错。
对上述实施例的进一步解释如下:
本发明旨在通过一套开发工具环境,为多用户提供服务,同时提供安全机制和实现负载均衡。
1)Nginx、服务器、开发环境部署
将Nginx服务部署在一台专用服务器上作为登录和转发节点,在配置文件中设置需要转发的开发服务器地址;在集群中其它服务器上都部署开发服务,开发服务主要负责端口管理和开发环境工具的管理;在开发服务器上预留一部分端口作为端口资源池,供开发服务使用。
2)启动
用户在浏览器中输入统一登录地址(Nginx提供的统一登录点)和指定服务端口,会显示用户登录界面,要求用户输入用户名和口令。
3)认证和转发
Nginx服务将接收的用户名和口令作为认证信息,对认证信息进行认证,如果认证没有通过,则继续要求输入认证信息,如果多次认证失败,要求等待一定时间后才可继续输入认证信息进行认证;如果认证通过,则根据转发策略将请求转发到一台开发服务器上的开发服务。
4)服务器处理机制
开发服务器接收到请求信息,首先检查该服务器下是否已经有启动的开发环境工具服务。如果存在,获取该服务的端口信息并携带该用户信息向Nginx服务发送请求;如果不存在,需要从端口资源池中取出一个空闲的端口,启动开发环境工具服务并指定其端口号为刚获取的端口号,检测开发环境工具服务是否启动成功,不成功将报错,成功会携带用户信息向Nginx发送请求。
5)Nginx二次转发
Nginx接收到用户信息,根据转发策略推算出要转发给某一台固定开发服务器上的开发环境工具服务,端口号是接收的开发服务器返回的端口号。
6)开发工具认证
开发环境工具接收到用户请求,会利用用户信息实现用户认证,认证通过后进入开发界面;认证失败将报错。
Nginx能够针对确定用户转发到确定的本地服务上;通过两次调用Nginx转发,既能访问开发环境工具服务,也能够隐藏服务器真实IP,起到保护作用。
采用上述一种面向云IDE的动态调度和用户认证方法时,其针对服务器集群、多用户使用模式,提供一种集中管理、动态调度、具有用户认证功能的框架,提供给多用户使用,不仅减少磁盘空间和环境配置的环节,而且增强了使用的安全性,不存在单用户使用存在的安全性问题;还能够隐藏服务器的真实ip地址,在url中始终显示的都是统一登录地址,且集中管理,便于更新和维护。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种面向云IDE的动态调度和用户认证方法,其特征在于,基于以下配置:
将Nginx服务部署在专用服务器上获得Nginx服务器,作为登录和转发节点,在配置文件中设置需要转发的开发服务器地址;
在集群中其它服务器上都部署开发服务获得开发服务器,开发服务主要负责端口管理和开发环境工具的管理;
在开发服务器上预留一部分端口作为端口资源池,供开发服务使用;
将开发环境工具配置在全局路径下,保证每个用户都可以访问;
所述动态调度和用户认证方法包括以下步骤:
S1、用户在浏览器中输入统一登录地址和指定服务端口,根据显示的用户登录界面中的要求,输入用户名和口令;
S2、Nginx服务将接收自S1的用户名和口令作为认证信息,对认证信息进行认证,如果认证没有通过,则继续要求输入认证信息,如果多次认证失败,要求等待一定时间后才可继续输入认证信息进行认证;如果认证通过,则根据转发策略将请求转发到一台开发服务器上的开发服务;
S3、开发服务器上的开发服务接收到请求信息,首先检查该服务器下是否已经存在启动的开发环境工具服务;
如果存在,获取该开发环境工具服务的端口信息并携带该用户信息向Nginx服务发送请求;
如果不存在,则从预留的端口池中取出一个空闲的端口,启动开发环境工具服务并指定其端口号为刚获取的端口号;
检测开发环境工具服务是否启动成功,如果不成功,报错,如果成功,则携带用户信息向Nginx服务发送请求;
S4、Nginx服务接收到用户信息,根据转发策略,推算出要转发给某一台固定开发服务器上的开发环境工具服务;
S5、开发环境工具服务接收到用户请求,利用用户信息实现用户认证,如果认证通过,进入开发界面,如果认证失败,报错。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387706.8A CN114244548B (zh) | 2021-04-12 | 2021-04-12 | 一种面向云ide的动态调度和用户认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387706.8A CN114244548B (zh) | 2021-04-12 | 2021-04-12 | 一种面向云ide的动态调度和用户认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244548A CN114244548A (zh) | 2022-03-25 |
CN114244548B true CN114244548B (zh) | 2023-10-13 |
Family
ID=80742821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110387706.8A Active CN114244548B (zh) | 2021-04-12 | 2021-04-12 | 一种面向云ide的动态调度和用户认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244548B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844859B (zh) * | 2022-05-05 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 域名配置方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007293760A (ja) * | 2006-04-27 | 2007-11-08 | Hitachi Ltd | 個別認証を用いたシングルサインオン連携方法およびシステム |
CN104639325A (zh) * | 2014-12-31 | 2015-05-20 | 广州蓝海彤翔网络科技有限公司 | 一种基于统一认证的云游戏***及方法 |
CN104660409A (zh) * | 2013-11-25 | 2015-05-27 | 北京神州泰岳软件股份有限公司 | 集群环境下***登录的方法和认证服务器集群 |
CN105099690A (zh) * | 2014-05-19 | 2015-11-25 | 江苏博智软件科技有限公司 | 一种移动云计算环境下基于otp和用户行为的认证授权方法 |
WO2017186005A1 (zh) * | 2016-04-29 | 2017-11-02 | 中兴通讯股份有限公司 | 一种云桌面认证的方法、服务器及终端 |
EP3316544A1 (en) * | 2015-07-24 | 2018-05-02 | Huawei Technologies Co., Ltd. | Token generation and authentication method, and authentication server |
CN109639746A (zh) * | 2017-10-09 | 2019-04-16 | 北京安软天地科技有限公司 | 一种面向安全认证传输网关集群的负载均衡方法 |
EP3493463A1 (en) * | 2017-11-30 | 2019-06-05 | Canon Kabushiki Kaisha | System and control method therefor |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证***及方法 |
CN110493352A (zh) * | 2019-08-30 | 2019-11-22 | 南京联创互联网技术有限公司 | 一种基于web中间件的统一网关服务***及其服务方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9369456B2 (en) * | 2012-09-21 | 2016-06-14 | Intuit Inc. | Single sign-on in multi-tenant environments |
CN107612895B (zh) * | 2017-09-05 | 2020-07-10 | 网宿科技股份有限公司 | 一种互联网防攻击方法及认证服务器 |
TWI676115B (zh) * | 2018-07-13 | 2019-11-01 | 優碩資訊科技股份有限公司 | 用以管控與雲端服務系統認證之系統及方法 |
-
2021
- 2021-04-12 CN CN202110387706.8A patent/CN114244548B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007293760A (ja) * | 2006-04-27 | 2007-11-08 | Hitachi Ltd | 個別認証を用いたシングルサインオン連携方法およびシステム |
CN104660409A (zh) * | 2013-11-25 | 2015-05-27 | 北京神州泰岳软件股份有限公司 | 集群环境下***登录的方法和认证服务器集群 |
CN105099690A (zh) * | 2014-05-19 | 2015-11-25 | 江苏博智软件科技有限公司 | 一种移动云计算环境下基于otp和用户行为的认证授权方法 |
CN104639325A (zh) * | 2014-12-31 | 2015-05-20 | 广州蓝海彤翔网络科技有限公司 | 一种基于统一认证的云游戏***及方法 |
EP3316544A1 (en) * | 2015-07-24 | 2018-05-02 | Huawei Technologies Co., Ltd. | Token generation and authentication method, and authentication server |
WO2017186005A1 (zh) * | 2016-04-29 | 2017-11-02 | 中兴通讯股份有限公司 | 一种云桌面认证的方法、服务器及终端 |
CN109639746A (zh) * | 2017-10-09 | 2019-04-16 | 北京安软天地科技有限公司 | 一种面向安全认证传输网关集群的负载均衡方法 |
EP3493463A1 (en) * | 2017-11-30 | 2019-06-05 | Canon Kabushiki Kaisha | System and control method therefor |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证***及方法 |
CN110493352A (zh) * | 2019-08-30 | 2019-11-22 | 南京联创互联网技术有限公司 | 一种基于web中间件的统一网关服务***及其服务方法 |
Non-Patent Citations (3)
Title |
---|
分布式协同统一身份认证平台的设计与实现;彭勇;黄剑华;王喆;王全亮;王欢;;软件工程(10);全文 * |
基于车载指挥调度***的动态口令认证方法;李文峰;范黎明;肖书春;雷文礼;;采矿技术(02);全文 * |
用SSH构建安全的集成网络开发环境;黄逸之;苏丹;;计算机与信息技术(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114244548A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218595B2 (en) | Method and system for providing resiliency in interaction servicing | |
US10218782B2 (en) | Routing of communications to one or more processors performing one or more services according to a load balancing function | |
CN108108223B (zh) | 基于Kubernetes的容器管理平台 | |
Yang et al. | Blockchain-based secure distributed control for software defined optical networking | |
EP3389219B1 (en) | Access request conversion method and device | |
US7246174B2 (en) | Method and system for accessing and managing virtual machines | |
US9307017B2 (en) | Member-oriented hybrid cloud operating system architecture and communication method thereof | |
US20100218237A1 (en) | Systems and methods for managing third-party application programming interface in a collaboration space | |
CN110493352A (zh) | 一种基于web中间件的统一网关服务***及其服务方法 | |
US8234336B2 (en) | Virtual conference center architecture | |
CN111130835A (zh) | 数据中心双活***、切换方法、装置、设备及介质 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN106844111A (zh) | 云存储网络文件***的访问方法 | |
CN104811476B (zh) | 一种面向应用服务的高可用部署实现方法 | |
US11025688B1 (en) | Automated streaming data platform | |
CN114244548B (zh) | 一种面向云ide的动态调度和用户认证方法 | |
CN105490861A (zh) | 网管设备管理***和方法 | |
US20110153826A1 (en) | Fault tolerant and scalable load distribution of resources | |
CN104809026B (zh) | 一种使用远程节点借用cpu计算资源的方法 | |
CN108600156A (zh) | 一种服务器及安全认证方法 | |
CN202309766U (zh) | 一种基于活动目录验证的在线服务*** | |
US20170195426A1 (en) | Maintaining session across plural providing devices | |
CN107566475B (zh) | 一种会话故障转移方法及装置 | |
CN109639746A (zh) | 一种面向安全认证传输网关集群的负载均衡方法 | |
JP2001101111A (ja) | Www階層クライアント・サーバ型システムのユーザ管理方法 |
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 |