发明内容
本发明提供了一种标志位的访问方法和装置,以至少解决现有技术中采用同质化方式对标志位进行存储而导致的一个标志位出现问题可能会影响到其它标志位的稳定性的技术问题。
根据本发明的一个方面,提供了一种标志位的访问方法,包括:接收来自客户端的访问请求,其中,上述访问请求携带有业务的标志位;查找与上述标志位的重要级别对应的存储设备,其中,不同的存储设备在物理上和/或逻辑上相互隔绝;向上述查找到的存储设备访问上述访问请求携带的上述标志位。
优选地,在接收来自客户端的访问请求之前,上述方法还包括:对于重要级别大于预定级别的标志位,使用至少两个上述存储设备分别存储上述重要级别大于预定级别的标志位,其中,上述至少两个上述存储设备中的一个存储设备作为主用存储设备,上述至少两个上述存储设备中除上述主用存储设备之外的其他存储设备作为备用存储设备。
优选地,在使用至少两个上述存储设备分别存储上述重要级别大于预定级别的标志位之后,上述方法还包括:当上述重要级别大于预定级别的标志位的重要级别下降到低于或等于上述预定级别时,减少存储有上述重要级别下降的标志位的存储设备的个数。
优选地,在向上述查找到的存储设备访问上述访问请求携带的上述标志位之后,上述方法还包括:接收到写请求,其中,上述写请求携带有上述业务的标志位的值;将所有存储有上述业务的标志位的存储设备中对应的上述业务的标志位的值同步更新为上述写请求携带的上述业务的标志位的值。
优选地,上述向上述查找到的存储设备访问上述标志位的步骤包括:从上述查找到的存储设备中读取上述标志位的值;和/或将上述查找到的存储设备中上述标志位的值更新为上述访问请求携带的上述标志位的值。
优选地,上述接收来自客户端的访问请求的步骤包括:处理器接收客户端的访问请求;上述查找与上述标志位的重要级别对应的存储设备的步骤包括:上述处理器的逻辑层查找与上述标志位的重要级别对应的存储设备;上述向上述查找到的存储设备访问上述访问请求携带的上述标志位的步骤包括:上述处理器向上述查找到的存储设备访问上述访问请求携带的上述标志位。
优选地,上述查找与上述标志位的重要级别对应的存储设备的步骤还包括:判断上述访问请求中的访问命令是否被允许,其中,预先为不同重要级别的标志位设置一个或多个被允许的访问命令;若上述访问请求中的访问命令被允许,则查找与上述标志位的重要级别对应的存储设备。
根据本发明的另一方面,提供了一种标志位的访问装置,包括:接收单元,用于接收来自客户端的访问请求,其中,上述访问请求携带有业务的标志位;查找单元,用于查找与上述标志位的重要级别对应的存储设备,其中,不同的存储设备在物理上和/或逻辑上相互隔绝;访问单元,用于向上述查找到的存储设备访问上述访问请求携带的上述标志位。
优选地,上述装置还包括:备份单元,用于接收来自客户端的访问请求之前,对于重要级别大于预定级别的标志位,使用至少两个上述存储设备分别存储上述重要级别大于预定级别的标志位,其中,上述至少两个上述存储设备中的一个存储设备作为主用存储设备,上述至少两个上述存储设备中除上述主用存储设备之外的其他存储设备作为备用存储设备。
优选地,上述装置还包括:接收单元,用于在向上述查找到的存储设备访问上述访问请求携带的上述标志位之后,接收到写请求,其中,上述写请求携带有上述业务的标志位的值;更新单元,用于将所有存储有上述业务的标志位的存储设备中对应的上述业务的标志位的值同步更新为上述写请求携带的上述业务的标志位的值。
在本发明中,将标志位存储在相互隔绝的存储设备上,这样在接收到业务的标志位的访问请求后,可以直接到该被请求的标志位对应的存储设备上查找即可,因为存储设备是隔绝的,相互之间不会产生影响,对一个标志位的访问不会影响其它的标志位。通过这种方式解决了现有技术中采用同质化方式对标志位进行存储而导致的一个标志位出现问题可能会影响到其它标志位的稳定性的技术问题,达到了提高系统稳定性的技术效果。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在描述本发明的各实施例的进一步细节之前,将参考图1来描述可用于实现本发明的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本发明的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
转向附图,其中相同的参考标号指代相同的元素,本发明的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本发明的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本发明。
图2示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将该计算系统解释为对图2所示的任一组件或其组合具有任何依赖或需求。
本发明的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本发明的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
在其最基本的配置中,图2中的标志位的访问系统200至少包括:一个网站的服务器202以及一个或多个客户端204。服务器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端104可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合标志位的访问系统200甚至可以是分布式的,以实现分布式功能。
如本发明所使用的,术语“模块”、“组件”或“单元”可以指在配置信息的更新系统200上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在标志位的访问系统200上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
实施例1
图3是根据本发明实施例的标志位的访问装置的一种优选的结构示意图,优选的,本实施例中的系统位于服务器202上或者客户端204上。如图3所示,该装置包括接收单元302和查找单元304,以及访问单元306,下面对这些结构进行具体描述。
接收单元302,用于接收来自客户端的访问请求,其中,所述访问请求携带有业务的标志位;
查找单元304,与接收单元302耦合,用于查找与所述标志位的重要级别对应的存储设备,其中,不同的存储设备在物理上和/或逻辑上相互隔绝;优选地,可以在不同的存储设备上存储不同重要级别的标志位;即,按照重要级别的不同将标志位分别存储在多个相互隔绝的存储设备上,从而实现了标志位的重要级别的划分,进一步的,因为存储设备之间是隔绝的,因此标志位相互之间的影响可以达到最小。
访问单元306,与查找单元304耦合,用于向所述查找到的存储设备访问所述访问请求携带的所述标志位。
在上述优选实施方式中,将标志位存储在相互隔绝的存储设备上,这样在接收到业务的标志位的访问请求后,可以直接到该被请求的标志位对应的存储设备上查找即可,因为存储设备是隔绝的,相互之间不会产生影响,对一个标志位的访问不会影响其它的标志位。通过这种方式解决了现有技术中采用同质化方式对标志位进行存储而导致的一个标志位出现问题可能会影响到其它标志位的稳定性的技术问题,达到了提高系统稳定性的技术效果。
通过标志位的重要程度的不同,将标志位存储在相互隔绝的存储设备上,这样就实现了按照重要级别的不同对标志位进行存储的目的,从而使得高重要级别不会受到低重要级别的影响。
为了使得重要级别较高的标志位可以得到更为完整的保护,可以为这种重要级别高的标志位多分配存储设备,为其配备一个主存储设备和多个备用存储设备,当主要存储设备出现故障时,可以将其转移到备用存储设备上,从而可以根据重要级别的高低合理调整存储标志位的存储设备的数量。在一个优选实施方式中,如图4所示,上述装置还包括:备份单元402,用于接收来自客户端的访问请求之前,对于重要级别大于预定级别的标志位,使用至少两个所述存储设备分别存储所述重要级别大于预定级别的标志位,其中,所述至少两个所述存储设备中的一个存储设备作为主用存储设备,所述至少两个所述存储设备中除所述主用存储设备之外的其他存储设备作为备用存储设备。
考虑到系统资源是有限的,可以按照每个标志位的重要级别动态调整该标志位对应的存储设备的数量,或者可以根据各类型标志位的访问情况的变化,动态调整各存储设备的部署,从而可以实现系统容量在更小粒度的平行扩展。例如,当某个标志位的重要级别上升时,可以为其多分配几个存储设备,当重要级别下降时就减少存储该标志位的存储设备,从而实现对存储设备的动态调整。上述备份单元还用于当重要级别大于预定级别的标志位的重要级别下降到低于或等于所述预定级别时,减少存储有所述重要级别下降的标志位的存储设备的个数。
对标志位的访问主要存在读和写两种操作,当接收到写请求时,就进行写操作,具体的写操作就是写入该标志位对应的值,也相当于一个更新标志位对应的值的过程;当接收到读请求时,就进行读操作,具体的,读操作就是读取该标志位对应的值。
在一个优选实施方式中,如图5所示,上述装置还包括:接收单元502,用于在向所述查找到的存储设备访问所述访问请求携带的所述标志位之后,接收到写请求,其中,所述写请求携带有所述业务的标志位的值;更新单元504,用于将所有存储有所述业务的标志位的存储设备中对应的所述业务的标志位的值同步更新为所述写请求携带的所述业务的标志位的值,即相当于一个对标志位的值进行同步更新的过程。
对于上述的标志位查找过程可以在处理器中执行,逻辑层不负责数据的存储,仅负责对请求进行处理,数据都存储在一个个物理上隔绝的存储设备中。处理器接收客户端的访问请求;处理器的逻辑层查找与标志位的重要级别对应的存储设备;处理器向查找到的存储设备访问访问请求携带的标志位。
优选地,可以设定一个访问限制,只有被允许的访问请求才可以对请求中携带的标志位进行查找,即,设定了访问权限与重要级别之间的一个绑定关系。在一个优选实施方式中,查找单元304还用于判断所述访问请求中的访问命令是否被允许,其中,预先为不同重要级别的标志位设置一个或多个被允许的访问命令;若所述访问请求中的访问命令被允许,则查找与所述标志位的重要级别对应的存储设备。
实施例2
在图2-图5所示的系统的基础上,本发明提供了一种优选的标志位的访问方法。如图6所示,该方法可以包括如下步骤:
步骤S602:接收来自客户端的访问请求,其中,访问请求携带有业务的标志位;
步骤S604:查找与标志位的重要级别对应的存储设备,其中,不同的存储设备在物理上和/或逻辑上相互隔绝;优选地,可以在不同的存储设备上存储不同重要级别的标志位;即,按照重要级别的不同将标志位分别存储在多个相互隔绝的存储设备上,从而实现了标志位的重要级别的划分,因为存储设备之间是相互隔绝的,因此标志位相互之间的影响可以达到最小。
步骤S606:向查找到的存储设备访问访问请求携带的标志位。
在上述优选实施方式中,将标志位存储在相互隔绝的存储设备上,这样在接收到业务的标志位的访问请求后,可以直接到该被请求的标志位对应的存储设备上查找即可,因为存储设备是隔绝的,相互之间不会产生影响,对一个标志位的访问不会影响其它的标志位。通过这种方式解决了现有技术中采用同质化方式对标志位进行存储而导致的一个标志位出现问题可能会影响到其它标志位的稳定性的技术问题,达到了提高系统稳定性的技术效果。
通过标志位的重要程度的不同,将标志位存储在相互隔绝的存储设备上,这样就实现了按照重要级别的不同对标志位进行存储的目的,从而使得高重要级别不会受到低重要级别的影响。
为了使得重要级别较高的标志位可以得到更为完整的保护,可以为这种重要级别高的标志位多分配存储设备,为其配备一个主存储设备和多个备用存储设备,当主要存储设备出现故障时,可以将其转移到备用存储设备上,从而可以根据重要级别的高低合理调整存储标志位的存储设备的数量。在一个优选实施方式中,在接收来自客户端的访问请求之前,上述方法还包括:对于重要级别大于预定级别的标志位,使用至少两个所述存储设备分别存储所述重要级别大于预定级别的标志位,其中,所述至少两个所述存储设备中的一个存储设备作为主用存储设备,所述至少两个所述存储设备中除所述主用存储设备之外的其他存储设备作为备用存储设备。
考虑到系统资源是有限的,可以按照每个标志位的重要级别动态调整该标志位对应的存储设备的数量,或者可以根据各类型标志位的访问情况的变化,动态调整各存储设备的部署,从而可以实现系统容量在更小粒度的平行扩展。例如,当某个标志位的重要级别上升时,可以为其多分配几个存储设备,当重要级别下降时就减少存储该标志位的存储设备,从而实现对存储设备的动态调整。在一个优选实施方式中,在使用至少两个所述存储设备分别存储所述重要级别大于预定级别的标志位之后,上述方法还包括:重要级别大于预定级别的标志位的重要级别下降到低于或等于所述预定级别时,减少存储有所述重要级别下降的标志位的存储设备的个数。
对标志位的访问主要存在读和写两种操作,当接收到写请求时,就进行写操作,具体的写操作就是写入该标志位对应的值,也相当于一个更新标志位对应的值的过程;当接收到读请求时,就进行读操作,具体的,读操作就是读取该标志位对应的值。在一个优选实施方式中,向所述查找到的存储设备访问所述标志位的步骤包括:从所述查找到的存储设备中读取所述标志位的值;和/或将所述查找到的存储设备中所述标志位的值更新为所述访问请求携带的所述标志位的值。
在一个优选实施方式中,在向所述查找到的存储设备访问所述访问请求携带的所述标志位之后,如图7所示,上述方法还包括:
步骤S702:接收到写请求,其中,写请求携带有业务的标志位的值;
步骤S704:将所有存储有业务的标志位的存储设备中对应的业务的标志位的值同步更新为写请求携带的业务的标志位的值,即相当于一个对标志位的值进行同步更新的过程。
对于上述的标志位查找过程可以在处理器中执行,逻辑层不负责数据的存储,仅负责对请求进行处理,数据都存储在一个个物理上隔绝的存储设备中。如图8所示,上述的标志位访问方法包括以下步骤:
步骤S802:处理器接收客户端的访问请求;
步骤S804:处理器的逻辑层查找与标志位的重要级别对应的存储设备;
步骤S806:处理器向查找到的存储设备访问访问请求携带的标志位。
优选地,可以设定一个访问限制,只有被允许的访问请求才可以对请求中携带的标志位进行查找,即,设定了访问权限与重要级别之间的一个绑定关系。在一个优选实施方式中,所述查找与所述标志位的重要级别对应的存储设备的步骤还包括:判断所述访问请求中的访问命令是否被允许,其中,预先为不同重要级别的标志位设置一个或多个被允许的访问命令;若所述访问请求中的访问命令被允许,则查找与所述标志位的重要级别对应的存储设备。
实施例3
本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
为了实现精细化的标志位系统运营,需要系统开发运营人员,熟悉各个标志位的特征。然而,业务系统通常会有大量的标志位需求,且系统设计过程中难以单独考虑每个标志位的特征。一种折中的方式就是将标志位按照其重要性以及应用领域进行分类管理。对于相同类别标志位的特征,可以认为其具有相似的特征,从而减少为了实现标志位管理的代价。在标志位系统设计时,如何综合考虑标志位之间的差异性,是设计过程中需要考虑的一个关键问题。
本发明的发明构思主要是,针对不同类别标志位的特征之间的差异,提出了一种从物理和逻辑两个维度隔离用户请求的方案。实现了不同业务特征的标志位访问,按类型在逻辑和物理上的双重隔离,避免了标志位类别之间的访问产生的干扰。该方案支持按各类别标志位的访问模型以及重要级别等信息进行标志位的存储和访问。可以优化系统的设计部署,同时支持差异化的服务,能动态调整各类别标志位之间的部署状态。
标志位逻辑层面的隔离,主要是通过将标志位类别与访问命令权限之间进行相互绑定,也可以设定所有的访问命令都支持这种标志位访问。如图9所示,包括:用户向内部读逻辑层发送读请求;内部读逻辑层根据标志位类别,进行相关的访问权限判断以及各种业务逻辑的控制;在各种验证完成后,根据路由配置信息,将用户的读请求分发到某个读拷贝(即,上文中的存储设备)。优选地,读拷贝仅需负责简单的标志位数据的读取,而不用涉及各种标志位之间的业务逻辑的控制,从而实现数据存取与业务逻辑之间的解耦。
在写操作方面,主写服务器统一负责对所有类别的标志位的数据进行更新。对于不同类别的标志位,可以通过多个写请求命令,实现对各类别标志位写权限方面的控制。在主写服务器上,维护了全量的标志位数据。当主写服务器收到用户写请求后,会更新本地的数据,并根据各读拷贝中的数据订阅,通过数据同步进程将标志位更新实时地同步给各个读拷贝。
由上述图9可以发现,不同的业务对应着不同数量的读拷贝,读拷贝的数量可以由业务的请求量或者是重要级别的大小进行配置。例如,业务1的请求量很大,其服务需要读拷贝1和2共同支撑;而业务2的请求负载,读拷贝3就可独立支撑;业务3和4请求量较小,这两个业务的负载,由一个读拷贝4就可以支持。除了通过业务的请求量,还可以根据业务的重要性调整系统部署:对于高重要性的标志位类别,系统为其预留多倍的系统容量予以支撑,而对于重要级别较低的类型,在足以支撑当前访问量的情况下,可以以节省机器成本为主。例如,业务2的重要性很高,则可以增加读拷贝5,由读拷贝3和5共同支持业务2的请求负载。通过上述方式,可以实现对系统部署的动态调整,当某个业务的请求量突然增长或者是重要性提高时,能够有针对性地调整部署。同时,各读拷贝在物理上是互相隔离的,对不同拷贝上的标志位的请求相互之间不会产生干扰。同时,当某个业务出现异常或者过载时,不会影响到其它业务的访问,提高了系统的稳定性。
在本优选实施例中,实现了对不同业务特征的标志位的访问,按类型在逻辑和物理上实现了双重隔离,避免了不同类别的标志位之间访问所产生的干扰。同时还可以根据各类型标志位的访问情况的变化动态调整各个读拷贝的部署,以实现系统容量在更小粒度的平行扩展。在系统容量的分配上,也可以按照标志位重要级别的高低进行合理的系统容量的划分,例如,对于重要级别高的标志位,系统可以预留多倍的系统容量予以支撑;而对重要级别较低的,在足以支撑现访问量情况下,可以以节省机器成本为主,实现了在满足业务需求的前提下,实现资源的合理分配;模块之间交互的逻辑较为简单,内部读逻辑层负责各类别标志位在逻辑上的隔离,不涉及对数据的存储,而各读拷贝在物理上是隔离的,从而减少了业务逻辑演变所引起的系统变更,提高了系统的稳定性。
通过以上的描述可知,本发明具有以下优势:将标志位存储在相互隔绝的存储设备上,这样在接收到业务的标志位的访问请求后,可以直接到该被请求的标志位对应的存储设备上查找即可,因为存储设备是隔绝的,相互之间不会产生影响,对一个标志位的访问不会影响其它的标志位。通过这种方式解决了现有技术中采用同质化方式对标志位进行存储而导致的一个标志位出现问题可能会影响到其它标志位的稳定性的技术问题,达到了提高系统稳定性的技术效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。