一种卡密数据的统一导入方法

xiaoxiao2020-10-23  17

一种卡密数据的统一导入方法
【技术领域】
[0001]本发明涉及数据导入领域,尤其涉及一种卡密数据的统一导入方法。
【背景技术】
[0002]现有技术中,将不同供应商的卡密数据导入到中介商的统一的卡密数据库中,往往存在着以下问题:首先,不同的供应商给到的卡密数据的格式参数千差万别,对于不同格式的卡密数据,较难将其以统一的格式保存于卡密数据库中,在保存时通常需要先进行卡密解析,再将其中的数据导入。并且,在某些情况下,供应商可能依据自己的需求修改卡密数据的存储形式,会导致每次供应商给的文件格式参数会发生变化,此时就需要在存储端做相应的代码修改,或者只能打开卡密数据,并编写成通用模板模块来进行导入。上述过程中,免不了存在人工干预(例如卡密数据的打开,或者根据卡密数据编写通用模板等),因此存在卡密数据被泄露的风险。

【发明内容】

[0003]为了解决上述问题,本发明设计了一种卡密数据的统一导入方法,该方法通过灵活的配置模板模块,提高导入的便利性和安全性。
[0004]为了实现上述目的,本发明设计了一种卡密数据的统一导入方法,其特征在于,根据不同供应商提供的卡密文件,预先形成相应的识别模板并保存;
[0005]所述统一导入方法具体包括:
[0006]步骤SI,获取供应商提供的所述卡密文件;
[0007]步骤S2,根据所述卡密文件,选择对应所述供应商的所述识别模板;
[0008]步骤S3,根据被选择的所述识别模板,对所述卡密文件进行识别,以提取所述卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回所述步骤SI。
[0009]进一步改进技术方案,所述卡密文件包括excel格式的卡密文件,或者txt格式的卡密文件。
[0010]进一步改进技术方案,所述识别模板的格式与对应的所述卡密文件的格式相同。
[0011]进一步改进技术方案,所述卡密数据包括:
[0012]用于指示所述卡密数据的序列号的序列号数据,以及
[0013]用于指示所述卡密数据的密码的密码数据;
[0014]所述识别模板用于指示:
[0015]所述序列号数据的存储位置及存储形式;以及
[0016]所述密码数据的存储位置及存储形式。
[0017]进一步改进技术方案,所述卡密文件被封装于一加密的卡密文件包中;
[0018]所述步骤SI具体包括:
[0019]步骤S11,采用一第一输入单元导入所述卡密文件包;
[0020]步骤S12,采用一第二输入单元导入对应所述卡密文件包的解密密码;
[0021]步骤S13,对所述卡密文件包进行解密,以提取对应的所述卡密文件;
[0022]所述第一输入单元和所述第二输入单元具有不同的输入权限。
[0023]进一步改进技术方案,所述步骤S3具体包括:
[0024]步骤S31,将所述卡密文件中的一条尚未经过匹配的所述卡密数据与被选择的所述识别模板进行匹配,输出相应的匹配结果;
[0025]步骤S32,若所述卡密数据与所述识别模板相匹配,则根据所述匹配结果提取相应的所述卡密数据,并保存于所述卡密数据库中,随后返回所述步骤S31。
[0026]进一步改进技术方案,所述步骤S32中,若所述卡密数据与所述识别模板不相匹配,则首先执行下述步骤:
[0027]步骤S321,解析所述卡密文件,以得到所述卡密文件中包括的前N条所述卡密数据;
[0028]步骤S322,将前N条所述卡密数据与所述识别模板进行比较,以得到相应的比较结果;
[0029]步骤S323,根据所述比较结果,更新关联于所述供应商的所述识别模板;
[0030]步骤S324,根据更新后的所述识别模板,对所述卡密数据进行识别,以继续执行所述步骤S32 ;
[0031]所述步骤S322中,N为预设数字,前N条所述卡密数据表示所述卡密文件中存储位置靠前的N条所述卡密数据。
[0032]进一步改进技术方案,所述卡密数据中还包括:
[0033]用于指示所述卡密数据的有效期的有效时间数据;
[0034]所述识别模板还用于指示:
[0035]所述有效时间数据的存储位置以及存储形式;和/或
[0036]所述卡密文件中包括的所述卡密数据的数量。
[0037]与现有技术相比较,本发明的有益效果是:
[0038]提供一种导入方法,针对不同供应商预设不同的识别模板,可以套用相应的识别模板识别不同供应商的不同格式的卡密文件,并将其中的卡密数据提取至统一的卡密数据库中保存,实现了卡密数据提取的灵活性,减少了卡密数据提取过程中的人工干预因素,提升了卡密数据提取过程的安全性。
【附图说明】
[0039]图1是本发明的较佳的实施例中,一种卡密数据的统一导入方法的总体流程图;
[0040]图2是本发明的较佳的实施例中,卡密文件包解密的流程示意图;
[0041]图3是本发明的较佳的实施例中,根据识别模板匹配卡密数据的流程示意图;
[0042]图4是本发明的较佳的实施例中,根据识别模板无法匹配卡密数据的流程示意图;
[0043]图5-6是本发明的较佳的实施例中,excel格式的卡密文件及其对应的识别模板的不意图;
[0044]图7-8是本发明的较佳的实施例中,txt格式的卡密文件及其对应的识别模板的示意图。
【具体实施方式】
[0045]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0046]本实施例设计了一种卡密数据的统一导入方法,根据不同供应商提供的卡密文件,预先形成相应的识别模板并保存。对于同一个供应商而言,其提供的卡密文件中卡密数据的存储位置与存储形式是相同的,因此,对应于同一个供应商,可以设定一个识别模板。
[0047]本发明的较佳的实施例中,上文中,存储位置是卡密文件中每条卡密数据中不同类别的数据所处的位置,存储形式是指卡密文件中每条卡密数据中不同类别的数据的存储方式。
[0048]本发明的较佳的实施例中,卡密数据中包括的不同类别的数据,可以包括:
[0049]用于表示该条卡密数据的序列号的序列号数据;以及
[0050]用于表示该条卡密数据对应的密码的密码数据。
[0051]本发明的较佳的实施例中,上述卡密数据中,可选择地,还可以包括:
[0052]用于指示所述卡密数据的有效期的有效时间数据。
[0053]则本发明的较佳的实施例中,以卡密文件为excel文件为例,其中每行excel记录即为一条卡密数据。则对于其中一个类别的数据而言(例如寻列好数据或者密码数据),其存储位置可以为保存于该excel文件中的第几行第几列,即在该excel文件中的具体位置。例如,在一个excel格式的卡密文件中,第二列用于表示序列号数据,第四列用于表示密码数据。
[0054]本发明的较佳的实施例中,所谓存储形式,可以包括卡密数据中的对应类别的数据(例如序列号数据或者密码数据)的存储位数。例如在一个excel格式的卡密文件中,序列号数据以10位字符串保存,密码数据以8位字符串保存。
[0055]本发明的其他实施例中,上述存储形式还可以包括对应类别的数据于卡密文件中的其他保存方式,例如对应类别的数据在保存时具有相应的校验位等,在此不再赘述。
[0056]下文中给出关联于本发明技术方案的几个具体实施例:
[0057]实施例一:
[0058]本实施例提供一种基于同一供应商提供的卡密文件中卡密数据的导入方法。该实施例中,根据不同供应商提供的卡密文件,预先形成相应的识别模板并保存。
[0059]所谓识别模板,其用于指示:
[0060]序列号数据的存储位置及存储形式;以及[0061 ] 密码数据的存储位置及存储形式。
[0062]该实施例中,预先根据供应商提供的卡密文件(可以为新的供应商提供的第一份卡密文件)生成相应的识别模板。
[0063]识别模板的具体结构在下文中会详述。
[0064]此处对存储位置与存储形式的定义与上述解释相同,同时识别模版可用于指示其他数据,但是序列号数据与密码数据为卡密数据中的必要数据,其他数据是卡密文件的具体情况进行添加。比如:添加用于指示卡密数据的有效期的有效时间数据;有效时间数据是指序列号数据与密码数据能够相互配合使用期间,期间外序列号数据与密码数据的相互配合关系失效;又比如,添加用于指示卡密数据的获取数量的数量信息(例如识别模板中,于一个卡密文件中总共获取100条卡密数据);又比如,添加用于指示卡密数据的开始获取位置的信息(例如识别模板中,指示卡密数据中的序列号数据于excel格式的卡密文件的第二列第二行开始获取)。
[0065]则该实施例中,如图1所示,上述统一导入方法的具体步骤包括:
[0066]步骤SI,获取供应商提供的卡密文件;
[0067]该实施例中,获取供应商提供的卡密文件,是指将供应商提供的卡密文件导入到系统中并进行进一步处理。上述步骤SI中,对于同一供应商一次输入的卡密文件,可以整合成同一个批次并进行一次导入,以避免多次导入造成的系统资源的浪费,以及处理时间的浪费。
[0068]该实施例中,获取的卡密文件如上文中所述,其中包括多条卡密数据,每条卡密数据中包括如上文中所述的序列号数据以及密码数据,还可以包括其他不同类别的数据。该实施例中,序列号数据和密码数据是每条卡密数据所必需的,其他类别的数据例如有效期数据等,可以依据需求添加。
[0069]步骤S2,根据卡密文件,选择对应供应商的识别模板;
[0070]该实施例中,如上文中所述,每个卡密文件对应于一个供应商,而在系统中,每个供应商对应于一个预先设置好的识别模板,因此,上述步骤S2中,可以根据每个卡密文件(或者处于同一批次下的所有卡密文件)选择一个相应的识别模板,以对卡密文件中包括的卡密数据进行识别。
[0071]步骤S3,根据被选择的识别模板,对卡密文件进行识别,以提取卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回步骤SI。
[0072]该实施例中,套用识别模板,对一个相应的卡密文件中的卡密数据进行逐条识别:若一条卡密数据完全匹配于该识别模板,则可以判断该条卡密数据为符合规则的卡密数据,提取该条卡密数据并保存于统一格式的卡密数据库中。
[0073]本发明的一个较佳的实施例中,可以仅提取该卡密数据的序列号数据以及密码数据并保存;本发明的另一个较佳的实施例中,根据匹配结果,提取符合规则的卡密数据中的所有数据(即提取完整的一条卡密数据)并保存。
[0074]实施例二:
[0075]该实施例中,上述统一导入方法如图1所示,具体包括:
[0076]步骤SI,获取供应商提供的卡密文件;
[0077]步骤S2,根据卡密文件,选择对应供应商的识别模板;
[0078]步骤S3,根据被选择的识别模板,对卡密文件进行识别,以提取卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回步骤SI。
[0079]该实施例中,如图2所示,步骤SI具体包括:
[0080]步骤SI I,采用一第一输入单元导入卡密文件包;
[0081]该实施例中,卡密文件被封装于一加密的卡密文件包中,第一输入单元拥有一定权限,例如采用第一输入单元登录系统,会获取一定的输入权限,在上述步骤Sll中,关联于第一输入单元的输入权限即限制为导入卡密文件包。换言之,使用者可以通过第一输入单元登录系统,通过身份验证后获取一定的输入权限,从而能够被允许在系统中进行相应操作(例如导入卡密文件包。)
[0082]步骤S12,采用一第二输入单元导入对应卡密文件包的解密密码;
[0083]该实施例中,第二输入单元拥有一定的权限,第一输入单元和第二输入单元在本实施例中具有不同的输入权限。
[0084]该实施例中,如上文中所述,第二输入单元同样关联于一个相应的输入权限。使用者通过第二输入单元登录系统并获得相应的输入权限,从而可以执行导入解密密码的操作。
[0085]本发明的一个较佳的实施例中,上述第一输入单元和第二数据单元均包括在一个统一的输入单元内。上文中所述的“第一”和“第二”的区分仅为了表示两个输入单元在导入数据时的输入权限不同。换言之,上述步骤S11-12中,对于第一输入单元和第二输入单元的划分,是为了保证卡密文件包和解密密码分别通过不同的输入权限进行导入操作,避免卡密文件包和解密密码流于同一输入权限,从而导致卡密文件包的泄密。步骤S13,对卡密文件包进行解密,以提取对应的卡密文件;
[0086]该实施例中,卡密文件包的解密必须使用解密密码,即卡密文件中卡密数据的导入过程将第一输入单元导入卡密文件包与第二输入单元导入对应卡密文件包的解密密码相互配合完成。
[0087]本发明的一个较佳的实施例中,使用者采用第一输入单元,以相应的输入权限导入卡密文件包,使用者再采用第二输入单元,以相应的输入权限导入解密密码(上述关联于第一输入单元的输入权限与关联于第二输入单元的输入权限不同),根据导入的卡密文件包配合解密密码使用才能最终对卡密文件包进行解码,从而获得其中的卡密文件。
[0088]实施例三:
[0089]该实施例中,如图1所示,上述统一导入方法具体包括:
[0090]步骤SI,获取供应商提供的卡密文件;
[0091]步骤S2,根据卡密文件,选择对应供应商的识别模板;
[0092]步骤S3,根据被选择的识别模板,对卡密文件进行识别,以提取卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回步骤Si。
[0093]该实施例中,如图3所示,上述步骤S3具体包括:
[0094]步骤S31,将卡密文件中的一条尚未经过匹配的卡密数据与被选择的识别模板进行匹配,输出相应的匹配结果;
[0095]该实施例中,对于卡密文件中的一条尚未经过匹配的卡密数据,采用被选择的相应的识别模板进行匹配。
[0096]本发明的一个较佳的实施例中,若卡密文件为excel文件(参见图5所示),则相应的识别模板同样为excel格式的模板(参见图6所示)。图6中,识别模板中的[email protected]位于第二列第二行,其所在位置表示:一个excel格式的卡密文件的第二列存储的为卡片的相应的序列号数据,并且在第二列中,从第二行开始可以读取相应的序列号数据(即将第二列第二行作为序列号数据的开始读取位置)。同时CardNoOlO表示,一个序列号数据是以10位字符串形式表示的存储形式,即一个序列号数据中包括10位(字母和/或数字)。因此,对于一个excel格式的卡密文件而言,若其中第二列从第二行开始,每行所存储的字符串均为10位,则可以表示该卡密文件与相应的识别模板相匹配。换言之,对于一个卡密文件而言,从第二列第二行开始,读取第二列中存储的所有字符串,并套用识别模板中的CardNoOlO进行匹配,若读取的字符串均为10位,则表示该卡密文件中的序列号数据匹配成功。
[0097]同样地,上述实施例中,如图6所示,识别模板中的[email protected]位于第四列第二行,其所在位置表示:一个excel格式的卡密文件的第四列存储的为卡片的相应的密码数据,并且在第四列中,从第二行开始可以读取相应的密码数据(即将第四列第二行作为密码数据的开始读取位置)。同时[email protected]表示,一个密码数据是以8位字符串形式表示的存储形式,即一个密码数据中包括8位。因此,对于一个excel格式的卡密文件而言,若其中第四列从第二 行开始,每行存储的字符串均为8位,则表示该卡密文件与相应的识别模板相匹配。换言之,对于一个卡密文件而言,从第四列第二行开始,读取第四列中存储的所有字符串,并套用识别模板中的[email protected]进行匹配,若读取的字符串均为8位,则表示该卡密文件中的密码数据匹配成功。
[0098]上述实施例中,只有密码数据和序列号数据均匹配成功,才能判断相应的卡密文件匹配成功。
[0099]本发明的另一个较佳的实施例中,若卡密文件为txt文件(如图7所示),则相应的识别模板也为txt格式(如图8所示)。采用txt格式的识别模板进行识别匹配的过程,通过比对其中空格数并提取相应的字符串的方式完成,其匹配过程类似于上文中所述的excel格式的匹配过程,在此不再赘述。
[0100]上述图7-8中,由于txt文件的字符串提取只与行数和空格数有关,因此无需每列数字对齐。步骤S32,若卡密数据与识别模板相匹配,则根据匹配结果提取相应的卡密数据,并保存于卡密数据库中,随后返回步骤S31。该实施例中,当卡密数据与识别模板相匹配,生成一条匹配结果,卡密数据库根据该匹配结果将匹配后被提取的卡密数据存储至卡密数据库中,之后返回S31步骤重复执行关联于下一个卡密文件的匹配过程。
[0101]该实施例具体的步骤S32中,若卡密数据与识别模板不相匹配,则首先执行如图4所示的下述步骤:
[0102]步骤S321,解析卡密文件,以得到卡密文件中包括的前N条卡密数据;
[0103]步骤S322,将前N条卡密数据与识别模板进行比较,以得到相应的比较结果;
[0104]步骤S322中的N为预设数字,前N条卡密数据表示卡密文件中存储位置靠前的N条卡密数据。
[0105]该实施例中,其中N的数字小于全部卡密数据的条数,即此处用于分析比较结果的卡密数据不能是全部的卡密数据,这样做是为了增加卡密数据的安全性。
[0106]本发明较佳的实施例,其中N的数字为5,即在不匹配的情况下,读取卡密文件中前5条的卡密数据,以进行分析。
[0107]该实施例中,根据上述前N条卡密数据(例如前5条)进行解析得到的解析信息中会包含一些匹配不成功的卡密数据的信息,通过信息可以分析出卡密数据与识别模板之间不匹配的原因,是存储形式还是存储位置不匹配。即未匹配的卡密数据在此时为解密的部分呈现出来,以方便重新制定模板。换言之,本发明的较佳的实施例中,根据不匹配的卡密文件中前N条(优选的为前5条)的卡密数据与相应的识别模板进行比较的结果,确定卡密数据相对于识别模板发生变动的因素(例如卡密数据中的一些类型的数据的存储位置发生变动,或者一些类型的数据的存储形式发生变动等),从而根据这些发生变动的因素重新制定新的关联于该供应商的识别模板,以覆盖原来的识别模板,完成识别模板的更新操作。
[0108]步骤S323,根据比较结果,更新关联于供应商的识别模板;
[0109]步骤S324,根据更新后的识别模板,对卡密数据进行识别,以继续执行步骤S32 ;
[0110]该实施例中,根据更新后的识别模板,重新对相应的卡密文件进行识别,从而完成整个匹配和识别的过程,读取相应的卡密数据并保存于卡密数据库中。
[0111]综上所述,本发明技术方案中,预先根据供应商提供的卡密文件制作相应格式相应内容的识别模板,并将识别模板应用于对卡密文件中每条卡密数据进行匹配的过程中,根据匹配结果进行不同的处理:若匹配,则将相应的卡密文件中的所有卡密数据提取出来,并保存于一统一格式的卡密数据库中;若不匹配,则根据不匹配的因素更新识别模板,并采用更新后的识别模板对卡密文件进行识别,以将相应的卡密文件中的所有卡密数据提取出来,并保存于一统一格式的卡密数据库中。
[0112]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
【主权项】
1.一种卡密数据的统一导入方法,其特征在于,根据不同供应商提供的卡密文件,预先形成相应的识别模板并保存; 所述统一导入方法具体包括: 步骤Si,获取供应商提供的所述卡密文件; 步骤S2,根据所述卡密文件,选择对应所述供应商的所述识别模板; 步骤S3,根据被选择的所述识别模板,对所述卡密文件进行识别,以提取所述卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回所述步骤SI。2.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述卡密文件包括excel格式的卡密文件,或者txt格式的卡密文件。3.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述识别模板的格式与对应的所述卡密文件的格式相同。4.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述卡密数据包括: 用于指示所述卡密数据的序列号的序列号数据,以及 用于指示所述卡密数据的密码的密码数据; 所述识别模板用于指示: 所述序列号数据的存储位置及存储形式;以及 所述密码数据的存储位置及存储形式。5.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述卡密文件被封装于一加密的卡密文件包中; 所述步骤Si具体包括: 步骤S11,采用一第一输入单元导入所述卡密文件包; 步骤S12,采用一第二输入单元导入对应所述卡密文件包的解密密码; 步骤S13,对所述卡密文件包进行解密,以提取对应的所述卡密文件; 所述第一输入单元和所述第二输入单元具有不同的输入权限。6.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述步骤S3具体包括: 步骤S31,将所述卡密文件中的一条尚未经过匹配的所述卡密数据与被选择的所述识别模板进行匹配,输出相应的匹配结果; 步骤S32,若所述卡密数据与所述识别模板相匹配,则根据所述匹配结果提取相应的所述卡密数据,并保存于所述卡密数据库中,随后返回所述步骤S31。7.如权利要求6所述的卡密数据的统一导入方法,其特征在于,所述步骤S32中,若所述卡密数据与所述识别模板不相匹配,则首先执行下述步骤: 步骤S321,解析所述卡密文件,以得到所述卡密文件中包括的前N条所述卡密数据; 步骤S322,将前N条所述卡密数据与所述识别模板进行比较,以得到相应的比较结果; 步骤S323,根据所述比较结果,更新关联于所述供应商的所述识别模板; 步骤S324,根据更新后的所述识别模板,对所述卡密数据进行识别,以继续执行所述步骤 S32 ; 所述步骤S322中,N为预设数字,前N条所述卡密数据表示所述卡密文件中存储位置靠前的N条所述卡密数据。8.如权利要求1所述的卡密数据的统一导入方法,其特征在于,所述卡密数据中还包括: 用于指示所述卡密数据的有效期的有效时间数据; 所述识别模板还用于指示: 所述有效时间数据的存储位置以及存储形式;和/或 所述卡密文件中包括的所述卡密数据的数量。
【专利摘要】本发明涉及软件领域,尤其涉及一种卡密数据的统一导入方法,具体包括:根据不同供应商提供的卡密文件,预先形成相应的识别模板并保存;统一导入方法包括:获取供应商提供的卡密文件;根据卡密文件,选择对应供应商的识别模板;根据被选择的识别模板,对卡密文件进行识别,以提取卡密文件中包括的每条卡密数据,并保存于一具有统一存储格式的卡密数据库中,随后返回。改进后的方法在新的供应商或已有供应商数据格式发生变化时,将不再需要修改代码,只需要根据数据文件制作相关模板即可完成接入工作,实现了很大的灵活性和便利性。
【IPC分类】G06F21/62, G06F17/30
【公开号】CN104899523
【申请号】CN201510369620
【发明人】鲍灵铭
【申请人】上海瀚之友信息技术服务有限公司
【公开日】2015年9月9日
【申请日】2015年6月29日

最新回复(0)