一种移动端日志系统、日志管理方法、介质及设备与流程

文档序号:31872808发布日期:2022-10-21 20:04阅读:319来源:国知局
一种移动端日志系统、日志管理方法、介质及设备与流程

1.本公开涉及系统日志查询技术领域,更为具体来说,本公开涉及一种移动端日志系统、日志管理方法、介质及设备。


背景技术:

2.日志是记录在手机软件的运作过程中描述一些离散的(不连续的)事件的工具。例如:应用通过一个滚动的文件输出info或error信息,并通过日志收集系统,存储到一些存储引擎(elasticsearch)中方便查询。
3.根据日志提供精确的记录最终定位到错误详情和根源。例如:
4.用日志来记录变量或者某一段逻辑。记录程序运行的流程,即程序运行了哪些代码,方便排查逻辑问题。
5.当程序出现异常或故障时快速的定位问题,方便后期解决问题。因为线上生产环境无法debug,在测试环境去模拟一套生产环境,费时费力。
6.同时关键地方记录日志,方便在和各个终端定位问题时,迅速的找到原因。
7.但现有的日志库大多是文件形式或明文方式上传。这种方式上传的日志的可读性极差,而且在日志数据统计的工作上会比较困难,又因为日志内容样式不能做到精细化样式统一,在统计和查询上,也难以做到精细化查询,查询的结果将会比较混乱。或者需要专门写一套分析日志文件的框架;这就需要投入更多的人力。


技术实现要素:

8.为解决现有技术的对于简单的应用性能开销大、传输速率低的技术问题。
9.为实现上述技术目的,本公开提供了一种移动端日志系统,所述移动端日志系统搭载于云端服务器上,包括:
10.日志信息上传模块,用于将日志信息缓存到本地的缓存文件,当本地缓存的日志信息数量超过预设阈值时,批量上传日志信息至所述云端服务器中的存储器中;
11.日志样式统一模块,用于对日志信息的样式做统一规划并将所述样式划分为信息层级和内容层级;
12.日志追踪处理模块,用于对移动端业务进行追踪处理并根据所述追踪处理的结果对移动端业务中的日志进行统合;
13.日志信息查询模块,用于通过模糊查找或精确查找查询日志信息。
14.进一步,所述信息层级具体包括:
15.应用和手机的基本信息,其中所述基本信息包括:
16.应用名称、应用版本号、用户id、设备型号、厂商、设备id和/或上传时间;
17.所述内容层级具体包括:
18.模块名、日志内容、日志生成时间、日志级别、堆栈信息、文件名、函数名、线程名和/或日志类型。
19.进一步,所述日志追踪处理模块具体用于:
20.根据移动端的业务类型将所述业务划分为追踪信息并生成对应的追踪id;
21.将当前移动端产生的业务中的日志带入所述追踪id;
22.利用程序监测工具追踪所述追踪id并根据所述追踪id对日志进行统合。
23.进一步,所述程序监测工具为skywalking的分布式追踪工具。
24.进一步,所述日志信息上传模块具体用于:
25.初始化所述日志追踪处理模块中的程序监测工具以及初始化日志头部信息并存储在本地缓存中;
26.判断本地缓存中存储的日志信息中有无错误日志信息,若有,则直接上传至云端服务器中的存储器中,并进一步判断是否上传成功,若成功则结束上传流程,若不成功则缓存至本地缓存等待下次读取上传日志信息;
27.若没有,则继续判断本地缓存的日志信息数量是否超过预设阈值,若超过预设阈值,则批量上传日志信息至云端服务器中的存储器中,并进一步判断是否上传成功,若成功则结束上传流程,若不成功则缓存至本地缓存等待下次读取上传日志信息;
28.若不超过预设阈值,则结束上传流程。
29.进一步,所述日志信息查询模块具体用于:
30.利用模糊查找查找和待查找日志相关的日志;
31.或利用日志的信息层级和内容层级信息精确查找具体日志信息。
32.进一步,所述系统还包括:
33.日志信息过滤模块,用于通过用户动态设置,对日志的上传和存储进行过滤筛选。
34.为实现上述技术目的,本公开还能够提供一种日志管理方法,应用于上述的移动端日志系统中,包括:
35.利用所述日志信息上传模块将本地缓存的日志信息上传至所述移动端日志系统中;
36.利用所述日志样式统一模块对日志信息的样式做统一规划;
37.利用所述日志追踪处理模块对所述移动端日志系统中日志信息进行统合;
38.利用所述日志信息查询模块查找用户需要的日志信息。
39.为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的日志管理方法的步骤。
40.为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的日志管理方法的步骤。
41.本公开的有益效果为:
42.本公开的系统对日志样式统一之后,提升了日志信息可读性。
43.本公开的系统对日志过滤动态设置后,可以根据skywalking的上下文环境、业务状态、日志重要性等选择需要存储和上传的日志。灵活的在统计重要日志信息的同时,减小本地存储和上传的压力。
44.日志通过skywalking的grpc+protobuf通道上传,skywalk-sdk现有鉴权功能可以保证上传通道的安全可靠,防止外部攻击;同时grpc+protobuf方式在日志的频繁上传工作
时可以极大的节约空间和增强效率。
45.结合skywalking后,用户可以清晰的看到日志的上下文环境与前后联系。同时能更细致和全面的复现相关日志的运行场景。
46.结合skywalking后,用户可以利用skywalking的中心对日志信息根据需要可以分类别、时间段、设备、用户等等方式统计日志信息;便于查询的同时也方便工程师从总体和个人或时间段等方面分析问题。
附图说明
47.图1示出了本公开的实施例1的系统的结构示意图;
48.图2示出了本公开的实施例1的系统的日志信息上传模块的日志上传示意图;
49.图3示出了本公开的实施例2的方法的流程示意图;
50.图4示出了本公开的实施例4的结构示意图。
具体实施方式
51.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
52.在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
53.skywalking是一款分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(docker,k8s,mesos)架构而设计,它是一款优秀的apm(application performance management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。利用skywalking的追踪特性,日志系统就可以结合skywalking的trice机制分不同的进程和线程或业务逻辑把每一条相关的日志链接起来;使日志有了一个前后关系和业务关系。并结合日志信息和skywalking的信息分析问题。
54.实施例一:
55.如图1所示:
56.一种移动端日志系统100,所述移动端日志系统100搭载于云端服务器上,包括:
57.日志信息上传模块101,用于将日志信息缓存到本地的缓存文件,当本地缓存的日志信息数量超过预设阈值时,批量上传日志信息至所述云端服务器中的存储器中;
58.日志样式统一模块102,用于对日志信息的样式做统一规划并将所述样式划分为信息层级和内容层级;
59.日志追踪处理模块103,用于对移动端业务进行追踪处理并根据所述追踪处理的结果对移动端业务中的日志进行统合;
60.日志信息查询模块104,用于通过模糊查找或精确查找查询日志信息。
61.其中,本公开所述的移动端日志系统中的日志信息上传模块101依次与日志样式
performance management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。利用skywalking的追踪特性,我们日志就可以结合skywalking的trice机制分不同的进程和线程或业务逻辑把每一条相关的日志链接起来;使日志有了一个前后关系和业务关系。并结合日志信息和skywalking的信息分析问题所在。
84.在移动端,用户可以根据每一个业务划分为不同的trace,生成对应的唯一的traceid;然后在当前业务中产生的日志信息带入traceid信息;当日志信息上传后,在skywalking后台对日志信息先根据traceid信息统合后再通过日志时间关系排序。
85.这种方式可以排除非当前业务的其它日志信息,且能完整的展示一个完整的业务的所有日志信息。简洁高效的帮助开发人员分析业务的运行情况。
86.进一步,所述日志信息上传模块101具体用于:
87.初始化所述日志追踪处理模块中的程序监测工具以及初始化日志头部信息并存储在本地缓存中;
88.判断本地缓存中存储的日志信息中有无错误日志信息,若有,则直接上传至云端服务器中的存储器中,并进一步判断是否上传成功,若成功则结束上传流程,若不成功则缓存至本地缓存等待下次读取上传日志信息;
89.若没有,则继续判断本地缓存的日志信息数量是否超过预设阈值,若超过预设阈值,则批量上传日志信息至云端服务器中的存储器中,并进一步判断是否上传成功,若成功则结束上传流程,若不成功则缓存至本地缓存等待下次读取上传日志信息;
90.若不超过预设阈值,则结束上传流程。
91.如图2所示:
92.示出了日志信息上传模块101的日志上传流程:
93.首先,初始化所述日志追踪处理模块中的程序监测工具,优选skywalking工具,以及初始化日志头部信息如logdebug、logwarn、loginfo、logerror等,并存储在本地缓存中;
94.判断本地缓存中存储的日志信息中有无错误日志信息logerror:
95.若有,则上传至移动端日志系统,
96.并进一步判断是否上传成功:若成功则结束上传流程;若不成功则缓存至本地缓存等待下次读取上传日志信息。
97.若没有,则继续判断本地缓存的日志信息数量是否超过预设阈值:
98.其中,所述预设阈值优选30条日志信息;
99.若超过,则批量上传日志信息至云端服务器中的存储器,
100.并进一步判断是否上传成功:若成功则结束上传流程;若不成功则缓存至本地缓存等待下次读取上传日志信息。
101.若不超过,则结束上传流程。
102.进一步,所述日志信息查询模块104具体用于:
103.利用模糊查找查找和待查找日志相关的日志;
104.或利用日志的信息层级和内容层级信息精确查找具体日志信息。
105.本公开移动端日志系统中的日志信息查询模块104既可以通过传统的模糊查询方式查询日志信息;
106.也可以通过日志时间段、级别、机型、用户id、设备id、应用名称、应用版本号、模块
名称等信息精细查询具体日志信息。
107.同时因为用到了skywalking的机制;所以我们可以通过skywalking的查询和统计,在skywalking中心进行细致查询。
108.进一步,所述系统还包括:
109.日志信息过滤模块,用于通过用户动态设置,对日志的上传和存储进行过滤筛选。
110.本公开的移动端日志系统通过动态设置、在日志存储和上传的过程中做一个日志筛选,将一些不重要的日志过滤;用于减小本地存储和上传的压力。具体过滤判断,也可以通过skywalking的业务状态与上下文关系和场景进行过滤。
111.本公开的移动端日志系统对日志样式统一之后,提升了日志信息可读性。
112.本公开的移动端日志系统对日志过滤动态设置后,可以根据skywalking的上下文环境、业务状态、日志重要性等选择需要存储和上传的日志。灵活的在统计重要日志信息的同时,减小本地存储和上传的压力。
113.日志通过skywalking的grpc+protobuf通道上传,skywalk-sdk现有鉴权功能可以保证上传通道的安全可靠,防止外部攻击;同时grpc+protobuf方式在日志的频繁上传工作时可以极大的节约空间和增强效率。
114.结合skywalking后,用户可以清晰的看到日志的上下文环境与前后联系。同时能更细致和全面的复现相关日志的运行场景。
115.结合skywalking后,用户可以利用skywalking的中心对日志信息根据需要可以分类别、时间段、设备、用户等等方式统计日志信息;便于查询的同时也方便工程师从总体和个人或时间段等方面分析问题。
116.实施例二:
117.为实现上述技术目的,本公开还能够提供一种日志管理方法,应用于上述的移动端日志系统中,包括:
118.s201:利用所述日志信息上传模块101将本地缓存的日志信息上传至所述云端服务器中的存储器中;
119.s202:利用所述日志样式统一模块102对日志信息的样式做统一规划;
120.s203:利用所述日志追踪处理模块103对所述移动端日志系统中日志信息进行统合;
121.s204:利用所述日志信息查询模块104查找用户需要的日志信息。
122.进一步的,所述方法还包括:
123.利用日志信息过滤模块通过用户动态设置,对日志的上传和存储进行过滤筛选。
124.本公开的移动端日志系统通过动态设置、在日志存储和上传的过程中做一个日志筛选,将一些不重要的日志过滤;用于减小本地存储和上传的压力。具体过滤判断,也可以通过skywalking的业务状态与上下文关系和场景进行过滤。
125.本公开的日志管理方法应用在移动端日志系统上,对日志样式统一之后,提升了日志信息可读性。
126.本公开的日志管理方法应用在移动端日志系统上,对日志过滤动态设置后,可以根据skywalking的上下文环境、业务状态、日志重要性等选择需要存储和上传的日志。灵活的在统计重要日志信息的同时,减小本地存储和上传的压力。
127.日志通过skywalking的grpc+protobuf通道上传,skywalk-sdk现有鉴权功能可以保证上传通道的安全可靠,防止外部攻击;同时grpc+protobuf方式在日志的频繁上传工作时可以极大的节约空间和增强效率。
128.结合skywalking后,用户可以清晰的看到日志的上下文环境与前后联系。同时能更细致和全面的复现相关日志的运行场景。
129.结合skywalking后,用户可以利用skywalking的中心对日志信息根据需要可以分类别、时间段、设备、用户等等方式统计日志信息;便于查询的同时也方便工程师从总体和个人或时间段等方面分析问题。
130.实施例三:
131.本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的移动端日志方法的步骤。
132.本公开的计算机存储介质可以采用半导体存储器、磁芯存储器、磁鼓存储器或磁盘存储器实现。
133.半导体存储器,主要用于计算机的半导体存储元件主要有mos和双极型两种。mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。nmos和cmos问世后,使mos存储器在半导体存储器中开始占主要地位。nmos速度快,如英特尔公司的1k位静态随机存储器的存取时间为45ns。而cmos耗电省,4k位的cmos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(ram),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(rom)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。rom又分为不可改写的熔断丝式只读存储器
──
prom和可改写的只读存储器eprom两种。
134.磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4ms~8mb,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
135.磁鼓存储器,一种磁记录的外存储器。由于其信息存取速度快,工作稳定可靠,虽然其容量较小,正逐渐被磁盘存储器所取代,但仍被用作实时过程控制计算机和中、大型计算机的外存储器。为了适应小型和微型计算机的需要,出现了超小型磁鼓,其体积小、重量轻、可靠性高、使用方便。
136.磁盘存储器,一种磁记录的外存储器。它兼有磁鼓和磁带存储器的优点,即其存储容量较磁鼓容量大,而存取速度则较磁带存储器快,又可脱机贮存,因此在各种计算机系统中磁盘被广泛用作大容量的外存储器。磁盘一般分为硬磁盘和软磁盘存储器两大类。
137.硬磁盘存储器的品种很多。从结构上,分可换式和固定式两种。可换式磁盘盘片可调换,固定式磁盘盘片是固定的。可换式和固定式磁盘都有多片组合和单片结构两种,又都可分为固定磁头型和活动磁头型。固定磁头型磁盘的容量较小,记录密度低存取速度高,但造价高。活动磁头型磁盘记录密度高(可达1000~6250位/英寸),因而容量大,但存取速度相对固定磁头磁盘低。磁盘产品的存储容量可达几百兆字节,位密度为每英寸6 250位,道密度为每英寸475道。其中多片可换磁盘存储器由于盘组可以更换,具有很大的脱体容量,
而且容量大,速度高,可存储大容量情报资料,在联机情报检索系统、数据库管理系统中得到广泛应用。
138.实施例四:
139.本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的移动端日志方法的步骤。
140.图4为一个实施例中电子设备的内部结构示意图。如图4所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种通信方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种通信方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
141.该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
142.所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
143.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
144.图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
145.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
146.进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设
备之间建立通信连接。
147.可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
148.进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
149.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
150.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
151.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
152.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1