本申请涉及计算机技术领域,尤其涉及一种表项更新方法及装置。
背景技术:
网络通信时需要进行网络搜索,网络搜索的速率直接决定了报文的转发速率,即网络的通信速率。表项更新技术是网络搜索中的一项关键技术,其中表项是指保存有mac地址或ip路由地址的条目。
传统的表项更新方法主要分为静态表项更新和动态表项更新。其中,静态表项更新是指网络搜索引擎暂停处理搜索业务,将待更新的表项加载至网络搜索引擎的存储空间中,等到表项更新生效后,继续进行搜索业务的处理。而随着网络通信速率要求的不断提高,静态表项更新方法由于在更新时暂停搜索业务,因此会造成搜索业务大量积压,严重影响网络通信速率,可见静态表项更新方法已明显不能适用于目前网络通信要求。
目前,为了在更新表项的同时能够保证网络搜索业务的正常进行,通常使用动态表项更新的方法。这种方法是指在需要进行表项更新时,网络搜索引擎仍旧正常工作,在处理搜索业务的同时,将待更新的表项加载至网络搜索引擎的存储空间中。然而,这种动态表项更新方法虽然不会造成搜索业务积压,但是由于表项更新过程和网络搜索过程同时进行,两个过程在表项的存储空间会产生访问冲突的情况,进而造成搜索结果出错的问题。
技术实现要素:
本申请提供了一种表项更新方法及装置,以解决目前表项更新与网络搜索过程同步造成的存储空间访问冲突的问题。
第一方面,本申请实施例提供了一种表项更新方法,包括:
确定待更新存储空间,所述待更新存储空间用于表示待更新表项保存的位置;
将待更新存储空间中的当前表项移动到备份存储空间中,所述备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项;
将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。
结合第一方面,在第一方面的一种可实现方式中,将待更新存储空间中的当前表项移动到备份存储空间中的步骤包括:
如果待更新存储空间有若干个,则建立若干个备份存储空间与待更新存储空间一一对应;
将每一个待更新存储空间中的当前表项移动到对应的备份存储空间中。
结合第一方面,在第一方面的一种可实现方式中,将待更新表项传输到待更新存储空间中,完成待更新存储空间中表项的更新的步骤包括:
将待更新表项中的表项按照表项分类标准组成不同的表项集合,所述表项分类标准用于指示表项按照不同的需求组成表项集合以及表项集合应该保存的位置;
提取每一个表项集合中的表项特征,所述表项特征用于表示表项集合中表项之间的相同内容;
将每一个表项特征结合其对应表项集合中的非表项特征,组成每一个表项集合对应的待传输内容,所述非表项特征用于表示表项集合中表项之间不相同的内容;
根据表项分类标准,将每一个表项集合对应的待传输内容加载到表项集合对应的待更新存储空间中,完成待更新存储空间中表项的更新。
结合第一方面,在第一方面的一种可实现方式中,将待更新存储空间中的当前表项移动到备份存储空间中之后,还包括:
开启备份存储空间的搜索访问权限;
关闭待更新存储空间的搜索访问权限。
结合第一方面,在第一方面的一种可实现方式中,将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新之后,还包括:
开启待更新存储空间的搜索访问权限;
关闭备份存储空间的搜索访问权限。
第二方面,本申请实施例提供了一种表项更新装置,包括:
存储空间确定模块,用于确定待更新存储空间,所述待更新存储空间用于表示待更新表项保存的位置;
备份模块,用于将待更新存储空间中的当前表项移动到备份存储空间中,所述备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项;
表项加载模块,用于将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。
结合第二方面,在第二方面的一种可实现方式中,备份模块包括:
备份存储空间建立单元,用于如果待更新存储空间有若干个,则建立若干个备份存储空间与待更新存储空间一一对应;
表项移动单元,用于将每一个待更新存储空间中的当前表项移动到对应的备份存储空间中。
结合第二方面,在第二方面的一种可实现方式中,表项加载模块包括:
表项集合组成单元,用于将待更新表项中的表项按照表项分类标准组成不同的表项集合,所述表项分类标准用于指示表项按照不同的需求组成表项集合以及表项集合应该保存的位置;
特征提取单元,用于提取每一个表项集合中的表项特征,所述表项特征用于表示表项集合中表项之间的相同内容;
待传输内容组成单元,用于将每一个表项特征结合其对应表项集合中的非表项特征,组成每一个表项集合对应的待传输内容,所述非表项特征用于表示表项集合中表项之间不相同的内容;
加载单元,用于根据表项分类标准,将每一个表项集合对应的待传输内容加载到表项集合对应的待更新存储空间中,完成待更新存储空间中表项的更新。
结合第二方面,在第二方面的一种可实现方式中,还包括第一权限管理模块,所述第一权限管理模块用于在将待更新存储空间中的当前表项移动到备份存储空间中之后,开启备份存储空间的搜索访问权限;关闭待更新存储空间的搜索访问权限。
结合第二方面,在第二方面的一种可实现方式中,还包括第二权限管理模块,所述第二权限管理模块用于在将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新之后,开启待更新存储空间的搜索访问权限;关闭备份存储空间的搜索访问权限。
由以上技术方案可知,本申请实施例提供了一种表项更新方法及装置,在需要对表项进行更新时,首先确定待更新表项需要保存的待更新存储空间;然后将待更新存储空间中的当前表项移动到备份存储空间中,备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项;将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。本申请的技术方案将待更新存储空间中的表项备份用于搜索业务使用,而待更新存储空间只进行表项的更新操作,避免搜索操作和更新操作都在待更新存储空间中进行而导致的访问冲突的问题,进而能够保证搜索业务的搜索结果的正确性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施案例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种表项更新方法的流程图;
图2为本申请实施例提供的一种表项更新的示意图;
图3为本申请实施例提供的另一种表项更新的示意图;
图4为本申请实施例提供的一种表项更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本申请实施例提供的一种表项更新方法的流程图。如图1所示,本申请实施例提供的表项更新方法包括如下步骤:
s101,确定待更新存储空间,所述待更新存储空间用于表示待更新表项保存的位置。
本申请实施例中的待更新表项与待更新存储空间中现有的表项之间的差别可以是表项内容更改、表项内容增加或者表项内容删除等等。另外,本申请实施例中的存储空间可以有多个,但是需要进行表项更新的待更新存储空间个数有限,并不是所有的存储空间都需要进行表项更新,因此本申请实施例中还需要根据待更新表项确定待更新存储空间,进而保证需要进行表项更新的储存空间是正确的。本申请实施例中的表项内容可以是ip地址或者是mac地址。
s102,将待更新存储空间中的当前表项移动到备份存储空间中,所述备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项。本申请实施例中在需要更新表项时,将待更新存储空间中的当前表项移动到备份存储空间中,使备份空间参与网络搜索引擎的搜索业务,而存储空间只进行表项的更新,可见,本申请实施例中能够将搜索业务与更新业务分离,避免在同一个存储空间中进项这两项业务导致访问冲突。
本申请实施例中如果有多个待更新表项,多个待更新表项对应了多个待更新存储空间,那么也可以实现多个待更新表项的同时更新,具体的在s102中还包括:
s201,如果待更新存储空间有若干个,则建立若干个备份存储空间与待更新存储空间一一对应;由于备份存储空间的作用是提供给网络搜索引擎所需的搜索表项,那么为了保证在表项更新时每一个待更新存储空间对应的搜索业务都可以继续进行,就需要对每一个待更新存储空间对应建立一个备份存储空间,保证每一个待更新存储空间中的当前表项都有空间保存。
s202,将每一个待更新存储空间中的当前表项移动到对应的备份存储空间中,完成备份任务。
在备份完成后,为了能实现备份存储空间用于搜索业务,而待更新存储空间只进行表项更新的操作,在s102之后还包括:开启备份存储空间的搜索访问权限以及关闭待更新存储空间的搜索访问权限。此时,备份存储空间开放了访问权限,网络搜索引擎在进行搜索业务时直接访问备份存储空间,而待更新存储空间关闭了访问权限,网络搜索殷勤就无法访问待更新存储空间进行搜索业务,进而保证搜索业务和更新业务的分离。
传统的表项更新过程中几乎不进行表项备份处理,仅保证表项更新操作为原子性操作,因为新旧表项混存,由此可能引起搜索结果出错。备份技术的作用在于,更新之前首先将待更新存储空间的表项内容搬移至备份存储空间,然后备份存储空间对搜索业务开发访问权限,待更新存储空间则不再对搜索业务开放访问权限。此时将待更新表项加载至待更新存储空间,这一过程可以被视为静态表项更新,因此不会产生访问冲突,可以保证搜索业务结果的正确性。
s103,将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。完成更新业务后,为了使网络搜索引擎能够使用更新后的存储空间进行搜索,在s103之后,还包括:开启待更新存储空间的搜索访问权限以及关闭备份存储空间的搜索访问权限,以保证网络搜索引擎能够访问更新后的存储空间。
可见,本申请实施例中可以将供搜索业务使用的表项从待更新存储空间中移动到备份存储空间中,使备份存储空间用于搜索业务,而待更新存储空间中只进行表项更新业务,保证搜索业务与更新业务的分离,避免两种业务在存储空间中产生访问冲突的问题。
目前的表项更新方式不仅存在搜索业务和更新业务访问冲突的问题,表项更新的速率同时还受到接口访问速率、存储空间访问速率及内部处理速率的制约,当出现大规模待更新表项时,容易出现表项更新不及时而影响搜索业务正确处理的情形。为了提高表项更新的速率,本申请实施例中将待更新表项加载到待更新存储空间中的具体步骤还包括:
s301,将待更新表项中的表项按照表项分类标准组成不同的表项集合,所述表项分类标准用于指示表项按照不同的需求组成表项集合以及表项集合应该保存的位置。本申请实施例中所说的表项分类标准具体可理解为根据不同的用户需求制定的特征值选择规则。
传统的表项更新方法会将表项逐条更新,而不管这些表项之间是否存在关联性。事实上,这些表项之间通常是具有强关联性的,其关联性决定了这些表项中存在许多相同的内容,将这些相同的内容通过接口逐条更新,在事实上浪费了接口的带宽。当待更新表项条目较少时,逐条更新的副作用不明显;而当有大规模表项待更新时,则会严重降低接口性能。因此,本申请实施例中利用特征选择规则先将具有关联性的一些表项组成一个表项集合,这里的关联性是指表项集合内的表项之间具有部分相同的内容,当然同一个待更新表项中也可能存在一些表项与其他表项之间没有相同的内容,此时该待更新表项对应的特征选择规则可能有多个,可以根据一个规则将相同内容最长的所有表项组成一个表项集合,然后再将待更新表项中剩下的表项再根据另一个规则将相同的最长的所有表项组成另一个表项集合,依次类推,可以将一个待更新表项中的所有表项组成不同的若干个表项集合,然后这些表项集合最终的保存位置都是同一个位置,保证最后保存所有表项是完整的。
s302,提取每一个表项集合中的表项特征,所述表项特征用于表示表项集合中表项之间的相同内容。例如,一个待更新表项中保存的主机ip为192.168.1.2~192.168.1.255工254条表项,那么这些ip地址表项之间的表项特征为192.168.1,即为254条表项中相同的内容。
s303,将每一个表项特征结合其对应表项集合中的非表项特征,组成每一个表项集合对应的待传输内容,所述非表项特征用于表示表项集合中表项之间不相同的内容。仍以步骤s302中的待更新表项为例,主机ip为192.168.1.2~192.168.1.255,其中表项特征为192.168.1,非表项特征为2~255。对于表项特征,由于其内容是不变的,所以只传输一次即可,而对应非表项特征需要每一个都进行传输,组成的待传输内容可以表示为192.168.1+2~255。
s304,根据表项分类标准,将每一个表项集合对应的待传输内容加载到表项集合对应的待更新存储空间中,完成待更新存储空间中表项的更新。由上述内容可知,每一个待更新表项可能对应对个分类标准或者特征选择规则,但是同一个待更新表项拆分出来的若干表项集合是需要传输到同一个待更新存储空间中的,以保证待更新表项的完整性。
本申请实施例中利用提取特征的方式使得表项之间相同的内容只需要传输一次,可以在很大程度上提高接口传输的效率。例如:
为ipv4网络中某个虚拟局域网段更改网关,即调整虚拟局域网中的ip的下一跳地址。为方便描述,假设一条表项的内容仅由两段ip构成,分别为虚拟局域网中的主机ip和网关ip。主机ip为192.168.1.2~192.168.1.255共计254条待更新表项,网关ip原先为192.168.1.0,现切换为192.168.1.1。一条ipv4地址为32bits,因此一条表项为64bits。假设接口速率为每一个时钟周期可以传输128bits,那么传输完全的254条表项,需要127个时钟周期。现在利用归类更新技术,首先提取这些表项的共同特征,由于这些主机ip均在同一个虚拟局域网中,因此其ip的前24bits均相同,为192.168.1,而且这些主机均切换网关为192.168.1.1,即又有32bits相同。这些表项的64bits中,仅8bits内容不同,其余56bits均是相同的。实际待传输的表项内容仅有56bits+8bits×254=2088bits,接口每个周期传输128bits,仅需17个时钟周期即可传完,接口传输效率提升647%。
另外,本申请实施例中如果待更新表项很多,其所占用的待更新存储空间就需要很大,通常不属于一个物理块,这时对于表项的更新可以采用多线程技术,多线程技术具有双重含义,一是允许对一系列待更新表项同时进行多个特征的提取,然后将这些待更新表项加载至相同的或不同的待更新存储空间,其中每一个待更新表项的特征提取以及待更新表项的加载都可以采用上述实施例的内容s301-s304实现;二是允许对多个待更新存储空间同时进行当前表项备份以及表项更新,从而提高内部处理速率。从本质上来说,多线程技术是一种资源换速度的技术,即需要增加备份存储空间,以便同时进行多张待更新表项的备份。当若干个待更新表项对应若干个待更新存储空间的更新情况上述实施例中已经说明,需要建立若干个备份存储空间与待更新存储空间对应,随后的对于每一个待更新存储空间的表项更新也可以根据上述实施例的内容s301-s304实现。
图2为本申请实施例提供的一种表项更新的示意图。当对一个表项集合进行处理时,上述s101-s103的全部内容可以通过图2展示出来。
图3为本申请实施例提供的另一种表项更新的示意图。当对多个待更新表项或者多个表项集合进行处理时,上述s101-s103的全部内容可以通过图3展示出来。
可见,本申请实施例中提供的表项更新方法,由于进行待更新存储空间的表项备份,因而能够保证搜索业务处理的正确性。而表项备份所花费的额外的更新时间也因为整体更新速率的提升而可以被忽略。由于采用了表项特征的提取,因而减少了重复内容的下发,提高了接口带宽的利用率,从而提升了表项更新速率。在大规模表项更新场景下,启用多线程技术,多个待更新存储空间同时进行表项更新,从而提高表项更新速率。同时因为接口带宽利用率提高,因而可以满足数据下发的带宽要求。
图4为本申请实施例提供的一种表项更新装置的结构框图。如图4所示,本申请实施例提供的表项更新装置包括:存储空间确定模块41,用于确定待更新存储空间,所述待更新存储空间用于表示待更新表项保存的位置;备份模块42,用于将待更新存储空间中的当前表项移动到备份存储空间中,所述备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项;表项加载模块43,用于将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。
可选的,备份模块包括:备份存储空间建立单元,用于如果待更新存储空间有若干个,则建立若干个备份存储空间与待更新存储空间一一对应;表项移动单元,用于将每一个待更新存储空间中的当前表项移动到对应的备份存储空间中。
可选的,表项加载模块包括:表项集合组成单元,用于将待更新表项中的表项按照表项分类标准组成不同的表项集合,所述表项分类标准用于指示表项按照不同的需求组成表项集合以及表项集合应该保存的位置;特征提取单元,用于提取每一个表项集合中的表项特征,所述表项特征用于表示表项集合中表项之间的相同内容;待传输内容组成单元,用于将每一个表项特征结合其对应表项集合中的非表项特征,组成每一个表项集合对应的待传输内容,所述非表项特征用于表示表项集合中表项之间不相同的内容;加载单元,用于根据表项分类标准,将每一个表项集合对应的待传输内容加载到表项集合对应的待更新存储空间中,完成待更新存储空间中表项的更新。
可选的,还包括第一权限管理模块,所述第一权限管理模块用于在将待更新存储空间中的当前表项移动到备份存储空间中之后,开启备份存储空间的搜索访问权限;关闭待更新存储空间的搜索访问权限。
可选的,还包括第二权限管理模块,所述第二权限管理模块用于在将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新之后,开启待更新存储空间的搜索访问权限;关闭备份存储空间的搜索访问权限。
由以上技术方案可知,本申请实施例提供了一种表项更新方法及装置,在需要对表项进行更新时,首先确定待更新表项需要保存的待更新存储空间;然后将待更新存储空间中的当前表项移动到备份存储空间中,备份存储空间用于在表项更新时为网络搜索引擎提供用于搜索的表项;将待更新表项加载到待更新存储空间中,完成待更新存储空间中表项的更新。本申请的技术方案将待更新存储空间中的表项备份用于搜索业务使用,而待更新存储空间只进行表项的更新操作,避免搜索操作和更新操作都在待更新存储空间中进行而导致的访问冲突的问题,进而能够保证搜索业务的搜索结果的正确性。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。