CN113419689B - 基于状态分析的对象管理的方法、***、设备和存储介质 - Google Patents
基于状态分析的对象管理的方法、***、设备和存储介质 Download PDFInfo
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 230000002085 persistent effect Effects 0.000 claims description 5
- 230000005012 migration Effects 0.000 claims description 3
- 238000013508 migration Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 abstract description 12
- 238000013507 mapping Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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任意一项所述方法的步骤。
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)
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 | 腾讯科技(深圳)有限公司 | 数据状态迁移方法、装置、计算机设备和存储介质 |
-
2021
- 2021-08-25 CN CN202110980224.3A patent/CN113419689B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113419689A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020091902A (ja) | 分散型データストアのバージョン化された階層型データ構造 | |
US20200274764A1 (en) | Network slice management | |
CN103473277B (zh) | 文件***的快照方法和装置 | |
US11010401B2 (en) | Efficient snapshot generation of data tables | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
JP7108039B2 (ja) | システム全体の制御とデータ探索の自動化を可能にするための視覚的および実行テンプレートの推奨 | |
US10678789B2 (en) | Batch data query method and apparatus | |
Oliveira et al. | Delivering software with agility and quality in a cloud environment | |
CN116737130A (zh) | 面向模态中间表示的编译方法、***、设备和存储介质 | |
CN104580428A (zh) | 一种数据路由方法、数据管理装置和分布式存储*** | |
CN111290738A (zh) | 应用程序的资源处理方法、装置、设备及存储介质 | |
CN111008220A (zh) | 数据源的动态识别方法及装置、存储介质和电子装置 | |
CN113419689B (zh) | 基于状态分析的对象管理的方法、***、设备和存储介质 | |
CN108897858A (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
CN104536785A (zh) | 实时***更新方法及装置 | |
US20050149615A1 (en) | System and method for processing resource registry updates without regard to chronological order | |
US20160098428A1 (en) | Creating and handling identification for a resource in a configuration database | |
CN109976881B (zh) | 事务识别方法和装置、存储介质以及电子装置 | |
CN111078669B (zh) | 基于名字解析树的处理方法、装置、设备及存储介质 | |
CN115134367A (zh) | 云平台和业务处理方法 | |
CN115185997A (zh) | 一种主机信息处理方法、装置、电子设备及存储介质 | |
US10853331B1 (en) | System and method for editing materializations of a data store | |
CN110555158A (zh) | 互斥数据处理方法及***、计算机可读存储介质 | |
CN112148513B (zh) | 单点服务数据的转储方法、装置及存储介质 | |
CN114528266B (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 |