CN112765100A - 查询日志的方法、系统、计算设备和介质 - Google Patents

查询日志的方法、系统、计算设备和介质 Download PDF

Info

Publication number
CN112765100A
CN112765100A CN202110028023.3A CN202110028023A CN112765100A CN 112765100 A CN112765100 A CN 112765100A CN 202110028023 A CN202110028023 A CN 202110028023A CN 112765100 A CN112765100 A CN 112765100A
Authority
CN
China
Prior art keywords
number checking
requirement information
keywords
application server
query result
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.)
Pending
Application number
CN202110028023.3A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110028023.3A priority Critical patent/CN112765100A/zh
Publication of CN112765100A publication Critical patent/CN112765100A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

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)

Abstract

本公开提供了一种由查数系统服务器执行的查询日志的方法,可用于金融领域或其他领域。该方法包括:接收到来自终端设备针对目标日志的查数请求,其中,查数请求包括查数要求信息和关键字;将查数请求中的查数要求信息和关键字写入消息队列,以使应用服务器通过消息队列获取查数要求信息和关键字,并根据查数要求信息和关键字对目标日志进行查询;接收来自应用服务器对目标日志的查询结果;以及将查询结果发送至终端设备。本公开还提供了一种由应用服务器执行的查询日志的方法、一种查询日志的系统、一种计算设备以及一种计算机存储介质。

Description

查询日志的方法、系统、计算设备和介质
技术领域
本公开涉及金融领域,更具体地,涉及一种查询日志的方法、系统、一种计算设备以及一种计算机存储介质。
背景技术
随着互联网的蓬勃发展,相关技术使用分布式、上云等物理部署方式来部署应用系统。对于直接对客,且需要支撑大并发或大客户数同时在线的各类应用系统,使用分布式、上云等物理部署方式的好处是可以通过硬负载(如F5设备)或软负载(如ngix)将交易请求的压力分散到各个服务节点中,有效提升系统性能容量。但是这种方式需要部署数百台甚至上千台服务器,当交易出现问题时,要在数百台甚至上千台服务器中查询日志以确定问题十分困难。
发明内容
本公开的一个方面提供了一种由查数系统服务器执行的查询日志的方法,包括:接收到来自终端设备针对目标日志的查数请求,其中,所述查数请求包括查数要求信息和关键字;将所述查数请求中的查数要求信息和关键字写入消息队列,以使应用服务器通过所述消息队列获取所述查数要求信息和所述关键字,并根据所述查数要求信息和所述关键字对所述目标日志进行查询;接收来自所述应用服务器对所述目标日志的查询结果;以及将所述查询结果发送至所述终端设备。
可选地,所述将所述查数请求中的查数要求信息和关键字写入消息队列包括:根据所述查数要求信息和关键字,生成查数请求消息;以及将所述查数请求消息写入所述消息队列。
可选地,所述方法还包括:将所述查询结果存储在所述查数系统服务器中;以及响应于再次接受到针对所述目标日志的查数请求,从所述查数系统服务器中获取与所述目标日志对应的查询结果。
可选地,所述方法还包括:获取所述查数系统服务器中每个查询结果的在所述查数系统服务器中的存储时长;以及删除所述存储时长超过预设时长的查询结果。
本公开的另一个方面提供了一种由应用服务器执行的查询日志的方法,包括:从消息队列中获取查数要求信息和关键字;根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志;在所述应用服务器中存储有所述目标日志的情况下,根据所述目标日志的信息,生成查询结果;以及将所述查询结果发送至查数系统服务器。
可选地,所述从消息队列包括至少一个查数请求消息;所述从消息队列中获取查数要求信息和关键字包括:按照预设顺序从所述消息队列中获取所述至少一个查数请求消息;以及解析获取的查数请求消息,以得到所述查数要求信息和所述关键字。
可选地,所述查数要求信息包括生成日期要求、日志类型要求、查询位置要求、查询路径要求中的一种或多种;所述根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志,包括:根据所述查数要求信息,在所述应用服务器中查询包含所述关键字的目标日志。
可选地,所述应用服务器中部署有驻留程序,所述查询日志的方法通过所述驻留程序执行。
本公开的另一个方面提供了一种一种查询日志的系统,包括:查数系统服务器和应用服务器;其中,所述查数系统服务器包括:第一接收模块,用于接收到来自终端设备针对目标日志的查数请求,其中,所述查数请求包括查数要求信息和关键字;写入模块,用于将所述查数请求中的查数要求信息和关键字写入消息队列;第二接收模块,用于接收来自所述应用服务器对所述目标日志的查询结果;以及第一发送模块,用于将所述查询结果发送至所述终端设备;所述应用服务器包括:获取模块,用于从消息队列中获取查数要求信息和关键字;检索模块,用于根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志;生成模块,用于在所述应用服务器中存储有所述目标日志的情况下,根据所述目标日志的信息,生成查询结果;以及第二发送模块,用于将所述查询结果发送至查数系统服务器。
本公开的另一个方面提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例的查询日志的方法或系统,可以直接在各个应用服务器中查找日志,不需要查询数据库,步骤简便,解决了在数量众多的服务器中查询日志较为困难的问题。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的分布式系统结构示意图;
图2示意性示出了相关技术获取日志的方法示意图;
图3示意性示出了根据本公开的实施例的查询日志的方法和查询日志的系统的应用场景;
图4示意性示出了根据本公开的实施例的查询日志的方法的流程图;
图5示意性示出了根据本公开的实施例的查询日志的系统的框图;
以及
图6示意性示出了根据本公开实施例的适于实现本公开实施例描述的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种查询日志的方法以及能够应用该方法的查询日志的系统。该方法包括:查数系统服务器接收到来自终端设备针对目标日志的查数请求,其中,查数请求包括查数要求信息和关键字;将查数请求中的查数要求信息和关键字写入消息队列,以使应用服务器通过消息队列获取查数要求信息和关键字,并根据查数要求信息和关键字对目标日志进行查询;查数系统服务器接收来自应用服务器对目标日志的查询结果;以及将查询结果发送至终端设备。
需要说明的是,本公开实施例的查询日志的方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开对查询日志的方法和装置的应用领域不做限定。
图1示意性示出了根据本公开的实施例的分布式系统结构示意图。
如图1所示,示例性地,分布式系统划分为节点1和节点2两个服务节点(也可以称为服务器群组)。节点1包括APPsrv 1、APPsrv 2、……APPsrv N,WEBsrv 1、WEBsrv 2、……WEBsrv N和数据库服务器1,节点2包括APPsrv 21、APPsrv 22、……APPsrv 2N,WEBsrv 21、WEBsrv 22、……WEBsrv 2N和数据库服务器2。每个节点内的APPsrv(应用服务器)和WEBsrv(网络服务器)是一一对应的。一个服务节点内APPsrv和WEBsrv可以横向扩容,但受限于诸如数据库服务器的性能、授权等级等因素导致数据库链接的上限是恒定的,因此一个服务节点内服务器横向扩容理论上有上限值。当一个节点内服务器扩容到了上限值后,就需要对服务节点做横向扩容,理论上服务节点可以扩容为n个(n为正整数),一般来说,当n达到20左右,整个系统的服务器数量可能会达到上千台。
要在数百台甚至上千台服务器中定位出问题的交易,需要先根据用户id和大致的交易时间(例如日期、小时),定位到客户交易发生在哪一台服务器中,再根据服务器ip去找对应的log(日志)文件,进一步分析和定位问题。
相关技术所采用的日志获取方式分为以下两步:
在第一步,根据客户id和交易日期时间,在数据库中检索数据库日志,根据数据库日志记录情况对比问题反馈描述,定位到具体交易,进而找到交易发生的服务器。
在第二步,根据定位到的服务器,去获取对应日期时间的相关log文件,再在这些log文件中找到用户日志,还原用户操作步骤和场景,以分析定位和解决问题。
图2示意性示出了相关技术获取日志的方法示意图。
如图2所示,开发人员(或称问题分析人员)通过查数终端设备发起针对交易记录的查数请求,第一步先通过查数系统服务器直连遍历各节点数据库(例如通过jdbc链接直接查询),获取所有节点数据库中符合条件的记录。第二步在这些记录中找到涉及交易记录的目标服务器的ip,再根据ip经查数系统通过链路,直接以类ftp的形式到目标服务器获取相关log日志文件。
上述方案的核心在于如何准确找到涉事服务器,而找到涉事服务器过程至少受以下因素制约。
首先,基于生产数据和开发人员隔离的原则,开发人员分析问题的过程,需要通过系统经过多步审批,才能执行数据库的查询操作,以获取可用的结果。这个审批过程受制于审批人的工作安排,可能是数分钟到数小时不等,影响问题分析效率。
其次,数据库日志的记录过程中涉及调用公共构件,在调用公共构件的过程中可能由于字段超长或各种异常导致记录失败,这时候想要通过数据库日志定位服务器几乎是一件不可能的事情。
图3示意性示出了根据本公开的实施例的查询日志的方法和查询日志的系统的应用场景。需要注意的是,图3所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图3所示,根据该实施例的应用场景300可以包括用户终端设备301、网络302、网络设备303、网络服务器304、应用服务器305、数据库服务器306、查数终端设备307、查数系统服务器308和消息队列服务器309。
网络302用以在用户终端设备301和应用服务器305之间提供通信链路的介质。网络302可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用用户终端设备301通过网络302与应用服务器305交互,以接收或发送消息等。用户终端设备301上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
用户终端设备301可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
应用服务器305可以对接收到的用户请求(例如交易请求)等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
网络设备303和网络服务器304用于在用户终端设备301与应用服务器305之间提供数据中转等服务。数据库服务器306用于存储应用服务器305接收或生成的数据。
数据库服务器306例如图3中的数据库服务器1和数据库服务器2。应用服务器305例如图3中的APPsrv 1、APPsrv 2、……APPsrv N,WEBsrv 1、WEBsrv 2、APPsrv 21、APPsrv22、……APPsrv 2N。网络服务器304例如图3中的WEBsrv 1、WEBsrv 2、……WEBsrv N、WEBsrv 21、WEBsrv 22、……WEBsrv 2N。应用服务器305和网络服务器304可设置于PAAS(平台即服务)云,也可以仅设置于IAAS(基础设施即服务)云。其中,APPsrv 1、APPsrv 2、……APPsrv N,WEBsrv 1、WEBsrv 2、……WEBsrv N和数据库服务器1属于节点1。APPsrv 21、APPsrv 22、……APPsrv 2N,WEBsrv 21、WEBsrv 22、……WEBsrv 2N和数据库服务器2属于节点2。开发人员可以通过查数终端设备307向查数系统服务器308发送查数请求,以请求查数系统服务器308进行日志查询。查数系统服务器308根据查数请求,生成查数请求消息,发送至消息队列服务器309。消息队列服务器309将查数请求消息传入消息队列。各个应用服务器305分别从消息队列获取查数请求消息,根据查数请求消息,进行日志查询,以确定自身是否存在查数请求所对应的目标日志。在应用服务器305中存储有目标日志的情况下,根据目标日志的信息,生成查询结果,并将查询结果发送至查数系统服务器308。查数系统服务器308将查询结果反馈给查数终端设备307。查数终端设备307可以对查询结果进行前端展示,以供开发人员参考。
应该理解,图3中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图4示意性示出了根据本公开的实施例的查询日志的方法的流程图。
如图4所示,该方法包括操作S410~S480。该方法可以应用于分布式系统。
在操作S410,通过查数系统服务器接收到来自终端设备针对目标日志的查数请求。
根据本公开的实施例,用户可以通过终端设备向查数系统服务器发送查数请求,以请求查找目标日志。其中,查数请求包括查数要求信息和关键字。查数要求信息例如可以包括生成日期要求、日志类型要求、查询位置要求、查询路径要求等。关键字例如可以包括用户id、或者交易代码等。
根据本公开的实施例,目标日志例如可以为应用系统的日志,例如包括文件型的日志和记录在数据库中的结构化日志。示例性地,文件型的日志例如可以包括log4j记录的systemout.log、systemerr.log等.log文件。结构化日志例如可以包括服务器ip、容器id、交易代码、用户标识(例如用户id,如用户名、手机号等)、交易日期时间(例如YYYYMMDDHHMMSS,其中,YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分钟,SS表示秒)、操作步骤名称、操作步骤结果(例如成功、失败、报错代码等)等核心字段。
在操作S420,通过查数系统服务器将查数请求中的查数要求信息和关键字写入消息队列。
根据本公开的实施例,查数系统服务器可以作为消息生产者,应用服务器可以作为消息消费者。由查数系统服务器生成消息并传入消息队列,然后由应用服务器从消息队列中获取消息,即进行消息消费。基于此,操作S420例如可以包括根据查数要求信息和关键字,生成查数请求消息,然后将查数请求消息写入消息队列。
根据本公开的实施例,消息队列可以设置于查数系统服务器中。根据本公开另一些实施例,也可以设置独立于查数系统服务器的消息队列服务器,可以将消息队列设置于该消息队列服务器中。
根据本公开另一些实施例,消息队列还可以设置于分布式缓存中,或者FTP共享文件夹中。
在操作S430,应用服务器从消息队列中获取查数要求信息和关键字。
根据公开的实施例,消息队列中可以包括一个或多个查数请求消息。当消息队列中存在多个查数请求消息时,会对这些查数请求消息按照预设顺序进行排序,依次分发给各应用服务器。其中,预设顺序例如可以为写入消息队列的时间顺序,先写入的消息排在前面,后写入的消息排在后面。基于此,操作S430例如可以包括按照预设顺序从消息队列中获取至少一个查数请求消息,然后解析获取的查数请求消息,以得到查数要求信息和关键字。
根据本公开的实施例,应用服务器可以订阅消息队列中的消息,接收消息队列的推送以获取查数请求消息。或者,应用服务器也可以主动获取消息队列中的查数请求消息。例如,应用服务器可以定期查询消息队列,获取自上次查询操作之后消息队列中新增的查数请求消息。
在操作S440,根据获取到的查数要求信息和关键字,确定应用服务器中是否存储有与查数要求信息和关键字匹配的目标日志。
根据本公开的实施例,基于此,操作S440例如可以包括:根据查数要求信息,在应用服务器中查询包含关键字的目标日志。
在操作S450,在应用服务器中存储有目标日志的情况下,根据目标日志的信息,生成查询结果。
根据本公开的实施例,查询结果例如可以包括与目标日志相关的信息,例如与目标日志对应的容器id、用户id、交易代码、日期时间戳等。除此之外,查询结果还可以包括应用服务器的ip地址。
在操作S460,通过应用服务器将查询结果发送至查数系统服务器。
根据本公开的实施例,应用服务器中部署有驻留程序,该驻留程序具有对应日志路径的读权限。可以通过驻留程序执行操作S430~S460。根据本公开的实施例,也可以由应用程序的某一个线程来执行操作S430~S460,该线程具有对应日志路径的读权限。
根据本公开的实施例,在将查询结果发送至查数系统服务器之前,可以通过应用服务器将查询结果进行类结构化,再将类结构化后的查询结果发生至查数系统服务器。
根据公开的实施例,应用服务器可以有一个或多个。在有多个应用服务器的情况下,该多个应用服务器可以同属一个服务器节点(或服务器群组),也可以分属不同服务器节点(或服务器群组),每个应用服务器分别执行操作S430~S460。
在操作S470,查数系统服务器接收来自应用服务器对目标日志的查询结果。
在操作S480,将查询结果发送至终端设备。
根据本公开的实施例,将查询结果发送至终端设备后,可以指示终端设备在前端向用户展示查询结果。例如,查数系统服务器可以通过append方法将查询结果添加到终端设备所展示的查数结果界面中。
根据本公开的实施例,用户可以根据查询结果,定位到具有目标日志的应用服务器,从这些应用服务器中获取目标日志,然后根据目标日志进行问题诊断等后续流程。
根据本公开的实施例的查询日志的方法,可以直接在各个应用服务器中查找日志,不需要查询数据库,步骤简便,解决了在数量众多的服务器中查询日志较为困难的问题。另外,由于不需要查询数据库,因此可以节省因查询权限多层审批带来的分析效率降低的问题。并且,也解决了数据库日志记录失败导致无法查询日志的问题。
根据本公开的实施例,查数系统服务器接收来自应用服务器对目标日志的查询结果之后,还可以将查询结果存储在查数系统服务器中,例如可以将查询结果存储在查数系统服务器的本地数据库中。当查数系统服务器再次接受到针对目标日志的查数请求,可以从查数系统服务器中获取与目标日志对应的查询结果,不需要在发布查数请求消息给各应用服务器。通过持久化存储该查数结果,可以重复利用该查数结果,降低查数系统整体的交易请求,节约系统资源。
另外,还可以获取查数系统服务器中每个查询结果的在查数系统服务器中的存储时长,删除存储时长超过预设时长的查询结果。从而减少对存储空间的占用。预设时长可以根据实际需要进行确定,示例性地,本实施例中,预设时长例如可以为一周。
图5示意性示出了根据本公开的实施例的查询日志的系统的框图。
如图5所示,查询日志的系统500包括查数系统服务器510和应用服务器520。该查询日志的系统500可以执行上面参考图4描述的方法。
具体地,查数系统服务器510可以包括:
第一接收模块511,可以用于接收到来自终端设备针对目标日志的查数请求,其中,查数请求包括查数要求信息和关键字。
写入模块512,可以用于将查数请求中的查数要求信息和关键字写入消息队列。
第二接收模块513,可以用于接收来自应用服务器对目标日志的查询结果。
第一发送模块514,可以用于将查询结果发送至终端设备。
应用服务器520可以包括:
获取模块521,可以用于从消息队列中获取查数要求信息和关键字。
检索模块522,可以用于根据获取到的查数要求信息和关键字,确定应用服务器中是否存储有与查数要求信息和关键字匹配的目标日志。
生成模块523,可以用于在应用服务器中存储有目标日志的情况下,根据目标日志的信息,生成查询结果。
第二发送模块524,可以用于将查询结果发送至查数系统服务器。
根据本公开的实施例的查询日志的系统,可以直接在各个应用服务器中查找日志,不需要查询数据库,步骤简便,解决了在数量众多的服务器中查询日志较为困难的问题。另外,由于不需要查询数据库,因此可以节省因查询权限多层审批带来的分析效率降低的问题。并且,也解决了数据库日志记录失败导致无法查询日志的问题。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块511、写入模块512、第二接收模块513以及第一发送模块514中的任意多个,或者获取模块521、检索模块522、生成模块523以及第二发送模块524中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一接收模块511、写入模块512、第二接收模块513以及第一发送模块514中的至少一个,或者获取模块521、检索模块522、生成模块523以及第二发送模块524中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块511、写入模块512、第二接收模块513以及第一发送模块514中的至少一个,或者获取模块521、检索模块522、生成模块523以及第二发送模块524中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括处理器610以及计算机可读存储介质620。该计算机系统600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,第一接收模块511、写入模块512、第二接收模块513以及第一发送模块514中的至少一个,或者获取模块521、检索模块522、生成模块523以及第二发送模块524中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (11)

1.一种由查数系统服务器执行的查询日志的方法,包括:
接收到来自终端设备针对目标日志的查数请求,其中,所述查数请求包括查数要求信息和关键字;
将所述查数请求中的查数要求信息和关键字写入消息队列,以使应用服务器通过所述消息队列获取所述查数要求信息和所述关键字,并根据所述查数要求信息和所述关键字对所述目标日志进行查询;
接收来自所述应用服务器对所述目标日志的查询结果;以及
将所述查询结果发送至所述终端设备。
2.根据权利要求1所述的方法,其中,所述将所述查数请求中的查数要求信息和关键字写入消息队列包括:
根据所述查数要求信息和关键字,生成查数请求消息;以及
将所述查数请求消息写入所述消息队列。
3.根据权利要求1所述的方法,还包括:
将所述查询结果存储在所述查数系统服务器中;以及
响应于再次接受到针对所述目标日志的查数请求,从所述查数系统服务器中获取与所述目标日志对应的查询结果。
4.根据权利要求3所述的方法,还包括:
获取所述查数系统服务器中每个查询结果的在所述查数系统服务器中的存储时长;以及
删除所述存储时长超过预设时长的查询结果。
5.一种由应用服务器执行的查询日志的方法,包括:
从消息队列中获取查数要求信息和关键字;
根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志;
在所述应用服务器中存储有所述目标日志的情况下,根据所述目标日志的信息,生成查询结果;以及
将所述查询结果发送至查数系统服务器。
6.根据权利要求5所述的方法,其中,所述从消息队列包括至少一个查数请求消息;所述从消息队列中获取查数要求信息和关键字包括:
按照预设顺序从所述消息队列中获取所述至少一个查数请求消息;以及
解析获取的查数请求消息,以得到所述查数要求信息和所述关键字。
7.根据权利要求5所述的方法,其中,所述查数要求信息包括生成日期要求、日志类型要求、查询位置要求、查询路径要求中的一种或多种;
所述根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志,包括:
根据所述查数要求信息,在所述应用服务器中查询包含所述关键字的目标日志。
8.根据权利要求5所述的方法,其中,所述应用服务器中部署有驻留程序,所述查询日志的方法通过所述驻留程序执行。
9.一种查询日志的系统,包括:查数系统服务器和应用服务器;
其中,所述查数系统服务器包括:
第一接收模块,用于接收到来自终端设备针对目标日志的查数请求,其中,所述查数请求包括查数要求信息和关键字;
写入模块,用于将所述查数请求中的查数要求信息和关键字写入消息队列;
第二接收模块,用于接收来自所述应用服务器对所述目标日志的查询结果;以及
第一发送模块,用于将所述查询结果发送至所述终端设备;
所述应用服务器包括:
获取模块,用于从消息队列中获取查数要求信息和关键字;
检索模块,用于根据获取到的查数要求信息和关键字,确定所述应用服务器中是否存储有与所述查数要求信息和关键字匹配的目标日志;
生成模块,用于在所述应用服务器中存储有所述目标日志的情况下,根据所述目标日志的信息,生成查询结果;以及
第二发送模块,用于将所述查询结果发送至查数系统服务器。
10.一种计算设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,
其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现权利要求1至8中任一项的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至8中任一项的方法。
CN202110028023.3A 2021-01-08 2021-01-08 查询日志的方法、系统、计算设备和介质 Pending CN112765100A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110028023.3A CN112765100A (zh) 2021-01-08 2021-01-08 查询日志的方法、系统、计算设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110028023.3A CN112765100A (zh) 2021-01-08 2021-01-08 查询日志的方法、系统、计算设备和介质

Publications (1)

Publication Number Publication Date
CN112765100A true CN112765100A (zh) 2021-05-07

Family

ID=75701205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110028023.3A Pending CN112765100A (zh) 2021-01-08 2021-01-08 查询日志的方法、系统、计算设备和介质

Country Status (1)

Country Link
CN (1) CN112765100A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253925A (zh) * 2021-12-01 2022-03-29 北京人大金仓信息技术股份有限公司 一种访问数据库日志的方法、服务器、终端以及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990362A (zh) * 2019-11-15 2020-04-10 浙江大搜车软件技术有限公司 日志查询处理方法、装置、计算机设备和存储介质
CN111352902A (zh) * 2020-02-28 2020-06-30 中国平安人寿保险股份有限公司 日志处理方法、装置、终端设备及存储介质
CN111522922A (zh) * 2020-03-26 2020-08-11 浙江口碑网络技术有限公司 日志信息查询方法、装置、存储介质及计算机设备
CN112182043A (zh) * 2020-10-27 2021-01-05 网易(杭州)网络有限公司 日志数据查询方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990362A (zh) * 2019-11-15 2020-04-10 浙江大搜车软件技术有限公司 日志查询处理方法、装置、计算机设备和存储介质
CN111352902A (zh) * 2020-02-28 2020-06-30 中国平安人寿保险股份有限公司 日志处理方法、装置、终端设备及存储介质
CN111522922A (zh) * 2020-03-26 2020-08-11 浙江口碑网络技术有限公司 日志信息查询方法、装置、存储介质及计算机设备
CN112182043A (zh) * 2020-10-27 2021-01-05 网易(杭州)网络有限公司 日志数据查询方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253925A (zh) * 2021-12-01 2022-03-29 北京人大金仓信息技术股份有限公司 一种访问数据库日志的方法、服务器、终端以及电子设备

Similar Documents

Publication Publication Date Title
CN111522922B (zh) 日志信息查询方法、装置、存储介质及计算机设备
CN107483221B (zh) 一种跨应用问题排查方法、装置及系统
CN110162512B (zh) 一种日志检索方法、装置及存储介质
US20120072449A1 (en) Object instance versioning
US20100017427A1 (en) Multilevel Hierarchical Associations Between Entities in a Knowledge System
KR20200003164A (ko) 데이터베이스 동기화
US11544229B1 (en) Enhanced tracking of data flows
CN111913738A (zh) 访问请求的处理方法、装置、计算设备和介质
US10891026B2 (en) Disk utilization analysis
CN106547646B (zh) 一种数据备份及恢复方法、数据备份及恢复装置
US11269997B2 (en) Automated dynamic security testing
CN109992469B (zh) 一种合并日志的方法及装置
CN110866031B (zh) 数据库访问路径的优化方法、装置、计算设备以及介质
CN110515803B (zh) 针对日志消息的处理方法、装置以及电子设备
CN112765100A (zh) 查询日志的方法、系统、计算设备和介质
US12038979B2 (en) Metadata indexing for information management using both data records and associated metadata records
CN113778777A (zh) 一种日志回放方法和装置
US9230011B1 (en) Index-based querying of archived data sets
CN113220237B (zh) 一种分布式存储方法、装置、设备及存储介质
EP2819028A2 (en) Content management system
CN111786828B (zh) 在网络设备中执行的日志处理方法和网络设备
CN113992664B (zh) 一种集群通信的方法、相关装置及存储介质
CN114168607A (zh) 全局序列号生成方法、装置、设备、介质和产品
CN110753136B (zh) 域名解析方法、装置、设备及存储介质
CN113760639A (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