技术领域
本发明涉及数据传输技术领域,具体地,涉及一种实时数据传输的方法、系统及文件访问并发控制方法。
背景技术
RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。RSA算法是被研究得最广泛的公钥算法。
随着技术的改进,传感器的数据采集能力越来越强,采集精度也越来越高,同时电力行业设备检修维护的需求,传感器的数量也在高速地增长,也因此采集的数据的量也前所未有地增长起来。同时,随着中国能源转型升级继续深入推进,传统的电力行业面临着严峻的挑战,如燃料价格上涨,环保压力增加运行成本等。在原有的工艺系统没有突破性进展的情况下,像火电这样的传统行业就只能在管理提质增效方面不断改进,因而寄希望于利用先进的人工智能技术、大数据技术等先进的计算机技术对电厂数据进行处理,但在此之前需要将大量的数据传输到云上。
公开号为CN103458103A的中国发明专利,公开了一种基于车联网的实时数据传输系统及方法,所述系统包括车载导航设备、内存卡、一键通终端和后台服务器;在所述车载导航设备内设置有用于处理数据的中央处理器;在所述内存卡内存有USB驱动程序和服务入口程序;在所述一键通终端内设置有通讯模块、麦克风和喇叭;所述麦克风和喇叭分别连接通讯模块;所述一键通终端通过设置在车载导航设备上的USB接口连接车载导航设备;所述通讯模块无线通讯连接后台服务器;通过一键通终端的通讯模块与后台服务器连接,使得车载导航设备通过一键通终端与后台服务器之间建立可靠的TCP/IP连接,从而实现了车载导航设备和后台服务器之间数据的实时传输,为用户带来了大大的方便。
目前来说,专门为电厂开发的数据传输仍较少。电厂产生的数据量巨大,为保证数据处理的实时性,需要提出新的传输速度更快的传输方法;且由于能源领域数据的重要性,数据传输到云数据中心需要跨局域网,因而数据安全也显得尤为重要。因而,当前的电厂数据传输存在不够安全、高效和可靠的问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种实时数据传输的方法、系统及文件访问并发控制方法,以解决当前的电厂数据传输不够安全、高效和可靠的问题。
根据本发明提供的一种实时数据传输的方法、系统及文件访问并发控制方法,所述方案如下:
第一方面,提供了一种实时数据传输的方法,所述方法包括:
步骤S1:由发送端数据读取模块从电厂数据库中读取数据;
步骤S2:对读取到的数据进行压缩并存入第一缓存区;
步骤S3:由数据加密模块从第一缓存区中读入数据,进行加密后存入第二缓存区;
步骤S4:将发送端与接收端之间建立网络连接;
步骤S5:发送端根据接收到的头文件中的关于已接收完成的头文件大小的信息,从已接收完成的位置开始传输文件;
步骤S6:接收端接收文件,并存入第三缓存区;
步骤S7:由数据解密模块从第三缓存区中读入数据,进行解密后存入第四缓存区;
步骤S8:由数据存储模块从第四缓存区中读入数据,存入数据库。
优选的,所述步骤S3包括:
从第一缓存区中读入数据;
对读入的数据进行散列运算,取得信息摘要;
使用RSA生成的发送端的私钥对信息摘要进行加密;
使用AES生成的密钥对读入的数据进行加密;
把读入的数据和信息摘要存入第二缓存区。
优选的,所述步骤S4包括:
发送端直接检测第二缓存区是否有数据,如果有的话,则先给接收端发送一个头文件,告知接收端将要发送的文件的文件名;
接收端接收到头文件后,进行解析,然后检索第三缓存区中是否存在同名文件;
如果存在同名文件,则读取当前该头文件的大小,然后向发送端返回一个文件,包含当前接收端已经接收完成的该头文件的大小的信息;
如果不存在同名文件,则同样返回一个文件,只不过该文件中包含的关于头文件大小的信息设置为0。
优选的,所述步骤S7包括:
从第三缓存区读入文件,包括数据文件和对应的信息摘要;
使用发送方RSA生成的公钥对信息摘要进行解密;
使用AES的密钥对数据文件进行解密;
对解密后的数据文件取信息摘要;
对比生成的信息摘要和获取到的信息摘要是否相等,比对成功,则接收成功,否则,则丢弃解密后的数据文件。
第二方面,提供了一种实时数据传输的系统,所述系统包括:
发送端数据读取模块:从电厂数据库中读取数据;
缓存模块:对读取到的数据进行压缩并存入第一缓存区;
数据加密模块:从第一缓存区中读入数据,进行加密后存入下第二缓存区;
连接模块:将发送端与接收端之间建立网络连接;
传输模块:发送端根据接收到的头文件中的关于已接收完成的头文件大小的信息,开始从已接收完成的位置开始传输文件;
接收模块:接收端接收文件,并存入第三缓存区;
数据解密模块:从第三缓存区中读入数据,进行解密后存入第四缓存区;
数据存储模块:从第四缓存区中读入数据,存入数据库;
优选的,所述数据加密模块包括:
从第一缓存区中读入数据;
对读入的数据进行散列运算,取得信息摘要;
使用RSA生成的发送端的私钥对信息摘要进行加密;
使用AES生成的密钥对读入的数据进行加密;
把读入的数据和信息摘要存入第二缓存区。
优选的,所述连接模块包括:
发送端直接检测第二缓存区是否有数据,如果有的话,则先给接收端发送一个头文件,告知接收端将要发送的文件的文件名;
接收端接收到头文件后,进行解析,然后检索第三缓存区中是否存在同名文件;
如果存在同名文件,则读取当前该头文件的大小,然后向发送端返回一个文件,包含当前接收端已经接收完成的该头文件的大小的信息;
如果不存在同名文件,则同样返回一个文件,只不过该文件中包含的关于头文件大小的信息设置为0。
优选的,所述数据解密模块包括:
从第三缓存区读入文件,包括数据文件和对应的信息摘要;
使用发送方RSA生成的公钥对信息摘要进行解密;
使用AES的密钥对数据文件进行解密;
对解密后的数据文件取信息摘要;
对比生成的信息摘要和获取到的信息摘要是否相等,比对成功,则接收成功,否则,则丢弃解密后的数据文件。
一种文件访问并发控制的方法,具体包括:
某模块向数据缓存区写入文件,写入完成后在该缓存区的镜像缓存区生成一个同名空文件;
下一个模块循环检测镜像缓存区,当发现新增文件,则去原缓存区读取文件。
与现有技术相比,本发明具有如下的有益效果:
1、本发明使用基于Socket的服务端、客户端通信,针对网络断开、接收端和发送端程序异常终止三种可能导致传输停止的故障开发相应的断网续传算法保证传输连续性;
2、本发明使用通用的Gzip数据压缩技术和为时序类型数据专门开发的压缩方法减少传输的数据量保证传输高效;
3、传输过程使用加密、认证、签名技术保证传输安全性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明整体结构示意图;
图2为数据存储示意图;
图3为数据加密示意图;
图4为对比信息摘要示意图;
图5为读写文件示意图;
图6为数据解密示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例提供了一种实时数据传输的方法,参照图1和图2所示,首先由发送端数据读取模块从电厂数据库中读取数据,再对读取到的数据进行压缩并存入第一缓存区中。
参照图3和图4所示,由数据加密模块从第一缓存区中读入数据,进行加密后存入第二缓存区,具体为:从第一缓存区中读入数据,再对读入的数据进行散列运算,取得信息摘要,其次,使用RSA生成的发送端的私钥对信息摘要进行加密,并使用AES生成的密钥对读入的数据进行加密,最后把读入的数据和信息摘要存入第二缓存区。
参照图1和图5所示,将发送端与接收端之间建立网络连接。先由发送端直接检测第二缓存区是否有数据,如果有的话,则先给接收端发送一个头文件,告知接收端将要发送的文件的文件名,接收端接收到头文件后,进行解析,然后检索第三缓存区中是否存在同名文件。如果存在同名文件,则读取当前该头文件的大小,然后向发送端返回一个文件,包含当前接收端已经接收完成的该头文件的大小的信息;如果不存在同名文件,则同样返回一个文件,只不过该文件中包含的关于头文件大小的信息设置为0。
发送端根据接收到的头文件中的关于已接收完成的头文件大小的信息,开始从已接收完成的位置开始传输文件,接收端接收文件,并存入第三缓存区。
参照图4和图6所示,由数据解密模块从第三缓存区中读入数据,进行解密后存入第四缓存区,具体包括:
从第三缓存区读入数据文件,包括数据文件和对应的信息摘要,使用发送方RSA生成的公钥对信息摘要进行解密,使用AES的密钥对数据文件进行解密,对解密后的数据文件取信息摘要,并对比生成的信息摘要和获取到的信息摘要是否相等,比对成功,则接收成功,否则,则丢弃解密后的数据文件。
最后,由数据存储模块从第四缓存区中读入数据,存入数据库。
为应对缓存区文件并发访问的问题,本文还提供了一种文件访问并发控制的方法,其中包括如下步骤:
步骤1:某模块向数据缓存区写入文件,写入完成后在该缓存区的镜像缓存区生成一个同名空文件。
步骤2:下一个模块循环检测镜像缓存区,当发现新增文件,则去原缓存区读取文件。
本发明使用基于Socket的服务端、客户端通信,针对网络断开、接收端和发送端程序异常终止三种可能导致传输停止的故障开发相应的断网续传算法保证传输连续性,使用通用的Gzip数据压缩技术和为时序类型数据专门开发的压缩方法减少传输的数据量保证传输高效,传输过程使用加密、认证、签名技术保证传输安全性。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
机译: 移动交换软件版本管理中并发文件访问的控制方法
机译: 输入/输出缓冲及其控制方法,公用文件访问方法,多计算机系统,记录有记录的输入/输出缓冲控制程序以及记录有记录的公用文件访问程序的介质
机译: 并发连接控制系统数,并发连接控制服务器数,并发连接控制方法数,并发连接控制程序数