CN110968561A - 日志存储方法和分布式系统 - Google Patents

日志存储方法和分布式系统 Download PDF

Info

Publication number
CN110968561A
CN110968561A CN201811162067.XA CN201811162067A CN110968561A CN 110968561 A CN110968561 A CN 110968561A CN 201811162067 A CN201811162067 A CN 201811162067A CN 110968561 A CN110968561 A CN 110968561A
Authority
CN
China
Prior art keywords
log data
user access
access log
server
storage
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
Application number
CN201811162067.XA
Other languages
English (en)
Other versions
CN110968561B (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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201811162067.XA priority Critical patent/CN110968561B/zh
Publication of CN110968561A publication Critical patent/CN110968561A/zh
Application granted granted Critical
Publication of CN110968561B publication Critical patent/CN110968561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志存储方法和分布式系统。其中,该方法包括:客户端采集用户访问日志数据;服务器接收用户访问日志数据,并确定与用户访问日志数据对应的业务项目,其中,服务器上设置有多个存储点;服务器统计用户访问日志数据的数据量;服务器依据业务项目和数据量,确定存储用户访问日志数据的目标存储点;服务器将用户访问日志数据存储至目标存储点。

Description

日志存储方法和分布式系统
技术领域
本发明涉及分布式存储技术领域,具体而言,涉及一种日志存储方法和分布式系统。
背景技术
在相关技术中,对于单体项目或者分布式项目中,经常会对用户访问日志记录进行采集,并存储采集到的用户访问日志记录,在现有的方案中,对用户访问日志记录采集的方式是利用不同客户端的采集逻辑进行采集,然后将用户访问日志记录进行相同逻辑的存储,其存储的数据基本相同,这样会造成存储代码重复,造成存储用户访问日志数据混乱的情况,而且需要针对不同的客户端采集的方案不同,需要针对每种客户端采用对应的存储方案,存储方式差异较大,需要后台节点花费较多的线程处理不同客户端的采集到的用户日志数据。
针对上述的相关技术中对于不同客户端采集的用户访问日志数据,在存储数据时容易造成存储数据混乱且数据容易重复的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种日志存储方法和分布式系统,以至少解决相关技术中对于不同客户端采集的用户访问日志数据,在存储数据时容易造成存储数据混乱且数据容易重复的技术问题。
根据本发明实施例的一个方面,提供了一种日志存储方法,包括:客户端采集用户访问日志数据;服务器接收所述用户访问日志数据,并确定与所述用户访问日志数据对应的业务项目,其中,所述服务器上设置有多个存储点;所述服务器统计所述用户访问日志数据的数据量;所述服务器依据所述业务项目和所述数据量,确定存储所述用户访问日志数据的目标存储点;所述服务器将所述用户访问日志数据存储至所述目标存储点。
进一步地,所述客户端为多个,每个所述客户端采集所述用户访问日志数据的采集逻辑不同;所述服务器为一个,所述服务器存储每个所述客户端采集到的所述用户访问日志数据的存储逻辑相同。
进一步地,日志存储方法还包括:所述服务器将存储所述用户访问日志数据的存储逻辑打包为可执行文件,其中,所述可执行文件用于存储所述用户访问日志数据;所述服务器根据所述可执行文件提供对存储在所述服务器上的所述用户访问日志数据进行检索操作。
进一步地,日志存储方法还包括:所述服务器在接收到所述用户访问日志数据后,通过预设应用程序界面API调用所述存储逻辑,以将所述用户访问日志数据存储至所述目标存储点。
进一步地,日志存储方法还包括:所述服务器将所述用户访问日志数据分类,得到多个分类日志数据,其中,每个所述存储点存储一个所述分类日志数据。
进一步地,所述服务器将所述用户访问日志数据分类,得到多个分类日志数据包括:所述服务器按照预先设置的多个时间段对所述用户访问日志数据分类;所述服务器按照预先设置的多个分类级别对所述用户访问日志数据分类,其中,所述多个分类级别至少包括:调试级别、错误级别、执行级别。
进一步地,日志存储方法还包括:所述客户端在采集到所述用户访问日志数据后,建立消息队列,并将所述消息队列放入预设的传输通道;所述服务器监听所述传输通道中是否有所述消息队列,并在监听到所述消息队列后,将所述消息队列对应的用户访问日志数据存储至目标存储点。
根据本发明实施例的另一个方面,还提供了一种分布式系统,包括:至少一个日志采集模块,设置于客户端上,用于采集用户访问日志数据;第一确定模块,用于确定所述用户访问日志数据的所属业务项目;统计模块,用于统计所述用户访问日志数据的数据量;第二确定模块,用于依据所述所属业务项目和所述数据量,确定存储所述用户访问日志数据的目标存储点,其中,所述目标存储点设置于服务器上,在所述服务器上设置多个存储点;日志存储模块,用于将所述用户访问日志数据存储至所述目标存储点。
进一步地,所述客户端为多个,每个所述客户端采集所述用户访问日志数据的采集逻辑不同;所述服务器为一个,所述服务器存储每个所述客户端采集到的所述用户访问日志数据的存储逻辑相同。
进一步地,所述日志存储模块包括:分类单元,用于将所述用户访问日志数据分类,得到多个分类子单元,其中,每个所述分类子单元中存储一类所述用户访问日志数据。
进一步地,所述分类单元包括:时间分类子单元,用于按照预先设置的多个时间段对所述用户访问日志数据分类;级别分类子单元,用于按照预先设置的多个分类级别对所述用户访问日志数据分类,其中,所述多个分类级别至少包括:调试级别、错误级别、执行级别。
进一步地,所述分布式系统还包括:队列模块,与所述至少一个日志采集模块连接,用于建立消息队列;监听模块,与所述队列模块连接,用于监听是否有待处理的所述消息队列,并在监听到所述消息队列后,发送通知消息,其中,所述通知消息用于告知所述日志存储模块将所述用户访问日志数据存储至所述目标存储点。
在本发明实施例中,在客户端上设置至少一个日志采集模块,以采集用户访问日志数据,并通过服务器来确定用户访问日志数据的所属业务项目,并统计用户访问日志数据的数据量,然后可以依据业务项目和数据量,确定存储用户访问日志数据的目标存储点,其中,目标存储点设置于服务器上,在服务器上设置有多个存储点,可以将用户访问日志数据存储至目标存储点。本发明中,可以将数据采集和存储分别设置在客户端和服务器上,并且通过目标存储点来存储日志数据,不同客户端会对应不同的开发语言,这样采集不同的语言记录的用户访问日志数据,并通过日志存储模块来存储用户访问日志数据,将日志存储模块存储的逻辑做成统一的服务端,减少了代码量,这样采集端和存储端分离,不会造成存储数据的混乱,且由于存储的统一性,会使得数据单一化,不会出现数据重复的情况,从而解决相关技术中对于不同客户端采集的用户访问日志数据,在存储数据时容易造成存储数据混乱且数据容易重复的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种分布式系统的示意图;
图2是根据本发明实施例的一种日志存储方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于用户理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
应用程序接口,Application Programming Interface,简称API,提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
本发明下述实施例可以应用于各种系统中,对于系统中包含的模块和程序不做具体限定,该系统可以为:分布式系统。本申请中的用户访问日志数据可以是通过单体项目或者分布式项目来确定的,本发明实施例中对于项目的具体类型不做具体限定。
相关技术中在存储时会存在针对多个不同客户端采集到的用户访问日志数据,需要采用不同的存储逻辑存储数据,由于采集和存储都是相对独立的,因此,会存在存储的数据相同,且代码出现重复的情况。本发明下述各实施例中为了解决这种问题,将日志采集逻辑和日志存储逻辑分离,采集逻辑针对不同的开发语言提供不同的采集方案,同时存储逻辑做成统一的存储端,以减少代码的同时,还能实现存储的标准化和采集逻辑的跨语言(开发语言)实现。下面通过各个实施例对本发明进行说明。
实施例一
下述实施例中说明了分布式系统的相关方案,在该方案中,日志数据的采集端和存储端是分离,以便于采集的多样化和存储的统一化,从而实现数据的有效采集和存储,对于分布式系统所使用的应用和使用的终端不做具体限定。
图1是根据本发明实施例的一种分布式系统的示意图,如图1所示,该分布式系统包括:至少一个日志采集模块11、第一确定模块13、统计模块15、第二确定模块17、日志存储模块19,其中,
至少一个日志采集模块11,设置于客户端上,用于采集用户访问日志数据;
第一确定模块13,用于确定用户访问日志数据的所属业务项目;
统计模块15,用于统计用户访问日志数据的数据量;
第二确定模块17,用于依据所属业务项目和数据量,确定存储用户访问日志数据的目标存储点,其中,目标存储点设置于服务器上,在服务器上设置多个存储点;
日志存储模块19,用于将用户访问日志数据存储至目标存储点。
在本发明实施例中,可以在每个客户端上设置一个日志采集模块,这样就方便后续对用户访问日志数据的采集。
其中,上述至少一个日志采集模块11可以设置在客户端上,而第一确定模块13、统计模块15、第二确定模块17、日志存储模块19可以设置在服务器上。
可选地,上述的客户端可以为多个,每个客户端采集用户访问日志数据的采集逻辑不同。另外,多个客户端支持多种开发语言的用户访问日志数据的采集程序。每一个客户端可以支持至少一个开发语言,可选地,开发语言包括但不限于:JavaScript、PHP等。本发明中可以对不同的开发语言采集不同的用户访问日志数据。
对于本发明实施例来说,用户访问日志数据,可以是用户在访问各种编程软件、网站、网页、应用、APP等时,后台自动记录的访问日志数据,可选的,用户访问日志数据中包括但不限于:debug、错误代码、调试结果、访问时间、访问地址、访问网页页面元素、访问时长、用户评论等。在本发明实施例可以通过文件或者表格自动记录用户访问日志数据,以为后续分析用户访问行为,推荐用户感兴趣的访问内容做准备。
可选的,日志采集模块中的日志采集方案针对不同开发语言提供不同引入和扩展方案,使用者根据子系统开发语言去获取对应的包文件引入,经过简单配置即可实现日志采集。另外,本发明实施例中,还可以提供自定义逻辑,以让用户自行输入采集逻辑,从而根据用户输入的采集逻辑进行用户日志数据的采集。
对于第一确定模块,在确定用户访问日志数据的所属业务项目时,可以是获取业务项目对应的名称或者编号,这些名称或者编号可以预先记录在用户访问日志中,在获取时,可以自动获取到业务项目的相关数据。
可选的,对于第二确定模块,在确定目标存储点时,可以先依据业务项目来确定与业务项目对应的预设存储子区域,可选的,在服务器的存储区域中会预先划分多个子区域,每个子区域可以存储一种类型的业务项目的数据,这样,在获取到新的用户访问日志数据后,可以将该数据对应的业务项目类型查询到,然后存储到对应的子区域中。在确定与业务项目对应的预设存储子区域后,可以利用数据量来确定目标存储点,每个存储点的存储大小不同,查询与数据量对应的存储点,将数据量与存储点的大小对应,这样可以合理分配存储资源。
其中,本发明实施例中的服务器可以为一个,服务器存储每个客户端采集到的用户访问日志数据的存储逻辑相同。即本发明实施例中,可以将存储逻辑做成统一的服务端,从而实现数据的统一存储,避免数据的存储重复,而且可以实现存储的标准化。
上述分布式系统,利用至少一个日志采集模块11来采集用户访问日志数据,通过第一确定模块13确定用户访问日志数据的所属业务项目;通过统计模块15统计用户访问日志数据的数据量;通过第二确定模块17依据所属业务项目和数据量,确定存储用户访问日志数据的目标存储点,其中,目标存储点设置于服务器上,在服务器上设置有多个存储点;最后通过设置于服务器上的日志存储模块19将用户访问日志数据存储至目标存储点。本发明中,可以将数据采集和存储分别设置在客户端和服务器上,并且通过查询存储点来存储日志数据,不同客户端会对应不同的开发语言,这样采集不同的语言记录的用户访问日志数据,并通过日志存储模块来存储用户访问日志数据,将日志存储模块存储的逻辑做成统一的服务端,减少了代码量,这样采集端和存储端分离,不会造成存储数据的混乱,且由于存储的统一性,会使得数据单一化,不会出现数据重复的情况,从而解决相关技术中对于不同客户端采集的用户访问日志数据,在存储数据时容易造成存储数据混乱且数据容易重复的技术问题。
在本发明实施例中,日志存储模块包括:分类单元,用于将用户访问日志数据分类,得到多个分类子单元,其中,每个分类子单元中存储一种用户访问日志数据。
另一种可选的实施方式,上述分类单元包括:时间分类子单元,用于按照预先设置的多个时间段对用户访问日志数据分类;级别分类子单元,用于按照预先设置的多个分类级别对用户访问日志数据分类,其中,多个分类级别至少包括:调试级别、错误级别、执行级别。
可选的,上述的多个时间段可以是预先设定的,如设置每隔一天/每隔3天/每隔5天等存储一次用户访问日志数据,这样就可以在后续查询服务器上存储的数据时,就可以依据时间设置直接查询到对应事件的数据。
而对于上述的多个分类级别,其分类的类型可以包括:debug类型、调试类型、错误类型和执行类型,通过这些分类类型将用户访问日志数据分成多个类别,每个类别对应为一种访问日志数据,这样在存储时,可以将数据简化分类,以存储多种类型的用户访问日志数据,在后续查询服务器上存储的数据时,也可以依据数据类别来查询该用户访问日志数据。
在一可选的示例中,分布式系统还包括:队列模块,与至少一个日志采集模块连接,用于建立消息队列;监听模块,与队列模块连接,用于监听是否有待处理的消息队列,并在监听到消息队列后,发送通知消息,其中,通知消息用于告知日志存储模块将用户访问日志数据存储至目标存储点。
其中,上述的队列模块可以与日志采集模块连接,在采集到一次数据后,可以建立一个消息队列,该消息队列用于告知传输通道有一份用户访问日志数据需要传输至服务器上。而对于监听模块,其一侧可以与服务器连接,另一侧与队列模块连接,通过监听模块可以监听是否有消息队列需要处理,进而在检测到消息队列后,将消息队列对应的用户访问日志数据传输至服务器上。
可选的,如果有多个消息队列同时需要处理,可以依据消息队列预先定义的权重值,确定出每个消息队列对应的优先级,这样就可以对优先级较高的消息队列进行处理。
对于本发明实施例来说,上述分布式系统还包括:打包模块,用于将存储用户访问日志数据的存储逻辑打包为可执行文件,其中,可执行文件用于存储用户访问日志数据;检索模块,用于根据可执行文件提供对存储在服务器上的用户访问日志数据进行检索操作。
上述打包模块打包的是存储逻辑,然后打包模块将存储逻辑打包为可执行文件,这样就可以利用可执行文件来存储用户访问日志数据,为后续日志数据存储做准备。
而对于上述的检索模块,可以理解为反向解析可执行文件,然后根据解析结果对服务器上存储的用户访问日志数据进行查询。即可以通过检索模块提供检索服务,在用户或者后台程序员需要查询用户访问日志数据时,通过该检索服务即可提供检索操作,具体地,本发明实施例中可以为用户或者后台程序员提供检索窗口或者检索框,以供输入关键词或者检索关键式,从而自动检索出与用户想要的内容一致的日志数据。这样就可以为用户访问日志数据提供统一标准的存储和检索服务,同时使用者可以根据相应的条件(如输入关键词)查询到对应的系统的用户访问日志数据,提高存储和检索的效率。
一种可选的实施方式,上述检索模块可以包括:检索子模块,通过检索子模块可以查询存储点,从而查询到对应的用户访问日志数据。
在本发明另一种可选的实施方式,分布式系统还包括:调用模块,用于在通过日志采集模块采集到用户访问日志数据后,通过预设应用程序界面API调用日志存储模块的存储逻辑,以将用户访问日志数据存储至目标存储点。即可以在采集模块通过采集逻辑采集到数据后,还可以通过API调用服务端的存储逻辑,以快速将用户访问日志数据存储至服务器中,方便日志数据的存储。
根据本发明实施例的另一个方面,还提供了第一存储介质和第二存储介质,其中,第一存储介质设置于客户端,用于临时缓存日志采集模块采集到的用户访问日志数据,第二存储介质设置于服务器端,用于提供存储区域,每个存储区域可以对应有一个存储点。
根据本发明实施例的另一个方面,还提供了第一处理器和第二处理中,其中,第一处理器用于处理客户端所要执行的程序一,该程序一用于运行采集用户访问日志数据的程序,而第二处理器用于处理服务器所要执行的程序二,该程序二用于运行存储用户访问日志数据的程序。
本发明上述分布式系统,可以将用户访问日志数据的采集端和存储端分离,采集逻辑和存储逻辑分离,将存储逻辑分离出来进入服务器,从而利用统一的服务器存储用户访问日志数据,然后减少存储逻辑代码量,存储的用户日志数据不会出现重复。并且还可以将用户访问日志采集逻辑抽离出来做成客户端,针对不同的开发语言做了不同的默认实现方案同时允许用户自定义扩展采集逻辑,这样就可以让本发明实施例中的采集方式更多,而存储模式统一,让采集多样化,存储统一化,减少存储的代码量。
同时,上述分布式系统可以实现通过存储点分散存储用户访问日志数据,并且查询到与用户访问日志数据对应的业务项目,从而利用分类单元确定数据的分类结果,进而依据分类结果,对数据进行合理存储,减少存储资源的浪费。
下面通过另一种实施例对本发明进行说明。
实施例二
根据本发明实施例,提供了一种基于分布式系统的日志存储方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明下述实施例提供了一种日志存储方法,该日志存储方法可以应用于上述实施例中的分布式系统,分布式系统包括至少一个日志采集模块和日志存储模块,至少一个日志采集模块设置于客户端上,日志存储模块设置于服务器上。
图2是根据本发明实施例的一种日志存储方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,客户端采集用户访问日志数据。
步骤S204,服务器接收用户访问日志数据,并确定与用户访问日志数据对应的业务项目,其中,服务器上设置有多个存储点;
步骤S206,服务器统计用户访问日志数据的数据量;
步骤S208,服务器依据业务项目和数据量,确定存储用户访问日志数据的目标存储点;
步骤S210,服务器将用户访问日志数据存储至目标存储点。
其中,本发明实施例中的目标服务器可以是同一个服务器,目标服务器的类型和型号,可以根据每个客户使用的服务器自行定义。
在本发明实施例中,客户端为多个,每个客户端采集用户访问日志数据的采集逻辑不同;服务器为一个,服务器存储每个客户端采集到的用户访问日志数据的存储逻辑相同。
通过上述步骤,在客户端上设置至少一个日志采集模块,以采集用户访问日志数据,并通过服务器来确定用户访问日志数据的所属业务项目,并统计用户访问日志数据的数据量,然后可以依据业务项目和数据量,确定存储用户访问日志数据的目标存储点,其中,目标存储点设置于服务器上,在服务器上设置有多个存储点,可以将用户访问日志数据存储至目标存储点。在该实施例中,通过分布式系统中至少一个日志采集模块来采集用户访问日志数据,不同客户端会对应不同的开发语言,这样采集不同的语言记录的用户访问日志数据,在得到用户访问日志数据后,可以将用户访问日志数据存储至目标服务器中,存储的逻辑做成统一的服务端,减少了代码量,这样采集端和存储端分离,不会造成存储数据的混乱,且由于存储的统一性,会使得数据单一化,不会出现数据重复的情况,从而解决相关技术中对于不同客户端采集的用户访问日志数据,在存储数据时容易造成存储数据混乱且数据容易重复的技术问题。
在一可选的示例中,日志存储方法还包括:服务器将存储用户访问日志数据的存储逻辑打包为可执行文件,其中,可执行文件用于存储用户访问日志数据;服务器根据可执行文件提供对存储在服务器上的用户访问日志数据进行检索操作。
上述打包的是存储逻辑,然后将存储逻辑打包为可执行文件,这样就可以利用可执行文件来存储用户访问日志数据,为后续日志数据存储做准备。
在提供检索操作时,本发明实施例中可以为用户或者后台程序员提供检索窗口或者检索框,以供输入关键词或者检索关键式,从而自动检索出与用户想要的内容一致的日志数据。这样就可以为用户访问日志数据提供统一标准的存储和检索服务,同时使用者可以根据相应的条件(如输入关键词)查询到对应的系统的用户访问日志数据,提高存储和检索的效率。
作为本发明一可选的实施方式,日志存储方法还包括:服务器在接收到用户访问日志数据后,通过预设应用程序界面API调用存储逻辑,以将用户访问日志数据存储至目标存储点。
对于本发明实施例来说,日志存储方法还包括:服务器将用户访问日志数据分类,得到多个分类日志数据,其中,每个存储点存储一个分类日志数据。
需要说明的是,服务器将用户访问日志数据分类,得到多个分类日志数据包括:服务器按照预先设置的多个时间段对用户访问日志数据分类;服务器按照预先设置的多个分类级别对用户访问日志数据分类,其中,多个分类级别至少包括:调试级别、错误级别、执行级别。
对于多个时间段可以是预先设定的,通过多个时间段分类,在后续查询服务器上存储的数据时,就可以依据时间设置直接查询到对应事件的数据。
对于上述的多个分类级别,其分类的类型可以包括:debug类型、调试类型、错误类型和执行类型,通过这些分类类型将用户访问日志数据分成多个类别,每个类别对应为一种访问日志数据,这样在存储时,可以将数据简化分类,以存储多种类型的用户访问日志数据,在后续查询服务器上存储的数据时,也可以依据数据类别来查询该用户访问日志数据。
在本发明一可选的实施例中,日志存储方法还包括:客户端在采集到用户访问日志数据后,建立消息队列,并将消息队列放入预设的传输通道;服务器监听传输通道中是否有消息队列,并在监听到消息队列后,将消息队列对应的用户访问日志数据存储至目标存储点。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种日志存储方法,其特征在于,包括:
客户端采集用户访问日志数据;
服务器接收所述用户访问日志数据,并确定与所述用户访问日志数据对应的业务项目,其中,所述服务器上设置有多个存储点;
所述服务器统计所述用户访问日志数据的数据量;
所述服务器依据所述业务项目和所述数据量,确定存储所述用户访问日志数据的目标存储点;
所述服务器将所述用户访问日志数据存储至所述目标存储点。
2.根据权利要求1所述的方法,其特征在于,所述客户端为多个,每个所述客户端采集所述用户访问日志数据的采集逻辑不同;所述服务器为一个,所述服务器存储每个所述客户端采集到的所述用户访问日志数据的存储逻辑相同。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述服务器将存储所述用户访问日志数据的存储逻辑打包为可执行文件,其中,所述可执行文件用于存储所述用户访问日志数据;
所述服务器根据所述可执行文件提供对存储在所述服务器上的所述用户访问日志数据进行检索操作。
4.根据权利要求2所述的方法,其特征在于,还包括:
所述服务器在接收到所述用户访问日志数据后,通过预设应用程序界面API调用所述存储逻辑,以将所述用户访问日志数据存储至所述目标存储点。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述服务器将所述用户访问日志数据分类,得到多个分类日志数据,其中,每个所述存储点存储一个所述分类日志数据。
6.根据权利要求5所述的方法,其特征在于,所述服务器将所述用户访问日志数据分类,得到多个分类日志数据包括:
所述服务器按照预先设置的多个时间段对所述用户访问日志数据分类;
所述服务器按照预先设置的多个分类级别对所述用户访问日志数据分类,其中,所述多个分类级别至少包括:调试级别、错误级别、执行级别。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述客户端在采集到所述用户访问日志数据后,建立消息队列,并将所述消息队列放入预设的传输通道;
所述服务器监听所述传输通道中是否有所述消息队列,并在监听到所述消息队列后,将所述消息队列对应的用户访问日志数据存储至目标存储点。
8.一种分布式系统,其特征在于,包括:
至少一个日志采集模块,设置于客户端上,用于采集用户访问日志数据;
第一确定模块,用于确定所述用户访问日志数据的所属业务项目;
统计模块,用于统计所述用户访问日志数据的数据量;
第二确定模块,用于依据所述所属业务项目和所述数据量,确定存储所述用户访问日志数据的目标存储点,其中,所述目标存储点设置于服务器上,在所述服务器上设置有多个存储点;
日志存储模块,用于将所述用户访问日志数据存储至所述目标存储点。
9.根据权利要求8所述的分布式系统,其特征在于,所述客户端为多个,每个所述客户端采集所述用户访问日志数据的采集逻辑不同;所述服务器为一个,所述服务器存储每个所述客户端采集到的所述用户访问日志数据的存储逻辑相同。
10.根据权利要求8所述的分布式系统,其特征在于,所述分布式系统还包括:
队列模块,与所述至少一个日志采集模块连接,用于建立消息队列;
监听模块,与所述队列模块连接,用于监听是否有待处理的所述消息队列,并在监听到所述消息队列后,发送通知消息,其中,所述通知消息用于告知所述日志存储模块将所述用户访问日志数据存储至所述目标存储点。
CN201811162067.XA 2018-09-30 2018-09-30 日志存储方法和分布式系统 Active CN110968561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811162067.XA CN110968561B (zh) 2018-09-30 2018-09-30 日志存储方法和分布式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811162067.XA CN110968561B (zh) 2018-09-30 2018-09-30 日志存储方法和分布式系统

Publications (2)

Publication Number Publication Date
CN110968561A true CN110968561A (zh) 2020-04-07
CN110968561B CN110968561B (zh) 2024-02-13

Family

ID=70029350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811162067.XA Active CN110968561B (zh) 2018-09-30 2018-09-30 日志存储方法和分布式系统

Country Status (1)

Country Link
CN (1) CN110968561B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859368A (zh) * 2023-02-07 2023-03-28 支付宝(杭州)信息技术有限公司 一种数据脱敏方法、装置、设备及可读存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043375A (zh) * 2007-03-15 2007-09-26 华为技术有限公司 分布式系统日志收集方法及系统
JP2007299284A (ja) * 2006-05-01 2007-11-15 Hitachi Software Eng Co Ltd ログ収集システム、クライアント装置、及びログ収集エージェント装置
CN102780726A (zh) * 2011-05-13 2012-11-14 中兴通讯股份有限公司 一种基于web平台的日志分析方法及系统
CN102891873A (zh) * 2011-07-21 2013-01-23 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
CN102902813A (zh) * 2012-10-22 2013-01-30 北京奇虎科技有限公司 日志收集系统
CN103838867A (zh) * 2014-03-20 2014-06-04 网宿科技股份有限公司 日志处理方法和装置
CN104021088A (zh) * 2014-06-24 2014-09-03 广东睿江科技有限公司 日志存储方法和装置
CN106202305A (zh) * 2016-06-30 2016-12-07 北京北信源软件股份有限公司 一种日志处理方法、装置及数据库系统
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107092683A (zh) * 2017-04-21 2017-08-25 北京奇艺世纪科技有限公司 一种日志处理系统和方法
WO2017166644A1 (zh) * 2016-03-31 2017-10-05 乐视控股(北京)有限公司 一种数据采集方法和系统
WO2017219857A1 (zh) * 2016-06-20 2017-12-28 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN107622084A (zh) * 2017-08-10 2018-01-23 深圳前海微众银行股份有限公司 日志管理方法、系统以及计算机可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299284A (ja) * 2006-05-01 2007-11-15 Hitachi Software Eng Co Ltd ログ収集システム、クライアント装置、及びログ収集エージェント装置
CN101043375A (zh) * 2007-03-15 2007-09-26 华为技术有限公司 分布式系统日志收集方法及系统
CN102780726A (zh) * 2011-05-13 2012-11-14 中兴通讯股份有限公司 一种基于web平台的日志分析方法及系统
CN102891873A (zh) * 2011-07-21 2013-01-23 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
CN102902813A (zh) * 2012-10-22 2013-01-30 北京奇虎科技有限公司 日志收集系统
CN103838867A (zh) * 2014-03-20 2014-06-04 网宿科技股份有限公司 日志处理方法和装置
CN104021088A (zh) * 2014-06-24 2014-09-03 广东睿江科技有限公司 日志存储方法和装置
WO2017166644A1 (zh) * 2016-03-31 2017-10-05 乐视控股(北京)有限公司 一种数据采集方法和系统
WO2017219857A1 (zh) * 2016-06-20 2017-12-28 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106202305A (zh) * 2016-06-30 2016-12-07 北京北信源软件股份有限公司 一种日志处理方法、装置及数据库系统
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107092683A (zh) * 2017-04-21 2017-08-25 北京奇艺世纪科技有限公司 一种日志处理系统和方法
CN107622084A (zh) * 2017-08-10 2018-01-23 深圳前海微众银行股份有限公司 日志管理方法、系统以及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859368A (zh) * 2023-02-07 2023-03-28 支付宝(杭州)信息技术有限公司 一种数据脱敏方法、装置、设备及可读存储介质
CN115859368B (zh) * 2023-02-07 2023-05-12 支付宝(杭州)信息技术有限公司 一种数据脱敏方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN110968561B (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
CN107145489B (zh) 一种基于云平台的客户端应用的信息统计方法和装置
US11726892B2 (en) Realtime data stream cluster summarization and labeling system
CN108009236B (zh) 一种大数据查询方法、系统、计算机及存储介质
CN108156006B (zh) 一种埋点数据上报方法、装置及电子设备
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
CN104836701B (zh) 订单监控方法及装置
CN110347716B (zh) 日志数据处理方法、装置、终端设备及存储介质
CN110609844B (zh) 一种数据更新方法,装置及系统
US20150170070A1 (en) Method, apparatus, and system for monitoring website
CN107451149B (zh) 流量数据查询任务的监控方法及其装置
CN106941493B (zh) 一种网络安全态势感知结果输出方法及装置
EP2973042A2 (en) Hierarchical, parallel models for extracting in real time high-value information from data streams and system and method for creation of same
CN112311617A (zh) 一种配置化数据监控告警方法及系统
CN111538563A (zh) 一种对Kubernetes的事件分析方法及装置
CN109039817B (zh) 一种用于流量监控的信息处理方法、装置、设备及介质
CN109688094B (zh) 基于网络安全的可疑ip配置方法、装置、设备及存储介质
CN111740868A (zh) 告警数据的处理方法和装置及存储介质
CN111897834A (zh) 日志搜索方法、装置及服务器
CN105471938B (zh) 服务器负载管理方法及装置
CN113422808B (zh) 物联网平台http信息推送方法、系统、装置及介质
CN106557483B (zh) 一种数据处理、数据查询方法及设备
CN110968561B (zh) 日志存储方法和分布式系统
CN103916463B (zh) 一种网络访问统计分析方法及系统
CN110309028B (zh) 监控信息获取方法、服务监控方法、装置及系统
CN112307046A (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