基于云平台的CRM数据处理方法与流程

文档序号:11952504阅读:247来源:国知局

本发明涉及数据存储,特别涉及一种基于云平台的CRM数据处理方法。



背景技术:

在应用架构的客户关系管理CRM企业系统中,多个应用常复用同一个服务。同时也需要集成多个服务以实现复杂的事务流程。而以数据为核心的企业服务更加关注企业事务相关的事务本体,服务的核心是对事务本体的操作。然而应用现有的服务系统在构建数据服务时面临为不同需求构建不同服务或将数据返回让用户自行处理两种方式选择问题。而且这会带来服务数量剧增,服务发现困难,关键数据难以获得等问题,故难以良好的实现服务个性化。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于云平台的CRM数据处理方法,包括:

服务提供企业将作为初级租户,注册自己的租户空间,创建资源模型,并通过CRM系统提供服务;当用户定制该服务提供企业的服务时,从该企业的资源库中获得该模型,然后对模型进行定制,并存储在该企业的租户空间下属于该用户的次级租户空间。

优选地,所述CRM系统采用树状结构存储模型将模型存储在服务器的文件系统中;在数据分离上,采用以下三种等级之一,即:(1)数据库级分离,即每个租户拥有自己的数据库实例,应用为每个租户设置独立的数据库;(2)数据表共享,即通过添加租户标识的方式区别在同一张表里面的不同租户的数据,从而完成共享;(3)数据表级分离和数据库共享,即所有租户的数据存储于一个数据库实例当中,但每个租户将自己的数据存储在自己的表中,通过在每个表的名字前增加租户标签,从而让每个租户在同一个数据库实例内拥有自己的表空间;

在配置阶段限定每个本体状态的变化范围形成自己的一维内部空间,表示本体的状态集,通过多维内部空间将资源的一维状态与服务关联在一起;每个本体都有一个默认的状态属性;多个本体的内部空间的笛卡尔积组成一个状态矩阵;将某一时刻不同本体状态的组合作为复合状态;只有当一个复合状态发生改变的时才主动触发新的流程;在每一个复合状态下关联一个行为;在边缘触发的时刻,系统检查复合状态并找到与其关联的行为,最后触发新的行为;

系统接收用户请求并预处理后,找到对应的模型,如果是行为,先对其实例化;如果在行为中改变了资源的状态,则执行内部空间的解析与跳转;在用户请求中携带当前该请求的流程资源;解析该流程资源和内部空间,通过流程资源的状态找到与其对应的子空间;然后根据该子空间所涉及的本体,并分别找到其复合状态,最后再根据该复合状态找到与其对应的行为,根据该行为重新进入行为的实例化;

提供通用数据集,在运行时,实例统一存储于该通用数据集中,每一个资源都有一个全局唯一的键对其标识,当需要使用资源的情况时,系统可以通过这个键获取该实例,每个原子操作内部从通用数据集中通过URL找到对应的实例进行操作。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于云平台的CRM数据处理方法,符合企业关注事务相关本体的核心需求,有效控制了服务数量,提高服务发现效率。有利于实现企业服务个性化。

附图说明

图1是根据本发明实施例的基于云平台的CRM数据处理方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于云平台的CRM数据处理方法。图1是根据本发明实施例的基于云平台的CRM数据处理方法流程图。

本发明的CRM系统包括用户接口层、资源配置层、状态管理层、解析和实例化层以及数据层,实现服务个性化、服务集成和多租户分离。用本体模型表示事务本体;行为模型表示对多个本体的连续操作。通过统一的映射机制将两种模型映射成相应的数据服务。利用模型实例化过程将模型实例化成实例。用户通过定制模型实现服务个性化。利用内部空间集成服务。通过本发明的租户分离过程以满足云存储的需求,第一层用于分离不同企业的项目,第二层用于分离注册在该系统中的不同应用。基于租户空间将模型、内部空间和事务数据分离。采用文件系统分离模型和内部空间,采用基于数据库实例的分离和共享数据库和表结合的方式分离事务数据。

在系统配置阶段,提取企业内部多个子系统共同使用的服务,形成一个核心服务库。不同应用系统可以从中获取相应服务。同样的可以使用这些服务构建事务流程。需求分析阶段,根据事务需求抽象出事务本体、行为和事务流程,组成三种信息模型。在资源配置阶段,构建本体、行为和内部空间并将它们永久存储至服务器,最后根据创建的配置文件初始化系统。当用户请求到达系统时,系统自动将实例化,映射到相应服务,并执行状态转移,最后将数据返回给用户。本发明将服务提供企业称为初级租户,服务提供企业的租户称为次级租户。当次级租户需要个性化初级租户的服务时,同样需要经历需求分析和资源设计。

在配置阶段,服务提供企业通过系统提供的工具构建原始的模型和内部空间,从而可以将其映射为服务。而服务租户获取服务提供企业设计的模型并按照自己的需求修改产生新的本体、改变行为的逻辑顺序或原子操作。并将定制后的模型永久存储到自己的租户空间中。

在运行阶段,CRM系统实现请求解析、请求分发、内部空间解析、状态转移、模型加载、实例化、服务返回。用户接口层负责解析用户请求,获取请求的资源的种类、对应的租户;对服务调用进行分发,判断该请求是服务请求还是资源配置请求,从而分发到合适的位置进行处理。运行调用层负责解析内部空间,并结合当前系统资源状态进行跳转,触发对应的行为,即进行相应的行为的调用。解析和实例化层负责根据运行调用层的请求找到对应的模型并对其解析和实例化。行为的实例化可能会改变资源的状态。若发生改变,则又会回到状态管理层进行对应的逻辑调用,直到停止状态改变。最终返回到用户接口层,由其为用户返回服务。数据层负责实际事务数据和多种配置模型的操作,并负责数据的永久存储和多租户分离。

具体地,资源配置层处理配置过程和初始化两个步骤。在配置阶段,资源配置层和运行阶段复用了用户接口层。配置层中拥有系统空间和租户空间。系统空间中提供了租户配置模型所需的工具,包括系统自带的本体模型和固有的原子操作。租户根据系统空间中的工具配置自己所需的模型。当租户配置完成后,系统会根据多租户分离的规则将模型存储到系统空间中。系统空间是一个两级结构,其中包括初级租户空间和次级租户空间。服务提供企业在初级租户空间将创建原始的模型和内部空间。而在初级租户空间中会有若干个次级租户空间。如果次级租户需要个性化该服务提供企业的服务,则在初级租户空间中开辟自己的次级租户空间,并将定制后的模型存储在其中。在初始化阶段,采用本体关系映射的方式,将数据库表映射为类,数据访问映射为类的操作,当个性化模型之后,需要手动加载新的类。

用户接口层与用户直接交互,解析用户请求,获取请求的资源的种类、对应的租户信息;对服务调用进行分发,判断该请求时服务请求还是资源配置请求,从而分发到合适的位置进行处理。该层被配置阶段和运行阶段各个层次复用。请求解析包括从用户的请求中获得资源的归属者、具体的资源和请求的方法。通过URL的解析进行服务分发,以判断该请求是服务请求还是资源配置请求。如果是服务请求,按照解析获得的内容进行更加细粒度的分发。系统需要将按照租户id、资源、项目等将其分发到正确的位置。

状态管理层负责解析内部空间,并结合当前的系统环境,即各资源当前的状态进行状态跳转,触发对应的行为,判断何时应该解析并实例化行为,行为下一步走向。每个资源有自己的内部空间,它表明每个资源的状态处于一个有限的状态集中而多个资源的状态可以组成一个复合内部空间,它是由多个资源的状态集的笛卡尔积组成。所以一个内部空间可以由多种复合状态组成。通过确定在某个复合状态下,系统应该调用哪个行为,从而使系统能够按照设计的流程运行下去。

为了实现基于状态的系统运转,租户在设计时构建自己的内部空间。内部空间包括了每个资源自己的内部空间的一张一维表和多个资源组成的一张复合状态的二维表。在请求发送到运行调用层的时候,先将请求引导至解析和实例化层,由解析和实例化层对请求的资源进行处理。等到解析和实例化层处理结束时,返回运行调用层,此时解析内部空间,查看此时是否触发了资源的状态变化,并查看此时整个系统相关资源的复合状态,从而决定是继续执行下一步的资源请求还是直接返回。

解析和实例化层负责模型的加载和实例化,包括本体的实例化和行为的实例化。在本体的实例化的过程中,分为模型解析和数据载入两个步骤。在配置阶段,本体模型的属性部分被初始化为资源类。但是状态和约束部分仍旧需要被解析并应用于数据载入阶段。所以在解析阶段,本发明将本体的状态和约束进行解析。在数据载入阶段,根据解析得到的状态和约束结合定位到的资源类交给数据层。最后由数据层服务数据载入。需要解析模型,动态的映射到具体的资源类。对于行为的实例化,包括本体的实例化及其与原子操作的组合,完成更复杂的数据服务。行为的实例化还包括行为模型的解析和规则的执行。在行为模型的解析的过程中,初始化系统的通用数据集,并将用户请求的数据映射至模型属性中的资源。

数据层为整个系统提供了统一的数据访问接口,并在物理数据上提供了多租户分离的功能。屏蔽了数据库操作的细节,为上层的资源访问提供一种面向对象的抽象方法。同时,根据租户的需求改变模型,通过底层数据库表结构的改变而实现服务的个性化。

本发明定义了本体模型和行为模型。通过模型的实例化过程将模型实例化,再通过服务映射将实例化后的模型映射为相应的服务。而用户能够通过个性化模型实现服务个性化。

本体是对事务本体的信息模型的抽象。比如订单、商品、客户等本体对象。它是一般事务本体的信息载体。按照元素的功能分类,本体资源定义中的元素可以被分为三类:模型描述型元素、信息定义型元素和拓展定制型元素。行为是由原子操作、本体和逻辑关联词组合而成。

在行为的配置中,资源有两种属性:实例属性和模型属性。其中实例属性表示该资源是一个已经被实例化之后的资源。这类资源不需要在运行时执行模型的解析,可以直接对其进行操作。而模型属性表示的资源是一个模型,在行为的解析过程中需要首先对其实例化之后才能使用。在本系统中,为了在运行时统一两者,提供一个通用数据集。在运行时,实例统一存储于通用数据集中。存在于通用数据集中的每一个资源都有一个全局唯一的键对其标识。当需要使用资源的情况时,系统可以通过这个键获取该实例。每个原子操作内部从通用数据集中通过URL找到对应的实例进行操作。

模型实例化的过程进一步包括,经过用户接口层的解析后,系统已经识别出需要访问的资源并定位到具体模型。然后可以根据该模型进行实例化。根据模型种类的不同分为本体的实例化和行为的实例化。如果是本体,则解析该模型,根据模型的名称找到它所映射的数据库实例和数据库表。然后根据请求的方法、请求的参数以及本体的定义从数据库中获取数据,接着将数据组装成服务直接返回给客户端。如果是行为,首先解析行为,并将用户请求中的请求参数载入行为属性中,然后解析行为的逻辑规则,根据序列逐步解析。在实例化一个行为之后不能直接为用户返回服务,而是判断该行为是否使资源的状态发生了改变。如果没有改变,将该行为实例化的结果封装成数据服务直接返回给用户;如果发生了改变,则进入内部空间。再由判断下一步的执行步骤。

本发明使用本体的一维内部空间表示本体的状态集,通过多维内部空间将资源的一维状态与服务关联在一起。所以每个本体都有一个默认的状态属性。在配置阶段限定每个本体状态的变化范围。比如一个商品只能有上架、预订、售出、售后等状态。通过限定每个资源状态的变化范围,每个本体就形成了自己的一维内部空间。

一个事务流程涉及许多本体。每个时刻各个本体拥有自己的状态。多个本体的内部空间的笛卡尔积可以组成一个复杂的状态矩阵。本发明将某一时刻不同本体状态的组合称为复合状态。只有当一个复合状态发生改变的时才主动触发新的流程。因此在每一个复合状态下关联一个行为。在边缘触发的时刻,系统检查复合状态并找到与其关联的行为,最后触发新的行为。

用户接口层对请求预处理后,可以找到对应的模型。如果是行为,会先对其实例化。如果在行为中改变了资源的状态,则进入运行调用层,执行内部空间的解析与跳转。在用户请求中携带当前该请求的流程资源。在运行调用层中,会解析该流程资源和内部空间。根据内部空间的定义,本发明可以通过流程资源的状态找到与其对应的子空间。然后根据该子空间所涉及的本体,并分别找到其状态,组成复合状态。最后再根据该复合状态找到与其对应的行为。根据该行为重新进入解析和实例化层进行行为的实例化。

本发明采用文件系统分离模型和内部空间;采用不同的数据库设计分离事务数据。服务提供企业将作为初级租户,注册自己的租户空间,创建相关资源,并通过系统机制对外提供服务。当用户需要定制该服务提供企业的服务时,从服务提供企业的资源库中获得该模型,然后通过相应的方式对模型进行定制。最后存储在自己的租户空间中,即在每个服务提供企业的租户空间下,需要为个性化该服务的租户开辟次级空间。服务提供企业有权限创建多个项目,在每个项目中可以存在多个租户创建自己的项目,所以本发明采用树状结构存储模型。本发明将模型存储在服务器的文件系统中。

在数据分离上,采用以下三种等级。(1)数据库级分离,即每个租户拥有自己的数据库实例,应用为每个租户设置独立的数据库;(2)数据表共享,即通过添加租户标识的方式区别在同一张表里面的不同租户的数据。从而完成共享;(3)数据表级分离和数据库共享,即所有租户的数据存储于一个数据库实例当中,但是每个租户将自己的数据存储在自己的表中,通过在每个表的名字前增加租户标签,从而让每个租户在同一个数据库实例内拥有自己的表空间。

基于云的CRM系统中用户对数据节点的可靠性有一定的置信度要求。因此有必要对集群中的节点建立一种置信度考察机制,对数据节点的可靠性和存储性能做出评价,以便云存储系统对数据节点进行筛选。本发明以下方面从节点的置信度以及负载平衡两个方面改进数据存储策略。

系统数据节点未发送心跳信息过程记为一次异常事件。在一次异常事件过程中,参数Ta表示数据节点的存活时间,参数Td表示数据节点死亡时间,参数表示事件ts的发生时间,参数tn表示系统当前时间。根据各节点心跳信息的历史数据,计算出各数据节点i的置信度值。

<mrow> <mi>C</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <mfrac> <mn>1</mn> <mrow> <mi>t</mi> <mi>n</mi> <mo>-</mo> <mi>t</mi> <mi>s</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>T</mi> <mi>a</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <mfrac> <mn>1</mn> <mrow> <mi>t</mi> <mi>n</mi> <mo>-</mo> <mi>t</mi> <mi>s</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&lsqb;</mo> <mi>T</mi> <mi>a</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>T</mi> <mi>d</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> </mfrac> </mrow>

其中,n表示数据节点i到当前时间为止发生的异常次数。

在给定的云存储数据节点集合S中,求得数据节点i,置信度C(i)满足C(i)>x,得到数据节点集合N(x),运算函数为F,则可得:

N(x)=F(C(i),S,x)

云存储系统中数据节点在该集群中拓扑距离是数据存储传输选择节点的重要参考参数,节点拓扑距离用Sij表示。

对于负载平衡,本发明采用加权方法来处理负载均衡问题。数据节点的存储性能用P(i)表示为:

P(i)=η1F(i)+η2M(i)+η3S(i)+η4V(i)

其中,F(i)为处理资源性能,M(i)为内存容量,S(i)为存储集群容量;V(i)为磁盘读写速度;η14是各个参数的权重系数,且η14的和为1。

将云存储系统中数据节点存储数据块的数量N(i)与数据节点性能P(i)的比值来表示一个数据节点的负载状况,用L(i)表示数据节点i的负载:

L(i)=N(i)/P(i)

将计算得到的负载值作为数据节点的选择代价,选择数据块的存储节点时优先选择数据节点负载值最小的进行数据的存储。

C(i)=min(L(i))

为控制整个云存储系统的集群负载状况,计算出整个集群的平均负载状况,即:

<mrow> <mi>L</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>S</mi> <mi>U</mi> <mi>M</mi> </mrow> </munderover> <mi>L</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>S</mi> <mi>U</mi> <mi>M</mi> </mrow> </mfrac> </mrow>

其中:L(t)表示为t时刻云存储系统中所有数据节点的平均负载值,SUM为云存储系统中数据节点的总数。

当一个节点满足L(i)-L(t)>预设常量LC时,确定数据节点负载过重;当一个节点满足L(t)-L(i)>LC时,确定数据节点负载过轻。

当有数据块上传到云存储系统时,判断把数据块存储到当前数据节点上,整个存储系统的平衡条件是否满足,如果是,则就把该数据块存储到该数据节点上,否则在更远的距离内选择数据节点再做条件判断存储,直到找到合适的数据节点存储为止。

在给定的云存储数据节点集合S中,求得云存储系统中数据节点i的负载以L(i),满足L(t)-L(i)>z,其中z是给定的负载阈值,得到集合B(z),运算函数为G,则可得:

B(z)=G(L(i),L(i),S,z)

根据影响数据节点性能的以上因素建立了数据节点的性能评价函数。在云存储系统中设定可存储数据节点的置信度必须大于x,将数据存储到该数据节点上之后满足负载阈值y的要求,存储函数为P,则由此求得满足要求的数据节点j:

Wj(x,y)=P(C(x),L(y))

(1)在云存储系统中选择数据节点集合S,计算出整个集群的平均负载L(t);

(2)在选择的数据节点集合S中,计算该集合中的数据节点的置信度C(i),根据设定的置信度值x,选择满足要求的数据节点结合N(x);

(3)在选择的数据节点集合N(x)中,计算该集合中的数据节点的负载B(i),根据系统设定的负载要求的负载阈值y,选择满足要求的节点集合B(y);

(4)选择节点集合B(y),如果得出满足要求的数据节点集合B(y);

(5)对于选择的数据节点集合B(z),将数据块存储在置信度值最高的一个数据节点上。

循环上述步骤(1)-(5),将一个数据对象的所有编码数据块选择合适的数据节点进行存储。

综上所述,本发明提出了一种基于云平台的CRM数据处理方法,符合企业关注事务相关本体的核心需求,有效控制了服务数量,提高服务发现效率。有利于实现企业服务个性化。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1