一种基于DPDK的智能容错方法转让专利

申请号 : CN201811026480.3

文献号 : CN109271268B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘峰李志恒赵瑞东李岩朱书杉刘强

申请人 : 超越科技股份有限公司

摘要 :

本发明提供一种基于DPDK的智能容错方法,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;启动并运行DPDK环境抽象层,基于DPDK环境抽象层运行时启动智能容错模块;智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。可以避免如果其中某个核心线程出现故障,会导致相应收发队列的数据报文无法处理,导致报文丢失的问题。

权利要求 :

1.一种基于DPDK的智能容错方法,其特征在于,方法包括:步骤一,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;

步骤二,启动并运行DPDK环境抽象层,基于DPDK环境抽象层运行时启动智能容错模块;

步骤三,智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果;

步骤三还包括:

智能容错模块对各个处理器线程运行状态进行实时监控;

当检测到处理器的某一数据处理线程出现故障,则对所述线程进行初始化,重新启动所述线程,将故障信息,初始化信息以及重启信息记录至日志中,并形成智能容错机制,保证数据包接收或发送队列不会出现拥塞,而导致网络丢包或中断。

2.根据权利要求1所述的基于DPDK的智能容错方法,其特征在于,步骤二的启动并运行DPDK环境抽象层还包括:运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;

运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;

运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发包线程。

3.根据权利要求1所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

当某一处理器的运行参数存在异常,智能容错模块读取与所述处理器相应的数据收发队列的负载信息,并根据队列的负载信息判断数据收发是否正常;

如果数据收发不正常,智能容错模块初始化所述处理器,并重启运行在所述处理器上的线程,智能容错模块对重启运行在所述处理器上的线程进行监测。

4.根据权利要求1所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

当处理器的某一线程运行时长超出阈值时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,判断数据收发队列当前的负载信息是否运行超时;

如果数据收发队列当前的负载信息运行超时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行在先运行超时长的线程,智能容错模块判断是否再次超时;

如再次超时,再初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍运行超时,则向DPDK环境抽象层发出线程运行超时长提示。

5.根据权利要求3所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

当处理器的结束当前的线程未能自动跳转至下一接续线程时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,控制执行下一接续线程;

如果执行完接续线程后仍未能自动跳转至下一接续线程时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行接续线程,执行完成后,智能容错模块判断是否能自动跳转至下一接续线程;

如再次未能自动跳转至下一接续线程时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下一接续线程时,则向DPDK环境抽象层发出未能自动跳转至下一接续线程提示。

6.根据权利要求3所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

当处理器的结束当前的数据收发队列,且未能自动跳转至下一接续数据收发队列时,智能容错模块读取与处理器所述数据收发队列负载信息,控制执行下一接续数据收发队列;

如果执行完接续数据收发队列后仍未能自动跳转至下一接续数据收发队列时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,再次执行接续数据收发队列,执行完成后,智能容错模块判断是否能自动跳转至下一接续数据收发队列;

如再次未能自动跳转至下一接续数据收发队列时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下一接续数据收发队列时,则向DPDK环境抽象层发出未能自动跳转至下一接续数据收发队列提示。

7.根据权利要求1所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

智能容错模块每经过一预设时长读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。

8.根据权利要求7所述的基于DPDK的智能容错方法,其特征在于,步骤三还包括:

智能容错模块将当前读取到的处理器的运行参数缓存至容错缓存区,再经过一预设时长后,再次读取处理器的运行参数,并将再次读取处理器的运行参数缓存至容错缓存区;

当缓存至预设次数数量的读取处理器运行参数后,将缓存数据信息存储至智能容错模块的储存器内。

说明书 :

一种基于DPDK的智能容错方法

技术领域

[0001] 本发明涉及数据处理领域,尤其涉及一种基于DPDK的智能容错方法。

背景技术

[0002] 随着网络通信技术的发展,网络带宽迅速提高,千兆、万兆网络逐渐普及,40Gb网络在电信运营商、大型企业级骨干网络中大规模应用。在新的网络形势下,面对大量高吞
吐、高并发的网络环境,基于传统操作系统内核的网络数据收集机制在丢包率以及吞吐量
方面已经难以匹配现有的需求。在当前高速网络中,高性能系统需要在极其有限的时间内
成功地收集和处理大量数据,因此如何高效、完整、快速捕获数据包,是准确分析网络数据
的基础以及进行下一步管控的关键。
[0003] DPDK即英特尔数据平面开发套件,是基于X86平台开发专为报文快速处理而提供的一系列库和驱动的集合。DPDK通过环境抽象层数据平面功能以取代内核的系统调用,使
用UIO机制使网卡驱动程序运行在用户态,绕开内核网络协议栈,采用轮询和零拷贝技术从
网卡收取报文,并且使用大页和CPU亲和机制提高应用程序处理报文的性能,由此可以节约
开销,达到提高数据包处理性能的要求。
[0004] 随着通用多核处理器的技术发展,目前往往采用基于DPDK的多核心、多队列网络数据包收发的加速设计,提高了网络数据报文的收发速率和吞吐率。在此软件架构中,如果
其中某个核心线程出现故障,会导致相应收发队列的数据报文无法处理,进而导致报文丢
失。

发明内容

[0005] 为了克服上述现有技术中的不足,本发明提供一种基于DPDK的智能容错方法,方法包括:
[0006] 步骤一,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0007] 步骤二,启动并运行DPDK环境抽象层,基于DPDK环境抽象层运行时启动智能容错模块;
[0008] 步骤三,智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。
[0009] 优选地,步骤二的启动并运行DPDK环境抽象层还包括:
[0010] 运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0011] 运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0012] 运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发
包线程。
[0013] 优选地,步骤三还包括:
[0014] 智能容错模块对各个处理器线程运行状态进行实时监控;
[0015] 当检测到处理器的某一数据处理线程出现故障,则对所述线程进行初始化,重新启动所述线程,将故障信息,初始化信息以及重启信息记录至日志中,并形成智能容错机
制,保证数据包接收或发送队列不会出现拥塞,而导致网络丢包或中断。
[0016] 优选地,步骤三还包括:
[0017] 当某一处理器的运行参数存在异常,智能容错模块读取与所述处理器相应的数据收发队列的负载信息,并根据队列的负载信息判断数据收发是否正常;
[0018] 如果数据收发不正常,智能容错模块初始化所述处理器,并重启运行在所述处理器上的线程,智能容错模块对重启运行在所述处理器上的线程进行监测。
[0019] 优选地,步骤三还包括:
[0020] 当处理器的某一线程运行时长超出阈值时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,判断数据收发队列当前的负载信息是否运行超时;
[0021] 如果数据收发队列当前的负载信息运行超时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行在先运行超时长的线
程,智能容错模块判断是否再次超时;
[0022] 如再次超时,再初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍运行超时,则向DPDK环境抽象层发出线程运行超时长提
示。
[0023] 优选地,步骤三还包括:
[0024] 当处理器的结束当前的线程未能自动跳转至下一接续线程时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,控制执行下一接续线程;
[0025] 如果执行完接续线程后仍未能自动跳转至下一接续线程时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行接续线程,
执行完成后,智能容错模块判断是否能自动跳转至下一接续线程;
[0026] 如再次未能自动跳转至下一接续线程时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下一接续线
程时,则向DPDK环境抽象层发出未能自动跳转至下一接续线程提示。
[0027] 优选地,步骤三还包括:
[0028] 当处理器的结束当前的数据收发队列,且未能自动跳转至下一接续数据收发队列时,智能容错模块读取与处理器所述数据收发队列负载信息,控制执行下一接续数据收发
队列;
[0029] 如果执行完接续数据收发队列后仍未能自动跳转至下一接续数据收发队列时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,再次执行接续
数据收发队列,执行完成后,智能容错模块判断是否能自动跳转至下一接续数据收发队列;
[0030] 如再次未能自动跳转至下一接续数据收发队列时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下
一接续数据收发队列时,则向DPDK环境抽象层发出未能自动跳转至下一接续数据收发队列
提示。
[0031] 优选地,步骤三还包括:
[0032] 智能容错模块每经过一预设时长读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。
[0033] 优选地,步骤三还包括:
[0034] 智能容错模块将当前读取到的处理器的运行参数缓存至容错缓存区,再经过一预设时长后,再次读取处理器的运行参数,并将再次读取处理器的运行参数缓存至容错缓存
区;
[0035] 当缓存至预设次数数量的读取处理器运行参数后,将缓存数据信息存储至智能容错模块的储存器内。
[0036] 从以上技术方案可以看出,本发明具有以下优点:
[0037] 智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。可以避免如果其中某个核心线程出现故障,会导致相应收发队列的数据报
文无法处理,导致报文丢失的问题。
[0038] 本发明中,当某一处理器的运行参数存在异常,智能容错模块读取与所述处理器相应的数据收发队列的负载信息,并根据队列的负载信息判断数据收发是否正常;如果数
据收发不正常,智能容错模块初始化所述处理器,并重启运行在所述处理器上的线程,智能
容错模块对重启运行在所述处理器上的线程进行监测。这样可以自动恢复系统运行,自动
排查排除故障。
[0039] 智能容错模块配置有数据读取及处理日志,数据读取及处理日志实时记录读取到处理器的运行参数异常信息,或处理器的数据处理线程故障信息,以及后续处理过程。数据
读取及处理日志保存在智能容错模块的储存器内,防止日志信息丢失。

附图说明

[0040] 为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术
人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1为基于DPDK的智能容错方法流程图;
[0042] 图2为基于DPDK的智能容错方法实施例流程图;
[0043] 图3为基于DPDK的智能容错方法实施例流程图;
[0044] 图4为基于DPDK的智能容错方法实施例流程图。

具体实施方式

[0045] 本发明提供一种基于DPDK的智能容错方法,如图1所示,方法包括:
[0046] S1,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0047] S2,启动并运行DPDK环境抽象层,基于DPDK环境抽象层运行时启动智能容错模块;
[0048] S3,智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。
[0049] 智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。可以避免如果其中某个核心线程出现故障,会导致相应收发队列的数据报
文无法处理,导致报文丢失的问题。
[0050] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施
例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技
术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范
围。
[0051] 本发明提供的实施例中,如图2所示,
[0052] S11,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0053] S12,运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0054] S13,运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0055] S14,运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的
收发包线程。
[0056] S15,智能容错模块实时的读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。
[0057] 如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可
实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或
更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。
[0058] 本发明提供的实施例中,如图3所示,
[0059] S21,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0060] S22,启动并运行DPDK环境抽象层,基于DPDK环境抽象层运行时启动智能容错模块;
[0061] S23,智能容错模块对各个处理器线程运行状态进行实时监控;
[0062] S24,当检测到处理器的某一数据处理线程出现故障,则对所述线程进行初始化,重新启动所述线程,将故障信息,初始化信息以及重启信息记录至日志中,并形成智能容错
机制,保证数据包接收或发送队列不会出现拥塞,而导致网络丢包或中断。
[0063] 本发明提供的实施例中,如图4所示,
[0064] S31,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0065] S32,运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0066] S33,运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0067] S34,运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的
收发包线程。
[0068] S35,智能容错模块对各个处理器线程运行状态进行实时监控;
[0069] S36,当检测到处理器的某一数据处理线程出现故障,则对所述线程进行初始化,重新启动所述线程,将故障信息,初始化信息以及重启信息记录至日志中,并形成智能容错
机制,保证数据包接收或发送队列不会出现拥塞,而导致网络丢包或中断。
[0070] 本发明提供的实施例中,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0071] 运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0072] 运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0073] 运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发
包线程。
[0074] 当某一处理器的运行参数存在异常,智能容错模块读取与所述处理器相应的数据收发队列的负载信息,并根据队列的负载信息判断数据收发是否正常;
[0075] 如果数据收发不正常,智能容错模块初始化所述处理器,并重启运行在所述处理器上的线程,智能容错模块对重启运行在所述处理器上的线程进行监测。
[0076] 本发明提供的实施例中,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0077] 运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0078] 运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0079] 运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发
包线程。
[0080] 当处理器的某一线程运行时长超出阈值时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,判断数据收发队列当前的负载信息是否运行超时;
[0081] 如果数据收发队列当前的负载信息运行超时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行在先运行超时长的线
程,智能容错模块判断是否再次超时;
[0082] 如再次超时,再初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍运行超时,则向DPDK环境抽象层发出线程运行超时长提
示。
[0083] 本发明提供的实施例中,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0084] 运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0085] 运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0086] 运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发
包线程。
[0087] 当处理器的结束当前的线程未能自动跳转至下一接续线程时,智能容错模块读取与处理器所述线程的相应数据收发队列负载信息,控制执行下一接续线程;
[0088] 如果执行完接续线程后仍未能自动跳转至下一接续线程时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,数据收发队列再次执行接续线程,
执行完成后,智能容错模块判断是否能自动跳转至下一接续线程;
[0089] 如再次未能自动跳转至下一接续线程时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下一接续线
程时,则向DPDK环境抽象层发出未能自动跳转至下一接续线程提示。
[0090] 本发明提供的实施例中,DPDK环境抽象层配置智能容错模块与各个处理器的连接接口及通信通道,使智能容错模块与各个处理器通过单独的通信通道通信连接;
[0091] 运行DPDK环境抽象层对系统的内存、日志以及PCI总线进行初始化;
[0092] 运行DPDK环境抽象层对多线程框架的初始化,创建预设数量的线程,绑定到智能容错模块以及系统的每个处理器;
[0093] 运行DPDK环境抽象层对各个处理器执行应用初始化程序,处理器初始化完毕后,DPDK环境抽象层通过远程方式启动每个处理器上的收发包线程,以及智能容错模块的收发
包线程。
[0094] 当处理器的结束当前的数据收发队列,且未能自动跳转至下一接续数据收发队列时,智能容错模块读取与处理器所述数据收发队列负载信息,控制执行下一接续数据收发
队列;
[0095] 如果执行完接续数据收发队列后仍未能自动跳转至下一接续数据收发队列时,智能容错模块初始化所述处理器,并重启运行所述处理器上的数据收发队列,再次执行接续
数据收发队列,执行完成后,智能容错模块判断是否能自动跳转至下一接续数据收发队列;
[0096] 如再次未能自动跳转至下一接续数据收发队列时,初始化所述处理器,并重启运行所述处理器上的数据收发队列,进行判断;如达到预设重启次数后,仍未能自动跳转至下
一接续数据收发队列时,则向DPDK环境抽象层发出未能自动跳转至下一接续数据收发队列
提示。
[0097] 本发明提供的实施例中,智能容错模块每经过一预设时长读取处理器的运行参数,并对运行参数进行判断分析,输出判断分析结果。这样可以避免太频繁的读取每个处理
器的运行参数导致耗费系统资源,影响系统数据处理效率。
[0098] 本发明提供的实施例中,智能容错模块将当前读取到的处理器的运行参数缓存至容错缓存区,再经过一预设时长后,再次读取处理器的运行参数,并将再次读取处理器的运
行参数缓存至容错缓存区;
[0099] 当缓存至预设次数数量的读取处理器运行参数后,将缓存数据信息存储至智能容错模块的储存器内。
[0100] 如果读取到处理器的运行参数异常信息,或处理器的数据处理线程故障信息时,智能容错模块可以基于继续跟进读取异常信息,或线程故障信息的后续进程,并缓存在容
错缓存区,便于用户调研读取,而且一个阶段一个阶段的缓存,可以使智能容错模块读取的
数据具有一定的追溯性,便于用户查找,提高智能容错模块基于数据信息的读取。
[0101] 其中智能容错模块配置有数据读取及处理日志,数据读取及处理日志实时记录读取到处理器的运行参数异常信息,或处理器的数据处理线程故障信息,以及后续处理过程。
数据读取及处理日志保存在智能容错模块的储存器内,防止日志信息丢失。
[0102] 计算机可读介质的计算机程序产品可以形成一部分,其可以包括包装材料。数据的计算机可读介质可以包括计算机存储介质,诸如随机存取存储器(RAM),只读存储器
(ROM),非易失性随机存取存储器(NVRAM),电可擦可编程只读存储器(EEPROM),闪存,磁或
光学数据存储介质,和类似物。在一些实施例中,一种制造产品可包括一个或多个计算机可
读存储媒体。
[0103] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。