一种web终端日志管理方法、装置、介质及电子设备与流程

文档序号:20997762发布日期:2020-06-05 22:21阅读:295来源:国知局
一种web终端日志管理方法、装置、介质及电子设备与流程

本发明涉及互联网技术领域,尤其涉及一种web终端日志管理方法、装置、介质及电子设备。



背景技术:

在互联网+应用的背景下,b/s架构(即浏览器和服务器架构)是当今主流的应用架构。然而,基于浏览器的web页面的应用终端,在日志记录方面对于运维人员并不友好,具体表现为:一方面是运维效率低下,由于应用终端往往会分散在不同的地点,当一个终端出现问题时,若采用浏览器原生的console.log来记录日志,那么运维人员只能跑到终端上查看,这样必然造成运维效率低下;另一方面是无法持久化,由于采用浏览器原生的console.log记录的日志无法保存到本地,当运维人员需要把日志转发开发人员,以进一步排查定位找出问题时,由于本地没有存储日志而完全无法实现。

针对终端运维不方便的情形,目前有两种解决方案:

一是采用自定义的web容器代替浏览器,要解决web日志持久化的问题,可以采用成熟的开源web容器框架,比如基于c#的cef或者基于node的electron,用这些框架开发出一个类浏览器应用,然后重写console.log方法把原有的日志记录为本地文件。然而,这只能解决日志持久化问题,却还不足以解决运维效率低下问题。

二是采用elk日志采集方案,在日志持久化的前提下,搭配elk(elasticsearch/logstach/kibana)方案可以解决运维效率低下问题。但同时会衍生另一个运维问题,就是elk属于相对重量级的日志采集方案,需要在每台终端上安装logstach应用并进行一定量的配置工作才能进行日志采集。

基于上述,现有技术中无法提供轻量级的日志采集采集的问题。

上述缺陷是本领域技术人员期望克服的。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供一种web终端日志管理方法、装置、介质及电子设备,解决现有技术中无法提供轻量级的日志采集采集的问题。

(二)技术方案

为了达到上述目的,本发明采用的主要技术方案包括:

根据本发明实施例的第一方面,提供了本发明提供一种web终端日志管理方法,其包括:

获取用户行为,并通过响应所述用户行为生成程序日志;

对所述程序日志添加相应的时间戳;

将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;

基于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

在本发明的一种示例性实施例中,所述通过响应所述用户行为生成程序日志之后,还包括:

对所述程序日志进行判断,如果所述程序日志可用,则将所述程序日志添加到日志管理端;如果所述程序日志不可用,则将用户行为发生前的原始日志添加到所述日志管理端。

在本发明的一种示例性实施例中,所述对所述程序日志添加相应的时间戳包括:

针对所述用户行为的产生时间生成相应的时间戳;

产生的每一条程序日志对应一个时间戳。

在本发明的一种示例性实施例中,对所述程序日志添加相应的时间戳之后,还包括:

根据所述程序日志产生相应的日志级别;

其中所述日志级别包括:info、debug、warn和error。

在本发明的一种示例性实施例中,当所述终端设备为用户终端时,所述终端设备的唯一标识为终端机器编号。

在本发明的一种示例性实施例中,当所述终端设备为业务服务终端时,所述终端设备的唯一标识为税务人员登录账号。

在本发明的一种示例性实施例中,还包括:

获取查询请求;

根据所述查询请求对所述日志管理端的程序日志进行查询,得到查询结果,其中所述查询请求中包括时间戳、日志等级、标识分类中的一种或多种。

根据本发明实施例的第二方面,提供一种web终端日志管理装置,包括:

日志生成模块,配置为获取用户行为,并通过响应所述用户行为生成程序日志;

时间戳模块,配置为对所述程序日志添加相应的时间戳;

标识模块,配置为将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;

分类模块,配置为基于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

根据本发明实施例的第三方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现以上所述的web终端日志管理方法的步骤。

根据本发明实施例的第四方面,提供一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现以上所述的web终端日志管理方法。

(三)有益效果

本发明的有益效果是:本发明实施例提供的web终端日志管理方法、装置、介质及电子设备,一方面,由于是直接将程序日志集成在终端设备的应用中,可以在终端设备以较少的代码量对日志进行集成,实现轻量级的日志服务方案;另一方面,通过添加时间戳和终端设备的标识分类,便于查询和管理。

附图说明

图1是本发明中提供的一种web终端日志管理方法及装置的系统场景框图;

图2为本发明一实施例提供的一种web终端日志管理方法的流程示意图;

图3为本发明一实施例中用于生成日志服务的架构示意图;

图4为本发明一实施中查询日志的界面示意图;

图5为本发明另一实施例提供的一种基于web终端日志管理装置的示意图;

图6为本发明再一实施例中提供的一种电子设备的计算机系统的结构示意图。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

图1是根据一示例性实施例示出的一种web终端日志管理方法及装置的系统场景框图。

如图1所示,系统架构100可以包括用户终端设备101、102、103,网络104、服务器105和业务服务终端设备106、107、108。网络104用以在终端设备101、102、103、服务器105和终端设备106、107、108之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

其中终端设备中包括用户终端和业务服务终端两类,用户可以利用用户终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。业务服务人员(如办税人员等政府服务人员)也可以利用业务服务终端通过网络104与服务器105交互,以接收或发送消息等。用户终端设备101、102、103和业务服务终端设备106、107、108上可以安装有各种通讯客户端应用,例如办税软件等。

用户终端设备101、102、103和业务服务终端设备106、107、108可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种数据服务的服务器,服务器105上可设置有办税管理平台,可通过用户终端设备101、102、103获取用户行为,并通过响应所述用户行为生成程序日志。服务器105还可以为业务服务终端设备106、107、108所提供的日志信息进行数据储存处理的后台服务器。

服务器105还可以在生成程序日志后,对所述程序日志添加相应的时间戳;将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;基于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105中的一部分可例如作为本公开中的日志管理端,用于存储程序日志构成的日志文件,日志文件中除了包括程序日志,还包括相应的时间戳、终端设备的标识分类。

需要说明的是,本公开实施例所提供的web终端日志管理方法可以由服务器105执行,相应地,web终端日志管理装置可以设置于服务器105中。

下面对本公开的技术方案做具体介绍。

图2为本发明一实施例提供的一种web终端日志管理方法的流程示意图,如图2所示,该方法包括以下步骤:

如图2所示,在步骤s210中,获取用户行为,并通过响应所述用户行为生成程序日志;

如图2所示,在步骤s220中,对所述程序日志添加相应的时间戳;

如图2所示,在步骤s230中,将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;

如图2所示,在步骤s240中,于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

在图2所示实施例所提供的技术方案中,一方面,由于是直接将程序日志集成在终端设备的应用中,可以在终端设备以较少的代码量对日志进行集成,实现轻量级的日志服务方案;另一方面,通过添加时间戳和终端设备的标识分类,便于查询和管理。

以下以对办税系统的web终端日志进行管理为例,对图2所示实施例的各个步骤的具体实现进行详细阐述:

在步骤s210中,获取用户行为,并通过响应所述用户行为生成程序日志。

在本发明的一种示例性实施例中,该步骤中通过对终端设备的用户行为进行监听,获取到用户行为,进而根据用户行为产生相应的程序日志。例如,可以基于终端设备跟后端服务器建立websocket长连接,后端通过celery异步执行while循环不断的读取日志文件,然后发送到websocket的channel里,实现日志的的实时生成与显示。

在本发明的一种示例性实施例中,该步骤中生成程序日志之后,还包括:

对所述程序日志进行判断,如果所述程序日志可用,则将所述程序日志添加到日志管理端;如果所述程序日志不可用,则将用户行为发生前的原始日志添加到所述日志管理端。

其中上述的原始日志就是指浏览器的console.log,可以利用console对象生成程序日志。console对象主要有两个作用:一是,显示网页代码运行时的错误信息;二是提供一个命令行接口,用来与网页代码互动。log方法用于在console窗口显示信息,如果参数是普通字符串,log方法将字符串内容显示在console窗口。console对象并不属于原生js的,它是浏览器提供的用于用户便于访问控制台的对象,因此在不同的浏览器里面console的效果也可能会有一些差异。另外,console,alert,confirm,prompt等这些浏览器自带的对象只能依赖于浏览器才会有效。

在步骤s220中,对所述程序日志添加相应的时间戳。

在本发明的一种示例性实施例中,所述对所述程序日志添加相应的时间戳包括:

针对所述用户行为的产生时间生成相应的时间戳;

产生的每一条程序日志对应一个时间戳。

在本发明的一种示例性实施例中,对所述程序日志添加相应的时间戳之后,还包括:

根据所述程序日志产生相应的日志级别;

其中所述日志级别包括:info、debug、warn和error。

将日志信息划分为四个级别,该四个级别由低至高依次为:debug、info、warn和error。其中,debug级别的日志信息用于记录对调试应用程序有帮助的事件,info级别的日志信息用于记录用户感兴趣的事件,warn级别的日志信息用于记录对应用程序的运行具有潜在危害的事件,error级别的日志信息用于记录出现的错误事件(该错误事件不影响进程的继续进行)。

该步骤中通过获取并显示程序日志的日志级别,便于对日志的管理和后续的查询。通过对不同级别进行区分标注和显示,可以较为直观的对日志进行分析和预判,便于后续操作。

在步骤s230中,将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识。

由于本发明中的终端设备可以为用户终端,还可以为业务服务终端,具体的:当所述终端设备为用户终端时,所述终端设备的唯一标识为终端机器编号;在本发明的一种示例性实施例中,当所述终端设备为业务服务终端时,所述终端设备的唯一标识为税务人员登录账号。

例如,用户终端为纳税人用的终端,每台机器分配一个唯一的一个终端编号;而对于税务人员用的业务服务终端,通常是普通的pc机,无法通过硬件设备本身进行管理,但是可以通过税务人员的登录账号进行识别和管理,例如,以税务人员的工号作为唯一标识。

这样,在后续上传用户行为的日志时,就可以将携带由终端机器编号或者税务人员工号的日志信息上传到日志管理端,以便可以根据这些信息进行查询和管理。

在本发明的一种示例性实施例中,在终端设备中以最少的代码量对日志服务进行集成,并且集成了之后不管日志服务是否可用都不影响程序的正常运行,如果可用就是新生成的日志,如果不可用就是原始日志,都是将日志文件输出到日志管理端。

在本发明的一种示例性实施例中,通过重写浏览器原生的console对象,引入日志服务的js文件。然后,进行初始化,除了添加终端设备的唯一标识,还可以设置服务地址,即在页面初始化时,先向日志服务获取该服务地址,然后将该服务地址作为初始化参数。

需要说明的是,本发明中采用高性能的开源事件驱动框架,确保单个服务可以应对4000+的qps,并且可以通过横向扩容来继续提高吞吐量,因此本发明的方案中以低侵入式的设计方式将日志服务集成到终端设备的应用中,而且可以应对高并发场景下日志服务的处理。

在步骤s240中,基于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

该步骤中对唯一标识的分类的目的在于:1)将用户端还是服务端进行区分,便于对用户行为进行分别存储和显示;2)当用户终端的数量或业务服务终端的数量很大时,可以对其进行进一步的分类,例如对于用户终端可以按照定位信息所在区域进行划分而进行相应的分类,或者,对于业务服务终端根据税务人员的职权范围等进行相应的分类,可以对日志进行更加详细和精确的管理。

图3为本发明一实施例中用于生成日志服务的架构示意图,如图3所示,基于对终端设备的用户行为进行监听,记录日志而生成日志服务,将日志数据存储在后台服务器中。

另外,如图3所示,生成日志后,还可以根据需要查询日志,以便运维人员可以快速定位问题,解决问题。

在本发明的一种示例性实施例中,还包括:

获取查询请求;

根据所述查询请求对所述日志管理端的程序日志进行查询,得到查询结果,其中所述查询请求中包括时间戳、日志等级、标识分类中的一种或多种。

在浏览器原生的console.log中并没有日志时间戳,而本发明通过在日志服务中添加时间戳、日志等级、标识分类等,可以方便日志的管理和查询。

图4为本发明一实施中查询日志的界面示意图,如图4所示,可以通过选择终端机器编号以及时间戳等方式查询到相应的日志数据并进行显示,还可以对日志等级和日志内容进行显示。其中图4中的柜台编号是指用户终端的机器编码。

综上所述,基于本发明提供的web终端日志管理方法,一方面,由于是直接将程序日志集成在终端设备的应用中,可以在终端设备以较少的代码量对日志进行集成,实现轻量级的日志服务方案;另一方面,通过添加时间戳和终端设备的标识分类,便于查询和管理。

与上述基于区块链的社区管理方法相对应的,图5为本发明另一实施例提供的一种基于web终端日志管理装置的示意图,参考图5,该装置500包括:日志生成模块510、时间戳模块520、标识模块530和分类模块540。

日志生成模块510配置为获取用户行为,并通过响应所述用户行为生成程序日志;时间戳模块520配置为对所述程序日志添加相应的时间戳;标识模块530配置为将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;分类模块540配置为基于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

由于本公开的示例实施例的web终端日志管理装置的各个功能模块与上述图2所示的基于web终端日志管理方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的基于web终端日志管理方法的实施例。

综上所述,采用本公开实施例提供的web终端日志管理装置,一方面,一方面,由于是直接将程序日志集成在终端设备的应用中,可以在终端设备以较少的代码量对日志进行集成,实现轻量级的日志服务方案;另一方面,通过添加时间戳和终端设备的标识分类,便于查询和管理。

下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统0的结构示意图。图6示出的电子设备的计算机系统600仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于区块链的医疗数据管理方法。

例如,所述的电子设备可以实现如图2中所示的:步骤s210,获取用户行为,并通过响应所述用户行为生成程序日志;步骤s220,对所述程序日志添加相应的时间戳;步骤s230,将所述程序日志集成在终端设备的应用中并进行初始化,获取终端设备的唯一标识;步骤s240,于所述终端设备的唯一标识进行分类,并针对所述程序日志添加相应的标识分类。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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