发明名称 一种提升终端黑名单容量和检索速度的方法
摘要 本发明公开了一种提升终端黑名单容量和检索速度的方法,具体为:(1)设计黑名单的存储方案,对一卡通公司中黑名单的唯一识别码UID进行分段分格式存储,对于比较集中的黑名单按照位图格式存储,对于比较离散的黑名单按照离散表格式存储;(2).根据存储方案生成黑名单数据,并下载到脱机终端;(3).当脱机终端受理一张卡片的交易时,首先检索该卡的UID所属段是否有黑名单,如没有则不是黑名单,检索结束,如该段有黑名单,则在该段的黑名单中继续检索;如该段黑名单是按位图格式存储的,则根据该UID在该段的相对位置,查找相对应的比特位,根据比特位的1或0值判断是否黑名单,如按离散表格式存储,则查找相对应的偏移量。
申请公布号 CN103823761A 申请公布日期 2014.05.28
申请号 CN201410082617.2 申请日期 2014.03.09
申请人 林虎 发明人 林虎
分类号 G06F12/02(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 代理人
主权项 一种提升终端黑名单容量和检索速度的方法,用于提升终端中黑名单的容量、加快检索黑名单的速度以及降低存储黑名单的占用空间,该方法主要包括以下几个步骤:(1).设计黑名单的存储方案    (1.1).取一卡通系统中,卡片UID的长度为UL,可能由3至8个字节组成,设UID的最小值Umin和最大值Umax,所有卡片的UID均在Umin和Umax之间;在Umin和Umax之间划分为若干个段S;某个段Si包含UID数量为Mi个,该段的黑名单个数可能为0至Mi个(即该段可能没有黑名单或最多有Mi个黑名单),其中Mi是个正整数;    (1.2).在大型一卡通系统中,UID数量非常多,假设所有段S中,有X个段是有黑名单的,记为S<sub>X</sub>,将S<sub>X</sub>的段信息按顺序保存在存储器件上,段的信息包括:该段UID的起始值、该段黑名单的存储位置等,这些段信息称为黑名单的第一级数据域;S<sub>X</sub>中的某个段S<sub>i</sub>,如果该段存在的黑名单数量大于N个,其中N为正整数,则该段中的黑名单在存储器件中的存储格式为按位图格式存储,即在存储器件中,将每个字节的8个比特位分别代表8个UID是否是黑名单,这种存储格式适用于,在一卡通系统中黑名单分布比较集中的情况;    (1.4).S<sub>X</sub>中的某个段S<sub>i</sub>,如果该段存在的黑名单数量大于0且不大于N个,则按照离散表格式存储,即按照UID号顺序存储,这种存储格式适用于,在一卡通系统中黑名单分布比较离散的情况;段S<sub>i</sub>的黑名单数据称为第二级数据域,第一级数据域的段信息和第二级数据域的信息,可唯一确定一个UID号;黑名单的生成和下载根据黑名单的存储方案,生成全量和增量黑名单数据,全量黑名单是指将所有黑名单的UID都生成黑名单数据,包括第一级数据域和第二级数据域的所有数据,增量黑名单是指根据上次版本黑名单的数据,只生成较上次有变化的部分,如果第一级数据域有变化,则生成第一级数据域;如果第二级某些段的数据域有新增或删除,则生成这些段的黑名单数据;    (2.2) 终端根据已保存的黑名单情况,选择下载全量或增量黑名单,如果终端从未下载黑名单,则下载全量黑名单;如果终端已有黑名单,则只下载增量的黑名单;    (3).黑名单的检索算法    (3.1).当脱机终端受理一张卡片的交易时,首先读取该卡的UID;在第一级数据域中查找,如果第一级数据域中找不到所属的段,则该UID不是黑名单,检索结束;如果找到,说明该UID所属的段有黑名单,如果该段的UID都是黑名单,检索结束,返回结果,否则根据该段黑名单的存储位置继续在第二级数据域中查找;    (3.3).如果第二级数据域是位图格式存储,则在位图中查找对应的比特位,根据比特位的值判断是否黑名单;    (3.4).如果第二级数据域是离散表格式存储,则在离散表中查找,根据该UID在该段中的偏移量来查找,如果找不到,则不是黑名单;如果找到,则是黑名单。
地址 510000 广东省广州市天河区大观南路中海康城风信街5号502