本申请属于计算机,尤其涉及一种日志处理方法、装置、设备、可读存储介质和车辆。
背景技术:
1、网络设备、系统及服务程序等,在运作时都会产生日志,日志中可以记载着日期、时间、使用者及动作等相关操作的描述。通常,可以对网络设备、系统及服务程序配置对日志进行处理的系统,例如,日志服务系统(log-server)。日志服务系统可以将日志按照生成的时间顺序依次输出。
2、然而,在一些网络设备、系统及服务程序中,存在彼此独立的应用进程,相应的,应用进程间的日志也彼此独立。目前,可以通过进程间通信(inter-process communication,ipc)的方式实现进程与进程之间的信息传输,以及进程与日志处理系统信息传输,但是当日志的数量较多时,ipc的通信方式将会明显降低日志处理系统处理速度,难以快速按照时间顺序输入不同进程产生的日志。
技术实现思路
1、本申请实施例提供一种日志处理方法、装置、设备、可读存储介质和车辆,能够提高日志处理系统处理速度,快速按照时间顺序输入不同进程产生的日志。
2、第一方面,本申请实施例提供一种日志处理方法,方法应用于日志处理系统,日志处理系统用于处理n个应用进程生成的日志,每个应用进程对应一个共享内存,每个共享内存对应一个内存标识,每个共享内存包括m个存储空间,每个存储空间对应一个存储标识,方法包括:
3、根据每个应用进程对应共享内存的内存标识,查找每个内存标识对应的共享内存和第一存储标识,其中,第一存储标识对应m个存储空间中的第一目标存储空间,第一目标存储空间用于存储第一目标日志和第一目标日志的时间戳,第一目标日志为内存标识对应应用进程生成的至少一个未处理的日志中时间戳最小的日志;
4、从n个第一存储标识对应的n个第一目标存储空间中,分别获取第一目标日志的时间戳,得到n个时间戳;
5、输出n个时间戳中最小的时间戳对应的日志。
6、在第一方面的一些可实现方式中,n个时间戳中最小的时间戳对应的日志为第二目标日志;在输出n个时间戳中最小的时间戳对应的日志之后,方法还包括:
7、确定n个时间戳中最小的时间戳对应的日志为已处理的第二目标日志,其中,第二目标日志由n个应用进程中目标应用进程生成;
8、获取目标应用进程生成的未处理的至少一个日志中每个日志的时间戳;
9、将目标应用进程的第一存储标识更新为目标应用进程生成的未处理的至少一个日志中时间戳最小的日志所在存储空间的存储标识。
10、在第一方面的一些可实现方式中,在输出n个时间戳中最小的时间戳对应的日志之后,方法还包括:
11、删除第一目标存储空间中存储的日志和日志的时间戳。
12、在第一方面的一些可实现方式中,根据每个应用进程的内存标识,查找每个内存标识对应的共享内存和第一存储标识之前,方法还包括:
13、接收应用进程的日志处理请求;
14、响应于日志处理请求,确定日志处理序号;
15、根据日志处理序号,确定日志的存储标识;
16、向应用进程发送日志的存储标识,以使应用进程将日志和日志的时间戳存入日志的存储标识对应的存储空间。
17、在第一方面的一些可实现方式中,每个应用进程的共享内存包括m个存储空间,其中,m=2x,x为正整数;
18、根据日志处理序号,确定日志的存储标识,包括:
19、对日志处理序号和预设数值的进行与运算处理,得到日志的存储标识,其中预设数值的大小为m-1。
20、第二方面,本申请实施例提供一种日志处理装置,装置应用于日志处理系统,日志处理系统用于处理n个应用进程生成的日志,每个应用进程对应一个共享内存,每个共享内存包括m个存储标识和与m个存储标识一一对应的m个存储空间,每个存储空间用于存储应用进程生成的日志和日志的时间戳,该日志处理装置包括:
21、获取模块,用于获取每个应用进程的共享内存的地址和第一存储标识,其中,第一存储标识对应的存储空间用于存储应用进程待处理的日志;
22、处理模块,用于根据每个应用进程的共享内存的地址和第一存储标识,确定n个应用进程对应的n个日志的时间戳;
23、处理模块,还用于根据n个日志的时间戳,从n个第一存储标识中确定目标存储标识,并将目标存储标识对应存储空间存储的日志作为目标日志。
24、在第二方面的一些可实现方式中,n个时间戳中最小的时间戳对应的日志为第二目标日志;装置还包括:
25、处理模块,用于确定n个时间戳中最小的时间戳对应的日志为已处理的第二目标日志,其中,第二目标日志由n个应用进程中目标应用进程生成;
26、获取模块,还用于获取目标应用进程生成的未处理的至少一个日志中每个日志的时间戳;
27、处理模块,还用于将目标应用进程的第一存储标识更新为目标应用进程生成的未处理的至少一个日志中时间戳最小的日志所在存储空间的存储标识。
28、第三方面,本申请提供一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面或者第一方面任一可实现方式中所述的日志处理方法。
29、第四方面,本申请提供一种可读存储介质,可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面任一可实现方式中所述的日志处理方法。
30、第五方面,本申请提供一种车辆,该车辆包括如第二方面或者第二方面任一可实现方式中所述的日志处理装置,或者包括如第三方面中所述的电子设备,或者如第四方面中所述的可读存储介质。
31、本申请实施例的提供的日志处理方法、装置、设备、可读存储介质和车辆。在本申请实施例日志处理方法可以应用于日志处理系统。具体地,日志处理系统通过获取每个应用进程对应共享内存的内存标识,可以方便、快速得访问每个应用进程对应的共享内存。其中,第一存储标识对应m个存储空间中的第一目标存储空间,第一目标存储空间用于存储第一目标日志和第一目标日志的时间戳,第一目标日志为内存标识对应应用进程生成的至少一个未处理的日志中时间戳最小的日志。接下来,日志处理系统可以从n个第一存储标识对应的n个第一目标存储空间中,分别获取第一目标日志的时间戳,得到n个时间戳。接下来,通过对比n个日志的时间戳,可以输出n个时间戳中最小的时间戳对应的日志。如此,日志处理系统可以快速将n个应用进程产生的日志按照时间顺序依次输出。由于日志处理系统可以方便、快速得访问每个应用进程的共享内存,从而能够有效提高日志处理系统处理速度。
1.一种日志处理方法,其特征在于,所述方法应用于日志处理系统,所述日志处理系统用于处理n个应用进程生成的日志,每个所述应用进程对应一个共享内存,每个所述共享内存对应一个内存标识,每个所述共享内存包括m个存储空间,每个所述存储空间对应一个存储标识,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述输出所述n个时间戳中最小的时间戳对应的日志之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在所述输出所述n个时间戳中最小的时间戳对应的日志之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述根据每个所述应用进程的内存标识,查找每个所述内存标识对应的共享内存和第一存储标识之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,每个所述应用进程的共享内存包括m个存储空间,其中,m=2x,x为正整数;
6.一种日志处理装置,其特征在于,所述装置应用于日志处理系统,所述日志处理系统用于处理n个应用进程生成的日志,每个所述应用进程对应一个共享内存,每个所述共享内存对应一个内存标识,每个所述共享内存包括m个存储空间,每个所述存储空间对应一个存储标识,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述n个时间戳中最小的时间戳对应的日志为第二目标日志;所述装置还包括:
8.一种电子设备,其特征在于,所述设备包括:处理器,以及存储有计算机程序指令的存储器;
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的日志处理方法。
10.一种车辆,其特征在于,所述车辆包括如权利要求6或7所述的日志处理装置,或者包括如权利要求8所述的电子设备,或者如权利要求9所述的可读存储介质。