对印鉴组合数据进行存储、验印的方法和系统的制作方法

文档序号:6536231阅读:723来源:国知局
对印鉴组合数据进行存储、验印的方法和系统的制作方法
【专利摘要】本发明公开了一种用于对印鉴组合数据进行存储、验印的方法和系统,对差异化的印鉴组合数据有着极高的兼容性,可成功表述任意要素作为条件而设定的印鉴组合;在验印时仅进行一条记录的解析,印鉴组合数据处理效率大大提升。所述存储方法包括:通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式;将简单条件表达式、印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将简单命题连接起来形成复合命题;两个或两个以上的复合命题通过数理逻辑中的与运算符号连接,形成为印鉴组合数据,或者将一个复合命题形成为印鉴组合数据;将印鉴组合数据作为一条记录存储至数据库中的一个字段。
【专利说明】对印鉴组合数据进行存储、验印的方法和系统
【技术领域】
[0001]本发明涉及计算机数据处理技术,更为具体而言,涉及一种在电子验印系统中印鉴组合数据的存储方法、使用印鉴组合数据进行验印的方法以及对印鉴组合数据进行处理的系统。
【背景技术】
[0002]电子印鉴是传统印章影像的电子化,在现代银行业务中,将纸质印鉴卡上的印章影像通过图像处理算法提取出来,形成电子图像数据并进行保存。
[0003]利用图像处理算法将票据影像中的印鉴与预留的电子印鉴进行自动核验,或辅助人工核验,从而达到判断印鉴真伪、为支付审核提供依据的目的,这个过程即电子验印。
[0004]电子验印系统中印鉴账户数据主要包含了账户基本信息及印鉴电子化数据。其中,账户基本信息包括账号、户名、印鉴卡号、启用日期、印鉴组合等等;印鉴电子化数据主要包括:印鉴正卡/副卡JPEG影像、电子印鉴加密DAT数据、电子印鉴BMP图、印鉴账户的其他影像资料(如组合申请单或组合说明粘单JPEG影像)等。其中,印鉴组合即为对验印条件及对应印章组合的表述。例如,某些电子印鉴账户会预先设立一些验印条件及其取值范围,如金额、用途等,用以控制在票据验印时,根据预设条件的不同取值,调用不同的印章进行核验。根据现有的验印系统,其印鉴组合数据处理包括组合表达和组合筛选及验印结果计算。
[0005]一、组合表达
[0006]银行业客户账户的印鉴组合可能包含“金额”、“用途”、“收款人姓名”等多种不同的要素以及要素的不同取值范围作为组合条件。每个账户印鉴组合中所含的固定要素是差异化的,即有些账户以金额、用途为组合,而有些账户是以金额、收款人姓名为组合,还有些账户是以其他未被列举的要素为组合。而在现有的电子验印系统中,并不能涵盖所有差异化的要素,而是固定可供选择的要素种类,并将之设置为数据库中不同的字段,每个要素约定的取值范围分别存储这些不同的字段中。数据库同一条记录中各字段存储的数据(即多个要素的范围)综合起来构成一组组合条件。此外,在数据库表中设置待验印鉴字段,存储一组印鉴组合对应的待验印印鉴。现有技术对印鉴组合的典型表达如下:
[0007]例I:
[0008]假设设计的数据库表中,包含有“金额”、“用途”等等字段。
[0009]账户A有1、2、3、4共4枚章。银行与客户约定其“金额”、“用途”要素作为需要设置的要素,则设定以下组合:
[0010]组合记录1:用途字段记录:工资,金额字段记录:0-10, 000,验印印章字段记录:印章I或2 ;
[0011]组合记录2:用途字段记录:工资,金额字段记录:>10,000,验印印章字段记录:印章I和2 ;
[0012]组合记录3:用途字段记录:公关,金额字段记录:0-5,000,验印印章字段记录:印章3 ;
[0013]组合记录4:用途字段记录:公关,金额字段记录:>5,000,验印印章字段记录:印章3和4。
[0014]账户B如想以“金额”、“票据类型”要素作为组合的约定要素,而设计的数据库表中预先没有包含“票据类型”字段,则不支持账户B印鉴组合数据的存储。
[0015]二、组合筛选及验印结果计算
[0016]含有印鉴组合的账户进行验印时,需要根据验印票据上的条件筛查出符合的组合从而得到所需验印的印章。现有的算法是查找数据库中的每条印鉴组合记录,一条记录对应了一组组合条件。这条记录中各个字段如非空(即记录了一定的字段范围),则必须对该字段在验印票据上的值进行校验,所有校验均通过了,则调取该条数据库记录中的待验印印鉴字段,进行验印。验印后,根据各个印鉴的验印值判断验印是否通过。具体而言,计算过程如下:
[0017]例2:
[0018]对于例I中的账户A,如果票据上的用途标注为工资,金额为500。
[0019]a)从数据库中检索并调用出账户的所有组合记录,在本例中涉及到四条组合记录;
[0020]b)将用途=工资,金额=500代入各条记录中的金额和组合字段的范围中,只有组合记录I中的范围是满足的,因此需要验印账户A的印鉴I或2
[0021]c)验印印章1、2,由于之前计算的所需验印印章是“I或2”,故两枚印章只需有一枚验印通过即认为验印通过。
[0022]通过上述描述可知,现有技术的组合表达方式采用数据库字段表达不同的组合条件,而数据库字段是固定的,导致现有技术可兼容的印鉴组合种类有限,例如数据库字段预设了金额、用途、收款人账户、收款人姓名、交易类别这几种,则用户只兼容含这些条件的组合数据,对差异化的数据兼容性差;验印时,将票据上的条件代入组合中计算和筛选时,需要从数据库检索多条记录进行比较,而数据库中账户数量本来就比较较大,现有表述方式一个账户对应多条组合记录,因此在这样的数据量前提下读取多条记录进行组合筛选的方式效率偏低。

【发明内容】

[0023]为了解决上述技术问题,本发明提供了用于对印鉴组合数据进行存储、验印的方法和系统。
[0024]根据本发明的一种实施方式,提供了一种电子验印系统中印鉴组合数据的存储方法,其中,所述存储方法包括:
[0025]通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式;
[0026]将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题;
[0027]该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据;
[0028]将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库中的一个字段。
[0029]本发明的另一种实施方式,提供了一种电子验印系统中使用印鉴组合数据进行验印的方法,其中,所述方法包括:
[0030]从数据库中读取账户的印鉴组合的数据库记录,其中该账户的印鉴组合按照上述存储方法存储在所述数据库中;
[0031]将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号;
[0032]遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值;
[0033]如果取值为真表示对该账户的印鉴组合验印通过。
[0034]根据本发明的又一种实施方式,提供了一种在电子验印系统中对印鉴组合数据进行处理的系统,其包括数据库、存储模块和处理模块。
[0035]其中,所述存储模块用于执行如下操作:
[0036]通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式,
[0037]将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题,
[0038]该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据,
[0039]将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库中的一个字段;
[0040]其中,所述处理模块用于执行如下操作:
[0041]从数据库中读取账户的印鉴组合的数据库记录,
[0042]将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号,
[0043]遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值,
[0044]如果取值为真表示对该账户的印鉴组合验印通过。
[0045]根据本发明的各种实施方式,对差异化的印鉴组合数据有着极高的兼容性,可成功表述任意要素作为条件而设定的印鉴组合;并在验印时无需进行多条数据库记录的查询读取,仅进行一条记录的解析,印鉴组合数据处理效率大大提升。【专利附图】

【附图说明】
[0046]图1是根据本发明实施方式的在电子验印系统中对印鉴组合数据进行处理的系统的示意图;
[0047]图2是根据本发明实施方式的一种电子验印系统中印鉴组合数据的存储方法的流程图;
[0048]图3是根据本发明实施方式的一种电子验印系统中使用印鉴组合数据进行验印的方法的流程图;
[0049]图4是根据本发明实施方式的与(&)双层多叉树的示例;
[0050]图5是根据本发明实施方式的或(I )双层多叉树的示例;
[0051]图6至图12示出了根据本发明实施方式的印鉴组合筛选及验印过程。
【具体实施方式】
[0052]以下结合附图和【具体实施方式】对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或步骤可以按各种不同配置进行组合和设计。
[0053]参考图1,本发明实施方式提供了一种在电子验印系统中对印鉴组合数据进行处理的系统,该系统包括数据库100、存储模块200和处理模块300 ;
[0054]其中,存储模块100用于执行如下操作:
[0055]通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式,
[0056]将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题,
[0057]该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据,
[0058]将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库100中的一个字段;
[0059]其中,处理模块300用于执行如下操作:
[0060]从数据库100中读取账户的印鉴组合的数据库记录,
[0061]将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号,
[0062]遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值,如果取值为真表示对该账户的印鉴组合验印通过。[0063]下面结合图2至图3对本发明实施方式的方法进行说明,本领域技术人员应当理解,下述的方法同样可以由上述的系统来执行或实现。
[0064]如图2所示,根据本发明实施方式的电子验印系统中印鉴组合数据的存储方法包括:
[0065]S101,通过键值对(KeyValuePair )的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式,如下:
[0066]key op value
[0067]其中:key表示要素类型,value表示要素的取值范围,op表示用于连接key与value的运算符。
[0068]S102,将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题,如下:
[0069]P1 C1 p2 C2...Pn-1 Cn-1 pn
[0070]其中P表示包括简单条件表达式或待验印的印鉴的简单命题,c表示数理逻辑中的运算符号,η表示该账户的印鉴组合涉及的简单条件表达式和待验印的印鉴的数目。
[0071]S103,该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据;
[0072]S104,将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库中的一个字段。
[0073]如图3所示,根据本发明实施方式的电子验印系统中使用印鉴组合数据进行验印的方法包括:
[0074]S201,从数据库中读取账户的印鉴组合的数据库记录,其中该账户的印鉴组合按照图2所述的存储方法存储在所述数据库中;
[0075]S202,将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号;
[0076]S203,遍历所述多叉树,例如,采用先叶子节点后根节点的遍历顺序遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值;
[0077]S204,如果取值为真表示对该账户的印鉴组合验印通过。
[0078]在本发明实施方式中,在S203中,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化包括:
[0079]将简单条件表达式中key的取值代入所述多叉树,简化后得到的叶子节点为所需验印的印鉴;
[0080]对所述印鉴进行验印,并将验印结果代入简化后的多叉树,计算出所述多叉树的最终取值。
[0081]根据本发明的一种实施方式,所述多叉树的简化算法包括:
[0082]对于根节点为与运算符号的双层多叉树,对该双层多叉树的叶子节点进行取值;[0083]若所述叶子节点中存在取值为假的叶子节点,则该双层多叉树取值为假;
[0084]将所述叶子节点中取值不确定的叶子节点保留,并将取值为真的叶子节点删除,并且在所有叶子节点均被删除的情形下,该双层多叉树取值为真。
[0085]根据本发明的另一种实施方式,所述多叉树的简化算法还包括:
[0086]对于根节点为或运算符号的双层多叉树,对该双层多叉树的叶子节点进行取值;
[0087]若所述叶子节点中存在取值为真的叶子节点,则该双层多叉树取值为真;
[0088]将所述叶子节点中取值不确定的叶子节点保留,并将取值为假的叶子节点删除,并且在所有叶子节点均被删除的情形下,该双层多叉树取值为假。
[0089]在本发明的其他实施方式中,在S203中,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化还包括:
[0090]按照所述简化算法先从底层的双层多叉树开始简化,
[0091]将简化后的结果代入多叉树,依次重复步骤向上层遍历,直到整棵多叉树只剩下取值不确定叶子节点或整棵多叉树取值确定为真或假。
[0092]通过实施本发明的各种实施方式,解决了以往验印系统中印鉴组合无法实现组合条件种类可扩展性和多个条件自由组合的问题,提供了对差异化印鉴组合数据兼容性更高、更能准确反映印鉴组合自然表述特点的方案。同时,还提供了一种新的印鉴组合筛选计算进行验印的方法,能实现印鉴组合条件数据的更高效的筛选。
[0093]下面结合具体的例子对本发明的方法和系统进行详细阐述。
[0094]一、印鉴组合的表达
[0095](一 )印鉴组合单个条件表达
[0096]通过KeyValuePair来表示复杂印鉴组合的单个要素的范围表达式,其公式为:
[0097]key op value
[0098]其中,key表示要素类型,value表示要素的条件范围,op为运算符,主要是=、乒、> O =)、< (< = )等二元运算符,用于连接key与value。由于key可自行定义,使得组合条件的类型不受限制。
[0099]例3:
[0100]“用途(USE)为工资”的条件表达式为:
[0101]USE=工资
[0102]“收款人姓名(PAYNAME)不是宏达有限公司”的条件表达式为:
[0103]PAYNAME Φ宏达有限公司
[0104]“金额(AMT)大于10,000的“条件表达式为:
[0105]AMT>10,000
[0106](二)条件及印鉴间关系表达
[0107]通过数理逻辑中的命题演算来表示条件和待验印的印鉴间的关系。其公式为:
[0108]P1 C1 p2 C2...Pn^1 Clri pn
[0109]其中,P代表了简单条件表达式或单个印鉴,即相当于命题演算中的“简单命题”(原子命题),C代表了通过数理逻辑中的&、1等运算符号(即“与”“或”符号),通过运算符将简单命题连结起来,形成“复合命题”。一个包含印鉴的复合命题即可代表一个印鉴组合。由于票据验印中只需满足账户的多个组合中的一种,因此多个复合命题通过1符号连接。[0110]例4:假设一个账户在银行预留了 1、2、3、4共四枚印鉴(seal),印鉴组合想要设置为:账户的金额(AMT)在0-10,000元以内的转账支票(交易类别TRADETYPE,凭证类型V0UCHERTYPE),验印印鉴I或2 ;金额在10,000及以上、收款人姓名为“电子验印测试有限公司”的转账支票,印鉴1、2任意验印一枚,同时验印印鉴3 ;金额在10,000及以上的其他收款人的转账支票,印鉴1、2、3都要验印;其他情况印鉴1、2、3、4全验。按照本发明实施方式,用数理逻辑表达式可表示为:
[0111](AMT>=0&AMT<10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 & (seall | seal2))
[0112]I (AMT>=10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 &PAYNAME=电子验印测试有限公司 & (seall I seal2) &seal3)
[0113]I (AMT>=10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 &PAYNAME 幸电子验印测试有限公司 &seall&seal2&seal3)
[0114]I ((V0UCHERTYPE 关支票 | TRADETYPE 关转账)&seall&seal2&seal3&seal4)
[0115](三)印鉴组合数据存储
[0116]根据本发明实施方式的印鉴组合数据存储,一个账户可以仅需一条记录,这条记录中除了用账号加以区别外,仅设置一个用于存储印鉴组合数据字符串的字段。例如,上例中的印鉴组合,将其数据逻辑表达式直接以字符串形式存储于一个字段中即可。
[0117]二、组合筛选(根据组合计算待验印印鉴)
[0118]根据本发明实施方式表达的印鉴组合条件,由于一个账户仅对应一条记录,避免了数据库多条数据的检索读写,验印时计算所需印鉴的过程为:
[0119](一)读取印鉴组合记录
[0120]从数据库中读取账户唯一的一条印鉴组合记录,例如,可将记录对应的字符串缓存在内存中,后续算法仅对内存中的这条印鉴组合字符串进行解析,从而得到正确的待验印印鉴,读写筛选效率大大提升。
[0121](二)多叉树实现印鉴组合字符串解析及计算
[0122]本发明实施方式引入了多叉树的遍历算法,用于在票据验印的过程中将票据上各要素的取值代入印鉴组合表达式字符串中进行解析、运算。一个账户的所有印鉴组合对应的表达式被解析成多叉树,初始时每个叶子节点即一个简单命题(为一个组合条件或一个印鉴),验印时筛选组合数据的过程实际上是对多叉树的两遍遍历和简化。第一次遍历中将各组合条件中key的取值(即要素取值)代入,简化后所得的树的叶子节点即所需验印的印鉴;而第二次遍历,是将印鉴验印结果代入,简化后能计算出多叉树的最终取值,为真(True)表示组合验印通过。其中,遍历算法采用先叶子节点后根节点的遍历顺序。
[0123]其中,所采用的简化算法的规则为:
[0124]1.简化双层多叉树
[0125]双层多叉树指含有一个非叶子节点(例如根节点)及多个叶子节点的多叉树,其中,非叶子节点即“&”或者“ I ”这两种逻辑连接符,叶子节点为简单命题或一棵无法继续化简的双层多叉树,如图4和图5所示的两种情况。
[0126]对于图4所示的“&双层多叉树”,只要有一个叶子节点对应的简单命题取值为假(False),则该树取值为False ;否则,取值不确定的叶子节点暂时保留,所有取值为True的叶子节点删除,如果所有叶子节点均被删除,则该树取值为True ;[0127]对于图5所示的“I双层多叉树”,只要有一个叶子节点对应的简单命题取值为True,则子该树取值为True ;否则,取值不确定的叶子节点暂时保留,所有取值为False的叶子节点删除,如果所有叶子节点均被删除,则该树取值为False。
[0128]以上两种树如果简化到只剩一个不确定值的叶子节点,那么可直接被叶子节点替代。
[0129]?.根据遍历顺序先从最底层的双层多叉树开始简化,简化后的结果代入多叉树,依次重复步骤向上层遍历,直到整棵多叉树只剩下取值不确定叶子节点或整棵多叉树取值确定为True或False。
[0130]以例4的账户印鉴组合为例,数理逻辑表达式(即复合命题)为:
[0131](AMT>=0&AMT<10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 & (seall | seal2))
[0132]I (AMT>=10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 &PAYNAME=电子验印测试有限公司 & (seall I seal2) &seal3)
[0133]I (AMT>=10, 000&V0UCHERTYPE=支票 &TRADETYPE=转账 &PAYNAME 幸电子验印测试有限公司 &seall&seal2&seal3)
[0134]I ((V0UCHERTYPE 关支票 | TRADETYPE 关转账)&seall&seal2&seal3&seal4)
[0135]上述数理逻辑表达式解析对应的初始多叉树如图6所示。
[0136]假设验印该账 户的一张金额为20,000、收款人姓名为“电子验印测试有限公司”的现金支票,票上盖有印章I和印章3,且为真章,则简化过程如下:
[0137]I)将组合条件AMT=20,000,PAYNAME=电子验印测试有限公司,TRADETYPE=现金,V0UCHERTYPE=支票代入多叉树的各个简单命题叶子中,确定这些叶子的取值(True:T,False:F),如图7所示。
[0138]下面按照上述的简化算法对该多叉树进行简化,如下:
[0139]第一棵子树、第二棵子树和第三棵子树均为“&双层多叉树”,并且其叶子节点的取值中均包含了 F,因此,这三棵树的取值均为F,简化后的多叉树分别如图8、9和10所示。
[0140]第四棵树中最底层的二叉树为“ I双层多叉树”,该二叉树的叶子节点取值包含了T和F,因此,该二叉树的取值为T。由于第四棵树为“&双层多叉树”,应该删除取值为T的叶子节点,取值不确定节点保留,因此,第四棵树简化后的多叉树如图11所示。
[0141]最顶级多叉树为I子树(即“ I双层多叉树”),其中,所有取值为False的叶子节点删除,简化后如图12所示,由图12可知,需同时验印印鉴1、2、3、4。
[0142]2)根据假设,印章1、2、3、4的验印结果为T、F、T、F,代入后计算可得验印结果为F,即票据验印不通过。
[0143]通过以上描述可知,采用本发明实施方式可带来如下优点:
[0144]数据兼容性:由于本发明技术方案能表达出任意不同要素构成的印鉴条件,而不对要素的种类进行固定约束,并且这些印鉴条件的关系可以是并存、多选一,甚至是更为复杂,因此,本发明能最大程度地兼容差异化的印鉴组合数据。
[0145]数据处理效率:一方面,由于本发明技术方案表述的印鉴组合条件仅需一条字符串即可记录下来,简化了数据库结构,减少了数据库检索读写次数;另一方面,虽然读取后的印鉴组合数据解析比一般方案复杂,但仍然是通过对内存中缓存数据的有限次数遍历即可完成的,因为并非付出高昂的代价。故而整体而言,印鉴组合数据的检索筛选效率得到了提闻。
[0146]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0147]本领技术人员应当理解,以上所公开的仅为本发明的实施方式而已,当然不能以此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所涵盖的范围。
【权利要求】
1.一种电子验印系统中印鉴组合数据的存储方法,其特征在于,所述存储方法包括: 通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式; 将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题; 该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据; 将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库中的一个字段。
2.根据权利要求1所述的存储方法,其特征在于,所形成的简单条件表达式如下: key op value 其中:key表示要素类型,value表示要素的取值范围,op表示用于连接key与value的运算符。
3.根据权利要求1或2所述的存储方法,其特征在于,通过数理逻辑中的运算符号将所述简单命题连接起来 形成复合命题的表达式如下:
Pl cI p2 C2...Pn-1 Cn-1 Pn 其中P表示包括简单条件表达式或待验印的印鉴的简单命题,c表示数理逻辑中的运算符号,η表示该账户的印鉴组合涉及的简单条件表达式和待验印的印鉴的数目。
4.一种电子验印系统中使用印鉴组合数据进行验印的方法,其特征在于,所述方法包括: 从数据库中读取账户的印鉴组合的数据库记录,其中该账户的印鉴组合按照权利要求1至3中任意一项所述的存储方法存储在所述数据库中; 将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号; 遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值; 如果取值为真表示对该账户的印鉴组合验印通过。
5.根据权利要求4所述的方法,其特征在于,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化包括: 将简单条件表达式中key的取值代入所述多叉树,简化后得到的叶子节点为所需验印的印鉴; 对所述印鉴进行验印,并将验印结果代入简化后的多叉树,计算出所述多叉树的最终取值。
6.根据权利要求4或5所述的方法,其特征在于,所述多叉树的简化算法包括: 对于根节点为与运算符号的双层多叉树,对该双层多叉树的叶子节点进行取值; 若所述叶子节点中存在取值为假的叶子节点,则该双层多叉树取值为假;将所述叶子节点中取值不确定的叶子节点保留,并将取值为真的叶子节点删除,并且在所有叶子节点均被删除的情形下,该双层多叉树取值为真。
7.根据权利要求6所述的方法,其特征在于,所述多叉树的简化算法还包括: 对于根节点为或运算符号的双层多叉树,对该双层多叉树的叶子节点进行取值; 若所述叶子节点中存在取值为真的叶子节点,则该双层多叉树取值为真; 将所述叶子节点中取值不确定的叶子节点保留,并将取值为假的叶子节点删除,并且在所有叶子节点均被删除的情形下,该双层多叉树取值为假。
8.根据权利要求7所述的方法,其特征在于,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化还包括: 按照所述简化算法先从底层的双层多叉树开始简化, 将简化后的结果代入多叉树,依次重复步骤向上层遍历,直到整棵多叉树只剩下取值不确定叶子节点或整棵多叉树取值确定为真或假。
9.根据权利要求4所述的方法,其特征在于,遍历所述多叉树包括采用先叶子节点后根节点的遍历顺序遍历所述多叉树。
10.一种在电子验印系统中对印鉴组合数据进行处理的系统,其特征在于,所述系统包括数据库、存储模块 和处理模块; 其中,所述存储模块用于执行如下操作: 通过键值对的形式表示一个账户的印鉴组合涉及的单个要素及该要素的取值范围,形成简单条件表达式, 将该账户的印鉴组合涉及的一个或一个以上的所述简单条件表达式、一个或一个以上待验印的印鉴分别单独地作为简单命题,通过数理逻辑中的运算符号将所述简单命题连接起来形成复合命题, 该账户的印鉴组合涉及的两个或两个以上的所述复合命题通过数理逻辑中的与运算符号连接,形成为该账户的印鉴组合数据,或者将该账户的印鉴组合涉及的一个所述复合命题形成为该账户的印鉴组合数据, 将该账户的印鉴组合数据作为一条数据库记录以字符串的形式存储至数据库中的一个字段; 其中,所述处理模块用于执行如下操作: 从数据库中读取账户的印鉴组合的数据库记录, 将该账户的印鉴组合的数理逻辑表达式解析成多叉树,其中所述多叉树的每个叶子节点表示包括简单条件表达式或待验印的印鉴的简单命题,根节点表示用于连接简单命题或复合命题的运算符号, 遍历所述多叉树,将所述简单命题的取值代入所述多叉树,按照多叉树的简化算法对所述多叉树进行简化,并计算出简化后的多叉树的最终取值, 如果取值为真表示对该账户的印鉴组合验印通过。
【文档编号】G06F17/30GK103793486SQ201410024884
【公开日】2014年5月14日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】胡晋, 黄丹青, 郑邦东 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1