掌桥专利:专业的专利平台
掌桥专利
首页

存储系统数据缩减业务日志管理方法及相关组件

文献发布时间:2023-06-19 09:51:02


存储系统数据缩减业务日志管理方法及相关组件

技术领域

本申请涉及存储系统技术领域,特别涉及存储系统数据缩减业务日志管 理方法、装置、设备及一种可读存储介质。

背景技术

伴随着信息产业化的发展,信息数据增速明显,需要存储的数据规模越 来越大,对存储设备的容量提出了更高的要求,数据缩减成为存储中重要的 业务内容,软件的设计复杂程度也在逐步增加,因此需要更加完善可用的日 志系统来保证长期稳定的数据缩减业务运行。

目前针对数据缩减业务是调用传统的日志记录,而传统的日志记录由于 设置为系统统一的日志收集规则,记录的节点项有限,数据项少,而数据缩 减业务复杂性高,且运行的重要程度高,导致目前记录的日志无法满足数据 缩减业务的日常维护以及故障处理需要。

因此,如何针对数据缩减业务设置完整且有效的日志系统,是本领域技 术人员急需解决的问题。

发明内容

本申请的目的是提供存储系统数据缩减业务日志管理方法,该方法针对 数据缩减业务设置了完整且有效的日志系统,可以实现数据缩减业务的业务 流程的优化;本申请的另一目的是提供存储系统数据缩减业务日志管理装置、 设备及一种可读存储介质。

为解决上述技术问题,本申请提供一种存储系统数据缩减业务日志管理 方法,包括:

向内存管理模块申请用于存储数据缩减业务日志的内存;

在数据缩减线程运行中,将数据缩减业务中的初始化配置信息、各IO操 作的IO业务数据以及业务性能统计循环写入至所述内存中;

当日志保存触发后,将所述内存中的日志保存至磁盘中。

可选地,所述存储系统数据缩减业务日志管理方法还包括:

将所述内存映射至主业务进程空间;

则相应地,当日志保存触发后,将所述内存中的日志保存至磁盘中,包 括:

当日志保存触发后,在所述主业务进程空间中获取共享的所述内存中记 录的日志信息;

将所述日志信息添加至磁盘中。

可选地,所述当日志保存触发后,在所述主业务进程空间中获取共享的 所述内存中记录的日志信息,包括:

接收到用户发起的日志保存指令后,在所述主业务进程空间中获取共享 的所述内存中记录的日志信息;

当检测到数据缩减业务执行过程出现异常后,在所述主业务进程空间中 获取共享的所述内存中记录的日志信息。

可选地,所述当检测到数据缩减业务执行过程出现异常后,在所述主业 务进程空间中获取共享的所述内存中记录的日志信息,包括:

当所述数据缩减线程检测到所述数据缩减业务产生软件故障后,收集异 常信息作为异常日志添加至所述内存中,在所述主业务进程空间中获取共享 的添加所述异常日志后的所述内存中记录的日志信息;

当所述主业务进程检测到所述数据缩减线程发送的IO在固定的时间内没 有处理完成,或未有响应,收集异常信息作为异常日志添加至所述内存中, 在所述主业务进程空间中获取共享的添加所述异常日志后的所述内存中记录 的日志信息。

可选地,所述当日志保存触发后,在所述主业务进程空间中获取共享的 所述内存中记录的日志信息,包括:

当日志保存触发后,通过MMAP在所述主业务进程空间中获取共享的所 述内存中记录的日志信息。

可选地,所述内存包括:通用业务内存和日志内存;所述日志内存包括: 配置日志、IO业务日志、性能统计日志;

则相应地,在数据缩减线程运行中,将数据缩减业务中的初始化配置信 息、各IO操作的IO业务数据以及业务性能统计循环写入至所述内存中,包 括:

在所述数据缩减业务的初始化过程中读取缩减业务的配置信息,将所述 配置信息写入至所述配置日志;

在所述数据缩减业务的执行过程中记录执行的所有IO操作,保存至所述 IO业务日志;

统计预设时间间隔内执行所述数据缩减业务时的业务执行性能,写入至 所述性能统计日志中;

当所述日志内存占满后,将新生成的日志循环写入所述日志内存。

本申请还提供了一种存储系统数据缩减业务日志管理装置,该装置包括:

内存申请单元,用于向内存管理模块申请用于存储数据缩减业务日志的 内存;

业务记录单元,用于在数据缩减线程运行中,将数据缩减业务中的初始 化配置信息、各IO操作的IO业务数据以及业务性能统计循环写入至所述内 存中;

日志存储单元,用于当日志保存触发后,将所述内存中的日志保存至磁 盘中。

可选地,所述存储系统数据缩减业务日志管理装置还包括:内存映射管 理单元,用于将所述内存映射至主业务进程空间;

则相应地,所述日志存储单元包括:

信息获取子单元,用于当日志保存触发后,在所述主业务进程空间中获 取共享的所述内存中记录的日志信息;

信息添加子单元,用于将所述日志信息添加至磁盘中。

本申请还提供了一种存储系统数据缩减业务日志管理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述的存储系统数据缩减业务 日志管理方法的步骤。

本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序, 所述程序被处理器执行时实现所述的存储系统数据缩减业务日志管理方法的 步骤。

本申请所提供的存储系统数据缩减业务日志管理方法中,对于数据缩减 任务采用独立的线程设计,调用内存响应数据缩减业务日志的写入需求,由 于数据缩减业务通过内存保存日志,数据写入速率快,且采用循环写入的日 志记录方式可以保障大量数据的快速写入,因此日志的管理对于数据缩减业 务基本没有性能的影响;当日志保存触发后,将数据缩减业务的日志保存到 磁盘中,根据收集的配置信息、各IO操作的IO业务数据以及业务性能统计信 息的全方位业务信息,记录内容丰富,可以满足对数据缩减线程的故障分析与定位、日常维护以及优化等需求,可以保障存储系统中数据缩减业务运行 的稳定性。

本申请还提供了存储系统数据缩减业务日志管理装置、设备及一种可读 存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种存储系统数据缩减业务日志管理方法的 流程图;

图2为本申请实施例提供的一种存储系统数据缩减业务日志管理装置的 结构框图;

图3为本申请实施例提供的一种存储系统数据缩减业务日志管理设备的 结构示意图。

具体实施方式

本申请的核心是提供存储系统数据缩减业务日志管理方法,该方法针对 数据缩减业务设置了完整且有效的日志系统,可以实现数据缩减业务的业务 流程的优化;本申请的另一核心是提供存储系统数据缩减业务日志管理装置、 设备及一种可读存储介质。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本申请保护的范围。

本申请提供一种存储系统数据缩减业务日志管理方法,请参考图1,图1 为本实施例提供的一种存储系统数据缩减业务日志管理方法的流程图,该方 法主要包括以下步骤:

步骤s110、向内存管理模块申请用于存储数据缩减业务日志的内存;

存储系统中包括:主业务线程、数据缩减线程以及内存管理模块,其中, 主业务线程实现存储系统的主要核心业务,数据缩减线程负责数据业务的缩 减,内存管理模块负责内存的管理。数据缩减任务采用独立的线程设计,通 过有名管道与主业务进程实现通信,两者通过FIFO进行通信。

本实施例中在正常的业务需求之外,再为数据缩减业务额外申请一块 (100M到1G)内存用于存储日志,以便数据缩减业务将自己业务的日志输 出到申请的日志内存中。由于为了保障数据缩减业务的正常运行以及持续优 化,需要采集大量日志数据,本实施例中调用内存来存储数据缩减业务日志 的内存,可以保证大数据量下数据的快速存储,从而提升日志管理速度。

步骤s120、在数据缩减线程运行中,将数据缩减业务中的初始化配置信 息、各IO操作的IO业务数据以及业务性能统计循环写入至内存中;

为了保障数据缩减业务的正常运行以及持续优化,需要采集大量数据缩 减的日志数据,本实施例中具体采集初始化配置信息(比如占用了多少内存, 调用了几个线程)、各IO操作的IO业务数据(比如打开卷,执行主机写入 操作)以及业务性能统计数据(比如压缩IO整体需要的时间,或一端时间内 IO压缩率),该些数据种类可以满足日常业务维护的需要。当然,也可以进 一步添加其他业务运行信息,本实施例中在此不做限定,可以根据实际业务 维护的需要进行设定。

为了保证有限的内存空间下的日志信息的持续录入,本实施例中日志采 用循环写入,即在存在空闲内存块时将收集的日志信息写入空闲内存块中, 若不存在空闲内存块,则依次覆盖写在已占用的内存(先入先覆盖)上,该 种日志写入方法下,可以保证整体较小的内存占用,同时保证内存中存储有 临近时间段的日志信息,方便查看。

为了方便对于内存中日志记录的管理以及查找,可以对内存进行分块管 理,每个区域存储对应类型的数据,可选地,一种内存的管理方式如下,将 内存分为通用业务内存和日志内存,其中,通用业务内存用于数据缩减业务 的业务处理占用,日志内存用于存储数据缩减业务在业务处理占用生成的日 志信息。而具体地,日志内存可以分为:配置日志、IO业务日志以及性能统 计日志;相应地,在数据缩减线程运行中,将数据缩减业务中的初始化配置 信息、各IO操作的IO业务数据以及业务性能统计循环写入至内存中的过程 具体包括:

(1)在数据缩减业务的初始化过程中读取缩减业务的配置信息,将配置 信息写入至配置日志;

(2)在数据缩减业务的执行过程中记录执行的所有IO操作,保存至IO 业务日志;

(3)统计预设时间间隔内执行数据缩减业务时的业务执行性能,写入至 性能统计日志中;

(4)当日志内存占满后,将新生成的日志循环写入日志内存。

本实施例中仅以上述内存的管理方式为例进行介绍,其他实现方式均可 参照本实施例的介绍,在此不再赘述。

步骤s130、当日志保存触发后,将内存中的日志保存至磁盘中。

本实施例中对于日志保存的触发方式不做限定,可以由人为手动触发, 也可以由程序自动控制触发,而后者具体可以由数据缩减线程触发,也可以 由其他业务线程(比如主业务线程)触发等。

在日志保存触发后,指示需要将内存中日志保存,以便于后续根据临近 的日志信息对数据缩减业务进行维护以及优化,本实施例中将内存中的日志 写入磁盘中,写入磁盘后的日志信息固定存储,方便相关技术人员在任意时 间段下的查看。而在将内存中的日志写入磁盘后,内存可以清空,也可以直 接执行循环写入,本实施例中对此不做限定。

基于上述介绍,本实施例提供的存储系统数据缩减业务日志管理方法中, 对于数据缩减任务采用独立的线程设计,调用内存响应数据缩减业务日志的 写入需求,由于数据缩减业务通过内存保存日志,数据写入速率快,且采用 循环写入的日志记录方式可以保障大量数据的快速写入,因此日志的管理对 于数据缩减业务基本没有性能的影响;当日志保存触发后,将数据缩减业务 的日志保存到磁盘中,根据收集的配置信息、各IO操作的IO业务数据以及业 务性能统计信息的全方位业务信息,记录内容丰富,可以满足对数据缩减线程的故障分析与定位、日常维护以及优化等需求,可以保障存储系统中数据 缩减业务运行的稳定性。

基于上述实施例,为便于数据缩减业务异常下的日志信息管理,可选地, 可以由主业务进程实现对于日志信息的存储管理,即由主业务进程将内存中 的日志保存到磁盘中。

具体地,在上述实施例的基础上,可以进一步执行以下步骤:

将内存映射至主业务进程空间;

则相应地,步骤s130当日志保存触发后,将内存中的日志保存至磁盘中, 具体可以包括以下步骤:

(1)当日志保存触发后,在主业务进程空间中获取共享的内存中记录的 日志信息;

(2)将日志信息添加至磁盘中。

主业务进程将数据缩减业务的日志存储空间映射到自己的内存访问空 间,将日志内存空间映射给主业务进程,为主业务线程赋予访问这块日志内 存的权限,(通过MMAP方式)实现内存的共享,当日志保存触发后,由于 主业务进程的运行稳定性远优于数据缩减业务进程,本实施例中通过主业务 进程将共享的日志内存空间写入到磁盘中,可以避免数据缩减业务异常导致 的数据存储失败,日志信息丢失等威胁数据缩减业务长期运行稳定性的情况 出现。其中,内存共享的实现可以通过MMAP实现,即当日志保存触发后, 在主业务进程空间中获取共享的内存中记录的日志信息的过程具体可以为: 当日志保存触发后,通过MMAP在主业务进程空间中获取共享的内存中记录 的日志信息,也可以以其他方式实现,本实施例中对此不做限定。

需要说明的是,由于申请的内存主要用于写入数据缩减业务的日志,而 不包括其他业务的日志,因此为保证日志信息的纯洁性,主业务可以设置只 有日志内存的读权限没有写入权限,从而保证内存中只有数据缩减有任务的 日志,方便管理。

上述实施例中对于日志保存触发的具体实现方式不做限定,本实施例中 以由主业务控制内存日志信息写入至磁盘为例,介绍几种触发方式下的实现 过程,可选地,当日志保存触发后,在主业务进程空间中获取共享的内存中 记录的日志信息的一种实现方式如下:

接收到用户发起的日志保存指令后,在主业务进程空间中获取共享的内 存中记录的日志信息;

当检测到数据缩减业务执行过程出现异常后,在主业务进程空间中获取 共享的内存中记录的日志信息。

以上日志保存触发包括两种触发方式,一是由用户手动触发(可以在任 意时间节点),二是在数据缩减业务出现异常时自动触发(业务异常后需要 进行异常修复),以上触发方式可以满足大多数使用场景下的日志读取需求, 本实施例中仅以上述两种触发方式为例进行介绍。

而其中,当检测到数据缩减业务执行过程出现异常可以由数据缩减进程 主动触发,即在数据缩减业务检测到自身业务的执行过程出现异常后触发, 也可以由其他任务进程触发,可选地,当检测到数据缩减业务执行过程出现 异常后,在主业务进程空间中获取共享的内存中记录的日志信息的具体实现 可以包括如下两个步骤:

当数据缩减线程检测到数据缩减业务产生软件故障后,收集异常信息作 为异常日志添加至内存中,在主业务进程空间中获取共享的添加异常日志后 的内存中记录的日志信息;

当主业务进程检测到数据缩减线程发送的IO在固定的时间内没有处理完 成,或未有响应,收集异常信息作为异常日志添加至内存中,在主业务进程 空间中获取共享的添加异常日志后的内存中记录的日志信息。

当数据缩减业务产生软件故障后,线程检测到进入异常流程,主动给主 业务进程发送收集日志的消息,主业务进程收到消息后,会将共享的日志内 存空间写入到磁盘中;主业务进程与数据缩减业务通过FIFO进行通信,当检 测到发送的IO在固定的时间内没有处理完成,或者未有响应,则可以认为数 据缩减线程可能存在异常,主业务线程可以主动触发数据的存储,将共享的 日志内存保存到磁盘中,保存的日志文件可分析数据缩减业务的业务流程, 用于分析数据缩减业务的异常原因,以保障数据缩减业务的持续运行。以上以数据缩减业务主动申请收集日志和主业务检测到通信异常后收集日志两种 情况为例进行介绍,其他情况下的触发均可参照上述介绍,在此不再赘述。

本实施例中提供的方法中提出通过共享内存的方式实现了数据缩减业务 日志内存的共享,当出现异常场景,主业务进程将数据缩减业务的日志保存 到磁盘中便于故障分析与定位,实现了独立的数据缩减线程日志的收集,即 使数据缩减业务故障,也可以保障日志的正常收集以及存储,保障了日志管 理的稳定性。

请参考图2,图2为本实施例提供的存储系统数据缩减业务日志管理装置 的结构框图;该装置主要包括:内存申请单元110、业务记录单元120以及日 志存储单元130。本实施例提供的存储系统数据缩减业务日志管理装置可与上 述存储系统数据缩减业务日志管理方法相互对照。

其中,内存申请单元110主要用于向内存管理模块申请用于存储数据缩 减业务日志的内存;

业务记录单元120主要用于在数据缩减线程运行中,将数据缩减业务中 的初始化配置信息、各IO操作的IO业务数据以及业务性能统计循环写入至 内存中;

日志存储单元130主要用于当日志保存触发后,将内存中的日志保存至 磁盘中。

可选地,存储系统数据缩减业务日志管理装置还包括:内存映射管理单 元,用于将内存映射至主业务进程空间;

则相应地,日志存储单元包括:

信息获取子单元,用于当日志保存触发后,在主业务进程空间中获取共 享的内存中记录的日志信息;

信息添加子单元,用于将日志信息添加至磁盘中。

本实施例提供一种存储系统数据缩减业务日志管理设备,主要包括:存 储器以及处理器。

其中,存储器用于存储程序;

处理器用于执行程序时实现如上述实施例介绍的存储系统数据缩减业务 日志管理方法的步骤,具体可参照上述存储系统数据缩减业务日志管理方法 的介绍。

请参考图3,为本实施例提供的存储系统数据缩减业务日志管理设备的结 构示意图,该存储系统数据缩减业务日志管理设备可因配置或性能不同而产 生比较大的差异,可以包括一个或一个以上处理器(central processing units, CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上 存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设 备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在 存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块 可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322 可以设置为与存储介质330通信,在存储系统数据缩减业务日志管理设备301 上执行存储介质330中的一系列指令操作。

存储系统数据缩减业务日志管理设备301还可以包括一个或一个以上电 源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出 接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上面图1所描述的存储系统数据缩减业务日志管理方法中的步骤可以由 本实施例介绍的存储系统数据缩减业务日志管理设备的结构实现。

本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行 时实现如上述实施例介绍的存储系统数据缩减业务日志管理方法的步骤,具 体可参照上述实施例中对存储系统数据缩减业务日志管理方法的介绍。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁 碟或者光盘等各种可存储程序代码的可读存储介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对 于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的 比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性 地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定 的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存 储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编 程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任 意其它形式的存储介质中。

以上对本申请所提供的存储系统数据缩减业务日志管理方法、装置、设 备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理 及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法 及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离 本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修 饰也落入本申请权利要求的保护范围内。

相关技术
  • 存储系统数据缩减业务日志管理方法及相关组件
  • 一种存储设备的日志管理方法、装置及相关组件
技术分类

06120112321999