CN114969061A - 一种工业时序数据分布式存储方法、装置 - Google Patents

一种工业时序数据分布式存储方法、装置 Download PDF

Info

Publication number
CN114969061A
CN114969061A CN202210913165.2A CN202210913165A CN114969061A CN 114969061 A CN114969061 A CN 114969061A CN 202210913165 A CN202210913165 A CN 202210913165A CN 114969061 A CN114969061 A CN 114969061A
Authority
CN
China
Prior art keywords
hash function
function value
storage device
storage
address
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.)
Pending
Application number
CN202210913165.2A
Other languages
English (en)
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.)
Zhejiang Mulian Internet Of Things Technology Co ltd
Original Assignee
Zhejiang Mulian Internet Of Things Technology 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 Zhejiang Mulian Internet Of Things Technology Co ltd filed Critical Zhejiang Mulian Internet Of Things Technology Co ltd
Priority to CN202210913165.2A priority Critical patent/CN114969061A/zh
Publication of CN114969061A publication Critical patent/CN114969061A/zh
Pending legal-status Critical Current

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种工业时序数据分布式存储方法、装置。所述方法包括:对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;将所述工业时序数据存储至所述目标存储地址对应的存储设备。采用本方法能够保证数据查询效率更高。

Description

一种工业时序数据分布式存储方法、装置
技术领域
本申请涉及数据存储技术领域,特别是涉及一种工业时序数据分布式存储方法、装置。
背景技术
随着国家工业互联网发展,以网络为基础、平台为中枢、数据为要素、安全为保障,通过对人、机、物全面连接,构建了新型工业生产制造和服务体系。对工业时序数据的采集与存储是实现工业互联网数字化管理的基础需求。
在工业生产环境中,对于一些数值变化频率快的数据一台工业数据采集设备可能会在短短一秒内采集大量的时序数据;如果再扩大到整个工控管理平台,面对多台设备,每隔一段时间将产生海量的工业时序数据,这对数据存储设备的容量是巨大的考验,为了解决数据存储的压力,需要将海量数据分割到不同的存储设备上进行存储。面对工业生产过程中产生的海量工业时序数据,传统单机存储模式由于存储容量的限制而无法胜任大量工业时序数据的存储任务,因此对于海量的工业时序数据,采用存储设备集群来对数据进行存储是更好的选择。
传统基于哈希算法进行数据存储的方法,是将数据随机或者根据数据的哈希函数值顺序查找需要存储设备进行存储,然而,传统的哈希方法在系统存储设备数量发生变化时会直接影响到哈希结果,从而导致大量的数据重定向到其他存储设备,导致数据查询不到。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据查询效率的工业时序数据分布式存储方法、装置。
一种工业时序数据分布式存储方法,所述方法包括:
对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
将所述工业时序数据存储至所述目标存储地址对应的存储设备。
在其中一个实施例中,在对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值之前,包括:对每个存储设备配置IP地址。
在其中一个实施例中,所述对每个存储设备配置IP地址包括:根据存储设备的数量,在预设的IP地址范围内均匀设置每个存储设备的IP地址。
在其中一个实施例中,所述对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值,包括:判断当前存储设备中存储的数据量是否超过预设值;如果当前存储设备中存储的数据量超过预设值,将每个存储设备的IP地址进行哈希运算,得到初始哈希函数值;将所述初始哈希函数值再进行哈希运算,得到第一哈希函数值;如果当前存储设备中存储的数据量未超过预设值,将每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储;在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:获取新增存储设备对应的第一哈希函数值,作为参考哈希函数值;从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值;在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点不为头节点或尾节点时,在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点位置,设置两个指针p1和p2分别在索引叶子节点链接成的双向链表中进行前向扫描和后向扫描;对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针到达叶子节点链表的头节点或尾节点为止;其中,在指针到达叶子节点链表的头节点或尾节点为止时,对头节点或尾节点的工业时序数据进行标记;将标记的工业时序数据迁移至新增存储设备,并在前一存储设备和后一存储设备对标记的工业时序数据进行删除。
在其中一个实施例中,在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值之后,包括:在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点为头节点或尾节点时,在头节点和尾节点位置设置两个指针p1和p2在索引叶子节点链接成的双向链表中相向扫描;对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针p1和p2相遇为止;其中,在指针p1和p2相遇为止时,对指针p1和p2相遇的叶子节点对应的工业时序数据进行标记。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储;在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:获取待删除存储设备对应的第一哈希函数值,作为参考哈希函数值;从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;对待删除存储设备中工业时序数据的第二哈希函数值进行遍历,并计算每个第二哈希函数值与前一存储设备的第一哈希函数值的距离,及与后一存储设备的第一哈希函数值的距离;在第二哈希函数值与前一存储设备的第一哈希函数值的距离大于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至后一存储设备;在第二哈希函数值与前一存储设备的第一哈希函数值的距离小于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至前一存储设备。
在其中一个实施例中,所述获取与所述第二哈希函数值最近的第一哈希函数值包括:计算所述第二哈希函数值与每个第一哈希函数值的距离,距离计算公式为:
Figure 100002_DEST_PATH_IMAGE001
其中,distance为距离,key为数据采集设备的编号和工业时序数据的关键字段,hash(key)为第二哈希函数值,ip为存储设备的IP地址,hash(ip)为第一哈希函数值,D为哈希函数的值域;获取距离最小时的第一哈希函数值,作为所述第二哈希函数值最近的第一哈希函数值。
一种工业时序数据分布式存储装置,所述装置包括:
第一哈希函数值计算模块,用于对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
工业时序数据获取模块,用于获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
第二哈希函数值计算模块,用于对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
目标存储地址确定模块,用于获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
存储模块,用于将所述工业时序数据存储至所述目标存储地址对应的存储设备。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
将所述工业时序数据存储至所述目标存储地址对应的存储设备。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
将所述工业时序数据存储至所述目标存储地址对应的存储设备。
上述工业时序数据分布式存储方法、装置、计算机设备和存储介质,对每个存储设备的IP地址进行哈希运算,及数据采集设备的编号和工业时序数据的关键字段进行哈希运算,分别计算得到各自的哈希函数值,然后根据两个哈希函数值之间的距离,确定距离最近的存储设备来存储工业时序,该分布式存储系统具有可扩展性和容错性,且数据查询时只需要对所要查询设备数据的设备编号做哈希运算按照存储策略在与哈希值较近的存储设备中执行查询。
附图说明
图1为一个实施例中工业时序数据分布式存储方法的应用环境图;
图2为一个实施例中工业时序数据分布式存储方法的流程示意图;
图3为一个具体实施例中工业时序数据存储分布方向示意图;
图4为一个具体实施例中工业时序数据在存储设备中b+树作为索引结构示意图;
图5为一个实施例中存储设备增加时数据迁移方式示意图;
图6为一个具体实施例中指针p1和p2分别在索引叶子节点链接成的双向链表中前向扫描和后向扫描方式示意图;
图7为一个具体实施例中前向和后向扫描对扫描的工业时序数据进行标记示意图;
图8为一个具体实施例中指针p1和p2在索引叶子节点链接成的双向链表中相向扫描方式示意图;
图9为一个具体实施例中相向扫描对扫描的工业时序数据进行标记示意图;
图10为一个实施例中存储设备删除时数据迁移方式示意图;
图11为一个实施例中增添虚拟存储设备方法示意图;
图12为一个实施例中工业时序数据分布式存储装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的工业时序数据分布式存储方法,可以应用于如图1所示的应用环境中。其中,数据采集设备、主服务器和存储设备通过网络进行通信。主服务器对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;将所述工业时序数据存储至所述目标存储地址对应的存储设备。其中,主服务器可以但不限于是各种个人计算机、笔记本电脑,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种工业时序数据分布式存储方法,包括以下步骤:
S110,对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。
其中,哈希运算采用哈希算法进行。
S120,获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号。
S130,对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值。
其中,工业时序数据的关键字段包括温度数据、湿度数据、转速数据中的一种或几种。采用数据采集设备的编号和工业时序数据的关键字段进行哈希运算得到第二哈希函数值,便于后期数据查询。
S140,获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址。
其中,每个存储设备的IP地址不相同,由此计算得到的第一哈希函数值也不相同,如图3所示,哈希函数值的范围为0~231-1,存储设备的IP地址计算得到的第一哈希函数值,再根据第一哈希函数值的数值大小分布在哈希函数值的范围为0~231-1的圆环上,由工业时序数据的第二哈希函数值分别计算与第一哈希函数值距离,最终确定距离最小的第一哈希函数值对应的存储设备的IP地址作为目标存储地址。图3中,在系统中设置了存储设备01、存储设备02、存储设备03、存储设备04和存储设备05,数据A包括多个工业时序数据,分布获取第二哈希函数值最近的第一哈希函数值,则数据分散存储到存储设备03、存储设备04和存储设备05。
S150,将所述工业时序数据存储至所述目标存储地址对应的存储设备。
上述工业时序数据分布式存储方法中,对每个存储设备的IP地址进行哈希运算,及数据采集设备的编号和工业时序数据的关键字段进行哈希运算,分别计算得到各自的哈希函数值,然后根据两个哈希函数值之间的距离,确定距离最近的存储设备来存储工业时序,该分布式存储系统具有可扩展性和容错性,且数据查询时只需要对所要查询设备数据的设备编号做哈希运算按照存储策略在与哈希值较近的存储设备中执行查询。
在其中一个实施例中,在对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值之前,包括:对每个存储设备配置IP地址。
在其中一个实施例中,所述对每个存储设备配置IP地址包括:根据存储设备的数量,在预设的IP地址范围内均匀设置每个存储设备的IP地址。
其中,预设的IP地址范围根据哈希函数值的范围确定,即预设的IP地址范围内的每个IP地址的第一哈希函数值都在哈希函数值的范围内,哈希函数值的范围为0~231-1。
在其中一个实施例中,所述对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值,包括:判断当前存储设备中存储的数据量是否超过预设值;如果当前存储设备中存储的数据量超过预设值,将每个存储设备的IP地址进行哈希运算,得到初始哈希函数值;将所述初始哈希函数值再进行哈希运算,得到第一哈希函数值;如果当前存储设备中存储的数据量未超过预设值,将每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。其中,每个第一哈希函数值对应一个存储设备,通过初始哈希函数值在哈希运算得到的第一哈希函数值,相当于在空间上设置了一个虚拟存储设备。
具体的,如图11所示,部署了存储设备01、存储设备02和存储设备03,由于配置的存储设备01、存储设备02和存储设备03的IP地址的第一哈希值函数值,容易在计算时,产生数据倾斜,即工业时序数据计算哈希函数值的时候可能会出现大量工业时序数据的哈希运算结果都聚集在一个范围内,即数据不够分散,从而导致大部分数据都存储到了系统中的一台或少数台存储设备上,这就违背了数据分散存储的初衷。所谓虚拟存储设备其实是通过现有的存储设备通过再哈希得到的,并不真实存在于系统中,如图11所示,系统中有3台物理存储设备,假定按照1中的存储策略大部分的工业时序数据存储到了存储设备01,现通过将每台存储设备再哈希得到三台虚拟的存储设备,则此时一部分原本将会存储到设备01中的数据将会分至存储设备02和存储设备03中存储,数据倾斜的问题得到解决。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储。具体的,如图4所示,第二哈希函数值的范围为0~231-1,工业时序数据、第二哈希函数值在存储设备中形成双向链表,第二哈希函数值作为索引。
在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:获取新增存储设备对应的第一哈希函数值,作为参考哈希函数值;从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值;在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点不为头节点或尾节点时,在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点位置,设置两个指针p1和p2分别在索引叶子节点链接成的双向链表中进行前向扫描和后向扫描;对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针到达叶子节点链表的头节点或尾节点为止;其中,在指针到达叶子节点链表的头节点或尾节点为止时,对头节点或尾节点的工业时序数据进行标记;将标记的工业时序数据迁移至新增存储设备,并在前一存储设备和后一存储设备对标记的工业时序数据进行删除。
可以理解的是,在标记的工业时序数据迁移至新增存储设备后,并不立即对前一存储设备和后一存储设备中标记的工业时序数据进行删除,而是在前一存储设备或后一存储设备的存储容量达到一定限制后再进行删除,此时,一方面可以对标记的工业时序数据进行一段时间的备份,另一方面减少删除的操作次数。
具体的,如图5所示,系统中存在存储设备01、存储设备02、存储设备03和存储设备04,现在需要增加存储设备05,此时需要在存储设备01、存储设备02、存储设备03和存储设备04中距离存储设备05较近的数据迁移到存储设备05,采用确定存储设备05在环中的位置查找到前一存储设备04和后一存储设备01,然后对前一存储设备04和后一存储设备01中数据进行扫描,如图6所示,确定参考哈希函数值hash(ip5)为20,然后采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值为17,在第二哈希函数值为17处设置两个指针p1和p2分别在索引叶子节点链接成的双向链表中进行前向扫描和后向扫描;对扫描到的工业时序数据进行标记,如图7所示,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针到达叶子节点链表的头节点或尾节点为止。
本实施例中采用对新增存储设备相邻的前一存储设备和后一存储设备进行数据扫描,确定与新增存储设备距离近的工业时序数据,能够缩小数据比对范围,同时由于采用b+树作为索引结构对数据存储,数据在存储设备中是按照哈希函数值顺序存储的,因此只需要找到根据新增存储设备最接近的第二哈希函数值,然后从这个点向两头扫描,可以降低数据的处理量,提高数据迁移的速度。
在其中一个实施例中,在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值之后,包括:在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点为头节点或尾节点时,在头节点和尾节点位置设置两个指针p1和p2在索引叶子节点链接成的双向链表中相向扫描;对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针p1和p2相遇为止;其中,在指针p1和p2相遇为止时,对指针p1和p2相遇的叶子节点对应的工业时序数据进行标记。
具体的,如图8所示,新增存储设备的参考哈希函数值hash(ip5)为3最接近的第二哈希函数值为5,此时对应为头节点,在头节点和尾节点位置设置两个指针p1和p2在索引叶子节点链接成的双向链表中相向扫描;对扫描到的工业时序数据进行标记,如图9所示,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针p1和p2相遇为止。本实施例中,采用指针p1和p2分别从头结点和尾结点在索引叶子节点链接成的双向链表中相向扫描,两个方向的扫描同时进行,能够提高数据的处理速度,从而提高数据迁移的效率。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储。具体的,如图4所示,第二哈希函数值的范围为0~231-1,工业时序数据、第二哈希函数值在存储设备中形成双向链表,第二哈希函数值作为索引。
其中,如图10所示,在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:获取待删除存储设备对应的第一哈希函数值,作为参考哈希函数值;从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;对待删除存储设备中工业时序数据的第二哈希函数值进行遍历,并计算每个第二哈希函数值与前一存储设备的第一哈希函数值的距离,及与后一存储设备的第一哈希函数值的距离;在第二哈希函数值与前一存储设备的第一哈希函数值的距离大于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至后一存储设备;在第二哈希函数值与前一存储设备的第一哈希函数值的距离小于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至前一存储设备。
具体的,如图10所示,查找待删除存储设备05的前一存储设备和后一存储设备,根据存储设备的第一哈希函数相邻的原则查找,在图10中,待删除存储设备05的前一存储设备04和后一存储设备01,然后对待删除存储设备05中每个工业时序数据的第二哈希函数值,计算与前一存储设备04和后一存储设备01的第二哈希函数值的距离,选取距离近的存储设备进行存储,当然也有和两个存储设备距离相等的情况,此时,采用统一的方式将数据存储到前一存储设备或后一存储设备。
在其中一个实施例中,所述获取与所述第二哈希函数值最近的第一哈希函数值包括:计算所述第二哈希函数值与每个第一哈希函数值的距离,距离计算公式为:
Figure 630947DEST_PATH_IMAGE001
其中,distance为距离,key为数据采集设备的编号和工业时序数据的关键字段,hash(key)为第二哈希函数值,ip为存储设备的IP地址,hash(ip)为第一哈希函数值,D为哈希函数的值域;获取距离最小时的第一哈希函数值,作为所述第二哈希函数值最近的第一哈希函数值。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种工业时序数据分布式存储装置,包括:
第一哈希函数值计算模块210,用于对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。
工业时序数据获取模块220,用于获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号。
第二哈希函数值计算模块230,用于对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值。
目标存储地址确定模块240,用于获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址。
存储模块250,用于将所述工业时序数据存储至所述目标存储地址对应的存储设备。
在其中一个实施例中,一种工业时序数据分布式存储装置还包括:IP地址配置模块,用于对每个存储设备配置IP地址。
在其中一个实施例中,所述IP地址配置模块,还用于根据存储设备的数量,在预设的IP地址范围内均匀设置每个存储设备的IP地址。
在其中一个实施例中,第一哈希函数值计算模块210,包括:判断单元,用于判断当前存储设备中存储的数据量是否超过预设值;初始哈希值计算单元,用于如果当前存储设备中存储的数据量超过预设值,将每个存储设备的IP地址进行哈希运算,得到初始哈希函数值;第一哈希函数值计算单元,用于将所述初始哈希函数值再进行哈希运算,得到第一哈希函数值;如果当前存储设备中存储的数据量未超过预设值,将每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储。一种工业时序数据分布式存储装置还包括:参考哈希函数值确定模块,用于获取新增存储设备对应的第一哈希函数值,作为参考哈希函数值;相邻存储设备获取模块,用于从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;查找模块,用于在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值;扫描模块,用于在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点不为头节点或尾节点时,在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点位置,设置两个指针p1和p2分别在索引叶子节点链接成的双向链表中进行前向扫描和后向扫描;标记模块,用于对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针到达叶子节点链表的头节点或尾节点为止;其中,在指针到达叶子节点链表的头节点或尾节点为止时,对头节点或尾节点的工业时序数据进行标记;数据迁移模块,用于将标记的工业时序数据迁移至新增存储设备,并在前一存储设备和后一存储设备对标记的工业时序数据进行删除。
可以理解的是,在标记的工业时序数据迁移至新增存储设备后,并不立即对前一存储设备和后一存储设备中标记的工业时序数据进行删除,而是在前一存储设备或后一存储设备的存储容量达到一定限制后再进行删除,此时,一方面可以对标记的工业时序数据进行一段时间的备份,另一方面减少删除的操作次数。
在其中一个实施例中,所述扫描模块,还用于在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点为头节点或尾节点时,在头节点和尾节点位置设置两个指针p1和p2在索引叶子节点链接成的双向链表中相向扫描;所述标记模块,还用于对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针p1和p2相遇为止;其中,在指针p1和p2相遇为止时,对指针p1和p2相遇的叶子节点对应的工业时序数据进行标记。
在其中一个实施例中,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储。一种工业时序数据分布式存储装置还包括:参考哈希函数值确定模块,用于获取待删除存储设备对应的第一哈希函数值,作为参考哈希函数值;相邻存储设备获取模块,用于从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;遍历模块,用于对待删除存储设备中工业时序数据的第二哈希函数值进行遍历,并计算每个第二哈希函数值与前一存储设备的第一哈希函数值的距离,及与后一存储设备的第一哈希函数值的距离;第一迁移模块,用于在第二哈希函数值与前一存储设备的第一哈希函数值的距离大于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至后一存储设备;第二迁移模块,用于在第二哈希函数值与前一存储设备的第一哈希函数值的距离小于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至前一存储设备。
在其中一个实施例中,所述获取与所述第二哈希函数值最近的第一哈希函数值包括:计算所述第二哈希函数值与每个第一哈希函数值的距离,距离计算公式为:
Figure 610405DEST_PATH_IMAGE001
其中,distance为距离,key为数据采集设备的编号和工业时序数据的关键字段,hash(key)为第二哈希函数值,ip为存储设备的IP地址,hash(ip)为第一哈希函数值,D为哈希函数的值域;获取距离最小时的第一哈希函数值,作为所述第二哈希函数值最近的第一哈希函数值。
关于工业时序数据分布式存储装置的具体限定可以参见上文中对于工业时序数据分布式存储方法的限定,在此不再赘述。上述工业时序数据分布式存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储工业时序数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种工业时序数据分布式存储方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种工业时序数据分布式存储方法,其特征在于,所述方法包括:
对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
将所述工业时序数据存储至所述目标存储地址对应的存储设备。
2.根据权利要求1所述的方法,其特征在于,在对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值之前,包括:对每个存储设备配置IP地址。
3.根据权利要求2所述的方法,其特征在于,所述对每个存储设备配置IP地址包括:
根据存储设备的数量,在预设的IP地址范围内均匀设置每个存储设备的IP地址。
4.根据权利要求1所述的方法,其特征在于,所述对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值,包括:
判断当前存储设备中存储的数据量是否超过预设值;
如果当前存储设备中存储的数据量超过预设值,将每个存储设备的IP地址进行哈希运算,得到初始哈希函数值;
将所述初始哈希函数值再进行哈希运算,得到第一哈希函数值;
如果当前存储设备中存储的数据量未超过预设值,将每个存储设备的IP地址进行哈希运算,得到第一哈希函数值。
5.根据权利要求1所述的方法,其特征在于,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储;
在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:
获取新增存储设备对应的第一哈希函数值,作为参考哈希函数值;
从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;
在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值;
在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点不为头节点或尾节点时,在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点位置,设置两个指针p1和p2分别在索引叶子节点链接成的双向链表中进行前向扫描和后向扫描;
对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针到达叶子节点链表的头节点或尾节点为止;其中,在指针到达叶子节点链表的头节点或尾节点为止时,对头节点或尾节点的工业时序数据进行标记;
将标记的工业时序数据迁移至新增存储设备,并在前一存储设备和后一存储设备对标记的工业时序数据进行删除。
6.根据权利要求5所述的方法,其特征在于,在前一存储设备或后一存储设备中采用b+树索引方式查找与所述参考哈希函数值最接近的第二哈希函数值之后,包括:
在与所述参考哈希函数值最接近的第二哈希函数值对应的叶子节点为头节点或尾节点时,在头节点和尾节点位置设置两个指针p1和p2在索引叶子节点链接成的双向链表中相向扫描;
对扫描到的工业时序数据进行标记,直到所述参考哈希函数值与第二哈希函数值距离大于所述第二哈希函数值与当前存储设备的第一哈希函数值的距离为止,或者指针p1和p2相遇为止;其中,在指针p1和p2相遇为止时,对指针p1和p2相遇的叶子节点对应的工业时序数据进行标记。
7.根据权利要求1所述的方法,其特征在于,所述工业时序数据在所述目标存储地址对应的存储设备采用b+树作为索引结构,以第二哈希函数值作为索引进行存储;
在将所述工业时序数据存储至所述目标存储地址对应的存储设备之后,包括:
获取待删除存储设备对应的第一哈希函数值,作为参考哈希函数值;
从所有存储设备中查找第一哈希函数值与参考哈希函数值相邻的前一存储设备和后一存储设备;
对待删除存储设备中工业时序数据的第二哈希函数值进行遍历,并计算每个第二哈希函数值与前一存储设备的第一哈希函数值的距离,及与后一存储设备的第一哈希函数值的距离;
在第二哈希函数值与前一存储设备的第一哈希函数值的距离大于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至后一存储设备;
在第二哈希函数值与前一存储设备的第一哈希函数值的距离小于后一存储设备的第一哈希函数值的距离时,将该第二哈希函数值对应的工业时序数据存储至前一存储设备。
8.据权利要求1所述的方法,其特征在于,所述获取与所述第二哈希函数值最近的第一哈希函数值包括:
计算所述第二哈希函数值与每个第一哈希函数值的距离,距离计算公式为:
Figure DEST_PATH_IMAGE001
其中,distance为距离,key为数据采集设备的编号和工业时序数据的关键字段,hash(key)为第二哈希函数值,ip为存储设备的IP地址,hash(ip)为第一哈希函数值,D为哈希函数的值域;
获取距离最小时的第一哈希函数值,作为所述第二哈希函数值最近的第一哈希函数值。
9.一种工业时序数据分布式存储装置,其特征在于,所述装置包括:
第一哈希函数值计算模块,用于对每个存储设备的IP地址进行哈希运算,得到第一哈希函数值;
工业时序数据获取模块,用于获取数据采集设备采集的工业时序数据,所述工业时序数据包括数据采集设备的编号;
第二哈希函数值计算模块,用于对数据采集设备的编号和工业时序数据的关键字段进行哈希运算,得到第二哈希函数值;
目标存储地址确定模块,用于获取与所述第二哈希函数值最近的第一哈希函数值,并获取所述最近的第一哈希函数值对应的存储设备的IP地址,得到目标存储地址;
存储模块,用于将所述工业时序数据存储至所述目标存储地址对应的存储设备。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202210913165.2A 2022-08-01 2022-08-01 一种工业时序数据分布式存储方法、装置 Pending CN114969061A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210913165.2A CN114969061A (zh) 2022-08-01 2022-08-01 一种工业时序数据分布式存储方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210913165.2A CN114969061A (zh) 2022-08-01 2022-08-01 一种工业时序数据分布式存储方法、装置

Publications (1)

Publication Number Publication Date
CN114969061A true CN114969061A (zh) 2022-08-30

Family

ID=82970335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210913165.2A Pending CN114969061A (zh) 2022-08-01 2022-08-01 一种工业时序数据分布式存储方法、装置

Country Status (1)

Country Link
CN (1) CN114969061A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188339A1 (en) * 2020-12-16 2022-06-16 Electronics And Telecommunications Research Institute Network environment synchronization apparatus and method
CN115495498A (zh) * 2022-09-23 2022-12-20 共青科技职业学院 数据关联方法、系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062898A (ja) * 1997-04-18 2004-02-26 Fujitsu Ltd 相関のあるデータ組み合わせの数え上げ方式
CN109245879A (zh) * 2018-09-06 2019-01-18 杭州光芯科技有限公司 一种存储和查找ip地址映射关系的双哈希算法
CN112230861A (zh) * 2020-10-26 2021-01-15 金钱猫科技股份有限公司 一种基于一致性哈希算法的数据存储方法及终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062898A (ja) * 1997-04-18 2004-02-26 Fujitsu Ltd 相関のあるデータ組み合わせの数え上げ方式
CN109245879A (zh) * 2018-09-06 2019-01-18 杭州光芯科技有限公司 一种存储和查找ip地址映射关系的双哈希算法
CN112230861A (zh) * 2020-10-26 2021-01-15 金钱猫科技股份有限公司 一种基于一致性哈希算法的数据存储方法及终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188339A1 (en) * 2020-12-16 2022-06-16 Electronics And Telecommunications Research Institute Network environment synchronization apparatus and method
CN115495498A (zh) * 2022-09-23 2022-12-20 共青科技职业学院 数据关联方法、系统、电子设备及存储介质
CN115495498B (zh) * 2022-09-23 2023-06-16 共青科技职业学院 数据关联方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10467245B2 (en) System and methods for mapping and searching objects in multidimensional space
US10268697B2 (en) Distributed deduplication using locality sensitive hashing
Manzoor et al. Fast memory-efficient anomaly detection in streaming heterogeneous graphs
US8027984B2 (en) Systems and methods of reverse lookup
CN114969061A (zh) 一种工业时序数据分布式存储方法、装置
US11423085B2 (en) Graph database super vertex partitioning
CN110489059B (zh) 数据集群存储的方法、装置及计算机设备
CN112287182B (zh) 图数据存储、处理方法、装置及计算机存储介质
US8977660B1 (en) Multi-level distributed hash table for data storage in a hierarchically arranged network
WO2013046664A1 (ja) 情報システム、管理装置、データ処理方法、データ構造、プログラム、および記録媒体
CN106682215B (zh) 一种数据处理方法和管理节点
CN112015820A (zh) 分布式图数据库实现的方法、系统、电子装置和存储介质
EP3371717A1 (en) Virtual edge of a graph database
Dehne et al. Efficient external memory algorithms by simulating coarse-grained parallel algorithms
CN111723073B (zh) 数据存储处理方法、装置、处理系统以及存储介质
CN109739433A (zh) 数据处理的方法及终端设备
Wu et al. Efficient and exact local search for random walk based top-k proximity query in large graphs
Hassani et al. I-hastream: density-based hierarchical clustering of big data streams and its application to big graph analytics tools
US10698955B1 (en) Weighted abstract path graph database partitioning
WO2017065795A1 (en) Incremental update of a neighbor graph via an orthogonal transform based indexing
CN116578641A (zh) 一种基于ketama算法的分库方法和系统
US10614055B2 (en) Method and system for tree management of trees under multi-version concurrency control
CN116303343A (zh) 数据分片方法、装置、电子设备及存储介质
EP3995972A1 (en) Metadata processing method and apparatus, and computer-readable storage medium
WO2021012211A1 (zh) 一种为数据建立索引的方法以及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220830

RJ01 Rejection of invention patent application after publication