CN103838987A - 一种基于局域网的软件许可证动态授权管理方法 - Google Patents
一种基于局域网的软件许可证动态授权管理方法 Download PDFInfo
- Publication number
- CN103838987A CN103838987A CN201310252358.9A CN201310252358A CN103838987A CN 103838987 A CN103838987 A CN 103838987A CN 201310252358 A CN201310252358 A CN 201310252358A CN 103838987 A CN103838987 A CN 103838987A
- Authority
- CN
- China
- Prior art keywords
- licence
- client
- software
- server
- authorization
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 88
- 238000007726 management method Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000005516 engineering process Methods 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 238000007667 floating Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 102100033213 Teneurin-1 Human genes 0.000 claims description 2
- 102100033227 Teneurin-2 Human genes 0.000 claims description 2
- 101710122316 Teneurin-2 Proteins 0.000 claims description 2
- 108010063973 teneurin-1 Proteins 0.000 claims description 2
- 238000011144 upstream manufacturing Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- 239000011800 void material Substances 0.000 claims description 2
- 238000004064 recycling Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007688 edging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于局域网的软件许可证动态授权管理方法与系统,本发明涉及局域网络中许可证进行动态授权的领域,解决许可证的网络共享。该有软件许可证动态授权管理系统包括数据库、许可证生成服务器、许可证授权管理服务器以及客户机;其中epoll技术实现并发授权;心跳探测技术实现无效网络的许可证回收;该授权管理方法和系统与传统方式相比,提供高效高质的授权服务。
Description
技术领域
本发明涉及软件许可证授权技术领域,特别是涉及一种基于局域网的软件许可证动态授权管理方法和装置,该方法用于在局域网内对网络浮动许可证进行动态授权和相关管理操作,实现许可证的网络共享。
背景技术
计算机软件作为一种知识密集型的商品化产品,在开发过程中付出的成本往往是硬件价值的数倍乃至数百倍。然而,从软件诞生开始,非法复制问题造成了软件生厂商的重大损失。由此,软件保护技术应运而生。目前,常用的软件保护方法有:软盘加密、密码表加密、序列号保护、Key File保护、CD-check、软件狗、软件加壳和许可证保护。
许可证保护方法是序列号加密方法的一个发展,它能实现更多的功能性需求,灵活度更高,特别适合那些大型的功能复杂模块多的商业软件。当用户从网上下载或购买软件时,软件安装好之后第一次启动,一般会有两种情况:要么提示用户安装许可证文件,要么生成一个小文件,这个小文件里面的内容是用户机器的一些指纹信息,也可以是一串加密过的数字。用户将这个小文件发送给软件开发商,软件开发商根据用户的需求来生成不同类型的许可证,如使用期限,使用功能模块等。
常用的许可证文件分为单机锁定许可证和网络浮动许可证两大类。单机锁定许可证是根据计算机的MAC地址、硬盘号等将软件锁定到特定计算机,适合于单个用户在单台计算机上使用软件的情况。网络浮动许可证是在一台计算机上所生成的若干可共享的许可证文件,用户通过网络与之通讯并取得许可证后,即可在网络中的任何一台客户机上运行相应的应用软件。
由于单机锁定许可证与特定主机紧密相关,因此,软件的使用许可仅指向网络中的某些特定节点,不可更改到其他机器上使用,该方法具有很大的局限性。而网络浮动许可证可浮动在网络上并动态地分配给网络上正在申请使用许可的各个节点,完成软件许可的浮动并发授权,具有较大的灵活性和较高的使用效率等优点。 因此,在大型商业软件的许可证授权管理方法中常采用网络浮动许可证来实现软件许可证的动态发放与回收。目前,随着客户端并发连接访问数目的增多,授权服务器承载的压力增大,严重影响了服务器的性能,导致用户无法访问或不能及时获得授权服务,不能满足日益增长的服务需求。此外,当客户端异常掉线时,服务器也不能及时获知该情况,使得授权无效占用而导致别的软件用户无法申请得到合法授权。
因此,在局域网中,针对功能复杂、模块众多的大型商业软件,为了有效保护软件版权,最大化地为客户端软件的并发授权申请提供良好的高并发访问服务,最终提高软件的经济效率,我们需要设计一种更灵活、更高效的软件授权管理方法来实现对网络浮动许可证文件的动态共享。
发明内容
本发明提供了一种基于局域网的软件许可证动态授权管理系统。该系统用于在局域网内对网络浮动许可证进行动态授权和相关管理操作,实现许可证的网络共享。
本发明为解决上述技术问题所采用的技术方案是:
1.一种基于局域网的软件许可证动态授权管理方法,其特征在于包含以下步骤:
步骤一.客户端发送计算机硬件指纹信息到许可证授权管理服务器;
步骤二.许可证授权管理服务器解析客户端的申请授权信息;
步骤三.根据步骤二的信息许可证授权管理服务器执行:
三-1.申请授权信息不符合许可证规则,则提示用户重新申请许可证,跳转到步骤十一;
三-2.申请授权信息符合许可证规则,则进入步骤四;
步骤四.许可证授权管理服务器向许可证生成服务器申请浮动许可证文件;
步骤五.许可证生成服务器生成网络浮动许可证;
步骤六.许可证生成服务器将网络浮动许可证文件的相关信息存储于数据库,继而发送许可证到许可证授权管理服务器进行绑定;
步骤七.许可证授权管理服务器验证浮动许可证文件:
七-1.许可证文件不符合验证规则,则发送给客户端验证失败的消息,跳转到步骤十一;
七-2.许可证文件通过验证规则,检测最大并发数:
(七-2-a).若用户量已达到最大并发数,则发送给客户端申请不成功的信息,跳转到步骤十一;
(七-2-b).若用户量未达到最大并发数,允许申请授权的最大客户端用户数,且并发计数器加一;
步骤八.许可证授权服务器启动守护程序;
步骤九.发送验证通过信息到客户机;
步骤十.授权成功后,启动退出策略:
(十-1).如果软件没有正常启动,则提示用户并且将授权归还服务器后退出程序;
(十-2).如果软件正常使用后退出,则先将授权归还服务器后退出程序;
步骤十一.执行程序结束。
2.进一步地,其特征在于许可证授权管理服务器采用epoll技术实现并发授权技术。
3.进一步地,其特征在于所述许可证授权服务器守护程序包含心跳探测技术,步骤如下:
3-1.软件获取许可证授权管理服务器授权运行时,将本次链接信息记录到许可证授权管理服务器的希哈表中,flag值至0,同时客户端定时器开始计时,管理定时器开始计时;
3-2.软件运行过程中,客户端软件每间隔时间Tc向许可证授权管理服务器发送一个心跳报文,Tc为所述客户端定时器的预先设置时间;
3-3.许可证授权管理服务器未接收到心跳报文,则所述希哈表中该条授权信息的flag的值不变;
3-4.许可证授权管理服务器接受到心跳报文,则将所述希哈表中该条授权信息的flag的值至1,表示网络存活;
3-5.许可证授权管理服务器每间隔时间Ts(Ts>Tc)遍历所述希哈表,Ts为管理定时器的预先设置时间,并根据每一项flag的键值选择执行;
(3-5-1)flag值为1则保持网络,并将值1至为0;
(3-5-2)flag值为0则认为客户端软件非正常状态,首先回收软件授权,并将该条连接信息从希哈表中删除,最大并发数减1,退出程序。
4.进一步地,其特征在于步骤一、步骤二中发送的申请授权信息由DES算法加密。
5.进一步地,其特征在于所述步骤五中网络浮动许可证采用MD5或SHA或DE5加密算法实现许可证加密。
6.进一步地,其特征在于验证所述许可证规则的步骤:
6-1.是否有许可证文件,是则继续执行6-2;否则执行步骤三-1;
6-2.是否是浮动许可证文件,是则继续执行6-3;否则执行步骤三-1;
6-3.许可证文件是否被修改,否则继续执行6-4;是则执行步骤三-1;
6-4.用户是否被授权,是则执行步骤三-2;否则执行步骤三-1。
7.进一步地,其特征在于步骤七中所述验证规则的验证步骤如下:
7-1.用户是否被授权,是则执行7-2,否则执行步骤七-1;
7-2.验证申请的模块是否被授权,是则执行步骤七-2,否则执行步骤步骤七-1;
8.一种基于局域网的软件许可证动态授权管理系统,该系统包括许可证授权管理服务器虚拟连接上游许可证生成服务器虚以及下游的客户端,其特征在于所述许可证生成服务器包含数据库用于存储许可证信息;许可证生成服务器用于生成加密网络浮动许可证;许可证授权管理服务器用于管理与回收授权许可。
9.进一步地,其特征是心跳探测模块位于许可证授权管理服务器和客户端建立的虚拟网络中,心跳探测模块包含客户端定时器、管理定时器、希哈表。
10.进一步地,其特征在于所述步数据库存储许可证信息包括:种子文件地址、需要授权的子模块信息、许可证文件地址、被授权的用户、授权类型。
11.进一步地,其特征在于所述计算机硬件指纹信息包含:网卡MAC地址、CPU序列号或磁盘序列号或BIOS序列号具有唯一性的指纹信息。
为了增加软件开发商现有软件的收入流,软件许可证动态授权管理方法采取了灵活度高的软件许可证授权方式。它根据软件用户的需求数来动态发放浮动许可证,完成对软件功能模块及其使用期限的限制,除此之外,它还能限制网络中使用软件的用户数目。从某种角度上来讲这种授权管理方式并不是把软件的授权与软件用户的机器绑定死,只要是在授权的机器当中,均可以在所限制的数目内同时运行授权软件,即实现软件许可证的网络共享。如果网络中正常使用的授权软件实例个数超过了授权限制,即使是授权的机器也无法正常启动软件。同时,许可证授权管理服务器还具有回收软件授权的功能。当网络中的软件用户正常退出软件之后,服务器可以回收该软件模块的授权,便于其他软件用户申请使用;当软件用户使用的计算机发生异常短线,如系统崩溃死机,电源断电以及网线无意间断开网络,服务器可以通过与客户端配合的心跳机制,在一定时间内若收不到客户端的心跳包则认为其不再存活,从而回收该客户端的软件授权。这种动态的软件授权管理方式非常适合局域网中用户共同使用的软件。
在本发明的框架中,为提高软件的安全性,许可证生成服务器采用MD5、SHA、DE5等加密算法生成一种基于机器指纹的网络浮动许可证;数据库用于存放许可证生成服务器中所生成的许可证文件的具体信息,包括种子文件地址、需要授权的子模块信息、许可证文件地址、被授权的用户、授权的类型等;客户端用于连接许可证授权管理服务器,提出授权申请,并在用户退出时通知许可证授权管理服务器释放许可证资源。许可证授权管理服务器根据浮动许可证的授权信息,利用并发授权技术和心跳探测技术来对网络中的客户端软件进行动态授权发放和回收。服务器在启动时首先校验浮动许可证文件的有效性,运行服务器的机器身份认证,通过这些校验之后,服务器读取许可证文件的授权信息,包括浮动许可证授权的客户机器的身份信息,授权的软件模块,使用期限及相应的授权并发数目,随后等待客户端软件用户的软件授权申请或用户软件退出回收授权。
在该机制保护下的软件,软件启动时调用客户端模块来访问服务器并申请软件授权。服务器与客户端之间要实现一套安全的通信交互协议,客户端模块启动时,会采集机器指纹信息,并将该指纹信息和申请的授权信息按照协议,加密之后发送到服务器。服务器端解析客户端的申请授权信息并作出响应,客户端模块根据服务器的响应结果来采取软件的下一步执行操作。授权成功之后则软件启动正常,否则提示用户并退出。用户正常退出软件之前,会将授权归还给服务器,以便其他用户申请使用。如果客户端软件异常退出,服务器将在某段时间内接受不到客户端发送的心跳包,从而认为其已网络死亡,并回收其软件功能模块的授权和其他系统资源等。
(1)并发授权技术
随着客户端并发连接访问数目的增多,服务器承载的压力加大,严重影响服务器的服务性能,导致用户无法访问或不能及时获得服务。基于select/poll等传统的I/O复用轮询技术的服务器渐渐不能满足日益增长的服务需求。许可证授权管理服务器采用了目前Linux2.6内核提供的epoll技术。epoll是Linux下多路复用I/O接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合;另一原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核I/O事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种I/O事件的电平触发(Level Triggered)外,还提供了边沿触发(Edge Triggered),这就使得用户空间程序有可能缓存I/O状态,减少epoll_wait/epoll_pwait的调用,提高应用程序效率。该技术具有良好的高并发访问服务性能,它能最大化地为客户端软件的并发授权申请提供高效的服务。
(2)心跳探测技术
软件在获得许可证授权管理服务器的授权运行后,在客户端和服务器之间维持着一个虚拟的连接状态,如果这个虚拟连接异常断开之后,客户端即使正常退出,在向服务器归还授权时将归还不成功,而且服务器也不知道客户端掉线了,无法回收授权,造成授权被无效占用。为此,在服务器和客户端之间采用心跳机制来防止客户端的异常断线,让服务器知道客户端软件是网络存活的。即使客户端异常断开,服务器在某段时间后也能发现客户端异常掉线而网络死亡,从而回收授权,防止授权无效占用而导致别的软件用户无法申请得到合法授权。该机制需要客户端和服务器端之间的配合才能使服务器有效回收授权资源。每个客户端连接至服务器,服务器都有与之对应的Socket连接。如果客户端软件获得了授权管理服务器的授权,客户端和服务器的底层通信模块会一直保持这个连接状态直到客户端退出。由于客户端模块中包含了发送心跳包的定时器,软件在运行的整个过程中,会由定时器每隔时间Tc通过客户端模块向服务器发送心跳包信息,以告知服务它是网络存活的。
服务器将所有与客户端对应的Socket连接描述符记录到一张Clients_List表中,并通过这些Socket连接描述符9来了解每个客户端的信息,而且在有新的客户端授权成功后,服务器会将新的Socket连接描述符加入那张表中。Clients_List表是一张哈希表,因为哈希表的查找速度很快,它以Socket连接描述符作为键,Flag标志符作为值,键值一一对应。Flag标志符有两种值,“0”或“1”,“0”服务器表示没有在规定时间内接收到客户端的心跳,即服务器认为其网络死亡并采取相应动作,回收软件授权和其他资源等。“1”表示服务器在规定时间内收到了客户端的心跳包信息,即服务器认为其是网络存活的。
服务器里也设定了定时器,每隔时间Ts(Ts>Tc)会遍历Client_List表,根据每一项键值的情况采取动作,并将所有键对应的值重新设置为“0”。服务器在收到客户端心跳时,会去修改其该表中其Socket连接描述符键对应的值为“1”。在下一个Ts遍历该表时,如果发现该值为“0”,则认为该键Socket连接描述符对应的客户端软件已网络死亡,回收客户端软件的授权,并从Client_List表中删除该项。如果发现该值为“1”,则重置为“0”,等待下一次客户端的心跳包到达。
由于在网络中,一般是局域网,心跳包从客户端通过网络传送到达至服务器需要一定时间,这里特别要注意时间段Tc和Ts的设置,要使它们的时间差足够客户端的心跳包到达服务器,才能取得比较好的效果。如果时间差值小或Ts小于Tc,客户端还来不及发送心跳包或心跳包还在网络的传送过程中,服务器在Ts后遍历发现其标志为“0”,认为客户端网络死亡从而回收授权。事实上客户端是网络存活的,或已发送心跳包而服务器未收到,这样是不符合逻辑的,也不科学。因此必须要设置Ts大于Tc,并且使其差值设置足够。
(3)通信协议
许可证授权管理服务器与客户端模块之间的信息通信有一套简单的通信协议。客户端向服务器发出申请信息,服务器根据协议解析收到的信息,并根据浮动许可证授权的情况响应,客户端收到服务器的响应信息,根据协议解析,从而判断是否获得授权启动软件,软件退出时将授权归还给服务器,服务器回收授权以防止授权被占用,便于其他软件用户申请。具体协议内容格式如表1、表2、表3。
对象 | 格式 | 描述 |
客户端 | 机器指纹:申请模块:申请标志 | 客户端首先获取机器指纹信息,然后将该信息和申请模块名称以及申请标志“ON”三段信息以“:”分开形成一个长字符串,采用DES算法加密该字符串,将加密结果发送给服务器,等待服务器响应。 |
服务器 | 授权模块:相应标志 | 服务器接收到客户端的加密信息,采用DES解密,解析发现客户端是要申请某软件模块的授权,便根据授权的情况作出响应,将授权模块和响应标志以“:”分开,DES加密后发送给客户端,由客户端模块解密和解析响应的内容。并根据内容判断进行下一步动作。 |
表1客户端申请授权协议格式表
Accept | 表示服务器授权客户端软件运行 |
Reject | 表示服务器拒绝客户端软件运行 |
Expired | 表示客户端想要申请的模块的使用期限已过期 |
NotPurchased | 表示浮动许可证没有对该模块发放授权信息 |
More | 表示客户端申请模块个数已超过授权的模块并发数目限制 |
表2服务器响应标志描述表
对象 | 格式 | 描述 |
客户端 | 归还模块:归还标志 | 软件或模块在退出之前,客户端将该授权归还给服务器。将归还模块的名字和归还标志“OFF”以“:”分开组成长字符串,调用DES加密,发送给服务器。 |
服务器 | 无 | 服务器接收到客户端的加密信息,采用DES解密,解析发现客户端是要归还某模块的授权,服务器回收对该客户端的授权和其他资源。 |
表3客户端归还授权协议格式表
与现有技术相比,本发明的有益效果是:
(1)依赖机器指纹信息来完成用户的身份认证,由于每台机器的指纹信息特征不一样,如此以来就将软件绑定到了用户的机器,若非法用户拷贝了软件,软件运行校验时就会校验失败而退出。
(2)采用并发授权技术为客户端软件的并发访问连接提供高效高质的授权服务。
(3)采用心跳探测技术有效回收许可证资源,以便于其他用户的授权申请。
附图说明
图1基本架构图;
图2为许可证授权管理服务器的工作流程图;
其中1为许可证生成服务器;2为许可证授权管理服务器;3为客户机;4为硬件指纹文件;5为许可证;
图3为许可证授权管理服务器启动流程图。
图4为客户验证流程图。
图5为客户申请授权流程图。
具体实施方式
本发明是通过浮动许可证管理服务器来并发授权控制。除了能够控制软件模块以及使用期限以外,如果正在运行的软件或功能模块实例数目超过了浮动许可证相应的授权数目限制,软件启动将失败。另外客户端授权软件在正常或异常退出时,浮动许可证管理服务器可以有效地回收所发放的授权,以便网络中其他用户的申请授权使用。
下面将结合附图及具体实施方式对本发明作进一步的描述。
客户端根据机器的一些硬件特性,如网卡MAC地址、CPU序列号、磁盘序列号、BIOS序列号等唯一性指纹信息,生成一个包含用户机器硬件指纹信息的种子文件,且该种子需要加密成密文,以防用户查看所采集的机器指纹信息,并将其发送给许可证授权管理服务器,同时,告知许可证授权管理服务器该客户所需要的授权模块以及相应的使用期限等信息。
许可证授权管理服务器将客户端的授权申请(包括种子文件以及所需授权的模块和使用期限等信息)发送给许可证生成服务器,并向其申请浮动许可证文件。
按照客户端的授权需求,许可证生成服务器在生成许可证时,对导入的种子文件重新进行加密运算,并将加密结果写入浮动许可证文件,最后采用MD5和SHA-1以及内部加密算法对许可证文件的内容进行加密。
许可证生成服务器将种子文件地址、需授权的子模块信息、许可证文件生成地址、被授权用户、授权类型等与许可证文件相关的信息存储到数据库,再将浮动许可证发送给许可证授权管理服务器进行绑定。
许可证授权管理服务器根据用户需求设定最大并发数,即允许申请授权的最大客户端用户数。服务器启动守护进程后,等待并响应用户的授权请求。该守护进程中保存着一个连接计数器,用于记录已申请授权文件的客户端用户数。
客户端用户启动软件时,发送授权请求给许可证授权管理服务器。许可证授权管理服务器接收到客户端的请求后,首先验证该用户是否合法,并判断该模块的当前用户数是否小于最大并发数,若是,则允许用户启动软件,将连接计数加1;否则,提示用户不合法或等待连接数降到低于最大并发数。
客户端用户正常退出软件时,会自动通知服务器,服务器则回收资源,并将连接计数减1,以便其他客户端用户连接;客户端用户异常退出软件时,服务器将利用心跳探测技术定时监测用户情况,确定用户下线后,立即回收资源,并将连接计数减1。
以上通过实施例的形式对本发明内容作出的进一步地详细说明,但不应将此理解为本发明的主题范围仅局限于以上所述的实施例。凡基于本明内容所实现的技术均属于本明的范围。
Claims (10)
1.一种基于局域网的软件许可证动态授权管理方法, 其特征在于包含以下步骤:
步骤一. 客户端发送计算机硬件指纹信息到许可证授权管理服务器;
步骤二. 许可证授权管理服务器解析客户端的申请授权信息;
步骤三. 根据步骤二的信息许可证授权管理服务器执行:
三-1. 申请授权信息不符合许可证规则,则提示用户重新申请许可证, 跳转到步骤十一;
三-2. 申请授权信息符合许可证规则,则进入步骤四;
步骤四. 许可证授权管理服务器向许可证生成服务器申请浮动许可证文件;
步骤五. 许可证生成服务器生成网络浮动许可证;
步骤六. 许可证生成服务器将网络浮动许可证文件的相关信息存储于数据库,继而发送许可证到许可证授权管理服务器进行绑定;
步骤七. 许可证授权管理服务器验证浮动许可证文件:
七-1. 许可证文件不符合验证规则,则发送给客户端验证失败的消息,跳转到步骤十一;
七-2. 许可证文件通过验证规则,检测最大并发数:
(七-2-a).若用户量已达到最大并发数,则发送给客户端申请不成功的信息,跳转到步骤十一;
(七-2-b).若用户量未达到最大并发数,允许申请授权的最大客户端用户数,且并发计数器加一;
步骤八. 许可证授权服务器启动守护程序;
步骤九. 发送验证通过信息到客户机;
步骤十. 授权成功后,启动退出策略:
(十-1). 如果软件没有正常启动,则提示用户并且将授权归还服务器后退出程序;
(十-2). 如果软件正常使用后退出,则先将授权归还服务器后退出程序;
步骤十一. 执行程序结束。
2.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于许可证授权管理服务器采用epoll技术实现并发授权技术。
3.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于所述许可证授权服务器守护程序包含心跳探测技术,步骤如下:
3-1. 软件获取许可证授权管理服务器授权运行时,将本次链接信息记录到许可证授权管理服务器的希哈表中,flag值至0,同时客户端定时器开始计时,管理定时器开始计时;
3-2. 软件运行过程中,客户端软件每间隔时间Tc向许可证授权管理服务器发送一个心跳报文,Tc为所述客户端定时器的预先设置时间;
3-3. 许可证授权管理服务器未接收到心跳报文,则所述希哈表中该条授权信息的flag的值不变;
3-4. 许可证授权管理服务器接受到心跳报文,则将所述希哈表中该条授权信息的flag的值至1,表示网络存活;
3-5. 许可证授权管理服务器每间隔时间Ts(Ts>Tc)遍历所述希哈表,Ts为管理定时器的预先设置时间,并根据每一项flag的键值选择执行,:
(3-5-1)flag值为1则保持网络,并将值1至为0;
(3-5-2)flag值为0则认为客户端软件非正常状态,首先回收软件授权,并将该条连接信息从希哈表中删除,最大并发数减1,退出程序。
4.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于步骤一、步骤二中发送的申请授权信息由DES算法加密。
5.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于所述步骤五中网络浮动许可证采用MD5或SHA或DE5加密算法实现许可证加密。
6.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于验证所述许可证规则的步骤:
6-1.是否有许可证文件,是则继续执行6-2;否则执行步骤三-1;
6-2.是否是浮动许可证文件,是则继续执行6-3;否则执行步骤三-1;
6-3.许可证文件是否被修改,否则继续执行6-4;是则执行步骤三-1;
6-4.用户是否被授权,是则执行步骤三-2;否则执行步骤三-1。
7.根据权利要求1所述一种基于局域网的软件许可证动态授权管理方法,其特征在于步骤七中所述验证规则的验证步骤如下:
7-1.用户是否被授权,是则执行7-2,否则执行步骤七-1;
7-2.验证申请的模块是否被授权,是则执行步骤七-2,否则执行步骤步骤七-1;
一种基于局域网的软件许可证动态授权管理系统,该系统包括许可证授权管理服务器虚拟连接上游许可证生成服务器虚以及下游的客户端,其特征在于所述许可证生成服务器包含数据库用于存储许可证信息;许可证生成服务器用于生成加密网络浮动许可证;许可证授权管理服务器用于管理与回收授权许可。
8.根据权利要求8所述一种基于局域网的软件许可证动态授权管理系统,其特征是心跳探测模块位于许可证授权管理服务器和客户端建立的虚拟网络中,心跳探测模块包含客户端定时器、管理定时器、希哈表。
9.根据权利要求8所述一种基于局域网的软件许可证动态授权管理系统,其特征在于所述步数据库存储许可证信息包括:种子文件地址、需要授权的子模块信息、许可证文件地址、被授权的用户、授权类型。
10.根据权利要求8所述一种基于局域网的软件许可证动态授权管理系统,其特征在于所述计算机硬件指纹信息包含:网卡MAC地址、CPU序列号或磁盘序列号或BIOS序列号具有唯一性的指纹信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310252358.9A CN103838987A (zh) | 2013-06-24 | 2013-06-24 | 一种基于局域网的软件许可证动态授权管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310252358.9A CN103838987A (zh) | 2013-06-24 | 2013-06-24 | 一种基于局域网的软件许可证动态授权管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103838987A true CN103838987A (zh) | 2014-06-04 |
Family
ID=50802475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310252358.9A Pending CN103838987A (zh) | 2013-06-24 | 2013-06-24 | 一种基于局域网的软件许可证动态授权管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838987A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450601A (zh) * | 2014-08-19 | 2016-03-30 | 华为技术有限公司 | 共享许可证的方法和装置 |
WO2016127294A1 (zh) * | 2015-02-09 | 2016-08-18 | 华为技术有限公司 | 一种证书管理方法、设备及系统 |
CN105930693A (zh) * | 2016-04-29 | 2016-09-07 | 杭州华三通信技术有限公司 | 一种软件授权的方法和装置 |
CN106131187A (zh) * | 2016-07-13 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种授权的控制方法及装置 |
CN106934261A (zh) * | 2017-03-31 | 2017-07-07 | 山东超越数控电子有限公司 | 一种基于数据库的license信息储存和提取方法 |
CN106959982A (zh) * | 2016-01-08 | 2017-07-18 | 深圳市星电商科技有限公司 | 获取资源的方法、装置和系统、监测方法和装置 |
CN109313674A (zh) * | 2016-06-15 | 2019-02-05 | 株式会社岛津制作所 | 软件许可证管理系统以及管理方法 |
CN110048880A (zh) * | 2019-03-15 | 2019-07-23 | 启迪云计算有限公司 | 一种物理机节点的浮动授权方法 |
CN110175036A (zh) * | 2019-04-08 | 2019-08-27 | 北京深思数盾科技股份有限公司 | 软锁许可的升级方法及装置 |
CN111597545A (zh) * | 2020-05-19 | 2020-08-28 | 北京海泰方圆科技股份有限公司 | 一种授权管理方法及装置 |
CN112020058A (zh) * | 2020-08-04 | 2020-12-01 | 上海东方富联科技有限公司 | 基于设备指纹的校验方法、介质、服务端及系统 |
CN112069471A (zh) * | 2020-09-21 | 2020-12-11 | 浪潮云信息技术股份公司 | 基于国产cpu的应用系统授权方法、装置及介质 |
CN112770415A (zh) * | 2020-12-31 | 2021-05-07 | 上海连尚网络科技有限公司 | 关于无线热点的信息处理方法和装置 |
WO2021136075A1 (zh) * | 2019-12-30 | 2021-07-08 | 中兴通讯股份有限公司 | 产品许可管理方法及系统 |
CN113742660A (zh) * | 2021-08-11 | 2021-12-03 | 阿里巴巴新加坡控股有限公司 | 应用程序许可管理系统及方法 |
CN114266017A (zh) * | 2021-12-30 | 2022-04-01 | 北京深思数盾科技股份有限公司 | 软件许可方法及电子设备 |
CN115146252A (zh) * | 2022-09-05 | 2022-10-04 | 深圳高灯计算机科技有限公司 | 授权认证方法、系统、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742757A (en) * | 1996-05-30 | 1998-04-21 | Mitsubishi Semiconductor America, Inc. | Automatic software license manager |
CN102184362A (zh) * | 2011-05-19 | 2011-09-14 | 中国石油集团川庆钻探工程有限公司 | 固定许可证和浮动许可证融合校验授权方法 |
-
2013
- 2013-06-24 CN CN201310252358.9A patent/CN103838987A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742757A (en) * | 1996-05-30 | 1998-04-21 | Mitsubishi Semiconductor America, Inc. | Automatic software license manager |
CN102184362A (zh) * | 2011-05-19 | 2011-09-14 | 中国石油集团川庆钻探工程有限公司 | 固定许可证和浮动许可证融合校验授权方法 |
Non-Patent Citations (2)
Title |
---|
廖郭波: "基于机器指纹的身份认证与许可证授权系统的设计和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2011 (2011-12-15) * |
李美蓉: "软件许可证授权管理系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2011 (2011-12-15), pages 20 - 53 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445476B2 (en) | 2014-08-19 | 2019-10-15 | Huawei Technologies Co., Ltd. | License sharing method and apparatus |
CN105450601A (zh) * | 2014-08-19 | 2016-03-30 | 华为技术有限公司 | 共享许可证的方法和装置 |
WO2016127294A1 (zh) * | 2015-02-09 | 2016-08-18 | 华为技术有限公司 | 一种证书管理方法、设备及系统 |
US10581619B2 (en) | 2015-02-09 | 2020-03-03 | Huawei Technologies Co., Ltd. | Certificate management method, device, and system |
CN106959982A (zh) * | 2016-01-08 | 2017-07-18 | 深圳市星电商科技有限公司 | 获取资源的方法、装置和系统、监测方法和装置 |
CN105930693B (zh) * | 2016-04-29 | 2019-04-09 | 新华三技术有限公司 | 一种软件授权的方法和装置 |
CN105930693A (zh) * | 2016-04-29 | 2016-09-07 | 杭州华三通信技术有限公司 | 一种软件授权的方法和装置 |
CN109313674A (zh) * | 2016-06-15 | 2019-02-05 | 株式会社岛津制作所 | 软件许可证管理系统以及管理方法 |
CN109313674B (zh) * | 2016-06-15 | 2021-06-29 | 株式会社岛津制作所 | 软件许可证管理系统以及管理方法 |
CN106131187B (zh) * | 2016-07-13 | 2020-01-17 | 新华三技术有限公司 | 一种授权的控制方法及装置 |
CN106131187A (zh) * | 2016-07-13 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种授权的控制方法及装置 |
CN106934261A (zh) * | 2017-03-31 | 2017-07-07 | 山东超越数控电子有限公司 | 一种基于数据库的license信息储存和提取方法 |
CN110048880A (zh) * | 2019-03-15 | 2019-07-23 | 启迪云计算有限公司 | 一种物理机节点的浮动授权方法 |
CN110175036A (zh) * | 2019-04-08 | 2019-08-27 | 北京深思数盾科技股份有限公司 | 软锁许可的升级方法及装置 |
CN110175036B (zh) * | 2019-04-08 | 2020-10-09 | 北京深思数盾科技股份有限公司 | 软锁许可的升级方法及装置 |
WO2021136075A1 (zh) * | 2019-12-30 | 2021-07-08 | 中兴通讯股份有限公司 | 产品许可管理方法及系统 |
CN111597545A (zh) * | 2020-05-19 | 2020-08-28 | 北京海泰方圆科技股份有限公司 | 一种授权管理方法及装置 |
CN112020058A (zh) * | 2020-08-04 | 2020-12-01 | 上海东方富联科技有限公司 | 基于设备指纹的校验方法、介质、服务端及系统 |
CN112069471A (zh) * | 2020-09-21 | 2020-12-11 | 浪潮云信息技术股份公司 | 基于国产cpu的应用系统授权方法、装置及介质 |
CN112770415A (zh) * | 2020-12-31 | 2021-05-07 | 上海连尚网络科技有限公司 | 关于无线热点的信息处理方法和装置 |
WO2022142716A1 (zh) * | 2020-12-31 | 2022-07-07 | 上海连尚网络科技有限公司 | 关于无线热点的信息处理方法和装置 |
CN112770415B (zh) * | 2020-12-31 | 2023-07-14 | 上海连尚网络科技有限公司 | 关于无线热点的信息处理方法和装置 |
CN113742660A (zh) * | 2021-08-11 | 2021-12-03 | 阿里巴巴新加坡控股有限公司 | 应用程序许可管理系统及方法 |
CN113742660B (zh) * | 2021-08-11 | 2023-07-25 | 阿里巴巴新加坡控股有限公司 | 应用程序许可管理系统及方法 |
CN114266017A (zh) * | 2021-12-30 | 2022-04-01 | 北京深思数盾科技股份有限公司 | 软件许可方法及电子设备 |
CN114266017B (zh) * | 2021-12-30 | 2022-11-01 | 北京深盾科技股份有限公司 | 软件许可方法及电子设备 |
CN115146252A (zh) * | 2022-09-05 | 2022-10-04 | 深圳高灯计算机科技有限公司 | 授权认证方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838987A (zh) | 一种基于局域网的软件许可证动态授权管理方法 | |
US11651109B2 (en) | Permission management method, permission verification method, and related apparatus | |
CN110771088B (zh) | 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法 | |
CN107967416B (zh) | 版权维权检测的方法、装置和系统 | |
CN106650344B (zh) | 一种基于区块链的有第三方认证的数据存储方法 | |
JP5516821B2 (ja) | 仮想化及び認証を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法 | |
KR102460096B1 (ko) | 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치 | |
WO2018024061A1 (zh) | 一种共享数字内容的许可证的方法、装置及系统 | |
JP5863128B2 (ja) | ソフトウェアライセンスコントロール | |
CN110213276B (zh) | 一种微服务架构下的授权验证方法、服务器、终端及介质 | |
US8839444B2 (en) | Automatic analysis of software license usage in a computer network | |
CN111079091A (zh) | 一种软件的安全管理方法、装置、终端及服务器 | |
US9521032B1 (en) | Server for authentication, authorization, and accounting | |
EP3529950B1 (en) | Method for managing data traffic within a network | |
US20140157368A1 (en) | Software authentication | |
CN110908786A (zh) | 一种智能合约调用方法、装置及介质 | |
CN106411823A (zh) | 一种基于cdn的访问控制方法及相关设备 | |
WO2012155456A1 (zh) | 一种许可控制方法及系统 | |
CN104951712A (zh) | 一种Xen虚拟化环境下的数据安全防护方法 | |
CN110619222A (zh) | 基于区块链的授权处理方法、装置、系统及介质 | |
WO2014180392A1 (zh) | 一种基于m2m的信息处理方法和m2m业务平台 | |
CN110599311A (zh) | 资源处理方法、装置、电子设备及存储介质 | |
CN113039542A (zh) | 云计算网络中的安全计数 | |
US10326833B1 (en) | Systems and method for processing request for network resources | |
CN115396209B (zh) | 访问授权方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140604 |
|
RJ01 | Rejection of invention patent application after publication |