基于新型纸币冠字号存储结构的atm假币识别系统及方法_2

文档序号:9668306阅读:来源:国知局
文件是否为空,若为空则删除失败;若不为空则进入下一 步骤;
[0035]S32.计算号头查询号头位表判断号头是否存在,若不存在则删除失败;若存在则 根据索引地址找到关联的号码区,进入下一步骤;
[0036]S33.通过搜索号码单元判断号码是否存在,若不存在则删除失败,若存在进入下 一步骤;
[0037]S34.根据号码个数单元判断是否仅存在一个号码,若是进入步骤S36,若否则将 号码个数单元数量减1,删除号码区中该号码单元;进入下一步骤;
[0038]S35.根据号头个数区的值判断号头区是否最后一个,若是则删除步骤完成;若否 则更新索引地址;删除号码单元索引地址发生改变,索引地址进行更新。若号头区为最后一 个,则无需更新索引地址。
[0039]S36.将号头位表内对应的位的位键值置0,将号头个数区的数量值减1,然后删除 该号头区和号码区,最后更新索引地址,删除步骤完成。
[0040] 作为一种优选方案,查询号头位表的过程包括:
[0041] 设定数字和字母的取值,根据公式
[0042]
[0043] 计算出位值,根据位值在号头位表中找到对应的位;其中,m代表冠字号头中的字 符个数,h代表该字符的取值。对于0-9这10个数字来说,其值即为本身值;对于A-Z这 26个字母来说,其取值范围为[10, 35]。本方案中查询号头位表是指上述描述中的查询号 头位表、计算号头查询号头位表这些过程。
[0044]因此,本发明的优点是:建立一种特殊数据结构的库文件,将冠字号分解为号头和 号码分别进行存储,并设立表示号头是否存在的号头位表,通过使用该数据结构的库文件, 能大幅度提高冠字号的检索速度,保证现金处理设备的实时性,同时也可以方便将冠字号 数据添加到库文件或从库文件中删除。另外也大大缩减了库文件所需的存储空间。
【附图说明】
[0045] 附图1是本发明的一种结构示意图;
[0046] 附图2是本发明中识别假币的一种流程示意图;
[0047] 附图3是本发明中添加步骤的一种流程示意图;
[0048] 附图4是本发明中删除步骤的一种流程示意图。
[0049] 1-检测模块2-处理模块3-存储模块4-号头位表区5-号头个数区6-号头区 7-号码区8-号头单元9-索引单元10-号码个数单元11-号码单元
【具体实施方式】
[0050] 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0051] 实施例:
[0052] 本实施一种基于新型纸币冠字号存储结构的ATM假币识别系统,如图1所示,包括 有检测模块1、处理模块2和存储模块3,检测模块、处理模块、存储模块依次相连。
[0053] 存储模块包括存储纸币冠字号的库文件,库文件包括依次排列设置的号头位表区 4、号头个数区5、若干号头区6、若干号码区7,每个号头区分别与一个号码区相关联。号头 区包括号头单元8和索引单元9,索引单元里存储有映射至关联号码区的索引地址。号码区 包括号码个数单元10和若干号码单元11,号码个数单元存储有当前号码区内号码单元的 数量值,各号码单元分别存储有一个号码。
[0054] 其中号头位表区设置有号头位表,号头位表里设置有若干位,每一位代表一个特 定的冠字号号头,且每一位上设置有标识号头是否存在的位键值。冠字号号头由4位字符 组成,每一位字符可能包含26个字母和10个阿拉伯数字,因此可得出所有号头的数量,在 号头位表内也设置相应数量的位,分别与号头一一对应。
[0055] 系统将冠字号分成关联的号头和号码,号头和号码以不同形式分别存储。号头区 用以存储各不相同的号头,各号头分别存在各自号头单元内,号头单元按照字母和数字升 序进行排列。且每个号头区的索引单元内存储有指向关联号码区的索引地址。号码区用以 存储号码,号码存储在号码单元内。每个号码区对应关联一个号头,存储的号码为具有相同 的号头的全部号码,号码个数单元统计当前号码区内号码个数。号头个数区用以统计号头 的数量。号码个数单元统计当前号码区号码的数量。
[0056] -种基于新型纸币冠字号存储结构的ATM假币识别方法,包括:
[0057] 将冠字号分解为号头和号码,不同的号头分别存储在各自号头区内,具有相同号 头的号码存储在对应该号头的号码区内,号码区与对应的号头区相关联;
[0058] 根据号头字符计算出位值,通过位值将号头与号头位表中的位相关联,并根据号 头设置位的状态;
[0059] 检测模块检测纸币冠字号,对冠字号进行检索,通过号头位表查询号头存在情况, 通过存在的号头查询号码存在情况,根据号头和号码的存在情况输出识别结果。
[0060] 如图2所示,其中通过检索冠字号识别假币的具体步骤包括:
[0061]S11.开始检索,判断库文件是否为空,若为空则检索无,识别为非可疑币;若不为 空则进入下一步骤;
[0062]S12.计算号头查询号头位表内对应位的位键值是否为0,若是则检索无,识别为 非可疑币;若否则查找到号头区,根据索引地址找到关联的号码区,进入下步骤;
[0063]S13.通过搜索判断号码单元是否存在,若不存在则检索无,识别为非可疑币;若 是则检索存在,识别为假币。
[0064] 系统还包括对冠字号添加、删除的操作,
[0065] 添加步骤为:通过查询号头位表,以及与号头关联的号码情况,判断所操作的冠字 号的号头和号码存在情况,若号头和号码存在则不操作,若号头和号码不存在则添加新的 号头和号码,若只是号码不存在,则在对应的号头所关联的号码区添加号码,最后更新索引 地址;
[0066] 如图3所示,添加步骤具体包括:
[0067] S21.开始添加,判断库文件是否为空,若为空则添加号头区和号码区,根据号头设 置号头位表,设置索引地址、号头个数和号码个数,添加步骤完成;若不为空则进入下一步 骤;
[0068]S22.计算号头查询号头位表判断号头是否存在,若不存在则将号头位表内对应 的位的位键值置1,在号头个数区内将号头个数加1,添加号头区,添加号码区,更新索引地 址;若存在则进入下一步骤;
[0069]S23.根据索引地址找到关联的号码区,通过搜索号码单元判断号码是否存在,若 存在则添加步骤完成;若不存在则进入下一步骤;
[0070]S24.将号码个数单元的数量值加1,添加号码单元,将号码存入号码单元,然后更 新索引地址,添加步骤完成。
[0071] 删除步骤为:通过查询号头位表,以及与号头关联的号码情况,判断所操作的冠字 号的号头和号码存在情况,若号头和号码不存在则不操作,若号头和号码存在则根据号码 区号码数量删除冠字号或删除号码,最后更新索引地址。
[0072] 如图4所示,删除步骤具体包括:
[0073]S31.开始删除,判断库文件是否为空,若为空则删除失败;若不为空则进入下一 步骤;
[0074] S32.计算号头查询号头位表判断号头是否存在,若不存在则删除失败;若存在则 根据索引地址找到关联的号码区,进入下一步骤;
[0075] S33.通过搜索号码单元判断号码是否存在,若不存在则删除失败,若存在进入下 一步骤;
[0076]S34.根据号码个数单元判断是否仅存在一个号码,若是进入步骤S26,若否则将 号码个数单元数量减1,删除号码区中该号码单元;进入下一步骤;
[0077] S35.根据号头个数区的值判断号头区是否最后一个,若是则删除步骤完成;若否 则更新索引地址;
[0078]S36.将号头位表内对应的位的位键值置0,将号头个数区的数量值减1,然后删除 该号头区和号码区,最后更新索引地址,删除步骤完成。
[0079] 上述过程中出现的查询号头位表的过程包括:
[0080] 设定数字和字母的取值,根据公式
[0081]
[0082] 计算出位值,根据位值在号头位表中找到对应的位;其中,m代表冠字号头中的字 符个数,h代表该字符的取值。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1