一种SKB申请信息显示方法及装置

阅读: 评论:0

著录项
  • CN201711377007.5
  • 20171219
  • CN108052409A
  • 20180518
  • 杭州迪普科技股份有限公司
  • 郑磊
  • G06F11/07
  • G06F11/07 H04L29/06

  • 浙江省杭州市滨江区通和路68号中财大厦6楼
  • 浙江(33)
  • 北京博思佳知识产权代理有限公司
  • 林祥
摘要
本申请提供一种SKB申请信息显示方法,所述方法包括:当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用流程以及申请SKB时的系统时间;将获取到的SKB申请函数调用所需函数的调用流程以及申请SKB时的系统时间插入预设的链表中;获取用户配置的时间阈值;遍历获取链表中的每个SKB申请信息;将当前系统时间与每个SKB申请信息中申请SKB时的系统时间作差与时间阈值进行比较;在当前系统时间与每个SKB申请信息中申请SKB时的系统时间作差大于时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当前系统时间与每个SKB申请信息中申请SKB时的系统时间作差进行显示输出。
权利要求

1.一种SKB申请信息显示方法,其特征在于,所述方法包括:

当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用流程以及申请SKB时 的系统时间;

将获取到的所述SKB申请函数调用所需函数的调用流程以及申请SKB时的系统时间作 为SKB申请信息插入预设的链表中;

获取用户配置的时间阈值;

遍历获取所述链表中的每个SKB申请信息;

将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差与所述 时间阈值进行比较;

在当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差大于所 述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当前系统时间与所述 每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输出。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:

将所述SKB申请信息插入所述预设的链表的位置信息添加到所述申请的SKB中。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

当SKB释放函数释放SKB时,根据所述申请的SKB中添加的SKB申请信息插入预设的链表 的位置信息,从所述预设的链表中删除SKB释放函数释放的SKB所对应的SKB申请信息。

2.根据权利要/1所述的方法,其特征在于,所述预设的链表,包括:

预设的双向循环链表。

3.根据权利要求2所述的方法,其特征在于,所述当SKB申请函数申请SKB时,获取SKB申 请函数调用所需函数的调用流程以及申请SKB时的系统时间,包括:

当SKB申请函数申请SKB时,判断SKB申请信息显示开关是否打开;

在所述SKB申请信息显示开关打开的情况下,获取SKB申请函数调用所需函数的调用流 程以及申请SKB时的系统时间。

6.一种SKB申请信息显示装置,其特征在于,所述装置包括:

第一获取单元,用于当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用 流程以及申请SKB时的系统时间;

信息插入单元,用于将获取到的所述SKB申请函数调用所需函数的调用流程以及申请 SKB时的系统时间作为SKB申请信息插入预设的链表中;

第二获取单元,用于获取用户配置的时间阈值;

第三获取单元,用于遍历获取所述链表中的每个SKB申请信息;

比较单元,用于将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时 间作差与所述时间阈值进行比较;

信息显示单元,用于在当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系 统时间作差大于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当 前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输出。

7.根据权利要求6所述的装置,其特征在于,所述预设的链表,包括:

预设的双向循环链表。

8.根据权利要求7所述的装置,其特征在于,所述第一获取单元具体用于:

当SKB申请函数申请SKB时,判断SKB申请信息显示开关是否打开;

在所述SKB申请信息显示开关打开的情况下,获取SKB申请函数调用所需函数的调用流 程以及申请SKB时的系统时间。

9.根据权利要求6至8任一项所述的装置,其特征在于,所述装置还包括:信息添加单元

所述信息添加单元,用于将所述SKB申请信息插入所述预设的链表的位置信息添加到 所述申请的SKB中。

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:信息删除单元

所述信息删除单元,用于当SKB释放函数释放SKB时,根据所述申请的SKB中添加的SKB 申请信息插入预设的链表的位置信息,从所述预设的链表中删除SKB释放函数释放的SKB所 对应的SKB申请信息。

说明书
技术领域

本申请涉及计算机系统的内存管理,尤其涉及一种SKB申请信息显示方法及装置。

SKB(Socket Buffer,套接字缓存)是Linux系统TCP/IP协议栈关键数据结构,表示 接收或发送数据包的报头信息。SKB申请信息是SKB申请函数申请SKB时调用所需函数的调 用流程以及申请SKB时的系统时间。Linux系统中网络报文被存放在报文数据缓冲区内,每 个报文所在的报文数据缓冲区通过一个SKB来描述,SKB与数据缓冲区是一一对应的,总是 同时申请和同时释放。但是当网络报文发送、转发和接收时,不断的申请和释放SKB,需要不 断的为SKB申请和释放内存,如果相应的网络报文处理完毕,未释放SKB,这时也不会释放为 该SKB申请的内存,因此该SKB占用的内存不能被其它进程申请,造成了内存的泄漏,这种内 存泄漏称为SKB泄漏。内存泄漏会导致系统内存使用率一直上涨,最终内存不足导致系统内 核的自我保护机制杀死进程以此来释放内存。为此现在需要确定内存泄漏是否由未释放 SKB导致的内存泄漏,以及定位内存泄露的根源。

现有的技术方案是根据Linux系统proc目录下(Linux系统的一个虚拟文件系统) 的meminfo文件和slabinfo文件输出的信息人工观察内存使用情况,以确定是否存在SKB泄 露,在确定存在SKB泄露后,需要人工查看所有有关网络数据传输流程的程序代码,分析代 码可能出现SKB泄露的地方。正常情况下,由于SKB是动态申请和释放的,内存使用是时刻变 化的,根据Linux系统proc目录下的meminfo文件和slabinfo文件输出的信息人工观察内存 使用情况,很难确定是否存在SKB泄露,除非存在大量的SKB泄露,否则往往需要投入较多的 人力和精力去确定该问题;在确定为SKB泄露后,由于网络数据传输流程复杂多变,需要投 入大量时间和精力去分析程序代码,且需要多次尝试运行操作系统进行验证才能定位SKB 泄露的根源。

有鉴于此,本申请提供一种SKB申请信息显示方法及装置。

具体地,本申请是通过如下技术方案实现的:

一种SKB申请信息显示方法,所述方法包括:

当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用流程以及申请 SKB时的系统时间;

将获取到的所述SKB申请函数调用所需函数的调用流程以及申请SKB时的系统时 间作为SKB申请信息插入预设的链表中;

获取用户配置的时间阈值;

遍历获取所述链表中的每个SKB申请信息;

将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差与 所述时间阈值进行比较;

在当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差大 于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当前系统时间与 所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输出。

一种SKB申请信息显示装置,所述装置包括:

第一获取单元,用于当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的 调用流程以及申请SKB时的系统时间;

信息插入单元,用于将获取到的所述SKB申请函数调用所需函数的调用流程以及 申请SKB时的系统时间作为SKB申请信息插入预设的链表中;

第二获取单元,用于获取用户配置的时间阈值;

第三获取单元,用于遍历获取所述链表中的每个SKB申请信息;

比较单元,用于将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系 统时间作差与所述时间阈值进行比较;

信息显示单元,用于在当前系统时间与所述每个SKB申请信息所包含的申请SKB时 的系统时间作差大于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以 及当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输 出。

通过本申请的技术方案,根据SKB申请函数调用所需函数的调用流程以及当前系 统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差得到的时间差,快速确 定是否存在SKB泄露,以及SKB泄露的根源。

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附 图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于 本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请一示例性实施例示出的SKB申请信息显示方法的一种实施流程图;

图2是本申请一示例性实施例示出的SKB申请函数调用所需函数的调用流程示意 图;

图3是本申请一示例性实施例示出的双向循环链表示意图;

图4是本申请一示例性实施例示出的SKB申请信息显示方法的一种优选实施流程 图;

图5是本申请一示例性实施例示出的SKB申请信息显示装置的一种结构示意图。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当…… 时”或“响应于确定”。

首先对本申请实施例提供的一种SKB申请信息显示方法进行说明,该方法可以包 括以下步骤:

当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用流程以及申请 SKB时的系统时间;

将获取到的所述SKB申请函数调用所需函数的调用流程以及申请SKB时的系统时 间作为SKB申请信息插入预设的链表中;

获取用户配置的时间阈值;

遍历获取所述链表中的每个SKB申请信息;

将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差与 所述时间阈值进行比较;

在当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差大 于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当前系统时间与 所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输出。

在背景技术中提到,根据Linux系统proc目录下的meminfo文件和slabinfo文件输 出的信息人工观察内存使用情况,以确定是否存在SKB泄露,在确定存在SKB泄露后,需要人 工查看所有有关网络数据传输流程的程序代码,分析代码可能出现SKB泄露的地方。由于 SKB是动态申请和释放的,内存使用是时刻变化的,根据Linux系统proc目录下的meminfo文 件和slabinfo文件输出的信息人工观察内存使用情况,很难确定是否存在SKB泄露,除非存 在大量的SKB泄露,否则往往需要投入较多的人力和精力去确定该问题;在确定为SKB泄露 后,由于网络数据传输流程复杂多变,需要投入大量时间和精力去分析程序代码,且需要多 次尝试运行操作系统进行验证才能定位SKB泄露的根源。基于以上问题,本申请提出了一种 技术方案,通过输出的SKB申请信息,可以快速的确定是否存在SKB泄露,以及SKB泄露的根 源。

具体的在SKB申请信息显示输出的过程中,当SKB申请函数申请SKB时,判断SKB申 请信息显示开关是否打开;在所述SKB申请信息显示开关打开的情况下,获取SKB申请函数 调用所需函数的调用流程以及申请SKB时的系统时间;将获取到的所述SKB申请函数调用所 需函数的调用流程以及申请SKB时的系统时间作为SKB申请信息插入预设的双向循环链表 中,将所述SKB申请信息插入所述预设的链表的位置信息添加到所述申请的SKB中,当SKB释 放函数释放SKB时,根据所述申请的SKB中添加的SKB申请信息插入预设的链表的位置信息, 从所述预设的链表中删除SKB释放函数释放的SKB所对应的SKB申请信息;获取用户配置的 时间阈值,其中时间阈值可以动态调整;遍历所述双向循环链表中的每个SKB申请信息,将 当前系统时间减去每个SKB申请信息中包含的申请SKB时的系统时间得到的时间差与所述 时间阈值进行比较;在当前系统时间减去每个SKB申请信息中包含的申请SKB时的系统时间 得到的时间差大于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程,以及 当前系统时间减去每个SKB申请信息中包含的申请SKB时的系统时间得到的时间差进行显 示输出。为了对本申请进一步说明,提供下列实施例:

如图1所示,为本申请SKB申请信息显示方法的一种实施流程图,其具体可以包括 以下步骤:

S101,当SKB申请函数申请SKB时,获取SKB申请函数调用所需函数的调用流程以及 申请SKB时的系统时间;

在一实施例中,在背景技术中提到,SKB(Socket Buffer,套接字缓存)是Linux系 统TCP/IP协议栈关键数据结构,表示接收或发送数据包的报头信息。Linux系统中需要将网 络报文存放在报文数据缓冲区内,每个报文所在的报文数据缓冲区通过一个SKB来描述, SKB与数据缓冲区是一一对应的,总是同时申请和同时释放。当网络报文发送、转发和接收 时,不断的申请和释放SKB。而在申请SKB的过程中,使用_alloc_skb申请函数来申请SKB。当 使用_alloc_skb申请函数申请SKB时,需要判断SKB申请信息显示开关是否打开;在所述SKB 申请信息显示开关打开的情况下,获取所述SKB申请函数调用所需函数的调用流程以及申 请SKB时的系统时间。例如在使用_alloc_skb申请函数申请SKB1时,且SKB申请信息显示开 关已经打开,则需要获取SKB1申请函数调用所需函数的调用流程,其中SKB1申请函数调用 所需函数的调用流程如图2所示,以及申请SKB1时的系统时间,其中申请SKB1时的申请时间 使用Linux系统中的jiffies参数进行记录,jiffies参数代表了从系统启动到现在总共的 时钟中断次数,jiffies/HZ表示从系统启动到现在总共经过的时间,单位为秒,其中本方案 默认采用毫秒精度,因此jiffies/HZ*1000。申请SKB1时的系统时间可以记为jiffiesOld, SKB1申请函数调用所需函数的调用流程可以用stackskb来表示。

S102,将获取到的所述SKB申请函数调用所需函数的调用流程以及申请SKB时的系 统时间作为SKB申请信息插入预设的链表中;

在一实施例中,将获取到的所述SKB申请函数调用所需函数的调用流程以及申请 SKB时的系统时间作为SKB信息插入预设的双向循环链表中。所谓双向循环链表是将表头结 点的前驱指针指向尾节点,尾节点的后驱指针指向头结点,首尾相连形成一个双向环,其示 意图如图3所示。例如上述所说的SKB申请函数申请SKB1时,获取到的所述SKB申请函数调用 所需函数的调用流程stackskb以及申请SKB1时的系统时间jiffiesOld1,其中申请SKB1时 的系统时间jiffiesOld1精确到毫秒,将上述信息作为SKB申请信息插入到所述双向循环链 表中。

S103,获取用户配置的时间阈值;

在一实施例中,在设备中,有某些应用程序在设备启动时就申请SKB,并且不会被 释放。为此需要动态配置时间阈值,避免一些因某些应用程序在设备启动时申请的SKB被误 认为是造成SKB泄露的SKB。根据用户配置的时间阈值,可以有选择的将SKB申请信息显示输 出,其中时间阈值可以根据实际情况而定,并且时间阈值的精确度也需要精确到毫秒。例如 获取用户配置的时间阈值为1000ms。

S104,遍历获取所述链表中的每个SKB申请信息;

在一实施例中,遍历获取双向循环链表中的每个SKB申请信息。例如双向循环链表 中存有三个SKB申请信息,分别为SKB1申请信息,SKB2申请信息,SKB3申请信息。获取上述三 个SKB申请信息,即获取SKB1申请信息中的SKB申请函数调用所需函数的调用流程 stackskb1,申请SKB1时的系统时间为jiffiesOld1,SKB2申请信息中的SKB申请函数调用所 需函数的调用流程stackskb2,申请SKB2时的系统时间为jiffiesOld2,SKB3申请信息中的 SKB申请函数调用所需函数的调用流程stackskb,申请SKB3时的系统时间为jiffiesOld3。

S105,将当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作 差与所述时间阈值进行比较;

在一实施例中,将当前系统时间减去所述每个SKB申请信息所包含的申请SKB时的 系统时间得到的时间差与所述时间阈值进行比较。例如上述所说的双向循环链表中存在三 个SKB申请信息,在获取到所述三个SKB申请信息后,获取到申请SKB1时的系统时间 jiffiesOld1,申请SKB2时的系统时间jiffiesOld2,申请SKB3时的系统时间jiffiesOld3, 并且将当前系统时间记为jiffiesNow。将当前系统时间jiffiesNow减去申请SKB1时的系统 时间jiffiesOld1得到的时间差记为差值1,将当前系统时间jiffiesNow减去申请SKB2时的 系统时间jiffiesOld2得到的时间差记为差值2,将当前系统时间jiffiesNow减去申请SKB3 时的系统时间jiffiesOld3得到的时间差记为差值3。其中jiffiesOld1、jiffiesOld2、 jiffiesOld3,以及当前系统时间jiffiesNow精确度都是ms,可以直接作差,时间差差值1、 差值2、差值3和时间阈值的精确度同样都为ms,可以直接进行比较。将时间阈值分别与差值 1、差值2、差值3进行比较。

S106,在当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作 差大于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用流程以及当前系统时 间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行显示输出。

在一实施例中,在当前系统时间jiffiesNow与所述每个SKB申请信息所包含的申 请SKB时的系统时间jiffiesOld作差大于所述时间阈值的情况下,将SKB申请函数调用所需 函数的调用流程,以及当前系统时间jiffiesNow与所述每个SKB申请信息所包含的申请SKB 时的系统时间jiffiesOld作差进行显示输出。例如上述所说的得到的三个时间差差值1、差 值2、差值3与时间阈值进行比较,假设差值1和差值2大于时间阈值,差值3小于时间阈值,其 中对于时间差差值等于时间阈值的情况,可以根据实际情况划分,既可以划分到时间差差 值大于时间阈值的情况下,也可以划分到时间差差值小于时间阈值的情况下。经过对比,差 值1和差值2大于时间阈值,则将SKB申请函数调用所需函数的调用流程stackskb1以及当前 系统时间jiffiesNow减去申请SKB1时的系统时间jiffiesOld1得到的时间差差值1进行显 示输出,同时将SKB申请函数调用所需函数的调用流程stackskb2以及当前系统时间 jiffiesNow减去申请SKB2时的系统时间jiffiesOld2得到的时间差差值2进行显示输出。

在本申请的优选实施例中,可以进一步增加如下步骤,如图4所示:

S107,将所述SKB申请信息插入所述预设的链表的位置信息添加到所述申请的SKB 中;

在一实施例中,将申请SKB时的系统时间jiffiesOld和SKB申请函数调用所需函数 的调用流程stackskb作为SKB申请信息插入到双向循环链表中,其中插入的位置信息记为 flag,在申请的SKB中添加一个字段,用于记录插入的位置信息flag。

S108,当SKB释放函数释放SKB时,根据所述申请的SKB中添加的SKB申请信息插入 预设的链表的位置信息,从所述预设的链表中删除SKB释放函数释放的SKB所对应的SKB申 请信息。

在一实施例中,当SKB释放函数释放SKB时,例如上述所说的SKB释放函数释放SKB1 时,根据所述申请的SKB1中添加的SKB申请信息插入双向循环链表的位置信息flag,从双向 循环链表中删除即将释放的SKB1所对应的SKB申请信息。

通过以上步骤,根据输出的SKB申请函数调用所需函数的调用流程以及当前系统 时间减去所述每个SKB申请信息所包含的申请SKB时的系统时间得到的时间差差值,可以快 速确定是否存在SKB泄露,以及可以快速定位SKB泄露的根源。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在 执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘 等各种可以存储程序代码的介质。

与前述SKB申请信息显示方法的实施例相对应,本申请还提供了SKB申请信息显示 装置的实施例。如图5所示包括第一获取单元200、信息插入单元210、第二获取单元220、第 三获取单元230、比较单元240、信息显示单元250。

所述第一获取单元200,用于当SKB申请函数申请SKB时,获取SKB申请函数调用所 需函数的调用流程以及申请SKB时的系统时间;

所述信息插入单元210,用于将获取到的所述SKB申请函数调用所需函数的调用流 程以及申请SKB时的系统时间作为SKB申请信息插入预设的链表中;

所述第二获取单元220,用于获取用户配置的时间阈值;

所述第三获取单元230,用于遍历获取所述链表中的每个SKB申请信息;

所述比较单元240,用于将当前系统时间与所述每个SKB申请信息所包含的申请 SKB时的系统时间作差与所述时间阈值进行比较;

所述信息显示单元250,用于在当前系统时间与所述每个SKB申请信息所包含的申 请SKB时的系统时间作差大于所述时间阈值的情况下,将SKB申请函数调用所需函数的调用 流程以及当前系统时间与所述每个SKB申请信息所包含的申请SKB时的系统时间作差进行 显示输出。

在本申请的一种具体实施方式中,所述预设的所述预设的链表,包括:

预设的双向循环链表。

在本申请的一种具体实施方式中,所述第一获取单元200具体用于:

当SKB申请函数申请SKB时,判断SKB申请信息显示开关是否打开;

在所述SKB申请信息显示开关打开的情况下,获取SKB申请函数调用所需函数的调 用流程以及申请SKB时的系统时间。

在本申请的一种具体实施方式中,所述装置还包括:信息添加单元260

所述信息添加单元260,用于将所述SKB申请信息插入所述预设的链表的位置信息 添加到所述申请的SKB中。

在本申请的一种具体实施方式中,所述装置还包括:信息删除单元270

所述信息删除单元270,用于当SKB释放函数释放SKB时,根据所述申请的SKB中添 加的SKB申请信息插入预设的链表的位置信息,从所述预设的链表中删除SKB释放函数释放 的SKB所对应的SKB申请信息。

上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程, 在此不再赘述。

对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可以理解并实施。

本申请可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。

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

本文发布于:2023-04-12 20:16:06,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/86031.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图