一种基于云计算技术的股票数据采集和存储方法和系统技术方案

技术编号:8302515 阅读:464 留言:0更新日期:2013-02-07 07:44
本发明专利技术公开了一种基于云计算技术的股票数据采集和存储方法,包括:获取多个股票代码,并为该股票代码生成对应的URL列表文件,设置云计算平台的Hadoop分布式文件系统的分片大小,将URL列表文件存储在Hadoop分布式文件系统上,接收用户提交的股票数据采集请求,根据文件分片的个数将股票数据采集请求分解为相应个数的Map任务,并将分解后的Map任务指派给相应分片所在的从服务器执行,根据分解后的Map任务从服务器向远程股票数据服务器发出Http数据请求,并且远程股票数据服务器返回股票数据,根据分解后的Map任务对股票数据进行解析,解析功能函数程序的编制遵循远程股票服务器对股票数据的结构描述。本发明专利技术开发简单,可实现股票数据的快速采集,数据结构扩展性好。

【技术实现步骤摘要】

本专利技术属于网络应用
,更具体地,涉及一种基于云计算技术的股票数据采集和存储方法和系统
技术介绍
证券交易日产生的股票数据的特征主要表现为实时性和大规模。目前,沪深两市在交易日每支股票每5秒会产生一条更新数据,每天数据增长容量在I. 5-2GB之间。据2011年相关统计数据,在国内沪深交易所上市交易股票数1800支左右,香港交易所6700左右,国外仅以美国纳斯达克证券市场为例上市交易股票数5800支左右。若把基金和债券考虑在内则某时刻同时产生的数据量更多。随着时间的积累,股票数据规模非常可观,且与一般 日志数据不同的是,这些数据在金融工程领域有较高的分析价值,金融投资研究机构需要经常对历史和实时数据进行挖掘创新。处理高频且大规模的股票数据是一个大型的工程问题,包括数据如何去存储,到这些数据如何建模、计算,到最后形成高效的数据组织之后如何应用这些数据。一般的数据库系统无法满足如此大规模和实时性,灵活性的要求。单独使用关系型数据库实现方法存在开发复杂、实时性差、管理困难、数据结构灵活性差等问题。若采用OracIe Timesten解决方案,存在软硬件成本昂贵、横向扩展难度较大以及需要有使用经验的技术员工等问题。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种基于云计算技术的股票数据采集和存储方法,其开发简单、实现大规模股票数据的快速采集、股票数据高效组织、数据结构扩展性好。为实现上述目的,本专利技术提供了一种基于云计算技术的股票数据采集和存储方法,包括以下步骤(I)获取多个股票代码,并为该股票代码生成对应的URL列表文件,(2)设置云计算平台的Hadoop分布式文件系统的分片大小,(3)将URL列表文件存储在Hadoop分布式文件系统上,(4)接收用户提交的股票数据采集请求,根据文件分片的个数将股票数据采集请求分解为相应个数的Map任务,并将分解后的Map任务指派给相应分片所在的从服务器执行,(5)根据分解后的Map任务从服务器向远程股票数据服务器发出Http数据请求,并且远程股票数据服务器返回股票数据,从而实现股票数据的并行采集,(6)根据分解后的Map任务对股票数据进行解析,解析功能函数程序的编制遵循远程股票服务器对股票数据的结构描述,(7)根据分解后的Map任务将解析后的股票数据存储在从服务器上的分布式数据库HBase中。步骤(I)中URL列表文件是按行组织的文本形式的文件,每一行为一个URL链接,且每个URL链接含有190支股票代码。步骤(4)具体为,采集工作是遵循Hadoop分布式并行编程MapReduce模型开发出来的应用程序,其中包含一个Map任务功能函数,所述函数中实现了股票数据采集、解析和存储功能。步骤(6)具体为,首先以回车符作为特征将含有股票数据的StockData值分割成190个数据对象,保存在TempResult数组中,然后依次取出TempResult数组中的每一个元素,使用String对象的Split方法,利用双引号符号特征将信息内容分割成二个部分,其中 第一部分包含了股票代码ID,第二部分中包含了有用的股票数据信息,先取出第二部分内容,再按逗号分割成32份,保存在数组Result中。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术具有以下的有益效果I、开发简单因为步骤(4)中采用了开源云计算Hadoop系统提供的提供的MapReduce分布式计算编程模型,开发人员只需写较少的代码就可以完成复杂的分布式应用程序的开发。2、实时性强因为在步骤(4)、步骤(5)和步骤(6)中编写了 MapReduce模型的计算任务,将股票数据的采集、解析和存储等较重的计算任务分解成若干小计算任务分配到多台服务器上并行执行完成,所以,本方法具有较高计算效率,能实现股票数据的快速采集和存储。3、股票数据的高效组织因为在步骤(7)中结合股票数据处理应用的需求特征设计了基于分布式数据库HBase技术的股票数据存储结构,便于各种应用服务的开发,如查询服务、统计应用或者如进行股票变化规律聚类等数据挖掘高级应用,实现结构良好的股票历史数据存储中心。4、数据结构易于扩展由于采用了基于分布式数据库HBase技术,描述股票数据属性结构是灵活的,可根据存储需求随时通过增加列族的列标签的方式增加新的属性描述,这相比传统关系型数据库固定的关系模式结构要灵活得多。本专利技术的另一目的在于提供一种基于云计算技术的股票数据采集和存储系统,其能满足大规模股票数据采集和存储对系统的需求,软硬件成本低廉,服务资源具有良好的可扩展性。为实现上述目的,本专利技术提供了一种基于云计算技术的股票数据采集和存储系统,包括URL列表文件生成模块、文件分片大小设置模块、URL列表文件存储模块、股票数据采集请求提交模块、数据采集模块、数据解析模块、数据存储模块、以及云计算软件系统支撑模块。URL列表文件生成模块用于获取多个股票代码,并为股票代码生成对应的URL列表文件,文件分片大小设置模块用于设置云计算平台的Hadoop分布式文件系统的分片大小,URL列表文件存储模块用于将URL列表文件存储在Hadoop分布式文件系统上,股票数据采集请求提交模块用于向云计算平台提交股票数据采集请求,数据采集模块用于从远程股票数据服务器获取股票数据,数据解析模块用于对获取到的股票数据进行格式解析,数据存储模块用于将解析后股票数据存储到分布式数据库系统中,云计算软件系统支撑模块用于提供URL列表文件生成模块、文件分片大小设置模块、URL列表文件存储模块、股票数据采集请求提交模块、数据采集模块和数据解析模块运行的软件支撑环境。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术具有以下的有益效果I、软硬件成本低廉因为股票数据采集和存储云服务的构建系统采用了 Hadoop云计算技术,Hadoop可以部署在由普通计算机构成集群上的,而不需要传统方法所需要的高性能服务器,且Hadoop是开源的云计算技术项目,所以,本专利技术系统的软硬件成本比较低。2、资源利用率高因为采用了云计算服务架构,能实现多台普通计算机协同工作,提高了硬件资源的利用率。 3、可扩展性好由于采用Hadoop云计算技术,所以,可在不停止当前服务的情况下动态增加服务器的个数,从而增加整个云平台的计算能力和存储能力。附图说明图I是本专利技术的硬件应用环境图。图2是本专利技术基于云计算技术的股票数据采集和存储方法的流程图。图3是本专利技术基于云计算技术的股票数据采集和存储系统的示意框图。图4是URL列表文件实例图。图5是基于分布式计算技术的采集过程图。图6是股票数据中间结果数据实例图。图7是股票数据解析示意图。图8是基于分布式存储技术的存储组织模型设计图。图9是基于分布式存储技术的数据存储实例示意图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图I所示,本专利技术的硬件应用环境如下由客户端、一个主服务器和多个从服务器组成的云计算平台、以及远程股票数据服务器组成。采集股票数据工作请求由用户通过客户端提交到主服务器;主服务器先将采集工作分解为多个采集Map任务并分配到不同的本文档来自技高网...

【技术保护点】
一种基于云计算技术的股票数据采集和存储方法,其特征在于,包括以下步骤:(1)获取多个股票代码,并为该股票代码生成对应的URL列表文件;(2)设置云计算平台的Hadoop分布式文件系统的分片大小;(3)将所述URL列表文件存储在所述Hadoop分布式文件系统上;(4)接收用户提交的股票数据采集请求,根据文件分片的个数将所述股票数据采集请求分解为相应个数的Map任务,并将分解后的Map任务指派给相应分片所在的从服务器执行;(5)根据所述分解后的Map任务从服务器向远程股票数据服务器发出Http数据请求,并且所述远程股票数据服务器返回股票数据,从而实现股票数据的并行采集;(6)根据所述分解后的Map任务对所述股票数据进行解析,解析功能函数程序的编制遵循远程股票服务器对股票数据的结构描述;(7)根据所述分解后的Map任务将解析后的股票数据存储在从服务器上的分布式数据库HBase中。

【技术特征摘要】

【专利技术属性】
技术研发人员:李成华江小平张华余良李凡
申请(专利权)人:中南民族大学
类型:发明
国别省市:

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

1