CN114721732A - 获取数据的方法、装置、系统、电子设备及存储介质 - Google Patents

获取数据的方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN114721732A
CN114721732A CN202210348259.XA CN202210348259A CN114721732A CN 114721732 A CN114721732 A CN 114721732A CN 202210348259 A CN202210348259 A CN 202210348259A CN 114721732 A CN114721732 A CN 114721732A
Authority
CN
China
Prior art keywords
data
target
component
application programming
programming interface
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.)
Pending
Application number
CN202210348259.XA
Other languages
English (en)
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202210348259.XA priority Critical patent/CN114721732A/zh
Publication of CN114721732A publication Critical patent/CN114721732A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种获取数据的方法、装置、系统、电子设备及存储介质。方法包括:获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;通过所述目标应用程序编程接口输出转换为通用数据格式的数据。用以解决不同的云计算系统的兼容和数据互通的问题。

Description

获取数据的方法、装置、系统、电子设备及存储介质
技术领域
本申请涉及网络传输技术领域,尤其涉及一种获取数据的方法、装置、系统、电子设备及存储介质。
背景技术
云计算开源框架Open stack,是一个旨在为公共及私有云的建设与管理提供软件的开源项目。该项目由几个主要的组件组合起来完成一些具体的工作。Open stack主要包括Nova(计算)、cinder(存储)、neutron(网络)、glance(镜像)等组件模块。
该框架在最初设计时是为了实现将现有应用模式转向云计算,并未考虑到后期不同云厂商各自基于Open stack开发云计算平台,所产生的一系列兼容和数据互通问题。
不同云厂商开发的云计算平台,各有特色,多数是基于Open stack或在Openstack上做二次开发,如何实现不同云厂商开发的云计算平台的兼容和数据互通,是需要解决的问题。
发明内容
本申请提供了一种获取数据的方法、装置、系统、电子设备及存储介质,用以解决不同的云计算系统的兼容和数据互通的问题。
第一方面,本申请实施例提供了一种获取数据的方法,应用于设置有至少一个应用程序编程接口的数据标准化组件,所述数据标准化组件与目标云计算系统建立通信连接,方法包括:
获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
可选地,所述获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式,包括:
从预先配置的所述目标云计算系统的映射关系中,提取所述目标应用程序编程接口对应的所述目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;其中,所述映射关系中保存应用程序编程接口、功能组件、以及通用数据格式三者之间的映射关系。
可选地,所述映射关系中任意两个所述功能组件对应的应用程序编程接口不相同。
可选地,所述通过所述目标应用程序编程接口输出转换为通用数据格式的数据,包括:
获取所述目标功能组件对应的存储空间,通过所述目标应用程序编程接口将所述通用数据格式的数据存储至所述存储空间;其中,具有相同功能的组件对应同一个存储空间。
可选地,所述目标功能组件包括计算组件,所述目标数据包括虚拟机创建数据、运行数据、挂起数据、调度数据、关闭数据和销毁数据中的至少一种;
或者
所述目标功能组件包括镜像组件,所述目标数据包括镜像的创建数据、更新数据和查看数据中的至少一种;
或者
所述目标功能组件包括块存储组件,所述目标数据包括块设备的创建数据、查询数据、删除数据、卸载数据、挂载数据和备份数据中的至少一种;
或者
所述目标功能组件包括网络虚拟化组件,所述目标数据包括网络参数配置数据。
可选地,所述获取通过目标应用程序编程接口输入的通用数据读取指令之前,所述方法还包括:
获取与所述数据标准化组件通信连接的至少两个云计算系统;
从所述至少两个云计算系统中,选择所述目标云计算系统;以及从所述目标云计算系统的各功能组件中选择所述目标功能组件,并获取所述目标功能组件对应的目标应用程序编程接口;
获取数据读取参数,所述数据读取参数包括所述目标云计算系统的访问地址;
将所述数据读取参数写入所述目标应用程序编程接口对应的通用数据格式中,得到所述通用数据读取指令。
可选地,从所述至少两个云计算系统中,选择所述目标云计算系统;以及从所述目标云计算系统的各功能组件中选择所述目标功能组件,并获取所述目标功能组件对应的目标应用程序编程接口,包括:
显示对所述至少两个云计算系统中各所述云计算系统的第一选择控件;
基于对所述第一选择控件的点击操作,确定被选中的所述目标云计算系统;
显示所述目标云计算系统中各功能组件的第二选择控件;
基于对所述第二选择控件的点击操作,确定被选中的所述目标功能组件,获取所述目标功能组件对应的目标应用程序编程接口的标识,并调用所述目标应用程序编程接口。
第二方面,本申请实施例提供了一种获取数据的装置,应用于设置有至少一个应用程序编程接口的数据标准化组件,与目标云计算系统建立通信连接;包括:
第一获取模块,用于获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
第二获取模块,用于获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
读取模块,用于根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
转换模块,用于通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
第三方面,本申请实施例提供了一种云计算系统,包括数据标准化组件以及至少一个功能组件;
所述数据标准化组件用于实现第一方面任一项所述的获取数据的方法。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面任一项所述的获取数据的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的获取数据的方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过将数据标准化组件与目标云计算系统建立通信连接,在数据标准化组件上设置至少一个应用程序编程接口,在获取数据标准化组件中的目标应用程序编程接口输入的通用数据读取指令后,通过该目标应用程序编程接口映射到目标功能组件,并获得该目标应用程序编程接口对应的通用数据格式,从目标功能组件的存储数据中读取目标数据后,将目标数据转换为该通用数据格式,通过该目标应用程序编程接口输出转换为通用数据格式的数据,从而能够将从云计算系统获取的数据统一为通用数据格式,规范从云计算系统获取到数据的格式,避免了从不同云计算系统获取的数据格式不同,导致兼容和数据互通问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中获取数据的方法流程示意图;
图2为本申请实施例中生成通用数据读取指令的方法流程示意图;
图3为本申请实施例中云计算系统集成数据标准化组件的结构示意图;
图4为本申请实施例中数据标准化组件与至少两个云计算系统连接的示意图;
图5为本申请实施例中获取数据的装置结构示意图;
图6为本申请实施例中数据标准化组件的结构示意图;
图7为本申请实施例中云计算系统的结构示意图;
图8为本申请实施例中从云计算系统a和云计算系统b获取数据的示意图;
图9为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决不同云计算厂商开发的云计算系统之间的兼容和数据互通问题,本申请实施例提供了一种获取数据的方法,该方法应用于设置有至少一个应用程序编程接口的数据标准化组件,该数据标准化组件与目标云计算系统建立通信连接。
其中,数据标准化组件上设置的应用程序编程接口(英文全称ApplicationProgramming Interface,简称API),作为该数据标准化组件的对外标准接口,用于与外部设备进行数据交互,例如获取外部设备传入的指令,和/或,向外部设备返回数据。
具体实施例中,该数据标准化组件可以是独立于目标云计算系统,也可以是作为一个新增组件集成到该目标云计算系统中。其中,在数据标准化组件独立于目标云计算系统的情况下,该数据标准化组件除与该目标云计算系统建立通信连接之外,还与其他云计算系统建立通信连接。
如图1所示,本申请实施例中,通过该数据标准化组件获取数据的详细方法流程如下:
步骤101,获取通过目标应用程序编程接口输入的通用数据读取指令;该目标应用程序编程接口属于数据标准化组件的至少一个应用程序编程接口。
其中,数据标准化组件中可以设置与云计算系统中功能组件的数量一致的应用程序编程接口,功能组件与应用程序编程接口一一对应配置,使得通过应用程序编程接口即可标识云计算系统的一个功能组件。
例如,假设云计算系统中包括N个功能组件,该云计算系统对应的数据标准化组件中设置N个应用程序编程接口,该N个功能组件与该N个应用程序编程接口一一对应,应用程序编程接口1对应到功能组件1,则外部设备对功能组件1的数据访问,通过应用程序编程接口1进行传输。
步骤102,获取目标应用程序编程接口对应的目标功能组件,以及该目标应用程序编程接口对应的通用数据格式。
其中,目标功能组件属于目标云计算系统的至少一个功能组件。
目标云计算系统,可以是采用云计算开源框架Open stack实现。当然,本申请实施例所提供的也可以应用于采用其他框架实现的云计算系统,本文仅以采用Open stack实现的云计算系统为例进行说明。
目标云计算系统的至少一个功能组件,包括计算组件(Nova)、镜像组件(glance)、块存储组件(cinder)和网络虚拟化组件(neutron)等。
一个具体实施例中,获取目标应用程序编程接口对应的目标功能组件,以及目标应用程序编程接口对应的通用数据格式,包括:从预先配置的目标云计算系统的映射关系中,提取目标应用程序编程接口对应的目标功能组件,以及该目标应用程序编程接口对应的通用数据格式。其中,该映射关系中保存应用程序编程接口、功能组件、以及通用数据格式三者之间的映射关系。
具体地,映射关系中任意两个功能组件对应的应用程序编程接口不相同。
例如,假设数据标准化组件的API1映射到Nova组件和格式1,API2映射到glance组件和格式2,API3映射到cinder组件和格式3,API4映射到neutron组件和格式4。则从API1获取到的数据读取指令,对应到Nova组件和格式1。
步骤103,根据该通用数据读取指令,从目标功能组件的存储数据中读取目标数据;以及,将该目标数据转换为该目标功能组件对应的通用数据格式。
其中,不同的目标功能组件对应的目标数据不相同,通过对目标功能组件进行列举如下:
情况A、目标功能组件包括计算组件,目标数据包括虚拟机创建数据、运行数据、挂起数据、调度数据、关闭数据和销毁数据中的至少一种。
计算组件,即Nova组件,主要用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求提供虚拟服务,负责虚拟机创建、开机、关机、挂起(网卡挂载卸载等)、暂停、调整(修改主机密码、升配)、在线/离线迁移、宕机疏散迁移、重启/重装系统、销毁等操作,以及配置中央处理器(CPU)、内存等信息规格。虚拟机创建操作过程中生成创建数据,虚拟机开机、关机操作过程中生成运行数据,虚拟机挂起过程中生成挂起数据,虚拟机暂停、调整、迁移过程中生成调度数据,虚拟机重启过程中生成关闭数据,虚拟机销毁过程中生成销毁数据。
情况B、目标功能组件包括镜像组件,目标数据包括镜像的创建数据、更新数据和查看数据中的至少一种。
镜像组件,即glance组件,主要用于提供虚拟机镜像查找及检索服务,支持多种虚拟机镜像格式(例如AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK等),负责创建上传镜像、删除镜像、编辑镜像基本信息的功能。从该glance组件读取的数据主要有:主机创建整机镜像的数据,查看镜像的数据(包括快照的查询等),删除镜像、更新更新、共享镜像、上传镜像的进行状态及进度等更新数据。
情况C、目标功能组件包括块存储组件,目标数据包括块设备的创建数据、查询数据、删除数据、卸载数据、挂载数据和备份数据中的至少一种。
块存储组件,即cinder组件,主要为运行实例提供稳定的数据块存储服务,cinder组件的插件驱动架构有利于块设备的创建和管理,例如创建卷、删除卷、在实例上挂载和卸载卷等。cinder组件中核心的数据包括卷的创建、查询、删除、卸载,以及针对卷的快照创建、快照备份、查询及删除,以及,卷的备份数据,包括创建备份、查询备份、修改和删除卷备份等。
例如,查询卷指令可以表示为:
GET http://{{url}}/xx/{{tenantid}}/volumes/{{volumeId}};
删除卷的指令可以表示为:
DELETE http://{{url}}/xx/{{tenantid}}/volumes/{{volumeId}};
url表示卷的访问地址,tenantid表示cinder组件的接口标识,volumeId表示卷的标识。
情况D、目标功能组件包括网络虚拟化组件,目标数据包括网络参数配置数据。
网络虚拟化组件,即neutron组件,主要提供云计算的网络虚拟化技术,为OpenStack其他功能组件提供网络连接服务,可以定义网络(Network)、子网(Subnet)、路由(Router),配置DHCP(动态主机配置协议)、DNS(域名系统)、负载均衡、L3服务,网络支持GRE(通用路由封装)、VLAN(虚拟局域网)。
以上仅是对基于Open Stack的云计算系统中包含的主要功能组件进行举例说明,一个云计算系统中还可能会包含其他功能组件,此处不再一一列举。
需要说明的是,Open Stack的各个功能组件对外暴露REST(表现层状态转移)API接口,以便于其他程序调用,例如被数据标准化组件调用。
本申请实施例中,对各功能组件对应的通用数据格式不做具体限定,根据各功能组件的需要定义即可。例如,在数据标准化组件获取到来自cinder组件的数据后,提取该数据中的关键字,如磁盘标识(ID)、数据长度等,将提取出来的数据按照cinder组件对应的通用数据格式各字段组成规则进行存储,从而实现数据格式的转换,通过转换将提取的数据保存为符合标准restful接口规范的通用数据格式。
步骤104,通过目标应用程序编程接口输出转换为通用数据格式的数据。
一个具体实施例中,通过目标应用程序编程接口输出转换为通用数据格式的数据,包括:获取目标功能组件对应的存储空间,通过目标应用程序编程接口将通用数据格式的数据存储至该存储空间;其中,具有相同功能的组件对应同一个存储空间。
例如,为Nova组件的相关数据预留固定存储空间1;为neutron组件的相关数据预留固定存储空间2;为glance组件的相关数据预留固定存储空间3;为cinder组件的相关数据预留固定存储空间4;为Swift组件的相关数据预留固定存储空间5;为Keystore组件的相关数据预留固定存储空间6;为Horizon组件的相关数据预留固定存储空间7;为Ceilometer组件的相关数据预留固定存储空间8;为除以上列举的功能组件之外的其他组件的相关数据预留固定存储空间9。其中,存储空间1~9可以是相互独立的存储空间,即任两个存储空间不存在复用关系。
在一个数据标准化组件同时连接至少两个云计算系统的情况下,具有相同功能的组件对应同一个存储空间,是指该至少两个云计算系统的具有相同功能的组件对应到同一个存储空间,例如,该至少两个云计算系统各自的Nova组件都对应到同一个存储空间1,该至少两个云计算系统各自的glance组件都对应到同一个存储空间2等。通过将具有相同功能的组件的数据存储到同一个存储空间,便于用户对从不同云计算系统获取的同一个功能组件相关的数据集中起来管理,提高管理效率。
一个具体实施例中,在与数据标准化组件建立通信连接的只有一个云计算系统时,该云计算系统即为目标云计算系统。在与数据标准化组件建立通信连接的有至少两个云计算系统时,在执行步骤101获取通过目标应用程序编程接口输入的通用数据读取指令之前,需要先从该至少两个云计算系统中确定目标云计算系统,并生成该通用数据读取指令,如图2所示,具体包括如下步骤:
步骤201,获取与数据标准化组件通信连接的至少两个云计算系统;
步骤202,从该至少两个云计算系统中,选择目标云计算系统;以及从该目标云计算系统的各功能组件中选择目标功能组件,并获取该目标功能组件对应的目标应用程序编程接口;
步骤203,获取数据读取参数,该数据读取参数包括所述目标云计算系统的访问地址;
步骤204,将该数据读取参数写入目标应用程序编程接口对应的通用数据格式中,得到该通用数据读取指令。
示例性实施例中,从至少两个云计算系统中,选择目标云计算系统;以及从所述目标云计算系统的各功能组件中选择所述目标功能组件,并获取所述目标功能组件对应的目标应用程序编程接口,可以采用便于用户操作的方式实现,具体包括:显示对至少两个云计算系统中各云计算系统的第一选择控件;基于对第一选择控件的点击操作,确定被选中的目标云计算系统;显示目标云计算系统中各功能组件的第二选择控件;基于对第二选择控件的点击操作,确定被选中的目标功能组件,获取目标功能组件对应的目标应用程序编程接口的标识,并调用该目标应用程序编程接口。
示例性实施例中,如图3所示为在一个采用Open stack实现的云计算系统中集成数据标准化组件(名称为standardDATA的组件)的示意图。该云计算系统中包括neutron组件、Nova组件、glance组件和cinder组件,除此之外还可能会包括其他功能组件,此处不再列举,还包括数据标准化组件。其中,数据标准化组件分别与各功能组件的API接口建立通信连接,数据标准化组件根据需要从各功能组件中获取数据,并对获取到的数据进行标准化处理后输出,并存储到指定的存储空间。
示例性实施例中,如图4所示为一个数据标准化组件(名称为standardDATA的组件)与至少两个采用Open stack实现的云计算系统通信连接的示意图。每个云计算系统中均包括neutron组件、Nova组件、glance组件和cinder组件,除此之外还可能会包括其他功能组件,此处不再列举。其中,数据标准化组件与云计算系统1~N中的每个功能组件的API接口建立通信连接,数据标准化组件根据需要从各功能组件中获取数据,并对获取到的数据进行标准化处理后输出,并存储到指定的存储空间。例如,数据标准化组件对各云计算系统的neutron组件的数据存储到指定存储空间1,对各云计算系统的Nova组件的数据存储到指定存储空间2等。
本申请实施例中,通过将数据标准化组件与目标云计算系统建立通信连接,在数据标准化组件上设置至少一个应用程序编程接口,在获取数据标准化组件中的目标应用程序编程接口输入的通用数据读取指令后,通过该目标应用程序编程接口映射到目标功能组件,并获得该目标应用程序编程接口对应的通用数据格式,从目标功能组件的存储数据中读取目标数据后,将目标数据转换为该通用数据格式,通过该目标应用程序编程接口输出转换为通用数据格式的数据,从而能够将从云计算系统获取的数据统一为通用数据格式,规范从云计算系统获取到数据的格式,避免了从不同云计算系统获取的数据格式不同,导致兼容和数据互通问题。
通过增加数据标准化组件,实现对云计算系统中所有功能组件做统一的数据传输,从而不管一个云计算厂商对采用Open Stack的云计算系统如何扩展或二次开发,或者对云计算系统的功能组件(如Nova、cinder等)做如何复杂的逻辑设计以及是否按标准来实现多复杂的工程业务设计,均可以按照标准化的格式输出并存储,以便于用户使用标准化后的数据。
基于同一构思,本申请实施例中提供了一种获取数据的装置,该装置应用于设置有至少一个应用程序编程接口的数据标准化组件,与目标云计算系统建立通信连接,如图5所示,该装置主要包括:
第一获取模块501,用于获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
第二获取模块502,用于获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
读取模块503,用于根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
转换模块504,用于通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
基于同一构思,本申请实施例中提供了一种数据标准化组件600,如图6所示,该数据标准化组件包括数据处理单元601、数据转换单元602、数据存储单元603和标准数据输入/输出单元604,具体地:
标准数据输入/输出单元604,具体可以是多个应用程序编程接口,其中任一应用程序编程接口用于获取外部输入的通用数据读取指令;
数据处理单元601,用于获取通过标准数据输入/输出单元604中的目标应用程序编程接口输入的通用数据读取指令,获取该目标应用程序编程接口对应的目标功能组件,以及该目标应用程序编程接口对应的通用数据格式;根据通用数据读取指令从该目标功能组件中读取目标数据后,将该目标数据以及该通用数据格式的标识传输给数据转换单元602;
数据转换单元602,用于将读取到的目标数据转换为该目标功能组件对应的通用数据格式;并通过标准数据输入/输出单元604的目标应用程序编程接口输出给用户;
数据处理单元601,还用于将数据转换单元602转换得到的通用数据格式的数据传输给数据存储单元603进行存储。
其中,数据处理单元601通过云计算系统的各功能组件的API接口建立通信连接,例如,该数据处理单元分别与云计算系统的Nova组件、cinder组件、neutron组件等的API接口连接,数据处理单元601在确定目标功能组件之后,通过该目标功能组件的API接口从该目标功能组件中获取目标数据。
基于同一构思,本申请实施例中提供了一种云计算系统,如图7所示,该云计算系统700包括数据标准化组件701以及至少一个功能组件,该数据标准化组件用于实现以上方法实施例所描述的获取数据的方法。
示例性实施例中,如图8所示,在云计算系统a中集成数据标准化组件1(名称为standardDATA的组件),在云计算系统b中集成数据标准化组件2(名称为standardDATA的组件),数据标准化组件1分别与云计算系统a中各功能组件的API接口连接,数据标准化组件2分别与云计算系统b中各功能组件的API接口连接。租户A同时租用云计算系统a和云计算系统b,假如租户A想提取云计算系统a中功能组件的数据,则通过getUserCloudServerList接口,调用云计算系统a上租户A的云服务器列表信息,传入云计算系统a以及目标功能组件对应的参数即可。相似地,租户A想提取云计算系统b中功能组件的数据,只需要将传入的参数调整为云计算系统b以及目标功能组件对应的参数即可,其余保持不变,从而降低了多个云计算系统打通的难度。
具体地,从云计算系统a中获取数据的过程如下:租户A通过云计算系统a中标准数据输入/输出单元的目标应用程序编程接口,将通用数据读取指令输出给数据处理单元,数据处理单元从该目标应用程序编程接口对应的目标功能组件(例如cinder组件)获取目标数据(例如磁盘ID、数据长度等相关数据),数据转换单元将该目标数据转换为该目标功能组件对应的通用数据格式(例如标准restful接口格式),通过标准数据输入/输出单元的目标应用程序编程接口输出给租户A,至此,租户A获取云计算系统a中目标功能组件中的数据。在数据标准化组件中定义很多固定的接口规范和调用API,根据需要获取数据的目标功能组件,调用对应的接口规范和API即可,例如假如需要提取云计算系统a中Nova的数据,直接更换云计算系统中Nova组件的接口名称以及参数即可。
采用相似的流程,租户A获取云计算系统b中目标功能组件中的数据。
由于租户A从云计算系统a和云计算系统b具有相同功能的功能组件中获取的数据,均采用了通用数据格式,即采用的数据格式相同,从而实现了多个云计算系统的打通。并且,实现了对云计算系统中各组件的数据接收管理,对云计算系统各组件的数据统一管理并实现标准化,方便针对不同云厂商,进行统一的数据纳管或处理等。
需要说明的是,本申请实施例中根据需要可以将数据标准化组件进行插件化、模块化等处理。
基于同一构思,本申请实施例中还提供了一种电子设备,如图9所示,该电子设备主要包括:处理器901、存储器902和通信总线903,其中,处理器901和存储器902通过通信总线903完成相互间的通信。其中,存储器902中存储有可被至处理器901执行的程序,处理器901执行存储器902中存储的程序,实现如下步骤:
获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
上述电子设备中提到的通信总线903可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器902可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器901的存储装置。
上述的处理器901可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的获取数据的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种获取数据的方法,其特征在于,应用于设置有至少一个应用程序编程接口的数据标准化组件,所述数据标准化组件与目标云计算系统建立通信连接,方法包括:
获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
2.根据权利要求1所述的获取数据的方法,其特征在于,所述获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式,包括:
从预先配置的所述目标云计算系统的映射关系中,提取所述目标应用程序编程接口对应的所述目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;其中,所述映射关系中保存应用程序编程接口、功能组件、以及通用数据格式三者之间的映射关系。
3.根据权利要求2所述的获取数据的方法,其特征在于,所述映射关系中任意两个所述功能组件对应的应用程序编程接口不相同。
4.根据权利要求1所述的获取数据的方法,其特征在于,所述通过所述目标应用程序编程接口输出转换为通用数据格式的数据,包括:
获取所述目标功能组件对应的存储空间,通过所述目标应用程序编程接口将所述通用数据格式的数据存储至所述存储空间;其中,具有相同功能的组件对应同一个存储空间。
5.根据权利要求1至4任一项所述的获取数据的方法,其特征在于,所述目标功能组件包括计算组件,所述目标数据包括虚拟机创建数据、运行数据、挂起数据、调度数据、关闭数据和销毁数据中的至少一种;或者
所述目标功能组件包括镜像组件,所述目标数据包括镜像的创建数据、更新数据和查看数据中的至少一种;
或者
所述目标功能组件包括块存储组件,所述目标数据包括块设备的创建数据、查询数据、删除数据、卸载数据、挂载数据和备份数据中的至少一种;
或者
所述目标功能组件包括网络虚拟化组件,所述目标数据包括网络参数配置数据。
6.根据权利要求1所述的获取数据的方法,其特征在于,所述获取通过目标应用程序编程接口输入的通用数据读取指令之前,所述方法还包括:
获取与所述数据标准化组件通信连接的至少两个云计算系统;
从所述至少两个云计算系统中,选择所述目标云计算系统;以及从所述目标云计算系统的各功能组件中选择所述目标功能组件,并获取所述目标功能组件对应的目标应用程序编程接口;
获取数据读取参数,所述数据读取参数包括所述目标云计算系统的访问地址;
将所述数据读取参数写入所述目标应用程序编程接口对应的通用数据格式中,得到所述通用数据读取指令。
7.根据权利要求6所述的获取数据的方法,其特征在于,从所述至少两个云计算系统中,选择所述目标云计算系统;以及从所述目标云计算系统的各功能组件中选择所述目标功能组件,并获取所述目标功能组件对应的目标应用程序编程接口,包括:
显示对所述至少两个云计算系统中各所述云计算系统的第一选择控件;
基于对所述第一选择控件的点击操作,确定被选中的所述目标云计算系统;
显示所述目标云计算系统中各功能组件的第二选择控件;
基于对所述第二选择控件的点击操作,确定被选中的所述目标功能组件,获取所述目标功能组件对应的目标应用程序编程接口的标识,并调用所述目标应用程序编程接口。
8.一种获取数据的装置,其特征在于,应用于设置有至少一个应用程序编程接口的数据标准化组件,与目标云计算系统建立通信连接;包括:
第一获取模块,用于获取通过目标应用程序编程接口输入的通用数据读取指令;所述目标应用程序编程接口属于所述至少一个应用程序编程接口;
第二获取模块,用于获取所述目标应用程序编程接口对应的目标功能组件,以及所述目标应用程序编程接口对应的通用数据格式;所述目标功能组件属于所述目标云计算系统的至少一个功能组件;
读取模块,用于根据所述通用数据读取指令,从所述目标功能组件的存储数据中读取目标数据;以及,将所述目标数据转换为所述目标功能组件对应的通用数据格式;
转换模块,用于通过所述目标应用程序编程接口输出转换为通用数据格式的数据。
9.一种云计算系统,其特征在于,包括数据标准化组件以及至少一个功能组件;
所述数据标准化组件用于实现权利要求1至7任一项所述的获取数据的方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1至7任一项所述的获取数据的方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的获取数据的方法。
CN202210348259.XA 2022-04-01 2022-04-01 获取数据的方法、装置、系统、电子设备及存储介质 Pending CN114721732A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210348259.XA CN114721732A (zh) 2022-04-01 2022-04-01 获取数据的方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210348259.XA CN114721732A (zh) 2022-04-01 2022-04-01 获取数据的方法、装置、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114721732A true CN114721732A (zh) 2022-07-08

Family

ID=82241750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210348259.XA Pending CN114721732A (zh) 2022-04-01 2022-04-01 获取数据的方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114721732A (zh)

Similar Documents

Publication Publication Date Title
US11625281B2 (en) Serverless platform request routing
CN111782232A (zh) 集群的部署方法、装置、终端设备及存储介质
US11991094B2 (en) Metadata driven static determination of controller availability
CN108964968A (zh) 一种容器云环境下的服务接入管理方法和系统
JP2021502735A (ja) ゲートウェイ管理コンソールにアクセスする方法、システム、およびプログラム
US9847903B2 (en) Method and apparatus for configuring a communication system
CN103685608A (zh) 一种自动配置安全虚拟机ip地址的方法及装置
US11303583B2 (en) Resource trees by management controller
US11157434B2 (en) Service deployment in a cluster of I/O devices
WO2017148382A1 (zh) 在云计算管理平台中虚拟机访问存储设备的方法和装置
CN111158859A (zh) 基于麒麟操作系统的应用管理系统及其实现与使用方法
CN110083366B (zh) 应用运行环境的生成方法、装置、计算设备及存储介质
CN114489954A (zh) 基于虚拟化平台的租户创建方法、租户访问方法及设备
CN114371914A (zh) 容器ip地址配置方法、装置、存储介质及电子设备
CN116208498A (zh) 一种OpenStack云平台节点差异化配置的方法、装置、设备及介质
CN116737662A (zh) 业务数据处理的方法、装置、电子设备和存储介质
JP2021101319A (ja) 情報処理装置及び情報処理プログラム
CN114721732A (zh) 获取数据的方法、装置、系统、电子设备及存储介质
CN116455869A (zh) 基于Kubernetes高效配置公网域名方法和系统
CN116155978A (zh) 多注册中心适配方法、装置、电子设备及存储介质
CN116339756A (zh) 一种应用程序挂载方法、装置、设备及存储介质
CN115422277A (zh) 数据源连接池控制方法、装置及服务器
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN109189753B (zh) 一种在hue中添加用户信息的方法及装置
CN112363806A (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