一种日志记录方法及系统技术方案

技术编号:21034110 阅读:34 留言:0更新日期:2019-05-04 05:22
本发明专利技术提供了一种日志记录方法及系统,属于计算机技术领域。其中,目标处理器可以从所处理的数据包中获取目标数据,以及将获取的目标数据写入指定内存队列中,代理处理器可以从指定内存队列中读取目标数据并写入指定文件中。在记录日志时,目标处理器只需将需要记录的目标数据写入指定内存队列中,进而可以避免目标处理器对指定文件频繁进行打开关闭的操作,减少目标处理器为记录日志所需耗费的时间,进而在实现记录日志的同时,使目标处理器的性能能够最大程度的用在对数据包的正常处理中,保证目标应用各个主线程的正常运行。

A Logging Method and System

【技术实现步骤摘要】
一种日志记录方法及系统
本专利技术属于计算机
,特别是涉及一种日志记录方法及系统。
技术介绍
日志文件作为对应用程序运行时所做出的处理操作的记录,对应用程序的维护具有重要的参考意义,因此,大部分应用程序在运行时,都会记录日志文件。现有技术中,通常是由运行这应用程序主线程的目标处理器在对数据包进行正常处理的同时,提取各个数据包中需要记录的数据,然后写入指定文件中。但是,由于存储日志数据的指定文件需要长久保存,因此,指定文件需要存储在磁盘区域中,这样,目标处理器在向指定文件写入数据时,需要先打开指定文件,并在完成写入操作之后关闭指定文件,整个操作过程较为复杂,对目标处理器的性能消耗较大,且耗费的时间较长,进而会导致目标处理器对数据包的正常处理受到影响,使应用程序的各个主线程的正常运行受到影响。
技术实现思路
有鉴于此,本专利技术提供一种日志记录方法及系统,以便解决记录日志时,对应用程序的整体性能造成较大损耗,进而影响应用的各个主线程正常运行的问题。依据本专利技术的第一方面,提供了一种日志记录方法,应用于包含至少一个目标处理器、至少一个代理处理器以及指定内存队列的系统,该方法可以包括:对所述至少一个目标处理器中的任一目标处理器,所述目标处理器从所处理的数据包中获取目标数据;其中,所述目标处理器为运行目标应用主线程的处理器;所述目标处理器将获取的目标数据写入指定内存队列;对于所述至少一个代理处理器中的任一代理处理器,所述代理处理器从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件。可选的,所述目标处理器将获取的目标数据写入指定内存队列,包括:所述目标处理器在所述指定内存队列的长度值不为零时,将获取的所述数据包中的目标数据作为所述指定内存队列中的一个元素,写入所述指定内存队列;所述目标处理器将所述指定内存队列的长度值减去预设量;其中,所述长度值的初始值为所述指定内存队列所包含的元素个数与预设量的乘积。可选的,所述代理处理器从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件,包括:所述代理处理器读取所述指定内存队列中的每个元素中的目标数据,并将所述指定内存队列的长度值增加所述预设量;所述代理处理器在读取的元素个数满足预设个数阈值时,将所读取的每个元素中的目标数据写入所述指定文件中。可选的,所述系统还包括划分处理器;所述目标处理器从所处理的数据包中获取目标数据之前,所述方法还包括:所述划分处理器根据预设的数量比值,将所述系统中包含的处理器划分为目标处理器以及代理处理器;所述划分处理器在所述目标应用启动时,将所述目标应用启动的各个主线程分别与所述目标处理器绑定;所述划分处理器为所述系统包含的任一处理器。可选的,所述划分处理器将所述目标应用启动的各个主线程分别与所述目标处理器绑定之后,所述方法还包括:所述划分处理器判断所述目标应用启动的主线程的个数是否大于所述目标处理器的个数;若所述目标应用启动的主线程的个数大于所述目标处理器的个数,则所述划分处理器控制目标设备显示处理器扩增提醒;其中,所述目标设备为运行所述系统的设备,所述处理器扩容提醒用于指示用户为所述目标设备增加处理器。依据本专利技术的第二方面,提供了一种日志记录系统,该系统包括:至少一个目标处理器、至少一个代理处理器以及指定内存队列;其中,对于所述至少一个目标处理器中的任一目标处理器,所述目标处理器,用于从所处理的数据包中获取目标数据;其中,所述目标处理器为运行目标应用主线程的处理器;所述目标处理器,还用于将获取的目标数据写入指定内存队列中;对于所述至少一个代理处理器中的任一代理处理器,所述代理处理器,用于从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件。可选的,所述目标处理器,还用于在所述指定内存队列的长度值不为零时,将获取的所述数据包中的目标数据作为所述指定内存队列中的一个元素,写入所述指定内存队列;所述目标处理器,还用于将所述指定内存队列的长度值减去预设量;其中,所述长度值的初始值为所述指定内存队列所包含的元素个数与预设量的乘积。可选的,所述代理处理器,还用于读取所述指定内存队列中的每个元素中的目标数据,并将所述指定内存队列的长度值增加所述预设量;所述代理处理器,还用于在读取的元素个数满足预设个数阈值时,将所读取的每个元素中的目标数据写入所述指定文件中。可选的,所述系统还包括划分处理器;所述划分处理器,用于根据预设的数量比值,将所述系统中包含的处理器划分为目标处理器以及代理处理器;所述划分处理器,还用于在所述目标应用启动时,将所述目标应用启动的各个主线程分别与所述目标处理器绑定;所述划分处理器为所述系统包含的任一处理器。可选的,所述划分处理器,还用于判断所述目标应用启动的主线程的个数是否大于所述目标处理器的个数;所述划分处理器,还用于若所述目标应用启动的主线程的个数大于所述目标处理器的个数,则控制目标设备显示处理器扩增提醒;其中,所述目标设备为运行所述系统的设备,所述处理器扩容提醒用于指示用户为所述目标设备增加处理器。针对在先技术,本专利技术具备如下优点:目标处理器可以从所处理的数据包中获取目标数据,其中,目标处理器为运行目标应用主线程的处理器,接着,目标处理器可以将获取的目标数据写入指定内存队列中,最后,代理处理器可以从指定内存队列中读取目标数据,并写入指定文件,实现了数据读取与写入文件的操作分离。在记录日志时,目标处理器只需将需要记录的目标数据写入指定内存队列中,代理处理器会从指定内存队列中读取目标数据并写入指定文件中,进而可以避免目标处理器对指定文件频繁进行打开关闭的操作,减少目标处理器为记录日志所需耗费的时间,进而在实现记录日志的同时,使目标处理器的性能能够最大程度的用在对数据包的正常处理中,保证目标应用各个主线程的正常运行。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例提供的一种日志记录方法的步骤流程图;图2-1是本专利技术实施例提供的另一种日志记录方法的步骤流程图;图2-2是本专利技术实施例提供的一种日志记录系统的应用示意图;图3是本专利技术实施例提供的一种日志记录系统的框图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。本专利技术实施例给出一种日志记录方法,该日志记录方法应用于包含至少一个目标处理器、至少一个代理处理器以及指定内存队列的系统,其中,目标处理器为运行目标应用主线程的处理器,代理处理器为独立于目标处理器的处理器,代理处理器用于执行除运行目标应用主线程之外的其他操作,指定内存队列为预先在运行该系统的设备的本文档来自技高网...

【技术保护点】
1.一种日志记录方法,其特征在于,应用于包含至少一个目标处理器、至少一个代理处理器以及指定内存队列的系统,所述方法包括:对所述至少一个目标处理器中的任一目标处理器,所述目标处理器从所处理的数据包中获取目标数据;其中,所述目标处理器为运行目标应用主线程的处理器;所述目标处理器将获取的目标数据写入指定内存队列;对于所述至少一个代理处理器中的任一代理处理器,所述代理处理器从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件。

【技术特征摘要】
1.一种日志记录方法,其特征在于,应用于包含至少一个目标处理器、至少一个代理处理器以及指定内存队列的系统,所述方法包括:对所述至少一个目标处理器中的任一目标处理器,所述目标处理器从所处理的数据包中获取目标数据;其中,所述目标处理器为运行目标应用主线程的处理器;所述目标处理器将获取的目标数据写入指定内存队列;对于所述至少一个代理处理器中的任一代理处理器,所述代理处理器从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件。2.根据权利要求1所述的方法,其特征在于,所述目标处理器将获取的目标数据写入指定内存队列,包括:所述目标处理器在所述指定内存队列的长度值不为零时,将获取的所述数据包中的目标数据作为所述指定内存队列中的一个元素,写入所述指定内存队列;所述目标处理器将所述指定内存队列的长度值减去预设量;其中,所述长度值的初始值为所述指定内存队列所包含的元素个数与预设量的乘积。3.根据权利要求2所述的方法,其特征在于,所述代理处理器从所述指定内存队列中读取所述目标数据,并写入指定文件,得到日志文件,包括:所述代理处理器读取所述指定内存队列中的每个元素中的目标数据,并将所述指定内存队列的长度值增加所述预设量;所述代理处理器在读取的元素个数满足预设个数阈值时,将所读取的每个元素中的目标数据写入所述指定文件中。4.根据权利要求1所述的方法,其特征在于,所述系统还包括划分处理器;所述目标处理器从所处理的数据包中获取目标数据之前,所述方法还包括:所述划分处理器根据预设的数量比值,将所述系统中包含的处理器划分为目标处理器以及代理处理器;所述划分处理器在所述目标应用启动时,将所述目标应用启动的各个主线程分别与所述目标处理器绑定;所述划分处理器为所述系统包含的任一处理器。5.根据权利要求4所述的方法,其特征在于,所述划分处理器将所述目标应用启动的各个主线程分别与所述目标处理器绑定之后,所述方法还包括:所述划分处理器判断所述目标应用启动的主线程的个数是否大于所述目标处理器的个数;若所述目标应用启动的主线程的个数大于所述目标处理器的个数,则所述划分处理器控制目标设备显示处...

【专利技术属性】
技术研发人员:王庆
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1