CN111679790B - 远程软件开发存储空间分配方法及装置 - Google Patents
远程软件开发存储空间分配方法及装置 Download PDFInfo
- Publication number
- CN111679790B CN111679790B CN202010454279.6A CN202010454279A CN111679790B CN 111679790 B CN111679790 B CN 111679790B CN 202010454279 A CN202010454279 A CN 202010454279A CN 111679790 B CN111679790 B CN 111679790B
- Authority
- CN
- China
- Prior art keywords
- storage space
- user
- configuration
- configuration information
- storage
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 360
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000002085 persistent effect Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 16
- 238000009826 distribution Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 239000000872 buffer Substances 0.000 description 4
- 230000006378 damage Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种远程软件开发存储空间分配方法及装置,方法包括:接收用户发送的存储空间创建指令;根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间;本申请能够有效提升存储空间分配效率和准确率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种远程软件开发存储空间分配方法及装置。
背景技术
用户使用云端IDE进行代码开发,需要对接后台存储用于保存开发的代码,每个用户需要有自己单独的存储空间,同时,存在一个用户组里的所有用户想要共享使用同一个存储空间的需求。
现有技术中的云端IDE存储分配方案无法实现用户多样化的存储空间分配需求,具体地,现有技术中需要通过人工创建指定的存储空间,并配置挂载到云端IDE的POD容器上,该方案不但需要手工提前创建存储空间,还需手工配置云端IDE的POD挂载对应的存储空间。
同时,现有技术无法对闲置的云端IDE的Pod容器进行及时销毁以实现资源的高效率利用,因为销毁后配置Pod与存储空间的对应关系也将销毁,销毁后用户再次启动云端IDE将会动态分配一个新的存储空间,无法实现动态匹配原先的存储空间。
发明内容
针对现有技术中的问题,本申请提供一种远程软件开发存储空间分配方法及装置,能够有效提升存储空间分配效率和准确率。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种远程软件开发存储空间分配方法,包括:
接收用户发送的存储空间创建指令;
根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
进一步地,所述根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,包括:
根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器;
根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间;
建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中。
进一步地,在所述接收到所述用户发送的存储空间调用指令之后,在所述根据所述配置文件中的配置信息调用对应的存储空间之前,还包括:
判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
进一步地,在所述根据所述配置文件中的配置信息调用对应的存储空间之前,还包括:
接收所述用户发送的存储空间配置指令;
根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
进一步地,在所述根据所述配置文件中的配置信息调用对应的存储空间之后,还包括:
接收所述用户发送的存储空间关闭指令;
根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件。
第二方面,本申请提供一种远程软件开发存储空间分配装置,包括:
创建指令接收模块,用于接收用户发送的存储空间创建指令;
存储空间分配模块,用于根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
进一步地,所述存储空间分配模块包括:
容器确定单元,用于根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器;
存储空间确定单元,用于根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间;
绑定关系建立和保存单元,用于建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中。
进一步地,还包括:
空间共享单元,用于判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
进一步地,还包括:
配置指令接收单元,用于接收所述用户发送的存储空间配置指令;
自定义配置单元,用于根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
进一步地,还包括:
关闭指令接收单元,用于接收所述用户发送的存储空间关闭指令;
存储空间消耗单元,用于根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的远程软件开发存储空间分配方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的远程软件开发存储空间分配方法的步骤。
由上述技术方案可知,本申请提供一种远程软件开发存储空间分配方法及装置,通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的远程软件开发存储空间分配方法的流程示意图之一;
图2为本申请实施例中的远程软件开发存储空间分配方法的流程示意图之二;
图3为本申请实施例中的远程软件开发存储空间分配方法的流程示意图之三;
图4为本申请实施例中的远程软件开发存储空间分配方法的流程示意图之四;
图5为本申请实施例中的远程软件开发存储空间分配装置的结构图之一;
图6为本申请实施例中的远程软件开发存储空间分配装置的结构图之二;
图7为本申请一个具体实施例中的基于Kubernetes平台的存储空间创建过程示意图;
图8为本申请一个具体实施例中的远程软件开发存储空间分配方法的流程示意图;
图9为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中需要通过人工创建指定的存储空间,效率较低,且销毁后用户再次启动云端IDE将会动态分配一个新的存储空间,无法实现动态匹配原先的存储空间,导致存储空间分配不准确的问题,本申请提供一种远程软件开发存储空间分配方法及装置,通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
为了能够有效提升存储空间分配效率和准确率,本申请提供一种远程软件开发存储空间分配方法的实施例,参见图1,所述远程软件开发存储空间分配方法具体包含有如下内容:
步骤S101:接收用户发送的存储空间创建指令。
可以理解的是,本申请所述的存储空间可以为在远程软件开发过程中需要为开发人员(即用户)提供的用于进行代码开发的存储空间。
具体地,以云端IDE开发为例,可以基于Kubernetes(一种现有的容器编排调度的平台)云计算架构进行远程软件开发,在该架构下的存储空间分配方法如图7所示,具体包含有以下模块:
Pod容器,也可简称为Pod,Kubernetes中的最小编排单位,Pod包含至少一个容器,容器包含至少一个应用程序,系统启动Pod也就是启动应用程序。
PVC(Persistent Volume Claim,持久化存储声明),用于描述Pod容器想要使用的持久化属性,比如存储大小、读写权限等。
PV(Persistent Volume,持久化存储卷),即本申请所述存储空间,PV即实际存储系统中的具体的存储单元,用于描述一个具体的存储空间属性,比如存储空间的类型、挂载目录、远程存储服务器地址等。
StorageClass,即PV的模板,用于自动为PVC创建PV。
其中,一个Pod容器下可以挂载多个PVC(即所述持久化存储声明),每个PVC与PV(即所述存储空间)具有唯一对应关系。
步骤S102:根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
可以理解的是,由背景技术中内容可知,现有技术中当接收到用户发送的存储空间创建指令时,不但需要手工提前创建存储空间(即上述PV),还需手工配置云端IDE的Pod挂载对应的存储(即还需手工配置Pod容器和上述PVC),降低了存储空间分配的效率。
可选地,本申请提供有一种预设空间分配规则,能够结合用户发送的存储空间创建指令中的用户信息以自动化的创建存储空间,且该存储空间与该用户具有对应关系,即创建存储空间过程中的Pod容器、PVC、PV的各项配置信息能够与该用户进行绑定,且该配置信息能够持久化保存至一配置文件中,由此,当用户再次登录(例如发送了存储空间调用指令)后,本申请能够根据先前已经存储的配置文件准确、便捷得确定出该用户初次创建了怎样配置的存储空间,并依据该配置文件中的配置信息调用对应的存储空间,由此实现对用户存储空间的动态分配。
从上述描述可知,本申请实施例提供的远程软件开发存储空间分配方法,能够通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
为了能够远程软件开发过程中持久化保存用户初次创建的存储空间的配置信息,在本申请的远程软件开发存储空间分配方法的一实施例中,参见图2,上述步骤S102还可以具体包含如下内容:
步骤S201:根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器。
可选地,根据所述存储空间创建指令中的用户名称,例如用户名称“user00001”,可以创建出与该用户名称唯一对应的Pod容器,例如该Pod容器的标识名称为“claim-user00001”,以此建立用户与Pod容器的关联绑定关系。
步骤S202:根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间。
可选地,根据所述Pod容器的容器基本信息,例如该Pod容器的标识名称“claim-user00001”,可以生成与该Pod容器对应的至少一个持久化存储声明(即上述PVC),例如该PVC的标识名称为“ide-user00001”,以此建立Pod容器与PVC的关联绑定关系,进而建立用户与PVC的关联绑定关系。
可选地,当一个Pod容器对应多个PVC时,该PVC的标识名称可以进一步区分为例如“ide-user00001-v1”和“ide-user00001-v2”。
可选地,基于PVC(即持久化存储声明)与PV(即所述存储空间,也可称为持久化存储卷)具有唯一对应关系,则可基于PVC的标识名称生成对应的存储空间,即建立存储空间与PVC、用户的关联绑定关系。
步骤S203:建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中。
可选地,基于上述建立的用户与Pod容器、持久化存储声明以及存储空间的关联绑定关系,可以进一步得到用户与上述三者的具体配置信息(例如类型、目录、地址)的关联绑定关系,并将这种关联绑定关系保存至一配置文件中进行持久化保存,以使当所述存储空间所挂载的Pod容器被销毁时,仍能通过配置文件中的配置信息调用出该存储空间,以供用户使用。
为了能够在远程软件开发过程中实现多人的存储空间共享,在本申请的远程软件开发存储空间分配方法的一实施例中,在接收到所述用户发送的存储空间调用指令之后,在根据所述配置文件中的配置信息调用对应的存储空间之前,还可以具体包含如下内容:
判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
可选地,由于在远程软件开发中存在多人协同开发的情况,即由多个用户组成的用户组将共用同一个存储空间进行开发,因此本申请通过在所述用户发送存储空间调用指令之后,可以先从预设的用户组名单文件中查询是否存在该用户的用户名称,以此确定该用户是否从属于某一用户组,若是,则为该用户调用该用户组专用的存储空间,以此实现存储空间的共享。
具体地,所述用户组名单文件可以如下表1所示:
表1用户组名单
用户名称 | 用户组名称 |
user00001 | |
user00002 | |
user00003 | usergroup001 |
user00004 | usergroup001 |
由上述表1可知看出,用户“user00003”和用户“user00004”从属于同一用户组“usergroup001”。
为了能够远程软件开发过程中灵活的进行存储空间的自定义配置,在本申请的远程软件开发存储空间分配方法的一实施例中,参见图3,在根据所述配置文件中的配置信息调用对应的存储空间之前,还包括:
步骤S301:接收所述用户发送的存储空间配置指令。
步骤S302:根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
可选地,在为用户创建存储空间时,本申请可以采用默认的存储空间配置信息,也可以接收用户发送的存储空间配置指令,并据此存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间,以此灵活的进行存储空间的自定义配置。
为了能够远程软件开发过程中节约存储空间资源、及时销毁空闲的Pod容器(即应用程序),且能够在销毁空闲的Pod容器(即应用程序)后仍能准确的为用户提供其初次创建的存储空间,在本申请的远程软件开发存储空间分配方法的一实施例中,参见图4,在根据所述配置文件中的配置信息调用对应的存储空间之后,还包括:
步骤S401:接收所述用户发送的存储空间关闭指令。
步骤S402:根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件。
可选地,用户接入所述存储空间并进行远程软件开发作业,当作业完成用户退出时(即接收到用户发送的存储空间关闭指令时),本申请将自动销毁对应的应用程序(即与存储空间对应的Pod容器),同时将保留所述配置文件,以当用户再次调用时,为用户提供其初次创建的存储空间。
为了能够有效提升存储空间分配效率和准确率,本申请提供一种用于实现所述远程软件开发存储空间分配方法的全部或部分内容的远程软件开发存储空间分配装置的实施例,参见图5,所述远程软件开发存储空间分配装置具体包含有如下内容:
创建指令接收模块10,用于接收用户发送的存储空间创建指令。
存储空间分配模块20,用于根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
从上述描述可知,本申请实施例提供的远程软件开发存储空间分配装置,能够通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
为了能够远程软件开发过程中持久化保存用户初次创建的存储空间的配置信息,在本申请的远程软件开发存储空间分配装置的一实施例中,参见图6,所述存储空间分配模块20包括:
容器确定单元21,用于根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器。
存储空间确定单元22,用于根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间。
绑定关系建立和保存单元23,用于建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中。
为了能够在远程软件开发过程中实现多人的存储空间共享,在本申请的远程软件开发存储空间分配装置的一实施例中,还具体包含有如下内容:
空间共享单元,用于判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
为了能够远程软件开发过程中灵活的进行存储空间的自定义配置,在本申请的远程软件开发存储空间分配装置的一实施例中,还具体包含有如下内容:
配置指令接收单元,用于接收所述用户发送的存储空间配置指令;
自定义配置单元,用于根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
为了能够远程软件开发过程中节约存储空间资源、及时销毁空闲的Pod容器(即应用程序),且能够在销毁空闲的Pod容器(即应用程序)后仍能准确的为用户提供其初次创建的存储空间,在本申请的远程软件开发存储空间分配装置的一实施例中,还具体包含有如下内容:
关闭指令接收单元,用于接收所述用户发送的存储空间关闭指令;
存储空间消耗单元,用于根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件。
为了更进一步说明本方案,本申请还提供一种应用上述远程软件开发存储空间分配装置实现远程软件开发存储空间分配方法的具体应用实例,参见图8,具体包含有如下内容:
步骤1、用户发起请求,请求云端IDE环境,请求会发送用户名以及存储配置参数,其中,用户可以不进行存储配置,系统将使用默认配置。也可以自定义存储配置,包括存储名称,存储大小和存储位置Path。
步骤2、根据用户名判断用户是否属于某个用户组。如果属于用户组,那么后面匹配该用户组的PVC名称,否则配置该用户的PVC名称。
步骤3、系统根据请求信息和PVC名称得到对应的PVC,查看集群中是否已存在对应的PVC。如果已存在,部署启动IDE应用Pod,自动挂载PVC存储,用户即可使用IDE应用。
步骤4、根据模板创建机制和用户请求信息自动生成Pod名称以及对应的Pod配置文件。
步骤5、根据模板创建机制和用户请求信息自动生成PVC名称以及对应的PVC配置文件。
步骤6、根据步骤5的PVC配置文件自动部署PVC,同时系统将会根据StorageClass动态创建PV,PV即对应分布式文件系统的实际的存储单元,并与PVC自动绑定。
步骤7、根据步骤4的Pod配置文件自动部署启动IDE应用Pod,自动挂载PVC存储。
步骤8、用户进入云端IDE环境进行代码开发,代码存储空间即为自动创建的存储单元。
步骤9、用户使用完毕后,自动销毁Pod。PV、PVC存储将保留,用户开发代码等数据也将保存在存储中,等待下一次用户请求上来自动进行匹配。
由上述描述可知,本申请至少还可以实现如下技术效果:
实现云端IDE应用用户首次使用时自动化分配、创建存储空间,后续使用动态匹配存储空间。同时,基于动态分配动态匹配的特点,可实现云端IDE的计算资源的按需使用,未使用时可自动销毁云端IDE的Pod容器,保留存储空间,下次用户登录启动云端IDE可自动匹配上次使用的存储空间,极大的提升了计算资源的使用效率。
从硬件层面来说,为了能够有效提升存储空间分配效率和准确率,本申请提供一种用于实现所述远程软件开发存储空间分配方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现远程软件开发存储空间分配装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的远程软件开发存储空间分配方法的实施例,以及远程软件开发存储空间分配装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,远程软件开发存储空间分配方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,远程软件开发存储空间分配方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:接收用户发送的存储空间创建指令。
步骤S102:根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
从上述描述可知,本申请实施例提供的电子设备,通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
在另一个实施方式中,远程软件开发存储空间分配装置可以与中央处理器9100分开配置,例如可以将远程软件开发存储空间分配装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现远程软件开发存储空间分配方法功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的远程软件开发存储空间分配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的远程软件开发存储空间分配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收用户发送的存储空间创建指令。
步骤S102:根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过在接收到用户发送的存储空间创建指令后,根据所述存储空间创建指令中的用户信息和预设空间分配规则,确定与所述用户对应的存储空间,并将所述存储空间的配置信息保存至对应的配置文件中,即持久化保存所述用户初次创建的存储空间,以使当所述用户后续启动该存储空间时,即接收到所述用户发送的存储空间调用指令时,能够根据本地持久化保存的所述配置文件中的配置信息调用对应的存储空间,以此实现用户的自动化存储空间创建和再次存储空间调用时的动态分配,进而能够有效提升存储空间分配效率和准确率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种远程软件开发存储空间分配方法,其特征在于,所述方法包括:
接收用户发送的存储空间创建指令;
根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器;根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间;建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间;
在所述根据所述配置文件中的配置信息调用对应的存储空间之后,还包括:
接收所述用户发送的存储空间关闭指令;
根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件,以当用户再次调用时,为用户提供其初次创建的存储空间;所述应用程序为Pod容器。
2.根据权利要求1所述的远程软件开发存储空间分配方法,其特征在于,在所述接收到所述用户发送的存储空间调用指令之后,在所述根据所述配置文件中的配置信息调用对应的存储空间之前,还包括:
判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
3.根据权利要求1所述的远程软件开发存储空间分配方法,其特征在于,在所述根据所述配置文件中的配置信息调用对应的存储空间之前,还包括:
接收所述用户发送的存储空间配置指令;
根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
4.一种远程软件开发存储空间分配装置,其特征在于,包括:
创建指令接收模块,用于接收用户发送的存储空间创建指令;
存储空间分配模块,用于根据所述存储空间创建指令中的用户名称,创建与所述用户名称唯一对应的Pod容器;根据所述Pod容器的容器基本信息,生成与所述容器基本信息对应的至少一个持久化存储声明和与各所述持久化存储声明唯一对应的存储空间;建立所述Pod容器、所述持久化存储声明以及所述存储空间的配置信息与所述用户的关联绑定关系并保存至与所述用户唯一对应的配置文件中,以使接收到所述用户发送的存储空间调用指令时,根据所述配置文件中的配置信息调用对应的存储空间;
还包括:
关闭指令接收单元,用于接收所述用户发送的存储空间关闭指令;
存储空间消耗单元,用于根据所述存储空间关闭指令销毁与所述存储空间对应的应用程序,并持久化保存含有所述配置信息的配置文件,以当用户再次调用时,为用户提供其初次创建的存储空间;所述应用程序为Pod容器。
5.根据权利要求4所述的远程软件开发存储空间分配装置,其特征在于,还包括:
空间共享单元,用于判断预设用户组名单文件中是否存在与所述用户的用户名称对应的用户组,若存在,则为所述用户调用与所述用户组对应的存储空间。
6.根据权利要求4所述的远程软件开发存储空间分配装置,其特征在于,还包括:
配置指令接收单元,用于接收所述用户发送的存储空间配置指令;
自定义配置单元,用于根据所述存储空间配置指令中的自定义配置信息更新所述配置信息和对应的存储空间。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至3任一项所述的远程软件开发存储空间分配方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至3任一项所述的远程软件开发存储空间分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010454279.6A CN111679790B (zh) | 2020-05-26 | 2020-05-26 | 远程软件开发存储空间分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010454279.6A CN111679790B (zh) | 2020-05-26 | 2020-05-26 | 远程软件开发存储空间分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111679790A CN111679790A (zh) | 2020-09-18 |
CN111679790B true CN111679790B (zh) | 2024-05-14 |
Family
ID=72453803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010454279.6A Active CN111679790B (zh) | 2020-05-26 | 2020-05-26 | 远程软件开发存储空间分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679790B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422325A (zh) * | 2020-10-30 | 2021-02-26 | 蒋光洵 | 基于多云混合平台的管理方法及系统 |
CN113918161A (zh) * | 2021-09-24 | 2022-01-11 | 浪潮卓数大数据产业发展有限公司 | 基于Docker部署的多用户在线编码实现系统及方法 |
CN114281263B (zh) * | 2021-12-27 | 2024-03-29 | 深圳市名竹科技有限公司 | 容器集群管理系统的存储资源处理方法、系统和设备 |
CN114691050B (zh) * | 2022-05-26 | 2022-09-06 | 深圳前海环融联易信息科技服务有限公司 | 基于kubernetes的云原生存储方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668261B1 (en) * | 1999-07-29 | 2003-12-23 | International Business Machines Corporation | Method of upgrading a program using associated configuration data |
CN104426938A (zh) * | 2013-08-27 | 2015-03-18 | 宇宙互联有限公司 | 存储管理系统及方法 |
CN107193504A (zh) * | 2017-06-02 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种基于Kubernetes的自动化分配和创建应用存储的方法和系统 |
CN108509152A (zh) * | 2018-03-20 | 2018-09-07 | 新华三云计算技术有限公司 | 一种实现容器运行时数据存储的方法及装置 |
CN109213516A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | Svn中代码同步与通知的方法、存储介质、设备和系统 |
CN110321063A (zh) * | 2018-03-31 | 2019-10-11 | 深圳忆联信息系统有限公司 | 数据处理方法及存储设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11100243B2 (en) * | 2017-06-06 | 2021-08-24 | Microsoft Technology Licensing, Llc | Selective persistence of data utilized by software containers |
-
2020
- 2020-05-26 CN CN202010454279.6A patent/CN111679790B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668261B1 (en) * | 1999-07-29 | 2003-12-23 | International Business Machines Corporation | Method of upgrading a program using associated configuration data |
CN104426938A (zh) * | 2013-08-27 | 2015-03-18 | 宇宙互联有限公司 | 存储管理系统及方法 |
CN107193504A (zh) * | 2017-06-02 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种基于Kubernetes的自动化分配和创建应用存储的方法和系统 |
CN109213516A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | Svn中代码同步与通知的方法、存储介质、设备和系统 |
CN108509152A (zh) * | 2018-03-20 | 2018-09-07 | 新华三云计算技术有限公司 | 一种实现容器运行时数据存储的方法及装置 |
CN110321063A (zh) * | 2018-03-31 | 2019-10-11 | 深圳忆联信息系统有限公司 | 数据处理方法及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111679790A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111679790B (zh) | 远程软件开发存储空间分配方法及装置 | |
US11782756B2 (en) | Method and apparatus for scheduling processor core, and storage medium | |
CN114185491B (zh) | 一种分区文件的下载方法、装置、存储介质及计算机设备 | |
WO2019047708A1 (zh) | 资源配置方法及相关产品 | |
CN111445331A (zh) | 交易撮合方法及装置 | |
CN112953908A (zh) | 网络隔离配置方法、装置及系统 | |
CN112689012A (zh) | 跨网络的代理通讯方法及装置 | |
WO2019047737A1 (zh) | 事务处理方法、装置和系统以及电子设备 | |
CN111949614A (zh) | 银行系统文件转换方法及装置 | |
CN103607431A (zh) | 移动终端资源处理方法、装置和设备 | |
CN111367561B (zh) | 软件程序远程开发方法及装置 | |
CN111930624B (zh) | 测试链路报文数据处理方法及装置 | |
CN107577532B (zh) | 资源配置方法及相关产品 | |
CN113435173A (zh) | 文本生成方法、相关装置及系统 | |
CN113050936B (zh) | 基于集成开发环境的前端数据处理方法及装置 | |
CN112396511B (zh) | 分布式风控变量数据处理方法、装置及系统 | |
CN104735643A (zh) | 一种信息处理的方法及数据服务器 | |
CN114840194A (zh) | 代码及操作系统的生成方法和装置、服务器及电子设备 | |
CN114416212A (zh) | 移动端应用程序数据资源处理方法及装置 | |
CN115099930A (zh) | 金融业务数据处理方法及装置 | |
CN111767118A (zh) | 基于分布式文件系统的容器存储空间处理方法及装置 | |
CN112559158A (zh) | 微服务定时任务调度方法及装置 | |
CN113342501B (zh) | 系统故障处理方法及装置 | |
CN114090489B (zh) | 基于virtio的IO扩展方法及装置 | |
CN111158744B (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 |