基于状态分析的对象管理的方法、系统、设备和存储介质转让专利

申请号 : CN202110980224.3

文献号 : CN113419689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 樊云龙

申请人 : 苏州浪潮智能科技有限公司

摘要 :

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

权利要求 :

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任意一项所述方法的步骤。

说明书 :

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

技术领域

[0001] 本领域涉及云数据中心领域,更具体地,特别是指一种基于状态分析的对象管理的方法、系统、设备和存储介质。

背景技术

[0002] 分布式存储系统的设计包含三部分:集群管理、单机存储引擎和一致性算法,其中集群管理负责节点的状态管理,包括节点上下线、节点服务异常等;一致性算法提供数据对
象不同副本之间的一致性保证;而单机存储引擎负责处理节点的数据请求服务和数据对象
的持久存储、访问等,在数据持久存储和访问中都是以对象为单位进行操作的,这就引入了
对象管理,它负责对象的状态维护。
[0003] 从数据对象请求的角度出发,按照数据的来源可以将节点内的数据对象分为两类,即业务产生的数据对象和管理产生的数据对象,业务产生的数据对象来自于分布式存
储系统提供的块、文件、对象的业务请求,可以通过不同的协议提供;管理产生的数据对象
来自于存储系统资源的创建和异常逻辑的处理,如数据均衡和恢复等。现有技术中没有一
种统一通用的对象管理的方法。

发明内容

[0004] 有鉴于此,本发明实施例的目的在于提出一种基于状态分析的对象管理的方法、系统、计算机设备及计算机可读存储介质,本发明通过将分布式存储系统中所有的对象管
理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结
果,随后由常驻服务根据状态来处理数据对象;从而将分布式存储系统中的对象管理抽象
为统一的状态管理,实时处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂
度。
[0005] 基于上述目的,本发明实施例的一方面提供了一种基于状态分析的对象管理的方法,包括如下步骤:根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态
集合,并定义所述状态集合中每种状态的执行函数;对所述状态集合中的状态进行二维正
交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;基于常
驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是
否单一;以及响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二
维正交分析的结果对所述数据对象的状态进行更新。
[0006] 在一些实施方式中,方法还包括:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
[0007] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义
所述业务请求的内存对象。
[0008] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象
的状态进行分类。
[0009] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及
响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应
确定所述数据对象叠加后的状态。
[0010] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求
的状态决定正在进行的业务请求的状态是否发生变化。
[0011] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,
取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述
数据对象的内存对象。
[0012] 本发明实施例的另一方面,提供了一种基于状态分析的对象管理的系统,包括:第一定义模块,配置用于根据数据对象所有存在的状态进行分类和整合以定义出数据对象状
态集合,并定义所述状态集合中每种状态的执行函数;第二定义模块,配置用于对所述状态
集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和
业务请求的状态;判断模块,配置用于基于常驻服务从状态列表中获取数据对象当前关联
的状态,判断所述数据对象当前关联的状态是否单一;以及更新模块,配置用于响应于所述
数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述
数据对象的状态进行更新。
[0013] 本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理
器执行时实现如上方法的步骤。
[0014] 本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0015] 本发明具有以下有益技术效果:通过将分布式存储系统中所有的对象管理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结果,随后
由常驻服务根据状态来处理数据对象;从而将分布式存储系统中的对象管理抽象为统一的
状态管理,实时处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂度。

附图说明

[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的实施例。
[0017] 图1为本发明提供的基于状态分析的对象管理的方法的实施例的示意图;
[0018] 图2为本发明提供的基于状态分析的对象管理的系统的实施例的示意图;
[0019] 图3为本发明提供的基于状态分析的对象管理的计算机设备的实施例的硬件结构示意图;
[0020] 图4为本发明提供的基于状态分析的对象管理的计算机存储介质的实施例的示意图。

具体实施方式

[0021] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0022] 需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应
理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0023] 本发明实施例的第一个方面,提出了一种基于状态分析的对象管理的方法的实施例。图1示出的是本发明提供的基于状态分析的对象管理的方法的实施例的示意图。如图1
所示,本发明实施例包括如下步骤:
[0024] S1、根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数;
[0025] S2、对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;
[0026] S3、基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一;以及
[0027] S4、响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
[0028] 本发明实施例将分布式系统中所有的对象管理问题映射为数据对象的状态变迁问题,即数据对象从一种状态向另一种状态的变迁,该变迁过程可以通过状态正交分析后
得到结果,随后由常驻服务根据状态来处理数据对象的状态,从而将分布式存储系统中的
对象管理抽象为统一的状态管理,实时处理任意对象管理问题的和场景的叠加,简化业务
逻辑处理的复杂度。
[0029] 根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态的执行函数。
[0030] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义
所述业务请求的内存对象。
[0031] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象
的状态进行分类。
[0032] 定义业务请求的内存对象struct request,分布式存储系统中任何和数据对象相关的请求都会被计算出一组关联的对象列表和对象状态,其中关联对象的个数为obj_cnt,
state(状态)为处理中,代码可以例如:
[0033] struct request {
[0034] uin64_t id;//请求的唯一索引ID
[0035] uint8_t state;//请求状态
[0036] uint64_t obj_cnt;//请求关联的数据对象个数
[0037] }
[0038] 本发明实施例从数据对象的业务请求角度分析分布式存储系统中数据对象可能存在的状态集合,并对状态进行抽象和分类,同时定义对象状态对应的处理方法。状态集合
的定义根据对象的生命周期管理和业务数据可能发生的处理逻辑将数据对象的状态进行
分类。
[0039] 对于生命周期管理,分为Create(创建)和Delete(删除)操作,即创建和删除数据对象;数据对象产生后,当分布式存储系统出现异常如节点上、下线,磁盘设备插、拔等场景
下,将会触发数据对象的均衡和恢复;对应的定位状态为Pull(拉)和Push(推),Pull为从其
他位置同步数据对象,而Push定义为向其他位置推送该数据对象;根据场景的影响将数据
对象的流动分为Inner(内部的)和Outer(外部的)状态,即Inner定义为数据对象在本节点
内部流动,Outer定义为数据对象在集群内移动。
[0040] 根据上述定义,数据对象的状态定义为如下7种:
[0041] 1、Create:即数据对象待创建,对应处理函数为根据对象的ID等信息创建数据对象;
[0042] 2、Delete:即数据对象待删除,对象处理函数为根据对象的ID等信息将对象在分布式存储系统中进行删除,包括持久存储和缓存;
[0043] 3、Pull‑Inner:即尝试从本节点内的对象存储设备上读取对象,对象处理函数是根据对象的ID等信息进行读取,如果读取失败,尝试进行Pull‑Outer操作;
[0044] 4、Pull‑Outer:即尝试从分布式存储系统中的其他节点上读取对象,对象的处理函数是根据对象的ID等信息进行索引和读取;
[0045] 5、Push‑Inner:即尝试从本节点对象存储设备上将数据对象迁移到节点内的其他对象存储设备上,对象的处理函数是根据对象的ID等信息进行索引和迁移;
[0046] 6、Push‑Outer:即尝试将本节点的数据对象迁移到集群中的其他节点上,对象的处理函数是根据对象的ID等信息进行索引和迁移;
[0047] 7、Unused:即该数据对象可以被常驻服务忽略,对象的处理函数不需要做任何处理。
[0048] 根据状态集合的定义,所有存在于分布式存储系统中的数据对象在任意时刻都将被分配为上述状态集合中的任一种。
[0049] 对所述状态集合中的状态进行二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态。
[0050] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及
响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应
确定所述数据对象叠加后的状态。
[0051] 基于数据对象状态集合和处理函数定义,分布式存储系统中任何和对象相关的请求和内部逻辑都将反映在关联对象的状态迁移上,即数据对象的状态从当前的某种状态转
移为另一种状态;故数据对象的状态可能是多个数据请求关联的结果,而该状态的完成将
会使得关联的数据对象请求状态发生变化,因此本发明设计了数据对象的内存对象数据结
构,其中oid用于唯一索引该数据对象,state记录该对象当前的状态信息,而reqs则记录了
该对象当前状态下关联的请求任务,其中可以关联的最大请求个数为MAX_REQS,即允许发
生的最大并发请求个数。代码可以例如:
[0052] struct obj_state_entry {
[0053] uin64_t oid;//数据对象的索引ID
[0054] uint8_t state;//数据对象的状态
[0055] struct request * reqs[MAX_REQS];//数据对象关联的请求列表
[0056] }
[0057] 业务逻辑驱动状态的变迁,即从一种状态经过业务逻辑驱动状态叠加后变为另一种状态,本质上是状态的正交;所以本发明实施例将所有定义的状态采用正交的方式进行
分析,如下表所示:
[0058] 状态 Create Delete Pull‑Inner Pull‑Outer Push‑Inner Push‑Outer UnusedCreate              
Delete              
Pull‑Inner              
Pull‑Outer              
Push‑Inner              
Push‑Outer              
Unused              
[0059] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求
的状态决定正在进行的业务请求的状态是否发生变化。
[0060] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,
取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述
数据对象的内存对象。
[0061] 对于状态正交的结果分析,将会分为两部分:
[0062] 1、数据对象状态变更:即叠加后数据对象的状态,如Create状态完成后叠加上Delete状态后状态为Delete,该状态的处理函数会删除该内存对象;叠加后的状态将仍然
属于上述的7中状态中的任一种;
[0063] 2、请求状态变更:即叠加后的状态会影响到正在进行的请求和当前的请求,如当前Create状态叠加上Delete状态将会导致当前的请求被取消,如创建对象请求取消,从而
影响到创建请求。
[0064] 本发明实施例定义了请求状态相关的正交结果:
[0065] Cancel‑Current:取消和该数据对象相关的当前所有数据对象请求,即structobj_state_entry的reqs中的请求列表;
[0066] Cancel‑Latest:取消当前驱动状态变化的数据对象请求,即最新的structrequest;
[0067] Remove:将数据对象的内存对象删除;
[0068] Cancel‑Current和Cancel‑Latest会更新reqs中的请求任务,更新的结果是将请求struct request中的obj_cnt进行自减操作同时检查obj_cnt是否变为0,若为0,则更新
请求的状态为完成。通过对状态正交输出结果的定义,既可以更新数据对象的状态从而通
知到常驻服务对数据对象进行处理,同时又可以更新业务请求的状态,即完成相应的业务
请求处理。
[0069] 基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状态是否单一。
[0070] 定义状态的目的是更明确的根据状态对数据对象进行处理,因此本发明实施例设计了一个常驻服务,用于从状态列表中获取数据对象的状态,并根据状态的处理函数来对
数据对象进行处理;该服务会不断扫描对象的状态,根据对象的状态索引到状态处理函数,
从而对该对象进行对应的处理,对象处理完成后会被修改为另一种状态,用于标记上一个
状态处理完成。
[0071] 响应于所述数据对象当前关联的状态不单一,根据所述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。在一些实施方式中,方法还包括:响应于所
述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进
行处理。
[0072] 下面以创建和删除并发场景说明本发明的实施步骤:
[0073] 数据对象的创建请求create_req根据创建资源的大小和副本将数据对象分布在系统中的各节点,并为关联的对象建立内存对象数据结构,以obj1为例:obj1的内存数据结
构中state为Create,reqs[0] = create_req;内存对象创建完成后会被添加到待处理列表
中,并通知常驻进程从待处理列表上获取对象的状态并使用状态对应的处理函数进行处
理。
[0074] 数据对象的删除请求delete_req根据资源的索引信息索引到上述资源,确定资源相关的数据对象列表,这里以delete_req也关联obj1为例,此时会出现两种情况:
[0075] 1、若obj1已经被常驻服务处理完成,则obj1的内存状态将会从Create更新为Unused,即该场景为Delete和Unused的正交,正交结果为Delete,随后通知常驻服务工作;
[0076] 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的
内存状态清理。
[0077] 请求列表的更新会将obj1关联的请求的obj_cnt减1并检查该请求的关联对象是否为0,若为0,则标记该请求完成;否则,等待关联对象obj_cnt被更新为0。
[0078] 本发明实施例通过将分布式存储系统中所有的对象管理问题映射为数据对象的状态变迁问题,该变迁过程可以通过状态正交进行分析后得到结果,随后由常驻服务根据
状态来处理数据对象;从而将分布式存储系统中的对象管理抽象为统一的状态管理,实时
处理任意对象管理问题的场景的叠加,简化业务逻辑处理的复杂度。
[0079] 需要特别指出的是,上述基于状态分析的对象管理的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于状态分析
的对象管理的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实
施例之上。
[0080] 基于上述目的,本发明实施例的第二个方面,提出了一种基于状态分析的对象管理的系统。如图2所示,系统200包括如下模块:第一定义模块,配置用于根据数据对象所有
存在的状态进行分类和整合以定义出数据对象状态集合,并定义所述状态集合中每种状态
的执行函数;第二定义模块,配置用于对所述状态集合中的状态进行二维正交分析,并根据
所述二维正交分析的结果定义数据对象的状态和业务请求的状态;判断模块,配置用于基
于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关联的状
态是否单一;以及更新模块,配置用于响应于所述数据对象当前关联的状态不单一,根据所
述当前关联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
[0081] 在一些实施方式中,系统还包括执行模块,配置用于:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
[0082] 在一些实施方式中,所述第一定义模块配置用于:根据数据对象的业务请求确定所述数据对象的状态集合,并定义所述业务请求的内存对象。
[0083] 在一些实施方式中,所述第一定义模块配置用于:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象的状态进行分类。
[0084] 在一些实施方式中,所述第二定义模块配置用于:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及响应于二维正交是数据对象状态的叠加,根据数据
对象的原始状态和叠加状态的叠加效应确定所述数据对象叠加后的状态。
[0085] 在一些实施方式中,所述第二定义模块配置用于:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求的状态决定正在进行的业务请求的状态是否发生变
化。
[0086] 在一些实施方式中,所述第二定义模块配置用于:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,取消与数据对象相关的当前的所有业务请求和当前
驱动状态变化的业务请求,并删除所述数据对象的内存对象。
[0087] 基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执
行以实现如下步骤:S1、根据数据对象所有存在的状态进行分类和整合以定义出数据对象
状态集合,并定义所述状态集合中每种状态的执行函数;S2、对所述状态集合中的状态进行
二维正交分析,并根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态;
S3、基于常驻服务从状态列表中获取数据对象当前关联的状态,判断所述数据对象当前关
联的状态是否单一;以及S4、响应于所述数据对象当前关联的状态不单一,根据所述当前关
联的状态的二维正交分析的结果对所述数据对象的状态进行更新。
[0088] 在一些实施方式中,步骤还包括:响应于所述数据对象当前关联的状态单一,根据所述当前关联的状态的执行函数对所述数据对象进行处理。
[0089] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的业务请求确定所述数据对象的状态集合,并定义
所述业务请求的内存对象。
[0090] 在一些实施方式中,所述根据数据对象所有存在的状态进行分类和整合以定义出数据对象状态集合包括:根据数据对象的生命周期管理和业务数据的处理逻辑将数据对象
的状态进行分类。
[0091] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:判断二维正交是数据对象状态的叠加还是业务请求状态的叠加;以及
响应于二维正交是数据对象状态的叠加,根据数据对象的原始状态和叠加状态的叠加效应
确定所述数据对象叠加后的状态。
[0092] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于二维正交是业务请求状态的叠加,根据当前的接收的业务请求
的状态决定正在进行的业务请求的状态是否发生变化。
[0093] 在一些实施方式中,所述根据所述二维正交分析的结果定义数据对象的状态和业务请求的状态包括:响应于数据对象的原始状态正在进行并且叠加了当前接收到的状态,
取消与数据对象相关的当前的所有业务请求和当前驱动状态变化的业务请求,并删除所述
数据对象的内存对象。
[0094] 如图3所示,为本发明提供的上述基于状态分析的对象管理的计算机设备的一个实施例的硬件结构示意图。
[0095] 以如图3所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
[0096] 处理器301和存储器302可以通过总线或者其他方式连接,图3中以通过总线连接为例。
[0097] 存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于状态分析的对象管理
的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程
序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例
的基于状态分析的对象管理的方法。
[0098] 存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于状态分析的对象管理的
方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括
非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储
器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域
网、移动通信网及其组合。
[0099] 一个或者多个基于状态分析的对象管理的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的基于状态分析的对象管理
的方法。
[0100] 执行上述基于状态分析的对象管理的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0101] 本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上基于状态分析的对象管理的方法的计算机程序。
[0102] 如图4所示,为本发明提供的上述基于状态分析的对象管理的计算机存储介质的一个实施例的示意图。以如图4所示的计算机存储介质为例,计算机可读存储介质401存储
有被处理器执行时执行如上方法的计算机程序402。
[0103] 最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,基于状态分析的对象管理的方
法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的
实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记
忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或
者相类似的效果。
[0104] 以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例
的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施
例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0105] 应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一
个以上相关联地列出的项目的任意和所有可能组合。
[0106] 上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0107] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介
质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0108] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思
路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发
明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明
实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实
施例的保护范围之内。