可变序列数据自动生成方法和系统的制作方法

文档序号:6509368阅读:182来源:国知局
可变序列数据自动生成方法和系统的制作方法
【专利摘要】本发明提供了一种可变序列数据自动生成方法和系统,该方法包括:获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符;将所述自定义进制包含的字符分解为字符数组;获取用户设置的可变序列数据的相关参数;对所述相关参数进行预处理;根据所述字符数组及预处理后的相关参数生成可变序列数据。利用本发明,可以按用户的实际需求自动生成用户需要的可变序列数据。
【专利说明】可变序列数据自动生成方法和系统

【技术领域】
[0001]本发明涉及数字出版领域,具体而言,涉及一种可变序列数据自动生成方法和系统。

【背景技术】
[0002]可变数据印刷(Variable Data Printing,简称VDP)常用到序列数据,用以标识可变数据印刷的生产情况。现有技术中可变序列的数据生成具体流程如图1所示,包括:
[0003]步骤11、按需要设定可变序列数据的生成进制,比如常用的十进制、十六进制,然后设定可变序列数据需要生成的总个数,步长、起始值、可变序列数据的位数,以及可变序列数据的变化方式;
[0004]步骤12、按需要设定可变序列数据的前缀或者后缀,比如生产日期,车间代号、产品标识等等;
[0005]步骤13、根据步骤11和步骤12的设定参数,生成相应的可变序列数据,并且将生成的可变序列数据应用到可变数据印刷中。
[0006]现有技术中可变序列数据的生成进制目前一般有十进制(0-9)、十六进制(0-9,A-F)、二十六进制(A-Z)、三十六进制(0-9,A-Z)。目前这些进制都是包含有固定的字符数,在很多情况下不能适应用户的生产需求。比如用户希望生产的可变序列数据中不包含某个数字或者字母,现有的技术就没法实现。用户不得不在可变序列数据生成完毕之后再对生成的数据进行数据过滤,这降低了用户的生产效率,影响了用户的使用。


【发明内容】

[0007]本发明提供了一种可变序列数据自动生成方法和系统,可以使用户按照自己的实际需求去定义自己的进制数据,可以按用户的实际需求自动生成用户需要的可变序列数据。
[0008]为此,本发明实施例提供如下技术方案:
[0009]一种可变序列数据自动生成方法,包括:
[0010]获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符;
[0011]将所述自定义进制包含的字符分解为字符数组;
[0012]获取用户设置的可变序列数据的相关参数;
[0013]对所述相关参数进行预处理;
[0014]根据所述字符数组及预处理后的相关参数生成可变序列数据。
[0015]优选地,所述可变序列数据的相关参数包括:
[0016]可变序列数据的起始值、位数、数据总数、步长、以及变化方式。
[0017]优选地,所述对所述相关参数进行预处理包括:
[0018]分解所述起始值为字符数组;
[0019]分解所述步长为整型数组,并根据设置的位数进行补齐。
[0020]优选地,所述根据所述字符数组及预处理后的相关参数生成可变序列数据包括:
[0021]依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序;
[0022]根据所述变化方式及所述位序生成可变序列数据。
[0023]优选地,所述根据所述变化方式及所述位序生成可变序列数据包括:
[0024]如果所述变化方式是递增方式,则将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于所述字符数组的基数则取该值与所述基数求余之后的余数,查找该余数在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值;
[0025]如果所述变化方式是递减方式,则将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于0,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位借I;若相减的值大于等于0,则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值。
[0026]一种可变序列数据自动生成系统,包括:
[0027]设置模块,用于获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符;
[0028]分解模块,用于将所述自定义进制包含的字符分解为字符数组;
[0029]参数获取模块,用于获取用户设置的可变序列数据的相关参数;
[0030]预处理模块,用于对所述相关参数进行预处理;
[0031]可变序列数据生成模块,用于根据所述字符数组及预处理后的相关参数生成可变序列数据。
[0032]优选地,所述可变序列数据的相关参数包括:
[0033]可变序列数据的起始值、位数、数据总数、步长、以及变化方式。
[0034]优选地,所述预处理模块包括:
[0035]第一分解单元,用于分解所述起始值为字符数组;
[0036]第二分解单元,用于分解所述步长为整型数组,并根据设置的位数进行补齐。
[0037]优选地,所述可变序列数据生成模块包括:
[0038]查找单元,用于依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序;
[0039]生成单元,用于根据所述变化方式及所述位序生成可变序列数据。
[0040]优选地,所述生成单元,具体用于在所述变化方式是递增方式时,将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于所述字符数组的基数则取该值与所述基数求余之后的余数,查找该余数在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值;在所述变化方式是递减方式时,将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于O,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位借I ;若相减的值大于等于O,则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值。
[0041]本发明实施例提供的可变序列数据自动生成方法和系统,可以由用户自己设定可变序列数据的进制及相关参数,系统根据用户设定的这些参数,自动生成符合用户所需要的可变序列数据。利用本发明实施例的方法及系统,使得用户可以更方便地生成所需的可变序列数据,与现有技术相比,能够适应各种不同用户的需求,具有很强的实用性。

【专利附图】

【附图说明】
[0042]图1为现有技术中生成可变序列数据的处理流程图;
[0043]图2为本发明实施例可变序列数据自动生成方法的流程图;
[0044]图3为本发明实施例中生成的自定义进制可变序列数据示意图;
[0045]图4为本发明实施例可变序列数据自动生成系统的结构示意图。

【具体实施方式】
[0046]下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
[0047]如图2所示,是本发明实施例可变序列数据自动生成方法的流程图,包括以下步骤:
[0048]步骤21,获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符。
[0049]具体地,可以在可变序列数据生成选用进制的编辑界面上添加一个自定义进制的选项,并且添加设置该进制所包含的字符集的选项。这样,用户可以在该界面上设定自定义进制以及所述自定义进制包含的字符。
[0050]比如,为了方便描述起见,设置自定义进制的总字符集为0-9,A-Z,共36个字符。用户创建的自定义进制需要从这36个字符中选择。假设用户需要添加一个15进制的自定义进制,设置进制名称为N15。假设用户选择的字符为O, I, 2,3,5,6,7,8,9,A, B, C,D, E, F。这样N15进制就包含了用户选择的15个字符,并且进制的基数Radix=15。
[0051]步骤22,将所述自定义进制包含的字符分解为字符数组。
[0052]上述自定义N15进制分解成字符数组CustomSystem即为:{“0”,”1”,”2”,”3”,”5”,"6","7","8","9","B","C","D",”F”}。
[0053]步骤23,获取用户设置的可变序列数据的相关参数。
[0054]所述相关参数可以包括可变序列数据的起始值、位数、数据总数、步长、以及变化方式等。
[0055]比如,用户设置的可变序列数据的数据总数为20,步长为18,位数为7,变化方式为递增的变化方式。
[0056]步骤24,对所述相关参数进行预处理。
[0057]具体地,可以将所述起始值分解为字符数组;将所述步长分解为整型数组,并根据设置的位数进行补齐。
[0058]比如,用户设置的相关参数如下:可变序列为十六进制,序列位数为5,起始数据设置为0000A,步长为16。由步长转为十六进制即为10,按设置的序列位数补齐步长即为00010,补齐后的步长分解数组为{ ‘0’,’ O’,’ O’,’ I’,’ O’ }。
[0059]步骤25,根据所述字符数组及预处理后的相关参数生成可变序列数据。
[0060]可以按照查表方式自动计算可变序列数据,并生成数据文件。
[0061]具体地,可以依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序。
[0062]若是递增方式变化,则将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于字符数组的基数则取该值与基数求余之后的余数,查找该余数在所述字符数组中对应的字符,该字符即为生成的可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,即为生成的可变序列对应数据位的值;
[0063]若是递减方式变化,则将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于0,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,该字符即为生成的可变序列数据对应数据位的值,同时向高一位借I ;若相减的值大于等于0,则取该值位序在所述字符数组中对应的字符,即为生成的可变序列对应数据位的值。
[0064]下面举例进一步详细说明本发明实施例的方法自动生成用户自定义可变序列数据的过程。
[0065]假设用户选择的字符为O, I, 2,3,5,6,7,8,9,A, B, C,D, E, F。这样添加的自定义进制N15进制就包含了用户选择的15个字符,并且进制的基数Radix=15。
[0066]将自定义的N15进制按照算法要求分解成字符数组CustomSystem:
[0067]N15={ “0”,”1”,”2”,”3”,”5”,”6”,”7”,”8”,”9”,”A”,”B”,”C”,”D”,”E”,,’F,,}。
[0068]用户设置可变序列数据的总数为20,步长为18,数据位数为7,起始值为0000000,
递增方式变化。
[0069]首先,将起始值分解成字符数组为StartChar [7] = {“ O,,,“ O,,,“ O,,,“ O,,,“ O,,,“ O,,,“ O,,};
[0070]步长18是10进制,转成15进制即为13,设置的序列位数为7位,步长补齐后即为0000013,因此,将步长分解成整型数组为St印[7] = { ‘0’,,0,,,0,,,0,,,0,,,1,,,3,}
9
[0071]第I个数据:起始值0000000 ;
[0072]第2个数据:
[0073]从起始数据的最低位开始算起,即最右边一位,即为数组的最后一个值,数组StartChar 起始值从 O 开始,即 StartChar [O] = ‘0’ ;StartChar [2] = ‘0’ ;StartChar [3] = ‘0’ ;StartChar[4]= ‘0’ ;StartChar[5]= ‘0’ ;StartChar[6]= ‘0’ ;
[0074]步长数据St印[7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ I’,’ 3’ }的最低位也是最右边一位,也是数组的最后一个值,即 Step[0]=’0’ ;Step[l]=’0’ ;Step[2]=’0’ ;Step[3]=’0’
;Step [4]=> 0’ ; Step [5]=> I’ ; Step [6]=> 3’ ;
[0075]从最低位即最右边一位StartChar [6]开始算起,其对应的步长数据为St印[6] ; StartChar [6]=,O,对应N15中的数据位序为0,St印[6] =’3’对应N15中的数据位序为3,0+3=3〈15,则新生成的数据NewChar [6]即N15中位序为3的字符,NewChar[6]=Nl5[3]=, 3,;
[0076]StartChar [5]=’O’对应N15中的数据位序为0,St印[5] =’I’对应N15中的数据位序为1,0+1=1〈15,则新生成的数据他《0^1'[5]即N15中位序为I的字符,NewChar [5] =’I’;
[0077]StartChar [4]=’O’对应N15中的数据位序为0,St印[4] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他《01&1'[4]即N15中位序为O的字符,NewChar [4]=’0’;
[0078]StartChar [3]=’O’对应N15中的数据位序为0,St印[3] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[3]即N15中位序为O的字符,NewChar [3]=’0’;
[0079]StartChar [2]=’O’对应N15中的数据位序为0,St印[2] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[2]即N15中位序为O的字符,NewChar [2]=’0’;
[0080]StartChar [I]=’O’对应N15中的数据位序为0,St印[I] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[1]即N15中位序为O的字符,NewChar [1]=’0’;
[0081]StartChar [O] =’O’对应N15中的数据位序为0,St印[O] =’0’对应N15中的数据位序为O,0+0=0<15,则新生成的数据NewChar [O]即NI5中位序为O的字符,NewChar [O] = ’ O ’ ;
[0082]NewChar[7] = { ‘O,,,O,,,O,,,O,,,O,,,I,,,3,}对应的数据即为 0000013。
[0083]第3个数据:
[0084]从第2个数据的最低位开始算起,即最右边一位,也就是数组的最后一个值,数组StartChar 起始值从 O 开始,即 StartChar [O] = ‘ O ’; StartChar [2] = ‘ O ’; StartChar [3] = ‘ O ’ ;StartChar[4]= ‘O,;StartChar[5]= ‘I,;StartChar[6]= ‘3,;
[0085]步长数据St印[7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ I’,’ 3’ }的最低位也是最右边一位,也是数组的最后一个值,即 Step[0]=’0’ ;Step[l]=’0’ ;Step[2]=’0’ ;Step[3]=’0’
;Step [4]=> 0’ ; Step [5]=> I’ ; Step [6]=> 3’ ;
[0086]从最低位即最右边一位StartChar [6]开始算起,其对应的步长数据为St印[6] ; StartChar [6]=,3,对应N15中的数据位序为3,St印[6] =’3’对应N15中的数据位序为3,3+3=6〈15,则新生成的数据NewChar [6]即N15中位序为6的字符,NewChar[6]=Nl5[6]=, 7,;
[0087]StartChar [5]=’I’对应N15中的数据位序为1,St印[5] =’I’对应N15中的数据位序为1,1+1=2〈15,则新生成的数据NewChar[5]即N15中位序为2的字符,NewChar [5] =’2’;
[0088]StartChar[4]=’0l^SN15中的数据位序为0,St印[4] =’0’对应N15中的数据位序为O,0+0=0<15,则新生成的数据NewChar [4]即NI5中位序为O的字符,NewChar [4] = ’ O ’ ;
[0089]StartChar [3]=’O’对应N15中的数据位序为0,St印[3] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[3]即N15中位序为O的字符,NewChar [3]=’0’;
[0090]StartChar [2]=’O’对应N15中的数据位序为0,St印[2] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[2]即N15中位序为O的字符,NewChar [2]=’0’;
[0091]StartChar [I]=’O’对应N15中的数据位序为0,St印[I] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[1]即N15中位序为O的字符,NewChar [1]=’0’;
[0092]StartChar [O] =’O’对应N15中的数据位序为0,St印[O] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他¥01&1'[0]即N15中位序为O的字符,NewChar [0]=’0’;
[0093]NewChar [7] = { ‘O,,,O,,,O,,,O,,,O,,,2,,,7,}对应的数据即为 0000027。
[0094]第4个数据:
[0095]从第3个数据的最低位开始算起,即最右边一位,即为数组的最后一个值,数组StartChar 起始值从 O 开始,即 StartChar [O] = ‘ O ’; StartChar [2] = ‘ O ’; StartChar [3] = ‘ O ’ ;StartChar[4]= ‘O, ;StartChar[5]= ‘2, ;StartChar[6]= ‘7,;
[0096]步长数据St印[7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ I’,’ 3’ }的最低位也是最右边一位,也是数组的最后一个值,即 Step[0]=’0’ ;Step[l]=’0’ ;Step[2]=’0’ ;Step[3]=’0’
;Step [4]=> 0’ ; Step [5]=> I’ ; Step [6]=> 3’ ;
[0097]从最低位即最右边一位StartChar [6]开始算起,其对应的步长数据为St印[6] ; StartChar [6]=,7,对应N15中的数据位序为6,St印[6] =’3’对应N15中的数据位序为3,3+6=9〈15,则新生成的数据NewChar [6]即N15中位序为9的字符,NewChar[9]=Nl5[9]=, A,;
[0098]StartChar [5]=’2’对应N15中的数据位序为2,St印[5] =’I’对应N15中的数据位序为1,1+2=3〈15,则新生成的数据NewChar[5]即N15中位序为3的字符,NewChar [5] =’3’;
[0099]StartChar[4]=’0l^SN15中的数据位序为0,St印[4] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他《01&1'[4]即N15中位序为O的字符,NewChar [4]=’0’;
[0100]StartChar [3]=’O’对应N15中的数据位序为0,St印[3] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[3]即N15中位序为O的字符,NewChar [3]=’0’;
[0101]StartChar [2]=’O’对应N15中的数据位序为0,St印[2] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[2]即N15中位序为O的字符,NewChar [2]=’0’;
[0102]StartChar [I]=’O’对应N15中的数据位序为0,St印[I] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[1]即N15中位序为O的字符,NewChar [1]=’0’;
[0103]StartChar [O] =’O’对应N15中的数据位序为0,St印[O] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他¥01&1'[0]即N15中位序为O的字符,NewChar [0]=’0’;
[0104]NewChar [7] = { ‘O,,,O,,,O,,,O,,,O,,,3,,,A,}对应的数据即为 000003A。
[0105]第5个数据:
[0106]从第4个数据的最低位开始算起,即最右边一位,即为数组的最后一个值,数组StartChar 起始值从 O 开始,即 StartChar [O] = ‘ O ’; StartChar [2] = ‘ O ’; StartChar [3] = ‘ O ’ ;StartChar[4]= ‘O, ;StartChar[5]= ‘3, ;StartChar[6]= ‘A,;
[0107]步长数据St印[7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ I’,’ 3’ }的最低位也是最右边一位,也是数组的最后一个值,即 Step[0]=’0’ ;Step[l]=’0’ ;Step[2]=’0’ ;Step[3]=’0’
;Step [4]=> 0’ ; Step [5]=> I’ ; Step [6]=> 3’ ;
[0108]从最低位即最右边一位StartChar [6]开始算起,其对应的步长数据为St印[6] ; StartChar [6]=,A,对应N15中的数据位序为9,St印[6] =’3’对应N15中的数据位序为3,9+3=12〈15,则新生成的数据NewChar[6]即N15中位序为13的字符,NewChar[6]=N15[12]=, D,;
[0109]StartChar [5]=’3’对应N15中的数据位序为3,St印[5] =’I’对应N15中的数据位序为1,3+1=4〈15,则新生成的数据他《0^1"[5]即N15中位序为4的字符,NewChar [5] =’5’;
[0110]StartChar [4]=’O’对应N15中的数据位序为0,St印[4] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他《01&1'[4]即N15中位序为O的字符,NewChar [4]=’0’;
[0111]StartChar [3]=’O’对应N15中的数据位序为0,St印[3] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[3]即N15中位序为O的字符,NewChar [3]=’0’;
[0112]StartChar [2]=’O’对应N15中的数据位序为0,St印[2] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[2]即N15中位序为O的字符,NewChar [2]=’0’;
[0113]StartChar [I]=’O’对应N15中的数据位序为0,St印[I] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[1]即N15中位序为O的字符,NewChar [1]=’0’;
[0114]StartChar [O] =’O’对应N15中的数据位序为0,St印[O] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他¥01&1'[0]即N15中位序为O的字符,NewChar [0]=’0’;
[0115]NewChar [7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ 5’,’ E’ }对应的数据即为 000005D。
[0116]第6个数据:从第5个数据的最低位开始算起,即最右边一位,即为数组的最后一个值,数组 StartChar 起始值从 O 开始,即 StartChar[O] = ‘0’ ;StartChar[2] = ‘0’ ;StartChar[3]= ‘O, ;StartChar[4]= ‘O, ;StartChar[5]= ‘5, ;StartChar[6]= ‘D,;
[0117]步长数据St印[7] = { ‘0’,’ O’,’ O’,’ O’,’ O’,’ I’,’ 3’ }的最低位也是最右边一位,也是数组的最后一个值,即 Step [O] =’O’ ; Step [I]=’O’ ; Step [2]=’O’ ; Step [3]=’O’ ;
[0118]Step [4]=> 0,; Step [5]=> I,; Step[6]=> 3,;
[0119]从最低位即最右边一位StartChar [6]开始算起,其对应的步长数据为St印[6] ; StartChar [6]=’ D,对应N15中的数据位序为12,Step [6]=,3,对应N15中的数据位序为3,12+3=15>=15,^。/。^^,则新生成的数据他…!^!.^]即N15中位序为O的字符,NewChar [6] =N15 [I]=’ O’,并且向高位进 I ;
[0120]StartChar[5]=’ 5,对应N15中的数据位序为4,St印[5]=’ I,对应N15中的数据位序为1,4+1=5 ;5+1=6〈15,则新生成的数据NewChar[5]即N15中位序为6的字符,NewChar [6]=> rV ;
[0121]StartChar[4]=’0l^SN15中的数据位序为0,St印[4] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他《01&1'[4]即N15中位序为O的字符,NewChar [4]=’0’;
[0122]StartChar [3]=’O’对应N15中的数据位序为0,St印[3] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[3]即N15中位序为O的字符,NewChar [3]=’0’;
[0123]StartChar [2]=’O’对应N15中的数据位序为0,St印[2] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[2]即N15中位序为O的字符,NewChar [2]=’0’;
[0124]StartChar [I]=’O’对应N15中的数据位序为0,St印[I] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他界0^1'[1]即N15中位序为O的字符,NewChar [1]=’0’;
[0125]StartChar [O] =’O’对应N15中的数据位序为0,St印[O] =’0’对应N15中的数据位序为0,0+0=0〈15,则新生成的数据他¥01&1'[0]即N15中位序为O的字符,NewChar [0]=’0’;
[0126]NewChar[7] = { ‘O,,,O,,,O,,,O,,,O,,,7,,,I,}对应的数据即为 0000070。
[0127]依此类推。最后生成全部的20条数据如图3所示。
[0128]由上述描述可知,本发明实施例可变序列数据自动生成方法,可以根据用户自己设定的可变序列数据的进制及相关参数,自动生成符合用户所需要的可变序列数据。利用本发明实施例的方法,使得用户可以更方便地生成所需的可变序列数据,与现有技术相比,能够适应各种不同用户的需求,具有很强的实用性。
[0129]相应地,本发明实施例还提供一种可变序列数据自动生成系统,如图4所示,是该系统的一种结构示意图。
[0130]在该实施例中,所述系统包括:
[0131 ] 设置模块41,用于获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符;
[0132]分解模块42,用于将所述自定义进制包含的字符分解为字符数组;
[0133]参数获取模块43,用于获取用户设置的可变序列数据的相关参数;
[0134]预处理模块44,用于对所述相关参数进行预处理;
[0135]可变序列数据生成模块45,用于根据所述字符数组及预处理后的相关参数生成可变序列数据。
[0136]所述可变序列数据的相关参数包括:可变序列数据的起始值、位数、数据总数、步长、以及变化方式。
[0137]相应地,所述预处理模块44包括:第一分解单元和第二分解单元。其中,所述第一分解单元用于分解所述起始值为字符数组;所述第二分解单元用于分解所述步长为整型数组,并根据设置的位数进行补齐。
[0138]上述可变序列数据生成模块45包括:查找单元和生成单元。其中,所述查找单元用于依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序;所述生成单元用于根据所述变化方式及所述位序生成可变序列数据。
[0139]具体地,所述生成单元可以在所述变化方式是递增方式时,将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于所述字符数组的基数则取该值与所述基数求余之后的余数,查找该余数在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值;在所述变化方式是递减方式时,将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于0,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位借I ;若相减的值大于等于0,则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值。具体过程可参照前面本发明实施例的方法中的描述,在此不再赘述。
[0140]由上述描述可知,本发明实施例可变序列数据自动生成系统,可以根据用户自己设定的可变序列数据的进制及相关参数,自动生成符合用户所需要的可变序列数据。利用本发明实施例的系统,使得用户可以更方便地生成所需的可变序列数据,与现有技术相比,能够适应各种不同用户的需求,具有很强的实用性。
[0141]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0142]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种可变序列数据自动生成方法,其特征在于,包括: 获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符; 将所述自定义进制包含的字符分解为字符数组; 获取用户设置的可变序列数据的相关参数; 对所述相关参数进行预处理; 根据所述字符数组及预处理后的相关参数生成可变序列数据。
2.根据权利要求1所述的方法,其特征在于,所述可变序列数据的相关参数包括: 可变序列数据的起始值、位数、数据总数、步长、以及变化方式。
3.根据权利要求2所述的方法,其特征在于,所述对所述相关参数进行预处理包括: 分解所述起始值为字符数组; 分解所述步长为整型数组,并根据设置的位数进行补齐。
4.根据权利要求3所述的方法,其特征在于,所述根据所述字符数组及预处理后的相关参数生成可变序列数据包括: 依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序; 根据所述变化方式及所述位序生成可变序列数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述变化方式及所述位序生成可变序列数据包括: 如果所述变化方式是递增方式,则将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于所述字符数组的基数则取该值与所述基数求余之后的余数,查找该余数在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值; 如果所述变化方式是递减方式,则将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于O,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位借I ;若相减的值大于等于O,则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值。
6.一种可变序列数据自动生成系统,其特征在于,包括: 设置模块,用于获取用户设定的生成可变序列数据的自定义进制以及所述自定义进制包含的字符; 分解模块,用于将所述自定义进制包含的字符分解为字符数组; 参数获取模块,用于获取用户设置的可变序列数据的相关参数; 预处理模块,用于对所述相关参数进行预处理; 可变序列数据生成模块,用于根据所述字符数组及预处理后的相关参数生成可变序列数据。
7.根据权利要求6所述的系统,其特征在于,所述可变序列数据的相关参数包括: 可变序列数据的起始值、位数、数据总数、步长、以及变化方式。
8.根据权利要求7所述的系统,其特征在于,所述预处理模块包括: 第一分解单元,用于分解所述起始值为字符数组; 第二分解单元,用于分解所述步长为整型数组,并根据设置的位数进行补齐。
9.根据权利要求8所述的系统,其特征在于,所述可变序列数据生成模块包括: 查找单元,用于依次从所述起始值数据对应的最低位开始计算,查找该数据位对应的字符在所述字符数组中的位序; 生成单元,用于根据所述变化方式及所述位序生成可变序列数据。
10.根据权利要求9所述的系统,其特征在于, 所述生成单元,具体用于在所述变化方式是递增方式时,将所述位序与对应数据位的整型数组中对应的整数相加;若相加的值大于等于所述字符数组的基数则取该值与所述基数求余之后的余数,查找该余数在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位进I ;若相加的值小于字符数组的基数则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值;在所述变化方式是递减方式时,将所述位序与对应数据位的整型数组中对应的整数相减;若相减的值小于0,则取所述字符数组的基数与相减的值的和,查找该和在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值,同时向高一位借I;若相减的值大于等于0,则取该值位序在所述字符数组中对应的字符,并将所述字符作为可变序列数据对应数据位的值。
【文档编号】G06F3/12GK104423901SQ201310384982
【公开日】2015年3月18日 申请日期:2013年8月29日 优先权日:2013年8月29日
【发明者】张秋利 申请人:北大方正集团有限公司, 方正信息产业控股有限公司, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1