CN113535804A - 业务数据处理方法、装置、设备及系统 - Google Patents
业务数据处理方法、装置、设备及系统 Download PDFInfo
- Publication number
- CN113535804A CN113535804A CN202110665328.5A CN202110665328A CN113535804A CN 113535804 A CN113535804 A CN 113535804A CN 202110665328 A CN202110665328 A CN 202110665328A CN 113535804 A CN113535804 A CN 113535804A
- Authority
- CN
- China
- Prior art keywords
- index
- data
- service
- template
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Abstract
本说明书提供一种业务数据处理方法、装置、设备及系统,将数据管理范围延伸到数据源层面,对数据源、数据元素等数据资产进行分类管理,为后续一系列模型的建立以及指标数据分析奠定了基础。以指标配置和指标计算模板为桥梁。在指标构建的基础上,向上层业务提供方便的指标元数据服务、指标查询服务,为上层屏蔽了底层数据的各种细节,提供了标准、统一的指标数据服务。
Description
技术领域
本说明书属于计算机技术领域,尤其涉及一种业务数据处理方法、装置、设备及系统。
背景技术
随着大数据时代的到来,对于数据的管理、分析的需求日益复杂,各行各业的业务数据的数量以及种类也在不断增加。用户自己可能无法在一堆数据中快速找到自己想要的指标,或者在数据出问题时无法找出问题的原因等,如何能够提供一种能够全面管理,为用户提供数据查询、分析、追踪等服务的技术方案,是本领域亟需解决的技术问题。
发明内容
本说明书实施例的目的在于提供一种业务数据处理方法、装置、设备及系统,实现了业务指标数据的统一管理。
一方面,本说明书实施例提供了一种业务数据处理方法,所述方法包括:
接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
另一方面,本说明书提供了一种业务数据处理装置,所述装置包括:
查询请求接收模块,用于接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
计算模块匹配模块,用于基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
查询语句生成模块,用于基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
指标查询模块,用于利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
再一方面,本说明书实施例提供了一种业务数据处理设备,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述业务数据处理方法。
又一方面,本说明书实施例提供了一种业务数据处理系统,包括:
指标配置组件,用于配置各个业务指标的指标配置信息,所述指标配置信息中包括数据源信息、指标计算模板;
指标查询组件,用于基于指标查询请求以及指标配置信息生成指标查询语句,并根据生成的指标查询语句查询对应的业务指标数据;
指标分析组件,用于在确定查询到的业务指标数据异常时,基于待查询业务指标的指标参数的下钻分组对所述下钻分组中各个元素进行指标查询,并基于查询结果分析异常原因。
本说明书提供的业务数据处理方法、装置、设备及系统,将数据管理范围延伸到数据源层面,对数据源、数据元素等数据资产进行分类管理,为后续一系列模型的建立以及指标数据分析奠定了基础。以指标配置和指标计算模板为桥梁,通过上述各模型的排列组合,能够自由的组合出各式各样海量的指标,解决了企业海量指标数据难以统一管理的问题。在指标构建的基础上,向上层业务提供方便的指标元数据服务、指标查询服务,为上层屏蔽了底层数据的各种细节,提供了标准、统一的指标数据服务。通过建立一套完整的从数据源到指标的模型,对企业的数据资产进行管理、沉淀,在此基础上,提供了指标查询的功能,解决了企业海量指标数据下,难以统一管理,以及指标数据异常情况下需要人工进行分析排查的问题。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的业务数据处理方法实施例的流程示意图;
图2是本说明书一个场景示例中业务指标配置的流程示意图;
图3是本说明书实施例中渲染参数配置的流程示意图;
图4是本说明书一个场景示例中业务指标数据查询的流程示意图;
图5是本说明书一个场景示例中指标分析的流程示意图;
图6是本说明书一个实施例中业务指标下钻分析的原理示意图;
图7是本说明书提供的业务数据处理装置一个实施例的模块结构示意图;
图8是本说明书一个实施例中业务数据处理服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着人们对数据指标需求的日益复杂,指标数量的大量增长,数据源种类的多样化,需要一套能够全方位的沉淀、管理数据资产,能够向上层服务提供高效的指标计算服务,能够提供指标的追踪、拆解、分析等全方位的能力的指标分析管理平台。业务指标可以理解为能够表征一定业务含义的数据,如:某品牌汽车的月交易量、班级同学的成绩达标比例等等。
本说明书实施例通过建立一套完整的从数据源到指标的模型,对企业的数据资产进行管理、沉淀,在此基础上,不仅仅提供了指标查询的功能,同时在此基础上更进一步,还能够智能的对指标进行下钻,追踪等分析,解决了企业海量指标数据下,难以统一管理,以及指标数据异常情况下需要人工进行分析排查的问题。
图1是本说明书实施例提供的业务数据处理方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
本说明书实施例中提供的业务数据处理方法可以应用在客户端中,如:智能手机、平板电脑或PC(Personal Computer,个人计算机)终端、智能穿戴设备、车载设备等,如图1所示,所述方法可以包括如下步骤:
步骤102、接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数。
在具体的实施过程中,本说明书实施例可以提供一种数据管理平台,当用户需要进行业务指标的查询时,可以通过客户端向数据管理平台提交业务指标数据查询请求,该业务指标数据查询请求中可以包括待查询业务指标的指标标识、待查询业务指标的筛选条件、待查询业务指标的指标参数。其中,指标标识可以在进行指标数据的配置时为每个业务指标配置一个唯一的标识,该标识可以唯一识别业务指标的身份,标识的具体内容可以根据实际需要进行配置。筛选条件可以理解为指标的所满足的条件,也可以理解为一种口径即标签的逻辑组合,是度量指标的标准,其特征是key固定,value也固定,如shop_code_flag=1or qrcode_flag=1,又如筛选条件可以为优秀学生人数,即是否为优秀学生的标签为是或1。指标参数可以理解为需要查询的指标的业务含义,可以理解为一种实例入参,如一个示例中指标参数可以为:{provinceName:浙江省,cityName:杭州市,districtName:西湖区,date:20201201,groupByCol:districtName,orderByCol:districtNamedesc,limitCount:5}
步骤104、基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式。
在具体的实施过程中,基于待查询指标的指标标识和预先配置的指标配置信息,可以选择出待查询业务指标对应的指标计算模板,该指标计算模板可以用于表征业务指标的计算方式,利用指标计算模板可以生成业务指标的查询语句,基于该查询语句可以获得业务指标的数值。指标计算模板本质上是通过模板语言(如velocity),构建用来描述指标计算方式的通用模板,在模板中,将每个可替换部分用对应类型的待填充占位符代替,在实际查询或分析时,再根据指标计算模板和指标配置之间的关联,将对应类型的待填充占位替换为实际的SQL,在根据拼接后的SQL进行查询或分析。配置指标计算模板时最重要的是配置指标计算模板的内容以及指标计算模板中占位符的类型。
本说明书一些实施例中,所述指标配置信息的配置方法包括:
在接收所述业务指标数据查询请求之前,配置各个业务指标的数据源信息、配置数据源中数据元素的标签以及参数模板;所述参数模板中包括数据元素列以及各个数据元素列之间的逻辑关系;
基于配置好的所述数据源信息、所述数据元素的标签以及所述参数模板配置各个业务指标的指标计算模板;
配置所述指标计算模板中填充占位符对应的参数配置信息;
将配置好的数据源信息、参数模板以及所述指标计算模板作为所述指标配置信息。
在具体的实施过程中,在接收业务指标数据查询请求之前,可以基于实际的业务场景对不同的业务指标进行配置,其中,图2是本说明书一个场景示例中业务指标配置的流程示意图,如图2所示,业务指标的配置过程可以参考如下:
1、配置数据源
将数据源接入指标中心进行统一管理,即对数据源进行配置,本说明书一些实施例中,所述配置各个业务指标的数据源信息,包括:
配置各个业务指标的数据源的基本信息,所述基本信息中包括数据源连接信息;
基于所述数据源连接信息自动阀拉取数据源下的数据元素基本信息;所述数据元素基本信息中包括数据元素的分析类型,所述分析类型中包括级联关系型数据;
对于级联关系型数据配置各个数据元素的下钻分组,所述下钻分组中包括各个数据元素之间的级联关系。
在具体的实施过程中,在配置数据源信息时可以参考如下:
1)首先需配置数据源的基本信息,包括数据源名称、表owner即数据源的拥有者、关键字、表口径描述、连接信息,生命周期等。数据源连接信息可以理解为数据源所在的数据库属于哪个服务器,基于连接信息可以建立数据管理中心与数据源服务器的连接。
2)根据数据源的连接信息,自动拉取数据源下的数据元素基本信息,数据元素基本信息包括列名、描述、数据类型,用户需在此基础上,额外配置数据元素的”分析类型”和”是否可枚举”,对于”可枚举”类型的数据元素,会自动拉取该数据元素的可枚举值列表。
其中,数据元素:数据源中的数据内容,以数据库举例来说,数据元素就是数据库表中的每一列。
分析类型:指标中心管理数据元素的管理维度之一,系统内的分析类型包括以下类型:
1.普通列:没有什么特殊含义的数据元素列,如id、name等。
2.级联下钻:具有级联关系的数据元素列,且一般存在多个级联关系的数据元素列,他们之间存在上下级联的关系,如省、市、区等。
3.分析标签:具有一定含义的数据元素列,可以反映出数据的某个特征,且一般来说,分析标签多数是可枚举的数据元素列,如vip_flag(vip客户标志)等。
4.事实数据:描述数据本身的数据元素列,这些列的值本身就是具有一定价值的,如trd_cnt(交易笔数)
5.时间维度:描述时间的数据元素列,且这些列不是分库分表键,如register_date(注册日期)等。
6.日期分区:描述数据时间分区的数据元素列,这些列一般来说都是分库分表键,如dt(日分区),dh(小时分区)等。
是否可枚举:指标中心数据元素的管理维度之一,对于可枚举的数据元素,指标中心会通过”select distinct(数据元素列)from数据源”的方式获取到该数据元素列的可枚举值列表。
3)在步骤2)中配置完所有数据元素的分析类型和是否可枚举之后,进行分析类型配置:
a)、对于类型为“级联下钻”的数据元素即级联关系型数据,允许其定义下钻分组,如省市区这3列,天然存在级联关系,由此可以配置区域的下钻分组:province->city->district。
b)、对于类型为”时间维度”的数据元素,允许其定义日期格式,在后续指标查询、指标分析使用到改数据元素时,可以定义的日期格式进行格式化,如字段today,可以定义其日期格式为:”yyyyMMdd”。
举例:以MySQL数据库为例
表1
列名 | 描述 | 数据类型 |
province | 省份 | varchar |
city | 城市 | varchar |
district | 地区 | varchar |
user_id | 用户id | varchar |
vip_flag | 是否vip客户 | int |
trd_cnt | 交易笔数 | int |
register_date | 注册日期 | timestamp |
库名:Test
表名:user_trd
表结构如表1。
1).数据源基本信息如下:
数据源名称:用户交易表
表owner:张三
关键字:用户、交易、汇总表
表口径描述:交易交易表
连接信息:{
“ip”:”192.168.100.1”,
“port”:”3306”
“database”:”Test”,
“table”:”user_trd”
}
生命周期:30
2).数据元素相关配置如表2:
表2
列名 | 描述 | 数据类型 | 分析类型 | 是否可枚举 |
province | 省份 | varchar | 级联下钻 | 是 |
city | 城市 | varchar | 级联下钻 | 是 |
district | 地区 | varchar | 级联下钻 | 是 |
user_id | 用户id | varchar | 普通列 | 否 |
vip_flag | 是否vip客户 | int | 分析标签 | 是 |
trd_cnt | 交易笔数 | int | 事实数据 | 否 |
register_date | 注册日期 | timestamp | 时间维度 | 否 |
dt | 日期分区 | varchar | 日期分区 | 否 |
3).数据源分析类型配置
下钻分组:
分组名称:区域下钻分组
分组内容:province->city->district
时间配置:
register_date:yyyyMMdd
2、配置标签
标签可以理解为数据元素之上的抽象,标签定义为数据元素中键值对固定的数据元素实例或实例的逻辑组合。
举例:继续上面的例子
配置标签如下:
标签名:vip用户
标签表达式:vip_flag=1
3、配置参数模板
参数模板可以理解为数据元素之上的抽象,参数模板定义为数据元素中键固定,值不固定的元素实例或实例的逻辑组合,如province=?and city=?,其中省份名称和城市名称均需要根据具体查询时指定。配置参数模板时,需要配置参数模板中所包含的数据元素列、数据元素列之间的逻辑关系,并且需要配置每个数据元素是否必填,是否多值,默认值等。
举例:继续上面的例子
配置参数模板如下:
参数模板名:区域参数模板
参数模板配置:
province非必填允许多值无默认值
city非必填允许多值无默认值
district非必填允许多值无默认值
数据元素列组关系:AND
4、配置指标计算模板
指标计算模板是指标中心的核心模型之一,本质上是通过模板语言(如velocity),构建用来描述指标计算方式的通用模板,在模板中,将每个可替换部分用对应类型的占位符代替,在实际查询或分析时,在根据计算模板和指标配置之间的关联,将对应类型的占位符替换为实际的SQL(Structured Query Language,结构化查询语言),在根据拼接后的SQL进行查询或分析。配置计算模板,最重要的是配置计算模板的内容以及计算模板中占位符的类型。
注:
计算模板中占位符类型包括数据源表、选取列、参数模板、分组列、排序列、日期分区、条数限制、分析标签、输出项等,其中需要注意的是,并非每一个计算模板都要同时具备上述的所有类型的占位符,可以自由的根据实际场景,排列组合使用上述各类型的占位符来描述指标的计算方式。
举例:继续上面的例子
计算模板名称:求和计算模板
计算模板内容:select sum($selectField)$total from$table where$paramand$label and$partition$groupBy$orderBy$limit
计算模板配置:
{
“selectField”:”选取列”,
“total”:”输出项”,
“table”:”数据源表”,
“param”:”参数模板”,
“label”:”分析标签”,
“partition”:”日期分区”,
“groupBy”:”分组列”,
“orderBy”:”排序列”,
“limit”:”条数限制”
}
5、生成指标配置信息
指标配置信息是指标中心的核心模型之一,指标实例=指标配置+计算模板+实例入参。其中指标配置包括入参配置、出参配置、选取列配置、数据源表配置、参数模板配置、标签配置、日期分区配置、分组列配置、排序列配置、计算参数关联配置、口径配置等。配置指标时,实际上是配置指标和计算模板中各类型占位符的关联关系,在根据配置的关联关系,用相应的配置内容替换掉计算模板中对应的占位符,从而拼接成最终可执行SQL。配置指标,最关键的是配置指标所关联的计算模板中各占位符的具体值。
举例:继续上面的例子
指标名称:交易总数
指标关联参数模板:求和计算模板
入参配置:provinceName、cityName、districtName、date、groupByCol、orderByCol、limitCount
出参配置:total:trdCount
选取列配置:selectField:trd_cnt
数据源表配置:table:用户交易表
参数模板配置:param:区域参数模板
标签配置:label:用户交易表
日期分区配置:partition:用户交易表
分组列配置:groupBy:用户交易表
排序列配置:orderBy:用户交易表
口径配置:
口径名称:vip
口径包含标签:vip用户
计算参数关联配置:建立入参配置与参数模板列之间的关联关系,具体配置如下
provinceName关联入参province(区域参数模板的列province)
cityName关联入参city(区域参数模板的列city)
districtName关联入参district(区域参数模板的列district)
date关联入参partition
groupByCol关联入参groupBy
orderByCol关联入参orderBy
limitCount关联入参limit
6、指标测试
本说明书一些实施例中,配置好指标配置信息后,所述方法还包括:
基于所述指标计算模板输入对应的测试参数,进行业务指标测试,获得测试查询结果;
将所述测试查询结果与真实查询结果进行比较,若所述测试查询结果与所述真实查询结果一致,则将所述指标配置信息进行上线。
在具体的实施过程中,指标配置完成之后,并不能直接上线使用,因为并不能保证配置的指标一定是正确的,因此需要对指标先进行测试,测试无误后,才可以上线正常使用。指标测试,实际上是由用户输入一些测试参数,模拟指标实际运行时的情况,确认指标实际查询SQL是否正确,以及查询的指标数据是否正确,以确保业务指标配置的准确性。
举例:继续上面的例子
测试参数如下:
provinceName:浙江省
cityName:杭州市
districtName:西湖区
date:20201201
groupByCol:districtName
orderByCol:districtName desc
limitCount:5
口径:vip
渲染测试SQL如下:
Select sum(trd_cnt)trdCount from user_trd where province=‘浙江省’andcity=‘杭州市’and district=‘西湖区’and dt=‘20201201’and vip_flag=1group bydistrict order by districtdesc limit5
7、指标上线
指标测试通过之后,指标才可以进行上线。上线后的指标,才可以实际供业务方进行使用。
本说明书实施例,将数据管理的范围延伸到数据源层面,对数据源、数据元素等数据资产进行分类管理,为后续一系列模型的建立以及指标数据分析奠定了基础。数据源到指标完成模型的抽象与建立,建立了一套完整的指标模型,包括:数据源、数据元素、标签、参数模板、计算模板、口径、指标配置、指标等。基于业务场景需求从数据源到指标计算模板,配制出各个业务指标的计算方式,为后续业务指标的查询奠定了数据基础,实现了对数据的统一安全管理。
步骤106、基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句。
在具体的实施过程中,确定出待查询业务指标的指标计算模板后,可以对指标计算模板中的待填充占位符进行替换,替换为待查询业务指标的对应参数,进而利用指标计算模板生成对应的指标查询语句。
本说明书一些实施例中,所述指标计算模板中的待填充占位符包括下述至少一种:入参配置、计算项配置、输出配置、数据源配置、参数配置、标签配置、日期分区配置、分组配置、排序配置、条数配置。
在具体的实施过程中,可以按顺序先渲染出各配置对应的SQL,放入格式为<占位符,占位符对应SQL>的map中。其中,入参配置可以参考待查询业务指标的指标参数,计算项配置对应的是指标计算模板中的选取列占位符,使用指标配置中的选取列配置所对应的数据元素列,替换掉计算模板中的选取列占位符。如:指标计算模板中的选取列占位符为selectField,而配置指标时,我们配置的数据元素列为trd_cnt,所以可以使用trd_cnt来替换掉参数模板中的$selectField,此时map中添加键值对”selectField”:”trd_cnt”。
输出配置:实际上就是拼接SQL查询中的结果的别名,对应的是计算模板中类型为输出项的占位符,使用指标配置中的出参配置,替换掉输出项占位符,继续上面的例子,计算模板中的输出项占位符为total,而配置指标时,我们配置的出参配置为trdCount,所以用trdCount替换掉计算模板中的$total,此时map中添加键值对”total”:”trdCount”。
数据源配置:实际上就是拼接SQL查询中的表名,对应的是计算模板中类型为数据源表的占位符,使用指标配置中的数据源表配置中所配置的数据源的表名,替换掉数据源表占位符,继续上面的例子,计算模板中的数据源表占位符为table,而配置指标时,我们配置的数据源表为用户交易表,可以使用用户交易表user_trd替换掉计算模板中的$table,此时map中添加键值对”table”:”user_trd”。
参数配置:实际上就是拼接参数模板部分的SQL,需要根据传入的实例入参结合指标配置中的入参配置、参数模板配置以及计算参数关联配置,将<入参配置中的参数,参数值>转换为<参数模板中的数据元素列,参数值>,同时,还需要根据参数模板中配置的是否必填,是否多值,是否有默认值等,对转换后的入参进行校验,校验通过后,拼接成为参数模板部分的SQL,然后替换掉计算模板中的参数模板占位符,图3是本说明书实施例中渲染参数配置的流程示意图,参数配置的渲染过程可以参考图3所示。
继续上面的例子,当前传入实例入参为:
{provinceName:浙江省,cityName:杭州市,districtName:西湖区,date:20201201,groupByCol:districtName,orderByCol:districtNamedesc,limitCount:5},
根据计算模板配置中的区域参数模板计算参数关联之后,处理后的入参为:
{province:浙江省,city:杭州市,district:西湖区},由于参数模板中的列,均配置为非必填允许多值无默认值,所以入参校验通过,参数模板配置中配置的数据元素列组关系:AND,所以拼接SQL为:province=‘浙江省’and city=‘杭州市’and district=‘西湖区’,计算模板中的参数模板占位符为$param,此时map中添加键值对”param”:“province=‘浙江省’and city=‘杭州市’and district=‘西湖区’”。
标签配置:标签,是数据元素的实例,或数据元素的实例的逻辑组合,同时,由于口径是一个或多个标签逻辑组合构成,所以渲染标签配置,主要就是将传入的口径,转换为对应的标签,使用标签的内容,替换掉分析标签占位符。继续上面的例子,查询指标时,指定的口径为vip,而指标配置时,口径vip是由单个标签vip构成,所以,对应的标签SQL为vip_flag=1,指标配置中,指标配置对应的数据源为用户交易表,而本说明书实施例中指标计算模板中,不涉及多个数据源,所以直接用SQL替换掉计算模板中的标签占位符即可(若指标计算模板中包含多个数据源表占位符,且指标配置中,数据源表配置也配置了多条,则多条标签SQL,应该替换掉对应数据源所在的SQL子查询中的标签占位符)。此时map中添加键值对”label”:“vip_flag=1”。
日期分区配置:实际上就是拼接计算模板中日期分区占位符的SQL,日期分区可以由用户自己传入,这时需要在入参配置中,配置日期分区的入参,然后在计算参数关联中,将该入参和日期分区占位符关联起来,也可以选择固定值,这时只需在计算参数关联中,配置日期分区占位符的固定值即可。继续之前的例子,由于指标计算参数关联中,将date和partition占位符关联起来了,所以这里的日期分区,需要用户自己传入,实例入参中,用户传入了date为20201201,此时的SQL为”dt=‘20201201’”,而计算模板中,日期分区占位符为$partition,用SQL替换日期分区占位符。此时map中添加键值对”partition”:“dt=‘20201201’”。
分组配置:实际上就是拼接计算模板中分组列占位符的SQL,分组列可以用用户自由传入,也可以配置固定值。若需要由用户自己传入,则需要在入参配置中,添加分组列的入参,同时,在计算参数关联中,将入参和分组列占位符关联起来;若需要配置固定值,则只需要在计算参数关联中,配置分组列占位符的固定值即可。继续上面的例子,配置指标时,我们在计算参数关联中将入参groupByCol和groupBy占位符关联起来,所以这里的分组列需要求用户自己传入,实例入参中,用户传入了groupByCol为districtName,先根据入参映射,将districtName转换成数据元素列district,此时的SQL为”group by district”,而计算模板中,分组列占位符为$groupBy。用SQL替换分组列占位符,此时map中添加键值对“groupBy”:“group by district”。
排序配置:实际上就是拼接计算模板中排序列占位符的SQL,排序列也可以由用户自由传入,也可以配置固定值。若需要由用户自己传入,则需要在入参配置中,添加排序列的入参,同时,在计算参数关联中,将入参和排序列占位符关联起来;若需要配置固定值,则只需要在计算参数关联中,配置配序列占位符的固定值即可。继续上面的例子,配置指标时,我们在计算参数关联中配置了将入参orderByCol和orderBy占位符关联起来,所以这里的排序列需要求用户自己传入,实例入参中,用户传入了orderByCol为districtNamedesc,先根据入参映射,将districtName转换成数据元素列district,此时的SQL为”order bydistrict desc”,而计算模板中,排序列占位符为$orderBy。用SQL替换排序列占位符,此时map中添加键值对”orderBy”:”order by district desc”
条数配置:实际上就是拼接计算模板中条数限制占位符的SQL,条数限制可以由用户自由传入,也可以配置固定值。若需要由用户自己传入,则需要在入参配置中,添加条数限制的入参,同时,在计算参数关联中,将入参和条数限制占位符关联起来;若需要配置固定值,则只需要在计算参数关联中,配置条数限制占位符的固定值即可。继续上面的例子,我们在计算参数关联中配置了入参limitCount和limit占位符关联起来,所以这里的条数限制,需要由用户传入。实例入参中,用户传入了limitCount为5,根据入参映射,将limitCount转换为limit,此时的SQL为”limit 5”,用SQL替换掉计算模板中的条数限制占位符$limit,此时map中添加键值对“limit”:“limit 5”。
步骤108、利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
在具体的实施过程中,查询指标所关联的指标计算模板内容,用步骤106中的map中的占位符对应指标计算模板中的占位符,将占位符对应SQL填充进计算模板中对应占位符的位置,生成最终的可执行SQL,继续之前的例子:
计算模板:select sum($selectField)$total from$table where$param and$label and$partition$groupBy$orderBy$limit
SQL:Select sum(trd_cnt)trdCount from user_trd where province=‘浙江省’and city=‘杭州市’and district=‘西湖区’and dt=‘20201201’and vip_flag=1group by district order by districtdesc limit 5
图4是本说明书一个场景示例中业务指标数据查询的流程示意图,如图4所示,拼接SQL之后,可以将SQL进行md5加密,用加密之后的字符串作为key,查询是否命中缓存,若命中,直接从缓存中拿出结果,查询结束;若不能命中,则入库查询,查询完之后,加入缓存,然后返回指标数据,查询结束。
本说明书实施例提供的业务数据处理方法,将数据管理范围延伸到数据源层面,对数据源、数据元素等数据资产进行分类管理,为后续一系列模型的建立以及指标数据分析奠定了基础。以指标配置和指标计算模板为桥梁,通过上述各模型的排列组合,能够自由的组合出各式各样海量的指标,解决了企业海量指标数据难以统一管理的问题。在指标构建的基础上,向上层业务提供方便的指标元数据服务、指标查询服务,为上层屏蔽了底层数据的各种细节,提供了标准、统一的指标数据服务。通过建立一套完整的从数据源到指标的模型,对企业的数据资产进行管理、沉淀,在此基础上,提供了指标查询的功能,解决了企业海量指标数据下,难以统一管理,以及指标数据异常情况下需要人工进行分析排查的问题。
在上述实施例的基础上,本说明书一些实施例中,所述指标计算模板中还包括分析模板,所述分析模板为所述计算模板中添加下钻分析参数生成,所述方法还包括:
在确定查询到的业务指标数据异常时,确定所述待查询业务指标的指标参数的下钻分组;
确定出所述待查询业务指标在所述下钻分组的当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,用所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第一层下钻参数的指标查询语句;
利用所述第一层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第一层下钻参数的业务指标数据进行分析,确定出异常原因。
在具体的实施过程中,指标分析的侧重点,主要在于,用户可以在现有指标的基础上,直接对该指标进行下钻分析,用户只需要选择下钻分组,不需要在传入额外的任何参数。指标分析一般用于在某个指标数据发生异常时,通过该指标数据下层的数据趋势,来帮助用户分析出导致指标数据异常的真正原因。图5是本说明书一个场景示例中指标分析的流程示意图,如图5所示,指标分析流程与指标查询流程大致相同,其中主要区别在于选择下钻维度,分析下钻列,图6是本说明书一个实施例中业务指标下钻分析的原理示意图,如图6所示,下钻分析的过程可以参考如下:
首先,要想对指标进行自动下钻分析,需要在配置计算模板时,配置对应的分析模板。其次,该指标所关联的数据源中,必须配置了下钻分组配置,同时用户在进行指标分析时,需要指定根据哪一个下钻分组进行下钻分析。分析模板是对用来描述指标的分析方式,是在计算模板的基础上,添加了下钻分析参数占位符,并指定下钻分析参数占位符的位置。在进行指标分析时,首先会分析出当前指标查询参数中,用户选择的下钻分组中的下一层下钻列,然后用下钻列,替换掉分析模板中的下钻分析参数占位符,其余部分和指标查询流程一致,最终拼接出分析SQL。下面举例说明:
计算模板:select sum($selectField)$output from$table where$param and$partition
分析模板:select$column,sum($selectField)$output from$table where$param and$partition group by$column
例子中,分析模板相比于计算模板,只多出了$column这个下钻分析参数占位符,并指定了占位符的位置,分别出现在select之后以及groupby之后。
其次,用户选择下钻分析维度,系统会自动分析出,实例入参中,用户所选择的下钻维度中所使用的参数,并找到该下钻参数在下钻分组中下一层的下钻列。下钻分组采用了链表的数据结构进行存储。由于链表天然就存在级联的特性,用来存储级联关系的下钻数据元素列,十分合适。分析下钻列时,首先查询该指标所关联的数据源的下钻配置中用户指定的下钻分组,遍历下钻分组,从链表头结点开始,判断当前查询参数中的参数,是否匹配当前遍历的链表节点,若匹配当前节点,则下钻列为当前节点的下一节点,若不匹配,则遍历下一节点;若遍历结束,实例入参中仍没有匹配到链表节点,则表示下钻列即为该分组的链表的头结点;若刚好匹配链表的尾结点,则表示当前指标已经不支持再次下钻。
本说明书一些实施例中,若基于所述下钻参数的业务指标数据未分析出异常原因,则将所述下一个下钻参数作为当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,将所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第二层下钻参数的指标查询语句;
利用所述第二层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第二层下钻参数的业务指标数据进行分析,确定出异常原因;
若未分析出异常原因,则判断所述下一个下钻列是否为最后一层下钻参数,若不是,则将所述下一个下钻参数作为当前下钻参数,获取第三层下钻参数的指标查询语句,直至分析出异常原因或到达最后一层下钻参数。
在具体的实施过程中,如图6所示,可以基于确定出下钻分组对下钻分组中的各个下钻参数即下钻列进行遍历,依次将各层下钻参数替换分析模板中的下钻分析参数,依次生成各层下钻参数对应的查询语句,以对各层下钻参数对应的指标数据进行分析,直至确定出异常原因或者遍历至最后一层下钻参数。
下面举例说明:
查询SQL:select sum(trd_cnt)totalGdp from gdp where province=‘浙江’and dt=‘20201201’
上述例子中,用户觉得2020年12月1日的浙江省gdp指标数据异常,想对此进行分析,下钻分析纬度为区域,系统会进行如下处理流程:
查询数据源gdp中,区域下钻分组,下钻分组为:reigon->province->city->district->town
分析当前查询指标中所用的参数在下钻分组的位置,当前查询参数为province,找到下钻分组中,下一个下钻参数,为city。根据分析模板和分析出的下一层下钻参数,用其替换掉分析模板中的下钻分析参数占位符,拼接最终分析SQL。
分析模板中,分析参数占位符为$column,用之前分析出的city进行替换,拼接最终的分析SQL,如下:
select city,sum(trd_cnt)totalGdp from gdp where province=‘浙江’anddt=‘20201201’group by city
分析查询会返回2020年12月1日,浙江省下各城市的gdp数量,用户可以由此分析出,当天浙江省gdp数据异常具体是由哪个城市或哪几个城市的数据异常引起的,甚至可以在接着对城市再次进行下钻分析,从而最终分析出导致当天数据异常的真正原因。
本说明书实施例基于之前建立的完整的指标模型,在查询指标数据的同时,能够对该指标数据的产生进行追踪,分析该指标数据下层数据的构成情况,以便于指标数据异常时,问题的定位等。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方法实施例的部分说明即可。
基于上述所述的业务数据处理方法,本说明书一个或多个实施例还提供一种用于业务数据处理的装置。所述装置可以包括使用了本说明书实施例所述方法的装置(包括分布式系统)、软件(应用)、模块、插件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图7是本说明书提供的业务数据处理装置一个实施例的模块结构示意图,如图7所示,该装置可以包括:
查询请求接收模块71,用于接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
计算模块匹配模块72,用于基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
查询语句生成模块73,用于基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
指标查询模块74,用于利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
本说明书实施例将平台管理的范围延伸到数据源层面,对数据源、数据元素等数据资产进行分类管理,为后续一系列模型的建立以及指标数据分析奠定了基础。以指标配置和指标计算模板为桥梁,通过上述各模型的排列组合,能够自由的组合出各式各样海量的指标,解决了企业海量指标数据难以统一管理的问题。在指标构建的基础上,向上层业务提供方便的指标元数据服务、指标查询服务,为上层屏蔽了底层数据的各种细节,提供了标准、统一的指标数据服务。通过建立一套完整的从数据源到指标的模型,对企业的数据资产进行管理、沉淀,在此基础上,提供了指标查询的功能,解决了企业海量指标数据下,难以统一管理,以及指标数据异常情况下需要人工进行分析排查的问题。
本说明书一些实施例中,所述装置还包括指标配置模块用于:
在接收所述业务指标数据查询请求之前,配置各个业务指标的数据源信息、配置数据源中数据元素的标签以及参数模板;所述参数模板中包括数据元素列以及各个数据元素列之间的逻辑关系;
基于配置好的所述数据源信息、所述数据元素的标签以及所述参数模板配置各个业务指标的指标计算模板;
配置所述指标计算模板中填充占位符对应的参数配置信息,获得所述指标配置信息;
将配置好的数据源信息、参数模板以及所述指标计算模板作为所述指标配置信息。
本说明书一些实施例中,所述指标计算模板中还包括分析模板,所述分析模板为所述计算模板中添加下钻分析参数生成,所述数据源信息中包括数据元素对应的下钻分组,所述装置还包括异常分析模块用于:
在确定查询到的业务指标数据异常时,确定所述待查询业务指标的指标参数的下钻分组;
确定出所述待查询业务指标在所述下钻分组的当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,用所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第一层下钻参数的指标查询语句;
利用所述第一层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第一层下钻参数的业务指标数据进行分析,确定出异常原因。
本说明书实施例建立了一套完整的指标模型,包括:数据源、数据元素、标签、参数模板、计算模板、口径、指标配置、指标等。以指标配置和计算模板为桥梁,通过上述各模型的排列组合,能够自由的组合出各式各样海量的指标,解决了企业海量指标数据难以统一管理的问题。在上述指标构建的基础上,向上层业务提供方便的指标元数据服务、指标查询、指标分析服务,为上层屏蔽了底层数据的各种细节,提供了标准、统一的指标数据服务。基于之前建立的完整的指标模型,在查询指标数据的同时,能够对该指标数据的产生进行追踪,分析该指标数据下层数据的构成情况,以便于指标数据异常时,问题的定位等。
需要说明的,上述所述的装置根据对应方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种业务数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的业务数据处理方法,所述方法包括:
接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
本说明书一些实施例中,还提供了一种业务数据处理系统,所述业务数据处理系统包括:指标配置组件,用于配置各个业务指标的指标配置信息,所述指标配置信息中包括数据源信息、指标计算模板;
指标查询组件,用于基于指标查询请求以及指标配置信息生成指标查询语句,并根据生成的指标查询语句查询对应的业务指标数据;
指标分析组件,用于在确定查询到的业务指标数据异常时,基于待查询业务指标的指标参数的下钻分组对所述下钻分组中各个元素进行指标查询,并基于查询结果分析异常原因。
需要说明的,上述所述的设备或系统根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的业务数据处理装置、设备,也可以应用在多种数据分析处理系统中。所述系统或服务器或终端或设备可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例系统或服务器或终端或设备的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图8是本说明书一个实施例中业务数据处理服务器的硬件结构框图,该计算机终端可以是上述实施例中的业务数据处理服务器或业务数据处理装置。如图8所示服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的非易失性存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图8中所示更多或者更少的插件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图8所示不同的配置。
非易失性存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的业务数据处理方法对应的程序指令/模块,处理器100通过运行存储在非易失性存储器200内的软件程序以及模块,从而执行各种功能应用以及资源数据更新。非易失性存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,非易失性存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果,如:
接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述业务数据处理方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
为了描述的方便,描述以上平台、终端时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或插件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (12)
1.一种业务数据处理方法,所述方法包括:
接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
2.如权利要求1所述的方法,所述指标配置信息的配置方法包括:
在接收所述业务指标数据查询请求之前,配置各个业务指标的数据源信息、配置数据源中数据元素的标签以及参数模板;所述参数模板中包括数据元素列以及各个数据元素列之间的逻辑关系;
基于配置好的所述数据源信息、所述数据元素的标签以及所述参数模板配置各个业务指标的指标计算模板;
配置所述指标计算模板中填充占位符对应的参数配置信息;
将配置好的数据源信息、参数模板以及所述指标计算模板作为所述指标配置信息。
3.如权利要求2所述的方法,所述配置各个业务指标的数据源信息,包括:
配置各个业务指标的数据源的基本信息,所述基本信息中包括数据源连接信息;
基于所述数据源连接信息自动阀拉取数据源下的数据元素基本信息;所述数据元素基本信息中包括数据元素的分析类型,所述分析类型中包括级联关系型数据;
对于级联关系型数据配置各个数据元素的下钻分组,所述下钻分组中包括各个数据元素之间的级联关系。
4.如权利要求2所述的方法,配置好指标配置信息后,所述方法还包括:
基于所述指标计算模板输入对应的测试参数,进行业务指标测试,获得测试查询结果;
将所述测试查询结果与真实查询结果进行比较,若所述测试查询结果与所述真实查询结果一致,则将所述指标配置信息进行上线。
5.如权利要求1所述的方法,所述指标计算模板中的待填充占位符包括下述至少一种:入参配置、计算项配置、输出配置、数据源配置、参数配置、标签配置、日期分区配置、分组配置、排序配置、条数配置。
6.如权利要求3所述的方法,所述指标计算模板中还包括分析模板,所述分析模板为所述计算模板中添加下钻分析参数生成,所述方法还包括:
在确定查询到的业务指标数据异常时,确定所述待查询业务指标的指标参数的下钻分组;
确定出所述待查询业务指标在所述下钻分组的当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,用所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第一层下钻参数的指标查询语句;
利用所述第一层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第一层下钻参数的业务指标数据进行分析,确定出异常原因。
7.如权利要求6所述的方法,若基于所述下钻参数的业务指标数据未分析出异常原因,则将所述下一个下钻参数作为当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,将所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第二层下钻参数的指标查询语句;
利用所述第二层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第二层下钻参数的业务指标数据进行分析,确定出异常原因;
若未分析出异常原因,则判断所述下一个下钻列是否为最后一层下钻参数,若不是,则将所述下一个下钻参数作为当前下钻参数,获取第三层下钻参数的指标查询语句,直至分析出异常原因或到达最后一层下钻参数。
8.一种业务数据处理装置,所述装置包括:
查询请求接收模块,用于接收业务指标数据查询请求,所述业务指标数据查询请求中包括待查询业务指标的指标标识、所述待查询业务指标的筛选条件、所述待查询业务指标的指标参数;
计算模块匹配模块,用于基于所述待查询业务指标的指标标识以及预先配置的指标配置信息,确定出所述待查询业务指标对应的指标计算模板,其中,所述指标计算模板中包括待填充占位符,所述待填充占位符包括指标的配置参数,所述指标计算模板用于表征业务指标的计算方式;
查询语句生成模块,用于基于所述待查询业务指标对应的指标计算模板、筛选条件以及指标参数,将所述指标计算模板的待填充占位符替换为对应的填充参数,以使得所述指标计算模板生成对应的指标查询语句;
指标查询模块,用于利用所述指标查询语句查询所述业务指标数据查询请求对应的业务指标数据。
9.如权利要求8所述的装置,所述装置还包括指标配置模块用于:
在接收所述业务指标数据查询请求之前,配置各个业务指标的数据源信息、配置数据源中数据元素的标签以及参数模板;所述参数模板中包括数据元素列以及各个数据元素列之间的逻辑关系;
基于配置好的所述数据源信息、所述数据元素的标签以及所述参数模板配置各个业务指标的指标计算模板;
配置所述指标计算模板中填充占位符对应的参数配置信息,获得所述指标配置信息;
将配置好的数据源信息、参数模板以及所述指标计算模板作为所述指标配置信息。
10.如权利要求8所述的装置,所述指标计算模板中还包括分析模板,所述分析模板为所述计算模板中添加下钻分析参数生成,所述数据源信息中包括数据元素对应的下钻分组,所述装置还包括异常分析模块用于:
在确定查询到的业务指标数据异常时,确定所述待查询业务指标的指标参数的下钻分组;
确定出所述待查询业务指标在所述下钻分组的当前下钻参数;
获取所述下钻分组中所述当前下钻列的下一个下钻参数,用所述下一个下钻参数替换所述分析模板中的下钻分析参数,生成第一层下钻参数的指标查询语句;
利用所述第一层下钻参数的指标查询语句查询所述下钻参数的业务指标数据,对所述第一层下钻参数的业务指标数据进行分析,确定出异常原因。
11.一种业务数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-7任一项所述的方法。
12.一种业务数据处理系统,包括:
指标配置组件,用于配置各个业务指标的指标配置信息,所述指标配置信息中包括数据源信息、指标计算模板;
指标查询组件,用于基于指标查询请求以及指标配置信息生成指标查询语句,并根据生成的指标查询语句查询对应的业务指标数据;
指标分析组件,用于在确定查询到的业务指标数据异常时,基于待查询业务指标的指标参数的下钻分组对所述下钻分组中各个元素进行指标查询,并基于查询结果分析异常原因。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665328.5A CN113535804A (zh) | 2021-06-16 | 2021-06-16 | 业务数据处理方法、装置、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665328.5A CN113535804A (zh) | 2021-06-16 | 2021-06-16 | 业务数据处理方法、装置、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535804A true CN113535804A (zh) | 2021-10-22 |
Family
ID=78096044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110665328.5A Pending CN113535804A (zh) | 2021-06-16 | 2021-06-16 | 业务数据处理方法、装置、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535804A (zh) |
-
2021
- 2021-06-16 CN CN202110665328.5A patent/CN113535804A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924402B2 (en) | Generating a test workload for a database | |
US10725981B1 (en) | Analyzing big data | |
CN110019397B (zh) | 用于进行数据处理的方法及装置 | |
US20200334293A1 (en) | Computation platform agnostic data classification workflows | |
US20180007145A1 (en) | Graphically managing data classification workflows in a social networking system with directed graphs | |
CN103473672A (zh) | 企业级数据中心的元数据质量稽核系统、方法及平台 | |
US11599539B2 (en) | Column lineage and metadata propagation | |
Ivanov et al. | Big data benchmark compendium | |
CN110019116B (zh) | 数据追溯方法、装置、数据处理设备及计算机存储介质 | |
US11615076B2 (en) | Monolith database to distributed database transformation | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
Lehmann et al. | Managing Geospatial Linked Data in the GeoKnow Project. | |
US11775517B2 (en) | Query content-based data generation | |
Fosić et al. | Graph database approach for data storing, presentation and manipulation | |
Lee et al. | Hands-On Big Data Modeling: Effective database design techniques for data architects and business intelligence professionals | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
US11238077B2 (en) | Auto derivation of summary data using machine learning | |
CN114168565B (zh) | 业务规则模型的回溯测试方法、装置、系统及决策引擎 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN113535804A (zh) | 业务数据处理方法、装置、设备及系统 | |
CN111723129B (zh) | 报表生成方法、报表生成装置和电子设备 | |
Varadharajulu et al. | Spatial data supply chains | |
US11657050B1 (en) | Data reconciliation for big data environments | |
Diván et al. | Articulating heterogeneous data streams with the attribute-relation file format | |
US20240086495A1 (en) | Auto-Triage Failures In A/B Testing |
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 |