发明名称 |
一种内存存储特定设备端口状态数据的方法 |
摘要 |
一种内存存储特定设备端口状态数据的方法,启动一个内存状态数据服务进程包括:申请两份缓存集,每个缓存集包括:设备Hash列表缓存、设备信息缓存、端口信息缓存、状态数据缓存;前一个缓存集存放前一个存储周期设备状态数据,后一个缓存集存放当前存储周期设备状态数据;连接数据库,生成设备采集粒度缓存;周期性读取采集任务表并更新设备采集粒度缓存;每个存储周期末,切换两个缓存集中的数据,切换后并清空后一个缓存集中的数据;从设备状态数据表中读取前一个存储周期开始时间到当前时间的设备状态数据,并存入缓存;启动HTTP监听服务,等待接收处理远程数据查询和数据更新请求。本发明可以做到占用内存大小的自适应,避免内存浪费。 |
申请公布号 |
CN106294546A |
申请公布日期 |
2017.01.04 |
申请号 |
CN201610587164.8 |
申请日期 |
2016.07.22 |
申请人 |
北京英诺威尔科技股份有限公司 |
发明人 |
孟凡新;俞力杰 |
分类号 |
G06F17/30(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
天津市北洋有限责任专利代理事务所 12201 |
代理人 |
杜文茹 |
主权项 |
一种内存存储特定设备端口状态数据的方法,其特征在于,首先启动一个内存状态数据服务进程,进程永久运行,状态服务进程执行以下步骤:1)申请两份缓存集:第一缓存集和第二缓存集;每个缓存集包括:设备Hash列表缓存、设备信息缓存、端口信息缓存和状态数据缓存;第一缓存集存放前一个存储周期设备状态数据,第二缓存集存放当前存储周期设备状态数据;申请全局访问控制读写锁,进入下一步骤;2)连接数据库,查询采集任务表,读取设备采集粒度信息,生成设备采集粒度缓存,进入下一步骤;3)启动设备采集粒度缓存更新线程,周期性读取采集任务表并更新设备采集粒度缓存,进入下一步骤;4)启动数据切换线程,每个存储周期末,切换第一缓存集和第二缓存集中的数据,切换后并清空第二缓存集中的数据,进入下一步骤;5)启动历史数据初始化线程,连接数据库,从设备状态数据表中读取前一个存储周期开始时间到当前时间的设备状态数据,并存入缓存,进入下一步骤;6)启动HTTP监听服务,等待接收处理远程数据查询和数据更新请求。 |
地址 |
100070 北京市丰台区南四环西路188号五区26号楼 |