发明内容
基于此,本申请提供了一种缓存刷新方法、装置、设备和存储介质,通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
第一方面,提供一种缓存刷新方法,应用于缓存刷新系统,缓存刷新系统包括客户端、递归服务器以及权威服务器,该方法包括:
接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
根据本申请实施例中一种可实现的方式,根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新,包括:
将当前区域版本号和缓存区域版本号进行比对;
若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
根据本申请实施例中一种可实现的方式,若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
根据本申请实施例中一种可实现的方式,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个,将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,包括:
从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的;
将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
根据本申请实施例中一种可实现的方式,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
根据本申请实施例中一种可实现的方式,若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
根据本申请实施例中一种可实现的方式,定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;
获取权威服务器针对缓存查询请求返回的最新应答报文,最新应答报文包括当前区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
第二方面,提供了一种缓存刷新装置,应用于缓存刷新系统,缓存刷新系统包括客户端、递归服务器以及权威服务器,装置设置于递归服务器,该装置包括:
查询模块,用于接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
转发模块,用于若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
返回模块,用于获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
查找模块,用于在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
缓存更新模块,用于根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则将域名查询请求转发至权威服务器;获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。上述操作,可以通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的一种缓存刷新方法,可以应用于如图1所示的系统架构中。该系统架构包括:客户端101、递归服务器103以及权威服务器105,且该系统架构的一般处理流程为:递归服务器103接收客户端101发送的域名查询请求,并将域名查询请求转发至权威服务器105,权威服务器105接收到域名查询请求后进行查询解析得到解析结果;将解析结果返回至递归服务器103,递归服务器103再将解析结果返回至客户端101,进而实现满足客户的域名查询需求的效果。需要说明的是,这里的递归服务器103和权威服务器105均属于DNS(DomainNameSystem,域名系统)服务器,递归服务器103一般用于递归查询,而权威服务器105一般用于迭代查询。
图2为本申请实施例提供的一种缓存刷新方法的流程图,该方法可以由如图1所示系统架构中的递归服务器103执行。如图2所示,该方法可以包括以下步骤:
步骤S201:接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文。
其中,缓存应答报文包括对应于域名查询请求的缓存IP地址、预设缓存有效时间、当前缓存有效时间、缓存所属区域信息以及缓存区域版本号。
这里,递归服务器为了及时同步缓存记录中发生变更的信息,则不会永久保存缓存记录,一般通过设置预设缓存有效时间来对缓存记录进行更新,即通过TTL(Timetolive,缓存生存时间)来定义缓存有效时间,有效时间一到期,递归服务器就丢弃原有的缓存应答报文并从权威服务器获取新的应答报文。
具体地,由于递归服务器设置有缓存机制,因此,递归服务器在接收到客户端发送的域名查询请求后,不是直接转发至权威服务器去查询解析,而是确定自己的缓存机制中是否存在对应于域名查询请求的缓存应答报文。
步骤S203:若不存在缓存应答报文,则将域名查询请求转发至权威服务器。
具体地,在确定递归服务器的缓存记录中不存在对应于当前域名查询请求的缓存应答报文时,则将域名查询请求转发至权威服务器。这里,导致不存在缓存应答报文一般有两种情况,第一种情况:当前的域名查询请求确实是首次发起的,则缓存记录中就不会存在对应的缓存应答报文;另外一种情况:存在对应于该域名查询请求的缓存应答报文,但是过了缓存应答报文的预设缓存有效时间后失效了,则也就相当于不存在对应的缓存应答报文。
步骤S205:获取权威服务器针对域名查询请求返回的当前应答报文。
其中,当前应答报文包括对应于当前域名查询请求的当前IP地址、预设缓存有效时间、当前所属区域信息以及当前区域版本号。
这里,DNS服务器设置有OPT(Optionrecord,选项记录类型)协议,OPT协议是DNS服务器拓展的自定义协议,可以用于客户端和DNS服务器之间交互传递自定义信息。因此,在域名请求查询过程中,可以通过OPT协议请求权威服务器返回当前应答报文时,附加携带对应区域的SOA(Startofauthority,起始授权区域)记录,SOA记录是权威服务器区域文件中的第一条记录,包含权威服务器区域的当前所属区域信息,且SOA记录中包含SERIAL字段,用于表示当前区域的版本号,在当前区域的记录发生变更时,SERIAL值会相应地进行更新。
具体地,权威服务器接收到递归服务器发送的域名查询请求后,对域名查询请求进行解析得到当前应答报文,并返回至递归服务器。
步骤S207:在缓存记录中查找与当前所属区域信息相同的缓存应答报文。
具体地,递归服务器在接收到权威服务器发送的当前应答报文后,在缓存记录中查找与当前应答报文的当前所属区域信息相同的缓存应答报文。其中,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个。
步骤S209:根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
由于当前应答报文包括当前区域版本号,而缓存应答报文包括缓存区域版本号,因此,递归服务器可以根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
可以看出,本申请实施例通过接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则将域名查询请求转发至权威服务器;获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。上述操作,可以通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
下面结合实施例对上述步骤S209即“根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新”进行详细描述。
在一种可实现的方式中,将当前区域版本号和缓存区域版本号进行比对;若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
具体地,将当前应答报文的当前区域版本号和缓存应答报文的缓存区域版本号进行比对,若相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
这里,以www.example.com查询为例:客户端初始向递归服务器发起www.example.comMX查询,递归服务器确定缓存记录中不存在对应缓存应答报文,则将域名查询请求转发至权威服务器,权威服务器接收到域名查询请求后查询解析,得到当前应答报文www.example.com.3600INMX10mx.example.cn,并将其返回至递归服务器,且由当前应答报文得出TTL为3600秒,附加当前所属区域信息example.com的SOA记录中当前区域版本号为32。
递归服务器在缓存记录中查找与当前所属区域信息相同的缓存应答报文,假设找到www.example.com3600INA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号也为32,说明此时当前区域版本号和缓存区域版本号相同,没有发生变化,且假设www.example.com3600INA1.1.1.1缓存应答报文的当前缓存有效时间为1600秒即剩余1600秒失效,则将www.example.com3600INA1.1.1.1剩余的1600秒重置为预设缓存有效时间3600秒。
通过上述操作,实现在所属区域版本号未发生变更的情况下,相应地续期该所属区域所有的缓存应答报文的当前缓存有效时间,将当前缓存有效时间重置为预设缓存有效时间,以避免在当前所属区域内容无变更情况下的冗余查询和缓存置换操作,达到提升域名服务器性能的效果。
在另一种可实现的方式中,若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
具体地,将当前应答报文的当前区域版本号和缓存应答报文的缓存区域版本号进行比对,若不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
这里,仍以www.example.com查询为例,递归服务器在缓存记录中查找与当前所属区域信息相同的缓存应答报文,假设找到www.example.comA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号为33,说明此时当前区域版本号和缓存区域版本号不同,发生变化,且假设www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间为600秒即剩余600秒失效,则将www.example.comA1.1.1.1的当前缓存有效时间直接置为失效,且将该缓存应答报文清除,即新的域名查询请求不再从缓存记录中查找而是直接从权威服务器获取。
通过上述操作,实现在所属区域版本号发生变更的情况下,立即触发该所属区域所有缓存应答报文过期失效,以避免在所属区域内容发生变更情况下无法及时获得最新记录的情况,达到保证应答报文准确度的效果。
在一个实施例中,将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,包括:从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表;将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
其中,增量变更报文列表是权威服务器基于IXFR(IncrementalZoneTransferProtocol,增量区传输协议)协议得到的,即权威服务器可基于应答查询返回不同版本号对应的缓存应答报文的变更记录。
在一种可实现的方式中,在当前区域版本号和缓存区域版本号不同时,递归服务器基于IXFR协议向权威服务器发起增量变更报文列表请求,从权威服务器获取返回的增量变更报文列表,查询不同版本号之间的增量变更信息,将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在另一种可实现的方式中,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
这里,仍然以上述www.example.com查询为例,假设找到www.example.comA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号为33,说明此时当前区域版本号和缓存区域版本号不同,发生变化,则确定www.example.comA1.1.1.1缓存应答报文是否存在于增量变更报文列表中,若存在于增量变更报文列表中,则将www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间置为失效,以及将该缓存应答报文清除;若不存在于增量变更报文列表中,则将www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间置重置为3600秒,以及将该缓存应答报文的缓存区域版本号变更为当前区域版本号即将32变更为33。
通过上述操作,基于增量区传输协议,可以获取到所属区域相同但区域版本号不同的具体发生变更的缓存应答报文,将发生变更的缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号;对未发生变更的缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,进而达到提升域名服务器性能以及保证应答报文准确度的效果。
在一个实施例中,该方法还包括:若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
具体地,递归服务器在接收到客户端发送的域名查询请求后,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若存在缓存应答报文,则将缓存应答报文返回至客户端,并且保持缓存应答报文的当前缓存有效时间不变。
通过上述操作,若存在缓存应答报文,则直接将缓存应答报文返回至客户端,达到提升DNS服务器域名解析效率,减小了多次查询所带来的时延问题的效果。
在一个实施例中,该方法还包括:定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器;获取权威服务器针对缓存查询请求返回的最新应答报文;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
其中,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;最新应答报文包括当前区域版本号。
具体地,由于部分所属区域不是很频繁的被访问,这样该区域对应的缓存应答报文就不能及时的得到更新,因此,递归服务器定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,权威服务器对缓存应答报文的缓存查询请求进行查询解析,返回最新应答报文,由于缓存应答报文包括缓存区域版本号,最新应答报文中包括当前区域版本号,则可以根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。需要说明的是,这里缓存更新的原则和上述根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新的原则相同,此处不再重复赘述。
通过上述操作,可以实现对权威服务器的缓存记录中的所有缓存应答报文进行缓存更新,进而达到提升域名服务器性能以及保证应答报文准确度的效果。
结合上述实施例中的实现方式,下面结合图3对本申请实施例提供的一优选的方法流程进行举例描述。如图3所示,该方法可以包括以下步骤:
步骤S301,接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则执行步骤S302,若存在缓存应答报文,则执行步骤S310。
步骤S302,则将域名查询请求转发至权威服务器。
步骤S303,获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号。
步骤S304,在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号。
步骤S305,将当前区域版本号和缓存区域版本号进行比对;若当前区域版本号和缓存区域版本号相同,则执行步骤S306;若当前区域版本号和缓存区域版本号不同,则执行步骤S307。
步骤S306,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
步骤S307,从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的。
步骤S308,将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
步骤S309,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
步骤S310,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
应该理解的是,虽然图2-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图4为本申请实施例提供的一种缓存刷新装置的结构示意图,该装置可以设置于图1所示系统架构中的递归服务器,用以执行如图2-图3中所示的方法流程。如图4所示,该装置可以包括:查询模块401、转发模块403、返回模块405、查找模块407以及缓存更新模块409。其中各组成模块的主要功能如下:
查询模块401,用于接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
转发模块403,用于若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
返回模块405,用于获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
查找模块407,用于在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
缓存更新模块409,用于根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
在一个实施例中,缓存更新模块409,还用于:
将当前区域版本号和缓存区域版本号进行比对;
若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
在一个实施例中,缓存更新模块409,还用于:
若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在一个实施例中,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个,该装置还用于:
从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的;
将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在一个实施例中,该装置还用于:
将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
在一个实施例中,该装置还用于:
若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
在一个实施例中,该装置还用于:
定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;
获取权威服务器针对缓存查询请求返回的最新应答报文,最新应答报文包括当前区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图5所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图5所示,设备500包括计算单元501、ROM502、RAM503、总线504以及输入/输出(I/O)接口505,计算单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
计算单元501可以根据存储在只读存储器(ROM)502中的计算机指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元508。
RAM503还可存储设备500操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM502和/或通信单元509而被载入和/或安装到设备500上。
设备500中的输入单元506、输出单元507、存储单元508和通信单元509可以连接至I/O接口505。其中,输入单元506可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元507可以是诸如显示器、扬声器、指示灯等。设备500能够通过通信单元509与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元501,使得计算机指令当由诸如处理器等计算单元501执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。