一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

计算系统监视方法和装置、计算设备和可读存储介质与流程

2022-06-11 23:04:18 来源:中国专利 TAG:


1.本发明涉及计算系统监视技术领域,尤其涉及一种计算系统监视方法和装置、计算设备和可读存储介质。


背景技术:

2.任务管理器是操作系统发行版本中一个重要的功能,当用户系统出现卡顿、应用程序不响应的时候可以通过快捷键(ctrl alt del)进入系统任务管理器查看当前系统中应用程序的cpu占用情况、内存使用情况,初步对系统的运行有整理的了解。
3.目前任务管理器通用的技术是通过内核/proc文件系统提供的信息去获取cpu/mem/net/fs子系统相关的硬件信息。缺点是一般系统监视器信息获取不够及时和丰富,不能够动态、全面描绘当前系统核心硬件工作负载运行图景,显示信息内容不够丰富细致,展示信息相对静态,不能直观及时反映系统动态运行状态。


技术实现要素:

4.为此,本发明提供了一种计算系统监视方法和装置、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
5.根据本发明的一个方面,提供了一种计算系统监视方法,包括:扫描插件模块下包含的功能脚本,所述功能脚本是提前编写好用来实现计算系统前端功能的底层脚本且被置于所述插件模块下;将所述功能脚本转换成目标代码,并传送至代理模块,所述代理模块位于计算系统内,用于接收目标代码并将目标代码传送至内核子系统、且从内核子系统接收返回结果;通过所述代理模块将所述目标代码注入到内核子系统,以用于追踪内核子系统;通过所述代理模块接收内核子系统的返回结果;显示内核子系统的返回结果。
6.根据本发明另一方面,提供一种计算系统监视装置,包括:扫描模块,用于扫描插件模块下包含的功能脚本,所述功能脚本是提前编写好用来实现计算系统前端功能的底层脚本且被置于所述插件模块下;转换模块,用于将所述功能脚本转换成目标代码,并传送至代理模块;代理模块,用于将所述目标代码注入到内核子系统,以用于追踪内核子系统,并接收内核子系统的返回结果;显示模块,用于显示内核子系统的返回结果。
7.根据本发明另一方面,提供一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行上述计算系统监视方法。
8.根据本发明另一方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述计算系统监视方法。
9.根据本发明技术方案,可以多角度动态直观地及时了解当前系统动态运行图景,是系统管理、问题定位、系统分析的有力辅助工具。
附图说明
10.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
11.图1示出了根据本发明一个实施例的计算设备100的示意图;
12.图2示出了根据本发明一个实施例的计算系统监视方法200的流程图。
13.图3示出了根据本发明一个实施方式的整体架构图。
14.图4示出在cpu调度信息方面应用本发明实施方式的方法获得的有益技术效果。
15.图5示出了在抓取进程创建方面应用本发明实施方式的方法获得的有益技术效果。
16.图6示出了在系统负载监控方面应用本发明实施方式的方法获得的有益技术效果。
17.图7示出根据本发明实施方式的计算系统监视装置700的示意性框图。
具体实施方式
18.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
19.针对现有系统监视器信息获取不够及时和丰富,不能够动态、全面描绘当前系统核心硬件工作负载运行图景的问题,本发明提供了一种计算系统监视方法,可以多角度动态直观地及时了解当前系统动态运行图景。
20.本发明的计算系统监视方法在计算设备中执行。计算设备可以是任意具有存储和计算能力的设备,其例如可以实现为服务器、工作站等,也可以实现为桌面计算机、笔记本计算机等个人配置的计算机,或者实现为手机、平板电脑、智能可穿戴设备、物联网设备等终端设备,但不限于此。
21.图1示出了根据本发明一个实施例的计算设备100的示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的计算系统监视方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的计算系统监视方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
22.如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
23.取决于期望的配置,处理器104可以是任何类型的处理器,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
24.取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器ram,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是linux、windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境ide、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
25.在计算设备100启动运行时,处理器104会从存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。
26.计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
27.计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
28.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
29.在根据本发明的计算设备100中,应用122包括用于执行本发明的计算系统监视方法200的指令,该指令可以指示处理器104执行本发明的计算系统监视方法200。图2示出了根据本发明一个实施例的计算系统监视方法200的流程图。方法200在计算设备(例如前述计算设备100)中执行,以实现基于内核动态追踪技术的系统监视器实现方案。
30.下面在linux应用环境下描述本发明实施方式。随着国产信创产业的发展,基于linux的桌面发行版应用越来越广泛。近年来ebpf(扩展的伯克利包过滤器)技术得到了迅速的发展,目前应用比较广泛的前端工具包括bcc(bpf编译器集合)和bpftrace(linux的新开源跟踪程序,用于分析生产性能问题和故障排除软件),基于网络场景应用包括cilium(一种开放源码软件,用于透明地提供和保护使用kubernetes、docker和mesos等linux容器管理平台部署的应用程序服务之间的网络和api连接)等。
31.在linux操作系统环境下描述本发明,然而应当理解,本发明的计算系统监视方法并不受限于执行该方法的操作系统的具体种类,本领域技术人员都能理解该方法同样能在其他种类的操作系统,例如windows操作系统上实现,而不需要付出创造性的劳动。任何能通过本发明的方法来实现计算系统监视方法的操作系统的种类均在本发明的保护范围之内。
32.如图2所示,方法200包括:
33.s210,扫描插件模块下包含的功能脚本,所述功能脚本是提前编写好用来实现计算系统前端功能的底层脚本且被置于所述插件模块下。
34.前端功能比如可以是“获取cpu调度信息”、“抓取exec创建的进程”、“获取系统负载变化”、“获取磁盘读写情况”、“获取网络上数据包收发情况”等。
35.每个前端功能都可以对应于插件模块内的一个python脚本或c语言脚本。该python脚本或c语言脚本是提前编写好用来实现前端功能的底层脚本,且分别被置入计算系统内的bcc插件模块或ebpf插件模块。根据本发明实施方式,通过如下方式实现前端功能:扫描bcc插件模块下的python脚本或扫描ebpf插件模块下的c语言脚本,将其编译成二进制代码,并注入至内核中,以追踪内核子系统的运行状况。也就是说,bcc插件模块提供了基于python脚本的bpf前端功能实现,ebpf插件模块提供基于c语言的bpf前端功能实现。
36.步骤s210可以由插件模块内的扫描模块(bpfscan)完成。图3示出了根据本发明一个实施方式的整体架构图。在图3中,如图左下侧所示,插件模块内包含扫描模块。该扫描模块扫描插件模块下包含的功能脚本(bcc功能脚本或ebpf功能源文件)。
37.该扫描是可配置的:方法200可以选定脚本,扫描时仅能扫描到选定的脚本。实践中,可以通过以下方式来实现:作为前端显示的ui(用户界面)显示模块的数据采集控制部分(如图3所示)可以对当前系统运行动态追踪脚本进行实时调节。比如插件模块内一共有4个脚本,通过数据采集控制部分选定了2个脚本,那么扫描模块仅能扫描到该2个脚本。
38.s220,将所述功能脚本转换成目标代码,并传送至代理模块。
39.该步骤可以调用llvm编译器来执行。llvm是构架编译器(compiler)的框架系统,以c 编写而成,用于优化以任意程序语言编写的程序的编译时间、链接时间、运行时间以及空闲时间,对开发者保持开放,并兼容已有脚本。
40.在本文示例应用环境下,llvm将各功能脚本进行单独转换,且转换成二进制代码,称之为bpf目标代码。然后,该bpf目标代码被传送至代理(agent)模块。
41.代理模块是为了实现特定功能在计算系统内自定义的逻辑模块。在本实施方式中,代理模块主要实现两个功能,如图3所示,一是将目标代码注入到内核,从而实现对内核子系统的动态追踪(如步骤s230所述);二是接收内核子系统的返回结果(如步骤s240所述)。
42.s230,通过所述代理模块将所述目标代码注入到内核子系统,以用于跟踪内核子系统。
43.在该步骤,具体地,代理模块可以通过bpf_load系统调用接口将bpf目标代码注入到内核,来实现对内核子系统的动态追踪。其中,bpf_load系统调用接口是用于向内核提供通道的接口,通过该接口能够把代码注入到正在运行的内核中。
44.内核子系统代表内核的不同功能模块。如果希望得到cpu调度情况,就将目标代码注入到调度子系统,具体地可以注入到其函数接口中;如果希望查看内存运行情况,就将目标代码注入到内存子系统的在运行的函数接口中;如果希望查看文件系统,就将目标代码注入到文件系统的函数接口。
45.将目标代码注入到相应内核子系统中后,通过目标代码的运行以及根据内核子系统的返回结果,可以比如查看当前有哪些调度在cpu的运行队列上,有哪些应用在申请内存,有哪些应用在访问磁盘文件,以及哪些网络子系统在收发数据等。
46.s240,通过所述代理模块接收内核子系统的返回结果。
47.内核子系统的返回结果根据提取的信息不同而不同。比如希望获取运行队列长度,那么返回结果就是一组整数。
48.在通过代理模块接收到内核子系统的返回结果后,还可以将该返回结果发送至数据库模块。发送至数据模块便于节省前端存储空间,便于将数据组织、管理起来。因此,方法200还可以包括:初始化数据库模块的数据库文件,在初始化了数据库文件之后,会自动建立数据库的接口,可以通过该接口向数据库传递数据,也可以从数据库提取数据。
49.在这种情况下,在建立数据库文件之后,可以对数据库进行管理,具体地是设定获取数据库中数据的频率。如图3所示,可以通过ui模块对数据库进行管理,比如通过ui界面让用户选择获取数据库中数据的频率。
50.在一个可选实施方式中,数据库模块是时序数据库模块,且在将所述返回结果发送至数据库模块之前,先对所述返回结果进行格式化处理,以对标所述时序数据库模块的要求。应理解,采用的数据库不同,格式化处理也相应地不同。且在采用某些不需要特殊格式的数据库模块的情况下,并不需要进行格式化处理。
51.在一个实施方式中,时序数据库模块可以采用influxdb数据库模块。influxdb(时序数据库)是一个由influxdata开发的开源时序型数据,着力于高性能地查询与存储时序型数据。influxdb被广泛应用于存储系统的监控数据,iot行业的实时数据等场景。时序型数据库infuxdb保证数据的时序存储,提供历史数据检索的功能和采集精度的控制接口。采集精度指的是间隔多久采集一次数据,而infuxdb提供有访问自身的接口,通过该接口可以填写参数,来控制采集精度。
52.应理解,还可以采用其他数据库比如sqlite数据库。本发明在此不受限制。
53.s250,显示内核子系统的返回结果。
54.返回结果可以存储在前端逻辑中,也可以存储在数据库中。在存储在数据库中的情况下,步骤s250包括:显示从数据库模块提取的数据。该步骤可以通过ui显示模块来执行。具体地,ui显示模块调用数据库接口,以从influxdb获取数据。ui显示模块可以基于qt来展示存储在比如influxdb时序数据库中的数据。qt是跨平台c 图形用户界面应用程序开发框架。它既可以开发gui程序,也可用于开发非gui程序,比如控制台工具和服务器。qt
是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(meta object compiler,moc))以及一些宏,qt很容易扩展,并且允许真正的组件编程。
55.ui显示模块可以提供数据展示的常见形式的插件库(比如直方图、折线、仪表盘等),以各种形式来展示时序数据库中的数据。
56.另外,还可以对数据库中的数据执行检索算法处理,以进一步为系统问题定位提供策略支持。检索算法可以与检索单位有关,比如是以分钟/秒/小时执行检索;也可以与检索维度有关,比如是以cpu负载为关键字检索等。即,所谓的检索算法,与检索的频率、关键字以及对数据的处理相关,这取决于相关联的功能脚本。
57.比如通过执行检索算法处理,确认了比如一分钟内cpu调度了多少次,从而可以通过时间控制来反映系统的负载状况。在负载过高的情况下,可以告警。除此之外,通过执行检索算法处理,还可以追踪其他内核子系统的状态。
58.如图3所示,ui显示模块包含显示插件模块、数据查询模块、数据库配置管理模块和数据采集功能控制模块。其中,显示插件模块可以负责提供数据展示的常见形式的插件库,数据查询模块负责调用数据库接口从数据库获取数据,数据库配置管理模块提供对历史数据的检索算法处理,数据采集控制模块可以用于选择要运行的脚本,从而对当前系统运行动态追踪脚本进行实时调节。
59.图4示出在cpu调度信息方面应用本发明实施方式的方法获得的有益技术效果。如图4所示,可以对cpu子系统功能进行丰富立体的展示,可以提供当前cpu利用率(二级目录中的cpuutilize)、cpu运行队列长度(runqlen)、调度器延时(runqlat)等细微信息。图4中的峰值说明调度延迟时间比较久,等待队列的比较多。
60.图5示出了在抓取进程创建方面应用本发明实施方式的方法获得的有益技术效果。如图5所示,根据本发明实施方式的方法可以跟踪系统中通过exec系统调用(用于启动进程)快速创建的进程信息。在传统技术中该进程信息通过一般的监视是抓取不到的,用户也感知不到。根据本发明实施方式,能够快速抓取该进程信息,这样可以提供更精确了解系统运行的视角,此外也为系统安全运行提供了保障。
61.另外,在比如某些杀毒软件试图创建用户不期望的进程时,通过本发明实施方式的方法可以迅速抓取到,可以监控ui显示模块提供的数据展示,并在监控到这样的进程创建时,提供告警和/或强制关闭该进程。针对其提供告警的进程可以由用户自定义,比如通过输入进程后缀、部分进程名的方式自定义需要告警/关闭的进程。
62.图6示出了在系统负载监控方面应用本发明实施方式的方法获得的有益技术效果。如图6所示,根据本发明实施方式的方法,可以及时动态反应当前系统运行负载变化情况。如图6所示,在负载运行到达100%时,可以向用户提供告警/建议,建议比如是关闭部分进程等,也可以直接选择关闭部分进程。此外,还可以在ui显示模块上向用户提供选择,在负载运行超过负荷时(运行率到达多少被视为超负荷,可以由用户根据情况自定义),选择自动关闭哪些进程。
63.在传统技术中,只能基于内核已经暴露出来的现成接口获取数据,通过这样被动接收数据的方式获取系统暴露的内容,而根据本发明实施方式,能够查看任何希望了解的系统运行状态,通过主动挖掘数据的方式获取系统各个时间的状态,且在必要时采取安全措施避免系统遭受破坏。
64.根据本发明实施方式,还提供一种计算系统监视装置700。如图7所示,该装置700包括:
65.扫描模块710,用于扫描插件模块下包含的功能脚本,所述功能脚本是提前编写好用来实现计算系统前端功能的底层脚本且被置于所述插件模块下。
66.装置700可以在此包括配置模块,用于通过ui显示模块的数据采集控制模块(如图3所示)对当前系统运行动态追踪脚本进行实时调节。比如插件模块内一共有4个脚本,通过数据采集控制模块选定了2个脚本,那么扫描模块仅能扫描到该2个脚本。
67.转换模块720,用于将所述功能脚本转换成目标代码,并传送至代理模块;
68.代理模块730,用于将所述目标代码注入到内核子系统,以用于追踪内核子系统,并接收内核子系统的返回结果。
69.显示模块740,用于显示内核子系统的返回结果。
70.此外,在通过代理模块接收到内核子系统的返回结果后,还可以先将该返回结果发送至数据库模块。发送至数据模块便于节省前端存储空间,便于将数据组织、管理起来。因此,装置700还可以包括初始化模块,用于初始化数据库模块的数据库文件,在初始化了数据库文件之后,会自动建立数据库的接口,可以通过该接口向数据库传递数据,也可以从数据库提取数据。
71.在这种情况下,如图3所示,在建立数据库文件之后,可以通过ui模块对数据库进行管理,比如通过ui界面让用户选择获取数据库中数据的频率。
72.在一个可选实施方式中,数据库模块是时序数据库模块,且在将所述返回结果发送至数据库模块之前,先对所述返回结果进行格式化处理,以对标所述时序数据库模块的要求。应理解,采用的数据库不同,格式化处理也相应地不同。且在采用某些不需要特殊格式的数据库模块的情况下,并不需要进行格式化处理。因此装置700还可以包括格式化模块,用于对发送至时序数据库模块的数据进行格式化处理,以对标时序数据块模块的的要求。
73.在采用数据库管理返回结果的情况下,ui模块的一个实现示例可以如图3所示:包含显示插件模块、数据查询模块、数据库配置管理模块和数据采集控制模块。其中,显示插件模块可以负责提供数据展示的常见形式的插件库,数据查询模块负责调用数据库接口从数据库获取数据,数据库配置管理模块提供对历史数据的检索算法处理,数据采集控制模块可以用于选择要运行的脚本,从而对当前系统运行动态追踪脚本进行实时调节。
74.装置700还可以包括检索模块,用于对时序数据库中的数据执行检索算法处理,以进一步为系统问题定位提供策略支持。该检索算法处理通过以上所述的数据库配置管理模块来执行,比如用户通过在该数据库配置管理模块上执行操作(比如输入检索的维度、精度等)从而在数据库模块中提取数据。
75.装置700还可以包括告警模块,用于监控显示模块显示的数据,并在监控到指示异常的数据时,向用户提供告警。异常的情况如以上参考图4-6所述。另外该告警模块在监控到计算系统内创建了符合用户自定义的进程时(如以上关于图6所述),可以强制关闭该进程。
76.这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可
移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
77.在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的计算系统监视方法。
78.以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
79.在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
80.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
81.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
82.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
83.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装
置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
84.如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
85.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献