多系统中管理日志的方法及装置与流程

文档序号:12463736阅读:290来源:国知局
多系统中管理日志的方法及装置与流程

本发明涉及计算机技术领域,具体而言,本发明涉及一种多系统中管理日志的方法,及一种多系统中管理日志的装置。



背景技术:

随着当今计算机技术的发展,为使终端设备操作系统的可靠性不断提高,各类操作系统通常配设有记录系统中硬件、软件和系统问题的系统日志,该系统日志还可以记录系统中发生的事件,当终端设备操作系统出现故障,用户可以通过系统日志来检查故障原因,同时,终端设备的系统开发人员也可以通过系统日志了解终端设备运行过程中出现的问题(如bug、黑屏、死机、自动退出程序等情况),以利于售后服务以及后续对系统的完善和改进。为了在系统运行时可及时记录系统的运行状况,终端设备中用于存储系统日志的存储空间所对应的存储地址通常被配置在系统的预定存储路径下。

随着终端设备的各项软硬件配置越来越高,一些高端配置的终端设备运行效果已和桌面设备的相应配置实现的效果接近,同时,用户对于终端设备使用场景的多样性与日俱增,因此,出现了同一终端设备中根据不同的用户需求提供不同运行环境的解决方案,如设置特定用户在特定的受限运行环境下使用终端设备,或为同一用户在终端设备中的不同使用场景设置不同的运行环境。因此在终端设备中实现系统的虚拟化,从而使得终端设备中可以运行多个独立的操作系统,在这种情况下,各操作系统中都存储有各自对应的日志文件。

现有技术仅支持对同一终端设备中的单个操作系统进行日志的管理操作,如对日志的存储、打包及清理等操作,但无法对同一终端设备中的多个操作系统的日志进行管理,因此亟需一种对同一终端设备中的多个操作系统中的日志同时进行管理的方法。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提出了一种多系统中管理日志的方法,包括:

当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务;

各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务;

主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

优选地,各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志的步骤,包括:

各个容器系统及主控系统各自的日志管理服务将日志获取指令发送至各个容器系统及主控系统各自的日志获取服务;

各个容器系统及主控系统各自的日志获取服务基于接收到的日志获取指令获取其各自系统的日志;

各个容器系统及主控系统日志获取完成后,各个容器系统及主控系统各自的日志获取服务将各自的完成通知消息及各自的日志存储路径反馈至其各自相应的日志管理服务。

优选地,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份的步骤之后,还包括:

主控系统的日志管理服务通过第一容器系统的日志管理服务将备份存储完成消息反馈至预定应用程序,以生成日志获取完成提示信息。

优选地,主控系统的日志管理服务通过各个容器系统的日志管理服务在其日志管理服务中注册的回调函数,向各个容器系统的日志管理服务发送数据。

可选地,该方法还包括:

当检测到来自第一容器系统的预定应用程序的日志配置指令时,第一容器系统的日志管理服务将日志配置指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志配置指令发送至第二容器系统的日志管理服务;

各个容器系统及主控系统各自的日志管理服务,基于日志配置指令对其各自的日志文件参数进行配置。

可选地,该方法还包括:

当检测到来自第一容器系统的预定应用程序的日志清理指令时,第一容器系统的日志管理服务将日志清理指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志清理指令发送至第二容器系统的日志管理服务;

各个容器系统及主控系统各自的日志管理服务,基于日志清理指令对其各自日志存储路径下的日志进行清理。

本发明的另一实施例提出了一种多系统中管理日志的装置,包括:

发送模块,用于当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务;

获取及发送模块,用于各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务;

备份模块,用于主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

优选地,获取及发送模块,包括:

发送单元,用于各个容器系统及主控系统各自的日志管理服务将日志获取指令发送至各个容器系统及主控系统各自的日志获取服务;

获取单元,用于各个容器系统及主控系统各自的日志获取服务基于接收到的日志获取指令获取其各自系统的日志;

第一反馈单元,用于各个容器系统及主控系统日志获取完成后,各个容器系统及主控系统各自的日志获取服务将各自的完成通知消息及各自的日志存储路径反馈至其各自相应的日志管理服务。

优选地,备份模块,还包括:

第二反馈单元,用于主控系统的日志管理服务通过第一容器系统的日志管理服务将备份存储完成消息反馈至预定应用程序,以生成日志获取完成提示信息。

优选地,主控系统的日志管理服务通过各个容器系统的日志管理服务在其日志管理服务中注册的回调函数,向各个容器系统的日志管理服务发送数据。

本发明的实施例中,提出了一种多系统中管理日志的方案,当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务,实现了同时向各个容器系统及主控系统发送日志获取指令,为统一获取各个容器系统及主控系统的日志提供了必要的前提保障;各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,之后,各个容器系统将各自的日志存储路径发送至主控系统的日志管理服务,实现了统一获取各个容器系统及主控系统的日志,同时,为统一对各个容器系统及主控系统的日志进行管理提供了必要的前提保障;主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份,实现了通过第一容器系统统一管理各个容器系统及主控系统的日志,解决了对同一终端设备中的多个操作系统的日志进行管理的问题,进一步地,可实现通过在一个系统中对多个作系统的日志统一执行获取操作,提高了用户获取日志的操作体验。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明中一个实施例的多系统终端设备中各容器系统间的关系示意图;

图2为本发明中另一实施例的多系统中管理日志的方法的流程图;

图3为本发明中又另一实施例的多系统中管理日志的流程图;

图4为本发明中再另一实施例的多系统中管理日志的装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本发明的实施例中的多操作系统包括至少两个操作系统,其中,操作系统可包括各种操作系统,例如android操作系统等。本发明的实施例中的多操作系统可基于多种虚拟技术来实现,下文以Linux系统下的容器技术为例来进行实施例的详述。其中,使用Linux容器技术实现的多操作系统,在每个容器中装入独立的操作系统,多个操作系统之间相互独立,且多个操作系统运行在同一台物理终端设备上。

下面结合附图具体介绍本发明实施例的技术方案。

本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:至少两个容器系统和一个主控系统。其中,图1中的终端设备的内部结构框架中包括第一容器系统OS1、第二容器系统OS2和主控系统,其中,各个容器系统及主控系统拥有各自的日志管理服务。第一容器系统OS1在JAVA层通过暗码操作触发JAVA层的应用程序APP,APP通过JNI(Java Native Interface,Java本地接口)来通知Native(调用非Java代码的接口)层的第一容器系统OS1的Log Service日志服务来抓取第一容器系统OS1日志的操作,同时,第一容器系统OS1的Log Service通过第一容器系统OS1的预定SSAL接口向主控系统的Log Service发送获取主控系统日志的通知消息,随后主控系统的Log Service向其他容器系统获取其他容器系统日志的通知消息,其他容器系统如图1中的第二容器系统OS2,主控系统的Log Service向第二容器系统OS2的Log Service发送获取第二容器系统OS2日志的通知消息;当所有容器系统的日志获取完成后,由主控系统的Log Service执行统一的日志相关处理。需要说明的是,终端设备的内部结构框架中可以包括多个第二容器系统OS2

其中,本发明实施例中的容器系统,可以是设置在以Linux container(容器)虚拟化技术创建的容器中的操作系统。操作系统可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系统或FireFox系统等,还可以为以Windows平台为基础的windows系统等。实际上,本发明中的容器系统不限于前述例举的操作系统,可以涵盖所有能够在容器中运行的操作系统。

优选地,容器系统可以是上述传统的操作系统,也可以是对传统的kernel进行改进和/或在kernel之外(例如框架层和应用层)增加功能模块之后,得到的操作系统。其所采用的容器技术是一种灵活、可配置化、轻量级的虚拟化技术。其中,各个容器系统共享同一系统内核,当各容器中的操作系统为Linux操作系统或基于Linux操作系统衍生出来的系统时,各容器系统为基于Linux kernel namespace框架之上的,以Linux内核中的两个较新的功能:namespace与cgroup为基础,增加了对终端设备中设备资源的管理功能模块后,实现了容器系统之间的相互隔离。容器技术可以根据不同的业务需求将系统中的全部进程分配到不同的进程组中,不同的进程组可以相互隔离地运行在同一台物理设备上,每一个相互隔离的进程组被赋予一个更形象的名字,即容器(container)。实现了不同容器中的系统同时运行于同一物理设备上。需要说明的是,本领域技术人员可以了解到,cgroup资源为controller group资源,最初由Google的工程师提出,后被整合进Linux内核中用于将任意进程进行分组化管理的Linux内核功能,同时还可以控制进程的资源占用(CPU、内存等的占用)情况,cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。

优选地,主容器系统和可信域容器系统间可以通过预定义的通道或容器通道与其他容器系统进行通信,预定义的通道可以是socket(套接字)通道,本发明的实施例中,主容器系统和可信域容器系统通过其各自的容器系统模块与容器系统管理模块进行通信。

图2为本发明中一个实施例的多系统中管理日志的方法的流程图。

本发明的实施例中,各步骤所执行的内容概述如下:步骤S210:当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务;步骤S220:各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务;步骤S230:主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

本发明的实施例中,提出了一种多系统中管理日志的方法,当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务,实现了同时向各个容器系统及主控系统发送日志获取指令,为统一获取各个容器系统及主控系统的日志提供了必要的前提保障;各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,之后,各个容器系统将各自的日志存储路径发送至主控系统的日志管理服务,实现了统一获取各个容器系统及主控系统的日志,同时,为统一对各个容器系统及主控系统的日志进行管理提供了必要的前提保障;主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份,实现了通过第一容器系统统一管理各个容器系统及主控系统的日志,解决了对同一终端设备中的多个操作系统的日志进行管理的问题,进一步地,可实现通过在一个系统中对多个作系统的日志统一执行获取操作,提高了用户获取日志的操作体验。以下针对各个步骤的具体实现做进一步的说明:

步骤S210:当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务。

优选地,主控系统的日志管理服务通过各个容器系统的日志管理服务在其日志管理服务中注册的回调函数,向各个容器系统的日志管理服务发送数据。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务(即Log Service)和获取日志的相关服务,如图3中各个容器系统及主控系统的slog服务。其中,当第一容器系统OS1的操作系统为Android系统时,通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志获取指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志获取指令发送至第一容器系统OS1的Log Service,如图3中所示的步骤1,预定应用程序APP通过JNI调用Binder通信机制将日志获取指令发送至第一容器系统OS1的Log Service,当检测到来自第一容器系统OS1的预定应用程序APP的日志获取指令时,第一容器系统OS1的Log Service向第一容器系统OS1的获取日志的相关服务,如第一容器系统OS1的slog服务,和主控系统的Log Service发送日志获取指令,如图3中所示的步骤2和步骤3,随后,主控系统的Log Service将接收到的日志获取指令,通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志获取指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service,如图3中所示的步骤5。

步骤S220:各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,当第一容器系统OS1的Log Service接收到预定应用程序APP发送的日志获取指令后,执行获取第一容器系统OS1的日志的操作,第一容器系统OS1的Log Service并将日志获取指令发送至主控系统的Log Service,主控系统根据其接收到的日志获取指令执行获取其日志的操作,主控系统在接收到日志获取指令的同时,主控系统的Log Service将日志获取指令发送至第二容器系统OS2的Log Service,第二容器系统OS2根据其接收到的日志获取指令执行获取其日志的操作,基于第一容器系统OS1和第二容器系统OS2已获取的各自对应的日志后,第一容器系统OS1和第二容器系统OS2通过其各自的Log Service将获取到的其各自的日志及其各自日志的存储路径发送至主控系统的Log Service,基于主控系统的slog服务已获取的主控系统的日志后,主控系统的slog服务将获取到的主控系统的日志及其日志的存储路径发送至主控系统的Log Service。

需要说明的是,第一容器系统OS1的预定存储路径可以根据第一容器系统OS1的日志存储路径来进行配置,在后续对主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份时,将主控系统及第二容器系统的日志在第一容器系统的日志存储路径下,或在与第一容器系统的日志存储路径相同的根目录的路径下进行备份;当不将第一容器系统OS1的预定存储路径发送至主控系统的Log Service或因传输故障等因素无法获取到第一容器系统OS1的日志存储路径的情况下,在后续对主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份时,将主控系统及第二容器系统的日志在预设的第一容器系统的预定存储路径下进行备份。因此,在本发明的实施例中,可以将第一容器系统OS1的预定存储路径发送至主控系统的Log Service,也可以不将第一容器系统OS1的预定存储路径发送至主控系统的Log Service,在此不做限定。

优选地,步骤S220中各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志的步骤,进一步包括步骤S221、步骤S222和步骤S223;步骤S221:各个容器系统及主控系统各自的日志管理服务将日志获取指令发送至各个容器系统及主控系统各自的日志获取服务;步骤S222:各个容器系统及主控系统各自的日志获取服务基于接收到的日志获取指令获取其各自系统的日志;步骤S223:各个容器系统及主控系统日志获取完成后,各个容器系统及主控系统各自的日志获取服务将各自的完成通知消息及各自的日志存储路径反馈至其各自相应的日志管理服务。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,当第一容器系统OS1的Log Service接收到预定应用程序APP发送的日志获取指令后,通过预定socket通信通道将日志获取指令发送至第一容器系统OS1的日志获取服务,如第一容器系统OS1的slog服务,如图3所示的步骤2,第一容器系统OS1的slog服务基于接收到的日志获取指令获取第一容器系统OS1的日志并对获取的日志进行打包,同时第一容器系统OS1的Log Service将日志获取指令发送至主控系统的Log Service,如图3所示的步骤3,再由主控系统的Log Service通过预定socket通信通道将日志获取指令发送至主控系统的日志获取服务,如主控系统的slog服务,如图3所示的步骤4,主控系统的slog服务基于接收到的日志获取指令获取主控系统的日志并对获取的日志进行打包,同时主控系统的Log Service通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数将日志获取指令发送至第二容器系统OS2的Log Service,第二容器系统OS2的Log Service通过预定socket通信通道将日志获取指令发送至第二容器系统OS2的日志获取服务,如第二容器系统OS2的slog服务,如图3所示的步骤6,第二容器系统OS2的slog服务基于接收到的日志获取指令获取第二容器系统OS2的日志并对获取的日志进行打包。之后,第一容器系统OS1的系统日志获取完成后,第一容器系统OS1的slog服务通过预定socket通信通道将第一容器系统OS1的日志获取完成通知消息及其日志存储路径发送至第一容器系统OS1的Log Service,如图3所示的步骤2.1;主控系统的系统日志获取完成后,主控系统的slog服务通过预定socket通信通道将主控系统的日志获取完成通知消息及其日志存储路径发送至主控系统的Log Service,如图3所示的步骤4.1;第二容器系统OS2的系统日志获取完成后,第二容器系统OS2的slog服务通过预定socket通信通道将第二容器系统OS2的日志获取完成通知消息及其日志存储路径发送至第二容器系统OS2的Log Service,如图3所示的步骤6.1。

步骤S230:主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,基于主控系统、第一容器系统OS1和第二容器系统OS2已获取的各自对应的日志后,将获取到的各个容器系统的日志存储路径发送至主控系统的Log Service,主控系统的Log Service基于第二容器系统OS2及主控系统的日志存储路径,从第二容器系统OS2及主控系统的日志存储路径下获取第二容器系统OS2及主控系统打包后的日志,并将获取的打包后的日志存储至第一容器系统OS1的预定存储路径下,如图3所示的步骤7。

在一优选实施例中,在步骤S230中将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份的步骤之后,还包括步骤S240;步骤S240:主控系统的日志管理服务通过第一容器系统的日志管理服务将备份存储完成消息反馈至预定应用程序,以生成日志获取完成提示信息。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,主控系统的Log Service将主控系统及第二容器系统OS2的打包后的日志在第一容器系统OS1的预定存储路径下进行备份后,主控系统的Log Service通过第一容器系统OS1的Log Service在主控系统的Log Service中预注册的回调函数将备份存储完成消息发送至第一容器系统OS1的Log Service,如图3所示的步骤3.1,随后第一容器系统OS1的Log Service将备份存储完成消息发送至第一容器系统OS1的预定应用程序APP,以生成日志获取完成提示信息,如“各系统已完成日志获取!”。

在一优选实施例中,该方法还包括步骤S250和步骤S260;步骤S250:当检测到来自第一容器系统的预定应用程序的日志配置指令时,第一容器系统的日志管理服务将日志配置指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志配置指令发送至第二容器系统的日志管理服务;步骤S260:各个容器系统及主控系统各自的日志管理服务,基于日志配置指令对其各自的日志文件参数进行配置。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务Log Service和获取日志的相关服务,如图3中的slog服务。当第一容器系统OS1的操作系统为Android系统时,通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志配置指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志配置指令发送至第一容器系统OS1的Log Service,如图3中所示的步骤1,预定应用程序APP通过JNI调用Binder通信机制将日志配置指令发送至第一容器系统OS1的Log Service,当检测到来自第一容器系统OS1的预定应用程序APP的日志配置指令时,第一容器系统OS1的Log Service,将接收到的日志配置指令,通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志配置指令发送至在主控系统的Log Service,如图3中所示的步骤3;随后,主控系统的Log Service将接收到的日志配置指令,通过预定SSAL接口将该日志配置指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service,如图3中所示的步骤5;各个容器系统及主控系统各自的日志管理服务,如图3中各个容器系统及主控系统的Log Service服务,基于日志配置指令对其各自的日志文件参数进行配置,如配置各系统中日志文件的大小、日志文件的个数和日志的存储等级等参数。

通过本实施例,实现了对多系统的终端设备中,根据用户在各个容器系统及主控系统中的个性化使用需求,对各个容器系统及主控系统的日志保存的相关参数进行统一同步配置,进一步地,可通过一个系统对整个终端设备的多个系统同时进行日志管理配置,满足了用户的个性化使用需求,提高了用户管理日志的终端使用体验。

在一优选实施例中,该方法还包括步骤S270和步骤S280;步骤S270:当检测到来自第一容器系统的预定应用程序的日志清理指令时,第一容器系统的日志管理服务将日志清理指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志清理指令发送至第二容器系统的日志管理服务;步骤S280:各个容器系统及主控系统各自的日志管理服务,基于日志清理指令对其各自日志存储路径下的日志进行清理。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务Log Service和获取日志的相关服务,如图3中的slog服务。基于接收到各系统的日志存储路径,当第一容器系统OS1的操作系统为Android系统时,通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志清理指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志清理指令发送至第一容器系统OS1的Log Service,如图3中所示的步骤1,预定应用程序APP通过JNI调用Binder通信机制将日志清理指令发送至第一容器系统OS1的Log Service,当检测到来自第一容器系统OS1的预定应用程序APP的日志清理指令时,第一容器系统OS1的Log Service,将接收到的日志清理指令通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志清理指令发送至在主控系统的Log Service,如图3中所示的步骤3;随后,主控系统的Log Service将接收到的日志清理指令,通过预定SSAL接口将该日志清理指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service,如图3中所示的步骤5;各个容器系统及主控系统各自的Log Service,基于日志清理指令对其各自日志存储路径下的日志进行清理。

通过本实施例,实现了对多系统的终端设备中对各个容器系统及主控系统日志进行同步清理,进一步地,可通过一个系统对整个终端设备的多个系统的数据存储空间进行清理,提高了用户管理日志的终端使用体验。

图4为本发明中再另一实施例的多系统中管理日志的装置的结构示意图。

本发明的实施例中,各模块所执行的内容概述如下:发送模块410当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务;获取及发送模块420各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务;备份模块430主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

本发明的实施例中,提出了一种多系统中管理日志的装置,当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务,实现了同时向各个容器系统及主控系统发送日志获取指令,为统一获取各个容器系统及主控系统的日志提供了必要的前提保障;各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,之后,各个容器系统将各自的日志存储路径发送至主控系统的日志管理服务,实现了统一获取各个容器系统及主控系统的日志,同时,为统一对各个容器系统及主控系统的日志进行管理提供了必要的前提保障;主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份,实现了通过第一容器系统统一管理各个容器系统及主控系统的日志,解决了对同一终端设备中的多个操作系统的日志进行管理的问题,进一步地,可实现通过在一个系统中对多个作系统的日志统一执行获取操作,提高了用户获取日志的操作体验。以下针对各个模块的具体实现做进一步的说明:

发送模块410用于当检测到来自第一容器系统的预定应用程序的日志获取指令时,第一容器系统的日志管理服务将日志获取指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志获取指令发送至第二容器系统的日志管理服务。

优选地,主控系统的日志管理服务通过各个容器系统的日志管理服务在其日志管理服务中注册的回调函数,向各个容器系统的日志管理服务发送数据。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务(即Log Service)和获取日志的相关服务,其中,当第一容器系统OS1的操作系统为Android系统时,通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志获取指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志获取指令发送至第一容器系统OS1的Log Service,预定应用程序APP通过JNI调用Binder通信机制将日志获取指令发送至第一容器系统OS1的Log Service,当发送模块410检测到来自第一容器系统OS1的预定应用程序APP的日志获取指令时,第一容器系统OS1的Log Service向第一容器系统OS1的获取日志的相关服务,如第一容器系统OS1的slog服务,和主控系统的Log Service发送日志获取指令,随后,主控系统的Log Service将接收到的日志获取指令,通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志获取指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service。

获取及发送模块420用于各个容器系统及主控系统各自的日志管理服务,基于日志获取指令获取其各自的日志,并将获取到的各个容器系统的日志存储路径发送至主控系统的日志管理服务。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,当第一容器系统OS1的Log Service接收到预定应用程序APP发送的日志获取指令后,执行获取第一容器系统OS1的日志的操作,第一容器系统OS1的Log Service并将日志获取指令发送至主控系统的Log Service,主控系统根据其接收到的日志获取指令执行获取其日志的操作,主控系统在接收到日志获取指令的同时,主控系统的Log Service将日志获取指令发送至第二容器系统OS2的Log Service,第二容器系统OS2根据其接收到的日志获取指令执行获取其日志的操作,获取及发送模块420基于第一容器系统OS1和第二容器系统OS2已获取的各自对应的日志后,第一容器系统OS1和第二容器系统OS2通过其各自的Log Service将获取到的其各自的日志及其各自日志的存储路径发送至主控系统的Log Service,获取及发送模块420基于主控系统的slog服务已获取的主控系统的日志后,主控系统的slog服务将获取到的主控系统的日志及其日志的存储路径发送至主控系统的Log Service。

需要说明的是,第一容器系统OS1的预定存储路径可以根据第一容器系统OS1的日志存储路径来进行配置,在后续对主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份时,将主控系统及第二容器系统的日志在第一容器系统的日志存储路径下,或在与第一容器系统的日志存储路径相同的根目录的路径下进行备份;当不将第一容器系统OS1的预定存储路径发送至主控系统的Log Service或因传输故障等因素无法获取到第一容器系统OS1的日志存储路径的情况下,在后续对主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份时,将主控系统及第二容器系统的日志在预设的第一容器系统的预定存储路径下进行备份。因此,在本发明的实施例中,可以将第一容器系统OS1的预定存储路径发送至主控系统的Log Service,也可以不将第一容器系统OS1的预定存储路径发送至主控系统的Log Service,在此不做限定。

优选地,获取及发送模块420进一步包括发送单元、获取单元和第一反馈单元;发送单元用于各个容器系统及主控系统各自的日志管理服务将日志获取指令发送至各个容器系统及主控系统各自的日志获取服务;获取单元用于各个容器系统及主控系统各自的日志获取服务基于接收到的日志获取指令获取其各自系统的日志;第一反馈单元用于各系统日志获取完成后,各个容器系统及主控系统各自的日志获取服务将各系统的完成通知消息及各自的日志存储路径反馈至相应系统的日志管理服务。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,当第一容器系统OS1的Log Service接收到预定应用程序APP发送的日志获取指令后,通过预定socket通信通道将日志获取指令发送至第一容器系统OS1的日志获取服务,如第一容器系统OS1的slog服务,第一容器系统OS1的slog服务基于接收到的日志获取指令获取第一容器系统OS1的日志并对获取的日志进行打包,同时第一容器系统OS1的Log Service将日志获取指令发送至主控系统的Log Service,再由主控系统的Log Service通过预定socket通信通道将日志获取指令发送至主控系统的日志获取服务,如主控系统的slog服务,主控系统的slog服务基于接收到的日志获取指令获取主控系统的日志并对获取的日志进行打包,同时主控系统的Log Service通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数将日志获取指令发送至第二容器系统OS2的Log Service,第二容器系统OS2的Log Service通过预定socket通信通道将日志获取指令发送至第二容器系统OS2的日志获取服务,如第二容器系统OS2的slog服务,第二容器系统OS2的slog服务基于接收到的日志获取指令获取第二容器系统OS2的日志并对获取的日志进行打包。之后,第一容器系统OS1的系统日志获取完成后,第一容器系统OS1的slog服务通过预定socket通信通道将第一容器系统OS1的日志获取完成通知消息及其日志存储路径发送至第一容器系统OS1的Log Service;主控系统的系统日志获取完成后,主控系统的slog服务通过预定socket通信通道将主控系统的日志获取完成通知消息及其日志存储路径发送至主控系统的Log Service;第二容器系统OS2的系统日志获取完成后,第二容器系统OS2的slog服务通过预定socket通信通道将第二容器系统OS2的日志获取完成通知消息及其日志存储路径发送至第二容器系统OS2的Log Service。

备份模块430用于主控系统的日志管理服务基于第二容器系统及主控系统的日志存储路径,将主控系统及第二容器系统的日志在第一容器系统的预定存储路径下进行备份。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,基于主控系统、第一容器系统OS1和第二容器系统OS2已获取的各自对应的日志后,将获取到的各个容器系统的日志存储路径发送至主控系统的Log Service,备份模块430主控系统的Log Service基于第二容器系统OS2及主控系统的日志存储路径,从第二容器系统OS2及主控系统的日志存储路径下获取第二容器系统OS2及主控系统打包后的日志,并将获取的打包后的日志存储至第一容器系统OS1的预定存储路径下。

在一优选实施例中,备份模块430还包括第二反馈单元;第二反馈单元用于主控系统的日志管理服务通过第一容器系统的日志管理服务将备份存储完成消息反馈至预定应用程序,以生成日志获取完成提示信息。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,主控系统的Log Service将主控系统及第二容器系统OS2的打包后的日志在第一容器系统OS1的预定存储路径下进行备份后,主控系统的Log Service通过第一容器系统OS1的Log Service在主控系统的Log Service中预注册的回调函数将备份存储完成消息发送至第一容器系统OS1的Log Service,随后第二反馈单元通过第一容器系统OS1的Log Service将备份存储完成消息发送至第一容器系统OS1的预定应用程序APP,以生成日志获取完成提示信息,如“各系统已完成日志获取!”。

在一优选实施例中,该装置还包括配置指令发送模块和配置模块;配置指令发送模块用于当检测到来自第一容器系统的预定应用程序的日志配置指令时,第一容器系统的日志管理服务将日志配置指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志配置指令发送至第二容器系统的日志管理服务;配置模块用于各个容器系统及主控系统各自的日志管理服务,基于日志配置指令对其各自的日志文件参数进行配置。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务Log Service和获取日志的相关服务。当第一容器系统OS1的操作系统为Android系统时,通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志配置指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志配置指令发送至第一容器系统OS1的Log Service,预定应用程序APP通过JNI调用Binder通信机制将日志配置指令发送至第一容器系统OS1的Log Service,当检测到来自第一容器系统OS1的预定应用程序APP的日志配置指令时,第一容器系统OS1的Log Service,将接收到的日志配置指令,通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志配置指令发送至在主控系统的Log Service;随后,主控系统的Log Service将接收到的日志配置指令,通过预定SSAL接口将该日志配置指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service;各个容器系统及主控系统各自的日志管理服务,基于日志配置指令对其各自的日志文件参数进行配置,如配置各系统中日志文件的大小、日志文件的个数和日志的存储等级等参数。

通过本实施例,实现了对多系统的终端设备中,根据用户在各个容器系统及主控系统中的个性化使用需求,对各个容器系统及主控系统的日志保存的相关参数进行统一同步配置,进一步地,可通过一个系统对整个终端设备的多个系统同时进行日志管理配置,满足了用户的个性化使用需求,提高了用户管理日志的终端使用体验。

在一优选实施例中,该装置还包括清理指令发送模块和清理模块;清理指令发送模块用于当检测到来自第一容器系统的预定应用程序的日志清理指令时,第一容器系统的日志管理服务将日志清理指令发送至主控系统的日志管理服务,且主控系统的日志管理服务将接收到的日志清理指令发送至第二容器系统的日志管理服务;清理模块用于各个容器系统及主控系统各自的日志管理服务,基于日志清理指令对其各自日志存储路径下的日志进行清理。

例如,在多系统的终端设备A中,包括主控系统、第一容器系统OS1和第二容器系统OS2,各个容器系统及主控系统拥有各自的日志管理服务Log Service和获取日志的相关服务。基于接收到各系统的日志存储路径,当第一容器系统OS1的操作系统为Android系统时,清理指令发送模块通过如暗码操作的触发方式触发第一容器系统OS1的预定应用程序APP发送日志清理指令后,在JAVA层预定应用程序APP通过JNI调用预定的通信机制将日志清理指令发送至第一容器系统OS1的Log Service,预定应用程序APP通过JNI调用Binder通信机制将日志清理指令发送至第一容器系统OS1的Log Service,当检测到来自第一容器系统OS1的预定应用程序APP的日志清理指令时,第一容器系统OS1的Log Service,将接收到的日志清理指令通过预定通信通道,如socket通道,发送至预定的接口,如SSAL接口,并通过SSAL接口将该日志清理指令发送至在主控系统的Log Service;随后,主控系统的Log Service将接收到的日志清理指令,通过预定SSAL接口将该日志清理指令通过第二容器系统OS2的Log Service在主控系统的Log Service中预注册的回调函数发送至第二容器系统OS2的Log Service;清理模块各个容器系统及主控系统各自的Log Service,基于日志清理指令对其各自日志存储路径下的日志进行清理。

通过本实施例,实现了对多系统的终端设备中对各个容器系统及主控系统日志进行同步清理,进一步地,可通过一个系统对整个终端设备的多个系统的数据存储空间进行清理,提高了用户管理日志的终端使用体验。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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