一种数据加载的实现方法及系统技术方案

技术编号:3496122 阅读:113 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种数据加载的实现方法,该方法包括以下步骤:主系统根据其与不同子系统之间分别建立的不同数据加载任务,将数据加载任务对应的数据在内存中共享后,发送给加载该数据的不同数据加载任务分别对应的子系统。本发明专利技术还公开一种数据加载的实现系统。本发明专利技术是在主系统进行数据并行加载过程中,主系统第一次从存储单元将数据读入主系统内存后,共享内存,将该数据发送给加载该数据的不同数据加载任务分别对应的子系统,因此,本发明专利技术通过减少主系统重复读取数据所重复占用的系统资源,提高了数据并行加载的效率。

【技术实现步骤摘要】

本专利技术涉及数据加载
,尤其是涉及一种数据加载的实现方法及系统
技术介绍
随着网络技术的发展,大型网络设备也不断增多。大型网络设备包括众多分布式的子系统、以及对子系统集中管理的主系统,其对外表现为一个完整的应用系统或设备,而在大型网络设备启动以及运行过程中,例如,子系统根据所处理的业务,需要向主系统请求加载程序等数据,而主系统也会于对系统软件升级时,将为某一个程序的数据加载至相关的多个子系统中,因此,如何在大型网络设备中快速实现将主系统数据加载至各个子系统,是提高大型网络设备数据处理能力的因素之一。现有实现数据加载的方式有两种一种是采用数据串行加载,另一种是采用数据并行加载。其中,由于数据串行加载需要逐一完成主系统将数据加载至各个子系统,需要耗费较长的数据加载时间,因此主系统与子系统之间的通信效率较低,已很少使用在大型网络设备中。取而代之的是采用数据并行加载技术,可以实现并行处理主系统与多个子系统的数据加载任务,相对采用数据串行加载技术而言,采用数据并行加载技术可大大提高主系统与子系统之间的数据加载效率,缩短数据加载的时间,基本上可实现对各个子系统进行数据同步加载以及实现主系统与各个子系统的同时启动。但是,主系统并行将数据加载至各个子系统时,由于数据存储于主系统中的存储单元中,比如为硬盘、闪存,因此主系统与每个子系统之间建立的数据加载任务需要分别从存储单元获取数据;同时,由于硬盘、闪存等存储单元相对主系统以及子系统的处理器而言为慢速设备,主系统从存储单元获取数据需要占用大量的系统资源,且不利于提高并行数据加载速度。
技术实现思路
本专利技术解决的技术问题是提出了一种数据加载的实现方法及系统,以解决现有技术采用并行数据加载过程中,主系统重复读取数据所占用大量的系统资源,从而提高并行数据加载速度。为解决上述问题,本专利技术提出一种数据加载的实现方法,关键是,包括以下步骤主系统根据其与不同子系统之间分别建立的不同数据加载任务,将数据加载任务对应的数据在内存中共享后,发送给加载该数据的不同数据加载任务分别对应的子系统。于所述主系统与子系统之间建立数据加载任务的步骤之后,还包括将各个子系统与主系统之间建立的数据加载任务构成数据加载任务队列,且在数据加载任务队列中将加载同一数据的不同数据加载任务设置相互关联。所述构成数据加载任务队列的步骤具体包括预设主系统能同时处理数据加载任务的最大个数;按顺序将数据加载任务构成数据加载任务队列,并依次将数据加载任务队列中最大个数的数据加载任务设置为处理进程,其他数据加载任务设置为等待进程。所述将数据加载任务对应的数据在内存中共享后,发送给加载该数据的不同数据加载任务分别对应的子系统的步骤具体包括主系统将该数据加载任务对应的数据从存储介质中读入内存;在内存中将数据共享,并发送给所述处理进程中相互关联的不同数据加载任务所分别对应的子系统。所述建立数据加载任务的步骤具体包括子系统向主系统发送的数据加载请求消息或主系统向子系统发送的数据加载通知消息;主系统或子系统响应所述消息以建立主系统与子系统之间的数据加载任务。相应地,本专利技术提出一种数据加载的实现系统,用于实现从主系统中的存储模块中的数据加载至由主系统集中管理的多个子系统中,关键是,所述主系统包括任务建立模块、任务管理模块和任务执行模块;所述任务建立模块,用于与所述子系统之间建立数据加载任务;所述任务管理模块,用于管理数据加载任务队列,并将加载同一数据的不同数据加载任务设置相互关联;所述任务执行模块,用于执行数据加载任务,将数据在内存中共享后,发送给相互关联的数据加载任务分别对应的子系统。所述任务管理模块具体包括队列管理子模块,用于将主系统与各个子系统之间建立的数据加载任务构成队列,并将加载同一数据的不同数据加载任务设置相互关联;进程管理子模块,用于实时管理主系统并行处理的数据加载任务。所述任务执行模块具体包括数据读取子模块,用于从主系统的存储模块中将数据读入内存; 数据发送子模块,用于将数据在内存中共享后,发送给相互关联的数据加载任务分别对应的子系统。与现有技术相比,本专利技术具有以下有益效果由于本专利技术是在主系统数据并行加载过程中,主系统第一次从存储单元将数据读入主系统内存后,共享内存,将该数据发送给加载该数据的不同数据加载任务分别对应的子系统,因此,本专利技术通过减少主系统重复读取数据所重复占用的系统资源,从而提高数据并行加载效率,同时由于主系统读取数据所占用的系统资源减少,有利于增强主系统的系统稳定性。附图说明图1是本专利技术揭示的数据加载的实现方法流程示意图。图2是本专利技术揭示的数据加载的实现系统示意图。具体实施例方式本专利技术的指导思想是,当主系统需要将同一个数据并行加载至多个系统时,执行主系统与各个子系统之间分别建立的数据加载任务时,主系统无需执行数据加载任务均为从慢速设备的存储单元中读取数据,而是采用主系统第一次从存储单元将数据读入主系统内存后,共享内存,将该数据发送给加载该数据的不同数据加载任务分别对应的子系统,从而减少主系统重复读取数据所重复占用的系统资源,提高数据加载效率。请参照图1所示,为本专利技术揭示的数据加载的实现方法流程示意图。本专利技术包括如下步骤步骤s110子系统根据所处理的业务需要加载某一数据时,向主系统发送的数据加载请求消息,或者,由集中管理子系统的主系统向各个子系统发送的数据加载通知消息,主系统或子系统响应所述消息以建立主系统与子系统之间的数据加载任务;步骤s120主系统将其与各个子系统分别建立的数据加载任务按照建立时间顺序构成数据加载任务队列,且根据主系统预设能够并行处理的最大数据加载任务个数,顺序将数据加载任务队列相应个数的数据加载任务设置为处理进程,其他数据加载任务设置为等待进程;并使处理进程中加载同一数据的不同数据加载任务设置相互关联;步骤s130主系统执行数据加载任务队列中为处理进程的数据加载任务,从存储单元将一个数据加载任务对应的数据读入内存,并控制执行该数据加载任务相关联的其他数据加载任务时不再从存储单元中读取数据;步骤s140主系统将数据在内存中共享,并发送给与该数据加载任务相关联的所有数据加载任务分别对应的子系统。当然,若一个数据加载任务完成,则从数据加载任务队列中删除该数据加载任务,并使处于等待进程中的一个数据加载任务进入处理进程,开始执行该数据加载任务。另外,在步骤s120中,需要综合考虑主系统处理业务的占用的系统资源,以及处理数据加载任务能够占用的系统资源,预设主系统能够并行处理的最大个数的数据加载任务,以确保主系统不至于因处理数据加载任务而影响主系统的其他业务处理。在步骤s140中,主系统可以综合考虑主系统与子系统的数据处理能力,对发送给子系统的数据进行流量控制,以平衡主系统与子系统、子系统其她业务与数据加载任务之间的数据处理能力。另外,请参见图2所示,本专利技术还揭示了一种数据加载的实现系统,用于实现从主系统100中的存储模块110中的数据加载至由主系统100集中管理的多个子系统200中。所述主系统100包括任务建立模块120、任务管理模块130和任务执行模块140;所述任务建立模块120,用于所述主系统100与所述子系统200之间建立数据加载任务;所述任务管理模块130,用于管理数本文档来自技高网...

【技术保护点】
一种数据加载的实现方法,其特征在于,包括以下步骤:主系统根据其与不同子系统之间分别建立的不同数据加载任务,将数据加载任务对应的数据在内存中共享后,发送给加载该数据的不同数据加载任务分别对应的子系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴刚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利