CN112860680B - 数据处理方法及系统、数据查询方法及系统 - Google Patents
数据处理方法及系统、数据查询方法及系统 Download PDFInfo
- Publication number
- CN112860680B CN112860680B CN202110291367.3A CN202110291367A CN112860680B CN 112860680 B CN112860680 B CN 112860680B CN 202110291367 A CN202110291367 A CN 202110291367A CN 112860680 B CN112860680 B CN 112860680B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- service
- locking
- processed
- 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
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/2453—Query optimisation
-
- 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/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据处理方法及系统,还公开一种数据查询方法及系统,其中数据处理方法包括以下步骤:配置查询维度、业务标识以及所述查询维度和所述业务标识的映射数据;获取包含业务标识的业务数据,并基于所述映射数据将所述业务数据作为相应查询维度的待处理数据;基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库后解锁所述加锁数据。本发明通过基于查询维度所对应的唯一标识进行加锁,保证避免数据处理过程中发生主键冲突,适用于待处理数据的种类繁多且各类数据之间关系复杂的场景。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于查询维度进行整合和存储的数据处理技术。
背景技术
数据处理过程中往往采用锁机制避免冲突,锁具有多种粒度,如表级锁、行级锁,粒度越小锁的开销越大,并发能力越强,当待处理数据的数据量较大时,往往采用细粒度的锁(行级)提高性能。
现今业务系统(记为源业务系统)往往按照业务类别将数据分类存储于相应的数据库(记为源数据库)中,各类数据的数据量大且关联关系复杂,即使采用细粒度的行级锁,仍无法避免数据处理的过程中出现冲突。
发明内容
本发明针对待处理数据的种类繁多且各类数据之间关系复杂时,即使基于细粒度锁进行数据处理仍会出现冲突的问题,提出一种基于唯一标识对待处理数据加锁的数据处理技术,还提出一种基于该数据处理技术所实现的数据查询技术。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种数据处理方法,包括以下步骤:
配置查询维度、业务标识以及所述查询维度和所述业务标识的映射数据;
获取包含业务标识的业务数据,并基于所述映射数据将所述业务数据作为相应查询维度的待处理数据;
基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;
基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库后解锁所述加锁数据。
作为一种可实施方式:
基于查询维度提取待处理数据的唯一标识,将所述唯一标识于预设的锁列表中进行检索,获得检索结果;
当检索到所述唯一标识时,则将所述待处理数据作为等待数据;
当未检索到所述唯一标识时,则为所述待处理数据加锁,获得加锁数据,并将所述唯一标识添加至所述锁列表中。
作为一种可实施方式:
当将所得整合数据存储至目标数据库后,基于唯一标识检索与所述加锁数据相关联的等待数据,并为相应的加锁数据解锁;
当检索到与所述加锁数据相关联的等待数据,则为所述等待数据加锁,获得新的加锁数据;
当未检索到与所述加锁数据相关联的等待数据,则于锁列表中删除所述加锁数据所对应的唯一标识。
作为一种可实施方式:映射数据包括第一映射数据和第二映射数据;
所述第一映射数据包括相映射的查询维度和主题列表,所述主题列表包括至少一个业务主题;
所述第二映射数据包括相映射的业务主题和标识列表,所述标识列表包括至少一个业务标识。
作为一种可实施方式:
获得包含业务标识的业务数据;
基于所述业务标识从所述第二映射数据中提取与所述业务数据相匹配的业务主题;
基于业务主题从所述第一映射数据中提取与所述业务数据相映射的查询维度,将所述业务数据作为所述查询维度的待处理数据。
本发明还提出一种数据处理系统,包括依次信号相连的第一处理模块、第二处理模块和目标数据库;
所述第一处理模块,用于获取包含业务标识的业务数据;
所述第二处理模块,用于基于预设的映射数据将所述业务数据作为相应查询维度的待处理数据;还用于基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;还用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库后解锁所述加锁数据;
所述目标数据库,用于基于查询维度存储所述整合数据。
作为一种可实施方式,所述第二处理模块包括与查询维度一一对应的处理单元,所述处理单元分别与所述第一处理模块和所述目标数据库信号相连;
所述处理单元包括传输子单元、提取子单元、加锁子单元和处理子单元;
所述传输子单元和所述第一处理模块信号相连,用于基于查询维度从所述第一处理模块处获取相对应的业务数据作为待处理数据;
所述提取子单元和所述传输子单元信号相连,用于基于查询维度提取所述待处理数据的唯一标识;
所述加锁子单元与所述提取子单元信号相连,用于基于唯一标识判断待处理数据与加锁数据是否关联;当判定关联时,将所述待处理数据作为等待数据,待相关联的加锁数据解锁后为所述等待数据加锁;当判定不关联时,为所述待处理数据加锁;
所述处理子单元分别与所述提取子单元、所述加锁子单元和所述目标数据库信号相连,用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库,还用于为所述加锁数据解锁。
作为一种可实施方式,第一处理模块包括依次相连的订阅单元、清洗单元和发布单元,其中发布单元与各传输子单元信号相连;
所述订阅单元,用于从外部的源数据库处获取原始数据;
所述清洗单元,用于对所述原始数据进行清洗,获得包含业务标识的业务数据,还用于基于预设的映射数据获取与所述业务标识相映射的业务主题;
所述发布单元,用于基于业务主题发布所述业务数据;
所述传输子单元,用于基于业务主题获取与其查询维度相对应的业务数据,将所得业务数据作为待处理数据。
本发明还提出一种数据查询方法,包括以下步骤:
获取查询请求,基于所述查询请求于上述任意一项所述的数据处理系统中的目标数据库进行查询,获得并反馈查询结果。
本发明还提出一种数据查询系统,包括查询子系统和存储子系统;
所述查询子系统与所述存储子系统信号相连,用于获取查询请求,并基于所述查询请求于所述存储子系统中进行查询,生成并反馈相应的查询结果;
所述存储子系统为上述任意一项所述的数据处理系统,其用于按照预设的查询维度整合并存储数据。
本发明由于采用了以上技术方案,具有显著的技术效果:
1、本发明通过对业务数据按照查询维度进行处理后储存,使得后续对数据进行查询的过程中,可根据查询维度于目标数据库中进行单表查询即可直接获得查询结果,有效提升检索速度。
2、本发明通过基于查询维度所对应的唯一标识进行加锁,保证避免数据处理过程中发生主键冲突,适用于待处理数据的种类繁多且各类数据之间关系复杂的场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一种数据处理方法的流程示意图;
图2是实施例2中数据处理系统的模块连接示意图;
图3是图2中第一处理模块100的模块连接示意图;
图4是图2中第二处理模块的模块连接示意图;
图5是本发明一种数据查询系统的模块连接示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例1、一种数据处理方法,用于在源业务系统600将所产生的数据按照业务类别写入源数据库400后,将源数据库400中的数据基于查询维度进行汇总整合,并将所得的整合数据存储至目标数据库300中,以便于为后续查询过程提供数据支持。
上述将源数据中的数据基于查询维度进行汇总整合,并将所得的整合数据存储至目标数据库300中的步骤如图1所示,包括以下步骤:
S100、配置查询维度、业务标识以及所述查询维度和所述业务标识的映射数据;
本领域技术人员可根据实际需要对上述数据进行配置;
例如在加油站领域中,查询维度包括订单维度、优惠券维度和油站维度,业务标识可与源数据库400中业务类别相对应,由技术人员根据实际情况建立所述查询维度和所述业务标识的映射关系。
S200、基于源数据库400获取包含业务标识的业务数据,并基于所述映射数据将所述业务数据作为相应查询维度的待处理数据;
S300、基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;
唯一标识在对应的查询维度具有唯一性,如订单维度所对应的唯一标识为订单号;
S400、基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库300后解锁所述加锁数据。
现有加锁机制为,对待处理数据进行哈希计算,获得相对应的哈希值,基于哈希值对待处理数据进行加锁;
但以订单维度为例,在用户确定订单后,会生成包含订单号的订单信息、积分变动信息和支付渠道信息等,即,同一订单不同维度的数据,其相隔时间极短;当基于订单维度进行数据处理时,由于上述信息的内容互不相同,故所生成的哈希值互不相同,当订单信息被加锁处理的同时,积分变动信息也可能被加锁处理,此时两个处理线程均无法从目标数据库300中查询到对应订单号,故均将于目标数据库300中新增数据行以记录该订单号所对应的整合数据,从而导致处理异常,反而会出现处理流程堵塞,影响数据处理的效率。
本实施例中基于查询维度所对应的唯一标识进行加锁,对受保护的资源进行精细化管理,保证目标数据库300中所存储数据的完整性和唯一性,如订单维度下一订单信息加锁后,与该订单信息相关联的其他信息将进入等待状态,以避免关联的信息并发处理时导致的错误数据,如目标数据库300中订单维度下同一订单号对应两条数据,一条仅包含积分变动信息对应的整合数据,另一条仅包含订单信息对应的整合数据,或由于数据冲突导致部分整合数据丢失。
步骤S300中为待处理数据加锁的具体步骤为:
S310、基于查询维度提取待处理数据的唯一标识,将所述唯一标识于预设的锁列表中进行检索,获得检索结果;
所述锁列表用于保存加锁数据的唯一标识;
S320、当检索到所述唯一标识时,则将所述待处理数据作为等待数据;
当所述待处理数据的唯一标识已存在于锁列表时,说明待处理数据为加锁数据的关联数据,为避免出现主键冲突的问题(如目标数据库300中订单维度下数据表的主键为订单号),将待处理数据作为等待数据。
S330、当未检索到所述唯一标识时,则为所述待处理数据加锁,获得加锁数据,并将所述唯一标识添加至所述锁列表中。
在实际应用过程中,可根据现有加锁技术基于唯一标识为待处理数据加锁,本实施例不对其进行具体限定。
步骤S400中为加锁数据解锁的具体步骤为:
S410、当将所得整合数据存储至目标数据库300后,基于唯一标识检索与所述加锁数据相关联的等待数据,并为相应的加锁数据解锁;
S420、当检索到与所述加锁数据相关联的等待数据,则为所述等待数据加锁,获得新的加锁数据;
在实际使用中,按照时间顺序选择相关联的等待数据进行加锁。
S430、当未检索到与所述加锁数据相关联的等待数据,则于锁列表中删除所述加锁数据所对应的唯一标识。
以订单维度为例,该维度所对应的唯一标识为订单号,当一加锁数据处理完成后,检索是否存在同一订单号的等待数据,如存在,基于订单号并按照时间从先到后的顺序选择一等待数据进行加锁,如不存在,则从锁列表中删除该订单号。
步骤S400中基于查询维度对所述加锁数据进行处理的具体步骤为:
基于查询维度提取预设的数据处理规则,基于所述数据处理规则对所述加锁数据进行处理,获得相应的整合数据并储存。
本领域技术人员可根据实际情况预先为各查询维度设置相对应的数据处理规则,如统计、数据整合和计算,令响应查询请求时,可直接从目标数据库300中提取相应的查询结果,无需在查询过程中进行复杂的运算。
进一步地,步骤S100中所述的映射数据包括第一映射数据和第二映射数据;
所述第一映射数据包括相映射的查询维度和主题列表,所述主题列表包括至少一个业务主题;
所述第二映射数据包括相映射的业务主题和标识列表,所述标识列表包括至少一个业务标识。
当业务标识的数量较少时,可直接令查询维度与业务标识相映射,但在实际使用过程中,业务标识的数量较多,且业务标识将随着业务或用户需求的变更而变化,当查询维度与业务标识直接映射时,不便于后续对映射关系的管理与维护;如加油站为增加用户粘性,增加会员制度,业务标识将新增等级和积分,查询维度将新增会员维度;此时需为涉及等级和积分的查询维度(如订单维度)新增映射关系,还需为会员维度新增映射关系,工作量大,配置效率低。
本实施例通过业务主题对业务标识进行分组,针对新增的业务标识等级与积分,仅需将其添加至相应业务主题的标识列表中,针对新增的会员维度,仅将其与相应的主题列表相映射即可,由此可见,本实施例通过对第一映射数据和第二映射数据的设计能够便于映射关系的维护。
进一步地,步骤S200中,获取包含业务标识的业务数据基于所述映射数据将所述业务数据作为相应查询维度的待处理数据的具体步骤为:
S210、获得包含业务标识的业务数据,具体步骤为:
监听源数据库400的BinLog日志,获取源数据库400发生更新的数据,获得原始数据;
对所述原始数据进行预处理,获得包含业务标识的业务数据;
本领域技术人员可根据实际需要自行设置预处理方式,本实施例基于原始数据获取其所在表的表名,将所述表名作为业务标识,并对所得原始数据进行格式转换和清洗,从而获得相应的业务数据。
S220、基于所述业务标识从所述第二映射数据中提取与所述业务数据相匹配的业务主题;
S230、基于业务主题从所述第一映射数据中提取与所述业务数据相映射的查询维度,将所述业务数据作为所述查询维度的待处理数据。
一条业务数据可作为多个查询维度下的待处理数据,如用户的积分所对应的业务数据,其将在订单维度下被整合,以体现某一订单下用户的积分变动,还将在会员维度下被整合,以体现用户的积分变化情况以及当前剩余积分。
以订单维度为例,基于业务标识和映射数据获取订单、积分、等级、用户和支付渠道等业务标识的业务数据进行汇总整合,将所得整合数据发送至目标数据库300,存储于订单维度对应的宽表中,从而将源数据库400的多表数据转换为单表数据;
本实施例通过对源数据库400中数据进行处理后储存,使得后续对数据进行查询的过程中,可根据实际需要在源数据库400进行单表查询或在目标数据库300中进行单表查询,有效提升检索速度。
实施例2、一种数据处理系统,用于实现实施例1所述的数据处理方法,如图2所示,其包括依次信号相连的第一处理模块100、第二处理模块和目标数据库300,其中第一处理模块100还与外部的源数据库400信号相连;
所述第一处理模块100,用于基于外部的源数据库400获取包含业务标识的业务数据;
所述第二处理模块,用于基于预设的映射数据将所述业务数据作为相应查询维度的待处理数据;还用于基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;还用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库300后解锁所述加锁数据;
所述目标数据库300,用于基于查询维度存储所述整合数据,即,所述目标数据库300中存储有若干张宽表,所述宽表与所述查询维度一一对应。
本实施例通过对第二处理模块的设计,有效避免因对待处理数据的并发处理导致将所得整合数据写入目标数据库300时出现主键冲突的问题。
本实施例通过对第一处理模块100和第二处理模块的设计,基于查询维度对源数据库400中的数据进行处理及整合,从而将源数据库400中的多表数据(源数据库400与查询维度相对应的若干张数据表)转换为单表数据(目标数据库300与查询维度相对应的宽表),以便于后续对数据进行查询。
参照图3,上述第一处理模块100包括依次相连的订阅单元110、清洗单元120和发布单元130,其中订阅单元110与外部的源数据库400信号相连,发布单元130与第二处理模块信号相连;
所述订阅单元110,用于从外部的源数据库400处获取原始数据;
所述清洗单元120,用于对所述原始数据进行清洗,获得包含业务标识的业务数据,还用于基于预设的映射数据获取与所述业务标识相映射的业务主题;
所述发布单元130,用于基于业务主题发布所述业务数据;
本实施例中由订阅单元110通过MQ订阅源数据库400的BinLog日志,获得原始数据;由清洗单元120基于预设的清洗规则对所述原始数据进行格式转换(以匹配传输格式,如本实施例将原始数据转换为json UTF8编码的格式)和清洗,获得包含业务标识的业务数据,且所述清洗单元120基于业务标识按照预设的映射数据确定各业务数据所对应的业务主题,由发布单元130通过MQ按业务主题发布各业务数据,具体为:
①、订阅单元110基于外部的源数据库400获取原始数据,具体步骤为:
本实施例中处理单元200通过MQ(消息队列)订阅源数据库400的BinLog日志,当源数据库400中数据发生更新时,处理单元200订阅获得更新的数据作为原始数据,例如可采用现有已公开的阿里云订阅服务(kafka)。
本实施例通过订阅源数据库400的BinLog日志的方式获取原始数据,不会对源业务系统600和源数据库400造成影响,其与源数据库400的耦合度低,可与不同数据存储方式的源数据库400进行对接,如MySql、Oracle、ElasticSearch、ClickHouse等,可扩展性强。
在实际使用过程中,可根据实际需要与一个或多个源数据库400对接,基于实施例1所提供的数据处理方法进行数据整合及存储。
②、清洗单元120根据预设的数据清洗规则对所得原始数据进行清洗后,获取获得包含业务标识的业务数据;
数据清洗规则对所得原始数据格式转换及清洗,获得包含业务标识的业务数据。
本领域技术人员可根据实际需要自行设定数据清洗规则。
本实施例中基于阿里云订阅服务订阅获得的原始数据为sql语句,其包含表名,本实施例中将该表名转换为业务标识。
③、发布单元130基于业务主题发布所述业务数据;
预先建立与业务主题一一对应的消息队列,发布单元130根据各业务数据的业务标识,将各业务数据发布到对应业务主题的消息队列中。
即,将所得业务数据发布至相应业务主题所对应的消息队列,第二处理模块基于查询维度分别订阅相对应的业务主题即可。
上述第二处理模块包括与查询维度一一对应的处理单元200,所述处理单元200分别与发布单元130和所述目标数据库300信号相连;
参照图4,所述处理单元200包括传输子单元210、提取子单元220、加锁子单元230和处理子单元240;
所述传输子单元210和所述发布单元130信号相连,用于基于业务主题获取与其查询维度相对应的业务数据,将所得业务数据作为待处理数据,即,用于按照实施例1中第一映射数据获取与其相对应的主题列表,还用于按照所述主题列表中的业务主题进行消息订阅,获得订阅所得的业务数据。
所述提取子单元220和所述传输子单元210信号相连,用于基于查询维度提取所述待处理数据的唯一标识;
所述加锁子单元230与所述提取子单元220信号相连,用于基于唯一标识判断待处理数据与加锁数据是否关联;当判定关联时,将所述待处理数据作为等待数据,待相关联的加锁数据解锁后为所述等待数据加锁;当判定不关联时,为所述待处理数据加锁;
所述处理子单元240分别与所述提取子单元220、所述加锁子单元230和所述目标数据库300信号相连,用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库300,还用于为所述加锁数据解锁。
本实施例所公开的数据处理系统应用于加油站时,数据处理系统的工作内容具体为:
1、数据配置:
基于上述源数据库400中所保存的数据表类别配置业务标识,如源数据库400中存储订单表(加油订单)、用户表、油站表、班次表、充值表、积分表、等级表(会员等级)和卡表(用户卡),配置与各数据表的表名一一对应的业务标识;
基于数据查询需求配置查询维度,本案例中查询维度包括订单维度、会员维度、优惠券维度和油站维度;
基于查询维度配置与其相对应的唯一标识。
对业务标识进行分组,各组业务主题不同,为各查询维度配置与其相映射的业务主题。
为清洗单元120配置数据清洗规则;
为发布单元130配置消息发布的主题(业务主题);
为各传输子单元210配置其消息订阅的主题(业务主题);
为各处理子单元240配置相应的数据处理规则。
于目标数据库300中构建与查询维度一一对应的宽表,包括订单宽表、会员宽表、劵宽表和油站宽表;
订单宽表中将每一笔加油订单及其关联数据(如油站信息、油品信息、支付信息和用户信息)进行整合,便于快速查询订单详情。
会员宽表中将基于会员数据,将各会员的关联数据(加油订单、充值订单、积分信息和等级信息)进行整合,用于维护会员数据,便于快速查询会员的实时变更,以及各会员的消费记录、会员等级及会员积分等关联数据。
劵宽表中用于提供劵的详细信息,如每张优惠券情况和来源途径。
油站宽表的用于提供油站的详细关联信息,如油站的地理位置以及相对应的商户信息。
2、数据分发:
订阅单元110通过订阅源数据库400的binLog日志,并由清洗单元120提取binLog日志中记录的insert和update语句,且按照所述数据清洗规则进行清洗后,获得相应的业务数据;
发布单元130按照业务数据所对应的业务主题,将该业务数据发布至与所述业务主题相对应的消息队列中。
3、数据处理:
传输子单元210从所订阅的消息队列中获取消息,获得相应的待处理数据;
获取待处理数据的唯一标识,判断所述唯一标识是否在相应的锁列表中;
当所述唯一标识在锁列表中,则将所述待处理数据作为等待数据;
当所述唯一标识不在锁列表中,则为所述待处理数据加锁,获得加锁数据,并将所述唯一标识添加至所述锁列表中。
基于预设的数据处理规则处理所述加锁数据,获得相应的整合数据并保存至目标数据库300中,即,将所得整合数据写入目标数据库300中相应的宽表中存储,如处理单元200对应的查询维度为订单维度,以订单ID作为唯一主键于目标数据库300的订单宽表中新增一数据行,并根据订单宽表的字段(技术人员自行配置)将所订阅数据进行相应处理后写入该数据行进行存储。
为所述加锁数据解锁,并按时间顺序(从先到后)搜索具有所述唯一标识的等待数据;
当检索到具有所述唯一标识的等待数据,则为所述等待数据加锁,获得新的加锁数据;
当为检索到具有所述唯一标识的等待数据,则从锁列表中删除该唯一标识;
实施例3、一种数据查询方法,包括以下步骤:获取查询请求,基于所述查询请求于实施例2所述的数据处理系统中的目标数据库300进行查询,获得并反馈查询结果。
上述查询请求特指需要对从源数据库400至少两个数据表中抽取数据和/或需要对所抽取的数据进行运算的复杂查询请求。
由于目标数据库300中存储的数据为与查询维度相对应的宽表,故基于查询请求可直接从对应宽表中提取相应数据作为查询结果,查询效率高。
实施例4、一种数据查询系统,用于执行实施例4所述的数据查询方法,如图5所示,其包括查询子系统500和存储子系统;
所述查询子系统500与所述存储子系统信号相连,用于获取查询请求,并基于所述查询请求于所述存储子系统中进行查询,生成并反馈相应的查询结果;
所述存储子系统为实施例2所述的数据处理系统,其用于按照预设的查询维度整合并存储数据。
本实施例中查询子系统500基于目标数据库300进行数据查询,其查询结果为第一处理模块100和第二处理模块对原始数据加工后的结果,大大减少了查询子系统500在查询过程中的运算量,有效提高查询速度,且查询子系统500与源业务系统600相分离,查询业务不会影响源业务系统600的核心业务(如加油、充值等)。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是:
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (8)
1.一种数据处理方法,其特征在于,用于在源业务系将所产生的数据按照业务类别写入源数据库后,将源数据中的数据基于查询维度进行汇总整合,并将所得的整合数据存储至目标数据库中;
其中,将源数据中的数据基于查询维度进行汇总整合,并将所得的整合数据存储至目标数据库中的步骤,包括以下步骤:
配置查询维度、业务标识以及所述查询维度和所述业务标识的映射数据;
获取包含业务标识的业务数据,并基于所述映射数据将所述业务数据作为相应查询维度的待处理数据,即,基于所述映射数据,令业务数据作为至少一个查询维度下的待处理数据;
基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据,其中,唯一标识在对应的查询维度具有唯一性;基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库后解锁所述加锁数据;
其中,基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁的具体步骤为:基于查询维度提取待处理数据的唯一标识,将所述唯一标识于预设的锁列表中进行检索,获得检索结果;
当检索到所述唯一标识时,则将所述待处理数据作为等待数据;
当未检索到所述唯一标识时,则为所述待处理数据加锁,获得加锁数据,并将所述唯一标识添加至所述锁列表中。
2.根据权利要求1所述的数据处理方法,其特征在于:
当将所得整合数据存储至目标数据库后,基于唯一标识检索与所述加锁数据相关联的等待数据,并为相应的加锁数据解锁;
当检索到与所述加锁数据相关联的等待数据,则为所述等待数据加锁,获得新的加锁数据;
当未检索到与所述加锁数据相关联的等待数据,则于锁列表中删除所述加锁数据所对应的唯一标识。
3.根据权利要求1或2任一所述的数据处理方法,其特征在于:映射数据包括第一映射数据和第二映射数据;
所述第一映射数据包括相映射的查询维度和主题列表,所述主题列表包括至少一个业务主题;
所述第二映射数据包括相映射的业务主题和标识列表,所述标识列表包括至少一个业务标识。
4.根据权利要求3所述的数据处理方法,其特征在于:
获得包含业务标识的业务数据;
基于所述业务标识从所述第二映射数据中提取与所述业务数据相匹配的业务主题;
基于业务主题从所述第一映射数据中提取与所述业务数据相映射的查询维度,将所述业务数据作为所述查询维度的待处理数据。
5.一种数据处理系统,其特征在于,用于在源业务系统将所产生的数据按照业务类别写入源数据库后,将源数据库中的数据基于查询维度进行汇总整合,并将所得的整合数据存储至目标数据库中,包括依次信号相连的第一处理模块、第二处理模块和目标数据库;
所述第一处理模块,用于获取包含业务标识的业务数据;
所述第二处理模块,用于基于预设的映射数据将所述业务数据作为相应查询维度的待处理数据;还用于基于查询维度提取各待处理数据的唯一标识,并基于所述唯一标识为相应的待处理数据加锁,获得加锁数据;还用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库后解锁所述加锁数据;
所述目标数据库,用于基于查询维度存储所述整合数据;
其中,所述第二处理模块包括与查询维度一一对应的处理单元,所述处理单元分别与所述第一处理模块和所述目标数据库信号相连;
所述处理单元包括传输子单元、提取子单元、加锁子单元和处理子单元;
所述传输子单元和所述第一处理模块信号相连,用于基于查询维度从所述第一处理模块处获取相对应的业务数据作为待处理数据;
所述提取子单元和所述传输子单元信号相连,用于基于查询维度提取所述待处理数据的唯一标识;
所述加锁子单元与所述提取子单元信号相连,用于基于唯一标识判断待处理数据与加锁数据是否关联;当判定关联时,将所述待处理数据作为等待数据,待相关联的加锁数据解锁后为所述等待数据加锁;当判定不关联时,为所述待处理数据加锁;
所述处理子单元分别与所述提取子单元、所述加锁子单元和所述目标数据库信号相连,用于基于查询维度对所述加锁数据进行处理,获得相应的整合数据并将其存储至目标数据库,还用于为所述加锁数据解锁。
6.根据权利要求5所述的数据处理系统,其特征在于,第一处理模块包括依次相连的订阅单元、清洗单元和发布单元,其中发布单元与各传输子单元信号相连;
所述订阅单元,用于从外部的源数据库处获取原始数据;
所述清洗单元,用于对所述原始数据进行清洗,获得包含业务标识的业务数据,还用于基于预设的映射数据获取与所述业务标识相映射的业务主题;
所述发布单元,用于基于业务主题发布所述业务数据;
所述传输子单元,用于基于业务主题获取与其查询维度相对应的业务数据,将所得业务数据作为待处理数据。
7.一种数据查询方法,其特征在于包括以下步骤:
获取查询请求,基于所述查询请求于权利要求5或6所述的数据处理系统中的目标数据库进行查询,获得并反馈查询结果。
8.一种数据查询系统,其特征在于包括查询子系统和存储子系统;
所述查询子系统与所述存储子系统信号相连,用于获取查询请求,并基于所述查询请求于所述存储子系统中进行查询,生成并反馈相应的查询结果;
所述存储子系统为权利要求5或6任意一项所述的数据处理系统,其用于按照预设的查询维度整合并存储数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291367.3A CN112860680B (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法及系统、数据查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291367.3A CN112860680B (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法及系统、数据查询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860680A CN112860680A (zh) | 2021-05-28 |
CN112860680B true CN112860680B (zh) | 2022-07-29 |
Family
ID=75993405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110291367.3A Active CN112860680B (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法及系统、数据查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860680B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579590A (zh) * | 2022-03-02 | 2022-06-03 | 苏州酷乐信息科技有限公司 | 一种多源数据处理方法、装置、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622079A (zh) * | 2017-07-28 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 数据存储、查询方法及装置 |
CN109561326A (zh) * | 2017-09-26 | 2019-04-02 | 北京国双科技有限公司 | 一种数据查询方法及装置 |
CN110162527A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务溯源方法、装置以及电子设备 |
CN110716911A (zh) * | 2018-06-26 | 2020-01-21 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737300A (zh) * | 2020-06-23 | 2020-10-02 | 北京同邦卓益科技有限公司 | 业务处理方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-03-18 CN CN202110291367.3A patent/CN112860680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622079A (zh) * | 2017-07-28 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 数据存储、查询方法及装置 |
CN109561326A (zh) * | 2017-09-26 | 2019-04-02 | 北京国双科技有限公司 | 一种数据查询方法及装置 |
CN110716911A (zh) * | 2018-06-26 | 2020-01-21 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN110162527A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务溯源方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112860680A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506621B (zh) | 一种数据统计方法及装置 | |
CN103733195A (zh) | 管理用于基于范围的搜索的数据的存储 | |
CN108875042B (zh) | 一种混合联机分析处理系统及数据查询方法 | |
WO2020135613A1 (zh) | 数据查询处理方法、装置及系统、计算机可读存储介质 | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN106484815B (zh) | 一种基于海量数据类sql检索场景的自动识别优化方法 | |
CN112860680B (zh) | 数据处理方法及系统、数据查询方法及系统 | |
CN108073641B (zh) | 查询数据表的方法和装置 | |
CN114579668A (zh) | 一种数据库数据同步方法 | |
CN114328981A (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
CN100485664C (zh) | 一种多关键字自动状态机查找匹配方法 | |
CN104376014B (zh) | 一种结构化p2p网络中的资源发布及查询方法 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN107291938A (zh) | 订单查询系统及方法 | |
CN110826845B (zh) | 一种多维组合成本分摊装置及方法 | |
CN110689386B (zh) | 一种电子票据开具方法及系统 | |
CN111522918A (zh) | 数据汇聚方法、装置、电子设备及计算机可读存储介质 | |
CN115438032A (zh) | 一种基于云计算的数据检索方法、装置及系统 | |
CN116263770A (zh) | 基于数据库的业务数据存储方法、装置、终端设备及介质 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN112506960A (zh) | 基于ArangoDB引擎的多模型数据存储方法及系统 | |
CN112860711A (zh) | 数据储存方法及系统、数据查询方法及系统 | |
US11106739B2 (en) | Document structures for searching within and across messages | |
CN103020300A (zh) | 一种信息检索方法和设备 | |
CN108536758B (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 |