掌桥专利:专业的专利平台
掌桥专利
首页

一种带有时间因子和频次因子的缓存算法

文献发布时间:2024-04-18 20:02:18


一种带有时间因子和频次因子的缓存算法

技术领域

本发明涉及计算机系统技术领域,尤其是涉及一种带有时间因子和频次因子的缓存算法。

背景技术

缓存算法,也称作置换算法,是指在缓存系统中缓存那些从主存储器中读取的数据,在缓存中暂存一段时间以加速后续对同一数据的访问。由于缓存空间有限,当缓存空间不足时,需要选择一些数据从缓存中剔除以腾出空间给新的数据。这个选择过程就需要使用缓存算法来决定选择哪些数据剔除,留下哪些数据放在缓存中。缓存算法设计的主要目的是在有限的缓存空间内,最小化缓存的替换次数并保证高效的缓存访问。

常见的缓存算法包括:先进先出(F IFO)、最近最少使用(LRU)、最少使用(LFU)、随机置换法等。这些算法使用不同的计算方法来选择替换哪些数据。例如,F IFO算法按照最早进入缓存中的数据,先剔除这些数据,保留缓存中最新进入的数据;而LRU算法则根据数据访问的时间来判断哪些数据最近被使用过,优先保留最近被访问过的数据,LFU则是根据每个数据被访问的次数来确定哪些数据应该被保存在缓存中,当缓存空间不足时,该算法会从缓存中移除访问次数最少的数据。

FI FO算法是简单实用的,但是它并不能适用所有的场景。例如,在一些场景中,一个数据可能被频繁地访问,但是由于FIFO算法只考虑了缓存中数据进入的时间顺序,并没有考虑数据的访问频次情况,所以可能会把这些频繁访问的数据替换掉,从而降低缓存的命中率。由于LRU算法考虑了数据的访问情况,因此可以有效提高缓存的命中率,但该算法并没有考虑缓存访问的频次,有些场景下随机偶尔访问的一些数据可能会置换掉访问频次较高的数据。LFU算法是根据访问频次来确定要保留哪些数据,如果某些数据访问频次很高,但是在后续的时间内不再被访问,那么这些数据仍可能在缓存中保留,占用着缓存空间,阻止其他更有用的数据进入缓存,导致缓存污染。

因此,发明一种既能够根据“最少访问次数的原则”淘汰缓存,又能够防止高频次无用缓存无法被淘汰造成缓存污染的情况出现的新的缓存算法,可以极大的提升缓存效率和缓存命中率,弥补上述缓存算法的缺陷。

发明内容

本发明的目的是提供一种带有时间因子和频次因子的缓存算法,包括:

在访问一个缓存项时,在缓存链表里查找是否存在这一所述缓存项,并将这一所述缓存项记为当前缓存项;

当所述当前缓存项存在时,将所述当前缓存项从当前位置所在的访问频次链表中删除,并将所述当前缓存项移到访问频次+1对应的访问频次链表中;同时,所述当前缓存项的访问频次更新为当前访问频次+1;

当所述当前缓存项不存在时,将所述当前缓存项加入所述缓存链表中。

进一步的,所述缓存链表和所述访问频次链表均为哈希表。

进一步的,所述缓存链表为哈希表cacheMap。

进一步的,所述哈希表cacheMap包含所有所述缓存项。

进一步的,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项。

进一步的,所述访问频次链表为哈希表freqMap。

进一步的,所述freqMap包括所有所述缓存项的访问频次。

进一步的,所述freqMap用于根据存放所有所述缓存项的访问频次。

进一步的,将所述当前缓存项移到访问频次+1对应的访问频次链表中,具体为:将所述当前缓存项移到访问频次+1对应的访问频次链表中的头部。

进一步的,当所述当前缓存项不存在时,将所述当前缓存项加入缓存链表中,同时,将所述当前缓存项插入至访问频次最低的访问频次链表的尾部。

进一步的,当所述当前缓存项不存在时,将所述当前缓存项加入缓存链表中,若所述当前缓存项加入所述缓存链表后,所述缓存链表超过预先设定的缓存数量阈值,则在访问频次最低的所述访问频次链表中查找所有的最少访问缓存项的时间戳,获得所述时间戳最早的所述最少访问缓存项,并在所述访问频次链表和所述缓存链表中同时将所述时间戳最早的所述最少访问缓存项进行删除。

进一步的,所述带有时间因子和频次因子的缓存算法还包括:

根据特定时间周期对所述缓存链表里的缓存项进行淘汰。

进一步的,将时间划分成若干个时间窗,所述时间窗按时间的前后顺序进行排放,将所有所述缓存项进行数组的划分,所述数组的数量等于所述时间窗的数量,每一所述时间窗中存放一个所述数组对应的所述缓存项;

若干个所述时间窗根据时间周期按照所述前后顺序进行轮换检测,当前轮换到的所述时间窗记为当前时间窗,若所述当前时间窗中若存在所述数组,则将所述当前时间窗中存在的所有所述缓存项进行删除清理。

进一步的,将所述当前时间窗中存在的所有所述缓存项进行删除清理后,将所述当前缓存项添加至所述当前时间窗中。

本发明目的之二是提供一种带有时间因子和频次因子的缓存淘汰方法,包括:

根据若干缓存项建立键值对散列表Ⅰ,根据若干所述缓存项的访问频次建立散列表Ⅱ;

通过时间轮将时间划分为若干个分段,每个所述分段对应一个时间窗,所述时间窗按时间的前后顺序进行排放,每个所述时间窗包含一个或多个所述缓存项;将所有所述缓存项进行数组的划分,所述数组的数量等于所述时间窗的数量,每一所述时间窗中存放一个所述数组;

在访问一个缓存项时,在所述散列表Ⅰ里查找是否存在这一所述缓存项,并将这一所述缓存项记为当前缓存项;

当所述当前缓存项存在时,将所述当前缓存项从当前位置所在的访问频次链表中删除,并将所述当前缓存项移到访问频次+1对应的散列表Ⅱ中;同时,所述当前缓存项的访问频次更新为当前访问频次+1;

当所述当前缓存项不存在时,将所述当前缓存项加入所述散列表Ⅰ中;

根据特定时间周期对所述缓存链表里的缓存项进行淘汰,若干个所述时间窗根据时间周期按照所述前后顺序进行轮换检测,当前轮换到的所述时间窗记为当前时间窗,若所述当前时间窗中若存在所述数组,则将所述当前时间窗中存在的所有所述缓存项进行删除清理,然后将所述当前缓存项添加至所述当前时间窗记中。

进一步的,所述散列表Ⅰ和所述散列表Ⅱ均为哈希表。

进一步的,所述散列表Ⅰ为哈希表cacheMap。

进一步的,所述哈希表cacheMap包含所有所述缓存项。

进一步的,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项。

进一步的,所述散列表Ⅱ为哈希表freqMap。

进一步的,所述freqMap包括所有所述缓存项的访问频次。

进一步的,所述freqMap用于根据存放所有所述缓存项的访问频次。

进一步的,将所述当前缓存项移到访问频次+1对应的散列表Ⅱ中,具体为:将所述当前缓存项移到访问频次+1对应的访问频次链表中的头部。

进一步的,当所述当前缓存项不存在时,将所述当前缓存项加入散列表Ⅰ中,同时,将所述当前缓存项插入至访问频次最低的散列表Ⅱ的尾部。

进一步的,当所述当前缓存项不存在时,将所述当前缓存项加入散列表Ⅰ中,若所述当前缓存项加入所述散列表Ⅰ后,所述散列表Ⅰ超过预先设定的缓存数量阈值,则在访问频次最低的所述散列表Ⅱ中查找所有的最少访问缓存项的时间戳,获得所述时间戳最早的所述最少访问缓存项,并在所述散列表Ⅱ和所述散列表Ⅰ中同时将所述时间戳最早的所述最少访问缓存项进行删除。

本发明目的之三是提供一种用于缓存淘汰的系统,包括哈希表cacheMap、哈希表freqMap、时间轮和权利要求1-7任一项所述的带有时间因子和频次因子的缓存算法;

其中,所述哈希表cacheMap包含所有所述缓存项,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项;

所述freqMap包括所有所述缓存项的访问频次,所述freqMap用于根据存放所有所述缓存项的访问频次;

所述时间轮用于根据特定时间周期对所述缓存项进行批量淘汰;

所述带有时间因子和频次因子的缓存算法用于根据当前访问的所述缓存项的缓存记录、缓存时间、访问频次和/或时间戳,对当前访问的所述缓存项进行添加或淘汰。

本发明的有益效果主要有:

本发明公开一种带有时间因子和频次因子的缓存算法,所述缓存算法同时考虑了时间因子和频次因子,根据二者对缓存项进行淘汰,可以更好的提升缓存命中率,有效避免缓存污染情况,能够更好地利用缓存资源,提升缓存效率。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为所述哈希表cacheMap的结构示意图;

图2为所述哈希表freqMap的结构示意图;

图3为所述缓存项key1的添加过程的过程示意图;

图4为所述缓存项key6的添加过程的过程示意图;

图5为时间轮的示意图之一;

图6为时间轮的示意图之二;

图7为时间轮的示意图之三。

具体实施方式

以下通过附图和实施例对本发明的技术方案作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的通常意义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。

本发明提供了一种带有时间因子和频次因子的缓存算法,包括:

在访问一个缓存项时,在缓存链表里查找是否存在这一所述缓存项,并将这一所述缓存项记为当前缓存项;

当所述当前缓存项存在时,将所述当前缓存项从当前位置所在的访问频次链表中删除,并将所述当前缓存项移到访问频次+1对应的访问频次链表中;同时,所述当前缓存项的访问频次更新为当前访问频次+1;

当所述当前缓存项不存在时,将所述当前缓存项加入所述缓存链表中。

可以理解的是,本发明缓存算法倾向于保留那些经常被访问的缓存项,因此可以提高高频访问项的命中率,从而提升缓存的效率。本发明缓存算法能够相对较快地淘汰那些访问频次较低的缓存项,从而节省内存空间。本发明缓存算法适用于具有明显访问热点的场景,可以保留频繁访问的数据,提高缓存的命中率。本发明缓存算法可以自适应地调整缓存策略,以应对访问模式的变化,因为高频访问的缓存项不容易被淘汰,所以减少了缓存失效的次数。

进一步的,所述缓存链表和所述访问频次链表均为哈希表。

进一步的,所述缓存链表为哈希表cacheMap。

进一步的,所述哈希表cacheMap包含所有所述缓存项。

进一步的,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项。

所述哈希表cacheMap的结构示意图如图1所示。

所述哈希表cacheMap中存储的是元组(键,(值,访问频次,时间戳)),其中键是输入的键,值是缓存键所对应的值,访问频次是该缓存项被访问的次数,时间戳是该缓存项最后一次被访问的时间。

进一步的,所述访问频次链表为哈希表freqMap。

进一步的,所述freqMap包括所有所述缓存项的访问频次。

进一步的,所述freqMap用于根据存放所有所述缓存项的访问频次。

所述哈希表freqMap的结构示意图如图2所示。

freqMap的键是缓存项的访问频次,值是一个双向链表。对于每个访问频次,双向链表中按访问时间排序存储了所有该访问频次的缓存项的键。

在本申请的一些实施例中,将所述当前缓存项移到访问频次+1对应的访问频次链表中,具体为:将所述当前缓存项移到访问频次+1对应的访问频次链表中的头部。

举例说明,当缓存项key1被访问时,所述缓存链表里存在所述key1,则将所述key1从freqMap[1]中移除,同时插入到freqMap[2]对应的双向链表头部。所示缓存项key1的添加过程的过程示意图如图3所示。

可以理解的是,将频繁访问的缓存项移到访问频次+1对应的链表头部,使得它们在链表中的位置更加靠前。这样,在下次访问时,访问频次+1的项将更容易被命中,从而提高了访问速度。由于频繁访问的缓存项会被保持在链表头部,它们不容易被淘汰。这样可以减少缓存失效的次数,降低了从慢速存储介质中重新加载数据的开销。通过将频繁访问的缓存项放置在链表头部,实际上是在优化了缓存的性能。这种策略反映了频繁访问数据的重要性。如果访问模式发生了变化,例如某个原本不常访问的数据突然变得频繁访问,这种策略可以更快地将其提升到高频访问的位置,以适应变化。

在本申请的一些实施例中,当所述当前缓存项不存在时,将所述当前缓存项加入缓存链表中,同时,将所述当前缓存项插入至访问频次最低的访问频次链表的尾部。

举例说明,当缓存项key6被访问时,所述缓存链表里不存在所述key6,需要在访问频次最低的freqMap[1]链表的尾部插入所述key6(访问频次有时候最低的频次也可能不为1)。

可以理解的是,将当前缓存项插入到访问频次最低的链表尾部,可以保证低频访问的缓存项在链表中得到维持,从而有机会被再次访问到。由于低频访问的缓存项在链表尾部,它们容易受到淘汰的影响,从而释放空间给更频繁访问的项,优化了缓存的利用率。如果某个原本不常访问的数据突然变得频繁访问,它可以通过访问频次最低链表的尾部逐步提升到高频访问的位置,适应访问模式的变化。相比于直接将新插入的项放在访问频次为1的链表头部,将其插入到访问频次最低链表的尾部,可以减少频繁地将新插入的项提升到高频访问的位置,从而减少缓存失效的次数。

在本申请的一些实施例中,当所述当前缓存项不存在时,将所述当前缓存项加入缓存链表中,若所述当前缓存项加入所述缓存链表后,所述缓存链表超过预先设定的缓存数量阈值,则在访问频次最低的所述访问频次链表中查找所有的最少访问缓存项的时间戳,获得所述时间戳最早的所述最少访问缓存项,并在所述访问频次链表和所述缓存链表中同时将所述时间戳最早的所述最少访问缓存项进行删除。

举例说明,当缓存项key6被访问时,所述缓存链表里不存在所述key6,需要在访问频次最低的freqMap[1]链表的尾部插入所述key6(访问频次有时候最低的频次也可能不为1)。如果此时缓存的大小超过了LFU算法设定的阈值,那么就要从最少访问缓存项对应的freqMap中删除一个最早访问的缓存项,并从cacheMap和freqMap中删除相应的数据,并将freqLi stMap[1]链表中最早的访问频次对应缓存项删除。所示缓存项key6的添加过程的示意图如图4所示。

可以理解的是,通过淘汰访问频次最低的缓存项,保证了高频访问的数据更有可能被保留在缓存中,从而提高了缓存的命中率。通过设定预先设定的缓存数量阈值,可以控制缓存的大小,避免缓存无限增长导致内存溢出或其他性能问题。LFU算法的核心思想是淘汰访问频次最低的缓存项,这个实现例子很好地遵循了LFU算法的策略。通过淘汰访问频次最低的缓存项,可以释放内存空间,降低缓存的内存占用。

在本申请的一些实施例中,所述带有时间因子和频次因子的缓存算法还包括:

根据特定时间周期对所述缓存链表里的缓存项进行淘汰。

可以理解的是,定期清理过期数据是一种有效的缓存管理策略,可以保持缓存系统的健康运行,提高性能和稳定性。通过结合时间因子、频次因子和定期清理等策略,可以使得缓存系统更加灵活和高效地应对不同的应用场景。具体的,通过定期清理过期的缓存项,可以释放占用的内存空间,避免缓存持续增长导致内存溢出或性能问题;定期淘汰过期数据可以保持缓存的稳定性和一致性,避免因为长时间积累的过期数据导致性能下降或其他问题;定期清理可以确保过期的数据不会被错误地使用,保证了数据的正确性和有效性;定期清理过期数据可以减少维护缓存的成本,避免不必要的资源浪费;某些业务场景下,需要及时地清理过期数据以保证数据的实时性和准确性,这种策略可以满足业务需求。

在本申请的一些实施例中,将时间划分成若个时间窗,所述时间窗按时间的前后顺序进行排放,将所有所述缓存项进行数组的划分,所述数组的数量等于所述时间窗的数量,每一所述时间窗中存放一个所述数组对应的所述缓存项;

若干个所述时间窗根据时间周期按照所述前后顺序进行轮换检测,当前轮换到的所述时间窗记为当前时间窗,若所述当前时间窗中若存在所述数组,则将所述当前时间窗中存在的所有所述缓存项进行删除清理。

可以理解的是,将时间划分成多个时间窗,并在每个时间窗中存放一部分缓存项,通过定期轮换检测时间窗,可以有效地管理缓存,减少内存占用,提高缓存性能,同时保持数据的新鲜和有效。这种策略结合了时间因子的管理,适用于需要定期清理过时数据的缓存场景。具体的,通过按时间周期轮换检测时间窗,可以定期清理过时的缓存项,确保缓存中的数据始终保持更新和有效;每个时间窗只保留一部分缓存项,相比于保留全部缓存项,可以降低内存的占用,提高了内存利用率;在删除清理缓存项时,只需要在当前时间窗中查找并清理即可,而不需要遍历整个缓存,从而减少了数据遍历的开销;随着时间窗的轮换,过时的缓存项会被定期清理,保证了缓存中的数据始终保持新鲜和有效,从而提高了缓存的性能;随着时间的推移,缓存中的数据会不断更新,从而可以适应访问模式的变化。

在本申请的一些实施例中,将所述当前时间窗中存在的所有所述缓存项进行删除清理后,将所述当前缓存项添加至所述当前时间窗中。

可以理解的是,将当前缓存项直接添加回当前时间窗中,避免了重新计算或查询的开销,提高了操作的效率;通过将当前缓存项重新添加到当前时间窗中,确保了当前时间窗中的数据始终保持更新和有效。

本发明目的之二是提供一种带有时间因子和频次因子的缓存淘汰方法,包括:

根据若干缓存项建立键值对散列表Ⅰ,根据若干所述缓存项的访问频次建立散列表Ⅱ;

通过时间轮将时间划分为若干个分段,每个所述分段对应一个时间窗,所述时间窗按时间的前后顺序进行排放,每个所述时间窗包含一个或多个所述缓存项;将所有所述缓存项进行数组的划分,所述数组的数量等于所述时间窗的数量,每一所述时间窗中存放一个所述数组;

在访问一个缓存项时,在所述散列表Ⅰ里查找是否存在这一所述缓存项,并将这一所述缓存项记为当前缓存项;

当所述当前缓存项存在时,将所述当前缓存项从当前位置所在的访问频次链表中删除,并将所述当前缓存项移到访问频次+1对应的散列表Ⅱ中;同时,所述当前缓存项的访问频次更新为当前访问频次+1;

当所述当前缓存项不存在时,将所述当前缓存项加入所述散列表Ⅰ中;

根据特定时间周期对所述缓存链表里的缓存项进行淘汰,若干个所述时间窗根据时间周期按照所述前后顺序进行轮换检测,当前轮换到的所述时间窗记为当前时间窗,若所述当前时间窗中若存在所述数组,则将所述当前时间窗中存在的所有所述缓存项进行删除清理,然后将所述当前缓存项添加至所述当前时间窗记中。

可以理解的是,通过散列表Ⅰ,可以在常数时间内(O(1))查找是否存在特定的缓存项,提高了数据的检索效率;通过散列表Ⅱ,可以根据访问频次快速定位和更新缓存项的访问频次,从而实现了基于频次的缓存淘汰策略;通过时间轮将时间划分为若干个分段,每个分段对应一个时间窗,可以定期清理过期的缓存项,保持缓存的有效性。将所有缓存项进行数组的划分,每个时间窗中存放一个数组,有效地管理缓存的内存占用;在淘汰过期数据时,将当前缓存项先添加回当前时间窗中,可以避免误删数据,保证数据的完整性;通过定期清理过期数据和优化频次因子,保证了缓存中的数据始终保持新鲜和有效,从而提高了缓存的性能;通过结合了时间因子和频次因子,使得缓存淘汰策略更加灵活和智能,可以适应不同场景的需求。因此,本发明的缓存淘汰方法结合了多种策略,能够有效地管理缓存,保证数据的新鲜和有效,提高了缓存系统的性能和效率。

所述时间轮的示意图如图5-7所示。

图5中,时间轮转动到一个时间窗;图6中,时间轮转动到这一时间窗时,k8在当前时间内被访问,则将k8从原时间窗移除,并将k8移入当前时间窗;图7中,当时间轮转动一周后,k5、k6仍未被访问时,当时间轮转动到包含k5、k6的时间窗时,k5、k6被淘汰移除。

进一步的,所述散列表Ⅰ和所述散列表Ⅱ均为哈希表。

进一步的,所述散列表Ⅰ为哈希表cacheMap。

进一步的,所述哈希表cacheMap包含所有所述缓存项。

进一步的,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项。

进一步的,所述散列表Ⅱ为哈希表freqMap。

进一步的,所述freqMap包括所有所述缓存项的访问频次。

进一步的,所述freqMap用于根据存放所有所述缓存项的访问频次。

在本申请的一些实施例中,将所述当前缓存项移到访问频次+1对应的散列表Ⅱ中,具体为:将所述当前缓存项移到访问频次+1对应的访问频次链表中的头部。

在本申请的一些实施例中,当所述当前缓存项不存在时,将所述当前缓存项加入散列表Ⅰ中,同时,将所述当前缓存项插入至访问频次最低的散列表Ⅱ的尾部。

在本申请的一些实施例中,当所述当前缓存项不存在时,将所述当前缓存项加入散列表Ⅰ中,若所述当前缓存项加入所述散列表Ⅰ后,所述散列表Ⅰ超过预先设定的缓存数量阈值,则在访问频次最低的所述散列表Ⅱ中查找所有的最少访问缓存项的时间戳,获得所述时间戳最早的所述最少访问缓存项,并在所述散列表Ⅱ和所述散列表Ⅰ中同时将所述时间戳最早的所述最少访问缓存项进行删除。

本发明目的之三是提供一种用于缓存淘汰的系统,包括哈希表cacheMap、哈希表freqMap、时间轮和权利要求1-7任一项所述的带有时间因子和频次因子的缓存算法;

其中,所述哈希表cacheMap包含所有所述缓存项,所述哈希表cacheMap用于根据缓存的键快速定位到对应的所述缓存项;

所述freqMap包括所有所述缓存项的访问频次,所述freqMap用于根据存放所有所述缓存项的访问频次;

所述时间轮用于根据特定时间周期对所述缓存项进行批量淘汰;

所述带有时间因子和频次因子的缓存算法用于根据当前访问的所述缓存项的缓存记录、缓存时间、访问频次和/或时间戳,对当前访问的所述缓存项进行添加或淘汰。

可以理解的是,本发明的缓存淘汰系统综合了多种组件和算法,可以高效地管理缓存,保证数据的新鲜和有效,提高了缓存系统的性能和效率。具体的,通过哈希表cacheMap,可以快速根据缓存的键定位到对应的缓存项,提高了数据的检索效率;通过哈希表freqMap,可以实时跟踪记录所有缓存项的访问频次,为基于频次的缓存淘汰提供了依据;通过时间轮,可以根据特定时间周期对缓存项进行批量淘汰,保证了缓存中的数据始终保持新鲜和有效;通过带有时间因子和频次因子的缓存算法,根据缓存记录、缓存时间、访问频次和/或时间戳等信息,对当前访问的缓存项进行智能的添加或淘汰,使得缓存淘汰策略更加灵活和智能;通过定期批量淘汰过期数据和智能的缓存淘汰策略,可以降低缓存的内存占用,提高了内存的利用率;通过保持缓存中的数据始终保持新鲜和有效,提高了缓存的性能和效率;结合了哈希表、时间轮和智能缓存淘汰算法等多种组件和策略,使得该系统可以灵活应对不同场景下的缓存需求。

最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

上述实施例提供的系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

相关技术
  • 基于时间序列预测算法补全污染因子的锅炉吹灰优化方法
  • 一种跨转录因子的转录因子结合位点预测算法及装置
技术分类

06120116580970