日志导出方法、装置、计算机设备以及存储介质与流程

文档序号:25956960发布日期:2021-07-20 17:16阅读:180来源:国知局
日志导出方法、装置、计算机设备以及存储介质与流程

本申请属于信息技术领域,尤其涉及日志导出方法、装置、计算机设备以及存储介质。



背景技术:

目前,为了能够为运输工具(如汽车、航空、船舶、火车)上的系统(如计算机系统、卫星导航系统)等提供服务,通常在运输工具上安装电子设备,比如安装t-box。该t-box为telematicsbox的简称,该telematics是远距离通信的电信(telecommunications)与信息科学(informatics)的合成词。

在t-box的使用过程中,由于软件漏洞(bug)、兼容性、或配置错误等等问题,因此,该t-box不可避免地会出现工作不正常的现象。而为了快速定位问题、解决问题,则需要查看该t-box的日志(log)。但是,t-box不同于手机和个人电脑(personalcomputer,pc),其本身没有显示屏,也没有输入输出设备(如没有鼠标、键盘等),且一旦其装在运输工具上也不方便拆卸。

现有的t-box日志导出方法,一是通过通用串行总线(universalserialbus,usb)或者通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)与电脑连接,进而导出t-box的log。该方法中,如果t-box已经装到车辆上,则需要拆卸该t-box。并且,如果t-box的外壳上没有预留usb口或者uart口,则还需要拆开该t-box的外壳,由于在t-box出厂装车后不方便拆卸,因此,上述日志导出方法操作不方便,且容易损伤t-box设备。

另一种日志导出方法是由t-box设备通过4g网络将log上传服务器,研发人员再下载下来分析。此方案通过4g网络连接服务器,上传log,可以不需要拆卸设备,方便快捷。但由于需要自己搭建服务器或者购买第三方的服务,因此,该方案的成本较高。并且,当log较大时,上传log需要耗费较大的流量,而较大的流量也会增加成本。此外,当t-box设备需要通过4g网络与服务器建立连接,还可能出现信号差、卡的兼容性等问题,这些问题很可能使得该t-box设备无法与服务器成功建立连接,进而使得研发人员无法导出log来对问题进行分析。



技术实现要素:

本申请实施例提供了一种日志导出方法,可以解决现有的日志导出方法所存在的操作不方便和成本较高的问题。

第一方面,本申请实施例提供了一种日志导出方法,应用于终端设备,包括:

通过套接字广播第一报文,所述第一报文携带所述终端设备的热点名、网际互连协议(internetprotocol,ip)地址、端口号和目标电子设备的标识信息;

在与所述标识信息对应的目标电子设备基于所述热点名建立热点连接后,若接收到所述目标电子设备发送的套接字连接建立请求,则与所述目标电子设备建立套接字连接,所述套接字连接建立请求携带所述ip地址以及所述端口号;

通过所述套接字连接接收所述目标电子设备发送的日志数据。

可选地,所述通过套接字广播第一报文,包括:

通过套接字多次广播所述第一报文,且相邻两次广播的时间间隔为预设间隔时长。

可选地,在所述通过所述套接字连接接收所述目标电子设备发送的日志数据之后,包括:

验证所述日志数据是否正确,并根据验证结果返回对应的应答包。

可选地,所述通过所述套接字连接接收所述目标电子设备发送的日志数据,包括:

通过所述套接字连接接收所述目标电子设备发送的加密后的第二报文,所述第二报文携带日志数据;

所述验证所述日志数据是否正确,包括:

从所述加密后的第二报文中解析出校验值,若所述校验值与预存的校验值相同,则判定所述日志数据正确,否则,判定所述日志数据不正确。

可选地,所述标识信息为产品序列号或指定值,若所述标识信息为所述产品序列号,则所述目标电子设备为所述产品序列号对应的电子设备;若所述标识信息为所述指定值,则所述目标电子设备为局域网内所有的电子设备。

第二方面,本申请实施例提供了一种日志导出方法,应用于电子设备,包括:

接收终端设备广播的第一报文,所述第一报文携带标识信息以及所述终端设备的热点名、ip地址、端口号;

将所述第一报文的标识信息与预存标识信息进行匹配;

若匹配成功,则通过所述热点名与所述终端设备建立热点连接;

向所述终端设备发送套接字连接建立请求,所述套接字连接建立请求包含所述第一报文携带的ip地址以及所述端口号;

若与所述终端设备建立套接字连接,则通过所述套接字连接发送日志数据。

可选地,在所述接收终端设备广播的第一报文之前,还包括:

开启混杂模式监听所有网络数据包。

第三方面,本申请实施例提供了一种日志导出装置,应用于终端设备,包括:

广播模块,用于通过套接字广播第一报文,所述第一报文携带所述终端设备的热点名、ip地址、端口号和目标电子设备的标识信息;

套接字连接模块,用于与所述标识信息对应的目标电子设备基于所述热点名建立热点连接后,若接收到所述目标电子设备发送的套接字连接建立请求,则与所述目标电子设备建立套接字连接,所述套接字连接建立请求携带所述ip地址以及所述端口号;

数据接收模块,用于通过所述套接字连接接收所述目标电子设备发送的日志数据。

第四方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第二方面任一项所述的方法。

第五方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面中任一项所述的方法。

第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面中任一项所述的方法。

本申请实施例与现有技术相比存在的有益效果是:

本申请实施例中,由于终端设备通过套接字(socket)广播第一报文,且第一报文携带终端设备的热点名、ip地址、端口号和目标电子设备的标识信息,因此,在该终端设备周围的电子设备能接收到第一报文,并通过第一报文携带的电子设备的标识信息判断其自身是否为需要上传日志的目标电子设备,若需要,则通过第一报文携带的热点名与终端设备建立热点连接,并基于建立的热点连接以及第一报文携带的ip地址和端口号与终端设备建立socket连接,最后基于该socket连接向终端设备发送日志数据。也即,在本申请实施例中,终端设备和目标电子设备通过建立的热点连接、socket连接实现日志数据的传输,无需基于搭建的服务器也能实现日志数据的传送,且目标电子设备也无需具有usb和uart口,因此,本申请实施例的日志导出方法在导出日志数据时操作简单且成本较低。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请实施例一提供的日志导出方法的流程图;

图2是本申请实施例二提供的日志导出方法的流程图;

图3是本申请实施例三提供的日志导出方法的流程图;

图4是本申请实施例四提供的应用于终端设备的日志导出装置的结构框图;

图5是本申请实施例五提供的应用于车载设备的日志导出装置的结构框图;

图6是本申请实施例六提供的计算机设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

实施例一:

现有方法在导出日志时,要不需要通过电子设备(如t-box)的usb或uart口与电脑连接导出,要不需要自己搭建服务器并通过4g网络导出。也即,现有方法在导出日志时要不操作不方便,要不成本过高。

为了解决该技术问题,本申请实施例提供了一种日志导出方法,在该日志导出方法中,电子设备与终端设备建立热点连接,并在热点连接建立后,电子设备再与终端设备建立socket连接,并通过建立的socket连接向终端设备发送日志数据。

由于终端设备通常具备个人热点的功能选项,因此,电子设备在接入终端设备的热点后就能与该终端设备通信,也即无需搭建的服务器来通信,从而节省了成本。此外,由于电子设备和终端设备的通信也无需借助于usb或uart口,因此,使得操作极为便利。

下面结合附图对本申请实施例提供的日志导出方法进行说明。

图1示出了本申请实施例提供的第一种日志导出方法的流程图,该日志导出方法应用于终端设备,该终端设备包括手机和pc,详述如下:

步骤s11,通过socket广播第一报文,第一报文携带终端设备的热点名、ip地址、端口号和目标电子设备的标识信息。

本实施例中,在广播第一报文之前,该终端设备先设置热点名、ip地址和端口号,再初始化用于发送广播的socket。其中,初始化用于发送广播的socket主要是对广播的参数进行设置。具体地,在终端设备上安装一个日志(log)服务程序,该服务程序用于启动两个线程:分别为广播线程和socket服务线程。广播线程负责广播本机的热点名、ip地址、端口号和目标电子设备的标识信息;接收线程负责等待目标电子设备的连接,并启动接收线程来接收log文件,并保存。当用户希望获取目标电子设备的日志数据时,启动该log服务程序,之后,提示用户设置热点名、ip地址、端口号和目标电子设备的标识信息,再启动广播线程广播包含热点名、ip地址、端口号和目标电子设备的标识信息的第一报文。由于用户可以通过安装在终端设备上的log服务程序来获取目标电子设备的日志数据,而用户通常随身携带终端设备,因此,极大提高了获取日志数据的便利性。

其中,目标电子设备是指用户希望获取日志数据的电子设备,比如,在一个电子设备发生故障时,该电子设备为用户希望获取日志数据的电子设备;又比如,在用户需要查看某个电子设备(即使该电子设备没有发生故障)的日志数据时,那么该某个电子设备即为需要上传日志数据的电子设备。本实施例中,考虑到终端设备的热点所覆盖的范围可能存在多个电子设备,而有些电子设备为终端设备并不希望获取日志数据的电子设备,因此,广播的第一报文携带目标电子设备的标识信息,有助于电子设备获悉其自身是否需要上传日志数据,从而提高终端设备获取的日志数据的准确性。

步骤s12,与所述标识信息对应的目标电子设备基于所述热点名建立热点连接后,若接收到所述目标电子设备发送的套接字连接建立请求,则与所述目标电子设备建立套接字连接,所述套接字连接建立请求携带所述ip地址以及所述端口号。

具体地,终端设备在广播第一报文后,该终端设备作为socket服务器,绑定ip地址和端口号,并调用监听线程(listen),等待客户端(即车载设备电子设备)连接。

本实施例中,在终端设备与目标电子设备建立热点连接后,该终端设备后续能够接收该目标电子设备发送的socket连接建立请求。当该目标电子设备通过第一报文携带的ip地址和端口后向终端设备发起socket连接建立请求后,该终端设备基于该socket连接建立请求与目标电子设备建立socket连接。其中,目标电子设备的数量可以为一个,也可以为多个。

步骤s13,通过所述套接字连接接收所述目标电子设备发送的日志数据。

具体地,由于终端设备与目标电子设备建立了socket连接,因此,该终端设备能够接收该目标电子设备发送的日志数据。

本申请实施例中,由于终端设备通过socket广播第一报文,且第一报文携带终端设备的热点名、ip地址、端口号和目标电子设备的标识信息,因此,在该终端设备周围的电子设备能接收到第一报文,并通过第一报文携带的电子设备的标识信息判断其自身是否为需要上传日志的目标电子设备,若需要,则通过第一报文携带的热点名与终端设备建立热点连接,并基于建立的热点连接以及第一报文携带的ip地址和端口号与终端设备建立socket连接,最后基于该socket连接向终端设备发送日志数据。也即,在本申请实施例中,终端设备和目标电子设备通过建立的热点连接、socket连接实现日志数据的传输,无需基于搭建的服务器也能实现日志数据的传送,且目标电子设备也无需具有usb和uart口,因此,本申请实施例的日志导出方法在导出日志数据时操作简单且成本较低。

在一些实施例中,本申请实施例的第一报文还携带热点名对应的密码,这样,后续在某个电子设备(此时不一定是目标电子设备)期望与终端设备建立热点连接时,该终端设备通过比较电子设备发送的热点连接建立请求所携带的密码与热点名对应的密码是否相同来选择是否与该电子设备建立热点连接。在一些实施例中,当第一报文还携带热点名对应的密码时,该热点名和密码均被加密后再通过第一报文广播,这样,只有知悉解密密钥的电子设备才能通过解密后的数据获得热点名和密码,进而根据获得的热点名和密码与终端设备建立热点连接。

由于第一报文还包括热点名对应的密码,因此,终端设备能够过滤密码不正确的电子设备,从而提高后续接收的日志数据的准确性。当然,若第一报文携带热点名对应的密码,则在广播第一报文之前,终端设备还需要设置热点名对应的密码。

实施例二:

图2示出了本申请实施例二提供的一种日志导出方法的流程图,本实施例中,步骤s21为对实施例一的步骤s11进行细化的步骤,步骤s22、步骤s23、以及步骤s24分别与上述步骤s12、步骤s13、以及步骤s14相同,此处不再赘述:

步骤s21,通过socket多次广播第一报文,且相邻两次广播的时间间隔为预设间隔时长,第一报文携带终端设备的热点名、ip地址、端口号和目标电子设备的标识信息。

本实施例中,由于在广播一个第一报文之后,等待一段时间之后再继续广播另一个第一报文,也即,由于没有不停歇地广播第一报文,而广播第一报文需要消耗终端设备的资源,因此,通过间隔广播第一报文,能够有效节约终端设备的资源。

步骤s22,与所述标识信息对应的目标电子设备基于所述热点名建立热点连接后,若接收到所述目标电子设备发送的套接字连接建立请求,则与所述目标电子设备建立套接字连接,所述套接字连接建立请求携带所述ip地址以及所述端口号。

本实施例中,当终端设备与所有目标电子设备均建立socket连接之后,不再广播第一报文,以节省该终端设备的资源消耗。在另一些实施例中,当目标电子设备是局域网内所有的电子设备,即该终端设备本身不清楚目标电子设备的数量的情况下,广播第一报文预设时长后再停止广播该第一报文。

步骤s23,通过所述套接字连接接收所述目标电子设备发送的日志数据。

具体地,一个socket连接用于接收一个目标电子设备发送的第二报文,即当终端设备需要接收多个目标电子设备发送的第二报文时,该终端设备将通过建立的多个socket连接接收对应的第二报文。由于一个socket连接只接收一个目标电子设备发送的第二报文,因此,便于该终端设备能够正确区分日志所属的目标电子设备。

本申请实施例中,由于间隔多次广播第一报文,因此,既能够保证目标电子设备能够监听到该第一报文,也能尽量节省该终端设备的资源。

在一些实施例中,为了提高发送的第一报文的安全性,则步骤s11(或步骤s21)中广播的第一报文为经过加密的报文。

本实施例中,由于广播的第一报文是经过加密的报文,因此,即使电子设备接收到该第一报文,但若该电子设备没有密钥(当该电子设备不是目标电子设备时),则该电子设备也不能对该第一报文进行解密,也即不能得到该第一报文携带的热点名、ip地址、端口号等信息。

在一些实施例中,在目标电子设备出厂时,在该目标电子设备中预先设置解密第一报文的密钥。本实施例中,考虑到电子设备通常没有usb或uart口,因此,预先将解密第一报文的密钥设置在该电子设备中,能够避免出厂后再向该电子设备设置密钥所带来的操作不便。

在一些实施例中,在步骤s23(或步骤s13)之后,包括:

验证所述日志数据是否正确,并根据验证结果返回对应的应答包。

本实施例中,可根据日志数据的长度、格式等验证日志数据是否正确,若验证出日志数据正确,则返回接收成功的应答包并存储接收的日志数据,否则,返回错误的应答包(error包),并丢弃接收的日志数据。

在一些实施例中,当日志数据的数据量较大时,为了便于传输,目标电子设备对日志数据进行打包后再发送给终端设备,该终端设备将接收到日志数据对应的压缩包。

在一些实施例中,电子设备根据日志数据的压缩包生成第二报文,再将第二报文向终端设备发送。为了提高第二报文的安全性,则第二报文为加密后的报文,即终端设备接收到加密后的第二报文,此时,在步骤s13(或步骤s23)之后,包括:

解密第二报文,得到目标电子设备的日志数据的压缩包。

具体地,终端设备对用于接收第二报文的socket进行初始化,即对接收第二报文的参数进行设置,以便后续能够成功接收到第二报文。该第二报文除了包含该目标电子设备的日志数据的压缩包之外,还包含必要的包头、包尾等信息。

本实施例中,终端设备和目标电子设备预先约定用于加密第二报文的密码。该用于加密第二报文所采用的密码可预先存储在目标电子设备中,比如在该目标电子设备出厂之前存入用于加密第二报文所采用的密码。这样,能够避免出厂后再向该目标电子设备设置密钥所带来的操作不便。

在一些实施例中,上述步骤s23(或步骤s13)包括:

通过所述套接字连接接收所述目标电子设备发送的加密后的第二报文,所述第二报文携带日志数据;具体地,由于第二报文是以加密状态传输,因此,有利于提高该第二报文的安全性。

对应地,上述验证所述日志数据是否正确,包括:

从所述加密后的第二报文中解析出校验值,若所述校验值与预存的校验值相同,则判定所述日志数据正确,否则,判定所述日志数据不正确。

本实施例中,从加密后的第二报文中解密出对应的第二报文,再通过第二报文中携带的校验值来验证该第二报文携带的日志数据(或日志数据的压缩包)是否正确(主要验证日志数据是否被修改),比如通过对该校验值进行处理后,判断处理后的校验值与预存的数值是否相同,若相同,则判定第二报文携带的日志数据是正确的,终端设备返回接收成功的应答包并存储接收的日志数据,否则,返回错误的应答包(error包),并丢弃接收的日志数据。由于在接收到日志数据后,先对日志数据进行验证,且只存储通过验证的日志数据,因此,能够保证存储的日志数据均为正确的日志数据。

在一些实施例中,在日志数据以压缩包的形式传输时,第二报文还包括日志数据的压缩包的包序号以及总包数,且验证结果指示压缩包正确,则在步骤s23(或步骤s13)之后,包括:根据压缩包的包序号以及总包数判断目标电子设备是否还存在未发送的压缩包,若目标电子设备还存在未发送的压缩包,则返回步骤s23(或步骤s13)的步骤,若目标电子设备不存在未发送的压缩包,则关闭socket连接,退出socket服务线程。当然,若步骤s23(或步骤s13)之后仍有其他步骤(比如验证压缩包的步骤),则在返回步骤s23(或步骤s13)的步骤之后还需返回步骤s23(或步骤s13)的后续步骤,此处不再赘述。

本实施例中,终端设备比较第二报文携带的压缩包的包序号与总包数是否相同,若不同,则判定目标电子设备仍存在未发送的压缩包,若相同,则判定目标电子设备不存在未发送的压缩包。

在一些实施例中,所述标识信息为产品序列号(serialnumber,sn)或指定值,若所述标识信息为所述产品序列号,则所述目标电子设备为所述产品序列号对应的电子设备;若所述标识信息为所述指定值,则所述目标电子设备为局域网内所有的电子设备。

其中,这里的指定值可以为全为0的数值,即在用于存储目标电子设备的标识信息的位置上设置的值均为0,当然,该指定值也可以为全为1的数值。只需要设置为不可能为sn的值即可,此处不作具体限定。

其中,上述的局域网为终端设备的热点所能覆盖的范围内的局域网。

本实施例中,由于目标电子设备的标识信息为sn或指定值,而在为sn时,能够唯一指示对应的电子设备,而在为指定值时,能够指示局域网内所有的电子设备,因此,终端设备能够通过更改目标电子设备的标识信息来更改需要上传日志的电子设备,从而极大提高了更改的灵活性。

在一些实施例中,考虑到终端设备与目标电子设备建立热点连接之前,其所在的wifi局域网的网速较快,因此,当目标电子设备的标识信息为sn时,则一个第一报文只携带一个sn(即不携带多个sn),这样,电子设备接收到第一报文之后,能够快速提取出sn(即无需从多个sn中截取出各个sn,节省了截取的步骤),进而有利于快速判断出其自身是否为目标电子设备。

实施例三:

图3示出了本申请实施例三提供的日志导出方法的流程图,该日志导出方法应用于电子设备(即与实施例一、实施例二的终端设备通信的目标电子设备(如t-box)),详述如下:

步骤s31,接收终端设备广播的第一报文,所述第一报文携带标识信息以及所述终端设备的热点名、ip地址、端口号。

本实施例中,电子设备监听是否存在网络数据包,若监听到终端设备广播的第一报文,则从该第一报文中解析出其携带的热点名、ip地址、端口号以及目标电子设备的标识信息。

步骤s32,将所述第一报文的标识信息与预存标识信息进行匹配。

具体地,该电子设备将解析出的目标电子设备的标识信息,与自身预存标识信息比较,若相同,则判定其自身是需要上传日志数据的电子设备,即为目标电子设备,否则,判定其自身不是目标电子设备。

步骤s33,若匹配成功,则通过所述热点名与所述终端设备建立热点连接。

步骤s34,向所述终端设备发送套接字连接建立请求,所述套接字连接建立请求包含所述第一报文携带的ip地址以及所述端口号。

本实施例中,电子设备对用于发送日志的socket进行初始化,再基于从第一报文解析出的ip地址和端口号向终端设备发送socket连接建立请求。

步骤s35,若与所述终端设备建立套接字连接,则通过所述套接字连接发送日志数据。

本申请实施例中,由于电子设备无需具有usb或uart口,也无需基于搭建的服务器就能实现日志数据的传送,因此,本申请实施例的日志导出方法在导出日志数据时操作简单且成本较低。

在一些实施例中,日志导出方法还包括:

开启混杂模式监听所有网络数据包。

具体地,在监听到终端设备广播的第一报文之前,需要先开启监听模式监听网络数据包,初始化用于接收广播数据的socket。在本实施例中,考虑到混杂模式能够监听到所有的网络数据包,即不会对网络数据包进行过滤,因此不会错过任何网络数据包,从而能够及时监听到终端设备广播的第一报文,因此,开启的监听模式为混杂模式。

在一些实施例中,若第一报文还携带热点名对应的密码,则上述步骤s33具体包括:通过所述热点名与所述热点名对应的密码与所述终端设备建立热点连接。

在一些实施例中,第一报文是经过加密的报文,则该电子设备根据解密第一报文的密钥执行解密操作,之后,再解析得到的第一报文所携带的标识信息以及所述终端设备的热点名、ip地址、端口号。其中,解密第一报文的密钥可在该电子设备出厂时设置在该电子设备中。

在一些实施例中,为了便于传输,对需要上传的日志数据进行压缩,得到对应的压缩包,再根据该压缩包生成第二报文,并通过建立的socket连接将生成的第二报文向终端设备发送。

在一些实施例中,目标电子设备的标识信息为sn或指定值,若目标电子设备的标识信息为sn,则目标电子设备为sn对应的电子设备。若目标电子设备的标识信息为指定值,则目标电子设备为局域网内所有的电子设备。

其中,这里的指定值可以为全为0的数值,即在用于存储目标电子设备的标识信息的位置上设置的值均为0,当然,该指定值也可以为全为1的数值。只需要设置为不可能为sn的值即可,此处不作具体限定。

其中,上述的局域网为终端设备的热点所能覆盖的范围内的局域网。

在一些实施例中,若第一报文为经过加密的报文,则电子设备在监听到第一报文后,先根据解密第一报文的密钥对该第一报文进行解密,再根据解密结果选择是否向终端设备发送热点连接建立请求。例如,若解密结果中的目标电子设备的标识信息为sn,则电子设备将该sn与其自身的sn(即标识信息)比较,若两者相同,则向终端设备发送热点连接建立请求;若解密结果中的目标电子设备的标识信息为指定值,则电子设备向终端设备发送热点连接建立请求。

在一些实施例中,电子设备与终端设备约定的密钥可在该电子设备出厂时设置,以避免出厂后再向该电子设备设置密钥所带来的操作不便。

在一些实施例中,在监听到终端设备广播的第一报文,且判断出第一报文携带的目标电子设备的标识信息与预存标识信息匹配后,该电子设备关闭混杂模式,且关闭用于接收广播数据的socket。

本实施例中,由于后续还需要初始化用于发送日志的socket,而用于接收广播数据的socket所对应的初始化的参数与用于发送日志的socket所对应的初始化的参数并不相同,因此这里需要关闭用于接收广播数据的socket。此外,由于混杂模式能够监听所有的网络数据包,而电子设备已接收到其希望接收的报文,因此,关闭混杂模式能够避免其他报文对电子设备的干扰。

在一些实施例中,当需要传输的日志数据的数据量较大时,为了便于传输,电子设备对日志数据进行打包后再发送给终端设备。

在一些实施例中,电子设备根据日志数据的压缩包生成第二报文,再将第二报文向终端设备发送。此时,步骤s35包括:若与所述终端设备建立套接字连接,则通过所述套接字连接发送第二报文,该第二报文携带日志数据对应的压缩包。具体地,电子设备在对需要上传的日志数据进行压缩打包后,得到对应的压缩文件。需要指出的是,在进行压缩打包的过程中,根据预设包长计算总包数。在需要发送日志数据时,按照预设包长读取压缩文件的数据(一次只读取一个预设包长的数据)和总包数,并根据当前包序号、读取的压缩文件的数据以及总包数组成第二报文,再将第二报文向终端设备发送。

本实施例中,为了避免一次传输的压缩包过大,则需要限定每个压缩包的大小,本实施例中,预设包长的级别为“k”,比如为64k比特(bit)大小。

在一些实施例中,为了提高第二报文的安全性,则电子设备对第二报文进行加密后再向终端设备发送。

在一些实施例中,电子设备根据以下方式确定需要上传的日志:1)根据与终端设备建立热点连接的时间点确定,比如,将建立热点连接的时间点之前的第一预设时长(如1个小时)内的所有日志作为需要上传的日志;2)若电子设备本身并没有出现故障,则该电子设备将建立热点连接的时间点之前的第二预设时长(第二预设时长大于第一预设时长)内的所有日志作为需要上传的日志;3)电子设备根据终端设备的需求上报对应类型的日志(此时,第一报文还携带需要上报的日志的类型信息),例如,若第一报文携带的日志的类型信息为网络类型信息,则电子设备只将网络类型信息的日志作为需要上报的日志。

本实施例中,由于根据不同的场景传输对应的日志,因此,能够提高传输的日志的准确性。

在一些实施例中,在步骤s35之后,包括:

等待应答包,若等待的时长大于预设的时长阈值,或者,接收到终端设备发送的error包,则再次将上一个第二报文向终端设备发送。若接收到终端设备发送的指示接收成功的应答包,则在压缩文件中读取递增1之后的包序号所对应的数据,并根据递增1之后的包序号、新读取的数据以及总包数组成新的第二报文,再将新的第二报文向终端设备发送。当然,若上一次读取的数据已为压缩文件的文件尾,则关闭该压缩文件,并删除该压缩文件对应的压缩包,断开socket连接以及关闭该socket。

在一些实施例中,为了提高第二报文的安全性,则电子设备将第二报文加密后再向终端设备发送。

本实施例中,用于对第二报文加密的密码可在该电子设备出厂时设置,以避免出厂后再向该电子设备设置密钥所带来的操作不便。

在一些实施例中,第二报文携带一个校验值,以便终端设备根据该校验值验证日志数据(或日志数据的压缩包)是否被修改。

在一些实施例中,在日志数据以压缩包的形式传输时,第二报文还包括日志数据的压缩包的包序号以及总包数。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例四:

对应于上文实施例一、实施例二的日志导出方法,图4示出了本申请实施例提供的日志导出装置的结构框图,该日志导出装置应用于终端设备,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图4,该日志导出装置4包括:广播模块41、套接字连接模块42、数据接收模块43。其中:

广播模块41,用于通过套接字广播第一报文,所述第一报文携带所述终端设备的热点名、ip地址、端口号和目标电子设备的标识信息。

套接字连接模块42,用于与所述标识信息对应的目标电子设备基于所述热点名建立热点连接后,若接收到所述目标电子设备发送的套接字连接建立请求,则与所述目标电子设备建立套接字连接,所述套接字连接建立请求携带所述ip地址以及所述端口号。

数据接收模块43,用于通过所述套接字连接接收所述目标电子设备发送的日志数据。

在本申请实施例中,终端设备和目标电子设备通过建立的热点连接、socket连接实现日志数据的传输,无需基于搭建的服务器也能实现日志数据的传送,且目标电子设备也无需具有usb和uart口,因此,本申请实施例的日志导出方法在导出日志数据时操作简单且成本较低。

在一些实施例中,本申请实施例的第一报文还携带热点名对应的密码。进一步地,当第一报文还携带热点名对应的密码时,该热点名和密码均被加密后再通过第一报文广播。

在一些实施例中,第一报文广播单元41具体用于:通过socket多次广播第一报文,且相邻两次广播的时间间隔为预设间隔时长,第一报文携带终端设备的热点名、ip地址、端口号和目标电子设备的标识信息。

在一些实施例中,在一些实施例中,为了提高发送的第一报文的安全性,设置广播的第一报文为加密的报文。

在一些实施例中,该日志导出装置4包括:

日志数据验证模块,用于验证所述日志数据是否正确,并根据验证结果返回对应的应答包。

在一些实施例中,数据接收模块43具体用于,通过所述套接字连接接收所述目标电子设备发送的日志数据的压缩包。

在一些实施例中,数据接收模块43具体用于,通过所述套接字连接接收所述目标电子设备发送的第二报文,所述第二报文包括日志数据的压缩包。

在一些实施例中,为了提高第二报文的安全性,则第二报文为加密后的报文。对应地,该日志导出装置4还包括:

第二报文解密模块,用于解密第二报文,得到目标电子设备的日志数据的压缩包。

在一些实施例中,数据接收模块43具体用于:

通过所述套接字连接接收所述目标电子设备发送的加密后的第二报文,所述第二报文携带日志数据。

对应地,上述日志数据验证模块具体用于:

从所述加密后的第二报文中解析出校验值,若所述校验值与预存的校验值相同,则判定所述日志数据正确,否则,判定所述日志数据不正确。

在一些实施例中,在日志数据以压缩包的形式传输时,第二报文还包括日志数据的压缩包的包序号以及总包数,且验证结果指示压缩包正确,则该日志导出装置4还包括:

压缩包数量判断模块,用于根据压缩包的包序号以及总包数判断目标电子设备是否还存在未发送的压缩包,若目标电子设备还存在未发送的压缩包,则返回执行数据接收模块43以及后续模块。

在一些实施例中,目标电子设备的标识信息为sn或指定值,若所述标识信息为所述产品序列号,则所述目标电子设备为所述产品序列号对应的电子设备;若所述标识信息为所述指定值,则所述目标电子设备为局域网内所有的电子设备。

其中,这里的指定值可以为全为0的数值,即在用于存储目标电子设备的标识信息的位置上设置的值均为0,当然,该指定值也可以为全为1的数值。只需要设置为不可能为sn的值即可,此处不作具体限定。

其中,上述的局域网为终端设备的热点所能覆盖的范围内的局域网。

在一些实施例中,考虑到终端设备与目标电子设备建立热点连接之前,其所在的wifi局域网的网速较快,因此,当目标电子设备的标识信息为sn时,则一个第一报文只携带一个sn(即不携带多个sn),这样,电子设备接收到第一报文之后,能够快速提取出sn(即无需从多个sn中截取出各个sn,节省了截取的步骤),进而有利于快速判断出其自身是否为目标电子设备。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

实施例五:

对应于上文实施例四的日志导出方法,图5示出了本申请实施例提供的日志导出装置的结构框图,该日志导出装置应用于电子设备,为了便于说明,仅示出了与本申请实施例相关的部分。

该日志导出装置5包括:第一报文接收模块51、标识信息匹配模块52、热点连接建立模块53、套接字连接建立请求发送模块54、日志数据发送模块55。其中:

第一报文接收模块51,用于接收终端设备广播的第一报文,所述第一报文携带标识信息以及所述终端设备的热点名、ip地址、端口号;

标识信息匹配模块52,用于将所述第一报文的标识信息与预存标识信息进行匹配;

热点连接建立模块53,用于若匹配成功,则通过所述热点名与所述终端设备建立热点连接;

套接字连接建立请求发送模块54,用于向所述终端设备发送套接字连接建立请求,所述套接字连接建立请求包含所述第一报文携带的ip地址以及所述端口号;

日志数据发送模块55,用于若与所述终端设备建立套接字连接,则通过所述套接字连接发送日志数据。

本申请实施例中,由于电子设备无需具有usb或uart口,也无需基于搭建的服务器就能实现日志的传送,因此,本申请实施例的日志导出方法在导出日志时操作简单且成本较低。

在一些实施例中,日志导出装置5还包括:

混杂模式开启模块,用于开启混杂模式监听所有网络数据包。

在一些实施例中,目标电子设备的标识信息为sn或指定值,若目标电子设备的标识信息为sn,则目标电子设备为sn对应的电子设备。若目标电子设备的标识信息为指定值,则目标电子设备为局域网内所有的电子设备。

在一些实施例中,若第一报文为经过加密的报文,则日志导出装置5还包括:

第一报文解密模块,用于根据解密第一报文的密钥执行解密操作。

在一些实施例中,其中,解密第一报文的密钥可在该电子设备出厂时设置在该电子设备中。

在一些实施例中,日志导出装置5还包括:

混杂模式关闭模块,用于在监听到终端设备广播的第一报文,且判断出第一报文携带的目标电子设备的标识信息与预存标识信息匹配后,关闭混杂模式,且关闭用于接收广播数据的socket。

在一些实施例中,当需要传输的日志数据的数据量较大时,为了便于传输,电子设备对日志数据进行打包后再发送给终端设备。此时,日志数据发送模块55具体用于,若与所述终端设备建立套接字连接,则通过所述套接字连接发送日志数据的压缩包。

在一些实施例中,电子设备根据日志数据的压缩包生成第二报文,再将第二报文向终端设备发送。此时,日志数据发送模块55具体用于,若与所述终端设备建立套接字连接,则通过所述套接字连接发送第二报文,该第二报文携带日志数据对应的压缩包。

在一些实施例中,若日志数据的数据量较大,则需要通过多个第二报文分批发送经过压缩后的日志数据,此时,该日志导出装置5还包括:

第二报文生成模块,用于按照预设包长读取压缩文件的数据(一次只读取一个预设包长的数据),根据读取的数据、总包数和当前包序号组成第二报文,其中,上述压缩文件为对需要上传的日志数据进行压缩打包后得到。

在一些实施例中,若总包数大于或等于2,则日志数据发送模块55具体用于:

若与终端设备建立socket连接,则通过socket连接发送一个第二报文,第二报文包括电子设备的日志数据的压缩包;等待应答包,若等待的时长大于预设的时长阈值,或者,接收到终端设备发送的error包,则再次将上一个第二报文向终端设备发送。若接收到终端设备发送的指示接收成功的应答包,则在压缩文件中读取递增1之后的包序号所对应的数据,并根据递增1之后的包序号、新读取的数据以及总包数组成新的第二报文,再将新的第二报文向终端设备发送。当然,若上一次读取的数据已为压缩文件的文件尾,则关闭该压缩文件,并删除该压缩文件对应的压缩包,断开socket连接以及关闭该socket。

在一些实施例中,为了提高第二报文的安全性,则日志导出装置5还包括:

第二报文加密单元,用于将第二报文加密后再向终端设备发送。

实施例六:

图6为本申请实施例六提供的计算机设备的结构示意图。该计算机设备包括终端设备和电子设备,如图6所示,该实施例的计算机设备6包括:至少一个处理器60(图6中仅示出一个处理器)、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述实施例一中任意各个实施例一、实施例二、实施例三中的步骤。

所述计算机设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该计算机设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是计算机设备6的举例,并不构成对计算机设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),该处理器60还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61在一些实施例中可以是所述计算机设备6的内部存储单元,例如计算机设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述计算机设备6的外部存储设备,例如所述计算机设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种存储介质(如计算机可读存储介质),所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述实施例一和实施例二各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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