本申请涉及计算机技术领域,具体涉及一种程序启动方法、程序授权方法、装置和电子设备。
背景技术:
现有技术中,用户在向软件开发商购买正版软件之后,通常会收到软件开发商发送的授权文件,并可基于授权文件在物理机上启动所购买的软件。在用户使用所购买的软件的过程中,所述授权文件通常会对软件所提供的服务的并发量进行限制,例如,当用户购买的是语音转文字的软件时,所述授权文件可以限制语音转文字的最大并发量为n条,当物理机同一时间接收到的语音转文字的请求数量超过n时,将造成排队。
基于此,用户为了增大软件所提供的服务的并发量,通常会基于容器对所购买的软件进行部署,在该容器获得软件开发商的授权之后,用户可以在同一物理机上对该容器进行镜像,从而得到多个成功授权的容器。这样,用户可以通过同时启动多个容器提供服务,由于每个成功授权的容器均能够提供授权文件所限制的最大并发量的服务,从而有效的增大了物理机所提供的服务的最大并发量。然而,用户采用此种方式获得的大并发量的服务严重侵犯了软件开发商的合法权益。可见,现有的软件授权机制存在授权效果较差的问题。
技术实现要素:
本申请提供的一种程序启动方法、程序授权方法、装置和电子设备,可以解决现有的软件授权机制存在的授权效果较差的问题。
为了解决上述技术问题,本发明的具体实现方案如下:
第一方面,本发明实施例提供了一种程序启动方法,应用于第一服务器,所述第一服务器包括第一容器,所述方法包括:
在检测到用户基于授权文件启动所述第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
第二方面,本发明实施例还提供了一种程序授权方法,应用于第二服务器,包括:
在接收到第一服务器发送的授权请求的情况下,获取所述第一服务器的身份信息和第一容器的身份信息,其中,所述第一服务器包括所述第一容器,所述授权请求为用于请求对所述第一容器中的目标程序进行授权的请求;
基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件;
向所述第一服务器发送所述第一授权文件。
第三方面,本发明实施例还提供了一种程序授权方法,包括:
在第二服务器接收到第一服务器发送的授权请求的情况下,获取所述第一服务器中目标程序的部署指示信息;
在所述部署指示信息指示所述目标程序部署于所述第一服务器中的第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息;
所述第二服务器基于所述第一服务器的身份信息和所述第一容器的身份信息生成第一授权文件;
所述第二服务器向所述第一服务器发送所述第一授权文件;
所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验。
第四方面,本发明实施例还提供了一种程序启动装置,所述程序启动装置包括第一容器,所述装置包括:
检测模块,用于在检测到用户基于授权文件启动所述第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
第一校验模块,用于在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
启动模块,用于在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
第五方面,本发明实施例还提供了一种程序授权装置,包括:
第一获取模块,用于在接收到程序启动装置发送的授权请求的情况下,获取所述程序启动装置的身份信息和第一容器的身份信息,其中,所述程序启动装置包括所述第一容器,所述授权请求为用于请求对所述第一容器中的目标程序进行授权的请求;
第一生成模块,用于基于所述程序启动装置的身份信息和第一容器的身份信息,生成第一授权文件;
第一发送模块,用于向所述程序启动装置发送所述第一授权文件。
第六方面,本发明实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面至第三方面所述的方法步骤。
第七方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面至第三方面所述的方法步骤。
本申请实施例中,在检测到用户基于授权文件启动第一容器中的目标程序,且启动进程列表中存在所述目标程序所对应的进程信息的情况下,基于授权文件对第一容器所依附的服务器的身份信息以及第一容器的身份信息分别进行校验,并在校验成功的情况下才允许第一容器中的目标程序启动,这样,可以有效的避免用户采用镜像容器的方式增大目标程序所提供的服务的并发量的问题,从而缓解了现有的授权机制存在的授权效果较差的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的程序启动方法的流程图;
图2是本发明实施例提供的程序授权方法的流程图;
图3是本发明实施例提供的另一种程序授权方法的流程图;
图4是本发明实施例提供的程序启动装置的结构图;
图5是本发明实施例提供的程序授权装置的结构图;
图6是本发明实施例提供的另一种程序授权装置的结构图;
图7是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1是本申请实施例提供的一种程序启动方法的流程图,所述方法应用于第一服务器,所述第一服务器包括第一容器,所述方法包括:
步骤101、在检测到用户基于授权文件启动所述第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
步骤102、在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
步骤103、在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
上述目标程序是由软件开发商所开发的、需要授权许可才能正常运行的应用程序,相应地,上述第一服务器可以是购买所述目标程序的用户的服务器,用户通过购买所述目标程序,并将目标程序部署于第一服务器,以便于使用目标程序所提供的相应服务。例如,所述目标程序可以为用户提供语音转文字的服务、计算服务等常见的后台服务。
上述第一服务器的身份信息可以是第一服务器的id或者主机的硬件序列号等信息。上述第一容器可以是指部署于第一服务器中的虚拟机,上述第一容器的身份信息可以是指第一容器的id,其中,服务器中容器的id是指创建容器时自动生成的,且在容器的生命周期内保持不变,因此,同一服务器中的不同的容器的id号不同。上述容器的id可以通过查看第一服务器上的源自控制组群(controlgroups,cgroups)信息进行确定。
可以理解的是,上述授权文件可以预先存储有通过授权的目标服务器的身份信息和目标容器的身份信息。具体而言,用户在将目标程序部署于目标服务器中的目标容器之后,可以向软件开发商申请授权,软件开发商在确认用户已购买目标程序的情况下,可以基于授权程序获取目标服务器的身份信息和目标容器的身份信息,并可基于目标服务器的身份信息和目标容器的身份信息生成所述授权文件,然后,可以将所生成的授权文件发送至目标服务器,以便于后续目标服务器的目标容器基于所述授权文件正常启动所述目标程序。
由于服务器重启之后,服务器中的容器的id号可能发生变化,即上述第一容器的身份信息可能会随着第一服务器的重启而发生变化。而第一容器的id发生变化时,将导致在启动目标程序的过程中无法通过授权文件对容器的身份信息进行校验的过程,如此,用户只能重新向软件开发商申请授权文件,若软件开发商授权不及时,将导致第一容器中的目标程序所提供的服务不可用的问题。
基于此,本申请实施例中,在检测到用户基于授权文件启动第一容器中的目标程序的情况下,首先检测启动进程列表中是否存在所述目标程序所对应的进程信息。若所述启动进程列表中存在所述目标程序所对应的进程信息,则所述第一服务器上存在正常运行的目标程序,即所述第一服务器能够正常提供所述目标程序所提供的服务;在此情况下,当检测到用户基于授权文件启动第一容器中的目标程序的情况下,第一容器中的授权程序会基于授权文件同时对第一服务器的身份信息和第一容器的身份信息进行校验,以避免用户采用镜像容器的方式增大目标程序所提供的服务的并发量的问题。
相应地,在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,即所述第一服务器可能发生了重启,且目前第一服务器无法正常提供所述目标程序所提供的服务,在此情况下,为避免已经通过授权的第一服务器中的服务不可用的问题。本实施例中,在进程列表中不包括所述目标程序所对应的进程信息的情况下,仅对第一服务器的身份信息进行校验,以确定所述第一服务器是否为通过授权的服务器,并在校验通过的情况下,即予以第一容器中的目标程序正常启动,从而避免已经通过授权的第一服务器中的服务不可用的问题。
应当说明的是,上述第一服务器上可以同时存在多个容器获得软件开发商的授权,当第一服务器中的多个容器上所部署的目标程序均获得了软件开发商的授权时,第一服务器上可以同时启动多个分别获得授权的目标程序。
其中,上述检测启动进程列表中是否存在所述目标服务所对应的进程信息的具体检测方法可以是:基于所述目标程序的应用名称在所述启动进程列表中进行查询,当查询到包括所述目标程序的应用名称的进程时,即可说明所述启动进程列表中存在所述目标服务所对应的进程信息;反之,当未查询到包括所述目标程序的应用名称的进程时,即可说明所述启动进程列表中不存在所述目标服务所对应的进程信息。
具体而言,上述授权文件是预先存储于第一容器中的文件,在检测到用户基于授权文件启动第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,第一容器中的授权程序可以基于所述授权文件对第一服务器的身份信息和第一容器的身份信息进行校验,以确定第一容器是否为通过授权的容器,并只有在基于授权文件对身份信息校验通过的情况下,才会运行目标程序在第一容器中启动,否则,将停止第一容器中目标程序的启动进程。
这样,当上述第一容器为基于目标容器进行镜像所获得容器时,即便所述第一容器中存在软件开发商所生成的授权文件,其中,所述目标容器为所述第一服务器中的容器,且所述目标容器中所部署的目标程序获得了软件开发商的授权。然而,由于所述第一容器与目标容器的身份信息不同,因此,第一容器中的目标程序也无法进行启动,从而无法为用户提供服务,进而避免用户采用镜像容器的方式增大目标程序所提供的服务的并发量的问题。
该实施方式中,在检测到用户基于授权文件启动第一容器中的目标程序情况下,基于授权文件对第一容器所依附的服务器的身份信息以及第一容器的身份信息分别进行校验,并在校验成功的情况下才允许第一容器中的目标程序启动,这样,可以有效的避免用户采用镜像容器的方式增大目标程序所提供的服务的并发量的问题,从而缓解了现有的授权机制存在的授权效果较差的问题。
可选地,所述基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到所述校验结果,包括:
对所述授权文件进行解密,得到第一身份信息和第二身份信息;
基于所述第一身份信息对所述第一服务器的身份信息进行校验,以及基于所述第二身份信息对所述第一容器的身份信息进行校验;
在所述第一服务器的身份信息与所述第一身份信息匹配,且所述第一容器的身份信息与所述第二身份信息匹配的情况下,输出校验成功的校验结果;
在所述第一服务器的身份信息与所述第一身份信息不匹配,或者,所述第一容器的身份信息与所述第二身份信息不匹配的情况下,输出校验失败的校验结果。
其中,软件开发商在生成上述授权文件的同时,可以对授权文件进行加密处理,以提高授权文件在传输和后续使用过程中的安全性。可以理解的是,在将上述目标程序部署于物理机的同时,通常还需要部署所述目标程序所对应的授权程序,且开发人员在所述授权程序中预先配置了授权文件的加密规则,这样,授权程序在使用授权文件对服务器的身份信息和容器的身份信息进行校验之前,可以基于所述加密规则对授权文件进行解密,从而获取所述授权文件中所记录的第一身份信息和第二身份信息,其中,所述第一身份信息可以是目标服务器的身份信息,所述第二身份信息可以是目标容器的身份信息。
可选地,所述基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果,包括:
对所述授权文件进行解密,得到第一身份信息;
基于所述第一身份信息对所述第一服务器的身份信息进行校验;
在所述第一服务器的身份信息与所述第一身份信息匹配的情况下,输出校验成功的校验结果;
在所述第一服务器的身份信息与所述第一身份信息不匹配的情况下,输出校验失败的校验结果。
具体地,在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,仅对第一服务器的身份信息进行校验。基于所述授权文件对所述第一服务器的身份信息进行校验的校验过程与上述实施例中,基于授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验的校验过程类似,其区别在于,本实施例中,在对授权文件进行解密的时候,仅获取第一身份信息,例如,当所述第一身份信息和第二身份信息分别采用不同的加密方式加密存储于授权文件时,仅对第一身份信息进行解密即可,并基于解密后的第一身份信息对第一服务器的身份信息进行校验。
请参见图2,图2为本申请实施例提供的一种程序授权方法的流程图,所述方法应用于第二服务器,所述方法包括:
步骤201、在接收到第一服务器发送的授权请求的情况下,获取所述第一服务器的身份信息和第一容器的身份信息,其中,所述第一服务器包括所述第一容器,所述授权请求为用于请求对所述第一容器中的目标程序进行授权的请求;
步骤202、基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件;
步骤203、向所述第一服务器发送所述第一授权文件。
其中,所述第二服务器可以是软件开发商的服务器,软件开发商可以通过所述第二服务器对用户的服务器中的目标程序进行管理,例如,软件开发商可以通过所述第二服务器为用户的第一服务器中部署的目标程序进行授权。
具体地,用户在购买所述目标程序,并成功将所述目标程序部署于第一容器之后,首次启动所述目标程序时,需要向软件开发商申请授权,例如,当用户首次启动目标程序时,第一容器中的授权程序可以主动向第二服务器发送授权请求,此时,第二服务器将控制第一服务器中的授权程序获取第一服务器的身份信息和第一容器的身份信息,并将所获取的第一服务器的身份信息和第一容器的身份信息发送至第二服务器。这样,第二服务器在接收到第一服务器的身份信息和第一容器的身份信息之后,可以基于第一服务器的身份信息验证所述第一服务器确定所述第一服务器是否成功购买目标程序,并在确定所述第一服务器成功购买了目标程序的情况下,基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件;然后向所述第一服务器发送所述第一授权文件。从而确保后续第一容器中所部署的目标程序可以基于第一授权文件正常启动。
可选地,所述基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件,包括:
基于第一加密方法对所述第一服务器的身份信息进行加密,得到第一加密信息;
基于第二加密方法对所述第一容器的身份信息进行加密,得到第二加密信息;
对所述第一加密信息和所述第二加密信息进行拼接,得到目标信息;
对所述目标信息进行加密,得到所述第一授权文件。
可以理解的是,上述第一加密方法和第二加密方法为不同的加密方法,其中,所述第一加密方法、第二加密方法以及对所述目标信息进行加密的方法可以是现有技术中常用的加密方法,例如,可以是aes、md5等加密方法,当然,所述加密方法也可以是开发人员自己定义的加密算法,如对明文进行bit位运算等。
该实施方式中,采用不同的加密方法分别对第一服务器的身份信息和第一容器的身份信息进行加密,并对加密之后得到的第一加密信息和第二加密信息进行拼接之后再次进行加密,从而可以进一步提高所述授权文件在传输和使用过程中的安全性。
可选地,所述在接收到第一服务器发送的授权请求的情况下,获取所述第一服务器的身份信息和第一容器的身份信息,包括:
在接收到第一服务器发送的授权请求的情况下,获取第一服务器中目标程序的部署指示信息;
在所述部署指示信息指示所述目标程序部署于所述第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息;
所述获取第一服务器中目标程序的部署指示信息之后,所述方法还包括:
在所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,获取所述第一服务器的身份信息;
基于所述第一服务器的身份信息生成第二授权文件;
向所述第一服务器发送所述第二授权文件。
具体地,第一服务器在接收到所述授权请求的情况下,可以控制所述第一服务器中的授权程序获取所述部署指示信息,其中,所述部署指示信息目标程序在第一服务器中的部署方式,当所述目标程序在第一服务器中的部署方式为容器话部署,且部署于第一容器中的情况下,可以获取所述第一服务器的身份信息和第一容器的身份信息,并基于所述第一服务器的身份信息和第一容器的身份信息生成第一授权文件。
相应地,当所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,即所述目标程序为非容器化部署,此时,由于用户无法通过镜像容器的方法增大目标程序所提供的服务的并发量,因此,仅需获取第一服务器的身份信息,并基于第一服务器的身份信息生成第二授权文件,然后,将第二授权文件发送至第一服务器。后续第一服务器可以直接基于第二授权文件启动直接部署于第一服务器上的目标程序。
上述判断目标程序在第一服务器上的部署方式可以通过查看第一服务器上的源自控制组群(controlgroups,cgroups)信息进行确定。上述第二授权文件的生成过程与上述第一授权文件的生成过程类似,为避免重复,在此不再予以赘述。
请参见图3,图3为本申请实施例提供的另一种程序授权方法,所述方法包括如下步骤:
步骤301、在第二服务器接收到第一服务器发送的授权请求的情况下,获取所述第一服务器中目标程序的部署指示信息;
步骤302、在所述部署指示信息指示所述目标程序部署于所述第一服务器中的第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息;
步骤303、所述第二服务器基于所述第一服务器的身份信息和所述第一容器的身份信息生成第一授权文件;
步骤304、所述第二服务器向所述第一服务器发送所述第一授权文件;
步骤305、所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验。
可选地,所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,包括:
所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,所述第一服务器基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
可选地,所述基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验之后,所述方法还包括:
在所述校验结果指示校验失败的情况下,停止所述第一容器中的所述目标程序的启动进程。
可选地,所述检测启动进程列表中是否存在所述目标程序所对应的进程信息之后,所述方法还包括:
在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果。
可选地,所述获取第一服务器中目标程序的部署指示信息之后,所述方法还包括:
在所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,获取所述第一服务器的身份信息;
基于所述第一服务器的身份信息生成第二授权文件;
向所述第一服务器发送所述第二授权文件。
需要说明的是,本实施例所提供的方法中的各个步骤的具体实现过程可以参照上述实施例,且能实现上述实施例中的全部有益效果,为避免重复,在此不再予以赘述。
请参见图4,图4为本申请实施例提供的一种程序启动装置400,所述程序启动装置400包括第一容器,所述装置包括:
检测模块401,用于在检测到用户基于授权文件启动所述第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
第一校验模块402,用于在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
启动模块403,用于在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
可选地,所述程序启动装置400还包括:
停止模块,用于在所述校验结果指示校验失败的情况下,停止所述第一容器中的所述目标程序的启动进程。
可选地,所述第一校验模块402,包括:
检测子模块,用于在检测到用户基于授权文件启动第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述程序启动装置400中的所有容器的进程信息;
校验子模块,用于在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述程序启动装置400的身份信息和所述第一容器的身份信息进行校验,得到所述校验结果。
可选地,所述第一校验模块402,还用于在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,基于所述授权文件对所述程序启动装置400的身份信息进行校验,得到所述校验结果。
所述校验子模块,包括:
解密单元,用于对所述授权文件进行解密,得到第一身份信息和第二身份信息;
校验单元,用于基于所述第一身份信息对所述程序启动装置400的身份信息进行校验,以及基于所述第二身份信息对所述第一容器的身份信息进行校验;
输出单元,用于在所述程序启动装置400的身份信息与所述第一身份信息匹配,且所述第一容器的身份信息与所述第二身份信息匹配的情况下,输出校验成功的校验结果;
所述输出单元,还用于在所述程序启动装置400的身份信息与所述第一身份信息不匹配,或者,所述第一容器的身份信息与所述第二身份信息不匹配的情况下,输出校验失败的校验结果。
可选地,所述解密单元,还用于对所述授权文件进行解密,得到第一身份信息;
所述校验单元,还用于基于所述第一身份信息对所述程序启动装置400的身份信息进行校验;
所述输出单元,还用于在所述程序启动装置400的身份信息与所述第一身份信息匹配的情况下,输出校验成功的校验结果;
所述输出单元,还用于在所述程序启动装置400的身份信息与所述第一身份信息不匹配的情况下,输出校验失败的校验结果。
本发明实施例提供的程序启动装置400能够实现上述方法实施例中的各个过程,为避免重复,这里不再赘述。
请参见图5,图5是本申请实施例提供的一种程序授权装置500,包括:
第一获取模块501,用于在接收到程序启动装置发送的授权请求的情况下,获取所述程序启动装置的身份信息和第一容器的身份信息,其中,所述程序启动装置包括所述第一容器,所述授权请求为用于请求对所述第一容器中的目标程序进行授权的请求;
第一生成模块502,用于基于所述程序启动装置的身份信息和第一容器的身份信息,生成第一授权文件;
第一发送模块503,用于向所述程序启动装置发送所述第一授权文件。
可选地,所述第一生成模块502,包括:
加密子模块,用于基于第一加密方法对所述程序启动装置的身份信息进行加密,得到第一加密信息;
所述加密子模块,还用于基于第二加密方法对所述第一容器的身份信息进行加密,得到第二加密信息;
拼接子模块,用于对所述第一加密信息和所述第二加密信息进行拼接,得到目标信息;
所述加密子模块,还用于对所述目标信息进行加密,得到所述第一授权文件。
可选地,所述第一获取模块501,用于在接收到程序启动装置发送的授权请求的情况下,获取程序启动装置中目标程序的部署指示信息;
所述第一获取模块501,还用于在所述部署指示信息指示所述目标程序部署于所述第一容器的情况下,获取所述程序启动装置的身份信息和所述第一容器的身份信息。
可选地,所述第一获取模块501,还用于在所述部署指示信息指示所述目标程序部署于所述程序启动装置的情况下,获取所述程序启动装置的身份信息;
所述第一生成模块502,还用于基于所述程序启动装置的身份信息生成第二授权文件;
所述第一发送模块503,还用于向所述程序启动装置发送所述第二授权文件。
本发明实施例提供的程序授权装置500能够实现上述方法实施例中的各个过程,为避免重复,这里不再赘述。
请参见图6,图6是本申请实施例提供的另一种程序授权装置600,所述程序授权装置600,包括:
第二获取模块601,用于在第二服务器接收到第一服务器发送的授权请求的情况下,获取所述第一服务器中目标程序的部署指示信息;
第三获取模块602,用于在所述部署指示信息指示所述目标程序部署于所述第一服务器中的第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息;
第二生成模块603,用于所述第二服务器基于所述第一服务器的身份信息和所述第一容器的身份信息生成第一授权文件;
第二发送模块604,用于所述第二服务器向所述第一服务器发送所述第一授权文件;
第二校验模块605,用于在所述第一服务器检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验。
可选地,所述第二校验模块605,包括:
检测子模块,用于在所述第一服务器检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
校验子模块,用于在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,所述第一服务器基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
启动子模块,用于在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
可选地,第二校验模块605,还用于在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果。
可选地,所述程序授权装置600,还包括:
停止模块,用于在所述校验结果指示校验失败的情况下,停止所述第一容器中的所述目标程序的启动进程。
可选地,所述第三获取模块602,还用于在所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,获取所述第一服务器的身份信息;
所述第二生成模块603,还用于基于所述第一服务器的身份信息生成第二授权文件;
所述第二发送模块604,还用于向所述第一服务器发送所述第二授权文件。
本发明实施例提供的程序授权装置600能够实现上述方法实施例中的各个过程,为避免重复,这里不再赘述。
参见图7,图7是本发明又一实施提供的电子设备的结构图,如图7所示,电子设备,包括:服务接口流控装置700包括:处理器701、存储器702及存储在所述存储器702上并可在所述处理器上运行的计算机程序,数据发送装置700中的各个组件通过总线接口703耦合在一起,所述计算机程序被所述处理器701执行时实现如下步骤:
在检测到用户基于授权文件启动所述第一容器中的目标程序的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序;
在所述校验结果指示校验失败的情况下,停止所述第一容器中的所述目标程序的启动进程。
可选地,所述在检测到用户基于授权文件启动第一容器中的目标程序的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果,包括:
在检测到用户基于授权文件启动第一容器中的目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到所述校验结果。
可选地,所述检测启动进程列表中是否存在所述目标程序所对应的进程信息之后,所述方法还包括:
在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果。
可选地,所述基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到所述校验结果,包括:
对所述授权文件进行解密,得到第一身份信息和第二身份信息;
基于所述第一身份信息对所述第一服务器的身份信息进行校验,以及基于所述第二身份信息对所述第一容器的身份信息进行校验;
在所述第一服务器的身份信息与所述第一身份信息匹配,且所述第一容器的身份信息与所述第二身份信息匹配的情况下,输出校验成功的校验结果;
在所述第一服务器的身份信息与所述第一身份信息不匹配,或者,所述第一容器的身份信息与所述第二身份信息不匹配的情况下,输出校验失败的校验结果。
可选地,所述基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果,包括:
对所述授权文件进行解密,得到第一身份信息;
基于所述第一身份信息对所述第一服务器的身份信息进行校验;
在所述第一服务器的身份信息与所述第一身份信息匹配的情况下,输出校验成功的校验结果;
在所述第一服务器的身份信息与所述第一身份信息不匹配的情况下,输出校验失败的校验结果。
此外,上述计算机程序被所述处理器701执行时还可以实现如下步骤:
在接收到第一服务器发送的授权请求的情况下,获取所述第一服务器的身份信息和第一容器的身份信息,其中,所述第一服务器包括所述第一容器,所述授权请求为用于请求对所述第一容器中的目标程序进行授权的请求;
基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件;
向所述第一服务器发送所述第一授权文件。
可选地,所述基于所述第一服务器的身份信息和第一容器的身份信息,生成第一授权文件,包括:
基于第一加密方法对所述第一服务器的身份信息进行加密,得到第一加密信息;
基于第二加密方法对所述第一容器的身份信息进行加密,得到第二加密信息;
对所述第一加密信息和所述第二加密信息进行拼接,得到目标信息;
对所述目标信息进行加密,得到所述第一授权文件。
可选地,所述在接收到第一服务器发送的授权请求的情况下,获取所述第一服务器的身份信息和第一容器的身份信息,包括:
在接收到第一服务器发送的授权请求的情况下,获取第一服务器中目标程序的部署指示信息;
在所述部署指示信息指示所述目标程序部署于所述第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息。
可选地,所述获取第一服务器中目标程序的部署指示信息之后,所述方法还包括:
在所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,获取所述第一服务器的身份信息;
基于所述第一服务器的身份信息生成第二授权文件;
向所述第一服务器发送所述第二授权文件。
此外,上述计算机程序被所述处理器701执行时还可以实现如下步骤:
在第二服务器接收到第一服务器发送的授权请求的情况下,获取所述第一服务器中目标程序的部署指示信息;
在所述部署指示信息指示所述目标程序部署于所述第一服务器中的第一容器的情况下,获取所述第一服务器的身份信息和所述第一容器的身份信息;
所述第二服务器基于所述第一服务器的身份信息和所述第一容器的身份信息生成第一授权文件;
所述第二服务器向所述第一服务器发送所述第一授权文件;
所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验。
可选地,所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,包括:
所述第一服务器在检测到用户基于所述第一授权文件启动所述第一容器中的所述目标程序的情况下,检测启动进程列表中是否存在所述目标程序所对应的进程信息,其中,所述启动进程列表包括所述第一服务器中的所有容器的进程信息;
在所述启动进程列表中包括所述目标程序所对应的进程信息的情况下,所述第一服务器基于所述第一授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验,得到校验结果;
在所述校验结果指示校验成功的情况下,启动所述第一容器中的所述目标程序。
可选地,所述基于所述授权文件分别对所述第一服务器的身份信息和所述第一容器的身份信息进行校验之后,所述方法还包括:
在所述校验结果指示校验失败的情况下,停止所述第一容器中的所述目标程序的启动进程。
可选地,所述检测启动进程列表中是否存在所述目标程序所对应的进程信息之后,所述方法还包括:
在所述启动进程列表中不包括所述目标程序所对应的进程信息的情况下,基于所述授权文件对所述第一服务器的身份信息进行校验,得到所述校验结果。
可选地,所述获取第一服务器中目标程序的部署指示信息之后,所述方法还包括:
在所述部署指示信息指示所述目标程序部署于所述第一服务器的情况下,获取所述第一服务器的身份信息;
基于所述第一服务器的身份信息生成第二授权文件;
向所述第一服务器发送所述第二授权文件。
本发明实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。