日志上报方法、装置及系统与流程

文档序号:14993359发布日期:2018-07-20 22:57阅读:212来源:国知局

本发明实施例涉及计算机技术领域,特别涉及一种日志上报方法、装置及系统。



背景技术:

日志用于记录终端的相关操作信息。终端采集日志后,通常会向服务器上报日志,以使得服务器能够确定终端是否出现故障。

现有技术中,终端向服务器上报日志的流程如下:终端在本地采集日志,每隔预设时间向服务器上报日志,或者,终端在本地累积的日志的数据量达到预设数据量时,向服务器上报日志。

当终端采集的日志的数据量较大,服务器的吞吐量、带宽等参数较小时,则会发生终端向服务器上报日志失败、服务器崩溃等状况。



技术实现要素:

本发明实施例提供了一种日志上报方法、装置及系统,可用于解决相关技术中上报日志的规模较大时上报日志不稳定的问题。所述技术方案如下:

一方面,本发明实施例提供了一种日志上报方法,所述方法包括:

向服务器发送日志上报请求,所述日志上报请求用于请求向所述服务器上报日志;

接收所述服务器根据所述日志上报请求发送的上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则;

对待上报的日志进行合并压缩,生成日志文件;

根据所述上报控制信息向所述服务器发送所述日志文件。

另一方面,本发明实施例提供了一种日志上报方法,所述方法包括:

接收终端发送的日志上报请求,所述日志上报请求用于请求向服务器上报日志;

根据所述日志上报请求生成上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则;

向所述终端发送所述上报控制信息;

接收所述终端根据所述上报控制信息发送的日志文件,所述日志文件由所述终端对待上报的日志进行合并压缩后生成。

再一方面,本发明实施例提供了一种日志上报装置,所述装置包括:

请求发送模块,用于向服务器发送日志上报请求,所述日志上报请求用于请求向所述服务器上报日志;

信息接收模块,用于接收所述服务器根据所述日志上报请求发送的上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则;

文件生成模块,用于对待上报的日志进行合并压缩,生成日志文件;

文件发送模块,用于根据所述上报控制信息向所述服务器发送所述日志文件。

又一方面,本发明实施例提供了一种日志上报装置,所述装置包括:

请求接收模块,用于接收终端发送的日志上报请求,所述日志上报请求用于请求向服务器上报日志;

信息生成模块,用于根据所述日志上报请求生成上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则;

信息发送模块,用于向所述终端发送所述上报控制信息;

文件接收模块,用于接收所述终端根据所述上报控制信息发送的日志文件,所述日志文件由所述终端对待上报的日志进行合并压缩后生成。

又一方面,本发明实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的终端侧的日志上报方法。

又一方面,本发明实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的服务器侧的日志上报方法。

又一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的终端侧的日志上报方法。

又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的服务器侧的日志上报方法。

又一方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的终端侧的日志上报方法。

又一方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的服务器侧的日志上报方法。

本发明实施例提供的技术方案可以带来如下有益效果:

通过在日志上报时,由服务器为终端制定相应的上报控制信息,终端根据上报控制信息进行上报,从而使终端每次上报的日志处于可控制的范围之内,从而避免终端因服务器带宽、吞吐量较小时上报日志失败的情况发生,也可以避免服务器同时接收较多的终端上报的日志而崩溃的情况发生,从而提升日志上报的稳定性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明一个实施例提供的应用场景的示意图;

图1b是本发明另一个实施例提供的应用场景的示意图;

图1c是本发明一个实施例提供的调度服务器监控上报服务器的示意图;

图2a是本发明一个示例性实施例示出的日志上报方法的流程图;

图2b是本发明一个示例性实施例示出的合并压缩的示意图;

图3a是本发明另一个示例性实施例示出的日志上报方法的流程图;

图3b是本发明一个示例性实施例示出的日志采集的示意图;

图4a是本发明另一个示例性实施例示出的日志上报方法的流程图;

图4b是本发明一个示例性实施例示出的日志上报框架的示意图;

图5是本发明一个示例性实施例示出的日志上报装置的框图;

图6是本发明另一个示例性实施例示出的日志上报装置的框图;

图7是本发明一个示例性实施例示出的终端的框图;

图8是本发明一个示例性实施例示出的服务器的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1a,其示出了本发明一个实施例提供的应用场景的示意图。该应用场景可以包括:终端10和服务器20。

终端10具有日志采集功能,以及与服务器20之间交互的功能。终端10可以是手机、平板电脑、电子书阅读器、多媒体播放设备、pda(personaldigitalassistant,个人数字助理)、可穿戴设备等。

服务器20具有与终端10之间进行交互的功能。服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

终端10可以通过网络与服务器20建立通信连接。该网络可以是无线网络,也可以是有线网络。

在一个示例中,如图1b所示,当服务器20为集群架构时,服务器20可以包括:调度服务器21、策略服务器22和上报服务器23。

调度服务器21用于提供上报控制信息的制定功能以及收发功能。可选地,调度服务器21中安装有zookeeper组件,调度服务器21通过zookeeper组件对上报服务器23进行监控。结合参考图1c,其示出了调度服务器21通过zookeeper组件211监控上报服务器23的示意图。可选地,调度服务器21的数量为至少两个,从而实现调度服务器21的容灾备份,当其中一个调度服务器21故障时,采用其它调度服务器21来提供日志上报涉及的相关服务。

策略服务器22用于提供上报策略信息的制定功能和收发功能。可选地,策略服务器22的数量也为至少两个,从而实现策略服务器22的容灾备份,当其中一个策略服务器22故障时,采用其它策略服务器22来提供日志上报涉及的相关服务。

上报服务器23用于接收并存储终端上报的日志。上报服务器23的数量可以是多个,从而为终端上报日志提供多个入口。上述各个上报服务器23之间可通过网络建立通信连接。该网络可以是无线网络,也可以是有线网络。可选地,上报服务器23为ngnix服务器。

可选地,该集群架构的服务器20还包括:票据服务器24。

票据服务器24用于提供票据信息的制定功能以及收发功能。票据服务器24与上述各个服务器之间也通过网络建立通信连接。该网络可以是无线网络,也可以是有线网络。

请参考图2,其示出了本发明一个实施例提供的日志上报方法的流程图。该方法可以应用于图1a所示的应用场景中。该方法可以包括如下步骤:

步骤201,终端向服务器发送日志上报请求。

日志上报请求用于请求向服务器上报日志。日志上报请求中携带有终端的标识、待上报的日志的数据量。终端的标识用于唯一标识终端,终端的标识可以是终端的互联网协议(internetprotocol,ip)地址。待上报的日志的数据量可以由终端默认设定,也可以由相关运维人员自定义设置。示例性地,终端将本地采集的日志的三分之二的数据量作为待上报的日志的数据量。

可选地,日志上报请求中还携带有待上报的日志的数据类型、本地积累的日志的数据量等等,本发明实施例对此不作限定。其中,本地积累的日志的数据量可以是本地采集的日志的数据量以及待上报的日志的数据量之间的差值。

另外,日志上报请求可以包括如下部分:header(头部)和body。header部分可携带终端的标识,body部分可携带待上报的日志的数据量、待上报的日志的数据类型和本地积累的日志的数据量。以下示出了日志上报请求的示例性代码:

header:

deviceid:xxxxxxxxx

body:

“datatype1”:{

“uploadsize”:xxx;

“accumulate”:xxxxx

};

“datatype2”:{

“uploadsize”:xxx;

“accumulate”:xxxxx

}.

在上述代码中,deviceid表示终端的标识,datatype表示数据类型,uploadsize表示待上报的日志的数据量,accumulate表示本地积累的日志的数据量。

在一个示例中,终端每隔预设时间向服务器发送日志上报请求。上述预设时间可以根据实际需求设定,本发明实施例对此不作限定,例如,预设时间为1天。在另一个示例中,终端在本地采集的日志的数据量达到预设数据量时,向服务器发送日志上报请求。上述预设数据量也可以根据实际需求设定,本发明实施例对此不作限定,例如,预设数据量为1千兆字节(girabyte,gb)。在又一个示例中,终端在接收到服务器发送的日志上报指令后,向服务器发送日志上报请求。

相应地,服务器接收终端发送的日志上报请求。

步骤202,服务器根据日志上报请求生成上报控制信息。

上报控制信息用于指示向服务器上报日志时的规则。上报控制信息包括上报开关、上报地址、上报数据量、上报间隔、上报重试时间中的至少一种。

上报开关用于指示是否允许向服务器上报日志,若上报开关为开启,则允许终端上报日志,若上报开关为关闭,则不允许终端上报日志。需要说明的是,若上报开关为关闭,则上报控制信息中仅包括上报开关。上报开关可以采用switch来表示。例如,switch为0时,则上报开关为开启,switch为1时,则上报开关为关闭。

上报地址用于指示上报日志的目的地址,其可以采用统一资源定位符(uniformresourcelocator,url)来表示。

上报数据量是指允许上报的最大数据量,上报数据量与待上报的日志的数据量可以相同,也可以不同。上报间隔用于指示上报日志的时间间隔,例如,上报间隔为30分钟,则终端在接收到上报控制信息之后的30分钟,向服务器上报日志。上报重试时间用于指示上报日志失败时,执行重新上报的时间间隔,例如,上报重试时间为2小时,则终端向服务器上报日志失败之后的2小时,重新向服务器上报日志。另外,上报控制信息可以被携带于服务器向终端返回的上报指示消息中。上报指示消息中除上报控制信息之外,还包括返回码,返回码是服务器接收到日志上报请求之后向终端返回的响应。返回码及其相关解释可以参考表-1。

表-1

以下示出了一种示例性的上报指示消息的代码。

“retcode:”0

“datacontrol”:

{

“datatype1”:{

“switch”:0;

“uploadsize”:1gb;

“accumulatetime”:30;

“url”:http://xxxxxxx.com/path;

}

}

“retryinterval”:10.

其中,retcode表示返回码,datacontrol表示上报控制信息,switch表示上报开关,accumulatetime表示上报间隔,url表示上报地址,retryinterval表示上报重试时间。

可选地,步骤202包括如下几个子步骤:

步骤202a,服务器根据终端的标识确定上报地址;

终端的标识也即终端的ip地址。服务器保存有ip地址段与上报地址之间的预设对应关系。服务器接收到日志上报请求之后,先确定终端的ip地址所属的ip地址段,之后查找上述预设对应关系,得到上述ip地址段对应的上报地址。

步骤202b,根据上报地址对应的服务器的网络状况和负载状况,确定上报开关、上报数据量、上报间隔、上报重试时间中的至少一种。

上报地址对应的服务器的网络状况是指上述服务器的网络带宽,也即在固定的时间段(例如1秒)内能通过的最大数据量。上报地址对应的服务器的负载状况用于指示当前正在向该服务器上报日志的终端的数量。

可选地,服务器在网络带宽达到预设带宽,或者,当前正在向服务器上报日志的终端的数量小于预设数量时,确定上报开关为开启。另外,若网络带宽小于预设带宽,且当前正在向服务器上报日志的终端的数量大于预设数量时,则服务器确定上报开关为关闭。上述预设带宽与预设数量可以根据实际需求设定,本发明实施例对此不作限定。另外,服务器在确定上报开关为开启时,进一步确定上报数据量、上报间隔、上报重试时间等参数。

步骤203,服务器向终端发送上报控制信息。

相应地,终端接收服务器发送的上报控制信息。

步骤204,终端对待上报的日志进行合并压缩,生成日志文件。

由于待上报的日志通常数据量较大,因此在上报之前通常会对待上报的日志进行合并压缩处理,生成数据量相对较小的日志文件,从而减小后续上报日志时的带宽占用,并提升上报效率。

可选地,步骤204可以包括如下几个子步骤:

步骤204a,对待上报的日志进行合并,得到合并后的日志;

其中,相邻两条日志之间采用第一分隔符进行分隔,每条日志所包括的各个字段之间采用第二分隔符进行分隔。例如,第一分割符可以是“#”,第二分割符可以是“|”。具体地,终端对每条日志所包括的字段进行url编码,之后在相邻两个经过url编码后的字段之间插入第二分隔符,在相邻两条日志之间插入第一分隔符,最终得到合并后的日志。

可选地,终端对待上报的日志进行合并之前,获取日志的数据类型,之后对同一数据类型的日志文件进行合并。日志的数据类型是由采集日志的第三方应用、系统应用、进程等自定义设置的,日志的数据类型可以是fileop、usbchange等等。通过上述方式,后续对合并后的日志进行压缩时,可以提高压缩比,从而使日志文件的数据量更小。

步骤204b,对合并后的日志进行压缩,生成日志文件。

对合并后的日志进行压缩的压缩算法可以由服务器预先规定,其可以是哈夫曼编码、算术编码、deflate算法等等,本发明实施例对此不作限定。

结合参考图2b,其示出了本发明一个示例性实施例示出的合并压缩的示意图。终端对多条待上报的日志进行合并压缩,得到日志文件。

另外,终端生成日志文件之后,还可以对日志文件进行加密处理,加密处理所采用的加密算法也可以由服务器预先规定。加密算法可以是消息摘要算法第五版(message-digestalgorithm5,md5)算法,也可以是数据加密标准(dataencryptionstandard,des)算法,还可以是高级加密标准(advancedencryptionstandard,aes)算法等,本发明实施例对此不作限定。

步骤205,终端根据上报控制信息向服务器发送日志文件。

终端根据上报控制信息所指示的规则,向服务器发送日志文件。

相应地,服务器接收终端发送的日志文件。

综上所述,本发明实施例提供的方法,通过在日志上报时,由服务器为终端制定相应的上报控制信息,终端根据上报控制信息进行上报,从而使终端每次上报的日志处于可控制的范围之内,从而避免终端因服务器带宽、吞吐量较小时上报日志失败的情况发生,也可以避免服务器同时接收较多的终端上报的日志而崩溃的情况发生,从而提升日志上报的稳定性。

请参考图3a,其示出了本发明另一个实施例提供的日志上报方法的流程图。该方法可以应用于图1a所示的应用场景中。该方法可以包括如下步骤:

步骤301,终端通过多个进程分别采集日志,并将日志分别写入各自对应的第一缓存中。

在本发明实施例中,终端中运行有多个进程,每个进程均可以将生成的日志采集到各自对应的缓存中。步骤302,终端将各个第一缓存中待上报的日志转移至第二缓存中。

第二缓存是汇总进程对应的缓存,汇总进程用于对待上报的日志进行合并处理。在本发明实施例中,终端还提供有预设接口,每一个进程通过上述预设接口将各自对应的缓存中的日志发送至汇总进程,汇总进程将接收到的日志存储至第二缓存中,从而实现日志的转移。其中,预设接口用于向各个进程提供进程间通信能力,预设接口可以是dll接口,也可以是so接口。结合参考图3b,其示出了本发明一个实施例示出的采集日志的示意图。各个进程先将日志采集至各自对应的缓存中,之后通过预设接口将缓存中的日志发送至汇总进程,汇总进程将接收到的日志写进第二缓存。

在其它可能的示例中,终端中还运行有预设脚本,第三方应用或者系统应用中可以通过该预设脚本将日志采集至指定路径下的文件中。其中,第三方应用和系统应用所对应的指定路径可以相同,也可以不同,本发明实施例对此不作限定。

步骤303,终端向服务器发送日志上报请求。

日志上报请求用于请求向服务器上报日志。

相应地,服务器接收终端发送的日志上报请求。

步骤304,服务器根据日志上报请求生成上报控制信息。

上报控制信息用于指示向服务器上报日志时的规则。

步骤305,服务器向终端发送上报控制信息。

相应地,终端接收服务器发送的上报控制信息。

步骤306,服务器向终端发送上报策略信息。

上报策略信息包括加密信息、压缩信息、上报协议中的至少一种。加密信息用于指示终端在上报日志时是否需要加密,若需要加密,则加密信息还包括终端对日志进行加密时所需的加密算法。压缩信息用于指示终端在上报日志时是否需要压缩,若需要压缩,则加密信息还可以包括终端对日志进行压缩时所需的压缩算法。上报协议可以是超文本传输协议(hypertexttransferprotocol,http)、传输控制协议(transmissioncontrolprotocol,tcp)、用户数据报协议(userdatagramprotocol,udp)中的任意一种,本发明实施例对此不作限定。

上报策略信息中还可以包括允许上报的最大数据量、本地积累的日志的最大保存天数、文件的最大合并个数、是否需要将本地积累的日志保存至磁盘,保存的最大数据量、保存的最大文件数、保存时间等等,本发明实施例对此不作限定。在本发明实施例中,终端在对日志进行合并处理后,再进行日志上报,此处文件的最大合并个数是指允许合并的文件的最大数,例如最大合并个数为5,则终端最多可以将5个文件合并成一个文件。

在一个示例中,服务器预先向终端发送上报策略信息,之后终端每次上报日志均按照该上报策略信息对待上报的日志进行处理。在另一个示例中,终端每次发送日志上报请求后,服务器将上报策略信息与上报控制信息一并发送至终端,终端按照每次接收的上报策略信息对待上报的日志进行处理。

需要说明的是,本发明实施例对服务器向终端发送上报策略信息的时机不作限定。另外,若服务器在终端发送日志上报请求之前发送上报策略信息,则终端向服务器所发送的日志上报请求中还可以携带上报策略信息。具体地,上报策略信息被携带于日志上报请求中的header部分。

相应地,终端接收服务器发送的上报策略信息。

步骤307,服务器向终端发送票据信息。

票据信息用于供服务器对上报日志文件的终端进行验证。票据信息包括票据,可选地,票据信息还包括票据的有效时间。例如,服务器可以通过检测在日志上报时所携带的票据信息与服务器发送的票据信息是否相同,以实现对终端的验证。再例如,服务器还可以检测日志上报的时间是否处于票据的有效时间内,以实现对终端的验证。

另外,本发明实施例对服务器向终端发送票据信息的时机也不作限定。另外,若服务器在终端发送日志上报请求之前发送票据信息,且票据信息中包含票据的情况下,则终端向服务器所发送的日志上报请求中还可以携带票据。具体地,票据被携带于日志上报请求中的header部分。

相应地,终端接收服务器发送的票据信息。

步骤308,终端对待上报的日志进行合并压缩,生成日志文件。

步骤309,终端根据上报控制信息向服务器发送日志消息。

日志消息包括日志文件和票据信息。

相应地,服务器接收终端发送的日志消息。

综上所述,本发明实施例提供的方法,通过由服务器根据上报地址对应的服务器的网络状况、负载状况来制定上报控制信息,后续终端根据上报控制信息上报日志时,可以避免同时有很多终端向上述上报地址对应的服务器上报日志的情况发生,避免终端上报日志不成功,能有效提升日志上报的稳定性。

另外,还通过对日志所包括的多条数据进行合并、压缩处理,能减小终端向服务器上报日志时所发送的消息的数据量,从而减小带宽消耗,提升上报效率。另外,还通过向终端发送票据,后续服务器根据终端上报日志时所携带的票据进行验证,从而可以避免服务器被不法终端攻击的状况发生。

在上述方法实施例中,仅从终端和服务器的交互角度对本发明提供的技术方案进行介绍说明。上述有关终端侧的步骤可以单独实现成为终端侧的日志上报方法,有关服务器侧的步骤可以单独实现成为服务器侧的日志上报方法。

请参考图4a,其示出了本发明另一个实施例提供的日志上报方法的流程图。该方法可以应用于图1b所示的应用场景中。该方法可以包括如下几个步骤。

步骤401,终端通过多个进程分别采集日志,并将日志分别写入各自对应的第一缓存中。

步骤402,终端将各个第一缓存中待上报的日志转移至第二缓存中。

步骤403,策略服务器分别向终端、调度服务器发送上报策略信息。

相应地,终端、调度服务器分别接收策略服务器发送的上报策略信息。

步骤404,票据服务器分别向终端和上报服务器发送票据信息。

相应地,终端、上报服务器分别接收策略服务器发送的票据信息。

步骤405,终端向调度服务器发送日志上报请求。

相应地,调度服务器接收终端发送的日志上报请求。

步骤406,调度服务器根据日志上报请求生成上报控制信息。

步骤407,调度服务器向终端发送上报控制信息。

相应地,终端接收调度服务器发送的上报控制信息。

步骤408,终端对待上报的日志进行合并压缩,生成日志文件。

步骤409,终端根据上报控制信息向上报服务器发送日志消息。

日志消息携带日志文件和票据信息。

相应地,上报服务器接收终端发送的日志消息。

在本发明实施例中,上报服务器接收到日志消息后,会对日志消息中携带的日志文件进行拆解,并将拆解后的日志文件发送至相关服务器进行soc检测,以便能及时发现日志文件中的威胁信息。

结合参考图4b,其示出了本发明一个示例性实施例示出的日志上报系统的完整框架图。终端中存储有日志、调度服务器发送的上报控制信息、策略服务器发送的上报控制信息,其中,日志由多个进程采集之后发送至汇总进程,汇总进程将日志存储至第二缓存中。终端向上报服务器发送日志文件后,上报服务器对日志文件进行拆解,并发送至相关服务器集群进行soc检测,并将检测得到的规则、威胁、情报存储至数据库中。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

请参考图5,其示出了本发明一个实施例提供的日志上报装置的框图。该装置具有实现上述方法示例中终端一侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:请求发送模块501、信息接收模块502、文件生成模块503和文件发送模块504。

请求发送模块501,用于向服务器发送日志上报请求,所述日志上报请求用于请求向所述服务器上报日志。

信息接收模块502,用于接收所述服务器根据所述日志上报请求发送的上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则。

文件生成模块503,用于对待上报的日志进行合并压缩,生成日志文件。

文件发送模块504,用于根据所述上报控制信息向所述服务器发送所述日志文件。

在基于图5所示实施例提供的一个可选实施例中,所述文件生成模块503,用于:

对所述待上报的日志进行合并,得到合并后的日志,其中,相邻两条所述日志之间采用第一分隔符进行分隔;

对所述合并后的日志进行压缩,生成所述日志文件。

在基于图5所示实施例提供的另一个可选实施例中,所述装置还包括:日志采集模块和日志转移模块(图中未示出)。

日志采集模块,用于通过多个进程分别采集所述日志,并将所述日志分别写入各自对应的第一缓存中。

日志转移模块,用于将各个所述第一缓存中所述待上报的日志转移至第二缓存中。

在基于图5所示实施例提供的另一个可选实施例中,所述文件发送模块504,用于根据所述上报控制信息向所述服务器发送日志消息,所述日志消息中包括所述日志文件和票据信息,所述票据信息用于供所述服务器对上报所述日志文件的终端进行验证。

在基于图5所示实施例提供的另一个可选实施例中,所述上报控制信息包括上报开关、上报地址、上报数据量、上报间隔、上报重试时间中的至少一种;

所述上报开关用于指示是否允许向所述服务器上报日志;

所述上报地址用于指示上报日志的目的地址;

所述上报数据量用于指示允许上报的最大数据量;

所述上报间隔用于指示上报日志的时间间隔;

所述上报重试时间用于指示上报日志失败时,执行重新上报的时间间隔。

综上所述,本发明实施例提供的装置,通过在终端向服务器上报日志时,由服务器为终端制定相应的上报控制信息,终端根据上报控制信息进行上报,从而使终端每次上报的日志处于可控制的范围之内,从而避免终端因服务器带宽、吞吐量较小时上报日志失败的情况发生,也可以避免服务器同时接收较多的终端上报的日志而崩溃的情况发生,从而提升日志上报的稳定性。

请参考图6,其示出了本发明一个实施例提供的日志上报装置的框图。该装置具有实现上述方法示例中服务器一侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:请求接收模块601、信息生成模块602、信息发送模块603和文件接收模块604。

请求接收模块601,用于接收终端发送的日志上报请求,所述日志上报请求用于请求向服务器上报日志。

信息生成模块602,用于根据所述日志上报请求生成上报控制信息,所述上报控制信息用于指示向所述服务器上报日志时的规则。

信息发送模块603,用于向所述终端发送上报控制信息。

文件接收模块604,用于接收所述终端根据所述上报控制信息发送的日志文件,所述日志文件由所述终端对待上报的日志进行合并压缩后生成。

综上所述,本发明实施例提供的装置,通过在终端向服务器上报日志时,由服务器为终端制定相应的上报控制信息,终端根据上报控制信息进行上报,从而使终端每次上报的日志处于可控制的范围之内,从而避免终端因服务器带宽、吞吐量较小时上报日志失败的情况发生,也可以避免服务器同时接收较多的终端上报的日志而崩溃的情况发生,从而提升日志上报的稳定性。

本发明一示例性实施例还提供了一种日志上报系统,所述日志上报系统包括:终端和服务器。所述终端包括如图5所示实施例或者基于图5所示实施例的任一可选实施例所提供的日志上报装置。所述服务器包括如图6所示实施例或者基于图6所示实施例的任一可选实施例所提供的日志上报装置。

图7示出了本发明一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端700包括有:处理器701和存储器702。

处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的终端一侧的日志上报方法。

在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头707、音频电路707、定位组件708和电源709中的至少一种。

外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路704用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏705用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。

定位组件708用于定位终端700的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件708可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器717。

加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3d动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。

光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件707的拍摄参数。

接近传感器717,也称距离传感器,通常设置在终端700的前面板。接近传感器717用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器717检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器717检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

请参考图8,其示出了本发明一个实施例提供的服务器的结构示意图。服务器用于实施上述实施例中服务器一侧的日志上报方法。具体来讲:

所述服务器800包括中央处理单元(cpu)801、包括随机存取存储器(ram)802和只读存储器(rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。

所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。

根据本发明的各种实施例,所述服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述服务器一侧的日志上报方法的指令。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由电子设备的处理器加载并执行以实现上述方法实施例中终端一侧的日志上报方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由电子设备的处理器加载并执行以实现上述方法实施例中服务器一侧的日志上报方法。

可选地,上述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1