基于多源海量数据的动态多协议传输方法

文档序号:33027885发布日期:2023-01-20 20:03阅读:29来源:国知局
基于多源海量数据的动态多协议传输方法

1.本发明属于互联网通信技术领域,涉及异构数据动态传输、多协议解析、输入输出完成端口模型、线程池和数据队列存储技术,具体涉及基于多源海量数据的动态多协议传输方法。


背景技术:

2.新时代互联网通信技术持续发展,互联网上大规模的多元数据高速并发通信给人们的生活提供了极大的便利。数据传输作为互联网通信技术中的关键环节,越来越受到人们的重视,高流量高并发的多源数据动态多协议传输大大提高了工业领域海量数据的通信效率,减少网络能耗。
3.现有技术处理海量数据需要多台数据处理服务器进行分布式并行处理,缺点是服务器造价高,当面对海量数据请求时,需要在短时间内动态调整网络带宽或增加服务器数量,否则就会造成网络堵塞,降低海量数据传输效率和数据存储效率。


技术实现要素:

4.为了克服上述现有技术的不足,本发明的目的在于提供基于多源海量数据的动态多协议传输机制,加快多源海量数据在通信链路上的传输,实现在pc端对海量数据进行处理,实现较高的性价比。
5.为实现上述目的,本发明采用的技术方案是:
6.一种基于多源海量数据的动态多协议传输方法,其特点在于,将遵从不同协议的用户设备产生的多源海量数据,通过数据包动态分包机制,根据通信链路状态自动增加或者分割数据包大小,实现最佳网络流量传输,发送到数据云中心,对多源海量用户数据进行数据处理,并在数据库中存储,具体包括以下步骤:
7.步骤1,建立远程传输终端,将多源海量用户数据统一封装后发送给数据云中心;多源海量用户数据是指不同用户使用的终端设备遵从不用的网络协议,用户设备采集的数据属于多源数据,由于用户众多,设备采集数据量庞大,因此是多源海量用户数据;
8.步骤2,在多源海量数据传输过程中,采用c++使数据包根据通信链路状态自动增加或者切割数据包大小,实现最佳网络数据量传输;动态分包技术具体做法是:数据包在传输过程中以2的倍数自动缩小数据包大小,直到数据正常传输,当通信链路不拥挤时,数据包以2的倍数自动增加数据包大小,直到以当前最佳的数据包大小进行通信,设置数据包大小上限和下限,限制最高和最低的数据包大小,确保链路利用率的同时提高数据传输速度;
9.步骤3,采用输入输出完成端口模型,接受远程传输终端传送的数据,其中,输入输出完成端口模型支持多个同时发生异步i/o操作的应用程序,充分利用windows内核进行输入输出调度,是c/s通信模式中性能最佳的网络通信模型;
10.步骤4,采用了线程池技术,开辟n个线程,通过n个线程处理异步 i/o请求,避免为每个用户开辟线程,减少线程资源浪费,加快处理远程终端传送数据请求,和输入输出完成
端口模型共同工作,线程池中的每一个线程服务一个用户,访问输入输出完成端口模型消息队列,如果队列中没有消息,则线程阻塞,如果队列中有消息,则取走并进行数据处理,线程池中的线程共同执行任务,实现负载均衡;
11.步骤5,数据云中心对多源海量用户数据进行处理,并将多源海量用户数据发送到数据库进行数据存储备份;
12.步骤6,数据库存储时加入数据缓存队列,采用循环队列数据结构,队列中队头和队尾的位置动态变化,当数据云中心发送的待存储用户数据量过多时,预先存储在数据存储队列中,实现数据库数据存储和数据接收同时进行。
13.与现有技术相比,本发明的有益效果是:
14.和现有技术相比,通过动态多协议自动分包技术,根据通信链路状态实现数据包大小的自动变化,增加了数据传输的速度,传统的互联网海量数据传输,是利用硬件设备的负载均衡实现的,借助多台服务器共同分担数据处理任务,本发明中,采用“输入输出完成端口”模型和线程池技术,通过软件设计实现了pc端数据处理,符合了国家节能减排低碳的要求,更加高校和环保,动态多协议传输提高了通信链路的利用率,利用数据库缓存技术实现数据库数据存储和数据接收同时进行。
15.本发明是互联网远程数据传输,不同的移动端设备具有不同的通信协议,实现多源海量数据动态多协议的数据通信。在海量数据传输过程中,使用动态多协议技术,即链路传输中数据包根据链路状态自动实现分包,设置传输数据包大小的上限和下限,数据包大小在设定范围内,自动实现切割数据包大小和增加数据包大小进行发送;同时构建了一个远程传输终端,对多源海量数据进行封装,统一发送到数据中心;采用“输入输出完成端口”模型、线程池和负载均衡技术,使用个人计算机就可以直接实现海量数据的处理;数据库存储时加入数据存储队列,实现数据库数据存储和数据接收同时进行。本发明所指的多源海量数据动态协议传输机制在设计上有几点不同于现有的互联网数据传输技术。
16.不同之处之一在于:本发明采用根据通信链路状态动态分包思想。当通信链路状态不佳时,数据包在传输过程中以2的倍数自动缩小数据包大小,直到数据正常传输,当通信链路不拥挤时,数据包以2的倍数自动增加数据包大小,直到以当前最佳的数据包大小进行通信,设置数据包大小上限和下限,有利于确定最佳网络流量的大小,实现海量数据传输。
17.不同之处之二在于:本发明使用采用“输入输出完成端口”模型、线程池和负载均衡技术,通过pc端软件设计实现海量数据处理。不同于传统技术中,处理海量数据需要多台数据处理服务器进行分布式并行处理,服务器造价高,当面对海量数据请求时,需要在短时间内动态调整网络带宽或增加服务器数量,否则就会造成网络堵塞;本发明使用较少pc机,用最小的资源实现数据传输,性价比高。
附图说明
18.图1为本发明的本发明的动态多协议传输系统原理图。
19.图2为本发明的对多源海量用户数据进行处理流程图。
20.图3为本发明的对多源海量用户数据实时接收和处理流程图。
具体实施方式
21.对本发明具体方案具体实施例作进一步的阐述。
22.本发明所提出的多源海量数据动态多协议传输机制,将遵从不同协议的用户设备产生的多源海量数据,通过数据包动态分包机制,传输到远程传输终端,远程传输终端将多源用户数据采用统一标准进行封装,将封装后的数据发送到数据云中心,数据中心采用“输入输出完成端口”模型、线程池和负载均衡技术,对数据信息实时接收和处理,数据中心将用户数据发送给数据库进行存储,数据库采用循环队列设置缓存,当待存储用户数据量过大时,将数据存储在缓存队列中,实现数据库数据存储和数据接收同时进行。
23.参见图1-3,一种基于多源海量数据的动态多协议传输机制,本发明的实现步骤如下:
24.步骤1,建立远程传输终端(rtu),将多源海量用户数据统一封装后发送给数据云中心,其中,多源用户数据是指不同用户使用的终端设备遵从不用的网络协议,用户设备采集的数据属于多源数据;
25.步骤2,在多源海量数据传输过程中,使用c++实现数据包根据通信链路状态自动增加或者切割数据包大小,实现最佳网络数据量传输。动态分包技术具体实现是:数据包在传输过程中以2的倍数自动缩小数据包大小,直到数据正常传输,当通信链路不拥挤时,数据包以2的倍数自动增加数据包大小,直到以当前最佳的数据包大小进行通信,设置数据包大小上限和下限,限制最高和最低的数据包大小,确保链路利用率的同时提高数据传输速度;
26.步骤3,采用“输入输出完成端口(iocp)”模型,接受远程终端传送的数据。其中,iocp模型,,支持多个同时发生异步i/o操作的应用程序,充分利用windows内核进行输入输出调度,是c/s通信模式中性能最佳的网络通信模型;
27.步骤4,采用了线程池技术,开辟n个线程,通过n线程处理异步i/o 请求,避免为每个用户开辟线程,减少线程资源浪费,加快处理远程终端传送数据请求。和iocp模型共同工作,线程池中的每一个线程服务一个用户,访问iocp消息队列,如果队列中没有消息,则线程阻塞,如果队列中有消息,则取走并进行数据处理,线程池中的线程共同执行任务,实现负载均衡;
28.步骤5,数据云中心对多源海量用户数据进行处理,并将多源海量用户数据发送到数据库进行数据存储备份;
29.步骤6:数据库存储时加入数据缓存队列,采用循环队列数据结构,队列中队头和队尾的位置动态变化,当云端发送的待存储用户数据量过多时,预先存储在数据存储队列中,实现数据库数据存储和数据接收同时进行。
30.所述的数据云中心,数据云中心采用输入输出完成端口模型、线程池和负载均衡技术,对多源海量用户数据实时接收和处理,通过visualstudio 2015编程软件设计实现了在pc端进行数据处理,符合了国家节能减排低碳的要求,更加高效和环保,动态多协议传输提高了通信链路的利用率。
31.数据库存储,数据云中心将用户数据发送给数据库进行存储,数据库采用循环队列设置缓存,当待存储用户数据量过大时,将数据存储在缓存队列中,实现数据库数据存储和数据接收同时进行。
32.实施例
33.对一定区域范围内居民小区的所有电表、水表等数据进行管理,这些设备遵从不同的协议,大区域范围内的居民数据构成多源海量数据,这些数据通过数据包动态分包机制传输到远程传输终端,远程传输终端对居民数据采用统一标准进行封装,再将统一封装后的数据发送到数据云中心,在数据云中心对数据进行处理和存储,将处理后的数据发送给居民信息管理人员和居民等相关人员。
34.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1