CN117725564A - 软件的管理方法、装置、电子设备及存储介质 - Google Patents

软件的管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117725564A
CN117725564A CN202311775999.2A CN202311775999A CN117725564A CN 117725564 A CN117725564 A CN 117725564A CN 202311775999 A CN202311775999 A CN 202311775999A CN 117725564 A CN117725564 A CN 117725564A
Authority
CN
China
Prior art keywords
software
service software
service
terminal
request message
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
CN202311775999.2A
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202311775999.2A priority Critical patent/CN117725564A/zh
Publication of CN117725564A publication Critical patent/CN117725564A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种软件的管理方法、装置、电子设备及存储介质,属于软件管理技术领域,为运行在“云”、虚拟机等虚拟运行环境的业务软件提供物理锚点,用以保护和管理业务软件。所述方法包括:接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;对所述第一心跳请求消息进行校验;在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。

Description

软件的管理方法、装置、电子设备及存储介质
技术领域
本申请属于软件管理技术领域,具体涉及一种软件的管理方法、装置、电子设备及存储介质。
背景技术
随着虚拟化和云计算/云服务在企业信息化中的应用越来越深入,软件企业研发的业务软件部署在虚拟机、云计算/云服务及物理服务器等运行环境的场景应用越来越多。软件保护管理一直是软件企业非常关心的问题,由此产生各种各样的软件保护管理技术,比如加/解密、加/解壳、软件授权、激活码、安全锁、安全证书、绑定设备硬件指纹等等。
这些软件保护管理技术大多应用在可以准确获取运行业务软件的设备指纹的场景。由于没有可靠的物理锚点,这些技术在虚拟化、云服务等虚拟应用的运行场景往往出现不适用现象,比如在虚拟环境下克隆出几乎完全相同的运行环境,会产生业务软件被盗用、被克隆的问题。
发明内容
本申请实施例提供一种软件的管理方法、装置、电子设备及存储介质,为部署运行在虚拟环境上的业务软件提供物理锚点,保护业务软件的运行,能够解决业务软件被盗用、被克隆的问题。
第一方面,本申请实施例提供了一种软件的管理方法,该方法包括:接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;对所述第一心跳请求消息进行校验;在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
第二方面,本申请实施例提供了一种软件的管理装置,该装置包括:接收模块,用于接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;通信模块,用于响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信。处理模块,用于对所述第一心跳请求消息进行校验;发送模块,用于在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器、存储在所述存储器上并可在所述处理器上运行的程序或指令及存储在所述存储器上的业务软件,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,通过接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;对所述第一心跳请求消息进行校验;在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务,终端对业务软件提供心跳保护,可以解决业务软件被克隆、被盗用的问题,同时由于在同一时间内业务软件的软件授权码对应一个终端与业务软件之间的长连接通信,即使业务软件被克隆盗用,同一个软件授权码在同一时间只能用于一个长连接通信,由此可以实现保护业务软件避免被盗用、被克隆。
附图说明
图1是本申请实施例提供的一种软件的管理方法的流程示意图;
图2是本申请实施例提供的一种终端的结构示意图;
图3是本申请实施例提供的一种信息交互模型示意图;
图4是本申请实施例提供的一种软件管理模型示意图;
图5是本申请实施例提供的一种业务软件的保护流程示意图;
图6是本申请实施例提供的一种上传业务软件的流程示意图
图7是本申请实施例提供的一种业务软件部署安装流程示意图;
图8是本申请实施例提供的一种业务软件更新流程示意图;
图9是本申请实施例提供的一种软件的管理装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的软件的管理方法、装置、电子设备及存储介质进行详细地说明。
图1示出本申请的一个实施例提供的一种软件的管理方法,该方法可以由终端执行。换言之,该方法可以由安装在终端的软件或硬件来执行,该方法包括如下步骤:
步骤102:接收部署在运行环境上的业务软件发送的第一心跳请求消息。
为了方便描述,在本申请实施例中将部署和运行业务软件的虚拟机、云计算/云服务及物理运行环境统称为“运行环境”,即指可以部署和运行业务软件的环境,该环境满足运行业务软件的要求,既可以是虚拟环境,也可以是物理机环境,在此不对部署业务软件的环境作具体限定。
在本申请实施例中,提供了一种用于软件管理的终端,如图2所示的终端结构示意图,终端包括中央处理器(Central Processing Unit,CPU)、内存、加密芯片、网口(也可以是光口、也可以是RJ45网络接口)、USB接口和存储介质。在终端中,网口的数量可以为两个,其中一个网口用于与内部网络通信,另一个网口用于与外部网络通信,两个网口通信公用存储介质,通过存储介质实现内部和外部之间的信息转换。一般通过外部网络登录终端,实现将软件企业的业务软件上传到终端,通过内部网络登录终端,将存储在终端的业务软件部署到运行环境等内部网络。通过两个网口的设计,可以实现物理隔离内/外部通信,提高网络安全。但是本申请实施例不局限两个网口中一个进行外网通信,一个进行内网通信,两个网口可以自由配置。
在本申请实施例提供的终端中,加密芯片用于对终端的信息、信令等内容进行加/解密,终端与外部网络交换的所有报文均是密文,使用加密芯片进行加、解密。终端支持通过浏览器登录。使用浏览器登录终端,需要提供登录用户名、密码和终端的序列号等信息。项目运维通过浏览器登录终端,管理业务软件和用户登录信息。软件企业人员通过浏览器登录终端,上传业务软件。存储介质用于存放业务软件。可以根据需求配置不同容量大小的存储介质。本终端也可以支持无线模块、也可以支持HDMI接口、VGA接口等。上述终端支持生成临时登录用户名和密码,临时用户名和密码逾期后失效不可用。该终端支持设置外部网络登录终端的时间和使用时间,在指定时间允许指定用户登录终端。当使用时间超时后,该终端可以自动关闭登录服务,拒绝外部网络的登录,提高网络安全性。
图3示出本申请实施例提供的一种信息交互模型,如图3所示,终端与软件企业通过网络进行交互,交互的信息全部采用密文,在本申请实施例中不再赘述。终端与业务软件通过网络进行交互,信令交互采用软件授权码、终端的序列号进行双向认证。终端与业务软件之间,可以采用密文交互,也可以采用明文交互。在本申请实施例中,业务软件可以部署在云服务、虚拟机等虚拟环境或者物理机。项目运维可以登录、管理终端。运维人员通过本终端管理业务软件,比如部署业务软件、更新业务软件版本。为了方便项目上业务软件的灵活部署,本终端不限制运行业务软件的网络信息。业务软件可以部署在虚拟机、云服务或物理机上面。本终端只对业务软件的版本信息和软件授权码进行校验。
图4示出本申请实施例提供的一种基于终端的软件管理模型示意图,如图4所示,当软件企业发布更新业务软件版本后,联系项目运维人员,与运维人员约定登录时间和使用时间。项目运维登录终端生成一个临时登录信息,提供给软企人员。项目运维人员设置允许终端外部网络的访问时间和使用时间。软企人员使用临时登录信息通过浏览器登录终端,将业务软件上传到终端。在超过使用时间后,临时登录信息失效,不再可用。同时,在超过使用时间后,终端的外部网络访问权限被收回,不再响应外部网络的登录请求。终端接收、校验业务软件信息,将业务软件存入终端存储介质,并通过内部网络向运维人员发送软件版本更新的提示消息。项目运维人员收到软件版本更新消息后,判断是否需要更新软件版本。如果需要更新软件版本,通过终端将业务软件自动更新到部署在运行环境的业务软件。
为了防止业务软件被克隆盗用,损害软件企业的利益,本终端对外提供心跳保护逻辑。业务软件启动后,每隔一定的时间间隔向终端发送第一心跳请求消息,终端接收部署在运行环境上的业务软件发送的第一心跳请求消息,该第一心跳请求消息可以包括业务软件的软件授权码和终端的序列号。软件授权码是终端在自动化部署业务软件的过程中生成的信息码,用于唯一标识运行在指定环境的业务软件。软件授权码采用UUID4格式。显然,软件授权码也可以采用行业通用的标准格式或其他格式。
步骤104:响应于所述第一心跳请求消息,与所述业务软件建立长连接通信。
具体的,当终端接收到业务软件发送的第一心跳请求消息后,可以与在运行环境中部署的业务软件建立长连接通信,该长连接通信可以是传输控制协议(TransmissionControl Protocol,TCP)长连接通信,其中,在同一时间的软件授权码对应一个长连接通信。这样即使业务软件被克隆盗用,同一个软件授权码在同一时间内只能创建维护一个长连接通信,能够起到保护业务软件的作用。
步骤106:对所述第一心跳请求消息进行校验。
具体的,对第一心跳请求消息进行校验,即对第一心跳请求消息中携带的软件授权码、终端的序列号进行校验。
步骤108:在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
具体的,终端对接收到的第一心跳请求消息进行校验,如果检验结果为第一心跳请求消息携带的软件授权码不存在或不在有效期内,或者第一心跳请求消息携带的终端的序列号不正确,可以认为第一心跳请求消息异常,此时可以向业务软件返回异常消息或者不返回消息,并中断长连接。业务软件接收到异常消息后,会中止正在运行的业务,并向项目部运维发送业务中止的消息。此外,对于部署在运行环境的业务软件,如果在发送第一心跳请求消息后,在预定的时间内未收到返回的消息,同样中止正在运行的业务,并向项目运维发送业务中止的消息。项目运维人员收到业务软件中止的告警消息后,可以对终端和业务软件进行检查、处理。
图5示出本申请实施例提供的一种业务软件的保护流程示意图,如图5所示,本终端约定,对外提供心跳保护机制。业务软件启动后,每隔一定的时间向终端发送第一心跳请求消息,消息报文中携带软件授权码和终端的序列号。终端收到第一心跳请求消息后,对软件授权码、序列号进行校验。如果软件授权码存在,且在有效期,返回OK消息。业务软件收到OK消息后,继续正常运行。如果软件授权码不存在或不在有效期内,则返回异常消息。业务软件收到异常消息后,中止正在运行的业务,并向项目运维发送业务中止的告警消息。如果业务软件发送第一心跳请求消息后,在约定的时间内未收到返回的消息,同样中止正在运行的业务,并向项目运维发送业务中止的告警消息。项目运维人员收到业务软件中止的消息后,对终端和业务软件进行检查、处理。
本申请实施例提供的软件的管理方法,通过接收业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和终端的序列号;响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;对所述第一心跳请求消息进行校验;在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息,以使所述业务软件中止运行的业务,采用TCP长连接通信的方式对业务软件提供心跳保护,当业务软件发送第一心跳请求消息后,该长连接通信一直存活,当终端再次接收到相同的软件授权码对应的第一心跳请求消息后,之前的长连接通信将断开,并新建TCP长连接通信。这样即使业务软件被克隆盗用,同一个软件授权码在同一时间内只能创建维护一个长连接通信,能够起到虚拟化、云服务或者物理机场景下保护业务软件的作用,解决业务软件被盗用、被克隆的问题。为运行在“云”、虚拟机等虚拟运行环境的业务软件提供物理锚点,可以实现保护和管理业务软件。
在一种实现方式中,在所述接收业务软件发送的第一心跳请求消息之前,还包括:
接收浏览器发送的第一登录请求;在对所述登录请求携带的所述终端的序列号、登录信息进行校验成功的情况下,向所述浏览器返回不可逆加密参数;接收所述浏览器发送的第二登录请求,所述第二登录请求包括不可逆报文,所述不可逆报文为对所述不可逆加密参数进行加密得到的;在对所述不可逆报文进行校验成功的情况下,向所述浏览器返回访问令牌;接收浏览器发送的所述业务软件的版本信息和所述访问令牌;在对所述业务软件的版本信息和所述访问令牌进行校验成功的情况下,接收所述浏览器上传的业务软件和所述业务软件对应的软件授权码的数量阈值;将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
当软件企业发布业务软件后,软件企业的技术支持人员(下面简称软企人员)需要使用浏览器登录到终端以将业务软件上传到终端。具体的,图6示出本申请实施例提供的一种上传业务软件的流程示意图。如图6所示,软企人员在登录终端前,联系项目运维人员。项目运维人员登录终端生成一个临时的登录信息(登录用户名及密码),并设置允许登录终端的时间和使用时间。软企人员在登录终端时,使用浏览器请求登录,即向终端发送第一登录请求,终端可以接收上述第一登录请求,该第一登录请求中携带有终端的序列号、登录信息,等。上传业务软件的整个交互过程中,终端与浏览器采用TCP短连接,如果中途出现中断或异常,需要重新登录。如果连续登录5次均失败,则将浏览器的IP和登录的终端的序列号锁定,例如可以锁定30分钟。终端收到第一登录请求后,对第一登录请求中携带的序列号进行校验。如果校验失败,返回404错误。如果校验成功,返回401,并向浏览器返回不可逆加密参数。
上述不可逆加密参数可以是用于不可逆加密用的多个随机字符串,字符串的数量、每个字符串的长度和字符串的内容可以是随机生成。软企人员可以通过浏览器对不可逆加密参数进行不可逆加密,得到不可逆加密报文,之后再次向终端发送第二登录请求,该第二登录请求中包括不可逆加密报文。终端对接收到的不可逆报文进行校验,校验通过后,返回访问使用的访问令牌。浏览器工具收到访问令牌后,携带访问令牌和业务软件的版本信息请求上传业务软件。终端对访问令牌及业务软件的版本信息校验成功后,同意接收业务软件。此时,浏览器可以将业务软件、采购的软件授权码的数量阈值、业务软件的版本信息等上传到终端。终端接收到业务软件之后,可以将业务软件、软件授权码的数量阈值和业务软件的版本信息存储至终端存储介质,并向项目运维发送接收到业务软件的提示消息。
此外,软件企业可以根据项目用户的采购量在终端设置了软件授权码的数量阈值。在出厂时,在终端中可以预安装业务软件,并设置软件授权码的数量阈值,即业务软件的采购数量,终端开箱即可用
出于安全方面的考量,在日常工作中,终端的外部网口可以被项目运维人员中断,外部无法访问,由此减少被网络攻击的可能。当业务软件更新时,可以由软件企业的技术支持人员联系项目运维人员,约定登录时间和时长。在业务软件上传完成后,再次自动中断外部网络接口。这样,通过本申请实施例中的终端,可以实现对业务软件的管理,支持业务软件的自动化上传和存储。
在一种实现方式中,在所述接收部署在运行环境上的业务软件发送的第一心跳请求消息之前,还包括:接收外接保护锁设备导入的所述业务软件的版本信息、所述业务软件对应的软件授权码的数量阈值和所述终端的序列号;对所述业务软件的版本信息和所述终端的序列号进行校验;在校验成功的情况下,将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
具体的,本终端对外提供标准协议,可以管理支持、集成本标准协议的第三方业务软件。当其他厂家新增的第三方业务软件准备导入到本终端时,由其他厂家按照约定的协议格式提供软件版本信息给项目用户,项目用户将业务软件、软件版本信息和采购的软件授权码的数量阈值告知本终端厂家,由终端厂家制作类似U盾的保护锁设备,将第三方业务软件、业务软件的版本信息、软件授权码的数量阈值和终端的序列号(指纹)等烧录至类似U盾的保护锁。之后将类似U盾的保护锁提供给项目运维导入到终端。软件授权码可以在终端中销毁。当运行环境发生变化,项目运维在终端上面将之前的软件授权码销毁。类似U盾的保护锁,只可烧录一次,只有读权限。
类似U盾的保护锁,用于将新增的业务软件和软件授权码数量导入到本终端。类似U盾的保护锁插入终端,终端对保护锁设备中携带的终端的序列号(指纹)及软件的版本信息等进行校验。如果校验失败,则提示错误信息。如果校验成功,则展示导入的软件版本信息。将第三方的业务软件、业务软件的版本信息和软件授权码的数量阈值存储至终端存储介质。本申请实施例中,终端支持USB等接口。软件企业可以按照约定的协议将业务软件版本信息及业务软件存入U盘。将U盘提供给项目运维人员。项目运维人员将存储有业务软件版本信息及业务软件的U盘插入终端,通过U盘的方式将业务软件导入到终端,但是不允许设置授权码数量。在软件产品类型较多的项目上,本终端可以管理符合本协议要求的所有的应用业务软件。这样可以实现多种方式的业务软件上传到终端。在一种实现方式中,在所述将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质之后,还包括:响应于将所述业务软件部署到运行环境上的信令,从所述终端存储介质中将所述业务软件上传到所述运行环境的目标路径;为所述业务软件分配所述软件授权码;将所述终端的序列号、软件授权码和所述业务软件的版本信息作为所述业务软件的配置文件上传到所述运行环境的指定目录,成为业务软件的一部分;在所述运行环境上启动所述业务软件。
具体的,本申请实施例中的终端支持自动化安装部署业务软件。项目运维人员可以配置部署业务软件的运行环境,设置允许终端的登录、写入、可执行权限,并配置软件部署的目标路径,比如常用的SFTP、FTP、SSH登录、可执行、读写权限。运维人员使用浏览器登录终端安装部署业务软件的整个交互过程采用TCP短连接,如果中途出现中断或异常,需要重新登录。运维人员登录终端时,需要携带终端的序列号、用户名和密码。如图7所示的业务软件部署安装流程示意图,终端收到登录请求后,对请求报文中的序列号进行校验。如果校验失败,返回404错误。如果连续5次失败,将对方的IP锁定30分钟,将登录的用户名和序列号锁定30分钟。运维人员登录终端后,选择业务软件的版本、配置准备部署业务软件的运行环境信息及目标路径,之后确认部署业务软件。终端收到自动化部署业务软件的信令,登录到运行环境,从终端存储介质中将业务软件上传到运行环境的目标路径。终端将终端的序列号、业务软件的软件授权码和版本信息等内容上传到运行环境的指定目录,作为业务软件的配置文件之一,成为业务软件的一部分。在业务软件部署到运行环境之后,终端启动部署在运行环境上面的业务软件,之后业务软件启动运行。
这样,通过响应于将业务软件部署到运行环境的信令,从终端存储介质中将业务软件上传到运行环境的目标路径,为业务软件分配软件授权码,将终端的序列号、软件授权码和业务软件的版本信息作为业务软件的配置文件上传到运行环境的目标目录,在运行环境上启动业务软件,实现了业务软件的自动化部署。
在一种实现方式中,所述为所述业务软件分配所述软件授权码,包括:
每部署一次所述业务软件,为所述业务软件分配一个对应的软件授权码,其中,在已为所述业务软件分配的软件授权码的数量大于所述数量阈值的情况下,禁止部署所述业务软件;在所述响应于所述第一心跳请求消息,与所述业务软件建立长连接通信之后,还包括:在接收到所述业务软件发送的第二心跳请求消息情况下,断开与所述业务软件已经建立的长连接通信,其中,所述第二心跳请求消息携带的软件授权码与所述第一心跳请求消息中携带的软件授权码相同;根据所述第二心跳请求消息,重新与所述业务软件建立长连接通信。
在部署业务软件到运行环境上时,每部署一次所述业务软件,为所述业务软件分配一个对应的软件授权码,此时可分配的软件授权码的数量减去1个。当已分配的软件授权码的数量达到采购数量,即已为业务软件分配的软件授权码的数量大于软件授权码的数量阈值的情况下,禁止部署所述业务软件,由此起到保护软件的目的。此外,业务软件版本的升级、回退等操作,不影响软件授权码。即业务软件在某个环境下运行存续期间,软件授权码唯一且不变。
在本申请实施例中,在响应于第一心跳请求消息,与业务软件建立长连接通信之后,若再接收到业务软件发送的第二心跳请求消息,并且该第二心跳请求消息携带的软件授权码与第一心跳请求消息中携带的软件授权码相同,则断开与业务软件已经建立的长连接通信。根据第二心跳请求消息,重新与业务软件建立长连接通信。也就是说,在本申请实施例中,当业务软件发送心跳请求消息后,终端与业务软件的长连接通信一直存活。当业务软件使用相同的软件授权码再次请求且终端接收到业务软件的再次请求后,之前的长连接通信将断开,并新建TCP长连接通信,这样即使业务软件被克隆盗用,同一个软件授权码在同一时间内只能创建维护一个心长连接通信,由此起到保护业务软件的目的。
在一种实现方式中,在所述将所述业务软件和所述业务软件的版本信息存储至终端存储介质之后,还包括:响应于更新运行环境中待更新业务软件的信令,通过所述终端的序列号和所述待更新业务软件的软件授权码登录所述待更新业务软件;在登录所述待更新业务软件成功的情况下,将所述终端存储介质中业务软件的版本数据发送至所述待更新业务软件,以使所述待更新业务软件根据所述业务软件的版本数据更新为所述业务软件。
具体的,在当终端将软企人员上传的软件版本信息和业务软件存储到终端存储介质后,对软件版本信息和业务软件进行必要的MD5校验。如图8所示的业务软件更新流程示意图,对业务软件进行校验完成后,向项目运维发送业务软件版本更新的提示消息。项目运维收到业务软件更新的消息后,对业务软件版本信息进行甄别,判断是否需要更新业务软件版本及更新时间。如果需要更新业务软件版本,向终端发送更新业务软件的信令。信令中包括需要升级的待更新业务软件的网络地址和软件授权码信息等内容。终端收到更新运行环境中待更新业务软件的信令后,开始对业务软件进行升级。终端携带待更新业务软件的软件授权码和终端的序列号登录待更新业务软件。业务软件对软件授权码、终端的序列号等信息进行校验,校验通过后允许之后的访问。终端向待更新业务软件请求更新软件版本,之后向业务软件发送新的业务软件和版本信息。待更新业务软件接收到新的业务软件和版本信息后,进行软件版本的升级。在业务软件版本升级完成后,终端发送重启业务的消息。业务软件进行重启。终端退出本次软件升级操作,完成软件版本的升级过程。业务软件的版本更新过程,适用于业务软件的任何版本。项目运维人员在终端选择要求运行的业务软件版本,并开启软件更新过程,实现了业务软件的自动化更新升级。
在一种实现方式中,还包括:通过所述终端的序列号和软件授权码登录部署在所述运行环境上的所述业务软件;向部署在所述运行环境上的所述业务软件请求查询版本信息;接收所述业务软件发送的所述业务软件的版本信息;根据终端存储介质中的所述业务软件的版本信息对所述业务软件发送的所述业务软件的版本信息进行核对验证。
具体的,如图7或者图8所示,无论是将业务软件部署到运行环境上后,还是将待更新业务软件更新为新版的业务软件后,终端都可以通过软件授权码和终端序列号登录部署在所述运行环境上的所述业务软件,向在所述运行环境上的所述业务软件请求查询版本信息,终端在接收到业务软件发送的版本信息之后,可以根据终端存储介质中存储的业务软件的版本信息对业务软件发送的版本信息就行核对验证,保证了运行环境中安装的业务软件的版本正确性。
需要说明的是,本申请实施例提供的软件的管理方法,执行主体可以为软件的管理装置,或者该软件的管理装置中的用于执行软件的管理方法的控制模块。本申请实施例中以软件的管理装置执行软件的管理方法为例,说明本申请实施例提供的软件的管理装置。
图9是根据本申请实施例的软件的管理装置的结构示意图。如图9所示,软件的装置900包括:接收模块910、通信模块920、处理模块930和发送模块940。
接收模块910,用于接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;通信模块920,用于响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;处理模块930,用于对所述第一心跳请求消息进行校验;发送模块940,用于在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
在一种实现方式中,所述处理模块930,还用于接收浏览器发送的第一登录请求;在对所述登录请求携带的所述终端的序列号、登录信息进行校验成功的情况下,向所述浏览器返回不可逆加密参数;接收所述浏览器发送的第二登录请求,所述第二登录请求包括不可逆报文,所述不可逆报文为对所述不可逆加密参数进行加密得到的;在对所述不可逆报文进行校验成功的情况下,向所述浏览器返回访问令牌;接收浏览器发送的所述业务软件的版本信息和所述访问令牌;在对所述业务软件的版本信息和所述访问令牌进行校验成功的情况下,接收所述浏览器上传的业务软件和所述业务软件对应的软件授权码的数量阈值;将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
在一种实现方式中,所述处理模块930,用于接收外接保护锁设备导入的所述业务软件的版本信息、所述业务软件对应的软件授权码的数量阈值和所述终端的序列号;对所述业务软件的版本信息和所述终端的序列号进行校验;在校验成功的情况下,将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
在一种实现方式中,所述处理模块930,还用于响应于将所述业务软件部署到运行环境上的信令,从所述终端存储介质中将所述业务软件上传到所述运行环境的目标路径;为所述业务软件分配所述软件授权码;将所述终端的序列号、软件授权码和所述业务软件的版本信息作为所述业务软件的配置文件上传到所述运行环境的目标目录;在所述运行环境上启动所述业务软件。
在一种实现方式中,所述处理模块930,用于每部署一次所述业务软件,为所述业务软件分配一个对应的软件授权码,其中,在已为所述业务软件分配的软件授权码的数量大于所述数量阈值的情况下,禁止部署所述业务软件;所述处理模块930,还用于:在接收到所述业务软件发送的第二心跳请求消息情况下,断开与所述业务软件已经建立的长连接通信,其中,所述第二心跳请求消息携带的软件授权码与所述第一心跳请求消息中携带的软件授权码相同;根据所述第二心跳请求消息,重新与所述业务软件建立长连接通信。
在一种实现方式中,所述处理模块930,还用于响应于更新运行环境中待更新业务软件的信令,通过所述终端的序列号和所述待更新业务软件的软件授权码登录所述待更新业务软件;在登录所述待更新业务软件成功的情况下,将所述终端存储介质中业务软件的版本数据发送至所述待更新业务软件,以使所述待更新业务软件根据所述业务软件的版本数据更新为所述业务软件。
在一种实现方式中,所述处理模块930,还用于通过所述终端的序列号和软件授权码登录部署在所述运行环境上的所述业务软件;向部署在所述运行环境上的所述业务软件请求查询版本信息;接收所述业务软件发送的所述业务软件的版本信息;根据终端存储介质中的所述业务软件的版本信息对所述业务软件发送的所述业务软件的版本信息进行核对验证。
本申请实施例中的软件的管理装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器虚拟环境、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的软件的管理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的软件的管理装置能够实现图1至图8的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图10所示,本申请实施例另提供一种电子设备1000,包括处理器1001和存储器1002,存储器1002上存储有可在所述处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时实现:接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;对所述第一心跳请求消息进行校验;在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
在一种实现方式中,在所述接收业务软件发送的第一心跳请求消息之前,接收浏览器发送的第一登录请求;在对所述登录请求携带的所述终端的序列号、登录信息进行校验成功的情况下,向所述浏览器返回不可逆加密参数;接收所述浏览器发送的第二登录请求,所述第二登录请求包括不可逆报文,所述不可逆报文为对所述不可逆加密参数进行加密得到的;在对所述不可逆报文进行校验成功的情况下,向所述浏览器返回访问令牌;接收浏览器发送的所述业务软件的版本信息和所述访问令牌;在对所述业务软件的版本信息和所述访问令牌进行校验成功的情况下,接收所述浏览器上传的业务软件和所述业务软件对应的软件授权码的数量阈值;将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
在一种实现方式中,在所述接收部署在运行环境上的业务软件发送的第一心跳请求消息之前,接收外接保护锁设备导入的所述业务软件的版本信息、所述业务软件对应的软件授权码的数量阈值和所述终端的序列号;对所述业务软件的版本信息和所述终端的序列号进行校验;在校验成功的情况下,将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
在一种实现方式中,在所述将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质之后,响应于将所述业务软件部署到运行环境上的信令,从所述终端存储介质中将所述业务软件上传到所述运行环境的目标路径;为所述业务软件分配所述软件授权码;将所述终端的序列号、软件授权码和所述业务软件的版本信息作为所述业务软件的配置文件上传到所述运行环境的目标目录;在所述运行环境上启动所述业务软件。
在一种实现方式中,每部署一次所述业务软件,为所述业务软件分配一个对应的软件授权码,其中,在已为所述业务软件分配的软件授权码的数量大于所述数量阈值的情况下,禁止部署所述业务软件;在所述响应于所述第一心跳请求消息,与所述业务软件建立长连接通信之后,在接收到所述业务软件发送的第二心跳请求消息情况下,断开与所述业务软件已经建立的长连接通信,其中,所述第二心跳请求消息携带的软件授权码与所述第一心跳请求消息中携带的软件授权码相同;根据所述第二心跳请求消息,重新与所述业务软件建立长连接通信。
在一种实现方式中,所述将所述业务软件和所述业务软件的版本信息存储至终端存储介质之后,响应于更新运行环境中待更新业务软件的信令,通过所述终端的序列号和所述待更新业务软件的软件授权码登录所述待更新业务软件;在登录所述待更新业务软件成功的情况下,将所述终端存储介质中业务软件的版本数据发送至所述待更新业务软件,以使所述待更新业务软件根据所述业务软件的版本数据更新为所述业务软件。
在一种实现方式中,通过所述终端的序列号和软件授权码登录部署在所述运行环境上的所述业务软件;向部署在所述运行环境上的所述业务软件请求查询版本信息;接收所述业务软件发送的所述业务软件的版本信息;根据终端存储介质中的所述业务软件的版本信息对所述业务软件发送的所述业务软件的版本信息进行核对验证。
具体执行步骤可以参见上述业务软件的管理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括:服务器、PC、终端或除终端之外的其他设备。
以上电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如,输入单元,可以包括图形处理器(Graphics Processing Unit,GPU)和麦克风,显示单元可以采用液晶显示器、有机发光二极管等形式来配置显示面板。用户输入单元包括触控面板以及其他输入设备中的至少一种。触控面板也称为触摸屏。其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、鼠标、操作杆,在此不再赘述。
存储器可用于存储软件程序以及各种数据。存储器可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括易失性存储器或非易失性存储器,或者,存储器可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。
处理器可包括一个或多个处理单元;可选的,处理器集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述业务软件的管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器虚拟环境,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种软件的管理方法,其特征在于,应用于终端,包括:
接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;
响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;
对所述第一心跳请求消息进行校验;
在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
2.根据权利要求1所述的管理方法,其特征在于,在所述接收业务软件发送的第一心跳请求消息之前,还包括:
接收浏览器发送的第一登录请求;
在对所述登录请求携带的所述终端的序列号、登录信息进行校验成功的情况下,向所述浏览器返回不可逆加密参数;
接收所述浏览器发送的第二登录请求,所述第二登录请求包括不可逆报文,所述不可逆报文为对所述不可逆加密参数进行加密得到的;
在对所述不可逆报文进行校验成功的情况下,向所述浏览器返回访问令牌;
接收浏览器发送的所述业务软件的版本信息和所述访问令牌;
在对所述业务软件的版本信息和所述访问令牌进行校验成功的情况下,接收所述浏览器上传的业务软件和所述业务软件对应的软件授权码的数量阈值;
将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
3.根据权利要求1所述的管理方法,其特征在于,在所述接收部署在运行环境上的业务软件发送的第一心跳请求消息之前,还包括:
接收外接保护锁设备导入的所述业务软件的版本信息、所述业务软件对应的软件授权码的数量阈值和所述终端的序列号;
对所述业务软件的版本信息和所述终端的序列号进行校验;
在校验成功的情况下,将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质。
4.根据权利要求2或3所述的管理方法,其特征在于,在所述将所述业务软件、所述数量阈值和所述业务软件的版本信息存储至终端存储介质之后,还包括:
响应于将所述业务软件部署到运行环境上的信令,从所述终端存储介质中将所述业务软件上传到所述运行环境的目标路径;
为所述业务软件分配所述软件授权码;
将所述终端的序列号、所述业务软件的软件授权码和所述业务软件的版本信息作为所述业务软件的配置文件上传到所述运行环境的目标目录;
在所述运行环境上启动所述业务软件。
5.根据权利要求4所述的管理方法,其特征在于,所述为所述业务软件分配所述软件授权码,包括:
每部署一次所述业务软件,为所述业务软件分配一个对应的软件授权码,其中,在已为所述业务软件分配的软件授权码的数量大于所述数量阈值的情况下,禁止部署所述业务软件;
在所述响应于所述第一心跳请求消息,与所述业务软件建立长连接通信之后,还包括:
在接收到所述业务软件发送的第二心跳请求消息情况下,断开与所述业务软件已经建立的长连接通信,其中,所述第二心跳请求消息携带的软件授权码与所述第一心跳请求消息中携带的软件授权码相同;
根据所述第二心跳请求消息,重新与所述业务软件建立长连接通信。
6.根据权利要求2所述的管理方法,其特征在于,在所述将所述业务软件和所述业务软件的版本信息存储至终端存储介质之后,还包括:
响应于更新运行环境中待更新业务软件的信令,通过所述终端的序列号和所述待更新业务软件的软件授权码登录所述待更新业务软件;
在登录所述待更新业务软件成功的情况下,将所述终端存储介质中业务软件的版本数据发送至所述待更新业务软件,以使所述待更新业务软件根据所述业务软件的版本数据更新为所述业务软件。
7.根据权利要求4所述的管理方法,其特征在于,还包括:
通过所述终端的序列号和软件授权码登录部署在所述运行环境上的所述业务软件;
向部署在所述运行环境上的所述业务软件请求查询版本信息;
接收所述业务软件发送的所述业务软件的版本信息;
根据终端存储介质中的所述业务软件的版本信息对所述业务软件发送的所述业务软件的版本信息进行核对验证。
8.一种软件的管理装置,其特征在于,应用于终端,包括:
接收模块,用于接收部署在运行环境上的业务软件发送的第一心跳请求消息,所述第一心跳请求消息包括所述业务软件的软件授权码和所述终端的序列号;
通信模块,用于响应于所述第一心跳请求消息,与所述业务软件建立长连接通信,其中,在同一时间所述软件授权码对应一个长连接通信;
处理模块,用于对所述第一心跳请求消息进行校验;
发送模块,用于在校验结果为所述第一心跳请求消息异常的情况下,向所述业务软件返回异常消息或不返回消息,以使所述业务软件中止运行的业务。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的软件的管理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述可读存储介质上存储业务软件,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的软件的管理方法的步骤。
CN202311775999.2A 2023-12-21 2023-12-21 软件的管理方法、装置、电子设备及存储介质 Pending CN117725564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311775999.2A CN117725564A (zh) 2023-12-21 2023-12-21 软件的管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311775999.2A CN117725564A (zh) 2023-12-21 2023-12-21 软件的管理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117725564A true CN117725564A (zh) 2024-03-19

Family

ID=90208768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311775999.2A Pending CN117725564A (zh) 2023-12-21 2023-12-21 软件的管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117725564A (zh)

Similar Documents

Publication Publication Date Title
CN100568212C (zh) 隔离系统及隔离方法
EP3158493B1 (en) Enabling user entropy encryption in non-compliant mobile applications
EP1918843B1 (en) Method and apparatus for centrally managed encrypted partition
EP2550768B1 (en) System and method for remote maintenance of client systems in an electronic network using software testing by a virtual machine
US20100229242A1 (en) Program execution control system, program execution control method and computer program for program execution control
CN105379223A (zh) 用于移动应用管理的对移动应用的身份的验证
EP3326098B1 (en) Anonymous application wrapping
US11063922B2 (en) Virtual content repository
US11368291B2 (en) Mutually authenticated adaptive management interfaces for interaction with sensitive infrastructure
US11520604B2 (en) Accessing conflicting frameworks and classes
CN113039542A (zh) 云计算网络中的安全计数
CN111414612A (zh) 操作系统镜像的安全保护方法、装置及电子设备
CN114598481A (zh) 一种授权认证方法、装置、电子设备及存储介质
US10158623B2 (en) Data theft deterrence
CN111353150A (zh) 一种可信启动方法、装置、电子设备及可读存储介质
US11232220B2 (en) Encryption management for storage devices
US11770412B2 (en) Secure password log in on insecure devices
CN117725564A (zh) 软件的管理方法、装置、电子设备及存储介质
WO2022169640A1 (en) Sponsor delegation for multi-factor authentication
KR20150030047A (ko) 애플리케이션 인증 방법 및 그 시스템
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
US10375056B2 (en) Providing a secure communication channel during active directory disaster recovery
CN112464225A (zh) 一种请求处理方法、请求处理装置及计算机可读存储介质
WO2018017019A1 (en) Personal security device and method
CN117992945A (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