CN104657462B - 一种海量测量数据准实时入库方法 - Google Patents
一种海量测量数据准实时入库方法 Download PDFInfo
- Publication number
- CN104657462B CN104657462B CN201510070227.8A CN201510070227A CN104657462B CN 104657462 B CN104657462 B CN 104657462B CN 201510070227 A CN201510070227 A CN 201510070227A CN 104657462 B CN104657462 B CN 104657462B
- Authority
- CN
- China
- Prior art keywords
- data
- submodule
- real time
- test
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种海量测量数据准实时入库方法,通过海量测量数据准实时入库系统实现,该海量测量数据准实时入库系统包括数据服务子模块、数据处理子模块、参数定义子模块、数据库表映射子模块、网络通信子模块、IP配置子模块、数据库参数配置子模块、缓冲文件库和Oracle数据库,本发明针对海量数据入库的难题,创新设计了海量数据入库系统,通过系统中各个模块的并行协同工作,并采用批量入库的模式,实现了海量遥测数据的实时处理、存储,该方法显著提高了入库效率,实现了测量系统海量数据的快速、准确、可靠入库,有助于测量信息的集成统一管理。
Description
技术领域
本发明涉及一种海量测量数据准实时入库方法,属于航天飞行器测量系统的信息化、集成化管理技术领域。
背景技术
测量系统是航天飞行器不可缺少的重要组成部分,作为一种工程应用型的信息系统,其包括信息的采集、传送与处理三大环节,其中遥测参数装订、遥测数据实时处理和管理是处理环节中的关键工作之一。近年来,随着测量系统10Mbps高码率数据传输技术和控制系统1553B总线数据传输技术的应用,遥测测试参数翻了两番,达到5000个,且测量数据类型多种多样,包括缓变参数、速变参数、总线数据、计算机字、平台高串数据、速率陀螺数据、GPS数据、图像数据以及位控指令等多种数据类型。测量系统每次试验约30分钟,产生的数据量达到10Gb左右。传统的针对2Mbps遥测数据的实时处理与存储软件由于采用内存缓存、SQL语句插入方式,已无法满足实时处理、存储要求要求。随着参数量的成倍增加,采用人工装订参数的方式一个人至少需要两周时间才能完成全部装订工作,而且极易出现漏装、错装问题。与此同时,测量系统的参数、数据分布在各类信息系统中,相互间没有接口,形成了信息孤岛,无法实现对参数、数据的集中管理和有效的数据分析。
发明内容
本发明的目的在于克服现有技术的上述缺陷,提供一种海量测量数据准实时入库方法,该方法显著提高了入库效率,实现了测量系统海量数据的快速、准确、可靠入库,有助于测量信息的集成统一管理。
本发明的上述目的主要是通过如下技术方案予以实现的:
一种海量测量数据准实时入库方法,通过海量测量数据准实时入库系统实现,所述海量测量数据准实时入库系统包括数据服务子模块、数据处理子模块、参数定义子模块、数据库表映射子模块、网络通信子模块、IP配置子模块、数据库参数配置子模块、缓冲文件库和Oracle数据库,具体实现方法如下:
步骤(一)、数据处理子模块接收外部用户输入的试验名称,根据试验名称调用参数定义子模块获取所述试验名称对应的试验参数信息;
步骤(二)数据处理子模块调用数据库表映射子模块,在数据库表映射子模块中建立所述试验参数信息的试验记录,并生成试验数据结果表;
步骤(三)数据处理子模块调用IP配置子模块中的IP配置信息,并将所述IP配置信息输出给网络通信子模块,网络通信子模块建立数据处理子模块与数据服务子模块的TCP连接;
步骤(四)、数据服务子模块调用数据库参数配置子模块中的数据库配置信息,建立数据库服务子模块与Oracle数据库之间的连接,从数据库表映射子模块中读取步骤(二)中建立的试验记录和生成的试验数据结果表;
步骤(五)数据处理子模块从外部网路实时接收遥测原码数据,根据步骤(一)中获取的试验参数信息对遥测原码数据进行实时处理,即将遥测原码数据中的十六进制数据处理为十进制的物理量数据;
步骤(六)数据处理子模块将步骤(五)中得到的十进制的物理量数据进行打包后,通过步骤(三)中建立的TCP连接发送到数据服务子模块;
步骤(七)数据服务子模块根据步骤(四)中读取的所述试验记录和试验数据结果表,将步骤(六)中收到的十进制物理量数据包中的数据转换为Oracle SQL*Loader识别的数据文件和控制文件,并写入缓冲文件库中;
步骤(八)当数据服务子模块从数据处理子模块接收到的数据包个数达到设定阈值时,调用Oracle SQL*Loader命令行工具从缓冲文件库中读取所述数据文件和控制文件执行数据入库,即将所述数据文件和控制文件中的数据存储到Oracle数据库中;
步骤(九)重复步骤(五)-步骤(八),实现数据的实时入库。
在上述海量测量数据准实时入库方法中,步骤(二)中生成的试验数据结果表包括n个数据表,每个数据表中包括m个试验参数,其中每个数据表中存储同一系统中同一类型的试验参数,其中n、m均为正整数。
在上述海量测量数据准实时入库方法中,步骤(五)中的十进制数据包括int、float形式的电压、电流、温度、压力和转速数据。
在上述海量测量数据准实时入库方法中,步骤(八)中数据服务子模块将数据文件和控制文件中的数据存储到Oracle数据库中的同时,实时执行步骤(七),即将收到的十进制物理量数据转换为Oracle SQL*Loader识别的数据文件和控制文件,并写入缓冲文件库中。
在上述海量测量数据准实时入库方法中,步骤(八)中的设定阈值为3000-10000。
本发明与现有技术相比具有如下有益效果:
(1)本发明针对海量数据入库的难题,创新设计了海量数据入库系统,通过系统中各个模块的并行协同工作,并采用批量入库的模式,实现了海量遥测数据的实时处理、存储,该方法显著提高了入库效率,实现了测量系统海量数据的快速、准确、可靠入库,有助于测量信息的集成统一管理。
(2)、本发明科学合理的设定了批量入库阈值,准确判断数据入库时机,提高了硬件资源的使用率,进一步提高了入库效率和可靠性;大量试验表明本发明设定阈值为3000-10000时,性能最优,当设定阈值小于3000时,阈值越小调用Oracle SQL*Loader的频率越高,导致入库性能下降,当设定阈值大于10000时,对Oracle SQL*Loader的每次调用执行时间延长,明显影响入库性能。
附图说明
图1为本发明海量测量数据入库系统结构示意图;
图2为本发明海量测量数据入库原理图;
图3为本发明试验数据结果表形式示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述:
如图1所示为本发明海量测量数据入库系统结构示意图,本发明海量测量数据准实时入库方法通过海量测量数据准实时入库系统实现,由图1可知本发明海量测量数据准实时入库系统包括数据服务子模块(CDlgService)、数据处理子模块(CDlgClient)、参数定义子模块(ParamSysNode)、数据库表映射子模块(DataTable)、网络通信子模块(CMySocketComm)、IP配置子模块(CDlgIPSetting)、数据库参数配置子模块(CDlgDBSetting)、缓冲文件库和Oracle数据库。
如图2所示为本发明海量测量数据入库原理图,本发明海量测量数据入库的具体实现方法如下:
步骤(一)、数据处理子模块接收外部用户输入的试验名称,根据该试验名称调用参数定义子模块获取该试验名称对应的试验参数信息。
步骤(二)数据处理子模块调用数据库表映射子模块,在数据库表映射子模块中建立该试验参数信息的试验记录,并生成试验数据结果表。如图3所示为本发明试验数据结果表形式示意图,试验数据结果表包括n个数据表,每个数据表中包括m个试验参数,其中每个数据表中存储同一系统中同一类型的试验参数,其中n、m均为正整数。
步骤(三)数据处理子模块调用IP配置子模块中的IP配置信息,并将该IP配置信息输出给网络通信子模块,网络通信子模块建立数据处理子模块与数据服务子模块的TCP连接。
步骤(四)、数据服务子模块调用数据库配置子模块中的数据库配置信息,建立数据库服务子模块与Oracle数据库之间的连接,从数据库表映射子模块中读取步骤(二)中建立的试验记录和生成的试验数据结果表。
步骤(五)数据处理子模块从外部网路实时接收遥测原码数据,根据步骤(一)中获取的试验参数信息对遥测原码数据进行实时处理,即将遥测原码数据中的十六进制数据处理为十进制的物理量数据,十进制数据包括int、float形式的电压、电流、温度、压力、转速数据。
步骤(六)数据处理子模块将步骤(五)中得到的十进制的物理量数据进行打包后,通过步骤(三)中建立的TCP连接发送到数据服务子模块。
步骤(七)数据服务子模块根据步骤(四)中读取的所述试验记录和试验数据结果表,将步骤(六)中收到的十进制物理量数据包中的数据转换为Oracle SQL*Loader识别的数据文件和控制文件,并写入缓冲文件库中。
步骤(八)当数据服务子模块从数据处理子模块接收到的数据包个数达到设定阈值时,调用Oracle SQL*Loader命令行工具从缓冲文件库中读取该数据文件和控制文件执行数据入库,即将该数据文件和控制文件中的数据存储到Oracle数据库中。实时入库的性能与设定阈值、运行的计算机硬件配置直接相关。
该步骤中数据服务子模块将数据文件和控制文件中的数据存储到Oracle数据库中的同时,实时执行步骤(七),即将收到的十进制物理量数据转换为Oracle SQL*Loader识别的数据文件和控制文件,并写入缓冲文件库中。
步骤(九)重复步骤(五)-步骤(八),实现数据的实时入库。
实施例1
基于本方法对频率为50Hz、数据量为10Mbps的测量系统原码数据进行实时入库。硬件环境如表1所示。在入库结果表个数为60,每个结果表包含的参数个数为20的情况下,对不同阈值条件下的入库性能进行了测试,测试结果见表2。
表1硬件环境
表2测试结果
阈值 | 每秒入库数据量 |
50 | 2.5MB/S |
500 | 3.6MB/S |
1000 | 4.7MB/S |
2000 | 5.5MB/S |
3000 | 7.6MB/S |
5000 | 9.3MB/S |
7000 | 10.8MB/S |
9000 | 9.9MB/S |
10000 | 7.5MB/S |
11000 | 3.9MB/S |
测试结果表明,设定阈值在3000-10000时,性能最优,当设定阈值小于3000时,阈值越小调用Oracle SQL*Loader的频率越高,导致入库性能下降,当设定阈值大于10000时,对Oracle SQL*Loader的每次调用执行时间延长,明显影响入库性能;此外运行计算机的内核数越高、内存越大,实时入库的性能越高。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (4)
1.一种海量测量数据准实时入库方法,其特征在于:通过海量测量数据准实时入库系统实现,所述海量测量数据准实时入库系统包括数据服务子模块、数据处理子模块、参数定义子模块、数据库表映射子模块、网络通信子模块、IP配置子模块、数据库参数配置子模块、缓冲文件库和Oracle数据库,具体实现方法如下:
步骤(一)、数据处理子模块接收外部用户输入的试验名称,根据试验名称调用参数定义子模块获取所述试验名称对应的试验参数信息;
步骤(二)、数据处理子模块调用数据库表映射子模块,在数据库表映射子模块中建立所述试验参数信息的试验记录,并生成试验数据结果表;
步骤(三)、数据处理子模块调用IP配置子模块中的IP配置信息,并将所述IP配置信息输出给网络通信子模块,网络通信子模块建立数据处理子模块与数据服务子模块的TCP连接;
步骤(四)、数据服务子模块调用数据库参数配置子模块中的数据库配置信息,建立数据库服务子模块与Oracle数据库之间的连接,从数据库表映射子模块中读取步骤(二)中建立的试验记录和生成的试验数据结果表;
步骤(五)、数据处理子模块从外部网路实时接收遥测原码数据,根据步骤(一)中获取的试验参数信息对遥测原码数据进行实时处理,即将遥测原码数据中的十六进制数据处理为十进制的物理量数据;
步骤(六)、数据处理子模块将步骤(五)中得到的十进制的物理量数据进行打包后,通过步骤(三)中建立的TCP连接发送到数据服务子模块;
步骤(七)、数据服务子模块根据步骤(四)中读取的所述试验记录和试验数据结果表,将步骤(六)中收到的十进制物理量数据包中的数据转换为Oracle SQL*Loader识别的数据文件和控制文件,并写入缓冲文件库中;
步骤(八)、当数据服务子模块从数据处理子模块接收到的数据包个数达到设定阈值时,调用Oracle SQL*Loader命令行工具从缓冲文件库中读取所述数据文件和控制文件执行数据入库,即将所述数据文件和控制文件中的数据存储到Oracle数据库中;
步骤(九)、重复步骤(五)-步骤(八),实现数据的准实时入库。
2.根据权利要求1所述的一种海量测量数据准实时入库方法,其特征在于:所述步骤(二)中生成的试验数据结果表包括n个数据表,每个数据表中包括m个试验参数,其中每个数据表中存储同一系统中同一类型的试验参数,其中n、m均为正整数。
3.根据权利要求1所述的一种海量测量数据准实时入库方法,其特征在于:所述步骤(五)中的十进制数据包括int、float形式的电压、电流、温度、压力和转速数据。
4.根据权利要求1所述的一种海量测量数据准实时入库方法,其特征在于:所述步骤(八)中的设定阈值为3000-10000区间内的一个数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510070227.8A CN104657462B (zh) | 2015-02-10 | 2015-02-10 | 一种海量测量数据准实时入库方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510070227.8A CN104657462B (zh) | 2015-02-10 | 2015-02-10 | 一种海量测量数据准实时入库方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657462A CN104657462A (zh) | 2015-05-27 |
CN104657462B true CN104657462B (zh) | 2017-12-22 |
Family
ID=53248590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510070227.8A Active CN104657462B (zh) | 2015-02-10 | 2015-02-10 | 一种海量测量数据准实时入库方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657462B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808778B (zh) * | 2016-03-30 | 2019-04-26 | 中国银行股份有限公司 | 一种海量数据抽取、转换、加载方法及装置 |
CN111339041B (zh) * | 2020-03-10 | 2024-01-12 | 中国建设银行股份有限公司 | 文件解析入库、文件生成方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183382A (zh) * | 2007-12-14 | 2008-05-21 | 北京康拓科技开发总公司 | 一种航天测试系统专用的实时海量的存储设备 |
CN102916844A (zh) * | 2012-11-22 | 2013-02-06 | 南京恩瑞特实业有限公司 | 海量数据融合及实时监视系统 |
CN103559217A (zh) * | 2013-10-17 | 2014-02-05 | 北京航空航天大学 | 一种面向异构数据库的海量组播数据入库实现方法 |
CN103970903A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 基于Web的大型工业系统反馈数据实时处理方法及系统 |
CN104317800A (zh) * | 2014-09-19 | 2015-01-28 | 山东大学 | 一种海量智能用电数据混合存储系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2096564B1 (en) * | 2008-02-29 | 2018-08-08 | Euroclear SA/NV | Improvements relating to handling and processing of massive numbers of processing instructions in real time |
-
2015
- 2015-02-10 CN CN201510070227.8A patent/CN104657462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183382A (zh) * | 2007-12-14 | 2008-05-21 | 北京康拓科技开发总公司 | 一种航天测试系统专用的实时海量的存储设备 |
CN102916844A (zh) * | 2012-11-22 | 2013-02-06 | 南京恩瑞特实业有限公司 | 海量数据融合及实时监视系统 |
CN103559217A (zh) * | 2013-10-17 | 2014-02-05 | 北京航空航天大学 | 一种面向异构数据库的海量组播数据入库实现方法 |
CN103970903A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 基于Web的大型工业系统反馈数据实时处理方法及系统 |
CN104317800A (zh) * | 2014-09-19 | 2015-01-28 | 山东大学 | 一种海量智能用电数据混合存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104657462A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Geng et al. | FPDeep: Acceleration and load balancing of CNN training on FPGA clusters | |
CN102955977B (zh) | 一种基于云技术的能效服务方法及其能效服务平台 | |
CN107529644B (zh) | 一种电力系统静态电压稳定域边界线性近似方法 | |
US11537766B2 (en) | Collision check data processing method and apparatus, electronic device, and storage medium | |
CN106934484B (zh) | 一种基于pda的现场运维日工作规划方法 | |
CN106250519A (zh) | 用于并行数据库的数据查询方法和装置 | |
CN104077438A (zh) | 电网大规模拓扑结构构建方法与系统 | |
CN104504154A (zh) | 一种数据聚合查询的方法及装置 | |
CN105071994B (zh) | 一种海量数据监控系统 | |
CN104657462B (zh) | 一种海量测量数据准实时入库方法 | |
CN104778528A (zh) | 利用大数据获取智慧城市评估指标的方法及系统 | |
CN112183905B (zh) | 一种基于bim建模的建筑物设计预案综合优化方法 | |
CN110362293A (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN106326005A (zh) | 一种迭代型MapReduce作业的参数自动调优方法 | |
CN117992197A (zh) | 神经网络模型映射调度运行方法、装置、电子设备及介质 | |
CN106257506B (zh) | 大数据量预测的三层联合动态选择最优模型方法 | |
CN116613746A (zh) | 一种基于os2的分布式电网建模模型 | |
CN106162668A (zh) | 确定网络参数的方法和装置 | |
CN112445776A (zh) | 基于Presto的动态分桶方法、系统、设备及可读存储介质 | |
CN105302979B (zh) | 两相流体网络模型中阀门组的建模方法和系统 | |
CN106506282A (zh) | 一种提高云平台监控性能及规模的监控方法 | |
CN108108473A (zh) | 数据查询方法以及服务器 | |
CN108833156A (zh) | 一种针对电力通信网的仿真性能指标的评估方法及系统 | |
WO2021083105A1 (zh) | 神经网络映射方法及装置 | |
CN104965891B (zh) | 基于分布式流计算实现跨多关系数据库排序的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |