一种基于标签体系的取数方法与流程

文档序号:17889816发布日期:2019-06-13 15:30阅读:268来源:国知局
一种基于标签体系的取数方法与流程

本申请涉及应用系统数据管理技术领域,尤其涉及一种基于标签体系的取数方法。



背景技术:

企业的正常运营过程中,产生了许多对应用系统的数据需求,用以完成业务分析工作并作为数据支撑。而业务人员因为缺少必要的计算机知识,无法自己取出想要的数据。对于数据人员来说,业务人员提出的需求常常涉及多个应用系统,受限于权限等因素影响,除本身的数据处理工作外,还需同业务人员一起花费大量的时间用于沟通及协调上。同时,因为业务人员及数据人员,因为业务领域的局限,受限于本身所熟悉的范畴也增加了取数工作的成本。

基于目前应用系统数据管理和取数过程中存在的问题,多数企业都开始利用大数据来实现精准营销和服务,深入挖掘潜在商业价值,“用户画像”的概念由此应运而生,例如,百度、谷歌和阿里等大型互联网企业都推出了各自的用户画像的标签体系。将与客户相关的信息作为数据源,并深入结合业务需求,来定义标签及标签规则,并能计算满足标签规则的标签值,通过将标签按照层级关系和逻辑关联关系分类组织起来,最终形成一个较完整、全面的标签体系。标签体系对业务进行了完整、高度精炼的描述,使得取数的业务人员可以直接找到自己需要的信息,将取数的角度从开发转到业务,解决了业务人员不能自主取数的问题。

相关技术中,基于标签体系的取数方法一般分为两步,第一,业务端获取由若干个标签及标签间逻辑关系组成的语义树,将语义树转换为查询代码,并将查询代码发送至数据端;第二,数据端根据接收到的查询代码,获取目标标签对应的数据,并将目标标签对应的数据发送至业务端。这种获取数据的方式,缺少一个完整的数据管理过程,查询代码中的语法规则深度与计算引擎绑定,增加了取数的复杂性;同时业务端与数据端的绑定非常的紧密,基于传统技术实现,基本只有一对一绑定的能力,不利于数据共享。



技术实现要素:

本申请提供一种基于标签体系的取数方法,以解决相关基于标签体系的取数方法存在的取数复杂问题。

本申请提供一种基于标签体系的取数方法,所述方法包括:

获取标签信息;

将所述标签信息转换为模拟查询语句,并生成查询请求;

确定与所述查询请求相匹配的目标数据库;

根据所述查询请求的指示,将所述模拟查询语句编译为与所述目标数据库对应的目标查询语句;

将所述目标查询语句传输至所述目标数据库,通过所述目标数据库获取与所述标签信息相匹配的数据。

可选地,所述标签信息包括标签、标签规则以及标签逻辑关系。

可选地,所述查询请求包括头部信息和主体信息,所述头部信息包括数据库标识、数据实体标识和目标查询范围信息,所述主体信息为所述模拟查询语句。

可选地,所述确定与所述查询请求相匹配的目标数据库,包括:

根据所述查询请求指示的所述数据库标识和所述数据实体标识,确定与所述查询请求相匹配的目标数据库。

可选地,所述头部信息还包括数据权限等级和机构代码,则所述方法还包括:

根据所述查询请求指示的所述数据权限等级和所述机构代码,确定允许查询的数据范围;

将所述允许查询的数据范围加入到所述目标查询语句中;

所述目标数据库从所述允许查询的数据范围内,获取与所述标签信息相匹配的数据。

可选地,所述目标查询范围信息包括查询数量和查询页码,所述查询数量为所述目标数据库中数据表每页包含的数据条数,则所述方法还包括:

将所述查询数量与所述查询页码进行乘积,得到起始条数;

所述目标数据库将所述起始条数作为查询起点,获取与所述查询数量对应的数据。

可选地,所述头部信息还包括响应时间限制,所述响应时间限制用于指示当查询请求的响应时间超过所述响应时间限制时,反馈请求超时信息;所述请求超时信息用于指示重新发起所述查询请求。

可选地,所述目标数据库包括关系型数据库和mpp架构的分析型数据库。

可选地,所述通过所述目标数据库获取与所述标签信息相匹配的数据,包括:

将所述目标数据库的查询结果进行整合,得到与所述标签信息相匹配的数据;与所述标签信息相匹配的数据包括:与所述标签信息相匹配的客户信息表以及与所述客户信息表中每项客户信息对应的客户数据;所述客户数据包括基本信息、历史行为数据以及为客户创建的标签的标签值。

可选地,所述方法还包括:将与所述标签信息相匹配的数据在可视化的界面中进行展示。

本申请提供的一种基于标签体系的取数方法,可以是在一个比较完整、全面且持续动态更新的电网客户标签体系的基础上进行,这套标签体系是通过梳理电网重点业务构建而出,因此提取数据的准确性高,取数过程采用的目标数据库包括关系型数据库和mpp架构的分析型数据库,集成各大数据库的优势,加快了取数的运行速度和取数效率。将标签信息转换为模拟查询语句,待确定出目标数据库之后,再将模拟查询语句编译为对应的目标查询语句,使得应用系统与数据库解耦合,业务端与数据端绑定不再那么紧密,降低了取数的复杂度,方便后期对应用进行维护。

附图说明

图1为本申请实施例提供的一种电网客户标签体系的标签目录图;

图2为本申请实施例提供的一种基于标签体系的取数方法流程图;

图3为本申请实施例提供的通过分层执行的基于标签体系的取数方法流程图;

图4为本申请实施例提供的展示层显示客户数据的示例图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例所述的基于标签体系的取数方法,主要是针对电网客户标签体系。电网客户标签体系主要是以业扩、抄核收、客户服务、停电、计量、用检、需求侧和其他相关业务为根基,梳理出主要业务及数据对象,筛选出其中与用户相关的典型业务流程和数据,由此制定出合理科学的标签和标签规则,再依据标签规则计算标签值,并将标签按照层级关系和关联关系分类组织起来,最终形成一个较完整、全面的标签体系。如图1所示的标签目录图,针对电网中的每个客户设置的标签体系可划分为三大类一级标签,分别是基础标签、行为标签和预测标签,每类一级标签可包括若干二级标签,比如基础标签下包括基础属性、客户标签、计量标签等7个二级标签,每个二级标签下又包括若干标签,比如基础属性包括27个标签。基础标签是用户客观表现出来的属性,而非用户内含属性,其可包括53个标签,如用户类别、用电类别、行业属性、停电次数、欠费次数等;行为标签是基于用户基础属性描述用户历史状态,表征用户的行为,其可包括50个标签,如渠道偏好、用电时段偏好、投诉偏好等;预测标签是基于基础属性及行为属性预测未来用户特征的属性,其可包括5个标签,如信用等级、价值等级、信用风险等。应当理解的是,本申请不限于图1所示的标签目录的创建架构。本实施例仅对电网客户标签体系进行简单介绍,电网客户标签体系的详细构建方法可参照与本申请同日提交的相关联专利。需要说明的是,本申请所述的取数方法同样可以应用于其他类型的标签体系中,并不限于这里所述的电网客户标签体系。

表1为电网客户标签体系中的一种标签明细表,表中一级分类为“行为标签”,在“行为标签”中包括若干二级分类,比如表1中示出的“欠费行为”;在“欠费行为”下又包括若干标签,比如“欠费频率”、“欠费金额”、“缴费及时性”和“催收情况”。每个标签都对应有若干个标签规则,例如,在“近两年内该用户欠费次数与应收电费次数之比大于60%”的标签规则下,“欠费频率”的标签值为“高频型”,即每个标签规则对应一个标签值。标签类型为计算标签,计算标签是对数据进行了较为复杂的统计分析而得到的标签。表1仅仅为电网客户标签体系中的一种示例,其中各级分类、标签、标签规则、标签值等信息可以根据不同的实际应用进行制定,因此不应限于表1所示。

表1

如图2所示,本申请实施例提供一种基于标签体系的取数方法,所述方法包括:

步骤s101,获取标签信息。标签信息包括标签、标签规则以及标签逻辑关系。

以电网客户标签体系为例,假设标签信息为((用户类型为居民用户)且(连续三月零电量)且(抄表出现(违约)或(拆表)或(箱烂)或(杂物堵道)))。其中,用户类型为标签,则居民用户为“用户类型”的标签值,“连续三月零电量”为标签规则,“违约”、“拆表”、“箱烂”和“杂物堵道”为抄表标签下的标签值。各个标签、标签值和/或标签规则之间可以通过“与”、“或”和/或“非”等来表达逻辑关系。由于每个标签规则都对应一个标签值,因此标签信息中可以直接使用标签值,或者使用标签规则,或者两种形式交叉使用,具体标签信息的构建形式可以根据实际取数需求来决定,本实施例不做限定。

步骤s102,将所述标签信息转换为模拟查询语句,并生成查询请求。

利用标签信息,首先生成模拟查询语句,模拟查询语句tql是采用近似sql(structuredquerylanguage,结构化查询语言)的形式呈现,但不代表具体的sql语言。这种方式不仅可以将模拟查询语言快速转化为与数据库相匹配的查询语句,还能解决由于查询语句中的语法规则深度与单一数据库绑定,而导致查询计算过程复杂的问题。针对步骤s101中示出的标签信息,本实施例给出一种示例性的模拟查询语句,如下所示:selectyhhxbq.yhbhasyhbh,yhhxbq.yhmcasyhmc,yhhxbq.yddzasyddz,yhhxbq.jcsx_lxdhaslxdh,yhhxbq.jcsx_yhlbasjcsx_yhlb,yhhxbq.jcsx_ydlbasjcsx_ydlb,yhhxbq.jcsx_dydjasjcsx_dydj,yhhxbq.jcsx_jlfsasjcsx_jlfs,yhhxbq.jcsx_htrlasjcsx_htrl,yhhxbq.jcsx_fhdjasjcsx_fhdj,yhhxbq.jcsx_ghnflasjcsx_ghnfl,yhhxbq.jcsx_zglxasjcsx_zglx,yhhxbq.jcsx_dqbmasjcsx_dqbm,yhhxbq.jcsx_dylxasjcsx_dylx,yhhxbq.jcsx_cxbzasjcsx_cxbz,yhhxbq.jcsx_khfqasjcsx_khfq,yhhxbq.jcsx_jtlxasjcsx_jtlx,yhhxbq.jcsx_schyhbzasjcsx_schyhbz,yhhxbq.jcsx_gddwbmasjcsx_gddwbm,yhhxbq.jcsx_gddwasjcsx_gddw,yhhxbq.jcsx_dyijflasjcsx_dyijfl,yhhxbq.jcsx_derjflasjcsx_derjfl,yhhxbq.jcsx_dsajflasjcsx_dsajfl,yhhxbq.jcsx_dsijflasjcsx_dsijfl,yhhxbq.jcsx_yxrlasjcsx_yxrl,yhhxbq.jcsx_lsydbzasjcsx_lsydbz,yhhxbq.jcsx_glyskhasjcsx_glyskh,yhhxbq.jcsx_zbdyasjcsx_zbdy,yhhxbq.jcsx_xbyhasjcsx_xbyh,yhhxbq.jcsx_gkkyhasjcsx_gkkyh,yhhxbq.jcsx_cjbyhasjcsx_cjbyh,yhhxbq.jcsx_yfflxasjcsx_yfflx,yhhxbq.jcsx_htsxasjcsx_htsx,yhhxbq.jcsx_zjlxasjcsx_zjlx,yhhxbq.jcsx_hyflasjcsx_hyfl,yhhxbq.jcsx_fsjfbzasjcsx_fsjfbz,yhhxbq.jcsx_fkjfbzasjcsx_fkjfbz,yhhxbq.chs_jfdlaschs_jfdl,yhhxbq.chs_jfrlaschs_jfrl,yhhxbq.chs_jfxlaschs_jfxl,yhhxbq.chs_ysdfaschs_ysdf,yhhxbq.chs_sjllaschs_sjll,yhhxbq.chs_ssdfaschs_ssdf,yhhxbq.chs_daxgcsaschs_daxgcs,yhhxbq.chs_bmxgcsaschs_bmxgcs,yhhxbq.chs_cbzqxgcsaschs_cbzqxgcs,yhhxbq.chs_xsxgcsaschs_xsxgcs,yhhxbq.chs_cbzfcsaschs_cbzfcs,yhhxbq.chs_jbfxgcsaschs_jbfxgcs,yhhxbq.chs_ynsljjaschs_ynsljj,yhhxbq.yek_ptgcasyek_ptgc,yhhxbq.yek_khgcasyek_khgc,yhhxbq.yek_gclxasyek_gclx,yhhxbq.yek_ybgcasyek_ybgc,yhhxbq.yek_bzsxyyasyek_bzsxyy,yhhxbq.kef_zjkfgdlxaskef_zjkfgdlx,yhhxbq.kef_jyykfcsaskef_jyykfcs,yhhxbq.kef_zjychwqdaskef_zjychwqd,yhhxbq.tid_zjtdsjastid_zjtdsj,yhhxbq.tid_zjtdyyastid_zjtdyy,yhhxbq.tid_jqtdsjastid_jqtdsj,yhhxbq.jil_dnbasjil_dnb,yhhxbq.jil_jlzdhzdasjil_jlzdhzd,yhhxbq.jil_fyasjil_fy,yhhxbq.jil_jlgasjil_jlg,yhhxbq.jil_jlbxasjil_jlbx,yhhxbq.jil_hgqasjil_hgq,yhhxbq.jil_lhcsasjil_lhcs,yhhxbq.jil_cjcsasjil_cjcs,yhhxbq.jil_ljcsasjil_ljcs,yhhxbq.jil_gzclcsasjil_gzclcs,yhhxbq.jil_zjxcjyasjil_zjxcjy,yhhxbq.jil_zjyxjyasjil_zjyxjy,yhhxbq.yoj_bgddjasyoj_bgddj,yhhxbq.yoj_ydaqdjasyoj_ydaqdj,yhhxbq.yoj_zjyjsjasyoj_zjyjsj,yhhxbq.yoj_hhbzasyoj_hhbzfromyhhxbqwhere1=1andyhhxbq.jcsx_ydlb='居民生活'andyhhxbq.ydxw_cbycpfxin('箱烂','违约','拆表','杂物堵道')and(yhhxbq.ydxw_ldllike'%连续3月零电量%')。

本实施例中,查询请求包括头部信息和主体信息,所述头部信息包括数据库标识、数据实体标识和目标查询范围信息,所述主体信息为所述模拟查询语句。进一步地,所述头部信息还包括数据权限等级、机构代码和响应时间限制;所述目标查询范围信息包括查询数量和查询页码。其中,所述响应时间限制用于指示当查询请求的响应时间超过响应时间限制时,反馈请求超时信息,请求超时信息用于指示重新发起所述查询请求,也就是说,当超过响应时间限制时,需要反馈请求超时信息,客户端接收到请求超时信息后,就不会漫无目的的等待,会重新发起一个查询请求,或者向用户报告请求超时,以便使用户了解查询请求的响应状态。如下将给出查询请求的头部信息的示例:

在上述头部信息的示例中,"schemacode":"ads"表征数据库标识;"entity":"yhhxbq"表征数据实体标识;"pageno":100表征查询页码;"pagesize":15表征查询数量;"timeout":45000表征响应时间限制;"access":"1"表征数据权限等级;"administration":"0501"表征机构代码;tql语句即模拟查询语句。

步骤s103,确定与所述查询请求相匹配的目标数据库。

在响应查询请求后,需要确定出与查询请求匹配的目标数据库。具体地,根据查询请求的头部信息指示的数据库标识和数据实体标识,确定与查询请求相匹配的目标数据库。当目标数据库确定后,就可以确定目标数据库对应的查询语句类型,从而确定如何编译模拟查询语句。

步骤s104,根据所述查询请求的指示,将所述模拟查询语句编译为与所述目标数据库对应的目标查询语句。

可选地,根据查询请求的头部信息指示的数据权限等级和机构代码,确定允许查询的数据范围,所述允许查询的数据范围是用户在拥有的权限内可以查询的最大数据范围。其中,数据权限等级包括:所有数据、所在公司及以下数据、所在公司数据、所在部门及以下数据、所在部门数据、仅本人数据和按明细设置等类型;然后将所述允许查询的数据范围加入到目标查询语句中,以使目标数据库从所述允许查询的数据范围内,获取与标签信息相匹配的数据。本实施例通过权限进行数据安全访问控制,可控制用户对标签数据资源的访问,确保安全取数。

在查询请求的头部信息中,目标查询范围信息包括查询数量和查询页码,查询数量为目标数据库中数据表每页所包含的数据条数,则所述方法还包括:将查询数量与查询页码进行乘积,得到起始条数,目标数据库将起始条数作为查询起点,获取与查询数量对应的数据。以下将示出目标查询语句中的局部内容:

dwyhhxmx_ads_db.yhhxmxgj_yhhx_jcbq_tenant_10001_13_18_dtboost_yhhxbq.jcsx_ydlb='居民生活'and

dwyhhxmx_ads_db.yhhxmxgj_yhhx_xwbq_tenant_10001_13_18_dtboost_yhhxbq.ydxw_cbycpfxin('箱烂','违约','拆表','杂物堵道')

and(dwyhhxmx_ads_db.yhhxmxgj_yhhx_xwbq_tenant_10001_13_18_dtboost_yhhxbq.ydxw_ldllike'%连续3月零电量%'))yhhxbqwhere1=1andyhhxbq.yhhxbq_jcsx_ydlb='居民生活'andyhhxbq.yhhxbq_ydxw_cbycpfxin('箱烂','违约','拆表','杂物堵道')and(yhhxbq.yhhxbq_ydxw_ldllike'%连续3月零电量%')limit1500,15

其中,"pageno":100指示查询页码为第100页,"pagesize":15指示查询数量为15条,则将初始条数为100×15=1500,则该目标查询语句中,limit1500,15表明从目标数据库的数据表中的第1500条查起,共查询15条数据。在生成目标查询语句时,需要对模拟查询语句重新编译,转化为匹配目标数据库的语言结构和类型,并将查询请求的头部信息、允许查询的数据范围和起始条数等信息一并写入目标查询语句中。本实施例中,将标签信息转换为模拟查询语句,待确定出目标数据库之后,再将模拟查询语句编译为对应的目标查询语句,使得应用系统与数据库解耦合,业务端与数据端绑定不再那么紧密,降低了取数的复杂度,并方便后期对应用进行维护。

步骤s105,将所述目标查询语句传输至所述目标数据库,通过所述目标数据库获取与所述标签信息相匹配的数据。

作为本实施例的优化方案,目标数据库可以包括两种类型,第一种是关系型数据库,第二种是mpp(massivelyparallelprocessing,大规模并行处理)架构的分析型数据库。所述关系型数据库用来存储和计算变动可能性低的标签数据,例如基础标签中的用户用电类别数据等。所述mpp架构的分析型数据库,用来存储和计算变动性较大的标签数据,例如行为标签中的欠费行为数据,随着时间的推移,用户的欠费行为数据不断更新变化,因此需要实时计算分析。对于变动性较大的标签数据,其中一部分数据计算需要很长时间,需要在离线分析数据库中计算后存储下来,另一部分不需要很长的计算时间而且对数据实时性要求高的数据,则由mpp架构的数据库进行计算,因此,所述mpp架构的分析型数据库是集成了mpp架构数据库和离线分析数据库的功能的综合型数据库。基于上述两种类型的数据库进行取数计算,可以有效提高取数速度和效率。

当目标数据库查询计算完毕后,将目标数据库的查询结果进行整合,即将关系型数据库的查询结果以及mpp架构的分析型数据库的查询结果进行整合,得到完整的与标签信息相匹配的数据。与所述标签信息相匹配的数据包括:与标签信息相匹配的客户信息表以及与客户信息表中每项客户信息对应的客户数据。客户信息表中包括多项客户信息,每项客户信息对应标签体系中涉及到的一个客户,即客户信息用来识别客户,多项客户信息以列表的形式进行汇总。每项客户信息都有相对应的客户数据,这里的客户数据包括基本信息、历史行为数据以及为客户创建的标签的标签值。对于电网客户标签体系,历史行为数据包括但不限于缴费行为、渠道偏好、客户服务和用电情况;基本信息包括用户名称、用户编号、用电地址、联系方式等信息。为了便于用户的查询和浏览,本实施例可选地,将与标签信息相匹配的数据在可视化的界面中进行展示。

在具体实现中,本申请提供的取数方法可以划分为三层来执行,分别为数据层、服务层和展示层。如图3所示,第一,在展示层中:用户依据自己的取数需求,在展示层的可视化应用界面上,从标签体系中获取标签信息;将标签信息转换为模拟查询语句,并生成查询请求;调用服务层的查询接口,将查询请求发送至服务层。

第二,在服务层中:根据查询请求指示的数据权限等级和机构代码,确定允许查询的数据范围;确定与查询请求相匹配的目标数据库;将模拟查询语句编译为与目标数据库对应的目标查询语句,并将目标查询语句传输至目标数据库。

第三,在数据层中:由目标数据库利用所述目标查询语句进行计算,并将目标数据库的查询结果发送至服务层。

第四,在服务层中,将目标数据库的查询结果进行整合,得到与标签信息相匹配的数据,并将与标签信息相匹配的数据发送至展示层。

第五,在展示层中:向用户展示与标签信息相匹配的数据。由于客户信息表中列举出了多个与标签信息相匹配的客户信息,用户在取数时,可以根据需要选取表中任意一项客户信息,则会在展示层中自动显示与该客户信息相对应的客户数据。例如,对于电网客户标签体系,图4给出了一种展示层显示客户数据的示例,展示层的可视化界面可设置若干个板块,比如,用户详情板块显示客户数据中的“为客户创建的标签的标签值”,基本信息板块显示客户数据中的“基本信息”,历史行为数据显示板块用于分别展示“缴费行为”、“渠道偏好”、“客户服务”和“用电情况”对应的数据。这种方式可以使查询结果更加有条理地且清晰地展示给用户,方便用户查询和阅览。需要说明的是,展示层对与标签信息相匹配的数据的显示设置并不限于本实施例以及图4所示,本领域技术人员可以根据实际应用需求进行规划和设定。

由以上技术方案可知,本申请提供的一种基于标签体系的取数方法,可以是在一个比较完整、全面且持续动态更新的电网客户标签体系的基础上进行,这套标签体系是通过梳理电网重点业务构建而出,因此提取数据的准确性高,取数过程采用的目标数据库包括关系型数据库和mpp架构的分析型数据库,集成各大数据库的优势,加快了取数的运行速度和取数效率。将标签信息转换为模拟查询语句,待确定出目标数据库之后,再将模拟查询语句编译为对应的目标查询语句,使得应用系统与数据库解耦合,业务端与数据端绑定不再那么紧密,降低了取数的复杂度,并方便后期对应用进行维护。此外,本实施例在服务层还提供了数据安全访问控制,通过控制用户对标签数据资源的访问,提供数据安全保障。并且,在展示层将与标签信息相匹配的数据进行可视化的展示,并设置对应的展示板块,可以方便用户查询和阅览。

本领域技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的基于标签体系的取数方法的实施例中的部分或全部步骤。所述计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,并不构成对本发明保护范围的限定。本发明的真正范围和精神由所附的权利要求指出。

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