一种基于集群部署的软件授权方法及系统与流程

文档序号:18106431发布日期:2019-07-06 11:41阅读:228来源:国知局
一种基于集群部署的软件授权方法及系统与流程

本发明涉及信息技术领域,更具体地,涉及一种基于集群部署的软件授权方法及系统。



背景技术:

信息化已经是企业不可或缺的部分,生产、销售、服务等各个方面都是建立在信息系统之上的。并且企业越大,其信息化使用的软件的可用性和性能都要有比较高的要求。按照传统的方式,为服务器增加内存、cpu处理速度等已经无法满足其可用性、业务量和并发量的要求。为了使软件能够达到企业的高可用、高并发的要求,集群技术应运而生。通过集群部署的方式,可以增加应用的扩展性、高可用性。如当前集群已经无法满足并发要求的时候,我们可以随时用增加机器的方式来提高应用的并发支撑。当集群中的某一个节点由于各种原因宕机的时候,可以将请求转接到集群中的其他机器中,增加软件的高可用性。

集群环境的部署对软件的授权提出了更高的要求,如果按照传统的软件授权方式,一个企业如果部署十个节点的集群环境,软件就要获取十个授权文件,针对这十个部署机器进行授权。这样就会将软件的发行部署时间大大延长,会增加软件销售的成本。



技术实现要素:

为了解决背景技术存在的针对集群部署的软件授权时发行部署时间较长、销售成本较高的问题,本发明提供了一种基于集群部署的软件授权方法及系统,所述方法及系统通过对集群部署中的主节点进行常规的部署,并通过集群部署中主节点与各从节点间的通信,实现各从节点对主节点软件配置参数、授权文件等的复制,进而实现整个集群部署的软件授权;所述一种基于集群部署的软件授权方法包括:

通过授权单元向主节点进行软件授权;

配置从节点的信息配置项,所述从节点的信息配置项与主节点对应相同;所述信息配置项包括ip信息以及软件特征信息;

复制主节点的授权文件至从节点;

获取主节点的程序加密串,所述程序加密串包括信息配置项以及授权文件;

获取从节点的程序加密串,将从节点的程序加密串与主节点的程序加密串中的项目进行一一比对;

如比对一致,则软件授权在从节点正常启动;

进一步的,所述通过授权系统向主节点进行软件授权的步骤包括:获取授权文件;验证授权文件是否存在以及授权文件是否合法;验证主节点的机器码与授权文件中的机器码是否一致,如授权文件存在且合法、主节点的机器码与授权文件中的机器码一致,则软件授权在主节点正常启动;

进一步的,所述获取授权文件指获取主节点的机器码,并通过主节点的机器码下载对应的软件授权的授权文件;所述验证授权文件的合法性是指将授权文件中的验证信息进行解密验证,如解密成功则授权文件合法;

进一步的,所述软件特征信息包括软件名称、软件版本、数据库配置以及数据库链接信息;

进一步的,在所述复制主节点的授权文件至从节点前,验证节点当前ip与本机ip是否一致,若不一致则判定该节点为从节点;若一致则判定该节点为主节点;

进一步的,将所述程序加密串进行签名,并将签名串通过通信发送给从节点。

所述一种基于集群部署的软件授权系统包括:

授权单元,所述授权单元用于向主节点进行软件授权;所述授权单元与主节点相连;

从节点配置单元,所述从节点配置单元用于配置从节点的信息配置项,所述从节点的信息配置项与主节点对应相同;所述信息配置项包括ip信息以及软件特征信息;所述从节点配置单元用于复制主节点的授权文件至从节点;所述从节点配置单元分别与主节点以及各个从节点相连;

程序加密串获取单元,所述程序加密串获取单元用于获取主节点的程序加密串以及从节点的程序加密串;并将获取的主节点程序加密串以及从节点程序加密串发送给对比单元;所述程序加密串包括信息配置项以及授权文件;

比对单元,所述比对单元用于将从程序加密串获取单元获取的主节点程序加密串以及从节点程序加密串中的项目一一比对,并判定比对结果;将比对一致的软件授权在从节点正常启动;

进一步的,所述授权单元包括获取模块、验证模块以及判定模块;

所述获取模块用于获取主节点的机器码,并通过主节点的机器码下载对应的软件授权的授权文件;

所述验证模块用于验证授权文件是否存在,并将授权文件中的验证信息进行解密验证,并将解密验证成功的判定为合法;

所述判定模块用于验证主节点的机器码与授权文件中的机器码是否一致,并将验证一致的软件授权在主节点正常启动;

进一步的,所述软件特征信息包括软件名称、软件版本、数据库配置以及数据库链接信息;

进一步的,所述从节点配置单元用于验证节点当前ip与本机ip是否一致,将不一致的节点判定为从节点;将一致的节点判定为主节点;

进一步的,所述程序加密串获取单元用于将程序加密串进行签名,并将签名串通过通信发送给从节点。

本发明的有益效果为:本发明的技术方案,给出了一种基于集群部署的软件授权方法及系统,所述方法及系统通过通过对集群部署中的主节点进行常规的部署获得授权文件,再将各从节点间通过与主节点的通信获取主节点的软件配置参数以及授权文件,使授权文件可以在与主节点软件配置环境一致的从节点对应的设备进行授权操作;所述方法及系统使得整个集群的发行部署方式与单一服务器部署方式一致,大大的降低集群环境的发行部署成本,同时因各个从节点与主节点的授权文件一致,提高了各项目间的适应性和软件的灵活性,减少软件发行授权成本和软件维护成本。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为本发明具体实施方式的一种基于集群部署的软件授权方法的流程图;

图2为本发明具体实施方式的一种基于集群部署的软件授权系统的结构图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为本发明具体实施方式的一种基于集群部署的软件授权方法的流程图;如图所示,所述方法通过对集群部署中的主节点进行常规的部署,并通过集群部署中主节点与各从节点间的通信,实现各从节点对主节点软件配置参数、授权文件等的复制,进而实现整个集群部署的软件授权;所述一种基于集群部署的软件授权方法包括:

步骤110,通过授权单元向主节点进行软件授权;

所述向主节点进行的软件授权与传统意义上单一服务器软件授权相同,是通过授权系统许可获得包括主节点机器码、ip信息、软件名称、软件版本、数据库链接信息等特征信息的授权文件,所述授权文件是软件向基于上述特征信息的节点进行授权的唯一凭证;

进一步的,所述通过授权系统向主节点进行软件授权的步骤包括:

步骤111,获取授权文件;所述获取授权文件指获取主节点的机器码,并通过主节点的机器码下载对应的软件授权的授权文件;进一步的所述授权文件是通过授权单元获取包括主节点ip信息、软件名称、软件版本、数据库链接信息等特征信息的授权文件;

步骤112,验证授权文件是否存在;如果授权文件不存在,则直接终止启动过程,抛出异常,最终程序启动失败;

步骤113,授权文件是否合法;因为授权文件是经过一定的加密方式进行加密的,并且会将一些验证信息保存到授权文件中。所以在程序启动的时候,会将这个授权文件的一些信息和这个验证信息进行解密验证,如果不通过,说明授权文件的指标信息被修改过,则无法正常启动,最终导致程序启动失败;

步骤114,验证主节点的机器码与授权文件中的机器码是否一致,程序启动的时候,会启动我们获取机器码的方法,获取到当前服务器的机器码,和我们发行的授权文件中保存的机器码进行对比验证,如果一致则程序正常启动,否则该机器和授权文件不匹配,程序终止,最终程序启动失败;

如授权文件存在且合法、主节点的机器码与授权文件中的机器码一致,则软件授权在主节点正常启动;

步骤120,配置从节点的信息配置项,所述从节点的信息配置项与主节点对应相同;所述信息配置项包括ip信息以及软件特征信息;

为了确保集群环境中部署的软件是同一版本,同一个应用程序,因此从节点部署的时候,需要将软件的信息配置项和主节点保持一致。所述信息配置项ip信息以及软件特征信息;所述软件特征信息包括软件名称、软件版本、数据库配置以及数据库链接信息;

步骤130,复制主节点的授权文件至从节点;

所述复制授权文件及配置上述信息配置项,可通过建立从节点到主节点的通信而实现,从节点通过网络通信访问、获取并复制主节点的信息配置项和授权文件;进一步的,还可通过第三方如从节点配置单元进行配置,从节点配置单元用于配置从节点的信息配置项,所述从节点的信息配置项与主节点对应相同;从节点配置单元用于复制主节点的授权文件至从节点;所述从节点配置单元分别与主节点以及各个从节点相连;

进一步的,节点可通过验证确认自身是主节点还是从节点;验证节点当前ip与本机ip是否一致,若不一致则判定该节点为从节点;若一致则判定该节点为主节点;当验证自身节点为从节点时,还需验证从节点授权文件是否存在以及授权文件的合法性;并根据与主节点加密串进行比对已确认授权是否成功、软件授权是否可以在从节点正常启动;

进一步的,集群环境的从节点软件授权信息和主节点应该一致,因此这里获取到的授权文件应该和主节点的一致,如果不存在授权文件,则直接终止启动,导致软件启动失败;

进一步的,和主节点授权文件合法性的验证方式一致,将授权文件的基本信息进行解密验证,和授权文件的验证信息进行验证,如果不通过,说明该授权文件被非法修改,终止程序启动,最终导致启动失败;

步骤140,获取主节点的程序加密串,所述程序加密串包括信息配置项以及授权文件;

从节点通过和主节点进行通信,获取主节点的程序特征信息,这些特征信息包括两方面的内容:一方面是软件程序本身的特征信息,用来保证应用程序的唯一性(如:软件名称、软件版本、数据库链接信息等一些软件特征信息);另一方面是授权文件的基本信息;获取到这两方面的信息之后,通过对这些数据进行签名,将签名串通过通信发送给从节点;

进一步的,程序加密串获取单元与主节点进行通信,获取上述主节点的程序特征信息;

步骤150,获取从节点的程序加密串;

获取到了主节点的程序加密串之后,对从节点以相同的方式获取加密串;所述相同的方式包括通过从节点与主节点进行通信或通过程序加密串获取单元与主节点进行通信;

步骤160,将从节点的程序加密串与主节点的程序加密串中的项目进行一一比对;如比对一致,则软件授权在从节点正常启动;

进一步的,如果不一致,说明主节点和从节点的软件程序本身特征信息或者授权文件信息不一致,则终止启动,导致程序启动失败。如果两个加密串相同,则说明主节点和从节点部署的程序基本信息和授权文件信息完全一致,则可以正常启动,从节点授权过程结束。

所述一种基于集群部署的软件授权方法,给出了一种通过对集群部署中的主节点进行常规的部署,并通过集群部署中主节点与各从节点间的通信,实现各从节点对主节点软件配置参数、授权文件等的复制,进而实现整个集群部署的软件授权;所述方法只需进行一次软件授权申请即可使整个集群部署的众多设备完成软件授权,提高了软件授权的效率,同时降低了部署和维护成本;同时,因整个集群部署使用相同的授权文件和软件配置参数,这使得各项目、各设备间的适应性和协调性提高,同时提高了软件的灵活性。

图2为本发明具体实施方式的一种基于集群部署的软件授权系统的结构图;如图所示,所述一种基于集群部署的软件授权系统包括:

授权单元201,所述授权单元201用于向主节点211进行软件授权;所述授权单元201与主节点211相连;

从节点配置单元202,所述从节点配置单元202用于配置从节点212的信息配置项,所述从节点212的信息配置项与主节点211对应相同;所述信息配置项包括ip信息以及软件特征信息;所述从节点配置单元202用于复制主节点211的授权文件至从节点212;所述从节点配置单元202分别与主节点211以及各个从节点212相连;

程序加密串获取单元203,所述程序加密串获取单元203用于获取主节点211的程序加密串以及从节点212的程序加密串;并将获取的主节点211程序加密串以及从节点212程序加密串发送给对比单元204;所述程序加密串包括信息配置项以及授权文件;

比对单元204,所述比对单元204用于将从程序加密串获取单元203获取的主节点211程序加密串以及从节点212程序加密串中的项目一一比对,并判定比对结果;将比对一致的软件授权在从节点212正常启动;

进一步的,所述授权单元201包括获取模块、验证模块以及判定模块;

所述获取模块用于获取主节点211的机器码,并通过主节点211的机器码下载对应的软件授权的授权文件;

所述验证模块用于验证授权文件是否存在,并将授权文件中的验证信息进行解密验证,并将解密验证成功的判定为合法;

所述判定模块用于验证主节点211的机器码与授权文件中的机器码是否一致,并将验证一致的软件授权在主节点正常启动;

进一步的,所述软件特征信息包括软件名称、软件版本、数据库配置以及数据库链接信息;

进一步的,所述从节点配置单元202用于验证节点当前ip与本机ip是否一致,将不一致的节点判定为从节点;将一致的节点判定为主节点;

进一步的,所述程序加密串获取单元203用于将程序加密串进行签名,并将签名串通过通信发送给从节点。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。本说明书中涉及到的步骤编号仅用于区别各步骤,而并不用于限制各步骤之间的时间或逻辑的关系,除非文中有明确的限定,否则各个步骤之间的关系包括各种可能的情况。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。

以上所述仅是本公开的具体实施方式,应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开精神的前提下,可以作出若干改进、修改、和变形,这些改进、修改、和变形都应视为落在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1