CN106528151A - 软件开发工具包管理方法及装置 - Google Patents
软件开发工具包管理方法及装置 Download PDFInfo
- Publication number
- CN106528151A CN106528151A CN201610977713.2A CN201610977713A CN106528151A CN 106528151 A CN106528151 A CN 106528151A CN 201610977713 A CN201610977713 A CN 201610977713A CN 106528151 A CN106528151 A CN 106528151A
- Authority
- CN
- China
- Prior art keywords
- license
- current time
- sdk
- request
- encryption algorithm
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 9
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了软件开发工具包管理方法及装置,其中,软件开发工具包管理方法包括:获取开启软件开发工具包SDK的开启请求,开启请求包括输入的许可证License;获取当前时间;根据当前时间确定License是否失效;如果License失效,则拒绝开启请求。该方法能够为SDK设置具有有效日期的License,从而禁止用户修改SDK,方便开发人员对SDK进行统一管理,进而有效地降低SDK的维护成本。
Description
技术领域
本发明涉及智慧家居技术领域,尤其涉及一种软件开发工具包管理方法及装置。
背景技术
随着智能家居技术的不断发展,智能家电的功能也越来越多。通常在智能家电中设置Wi-Fi模块以实现家电与外界网络的连接。其中,Wi-Fi模块中集成有软件开发工具包(Software Development Kit,SDK),用以提供云平台对接、空中下载技术(Over-the-AirTechnology,OTA)升级和近场发现等功能。用户可以对Wi-Fi模块中的SDK进行再开发,以实现对家电快速地网络连接和操作控制。
然而,现有的智能家电中,其Wi-Fi模块的SDK对用户是完全公开的,用户可以直接对SDK进行修改、再开发。由此,导致SDK开发者无法对SDK进行统一的管理和控制,SDK版本混杂,同时也增加了SDK开发者的维护难度。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种软件开发工具包管理方法,该方法通过对SDK设置有效期,实现对SDK的统一管理和控制,降低SDK的维护成本。
本发明的第二个目的在于提出一种软件开发工具包管理装置。
为了实现上述目的,本发明第一方面实施例提出了一种软件开发工具包管理方法,包括:获取开启软件开发工具包SDK的开启请求,开启请求包括输入的许可证License;获取当前时间;根据当前时间确定License是否失效;如果License失效,则拒绝开启请求。
本发明实施例的软件开发工具包管理方法,通过获取开启软件开发工具包的开启请求,并获取当前时间,根据当前时间确定开启请求中的License是否失效,并在License失效时拒绝开启请求,能够为SDK设置具有有效日期的License,从而禁止用户修改SDK,方便开发人员对SDK进行统一管理,进而有效地降低SDK的维护成本。
为了实现上述目的,本发明第二方面实施例提出了一种软件开发工具包管理装置,包括:第一获取模块,用于获取开启软件开发工具包SDK的开启请求,开启请求包括输入的许可证License;第二获取模块,用于获取当前时间;确定模块,用于根据当前时间确定License是否失效;禁止模块,用于当License失效时,拒绝开启请求。
本发明实施例的软件开发工具包管理装置,通过获取开启软件开发工具包的开启请求,并获取当前时间,根据当前时间确定开启请求中的License是否失效,并在License失效时拒绝开启请求,能够为SDK设置具有有效日期的License,从而禁止用户修改SDK,方便开发人员对SDK进行统一管理,进而有效地降低SDK的维护成本。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的软件开发工具包管理方法的流程示意图;
图2是获取当前时间的流程示意图;
图3是根据当前时间确定License是否失效的流程示意图;
图4是本发明一实施例提出的软件开发工具包管理装置的结构示意图;
图5是本发明另一实施例提出的软件开发工具包管理装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1是本发明一实施例提出的软件开发工具包管理方法的流程示意图。
如图1所示,本实施例的软件开发工具包管理方法包括:
S11:获取开启软件开发工具包SDK的开启请求,开启请求包括输入的许可证License。
通常情况下,智能家电的Wi-Fi模块的SDK对用户是完全公开的。用户可以从网络中下载相应的SDK进行修改、再开发等操作,导致SDK的版本混乱,增加了开发人员的管理负担。因此,本实施例中,在SDK中内置一个License验证程序。如果用户想要开启SDK,需要通过输入正确的License才能够进入。
具体地,当用户想要正常使用SDK时,需要先向License验证程序发送开启请求,即输入License。其中,license通过预设加密算法加密生成,且具有一定的有效期限。如果License验证程序发现License超出了有效期限,则会禁止开启SDK。
其中,预设加密算法包括128位的高级加密标准(Advanced EncryptionStandard,AES)AES-128对称加密算法、数据加密标准(Data Encryption Standard,DES)DES对称加密算法、RSA非对称加密算法和国际数据加密算法(International DataEncryption Algorithm,IDEA)IDEA加密算法等可靠加密算法。
S12:获取当前时间。
本实施例中,为了验证License是否超出有效期,需要将有效期同当前时间进行比较,因此,需要获取当前时间。其中,当前时间为输入License所对应的时间。
具体地,如图2所示,获取当前时间可以包括以下步骤:
S21:执行SDK的库文件中的时间同步代码。
本实施例中,在SDK的库文件中,存储有从服务器获取当前时间的时间同步代码。当License验证程序需要获取当前时间时,调用该时间同步代码即可。
S22:根据时间同步代码向服务器发送时间同步请求,以使服务器根据时间同步请求返回当前时间。
本实施例中,License验证程序调用时间同步代码之后,即可根据该时间同步代码向服务器发送时间同步请求,以使服务器根据时间同步请求返回当前时间。其中,服务器与互联网连通,可即时地获取网络时间,也就是说,服务器返回的当前时间是一个标准的时间,例如北京时间。
S23:接收服务器返回的当前时间。
本实施例中,在服务器接收到时间同步请求之后,即获取当前时间并发送给License验证程序。License验证程序接收服务器返回的当前时间。
S13:根据当前时间确定License是否失效。
本实施例中,在获取到当前时间之后,即可根据当前时间确定License是否失效。
具体地,如图3所示,根据当前时间确定License是否失效,可以包括以下步骤:
S31:确定License的有效日期。
上文提到,License具有一定的有效期限,通过解析License可以获取其对应的有效日期。因此,对License进行解密后,可获取一个描述有效日期的字段,字段的数值对应的就是License的有效日期。
举例来说,描述License的有效日期的字段可用3个字节长度的16进制数字表示,如表1所示。
表1定义License的有效日期的字段表
Byte2 | Byte1 | Byte0 |
年 | 月 | 日 |
表1中,Byte0用于表示日期信息,取值范围为1~31;Byte1用于表示月份信息,取值范围为1~12;Byte2用于表示年份信息,取值范围为16~99,表示2016~2099年。
本实施例中,在SDK验证程序获取到描述License有效日期对应的字段及字段的数值之后,即可根据字段及字段的数值确定License的有效日期。比如,SDK验证程序对License进行解密后获得的字段的数值为0x100C09,其代表含义为License的有效日期为2016年12月9日。
需要说明的是,定义License的有效日期的字段不限于表1中所示的3个字节,还可以增加字节单元进行扩展。例如增加一个字节用于定义时区,进而满足不同国家SDK开发者的需求。
S32:将有效日期与当前时间进行对比。
本实施例中,在获取到当前时间和License的有效日期之后,即可将有效日期和当前时间进行对比,以判断当前时间是否超过License的有效日期。
S33:如果当前时间已超过有效日期,则确定License失效。
本实施例中,将有效日期和当前时间进行对比,如果当前时间已超过有效日期,则确定License失效。
S34:如果当前时间未超过有效日期,则确定License有效。
本实施例中,将有效日期和当前时间进行对比,如果当前时间未超过有效日期,则确定License有效,并进一步判断License是否正确。若License正确,则接受开启请求,并开启SDK,然后对SDK进行初始化;否则,拒绝开启请求。
S14:如果License失效,则拒绝开启请求。
本实施例中,将有效日期和当前时间进行对比,如果当前时间已超过有效日期,则确定License失效,拒绝开启请求。例如:用户输入的License失效,则可禁止开启SDK,从而防止了用户对SDK的随意修改、再开发。
本发明实施例的软件开发工具包管理方法,通过获取开启软件开发工具包的开启请求,并获取当前时间,根据当前时间确定开启请求中的License是否失效,并在License失效时拒绝开启请求,能够为SDK设置具有有效日期的License,从而禁止用户修改SDK,方便开发人员对SDK进行统一管理,进而有效地降低SDK的维护成本。
为了实现上述实施例,本发明还提出一种软件开发工具包管理装置,图4是本发明一实施例提出的软件开发工具包管理装置的结构示意图。
如图4所示,本实施例的软件开发工具包管理装置包括:第一获取模块410、第二获取模块420、确定模块430,以及禁止模块440。其中,
第一获取模块410,用于获取开启软件开发工具包SDK的开启请求,开启请求包括输入的许可证License。
其中,license通过预设加密算法加密生成。预设加密算法包括AES-128对称加密算法、DES对称加密算法、RSA非对称加密算法和IDEA加密算法等可靠加密算法。
第二获取模块420,用于获取当前时间。
确定模块430,用于根据当前时间确定License是否失效。
禁止模块440,用于当License失效时,拒绝开启请求。
可选地,一些实施例中,参见图5,图5是本发明另一实施例提出的软件开发工具包管理装置的结构示意图。
如图5所示,本实施例的软件开发工具包管理装置还可以包括:
判断模块450,用于当License有效时,则进一步判断License是否正确。
开启模块460,用于当License正确时,接受开启请求,并根据开启请求开启SDK。
本实施例中,当判断模块450确定License正确时,开启模块460接受开启请求,并根据该开启请求开启SDK;当判断模块450确定License错误时,禁止模块440拒绝开启请求。确定模块430包括:
第一确定单元431,用于确定License的有效日期。
具体地,第一确定单元431用于:获取描述License有效日期对应的字段及地段的数值,并根据获取的字段及字段的数值确定有效日期。
对比单元432,用于将有效日期与当前时间进行对比。
第二确定单元433,用于当当前时间已超过有效日期时,确定License失效。
第三确定单元434,用于当当前时间未超过有效日期时,确定License有效。
第二获取模块420包括:
执行单元421,用于执行SDK的库文件中的时间同步代码。
发送单元422,用于根据时间同步代码向服务器发送时间同步请求,以使服务器根据时间同步请求返回当前时间。
接收单元423,用于接收服务器返回的当前时间。
需要说明的是,前述实施例中对软件开发工具包管理方法实施例的解释说明也适用于本实施例的软件开发工具包管理装置,其实现原理类似,此处不再赘述。
本发明实施例的软件开发工具包管理装置,通过获取开启软件开发工具包的开启请求,并获取当前时间,根据当前时间确定开启请求中的License是否失效,并在License失效时拒绝开启请求,能够为SDK设置具有有效日期的License,从而禁止用户修改SDK,方便开发人员对SDK进行统一管理,进而有效地降低SDK的维护成本。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种软件开发工具包管理方法,其特征在于,包括:
获取开启软件开发工具包SDK的开启请求,所述开启请求包括输入的许可证License;
获取当前时间;
根据所述当前时间确定所述License是否失效;
如果所述License失效,则拒绝所述开启请求。
2.如权利要求1所述的方法,其特征在于,还包括:
如果所述License有效,则进一步判断所述License是否正确;
如果正确,则接受所述开启请求,并根据所述开启请求开启所述SDK;
如果错误,则拒绝所述开启请求。
3.如权利要求1所述的方法,其特征在于,根据所述当前时间确定所述License是否失效,包括:
确定所述License的有效日期;
将所述有效日期与所述当前时间进行对比;
如果所述当前时间已超过所述有效日期,则确定所述License失效;
如果所述当前时间未超过所述有效日期,则确定所述License有效。
4.如权利要求3所述的方法,其特征在于,确定所述License的有效日期,包括:
获取描述所述License有效日期对应的字段及所述字段的数值;
根据所述字段及所述字段的数值确定所述有效日期。
5.如权利要求1-4任一项所述的方法,其特征在于,所述license通过预设加密算法加密生成,其中,所述预设加密算法包括AES-128对称加密算法、DES对称加密算法、RSA非对称加密算法和IDEA加密算法。
6.如权利要求1所述的方法,其特征在于,获取当前时间,包括:
执行所述SDK的库文件中的时间同步代码;
根据所述时间同步代码向服务器发送时间同步请求,以使所述服务器根据所述时间同步请求返回所述当前时间;
接收所述服务器返回的所述当前时间。
7.一种软件开发工具包管理装置,其特征在于,包括:
第一获取模块,用于获取开启软件开发工具包SDK的开启请求,所述开启请求包括输入的许可证License;
第二获取模块,用于获取当前时间;
确定模块,用于根据所述当前时间确定所述License是否失效;
禁止模块,用于当所述License失效时,拒绝所述开启请求。
8.如权利要求7所述的装置,其特征在于,还包括:
判断模块,用于当所述License有效时,则进一步判断所述License是否正确;
开启模块,用于当所述License正确时,接受所述开启请求,并根据所述开启请求开启所述SDK;
所述禁止模块,还用于当所述License错误时,拒绝所述开启请求。
9.如权利要求7所述的装置,其特征在于,所述确定模块,包括:
第一确定单元,用于确定所述License的有效日期;
对比单元,用于将所述有效日期与所述当前时间进行对比;
第二确定单元,用于当所述当前时间已超过所述有效日期时,确定所述License失效;
第三确定单元,用于当所述当前时间未超过所述有效日期时,确定所述License有效。
10.如权利要求9所述的装置,其特征在于,所述第一确定单元,用于:
获取描述所述License有效日期对应的字段及所述字段的数值;
根据所述字段及所述字段的数值确定所述有效日期。
11.如权利要求7-10任一项所述的装置,其特征在于,所述license通过预设加密算法加密生成,其中,所述预设加密算法包括AES-128对称加密算法、DES对称加密算法、RSA非对称加密算法和IDEA加密算法。
12.如权利要求7所述的装置,其特征在于,所述第二获取模块,包括:
执行单元,用于执行所述SDK的库文件中的时间同步代码;
发送单元,用于根据所述时间同步代码向服务器发送时间同步请求,以使所述服务器根据所述时间同步请求返回所述当前时间;
接收单元,用于接收所述服务器返回的所述当前时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977713.2A CN106528151A (zh) | 2016-10-28 | 2016-10-28 | 软件开发工具包管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977713.2A CN106528151A (zh) | 2016-10-28 | 2016-10-28 | 软件开发工具包管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528151A true CN106528151A (zh) | 2017-03-22 |
Family
ID=58350004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610977713.2A Pending CN106528151A (zh) | 2016-10-28 | 2016-10-28 | 软件开发工具包管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528151A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991807A (zh) * | 2015-08-07 | 2015-10-21 | 金蝶软件(中国)有限公司 | 一种补丁包组件生成、处理方法及装置 |
CN107341368A (zh) * | 2017-06-06 | 2017-11-10 | 广州视源电子科技股份有限公司 | 许可证有效时间校验方法及装置 |
CN107358032A (zh) * | 2017-06-23 | 2017-11-17 | 深圳市康冠医疗设备有限公司 | 一种产品的升级方法、装置及产品升级系统 |
CN112463201A (zh) * | 2020-12-14 | 2021-03-09 | 四川长虹电器股份有限公司 | 基于系统聚类和灰色关联分析的软件维护成本优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430745A (zh) * | 2007-11-07 | 2009-05-13 | 三星电子株式会社 | 移动终端的数字权限管理方法和设备 |
CN101930516A (zh) * | 2010-09-09 | 2010-12-29 | 南京中兴特种软件有限责任公司 | 一种嵌入式设备的许可证使用方法 |
CN103258151A (zh) * | 2012-10-30 | 2013-08-21 | 中国科学院沈阳自动化研究所 | 一种实时授权的软件License控制方法 |
CN103440441A (zh) * | 2013-08-28 | 2013-12-11 | 北京华胜天成科技股份有限公司 | 软件保护的方法及系统 |
CN105224832A (zh) * | 2015-10-16 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种License授权集中管理的方法 |
-
2016
- 2016-10-28 CN CN201610977713.2A patent/CN106528151A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430745A (zh) * | 2007-11-07 | 2009-05-13 | 三星电子株式会社 | 移动终端的数字权限管理方法和设备 |
CN101930516A (zh) * | 2010-09-09 | 2010-12-29 | 南京中兴特种软件有限责任公司 | 一种嵌入式设备的许可证使用方法 |
CN103258151A (zh) * | 2012-10-30 | 2013-08-21 | 中国科学院沈阳自动化研究所 | 一种实时授权的软件License控制方法 |
CN103440441A (zh) * | 2013-08-28 | 2013-12-11 | 北京华胜天成科技股份有限公司 | 软件保护的方法及系统 |
CN105224832A (zh) * | 2015-10-16 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种License授权集中管理的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991807A (zh) * | 2015-08-07 | 2015-10-21 | 金蝶软件(中国)有限公司 | 一种补丁包组件生成、处理方法及装置 |
CN104991807B (zh) * | 2015-08-07 | 2019-03-01 | 金蝶软件(中国)有限公司 | 一种补丁包组件生成、处理方法及装置 |
CN107341368A (zh) * | 2017-06-06 | 2017-11-10 | 广州视源电子科技股份有限公司 | 许可证有效时间校验方法及装置 |
CN107341368B (zh) * | 2017-06-06 | 2019-11-05 | 广州视源电子科技股份有限公司 | 许可证有效时间校验方法及装置 |
CN107358032A (zh) * | 2017-06-23 | 2017-11-17 | 深圳市康冠医疗设备有限公司 | 一种产品的升级方法、装置及产品升级系统 |
CN107358032B (zh) * | 2017-06-23 | 2020-05-19 | 深圳市康冠医疗设备有限公司 | 一种产品的升级方法、装置及产品升级系统 |
CN112463201A (zh) * | 2020-12-14 | 2021-03-09 | 四川长虹电器股份有限公司 | 基于系统聚类和灰色关联分析的软件维护成本优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528151A (zh) | 软件开发工具包管理方法及装置 | |
US9021568B2 (en) | Verification method for verifying validity of program, and verification system | |
EP2615856A1 (en) | Information distribution method, information distribution system and in-vehicle terminal | |
CN105574414B (zh) | 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置 | |
CN107851159B (zh) | 控制配置数据储存器 | |
EP2930643A1 (en) | Vehicle network authentication system, and vehicle network authentication method | |
CN109787956B (zh) | 数据表加密方法、装置、计算机设备及存储介质 | |
CN103679005A (zh) | 启用安全电子控制单元的开发模式的方法 | |
US9589130B2 (en) | Application trust-listing security service | |
CN106341732B (zh) | 桌面启动器的管理方法及智能电视机 | |
JP2016100779A (ja) | 監視システム、監視方法、及びプログラム | |
CN111310233A (zh) | 应用界面显示方法、装置、设备以及存储介质 | |
CN106650355A (zh) | 一种保护函数调用的方法及装置 | |
CN104951675A (zh) | 一种识别盗版应用的方法及系统 | |
CN106611131B (zh) | 权限处理方法及装置 | |
CN113366809A (zh) | 弱哈希凭证的确定 | |
CN106446620B (zh) | Wifi模块的权限设置、处理方法及装置 | |
CN107809426B (zh) | 数据信息的验证方法和系统 | |
KR102086749B1 (ko) | 텍스트 마이닝을 이용한 안드로이드 실행 파일의 유사도 측정 시스템 및 방법 | |
JP2011070289A (ja) | 権限設定一時変更システム | |
CN109241728B (zh) | 密码信息的获取方法、装置、计算机设备及存储介质 | |
CN111124532A (zh) | 一种服务加载方法、装置及电子设备和存储介质 | |
CN109587529B (zh) | 一种电视机功能项的授权方法及授权装置 | |
KR20190134817A (ko) | 보안 엘리먼트를 공장 상태로 복원하는 방법 | |
KR20180135348A (ko) | 화이트 리스트의 안전 패치 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |