CN105760452B - 一种高并发海量数据的采集、处理和存储的方法及系统 - Google Patents

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

Info

Publication number
CN105760452B
CN105760452B CN201610078465.8A CN201610078465A CN105760452B CN 105760452 B CN105760452 B CN 105760452B CN 201610078465 A CN201610078465 A CN 201610078465A CN 105760452 B CN105760452 B CN 105760452B
Authority
CN
China
Prior art keywords
data
load data
load
session
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610078465.8A
Other languages
English (en)
Other versions
CN105760452A (zh
Inventor
李海建
黄交存
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Jialida Energy Saving Technology Co ltd
Original Assignee
SHENZHEN JIALIDA INDUSTRIAL Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN JIALIDA INDUSTRIAL Co Ltd filed Critical SHENZHEN JIALIDA INDUSTRIAL Co Ltd
Priority to CN201610078465.8A priority Critical patent/CN105760452B/zh
Publication of CN105760452A publication Critical patent/CN105760452A/zh
Application granted granted Critical
Publication of CN105760452B publication Critical patent/CN105760452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种高并发海量数据的采集、处理和存储的方法及系统
技术领域
本发明属于节能技术领域,尤其涉及一种高并发海量数据的采集、处理和存储的方法及系统。
背景技术
建筑能耗管理工作,已经为国家至地方政府各职能主管部门高度重视,各项法规、标准、导则相继出台。2008年6月24日,住房和城乡建设部印发国家机关办公建筑和大型公共建筑能耗监测系统建设相关技术导则的通知,以“分项计量”作为能源管理工作的指导原则。
目前的建筑能耗管理软件系统都是将能耗设备进行分类或分项计量,对计量数据自动采集,通过计算机技术实现各计量点、区域实现能耗在线动态监测、能耗数据汇总统计、能耗指标总和考评、历史数据记录查询、能耗报表自动生成,其获取的能耗数据能够为管理者提供决策依据。然而,目前的建筑能耗管理软件系统存在以下问题:1)系统采用的数据传输解决方案存在有诸多的局限性,数据传输过程繁琐,不适用于多元数据的传输,不能支持万级并发数据接收;2)随着业务的开展,能耗数量增多,每年要存储PB级的数据量,并且要保存数据十年以上,由于数据结构的多样化,包括结构化数据和非结构化数据,这些数据类型缺乏单一性,使得系统采用的标准存储技术无法对大数据进行有效的存储;3)系统采用的数据库性能较低,不能够横向扩展,数据容易丢失或损坏,并且无法实现对亿条级数据进行快速处理。
发明内容
本发明实施例的目的在于提供一种高并发海量数据的采集、处理和存储的方法及系统,旨在解决上述建筑能耗管理软件系统存在不能支持万级并发数据接收、无法对大数据进行有效的存储、数据库性能较低以及无法实现对亿条级数据进行快速处理的问题。
本发明实施例是这样实现的,一种高并发海量数据的采集、处理和存储的方法,包括:
接收客户端发送的会话请求;
通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;
通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;
通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。
在本发明实施例所述的高并发海量数据的采集、处理和存储的方法中,通过所述链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据具体包括:
通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;
通过所述会话与所述客户端进行双向AES和MD5加密验证;
判断所述双向AES和MD5加密验证是否通过;
若验证通过,则接收所述客户端监测到的负载数据;若验证未通过,则预警并断开所述会话,清空所述会话。
在本发明实施例所述的高并发海量数据的采集、处理和存储的方法中,通过所述数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中具体包括:
通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
判断缓存至各个数据块中的负载数据是否为明文;
若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断各个数据块中的负载数据是否为一条完整的消息;若为一条完整的消息,则对所述负载数据进行解码,并判断解码后的负载数据是否正常,若正常,则将解码后的负载数据发送至数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;
若是明文,则直接判断所述负载数据是否正常,若正常,则将所述负载数据发送至所述数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;
释放对所述会话中的负载数据进行缓存处理的数据处理线程。
在本发明实施例所述的高并发海量数据的采集、处理和存储的方法中,所述主数据库包括关系型数据库和非关系型数据库,通过所述数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库具体包括:
通过数据存储通道中注册的选择器选择空闲的数据存储线程接收各个数据块发送的负载数据;
将所述负载数据写入所述非关系型数据库中;
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域。
在本发明实施例所述的高并发海量数据的采集、处理和存储的方法中,所述关系型数据库包括写数据库和读数据库,在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中的局部数据存储区域具体包括:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。
本发明实施例的另一目的在于提供一种高并发海量数据的采集、处理和存储的系统,包括:
会话请求监听模块,用于接收客户端发送的会话请求;
通讯链接处理模块,用于通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;
多线程缓存数据处理模块,用于通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;
数据存储模块,用于通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。
在本发明实施例所述的高并发海量数据的采集、处理和存储的系统中,通讯链接处理模块包括:
会话创建单元,用于通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;
加密验证单元,用于通过所述会话与所述客户端进行双向AES和MD5加密验证;
第一判断单元,用于判断所述双向AES和MD5加密验证是否通过;
数据读取单元,用于若验证通过,则接收所述客户端监测到的负载数据;
第一预警单元,用于若验证未通过,则预警并断开所述会话,清空所述会话。
在本发明实施例所述的高并发海量数据的采集、处理和存储的系统中,所述多线程缓存数据处理模块包括:
数据缓存解码线程池,用于通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
第二判断单元,用于判断各个数据块中的负载数据是否为明文;
报文头解析单元,用于若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断当前所述数据块中的负载数据是否为一条完整的消息;
解码单元,用于若为一条完整的消息,则对所述负载数据进行解码;
第三判断单元,用于判断解码后的负载数据是否正常;还用于若当前所述数据块中的负载数据是明文,则直接判断所述负载数据是否正常;
数据同步处理单元,用于若所述负载数据正常,则将负载数据发送至数据存储通道并同步至其他节点数据库,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程;
第二预警单元,用于若所述负载数据异常,则进行数据异常报警,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程。
在本发明实施例所述的高并发海量数据的采集、处理和存储的系统中,所述主数据库包括关系型数据库和非关系型数据库,所述数据存储模块包括:
数据入库线程池,用于通过数据存储通道中注册的选择器选择空闲的数据存储线程接收多个数据块发送的负载数据,并将所述负载数据写入所述非关系型数据库中;
数据分析统计单元,用于在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域。
在本发明实施例所述的高并发海量数据的采集、处理和存储的系统中,所述关系型数据库包括写数据库和读数据库,所述数据分析统计单元具体用于:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。
实施本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法及系统具有以下有益效果:
本发明实施例由于采用链接通道中注册的选择器分配线程处理接收到的客户端发送的会话请求以建立与所述客户端的会话,从而能够达到异步非阻塞事件的回调,实现多路复用,适用于多元数据的传输,能够支持万级并发数据接收;由于通过数据处理通道中注册的选择器分配线程将所述会话中的负载数据缓存至多个数据块中,并将多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中,从而能够实现高效缓存及横向扩展,拥有实时同步的副本,当主数据库面临灾难时,可以在短时间内通过故障转移的方式保证数据库的可用性;由于将原始能耗数据先写入非关系型数据库中进行分析统计,然后对分析统计后的负载数据进行分片和分配处理,再将分片和分配处理后的数据写入关系型数据库中的局部数据存储区域中,并采用数据分离技术对关系型数据库中的写操作和读操作进行分离,从而能够减轻数据库的压力,提高数据库的性能,使得数据库可以对数据进行有效存储以及对亿条级数据进行快速处理。
附图说明
图1是本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法的具体实现流程图;
图2是本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法中步骤S102的具体实现流程图;
图3是本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法中步骤S103的具体实现流程图;
图4是本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法中步骤S104的具体实现流程图;
图5是本发明实施例提供的一种高并发海量数据的采集、处理和存储的系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法的具体实现流程。参见图1所示,本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法的实现流程具体详述如下:
在S101中,接收客户端发送的会话请求。
在本发明实施例中,高并发海量数据的采集、处理和存储系统可同时接收万级节点处客户端发送的会话请求,其中所述客户端包括但不限于位于各节点处的电表、水表、流量传感器、温湿度传感器、压力传感器以及冷热量监测装置等用于采集建筑能耗系统中各个节点处负载数据的装置,所述负载数据包括能耗数据和温度、湿度、压力、流量等运行参数。
在S102中,通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据。
作为一具体实现示例,图2示出了S102的具体实现流程,参见图2所示,S102具体包括:
在S201中,通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;
在S202中,通过所述会话与所述客户端进行双向AES和MD5加密验证;
在S203中,判断所述双向AES和MD5加密验证是否通过,若验证通过,则进入步骤S204,否则跳转至步骤S205;
在S204中,接收所述客户端监测到的负载数据;
在S205中,预警并断开所述会话连接,清空所述会话。
在本发明实施例中,由于采用链接通道中注册的选择器分配线程处理客户端发送的链接请求,并根据所述链接请求创建的会话请求,以建立与所述客户端的会话,并在处理完成后释放处理所述链接请求的线程,以便后续链接通道中的选择器能够继续将其他客户端发送的链接请求分配给该线程处理,从而能够实现多路复用,适用于多元数据的传输,能够支持万级并发数据接收。
在S103中,通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中。
作为一具体实现示例,图3示出了S103的具体实现流程,参见图3所示,S103具体包括:
在S301中,通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
在S302中,判断当前所述数据块中的负载数据是否为明文,若不是明文,则进入步骤S303;若是明文,则跳转至步骤S305;
在S303中,读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度;
在S304中,根据所述消息主体的长度判断当前所述数据块中的负载数据是否为一条完整的消息,若为一条完整的消息,则对所述负载数据进行解码,以获取明文的负载数据;
在S305中,判断明文的负载数据是否正常,若正常,则进入步骤S306;否则,进入步骤S307;
在S306中,将负载数据发送至数据存储通道并且同步至其他节点数据库;
在S307中,进行数据异常报警;
在S308中,释放对所述会话中的负载数据进行缓存处理的数据处理线程。
在本发明实施例中,由于通过数据处理通道中注册的选择器分配线程将所述会话发送的负载数据缓存至多个数据块中,并将各个数据块中缓存的负载数据发送至数据存储通道并且同步至其他节点数据库中,从而能够通过高效缓存实现数据库的横向扩展,使得系统拥有实时同步的副本,当主数据库面临灾难时,可以在短时间内通过故障转移的方式保证数据库的可用性;此外,当数据丢失或损坏时,也能够使系统通过上述实时同步的副本实现数据的零损失。
在S104中,通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入所述主数据库。
在本发明实施例中,所述主数据库包括关系型数据库和非关系型数据库,参见图4所示,S104的具体实现流程详述如下:
在S401中,通过数据存储通道中注册的选择器选择空闲的数据存储线程接收多个数据块发送的负载数据;
在S402中,将所述负载数据写入所述非关系型数据库中;
在S403中,在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域。
在本发明实施例中,所述关系型数据库包括写数据库和读数据库,S403中具体包括:在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。进一步的,所述写数据库和所述读数据库均包括分类分项数据存储区域、时区数据存储区域以及空间数据存储区域等局部存储区域。
本发明实施例中由于将原始负载数据先写入非关系型数据库中进行分析统计处理后,然后对分析统计后的负载数据进行分片和分配处理,再将分片和分配处理后的数据写入关系型数据库中的局部数据存储区域中,这样实现了第一步分离,然后又采用数据分离技术对关系型数据库中的写操作和读操作进行分离,这样实现了第二部分离,从而能有效的减轻数据库的压力,提高数据库的性能,使得数据库能够实现数据的有效存储以及对亿条级数据进行快速处理。
以上可以看出,本发明实施例提供的一种高并发海量数据的采集、处理和存储的方法由于采用链接通道中注册的选择器分配线程处理监听到的客户端发送的会话请求以建立与所述客户端的会话,从而能够达到异步非阻塞事件的回调,实现多路复用,适用于多元数据的传输,能够支持万级并发数据接收;由于通过数据处理通道中注册的选择器分配线程将所述会话中的负载数据缓存至多个数据块中,并将数据块中缓存后的负载数据发送至数据存储通道并且同步至其他节点数据库中,从而能够通过高效缓存实现横向扩展,拥有实时同步的副本,当主数据库面临灾难时,可以在短时间内通过故障转移的方式保证数据库的可用性;由于将原始能耗数据先写入非关系型数据库中进行分析统计,然后对分析统计后的负载数据进行分片和分配处理,再将分片和分配处理后的数据写入关系型数据库中的局部数据存储区域中,并采用数据分离技术对关系型数据库中的写操作和读操作进行分离,从而能够减轻数据库的压力,提高数据库的性能,使得数据库可以对数据进行有效存储以及对亿条级数据进行快速处理。
图5示出了本发明实施例提供的一种高并发海量数据的采集、处理和存储的系统的结构框图,该系统用于运行图1~图4所示实施例提供的方法。为了便于说明,仅仅示出了与本实施例相关的部分。
参见图5所示,本实施例提供的一种高并发海量数据的采集、处理和存储的系统,包括:
会话请求监听模块1,用于接收客户端发送的会话请求;
通讯链接处理模块2,用于通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据;
多线程缓存数据处理模块3,用于通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;
数据存储模块4,用于通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库。
可选的,通讯链接处理模块2包括:
会话创建单元21,用于通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话连接;
加密验证单元22,用于通过所述会话与所述客户端进行双向AES和MD5加密验证;
第一判断单元23,用于判断所述双向AES和MD5加密验证是否通过;
数据读取单元24,用于若验证通过,则接收所述客户端监测到的负载数据;
第一预警单元25,用于若验证未通过,则预警并断开所述会话,清空所述会话。
可选的,所述多线程缓存数据处理模块3包括:
数据缓存解码线程池31,用于通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
第二判断单元32,用于判断各个数据块中的负载数据是否为明文;
报文头解析单元33,用于若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断当前所述数据块中的负载数据是否为一条完整的消息;
解码单元34,用于若为一条完整的消息,则对所述负载数据进行解码;
第三判断单元35,用于判断解码后的负载数据是否正常;还用于若当前所述数据块中的负载数据是明文,则直接判断所述负载数据是否正常;
数据同步处理单元36,用于若所述负载数据正常,则将负载数据发送至数据存储通道并且同步至其他节点数据库,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程;
第二预警单元37,用于若所述负载数据异常,则进行数据异常报警,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程。
可选的,所述主数据库包括关系型数据库和非关系型数据库,所述数据存储模块4包括:
数据入库线程池41,用于通过数据存储通道中注册的选择器选择空闲的数据存储线程接收多个数据块发送的负载数据,并将所述负载数据写入所述非关系型数据库中;
数据分析统计单元42,用于在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域。
可选的,所述关系型数据库包括写数据库和读数据库,所述数据分析统计单元42具体用于:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。
需要说明的是,本发明实施例提供的上述系统中各个模块,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
因此,可以看出本发明实施例提供的一种高并发海量数据的采集、处理和存储的系统同样由于采用链接通道中注册的选择器分配线程处理监听到的客户端发送的会话请求以建立与所述客户端的会话,从而能够达到异步非阻塞事件的回调,实现多路复用,适用于多元数据的传输,能够支持万级并发数据接收;由于通过数据处理通道中注册的选择器分配线程将所述会话中的负载数据缓存至多个数据块中,并将数据块中缓存后的负载数据发送至主数据库并且同步至其他节点数据库中,从而能够实现高效缓存以及数据库的横向扩展,拥有实时同步的副本,当主数据库面临灾难时,可以在短时间内通过故障转移的方式保证数据库的可用性;由于将原始能耗数据先写入非关系型数据库中进行分析统计,然后对分析统计后的负载数据进行分片和分配处理,再将分片和分配处理后的数据写入关系型数据库中的局部数据存储区域中,并采用数据分离技术对关系型数据库中的写操作和读操作进行分离,从而能够减轻数据库的压力,提高数据库的性能,使得数据库可以对数据进行有效存储以及对亿条级数据进行快速处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种高并发海量数据的采集、处理和存储的方法,其特征在于,包括:
接收客户端发送的会话请求;
通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据,包括:通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;通过所述会话与所述客户端进行双向AES和MD5加密验证;判断所述双向AES和MD5加密验证是否通过;若验证通过,则接收所述客户端监测到的负载数据;若验证未通过,则预警并断开所述会话,清空所述会话;所述负载数据包括能耗数据和温度运行参数、湿度运行参数、压力运行参数、以及流量运行参数;
通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;
通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库;
所述主数据库包括关系型数据库和非关系型数据库,通过所述数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库具体包括:
通过数据存储通道中注册的选择器选择空闲的数据存储线程接收各个数据块发送的负载数据;
将所述负载数据写入所述非关系型数据库中;
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域,对所述关系型数据库中的写操作和读操作进行分离。
2.如权利要求1所述的高并发海量数据的采集、处理和存储的方法,其特征在于,通过所述数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中具体包括:
通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
判断缓存至各个数据块中的负载数据是否为明文;
若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断各个数据块中的负载数据是否为一条完整的消息;若为一条完整的消息,则对所述负载数据进行解码,并判断解码后的负载数据是否正常,若正常,则将解码后的负载数据发送至数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;
若是明文,则直接判断所述负载数据是否正常,若正常,则将所述负载数据发送至所述数据存储通道并且同步至其他节点数据库,若异常,则进行数据异常报警;
释放对所述会话中的负载数据进行缓存处理的数据处理线程。
3.如权利要求1所述的高并发海量数据的采集、处理和存储的方法,其特征在于,所述关系型数据库包括写数据库和读数据库,在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中的局部数据存储区域具体包括:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。
4.一种高并发海量数据的采集、处理和存储的系统,其特征在于,包括:
会话请求监听模块,用于接收客户端发送的会话请求;
通讯链接处理模块,用于通过链接通道中注册的选择器分配线程处理所述会话请求以建立与所述客户端的会话,并判断所述会话是否合法,若合法,则接收所述客户端监测到的负载数据,包括:会话创建单元,用于通过链接通道中注册的选择器分配线程处理所述会话请求,以建立与所述客户端的会话;加密验证单元,用于通过所述会话与所述客户端进行双向AES和MD5加密验证;第一判断单元,用于判断所述双向AES和MD5加密验证是否通过;数据读取单元,用于若验证通过,则接收所述客户端监测到的负载数据;第一预警单元,用于若验证未通过,则预警并断开所述会话,清空所述会话;所述负载数据包括能耗数据和温度运行参数、湿度运行参数、压力运行参数、以及流量运行参数;
多线程缓存数据处理模块,用于通过数据处理通道中注册的选择器分配线程将所述负载数据缓存至多个数据块中,并将所述多个数据块中的负载数据发送至数据存储通道并同步至其他节点数据库中;
数据存储模块,用于通过数据存储通道中注册的选择器分配线程接收多个数据块发送的所述负载数据,并将所述负载数据写入主数据库;
所述主数据库包括关系型数据库和非关系型数据库,所述数据存储模块包括:
数据入库线程池,用于通过数据存储通道中注册的选择器选择空闲的数据存储线程接收多个数据块发送的负载数据,并将所述负载数据写入所述非关系型数据库中;
数据分析统计单元,用于在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述关系型数据库中对应的局部数据存储区域,对所述关系型数据库中的写操作和读操作进行分离。
5.如权利要求4所述的高并发海量数据的采集、处理和存储的系统,其特征在于,所述多线程缓存数据处理模块包括:
数据缓存解码线程池,用于通过数据处理通道中注册的选择器选择空闲的数据处理线程将所述会话中的负载数据缓存至多个数据块中;
第二判断单元,用于判断各个数据块中的负载数据是否为明文;
报文头解析单元,用于若不是明文,则读取并解析所述负载数据的报文头以获取所述报文头中指定的消息主体的长度,并根据所述消息主体的长度判断当前所述数据块中的负载数据是否为一条完整的消息;
解码单元,用于若为一条完整的消息,则对所述负载数据进行解码;
第三判断单元,用于判断解码后的负载数据是否正常;还用于若当前所述数据块中的负载数据是明文,则直接判断所述负载数据是否正常;
数据同步处理单元,用于若所述负载数据正常,则将负载数据发送至数据存储通道并同步至其他节点数据库,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程;
第二预警单元,用于若所述负载数据异常,则进行数据异常报警,然后释放对所述会话中的负载数据进行缓存处理的数据处理线程。
6.如权利要求4所述的高并发海量数据的采集、处理和存储的系统,其特征在于,所述关系型数据库包括写数据库和读数据库,所述数据分析统计单元具体用于:
在所述非关系型数据库中对所述负载数据进行分析统计,并对分析统计后的负载数据进行分片和分配处理,将分片和分配处理后的负载数据写入所述写数据库中对应的局部数据存储区域并且同步至所述读数据库中对应的局部数据存储区域。
CN201610078465.8A 2016-02-04 2016-02-04 一种高并发海量数据的采集、处理和存储的方法及系统 Active CN105760452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610078465.8A CN105760452B (zh) 2016-02-04 2016-02-04 一种高并发海量数据的采集、处理和存储的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610078465.8A CN105760452B (zh) 2016-02-04 2016-02-04 一种高并发海量数据的采集、处理和存储的方法及系统

Publications (2)

Publication Number Publication Date
CN105760452A CN105760452A (zh) 2016-07-13
CN105760452B true CN105760452B (zh) 2020-03-10

Family

ID=56330560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610078465.8A Active CN105760452B (zh) 2016-02-04 2016-02-04 一种高并发海量数据的采集、处理和存储的方法及系统

Country Status (1)

Country Link
CN (1) CN105760452B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162557A (zh) * 2019-04-01 2019-08-23 深圳达实智能股份有限公司 基于实时数据库的大数据量并发访问方法和电子设备
CN110032571B (zh) * 2019-04-18 2023-04-18 腾讯科技(深圳)有限公司 业务流程处理方法、装置、存储介质及计算设备
CN110674116B (zh) * 2019-09-25 2022-05-03 四川长虹电器股份有限公司 一种基于swoole的校验插入数据库数据重复的系统及方法
CN111221829A (zh) * 2019-11-15 2020-06-02 浙江鸿程计算机系统有限公司 一种应对关系数据库入库瓶颈问题的处理方法
CN112512031B (zh) * 2020-11-10 2021-10-08 广州爱浦路网络技术有限公司 一种应用于5g网络的数据采集方法和5g网络
CN113568587B (zh) * 2021-09-22 2021-12-24 深圳市中天碧姆科技有限公司 智慧城市实时数据处理方法、系统及存储介质
CN115396383B (zh) * 2022-07-18 2023-08-11 伟乐视讯科技股份有限公司 一种多台设备传输码流中反向控制码流的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521897A (zh) * 2008-02-27 2009-09-02 华为技术有限公司 一种数据收集方法及移动终端
CN101610190A (zh) * 2009-07-22 2009-12-23 刘文祥 数据网络和系统
CN103246696A (zh) * 2013-03-21 2013-08-14 宁波公众信息产业有限公司 高并发数据库的访问方法及应用于多服务器系统的方法
CN104050256A (zh) * 2014-06-13 2014-09-17 西安蒜泥电子科技有限责任公司 基于主动学习的问答方法及采用该方法的问答系统
CN104317800A (zh) * 2014-09-19 2015-01-28 山东大学 一种海量智能用电数据混合存储系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120310917A1 (en) * 2011-05-31 2012-12-06 International Business Machines Corporation Accelerated Join Process in Relational Database Management System
US9514007B2 (en) * 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
CN104158757B (zh) * 2014-08-21 2017-07-07 福建星海通信科技有限公司 一种gps数据入库处理方法和系统
CN104598563B (zh) * 2015-01-08 2018-09-04 北京京东尚科信息技术有限公司 高并发数据存储方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521897A (zh) * 2008-02-27 2009-09-02 华为技术有限公司 一种数据收集方法及移动终端
CN101610190A (zh) * 2009-07-22 2009-12-23 刘文祥 数据网络和系统
CN103246696A (zh) * 2013-03-21 2013-08-14 宁波公众信息产业有限公司 高并发数据库的访问方法及应用于多服务器系统的方法
CN104050256A (zh) * 2014-06-13 2014-09-17 西安蒜泥电子科技有限责任公司 基于主动学习的问答方法及采用该方法的问答系统
CN104317800A (zh) * 2014-09-19 2015-01-28 山东大学 一种海量智能用电数据混合存储系统及方法

Also Published As

Publication number Publication date
CN105760452A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105760452B (zh) 一种高并发海量数据的采集、处理和存储的方法及系统
CN107818120B (zh) 基于大数据的数据处理方法和装置
CN104778188A (zh) 一种分布式设备日志采集方法
CN111586091B (zh) 一种实现算力组配的边缘计算网关系统
CN109460339B (zh) 日志的流式计算系统
CN111930835B (zh) 一种城市轨道交通用智能运维大数据管理系统和方法
CN109801399A (zh) 新能源车辆故障实时报警方法及系统
CN111127250B (zh) 一种电力数据监控事件分析系统及方法
CN111046022A (zh) 一种基于大数据技术的数据库审计方法
CN112130999A (zh) 一种基于边缘计算的电力异构数据处理方法
CN104574557A (zh) 一种基于告警的站点巡检方法、操控装置和系统
CN112865311B (zh) 一种电力系统消息总线监视方法和装置
CN103716384A (zh) 跨数据中心实现云存储数据同步的方法和装置
Ma et al. Design and implementation of smart city big data processing platform based on distributed architecture
CN112632129A (zh) 一种码流数据管理方法、装置及存储介质
CN110995785A (zh) 基于物联网的低压配电网云平台
CN112989389A (zh) 一种数据安全防护方法及系统
CN116703024A (zh) 基于电力大数据的煤炭行业企业生产情况分析系统
CN117440187A (zh) 一种用于城市公共安全的预警方法、系统及存储介质
CN106412513B (zh) 视频处理系统及处理方法
CN108156177A (zh) 基于大数据的信息网安全态势感知预警方法
CN113947498A (zh) 一种融合终端数据中心的数据存储与检索方法
CN110134578B (zh) 一种数据处理方法及装置
CN108989456B (zh) 一种基于大数据的网络实现方法
CN111049898A (zh) 一种实现计算集群资源跨域架构的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518109 block CD, 11th floor, building 2, financial service technology innovation base, No.8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SHENZHEN JIALIDA ENERGY SAVING TECHNOLOGY CO.,LTD.

Address before: 518109 block CD, 11th floor, building 2, financial service technology innovation base, No.8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Jialida Industrial Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP03 Change of name, title or address

Address after: 518000 floor C14, Skyworth building, 008 Gaoxin South 1st Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SHENZHEN JIALIDA ENERGY SAVING TECHNOLOGY CO.,LTD.

Address before: 518109 block CD, 11th floor, building 2, financial service technology innovation base, No.8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN JIALIDA ENERGY SAVING TECHNOLOGY CO.,LTD.

CP03 Change of name, title or address