CN116996508A - 云资源创建方法、装置、设备及存储介质 - Google Patents
云资源创建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116996508A CN116996508A CN202211279164.3A CN202211279164A CN116996508A CN 116996508 A CN116996508 A CN 116996508A CN 202211279164 A CN202211279164 A CN 202211279164A CN 116996508 A CN116996508 A CN 116996508A
- Authority
- CN
- China
- Prior art keywords
- request
- cloud
- resource
- creation
- state
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 6
- 208000032369 Primary transmission Diseases 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种云资源创建方法、装置、设备及存储介质,属于互联网与计算机领域。所述方法包括:接收客户端发送的第一资源创建请求,第一资源创建请求用于请求创建云产品的第一云资源,第一资源创建请求中携带的请求标识为第一请求标识;若第一数据库中记录有第一请求标识,则从第一数据库中获取第一请求标识对应的状态信息;第一请求标识对应的状态信息用于指示第一云资源的创建状态;若第一云资源的创建状态为正在创建状态或已成功创建状态,则向客户端发送第一资源创建请求对应的第一反馈信息,第一反馈信息中包括第一请求标识对应的状态信息;属于正在创建状态或已成功创建状态的云资源不被重复请求创建,本方法有助于避免云资源重复创建。
Description
技术领域
本申请涉及互联网和计算机技术领域,特别涉及一种云资源创建方法、装置、设备及存储介质。
背景技术
客户端可以向云应用接口端发送资源创建请求,以便获取云资源。
相关技术中,客户端调用云应用接口端,请求进行云资源创建过程。云应用接口端根据客户端发送的资源创建请求指示云产品的服务提供端进行云资源创建。在云资源创建结束后,云应用接口端向客户端发送云资源创建的反馈结果。在一些情况中,客户端接收到云资源创建失败的反馈结果的情况下,客户端向云应用接口端重传资源创建请求,以便云应用接口端指示云产品的服务提供端对云资源进行重新创建。
然而相关技术中,客户端接收到云资源创建失败的反馈结果可能是由于网络卡断等原因导致的,实际上的云资源已经创建成功,在这种情况下重复发送资源创建请求会导致云资源重复创建,形成非正常请求的云资源开通,导致客户端与服务端的的数据逻辑不一致。
发明内容
本申请提供了一种云资源创建方法、装置、设备及存储介质。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种云资源创建方法,所述方法包括:
接收客户端发送的第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
若第一数据库中记录有所述第一请求标识,则从所述第一数据库中获取所述第一请求标识对应的状态信息;其中,所述第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态;
若所述第一云资源的创建状态为正在创建状态或已成功创建状态,则向所述客户端发送所述第一资源创建请求对应的第一反馈信息,所述第一反馈信息中包括所述第一请求标识对应的状态信息;其中,属于所述正在创建状态或所述已成功创建状态的云资源不被重复请求创建。
根据本申请实施例的一个方面,提供了一种云资源创建方法,所述方法包括:
生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
向云应用接口端发送所述第一资源创建请求;
接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
根据本申请实施例的一个方面,提供了一种云资源创建装置,所述装置包括:
请求接收模块,用于接收客户端发送的第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
信息获取模块,用于在第一数据库中记录有所述第一请求标识的情况下,从所述第一数据库中获取所述第一请求标识对应的状态信息;其中,所述第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态;
信息反馈模块,用于在所述第一云资源的创建状态为正在创建状态或已成功创建状态的情况下,向所述客户端发送所述第一资源创建请求对应的第一反馈信息,所述第一反馈信息中包括所述第一请求标识对应的状态信息;其中,属于所述正在创建状态或所述已成功创建状态的云资源不被重复请求创建。
根据本申请实施例的一个方面,提供了一种云资源创建装置,所述装置包括:
请求生成模块,用于生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
请求发送模块,用于向云应用接口端发送所述第一资源创建请求;
信息接收模块,用于接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述云资源创建方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述云资源创建方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令以实现上述云资源创建方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
一方面,云应用接口端通过在数据库中记录请求标识和请求标识对应的状态信息,只需要判断新获取的资源创建请求中携带的请求标识,是否记录在数据库中,就能够实现准确判断对接收到的资源重建请求是否为重传,有助于避免对云资源进行非正常重建,维持了客户端与服务端的逻辑统一。
另外,相比于需要客户端自行判断云资源的创建状态,在客户端查询到云资源创建失败的情况下,才进行资源创建请求的重传;本申请中,通过云应用接口端确定云资源的创建状态,有助于简化客户端获取云资源的创建状态需要进行的操作。
另一方面,通过数据库中记录的请求标识的状态信息,能够在确定资源重建请求为重传请求的情况下,确定是否需要对资源重建请求中请求获取的云资源进行创建,有助于避免由资源创建请求重传,导致的云资源重复创建,实现了云资源创建过程中的幂等性。有助于避免客户端中的用户帐号被重复扣费,有助于维护用户帐号的资金安全。
附图说明
图1是本申请一个示例性实施例提供的方案实施环境的示意图;
图2是本申请一个示例性实施例提供的云资源创建方法的流程图;
图3是本申请另一个示例性实施例提供的云资源创建方法的流程图;
图4是本申请一个示例性实施例提供的云资源创建方法的示意图;
图5是本申请一个示例性实施例提供的云资源创建装置的框图;
图6是本申请另一个示例性实施例提供的云资源创建装置的框图;
图7是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
1.云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
2.公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
3.私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备IaaS(Infrastructure as a Service,基础设施即服务)软件。
私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
4.云资源通常指云服务商提供的平台即服务(Platform as a Service,平台即服务)以及IaaS类云资源等,用户可以通过云应用接口端进行云资源的开通、使用、维护等操作。
5.云API(Application Programming Interface,应用程序编程接口)是指云资源的开通、使用、销毁等操作以API的形式向外输出。在一些情况中,云服务商不仅提供对外的平台,让用户能直接使开通云资源使用,而且还能提供云API使得具有开发能力的企业或者个人就能通过云API,来定制化构建个性化的云平台,企业和个人通过这种方式可以得到云资源的使用权,但云资源的物理归属权依旧属于云厂商。
6.幂等是指同一个操作一次跟多次产生的结果是一致的,在应用接口层面来讲就是指接口可重复调用,在多次调用中,接口返回的结果相同。
通过幂等方式开通云资源可以在用户通过云应用接口端开通云资源时,避免由于服务端响应超时导致客户端请求重试造成的云资源重复开通,这样不管客户端重试多少次,在服务端最多只创建一个资源实例。
图1是本申请一个示例性实施例提供的方案实施环境的示意图。该方案实施环境可以包括:终端设备10、服务端20。
终端设备10可以是诸如PC(Personal Computer,个人计算机)、平板电脑、手机、可穿戴设备、智能家电、车载终端、飞行器等电子设备。计算机设备10至少具有接收功能和运算过程。
终端设备10上运行有目标应用程序的客户端,目标应用程序是指与云资源创建有关的应用程序,本申请对目标应用程序的类型不进行限定。在一些实施例中,目标应用程序是指终端设备中独立运行的客户端、用于创建云资源的网页页面。
服务端20中包括云应用接口端21和云产品的服务提供端23。
云应用接口端21用于连接终端设备10和云产品的服务提供端23。
云应用接口端21可以理解成服务器,云应用接口端21可以由独立的物理服务器、或者多个物理服务器构成的服务器集群或者分布式系统实现,云应用接口端21还可以通过提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器实现。
云应用接口端21是公有云厂商对外提供的API接口,外部可以通过API访问云产品的服务提供端23的相关资源操作。从架构上看,云应用接口端21是一个网关接入层,类似接口人的角色。云应用接口端21内部在做相应的业务处理事会对接各云产品模块(也即云产品的服务提供端23)。
云产品的服务提供端23用于提供CVM(Cloud Virtual Machine,云主机)、云DB(Data Base,数据库)等这样的云产品,这些不同类型的云产品一般有对应的产研团队独立维护,提供对应的云资源开通、操作、销毁等操作。
图2是本申请一个示例性实施例提供的云资源创建方法的流程图。示例性地,该方法的执行主体可以是图1所示的方案实施环境中的服务端20中的云应用接口端。如图2所示,该方法可以包括如下几个步骤(210~230)中的至少一个步骤:
步骤210,接收客户端发送的第一资源创建请求,第一资源创建请求用于请求创建云产品的第一云资源,第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识。
客户端中运行由目标应用程序,目标应用程序至少用于进行云资源的创建。在需要创建云资源的情况下,用户通过客户端向云应用接口端发送第一资源创建请求。以便云应用接口端根据第一资源创建请求进行云资源创建过程。
在一些实施例中,云应用接口端对应由多个云产品,云应用接口端根据第一资源创建请求,确定进行资源创建的云产品以及云产品中的第一云资源。
在一些实施例中,云产品具有为客户端提供云资源的功能。云应用接口端对应由至少一个云产品。可选地,存在至少两个云应用接口端对应的云产品提供的云资源不完全相同。不同的云产品可以具有独立的应产品服务端,各自分别用独立的团队进行维护。可选地,云产品能够同时为多个用户提供云资源。
在一些实施例中,用户只需要创建一个用户帐号,就可以使用该用户帐号通过客户端请求创建云产品中的云资源。
例如,云应用接口端对应有两个云产品,其中,云产品1提供的云资源为云虚拟机资源,云产品2提供的云资源为云空间资源。需要说明的是,云应用接口端对应的云产品的数量和类型根据实际需要进行设定,客户端根据用户的实际需要确定需要创建的云资源。有关云资源的具体类型,本申请在此不进行限定。
在一些实施例中,请求标识用于对资源创建请求进行区分。可选地,不同的资源创建请求中携带的请求标识不相同。同一个的资源创建请求携带有相同的请求信息。云应用接口端通过标识信息能够确定资源创建请求为初传还是重传,并采取对应的处理策略,具体请参考下文实施例。
在一些实施例中,不同的资源创建请求是指由不同用户分别发起的资源创建请求、同一个用户针对不同云产品分别发起资源创建请求,或者由同一个用户针对同一个云产品中不同云资源分别发起资源创建请求。其中,同一个云产品种不同的云资源可以是指同一个云产品中不同规格(如云存储空间容量不同)、付费模式不同、使用时长不同的云资源。
例如,由用户1发起资源创建请求1和由用户2发起资源创建请求2属于不同的资源创建请求,也即,资源创建请求1中携带的请求标识和资源创建请求2中的请求标识不同。可选地,请求标识与用户的身份信息(不同用户具有不同的身份标识)有关,保证不同用户发起的资源创建请求分别携带的请求标识不同。
又例如,对于某个用户,该用户针对云产品1发起的资源创建请求3,并且该用户针对云产品2(云产品2与云产品1不是同一个云产品。如云产品1用于提供云计算资源,云产品2用于提供云虚拟机资源)发起的资源创建请求4,资源创建请求3和资源创建请求4属于不同的资源创建请求,也即资源创建请求3中携带的请求标识和资源创建请求4中的请求标识不同。
又例如,对于某个云产品,某个用户针对该云产品的云资源1发送的资源创建请求5,该用户针对该云产品的云资源2发送的资源创建请求6,在一些实施例中,不同用户请求资源过程中,分别对应的资源创建请资源创建请求5和资源创建请求6属于不同的资源创建请求,也即资源创建请求5中携带的请求标识和资源创建请求6中的请求标识不同。
可选地,同一个资源创建请求是指由同一个客户端发送的,用于请求同一云产品中相同的云资源的至少两个资源创建请求。例如,对于某个资源创建请求,云应用接口端接收到初传的资源创建请求1和重传的资源创建请求1可以理解成同一个的资源创建请求。
例如,某客户端在向云应用接口端发送资源创建请求之后,由于网络连接问题接收到资源创建失败的消息,客户端需要对该资源创建请求进行重传,重传的资源创建请求和初传的资源创建请求中携带由相同的请求标识。
在一些实施例中,客户端在向云应用接口端发送第一资源创建请求且未收到针对第一资源创建请求的反馈信息之前,客户端中存储第一资源创建请求,以便在需要验证第一云资源是否创建成功的过程中,向云应用接口端重传第一资源创建请求。
在一些实施例中,标识信息由客户端生成,在客户端向云应用接口端发送资源创建请求时,将标识信息携带在资源创建请求中。在一些实施例中,请求标识称为幂等号。
第一资源创建请求是指云应用接口端接收到的待处理的资源创建请求。第一请求标识用于指示第一资源创建请求,云应用接口端通过第一资源创建请求中携带的可第一请求标识,判断第一资源重建请求为初传还是重传。
可选地,为了避免第一资源创建请求中遗漏第一请求标识,导致本申请提供的云资源创建方法无法顺利进行,在云应用接口端接收到第一资源创建请求之后,云应用接口端对第一资源创建请求进行核查。若第一资源创建请求中未携带第一请求标识,则云应用接口端向客户端发送请求异常提示;其中请求异常提示用于提醒客户端在第一资源创建请求中携带第一请求标识。若第一资源创建请求中携带有第一请求标识,则云应用接口端在在数据库中查询。
在一些实施例中,第一资源创建请求中携带有第一请求标识和与第一云资源相关的信息,云应用接口端通过第一资源创建请求中包括的与第一云资源相关的信息确客户端请求创建的第一云资源。
在一些实施例中,云应用接口端将接收到的至少一个请求标识记录在第一数据库中,通过查找第一数据库中是否记录有第一请求标识可以确定第一资源请求信息为初传还是重传。
在一些实施例中,在第一资源重建请求属于初传的情况下,云应用接口端进行资源创建过程,在第一资源重建请求属于重传的情况下,云应用接口端需要确定第一云资源是否已经进行创建,避免第一云资源重复创建,导致用户账户中的资金出现损失。有关该过程的具体内容请参考下文实施例。
步骤220,若第一数据库中记录有第一请求标识,则从第一数据库中获取第一请求标识对应的状态信息;其中,第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,第一请求标识对应的状态信息用于指示第一云资源的创建状态。
在一些实施例中,若第一数据库中记录有第一请求标识,则云应用接口端确定接收到的第一资源创建请求为重传的资源创建请求。
在一些实施例中,第一数据库中记录的请求标识与状态信息的对应关系可以理解成,第一数据库中同时记录有请求标识和请求标识对应的状态信息,并且根据请求标识可以在第一数据库中查询到该请求标识对应的状态信息。可选地,请求标识和状态信息存储在第一数据库的不同字段中。
例如,请求标识和请求标识对应的状态信息记录在第一数据库相同行,不同列中。又例如,请求标识和请求标识对应的状态信息可以通过键值的方式进行存储。请求标识为键,请求标识对应的状态信息为值,在第一数据库中存在第一请求标识的情况下,可以根据第一请求标识查询到第一请求标识对应的状态信息。
状态信息可以通过比特字符标识,假设第一云资源具有四种创建状态,则状态信息最少可以通过2个比特字符标表示。
在第一数据库中记录用第一请求标识的情况下,可以确定第一请求标识对应的状态信息的存储位置;读取第一数据库中记录的第一请求标识对应的状态信息,得到第一云资源的创建状态。
云应用接口端根据第一资源的创建状态,确定是否需要对第一云资源进行重新创建。
在一些实施例中,第一资源的创建状态包括以下至少之一:正在创建状态、已成功创建状态、已失败创建状态或者未创建状态。
其中,正在创建状态是指在在本次接收到第一资源创建请求之前,云应用接口端已经向云产品的服务提供端指示创建第一云资源,且截至本次接收到第一资源创建请求的时刻,暂时没有接收到云产品的服务提供端发送的关于第一云资源的创建结果。
已成功创建状态是指第一资源创建请求中请求的第一云资源已经创建完成,也即不需要在本次接收到第一资源创建请求之后,指示云产品的服务提供端再次对第一云资源进行创建。在一些实施例中,已成功创建的第一云资源称为开通的第一云资源。
已失败创建状态是指第一云资源创建过程发生失败。
未创建状态是指云产品的服务提供端暂未指示云产品的服务提供端对第一云资源进行创建。
步骤230,若第一云资源的创建状态为正在创建状态或已成功创建状态,则向客户端发送第一资源创建请求对应的第一反馈信息,第一反馈信息中包括第一请求标识对应的状态信息;其中,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
在第一数据库中记录有第一请求标识,且第一云资源的创建状态为正在创建和已经成功创建的情况下,说明客户端第一云资源暂未创建失败,或者第一云资源已经创建成功,也就是说云应用接口端暂时不需要在再次对第一云资源进行创建。
在这种情况下,云应用接口端根据第一请求标识对应的状态信息,生成第一反馈信息,通过第一反馈信息向客户端反馈第一云资源的创建情况,通知客户端暂时不会对第一云资源进行重建。
第一反馈信息中包括第一请求标识对应的状态信息,客户端在接收到第一反馈信息之后,根据第一请求标识对应的状态信息获知第一云资源正在创建中或者第一云资源创建成功。
可选地,在第一请求标识对应的状态信息为创建成功的情况下,第一反馈信息中除了包括:用于指示已成功创建的状态信息之外,还可以包括:第一云资源的开通信息。例如,第一云资源的开通信息包括:开通的第一云资源的标识信息,开通的第一云资源的描述信息等。通过这种方法,使得客户端根据第一原资源的开通信息直接使用开通的云资源。
在一些实施例中,在第一请求标识对应的状态信息为正在创建的情况下,云应用接口端向云产品的服务提供端询问第一云资源创建完成需要的等待时长,并在第一反馈信息中携带第一请求标识对应的状态信息和等待时长。
客户端在接收到第一反馈信息之后,将等待时长反馈给用户。可选地,在等待时长内客户端不会向云应用接口端再次重传第一资源创建请求,以避免客户端短时间内多次向云应用接口端重传第一资源创建请求,导致传输资源的浪费,减少云应用接口端对请求创建请求的处理压力。
可选地,在第一云资源处于正在创建的状态时,云应用接口端向云产品的服务提供端询问等待时长,云产品的服务提供端通过机器学习的方法对等待时长进行估算,得到等到时长。例如,云产品的服务提供端将待创建资源队列和处理器资源暂用情况输入机器学习模型,获得机器学习模型输出的等待时长;其中,待创建资源队列存储用至少一个云产品的服务提供端未创建完成的云资源的相关信息。
云产品的服务提供端将等待时长和第一请求标识发送给云应用接口端。云应用接口端将第一请求标识对应的状态信息和等待时长反馈给客户端。
在一些实施例中,若第一反馈信息中包括的第一请求标识对应的状态信息为正在创建状态且等待时长大于或者等于最大允许时长,则客户端可以向云应用接口端发送第二资源创建请求;其中,第二资源创建请求用于提升第一云资源的创建优先级,降低第一云资源创建完成需要消耗的时长。可选地,最大允许时长可以是预设置的,也可以根据实际需要进行确定,本申请在此不进行限定。
可选地,第二资源创建请求中携带有第一请求标识和第一云资源相关的信息,此外第二资源创建请求中还可以携带客户端中设置的最大允许时长。
云应用接口端向云产品的服务提供端发送优先级变化指示;其中优先级变化指示用于提升云产品的服务提供端创建第一云资源的优先级;在一些实施例中,优先级变化指示中携带有第二资源创建请求中携带的最大允许时长。
在一些实施例中,在云产品的服务提供端接收到优先级变化指示之后,对第一云资源的创建优先级进行提升,并计算优先级提升后,第一云资源创建完成对应的优先等待时长,并向云应用接口端发送该优先等待时长和第一请求标识,云应用接口端向客户端转发该优先等待时长。
可选地,云产品的服务提供端对第一云资源的创建优先级提升包括,将第一云资源在待创建资源列表中的位置进行调整,以便云产品的服务提供端尽快对第一云资源进行创建。
通过这种方法,有助于在客户端要求高速创建第一云资源的情况下,提升第一云资源的创建速度,提升用户的使用体验。
综上所述,一方面,云应用接口端通过在数据库中记录请求标识和请求标识对应的状态信息,只需要判断新获取的资源创建请求中携带的请求标识,是否记录在数据库中,就能够实现准确判断对接收到的资源重建请求是否为重传,有助于避免对云资源进行非正常重建,维持了客户端与服务端的逻辑统一。
另外,相比于需要客户端自行判断云资源的创建状态,在客户端查询到云资源创建失败的情况下,才进行资源创建请求的重传;本申请中,通过云应用接口端确定云资源的创建状态,有助于简化客户端获取云资源的创建状态需要进行的操作。
另一方面,通过数据库中记录的请求标识的状态信息,能够在确定资源重建请求为重传请求的情况下,确定是否需要对资源重建请求中请求获取的云资源进行创建,有助于避免由资源创建请求重传,导致的云资源重复创建,实现了云资源创建过程中的幂等性。有助于避免客户端中的用户帐号被重复扣费,有助于维护用户帐号的资金安全。
而且,云应用接口端扮演者客户端和云产品服务提供端之间的统一的网关接入层角色,通过云应用接口端支持云产品创建方法的幂等性,对于后端各个云产品的服务提供端也不需要额外进行幂等性的设计,使得云产品的服务提供端能够更加专注于自身的业务逻辑,有助于减轻云产品的服务提供端相应的逻辑处理负担,从而有助于增强的云应用的能力跟定位。
下面通过几个实施例,对第一数据库未记录第一请求标识的处理方法进行介绍说明。
在一些实施例中,云应用接口端接收客户端发送的第一资源创建请求之后,还包括:若第一数据库中未记录第一请求标识,则云应用接口端根据第一资源创建请求,向云产品的服务提供端发送第一资源创建指示;其中,第一资源创建指示用于指示云产品的服务提供端创建第一云资源;云应用接口端在第一数据库中记录第一请求标识;云应用接口端在第一数据库中,将第一请求标识对应的状态信息设置为正在创建状态。
若第一数据库中未记录第一请求标识,则说明该第一资源创建请求为初传,也就是说,在此之前云应用服务端没有进行第一云资源的创建。在这种情况下,指示云应用服务端创建第一云资源,不会导致第一云资源重复创建,有助于维持客户端与云应用接口端之间的逻辑统一。
在一些实施例中,第一资源创建请求中包括:第一请求标识和第一请求参数;其中,第一请求参数用于指示与第一云资源有关的信息,第一请求标识根据通用唯一标识符UUID生成。
在一些实施例中,第一请求标识由客户端生成,第一请求标识的生成方法请参考下文客户端侧的实施例。
例如,第一请求参数中包括:第一云资源的规格、型号、付费模式、使用时长等信息。在一些实施例中,每种云资源会有各自的参数列表信息,客户端可以通过第一云资源的参数列表,确定第一请求参数。
在一些实施例中,云应用接口端根据第一资源创建请求,生成第一资源创建指示。云应用接口端根据第一资源创建请求中的第一请求参数,确定第一云资源所述的云产品的服务提供端,并向云产品的服务提供端发送第一资源创建是指。在一些实施例中,第一资源创建指示中携带有第一请求标识以及和第一云资源有关的信息。云产品的服务提供端根据第一资源创建指示对第一云资源进行创建。
在一些实施例中,若第一数据库中不存在第一请求标识,则云应用接口端需要将第一请求标识记录在第一数据库中。
在一些实施例中,第一数据库按照时间顺序对请求标识进行记录,若请求标识1记录时刻早于请求数据2的记录时刻,则请求标识1的记录位置排列在请求标识2地记录位置之前。云应用接口端将第一请求标识记录在第一数据库中未被使用的第一个记录位置。
在另一些实施例中,第一数据库中除了记录有请求标识,还记录有请求标识和请求标识的获取时刻的对应关系。也即,在第一数据库中,通过请求标识可以查询到请求标识的获取时刻。可选地,获取时刻是指云应用接口端接收到第一资源创建请求的时刻、客户端生成请求标识的时刻(在这种情况下,第一资源创建请求可以携带获取时刻)或者第一数据库记录请求标识的时刻。
在将第一请求标识写入第一数据库之后,云应用接口端将第一请求标识对应的状态信息设置成为正在创建状态。
需要说明的是,本申请对云应用接口端向云产品的服务提供端发送第一资源创建指示和在第一数据库中记录第一请求标识的先后顺序不进行限定。在一个示例中,云应用接口端先向云产品的服务提供端发送第一资源创建指示,再将第一请求标识记录在第一数据库。在另一个示例中,云应用接口端向将第一请求标识记录在第一数据库,在向云产品的服务提供端发送第一资源创建指示。又或者,向云产品的服务提供端发送第一资源创建指示以及将第一请求标识记录在第一数据库可以同时发生。
可选地,若云应用接口端在第一数据库中记录第一请求标识,但是在阈值时长中由于业务繁忙、网络卡顿等情况影响,没有向云产品的服务提供端发送第一资源创建指示,则云应用接口端将未创建状态设置称为第一请求标识对应的状态信息。
通过这种方法,能够保证第一数据库能够对任一个初次获得的资源创建标识进行记录,使得云应用接口端能够通过第一数据库判断接收到的资源创建请求为初传还是重传。通过对第一数据库进行维护,能够确定第一云资源创建状态,相比于相关技术中通过客户端判断云资源创建状态,有助于避免云资源重复创建的风险,同时简化了在需要确定云资源创建状态的过程中,客户端的执行步骤,有助于简化用户操作。
在一些实施例中,云应用接口端根据第一资源创建请求,向云产品的服务提供端发送第一资源创建指示之后,还包括:云应用接口端接收云产品的服务提供端发送的第一结果信息;其中,第一结果信息中携带有用于表征第一云资源的创建状态的第一创建结果;云应用接口端根据第一创建结果,更新第一数据库中记录的第一请求标识对应的状态信息;云应用接口端向客户端发送第一资源创建请求对应的第二反馈信息,第二反馈信息中包括第一请求标识对应的更新后的状态信息。
在一些实施例中,在云产品的服务提供端对完成第一云资源的创建过程后,云产品的服务提供端向云应用接口端发送第一结果信息。第一结果信息中包括第一创建结果。在一些实施例中,第一创建结果用于表征已成功创建状态或已失败创建状态。
在一些实施例中,若第一创建结果用于表征已成功创建状态,则第一结果信息中还可以包括已开通的第一云资源相关的信息;若第一创建结果用于表征已创建失败,则第一结果信息中还可以包括第一云资源的创建失败信息;其中。创建失败信息用于表征第一云资源创建失败的原因。失败创建信息包括但不限于一下至少之一:第一云资源格式错误、第一云资源创建冲突、云产品的服务提供端中剩余云资源数量小于第一云资源的要求数量等。
在一些实施例中,云应用接口端根据第一结果信息,对第一数据库中第一请求标识对应的状态信息进行更新。例如,在第一结果信息用于表征已成功创建状态的情况下,云应用接口端将第一数据库中第一请求标识对应的状态信息更新成已成功创建状态。又例如,在第一结果信息用于表征已失败创建状态的情况下,云应用接口端将第一数据库中第一请求标识对应的状态信息更新成已失败创建状态。
可选地,云应用接口端可以将已开通的第一云资源的相关信息或者第一云资源的失败创建原因携带在第二反馈信息,并向客户端发送第二反馈信息。客户端可以根据第二反馈信息确定第一云资源的创建状态。在一些实施例中,在客户端根据第二反馈信息确定第一云资源创建失败,客户端可以对第一资源创建请求进行重传。
通过上述方法,在第一资源创建请求为初传的情况下,进行第一云资源的创建,并维护第一数据库中记录的请求标识,以及请求标识对应的状态信息,有助于避免第一云资源重复创建。
下面通过几个实施例对,第一云资源的创建状态为已失败创建状态,或者未创建状态的处理方法进行介绍说明。
在一些实施例中,云应用接口端从第一数据库中获取第一请求标识对应的状态信息之后,还包括:若第一云资源的创建状态为未创建状态或已失败创建状态,则云应用接口端根据第一资源创建请求,向云产品的服务提供端发送第二资源创建指示;其中,第二资源创建指示用于指示云产品的服务提供端重新创建第一云资源;云应用接口端在第一数据库中,将第一请求标识对应的状态信息设置为正在创建状态。
在第一云资源的创建状态为未创建状态或已失败创建状态的情况下,说明虽然第一资源创建请求为冲重传,但是在本次接收到第一资源创建请求之前,第一云资源无法创建成功(也即第一云资源无法开通)。云应用接口端需要指示云产品的服务提供端再次对第一云资源进行重建。
在一些实施例中,第二资源创建指示中携带第一请求参数和第一请求标识。可选地,第二资源创建指示中还包括重建标识,其中,所述重建标识用于表征云应用接口端至少两次接收到该第一资源创建请求。云产品的服务提供端根据第二资源创建指示中携带的重建标识,提升创建第一云资源的优先级,在提升创建第一云资源的优先级之后,云产品的服务提供端可以优先对第一云资源进行创建。
第二资源创建指示的生成方法和第一资源创建指示的生成方法相似,具体请参考上文实施例,本申请在此不进行设定。
在一些实施例中,云应用接口端还需要在第一数据库中,将第一请求标识对应的状态信息设置为正在创建状态。
需要说明的是,本申请不对向云产品的服务提供端发送第二资源创建指示和在第一数据库中,将第一请求标识对应的状态信息设置为正在创建状态的执行先后顺序进行限定。
通过第一数据库中记录的第一请求标识对应的状态信息用于表征,能够确定出正确的第一云资源重建的时机,与相关技术中通过客户端通过列表接口查询云资源的创建情况,在客户端确定云资源无法成功创建的情况下,才冲兑资源创建请求相比,有助于提升第一云资源无法成功创建的情况下,对第一云资源进行重建的效率。提高云资源创建过程的相应速度,有助于价格低为用户开通第一云资源的耗时。
在一些实施例中,云应用接口端根据第一资源创建请求,向云产品的服务提供端发送第二资源创建指示之后,还包括:云应用接口端接收云产品的服务提供端发送的第二结果信息;其中,第二结果信息中携带有用于表征第一云资源的创建状态的第二创建结果;云应用接口端根据第二创建结果,更新第一数据库中记录的第一请求标识对应的状态信息;云应用接口端向客户端发送第一资源创建请求对应的第三反馈信息,第三反馈信息中包括第一请求标识对应的更新后的状态信息。
在一些实施例中,云产品的服务提供端在接收到第二资源重建指示之后,根据第二资源重建指示开始对第一云资源进行创建。在第一云资源创建完成后,云产品的服务提供端生成第二结果信息,并向云应用接口端发送第二结果信息。
在一些实施例中,第二创建结果通过比特字符标识,例如,第二创建结果通过2bit字符表示。可选地,第二创建结果用于表征已成功创建状态或者已失败创建状态。
在一些实施例中,云应用接口端根据第二结果信息生成第三反馈信息,并向客户端发送第三反馈信息。
有关第二结果信息、第二创建结果和第三反馈信息的相关内容,与上文中极少的第一结果信息、第一创建结果、第二反馈信息相似,具体请参考上文实施例,本申请在此不进行赘述。
通过上述方法,能够在第一资源重建请求为重传的情况下,准确辨别出需要重新创建第一云资源的情况,有助于及时对重新重建第一云资源,加快第一云资源的重建速度。
下面通过几个实施例,对第一数据库中查询第一请求标识的方法进行介绍说明。
在一些实施例中,云应用接口端接收客户端发送的第一资源创建请求之后,还包括:若第一数据集合中包括第一请求标识,则确定第一数据库中记录有第一请求标识;若第一数据集合中不包括第一请求标识,则检测第一数据库的第二数据集合中是否包括第一请求标识;若第二数据集合中包括第一请求标识,则确定第一数据库中记录有第一请求标识;若第二数据集合中不包括第一请求标识,则确定第一数据库中未记录第一请求标识;其中,第一数据集合中包含的请求标识在第一数据库中的已存储时长,小于第二数据集合中包含的请求标识在第一数据库中的已存储时长。
随着云应用接口端处理的资源创建请求的数量不断增加,第一数据库中存储的请求标识,以及请求标识对应的状态信息的数量不断增加。为了加快在第一数据库中查找第一请求标识的速度,可以按照时间顺序将第一数据库中存储多个请求标识分别存储在不同的数据集中。在不同数据集中查找第一请求标识的优先级不同,通过这种方法保持在第一数据库中查找第一请求标识的速度。
在一些实施例中,第一数据库中包括至少两个数据集,分别为第一数据集和第二数据集,且第一数据集和第二数据集中存储的请求标识不完全相同。在一些实施例中,第一数据集中寻找第一请求标识的优先级高于在第二数据集中寻找第一请求标识的优先级。
通过在第一数据集中记录的标识信息的数据量小于第二数据集中记录的标识信息的数据量,且第一数据集中记录的标识信息为最近n天接收的资源创建请求中携带的请求信息,其中,n为正整数。在第一数据集中查找第一请求标识的速度大于第二数据集,且由资源创建请求重传导致云资源重复创建通常由短时间内重复发送资源重建请求引起,因此将请求标识分为至少两个数据集进行记录,有助于加快在第一数据库中查找请求标识的速度,有助于算短创建云资源需要花费的时间。
在一些实施例中,第一资源创建请求中包括第一请求标识和第一请求参数。其中,第一资源创建请求可以是任意一个资源创建请求。也即,在一些实施例中,资源创建请求包括:请求标识和请求参数;其中,请求标识用于区别不相同的资源创建请求,请求参数包括用户期望创建的云资源的相同信息。
在一些实施例中,第一数据库中除了存储有请求标识和请求标识对应的状态信息之外,还记录有请求标识对应的请求参数;其中,某个请求标识对应的请求参数是指和该请求标识携带在同一个资源创建请求中的请求参数。例如,第一请求标识对应的请求参数是指第一资源创建请求中携带的第一请求参数。
在一些实施例中,在第一数据库中未记录第一请求标识的情况下,云应用接口端将第一请求标识和第一请求参数记录在第一数据库中。此时,第一请求标识对应的状态信息,即为第一请求标识和第一请求参数共同对应的状态信息。
可选地,第一请求标识和第一请求参数记录在第一数据库的不同的字段中,且第一数据中记录的第一请求标识和第一请求参数之间具有映射关系。也即,第一请求标识是第一数据库中记录的多个请求标识中,与第一请求参数唯一对应的请求标识,第一请求参数是第一数据库中记录的多个请求参数中与第一请求标识唯一对应的请求参数。
通过将请求标识和请求参数通过记录在第一数据库中,有助于在云资源创建失败的情况下,云应用接口端根据请求参数对云资源创建失败的原因进行分析,以便加快云资源创建异常的解决速度,有助于提升云资源的创建速度。
图3是本申请一个示例性实施例提供的云资源创建方法的流程图。示例性地,该方法的执行主体可以是图1所示的方案实施环境中的终端设备10。如终端设备10中运行的客户端,如图3所示,该方法可以包括如下几个步骤(310~330)中的至少一个步骤:
步骤310,生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识。
步骤320,向云应用接口端发送所述第一资源创建请求。
在一些实施例中,第一资源创建请求携带由第一请求标识和第一请求参数。
例如,第一资源创建请求的形式如下所示:
{"BusinessParam":"{...}",
"Idempotent":"3a7f91ff-4c34-11ec-b166-56c51d1611ae"}
其中,"BusinessParam":"{...}"为第一请求参数;
"Idempotent":"3a7f91ff-4c34-11ec-b166-56c51d1611ae"用于指示第一请求标识。
步骤330,接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
在一些实施例中,反馈信息包括以下至少之一:第一反馈信息、第二反馈信息和第三反馈信息。其中,第一反馈信息是指第一云资源处于正在重建状态或者已成功重建状态下,a向客户端发送的反馈信息,第一反馈信息用于表征第一云资源在本次资源请求过程中,不会被重建。
第二反馈信息用于表征第一资源重建请求为初传的情况下,云产品的服务提供端对第一云资源进行创建的创建结果。
第三反馈信息用于表征第一资源重建请求为重传的情况下,且在本次接收到第一资源创建请求时,第一云资源未被成功重建,云产品的服务提供端对第一云资源进行重建的创建结果。
有关第一请求标识、第一资源创建请求、反馈信息等内容的具体介绍请参考上文实施例,本申请在此不进行赘述。
综上所述,通过在资源创建请求中携带资源标识,便于在客户端在网络卡顿等原因导致获取云资源创建失败消息时,确定云资源是否真正创建失败的操作便捷性,还有助于避免由于重传资源创建请求,导致云产品的服务提供端重复创建云资源造成客户端中的用户账户被多次扣费导致用户账户的资金损失。
在一些实施例中,云资源创建方法还包括:客户端生成第一资源创建请求对应的通用唯一标识符UUID;客户端将第一资源创建请求对应的UUID,作为第一请求标识。
例如,客户端使用开发语言包含UUID的类库,如Java自带JDK(Java DevelopmentKit,Java开发工具包)的java.util.UUID生成第一资源创建请求中携带的第一请求标识。
在一些实施例中,客户端接收云应用接口端发送的第一资源创建请求对应的反馈信息之后,还包括:若反馈信息中包括的第一请求标识对应的状态信息,指示第一云资源的创建状态为未创建状态或者已失败创建状态,则客户端向云应用接口端重传第一资源创建请求。
在一些实施例中,客户端接收云应用接口端发送的第一资源创建请求对应的反馈信息之后,还包括:若反馈信息中包括的第一请求标识对应的状态信息,指示第一云资源的创建状态为正在创建状态,且第一资源创建请求的重传次数达到阈值,则客户端在第一时长之内不对第一资源创建请求进行重传。
在一些实施例中,阈值为预设置的正整数,例如阈值等于3。需要说明的是对于不同的应用场景,阈值的数据不完全相同,本申请对此不进行设定。
图4是本申请的一个实例性实施例提供的云资源创建方法的流程图。
Step 0:客户端生成第一请求参数。
Step 1:客户端生成第一请求标识,(请求标识也可以称为幂等号,用于唯一标识第一资源创建请求)。有上文实施例可知,幂等号可以使用UUID实现,也可以通过自定义算法生成具有一定业务含义的请求标识,自定义算法需要保证成成的请求标识全局唯一,也即不同资源创建请求对应不同的请求标识。
生成幂等号后,客户端在第一资源创建请求中携带第一请求标识(幂等号),第一资源创建请求的请求格式,如下:
{"BusinessParam":"{...}",
"Idempotent":"3a7f91ff-4c34-11ec-b166-56c51d1611ae"}
其中,BusinessParam为创建资源请求原来的参数信息,Idempotent为设置的第一请求标识。
Step 2:云应用接口端收到第一资源创建请求,提取第一资源创建请求中携带的第一请求标识“Idempotent”。
若第一资源创建请求的第一请求标识格式错误或者第一资源创建请求中没有携带第一请求标识(为空),则云应用接口端向客户端发送异常消息,异常信息用于提示需要携带第一请求标识,例如异常信息可以为“第一请求标识必填”,且云应用接口不进行以下步骤中的逻辑处理;若云应用接口端携带有第一请求标识,则进行Step 3的处理逻辑。
Step 3:云应用接口端根据在第一数据库中查询第一请求标识。可选地,第一数据库可以是普通数据库;在高性能需求场景下,第一数据库也可以使用内存数据库。云应用接口端通过第一数据库中是否存储有第一氢气标识,判断第一资源创建请求为初传还是重传。
Step 4:云应用接口端根据第一数据库中记录的标识信息,判断第一资源创建请求为重复请求。
若第一数据库中未记录第一请求标识,则确定第一资源创建请求首次出现;若第一数据库中记录有第一请求标识,则确定第一资源创建请求重复出现。
Step 5:在第一数据库中未记录第一请求标识的情况下,云应用接口端在第一数据库中记录第一请求参数BusinessParam、第一请求标识Idempotent。通过第一请求参数BusinessParam、第一请求标识Idempotent对第一云资源开通过程的状态信息进行记录。
Step 6:接Step 5,云应用接口端调用云产品的服务提供端中的资源创建服务对第一资源创建请求中的第一云资源进行资源创建。
Step 7:接Step 6在完成第一云资源的创建后,云产品的服务提供端将对应的结果信息返回给云应用接口端。云应用接口端根据结果信息更新第一数据库中,第一请求标识和第一请求参数对应的状态信息。云应用接口端也需要根据结果信息向客户端返回反馈信息,以便完成第一云资源的初次创建流程(也即,第一资源创建请求为非重复请求(初传))。
在第一资源创建请求为重复请求(重传)的情况下,云应用接口端需要从step4开始进行以下步骤。
Step 8:上述Step 4中如果第一数据库中记录有第一请求标识,也即第一资源创建请求为重复请求,云应用接口端根据第一数据库中第一请求标识对应的状态信息确定需要进行的逻辑处理;其中,状态信息用于表征第一云资源的创建状态。
在一个实例中,第一云资源存在以下4种创建状态(云应用接口端在第一云资源的创建过程中对第一请求标识对应的状态信息进行维护),云应用接口端根据不同的状态信息确定进一步需要进行的处理,具体如下:
状态说明:
Init:表示未创建状态,云应用接口端从Step 5记录第一请求标识和第一请求参数的步骤开始执行。
Creating:表示正在创建状态,是指云应用接口端从Step 5中发起云产品服务调用后,暂未接收到云产品的服务提供端发送的结果信息的状态。
Success:表示已成功创建状态,是指Step 7收到云产品的服务提供端返回的结果信息(结果信息中包括的创建结果用于表征已创建成功)的状态。
Fail:创建失败:Step 7收到云产品服务提供端返回的结果信息(结果信息中包括的创建结果用于表征已创建失败)的状态。
Step 9:判断状态信息是否Creating或者Success,如果是,则直接返回向客户端反馈房钱状态信息,客户端可以根据第一云资源的创建状态进行业务处理。如果状态信息为Init或者Fail,即表示在Step 5保存记录后未向云产品发起创建资源的请求,或者第一云资源创建失败,此时进行Step 6。
通过这种方法,在第一资源重建请求属于重复请求的情况下,实现云资源创建过程的幂等性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5示出了本申请一个示例性实施例提供的云资源创建装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。该装置500可以包括:请求接收模块510、信息获取模块520和信息反馈模块530。
请求接收模块510,用于接收客户端发送的第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识。
信息获取模块520,用于在第一数据库中记录有所述第一请求标识的情况下,从所述第一数据库中获取所述第一请求标识对应的状态信息;其中,所述第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态。
信息反馈模块530,用于在所述第一云资源的创建状态为正在创建状态或已成功创建状态的情况下,向所述客户端发送所述第一资源创建请求对应的第一反馈信息,所述第一反馈信息中包括所述第一请求标识对应的状态信息;其中,属于所述正在创建状态或所述已成功创建状态的云资源不被重复请求创建。
在一些实施例中,所述装置500,还包括:资源创建模块,用于在所述第一数据库中未记录所述第一请求标识的情况下,根据所述第一资源创建请求,向所述云产品的服务提供端发送第一资源创建指示;其中,所述第一资源创建指示用于指示所述云产品的服务提供端创建所述第一云资源;在所述第一数据库中记录所述第一请求标识;在所述第一数据库中,将所述第一请求标识对应的状态信息设置为所述正在创建状态。
在一些实施例中,所述装置500,还包括:状态更新模块,用于接收所述云产品的服务提供端发送的第一结果信息;其中,所述第一结果信息中携带有用于表征所述第一云资源的创建状态的第一创建结果;根据所述第一创建结果,更新所述第一数据库中记录的所述第一请求标识对应的状态信息;向所述客户端发送所述第一资源创建请求对应的第二反馈信息,所述第二反馈信息中包括所述第一请求标识对应的更新后的状态信息。
在一些实施例中,所述装置500,还包括:重新创建模块,用于在若所述第一云资源的创建状态为未创建状态或已失败创建状态的情况下,根据所述第一资源创建请求,向所述云产品的服务提供端发送第二资源创建指示;其中,所述第二资源创建指示用于指示所述云产品的服务提供端重新创建所述第一云资源;在所述第一数据库中,将所述第一请求标识对应的状态信息设置为所述正在创建状态。
在一些实施例中,所述装置500,还包括:创建反馈模型,用于接收所述云产品的服务提供端发送的第二结果信息;其中,所述第二结果信息中携带有用于表征所述第一云资源的创建状态的第二创建结果;根据所述第二创建结果,更新所述第一数据库中记录的所述第一请求标识对应的状态信息;向所述客户端发送所述第一资源创建请求对应的第三反馈信息,所述第三反馈信息中包括所述第一请求标识对应的更新后的状态信息。
在一些实施例中,所述装置500,还包括;标识查找模块,用于在所述第一数据集合中包括所述第一请求标识的情况下,确定所述第一数据库中记录有所述第一请求标识;在所述第一数据集合中不包括所述第一请求标识的情况下,检测所述第一数据库的第二数据集合中是否包括所述第一请求标识;在所述第二数据集合中包括所述第一请求标识的情况下,确定所述第一数据库中记录有所述第一请求标识;在所述第二数据集合中不包括所述第一请求标识的情况下,确定所述第一数据库中未记录所述第一请求标识;其中,所述第一数据集合中包含的请求标识在所述第一数据库中的已存储时长,小于所述第二数据集合中包含的请求标识在所述第一数据库中的已存储时长。
在一些实施例中,所述第一资源创建请求中包括:所述第一请求标识和第一请求参数;其中,所述第一请求参数用于指示与所述第一云资源有关的信息,所述第一请求标识根据通用唯一标识符UUID生成。
图6示出了本申请一个示例性实施例提供的云资源创建装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。该装置600可以包括:请求生成模块610、请求发送模块620和信息接收模块630。
请求生成模块610,用于生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识。
请求发送模块620,用于向云应用接口端发送所述第一资源创建请求。
信息接收模块630,用于接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
在一些实施例中,所述装置600还包括:标识生成模块,用于生成所述第一资源创建请求对应的通用唯一标识符UUID;将所述第一资源创建请求对应的UUID,作为所述第一请求标识。
在一些实施例中,所述装置600还包括:请求重传模块,用于在所述反馈信息中包括的所述第一请求标识对应的状态信息,指示所述第一云资源的创建状态为未创建状态或者已失败创建状态的情况下,向所述云应用接口端重传所述第一资源创建请求。
在一些实施例中,所述装置600还包括:传输暂停模块,用于在所述反馈信息中包括的所述第一请求标识对应的状态信息,指示所述第一云资源的创建状态为正在创建状态,且所述第一资源创建请求的重传次数达到阈值的情况下,在第一时长之内不对所述第一资源创建请求进行重传。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法侧的实施例,这里不再赘述。上述实施例提供的装置的有益效果请参考方法侧实施例的描述,这里也不再赘述。
图7示出了本申请一个示例性实施例提供的计算机设备的结构框图。
通常,计算机设备700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质存储有计算机程序,该计算机程序由处理器701加载并执行以实现上述各方法实施例提供的云资源创建方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述各方法实施例提供的云资源创建方法。
该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM(RandomAccess Memory,随机存取存储器)、ROM(Read-Only Memory,只读存储器)、EPROM(ErasableProgrammable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述各方法实施例提供的云资源创建方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种云资源创建方法,其特征在于,所述方法包括:
接收客户端发送的第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
若第一数据库中记录有所述第一请求标识,则从所述第一数据库中获取所述第一请求标识对应的状态信息;其中,所述第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态;
若所述第一云资源的创建状态为正在创建状态或已成功创建状态,则向所述客户端发送所述第一资源创建请求对应的第一反馈信息,所述第一反馈信息中包括所述第一请求标识对应的状态信息;其中,属于所述正在创建状态或所述已成功创建状态的云资源不被重复请求创建。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的第一资源创建请求之后,还包括:
若所述第一数据库中未记录所述第一请求标识,则根据所述第一资源创建请求,向所述云产品的服务提供端发送第一资源创建指示;其中,所述第一资源创建指示用于指示所述云产品的服务提供端创建所述第一云资源;
在所述第一数据库中记录所述第一请求标识;
在所述第一数据库中,将所述第一请求标识对应的状态信息设置为所述正在创建状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一资源创建请求,向所述云产品的服务提供端发送第一资源创建指示之后,还包括:
接收所述云产品的服务提供端发送的第一结果信息;其中,所述第一结果信息中携带有用于表征所述第一云资源的创建状态的第一创建结果;
根据所述第一创建结果,更新所述第一数据库中记录的所述第一请求标识对应的状态信息;
向所述客户端发送所述第一资源创建请求对应的第二反馈信息,所述第二反馈信息中包括所述第一请求标识对应的更新后的状态信息。
4.根据权利要求1所述的方法,其特征在于,所述从所述第一数据库中获取所述第一请求标识对应的状态信息之后,还包括:
若所述第一云资源的创建状态为未创建状态或已失败创建状态,则根据所述第一资源创建请求,向所述云产品的服务提供端发送第二资源创建指示;其中,所述第二资源创建指示用于指示所述云产品的服务提供端重新创建所述第一云资源;
在所述第一数据库中,将所述第一请求标识对应的状态信息设置为所述正在创建状态。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一资源创建请求,向所述云产品的服务提供端发送第二资源创建指示之后,还包括:
接收所述云产品的服务提供端发送的第二结果信息;其中,所述第二结果信息中携带有用于表征所述第一云资源的创建状态的第二创建结果;
根据所述第二创建结果,更新所述第一数据库中记录的所述第一请求标识对应的状态信息;
向所述客户端发送所述第一资源创建请求对应的第三反馈信息,所述第三反馈信息中包括所述第一请求标识对应的更新后的状态信息。
6.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的第一资源创建请求之后,还包括:
若所述第一数据集合中包括所述第一请求标识,则确定所述第一数据库中记录有所述第一请求标识;
若所述第一数据集合中不包括所述第一请求标识,则检测所述第一数据库的第二数据集合中是否包括所述第一请求标识;
若所述第二数据集合中包括所述第一请求标识,则确定所述第一数据库中记录有所述第一请求标识;
若所述第二数据集合中不包括所述第一请求标识,则确定所述第一数据库中未记录所述第一请求标识;
其中,所述第一数据集合中包含的请求标识在所述第一数据库中的已存储时长,小于所述第二数据集合中包含的请求标识在所述第一数据库中的已存储时长。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一资源创建请求中包括:所述第一请求标识和第一请求参数;其中,所述第一请求参数用于指示与所述第一云资源有关的信息,所述第一请求标识根据通用唯一标识符UUID生成。
8.一种云资源创建方法,其特征在于,所述方法包括:
生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
向云应用接口端发送所述第一资源创建请求;
接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
生成所述第一资源创建请求对应的通用唯一标识符UUID;
将所述第一资源创建请求对应的UUID,作为所述第一请求标识。
10.根据权利要求8所述的方法,其特征在于,所述接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息之后,还包括:
若所述反馈信息中包括的所述第一请求标识对应的状态信息,指示所述第一云资源的创建状态为未创建状态或者已失败创建状态,则向所述云应用接口端重传所述第一资源创建请求。
11.根据权利要求8所述的方法,其特征在于,所述接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息之后,还包括:
若所述反馈信息中包括的所述第一请求标识对应的状态信息,指示所述第一云资源的创建状态为正在创建状态,且所述第一资源创建请求的重传次数达到阈值,则在第一时长之内不对所述第一资源创建请求进行重传。
12.一种云资源创建装置,其特征在于,所述装置包括:
请求接收模块,用于接收客户端发送的第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
信息获取模块,用于在第一数据库中记录有所述第一请求标识的情况下,从所述第一数据库中获取所述第一请求标识对应的状态信息;其中,所述第一数据库中记录有至少一组请求标识与状态信息之间的对应关系,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态;
信息反馈模块,用于在所述第一云资源的创建状态为正在创建状态或已成功创建状态的情况下,向所述客户端发送所述第一资源创建请求对应的第一反馈信息,所述第一反馈信息中包括所述第一请求标识对应的状态信息;其中,属于所述正在创建状态或所述已成功创建状态的云资源不被重复请求创建。
13.一种云资源创建装置,其特征在于,所述装置包括:
请求生成模块,用于生成第一资源创建请求,所述第一资源创建请求用于请求创建云产品的第一云资源,所述第一资源创建请求中携带的请求标识为第一请求标识;其中,不同的资源创建请求中携带不同的请求标识,同一个资源创建请求的初传和重传中携带相同的请求标识;
请求发送模块,用于向云应用接口端发送所述第一资源创建请求;
信息接收模块,用于接收所述云应用接口端发送的所述第一资源创建请求对应的反馈信息,所述反馈信息中包括所述第一请求标识对应的状态信息;其中,所述第一请求标识对应的状态信息用于指示所述第一云资源的创建状态,属于正在创建状态或已成功创建状态的云资源不被重复请求创建。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的云资源创建方法,或者,如权利要求8至11任一项所述的云资源创建方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一项所述的云资源创建方法,或者,如权利要求8至11任一项所述的云资源创建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211279164.3A CN116996508A (zh) | 2022-10-19 | 2022-10-19 | 云资源创建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211279164.3A CN116996508A (zh) | 2022-10-19 | 2022-10-19 | 云资源创建方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116996508A true CN116996508A (zh) | 2023-11-03 |
Family
ID=88527162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211279164.3A Pending CN116996508A (zh) | 2022-10-19 | 2022-10-19 | 云资源创建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116996508A (zh) |
-
2022
- 2022-10-19 CN CN202211279164.3A patent/CN116996508A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656538A (zh) | 应用程序的生成方法、装置、系统、设备和介质 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN111245900B (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
US8626526B2 (en) | System and method for a healthcare communication framework | |
CN110362318A (zh) | 应用部署方法、装置、设备和存储介质 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN112486814A (zh) | 系统迁移性测试方法、迁移性测试系统、装置及存储介质 | |
CN115812298A (zh) | 供应故障的区块链管理 | |
CN112835782A (zh) | 接口的接入测试方法和系统 | |
CN113179301A (zh) | 文件的下载方法和装置、存储介质、电子装置 | |
CN109726546A (zh) | 一种权限管理方法及装置 | |
CN113722114A (zh) | 一种数据服务的处理方法、装置、计算设备及存储介质 | |
CN111970102A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109683916A (zh) | 一种自主创建包含应用软件的云主机镜像的方法 | |
US10402307B2 (en) | System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface | |
CN109245941B (zh) | 一种服务补偿方法及装置 | |
CN112598529A (zh) | 数据处理方法及装置、计算机可读存储介质、电子设备 | |
US20200382447A1 (en) | Chatbot information processing | |
CN116996508A (zh) | 云资源创建方法、装置、设备及存储介质 | |
CN115168203A (zh) | 接口模拟方法、装置、系统、计算机设备和存储介质 | |
CN114489674A (zh) | 动态数据模型的数据校验方法和装置 | |
US11582345B2 (en) | Context data management interface for contact center | |
CN113485927A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 | |
CN115086408B (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 |