发明内容
本发明提供一种参数配置的方法和设备,在配置参数保存的时候,仅传递变化的部分给服务器端。
为达到上述目的,本发明一方面提供了一种参数配置方法,应用于包括至少一个客户端和一个服务端的系统中,所述服务端为所述至少一个客户端配置参数,并为所述至少一个客户端所配置的参数集生成对应的快照和配置时间标识,所述方法包括:
当所述至少一个客户端所配置的参数集发生修改时,所述服务端接收所述至少一个客户端发送的所述参数集中发生修改的参数,并获取为所述参数集发生修改的时间对应的修改时间标识;
所述服务端根据所述至少一个客户端所配置的参数集所对应的快照、所述配置时间标识、所述发生修改的参数和所述修改时间标识,按照预设的策略,生成所述至少一个客户端所对应的新的参数集;
所述服务端根据所述新的参数集更新相应的客户端所配置的参数集。
优选的,所述参数集发生修改的时间对应的修改时间标识,具体为:
所述参数集发生修改的时间对应的修改时间标识由所述服务端生成;或,
如果所述至少一个客户端和所述服务端中的时间信息同步,所述参数集发生修改的时间所对应的修改时间标识也可以由所述客户端生成;
其中,当所述参数集发生修改的时间对应的修改时间标识由所述客户端生成时,所述方法还包括:
所述客户端在向所述服务端发送所述参数集中发生修改的参数的同时,向所述服务端发送所述修改时间标识。
优选的,所述服务端根据所述至少一个客户端所配置的参数集所对应的快照、所述配置时间标识、所述发生修改的参数和所述修改时间标识,通过以下策略生成所述至少一个客户端所对应的新的参数集:
根据所述服务端接收到的具有最新的修改时间标识的客户端所发送的发生修改的参数,与所述至少一个客户端所配置的参数集所对应的快照生成所述至少一个客户端所对应的新的参数集;或,
识别向所述服务端发送发生修改的参数的客户端的优先级,选择优先级最高的客户端发送的发生修改的参数,与所述至少一个客户端所配置的参数集所对应的快照生成所述至少一个客户端所对应的新的参数集。
优选的,所述服务端根据所述至少一个客户端所配置的参数集所对应的快照、所述配置时间标识、所述发生修改的参数和所述修改时间标识,生成所述至少一个客户端所对应的新的参数集,具体为:
所述服务端查找所述发生修改的参数所在参数集所对应的快照;
所述服务端将所述发生修改的参数与所述快照所对应的参数集相合并,生成所述至少一个客户端所对应的新的参数集。
优选的,所述服务端根据所述新的参数集更新相应的客户端所配置的参数集,具体包括:
所述服务端向所有按照原有参数集进行参数配置的客户端和当前所有查看原有参数集的客户端发送所述新的参数集;或,
所述服务端通知所有按照原有参数集进行参数配置的客户端和当前所有查看原有参数集的客户端所述原有参数集变更为所述新的参数集,所述客户端向所述服务端请求获取所述新的参数集,所述服务端向所述客户端发送所述新的参数集。
上述两种情况中,所述服务端向所述客户端发送的所述新的参数集具体为:
所述服务端根据所述客户端所对应的原有参数集所生成的变化参数;或,
完整的所述新的参数集。
优选的,所述服务端为所述至少一个客户端所配置的参数集生成对应的快照,还包括:
当至少两个客户端所配置的参数集存在公共数据时,所述服务端为所述至少两个客户端所配置的参数集生成一份复合快照,所述复合快照所对应的数据量等于包括所述至少两个客户端所配置的参数集的数据量之和。
优选的,所述方法还包括快照清除机制,具体为:
所述服务端中的进程启动时,清除所述服务端中上一次进程所对应的所有快照;
所述服务端中的进程关闭时,清除所述服务端中的所有快照。
另一方面,本发明还提供了一种服务端设备,应用于包括至少一个客户端和一个服务端的系统中,包括:
收发模块,用于向所述至少一个客户端发送参数集,为所述至少一个客户端配置参数,并在所述至少一个客户端中的参数发生变化时,用于接收所述至少一个客户端所发送的参数集变化信息;
生成模块,与所述收发模块连接,用于将所述收发模块为所述至少一个客户端所配置的参数集生成对应的快照和配置时间标识;
处理模块,与所述生成模块和所述收发模块连接,用于管理所述生成模块所生成的快照,并根据所述收发模块所接收所述客户端的参数集变化信息,对所述生成模块为所述客户端所生成的快照进行修改。
优选的,所述收发模块所接收的参数集变化信息中包含所述客户端发送的所述参数集中发生修改的参数,具体为:
当所述收发模块所接收的参数集变化信息中包含所述客户端中的参数集发生修改的时间所对应的修改时间标识时,所述收发模块还用于接收所述修改时间标识;
当所述收发模块所接收的参数集变化信息中不包含所述客户端中的参数集发生修改的时间所对应的修改时间标识时,所述生成模块还用于根据所述收发模块接收所述客户端发送的所述参数集中发生修改的参数的时间,生成修改时间标识。
优选的,所述生成模块,具体包括:
快照生成子模块,用于将所述收发模块为所述至少一个客户端所配置的参数集生成对应的快照;
标识生成子模块,与所述快照生成子模块连接,用于根据所述收发模块为所述至少一个客户端所配置的参数集的时间,为所述快照生成子模块所生成的快照生成对应的配置时间标识,如果所述至少一个客户端和所述服务端设备中的时间信息同步,还用于生成所述修改时间标识;
存储子模块,与所述快照生成子模块和所述标识生成子模块连接,用于存储所述快照生成子模块生成的快照和所述标识生成子模块生成的配置时间标识和/或修改时间标识。
优选的,所述处理模块,具体包括:
策略子模块,用于设置进行参数修改的策略;
合成子模块,与所述策略子模块连接,用于根据所述生成模块生成的所述客户端所配置的参数集所对应的快照、所述配置时间标识,所述收发模块所接收的所述客户端发生修改的参数,和由所述收发模块接收或所述生成模块生成的所述修改时间标识,按照所述策略子模块所设置的参数修改策略,合成所述至少一个客户端所对应的新的参数集。
其中,所述策略子模块所设置的参数修改策略具体包括:
根据所述服务端接收到的具有最新的修改时间标识的客户端所发送的发生修改的参数,与所述至少一个客户端所配置的参数集所对应的快照生成所述至少一个客户端所对应的新的参数集;或,
识别向所述服务端发送发生修改的参数的客户端的优先级,选择优先级最高的客户端发送的发生修改的参数,与所述至少一个客户端所配置的参数集所对应的快照生成所述至少一个客户端所对应的新的参数集。
优选的,所述服务端设备还包括清除模块,用于在所述服务端中的进程启动时,清除所述服务端中上一次进程所对应的所有快照;还用于在所述服务端中的进程关闭时,清除所述服务端中的所有快照。
与现有技术相比,本发明具有以下优点:
通过本发明,客户端在配置参数保存的时候,仅传递变化的部分给服务器端,而服务端利用快照,解决多个客户端配置带来的冲突问题,进一步的,由于仅传递参数变化的部分数据,减少了网络传输时延,节约了网络资源,提高了配置效率。
具体实施方式
如背景技术所述,在现有的客户端与服务端之间的参数传递机制中,无论是初次参数配置还是参数变更,都需要在客户端与服务端之间传递全部参数,其中包括未发生更改的参数,这样的传递机制浪费了网络资源,并且,由于存在大量无必要数据的传输,也影响了参数配置的效率。因此,本发明提出的方案是仅传递发生更改的参数,而不再传递未发生更改的参数,从而节约网络资源,为了进一步识别哪些数据发生更改,本发明提出了通过快照进行数据变化的识别。
下面,对本发明的技术方案进行详细说明。
本发明提出了一种参数配置方法,该方法应用于包括至少一个客户端和一个服务端的系统中。
如图1所示,为本发明提出的一种参数配置方法的流程示意图,具体包括以下步骤:
步骤S101、服务端为至少一个客户端配置参数,并为客户端所配置的参数集生成对应的快照和配置时间标识。
该配置时间标识可以标记该快照被应用于客户端的时间。
在具体的应用场景中,如果至少两个客户端所配置的参数集存在公共数据,则服务端为至少两个客户端所配置的参数集生成一份复合快照,复合快照所对应的数据量等于包括至少两个客户端所配置的参数集的数据量之和。这样的设置,有效的避免此种情况下,具有公共数据部分的快照修改对彼此之间产生的影响。
当至少一个客户端所配置的参数集发生修改时,执行步骤S102。
步骤S102、服务端接收至少一个客户端发送的参数集中发生修改的参数,并获取与参数集发生修改的时间对应的修改时间标识。
需要说明的是,在本步骤中,修改时间标识可以是由服务端生成的。并且,如果服务端和客户端的时间设置是同步的,则上述的修改时间标识也可以由客户端生成,然后连同发生修改的参数一同发送给服务端。
该修改标识的作用在于标记参数修改发生的时间,服务端可以据此识别具体的修改发生时间,并进行相应的处理。在后续步骤中会详细说明。
步骤S103、服务端根据各客户端所配置的参数集所对应的快照、配置时间标识、发生修改的参数和修改时间标识,按照预设的策略,生成各客户端所对应的新的参数集。
上述的生成新的参数集的策略具体包括以下两种:
策略一、根据接收到修改参数的时间顺序进行处理。
当服务端接收到多个客户端发送的修改参数,或者接收到同一个客户端发送的多个修改参数时,服务端直接根据所接收到的最新的修改参数,与该客户端所配置的参数集所对应的快照生成该客户端所对应的新的参数集。
具体的,上述最新的修改参数的判断标准就是该修改参数的修改时间标识。修改时间标识所对应的时间最晚的修改参数即为最新的修改参数。
策略二、根据发送修改参数的客户端的优先级进行处理。
当服务端接收到多个客户端发送的修改参数时,服务端识别接收到的修改参数所对应的客户端的优先级,将优先级最高的客户端所发送的修改参数,与该客户端所配置的参数集所对应的快照生成该客户端所对应的新的参数集。
具体的优先级设定规则可以根据具体环境需求来设定,具体规则内容的变化并不影响本发明的保护范围。
根据上述策略选择出的修改参数按照以下步骤生成新的参数集:
服务端查找发生修改的参数所在参数集所对应的快照;
服务端将发生修改的参数与快照所对应的参数集相合并,生成客户端所对应的新的参数集。
步骤S104、服务端根据新的参数集更新相应的客户端所配置的参数集。
在具体的应用场景中,本步骤具体包括以下两种情况:
情况一、服务端向所有按照原有参数集进行参数配置的客户端和当前所有查看原有参数集的客户端发送新的参数集。
这种情况是依赖于服务端的主动推送,即服务端发现参数集发生变化后,直接向相关的客户端发送新的参数集进行参数更新,在发送新的参数集的过程中,生成新的参数集的快照和配置时间标识。
在具体的场景中,可以认为此步骤与步骤S101构成了操作流程的循环。
情况二、服务端通知所有按照原有参数集进行参数配置的客户端和当前所有查看原有参数集的客户端原有参数集变更为新的参数集,客户端向服务端请求获取新的参数集,服务端向客户端发送新的参数集。
这种情况是依赖于客户端在服务端通知基础上的的主动获取,即服务端发现参数集发生变化后,通知相关的客户端,相关客户端接到通知后,主动向服务端进行新的参数集的获取。
具体的获取方式可以使客户端向服务端发送请求,服务端根据请求向客户端发送新的参数集。
需要指出的是,上述两种情况中,服务端向客户端发送的新的参数集具体可以包括以下两种情况:
服务端根据客户端所对应的原有参数集所生成的变化参数;或,
完整的新的参数集。
具体采用上述哪种形式发送新的参数集并不影响本发明的保护范围。
在具体的应用场景中,上述的方法还包括快照清除机制,具体为:
当服务端中的进程启动时,清除服务端中上一次进程所对应的所有快照;
当服务端中的进程关闭时,清除服务端中的所有快照。
上述的两个设置需要同时存在于服务端中,这样的设置可以有效的避免由于非正常开启或关闭进行对快照数据的影响,提高了服务端中的快照数据的安全性。
与现有技术相比,本发明具有以下优点:
通过本发明,客户端在配置参数保存的时候,仅传递变化的部分给服务器端,而服务端利用快照,解决多个客户端配置带来的冲突问题,进一步的,由于仅传递参数变化的部分数据,减少了网络传输时延,节约了网络资源,提高了配置效率。
下面,进一步结合具体的实施场景,对本发明的技术方案进行说明。如图2所示,本发明的技术方案具体包括以下步骤:
步骤S201、服务端对客户端A进行参数配置,并生成相应的快照和时间戳。
客户端A从服务端获取需要配置的参数集Parameters1,在具体的应用场景中,这些参数可以是一个设备的配置参数,也可以是一个群组的配置参数。
服务端为参数集Parameters1生成一个时间戳TimeStampServer1和快照SnapShot1,快照SnapShot1记录参数集Parameters1的内容,其中的时间戳TimeStampServer1即为配置时间标识。
当客户端A所配置的参数集中的数据发生变化时,执行步骤S202。
步骤S202、服务端接收客户端A发送的变化数据,并获取与该变化数据发生修改的时间相对应的修改时间戳。
用户在客户端A修改参数,客户端A记录用户的修改。
用户选择提交保存修改后的参数时,客户端A生成一个变化数据的时间戳TimeStampClient1。将变化的数据Change1和时间戳TimeStampClient1一起发给服务端。其中,时间戳TimeStampClient1即为修改时间戳。进一步的,如果服务端与客户端A中的时间设置一致,时间戳TimeStampClient1也可以在客户端A提交变化的数据Change1到服务端之后,由服务端生成。
步骤S203、服务端合成最终配置参数。
在具体的应用场景中,如果多个客户端所引用的配置参数存在公共参数,则服务器为上述多个客户端生成一份共同的复合快照,该快照所对应的数据量等于上述多个客户端所配置的参数集的数据量之和。
在这种情况下,同一配置份参数可能由多个客户端进行了修改,并提交给服务端。服务端根据客户端提供的变化数据和时间戳,根据一定策略,合成最终的配置参数,并保存起来。
在具体的应用场景中,合成最终配置参数的策略包括:
(1)按照提交时间顺序进行选择。
选择时间戳TimeStampClient1最新的变化数据合成最终的配置参数,即按照最新的修改进行参数集的更新。
(2)按照客户端的优先级进行选择。
同一时刻存在两个或者两个以上的客户端提交了配置修改信息,则按照客户端的优先级进行选择。选择优先级高的客户端所提交的配置修改信息,并与原用的配置信息合成最终配置参数。
在本步骤中,服务端合成最终配置参数的方法具体是:
服务端找到客户端上报的变化数据ChangeX所对应的原有的配置数据的快照SnapShotX;
将ChangeX应用到SnapShotX中,合成最终配置参数。
步骤S204、服务端对客户端进行配置更新。
服务端发现参数发生变化之后,需要将新的参数更新到相关的客户端。
如前所述,具体的配置更新的流程包括两种情况:
情况一、服务端发现参数集Parameters1发生变化之后,需要通知到当前正在配置或者查看参数集Parameters1的客户端;
客户端重新从服务端获取最新的参数集Parametersl。
在此过程中,客户端重新获取参数集Parameters1的策略具体如下:
服务端基于客户端先前已经获取的参数集的快照SnapShotY,生成变化数据ChangeServerY,并将该变化数据发送给客户端,客户端将接收到的变化数据与原有的配置信息合成呈现给用户的新的参数集Parameters1。在该方法中,服务端仅向客户端传递了参数集发生变化的部分,而不是将整个参数集全部发送给客户端,从而,减少了网络传送的数据量,但是需要服务端计算需要传递的数据,而客户端也需要根据相应的数据计算出新的参数集Parameters1,这需要在服务端和客户端中配置相应的计算策略,具体策略的内容变化并不会影响本发明的保护范围。
情况二、客户端重新从服务端获取所有的参数集Parameters1。在这种情况中,服务端和客户端之间传输的数据量和客户端第一次由服务端中所获取的参数集Parameters1所包含的数据量一样多,在此种情况下,无需设置上述的计算策略,但是在服务端和客户端之间传输的数据量仍为参数集的全部数据量。
在实际的应用场景中,具体应用上述的哪种情况进行数据传输并不影响本发明的保护范围。
通过本发明,客户端在配置参数保存的时候,仅传递变化的部分给服务器端,而服务端利用快照,解决多个客户端配置带来的冲突问题,进一步的,由于仅传递参数变化的部分数据,减少了网络传输时延,节约了网络资源,提高了配置效率。
需要进一步说明的是,对于服务端生成的快照数据,本发明同样提出了相应的管理策略,先对其进行详细说明。
在实际的应用场景中,一份完整的配置按照逻辑可以分成多个组成部分。比如,对于一个用户端的参数,存在视频参数、语音参数、网络参数等多个部分。
客户端读取配置参数的时候,服务端为该客户端所读取的参数集生成一份快照SnapShot。例如:客户端B读取参数集B,服务端为客户端B生成了相应的快照SnapShotB;客户端C读取参数集C,服务端为客户端C生成了相应的快照SnapShotC。
在具体的应用过程中,如果参数集B和参数集C存在参数重叠,那么,如果客户端B修改了参数集B,可能会影响到客户端C所应用的参数。这样的情况使快照管理变的复杂化。
为了简化快照的管理,本发明的技术方案不允许各快照中对应的参数存在重叠情况。
如图3所示的情况,如果参数集B和参数集C存在参数重叠,则服务端生成一份新的快照SnapShotBC,如图4所示。
快照SnapShotBC为参数集B和参数集C的一个共同的快照。SnapShotBC中同时保存了参数集B和参数集C的内容,同时该快照被客户端B和客户端C所引用的数据数目为前述两个快照SnapShotB和SnapShotC的被引用数据数目之和。在极端的情况下,SnapShotBC可能覆盖了所有的参数集。
基于上述的设置,如果客户端B或者客户端C修改各自的参数集,也不会对其他参数集产生影响。
需要说明的是,上述的快照设置是本发明在具体实施场景中的实现方式,如果多个客户端所引用的参数集不存在公共数据,则只需要为各个客户端生成独立的快照即可。此时,各个快照及其所对应的参数相互独立,某个或某几个客户端的参数修改不会影响其他客户端的参数配置,一个快照的变迁不影响另一个快照的存在。
但是,当多个客户端配置同一个参数集进而引用同一份快照(例如,规模化的批量客户端设置),或者多个客户端所配置的不同参数集之间存在公共数据,所以引用同一个快照(例如,同时需要高音质参数配置的高清视频客户端和普通视频客户端)时,本发明的技术方案还涉及到因为某个客户端所提交的参数修改而导致快照修改的情况下,该快照所对应的其他客户端设备的参数更新。即前述的服务端主动推送新的参数信息,或在服务端通知的前提下,客户端主动获取新的参数集。
下面,结合具体的应用场景描述一个对应多个用户的快照的变化过程,具体如图5所示。
1、X个用户打开同一份配置参数集ParametersBC,服务端生成一份快照SnapShotBC,并在快照SnapShotBC引用数中标识当前被引用的数目为X;快照SnapShotBC记录参数集ParametersBC的内容。
2、M(M>=1)个用户提交修改到服务端,服务端根据选择策略,选择一个用户提交的变化数据ChangeX,与原有的参数集ParametersBC合成最终的配置参数集ParametersBC’,并清除已存在的对应的快照SnapShotBC;如果X-M的结果等于或小于0,即全部客户端都已经应用了相应的修改,则处理完毕;如果X-M大于0,即还存在客户端没有接受上述的参数修改,则生成一个新的快照SnapShotBC’,并继续执行以下步骤。
3、服务端通知X-M个客户端,更新客户端的配置参数。
4、客户端更新配置参数,服务端标识快照SnapShotBC’被引用的数目为X-M。
5、如果剩下的客户端再次提交参数修改,则相应的流程同上。
6、客户端A打开的参数集A和参数集B、参数集C不存在数据重叠,所以当参数集B和参数集C发生变化时,客户端A不需要进行相应的更新。
通过本发明,客户端在配置参数保存的时候,仅传递变化的部分给服务器端,而服务端利用快照,解决多个客户端配置带来的冲突问题,进一步的,由于仅传递参数变化的部分数据,减少了网络传输时延,节约了网络资源,提高了配置效率。
为了实现上述的本发明所提出的技术方案,本发明还提出了一种服务端设备,应用于包括至少一个客户端1和一个服务端2的系统中,如图6所示,包括收发模块21、生成模块22和处理模块23:
收发模块21,用于向至少一个客户端1发送参数集,为至少一个客户端1配置参数,并在至少一个客户端1中的参数发生变化时,用于接收至少一个客户端1所发送的参数集变化信息。
在具体的应用场景中,收发模块21所接收的参数集变化信息中包含客户端1发送的参数集中发生修改的参数中可能包含客户端1中的参数集发生修改的时间所对应的修改时间标识,此时,收发模块21用于接收修改时间标识。
生成模块22,与收发模块21连接,用于将收发模块21为至少一个客户端1所配置的参数集生成对应的快照和配置时间标识。
对应上述的说明,当收发模块21所接收的参数集变化信息中不包含客户端1中的参数集发生修改的时间所对应的修改时间标识时,生成模块22还用于根据收发模块21接收客户端1发送的参数集中发生修改的参数的时间,生成修改时间标识。
在具体的应用场景中,生成模块22具体包括:
快照生成子模块221,用于将所述收发模块21为所述至少一个客户端1所配置的参数集生成对应的快照;
标识生成子模块222,与所述快照生成子模块221连接,用于根据所述收发模块21为所述至少一个客户端1所配置的参数集的时间,为所述快照生成子模块221所生成的快照生成对应的配置时间标识,如果所述至少一个客户端1和所述服务端设备2中的时间信息同步,还用于生成所述修改时间标识;
存储子模块223,与所述快照生成子模块221和所述标识生成子模块222连接,用于存储所述快照生成子模块221生成的快照和所述标识生成子模块222生成的配置时间标识和/或修改时间标识。
处理模块23,与生成模块22和收发模块21连接,用于管理生成模块22所生成的快照,并根据收发模块21所接收客户端1的参数集变化信息,对生成模块22为客户端1所生成的快照进行修改,具体包括:
策略子模块231,用于设置进行参数修改的策略;
合成子模块232,与所述策略子模块231连接,用于根据所述生成模块22生成的所述客户端1所配置的参数集所对应的快照、所述配置时间标识,所述收发模块21所接收的所述客户端1发生修改的参数,和由所述收发模块21接收或所述生成模块22生成的所述修改时间标识,按照所述策略子模块231所设置的参数修改策略,合成所述至少一个客户端1所对应的新的参数集。
其中,所述策略子模块231所设置的参数修改策略具体包括:
根据服务端2接收到的具有最新的修改时间标识的客户端1所发送的发生修改的参数,与至少一个客户端1所配置的参数集所对应的快照生成至少一个客户端所对应的新的参数集;或,
识别向服务端2发送发生修改的参数的客户端1的优先级,选择优先级最高的客户端1发送的发生修改的参数,与至少一个客户端1所配置的参数集所对应的快照生成至少一个客户端1所对应的新的参数集。
在具体的应用场景中,服务端2还包括清除模块24,用于在服务端2中的进程启动时,清除服务端2中上一次进程所对应的所有快照;还用于在服务端2中的进程关闭时,清除服务端2中的所有快照。
上述的两个设置需要同时存在于服务端中,这样的设置可以有效的避免由于非正常开启或关闭进行对快照数据的影响,提高了服务端中的快照数据的安全性。
通过本发明,客户端在配置参数保存的时候,仅传递变化的部分给服务器端,而服务端利用快照,解决多个客户端配置带来的冲突问题,进一步的,由于仅传递参数变化的部分数据,减少了网络传输时延,节约了网络资源,提高了配置效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。