CN110727689A - 一种合并设备状态信息的方法 - Google Patents
一种合并设备状态信息的方法 Download PDFInfo
- Publication number
- CN110727689A CN110727689A CN201910845645.8A CN201910845645A CN110727689A CN 110727689 A CN110727689 A CN 110727689A CN 201910845645 A CN201910845645 A CN 201910845645A CN 110727689 A CN110727689 A CN 110727689A
- Authority
- CN
- China
- Prior art keywords
- state
- warehousing
- time
- database
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
Abstract
本发明公开了一种合并设备状态信息的方法,涉及物联网存储技术领域,解决了现有技术中物联网状态存储技术对于系统负荷大的问题,其技术要点是:通过对设备状态的合并处理提高数据的压缩率,通过设备状态信息合并处理,使得数据存储量只与设备状态的切换频率有关,从而使得入库记录量的大幅下降;本发明通过设备状态信息的合并处理并按照状态种类写入数据库,按照批处理入库的方式,提高了数据库的入库效率,相对于现有技术,本发明合并了相同的状态的数据记录,大大减少了需要入库的记录量,提高了系统的QPS,同时本发明节省了存储空间,减低了对系统的要求,提高了检索效率。
Description
技术领域
本发明涉及物联网存储技术领域,尤其涉及一种合并设备状态信息的方法。
背景技术
物联网设备联网后,会定时发送自己在多个方面的状态信息,比如运行中/停机、正常/报警等。某一具体的设备,在不同方面的状态之间无必然联系,不同方面的状态可以独立切换。比如健康状态无论为“健康”或是“报警”,都不影响运行或停机。
如图1和图2所示,现有技术对于物联网设备状态存储和查询的处理方法是将收到的每一条状态数据都进行了入库处理,那么对数据库的IO压力是很大的。并且这种未经处理的数据入库后,在使用时也是比较麻烦的,比如某一设备从t0时刻开始健康状态一直是“报警”,持续了10000个上告周期都是“报警”,之后在t1时刻状态切换为“健康”了,持续了若干个“健康”后在t2时刻又切换为“报警”;此时统计设备从t0时刻开始的设备的报警次数,现有技术这种数据存储方法需要依次扫描整个过程中的状态值的切换情况,信息在利用时的效率很低。而且,由于上报的每一条数据都入库保存,数据库的入库和检索同时存在很大的压力。因此,我们提出了一种合并设备状态信息的方法。
发明内容
本发明要解决的技术问题是针对上述缺陷,提供一种合并设备状态信息的方法,以解决现有技术中物联网状态存储技术对于系统负荷大的问题。
为实现上述目的,本发明提供如下技术方案:
1.一种合并设备状态信息的方法,包括以下步骤:
S1、收到上告信息后,根据设备ID和设备状态类别,构建专属用于识别设备信息的key;
S2、根据S1计算得到的key,查找缓存中该设备上一次上告的状态和更新时间;如果在缓存中未找到该设备上告的状态,转到S3;如果在缓存中找到该设备上告的状态,转到S4;
S3、新建key,并且设置状态种类,然后退出本次处理;
S4、对上告的状态和查找到的状态对比,判断上告状态和查找到的状态值是否一致,如果状态一致,则转到S5;如果状态不一致,则转到S6;
S5、更新key中的状态的最后更新时间,同时检查该状态的缓存值的距离上次入库时间是否超过预设时间,如果超过预设时间则将该状态形成入库命令发送到入库队列;如果未超过预设时间则结束本次处理;
S6、该key对应的旧状态生成一个入库命令,根据缓存中保存的状态,建立入库命令并发送到入库队列等待入库,同时将旧状态更新为新状态填入缓存中,然后结束本次消息处理;
S7、启动数据库巡检线程,判断S6中的入库命令是否达到预设数量,当入库命令达到预设数量时,以批量入库的方式将状态信息写入数据库中;当入库命令未达到预设数量时,跳转S8;
S8、判断本次巡检时间距离上次数据库写入时间是否超过预设时间,如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件。
作为本发明进一步的方案,S3中,设置状态种类的同时设置建立时间和最后更新时间。
作为本发明进一步的方案,S6中,旧状态的最后更新时间与旧状态同时打包入库。
作为本发明进一步的方案,S6中,旧状态更新为新状态的同时建立更新时间和最后更新时间。
作为本发明进一步的方案,S8中还包括定时触发程序,用于定时查询触发时间距离上次数据库写入时间是否超过预设时间;如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件。
作为本发明进一步的方案,还包括数据查询方法,数据查询方法包括以下步骤:
S1、发起某设备某状态的发生次数的查询命令;
S2、数据库执行一个查询命令;
S3、返回次数数值。
作为本发明进一步的方案,数据查询方法的S2中,查询命令为select检索命令。
综上所述,本发明与现有技术相比具有以下有益效果:
本发明通过设备状态信息的合并处理并按照状态种类写入数据库,按照批处理入库的方式,提高了数据库的入库效率,相对于现有技术,本发明合并了相同的状态的数据记录,大大减少了需要入库的记录量,提高了系统的QPS,同时本发明节省了存储空间,减低了对系统的要求,提高了检索效率。
附图说明
图1为现有技术状态入库方法的原理示意图。
图2为现有技术状态查询方法的原理示意图。
图3为现有技术状态查询方法的原理示意图。
图4为现有技术状态查询方法的原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
由图3所示,一种合并设备状态信息的方法,包括以下步骤:
S1、收到上告信息后,根据设备ID和设备状态类别,构建专属用于识别设备信息的key;
S2、根据S1计算得到的key,查找缓存中该设备上一次上告的具体状态、时间;如果在缓存中未找到该设备上告的状态,转到S3;如果在缓存中找到该设备上告的状态,转到S4;
S3、新建key,并且设置状态值、建立时间和最后更新时间,然后退出本次处理;
S4、对上告的状态和查找到的状态对比,判断上告状态和查找到的状态值是否一致,如果状态一致,则转到S5;如果状态不一致,则转到S6;
S5、更新key中的状态的最后更新时间,同时检查该状态的缓存值的距离上次入库时间是否超过预设时间,如果超过预设时间则将该状态形成入库命令发送到入库队列;如果未超过预设时间则结束本次处理;
S6、该key对应的旧状态生成一个入库命令,根据缓存中保存的状态和最后更新时间,建立入库命令并发送到入库队列等待入库,同时将旧状态更新为新状态填入缓存中,并建立更新时间和最后更新时间,然后结束本次消息处理;
S7、启动数据库巡检线程,判断S6中的入库命令是否达到预设数量,当入库命令达到预设数量时,以批量入库的方式将状态信息写入数据库中;当入库命令未达到预设数量时,跳转S8;
S8、判断本次巡检时间距离上次数据库写入时间是否超过预设时间,如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件;
优选的,S8中还包括定时触发程序,用于定时查询触发时间距离上次数据库写入时间是否超过预设时间;如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件;
实施例2
由图4所示,一种合并设备状态信息的方法,还包括数据查询方法,数据查询方法包括以下步骤:
S1、发起某设备某状态的发生次数的查询命令;
S2、数据库执行一个select检索命令;
S3、返回次数数值。
综上所述,本发明的工作原理是:
通过设备状态信息合并处理,使得数据存储量只与设备状态的切换频率有关,从而使得入库记录量的大幅下降,进而降低了对系统的要求。
需要特别说明的是,本申请中,通过设备状态信息的合并处理并按照状态种类写入数据库为本申请的创新点,其有效解决了现有技术中物联网状态存储技术对于系统负荷大的问题。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种合并设备状态信息的方法,其特征在于,包括以下步骤:
S1、收到上告信息后,根据设备ID和设备状态类别,构建专属用于识别设备信息的key;
S2、根据S1计算得到的key,查找缓存中该设备上一次上告的状态和更新时间;如果在缓存中未找到该设备上告的状态,转到S3;如果在缓存中找到该设备上告的状态,转到S4;
S3、新建key,并且设置状态种类,然后退出本次处理;
S4、对上告的状态和查找到的状态对比,判断上告状态和查找到的状态值是否一致,如果状态一致,则转到S5;如果状态不一致,则转到S6;
S5、更新key中的状态的最后更新时间,同时检查该状态的缓存值的距离上次入库时间是否超过预设时间,如果超过预设时间则将该状态形成入库命令发送到入库队列;如果未超过预设时间则结束本次处理;
S6、该key对应的旧状态生成一个入库命令,根据缓存中保存的状态,建立入库命令并发送到入库队列等待入库,同时将旧状态更新为新状态填入缓存中,然后结束本次消息处理;
S7、启动数据库巡检线程,判断S6中的入库命令是否达到预设数量,当入库命令达到预设数量时,以批量入库的方式将状态信息写入数据库中;当入库命令未达到预设数量时,跳转S8;
S8、判断本次巡检时间距离上次数据库写入时间是否超过预设时间,如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件。
2.根据权利要求1所述的合并设备状态信息的方法,其特征在于,S3中,设置状态种类的同时设置建立时间和最后更新时间。
3.根据权利要求1所述的合并设备状态信息的方法,其特征在于,S6中,旧状态的最后更新时间与旧状态同时打包入库。
4.根据权利要求3所述的合并设备状态信息的方法,其特征在于,S6中,旧状态更新为新状态的同时建立更新时间和最后更新时间。
5.根据权利要求1所述的合并设备状态信息的方法,其特征在于,S8中还包括定时触发程序,用于定时查询触发时间距离上次数据库写入时间是否超过预设时间;如果超过预设时间,以批量入库的方式将状态信息写入数据库中;如果未超过预设时间,则等待下次触发事件。
6.根据权利要求1-5任一所述的合并设备状态信息的方法,其特征在于,还包括数据查询方法,数据查询方法包括以下步骤:
S1、发起某设备某状态的发生次数的查询命令;
S2、数据库执行一个查询命令;
S3、返回次数数值。
7.根据权利要求6所述的合并设备状态信息的方法,其特征在于,数据查询方法的S2中,查询命令为select检索命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910845645.8A CN110727689A (zh) | 2019-09-09 | 2019-09-09 | 一种合并设备状态信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910845645.8A CN110727689A (zh) | 2019-09-09 | 2019-09-09 | 一种合并设备状态信息的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110727689A true CN110727689A (zh) | 2020-01-24 |
Family
ID=69217991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910845645.8A Pending CN110727689A (zh) | 2019-09-09 | 2019-09-09 | 一种合并设备状态信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727689A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646140A (zh) * | 2008-08-05 | 2010-02-10 | 中兴通讯股份有限公司 | 消息日志处理方法和系统 |
CN102685221A (zh) * | 2012-04-29 | 2012-09-19 | 华北电力大学(保定) | 一种状态监测数据的分布式存储与并行挖掘方法 |
CN106302055A (zh) * | 2016-09-26 | 2017-01-04 | Tcl集团股份有限公司 | 一种智能设备状态的同步更新方法及系统 |
CN106371333A (zh) * | 2015-07-20 | 2017-02-01 | 阿里巴巴集团控股有限公司 | 一种智能设备的控制方法、装置及系统 |
-
2019
- 2019-09-09 CN CN201910845645.8A patent/CN110727689A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646140A (zh) * | 2008-08-05 | 2010-02-10 | 中兴通讯股份有限公司 | 消息日志处理方法和系统 |
CN102685221A (zh) * | 2012-04-29 | 2012-09-19 | 华北电力大学(保定) | 一种状态监测数据的分布式存储与并行挖掘方法 |
CN106371333A (zh) * | 2015-07-20 | 2017-02-01 | 阿里巴巴集团控股有限公司 | 一种智能设备的控制方法、装置及系统 |
CN106302055A (zh) * | 2016-09-26 | 2017-01-04 | Tcl集团股份有限公司 | 一种智能设备状态的同步更新方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635331A (zh) | 一种分布式环境下的服务寻址方法及装置 | |
EP3331218B1 (en) | Method and device for leveling load of distributed database | |
CN106570027B (zh) | 一种事务型任务处理方法及装置 | |
CN107908518A (zh) | 数据库性能监测方法、装置、存储介质和计算机设备 | |
CN102479207A (zh) | 一种信息搜索的方法、系统及信息搜索设备 | |
US10432455B2 (en) | Distributed processing system, data processing method, and control node device | |
CN103995161A (zh) | 一种用于甄别偷漏电用户的方法及系统 | |
CN103559093A (zh) | 一种服务器资源的配置方法及装置 | |
CN110765143B (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN102236580A (zh) | 为etl任务分配节点的方法和调度系统 | |
CN102236707A (zh) | 获取数据库更新数据的方法、装置及系统 | |
CN111046081B (zh) | 一种工业时序数据的访问方法及系统 | |
CN107562762B (zh) | 数据索引构建方法及装置 | |
CN103064898A (zh) | 事务加锁、解锁方法及装置 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN110727689A (zh) | 一种合并设备状态信息的方法 | |
CN105653556B (zh) | 一种数据老化方法及装置 | |
CN110633302B (zh) | 一种海量结构化数据的处理方法及装置 | |
US11366799B2 (en) | Data locking method based on alternating row and column locks | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
CN116521816A (zh) | 一种数据处理方法、检索方法、装置、设备以及存储介质 | |
CN110633300A (zh) | 一种嵌套查询的断点续运行的方法及装置 | |
CN113986927A (zh) | 数据入库方法、装置、设备及存储介质 | |
CN109254880A (zh) | 一种处理数据库宕机的方法及装置 | |
CN110764697B (zh) | 一种数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |