CN112073367B - 一种可视化的消防物联网数据的协议解析方法及系统 - Google Patents
一种可视化的消防物联网数据的协议解析方法及系统 Download PDFInfo
- Publication number
- CN112073367B CN112073367B CN202010737465.0A CN202010737465A CN112073367B CN 112073367 B CN112073367 B CN 112073367B CN 202010737465 A CN202010737465 A CN 202010737465A CN 112073367 B CN112073367 B CN 112073367B
- Authority
- CN
- China
- Prior art keywords
- data
- parameter
- protocol
- preset
- parameters
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
- G06F16/287—Visualization; Browsing
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Alarm Systems (AREA)
Abstract
本发明涉及消防物联网数据的协议解析的技术领域,提供了一种可视化的消防物联网数据的协议解析方法及系统,其方法包括:建立数据解析协议对应的预设工具库;通过可视化配置平台接收协议解析信息;将数据解析协议,拼接成一个解析协议json对象;当需要对byte数组进行解析时,将byte数组传入解析协议json对象中,针对于byte数组中包含的每一个数据参数,获取数据参数对应的参数值,并进行拼接,形成消防数据json对象;当需要获取消防数据中数据参数对应的参数值时,通过数据参数在消防数据json对象中,即可以获取到对应的参数值。解决了当前的协议解析方法中,需要针对于每一个协议,指定一个解析方案的技术问题。
Description
技术领域
本发明涉及消防物联网数据的协议解析技术领域,尤其涉及一种可视化的消防物联网数据的协议解析方法及系统。
背景技术
物联网是美国在上世纪90年代提出来的,是指利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用。
目前,消防物联网技术是指射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议推广使用消防物,将任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理。消防人员可通过手持终端,快速准确获知需要救援的人员数量、位置及消防设施、设备的信息,为制定高效的救援方案提供科学数据参考,有助于整体调度,及时实施对被困人员的救助和充分发挥现场消防设施的效能,从而有效防止人员伤亡和财产损失。
只要有信息的交换和通讯就需要有数据的传输,数据是以byte数组的形式进行传输的,解析时就需要按照约定的协议,不同的协议解析出不同的结果。传统方式,针对每一份协议,都会开发出对应的一份解析,最终将有效数据以json的形式进行传输,随着社会的发展和技术的进步,各种约定的协议也不断增多,面对越来越多的协议,解析这些协议成为了耗时耗力的工作。
在中国人民解放军陆军特种作战学院的“CN110222169A--一种可视化数据处理解析系统及其处理方法”中公布:“一种可视化数据处理解析系统的处理方法,具体包括以下步骤:S1、添加数据处理流程的节点,必须包含输入节点和输出节点,可以选择的节点类型还包括转换节点和过滤节点,过滤节点可以根据相关配置在数据处理过程中过滤出不符合要求的数据,转换节点可以对不同类型的数据进行转换,比如对数值或者时间进行增加减少,每种类型在数据处理流程中都已存在多个;S2、创建数据处理流程,通过可视化的方式使用有向线段连接两个节点来创建数据处理流程,需要把输入节点放置在数据处理流程的最开始位置,把数据输出放置在流程结束的位置;S3、对节点进行配置,不同的节点需要的配置不同,比如输入节点需要配置输入源信息,输出节点需要配置输出位置的消息,过滤节点需要配置过滤条件,转换节点需要配置转换的具体操作;S4、直接开始运行整个输出处理流程,对数据进行处理,数据协议需要是满足条件的动态链接库文件,在添加数据解析协议的时候,需要设置数据解析协议文件并且输入协议的名称。能解析处理多种类型的数据,并且可以对数据解析协议库进行管理,扩充新的数据解析协议。该方法处理前支持对原始数据的备份存储,并且按照按照日期、数据类型分类;对于已经解析导入的数据记录日志,防止数据重复导入;支持设定数据时间戳偏差量信息,在导入过程中支持自动修正数据时间戳信息;在数据处理过程中可以进行奇异值过滤、数据筛选,并且会进行异常值提醒”。上述方案中通过可视化的方案,虽然支持新增数据解析协议,但是仍然需要花大量的人力成本去维护每一个数据解析协议。当协议越来越多时,仍然会导致工作的耗时耗力。
在高新兴科技集团股份有限公司的“CN105491038B--一种智能设备协议解析方法”中公布:“一种智能设备协议解析方法,包括:通过可视化界面配置模块描述协议文档的信息;利用可视化界面配置模块将配置的协议文档的信息保存为脚本文件;将脚本文件上传到监控平台;监控平台利用脚本解析模块解析脚本文件,从而接入智能设备,实现智能设备数据的采集”。上述方案中,需要通过将配置的协议文档信息保存为脚本文件,利用脚本解析模块解析脚本文件。对于不懂编程的人员来说,并不会能够很清晰的理解脚本文件里面的内容,容易出错的同时,通过脚本解析数据增加了工作人员和整个系统的工作量。并且实质上每一个协议对应的脚本实际仍然是一个基于特定协议设定的脚本。
综上所述,在当前的协议解析方法中,都需要针对于每一个协议,指定一个对应的解析方案,解析这些协议将成为耗时耗力的工作。
发明内容
针对上述问题,本发明的目的在于提供一种可视化的消防物联网数据的协议解析方法及系统,通过硬件可视化json自定义解析方案,硬件厂商只需要按照协议上的要求,通过可视化的方式,填写对应数据的对应含义,就可以得到json类型的结果进行进一步的解析,开发者省去了针对数据的解析,可以直接获取json结果进行开发。实现了高效快速的开发,减少了繁杂的开发步骤。
本发明为可视化的操作,使用者只需要根据协议的内容,在可视化的界面上填写方法名和参数,方法名为自定义的方法名,参数为根据协议中byte数组对应的含义进行选择,一般填写byte数组中相对应的数据的索引起始位,截取数据长度等,也可以选择方法对参数进行处理之后作为参数,参数的的处理方法已提供,可以直接进行选择。
传统的解决方法,开发人员解析数据需要通过匹配各种协议规则解析数据,不同的协议有不同的规则,极大的增加了开发人员的工作量和数据解析的准确性,增加了开发时长和开发成本,不利于快速准确高效开发。本发明实现了可视化的配置方案,使用者只需要通过填写参数名和参数,就可以得到对应的json,省去了每更换不同的协议都要重新开发解析的步骤,高效便捷,易于理解。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种可视化的消防物联网数据的协议解析方法,包括以下步骤:
S11:针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
S12:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;
S13:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;
S14:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象。
S15:当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值。
进一步地,在针对于所述byte数据中包含的每一个所述数据参数,获取对应的参数值时,还包括:对所述数据参数进行验证,具体的步骤为:
在所述预设工具库中增加用于验证所述数据参数的所述预设方法;
在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数;
当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析。
进一步地,可视化的消防物联网数据的协议解析方法,还包括:
在所述预设方法的所述方法参数中,按照所述数据解析协议中的规则,嵌套所述预设方法作为所述方法参数来使用。
进一步地,可视化的消防物联网数据的协议解析方法,还包括:
使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;
执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
进一步地,所述预设方法包括数据的获取、数据的拼接、对数组的转换、数据的比较、对数组中数据的循环处理,数据的拼接在内的方法;
针对所述数据解析协议中的数据结构,选择不同的所述预设方法进行数据的处理。
进一步地,可视化的消防物联网数据的协议解析方法,还包括:
在所述可视化配置平台上,设置包括下拉框,模糊搜索的方式,将所述预设方法名展示出来;
所述可视化配置平台上展示的所述预设方法名与所述预设工具库中的所述预设方法保持同步。
一种可视化的消防物联网数据的协议解析系统,包括:方法建立模块,配置平台建立模块,解析协议json对象拼接模块,消防数据json对象拼接模块,数据获取模块;
所述方法建立模块,用于针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
所述配置平台建立模块,用于建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息,并将所述协议解析信息发送到后台服务器;
所述解析协议json对象拼接模块,用于提供给所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;
所述消防数据json对象拼接模块,用于当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象;
所述数据获取模块,用于当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值。
进一步地,可视化的消防物联网数据的协议解析系统,还包括:参数验证模块,用于对所述协议参数进行验证,具体包括:
验证方法建立单元,用于在所述预设工具库中增加用于验证所述数据参数的所述预设方法;
json嵌套单元,用于在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数;
验证单元,用于当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析;
进一步地,可视化的消防物联网数据的协议解析系统,还包括:
drools管理模块,用于使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
一种数据的协议解析方法,包括以下步骤:
S21:建立数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
S22:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;
S23:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入需解析的数据对应的byte数组的数组变量;
S24:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对数据进行处理,获取数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成数据json对象;
S25:当需要获取数据中所述数据参数对应的参数值时,通过所述数据参数在所述数据json对象中,即可以获取到对应的参数值。
与现有技术相比,本发明包括以下至少一种有益效果是:
(1)通过建立可视化的消防物联网数据的协议解析方法,包括:S11:针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;S12:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;S13:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;S14:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象;S15:当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值。上述技术方案硬件可视化json自定义解析方案,硬件厂商只需要按照协议上的要求,通过可视化的方式,填写对应数据的对应含义,就可以得到json类型的结果进行进一步的解析,开发者省去了针对数据的解析,可以直接获取json结果进行开发。实现了高效快速的开发,减少了繁杂的开发步骤。
(2)通过在获取消防数据中的数据参数对应的参数值之前,对数据参数进行验证,保证了消防数据的正确性,如不正确将不会进行后续的解析操作。
(3)通过在预设方法的方法参数中,按照数据协议中的规则,嵌套预设方法作为方法参数来使用。上述技术方法能够解决较复杂的数据解析协议,当获取数据参数时,需要调用多个方法逐步对数据参数进行解析,将前一个步骤中调用方法体的处理结果作为后一个预设方法的参数,实际上将整个数据解析协议中的处理逻辑都嵌套在预设方法中,获取数据参数时,程序将直接自动逐步对每一个预设方法进行调用,无需人工去设置预设方法的调用顺序。
(4)本发明还引进了通过drools规则引擎管理通过数据解析协议解析消防数据的过程,由于drools自身的对数据进行处理的结构,直接将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分,当使用drools规则引擎执行获取数据参数的过程时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分,无需人工设置判断条件。
(5)通过在可视化的配置平台上,设置包括下拉框,模糊搜索的方式,将预设方法名展示出来。数据解析协议维护人员,无需将预设方法名称完全数据,在简化了维护人员工作的同时,避免了预设方法的录入错误,导致后续解析工作无法进行。
附图说明
图1为本发明一种可视化的消防物联网数据的协议解析方法的整理流程图;
图2为本发明一种可视化的消防物联网数据的协议解析系统的整理结构图;
图3为本发明一种可视化的消防物联网数据的协议解析系统中的参数验证模块的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
在目前消防物联网中的信息交换和通讯的过程中,需要进行数据的传输,数据是以byte数组的形式进行传输的,解析时就需要按照约定的协议来进行解析,如果使用不同的协议将会解析出不同的结果。传统的数据解析方法,针对于每一个份协议,都会开发出对应的一份解析,最终将有效数据以json的形式进行传输,随着社会的发展和技术的进步,各种约定的协议也不断增多,面对越来越多的协议,解析这些协议将成为耗时耗力的工作。
基于以上应用场景,本发明的核心思路为:建立数据解析协议对应的预设工具库;通过可视化配置平台接收协议解析信息;将数据解析协议,拼接成一个解析协议json对象;当需要对byte数组进行解析时,将byte数组传入解析协议json对象中,针对于byte数组中包含的每一个数据参数,获取数据参数对应的参数值,并进行拼接,形成消防数据json对象;当需要获取消防数据中数据参数对应的参数值时,通过数据参数在消防数据json对象中,即可以获取到对应的参数值。无需针对针对于每一个协议,开发一个解析方案,只需要在可视化的配置平台上录入即可。
本发明的一个显著特点是:通过硬件可视化json自定义解析方案,硬件厂商只需要按照协议上的要求,通过可视化的方式,填写对应数据的对应含义,就可以得到json类型的结果进行进一步的解析,开发者省去了针对数据的解析,可以直接获取json结果进行开发。
第一实施例
如图1所示,其为本发明一种可视化的消防物联网数据的协议解析方法的具体流程图。它包括:
S11:针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中。
具体的,在本实施例中,在消防数据的数据解析协议中,一般都会用到一些预设方法,数据解析过程是通过将多个不同或者相同的预设方法,按照数据解析协议中对数据进行解析的逻辑,逐个调用预设方法对消防数据进行解析的过程。预先在服务器中建立一个预设工具库,将预设的一些预设方法写入预设工具库中。在后续通过可视化配置平台,只需要选择具体的预设方法将消防数据拼接成json对象即可。同时,预设工具库中的方法并不是一成不变的,可以根据具体的需要在预设工具库中对预设方法进行新增,修改,和删除操作。
举个例子来说,预先在预设工具库中设置包括数据的获取、数据的拼接、对数组的转换、数据的比较、对数组中数据的循环处理、数据的拼接在内的预设方法。针对于数据解析协议中的数据结构,选择不同的所述预设方法进行数据的处理。
S12:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息,并将所述协议解析信息发送到后台服务器。
具体的,在本实施例中,开发一个可视化的配置平台,在可视化的配置平台上设置用于录入数据解析协议的包括文本框,下拉框等在内的用于录入数据解析协议的控件。针对于消防数据中的每一个数据参数,比如说“时间”,录入数据参数对应的数据参数名称,数据参数名称可以是自定义的名称,只需要能够清楚地表达出数据参数的含义,并且与其他的数据参数名称不重复即可。
在录入数据参数的名称之后,需要录入解析数据参数对应的预设方法,以及调用预设方法对应的方法参数。还是以“时间”为例,数据参数名称录入time,预设方法录入在上述预设工具库中预设的getTime方法,getTime的方法参数依据getTime方法中设定好的参数类型和参数个数进行设定,比如说参数为传入在消防数据中用于表述时间的数据对应的起始位这一个参数,若表述时间的数据在消防数据中起始位为13,调用getTime方法对应的方法参数直接写13即可。
其中,上述可视化配置平台的形式本发明不做任何限定,可以是一个APP,一个网站,或者是一个网站上一个具体模块,亦或者是以微信等平台进行开发的微信小程序,公共号等都可以应用于本发明的可视化配置平台。
可视化的配置平台上用于输入预设方法的控件,可以设置包括下拉框,模糊搜索的方式,将所述预设方法名展示出来;所述可视化配置平台上展示的所述预设方法名与所述预设工具库中的所述预设方法保持同步。为了实现与预设工具库的同步,可以在数据库中维护一张预设工具库的预设方法列表,点开可视化配置平台上用于录入数据解析协议的界面时,自动将预设方法的列表加载到内存中,与录入预设方法的控件进行绑定。
S13:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量。
具体的,在本实施例中,当维护人员在可视化的配置平台上将数据参数的名称,解析数据参数对应的预设方法,以及调用预设方法对应的方法参数录入系统后,可视化的配置平台将会对上述内容进行拼接,以数据参数的名称作为对象名,以解析数据参数对应的预设方法,以及调用预设方法对应的方法参数进一步组成的对象作为对象值,形成一个对象。将多个数据参数的对象进一步进行拼接,形成一个解析协议json对象文件。
举个例子来说,消防数据中包含“时间”和“设备id”,形成的json对象的格式为:
上述举例中,“time”和“devid”表示“时间”和“设备id”的数据参数,“method”代表预设方法,“args”代表预设方法对应的方法参数,“<bf>”代表消防数据的byte数组。
进一步的,在所述预设方法的所述方法参数中,按照所述数据解析协议中的规则,嵌套所述预设方法作为所述方法参数来使用。
举个例子来说,上述“设备id”的数据参数中,将getByte方法嵌套作为getDevId的方法参数来使用。
S14:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象。
具体的,在本实施例中,当需要获取所述消防数据中数据参数对应的参数值时,还以“时间”和“设备id”对应的json对象为例子,当需要获取“时间”的参数值时,通过存储于对象值中的预设方法getTime,以及调用getTime的方法参数"args":["<bf>",13,"YTM"],将方法参数传入预设方法中,调用预设工具库中getTime的方法体,即可以获取到时间的参数值,后对每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象。
举个例子来说,消防数据的的byte数组为十六进制的byte数组“FF,FF,FF,0A,01,01,6E,01,13,00,01,01,C8,14,14,03,1B,11,10,0F,00,00,00,00,00,00,00,00,01,B4”。规定索引是第13-18个数据代表时间,分别为年,月,日,时,分。将十六进制的byte数组替换掉json对象中的<bf>,调用getTime方法,得到时间{“time”:”202003271716”}。
其中,<bf>的位置上可以写入具体的消防数据,也可以用一个变量来表示,将json对象封装进一个方法,通过方法的参数对变量来赋值,针对于同种数据解析协议只需要在可视化的配置平台上配置一次即可。
S15:当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值。
第二实施例
与第一实施例相比,步骤基本相同,最大的不同在于S14中,在获取所述消防数据中的所述数据参数对应的参数值时,还包括:对所述数据参数进行验证,具体的步骤为:
在所述预设工具库中增加用于验证所述数据参数的所述预设方法。
在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数。
还是以上述“时间”和“设备id”为例进行说明,在获取“时间”和“设备id”之前需要对“时间”和“设备id”进行验证,分别用when和result定义用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象。拼接后,具体的格式举例为:
当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析。
第三实施例
与第二实施例相比,最大的不同在于,对所述数据参数进行验证时,使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
具体的,在本实施例中,在运行获取所述消防数据参数的参数值时,将when部分写入drools规则引擎的规则条件部分,将result部分写入drools规则引擎的规则结果部分。根据drools规则引擎的执行机制,执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分
第四实施例
如图2所示,为本发明一种可视化的消防物联网数据的协议解析系统的具体结构图。它包括:方法建立模块1,配置平台建立模块2,解析协议json对象拼接模块3,消防数据json对象拼接模块4,数据获取模块5;
所述方法建立模块1,用于针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
所述配置平台建立模块2,用于建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息,并将所述协议解析信息发送到后台服务器;
所述解析协议json对象拼接模块3,用于提供给所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;
所述消防数据json对象拼接模块4,用于当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象;
所述数据获取模块5,用于当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值。
进一步地,如图3所示,可视化的消防物联网数据的协议解析系统,还包括:参数验证模块6,用于对所述协议参数进行验证,具体包括:
验证方法建立单元61,用于在所述预设工具库中增加用于验证所述数据参数的所述预设方法;
json嵌套单元62,用于在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数;
验证单元63,用于当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析;
进一步地,可视化的消防物联网数据的协议解析系统,还包括:
drools管理模块7,用于使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
第五实施例
消防数据只是本发明最典型的一种应用场景,本发明的方案还可以应用于其他任何一种数据解析的场景,因此,本实施例提供一种数据的协议解析方法,包括以下步骤:
S21:建立数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
S22:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;
S23:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入需解析的数据对应的byte数组的数组变量;
S24:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对数据进行处理,获取数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成数据json对象;
S25:当需要获取数据中所述数据参数对应的参数值时,通过所述数据参数在所述数据json对象中,即可以获取到对应的参数值。
一种计算机可读存储介质,计算机可读存储介质存储有计算机代码,当计算机代码被执行时,如上述方法被执行。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。如本说明书实施例所示实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Net work Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子系统执行时,使得所述电子系统执行实施例一所述的方法。在此不再赘述。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
Claims (8)
1.一种可视化的消防物联网数据的协议解析方法,其特征在于,包括以下步骤:
S11:针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
S12:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;
S13:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;
S14:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象;
S15:当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值;
在所述预设方法的所述方法参数中,按照所述数据解析协议中的规则,嵌套所述预设方法作为所述方法参数来使用;
使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;
执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
2.根据权利要求1所述的可视化的消防物联网数据的协议解析方法,其特征在于,在针对于所述byte数据中包含的每一个所述数据参数,获取对应的参数值时,还包括:对所述数据参数进行验证,具体的步骤为:
在所述预设工具库中增加用于验证所述数据参数的所述预设方法;
在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数;
当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析。
3.根据权利要求1所述的可视化的消防物联网数据的协议解析方法,其特征在于,所述预设方法包括数据的获取、数据的拼接、对数组的转换、数据的比较、对数组中数据的循环处理、数据的拼接在内的方法;
针对所述数据解析协议中的数据结构,选择不同的所述预设方法进行数据的处理。
4.根据权利要求1所述的可视化的消防物联网数据的协议解析方法,其特征在于,还包括:
在所述可视化配置平台上,设置包括下拉框,模糊搜索的方式,将所述预设方法名展示出来;
所述可视化配置平台上展示的所述预设方法名与所述预设工具库中的所述预设方法保持同步。
5.一种可视化的消防物联网数据的协议解析系统,其特征在于,包括:方法建立模块,配置平台建立模块,解析协议json对象拼接模块,消防数据json对象拼接模块,数据获取模块;
所述方法建立模块,用于针对于解析消防物联网中传输的消防数据的数据解析协议,建立所述数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
所述配置平台建立模块,用于建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息,并将所述协议解析信息发送到后台服务器;
所述解析协议json对象拼接模块,用于提供给所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入所述消防数据对应的byte数组的数组变量;
所述消防数据json对象拼接模块,用于当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对所述消防数据进行处理,获取所述消防数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成消防数据json对象;
所述数据获取模块,用于当需要获取所述消防数据中所述数据参数对应的参数值时,通过所述数据参数在所述消防数据json对象中,即可以获取到对应的参数值;
其中,在所述预设方法的所述方法参数中,按照所述数据解析协议中的规则,嵌套所述预设方法作为所述方法参数来使用;
使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;
执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
6.根据权利要求5所述的可视化的消防物联网数据的协议解析系统,其特征在于,还包括:
参数验证模块,用于对所述协议参数进行验证,具体包括:
验证方法建立单元,用于在所述预设工具库中增加用于验证所述数据参数的所述预设方法;
json嵌套单元,用于在所述解析协议json对象中的所述数据参数的对象值中嵌套用于验证所述数据参数的对象和用于当所述数据参数验证通过后进行解析的对象,其中所述用于验证所述数据参数的对象的对象值中存储有用于验证所述数据参数的所述预设方法和调用所述预设方法的对应的所述方法参数,所述用于当所述数据参数验证通过后进行解析的对象的对象值中存储有用于解析所述数据参数的所述预设方法名和调用所述预设方法的对应的所述方法参数;
验证单元,用于当获取所述消防数据中所述数据参数对应的参数值时,首先遍历所述数据参数的对象值中用于验证所述数据参数的对象,执行存储于所述用于验证所述数据参数的对象中的用于验证的所述预设方法,使用所述预设方法对所述数据参数进行验证,验证通过后,通过执行用于当所述数据参数验证通过后进行解析的所述对象值中的所述预设方法进行解析,获取到所述数据参数对应的参数值,否则,不进行解析;
drools管理模块,用于使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
7.一种数据的协议解析方法,其特征在于,包括以下步骤:
S21:建立数据解析协议对应的预设工具库,将应用于所述数据解析协议中的预设方法存储于所述预设工具库中;
S22:建立用于录入所述数据解析协议的可视化配置平台,通过所述可视化配置平台接收包括所述数据解析协议中的数据参数对应的数据参数名称、解析出所述数据参数需要的所述预设方法、调用所述预设方法对应的方法参数在内的协议解析信息;
S23:所述可视化配置平台以所述数据参数名称作为所述数据参数的对象名,以包括解析所述数据参数需要的所述预设方法,以及调用所述预设方法对应的所述方法参数在内的协议解析信息作为所述数据参数的对象值,将所述数据解析协议,拼接成一个解析协议json对象,其中,在所述解析协议json对象中包含有用于传入需解析的数据对应的byte数组的数组变量;
S24:当需要对所述byte数组进行解析时,通过所述数组变量将所述byte数组传入所述解析协议json对象中,针对于所述byte数组中包含的每一个所述数据参数,获取所述解析协议json对象中所述数据参数对应的所述对象值,通过存储于所述对象值中的所述预设方法,以及调用所述预设方法的对应的所述方法参数,将所述方法参数传入所述预设方法中,调用所述预设工具库中的所述预设方法的方法体,通过所述预设方法对数据进行处理,获取数据中所述数据参数对应的参数值,将每一个所述数据参数与获取到的所述数据参数对应的参数值进行拼接,形成数据json对象;
S25:当需要获取数据中所述数据参数对应的参数值时,通过所述数据参数在所述数据json对象中,即可以获取到对应的参数值;
其中,在所述预设方法的所述方法参数中,按照所述数据解析协议中的规则,嵌套所述预设方法作为所述方法参数来使用;
使用drools规则引擎管理通过所述数据解析协议解析所述消防数据的过程,将对所述数据参数进行验证的部分写入所述drools规则引擎的规则条件部分,将对所述数据参数进行解析的部分写入所述drools规则引擎的规则结果部分;
执行所述drools规则引擎时,只有当所述drools规则引擎的规则条件部分执行通过后,才会执行所述drools规则引擎的规则结果部分。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至4中任一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010737465.0A CN112073367B (zh) | 2020-07-28 | 2020-07-28 | 一种可视化的消防物联网数据的协议解析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010737465.0A CN112073367B (zh) | 2020-07-28 | 2020-07-28 | 一种可视化的消防物联网数据的协议解析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073367A CN112073367A (zh) | 2020-12-11 |
CN112073367B true CN112073367B (zh) | 2022-12-09 |
Family
ID=73657528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010737465.0A Active CN112073367B (zh) | 2020-07-28 | 2020-07-28 | 一种可视化的消防物联网数据的协议解析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073367B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188144A (zh) * | 2019-01-15 | 2019-08-30 | 热茶云科技(北京)有限公司 | 一种用户数据数字化处理方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975059B2 (en) * | 2005-11-15 | 2011-07-05 | Microsoft Corporation | Generic application level protocol analyzer |
CN105491038B (zh) * | 2015-12-07 | 2019-01-08 | 高新兴科技集团股份有限公司 | 一种智能设备协议解析方法 |
CN109474643A (zh) * | 2019-01-14 | 2019-03-15 | 广州虎牙信息科技有限公司 | 数据解析方法、装置、设备及存储介质 |
CN110222169A (zh) * | 2019-06-20 | 2019-09-10 | 中国人民解放军陆军特种作战学院 | 一种可视化数据处理解析系统及其处理方法 |
CN110601876A (zh) * | 2019-08-20 | 2019-12-20 | 西安向南网络信息科技有限公司 | 一种智能物联网平台 |
CN110753050B (zh) * | 2019-10-22 | 2022-03-04 | 网易(杭州)网络有限公司 | 协议文档的生成方法及装置、计算机存储介质、电子设备 |
-
2020
- 2020-07-28 CN CN202010737465.0A patent/CN112073367B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188144A (zh) * | 2019-01-15 | 2019-08-30 | 热茶云科技(北京)有限公司 | 一种用户数据数字化处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112073367A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656536B (zh) | 一种用于处理服务调用信息的方法与设备 | |
CN109739717A (zh) | 一种页面数据采集的方法及装置、服务器 | |
CN106657192B (zh) | 一种用于呈现服务调用信息的方法与设备 | |
CN110932918B (zh) | 日志数据采集方法、装置及存储介质 | |
CN109670081A (zh) | 业务请求处理的方法及装置 | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
CN108804241B (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN116233164A (zh) | 用于采集设备数据的方法、装置、存储介质及处理器 | |
CN116955097A (zh) | 测试流程的展示方法、装置和测试流程展示系统 | |
CN112540808A (zh) | 一种程序行为层级调用关系的记录方法及相关设备 | |
CN111857981A (zh) | 一种数据处理方法以及装置 | |
CN112073367B (zh) | 一种可视化的消防物联网数据的协议解析方法及系统 | |
CN117234916A (zh) | 一种工作流应用的测试方法、装置、电子设备及存储介质 | |
CN117472423A (zh) | 一种引用资源与流程设计解耦的可视化工作流编排系统及方法、设备及介质 | |
CN115774707B (zh) | 基于对象属性数据处理方法和装置、电子设备和存储介质 | |
CN113467782B (zh) | 一种确定业务流程的方法、装置及设备 | |
CN114238024A (zh) | 时序图生成方法与系统 | |
CN113868005A (zh) | 网页异常的监控方法和装置 | |
CN114691443A (zh) | 一种截面数据发送方法、装置、电子设备及存储介质 | |
CN116560722B (zh) | 运维流程处理方法、装置、电子设备及存储介质 | |
CN109614566A (zh) | 流量来源分析方法、系统和装置 | |
CN111356011B (zh) | 电视节目生产监控探针和计算机程序产品 | |
CN113504912B (zh) | 实时任务的处理方法和装置、存储介质及电子装置 | |
CN116048615B (zh) | 基于自然语言处理的分布式程序切片方法、装置及设备 | |
CN117370449A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |