电子系统中日志数据的管理的制作方法

文档序号:13982943阅读:170来源:国知局
电子系统中日志数据的管理的制作方法

本技术涉及用于操作电子系统以管理日志数据的方法和装置,特别地针对连接的计算设备的网络和相关联的联网的服务。这种相关联的联网的服务可以包括在一个或多个硬件设备上运行的软件组件。



背景技术:

工程师通常需要排除网络中的发生故障故障、被恶意干扰或错误配置的计算设备,并且执行许多其它调试活动(软件或硬件相关)。典型的操作包括从设备中检索日志,这需要电子连接性,诸如像通用串行总线电缆那样的直接连接或网络连接之类;从计算设备与其通信的联网服务检索日志;以及然后手动搜索匹配的日志条目以诊断问题。计算设备和服务可能受到软件和硬件或软件运营成本的限制,诸如像电力、存储器空间和通信可用性的所需资源的短缺之类,这可能导致性能问题和用于存储日志的过多的存储器消耗。在日志被收集之后,然后必须由管理员或系统程序员通常基于匹配互联网协议ip地址、任务标识符、时间戳或类似参数,来将日志条目与来自其它设备和服务的对应日志条目相关联。这种关联是手动的、缓慢的并且在经由网络地址转换(nat)设备连接的多个设备的情况下或者在设备同时执行多个事务的情况下尤其困难。



技术实现要素:

在针对记录中遇到的许多困难的第一方法中,所描述的技术提供了一种操作联网的服务的机器实现的方法,包括:建立与联网的计算设备的通信;通过所述联网的服务从所述联网的计算设备获取对至少一个资源的所述联网的计算设备的可用性的至少一个指示;通过所述联网的服务获取对至少一个资源的所述联网的服务的可用性的至少一个指示;分析多个所述指示,以确定用于将日志数据从所述联网的计算设备传输到所述联网的服务的最优时间和最优通信配置中的至少一个,其中所述最优时间和所述最优通信配置由对于所述联网的计算设备和所述联网的服务中的至少一个的资源可用性来确定;以及向所述联网的计算设备发送日志传输策略数据,以使得所述联网的计算设备能够选择用于符合所述策略数据地将所述日志数据传输到所述联网的服务的传输时间和通信配置中的至少一个。

附图说明

现在将仅通过示例的方式参考附图来描述所公开技术的实现,其中:

图1示出了其中可以实现当前描述的技术的记录布置;

图2示出了根据当前描述的技术的操作方法的示例;以及

图3示出了可根据当前描述的技术操作的电子设备的示例。

具体实施方式

在图1中,示出了其中可以实现当前描述的技术的记录(logging)布置100。记录布置100包括可操作地连接到一个或多个服务110的一个或多个计算设备102。服务110可以包括例如在单个服务器计算机上运行的一个或多个软件组件、在服务器计算机的网络上运行的一个或多个软件组件、或在网络(诸如例如网格或云计算布置之类)中布置的虚拟化设备上运行的一个或多个软件组件。计算设备102可以包括例如物联网(iot)设备(诸如联网的传感器)、消费者设备、智能家居系统、汽车系统等,其可以具有间歇的网络连接性或电源可用性(通常电池供电,有时候可能经受减少的电池充电水平)。计算设备102通常包括生成设备日志106的一个或多个客户端应用104,并且,由于这种设备通常是资源受约束的(例如,在存储器空间、处理能力、电力可用性和通信连接性方面),它们自己不能执行复杂的日志数据分析,并且因此日志数据在大小方面需要被限制,并被上传到通常约束较少的用于分析的服务。此外,计算设备102通常在存储器空间或可用于存储日志的附接存储装置方面收到约束,并且因此需要以频繁的间隔清除日志数据,以便不影响其性能以及最新日志信息在需要时的可用性。因此,计算设备102配备有上传组件108,所述上传组件108可操作以将日志数据上传到一个或多个服务110。服务110通常与计算设备102相结合地执行事务或任务,并且被提供有服务应用112,服务应用112自己生成存储在服务日志114中的服务日志数据。服务110配备有日志服务组件116,日志服务组件116包括设备日志收集组件118和服务日志收集组件120。日志服务器组件122可以被提供有使服务日志114和设备日志106经由i/o接口组件124可用的部件。

在图2中示出了机器实现的方法200,该方法以开始步骤202开始。在步骤204处,在图1的服务110和图1的一个或多个计算设备102之间建立通信。在步骤206处,服务获取操作环境数据,诸如资源可用性数据(或者用于图1的服务110或者用于图1的一个或多个计算设备102)。在步骤208处,服务分析操作环境数据,并且在步骤210处,确定用于图1的一个或多个计算设备102的日志数据上传策略。在步骤212处,服务将日志数据上传策略传送到图1的一个或多个计算设备102。然后,该过程或者循环回来以在步骤206处获取更多最新的操作环境数据或者在结束步骤214处结束。

在图3中示出了在如图1中所示的记录布置内和根据图2的方法的、根据本技术的一种实现的电子系统。在图3中示出了可操作地连接到联网的计算设备302和i/o接口组件320的网络服务300。联网的计算设备302包括设备资源可用性组件,所述设备资源可用性组件响应于网络服务300的询问经由通信组件318向数据获取组件312报告其资源可用性。网络服务300配备有服务资源可用性组件306,所述服务资源可用性组件306可操作以向数据获取组件312提供服务操作环境数据。数据获取组件312可操作以将数据传递到分析组件308,分析组件308分析来自网络服务300和联网的计算设备302中的至少一个的操作环境数据作为对策略生成器310的输入。策略生成器310将生成的策略传送到联网的计算设备302,以使得联网的计算设备302能够选择向网络服务300传送日志的时间和手段。可选地,数据获取组件312还可操作以与流标识符生成器314协作来生成流标识符,以使得日志流关联器316能够关联日志记录用于经由通信组件318输出到i/o接口组件320,作为对诊断的辅助。在替代方案中,联网的计算设备302自己可以包括流标识符生成器314以生成传送到网络服务300的流标识符。

当联网的计算设备与其它联网的计算设备或者与一个或多个服务共享工作负载时,发生典型的流关联活动。例如,当要记录的新执行流开始时(例如,当设备通电或当新事务开始时),生成flow-id。flow-id被插入到参与记录的执行流的任何设备处的所有日志记录中。然后,当需要分析针对执行流的日志时,可以通过匹配属于相同流的flow-id来关联来自参与设备的日志记录。一旦流的日志从多个日志记录中被重新组合,具有匹配的flow-id的所有记录就可以用于分析故障、性能、可靠性以及本领域已知的各种其它分析用途。

因此,本技术可根据从服务发送到设备的配置策略操作以从计算设备收集日志。策略可以基于在联网的计算设备、服务和通信信道中的一个或多个处的资源可用性。策略帮助计算设备确定何时上传日志以及在哪种网络连接类型上(例如或3g)。策略可以包括例如一天中的时间(例如2:00am)、所允许时间的范围、一个或多个排除的时间、间隔(例如每4小时)、或“背负(piggyback)”参数(例如,当发生与设备的其它通信时),以节省资源(诸如设备电池和连接费用之类),或避免与更高优先级或资源非常集中的工作负载的冲突。在创建策略时,还可以考虑其它资源,诸如在服务或计算设备处的存储器或外部存储空间或者通信信道的带宽之类。本技术可以通过询问设备来操作,以获取关于其资源的最新的个体信息或可概括的信息--例如,类别x中的一个设备或所有设备在一天中的某些时间可能趋于低电力、或者当美国东海岸醒来并且其许多居民登录以检查电子邮件时,网络y最繁忙、或者当设备正在处理一天结束时的数据库重组或下载并安装新的固件时设备存储器很可能被大量使用--这对联网的计算设备以及服务这两者都适用。此外,在服务处的诊断日志接收和分析通常必须被给予比正常用户事务工作负载更低的优先级,并且因此服务本身可能受到约束。当接收到资源信息时,服务可以分析累积的数据,并且创建例如帮助设备选择将日志数据发送到服务的时间或通信手段的设备策略或设备类别策略。

在一个实现中,设备配置可以由网络服务或通过其它手段来执行,例如由系统管理员或在生产时的设备制造商执行。设备配置可以除了别的之外将用于日志加密的密钥并入到联网的计算设备中。设备配置还可以包括管理例如设备上允许的日志大小和压缩手段的参数,所述压缩手段供联网的计算设备使用来压缩日志数据以进一步降低与其存储和传输相关联的资源成本。压缩手段可以包括例如通过诸如lempel-ziv-welch编码之类的方法的真实压缩,或者可以涉及利用由联网的计算设备和服务共享的固定查找表来进行编码。

设备配置还可以包括管理日志过滤布置以允许设备最小化在联网的计算设备上的存储、网络带宽和电池消耗的参数,其中这些资源通常极其稀缺。这种日志过滤器可以包括例如组件名称和记录的事件严重性级别,使得仅相关日志的子集将被保存在设备上或者经通信信道被传送。

在改善的方案中,服务可以是可操作的,以接受来自联网的计算设备的选择性加入(opt-in)信号,所述选择性加入信号指示接受符合所述策略数据的控制。选择性加入可以根据设备id或网络地址针对所有客户设备、指定设备,或者根据设备属性(诸如设备上配置的固件版本或类别性质之类)针对一组设备。

在当前描述的技术的实现中,在联网的计算设备处或在服务处的至少一个资源可以包括例如存储器或外部存储空间可用性、电力水平(诸如电池充电水平)、处理器可用性和通信容量与可用性。服务可以是可操作的,以发送配置数据,从而使联网的计算设备根据日志过滤器策略来过滤日志数据。这种日志过滤器策略可以基于例如组件名称和记录的事件严重性级别(例如,关键、错误、信息、调试),使得仅相关日志的子集将被保留在设备上或经通信信道被传送。

在改善的方案中,联网的服务可以被布置为生成要与联网的计算设备的至少一个执行流相关联的至少一个流标识符,联网的计算设备和服务可操作以通过将来自执行流的日志记录与至少一个流标识符相关联来识别日志数据的至少一个子集、从联网的计算设备接收日志数据的上传、以及根据至少一个流标识符来关联日志数据。

联网的服务可以是可操作的,以接受来自至少一个联网的计算设备的选择性加入信号,所述选择性加入信号指示接受符合所述策略数据的控制。

本技术可以被实现使得联网的服务可以包括虚拟设备,所述虚拟设备可以是例如多分区系统的本地分区,或者可以被分布用于例如在网格环境、云环境或任何其它分布式处理环境中的操作。

如本领域技术人员将理解的,本技术可以实施为系统、方法或计算机程序产品。因此,本技术可以采取完全硬件实施例、完全软件实施例或组合软件和硬件的实施例的形式。

此外,本技术可以采用在计算机可读介质中实施的计算机程序产品的形式,所述计算机可读介质具有实施在其上的计算机可读程序代码。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或者前述的任何合适组合。

用于执行本技术的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和常规的过程编程语言。

例如,用于执行本技术的操作的程序代码可以包括诸如c之类的常规编程语言(解释或编译)中的源、目的或可执行代码,或者汇编代码,用于设置或控制asic(专用集成电路)或fpga(现场可编程门阵列)的代码,或者诸如verilogtm或vhdl(超高速集成电路硬件描述语言)之类的硬件描述语言的代码。

程序代码可以完全在用户的计算机上、部分地在用户的计算机上并且部分地在远程计算机上或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机。代码组件可以实施为过程、方法等,并且可以包括可以采取从原生指令集的直接机器指令到高级编译或解释语言概念的任何抽象级别的指令或指令序列形式的子组件。

对于本领域技术人员还将清楚的是,根据本技术的实施例的逻辑方法的全部或部分可以适当地实施在包括用于执行方法的步骤的逻辑元件的逻辑装置中,并且这种逻辑元件可以包括诸如例如可编程逻辑阵列或专用集成电路中的逻辑门之类的组件。这种逻辑布置还可以实施在使用例如虚拟硬件描述符语言,使得能够在这种阵列或电路中临时或永久地建立逻辑结构的元件中,所述虚拟硬件描述符语言可以使用固定或可传送载体介质来存储和发送。

在一个替代方案中,本技术的实施例可以以部署服务的计算机实现的方法的形式实现,所述方法包括以下步骤:部署计算机程序代码,当所述计算机程序代码部署到计算机基础设施或网络中并在其上执行时,所述计算机程序代码可操作使所述计算机系统或网络执行所述方法的所有步骤。

在进一步的替代方案中,本技术的实施例可以以其上具有功能数据的数据载体的形式实现,所述功能数据包括功能计算机数据结构,当所述功能数据被加载到计算机系统或网络中并由此被操作时,使得所述计算机系统能够执行所述方法的所有步骤。

对于本领域技术人员将清楚的是,在不背离本技术的范围的情况下,可以对前述示例性实施例进行许多改进和修改。

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