发明内容
本申请实施例的目的在于提供一种基于分布式存储系统的负载均衡方法及装置,能够针对到每个数据传输请求,完成定向分发,达到负载均衡的目标,进而提升存储效率。
本申请实施例第一方面提供了一种基于分布式存储系统的负载均衡方法,所述方法包括:
接收数据传输请求;
当所述数据传输请求为数据存储请求时,获取所述数据存储请求包括的待存储数据;
根据所述待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略;
根据所述分发策略对所述待存储数据进行分布式存储处理。
在上述实现过程中,该方法优先接收用户数发送过来的数据传输请求,并判断数据传输请求是否为数据存储请求;若数据传输请求确为数据存储请求,则在数据存储请求中获取该数据存储请求包括的待存储数据;在获取到待存储数据之后,该方法再根据待存储数据和预设的节点副本映射表来确定用于负载均衡的分发策略;以使该方法可以通过该分发策略对待存储数据进行分布式存储处理。可见,实施这种实施方式,该方法能够根据用户的指令请求来进行后续工作,以使负载均衡的方法是基于最初指令所进行的,从而提高负载均衡方法的执行准确度;同时,因为负载均衡体现在数据存储之上,而该数据存储又是基于待存储数据和负载均衡的分发策略的,可见,该种方法能够针对到每个数据传输请求来完成数据的定向分发,从而实现负载均衡的目的,进而提升存储效率。
进一步地,基于分布式存储系统的负载均衡方法还包括:
当所述数据传输请求为数据读取请求时,获取所述数据读取请求包括的读取地址信息;
根据所述读取地址信息和预设的编号计算规则,计算待读取数据的目标虚拟节点编号;
根据预设的节点副本映射表,计算与所述目标虚拟节点编号对应的目标副本编号;
在所述目标副本编号对应的存储副本中读取所述待读取数据。
在上述实现过程中,该方法还能够在数据传输请求为数据读取请求时,获取数据读取请求包括的读取地址信息;然后再根据读取地址信息和预设的编号计算规则,计算待读取数据的目标虚拟节点编号,以使该方法可以根据预设的节点副本映射表,计算出与目标虚拟节点编号对应的目标副本编号;再根据该目标副本编号查找对应的存储副本,并在该存储副本中读取待读取数据。可见,实施这种实施方式,该负载均衡方法可以在读取的过程中通过多存储副本进行存储分流,从而实现负载均衡的效果,进而提升数据读取效率。
进一步地,在所述接收数据传输请求之前,所述方法还包括:
获取初始节点副本映射表;
根据预设的负载数据收集策略,获取所述分布式存储系统的负载数据;
根据所述负载数据,计算所述分布式存储系统中每个存储副本的权重系数;
根据所述每个存储副本的权重系数对所述初始节点副本映射表进行调整,得到预设的节点副本映射表。
在上述实现过程中,该方法可以在接收数据传输请求之前,可以预先获取初始节点副本映射表;然后再根据预设的负载数据收集策略,获取分布式存储系统的负载数据;在负载数据收集完成之后,根据该负载数据可以准确地计算出分布式存储系统中每个存储副本的权重系数;以使该方法可以根据每个存储副本的权重系数对上述初始节点副本映射表进行调整,得到预设的节点副本映射表。可见,实施这种实施方式,可以在数据传输请求接收或整体负载均衡过程前,预设好节点副本映射表,以使该节点副本映射表是与当前分布式存储系统相对应的,从而提高负载均衡的针对性,进而提高负载均衡的准确程度。
进一步地,所述根据所述负载数据,计算所述分布式存储系统中每个存储副本的权重系数包括:
根据所述负载数据和预设的配置参数,计算所述分布式存储系统中每个存储副本的权重值;
根据所述每个存储副本的权重值,计算权重总值;
根据所述权重总值和所述每个存储副本的权重值,计算所述每个存储副本的权重系数。
在上述实现过程中,在计算每个存储副本的权重系数的过程中,该方法具体可以根据负载数据和预设的配置参数,优先计算出分布式存储系统中每个存储副本的权重值;然后再根据每个存储副本的权重值,计算权重总值;最后,再根据权重总值和每个存储副本的权重值,计算每个存储副本的权重系数。可见,实施这种实施方式,能够具体化权重系数的获取,以使权重系数可以根据权重总值进行均衡计算而得到,从而具体化了权重系数的获取方式,进而可以通过准确的权重系数来提高分布式存储系统中负载均衡的效果。
进一步地,所述负载数据包括每个存储副本对应磁盘的输入输出延迟数据、所述每个存储副本对应磁盘的读写性能均值、所述每个存储副本所在主机设备的中央处理器使用率以及所述每个存储副本所在主机设备的内存使用率。
在上述实现过程中,负载数据可以通过其包括的输入输出延迟数据、读写性能均值、中央处理器使用率以及内存使用率来综合判定每个存储副本对应的磁盘、中央处理器以及内存的使用情况,从而可以使得权重的计算是会根据上述多方面的数据具体计算得到的,进而使得权重系数具有更高的针对性与准确性,以保证分布式存储系统中负载均衡的有效性和准确性。
进一步地,所述根据所述负载数据和预设的配置参数,计算所述分布式存储系统中每个存储副本的权重值的步骤中,计算其中一个存储副本的权重值的计算公式为:
Weight=k*(1/Delay)+m*(1-CPU)+n*(1-Mem)+x*(1/IOPS)+w;
其中,k、m、n、x和w均为所述配置参数;
Weight用于表示该存储副本的权重值;
Delay用于表示该存储副本对应磁盘的输入输出延迟数据;
IOPS用于表示该存储副本对应磁盘的读写性能均值;
CPU用于表示该存储副本所在主机设备的中央处理器使用率;
Mem用于表示该存储副本所在主机设备的内存使用率。
在上述实现过程中,该方法可以通过预设的计算公式计算每个存储副本的权重值,以使每个副本的权重值可以数值化,便于对存储式分布系统进行负载均衡,从而提高负载均衡过程的稳定性,提高负载均衡的效率与效果。
本申请实施例第二方面提供了一种分布式存储系统中负载均衡装置,所述分布式存储系统中负载均衡装置包括:
接收单元,用于接收数据传输请求;
获取单元,用于当所述数据传输请求为数据存储请求时,获取所述数据存储请求包括的待存储数据;
确定单元,用于根据所述待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略;
写入处理单元,用于根据所述分发策略对所述待存储数据进行分布式存储处理。
在上述实现过程中,该负载均衡装置包括接收单元、获取单元、确定单元以及写入处理单元,其中,该些单元可以在负载均衡装置中执行接收数据传输请求、在数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据、根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略、根据分发策略对待存储数据进行分布式存储处理的操作。可见,实施这种实施方式,该负载均衡装置能够通过多个单元的协同工作实现更高精度、更高效率的负载均衡过程,从而保证该分布存储系统中负载均衡的效率与准确程度。
进一步地,所述获取单元,还用于当所述数据传输请求为数据读取请求时,获取所述数据读取请求包括的读取地址信息;
所述分布式存储系统中负载均衡装置还包括:
计算单元,用于根据所述读取地址信息和预设的编号计算规则,计算待读取数据的目标虚拟节点编号;以及根据预设的节点副本映射表,计算与所述目标虚拟节点编号对应的目标副本编号;
读取处理单元,用于在所述目标副本编号对应的存储副本中读取所述待读取数据。
在上述实现过程中,该分布式存储系统中负载均衡装置还可以通过获取单元来获取数据读取请求,以使计算单元、读取处理单元来进行数据的读取操作。可见,实施这种实施方式,可以使得该负载均衡能力适用于数据存储与数据读取的两种情形下,从而提高了该负载均衡装置的泛用性,提高了该负载均衡装置的应用能力。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的基于分布式存储系统的负载均衡方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的基于分布式存储系统的负载均衡方法。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种基于分布式存储系统的负载均衡方法的流程示意图。该方法可以应用于众多的数据存储或数据读取场景当中,以使该方法能够在一定的条件下对当前读取的目标节点的数据进行收集,由IO导向模块对数据进行分析判断,选择最合适的副本进行读取,达到负载均衡的目的。其中,该基于分布式存储系统的负载均衡方法包括:
S101、接收数据传输请求。
本实施例中,数据传输请求可以包括数据存储请求和数据读取请求,对此本实施例中不作任何限定。
在本实施例中,对于接收方式不作任何限定。
S102、当数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据。
本实施例中,数据存储请求中包括待存储数据。
在本实施例中,可以将数据存储请求划分为两部分,一部分为数据存储的请求,一部分为数据本身;其中上述请求用于请求数据存储权限,而数据本身是数据存储的本体。
S103、根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略。
本实施例中,节点副本映射表是预设好的,对此本实施例中不作任何限定。
本实施例中,分发策略用于负载均衡。
S104、根据分发策略对待存储数据进行分布式存储处理。
本实施例中,该方法可以通过通信协议携带监控数据的方案,来解决传统轮询类算法中具有的问题,从而使得该方法能够针对到每个IO接口来完成定向转发;同时,又因为监控数据是在协议中的,所以,该方法还能够对负载均衡的权重进行实时调整。
实施这种实施方式,在具体应用中能够通过通信协议收集副本所在主机和磁盘的负载数据,能有效减少系统开销;另外,采用虚拟节点方式建立虚拟节点与真实副本的映射表,将IO负载分散到虚拟节点上,通过映射表定位到真实副本,能有效解决IO均匀分布和副本异常时,能够通过改动映射表,将异常副本移出负载均衡后端。
本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本实施例中,该方法的执行主体还可以为智能手机和平板等智能设备,对此本实施例中不作任何限定。
可见,实施图1所描述的基于分布式存储系统的负载均衡方法,能够优先接收用户数发送过来的数据传输请求,并判断数据传输请求是否为数据存储请求;若数据传输请求确为数据存储请求,则在数据存储请求中获取该数据存储请求包括的待存储数据;在获取到待存储数据之后,该方法再根据待存储数据和预设的节点副本映射表来确定用于负载均衡的分发策略;以使该方法可以通过该分发策略对待存储数据进行分布式存储处理。可见,实施这种实施方式,该方法能够根据用户的指令请求来进行后续工作,以使负载均衡的方法是基于最初指令所进行的,从而提高负载均衡方法的执行准确度;同时,因为负载均衡体现在数据存储之上,而该数据存储又是基于待存储数据和负载均衡的分发策略的,可见,该种方法能够针对到每个数据传输请求来完成数据的定向分发,从而实现负载均衡的目的,进而提升存储效率。
实施例2
请参看图2,图2为本申请实施例提供的另一种基于分布式存储系统的负载均衡方法的流程示意图。图2所描述的基于分布式存储系统的负载均衡方法的流程示意图是根据图1所描述的基于分布式存储系统的负载均衡方法的流程示意图进行改进得到的。其中,该基于分布式存储系统的负载均衡方法包括:
S201、获取初始节点副本映射表。
本实施例中,初始节点副本映射表为最初的节点副本映射表,该节点副本映射表为已有或预设的,对此本实施例中不再多加赘述。
S202、根据预设的负载数据收集策略,获取分布式存储系统的负载数据。
本实施例中,负载数据包括每个存储副本对应磁盘的输入输出延迟数据、每个存储副本对应磁盘的读写性能均值、每个存储副本所在主机设备的中央处理器使用率以及每个存储副本所在主机设备的内存使用率。
S203、根据负载数据和预设的配置参数,计算分布式存储系统中每个存储副本的权重值。
本实施例中,每个存储副本具有对应的一个权重值。
S204、根据每个存储副本的权重值,计算权重总值。
本实施例中,所有权重值的综合为权重总值。
S205、根据权重总值和每个存储副本的权重值,计算每个存储副本的权重系数。
作为一种可选的实施方式,根据负载数据和预设的配置参数,计算分布式存储系统中每个存储副本的权重值的步骤中,计算其中一个存储副本的权重值的计算公式为:
Weight=k*(1/Delay)+m*(1-CPU)+n*(1-Mem)+x*(1/IOPS)+w;
其中,k、m、n、x和w均为配置参数;
Weight用于表示该存储副本的权重值;
Delay用于表示该存储副本对应磁盘的输入输出延迟数据;
IOPS用于表示该存储副本对应磁盘的读写性能均值;
CPU用于表示该存储副本所在主机设备的中央处理器使用率;
Mem用于表示该存储副本所在主机设备的内存使用率。
本实施例中,步骤S203~S205可以合并为根据负载数据,计算分布式存储系统中每个存储副本的权重系数的步骤。
S206、根据每个存储副本的权重系数对初始节点副本映射表进行调整,得到预设的节点副本映射表。
本实施例中,节点副本映射表根据负载情况进行更新,得到预设的节点副本映射表。
S207、接收数据传输请求。
本实施例中,本实施例中,数据传输请求可以包括数据存储请求和数据读取请求,对此本实施例中不作任何限定。
在本实施例中,对于接收方式不作任何限定。
S208、当数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据。
本实施例中,数据存储请求中包括待存储数据。
在本实施例中,可以将数据存储请求划分为两部分,一部分为数据存储的请求,一部分为数据本身;其中上述请求用于请求数据存储权限,而数据本身是数据存储的本体。
S209、根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略。
本实施例中,节点副本映射表是预设好的,对此本实施例中不作任何限定。
本实施例中,分发策略用于负载均衡。
S210、根据分发策略对待存储数据进行分布式存储处理。
作为一种可选的实施方式,该方法还包括:
当数据传输请求为数据读取请求时,获取数据读取请求包括的读取地址信息;
根据读取地址信息和预设的编号计算规则,计算待读取数据的目标虚拟节点编号;
根据预设的节点副本映射表,计算与目标虚拟节点编号对应的目标副本编号;
在目标副本编号对应的存储副本中读取待读取数据。
实施这种实施方式,该负载均衡方法可以在读取的过程中通过多存储副本进行存储分流,从而实现负载均衡的效果,进而提升数据读取效率。
举例来说,负载数据收集策略可以包括:每20000个请求会插入一个颜色标记的负载数据收集请求(称为定量);每30秒内如果没有颜色标记的请求,插入一个颜色标记请求(称为定时)。基于定时定量的收集策略,用于收集和分析负载数据的系统开销可以忽略不计。
本实施例中,对于负载数据分析的过程来说,为了避免短暂峰值导致IO向导误判,使用两个颜色标记的请求值的增量也作为分析数据之一。
举例来说,假如参数数据分析有3组数据:最近收集的两次数据与这两次数据的增量。单副本的权重计算公式如下:
Weight=k*(1/Delay)+m*(1-CPU)+n*(1-Mem)+x*(1/IOPS)+w
其中k,m,n,x,w为可配置参数,根据具体的环境设置合适的值;根据多个副本不同的数据,可算出不同权重值w0,w1,w2,...,wn;每个副本的权重系数为:
Kwx=wx/(w0+w1+w2+...+wn)
可见,通过可配置的定时定量的数据收集策略,将负载数据通过通信协议携带,能使负载均衡逻辑更快生效,均衡效果更加明显。
本实施例中,通过图5-图7进行举例说明,其中,如图5所示,图5为本实施例所提供的一种的分布式存储系统的结构示意图图。该系统则可以包括应用主机和存储主机。该应用主机用于生成虚拟磁盘,接收并转发IO,本发明在应用主机上的虚拟磁盘IO导向模块上完成数据收集、分析与均衡发送;该存储主机用于分布式存储系统副本数据最终的存放地点;至于副本则是对应指代完整的数据副本。
在本实施例中,在存储数据的过程中,可以参照图6进行理解,其中,图6是本实施例中提供的一种处理流程示意图,包含多个模块:接收与响应数据模块(IO Receiver);共享内存队列(Shm Queue),临时存放IO请求,完成IO拆分与合并,IOPS限流等特性;后端连接管理(IO Handler),用与模型抽象;IO导向模块(IO Nav),实时系统负载数据收集,分析与完成IO分发,驱使负载均衡。在这其中,应用数据通过IO Receiver接收后,存放到共享内存队列,对缓存的IO进行调度与合并,由IO Nav向导模块根据历史的负载数据计算分析得出IO具体的分发策略。
在本实施例中,图7所示的内容为本实施例所使用的数据通信协议,该数据通信协议是实现多副本自感知的基础。其中,字段详情释义如下:
PType:请求类型:比如Read,Write,XCopy,Unmap,WriteSame;
PFlag:请求标志,涉及本发明的标志位是C:表示颜色标记,设置该标志位的会通过该请求的响应包,将图3的灰色字段的内容返回;
Delay:当前请求副本所在的磁盘当前的IO延迟;
CPU:当前请求副本所在的主机的CPU使用率;
Mem:当前请求副本所在的主机的内存使用率;
IOPS:当前请求副本所在的磁盘的近一段时间的IOPS均值。
本实施例中,在读数据的时候可以参照图8所示内容,其中,每个vnode代表4MB的地址空间,比如vnode0代表地址空间[0,4M];在遍历所有vnode时,通过权重系数即可计算出当前vnode由哪个副本承载(进行关联),最终构成映射表;其中,vnode并不需要真实存在,vnode的计算方式由读请求位置Offset决定;当vnode id=Offset>>22(2的22次方为4M)时,再查询映射表便可知需要读取的副本id。
可见,实施这种实施方式,多副本IO的一种负载均衡方案,可以采用存储通信协议携带监控数据,为了IO负载均衡和节点容错,可以采用虚拟节点的映射方式,并通过简单的计算完成高效的负载均衡策略。
可见,实施图2所描述的基于分布式存储系统的负载均衡方法,能够优先接收用户数发送过来的数据传输请求,并判断数据传输请求是否为数据存储请求;若数据传输请求确为数据存储请求,则在数据存储请求中获取该数据存储请求包括的待存储数据;在获取到待存储数据之后,该方法再根据待存储数据和预设的节点副本映射表来确定用于负载均衡的分发策略;以使该方法可以通过该分发策略对待存储数据进行分布式存储处理。可见,实施这种实施方式,该方法能够根据用户的指令请求来进行后续工作,以使负载均衡的方法是基于最初指令所进行的,从而提高负载均衡方法的执行准确度;同时,因为负载均衡体现在数据存储之上,而该数据存储又是基于待存储数据和负载均衡的分发策略的,可见,该种方法能够针对到每个数据传输请求来完成数据的定向分发,从而实现负载均衡的目的,进而提升存储效率。
实施例3
请参看图3,图3为本申请实施例提供的一种分布式存储系统中负载均衡装置的结构示意图。其中,该分布式存储系统中负载均衡装置包括:
接收单元310,用于接收数据传输请求;
获取单元320,用于当数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据;
确定单元330,用于根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略;
写入处理单元340,用于根据分发策略对待存储数据进行分布式存储处理。
本实施例中,对于分布式存储系统中负载均衡装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施图3所描述的分布式存储系统中负载均衡装置,能够在负载均衡装置中执行接收数据传输请求、在数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据、根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略、根据分发策略对待存储数据进行分布式存储处理的操作。可见,实施这种实施方式,该负载均衡装置能够通过多个单元的协同工作实现更高精度、更高效率的负载均衡过程,从而保证该分布存储系统中负载均衡的效率与准确程度。
实施例4
请参看图4,图4为本申请实施例提供的另一种分布式存储系统中负载均衡装置的结构示意图。图4所描述的分布式存储系统中负载均衡装置的结构示意图是根据图3所描述的分布式存储系统中负载均衡装置的结构示意图进行改进得到的。其中,获取单元320,还用于当数据传输请求为数据读取请求时,获取数据读取请求包括的读取地址信息;
分布式存储系统中负载均衡装置还包括:
计算单元350,用于根据读取地址信息和预设的编号计算规则,计算待读取数据的目标虚拟节点编号;以及根据预设的节点副本映射表,计算与目标虚拟节点编号对应的目标副本编号;
读取处理单元360,用于在目标副本编号对应的存储副本中读取待读取数据。
作为一种可选的实施方式,分布式存储系统中负载均衡装置还包括:
获取单元320,还用于获取初始节点副本映射表;
获取单元320,还用于根据预设的负载数据收集策略,获取分布式存储系统的负载数据;
计算单元350,还用于根据负载数据,计算分布式存储系统中每个存储副本的权重系数;
调整单元370,用于根据每个存储副本的权重系数对初始节点副本映射表进行调整,得到预设的节点副本映射表;该预设的节点副本映射表用于确定单元330中。
作为一种可选的实施方式,计算单元350具体用于根据负载数据和预设的配置参数,计算分布式存储系统中每个存储副本的权重值;根据每个存储副本的权重值,计算权重总值;根据权重总值和每个存储副本的权重值,计算每个存储副本的权重系数。
作为一种可选的实施方式,负载数据包括每个存储副本对应磁盘的输入输出延迟数据、每个存储副本对应磁盘的读写性能均值、每个存储副本所在主机设备的中央处理器使用率以及每个存储副本所在主机设备的内存使用率
作为一种可选的实施方式,计算单元350在计算其中一个存储副本的权重值所使用的计算公式为:
Weight=k*(1/Delay)+m*(1-CPU)+n*(1-Mem)+x*(1/IOPS)+w;
其中,k、m、n、x和w均为配置参数;
Weight用于表示该存储副本的权重值;
Delay用于表示该存储副本对应磁盘的输入输出延迟数据;
IOPS用于表示该存储副本对应磁盘的读写性能均值;
CPU用于表示该存储副本所在主机设备的中央处理器使用率;
Mem用于表示该存储副本所在主机设备的内存使用率。
本实施例中,对于分布式存储系统中负载均衡装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施图4所描述的分布式存储系统中负载均衡装置,能够在负载均衡装置中执行接收数据传输请求、在数据传输请求为数据存储请求时,获取数据存储请求包括的待存储数据、根据待存储数据和预设的节点副本映射表,确定用于负载均衡的分发策略、根据分发策略对待存储数据进行分布式存储处理的操作。可见,实施这种实施方式,该负载均衡装置能够通过多个单元的协同工作实现更高精度、更高效率的负载均衡过程,从而保证该分布存储系统中负载均衡的效率与准确程度。
本申请实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本申请实施例1或实施例2中任一项基于分布式存储系统的负载均衡方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项基于分布式存储系统的负载均衡方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。