CN110188081B - 基于cassandra数据库的日志数据存储方法、装置和计算机设备 - Google Patents
基于cassandra数据库的日志数据存储方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110188081B CN110188081B CN201910324966.3A CN201910324966A CN110188081B CN 110188081 B CN110188081 B CN 110188081B CN 201910324966 A CN201910324966 A CN 201910324966A CN 110188081 B CN110188081 B CN 110188081B
- Authority
- CN
- China
- Prior art keywords
- log data
- list
- information
- node
- hash 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013500 data storage Methods 0.000 title claims abstract description 31
- 238000011160 research Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012827 research and development Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000009827 uniform distribution Methods 0.000 abstract description 5
- 238000005192 partition Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请揭示了一种基于cassandra数据库的日志数据存储方法、装置和计算机设备,其中方法包括:接收待存储的日志数据;获取日志数据的traceID,以及获取当前的时间信息加上日志数据中指定信息形成的查询条件信息;以traceID为参数进行哈希运算得到第一哈希值,并根据第一哈希值将日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以查询条件信息为参数进行哈希运算得到第二哈希值,并根据第二哈希值将日志数据存储到cassandra数据库的第二节点的第二列表中。由于存储日志数据的时候,分别使用traceID和带有时间信息的查询条件信息进行哈希计算,所以可以比较均匀分布地将日志数据存储到cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点数据问题。
Description
技术领域
本申请涉及到日志数据存储领域,特别是涉及到一种基于cassandra数据库的日志数据存储方法、装置和计算机设备。
背景技术
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型)。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了GoogleBigTable基于列族(Column Family)的数据模型。基于Cassandra数据库存储数据,一般为海量数据的存储,所以,目其存在容易造成大量的数据集中存储到一个节点中,产生热点数据的问题。
发明内容
本申请的主要目的为提供一种基于cassandra数据库的日志数据存储方法、装置和计算机设备,旨在解决现有技术中Cassandra数据库存储数据容易产生热点数据的问题。
为了实现上述发明目的,本申请提出一种基于cassandra数据库的日志数据存储方法,包括:
接收待存储的日志数据;
获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
进一步地,所述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:
接收查询日志数据的查询信息;
通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;
若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
进一步地,所述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:
接收查询日志数据的查询信息;
通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;
若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
进一步地,所述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中的步骤之前,包括:
判断是否获取到所述日志数据的traceID;
若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;
若是,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
进一步地,所述将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中的步骤之后,包括:
记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;
定时将所述数量发送给预设的邮箱。
进一步地,所述获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息的步骤,包括:
获取当前时间,以及预设的时间单位;
将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;
将当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
进一步地,所述获取当前时间,以及预设的时间单位的步骤,包括:
获取所述当前时间;
在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
本申请还提供一种基于cassandra数据库的日志数据存储装置,包括:
接收单元,用于接收待存储的日志数据;
获取单元,用于获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
存储单元,用于以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于cassandra数据库的日志数据存储方法、装置和计算机设备,由于存储日志数据的时候,分别使用traceID和带有时间信息的查询条件信息进行哈希计算,所以可以比较均匀分布地将日志数据存储到cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点数据问题。而在查找日志数据的时候,可以提供方便业务端的业务相关人员查询的第一列表,以及提供业务端的业务相关人员查询的第二列表,既能满足研发端的人员快速完成日志数据查询,也可以满足业务端的人员快速完成日志数据查询。
附图说明
图1为本申请一实施例的基于cassandra数据库的日志数据存储方法的流程示意图;
图2为本申请一实施例的基于cassandra数据库的日志数据存储装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于cassandra数据库的日志数据存储方法,包括:
S1、接收待存储的日志数据;
S2、获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
S3、以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
如上述步骤S1所述,上述日志数据是与所述cassandra数据库(混合型的非关系的数据库)关联的服务器产生的日志数据。
如上述步骤S2所述,上述traceID(跟踪ID)是日志数据的唯一标识,每一条日志数据的traceID与其他条的日志数据的traceID不同。上述当前的时间信息即为形成查询条件信息时的时间。上述日志数据的指定信息一般为与业务相关的信息,比如URL(统一资源定位符Uniform Resource Locator)等。
如上述步骤S3所述,将日志数据存储到哪一个节点是根据该日志数据计算出的哈希值进行确定的,比如,预设每一个节点对应的哈希值的区间范围不同,那么根据日志数据计算出的哈希值在哪一个区间范围,即会存储到对应的节点。本申请中,因为每一条日志数据的traceID是唯一的,所以根据traceID计算出第一哈希值不会与其它使用其它traceID计算出的哈希值相同,而且利用traceID计算出的哈希值大致会均匀分布,所以,大量的日志数据会均匀地分布存储于cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点问题。同样的,大量的日志数据,会得到同样数量的查询条件信息,这些查询条件信息中的指定信息可能相同,比如不同的日志数据的URL相同,但是会因为时间信息的不同,而得到不同的查询条件信息,因此,利用查询条件信息为参数计算出的哈希值也大致会均匀分布,从而将日志数据基本均匀地分布存储到cassandra数据库的各节点中,同样可以有效地防止日志数据存储过程中出现热点问题。上述第一节点和第二节点可能是相同的节点,也可以是不同的节点,上述第一列表和第二列表不会是同一张列表,所以,即使同一条日志数据因为traceID的第一哈希值,以及查询条件信息的第二哈希值相近而存储到同一个节点中,也不会发生混淆的现象,而是分别存储到不同的列表中,也就是说,每一个节点处设置有两张列表(第一列表和第二列表),第一列表只存储第一哈希值对应的日志数据,第二列表只存储第二哈希值对应的日志数据。将日志数据分别存储到第一列表和第二列表,主要是方便不同的人员进行查找,比如,业务端的业务相关人员可以通过traceID快速地查找到存储日志数据的第一列表,进而查找到对应的日志数据;而业务端的业务相关人员,则可以使用查询条件信息先快速地确定那个时间对应的日志数据的第二列表,进而查找到对应的日志数据。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤S3之后,包括:
S301、接收查询日志数据的查询信息;
S302、通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;
S303、若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
S304、若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在本实施例中,因为日志数据分别利用traceID作为分区键进行存储,以及利用查询条件信息作为分区键进行存储,所以同一条日志数据分别存到相同或不同的节点上,且存储到不同的第一列表和第二列表中。当业务端的业务相关人员或者业务端的业务相关人员需要查看日志的时候,可以快速准确地定位到存储日志的节点。比如,输入具体的查询信息为第一traceID,则可以计算第一traceID的哈希值,从而直接找到存储该第一traceID对应的日志数据的节点,然后调用该节点的第一列表,从而快速地查找到第一traceID对应的日志数据。同样的,输入具体的查询信息为第一查询条件信息,则可以计算第一查询条件信息的哈希值,从而快速找到存储该第一查询条件信息对应的日志数据的节点,然后调用该节点的第二列表,从而快速地查找到第一查询条件信息对应的日志数据。
在另一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤S3之后,包括:
S311、接收查询日志数据的查询信息;
S312、通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;
S313、若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
S314、若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在本实施例中,上述业务端是供业务相关人员输入查询信息的一端,在业务端上设置有预设的两个输入框,一个输入框用户输入上述日志数据的指定信息,另一个输入框用于输入具体的时间信息,当两者输入框输入完成后,业务相关人员点击确认之后,即会生成上述查询条件信息。上述研发端是研发人员输入查询信息的一端,在研发端上设置有一个输入框,该输入框用于输入traceID。因为研发人员具有一定的计算机技术,以及对traceID的了解,所以可以准确的输入需要查询的日志数据的traceID,而业务相关人员则很难输入准确的traceID,所以只需要输入其熟悉的日志数据的指定信息(查询条件)和时间信息即可。所以,为了快速地完成查找日志数据的操作,直接判断查询信息的来源,然后根据来源直接调用对应的第一列表或第二列表即可。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中的步骤之前,包括:
S201、判断是否获取到所述日志数据的traceID;
S202、若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;
S203、若是,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
在本实施例中,有的时候,日志数据中是不存在traceID的,此时无法获取到traceID,因此无法通过计算该日志数据的traceID的第一哈希值来确定其应该存储到哪一个节点,本实施例给出一种解决方案,随机的将其存储到一个节点的第一列表中,以便于研发人员在没有traceID的情况下,通过其它手段在第一列表中查找到该日志数据。在其它实施例中,研发人员还可以登录业务端,通过输入日志数据的指定信息和时间信息的方式参照该日志数据。
在一个实施例中,上述若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中的步骤S202之后,包括:
S2021、记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;
S2022、定时将所述数量发送给预设的邮箱。
在本实施例中,因为所述日志数据中没有traceID,所以可能是问题数据,当这样的日志数据过多的时候,说明存在的问题较多,将上述数量定时的发送给预设的邮箱,则可以使邮箱的用户快速的得到结果,以便于技术处理。进一步对,当上述数量大于预设数量阈值时,会发出紧急邮件等。
在一个实施例中,上述获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息的步骤,包括:
S211、获取当前时间,以及预设的时间单位;
S212、将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;
S213、将当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
在本实施例中,上述当前时间是指包含有年-月-日-时-分-秒的时间;上述时间单位是指秒、分钟、小时、天等时间单位。上述将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息是指,如果时间单位为分钟,则将当前时间的秒的数据清除,比如,当前时间为2018年11月30日14时5分30秒,会将30秒清除,只保留2018年11月30日14时5分。在这种情况下,在2018年11月30日14时5分的这一分钟内接收到的日志数据,其计算的第二哈希值会相同,所以会存储到同一个节点中,当下一分钟,因为当前的时间信息发生变化,则下一分钟的日志数据存储到另外的节点中。设置时间单位,方便用户查询,当用户知道日志产生的时间,即会准确定位到对应的存储节点,然后完成日志查询的过程。
在本实施例中,上述获取当前时间,以及预设的时间单位的步骤S211,包括:
S2111、获取所述当前时间;
S2112、在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
在本实施例中,上述时间段-时间单位列表中记载有时间段和时间单位一对一映射关系的时间段和时间单位。在实际环境中,日志数据产生的高峰期是不同的,比如9点至12的日志数据产生量较高,为了避免热点问题放生,可以将时间单位设置为分钟,12点-2点的日志数据产生量交底,则将时间单位设置为小时等。这样在查找日志数据的时候,无需到多个节点查找。
本申请实施例的基于cassandra数据库的日志数据存储方法,由于存储日志数据的时候,分别使用traceID和带有时间信息的查询条件信息进行哈希计算,所以可以比较均匀分布地将日志数据存储到cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点数据问题。而在查找日志数据的时候,可以提供方便业务端的业务相关人员查询的第一列表,以及提供业务端的业务相关人员查询的第二列表,既能满足研发端的人员快速完成日志数据查询,也可以满足业务端的人员快速完成日志数据查询。
参照图2,本申请实施例还提供一种基于cassandra数据库的日志数据存储装置,包括:
接收单元10,用于接收待存储的日志数据;
获取单元20,用于获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
存储单元30,用于以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
如上述接收单元10,上述日志数据是与所述cassandra数据库(混合型的非关系的数据库)关联的服务器产生的日志数据。
如上述获取单元20,上述traceID(跟踪ID)是日志数据的唯一标识,每一条日志数据的traceID与其他条的日志数据的traceID不同。上述当前的时间信息即为形成查询条件信息时的时间。上述日志数据的指定信息一般为与业务相关的信息,比如URL(统一资源定位符Uniform Resource Locator)等。
如上述存储单元30,将日志数据存储到哪一个节点是根据该日志数据计算出的哈希值进行确定的,比如,预设每一个节点对应的哈希值的区间范围不同,那么根据日志数据计算出的哈希值在哪一个区间范围,即会存储到对应的节点。本申请中,因为每一条日志数据的traceID是唯一的,所以根据traceID计算出第一哈希值不会与其它使用其它traceID计算出的哈希值相同,而且利用traceID计算出的哈希值大致会均匀分布,所以,大量的日志数据会均匀地分布存储于cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点问题。同样的,大量的日志数据,会得到同样数量的查询条件信息,这些查询条件信息中的指定信息可能相同,比如不同的日志数据的URL相同,但是会因为时间信息的不同,而得到不同的查询条件信息,因此,利用查询条件信息为参数计算出的哈希值也大致会均匀分布,从而将日志数据基本均匀地分布存储到cassandra数据库的各节点中,同样可以有效地防止日志数据存储过程中出现热点问题。上述第一节点和第二节点可能是相同的节点,也可以是不同的节点,上述第一列表和第二列表不会是同一张列表,所以,即使同一条日志数据因为traceID的第一哈希值,以及查询条件信息的第二哈希值相近而存储到同一个节点中,也不会发生混淆的现象,而是分别存储到不同的列表中,也就是说,每一个节点处设置有两张列表(第一列表和第二列表),第一列表只存储第一哈希值对应的日志数据,第二列表只存储第二哈希值对应的日志数据。将日志数据分别存储到第一列表和第二列表,主要是方便不同的人员进行查找,比如,业务端的业务相关人员可以通过traceID快速地查找到存储日志数据的第一列表,进而查找到对应的日志数据;而业务端的业务相关人员,则可以使用查询条件信息先快速地确定那个时间对应的日志数据的第二列表,进而查找到对应的日志数据。
在一个实施例中,上述基于cassandra数据库的日志数据存储装置,还包括:
第一接收信息单元,用于接收查询日志数据的查询信息;
第一计算判断单元,用于通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;
第一调用查询单元,用于若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
第二调用查询单元,用于若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在本实施例中,因为日志数据分别利用traceID作为分区键进行存储,以及利用查询条件信息作为分区键进行存储,所以同一条日志数据分别存到相同或不同的节点上,且存储到不同的第一列表和第二列表中。当业务端的业务相关人员或者业务端的业务相关人员需要查看日志的时候,可以快速准确地定位到存储日志的节点。比如,输入具体的查询信息为第一traceID,则可以计算第一traceID的哈希值,从而直接找到存储该第一traceID对应的日志数据的节点,然后调用该节点的第一列表,从而快速地查找到第一traceID对应的日志数据。同样的,输入具体的查询信息为第一查询条件信息,则可以计算第一查询条件信息的哈希值,从而快速找到存储该第一查询条件信息对应的日志数据的节点,然后调用该节点的第二列表,从而快速地查找到第一查询条件信息对应的日志数据。
在另一个实施例中,上述基于cassandra数据库的日志数据存储装置,还包括:
第一接收信息单元,用于接收查询日志数据的查询信息;
第二计算判断单元,用于通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;
第三调用查询单元,用于若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
第四调用查询单元,用于若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在本实施例中,上述业务端是供业务相关人员输入查询信息的一端,在业务端上设置有预设的两个输入框,一个输入框用户输入上述日志数据的指定信息,另一个输入框用于输入具体的时间信息,当两者输入框输入完成后,业务相关人员点击确认之后,即会生成上述查询条件信息。上述研发端是研发人员输入查询信息的一端,在研发端上设置有一个输入框,该输入框用于输入traceID。因为研发人员具有一定的计算机技术,以及对traceID的了解,所以可以准确的输入需要查询的日志数据的traceID,而业务相关人员则很难输入准确的traceID,所以只需要输入其熟悉的日志数据的指定信息(查询条件)和时间信息即可。所以,为了快速地完成查找日志数据的操作,直接判断查询信息的来源,然后根据来源直接调用对应的第一列表或第二列表即可。
在一个实施例中,上述基于cassandra数据库的日志数据存储装置,还包括:
判断单元,用于判断是否获取到所述日志数据的traceID;
随机存储单元,用于若未获取到所述日志数据的traceID,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;
生成单元,用于若获取到所述日志数据的traceID,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
在本实施例中,有的时候,日志数据中是不存在traceID的,此时无法获取到traceID,因此无法通过计算该日志数据的traceID的第一哈希值来确定其应该存储到哪一个节点,本实施例给出一种解决方案,随机的将其存储到一个节点的第一列表中,以便于研发人员在没有traceID的情况下,通过其它手段在第一列表中查找到该日志数据。在其它实施例中,研发人员还可以登录业务端,通过输入日志数据的指定信息和时间信息的方式参照该日志数据。
在一个实施例中,上述基于cassandra数据库的日志数据存储装置,还包括:
记录单元,用于记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;
发送邮件单元,用于定时将所述数量发送给预设的邮箱。
在本实施例中,因为所述日志数据中没有traceID,所以可能是问题数据,当这样的日志数据过多的时候,说明存在的问题较多,将上述数量定时的发送给预设的邮箱,则可以使邮箱的用户快速的得到结果,以便于技术处理。进一步对,当上述数量大于预设数量阈值时,会发出紧急邮件等。
在一个实施例中,上述获取单元20,包括:
获取模块,用于获取当前时间,以及预设的时间单位;
转换模块,用于将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;
形成模块,用于将当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
在本实施例中,上述当前时间是指包含有年-月-日-时-分-秒的时间;上述时间单位是指秒、分钟、小时、天等时间单位。上述将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息是指,如果时间单位为分钟,则将当前时间的秒的数据清除,比如,当前时间为2018年11月30日14时5分30秒,会将30秒清除,只保留2018年11月30日14时5分。在这种情况下,在2018年11月30日14时5分的这一分钟内接收到的日志数据,其计算的第二哈希值会相同,所以会存储到同一个节点中,当下一分钟,因为当前的时间信息发生变化,则下一分钟的日志数据存储到另外的节点中。设置时间单位,方便用户查询,当用户知道日志产生的时间,即会准确定位到对应的存储节点,然后完成日志查询的过程。
在本实施例中,上述获取模块,包括:
获取子模块,用于获取所述当前时间;
查找子模块,用于在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
在本实施例中,上述时间段-时间单位列表中记载有时间段和时间单位一对一映射关系的时间段和时间单位。在实际环境中,日志数据产生的高峰期是不同的,比如9点至12的日志数据产生量较高,为了避免热点问题放生,可以将时间单位设置为分钟,12点-2点的日志数据产生量交底,则将时间单位设置为小时等。这样在查找日志数据的时候,无需到多个节点查找。
本申请实施例的基于cassandra数据库的日志数据存储装置,由于存储日志数据的时候,分别使用traceID和带有时间信息的查询条件信息进行哈希计算,所以可以比较均匀分布地将日志数据存储到cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点数据问题。而在查找日志数据的时候,可以提供方便业务端的业务相关人员查询的第一列表,以及提供业务端的业务相关人员查询的第二列表,既能满足研发端的人员快速完成日志数据查询,也可以满足业务端的人员快速完成日志数据查询。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储日志数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现一种基于cassandra数据库的日志数据存储方法。
上述处理器执行上述基于cassandra数据库的日志数据存储方法,包括:接收待存储的日志数据;获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:接收查询日志数据的查询信息;通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:接收查询日志数据的查询信息;通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中的步骤之前,包括:判断是否获取到所述日志数据的traceID;若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;若是,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
在一个实施例中,上述将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中的步骤之后,包括:记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;定时将所述数量发送给预设的邮箱。
在一个实施例中,上述获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息的步骤,包括:获取当前时间,以及预设的时间单位;将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;将当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
在一个实施例中,上述获取当前时间,以及预设的时间单位的步骤,包括:获取所述当前时间;在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例的计算机设备,由于存储日志数据的时候,分别使用traceID和带有时间信息的查询条件信息进行哈希计算,所以可以比较均匀分布地将日志数据存储到cassandra数据库的各节点中,可以有效地防止日志数据存储过程中出现热点数据问题。而在查找日志数据的时候,可以提供方便业务端的业务相关人员查询的第一列表,以及提供业务端的业务相关人员查询的第二列表,既能满足研发端的人员快速完成日志数据查询,也可以满足业务端的人员快速完成日志数据查询。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于cassandra数据库的日志数据存储方法,包括:接收待存储的日志数据;获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:接收查询日志数据的查询信息;通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:接收查询日志数据的查询信息;通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
在一个实施例中,上述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中的步骤之前,包括:判断是否获取到所述日志数据的traceID;若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;若是,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
在一个实施例中,上述将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中的步骤之后,包括:记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;定时将所述数量发送给预设的邮箱。
在一个实施例中,上述获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息的步骤,包括:获取当前时间,以及预设的时间单位;将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;将当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
在一个实施例中,上述获取当前时间,以及预设的时间单位的步骤,包括:获取所述当前时间;在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种基于cassandra数据库的日志数据存储方法,其特征在于,包括:
接收待存储的日志数据;
获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中;其中,所述第一节点和第二节点包括相同和/或不同的节点,所述第一列表和第二列表为不同的列表;
接收查询日志数据的查询信息;
通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息是traceID的第一类型和查询条件信息的第二类型中的哪一种类型;
若所述查询信息为所述第一类型,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
若所述查询信息为所述第二类型,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
2.根据权利要求1所述的基于cassandra数据库的日志数据存储方法,其特征在于,所述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中的步骤之后,包括:
接收查询日志数据的查询信息;
通过计算所述查询信息的第三哈希值,确定所述查询信息对应的日志数据的存储节点;以及判断所述查询信息的来源,其中,所述来源包括业务端和研发端;
若来源为所述研发端,则调用所述存储节点中的第一列表,并在该第一列表中查找与所述查询信息对应的日志数据;
若来源为所述业务端,则调用所述存储节点中的第二列表,并在该第二列表中查找与所述查询信息对应的日志数据。
3.根据权利要求1所述的基于cassandra数据库的日志数据存储方法,其特征在于,所述以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中的步骤之前,包括:
判断是否获取到所述日志数据的traceID;
若否,则将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中;
若是,则生成“以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中”的命令。
4.根据权利要求3所述的基于cassandra数据库的日志数据存储方法,其特征在于,所述将所述日志数据随机存储到所述cassandra数据库中任意节点的第一列表中的步骤之后,包括:
记录随机存储到所述cassandra数据库中任意节点的第一列表中的所述日志数据的数量;
定时将所述数量发送给预设的邮箱。
5.根据权利要求1所述的基于cassandra数据库的日志数据存储方法,其特征在于,所述获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息的步骤,包括:
获取当前时间,以及预设的时间单位;
将所述当前时间,转换成以所述时间单位为标准的所述当前的时间信息;
将所述当前的时间信息加上所述日志数据中指定信息形成所述查询条件信息。
6.根据权利要求5所述的基于cassandra数据库的日志数据存储方法,其特征在于,所述获取当前时间,以及预设的时间单位的步骤,包括:
获取所述当前时间;
在预设的时间-时间单位列表中,查找与所述当前时间对应的时间单位。
7.一种基于cassandra数据库的日志数据存储装置,用于执行权利要求1-6中任意一项所述的方法,其特征在于,包括:
接收单元,用于接收待存储的日志数据;
获取单元,用于获取所述日志数据的traceID,以及获取当前的时间信息加上所述日志数据中指定信息形成的查询条件信息;
存储单元,用于以所述traceID为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述日志数据存储到cassandra数据库的第一节点的第一列表中;以及,以所述查询条件信息为参数进行哈希运算得到第二哈希值,并根据所述第二哈希值将所述日志数据存储到cassandra数据库的第二节点的第二列表中。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910324966.3A CN110188081B (zh) | 2019-04-22 | 2019-04-22 | 基于cassandra数据库的日志数据存储方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910324966.3A CN110188081B (zh) | 2019-04-22 | 2019-04-22 | 基于cassandra数据库的日志数据存储方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188081A CN110188081A (zh) | 2019-08-30 |
CN110188081B true CN110188081B (zh) | 2024-03-01 |
Family
ID=67714856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910324966.3A Active CN110188081B (zh) | 2019-04-22 | 2019-04-22 | 基于cassandra数据库的日志数据存储方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188081B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143311B (zh) * | 2019-12-13 | 2023-10-13 | 东软集团股份有限公司 | 应用间关联确定、日志关联搜索方法、装置、介质及设备 |
CN111475324B (zh) * | 2020-04-03 | 2024-03-15 | 西安广和通无线软件有限公司 | 日志信息的分析方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035482A2 (en) * | 1999-03-05 | 2000-09-13 | Mitsubishi Denki Kabushiki Kaisha | Remote file version reconciliation using hash codes |
CN106294700A (zh) * | 2016-08-08 | 2017-01-04 | 无锡天脉聚源传媒科技有限公司 | 一种日志的存储与读取方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102218732B1 (ko) * | 2014-01-23 | 2021-02-23 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
-
2019
- 2019-04-22 CN CN201910324966.3A patent/CN110188081B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035482A2 (en) * | 1999-03-05 | 2000-09-13 | Mitsubishi Denki Kabushiki Kaisha | Remote file version reconciliation using hash codes |
CN106294700A (zh) * | 2016-08-08 | 2017-01-04 | 无锡天脉聚源传媒科技有限公司 | 一种日志的存储与读取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110188081A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933854B (zh) | 短链接处理方法、装置及服务器 | |
CN108427684B (zh) | 数据查询方法、装置及计算设备 | |
CN109558162B (zh) | 应用程序发布方法、装置、计算机设备及存储介质 | |
CN111143462B (zh) | 数据导出的方法、装置、计算机设备和存储介质 | |
CN111464615B (zh) | 请求处理方法、装置、服务器及存储介质 | |
CN108366012B (zh) | 一种社交关系建立方法、装置及电子设备 | |
CN109389299B (zh) | 工作流流程部署方法、装置、计算机设备和存储介质 | |
CN112487083B (zh) | 一种数据校验方法和设备 | |
CN110188081B (zh) | 基于cassandra数据库的日志数据存储方法、装置和计算机设备 | |
CN111190901A (zh) | 业务数据存储方法、装置、计算机设备和存储介质 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN112395157A (zh) | 审计日志的获取方法、装置、计算机设备和存储介质 | |
CN110795171A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
CN111177121A (zh) | 订单数据反馈方法、装置、计算机设备及存储介质 | |
CN109101232B (zh) | 一种产品开发的方法、装置、计算机设备及存储介质 | |
CN111064776A (zh) | 区块链中区块的生成方法、设备及存储介质 | |
CN112527479A (zh) | 任务执行方法、装置、计算机设备和存储介质 | |
CN108429347B (zh) | 配电网线路设备监控方法、装置、计算机设备及存储介质 | |
CN108228613B (zh) | 数据的读取方法及装置 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111291127B (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN111061875B (zh) | 超参数确定方法、装置、计算机设备和存储介质 | |
CN104407846B (zh) | 一种信息处理方法及装置 | |
CN110442703B (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 |