一种基于物联网的海量存储系统及存储方法
【技术领域】
[0001]本发明涉及物联网技术领域,特别涉及一种基于物联网的海量存储系统及存储方法。
【背景技术】
[0002]物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。
[0003]网关又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。物联网网关通常用于物联网与互联网之间的协议转换。在10万台网关和10万App用户场景下,每秒钟网关上报1167次状态更新,每秒钟触发3333次联动。在10万网关情况下,一年就有36T的数据,数据量非常庞大,并且随着业务的发展,还在不断壮大,数据处理量非常大。现有的数据存储系统不支持数据的水平扩展,不支持数据处理的水平扩展,处理能力非常有限,处理速度慢。
【发明内容】
[0004]针对现有技术中的缺陷,本发明的目的是提供一种基于物联网的海量存储系统及存储方法。
[0005]本发明是通过以下技术方案实现的:
[0006]本发明提供一种基于物联网的海量存储系统,其包括:多个高速缓存节点,用于存储热点数据;
[0007]多个数据库节点,每个所述数据库节点包括一个主服务器和多个备服务器,用于存储温和数据;
[0008]分布式文件系统,用于存储冷数据。
[0009]较佳地,所述高速缓存节点为Redis节点。
[0010]较佳地,所述数据库节点为MySQL节点。
[0011]较佳地,所述分布式计算节点为HDinsight节点。
[0012]本发明还提供一种基于物联网的海量存储方法,其包括以下流程:
[0013]Fll:热点数据存储于高速缓存节点中;
[0014]F12:温和数据通过网关Id进行水平切分,分别存储于每个数据库节点中的一个主服务器和多个备服务器中;
[0015]F13:冷数据存储于分布式文件系统中;
[0016]上述流程不分先后顺序,也可以同时进行。
[0017]较佳地,所述流程FlI具体为:热点数据通过一致性hash算法存储于Redis节点。
[0018]较佳地,所述流程F12具体为:温和数据通过网关Id进行水平切分,和网关相关的设备也按照网关Id水平切分,用户和App不进行切分,在每个数据库节点中的一个主服务器和多个备服务器中分别存储一份。
[0019]较佳地,所述流程F12还包括:数据库节点按照每预定时间进行分区存放。
[0020]较佳地,所述流程F13具体为:冷数据通过HDinsight实现MapReduce算法,存储于 Azure 的 blockblob 里。
[0021]相较于现有技术,本发明具有以下优点:
[0022]本发明提供的基于物联网的海量存储系统存储方法,结合Redis高速缓存,Mysql数据库水平切分,以及HDinsight实现分布式计算,从而解决物联网的海量存储问题;
[0023](I) ,Redis高速缓存节点可以不停机线性扩展,新增或减少节点,不影响已经缓存的数据;
[0024](2)、由于流水数据都和网关相关,既保证了切分的有效性,也实现了切分的简单性;
[0025]3)、冷数据分布式统计算法和实时系统分开,从而保障实时系统性能。
[0026]当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0027]下面结合附图对本发明的实施方式作进一步说明:
[0028]图1为本发明的Redis节点的架构图;
[0029]图2为本发明的数据库节点的架构图;
[0030]图3为本发明的分布式统计算法的流程图。
[0031]符号说明:
[0032]1-Redis节点,2-数据库节点;
[0033]11-第一 Redis 节点,12-第二 Redis 节点;
[0034]21-第一数据库节点,22-第二数据库节点,23-第三数据库节点;
[0035]111-第一主 Redis 节点,112-第一备 Redis 节点,121-第二主 Redis 节点,122-第二备Redis节点;
[0036]211-第一主服务器,212-第一备服务器,221-第二主服务器,222-第二备服务器,231-第三主服务器,232-第三备服务器。
【具体实施方式】
[0037]下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0038]实施例1:
[0039]结合图1-图2,本实施例详细描述本发明的基于物联网的海量存储系统,其包括:多个Redis节点,每个Redis节点实现主机存储key-value,用于热点数据存储;客户端通过一致性hash算法,把缓存数据分布到不同的节点上,并保证新增或减少节点,不影响已经缓存的数据。当主机宕机时,备机自动起来,其结构如图1所示,此处以两个Redis节点I为例,分别为第一 Redis节点11和第二 Redis节点12,其中:第一 Redis节点11包括第一 Redis主节点111和第一 Redis备节点112 ;第二 Redis节点12包括第二 Redis主节点121和第二 Redis备节点122。APP对key做一致性hash算法,定位到具体的Redis节点,然后就可以存储数据。同时Redis主节点会同步一份数据到备节点。
[0040]多个数据库节点2,每个数据库节点包括一个主服务器和多个备服务器,用于存储温和数据;所有的流水数据都是和网关相关的,所以按照网关ID对所有的流水数据进行切分,其他元数据,保证每个数据库都有一份,极大的减少查询聚合的复杂性;主服务器和备服务器之间即解决的单点问题,读数据从备服务器读,其结构如图2所示,此处以三个数据库节点2为例,分别为第一数据库节点21、第二数据库节点22和第三数据库节点,第一数据库节点21包括一第一主服务器211和三个第一备服务器212,第二数据库节点22包括一第二主服务器221和三个第二备服务器222,第三数据库节点23包括一第三主服务器231和三个第三备服务器232。APP根据网关ID,Hash到具体某一节点数据库。节点内的主备数据库通过数据库自己的备份方案实现数据同步,数据查询和一些聚合运算通过开源工具“变形虫”实现。
[0041]分布式文件系统,用于存储冷数据;通过HDinsight实现MapReduce算法。
[0042]实施例2:
[0043]结合图1-图3的存储方案,本实施例详细描述本发明的基于物联网的海量存储方法,其包括以下流程:
[0044]Fll:热点数据存储于高速缓存节点中。
[0045]F12:温和数据通过网关Id进行水平切分,分别存储于每个数据库节点中的一个主服务器和多个备服务器中;
[0046]F13:冷数据存储于分布式文件系统中;
[0047]上述流程不分先后顺序,也可以同时进行。
[0048]其中:
[0049]Fll:缓存每个设备的最新状态,缓存每个设备用户的元数据;
[0050]F12:连接主服务器读取二进制日志,提取发生在所述主服务器上的行插入事件、解码事件,提取数据,并将其追加到分布式文件系统中的一个文本文件中;
[0051]F13:把前一段时间内的数据分配到不同的作业点,按产品需求进行不同的MapReduce计算,得到输出结果,包括:设备运行时段分析、用户使用设备分析等大数据。
[0052]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【主权项】
1.一种基于物联网的海量存储系统,其特征在于,包括:多个高速缓存节点,用于存储热点数据; 多个数据库节点,每个所述数据库节点包括一个主服务器和多个备服务器,用于存储温和数据; 分布式文件系统,用于存储冷数据。2.根据权利要求1所述的海量存储系统,其特征在于,所述高速缓存节点为Redis节点。3.根据权利要求1所述的海量存储系统,其特征在于,所述数据库节点为MySQL节点。4.根据权利要求1所述的海量存储系统,其特征在于,所述分布式文件系统为AzureBlock Blob05.一种基于物联网的海量存储方法,其特征在于,包括以下流程: Fll:热点数据存储于高速缓存节点中; F12:温和数据通过网关Id进行水平切分,分别存储于每个数据库节点中的一个主服务器和多个备服务器中; F13:冷数据存储于分布式文件系统中; 上述流程不分先后顺序,也可以同时进行。6.根据权利要求5所述的海量存储方法,其特征在于,所述流程Fll具体为:热点数据通过一致性hash算法存储于Redis节点。7.根据权利要求5所述的海量存储方法,其特征在于,所述流程F12具体为:温和数据通过网关Id进行水平切分,和网关相关的设备也按照网关Id水平切分,用户和App不进行切分,在每个数据库节点中的一个主服务器和多个备服务器中分别存储一份。8.根据权利要求7所述的海量存储方法,其特征在于,所述流程F12还包括:数据库节点按照每预定时间进行分区存放。9.根据权利要求5所述的海量存储方法,其特征在于,所述流程F13具体为:冷数据通过 HDinsight 实现 MapReduce 算法,存储于 Azure 的 blockblob 里。
【专利摘要】本发明提供了一种基于物联网的海量存储系统及存储方法,该系统包括:多个高速缓存节点,用于存储热点数据;多个数据库节点,每个所述数据库节点包括一个主服务器和多个备服务器,用于存储温和数据;分布式文件系统,用于存储冷数据。该方法包括:热点数据存储于高速缓存节点中;温和数据通过网关Id进行水平切分,分别存储于每个数据库节点中的一个主服务器和多个备服务器中;冷数据存储于分布式文件系统中;上述流程不分先后顺序,也可以同时进行。本发明的海量存储系统及方法支持海量数据的水平扩展,且支持数据处理的水平扩展,存储及处理速度非常快。
【IPC分类】G06F17/30
【公开号】CN105138673
【申请号】CN201510566048
【发明人】马延文
【申请人】浙江风向标科技有限公司
【公开日】2015年12月9日
【申请日】2015年9月8日