一种处理车载终端海量数据的方法和系统的制作方法

文档序号:6536395阅读:192来源:国知局
一种处理车载终端海量数据的方法和系统的制作方法
【专利摘要】本发明公开了一种处理车载终端海量数据的方法和系统,以简化操作并提高查询性能和效率。所述方法包括:Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群;关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群;Hadoop服务器集群将实时业务数据交由各个与管理区域相应的区域服务器协同处理;Hadoop服务器集群将处理后的数据交互至关系数据库服务器集群的关系数据库集群。一方面,通过有效并合理的结合传统的关系数据库和天然分布式的Hadoop云存储这两种的优点解决了物联网海量数据各种特征的存储和检索问题,归并了传统解决方案的查询的性能难题;另一方面,实现了Hadoop服务器集群中服务器负载的均衡,提高了整个系统的性能。
【专利说明】一种处理车载终端海量数据的方法和系统
【技术领域】
[0001]本发明涉及云计算领域,具体涉及一种处理车载终端海量数据的方法和系统。
【背景技术】
[0002]某些车载终端,由于所依附的车辆多数时间处于行驶当中,往往产生数量过亿级、数据量达TB级的记录。例如,以一个车载终端每秒钟产生一条数据,每条数据100个字节的保守估计,那么,一个小时3600条记录,0.34MB数据,保守估计每台车每天平均开动4小时,则一天产生的记录数量为:4*60*60=14400 条,即(14400*100) / (1024*1024) =2.04MB的数据。那么100万个车载终端每天就会产生144亿条记录,2TB的数据,每年产生5万亿的记录,600多TB的数据。由于数据量庞大,如何存储以及如何处理,如何保证高处理性能,又保证高容错性能等等都是业界亟待解决和处理的问题。
[0003]由于传统的关系数据库无法在单库单表里存储和处理数以百亿计的记录,单库多表也无法存储数以百亿和数据量达2TB的记录,现有技术提供的一种处理车载终端海量数据的方法是使用传统的关系数据库分库分表来存储采集的数据。分库分表的策略完全由数据库的数据访问层(Data Access Layout,DAL)来处理,包括数据的备份和数据库的灾难恢复等都依靠手工处理,数据的分析完全靠自己去实现。
[0004]上述现有技术的主要缺陷在于:第一,数据量和负载增加后,添加服务器等设备的操作比较复杂;第二,有些范围查询需要访问几乎所有的分区,影响查询的性能和效率。

【发明内容】

[0005]本发明实施例提供一种处理车载终端海量数据的方法和系统,以简化操作并提高查询性能和效率。
[0006]本发明实施例提供一种处理车载终端海量数据的方法,所述方法包括:
[0007]Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群;
[0008]关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群;
[0009]所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理;
[0010]所述Hadoop服务器集群将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
[0011]本发明另一实施例提供一种处理车载终端海量数据的系统,所述系统包括Hadoop服务器集群和关系数据库服务器集群;
[0012]所述Hadoop服务器集群,用于将来自车载终端的实时业务数据存储于Hbase数据库集群;
[0013]所述关系数据库服务器集群,用于将来自车载终端的基础数据存储于关系数据库集群;
[0014]所述Hadoop服务器集群还用于将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理,将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
[0015]从上述本发明实施例可知,一方面,由于Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群,关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群,通过有效并合理的结合传统的关系数据库和天然分布式的Hadoop云存储这两种的优点解决了物联网海量数据各种特征的存储和检索问题,归并了传统解决方案的查询的性能难题;另一方面,Hadoop服务器集群将实时业务数据交由各个与管理区域相应的区域服务器协同处理,实现了 Hadoop服务器集群中服务器负载的均衡,提高了整个系统的性能。
【专利附图】

【附图说明】
[0016]图1是本发明实施例提供的处理车载终端海量数据的方法的基本流程示意图;
[0017]图2是本发明实施例提供的处理车载终端海量数据的系统结构示意图;
[0018]图3是本发明实施例提供的与附图2示例的处理车载终端海量数据的系统相应的逻辑功能架构示意图;
[0019]图4是本发明实施例提供的与附图2示例的处理车载终端海量数据的系统相应的物理设备架构示意图;
[0020]图5是本发明另一实施例提供的处理车载终端海量数据的系统结构示意图。【具体实施方式】
[0021]本发明实施例提供一种处理车载终端海量数据的方法,所述方法包括=Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群;关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群;所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理;所述Hadoop服务器集群将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。本发明实施例还提供相应的处理车载终端海量数据的系统。以下分别进行详细说明。
[0022]本发明实施例的处理车载终端海量数据的方法的基本流程可参考图1,主要包括步骤SlOl至步骤S104:
[0023]SlOLHadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群。
[0024]Hadoop为Apache基金会下面的一个开源项目,其中包含数量较多的子项目,Hadoop服务器集群是一个分布式服务器集群,包括其中的Hbase数据库集群在内构成的系统是一个云存储系统,Hbase数据库集群中的Hbase数据库是Hadoop子项目之一,为分布式的、面向列的开源数据库。在本发明实施例中,来自车载终端的实时业务数据包括GPS信息、车辆实时状态数据和远程诊断信息等等,这些信息作为基础数据,可存储于Hbase数据库集群。
[0025]S102,关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群。
[0026]关系数据库服务器集群是一群关系数据库服务器的集合,每一个关系数据库服务器都装有关系数据库,例如,MySQL数据库。来自车载终端的基础数据包括设备信息、用户信息、用户汽车阈值(包括电子栏栅、超速阈值和各种数据采集的频度等)、下载的软件、时区信息和系统日志等。
[0027]S103,Hadoop服务器集群将实时业务数据交由各个与管理区域相应的区域服务器协同处理。
[0028]具体地,作为本发明一个实施例,Hadoop服务器集群将实时业务数据交由各个与管理区域相应的区域服务器协同处理包括如下步骤S1031至步骤S1034:
[0029]S1031,区域服务器获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/o操作。
[0030]在由Hadoop服务器集群构成的分布式云存储系统中,包括一个主服务器(MasterServer),每一时刻,Hbase数据库集群只有主服务器的一个主服务器程序HMaster在运行。Hadoop服务器集群中,使用主服务器来管理区域服务器(即RegionServer),主服务器将每一个区域(即Region)分配给对应的区域服务器,并协调区域服务器的负载和集群的状态。自始至终,主服务器不会对外提供数据服务,至于数据的读写请求,则由区域服务器全权负责处理。
[0031]当车载终端,例如RCU-U,将收集到的实时业务数据通过网络发送至Hadoop服务器集群后,相关组件首先去HMaster中获取区域所在的位置,然后将这些数据交由相关的区服务器来处理,区服务器拿到数据请求后,将这些数据交给相应的区域实例进行输入/输出(Input/Output, I/O)操作。
[0032]为了之后如果出现异常时能回放数据和同步数据,在本发明实施例中,区域服务器将实时业务数据交由区域实例进行I/O操作之后,区域服务器将I/O操作的结果写入用户操作日志。
[0033]S1032,区域服务器将I/O操作的结果写入内存。
[0034]在本发明实施例中,内存即MenStore,是专门用于存储hbase特定格式的文件的一块内存区域。
[0035]S1033,根据所述内存中数据量的大小,区域服务器将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件。
[0036]具体地,包括步骤S10331和步骤S10332,
[0037]S10331,当内存中数据量超过第二阈值时,区域服务器将内存中的数据刷新至磁盘形成第一存储文件。
[0038]具体地,当内存中的数据量累计超过第二阈值,例如,预先设定的一个阀值时,区域服务器开启一个单独的线程将内存中的数据刷新到磁盘中,形成一个存储文件StoreFile。为了区别,这里将此时形成的存储文件称为第一存储文件。
[0039]S10332,当第一存储文件的数量超过第三阈值时,将多个第一存储文件合并为第二存储文件。
[0040]当步骤S10331中的多个第一存储文件的数量超过第三阈值时,就将此多个超过第三阈值时合并为一个新的存储文件。为了与前述的第一存储文件相区别,这里将合并后的新的存储文件称为第二存储文件。
[0041]当然,在合并的过程中会进行版本合并和数据删除等,也就是说Hbase数据库中存放的是最后的增量数据,所以更新和删除操作都是在之后的合并过程中进行的,这也是本发明的优势和特点,因为原始数据只有增量数据,没有修改和删除的逻辑,其原因在于数据来源是车载终端,例如RCU-U,而车载终端在运行过程中只会实时插入数据,不会有修改和删除的逻辑。
[0042]S1034,当第二存储文件的容量超过第一阈值时,Hadoop服务器集群中的主服务器将当前管理区域分割为两个管理区域,将两个管理区域分别交由相应的两个区域服务器处理。
[0043]当单个存储文件的大小即第二存储文件的容量超过第一阈值时,Hadoop服务器集群中的主服务器将当前管理区域分割成两个管理区域,然后由HMaster将所述分割所得的两个管理区域分别交由相应的两个区域服务器处理,从而实现负载均衡。
[0044]S104,Hadoop服务器集群将处理后的数据交互至关系数据库服务器集群的关系数据库集群。
[0045]Hadoop服务器集群将数据处理后,会在业务场景中处理后的数据交互至关系数据库服务器集群的关系数据库集群。例如,以后想频繁的从某个维度查看某车辆的历史统计信息,则为了效率的考虑,Hadoop服务器集群将处理后的数据交互至关系数据库服务器集群的关系数据库集群,例如,由众多MySQL数据库构成的关系数据库集群。
[0046]至于每个表的所有区(即子表)所在的位置,存放在元数据(meta)表中。随着子表的增加,存放位置关系的meta表的数据量也会随之变得非常庞大。为了性能的考虑,也会将meta表分割成多个子表并将之放入相应管理区域中。为了定位到meta子表,HBase数据库会用Root表来存放meta子表的位置信息。至于Root表在什么地方,会在ZooKeeper中记录着。所以,每次存放车载终端,例如RCU-U的记录时,ZooKeeper是必经之路,只有在ZooKeeper中找到相关的位置信息,才能确定数据作用在什么地方,而ZooKeeper是业界公认的协调服务工具,相当可靠。
[0047]从上述本发明实施例提供的处理车载终端海量数据的方法可知,一方面,由于Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群,关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群,通过有效并合理的结合传统的关系数据库和天然分布式的Hadoop云存储这两种的优点解决了物联网海量数据各种特征的存储和检索问题,归并了传统解决方案的查询的性能难题;另一方面,Hadoop服务器集群将实时业务数据交由各个与管理区域相应的区域服务器协同处理,实现了 Hadoop服务器集群中服务器负载的均衡,提高了整个系统的性能。
[0048]下面对用于执行上述处理车载终端海量数据的方法的本发明实施例的处理车载终端海量数据的系统进行说明,其基本结构参考图2。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图2示例的处理车载终端海量数据的系统主要包括Hadoop服务器集群201和关系数据库服务器集群202,详细说明如下:
[0049]Hadoop服务器集群201,用于将来自车载终端的实时业务数据存储于Hbase数据库集群。
[0050]关系数据库服务器集群202,用于将来自车载终端的基础数据存储于关系数据库集群。
[0051]Hadoop服务器集群201还用于将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理,将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
[0052]附图3给出了与附图2示例的处理车载终端海量数据的系统相应的逻辑功能架构,在这一架构中,云存储系统,例如RCU云存储系统存储的数据包括GPS信息、车辆实时状态数据、远程诊断信息、用户操作日志记录,云存储系统,例如RCU云存储系统上的应用包括设备信息存储、用户信息存储、用户汽车阀值存储(电子栏栅、超速阀值和各种数据采集的频度等)、软件下载、系统日志存储和第三方应用的API等等。
[0053]附图4给出了与附图2示例的处理车载终端海量数据的系统相应的物理设备架构。在附图4示例的处理车载终端海量数据的系统相应的物理设备架构中,通讯集群通过云存储系统层,例如,RCU云存储系统层提供的API接口将车载终端(例如,RCU-U)采集的实时业务的数据插入到Hbase数据库,云存储,例如RCU云存储门户采用经典的MVC三层结构,改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层就能实现显示模块与功能模块的分离。这些特点提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。根据用户的请求,决定是从关系数据库集群获取数据还是从Hbase数据库集群获取数据或者两者都有。
[0054]附图2示例的处理车载终端海量数据的系统中,Hadoop服务器集群201包括主服务器501和至少一个区域服务器502,如附图5所示本发明另一实施例提供的处理车载终端海量数据的系统。在附图5示例的处理车载终端海量数据的系统中,Hadoop服务器集群201还用于将实时业务数据交由各个与管理区域相应的区域服务器协同处理具体为:区域服务器502用于获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/O操作,将所述I/O操作的结果写入内存,根据所述内存中数据量的大小,将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件,主服务器501用于当所述第二存储文件的容量超过第一阈值时,将当前管理区域分割为两个管理区域,将两个管理区域分别交由相应的两个区域服务器处理。
[0055]附图5示例的处理车载终端海量数据的系统中,区域服务器502用于根据所述内存中数据量的大小,将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件具体为:区域服务器502用于当所述内存中数据量超过第二阈值时,将所述内存中的数据刷新至磁盘形成第一存储文件,当所述第一存储文件的数量超过第三阈值时,将多个所述第一存储文件合并为所述第二存储文件。
[0056]附图5示例的处理车载终端海量数据的系统中,区域服务器502还用于将多个所述第一存储文件合并为所述第二存储文件时,对版本进行合并和对数据进行删除。
[0057]附图5示例的处理车载终端海量数据的系统中,区域服务器502还用于获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/O操作之后,将所述I/O操作的结果写入用户操作日志。
[0058]作为另一方面,本发明再一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行一个处理车载终端海量数据的方法,所述方法包括:
[0059]Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群;
[0060]关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群;
[0061]所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理;
[0062]所述Hadoop服务器集群将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
[0063]假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理,包括:
[0064]所述区域服务器获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/o操作;
[0065]所述区域服务器将所述I/O操作的结果写入内存;
[0066]根据所述内存中数据量的大小,所述区域服务器将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件;
[0067]当所述第二存储文件的容量超过第一阈值时,所述Hadoop服务器集群中的主服务器将当前管理区域分割为两个管理区域,将所述两个管理区域分别交由相应的两个区域服务器处理。
[0068]假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述根据所述内存中数据量的大小,所述区域服务器将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件,包括:
[0069]当所述内存中数据量超过第二阈值时,所述区域服务器将所述内存中的数据刷新至磁盘形成第一存储文件;
[0070]当所述第一存储文件的数量超过第三阈值时,将多个所述第一存储文件合并为所述第二存储文件。
[0071]假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述将多个所述第一存储文件合并为所述第二存储文件还包括:
[0072]对版本进行合并和对数据进行删除。
[0073]假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述区域服务器获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/o操作之后还包括:
[0074]所述区域服务器将所述I/O操作的结果写入用户操作日志。
[0075]需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。[0076]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
[0077]以上对本发明实施例所提供的一种处理车载终端海量数据的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种处理车载终端海量数据的方法,其特征在于,所述方法包括: Hadoop服务器集群将来自车载终端的实时业务数据存储于Hbase数据库集群; 关系数据库服务器集群将来自车载终端的基础数据存储于关系数据库集群; 所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理; 所述Hadoop服务器集群将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
2.根据权利要求1所述的方法,其特征在于,所述Hadoop服务器集群将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理,包括: 所述区域服务器获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/O操作; 所述区域服务器将所述I/O操作的结果写入内存; 根据所述内存中数据量的大小,所述区域服务器将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件; 当所述第二存储文件的容量超过第一阈值时,所述Hadoop服务器集群中的主服务器将当前管理区域分割为两个管理区域,将所述两个管理区域分别交由相应的两个区域服务器处理。
3.根据权利要求2所述的方法,其特征在于,所述根据所述内存中数据量的大小,所述区域服务器将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件,包括: 当所述内存中数据量超过第二阈值时,所述区域服务器将所述内存中的数据刷新至磁盘形成第一存储文件; 当所述第一存储文件的数量超过第三阈值时,将多个所述第一存储文件合并为所述第二存储文件。
4.根据权利要求3所述的方法,其特征在于,所述将多个所述第一存储文件合并为所述第二存储文件还包括: 对版本进行合并和对数据进行删除。
5.根据权利要求2所述的方法,其特征在于,所述区域服务器获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/O操作之后还包括: 所述区域服务器将所述I/o操作的结果写入用户操作日志。
6.一种处理车载终端海量数据的系统,其特征在于,所述系统包括Hadoop服务器集群和关系数据库服务器集群; 所述Hadoop服务器集群,用于将来自车载终端的实时业务数据存储于Hbase数据库集群; 所述关系数据库服务器集群,用于将来自车载终端的基础数据存储于关系数据库集群; 所述Hadoop服务器集群还用于将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理,将处理后的数据交互至所述关系数据库服务器集群的关系数据库集群。
7.根据权利要求6所述的系统,其特征在于,所述Hadoop服务器集群包括主服务器和至少一个区域服务器,所述Hadoop服务器集群还用于将所述实时业务数据交由各个与管理区域相应的区域服务器协同处理具体为: 所述区域服务器,用于获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/O操作,将所述I/O操作的结果写入内存,根据所述内存中数据量的大小,将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件; 所述主服务器,用于当所述第二存储文件的容量超过第一阈值时,将当前管理区域分割为两个管理区域,将所述两个管理区域分别交由相应的两个区域服务器处理。
8.根据权利要求7所述的系统,其特征在于,所述区域服务器用于根据所述内存中数据量的大小,将所述内存中的数据刷新至磁盘并通过文件合并形成第二存储文件具体为:所述区域服务器用于当所述内存中数据量超过第二阈值时,将所述内存中的数据刷新至磁盘形成第一存储文件,当所述第一存储文件的数量超过第三阈值时,将多个所述第一存储文件合并为所述第二存储文件。
9.根据权利要求8所述的系统,其特征在于,所述区域服务器还用于将多个所述第一存储文件合并为所述第二存储文件时,对版本进行合并和对数据进行删除。
10.根据权利要求7所述的系统,其特征在于,所述区域服务器还用于获得所述来自车载终端的实时业务数据后,将所述实时业务数据交由区域实例进行输入/输出I/o操作之后,将所述I /o操作的结果写入用户操作日志。
【文档编号】G06F17/30GK103793493SQ201410027650
【公开日】2014年5月14日 申请日期:2014年1月21日 优先权日:2014年1月21日
【发明者】刘均, 张伟, 尹建中 申请人:深圳市元征科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1