一种基于文件类SQL功能处理海量数据的方法.pdf

上传人:1** 文档编号:1025410 上传时间:2018-03-26 格式:PDF 页数:15 大小:576.86KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810249730.X

申请日:

2008.12.30

公开号:

CN101593197A

公开日:

2009.12.02

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/30申请日:20081230授权公告日:20111005终止日期:20131230|||授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30; H04L12/24

主分类号:

G06F17/30

申请人:

浪潮通信信息系统有限公司

发明人:

祝乃国

地址:

250013山东省济南市历下区山大路224号

优先权:

专利代理机构:

济南信达专利事务所有限公司

代理人:

姜 明

PDF下载: PDF下载
内容摘要

本发明涉及电信网络中的数据处理领域,具体提供一种基于文件类SQL功能处理海量数据的方法。本发明的一种基于文件类SQL功能处理海量数据的方法包括以下步骤:A.对采集后产生的文本文件进行标准化格式处理;B.基于标准化后的文本文件进行海量数据处理,使用类SQL语句的方式进行相关数据操作;C.操作的结果可以定义输出为最终结果或者中间结果,对于中间结果符合标准化后的格式,继续对该文件进行数据操作,直至达到结果要求。本发明结合了文件和数据库方式的各自优点,既保证了海量数据处理的高效率,也使操作非常方便、灵活并具有很强的扩展能力。

权利要求书

1、  一种基于文件类SQL功能处理海量数据的方法,包括以下步骤:
A、对采集后产生的文本文件进行标准化格式处理;
B、基于标准化后的文本文件进行海量数据处理,使用类SQL语句的方式进行相关数据操作;
C、操作的结果可以定义输出为最终结果或者中间结果,对于中间结果符合标准化后的格式,继续对该文件进行数据操作,直至达到结果要求。

2、
  根据权利要求1所述的一种基于文件类SQL功能处理海量数据的方法,其特征在于,所述步骤A使用的数据文件格式如下:
##STAR|HEADER
COMPANY|DEPARTMENT
Inspur|oss
##END|HEADER
##START|DATA_BLOCK
CELL|TRX|COUNT1|COUNT2|COUNT3
DF0001|1|1|2|3
DF0001|2|1|2|3
DF0001|3|1|2|3
DF0001|4|1|2|3
DF0002|1|1|2|3
DF0002|2|1|2|3
DF0002|3|1|2|3
DF0002|4|1|2|3
##END|DATA_BLOCK


3、
  根据权利要求1所述的一种基于文件类SQL功能处理海量数据的方法,其特征在于,所述步骤B中针对海量数据使用脱离数据库方案,进行基于文本文件的操作,在此操作过程中使用了类SQL语句的方式,即通过SQL语句的谓词实现对数据的处理。

4、
  根据权利要求1所述的一种基于文件类SQL功能处理海量数据的方法,其特征在于,所述步骤C中采用了对输出结果的重定义,即可以对一个原始输入,重复利用任何操作的输出,通过类SQL操作实现对数据输出结果的要求。

说明书

一种基于文件类SQL功能处理海量数据的方法
技术领域
本发明涉及电信网络中的数据处理领域,具体提供一种基于文件类SQL功能处理海量数据的方法。
背景技术
计算机技术的发展是与适应数据处理同步的,是互相促进的。初期的数据处理都是以数据文件方式存在的:文件方式存储数据有很多缺点,比如操作不便、不能复用、缺少标准。所以在发展过程中产生了各种关系型数据库,促进了数据处理应用的发展。
对海量数据的处理,针对数据的特点,选择相应的处理方式,是提高处理效率的关键。目前海量数据处理提高效率的措施主要有:
●选用优秀的数据库工具;
●编写优良的程序代码;
●对海量数据进行分区操作;
●建立广泛的索引;
●提高硬件条件,加大CPU和内存;
●建立缓存机制;
●加大虚拟内存;
●分批处理;
●优化查询SQL语句;
●使用文本格式进行处理;
●定制强大的清洗规则和出错处理机制;
●建立视图或者物化视图;
●避免使用32位服务器(极端情况);
●考虑操作系统问题;
●使用数据仓库和多维数据库存储;
●使用采样数据,进行数据挖掘;
●内存数据库。
我国幅员辽阔,并且电力、通信等网络是一体化经营,导致网络规模巨大。但是这些网络都有其结构特点,可以选择合适的海量数据处理方式来提高数据处理的效率。电信网络的管理有其规律性,组成网络的每个节点是管理的基本单位,按照行政区、区域网络、整体网络分别进行统计分析,称之为网元粒度的管理;数据的产生是按照时间组织的,可以是5分钟、15分钟、60分钟等间隔方式,在统计分析中一般要求60分钟(1小时)、日、周、月、年等,称之为时间粒度。
在数据产生上按照不同的节点(网元)产生某个时间的数据,整个网络中的网元数据可能由于一些原因在数据产生上存在时延。
网络管理要求数据必须是实时的,分析的数据必须是完整的。基于网络数据产生的特点,在采用数据库进行的数据采集、汇总等操作中需要做大量的标记,如记录标志数据采集、数据汇总的时间点。并且数据汇总本身的大数据量操作,占用了数据库本身的大量资源,使数据库对用户提供服务的能力减弱;数据产生的延时,导致在数据汇总触发上的差异,从而可能导致数据的不完整。所有基于数据库的优化和操作,都离不开数据库;数据库操作的限制,导致了数据的不及时、不完整、对外服务提供能力弱。
在网元产生的数据中,网元粒度关系有明确的标志,并且网元是产生数据的基本单位,按照这个特点对这些海量数据实现基于文件方式的数据累加、删除、关联、最大、最小、平均等数据库的SQL常用操作。
随着服务器技术的发展,对于直接的数据计算非常快,这为数据处理提供了硬件基础;哈希数组的描述性数组直接定位,为数据的计算方式提供了软件基础。按照开闭原则设计的实现方案具有优秀的扩展性,可以方便的扩展数据操作(比如增加数据的某种特殊的公式计算)。
发明内容
本发明的一种基于文件类SQL功能处理海量数据的方法是针对以上情况,以电信网络为基础,采用文件方式,模仿数据库操作的方便性,实现的一种海量数据处理方案,借以保证海量数据处理的高效率,也使操作非常方便、灵活并具有很强的扩展能力。
本发明解决其技术问题所采用的技术方案是:
一种基于文件类SQL功能处理海量数据的方法,包括以下步骤:
A、对采集后产生的文本文件进行标准化格式处理;
B、基于标准化后的文本文件进行海量数据处理,使用类SQL语句的方式进行相关数据操作;
C、操作的结果可以定义输出为最终结果或者中间结果,对于中间结果符合标准化后的格式,继续对该文件进行数据操作,直至达到结果要求。
步骤A使用的数据文件格式如下:
##STAR|HEADER
COMPANY|DEPARTMENT
Inspur|oss
##END|HEADER
##START|DATA_BLOCK
    CELL|TRX|COUNT1|COUNT2|COUNT3
    DF0001|1|1|2|3
    DF0001|2|1|2|3
    DF0001|3|1|2|3
    DF0001|4|1|2|3
    DF0002|1|1|2|3
    DF0002|2|1|2|3
    DF0002|3|1|2|3
    DF0002|4|1|2|3
##END|DATA_BLOCK

步骤B中针对海量数据使用脱离数据库方案,进行基于文本文件的操作,在此操作过程中使用了类SQL语句的方式,即通过SQL语句的谓词实现对数据的处理。
步骤C中采用了对输出结果的重定义,即可以对一个原始输入,重复利用任何操作的输出,通过类SQL操作实现对数据输出结果的要求。
本发明的实现采用开闭原则设计,实现类SQL语句的灵活扩充和客户化开发。
开闭原则是面向对象设计方法之一,‘对需求开放,对修改关闭’,意思是实现的系统具有极高的灵活扩展能力,对于用户提出的需求能够无限度的接纳,但是不需要修改原来的程序,只需要针对用户新提出的需求进行实现即可。实现的内容通过原功能的调用即可以实现用户需要的功能。实现对新扩展功能调用的主功能,称之为引擎方式。在本例中,可以理解为如果需要添加其他的SQL语句中使用的聚合函数或其他特殊要求,可以通过编码实现该功能,然后按照配置描述,就可以在该功能中使用。本专利的目的是实现对海量数据的高效、方便处理,方便就是指模拟了SQL操作这种大家熟悉的方式。
本发明的一种基于文件类SQL功能处理海量数据的方法,既保证了海量数据处理的高效率,也使操作非常方便、灵活并具有很强的扩展能力。其特点主要有:
1、脱离数据库的数据处理
海量数据的及时、完整处理,是实现网络管理的关键。但基于数据库方式的处理,不仅大量占用数据库资源,并且由于数据库处理能力的限制,无法获得及时数据。影响了用户对其他应用功能的使用,而且也影响了基于派生数据(通过基础数据和一定判断规则产生的数据称为派生数据)的应用使用。通过基于文件方式的类数据库语言操作,可以提高使用效率,把数据库的使用尽量给予最终使用用户,节约投资。
数据处理指数据的累加、删除、关联、最大、最小、平均等操作。这些操作也是数据库中数据处理的常用操作。
2、基于文件的类SQL操作
通过程序编程可以实现对数据文件中某些数据的任意处理,但是这些处理就有个性化并不容易被调用,使用也不方便。
本发明中通过开闭原则设计架构,便于调用和使用,主要实现功能如下表:

  功能 等价的SQL操作  备注  累加 Select sum(a) from tab where条件 group by col1,col2  可以按分组条件设置,并  且可以按照四则运算先  进行计算再求和  删除 Delete* from tab where条件  与SQL操作不同,在该删  除操作中还可以设置为  保留,也就是说做条件的  非操作-满足条件的留

  下,不满足条件的删除  关联  Select a.col,b.col  From a,b  Where条件  多表的关联  最大  Select max(col)  From表  Where条件  Group by分组列  取分组条件下的最大值  最小  Select min(col)  From表  Where条件  Group by分组列  取分组条件下的最小值  平均  Select avg(col)  From表  Where条件  Group by分组列  取分组条件下的平均值

3、中间数据操作
数据的处理在很多情况下,不是经过一个SQL语句就可以获得最终结果的,往往需要经过几个步骤的操作才能达到目的,在这个过程中不可避免的使用了数据库的临时表存储中间数据。
为了使数据处理更加灵活方便,在本发明中也具有对中间数据的处理操作。文件处理过程中通过设置也可以产生中间结果(临时表),可以对这个中间表进行同样的操作,即把该中间文件作为原始待处理数据文件。通过这种方式,能够把复杂的数据计算分为几个步骤来实现,提高了实用性和适应性。
4、符合开闭原则的驱动引擎
各数据处理功能做为插件,可以方便的挂接到主程序上,由主程序的引擎驱动完成功能。需要执行的操作通过配置设置就可以完成功能,新增加的数据处理功能按照同样的设置也可以方便的调用和使用。
该发明中实现的系统是开放的、可扩展的,通过驱动引擎实现数据的处理。驱动引擎具有多级日志措施和调试机制,可以方便的发现存在的问题。
附图说明
图1为本发明的一种基于文件类SQL功能处理海量数据的方法的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明的一种基于文件类SQL功能处理海量数据的方法作进一步的描述。
基于文件的数据处理方案,充分利用了现在的计算机硬件,把待处理的数据通过数组放到内存中处理,使数据处理的速度大大加快。数组是程序中处理变量常用的方式,但是数组一般以数字为排列依据,无法直接找到需要处理的变量名称(一般通过遍历数组,与对应的数值比较实现);在本方案中引入的哈希数组避免了这个缺点,可以直接用变量做为数组的下标,区别和排列数据。哈希数组的使用,使直接对变量的操作变得方便和灵活,并且加快了数据处理速度。
驱动引擎采用开闭原则设计,所谓开闭原则就是‘对修改封闭,对需求开放’,这个特性使引擎具有更强的适应性和更好的扩展性。
为了使数据处理更方便和灵活,引入了临时数据记录的模式,在系统中规定了输入和临时文件具有相同的格式,考虑系统的处理方便和速度,格式做如下要求:
##START|HEADER

##END|HEADER
##START|DATA_BLOCK_________块名,用来区别数据;START标

##END|DATA_BLOCK_______END标志该块数据的结束
主程序如图1所示。
在使用时这些操作没有先后依赖关系,并且在一个处理中可以被多次调用,也可以多个操作协同处理达到某个要求结果。如把满足某种条件的数据累加到全网粒度,可以先做一次删除操作,然后通过累加操作实现需求的数据。
程序的调用和指定数据的处理,通过规则配置实现。下面的配置是数据累加规则的配置:
  名称  说明  备注  填写  类型  RULE_TYPE  功能模块的名  称  SUM  必填  标量  RULE_DESC  执行的描述说  明,此内容将出  现在日志中  Rule  description  可选。不填  则在日志  中显示  RULE_TYPE  的内容。  标量  INPUT_FILE_DESCRIPTION  处理文件的名  可以按照正则  必填  数组

  称描述  表达式描述 OPUPUT_BLOCK_NAME  输出数据块的  名称  可以区分与原  始数据区分  必填  标量 COUNTERS_TO_SORT_ON  累加排序字段,  即累加的条件  字段  可以多个字段  必填  数组 REDUNDANT_COUNTERS  多余的计数器  列表,多个中间  用”,”分割  在产生的文件  中不需要的列  可选,默认  无  数组 PRODUCE_PIF  产生中间临时  格式文件  True-产生,0-  不产生  可选,默认  产生  标量 PRODUCE_LIF  产生入库格式  文件  True-产生,0-  不产生  可选,默认  产生  标量 NON_ADDITIVE_COUNTERS  不需要累加的  字段的说明列  表,多个中间  用”,”分割  如名称,时间  等不需要累  加,累加排序  的字段不需要  再指定,该字  段不做累加  可选,默认  无  数组 APPEND_STR  附加字符串,即  在参加累加的  列名称后添加  此字符串  不设置,则忽  略此选项  可选,默认  无  标量 OLD_COUNTER_NAMES  需要改名的列  名称列表  不设置,则忽  略此选项  可选,默认  无  数组

  NEW_COUNTER_NAMES  改名后的列名  称,与上列表位  置对应  不设置,则忽  略此选项  可选,默认  无  数组  OUTPUT_DIR  入库文件存放  的路径  可以指定文件  存放的特殊位  置  可选,默认  见注释  标量  keep_files  入库文件存放  的备份路径  如果不设置则  不备份,备份  主要是给第三  方提供数据  源。  可选,默认  见注释  标量  COMPUTE_EXPRESSION  计算列表达式  可选,默认  无  数组  COMPUTE_NAME  输出的名字  可选,默认  无  数组

必填是配置中必须要设置的项,可选项使用时可不配置。具体例子如下:
‘RULE TYPE’         =>‘ACCUMULATE’,累加功能调用的句柄
‘RULE_DESC’         =>‘Acccumulate IN’,
‘PRODUCE_PIF’       =>‘True’,
‘PRODUCE_LIF’       =>0,
‘OUTPUT_BLOCK_NAME’ =>‘NICELASS_0’,
‘INPUT_FILE-DESCRIPTION’=>[‘NICELASS#*#E,pif]输入文件名,可通配
 ‘COUNTERS_TO_SORT_ON’=>[‘OBJ_ID_1’]SQL语句中,GROUP BY部分的变量名
‘COMPUTE_EXPRESSION’=>[‘COL1/COL2’]两个变量做除操作,获得一个新列
‘COMPUTE_NAME’=>[‘COMPUTE_1’]新列名称,结果中按计算后的值累加
‘APPEND_STR’=>‘_0’.
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

一种基于文件类SQL功能处理海量数据的方法.pdf_第1页
第1页 / 共15页
一种基于文件类SQL功能处理海量数据的方法.pdf_第2页
第2页 / 共15页
一种基于文件类SQL功能处理海量数据的方法.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种基于文件类SQL功能处理海量数据的方法.pdf》由会员分享,可在线阅读,更多相关《一种基于文件类SQL功能处理海量数据的方法.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明涉及电信网络中的数据处理领域,具体提供一种基于文件类SQL功能处理海量数据的方法。本发明的一种基于文件类SQL功能处理海量数据的方法包括以下步骤:A.对采集后产生的文本文件进行标准化格式处理;B.基于标准化后的文本文件进行海量数据处理,使用类SQL语句的方式进行相关数据操作;C.操作的结果可以定义输出为最终结果或者中间结果,对于中间结果符合标准化后的格式,继续对该文件进行数据操作,直至达到结。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1