本发明涉及信息处理技术领域,尤其涉及一种日志上报和接收的方法及系统。
背景技术:
为了分析定位设备的性能或问题,需要抓取设备日志。现有的日志上报流程如图1所示,通常包括以下步骤:
第一步:在系统关键流程添加日志信息。
第二步:系统运行时,记录日志信息。
第三步:将日志信息导出,查看设备日志。
其中,现有技术记录日志信息的方式包括以下3种:
1.在设备内部记录日志信息,再导出日志进行分析。
这种方法应用于很多网络设备中,例如:家庭路由器,光猫等设备,可以记录设备重要的系统日志,用于分析设备问题。然而这种方法也具有它的局限性,包括(1)设备上存储容量有限,不能保存详细的长时间的日志;(2)日志信息不能实时上报,不能实时发现问题并分析;(3)日志保存到内部存储器时,可能会影响系统性能。
2.通过网络方式,将日志实时上报到日志服务器。
这种方法也有局限性,当日志较多时,影响系统性能,占用大量网络带宽。
3.记录关键流程执行次数,查看计数值,实时分析设备问题。
这种方法是实时性系统中应用较多的,数据量相对较少,效率高,可以实时记录系统信息。这种方法的缺点在于counter(计数值)中包含的信息量较少,有些时候不能准确分析设备问题。
技术实现要素:
本发明实施例通过提供一种日志上报和接收的方法及系统,解决实时性系统中日志上报的局限性。
本申请实施例提供一种日志上报方法,包括:
设备端将日志拆分为日志模板和日志数据;
所述设备端将所述日志模板发送至服务器;
所述设备端将所述日志数据发送至所述服务器。
优选的,所述日志模板包括日志编号、日志格式;所述日志数据包括日志编号、日志参数。
优选的,将所述日志模板或所述日志数据发送至所述服务器之前,所述设备端可选择是否开启日志上报。
优选的,所述设备端可选择是否保存所述日志。
优选的,所述设备端可修改日志过滤条件。
本申请实施例提供一种日志接收方法,包括:
服务器接收来自设备端的日志模板;
所述服务器接收来自所述设备端的日志数据;
所述服务器根据所述日志模板格式化所述日志数据,生成日志。
优选的,所述日志模板包括日志编号、日志格式;所述日志数据包括日志编号、日志参数。
优选的,所述服务器可实时显示所述日志的信息,所述服务器可根据时间或关键字过滤所述日志的信息。
本申请实施例提供一种日志上报和接收的系统,包括:设备端和服务器,其中:
所述设备端用于将日志拆分为日志模板和日志数据,并将所述日志模板和所述日志数据分步发送至所述服务器;
所述服务器用于分步接收来自设备端的所述日志模板和所述日志数据,并根据所述日志模板格式化所述日志数据,生成日志。
优选的,所述设备端可选择是否开启日志上报、可选择是否保存所述日志、可修改日志过滤条件;
所述服务器可实时显示所述日志的信息、可根据时间或关键字过滤所述日志的信息。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本申请实施例中,将日志拆分为日志模板和日志数据,设备运行时,需要发送大量日志数据,由于其中大量的日志数据的日志格式是相同的,通过将日志数据与日志模板分离,可以用较少的数据来上报同样信息的日志,提高日志上报的效率,将日志数据的格式化过程放在日志服务器上实现,可以提高日志生成的效率,有效减少日志对设备性能的影响。
附图说明
为了更清楚地说明本实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的日志上报流程图;
图2为本发明实施例提供的一种日志上报和接收的方法的流程图;
图3为本发明实施例提供的一种日志上报和接收的方法的开发示意图;
图4为本发明实施例提供的一种日志上报和接收的方法中的日志数据报文格式示意图。
具体实施方式
本申请实施例通过提供一种日志上报和接收的方法及系统,解决实时性系统中日志上报的局限性。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种日志上报方法,包括:
设备端将日志拆分为日志模板和日志数据;
所述设备端将所述日志模板发送至服务器;
所述设备端将所述日志数据发送至所述服务器。
一种日志接收方法,包括:
服务器接收来自设备端的日志模板;
所述服务器接收来自所述设备端的日志数据;
所述服务器根据所述日志模板格式化所述日志数据,生成日志。
一种日志上报和接收的系统,包括:设备端和服务器,其中:
所述设备端用于将日志拆分为日志模板和日志数据,并将所述日志模板和所述日志数据分步发送至所述服务器;
所述服务器用于分步接收来自设备端的所述日志模板和所述日志数据,并根据所述日志模板格式化所述日志数据,生成日志。
本发明将日志拆分为日志模板和日志数据,设备运行时,需要发送大量日志数据,由于其中大量的日志数据的日志格式是相同的,通过将日志数据与日志模板分离,可以用较少的数据来上报同样信息的日志,提高日志上报的效率,将日志数据的格式化过程放在日志服务器上实现,可以提高日志生成的效率,有效减少日志对设备性能的影响。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本实施例提供了一种日志上报和接收的方法,如图2所示,包括:
设备端将日志拆分为日志模板和日志数据;所述设备端将所述日志模板发送至服务器;所述设备端将所述日志数据发送至所述服务器。
将所述日志模板或所述日志数据发送至所述服务器之前,所述设备端可选择是否开启日志上报。
所述设备端可选择是否保存所述日志。
所述设备端可修改日志过滤条件。
服务器接收来自设备端的日志模板;所述服务器接收来自所述设备端的日志数据;所述服务器根据所述日志模板格式化所述日志数据,生成日志。
所述服务器可实时显示所述日志的信息,所述服务器可根据时间或关键字过滤所述日志的信息。
其中,所述日志模板包括日志编号、日志格式;所述日志数据包括日志编号、日志参数。
上述方法涉及的系统包括:设备端和服务器,其中:
所述设备端用于将日志拆分为日志模板和日志数据,并将所述日志模板和所述日志数据分步发送至所述服务器;
所述服务器用于分步接收来自设备端的所述日志模板和所述日志数据,并根据所述日志模板格式化所述日志数据,生成日志。
其中,所述设备端可选择是否开启日志上报、可选择是否保存所述日志、可修改日志过滤条件;所述服务器可实时显示所述日志的信息、可根据时间或关键字过滤所述日志的信息。
本发明提出的一种日志上报和接收的方法,将日志分为日志模板和日志数据,通过设备端和服务器(日志服务器)分开上报和接收。
本发明的优点包括:
(1)将日志模板和日志数据分开上报和接收,提高日志上报效率,降低对系统性能影响。
(2)日志api与传统日志接口相同或类似,可降低开发难度,减少开发人员的工作量,节约开发成本。
(3)自动生成日志模板文件,提高开发效率。
(4)日志查看直观清晰。
本发明实施包括一台pc机(个人计算机),lte(长期演进)基带处理单元。
所述pc机用来运行日志服务器,收集和保存日志,提供日志查看接口或软件,供用户查看分析日志信息。
所述lte基带处理单元用来在业务运行阶段,实时上报日志。
本发明对比已有技术具有以下创新点:
1.将日志模板和日志数据分开上报或保存。
传统的日志上报,是在设备侧直接生成完整的日志,数据较长。本发明将日志分为日志模板和日志数据,设备运行时,需要发送大量日志数据,其中大量的日志数据的日志格式是相同的,通过将日志数据与日志模板分离,可以用较少的数据来上报同样信息的日志,提高设备上日志生成和上报效率,降低对设备性能的影响。
2.可选择日志保存或上报方式
可通过设备管理程序配置日志是否在设备上保存,是否上报到日志服务器。
3.调试过程中,可实时修改日志过滤条件。
以lte基带系统开发为例,在日志记录点调用日志api(应用程序接口),输入日志id(日志编号)、日志格式信息、日志参数等。预编译时,生成日志模板文件(包含日志编号,日志格式等)。lte基带设备运行时,开启日志上报后,上报日志模板文件到日志服务器,设备通过日志api(应用程序接口)发送日志id(日志编号)、日志参数等数据到日志服务器,日志服务器收到后根据日志模板文件解析日志id(日志编号)、格式化日志参数,生成完整的日志(参见图2)。设备运行时,可通过设备管理程序修改日志过滤条件,更加精准的定位设备问题。日志数据也可实时保存在设备上,当需要查看日志时,从设备上导出日志模板和日志数据到日志服务器,在日志服务器上格式化生成日志。
根据本发明的实施例,提出的一种日志上报和接收的方法,可直接上报日志id和参数数据到日志服务器,在服务器上实时呈现日志信息。通过预编译程序生成日志模板文件,在设备上调用日志api(应用程序接口),将日志id(日志编号)和参数发送到日志服务器,日志服务器根据日志模板文件生成日志。涉及:(1)在系统中调用日志api;(2)预编译生成日志模板文件;(3)上报日志数据;(4)在日志服务器上格式化生成日志。
本发明的开发示意图如图3所示,包括:
预编译,生成日志模板;
设备向日志服务器发送日志模板;
设备运行,发送日志数据;
日志服务器根据日志模板生成日志。
本发明实例包含一台编译服务器,用于预编译生成日志模板文件,编译生成系统程序,并将日志模板文件与系统程序打包生成软件版本;一台pc机,安装有日志服务器软件和日志查看分析软件;一块lte基带处理板,包含msc9132,网口等。
本实施例分为编译服务器上预编译脚本、pc机上日志服务器和日志查看软件、lte基带处理板日志上报等程序开发。
编译服务器:
步骤1,开发预编译脚本,实现对代码的预编译,提取日志api(应用程序接口)中的信息,生成日志模板文件,其中包含日志id(日志编号)和日志模板的映射关系:
日志模板文件示例:
0x10000001,“cellsetupfail!lcid=%d,dl_fcn=%d,ul_fcn=%d,bandwidth=%d”
0x10000002,“recvpci-config-reqlcid=%d,pci=%d,old_pci=%d”
步骤2,编译生成系统程序,将日志模板文件与系统程序打包。
lte基带处理端:
在业务流程中调用日志api,生成日志。日志api(应用程序接口)将日志id(日志编号),参数数据封装后发送到日志服务器。日志报文格式参见图4,包括:日志报文头、日志数据。
日志api调用示例:
debug(0x10000001,“cellsetupfail!lcid=%d,dl_fcn=%d,ul_fcn=%d,bandwidth=%d”,lcid,dl_fcn,ul_fcn,bw);
pc端:
主要完成日志数据的接收和显示,需要开发日志服务器软件和日志查看软件。
日志服务器接收设备发来的日志,根据日志id(日志编号)在日志模板文件中找到对应的日志格式信息,将日志参数按照日志格式生成日志,并保存。日志查看软件可实时显示日志信息,可根据时间或关键字过滤日志信息。
本发明实施例提供的一种日志上报和接收的方法及系统至少包括如下技术效果:
在本申请实施例中,将日志拆分为日志模板和日志数据,设备运行时,需要发送大量日志数据,由于其中大量的日志数据的日志格式是相同的,通过将日志数据与日志模板分离,可以用较少的数据来上报同样信息的日志,提高日志上报的效率,将日志数据的格式化过程放在日志服务器上实现,可以提高日志生成的效率,有效减少日志对设备性能的影响。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。