CN109976872B - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109976872B CN109976872B CN201910132814.3A CN201910132814A CN109976872B CN 109976872 B CN109976872 B CN 109976872B CN 201910132814 A CN201910132814 A CN 201910132814A CN 109976872 B CN109976872 B CN 109976872B
- Authority
- CN
- China
- Prior art keywords
- http request
- target
- type
- information
- size
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开是关于一种数据处理方法、装置、电子设备及存储介质,该数据处理方法包括:接收第一HTTP请求;根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,其中,所述预设数据结构信息为在创建容器时所需的数据结构信息;将所述第二HTTP请求发送至kubernetes集群的API服务器。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
容器云提供了虚拟化的开发运行测试环境,在容器云的各种体系中,Kubernetes(k8s)是目前被各个企业普遍使用的容器云体系,k8s主要用于对容器化的应用进行部署、规划、更新及维护。
所谓容器化的应用,即每个应用可以被打包成一个容器镜像进行容器化安装并使用。但是,k8s并不直接运行容器化应用,而是将一个或多个容器化应用封装到一个称为pod的高级结构中,pod是k8s的基本计算单元。相同pod中的任何容器化应用都将共享相同的名称空间和本地网络。pod主要对上文所述的容器化应用进行编排、管理和运行。因此,pod相当于一个大的容器,本文将pod命名为容器。
运行在pod中的各个容器化应用需要使用共享内存(shm),且在一些深度学习框架中需要一定大小的shm来运行框架,因此,需要对创建的pod进行shm配置。但是,目前的k8s的体系中,并不支持对pod进行自动化的shm配置,而是需要用户通过使用kubectl命令行工具通过命令的方式,或者,编写yaml文件(yaml是用来表达资料序列的编程语言)的方式来手动创建带有shm的pod。
因此,相关技术中通过手动创建带有shm的pod的方案普遍存在着操作繁琐、执行效率低的问题。
发明内容
为克服相关技术中通过手动创建带有shm的pod的方案所存在的操作繁琐、执行效率低的问题存在的问题,本公开提供一种数据处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种数据处理方法,包括:
接收第一HTTP请求;
根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,其中,所述预设数据结构信息为在创建容器时所需的数据结构信息;
将所述第二HTTP请求发送至kubernetes集群的API服务器。
在一种可能的实施方式中,所述按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求之前,所述方法还包括:
识别所述第一HTTP请求的类型;
根据所述第一HTTP请求的类型,识别kubernetes集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
获取所述目标API接口支持的预设数据结构信息。
在一种可能的实施方式中,所述按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,包括:
将待配置的所述共享内存所属的目标存储介质的类型设置为目标类型;
将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
将所述目标存储介质的路径信息,设置为目标路径信息;
将所述预设参数信息的数据类型,转换为所述预设数据结构信息所支持的目标数据类型;
对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求。
在一种可能的实施方式中,所述将所述第二HTTP请求发送至kubernetes集群的API服务器,包括:
通过client-go组件,将所述第二HTTP请求发送至kubernetes集群的API服务器。
在一种可能的实施方式中,所述通过client-go组件,将所述第二HTTP请求发送至kubernetes集群的API服务器,包括:
通过client-go组件,连接kubernetes集群的API服务器;
根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述kubernetes集群的所述API服务器,以使所述kubernetes集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
根据本公开实施例的第二方面,提供一种数据处理装置,包括:
接收模块,被配置为接收第一超文本传输协议HTTP请求;
第一获取模块,被配置为根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
拼装模块,被配置为按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,其中,所述预设数据结构信息为在创建容器时所需的数据结构信息;
发送模块,被配置为将所述第二HTTP请求发送至kubernetes集群的应用程序编程接口API服务器。
在一种可能的实施方式中,所述装置还包括:
第一识别模块,被配置为识别所述第一HTTP请求的类型;
第二识别模块,被配置为根据所述第一HTTP请求的类型,识别kubernetes集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
第二获取模块,被配置为获取所述目标API接口支持的预设数据结构信息。
在一种可能的实施方式中,所述拼装模块包括:
第一拼装子模块,被配置为将待配置的所述共享内存所属的目标存储介质的类型设置为目标类型;
第二拼装子模块,被配置为将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
第三拼装子模块,被配置为将所述目标存储介质的路径信息,设置为目标路径信息;
第四拼装子模块,被配置为将所述预设参数信息的数据类型,转换为所述预设数据结构信息所支持的目标数据类型;
第五拼装子模块,被配置为对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求。
在一种可能的实施方式中,所述发送模块包括:
发送子模块,被配置为通过client-go组件,将所述第二HTTP请求发送至kubernetes集群的API服务器。
在一种可能的实施方式中,所述发送子模块包括:
连接单元,被配置为通过client-go组件,连接kubernetes集群的API服务器;
识别单元,被配置为根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
调用单元,被配置为通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述kubernetes集群的所述API服务器,以使所述kubernetes集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现上述任意一项所述的数据处理方法所执行的操作。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种以实现如上述任意一项所述的数据处理方法所执行的操作。
根据本公开实施例的第五方面,提供一种应用程序,所述应用程序由电子设备的处理器执行时,使得电子设备能够执行一种数据处理方法,所述方法包括:
接收第一HTTP请求;
根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,其中,所述预设数据结构信息为在创建容器时所需的数据结构信息;
将所述第二HTTP请求发送至kubernetes集群的API服务器。
本公开的实施例提供的技术方案可以包括以下有益效果:
这样,本公开实施例通过HTTP请求的方式,来向k8s集群发送创建带有自定义大小的共享内存的容器(pod)的请求,无需开发人员编写命令和文件,降低了用户的操作难度、简化了操作步骤;并且,本公开实施例的方法通过获取第一HTTP请求中的待创建的容器的预设参数信息以及对该容器待配置的共享内存的大小信息,并按照创建容器时所需要的数据结构信息,来对第一HTTP请求中携带的上述信息进行拼装,从而能够利用拼装后的第二HTTP请求来与k8s集群中的API服务器进行交互,利用HTTP请求实现了k8s对带有共享内存的容器的自动化创建,提升了容器的创建步骤的执行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种数据处理方法的流程图;
图2是根据一示例性实施例示出的一种数据处理方法的流程图;
图3是根据一示例性实施例示出的一种数据处理方法的流程图;
图4是根据一示例性实施例示出的一种数据处理装置的结构框图;
图5是根据一示例性实施例示出的一种用于数据处理的装置的框图;
图6是根据一示例性实施例示出的一种用于数据处理的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种数据处理方法的流程图,该数据处理方法应用于服务器,该方法具体可以包括以下步骤:
步骤101,接收第一超文本传输协议(HTTP,HyperTextTransferProtocol)请求;
其中,上述服务器可以是WEB服务器。本公开实施例的方法为了能够向客户端提供REST服务(REST描述的是在网络中客户端和服务器之间的一种交互形式),本公开实施例的方法可以预先使用go语言的http包创建上述WEB服务器。该WEB服务器可以向客户端提供REST服务,从而实现客户端与WEB服务器的交互。
那么为了能够自动创建带有shm的pod(即用于对容器化应用进行编排、管理和运行的大容器,后文称作pod,或者容器),在本公开实施例中客户端可以基于WEB服务器提供的REST服务,来向WEB服务器发送第一HTTP请求,其中,所述第一HTTP请求可以携带以下信息:待创建的pod的预设参数信息以及对所述pod待配置的shm的大小信息。这样,本公开实施例的WEB服务器就可以接收到来自客户端的第一HTTP请求。
其中,上述预设参数信息为创建pod时需要使用的各种参数,该预设参数信息包括但不限于:pod名、pod标签、pod所属命名空间(namespace)、pod内容器化应用的镜像、端口、启动命令、重启策略、镜像拉取策略等。
另外,由于用户只需要在客户端上的图形化的WEB界面进行操作,就可以发起创建带有shm的pod的HTTP请求,用户容易操作,避免了开发人员对指令编写的学习,更容易客户的操作。
步骤102,根据所述第一HTTP请求,获取待创建的pod的预设参数信息以及对所述pod待配置的shm的大小信息;
其中,WEB服务器可以对第一HTTP请求进行解析,从而获取到第一HTTP请求中携带的上述信息,这里包括待创建的pod的预设参数信息以及对所述pod待配置的shm的大小信息。
这里的对pod待配置的shm的大小信息,即表示这里对待创建的pod需要配置的共享内存的大小,例如500M。
步骤103,按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求;
其中,本公开实施例的WEB服务器为了实现自动创建带有shm的pod的功能,其需要与k8s集群中的应用程序编程接口(API)服务器进行交互,而API服务器提供的用于创建pod的API接口,对处理的数据请求具有数据结构要求,既这里的预设数据结构信息。其中,所述预设数据结构信息为在创建pod时所需的数据结构信息。
因此,WEB服务器需要按照预设数据结构信息,来对解析到的信息进行重新拼装,生成第二HTTP请求。
步骤104,将所述第二HTTP请求发送至k8s集群的API服务器。
其中,WEB服务器可以将拼装得到的第二HTTP请求发送至k8s集群中的API服务器,从而使得k8s能够按照第二HTTP请求中的信息创建带有自定义大小的shm的pod。
其中,k8s集群可以配置有一个或多个API服务器,当配置有多个API服务器时,可以按照预设策略选择一个API服务器发送该第二HTTP请求。
这样,本公开实施例通过HTTP请求的方式,来向k8s集群发送创建带有自定义大小的共享内存的容器(pod)的请求,无需开发人员编写命令和文件,降低了用户的操作难度、简化了操作步骤;并且,本公开实施例的方法通过获取第一HTTP请求中的待创建的容器的预设参数信息以及对该容器待配置的共享内存的大小信息,并按照创建容器时所需要的数据结构信息,来对第一HTTP请求中携带的上述信息进行拼装,从而能够利用拼装后的第二HTTP请求来与k8s集群中的API服务器进行交互,利用HTTP请求实现了k8s对带有共享内存的容器的自动化创建,提升了容器的创建步骤的执行效率。
在一种可能的实施方式中,在步骤103之前,根据本公开实施例的方法还可以包括:
首先,识别所述第一HTTP请求的类型;
其中,WEB服务器在接收到第一HTTP请求后,可以识别该第一HTTP请求的类型,该类型包括但不限于Post请求、Patch请求、Get请求等。
这里只需要识别第一HTTP请求的类型属于上述列举的哪一种。
在本实施例中,识别到的该第一HTTP请求的类型为Post请求,表示向WEB服务器上传递信息,传递的信息包括上述待创建的pod的预设参数信息以及对所述pod待配置的shm的大小信息。
然后,根据所述第一HTTP请求的类型,识别k8s集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
其中,对于Post类型的HTTP请求,则说明客户端想要创建带有shm的pod,而k8s集群的API服务器对外可以通过很多种API接口,这里,本公开实施例的WEB服务器可以识别用于处理该Post类型的HTTP请求的目标API接口。其中,该目标API接口即为用于创建pod的API接口。
最后,获取所述目标API接口支持的预设数据结构信息。
其中,在调用目标API接口创建pod时,目标API接口定义了其支持的预设数据结构信息(例如数据类型等),因此,这里需要获取该目标API接口支持的预设结构信息。
这样,本公开实施例根据接收到的第一HTTP请求的类型,可以识别k8s集群的API服务器中用于处理所述类型的HTTP请求的目标API接口,并获取该目标API接口支持的预设数据结构信息,从而可以将第一HTTP请求中的参数信息拼装成该目标API接口支持的数据结构,通过对第一HTTP请求中的用于创建带有shm的pod的参数信息进行数据结构的重新拼装,从而可以便于后续WEB服务器与k8s的API服务器的交互,提升创建配置有shm的pod的效率。
在一种可能的实施方式中,在执行步骤103时,可以通过图2所示的方法来实现:
步骤201,将待配置的所述shm所属的目标存储介质的类型设置为目标类型;
其中,本公开实施例的方法的目的是使k8s可以根据接收到的第二HTTP请求进行pod的创建,并且,还能够在创建pod时,对创建的pod分配一定大小的内存,来作为pod的共享内存使用。
而内存必然属于某个存储介质,因此,本步骤需要将shm所属的目标存储介质的类型设置为目标类型。
在一个示例中,在k8s集群中,一个pod内的各个容器所使用的共享内存(shm)一般为volume,一个volume可以是磁盘中的目录,也可以是容器化应用中的目录,因此,volume即为shm所属的目标存储介质,本步骤中,可以将volume设置为EmptyDir类型,并将EmptyDir的类型设置成Memory(内存)类型。
其中,k8s支持多种类型的volumes,这里将volume设置为EmptyDir类型;而emptydir也有很多种类型,这里可以将EmptyDir的类型再设置为Memory类型。
本步骤相当于设置了共享内存shm需要挂载到哪个数据卷下。
步骤202,将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
其中,由于本实施例是对创建的pod配置自定义大小的shm,因此,不仅需要步骤202来设置shm所属的存储介质的类型,还需要进一步地设置该目标类型的目标存储介质中作为shm的存储空间大小。
在一个示例中,例如该大小信息为500M,则可以将volume的大小设置为500M,其中,该volueme的类型为EmptyDir类型,且EmptyDir的类型为Memory类型。
本步骤相当于设置了共享内存shm需要挂载到步骤201所确定数据卷下中的多大的存储空间中。
步骤203,将所述目标存储介质的路径信息,设置为目标路径信息;
上述步骤201和步骤202设置了shm需要使用哪种类型的存储介质中多大的存储空间,但是,并未对该存储空间的地址做出设置,因此,本步骤还需要将所述目标存储介质的路径信息,设置为目标路径信息。
在一个示例中,可以将所述volume所处的路径设置为/dev/shm。其中,目标路径:/dev/shm。其中,一般自定义大小的shm是设置在/dev/shm路径下的的存储空间中的。
本步骤相当于设置了共享内存shm所挂载的voluem(目标存储空间)所处的位置。
步骤204,将所述预设参数信息的数据类型,转换为所述预设数据结构信息所支持的目标数据类型;
其中,所述预设数据结构信息为在创建pod时所需的数据结构信息。
其中,预设数据结构信息中可以定义创建pod时所支持的数据类型;
例如预设参数信息的数据类型为浮点(float)类型,而预设数据结构信息中定义的数据类型为例如整型(int),那么这里需要将float类型的预设参数信息进行数据类型的转换,转换为int类型。
当然,这里的float类型、int类型只是示意性举例,并不限制本公开,而本公开实施例所述的预设数据结构信息所支持的目标数据类型的数量可以是一个或多个,也不限于上述举例。
其中,本公开实施例对于步骤201、步骤203和步骤204的执行顺序不做限制。
步骤205,对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求。
其中,可以将经过步骤201~步骤204处理后的各个数据按照HTTP协议进行重新拼装,得到第二HTTP请求。
其中,第二HTTP请求中可以携带所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息。
另外,上述步骤201~步骤205的数据拼装过程可以理解为本公开实施例的方法自定义的协议,该协议表示在创建配置有自定义大小shm的pod时所需要执行的操作。通过进行本实施例的方法的操作,就可以便于k8s体系针对拼装后的第二HTTP请求进行自动化的带有自定义大小shm的pod的创建工作。
这样,本公开实施例通过对从第一HTTP请求中解析到的信息,按照本公开实施例的方法在创建配置有shm的pod时所定义的协议进行数据的重新拼装,从而可以做到自动化创建自定义大小的shm的pod,对创建的带有自定义大小shm的pod的维护也可以通过http请求来实现,避免了很多繁琐的运维操作。并且,无需开发人员学习编写命令和yaml文件,降低了用户的学习成本以及命令和yaml文件的执行成本。
在一种可能的实施方式中,在执行步骤104时,可以通过S401来实现:
S401,通过client-go组件,将所述第二HTTP请求发送至k8s集群的API服务器。
其中,为了实现WEB服务器通过http请求来访问k8s集群,WEB服务器可以采用client-go组件来将第二HTTP请求发送至k8s集群中的API服务器。
其中,client-go是go语言访问K8s的API的一种新的框架,client-go是一个调用k8s集群的API的客户端。
这样,本公开实施例通过client-go组件实现了WEB服务器对k8s集群中的API服务器的HTTP访问,从而便于k8s根据接收到的第二HTTP请求中的与创建pod有关的预设参数信息自动创建pod,并按照第二HTTP请求中的shm的相关信息,对创建的pod配置用户自定义大小的shm,简化了创建带有shm的pod的的操作步骤,提升了创建pod的执行效率。并且,本公开实施例使用户在客户端侧通过第一HTTP请求访问WEB服务器,并由WEB服务器通过client-go组件来访问API服务器,避免了客户端侧直接访问k8s集群,实现了客户端的访问控制,方便运维。
在一种可能的实施方式中,在执行S401时,可以通过图3所示的方法来实现:
步骤301,通过client-go组件,连接k8s集群的API服务器;
其中,WEB服务器可以通过client-go组件,来与k8s集群的API服务器连接。
步骤302,根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
本步骤的具体实现可以参照上文,这里不再赘述。
步骤303,通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述k8s集群的所述API服务器,以使所述k8s集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的shm的pod。
具体而言,WEB服务器可以使用client-go组件来调用API服务器中用于创建pod的目标API接口,并将第二HTTP请求中携带到拼装后的数据传递到目标API接口中,其中,目标API接口可以将接收到的拼装后的数据解析成json文件。最后WEB服务器通过client-go组件将json文件发送至所述k8s集群的所述API服务器,使得所述k8s集群根据json文件创建配置有所述目标存储空间大小的shm的pod。
其中,k8s集群在创建pod时,可以根据json文件中的转换为目标数据类型的预设参数信息创建pod,以及根据shm所属的目标存储介质的目标类型、目标存储空间大小、目标路径信息,来在目标路径信息对应的目标路径下分配目标类型以及目标存储空间大小的一段内存,使得shm挂载到该段内存,那么创建的pod中的任意一个容器化应用都可以对该段内存中的数据进行共享使用。
图4是根据一示例性实施例示出的一种数据处理装置的结构框图。参照图4,该装置包括:
接收模块41,被配置为接收第一超文本传输协议HTTP请求;
第一获取模块42,被配置为根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
拼装模块43,被配置为按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求,其中,所述预设数据结构信息为在创建容器时所需的数据结构信息;
发送模块44,被配置为将所述第二HTTP请求发送至kubernetes集群的应用程序编程接口API服务器。
在一种可能的实施方式中,所述装置还包括:
第一识别模块,被配置为识别所述第一HTTP请求的类型;
第二识别模块,被配置为根据所述第一HTTP请求的类型,识别kubernetes集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
第二获取模块,被配置为获取所述目标API接口支持的预设数据结构信息。
在一种可能的实施方式中,所述拼装模块43包括:
第一拼装子模块,被配置为将待配置的所述共享内存所属的目标存储介质的类型设置为目标类型;
第二拼装子模块,被配置为将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
第三拼装子模块,被配置为将所述目标存储介质的路径信息,设置为目标路径信息;
第四拼装子模块,被配置为将所述预设参数信息的数据类型,转换为所述预设数据结构信息所支持的目标数据类型;
第五拼装子模块,被配置为对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求。
在一种可能的实施方式中,所述发送模块44包括:
发送子模块,被配置为通过client-go组件,将所述第二HTTP请求发送至kubernetes集群的API服务器。
在一种可能的实施方式中,所述发送子模块包括:
连接单元,被配置为通过client-go组件,连接kubernetes集群的API服务器;
识别单元,被配置为根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
调用单元,被配置为通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述kubernetes集群的所述API服务器,以使所述kubernetes集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包括指令的应用程序,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是根据一示例性实施例示出的一种用于数据处理的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图6,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法……
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作***,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
需要说明的是,本公开的执行主体可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务器。当电子设备如移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等时,如图5所示。当电子设备是服务器时,如图6所示。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收第一HTTP请求;
根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
将待配置的所述共享内存所属的目标存储介质的类型设置为目标类型;
将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
将所述目标存储介质的路径信息,设置为目标路径信息;
将所述预设参数信息的数据类型,转换为预设数据结构信息所支持的目标数据类型,所述预设数据结构信息为在创建容器时所需的数据结构信息;
对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求;
将所述第二HTTP请求发送至kubernetes 集群的API服务器,以使所述kubernetes 集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
2.根据权利要求1所述的数据处理方法,其特征在于,按照预设数据结构信息,对所述预设参数信息以及所述大小信息进行拼装,生成第二HTTP请求之前,所述方法还包括:
识别所述第一HTTP请求的类型;
根据所述第一HTTP请求的类型,识别kubernetes集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
获取所述目标API接口支持的预设数据结构信息。
3.根据权利要求1所述的数据处理方法,其特征在于,所述将所述第二HTTP请求发送至kubernetes 集群的API服务器,包括:
通过client-go组件,将所述第二HTTP请求发送至kubernetes 集群的API服务器。
4.根据权利要求3所述的数据处理方法,其特征在于,所述通过client-go组件,将所述第二HTTP请求发送至kubernetes 集群的API服务器,包括:
通过client-go组件,连接kubernetes 集群的API服务器;
根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述kubernetes 集群的所述API服务器,以使所述kubernetes 集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
5.一种数据处理装置,其特征在于,包括:
接收模块,被配置为接收第一HTTP请求;
第一获取模块,被配置为根据所述第一HTTP请求,获取待创建的容器的预设参数信息以及对所述容器待配置的共享内存的大小信息;
拼装模块,包括:
第一拼装子模块,被配置为将待配置的所述共享内存所属的目标存储介质的类型设置为目标类型;
第二拼装子模块,被配置为将所述目标类型的所述目标存储介质的存储空间大小,设置为与所述大小信息匹配的目标存储空间大小;
第三拼装子模块,被配置为将所述目标存储介质的路径信息,设置为目标路径信息;
第四拼装子模块,被配置为将所述预设参数信息的数据类型,转换为预设数据结构信息所支持的目标数据类型,所述预设数据结构信息为在创建容器时所需的数据结构信息;
第五拼装子模块,被配置为对所述目标存储介质的所述目标类型、所述目标存储空间大小、所述目标路径信息、以及转换数据类型后的所述预设参数信息进行拼装,生成第二HTTP请求;
发送模块,被配置为将所述第二HTTP请求发送至kubernetes 集群的API服务器,以使所述kubernetes 集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
6.根据权利要求5所述的数据处理装置,其特征在于,所述装置还包括:
第一识别模块,被配置为识别所述第一HTTP请求的类型;
第二识别模块,被配置为根据所述第一HTTP请求的类型,识别kubernetes集群的API服务器中用于处理所述类型的HTTP请求的目标API接口;
第二获取模块,被配置为获取所述目标API接口支持的预设数据结构信息。
7.根据权利要求5所述的数据处理装置,其特征在于,所述发送模块包括:
发送子模块,被配置为通过client-go组件,将所述第二HTTP请求发送至kubernetes集群的API服务器。
8.根据权利要求7所述的数据处理装置,其特征在于,所述发送子模块包括:
连接单元,被配置为通过client-go组件,连接kubernetes 集群的API服务器;
识别单元,被配置为根据所述第一HTTP请求的类型,识别所述API服务器中用于处理所述类型的HTTP请求的目标API接口;
调用单元,被配置为通过所述client-go组件,调用所述API服务器的所述目标API接口,将所述第二HTTP请求发送至所述kubernetes 集群的所述API服务器,以使所述kubernetes 集群根据所述第二HTTP请求创建配置有所述目标存储空间大小的共享内存的容器。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至权利要求4中任意一项所述的数据处理方法所执行的操作。
10.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种以实现如权利要求1至权利要求4中任意一项所述的数据处理方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910132814.3A CN109976872B (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910132814.3A CN109976872B (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976872A CN109976872A (zh) | 2019-07-05 |
CN109976872B true CN109976872B (zh) | 2021-05-18 |
Family
ID=67077239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910132814.3A Active CN109976872B (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976872B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110554865B (zh) * | 2019-09-10 | 2021-05-18 | 联想(北京)有限公司 | 可视化编程的方法、装置、计算设备以及介质 |
CN111414161B (zh) * | 2020-03-27 | 2023-05-12 | 北京字节跳动网络技术有限公司 | 一种生成idl文件的方法、装置、介质和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382985A (zh) * | 2008-10-17 | 2009-03-11 | 深圳市金蝶中间件有限公司 | 一种转换jsf原始页面请求的方法和过滤器 |
CN103902355A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市蓝韵网络有限公司 | 一种医学影像快速加载方法 |
CN108171473A (zh) * | 2017-12-26 | 2018-06-15 | 北京九章云极科技有限公司 | 一种数据分析处理***及数据分析处理方法 |
CN108737215A (zh) * | 2018-05-29 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种云数据中心Kubernetes集群容器健康检查的方法和装置 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109067862A (zh) * | 2018-07-23 | 2018-12-21 | 北京邮电大学 | API Gateway自动伸缩的方法与装置 |
CN109150616A (zh) * | 2018-09-03 | 2019-01-04 | 成都嗨翻屋科技有限公司 | 一种可自动增加https入口的智能型网关及其工作方法 |
US10212041B1 (en) * | 2016-03-04 | 2019-02-19 | Avi Networks | Traffic pattern detection and presentation in container-based cloud computing architecture |
-
2019
- 2019-02-21 CN CN201910132814.3A patent/CN109976872B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382985A (zh) * | 2008-10-17 | 2009-03-11 | 深圳市金蝶中间件有限公司 | 一种转换jsf原始页面请求的方法和过滤器 |
CN103902355A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市蓝韵网络有限公司 | 一种医学影像快速加载方法 |
US10212041B1 (en) * | 2016-03-04 | 2019-02-19 | Avi Networks | Traffic pattern detection and presentation in container-based cloud computing architecture |
CN108171473A (zh) * | 2017-12-26 | 2018-06-15 | 北京九章云极科技有限公司 | 一种数据分析处理***及数据分析处理方法 |
CN108737215A (zh) * | 2018-05-29 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种云数据中心Kubernetes集群容器健康检查的方法和装置 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109067862A (zh) * | 2018-07-23 | 2018-12-21 | 北京邮电大学 | API Gateway自动伸缩的方法与装置 |
CN109150616A (zh) * | 2018-09-03 | 2019-01-04 | 成都嗨翻屋科技有限公司 | 一种可自动增加https入口的智能型网关及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109976872A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329742B (zh) | 软件开发工具包调用方法及装置 | |
EP2998899A1 (en) | Method and apparatus for running application program | |
US9870239B2 (en) | Method and device for running application program | |
CN108833585B (zh) | 信息交互方法、装置及存储介质 | |
CN105808305B (zh) | 静态资源的加载方法和装置 | |
CN110502444B (zh) | 一种图像处理算法的测试方法及测试装置 | |
CN110928543A (zh) | 页面处理方法、装置及存储介质 | |
CN110704054A (zh) | 通过小程序接入目标应用程序的方法、装置、电子设备及存储介质 | |
CN109117144B (zh) | 页面处理方法、装置、终端及存储介质 | |
CN107562500B (zh) | 调试装置、方法及设备 | |
CN111198706A (zh) | 更新***功能的方法、更新***功能的装置及存储介质 | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN109976872B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106612149B (zh) | 射频电路测试方法、装置、***及移动终端 | |
CN111596980B (zh) | 一种信息处理方法及装置 | |
CN110221813B (zh) | 应用的数据连接建立方法、装置、存储介质和电子设备 | |
CN109491655B (zh) | 一种输入事件处理方法及装置 | |
CN111782997A (zh) | 加载网页的方法及装置、存储介质 | |
CN110908904A (zh) | 调试快应用的方法、调试快应用的装置及电子设备 | |
CN113377322A (zh) | 页面直达处理方法、装置及电子设备 | |
CN111079040A (zh) | 资源嗅探方法、装置、终端、服务器及存储介质 | |
CN105607958B (zh) | 信息输入方法及装置 | |
CN111274590B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN113238887A (zh) | 数据处理方法、装置及存储介质 | |
CN105892832B (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 |