大数据的存储访问系统及方法
【技术领域】
[0001]本发明涉及大数据技术领域,特别是涉及一种大数据的存储访问系统及方法。
【背景技术】
[0002]随着物联网的发展,物联网终端设备不断增长,随之产生的数据量也呈爆炸性增长。传统的关系型数据库如果不能提出水平扩展的功能,已经不能满足日益增长的数据存储、检索、计算的需求。
[0003]现有技术中的计算框架可以针对性地解决很多的数据存储和分析需求,但是,现有的计算框架在海量数据上的查询和分析方面,存在实时性较低的问题。
【发明内容】
[0004]本发明要解决的技术问题是提供一种大数据存储访问系统及方法,提高大数据访问的实时性。
[0005]为解决上述技术问题,本发明实施例提供一种大数据存储访问系统,所述系统包括:
[0006]实时数据服务节点、历史数据服务节点和分布式协调服务器;
[0007]所述实时数据服务节点,适于存储消息队列中实时到达的实时数据,在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点;
[0008]所述历史数据服务节点,包括分布式文件系统,所述分布式文件系统适于将来自所述实时数据服务节点的超过服务期限的所述实时数据作为历史数据存储;
[0009]所述分布式协调服务器,适于管理所述实时数据服务节点与所述历史数据服务节点中的原数据信息,监控所述实时数据服务节点和所述历史数据服务节点,以及在所述实时数据超过服务期限通知所述实时数据服务节点。
[0010]可选地,所述实时数据服务节点,适于读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。
[0011]可选地,所述实时数据服务节点适于通过写入接口存储所述数据块于所述实时数据服务节点的内存中,在数据表所占内存达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点的磁盘中,并将所述数据块的状态改变通知所述分布式协调服务器。
[0012]可选地,所述分布式协调服务器适于记录所述实时数据的服务时间,当所述实时数据的服务时间达到所述服务期限时,通知所述实时数据服务节点将所述实时数据写入所述历史数据服务节点的分布式文件系统中。
[0013]可选地,所述历史数据服务节点还包括缓存,适于按照LRU存储最近的时间段内被检索到的查询结果。
[0014]可选地,所述分布式文件系统根据元数据表中存储介质配置信息设置对应的存储介质,所述存储介质包括SSD、DISK和ARCHIVE。
[0015]可选地,所述实时数据服务节点和所述历史数据服务节点中的数据为列式表达的数据。
[0016]可选地,所述大数据存储访问系统,还包括:数据服务节点:
[0017]所述数据服务节点,适于接收客户端的访问请求,根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求,调度所述实时数据的访问请求至所述实时数据服务节点计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果,并返回所述最终结果至所述客户端。
[0018]可选地,所述实时数据服务节点还适于接收实时数据的访问请求,计算所述实时数据的访问请求得到所述第一中间结果,并返回所述第一中间结果至所述数据服务节点。
[0019]可选地,所述历史数据服务节点还适于接收所述历史数据的访问请求,计算所述历史数据的访问请求得到所述第二中间结果,并返回所述第二中间结果至所述数据服务节点。
[0020]本发明实施例还提供一种大数据存储访问方法,采用上述的大数据存储访问系统,所述方法包括:
[0021]将消息队列中实时达到的实时数据存储于所述实时数据服务节点,并由所述分布式协调服务器记录实时数据片的存储位置;
[0022]在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点。
[0023]可选地,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,包括:读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。
[0024]可选地,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,包括:
[0025]实时数据服务节点通过写入接口存储所述数据块于所述实时数据服务节点的内存中;
[0026]在数据表所占内存达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点的磁盘中,并将所述数据块的状态改变通知所述分布式协调服务器。
[0027]可选地,所述大数据存储访问方法还包括:
[0028]所述数据服务节点接收客户端的访问请求;
[0029]根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求;
[0030]调度所述实时数据的访问请求至所述实时数据服务节点计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果;
[0031]返回所述最终结果至所述客户端。
[0032]与现有技术相比,本发明实施例的技术方案具有以下有益效果:
[0033]本发明实施例的技术方案设置实时数据服务节点、历史数据服务节点和分布式协调服务器,由实时数据服务节点存储实时数据,并在所述分布式协调服务器通知实时数据服务期限到达时,转存所述实时数据至所述历史服务节点,由所述历史服务节点存储超过服务期限的实时数据,并且有所述分布式协调服务器管理所述实时服务节点与所述历史服务节点,在所述实时数据的服务期限到达时同时所述实时服务节点将实施数据写入所述历史服务节点,从而可以在系统接收到数据访问的请求时,由相应的数据服务节点提供实时数据或历史数据,从而提升了系统访问实时数据的效率,从而提高大数据访问的实时性。
[0034]进一步地,通过设置数据服务节点,将来自客户端的访问请求根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求,再调度所述实时数据的访问请求和所述历史数据的访问请求至相应的数据服务节点计算中间结果返回给所述数据服务节点,由所述数据服务节点来合并中间结果得到最终结果至所述客户端,从而可以提升系统处理访问请求的效率,提升系统访问数据的实时性。
[0035]进一步地,通过在所述历史数据服务节点中设置缓存,在历史数据服务节点设置本地缓存以存储中间结果,可以借助LRU算法加快热点查询的效率。
[0036]进一步地,将所述实时数据服务节点和所述历史数据服务节点中的行式数据转换为列式表达,可以通过更有效的压缩技术降低存储开销,并且提供对列数据更快速的访问。
【附图说明】
[0037]图1是本发明实施例中的一种大数据存储访问系统的结构示意图;
[0038]图2是本发明实施例中的一种大数据存储访问系统的结构示意图;
[0039]图3是本发明实施例中的一种大数据存储访问的方法的流程图;
[0040]图4是本发明实施例中的一种大数据存储访问方法的流程图。
【具体实施方式】
[0041]如前所述,现有技术中的计算框架可以针对性地解决很多的数据存储和分析需求,现有的计算框架在海量数据上的查询和分析还存在实时性较低的问题。
[0042]本发明实施例的技术方案设置实时数据服务节点、历史数据服务节点和分布式协调服务器,由实时数据服务节点存储实时数据,并在所述分布式协调服务器通知实时数据服务期限到达时,转存所述实时数据至所述历史服务节点,由所述历史服务节点存储超过服务期限的实时数据,并且有所述分布
式协调服务器管理所述实时服务节点与所述历史服务节点,在所述实时数据的服务期限到达时同时所述实时服务节点将实施数据写入所述历史服务节点,上述的存储方案可以在系统接收到数据访问的请求时,由相应的数据服务节点提供实时数据或历史数据,从而可以在访问请求中涉及到实时数据时数据可被实时地检索到,相比现有技术中等离线计算和整理之后才能检索到实时数据而言,提升了系统访问到实时数据的效率,进而提升大数据存储访问的实时性。
[0043]进一步地,在系统接收到数据的访问请求时,由数据服务节点来将所述访问请求按照数据片的产生时间进行拆分,并转由相应的数据服务节点处理,从而可以提升系统处理访问请求的效率,提升系统访问数据的实时性。
[0044]为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0045]图1是本发明实施例中的一种大数据存储访问系统的结构示意图。图1是本发明实施例中的一种大数据存储访问系统的结构示意图。所述大数据存储访问系统10可以包括:实时数据服务节点101、历史数据服务节点102和分布式协调服务器103。
[0046]所述实时数据服务节点101,适于存储消息队列中实时到达的实时数据,在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点。
[0047]所述历史数据服务节点102,包括分布式文件系统,所述分布式文件系统适于将来自所述实时数据服务节点的超过服务期限的所述实时数据作为历史数据存储。
[0048]所述分布式协调服务器103,适于管理所述实时数据服务节点与所述历史数据服务节点中的原数据信息,监控所述实时数据服务节点和所述历史数据服务节点,以及在所述实时数据超过服务期限通知所述实时数据服务节点。
[0049]下面结合具体实施例对所述大数据存储访问系统进行说明。
[0050]图2是本发明实施例中的一种大数据存储访问系统的结构示意图。所述大数据存储访问系统10可以包括:实时数据服务节点101、历史数据服务节点102和分布式协调服务器 103。
[0051]所述实时数据服务节点101,适于存储消息队列中实时到达的实时数据,在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点。
[0052]在具体实施中,节点可以是一个服务器,或者逻辑上的一个服务进程。
[0053]在具体实施中,所述实时数据服务节点101,适于读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器103的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。例如,预定义的时间粒度可以是10分钟、1小时或1天,按照预定义的时间粒度来组织成一个或者多个存储块,一个存储块是128MB或者256MB。
[0054]在具体实施中,所述实时数据服务节点101适于通过写入接口存储所述数据块于所述实时数据服务节点101的内存1011中,在数据表所占内存1011达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点101的磁盘1012中,并将所述数据块的状态改变通知所述分布式协调服务器。
[0055]在具体实施中,为实时数据增加副本特性,可以设置多个副本分别分布在不同的所述实时数据服务节点101,用以解决在集群查询和计算压力较大的情况下,单一数据的服务能力不足的问题。
[0056]所述历史数据服务节点102,包括分布式文件系统1021,所述分布式文件系统1021适于将来自所述实时数据服务节点的超过服务期限的所述实时数据作为历史数据存储。
[0057]在具体实施中,所述历史数据服务节点102还可以包括缓存1022,适于按照LRU存储最近的时间段内被检索到的查询结果,从而加快热点查询的效率。
[0058]所述分布式协调服务器103,适于管理所述实时数据服务节点与所述历史数据服务节点中的原数据信息,监控所述实时数据服务节点和所述历史数据服务节点,以及在所述实时数据超过服务期限通知所述实时数据服务节点。
[0059]在具体实施中,所述分布式协调服务器103适于记录所述实时数据的服务时间,当所述实时数据的服务时间达到所述服务期限时,通知所述实时数据服务节点将所述实时数据写入所述历史数据服务节点的分布式文件系统中。
[0060]在具体实施中,所述分布式文件系统1021根据元数据表中的存储介质配置信息设置对应的存储介质,所述存储介质包括SSD(Solid-State Driver,固态硬盘)、DISK(普通磁盘)和ARCHIVE(Archival Storage,存储密度较高的存储介质)。
[0061]在具体实施中,所述实时数据服务节点101和所述历史数据服务节点102中的数据为列式表达的数据,将行式数据转换成列式可以通过更有效的压缩技术降低存储开销,并且提供对列更快速的访问。
[0062]本发明实施例的技术方案设置实时数据服务节点、历史数据服务节点和分布式协调服务器,由实时数据服务节点存储实时数据,并在所述分布式协调服务器通知实时数据服务期限到达时,转存所述实时数据至所述历史服务节点,由所述历史服务节点存储超过服务期限的实时数据,并且有所述分布式协调服务器管理所述实时服务节点与所述历史服务节点,在所述实时数据的服务期限到达时同时所述实时服务节点将实施数据写入所述历史服务节点,从而可以系统接受到数据访问的请求时,由相应的数据服务节点提供实时数据或历史数据,相比现有技术需要在离线计算之后才能访问更新的实时数据而言,本发明实施例的技术方案可以实时地访问到实时数据从而提升了系统访问到实时数据的效率。
[0063]在具体实施中,所述大数据存储访问系统10还可以包括:数据服务节点104。
[0064]所述数据服务节点104,适于接收客户端的访问请求,根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求,调度所述实时数据的访问请求至所述实时数据服务节点101计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点102计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果,并返回所述最终结果至所述客户端。
[0065]在具体实施中,一个查询分析语句经过从所述分布式协调服务器103获取原数据信息(Schema Informat1n),翻译成逻辑计划(Logical Plan),然后通过所述分布式协调服务器103收集到一些统计信息(如负载、数据的状态),进一步优化执行计划,生成物理逻辑计划(Physical Plan),并最终转换成执行算子(Executor)的组合,提交算子到所述历史数据服务节点和所述实时数据服务节点进行查询,所述数据服务节点104将收集到的所述第一中间结果和所述第二中间结果合并成一个最终结果,并返回至客户端。
[0066]在具体实施中,在有访问请求时,所述实时数据服务节点101还适于接收所述实时数据的访问,计算所述实时数据的访问得到所述第一中间结果,并返回所述第一中间结果至所述数据服务节点104。
[0067]在具体实施中,在有访问请求时,所述历史数据服务节点102还适于接收所述历史数据的访问,计算所述历史数据的访问得到所述第二中间结果,并返回所述第二中间结果至所述数据服务节点。
[0068]本发明实施例的技术方案通过设置所述数据服务节点,将来自客户端的访问请求根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求,再调度所述实时数据的访问请求和所述历史数据的访问请求至相应的数据服务节点计算中间结果返回给所述数据服务节点,由所述数据服务节点来合并中间结果得到最终结果至所述客户端,从而可以提升系统处理访问请求的效率,提升系统访问数据的实时性。
[0069]图3是本发明实施例中的一种大数据存储访问方法的流程图,所述方法采用了上述的大数据存储访问系统,可以包括如下步骤:
[0070]步骤S301:将消息队列中
实时达到的实时数据存储于实时数据服务节点,并由所述分布式协调服务器记录实时数据片的存储位置;
[0071 ]步骤S302:在收到来自所述分布式协调服务器的实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点。
[0072]在具体实施中,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,可以包括:读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。
[0073]在具体实施中,所述实时数据片是按时间粒度划分的原数据。
[0074]在具体实施中,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,可以包括:
[0075]实时数据服务节点通过写入接口存储所述数据块于所述实时数据服务节点的内存中;
[0076]在数据表所占内存达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点的磁盘中,并将所述数据块的状态改变通知所述分布式协调服务器。
[0077]图4是本发明实施例中的一种大数据存储访问方法的流程图。所述方法包括:
[0078]步骤S401:数据服务节点接收客户端的访问请求;
[0079]步骤S402:根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求;
[0080]步骤S403:调度所述实时数据的访问请求至所述实时数据服务节点计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果;
[0081]步骤S404:返回所述最终结果至所述客户端。
[0082]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:R0M、RAM、磁盘或光盘等。
[0083]虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
【主权项】
1.一种大数据存储访问系统,其特征在于,包括:实时数据服务节点、历史数据服务节点和分布式协调服务器; 所述实时数据服务节点,适于存储消息队列中实时到达的实时数据,在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点; 所述历史数据服务节点,包括分布式文件系统,所述分布式文件系统适于将来自所述实时数据服务节点的超过服务期限的所述实时数据作为历史数据存储; 所述分布式协调服务器,适于管理所述实时数据服务节点与所述历史数据服务节点中的原数据信息,监控所述实时数据服务节点和所述历史数据服务节点,以及在所述实时数据超过服务期限通知所述实时数据服务节点。2.根据权利要求1所述的大数据存储访问系统,其特征在于,所述实时数据服务节点,适于读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。3.根据权利要求1所述的大数据存储访问系统,其特征在于,所述实时数据服务节点适于通过写入接口存储所述数据块于所述实时数据服务节点的内存中,在数据表所占内存达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点的磁盘中,并将所述数据块的状态改变通知所述分布式协调服务器。4.根据权利要求1所述的大数据存储访问系统,其特征在于,所述分布式协调服务器适于记录所述实时数据的服务时间,当所述实时数据的服务时间达到所述服务期限时,通知所述实时数据服务节点将所述实时数据写入所述历史数据服务节点的分布式文件系统中。5.根据权利要求1所述的大数据存储访问系统,其特征在于,所述历史数据服务节点还包括缓存,适于按照LRU存储最近的时间段内被检索到的查询结果。6.根据权利要求1所述的大数据存储访问系统,其特征在于,所述分布式文件系统根据元数据表中存储介质配置信息设置对应的存储介质,所述存储介质包括SSD、DISK和ARCHIVEο7.根据权利要求1所述的大数据存储访问系统,其特征在于,所述实时数据服务节点和所述历史数据服务节点中的数据为列式表达的数据。8.根据权利要求1所述的大数据存储访问系统,其特征在于,还包括:数据服务节点: 所述数据服务节点,适于接收客户端的访问请求,根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求,调度所述实时数据的访问请求至所述实时数据服务节点计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果,并返回所述最终结果至所述客户端。9.根据权利要求8所述的大数据存储访问系统,其特征在于,所述实时数据服务节点还适于接收实时数据的访问请求,计算所述实时数据的访问请求得到所述第一中间结果,并返回所述第一中间结果至所述数据服务节点。10.根据权利要求8所述的大数据存储访问系统,其特征在于,所述历史数据服务节点还适于接收所述历史数据的访问请求,计算所述历史数据的访问请求得到所述第二中间结果,并返回所述第二中间结果至所述数据服务节点。11.一种大数据存储访问方法,其特征在于,采用权利要求1-10任一项所述的大数据存储访问系统,包括: 将消息队列中实时达到的实时数据存储于所述实时数据服务节点,并由所述分布式协调服务器记录实时数据片的存储位置; 在收到来自所述分布式协调服务器的所述实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点。12.根据权利要求11所述的大数据存储访问方法,其特征在于,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,包括:读取存储消息队列中实时到达的实时数据,根据来自所述分布式协调服务器的数据表的配置信息对所述实时数据进行解析以及构建索引,按照预定义的时间粒度组织成数据块进行存储。13.根据权利要求11所述的大数据存储访问方法,其特征在于,所述将消息队列中实时达到的实时数据存储于所述实时数据服务节点,包括: 实时数据服务节点通过写入接口存储所述数据块于所述实时数据服务节点的内存中; 在数据表所占内存达到阈值或数据表条目超过设定数目时,将所述实时数据转存至所述实时数据服务节点的磁盘中,并将所述数据块的状态改变通知所述分布式协调服务器。14.根据权利要求11所述的大数据存储访问方法,其特征在于,还包括: 所述数据服务节点接收客户端的访问请求; 根据所述访问请求中涉及数据片的产生时间,将所述访问请求拆分成实时数据的访问请求和历史数据的访问请求; 调度所述实时数据的访问请求至所述实时数据服务节点计算第一中间结果,调度所述历史数据的访问请求至所述历史数据服务节点计算第二中间结果,合并所述第一中间结果和所述第二中间结果得到最终结果; 返回所述最终结果至所述客户端。
【专利摘要】大数据存储访问系统及方法,所述系统包括:实时数据服务节点、历史数据服务节点和分布式协调服务器;所述实时数据服务节点适于存储消息队列中实时到达的实时数据,在收到来自所述分布式协调服务器的实时数据超过服务期限的通知时,转存所述实时数据至所述历史数据服务节点;所述历史数据服务节点包括分布式文件系统,适于将来自所述实时数据服务节点的超过服务期限的实时数据作为历史数据存储;所述分布式协调服务器,适于管理所述实时数据服务节点与所述历史数据服务节点中的原数据信息,监控所述实时数据服务节点和所述历史数据服务节点,以及在所述实时数据超过服务期限通知所述实时数据服务节点。上述方案可提高大数据访问的实时性。
【IPC分类】G06F17/30
【公开号】CN105488148
【申请号】CN201510843652
【发明人】汤奇峰, 姜冰
【申请人】上海晶赞科技发展有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日