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

一种进程调度方法及计算设备与流程

2022-08-11 08:14:26 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种进程调度方法及计算设备。


背景技术:

2.numa服务器的基本特征是具有多个cpu模块(节点),每个cpu模块可以包括一个或多个cpu,并且具有独立的本地内存、i/o槽口等。由于各个节点之间可以通过互联模块(crossbar switch)进行通信连接和信息交互,因此每个cpu可以访问整个系统的内存。但,cpu访问本地内存的速度远远高于访问远地内存(系统内其它节点的内存)的速度。
3.当多个进程在不同节点的cpu上运行并进行通信时,为了解决进程需要访问的共享内存页与进程所在的节点处于不同节点、存在跨节点访问远端内存导致访问速度较慢的问题,根据目前numa架构下的进程调度方案,系统会周期性扫描进程的vma(虚拟内存区域),在扫描时会去检测每个vma区域的内存页是否符合设置page_none标记的条件,如果符合条件就会置上该标记。这样,当真正访问该内存页时就会触发pte_fault,并进行异常处理,主要通过迁移进程或迁移内存来进行异常处理,以解决进程访问远端内存的问题,对处于不同节点的进程间通信性能进行优化。
4.根据上述进程调度方案,对于mmap申请共享内存的方式而言,如果是文件映射方式,多个进程访问不同的节点时会导致内存来回迁移;如果是匿名映射,基于内存分配策略,无法为vma区域的内存页设置标记,导致无法解决进程访问远端内存的问题。对于shemget申请共享内存的方式而言,基于内存分配策略,也无法为vma区域的内存页设置标记,导致无法解决进程访问远端内存的问题。
5.为此,需要一种进程调度方法,以解决上述方案中存在的问题。


技术实现要素:

6.为此,本发明提供一种进程调度方法及计算设备,以解决或至少缓解上面存在的问题。
7.根据本发明的一个方面,提供一种进程调度方法,在计算设备的操作系统中执行,所述计算设备包括通信相连的多个节点,每个节点分别包括一个或多个处理器、内部存储器,每个处理器适于运行进程,进程所处节点的内部存储器中包括进程的虚拟内存区域,所述虚拟内存区域包括内存页,所述方法包括步骤:响应于进程访问内存页的请求,判断所述内存页是否是共享内存页;如果是共享内存页,则判断所述进程连续访问所述内存页的次数是否大于第一阈值;如果大于第一阈值,则从所述内存页所在的节点或距离最近的节点,选择负载满足预定条件的处理器作为目标处理器,并将所述进程迁移至所述目标处理器。
8.可选地,在根据本发明的进程调度方法中,判断所述内存页是否是共享内存页的步骤包括:判断所述内存页是否设置有异常标记;如果设置有异常标记,则判断所述内存页所属的虚拟内存区域是否具有共享标记;如果具有共享标记,则确定所述内存页是共享内存页。
9.可选地,在根据本发明的进程调度方法中,选择负载满足预定条件的处理器作为目标处理器的步骤包括:从所述内存页所在的节点中选择负载小于第二阈值的处理器,作为目标处理器。
10.可选地,在根据本发明的进程调度方法中,从所述内存页所在的节点中选择负载小于第二阈值的处理器,作为目标处理器的步骤包括:从所述内存页所在的节点中选择第一最空闲处理器,判断所述第一最空闲处理器的负载是否小于第二阈值;如果小于第二阈值,则将所述第一最空闲处理器作为目标处理器。
11.可选地,在根据本发明的进程调度方法中,从所述内存页所在的节点中选择负载小于第二阈值的处理器,作为目标处理器的步骤,还包括:如果所述第一最空闲处理器的负载大于或等于第二阈值,则从与所述内存页所在的节点距离最近的节点中选择第二最空闲处理器,判断所述第二最空闲处理器的负载是否小于第二阈值;如果所述第二最空闲处理器的负载小于第二阈值,则将所述第二最空闲处理器作为目标处理器;如果所述第二最空闲处理器的负载大于或等于第二阈值,则将所述第一最空闲处理器作为目标处理器。
12.可选地,在根据本发明的进程调度方法中,在判断所述进程连续访问所述内存页的次数是否大于第一阈值之前,包括步骤:记录所述进程连续访问所述内存页的次数。
13.可选地,在根据本发明的进程调度方法中,判断所述内存页所属的虚拟内存区域是否具有共享标记的步骤还包括:如果所述内存页所属的虚拟内存区域不具有共享标记,则判断所述内存页是否能够迁移;如果内存页不能够迁移,则将所述进程迁移到所述内存页所在的节点。
14.可选地,在根据本发明的进程调度方法中,在响应于进程访问内存页的请求之前,包括步骤:周期性扫描进程的虚拟内存区域,判断所述虚拟内存区域是否具有共享标记;如果具有共享标记,则判断所述虚拟内存区域的内存页所在的节点与所述进程所在的节点是否相同,如果不相同,则为所述内存页设置异常标记。
15.可选地,在根据本发明的进程调度方法中,判断所述虚拟内存区域是否具有共享标记的步骤还包括:如果不具有共享标记,则确定所述内存页是否是文件页、是否是脏页;如果所述内存页是文件页且不是脏页,则判断所述内存页所在的节点与所述进程所在的节点是否相同,如果不相同,则为所述内存页设置异常标记。
16.根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的进程调度方法的指令。
17.根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的进程调度方法。
18.根据本发明的技术方案,提供了一种进程调度方法,针对共享内存页设置异常标记,当基于异常标记和共享标记确定进程连续访问共享内存页时,对进程进行迁移。其中,从内存页所在的节点或与内存页距离最近的节点中,选择负载最小的处理器来作为目标处理器,并将访问内存页的进程迁移至目标处理器。这样,本发明充分考虑了进程迁移后的目标处理器与访问的共享内存之间的距离、以及目标处理器的负载,迁移后的进程可以与共享内存处于同一节点、或者运行在与共享内存距离最近的节点的处理器中,确保进程访问共享内存的距离最近,避免进程访问距离较远的远地内存,提升了进程访问共享内存的速
度,从而优化进程间通信和进程运行性能。另外,根据本发明的技术方案,不对内存进行迁移,从而能够防止多进程在不同节点运行时导致反复迁移内存的问题。
19.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
20.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
21.图1示出了根据本发明一个实施例的计算设备100的示意图;
22.图2、图3分别示出了根据本发明一个实施例的进程调度方法200的流程图;
23.图4示出了根据本发明一个实施例的计算设备100的硬件结构示意图。
具体实施方式
24.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
25.本发明提供了一种进程调度方案,使得进程可以运行在相对最近节点的处理器上访问共享内存页,以解决进程访问远端内存速度较慢的问题,对处于不同节点的进程间通信性能进行了优化。
26.图1示出了根据本发明一个实施例的计算设备100的示意图。如图1所示,计算设备100中包括硬件层、操作系统120以及一个或多个进程110。一个或多个进程110基于硬件层和操作系统来运行,应当指出,本发明对进程的数量和种类均不做限制。
27.计算设备100中运行有操作系统120,操作系统120可以为一个或多个进程110提供软件运行环境。操作系统120中包括内核125,内核125负责进程管理、内存管理、文件管理(例如文件存储空间的管理、目录管理、文件读写管理)、设备管理(例如i/o请求、缓冲管理、驱动)等。
28.硬件层可以为计算设备中的操作系统120及进程110提供硬件运行环境。如图1所示,硬件层包括通信相连的多个节点150,每个节点150分别包括一个或多个处理器151、与一个或多个处理器151相连的内部存储器152。这里,多个节点150之间可以通过互联模块(crossbar switch)进行通信连接以实现数据交互。基于此,每个节点150的处理器151均可以访问计算设备100中的所有节点的内部存储器152。
29.应当指出,图1示出的硬件层中所包含的节点150的数量、每个节点150中所包含的处理器151的数量均是示例性的,本发明对节点数量、每个节点中的处理器数量均不做限制。
30.需要说明的是,每个处理器151均可以运行进程。对于每个处理器151而言,与处理器151处于同一节点的内部存储器152为处理器151的本地内存。而与处理器151处于不同节点的内部存储器152为远地内存。应当指出,处理器151与本地内存之间的距离最近,从而访问本地内存的速度最快。换言之,处理器151与本地内存之间的距离小于处理器151与远地内存之间的距离,因此,处理器151访问本地内存的速度也远远高于访问远地内存的速度。
31.当进程110在处理器上运行时,可以向内核125申请在进程所处节点150的内部存储器152(即该处理器151的本地内存)创建进程的虚拟内存区域,这样,进程所处节点的内部存储器中包括为进程创建的虚拟内存区域。虚拟内存区域包括内存页。
32.当多个进程110在不同节点的处理器上运行并进行通信时,多个进程之间可以基于共享内存进行通信。具体地,进程可以通过shmget、mmap等方式来向操作系统的内核125申请共享内存,以便在进程110所处节点150的内部存储器152创建共享内存区域,从而可以基于共享内存区域与其他进程进行通信。需要说明的是,共享内存区域属于虚拟内存区域,共享内存区域与普通虚拟内存区域的区别点在于,共享内存区域具有共享标记。基于此,通过判断虚拟内存区域是否具有共享标记可以确定虚拟内存区域是否是共享内存区域。
33.根据一种应用场景,当第一进程在第一节点的第一处理器运行时,可以在第一节点的第一内部存储器创建共享内存区域。当第二进程在第二节点的第二处理器运行时,如果需要与第一进程进行数据传输,需要访问第一进程在第一节点的第一内部存储器创建的共享内存区域,这样,对于第二进程而言,需要访问远地内存,访问速度较慢。
34.针对该应用场景中存在的技术问题,操作系统120通过执行本发明的进程调度方法200,来避免进程访问距离较远的远地内存,对运行在不同节点的进程间通信性能进行优化。具体地,本发明的进程调度方法200在操作系统120的内核125中执行。
35.在根据本发明的实施例中,计算设备100的操作系统被配置为执行根据本发明的进程调度方法200。计算设备100的操作系统中包含用于执行本发明的进程调度方法200的多条程序指令,这些程序指令可以指示处理器执行根据本发明的进程调度方法200。
36.图2、图3分别示出了根据本发明一个实施例的进程调度方法200的流程图。方法200适于在计算设备(例如前述计算设备100)的操作系统中执行。
37.在本发明的实施例中,操作系统上可以运行一个或多个进程,一个或多个进程可以运行在不同节点的处理器上。当进程在处理器上运行时,可以向操作系统的内核申请、在进程所处节点的内部存储器创建进程的虚拟内存区域。这样,进程所处节点的内部存储器中包括为进程创建的虚拟内存区域。进一步地,进程也可以向操作系统的内核申请共享内存,以便在进程所处节点的内部存储器创建共享内存区域,从而进程可以基于共享内存区域与其他进程进行通信。
38.如图2和图3所示,方法200始于步骤s210。
39.在一个实施例中,在执行步骤s210之前,操作系统可以周期性扫描每个进程的虚拟内存区域,判断进程的虚拟内存区域是否具有共享标记。
40.如果虚拟内存区域具有共享标记,说明该虚拟内存区域是共享内存区域,则进一步判断该虚拟内存区域(共享内存区域)的内存页所在的节点与进程所在的节点是否相同,如果不相同,则为该虚拟内存区域(共享内存区域)的内存页设置异常标记。这里,为共享内存区域的内存页(共享内存页)设置的异常标记例如为page_none标记。
41.也就是说,当进程的虚拟内存区域是共享内存区域、并且与进程不在同一节点时,针对共享内存页设置异常标记。
42.另外,如果虚拟内存区域不具有共享标记,说明该虚拟内存区域不是共享内存区域,则:判断是否具有内存分配策略,如果具有内存分配策略,则无法为虚拟内存区域的内存页设置异常标记。如果不具有内存分配策略,继续判断虚拟内存区域的内存页是否是文件页、是否是脏页。如果虚拟内存区域的内存页是文件页且不是脏页,则进一步判断该虚拟内存区域的内存页所在的节点与进程所在的节点是否相同,如果不相同,则为内存页设置异常标记。
43.这样,通过识别进程访问的虚拟内存区域的内存页的异常标记,对于具有异常标记的共享内存页,可以对访问内存页的进程进行迁移,以避免进程访问距离较远的远地内存。
44.如图2所示,在步骤s210中,响应于进程访问内存页的请求,判断该内存页是否是共享内存页。如果确定该内存页是共享内存页,则执行步骤s220。
45.具体地,步骤s210具体可以按照以下步骤来执行:
46.如图3所示,首先,判断该内存页是否设置有异常标记。这里,异常标记例如为page_none标记。可以理解,通过判断内存页是否具有异常标记,可以确定该内存页是否是共享内存页。
47.如果内存页设置有异常标记,则进一步判断内存页所属的虚拟内存区域是否具有共享标记,以确定进程访问的虚拟内存区域是否是共享内存区域、进程访问的内存页是否是共享内存页。
48.如果内存页所属的虚拟内存区域具有共享标记,说明该虚拟内存区域为共享内存区域,相应地,内存页为共享内存页。这种情况下,执行步骤s220。
49.在步骤s220中,记录进程连续访问该内存页的次数,并判断进程连续访问内存页的次数是否大于第一阈值。
50.最后,在步骤s230中,如果进程连续访问内存页的次数大于第一阈值,则对进程进行迁移。从进程访问的内存页所在的节点或距离最近的节点的多个处理器中,选择负载满足预定条件的处理器作为目标处理器,并将进程迁移至目标处理器。
51.如果进程连续访问内存页的次数小于或等于第一阈值,则不对进程进行迁移处理。
52.需要说明的是,第一阈值是针对进程连续访问内存页的访问次数设置的最小值。在进程连续访问内存页的次数超过该第一阈值的情况下,可以确定进程需要频繁访问该内存页,通过对进程进行迁移至距离内存页相对更近的处理器上运行,有利于提升进程访问内存页的速度,以提升进程运行性能。
53.在一个实施例中,负载满足预定条件的处理器可以是负载小于第二阈值的处理器。这里,第二阈值是针对处理器的负载设置的负载最大值。应当指出,本发明对第二阈值不做具体限定,其可以由本领域技术人员根据实际需求自行设置。在一种实现方式中,第二阈值例如为600,处理器的占用率为10%。
54.优选地,可以从内存页所在的节点中选择负载小于第二阈值的处理器,作为目标处理器,这样,在将进程迁移至目标处理器后,迁移后的进程可以与所要访问的共享内存页
处于同一个节点。
55.具体而言,如果内存页所在的节点中存在负载小于第二阈值的处理器,则将内存页所在的节点中的最空闲处理器(即,负载最小的处理器)确定为目标处理器,并将进程迁移至该目标处理器。可以理解的是,通过判断内存页所在的节点中的最空闲处理器的负载是否小于第二阈值,如果内存页所在的节点中的最空闲处理器的负载小于第二阈值,则可以直接将该节点中的最空闲处理器作为目标处理器。
56.进一步地,从内存页所在的节点或距离最近的节点的多个处理器中,选择负载满足预定条件的处理器作为目标处理器,具体可以根据以下步骤来实现:
57.首先,从内存页所在的节点中选择最空闲处理器(第一最空闲处理器),判断第一最空闲处理器的负载是否小于第二阈值。
58.如果小于第二阈值,则将第一最空闲处理器作为目标处理器。这样,可以将进程迁移至内存页所在的节点的最空闲处理器。这种情况下,迁移后的进程与内存页的距离最短,访问的是本地内存,访问速度最快。
59.如果第一最空闲处理器的负载大于或等于第二阈值,说明内存页所在的节点中不存在负载小于第二阈值的处理器。此时,可以从与内存页所在的节点距离最近的节点中选择最空闲处理器(第二最空闲处理器),判断第二最空闲处理器的负载是否小于第二阈值。
60.如果第二最空闲处理器的负载小于第二阈值,则可以将第二最空闲处理器作为目标处理器。这样,可以将进程迁移至与内存页距离最近的节点的最空闲处理器。这种情况下,迁移后的进程与内存页的距离相对较短,访问速度相对较快。
61.另外,如果第二最空闲处理器的负载大于或等于第二阈值,说明与内存页所在的节点距离最近的节点中也不存在负载小于第二阈值的处理器。这种情况下,可以将上述从内存页所在节点中选择的第一最空闲处理器确定为目标处理器。这样,在确保迁移后的进程与内存页的距离最短的情况下,尽量确保运行进程的处理器负载相对较低,避免进程访问远地内存。
62.根据上述步骤,是从内存页所在的节点或与内存页距离最近的节点中,选择负载最小的处理器来作为目标处理器,并将访问内存页的进程迁移至目标处理器。这样,本发明充分考虑了进程迁移后的目标处理器与访问的共享内存区域之间的距离、以及目标处理器的负载,迁移后的进程可以与共享内存区域处于同一节点、或者运行在与共享内存区域距离最近的节点的处理器中。
63.此外,在步骤s210中判断内存页所属的虚拟内存区域是否具有共享标记时,如果确定内存页所属的虚拟内存区域不具有共享标记,说明该虚拟内存区域不是共享内存区域,则进一步判断内存页是否能够迁移。如果内存页不能够迁移,则可以将进程迁移到内存页所在的节点。如果内存页能够迁移,则可以将内存页迁移到进程当前运行的处理器所在的节点。
64.根据本发明的进程调度方法,针对共享内存页设置异常标记,当基于异常标记和共享标记确定进程连续访问共享内存页时,对进程进行迁移。其中,从内存页所在的节点或与内存页距离最近的节点中,选择负载最小的处理器来作为目标处理器,并将访问内存页的进程迁移至目标处理器。这样,本发明充分考虑了进程迁移后的目标处理器与访问的共享内存之间的距离、以及目标处理器的负载,迁移后的进程可以与共享内存处于同一节点、
或者运行在与共享内存距离最近的节点的处理器中,确保进程访问共享内存的距离最近,避免进程访问距离较远的远地内存,提升了进程访问共享内存的速度,从而优化进程间通信和进程运行性能。另外,根据本发明的技术方案,不对内存进行迁移,从而能够防止多进程在不同节点运行时导致反复迁移内存的问题。
65.图4示出了根据本发明一个实施例的计算设备100的硬件结构示意图。如图4所示,该计算设备100可以包括输入设备90、处理器91、输出设备92、存储器93和至少一个通信总线94。通信总线94用于实现元件之间的通信连接。存储器93可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器93中可以存储各种程序指令,用于完成各种处理功能以及实现本发明实施例中的进程调度方法。
66.可选的,上述处理器91例如可以为中央处理器(central processing unit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,该处理器91通过有线或无线连接耦合到上述输入设备90和输出设备92。
67.可选的,上述输入设备90可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如usb接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备92可以包括显示器、音响等输出设备。
68.在本发明的一个实施例中,计算设备100包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质。当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的进程调度方法。
69.这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
70.在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的进程调度方法。
71.以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
72.在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
73.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
74.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
75.本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
76.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
77.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
78.此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
79.如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
80.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
再多了解一些

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

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

相关文献