CN109918869A - 一种基于模板的统一license控制方法 - Google Patents
一种基于模板的统一license控制方法 Download PDFInfo
- Publication number
- CN109918869A CN109918869A CN201910112308.8A CN201910112308A CN109918869A CN 109918869 A CN109918869 A CN 109918869A CN 201910112308 A CN201910112308 A CN 201910112308A CN 109918869 A CN109918869 A CN 109918869A
- Authority
- CN
- China
- Prior art keywords
- license
- information
- file
- plug
- basic information
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于模板的统一license控制方法,包括如下步骤:步骤S1、基于预先设定的模板格式,编写license基础信息文件;步骤S2、使用license生成程序加密生成license文件;步骤S3、上传至license服务端;步骤S4、当客户需要访问产品客户端的时候,产品客户端自动收集当前环境信息并进行加密处理,发送至license服务端;步骤S5、license服务端对环境信息进行数据解密和解析,并将其匹配查询对应的license基础信息;步骤S6、当查询到内存中对应的license基础信息后开始对数据进行比对,比对产品客户端收集的环境信息是否与license基础信息文件的内容的数据一致;如果不一致就会向产品客户端返回验证失败的信息。本发明可以有效节约开发时间、成本和提交检验效率。
Description
技术领域
本发明涉及软件授权技术领域,具体涉及一种基于模板的统一license控制方法。
背景技术
目前,license控制基本是基于软件安装的机器mac、ip,以及授权时间来进行的。这种方式下,如果需要额外的功能控制,比如节点数、菜单、在线用户数等功能控制,只能通过硬编码来实现,或者通过预置的若干条件来进行控制。
基于硬编码或者内置条件进行控制的方式,虽然能满足软件license控制需求,或者满足软件多维度条件控制需求,但是在需求变化多种多样或者基于同一服务进行所有产品控制的情况下会明显地增加复杂度。
发明内容
针对现有技术的不足,本发明旨在提供一种基于模板的统一license控制方法,可以有效节约开发时间、成本和提交检验效率。
一种基于模板的统一license控制方法,包括如下步骤:
步骤S1、基于预先设定的模板格式,编写license基础信息文件;
步骤S2、将步骤S1中编写的license基础信息文件使用license生成程序加密生成license文件;
步骤S3、上传步骤S2中生成的license文件至license服务端;
步骤S4、当客户需要访问产品客户端的时候,向产品客户端发送访问请求;产品客户端在收到客户的访问请求后,触发校验license服务的逻辑,开始自动收集当前环境信息,所述环境信息包括服务器ip、mac地址、产品名、产品版本号、产品自定义参数,收集成功后进行加密处理,并将加密的环境信息发送至license服务端;
步骤S5、license服务端接收到产品客户端发送的加密的环境信息后进行数据解密和解析,并将其匹配查询内存中对应的license基础信息;
步骤S6、当查询到内存中对应的license基础信息后,license服务端开始对数据进行比对,比对产品客户端收集的环境信息是否与license基础信息文件的内容的数据一致;如果不一致就会向产品客户端返回验证失败的信息。
进一步地,步骤S2的具体过程为:使用基于gpg生成的私钥文件、私钥key、私钥密码对license基础信息文件进行加密,license生成程序会在license基础信息文件的内容的基础上增加对应的密文md5以及生成license文件的时间戳信息,保证license文件是独一无二的。
进一步地,步骤S2中,license设有默认的插件接口,如果预先设定的模板格式不能满足实际需要,则基于开放的license插件接口,按照实际要求编写license插件程序,并加密生成插件包,在步骤S3中将加密的插件包和license文件一并发送至license服务,license服务会将插件包放在设定的服务目录下;
步骤S6中,当license基础信息校验完成后,license服务端还会查看是否有插件验证,如果存在插件验证,则会根据license基础信息中配置的插件程序名找到在当前服务目录中预置好的插件包,并且基于动态代理的方式使用插件信息配置的类名、路径信息加载到程序中,执行插件包中的业务逻辑进行插件信息的验证,如果插件信息验证通过,则会向产品客户端返回验证成功的信息,否则会向产品客户端提示插件中预置好的提示信息。
进一步地,步骤S3中,license文件通过license服务界面上传,上传后license服务端会校验license文件是否可以在内存中解密以及数据信息是否满足设定的需求。
本发明的有益效果在于:
从成本的角度上来说,可以节约关于license方面的需求开发成本。同一公司的产品使用同一个license服务即可满足需求,基础形态即可满足绝大部分license校验的需求。
从时间的角度上来说,避免了从前同一公司每开发一款产品就要对应开发一套license服务,浪费开发资源以及工期,而且后期运维服务部署时,要管理多个license服务管理,也浪费精力的问题。
从效率的角度上来说,除了基础规则校验,对于特殊的产品维度校验需求,比如需要校验节点数、用户数或其他动态校验参数,可以快速的开发插件,满足个性化需求,而且解决了软件版本控制混乱,无法定位产品与license服务或具体license的关系问题。
附图说明
图1为本发明实施例的总体流程示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
以下先对实施例中出现的专业术语进行简单解释:
(1)license服务:指用于校验产品是否授权的服务。
(2)插件:指产品人员基于提供的接口开发的用于校验自身特殊需求的服务包,可以动态加载到授权服务中。
(3)thrift:Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。
(4)模板:服务定义的基础模板,用于产品人员填写生成对应license文件,以及关联对应的插件。
本实施例提供一种基于模板的统一license控制方法,如图1所示,包括如下步骤:
步骤S1、基于预先设定的模板格式,编写license基础信息文件;
步骤S2、将步骤S1中编写的license基础信息文件使用license生成程序加密生成license文件;
步骤S3、上传步骤S2中生成的license文件至license服务端;
步骤S4、当客户需要访问产品客户端的时候,向产品客户端发送访问请求;产品客户端在收到客户的访问请求后,触发校验license服务的逻辑,开始自动收集当前环境信息,所述环境信息包括服务器ip、mac地址、产品名、产品版本号、产品自定义参数(kv格式的存储,可以用于开关、分类等功能),收集成功后进行加密处理,并将加密的环境信息发送至license服务端;
步骤S5、license服务端接收到产品客户端发送的加密的环境信息后进行数据解密和解析,并将其匹配查询内存中对应的license基础信息;
步骤S6、当查询到内存中对应的license基础信息后,license服务端开始对数据进行比对,比对产品客户端收集的环境信息是否与license基础信息文件的内容的数据一致;如果不一致(比如产品客户端ip与创建的license基础信息中对应的ip不符合等)就会向产品客户端返回验证失败的信息。
因为license信息是加密的,插件包也是加密的,所以无法仿造插件包,因为无法知道该信息该通过什么方式、什么类被加载。
进一步地,在本实施例中,步骤S2的具体过程为:要使用基于gpg生成的私钥文件、私钥key、私钥密码对license基础信息文件进行加密,license生成程序会在license基础信息文件的内容的基础上增加对应的密文md5以及生成license文件的时间戳信息,保证license文件是独一无二的。
进一步地,在本实施例中,步骤S2中,license设有默认的插件接口,如果预先设定的模板格式不能满足实际需要,则基于开放的license插件接口,按照实际要求编写license插件程序,并加密生成插件包,在步骤S3中将加密的插件包和license文件一并发送至license服务,license服务会将插件包放在设定的服务目录下;
步骤S6中,当license基础信息校验完成后,license服务端还会查看是否有插件验证,如果存在插件验证,则会根据license基础信息中配置的插件程序名找到在当前服务目录中预置好的插件包,并且基于动态代理的方式使用插件信息配置的类名、路径信息加载到程序中,执行插件包中的业务逻辑进行插件信息的验证,如果插件信息验证通过,则会向产品客户端返回验证成功的信息,否则会向产品客户端提示插件中预置好的提示信息。
由此,程序员只需要继承插件接口,就可以实现自身的插件程序,编写任意逻辑,或者引入自己的额外的配置文件,从而可以避免license服务验证维度单一,而单独开发另一套license服务的成本过高问题。
进一步地,步骤S3中,license文件通过license服务界面上传,上传后license服务端会校验license文件是否可以在内存中解密以及数据信息是否满足设定的需求(例如是否已经过期,服务机器的ip、mac地址是否与文件匹配等。)
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (4)
1.一种基于模板的统一license控制方法,其特征在于,包括如下步骤:
步骤S1、基于预先设定的模板格式,编写license基础信息文件;
步骤S2、将步骤S1中编写的license基础信息文件使用license生成程序加密生成license文件;
步骤S3、上传步骤S2中生成的license文件至license服务端;
步骤S4、当客户需要访问产品客户端的时候,向产品客户端发送访问请求;产品客户端在收到客户的访问请求后,触发校验license服务的逻辑,开始自动收集当前环境信息,所述环境信息包括服务器ip、mac地址、产品名、产品版本号、产品自定义参数,收集成功后进行加密处理,并将加密的环境信息发送至license服务端;
步骤S5、license服务端接收到产品客户端发送的加密的环境信息后进行数据解密和解析,并将其匹配查询内存中对应的license基础信息;
步骤S6、当查询到内存中对应的license基础信息后,license服务端开始对数据进行比对,比对产品客户端收集的环境信息是否与license基础信息文件的内容的数据一致;如果不一致就会向产品客户端返回验证失败的信息。
2.根据权利要求1所述的基于模板的统一license控制方法,其特征在于,步骤S2的具体过程为:使用基于gpg生成的私钥文件、私钥key、私钥密码对license基础信息文件进行加密,license生成程序会在license基础信息文件的内容的基础上增加对应的密文md5以及生成license文件的时间戳信息,保证license文件是独一无二的。
3.根据权利要求1所述的基于模板的统一license控制方法,其特征在于,步骤S2中,license设有默认的插件接口,如果预先设定的模板格式不能满足实际需要,则基于开放的license插件接口,按照实际要求编写license插件程序,并加密生成插件包,在步骤S3中将加密的插件包和license文件一并发送至license服务,license服务会将插件包放在设定的服务目录下;
步骤S6中,当license基础信息校验完成后,license服务端还会查看是否有插件验证,如果存在插件验证,则会根据license基础信息中配置的插件程序名找到在当前服务目录中预置好的插件包,并且基于动态代理的方式使用插件信息配置的类名、路径信息加载到程序中,执行插件包中的业务逻辑进行插件信息的验证,如果插件信息验证通过,则会向产品客户端返回验证成功的信息,否则会向产品客户端提示插件中预置好的提示信息。
4.根据权利要求1所述的基于模板的统一license控制方法,其特征在于,步骤S3中,license文件通过license服务界面上传,上传后license服务端会校验license文件是否可以在内存中解密以及数据信息是否满足设定的需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112308.8A CN109918869A (zh) | 2019-02-13 | 2019-02-13 | 一种基于模板的统一license控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112308.8A CN109918869A (zh) | 2019-02-13 | 2019-02-13 | 一种基于模板的统一license控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109918869A true CN109918869A (zh) | 2019-06-21 |
Family
ID=66961504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112308.8A Pending CN109918869A (zh) | 2019-02-13 | 2019-02-13 | 一种基于模板的统一license控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918869A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422570A (zh) * | 2021-12-31 | 2022-04-29 | 深圳市联软科技股份有限公司 | 一种跨平台的多模块通讯方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1289100A (zh) * | 1999-09-17 | 2001-03-28 | 国际商业机器公司 | 用于在电子销售系统中唯一识别顾客购买的方法及设备 |
US20040243819A1 (en) * | 2002-06-28 | 2004-12-02 | Steven Bourne | Using a flexible rights template to obtain a signed rights label (SRL) for digital content in a rights management system |
CN1650303A (zh) * | 2002-02-27 | 2005-08-03 | 康坦夹德控股股份有限公司 | 联网服务许可系统和方法 |
CN1704863A (zh) * | 2004-05-25 | 2005-12-07 | 华为技术有限公司 | 一种许可证文件生成方法及软件产品保护方法和系统 |
CN101442404A (zh) * | 2008-12-30 | 2009-05-27 | 北京中企开源信息技术有限公司 | 一种许可证多级管理系统及方法 |
CN102324009A (zh) * | 2011-09-07 | 2012-01-18 | 上海普元信息技术股份有限公司 | 基于云计算平台的软件版权控制系统及其方法 |
CN102495811A (zh) * | 2011-12-12 | 2012-06-13 | 创新科软件技术(深圳)有限公司 | 一种许可证生成及验证方法和一种存储设备 |
-
2019
- 2019-02-13 CN CN201910112308.8A patent/CN109918869A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1289100A (zh) * | 1999-09-17 | 2001-03-28 | 国际商业机器公司 | 用于在电子销售系统中唯一识别顾客购买的方法及设备 |
CN1650303A (zh) * | 2002-02-27 | 2005-08-03 | 康坦夹德控股股份有限公司 | 联网服务许可系统和方法 |
US20040243819A1 (en) * | 2002-06-28 | 2004-12-02 | Steven Bourne | Using a flexible rights template to obtain a signed rights label (SRL) for digital content in a rights management system |
CN1704863A (zh) * | 2004-05-25 | 2005-12-07 | 华为技术有限公司 | 一种许可证文件生成方法及软件产品保护方法和系统 |
CN101442404A (zh) * | 2008-12-30 | 2009-05-27 | 北京中企开源信息技术有限公司 | 一种许可证多级管理系统及方法 |
CN102324009A (zh) * | 2011-09-07 | 2012-01-18 | 上海普元信息技术股份有限公司 | 基于云计算平台的软件版权控制系统及其方法 |
CN102495811A (zh) * | 2011-12-12 | 2012-06-13 | 创新科软件技术(深圳)有限公司 | 一种许可证生成及验证方法和一种存储设备 |
Non-Patent Citations (1)
Title |
---|
熊盛青等: "《航空地球物理综合探测理论技术方法装备应用》", 30 November 2018, 地址出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422570A (zh) * | 2021-12-31 | 2022-04-29 | 深圳市联软科技股份有限公司 | 一种跨平台的多模块通讯方法及系统 |
CN114422570B (zh) * | 2021-12-31 | 2024-05-14 | 深圳市联软科技股份有限公司 | 一种跨平台的多模块通讯方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636062B (zh) | 设备的安全交互控制方法、装置、电子设备及存储介质 | |
US20210072815A1 (en) | Policy-enabled encryption keys having complex logical operations | |
CN107612889B (zh) | 防止用户信息泄露的方法 | |
CN102479304A (zh) | 软件权限控制方法、客户端及系统 | |
CN113904806A (zh) | 一种可信执行环境多节点认证方法 | |
US20210185026A1 (en) | System and method for hierarchy manipulation in an encryption key management system | |
WO2017147337A1 (en) | Policy-enabled encryption keys having ephemeral policies | |
US10348485B2 (en) | Linking encryption key management with granular policy | |
CN111181723A (zh) | 物联网设备间离线安全认证的方法和装置 | |
CN112860791A (zh) | 一种跨网数据同步控制系统、方法及存储介质 | |
US11063980B2 (en) | System and method for associating encryption key management policy with device activity | |
CN115632779B (zh) | 一种基于配电网的量子加密通信方法及系统 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
CN114189337A (zh) | 一种固件烧录方法、装置、设备以及存储介质 | |
CN109918869A (zh) | 一种基于模板的统一license控制方法 | |
CN111914270A (zh) | 基于区块链技术的可编程认证服务方法和系统 | |
CN106790364A (zh) | 一种远程登录方法及装置 | |
CN106161366A (zh) | 一种减少ssl占用空间的方法及系统 | |
CN111818521B (zh) | 一种基于数据中心5g网络加密组播的权限认证方法与系统 | |
CN114157470A (zh) | 一种令牌管理方法和装置 | |
Biham et al. | K7: A Protected Protocol for Industrial Control Systems that Fits Large Organizations | |
CN114513357A (zh) | 嵌入式设备的集成控制方法及系统 | |
CN114117438A (zh) | 数据访问方法、装置、电子设备及计算机存储介质 | |
CN111224930A (zh) | 数据安全传输方法、系统、计算机设备及可读存储介质 | |
CN115967538A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100081 No.101, 1st floor, building 14, 27 Jiancai Chengzhong Road, Haidian District, Beijing Applicant after: Beijing PERCENT Technology Group Co.,Ltd. Address before: 100081 16 / F, block a, Beichen Century Center, building 2, courtyard 8, Beichen West Road, Chaoyang District, Beijing Applicant before: BEIJING BAIFENDIAN INFORMATION SCIENCE & TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |