CN112181994A - 运维大数据的分布式内存数据库的刷新方法、装置、介质 - Google Patents
运维大数据的分布式内存数据库的刷新方法、装置、介质 Download PDFInfo
- Publication number
- CN112181994A CN112181994A CN202011213503.9A CN202011213503A CN112181994A CN 112181994 A CN112181994 A CN 112181994A CN 202011213503 A CN202011213503 A CN 202011213503A CN 112181994 A CN112181994 A CN 112181994A
- Authority
- CN
- China
- Prior art keywords
- database
- memory database
- node
- data
- decrement
- 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.)
- Granted
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/27—Replication, 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之任一的方法。
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 true CN112181994A (zh) | 2021-01-05 |
CN112181994B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269522A (zh) * | 2021-05-19 | 2021-08-17 | 江苏星月测绘科技股份有限公司 | 一种基于bim技术的建筑智能化管理方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060173850A1 (en) * | 2005-01-28 | 2006-08-03 | Auer Wolfgang F | Method and apparatus for collision resolution in an asynchronous database system |
US20160042014A1 (en) * | 2012-09-25 | 2016-02-11 | A10 Networks, Inc. | Distributed database in software driven networks |
US20160294975A1 (en) * | 2015-03-31 | 2016-10-06 | Sap Se | Telecommunication method for handling a database query in a telecommunication system and telecommunication system |
CN109040183A (zh) * | 2018-06-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 节点信息获取方法、装置、设备及计算机可读存储介质 |
CN109491988A (zh) * | 2018-11-05 | 2019-03-19 | 北京中安智达科技有限公司 | 一种支持全量更新的数据实时关联方法 |
CN111831688A (zh) * | 2019-04-15 | 2020-10-27 | 北京京东尚科信息技术有限公司 | 运维数据的管理方法和管理*** |
-
2020
- 2020-11-04 CN CN202011213503.9A patent/CN112181994B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060173850A1 (en) * | 2005-01-28 | 2006-08-03 | Auer Wolfgang F | Method and apparatus for collision resolution in an asynchronous database system |
US20160042014A1 (en) * | 2012-09-25 | 2016-02-11 | A10 Networks, Inc. | Distributed database in software driven networks |
US20160294975A1 (en) * | 2015-03-31 | 2016-10-06 | Sap Se | Telecommunication method for handling a database query in a telecommunication system and telecommunication system |
CN109040183A (zh) * | 2018-06-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 节点信息获取方法、装置、设备及计算机可读存储介质 |
CN109491988A (zh) * | 2018-11-05 | 2019-03-19 | 北京中安智达科技有限公司 | 一种支持全量更新的数据实时关联方法 |
CN111831688A (zh) * | 2019-04-15 | 2020-10-27 | 北京京东尚科信息技术有限公司 | 运维数据的管理方法和管理*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269522A (zh) * | 2021-05-19 | 2021-08-17 | 江苏星月测绘科技股份有限公司 | 一种基于bim技术的建筑智能化管理方法及*** |
CN113269522B (zh) * | 2021-05-19 | 2021-11-30 | 江苏星月测绘科技股份有限公司 | 一种基于bim技术的建筑智能化管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112181994B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN107491487B (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
US7809752B1 (en) | Representing user behavior information | |
CN104424287B (zh) | 数据查询方法和装置 | |
CN111460023A (zh) | 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN110597852B (zh) | 数据处理方法、装置、终端及存储介质 | |
US20190114294A1 (en) | Methods and systems for database optimisation | |
CN111309720A (zh) | 时序数据的存储、读取方法、装置、电子设备及存储介质 | |
CN103034735A (zh) | 一种大数据分布式文件导出方法 | |
JP2013522715A (ja) | 個別にアクセス可能なデータ単位の記憶の管理 | |
CN111753016A (zh) | 数据处理方法、装置、***及计算机可读存储介质 | |
CN112364033B (zh) | 一种数据检索*** | |
US20060230085A1 (en) | Key sequenced clustered I/O in a database management system | |
CN109684528A (zh) | 跨库分页查询方法、***和存储介质 | |
CN114116762A (zh) | 一种离线数据模糊搜索方法、装置、设备和介质 | |
CN111046081B (zh) | 一种工业时序数据的访问方法及*** | |
CN112181994B (zh) | 运维大数据的分布式内存数据库的刷新方法、装置、介质 | |
CN116126864A (zh) | 索引构建方法、数据查询方法及相关设备 | |
KR100906454B1 (ko) | 데이터베이스 로그 정보 관리 장치 및 방법 | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
US7725468B2 (en) | Improving efficiency in processing queries directed to static data sets | |
CN113377817A (zh) | 数据处理方法、***、设备及存储介质 | |
CN117171138A (zh) | 一种数据库的分库分表方法及数据库*** | |
CN111259062A (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 |