用于操作云计算架构的基础设施层的方法和装置与流程

文档序号:12753096阅读:212来源:国知局
用于操作云计算架构的基础设施层的方法和装置与流程

本申请涉及计算机技术领域,具体涉及云计算技术领域,尤其涉及用于操作云计算架构的基础设施层的方法和装置。



背景技术:

云计算的IAAS(Infrastructure AS A Service,基础架构即服务)通过互联网提供了弹性和按需使用的数据中心、基础架构硬件、软件资源以及管理这些资源的控制台和API(Application Programming Interface,应用程序编程接口)。这些弹性的资源给人们生活和工作以及社会发展带来了巨大贡献和便利,但资源底层(即,基础设施层)实现模块众多,服务分布广泛,各模块间的交互和通信机制不统一,且模块专注原子功能实现,对外接口功能单一。进而导致通过管理控制台和API进行综合管理的性能低、难度大。

用户对自己云资源的管理实际上就是通过云资源提供商提供的控制台或API,灵活购买、查看、释放和批量管理。现有技术在实现云资源的管理时,大体可以有以下几种方案:1、不提供管理控制台和API,用户直接登录自己的云资源进行管理,这种方式下用户需要记录自己的所有资源信息,逐个操作,难度大、效率低。2、底层服务直接暴露原子接口,不对用户隐藏底层实现细节,且让用户自己来组合各种复杂的业务场景。3、借助控制台来管理,但控制台直接与底层服务交互,这种方式隐藏了底层实现细节,但由于控制台要调用多个底层服务和处理多个底层服务的数据,逻辑非常复杂,效率极低。



技术实现要素:

本申请的目的在于提出一种用于操作云计算架构的基础设施层的方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种用于操作云计算架构的基础设施层的方法,所述云计算架构包括提供计算和存储资源的基础设施层以及在基础设施层所提供资源的基础上提供了多种服务的中间层,所述基础设施层包括基础设施层数据库,所述中间层包括中间层数据库,所述方法包括:响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行所述操作请求所指示的操作;响应于确定执行所述操作,则向所述基础设施层发送所述操作请求;在所述基础设施层成功执行所述操作并更新所述基础设施层的相关资源后,更新所述中间层数据库中存储的所述基础设施层的相关资源的状态;采集所述基础设施层的相关资源发生变化的数据,并将所述数据存储到所述基础设施层数据库中;将所述基础设施层数据库中的数据同步到所述中间层数据库中。

在一些实施例中,所述确定是否执行所述操作请求所指示的操作,包括:确定所述用户是否具有操作所述基础设施层的权限;响应于确定出所述用户具有操作所述基础设施层的权限,则确定所述基础设施层的相关资源的状态是否允许执行所述操作;响应于确定出所述基础设施层的相关资源的状态允许执行所述操作,则确认执行所述操作。

在一些实施例中,所述操作请求还包括所述操作执行失败后重新执行的最大次数。

在一些实施例中,在所述将所述数据存储到所述基础设施层数据库中之后,所述方法还包括:记录将所述数据存储到所述基础设施层数据库中的时间作为更新时间。

在一些实施例中,在所述将所述基础设施层数据库中的数据同步到所述中间层数据库中之后,所述方法还包括:记录将所述基础设施层数据库中的数据同步到所述中间层数据库中的时间作为同步时间。

在一些实施例中,所述将所述基础设施层数据库中的数据同步到所述中间层数据库中,包括:按照预设的增量同步时间间隔将所述基础设施层数据库中的增量数据同步到所述中间层数据库中,其中,所述增量数据是所述基础设施层数据库在所述更新时间和所述同步时间之间发生变化的数据。

在一些实施例中,所述将所述基础设施层数据库中的数据同步到所述中间层数据库中,包括:按照预设的全量同步时间定时将所述基础设施层数据库中的数据同步到所述中间层数据库中。

第二方面,本申请提供了一种用于操作云计算架构的基础设施层的装置,所述云计算架构包括提供计算和存储资源的基础设施层以及在基础设施层所提供资源的基础上提供了多种服务的中间层,所述基础设施层包括基础设施层数据库,所述中间层包括中间层数据库,所述装置包括:确定单元,配置用于响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行所述操作请求所指示的操作;发送单元,配置用于响应于确定执行所述操作,则向所述基础设施层发送所述操作请求;更新单元,配置用于在所述基础设施层成功执行所述操作并更新所述基础设施层的相关资源后,更新所述中间层数据库中存储的所述基础设施层的相关资源的状态;存储单元,配置用于采集所述基础设施层的相关资源发生变化的数据,并将所述数据存储到所述基础设施层数据库中;同步单元,配置用于将所述基础设施层数据库中的数据同步到所述中间层数据库中。

在一些实施例中,所述确定单元进一步配置用于:确定所述用户是否具有操作所述基础设施层的权限;响应于确定出所述用户具有操作所述基础设施层的权限,则确定所述基础设施层的相关资源的状态是否允许执行所述操作;响应于确定出所述基础设施层的相关资源的状态允许执行所述操作,则确认执行所述操作。

在一些实施例中,所述操作请求还包括所述操作执行失败后重新执行的最大次数。

在一些实施例中,所述装置还包括:记录更新时间单元,配置用于在所述将所述数据存储到所述基础设施层数据库中之后,记录将所述数据存储到所述基础设施层数据库中的时间作为更新时间。

在一些实施例中,所述装置还包括:记录同步时间单元,配置用于在所述将所述基础设施层数据库中的数据同步到所述中间层数据库中之后,记录将所述基础设施层数据库中的数据同步到所述中间层数据库中的时间作为同步时间。

在一些实施例中,所述同步单元进一步配置用于:按照预设的增量同步时间间隔将所述基础设施层数据库中的增量数据同步到所述中间层数据库中,其中,所述增量数据是所述基础设施层数据库在所述更新时间和所述同步时间之间发生变化的数据。

在一些实施例中,所述同步单元进一步配置用于:按照预设的全量同步时间定时将所述基础设施层数据库中的数据同步到所述中间层数据库中。

本申请提供的用于操作云计算架构的基础设施层的方法和装置,通过中间层提供的控制台或者API来操作基础设施层的资源,并使中间层数据库的数据与基础设施层数据库的数据同步,当执行查询等操作时只需要访问中间层数据库而不需要和基础设施层的资源进行交互,基于中间层这种利用空间换时间的方式,降低基础设施层服务的实现复杂度,减轻基础设施层服务的压力,使基础设施层服务更专注于原子功能的实现。对用户来说,方便了对云资源的高效购买、查看、释放和管理,减少了管理云资源所花费的时间,提高了用户体验。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的用于操作云计算架构的基础设施层的方法的一个实施例的流程图;

图3是根据本申请的用于操作云计算架构的基础设施层的方法的又一个实施例的流程图;

图4是根据本申请的用于操作云计算架构的基础设施层的装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于操作云计算架构的基础设施层的方法或用于操作云计算架构的基础设施层的装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件、办公软件、企业管理软件等。

终端设备101、102、103可以是具有显示屏并且支持对云服务器的资源进行操作的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上运行的客户端应用提供支持的云服务器。云服务器可以对接收到的对基础设施层的操作请求等数据进行分析等处理,并将处理结果(例如查询结果)反馈给终端设备。需要说明的是,本申请实施例所提供的用于操作云计算架构的基础设施层的方法一般由服务器105执行,相应地,用于操作云计算架构的基础设施层的装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的用于操作云计算架构的基础设施层的方法的一个实施例的流程200。所述的用于操作云计算架构的基础设施层的方法,包括以下步骤:

步骤201,响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行操作请求所指示的操作。

云计算架构包括三个层次:应用层、中间层和基础设施层。应用层是以友好的用户界面为用户提供所需的各项应用软件和服务,应用层直接面向客户需求,向企业客户提供CRM(Customer Relationship Management,客户关系管理)、ERP(Enterprise Resource Planning,企业资源计划)、OA(Office Automation,办公自动化)等企业应用。中间层是承上启下的一层,它在基础设施层所提供资源的基础上为用户提供服务,包括了访问控制、资源管理、数据库和中间件等集群,同时可通过集成API为客户提供定制开发接口。基础设施层是为中间层或者用户提供其所需的计算和存储等资源,并通过虚拟化等技术将资源池化,以实现资源的按需分配和快速部署。

在本实施例中,用于操作云计算架构的基础设施层的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行云资源管理的用户终端接收用户对基础设施层的操作请求,确定是否执行操作请求所指示的操作。云服务器的中间层执行确定是否执行操作请求所指示的操作的步骤,中间层数据库中存储了基础设施层的资源的状态,通过查询中间层数据库可在判断基础设施层的资源的状态,而不需要与基础设施层进行交互。例如,用户通过中间层提供的控制台或API对虚拟机进行重启操作时,中间层收到重启操作指示后要先判断能否执行重启操作。

在本实施例的一些可选的实现方式中,上述确定是否执行该操作请求所指示的操作,包括:确定该用户是否具有操作基础设施层的权限;响应于确定出该用户具有操作基础设施层的权限,则确定基础设施层的相关资源的状态是否允许执行所述操作;响应于确定出基础设施层的相关资源的状态允许执行该操作,则确认执行该操作。例如,当用户发送重启虚拟机的命令时,首先判断该用户是否具有管理员权限,如果该用户只是普通用户则不具备重启虚拟机的权限,对于具有重启虚拟机权限的用户才执行重启的操作。在执行操作前查询中间层数据库中存储的虚拟机目前的状态是否允许执行重启操作,发现不允许的操作时,可以直接由中间层封装提示信息返回给用户,以在用户终端上显示此信息。

在本实施例的一些可选的实现方式中,所述操作请求还包括所述操作执行失败后重新执行的最大次数。为了增加操作成功的几率,若发生超时,则进行重试,重试次数的最大次数可设置为3次,如果重新执行达到最大次数时仍未成功,则由中间层封装提示信息返回给用户,以在用户终端上显示此信息,并终止后续操作。

步骤202,响应于确定执行操作,则向基础设施层发送操作请求。

在本实施例中,中间层在确定可以执行该操作后,向基础设施层发送操作请求。例如,发请求给基础设施层重启虚拟机的接口,完成虚拟机的重启操作。

步骤203,在基础设施层成功执行操作并更新基础设施层的相关资源后,更新中间层数据库中存储的基础设施层的相关资源的状态。

在本实施例中,基础设施层成功执行操作后会更新基础设施层的相关资源,然后通知中间层同步更新中间层数据库中存储的基础设施层的相关资源的状态,以使得中间层存储的基础设施层的相关资源的状态与实际基础设施层的相关资源的状态保持一致。例如,重启虚拟机后,虚拟机原先占用的CPU,物理内存资源状态发生变化,通知中间层同步更新这些资源的状态,并将该虚拟机标识为重启中,同时返回给用户该虚拟机处于重启中。

步骤204,采集基础设施层的相关资源发生变化的数据,并将数据存储到基础设施层数据库中。

在本实施例中,云服务器将基础设施层的相关资源发生变化的数据存储到基础设施层数据库中。例如,重启虚拟机后,将释放的内存资源数据存储到基础设施层数据库中。采用“若存在则更新”的原则,即如果对象信息已经存在,则只更新数据变化的时间和数据最新的状态,保证每台虚拟机或者对象只有一条记录,进而减少每次数据同步时需要读取的数据量,提高同步效率。

步骤205,将基础设施层数据库中的数据同步到中间层数据库中。

在本实施例中,将基础设施层数据库中的数据同步到中间层数据库中,以保持基础设施层数据库与中间层数据库的数据一致性。为了保证数据状态变化延迟的时间足够小,中间层数据同步服务针对每种资源的同步都起了相应的线程,并且对统一资源部分不通过的操作也起了相应的线程,以最大限度的减少用户等待时间。

在本实施例的一些可选的实现方式中,按照预设的全量同步时间定时将所述基础设施层数据库中的数据同步到所述中间层数据库中。例如,预设的全量同步时间为凌晨6点钟,每天凌晨6点时将基础设施层数据库中的数据同步到中间层数据库中。并且可以检测两个数据库中数据的一致性,如果发生不一致时可以按照预设的报警条件进行报警。

本申请的上述实施例提供的方法基于中间层以空间换时间的方式,节约购买、查看、释放和管理云资源所花费的时间,降低基础设施层服务的实现复杂度,并减轻基础设施层服务的压力。

继续参考图3,示出了根据本申请的用于操作云计算架构的基础设施层的方法的又一个实施例的流程300。所述的用于操作云计算架构的基础设施层的方法,包括以下步骤:

步骤301,响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行操作请求所指示的操作。

步骤302,响应于确定执行操作,则向基础设施层发送操作请求。

步骤303,在基础设施层成功执行操作并更新基础设施层的相关资源后,更新中间层数据库中存储的基础设施层的相关资源的状态。

步骤304,采集基础设施层的相关资源发生变化的数据,并将数据存储到基础设施层数据库中。

步骤301-304与步骤201-204基本相同,因此不再赘述。

步骤305,记录将数据存储到基础设施层数据库中的时间作为更新时间。

在本实施例中,在将数据存储到基础设施层数据库中后,记录存储的时间作为更新时间,用于后续判断中间层数据库是否要进行同步。

步骤306,将基础设施层数据库中的数据同步到中间层数据库中

步骤306与步骤205基本相同,因此不再赘述。

步骤307,记录将基础设施层数据库中的数据同步到中间层数据库中的时间作为同步时间。

在本实施例中,每次将基础设施层数据库中的数据同步到中间层数据库中后都记录同步时间,作为下一次判断是否需要同步时的依据。

步骤308,按照预设的增量同步时间间隔将基础设施层数据库中的增量数据同步到中间层数据库中。

在本实施例中,可以预先设置增量同步时间间隔,例如,15分钟,每隔15分钟就将基础设施层数据库中的增量数据同步到中间层数据库中,其中,上述增量数据是基础设施层数据库在步骤更新时间和同步时间之间发生变化的数据。例如,上一次中间导数据库同步的时间为8:30,而基础设施层数据库的更新时间为8:40,到了8:45时则进行增量数据同步,如果基础设施层数据库的更新时间仍为8:30,则在8:45时不进行增量数据同步。进行增量同步时,每次到了增量同步时刻无论上一次同步是否完成都会执行增量同步。

在本实施例的一些可选的实现方式中,还可以将数据按照类别设置不同的同步时间间隔,例如,为订单类操作(新建/变配/续费)和非订单类操作(重启/快照/镜像等)设置固定的时间间隔0.5s进行同步,每次同步完成之后间隔0.5s重复执行同步。可以为不同类型的同步方式起不同的线程,以实现最高的吞吐量和最小的同步延迟。还可以采用手动同步以解决发现的少量不一致数据的问题。

从图3中可以看出,与图2对应的实施例相比,本实施例中的用于操作云计算架构的基础设施层的方法的流程300突出了对增量数据进行同步的过程,作为全量的同步的有益补充,可以减少每次数据同步时需要读取的数据量,提高同步的效率。

进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于操作云计算架构的基础设施层的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图4所示,本实施例所述的用于操作云计算架构的基础设施层的装置400包括:确定单元401、发送单元402、更新单元403、存储单元404和同步单元405。其中,确定单元401配置用于响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行所述操作请求所指示的操作;发送单元402配置用于响应于确定执行所述操作,则向所述基础设施层发送所述操作请求;更新单元403配置用于在所述基础设施层成功执行所述操作并更新所述基础设施层的相关资源后,更新所述中间层数据库中存储的所述基础设施层的相关资源的状态;存储单元404配置用于采集所述基础设施层的相关资源发生变化的数据,并将所述数据存储到所述基础设施层数据库中;同步单元405配置用于将所述基础设施层数据库中的数据同步到所述中间层数据库中。

在本实施例中,云计算中间层中的确定单元401对基础设施层的操作请求进行确认后通过发送单元402发送给基础设施层,基础设施层执行完操作后更新单元403更新中间层的存储的资源状态,再通过存储单元404存储变化的数据,最后将基础设施层数据库中的数据同步到中间层数据库中。

在本实施例的一些可选的实现方式中,确定单元401进一步配置用于:确定所述用户是否具有操作所述基础设施层的权限;响应于确定出所述用户具有操作所述基础设施层的权限,则确定所述基础设施层的相关资源的状态是否允许执行所述操作;响应于确定出所述基础设施层的相关资源的状态允许执行所述操作,则确认执行所述操作。

在本实施例的一些可选的实现方式中,上述操作请求还包括所述操作执行失败后重新执行的最大次数。

在本实施例的一些可选的实现方式中,装置400还包括:记录更新时间单元(未示出),配置用于在所述将所述数据存储到所述基础设施层数据库中之后,记录将所述数据存储到所述基础设施层数据库中的时间作为更新时间。

在本实施例的一些可选的实现方式中,装置400还包括:记录同步时间单元(未示出),配置用于在所述将所述基础设施层数据库中的数据同步到所述中间层数据库中之后,记录将所述基础设施层数据库中的数据同步到所述中间层数据库中的时间作为同步时间。

在本实施例的一些可选的实现方式中,同步单元405进一步配置用于:按照预设的增量同步时间间隔将所述基础设施层数据库中的增量数据同步到所述中间层数据库中,其中,所述增量数据是所述基础设施层数据库在所述更新时间和所述同步时间之间发生变化的数据。

在本实施例的一些可选的实现方式中,同步单元405进一步配置用于:按照预设的全量同步时间定时将所述基础设施层数据库中的数据同步到所述中间层数据库中。

下面参考图5,其示出了适于用来实现本申请实施例的服务器的计算机系统500的结构示意图。

如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、发送单元、更新单元、存储单元和同步单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行所述操作请求所指示的操作的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:响应于接收到用户通过用户终端发送的对基础设施层的操作请求,确定是否执行所述操作请求所指示的操作;响应于确定执行所述操作,则向所述基础设施层发送所述操作请求;在所述基础设施层成功执行所述操作并更新所述基础设施层的相关资源后,更新所述中间层数据库中存储的所述基础设施层的相关资源的状态;采集所述基础设施层的相关资源发生变化的数据,并将所述数据存储到所述基础设施层数据库中;将所述基础设施层数据库中的数据同步到所述中间层数据库中。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1