[发明专利]一种基于哈希表的路由器运行数据缓存方法及系统在审

专利信息
申请号: 201611118245.X 申请日: 2016-12-07
公开(公告)号: CN106844233A 公开(公告)日: 2017-06-13
发明(设计)人: 曾凡菊 申请(专利权)人: 深圳市德传技术有限公司;深圳市中微互联软件有限公司
主分类号: G06F12/0877 分类号: G06F12/0877;G06F12/02;H04L29/08
代理公司: 深圳市科吉华烽知识产权事务所(普通合伙)44248 代理人: 经国富
地址: 518000 广东省深圳市南山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 哈希表 路由器 运行 数据 缓存 方法 系统
【权利要求书】:

1.一种基于哈希表的路由器运行数据缓存方法,其特征在于包括如下步骤:

S1:在与路由器连接的服务器内存中创建哈希表;

S2:收到路由器运行数据上报指令,通过哈希函数计算得到所述路由器在服务器内存中对应的节点的哈希表位置;

S3:在所述哈希表位置查找是否存在所述路由器的节点信息,如果存在,更新该节点信息;如果不存在,新增节点和节点对应的哈希表索引,并将上报的运行数据存储在新增的节点上;

S4:将内存数据写入数据库。

2.根据权利要求1所述的基于哈希表的路由器运行数据缓存方法,其特征在于:在步骤S1中,创建哈希表的方法为:创建一个容量为N的数组指针,所述指针指向一个数组,该数组是由N个节点的首地址组成。

3.根据权利要求2所述的基于哈希表的路由器运行数据缓存方法,其特征在于:数组指针的容量N根据路由器的数量配置。

4.根据权利要求2所述的基于哈希表的路由器运行数据缓存方法,其特征在于:在步骤S2中,路由器标示符的后8个字节为路由器的唯一序列号,所述哈希函数是由路由器序列号的标示符决定,哈希函数算法如下:

A1:对路由器标示符的后8个字节中,每两个字节按照按十六进制文本转二进制,转为一个字节,得到4个字节的二进制数值;

A2:将步骤A1得到的二进制数值强制赋值给unsigned int,得到路由器唯一id号;

A3:将步骤A2得到的id号对哈希表容量取余,即得到哈希表位置值。

5.根据权利要求4所述的基于哈希表的路由器运行数据缓存方法,其特征在于:在步骤A3中,每个哈希表位置采用链表保存数据,当得到哈希表位置后,对链表中每个节点的id号进行对比,如果与请求上报指令的路由器的id号相同,则找到该路由器的节点,否则,在链表尾端新增节点。

6.根据权利要求5所述的基于哈希表的路由器运行数据缓存方法,其特征在于:服务器收到路由器运行数据上报指令,更新数据的具体方法为:

S301:开始处理上报数据;

S302:判断路由器的参数是否合法,如果是,根据路由器的标示符得到id,如果否,执行步骤S35;

S303:获取哈希表位置,在哈希表位置的链表循环查找id;

S304:判断是否找到id,如果是,更新路由器运行数据,如果否,新增节点,将运行数据给新增节点赋值,加入链表尾端;

S305:上报处理结束。

7.根据权利要求6所述的基于哈希表的路由器运行数据缓存方法,其特征在于:服务器提供对外读取路由器运行数据的接口,用户能够通过该接口读取内存中的数据,读取内存中路由器运行数据的方法包括如下步骤:

S311:开始读取数据;

S312:根据路由器的标示符的到id;

S313:获取哈希表位置,在哈希表位置的链表循环查找id;

S314:判断是否找到id,如果是,读取路由器运行数据,如果否,读取失败;

S315:读取结束。

8.根据权利要求1-7任一项所述的基于哈希表的路由器运行数据缓存方法,其特征在于:

在步骤S4中,内存数据定期写入数据库,具体实现方法为:

S41:更新开始,内存每更新一次数据,更新次数加1;

S42:判断更新次数是否达到同步阀值,如果是,将流量与数据库中的相应路由器的流量累加,更新到数据库,如果否,返回执行步骤S41;

S43:将信号强度、网络模式、GPS位置、最后活跃时间更新到数据库;

S44:清空内存节点流量统计,更新次数归零,更新结束。

9.一种实现根据权利要求1-8任一项所述基于哈希表的路由器运行数据缓存方法的系统,其特征在于包括:

哈希表创建模块:用于在与路由器连接的服务器内存中创建哈希表;

哈希表位置计算模块:用于收到路由器运行数据上报指令,通过哈希函数计算得到所述路由器在服务器内存中对应的节点的哈希表位置;

数据更新模块:用于在所述哈希表位置查找是否存在所述路由器的节点信息,如果存在,更新该节点信息;如果不存在,新增节点和节点对应的哈希表索引,并将上报的运行数据存储在新增的节点上;

数据库写入模块:用于将内存数据写入数据库。

10.根据权利要求9所述的系统,其特征在于:在数据更新模块在收到路由器运行数据上报指令后,开始更新数据,所述数据更新模块包括:

初始化单元:用于开始处理上报数据;

第一判断单元:用于判断路由器的参数是否合法,如果是,根据路由器的标示符得到id,如果否,上报处理结束;

获取单元:用于获取哈希表位置,在哈希表位置的链表循环查找id;

第二判断单元:用于判断是否找到id,如果是,更新路由器运行数据,如果否,新增节点,将运行数据给新增节点赋值,加入链表尾端;

结束单元:用于结束上报数据处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市德传技术有限公司;深圳市中微互联软件有限公司,未经深圳市德传技术有限公司;深圳市中微互联软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611118245.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top