CN106649627B - 一种日志查找的方法和装置 - Google Patents
一种日志查找的方法和装置 Download PDFInfo
- Publication number
- CN106649627B CN106649627B CN201611111748.4A CN201611111748A CN106649627B CN 106649627 B CN106649627 B CN 106649627B CN 201611111748 A CN201611111748 A CN 201611111748A CN 106649627 B CN106649627 B CN 106649627B
- Authority
- CN
- China
- Prior art keywords
- field
- convergence
- subfile
- log
- field 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
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
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)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种日志查找的方法和装置,应用于网络节点。所述方法包括:收集单位时长内产生的日志文件生成日志文件集合;针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。采用本申请提供的技术方案,可以提高日志查找的效率。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种日志查找的方法和装置。
背景技术
当前常见的软件系统中,用于记录用户操作、系统运行状态的日志是必不可少的信息,是系统重要的组成部分,日志的检索也是记录日志的主要目的之一。日志的存储和检索不仅有时候会影响到系统是否高效,甚至可用,而且关系到系统出现问题时,能否快速定位解决,同时也有助于提前发现系统可能存在的风险,避免事故发生。
所以系统日志的存储、查询以及对结果的特定排序展现是常常碰到的问题。通常情况下,原始日志比较详细庞杂,而当需要完成特定的查询需求时,真正关心的常常只是某个方面的数据,具体可能只是若干字段在某个时间段内的数据。所以,针对按照时间顺序记录的日志数据,如何对原始数据进行比较有效的处理,是值得重视的问题。
发明内容
有鉴于此,本申请提供一种日志查找的方法和装置,应用于网络节点,提高日志查找的效率。
具体地,本申请是通过如下技术方案实现的:
一种日志查找的方法,包括:
收集单位时长内产生的日志文件生成日志文件集合;
针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。
一种日志查找的装置,包括:
收集单元,用于收集单位时长内产生的日志文件生成日志文件集合;
汇聚单元,用于针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
查找单元,用于当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
读取单元,用于基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。
在本申请中,通过对单位时长内产生的日志文件中,指定字段的字段取值均相同的日志文件进行汇聚,生成对应与各预设时长周期的汇聚子文件,然后根据汇聚子文件在汇聚文件中的位置在汇聚内容之前添加对应的索引字段,生成索引信息。当接收到针对指定时间段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;然后基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。
一方面,通过对单位时长中与指定字段相同的日志进行汇聚,并将各与预设时间段内指定字段均相同的日志进行合并,可以仅对部分与需求相关的字段进行查询,降低查询量。。
另一方面,通过为生成的汇聚子文件,添加记录了所述汇聚子文件在汇聚文件中的偏移量的索引字段,通过索引字段,来查找指定时间段内的目标日志,可以提升查找效率。
附图说明
图1为本申请一示例性实施例示出的一种日志查找的方法流程图;
图2为本申请一示例性实施例示出的一种特定格式的日志的示意图;
图3为本申请一示例性实施例示出的一种指定字段的日志的示意图;
图4为本申请一示例性实施例示出的一种对特定格式的日志的划分的示意图;
图5为本申请一示例性实施例示出的一种完成相同日志合并后的示意图;
图6为本申请一示例性实施例示出的一种针对日志添加索引的示意图;
图7为本申请一示例性实施例示出的一种日志多级统计的示意图;
图8为本申请一示例性实施例示出的一种完成字段取值排序的示意图;
图9为本申请一种日志查找的装置所在网络节点的一种硬件结构图;
图10为本申请一示例性实施例示出的一种日志查找的装置。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
相关技术中,对于系统生成的日志的存储,一般可以采用为所有日志中的每条日志配置定长的存储长度,其中考虑到每条日志所需的内存长度不同,因此配置该存储长度时为每条日志都预留了足够的长度,这样的情况下,可以按照统一固定的格式进行读写日志信息。
对于日志的查询,一般可以通过请求查询中需要查询的时间段,从日志文件的开头进行顺次读取日志,直到匹配到对应时间段的日志,然后可以根据查询请求中指定的字段,将所述指定字段与读取到日志进行对比和匹配,提取出对应的日志。
对于日志的统计排序,一般可以通过日志信息找到日志的分类数组,将匹配成功后提取出的日志,基于所述日志的日志信息与分类数组中的字段信息进行匹配,匹配成功后,将日志保存至特定的位置,然后进行数量的统计。在提取出的日志完成匹配与统计之后,根据统计结果,对数组进行排序。
然而,在相关技术存在着下述几个发面的问题。
一方面,对于日志中的各条日志采用定长存储的方式,如果任意一条日志所需的内存长度远小于配置的存储长度,在这样的情况下,由于存储长度中的一大部分没有被利用而导致存储资源的浪费;如果日志需要进行数据的扩展,进行数据扩展后的单条日志所需的内存长度超过配置的存储长度,在这样的情况下,由于数据扩展后的单条日志超出配置的存储长度的部分,覆盖了后一条日志的部分数据,从而导致后一条日志的数据出错,因此单条日志信息定长存储的方式不利于日志数据的扩展。
另一方便,对于日志的查询,采用从日志文件开头顺次查询的方式,如果在日志数量比较大的情况下,针对查询请求中的时间段比较靠后的情况,需要花费很多的时间才能定位到日志文件中相应的位置;在频繁请求查询的情况下,由于系统每次都需要从日志文件开头进行顺次查询,因此也需要花费很多的时间去进行查询。
此外,对于日志的统计排序,在提取出的日志数量较大的情况下,由于日志中可能存在日志信息内容相同的情况,对于这些日志信息内容相同的日志依然采用依次匹配,在这样的情况下,会导致系统的统计效率低下,从而也会导致用户获取结果时,需要花费更长的时间等待系统的响应,造成用户体验不好。
为了解决相关技术中的问题,本申请提供了一种日志查找的方法和装置,应用于网络节点。
一方面,对于日志的存储,由于针对预设时间段内,按照需求从各日志的日志信息中,提取了对应于预设字段的字段取值,因此使得在针对日志查询时,可以基于需求仅针对日志信息中的部分预设字段进行查询,可以降低日志查找时的查找量;另外,通过对各时长周期内字段取值均相同的日志信息进行汇聚,可以降低日志信息的查找速度,提升日志信息的查询效率。
另一方面,通过在汇聚文件前添加了索引信息,所述索引信息中包括对应于各时长周期的索引字段,因此当查询指定的时间段内的日志信息时,可以通过将所述查询指定的时间段与索引字段进行匹配,找到相应的索引字段,根据所述索引字段跳转至汇聚文件中相应的位置,定位到需要查找的日志信息的位置,从而可以提高日志信息查找的效率。
此外,由于对各时长周期中的字段取值均相同的日志信息进行了合并,因此当对目标日志信息进行统计时,可以避免对字段取值均相同的日志信息进行一一匹配,从而在目标日志信息数量比较大的情况下,可以提高统计的效率,提高系统的响应速度,提供更好的用户体验。
请参见图1,图1为本申请一示例性实施例示出的一种日志查找的方法流程图,应用于网络节点,具体执行以下步骤:
步骤101:收集单位时长内产生的日志文件生成日志文件集合;
一般在网络设备的内存中通常保存了日志,可以根据需求收集单位时长内产生的日志文件,然后生成日志文件集合。其中,所述日志文件集合中包含了单位时间内产生的所有日志文件。
例如,需要从某一网络设备的内存中收集某一天产生的日志文件,那么可以从该网络设备的内存中保存的日志中,收集该天产生的日志文件,然后将收集到的日志文件产生日志文件集合。其中,该日志集合中包含了该天一天产生的所有日志文件。
步骤102:针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
(1)预设字段的提取
在实际应用需求中,一般查询日志时通常只关注部分字段,而不是整条日志中的字段信息;例如,假设文件中存储的是某设备的攻击日志,日志主要包括时间、攻击类型、设备ID、设备IP、源IP、目的IP、目的端口等信息,当进行某一个查询时,通常关注的只是某些字段,比如可能只关心攻击类型、网站host以及针对的目的IP地址。
在示出的一种实施方式中,可以日志文件集合的各日志文件中提取出对应于指定字段的字段取值,进行初步汇聚生成特定格式的日志。其中,所述指定字段可以是若干个指定字段。
请参见图2,图2为本申请一示例性实施例示出的一种特定格式的日志的示意图。
图2中,time1、time2表示日志产生的时间,column1、column2、column3分别代表了不同的日志字段。
例如,现在的日志文件中的日志为某设备的攻击日志,关心的字段为攻击类型、网站host、以及针对的目的IP地址,通过从原始的攻击日志的日志信息中,提取出攻击类型、网站host、以及针对的目的IP地址后,可以生成图3所示的特定格式的日志。
(2)对特定格式的日志的划分
基于预设的时长周期,将特定格式的日志进行划分,生成对应于各预设时长周期的日志文件子集,其中所述预设的时长周期可以根据用户需要自行定义,然后可以将各时长周期的起始时刻作为各日志文件子集内所有日志的时刻。
例如,请参见图4,图4为本申请一示例性实施例示出的一种对特定格式的日志的划分的示意图。
图4中,假如单位时长为24小时,所述预设的时长周期为5分钟,对于日志的产生时刻在10:00至10:05之间的日志,可以将这些日志的产生时刻均定为10:00。对于日志的产生时刻在10:00至10:10之间的日志信息,可以将这些日志的产生时刻均定为10:05。
(3)各时长周期内的相同日志的合并
由于将各日志文件子集内的所有日志的产生时刻进行了统一,因此各日志文件子集内会出现相同日志的情况,所述相同日志是指日志中的字段取值均相同。在这样的情况下,可以将相同的日志信息进行合并。
在示出的一种实施方式中,可以先查找各日志文件子集内,是否存在字段取值均相同的日志,如果任一日志文件子集内,存在字段取值均相同的日志信息,则可以提取出字段取值均相同的日志,然后可以对提取出的日志进行合并,并在该合并后的日志的日志信息中,记录相同日志的数量。如果在同一个日志文件子集内不存在相同的日志,则在该日志的日志信息中同样也记录该日志的数量(即为1)。
例如,请参见图5,图5为本申请一示例性实施例示出的一种完成相同日志合并后的示意图。
由于,图4中日志信息为(10:00、Xss、WWW.host1.com、1.2.3.4)的日志有两条,可以将这两条日志进行合并,并在合并后的日志的日志信息中记录相同日志的数量,生成对应的日志(10:00、Xss、WWW.host1.com、1.2.3.4、2)。其余的各条日志在同一时长周期中均不存在相同的日志,因此可以在这些日志的日志信息中记录相同日志的数量为1,然后生成对应的日志。这些日志分别为:(10:00、sql-inject、WWW.host2.com、1.2.3.4、1)、(10:05、Xss、WWW.host1.com、1.2.3.4、1)、(10:05、sql-inject、WWW.host2.com、1.2.3.4、1)。
(4)汇聚子文件的生成
在示出的一种实施方式中,基于预设的时长周期,可以将相同日志进行合并完后的日志进行汇聚,生成汇聚子文件。其中所述各汇聚子文件分别对应于各时长周期。
例如,图5中,可以把(10:00、Xss、WWW.host1.com、1.2.3.4、2)和(10:00、sql-inject、WWW.host2.com、1.2.3.4、1)这两条日志进行合并,生成对应的汇聚子文件{(10:00、Xss、WWW.host1.com、1.2.3.4、2)、(10:00、sql-inject、WWW.host2.com、1.2.3.4、1)},把(10:05、Xss、WWW.host1.com、1.2.3.4、1)和(10:05、sql-inject、WWW.host2.com、1.2.3.4、1)这两条气日志进行合并,然后进行汇聚,生成对应的汇聚子文件{(10:05、Xss、WWW.host1.com、1.2.3.4、1)、(10:05、sql-inject、WWW.host2.com、1.2.3.4、1)}。
(5)汇聚子文件的合并
在示出的一种实施方式中,对应于各时长周期的汇聚子文件进行汇聚,并生产汇聚子文件后,将各汇聚子文件根据对应的时间顺序,合并生成汇聚文件的文件内容部分,其中文件内容部分每一条日志之间采用一个特定字符隔开,这样每条日志之间不会存在没有利用的存储资源,从而可以达到节省存储资源的目的。
例如,在(4)中,得到了{(10:00、Xss、WWW.host1.com、1.2.3.4、2)、(10:00、sql-inject、WWW.host2.com、1.2.3.4、1)}和{(10:05、Xss、WWW.host1.com、1.2.3.4、1)、(10:05、sql-inject、WWW.host2.com、1.2.3.4、1)}两个汇聚子文件,前一个汇聚子文件的时间为10:00,后一个汇聚子文件的时间为10:05,因此将这两个汇聚子文件进行合并时,需要将10:00的那个汇聚子文件放在10:05的汇聚子文件前面,从而生成对应的汇聚文件的内容。
(6)索引信息的添加
当需要查询某个时间点开始的日志时,需要从汇聚文件内容的起始位置开始遍历,如果汇聚文件内容是一个小时或者一天的日志,而查询时可能是从半点开始查询,那么不得不需要从文件开头读取,直到匹配到当前时间是需要查询的某个时间点,这部分操作可能产生许多无谓的操作,造成CPU时间的浪费,那么添加索引就显得很必要了。
在示出的一种实施方式中,单位时长内的所有日志,完成汇聚子文件的生成后,可以先计算各汇聚子文件的文件长度,然后可以得到汇聚文件内容总的文件长度,接着可以根据所述汇聚文件内容总的文件长度,申请分配相应长度的存储长度,用于索引信息的存储,其中,每一个汇聚子文件对应于索引信息中的一个索引字段,所述索引信息的添加位置为汇聚文件内容的前面。
其中,索引信息是为了便于汇聚文件内容中汇聚子文件的查找,而汇聚子文件以汇聚子文件的形式分布于汇聚文件的内容中,因此在所述索引字段中记录的内容需要满足这样的一个要求,该要求为根据索引字段中记录的内容可以直接跳转至汇聚文件内容中对应的汇聚子文件。
因此,在索引字段中记录的内容,需要与对应的汇聚子文件在汇聚文件内容中的相对位置进行关联。然后,根据各汇聚子文件在汇聚文件内容中的相对位置,基于各汇聚子文件的文件长度,可以计算出各汇聚子文件相对于所述汇聚文件内容的偏移值。当汇聚文件的内容中需要添加文件基本信息时,可以将文件基本信息添加至索引信息与汇聚文件内容之间,在索引信息的起始位置同样添加对应的索引字段,然后在添加了文件基本信息的基础上,可以根据各汇聚子文件在汇聚文件内容中的相对位置,基于各汇聚子文件的文件长度,计算各汇聚子文件相对于汇聚文件内容的偏移值。然后,可以将计算出的各汇聚子文件相对于汇聚文件内容的偏移值,添加至索引信息中对应的索引字段。
另外,当任一个汇聚子文件为空集合,那么可以在该空集合对应的索引字段中记录该空集合前面一个汇聚子文件的偏移值。
例如,请参见图6,图6为本申请一示例性实施例示出的一种针对日志添加索引的示意图。
假设现在的汇聚文件内容中的汇聚子文件为24小时的日志,预设的时长周期为5分钟,并且在该汇聚文件内容中需要添加文件基本信息,另外假设每一个汇聚子文件需要的文件长度为4G,那么对应于该文件长度的索引字段的存储长度就为4个字节,也就是说每5分钟需要4个字节,那么24小时需要1152(4*24*60/5)个字节,另外,假设文件基本信息所需要的索引字段长度也为4个字节,那么需要申请分配1156个字节的存储长度用来存储索引信息。
在图6中,info表示文件基本信息的索引字段,info的括号中的0表示文件基本信息相对于汇聚文件内容的偏移值为0,即汇聚文件内容的开头。其中,所述汇聚文件的内容包含了文件基本信息。Offset1(4)表示00:00-00:05的汇聚子文件的索引字段,括号中的4表示,该汇聚子文件相对于汇聚文件内容的偏移值,4=4+4*(0*60/5),换句话说,就是00:00-00:05的汇聚子文件从汇聚文件内容的第5个字节开始,前4个字节用于存储了文件基本信息。
在图6中,Offset2(8)表示00:05-00:10的汇聚子文件,括号中的8表示该汇聚子文件相对于汇聚文件内容的偏移值为8,Offset3(8)表示00:10-00:15的汇聚子文件,由于00:10-00:15的汇聚子文件为空集合,因此,该空集合对应的索引字段中的偏移值为前一个汇聚子文件00:05-00:10的偏移值8。
(7)生成汇聚文件
汇聚文件内容以及索引信息的生成之后,可以将索引信息添加至汇聚文件内容的前面,然后生成对应的汇聚文件。
例如,在图6中,把索引信息添加至汇聚文件内容的前面,生成图6所示的文件即为汇聚文件。
当然,在本步骤中,也可以先基于预设的时长周期将原始日志进行划分,然后针对划分后各时长周期内的日志,提取出与预设字段均对应的字段取值,接着对各时长周期内的日志进行日志产生时刻的统一,然后可以对各时长周期内相同的日志进行合并,生成汇聚子文件,然后就可以按照本步骤中,汇聚子文件的生成,汇聚子文件的合并,索引信息的添加,以及生成汇聚文件的顺序对汇聚子文件进一步的操作。
步骤103:当接收到针对指定时间段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
在示出的一种实施方式中,当接收到针对指定时间段内的目标日志的查询请求时,可以先将该查寻请求的指定时间段,基于各汇聚子文件相对于汇聚文件内容中的偏移值的算法,计算出该指定时间段所对应的偏移值,然后将该指定时间段对应的偏移值,与索引信息的索引字段中,所记录的各时长周期的汇聚子文件对应的偏移值进行依次匹配,如果该指定时间段对应的偏移值,与索引信息的索引字段中,所记录的各时长周期的汇聚子文件对应的偏移值匹配成功,则可以确定索引信息中所需要的索引字段,如果该指定时间段对应的偏移值,与索引信息的索引字段中,所记录的各汇聚子文件中的日志信息的时间没有匹配成功,则可以向用户返回查询失败的消息。
例如,参见图6,假设图6所对应的汇聚文件中日志的预设时间段为24小时,如果需要查询从12点开始的日志,那么只需要计算12点所对应的偏移值,info字段4个字节+4*(12*60/5)=580,然后将580与索引信息的索引字段中记录的偏移值进行匹配,找到对应的索引字段Offset,然后根据该索引字段的偏移值,可以使得CPU的执行程序可以直接跳转至12点开始的日志起始位置,再从该起始位置读取数据即可。
步骤104:基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。
当确定索引信息中所需要的索引字段后,根据该索引字段记录的偏移值,CPU的执行程序可以跳转至汇聚文件内容中对应的位置,然后可以依次读取对应的汇聚子文件。
当指定字段包含多个指定字段时,为了便于用户的统计分析(比如用户关注某预设字段中字段取值数量为前10的各字段取值),对于读取到的汇聚子文件,可以通过多个维度对指定时间段内的日志进行多级统计分析。
在示出的一种实施方式中,首先可以对各指定字段的统计顺序进行设定,形成多个带有统计先后顺序的指定字段,分别为第一指定字段,第二指定字段等,其中第一指定字段最先统计,接着统计第二指定字段,以此类推。然后可以基于所述统计顺序,针对读取到的汇聚子文件基于各指定字段的字段取值进行多级统计。
例如,请参见图7,图7为本申请一示例性实施例示出的一种日志多级统计的示意图。
当日志的汇聚和索引都已经完成后,接下去就需要对读取到的汇聚子文件进行高效地统计。假设现在关注的是攻击类型、网站host以及针对的目的IP,其中攻击类型是第一层统计维度,网站host是第二层统计维度,目的IP是第三层统计维度,当将读取的日志进行统计时,先统计攻击类型,统计完攻击类型之后,再统计网站host,网站host统计完之后,最后统计目的IP,所述统计过程就是多级统计。
(1)结构数组的建立
在示出的一种实施方式中,基于各指定字段分别预先设定了对应的结构数组,其中,所述结构数组的个数与所述指定字段的数量相同,所述结构数组中记录了对应的指定字段、该指定字段中所包含的若干种不同类型的字段取值、以及与各字段取值分别对应的计数器。为了将指定字段与结构数组进行对应,可以将与第一指定字段对应的结构数组命名为第一结构数组,与第二指定字段对应的结构数组命名为第二结构数组,与第三指定字段对应的结构数组命名为第三结构数组,以此类推。
(2)结构数组的下标与日志中的字段取值的关联
由于在将读取到的日志进行统计时,关键是需要用该日志中的字段取值,找到结构数组中相同的字段取值,找到相同的字段取值后,才可以对与该字段取值对应的计数器进行累加操作。
然而结构数组的下标从0开始,数组的下标与日志中的字段取值并无关联,也就是说无法直接用字段取值作为结构数组的下标。为了解决这一问题,需要将结构数组的下标与日志中的字段取值进行关联。在将读取到的日志进行统计时,可以通过结构数组的下标与日志中的字段取值的关联,在结构数组中可以找到与日志中的字段取值相同的字段取值,以及与该字段取值对应的计数器。
(3)结构数组的跳转
为了实现多级统计,在读取到的日志,根据第一结构数组完成第一级统计之后,需要能从第一结构数组跳转至第二结构数组,对该日志进行第二级的统计,在这样的情况下,可以通过在第一结构数组中添加第二结构数组的指针来实现。
同样地,对于之后每一级的统计,可以通过在前一级的结构数组中添加对应的指针,然后在前一级完成统计后,可以通过对应的指针进行跳转,然后才可以完成之后每一级的统计。
(4)统计
完成了结构数组的建立,建立了结构数组的下标与日志中的字段取值之间的关联,以及具备结构数组的跳转的功能后,可以从所述指定时间段内的若干汇聚子文件中依次读取目标汇聚子文件,然后提取出该目标汇聚子文件中任一日志的第一指定字段的字段取值,通过第一指定字段的字段取值与第一结构数组的下标之间的关联关系,查找与该目标汇聚子文件中该条日志的第一指定字段的字段取值对应的第一结构数组的下标,然后通过该下标,可以在第一结构数组中查找相同的字段取值,以及与该字段取值对应的计数器。在第一结构数组中查找相同的字段取值,以及与该字段取值对应的计数器后,可以根据该目标汇聚子文件中该条日志中记录的相同日志的数量,将与该字段取值对应的计数器进行累加。
完成第一级统计后,可以通过该第一结构数组中,对应于第二结构数组的指针,跳转至第二结构数组,接着可以提取该目标汇聚子文件中该条日志的第二指定字段的字段取值,然后通过第二指定字段的字段取值与第二结构数组的下标之间的关联关系,查找与该目标汇聚子文件中该条日志的第二指定字段的字段取值对应的第二结构数组的下标,然后通过该下标,可以在第二结构数组中查找相同的字段取值,以及与该字段取值对应的计数器。在第二结构数组中查找相同的字段取值,以及与该字段取值对应的计数器后,可以根据该目标汇聚子文件中该条日志中记录的相同日志的数量,将与该字段取值对应的计数器进行累加。
以此类推,直到该目标汇聚子文件中该条日志所有指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计,然后接着从该目标汇聚子文件总读取日志,继续按照上述统计过程进行统计,直到该目标汇聚子文件所有日志完成统计。
例如,对每一级的统计采用两个数据结构:一个是数组array,一个是映射map,其中数组array中存储的是对应于指定字段的字段取值,以及与字段取值对应的数量统计。因此可以得到如下格式所示的结构数组:
其中,counter为对应于字段取值的计数器,id为字段取值。
然后通过映射map,建立结构数组下标与日志中的字段取值之间的关联关系,该映射结构为:
map<id,index_of_array>
为了实现对同一条日志的多级统计,当完成第一级统计后,需要对第二级进行统计。由于第二级统计是在第一级统计完成的基础上才能进行的,因此可以在第一结构数组中,添加对应于第二结构数组的指针,这样第一级统计完成后,可以跳转至第二结构数组中,进行第二级统计。因此第一结构数组可以添加指针,得到如下所示的结构数组:
其中,所述psubmap指向的是下一级的map结构,按照本例所述,第二级为网站host字段,所述psubmap用于当一条日志匹配到某种攻击类型时,再次从该日志中提取其中的网站host字段取值,通过psubmap找到对应于第二结构数组的map,从该map中找到对应于该网站host字段取值的第二结构数组的下标,从而才可以对该网站host字段取值进行匹配与统计。
同样地,对第三级的字段取值进行匹配与统计时,也需要在第二结构数组中添加第三结构数组的指针,采用上述的操作方法,直到完成最后一级的统计。
在示出的一种实施方式中,当所述指定时间段内的所有汇聚子文件中的日志基于各指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计后,从对应于各指定字段的结构数组中,提取出对应于各字段取值的计数器中记录的计数值,然后可以通过所述计数值,对所述指定时间段内的所有汇聚子文件中各指定字段的字段取值进行排序。
比如,请参见图8,图8为本申请一示例性实施例示出的一种完成字段取值排序的示意图。
在图8中,Xss(1400)的括号中的1400为Xss的数量,图8其余各字段取值的括号中均代表对应的字段取值的数量,最后一列的数据表示IP的数量,比如1.2.3.4,数量为400,以此类推。
在图8中,Xss之所以排在Sql-inject前面,是因为Xss一共有1400条记录(400+200+500+200+100=1400),而Sql-inject一共有850条记录(300+100+150+100+200=850),第二级的网站host中各字段取值是在第一级完成统计的基础上进行,也就是说,在第一级的攻击类型的子集中进行统计,类似地,第三级目的IP地址在第二级的网站host的子集中进行统计。
在示出的一种实施方式中,当查询请求为某一指定字段的字段取值中,特定数量要求的字段取值时,可以从统计排序后的日志中,获取符合数量要求的字段取值。
例如,针对图8,查询请求为攻击类型为Xss的日志中,网站host的数量为前两名的网站host看,在这样的情况下,就可以排序后的日志中,提取出WWW.host1.com和WWW.host3.com。
与前述一种日志查找的方法的实施例相对应,本申请还提供了一种日志查找的装置的实施例。
本申请一种日志查找的装置的实施例可以应用在网络节点上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络节点的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图9所示,为本申请一种日志查找的装置所在网络节点的一种硬件结构图,除了图9所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络节点通常根据该日志查找的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图10,图10为本申请一示例性实施例示出的一种日志查找的装置,应用于网络节点,所述装置包括:收集单元1010,汇聚单元1020,查找单元1030,读取单元1040。
其中,收集单元1010,用于收集单位时长内产生的日志文件生成日志文件集合;
汇聚单元1020,用于针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
查找单元1030,用于当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
读取单元1040,用于基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件。
在本申请中,所述汇聚单元1020,具体用于:
提取所述日志文件集合中的各日志文件对应于所述指定字段的字段取值,并基于提取到的字段取值针对各日志文件执行初步汇聚;其中,初步汇聚后的各日志文件仅包括对应于所述指定字段的字段取值;
基于预设的时长周期,将初步汇聚后的各日志文件划分为对应于各时长周期的若干个日志文件子集;
将各日志文件子集中相同的日志文件分别进行合并,生成对应的汇聚子文件;其中,所述汇聚子文件中记录了所述相同的日志文件的数量,以及与该汇聚子文件所属的日志文件子集对应的时长周期的起始时刻。
所述汇聚单元1020,进一步用于:
计算各汇聚子文件的文件长度;
基于所述文件长度计算各汇聚子文件相对于所述汇聚文件内容的偏移值;
在所述索引信息中与该汇聚子文件对应的索引字段中记录该汇聚子文件的偏移值;
将所述索引信息以及所述汇聚子文件进行合并,生成汇聚文件。
在本申请中,所述装置还包括:
统计单元,用于基于所述统计顺序,针对读取到的汇聚子文件中各指定字段的字段取值进行多级统计;
排序单元,用于对所述多级统计的统计结果进行排序。
在本申请中,所述各指定字段分别预设了对应的结构数组;其中,所述结构数组中记录了对应的指定字段、所包含的若干种不同类型的字段取值、以及与各字段取值分别对应的计数器。
其中,所述统计单元具体用于:
从所述指定时段内的若干汇聚子文件中依次读取目标汇聚子文件;
根据该目标汇聚子文件中各日志的第一指定字段的字段取值,在与所述第一指定字段对应的第一结构数组记录的字段取值中,查找对应的字段取值;
根据该目标汇聚子文件中各日志中记录的相同日志的数量,将与该字段取值对应的计数器进行累加,并基于该第一结构数组中预设的指针跳转至与第二指定字段对应的第二结构数组;
根据该目标汇聚子文件中各日志的第二指定字段的字段取值,继续在与第二结构数组记录的字段取值中,查找对应的字段取值,并在第二结构数组记录的字段取值中查找到对应的字段取值时,根据该目标汇聚子文件中各日志记录的相同日志的数量,将与该字段取值对应的计数器进行累加,以此类推,直到该目标汇聚子文件中各日志的所有指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计。
所述排序单元具体用于:
当所述指定时段内的所有汇聚子文件中各日志基于各指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计后,针对与各指定字段对应的结构数组中的计数器的计数值,对所述指定时段内的所有汇聚子文件中各指定字段的字段取值进行排序。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种日志查找的方法,其特征在于,包括:
收集单位时长内产生的日志文件生成日志文件集合;
针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件;
所述指定字段预设了统计顺序,基于所述统计顺序,针对读取到的汇聚子文件中各指定字段的字段取值进行多级统计,包括:从所述指定时段内的若干汇聚子文件中依次读取目标汇聚子文件;根据该目标汇聚子文件中各日志的第一指定字段的字段取值,在与所述第一指定字段对应的第一结构数组记录的字段取值中,查找对应的字段取值;根据该目标汇聚子文件中各日志中记录的相同日志的数量,将与该字段取值对应的计数器进行累加,并基于该第一结构数组中预设的指针跳转至与第二指定字段对应的第二结构数组;根据该目标汇聚子文件中各日志的第二指定字段的字段取值,继续在与第二结构数组记录的字段取值中,查找对应的字段取值,并在第二结构数组记录的字段取值中查找到对应的字段取值时,根据该目标汇聚子文件中各日志记录的相同日志的数量,将与该字段取值对应的计数器进行累加,以此类推,直到该目标汇聚子文件中各日志的所有指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计;
其中,所述各指定字段分别预设了对应的结构数组,所述结构数组中记录了对应的指定字段、所包含的若干种不同类型的字段取值、以及与各字段取值分别对应的计数器;
对所述多级统计的统计结果进行排序。
2.根据权利要求1所述的方法,其特征在于,所述针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,包括:
提取所述日志文件集合中的各日志文件对应于所述指定字段的字段取值,并基于提取到的字段取值针对各日志文件执行初步汇聚;其中,初步汇聚后的各日志文件仅包括对应于所述指定字段的字段取值;
基于预设的时长周期,将初步汇聚后的各日志文件划分为对应于各时长周期的若干个日志文件子集;
将各日志文件子集中相同的日志文件分别进行合并,生成对应的汇聚子文件;其中,所述汇聚子文件中记录了所述相同的日志文件的数量,以及与该汇聚子文件所属的日志文件子集对应的时长周期的起始时刻。
3.根据权利要求1所述的方法,其特征在于,所述基于生成的所述若干汇聚子文件生成汇聚文件,还包括:
计算各汇聚子文件的文件长度;
基于所述文件长度计算各汇聚子文件相对于所述汇聚文件内容的偏移值;
在所述索引信息中与该汇聚子文件对应的索引字段中记录该汇聚子文件的偏移值;
将所述索引信息以及所述汇聚子文件进行合并,生成汇聚文件。
4.根据权利要求1所述的方法,其特征在于,所述对所述多级统计的统计结果进行排序,包括:
当所述指定时段内的所有汇聚子文件中各日志基于各指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计后,针对与各指定字段对应的结构数组中的计数器的计数值,对所述指定时段内的所有汇聚子文件中各指定字段的字段取值进行排序。
5.一种日志查找的装置,其特征在于,包括:
收集单元,用于收集单位时长内产生的日志文件生成日志文件集合;
汇聚单元,用于针对所述日志文件集合中,每一预设的时长周期内指定字段的字段取值均相同的日志文件分别进行汇聚,生成对应于各预设时长周期的若干汇聚子文件,并基于生成的所述若干汇聚子文件生成汇聚文件;其中,所述汇聚文件包括索引信息,以及与所述索引信息对应的汇聚文件内容;所述索引信息包括若干个分别对应于各时长周期的索引字段;所述索引字段用于记录对应的时长周期内的汇聚子文件相对于所述汇聚文件内容的偏移值;所述汇聚文件内容由对应于各时长周期的汇聚子文件组成;
查找单元,用于当接收到针对指定时段内的目标日志的查找请求时,从所述索引信息中查找与所述指定时间段对应的索引字段;
读取单元,用于基于该索引字段记录的偏移值从所述汇聚文件内容中读取与该索引字段对应的汇聚子文件;
所述指定字段预设了统计顺序,统计单元,用于基于所述统计顺序,针对读取到的汇聚子文件中各指定字段的字段取值进行多级统计,包括:从所述指定时段内的若干汇聚子文件中依次读取目标汇聚子文件;根据该目标汇聚子文件中各日志的第一指定字段的字段取值,在与所述第一指定字段对应的第一结构数组记录的字段取值中,查找对应的字段取值;根据该目标汇聚子文件中各日志中记录的相同日志的数量,将与该字段取值对应的计数器进行累加,并基于该第一结构数组中预设的指针跳转至与第二指定字段对应的第二结构数组;根据该目标汇聚子文件中各日志的第二指定字段的字段取值,继续在与第二结构数组记录的字段取值中,查找对应的字段取值,并在第二结构数组记录的字段取值中查找到对应的字段取值时,根据该目标汇聚子文件中各日志记录的相同日志的数量,将与该字段取值对应的计数器进行累加,以此类推,直到该目标汇聚子文件中各日志的所有指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计;
其中,所述各指定字段分别预设了对应的结构数组,所述结构数组中记录了对应的指定字段、所包含的若干种不同类型的字段取值、以及与各字段取值分别对应的计数器;
排序单元,用于对所述多级统计的统计结果进行排序。
6.根据权利要求5所述的装置,其特征在于,包括:
所述汇聚单元具体用于:
提取所述日志文件集合中的各日志文件对应于所述指定字段的字段取值,并基于提取到的字段取值针对各日志文件执行初步汇聚;其中,初步汇聚后的各日志文件仅包括对应于所述指定字段的字段取值;
基于预设的时长周期,将初步汇聚后的各日志文件划分为对应于各时长周期的若干个日志文件子集;
将各日志文件子集中相同的日志文件分别进行合并,生成对应的汇聚子文件;其中,所述汇聚子文件中记录了所述相同的日志文件的数量,以及与该汇聚子文件所属的日志文件子集对应的时长周期的起始时刻。
7.根据权利要求5所述的装置,其特征在于,包括:
所述汇聚单元进一步用于:
计算各汇聚子文件的文件长度;
基于所述文件长度计算各汇聚子文件相对于所述汇聚文件内容的偏移值;
在所述索引信息中与该汇聚子文件对应的索引字段中记录该汇聚子文件的偏移值;
将所述索引信息以及所述汇聚子文件进行合并,生成汇聚文件。
8.根据权利要求5所述的装置,其特征在于,包括:
所述排序单元具体用于:
当所述指定时段内的所有汇聚子文件中各日志基于各指定字段的字段取值,根据与其对应的结构数组,完成各指定字段的字段取值的统计后,针对与各指定字段对应的结构数组中的计数器的计数值,对所述指定时段内的所有汇聚子文件中各指定字段的字段取值进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611111748.4A CN106649627B (zh) | 2016-12-06 | 2016-12-06 | 一种日志查找的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611111748.4A CN106649627B (zh) | 2016-12-06 | 2016-12-06 | 一种日志查找的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649627A CN106649627A (zh) | 2017-05-10 |
CN106649627B true CN106649627B (zh) | 2019-09-17 |
Family
ID=58818468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611111748.4A Active CN106649627B (zh) | 2016-12-06 | 2016-12-06 | 一种日志查找的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649627B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213736B (zh) * | 2017-06-29 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 日志的压缩方法和装置 |
CN107480112A (zh) * | 2017-08-11 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种命令行信息输出的方法及装置 |
CN107688624B (zh) * | 2017-08-18 | 2020-12-29 | 杭州迪普科技股份有限公司 | 一种日志索引构建方法及装置 |
CN110019069A (zh) * | 2017-10-30 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种日志处理方法、装置及设备 |
CN108121808A (zh) * | 2017-12-25 | 2018-06-05 | 杭州闪捷信息科技有限公司 | 审计日志的检索方法、装置及终端 |
CN109992469B (zh) * | 2017-12-29 | 2023-08-18 | 三六零科技集团有限公司 | 一种合并日志的方法及装置 |
CN108427626A (zh) * | 2018-01-05 | 2018-08-21 | 平安科技(深圳)有限公司 | 日志文本处理方法、装置及存储介质 |
CN109033404B (zh) | 2018-08-03 | 2022-03-11 | 北京百度网讯科技有限公司 | 日志数据处理方法、装置和系统 |
CN109600387B (zh) * | 2018-12-29 | 2021-07-20 | 360企业安全技术(珠海)有限公司 | 攻击事件的追溯方法及装置、存储介质、计算机设备 |
CN110704212B (zh) * | 2019-09-29 | 2022-04-22 | 广州荔支网络技术有限公司 | 一种消息处理方法及装置 |
CN113722276A (zh) * | 2021-09-14 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 日志数据处理方法、系统、存储介质及电子设备 |
CN117472852A (zh) * | 2022-07-20 | 2024-01-30 | 腾讯科技(成都)有限公司 | 日志数据查询方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929936A (zh) * | 2012-09-26 | 2013-02-13 | 东软集团股份有限公司 | 日志记录方法、日志查询方法及系统 |
CN103001796A (zh) * | 2012-11-13 | 2013-03-27 | 北界创想(北京)软件有限公司 | 服务端处理网络日志数据的方法及装置 |
CN103823743A (zh) * | 2012-11-19 | 2014-05-28 | 北京百度网讯科技有限公司 | 软件系统的监控方法和设备 |
CN104660427A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 日志实时统计方法及装置 |
-
2016
- 2016-12-06 CN CN201611111748.4A patent/CN106649627B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929936A (zh) * | 2012-09-26 | 2013-02-13 | 东软集团股份有限公司 | 日志记录方法、日志查询方法及系统 |
CN103001796A (zh) * | 2012-11-13 | 2013-03-27 | 北界创想(北京)软件有限公司 | 服务端处理网络日志数据的方法及装置 |
CN103823743A (zh) * | 2012-11-19 | 2014-05-28 | 北京百度网讯科技有限公司 | 软件系统的监控方法和设备 |
CN104660427A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 日志实时统计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106649627A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649627B (zh) | 一种日志查找的方法和装置 | |
CN106897361B (zh) | 基于树状结构的标签页分组管理系统及方法 | |
US7996396B2 (en) | Identifying the items most relevant to a current query based on user activity with respect to the results of similar queries | |
US6473752B1 (en) | Method and system for locating documents based on previously accessed documents | |
CN104881481A (zh) | 一种存取海量时间序列数据的方法及装置 | |
CN106980699B (zh) | 一种数据处理平台和系统 | |
US7660792B2 (en) | System and method for spam identification | |
US7805439B2 (en) | Method and apparatus for selecting data records from versioned data | |
CN102761627B (zh) | 基于终端访问统计的云网址推荐方法及系统及相关设备 | |
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
CN100458784C (zh) | 在数字图书馆中所采用的检索系统和检索方法 | |
JP2013531847A (ja) | インテリジェントナビゲーションの方法、装置、およびシステム | |
CN107943520B (zh) | 应用堆栈信息获取方法及装置、堆栈信息解析方法及装置 | |
CN101562664A (zh) | 一种话单处理方法和系统 | |
CN101446951A (zh) | 用于提供最近和摘要数据的压缩数据存储 | |
CN104462096B (zh) | 舆情监测分析方法和装置 | |
CN106033324A (zh) | 一种数据存储的方法和装置 | |
CN111258973A (zh) | Redis慢日志的存储、展示方法、装置、设备和介质 | |
CN109408658A (zh) | 表情图片提示方法、装置、计算机设备及存储介质 | |
CN106033428A (zh) | 统一资源定位符的选择方法和统一资源定位符的选择装置 | |
CN111309677A (zh) | 一种分布式文件系统的文件管理方法及装置 | |
CN101192223A (zh) | 黄页搜索方法和黄页搜索系统 | |
CN104298739B (zh) | 一种数据处理方法及装置 | |
US8131773B2 (en) | Search information managing for moving image contents | |
CN111581220A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210617 Address after: 310051 05, room A, 11 floor, Chung Cai mansion, 68 Tong Xing Road, Binjiang District, Hangzhou, Zhejiang. Patentee after: Hangzhou Dip Information Technology Co.,Ltd. Address before: 310051, 6 floor, Chung Cai mansion, 68 Tong he road, Binjiang District, Hangzhou, Zhejiang. Patentee before: Hangzhou DPtech Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |