CN102609330B - 一种凭据号码生成方法及系统 - Google Patents
一种凭据号码生成方法及系统 Download PDFInfo
- Publication number
- CN102609330B CN102609330B CN201210025463.4A CN201210025463A CN102609330B CN 102609330 B CN102609330 B CN 102609330B CN 201210025463 A CN201210025463 A CN 201210025463A CN 102609330 B CN102609330 B CN 102609330B
- Authority
- CN
- China
- Prior art keywords
- service
- information
- unused
- sequence
- credential
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012795 verification Methods 0.000 claims description 18
- 230000005012 migration Effects 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 9
- 238000003672 processing method Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000000750 progressive effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种凭据号码生成方法及系统。该方法包括:根据接收到的系统指令确定业务号;在所述业务号对应的序列号中选择未被使用的序列号作为顺序号;确定所述凭据号码末尾部分的指定信息;根据所述业务号、顺序号及所述指定信息,计算生成校验位;按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。本发明实施例提供的数据处理方法保证了一次计算即可获得包含指定信息的凭据号码,严格控制了生成所需凭据号码的响应时间,有效控制了系统开销。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种凭据号码生成方法及系统。
背景技术
现有的凭据号码,例如银行系统生成的凭据号码通常包括三个组成部分:固定位数的具有特定含义的部分,也即业务号,固定位数的顺序号码部分,以及固定位数的校验位部分。其中,业务号可按客户类型、客户所在地域等赋值,顺序号码用以保证相同业务号的凭证号码互不重复,校验位是根据业务号和顺序号计算获得的。
现有技术中校验位位于凭据号码的后端,该凭据号码的生成过程是在确定业务号,以及该业务号当前待使用的顺序号后,再计算确定校验位,因此无法在生成校验位之前对校验位的数字或字母为指定信息之内的值进行控制。
当需要生成号码末尾部分包含指定信息(特定数字或字母集)的凭据号码时,以生成末位数字为三个特定数字之一的凭据号码为例,依据现有技术中的凭据号码生成方法,若当前生成的凭据号码的末位数字非特定数字之一时,则需要不断变换顺序号码,重新计算校验位,直至生成的校验位的末位数字为特定数字之一。可见,按照上述方法需要多次重复执行上述数据处理过程才可以获得特定末位数字之一的凭据号码,系统开销不可控,响应时间不可控,对要求实时响应的大交易量系统可能导致系统失效的风险。
发明内容
本发明实施例提供一种凭据号码生成方法及系统,能够在获得包含指定信息的凭据号码时,确保响应时间一致,避免系统开销不可控导致的风险。
为了解决上述技术问题,本发明实施例的技术方案如下:
一种凭据号码生成方法,包括:
根据接收到的系统指令确定业务号;
在所述业务号对应的序列号中选择未被使用的序列号作为顺序号;
确定所述凭据号码末尾部分的指定信息;
根据所述业务号、顺序号及所述指定信息,计算生成校验位;
按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
进一步,所述根据接收到的系统指令确定业务号,包括:
获得系统指令中包含的业务索引号;
根据所述业务索引号,在设定的业务号池中确定所述业务索引号对应的业务号。
进一步,所述在所述业务号对应的序列号中选择未被使用的序列号作为顺序号,包括:
判断所述业务号对应的已使用的序列号是否达到最大值;
若否,则根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号,作为顺序号。
进一步,所述确定所述凭据号码末尾部分的指定信息包括:
确定用于存储未使用的指定信息的未用池中是否还存在指定信息;
若是,则按照预定选取策略,从所述未用池中选择指定信息;
将所述选择的指定信息从所述未用池移动至用于存储已使用的指定信息的已用池。
进一步,在所述确定用于存储未使用的指定信息的未用池中是否还存在指定信息之后,还包括:
若否,则将所述已用池中的指定信息全部移动至所述未用池中。
进一步,所述预定选取策略为:
从所述未用池中随机挑选指定信息;或者,
从所述未用池中按顺序选择指定信息。
进一步,所述指定信息为数字和/或字母。
一种按照上述的方法生成的凭据号码的校验方法,包括:
接收系统发送的凭据号码;
根据预定组装规则,对所述凭据号码进行分解,获得所述凭据号码中的业务号、顺序号、指定信息及校验位;
根据所述业务号、顺序号及所述指定信息,计算生成校验位;
将所述计算生成的校验位与对所述凭据号码分解后获得的校验位进行对比,若一致,则所述凭据号码校验成功。
一种凭据号码生成系统,包括:
业务号生成装置,用于根据接收到的系统指令确定业务号;
顺序号生成装置,用于在所述业务号对应的序列号中选择未被使用的序列号作为顺序号;
指定信息生成装置,用于确定所述凭据号码末尾部分的指定信息;
校验位生成装置,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位;
凭据号组装装置,用于按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
进一步,所述业务号生成装置包括:
获取单元,用于获得系统指令中包含的业务索引号;
第一确定单元,用于根据所述业务索引号,在设定的业务号池中确定所述业务索引号对应的业务号。
进一步,所述顺序号生成装置包括:
判断单元,用于判断所述业务号对应的已使用的序列号是否达到最大值;
计算单元,用于当未达到最大值时,根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号,作为顺序号。
进一步,所述指定信息生成装置包括:
第二确定单元,用于确定用于存储未使用的指定信息的未用池中是否还存在指定信息;
选择单元,用于当还存在指定信息时,按照预定选取策略,从所述未用池中选择指定信息;
第一迁移单元,用于将所述选择的指定信息从所述未用池移动至用于存储已使用的指定信息的已用池。
进一步,所述指定信息生成装置还包括:
第二迁移单元,用于在所述确定用于存储未使用的指定信息的未用池中不存在指定信息之后,将所述已用池中的指定信息全部移动至所述未用池中。
一种凭据号码校验系统,用于对上述凭据号码生成系统生成的凭据号码进行校验,所述凭据号码校验系统包括:
号码接收装置,用于接收系统发送的凭据号码;
号码分解装置,用于根据预定组装规则,对所述凭据号码进行分解,获得所述凭据号码中的业务号、顺序号、指定信息及校验位;
校验位计算装置,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位;
校验装置,用于将所述计算生成的校验位与对所述凭据号码分解后获得的校验位进行对比,若一致,则所述凭据号码校验成功。
本发明实施例提供的数据处理方法通过在生成校验位之前先确定业务号、顺序号和指定信息,然后根据上述三者计算校验位,保证了一次计算即可获得包含指定信息的凭据号码,代替了现有技术中不断变换顺序号码,重复计算校验位,直至生成的号码末尾部分包含指定数字的数据处理过程。本发明实施例提供的方法使得生成所需凭据号码的响应时间一致,确保了处理效率,避免了对要求实时响应的大交易量系统,因处理效率不可控而导致系统失效的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种凭据号码生成方法流程图;
图2是本发明实施例另一种凭据号码生成方法流程图;
图3是本发明实施例中生成的凭据号码示意图;
图4是本发明实施例一种凭据号码校验方法流程图;
图5是本发明实施例一种凭据号码生成系统的结构示意图;
图6是本发明实施例另一种凭据号码生成系统的结构示意图;
图7是本发明实施例一种凭据号码校验系统的结构示意图。
具体实施方式
为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制本发明。
下面结合附图和实施例,对本发明的技术方案进行描述。
参见图1,为本发明实施例一种凭据号码生成方法流程图。
该方法可以包括:
步骤101,根据接收到的系统指令确定业务号。
业务号可以是按客户类型、客户所在省份等赋予的特定值,该系统指令中包含用于确定业务号的信息,例如可直接包含指定的业务号,也可包含与业务号对应的业务索引号等,以便定位业务号。
步骤102,在业务号对应的序列号中选择未被使用的序列号作为顺序号。
每个业务号对应一系列的序列号,该序列号的个数可以是固定的,且序列号之间可以具有一定的关系,例如依次递增排列,当然每个业务号也可以对应一个序列号集合,例如一序列号池,序列号之间可以互不相关,其中的序列号是可以随机选取的。
在上步骤确定业务号后,即可在该业务号对应的序列号中选择其中一个作为顺序号,为了保证每个具有相同业务号的凭证号码互不重复,相同业务号对应的顺序号均不相同,所以,在选择顺序号时,需要选择该业务号对应的序列号中未使用的序列号作为顺序号。
步骤103,确定凭据号码末尾部分的指定信息。
本实施例中,该指定信息可以是数字,也可以是字母,或者数字和字母的组合,该指定信息的位数,可以是一位,也可以是两位或两位以上,其位数不多于凭据号码的总位数减去上述确定的业务号的位数和后续生成的校验位的位数,也即在极端情况下,顺序号位数为0时,指定信息的位数可以等于凭据号码的总位数减去上述确定的业务号的位数和后续生成的校验位的位数,在顺序号位数不为0时,指定信息的位数可以等于凭据号码的总位数减去上述确定的业务号的位数、顺序号的位数和后续生成的校验位的位数。该指定信息位于凭据号码的末尾位置,在一实例中,该指定信息可以是用户的偏好数字。
该指定信息可以是预先设定的固定值,无需选择也不能替换,也可以是从一系列备选的指定信息中选择的值,具体请参见后续实施例的描述,此处不作限定。
步骤104,根据业务号、顺序号及指定信息,计算生成校验位。
在确定上述业务号、顺序号和指定信息后,即可根据上述数字构成的数字串计算校验位,具体的计算过程可以遵循不同应用场景的运算规则,例如在银行系统中生成的凭据号码可以是按照GB/T 17710-2008《信息技术安全技术校验字符系统》(等同采用ISO/IEC 7064:2003)规定的ISO/IEC7064,MOD 97-10校验字符系统,计算生成两位数字校验位。
步骤105,按照预定组装规则对业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
在获得业务号、顺序号、校验位及指定信息后,即可按照组装规则进行组装,例如采用业务号+顺序号+校验位+指定信息的顺序排列,最终生成凭据号码。
本发明实施例提供的数据处理方法通过在生成校验位之前先确定业务号、顺序号和指定信息,然后根据上述三者计算校验位,保证了一次计算即可获得包含指定信息的凭据号码,代替了现有技术中不断变换顺序号码,重复计算校验位,直至生成的号码末尾部分包含指定数字的数据处理过程。本发明实施例提供的方法使得生成所需凭据号码的响应时间一致,确保了处理效率,避免了对要求实时响应的大交易量系统,因处理效率不可控而导致系统失效的风险。
参见图2,为本发明实施例另一种凭据号码生成方法流程图。
该方法可以包括:
步骤201,获得系统指令中包含的业务索引号。
应用系统下发的指令中包含业务索引号,凭据号码生成系统在接收到该指令后,根据其中的索引号来定位业务号。
步骤202,根据业务索引号,在设定的业务号池中确定该业务索引号对应的业务号。
该凭据号码生成系统中可以存储有30个业务号数据,例如,分别为“1601、1602、......、1630”,构成业务号池,每一个业务号对应一业务索引号,在生成凭据号码时,系统在接收到应用系统下发的业务索引号后,即可定位该业务号。业务号不带有自动进位机制,每一个业务号下对应一系列的顺序号,当一个业务号下的顺序号均使用完毕后,则停止使用该业务号。
本实施例中,将确定的业务号记为BBBB,在确定业务号后,接下来确定顺序号。
步骤203,判断该业务号对应的已使用的序列号是否达到最大值。
每一个业务号对应一定个数的序列号,本实施例中,相邻序列号之间为步进关系,也即序列号之间按照步进方式递增,具体的可以是按照自然数依次递增,例如第一个序列号为0000 00001,第二个序列号为0000 00002,第三个序列号为0000 00003,......。在确定业务号对应的顺序号时可以按照序列号的数值大小依次选择未使用的序列号作为顺序号。当然,在其它实施例中,该序列号之间也可以是其它关系,而且在选择序列号时也可以不按照上述次序进行选择,只要所选择的序列号为该业务号未使用的即可。
在实际操作时,可以将每个业务号对应的所有序列号预先存储,并记录该业务号当前已经使用的序列号,在确定顺序号时,可以选择未经使用的序列号作为顺序号;也还可以是对于未使用的序列号不进行预先生成和存储,而是在需要确定顺序号时,根据一定的规则,如根据序列号之间的步进关系,临时生成。本实施例中以后者为例进行说明。
无论上述哪种方式,由于每个业务号对应的序列号有限,在确定顺序号之前,首先判断当前已使用的序列号是否已达到最大值,也即判断是否还存在或还可以生成未使用的序列号,例如该业务号对应的最大序列号为999999999,若该业务号当前已使用的序列号已达到该最大值,则说明该业务号下所有的序列号均已使用,此时,则向应用系统返回无法生成凭据号码的消息,结束本次凭据号码生成过程。若否,则执行步骤204,确定该业务号下的顺序号。
步骤204,根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号作为顺序号。
本实施例中,该业务号下还存在可以使用的序列号,则按照前述步骤203中序列号之间的步进关系,对当前已使用的最大序列号进行数值递增,获得未使用的序列号,将该未使用的序列号作为该顺序号。例如,该业务号下当前已使用的最大序列号为1234 5678 5,序列号之间以自然数1递增,则可获得下一序列号为1234 56786,则将该1234 56786作为该业务号的顺序号。
该预设的步进方式,还可以是从序列号的数组或集合中随机或按顺序取数,然后采用循环递进的方法确定顺序号,当数组仅有1个元素,且值为1时,就是自然数递进。
本实施例中,将确定的顺序号记为NNNNNNNNN。
步骤205,确定用于存储未使用的指定信息的未用池中是否还存在指定信息。
本实施例中,位于凭据号码末尾部分的指定信息并非固定值,可以在一些备选的指定信息中进行选择,这些备选的指定信息中,未被使用的指定信息存储在未用池中,已经使用过的指定信息存储在已用池中。
未用池和已用池中的信息可以根据需要进行相关操作,例如在系统初始化时,确定备用的指定信息,在本实施例中,为“6”、“8”、“9”三个数字,将备用指定信息存储于未用池中,且清除已用池中的内容;还可以是根据系统指令对指定信息进行删除,或增加,或修改等。
在确定指定信息时,需要在未用池中选择指定信息,首先确定该未用池中是否还存在指定信息,若否,则将已用池中的指定信息全部移动至未用池中,继续执行步骤205。若是,则执行步骤206。
步骤206,按照预定选取策略,从未用池中选择指定信息。
该指定信息的选取策略可以为:
从未用池中随机挑选指定信息;或者,从未用池中按顺序选择指定信息。
在确定指定信息后,将选择的指定信息从未用池移动至用于存储已使用的指定信息的已用池。
本实施例中以指定信息为位于凭据号码末位的1位指定数字为例进行说明,例如,在未用池中的指定数字为6,8,在已用池中指定数字为9,则需要在未用池中的6、8中选择一个作为指定数字,既可以是随机选择,也可以按照顺序选择“6”,在选择“6”后,则未用池仅剩数字“8”,而已用池中则有数字“6”、“9”。
本实施例中,将确定的指定数字记为P。
上述确定指定信息的步骤与确定顺序号的步骤之间无必然联系,其对应步骤顺序可以根据需要进行调整,例如两步骤顺序对调,或两步骤同时进行。
步骤207,根据业务号、顺序号及指定信息,计算生成校验位。
以银行系统的银行凭据号码为例,本步骤中根据业务号BBBB、顺序号NNNNNNNNN及指定数字P构成的数字串,按照GB/T 17710-2008《信息技术安全技术校验字符系统》(等同采用ISO/IEC 7064:2003)规定的ISO/IEC7064,MOD 97-10校验字符系统,产生校验位。
本实施例中,将计算获得的校验位记为两位数字的CC值。
步骤208,按照预定组装规则对业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
该组装规则可根据需要设定,在本实施例中可以按照业务号+顺序号+校验位+指定信息的顺序进行组装,生成如图3所示的凭据号码。
本发明实施例提供的数据处理方法使得生成所需凭据号码的响应时间一致,确保了处理效率,有效控制了系统开销,避免了因处理效率不可控而导致系统失效的风险。
参见图4,为本发明实施例一种凭据号码校验方法流程图。
该方法可以包括:
步骤401,接收系统发送的凭据号码。
其中,该凭据号码按照前述实施例所述的方法生成。
步骤402,根据预定组装规则,对凭据号码进行分解,获得凭据号码中的业务号、顺序号、指定信息及校验位。
在接收到凭据号码后,可以按照前述生成凭据号码时预定的组装规则,对该凭据号码进行逆操作,也即对该凭据号码进行分解,获得其中的业务号、顺序号、指定信息及校验位。
其中,该组装规则可以是生成凭据号码的系统和校验该凭据号码的系统预先约定的,也可以是在上步骤接收系统发送的凭据号码时,同时接收的。
步骤403,根据业务号、顺序号及指定信息,计算生成校验位。
在分解获得业务号、顺序号、指定信息后,根据该业务号、顺序号、指定信息构成的字符串按照生成凭据号码时采用的计算校验位的规则,重新计算校验位。例如,按照GB/T 17710-2008《信息技术安全技术校验字符系统》(等同采用ISO/IEC 7064:2003)规定的ISO/IEC 7064,MOD 97-10校验字符系统,计算获得校验位。
步骤404,将计算生成的校验位与对凭据号码分解后所获得的校验位进行对比,若一致,则凭据号码校验成功。
在上步骤计算获得校验位后,与根据接收的系统发送来的凭据号码进行分解获得的校验位进行对比,若两校验位相同,则确认该凭据号码校验成功。
上述校验步骤可以在生成凭据号码后的任意时刻进行,此处不作限定。
以上是对本发明实施例方法的描述,下面对实现上述方法的系统进行介绍。
参见图5,为本发明实施例一种凭据号码生成系统的结构示意图。
该系统可以包括:
业务号生成装置51,用于根据接收到的系统指令确定业务号。
顺序号生成装置52,用于在所述业务号对应的序列号中选择未被使用的序列号作为顺序号。
指定信息生成装置53,用于确定所述凭据号码末尾部分的指定信息。
校验位生成装置54,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位。
凭据号组装装置55,用于按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
业务号生成装置51根据系统下发的指令确定业务号,然后发送至顺序号生成装置52、校验位生成装置54、凭据号组装装置55,顺序号生成装置52在该业务号对应的序列号中选择其中一个作为顺序号,并将顺序号发送至校验位生成装置54、凭据号组装装置55,指定信息生成装置53确定凭据号码末尾部分的指定信息,并发送至校验位生成装置54、凭据号组装装置55,校验位生成装置54根据业务号、顺序号及指定信息,计算生成校验位,并将校验位发送至凭据号组装装置55,凭据号组装装置55按照预定组装规则对业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
本发明实施例的系统通过上述装置在生成校验位之前先确定业务号、顺序号和指定信息,然后根据上述三者计算校验位,保证了一次计算即可获得包含指定信息的凭据号码。该系统使得生成所需凭据号码的时间一致,有效控制了系统开销,避免了因处理效率不可控而导致系统失效的风险。
参见图6,为本发明实施例另一种凭据号码生成系统的结构示意图。
该系统可以包括业务号生成装置61、顺序号生成装置62、指定信息生成装置63、校验位生成装置64、凭据号组装装置65。
其中,业务号生成装置61又可以包括:
获取单元611,用于获得系统指令中包含的业务索引号;
第一确定单元612,用于根据所述业务索引号,在设定的业务号池中确定所述业务索引号对应的业务号。
顺序号生成装置62又可以包括:
判断单元621,用于判断所述业务号对应的已使用的序列号是否达到最大值;
计算单元622,用于当未达到最大值时,根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号,作为顺序号。
指定信息生成装置63又可以包括:
第二确定单元631,用于确定用于存储未使用的指定信息的未用池中是否还存在指定信息;
选择单元632,用于当还存在指定信息时,按照预定选取策略,从所述未用池中选择指定信息;
第一迁移单元633,用于将所述选择的指定信息从所述未用池移动至用于存储已使用的指定信息的已用池。
指定信息生成装置63还包括第二迁移单元,用于在所述确定用于存储未使用的指定信息的未用池中不存在指定信息之后,将所述已用池中的指定信息全部移动至所述未用池中。
本发明实施例的系统通过上述装置使得生成所需凭据号码的时间一致,有效控制了系统开销,避免了因处理效率不可控而导致系统失效的风险。
参见图7,为本发明实施例一种凭据号码校验系统的结构示意图。
该系统用于对上述凭据号码生成系统生成的凭据号码进行校验,具体可以包括:
号码接收装置71,用于接收系统发送的凭据号码;
号码分解装置72,用于根据预定组装规则,对所述凭据号码进行分解,获得所述凭据号码中的业务号、顺序号、指定信息及校验位;
校验位计算装置73,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位;
校验装置74,用于将所述计算生成的校验位与对凭据号码分解后获得的校验位进行对比,若一致,则所述凭据号码校验成功。
在另一实施例中,该凭据号码校验系统可以与上述凭据号码生成系统集成在一起。
以上系统实施例中各装置及单元的具体实现过程,请参见前述方法实施例的相应描述,此处不再赘述。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (8)
1.一种凭据号码生成方法,其特征在于,包括:
根据接收到的系统指令确定业务号,具体包括:
获得系统指令中包含的业务索引号;
根据所述业务索引号,在设定的业务号池中确定所述业务索引号对应的业务号;
在所述业务号对应的序列号中选择未被使用的序列号作为顺序号;
确定所述凭据号码末尾部分的指定信息,包括:
确定用于存储未使用的指定信息的未用池中是否还存在指定信息;
若是,则按照预定选取策略,从所述未用池中选择指定信息;
将所述选择的指定信息从所述未用池移动至用于存储已使用的指定信息的已用池;
若否,则将所述已用池中的指定信息全部移动至所述未用池中;
根据所述业务号、顺序号及所述指定信息,计算生成校验位;
按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
2.根据权利要求1所述的方法,其特征在于,所述在所述业务号对应的序列号中选择未被使用的序列号作为顺序号,包括:
判断所述业务号对应的已使用的序列号是否达到最大值;
若否,则根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号,作为顺序号。
3.根据权利要求1所述的方法,其特征在于,所述预定选取策略为:
从所述未用池中随机挑选指定信息;或者,
从所述未用池中按顺序选择指定信息。
4.根据权利要求1所述的方法,其特征在于,所述指定信息为数字和/或字母。
5.一种按照权利要求1所述的方法生成的凭据号码的校验方法,其特征在于,包括:
接收系统发送的凭据号码;
根据预定组装规则,对所述凭据号码进行分解,获得所述凭据号码中的业务号、顺序号、指定信息及校验位;
根据所述业务号、顺序号及所述指定信息,计算生成校验位;
将所述计算生成的校验位与对所述凭据号码分解后获得的校验位进行对比,若一致,则所述凭据号码校验成功。
6.一种凭据号码生成系统,其特征在于,包括:
业务号生成装置,用于根据接收到的系统指令确定业务号包括:
获取单元,用于获得系统指令中包含的业务索引号;
第一确定单元,用于根据所述业务索引号,在设定的业务号池中确定所述业务索引号对应的业务号;
顺序号生成装置,用于在所述业务号对应的序列号中选择未被使用的序列号作为顺序号;
指定信息生成装置,用于确定所述凭据号码末尾部分的指定信息,包括:
第二确定单元,用于确定用于存储未使用的指定信息的未用池中是否还存在指定信息;
选择单元,用于当还存在指定信息时,按照预定选取策略,从所述未用池中选择指定信息;
第一迁移单元,用于将所述选择的指定信息从所述未用池移动至用于存储已使用的指定信息的已用池;
第二迁移单元,用于在所述确定用于存储未使用的指定信息的未用池中不存在指定信息之后,将所述已用池中的指定信息全部移动至所述未用池中;
校验位生成装置,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位;
凭据号组装装置,用于按照预定组装规则对所述业务号、顺序号、校验位及指定信息进行组装,生成凭据号码。
7.根据权利要求6所述的系统,其特征在于,所述顺序号生成装置包括:
判断单元,用于判断所述业务号对应的已使用的序列号是否达到最大值;
计算单元,用于当未达到最大值时,根据最大的已使用的序列号,按照预设的步进方式,获得未被使用的序列号,作为顺序号。
8.一种凭据号码校验系统,其特征在于,用于对权利要求7所述的系统生成的凭据号码进行校验,所述凭据号码校验系统包括:
号码接收装置,用于接收系统发送的凭据号码;
号码分解装置,用于根据预定组装规则,对所述凭据号码进行分解,获得所述凭据号码中的业务号、顺序号、指定信息及校验位;
校验位计算装置,用于根据所述业务号、顺序号及所述指定信息,计算生成校验位;
校验装置,用于将所述计算生成的校验位与对所述凭据号码分解后获得的校验位进行对比,若一致,则所述凭据号码校验成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210025463.4A CN102609330B (zh) | 2012-02-06 | 2012-02-06 | 一种凭据号码生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210025463.4A CN102609330B (zh) | 2012-02-06 | 2012-02-06 | 一种凭据号码生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609330A CN102609330A (zh) | 2012-07-25 |
CN102609330B true CN102609330B (zh) | 2015-05-20 |
Family
ID=46526722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210025463.4A Active CN102609330B (zh) | 2012-02-06 | 2012-02-06 | 一种凭据号码生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609330B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423901B (zh) * | 2013-08-29 | 2018-11-06 | 北大方正集团有限公司 | 可变序列数据自动生成方法和系统 |
CN105095263B (zh) * | 2014-05-08 | 2019-12-17 | 创新先进技术有限公司 | 卡号的生成方法及其装置 |
CN105224414B (zh) * | 2015-09-25 | 2018-01-19 | 北京奇虎科技有限公司 | 用于实现业务任务的码的校验方法及装置 |
CN105260979A (zh) * | 2015-11-03 | 2016-01-20 | 中体彩科技发展有限公司 | 彩票序号生成方法 |
CN108829650B (zh) * | 2018-06-01 | 2022-08-23 | 腾讯科技(北京)有限公司 | 一种卡号的生成方法、装置、服务器及存储介质 |
CN113129000A (zh) * | 2019-12-31 | 2021-07-16 | 航天信息股份有限公司 | 一种电子业务凭证生成方法及设备 |
CN112183024B (zh) * | 2020-09-30 | 2023-09-26 | 中国工商银行股份有限公司 | 用于合作方子机构的身份识别码生成方法和装置 |
CN113485676A (zh) * | 2021-07-08 | 2021-10-08 | 上海通联金融服务有限公司 | 随机生成信用卡号的方法及系统 |
CN113592458B (zh) * | 2021-08-05 | 2024-01-12 | 百融云创科技股份有限公司 | 一种号码分配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1356665A (zh) * | 2001-09-01 | 2002-07-03 | 肖祥省 | 用变形字符的位置和个数表示编码特征值实现编码多维防伪 |
CN1363995A (zh) * | 2001-10-01 | 2002-08-14 | 肖祥省 | 利用编码字符形状的差异实现其正确性检验 |
CN101533435A (zh) * | 2009-04-16 | 2009-09-16 | 北京水晶石数字科技有限公司 | 一种序列号生成和验证的方法 |
CN201583983U (zh) * | 2009-03-04 | 2010-09-15 | 深圳市众合联科技有限公司 | 产品身份数码标识装置、产品身份数码检验装置及产品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422076A (zh) * | 2001-11-26 | 2003-06-04 | 国家广播电影电视总局广播科学研究院 | 有线电视用户编码生成方法 |
JP4062985B2 (ja) * | 2002-06-24 | 2008-03-19 | 株式会社日立製作所 | 電子タグ固有番号管理方法および管理サーバ |
CN101226613A (zh) * | 2008-02-21 | 2008-07-23 | 金蝶软件(中国)有限公司 | 根据单据生成凭证的方法 |
-
2012
- 2012-02-06 CN CN201210025463.4A patent/CN102609330B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1356665A (zh) * | 2001-09-01 | 2002-07-03 | 肖祥省 | 用变形字符的位置和个数表示编码特征值实现编码多维防伪 |
CN1363995A (zh) * | 2001-10-01 | 2002-08-14 | 肖祥省 | 利用编码字符形状的差异实现其正确性检验 |
CN201583983U (zh) * | 2009-03-04 | 2010-09-15 | 深圳市众合联科技有限公司 | 产品身份数码标识装置、产品身份数码检验装置及产品 |
CN101533435A (zh) * | 2009-04-16 | 2009-09-16 | 北京水晶石数字科技有限公司 | 一种序列号生成和验证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102609330A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609330B (zh) | 一种凭据号码生成方法及系统 | |
CN105978577B (zh) | 一种基于比特翻转的串行列表译码方法 | |
CN104217494B (zh) | 一种卡号校验方法和装置 | |
CN113626250B (zh) | 一种基于纠删码的条带合并方法及系统 | |
CN109710237A (zh) | 一种基于自定义二维报表的在线修改校验方法及设备 | |
CN106575244A (zh) | 确保云应用的高可用性的修补过程 | |
CN105989059A (zh) | 数据记录核对方法及装置 | |
CN109871290A (zh) | 应用于Java的调用堆栈追踪方法、装置和存储介质 | |
US8581751B2 (en) | Multi-cell voltage secure data encoding in hybrid vehicles | |
CN108712232A (zh) | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 | |
CN103440460A (zh) | 一种应用系统变更验证方法及验证系统 | |
CN106658034A (zh) | 文件存储和读取的方法及装置 | |
CN104618112A (zh) | 一种对动态令牌的动态口令校验的方法 | |
CN107643894A (zh) | 代码开发管理方法和系统 | |
CN117541385A (zh) | 一种基于关联规则项的频繁金融交易挖掘方法和装置 | |
CN104346555A (zh) | 薪资计算公式编辑及验证系统和方法 | |
CN105373442B (zh) | 用于监视存储器数据错误状态的方法与装置 | |
CN107392745B (zh) | 一种对帐数据碎片化处理方法 | |
CN109743133A (zh) | 数据对账方法及装置 | |
CN109241322A (zh) | 代码生成方法、代码生成装置和电子设备 | |
CN114997874A (zh) | 基于区块链的多账户交易处理方法及装置 | |
CN107423140A (zh) | 一种返回码识别方法和装置 | |
CN105808429A (zh) | 一种面向线性约束代码的有界可达性验证方法 | |
CN115001623B (zh) | 车载电子地图数据的校验方法和装置 | |
CN102567199A (zh) | 跨多个组件的场景测试可编纂性 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |