CN111143157B - 故障日志处理方法和装置 - Google Patents
故障日志处理方法和装置 Download PDFInfo
- Publication number
- CN111143157B CN111143157B CN201911220005.4A CN201911220005A CN111143157B CN 111143157 B CN111143157 B CN 111143157B CN 201911220005 A CN201911220005 A CN 201911220005A CN 111143157 B CN111143157 B CN 111143157B
- Authority
- CN
- China
- Prior art keywords
- log information
- information
- basic
- parts
- sub
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000004891 communication Methods 0.000 claims description 88
- 230000015654 memory Effects 0.000 claims description 54
- 238000010606 normalization Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- JHIVVAPYMSGYDF-UHFFFAOYSA-N cyclohexanone Chemical compound O=C1CCCCC1 JHIVVAPYMSGYDF-UHFFFAOYSA-N 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 2
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种故障日志处理方法和装置,该方法包括:终端设备在检测到故障发生后,获取故障日志信息,故障日志信息包括N份基础日志信息;根据每份基础日志信息,获得每份基础日志信息的特征信息;根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息;再向服务器发送L份子日志信息以及其它基础日志信息的特征信息。服务器根据其它基础日志信息的特征信息,获取其它基础日志信息中的Q份基础日志信息;根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息。因此,终端设备无需发送全部基础日志信息,节省网络带宽资源。
Description
技术领域
本申请实施例涉及一种通信技术领域,尤其涉及一种故障日志处理方法和装置。
背景技术
为了便于用户正常使用终端设备,终端设备中一般运行有系统和应用程序供用户来操作来完成所需的任务。但是在运行过程中系统或应用程序有时会出现故障,在出现故障后,终端设备会采集该故障的故障日志,并将采集到的故障日志发送给相应的服务器,服务器接收到终端设备的故障日志后,根据该故障日志可以确定出现的故障的原因,以便解决终端设备中出现的故障。但是现有技术中,终端设备向服务器发送的故障日志的数据量大,消耗更多的网络带宽资源。
发明内容
本申请实施例提供一种故障日志处理方法和装置,用于减少终端设备向服务器发送的有关故障日志的数据量,节省网络带宽资源。
第一方面,本申请实施例提供一种故障日志处理方法,包括:
终端设备在检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息,所述N为大于等于2;
所述终端设备根据每份基础日志信息,获得每份基础日志信息的特征信息;
所述终端设备根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,M为大于等于2的整数,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,所述K为小于N的整数;
所述终端设备向服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息,所述L为小于M的正整数。
在一种可能的实现方式中,所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息之前,还包括:
所述终端设备根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述终端设备根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息,包括:
所述终端设备根据所述标识信息,对所述M求余运算,获得余数值;
所述终端设备根据所述余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述终端设备根据所述标识信息,对所述M求余运算,获得余数值,包括:
所述终端设备根据所述标识信息和预设值,对所述M求余运算,获得余数值;
其中,所述预设值是所述终端设备从所述服务器周期性接收的。
在一种可能的实现方式中,所述L份子日志信息在所述M份子日志信息中的序号与所述余数值有关。
在一种可能的实现方式中,所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息之前,还包括:
所述终端设备获取所述故障日志信息的故障特征信息;
所述终端设备确定所述终端设备是否存储有所述故障特征信息;
所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息,包括:
若所述终端设备未存储有所述故障特征信息,则所述终端设备向所述服务器发送所述L份子日志信息。
在一种可能的实现方式中,所述终端设备还存储所述故障特征信息。
在一种可能的实现方式中,所述终端设备还向所述服务器发送所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述终端设备获取所述故障日志信息的故障特征信息,包括:
所述终端设备根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中最有可能确定出所述故障的前P份基础日志信息中的特征信息,获得所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述终端设备根据每份基础日志信息,获得每份基础日志信息的特征信息,包括:
所述终端设备对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据;
所述终端设备根据每份基础日志信息的归一化数据,获得每份基础日志信息的特征信息;
所述终端设备根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,包括:
所述终端设备根据所述N份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
第二方面,本申请实施例提供一种故障日志处理方法,包括:
服务器接收终端设备发送的L份子日志信息以及N份基础日志信息中除用于生成所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,M为大于等于2的整数,所述L为小于M的正整数,所述K为小于N的整数;
所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,所述Q为整数;
所述服务器根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息;
其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的。
在一种可能的实现方式中,所述方法还包括:
所述服务器还接收所述终端设备发送的所述故障日志信息的故障特征信息;
所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,包括:
所述服务器根据所述故障日志信息的故障特征信息,获取与所述故障特征信息对应的基础日志信息;
所述服务器根据所述其它基础日志信息的特征信息,从与所述故障特征信息对应的基础日志信息中获取所述Q份基础日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,包括:
所述服务器根据所述其它基础日志信息的特征信息,获取所述其它基础日志信息中Q份基础日志信息的归一化数据;
所述服务器根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息,包括:
所述服务器根据所述Q份基础日志信息的归一化数据和所述L份子日志信息中包括的基础日志信息的归一化数据,获得故障日志信息。
第三方面,本申请实施例提供一种通信装置,包括:
检测模块,用于检测终端设备是否发生故障;
处理模块,用于在所述检测模块检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息,所述N为大于等于2;根据每份基础日志信息,获得每份基础日志信息的特征信息;根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,M为大于等于2的整数,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,所述K为小于N的整数;
收发模块,用于向所述服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息,所述L为小于M的正整数。
在一种可能的实现方式中,所述处理模块,还用于在所述收发模块向所述服务器发送所述M份子日志信息中的L份子日志信息之前,根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述处理模块,具体用于:根据所述标识信息,对所述M求余运算,获得余数值;根据所述余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述处理模块,具体用于:根据所述标识信息和预设值,对所述M求余运算,获得余数值;
其中,所述预设值是所述收发模块从所述服务器周期性接收的。
在一种可能的实现方式中,所述L份子日志信息在所述M份子日志信息中的序号与所述余数值有关。
在一种可能的实现方式中,所述处理模块,还用于在所述收发模块向所述服务器发送所述M份子日志信息中的L份子日志信息之前,获取所述故障日志信息的故障特征信息,并确定所述终端设备是否存储有所述故障特征信息;
所述收发模块,具体用于:若所述终端设备未存储有所述故障特征信息,则向所述服务器发送所述L份子日志信息。
在一种可能的实现方式中,所述通信装置还包括:
存储模块,用于存储所述故障特征信息。
在一种可能的实现方式中,所述收发模块,还用于向所述服务器发送所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中最有可能确定出所述故障的前P份基础日志信息中的特征信息,获得所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述处理模块,在根据每份基础日志信息,获得每份基础日志信息的特征信息时,具体用于:
对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据;
根据每份基础日志信息的归一化数据,获得每份基础日志信息的特征信息;
所述处理模块,在根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息时,具体用于:根据所述N份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
第三方面本申请实施例提供的通信装置可以为终端设备。
第四方面,本申请实施例提供一种通信装置,包括:
接收模块,用于接收终端设备发送的L份子日志信息以及N份基础日志信息中除用于生成所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,M为大于等于2的整数,所述L为小于M的正整数,所述K为小于N的整数;
处理模块,用于根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,所述Q为整数;以及根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息;
其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的。
在一种可能的实现方式中,所述接收模块,还用于接收所述终端设备发送的所述故障日志信息的故障特征信息;
所述处理模块,具体用于:根据所述故障日志信息的故障特征信息,获取与所述故障特征信息对应的基础日志信息;根据所述其它基础日志信息的特征信息,从与所述故障特征信息对应的基础日志信息中获取所述Q份基础日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述处理模块在根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息时,具体用于:
根据所述其它基础日志信息的特征信息,获取所述其它基础日志信息中Q份基础日志信息的归一化数据;
所述处理模块在根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息时,具体用于:根据所述Q份基础日志信息的归一化数据和所述L份子日志信息中包括的基础日志信息的归一化数据,获得故障日志信息。
第四方面本申请实施例提供的通信装置可以为服务器。
第五方面,本申请实施例提供一种通信装置,包括:存储器和处理器,所述存储器与所述处理器耦合。所述存储器用于存储程序指令。所述处理器用于调用所述存储器中的程序指令执行如第一方面至第一方面的任一种可能的实现方式中任一项所描述的故障日志处理方法。在一种可能的实现方式中,所述处理器为一个或多个。
在一种可能的实现方式中,通信装置还可以包括收发器,该处理器用于控制收发器收发信号。
第六方面,本申请实施例提供一种通信装置,包括:存储器和处理器,所述存储器与所述处理器耦合。所述存储器用于存储程序指令。所述处理器用于调用所述存储器中的程序指令执行如第二方面至第二方面的任一种可能的实现方式中任一项所描述的故障日志处理方法。在一种可能的实现方式中,所述处理器为一个或多个。
在一种可能的实现方式中,通信装置还可以包括通信接口,该处理器用于控制通信接口收发信号。
第七方面,本申请实施例提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以进行第一方面至第一方面的任一种可能的实现方式中任一项所描述的故障日志处理方法,或者,以进行第二方面至第二方面的任一种可能的实现方式中任一项所描述的故障日志处理方法。
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
第八方面,本申请实施例提供一种通信装置,包括:
用于实现第一方面的故障日志处理方法的模块,部件或者电路;或者,
用于实现第二方面的故障日志处理方法的模块,部件或者电路。
第九方面,本申请实施例提供一种通信装置,包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中终端设备或服务器相应的功能。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。
在一种可能的实现方式中,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存相应通信装置必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述通信单元可以是收发器,或收发电路。在一种可能的实现方式中,所述收发器也可以为输入/输出电路或者接口。
第十方面,本申请实施例提供一种系统,该系统包括上述终端设备和上述服务器。
第十一方面,本申请实施例提供一种计算机可读存储介质,用于存储计算机程序;
该计算机程序包括用于执行第一方面或第一方面中任一种可能实现方式中的方法的指令;或者,
该计算机程序包括用于执行第二方面或第二方面中任一种可能实现方式中的方法的指令。
第十二方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面中任一种可能实现方式中的方法,或者,
使得计算机执行上述第二方面或第二方面中任一种可能实现方式中的方法。
通过本申请实施例提供的故障日志处理方法和装置,终端设备向服务器发送L份子日志信息以及N份基础日志信息中除用于生成L份子日志信息之外的其它基础日志信息的特征信息,服务器也可获得故障日志信息,终端设备无需发送全部基础日志信息,节省网络带宽资源。
附图说明
图1为本申请一实施例提供的通信系统的示意图;
图2为本申请一实施例提供的故障日志处理方法的流程图;
图3为本申请另一实施例提供的故障日志处理方法的流程图;
图4为本申请一实施例提供的通信装置的结构示意图;
图5为本申请另一实施例提供的通信装置的结构示意图;
图6为本申请另一实施例提供的通信装置的结构示意图;
图7为本申请另一实施例提供的通信装置的结构示意图;
图8为本申请一实施例提供的一种终端设备的结构示意图;
图9为本申请一实施例提供的一种通信系统的结构示意图。
具体实施方式
图1为本申请一实施例提供的通信系统的示意图,如图1所示,通信系统包括服务器和终端设备。
终端设备:可以是无线终端设备也可以是有线终端设备,无线终端设备可以是指一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、带有线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端、增强现实(Augmented Reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等,在此不作限定。可以理解的是,本申请实施例中,终端设备也可以称为用户设备(user equipment,UE)。
服务器可以是终端设备上安装的应用程序所对应的应用程序服务器,例如:不同的应用程序对应的服务器可以不相同。
若终端设备上的应用程序出现故障,则可以通过下述本申请各实施例的方案来向相应的服务器上报故障日志。
图2为本申请一实施例提供的故障日志处理方法的流程图,如图2所示,本实施例的方法可以包括:
S201、终端设备在检测到故障发生后,获取故障日志信息。
本实施例中,终端设备在检测到故障发生后,获取该故障的故障日志信息,该故障例如可以是安装在终端设备上的应用程序出现的故障,该故障又例如是运行在该终端设备上的操作系统出现的故障,本实施例并不限于此。
其中,获取到的所述故障日志信息包括N份基础日志信息,所述N为大于等于2。
可选地,该N份基础日志信息例如可以包括如下至少两项:信号信息、寄存器信息、调用栈信息、寄存器附近内存信息、栈附近内存信息、Maps映射信息、进程处理器使用信息、进程内存使用信息、进程输入输出使用信息、进程流程信息、进程内运行状态信息。
S202、所述终端设备根据每份基础日志信息,获得每份基础日志信息的特征信息。
本实施例中,终端设备根据获得的每份基础日志信息,获得每份基础日志信息的特征信息,例如终端设备根据基础日志信息A,获得基础日志信息A的特征信息;根据基础日志信息B,获得基础日志信息B的特征信息。
S203、所述终端设备根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息。
本实施例中,终端设备根据N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,其中,M为大于等于2的整数。其中,每份子日志信息是由至少K份基础日志信息和该至少K份基础日志信息的特征信息生成,K为小于N的整数。
其中,M可以等于N,也可以小于N,也可以大于N。若M等于N,每份子日志信息分别由一份基础日志信息和该一份基础日志信息的特征信息生成。若M小于N,则有些子日志信息中的每份子日志信息可以由一份基础日志信息和该一份基础日志信息的特征信息生成,而有些子日志信息中的每份子日志信息可以由多份基础日志信息和该多份份基础日志信息的特征信息生成。若M大于N,则有些子日志信息中的每份子日志信息可以由一份基础日志信息和该一份基础日志信息的特征信息生成,而有些子日志信息中的每份子日志信息可以由多份基础日志信息和该多份基础日志信息的特征信息生成,还有一些子日志信息中的每份子日志信息可以为空。
S204、所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息。相应地,服务器接收终端设备发送所述L份子日志信息以及所述其它基础日志信息的特征信息。
本实施例中,终端设备获得M份子日志信息之后,可以从M份子日志信息中确定L份子日志信息,然后将L份子日志信息发送给服务器。其中,L为小于M的正整数。由于终端设备可以向服务器发送L份子日志信息,所以终端设备向服务器发送了用于生成该L份子日志信息的基础日志信息,例如:每份子日志信息是由一份基础日志信息生成,则还存在N份基础日志信息中除该L份基础日志信息之外的其它基础日志信息未发送给服务器,所以终端设备可以将N份基础日志信息中除该L份基础日志信息之外的其它基础日志信息的特征信息发送给服务器,该其它基础日志信息例如为N-L份基础日志信息。
相应地,服务器接收终端设备发送的所述L份子日志信息以及所述其它基础日志信息的特征信息。
可选地,终端设备可以将所述L份子日志信息以及所述其它基础日志信息的特征信息通过同一消息发送给服务器。或者,终端设也可以将所述L份子日志信息以及所述其它基础日志信息的特征信息通过不同的消息发送给服务器,例如,终端设备将所述L份子日志信息通过同一消息发送给服务器,将其它基础日志信息的特征信息通过另一消息发送给服务器。
S205、所述服务器根据N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息。
本实施例中,服务器根据L份子日志信息可以获得用于生成L份子日志信息的基础日志信息,例如L份基础日志信息。服务器根据所述其它基础日志信息的特征信息,在本地查找是否保存有所述其它基础日志信息,若服务器当前保存有Q份基础日志信息,则服务器可以获取到其它基础日志信息中的Q份基础日志信息,所述Q为整数;例如其它基础日志信息为N-L份基础日志信息,则Q为小于等于N-L的整数。
其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的,其中该Q份基础日志信息可以是服务器通过上述方式从其它至少一个终端设备接收的,具体实现过程类似,此处不再赘述。
需要说明的是,若服务器已从其它至少一个终端设备接收到其它基础日志信息中的Q份基础日志信息,则服务器根据其它基础日志信息中的特征信息,可以获取到Q份基础日志信息,还有N-L-Q份基础日志信息暂时未获取到,服务器可以继续等待其它终端设备发送剩下的N-L-Q份基础日志信息。若服务器已从其它至少一个终端设备接收到所有其它基础日志信息,则服务器根据其它基础日志信息中的特征信息,可以获取到所有其它基础日志信息(即Q份基础日志信),该Q份基础日志信息例如为N-L份基础日志信息。
S206、所述服务器根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息。
本实施例中,服务器根据上述获得的Q份基础日志信息以及从终端设备处获得的用于生成L份子日志信息的基础日志信息,获得故障日志信息。服务器根据获得的故障日志信息对故障进行定位。在一些实现方式中,服务器获得的故障日志信息可能缺少N份基础日志信息中的部分基础日志信息,服务器也有可能准确地定位出故障。
其中,服务器在接收到L份子日志信息后,还可以保存该L份子日志信息,以便其它终端设备无需向服务器发送该L份子日志信息,而发送该L份子日志信息中的特征信息,服务器可以获取用于生成该L份子日志信息的基础日志信息,也可以用于定位到其它终端设备的故障。
可选地,服务器可以根据用于生成L份子日志信息的基础日志信息的数量以及Q的数值,决定是否保存上述获得的故障日志信息。例如若用于生成L份子日志信息的基础日志信息的数量以及Q的数值之和大于预设数值,则保存上述获得的故障日志信息,若用于生成L份子日志信息的基础日志信息的数量以及Q的数值之和小于或等于预设数值,则不保存上述获得的故障日志信息。
本实施例中,终端设备在检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息,并根据每份基础日志信息,获得每份基础日志信息的特征信息,然后根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,并向所述服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息。相应地,所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,以及根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息。因此,终端设备向服务器发送部分基础日志信息以及其它基础日志信息的特征信息,服务器即可获得故障日志信息,终端设备无需发送全部基础日志信息,节省网络带宽资源。
在一些实施例中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。相应地,上述S203的一种可能的实现方式为:终端设备将所述N份基础日志信息和每份基础日志信息的特征信息进行切片处理,获得M份子日志信息,每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。服务器接收到L份子日志信息后,可以获取L份子日志信息中每份子日志信息包括的基础日志信息和基础日志信息的特征信息。因此,本实施例中,终端设备可以直接向服务器发送N份基础日志信息中的部分基础日志信息和该部分基础日志信息的特征信息。以L份子日志信息中每份子日志信息包括一份基础日志信息为例,服务器还可以保存该L份子日志信息中的基础日志信息(即L份基础日志信息)以及相应地L份基础日志信息的特征信息,以便服务器接收其它终端设备发送的L份基础日志信息中至少一份基础日志信息的特征信息后,可以从保存的信息中获取到该至少一份基础日志信息。
在一些实施例中,图3为本申请另一实施例提供的故障日志处理方法的流程图,如图3所示,本实施例的方法可以包括:
S301、终端设备在检测到故障发生后,获取故障日志信息。
本实施例中,S301的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S302、所述终端设备对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据。
本实施例中,终端设备对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据,以滤除终端设备的用户个人隐私数据,避免用户隐私数据的泄漏。
S303、所述终端设备根据每份基础日志信息的归一化数据,获得每份基础日志信息的特征信息。
本实施例中,终端设备在获得基础日志信息的归一化数据后,根据基础日志信息的归一化数据,获得基础日志信息的特征信息,例如可以根据基础日志信息的归一化数据和MD5算法,获得基础日志信息的特征信息。
下面以N份基础日志信息分别为信号信息、调用栈信息、寄存器信息、寄存器附近内存信息、栈附近内存信息、Maps映射信息为例。
例如:信号信息如下所示:
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x558f9cf0cc
Pid:7682Process Name:crashtesttool
其中,对信号信息进行归一化处理,获得的归一化数据如下所示:
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x130bc/system/bin/crashtesttool
Process Name:crashtesttool
其中,信号信息的归一化数据的特征信息如下所示(MD5):
bd242eb910c4d46e592d1b85a0b1225f
例如:调用栈信息如下所示:
Tid:7682Thread Name:crashtesttool
Collect Time:2019-06-27 09:29:53
Stacktrace:
#00:0x00000000000130bc(0x000000558f9cf0bc) /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#01:0x00000000000134c8(0x000000558f9cf4c8) /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#02:0x000000000001365c(0x000000558f9cf65c) /system/bin/crashtesttool_ZNSt3__113__vector_baseINS_9sub_matchINS_11__wrap_iterIPKcEEEE(+0x70)
#03:0x00000000000aca50(0x0000007fa37afa50)/system/lib64/libc.so__libc_init(+0x5c)
#04:0x0000000000013050(0x000000558f9cf050) /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
其中,对调用栈信息进行归一化处理,获得的归一化数据如下所示:
Thread Name:crashtesttool
Stacktrace:
#00:0x00000000000130bc /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#01:0x00000000000134c8 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#02:0x000000000001365c /system/bin/crashtesttool_ZNSt3__113__vector_baseINS_9sub_matchINS_11__wrap_iterIPKcEEEE(+0x70)
#03:0x00000000000aca50/system/lib64/libc.so__libc_init(+0x5c)
#04:0x0000000000013050 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
其中,调用栈信息的归一化数据的特征信息如下所示(MD5):
520884c732d90caa44001f2df3b739e0
例如:寄存器信息如下所示:
Tid:7682Thread Name:crashtesttool
Collect Time:2019-06-27 09:29:53
Registers:
x00:0x0000000000000000 x01:0x0000007fa323c000 x02:0x0000000000000023x03:0x000000558f9ca4a0
x04:0x000000558f9ca4a2 x05:0x0000007fa323c022 x06:0x6972542074736574x07:0x6d67655372656767
x08:0x000000558f9cf0cc x09:0x000000000000000b x10:0x0000000000004001x11:0x0000000000000000
x12:0x7845746c75614674 x13:0x206e6f6974706563 x14:0x0000000000000400x15:0xaaaaaaaaaaaaaaab
x16:0x0000007fa37f21e0 x17:0x0000007fa37858d4 x18:0x0000000028b7002ex19:0x0000007ffe44ff1e
x20:0x0000000000000002 x21:0x0000000000000002 x22:0x0000007ffe44f700x23:0x0000000000000000
x24:0x0000000000000000 x25:0x0000000000000000 x26:0x0000000000000000x27:0x0000000000000000
x28:0x0000000000000000 x29:0x0000007ffe44f5b0 x30:0x000000558f9cf0b0
sp:0x0000007ffe44f5b0 pc:0x000000558f9cf0bc pstate:0x0000000060000000
其中,对寄存器信息进行归一化处理,获得的归一化数据如下所示:
Thread Name:crashtesttool
Registers:
x00:0x0000000000000000
x01:0x000000000001c000 /system/lib64/libc.so
x02:0xffffffffffffffff
x03:0x000000000001a4a0 /system/bin/crashtesttool
x04:0x000000000001a4a2 /system/bin/crashtesttool
x05:0x000000000001c022 /system/bin/crashtesttool
x06:0xffffffffffffffff
x07:0xffffffffffffffff
x08:0x00000000000cf0cc /system/lib64/libc.so
x09:0xffffffffffffffff
x10:0xffffffffffffffff
x11:0x0000000000000000
x12:0xffffffffffffffff
x13:0xffffffffffffffff
x14:0xffffffffffffffff
x15:0xffffffffffffffff
x16:0x00000000000a21e0 /system/lib64/libc.so
x17:0x00000000000b58d4 /system/lib64/libc.so
x18:0xffffffffffffffff
x19:0x00000000000aff1e /system/lib64/libc.so
x20:0xffffffffffffffff
x21:0xffffffffffffffff
x22:0x00000000000af700 /system/lib64/libc.so
x23:0x0000000000000000
x24:0x0000000000000000
x25:0x0000000000000000
x26:0x0000000000000000
x27:0x0000000000000000
x28:0x0000000000000000
x29:0xffffffffffffffff [stack]
x30:0x00000000000130b0 /system/bin/crashtesttool
sp:0xffffffffffffffff [stack]
pc:0x00000000000130bc /system/bin/crashtesttool
pstate:0x0000000060000000
其中,寄存器信息的归一化数据的特征信息如下所示(MD5):
fc90ab47c98e9af1a4196d7fffafeeaf
例如:寄存器附近内存信息如下所示:
Register Memory Info:
Memory near x01(0x0000007fa323c000,maps:/system/lib64/libc.so)
0000007fa323bff0 0000000000000000 ........
0000007fa323bff8 0000000000000000 ........
0000007fa323c000 6972542074736574 test Tri
0000007fa323c008 6d67655372656767 ggerSegm
0000007fa323c010 746c756146746e65 entFault
0000007fa323c018 6f69747065637845 Exceptio
0000007fa323c020 687420646d0a206e n.md th
0000007fa323c028 4749532d64616572 read-SIG
0000007fa323c030 6e7566200a455046 FPE.fun
0000007fa323c038 6977206e6f697463 ction wi
Memory near x03(0x000000558f9ca4a0,maps:/system/bin/crashtesttool)
000000558f9ca490 746c756146746e65 entFault
000000558f9ca498 6f69747065637845 Exceptio
000000558f9ca4a0 000000000000206e n......
000000558f9ca4a8 0000000000000000 ........
000000558f9ca4b0 696152206c6c6163 call Rai
000000558f9ca4b8 6e656d6765536573 seSegmen
000000558f9ca4c0 7845746c75614674 tFaultEx
000000558f9ca4c8 206e6f6974706563 ception
000000558f9ca4d0 0000000000000000 ........
000000558f9ca4d8 0000000000000000 ........
Memory near x04(0x000000558f9ca4a2,maps:/system/bin/crashtesttool)
000000558f9ca492 7845746c75614674 tFaultEx
000000558f9ca49a 206e6f6974706563 ception
000000558f9ca4a2 0000000000000000 ........
000000558f9ca4aa 6163000000000000 ......ca
000000558f9ca4b2 6573696152206c6c ll Raise
000000558f9ca4ba 46746e656d676553 SegmentF
000000558f9ca4c2 65637845746c7561 aultExce
000000558f9ca4ca 0000206e6f697470 ption..
000000558f9ca4d2 0000000000000000 ........
000000558f9ca4da 6163000000000000 ......ca
其中,对寄存器附近内存信息进行归一化处理,获得的归一化数据如下所示:
Register Memory Info:
Memory near x01(0x000000000001c000,maps:/system/lib64/libc.so)
........
........
test Tri
ggerSegm
entFault
Exceptio
n.md th
read-SIG
FPE.fun
ction wi Memory near x03(0x000000000001a4a0,maps:/system/bin/crashtesttool)
entFault
Exceptio
n......
........
call Rai
seSegmen
tFaultEx
ception
........
........
Memory near x04(0x000000000001c022,maps:/system/bin/crashtesttool)
tFaultEx
ception
........
......ca
ll Raise
SegmentF
aultExce
ption..
........
......ca
其中,寄存器附近内存信息的归一化数据的特征信息如下所示(MD5):
2c05d0a01bfb667c9a88ff9f3837cc73
例如:栈附近内存信息如下所示:
Stack Memory Info:
Stack near#00(0x000000558f9cf0bc)
0000007ffe44f5b0 0000007ffe44f650 [stack]
0000007ffe44f5b8 000000558f9cf4c8 /system/bin/crashtesttool
0000007ffe44f5c0 0000000000000001
0000007ffe44f5c8 0000007fa37f4328 /system/lib64/libc.so
0000007ffe44f5d0 0000007fa323c000 [anon:libc_malloc]
0000007ffe44f5d8 0000007fa37f4328 /system/lib64/libc.so
0000007ffe44f5e0 0000007ffe44f610 [stack]
0000007ffe44f5e8 0000007fa377d310 /system/lib64/libc.so Stack near#01(0x000000558f9cf4c8)
0000007ffe44f650 0000007ffe44f670 [stack]
0000007ffe44f658 000000558f9cf65c /system/bin/crashtesttool
0000007ffe44f660 0000007ffe44f6e8 [stack]
0000007ffe44f668 000000558f9cf61c /system/bin/crashtesttool
0000007ffe44f670 0000007ffe44f6a0 [stack]
0000007ffe44f678 0000007fa37afa50 /system/lib64/libc.so
0000007ffe44f680 0000000000000000
0000007ffe44f688 0000000000000000
其中,对栈附近内存信息进行归一化处理,获得的归一化数据如下所示:
Stack Memory Info:
Stack near#00(0x00000000000130bc/system/bin/crashtesttool)
ffffffffffffffff [stack]
000000558f9cf4c8 /system/bin/crashtesttool
ffffffffffffffff
00000000000a4328 /system/lib64/libc.so
ffffffffffffffff [anon:libc_malloc]
00000000000a4328 /system/lib64/libc.so
ffffffffffffffff [stack]
0000007fa377d310 /system/lib64/libc.so
Stack near#01(0x00000000000134c8/system/bin/crashtesttool)
ffffffffffffffff [stack]
000000000001365c /system/bin/crashtesttool
ffffffffffffffff [stack]
000000000001361c /system/bin/crashtesttool
ffffffffffffffff [stack]
00000000000aca50 /system/lib64/libc.so
0000000000000000
0000000000000000
其中,栈附近内存信息的归一化数据的特征信息如下所示(MD5):
fdea7776318e5f1137b8f752eaebeb48
例如:Maps映射信息如下所示:
begin=558f9bc000,end=558f9cf000,offset=0,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=558f9cf000,end=558f9dd000,offset=13000,load bias=0,flags=5,name=/system/bin/crashtesttool
begin=558f9dd000,end=558f9de000,offset=21000,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=558f9de000,end=558f9df000,offset=0,load bias=0,flags=3,name=[heap]
begin=7fa3200000,end=7fa3600000,offset=0,load bias=0,flags=3,name=[anon:libc_malloc]
其中,对Maps映射信息进行归一化处理,获得的归一化数据如下所示:
begin=0,end=13000,offset=0,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=13000,end=21000,offset=13000,load bias=0,flags=5,name=/system/bin/crashtesttool
begin=21000,end=22000,offset=21000,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=0,end=1000,offset=0,load bias=0,flags=3,name=[heap]
begin=0,end=400000,offset=0,load bias=0,flags=3,name=[anon:libc_malloc]
其中,Maps映射信息的归一化数据的特征信息如下所示(MD5):
c70dc8973c55d6357aba47f80aeab7f6
S304、所述终端设备根据所述N份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。
本实施例中,终端设备根据N份基础日志信息中每份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。例如:终端设备根据N份基础日志信息中每份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。可选地,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息,例如终端设备对N份基础日志信息的归一化数据和N份基础日志信息的特征信息进行切片,获得M份子日志信息。
可选地,若N等于M,则终端将单份基础日志信息的归一化数据和该单份基础日志信息的特征信息作为单份子日志信息。
S305、所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息。相应地,服务器接收终端设备发送所述L份子日志信息以及所述其它基础日志信息的特征信息。
本实施例中,S305的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S306、所述服务器根据所述其它基础日志信息的特征信息,获取所述其它基础日志信息中Q份基础日志信息的归一化数据。
本实施例中,服务器接收到L份子日志信息之后,可以获取L份子日志信息中的基础日志信息的归一化数据以及基础日志信息的特征信息,例如可以获取L份子日志信息中的L份基础日志信息的归一化数据以及该L份基础日志信息的特征信息。服务器还可以根据其它基础日志信息(即N-L份基础日志信息)的特征信息,获取其它基础日志信息中Q份基础日志信息的归一化数据,其中,存在服务器中暂时未保存有N-L-Q份基础日志信息的归一化数据的情况,所以服务器暂时未获取到N-L-Q份基础日志信息的归一化数据。
S307、所述服务器根据所述Q份基础日志信息的归一化数据和所述L份子日志信息中包括的基础日志信息的归一化数据,获得故障日志信息。
本实施例中,服务器根据上述获得的Q份基础日志信息的归一化数据以及从终端设备处获得的用于生成L份子日志信息的基础日志信息的归一化数据,获得故障日志信息。服务器根据获得的故障日志信息对故障进行定位。在一些实现方式中,服务器获得的故障日志信息可能缺少N份基础日志信息中的部分基础日志信息的归一化数据,服务器也有可能准确地定位出故障。
其中,服务器在接收到L份子日志信息后,还可以保存该L份子日志信息,以便其它终端设备无需向服务器发送该L份子日志信息,而发送该L份子日志信息中包括的特征信息,服务器也可以获取到用于生成该L份子日志信息的基础日志信息的归一化数据,也可以用于定位到其它终端设备的故障。
本实施例中,终端设备对获取到的每份基础日志信息进行归一化处理,获得基础日志信息的归一化数据,并根据每份基础日志信息的归一化数据获得特征信息,再根据所有基础日志信息的归一化数据和所有基础日志信息的特征信息,生成M份子日志信息,再向服务器发送部分子日志信息和其它基础日志信息的特征信息。服务器再获取接收的子日志信息获取一些基础日志信息的归一化数据,然后根据其它基础日志信息的特征信息,获取从其它终端设备处接收的至少一个基础日志信息的归一化数据,从而获得故障日志信息。因此,终端设备无需发送全部基础日志信息的归一化数据,节省网络带宽资源,另外由于终端设备向服务器发送的基础日志信息的归一化数据,保护了终端设备的用户的个人隐私数据。
在一些实施例中,终端设备在执行上述S204或S305之前,根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
本实施例中,终端设备在获得M份子日志信息后,根据终端设备的标识信息,从M份子日志信息中确定需要发送的部分份子日志信息,然后向服务器发送确定出的部分子日志信息(即L份子日志信息)。由于不同的终端设备,其标识信息也不完全相同,针对发生的同一故障,不同的终端设备可能向服务器发送M份子日志信息中的不同部分子日志信息,相应地,服务器接收这些不同的终端设备的部分子日志信息,可以收集到所有子日志信息,从而可以准确地定位故障。
在一些实施例中,所述根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息的一种可能的实现方式为:所述终端设备根据所述标识信息,对所述M求余运算,获得余数值;以及根据所述余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
本实施例中,终端设备可以根据该终端设备的标识信息,对上述M的数值求余运算,获得余数值。该终端设备的标识信息例如可以是终端设备的识别号、序列号、IMSI等,例如可以根据终端设备的序列号的后两位,对M求余运算,获得余数值。一般M的数值不宜太大,根据识别号的后两位获得的余数值可以支持M的最大值为99。若发生一份故障,采集到的基础日志信息一般不会超过20份。
可选地,终端设备可以将标识信息(例如识别号的后两位)对所述M求余运算,获得余数值。
可选地,所述终端设备根据所述标识信息和预设值,对所述M求余运算,获得余数值;其中,所述预设值是所述服务器周期性向所述终端设备发送的。其中,每个周期服务器向终端设备发送的预设值可能不同,这样可以保证同一版本的不同终端设备在确定需要发送的L份子日志信息不完全是相同的子日志信息,可以避免服务器无法获得所有子日志信息(即M份子日志信息)的现象。例如终端设备将标识信息(例如识别号的后两位)与预设值的和值,对所述M求余运算,获得余数值。
然后,终端设备根据获得的余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。其中,所述L份子日志信息在所述M份子日志信息中的序号与所述余数值有关。例如若L等于1,若获得的余数值为3,M等于5,则终端设备发送给服务器的子日志信息为该5份子日志信息中序号为3的子日志信息,例如是这5份子日志信息分别为子日志信息0、子日志信息1、子日志信息2、子日志信息3、子日志信息4,则终端设备向服务器发送的子日志信息为子日志信息3。
可选地,若该终端设备的标识信息是终端设备的识别号,识别号对于同版本的终端设备可以是连续的或是在能够映射到M个子日志信息上。
在一些实施例中,终端设备向服务器发送L份子日志信息之前,还获取所述故障日志信息的故障特征信息,并确定所述终端设备是否存储有所述故障特征信息。如果终端设备中存储有故障特征信息,则确定终端设备之前已发生过相同的故障,表示终端设备已经向服务器发送过子日志信息,所以终端设备这次不再向服务器发送子日志信息,避免相同的子日志信息重复上传给服务器,节省网络资源。如果终端设备中未存储有故障特征信息,则确定终端设备之前可能未发生过相同的故障,表示终端设备需要向服务器发送过子日志信息,然后终端设备执行上述S204或S305。
可选地,若终端设备确定终端设备未存储有所述故障特征信息,则终端设备存储所述故障特征信息。以便终端设备再发生相同故障时,通过该故障特征信息可以确定终端设备之前已发生过相同故障,终端设备可以无需执行上述S204或S305,节省网络资源。
可选地,若终端设备确定终端设备未存储有所述故障特征信息,则终端设备还向服务器发送该故障日志信息的故障特征信息。相应地,服务器接收所述终端设备发送的所述故障日志信息的故障特征信息,然后所述服务器根据所述故障日志信息的故障特征信息,获取与所述故障特征信息对应的基础日志信息,该基础日志信息例如为X份基础日志信息,该X为小于等于M的正整数;所述服务器根据所述其它基础日志信息的特征信息,从与所述故障特征信息对应的基础日志信息中获取所述Q份基础日志信息。
服务器还可以保存L份子日志信息,并建立该L份子日志信息与该故障日志信息的故障特征信息之间的对应关系,以便接收其它终端设备发送的该故障日志信息的故障特征信息与基础日志信息的特征信息后,根据该故障特征信息,可以快速获取到特征信息对应的基础日志信息或基础日志信息的归一化数据。
可选地,终端设备可以通过同一消息向服务器发送故障日志信息的故障特征信息、L份子日志信息以及其它基础日志信息的特征信息。
在一些实施例中,所述终端设备获取所述故障日志信息的故障特征信息的一种可能的实现方式为:所述终端设备根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中最有可能确定出所述故障的前P份基础日志信息中的特征信息,获得所述故障日志信息的故障特征信息。
其中,故障的类型信息例如为应用程序崩溃、系统崩溃、无响应等。故障对应发生时的运行环境例如包括:终端设备的版本、应用程序的名称及版本。
例如:所述终端设备根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中最有可能确定出所述故障的前P份基础日志信息中的特征信息以及MD5算法,获得所述故障日志信息的故障特征信息。
在经MD5算法处理前的信息例如如下所示:
System Version:XXXXXXXXXXXX
Compiled Time:YYYY-MM-DD HH:MM:SS
Build Type:XXX
Device Type:XXX-XXXX
Hardware Version:XXX
Execute Path:/system/bin/crashtesttool
Version:1.0.1
Release Time:YYYY-MM-DD HH:MM:SS
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x130bc/system/bin/crashtesttool
Process Name:crashtesttool
Log1 Md5:520884c732d90caa44001f2df3b739e0
经MD5算法处理后获得故障日志信息的故障特征信息:
792fdc059d71fee66eeb2e8b6dcb99e1
例如:N份基础日志信息分别为基础日志信息A、基础日志信息B、基础日志信息C。其中,若P等于1,最有可能确定出故障的基础日志信息例如为基础日志信息A。
如果L等于1,对于终端设备00,终端设备00向服务器发送:
XX故障的特征信息(由XX版本-XX应用XX版本-特征信息A生成)
基础日志A:特征信息A、基础日志信息A
基础日志B:特征信息B
基础日志C:特征信息C
对于终端设备01,终端设备01向服务器发送:
XX故障的特征信息(由XX版本-XX应用XX版本-特征信息A生成)
基础日志A:特征信息A
基础日志B:特征信息B、基础日志信息B
基础日志C:特征信息C
对于终端设备02,终端设备02向服务器发送:
XX故障的特征信息(由XX版本-XX应用XX版本-特征信息A生成)
基础日志A:特征信息A
基础日志B:特征信息B
基础日志C:特征信息C、基础日志信息C
下面举例说明:
假设有序列号(Serial Number,SN)为AAABB18716500511以及AAABB18716500512的版本相同的两台手机,均发了同一故障并获得了5份子日志信息,每个手机均发送了5份子日志信息中的部分份子日志信息。
其中,AAABB18716500511的手机向服务器发送的为:
Fault Md5:792fdc059d71fee66eeb2e8b6dcb99e1
System Version:XXXXXXXXXXXX
Compiled Time:YYYY-MM-DD HH:MM:SS
Build Type:XXX
Device Type:XXX-XXXX
Hardware Version:XXX
Execute Path:/system/bin/crashtesttool
Version:1.0.1
Release Time:YYYY-MM-DD HH:MM:SS
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x130bc/system/bin/crashtesttool
Process Name:crashtesttool
Log1 Md5:520884c732d90caa44001f2df3b739e0
Thread Name:crashtesttool
Stacktrace:
#00:0x00000000000130bc /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#01:0x00000000000134c8 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#02:0x000000000001365c /system/bin/crashtesttool_ZNSt3__113__vector_baseINS_9sub_matchINS_11__wrap_iterIPKcEEEE(+0x70)
#03:0x00000000000aca50/system/lib64/libc.so__libc_init(+0x5c)
#04:0x0000000000013050 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
Log2 Md5:fc90ab47c98e9af1a4196d7fffafeeaf
Log3 Md5:2c05d0a01bfb667c9a88ff9f3837cc73
Log4 Md5:fdea7776318e5f1137b8f752eaebeb48
Log5 Md5:792fdc059d71fee66eeb2e8b6dcb99e1
其中,AAABB18716500511的手机向服务器发送的为:
Fault Md5:792fdc059d71fee66eeb2e8b6dcb99e1
System Version:XXXXXXXXXXXX
Compiled Time:YYYY-MM-DD HH:MM:SS
Build Type:XXX
Device Type:XXX-XXXX
Hardware Version:XXX
Execute Path:/system/bin/crashtesttool
Version:1.0.1
Release Time:YYYY-MM-DD HH:MM:SS
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x130bc/system/bin/crashtesttool
Process Name:crashtesttool
Log1 Md5:520884c732d90caa44001f2df3b739e0
Log2 Md5:fc90ab47c98e9af1a4196d7fffafeeaf
Thread Name:crashtesttool
Registers:
x00:0x0000000000000000
x01:0x000000000001c000/system/lib64/libc.so
x02:0xffffffffffffffff
x03:0x000000000001a4a0 /system/bin/crashtesttool
x04:0x000000000001a4a2 /system/bin/crashtesttool
x05:0x000000000001c022 /system/bin/crashtesttool
x06:0xffffffffffffffff
x07:0xffffffffffffffff
x08:0x00000000000cf0cc /system/lib64/libc.so
x09:0xffffffffffffffff
x10:0xffffffffffffffff
x11:0x0000000000000000
x12:0xffffffffffffffff
x13:0xffffffffffffffff
x14:0xffffffffffffffff
x15:0xffffffffffffffff
x16:0x00000000000a21e0 /system/lib64/libc.so
x17:0x00000000000b58d4 /system/lib64/libc.so
x18:0xffffffffffffffff
x19:0x00000000000aff1e /system/lib64/libc.so
x20:0xffffffffffffffff
x21:0xffffffffffffffff
x22:0x00000000000af700 /system/lib64/libc.so
x23:0x0000000000000000
x24:0x0000000000000000
x25:0x0000000000000000
x26:0x0000000000000000
x27:0x0000000000000000
x28:0x0000000000000000
x29:0xffffffffffffffff [stack]
x30:0x00000000000130b0 /system/bin/crashtesttool
sp:0xffffffffffffffff [stack]
pc:0x00000000000130bc /system/bin/crashtesttool
pstate:0x0000000060000000
Log3 Md5:2c05d0a01bfb667c9a88ff9f3837cc73
Log4 Md5:fdea7776318e5f1137b8f752eaebeb48
Log5 Md5:792fdc059d71fee66eeb2e8b6dcb99e1
如果还存在其它终端设备也按照类似的方式向服务器发送相关信息,服务器根据接收到的信息可以重构出故障日志信息,例如如下所示:
Fault Md5:792fdc059d71fee66eeb2e8b6dcb99e1
System Version:XXXXXXXXXXXX
Compiled Time:YYYY-MM-DD HH:MM:SS
Build Type:XXX
Device Type:XXX-XXXX
Hardware Version:XXX
Execute Path:/system/bin/crashtesttool
Version:1.0.1
Release Time:YYYY-MM-DD HH:MM:SS
Exception Reason:SIGSEGV(11)code:SEGV_ACCERR(2)addr:0x130bc/system/bin/crashtesttool
Process Name:crashtesttool
Log1 Md5:520884c732d90caa44001f2df3b739e0
Thread Name:crashtesttool
Stacktrace:
#00:0x00000000000130bc /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#01:0x00000000000134c8 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
#02:0x000000000001365c /system/bin/crashtesttool_ZNSt3__113__vector_baseINS_9sub_matchINS_11__wrap_iterIPKcEEEE(+0x70)
#03:0x00000000000aca50/system/lib64/libc.so__libc_init(+0x5c)
#04:0x0000000000013050 /system/bin/crashtesttool_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorI(+0x0)
Log2 Md5:fc90ab47c98e9af1a4196d7fffafeeaf
Thread Name:crashtesttool
Registers:
x00:0x0000000000000000
x01:0x000000000001c000 /system/lib64/libc.so
x02:0xffffffffffffffff
x03:0x000000000001a4a0 /system/bin/crashtesttool
x04:0x000000000001a4a2 /system/bin/crashtesttool
x05:0x000000000001c022 /system/bin/crashtesttool
x06:0xffffffffffffffff
x07:0xffffffffffffffff
x08:0x00000000000cf0cc /system/lib64/libc.so
x09:0xffffffffffffffff
x10:0xffffffffffffffff
x11:0x0000000000000000
x12:0xffffffffffffffff
x13:0xffffffffffffffff
x14:0xffffffffffffffff
x15:0xffffffffffffffff
x16:0x00000000000a21e0 /system/lib64/libc.so
x17:0x00000000000b58d4 /system/lib64/libc.so
x18:0xffffffffffffffff
x19:0x00000000000aff1e /system/lib64/libc.so
x20:0xffffffffffffffff
x21:0xffffffffffffffff
x22:0x00000000000af700 /system/lib64/libc.so
x23:0x0000000000000000
x24:0x0000000000000000
x25:0x0000000000000000
x26:0x0000000000000000
x27:0x0000000000000000
x28:0x0000000000000000
x29:0xffffffffffffffff [stack]
x30:0x00000000000130b0 /system/bin/crashtesttool
sp:0xffffffffffffffff [stack]
pc:0x00000000000130bc /system/bin/crashtesttool
pstate:0x0000000060000000
Log3 Md5:2c05d0a01bfb667c9a88ff9f3837cc73
Register Memory Info:
Memory near x01(0x000000000001c000,maps:/system/lib64/libc.so)
........
........
test Tri
ggerSegm
entFault
Exceptio
n.md th
read-SIG
FPE.fun
ction wiMemory near x03(0x000000000001a4a0,maps:/system/bin/crashtesttool)
entFault
Exceptio
n......
........
call Rai
seSegmen
tFaultEx
ception
........
........
Memory near x04(0x000000000001c022,maps:/system/bin/crashtesttool)
tFaultEx
ception
........
......ca
ll Raise
SegmentF
aultExce
ption..
........
......ca
Log4 Md5:fdea7776318e5f1137b8f752eaebeb48
Stack Memory Info:
Stack near#00(0x00000000000130bc/system/bin/crashtesttool)
ffffffffffffffff [stack]
000000558f9cf4c8 /system/bin/crashtesttool
ffffffffffffffff
00000000000a4328 /system/lib64/libc.so
ffffffffffffffff [anon:libc_malloc]
00000000000a4328 /system/lib64/libc.so
ffffffffffffffff [stack]
0000007fa377d310 /system/lib64/libc.so
Stack near#01(0x00000000000134c8/system/bin/crashtesttool)
ffffffffffffffff [stack]
000000000001365c /system/bin/crashtesttool
ffffffffffffffff [stack]
000000000001361c /system/bin/crashtesttool
ffffffffffffffff [stack]
00000000000aca50 /system/lib64/libc.so
0000000000000000
0000000000000000
Log5 Md5:792fdc059d71fee66eeb2e8b6dcb99e1
begin=0,end=13000,offset=0,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=13000,end=21000,offset=13000,load bias=0,flags=5,name=/system/bin/crashtesttool
begin=21000,end=22000,offset=21000,load bias=0,flags=1,name=/system/bin/crashtesttool
begin=0,end=1000,offset=0,load bias=0,flags=3,name=[heap]
begin=0,end=400000,offset=0,load bias=0,flags=3,name=[anon:libc_malloc]
需要说明的是,上述任一实施例可以单独实施,也可以是上述各实施例中至少两个任意结合来实施,对此不做限定。
可以理解的是,上述各个实施例中,由终端设备实现的操作和步骤也可以由可用于终端设备的部件(例如芯片或者电路)实现,本申请实施例对此不作限定。由服务器实现的操作和步骤也可以由可用于服务器的部件(例如芯片或者电路)实现,本申请实施例对此不作限定。
图4为本申请一实施例提供的通信装置的结构示意图,如图4所示,通信装置可以是终端设备,也可以是终端设备的部件(例如,集成电路,芯片等等),或者可以是其他通信模块,用于实现上述任一实施例中对应于终端设备的操作,本实施例的通信装置400包括:检测模块401、处理模块402和收发模块403。
检测模块401,用于检测终端设备是否发生故障。
处理模块402,用于在所述检测模块401检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息,所述N为大于等于2;根据每份基础日志信息,获得每份基础日志信息的特征信息;根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,M为大于等于2的整数,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,所述K为小于N的整数。
收发模块403,用于向服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息,所述L为小于M的正整数。
在一种可能的实现方式中,所述处理模块402,还用于在所述收发模块403向所述服务器发送所述M份子日志信息中的L份子日志信息之前,根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述处理模块402,具体用于:根据所述标识信息,对所述M求余运算,获得余数值;根据所述余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
在一种可能的实现方式中,所述处理模块402,具体用于:根据所述标识信息和预设值,对所述M求余运算,获得余数值;其中,所述预设值是所述收发模块403从所述服务器周期性接收的。
在一种可能的实现方式中,所述L份子日志信息在所述M份子日志信息中的序号与所述余数值有关。
在一种可能的实现方式中,所述处理模块402,还用于在所述收发模块403向所述服务器发送所述M份子日志信息中的L份子日志信息之前,获取所述故障日志信息的故障特征信息,并确定所述终端设备是否存储有所述故障特征信息。
所述收发模块403,具体用于:若所述终端设备未存储有所述故障特征信息,则向所述服务器发送所述L份子日志信息。
在一种可能的实现方式中,通信装置400还包括:存储模块404。存储模块404,用于存储所述故障特征信息。
在一种可能的实现方式中,所述收发模块403,还用于向所述服务器发送所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述处理模块402,具体用于:根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中最有可能确定出所述故障的前P份基础日志信息中的特征信息,获得所述故障日志信息的故障特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述处理模块402,在根据每份基础日志信息,获得每份基础日志信息的特征信息时,具体用于:对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据;根据每份基础日志信息的归一化数据,获得每份基础日志信息的特征信息。
所述处理模块402,在根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息时,具体用于:根据所述N份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
本实施例的通信装置,可以用于执行上述所示方法实施例中终端设备的技术方案。
图5为本申请另一实施例提供的通信装置的结构示意图,如图5所示,通信装置可以是服务器,也可以是服务器的部件(例如,集成电路,芯片等等),或者可以是其他通信模块,用于实现上述任一实施例中对应于服务器的操作,本实施例的通信装置500包括:接收模块501和处理模块502。
接收模块501,用于接收终端设备发送的L份子日志信息以及N份基础日志信息中除用于生成所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,M为大于等于2的整数,所述L为小于M的正整数,所述K为小于N的整数。
处理模块502,用于根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,所述Q为整数;以及根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息。
其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的。
在一种可能的实现方式中,所述接收模块501,还用于接收所述终端设备发送的所述故障日志信息的故障特征信息。
所述处理模块502,具体用于:根据所述故障日志信息的故障特征信息,获取与所述故障特征信息对应的基础日志信息;根据所述其它基础日志信息的特征信息,从与所述故障特征信息对应的基础日志信息中获取所述Q份基础日志信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
在一种可能的实现方式中,所述处理模块502在根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息时,具体用于:根据所述其它基础日志信息的特征信息,获取所述其它基础日志信息中Q份基础日志信息的归一化数据。
所述处理模块502在根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息时,具体用于:根据所述Q份基础日志信息的归一化数据和所述L份子日志信息中包括的基础日志信息的归一化数据,获得故障日志信息。
本实施例的通信装置,可以用于执行上述所示方法实施例中服务器的技术方案。
图6为本申请另一实施例提供的通信装置的结构示意图。如图6所示,本实施例所述的通信装置600可以是前述方法实施例中提到的终端设备(或者可用于终端设备的部件)。通信装置可用于实现上述方法实施例中描述的对应于终端设备的方法,具体参见上述方法实施例中的说明。
所述通信装置600可以包括一个或多个处理器601,所述处理器601也可以称为处理单元,可以实现一定的控制或者处理功能。所述处理器601可以是通用处理器或者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置进行控制,执行软件程序,处理软件程序的数据。
在一种可能的设计中,处理器601也可以存有指令603或者数据(例如中间数据)。其中,所述指令603可以被所述处理器运行,使得所述通信装置600执行上述方法实施例中描述的对应于终端设备的方法。
在又一种可能的设计中,通信装置600可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
在一种可能的实现方式中,所述通信装置600中可以包括一个或多个存储器602,其上可以存有指令604,所述指令可在所述处理器上被运行,使得所述通信装置600执行上述方法实施例中描述终端设备的方法。
在一种可能的实现方式中,所述存储器中也可以是存储有数据。所述处理器和存储器可以单独设置,也可以集成在一起。
在一种可能的实现方式中,所述通信装置600还可以包括收发器605和/或天线606。所述处理器601可以称为处理单元,对通信装置(终端设备或核心网设备或者无线接入网设备)进行控制。所述收发器605可以称为收发单元、收发机、收发电路、或者收发器等,用于实现通信装置的收发功能。
在一个设计中,若该通信装置用于实现对应于上述各实施例中终端设备的操作时,例如可以由处理器601在检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息;根据每份基础日志信息,获得每份基础日志信息的特征信息;根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成。由收发器605向服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息。
其中,上述处理器601和收发器605的具体实现过程可以参见上述各实施例的相关描述,此处不再赘述。
本申请中描述的处理器601和收发器605可实现在集成电路(integratedcircuit,IC)、模拟IC、射频集成电路(radio frequency integrated circuit,RFIC)、混合信号IC、专用集成电路(application specific integrated circuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和通信接口也可以用各种1C工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、P型金属氧化物半导体(positive channel metal oxide semiconductor,PMOS)、双极结型晶体管(BipolarJunction Transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。
图7为本申请另一实施例提供的通信装置的结构示意图。如图7所示,本实施例所述的通信装置700可以是前述方法实施例中提到的服务器(或者可用于服务器的部件)。通信装置可用于实现上述方法实施例中描述的对应于服务器的方法,具体参见上述方法实施例中的说明。
所述通信装置700可以包括一个或多个处理器701,所述处理器701也可以称为处理单元,可以实现一定的控制或者处理功能。所述处理器701可以是通用处理器或者专用处理器等。
在一种可能的设计中,处理器701也可以存有指令703或者数据(例如中间数据)。其中,所述指令703可以被所述处理器运行,使得所述通信装置700执行上述方法实施例中描述的对应于服务器的方法。
在又一种可能的设计中,通信装置700可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
在一种可能的实现方式中,所述通信装置700中可以包括一个或多个存储器702,其上可以存有指令704,所述指令可在所述处理器上被运行,使得所述通信装置700执行上述方法实施例中描述第一网元或第二网元的方法。
在一种可能的实现方式中,所述存储器中也可以是存储有数据。所述处理器和存储器可以单独设置,也可以集成在一起。
在一种可能的实现方式中,所述通信装置700还可以包括通信接口705。所述处理器701可以称为处理单元,对通信装置(第一网元或第二网元)进行控制。所述通信接口705,用于实现通信装置的收发功能。
在一个设计中,若该通信装置700用于实现对应于上述各实施例中服务器的操作时,例如,可以由通信接口705接收终端设备发送的L份子日志信息以及N份基础日志信息中除用于生成所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,所述每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,M为大于等于2的整数。由处理器701根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息;根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息;其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的。
其中,上述通信接口705与处理器701的具体实现过程可以参见上述各实施例的相关描述,此处不再赘述。
本申请中描述的处理器701和通信接口705可实现在IC、模拟IC、RFIC、混合信号IC、ASIC、PCB、电子设备等上。该处理器和收发器也可以用各种1C工艺技术来制造,例如CMOS、NMOS、PMOS、BJT、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。
虽然在以上的实施例描述中,通信装置以终端设备或者服务器为例来描述,但本申请中描述的通信装置的范围并不限于上述终端设备或服务器,而且通信装置的结构可以不受图6或图7的限制。通信装置可以是独立的设备或者可以是较大设备的一部分。例如所述设备可以是:
(1)独立的集成电路IC,或芯片,或,芯片系统或子系统;
(2)具有一个或多个IC的集合,在一种可能的实现方式中,该IC集合也可以包括用于存储数据和/或指令的存储部件;
(3)ASIC,例如调制解调器(MSM);
(4)可嵌入在其他设备内的模块;
(5)接收机、无线设备、移动单元,网络设备等等;
(6)其他等等。
图8为本申请一实施例提供的一种终端设备的结构示意图。该终端设备可适用于本申请上述各实施例中所述的终端设备。为了便于说明,图8仅示出了终端设备的主要部件。如图8所示,终端设备800包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对整个终端进行控制,执行软件程序,处理软件程序的数据。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
当终端设备开机后,处理器可以读取存储单元中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图8仅示出了一个存储器和处理器。在实际的终端中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可能的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端进行控制,执行软件程序,处理软件程序的数据。图8中的处理器集成了基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端设备可以包括多个基带处理器以适应不同的网络制式,终端设备可以包括多个中央处理器以增强其处理能力,终端设备的各个部件可以通过各种总线连接。所述基带处理器也可以表述为基带处理电路或者基带处理芯片。所述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。
在一个例子中,可以将具有收发功能的天线和控制电路视为终端设备800的收发模块801,将具有处理功能的处理器视为终端设备800的处理模块802。如图8所示,终端设备800包括收发模块801和处理模块802。收发模块也可以称为收发器、收发机、收发装置等。在一种可能的实现方式中,可以将收发模块801中用于实现接收功能的器件视为接收模块,将收发模块801中用于实现发送功能的器件视为发送模块,即收发模块801包括接收模块和发送模块示例性的,接收模块也可以称为接收机、接收器、接收电路等,发送模块可以称为发射机、发射器或者发射电路等。
图9为本申请一实施例提供的一种通信系统的结构示意图。如图9所示,本实施例所述的通信系统900可以包括:终端设备901和服务器902。终端设备901可以采用图4或图6或图8所示装置实施例的结构,其对应地,可以执行上述任一方法实施例有关终端设备的技术方案,其实现原理和技术效果类似,此处不再赘述。服务器902可以采用图5或图7所示装置实施例的结构,其对应地,可以执行上述任一方法实施例有关服务器的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (21)
1.一种故障日志处理方法,其特征在于,包括:
终端设备在检测到故障发生后,获取故障日志信息,所述故障日志信息包括N份基础日志信息,所述N为大于等于2;
所述终端设备对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据;
所述终端设备根据每份基础日志信息的归一化数据,获得每份基础日志信息的特征信息;
所述终端设备根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,M为大于等于2的整数,每份子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,所述K为小于N的整数;
所述终端设备向服务器发送所述M份子日志信息中的L份子日志信息以及所述N份基础日志信息中除用于生成所述L份子日志信息的基础日志信息之外的其它基础日志信息的特征信息,所述L为小于M的正整数。
2.根据权利要求1所述的方法,其特征在于,所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息之前,还包括:
所述终端设备根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
3.根据权利要求2所述的方法,其特征在于,所述终端设备根据所述终端设备的标识信息,从所述M份子日志信息中确定需要发送的所述L份子日志信息,包括:
所述终端设备根据所述标识信息,对所述M求余运算,获得余数值;
所述终端设备根据所述余数值,从所述M份子日志信息中确定需要发送的所述L份子日志信息。
4.根据权利要求3所述的方法,其特征在于,所述终端设备根据所述标识信息,对所述M求余运算,获得余数值,包括:
所述终端设备根据所述标识信息和预设值,对所述M求余运算,获得余数值;
其中,所述预设值是所述终端设备从所述服务器周期性接收的。
5.根据权利要求3或4所述的方法,其特征在于,所述L份子日志信息在所述M份子日志信息中的序号与所述余数值有关。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息之前,还包括:
所述终端设备获取所述故障日志信息的故障特征信息;
所述终端设备确定所述终端设备是否存储有所述故障特征信息;
所述终端设备向所述服务器发送所述M份子日志信息中的L份子日志信息,包括:
若所述终端设备未存储有所述故障特征信息,则所述终端设备向所述服务器发送所述L份子日志信息。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述终端设备存储所述故障特征信息。
8.根据权利要求6所述的方法,其特征在于,还包括:
所述终端设备向所述服务器发送所述故障日志信息的故障特征信息。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述终端设备向所述服务器发送所述故障日志信息的故障特征信息。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述终端设备获取所述故障日志信息的故障特征信息,包括:
所述终端设备根据所述故障的类型信息、所述故障对应发生时的运行环境信息、所述N份基础日志信息中能够确定出所述故障概率最大的前P份基础日志信息中的特征信息,获得所述故障日志信息的故障特征信息。
11.根据权利要求1-4、7-9任一项所述的方法,其特征在于,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
12.根据权利要求1-4、7-9任一项所述的方法,其特征在于,所述终端设备根据所述N份基础日志信息和每份基础日志信息的特征信息,获得M份子日志信息,包括:
所述终端设备根据所述N份基础日志信息的归一化数据和每份基础日志信息的特征信息,获得M份子日志信息。
13.根据权利要求12所述的方法,其特征在于,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
14.一种故障日志处理方法,其特征在于,包括:
服务器接收终端设备发送的L份子日志信息以及N份基础日志信息中除用于生成所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,每份所述子日志信息由至少K份基础日志信息和所述至少K份基础日志信息的特征信息生成,M为大于等于2的整数,所述L为小于M的正整数,所述K为小于N的整数;每份基础日志信息的特征信息是由所述终端设备对每份基础日志信息做归一化处理,获得每份基础日志信息的归一化数据,根据每份基础日志信息的归一化数据获得;
所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,所述Q为整数;
所述服务器根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息;
其中,所述Q份基础日志信息是所述服务器从其它至少一个终端设备接收的。
15.根据权利要求14所述的方法,其特征在于,还包括:
所述服务器接收所述终端设备发送的所述故障日志信息的故障特征信息;
所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,包括:
所述服务器根据所述故障日志信息的故障特征信息,获取与所述故障特征信息对应的基础日志信息;
所述服务器根据所述其它基础日志信息的特征信息,从与所述故障特征信息对应的基础日志信息中获取所述Q份基础日志信息。
16.根据权利要求14或15所述的方法,其特征在于,所述每份子日志信息包括至少K份基础日志信息和所述至少K份基础日志信息的特征信息。
17.根据权利要求14或15所述的方法,其特征在于,所述每份子日志信息包括至少K份基础日志信息的归一化数据和所述至少K份基础日志信息的特征信息。
18.根据权利要求17所述的方法,其特征在于,所述服务器根据N份基础日志信息中除所述L份子日志信息包括的基础日志信息之外的其它基础日志信息的特征信息,获取所述其它基础日志信息中的Q份基础日志信息,包括:
所述服务器根据所述其它基础日志信息的特征信息,获取所述其它基础日志信息中Q份基础日志信息的归一化数据;
所述服务器根据所述Q份基础日志信息和用于生成所述L份子日志信息的基础日志信息,获得故障日志信息,包括:
所述服务器根据所述Q份基础日志信息的归一化数据和所述L份子日志信息中包括的基础日志信息的归一化数据,获得故障日志信息。
19.一种通信装置,其特征在于,所述通信装置用于实现如权利要求1-13任一项或14-18任一项所述的故障日志处理方法。
20.一种通信装置,其特征在于,包括:存储器和处理器,所述存储器与所述处理器耦合;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令执行如权利要求1-13任一项或14-18任一项所述的故障日志处理方法。
21.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如权利要求1-13任一项或14-18任一项所述的故障日志处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220005.4A CN111143157B (zh) | 2019-11-28 | 2019-11-28 | 故障日志处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220005.4A CN111143157B (zh) | 2019-11-28 | 2019-11-28 | 故障日志处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143157A CN111143157A (zh) | 2020-05-12 |
CN111143157B true CN111143157B (zh) | 2021-08-27 |
Family
ID=70517483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911220005.4A Active CN111143157B (zh) | 2019-11-28 | 2019-11-28 | 故障日志处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143157B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851661A (zh) * | 2006-06-07 | 2006-10-25 | 中国科学院计算技术研究所 | 一种面向大规模计算系统的高可信日志系统实现方法 |
CN1859168A (zh) * | 2005-12-01 | 2006-11-08 | 华为技术有限公司 | 一种应用系统中日志信息的传送方法及系统 |
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
WO2015120753A1 (zh) * | 2014-02-12 | 2015-08-20 | 韩磊 | 计算机互联网多个机器人组成的电动汽车电池组更换系统 |
CN105955862A (zh) * | 2016-04-15 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种异常问题的监测定位方法及装置 |
CN109710502A (zh) * | 2018-12-19 | 2019-05-03 | 苏州科达科技股份有限公司 | 日志传输方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437682B1 (en) * | 2015-09-29 | 2019-10-08 | EMC IP Holding Company LLC | Efficient resource utilization for cross-site deduplication |
CN106095864B (zh) * | 2016-06-03 | 2019-08-30 | 中国工商银行股份有限公司 | 一种日志处理系统及方法 |
CN106598815B (zh) * | 2016-12-29 | 2019-11-26 | 广州华多网络科技有限公司 | 一种实时异步日志收集方法及系统 |
CN109308242B (zh) * | 2018-09-06 | 2021-11-19 | 上海达梦数据库有限公司 | 一种动态监控方法、装置、设备和存储介质 |
CN110457178A (zh) * | 2019-07-29 | 2019-11-15 | 江苏艾佳家居用品有限公司 | 一种基于日志采集分析的全链路监控告警方法 |
-
2019
- 2019-11-28 CN CN201911220005.4A patent/CN111143157B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859168A (zh) * | 2005-12-01 | 2006-11-08 | 华为技术有限公司 | 一种应用系统中日志信息的传送方法及系统 |
CN1851661A (zh) * | 2006-06-07 | 2006-10-25 | 中国科学院计算技术研究所 | 一种面向大规模计算系统的高可信日志系统实现方法 |
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
WO2015120753A1 (zh) * | 2014-02-12 | 2015-08-20 | 韩磊 | 计算机互联网多个机器人组成的电动汽车电池组更换系统 |
CN105955862A (zh) * | 2016-04-15 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种异常问题的监测定位方法及装置 |
CN109710502A (zh) * | 2018-12-19 | 2019-05-03 | 苏州科达科技股份有限公司 | 日志传输方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111143157A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8055306B2 (en) | Mobile phone alert system and method | |
CN109729544B (zh) | 丢包率计算方法、网络设备及终端 | |
CN108811137B (zh) | 一种信息传输的方法及装置 | |
US11985526B2 (en) | Transmission method, network device, and terminal | |
Zhang et al. | USink: Smartphone-based moible sink for wireless sensor networks | |
CN110858800B (zh) | 解调参考信号天线端口映射方法、终端设备及网络设备 | |
CN111800794A (zh) | 解调参考信号位置的确定方法及设备 | |
CN111143157B (zh) | 故障日志处理方法和装置 | |
US20200374783A1 (en) | Apparatus and method for specifying receiver enable times in uwb communication and ranging systems | |
CN111315031B (zh) | 上行传输方法、终端及网络设备 | |
CN114503688B (zh) | 一种测量放松方法、设备、存储介质及装置 | |
US20190082498A1 (en) | Ultra low power sub-wireless sensor network (sub-wsn) for internet of things (iot) system | |
CN116157706A (zh) | 全球导航卫星系统gnss定位测量方法及装置 | |
CN115486099A (zh) | 侧行链路定位参考信号的发送和/或接收方法及装置 | |
KR20170083594A (ko) | 무선 통신의 방법, 웨어러블 설비, 이동 단말 및 시스템 | |
CN115968552A (zh) | 一种定位方法及其装置 | |
CN115136660A (zh) | 中继连接方法及装置 | |
CN110740024B (zh) | 一种csi上报方法、终端及网络设备 | |
CN116406519A (zh) | 一种终端与核心网交互的方法及其装置 | |
CN115956381A (zh) | 一种无线资源管理测量方法及其装置 | |
CN220896693U (zh) | 无线通信模组和无线通信设备 | |
US20220085873A1 (en) | Electronic device and method for monitoring interference source of satellite station | |
CN113114326B (zh) | 一种通信方法及装置 | |
CN114424462B (zh) | 电子设备和控制电子设备中的通信电路的方法 | |
US20240040410A1 (en) | Information Acquisition and Configuration Methods and Apparatuses, and Communication Device |
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 |