CN113419689B - 基于状态分析的对象管理的方法、系统、设备和存储介质 - Google Patents

基于状态分析的对象管理的方法、系统、设备和存储介质 Download PDF

Info

Publication number
CN113419689B
CN113419689B CN202110980224.3A CN202110980224A CN113419689B CN 113419689 B CN113419689 B CN 113419689B CN 202110980224 A CN202110980224 A CN 202110980224A CN 113419689 B CN113419689 B CN 113419689B
Authority
CN
China
Prior art keywords
state
data object
data
states
superposition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110980224.3A
Other languages
English (en)
Other versions
CN113419689A (zh
Inventor
樊云龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110980224.3A priority Critical patent/CN113419689B/zh
Publication of CN113419689A publication Critical patent/CN113419689A/zh
Application granted granted Critical
Publication of CN113419689B publication Critical patent/CN113419689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本发明提供了一种基于状态分析的对象管理的方法、系统、设备和存储介质,方法包括:根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。本发明通过将所有的对象管理问题映射为数据对象的状态变迁问题,简化了业务逻辑处理的复杂度。

Description

基于状态分析的对象管理的方法、系统、设备和存储介质
技术领域
本领域涉及云数据中心领域,更具体地,特别是指一种基于状态分析的对象管理的方法、系统、设备和存储介质。
背景技术
分布式存储系统的设计包含三部分:集群管理、单机存储引擎和一致性算法,其中集群管理负责节点的状态管理,包括节点上下线、节点服务异常等;一致性算法提供数据对象不同副本之间的一致性保证;而单机存储引擎负责处理节点的数据请求服务和数据对象的持久存储、访问等,在数据持久存储和访问中都是以对象为单位进行操作的,这就引入了对象管理,它负责对象的状态维护。
从数据对象请求的角度出发,按照数据的来源可以将节点内的数据对象分为两类,即业务产生的数据对象和管理产生的数据对象,业务产生的数据对象来自于分布式存储系统提供的块、文件、对象的业务请求,可以通过不同的协议提供;管理产生的数据对象来自于存储系统资源的创建和异常逻辑的处理,如数据均衡和恢复等。现有技术中没有一种统一通用的对象管理的方法。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于状态分析的对象管理的方法、系统、计算机设备及计算机可读存储介质,本发明通过将分布式存储系统中所有的对象管理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结果,随后由常驻服务根据状态来处理数据对象;从而将分布式存储系统中的对象管理抽象为统一的状态管理,实时处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂度。
基于上述目的,本发明实施例的一方面提供了一种基于状态分析的对象管理的方法,包括如下步骤:根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
在一些实施方式中,方法还包括:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象。
本发明实施例的另一方面,提供了一种基于状态分析的对象管理的系统,包括:第一定义模块,配置用于根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;第二定义模块,配置用于对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;判断模块,配置用于基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及更新模块,配置用于响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过将分布式存储系统中所有的对象管理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结果,随后由常驻服务根据状态来处理数据对象;从而将分布式存储系统中的对象管理抽象为统一的状态管理,实时处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的基于状态分析的对象管理的方法的实施例的示意图;
图2为本发明提供的基于状态分析的对象管理的系统的实施例的示意图;
图3为本发明提供的基于状态分析的对象管理的计算机设备的实施例的硬件结构示意图;
图4为本发明提供的基于状态分析的对象管理的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种基于状态分析的对象管理的方法的实施例。图1示出的是本发明提供的基于状态分析的对象管理的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;
S2、对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;
S3、基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及
S4、响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
本发明实施例将分布式系统中所有的对象管理问题映射为数据对象的状态变迁问题,即数据对象从一种状态向另一种状态的变迁,该变迁过程可以通过状态正交分析后得到结果,随后由常驻服务根据状态来处理数据对象的状态,从而将分布式存储系统中的对象管理抽象为统一的状态管理,实时处理任意对象管理问题的和场景的叠加,简化业务逻辑处理的复杂度。
根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
定义业务请求的内存对象struct request,分布式存储系统中任何和数据对象相关的请求都会被计算出一组关联的对象列表和对象状态,其中关联对象的个数为obj_cnt,state(状态)为处理中,代码可以例如:
struct request {
uin64_t id;//请求的唯一索引ID
uint8_t state;//请求状态
uint64_t obj_cnt;//请求关联的数据对象个数
}
本发明实施例从数据对象的业务请求角度分析分布式存储系统中数据对象可能存在的状态集合,并对状态进行抽象和分类,同时定义对象状态对应的处理方法。状态集合的定义根据对象的生命周期管理和业务数据可能发生的处理逻辑将数据对象的状态进行分类。
对于生命周期管理,分为Create(创建)和Delete(删除)操作,即创建和删除数据对象;数据对象产生后,当分布式存储系统出现异常如节点上、下线,磁盘设备插、拔等场景下,将会触发数据对象的均衡和恢复;对应的定位状态为Pull(拉)和Push(推),Pull为从其他位置同步数据对象,而Push定义为向其他位置推送该数据对象;根据场景的影响将数据对象的流动分为Inner(内部的)和Outer(外部的)状态,即Inner定义为数据对象在本节点内部流动,Outer定义为数据对象在集群内移动。
根据上述定义,数据对象的状态定义为如下7种:
1、Create:即数据对象待创建,对应处理函数为根据对象的ID等信息创建数据对象;
2、Delete:即数据对象待删除,对象处理函数为根据对象的ID等信息将对象在分布式存储系统中进行删除,包括持久存储和缓存;
3、Pull-Inner:即尝试从本节点内的对象存储设备上读取对象,对象处理函数是根据对象的ID等信息进行读取,如果读取失败,尝试进行Pull-Outer操作;
4、Pull-Outer:即尝试从分布式存储系统中的其他节点上读取对象,对象的处理函数是根据对象的ID等信息进行索引和读取;
5、Push-Inner:即尝试从本节点对象存储设备上将数据对象迁移到节点内的其他对象存储设备上,对象的处理函数是根据对象的ID等信息进行索引和迁移;
6、Push-Outer:即尝试将本节点的数据对象迁移到集群中的其他节点上,对象的处理函数是根据对象的ID等信息进行索引和迁移;
7、Unused:即该数据对象可以被常驻服务忽略,对象的处理函数不需要做任何处理。
根据状态集合的定义,所有存在于分布式存储系统中的数据对象在任意时刻都将被分配为上述状态集合中的任一种。
对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态。
基于数据对象状态集合和处理函数定义,分布式存储系统中任何和对象相关的请求和内部逻辑都将反映在关联对象的状态迁移上,即数据对象的状态从当前的某种状态转移为另一种状态;故数据对象的状态可能是多个数据请求关联的结果,而该状态的完成将会使得关联的数据对象请求状态发生变化,因此本发明设计了数据对象的内存对象数据结构,其中oid用于唯一索引该数据对象,state记录该对象当前的状态信息,而reqs则记录了该对象当前状态下关联的请求任务,其中可以关联的最大请求个数为MAX_REQS,即允许发生的最大并发请求个数。代码可以例如:
struct obj_state_entry {
uin64_t oid;//数据对象的索引ID
uint8_t state;//数据对象的状态
struct request * reqs[MAX_REQS];//数据对象关联的请求列表
}
业务逻辑驱动状态的变迁,即从一种状态经过业务逻辑驱动状态叠加后变为另一种状态,本质上是状态的正交;所以本发明实施例将所有定义的状态采用正交的方式进行分析,如下表所示:
状态 Create Delete Pull-Inner Pull-Outer Push-Inner Push-Outer Unused
Create
Delete
Pull-Inner
Pull-Outer
Push-Inner
Push-Outer
Unused
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象。
对于状态正交的结果分析,将会分为两部分:
1、数据对象状态变更:即叠加后数据对象的状态,如Create状态完成后叠加上Delete状态后状态为Delete,该状态的处理函数会删除该内存对象;叠加后的状态将仍然属于上述的7中状态中的任一种;
2、请求状态变更:即叠加后的状态会影响到正在进行的请求和当前的请求,如当前Create状态叠加上Delete状态将会导致当前的请求被取消,如创建对象请求取消,从而影响到创建请求。
本发明实施例定义了请求状态相关的正交结果:
Cancel-Current:取消和该数据对象相关的当前所有数据对象请求,即structobj_state_entry的reqs中的请求列表;
Cancel-Latest:取消当前驱动状态变化的数据对象请求,即最新的structrequest;
Remove:将数据对象的内存对象删除;
Cancel-Current和Cancel-Latest会更新reqs中的请求任务,更新的结果是将请求struct request中的obj_cnt进行自减操作同时检查obj_cnt是否变为0,若为0,则更新请求的状态为完成。通过对状态正交输出结果的定义,既可以更新数据对象的状态从而通知到常驻服务对数据对象进行处理,同时又可以更新业务请求的状态,即完成相应的业务请求处理。
基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一。
定义状态的目的是更明确的根据状态对数据对象进行处理,因此本发明实施例设计了一个常驻服务,用于从状态列表中获取数据对象的状态,并根据状态的处理函数来对数据对象进行处理;该服务会不断扫描对象的状态,根据对象的状态索引到状态处理函数,从而对该对象进行对应的处理,对象处理完成后会被修改为另一种状态,用于标记上一个状态处理完成。
响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。在一些实施方式中,方法还包括:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
下面以创建和删除并发场景说明本发明的实施步骤:
数据对象的创建请求create_req根据创建资源的大小和副本将数据对象分布在系统中的各节点,并为关联的对象建立内存对象数据结构,以obj1为例:obj1的内存数据结构中state为Create,reqs[0] = create_req;内存对象创建完成后会被添加到待处理列表中,并通知常驻进程从待处理列表上获取对象的状态并使用状态对应的处理函数进行处理。
数据对象的删除请求delete_req根据资源的索引信息索引到上述资源,确定资源相关的数据对象列表,这里以delete_req也关联obj1为例,此时会出现两种情况:
1、若obj1已经被常驻服务处理完成,则obj1的内存状态将会从Create更新为Unused,即该场景为Delete和Unused的正交,正交结果为Delete,随后通知常驻服务工作;
2、若obj还未被常驻服务处理,即obj1的内存状态state仍然为Create,即该场景为Create和Delete的正交,正交的结果是Cancel-Current,Cancel-Latest和Remove的叠加,其中Cancel-Current会更新当前obj1关联的请求列表,即create_req;Cancel-Latest会更新delete_req,而Remove在Cancel-Current,Cancel-Latest被处理完成后将对obj1的内存状态清理。
请求列表的更新会将obj1关联的请求的obj_cnt减1并检查该请求的关联对象是否为0,若为0,则标记该请求完成;否则,等待关联对象obj_cnt被更新为0。
本发明实施例通过将分布式存储系统中所有的对象管理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结果,随后由常驻服务根据状态来处理数据对象;从而将分布式存储系统中的对象管理抽象为统一的状态管理,实时处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂度。
需要特别指出的是,上述基于状态分析的对象管理的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于状态分析的对象管理的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种基于状态分析的对象管理的系统。如图2所示,系统200包括如下模块:第一定义模块,配置用于根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;第二定义模块,配置用于对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;判断模块,配置用于基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及更新模块,配置用于响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
在一些实施方式中,系统还包括执行模块,配置用于:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
在一些实施方式中,所述第一定义模块配置用于:根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
在一些实施方式中,所述第一定义模块配置用于:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
在一些实施方式中,所述第二定义模块配置用于:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态。
在一些实施方式中,所述第二定义模块配置用于:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化。
在一些实施方式中,所述第二定义模块配置用于:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;S2、对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;S3、基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及S4、响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
在一些实施方式中,步骤还包括:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化。
在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象。
如图3所示,为本发明提供的上述基于状态分析的对象管理的计算机设备的一个实施例的硬件结构示意图。
以如图3所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于状态分析的对象管理的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于状态分析的对象管理的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于状态分析的对象管理的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个基于状态分析的对象管理的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的基于状态分析的对象管理的方法。
执行上述基于状态分析的对象管理的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上基于状态分析的对象管理的方法的计算机程序。
如图4所示,为本发明提供的上述基于状态分析的对象管理的计算机存储介质的一个实施例的示意图。以如图4所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,基于状态分析的对象管理的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (7)

1.一种基于状态分析的对象管理的方法,其特征在于,包括如下步骤:
根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;
对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;
基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及
响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新;
其中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:
判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及
响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态;
响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化;
响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象;
所述数据对象状态集合包含的数据对象的状态定义为如下7种:
Create:即数据对象待创建,对应处理函数为根据对象的ID创建数据对象;
Delete:即数据对象待删除,对象处理函数为根据对象的ID将对象在分布式存储系统中进行删除,包括持久存储和缓存;
Pull-Inner:即尝试从本节点内的对象存储设备上读取对象,对象处理函数是根据对象的ID进行读取,如果读取失败,尝试进行Pull-Outer操作;
Pull-Outer:即尝试从分布式存储系统中的其他节点上读取对象,对象的处理函数是根据对象的ID进行索引和读取;
Push-Inner:即尝试从本节点对象存储设备上将数据对象迁移到节点内的其他对象存储设备上,对象的处理函数是根据对象的ID进行索引和迁移;
Push-Outer:即尝试将本节点的数据对象迁移到集群中的其他节点上,对象的处理函数是根据对象的ID进行索引和迁移;
Unused:即该数据对象能够被常驻服务忽略,对象的处理函数不需要做任何处理。
2.根据权利要求1所述的方法,其特征在于,方法还包括:
响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
3.根据权利要求1所述的方法,其特征在于,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:
根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
4.根据权利要求1所述的方法,其特征在于,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:
根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
5.一种基于状态分析的对象管理的系统,其特征在于,包括:
第一定义模块,配置用于根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;
第二定义模块,配置用于对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;
判断模块,配置用于基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及
更新模块,配置用于响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新;
其中,所述第二定义模块还配置用于:
判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及
响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态;
响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变化;
响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述数据对象的内存对象;
所述数据对象状态集合包含的数据对象的状态定义为如下7种:
Create:即数据对象待创建,对应处理函数为根据对象的ID创建数据对象;
Delete:即数据对象待删除,对象处理函数为根据对象的ID将对象在分布式存储系统中进行删除,包括持久存储和缓存;
Pull-Inner:即尝试从本节点内的对象存储设备上读取对象,对象处理函数是根据对象的ID进行读取,如果读取失败,尝试进行Pull-Outer操作;
Pull-Outer:即尝试从分布式存储系统中的其他节点上读取对象,对象的处理函数是根据对象的ID进行索引和读取;
Push-Inner:即尝试从本节点对象存储设备上将数据对象迁移到节点内的其他对象存储设备上,对象的处理函数是根据对象的ID进行索引和迁移;
Push-Outer:即尝试将本节点的数据对象迁移到集群中的其他节点上,对象的处理函数是根据对象的ID进行索引和迁移;
Unused:即该数据对象能够被常驻服务忽略,对象的处理函数不需要做任何处理。
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-5任意一项所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述方法的步骤。
CN202110980224.3A 2021-08-25 2021-08-25 基于状态分析的对象管理的方法、系统、设备和存储介质 Active CN113419689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110980224.3A CN113419689B (zh) 2021-08-25 2021-08-25 基于状态分析的对象管理的方法、系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110980224.3A CN113419689B (zh) 2021-08-25 2021-08-25 基于状态分析的对象管理的方法、系统、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113419689A CN113419689A (zh) 2021-09-21
CN113419689B true CN113419689B (zh) 2021-12-07

Family

ID=77719920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110980224.3A Active CN113419689B (zh) 2021-08-25 2021-08-25 基于状态分析的对象管理的方法、系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113419689B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793807B2 (en) * 2010-04-02 2014-07-29 International Business Machines Corporation Controlling access to and manipulation of a data object by different data object users
CN102546791A (zh) * 2011-12-30 2012-07-04 南京师范大学 基于状态机-交互事件模型的分布式服务系统及方法
CN103019695B (zh) * 2012-11-22 2016-07-06 用友网络科技股份有限公司 数据对象与状态控制逻辑分离系统和方法
CN112559448B (zh) * 2021-02-19 2021-05-18 腾讯科技(深圳)有限公司 数据状态迁移方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113419689A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
US10656935B2 (en) Maintaining and updating software versions via hierarchy
JP2020091902A (ja) 分散型データストアのバージョン化された階層型データ構造
CN102932415B (zh) 一种镜像文件存储方法及装置
US20200274764A1 (en) Network slice management
CN103473277B (zh) 文件系统的快照方法和装置
KR100387700B1 (ko) 분산 컴퓨팅 시스템 내의 정족수 프로세서 그룹의 동적재구성
US11010401B2 (en) Efficient snapshot generation of data tables
JP7108039B2 (ja) システム全体の制御とデータ探索の自動化を可能にするための視覚的および実行テンプレートの推奨
CN106126583A (zh) 一种分布式图数据库的集群强一致性处理方法及系统
CN116737130B (zh) 面向模态中间表示的编译方法、系统、设备和存储介质
Oliveira et al. Delivering software with agility and quality in a cloud environment
CN113419689B (zh) 基于状态分析的对象管理的方法、系统、设备和存储介质
CN108897858A (zh) 分布式集群索引分片的评估方法及装置、电子设备
US20160098428A1 (en) Creating and handling identification for a resource in a configuration database
US20050149615A1 (en) System and method for processing resource registry updates without regard to chronological order
CN115134367A (zh) 云平台和业务处理方法
CN115185997A (zh) 一种主机信息处理方法、装置、电子设备及存储介质
US10853331B1 (en) System and method for editing materializations of a data store
CN110555158A (zh) 互斥数据处理方法及系统、计算机可读存储介质
CN112148513B (zh) 单点服务数据的转储方法、装置及存储介质
US8793263B2 (en) Avoiding duplicate and equivalent data objects in service registries
CN114528266B (zh) 实现数据库和缓存一致性的方法、系统、设备和存储介质
CN111078669B (zh) 基于名字解析树的处理方法、装置、设备及存储介质
CN112749189A (zh) 数据查询方法及装置
CN117271460B (zh) 基于科研数字对象语用关系的科研数联网服务方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant