CN110474807A - 一种日志处理方法及装置 - Google Patents
一种日志处理方法及装置 Download PDFInfo
- Publication number
- CN110474807A CN110474807A CN201910763421.2A CN201910763421A CN110474807A CN 110474807 A CN110474807 A CN 110474807A CN 201910763421 A CN201910763421 A CN 201910763421A CN 110474807 A CN110474807 A CN 110474807A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- key value
- journal file
- line number
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种日志处理方法及装置,属于数据传输技术领域。该方法包括:从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。本申请能够实现有效降低服务端解析日志的压力的技术效果。
Description
技术领域
本申请涉及数据传输技术领域,具体而言,涉及一种日志处理方法及装置。
背景技术
目前客户端在将日志写入文件后,会在一定周期内或日志大小超过某值后,将日志进行压缩并上传至服务器。服务器会将客户端上传的所有日志进行解析,从解析后的内容中抽取有效的内容,从而使得服务器的解析压力过大。
发明内容
本申请实施例的目的在于提供一种日志处理方法及装置,用以降低服务端解析日志的压力。
第一方面,本申请实施例提供的一种日志处理方法,所述方法应用于客户端,所述方法包括:从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。
在上述实现过程中,客户端通过从日志文件中提取出预设关键值所在的行号,将该行号携带在解析请求中发送给服务端,从而使得服务端在接收到解析请求后,只需要从日志文件中解析出行号对应的内容,而无需再对所有日志文件进行逐行解析,进而可以有效降低服务端解析日志的压力。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,在从日志文件中提取出预设关键值所在的行号之前,所述方法还包括:在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率;确定所述内存使用率小于预设使用率阈值。
在上述实现过程中,客户端通过在后台运行时,采集终端设备的内存使用率,以使当内存使用率小于预设使用率阈值时,从日志文件中提取出预设关键值所在的行号,一方面可以使得客户端提取预设关键值所在行号不会影响用户的使用,从而提升用户使用体验;另一方面,在内存使用率小于预设使用率阈值时,才提取行号,可以提高终端设备的内存的使用率,同时还可以避免在终端设备的内存使用率过高时,使用内存资源进行行号提取而出现客户端崩溃的现象。
结合第一方面或结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,所述日志文件中的所述行号携带在所述解析请求的请求头中。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,所述向所述服务端发送用于解析所述日志文件的解析请求,包括:通过预先建立的目标传输控制协议TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,在通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求之前,所述方法还包括:确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间;根据所述时间最短的TCP链接确定所述目标TCP链接。
在上述实现过程中,通过将耗时最短的TCP链接作为目标TCP链接来发送解析请求,可以有效提高客户端与服务端之间的流畅度。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,所述根据所述时间最短的TCP链接确定所述目标TCP链接,包括:在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;或者,在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址;根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
在上述实现过程中,通过在时间最短的TCP链接所耗费的时间小于预设阈值时,将时间最短的TCP链接确定为目标TCP链接,当时间最短的TCP链接所耗费的时间大于预设阈值时,通过接收服务端返回的新的IP地址以及原始的多个TCP链接来确定目标TCP链接,从而得到最优的TCP链接,可以使得客户端与服务端之间的连接时间缩短,使得客户端与服务端的IM服务更加流畅。
第二方面,本申请实施例提供的一种日志处理方法,应用于服务端,所述方法包括:接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值;根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
在上述实现过程中,服务端通过接收到解析请求后,只需要通过解析请求携带的行号,从日志文件中解析出该行号对应的内容,而无需再对所有日志文件进行逐行解析,进而可以有效降低服务端解析日志的压力。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,所述方法还包括:根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数;根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
在上述实现过程中,通过根据第一失败次数、第二失败次数、第三失败次数和连接请求总数来确定客户端的连通率,由于客户端在后台发起请求时不会影响用户的实际体验,故将客户端在后台运行时发起的请求的第三失败次数减去,从而可以使得所得到的连通率更加准确,更能够真实的反映客户端与服务端之间的连通率。
结合第二方面,本申请实施例提供了第二方面的第二种可能的实施方式,所述接收客户端发送的解析请求,包括:通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求。
结合第二方面的第二种可能的实施方式,本申请实施例提供了第二方面的第三种可能的实施方式,在通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求之前,所述方法还包括:接收所述客户端发送的判断结果,所述判断结果中携带有所述客户端建立TCP链接耗费的最短时间大于预设阈值的信息;根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址,以使所述客户端根据所述新的IP地址建立所述目标TCP链接。
在上述实现过程中,通过在接收到客户端发送的判断结果后,根据判断结果为客户端分配新的IP地址,以使客户端可以通过新的IP地址重新访问服务端,进而提高访问效率。
第三方面,本申请实施例提供的一种日志处理装置,应用于客户端,所述装置包括:处理单元,用于从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;发送单元,用于向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。
结合第三方面,本申请实施例提供了第三方面的第一种可能的实施方式,所述装置还包括:获取单元,用于在从日志文件中提取出预设关键值所在的行号之前,在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率;确定所述内存使用率小于预设使用率阈值。
结合第三方面或结合第三方面的第一种可能的实施方式,本申请实施例提供了第三方面的第二种可能的实施方式,所述日志文件中的所述行号携带在所述解析请求的请求头中。
结合第三方面,本申请实施例提供了第三方面的第三种可能的实施方式,发送单元,还用于通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求。
结合第三方面的第三种可能的实施方式,本申请实施例提供了第三方面的第四种可能的实施方式,所述装置还包括:第一分析单元,用于在通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求之前,确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间;第二分析单元,用于根据所述时间最短的TCP链接确定所述目标TCP链接。
结合第三方面的第四种可能的实施方式,本申请实施例提供了第三方面的第五种可能的实施方式,第二分析单元,还用于,包括:在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;或者,在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址;根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
第四方面,本申请实施例提供的一种日志处理装置,应用于服务端,所述装置包括:第一接收单元,用于接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值;解析单元,用于根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
结合第四方面,本申请实施例提供了第四方面的第一种可能的实施方式,所述装置还包括:连通率确定单元,用于根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数;根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
结合第四方面,本申请实施例提供了第四方面的第二种可能的实施方式,所述接收单元,还用于通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求。
结合第四方面,本申请实施例提供了第四方面的第三种可能的实施方式,所述装置还包括:在通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求之前,第二接收单元,用于接收所述客户端发送的判断结果,所述判断结果中携带有所述客户端建立TCP链接耗费的最短时间大于预设阈值的信息;发送单元,用于根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址,以使所述客户端根据所述新的IP地址建立所述目标TCP链接。
第五方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述日志处理方法;或者,所述处理器执行所述计算机程序时实现如第二方面任一项所述日志处理方法。
第六方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的日志处理方法;或者,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的日志处理方法。
第七方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的日志处理方法;或者,所述计算机程序产品在计算机上运行时,使得计算机执行如第二方面任一项所述的日志处理方法。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种日志处理方法的流程图;
图2为本申请实施例提供的另一种日志处理方法的流程图;
图3为本申请实施例提供的另一种日志处理方法的流程图;
图4为本申请实施例提供的一种日志处理方法的流程图;
图5为本申请实施例提供的一种日志处理方法的流程图;
图6为本申请实施例提供的一种日志处理装置的结构示意图;
图7为本申请实施例提供的一种日志处理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,图1为本申请实施例提供的一种日志处理方法的流程图,该日志处理方法应用于客户端,应理解,图1所示的方法可以通过图6所示的日志处理装置执行,该装置可以与下文中的图8所示的电子设备对应,该电子设备可以是能够执行该方法的各种设备,例如,手机、平板、计算机等,本申请实施例并不限于此,具体包括如下步骤:
步骤S101,从日志文件中提取出预设关键值所在的行号。
其中,预设关键值为客户端与服务端预先约定的关键值。
应理解,这里的服务端是指与该客户端进行数据交互的服务器。
可选地,客户端为IM(Instant Messaging,即时通讯)SDK(Software DevelopmentKit,软件开发工具包)。
可选地,客户端一般安装在终端设备上,例如智能手机、平板电脑或计算机等设备。
作为一种实施场景,预设关键值可以是客户端在访问服务端时与服务端进行约定的关键值。例如,客户端可以通过发送请求的方式来从服务端取得服务端确定好的关键值(即预设关键值),从而来实现双方约定。
当然,在实际使用中,客户端也可以是与服务端进行连接后,服务端主动发送该预设关键值至客户端,从而来约定客户端与服务端之间的预设关键值。在此,不作具体限定。
作为另一种实施场景,预设关键值也可以是在客户端进行设置,然后客户端将预设关键值通过请求向服务端进行反应,进而实现双方的约定。在此,不作具体限定。
可选地,预设关键值的设置可以是根据用户喜好或者是根据当前热点进行设置。
当然,在实际使用中,预设关键值也可以根据实际情况进行设置,在此,不作具体限定。
可选地,预设关键值的数量可以是一个,也可以是2个,或者是多个,如10个或20个等。在此,不作具体限定。
可选地,当有多个预设关键值时,多个预设关键值可能在同一日志文件中,也可能分散在不同日志文件中。例如,日志文件A中出现预设关键值1对应的内容,日志文件B中出现预设关键值2、预设关键值3和预设关键值4对应的内容。
应理解,上述举例仅为示例而非限定。
可选地,在从日志文件中提取预设关键值对应的行号时,这里的日志文件应该理解为出现有与预设关键值对应的内容的所有日志文件。换句话说,当某一日志文件中有与预设关键值对应的内容时,就从该日志文件中提取出预设关键值所在的行号。
作为一种实施方式,步骤S101包括:从多个日志文件中找到有与预设关键值匹配的内容,确定该内容所在的行号。
继续以上述例子为例来说,假设预设关键值1出现在日志文件A的第二行,此时得到的行号可以是“第二行”,也可以是简单的一个数字“2”。
在一可能的实施例中,在提取出行号后,将该行号以及该行号所在日志文件的文件标识保存在内存变量中。
可选地,将行号以list形式(集合形式或数组形式)存储在内存中。
可选地,文件标识用于唯一识别每一日志文件。
可选地,文件标识可以是文件名。在此,不作具体限定。
应理解,当以文件名作为日志文件的文件标识时,客户端的所有日志文件的文件名是唯一的,即服务端收到所有日志文件的文件名也都是唯一的。
当然,在实际使用中,文件标识也可以不是文件名,而是一字符串,该字符串用于唯一识别该日志文件。即每个日志文件的文件标识是不同的。在此,不作具体限定。
当然,在实际使用中,文件标识也可以是文件名与字符串的组合。例如,文件标识的格式为:文件名+字符串。在此,不作具体限定。
在一可能的实施例中,在步骤S101之前,本申请实施例提供的一种日志处理方法,还包括:在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率;确定所述内存使用率小于预设使用率阈值。
可选地,后台运行是指客户端在资源管理器里运行,但是一般没有操作界面与用户进行交互。与之相对的有前台运行,即客户端直接在终端设备的窗口上运行,能和终端设备的使用者进行互动(或交互),即用户能够通过客户端所提供的操作界面与之进行交互。
可选地,预设使用率阈值为预先设置的内存使用率的一个阈值。
可选地,内存使用率也可以称为内存使用情况,一般可以用一个百分数来表示当前内存的使用情况,如内存使用率为50%,即表示当前的内存被使用了50%。
可选地,预设使用率阈值的取值可以根据用户需求进行设置,即用户可以自己设置内存的使用率阈值。在此,不作具体限定。例如,预设使用率阈值可以是50%,也可以是60%。
在上述实现过程中,客户端通过在后台运行时,采集终端设备的内存使用率,以使当内存使用率小于预设使用率阈值时,从日志文件中提取出预设关键值所在的行号,一方面可以使得客户端提取预设关键值所在行号不会影响用户的使用,从而提升用户使用体验;另一方面,在内存使用率小于预设使用率阈值时,才提取行号,可以提高终端设备的内存的使用率,同时还可以避免在终端设备的内存使用率过高时,使用内存资源进行行号提取而出现客户端崩溃的现象。
可选地,当内存使用率大于或等于预设使用率阈值时,客户端不做处理,即客户端不执行步骤S101。
可选地,采集运行所述客户端的终端设备的内存使用率,包括:创建内存探测线程;通过所述内存探测线程采集运行所述客户端的所述终端设备的所述内存使用率。
在上述实现过程中,通过创建一个内存探测线程来专门采集终端设备的内存使用率,从而实现精确的监测终端设备的内存使用情况,以便于客户端能够准确的作出响应的技术效果。
在一可能的实施例中,在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率之前,日志处理方法还包括:获取运行标识;根据所述运行标识确定自身在所述后台运行。
可选地,运行标识包括用于表征客户端处于后台运行的第一标识和用于表征客户端处于前台运行的第二标识。
其中,在终端设备中,其上安装的操作***(如安卓***)可以监控客户端的前后台运行状态,并记录其运行的状态。客户端可以从所记录的信息中去找到当前自身所处的运行状态,如当获取到的运行标识为第一标识时,即确定自身处于后台运行。若获取到的运动标识为第二标识时,确定自身(客户端)处于前台运行。
在一可能的实施例中,在步骤S101之前,日志处理方法还包括:客户端将所产生的所有日志文件写入指定目录。
在一可能的实施例中,在步骤S101之前,日志处理方法还包括:客户端与服务端建立链接。
可选地,在客户端与服务端建立链接后,客户端与服务端之间就可以进行业务交互。
步骤S102,向所述服务端发送用于解析所述日志文件的解析请求。
可选地,解析请求中携带有预设关键值所在的行号,以便于服务端从日志文件中解析出行号对应的内容。
作为一种实施场景,当客户端产生的日志文件为一个时,解析请求中可以只携带预设关键值所在的行号,服务端便可以根据该行号直接从这个日志文件中提取出该行号对应的内容。
可选地,解析请求中还携带有该行号对应的文件标识。
作为一种实施场景,当客户端有多个日志文件时,解析请求中携带有预设关键值所在的行号以及该行号对应的文件标识,以便服务端可以基于该文件标识找到待解析的日志文件,从而再从找到的日志文件中解析出该行号对应的内容。
可选地,所述日志文件中的所述行号携带在所述解析请求的请求头中。
可选地,当有多个行号时,将多个行号作为一个数组放在解析请求的请求头中。
当然,在实际使用中,如果只有一个行号,也可以以数组的形式放在解析请求的请求头中,只是此时的数组中只有一个元素。在此,不作具体限定。
可选地,当行号以list形式(集合形式或数组形式)存储在内存变量中时,在发送请求前,先将list中存入的数据(行号和/或文件标识)加入请求头中,再向服务端发送该解析请求。
作为一种实施方式,步骤S102,包括:通过预先建立的目标TCP(TransmissionControl Protocol,传输控制协议)链接向所述服务端发送用于解析所述日志文件的所述解析请求。
可选地,目标TCP链接是指多个TCP链接在建立时耗费时间最短的TCP链接。
在一可能的实施例中,在通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求之前,所述方法还包括:确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间;根据所述时间最短的TCP链接确定所述目标TCP链接。
可选地,将多个TCP中成功建立每个TCP链接所耗费的时间进行比较,将所耗费的时间最短的TCP链接确定为目标TCP链接。
在上述实现过程中,通过将耗时最短的TCP链接作为目标TCP链接来发送解析请求,可以有效提高发送效率。
作为一种实施方式,根据所述时间最短的TCP链接确定所述目标TCP链接,包括:在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;或者,在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP(InternetProtocol,网络协议)地址;根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
可选地,预设阈值为服务端在所述客户端发起TCP链接前返回的。
可选地,预设阈值是服务端根据当前时间节点之前该客户端所在地理位置中的每个IP地址建立TCP链接所耗费的时间的平均值。
当然,在实际使用中,预设阈值也可以是服务端根据当前时间节点之前所有客户端基于每个IP地址建立TCP链接所耗费的时间平均值的总和。
可选地,判断结果携带有时间最短的TCP链接所耗费的时间于预设阈值的比较结果。如最短的时间大于预设阈值,或最短的时间小于或等于预设阈值。
应理解,最短的时间是指建立每个TCP链接所耗费的时间中时间最短的那个时间。例如,建立三个TCP链接,其中,三个TCP链接中的TCP链接1的耗时为10秒,TCP链接2的耗时为5秒,TCP链接3的耗时为20秒,则最短的时间为5秒,时间最短的TCP链接为TCP链接2。
可选地,建立每个TCP链接所耗费的时间可以通过客户端与服务端之间的三次握手的时间计算得到。
可选地,根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接,包括:确定通过新的IP地址建立新的TCP链接所耗费的时间;根据所述新的TCP链接所耗费的时间与多个TCP链接的耗费时间确定所述目标TCP链接。
可选地,上述具体实施过程可以参照上文中根据所述时间最短的TCP链接确定所述目标TCP链接的实施过程,在此,不再赘述。
在上述实现过程中,通过在时间最短的TCP链接所耗费的时间小于预设阈值时,将时间最短的TCP链接确定为目标TCP链接,当时间最短的TCP链接所耗费的时间大于预设阈值时,通过接收服务端返回的新的IP地址以及原始的多个TCP链接来确定目标TCP链接,从而得到最优的TCP链接,可以使得客户端与服务端之间的连接时间缩短,使得客户端与服务端的IM服务更加流畅。
作为另一种实施方式,根据所述时间最短的TCP链接确定所述目标TCP链接,包括:在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;或者,在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP(InternetProtocol,网络协议)地址;根据所述新的IP地址确定所述目标TCP链接。
可选地,新的IP地址为服务端返回的最优的IP地址。如服务端从所有空闲的IP地址选取出基于该IP地址建立TCP链接耗时最短的一个IP地址,将该IP地址返回给客户端。
可选地,服务端存储有每个IP地址所对应的历史耗时。
可选地,历史耗时可以是当前时间节点之前的预设时段内的平均耗时。
当然,在实际使用中,历史耗时也可以是指每个IP地址在预设时段内每次被用于建立TCP链接所耗费的时间。在此,不作具体限定。
可选地,预设时段可以是1小时,也可以是2小时,甚至是24小时等。在此,不作具体限定。
一般地,预设时段可以根据用户需求进行设置,在此,不作具体限定。
举例来说,假设,在当前时间节点之前的24小时内,IP1被使用了3次,每次耗时为t1、t2和t3,则t1、t2和t3统称为IP1的历史耗时。
在上述实现过程中,通过在时间最短的TCP链接所耗费的时间大于预设阈值时,接收服务端返回的新的IP地址,从而实现与服务端的重连,可以有效缩短客户端与服务端之间的连接时间,进一步可以使得客户端与服务端的IM服务更加流畅。
在一可能的实施例中,在确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间之前,日志处理方法,还包括:客户端向所述服务端请求多个IP地址,以便服务端返回多个IP地址;客户端接收所述服务端返回的所述多个IP地址;客户端根据所述多个IP地址与所述服务端建立所述多个TCP链接。
可选地,客户端通过服务端的域名发送请求多个IP地址的请求给服务端,以便于服务端在接收到该请求后可以返回多个IP地址。
可选地,在客户端发起请求多个IP地址后,服务端会返回多个IP地址给客户端,同时还会返回预设阈值给客户端。
可选地,预设阈值为一动态值。每次客户端在向服务端请求多个IP地址时,服务端返回的预设阈值的大小可能不同。
举例来说,假设客户端向服务端请求N个IP地址,请求N个IP地址目的是为客户端提供计算最优结果的数据源。其中,N为大于2的整数。例如,客户端请求到了3个IP地址,分别为IP1、IP2和IP3,客户端使请求的3个IP地址同时与服务端建立3个TCP链接(即分别通过IP1、IP2和IP3与服务端建立3个TCP链接),通过三次握手,确认TCP链接是否建立成功。
继续以上述例子为例来说,在建立多个TCP链接之后,客户端会计算每次成功建立的链接所花费的时间,并将该时间与IP地址一一对应(例如,IP1:10秒,表示通过IP1建立TCP链接花费了10秒),以键值对存储,取连接时间最短的IP地址。然后以时间最短的IP地址作为最优的IP地址与服务端进行服务连接,判断通过最优IP地址连接服务端的时间是否超过预设阈值,如果超过,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址;根据所述新的IP地址确定所述目标TCP链接,或者,根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
上文结合图1描述了本申请实施例的日志处理方法,下面,作为示例而非限定,结合图2对本申请实施例中的日志处理进行详细的描述。具体地,如图2所示的方法包括:
步骤S201,即时通讯服务运行中。
应理解,即时通讯服务运行中是指客户端与服务端处于通信状态,此时,客户端与服务端均可以收发数据。
步骤S202,是否在后台运行。
客户端确定自身是否在后台运行。具体实施过程可以参照上述对应的描述,在此,不再赘述。
步骤S203,检测应用内存使用率。
可选地,步骤S203的具体实施方式请参照上文对应的描述,在此,不再赘述。
步骤S204,是否低于阈值Y。
可选地,阈值Y即为上文的预设使用率阈值。
可选地,步骤S204的具体实施方式请参照上文对应的描述,在此,不再赘述。
可选地,当采集到的内存使用率在不低于阈值Y时,即内存使用率大于或等于阈值Y时,执行步骤S203。
步骤S205,在低于阈值Y时,提取预设关键值所在的行号,以list形式保存在内存中。
步骤S206,请头中加入list中存入的数据,以让服务端分析。
即在解析请求的请求头中加入list中存入的数据。
可选地,步骤S205和步骤S206的具体实施方式请参照上文对应的描述,在此,不再赘述。
上文结合图1和图2描述了本申请实施例的日志处理方法,下面,作为示例而非限定,结合图3对本申请实施例中的日志处理进行详细的描述。具体地,如图3所示的方法包括:
步骤S301,客户端请求多个IP地址。
可选地,客户端通过HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)同时向服务端请求多个IP地址(例如,上述的IP1、IP2和IP3)。
步骤S302,通过多个IP地址与服务端建立多个TCP链接。
可选地,步骤S302的具体实施方式可以参照上文对应的描述,在此,不再赘述。
步骤S303,计算各个IP连接成功花费的时间,取最小值,客户端根据这个最优的IP进行服务连接。
可选地,计算通过每个IP地址成功建立TCP链接所花费的时间,将时间最短的作为最优的IP地址,通过最优的IP地址建立目标TCP链接。
步骤S304,最优IP连接时间是否超过阈值T。
可选地,阈值T为上文中的预设阈值。
可选地,最优IP连接时间即为客户端基于该IP地址与服务端建立TCP链接所花费的时间。
可选地,步骤S304的具体实施方式,请参照上述中对应的描述,在此,不再赘述。
步骤S305,发送判断结果至服务端,以使所述服务端用于根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址。
可选地,步骤S305的具体实施方式,请参照上述中对应的描述,在此,不再赘述。
步骤S306,客户端收到指令,断开链接,重新访问服务端。
可选地,客户端收到重定向指令后,断开当前的TCP链接,通过服务端返回的新的IP地址重新建立TCP链接,以重新访问服务端。
可选地,在重新建立TCP链接过程时,可以再次对新的IP地址建立TCP链接的时间进行判断,看是否小于阈值T,如果小于,则使用该新的IP地址与服务端进行连接,如果还是大于阈值T,则向服务端再次发判断结果,以重新获取新的IP地址。
本申请实施例提供的一种日志处理方法,客户端通过从日志文件中提取出预设关键值所在的行号,将该行号携带在解析请求中发送给服务端,从而使得服务端在接收到解析请求后,只需要从日志文件中解析出行号对应的内容,而无需再对所有日志文件进行逐行解析,进而可以有效降低服务端解析日志的压力。
请参阅图4,基于同一发明构思,图4为本申请实施例提供的一种日志处理方法的流程图,该日志处理方法应用于服务端,应理解,图4所示的方法可以通过图7所示的日志处理装置执行,该装置可以与下文中的图8所示的电子设备对应,该电子设备可以是能够执行该方法的各种设备,例如,服务器或计算机等,本申请实施例并不限于此,具体包括如下步骤:
步骤S401,接收客户端发送的解析请求。
可选地,解析请求中携带有预设关键值在日志文件中的行号,预设关键值为服务与端客户端预先约定的关键值。
可选地,解析请求中还携带有行号对应的文件标识(该文件标识可以参照上文的描述)。
可选地,步骤S401中涉及的部分特征请参照步骤S101与步骤S102中的描述,在此,不再赘述。
作为一种实施方式,步骤S401,包括:通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求。
在一可能的实施例中,在通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求之前,所述方法还包括:接收所述客户端发送的判断结果,所述判断结果中携带有所述客户端建立TCP链接耗费的最短时间大于预设阈值的信息;根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址,以使所述客户端根据所述新的IP地址建立所述目标TCP链接。
可选地,预设阈值为服务端根据客户端所在区域(即地理位置)内的所有连接成功建立TCP链接的时间,取平均值得到的结果。
在上述实现过程中,通过在接收到客户端发送的判断结果后,根据判断结果为客户端分配新的IP地址,以使客户端可以通过新的IP地址重新访问服务端,进而提高访问效率。
可选地,服务端为所述客户端分配的新的IP地址,包括:服务端从当前已有的所有IP地址中选取一个新的IP地址分配给客户端。
可选地,该新的IP地址与客户端初始请求到的多个IP地址不同。
可选地,服务端为客户端分配新的IP地址,包括:根据客户端所在的地理位置为客户端分配属于该区域的IP地址。即服务端可以根据客户端所在的地理位置为该客户端分配新的IP地址。
可选地,服务端在接收到客户端发送的请求时,可以通过客户端的IP地址得到客户端所在的地理位置。
可选地,地理位置是指诸如北京海淀区、天津、上海等。在此,不作具体限定。
应理解,服务端中对应存储有每个地区的多个IP地址,每个IP地址都是预先布置好的。即服务端中对应不同的地理位置都存储有多个IP地址。
在上述实现过程中,通过根据客户端所在的地理位置分配IP地址,可以使得客户端能够更好地与服务端进行通信,进一步可以使得客户端与服务端之间的交互更加流畅。
在一可能的实施例中,在接收所述客户端发送的判断结果之前,日志处理方法,还包括:接收所述客户端发起的请求多个IP地址的IP请求;根据所述IP请求返回多个IP地址和预设阈值至所述客户端,以使客户端根据多个IP地址建立多个TCP链接,并从多个TCP链接中确定出目标TCP链接。
步骤S402,根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
可选地,服务端在接收到解析请求后,从解析请求的请求头中提取出预设关键值对应的行号,再根据该行号从日志文件中提取出对应的内容。
可选地,当客户端的日志文件大于预设值时,客户端将所产生的日志文件全部发送至服务端。
可选地,预设值可以是10兆,也可以是20兆等,在此,不作具体限定。
可选地,客户端将在预设时间内所产生的日志文件全部发送至服务端。
可选地,预设时间可以是一周,也可以是一天等。在此,不作具体限定。例如,客户端将一周内产生的所有日志文件发送至服务端。
应理解,服务端解析日志文件与客户端上传日志文件不存在必然的前后时间关系。例如,客户端可以先上传日志文件至服务端,然后发送解析请求(可以是间隔一定时间后发送,也可以是在上传日志文件后就立即发送)。当然,也可以是客户端先发送解析请求,服务端收到解析请求后,发现没有对应的日志文件,可以等待客户端上传日志文件后,再进行解析。也可以是服务端发现没有与解析请求对应的日志文件后,发送让客户端上传与解析请求对应的日志文件的消息至客户端,客户端再上传日志文件。
在一可能的实施例中,在步骤S402之后,所述方法还包括:根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数;根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
可选地,连接响应请求是指客户端在发送请求后,服务端会对客户端发送的每次请求给出响应。而第一失败次数则是服务端返回的响应的失败次数。
可选地,日志文件中会记录客户端在发起请求时的网络状态。
可选地,网络不可用是指客户端与服务端之间的网络处于断开状态,无法进行数据交互的状态。例如,运行客户端的终端设备关闭了网络,或终端设备处于网络信号屏蔽区域时,该终端设备的网络都不可用。
应理解,上述举例仅为示例而非限定。
可选地,连接请求总数是指客户端在任何状态下发起的所有请求的总数。例如,在网络不可用的状态下发起的请求与在后台发起的请求以及在前台发起的请求的总和即为连接请求总数。
可选地,根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率,包括:确定第一失败次数与第二失败次数的第一差值;确定第一差值与第三失败次数的第二差值;确定第二差值与连接请求总数的商值;确定预设常数与商值之间的第三差值,所述第三差值为连通率。
可选地,预设常识为1。
可选地,连通率满足:1-(第一失败次数-第二失败次数-第三失败次数)/连接请求总数(Request)*100%。
在上述实现过程中,通过根据第一失败次数、第二失败次数、第三失败次数和连接请求总数来确定客户端的连通率,由于客户端在后台发起请求时不会影响用户的实际体验,故将客户端在后台运行时发起的请求的第三失败次数减去,从而可以使得所得到的连通率更加准确,更能够真实的反映客户端与服务端之间的连通率。
需要说明的是,步骤S401至步骤S402中出现的部分特征可以参照前文(步骤S101至步骤S306)的描述。
上文结合图1与图4分别以单端的方式对日志处理方法进行了详细描述,下面作为示例而非限定,结合图5以客户端与服务端之间进行的交互为例对本申请实施例中的日志处理方法进行详细的描述。如图5所示的方法包括:
步骤S501,客户端请求多个IP地址。
可选地,步骤S501的具体实施方式可以参照步骤S301的描述,在此,不再赘述。
步骤S502,服务端返回多个IP地址以及预设阈值。
可选地,步骤S502的具体实施方式可以上文中对应的描述,在此,不再赘述。
步骤S503,客户端通过多个IP地址与服务端建立多个TCP链接。
可选地,步骤S503的具体实施方式可以参照步骤S302的描述,在此,不再赘述。
步骤S504,计算各个IP连接成功花费的时间,取最小值,客户端根据这个最优的IP进行服务连接。
可选地,步骤S504的具体实施方式可以参照步骤S303的描述,在此,不再赘述。
步骤S505,最优IP连接时间是否超过阈值T。
可选地,步骤S505的具体实施方式可以参照步骤S304的描述,在此,不再赘述。
步骤S506,若大于阈值T时,发送判断结果至服务端。
可选地,步骤S506的具体实施方式可以参照步骤S305的描述,在此,不再赘述。
步骤S507,根据所述判断结果返回重定向指令。
可选地,步骤S507的具体实施方式可以参照上文中对应的描述,在此,不再赘述。
步骤S508,客户端收到指令,断开链接,重新访问服务端。
可选地,步骤S508的具体实施方式可以参照步骤S306的描述,在此,不再赘述。
步骤S509,从日志文件中提取出预设关键值所在的行号。
可选地,步骤S509的具体实施方式可以参照步骤S101的描述,在此,不再赘述。
步骤S510,向所述服务端发送用于解析所述日志文件的解析请求。
可选地,步骤S510的具体实施方式可以参照步骤S102的描述,在此,不再赘述。
步骤S511,根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
可选地,步骤S511的具体实施方式可以参照步骤S401的描述,在此,不再赘述。
步骤S512,根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数。
步骤S513,根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
可选地,步骤S512与步骤S513的具体实施方式可以参照步骤S402中对应的描述,在此,不再赘述。
本申请实施例提供的一种日志处理方法,服务端通过接收到解析请求后,只需要通过解析请求携带的行号,从日志文件中解析出该行号对应的内容,而无需再对所有日志文件进行逐行解析,进而可以有效降低服务端解析日志的压力。
基于同一发明构思,本申请实施例中还提供了一种与图1所示的日志处理方法一一对应的日志处理装置,应理解,该装置600与上述图1至图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置600具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置600包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在电子设备800的操作***(operating system,OS)中的软件功能模块。具体地,该装置600包括:
处理单元610,用于从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值。
发送单元620,用于向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。
在一可能的实施例中,所述装置600还包括:获取单元,用于在从日志文件中提取出预设关键值所在的行号之前,在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率;确定所述内存使用率小于预设使用率阈值。
可选地,所述日志文件中的所述行号携带在所述解析请求的请求头中。
可选地,发送单元620,还用于通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求。
在一可能的实施例中,所述装置600还包括:第一分析单元,用于在通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求之前,确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间;第二分析单元,用于根据所述时间最短的TCP链接确定所述目标TCP链接。
可选地,第二分析单元,还用于,包括:在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;或者,在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址;根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
基于同一发明构思,本申请实施例中还提供了一种与图4所示的日志处理方法一一对应的日志处理装置,应理解,该装置700与上述图4方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置700具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置700包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在电子设备800的操作***(operating system,OS)中的软件功能模块。具体地,该装置700包括:
第一接收单元710,用于接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值。
解析单元720,用于根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
在一可能的实施例中,所述装置700还包括:连通率确定单元,用于根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数;根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
可选地,所述接收单元710,还用于通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求。
在一可能的实施例中,所述装置700还包括:在通过预先建立的目标TCP链接接收所述客户端发送的所述解析请求之前,第二接收单元,用于接收所述客户端发送的判断结果,所述判断结果中携带有所述客户端建立TCP链接耗费的最短时间大于预设阈值的信息;发送单元,用于根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址,以使所述客户端根据所述新的IP地址建立所述目标TCP链接。
本申请还提供一种电子设备,图8为本申请实施例中的电子设备800的结构框图,如图8所示。电子设备800可以包括处理器810、通信接口820、存储器830和至少一个通信总线840。其中,通信总线840用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口820用于与其他节点设备进行信令或数据的通信。处理器810可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器810可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器810也可以是任何常规的处理器等。
存储器830可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器830中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器810执行时,电子设备800可以执行上述图1或图4方法实施例涉及的各个步骤。
可选地,电子设备可以是诸如智能手机、平板电脑、计算机等终端设备,也可以是服务器。
可选地,电子设备800还可以包括存储控制器。
所述存储器830、存储控制器、处理器810各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线840实现电性连接。所述处理器810用于执行存储器830中存储的可执行模块,例如装置600包括的软件功能模块或计算机程序。并且,装置600用于执行下述方法:从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。又或者是装置700包括的软件功能模块或计算机程序。并且,装置700用于执行下述方法:接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值;根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
可以理解,图8所示的结构仅为示意,所述电子设备800还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种日志处理方法,其特征在于,所述方法应用于客户端,所述方法包括:
从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;
向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带有所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。
2.根据权利要求1所述的方法,其特征在于,在从日志文件中提取出预设关键值所在的行号之前,所述方法还包括:
在所述客户端处于后台运行时,采集运行所述客户端的终端设备的内存使用率;
确定所述内存使用率小于预设使用率阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述日志文件中的所述行号携带在所述解析请求的请求头中。
4.根据权利要求1所述的方法,其特征在于,所述向所述服务端发送用于解析所述日志文件的解析请求,包括:
通过预先建立的目标传输控制协议TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求。
5.根据权利要求4所述的方法,其特征在于,在通过预先建立的目标TCP链接向所述服务端发送用于解析所述日志文件的所述解析请求之前,所述方法还包括:
确定与所述服务端建立的多个TCP链接中的每个TCP链接所耗费的时间;
根据所述时间最短的TCP链接确定所述目标TCP链接。
6.根据权利要求5所述的方法,其特征在于,所述根据所述时间最短的TCP链接确定所述目标TCP链接,包括:
在确定所述时间最短的TCP链接所耗费的所述时间小于预设阈值时,将所述时间最短的TCP链接确定为所述目标TCP链接;
或者,
在确定所述时间最短的TCP链接所耗费的所述时间大于所述预设阈值时,发送判断结果至所述服务端,以使所述服务端根据所述判断结果返回重定向指令,所述重定向指令包括所述服务端为所述客户端分配的新的IP地址;
根据所述新的IP地址和所述多个TCP链接确定所述目标TCP链接。
7.一种日志处理方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值;
根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所解析出的所述内容确定所述客户端发起的连接响应请求的第一失败次数、网络不可用时发起的请求的第二失败次数、所述客户端在后台运行时发起的请求的第三失败次数和连接请求总数;
根据所述第一失败次数、所述第二失败次数、所述第三失败次数和所述连接请求总数确定所述客户端的连通率。
9.一种日志处理装置,其特征在于,应用于客户端,所述装置包括:
处理单元,用于从日志文件中提取出预设关键值所在的行号,所述预设关键值为所述客户端与服务端预先约定的关键值;
发送单元,用于向所述服务端发送用于解析所述日志文件的解析请求,所述解析请求中携带有所述预设关键值所在的所述行号,以便于所述服务端从所述日志文件中解析出所述行号对应的内容。
10.一种日志处理装置,其特征在于,应用于服务端,所述装置包括:
第一接收单元,用于接收客户端发送的解析请求,所述解析请求中携带有预设关键值在日志文件中的行号,所述预设关键值为所述服务与端所述客户端预先约定的关键值;
解析单元,用于根据所述解析请求从所述日志文件中解析出所述行号对应的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763421.2A CN110474807B (zh) | 2019-08-16 | 2019-08-16 | 一种日志处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763421.2A CN110474807B (zh) | 2019-08-16 | 2019-08-16 | 一种日志处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474807A true CN110474807A (zh) | 2019-11-19 |
CN110474807B CN110474807B (zh) | 2022-06-21 |
Family
ID=68511861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910763421.2A Active CN110474807B (zh) | 2019-08-16 | 2019-08-16 | 一种日志处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474807B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371887A (zh) * | 2020-03-02 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 物联网日志传输方法、客户端、服务端、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034825A (ja) * | 2005-07-28 | 2007-02-08 | Matsushita Electric Ind Co Ltd | デバッグ装置 |
JP2011215978A (ja) * | 2010-04-01 | 2011-10-27 | Hitachi Ltd | ソフトウェア資産抽出支援装置 |
CN104281672A (zh) * | 2014-09-28 | 2015-01-14 | 网神信息技术(北京)股份有限公司 | 日志数据的处理方法和装置 |
CN105447113A (zh) * | 2015-11-13 | 2016-03-30 | 四川九成信息技术有限公司 | 一种基于大数据的信息分析方法 |
CN106055621A (zh) * | 2016-05-26 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种日志检索方法及装置 |
CN106648467A (zh) * | 2016-12-28 | 2017-05-10 | 税友软件集团股份有限公司 | 一种日志生成方法及*** |
CN107145427A (zh) * | 2017-05-11 | 2017-09-08 | 暴风体育(北京)有限责任公司 | 一种自动分类监控应用服务日志的方法及*** |
CN107480233A (zh) * | 2017-08-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种日志数据定位的方法及*** |
CN108038018A (zh) * | 2017-12-22 | 2018-05-15 | 杭州闪捷信息科技有限公司 | 可扩展的日志数据存储方法及装置 |
CN109039787A (zh) * | 2018-09-28 | 2018-12-18 | 新华三大数据技术有限公司 | 日志处理方法、装置及大数据集群 |
CN110096418A (zh) * | 2019-03-21 | 2019-08-06 | 平安普惠企业管理有限公司 | 业务日志分析方法、装置、计算机设备和存储介质 |
-
2019
- 2019-08-16 CN CN201910763421.2A patent/CN110474807B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034825A (ja) * | 2005-07-28 | 2007-02-08 | Matsushita Electric Ind Co Ltd | デバッグ装置 |
JP2011215978A (ja) * | 2010-04-01 | 2011-10-27 | Hitachi Ltd | ソフトウェア資産抽出支援装置 |
CN104281672A (zh) * | 2014-09-28 | 2015-01-14 | 网神信息技术(北京)股份有限公司 | 日志数据的处理方法和装置 |
CN105447113A (zh) * | 2015-11-13 | 2016-03-30 | 四川九成信息技术有限公司 | 一种基于大数据的信息分析方法 |
CN106055621A (zh) * | 2016-05-26 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种日志检索方法及装置 |
CN106648467A (zh) * | 2016-12-28 | 2017-05-10 | 税友软件集团股份有限公司 | 一种日志生成方法及*** |
CN107145427A (zh) * | 2017-05-11 | 2017-09-08 | 暴风体育(北京)有限责任公司 | 一种自动分类监控应用服务日志的方法及*** |
CN107480233A (zh) * | 2017-08-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种日志数据定位的方法及*** |
CN108038018A (zh) * | 2017-12-22 | 2018-05-15 | 杭州闪捷信息科技有限公司 | 可扩展的日志数据存储方法及装置 |
CN109039787A (zh) * | 2018-09-28 | 2018-12-18 | 新华三大数据技术有限公司 | 日志处理方法、装置及大数据集群 |
CN110096418A (zh) * | 2019-03-21 | 2019-08-06 | 平安普惠企业管理有限公司 | 业务日志分析方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371887A (zh) * | 2020-03-02 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 物联网日志传输方法、客户端、服务端、设备及存储介质 |
CN111371887B (zh) * | 2020-03-02 | 2022-10-04 | 杭州海康威视数字技术股份有限公司 | 物联网日志传输方法、客户端、服务端、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110474807B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2500079C2 (ru) | Способ, система и устройство для передачи видеоданных | |
CN103973728B (zh) | 一种多数据中心环境下负载均衡的方法及装置 | |
CN109587275A (zh) | 一种通信连接的建立方法及代理服务器 | |
CN108156240B (zh) | 一种工业适配器接入服务器的方法及*** | |
US9900385B2 (en) | Connection management device, communication system, connection management method, and computer program product | |
CN111224999A (zh) | 一种传输协议切换方法、装置、设备及存储介质 | |
CN109889521B (zh) | 存储器、通信通道复用实现方法、装置和设备 | |
JP2006279636A (ja) | クライアント間通信ログの整合性保証管理システム | |
CN110312140B (zh) | 直播数据处理方法、装置、***及计算机可读存储介质 | |
EP3057287A1 (en) | Node allocation method, device and system | |
CN105554099A (zh) | 一种采集服务器负载均衡的方法及装置 | |
CN104506549A (zh) | 建立网游连接的方法、设备及*** | |
CN112804213A (zh) | 通信断线重连方法及装置、***、可读介质和电子设备 | |
CN102111728B (zh) | 移动终端的网络连接管理模块和方法 | |
CN110474807A (zh) | 一种日志处理方法及装置 | |
CN109067509A (zh) | 分布式节点信令传输方法和***、共享计算节点及信令网关 | |
CN102546633A (zh) | Web认证服务器的选择方法及装置 | |
CN105721231B (zh) | 一种业务质量感知探测方法及装置 | |
CN104869118B (zh) | 一种基于动态隧道技术实现DDoS防御的方法及*** | |
CN111130948A (zh) | 一种网络质量探测方法及装置 | |
CN108632355B (zh) | 一种家电网络选路方法、控制终端、可读存储介质及设备 | |
CN113411228B (zh) | 一种网络状况的确定方法及服务器 | |
CN114205248B (zh) | 模拟超时响应方法、装置、设备及存储介质 | |
CN108574615B (zh) | 一种基于多路径mptcp的内容传输方法、设备及*** | |
CN113949631B (zh) | 客户端容灾的处理方法、***及电子设备 |
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 |