CN112181994B - 运维大数据的分布式内存数据库的刷新方法、装置、介质 - Google Patents

运维大数据的分布式内存数据库的刷新方法、装置、介质 Download PDF

Info

Publication number
CN112181994B
CN112181994B CN202011213503.9A CN202011213503A CN112181994B CN 112181994 B CN112181994 B CN 112181994B CN 202011213503 A CN202011213503 A CN 202011213503A CN 112181994 B CN112181994 B CN 112181994B
Authority
CN
China
Prior art keywords
database
memory database
node
data
refreshing
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
CN202011213503.9A
Other languages
English (en)
Other versions
CN112181994A (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.)
BEIJING MT-HIRISUN INFORMATION TECHNOLOGY DEVELOPMENT CO LTD
Original Assignee
BEIJING MT-HIRISUN INFORMATION TECHNOLOGY DEVELOPMENT 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 BEIJING MT-HIRISUN INFORMATION TECHNOLOGY DEVELOPMENT CO LTD filed Critical BEIJING MT-HIRISUN INFORMATION TECHNOLOGY DEVELOPMENT CO LTD
Priority to CN202011213503.9A priority Critical patent/CN112181994B/zh
Publication of CN112181994A publication Critical patent/CN112181994A/zh
Application granted granted Critical
Publication of CN112181994B publication Critical patent/CN112181994B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2471Distributed queries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用于运维大数据的分布式内存数据库的刷新方法、装置及存储介质,该方法包括:从多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点;当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,从内存数据库节点向主内存数据库节点发送刷新请求信息;解析步骤,当主内存数据库节点接收到多个刷新请求信息后,对多个刷新请求信息进行解析,得到解析后的数据条目;使用数据库键名称在主内存数据库节点的减量数据库进行匹配后进行主节点内存数据库的刷新,本发明可以确保数据不丢失,且利于后续的数据查询,确保获取完整的运维信息,提高了系统性能。

Description

运维大数据的分布式内存数据库的刷新方法、装置、介质
技术领域
本发明涉及大数据处理技术领域,特别是一种用于运维大数据的分布式内存数据库的刷新方法、装置及存储介质。
背景技术
“大数据”是指以多元形式,许多来源搜集而来的庞大数据组,往往具有实时性。在企业对企业销售的情况下,这些数据可能得自社交网络、电子商务网站、顾客来访纪录、运营运维系统等,还有许多其他来源。
但是,不同的运营运维系统对数据的实时性要求是不同的,比如,有的系统要求一天收集一次运维数据即可,有的系统,比如银行、电力、安全等分布式数据库,对数据的实时性要求极高,因此,系统出现问题时,亟需获得相应的运维数据,以分析导致故障的原因。
现有技术中,对分布式内存数据的管理一般基于缓存的形式进行管理,比如对Redis和jvm这两种缓存方式缓存数据实现统一管理,这种管理效率较低,且在处理时由于占用缓存,导致影响各分布式节点的性能,比如,导致查询性能降低,因此,如何实时地获取最新的运维数据,且对当前系统的影响最小是目前的一个技术难点。
现有技术中对内存数据库查询时,一般采用键名进行查询,如果在内存中命中了记录,则不再进行查询,这种方式不适合运维数据的查询,因为,其可能导致获取的运维数据不全,影响系统故障的分析,现有技术中,一般由主节点根据时间间隔统一进行数据的刷新,导致刷新方式固定,刷新次数过多,影响了系统性能。
发明内容
本发明针对上述现有技术中的缺陷,提出了如下技术方案。
一种用于运维大数据的分布式内存数据库的刷新方法,该方法应用于分布式内存数据库,其特征在于,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,该方法包括:
设置步骤,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;
触发步骤,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;
解析步骤,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;
刷新步骤,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
更进一步地,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值。
更进一步地,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。
更进一步地,所述运维信息包括多条运维数据。
更进一步地,所述方法还包括:
查询步骤,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一、二查询数据向用户反馈查询结果。
本发明还提出了一种用于运维大数据的分布式内存数据库的刷新装置,该装置应用于分布式内存数据库,其特征在于,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,该装置包括:
设置单元,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;
触发单元,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;
解析单元,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;
刷新单元,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
更进一步地,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值。
更进一步地,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。
更进一步地,所述装置还包括:
查询单元,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一、二查询数据向用户反馈查询结果;所述运维信息包括多条运维数据。
本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
本发明的一种用于运维大数据的分布式内存数据库的刷新方法、装置及存储介质,该方法应用于分布式内存数据库,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,该方法包括:设置步骤,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;触发步骤,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;解析步骤,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;刷新步骤,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。本发明中,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息的同时,还向该从内存数据库节点的全量数据库发出写请求,以将所述运维信息及对应的数据库键值写入到该从内存数据库节点的全量数据库,确保数据不丢失;本发明中,所述主内存数据库节点对解析获得的来自多个内存数据库节点的四元组基于时间进行排序,所述时间从所述运维信息找那个获得,从而保证了刷新后的运维数据是基于时间排序的,以利于后续的数据查询,确保获取完整的运维信息;本发明中,基于减量、全量数据库匹配的方式,将采集的运维信息实时地刷新到所述主内存数据库节点的减量数据库中,刷新过程中不占用缓存,以将对当前系统的影响降低到最小,提高了获取运维信息的实时性及查询相应的及时性,提高了故障解决的速度;本发明中,在运维数据查询时,可以基于不同系统对实时性要求的不同,可以仅从主内存数据库节点上获取运维属于,对于实时性要求高的系统,还需要查询从内存数据库节点以获取最新的运维数据,一起发送给用户,且,在查询从节点时,所述主内存数据库节点将对所述查询指令进行解析获得的数据库键名称发送至所述多个从内存数据库节点进行查询从而从节点不需要再进行查询指令的解析,节约了系统时间,提高了系统性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是根据本发明的实施例的一种用于运维大数据的分布式内存数据库的刷新方法的流程图。
图2是根据本发明的实施例的一种用于运维大数据的分布式内存数据库的刷新装置的示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的一种用于运维大数据的分布式内存数据库的刷新方法,该方法应用于分布式内存数据库,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,本发明中,减量数据库是相对于来说的全量数据库,即减量数据库的存储容量相对于全量数据库来说小一些,二者存储的数据存在交集。
本发明的方法包括如下步骤:
设置步骤S101,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;一般来说,内存数据库主节点对应的主服务器性能较好,数据吞吐量较大,优选地,可以基于性能评估算法选择出合适的内存数据库主节点。
触发步骤S102,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;一般来说,所述运维信息包括多条运维数据。本发明中,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息的同时,还向该从内存数据库节点的全量数据库发出写请求,以将所述运维信息及对应的数据库键值写入到该从内存数据库节点的全量数据库,确保数据不丢失,这是本发明的重要发明点之一。
解析步骤S103,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;本发明中,所述主内存数据库节点对解析获得的来自多个内存数据库节点的四元组基于时间进行排序,所述时间从所述运维信息找那个获得,从而保证了刷新后的运维数据是基于时间排序的,以利于后续的数据查询,确保获取完整的运维信息,这是本发明的重要发明点之一。
刷新步骤S104,使用数据库键名称在主内存数据库节点的减量数据库进行匹配后进行主节点内存数据库的刷新,具体操作为:使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
本发明中,基于减量、全量数据库匹配的方式,将采集的运维信息实时地刷新到所述主内存数据库节点的减量数据库中,刷新过程中不占用缓存,以将对当前系统的影响降低到最小,提高了获取运维信息的实时性及查询相应的及时性,提高了故障解决的速度,这是本发明的一个重要发明点。
在一个实施例,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值,所述预定时间间隔可根据系统的要求进行设定,比如,实时性要求高的系统,可以设置为30s,要求不那么高的系统,可设置为5min等等,一般来说,也可以根据获取的运维信息的数据量来发起刷新,比如数据量达到1M。本发明中,由多个从内存数据库节点发起刷新请求,不同于现有技术中的由主节点根据时间间隔统一进行数据的刷新,降低了数据刷新的次数,节省了网络流量,提高了系统性能,这是本发明的另一个重要发明点。
在一个实施例,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。该方式确保了采集的运维信息及时的进行持久化存储,方式主节点突然掉电,导致数据丢失,这是本发明的另一个重要发明点。
在一个实施例,所述方法还包括:查询步骤S105,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一、二查询数据向用户反馈查询结果。所述主内存数据库节点将所述第一、二查询数据中的数据条目基于时间进行排序,对重复的数据进行去重得到去重后的查询数据,作为查询结果向用户反馈。对于实时性要求高的系统,所述主内存数据库节点将对所述查询指令进行解析获得的数据库键名称发送至所述多个从内存数据库节点进行查询,所述多个从内存数据库节点基于所述数据库键名称在各自的减量数据库中进行查询,获取最新的运维信息,并将所述最新的运维信息发送至所述主内存数据库节点,所述主内存数据库节点将最新的运维信息与去重后的查询数据进行合并作为查询结果向用户反馈。
本发明中,在运维数据查询时,可以基于不同系统对实时性要求的不同,可以仅从主内存数据库节点上获取运维属于,对于实时性要求高的系统,还需要查询从内存数据库节点以获取最新的运维数据,一起发送给用户,且,在查询从节点时,所述主内存数据库节点将对所述查询指令进行解析获得的数据库键名称发送至所述多个从内存数据库节点进行查询,从而从节点不需要再进行查询指令的解析,节约了系统时间,提高了系统性能,这是另一个重要发明点。
图2示出了本发明的一种用于运维大数据的分布式内存数据库的刷新装置,该装置应用于分布式内存数据库,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,本发明中,减量数据库是相对于来说的全量数据库,即减量数据库的存储容量相对于全量数据库来说小一些,二者存储的数据存在交集。
本发明的装置包括如下单元:
设置单元201,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;一般来说,内存数据库主节点对应的主服务器性能较好,数据吞吐量较大,优选地,可以基于性能评估算法选择出合适的内存数据库主节点。
触发单元202,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;一般来说,所述运维信息包括多条运维数据。本发明中,所述从内存数据库节点向所述主内存数据库节点发送刷新请求信息的同时,还向该从内存数据库节点的全量数据库发出写请求,以将所述运维信息及对应的数据库键值写入到该从内存数据库节点的全量数据库,确保数据不丢失,这是本发明的重要发明点之一。
解析单元203,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;本发明中,所述主内存数据库节点对解析获得的来自多个内存数据库节点的四元组基于时间进行排序,所述时间从所述运维信息找那个获得,从而保证了刷新后的运维数据是基于时间排序的,以利于后续的数据查询,确保获取完整的运维信息,这是本发明的重要发明点之一。
刷新单元204,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
本发明中,基于减量、全量数据库匹配的方式,将采集的运维信息实时地刷新到所述主内存数据库节点的减量数据库中,刷新过程中不占用缓存,以将对当前系统的影响降低到最小,提高了获取运维信息的实时性及查询相应的及时性,提高了故障解决的速度,这是本发明的一个重要发明点。
在一个实施例,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值,所述预定时间间隔可根据系统的要求进行设定,比如,实时性要求高的系统,可以设置为30s,要求不那么高的系统,可设置为5min等等,一般来说,也可以根据获取的运维信息的数据量来发起刷新,比如数据量达到1M。本发明中,由多个从内存数据库节点发起刷新请求,不同于现有技术中的由主节点根据时间间隔统一进行数据的刷新,降低了数据刷新的次数,节省了网络流量,提高了系统性能,这是本发明的另一个重要发明点。
在一个实施例,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。该方式确保了采集的运维信息及时的进行持久化存储,方式主节点突然掉电,导致数据丢失,这是本发明的另一个重要发明点。
在一个实施例,所述装置还包括:查询单元205,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一、二查询数据向用户反馈查询结果。所述主内存数据库节点将所述第一、二查询数据中的数据条目基于时间进行排序,对重复的数据进行去重得到去重后的查询数据,作为查询结果向用户反馈。对于实时性要求高的系统,所述主内存数据库节点将对所述查询指令进行解析获得的数据库键名称发送至所述多个从内存数据库节点进行查询,所述多个从内存数据库节点基于所述数据库键名称在各自的减量数据库中进行查询,获取最新的运维信息,并将所述最新的运维信息发送至所述主内存数据库节点,所述主内存数据库节点将最新的运维信息与去重后的查询数据进行合并作为查询结果向用户反馈。
本发明中,在运维数据查询时,可以基于不同系统对实时性要求的不同,可以仅从主内存数据库节点上获取运维属于,对于实时性要求高的系统,还需要查询从内存数据库节点以获取最新的运维数据,一起发送给用户,且,在查询从节点时,所述主内存数据库节点将对所述查询指令进行解析获得的数据库键名称发送至所述多个从内存数据库节点进行查询,从而从节点不需要再进行查询指令的解析,节约了系统时间,提高了系统性能,这是另一个重要发明点。
本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然, 在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质 中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种用于运维大数据的分布式内存数据库的刷新方法,该方法应用于分布式内存数据库,其特征在于,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,该方法包括:
设置步骤,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;
触发步骤,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该从内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;
解析步骤,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;
刷新步骤,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
2.根据权利要求1所述的方法,其特征在于,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值。
3.根据权利要求1所述的方法,其特征在于,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。
4.根据权利要求3所述的方法,其特征在于,所述运维信息包括多条运维数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
查询步骤,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一查询数据、第二查询数据向用户反馈查询结果。
6.一种用于运维大数据的分布式内存数据库的刷新装置,该装置应用于分布式内存数据库,其特征在于,所述分布式内存数据库包括多个内存数据库节点,每一个内存数据库节点设置在一个服务器上,每一个服务器用于采集运维信息并将其存储在本地的内存数据库节点上,所述内存数据库节点包括位于内存中的减量数据库及持久化于磁盘中的全量数据库,该装置包括:
设置单元,从所述多个内存数据库节点中选择一个内存数据库节点作为内存数据库主节点,其对应的服务器作为主服务器,其余的内存数据库节点为从内存数据库节点;
触发单元,当有任一个从内存数据库节点采集的运维信息满足第一预定条件时,所述从内存数据库节点向主内存数据库节点发送刷新请求信息,所述刷新请求信息包括该从内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键值;
解析单元,当所述主内存数据库节点接收到多个刷新请求信息后,对所述多个刷新请求信息进行解析,得到解析后的数据条目,所述数据条目为由‘内存数据库节点的节点名称、IP地址、运维信息以及运维信息对应的数据库键名称’构成的四元组;
刷新单元,使用所述数据库键名称在所述主内存数据库节点的减量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则使用所述数据库键名称在所述主内存数据库节点的全量数据库进行匹配,如果匹配成功,则将所述数据条目基于所述数据库键名称将所述数据条目刷新至所述主内存数据库节点的减量数据库中,如果匹配失败,则所述主内存数据库节点在所述减量数据库创建以所述数据库键名称的数据表,然后将所述数据条目刷新值创建的数据表中。
7.根据权利要求6所述的装置,其特征在于,所述第一预定条件为预定时间间隔或者采集的运维信息的数据量达到一阈值。
8.根据权利要求7所述的装置,其特征在于,所述主内存数据库节点定时的查询所述减量数据库中的所述数据库键名称,以确定所述减量数据库中的新增数据条目,并将确定的所述减量数据库中的新增数据条目基于所述数据库键名称存储在所述主内存数据库节点的所述全量数据库中。
9.根据权利要求8所述的装置,所述装置还包括:
查询单元,当所述主内存数据库节点接收到查询指令时,对所述查询指令进行解析获得所需要查询的数据库键名称,使用所述数据库键名称在所述主内存数据库节点的减量数据库中进行查询获取相应的第一查询数据,然后,在所述主内存数据库节点的全量数据库中进行查询获取相应的第二查询数据,基于所述第一查询数据、第二查询数据向用户反馈查询结果;所述运维信息包括多条运维数据。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行权利要求1-5之任一的方法。
CN202011213503.9A 2020-11-04 2020-11-04 运维大数据的分布式内存数据库的刷新方法、装置、介质 Active CN112181994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011213503.9A CN112181994B (zh) 2020-11-04 2020-11-04 运维大数据的分布式内存数据库的刷新方法、装置、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011213503.9A CN112181994B (zh) 2020-11-04 2020-11-04 运维大数据的分布式内存数据库的刷新方法、装置、介质

Publications (2)

Publication Number Publication Date
CN112181994A CN112181994A (zh) 2021-01-05
CN112181994B true CN112181994B (zh) 2021-06-29

Family

ID=73916419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011213503.9A Active CN112181994B (zh) 2020-11-04 2020-11-04 运维大数据的分布式内存数据库的刷新方法、装置、介质

Country Status (1)

Country Link
CN (1) CN112181994B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269522B (zh) * 2021-05-19 2021-11-30 江苏星月测绘科技股份有限公司 一种基于bim技术的建筑智能化管理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682844B2 (en) * 2005-01-28 2014-03-25 Sap Ag Method and apparatus for collision resolution in an asynchronous database system
US10002141B2 (en) * 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
EP3076308B1 (en) * 2015-03-31 2017-11-29 Sap Se Telecommunication method for handling a database query in a telecommunication system
CN109040183A (zh) * 2018-06-27 2018-12-18 郑州云海信息技术有限公司 节点信息获取方法、装置、设备及计算机可读存储介质
CN109491988B (zh) * 2018-11-05 2021-12-14 北京中安智达科技有限公司 一种支持全量更新的数据实时关联方法
CN111831688A (zh) * 2019-04-15 2020-10-27 北京京东尚科信息技术有限公司 运维数据的管理方法和管理系统

Also Published As

Publication number Publication date
CN112181994A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
US11288282B2 (en) Distributed database systems and methods with pluggable storage engines
US8775471B1 (en) Representing user behavior information
CN104424287B (zh) 数据查询方法和装置
AU2017243870B2 (en) "Methods and systems for database optimisation"
CN111460023A (zh) 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质
CN110659282B (zh) 数据路由的构建方法、装置、计算机设备和存储介质
CN111309720A (zh) 时序数据的存储、读取方法、装置、电子设备及存储介质
CN103034735A (zh) 一种大数据分布式文件导出方法
US7519636B2 (en) Key sequenced clustered I/O in a database management system
JP2013522715A (ja) 個別にアクセス可能なデータ単位の記憶の管理
CN110597852A (zh) 数据处理方法、装置、终端及存储介质
CN114116762A (zh) 一种离线数据模糊搜索方法、装置、设备和介质
CN111046081B (zh) 一种工业时序数据的访问方法及系统
CN112181994B (zh) 运维大数据的分布式内存数据库的刷新方法、装置、介质
KR100906454B1 (ko) 데이터베이스 로그 정보 관리 장치 및 방법
CN114398520A (zh) 数据检索方法、系统、装置、电子设备及存储介质
US7725468B2 (en) Improving efficiency in processing queries directed to static data sets
CN116089414B (zh) 基于海量数据场景的时序数据库写入性能优化方法及装置
CN111767314A (zh) 数据缓存及查询方法、装置、懒缓存系统及存储介质
CN111259062A (zh) 一种能够保证分布式数据库全表查询语句结果集顺序的方法和装置
CN116126864A (zh) 索引构建方法、数据查询方法及相关设备
CN113032436A (zh) 基于文章内容和标题的搜索方法和装置
EP3436988B1 (en) "methods and systems for database optimisation"
WO2017131795A1 (en) Processing time-varying data using an adjacency list representation of a time-varying graph
CN116166671B (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
GR01 Patent grant
GR01 Patent grant