一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种访问数据库日志的方法、服务器、终端以及电子设备与流程

2022-03-31 10:36:14 来源:中国专利 TAG:
1.本公开涉及数据存储
技术领域
:,尤其涉及一种访问数据库日志的方法、服务器、终端以及电子设备。
背景技术
::2.日志作为数据库的重要组成部分,是一种半结构化的文本信息,记录着数据库管理系统的状态及运行时的各种事件。在异常退出的情况下,开发人需要访问异常退出对应的日志数据,从而根据日志数据的记录恢复数据使得系统正常运行。现有技术基于时间序列在数据库中查询用户所需要的日志,返回给用户某一时间范围内的日志,但需要用户从返回的某一时间范围内的日志中进行人工筛选,获得用户真正需要的日志数据。这种方法由于返回的某一时间范围内的日志数量大,且需要进行人工筛选,使得访问日志数据花费的时间较长,给用户的访问以及数据的恢复带来不便。技术实现要素:3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种访问数据库日志的方法、服务器、终端以及电子设备,为用户访问数据库日志提供了便利。4.为了实现上述目的,本公开实施例提供的技术方案如下:5.第一方面,提供一种访问数据库日志的方法,该方法包括:6.获取结构化查询语言sql查询语句;7.根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息,sql查询语句中包括目标日志名;8.根据数据库的数据字典转译索引信息,得到目标日志的数据信息;9.将目标日志的数据信息发送至终端。10.作为本公开实施例一种可选的实施方式,索引信息包括下述至少一项:表单标识、时间戳、段地址、根节点索引名以及叶节点索引名。11.作为本公开实施例一种可选的实施方式,根据数据库的数据字典转译索引信息,得到目标日志的数据信息之后,方法还包括:12.将数据信息与目标日志名对应存储。13.作为本公开实施例一种可选的实施方式,将数据信息与目标日志名对应存储之后,方法还包括:14.若再次获取sql查询语句,则确定与目标日志名对应存储的数据信息;15.将数据信息发送至终端。16.作为本公开实施例一种可选的实施方式,获取结构化查询语言sql查询语句,包括:17.接收终端发送的日志访问请求,日志访问请求中包括sql查询语句;18.从日志访问请求中获取sql查询语句。19.第二方面,提供另一种访问数据库日志的方法,该方法包括:20.接收用户访问目标日志的输入;21.根据输入生成sql查询语句,sql查询语句中包括目标日志的目标日志名;22.向服务器发送日志访问请求,日志访问请求中包括sql查询语句,以使得服务器根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息;23.在向服务器发送日志访问请求之后,接收服务器发送的目标日志的数据信息,并显示数据信息。24.第三方面,提供一种服务器,包括:25.第一接收模块,用于获取结构化查询语言sql查询语句;26.查询模块,用于根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息,sql查询语句中包括目标日志名;27.转译模块,用于根据数据库的数据字典转译索引信息,得到目标日志的数据信息;28.第一发送模块,用于将目标日志的数据信息发送至终端。29.作为本公开实施例一种可选的实施方式,索引信息包括下述至少一项:表单标识、时间戳、段地址、根节点索引名以及叶节点索引名。30.作为本公开实施例一种可选的实施方式,转译模块,还用于将数据信息与目标日志名对应存储。31.作为本公开实施例一种可选的实施方式,将数据信息与目标日志名对应存储之后,转译模块,还用于若再次获取sql查询语句,则确定与目标日志名对应存储的数据信息;32.将数据信息发送至终端。33.作为本公开实施例一种可选的实施方式,第一接收模块,具体用于接收终端发送的日志访问请求,日志访问请求中包括sql查询语句;34.从日志访问请求中获取sql查询语句。35.第四方面,提供一种终端,包括:36.第二接收模块,用于接收用户访问目标日志的输入;37.处理模块,用于根据输入生成sql查询语句,sql查询语句中包括目标日志的目标日志名;38.第二发送模块,用于向服务器发送日志访问请求,日志访问请求中包括sql查询语句,以使得服务器根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息;39.第二接收模块,还用于在向服务器发送日志访问请求之后,接收服务器发送的目标日志的数据信息,并显示数据信息。40.第五方面,提供一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的访问数据库日志的方法。41.第六方面,提供一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的访问数据库日志的方法。42.本公开实施例提供的技术方案与现有技术相比具有如下优点:43.本公开通过接收终端发送的日志访问请求,根据该日志访问请求中包含的sql查询语句,从数据库中确定所需要的目标日志,其中sql查询语句中包括目标日志名,该目标日志名与数据库中的目标日志标识对应;从目标日志中提取用户所需要的索引信息,由于日志包含的索引信息是经过编码的信息,需要根据数据库字典进行转译,以得到用户可以直接阅读的数据信息,将目标日志的索引信息进行转译得到该目标日志的数据信息,以满足用户访问日志数据的需求,且数据的处理对用户是无感的,无需用户介入进行人工筛选,提升了用户访问日志数据的效率,从而提升了用户访问日志数据的体验感。附图说明44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。45.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。46.图1为本公开实施例所述访问数据库日志的方法的场景示意图;47.图2为本公开实施例所述访问数据库日志的方法的示意图;48.图3为本公开实施例所述访问数据库日志的方法的框架图一;49.图4为本公开实施例所述访问数据库日志的方法的框架图二;50.图5为本公开实施例所述服务器的结构图;51.图6为本公开实施例所述终端的结构图;52.图7为本公开实施例所述电子设备的结构图。具体实施方式53.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。54.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。55.目前,访问日志数据主要使用访问工具,在系统异常退出的情况下,用户确定系统异常退出时刻,然后通过访问工具查询系统异常退出时刻的日志,工具返回这一时刻的日志,但由于日志包含的信息量较大,用户需要对这一时刻的日志数据进行筛选从中确定出真正需要的日志数据,访问数据库日志花费的时间长且不便利。56.为了解决上述问题,本公开实施例提供了一种访问数据库日志的方法、服务器、终端以及电子设备,首先终端可以根据用户的输入配置相应的sql查询语句,并生成日志访问请求向服务器发送,在服务器接收到该日志访问请求后,根据其中包括的sql查询语句从数据库中确定目标日志。其中,sql查询语句中包括目标日志名,数据库中目标日志与目标日志标识对应存储,而目标日志名与目标日志标识存在对应关系,所以可以根据该sql查询语句中的目标日志名从数据库中确定目标日志标识对应的目标日志;然后从该目标日志中提取sql查询语句所指示的索引信息;由于索引信息是经过编码的信息,所以需要根据数据库字典转译该目标日志的索引信息,以得到解码后的用户可以直接阅读的数据信息,将数据信息发送至终端,从而满足用户访问日志数据的需求,无需用户人工介入数据处理,减少了用户访问日志数据所花费的时间,以方面用户访问日志数据,进一步便于系统数据的恢复。57.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的技术术语进行简单介绍。58.结构化查询语言:(structuredquerylanguage,sql),用于存取数据以及查询、更新和管理关系数据库系统,sql语句的功能是集成单一、高度非过程化以及简单高效,通过标准的sql语言即可实现对数据库内日志信息的查询。59.日志,在数据库中日志以非关系型的方式进行存储,每一条日志之间没有关联关系,数据库根据用户的操作生成日志,其中,用户的一次操作对应数据库中的一条或多条日志,且每条日志中包含多个操作信息和基础信息,例如用户名、时间戳等。60.如图1所示,为本公开实施例提供的访问数据库日志的方法的一种实现场景示意图。图中的设备包括:终端110、服务器120。终端110异常退出后,用户需要查看异常退出的日志,需要了解该日志的表单标识、时间戳、段地址、根节点索引名以及叶节点索引名等数据信息,所以终端110根据用户的输入生成sql查询语句,并向服务器120发送包含该sql查询语句的日志访问请求。61.在服务器120接收到该日志访问请求后,服务器120根据其中包含的sql查询语句确定目标日志名,从而根据该目标日志名从数据库中确定对应的目标日志,然后从该目标日志中提取用户所需要的索引信息,但索引信息是经过编码处理的,为方便用户直接阅读,需要根据数据库字典对该索引信息进行转译解码,得到对应的数据信息,确定为用户所需要的目标日志的数据信息,并向终端110发送,以满足用户访问日志数据的需求,进一步便于用户根据目标日志的数据信息处理终端的异常退出事件。62.本公开实施例所描述的访问数据库日志的方法可应用于访问数据库日志的服务器、终端或者电子设备,其中,该报文处理装置可以为电子设备中可实现访问数据库日志的方法的功能模块和/或功能实体。63.在一些实施例中,服务器可以是云主机(即虚拟机或虚拟服务器),也可以是物理服务器。终端可以是个人计算机(personalcomputer,pc)、便携计算机、移动终端等具有显示和处理功能的设备,本公开对此不做赘述。64.如图2所示,为一种访问数据库日志的方法的流程示意图,该方法包括:65.s202、终端接收用户访问目标日志的输入。66.在一些实施例中,终端接收用户访问目标日志的输入,该输入是基于用户需求的输入信息,输入信息包括但不限于用户名、用户ip、主机ip以及网页地址(uniformresourcelocator,url)。67.s204、终端根据输入生成结构化查询语言sql查询语句。68.其中,sql查询语句是根据用户访问目标日志的输入按照特定的转换公式或者随机算法所生成的计算机可识别的语言。对于sql查询语句的生成方式,本公开对此不做赘述。69.在一些实施例中,sql查询语句用于指示查询目标日志的索引信息,目标日志的索引信息包括下述至少一项:表单标识、时间戳、段地址、根节点索引名以及叶节点索引名,其中表单标识为表单身份标识号(identitydocument,id)。70.在一些实施例中,根据用户访问目标日志的输入,sql查询语句可用于查询目标日志的相关预设范围内的至少一个日志的索引信息。在数据库中以目标日志这一行为起始行,确定该起始行前m行的日志以及后n行的日志,其中m、n为正整数。71.在一些实施例中,在终端接收用户访问目标日志的输入之后,基于特定的转换公式或随机算法将用户的输入转换为计算机编程语言,本公开实施例中提供一种实施方式,将用户访问目标日志的输入根据特定的转换公式或随机算法转换为sql查询语句,其中包括根据用户访问目标日志的输入所确定的用户需要访问的目标日志的目标日志名。72.示例性的,sql查询语句中包括目标日志名table_1,sql查询语句指示查询目标日志table_1的表单标识、时间戳、段地址。再示例性的,sql查询语句中包括目标日志名recovery_1,sql查询语句指示查询目标日志recovery_1的表单标识、根节点索引名以及叶节点索引名。73.上述实施例,通过将用户访问目标日志的输入转换为sql查询语句,以使得服务器能够识别用户访问目标日志的需求,提升用户访问日志数据的体验感。74.s206、终端向服务器发送日志访问请求。75.在一些实施例中,该日志访问请求在终端生成sql查询语句后生成,终端调用数据接口或者通过通信连接向服务器发送日志访问请求,本公开对此不做限定。76.s208、服务器获取sql查询语句。77.s210、服务器根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息。78.其中,目标日志的索引信息是目标日志在数据库中将数据信息进行编码后存储在数据库中的信息。79.在一些实施例中,由于数据库中将目标日志与目标日志标识进行对应存储,服务器根据接收到的sql查询语句中包括的目标日志名先在数据库中确定目标日志名对应的目标日志标识,进一步确定该目标日志标识对应的目标日志,以使得根据目标日志名在数据库中确定目标日志。80.在一些实施例中,若sql查询语句可用于指示查询目标日志的相关预设范围内的至少一个日志的索引信息,则在数据库中查询得到第一目标日志之后,确定该目标日志的行号,以该行为起始行,根据预设范围确定该行前m行的日志以及该行后n行的数据。81.示例性的,在数据库中查询得到第一目标日志之后,确定该第一目标日志的行号为502,且预设范围为目标日志所在行的前10行和后10行,则将行号为492至512的所有日志确定为目标日志,从该目标日志中确定对应的目标日志索引信息。82.在一些实施例中,服务器接收到终端发送的日志访问请求之后,获取日志访问请求中包含的sql查询语句,根据sql查询语句确定用户所需要查询的索引信息为表单标识、时间戳、段地址、根节点索引名以及叶节点索引名中的至少一项,然后创建虚拟表,该虚拟表用于存储用户所需要查询到数据信息,在服务器从数据库中确定与目标日志的数据信息之前该虚拟表为空表。83.示例性的,虚拟表如表1所示。需要说明的是虚拟表的列数或行数根据sql查询语句指示的用户所需要的索引信息个数进行设置,虚拟表可以是列数为4的表,该表的列的类型为目标日志名,表单标识、时间戳、段地址,或者虚拟表是6列的表,如表1所示,表1所示的虚拟表仅为示例性示出,本公开对虚拟表的列数,每列的类型以及排序不做限定。[0084][0085]表1[0086]s212、服务器根据数据库的数据字典转译索引信息,得到目标日志的数据信息。[0087]其中,数据库字典(datadictionary)是一种用户可以访问的记录数据库元数据的目录。[0088]在一些实施例中,由于目标日志的索引信息是用户不能理解的数据格式,所以需要根据数据库字典以及目标日志的索引信息在数据库中找到对应的数据信息。[0089]示例性的,提取到目标日志的索引信息中包括段地址(5,8),在数据库字典中确定该段地址(5,8)表示段地址的数据信息在数据库物理页的第5页第8行,根据该字典数据从数据中查询第5页第8行对应的数据信息:00000001。[0090]在一些实施例中,根据数据库字典快照在数据库中查询目标日志的索引信息所对应的数据信息。数据库字典快照的作用是为数据库提供了另外的数据访问通道,一方面可以快速访问字典,另一方面不会影响数据库在线处理数据,从而在访问字典的基础上不影响数据库的数据处理。[0091]在一些实施例中,在根据数据库字典转译目标日志的索引信息,确定转译后的目标日志的索引信息对应的目标日志的数据信息之后,创建关系视图,该关系视图是按照操作类型划分包含多列信息的视图格式的数据。[0092]示例性的,用户需要访问目标日志table_1的表单标识、时间戳、段地址,在将上述索引信息进行转译之后得到的数据存储于创建的第一关系视图中,如表2所示。[0093]目标日志名表单标识(id)时间戳段地址table_1502x年x月x日00000001[0094]表2[0095]在一些实施例中,在用户访问目标日志时,将关系视图缓存于虚拟表中,如表3所示。[0096][0097]表3[0098]需要说明的是,表3中“根节点索引名”和“叶节点索引名”对应数据信息为空,由于服务器根据sql查询语句确定用户不需要访问目标日志table_1的“根节点索引名”和“叶节点索引名”信息,所以并未在数据库中进行查询和转译,减少不必要信息的查询和转译,提升了用户访问日志数据的效率,也为满足用户的需求,为用户提供便利。[0099]上述实施例,如图3所示,在接收到sql查询语句的情况下从数据库中确定目标日志的索引信息,然后根据数据库字典经该索引信息转译为目标日志的数据信息,并结合目标日志名对应存储为关系视图,以将目标日志数据信息进行关系存储,便于用户根据关系视图进行查询,相应的,在接收到sql查询语句时创建的虚拟表缓存该关系视图,以对该虚拟表进行行检索或列检索,向终端逐条返回用户所需要的目标日志的数据信息。[0100]在一些实施例中,若再次接收到访问目标日志的sql查询语句,从磁盘中加载出目标日志对应的关系视图,并将该关系视图缓存至虚拟表中,以使服务器对该虚拟表进行检索,将检索得到的该目标日志对应的数据信息,并逐条返回至终端,其中检索方式包括行检索或列检索,本公开对此不做限定。[0101]示例性的,如图4所示,由于在第一次接收到该sql查询语句的情况下已经生成对应的关系视图,所以再次接收到指示访问目标日志名为table_1的目标日志的sql查询语句,则直接磁盘中加载如表3所示的关系视图,将该关系视图缓存至虚拟表中,以使服务器根据行检索的方式将虚拟表中每列的数据信息返回至终端。[0102]在一些实施例中,在预设时间范围内,若未接收到访问目标日志的sql查询语句,则删除该目标日志名对应的关系视图,以释放关系视图占用的磁盘空间。[0103]s214、服务器将目标日志的数据信息发送至终端。[0104]综上所述,本公开通过接收终端发送的日志访问请求,根据该日志访问请求中包含的sql查询语句,从数据库中确定所需要的目标日志,其中sql查询语句中包括目标日志名,该目标日志名与数据库中的目标日志标识对应;从目标日志中提取用户所需要的索引信息,由于日志包含的索引信息是经过编码的信息,需要根据数据库字典进行转译,以得到用户可以直接阅读的数据信息,将目标日志的索引信息进行转译得到该目标日志的数据信息,以满足用户访问日志数据的需求,且数据的处理对用户是无感的,无需用户介入进行人工筛选,提升了用户访问日志数据的效率,从而提升了用户访问日志数据的体验感。[0105]如图5所示,本公开实施例提供一种服务器,该服务器包括:[0106]第一接收模块510,用于获取结构化查询语言sql查询语句;[0107]查询模块520,用于根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息,sql查询语句中包括目标日志名;[0108]转译模块530,用于根据数据库的数据字典转译索引信息,得到目标日志的数据信息;[0109]第一发送模块540,用于将目标日志的数据信息发送至终端。[0110]在一些实施例中,索引信息包括下述至少一项:表单标识、时间戳、段地址、根节点索引名以及叶节点索引名。[0111]在一些实施例中,转译模块530,还用于将数据信息与目标日志名对应存储。[0112]在一些实施例中,转译模块530,还用于若再次获取sql查询语句,则确定与目标日志名对应存储的数据信息;[0113]将数据信息发送至终端。[0114]在一些实施例中,第一接收模块510,具体用于接收终端发送的日志访问请求,日志访问请求中包括sql查询语句;[0115]从日志访问请求中获取sql查询语句。[0116]如图6所示,本公开实施例提供一种终端,该终端包括:[0117]第二接收模块610,用于接收用户访问目标日志的输入;[0118]处理模块620,用于根据输入生成sql查询语句,sql查询语句中包括目标日志的目标日志名;[0119]第二发送模块630,用于向服务器发送日志访问请求,日志访问请求中包括sql查询语句,以使得服务器根据sql查询语句,在数据库中确定与目标日志名对应的目标日志的索引信息;[0120]第二接收模块610,还用于在向服务器发送日志访问请求之后,接收服务器发送的目标日志的数据信息,并显示数据信息。[0121]综上所述,基于本公开提供的一种服务器和终端,首先通过接收终端发送的日志访问请求,根据该日志访问请求中包含的sql查询语句,从数据库中确定所需要的目标日志,其中sql查询语句中包括目标日志名,该目标日志名与数据库中的目标日志标识对应;从目标日志中提取用户所需要的索引信息,由于日志包含的索引信息是经过编码的信息,需要根据数据库字典进行转译,以得到用户可以直接阅读的数据信息,将目标日志的索引信息进行转译得到该目标日志的数据信息,以满足用户访问日志数据的需求,且数据的处理对用户是无感的,无需用户介入进行人工筛选,提升了用户访问日志数据的效率,从而提升了用户访问日志数据的体验感。[0122]如图7所示,本公开实施例提供一种电子设备,该电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法实施例中的访问数据库日志的方法的各个过程。且能达到相同的技术效果,为避免重复,这里不再赘述。[0123]本发明实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述方法实施例中访问数据库日志的方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0124]其中,该计算机可读存储介质可以为只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等。[0125]本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。[0126]本公开中,处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。[0127]本公开中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。[0128]本公开中,计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0129]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。[0130]以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献