调度方法、调度装置、芯片及计算机可读存储介质与流程

文档序号:33165539发布日期:2023-02-04 01:29阅读:28来源:国知局
调度方法、调度装置、芯片及计算机可读存储介质与流程

1.本技术实施例涉及数据处理技术领域,并且更为具体地,涉及一种调度方法、调度装置、芯片及计算机可读存储介质。


背景技术:

2.视频拍摄过程中需要调用多种算法(如grid/人脸识别/图像融合等),这些算法在数字信号处理器(digital signal process,dsp)中执行后以连续输出视频帧。由于算法的调用时间、重要性不同,而硬件资源dsp只有一个,因此,dsp在面对多个算法需要执行的时候,需要进行调度。目前的调度方案存在资源分配不合理的问题。


技术实现要素:

3.本技术实施例提供了一种调度方法、调度装置、芯片及计算机可读存储介质,下面对本技术实施例的各个方面进行介绍。
4.第一方面,提供一种调度方法,包括:确定数字信号处理器的待处理算法的预期完成时间;根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级;基于所述待处理算法的动态优先级,对所述待处理算法在所述数字信号处理器的执行过程进行调度;其中,所述动态优先级与所述待处理算法的预期完成时间反相关。
5.第二方面,提供一种调度装置,包括:确定模块,用于确定数字信号处理器的待处理算法的预期完成时间,所述确定模块用于根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级,其中,所述动态优先级与所述待处理算法的预期完成时间反相关;控制模块,与所述确定模块相连,用于执行以下操作:基于所述待处理算法的动态优先级,对所述待处理算法在所述数字信号处理器的执行过程进行调度。
6.第三方面,提供一种芯片,包括如第二方面所述的调度装置。
7.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行如第一方面所述的调度方法。
8.本技术实施例利用算法运行时间的可预见性等先验知识,将运行时间考虑到调度过程中,合理地调用不同优先级的算法,有助于资源的合理利用,减少计算资源的沉没成本。
附图说明
9.图1是本技术实施例提供的调度方法的流程示意图。
10.图2是图1的步骤s120的一种可能的实现方式的示意图。
11.图3是图1的步骤s120的另一些可能的实现方式的示意图。
12.图4是本技术实施例提供的时间片轮转方法的示意图。
13.图5是图1方法的一种可能的实现方式的流程示意图。
14.图6是本技术实施例提供的调度装置的结构示意图。
15.图7是本技术实施例提供的芯片的结构示意图。
具体实施方式
16.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。
17.在一些应用模块中,需要调用多种算法,这些算法需要在处理器中执行。由于不同算法的调用时间、重要性不同,而硬件资源处理器只有一个,因此,处理器在面对多个算法需要执行的时候,需要进行调度。
18.例如,在相机(camera)模块的视频拍摄过程中需要调用多种算法(如grid、人脸识别、图像融合等),这些算法在dsp中执行后才输出视频帧,即视频帧经过多算法处理以便在线输出。dsp是一种独特的微处理器,是以数字信号来处理大量信息的器件。由于不同算法的调用时间、重要性不同,而硬件资源dsp只有一个,因此,在dsp面对多个算法需要执行时,需要进行调度,选择一个算法将其送入dsp执行。
19.在操作系统领域,线程调度也是一个类似的调度问题,常用的线程调度方案有:1)先来先服务(first come first served,fcfs)调度方法;2)最短作业优先(shortest process next,sjf)调度方法;3)高响应比优先(highest response ratio nest,hrrn)调度方法;4)时间片轮转(round robin,rr)调度方法;5)最高优先级(highest priority first,hpf)调度方法;6)多级反馈队列(multilevel feedback queues,mfq)调度方法。
20.例如,在最高优先级调度方法中,进程调度每次将cpu分配给就绪队列中具有最高优先级的进程。其核心是确定进程的优先级,一般分为静态优先级和动态优先级。静态优先级是进程创建时根据初始特性和用户要求确定,确定后不再改变。动态优先级是创建时确定初始优先级,在进程运行过程中做适当修改。如根据等待时间、或根据占有的cpu时间修改优先级,动态优先级是一种抢占式的调度方法,调度效果好。
21.又如在多级反馈队列算法中,进程就绪队列被划分成多个独立的子队列,每个队列都拥有自己的调度策略。队列间的调度是进程可以在不同队列间移动,也就是说某个进程在执行过程中优先级可能会发生改变。
22.上述线程调度方法各有优缺点,其中多级反馈队列调度方法是目前主流的调度方法,并且在实践中得到很好的应用。但是,线程调度和应用模块的算法调度是存在区别的,算法调度具有自己的特点。下面以相机模块的算法调度为例进行区别点的说明,主要包括以下内容。
23.1)计算事件的可预知性。在线程调度中,需要运行的线程千变万化,往往不能预知某个线程的运行时间。而在相机模块中,不同算法的运行时间是可以预期的,往往在某个固定时间范围内波动(比如4.5~4.9ms)。
24.2)密集型的计算。常见的线程执行过程中,既会存在计算,也会存在i/o事件请求,因为进程需要等待硬盘数据的返回。所以为了提高cpu的运行效率,在由于i/o导致cpu空闲时,调度程序需要从就绪队列中选择一个进程运行。而在相机模块中,各个算法经过一系列的优化,在其运行期间通过交织多址接入(interleave-division multiple-access,idma)系统的搬运,基本实现避免数据从内存中读取带来的延迟,更不存在从硬盘中读取数据的情况。在idma系统中,不同的用户通过不同的码片交织方法来区分。
25.3)更高的上下文切换代价。在常见的线程执行过程中,抢占方式的切换会带来上下文切换的代价。线程的上下文切换,为了保存当前正在运行的进程的上下文,操作系统会执行一些底层汇编代码,来保存通用寄存器、程序计数器,以及当前正在运行的进程的内核栈指针,然后恢复寄存器、程序计数器,并切换内核栈,供即将运行的进程使用,这种线程的上下文切换代价相对较小。然而,在dsp的相机模块中,上下文切换需要保存和恢复紧耦合存储器(tightly coupled memory,tcm)中的数据,完成将tcm中数据保存到内存上,需要时恢复。这种上下文切换的时间延迟是远大于线程的上下文切换的。其中,tcm是一种高速缓存,直接集成在cpu的内部。
26.4)计算结果的时间限制和有效性。常见的线程执行过程中,除了用户界面(user interface,ui)更新之类的线程需要快速执行外,大部分线程的执行是没有明确时间限制的。在相机模块中,由于每一帧图像都是连续输出的,在输出到显示器之前需要完成某些算法的计算。因此,当单个算法计算请求产生,其必然会存在计算截止时间的限制,也即是说超过该截止时间,该计算就毫无意义。由于对时效性的要求,因此存在这种情况,不管那种调度方法,如果在截止时间之前未能完成该算法的计算,那么该算法已经完成的计算也是毫无意义的。
27.可见,线程的调度和相机模块的算法调度具有不同的特点,因此,将现有的线程调度方法直接用于相机模块的算法调用中往往效果不佳,存在资源分配不合理的问题,如存在截止时间前未完成算法的沉没成本高。
28.需要说明的是,上文提及的相机模块的算法调度中存在资源分配不合理的问题仅是一个示例,本技术实施例可应用于算法调度中资源分配不合理的任意类型的场景。
29.因此,如何开发一种合理分配资源的算法调度方案是需要解决的问题。
30.基于此,本技术实施例提出一种调度方法,考虑到算法运行方式的先验知识,如运行时间的可预见性,将先验知识利用到算法的调度过程中。下面对本技术实施例进行详细描述。
31.图1是本技术实施例提供的一种调度方法的流程示意图。图1的方法可以包括步骤s110至步骤s130,下面对这些步骤进行详细描述。
32.在步骤s110中,确定数字信号处理器的待处理算法的预期完成时间。算法的预期完成时间是指算法预期完成的时间点,算法的预期完成时间可能是在截止时间之前,也可能是在截止时间之后。
33.和线程不同,算法的运行时间(或执行时间)是可以预期的。例如,在仿真软件中设定好对tcm和双倍速率同步动态随机存储器(double data rate sdram,简称为ddr)的访问延迟之后,利用算法在仿真软件中多次模拟,可以较为准确的确定不同算法的预期运行时间。例如可以利用多循环(cycles)衡量运算的资源消耗,在实际硬件主频确定后,可以换算出算法的预期运行时间。例如在dsp的相机模块中,不同的算法的运行时间是可以预期的,往往在固定时间范围内波动(比如4.5~4.9ms)。
34.由于dsp中的所有算法都是确定的,因此可以预先确定这些算法的执行时间,同时获取算法结果的截止时间也是可以设定的,往往和帧率相关。即算法的预期完成时间也是可以设定的。
35.在步骤s120中,根据待处理算法的预期完成时间,确定待处理算法的动态优先级,
其中动态优先级与待处理算法的预期完成时间反相关。
36.动态优先级是创建时确定初始优先级,在进程运行过程中做适当修改,如根据等待时间,动态优先级是一种抢占式的调度方法。
37.一旦某个算法在截止时间(deadline)前无法完成计算,该算法既有的计算将会全部无效,也就是说超过该截止时间,该计算就毫无意义。因此越接近完成的算法丢弃时的沉没成本越高。截止时间可以为算法的开始截止时间,也可以为算法的结束截止时间。所有算法的截止时间可能相同,如为一个图像帧的输出时间。由于算法的重要性不同,调用时间不同,不同算法的截止时间也可能不同。
38.动态优先级与待处理算法的预期完成时间反相关,是指与待处理算法的预期完成时间的先后反相关,相对截止时间,如待处理算法的预期完成时间越早,其动态优先级越低;待处理算法的预期完成时间越迟,其动态优先级越高。因此,待处理算法的预期完成时间也可以用算法与截止时间的临近程度来表示。线程调度方法不需要对工作的运行方式有先验知识,是通过观察工作的运行来给出对应的优先级。与线程调度方法不同,动态优先级利用了工作的运行时间等先验知识,根据算法的预期完成时间进行调整。
39.在一些实现方式中,可以根据算法与截止时间的临近程度调整动态优先级。如算法越接近截止时间,则其优先级越高。
40.在一些实现方式中,综合衡量算法与截止时间的临近程度以及算法的完成度,可以根据算法与截止时间的临近程度以及算法的完成度调整动态优先级。如算法越接近截止时间,则其优先级越高,如算法的完成度越高,则其优先级越高。例如一个算法在完成度80%时的优先级高于在完成度20%时的优先级。
41.在一些实现方式中,算法与截止时间的临近程度和完成度对动态优先级的影响程度可以采用加权表示,权重因子可以根据经验而定。在一些实施例中,算法与截止时间的临近程度比算法的完成度对动态优先级的影响程度大,采用的权重因子就大。在一些实施例中,算法的完成度对动态优先级的影响程度大,算法的完成度采用的权重因子就大。
42.在步骤s130中,基于待处理算法的动态优先级,对待处理算法在数字信号处理器的执行过程进行调度。
43.基于多个待处理算法的动态优先级,形成算法的执行请求序列,dsp从算法的执行请求序列中选择最高优先级的算法执行,即dsp根据执行请求序列依次运行算法。例如,如果算法a的优先级大于b的优先级,则先运行算法a,后运行算法b。
44.在一些实现方式中,对当前所有算法进行判断,以检查是否能够在规定限制内(如截止时间前)完成所有算法的执行。当dsp在规定限制内无法完成所有算法的执行时,依照算法的执行请求序列,则不执行在规定限制内无法完成的算法,如将排名最低的算法移出执行请求序列,以减少资源的沉没成本。
45.在一些实现方式中,可见将算法的优先级分为静态优先级和动态优先级。由于不同算法的调用时间不同、重要性不同,可以在算法创建的时候,预先设置一个静态优先级。静态优先级也称为初始优先级、预设优先级,是在创建时根据算法的初始特性和用户要求确定,确定后通常不再改变,即在整个运行期间不会变化。表1是一些算法的静态优先等级的集合映射,如表1所示,可以根据需要调度的算法重要性,预先生成算法的静态优先等级f1的集合映射。
46.算法等级(f1)算法集合(id)等级1算法a等级2算法g、算法w、算法e等级3算法p、算法h等级4算法i、算法x
47.在一些实现方式中,可以基于待处理算法的静态优先级和动态优先级,确定待处理算法的优先级,其中静态优先级为待处理算法的预设优先级。根据待处理算法的优先级,对待处理算法进行调度。
48.算法的优先级f可以由静态优先级f1和动态优先级f2加权确定作为最终的优先级,如下式所示。
49.f(id)=f1(id)+q*f2(id)
50.其中,其中id为算法的标识号,q为权重,为固定数值,可以由经验确定。在一些实施例中,q可以为小于1的数值,在一些实施例中,q可以为大于1的数值。
51.在一些实现方式中,动态优先级的最大数值不超过算法本身对应的静态优先级数值。图2是图1的步骤s120的一种可能的实现方式的示意图。如图2所示,算法的动态优先级随着dsp的运算过程不断增加。即在开始计算时,算法的动态优先级为0,当算法运行到预期完毕的时候,其动态优先级和算法本身的静态优先级相一致。
52.应理解,算法在执行期间的动态优先级的计算方式并不唯一,可以有多种,可以根据算法本身的特性而定,本技术实施例对此不作限定。图3a-图3d是图1的步骤s120的另一些可能的实现方式的示意图。如图3a所示,在一些实施例中,在运行过程中,算法的动态优先级和静态优先级间的关联曲线呈凸相关。如图3b所示,在一些实施例中,在运行过程中,算法的动态优先级和静态优先级间的关联曲线呈凹相关。如图3c所示,在一些实施例中,在运行过程中,算法的动态优先级和静态优先级呈线性相关。如图3d所示,在一些实施例中,在运行过程中,算法的动态优先级和静态优先级间的关联曲线呈多阶段不同相关。
53.根据待处理算法的优先级,dsp对待处理算法进行调度。当有算法执行请求产生时,调度系统会接收到该算法的信息。如表2所示,为一个算法的属性信息表。
54.1算法ida2算法预期计算时间5-5.1ms3算法计算结果获取截止时间28ms4算法静态优先级静态等级25动态优先级变化函数f2(a)
55.在一些实现方式中,待处理算法中包括优先级相同的多个算法,则基于时间片轮转的方式调度多个算法。例如,如果算法a的优先级等于算法b的优先级,则轮转运行算法a和b。
56.时间片是分配给cpu或者处理机资源基本时间单元。时间片结束时,按照优先级算法切换到下一个就绪算法的执行。时间片轮转方法需要一个额外的系统开销,就是较为频繁的对上下文进行切换。如上文描述,算法的切换相比线程的切换,会带来更大的系统开销。
57.在一些实施例中,时间片可以是均匀的,在一些实施例中,时间片也可以是非均匀
的。图4是本技术实施例提供的时间片轮转方法的示意图,如图4所示,算法a、b、c的时间片是非均匀的,如算法a的时间片为3ms,算法b的时间片为2ms,算法b的时间片为5ms。
58.在一些实现方式中,采用非均匀的时间片轮转的方式调度多个算法,轮转的时间片并不均匀,多个算法的轮转时间与算法的剩余计算时间为反相关。也既是,剩余运行时间少的算法能够获取更大的时间片,以便更快的完成计算,以减少或避免算法的切换引起的系统开销,节省资源。
59.在一些实现方式中,可以每隔一段时间,检查确定是否能够在预期完成时间(如截止时间)之前完成待处理算法中的全部算法。又如,将新算法加入到执行队列后,对现有算法进行判断,检查是否能够在预期完成时间之前完成所有算法的执行。通常可以分为两种情况:能够在预期完成时间之前完成所有算法的执行,和,不能够在预期完成时间之前完成所有算法的执行。下面分别进行说明。
60.在一些实现方式中,如果能够在预期完成时间之前完成所有待处理算法的执行,则按优先级算法的规则1和规则2调度待处理算法。
61.规则1:如果算法a的优先级》算法b的优先级,则运行算法a,不运行算法b。
62.规则2:如果算法a的优先级=算法b的优先级,轮转运行a和b。但是轮转的时间片并不均匀,剩余计算时间少的算法能获取更大的时间片,以便更快的完成计算。
63.在一些实现方式中,如果无法在预期完成时间之前完成待处理算法中的全部算法,则根据待处理算法中的每个算法的优先级和/或每个算法的完成度,舍弃全部算法中的至少一个算法。在一些实施例中,衡量现有算法的优先级,依照算法的优先级进行排序,在截止时间前不能完成的算法将会被移出执行队列。在一些实施例中,衡量现有算法的完成度,依照算法的完成度进行排序,在截止时间前不能完成的算法将会被移出执行队列。
64.在一些实现方式中,综合衡量现有算法的优先级以及算法的完成度,可以依照算法的优先级和完成度加权后进行排序,也可以将完成度考虑到算法的优先级(如动态优先级)计算后进行排序,在截止时间前不能完成的算法将会被移出执行队列。例如,排名最低的算法将会被移出执行队列,将该算法的既有计算结果舍弃,清除上下文。在一些实施例中,并给下一模块发送该算法计算失败的通知。
65.例如在当前图像帧的处理周期中,算法a被移出执行队列。在一些实现方式中,算法a的后续处理方式可以为:当前图像帧放弃执行算法a,在后续图像帧中提升算法a的静态优先级,从而保证算法a不会长期被舍弃,或者说避免被“饿死”。
66.本技术实施例利用算法运行时间的可预见性等先验知识,将运行时间考虑到调度过程中,合理地调用不同优先级的算法,有助于资源的合理利用,减少计算资源的沉没成本。
67.图5是图1方法的一种可能的实现方式的流程示意图。图5的方法可以包括步骤s510至步骤s580,下面对这些步骤进行详细描述。
68.在步骤s510中,初始化算法序列。根据各个算法的特性,初始化算法的静态优先级和动态优先级。
69.在步骤s520中,判断当前系统的算力是否能够在截止时间前完成所有算法。根据算法的静态优先级和动态优先级加权后进行排序,得到算法的执行请求序列,判断当前系统的算力是否能够在截止时间前完成所有算法。如果可以,则进入步骤s530,如果不可以,
则进入步骤s540。
70.在步骤s530中,更新算法的优先级。进入步骤s560。
71.在步骤s540中,依照优先级更新算法的优先级排序,更新算法的执行请求序列。
72.在步骤s550中,舍弃最低优先级的算法。不能在截止时间前完成所有算法,则舍弃在截止时间前不能完成的算法,如舍弃最低优先级的算法。
73.在步骤s560中,按优先级的排序执行算法,按优先级由高到低运行。对于同等优先级的算法,更新各个算法分配的时间片后进入轮转调度。
74.在步骤s570中,每隔一段运行时间后更新算法的优先级。
75.在步骤s580中,判断是否有新算法加入。如果没有新算法加入,则进入步骤s560,按当前优先级序列执行。如果有新算法加入,则进入步骤s520,判断在截止时间前能否完成所有算法。
76.本技术实施例中设定算法静态优先级,设定算法动态优先级函数,对于同等优先级的算法,依照经验数据分配每个算法的时间片,设定多久更新一次算法的优先级的时间可以采用经验数值。经验数值的调整可以利用对实际工作负载的经验,或后续对调度程序的调优以找到相对满意的平衡点。比如,通过一定的优化策略可以调度系统自己去学习一个优化的数值。
77.在一些实施例中,当需要进行调度方法的效果检测时,例如,可以检查在相机预览阶段的不同特效下系统资源的变化和dsp相关的日志(log)的打印记录。如在手机性能充足时,关闭相关特效(ai等)功能,这样dsp中算法较少,检查相关log可以看到多数算法都能得到安排计算,并且检查在计算过程中不同剩余运行时间的各个算法分配的不同时间片并非固定不变的。在手机资源不足(如手机电量较少且发烫)且开启多数特效时,dsp中安排的算法较多,检查相关log可以观察到dsp调度系统对部分算法是否进行舍弃,可以判断调度方法的有效性。
78.本技术实施例考虑到算法计算的先验知识和沉没成本,通过静态优先级和动态优先级的结合,依照算法的优先级和完成度加权后进行排序,实现不同优先级的算法能够合理的被调用。在资源不足时优先能够实现高优先级的算法,主动舍弃低优先级算法,避免资源均分的情况,有助于合理利用计算资源,降低系统计算资源损失,减少计算资源的沉没成本。
79.上文结合图1-图5,详细描述了本技术的方法实施例,下面结合图6,详细描述本技术的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
80.图6是本技术实施例提供的调度装置的结构示意图。如图6所示,调度装置600可以包括确定模块610和控制模块620。
81.确定模块610用于确定数字信号处理器的待处理算法的预期完成时间。确定模块610还用于根据待处理算法的预期完成时间,确定待处理算法的动态优先级,其中,动态优先级与待处理算法的预期完成时间反相关。
82.控制模块620与确定模块610相连,用于执行以下操作:基于待处理算法的动态优先级,对待处理算法在数字信号处理器的执行过程进行调度。
83.在一些实现方式中,基于待处理算法的动态优先级,对待处理算法进行调度,可以
包括:基于待处理算法的静态优先级和动态优先级,确定模块610还用于确定待处理算法的优先级,其中,静态优先级为待处理算法的预设优先级。控制模块620还用于根据待处理算法的优先级,对待处理算法进行调度。
84.在一些实现方式中,待处理算法包括优先级相同的多个算法,控制模块620还用于执行以下操作:基于时间片轮转的方式调度多个算法。其中,多个算法的轮转时间与多个算法的剩余计算时间反相关。
85.在一些实现方式中,调度装置600还可以包括判断模块630,判断模块630用于判断是否能够在预期完成时间之前完成待处理算法中的全部算法。控制模块620还用于执行以下操作:如果无法在预期完成时间之前完成待处理算法中的全部算法,则根据待处理算法中的每个算法的优先级和/或每个算法的完成度,舍弃全部算法中的至少一个算法。
86.图7是本技术实施例提供的芯片的结构示意图。如图7所示,该芯片700可以包括如前文任一描述的调度装置710。
87.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序用于执行如前文任一描述的调度方法。
88.应理解,本技术实施例提及的计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,dvd))或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
89.应理解,在本技术的各种实施例中,“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
90.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
91.在本技术所提供的几个实施例中,应该理解到,当称某一部分与另一部分“连接”或“相连”时,其意味着该部分不仅可以“直接连接”,而且也可以“电连接”,同时另一个元件介入其中。另外,术语“连接”也意指该部分“物理地连接”以及“无线地连接”。另外,当称某一部分“包含”某一元件时,除非另行加以陈述,否则,其意味着该某一部分可以包括另一元件,而不是排除所述另一个元件。
92.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
93.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
94.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1