CN112667589B - 一种日志管理方法、装置及*** - Google Patents
一种日志管理方法、装置及*** Download PDFInfo
- Publication number
- CN112667589B CN112667589B CN202011629162.3A CN202011629162A CN112667589B CN 112667589 B CN112667589 B CN 112667589B CN 202011629162 A CN202011629162 A CN 202011629162A CN 112667589 B CN112667589 B CN 112667589B
- Authority
- CN
- China
- Prior art keywords
- log
- information
- target product
- product process
- query condition
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种日志管理方法、装置及***,涉及日志管理技术领域。方法包括:接收访问页面定时发送的访问请求,请求携带第一查询条件和第一注册账号,第一查询条件包括访问者身份信息、目标产品进程信息和日志级别信息;当访问者在访问页面上首次访问时,第一注册账号为空;当第一注册账号为空时,检测注册中心是否有相同的第二查询条件;当有时,将第二查询条件对应的注册账号注销;注销后,或未有第二查询条件时,为访问者注册账号;注册账号后,或当第一注册账号不为空时,根据目标产品进程信息和日志级别信息,获取日志信息,并将日志信息返回给访问页面。本发明可实时反馈进程日志,等待时间短不易出错,解决了日志管控难题。
Description
技术领域
本发明涉及日志管理技术领域,尤其涉及一种日志管理方法、装置及***。
背景技术
随着互联网的不断发展,当前的网络环境越来越复杂,在复杂的网络环境下,数据防泄漏显得尤为重要,市面上的数据防泄漏产品也越来越多。但目前在数据防泄漏等包含多进程的产品上线运行过程中,若运行异常后,用户需要提供远程跳板机多次跳转才能查看后台运行日志,并定位程序问题,等待时间长,且一旦某次跳转出错将导致无法查看日志。
发明内容
本发明提供一种日志管理方法、装置及***,解决现有技术中提供远程跳板机多次跳转查看后台运行日志的方式,等待时间长且易出错的问题。
在本发明实施的第一方面,提供了一种日志管理方法,所述方法包括:
接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
优选的,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息的步骤包括:
根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
优选的,所述访问请求中还携带有日志行数信息;
根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程之前,所述方法还包括:
首次接收到所述访问请求时,根据所述目标产品进程信息、所述日志级别信息和所述日志行数信息,获取所述目标产品进程相应级别、相应行数的日志信息,并将获取到的日志信息返回给所述访问页面进行展示;
从所述第一缓存中获取所述目标产品进程相应级别的日志信息的步骤包括:
除首次以外每次接收到所述访问请求时,从所述第一缓存中获取所述目标产品进程相应级别、相应行数的日志信息。
优选的,从所述第一缓存中获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
将所述第一缓冲中所述目标产品进程相应级别的日志信息进行清除处理。
优选的,在注册中心为所述访问者注册账号之后,所述方法还包括:
将所述访问者的注册账号在所述注册中心进行存储,并将所述查询条件与所述访问者的注册账号在所述注册中心进行对应关系存储;
将获取到的日志信息返回给所述访问页面进行展示的步骤包括:
首次接收到所述访问请求时,将所述访问者的注册账号与获取到的日志信息进行封装后,返回给所述访问页面进行展示。
优选的,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
在第二缓存中更新所述第一查询条件对应的最新访问时间;其中所述第二缓存中存储有所有查询条件的最新访问时间;
定时获取所述第二缓存中每个查询条件的最新访问时间,并根据每个查询条件的最新访问时间,判断每个查询条件是否超过预设时间阈值未被访问;
当第三查询条件超过所述预设时间阈值未被访问时,将所述第三查询条件对应的注册账号进行注销处理。
优选的,当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之前,所述方法还包括:
检测所述第一注册账号是否有效;
当所述第一注册账号有效时,执行根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息;
当所述第一注册账号无效时,向所述访问页面返回所述第一注册账号无效的通知消息。
在本发明的第二方面,还提供了一种日志管理装置,所述装置包括:
第一接收模块,用于接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
第一检测模块,用于检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
第二检测模块,用于当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
第一注销模块,用于当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
注册模块,用于将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
第一获取模块,用于在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
优选的,所述第一获取模块包括:
开启线程子模块,用于根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
第一获取子模块,用于从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
在本发明的第三方面,还提供了一种日志管理***,包括:
显示设备,用于检测到访问者在访问页面上触发对目标产品进程的日志进行访问的触发请求时,在所述访问页面上定时向服务器发送访问者对所述目标产品进程的日志进行访问的访问请求;所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;接收所述服务器返回的所述产品进程的日志信息,并在所述访问页面上对所述产品进程的日志信息进行展示;
服务器,用于接收所述显示设备访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求;检测所述第一注册账号是否为空;当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件,当存储有时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
针对在先技术,本发明具备如下优点:
本发明实施例中,服务器接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,访问请求中携带有第一查询条件和第一注册账号,第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;检测第一注册账号是否为空;其中当访问者在该访问页面上首次按照第一查询条件对目标产品进程的日志进行访问时,第一注册账号为空;当第一注册账号为空时,检测注册中心是否存储有与第一查询条件相同的第二查询条件;当注册中心存储有第二查询条件时,将第二查询条件对应的注册账号进行注销处理;其中注册中心存储有所有注册账号与查询条件的对应关系;将第二查询条件对应的注册账号进行注销处理之后,或者当注册中心未存储有第二查询条件时,在注册中心为访问者注册账号;在注册中心为访问者注册账号之后,或者当第一注册账号不为空时,根据目标产品进程信息和日志级别信息,获取目标产品进程相应级别的日志信息,并将获取到的日志信息返回给访问页面进行展示。从而无需通过远程跳板机多次跳转,只需在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错,另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题,解决了日志管控难题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的日志管理方法的流程示意图;
图2为本发明实施例提供的日志读取的流程示意图;
图3为本发明实施例提供的对访问时间进行监控及超时注销的流程示意图;
图4为本发明实施例提供的日志管理方法的另一流程示意图;
图5为本发明实施例提供的日志管理装置的示意框图;
图6为本发明实施例提供的电子设备的示意框图;
图7为本发明实施例提供的日志管理***的示意框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解的是,还可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的日志管理方法的流程示意图,参见图1所示,该日志管理方法包括:
步骤101:接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息。
这里,前端加载访问页面,并在访问页面上展示目标产品各进程信息,访问者可在访问页面上触发对目标产品进程的日志的访问。当前端检测到访问者在访问页面上触发对目标产品的日志进行访问的访问请求时,前端的访问页面定时发送访问请求到服务器,服务器接收访问页面定时发送的访问请求。其中访问请求中携带有由访问者的身份信息、待查询的目标产品进程信息和日志级别信息组成的第一查询条件和第一注册账号。
其中,前端的访问页面可按照设定的时间间隔定时发送访问请求,该时间间隔可根据需求设置为任意值。例如可将时间间隔设置为2s,则前端的访问页面每隔2s定时访问服务器获取对应的数据。
其中,前端的访问页面可基于异步交互式网页开发技术Ajax定时发送对目标产品进程的日志进行访问的访问请求,此时上述步骤101具体为接收访问页面基于Ajax定时发送的访问者对目标产品进程的日志进行访问的访问请求。基于Ajax技术能够提高页面更新速度,提高处理效率。
Ajax这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。Ajax是Asynchronous JavaScript and XML的缩写,也即异步JavaScript和XML。其核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。Ajax对服务器没什么要求,可以为Java EE应用程序、NET应用程序和其他类型的应用程序服务。
其中,访问者的身份信息如可包括访问者名称和/或加密后的ID等信息,但不限于此。访问者的ID如可通过AES(Advanced Encryption Standard,高级加密标准)等进行加密。
其中,待查询的目标产品进程信息如可包括进程名称和/或进程IP等信息,但不限于此。
其中,本发明实施例中目标产品进程的日志输出都是分级别的。例如可采用Log4j日志框架设置日志级别,Log4j的日志输出优先级由高到底分别为以下8种:
关闭OFF:最高级别,不打印日志。致命FATAL:指明非常严重的可能会导致应用终止执行错误事件。错误ERROR:指明错误事件,但应用可能还能继续运行。警告WARN:指明可能潜在的危险状况。信息INFO:指明描述信息,从粗粒度上描述了应用运行过程。调试DEBUG:指明细致的事件信息,对调试应用最有用。跟踪TRACE:指明程序运行轨迹,比DEBUG级别的粒度更细。所有ALL:所有日志级别,包括定制级别。
日志优先级别标准顺序为:
ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF。
如果日志级别设置为INFO,可输出高于或等于所设置级别的日志,即ALL、DEBUG和INFO级别的日志。
当然,上述Log4j日志级别的设置方式仅为举例说明,本发明实施例的目标产品进程可采用任何合理的日志级别合适方式,本发明实施例对此不做限定。
其中,进程Process是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。线程thread是操作***能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
步骤102:检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空。
这里,访问者在当前访问页面上首次以第一查询条件对目标产品进程的日志进行访问时,第一注册账号为空,本步骤通过检测访问请求中的第一注册账号是否为空,以决定如何对访问请求进行处理。
步骤103:当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件。
步骤104:当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系。
这里,当访问请求中的第一注册账号为空时,需要检测注册中心存储的对应关系中是否有与访问请求的第一查询条件相同的第二查询条件,即该第一查询条件是否已有注册,当已有注册时,注销掉旧的注册。从而对于相同访问者、相同查询条件只允许注册一次,以避免同一用户在多个访问页面以相同查询条件同时访问造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
步骤105:将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号。
这里,对相同的第二查询条件对应的注册账号进行注销处理之后,或者当注册中心没有存储第二查询条件时,在注册中心为访问者注册账号,获得注册账号名称和/或注册ID等信息,以基于注册账号管理访问者以及访问者的访问请求。
其中,在注册中心为访问者注册账号之前,可判断注册中心存储的注册账号是否超过预设注册数量,若超过,则向访问页面返回人数超限消息,否再执行在注册中心为访问者注册账号。如此实现了对注册人数进行控制,避免注册人数过多导致***运行缓慢,从而保证***运行效率,提升用户体验。
步骤106:在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
这里,在注册中心为访问者注册账号之后,或者当访问请求中携带的第一注册账号不为空时,根据第一查询条件中的目标产品进程信息和日志级别信息,获取目标产品进程相应级别的日志信息,例如日志级别信息为INFO,则获取目标产品进程日志级别为INFO或以上的日志信息,并将获取到的日志信息返回给访问页面进行展示,从而实现了用户在访问页面上只需触发访问请求即可实时获得目标产品进程相应级别的日志信息,等待时间短且不易出错。
本发明实施例的日志管理方法,实现了用户在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错。另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题,解决了日志管控难题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
优选的,在访问请求携带的第一注册账号为空,即在访问页面首次访问的情况下,上述步骤105之后,所述方法还包括:
步骤107:将所述访问者的注册账号在所述注册中心进行存储,并将所述查询条件与所述访问者的注册账号在所述注册中心进行对应关系存储。
此时,在注册中心存储有两方面的内容:一是注册账号,包括注册名称和/或注册ID等信息,以便于对注册账号进行管理;二是查询条件与注册账号的对应关系,如前所述,查询条件由访问者的身份信息、目标产品进程信息和日志级别信息组成,以便于判断相同查询条件是否已注册以及注销注册。
进一步的,注册中心存储注册账号时可采用集set结构,存储查询条件与注册账号的对应关系时可采用映射Map结构。set不允许包含重复的元素,支持对象的添加和删除。Map包含了键key-值value对,使用key-value来映射和存储数据。例如,可将查询条件设置为由***管理者账号sysAdminId+进程名称ProName+日志级别logLevel组成的键,在注册中心存储sysAdminId+ProName+logLevel键与注册账号Id值组成的key-value对。
优选的,本发明实施例对于注销账号和注册账号的操作可以设置安全加锁,即对于同时发生的注销账号操作和注册账号操作不能同时执行,只能先注销账号或注册账号,当前一个操作执行完成后,再执行后面的注册账号或注销账号,以避免新注册的账号被误注销。
其中,在对注册账号进行注销处理时,可将注册中心中存储的注册账号以及查询条件与注册账号的对应关系都进行删除,以释放存储资源,保证***运行效率。
在注册中心为访问者注册账号之后,可将注册账号一并反馈给前端,即上述步骤106中,将获取到的日志信息返回给所述访问页面进行展示的步骤包括:
首次接收到所述访问请求时,将所述访问者的注册账号与获取到的日志信息进行封装后,返回给所述访问页面进行展示。
这里,在注册中心为访问者注册账号之后,对于第一次接收到的访问请求,在返回日志信息时可一并将注册账号返回给前端访问页面进行展示,以便于用户管理账号,以及后续定时发送访问请求时使用该注册账号进行访问。
优选的,上述步骤106中,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息的步骤包括:
步骤1061:根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
步骤1062:从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
此时,在进行日志读取时可开启日志读取线程,通过该日志读取线程读取日志信息,并将读取到的日志信息存储到第一缓存中,以便于随时查询获取,从而提高接收到访问请求时返回日志信息的处理效率,提升用户体验。
其中,可将该日志读取线程注册至线程状态管理器,通过线程状态管理器对该线程进行管理。
例如,如图2所示,为通过日志读取线程进行日志读取的一流程示意图,流程包括:步骤201:开始;步骤202:通过目标产品进程Process执行tail命令获取流;步骤203:根据查询条件中sysAdminId+ProName+logLevel组成的键和流信息,创建日志读取线程,并以注册账号的Id赋予线程名称;步骤204:将该日志读取线程注册至线程状态管理器;步骤205:按行读取流信息,没有信息则为空;步骤206:通过线程状态管理器判断日志读取线程是否为开启状态,若为是,则跳转到步骤207,否则跳转到步骤208;步骤207:将读取的信息拼接并推送put至第一缓存中,之后跳转至步骤205继续读取;步骤208:结束线程。
其中,可在不需要继续读取目标产品进程的日志时随时关闭日志读取线程,以释放资源。例如,在将与第一查询条件相同的第二查询条件对应的注册账号进行注销处理时,可通过线程状态管理器结束第二查询条件对应的日志读取线程。
其中,第一缓存可采用多个基于弱连接的weakHashMap结构,例如在第一缓存中存储sysAdminID+ProName+logLevel键与日志实时信息组成的key-value对。WeakHashMap继承于AbstractMap,实现了Map接口。和HashMap一样,WeakHashMap也是一个散列表,WeakHashMap的键是“弱键”。在WeakHashMap中,当某个键不再正常使用时,会被从WeakHashMap中被自动移除。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收。某个键被终止时,它对应的键值对也就从映射中有效地移除了。其原理是通过WeakReference和ReferenceQueue实现的。WeakHashMap的key是“弱键”,即是WeakReference类型的;ReferenceQueue是一个队列,它会保存被GC(Garbage Collection,垃圾回收)机制回收的“弱键”。
优选的,所述访问请求中还携带有日志行数信息;
上述步骤1061之前,所述方法还包括:
首次接收到所述访问请求时,根据所述目标产品进程信息、所述日志级别信息和所述日志行数信息,获取所述目标产品进程相应级别、相应行数的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
这里,若访问请求的访问参数中有行数限制,则先读取给定行数的日志信息,并将读取好的值先回传至访问页面进行展示,再开启日志读取线程读取并缓存日志信息,从而以最快的效率回传日志信息供用户查看,提升用户体验。
上述步骤1062包括:
除首次以外每次接收到所述访问请求时,从所述第一缓存中获取所述目标产品进程相应级别、相应行数的日志信息。
这里,通过在第一缓存中缓存读取到的日志信息,在每次接收到访问请求时,都可从第一缓存中快速获取到需要的日志信息,提高了接收到访问请求时返回日志信息的处理效率,提升了用户体验。
优选的,上述步骤1062从所述第一缓存中获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
将所述第一缓冲中所述目标产品进程相应级别的日志信息进行清除处理。
此时,从第一缓存中获取到需要的日志信息之后,将第一缓存中对应的日志信息进行清除处理,即重置为空串,能够及时的释放资源,提高***运行效率。
优选的,对于第一缓存中日志获取、重置、新增、拼接或清除等操作,可通过日志缓存操作安全API(Application Program Interface,应用程序接口)执行。在日志缓存操作安全API中可将第一缓存中的获取信息、重置信息、新增信息、拼接信息或清除信息组成一个安全加锁,即对于同时发生的日志获取、重置、新增、拼接和清除操作不能同时执行,只能顺序执行一种操作,以避免新增的信息被清除等情况。其中,第一缓存可采用多个“桶”(weekHashMap结构)结构,有效避免增加安全锁后处理慢问题。
优选的,上述步骤106根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
步骤108:在第二缓存中更新所述第一查询条件对应的最新访问时间;其中所述第二缓存中存储有所有查询条件的最新访问时间。
这里,通过在第二缓存中存储所有查询条件的最新访问时间,并在每次访问之后更新查询条件的最新访问时间,以实现对每个查询条件访问时间的监控。
其中,第二缓存可采用ConcurrentHashMap结构,例如在第二缓存中存储sysAdminId+ProName+logLevel键与最新访问时间组成的key-value对。ConcurrentHashMap是Java中的一个线程安全且高效的HashMap实现,涉及高并发时采用的Map结构。其与JDK1.8HashMap结构类似,当链表节点数超过指定阈值的话,也是会转换成红黑树,其中抛弃了原有的Segment分段锁,而采用了CAS+synchronized来保证并发安全性,实现减小锁粒度,还设计了MOVED状态,当resize的中过程中线程2还在put数据,线程2会帮助resize,增大运行效率。
本发明实施例采用两个缓存实现了模拟长连接效果,一个缓存存储日志信息(第一缓存):sysAdminId+ProName+logLevel键+日志实时信息;一个缓存存储最新访问时间(第二缓存):sysAdminId+ProName+logLevel键+最新访问时间。
步骤109:定时获取所述第二缓存中每个查询条件的最新访问时间,并根据每个查询条件的最新访问时间,判断每个查询条件是否超过预设时间阈值未被访问;
步骤1010:当第三查询条件超过所述预设时间阈值未被访问时,将所述第三查询条件对应的注册账号进行注销处理。
这里,对于长时间没有访问的查询条件对应的注册账号进行注销处理,以及时清理***,释放资源,保证***的运行效率,从而保证访问请求的返回效率,提升用户体验。
其中,预设时间阈值可根据需求设定为任意值,如3分钟。
例如,如图3所示,为对每个查询条件的访问时间进行监控以及长时间未被访问时进行注销处理的一流程示意图,流程包括:步骤301:服务器tomcat启动时开始;步骤302:定时从第二缓存中获取遍历每个查询条件的最新访问时间;步骤303:根据获取到的每个查询条件的最新访问时间,判断每个查询条件是否超过预设时间阈值(如3分钟)未被访问,若某个查询条件超时未被访问,则跳转到步骤304,否则跳转到步骤305;步骤304:将超时未被访问的第三查询条件对应的注册账号进行注销处理,之后进入步骤306;步骤305:不做处理,之后进入步骤306;步骤306:判断tomcat是否停止,若是,则进入步骤307,否则返回到步骤302定时清理;步骤307:结束。
其中,本发明实施例中将第二查询条件或第三查询条件对应的注册账号进行注销处理的步骤可包括:通过线程状态管理器结束对应的日志读取线程;删除第一缓存中缓存的日志信息以及第二缓存中的最新访问时间;删除注册中心中存储的注册账号以及注册账号与查询条件的对应关系。
其中,本发明实施例对注册账号进行注销的情况还包括:当前端检测到访问页面关闭时,向服务器发送的访问页面关闭通知消息,服务器接收到访问页面关闭通知消息时,可对注册账号进行注销处理,以释放资源。
其中,需要说明的是,本发明实施例中出现的第一查询条件、第二查询条件、第三查询条件的“第一”、“第二”、“第三”并无特殊含义,仅用于区分不同的位置不同条件下的查询条件,第一查询条件、第二查询条件、第三查询条件均可以是任意一种查询条件。
优选的,当所述第一注册账号不为空,即在访问页面非首次访问时,上述步骤106中根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之前,所述方法还包括:
检测所述第一注册账号是否有效;
当所述第一注册账号有效时,执行根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息;
当所述第一注册账号无效时,向所述访问页面返回所述第一注册账号无效的通知消息。
此时,对于非首次访问的情况下,判断注册账号是否有效,注册有效则执行获取日志信息的步骤,即从第一缓存中获取日志信息,并将获取的日志信息在第一缓存中重置为空串,即保证信息不会重复读取;注册无效返回注册失效结果。从而保证访问的有效性和合理性,避免无效账户访问造成的干扰。
下面对本发明实施例日志管理方法的一具体应用流程举例说明如下。
本发明实施例的日志管理方法在具体应用时可采用如图4所示的***架构,包括负责显示的视图View层、负责提供数据的模型Model层、负责逻辑处理的控制器Controller/显示器Presenter层,还包括存储层。本发明实施例的服务器指Controller/Presenter层。在该***架构下,本发明实施例的日志管理方法包括:
步骤401:开始。
步骤402:前端访问页面采集访问数据,包括访问者Id、目标产品进程名称和IP、日志级别、日志行数、注册账号Id等信息。
这里,前端加载页面,加载相关js,并获取页面展示的各进程的IP和AES加密后用户Id等关键信息。
步骤403:前端访问页面基于Ajax技术定时向服务器发送对目标产品进程的日志进行访问的访问请求。
这里,前端检测到用户点击查询日志时,开启定时Ajax携带信息访问对应ip。其中切换进程或者日志级别修改时,将日志标签重置。
步骤404:Model层将请求参数进行封装后发送给服务器,即Controller/Presenter层,封装格式如下:
proName:进程名称;
sysAdminId:访问者;
LogLevel:日志级别(默认INFO);
LogLines:日志行数(默认100);
LogCallId:注册账号(首次访问为空)。
步骤405:Controller/Presenter层请求接受接口解析参数。
步骤406:判断注册账号LogCallId是否为空,若是,则进入步骤4072,否则,进入步骤4071。
步骤4071:注册中心判断注册账号是否有效,若有效,则进入步骤412,若无效,则进入步骤408。
步骤408:返回注册账号无效的通知消息,之后进入步骤414。
步骤4072:判断sysAdminId+ProName+logLevel组成的键在注册中心关系存储中是否能够查询到,即该查询条件是否已有注册,若能够查询到,则进入步骤409,若未查询到,则进入步骤410。
步骤409:注销旧的注册,包括通过线程状态管理器结束日志读取线程、删除第一缓存中缓存的日志信息、删除第二缓存中缓存的访问时间、删除注册中心中存储的注册账号以及注册账号与sysAdminId+ProName+logLevel组成的键的对应关系,之后进入步骤410。
步骤410:在注册中心为访问者注册账号。
步骤411:目标产品进程Process获取流,开启日志读取线程,并将读取到的日志信息推送至第一缓存中。
步骤412:根据日志级别和日志行数,从第一缓存中获取对应的值,并将第一缓存中对应的值重置为空串,并在第二缓存中刷新访问时间。
步骤413:封装获取的值,若首次注册则将注册账号封装进去。
步骤414:Model层封装Controller/Presenter层返回的数据,封装格式如下:
Status:访问结果;
LogDate:日志信息;
LogCallId:注册账号Id。
步骤415:前端将Model层返回的数据进行拼接展示。
步骤416:判断是否离开访问页面,若是,则进入步骤417,否则,返回步骤403。
步骤417:结束。
本发明实施例的日志管理方法可应用于数据防泄漏多服务器多进程部署,实现单用户多浏览器页面多服务器实时日志管控和多用户单浏览器单服务器实时日志管控,具体流程为:客户登录数据防泄漏控制平台->填写查询实时日志的注册账号、进程名称和日志级别等信息->点击查询日志,发起定时Ajax访问获取实时日志信息->获取信息,刷新页面显示。
应用本发明实施例的日志管理方法,单用户多浏览器页面下可管控多服务器多进程实时日志信息,多用户单浏览器可管控单服务器实时日志信息,此状态下,用户或研发人员前端可视化查看运行状况或定位异常问题,有效解决运行日志难以管控问题。
当然,上述***框架以及实现流程仅为本发明实施例的一具体实现方式的举例说明,本发明实施例的***框架以及实现流程并不局限于此。
综上,本发明实施例的日志管理方法,实现了用户在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错,另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够实现单用户多浏览器页面下管控多服务器多进程实时日志信息,多用户单浏览器管控单服务器实时日志信息,此状态下,用户或研发人员前端可视化查看运行状况或定位异常问题,有效解决运行日志难以管控问题。同时避免了他人恶意访问时造成的***异常,提高了***的稳定性
参见图5所示,本发明实施例还提供了一种日志管理装置500,所述装置包括:
第一接收模块501,用于接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
第一检测模块502,用于检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
第二检测模块503,用于当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
第一注销模块504,用于当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
注册模块505,用于将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
第一获取模块506,用于在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
本发明实施例的日志管理装置500,实现了用户在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错。另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题,解决了日志管控难题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
优选的,所述第一获取模块506包括:
开启线程子模块,用于根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
第一获取子模块,用于从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
优选的,所述访问请求中还携带有日志行数信息;
所述装置还包括:
第二获取模块,用于首次接收到所述访问请求时,根据所述目标产品进程信息、所述日志级别信息和所述日志行数信息,获取所述目标产品进程相应级别、相应行数的日志信息,并将获取到的日志信息返回给所述访问页面进行展示;
第一获取子模块包括:
第一获取单元,用于除首次以外每次接收到所述访问请求时,从所述第一缓存中获取所述目标产品进程相应级别、相应行数的日志信息。
优选的,所述装置还包括:
清除模块,用于将所述第一缓冲中所述目标产品进程相应级别的日志信息进行清除处理。
优选的,所述装置还包括:
存储模块,用于将所述访问者的注册账号在所述注册中心进行存储,并将所述查询条件与所述访问者的注册账号在所述注册中心进行对应关系存储;
所述第一获取模块506包括:
返回子模块,用于首次接收到所述访问请求时,将所述访问者的注册账号与获取到的日志信息进行封装后,返回给所述访问页面进行展示。
优选的,所述装置还包括:
更新模块,用于在第二缓存中更新所述第一查询条件对应的最新访问时间;其中所述第二缓存中存储有所有查询条件的最新访问时间;
判断模块,用于定时获取所述第二缓存中每个查询条件的最新访问时间,并根据每个查询条件的最新访问时间,判断每个查询条件是否超过预设时间阈值未被访问;
第二注销模块,用于当第三查询条件超过所述预设时间阈值未被访问时,将所述第三查询条件对应的注册账号进行注销处理。
优选的,当所述第一注册账号不为空时,所述装置还包括:
检测模块,用于检测所述第一注册账号是否有效;
第三获取模块,用于当所述第一注册账号有效时,执行根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息;
返回模块,用于当所述第一注册账号无效时,向所述访问页面返回所述第一注册账号无效的通知消息。
本发明实施例的日志管理装置500,实现了用户在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错。另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题,解决了日志管控难题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
对于上述装置实施例而言,由于其与方法实施例基本相似,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,该电子设备可以是服务器。如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
存储器603,用于存放计算机程序。
处理器601用于执行存储器603上所存放的程序时,实现如下步骤:
接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的日志管理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的日志管理方法。
参见图7所示,本发明实施例还提供了一种日志管理***700,包括:
显示设备701,用于检测到访问者在访问页面上触发对目标产品进程的日志进行访问的触发请求时,在所述访问页面上定时向服务器发送访问者对所述目标产品进程的日志进行访问的访问请求;所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;接收所述服务器返回的所述产品进程的日志信息,并在所述访问页面上对所述产品进程的日志信息进行展示;
服务器702,用于接收所述显示设备访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求;检测所述第一注册账号是否为空;当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件,当存储有时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
本发明实施例的日志管理***700,实现了用户在访问页面上提交访问请求即可实时反馈目标产品进程相应级别的日志信息,等待时间短且不易出错。另外对于同一用户的相同查询条件只允许一次注册,避免了同一用户在多个访问页面以相同查询条件同时访问时造成的资源浪费。且能够对单用户多浏览器页面访问以及多用户单浏览器页面访问情况进行有效管控,使用户或研发人员可快速查询运行状况或定位异常问题,解决了日志管控难题。同时也避免了他人恶意访问时造成的***异常,提高了***的稳定性。
对于上述***实施例而言,相关之处参见方法实施例的部分说明即可。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,包含在本发明的保护范围内。
Claims (10)
1.一种日志管理方法,其特征在于,所述方法包括:
接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
2.根据权利要求1所述的日志管理方法,其特征在于,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息的步骤包括:
根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
3.根据权利要求2所述的日志管理方法,其特征在于,所述访问请求中还携带有日志行数信息;
根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程之前,所述方法还包括:
首次接收到所述访问请求时,根据所述目标产品进程信息、所述日志级别信息和所述日志行数信息,获取所述目标产品进程相应级别、相应行数的日志信息,并将获取到的日志信息返回给所述访问页面进行展示;
从所述第一缓存中获取所述目标产品进程相应级别的日志信息的步骤包括:
除首次以外每次接收到所述访问请求时,从所述第一缓存中获取所述目标产品进程相应级别、相应行数的日志信息。
4.根据权利要求2所述的日志管理方法,其特征在于,从所述第一缓存中获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
将所述第一缓冲中所述目标产品进程相应级别的日志信息进行清除处理。
5.根据权利要求1所述的日志管理方法,其特征在于,在注册中心为所述访问者注册账号之后,所述方法还包括:
将所述访问者的注册账号在所述注册中心进行存储,并将所述查询条件与所述访问者的注册账号在所述注册中心进行对应关系存储;
将获取到的日志信息返回给所述访问页面进行展示的步骤包括:
首次接收到所述访问请求时,将所述访问者的注册账号与获取到的日志信息进行封装后,返回给所述访问页面进行展示。
6.根据权利要求1所述的日志管理方法,其特征在于,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之后,所述方法还包括:
在第二缓存中更新所述第一查询条件对应的最新访问时间;其中所述第二缓存中存储有所有查询条件的最新访问时间;
定时获取所述第二缓存中每个查询条件的最新访问时间,并根据每个查询条件的最新访问时间,判断每个查询条件是否超过预设时间阈值未被访问;
当第三查询条件超过所述预设时间阈值未被访问时,将所述第三查询条件对应的注册账号进行注销处理。
7.根据权利要求1所述的日志管理方法,其特征在于,当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息之前,所述方法还包括:
检测所述第一注册账号是否有效;
当所述第一注册账号有效时,执行根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息;
当所述第一注册账号无效时,向所述访问页面返回所述第一注册账号无效的通知消息。
8.一种日志管理装置,其特征在于,所述装置包括:
第一接收模块,用于接收访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求,所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;
第一检测模块,用于检测所述第一注册账号是否为空;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;
第二检测模块,用于当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件;
第一注销模块,用于当所述注册中心存储有所述第二查询条件时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;
注册模块,用于将所述第二查询条件对应的注册账号进行注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;
第一获取模块,用于在注册中心为所述访问者注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
9.根据权利要求8所述的日志管理装置,其特征在于,所述第一获取模块包括:
开启线程子模块,用于根据所述目标产品进程信息和所述日志级别信息,开启对所述目标产品进程相应级别的日志信息进行读取的日志读取线程,并将所述日志读取线程读取到的日志信息存储到第一缓存中;
第一获取子模块,用于从所述第一缓存中获取所述目标产品进程相应级别的日志信息。
10.一种日志管理***,其特征在于,包括:
显示设备,用于检测到访问者在访问页面上触发对目标产品进程的日志进行访问的触发请求时,在所述访问页面上定时向服务器发送访问者对所述目标产品进程的日志进行访问的访问请求;所述访问请求中携带有第一查询条件和第一注册账号,所述第一查询条件包括访问者的身份信息、待查询的目标产品进程信息和日志级别信息;其中当所述访问者在所述访问页面上首次按照所述第一查询条件对所述目标产品进程的日志进行访问时,所述第一注册账号为空;接收所述服务器返回的所述产品进程的日志信息,并在所述访问页面上对所述产品进程的日志信息进行展示;
服务器,用于接收所述显示设备访问页面定时发送的访问者对目标产品进程的日志进行访问的访问请求;检测所述第一注册账号是否为空;当所述第一注册账号为空时,检测注册中心是否存储有与所述第一查询条件相同的第二查询条件,当存储有时,将所述第二查询条件对应的注册账号进行注销处理;其中所述注册中心存储有所有注册账号与查询条件的对应关系;注销处理之后,或者当所述注册中心未存储有所述第二查询条件时,在注册中心为所述访问者注册账号;注册账号之后,或者当所述第一注册账号不为空时,根据所述目标产品进程信息和所述日志级别信息,获取所述目标产品进程相应级别的日志信息,并将获取到的日志信息返回给所述访问页面进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011629162.3A CN112667589B (zh) | 2020-12-30 | 2020-12-30 | 一种日志管理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011629162.3A CN112667589B (zh) | 2020-12-30 | 2020-12-30 | 一种日志管理方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667589A CN112667589A (zh) | 2021-04-16 |
CN112667589B true CN112667589B (zh) | 2023-09-01 |
Family
ID=75412736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011629162.3A Active CN112667589B (zh) | 2020-12-30 | 2020-12-30 | 一种日志管理方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667589B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791802B (zh) * | 2021-09-07 | 2024-02-27 | 东风汽车有限公司东风日产乘用车公司 | 车辆升级方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072103A (zh) * | 2007-03-09 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种多账号登录即时通讯软件的方法及*** |
CN108377227A (zh) * | 2018-01-11 | 2018-08-07 | 北京潘达互娱科技有限公司 | 服务器账号管理***、账号登录方法、更新方法及设备 |
CN110768992A (zh) * | 2019-10-30 | 2020-02-07 | 广东美的制冷设备有限公司 | 共享设备运行监控方法、装置、服务器以及存储介质 |
CN111522922A (zh) * | 2020-03-26 | 2020-08-11 | 浙江口碑网络技术有限公司 | 日志信息查询方法、装置、存储介质及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420819B (zh) * | 2011-11-28 | 2014-11-05 | 华为技术有限公司 | 用户注册方法、交互方法及相关设备 |
-
2020
- 2020-12-30 CN CN202011629162.3A patent/CN112667589B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072103A (zh) * | 2007-03-09 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种多账号登录即时通讯软件的方法及*** |
CN108377227A (zh) * | 2018-01-11 | 2018-08-07 | 北京潘达互娱科技有限公司 | 服务器账号管理***、账号登录方法、更新方法及设备 |
CN110768992A (zh) * | 2019-10-30 | 2020-02-07 | 广东美的制冷设备有限公司 | 共享设备运行监控方法、装置、服务器以及存储介质 |
CN111522922A (zh) * | 2020-03-26 | 2020-08-11 | 浙江口碑网络技术有限公司 | 日志信息查询方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112667589A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200120112A1 (en) | Techniques for detecting known vulnerabilities in serverless functions as a service (faas) platform | |
US7865953B1 (en) | Methods and arrangement for active malicious web pages discovery | |
US7376682B2 (en) | Time model | |
US20110264787A1 (en) | Capturing web-based scenarios | |
Bhatia et al. | Lightweight, high-resolution monitoring for troubleshooting production systems | |
CN107515865B (zh) | 页面数据点击量统计方法及装置 | |
KR20160044484A (ko) | 클라우드 배치 기반구조 검증 엔진 | |
US20130275595A1 (en) | Network element failure detection | |
US10389614B2 (en) | Web site reachability management for content browsing | |
KR101713362B1 (ko) | 분산된 지속 인스턴스들을 위한 락 해결 방법 | |
US20140245085A1 (en) | Managing error logs in a distributed network fabric | |
CN101252462B (zh) | 告警页面刷新方法以及服务器和客户端 | |
CN109766241A (zh) | ***监控方法、装置、计算机设备及计算机可读存储介质 | |
US11509677B2 (en) | Automatically detecting vulnerability remediations and regressions | |
CN109743411A (zh) | 一种在分布式环境下动态调度ip代理池的方法、装置及存储介质 | |
CN112667589B (zh) | 一种日志管理方法、装置及*** | |
US8930946B1 (en) | Leasing prioritized tasks | |
CN113220584B (zh) | 页面测试方法、装置、计算机设备和可读存储介质 | |
US10180914B2 (en) | Dynamic domain name service caching | |
US8910125B2 (en) | Monitoring software performance | |
CN109740386B (zh) | 一种静态资源文件的检测方法及装置 | |
EP3531279A1 (en) | Method and apparatus for detecting page redirection circulation | |
CN112202784B (zh) | 反爬虫方法、装置及存储介质 | |
CN113421109A (zh) | 一种业务核对方法、装置、电子设备和存储介质 | |
Patel et al. | Using {Trātṛ} to tame Adversarial Synchronization |
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 |