CN108536736B - 一种小卫星综合测试系统实时数据库搭建方法及系统 - Google Patents

一种小卫星综合测试系统实时数据库搭建方法及系统 Download PDF

Info

Publication number
CN108536736B
CN108536736B CN201810182554.6A CN201810182554A CN108536736B CN 108536736 B CN108536736 B CN 108536736B CN 201810182554 A CN201810182554 A CN 201810182554A CN 108536736 B CN108536736 B CN 108536736B
Authority
CN
China
Prior art keywords
parameter
real
data
database
time
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
Application number
CN201810182554.6A
Other languages
English (en)
Other versions
CN108536736A (zh
Inventor
李寅
杨海龙
王翠莲
韩冬
姚慧
赵川
陆文高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Dongfanghong Satellite Co Ltd
Original Assignee
Aerospace Dongfanghong Satellite Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aerospace Dongfanghong Satellite Co Ltd filed Critical Aerospace Dongfanghong Satellite Co Ltd
Priority to CN201810182554.6A priority Critical patent/CN108536736B/zh
Publication of CN108536736A publication Critical patent/CN108536736A/zh
Application granted granted Critical
Publication of CN108536736B publication Critical patent/CN108536736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明一种小卫星综合测试系统实时数据库搭建方法及系统,使用ADO.NET数据访问技术创建数据库连接类对象、数据库命令类对象,采用标准sql语句在SQL Server关系数据库中创建实时数据库、参数包基础表、参数基础表及参数包数据表;创建遥测数据缓存队列,将接收到的实时遥测数据存至该队列中;设置并启动定时器依次取出该队列中遥测数据,采用JS对象标记格式化实时遥测数据,将参数包ID、参数包源码、参数ID、参数源码及参数工程值转化为string类型字符串,并将该string类型字符串存至数据表中;创建数据库批量更新类对象,并为该对象目标数据表名属性及批量大小属性赋值,调用WriteToServer语句将DataTable批量录入参数包数据表,实现遥测数据实时存储,完成了实时数据库搭建。

Description

一种小卫星综合测试系统实时数据库搭建方法及系统
技术领域
本发明涉及一种小卫星综合测试系统实时数据库搭建方法及系统,属于卫 星测试领域。
背景技术
实时数据库是数据库系统发展的一个分支,是实时系统技术和数据库技术 相结合的产物。实时数据库主要用于存储小卫星综合测试过程中产生的实时测 试数据,包括遥测参数工程值和源码、帧/包源码、遥控指令、地面测试数据和 指令。
实时数据库要求具备高实时性、高数据吞吐量、通用系统平台、接口规范 等特性。为满足上述要求,现有的实时数据库通常设计为管控一体化的数据集 成平台,屏蔽或未采用成熟关系数据库接口特性;同时现有实时数据库通常采 用较为复杂的压缩技术,数据存取及数据移植较为复杂。因此,需要一种基于 关系数据库搭建小卫星综合测试系统实时数据库的方法及系统。
发明内容
本发明的技术解决问题:基于SQL Server关系数据库设计实时数据库具 备成熟关系数据库接口特性及良好的开放性;采用JSON格式化实现数据轻量 级压缩,简化数据存取难度;采用SQL Server数据表存储实时遥测数据,简 化数据移植难度。
本发明的技术解决方案是:一种小卫星综合测试系统实时数据库搭建方法, 步骤如下:
(1)在SQL Server关系数据库中创建实时数据库、参数包基础表、参数 基础表及参数包数据表;
(2)创建遥测数据缓存队列,将接收到的实时遥测数据存至该遥测数据缓 存队列中;
(3)设置一个定时器,启动定时器,依次取出步骤(2)遥测数据缓存队 列中的所有遥测数据,采用JS对象标记(JavaScript Object Notation,JSON) 格式化取出实时遥测数据,即将参数包ID、参数包源码、参数ID、参数源码及 参数工程值转化为string类型字符串,并将该string类型字符串存至数据表 (DataTable)中;
(4)创建数据库批量更新(SqlBulkCopy)类对象,为该对象目标数据表 名(DestinationTableName)属性及批量大小(BatchSize)属性赋值,调用 WriteToServer语句将步骤(3)中的DataTable批量录入步骤(1)创建的参 数包数据表,从而实现了遥测数据实时存储,即完成了小卫星综合测试系统实 时数据库搭建。
步骤(1)采用ADO.NET数据访问技术在SQL Server关系数据库中创建 数据库、参数包基础表、参数基础表及参数包数据表,步骤如下:
(1.1)创建数据库连接SqlConnection类对象,为该对象连接字符串ConnectString属性赋值,调用Open方法完成与SQL Server关系数据库连接;
(1.2)SqlCommand类对象,采用标准sql语句为该对象命令内容 (CommandText)属性赋值,在步骤(1.1)连接的SQL Server关系数据库中 创建实时数据库;
(1.3)为步骤(1.2)创建的SqlCommand类对象的CommandText属性 赋值,依次在步骤(1.2)创建的实时数据库中创建参数包基础表、参数基础表 及参数包数据表。
遥测数据缓存队列满足先入先出的原则,遥测数据缓存队列的存储方法为 入队操作和出队操作,并支持遍历、清空这些常用队列方法。
实时遥测数据包括:参数包ID、参数包源码、参数ID、参数源码及参数工 程值。
SqlBulkCopy类对象能够将任意源的数据有效批量加载到SQL Server表。
DataTable包括:列集合Columns、行集合Rows、主键PrimaryKey、表 名称TableName。
一种小卫星综合测试系统实时数据库搭建系统,包括:第一创建模块、第 二创建模块、数据取出模块和录入模块;
第一创建模块,在SQL Server关系数据库中创建实时数据库、参数包基 础表、参数基础表及参数包数据表;
第二创建模块,创建遥测数据缓存队列,将接收到的实时遥测数据存至该 遥测数据缓存队列中;
数据取出模块,设置一个定时器,启动定时器,依次取出遥测数据缓存队 列中的所有遥测数据,采用JS对象标记格式化取出实时遥测数据,即将参数 包ID、参数包源码、参数ID、参数源码及参数工程值转化为string类型字符串, 并将该string类型字符串存至数据表DataTable中;
录入模块,创建SqlBulkCopy类对象,根据数据表DataTable,为该 SqlBulkCopy类对象的DestinationTableName属性及批量大小BatchSize属 性赋值,调用WriteToServer语句将DataTable批量录入第一创建模块创建的 参数包数据表,从而实现了遥测数据实时存储,即完成了小卫星综合测试系统 实时数据库搭建。
第一创建模块在SQL Server关系数据库中创建实时数据库、参数包基础 表、参数基础表及参数包数据表,具体如下:
采用ADO.NET数据访问技术创建数据库连接SqlConnection类对象,为该 对象的连接字符串ConnectString属性赋值,调用Open方法完成与SQL Server 关系数据库连接;创建数据库命令SqlCommand类对象,采用标准sql语句为 该对象命令内容CommandText属性赋值,在连接的SQL Server关系数据库 中创建实时数据库;为创建的SqlCommand类对象CommandText属性赋值, 依次在创建的实时数据库中创建参数包基础表、参数基础表及参数包数据表。
遥测数据缓存队列满足先入先出的原则,方法为入队操作和出队操作,并 支持遍历、清空这些常用队列方法。
实时遥测数据包括:参数包ID、参数包源码、参数ID、参数源码及参数工 程值。
本发明与现有技术相比具有以下优点:
(1)本发明提出的基于SQL Server关系数据库搭建小卫星综合测试系统 实时数据库的方法,实时数据库具备成熟关系数据库接口特性,实时遥测数据 可以直接利用SQLServer客户端软件获取;同时实时数据库具备良好的开放 性,支持微软数据对象ADO应用程序接口,数据查询、获取及处理支持标准 sql语句。
(2)采用本发明的实时数据库搭建方法,引进JSON格式化实时遥测数 据实现数据轻量级压缩,节约存储空间的同时,简化了参数包数据表设计难度; 实时遥测数据采用SQLServer关系数据库存储,为小卫星综合测试后期数据 移植提供了极大的便利。
(3)本发明通过软件编程实现,可以单独运行或者与其它软件联合工作, 能够适用于Windows等主流系统平台,能够实现小卫星综合测试系统实时数据 库快速搭建,大大提高了工作效率。
(4)本发明采用ADO.NET数据访问技术,创建数据集(DataSet)类对 象,该对象支持数据以关联的方式,在断开连接的情况下在本地缓存数据,根 据需要更新数据源,降低了数据库保持连接的带宽损耗。
(5)本发明创建SqlBulkCopy类对象完成实时遥测数据批量录入数据库, 相比SqlCommand类ExecuteNonQuery方法、数据适配器(SqlDataAdapter) 类Update方法写入速度明显提升,避免写入速度慢造成程序运行缓慢等问题。
附图说明
图1为被发明的实时数据库工作流程示意图;
图2为三种方法运行效率结果图;
图3为本发明运行效率结果图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本发明涉及一种小卫星综合测试系统实时数据库搭建方法,使用ADO.NET 数据访问技术创建数据库连接(SqlConnection)类对象、数据库命令 (SqlCommand)类对象,采用标准sql语句在SQL Server关系数据库中创建 实时数据库、参数包基础表、参数基础表及参数包数据表;创建遥测数据缓存 队列,将接收到的实时遥测数据存至该队列中;设置并启动定时器依次取出该 队列中遥测数据,采用JS对象标记(JavaScript ObjectNotation,JSON)格 式化实时遥测数据,将参数包ID、参数包源码、参数ID、参数源码及参数工程 值转化为string类型字符串,并将该string类型字符串存至数据表(DataTable) 中;创建数据库批量更新(SqlBulkCopy)类对象,并为该对象目标数据表名(DestinationTableName)属性及批量大小(BatchSize)属性赋值,调用 WriteToServer语句将DataTable批量录入参数包数据表,从而实现了遥测数据 实时存储,即完成了小卫星综合测试系统实时数据库搭建。
本发明设计实现的实时数据库采用C/S架构,服务端为SQL Server关系 数据库,客户端为实时遥测数据接收处理软件。服务端需安装SQL Server2005 及以上版本,CPU1.6GHz以上型号,内存1G以上,硬盘500G以上。客户 端宿主机选用32位或64位Windows操作系统,实时遥测数据接收处理软件 通过软件编程实现,采用C#编程语言开发,开发环境为Visual Studio 2010。 本发明设计实现的实时数据库可以单独运行或者与其它软件联合工作,能够适 用于Windows等主流系统平台,具备快速搭建的特性,降低了小卫星综合测试 系统搭建的时间损耗。
如图1所示为实时数据库工作流程示意图。
步骤(1)在SQL Server关系数据库中创建数据库、参数包基础表、参数 基础表及参数包数据表,均具备成熟关系数据库接口特性,数据查询、获取及 处理支持标准sql语句。具体实施方式如下:
(1.1)创建SqlConnection类对象,该类对象属性包括ConnectionString、 数据库名称(Database)、SQL Server实例名称(DataSource)、连接状态(State) 等;方法包括Open(打开数据库连接)、Close(关闭数据库连接)、 BeginTransaction(开始数据库事务)等。为该对象ConnectString属性赋值, 赋值内容包括:SQL Server实例名称、用户名、密码等,调用Open方法完成 与SQL Server关系数据库连接。
(1.2)创建SqlCommand类对象,该类对象属性包括CommandText、 指令类型(CommandType)、连接(Connection)等;方法包括Cancel(取 消指令执行)、ExecuteNonQuery(执行sql语句)等。采用标准sql语句为 该对象CommandText属性赋值,sql语句为“select filename from master..sysfiles”,查询步骤(1.1)连接的数据库安装路径,在该路径下创建 实时数据库,创建的实时数据库包括数据文件、日志文件,文件初始大小均为 10MB,自动增长增量为10%。
(1.3)为步骤(1.2)创建的SqlCommand类对象CommandText属性赋 值,赋值内容包括:创建数据表名称、数据表字段定义、数据表键定义等,在 步骤(1.2)创建的实时数据库中创建参数包基础表。参数包基础表名称 Pkg_Main,数据表字段包括:数据表记录ID,int型,主键,非空;参数包ID, varchar型,长度8,非空;参数包代号PkgCode,varchar型,长度8;参数 包名称PkgDesc,nvarchar型,长度1000;参数有效标识Valid,int型。参数 包基础表具备查询接口,支持参数包新增、删除、更新等操作。
(1.4)在步骤(1.2)创建的实时数据库中创建参数基础表,名称 Para_Main,数据表字段包括数据表记录ID,int型,主键,非空;对应参数包 ID,int型,即步骤(1.3)创建的参数包基础表主键;参数代号ParaCode,varchar 型,长度8;参数描述ParaDesc,nvarchar型,长度1000;参数类型ParaType, int型;上限值UpValue,float型;下限值DownValue,float型;参数处理方 法ProcFunction,nvarchar型,长度1000,参数字节长度ParaLen,int型; 参数偏移量ParaPos,int型;参数掩码ParaMask,bigint型;参数有效标识 Valid,int型。参数基础表具备查询接口,支持参数新增、删除、更新等操作。
(1.5)创建SqlDataAdapter类对象,该类对象属性包括删除指令(DeleteCommand)、插入指令(InsertCommand)、查询指令 (SelectCommand)、更新指令(UpdateCommand)等;方法包括Fill(向数 据库提交SQL,并将查询结果存入DataSet类对象)、Update(向数据库更新 数据)等。创建DataSet类对象,该类对象属性包括数据集名称(DataSetName)、表集合(Tables)等;方法包括Clear(清空)、Copy(复 制)、Clone(拷贝)等;为步骤(1.2)创建的SqlCommand类对象CommandText 属性赋值,sql语句为“select*fromPkg_Main where Valid=1”,查询步骤(1.3) 创建的参数包基础表,调用SqlDataAdapter类对象Fill方法将查询结果在本地 DataSet类对象中缓存。查询完成后断开与数据库连接,根据需要更新数据源, 降低了数据库保持连接的带宽损耗。
(1.6)使用foreach语句遍历步骤(1.5)参数包查询结果,在步骤(1.2) 创建的实时数据库中为每一个参数包创建参数包数据表,名称PkgValue_X, 其中X即每一个参数包PkgDesc,例如参数包PkgDesc为XS,对应参数包数 据表名称PkgValue_XS。数据表字段包括数据生成时间STime,datetime类型; 本地时间LTime,datetime类型;参数内容Content,nvarchar类型,长度4000。 参数包数据表具备查询接口,支持星上时间、本地时间两种时间戳查询操作。 同时,参数包数据表为SQL Server关系数据库数据表,即实时遥测数据采用SQL Server关系数据库存储,为后期数据移植提供了极大的便利。
步骤(2)具体实施方式如下:
(2.1)遥测数据缓存队列必须满足先入先出的原则,最主要的方法为入队 操作和出队操作,并支持遍历、清空等常用队列方法。本发明采用C#编程语言 中队列(Queue)创建遥测数据缓存队列,Queue类对象属性包括大小(Count) 等;方法Clear(清空队列)、Contains(判断队列是否存在某对象)、Dequeue (出队)、Enqueue(入队)等。
(2.2)本发明设计实现的实时数据库可接收多个数据源,如卫星实时遥测 数据、网络遥测数据源、遥测数据文件等,选用卫星实时遥测数据作为测试数 据源对本发明进行测试。接收到的实时遥测数据包括:参数包ID,int类型,4 字节,唯一不重复,用于区分遥测数据包;参数包源码,string类型,用于存 储遥测数据包内容;参数ID,int类型,4字节,用于区分遥测参数;参数源码, uint类型,4字节,用于存储遥测参数解析前数值;参数工程值,string类型, 用于存储遥测参数解析后数值。
(2.3)调用步骤(2.1)创建的Queue类对象Enqueue方法对步骤(2.2) 接收的实时遥测数据执行入队操作,即将接收到的实时遥测数据存至遥测数据 缓存队列。
步骤(3)具体实施如下:
(3.1)设置一个定时器,定时器时长可根据遥测传输速率进行配置。本发 明采用C#编程语言中Timer类对象实现定时器,该类对象属性包括:自动重置 (AutoReset)、使能(Enabled)、时长(Interval)、响应事件(Elapsed)等; 方法包括:Start(启动定时器)、Stop(停止定时器)等。为该Timer类对象 Interval赋值5000ms,Elapsed响应事件赋值Timer_Elapsed函数。
(3.2)启动定时器,循环调用步骤(2.1)创建的Queue类对象Dequeue 方法执行出队操作,即依次取出步骤(2.1)遥测数据缓存队列中的所有遥测数 据。
(3.3)创建JSON类对象,该类对象方法包括:parse(解析JSON字符 串,即string类型字符串转为对应数据结构类型)、stringify(JSON格式化, 即数据结构类型转为string类型字符串);调用该对象stringify方法格式化步骤 (3.2)取出的实时遥测数据,即将参数包ID、参数包源码、参数ID、参数源 码及参数工程值转化为string类型字符串,实现实时遥测数据轻量级压缩,同 时简化参数包数据表设计难度。
(3.4)创建数据行(DataRow)类对象,该类对象属性包括指定列数据 (Item)、行数据(ItemArray)等。为该类对象ItemArray属性赋值,赋值内 容为数据生成时间、本地时间、步骤(3.3)JSON格式化字符串。
(3.5)创建DataTable类对象,该类对象属性包括:列集合(Columns)、 主键(PrimaryKey)、行集合(Rows)、表名称(TableName)等;方法包括: Clear(清空)、Copy(复制)、Clone(拷贝)等。为TableName属性赋值, 赋值内容为参数包数据表名称,例如步骤(3.2)格式化实时遥测数据对应 PkgDesc为XS,对应赋值内容为PkgValue_XS;通过Rows属性调用Add方 法将(3.4)创建的DataRow类对象添加到行集合,即将实时遥测数据转化成一条记录存在DataTable中。
步骤(4)具体实施如下:
(4.1)创建SqlBulkCopy类对象,其特征在于可以将任意源的数据有效 批量加载SQL Server表。该类对象属性包括DestinationTableName、 BatchSize等;方法包括Close(关闭SqlBulkCopy类对象)、WriteToServer (批量写入数据库)等。
(4.2)为步骤(4.1)创建SqlBulkCopy类对象DestinationTableName 属性赋值,赋值内容为步骤(3.5)创建DataTable对象TableName属性值; 为BatchSize属性赋值,赋值内容赋值内容为步骤(3.5)创建DataTable对象 Rows属性行数。
(4.3)调用步骤(4.1)创建SqlBulkCopy类对象WriteToServer方法将 步骤(3.5)中的DataTable批量录入步骤(1.6)创建的参数包数据表,从而 实现了遥测数据实时存储,即完成了小卫星综合测试系统实时数据库搭建。
本发明的一种小卫星综合测试系统实时数据库搭建系统,包括:第一创建 模块、第二创建模块、数据取出模块和录入模块;
第一创建模块,在SQL Server关系数据库中创建实时数据库、参数包基 础表、参数基础表及参数包数据表;
第二创建模块,创建遥测数据缓存队列,将接收到的实时遥测数据存至该 遥测数据缓存队列中;
数据取出模块,设置一个定时器,启动定时器,依次取出遥测数据缓存队 列中的所有遥测数据,采用JS对象标记格式化取出实时遥测数据,即将参数 包ID、参数包源码、参数ID、参数源码及参数工程值转化为string类型字符串, 并将该string类型字符串存至数据表DataTable中;
录入模块,创建SqlBulkCopy类对象,根据数据表DataTable,为该 SqlBulkCopy类对象的DestinationTableName属性及批量大小BatchSize属 性赋值,调用WriteToServer语句将DataTable批量录入第一创建模块创建的 参数包数据表,从而实现了遥测数据实时存储,即完成了小卫星综合测试系统 实时数据库搭建。
第一创建模块在SQL Server关系数据库中创建实时数据库、参数包基础 表、参数基础表及参数包数据表,具体如下:
采用ADO.NET数据访问技术创建数据库连接SqlConnection类对象,为 该对象的连接字符串ConnectString属性赋值,调用Open方法完成与SQL Server关系数据库连接;创建数据库命令SqlCommand类对象,采用标准sql 语句为该对象命令内容CommandText属性赋值,在连接的SQL Server关系 数据库中创建实时数据库;为创建的SqlCommand类对象CommandText属性 赋值,依次在创建的实时数据库中创建参数包基础表、参数基础表及参数包数 据表。
本发明对实时遥测参数写入速度进行如下测试:
(1)大量数据批量录入数据库常见有以下几种方式:SqlCommand类ExecuteNonQuery方法、SqlDataAdapter类Update方法及本发明采用 SqlBulkCopy类WriteToServer方法。在同一台客户端宿主机进行测试,以录 入1万条数据来检测运行效率。
如图2所示为三种方法运行效率结果图。相比SqlCommand类 ExecuteNonQuery方法、SqlDataAdapter类Update方法写入速度明显提升, 避免写入速度慢造成程序运行缓慢等问题。
(2)采用遥测数据文件数据源对本发明进行测试,遥测数据文件1倍速 播放1秒钟可下传20个遥测数据包,采用3倍速播放1小时下传216000个 遥测数据包,以循环录入216000条记录检测本发明运行效率。
如图3所示为本发明运行效率结果图。循环录入216000条记录平均时间 为50000ms左右,远低于实际遥测数据产生时间1小时,并且长时间运行中 录入记录时间无明显增加。通过该试验验证本发明设计实现的实时数据库具备 高实时性、高数据吞吐量特性,能够满足小卫星地面综合测试过程产生大量数 据实时存储的要求。

Claims (2)

1.一种小卫星综合测试系统实时数据库搭建方法,其特征在于步骤如下:
(1)在SQL Server关系数据库中创建实时数据库、参数包基础表、参数基础表及参数包数据表;具体如下:
步骤(1)在SQL Server关系数据库中创建实时数据库、参数包基础表、参数基础表及参数包数据表,步骤如下:
(1.1)采用ADO.NET数据访问技术创建数据库连接SqlConnection类对象,为该对象的连接字符串ConnectString属性赋值,调用Open方法完成与SQL Server关系数据库连接;
(1.2)创建数据库命令SqlCommand类对象,采用标准sql语句为该对象命令内容CommandText属性赋值,在步骤(1.1)连接的数据库中创建实时数据库;
(1.3)为步骤(1.2)创建的SqlCommand类对象CommandText属性赋值,依次在步骤(1.2)创建的实时数据库中创建参数包基础表、参数基础表及参数包数据表;
(2)创建遥测数据缓存队列,将接收到的实时遥测数据存至该遥测数据缓存队列中;遥测数据缓存队列满足先入先出的原则,方法为入队操作和出队操作,并支持遍历、清空这些常用队列方法;实时遥测数据包括:参数包ID、参数包源码、参数ID、参数源码及参数工程值;
(3)设置一个定时器,启动定时器,依次取出步骤(2)遥测数据缓存队列中的所有遥测数据,采用JS对象标记格式化取出实时遥测数据,即将参数包ID、参数包源码、参数ID、参数源码及参数工程值转化为string类型字符串,并将该string类型字符串存至数据表DataTable中;DataTable包括:列集合Columns、行集合Rows、主键PrimaryKey、表名称TableName;
(4)创建SqlBulkCopy类对象,根据步骤(3)的数据表DataTable,为该SqlBulkCopy类对象的DestinationTableName属性及批量大小BatchSize属性赋值,调用WriteToServer语句将步骤(3)中的DataTable批量录入步骤(1)创建的参数包数据表,从而实现了遥测数据实时存储,即完成了小卫星综合测试系统实时数据库搭建;SqlBulkCopy类能够将任意源的数据有效批量加载SQL Server表。
2.一种小卫星综合测试系统实时数据库搭建系统,其特征在于包括:第一创建模块、第二创建模块、数据取出模块和录入模块;
第一创建模块,在SQL Server关系数据库中创建实时数据库、参数包基础表、参数基础表及参数包数据表;具体如下:
采用ADO.NET数据访问技术创建数据库连接SqlConnection类对象,为该对象的连接字符串ConnectString属性赋值,调用Open方法完成与SQL Server关系数据库连接;创建数据库命令SqlCommand类对象,采用标准sql语句为该对象命令内容CommandText属性赋值,在连接的SQL Server关系数据库中创建实时数据库;为创建的SqlCommand类对象CommandText属性赋值,依次在创建的实时数据库中创建参数包基础表、参数基础表及参数包数据表;
第二创建模块,创建遥测数据缓存队列,将接收到的实时遥测数据存至该遥测数据缓存队列中;遥测数据缓存队列满足先入先出的原则,方法为入队操作和出队操作,并支持遍历、清空这些常用队列方法;实时遥测数据包括:参数包ID、参数包源码、参数ID、参数源码及参数工程值;
数据取出模块,设置一个定时器,启动定时器,依次取出遥测数据缓存队列中的所有遥测数据,采用JS对象标记格式化取出实时遥测数据,即将参数包ID、参数包源码、参数ID、参数源码及参数工程值转化为string类型字符串,并将该string类型字符串存至数据表DataTable中;
录入模块,创建SqlBulkCopy类对象,根据数据表DataTable,为该SqlBulkCopy类对象的DestinationTableName属性及批量大小BatchSize属性赋值,调用WriteToServer语句将DataTable批量录入第一创建模块创建的参数包数据表,从而实现了遥测数据实时存储,即完成了小卫星综合测试系统实时数据库搭建;SqlBulkCopy类能够将任意源的数据有效批量加载SQL Server表;DataTable包括:列集合Columns、行集合Rows、主键PrimaryKey、表名称TableName。
CN201810182554.6A 2018-03-06 2018-03-06 一种小卫星综合测试系统实时数据库搭建方法及系统 Active CN108536736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810182554.6A CN108536736B (zh) 2018-03-06 2018-03-06 一种小卫星综合测试系统实时数据库搭建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810182554.6A CN108536736B (zh) 2018-03-06 2018-03-06 一种小卫星综合测试系统实时数据库搭建方法及系统

Publications (2)

Publication Number Publication Date
CN108536736A CN108536736A (zh) 2018-09-14
CN108536736B true CN108536736B (zh) 2021-06-11

Family

ID=63486610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810182554.6A Active CN108536736B (zh) 2018-03-06 2018-03-06 一种小卫星综合测试系统实时数据库搭建方法及系统

Country Status (1)

Country Link
CN (1) CN108536736B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083621B (zh) * 2019-04-29 2021-07-16 国网江苏省电力有限公司南京供电分公司 分接开关数据处理方法
CN110187268A (zh) * 2019-06-14 2019-08-30 国网江苏省电力有限公司 变压器有载分接开关数据管理的方法、系统和终端设备
CN111078694A (zh) * 2019-11-29 2020-04-28 航天恒星科技有限公司 一种数据存储方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659899B (zh) * 2008-11-21 2012-08-08 北京空间飞行器总体设计部 一种航天器综合测试数据库实时入库方法
CN104504105A (zh) * 2014-12-30 2015-04-08 青岛海信网络科技股份有限公司 一种实时数据库的存储方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659899B (zh) * 2008-11-21 2012-08-08 北京空间飞行器总体设计部 一种航天器综合测试数据库实时入库方法
CN104504105A (zh) * 2014-12-30 2015-04-08 青岛海信网络科技股份有限公司 一种实时数据库的存储方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"SQL Server批量插入数据的两种方法";手心里的雪;《https://zhuanlan.zhihu.com/p/32448950》;20171229;1-13 *
"SqlBulkCopy(批量复制)使用方法&&SqlDataAdapter Update";马羊;《https://www.cnblogs.com/imhaiyang/p/4589277.html》;20150619;1-11 *
"使用SqIBuIkCopy进行数据大批量的迁移";悟静;《http://www.360doc.com/content/11/0214/10/19147_92878051.shtml》;20110214;1-4 *

Also Published As

Publication number Publication date
CN108536736A (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
US7096231B2 (en) Export engine which builds relational database directly from object model
US7761411B2 (en) Delta operations on a large object in a database
CN108536736B (zh) 一种小卫星综合测试系统实时数据库搭建方法及系统
US8930918B2 (en) System and method for SQL performance assurance services
US7805341B2 (en) Extraction, transformation and loading designer module of a computerized financial system
US8392382B2 (en) On-line transaction processing (OLTP) compression and re-compression of database data
US8458218B2 (en) Incremental data transfer in a database management system
US7213235B2 (en) Method for using a business model user interface
US8407183B2 (en) Business intelligence data extraction on demand
CN109471851B (zh) 数据处理方法、装置、服务器和存储介质
US20080098037A1 (en) Markup language based database upgrades
US20090055429A1 (en) Method and system for data collection
WO2022021710A1 (zh) 数据转储方法、装置、设备及存储介质
CN112416991A (zh) 一种数据处理方法、装置以及存储介质
CN111913933B (zh) 基于统一支撑平台的电网历史数据管理方法及系统
US20050154756A1 (en) Method of generating database transaction statements based on existing queries
US20090248620A1 (en) Interacting methods of data extraction
US20090248691A1 (en) Interacting methods of data summarization
KR20100132752A (ko) 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템
CN105630997A (zh) 一种数据并行处理方法、装置及设备
CN114153438A (zh) 一种api自动生成系统
CN114925042A (zh) 一种基于图形数据库的元数据关系的构建方法
CN114116764A (zh) 一种基于语法树的指标查询方法、装置、介质及电子设备
US20030182273A1 (en) Method and apparatus for generating a query object
US11204916B2 (en) Method and system for implementing table level utility stored procedures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant