[发明专利]一种基于B+树的ETC收费系统用户卡状态名单存取方法在审
申请号: | 202211159072.1 | 申请日: | 2022-09-22 |
公开(公告)号: | CN115510059A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 郑文;邱晓东;王玲;王洋洋;史强强;朱国磊 | 申请(专利权)人: | 上海电科市政工程有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G07B15/06 |
代理公司: | 上海璀汇知识产权代理事务所(普通合伙) 31367 | 代理人: | 王文颖 |
地址: | 200333 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 etc 收费 系统 用户 状态 名单 存取 方法 | ||
1.一种基于B+树的ETC收费系统用户卡状态名单存取方法,其特征在于,包括以下步骤:
第一步、将用户卡状态名单转化为单链数据结构dictionary实例,其中,链数据结构dictionary包括用于记录用户卡号的key字段、用于记录用户卡状态信息的value字段以及用于存储指向其它单链数据结构dictionary实例的指针的next字段;
第二步、在写入用户卡状态名单时,对于当前单链数据结构dictionary实例的处理包括以下步骤:
步骤1、获得当前单链数据结构dictionary实例的key字段的值Key,查找与当前用户卡槽对应的B+树实例中各叶子节点的key数组每个key元素值:
若在当前key数组中存在等于值Key的key元素值,则将等于值Key的key元素值定义为当前key元素值,进入步骤6;
若在当前B+树实例中未查找到等于值Key的key元素值,但在当前key数组中存在小于值Key的key元素值,则将与当前key数组对应的叶子节点作为当前叶子节点,进入步骤3;
若在当前B+树实例中未查找到小于等于值Key的key元素值,则进入步骤2;
步骤2、新建叶子节点,将新建的叶子节点作为当前叶子节点,进入步骤3;
步骤3、判断当前叶子节点是否已满:若当前叶子节点已满,则分裂当前叶子节点,将分裂得到的叶子节点作为新的当前叶子节点,进入步骤4;若当前叶子节点未满,则直接进入步骤4;
步骤4、将值Key作为一个key元素值存入当前叶子节点的key数组中,并对key数组中所有key元素值重组排序,获得重组排序后值Key在当前key数组中的排序序号k,进入步骤5;
步骤5、新建第k个value数组,依据当前单链数据结构dictionary实例的next字段,在第k个value数组的对应位置存入当前单链数据结构dictionary实例;
步骤6、获取当前key元素值所对应的value数组及其中存储的第一个单链数据结构dictionary实例,将该单链数据结构dictionary实例定义为上一个单链数据结构dictionary实例,进入步骤7;
步骤7、若上一个单链数据结构dictionary实例的next字段为空,则将上一个单链数据结构dictionary实例的next字段指向当前单链数据结构dictionary实例,在当前单链数据结构dictionary实例存入当前value数组中,且当前单链数据结构dictionary实例在当前value数组中的位置位于上一个单链数据结构dictionary实例之后;若上一个单链数据结构dictionary实例的next字段非空,则进一步获得单链数据结构dictionary实例的next字段指向的下一个单链数据结构dictionary实例,将所获得的下一个单链数据结构dictionary实例定义为新的上一个单链数据结构dictionary实例后,返回步骤7循环执行;
在查询查询用户卡状态名单时,在B+树实例中进行查询。
2.如权利要求1所述的一种基于B+树的ETC收费系统用户卡状态名单存取方法,其特征在于,第一步中,进行用户卡状态名单转化时,将用户卡号的前N个字符截取作为用户卡槽,同一用户卡槽对应一个B+树实例,则用户卡号前四位相同的数据聚合在一个B+树中;
第二步中,在查询查询用户卡状态名单时,先将用户卡号前N个字符截取,命中与其对应的用户卡槽的B+树实例,然后在该B+树实例中进行查询。
3.如权利要求1所述的一种基于B+树的ETC收费系统用户卡状态名单存取方法,其特征在于,用户卡号为长度20的数字字符串,则取用户卡号的前4个字符作为卡槽标记,用户卡号的后16字符为用户卡标记,将用户卡标记转为long类型,将卡槽标记及转为long类型的用户卡标记存储在所述key字段中。
4.如权利要求1所述的一种基于B+树的ETC收费系统用户卡状态名单存取方法,其特征在于,所述value字段仅用于记录用户卡状态信息中的状态生效时间、操作类型和操作状态,且使用计算状态生效时间+操作状态*10+操作类型得到长度所得到的15位的long值类型数据存储在所述value字段中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海电科市政工程有限公司,未经上海电科市政工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211159072.1/1.html,转载请声明来源钻瓜专利网。