订单创建系统、方法、电子设备及计算机可读存储介质与流程

文档序号:16633142发布日期:2019-01-16 06:46阅读:132来源:国知局
订单创建系统、方法、电子设备及计算机可读存储介质与流程
本发明涉及计算机
技术领域
,特别是涉及订单创建系统、方法、电子设备及计算机可读存储介质。
背景技术
:信息化的不断发展使得人们对计算和存储等资源的需求急速增长,在现有的计算机领域中,人们需要投入更多的硬件设备,以及更多的机房环境设备,因此,运行维护成本和人力成本也相应增加,为了节约成本,云技术越来越多地应用到计算机领域中。众所周知,云服务提供商配置有多个宿主机,云服务提供商将多个宿主机的资源通过云技术配置在云端,并根据用户需要在宿主机中为用户创建相应的服务,例如,为用户创建云主机、数据库或网盘。当然,用户使用云服务提供商创建的服务,需要支付一定的费用,为此云服务商提供了相应的创建服务的整套方法,包括服务的创建过程以及订单的创建过程。现有技术中,当租户有创建服务的需求时,云服务提供商配置的一台设备将首先创建订单并计费,获取到订单后,再去请求待创建服务所需的资源,包括cpu(centralprocessingunit,中央处理器)资源、内存资源以及硬盘资源等,以在宿主机中创建上述待创建服务。但是,当上述设备请求不到资源以创建上述服务时,之前所创建的订单成为无效订单,此时需要人工撤消所创建的订单,因而上述创建服务的整套方法过程繁琐。技术实现要素:本发明实施例的目的在于提供订单创建系统、方法、电子设备及计算机可读存储介质,以解决现有技术中整套创建服务的方法过程繁琐的问题。具体技术方案如下:为达上述目的,第一方面,本发明实施例提供了一种订单创建系统,所述系统包括:服务创建模块,用于获得服务创建请求;创建所述服务创建请求对应的目标待创建服务;订单创建模块,用于判断是否获得所述目标待创建服务的创建成功信息;如果是,创建所述目标待创建服务对应的订单。优选的,所述服务创建模块,还用于在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息,具体为:判断是否接收到所述服务创建模块发送的创建成功通知,若接收到,判定获得所述目标待创建服务的创建成功信息。优选的,所述服务创建模块,还用于判断是否需要对所述目标待创建服务进行及时计费;如果需要,在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;如果不需要,将所述目标待创建服务的标识信息添加到预设的待计费队列中;所述订单创建模块,还用于每间隔第一预设时长扫描所述待计费队列;针对所述待计费队列中记录的每一个标识信息,查询该标识信息对应的待创建服务是否创建成功;相应的,所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息,具体为:判断是否满足下述两个条件中的任意一种,如果满足,判定获得所述目标待创建服务的创建成功信息:所述订单创建模块接收到所述服务创建模块发送的创建成功通知;所述订单创建模块查询到所述目标待创建服务创建成功。优选的,所述服务创建请求中携带有所述目标待创建服务的计费方式;所述服务创建模块判断是否需要对所述目标待创建服务进行及时计费,具体为:基于所述计费方式,判断是否需要对所述目标待创建服务进行及时计费。优选的,所述订单创建模块还用于针对所述待计费队列中记录的每一个标识信息,在为该标识信息对应的待创建服务创建订单后,从所述待计费队列中删除该标识信息。优选的,所述订单创建模块还用于针对所述待计费队列中的每一个标识信息,监测该标识信息被添加入所述待计费队列的时长是否超过第二预设时长,如果超过,将该标识信息从所述待计费队列中删除,其中,所述第二预设时长大于所述第一预设时长。优选的,所述服务创建模块,还用于在将所述目标待创建服务的标识信息添加到所述待计费队列后,确定所述目标待创建服务失败时,将所述目标待创建服务的标识信息从所述待计费队列中删除。第二方面,本发明实施例还提供了一种订单创建方法,应用于订单创建系统,所述系统包括服务创建模块和订单创建模块,所述方法包括:所述服务创建模块获得服务创建请求;所述服务创建模块创建所述服务创建请求对应的目标待创建服务;所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息;如果是,创建所述目标待创建服务对应的订单。优选的,所述方法还包括:所述服务创建模块在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的步骤,包括:所述订单创建模块判断是否接收到所述服务创建模块发送的创建成功通知,若接收到,判定获得所述目标待创建服务的创建成功信息。优选的,在所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的步骤之前,所述方法还包括:所述服务创建模块判断是否需要对所述目标待创建服务进行及时计费;如果需要,在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;如果不需要,将所述目标待创建服务的标识信息添加到预设的待计费队列中;其中,所述订单创建模块,还用于每间隔第一预设时长扫描所述待计费队列;针对所述待计费队列中记录的每一个标识信息,查询该标识信息对应的待创建服务是否创建成功;相应的,所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的步骤,包括:所述订单创建模块判断是否满足下述两个条件中的任意一种,如果满足,判定获得所述目标待创建服务的创建成功信息:所述订单创建模块接收到所述服务创建模块发送的创建成功通知;所述订单创建模块查询到所述目标待创建服务创建成功。优选的,所述服务创建请求中携带有所述目标待创建服务的计费方式;所述服务创建模块判断是否需要对所述目标待创建服务进行及时计费的步骤,包括:所述服务创建模块基于所述计费方式,判断是否需要对所述目标待创建服务进行及时计费。优选的,在创建所述目标待创建服务对应的订单的步骤之后,所述方法还包括:所述订单创建模块从所述待计费队列中删除所述目标待创建服务的标识信息。优选的,其特征在于,在所述将所述目标待创建服务的标识信息添加到预设的待计费队列中的步骤之后,所述方法还包括:所述服务创建模块在确定所述目标待创建服务失败时,将所述目标待创建服务的标识信息从所述待计费队列中删除。第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现任一订单创建方法所述的方法步骤。第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一订单创建方法所述的方法步骤。由以上可见,本发明实施例提供的方案中,订单创建系统包括有服务创建模块和订单创建模块,订单创建过程中,服务创建模块首先获得服务创建请求;然后服务创建模块创建服务创建请求对应的目标待创建服务;最后订单创建模块判断是否获得目标待创建服务的创建成功信息;如果是,创建目标待创建服务对应的订单。与现有技术对比,本发明实施例提供的方案中,订单是在目标待创建服务成功创建后所创建的,所以不会存无效订单,也不需要人工撤消所创建的订单解决了现有技术中整套创建服务的方法过程繁琐的问题。另外,服务的创建在订单的创建之前,服务的创建不再受订单创建的影响,很好地实现了服务创建模块与订单创建模块的解耦;并且,服务的创建在订单的创建之前,对于整个系统而言,可以更快地去完成服务的创建,客户体验好。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的订单创建系统的结构示意图;图2为本发明一实施例提供的订单创建方法的流程示意图;图3为本发明另一实施例提供的订单创建方法的流程示意图;图4为本发明又一实施例提供的订单创建方法的流程示意图;图5为本发明再一实施例提供的订单创建方法的流程示意图;图6为本发明实施例提供的一种电子设备的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面首先对本申请文件中涉及的技术术语进行简单介绍。在本申请文件中,服务创建模块所创建的服务,包括cpu资源、内存资源以及硬盘资源等,该服务可以供运营商的用户租用。例如,在云
技术领域
,上述服务,可以是云主机、数据库等云计算资源,也可以是网盘等云存储资源,用户可以租用云服务提供商提供的云主机、数据库以及网盘。作为服务的提供者而言,用户租用服务是需要提供一定的租用费用的,因而服务提供者除了会为租户创建服务,还会针对所创建的服务,创建订单并计费;例如,云服务提供商,在为用户创建云主机时,还会针对所创建的云主机创建订单并收取费用。服务创建模块,用于根据服务创建请求,在宿主机中创建服务创建请求对应的服务;而上述订单创建模块,则用于针对所创建的服务创建订单并计费。在实际使用中,上述服务创建模块和订单创建模块可以处于不同的物理机上,例如,上述服务创建模块和订单创建模块分别为服务创建服务器和订单创建服务器,二者之间通信连接;当然,上述服务创建模块和订单创建模块可以处于同一物理机上,服务创建模块和订单创建模块在同一物理机上为相互独立的两个模块。下面通过具体实施例来对本发明进行详细介绍。图1为本发明实施例提供的订单创建系统的结构示意图。本发明实施例提供的一种订单创建系统,如图1所示,包括服务创建模块和订单创建模块。如前所述,本发明的各个实施例中,服务创建模块和订单创建模块可以处于不同的物理机上,也可以处于同一物理机上。上述订单创建系统包括服务创建模块和订单创建模块,表明本发明各个实施例中所提及的订单创建系统,并不是仅用于创建订单,订单创建系统除了要创建订单,还需要创建服务,而且服务和订单是存在对应的关系的。本发明实施例中,上述服务创建模块,用于获得服务创建请求;创建所述服务创建请求对应的目标待创建服务。第一种服务创建请求的获得方式中,服务创建模块获得服务创建请求,可以具体为服务创建模块接收其他设备发送的服务创建请求。例如,运营商的客户通过终端设备x向服务创建模块发送了一个服务创建请求,则服务创建模块获得服务创建请求。第二种服务创建请求的获得方式中,服务创建模块获得服务创建请求,可以具体为服务创建模块获得操作者输入的服务创建指令,然后生成服务创建请求。例如,该服务创建模块对应有一个用户输入界面,操作者通过该用户输入界面输入一个服务创建指令,则服务创建模块根据该服务创建指令,生成一个服务创建请求,即服务创建模块获得了一个服务创建请求。在本发明实施例中,上述服务创建模块获得服务创建请求的方式并不限于上述两种方式,还可以是可以在本发明实施例中被实现的其他方式,本发明实施例在此不再一一介绍。每一个服务创建请求都对应着至少一个待创建服务,所以,在本发明实施上述目标待创建服务,可以仅为一个待创建服务,例如,该目标待创建服务为创建一个100g容量的网盘;上述目标待创建服务,还可以指多个待创建服务,例如下表1,目标待创建服务实际为5个待创建服务。表1服务创建模块创建目标待创建服务,可以是将宿主机中的一部分资源划分出来供租户专用,例如,目标待创建服务为需要占用2个cpu内核、5g内存和800g硬盘容量的虚拟云主机,则此时服务创建模块首先从云服务商提供的所有宿主机中,选择一个宿主机,然后在所选择的宿主机中开始创建一个占用2个cpu内核、5g内存和800g硬盘容量的虚拟云主机。当然,上述描述仅是对目标待创建服务的创建过程的简单举例,目标待创建服务的创建方式属于现有技术,本领域技术人员完全可以依照现有技术中其他可以实现的技术手段完成目标待创建服务的创建,本发明实施例在此不再详细介绍。需要强调的是,在本发明实施例中,上述服务创建模块创建所述服务创建请求对应的目标待创建服务,仅表明服务创建模块执行创建所述服务创建请求对应的目标待创建服务的操作;但是受实际情况的影响,服务创建模块执行创建目标待创建服务的操作时,并非一定会创建成功,即,本发明实施例中,服务创建模块执行操作:创建所述服务创建请求对应的目标待创建服务,并不表明该服务创建模块成功地创建了目标待创建服务。例如,目标待创建服务为3个cpu内核、6g内存和1000g硬盘容量的虚拟云主机z,服务创建模块执行创建目标待创建服务的操作时,发现当前云服务商提供的所有宿主机中,没有一个宿主机有足够的资源来创建上述虚拟云主机z,则此时服务创建模块创建目标待创建服务失败。上述订单创建系统中的订单创建模块,用于判断是否获得所述目标待创建服务的创建成功信息;如果是,创建所述目标待创建服务对应的订单。对于订单创建模块如何获得所述目标待创建服务的创建成功信息,第一种实现方式下,订单创建模块获得所述目标待创建服务的创建成功信息,可以是被创建了上述目标待创建服务的宿主机向订单创建模块发送的;显然的,宿主机作为创建目标待创建服务的载体,其可以感知目标待创建服务是否创建成功,服务创建模块在某一宿主机中成功创建目标待创建服务后,该宿主机可以生成一个对应该目标待创建服务的创建成功消息,然后将该创建成功消息发送给订单创建模块,即订单创建模块获得所述目标待创建服务的创建成功信息。在本实现方式下,运营商所提供的所有宿主机可以看作是上述订单创建系统中的一部分,上述订单创建模块和运营商提供的所有宿主机均保持通信连接,每个宿主机中均设置有一个程序,该程序可以监测宿主机内是否创建了新的服务,宿主机一旦监测到自身中被创建了新的服务,宿主机中的该程序就会针对新创建的服务生成一个创建成功消息,然后将该创建成功信息发送给订单创建模块。例如,服务创建模块在宿主机中1创建了一个数据库x,宿主机1监测到其内创建了一个数据库x,则宿主机生成一个对应数据库x的创建成功信息,然后,将该创建成功信息发送给上述订单创建模块。第二种实现方式下,订单创建模块获得所述目标待创建服务的创建成功信息,可以是上述订单创建模块自己所主动获取。与上述第一种实现方式相同的是,在本实现方式下,运营商所提供的所有宿主机可以看作是上述订单创建系统中的一部分,上述订单创建模块和运营商提供的所有宿主机均保持通信连接,订单服务模块可以监测每个宿主机中是否创建了新的服务,如果创建了,则针对所创建的新的服务,生成一个创建成功信息,即订单创建模块获得所述目标待创建服务的创建成功信息。例如,订单创建模块每间隔1分钟扫描一下所有的宿主机,监测各个宿主机中是否被创建了新的服务,在某一时刻,服务创建模块在宿主机1中创建了一个数据库x,在此后,订单创建模块扫描发现宿主机1中创建了一个数据库x,则订单创建模块生成一个对应数据库x的创建成功信息,即,订单创建模块获得对应数据库x的创建成功信息。可以理解,上述订单创建模块获得目标待创建服务的创建成功信息两种实现方式,仅是本发明实施例简单列举的实现方式,并不表示上述获得所述目标待创建服务的创建成功信息的具体实现方式限于上述两种实现方式,本领域技术人员完全可以依据现有技术实现订单创建模块获得所述目标待创建服务的创建成功信息的目的,本发明实施例在此不做详细介绍。订单创建模块获得所述目标待创建服务的创建成功信息,即表明订单创建模块获知目标待创建服务已经成功创建;显然的,在本发明实施例中,订单创建模块判断是否获得所述目标待创建服务的创建成功信息;如果获得,创建所述目标待创建服务对应的订单;否则不会创建目标待创建服务对应的订单。在实际应用中,订单创建模块在创建上述目标待创建服务对应的订单的同时,还会针对目标待创建服务开始计费。应该说明的是,订单创建模块创建上述目标待创建服务对应的订单时开始进行计费,而费用计算的起始点可以为完成订单创建的时刻,例如,在a时刻订单创建模块成功创建订单,订单创建模块开始计费的费用计算起始点为a时刻。当然,费用计算的起始点还可以为上述目标待创建服务的成功创建时刻,例如,在b时刻服务创建模块成功创建上述目标待创建服务,在a时刻订单创建模块成功创建母爱比哦待创建服务对应的订单,则订单创建模块开始计费的费用计算起始点为b时刻。下面对本发明实施例的有益技术效果进行详细说明。与现有技术对比,第一方面,本发明实施例提供的方案中,订单是在目标待创建服务成功创建后所创建的,所以不会存无效订单,也不需要人工撤消所创建的订单解决了现有技术中整套创建服务的方法过程繁琐的问题。首先,无效订单可以是由于订单创建成功后,所创建订单对应的服务创建失败的一类订单;由于订单对应的服务创建失败,故已创建好的订单需要人工撤消,服务创建失败的原因有很多种,例如,用于创建服务的服务创建模块出现故障、宿主机中的资源不足等等。示例性的,目标待创建服务为占用3个cpu内核、6g内存和1000g硬盘容量的虚拟云主机x,假设首先创建订单,订单创建成功后,服务创建模块查询各个宿主机,发现没有任何一个宿主机有足够的资源以创建虚拟云主机x,则此时虚拟云主机无法被成功创建。此时,由于虚拟云主机x对应的订单已被创建,需要人工去撤消已创建的订单。可以理解,人工撤消已创建的订单,使得创建服务和创建订单组合成的整个流程变得繁琐,而且,也会浪费大量的人力和物力资源。而在本发明实施例中,服务创建模块先创建服务创建请求对应的目标待创建服务,在服务创建模块成功创建目标待创建服务之后,再由订单创建模块创建目标待创建服务对应的订单,所以不会存在上述无效订单,也就不存在人工去撤消上述无效订单的问题,避免了订单的回退操作。例如,目标待创建服务为需要占用3个cpu内核、6g内存和1000g硬盘容量的虚拟云主机x,服务创建模块首先在运营商提供的所有宿主机中选择可以创建该虚拟云主机x的宿主机,假设当前所有的宿主机中都没有足够的资源以创建虚拟云主机x,则服务创建模块创建虚拟云主机x的操作失败,显然的,此时针对虚拟云主机x不会存在已创建的订单,并且订单创建模块也不会去创建对应虚拟云主机x的订单;避免了上述无效订单的存在,也就不需要人工去撤消上述无效订单。第二方面,服务的创建在订单的创建之前,服务的创建不再受订单创建的影响,很好地实现了服务创建模块与订单创建模块的解耦。可以理解,如果订单的创建在服务的创建之前,每次创建服务都需要先创建订单,创建订单的流程实际上可以说是创建服务的流程中的一部分,两个流程的耦合度高。从运维和研发的角度来说,两个流程的耦合度高,针对其中一个流程的运行和维护,必然影响另一流程,所以订单的创建在服务的创建之前,必然不利于实现两个流程的模块自身的运维和研发。而在本发明实施例中,服务的创建在订单的创建之前,服务的创建不再受订单创建的影响,很好地实现了服务创建模块与订单创建模块的解耦。本发明实施例巧妙地剥离了订单的创建流程与服务的创建流程;使得工作人员可以很好地对两大功能流程分别进行运维和技术研发,而且,服务创建模块和订单创建模块也能很好的配合协同工作。第三方面,服务的创建在订单的创建之前,对于整个系统而言,可以更快地去完成服务的创建,客户体验好。本领域技术人员公知的是,上述服务的创建过程是需要消耗较长的时间,作为运营商的客户而言,其希望更快的完成服务的创建,但是,如果订单的创建在服务的创建之前,那么客户的服务创建请求发出后,如果首先需要完成订单的创建,才能再去完成服务的创建,从客户的服务创建请求发出至服务创建完成时间必然较长,客户体验差。而本发明实施例中,由于服务的创建在订单的创建之前,那么客户的服务创建请求发出后,直接由服务创建模块完成服务的创建,省去了创建订单所消耗的时间,故从客户的服务创建请求发出至服务创建完成所需时间短,客户体验好。例如,服务创建模块完成创建服务的时间为30s,订单创建模块完成订单的创建需要5s。如果订单的创建在服务的创建之前,则对于整个系统来说,从接收到服务创建请求至完成服务的创建,至少需要35s;但如果如果订单的创建在服务的创建之后,则对于整个系统来说,从接收到服务创建请求至完成服务的创建,仅需要30s。由以上可知,本实施例提供的方案中,订单是在目标待创建服务成功创建后所创建的,所以不会存无效订单,也不需要人工撤消所创建的订单解决了现有技术中整套创建服务的方法过程繁琐的问题。另外,服务的创建在订单的创建之前,服务的创建不再受订单创建的影响,很好地实现了服务创建模块与订单创建模块的解耦;并且,服务的创建在订单的创建之前,对于整个系统而言,可以更快地去完成服务的创建,客户体验好。在图1所示系统实施例的基础上,作为本发明实施例提供的一种所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的具体实现方式,所述服务创建模块,还可以用于在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息,具体为:判断是否接收到所述服务创建模块发送的创建成功通知,若接收到,判定获得所述目标待创建服务的创建成功信息。在本发明实施例中,对于任何一个目标待创建服务,服务创建模块在成功创建目标待创建服务后,即会向订单创建模块发送对应该目标创建服务的创建成功通知,订单创建模块在接收到对应该目标创建服务的创建成功通知,可以将该创建成功通知作为目标待创建服务的创建成功信息,判定自身获得目标待创建服务的创建成功信息,然后,订单创建模块针对目标待创建服务创建订单。可以理解的是,上述创建成功通知,应该包括目标待创建服务标识信息,当然,不同的服务,计费标准可以不同,所以在实际应用中,上述创建成功通知还可以携带有表征对应目标待创建服务的计费方式的信息。例如,上述创建成功通知携带有目标待创建服务的标识信息m,同时,还记录目标待创建服务的成功创建时间为a时刻,订单创建模块需要按照每小时1元的标准对该目标待创建服务进行收费;则订单创建模块在接收到该创建成功通知后,创建对应于标识信息m的订单,并且从a时刻开始按照每小时1元的标准计费。本实施例提供的方案中,目标待创建服务是由服务创建模块所创建的,所以服务创建模块能够最先获知目标待创建服务是否创建成功,并且在获知目标待创建服务创建成功后,能够最及时地通知订单创建模块,进而使得订单创建模块能够在目标待创建服务被创建后及时地创建订单。在图1所示系统实施例的基础上,作为本发明实施例提供的所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的另一种具体实现方式,所述服务创建模块,还可以用于判断是否需要对所述目标待创建服务进行及时计费;如果需要,在成功创建所述目标待创建服务后,向所述订单创建模块发送创建成功通知;如果不需要,将所述目标待创建服务的标识信息添加到预设的待计费队列中。对所述目标待创建服务进行及时计费,可以理解为在目标待创建服务成功创建后,订单创建模块需要及时针对目标待创建服务创建订单并开始计费。本发明实施例提供的订单创建系统中,所述订单创建模块,还用于每间隔第一预设时长扫描所述待计费队列;针对所述待计费队列中记录的每一个标识信息,查询该标识信息对应的待创建服务是否创建成功。相应的,所述订单创建模块判断是否获得所述目标待创建服务的创建成功信息,具体为:判断是否满足下述两个条件中的任意一种,如果满足,判定获得所述目标待创建服务的创建成功信息:条件1:所述订单创建模块接收到所述服务创建模块发送的创建成功通知;条件2:所述订单创建模块查询到所述目标待创建服务创建成功。首先,服务创建模块判断是否需要对目标待创建服务进行及时计费,可以依据目标待创建服务的类型、目标待创建服务所属的客户信息以及目标待创建服务的租用时间等信息确定。上述目标待创建服务的类型包括虚拟云主机、数据库和网盘等,例如,预先设置目标待创建服务的类型为虚拟云主机时,需要对目标待创建服务进行及时计费,而对于其它类型的目标待创建服务,不需要进行及时计费。目标待创建服务所属的客户信息可以是目标待创建服务所属的客户是否为运营商的长期合作客户的信息,例如,预先设置目标待创建服务的客户为短期合作的客户时,需要对目标待创建服务进行及时计费,否则不需要进行及时计费;目标待创建服务的租用时间,即租期,可以是目标待创建服务从创建完成到撤除总共租用的时长,例如,预先设置目标待创建服务的租用时间少于一个月时,需要对目标待创建服务进行及时计费。当然,关于服务创建模块判断是否需要对目标待创建服务进行及时计费,除了利用上述信息做出判断外,还可以利用现有可利用的其他信息,本发明实施例在此不再详细介绍。作为本发明实施例的一种优选实施方式,上述服务创建请求中携带有所述目标待创建服务的计费方式;所述服务创建模块判断是否需要对所述目标待创建服务进行及时计费,具体为:基于所述计费方式,判断是否需要对所述目标待创建服务进行及时计费。本发明实施例中,服务创建请求中携带的计费方式可以表明:所需创建的目标待创建服务是按分钟或小时或天或月计算费用的。例如,预先设置当目标待创建服务是按照分钟计算费用时,判定需要对目标待创建服务进行及时计费,否则,判定不需要对目标待创建服务进行及时计费。需要说明的是,服务创建模块与订单创建模块是通过网络连接的,二者可能因为网络中断等原因导致服务创建模块无法将上述创建成功通知发送给订单创建模块;如果服务创建模块成功创建服务后,订单创建模块无法接收到上述创建成功通知,订单创建模块将永远无法创建对应该服务的订单。为了避免上述问题的存在,在本发明实施例中,如果目标待创建服务不需要进行及时计费,则订单创建模块将目标待创建服务的标识信息添加到预设的待计费队列中;待计费队列可以永久记录没有创建对应订单的服务,即使上述服务创建模块与订单创建模块之间无法通信,订单创建模块仍然可以通过扫描上述待计费队列来获知已完成创建但是没有创建对应订单的服务,尽可能保证服务创建模块所创建的每一个服务对应的订单都可以成功被订单创建模块所创建。例如,某一时刻订单创建模块出现了故障,服务创建模块开始创建目标待创建服务x,并将目标待创建服务x的标识信息放置待计费队列中存储下来,然后在订单创建模块的故障恢复后,订单创建模块可以扫描该待计费队列,扫描到目标待创建服务x的标识信息后,查询该目标待创建服务x是否创建成功,假设已经成功创建,则订单创建模块对该目标待创建服务创建订单并开始计费。但是,针对此例,如果服务创建模块直接向订单创建模块发送创建成功通知,此时会由于订单创建模块故障导致订单接收模块无法接收到该创建成功通知,服务创建模块通知失败,订单创建模块恢复故障后,上述创建成功通知已过期,订单创建模块将永远无法创建对应该服务的订单。需要强调的是,当上述服务创建模块与上述订单创建模块处于同一物理机上时,上述待计费队列可以处于服务创建模块与订单创建模块共同所在的物理机内,当然也可以设置于其它物理机内。当上述服务创建模块与上述订单创建模块处于不同的物理机上时,上述待计费队列可以设置在服务创建模块所在物理机内,也可以设置在订单创建模块所在的物理机内,当然也可以设置在其它物理机内;但为了避免网络的影响导致服务创建模块无法在待计费队列中添加标识信息,本发明实施例优选将上述待计费队列设置在订单创建模块所在的物理机内。订单创建模块可以实时扫描上述待计费队列,但是这样会消耗大量的cpu资源,所以在实际应用中,订单创建模块每间隔第一预设时长扫描待计费队列。此处的第一预设时长可以根据实际应用场景而设定,例如第一预设时长可以是45min,则订单创建模块每间隔45min扫描待计费队列。订单创建模块针对待计费队列中的每一个标识信息,都需要查询该标识信息对应的待创建服务是否创建成功。订单创建模块按照待计费队列中的标识信息,在运营商提供的所有宿主机中查找是否存在标识信息对应的待创建服务,如果查询到,则表示该标识信息对应的待创建服务已被成功创建,此时,订单创建模块生成该标识信息对应的待创建服务的创建成功信息,即可针对该待创建服务创建订单。在实际应用中,针对同一个目标待创建服务,服务创建模块既有可能是在成功创建所述目标待创建服务后,直接向所述订单创建模块发送创建成功通知;也有可能是在开始创建目标待创建服务时,服务创建模块将所述目标待创建服务的标识信息添加到预设的待计费队列中。而对于订单创建模块而言,其并不知道针对某一目标待创建服务,服务创建模块所执行的具体操作,所以本发明实施例中,订单创建模块可以判断是否满足上述条件1和条件2中的任意一种,如果满足,判定自身获得所述目标待创建服务的创建成功信息。订单创建模块针对不同的待创建服务的计费方式是不同的,为了使得订单创建模块得到上述目标待创建服务的计费方式信息,在本发明实施例中,目标待创建服务的计费方式信息可以携带在服务创建请求中,如果服务创建模块判定需要对目标待创建服务进行及时计费,则服务创建模块可以先生成携带有上述计费方式信息的创建成功通知,再将所生成的创建成功通知发送给订单创建模块,以使得订单创建模块得到上述目标待创建服务的计费方式信息。如果服务创建模块判定不需要对目标待创建服务进行及时计费,则服务创建模块以上述计费方式信息作为目标待创建服务的标识信息的一部分,将目标待创建服务的标识信息添加到上述待计费队列中,以使得订单创建模块在扫描待计费队列时,可以从目标待创建服务的标识信息中得到上述目标待创建服务的计费方式信息。为了清楚的介绍本发明实施例中目标待创建服务对应的订单的创建流程,下面通过两个具体示例来对本发明实施例进行简单介绍。示例1,云服务提供商的客户通过终端设备发送了服务创建请求,该服务创建请求表明,目标待创建服务为需要占用2个cpu内核、3g内存和500g硬盘容量的虚拟云主机x,且服务创建请求携带的计费方式信息表明:该虚拟云主机x的计费方式为按照分钟计算,每分钟1元。服务创建模块首先接收到该服务创建请求后,由于该虚拟云主机x的计费方式为按照分钟计算,所以需要对该虚拟云主机x进行及时计费,然后,在服务创建模块成功创建该虚拟云主机x时,向订单创建模块发送该虚拟云主机x对应的创建成功通知,订单创建模块在接收到上述创建成功通知后,即针对该虚拟云主机x创建订单并开始计费。示例2,云服务提供商的客户通过终端设备发送了服务创建请求,该服务创建请求表明,目标待创建服务为需要占用500g硬盘容量的网盘y,且服务创建请求携带的计费方式信息表明:该网盘y的计费方式为按天计算,每天100元。服务创建模块首先接收到该服务创建请求后,由于网盘y的计费方式为按天计算,所以服务创建模块判定不需要对网盘y进行及时计费,然后,在服务创建模块开始创建该网盘y时,将网盘y对应的携带用其计费方式信息的标识信息添加到待计费队列中。本示例中,订单创建模块每间隔45分钟扫描一次待计费队列,订单创建模块在a时刻扫描了一次待计费队列,发现网盘y尚未创建成功;在a时刻后的第20分钟,服务创建模块成功创建网盘y;而后,在a时刻后的第45分钟,订单创建模块再一次扫描待计费队列,查询发现该网盘y已经成功创建,即表明此时订单创建模块已获得对应网盘y的创建成功消息,在此情况下,订单创建模块根据上述计费方式信息,针对该网盘y创建订单并开始计费。在上述订单创建模块判断是否获得所述目标待创建服务的创建成功信息的另一种具体实现方式对应的系统实施例的基础上,所述订单创建模块还可以用于针对所述待计费队列中记录的每一个标识信息,在为该标识信息对应的待创建服务创建订单后,从所述待计费队列中删除该标识信息。例如,订单创建模块扫描待计费队列时,待计费队列中记录的标识信息如下表2所示,待计费队列中记录有虚拟云主机a~h的标识信息。然后订单创建模块从各个宿主机中查询,上述虚拟云主机a~h是否已经被创建,查询结果表明:虚拟云主机a、c和d已经被创建,所以订单创建模块将分别针对虚拟云主机a、c和d创建相应的订单,订单创建成功后,从待计费队列中删除虚拟云主机a、c和d分别对应的标识信息;此时待计费队列中记录的标识信息如下表3所示。表2序号标识信息1虚拟云主机a的标识信息2虚拟云主机b的标识信息3虚拟云主机c的标识信息4虚拟云主机d的标识信息5虚拟云主机e的标识信息6虚拟云主机f的标识信息7虚拟云主机g的标识信息8虚拟云主机h的标识信息表3序号标识信息1虚拟云主机b的标识信息2虚拟云主机e的标识信息3虚拟云主机f的标识信息4虚拟云主机g的标识信息5虚拟云主机h的标识信息待计费队列中记录的各个标识信息是需要占用一定的内存空间的,订单创建模块在将针对某一标识信息对应的待创建服务成功创建订单后,该标识信息已经没有用处,所以在本实施例中,在为待创建服务创建订单后,从待计费队列中删除待创建服务的标识信息,以减少待计费队列中无用的标识信息对内存的占用。可以理解,待计费队列中被添加的每一个标识信息对应待创建服务并非都可以被成功创建,如果某一待创建服务的标识信息被添加到待计费队列中,但是该待创建服务无法成功创建,则该待创建服务的标识信息将会一直留存在待计费队列中,占用存储空间,并且,订单创建模块每次扫描待计费队列后,还需查询该待创建服务是否创建成功,造成资源的浪费。作为本发明实施例的一种实现方式,在上述任意一个使用到待计费队列的系统实施例的基础上,所述订单创建模块还可以用于针对所述待计费队列中的每一个标识信息,监测该标识信息被添加入所述待计费队列的时长是否超过第二预设时长,如果超过,将该标识信息从所述待计费队列中删除,其中,所述第二预设时长大于所述第一预设时长。该第二预设时长可以基于实际情况设定,但是需要保证第二预设时长大于第一预设时长;例如,该第一预设时长为45分钟,该第二预设时长为5天。另外,订单创建模块监测标识信息被添加入所述待计费队列的时长是否超过第二预设时长,可以是实时监测,但是为了避免实时监测对资源的消耗,本发明实施例中,订单创建模块可以每间隔固定时长监测一次各个标识信息分别对应的被添加入所述待计费队列的时长是否超过第二预设时长。示例性的,订单创建模块每间隔1小时监测一次各个标识信息分别对应的被添加入待计费队列的时长是否超过5天,订单创建模块在2017年6月20日0时0分监测发现:标识信息1在2017年6月14日23时30分被添加入待计费队列,标识信息2在2017年6月18日0时0分被添加入待计费队列,由于标识信息1被添加入待计费队列的时间超过了1天,而标识信息2被添加入待计费队列的时间未超过1天,则订单创建模块将标识信息1从待计费队列中删除。作为本发明实施例的另一种实现方式,在上述任意一个使用到待计费队列的系统实施例的基础上,所述服务创建模块,还可以用于在将所述目标待创建服务的标识信息添加到上述待计费队列后,确定所述目标待创建服务失败时,将所述目标待创建服务的标识信息从所述待计费队列中删除。上述服务创建模块作为创建目标待创建服务的执行者,其完全可以获知目标创建服务是否创建失败,例如,目标待创建服务为需要占用2个cpu内核、3g内存和500g硬盘容量的虚拟云主机z,但是当前没有任何一个宿主机中有足够的资源以创建虚拟云主机z,此时服务创建模块可以确定虚拟云主机x创建失败,并且将虚拟云主机z的标识信息从待计费队列中删除。相应于图1所示系统实施例,本发明实施例还提供了一种订单创建方法,应用于订单创建系统,所述系统包括服务创建模块和订单创建模块,如图2所示,所述方法包括:s101:服务创建模块获得服务创建请求;s102:服务创建模块创建该服务创建请求对应的目标待创建服务;s103:订单创建模块判断是否获得目标待创建服务的创建成功信息;如果是,创建目标待创建服务对应的订单。本实施例提供的方案中,订单是在目标待创建服务成功创建后所创建的,所以不会存无效订单,也不需要人工撤消所创建的订单解决了现有技术中整套创建服务的方法过程繁琐的问题。另外,服务的创建在订单的创建之前,服务的创建不再受订单创建的影响,很好地实现了服务创建模块与订单创建模块的解耦;并且,服务的创建在订单的创建之前,对于整个系统而言,可以更快地去完成服务的创建,客户体验好。相应于上述系统实施例,在图2所示方法实施例的基础上,所述方法还可以包括:服务创建模块在成功创建目标待创建服务后,向订单创建模块发送创建成功通知;相应的,上述订单创建模块判断是否获得目标待创建服务的创建成功信息的步骤,可以包括:订单创建模块判断是否接收到服务创建模块发送的创建成功通知,若接收到,判定获得目标待创建服务的创建成功信息。即,在上述图2所示的方法实施例中,本实施例提供的订单创建方法,如图3所示,该方法包括下述步骤s201-s204。s201:服务创建模块获得服务创建请求;s202:服务创建模块创建该服务创建请求对应的目标待创建服务;s203:服务创建模块在成功创建目标待创建服务后,向订单创建模块发送创建成功通知;s204:订单创建模块判断是否接收到服务创建模块发送的创建成功通知;如果是,创建目标待创建服务对应的订单。本实施例提供的方案中,目标待创建服务是由服务创建模块所创建的,所以服务创建模块能够最先获知目标待创建服务是否创建成功,并且在获知目标待创建服务创建成功后,能够最及时地通知订单创建模块,进而使得订单创建模块能够在目标待创建服务被创建后及时地创建订单。相应于上述系统实施例,在图2所示方法实施例的基础上,在上述订单创建模块判断是否获得目标待创建服务的创建成功信息的步骤之前,上述方法还可以包括:服务创建模块判断是否需要对目标待创建服务进行及时计费;如果需要,在成功创建目标待创建服务后,向订单创建模块发送创建成功通知;如果不需要,将目标待创建服务的标识信息添加到预设的待计费队列中;其中,上述订单创建模块,还用于每间隔第一预设时长扫描待计费队列;针对所述待计费队列中记录的每一个标识信息,查询该标识信息对应的待创建服务是否创建成功;相应的,上述订单创建模块判断是否获得目标待创建服务的创建成功信息的步骤,可以包括:订单创建模块判断是否满足下述两个条件中的任意一种,如果满足,判定获得目标待创建服务的创建成功信息:订单创建模块接收到服务创建模块发送的创建成功通知;订单创建模块查询到目标待创建服务创建成功。即,在上述图2所示方法实施例的基础上,本实施例提供的订单创建方法,如图4所示,该方法包括下述步骤s301-s304。s301:服务创建模块获得服务创建请求;s302:服务创建模块创建该服务创建请求对应的目标待创建服务;s303:服务创建模块判断是否需要对目标待创建服务进行及时计费;如果需要,在成功创建目标待创建服务后,向订单创建模块发送创建成功通知;如果不需要,将目标待创建服务的标识信息添加到预设的待计费队列中;s304:订单创建模块判断是否满足下述两个条件中的任意一种;如果是,创建目标待创建服务对应的订单:订单创建模块接收到服务创建模块发送的创建成功通知;订单创建模块查询到目标待创建服务创建成功。具体的,在实际应用中,上述服务创建请求中可以携带有目标待创建服务的计费方式;在此情况下,上述服务创建模块判断是否需要对目标待创建服务进行及时计费的步骤,可以包括:服务创建模块基于该服务创建请求所携带的计费方式,判断是否需要对目标待创建服务进行及时计费。相应于上述系统实施例,在上述图4所示方法实施例的基础上,在上述创建目标待创建服务对应的订单的步骤之后,上述方法还可以包括:订单创建模块从待计费队列中删除目标待创建服务的标识信息。即,在上述图4所示方法实施例的基础上,本实施例提供的订单创建方法,如图5所示,该方法包括下述步骤s401-s405。s401:服务创建模块获得服务创建请求;s402:服务创建模块创建该服务创建请求对应的目标待创建服务;s403:服务创建模块判断是否需要对目标待创建服务进行及时计费;如果需要,在成功创建目标待创建服务后,向订单创建模块发送创建成功通知;如果不需要,将目标待创建服务的标识信息添加到预设的待计费队列中;s404:订单创建模块判断是否满足下述两个条件中的任意一种;如果是,创建目标待创建服务对应的订单:订单创建模块接收到服务创建模块发送的创建成功通知;订单创建模块查询到目标待创建服务创建成功。s405:订单创建模块在成功创建目标待创建服务对应的订单后,从待计费队列中删除目标待创建服务的标识信息。相应于上述系统实施例,在上述任一方法实施例的基础上,在所述将所述目标待创建服务的标识信息添加到预设的待计费队列中的步骤之后,所述方法还可以包括:所述服务创建模块在确定所述目标待创建服务失败时,将所述目标待创建服务的标识信息从所述待计费队列中删除。另外,本发明实施例还提供了一种电子设备,如图6所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,存储器503,用于存放计算机程序;处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:服务创建模块获得服务创建请求;服务创建模块创建该服务创建请求对应的目标待创建服务;订单创建模块判断是否获得目标待创建服务的创建成功信息;如果是,创建目标待创建服务对应的订单。关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图2~5所示的方法实施例,在此不做赘述。上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的订单创建方法。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、电子设备以及计算机存储介质实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1