发明内容
本发明的目的在于克服现有技术的不足之处,一种分布式环境下车机数据加密传输及处理方法,该方法采用多级加密手段,结合数据管理平台对消息队列、目标数据库及分布式数据库的监控管理,对源端数据库性能影响小,可对采样数据进行准实时的分析,且不占目标数据库性能,使得车机的数据加密传输及处理更加安全、高效、可靠。
一种分布式环境下车机数据加密传输及处理方法,其特征在于,包括以下步骤:
步骤1,一级数据传输加密:
车机在出厂时候需要安装和解密机密钥匹配的加密芯片,加密芯片采用的密钥内置在加密芯片中并和分布式车联网网关的解密机解密的密钥匹配;车机向分布式车联网网关传输采集数据时,调用加密芯片的加密算法进行加密;分布式车联网网关提供TCP连接,车机通过远程数据传输方式与分布式车联网网关连接;
步骤2,二级数据传输加密:
分布式车联网网关均连接有隔离装置,该隔离装置将采集数据编译为SQL语句并分别发送至多个分布式源端数据库;根据分布式源端数据库的类型,安装与之适配的源端库代理;分布式源端数据库发生数据增删修改时,向数据处理端输出数据库的增量日志;源端库代理对输出的增量日志进行分析;
步骤3,数据处理端包括目标数据库、数据管理平台及消息队列,其中消息队列接收分布式数据库发送的增量日志,且消息队列与数据管理平台双向信号连接;由数据管理平台进行数据处理,处理内容包括:
A、对消息队列进行队列控制;
B、对目标数据库及多个分布式源端数据库进行健康监测;
最后由数据管理平台将处理完成的数据单向发送至目标数据库储存。
而且,步骤1中的远程数据传输方式可采用GPRS、3G及4G网络远程数据传输。
而且,步骤2中源端库代理对输出的增量日志进行分析时还包括如下两种处理类型:
A、如果数据库发生了删除、修改操作,不进行处理;
B、如果数据库发生了新增操作,形成一条数据新增的消息发送到消息队列。
而且,步骤3中数据管理平台负责数据传输通道的管理和数据处理,该数据管理平台内设有健康监测模块、数据同步模块、队列控制模块及数据处理模块,其中:健康监测模块负责数据传输通道的健康管理;数据同步模块负责从消息队列取出处理后的车机数据,并将车机数据写入到目标数据库;队列控制模块负责消息队列上主题的管理,并提供消息队列主题的创建、删除和状态管理;数据处理模块对各分布式环境上传的增量数据进行处理,处理完成后的数据由数据管理平台的目标数据库中储存并反馈至消息队列显示。
而且,步骤3中的健康监测模块的具体处理内容如下:
A、健康监测模块调用源端库代理的心跳监测服务,请求源端库代理的状态信息,源端库代理实时查询状态信息,并将状态信息返回给监控监测模块;返回的状态信息包括:源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息;
B、健康监测模块调用目标端库代理的心跳监测服务,请求目标端库代理的状态信息,目标端代理实时查询状态信息,并将状态信息返回给监控监测模块;返回的状态信息包括:源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息;
C、健康监测模块提供页面展示功能,将监测到的源端库和目标端库的服务器的状态信息显示在页面,并在状态信息超过阀值后给出报警提醒。
而且,步骤3中的数据同步模块的具体处理内容如下:
A、从消息队列取出经过处理的消息,并发送给目标数据库的目标端库代理;
B、目标端库代理和目标数据库运行在同一服务器上,并根据目标数据库的不同类型进行适配;目标端库代理将接受数据管理平台发送的消息进行处理,并写入到目标数据库中。
而且,步骤3中的队列控制模块的具体处内容骤如下:
A、队列控制模块在消息队列内创建数据源端主题,各分布式源端库代理发送的增量数据的消息均放至数据源端主题内;
B、队列控制模块在消息队列内创建中间状态主题,处理数据模块从数据源端主题中获取车机数据,并对车机数据进行处理,处理结果放在消息队列中间状态主题;
C、队列控制模块负责消息队列运行状态的监测,监测内容包括消息队列内各个主题的消息增加情况及消耗情况。
而且,步骤3中的数据处理模块的具体处理内容如下:
A、数据处理模块从消息队列的数据库源端主题取出消息;
B、取出的车机数据做数据过滤处理,对错误的数据或者偏移过大的GPS坐标要进行抓路分析,将坐标数据纠正到道路上;
C、坐标数据要做一次坐标转换,调用第三方服务将车机数据转换成电网加密的坐标数据,并获取到道路描述信息;
D、转换后的数据封装成消息报文,发送给消息队列的中间状态主题。
本发明的优点和技术效果是:
1、本发明利用加密芯片,车机数据在网络传输前进行硬件加密,车联网网关接收到车机数据后在服务端进行解密。加密芯片可以避免外部接口设计的信息监听和窃取,确保了车机数据芯片级安全和网络传输的安全性。
2、本发明利用隔离装置技术,保证信息内网和信息外网在网络连接的安全的同时,还能有效进行数据的穿透传输。
3、本发明利用数据库日志分析技术,通过准实时分析数据库的操作日志文件,准实时获取到对数据库表的增删改操作,对源端数据库的侵入性小,源端数据库无任何性能损失。
4、本发明利用消息队列技术,将增量的车机数据进行准实时分析,实现车机轨迹数据的加密存储、报警分析、数据挖掘,对源端数据库无任何性能损失,并能实时对车辆行驶的过程进行报警,可扩展性强。
5、本发明利用适配器设计模式,分别在源端数据库和目标数据库安装源端代理和目标端代理,能够保证对不同类型数据库的适配,并确保数据网络传输的安全性。
具体实施方式
为能进一步了解本发明的内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下。需要说明的是,本实施例是描述性的,不是限定性的,不能由此限定本发明的保护范围。
一种分布式环境下车机数据加密传输及处理方法,其特征在于,包括以下步骤:
步骤1,一级数据传输加密:
车机在出厂时候需要安装和解密机密钥匹配的加密芯片,加密芯片采用的密钥内置在加密芯片中并和分布式车联网网关的解密机解密的密钥匹配;车机向分布式车联网网关传输采集数据时,调用加密芯片的加密算法进行加密;分布式车联网网关提供TCP连接,车机通过远程数据传输方式与分布式车联网网关连接;
步骤2,二级数据传输加密:
分布式车联网网关均连接有隔离装置,该隔离装置将采集数据编译为SQL语句并分别发送至多个分布式源端数据库;根据分布式源端数据库的类型,安装与之适配的源端库代理;分布式源端数据库发生数据增删修改时,向数据处理端输出数据库的增量日志;源端库代理对输出的增量日志进行分析;
步骤3,数据处理端包括目标数据库、数据管理平台及消息队列,其中消息队列接收分布式数据库发送的增量日志,且消息队列与数据管理平台双向信号连接;由数据管理平台进行数据处理,处理内容包括:
A、对消息队列进行队列控制;
B、对目标数据库及多个分布式源端数据库进行健康监测;
最后由数据管理平台将处理完成的数据单向发送至目标数据库储存。
而且,步骤1中的远程数据传输方式可采用GPRS、3G及4G网络远程数据传输。
而且,步骤2中源端库代理对输出的增量日志进行分析时还包括如下两种处理类型:
A、如果数据库发生了删除、修改操作,不进行处理;
B、如果数据库发生了新增操作,形成一条数据新增的消息发送到消息队列。
而且,步骤3中数据管理平台负责数据传输通道的管理和数据处理,该数据管理平台内设有健康监测模块、数据同步模块、队列控制模块及数据处理模块,其中:健康监测模块负责数据传输通道的健康管理;数据同步模块负责从消息队列取出处理后的车机数据,并将车机数据写入到目标数据库;队列控制模块负责消息队列上主题的管理,并提供消息队列主题的创建、删除和状态管理;数据处理模块对各分布式环境上传的增量数据进行处理,处理完成后的数据由数据管理平台的目标数据库中储存并反馈至消息队列显示。
而且,步骤3中的健康监测模块的具体处理内容如下:
A、健康监测模块调用源端库代理的心跳监测服务,请求源端库代理的状态信息,源端库代理实时查询状态信息,并将状态信息返回给监控监测模块;返回的状态信息包括:源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息;
B、健康监测模块调用目标端库代理的心跳监测服务,请求目标端库代理的状态信息,目标端代理实时查询状态信息,并将状态信息返回给监控监测模块;返回的状态信息包括:源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息;
C、健康监测模块提供页面展示功能,将监测到的源端库和目标端库的服务器的状态信息显示在页面,并在状态信息超过阀值后给出报警提醒。
而且,步骤3中的数据同步模块的具体处理内容如下:
A、从消息队列取出经过处理的消息,并发送给目标数据库的目标端库代理;
B、目标端库代理和目标数据库运行在同一服务器上,并根据目标数据库的不同类型进行适配;目标端库代理将接受数据管理平台发送的消息进行处理,并写入到目标数据库中。
而且,步骤3中的队列控制模块的具体处内容骤如下:
A、队列控制模块在消息队列内创建数据源端主题,各分布式源端库代理发送的增量数据的消息均放至数据源端主题内;
B、队列控制模块在消息队列内创建中间状态主题,处理数据模块从数据源端主题中获取车机数据,并对车机数据进行处理,处理结果放在消息队列中间状态主题;
C、队列控制模块负责消息队列运行状态的监测,监测内容包括消息队列内各个主题的消息增加情况及消耗情况。
而且,步骤3中的数据处理模块的具体处理内容如下:
A、数据处理模块从消息队列的数据库源端主题取出消息;
B、取出的车机数据做数据过滤处理,对错误的数据或者偏移过大的GPS坐标要进行抓路分析,将坐标数据纠正到道路上;
C、坐标数据要做一次坐标转换,调用第三方服务将车机数据转换成电网加密的坐标数据,并获取到道路描述信息;
D、转换后的数据封装成消息报文,发送给消息队列的中间状态主题。
另外,本发明优选的,加密芯片采用SSX1604型安全芯片,证书编号SXH2016024号;解密机采用SJJ1640电力费控数据密码机,证书编号SXH2016328;隔离装置采用SGI-NDS200。
另外,本发明优选的,源端库代理、健康监测模块、数据同步模块、队列控制模块及数据处理模块均采用现有技术中的软件功能实现。
为更清楚的说明本发明的具体实施方式,下面提供一种实例:
本发明的一种分布式环境下车机数据加密传输及处理方法,可采用如下步骤实施:
(1)车机数据传输和接收。具体步骤如下:
加密芯片的安装。车机上安装有加密芯片,加密芯片采用的密钥内置在加密芯片中,和车联网网关侧的解密机解密的密钥匹配。车机在出厂时候需要安装和解密机密钥匹配的加密芯片。
数据的加密。车机向上传输采集数据的时候,调用加密芯片的加密算法进行加密,并上传加密后的采集数据。
数据的接受。分布式车联网网关提供TCP连接,车机通过GPRS/3G/4G连接上分布式车联网网关并上传数据。分布式车联网网关接受到采集数据后,具体的处理步骤如下:
A,接受程序将接受到的采集数据放置到消息队列;
B,转发程序从消息队列取出采集数据,调用解密机对采集数据进行解密,解密后的数据形成标准SQL发送给隔离装置;
C,隔离装置连接分布式源端数据库,将采集数据写入到分布式源端数据库;
(2)增量车机数据的分析。具体步骤如下:
源端库代理。根据源端数据库的类型,安装与之适配的源端库代理。
分布式数据库数据发生增删改的时候,输出数据库的增量日志。
源端库代理对输出的增量日志进行分析,具体的处理步骤如下:
A,如果数据库发生了删除、修改操作,不进行处理。
B,如果数据库发生了新增操作,形成一条数据新增的消息发送到消息队列;
源端库代理将增量数据发送给消息队列
(3)数据管理平台负责数据传输通道的管理和数据处理,包括健康监测、数据同步、队列控制、数据处理模块,具体的处理步骤如下:
健康监测模块负责数据传输通道的健康管理,具体的处理步骤如下:
A,健康监测模块调用源端库代理的心跳监测服务,请求源端库代理的状态信息,源端库代理实时查询状态信息,并将状态信息返回给监控监测模块。返回的状态信息包括:
源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息。
B,健康监测模块调用目标端库代理的心跳监测服务,请求目标端库代理的状态信息,目标端代理实时查询状态信息,并将状态信息返回给监控监测模块。返回的状态信息包括:
源端库代理是否存活、源端库代理所在服务器的CPU、内存、磁盘占用信息。
C,健康监测模块提供页面展示功能,将监测到的源端库和目标端库的服务器的状态信息显示在页面,并在状态信息超过阀值后给出报警提醒。
数据同步模块负责从消息队列取出处理后的车机数据,并将车机数据写入到目标数据库,具体步骤如下:
A,从消息队列取出经过处理的消息(车机数据已经进行了坐标转换、数据过滤、报警分析等)
B,取出的消息发送给目标端库代理。
C,目标端库代理和目标数据库运行在同一服务器上,并根据目标数据库的不同类型进行适配。目标端库代理将接受到的消息进行处理,并写入到目标数据库中。
队列控制模块负责消息队列上主题的管理,提供消息队列主题的创建、删除和状态管理,具体步骤如下:
A,队列控制模块创建数据源端主题,各分布式源端库代理发送的增量数据的消息放在数据源端主题。
B,队列控制模块创建中间状态主题,处理数据模块从数据源端主题中获获取车机数据,并对车机数据进行处理,处理结果放在消息队列中间状态主题。
C,队列控制模块负责消息队列运行状态的监测,消息队列各个主题的消息的增加情况和消耗情况的监测。
数据处理模块对各分布式环境上传的增量数据进行处理,处理完后将处理完的数据以消息的方式写入消息队列中间状态主题,具体步骤如下:
A,数据处理模块从消息队列数据库源端主题取出消息
B,取出的车机数据做数据过滤处理,对错误的数据或者偏移过大的GPS坐标要进行抓路分析,将坐标数据纠正到道路上。
C,坐标数据要做一次坐标转换,调用第三方服务将车机数据转换成电网加密的坐标数据,并获取到道路描述信息。
D,转换后的数据封装成消息报,发送给消息队列的中间状态主题。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。