1.本发明涉及数据管理技术领域,尤其涉及一种智能卡密码管理方法、系统、存储介质及服务器。
背景技术:2.在虚拟服务这个领域,目前国内的服务平台都提供着不同类型的虚拟商品,例如常见的影视会员卡、电商礼品卡、第三方平台会员等。虚拟商品也越来越受大众接收,使用群体日益增长。虚拟商品的使用方式通常需要服务平台将兑换码(卡密)下发给用户,并提示用户到平台激活和使用。
3.站在服务平台的角度,如何安全有效地管理如此庞大的卡密数据将成为首要考虑的问题,而现有市面上通常有两种卡密管理方案,一种是能够自主生成卡密的自营平台,不涉及第三方卡密的存储和外放使用;另一种是非自营的卡密平台,通过api方式与第三方卡密系统采购卡密,将拿到的卡密转成直充的方式为用户充值;现有技术存在一些不足的地方;比如从整个采购销售链路来说目前市面上的卡密管理系统,还没有完整的一套支持线上线下采购、存储、销售使用、订单和库存管理的方案;卡密的采购、安全存储、加密销售使用、库存盘点都是环环相扣的节点,任何一个节点的缺失都有可能降低业务推进的效率,假设安全环节没有把控好而导致卡密泄露,甚至会造成企业经济损失。
技术实现要素:4.本发明的目的在于克服现有技术的不足,本发明提供了一种智能卡密码管理方法、系统、存储介质及服务器,极大地提高企业在对密码的运营过程中的工作效率,减少大量的人力成本;并且能够有效地防止卡密在存储、传输过程中被泄露的风险,提高了系统和运营的安全。
5.为了解决上述技术问题,本发明实施例提供了一种智能卡密码管理方法,,所述方法包括:
6.在卡密存储时,获得第三方卡密数据,并基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件;
7.基于des加密算法将所述卡密excel文件进行加密处理,并将加密处理结果存储至数据库中;
8.在卡密提取时,基于选择卡密批次和提取类型进行卡密提取处理,获得提取卡密;
9.在卡密盘点时,对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理。
10.可选的,所述预设模板兼容市面上的各种第三方卡密数据,其中,包括卡密名称、序列号、密文、采购价格、折扣及到期时间。
11.可选的,所述基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件之后,还包括:
12.基于apache poi技术对所述卡密excel文件进行密码设置处理。
13.可选的,所述基于选择卡密批次和提取类型进行卡密提取处理,包括:
14.基于选择卡密批次和离线提取类型进行卡密提取处理;
15.基于选择卡密批次和在线提取类型进行卡密提取处理。
16.可选的,所述基于选择卡密批次和离线提取类型进行卡密提取处理,包括:
17.在所述数据库中提取所述选择卡密批次对应的卡密数据,获得离线提取卡密数据;
18.对所述离线提取卡密数据进行des解密处理,并对解密数据利用apache poi技术转化为java的inputstream输入流,获得卡密流数据;
19.对所述卡密流数据利用分布式文件存储数据库mongodb的gridfs特性存储到mongodb中。
20.可选的,所述基于选择卡密批次和在线提取类型进行卡密提取处理,包括:
21.基于apache dubbo框架搭建的高性能分布式服务在所述数据库中提取所述选择卡密批次对应的卡密数据,获得在线提取卡密数据。
22.可选的,所述对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理,包括:
23.以所述数据库中的待盘点卡密作为统计粒度,对所述待盘点卡密的面值、折扣、剩余数量、入库数量、入库金额、作废数量、失效数量、失效金额、剩余金额的多个维度进行出入库统计处理;
24.对所述数据库中的待盘点卡密的批次、核销数量、采购金额、采购折扣维度进行核销数据统计处理。
25.另外,本发明实施例还提供了一种智能卡密码管理系统,所述系统包括:
26.卡密存储模块:用于在卡密存储时,获得第三方卡密数据,并基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件;基于des加密算法将所述卡密excel文件进行加密处理,并将加密处理结果存储至数据库中;
27.卡密提取模块:用于在卡密提取时,基于选择卡密批次和提取类型进行卡密提取处理,获得提取卡密;
28.卡密盘点模块:用于在卡密盘点时,对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理。
29.另外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述中任意一项所述的智能卡密码管理方法。
30.另外,本发明实施例还提供了一种服务器,其包括:
31.一个或多个处理器;
32.存储器;
33.一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据上述中任意一项所述的智能卡密码管理方法。
34.在本发明实施例中,极大地提高企业在对密码的运营过程中的工作效率,减少大量的人力成本;并且能够有效地防止卡密在存储、传输过程中被泄露的风险,提高了系统和
运营的安全。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
36.图1是本发明实施例中的智能卡密码管理方法的流程示意图;
37.图2是本发明实施例中的智能卡密码管理系统的结构组成示意图;
38.图3是本发明实施例中的服务器的结构组成示意图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
40.实施例一,请参阅图1,图1是本发明实施例中的智能卡密码管理方法的流程示意图。
41.如图1所示,一种智能卡密码管理方法,所述方法包括:
42.s11:在卡密存储时,获得第三方卡密数据,并基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件;
43.在本发明具体实施过程中,所述预设模板兼容市面上的各种第三方卡密数据,其中,包括卡密名称、序列号、密文、采购价格、折扣及到期时间。
44.进一步的,所述基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件之后,还包括:基于apache poi技术对所述卡密excel文件进行密码设置处理。
45.具体的,在对卡密存储时,可以通过离线的方式获得第三方卡密数据,然后根据预设卡密导入预设模板将该第三方卡密数据生成卡密excel文件;即通过预设卡密导入预设模板,兼容市面上各种第三方卡密数据,包括卡密名称、序列号、密文、采购价格、折扣、到期时间等属性,将卡密数据按照卡密模板生成卡密excel文件。鉴于卡密文件的高度保密性要求,系统提供了文件密码设置功能,使用apache poi技术对卡密文件设置密码,后续离线提取同一批次的卡密时,需要输入正确的密码才能提取成功,提高了卡密文件在线下传输场景的安全性。
46.s12:基于des加密算法将所述卡密excel文件进行加密处理,并将加密处理结果存储至数据库中;
47.在本发明具体实施过程中,在卡密持久化方面使用mysql数据库作为存储介质。由于卡密文件中的数据仍然处于明文的状态,考虑到卡密存储的安全性;本发明实施例中使用了des(data encryption standard)技术,它是一种使用密钥加密的对称算法,以64位为分组对数据进行加密,密钥长度为64位。鉴于卡密数据量大、线上使用卡密的高实时性的特殊场景,利用des加密技术在大数据量方面的高效特性,该技术能较好地兼顾安全性和使用
效率,十分适合本发明作为数据加密的技术手段。
48.s13:在卡密提取时,基于选择卡密批次和提取类型进行卡密提取处理,获得提取卡密;
49.在本发明具体实施过程中,所述基于选择卡密批次和提取类型进行卡密提取处理,包括:基于选择卡密批次和离线提取类型进行卡密提取处理;基于选择卡密批次和在线提取类型进行卡密提取处理。
50.进一步的,所述基于选择卡密批次和离线提取类型进行卡密提取处理,包括:在所述数据库中提取所述选择卡密批次对应的卡密数据,获得离线提取卡密数据;对所述离线提取卡密数据进行des解密处理,并对解密数据利用apache poi技术转化为java的inputstream输入流,获得卡密流数据;对所述卡密流数据利用分布式文件存储数据库mongodb的gridfs特性存储到mongodb中。
51.进一步的,所述基于选择卡密批次和在线提取类型进行卡密提取处理,包括:基于apache dubbo框架搭建的高性能分布式服务在所述数据库中提取所述选择卡密批次对应的卡密数据,获得在线提取卡密数据。
52.具体的,在卡密提取上,提取类型分为离线和在线提取两种场景;即根据选择卡密批次和提取类型进行卡密提取处理;在离线提取方面,本发明首先从mysql数据库中提取卡密数据,并对其进行des解密;然后利用apache poi技术将卡密数据转成java的inputstream输入流;接着利用分布式文件存储数据库mongodb的gridfs特性,将输入流存储到mongodb中。gridfs是mongo的一个子模块,使用gridfs可以基于mongodb来持久存储大于16m的文件,摆脱了mongodb的默认文档结构bjson对文件最大4m的限制。
53.在线提取方面,本发明基于apache dubbo框架搭建的高性能分布式服务,基于高性能的rpc、https调用,实现智能容错和负载均衡,能够高效地为第三方系统提供卡密提取、核销等服务,其中对第三方系统的访问实施sha256签名方式,防止请求报文在网络通讯过程中被劫持或者篡改。在卡密系统内部使用了redis(remote dictionary server)技术自研分布式锁,保证了在并发场景下线上卡密提取的幂等性。
54.s14:在卡密盘点时,对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理。
55.在本发明具体实施过程中,所述对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理,包括:以所述数据库中的待盘点卡密作为统计粒度,对所述待盘点卡密的面值、折扣、剩余数量、入库数量、入库金额、作废数量、失效数量、失效金额、剩余金额的多个维度进行出入库统计处理;对所述数据库中的待盘点卡密的批次、核销数量、采购金额、采购折扣维度进行核销数据统计处理。
56.具体的,卡密库盘点,在运营层面需要对卡密在生产经营中的进货、出货、批发、销售等环节进行全程跟踪和管理。本发明以卡密批次作为统计粒度,对卡密的面值、折扣、剩余数量、入库数量、入库金额、作废数量、失效数量、失效金额、剩余金额等多个维度,对卡密库存进行统计;在卡密核销统计方面,对卡密的批次、核销数量、采购金额、采购折扣等维度进行统计,并提供对账功能方便对下游渠道和上游供应商的结算处理,大大提高了运营人员的工作效率,减少了上下游的沟通成本。
57.在本发明实施例中,极大地提高企业在对密码的运营过程中的工作效率,减少大
量的人力成本;并且能够有效地防止卡密在存储、传输过程中被泄露的风险,提高了系统和运营的安全。
58.实施二,请参阅图2,图2是本发明实施例中的智能卡密码管理系统的结构组成示意图。
59.如图2所示,一种智能卡密码管理系统,所述系统包括:
60.卡密存储模块21:用于在卡密存储时,获得第三方卡密数据,并基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件;基于des加密算法将所述卡密excel文件进行加密处理,并将加密处理结果存储至数据库中;
61.在本发明具体实施过程中,所述预设模板兼容市面上的各种第三方卡密数据,其中,包括卡密名称、序列号、密文、采购价格、折扣及到期时间。
62.进一步的,所述基于预设卡密导入预设模板将所述第三方卡密数据生成卡密excel文件之后,还包括:基于apache poi技术对所述卡密excel文件进行密码设置处理。
63.具体的,在对卡密存储时,可以通过离线的方式获得第三方卡密数据,然后根据预设卡密导入预设模板将该第三方卡密数据生成卡密excel文件;即通过预设卡密导入预设模板,兼容市面上各种第三方卡密数据,包括卡密名称、序列号、密文、采购价格、折扣、到期时间等属性,将卡密数据按照卡密模板生成卡密excel文件。鉴于卡密文件的高度保密性要求,系统提供了文件密码设置功能,使用apache poi技术对卡密文件设置密码,后续离线提取同一批次的卡密时,需要输入正确的密码才能提取成功,提高了卡密文件在线下传输场景的安全性。
64.在本发明具体实施过程中,在卡密持久化方面使用mysql数据库作为存储介质。由于卡密文件中的数据仍然处于明文的状态,考虑到卡密存储的安全性;本发明实施例中使用了des(data encryption standard)技术,它是一种使用密钥加密的对称算法,以64位为分组对数据进行加密,密钥长度为64位。鉴于卡密数据量大、线上使用卡密的高实时性的特殊场景,利用des加密技术在大数据量方面的高效特性,该技术能较好地兼顾安全性和使用效率,十分适合本发明作为数据加密的技术手段。
65.卡密提取模块22:用于在卡密提取时,基于选择卡密批次和提取类型进行卡密提取处理,获得提取卡密;
66.在本发明具体实施过程中,所述基于选择卡密批次和提取类型进行卡密提取处理,包括:基于选择卡密批次和离线提取类型进行卡密提取处理;基于选择卡密批次和在线提取类型进行卡密提取处理。
67.进一步的,所述基于选择卡密批次和离线提取类型进行卡密提取处理,包括:在所述数据库中提取所述选择卡密批次对应的卡密数据,获得离线提取卡密数据;对所述离线提取卡密数据进行des解密处理,并对解密数据利用apache poi技术转化为java的inputstream输入流,获得卡密流数据;对所述卡密流数据利用分布式文件存储数据库mongodb的gridfs特性存储到mongodb中。
68.进一步的,所述基于选择卡密批次和在线提取类型进行卡密提取处理,包括:基于apache dubbo框架搭建的高性能分布式服务在所述数据库中提取所述选择卡密批次对应的卡密数据,获得在线提取卡密数据。
69.具体的,在卡密提取上,提取类型分为离线和在线提取两种场景;即根据选择卡密
批次和提取类型进行卡密提取处理;在离线提取方面,本发明首先从mysql数据库中提取卡密数据,并对其进行des解密;然后利用apache poi技术将卡密数据转成java的inputstream输入流;接着利用分布式文件存储数据库mongodb的gridfs特性,将输入流存储到mongodb中。gridfs是mongo的一个子模块,使用gridfs可以基于mongodb来持久存储大于16m的文件,摆脱了mongodb的默认文档结构bjson对文件最大4m的限制。
70.在线提取方面,本发明基于apache dubbo框架搭建的高性能分布式服务,基于高性能的rpc、https调用,实现智能容错和负载均衡,能够高效地为第三方系统提供卡密提取、核销等服务,其中对第三方系统的访问实施sha256签名方式,防止请求报文在网络通讯过程中被劫持或者篡改。在卡密系统内部使用了redis(remote dictionary server)技术自研分布式锁,保证了在并发场景下线上卡密提取的幂等性。
71.卡密盘点模块23:用于在卡密盘点时,对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理。
72.在本发明具体实施过程中,所述对所述数据库中的待盘点卡密进行出入库统计和核销数据统计处理,包括:以所述数据库中的待盘点卡密作为统计粒度,对所述待盘点卡密的面值、折扣、剩余数量、入库数量、入库金额、作废数量、失效数量、失效金额、剩余金额的多个维度进行出入库统计处理;对所述数据库中的待盘点卡密的批次、核销数量、采购金额、采购折扣维度进行核销数据统计处理。
73.具体的,卡密库盘点,在运营层面需要对卡密在生产经营中的进货、出货、批发、销售等环节进行全程跟踪和管理。本发明以卡密批次作为统计粒度,对卡密的面值、折扣、剩余数量、入库数量、入库金额、作废数量、失效数量、失效金额、剩余金额等多个维度,对卡密库存进行统计;在卡密核销统计方面,对卡密的批次、核销数量、采购金额、采购折扣等维度进行统计,并提供对账功能方便对下游渠道和上游供应商的结算处理,大大提高了运营人员的工作效率,减少了上下游的沟通成本。
74.在本发明实施例中,极大地提高企业在对密码的运营过程中的工作效率,减少大量的人力成本;并且能够有效地防止卡密在存储、传输过程中被泄露的风险,提高了系统和运营的安全。
75.本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中任意一个实施例的智能卡密码管理方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmableread-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
76.本发明实施例还提供了一种计算机应用程序,其运行在计算机上,该计算机应用程序用于执行上述中任意一个实施例的智能卡密码管理方法。
77.此外,图3是本发明实施例中的服务器的结构组成示意图。
78.本发明实施例还提供了一种服务器,如图3所示。所述服务器包括处理器302、存储器303、输入单元304以及显示单元305等器件。本领域技术人员可以理解,图3示出的设备结
构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器303可用于存储应用程序301以及各功能模块,处理器302运行存储在存储器303的应用程序301,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
79.输入单元304用于接收信号的输入,以及接收用户输入的关键字。输入单元304可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元305可用于显示用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元305可采用液晶显示器、有机发光二极管等形式。处理器302是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
80.作为一个实施例,所述服务器包括:一个或多个处理器302,存储器303,一个或多个应用程序301,其中所述一个或多个应用程序301被存储在存储器303中并被配置为由所述一个或多个处理器302执行,所述一个或多个应用程序301配置用于执行上述实施例中的任意一实施例中对的智能卡密码管理方法。
81.在本发明实施例中,极大地提高企业在对密码的运营过程中的工作效率,减少大量的人力成本;并且能够有效地防止卡密在存储、传输过程中被泄露的风险,提高了系统和运营的安全。
82.另外,以上对本发明实施例所提供的一种智能卡密码管理方法、系统、存储介质及服务器进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。