CN108182292A - 应用于智能音箱的日志文件处理方法、装置及智能音箱 - Google Patents

应用于智能音箱的日志文件处理方法、装置及智能音箱 Download PDF

Info

Publication number
CN108182292A
CN108182292A CN201810090514.9A CN201810090514A CN108182292A CN 108182292 A CN108182292 A CN 108182292A CN 201810090514 A CN201810090514 A CN 201810090514A CN 108182292 A CN108182292 A CN 108182292A
Authority
CN
China
Prior art keywords
intelligent sound
journal file
sound box
flash memory
usb flash
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
Application number
CN201810090514.9A
Other languages
English (en)
Other versions
CN108182292B (zh
Inventor
龙俊卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810090514.9A priority Critical patent/CN108182292B/zh
Publication of CN108182292A publication Critical patent/CN108182292A/zh
Application granted granted Critical
Publication of CN108182292B publication Critical patent/CN108182292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

本申请提供了一种应用于智能音箱的日志文件处理方法、日志文件处理装置、智能音箱及计算机可读存储介质,该日志文件处理方法包括:接收日志文件请求指令;在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;若所述智能音箱所在局域网内存在已连接U盘的智能音箱,则触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。本申请技术方案可提高智能音箱日志文件存储的可靠性。

Description

应用于智能音箱的日志文件处理方法、装置及智能音箱
技术领域
本申请属于智能音箱技术领域,具体涉及一种应用于智能音箱的日志文件处理方法、日志文件处理装置、智能音箱及计算机可读存储介质。
背景技术
智能音箱中的日志文件可以是记录智能音箱中硬件、软件和系统问题,用户可以通过它来检查错误发生的原因。
现有的智能音箱日志文件的存储方案主要有如下两类:
1、直接使用U盘导出智能音箱内存中的日志文件。其优点是日志文件的保存量大,但缺点是不能实时保存,用户可能不愿意接受一直在智能音箱上挂载一个U盘,毕竟是只有在智能音箱出现问题的时候才需要日志文件,另外,如果U盘损坏则会导致智能音箱的日志文件无法被保存,可靠性差;
2、用网络服务器导出智能音箱内存中的日志文件。优点同样是日志文件的保存量大。但前提是需要联网,如果智能音箱所连接的局域网没有外网或是智能音箱所连接的网络异常情况下,智能音箱就无法将日志文件上传至服务器保存,可靠性差。
可见,现有的智能音箱日志文件的存储方案可靠性差。
发明内容
有鉴于此,本申请提供了一种应用于智能音箱的日志文件处理方法、日志文件处理装置、智能音箱及计算机可读存储介质,可提高智能音箱日志文件存储的可靠性。
本申请实施例的第一方面提供了一种应用于智能音箱的日志文件处理方法,包括:
接收日志文件请求指令;
在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
若所述智能音箱所在局域网内存在已连接U盘的智能音箱,则触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
基于本申请第一方面,在第一种可能的实现方式中,所述闪存中设置有一固定大小的缓存区域;
所述将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中包括:
将所述内存缓冲区中的日志文件写入所述缓存区域中;
在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
基于本申请第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域还包括:
以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
基于本申请第一方面,或者本申请第一方面的第一种可能的实现方式,或者本申请第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述基于所述语音信息确定本次导航的起始位置和终点位置包括:
所述触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中包括:
获取所述局域网内已连接U盘的所有智能音箱的IP地址;
基于所述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;
接收已连接U盘的智能音箱基于所述日志文件导出指令返回的http请求消息;
响应于所述http请求消息,向相应智能音箱发送所述闪存中的日志文件,以便相应智能音箱接收到所述闪存中的日志文件后,将所述闪存中的日志文件导出至U盘中。
基于本申请第一方面,或者本申请第一方面的第一种可能的实现方式,或者本申请第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述接收日志文件请求指令包括:
接收来自移动终端的日志文件请求指令;
其中,所述移动终端与所述智能音箱处于同一局域网。
本申请第二方面提供一种应用于智能音箱的日志文件处理装置,包括:
接收单元,用于接收日志文件请求指令;
存储单元,用于在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
触发单元,用于当所述智能音箱所在局域网内存在已连接U盘的智能音箱时,触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
基于本申请第二方面,在第一种可能的实现方式中,所述闪存中设置有一固定大小的缓存区域;
所述存储单元具体用于:将所述内存缓冲区中的日志文件写入所述缓存区域中;
在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
基于本申请第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储单元还用于:以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
基于本申请第二方面,或者本申请第二方面的第一种可能的实现方式,或者本申请第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述触发单元包括:
获取单元,用于获取所述局域网内已连接U盘的所有智能音箱的IP地址;
发送单元,用于基于所述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;响应于所述http请求消息,向相应智能音箱发送所述闪存中的日志文件,以便相应智能音箱接收到所述闪存中的日志文件后,将所述闪存中的日志文件导出至U盘中。
基于本申请第二方面,或者本申请第二方面的第一种可能的实现方式,或者本申请第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述接收单元具体用于:接收来自移动终端的日志文件请求指令;其中,所述移动终端与所述智能音箱处于同一局域网。
本申请第三方面提供一种智能音箱,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序。该处理器执行上述计算机程序时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的日志文件处理方法。
本申请第四方面提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序且应用于智能音箱。上述计算机程序被处理器执行时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的日志文件处理方法。
由上可见,本申请方案中在接收到日志文件请求指令时,将智能音箱存储在内存缓冲区中的日志文件写入该智能音箱的闪存中,并在该智能音箱所在局域网内存在已连接U盘的智能音箱时,触发已连接U盘的智能音箱将该闪存中的日志文件导出至U盘中。一方面,通过本申请方案,只需要在同一局域网内的任意智能音箱上插入U盘,即可将智能音箱的日志文件导出到该U盘中,提高日志文件导出的便利性,另一方面,即使同一局域网内的智能音箱均未插入U盘,智能音箱上的日志文件也会被写入闪存中,避免了日志文件因无法导出而丢失,提高了智能音箱日志文件存储的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1-a为本申请提供的一种WMN网络架构图;
图1-b为本申请提供的一种智能音箱网络架构图;
图2为本申请提供的日志文件处理方法一个实施例流程示意图;
图3为本申请提供的日志文件处理装置一个实施例结构示意图;
图4为本申请提供的智能音箱一个实施例结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应理解,下述方法实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对各实施例的实施过程构成任何限定。
在描述本申请所述的技术方案之前,首先对智能音箱的一种网络架构进行说明。无线Mesh网络(即Wireless Mesh Networks,简称WMN网络)是一种支持多点对多点的无线网状网络,我们所熟知的Sonos产品所用的网络是SonosNet,SonosNet就是基于安全AES加密的WMN网络,能够让网络中的所有的Sonos产品(例如智能音箱)以无线方式控制和播放音乐。
WMN网络是从移动Ad hoc网络(移动自组织网络)分离出来,并承袭了部分无线局域网络(Wireless Local Area Networks,WLAN)技术。WMN网络本质上属于移动Ad hoc网络,是一种高容量、高速率的分布式网络,它不同于传统的无线网络,可以看成是无线局域网和移动Ad hoc网络的融合,并且发挥了两者的优势,是因特网的无线版本。WMN实际上是一种高可靠、广覆盖的WLAN网络,非常适合于覆盖大面积开放区城(包括室外和室内)的无线区域网络解决方案。WMN网络由包括一组呈网状分布的无线访问接入点(简称无线AP)构成,无线AP均采用点对点方式通过无线中继链路互联,将传统WLAN中的无线热点扩展为真正大面积覆盖的无线热区。另外,802.11s专门为无线Mesh网络定义媒体介入控制层(MediaAccess Control,MAC)层协议以及基于该MAC层的网络和其它协议,以支持Mesh无线网状网络。Mesh网络能够很好地组织好智能音箱内部的网络,让智能音箱之间建立网络通信,可以传递数据信息等。
图1-a所示为一种WMN网络示意图,在图1-a中,MP(如MP1、MP2和MP3)表示Mesh节点,在智能音箱场景中,MP可理解为智能音箱;MPP(即Mesh PortalPoint)表示Mesh Portal节点,就是无线Mesh网络的出入口,在智能音箱场景中,MPP也可以理解为智能音箱;Group(如Group1、Group2、Group3和Group4)可以表示无线Mesh网络中一台或多台智能设备(例如智能音箱)组成的一个组,无线Mesh网络中可以组多个Group;AP表示网络接入点,可理解为无线路由器。对应的,通过WMN网络组建的智能音箱网络架构图可如图1-b所示,在图1-b中,智能音箱1作为MPP与AP连接,智能音箱2、智能音箱3和智能音箱4彼此互联,AP通过同一局域网与移动终端(例如手机)互联。
需要说明的是,图1-b仅仅是一种示意,本申请所提及的实施例不限于应用在图1-b中所示的智能音箱网络架构中。下面通过具体实施例对本申请所述的技术方案进行说明。
实施例一
本申请实施例提供一种应用于智能音箱的日志文件处理方法。请参阅图2,本申请实施例中的日志文件处理方法包括:
步骤101、接收日志文件请求指令;
本申请实施例中,可以在移动终端(该移动终端与智能音箱位于同一局域网内)上安装与该智能音箱相关的应用程序,当用户想要导出智能音箱的日志文件时,可以进入该应用程序所提供的日志文件导出界面,在该日志文件导出界面所显示的智能音箱列表中选择需要导出日志文件的智能音箱,之后向所选择的智能音箱发送上述日志文件请求指令,以便该智能音箱或与该智能音箱关联的日志文件处理装置接收上述日志文件请求指令。其中,上述智能音箱列表可涵盖当前与该移动终端位于同一局域网内的所有智能音箱。
当然,本申请实施例中,也可以通过其它方式向智能音箱或与该智能音箱关联的日志文件处理装置发送上述日志文件请求指令,例如,可以通过触发该智能音箱上预设的实体按键向该智能音箱发送上述日志文件请求指令,此处不做限定。
步骤102、在上述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入上述智能音箱的闪存中;
本申请实施例中,智能音箱生成的日志文件会被暂存在智能音箱的内存缓冲区中(例如智能音箱可以将日志文件暂存在智能音箱的环形缓冲区中),以方便导出。例如,在linux系统下,智能音箱的日志文件(例如系统日志)由函数prink产生,函数prink将生成的日志文件打印到智能音箱的环形缓冲区中。
当接收到上述日志文件请求指令时,在上述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入上述智能音箱的闪存(例如Flash闪存)中。以linux系统和环形缓冲区为例,在步骤102中,在上述日志文件请求指令的指示下,可以在智能音箱的内核中启动一个内核线程,通过该内核线程获取环形缓冲区中的日志文件并将获取的日志文件写入该智能音箱的闪存中。进一步,还可以对写入闪存中的日志文件添加时间戳,例如,在linux内核中,可以通过do_gettimeofday获取时间戳,再将获取的时间戳转换成年月日分秒格式以标注该日志文件。
可选的,在将日志文件写入闪存中时,可以采用如下方式进行,以保证日志文件的写入能正常进行而又不对智能音箱的系统运行造成额外负荷:
在该智能音箱的闪存中设置一固定大小的缓存区域(例如,可限定该缓存区域的大小为10兆),在将日志文件写入闪存中时,先将日志文件写入该智能音箱的缓存区域,当该缓存区域写满时(例如写满10兆时),再将该缓存区域中的日志文件压缩并转存至该闪存中其它区域。后续若还有内存缓冲区中的日志文件需要写入闪存,则重复上述过程即可。进一步,在将该缓存区域中的日志文件压缩并转存至该闪存中其它区域的过程中,还可以采取日志轮转技术,在将该缓存区域中的日志文件压缩并转存至该闪存中其它区域之前,可以先对要压缩并转存的日志文件重命名,再在缓存区域中创建一个和之前相同名字及属性的临时文件,这时候再启动一个打包线程专门将该缓存区域中的日志文件压缩并转存至该闪存中其它区域。
可选的,在将缓存区域中的日志文件转存至闪存中其它区域时,可以以当前时间和该日志文件所对应的智能音箱的名称为组合,对压缩并转存至该闪存中其它区域的日志文件进行命名。对于智能音箱的名称,如果用户有对智能音箱进行过更改(命名为客厅、卧室等),则以更改后的名称为准,没有更改的以默认的音箱名称为准。
可选的,当闪存中存储的日志文件(包括闪存中缓存区域和其它区域存储的日志文件)总大小超过预设的阈值(例如20兆)时,从闪存的其它区域(即除该缓存区域以外的其它存储区域)删除最先存储的日志文件。
步骤103、若上述智能音箱所在局域网内存在已连接U盘的智能音箱,则触发上述已连接U盘的智能音箱将上述闪存中的日志文件导出至U盘中;
其中,上述局域网内存在至少一个智能音箱。
本申请实施例中,可以由智能音箱检测自身以及同一局域网内的其它智能音箱是否已连接U盘,例如,在linux系统下,智能音箱可以通过函数_misc_tar_sys_log_file_and_check_out检测自身是否已连接U盘,并触发同一局域网内的其它智能音箱检测各自是否已连接U盘,同一局域网内的其它智能音箱会将检测结果返回给该智能音箱,以便该智能音箱获知其它智能音箱是否已连接U盘。当该智能音箱自身已连接U盘时,将该智能音箱闪存中的日志文件导出到自身所连接的U盘中,并且,当其它智能音箱已连接U盘时,触发其它智能音箱将该智能音箱闪存中的日志文件导出至各自的U盘中。进一步,在将日志文件导出至U盘的过程中,可以向该智能音箱的内核发送停止写日志文件的命令(例如可以通过发送IPCD命令停止写日志文件的动作),再日志文件导出至U盘后,可以重新开启写日志文件的线程。
可选的,上述触发上述已连接U盘的智能音箱将上述闪存中的日志文件导出至U盘中包括:
获取上述局域网内已连接U盘的所有智能音箱的IP地址;
基于上述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;
接收已连接U盘的智能音箱基于上述日志文件导出指令返回的http请求消息;
响应于上述http请求消息,向相应智能音箱发送上述闪存中的日志文件,以便相应智能音箱接收到上述闪存中的日志文件后,将上述闪存中的日志文件导出至U盘中。
通过步骤103,可以使得将该智能音箱闪存中的日志文件导出到所有已连接到同一局域网内的智能音箱的U盘中。
进一步,若步骤101中的日志文件请求指令是用户通过步骤101所提及的日志文件导出界面触发,则本申请实施例还可以包括:汇总同一局域网内各智能音箱的日志导出结果,如成功将日志文件导出U盘的智能音箱的个数与用户在该日志文件导出界面所选择需要导出日志文件的智能音箱的个数相等,则输出用以指示日志文件导出成功的指令。否则,可输出错误指令,该错误指令用以指示已将日志文件导出U盘的智能音箱的个数与用户在该日志文件导出界面所选择需要导出日志文件的智能音箱的个数不相等。
需要说明的是,本申请实施例中的日志文件处理方法应用于日志文件处理装置,该日志文件处理装置可集成在智能音箱中,或者也可以为与智能音箱关联的独立装置。上述移动终端可以具备与智能音箱连接的智能手机、平板电脑、可穿戴设备等终端,上述移动终端的操作系统可以为ios、android、windows系统或其它操作系统,此处不做限定。
由上可见,本申请实施例中在接收到日志文件请求指令时,将智能音箱存储在内存缓冲区中的日志文件写入该智能音箱的闪存中,并在该智能音箱所在局域网内存在已连接U盘的智能音箱时,触发已连接U盘的智能音箱将该闪存中的日志文件导出至U盘中。一方面,通过本申请方案,只需要在同一局域网内的任意智能音箱上插入U盘,即可将智能音箱的日志文件导出到该U盘中,提高日志文件导出的便利性,另一方面,即使同一局域网内的智能音箱均未插入U盘,智能音箱上的日志文件也会被写入闪存中,避免了日志文件因无法导出而丢失,提高了智能音箱日志文件存储的可靠性。
为便于更好地理解图2所示实施例中的日志文件处理方法,下面以图1-b所示的智能音箱网络架构以及搭载linux的智能音箱为场景,此场景下的实现准备工作及前提条件如下:1、移动终端、智能音箱、路由器在同一个局域网段内,且所有智能音箱都已添加入网;2、移动终端上有一个控制智能音箱的应用程序(后续称之为智能音箱管理程序),用于对智能音箱的操作及播放。此场景下的具体实现步骤可参考如下:
a、启动移动终端的智能音箱管理程序,在该移动终端与智能音箱关联后,用户可以触发该智能音箱管理程序的界面上提供的故障报告按钮,此时进入该智能音箱管理程序所提供的日志文件导出界面,用户可以在该日志文件导出界面所显示的智能音箱列表中选择需要导出日志文件的智能音箱(可以是一台,也可以是多台),之后向所选择的智能音箱发送日志文件请求指令,以便相应智能音箱接收上述日志文件请求指令。其中,上述智能音箱列表可涵盖当前与该移动终端位于同一局域网内的所有智能音箱。此时,相应智能音箱开始准备对日志文件的获取进行相关初始化动作。
b、智能音箱在接收到该日志文件请求指令后,会检测自身环形缓冲区中是否存在日志文件,并向MPP反馈自身的日志文件存在情况。当智能音箱环形缓冲区中存在日志文件时,从环形缓冲区中读出日志文件并执行将日志文件写入闪存的动作。智能音箱的日志文件由函数printk产生,函数printk先将日志文件打印到环形缓冲区uart_port0的circ_buf中,在智能音箱执行步骤a中提及的初始化动作时,智能音箱找到与日志文件关联的uart_port0及其对应的环形缓冲区,再从该环形缓冲区读出日志文件写入该智能音箱闪存中。其过程可以包括:
b1、在该智能音箱的内核中启动一个内核线程_mt85xx_save_log_thread,通过该内核线程获取并打印日志文件。内核线程_mt85xx_save_log_thread不断去从uart_port0所对应的circ_buf中读取日志文件,并将读取的日志文件写入该智能音箱的闪存中,以实现实时获取该智能音箱的日志文件。
b2、对获取的日志文件添加时间戳。由于Linux自带的printk默认不带时间戳,故需要我们自己实现时间戳打印,在linux内核中,可以通过do_gettimeofday获取时间戳,再将时间戳秒数转换成现在的年月日时分秒格式即可。
b3、将日志文件进行打包压缩保存及清理。日志文件在写入智能音箱闪存时,采用如下策略来进行。以保证日志文件的写入能正常进行而又不对智能音箱的系统运行造成额外负荷:
(1)将智能音箱的日志文件实时写入闪存缓存区域中的临时文件中,该缓存区域可限定大小为10兆,当写满10兆时,压缩该临时文件存储在该闪存的其它区域中,并继续创建新的临时文件写入;
(2)每份10兆的日志文件压缩后以智能音箱的名称(如果用户有对智能音箱的名称进行更改,如:客厅,卧室等就以更改的为准。没有更改的以默认的音箱名称为准)加当时的年月日时分秒命名;
(3)采取日志轮转技术,即在压缩日志文件的时候,先给临时文件重命名,在创建一个和之前相同的名字及属性的临时文件,这时候再启动一个打包线程专门对日志文件进行压缩和转存;
(4)设定压缩的日志文件和临时文件的阈值为20兆,实时检测该智能音箱闪存中的日志文件大小,如检测到闪存中日志文件大小超过20兆,则从闪存的其它区域(即除该缓存区域以外的其它存储区域)删除最先存储的日志文件。
c、准备将保存在智能音箱闪存中的日志文件导出至U盘中。智能音箱在接收到该日志文件请求指令后,检测自身是否已连接U盘并向MPP反馈自身的U盘连接情况。在MPP收到来自各智能音箱反馈的日志文件存在情况和U盘连接情况后,将各智能音箱反馈的日志文件存在情况和U盘连接情况保存至g_MiscSpeakerLogInfJson(注:g_MiscSpeakerLogInfJson是一个全局的Json数据,记录着局域网内各智能音箱的U盘连接情况及日志文件存在情况),然后MPP将g_MiscSpeakerLogInfJson同步给局域网内其它智能音箱。
如:局域网内的智能音箱都没插U盘,则同步CHECK_FAULT_NO_USB消息;
如:局域网内的智能音箱都没日志文件,则同步CHECK_FAULT_NO_FAULT消息;
如:局域网内的智能音箱都既有U盘又有日志,则返回CHECK_FAULT_SAVE_READY消息,代表智能音箱已转备好,通知移动终端可以导出。
d、移动终端的智能音箱管理程序收到CHECK_FAULT_SAVE_READY消息后,确认日志文件可以导出,则向各智能音箱发送日志导出指令。
各智能音箱收到该日志导出指令后,若智能音箱自身存在日志文件,则停止写入日志文件,并基于自身是否已连接U盘执行相应的动作,这里可分两种情况:
d1、智能音箱自身未连接有U盘,则可在该智能音箱将日志文件存入闪存后,通知同一局域网内所有已连接U盘的智能音箱,通过HTTP来向自身下载日志文件,并向MPP日志反馈日志文件导出结果;
d2、智能音箱自身已连接有U盘,则可在该智能音箱将日志文件存入闪存后打包日志文件文件后直接将日志文件复制到自身所连接的U盘中,然后再通知同一局域网内所有已连接U盘的智能音箱,通过HTTP来向自身下载日志文件。具体实现如下:
获取同一局域网内所有已连接U盘的智能音箱的IP地址,并向这些智能音箱发送已准备好日志文件的消息(例如SL_MSG_TITLE_NOTICE_MP_SAVE_LOG),让其它智能音箱来下载;接有U盘的智能音箱收到SL_MSG_TITLE_NOTICE_MP_SAVE_LOG消息后,通过HTTP请求消息去向该智能音箱下载日志文件,文件存放位置例如可以为U盘根目录下的/SoundBox_Log文件夹下,并以各自智能音箱名结合当时的年月日时分秒命名(如名称为SoundBox_Log的智能音箱可命名为:SoundBox_Log 2017-12-26-08-30.rar)。智能音箱收到某个智能音箱的HTTP请求消息后,向相应智能音箱发送自身的日志文件。最后同一局域网内所有的日志文件就发送到所有已连接在同一局域网内的智能音箱上的U盘中。
各智能音箱根据下载情况,向MPP发送日志导出结果。
e、MPP汇合各智能音箱的日志导出结果,如成功将日志文件导出U盘的智能音箱的个数与用户在该日志文件导出界面所选择需要导出日志文件的智能音箱的个数相等,则输出用以指示日志文件导出成功的指令。否则,可输出错误指令,该错误指令用以指示已将日志文件导出U盘的智能音箱的个数与用户在该日志文件导出界面所选择需要导出日志文件的智能音箱的个数不相等。
实施例二
本申请实施例提供一种应用于智能音箱的日志文件处理装置。如图3所示,本申请实施例中的日志文件处理装置200包括:
接收单元201,用于接收日志文件请求指令;
存储单元202,用于在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
触发单元203,用于当所述智能音箱所在局域网内存在已连接U盘的智能音箱时,触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
可选的,所述闪存中设置有一固定大小的缓存区域。存储单元202具体用于:将所述内存缓冲区中的日志文件写入所述缓存区域中;在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
可选的,存储单元202还用于:以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
可选的,触发单元203包括:获取单元,用于获取所述局域网内已连接U盘的所有智能音箱的IP地址;发送单元,用于基于所述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;响应于所述http请求消息,向相应智能音箱发送所述闪存中的日志文件,以便相应智能音箱接收到所述闪存中的日志文件后,将所述闪存中的日志文件导出至U盘中。
可选的,接收单元201具体用于:接收来自移动终端的日志文件请求指令;其中,所述移动终端与所述智能音箱处于同一局域网。
需要说明的是,本申请实施例中的日志文件处理装置可用以实现图2所示实施例中的全部方法,在本申请实施例中未提及或详细的部分,可以参照图2所示实施例中方法配置相应的功能模块实现,此处不再赘述。本申请实施例中的日志文件处理装置可集成在智能音箱中,或者也可以为与智能音箱关联的独立装置。上述移动终端可以具备与智能音箱连接的智能手机、平板电脑、可穿戴设备等终端,上述移动终端的操作系统可以为ios、android、windows系统或其它操作系统,此处不做限定。
由上可见,本申请实施例中在接收到日志文件请求指令时,将智能音箱存储在内存缓冲区中的日志文件写入该智能音箱的闪存中,并在该智能音箱所在局域网内存在已连接U盘的智能音箱时,触发已连接U盘的智能音箱将该闪存中的日志文件导出至U盘中。一方面,通过本申请方案,只需要在同一局域网内的任意智能音箱上插入U盘,即可将智能音箱的日志文件导出到该U盘中,提高日志文件导出的便利性,另一方面,即使同一局域网内的智能音箱均未插入U盘,智能音箱上的日志文件也会被写入闪存中,避免了日志文件因无法导出而丢失,提高了智能音箱日志文件存储的可靠性。
实施例三
本申请实施例提供一种智能音箱,请参阅图4,本申请实施例中的智能音箱还包括:存储器301,一个或多个处理器302(图4中仅示出一个)及存储在存储器301上并可在处理器上运行的计算机程序。其中:存储器301用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及单元,从而执行各种功能应用以及数据处理。具体地,处理器302通过运行存储在存储器301的上述计算机程序时实现以下步骤:
接收日志文件请求指令;
在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
若所述智能音箱所在局域网内存在已连接U盘的智能音箱,则触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述闪存中设置有一固定大小的缓存区域;
所述将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中包括:
将所述内存缓冲区中的日志文件写入所述缓存区域中;
在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
在上述第二种可能的实现方式作为基础而提供的第三种可能的实施方式中,所述将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域还包括:
以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
在上述第一种可能的实现方式或者上述第二种可能的实现方式或者上述第三种可能的实现方式作为基础而提供的第四种可能的实施方式中,所述触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中包括:
获取所述局域网内已连接U盘的所有智能音箱的IP地址;
基于所述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;
接收已连接U盘的智能音箱基于所述日志文件导出指令返回的http请求消息;
响应于所述http请求消息,向相应智能音箱发送所述闪存中的日志文件,以便相应智能音箱接收到所述闪存中的日志文件后,将所述闪存中的日志文件导出至U盘中。
在上述第一种可能的实现方式或者上述第二种可能的实现方式或者上述第三种可能的实现方式作为基础而提供的第五种可能的实施方式中,所述接收日志文件请求指令包括:
接收来自移动终端的日志文件请求指令;
其中,所述移动终端与所述智能音箱处于同一局域网。
可选的,如图4所示,上述移动终端还可包括:一个或多个输入设备303(图4中仅示出一个)和一个或多个输出设备304(图4中仅示出一个)。存储器301、处理器302、输入设备303和输出设备304通过总线305连接。
应当理解,在本申请实施例中,所称处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备303可以包括实体按键、触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备304可以包括显示器、扬声器等。
存储器304可以包括只读存储器和随机存取存储器,并向处理器301提供指令和数据。存储器304的一部分或全部还可以包括非易失性随机存取存储器。
由上可见,本申请实施例中在接收到日志文件请求指令时,将智能音箱存储在内存缓冲区中的日志文件写入该智能音箱的闪存中,并在该智能音箱所在局域网内存在已连接U盘的智能音箱时,触发已连接U盘的智能音箱将该闪存中的日志文件导出至U盘中。一方面,通过本申请方案,只需要在同一局域网内的任意智能音箱上插入U盘,即可将智能音箱的日志文件导出到该U盘中,提高日志文件导出的便利性,另一方面,即使同一局域网内的智能音箱均未插入U盘,智能音箱上的日志文件也会被写入闪存中,避免了日志文件因无法导出而丢失,提高了智能音箱日志文件存储的可靠性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种应用于智能音箱的日志文件处理方法,其特征在于,包括:
接收日志文件请求指令;
在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
若所述智能音箱所在局域网内存在已连接U盘的智能音箱,则触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
2.根据权利要求1所述的日志文件处理方法,其特征在于,所述闪存中设置有一固定大小的缓存区域;
所述将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中包括:
将所述内存缓冲区中的日志文件写入所述缓存区域中;
在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
3.根据权利要求2所述的日志文件处理方法,其特征在于,所述将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域还包括:
以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
4.根据权利要求1至3任一项所述的日志文件处理方法,其特征在于,所述触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中包括:
获取所述局域网内已连接U盘的所有智能音箱的IP地址;
基于所述IP地址,向已连接U盘的各智能音箱发送日志文件导出指令;
接收已连接U盘的智能音箱基于所述日志文件导出指令返回的http请求消息;
响应于所述http请求消息,向相应智能音箱发送所述闪存中的日志文件,以便相应智能音箱接收到所述闪存中的日志文件后,将所述闪存中的日志文件导出至U盘中。
5.根据权利要求1至3任一项所述的日志文件处理方法,其特征在于,所述接收日志文件请求指令包括:
接收来自移动终端的日志文件请求指令;
其中,所述移动终端与所述智能音箱处于同一局域网。
6.一种应用于智能音箱的日志文件处理装置,其特征在于,包括:
接收单元,用于接收日志文件请求指令;
存储单元,用于在所述日志文件请求指令的指示下,将智能音箱存储在内存缓冲区中的日志文件写入所述智能音箱的闪存中;
触发单元,用于当所述智能音箱所在局域网内存在已连接U盘的智能音箱时,触发所述已连接U盘的智能音箱将所述闪存中的日志文件导出至U盘中,其中,所述局域网内存在至少一个智能音箱。
7.根据权利要求6所述的日志文件处理装置,其特征在于,所述闪存中设置有一固定大小的缓存区域;
所述存储单元具体用于:将所述内存缓冲区中的日志文件写入所述缓存区域中;
在所述缓存区域写满时,将所述缓存区域中的日志文件压缩并转存至所述闪存中其它区域。
8.根据权利要求7所述的日志文件处理装置,其特征在于,所述存储单元还用于:以当前时间和所述日志文件所对应的智能音箱的名称为组合,对压缩并转存至所述闪存中其它区域的日志文件进行命名。
9.一种智能音箱,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序且应用于智能音箱,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201810090514.9A 2018-01-30 2018-01-30 应用于智能音箱的日志文件处理方法、装置及智能音箱 Active CN108182292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810090514.9A CN108182292B (zh) 2018-01-30 2018-01-30 应用于智能音箱的日志文件处理方法、装置及智能音箱

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810090514.9A CN108182292B (zh) 2018-01-30 2018-01-30 应用于智能音箱的日志文件处理方法、装置及智能音箱

Publications (2)

Publication Number Publication Date
CN108182292A true CN108182292A (zh) 2018-06-19
CN108182292B CN108182292B (zh) 2022-12-09

Family

ID=62551814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810090514.9A Active CN108182292B (zh) 2018-01-30 2018-01-30 应用于智能音箱的日志文件处理方法、装置及智能音箱

Country Status (1)

Country Link
CN (1) CN108182292B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625397A (zh) * 2020-04-14 2020-09-04 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799783A (zh) * 2009-01-19 2010-08-11 中国人民大学 一种数据存储处理方法、查找方法及其装置
CN103309767A (zh) * 2012-03-08 2013-09-18 阿里巴巴集团控股有限公司 一种客户端日志处理方法和装置
CN103577308A (zh) * 2013-11-15 2014-02-12 惠州Tcl移动通信有限公司 移动设备的日志文件的获取方法
US20160330627A1 (en) * 2013-12-31 2016-11-10 Huawei Device Co., Ltd. Method supporting wireless access to storage device, and mobile routing hotspot device
CN106776064A (zh) * 2016-11-29 2017-05-31 北京元心科技有限公司 多系统中管理日志的方法及装置
CN107329972A (zh) * 2017-05-23 2017-11-07 无锡中科龙泽信息科技有限公司 双终端访问WiFi‑SD卡的文件系统同步更新方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799783A (zh) * 2009-01-19 2010-08-11 中国人民大学 一种数据存储处理方法、查找方法及其装置
CN103309767A (zh) * 2012-03-08 2013-09-18 阿里巴巴集团控股有限公司 一种客户端日志处理方法和装置
CN103577308A (zh) * 2013-11-15 2014-02-12 惠州Tcl移动通信有限公司 移动设备的日志文件的获取方法
US20160330627A1 (en) * 2013-12-31 2016-11-10 Huawei Device Co., Ltd. Method supporting wireless access to storage device, and mobile routing hotspot device
CN106776064A (zh) * 2016-11-29 2017-05-31 北京元心科技有限公司 多系统中管理日志的方法及装置
CN107329972A (zh) * 2017-05-23 2017-11-07 无锡中科龙泽信息科技有限公司 双终端访问WiFi‑SD卡的文件系统同步更新方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625397A (zh) * 2020-04-14 2020-09-04 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质
CN111625397B (zh) * 2020-04-14 2023-09-12 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108182292B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN112003703B (zh) 一种跨链发送可认证消息的方法和装置
EP3145131B1 (en) Data packet processing method, service node and delivery node
CN104754062B (zh) 基于互联网的信息推广方法、服务器及用户终端
WO2020056558A1 (zh) 一种蓝牙集群在线升级方法及装置
CN107087038A (zh) 一种数据同步的方法、同步设备、装置及存储介质
CN106953795A (zh) 配置多网卡的方法及装置
CN108804119A (zh) 配置更新方法、装置、系统、配置中心、应用节点及介质
TW202101350A (zh) 基於處理模組跨鏈發送可認證訊息的方法和裝置
WO2017215640A1 (zh) 音效处理方法及装置
CN109819101A (zh) 一种取证方法和取证专用移动终端
CN107454110A (zh) 一种数据校验方法及服务器
CN106951521A (zh) 日志文件的读写方法、装置及系统
CN107798538A (zh) 一种交易核算方法及客户端
CN107528855A (zh) 一种数据校验方法及服务器
CN108494972A (zh) 一种消息提醒方法、消息提醒装置及移动终端
CN109446093A (zh) 一种扩展平台接口测试方法与装置
CN106911769B (zh) 云平台路由数据的处理方法和云平台的物理服务器
CN108182292A (zh) 应用于智能音箱的日志文件处理方法、装置及智能音箱
JP6929946B2 (ja) データ伝送方法、装置、送信端、受信端及びシステム
CN108810835A (zh) 一号多终端的关联方法、装置、终端和存储介质
CN108289232A (zh) 一种播放设备的控制方法、终端设备及存储介质
CN107959702A (zh) 路由方法和装置
CN110602338A (zh) 音频处理方法、装置、系统、存储介质以及设备
CN110138851A (zh) 智能穿戴设备的交友方法
CN112615868B (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
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant