数据整合处理方法及装置技术领域
本发明涉及通信领域,具体而言,涉及一种数据整合处理方法及装置。
背景技术
随着分组传送网(Packet Transport Network,简称为PTN)网络应用规模越来越大,
组网的资产和性能也越来越多;需求亦在不停的变更,需要增加或者删除文件、字段等。
原有的性能处理方法,主要使用内存数据库的结构类查询语言(Structured Query
Language,简称为SQL)语句进行处理,占用内存高,SQL语句编写复杂困难,以及
维护比较麻烦,处理一个时间点耗时较长,无法满足日益增长的大数量性能处理需求。
针对相关技术中,组网的资产数据和性能数据处理过程复杂,耗时时间长的问题,
目前还没有有效的解决技术方案。
发明内容
本发明提供了一种数据整合处理方法及装置,以至少解决相关技术中组网的资产数
据和性能数据处理过程复杂,耗时时间长的问题。
根据本发明的一个方面,提供了一种数据整合处理方法,包括:
根据配置资产数据的内存字段信息和性能数据的内存字段信息,将资产文件、性能
文件读取到内存中生成对应的资产表、性能表;
设置所述资产数据和所述性能数据的关键字段值,根据所述关键字段值对所述资产
表和所述性能表进行排序;
将已排序的所述资产表为主对象进行循环,根据所述资产数据的所述关键字段值查
询所述性能表得到所述资产数据的性能数据数组;
根据配置的性能字段的计算公式整合所述资产数据的性能数组内的性能数据,获取
所述资产数据的整合后的性能字段值赋值所述资产性能表。
进一步地,设置所述资产数据和所述性能数据的关键字段值,根据所述关键字段值
对所述资产表和所述性能表进行排序之后,还包括:
设置所述资产数据的过滤条件,在所述资产数据未满足所述过滤条件的情况下,根
据所述资产数据的所述关键字段值查询所述性能表得到所述资产数据的性能数据。
进一步地,所述根据配置的性能字段的计算公式整合所述资产数据的性能数组内的
性能数据,获取所述资产数据的整合后的性能字段值赋值所述资产性能表包括:
在所述资产数据只有一条所述性能数据,对所述资产数据的性能数据赋值所述资产
性能表,在所述资产数据有多条性能数据的情况下,根据配置的字段类型、公式对所述
性能数据进行计算,将计算后所述资产数据的性能数据赋值所述资产性能表。
进一步地,根据配置的字段类型、公式对所述性能数据进行计算包括:
根据配置的字段类型、公式,通过迭代的计算方式对所述性能数据进行计算。
进一步地,根据所述资产数据的所述关键字段值查询所述性能表得到所述资产数据
的性能数据数组包括:
获取所述性能表的位置标识,比较所述资产数据的所述关键字段值与所述性能表的
所述位置标识的关键字段值,在所述资产数据的所述关键字段值等于所述性能表的所述
位置标识的关键字段值情况下,获取所述位置标识的性能数据,添加到所述性能数据数
组。
根据本发明的另一个方面,还提供了一种数据整合处理装置,包括:
生成模块,用于根据配置资产数据的内存字段信息和性能数据的内存字段信息,将
资产文件、性能文件读取到内存中生成对应的资产表、性能表;
排序模块,用于设置所述资产数据和所述性能数据的关键字段值,根据所述关键字
段值对所述资产表和所述性能表进行排序;
创建模块,用于将已排序的所述资产表为主对象进行循环,根据所述资产数据的所
述关键字段值查询所述性能表得到所述资产数据的性能数据数组;
整合模块,用于根据配置的性能字段的计算公式整合所述资产数据的性能数组内的
性能数据,获取所述资产数据的整合后的性能字段值赋值所述资产性能表。
进一步地,所述装置还包括:
过滤模块,用于设置所述资产数据的过滤条件,在所述资产数据未满足所述过滤条
件的情况下,根据所述资产数据的所述关键字段值查询所述性能表得到所述资产数据的
性能数据。
进一步地,所述整合模块包括:
第一整合单元,用于在所述资产数据只有一条所述性能数据,对所述资产数据的性
能数据赋值所述资产性能表;
第二整合单元,用于在所述资产数据有多条性能数据的情况下,根据配置的字段类
型、公式对所述性能数据进行计算,将计算后所述资产数据的性能数据赋值所述资产性
能表。
进一步地,所述整合模块包括:
迭代单元,用于根据配置的字段类型、公式,通过迭代的计算方式对所述性能数据
进行计算。
进一步地,所述创建模块包括:
标识单元,用于获取所述性能表的位置标识,比较所述资产数据的所述关键字段值
与所述性能表的所述位置标识的关键字段值,在所述资产数据的所述关键字段值等于所
述性能表的所述位置标识的关键字段值情况下,获取所述位置标识的性能数据,添加到
所述性能数据数组。
通过本发明,根据配置资产数据的内存字段信息和性能数据的内存字段信息,将资
产文件、性能文件读取到内存中生成对应的资产表、性能表,设置该资产数据和该性能
数据的关键字段值,根据该关键字段值对该资产表和该性能表进行排序,将已排序的该
资产表为主对象进行循环,根据该资产数据的该关键字段值查询该性能表得到该资产数
据的性能数据数组,根据配置的性能字段的计算公式整合该资产数据的性能数组内的性
能数据,获取该资产数据的整合后的性能字段值赋值该资产性能表,解决了组网的资产
数据和性能数据处理过程复杂,耗时时间长的问题,实现了高效处理同种资产数据的多
个性能数据文件。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明
的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据整合处理方法的流程图;
图2是根据本发明实施例的一种数据整合处理装置的结构框图;
图3是根据本发明优选实施例的资产性能处理主流程示意图;
图4是根据本发明优选实施例的资产循环流程示意图;
图5是根据本发明优选实施例的性能查询流程示意图;
图6是根据本发明优选实施例的性能处理流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情
况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”
等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种数据整合处理方法,图1是根据本发明实施例的一种数据
整合处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,根据配置资产数据的内存字段信息和性能数据的内存字段信息,将资
产文件、性能文件读取到内存中生成对应的资产表、性能表;
步骤S104,设置该资产数据和该性能数据的关键字段值,根据该关键字段值对该
资产表和该性能表进行排序;
步骤S106,将已排序的该资产表为主对象进行循环,根据该资产数据的该关键字
段值查询该性能表得到该资产数据的性能数据数组;
步骤S108,根据配置的性能字段的计算公式整合该资产数据的性能数组内的性能
数据,获取该资产数据的整合后的性能字段值赋值该资产性能表。
通过上述步骤,根据配置资产数据的内存字段信息和性能数据的内存字段信息,将
资产文件、性能文件读取到内存中生成对应的资产表、性能表,设置该资产数据和该性
能数据的关键字段值,根据该关键字段值对该资产表和该性能表进行排序,将已排序的
该资产表为主对象进行循环,根据该资产数据的该关键字段值查询该性能表得到该资产
数据的性能数据数组,根据配置的性能字段的计算公式整合该资产数据的性能数组内的
性能数据,获取该资产数据的整合后的性能字段值赋值该资产性能表,解决了组网的资
产数据和性能数据处理过程复杂,耗时时间长的问题,实现了高效处理同种资产数据的
多个性能数据文件。
在本实施例中,设置该资产数据和该性能数据的关键字段值,根据该关键字段值对
该资产表和该性能表进行排序之后,设置该资产数据的过滤条件,在该资产数据未满足
该过滤条件的情况下,根据该资产数据的该关键字段值查询该性能表得到该资产数据的
性能数据。
在本实施例中,在该资产数据只有一条该性能数据,对该资产数据的性能数据赋值
该资产性能表,在该资产数据有多条性能数据的情况下,根据配置的字段类型、公式对
该性能数据进行计算,将计算后该资产数据的性能数据赋值该资产性能表。
在本实施例中,可以根据配置的字段类型、公式,通过迭代的计算方式对该性能数
据进行计算。
在本实施例中,可以获取该性能表的位置标识,比较该资产数据的该关键字段值与
该性能表的该位置标识的关键字段值,在该资产数据的该关键字段值等于该性能表的该
位置标识的关键字段值情况下,获取该位置标识的性能数据,添加到该性能数据数组。
在本实施例中还提供了一种数据整合处理装置,该装置用于实现上述实施例及优选
实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定
功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但
是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的一种数据整合处理装置的结构框图,如图2所示,该装
置包括
生成模块22,用于根据配置资产数据的内存字段信息和性能数据的内存字段信息,
将资产文件、性能文件读取到内存中生成对应的资产表、性能表;
排序模块24,用于设置该资产数据和该性能数据的关键字段值,根据该关键字段值
对该资产表和该性能表进行排序;
创建模块26,用于将已排序的该资产表为主对象进行循环,根据该资产数据的该关
键字段值查询该性能表得到该资产数据的性能数据数组;
整合模块28,用于根据配置的性能字段的计算公式整合该资产数据的性能数组内的
性能数据,获取该资产数据的整合后的性能字段值赋值该资产性能表。
通过上述步骤,根据配置资产数据的内存字段信息和性能数据的内存字段信息,将
资产文件、性能文件读取到内存中生成对应的资产表、性能表,设置该资产数据和该性
能数据的关键字段值,根据该关键字段值对该资产表和该性能表进行排序,将已排序的
该资产表为主对象进行循环,根据该资产数据的该关键字段值查询该性能表得到该资产
数据的性能数据数组,根据配置的性能字段的计算公式整合该资产数据的性能数组内的
性能数据,获取该资产数据的整合后的性能字段值赋值该资产性能表,解决了组网的资
产数据和性能数据处理过程复杂,耗时时间长的问题,实现了高效处理同种资产数据的
多个性能数据文件。
在本实施例中,该装置还包括:
过滤模块,用于设置该资产数据的过滤条件,在该资产数据未满足该过滤条件的情
况下,根据该资产数据的该关键字段值查询该性能表得到该资产数据的性能数据。
在本实施例中,该整合模块28包括:
第一整合单元,用于在该资产数据只有一条该性能数据,对该资产数据的性能数据
赋值该资产性能表;
第二整合单元,用于在该资产数据有多条性能数据的情况下,根据配置的字段类型、
公式对该性能数据进行计算,将计算后该资产数据的性能数据赋值该资产性能表。
在本实施例中,该整合模块28包括:
迭代单元,用于根据配置的字段类型、公式,通过迭代的计算方式对该性能数据进
行计算。
在本实施例中,该创建模块26包括:
标识单元,用于获取该性能表的位置标识,比较该资产数据的该关键字段值与该性
能表的该位置标识的关键字段值,在该资产数据的该关键字段值等于该性能表的该位置
标识的关键字段值情况下,获取该位置标识的性能数据,添加到该性能数据数组。
下面结合优选实施例和实施方式对本发明进行详细说明。
本优选实施例提供了一种通用高效的数据整合处理方法,该方法能够高效的处理同
种资产的多个性能文件,实现公式及特殊情况的处理,可以应用于多个场景及专业。同
时,此方法具有很好的扩展性,便于开发人员进行维护。
本优选实施例应用在现有系统采集器上,提供一种通用高效的性能整合处理方法,
主要包括:
资产性能文件整合:提取关键信息到配置文件中,将资产和性能文件读取到内存表
并根据关键字段进行排序,以资产表为主表进行循环,根据资产关键字段查询相关性能,
利用配置的相应公式等规则进行性能汇总,获得所需的资产的性能数据。
性能数据查询:封装已排序的性能表,设定性能表数组下标,将资产关键字段值与
性能相应的关键字段值进行比较,获取相应的资产的性能。
资产性能过滤:配置资产与性能的过滤条件,资产循环和性能查询时,过滤不满足
条件的数据。
公式应用:多个性能数据进行整合时,根据配置的公式,使用迭代等方法进行高效
的性能计算。
本优选实施例提供了一种通用高效的数据整合处理方法,该方法能够高效的处理同
种资产的多个性能文件,实现公式及特殊情况的处理,可以应用于多个场景及专业。同
时,此方法具有很好的扩展性,便于开发人员进行维护。为使本发明的目的、技术方案
和优点更加清楚明白,下文中将结合附图对本发明的实施进行详细说明。
表1是待处理的资产表,表2和表3是关联性能表,表1、表2及表3保存了从资
产和性能文件中读取的所需字段名称及字段值,封装后进行排序,资产表中的关键字段
值与其关联性能表中的关键字段值对应。某些资产的某些性能可能不存在;性能表中的
资产不一定全部属于资产表;资产与性能的对应关系是一对一或者一对多。资产表中存
在一些自带的性能,处理时无需进行整合,直接赋值到资产性能表中即可。图3是根据
本发明优选实施例的资产性能处理主流程示意图,如图3所示,资产性能处理的详细主
流程参见图3和流程步骤说明。
表1
关键字段
属性1
属性2
属性3
属性4
属性5
性能1
性能2
性能3
Num1
资产属性
资产属性
资产属性
资产属性
资产属性
m1
n1
r1
Num2
资产属性
资产属性
资产属性
资产属性
资产属性
m2
n2
r2
Num3
资产属性
资产属性
资产属性
资产属性
资产属性
m3
n3
r3
num4
资产属性
资产属性
资产属性
资产属性
资产属性
m4
n4
r4
表2
关键字段
性能4
性能5
性能6
性能7
Num1
a1
b1
c1
d1
Num2
a2
b2
c2
d2
Num2
a3
b3
c3
d3
Num3
a4
b4
c4
d4
Num3
a5
b5
c5
d5
Num4
a6
b6
c6
d6
表3
关键字段
性能8
性能9
性能10
性能11
性能12
Num0
e1
f1
g1
h1
k1
Num1
e2
f2
g2
h2
k2
Num1
e3
f3
g3
h3
k3
Num2
e4
f4
g4
h4
k4
Num4
e5
f5
g5
h5
k5
Num4
e6
f6
g6
h6
k6
得到需要处理的封装好的资产表及其相关性能表对象后,以资产表为主对象进行
for循环,具体的循环流程参见图4和流程步骤说明;获取单个资产的关键字段值,到
关联性能表中获取资产相关的性能数据数组,具体的查询流程参见图5和查询流程说明;
得到性能数据数组后,根据配置的各个性能字段信息,计算各个字段的性能,具体的计
算流程参见图6和计算流程步骤;将获取得到的各个性能字段的值赋值到资产性能表中。
表4是使用本发明的方法处理后的资产性能表,将所有需要的资产的性能整合处理
到资产性能表中,最后输出到所需的文件中。若资产与性能对应关系是一对一,则根据
资产的性能字段名称从性能表中获取对应的性能,进行赋值;若资产和性能对应关系是
一对多,则根据配置的字段计算公式计算所有关联性能的字段值,最终的结果赋值给资
产对应的性能;若资产查询不到相应的性能数据,则值全部为空。
表4
关键字段
性能1
性能2
性能3
性能4
性能5
性能6
性能7
性能8
性能9
性能10
性能11
性能12
Num1
m1
n1
r1
a1
b1
c1
d1
sum(e2,e3)
sum(f2,f3)
sum(g2,g3)
sum(h2,h3)
sum(k2,k3)
Num2
m2
n2
r2
max(a2,a3)
max(b2,b3)
max(c2,c3)
max(d2,d3)
e4
f4
g4
h4
k4
Num3
m3
n3
r3
avg(a4,a5)
avg(b4,b5)
avg(c4,c5)
avg(d4,d5)
num4
m4
n4
r4
a6
b6
c6
d6
min(e5,e6)
min(f5,f6)
min(g5,g6)
min(h5,h6)
min(k5,k6)
图3是根据本发明优选实施例的资产性能处理主流程示意图,如图3所示,主要处
理步骤如下:
步骤S301:读取资产和性能相关的所有配置文件,主要包括:用于性能计算的有
效列配置文件,文件中包含性能字段名称、类型、合并字段名称、资产对应字段名称、
计算公式等,此配置文件包含性能整合时字段的所有信息;过滤配置文件,文件中包含
资产类型以及与其相关的过滤条件;资产和性能内存表配置文件,文件中包含资产和性
能内存表的所有字段信息。
步骤S302:根据配置的资产和性能内存字段信息,将所需的资产和性能文件读取
到内存中,以内存表的形式保存。
步骤S303:将资产表和对应的性能表封装成对象,创建对象时,设置资产和性能
相关联的关键字,并根据关键字段值对资产表和性能表进行排序;对象中设置资产的过
滤条件,对应的过滤条件从步骤S301中获取。
步骤S304:以资产表为主对象,进行for循环,具体的流程参见图4。
步骤S305:获取资产数据,若资产数据未满足过滤条件,即资产未被过滤,则根
据资产数据的关键字段值,到相关的性能表中查询对应的性能数据,并保存到数组中。
步骤S306:根据步骤S305获得的性能数组以及步骤S301获得的资产和性能有效
列数据,进行性能数据汇总。如果只有一条性能数据,则直接赋值;如果存在多条性能
数据,则需要根据有效列配置的字段类型、公式进行各个字段的性能计算,然后赋值。
步骤S307:重复步骤S305和步骤S306,直到所有资产的性能处理完成。
图4是根据本发明优选实施例的资产循环流程示意图,如图4所示,主要处理步骤
如下:
步骤S401:获取已排序的资产表,进行for循环。
步骤S402:获取资产数据,根据资产表对象中设置的关键字段名称获得此资产数
据中的关键字段值。获取资产表对象中设置的过滤条件,过滤字段及其过滤条件,均可
在配置文件中进行设置,过滤字段可以为一个或者多个,满足不同情况的需求;过滤条
件包含“==”,“in”,“not in”等。
步骤S403:根据过滤条件对资产进行校验,验证资产数据是否满足条件,如果不
满足,则过滤此条数据,重复步骤S402和步骤S403;如果满足条件,则继续流程。
步骤S404:根据资产数据的关键字段值,到相应的性能表中获取性能数据。具体
的流程参见图5。
步骤S405:对获取的性能数据进行处理,根据实际情况进行赋值,获取资产的性
能数据。
步骤S406:若资产性能未处理完成,则重复步骤S402、S403、S404和S405;若
资产全部处理完成,则完成此流程。
图5是根据本发明优选实施例的性能查询流程示意图,如图5所示,主要处理步骤
如下:
步骤S501:获取资产数据的关键字段值。
步骤S502:根据资产类型,获取此资产的相关性能表对象。资产可能会有多个关
联性能表,每个性能表的处理流程一样,本流程只展示其中一个性能表的性能获取流程。
步骤S503:创建数组,用于保存和资产对应的性能数据。
步骤S504:获取性能表的位置标识,默认为0,即从第一条性能开始进行查找。根
据位置标识获取当前性能数据,用于资产数据进行匹配。
步骤S505:将资产关键值与性能表位置标识所在的性能的关键字段值进行比较,
使用公用转换工具将值转换为long型数据,判断二者的大小。
步骤S506:若资产关键字段值大于性能关键字段值,则表示性能不属于此资产,
后面可能存在属于此资产的性能,因此位置标识+1。
步骤S507:若资产关键字段值等于性能关键字段值,则表示性能属于此资产,将
此性能添加到步骤S503创建的性能数组中。若资产和性能对应关系是一对多,则后面
可能存在属于此资产的性能,因此位置标识+1;若资产和性能对应关系是多对一,则后
面不再存在属于此资产的性能,位置标识不动。
步骤S508:重复步骤S504,S505,S506,S507,直到资产关键字段值大于性能关
键字段值,则表示位置标识及后面的性能不属于此资产,此条资产数据的性能数据查询
完成,得到此条资产的性能数据数组。
步骤509:处理资产的性能数据数组,具体流程参见图6。
图6是根据本发明优选实施例的性能处理流程示意图,如图6所示,主要处理步骤
如下:
步骤S601:获取资产相应的性能数据数组,具体流程参见图5.
步骤S602:若资产性能数组没有性能数据,则将对用的值赋值为无效值;若存在
性能数据,则获取性能所需的有效列数组,数组中包含所有需要处理的性能字段的详细
信息。
步骤S603:以有效列数组为主进行for循环,根据配置的字段的信息处理每个性能
字段的数据。
步骤S604:获取待处理字段的详细信息,包含字段名称、合并后的字段名称(资
产对应的性能字段名称)、合并数据的字段名称、字段计算公式、字段计算复杂公式、
数据内部字段计算公式等。
步骤S605:根据实际情况获取字段计算的公式,可分为多种情况:多个数据进行
单一的加减乘除计算;多个数据进行复杂的混合计算,比如max(a,sum(b,c))等;
单条性能中个多个字段进行数据计算等。
步骤S606:利用步骤S605获取的计算公式,对性能数据数组进行整合,获取每条
性能数据的对应字段数值,若进行单一的公式计算,直接进行计算;若进行复杂的混合
计算,则使用迭代功能。
步骤S607:将计算整合后的字段性能值赋值给资产相应的字段。
步骤S608:重复步骤S604,S605,S606,S607,直到所有的性能数据字段处理完
成。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例
的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多
情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现
有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个
存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可
以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通
过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位
于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可
以被设置为存储用于执行以下上述实施例的方法步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,
Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、
磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例
的方法步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的
计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成
的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们
存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执
行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多
个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件
和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术
人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。