一种多源异构系统数据融合方法
文献发布时间:2023-06-19 11:11:32
技术领域
本发明涉及数据融合技术领域,特别涉及一种多源异构系统数据融合方法。
背景技术
风险监测是安全生产过程中保障安全的一种常用手段。根据《尾矿库安全规程GB39496—2020》中的相关要求,各尾矿库企业需按照《尾矿库安全生产风险监测预警系统数据接入标准规范》文件要求完成自身数据采集工作后需要将企业端数据上传到政府端平台上,企业在获得企业端数据时通常需要监测设备进行信息获取,而监测设备的生成厂家众多,各个监测设备各有差异,在政府端平台在将各个企业端数据统一汇聚融合时,主要采取的传统的数据仓库技术(ETL,Extract-Transform-Load)技术,将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端,往往需要企业具有前置库,并且通过公网地址来交互,但这对于落后的非煤矿山企业难以实现,而且还会给企业增加成本消耗。因此,本发明提供了一种多源异构系统数据融合方法,采取统一发布API接口的方式,企业终端通过调用该接口,按照数据规范格式上报数据,解决了现有技术方案中对条件落后的企业不适用和投入成本高的问题。
发明内容
本发明提供了一种多源异构系统数据融合方法,采取统一发布API接口的方式,企业终端通过调用该接口,按照数据规范格式上报数据,解决了现有技术方案中对条件落后的企业不适用和投入成本高的问题。
本发明提供一种多源异构系统数据融合方法,包括:
获取企业尾矿库的监测数据,并将所述监测数据通过TCP协议/HTTP协议传输至物联网主机;
发布API服务;
调用所述API服务,并在所述监测数据中确定企业上报数据;
利用运营商专线网络将所述企业上报数据通过HTTP协议进行上报;
实时接收所述企业上报数据,获得企业端数据;
针对所述企业端数据进行校验,并将校验后的企业端数据存入数据库中。
进一步地,所述企业上报数据包括:企业尾矿库的静态数据、实时监测数据、报警数据和视频数据。
进一步地,所述发布API服务之前部署接收数据的API方案。
进一步地,所述部署接收数据的API方案是根据企业尾矿库数据采集方案确定的;所述企业尾矿库数据采集方案中包括:获取静态数据和获取实时数据,其中,所述静态数据根据监测情况进行更新;所述实时数据包括:干摊数据、库水位数据、表面位移数据、浸润线数据、降雨量数据和内部位移数据。
进一步地,所述实时接收所述企业上报数据时通过多个接口进行实时接收;所述接口包括:干滩数据接口、库水位接口、位移数据接口、内部测斜数据接口、浸润线信数据接口和降雨量信息接口。
进一步地,所述接口中还包括查询企业ID接口。
进一步地,所述调用所述API服务,并在所述监测数据中确定企业上报数据的过程包括:
调用所述API服务;
针对所述API服务进行分析,获得企业数据要求和上报格式规范;
根据所述企业数据要求在所述监测数据中抽取出初始化的企业上报数据;
针对所述初始化的企业上报数据按照所述上报格式规范进行格式调整,获得企业上报数据。
进一步地,所述数据库是多种类型的数据库,包括MS Sql、MySQL、Access和Oracle。
进一步地,所述利用运营商专线网络将所述企业上报数据通过HTTP协议进行上报时,所述企业上报数据经过加密处理之后再进行上报,其过程包括:
将所述企业上报数据随机生成多个明文数据块;其中所述明文数据块的数目是预设的,按照目标数目预设明文数据块的数目,然后再随机将所述企业上报数据生成目标数目个明文数据块;
确定企业上报数据的子密钥;随机生成一个加密密钥,然后根据密钥规则生成多组子密钥,其中,子密钥的组数与明文数据块的数目是匹配的;所述密钥规则是相邻子密钥之间存在交叉;
通过所述子密钥分别对所述明文数据块进行加密,获得多个加密数据块;将所述明文数据块按照设定的顺序排列后匹配子密钥;根据子密钥的匹配结果通过子密钥对明文数据块进行加密,获得加密后的加密数据块;
将所述多个加密数据块进行上报。
进一步地,针对所述企业端数据进行校验时包括对所述企业端数据进行完整性检验,在对所述企业端数据进行完整性检验时,包括如下步骤:
针对实时接收的企业上报数据进行识别,获得接口信息及企业端数据,并记为D
根据下述公式获得完整性检验值;
A={σ(c
上述公式中,A表示实时接收的企业上报数据的完整性检验值,σ表示目标上报数据与实时接收企业上报数据的接口的映射关系,c
当实时接收的企业上报数据的完整性检验值A表示空集时,则表示实时接收的企业上报数据是完整的,否则实时接收的企业上报数据是不完整的,需要重新让对应的企业进行上报企业端数据。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明所述的一种多源异构系统数据融合方法流程图;
图2为本发明所述的一种多源异构系统数据融合方法步骤中执行示意图;
图3为本发明所述的一种多源异构系统数据融合方法中整体示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1至图3所示,本发明实施例提供了一种多源异构系统数据融合方法,包括:
步骤一、获取企业尾矿库的监测数据,并将所述监测数据通过TCP协议/HTTP协议传输至物联网主机;
步骤二、发布API服务;
步骤三、调用所述API服务,并在所述监测数据中确定企业上报数据;
步骤四、利用运营商专线网络将所述企业上报数据通过HTTP协议进行上报;
步骤五、实时接收所述企业上报数据,获得企业端数据;
步骤六、针对所述企业端数据进行校验,并将校验后的企业端数据存入数据库中。
上述技术方案中,在将企业端的企业上报数据汇聚至政府端平台上时,首先通过检测设备获取企业尾矿库的监测数据,并将所述监测数据通过TCP协议/HTTP协议传输至物联网主机,然后在当发布API服务之后,通过调取API服务,在监测数据中确定企业上报数据;接着,利用运营商专线网络将所述企业上报数据通过HTTP协议进行上报;然后,实时接收企业上报数据,从而获得企业端数据;最后,针对企业端数据进行校验,并将校验后的企业端数据存入数据库中。上述技术方案通过采取发布API服务的方式,使得企业终端通过调用该接口,按照数据规范格式上报数据,从而完成企业端数据上报,在此过程中,对企业要求较低,无需企业必须具有前置库,使得比较落后的企业也能够实现,并且对企业成本上也不会造成大的影响,无需增加企业投入成本。
本发明提供的一个实施例中,所述企业上报数据包括:企业尾矿库的静态数据、实时监测数据、报警数据和视频数据。
上述技术方案中,企业在上报企业端数据时,只将企业尾矿库的静态数据、实时监测数据、报警数据和视频数据上报。通过上述技术方案限定企业端数据中的数据,从而将监测设备中获取的其他参数只在客户端显示,不会进行上报,从而减少其他无关数据对上报过程造成影响。
本发明提供的一个实施例中,所述发布API服务之前部署接收数据的API方案。
上述技术方案中,在发布API服务之前针对API接口进行API方案部署。通过部署API方案能够使得各个企业即使采用不同厂家的监测设备也能够将API方案的要求上报企业端数据,而且采用API(应用程序编程接口)能够通过编程进行部署,非常方便使用和易于执行部署。
本发明提供的一个实施例中,所述部署接收数据的API方案是根据企业尾矿库数据采集方案确定的;所述企业尾矿库数据采集方案中包括:获取静态数据和获取实时数据,其中,所述静态数据根据监测情况进行更新;所述实时数据包括:干摊数据、库水位数据、表面位移数据、浸润线数据、降雨量数据和内部位移数据。
上述技术方案中,在部署接收数据的API方案时,针对静态数据和实时数据进行部署,静态数据会根据实时数据进行更新,当库容、坝高、汇水面积等参数变化时,及时更新;同时,当监测设备发生变化、监测点预警阈值变动时,都通过企业端及时更新。实时数据包括:干滩、库水位、表面位移、浸润线、降雨量、内部位移等;通过超声波干滩监测仪、雷达物位计、全站仪、渗压计等传感器或者设备采集。其中,干滩数据信息如下所示:
库水位数据信息如下所示:
表面位移数据信息如下所示:
浸润线数据信息如下所示:
降雨量数据信息如下所示:
内部位移数据信息如下所示:
设备离线信息如下所示:
监测报警信息如下所示:
本发明提供的一个实施例中,所述实时接收所述企业上报数据时通过多个接口进行实时接收;所述接口包括:干滩数据接口、库水位接口、位移数据接口、内部测斜数据接口、浸润线信数据接口和降雨量信息接口。
上述技术方案中,在实时接收企业上报数据得到企业端数据时,通过多个接口进行实时接收,而且每个接口接收的数据参数不同,其中,接口包括:干滩数据接口、库水位接口、位移数据接口、内部测斜数据接口、浸润线信数据接口和降雨量信息接口。上述技术方案通过设置多个接口不仅能够针对单独接口部署API服务,而且各个接口在实时接收时互不影响,从而提高实时接收的效率。
干滩数据接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得干滩数据。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/dryBeach,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,其中涉及参数code(设备编号),measurementTime(测量时间),value(干滩长度值),enterId(企业编码),最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
库水位接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得库水位。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/waterLevel,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,其中涉及参数code(设备编号),measurementTime(测量时间),value(库水位值),enterId(企业编码),最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
位移数据接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得位移数据。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/displacement,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,其中涉及参数code(设备编号),measurementTime(测量时间),valueX(X值),valueY(Y值),valueZ(Z值),enterId(企业编码),并且在水平位移中,将向下游记为正,向左岸(站在坝体上,以面向下游确定)为正;反之为负;在竖向位移中,将向下记为正,反之为负,最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
内部测斜数据接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得内部测斜数据。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/inclinometer,其中涉及参数code(设备编号),measurementTime(测量时间),valueX(X值),valueY(Y值),enterId(企业编码),最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
浸润线信数据接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得浸润线信数据。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/saturationLine,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,其中涉及参数code(设备编号),measurementTime(测量时间),value(浸润线水位),enterId(企业编码),最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
降雨量信息接口,根据现场数据变化区间,动态的访问接口,传递实时监测数据,而且还能够通过设置请求频率,使得设置分钟后发布API服务,从而获得降雨量信息。在发布API服务时,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/rainfall,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,其中涉及参数code(设备编号),measurementTime(测量时间),value(数据值),enterId(企业编码),最终返回一个json,如:{"code":"200"},其中,200表示请求成功;data表示企业的企业ID;当返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。
此外,设备的编号都是唯一的,测量时间的形式均为“yyyy-MM-dd HH:mm:ss”,企业编号是整数,且均为由接口7查询返回,当涉及小数时,小数精度0-8,从而使得干滩数据接口、库水位接口、位移数据接口、内部测斜数据接口、浸润线信数据接口和降雨量信息接口都能够具有统一的形式表达上的要求,进而便于对企业端数据的管理。
本发明提供的一个实施例中,所述接口中还包括查询企业ID接口。
上述技术方案中,通过多个接口实时接收企业上报的数据时,接口中还设置有查询企业ID接口,根据企业名称获取企业ID,通过查询企业ID接口接收企业ID,并将企业ID写入配置文件中,通过post的请求方式,请求URL:http://***.***.251.206:9281/monitoring/wkk/getEnterID,在这里*表示隐藏的字符,其表示根据实际使用情况进行显示,返回一个json,如:{"code":200,"data":81052},其中,200表示请求成功;data表示企业的企业ID;如果返回的是400,则表示请求参数有误;如果返回的是404,则表示请求地址有误;如果返回的是500,则表示内部异常。通过上述技术方案不仅能够使得存储的数据库中的企业端数据中包含企业ID,而且在企业ID获取不成功时还能清楚知道获取不成功的原因。
本发明提供的一个实施例中,所述调用所述API服务,并在所述监测数据中确定企业上报数据的过程包括:
调用所述API服务;
针对所述API服务进行分析,获得企业数据要求和上报格式规范;
根据所述企业数据要求在所述监测数据中抽取出初始化的企业上报数据;
针对所述初始化的企业上报数据按照所述上报格式规范进行格式调整,获得企业上报数据。
上述技术方案中,在调用所述API服务,并在所述监测数据中确定企业上报数据时,首先调用API服务,企业将发布的API服务调用出来;然后,对调用的API服务进行分析,从而获得API服务中对企业要上报的企业数据要求和上报格式规范;进而在检测数据中按照企业数据要求抽取出来初始化的企业上报数据;最后针对初始化的企业上报数据按照上报格式规范进行格式调整,获得企业上报数据。上述技术方案不仅能够使得企业上报数据具有相同的参数数据,不同厂家的监测设备获取的监测数据略有差别,但是只按照企业数据要求抽取监测数据作为企业上报数据,而且上报的格式还是一致的,有利于政府端平台进行保存。
本发明提供的一个实施例中,所述数据库是多种类型的数据库,包括MS Sql、MySQL、Access和Oracle。
上述技术方案中,在经过校验后将企业端数据无缝集成到数据库,而且数据库的类型包括MS Sql、MySQL、Access、Oracle等。通过上述技术方案数据库的类型多种多样,从而能够提高企业端数据的适用范围,无论什么情况都能够存入数据库中。
本发明提供的一个实施例中,所述利用运营商专线网络将所述企业上报数据通过HTTP协议进行上报时,所述企业上报数据经过加密处理之后再进行上报,其过程包括:
将所述企业上报数据随机生成多个明文数据块;其中所述明文数据块的数目是预设的,按照目标数目预设明文数据块的数目,然后再随机将所述企业上报数据生成目标数目个明文数据块;
确定企业上报数据的子密钥;随机生成一个加密密钥,然后根据密钥规则生成多组子密钥,其中,子密钥的组数与明文数据块的数目是匹配的;所述密钥规则是相邻子密钥之间存在交叉;
通过所述子密钥分别对所述明文数据块进行加密,获得多个加密数据块;将所述明文数据块按照设定的顺序排列后匹配子密钥;根据子密钥的匹配结果通过子密钥对明文数据块进行加密,获得加密后的加密数据块;
将所述多个加密数据块进行上报。
上述技术方案中,企业上报数据在通过HTTP协议进行上报时,先经过加密处理之后再进行上报,其过程,首先将企业上报数据随机生成多个明文数据块;然后确定企业上报数据的子密钥;接着通过子密钥分别对明文数据块进行加密,获得多个加密数据块;最后再将加密数据块进行上报。上述技术方案通过进行加密处理在进行上报能够避免造成数据泄露,即使遭到其他人员恶意获取时也是获得的加密后的企业上报数据,无法得到加密前的企业上报数据,从而使得企业上报数据的安全性增强。
本发明提供的一个实施例中,针对所述企业端数据进行校验时包括对所述企业端数据进行完整性检验,在对所述企业端数据进行完整性检验时,包括如下步骤:
针对实时接收的企业上报数据进行识别,获得接口信息及企业端数据,并记为D
根据下述公式获得完整性检验值;
A={σ(c
上述公式中,A表示实时接收的企业上报数据的完整性检验值,σ表示目标上报数据与实时接收企业上报数据的接口的映射关系,c
当实时接收的企业上报数据的完整性检验值A表示空集时,则表示实时接收的企业上报数据是完整的,否则实时接收的企业上报数据是不完整的,需要重新让对应的企业进行上报企业端数据。
上述技术方案中,在针对企业端数据进行校验时还对企业端数据进行完整性检验,从而确保获得的企业端数据与发布的API服务中要求的是相对应的,避免将不全面的企业端数据存入数据库中,而且上述完整性检验的过程能够通过计算机设计程序自动化实现,不仅进行完整性检验的速度快,而且精度高。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 一种多源异构数据融合和量测数据多源互校验方法及系统
- 多源异构数据融合的医疗数据融合工具系统及其融合方法