CN107766529B - 一种用于污水处理行业的海量数据存储方法 - Google Patents
一种用于污水处理行业的海量数据存储方法 Download PDFInfo
- Publication number
- CN107766529B CN107766529B CN201711018477.2A CN201711018477A CN107766529B CN 107766529 B CN107766529 B CN 107766529B CN 201711018477 A CN201711018477 A CN 201711018477A CN 107766529 B CN107766529 B CN 107766529B
- Authority
- CN
- China
- Prior art keywords
- data
- measuring point
- node
- storage
- value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于污水处理行业的海量数据存储方法,与现有技术相比解决了难以针对海量数据进行高效存取的缺陷。本发明包括以下步骤:采集数据,获取污水处理厂各级智能终端的测点数据;布置分布式缓存数据节点并预存测点数据;数据库的分区存储;Key信息的优化处理;测点数据的存入。本发明提出分布式缓存扩展方案,并通过相应方法进一步对数据进行分区和快速定位;同时结合污水行业采集系统信号采集的特点,按照时间规则优化了Key和Value值的生成机制,构建了一套完整的分布式可动态扩展缓存处理方法。
Description
技术领域
本发明涉及数据库技术领域,具体来说是一种用于污水处理行业的海量数据存储方法。
背景技术
在城镇化大环境下,政府一直致力于提高污水数据采集及处理率。以某项目为例,从各级智能终端实时采集各类污水测点数据,各种测点数据采集操作包括按采集频率划分有5分钟、1分钟和50毫秒采集,同时还包括满足现场即时采集。经测算,实时数据可以达到每秒采集20万条数据,平均每天采集数据量达到35GB以上。随着智能采集设备的进一步应用,数据采集系统已经进入了大数据时代系统面临着需要支持海量数据高效处理的挑战。
因此,如何针对海量数据进行高效存取已经成为急需解决的技术问题。
发明内容
本发明的目的是为了解决现有技术中难以针对海量数据进行高效存取的缺陷,提供一种用于污水处理行业的海量数据存储方法来解决上述问题。
为了实现上述目的,本发明的技术方案如下:
一种用于污水处理行业的海量数据存储方法,包括以下步骤:
采集数据,获取污水处理厂各级智能终端的测点数据;
布置分布式缓存数据节点并预存测点数据,基于分布式机制创建分布式管理节点、数据节点,将测点数据预存至数据节点;
数据库的分区存储,将数据库的哈希空间划分为若干个等大小的分区,将测点数据预存至分区;
Key信息的优化处理,对分布式内存数据库的键Key值进行时间规则优化;
测点数据的存入,通过优化后的Key值,经过计算得到对应的哈希槽位,把Key值和测点数据的内容直接存储到此哈希槽位上,完成入库存储操作。
所述的布置分布式缓存数据节点并预存测点数据包括以下步骤:
设定一个分区路由节点、若干个缓存节点、一个入库节点,其中分区路由节点作为分布式管理节点,缓存节点和入库节点作为数据节点,分布式管理节点用于所有分布式信息的管理和数据来源的转发,数据节点用于数据存取,分区路由节点分别与若干个缓存节点相连,若干个缓存节点分别与入库节点相连;
分区路由节点收到智能终端的测点数据需存储命令;
分区路由节点根据当前若干个缓存节点的负载情况,选出负载最轻的缓存节点;
分区路由节点将智能终端的测点数据连接至当前负载最轻的缓存节点,并执行数据写操作,将测点数据预存至其对应的缓存节点;
缓存节点依时间次序将测点数据预存至入库节点,并进行记录。
所述数据库的分区存储包括以下步骤:
将数据库的整个哈希空间划分为若干个等大小的集合作为分区,其集合数量C大于缓存节点数R;
依据智能终端提供的Key信息作一次哈希映射,映射到各个分区Ci,其中Key信息为数据分类、厂站编号、测点编号以及时间范围;
将测点数据预存至分区。
所述Key信息的优化处理包括以下步骤:
依污水行业的数据特点定义Key值的组成,Key值的组成部分按顺序包括:数据分类、厂站编号、测点编号和10分钟时间戳,
其中数据分类用于存储的扩展,厂站编号和测点编号用于快速提取,10分钟时间戳用于存储的批量入库;
将Key值分成两部分,包括Value和Score,
其中:Value由差值和具体的采集值组成,差值为采集时间戳减去10分钟时间戳的差值,Score值为固定值1。
所述测点数据的存入包括以下步骤:
CRC校验码的计算,根据Key值以及存储节点进行异或和移位计算,得到16位CRC校验码;
根据Key值和CRC校验码决定其所属的哈希槽,
设已有16384个哈希槽位,经过求余数运算,得到具体哈希槽位,其计算表达式如下:
CRC16(Key)%16384,
其中,CRC16为计算循环冗余校验码的方法;
根据Key值和哈希槽位值,从定义的数据节点数组中找到所属的数据节点,一个数据节点统一分配相同数量的哈希槽位,每一个哈希槽位对应到一个数据节点上;
将测点数据存入预存的数据节点、预存的分区对应的哈希槽位上。
还包括测点数据的提取方法,所述测点数据的提取方法包括以下步骤:
根据数据分类、厂站编号和测点编号筛选出符合条件的数据,再根据提取设定的最大时间和最小时间,以10分钟为基准转换成对应的若干个时间块,对数据再进行一次筛选得到满足条件的Key值块个数;
若需提取数据均在10分钟之内,则存在一个Key值块,对此Key值块中的Value值使用独立的线程进行测点数据的提取;
若需提取数据超过10分钟,则由若干个Key值块组成;
对第一个Key值块和最后一个Key值块需要提取时间范围进行二次比对,若符合,则直接从若干个Key值块中的Value值使用独立的线程进行测点数据的提取;
若不符合,返回数据范围提取错误提示。
所述CRC校验码的计算包括以下步骤:
根据CRC16的标准选择初值CRCIn的值;
将数据的第一个字节与CRCIn高8位进行异或计算;
判断最高位,若该位为0左移一位,若该位为1左移一位再与多项式Hex码进行异或计算,直至CRCIn高8位全部移位计算结束;
对重复将所有输入数据进行异或和移位计算,得16位数为16位CRC校验码。
有益效果
本发明的一种用于污水处理行业的海量数据存储方法,与现有技术相比基于NoSQL数据库,提出分布式缓存扩展方案,并通过相应方法进一步对数据进行分区和快速定位;同时结合污水行业采集系统信号采集的特点,按照时间规则优化了Key和Value值的生成机制,构建了一套完整的分布式可动态扩展缓存处理方法。
本发明克服了污水行业数据采集特点、高效存储和实时查询处理性能的瓶颈问题,具有性能好、可扩展性强、可靠性高的特点。
附图说明
图1为本发明的方法顺序图;
图2为本发明中分布式缓存数据节点结构连接原理图。
具体实施方式
为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
如图1所示,本发明所述的一种用于污水处理行业的海量数据存储方法,包括以下步骤:
第一步,采集数据,获取污水处理厂各级智能终端的测点数据,以待存入数据库中。
在基于NoSQL数据库来实现海量信息即时存储的系统中,面临的问题主要包括数据的读、写操作效率和数据存储容量扩充。在已有相关研究工作中,对数据存储扩容问题主要通过数据分片存储以及按使用频率进行“冷热”数据分区处理来解决问题;对于NoSQL数据库中读操作效率问题主要通过构建数据库集群、异步处理和缓存系统来解决。而真正的困难在于如何在有限的条件下,通过技术优化手段,提高大数据环境下的读写操作性能。而分布式缓存技术,可以为系统应用提供高吞吐率、低延时的技术解决方案。
目前几乎所有的互联网应用均采用分布式缓存技术来提高系统的吞吐率以及快速响应能力。现有大多数缓存系统主要以改进数据访问速度为目的,通过对数据库数据的缓存,来降低数据库的访问频率,从而提高数据库读操作性能,主要应用于查询密集型的系统,这与本发明中提出的面向提高读写双向操作性能的缓存系统存在比较大的区别,海量数据既要实时、可靠地存入,也要高效、实时地取出。虽然目前内存数据库众多,如Redis或者Memcache,一般都具有出色的性能,吞吐率和平均响应时间,然而其目前不支持分布式,故本发明将基于其基本功能设计出可应用于污水行业采集系统的分布式缓存系统。
由于常见内存数据库目前仍然只支持单点单线程的服务器模式,为了满足大规模数据应用场景,结合污水行业采集系统三个特点:采集信号值相对平缓;需要多种信号值比对和后期需要对信号值进行滤波或者噪声处理。本发明在基于常见内存数据库的基础上,作了三方面的改进:实现分布式缓存机制(第二步),方便系统动态扩展;对数据进行分区(第三步),以确保数据保存位置,能够进行精确定位;将入库的信号Key值进行时间规则优化(第四步),以方便进行批处理。
在此,优化过的分布式内存数据库存储方法,主要有以下三个方面特点。首先,依据各个分布式内存数据库系统缓存节点所在物理机器性能,主要指内存和网络带宽(一般情况下,缓存节点的CPU负载率较低),分别将不同机器按性能分差异分别映射到不同数量的集合列表中,以方便存取时找到最佳缓存节点。其次,采集系统所采集的测点数据,当数据达到一定的量或者一定的时间以后,按照设置好的时段打成一个完成的数据包,根据污水行业测点的性能特点,设置成10分钟一个数据包比较合适。最后,根据算法算出数据应该存到哪个具体的数据库系统集群哈希槽中。这将极大地提高存取效率,提高磁盘I/O的利用率,极大地降低数据库的处理负载,从而实现系统中对海量、高并发数据入库处理和实时查询的支持。
第二步,布置分布式缓存数据节点并预存测点数据。基于分布式机制创建分布式管理节点、数据节点,将测点数据预存至数据节点。其具体步骤如下:
(1)如图2所示,设定一个分区路由节点、若干个缓存节点、一个入库节点,其中分区路由节点作为分布式管理节点,缓存节点和入库节点作为数据节点,分布式管理节点用于所有分布式信息的管理和数据来源的转发,数据节点用于数据存取,分区路由节点分别与若干个缓存节点相连,若干个缓存节点分别与入库节点相连。
在此,采用了集中询问模式,由一个分布式管理节点(即分区路由节点)和多个数据节点(即缓存节点和入库节点)组成,管理节点承担了所有分布式信息的管理功能和数据来源的转发功能,数据节点承担了所有数据存取功能。在进行数据存取操作时,客户端从管理节点中根据现有数据节点的负载情况,获取一个负载较轻的数据存放节点,之后客户端连接到数据节点上,执行数据写操作,当存取完毕后,释放此节点资源,管理节点将重新回收此节点资源,以重新利用。当数据量进一步加大时,需要在缓存系统动态扩展时,可以方便加入新的缓存节点,这时只需要修改分区路由节点中的集合与缓存节点映射表,将其中某些集合映射到新加入的缓存节点,同时,并不会影响到其他已有缓存节点。此结构简单,管理端的负荷小,可以专注于进行数据分布、缓存节点信息的维护,使系统具有很高的动态可扩展性。
(2)分区路由节点收到智能终端的测点数据需存储命令,分区路由节点准备进行测点数据分配。
(3)分区路由节点根据当前若干个缓存节点的负载情况,选出负载最轻的缓存节点。
(4)分区路由节点将智能终端的测点数据连接至当前负载最轻的缓存节点,并执行数据写操作,将测点数据预存至其对应的缓存节点。测点数据预存至其对应的缓存节点,只是建立了测点数据在存储操作时需要存入的缓存节点,也就是说在此,测点数据预存至其对应的缓存节点并不是真正地进行了测点数据的存储,只是为测点数据的存储规划了第一条存储路径,待第二条存储路径(分区)、第三条存储路径(哈希槽)均确定后,再进行直接存储。
(5)缓存节点依时间次序将测点数据预存至入库节点,并进行记录。在此通过依时间次序进行管理,同时后期Key信息也是将时间次序作为其属性,数量的读取也是依时间来进行Key信息的确定。
第三步,数据库的分区存储,将数据库的哈希空间划分为若干个等大小的分区,将测点数据预存至分区。其具体步骤如下:
(1)将数据库的整个哈希空间划分为若干个等大小的集合作为分区,其集合数量C大于缓存节点数R。
(2)依据智能终端提供的Key信息作一次哈希映射,映射到各个分区Ci,其中Key信息为数据分类、厂站编号、测点编号以及时间范围。
(3)将测点数据预存至分区。同理,将测点数据预存至分区是为测点数据的存储规划了第二条存储路径(分区)。
第四步,Key信息的优化处理,对分布式内存数据库的键Key值进行时间规则优化。在本方法中,Key值的设计非常关键,在支持高效存储处理和实时查询的同时,可以有效地节省存储空间。结合污水行业采集系统三个特点之一的采集信号值相对平缓,系统不必把每个测点的采集数据都作为一个Key值,而是可以统一以10分钟时间戳作为一个Key值批量保存数据,以便于采集信号值的存储和后续横向比对。其具体步骤如下:
(1)依污水行业的数据特点定义Key值的组成,Key值的组成部分按顺序包括:数据分类、厂站编号、测点编号和10分钟时间戳,
其中数据分类用于存储的扩展,厂站编号和测点编号用于快速提取,10分钟时间戳用于存储的批量入库。
(2)将Key值分成两部分,包括Value和Score,
其中:Value由差值和具体的采集值组成,差值为采集时间戳减去10分钟时间戳的差值,Score值为固定值1。在此,10分钟时间戳是结合污水行业信号数据的特点,在实际应用中,这个值可以根据需要进行动态配置,具有灵活的应用性。
在此,关于Key值的设计可以将Key直接使用测点ID+10分钟时间戳,共22位组成,Score值为采集时间,使用Unix timestamp格式表示,单位是毫秒,Value值为采集时间和数据,这种组合可以满足快速排序和定位。如表1Key值初步设计示例表所示。
表1 Key值初步设计示例表
但是,在实际应用中发现,初步设计的Key值存在一定的优化空间,对Score和Value进行分析后发现,由于Score值可以重复,所以不能利用此列进行排序,则可以使Score值为固定值1,Value值不直接使用采集时间戳,而是使用采集时间戳减去10分钟时间戳的差值,再加上采集值。
经过这样格式化处理后,以形成标准化格式。经测算,Value值的字节数大大降低,由原先的33位降低到只有14位,使得整个存储空间降低50%以上。如表2 Key值最终设计示例表所示。
表2 Key值最终设计示例表
第五步,测点数据的存入,通过优化后的Key值,经过计算得到对应的哈希槽位,把Key值和测点数据的内容直接存储到此哈希槽位上,完成入库存储操作。其具体步骤如下:
(1)CRC校验码的计算,根据Key值以及存储节点进行异或和移位计算,得到16位CRC校验码。CRC校验码的计算可采用现有常规的计算方法,在此具体陈述如下:
首先,根据CRC16的标准选择初值CRCIn的值;
其次,将数据的第一个字节与CRCIn高8位进行异或计算;
再次,判断最高位,若该位为0左移一位,若该位为1左移一位再与多项式Hex码进行异或计算,直至CRCIn高8位全部移位计算结束;
最后,对重复将所有输入数据进行异或和移位计算,得16位数为16位CRC校验码。
(2)根据Key值和CRC校验码决定其所属的哈希槽。
设已有16384个哈希槽位,经过求余数运算,得到具体哈希槽位,其计算表达式如下:
CRC16(Key)%16384,
其中,CRC16为计算循环冗余校验码的方法。
(3)根据Key值和哈希槽位值,从定义的数据节点数组中找到所属的数据节点,其中一个数据节点统一分配相同数量的哈希槽位,每一个哈希槽位对应到一个数据节点上,以形成数据节点(第一条存储路径),分区(第二条存储路径)、哈希槽(第三条存储路径)的定位。
(4)将测点数据存入预存的数据节点、预存的分区对应的哈希槽位上。
在此,还提供基于本发明存储方法的测点数据的提取方法。测点数据的提取方法包括以下步骤:
(1)根据数据分类、厂站编号和测点编号筛选出符合条件的数据,再根据提取设定的最大时间和最小时间,以10分钟为基准转换成对应的若干个时间块,对数据再进行一次筛选得到满足条件的Key值块个数。
(2)若需提取数据均在10分钟之内,由于10分钟时间戳的设计,其只存在一个Key值块,对此Key值块中的Value值使用独立的线程进行测点数据的提取。
(3)若需提取数据超过10分钟,则由若干个Key值块组成;
对第一个Key值块和最后一个Key值块需要提取时间范围进行二次比对,若符合,则直接从若干个Key值块中的Value值使用独立的线程进行测点数据的提取,之间的其它Key值块,则提取全部数据即可。
若不符合,返回数据范围提取错误提示。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (6)
1.一种用于污水处理行业的海量数据存储方法,其特征在于,包括以下步骤:
11)采集数据,获取污水处理厂各级智能终端的测点数据;
12)布置分布式缓存数据节点并预存测点数据,基于分布式机制创建分布式管理节点、数据节点,将测点数据预存至数据节点;所述的布置分布式缓存数据节点并预存测点数据包括以下步骤:
121)设定一个分区路由节点、若干个缓存节点、一个入库节点,其中分区路由节点作为分布式管理节点,缓存节点和入库节点作为数据节点,分布式管理节点用于所有分布式信息的管理和数据来源的转发,数据节点用于数据存取,分区路由节点分别与若干个缓存节点相连,若干个缓存节点分别与入库节点相连;
122)分区路由节点收到智能终端的测点数据需存储命令;
123)分区路由节点根据当前若干个缓存节点的负载情况,选出负载最轻的缓存节点;
124)分区路由节点将智能终端的测点数据连接至当前负载最轻的缓存节点,并执行数据写操作,将测点数据预存至其对应的缓存节点;
125)缓存节点依时间次序将测点数据预存至入库节点,并进行记录;
13)数据库的分区存储,将数据库的哈希空间划分为若干个等大小的分区,将测点数据预存至分区;
14)Key信息的优化处理,对分布式内存数据库的键Key值进行时间规则优化;
15)测点数据的存入,通过优化后的Key值,经过计算得到对应的哈希槽位,把Key值和测点数据的内容直接存储到此哈希槽位上,完成入库存储操作。
2.根据权利要求1所述的一种用于污水处理行业的海量数据存储方法,其特征在于,所述数据库的分区存储包括以下步骤:
21)将数据库的整个哈希空间划分为若干个等大小的集合作为分区,其集合数量C大于缓存节点数R;
22)依据智能终端提供的Key信息作一次哈希映射,映射到各个分区Ci,其中Key信息为数据分类、厂站编号、测点编号以及时间范围;
23)将测点数据预存至分区。
3.根据权利要求1所述的一种用于污水处理行业的海量数据存储方法,其特征在于,所述Key信息的优化处理包括以下步骤:
31)依污水行业的数据特点定义Key值的组成,Key值的组成部分按顺序包括:数据分类、厂站编号、测点编号和10分钟时间戳,
其中数据分类用于存储的扩展,厂站编号和测点编号用于快速提取,10分钟时间戳用于存储的批量入库;
32)将Key值分成两部分,包括Value和Score,
其中:Value由差值和具体的采集值组成,差值为采集时间戳减去10分钟时间戳的差值,Score值为固定值1。
4.根据权利要求1所述的一种用于污水处理行业的海量数据存储方法,其特征在于,所述测点数据的存入包括以下步骤:
41)CRC校验码的计算,根据Key值以及存储节点进行异或和移位计算,得到16位CRC校验码;
42)根据Key值和CRC校验码决定其所属的哈希槽,
设已有16384个哈希槽位,经过求余数运算,得到具体哈希槽位,其计算表达式如下:
CRC16(Key)%16384,
其中,CRC16为计算循环冗余校验码的方法;
43)根据Key值和哈希槽位值,从定义的数据节点数组中找到所属的数据节点,一个数据节点统一分配相同数量的哈希槽位,每一个哈希槽位对应到一个数据节点上;
44)将测点数据存入预存的数据节点、预存的分区对应的哈希槽位上。
5.根据权利要求1所述的一种用于污水处理行业的海量数据存储方法,其特征在于,还包括测点数据的提取方法,所述测点数据的提取方法包括以下步骤:
51)根据数据分类、厂站编号和测点编号筛选出符合条件的数据,再根据提取设定的最大时间和最小时间,以10分钟为基准转换成对应的若干个时间块,对数据再进行一次筛选得到满足条件的Key值块个数;
52)若需提取数据均在10分钟之内,则存在一个Key值块,对此Key值块中的Value值使用独立的线程进行测点数据的提取;
53)若需提取数据超过10分钟,则由若干个Key值块组成;
对第一个Key值块和最后一个Key值块需要提取时间范围进行二次比对,若符合,则直接从若干个Key值块中的Value值使用独立的线程进行测点数据的提取;
若不符合,返回数据范围提取错误提示。
6.根据权利要求4所述的一种用于污水处理行业的海量数据存储方法,其特征在于,所述CRC校验码的计算包括以下步骤:
61)根据CRC16的标准选择初值CRCIn的值;
62)将数据的第一个字节与CRCIn高8位进行异或计算;
63)判断最高位,若该位为0左移一位,若该位为1左移一位再与多项式Hex码进行异或计算,直至CRCIn高8位全部移位计算结束;
64)对重复将所有输入数据进行异或和移位计算,得16位数为16位CRC校验码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711018477.2A CN107766529B (zh) | 2017-10-27 | 2017-10-27 | 一种用于污水处理行业的海量数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711018477.2A CN107766529B (zh) | 2017-10-27 | 2017-10-27 | 一种用于污水处理行业的海量数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766529A CN107766529A (zh) | 2018-03-06 |
CN107766529B true CN107766529B (zh) | 2020-02-14 |
Family
ID=61270706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711018477.2A Active CN107766529B (zh) | 2017-10-27 | 2017-10-27 | 一种用于污水处理行业的海量数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766529B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245014B (zh) * | 2018-03-09 | 2024-01-12 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置 |
CN109274665A (zh) * | 2018-09-13 | 2019-01-25 | 北京奇安信科技有限公司 | Dns威胁情报处理方法及装置 |
CN109597834B (zh) * | 2018-10-22 | 2024-05-07 | 平安科技(深圳)有限公司 | 基于redis的海量数据存储方法、装置、介质和设备 |
CN109783523B (zh) * | 2019-01-24 | 2022-02-25 | 广州虎牙信息科技有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN109903094B (zh) * | 2019-02-20 | 2021-05-25 | 武芮 | 一种基于算法仓库监测数据激活的方法 |
CN110968265B (zh) * | 2019-11-05 | 2023-08-08 | 北京字节跳动网络技术有限公司 | 分片扩容方法、装置及电子设备 |
CN117591577B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种基于文件存储的核电历史数据对比方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870218B2 (en) * | 2003-04-09 | 2011-01-11 | Nec Laboratories America, Inc. | Peer-to-peer system and method with improved utilization |
CN102594849A (zh) * | 2011-01-06 | 2012-07-18 | 阿里巴巴集团控股有限公司 | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 |
CN103064890A (zh) * | 2012-12-11 | 2013-04-24 | 泉州豪杰信息科技发展有限公司 | 一种gps海量数据处理方法 |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
-
2017
- 2017-10-27 CN CN201711018477.2A patent/CN107766529B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870218B2 (en) * | 2003-04-09 | 2011-01-11 | Nec Laboratories America, Inc. | Peer-to-peer system and method with improved utilization |
CN102594849A (zh) * | 2011-01-06 | 2012-07-18 | 阿里巴巴集团控股有限公司 | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 |
CN103064890A (zh) * | 2012-12-11 | 2013-04-24 | 泉州豪杰信息科技发展有限公司 | 一种gps海量数据处理方法 |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107766529A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766529B (zh) | 一种用于污水处理行业的海量数据存储方法 | |
CN111125089B (zh) | 时序数据存储方法、装置、服务器及存储介质 | |
US10176208B2 (en) | Processing time series data from multiple sensors | |
TWI662426B (zh) | 分布式流式資料處理的方法和裝置 | |
US11294920B2 (en) | Method and apparatus for accessing time series data in memory | |
CN103678694A (zh) | 视频资源的倒排索引文件建立方法及其系统 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN107330094B (zh) | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 | |
CN111723073B (zh) | 数据存储处理方法、装置、处理系统以及存储介质 | |
CN110389967B (zh) | 数据存储方法、装置、服务器及存储介质 | |
CN103051543A (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
CN105574021A (zh) | 一种数据库的数据压缩方法和装置 | |
CN104539750A (zh) | 一种ip定位方法和装置 | |
CN110597852A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111522811B (zh) | 数据库的处理方法及装置、存储介质、终端 | |
CN104933143A (zh) | 获取推荐对象的方法及装置 | |
CN105302915A (zh) | 基于内存计算的高性能数据处理系统 | |
CN111897813A (zh) | 针对数据库资源的流控方法及装置 | |
CN111258508B (zh) | 一种分布式对象存储中的元数据管理方法 | |
CN115408390A (zh) | 一种数据处理方法、装置及电子设备 | |
CN110134834B (zh) | 一种使用动态avl森林高速缓存加速ip定位的方法 | |
CN114266302A (zh) | 面向异构内存设备的深度学习Embedding数据高效处理系统及方法 | |
CN107203635B (zh) | 一种基于最小略图的流模式下有向标签图的略图构建方法 | |
CN111538804A (zh) | 一种基于HBase的图数据处理方法和设备 | |
JP2021524085A (ja) | メッセージ処理方法、装置およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A massive data storage method for sewage treatment industry Effective date of registration: 20220324 Granted publication date: 20200214 Pledgee: China Construction Bank Corporation Hefei Shushan sub branch Pledgor: HEFEI CITY CLOUD DATA CENTER Co.,Ltd. Registration number: Y2022980003149 |