首页> 中国专利> 基于数据节点的并行海量数据处理方法

基于数据节点的并行海量数据处理方法

摘要

本发明涉及一种基于数据节点的并行海量数据处理方法;本方法通过将海量数据存储到不同数据节点中的数据对象中,所述客户端可以同时通过不同的数据对象进行并行访问,提高了访问效率,实现了大容量、高性能的数据处理服务,并且构建了分布式数据库系统,提供一种利用分布式数据存储技术实现海量数据访问服务,形成基于数据节点的并行海量数据处理方法,本方法还基于IEC61970GID标准和CORBA规范,支持丰富的聚集操作,满足数据处理的功能要求,提高开发效率,节约资源、降低开发和维护成本。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-05

    授权

    授权

  • 2016-04-06

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20140116

    著录事项变更

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140116

    实质审查的生效

  • 2014-06-04

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20140116

    著录事项变更

  • 2014-05-07

    公开

    公开

说明书

技术领域

本发明涉及一种基于数据节点的并行海量数据处理方法,属于数据处理技术领域。 

背景技术

随着计算机技术和现代通信技术的飞速发展,电力系统自动化软件业正在掀起网络化、组件化的浪潮,从厂站侧间隔级的过程总线到主站侧的电力企业集成总线将全面组网和互联,IT流行的公共对象请求代理体系结构(common object request broker architecture,简称CORBA)开始用于电力系统自动化的解决方案,网络化使电力系统自动化软件在分布式环境下分工合作,这种分布式系统往往是一个由不同硬件、不同操作系统、不同支撑环境或不同厂家的产品组成的异构系统,要使其协调工作,各个部分的接口必须标准化,因此,国际电工技术委员会(IEC)负责电力系统控制及其通信的相关标准的第57技术委员会(IEC TC 57)制定了一系列标准,其中第13工作组(WGl3)负责制定与EMS专业相关的Clbi和CIS标准,其标准系列为IEC 61970系列。 

现在不管是在电力系统领域还是通信领域各种处理的数据都在不断变大,也就是海量数据处理问题,针对这一问题现有技术中也进行了相应的研究,如中国发明专利号ZL201010265079.2的《基于文件的海量数据处理方法》公开了一种基于文件海量数据处理模型,所述具体处理过程包括:(1) 对多台数据处理服务器间进行互斥控制,保持所述数据处理系统只有一台在处理数据,其他数据处理服务器作为备份;(2) 对海量数据文件进行分组,将海量数据文件根据并发线程的总数量进行分组,再将分组后的文件对应到不同的线程进行处理。但是该发明以数据库文件存储数据,并且不能进行并行处理,处理数据较慢,电力系统的各种数据庞大又需要及时处理,并且该发明没有与电力系统对接标准,因此现在急需一种可以处理海量电力数据的数据处理方法。 

发明内容

本发明所要解决的技术问题是现有技术中海量数据处理较慢,开发效率低的问题,从而提供一种利用分布式数据存储技术实现海量数据访问服务,形成基于数据节点的并行海量数据处理方法。 

为解决上述技术问题,本发明是通过以下技术方案实现的: 

一种基于数据节点的并行海量数据处理方法,包括以下步骤:

将数据信息压缩并封装到数据对象中,所述数据对象对其封装的数据信息进行存储并提供访问接口;

将海量数据根据实际的业务需求分为一系列的数据节点,所述数据节点为一组所述数据对象的集合,将需要同时获取的海量数据分别存放到不同的数据节点中,提供并行访问;

客户端向总线发送数据访问命令时,所述总线根据请求的数据信息,向包含所需数据信息的数据对象并行的发送访问请求;

数据对象调用本身的接口访问其内部存储的数据,进而获取数据或写入数据,最后将结果通过所述总线返回给客户端。

所述总线为CORBA的ORB总线。 

所述访问接口为GID接口,与符合GID标准的配电系统连接。 

每个所述数据对象对应一个数据库文件,对每个所述数据库文件预先分配存储空间。 

所述数据库文件分布式存储。 

所述将需要同时获取的海量数据分别存放到不同的数据节点中的过程,包括根据可预测的数据访问频率的高低和数据量的大小,将访问频率高和数据量大的数据对象分配到不同的数据节点。 

还包括将每个所述数据对象的历史数据存储到与其对应的数据库文件中的步骤。    

所述历史数据为所述数据对象存储过的所有数据,是一组可以按照时间查阅的数据序列。

本发明的上述技术方案相比现有技术具有以下优点: 

(1)本发明所述的基于数据节点的并行海量数据处理方法,包括以下步骤:将数据信息压缩并封装到数据对象中,所述数据对象对其封装的数据信息进行存储并提供访问接口;将海量数据根据实际的业务需求分为一系列的数据节点,所述数据节点为一组所述数据对象的集合,将需要同时获取的海量数据分别存放到不同的数据节点中,提供并行访问;客户端向总线发送数据访问命令时,所述总线根据请求的数据信息,向包含所需数据信息的数据对象并行的发送访问请求;数据对象调用本身的接口访问其内部存储的数据,进而获取数据或写入数据,最后将结果通过所述总线返回给客户端,本方法通过将海量数据存储到不同数据节点中的数据对象中,所述数据对象是本发明定义的概念,集数据压缩、存储和访问于一体,也是数据处理的基本单元,所述数据对象可以对海量数据进行分类存储,并可以对多个数据节点中的数据对象进行并行访问,提高了访问效率,实现了大容量、高性能的数据处理服务,解决的技术问题是现有技术中海量数据处理较慢,开发效率低的问题,从而提供一种基于数据节点的并行海量数据处理方法。

(2)本发明所述的基于数据节点的并行海量数据处理方法,所述总线为CORBA的ORB总线,所述访问接口为GID接口,与符合GID标准的配电系统连接,因此本方法还基于IEC61970 GID标准和CORBA规范,支持丰富的聚集操作,满足数据处理的功能要求,提高开发效率,节约资源、降低开发和维护成本。 

(3)本发明所述的基于数据节点的并行海量数据处理方法,每个所述数据对象对应一个数据库文件,对每个数据库文件预先分配存储空间,防止在运行时出现磁盘空间不足等不确定的情况,还可以预防磁盘碎片的产生,保证数据访问性能的稳定和高效。 

(4)本发明所述的基于数据节点的并行海量数据处理方法,所述数据库文件分布式存储,因此构建了分布式的数据库系统,可方便的对重要数据进行备份,避免服务器故障引发的数据丢失或不可查;并且通过海量数据服务,用户就能够读取到所有的数据存储节点的信息,而无需关心数据被存储在哪个网络的哪个服务器中;所述将需要同时获取的海量数据分别存放到不同的数据节点中的过程,包括根据可预测的数据访问频率的高低和数据量的大小,将访问频率高和数据量大的数据对象分配到不同的数据节点,方便并行访问,以此实现负载均衡。 

(5)本发明所述的基于数据节点的并行海量数据处理方法,还包括将每个所述数据对象的历史数据存储到与其对应的数据库文件中的步骤,用户可以调阅之前某时刻的数值,得到该时刻的历史数据。将数据对象的历史数据分别存储到对应数据库文件,可以增加数据访问速度,并方便数据对象的添加、删除、迁移和数据库文件的备份。 

附图说明

为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中, 

图1是本发明所述基于数据节点的并行海量数据处理方法的结构示意图;

图2是本发明所述基于数据节点的并行海量数据处理方法的流程图;

图3是本发明所述基于数据节点的并行海量数据处理方法的原始数据读取测试图。

具体实施方式

下面提供本发明所述的基于数据节点的并行海量数据处理方法的具体实施方式。 

实施例1

本发明所述的基于数据节点的并行海量数据处理方法,如图2所示,其包括以下步骤:

将数据信息压缩并封装到数据对象中,所述数据对象集数据压缩、存储和访问于一体,也是数据处理的基本单元,即一个数据对象用于压缩、存储和访问某个测量点的一个监测指标,通过数据对象的读取接口,可以获取该监测指标的所有历史数据,通过数据对象的写入接口,可以存储该监测指标某时刻的值,所述数据对象对其封装的数据信息进行存储并提供访问接口,所述数据对象可以对海量数据进行分类存储,并可以对多个数据节点中的数据对象进行并行访问。

将海量数据根据实际的业务需求分为一系列的数据节点,所述数据节点为一组所述数据对象的集合,划分数据节点的原则是根据实际业务需求和数据量的规模,一般可按照变电站结合其数据量进行划分,当同一变电站的数据能满足快速访问的需要时,可将同一变电站的数据对象划分到相同的节点;当同一变电站的数据量过大时,将需要同时获取的同一变电站的海量数据分别存放到不同的数据节点中,提供并行访问。 

如图1所示,客户端查询/存储某些测量值,海量数据处理服务向对应数据对象(例如数据对象a和数据对象z)发送访问请求,数据对象调用本身的访问接口访问数据库文件进而获取/写入数据,查询的结果最终通过海量数据处理服务返回给客户端,客户端发送访问请求与数据对象获取/写入数据是个顺序的过程,而针对不同节点的数据访问过程是并行执行的,极大提高了数据访问速度;本方法通过将海量数据存储到不同数据节点中的数据对象中,所述客户端可以同时通过不同的数据对象进行并行访问,提高了访问效率,实现了大容量、高性能的数据处理服务,根据各应用功能不同,可提高2-4倍的开发效率,节约资源、降低开发和维护成本。 

图3给出了原始数据读取性能测试结果,从左到右依次为一次读取100条、读取1k条、读取10k、和读取40k条的测试结果;从测试结果来看,在一次性读取大量数据上具有明显的优势,且在线程内读取的速度远远超过通过网络读取的速度。 

从聚集操作读取性能测试结果中,可以得出,在其他条件相同的情况下各种聚集操作所用的时间基本相同;时间差异与每次读取的条目数无关,仅与操作次数有关,所以在读取聚集操作时同样支持一次读取大量数据。 

实施例2

在实施例1所述的基于数据节点的并行海量数据处理方法的基础上,所述总线为CORBA的ORB总线,ORB(Object Request Broker)是对象请求代理。基于ORB 机制就可以充分利用分布的、可以互操作的对象构造和可以互操作的应用。这种优势是明显的,数据通信的细节被完整封装,用户可以在不了解实现交互细节的情况下,可以使用不同的开发语言及环境建立共享资源的应用,具有可移植性。

所述访问接口为GID接口,所述GID接口为IEC61970 GID(Generic Interface Definition)标准的接口,它提供了一套用于系统间数据访问和交换的通用接口,解决了系统的应用与数据资源的共享问题,尤其对于那些耦合较为紧密的核心业务之间的数据交互,大大优化系统的技术架构,根本上解决数据服务和数据交换的性能瓶颈问题。并且IEC 61970 GID标准支持丰富的聚集操作,比如求和、差值、平均值、加权平均值、标准差、最大值和最小值等等,满足数据处理的功能要求。只要符合GID的配电网系统都可以通过数据对象访问数据库文件中的内容,实现数据共享。 

实施例3

在以上实施例的基础上,每个所述数据对象对应一个数据库文件,对每个数据库文件预先分配存储空间,防止在运行时出现磁盘空间不足等不确定的情况,还可以预防磁盘碎片的产生,保证数据访问性能的稳定和高效。

所述数据库文件分布式存储,目前存在数据库系统难以实现多个数据库相关联,而海量数据处理技术针对复杂的数据需求可以对数据库文件进行配置实现分布式存储网络的构建,可方便的对重要数据进行备份,避免服务器故障引发的数据丢失或不可查;而庞大的存储结构对外仅仅是一个简单的CORBA接口,让用户使用起来很简单;此外分布式部署可以加强数据库服务的可用性,防止部分网络瘫痪造成的数据节点不可访问。 

所述将需要同时获取的海量数据分别存放到不同的数据节点中的过程,包括根据可预测的数据访问频率的高低和数据量的大小,将访问频率高和数据量大的数据对象分配到不同的数据节点,方便并行访问,以此实现负载均衡。 

还包括将每个所述数据对象的历史数据存储到与其对应的数据库文件中的步骤,所述历史数据为数据对象的所有存储过的值,是一组可以按照时间查阅的数据序列,用户可以调阅之前某时刻的数值,得到该时刻的历史数据。将数据对象的历史数据分别存储到对应数据库文件,可以增加数据访问速度,并方便数据对象的添加、删除、迁移和数据库文件的备份。 

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号