CN107608768B - 基于命令行模式的资源访问方法、电子设备及存储介质 - Google Patents

基于命令行模式的资源访问方法、电子设备及存储介质 Download PDF

Info

Publication number
CN107608768B
CN107608768B CN201710618771.0A CN201710618771A CN107608768B CN 107608768 B CN107608768 B CN 107608768B CN 201710618771 A CN201710618771 A CN 201710618771A CN 107608768 B CN107608768 B CN 107608768B
Authority
CN
China
Prior art keywords
container
resource
request
user
accessing
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
CN201710618771.0A
Other languages
English (en)
Other versions
CN107608768A (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.)
Guangzhou Yunbiao Bureau Network Technology Co ltd
Original Assignee
Guangzhou Onecloud Information Technology 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 Guangzhou Onecloud Information Technology Co ltd filed Critical Guangzhou Onecloud Information Technology Co ltd
Priority to CN201710618771.0A priority Critical patent/CN107608768B/zh
Publication of CN107608768A publication Critical patent/CN107608768A/zh
Application granted granted Critical
Publication of CN107608768B publication Critical patent/CN107608768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于命令行模式的资源访问方法,包括以下步骤:进入容器步骤:获取容器的目标地址并进入容器;请求生成步骤:在容器内获取访问资源的请求命令;资源访问步骤:根据所述访问资源的请求以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到对应的资源。本发明还提供了一种电子设备和计算机可读存储介质。本发明解决了Linux系统中资源访问的操作复杂的问题。

Description

基于命令行模式的资源访问方法、电子设备及存储介质
技术领域
本发明涉及一种Linux系统中云资源访问,尤其涉及一种基于命令行模式的云资源访问方法、电子设备及存储介质。
背景技术
目前,在Linux系统中一般都是采用命令行的模式来对资源进行访问、设置等,但是Linux命令有很多种,非常复杂。对于一般的运维人员在做维护时,需要记忆大量的命令,来进行操作,这就造成了门槛较高,使得一般的运维人员无法操作。另外,由于Linux系统的特殊性,其界面化不像windows系统一样很人性化,在Linux系统中界面很难直观地显示。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供基于命令行模式的资源访问方法,其能够解决现有技术中Linux系统中资源访问的操作复杂的问题。
本发明的目的之二在于提供一种电子设备,其能够解决现有技术中Linux系统中资源访问的操作复杂的问题。
本发明的目的之三在于提供一种计算机可读存储介质,其能够解决现有技术中Linux系统中资源访问的操作复杂的问题。
本发明的目的之四在于提供基于命令行模式的资源访问系统,其能够解决现有技术中Linux系统中资源访问的操作复杂的问题。
本发明的目的之一采用如下技术方案实现:
基于命令行模式的资源访问方法,包括以下步骤:
进入容器步骤:获取容器的目标地址并进入容器;
请求生成步骤:在容器内获取访问资源的请求命令;
资源访问步骤:根据所述访问资源的请求以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到对应的资源。
进一步地,所述容器的创建过程包括以下步骤:
S11:通过本地应用生成创建容器的请求;
S12:根据创建容器的请求生成容器的基本信息并创建对应的容器;
S13:将用户所要访问的资源层的所有资源文件的目录挂载到容器上。
进一步地,所述容器的基本信息包括容器的名称、容器的目标地址和容器的状态。
进一步地,进入容器的方式包括通过本地客户端的方式进入容器或者通过浏览器的方式进入容器。
进一步地,所述通过浏览器进入容器的方式进入容器时,获取容器的目标地址具体包括以下步骤:
S21:生成令牌并将令牌作为键值放置于缓存里;
S22:调用命令行组件并根据令牌取出用户客户端请求的ip和端口;
S23:根据用户客户端请求的ip和端口获取容器的目标地址;每个用户客户端均对应一个容器。
进一步地,还包括免密码进入步骤:
用户在创建容器后,将用户客户端的公钥上传到应用存储在应用数据库,以及将公钥挂载到用户创建的容器上,从而让用户进入容器时使用免密码的方式进入。
本发明的目的之二采用如下技术方案实现:
一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前所述的方法的步骤。
本发明的目的之三采用如下技术方案实现:
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如前所述的方法的步骤。
本发明的目的之四采用如下技术方案实现:
基于命令行模式的资源访问系统,包括:
进入容器模块,用于获取容器的目标地址并进入容器;
请求生成模块,用于在容器内获取输入访问资源的命令并根据访问资源的命令生成资源请求;
资源访问模块,用于根据所述资源请求以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到资源层的资源。
相比现有技术,本发明的有益效果在于:
本发明通过浏览器的方式和本地客户端的方式进入容器,然后再通过容器对资源层的所有资源进行访问操作,使得资源的访问操作简单直观。另外,通过为每个用户创建一个容器,形成负载均衡和安全隔离,实现了访问操作的安全性。
附图说明
图1为本发明提供的创建容器的方法流程图;
图2为本发明提供的基于命令行模式的资源访问方法的方法流程图;
图3为本发明提供的基于命令行模式的资源访问系统的系统模块图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例
本发明是根据运维人员的操作习惯,提供了一种基于简单的命令行的模式,使得熟悉Linux命令的用户可通过命令行的操作来代替界面化的操作,同时采用较简单的命令行,即起到了简单直观的效果,其对于一般的运维人员来说其操作也很简单。
另外,本发明首先涉及到以下概念:
密钥对:包括公钥和私钥,是用于对传输的数据加解密的;
RPC:是远程过程调用协议;
warden:为应用提供隔离的环境,也即是容器;
mount:是Linux的挂载命令;
fileproxy:用于实现了用户对资源和服务的操作转换为对文件系统操作的技术,比如用于生成容器内的目录。
本发明的设计思路包括以下两点:1)为用户创建对应的容器;2)通过容器内来访问资源层的资源。
在Linux系统中,容器可以提供轻量级的虚拟化,以便隔离进程和资源。本发明就是利用容器的特点来实现用户对资源的访问,为每个用户创建一个容器,从而形成安全隔离,实现了访问操作的安全性。
用户在对资源访问之间首先要创建一个容器,这样,用户在访问资源时就可以在该容器内对资源层的资源进行访问、删除、修改、更新等操作,也即是,用户在固定的目录下进行基础资源的操作,例如用cat命令查看明细信息。
对于创建容器,通过以下方法实现,如图1所示:
S1、通过本地应用发起创建容器的请求;
S2、根据创建容器的请求生成容器的基本信息并创建对应的容器。容器的基本信息包括容器的目标地址、名称、状态等等。比如,本地应用会调用commder生成容器的基本信息。每个容器均具有唯一的目标地址。
S3、将所要访问的资源层的所有资源文件的目录挂载到所述容器内。
另外,对于资源层的所有资源文件的目录是通过fileproxy将对资源层的请求命令反射生成的目录。
比如:通过对java代码的标注进行解析成目录。具体为:请求用户信息时,在java类的代码上用@Path=user/list生成一个user/list目录,此时list可以请求到用户的列表。另外,将上述目录挂载到容器内,采用mount命令实现。
如下为目录的结构示例。
Figure BDA0001361164400000051
Figure BDA0001361164400000061
另外,用户在进入容器访问资源之前,需要将本机的公钥上传到容器,这样就可以实现免密码登录。其中公钥指的是远程主机用于对数据加密的,对应地,私钥是在客户端对远程主机发送来的用公钥加密后的数据进行解密的。
具体地,用户在创建容器后,将用户客户端的公钥上传到本地应用上并存储数据库中,同时还将用户客户端的公钥挂载到所述容器上,而用户客户端的私钥被保留在用户客户端,这样就可以实现用户在进入容器时,使用免密码的方式进入容器。
本发明中采用非对称密钥的方式对数据进行加密来保证通讯安全。比如用户通过客户端与容器进行联机,容器在向客户端发送数据时使用公钥对数据进行加密,并发送给客户端;当客户端接收到数据时使用私钥对数据进行解密,由于私钥只存在于客户端,这样就保证了数据传输的安全。
当创建窗口容器后,用户就可以通过对应的容器内访问资源层的资源。
如图2所示,基于命令行模式的资源访问方法,其包括以下步骤:
S31、获取容器的目标地址并进入容器。
由于本发明提供了两种进入容器的方式:clientssh和webssh,其中clientssh为通过本地客户端的方式进入容器、webssh为通过浏览器的方式进入容器。因此,在获取容器的目标地址时,也会有两种不同的获取方式。
通过浏览器的方式进入容器时,首先需要生成一令牌并将令牌作为键值放置于一缓存里,然后在跳转到命令窗口组件,通过命令窗口组件根据令牌获得用户请求的IP和端口,从而根据用户请求的IP和端口得到容器的目标地址,进入到容器内。该令牌内存储有用户请求的IP和端口。这里采用了令牌的方式,是为了不对外暴露用户客户端的IP和端口,不让用户在浏览器的输入栏中看到IP和端口,保证了数据的安全性。
通过本地客户端的方式进入容器是直接获取所要进入容器的目标地址,从而进入到容器内。
S32、在容器内获取访问资源的请求命令;
S33、根据访问资源的请求命令以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到对应的资源。
另外,还可以在获取访问资源的请求命令时获取业务代码,然后通过RPC的方式调用对应的业务层,然后业务层也通过RPC的方式调用对应的资源层。其中,业务代码用于对资源层返回的数据进行处理,比如过滤、排序等操作。
用户在使用时,首先创建对应的容器,然后再通过浏览器的方式或本地客户端的方式进入容器后,并在容器内输入访问资源的请求命令,同时调用对应的业务代码;然后根据访问资源的请求命令、业务代码以及容器内所有资源文件的目录通过RPC的方式调用资源层,进而访问到对应的资源。
如下代码通过命令行模式访问基础资源的使用示例:
>cat/cloudos/virtualmachine/vm1/info查看云主机vm1的详细信息.
displayName=vm1
id=bc6875dd-23f9-4a77-b46e-382eb62deb07
ostype=ubuntu14.04
cpuNum=2
memory=2048M
.....
>cat/cloudos/virtualmachine/vm1/clouddisk/disk1/info查看云主机运行状态,1为运行,0为停止
displayName=disk1
id=3f7319aa-b89e-41a6-a9fa-5ee350c552e6
size=100G
datacenterid=870d6f4c-f531-47f5-85bc-fc6620b0fa51
status=backup
>echo“action=vm.deploy displaName=vm2temeplatename=ubuntu12.04-64bit”>post创建云主机vm2
>echo“action=vm.stop displayName=vm2”>post停止云主机vm2
>echo“action=vm.destroy displayName=vm2”>post删除云主机vm2
>cat post.help查看post帮助
echo“action=<><key1=value1><key2=value2>”>post
action[required],支持vm.deploy,vm.start,vm.stop,vm.destroy,vm.restart;
displayName[required],虚拟机显示名称;
templatename[optional],模板名称,用于vm.deploy;
example:
>echo“action=vm.deploy displaName=vm2temeplatename=ubuntul2.04-64bit”>post
本发明还提供了一种电子设备,其包括存储器、处理器以及存储在存储器上并可在处理上运行的计算机程序,所述处理器执行所述程序时实现如前所述的基于命令行模式的资源访问方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前所述的基于命令行模式的资源访问方法的步骤。
如图3所示,基于命令行模式的资源访问系统,其包括:
进入容器模块,用于获取容器的目标地址并进入容器;
请求生成模块,用于在容器内输入对应的命令并根据命令生成资源请求;
资源访问模块,用于根据所述资源请求以及容器内所有基础资源文件的目录通过RPC的方式访问资源层,进而方位到资源层的资源。
本发明通过浏览器的方式或本地客户端的方式进入容器,然后再通过容器对资源层的所有资源进行访问操作,使得资源的访问操作简单直观。另外,通过为每个用户创建一个容器,形成负载均衡和安全隔离,实现了访问操作的安全性。在数据传输时,通过公私钥的方式作安全认证,保证了数据的安全性。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

Claims (7)

1.基于命令行模式的资源访问方法,其特征在于包括以下步骤:
进入容器步骤:获取容器的目标地址并进入容器;
请求生成步骤:在容器内获取访问资源的请求命令;
资源访问步骤:根据所述访问资源的请求以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到对应的资源;所述容器的创建过程包括以下步骤:
S11:通过本地应用生成创建容器的请求;
S12:根据创建容器的请求生成容器的基本信息并创建对应的容器;
S13:将用户所要访问的资源层的所有资源文件的目录挂载到容器上;
进入容器的方式为通过浏览器的方式进入容器;其中,所述通过浏览器的方式进入容器时,获取容器的目标地址具体包括以下步骤:
S21:生成令牌并将令牌作为键值放置于缓存里;
S22:调用命令行组件并根据令牌取出用户客户端请求的ip和端口;
S23:根据用户客户端请求的ip和端口获取容器的目标地址;每个用户客户端均对应一个容器。
2.如权利要求1所述的方法,其特征在于:所述容器的基本信息包括容器的名称、容器的目标地址和容器的状态。
3.如权利要求1所述的方法,其特征在于:进入容器的方式为通过本地客户端的方式进入容器。
4.如权利要求1所述的方法,其特征在于:还包括免密码进入步骤:
用户在创建容器后,将用户客户端的公钥上传到应用存储在应用数据库,以及将公钥挂载到用户创建的容器上,从而让用户进入容器时使用免密码的方式进入。
5.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现如权利要求1-4任意一项所述的方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-4任意一项所述的方法的步骤。
7.基于命令行模式的资源访问系统,其特征在于包括:
进入容器模块,用于获取容器的目标地址并进入容器;
请求生成模块,用于在容器内获取输入访问资源的命令并根据访问资源的命令生成资源请求;
资源访问模块,用于根据所述资源请求以及容器内所有资源文件的目录通过RPC的方式访问资源层,进而访问到资源层的资源;所述容器的创建过程包括以下步骤:
S11:通过本地应用生成创建容器的请求;
S12:根据创建容器的请求生成容器的基本信息并创建对应的容器;
S13:将用户所要访问的资源层的所有资源文件的目录挂载到容器上;
进入容器的方式为通过浏览器的方式进入容器;其中,所述通过浏览器的方式进入容器时,获取容器的目标地址具体包括以下步骤:
S21:生成令牌并将令牌作为键值放置于缓存里;
S22:调用命令行组件并根据令牌取出用户客户端请求的ip和端口;
S23:根据用户客户端请求的ip和端口获取容器的目标地址;每个用户客户端均对应一个容器。
CN201710618771.0A 2017-07-26 2017-07-26 基于命令行模式的资源访问方法、电子设备及存储介质 Active CN107608768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710618771.0A CN107608768B (zh) 2017-07-26 2017-07-26 基于命令行模式的资源访问方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710618771.0A CN107608768B (zh) 2017-07-26 2017-07-26 基于命令行模式的资源访问方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN107608768A CN107608768A (zh) 2018-01-19
CN107608768B true CN107608768B (zh) 2021-03-23

Family

ID=61059590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710618771.0A Active CN107608768B (zh) 2017-07-26 2017-07-26 基于命令行模式的资源访问方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN107608768B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062770A (zh) * 2018-08-23 2018-12-21 郑州云海信息技术有限公司 一种磁盘监控方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731595A (zh) * 2015-03-26 2015-06-24 江苏物联网研究发展中心 面向大数据分析的混合计算系统
CN105872019A (zh) * 2016-03-23 2016-08-17 北京搜狐新媒体信息技术有限公司 一种Web端登录Docker容器的方法和装置
CN105979009A (zh) * 2016-07-06 2016-09-28 乾云众创(北京)信息科技研究院有限公司 一种针对云应用容器的增加负载自动均衡方法
CN106209741A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 一种虚拟主机及隔离方法、资源访问请求处理方法及装置
CN106970822A (zh) * 2017-02-20 2017-07-21 阿里巴巴集团控股有限公司 一种容器创建方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546648B (zh) * 2012-01-18 2015-04-01 Ut斯达康通讯有限公司 一种资源访问授权的方法
GB201318723D0 (en) * 2013-10-23 2013-12-04 Avecto Ltd Computer device and method for isolating untrusted content
US9710304B2 (en) * 2015-03-05 2017-07-18 Vmware, Inc. Methods and apparatus to select virtualization environments for migration
CN106603594B (zh) * 2015-10-15 2019-07-09 中国电信股份有限公司 一种分布式服务的管理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731595A (zh) * 2015-03-26 2015-06-24 江苏物联网研究发展中心 面向大数据分析的混合计算系统
CN106209741A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 一种虚拟主机及隔离方法、资源访问请求处理方法及装置
CN105872019A (zh) * 2016-03-23 2016-08-17 北京搜狐新媒体信息技术有限公司 一种Web端登录Docker容器的方法和装置
CN105979009A (zh) * 2016-07-06 2016-09-28 乾云众创(北京)信息科技研究院有限公司 一种针对云应用容器的增加负载自动均衡方法
CN106970822A (zh) * 2017-02-20 2017-07-21 阿里巴巴集团控股有限公司 一种容器创建方法及装置

Also Published As

Publication number Publication date
CN107608768A (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
US11206253B2 (en) Domain pass-through authentication in a hybrid cloud environment
US10050934B2 (en) Redirector for secure web browsing
JP5993947B2 (ja) リモートデスクトップからのサービス結果のためにネイティブビューアーを使用すること
EP3324293B1 (en) Application managed service instances
US10871873B2 (en) Redirection of web content
US20160364200A1 (en) Remote desktop exporting
EP4018617B1 (en) Managing permissions to cloud-based resources with session-specific attributes
US11356531B2 (en) Data caching for cloud services
US10255092B2 (en) Managed virtual machine deployment
US20150201004A1 (en) Method and system for providing server virtual machine for real-time virtual desktop service, and server device supporting the same
US11838296B1 (en) Providing secure software project development environments
US10122828B1 (en) Geographic-aware virtual desktops
US20190334874A1 (en) Concealment of Customer Sensitive Data In Virtual Computing Arrangements
CN113923023B (zh) 权限配置和数据处理的方法、装置、电子设备及介质
CN107608768B (zh) 基于命令行模式的资源访问方法、电子设备及存储介质
US20190332798A1 (en) Concealment of Customer Sensitive Data In Virtual Computing Arrangements
US11385946B2 (en) Real-time file system event mapping to cloud events
CN109739615B (zh) 一种虚拟硬盘的映射方法、设备和云计算平台
US10884621B2 (en) Block volume mount synchronization to prevent data corruption
US11997156B2 (en) Scan functionality for virtual sessions

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
TR01 Transfer of patent right

Effective date of registration: 20230612

Address after: Room 715, Building B, Zhongda Science and Technology Park, Building 705, West District, Yuanyuan, No. 135 Xingang West Road, Haizhu District, Guangzhou City, Guangdong Province, 510000 (for office only)

Patentee after: Guangzhou Yunbiao Bureau Network Technology Co.,Ltd.

Address before: Room 705-714, block B, Zhongda science and technology complex building, 135 Xingang West Road, Haizhu District, Guangzhou, Guangdong 510260

Patentee before: GUANGZHOU ONECLOUD INFORMATION TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right