本发明涉及卫星任务管控和数据挖掘技术领域,具体涉及科学实验卫星任务数据的多维数据立方体构建系统及方法。
背景技术:
卫星运管是一个庞大而复杂的系统性工作,需要不同层面的人员通力配合,根据任务目标、系统约束和运行情况动态规划并制定安排卫星任务日程。常规卫星任务运行团队成员和角色包括卫星运维人员、载荷运维人员、数据接收运维人员和产品生产分发运维人员等,团队中的不同角色关心各自分系统各司其职规划安排好运行任务并确保正常运行,进一步共同完成卫星任务目标。对处于不同角色和不同岗位的团队成员而言,如何高效地从庞杂的卫星运行业务数据进行有效组织并快速获取有效信息,为卫星任务运行团队不同层面角色人员提供差异化和不同粒度的决策支持是一直亟待解决的问题。
目前,国内外先进航天组织已在卫星任务运行分析积累了一定经验并取得了一些成果,主要通过不同周期内分系统各自运行记录的统计信息来进行分析,但缺乏用于自动化和面向多主题的科学实验卫星任务联机分析的多维数据模型构建方法研究。
科学实验卫星比常规业务卫星的载荷比重更大,主要围绕科学载荷进行设计和研制。科学载荷涉及更多领域领先的高精尖设备,团队技术栈要求更为宽泛和新颖,数据接收与数据产品完整性要求也更为苛刻。科学实验卫星任务的运行也是围绕科学目标开展工作,任务执行安排更为动态和灵活:参考国际相关标准根据粒度不同可分为长期运行计划、中期运行计划和短期运行计划;参考团队分工又分为科学试验调姿计划、载荷工作计划、地面站试验计划、任务运控计划、数据接收计划和测控设备工作计划等。综合来讲,科学实验卫星任务对运行环境要求和操作复杂度更高。传统的根据运行记录和数据导出分析缺少灵活性和可扩展性,随着数据量的日益增大,这种方法更为低效,也无法实现不同粒度、不同角度的分析支持。因此,目前的科学实验卫星任务业务数据组织方式缺乏面向多主题和灵活操作的数字立方体多维数据模型分析方法,亟需面向科学实验卫星任务的多维数据模型构建方法以满足不同层次和不同角色的团队工作人员快速获取不同粒度和不同视角的任务运行状况视图。
技术实现要素:
本发明的目的在于克服上述技术缺陷,提出了一种科学实验卫星任务数据的多维数据立方体构建系统,该系统基于科学实验卫星任务运行的多数据源,构建面向多种科学实验卫星任务场景的多主题定制化的数据立方体多维数据,以期从不同维度、不同角度完整地认识与分析科学实验卫星任务运行,提供给不同角色、层次人员面向不同主题的维度聚焦。
为实现上述目的,本发明提供了一种科学实验卫星任务数据的多维数据立方体构建系统,所述系统包括:数据源集获取模块、多维数据立方体构建模块和数据分析模块;
所述数据源集获取模块,用于获取科学实验卫星任务数据;
所述多维数据立方体构建模块,用于为科学实验卫星任务数据构建多维数据立方体;
所述数据分析模块:用于对构建好的多维数据立方体进行维度上的立方体变换,通过立方体维度聚集在立方体层上进行变化,呈现出科学卫星任务数据在不同层次、不同粒度、不同维度上的规律。
作为上述系统的一种改进,所述多维数据立方体构建模块包括:维度确立模块,数据预处理模块,中心表索引建立模块,数据分发和分布计算模块和数据抽取模块;
所述维度确立模块:用于建立科学实验卫星数据的多维数据立方体的数据结构;
所述多维数据立方体的数据结构为一个三元组:dc=(d,h,m);
d={d1,d2,...,dn}表示数据立方体的维,每一个维和一个维表相对应,一个维表对应一个主题;di=(di1,di2,…,dik)对应一个维表,其中1≤i≤n,n表示维表的个数;k表示di维对应的维表中的属性个数,dij表示di维对应的维表中第j个属性,1≤j≤k;
h={h1,h2,...,hn}表示多维数据立方体所对应的概念层次,其中hi是di对应的概念层次;定义hi=(hi1<hi2<…<hip),hi表示概念层次之间的全序或偏序关系,即hi1的层次低于hi2的层次;
m={m1,m2,...,mm}表示多维数据立方体对应的事实度量,它是一组数值函数,这些函数对数据立方体空间的每个点求值;
多维数据立方体的维度聚集结果ag为:
ag={f1(m),f2(m),...,fs(m)}
其中,fi(m)为数据立方体对应的事实度量m的第i个聚集函数;
所述数据预处理模块:用于对科学实验卫星任务数据进行预处理;
所述中心表索引建立模块:用于使用中心表将多个维表关联起来,并对中心表数据进行分块、编号、建立中心表索引,监理中心表数据及对应维表数据分布的节点地址的索引,并记录其数据量;
所述数据分发和分布计算模块:用于根据建立的中心表索引,根据中心表中关联的维度数据块,按索引将科学实验卫星任务数据分发给索引指定的计算节点,计算节点用于执行中心表索引计算机的维度聚集指令和分析操作指令,并将运算结果返回;
所述数据抽取模块:用于根据确定的主题维度信息,通过中心表索引找到相应中心表及其关联数据,按指定维度对相关数据进行抽取。
作为上述系统的一种改进,所述系统还包括:数据增量提取模块:用于当多维数据立方体的分析操作带来特定维度内数据变化时,在已抽取的数据基础上只进行发生增量变化的数据提取。
作为上述系统的一种改进,所述数据预处理模块包括无效数据清理单元、数据集成单元、数据归约单元和数据变换单元;
所述无效数据清理单元:用于将不符合数据格式定义的数据和重复数据剔除;
所述数据集成单元:用于合并来自多个数据源的数据,并统一不同数据源的数据格式;
所述数据归约单元:用于剔除当前主题下的冗余数据;
所述数据变换单元:用于将数据进行离散化和概念分层,从而在多个抽象层次上进行分析。
作为上述系统的一种改进,所述立方体变换包括:上卷、下卷、切片或旋转。
本发明还提供了一种科学实验卫星任务数据立方体多维数据构建方法,所述方法包括:
获取科学实验卫星任务数据;
为科学实验卫星任务数据构建多维数据立方体;
对构建好的多维数据立方体进行维度上的立方体变换,通过立方体维度聚集在立方体层上进行变化,由此呈现出科学卫星任务数据在不同层次、不同粒度、不同维度上的规律。
作为上述方法的一种改进,所述为科学实验卫星任务数据构建多维数据立方体;具体包括:
建立科学实验卫星数据的多维数据立方体的数据结构;
所述多维数据立方体的数据结构为一个三元组:dc=(d,h,m);
d={d1,d2,...,dn}表示数据立方体的维,每一个维和一个维表相对应,一个维表对应一个主题;di=(di1,di2,...,dik)对应一个维表,其中1≤i≤n,n表示维表的个数;k表示di维对应的维表中的属性个数,dij表示di维对应的维表中第j个属性,1≤j≤k;
h={h1,h2,...,hn}表示多维数据立方体所对应的概念层次,其中hi是di对应的概念层次;定义hi=(hi1<hi2<…<hip),hi表示概念层次之间的全序或偏序关系,即hi1的层次低于hi2的层次;
m={m1,m2,...,mm}表示多维数据立方体对应的事实度量,它是一组数值函数,这些函数对数据立方体空间的每个点求值;
多维数据立方体的维度聚集结果ag为:
ag={f1(m),f2(m),...,fs(m)}
其中,fi(m)为数据立方体对应的事实度量m的第i个聚集函数;
对科学实验卫星任务数据进行预处理;
使用中心表将多个维表关联起来,并对中心表数据进行分块、编号、建立中心表索引,监理中心表数据及对应维表数据分布的节点地址的索引,并记录其数据量;
根据建立的中心表索引,根据中心表中关联的维度数据块,按索引将科学实验卫星任务数据分发给索引指定的计算节点,计算节点用于执行中心表索引计算机的维度聚集指令和分析操作指令,并将运算结果返回;
根据确定的主题维度信息,通过中心表索引找到相应中心表及其关联数据,按指定维度对相关数据进行抽取。
作为上述方法的一种改进,所述方法还包括:当多维数据立方体的分析操作带来特定维度内数据变化时,在已抽取的数据基础上只进行发生增量变化的数据提取。
作为上述方法的一种改进,所述对科学实验卫星任务数据进行预处理,具体包括:
将不符合数据格式定义的数据和重复数据剔除;
合并来自多个数据源的数据,并统一不同数据源的数据格式;
剔除当前主题下的冗余数据;
将数据进行离散化和概念分层,从而在多个抽象层次上进行分析。
作为上述方法的一种改进,所述立方体变换包括:上卷、下卷、切片或旋转。
本发明的优势在于:
1、本发明的系统将科学卫星实验卫星业务特点和数据挖掘技术相结合,面向不同层次和不同角色人员提供不同视角和不同粒度的科学实验卫星运行状况视图;
2、本发明的系统能够方便地进行联机操作,以及方便地在时间维度和主题维度进行相应转换操作;
3、通过本发明的系统,科学实验卫星任务数据立方体多维数据以数字立方体可视化直观方式向不同层次和不同角色人员呈现,经过立方体的函数操作可获取更多规律信息。
附图说明
图1是本发明的科学实验卫星任务数据的多维数据立方体构建系统的组成示意图;
图2是本发明的科学实验卫星任务数据的多维数据立方体构建方法的流程图;
图3是科学实验卫星面向参与实验地面站和实验开展类型的主题在时间维度为季度的粒度下的多维数据模型数据立方体的示意图;
图4是科学实验卫星面向参与实验地面站和实验开展类型主题在时间维度为季度的粒度下得到的多维数据立方体,在此立方体基础上进行立方体函数操作得到的不同层次和不同观察角度的立方体示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细的说明,
如图1所示,本发明的实施例1提供了一种科学实验卫星任务数据的多维数据立方体构建系统,包括:
数据源配置模块:用于定位科学实验卫星数据的数据源,与数据源建立连接,并确定数据源中数据的存放形式。
维度确立模块:用于确定多维数据立方体的主题和统计的维度。
所述多维数据立方体的数据结构为一个三元组:dc=(d,h,m);
d={d1,d2,...,dn}表示数据立方体的维,每一个维和一个维表相对应,一个维表对应一个主题;di=(di1,di2,…,dik)对应一个维表,其中1≤i≤n,n表示维表的个数;k表示di维对应的维表中的属性个数,dij表示di维对应的维表中第j个属性,1≤j≤k;
h={h1,h2,...,hn}表示多维数据立方体所对应的概念层次,其中hi是di对应的概念层次;定义hi=(hi1<hi2<…<hip),hi表示概念层次之间的全序或偏序关系,即hi1的层次低于hi2的层次;
m={m1,m2,...,mm}表示多维数据立方体对应的事实度量,它是一组数值函数,这些函数对数据立方体空间的每个点求值;
多维数据立方体的维度聚集结果ag为:
ag={f1(m),f2(m),...,fs(m)}
其中,fi(m)为数据立方体对应的事实度量m的第i个聚集函数。
确定数据立方体的主题、维度以及度量,如要统计科学实验卫星的试验执行情况,根据该业务场景,需要从试验时间、地面站和试验类型三个方面对数据统计分析,则该数据立方体的维度确定为time(时间)、station(地面站)和type(试验类型),每个维度包含不同的数据,如station包括德令哈站、阿里站和天山站等。为了反映试验执行情况,选择试验次数作为度量。
数据预处理模块:用于对数据进行预处理,包括无效数据清理单元、数据集成单元、数据归约单元和数据变换单元。
无效数据清理单元:将不符合数据格式定义的数据和重复数据剔除,主要解决数据的不完整、不一致和不规范问题,将不符合数据格式定义的数据和重复数据剔除。
数据集成单元:用于合并来自多个数据存储的数据,并统一不同数据源的数据格式。数据集成主要用于合并来自多个数据存储的数据,并统一不同数据源的数据格式。不同数据源可能对表示同一实体的数据属性有不同的标识和类型定义,数据集成的主要任务就是完成属性的统一,消除因属性冲突所导致的数据不一致。
数据归约单元:剔除当前主题下的冗余数据,降低数据复杂度。数据规约的目的是降低数据集的规模且不影响最终分析结果。实验卫星运行数据中往往有许多属性对于特定主题下的决策来说是冗余的,采用维规约策略,从数据中选取数据分析要用到的若干个属性。通过去掉与试验执行情况不相关的属性,以降低数据的复杂度,提高数据分析的效率。
数据变换单元:将数据变换成适于分析的形式,并把数据离散化和概念分层。数据变换主要是将数据变换成适于分析的形式,主要的策略有离散化和概念分层等。例如,关注的最小时间单位是天,同时为了基于不同的时间粒度进行多层次分析,将时间属性进行离散化和概念分层,把原来连续的时间转换为天、月、季度和年,即为时间维设定了对应的概念分层day<month<quarter<year。
中心表索引建立模块:维度确立模块根据科学实验卫星任务主题确定好所需的维表集合后,使用中心表将多主题的维表关联起来,并对中心表数据分块、编号、建立中心表索引,由其索引到中心表数据及对应维表数据分布的节点地址,并记录其数据量。
数据分发和分布计算模块:根据建立的中心表索引,按索引将数据分发给索引指定的节点,并统筹各个节点负载以进行均衡分布计算。根据中心表中关联的维度数据块,把分发到不同的计算节点上的数据进行分布式处理,以减少因中心表数据量过大时造成的数据寻址与数据获取运行效率降低问题。计算节点用于执行中心表索引计算机的维度聚集指令和分析操作指令,并将运算结果返回。
数据抽取模块:根据科学实验卫星立方体构建或分析操作确定的主题维度信息,通过中心表索引找到相应中心表及其关联数据,按指定维度对相关进行提取,供分析模块对抽取到的数据进行聚集函数处理。
数据增量提取模块:当科学卫星任务多维数据立方体的分析操作带来特定维度内数据变化时,为避免数据重复抽取,在已获取的数据基础上只进行发生增量变化的数据提取。
数据分析模块:对构建好的多维数据立方体进行维度上的上卷、下卷、切片或旋转数据立方体变换,通过数据立方体维度聚集ag在立方体层h上进行上卷、下卷、切片和旋转运算,表现出科学卫星任务不同层次、不同粒度、不同维度的规律。
联机分析包括上卷、下钻、切片、切块和转轴等操作,为用户提供不同层次、粒度和角度的数据展示。上卷通过沿概念层次攀升,得到更具有概括性的度量;下钻是上卷的逆操作,沿维的概念分层下降,为数据添加更多细节;切片和切块提供了数据的局部分析和展示;转轴改变了数据观察的角度。在执行这些操作时,如果需要获取数据,则将请求发送给中心节点。中心节点为各个子节点分配数据处理任务,子节点完成任务后,将处理结果返回给中心节点,中心节点汇总之后将结果返回给数据分析部件,由数据分析部件完成统计数据的输出和显示。
如图2所示,一种科学实验卫星任务数据的立方体多维数据构建分发,包括:
步骤1)获取科学实验卫星数据的数据源,确定数据立方体的主题、维度以及度量;
步骤2)将不符合数据格式定义的数据和重复数据剔除,解决数据的不完整、不一致和不规范问题;
步骤3)合并来自多个数据存储的数据,并统一不同数据源的数据格式;
不同数据源可能对表示同一实体的数据属性有不同的标识和类型定义,数据集成的主要任务就是完成属性的统一,消除因属性冲突所导致的数据不一致。
步骤4)采用维规约策略,从数据中选取数据分析要用到的若干个属性;
通过去掉与试验执行情况不相关的属性,以降低数据的复杂度,提高数据分析的效率。
步骤5)将数据变换成适于分析的形式,主要的策略有离散化和概念分层等;
例如,关注的最小时间单位是天,同时为了基于不同的时间粒度进行多层次分析,将时间属性进行离散化和概念分层,把原来连续的时间转换为天、月、季度和年,即为时间维设定了对应的概念分层day<month<quarter<year。
步骤6)将中心数据表中的数据分块,并把这些块分发到不同的计算节点上;
通过这样的分布式处理,以减少中心表因为数据过多而造成的运行效率问题。
步骤7)判断系统是否要进行联机分析处理,如果需要联机分析,则进行联机分析操作,否则结束。
步骤8)联机分析包括上卷、下钻、切片、切块和转轴等操作,为用户提供不同层次、粒度和角度的数据展示。上卷通过沿概念层次攀升,得到更具有概括性的度量;下钻是上卷的逆操作,沿维的概念分层下降,为数据添加更多细节;切片和切块提供了数据的局部分析和展示;转轴改变了数据观察的角度。在执行这些操作时,如果需要获取数据,则将请求发送给中心节点。中心节点为各个子节点分配数据处理任务,子节点完成任务后,将处理结果返回给中心节点,中心节点汇总之后将结果返回给数据分析部件,由数据分析部件完成统计数据的输出和显示。
图3所示为某科学实验卫星实验完成情况的数据立方体,三个维分别为实验时间、地面站和实验类型,三个维度的交点定义了用户感兴趣的数据度量——实验次数。
图4所示为在图3的基础上进行的上卷、下钻、切片与切块以及转轴操作。上卷操作沿时间维概念分层从quarter攀升到year,也就是结果立方体按year而不再是quarter对数据分组,上卷结果显示了2017年每个地面站参与实验的情况;下钻操作从季度信息展开到月度信息,下钻的结果是将时间维度从季度展开为月度进行汇总;示例中切片操作使用条件type="星地量子密钥分发",按type维进行切片限定,观察数据在其他维的分布情况;切块操作将三个维都固定,对数据进行局部观察;转轴操作转换了观察的角度,转换了time维和station维在空间中的位置。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。