一种风洞现场实时数据分布式多线程采集架构的制作方法

未命名 09-17 阅读:67 评论:0


1.本发明涉及风洞试验数据采集领域,更为具体的,涉及一种风洞现场实时数据分布式多线程采集架构。


背景技术:

2.目前,随着风洞中设备种类、设备数量不断增加,以及各类面向业务的信息化系统不断应用,风洞的数据种类和数据量已经远远超过了传统数据采集的范畴,传统的单机式采集由于受到硬件性能的制约,单机接入点数和扩充能力已经逐渐不能够满足现场数据采集的需求,虽然现有工业实时数据采集设备,能够支持多种类的工业协议,但是风洞数据更具专业性,单机采集没有分布式多线程采集更稳定,并且扩展性和再移植性成本较高,不满足高实时性、高存储、高并发的大批量实时数据采集需求,所以需要重新提出一个更稳定更高效的采集架构。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提供一种风洞现场实时数据分布式多线程采集架构,针对风洞场景,提高了风洞试验数据的高并发处理效率、实时性和稳定性,具有良好的扩展性、伸缩性和适度冗余。
4.本发明的目的是通过以下方案实现的:一种风洞现场实时数据分布式多线程采集架构,包括:节点服务模块,所述节点服务模块设计为分布式多线程采集,并根据风洞现场数据配置多个节点来实现不同区域、不同系统、不同网络数据的采集;中心服务模块,所述中心服务模块采用多线程采集控制,根据功能性不同设计对应数据处理模块;接口服务模块,用于提供配置管理接口及数据代理转发功能。
5.进一步地,所述节点服务模块、中心服务模块和接口服务模块之间均通过通过tcp/ip以太网进行通讯。
6.进一步地,所述节点服务模块包括驱动接口模块、采集控制模块、数据缓存模块和数据发送模块,通过驱动接口模块、采集控制模块、数据缓存模块和数据发送模块实现不同功能的调用。
7.进一步地,所述中心服务模块包括通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块,通过通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块实现中心服务中不同功能的调用。
8.进一步地,所述接口服务模块包括管理界面模块和数据转发模块,通过管理界面模块和数据转发模块实现数据接口的可配置和服务控制功能。
9.进一步地,所述驱动接口模块,用于将不同协议视作一个驱动来适应多种采集协议;通过定义抽象驱动基类,不同的采集协议实现不同的类,继承该基类,并实现具体函数
来达到统一驱动;驱动用针对目标设备的专用协议,生成网络数据请求包,并向目标设备发送请求包,目标设备返回结果数据值;所述采集控制模块,用于实现加载驱动,按配置进行数据获取,响应中心服务的调整控制命令,进行采集过程的控制功能;所述数据缓存模块,用于实现获取数据在本地进行缓存,把采集到的数据分为保存用队列和实时上传两个队列,其中保存用数据队列中的数据被本模块保存到本地缓存数据库中,保证数据上传失败时不会丢失数据;所述数据发送模块,用于实现节点服务采集数据向中心服务的发送,通过实时上传队列同步数据。
10.进一步地,所述通讯模块作为中心服务和节点服务共同实现相互通讯的模块,用于完成各模块的内部消息通讯;所述采存控制模块,用于完成对中心服务的统一调度、调控信息计算和备份切换控制,实现中心服务内各模块协调工作;所述历史数据模块,用于实现历史数据的处理及数据库保存;所述实时数据模块,用于实现实时数据的处理及内部保存;所述数据发布模块,用于实现内部实时数据对外发布。
11.进一步地,所述管理界面模块,用于以web的方式实现远程管理界面,供管理用户配置和整体控制;所述数据转发模块,用于一方面实现web服务器,为管理用户提供通过浏览器访问软件界面途径;另一方面,还提供webapi数据转发服务,使用webapi访问采集实时数据。
12.进一步地,所述采集控制模块还包括主线程模块、数据同步模块、数据保存线程模块、数据采集线程模块、主消息接收线程模块和备消息接收线程模块;所述主线程模块,用于分发收到的各类消息及界面输入、输出处理;所述数据同步模块,用于驱动数据发送模块的工作;所述数据保存线程模块,用于驱动数据缓存模块的工作;所述数据采集线程模块,用于控制驱动接口模块,读取采集源数据,采集按多线程采集方式进行设计,每个线程管理一个目标设备的采集工作;所述主消息接收线程模块,用于驱动通讯基础模块接收从中心服务发来的通讯消息;所述备消息接收线程模块,用于驱动通讯基础模块接收从备份中心服务传来的通讯消息。
13.进一步地,所述采存控制模块包括主线程单元、主备切换线程单元、服务侦听线程单元和消息接收线程;所述主线程单元,用于分发收到的各类消息及界面输入、输出处理;所述主备切换线程单元,存在于备份中心服务中,用于检查主中心服务是否在线,在主中心服务故障时,触发备份切换;所述服务侦听线程单元,用于在配置的服务端口侦听并处理从节点服务或备份中心服务来的连接请求;所述消息接收线程单元,用于每个连接节点服务一个线程,用于接收该被连接方
发送来的消息。
14.本发明的有益效果包括:本发明支持风洞分布式节点部署和大批量实时数据采集。整体架构由节点服务、中心服务、接口服务三大部分组成。节点服务设计为分布式采集,根据现场数据来源、数据量大小、采集频率等因素,配置多个节点,实现不同区域、不同系统、不同网络数据统一采集。
15.本发明节点服务设计为多线程数据处理模块,满足大批量数据并发采集场景,实现大批量数据的并行采集存储。中心服务采用高可靠双机备份机制,保证采集数据由节点到中心汇集的稳定性。接口服务提供整体的接口配置管理和数据代理转发功能。最终实现风洞全量数据从分布式采集、集中存储、实时发布的全数据链管理,为风洞后续软件应用建设提供有效的数据支撑。
16.本发明有效的解决风洞数据来源多、数据量大、数据实时采集要求高、数据实时传输效率高的问题。通过分布式采采存架构和多模块多线程数据处理的机制,形成一种风洞现场实时数据分布式多线程采集架构,保证了风洞不同区域、不同系统、不同网络数据统一采集存储发布。
17.随着风洞中设备种类、设备数量不断增加,以及各类面向业务的信息化系统不断应用,本发明提供的架构具有良好的扩展性、伸缩性和适度冗余。系统只需再增配硬件,即可实现对其它同类项目进行数据的采集存储服务,并且保证系统再移植性。
18.本发明提供的架构采用的多线程数据处理方式,可实现对分散系统的不同类型数据进行毫秒级采集,并保证数据的统一、同步、准确更新。
19.本发明提供的架构通过分布式采集技术、多线程数据处理、高实时性传输等机制,解决风洞现场全量数据存储问题以及整体数据流转,最终实现对风洞数据的有效管理,形成统一的数据资源池。
20.本发明提供的架构中节点服务设计为分布式采集,根据现场数据来源、数据量大小、采集频率等因素,配置多个节点,实现不同区域、不同系统、不同网络数据统一采集。
21.本发明提供的架构中节点服务和中心服务均采用多模块数据处理方式,根据功能性不同设计对应数据处理模块,保证数据高效处理传输。
22.本发明提供的架构中节点服务和中心服务采用多线程采集控制,实现数据采集、同步、保存等多个线程同时运行,保证实时数据采集高效稳定。
23.本发明提供的架构针对风洞多种数据协议,通过集成驱动模块来适配多种采集协议,采用中心加节点的分布式部署来实现多数据源统一采集,采用多线程处理方式提高数据高并发处理。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明实施例的风洞现场实时数据分布式多线程采集架构;
图2为传统数据采集架构;图3为本发明实施例的数据采集传输架构模块划分;图4为本发明实施例的节点服务模块调用顺序;图5为本发明实施例的中心服务模块调用顺序。
具体实施方式
26.本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
27.鉴于背景中的问题,本发明的发明人进一步进行创造性分析思考后认为:传统的单机式数据采集架构通常部署与单台采集服务器,受限于硬件和软件的性能,超过一定的数据点位限制后,采集数量和采集频率也会因为采集软件性能下降而不能满足实际需求,传统数据采集架构如图2所示。
28.风洞试验过程产生的数据类型多,针对多种不同类型的数据来源,需要兼容多类型工业协议;风洞的采集周期一般为毫秒级,在数据的读写、处理与存储方面有着极为严格的时延要求,需要重新设计新的事务处理与并发控制技术。在重新设计的过程中,本发明的发明人发现风洞现场数据源系统众多,并且各个系统部署区域不同,网络架构也相互独立。因此,本发明构思采用集中化部署加分布式采集的架构,其中节点采集设计为分布式的采集架构,可针对现场采集数据源的数据量大小、采集频率和网络架构等实际情况,配置对应的采集节点,实现不同节点采集不同系统的数据,并最终汇集到中心服务,实现数据统一存储和数据统一转发。
29.在以上设计架构的基础上,进一的探索后,本发明的发明人又发现如下技术问题:风洞现场实时采集点位上万并且采集延时要求为毫秒级,常规的单线程数据处理方法不能很好的满足系统对大数据量的高效处理,为了实现数据的并发处理,需要提升服务器硬件效率,并在基于分布式架构的基础上,进一步优化对应节点服务、中心服务、接口服务设计多线程数据处理程序,从而提升系统的数据处理能力与效率。
30.为了解决上述技术问题,本发明具体提出了如下一种风洞现场实时数据分布式多线程采集架构。如图1和图3所示,主要包括节点服务、中心服务、接口服务。节点服务主要功能是风洞现场采集数据,中心服务主要功能是数据汇总及处理保存,接口服务提供整体的配置管理接口及数据代理转发功能。节点服务和中心服务均采用多模块多线程的架构,各模块通过tcp/ip以太网进行通讯。
31.在节点服务模块的设计中,节点服务主要分为驱动接口模块、采集控制模块、数据缓存模块和数据发送模块几个部分,通过多模块的结构实现不同功能的调用,节点服务内部模块调用顺序如图4所示,具体包括如下工作过程:1)驱动接口模块将不同协议视作一个驱动来适应多种采集协议。通过定义抽象驱动基类,不同的采集协议实现不同的类,继承该基类,并实现具体函数来达到统一驱动。驱动用针对目标设备的专用协议,生成网络数据请求包,并向目标设备发送请求包,目标设备返回结果数据值。在具体实施中通过opcua订阅控制系统数据时,新建opcuaclient实例,继承驱动基类,当plc数据发生变化时,系统自动触发订阅时指定的回调函数。
32.2)采集控制模块实现加载驱动,按配置进行数据获取,响应中心服务的调整控制
命令,进行采集过程的控制等功能。该模块包含:a.主线程:分发收到的各类消息及界面输入、输出处理;b.数据同步线程:驱动数据发送模块的工作;在具体构思中,将本节点服务包含的风洞控制系统数据发送至中心服务。
33.c.数据保存线程:驱动数据缓存模块的工作;在具体构思中,将本节点服务包含的风洞控制系统数据缓存在本节点服务数据库。
34.d.数据采集线程:用于控制驱动接口模块,读取采集源数据,为了保证采集的低时延,以及采集吞吐量,采集按多线程采集方式进行设计,每个线程管理一个目标设备的采集工作;在具体构思中,将本节点服务包含的风洞控制系统按照不同设备配置,对应不同采集线程,实现单线程采集单设备的采集方式。
35.e.主消息接收线程:驱动通讯基础模块接收从中心服务发来的通讯消息;f.备消息接收线程:驱动通讯基础模块接收从备份中心服务传来的通讯消息;在本发明构思中,单节点服务多线程的方式保证数据采集、保存、同步、以及配置参数接收下发等功能同步运行,其中采集线程又采用多线程设计,单线程单设备保证风洞控制系统每接入一个设备均采用单线程采集模式,实现大批量数据采集的高实时性。
36.3)数据缓存模块实现获取数据在本地进行缓存,把采集到的数据分为保存用队列和实时上传两个队列,其中保存用数据队列中的数据被本模块保存到本地缓存数据库中,保证数据上传失败时不会丢失数据。
37.在具体构思中,实时数据采集时,通过采集控制模块的数据保存线程驱动保存用列队,将风洞控制系统实时数据同步保存至缓存数据库,保证了数据安全性,避免出现数据丢失的情况。
38.4)数据发送模块实现节点服务采集数据向中心服务的发送,通过实时上传队列同步数据。
39.在具体构思中,通过采集控制模块的数据同步线程驱动数据发送模块,将风洞控制系统数据同步到中心服务,保证数据发送稳定性。
40.在中心服务模块的设计中,中心服务主要分为通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块几个部分,通过多模块的结构实现中心服务中不同功能的调用,中心服务内部模块调用顺序如图5图所示,具体包括如下工作过程:1)通讯模块是中心服务和节点服务共同实现相互通讯的模块,用于完成各模块的内部消息通讯。通讯模块基于tcp网络设计,中心服务建立端口,节点服务进行登录连接,然后传递数据。通讯模块设计为多线程方式,采用一个个消息包的形式进行通讯。通讯模块定义网络数据缓冲对象、网络数据流对象,以及网络消息对象等三种对象,来抽象通讯要素,实现网络通讯。
41.2)采存控制模块完成对中心服务的统一调度、调控信息计算、双机备份切换控制等工作,同时实现中心服务内各模块协调工作。该模块包括:a.主线程,用于分发收到的各类消息及界面输入、输出处理;b.主备切换线程,存在于备份中心服务中,用于检查主中心服务是否在线,在主中心服务故障时,触发备份切换;在具体构思中,主备切换线程保证了风洞控制系统数据采集的稳定性,主线程出现宕机时,可自动切换到备份线程,实现了实时数据采集高可靠设计。
42.c.服务侦听线程,在配置的服务端口侦听并处理从节点服务或备份中心服务来的连接请求;d.消息接收线程,每个连接节点服务一个线程,用于接收该被连接方发送来的消息。在具体构思中,消息接收线程采用单节点多线程保证节点服务的上传数据能正常接收。
43.3)历史数据模块实现历史数据的处理及数据库保存。历史数据模块的功能包括导入历史数据文件内容到数据库,以及返回导入结果给节点服务。由于缓存数据量较大,导入过程采用单独线程处理。在具体构思中,在具体构思中,历史数据按照风洞层级结构划分存入数据库,方便风洞后续数据应用。
44.4)实时数据模块实现实时数据的处理及内部保存。该模块把收到的数据缓存于实时数据缓存对象中,调用实时数据缓存对象的相关功能,实现数据的转换、保存。通过建立在内存中的实时采集树,来查询目标点。并发送数据至内存中的目标节点中,为后续的数据发布工作做准备。
45.5)数据发布模块实现内部实时数据以mqtt和webapi方式对外发布。数据发布模块依赖于实时数据模块提供的实时采集树,并从该树上查找数据值,然后发布各采集点的数据。在具体构思中,风洞实时数据应用系统可采用mqtt协议接收实时数据,保证实时数据大批量和低延时的设计。风洞常用管控系统可采用webapi根据使用情况调用对应层级接口,实现分层分级数据调用,体现了接口配置多样性。
46.在接口服务模块的设计中,接口服务主要分为管理界面模块和数据转发模块两个部分,实现数据接口的可配置和服务控制功能。
47.1)管理界面模块用于以web的方式实现远程管理界面,供管理用户配置和整体控制。在具体构思中,根据第三方应用系统的调用需要,可自行配置需要发布的风洞数据点位,可实现通过管理界面控制风洞分层级数据发布。
48.2)数据转发模块一方面实现web服务器,为管理用户提供通过浏览器访问软件界面途径;另一方面,还提供webapi数据转发服务,可以使用webapi访问采集实时数据。在具体构思中,数据转发模块保证了数据应用的稳定性,为后续风洞数据接口应用提供了保障。
49.综上所述,本发明有效的解决风洞数据来源多、数据量大、数据实时采集要求高、数据实时传输效率高的问题。通过分布式采采存架构和多模块多线程数据处理的机制,形成一种风洞现场实时数据分布式多线程采集架构,保证了风洞不同区域、不同系统、不同网络数据统一采集存储发布。
50.需要说明的是,在本发明权利要求书中所限定的保护范围内,以下实施例均可以从上述具体实施方式中,例如公开的技术原理,公开的技术特征或隐含公开的技术特征等,以合乎逻辑的任何方式进行组合和/或扩展、替换。
51.实施例1一种风洞现场实时数据分布式多线程采集架构,包括:节点服务模块,所述节点服务模块设计为分布式多线程采集,并根据风洞现场数据配置多个节点来实现不同区域、不同系统、不同网络数据的采集;中心服务模块,所述中心服务模块采用多线程采集控制,根据功能性不同设计对应数据处理模块;接口服务模块,用于提供配置管理接口及数据代理转发功能。
52.实施例2在实施例1的基础上,所述节点服务模块、中心服务模块和接口服务模块之间均通过通过tcp/ip以太网进行通讯。
53.实施例3在实施例1的基础上,所述节点服务模块包括驱动接口模块、采集控制模块、数据缓存模块和数据发送模块,通过驱动接口模块、采集控制模块、数据缓存模块和数据发送模块实现不同功能的调用。
54.实施例4在实施例1的基础上,所述中心服务模块包括通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块,通过通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块实现中心服务中不同功能的调用。
55.实施例5在实施例1的基础上,所述接口服务模块包括管理界面模块和数据转发模块,通过管理界面模块和数据转发模块实现数据接口的可配置和服务控制功能。
56.实施例6在实施例3的基础上,所述驱动接口模块,用于将不同协议视作一个驱动来适应多种采集协议;通过定义抽象驱动基类,不同的采集协议实现不同的类,继承该基类,并实现具体函数来达到统一驱动;驱动用针对目标设备的专用协议,生成网络数据请求包,并向目标设备发送请求包,目标设备返回结果数据值;所述采集控制模块,用于实现加载驱动,按配置进行数据获取,响应中心服务的调整控制命令,进行采集过程的控制功能;所述数据缓存模块,用于实现获取数据在本地进行缓存,把采集到的数据分为保存用队列和实时上传两个队列,其中保存用数据队列中的数据被本模块保存到本地缓存数据库中,保证数据上传失败时不会丢失数据;所述数据发送模块,用于实现节点服务采集数据向中心服务的发送,通过实时上传队列同步数据。
57.实施例7在实施例4的基础上,所述通讯模块作为中心服务和节点服务共同实现相互通讯的模块,用于完成各模块的内部消息通讯;所述采存控制模块,用于完成对中心服务的统一调度、调控信息计算和备份切换控制,实现中心服务内各模块协调工作;所述历史数据模块,用于实现历史数据的处理及数据库保存;所述实时数据模块,用于实现实时数据的处理及内部保存;所述数据发布模块,用于实现内部实时数据对外发布。
58.实施例8在实施例5的基础上,所述管理界面模块,用于以web的方式实现远程管理界面,供管理用户配置和整体控制;所述数据转发模块,用于一方面实现web服务器,为管理用户提供通过浏览器访问软件界面途径;另一方面,还提供webapi数据转发服务,使用webapi访问采集实时数据。
59.实施例9在实施例6的基础上,所述采集控制模块还包括主线程模块、数据同步模块、数据保存线程模块、数据采集线程模块、主消息接收线程模块和备消息接收线程模块;所述主线程模块,用于分发收到的各类消息及界面输入、输出处理;所述数据同步模块,用于驱动数
据发送模块的工作;所述数据保存线程模块,用于驱动数据缓存模块的工作;所述数据采集线程模块,用于控制驱动接口模块,读取采集源数据,采集按多线程采集方式进行设计,每个线程管理一个目标设备的采集工作;所述主消息接收线程模块,用于驱动通讯基础模块接收从中心服务发来的通讯消息;所述备消息接收线程模块,用于驱动通讯基础模块接收从备份中心服务传来的通讯消息。
60.实施例10在实施例7的基础上,所述采存控制模块包括主线程单元、主备切换线程单元、服务侦听线程单元和消息接收线程;所述主线程单元,用于分发收到的各类消息及界面输入、输出处理;所述主备切换线程单元,存在于备份中心服务中,用于检查主中心服务是否在线,在主中心服务故障时,触发备份切换;所述服务侦听线程单元,用于在配置的服务端口侦听并处理从节点服务或备份中心服务来的连接请求;所述消息接收线程单元,用于每个连接节点服务一个线程,用于接收该被连接方发送来的消息。
61.在本发明的其他实施方式中,还包括如下实施例:在实施例7的基础上,所述通讯模块基于tcp网络设计,中心服务建立端口,节点服务进行登录连接,然后传递数据。
62.在实施例7的基础上,所述通讯模块设计为多线程方式,采用一个个消息包的形式进行通讯。
63.在实施例7的基础上,所述通讯模块定义网络数据缓冲对象、网络数据流对象,以及网络消息对象三种对象来抽象通讯要素,实现网络通讯。
64.在实施例7的基础上,所述历史数据模块的功能包括导入历史数据文件内容到数据库,以及返回导入结果给节点服务。
65.在实施例7的基础上,所述实时数据模块,用于把收到的数据缓存于实时数据缓存对象中,调用实时数据缓存对象的相关功能,实现数据的转换和保存。所述数据发布模块依赖于实时数据模块提供的实时采集树,并从该树上查找数据值,然后发布各采集点的数据。所述内部实时数据以mqtt和webapi方式对外发布。所述历史数据模块的导入过程采用单独线程处理。所述实时数据模块,通过建立在内存中的实时采集树,来查询目标点,并发送数据至内存中的目标节点中,为后续的数据发布工作做准备。
66.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
67.根据本发明实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
68.作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

技术特征:
1.一种风洞现场实时数据分布式多线程采集架构,其特征在于,包括:节点服务模块,所述节点服务模块设计为分布式多线程采集,并根据风洞现场数据配置多个节点来实现不同区域、不同系统、不同网络数据的采集;中心服务模块,所述中心服务模块采用多线程采集控制,根据功能性不同设计对应数据处理模块;接口服务模块,用于提供配置管理接口及数据代理转发功能。2.根据权利要求1所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述节点服务模块、中心服务模块和接口服务模块之间均通过通过tcp/ip以太网进行通讯。3.根据权利要求1所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述节点服务模块包括驱动接口模块、采集控制模块、数据缓存模块和数据发送模块,通过驱动接口模块、采集控制模块、数据缓存模块和数据发送模块实现不同功能的调用。4.根据权利要求1所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述中心服务模块包括通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块,通过通讯模块、采存控制模块、历史数据模块、实时数据模块和数据发布模块实现中心服务中不同功能的调用。5.根据权利要求1所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述接口服务模块包括管理界面模块和数据转发模块,通过管理界面模块和数据转发模块实现数据接口的可配置和服务控制功能。6.根据权利要求3所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述驱动接口模块,用于将不同协议视作一个驱动来适应多种采集协议;通过定义抽象驱动基类,不同的采集协议实现不同的类,继承该基类,并实现具体函数来达到统一驱动;驱动用针对目标设备的专用协议,生成网络数据请求包,并向目标设备发送请求包,目标设备返回结果数据值;所述采集控制模块,用于实现加载驱动,按配置进行数据获取,响应中心服务的调整控制命令,进行采集过程的控制功能;所述数据缓存模块,用于实现获取数据在本地进行缓存,把采集到的数据分为保存用队列和实时上传两个队列,其中保存用数据队列中的数据被本模块保存到本地缓存数据库中,保证数据上传失败时不会丢失数据;所述数据发送模块,用于实现节点服务采集数据向中心服务的发送,通过实时上传队列同步数据。7.根据权利要求4所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述通讯模块作为中心服务和节点服务共同实现相互通讯的模块,用于完成各模块的内部消息通讯;所述采存控制模块,用于完成对中心服务的统一调度、调控信息计算和备份切换控制,实现中心服务内各模块协调工作;所述历史数据模块,用于实现历史数据的处理及数据库保存;所述实时数据模块,用于实现实时数据的处理及内部保存;所述数据发布模块,用于实现内部实时数据对外发布。8.根据权利要求5所述的风洞现场实时数据分布式多线程采集架构,其特征在于,
所述管理界面模块,用于以web的方式实现远程管理界面,供管理用户配置和整体控制;所述数据转发模块,用于一方面实现web服务器,为管理用户提供通过浏览器访问软件界面途径;另一方面,还提供webapi数据转发服务,使用webapi访问采集实时数据。9.根据权利要求6所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述采集控制模块还包括主线程模块、数据同步模块、数据保存线程模块、数据采集线程模块、主消息接收线程模块和备消息接收线程模块;所述主线程模块,用于分发收到的各类消息及界面输入、输出处理;所述数据同步模块,用于驱动数据发送模块的工作;所述数据保存线程模块,用于驱动数据缓存模块的工作;所述数据采集线程模块,用于控制驱动接口模块,读取采集源数据,采集按多线程采集方式进行设计,每个线程管理一个目标设备的采集工作;所述主消息接收线程模块,用于驱动通讯基础模块接收从中心服务发来的通讯消息;所述备消息接收线程模块,用于驱动通讯基础模块接收从备份中心服务传来的通讯消息。10.根据权利要求7所述的风洞现场实时数据分布式多线程采集架构,其特征在于,所述采存控制模块包括主线程单元、主备切换线程单元、服务侦听线程单元和消息接收线程;所述主线程单元,用于分发收到的各类消息及界面输入、输出处理;所述主备切换线程单元,存在于备份中心服务中,用于检查主中心服务是否在线,在主中心服务故障时,触发备份切换;所述服务侦听线程单元,用于在配置的服务端口侦听并处理从节点服务或备份中心服务来的连接请求;所述消息接收线程单元,用于每个连接节点服务一个线程,用于接收该被连接方发送来的消息。

技术总结
本发明公开了一种风洞现场实时数据分布式多线程采集架构,属于风洞试验数据采集领域,包括节点服务模块,所述节点服务模块设计为分布式多线程采集,并根据风洞现场数据配置多个节点来实现不同区域、不同系统、不同网络数据的采集;中心服务模块,所述中心服务模块采用多线程采集控制,根据功能性不同设计对应数据处理模块;接口服务模块,用于提供配置管理接口及数据代理转发功能。本发明针对风洞场景,提高了风洞试验数据的高并发处理效率、实时性和稳定性,具有良好的扩展性、伸缩性和适度冗余。度冗余。度冗余。


技术研发人员:王博文 黄叙辉 徐涛 张伟 唐亮 高鹏 桑博 马世鹏 秦建华
受保护的技术使用者:中国空气动力研究与发展中心高速空气动力研究所
技术研发日:2023.08.08
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐