CN116166409A - 一种资源创建方法、装置、电子设备及存储介质 - Google Patents

一种资源创建方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116166409A
CN116166409A CN202111415947.5A CN202111415947A CN116166409A CN 116166409 A CN116166409 A CN 116166409A CN 202111415947 A CN202111415947 A CN 202111415947A CN 116166409 A CN116166409 A CN 116166409A
Authority
CN
China
Prior art keywords
thread
key
request
variable storage
storage class
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
CN202111415947.5A
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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111415947.5A priority Critical patent/CN116166409A/zh
Priority to PCT/CN2022/112745 priority patent/WO2023093139A1/zh
Publication of CN116166409A publication Critical patent/CN116166409A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种资源创建方法、装置、电子设备及存储介质。其中,方法包括:通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。

Description

一种资源创建方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源创建方法、装置、电子设备及存储介质。
背景技术
多云管理平台可以提供一站式跨公有云服务器资源管理服务,在用户请求创建一个云资源的过程中,需要调用多个不同的云服务器的应用程序接口(API,ApplicationProgramming Interface),而在调用不同的云服务器API时,需要利用密钥进行认证。相关技术中,在通过线程执行资源创建任务的过程中,存在密钥传递效率低下以及数据干扰的问题。
发明内容
有鉴于此,本申请实施例的主要目的在于提供一种资源创建方法、装置、电子设备及存储介质,以至少解决相关技术中通过线程执行资源创建任务的过程中,密钥传递效率低下的问题。
为达到上述目的,本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种资源创建方法,所述方法包括:
通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;
通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;
通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
上述方案中,所述第一请求中携带有第一标识,所述第一标识表征发起所述第一请求的终端的标识;在所述第二线程对应的变量存储类中不存储有第一密钥的情况下,所述方法包括:
通过所述第二线程基于所述第一标识,从设定数据库中获取与所述第一标识对应的第一密钥;
将所述第一密钥存储至所述第二线程对应的变量存储类。
上述方案中,所述将所述第一密钥存储至所述第二线程对应的变量存储类时,所述方法包括:
将所述第一密钥通过公钥加密(RSA)算法进行加密,得到加密后的第一密钥;
将所述第二线程对应的线程对象信息及所述加密后的第一密钥以键值对形式存储至所述第二线程对应的变量存储类。
上述方案中,在通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥之后,所述方法还包括:
将所述第一线程对应的线程对象信息及所述第一密钥以键值对形式存储至所述第一线程对应的变量存储类。
上述方案中,所述方法还包括:
在通过所述第一线程从所述云服务器获得对应的请求结果之后,删除所述第一线程对应的变量存储类中的第一密钥对应的键值对;
在通过所述第二线程将所述请求结果返回给所述终端之后,删除所述第二线程对应的变量存储类中的第一密钥对应的键值对。
上述方案中,所述通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,包括:
通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验,得到校验结果;
在所述校验结果表征所述第二线程对应的变量存储类中存储的第一密钥有效的情况下,通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。
上述方案中,所述通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验时,所述方法包括:
每隔设定时长,通过所述第一线程携带所述第一密钥请求调用设定的云服务器认证API,判断是否成功调用所述设定的云服务器认证API,得到判断结果;
在所述判断结果表征成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥有效;
在所述判断结果表征无法成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥无效。
本申请实施例还提供了一种资源创建装置,所述装置包括:
确定单元,用于通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;
获取单元,用于通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;
发送单元,用于通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本申请实施例中,通过第二线程接收终端的第一请求,并基于第一请求确定第一线程,其中,第一请求用于请求创建第一资源,第一线程用于处理第一请求,第一线程为第二线程的子线程。通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,其中,第一密钥用于在通过第一线程向云服务器请求创建第一资源时提供权限凭证。通过第一线程将第一请求及第一密钥发送至对应的云服务器,以通过第一线程从云服务器获得对应的请求结果并通过第二线程将请求结果返回给终端。这样,在通过第一线程处理终端的资源创建请求时,第一线程不需要执行获取对应的密钥的一系列初始化操作,基于对应的可继承的变量存储类,可以从父线程的变量存储类中快速获取对应的密钥,从而可以基于获取的密钥快速对资源创建请求进行处理,不仅实现了密钥的快速传递,提高了密钥的传递效率,也提高了处理资源创建请求的效率。并且,在处理资源创建请求的过程中,由于不需要将对应的密钥进行层层传递,避免了后台的代码冗余问题。
附图说明
图1为本申请实施例提供的资源创建方法的实现流程示意图;
图2为本申请应用实施例提供的资源创建方法的实现流程图;
图3为本申请实施例提供的资源创建装置的示意图;
图4为本申请实施例电子设备的硬件组成结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
随着云概念的普及以及云服务器的便捷性的提高,时至今日,云服务器已经发展成为企业互联网技术架构的基础设施,企业不再犹豫是否需要云服务器,而是关注使用哪种云服务器,以及是否能够充分发挥云服务器的优良特性。目前市场上的主流公有云服务器各有特色,多云管理平台可根据不同的需求选择合适的公有云服务器,并提供一站式跨公有云服务器资源管理服务。在用户请求创建一个云资源的过程中,需要调用多个不同的云服务器的API,而在调用不同的云服务器API时,需要利用密钥进行认证,因此,密钥在后端服务器内的传递必不可少。
相关技术中,主要有以下几种多云管理平台内密钥传递的实现方式:
1、密钥参数显式传递方式。具体地,与多云管理平台通信的各个方法都显式接收密钥参数,密钥参数作为调用链路中的必传参数,层层传递。这种方式简单有效,但在实现过程中,后台接收参数定义复杂,代码冗余度较高。由于传递过程中密钥参数可见,存在较大的安全隐患。
2、密钥缓存标识传递方式。具体地,将密钥缓存在云服务器内存之后,获得对应的密钥缓存标识。在与多云管理平台通信的各个方法内传递密钥缓存标识。这种方式提升了密钥的安全性,但由于同样需要将密钥缓存标识作为参数层层传递,在实现过程中,依然存在后台接收参数定义复杂,代码冗余度较高的问题。
3、线程变量存储类存储密钥方式。具体地,Java开发工具包(JDK,JavaDevelopment Kit)为线程提供了一个变量存储类(ThreadLocal),变量存储类是一个线程内部的存储类。可以在指定线程对应的变量存储类中存储数据,数据存储以后,只有一些特定线程可以得到从该指定线程获取存储的数据。获取发起请求的终端的标识后,查询获取对应的密钥,将密钥存入当前线程对应的变量存储类。与多云管理平台通信的各个方法按需从当前线程取用密钥。由于线程具有独立运行的特性,不同线程内存储的密钥互不影响。这种方式既可以提升密钥的安全性,也避免了后台代码冗余的问题。然而,在需要异步处理资源创建请求时,子线程无法直接获取父线程对应的变量存储类中存储的密钥,造成子父线程之间密钥传递效率低下。且线程通常由线程池管控复用,而线程对应的变量存储类的生命周期随线程销毁才结束,因此,在线程内的任务执行结束后,对应的变量存储类中存储的密钥会一直保留,会对线程下一次任务的执行造成数据干扰的隐患。
也就是说,相关技术中,在通过线程执行资源创建任务的过程中,存在用户密钥传递效率低下以及数据干扰的问题。
基于此,本申请实施例提供了一种资源创建方法、装置、电子设备及存储介质,通过第二线程接收终端的第一请求,并基于第一请求确定第一线程,其中,第一请求用于请求创建第一资源,第一线程用于处理第一请求,第一线程为第二线程的子线程。通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,其中,第一密钥用于在通过第一线程向云服务器请求创建第一资源时提供权限凭证。通过第一线程将第一请求及第一密钥发送至对应的云服务器,以通过第一线程从云服务器获得对应的请求结果并通过第二线程将请求结果返回给终端。这样,在通过第一线程处理终端的资源创建请求时,第一线程不需要执行获取对应的密钥的一系列初始化操作,基于对应的可继承的变量存储类,可以从父线程的变量存储类中快速获取对应的密钥,从而可以基于获取的密钥快速对资源创建请求进行处理,不仅实现了密钥的快速传递,提高了密钥的传递效率,也提高了处理资源创建请求的效率。并且,在处理资源创建请求的过程中,由于不需要将对应的密钥进行层层传递,避免了后台的代码冗余问题。
下面结合附图及实施例对本申请再作进一步详细的描述。
图1为本申请实施例提供的资源创建方法的实现流程示意图。如图1所示,所述方法包括:
步骤101:通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程。
这里,通过第二线程接收终端的第一请求,第一请求用于请求创建第一资源。第二线程是父线程,第一线程是第二线程的子线程。在父线程接收到第一请求之后,分配一个子线程来处理第一请求。在确定由第一线程来处理第一请求之后,第二线程获取第一线程的线程对象信息返回给终端。线程对象信息至少包括线程标识、线程对象优先级、线程状态。
步骤102:通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证。
这里,基于第一线程对应的可继承的变量存储类(InheritableThreadLocal),从第二线程对应的变量存储类获取第一密钥。第一密钥用于在通过第一线程向云服务器请求创建第一资源时提供权限凭证。
实际应用中,JDK为第一线程提供了可继承的变量存储类,可继承的变量存储类是变量存储类的子类,具有从父线程对应的变量存储类中获取数据的特性。
在第二线程的变量存储类中存储第一密钥的情况下,通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类中获取第一密钥。
在一实施例中,所述通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,包括:
通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验,得到校验结果;
在所述校验结果表征所述第二线程对应的变量存储类中存储的第一密钥有效的情况下,通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。
这里,如果第二线程的变量存储类中存储有第一密钥,第一线程不是直接获取第一密钥,而是先对第二线程对应的变量存储类中存储的第一密钥是否有效进行校验。只有在校验结果表征第一密钥有效的情况下,才会通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类中获得第一密钥。
通过在校验得到第一密钥有效的情况下,才从第二线程对应的变量存储类中获得第一密钥,保证了第一线程获得的第一密钥是有效的,从而可以在长时间、长串联的处理过程中基于有效的第一密钥对第一请求进行处理,提高了第一请求的处理效率,避免了第一线程基于无效的第一密钥处理第一请求导致处理失败的问题。
在一实施例中,所述通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验时,所述方法包括:
每隔设定时长,通过所述第一线程携带所述第一密钥请求调用设定的云服务器认证API,判断是否成功调用所述设定的云服务器认证API,得到判断结果;
在所述判断结果表征成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥有效;
在所述判断结果表征无法成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥无效。
这里,对第二线程对应的变量存储类中存储的第一密钥是否有效进行校验主要是通过每隔设定时长,通过第一线程携带第一密钥,请求调用设定的云服务器认证API,根据是否能够成功调用该设定的云服务器认证API来判断第一密钥是否有效。其中,设定的云服务器认证API是专门设置的用来对密钥进行认证的API。
由于第一密钥不仅可以在向云服务器请求创建第一资源时提供权限凭证,也可以在请求调用设定的云服务器认证API时提供权限凭证。因此,如果第一密钥有效,则基于第一密钥可以成功调用设定的云服务器认证API。如果第一密钥无效,由于无效的第一密钥无法提供权限凭证,则基于无效的第一密钥无法成功调用设定的云服务器认证API。
实际应用中,在一些应用场景下,可以为第一线程配置定时检测任务,并配置密钥校验工具类,第一线程基于密钥校验工具类执行该定时检测任务,也就是每隔设定时长,对第二线程对应的变量存储类中存储的第一密钥的有效性进行校验。由于定时检测任务的开启会增加***内存消耗,可以根据实际需要灵活开启。线程池针对线程执行execute方法进行了环绕增强处理,execute方法可以记录当前正在执行任务的线程,针对当前正在执行任务的线程,启动定时检测任务,定时获取对应的变量存储类中存储的第一密钥进行有效性的校验。
如果第一线程校验得到第一密钥无效,那么第一线程会通知第二线程重新获取第一密钥,并通知第二线程更新对应的变量存储类中的存储的第一密钥。
实际应用中,在另一些应用场景下,可以为第二线程配置定时检测任务,并配置密钥校验工具类。第二线程基于密钥校验工具类执行该定时检测任务,也就是每隔设定时长,对第二线程对应的变量存储类中存储的密钥的有效性进行校验,以及对第二线程的多个子线程对应的变量存储类中存储的密钥的有效性进行校验,即,由第二线程负责对当前的线程池中各个已激活的线程中存储的密钥的有效性进行校验。
通过判断携带第一密钥请求调用设定的云服务器认证API是否成功,来判断第一密钥是否有效,可以对第一密钥的有效性进行准确判定。由于定时对第一密钥的有效性进行校验,在第一密钥失效的情况下第二线程会重新获取第一密钥并完成第一密钥的更新操作,可以保证第一密钥在当前的执行周期内有效。
在一实施例中,在通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥之后,所述方法还包括:
将所述第一线程对应的线程对象信息及所述第一密钥以键值对形式存储至所述第一线程对应的变量存储类。
这里,在从第二线程对应的变量存储类获取第一密钥之后,将第一线程对应的线程对象信息及第一密钥以键值(Key-Value)对的形式,存储至第一线程对应的变量存储类。具体地,可以将第一线程对应的线程标识作为键(Key)、第一密钥作为值(Value),以Key-Value对的形式存储至第一线程对应的变量存储类。这样,如果需要使用第一密钥,可以在请求中携带第一线程的线程标识,继而从第一线程对应的变量存储类中获取第一线程的线程标识对应的第一密钥。
需要说明的是,第二线程对应的变量存储类中存储的第一密钥是经过加密的第一密钥,因此,第一线程获取并存储的也是加密后的第一密钥。在第一线程和第二线程之间进行传递的是加密后的第一密钥,保证了第一密钥的安全性。
通过在第一线程获取第一密钥之后,将对应的线程对象信息及第一密钥以键值对的形式存储起来,在第一线程处理第一请求时,可以快速从对应的变量存储类中获取对应的第一密钥,从而可以快速对第一请求进行处理,提高了处理效率。
步骤103:通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
这里,第一线程在获取第一密钥之后,将第一请求和第一密钥发送至对应的云服务器,以通过第一线程从云服务器获得对应的请求结果并通过第二线程将请求结果返回给终端。
实际应用中,后台配置有云资源创建工具类,第一线程调用云资源创建工具类来进行第一资源的创建。
具体地,在第一线程对应的变量存储类中存储有Key-Value对的情况下,根据获得的第一线程的线程对象信息如线程标识,从第一线程对应的变量存储类中存储的Key-Value对中找到对应的第一密钥。获得第一密钥之后,利用RSA算法对加密后的第一密钥进行解密,得到解密后的第一密钥。
第一线程将解密后的第一密钥传递给云资源创建工具类,由云资源创建工具类携带解密后的第一密钥以及第一请求,去请求对应的云服务器。云服务器在利用解密后的第一密钥完成相关认证之后,返回第一请求对应的请求结果给云资源创建工具类,云资源创建工具类将对应的请求结果返回给第一线程,第一线程接收到对应的请求结果进行必要的入库处理操作后,再将对应的请求结果返回给第二线程,最终由第二线程将对应的请求结果返回给终端。
如果第一线程对应的变量存储类中不存储有Key-Value对,则返回空值“null”,并由第一线程对应的可继承的变量存储类,从第二线程对应的变量存储类中获取第一密钥。
需要说明的是,在处理第一请求之前,第一线程对应的变量存储类并没有存储其他密钥,在开始处理第一请求后,第一线程才从第二线程对应的变量存储类中获取第一密钥并存储,也就是说,第一线程对应的变量存储类中存储的Key-Value对是只与第一密钥相关的Key-Value对。所以,在根据第一线程的线程对象信息如线程标识,从存储的Key-Value对中查找密钥时,不会查找到其他的密钥,只会查找到第一密钥。
在一实施例中,所述第一请求中携带有第一标识,所述第一标识表征发起所述第一请求的终端的标识;在所述第二线程对应的变量存储类中不存储有第一密钥的情况下,所述方法包括:
通过所述第二线程基于所述第一标识,从设定数据库中获取与所述第一标识对应的第一密钥;
将所述第一密钥存储至所述第二线程对应的变量存储类。
这里,第一请求中携带有第一标识,第一标识表征发起第一请求的终端的标识。实际应用中,第一请求可以为超文本传输协议(HTTP,Hyper Text Transfer Protocol)请求,该HTTP请求中携带有终端标识。
如果第二线程对应的变量存储类中存储有第一密钥,则第一线程可以从第二线程获得第一密钥。如果第二线程对应的变量存储类中不存储有第一密钥,那么,第二线程需要执行获取第一密钥的操作,具体地,第二线程基于第一请求携带的第一标识,从设定的数据库中获取与第一标识对应的第一密钥,然后将获取的第一密钥存储至第二线程对应的变量存储类。其中,设定的数据库中预先存储有各种终端标识对应的密钥。
通过基于第一标识,从设定数据库中获取对应的第一密钥并存储,可以准确获得与第一请求匹配的第一密钥,也便于第一线程快速从第二线程对应的变量存储类中获取第一密钥。
在一实施例中,所述将所述第一密钥存储至所述第二线程对应的变量存储类时,所述方法包括:
将所述第一密钥通过RSA算法进行加密,得到加密后的第一密钥;
将所述第二线程对应的线程对象信息及所述加密后的第一密钥以键值对形式存储至所述第二线程对应的变量存储类。
这里,第二线程从设定数据库中获得第一密钥后,通过RSA算法对第一密钥进行加密,得到加密后的第一密钥。其中,RSA算法中的公钥和私钥,默认在第二线程对应的变量存储类获取密钥后生成。
将第二线程对应的线程对象信息及加密后的第一密钥以Key-Value对的形式,存储至第二线程对应的变量存储类。具体地,可以将第二线程对应的线程标识作为Key、加密后的第一密钥作为Value,以Key-Value对的形式存储至第二线程对应的变量存储类。这样,如果需要获取加密后第一密钥,可以在请求中携带第二线程的线程标识,继而从第二线程对应的变量存储类中获取第二线程的线程标识对应的加密后的第一密钥。
通过在第二线程对应的变量存储类中存储加密后的第一密钥,提升了存储的第一密钥的安全性。
在一实施例中,所述方法还包括:
在通过所述第一线程从所述云服务器获得对应的请求结果之后,删除所述第一线程对应的变量存储类中的第一密钥对应的键值对;
在通过所述第二线程将所述请求结果返回给所述终端之后,删除所述第二线程对应的变量存储类中的第一密钥对应的键值对。
这里,在通过第一线程从云服务器获得对应的请求结果后,在第一线程对该请求结果进行必要的入库处理操作,并将该请求结果传递给第二线程之后,第一线程对第一请求的处理过程已经完成,在这种情况下,根据第一线程对应的线程对象信息,删除第一线程对应的变量存储类中的第一密钥对应的键值对。
在通过第二线程将该请求结果返回给终端之后,第二线程的此次的任务已经执行完毕,在这种情况下,根据第二线程对应的线程对象信息,删除第二线程对应的变量存储类中的第一密钥对应的键值对。
实际应用中,可以通过线程池任务执行类(TaskExecutor),实现在各个线程对应的任务执行完毕后,清除对应的变量存储类中存储的第一密钥对应的键值对。
通过在第一线程和第二线程执行对应的任务后,删除对应的变量存储类中的第一密钥对应的键值对,能够避免对第一线程和第二线程后续的任务执行造成数据干扰,也不再需要运维人员在线程的任务执行结束后手动清除第一密钥对应的键值对,提高了资源创建请求的效率。
图2为本申请应用实施例提供的资源创建方法的实现流程图,如图2所示:
在终端发起创建第一资源的第一请求后,第二线程即父线程分配一个第一线程来处理终端发起的第一请求。第二线程获取第一线程对应的线程对象信息并返回给终端。
可以为第二线程配置定时检测任务,通过第二线程检测线程池内各个线程对应的变量存储类中存储的密钥的有效性。
在第二线程对应的变量存储类中存储有第一密钥的情况下,通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。在第二线程对应的变量存储类中没有存储第一密钥的情况下,通过第二线程执行获取第一密钥的操作,也就是基于第一请求中携带的第一标识,从设定的数据库中获得与第一标识对应的第一密钥,并通过RSA算法对第一密钥进行加密,将第二线程对应的线程对象信息以及加密后的第一密钥以键值对的形式存储至第二线程对应的变量存储类。此时,第一线程再基于对应的可继承的变量存储类,从第二线程对应的变量存储类中获取第一密钥。
第一线程获取第一密钥后,调用方法创建第一资源,具体地,调用云资源创建工具类,从第一线程对应的变量存储类中获取加密后的第一密钥,获取加密后的第一密钥后,对加密后的第一密钥进行解密,将解密后的第一密钥传递给云资源创建工具类。
云资源创建工具类携带第一请求和解密后的第一密钥,请求对应的云服务器。
云服务器在利用解密后的第一密钥完成相关认证之后,返回第一请求对应的请求结果给云资源创建工具类。
云资源创建工具类将对应的请求结果返回给第一线程。第一线程接收到对应的请求结果进行必要的入库处理操作后,将对应的请求结果返回给第二线程。在第一线程将对应的请求结果返回给第二线程之后,清除第一线程对应的变量存储类中存储的第一密钥对应的键值对。
第二线程将对应的请求结果返回给终端。在第二线程将对应的请求结果返回给终端之后,清除第二线程对应的变量存储类中存储的第一密钥对应的键值对。
在本申请的一个应用实施例中,在JDK的环境下,首先配置线程池。设置线程数量、队列数量等参数,生成一个定长线程池。如可以将线程的数量设置为2,生成一个包含2个线程的线程池。
根据设定的线程池,从线程池中分配线程处理终端发起的资源创建请求。
设定密钥的存储位置,可以将密钥存储在父线程对应的变量存储类中。每个线程对应的变量存储类中可以存储任意数据,可以将每个线程对应的变量存储类中存储的数据的类型设置为泛型。
设定密钥的获取方式。如果处理终端请求的当前线程的父线程对应的变量存储类中存储有对应的密钥,则从父线程对应的变量存储类中获取对应的密钥。如果当前线程的父线程对应的变量存储类中没有存储对应的密钥,则父线程执行获取对应的密钥的相关操作,即获取终端发起的请求中携带的终端标识,基于该终端标识在设定数据库中获取对应的密钥。在父线程对应的变量存储类中存储有对应的密钥后,当前线程再基于对应的可继承的变量存储类,从父线程对应的变量存储类中获取对应的密钥。
设定密钥的有效性的校验方式。在对线程对应的变量存储类中存储的密钥进行校验时,携带该密钥请求调用设定的云服务器认证API,根据是否能够成功调用设定的云服务器认证API来确定该密钥是否有效。
在本申请实施例中,通过第二线程接收终端的第一请求,并基于第一请求确定第一线程,其中,第一请求用于请求创建第一资源,第一线程用于处理第一请求,第一线程为第二线程的子线程。通过第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,其中,第一密钥用于在通过第一线程向云服务器请求创建第一资源时提供权限凭证。通过第一线程将第一请求及第一密钥发送至对应的云服务器,以通过第一线程从云服务器获得对应的请求结果并通过第二线程将请求结果返回给终端。这样,在通过第一线程处理终端的资源创建请求时,第一线程不需要执行获取对应的密钥的一系列初始化操作,基于对应的可继承的变量存储类,可以从父线程的变量存储类中快速获取对应的密钥,从而可以基于获取的密钥快速对资源创建请求进行处理,不仅实现了密钥的快速传递,提高了密钥的传递效率,也提高了处理资源创建请求的效率。并且,在处理资源创建请求的过程中,由于不需要将对应的密钥进行层层传递,避免了后台的代码冗余问题。
为实现本申请实施例的方法,本申请实施例还提供了一种资源创建装置,图3为本申请实施例提供的资源创建装置的示意图,如图3所示,该装置包括:
确定单元301,用于通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程。
获取单元302,用于通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证。
发送单元303,用于通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
在一实施例中,所述第一请求中携带有第一标识,所述第一标识表征发起所述第一请求的终端的标识;所述装置还包括:存储单元,用于通过所述第二线程基于所述第一标识,从设定数据库中获取与所述第一标识对应的第一密钥;
将所述第一密钥存储至所述第二线程对应的变量存储类。
在一实施例中,所述存储单元,还用于将所述第一密钥通过RSA算法进行加密,得到加密后的第一密钥;
将所述第二线程对应的线程对象信息及所述加密后的第一密钥以键值对形式存储至所述第二线程对应的变量存储类。
在一实施例中,所述存储单元,还用于将所述第一线程对应的线程对象信息及所述第一密钥以键值对形式存储至所述第一线程对应的变量存储类。
在一实施例中,所述装置还包括:删除单元,用于在通过所述第一线程从所述云服务器获得对应的请求结果之后,删除所述第一线程对应的变量存储类中的第一密钥对应的键值对;
在通过所述第二线程将所述请求结果返回给所述终端之后,删除所述第二线程对应的变量存储类中的第一密钥对应的键值对。
在一实施例中,所述获取单元302,还用于通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验,得到校验结果;
在所述校验结果表征所述第二线程对应的变量存储类中存储的第一密钥有效的情况下,通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。
在一实施例中,所述装置还包括:判断单元,用于每隔设定时长,通过所述第一线程携带所述第一密钥请求调用设定的云服务器认证API,判断是否成功调用所述设定的云服务器认证API,得到判断结果;
在所述判断结果表征成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥有效;
在所述判断结果表征无法成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥无效。
实际应用时,所述确定单元301、所述获取单元302、所述发送单元303、所述存储单元、所述删除单元、所述判断单元可通过终端中的处理器,比如中央处理器(CPU,CentralProcessing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的资源创建装置在进行信息显示时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的资源创建装置与资源创建方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图4为本申请实施例提供的电子设备的硬件组成结构示意图,如图4所示,电子设备包括:
通信接口401,能够与其它设备比如网络设备等进行信息交互;
处理器402,与所述通信接口401连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述终端侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器403上。
具体地,所述处理器402,用于通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;
通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;
通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
在一实施例中,所述第一请求中携带有第一标识,所述第一标识表征发起所述第一请求的终端的标识;在所述第二线程对应的变量存储类中不存储有第一密钥的情况下,所述处理器402还用于通过所述第二线程基于所述第一标识,从设定数据库中获取与所述第一标识对应的第一密钥;
将所述第一密钥存储至所述第二线程对应的变量存储类。
在一实施例中,所述将所述第一密钥存储至所述第二线程对应的变量存储类时,所述处理器402还用于将所述第一密钥通过RSA算法进行加密,得到加密后的第一密钥;
将所述第二线程对应的线程对象信息及所述加密后的第一密钥以键值对形式存储至所述第二线程对应的变量存储类。
在一实施例中,在通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥之后,所述处理器402还用于将所述第一线程对应的线程对象信息及所述第一密钥以键值对形式存储至所述第一线程对应的变量存储类。
在一实施例中,所述处理器402还用于在通过所述第一线程从所述云服务器获得对应的请求结果之后,删除所述第一线程对应的变量存储类中的第一密钥对应的键值对;
在通过所述第二线程将所述请求结果返回给所述终端之后,删除所述第二线程对应的变量存储类中的第一密钥对应的键值对。
在一实施例中,所述处理器402还用于通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验,得到校验结果;
在所述校验结果表征所述第二线程对应的变量存储类中存储的第一密钥有效的情况下,通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。
在一实施例中,所述通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验时,所述处理器402还用于每隔设定时长,通过所述第一线程携带所述第一密钥请求调用设定的云服务器认证API,判断是否成功调用所述设定的云服务器认证API,得到判断结果;
在所述判断结果表征成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥有效;
在所述判断结果表征无法成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥无效。
当然,实际应用时,电子设备中的各个组件通过总线***404耦合在一起。可理解,总线***404用于实现这些组件之间的连接通信。总线***404除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线***404。
本申请实施例中的存储器403用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器403可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器403旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器402中,或者由处理器402实现。处理器402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器402可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器403,处理器402读取存储器403中的程序,结合其硬件完成前述方法的步骤。
处理器402执行所述程序时实现本申请实施例的各个方法中的相应流程。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器403,上述计算机程序可由处理器402执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种资源创建方法,其特征在于,所述方法包括:
通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;
通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;
通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
2.根据权利要求1所述的资源创建方法,其特征在于,所述第一请求中携带有第一标识,所述第一标识表征发起所述第一请求的终端的标识;在所述第二线程对应的变量存储类中不存储有第一密钥的情况下,所述方法包括:
通过所述第二线程基于所述第一标识,从设定数据库中获取与所述第一标识对应的第一密钥;
将所述第一密钥存储至所述第二线程对应的变量存储类。
3.根据权利要求2所述的资源创建方法,其特征在于,所述将所述第一密钥存储至所述第二线程对应的变量存储类时,所述方法包括:
将所述第一密钥通过公钥加密RSA算法进行加密,得到加密后的第一密钥;
将所述第二线程对应的线程对象信息及所述加密后的第一密钥以键值对形式存储至所述第二线程对应的变量存储类。
4.根据权利要求1所述的资源创建方法,其特征在于,在通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥之后,所述方法还包括:
将所述第一线程对应的线程对象信息及所述第一密钥以键值对形式存储至所述第一线程对应的变量存储类。
5.根据权利要求4所述的资源创建方法,其特征在于,所述方法还包括:
在通过所述第一线程从所述云服务器获得对应的请求结果之后,删除所述第一线程对应的变量存储类中的第一密钥对应的键值对;
在通过所述第二线程将所述请求结果返回给所述终端之后,删除所述第二线程对应的变量存储类中的第一密钥对应的键值对。
6.根据权利要求1所述的资源创建方法,其特征在于,所述通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥,包括:
通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验,得到校验结果;
在所述校验结果表征所述第二线程对应的变量存储类中存储的第一密钥有效的情况下,通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥。
7.根据权利要求6所述的资源创建方法,其特征在于,所述通过所述第一线程对所述第二线程对应的变量存储类中存储的第一密钥是否有效进行校验时,所述方法包括:
每隔设定时长,通过所述第一线程携带所述第一密钥请求调用设定的云服务器认证应用程序接口API,判断是否成功调用所述设定的云服务器认证API,得到判断结果;
在所述判断结果表征成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥有效;
在所述判断结果表征无法成功调用所述设定的云服务器认证API的情况下,确定所述第一密钥无效。
8.一种资源创建装置,其特征在于,所述装置包括:
确定单元,用于通过第二线程接收终端的第一请求,并基于所述第一请求确定第一线程;所述第一请求用于请求创建第一资源;所述第一线程用于处理所述第一请求;所述第一线程为所述第二线程的子线程;
获取单元,用于通过所述第一线程基于对应的可继承的变量存储类,从第二线程对应的变量存储类获取第一密钥;所述第一密钥用于在通过所述第一线程向云服务器请求创建第一资源时提供权限凭证;
发送单元,用于通过所述第一线程将所述第一请求及所述第一密钥发送至对应的云服务器,以通过所述第一线程从所述云服务器获得对应的请求结果并通过所述第二线程将所述请求结果返回给所述终端。
9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器用于运行所述计算机程序时,执行权利要求1-7任一项所述方法的步骤。
10.一种存储介质,其上存有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN202111415947.5A 2021-11-25 2021-11-25 一种资源创建方法、装置、电子设备及存储介质 Pending CN116166409A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111415947.5A CN116166409A (zh) 2021-11-25 2021-11-25 一种资源创建方法、装置、电子设备及存储介质
PCT/CN2022/112745 WO2023093139A1 (zh) 2021-11-25 2022-08-16 一种资源创建方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111415947.5A CN116166409A (zh) 2021-11-25 2021-11-25 一种资源创建方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116166409A true CN116166409A (zh) 2023-05-26

Family

ID=86418767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111415947.5A Pending CN116166409A (zh) 2021-11-25 2021-11-25 一种资源创建方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN116166409A (zh)
WO (1) WO2023093139A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147915A1 (en) * 2006-09-29 2008-06-19 Alexander Kleymenov Management of memory buffers for computer programs
CN104301102B (zh) * 2013-07-19 2019-03-15 ***通信集团北京有限公司 Widget通信方法、装置及***
CN112015663B (zh) * 2020-09-15 2024-03-15 平安银行股份有限公司 测试数据录制方法、装置、设备及介质
CN113296798B (zh) * 2021-05-31 2022-04-15 腾讯科技(深圳)有限公司 一种服务部署方法、装置及可读存储介质

Also Published As

Publication number Publication date
WO2023093139A1 (zh) 2023-06-01

Similar Documents

Publication Publication Date Title
US20240048560A1 (en) Systems and methods for endpoint management
JP5635978B2 (ja) 人間が介入しないアプリケーションのための認証されたデータベース接続
US10536271B1 (en) Silicon key attestation
WO2021219086A1 (zh) 基于区块链的数据传输方法和***
US9521032B1 (en) Server for authentication, authorization, and accounting
US10404689B2 (en) Password security
CN110069909B (zh) 一种免密登录第三方***的方法及装置
CN109831435B (zh) 一种数据库操作方法、***及代理服务器和存储介质
CN110908786A (zh) 一种智能合约调用方法、装置及介质
US10579830B1 (en) Just-in-time and secure activation of software
CN109474600B (zh) 一种账号绑定方法、***、装置及其设备
US20220029808A1 (en) System, Product and Method for Providing Secured Access to Data
CN109842616B (zh) 账号绑定方法、装置及服务器
CN111669351A (zh) 一种鉴权方法及相关设备
WO2023093500A1 (zh) 一种访问验证方法及装置
CN113591121A (zh) 一种资源访问权限的配置方法、装置、设备和存储介质
CN116192483A (zh) 认证鉴权方法、装置、设备及介质
EP3048553A1 (en) Method for distributing applets, and entities for distributing applets
CN111414640A (zh) 秘钥访问控制方法和装置
WO2016045042A1 (zh) 一种安全单元中内容管理的方法及装置
CN112637167A (zh) ***登录方法、装置、计算机设备和存储介质
CN109802927B (zh) 一种安全服务提供方法及装置
CN114584313B (zh) 一种设备物理身份认证方法、***、装置及第一平台
US20220353081A1 (en) User authentication techniques across applications on a user device
KR102468823B1 (ko) 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램

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