CN113268642A - 一种实现物联设备数据精细化存取的方法 - Google Patents
一种实现物联设备数据精细化存取的方法 Download PDFInfo
- Publication number
- CN113268642A CN113268642A CN202110709449.5A CN202110709449A CN113268642A CN 113268642 A CN113268642 A CN 113268642A CN 202110709449 A CN202110709449 A CN 202110709449A CN 113268642 A CN113268642 A CN 113268642A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- kafka
- internet
- realizing
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及物联设备数据缓存和读取领域,具体提供了一种实现物联设备数据精细化存取的方法,分为设备数据分类存储和精确获取目标数据两部分,所述设备数据分类存储部分包括设备数据的具体分类方法以进行缓存数据,精确获取目标数据部分包括通过动态订阅和动态拦截器实现精确筛选目标数据。与现有技术相比,本发明提高了数据流转和数据处理的灵活程度,精确了获取数据的粒度,提高了从缓存中获取目标数据的速度和准确度。
Description
技术领域
本发明涉及物联设备数据缓存和读取领域,具体提供一种实现物联设备数据精细化存取的方法。
背景技术
所谓物联网技术,是把电子、通信、计算机三大领域的技术融合起来,在互联网的基础上实现物物相连。物联网是万物互联的基础,也是未来智慧工厂、智慧城市、智慧社区和智慧家庭等应用场景实现的基础。目前各国和各行业对物联网的应用力度都很大,物联设备数据急剧增加。
这些设备会产生大量的数据,这些数据并不能仅仅一次使用后就丢弃,因为这些数据有可能需要进行持久存储,这会造成大量无意义的数据的存储带来的性能问题。因此,需要对这些设备的数据进行一定时间的缓存,并能够精确获取指定数据,以合理地解决数据的流转和处理问题。
常规的基于kafka存取的方案是在存储时将数据详细区分并创建对应的主题,再通过kafka消费者订阅所有主题,从而消费目标数据。或者创建少量kafka主题进行数据存储,在订阅所有主题并消费到所有数据后再对数据通过逻辑处理进行筛选。会存在以下几种问题:
1、设备数量庞大,所以创建的kafka主题数目会十分庞大,生成巨量文件,导致占用资源过多,并造成topic读写方式改变为随机读写,使得读写性能下降。
2、应用启动时订阅所有topic以保证能消费到目标topic。因为如果要更新订阅需要重新启动应用。
3、消费topic数据时,会消费所有数据,造成不必要的性能下降。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的实现物联设备数据精细化存取的方法。
本发明解决其技术问题所采用的技术方案是:
一种实现物联设备数据精细化存取的方法,分为设备数据分类存储和精确获取目标数据两部分,所述设备数据分类存储部分包括设备数据的具体分类方法以进行缓存数据,精确获取目标数据部分包括通过动态订阅和动态拦截器实现精确筛选目标数据。
进一步的,在设备数据分类存储部分,具有以下步骤:
S1、按项目进行设备分类;
S2、按数据意义进行数据分类;
S3、创建kafka主题集合;
S4、存储同一个对应主题。
进一步的,在步骤S1中,将每台设备划分到产品,再将产品划分到项目,一个项目下可连接大量的设备。
进一步的,在步骤S2中,每台设备的数据按照设备上下线状态、设备采集信息和设备拓扑关系进行不同意义的分类。
进一步的,在步骤S3中,
按照项目数量和数据意义数量的笛卡尔积来创建kafka主题集合。kafka主题创建示例:项目集合为A,数据意义集合为B,则
kafka topic=A×B={(x,y)|x∈A∧y∈B}
进一步的,在步骤S4中,将属于相同项目且具有相同意义的数据通过kafka生产者存储到同一个对应主题。
进一步的,在精确获取目标数据中,具有以下步骤:
(1)、确定数据所属kafka主题;
(2)、动态订阅kafka主题;
(3)、使用动态消费者拦截器筛选至特定设备。
进一步的,在步骤(1)中,确定kafka主题,通过确定项目编码和数据意义来确定kafka的topic。
进一步的,在步骤(2)中,kafka采用的是发布-订阅式的模式,所以获取kafka中的数据,首先需要对上一步确定的主题进行订阅,借助Java提供的ConcurrentLinkedQueue来实现。
进一步的,在步骤(3)中,订阅到kafka主题后就可以从中消费到存储的数据,通过动态自定义消费者拦截器实现对目标设备数据进行筛选拦截,在消费时,每改变一次目标设备,生成新的拦截器对象,并通过更新拦截器中产品和设备编码的值,来实现目标数据筛选。
本发明的一种实现物联设备数据精细化存取的方法和现有技术相比,具有以下突出的有益效果:
本发明能够在物联管理平台中配置设备和设备数据分类规则以进行缓存数据,并根据现场环境对获取数据时的订阅主题进行灵活修改,同时形成了主题内容的自动拦截,从而提高了数据流转和数据处理的灵活程度,精确了获取数据的粒度,提高了从缓存中获取目标数据的速度和准确度。
同时,本发明中的方法减轻了对物联管理平台的网络流量和数据流转等性能的冲击,提高了平台运行的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1是一种实现物联设备数据精细化存取的方法的流程示意图(一);
附图2是一种实现物联设备数据精细化存取的方法的流程示意图(二)。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
如图1、2所示,本实施例中的一种实现物联设备数据精细化存取的方法,分为设备数据分类存储和精确获取目标数据两部分,所述设备数据分类存储部分包括设备数据的具体分类方法以进行缓存数据,精确获取目标数据部分包括通过动态订阅和动态拦截器实现精确筛选目标数据。
在设备数据分类存储部分:
kafka中间件具有高通量、低延迟、容错性、消息持久性的特点,还具有可扩展性、高并发性、实时处理等优势。最终能够达到实时处理和缓存大量设备数据的目的。
设备数据存储包含以下步骤:
S1、按项目进行设备分类:
将每台设备划分到产品,再将产品划分到项目。一个项目下连接大量的设备。
S2、按数据意义进行数据分类:
每台设备的数据按照设备上下线状态、设备采集信息、设备拓扑关系等维度进行不同意义的分类。
S3、创建kafka主题集合:
按照项目数量和数据意义数量的笛卡尔积来创建kafka主题集合。kafka主题创建示例:项目集合为A,数据意义集合为B,则
kafka topic=A×B={(x,y)|x∈A∧y∈B}
S4、存储同一个对应主题。
将属于相同项目且具有相同意义的数据通过kafka生产者存储到同一个对应主题。
在精确获取目标数据部分:
在经过将设备数据存储到kafka后。在获取指定设备的指定类型数据时便通过对kafka存储的数据进行消费,这个过程既可以是异步读取历史的数据,也可以同步进行数据的流转。
精确获取目标数据包含以下步骤:
(1)确定数据所属kafka主题。
获取设备数据的第一步是确定数据来源,即kafka主题。通过确定项目编码和数据意义来确定kafka的topic。例如设备A属于项目B,同时要获取设备状态status,就可以确定kafka主题为BmqttStatus。
(2)动态订阅kafka主题
kafka采用的是发布-订阅式的模式,所以获取kafka中的数据,首先需要对上一步确定的主题进行订阅。本发明支持动态订阅,以满足使用者实时变更订阅主题和减少不必要的订阅。具体实现方式为:借助Java提供的ConcurrentLinkedQueue来实现。
①构建ConcurrentLinkedQueue对象分别给两个线程使用(这里并不限定于两个线程,但这个需求最可能的实际场景是consumer主线程和一个后台管理类的用户线程,而后者负责触发“动态修改订阅”逻辑)。
②调用KafkaConsumer.poll(timeout)来不断消费消息。
③每次poll之后尝试去探查ConcurrentLinkedQueue是否有新内容(如果有说明订阅topic列表发生变化),有则进行响应。
④使用另一个线程向ConcurrentLinkedQueue中插入新的订阅信息。
(3)使用动态消费者拦截器筛选至特定设备
订阅到kafka主题后就可以从中消费到存储的数据,但是数据中包含了大量不属于目标设备的数据。通过动态自定义消费者拦截器实现对目标设备数据进行筛选拦截。在消费时,每改变一次目标设备,生成新的拦截器对象,并通过更新拦截器中产品和设备编码的值,来实现目标数据筛选。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种实现物联设备数据精细化存取的方法权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种实现物联设备数据精细化存取的方法,其特征在于,分为设备数据分类存储和精确获取目标数据两部分,所述设备数据分类存储部分包括设备数据的具体分类方法以进行缓存数据,精确获取目标数据部分包括通过动态订阅和动态拦截器实现精确筛选目标数据。
2.根据权利要求1所述的一种实现物联设备数据精细化存取的方法,其特征在于,在设备数据分类存储部分,具有以下步骤:
S1、按项目进行设备分类;
S2、按数据意义进行数据分类;
S3、创建kafka主题集合;
S4、存储同一个对应主题。
3.根据权利要求2所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤S1中,将每台设备划分到产品,再将产品划分到项目,一个项目下可连接大量的设备。
4.根据权利要求3所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤S2中,每台设备的数据按照设备上下线状态、设备采集信息和设备拓扑关系进行不同意义的分类。
5.根据权利要求4所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤S3中,
按照项目数量和数据意义数量的笛卡尔积来创建kafka主题集合。kafka主题创建示例:项目集合为A,数据意义集合为B,则
kafka topic=A×B={(x,y)|x∈A∧y∈B}。
6.根据权利要求5所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤S4中,将属于相同项目且具有相同意义的数据通过kafka生产者存储到同一个对应主题。
7.根据权利要求1所述的一种实现物联设备数据精细化存取的方法,其特征在于,在精确获取目标数据中,具有以下步骤:
(1)、确定数据所属kafka主题;
(2)、动态订阅kafka主题;
(3)、使用动态消费者拦截器筛选至特定设备。
8.根据权利要求7所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤(1)中,确定kafka主题,通过确定项目编码和数据意义来确定kafka的topic。
9.根据权利要求8所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤(2)中,kafka采用的是发布-订阅式的模式,所以获取kafka中的数据,首先需要对上一步确定的主题进行订阅,借助Java提供的ConcurrentLinkedQueue来实现。
10.根据权利要求9所述的一种实现物联设备数据精细化存取的方法,其特征在于,在步骤(3)中,订阅到kafka主题后就可以从中消费到存储的数据,通过动态自定义消费者拦截器实现对目标设备数据进行筛选拦截,在消费时,每改变一次目标设备,生成新的拦截器对象,并通过更新拦截器中产品和设备编码的值,来实现目标数据筛选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110709449.5A CN113268642A (zh) | 2021-06-25 | 2021-06-25 | 一种实现物联设备数据精细化存取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110709449.5A CN113268642A (zh) | 2021-06-25 | 2021-06-25 | 一种实现物联设备数据精细化存取的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268642A true CN113268642A (zh) | 2021-08-17 |
Family
ID=77235993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110709449.5A Pending CN113268642A (zh) | 2021-06-25 | 2021-06-25 | 一种实现物联设备数据精细化存取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268642A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584594A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种接收物联网设备数据的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649766A (zh) * | 2016-12-27 | 2017-05-10 | 北京锐安科技有限公司 | 一种基于kafka的消息处理方法 |
US20180063055A1 (en) * | 2016-08-26 | 2018-03-01 | Linkedin Corporation | Repartitioning a topic in a publish-subscribe message system |
CN110222054A (zh) * | 2019-05-22 | 2019-09-10 | 福建大屏网络科技有限公司 | 一种提高检索速度的方法、装置、终端设备和存储介质 |
CN111080500A (zh) * | 2019-11-26 | 2020-04-28 | 武汉烽火众智数字技术有限责任公司 | 基于spark streaming的实时规则的布控预警方法及装置 |
CN111666490A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于kafka的信息推送方法、装置、设备及存储介质 |
CN111813848A (zh) * | 2020-07-08 | 2020-10-23 | 江苏聚衣网络科技有限公司 | 基于kafka日志中间件的数据实时采集分析方法 |
-
2021
- 2021-06-25 CN CN202110709449.5A patent/CN113268642A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063055A1 (en) * | 2016-08-26 | 2018-03-01 | Linkedin Corporation | Repartitioning a topic in a publish-subscribe message system |
CN106649766A (zh) * | 2016-12-27 | 2017-05-10 | 北京锐安科技有限公司 | 一种基于kafka的消息处理方法 |
CN110222054A (zh) * | 2019-05-22 | 2019-09-10 | 福建大屏网络科技有限公司 | 一种提高检索速度的方法、装置、终端设备和存储介质 |
CN111080500A (zh) * | 2019-11-26 | 2020-04-28 | 武汉烽火众智数字技术有限责任公司 | 基于spark streaming的实时规则的布控预警方法及装置 |
CN111666490A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于kafka的信息推送方法、装置、设备及存储介质 |
CN111813848A (zh) * | 2020-07-08 | 2020-10-23 | 江苏聚衣网络科技有限公司 | 基于kafka日志中间件的数据实时采集分析方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584594A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种接收物联网设备数据的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182098B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
US8321873B2 (en) | System and method for offline data generation for online system analysis | |
US10698935B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
US20180063055A1 (en) | Repartitioning a topic in a publish-subscribe message system | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
WO2019014114A1 (en) | SCALING OF HOSTS IN DISTRIBUTED EVENT MANAGEMENT SYSTEMS | |
CN110389989B (zh) | 一种数据处理方法、装置及设备 | |
CN111881385A (zh) | 推送内容生成方法、装置、设备和可读存储介质 | |
US11308063B2 (en) | Data structure to array conversion | |
CN116436772B (zh) | 实时告警方法和装置、电子设备及存储介质 | |
CN112559522A (zh) | 数据存储方法、装置、查询方法、电子设备及可读介质 | |
CN113268642A (zh) | 一种实现物联设备数据精细化存取的方法 | |
CN111666344A (zh) | 异构数据同步方法及装置 | |
CN115665284A (zh) | 基于分布式配置中心的报文处理方法、装置及计算机设备 | |
CN111177237A (zh) | 一种数据处理系统、方法及装置 | |
Hegde et al. | Low latency message brokers | |
CN113590604B (zh) | 业务数据的处理方法、装置和服务器 | |
CN115168361A (zh) | 一种标签管理方法和装置 | |
CN115757304A (zh) | 一种日志存储方法、装置、系统、电子设备及存储介质 | |
Schlitter et al. | DenGraph‐HO: a density‐based hierarchical graph clustering algorithm | |
CN114817344A (zh) | 一种数据获取方法和装置 | |
EP3380906A1 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
CN108737522A (zh) | 一种消息的处理方法、装置和系统 | |
Keshvani et al. | A comparative study on data stream clustering algorithms | |
US12008027B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210817 |