日志处理方法、装置、设备、系统及计算机可读存储介质与流程

文档序号:18464505发布日期:2019-08-17 02:20阅读:194来源:国知局
日志处理方法、装置、设备、系统及计算机可读存储介质与流程

本发明实施例涉及计算机技术领域,尤其涉及一种日志处理方法、装置、设备、系统及计算机可读存储介质。



背景技术:

在电商系统中,对系统业务日志的检索查询是比较重要的,它从侧面可以反映出用户登录系统频率、访问产品偏好、次数、查看产品时长等信息,从而提供精准消息推送。

传统的日志处理方法,大多采用前后端模式,前端接收用户的页面操作,后端根据操作信息直接加入数据库,查询日志的方式也通过直接查询数据库的形式来实现。

但随着系统业务能力不断增多,访问量不断增大,业务日志的数据量也会越来越大。日志的数据量增大会导致数据库操作次数的增加,数据库磁盘读写速度和网络传输性能繁忙。按照目前的日志处理方式进行处理,日志的检索查询方面的响应时间也会相应变长,响应速度慢。



技术实现要素:

本发明实施例提供一种日志处理方法、装置、设备、系统及计算机可读存储介质,以解决目前的日志处理方式对查询的响应速度慢的问题。

第一方面,本发明实施例提供一种日志处理方法,包括:

接收待处理的日志数据;

将所述待处理的日志数据写入分布式数据库;

监测所述分布式数据库中的日志数据是否发生更新,其中,所述更新包括新增所述待处理的日志数据;

在所述分布式数据库中的日志数据发生更新时,将所述分布式数据库中更新的日志数据同步到搜索服务器,以使所述搜索服务器在接收到查询请求后查找所述查询请求对应的日志数据。

在一种可能的实施方式中,在所述接收待处理的日志数据之前,还包括:

订阅消息队列系统中的预设日志主题;

所述接收待处理的日志数据,包括:

监测所述预设日志主题下是否存在待处理的日志消息,其中,所述待处理的日志消息包含所述待处理的日志数据;

在监测到所述预设日志主题下存在所述待处理的日志消息时,从所述消息队列系统中获取所述待处理的日志消息,并从所述待处理的日志消息中提取所述待处理的日志数据。

在一种可能的实施方式中,所述待处理的日志消息为日志生成设备生成并发送到所述消息队列系统中的所述预设日志主题下的日志消息。

在一种可能的实施方式中,所述将所述分布式数据库中更新后的数据同步到搜索服务器,包括:

通过数据传输服务dts将所述分布式数据库中更新后的数据同步到所述搜索服务器。

第二方面,本发明实施例提供一种日志处理装置,包括:

接收模块,用于接收待处理的日志数据;

写入模块,用于将所述待处理的日志数据写入分布式数据库;

监测模块,用于监测所述分布式数据库中的日志数据是否发生更新,其中,所述更新包括新增所述待处理的日志数据;

同步模块,用于在所述分布式数据库中的日志数据发生更新时,将所述分布式数据库中更新的日志数据同步到搜索服务器,以使所述搜索服务器在接收到查询请求后查找所述查询请求对应的日志数据。

在一种可能的实施方式中,还包括订阅模块,所述订阅模块用于:

订阅消息队列系统中的预设日志主题;

所述接收模块用于:

监测所述预设日志主题下是否存在待处理的日志消息,其中,所述待处理的日志消息包含所述待处理的日志数据;

在监测到所述预设日志主题下存在所述待处理的日志消息时,从所述消息队列系统中获取所述待处理的日志消息,并从所述待处理的日志消息中提取所述待处理的日志数据。

在一种可能的实施方式中,所述待处理的日志消息为日志生成设备生成并发送到所述消息队列系统中的所述预设日志主题下的日志消息。

在一种可能的实施方式中,所述同步模块用于:

通过数据传输服务dts将所述分布式数据库中更新后的数据同步到所述搜索服务器。

第三方面,本发明实施例提供一种日志处理设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的日志处理方法。

第四方面,本发明实施例提供一种日志处理系统,包括:如如上第三方面所述的日志处理设备和搜索服务器;

所述搜索服务器用于在接收到查询请求后查找所述查询请求对应的日志数据。

在一种可能的实施方式中,还包括日志生成设备和日志查询设备;

所述日志生成设备用于生成待处理的日志消息,并将所述待处理的日志消息发送到所述消息队列系统中的预设日志主题下,其中,所述待处理的日志消息包含待处理的日志数据;

所述日志查询设备用于接收用户输入的查询指令,根据所述查询指令生成相应的查询请求,并将所述查询请求发送到所述搜索服务器,在接收到所述搜索服务器返回的查询结果后,显示所述查询结果。

第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的日志处理方法。

本实施例提供的日志处理方法、装置、设备、系统及计算机可读存储介质,通过接收待处理的日志数据;将待处理的日志数据写入分布式数据库;监测分布式数据库中的日志数据是否发生更新,其中,更新包括新增待处理的日志数据;在分布式数据库中的日志数据发生更新时,将分布式数据库中更新的日志数据同步到搜索服务器,以使搜索服务器在接收到查询请求后查找查询请求对应的日志数据,能够通过将日志数据同步到搜索服务器,使得对日志数据的写入和查询相互分离,从而提高对日志数据的查询的响应速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的日志处理系统的架构示意图;

图2为本发明一实施例提供的日志处理方法的流程示意图;

图3为本发明又一实施例提供的日志处理方法的流程示意图;

图4为本发明实施例提供的一个日志处理过程的的示意图;

图5为本发明一实施例提供的日志处理装置的结构示意图;

图6为本发明又一实施例提供的日志处理装置的结构示意图;

图7为本发明一实施例提供的日志处理设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一实施例提供的日志处理系统的架构示意图。如图1所示,本实施例提供的日志处理系统包括日志生成设备11、日志处理设备12、搜索服务器13及日志查询设备14。以对电商系统的日志处理为例进行说明,但并不作为限定。日志生成设备11可以为电商系统,日志查询设备可以为电商系统和/日志查询系统。日志处理设备12接收日志生成设备11发送的日志数据,将日志数据写入到分布式数据库中。日志处理设备12将分布式数据库中的数据同步到搜索服务器13。日志查询设备14向搜索服务器13发送查询请求进行日志数据查询。

图2为本发明一实施例提供的日志处理方法的流程示意图。本实施例提供的日志处理方法的执行主体为日志处理设备。如图2所示,该方法包括:

s201、接收待处理的日志数据。

在本实施例中,日志生成设备可以将待处理的日志数据发送给日志处理设备。日志处理设备接收该待处理的日志数据。

s202、将所述待处理的日志数据写入分布式数据库。

在本实施例中,日志处理设备可以将待处理的日志处理写入到分布式数据库。可选地,分布式数据库可以为分布式关系型数据库服务(distributedrelationaldatabaseservice,drds),drds高度兼容mysql协议和语法,支持自动化水平拆分、在线平滑扩缩容、弹性扩展、透明读写分离,具备数据库全生命周期运维管控能力。日志处理设备可以通过插入操作将待处理的日志数据写入到drds。

s203、监测所述分布式数据库中的日志数据是否发生更新,其中,所述更新包括新增所述待处理的日志数据。

在本实施例中,分布式数据库中的日志数据发生更新可以包括新增待处理的日志数据,还可以包括已保存到日志数据进行删除、编辑、合并等,在此不作限定。日志处理设备可以监测分布式数据库中的日志数据是否发生更新。

s204、在所述分布式数据库中的日志数据发生更新时,将所述分布式数据库中更新的日志数据同步到搜索服务器,以使所述搜索服务器在接收到查询请求后查找所述查询请求对应的日志数据。

在本实施例中,日志处理设备在监测到分布式数据库中的日志数据发生更新时,将分布式数据库中更新的日志数据同步到搜索服务器。搜索服务器用于在接收到日志生成设备/日志查询设备的查询请求后,查找查询请求对应的日志数据,生成查询结果,并向日志生成设备/日志查询设备返回查询结果。日志生成设备/日志查询设备可以将查询结果显示给用户查看。

本发明实施例通过接收待处理的日志数据;将待处理的日志数据写入分布式数据库;监测分布式数据库中的日志数据是否发生更新,其中,更新包括新增待处理的日志数据;在分布式数据库中的日志数据发生更新时,将分布式数据库中更新的日志数据同步到搜索服务器,以使搜索服务器在接收到查询请求后查找查询请求对应的日志数据,能够通过将日志数据同步到搜索服务器,使得对日志数据的写入和查询相互分离,从而提高对日志数据的查询的响应速度。

可选地,搜索服务器可以为es(elasticsearch)搜索服务器,es搜索服务器是基于lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于restfulweb接口。设计模式为分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。在面对大数据量查询操作的响应速度方面特别突出,能够达到实时搜索、稳定、可靠、快速的查询。

图3为本发明又一实施例提供的日志处理方法的流程示意图。本实施例对接收待处理的日志数据的具体实现过程进行了详细说明。如图3所示,该方法包括:

s301、订阅消息队列系统中的预设日志主题。

在本实施例中,日志生成设备与日志处理设备以消息队列的方式进行日志数据的传输。日志处理设备首先订阅消息队列中的预设日志主题。预设日志主题为用于传输日主数据的主题,具体可以根据实际需求进行设定,在此不作限定。

s302、监测所述预设日志主题下是否存在待处理的日志消息,其中,所述待处理的日志消息包含所述待处理的日志数据。

在本实施例中,消息队列中包含待处理的日志数据的消息为待处理消息。日志处理设备监测是否存在预设日志主题对应的待处理的日志消息。

可选地,待处理的日志消息为日志生成设备生成并发送到所述消息队列系统中的所述预设日志主题下的日志消息。

在本实施例中,日志生成设备在生成新的日志数据后,将携带日志数据的日志消息发送的消息队列中预设日志主题下,以便日志处理设备能够在预设日志主题下接收该消息。

s303、在监测到所述预设日志主题下存在所述待处理的日志消息时,从所述消息队列系统中获取所述待处理的日志消息,并从所述待处理的日志消息中提取所述待处理的日志数据。

在本实施例中,日志处理设备在监测到预设日志主题下存在待处理的日志消息时,从消息队列系统中预设日志主题下获取待处理的日志消息,并从待处理的日志消息中提取得到待处理的日志数据。

可选地,日志生成设备与日志处理设备通过rocketmq进行日志数据的传输。日志生成设备可以通过rocketmq生产端将日志消息发送到预设日志主题。日志处理设备可以通过rocketmq消费端订阅预设日志主题,监控预设日志主题中的消息,从预设日志主题中接收包含日志数据的消息。其中,rocketmq是一种高性能、高吞吐量的消息队列中间件。采用消息队列的方式,生产端将要记录的业务日志按规定格式发送到对应主题的消息队列中,不需要关心是否被消费,在系统繁忙时也不会导致系统堵塞。消费端会对消息队列进行监控,随时获取对应主题的业务日志消息,随后插入到数据库中。通过rocketmq实现的松耦合架构设计可以提高系统可用性以及可扩展性。

s304、将所述待处理的日志数据写入分布式数据库。

在本实施例中,s304与图2实施例中的s202类似,此处不再赘述。

s305、监测所述分布式数据库中的日志数据是否发生更新,其中,所述更新包括新增所述待处理的日志数据。

在本实施例中,s305与图2实施例中的s203类似,此处不再赘述。

s306、在所述分布式数据库中的日志数据发生更新时,将所述分布式数据库中更新的日志数据同步到搜索服务器,以使所述搜索服务器在接收到查询请求后查找所述查询请求对应的日志数据。

在本实施例中,s306与图2实施例中的s204类似,此处不再赘述。

可选地,s306中“将所述分布式数据库中更新的日志数据同步到搜索服务器”可以包括:

通过数据传输服务(datatransmissionservice,dts)将所述分布式数据库中更新后的数据同步到所述搜索服务器。

在本实施例中,日志处理设备可以通过dts监测分布式数据库中的日志数据是否发生更新,在分布式数据库中的日志数据发生更新时,通过dts将分布式数据库中更新的日志数据同步到搜索服务器。其中,dts用于对数据进行传输和同步,由于其架构本身的高性能、高可靠、高扩展特效,而且与drds能做到无缝衔接,在其异构性方面,支持将drds数据实时同步到es搜索服务器上。

图4为本发明实施例提供的一个日志处理过程的示意图。如图4所示,电商系统通过rocketmq生产端将日志消息发送到日志主题上,rocketmq消费端接收该日志主题下的日志消息,得到日志数据,将日志数据写入到drds数据库。dts实时监控drds数据库中的数据,将drds数据库中日志数据同步到es搜索服务器。电商系统或日志查询系统向es搜索服务器发送请求进行日志查询。

本发明实施例通过异步消息同步及读写分离技术来优化功能,使用消息队列方式异步操作drds数据库,消息生产端不需要关心消息是否被消费及使用,不需要进行数据库连接。消费端实时监听消息队列,获取日志消息后再进行入库操作。dts数据传输工具实时监控数据库里数据的变化,并将变化的数据实时同步到elasticsearch搜索服务器。利用es自身的特性对数据进行添加索引操作,方便快速检索。当页面对业务日志进行查询时,java程序通过api访问es,es通过自身对数据的索引操作,根据查询条件,快速定位数据,减少反应时长,很大程度缩短响应时间。通过实现对业务日志的异步同步及读写分离技术,数据库只做写操作,elasticsearch做查询检索操作,降低数据库主机磁盘、网络压力,数据通过dts实时同步,保证数据的完整性。本方案采用消息队列+drds+dts+elasticsearch架构,对写入消息进行异步同步操作,检索日志进行读写分离,大大降低系统的压力,优化多条件检索查询速度。

本实施例通过接收待处理的日志数据;将待处理的日志数据写入分布式数据库;监测分布式数据库中的日志数据是否发生更新,其中,更新包括新增待处理的日志数据;在分布式数据库中的日志数据发生更新时,将分布式数据库中更新的日志数据同步到搜索服务器,以使搜索服务器在接收到查询请求后查找查询请求对应的日志数据,能够通过将日志数据同步到搜索服务器,使得对日志数据的写入和查询相互分离,从而提高对日志数据的查询的响应速度。

图5为本发明一实施例提供的日志处理装置的结构示意图。如图5所示,该日志处理装置50包括:接收模块501、写入模块502、监测模块503和同步模块504。

接收模块501,用于接收待处理的日志数据。

写入模块502,用于将所述待处理的日志数据写入分布式数据库。

监测模块503,用于监测所述分布式数据库中的日志数据是否发生更新,其中,所述更新包括新增所述待处理的日志数据。

同步模块504,用于在所述分布式数据库中的日志数据发生更新时,将所述分布式数据库中更新的日志数据同步到搜索服务器,以使所述搜索服务器在接收到查询请求后查找所述查询请求对应的日志数据。

本发明实施例通过接收模块接收待处理的日志数据;写入模块将待处理的日志数据写入分布式数据库;监测模块监测分布式数据库中的日志数据是否发生更新,其中,更新包括新增待处理的日志数据;同步模块在分布式数据库中的日志数据发生更新时,将分布式数据库中更新的日志数据同步到搜索服务器,以使搜索服务器在接收到查询请求后查找查询请求对应的日志数据,能够通过将日志数据同步到搜索服务器,使得对日志数据的写入和查询相互分离,从而提高对日志数据的查询的响应速度。

图6为本发明又一实施例提供的日志处理装置的结构示意图。如图6所示,本实施例提供的日志处理装置50在图5所示实施例提供的日志处理装置的基础上,还可以包括:订阅模块505。

可选地,所述订阅模块505用于:

订阅消息队列系统中的预设日志主题;

所述接收模块501用于:

监测所述预设日志主题下是否存在待处理的日志消息,其中,所述待处理的日志消息包含所述待处理的日志数据;

在监测到所述预设日志主题下存在所述待处理的日志消息时,从所述消息队列系统中获取所述待处理的日志消息,并从所述待处理的日志消息中提取所述待处理的日志数据。

可选地,所述待处理的日志消息为日志生成设备生成并发送到所述消息队列系统中的所述预设日志主题下的日志消息。

可选地,所述同步模块504用于:

通过数据传输服务dts将所述分布式数据库中更新后的数据同步到所述搜索服务器。

本发明实施例提供的日志处理装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

图7为本发明一实施例提供的日志处理设备的硬件结构示意图。如图7所示,本实施例提供的日志处理设备70包括:至少一个处理器701和存储器702。该日志处理设备70还包括通信部件703。其中,处理器701、存储器702以及通信部件703通过总线704连接。

在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行如上的日志处理方法。

处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本申请还提供一种日志处理系统,包括如上所述的日志处理设备和搜索服务器;

所述搜索服务器用于在接收到查询请求后查找所述查询请求对应的日志数据。

可选地,该系统还包括日志生成设备和日志查询设备;

所述日志生成设备用于生成待处理的日志消息,并将所述待处理的日志消息发送到所述消息队列系统中的预设日志主题下,其中,所述待处理的日志消息包含待处理的日志数据;

所述日志查询设备用于接收用户输入的查询指令,根据所述查询指令生成相应的查询请求,并将所述查询请求发送到所述搜索服务器,在接收到所述搜索服务器返回的查询结果后,显示所述查询结果。

本发明实施例提供的日志处理系统,其实现原理和技术效果与上述的方式实施例类似,本实施例此处不再赘述。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的日志处理方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1