进程间通信的方法、装置及电子设备与流程

文档序号:16530780发布日期:2019-01-05 10:44阅读:168来源:国知局
进程间通信的方法、装置及电子设备与流程

本发明涉及通信技术领域,具体而言,涉及一种进程间通信的方法、装置及电子设备。



背景技术:

进程,简单来说就是一个正在运行的程序,包括这个运行的程序中占据的所有系统资源,比如说cpu(寄存器)、io、内存、网络资源等。日常业务中的许多场景若采用单进程处理效率会极低,例如,队列消费、电子邮件、日志处理、短信等场景。因此通常采用多进程来处理上述场景中的业务。目前,多进程通信的方法大多与业务逻辑处理代码高度耦合,在这种方式下,对于不同的业务逻辑代码,都需要专门为其设计一套进程间通信的方法。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种进程间通信的方法、装置及电子设备,以解决上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:第一方面,本发明实施例提供了一种进程间通信的方法,所述方法包括:主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式;所述主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

第二方面,本发明实施例提供了一种进程间通信的装置,所述装置包括:创建模块,用于根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式;通信模块,用于根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

第三方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时以使所述处理器执行以下操作:主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式;所述主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

与现有技术相比,本发明实施例提供的一种进程间通信的方法、装置及电子设备,通过主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式,并根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信,本方案提供了一套进程间通信的通用方法,使得业务逻辑处理方式与进程间的通信不再耦合,实现了只需修改配置文件即可实现子进程的接入,无需再关注复杂的多进程编程,也能实现更多的业务场景,并且降低了系统的开销。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的一种电子设备的结构框图。

图2是本发明实施例提供的一种多进程管理器的示意图。

图3是本发明第一实施例提供的一种进程间通信的方法的流程图。

图4是本发明第一实施例提供的一种主进程与子进程通过管道方式通信的原理示意图。

图5是本发明第一实施例提供的一种主进程与子进程通过消息队列方式通信的原理示意图。

图6是本发明第二实施例提供的一种进程间通信的方法的流程图。

图7是本发明第三实施例提供的一种进程间通信的装置的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明实施例提供的进程间通信的方法可以运行于图1所示的电子设备100中。所述电子设备100可以是用户终端或是服务器。进一步的,所述服务器可以是网络服务器、数据库服务器等。所述用户终端可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、车载设备、穿戴设备等。

如图1所示,是电子设备100的方框示意图。所述电子设备100包括存储器101、处理器102以及网络模块103。

存储器101可用于存储软件程序以及模块,如本发明实施例中的进程间通信的方法及装置对应的程序指令/模块,处理器102通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的进程间通信的方法。存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述存储器101内的软件程序以及模块还可包括:操作系统121以及服务模块122。其中操作系统121,例如可为linux、unix、windows,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块122运行在操作系统121的基础上,并通过操作系统121的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块122用于向客户端提供网络服务。

网络模块103用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参阅图2,图2示出了本发明实施例一种多进程管理器的示意图。本发明实施例提供的进程间通信的方法及装置可以运行于该多进程管理器中。如图2所示,该多进程管理器的入口程序负责接收配置文件及执行命令。其中,配置文件中包括子进程的数目、主进程分别与各个子进程间的通信方式以及各个子进程对应的业务逻辑处理方式。该入口程序将该配置文件及执行命令发送到主进程,主进程解析该执行命令,若执行命令为开始命令时,主进程根据配置文件,创建对应的各个子进程。各个子进程创建完毕后,当入口程序接收到待处理任务时,将待处理任务发送到主进程,主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信,子进程回调对应的业务逻辑处理方式处理待处理任务。

这种方式下实现的进程间通信,子进程的接入非常简单,只需要修改配置文件即可,无需再关注复杂的多进程编程,并且也能实现更多的业务场景,进一步的由于业务逻辑处理方式与多进程管理不耦合,因此可以降低系统的开销。

下面将结合附图对本发明实施例中的进程间通信的方法及装置进行更详细的描述。

图3示出了本发明第一实施例提供的一种进程间通信的方法的流程图,请参阅图3,该进程间通信的方法运行于上述电子设备中,该方法包括:

步骤s210,主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式。

该配置文件的来源有很多种,例如,可以是由入口程序接收并主动发给主进程的;也可以主进程定期轮询入口程序,从入口程序中获取的;还可以该配置文件已经预存储在某个存储区域中,由主进程从该存储区域中读取的。当然,并不局限于上述方式,任何主进程可以获取配置文件的实施方式,都属于本发明保护的范围。

配置文件中包括的子进程的数目可以根据实际需要新建的子进程的数量来确定。例如,若当前需要三个子进程来处理三个待处理任务,则此时配置文件中的子进程的数目可以设置为3。

当然,配置文件中子进程的数目也可以设置的比实际需要的子进程数量更多一些,使得主进程根据该配置文件,创建出一些冗余的子进程,方便后续的使用。

主进程与子进程间的通信方式包括但不限于:管道方式、消息队列方式、共用内存方式、及信号方式中的至少一种。当然,也可以在配置文件中设置主进程与子进程之间不通信。

例如,若配置文件中用字段communicationmodes来表示主进程与子进程间的通信方式,可以设置communicationmodes=1,表示主进程与子进程间的通信方式为管道方式;设置communicationmodes=2,表示主进程与子进程间的通信方式为消息队列方式;设置communicationmodes=3,表示主进程与子进程间的通信方式为共用内存方式;设置communicationmodes=4,表示主进程与子进程间的通信方式为信号方式;设置communicationmodes=0,表示主进程与子进程间之间不通信。通过读取该配置文件中字段communicationmodes来确定主进程与子进程间的通信方式。

进一步的,若主进程创建了多个子进程时,主进程与各个子进程间的通信方式可以相同,例如,主进程与子进程1的通信方式,及主进程与子进程2的通信方式可以均为管道方式。

当然,主进程与各个子进程间的通信方式也可以不同。例如,主进程主进程与子进程1的通信方式为管道方式,而主进程与子进程2的通信方式则为消息队列方式。

配置文件中的各个子进程对应的业务逻辑处理方式可以是由业务方提供的api(applicationprogramminginterface,应用程序编程接口),子进程可以通过回调由业务方提供的api来处理待处理任务。

主进程根据配置文件创建对应的各个子进程的实施方式也可以是有多种,不同的平台可以有不同的创建子进程的实施方式,不同的编程语言也有不同的创建子进程的实施方式。任何主进程根据配置文件创建对应的各个子进程的实施方式都属于本发明的保护范围。

作为一种具体的实施方式,主进程可以调用fork函数来创建子进程。根据配置文件中子进程的数目,来设置fork函数的参数,依次来确定创建子进程的数目。

作为另一种具体的实施方式,若主进程根据配置文件创建对应的各个子进程的过程是采用php编程语言编写的,则主进程可以调用pcntl_fork()函数来创建子进程,具体的实现方式此处不再赘述。

下面举一个具体的示例来对步骤s210进行详细说明。

假设配置文件包括:

(1)子进程的数目:3。

(2)主进程与子进程1的通信方式为:方式1;主进程与子进程2的通信方式为:方式2;主进程与子进程3的通信方式为:方式3。

(3)子进程1对应的业务逻辑处理方式为:业务逻辑处理方式1;子进程2对应的业务逻辑处理方式为:业务逻辑处理方式2;子进程3对应的业务逻辑处理方式为:业务逻辑处理方式3。

主进程接收到该配置文件后,创建对应的3个子进程,并设置其分别与3个子进程间的通信方式,以及各个子进程对应的业务逻辑处理方式。

步骤s220,主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

作为一种实施方式,主进程接收待处理任务,分别根据与各个子进程间的通信方式,将所述待处理任务发送到各个所述子进程,以使各个所述子进程接收到所述待处理任务并调用各个所述子进程对应的业务逻辑处理方式进行处理。

继续用上述示例进行说明,若主进程接收待处理任务1、待处理任务2、及待处理任务3。主进程分别通过方式1将待处理任务1发送给子进程1处理,通过方式2将待处理任务2发送给子进程2处理,通过方式3将待处理任务3发送给子进程3处理。子进程1回调对应的业务逻辑处理方式1处理待处理任务1,子进程2回调对应的业务逻辑处理方式2处理待处理任务2,子进程3回调对应的业务逻辑处理方式3处理待处理任务3,当各个子进程处理完毕时,整个过程结束。

下面以两种具体的实施方式来对步骤s220进行说明。

作为一种具体的实施方式,若所述主进程与所述子进程的通信方式为管道方式,主进程往管道中写入所述待处理任务对应的数据,子进程从所述管道中读取所述待处理任务对应的数据,并调用所述子进程对应的业务逻辑处理方式处理所述待处理任务对应的数据。

其中,所述待处理任务对应的数据可以是:待处理任务中包括的一些命令,执行该待处理任务所需的业务数据、参数、或元数据等。

请参阅图4,主进程可以先通过调用pipe()函数在内核中创建一个管道,当主进程接收到待处理任务时,往该管道的尾部写入待处理任务对应的数据,子程序从该管道的头部读出该待处理任务对应的数据,并调用所述子进程对应的业务逻辑处理方式处理所述待处理任务对应的数据。若在此过程中,子进程异常退出,则该子进程会被主进程挂起。

作为另一种具体的实施方式,若所述主进程与所述子进程的通信方式为消息队列方式,所述主进程往消息队列中写入所述待处理任务对应的消息,以使所述子进程依次从所述消息队列中读取所述待处理任务对应的消息,并调用所述子进程对应的业务逻辑处理方式处理读取到的消息,直到所述消息队列中的所有所述待处理任务对应的消息全部处理完毕。

其中,所述待处理任务对应的消息可以是:由待处理任务解析及生成出的一些消息,每个待处理任务对应的消息可以有特定的消息类型,子进程根据读取的待处理任务对应的消息类型及内容,调用子进程对应的业务逻辑处理方式处理。

请参阅图5,主进程可以预先调用msgget函数在内核中创建一个消息队列。当主进程接收到待处理任务时,根据该待处理任务生成3个待处理任务对应的消息。主进程调用msgsnd函数往该消息队列中写入3个待处理任务对应的消息,假设写入的顺序为消息3、消息2、消息1。

子进程可以通过调用msgrcv函数依次从该消息队列中读取该3个待处理任务对应的消息,读取的顺序可以是:消息3、消息2、消息1。

当然,读取待处理任务对应的消息的顺序也可以不按照写入的顺序,可以按照指定的顺序进行读取,例如,按照:消息1、消息2、消息3的顺序来读取;也可以按照:消息1、消息3、消息2的顺序来读取。

子进程每读取一个待处理任务对应的消息,调用其对应的业务逻辑处理方式进行处理。当消息队列中的这3个消息都处理完毕后,子进程结束。若在此过程中,子进程异常退出,则该子进程会被主进程挂起。

进一步,作为又一种具体的实施方式,若所述主进程与所述子进程间不通信,所述方法还包括:所述子进程调用对应的业务逻辑处理方式处理所述待处理任务。

具体的,若主进程从配置文件中读取到的配置为主进程与子进程间不通信,则当接收到待处理任务时,主进程只需将待处理任务发送到子进程即可,由子进程调用对应的业务逻辑处理方式处理完待处理任务即可。若待处理任务为多个,则子进程循环调用对应的业务逻辑处理方式分别处理多个待处理任务即可。

作为一种具体的实施方式,本实施例中的主进程及子进程均采用php编程语言进程编程,由于其底层实现代码为c语言,可以进一步节省内存,及减少系统的开销。

本发明实施例提供的进程间通信的方法,通过主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式,并根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信,本方案提供了一套进程间通信的通用方法,使得业务逻辑处理方式与进程间的通信不再耦合,实现了只需修改配置文件即可实现子进程的接入,无需再关注复杂的多进程编程,也能实现更多的业务场景,并且降低了系统的开销。

图6示出了本发明第二实施例提供的一种进程间通信的方法的流程图,请参阅图6,该进程间通信的方法运行于上述电子设备中,该方法包括:

步骤s310,主进程判断所获取的执行命令的类型。

获取该执行命令的方式有多种,例如,主进程可以定时向入口程序询问是否有执行命令,若有,则主动从入口程序处获取到该执行命令;也可以由入口程序接收到外部发送的执行命令时,主动发送给主进程。主进程通过解析该执行命令,来决定下一步的操作。

其中,执行命令的类型包括但不限于停止命令、停止命令、及重启命令。

若所述执行命令为停止命令,执行步骤s320;若所述执行命令为重启命令,执行步骤s330;若所述执行命令为停止命令,执行步骤s340。

步骤s320,所述主进程退出,各个所述子进程执行完当前待处理任务后退出。

当各个所述子进程执行完当前待处理任务后退出后,整个程序结束。

步骤s330,所述主进程执行所述停止命令对应的操作后,执行所述开始命令对应的操作。

具体的,若所述执行命令为重启命令,首先是主进程退出,各个子进程执行完当前待处理任务后退出。当各个子进程执行完当前待处理任务后退出后,为了该主进程能常驻后台,将主进程作为守护进程,主进程根据配置文件,创建对应的各个子进程,并根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

步骤s340,主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式。

步骤s350,所述主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

当主进程解析出该执行命令为开始命令后,将主进程作为守护进程,b并执行步骤s340至步骤s350。其中,步骤s340至步骤s350的实施方式与上一实施例中的步骤s210至步骤s220的实施方式相同,此处不再赘述。

本发明实施例提供的进程间通信的方法,通过主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式,并根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信,本方案提供了一套进程间通信的通用方法,使得业务逻辑处理方式与进程间的通信不再耦合,实现了只需修改配置文件即可实现子进程的接入,无需再关注复杂的多进程编程,也能实现更多的业务场景,并且降低了系统的开销。

请参阅图7,是本发明第三实施例提供的进程间通信的装置400的功能模块示意图。所述进程间通信的装置400包括创建模块410,通信模块420。

创建模块410,用于根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式。

通信模块420,用于根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

作为一种实施方式,所述装置还包括接收模块430,所述接收模块430用于接收待处理任务;所述通信模块420,具体用于分别根据与各个所述子进程间的通信方式,将所述待处理任务发送到各个所述子进程,以使各个所述子进程接收到所述待处理任务并调用各个所述子进程对应的业务逻辑处理方式进行处理。

作为一种实施方式,所述通信方式包括:管道方式、消息队列方式、共用内存方式、及信号方式中的至少一种。

作为一种实施方式,若所述主进程与所述子进程的通信方式为管道方式,所述通信模块420,具体用于用往管道中写入所述待处理任务对应的数据,以使所述子进程从所述管道中读取所述待处理任务对应的数据,并调用所述子进程对应的业务逻辑处理方式处理所述待处理任务对应的数据。

作为一种实施方式,若所述主进程与所述子进程的通信方式为消息队列方式,所述通信模块420,具体用于往消息队列中写入所述待处理任务对应的消息,以使所述子进程依次从所述消息队列中读取所述待处理任务对应的消息,并调用所述子进程对应的业务逻辑处理方式处理读取到的消息,直到所述消息队列中的所有所述待处理任务对应的消息全部处理完毕。

作为一种实施方式,若所述主进程与所述子进程间不通信,所述装置包括处理模块440,用于所述子进程调用对应的业务逻辑处理方式处理所述待处理任务。

作为一种实施方式,所述装置还包括获取模块450,用于获取执行命令;所述创建模块410,具体用于所述主进程判断所获取的执行命令的类型;若所述执行命令为开始命令,所述主进程根据配置文件,创建对应的各个子进程。

作为一种实施方式,所述装置还包括退出模块460,用于在所述主进程判断所获取的执行命令的类型之后,若所述执行命令为停止命令,所述主进程退出,各个所述子进程执行完当前待处理任务后退出。

作为一种实施方式,所述装置还包括重启模块470,用于在所述主进程判断所获取的执行命令的类型之后,若所述执行命令为重启命令,所述主进程执行所述停止命令对应的操作后,执行所述开始命令对应的操作。

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于电子设备的存储器101内。以上各模块同样可以由硬件例如集成电路芯片实现。

本发明第四实施例提供了一种电子设备,所述电子设备包括存储器及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时以使所述处理器执行以下操作:

主进程根据配置文件,创建对应的各个子进程,其中,所述配置文件中包括子进程的数目、所述主进程分别与各个所述子进程间的通信方式以及各个所述子进程对应的业务逻辑处理方式;

所述主进程根据与各个所述子进程间的通信方式,实现与各个所述子进程间的通信。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例所提供的进程间通信的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第三等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1