一种高并发海量数据的采集、处理和存储的方法及系统技术方案

技术编号:13346729 阅读:109 留言:0更新日期:2016-07-14 21:44
本发明专利技术提供一种高并发海量数据的采集、处理和存储的方法及系统,涉及节能技术领域。该方法包括:接收客户端发送的会话请求;通过链接通道中注册的选择器分配线程处理会话请求以建立与客户端的会话,判断会话是否合法,若合法,则接收客户端监测到的负载数据;通过数据处理通道中注册的选择器分配线程将负载数据缓存至多个数据块中,并将多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;通过数据存储通道中注册的选择器分配线程接收多个数据块发送的负载数据,并将负载数据写入主数据库。本发明专利技术能够实现高并发性多节点处数据的采集、处理以及存储,保证数据库的高性能和稳定性。

【技术实现步骤摘要】

本专利技术属于节能
,尤其涉及一种高并发海量数据的采集、处理和存储的方法及系统
技术介绍
建筑能耗管理工作,已经为国家至地方政府各职能主管部门高度重视,各项法规、标准、导则相继出台。2008年6月24日,住房和城乡建设部印发国家机关办公建筑和大型公共建筑能耗监测系统建设相关技术导则的通知,以“分项计量”作为能源管理工作的指导原则。目前的建筑能耗管理软件系统都是将能耗设备进行分类或分项计量,对计量数据自动采集,通过计算机技术实现各计量点、区域实现能耗在线动态监测、能耗数据汇总统计、能耗指标总和考评、历史数据记录查询、能耗报表自动生成,其获取的能耗数据能够为管理者提供决策依据。然而,目前的建筑能耗管理软件系统存在以下问题:1)系统采用的数据传输解决方案存在有诸多的局限性,数据传输过程繁琐,不适用于多元数据的传输,不能支持万级并发数据接收;2)随着业务的开展,能耗数量增多,每年要存储PB级的数据量,并且要保存数据十年以上,由于数据结构的多样化,包括结构化数据和非结构化数据,这些数据类型缺乏单一性,使得系统采用的标准存储技术无法对大数据进行有效的存储;3)系统采用的数据库性能较低,不能够横向扩展,数据容易丢失或损坏,并且无法实现对亿条级数据进行快速处理。
技术实现思路
本专利技术实施例的目的在于提供一种高并发海量数据的采集、处理和存储的方法及系统,旨在解决上述建筑能耗管理软件系统存在不能支持万级并发数据接收、无法对大数据进行有效的存储、数据库性能较低以及无法实现对亿条级数据进行快速处理的问题。本专利技术实施例是这样实现的,一种高并发海量数据的采集、处理和存储的方法,包括:接收客户端发送的会话请求;通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。在本专利技术实施例所述的高并发海量数据的采集、处理和存储的方法中,通过所述链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据具体包括:通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;通过所述会话与所述客户端进行双向AES和MD5加密验证;判断所述双向AES和MD5加密验证是否通过;若验证通过,则接收所述客户端监测到的负载数据;若验证未通过,则预警并断开所述会话,清空所述会话。在本专利技术实施例所述的高并发海量数据的采集、处理和存储的方法中,通过所述数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中具体包括:通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;判断缓存至各个数据块中的负载数据是否为明文;若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断各个数据块中的负载数据是否为一条完整的消息;若为一条完整的消息,则对所述负载数据进行解码,并判断解码后的负载数据是否正常,若正常,则将解码后的负载数据发送至数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;若是明文,则直接判断所述负载数据是否正常,若正常,则将所述负载数据发送至所述数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;释放对所述会话中的负载数据进行缓存处理的数据处理线程。在本专利技术实施例所述的高并发海量数据的采集、处理和存储的方法中,所述主数据库包括关系型数据库和非关系型数据库,通过所述数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库具体包括:通过数据存储通道中注册的选择器选择空闲的数据存储线程接收各个数据块发送的负载数据;将所述负载数据写入所述非关系型数据库中;在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域。在本专利技术实施例所述的高并发海量数据的采集、处理和存储的方法中,所述关系型数据库包括写数据库和读数据库,在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中的局部数据存储区域具体包括:在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。本专利技术实施例的另一目的在于提供一种高并发海量数据的采集、处理和存储的系统,包括:会话请求监听模块,用于接收客户端发送的会话请求;通讯链接处理模块,用于通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;多线程缓存数据处理模块,用于通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;数据存储模块,用于通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。在本专利技术实施例所述的高并发海量数据的采集、处理和存储的系统中,通讯链接处理模块包括:会话创建单元,用于通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;加密验证单元,用于通过所述会话与所述客户端进行双向AES和MD5加密验证;第一判断单元,用于判断所述双向AES和MD5加密验证是否通过;数据读取单元,用于若验证通过,则接收所述客户端监测到的负载数据;第一预警单元,用于若验证未通过,则预警并断开所述本文档来自技高网...

【技术保护点】
一种高并发海量数据的采集、处理和存储的方法,其特征在于,包括:接收客户端发送的会话请求;通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。

【技术特征摘要】
1.一种高并发海量数据的采集、处理和存储的方法,其特征在于,包括:
接收客户端发送的会话请求;
通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客
户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的
负载数据;
通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数
据块中,将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节
点数据库中;
通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负
载数据,并将所述负载数据写入主数据库。
2.如权利要求1所述的高并发海量数据的采集、处理和存储的方法,其特
征在于,通过所述链接通道中注册的选择器分配线程处理所述会话请求以建立
与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端
监测到的负载数据具体包括:
通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述
客户端的会话;
通过所述会话与所述客户端进行双向AES和MD5加密验证;
判断所述双向AES和MD5加密验证是否通过;
若验证通过,则接收所述客户端监测到的负载数据;若验证未通过,则预
警并断开所述会话,清空所述会话。
3.如权利要求2所述的高并发海量数据的采集、处理和存储的方法,其特
征在于,通过所述数据处理通道中注册的选择器分配线程将所述负载数据缓存
至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同
步至其他节点数据库中具体包括:
通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中

\t的负载数据缓存至多个数据块中;
判断缓存至各个数据块中的负载数据是否为明文;
若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指
定的消息主体的长度,并根据所述消息主体的长度判断各个数据块中的负载数
据是否为一条完整的消息;若为一条完整的消息,则对所述负载数据进行解码,
并判断解码后的负载数据是否正常,若正常,则将解码后的负载数据发送至数
据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;
若是明文,则直接判断所述负载数据是否正常,若正常,则将所述负载数
据发送至所述数据存储通道并且同步至其他节点数据库,若异常,则进行数据
异常报警;
释放对所述会话中的负载数据进行缓存处理的数据处理线程。
4.如权利要求3所述的高并发海量数据的采集、处理和存储的方法,其特
征在于,所述主数据库包括关系型数据库和非关系型数据库,通过所述数据存
储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所
述负载数据写入主数据库具体包括:
通过数据存储通道中注册的选择器选择空闲的数据存储线程接收各个数据
块发送的负载数据;
将所述负载数据写入所述非关系型数据库中;
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后
的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关
系型数据库中对应的局部数据存储区域。
5.如权利要求4所述的高并发海量数据的采集、处理和存储的方法,其特
征在于,所述关系型数据库包括写数据库和读数据库,在所述非关系型数据库
中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配
处理,将分片和分配处理后的负载数据写入所述关系型数据库中的局部数据存
储区域具体包括:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后
的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写
数据库中对应...

【专利技术属性】
技术研发人员:李海建黄交存
申请(专利权)人:深圳市嘉力达实业有限公司
类型:发明
国别省市:广东;44

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

1