CN113010521A - 异地交易业务的处理方法及装置、计算机可读存储介质 - Google Patents
异地交易业务的处理方法及装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113010521A CN113010521A CN202110292952.5A CN202110292952A CN113010521A CN 113010521 A CN113010521 A CN 113010521A CN 202110292952 A CN202110292952 A CN 202110292952A CN 113010521 A CN113010521 A CN 113010521A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- query
- preset
- target data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 title claims abstract description 28
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 238000013515 script Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 239000002131 composite material Substances 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000005457 optimization Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 10
- 150000001875 compounds Chemical class 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
- 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
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种异地交易业务的处理方法及装置、计算机可读存储介质。其中,该处理方法包括:获取异地交易数据表,之后分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度,若执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中,进而按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件,最后通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。本发明解决了相关技术中拆分本异地数据时,数据拆分较慢,数据操作效率低的技术问题。
Description
技术领域
本发明涉及信息处理技术领域,具体而言,涉及一种异地交易业务的处理方法及装置、计算机可读存储介质。
背景技术
当前,银保监会要求EAST报送数据交流流向及相关信息的完整性,所以各省在进行EAST数据上报时,需要将异地交易进行信息补全。例如:客户在A省开卡,在B省交易,那么就需要将客户在B省交易信息同步到A省EAST报送数据交易信息中,并且B省EAST报表数据中也要体现A省客户信息表中的客户信息。补全各省的异地交易信息、客户信息以及机构信息的相关内容就是异地交易业务所要完成的内容。
相关技术中,处理异地交易业务的现有做法为:1,先跑总行数据;2,在拆分省份数据脚本中直接进行拆分补全工作。其中,在加工客户表时关联交易,账户,机构等10多张报表得出一个异地交易表,在拆分时关联此表进行区分。然而,这种做法存在明显的弊端,例如,本异地SQL数据查询任务执行慢以及SQL优化维护困难的问题,并且异地拆分交易以固化脚本为主要的解决方案,脚本必须开发人员定期维护,不但人员成本高,而且维护结果不确定性较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种异地交易业务的处理方法及装置、计算机可读存储介质,以至少解决相关技术中拆分本异地数据时,数据拆分较慢,数据操作效率低的技术问题。
根据本发明实施例的一个方面,提供了一种异地交易业务的处理方法,包括:获取异地交易数据表;分析在对所述异地交易数据表进行数据查询时,每个数据查询任务的执行速度;若所述执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件;通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
可选地,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,包括:按照所述预设索引规则,确定所述目标数据表中的主键数据列,并对所述主键数据列添加索引条件;和/或,按照所述预设索引规则,确定所述目标数据表中的外键数据列,并对所述外键数据列添加索引条件。
可选地,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:获取所述目标数据表中每个数据列的历史查询次数,并对所述历史查询次数大于第一预设次数阈值的数据列添加索引条件;和/或,获取所述目标数据表中每个数据列的查询范围,并对查询范围在指定范围内的数据列添加索引条件。
可选地,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:获取所述目标数据表中每个数据列使用在预设查询语句的总次数,并对使用在预设查询语句的总次数大于第二预设次数阈值的数据列添加索引条件;和/或,获取所述目标数据表中出现在预设查询关键字后的每个字段的出现总次数,并对字段的出现总次数大于第二预设次数阈值的字段添加索引条件。
可选地,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:分析所述目标数据表中出现在执行条件之后的字段所对应的索引类型;若所述索引类型为复合索引,按照字段在执行条件中出现的频度建立索引。
可选地,在获取异地交易数据表之前,所述处理方法还包括:将历史查询语言的结构封装为目标数据结构;若接收到新脚本需求,则将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中;若接收到新查询任务,判断所述新查询任务对应的查询语言是否与历史查询语言相同;若相同,则从所述目标数据结构的语言中读取与所述历史查询语言相同的数据。
可选地,在将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中之后,所述处理方法还包括:对所述目标数据结构进行非空校验和/或正确性校验,其中,所述非空校验用于校验所述目标数据结构中的键值是否为空,所述正确性校验用于校验查询语言的执行条件是否正确。
可选地,通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的全部交易数据的步骤,包括:若所述属性标识是以预设字符开头,则确定当前业务流程为异地交易业务,并对异地交易业务数据进行拆分,以得到每个地区的全部交易数据;若所述属性标识不是以预设字符开头,则确定当前业务流程为正常流程业务,无需进行异地交易业务数据拆分。
根据本发明实施例的另一方面,还提供了一种异地交易业务的处理装置,包括:获取单元,用于获取异地交易数据表;分析单元,用于分析在对所述异地交易数据表进行数据查询时,每个数据查询任务的执行速度;存放单元,用于当所述执行速度低于预设速度阈值时,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;添加单元,用于按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件;拆分单元,用于通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
可选地,所述添加单元包括:第一确定模块,用于按照所述预设索引规则,确定所述目标数据表中的主键数据列,并对所述主键数据列添加索引条件;和/或,第二确定模块,用于按照所述预设索引规则,确定所述目标数据表中的外键数据列,并对所述外键数据列添加索引条件。
可选地,所述添加单元还包括:第一获取模块,用于获取所述目标数据表中每个数据列的历史查询次数,并对所述历史查询次数大于第一预设次数阈值的数据列添加索引条件;和/或,第二获取模块,用于获取所述目标数据表中每个数据列的查询范围,并对查询范围在指定范围内的数据列添加索引条件。
可选地,所述添加单元还包括:第三获取模块,用于获取所述目标数据表中每个数据列使用在预设查询语句的总次数,并对使用在预设查询语句的总次数大于第二预设次数阈值的数据列添加索引条件;和/或,第四获取模块,用于获取所述目标数据表中出现在预设查询关键字后的每个字段的出现总次数,并对字段的出现总次数大于第二预设次数阈值的字段添加索引条件。
可选地,所述添加单元还包括:第一分析模块,用于分析所述目标数据表中出现在执行条件之后的字段所对应的索引类型;第一建立模块,用于当所述索引类型为复合索引时,按照字段在执行条件中出现的频度建立索引。
可选地,所述处理装置还包括:第一封装模块,用于在获取异地交易数据表之前,将历史查询语言的结构封装为目标数据结构;第一缓存模块,用于当接收到新脚本需求时,将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中;第一判断模块,用于当接收到新查询任务,判断所述新查询任务对应的查询语言是否与历史查询语言相同;第一读取模块,用于在相同时,从所述目标数据结构的语言中读取与所述历史查询语言相同的数据。
可选地,所述处理装置还包括:第一校验模块,用于在将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中之后,对所述目标数据结构进行非空校验和/或正确性校验,其中,所述非空校验用于校验所述目标数据结构中的键值是否为空,所述正确性校验用于校验查询语言的执行条件是否正确。
可选地,所述拆分单元包括:第三确定模块,用于当所述属性标识是以预设字符开头时,确定当前业务流程为异地交易业务,并对异地交易业务数据进行拆分,以得到每个地区的全部交易数据;第四确定模块,用于当所述属性标识不是以预设字符开头时,确定当前业务流程为正常流程业务,无需进行异地交易业务数据拆分。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序在被处理器执行时控制所述计算机可读存储介质所在设备执行上述的异地交易业务的处理方法。
在本发明实施例中,可以获取异地交易数据表,之后分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度,若执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中,进而按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件,最后通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。在该实施例中,通过将异地拆分交易进行流程规则化、业务规范化设计,实现异地交易高度自动化报送,大大提高了数据操作的效率,而且维护低成本,维护结果有效且准确,进而解决了相关技术中拆分本异地数据时,数据拆分较慢,数据操作效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的异地交易业务的处理方法的流程图;
图2是根据本发明实施例的另一种可选的基于SQL调优技术的规则组装引擎流程的示意图;
图3是根据本发明实施例的一种可选的异地交易业务的处理装置的示意图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
EAST,是Examination and Analysis System Technology的缩写,是一种具有自主知识产权的检查分析系统,旨在顺应大数据发展趋势需求,并帮助监管部门提高检查效能。系统包含银行标准化数据提取、现场检查项目管理、数据模型生成工具、数据模型发布与管理等功能模块。
PG,数据库(PostgreSQL)是一个功能强大的开源对象关系型数据库系统,使用和扩展了SQL语言,并结合了许多安全存储以及扩展了最复杂数据工作负载的功能。
MAP数据结构是一种字典数据结构,是用来存储不重复key的结构,是键-值对的集合。
本发明下述各实施例涉及到上报EAST数据时对异地交易业务的数据进行快速处理,处理过程中涉及到的数据库包括但不限:PG数据库、SQL数据库等,通过异地拆分交易业务的自动化报送,进一步地,本发明还可以通过SQL调优规则引擎,解决现有技术中配置项的复杂度太高,以及对于开发或者是用户限制多的问题。
下面结合各实施例对本发明进行详细说明。
实施例一
根据本发明实施例,提供了一种异地交易业务的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的异地交易业务的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取异地交易数据表;
步骤S104,分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度;
步骤S106,若执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;
步骤S108,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件;
步骤S110,通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
通过上述步骤,可以获取异地交易数据表,之后分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度,若执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中,进而按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件,最后通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。在该实施例中,通过将异地拆分交易进行流程规则化、业务规范化设计,实现异地交易高度自动化报送,大大提高了数据操作的效率,而且维护低成本,维护结果有效且准确,进而解决了相关技术中拆分本异地数据时,数据拆分较慢,数据操作效率低的技术问题。
下面结合上述各实施步骤对本发明实施例进行详细说明。
步骤S102,获取异地交易数据表。
在本实施例中,异地交易数据表是关联交易信息、客户账户信息、机构信息等多张报表得出来的,其中交易信息包括但不限于:购买实体物品(例如,食物、衣服、玩具、首饰等)、购买虚拟物品(例如,基金、股票等)、与他人之间相互转账,进行存取款等,客户账户信息包括但不限于:姓名、年龄、手机号、身份证号、卡号、卡的种类、卡的年限、卡的等级等,机构信息包括但不限于:开卡行号、地址、电话、经营信息、与该卡发生交易的其他机构信息等。
可选的,在获取异地交易数据表之前,处理方法还包括:将历史查询语言的结构封装为目标数据结构;若接收到新脚本需求,则将新脚本需求中的待加载脚本缓存至目标数据结构中;若接收到新查询任务,判断新查询任务对应的查询语言是否与历史查询语言相同;若相同,则从目标数据结构的语言中读取与历史查询语言相同的数据。
在本实施例中,可以将历史查询语言的结构封装为目标数据结构,历史查询语言的结构包括但不限于:现有的SQL规则等,目标数据结构包括但不限于:MAP数据结构等可以表现为字典形式的数据结构。在本发明实施例中,可以将对象按照表名英文名称_字段名英文名称_脚本类型_脚本序号方式作为MAP的KEY,SQL规则作为MAP的VALUE值,每次加载新的脚本都会缓存到MAP中,下次再查询相同的规则即可从缓存中直接获取,减少操作数据库的次数,用空间换取时间的原则,提升效率。
可选的,在将新脚本需求中的待加载脚本缓存至目标数据结构中之后,处理方法还包括:对目标数据结构进行非空校验和/或正确性校验,其中,非空校验用于校验目标数据结构中的键值是否为空,正确性校验用于校验查询语言的执行条件是否正确。
在本实施例中,非空校验只需检验目标数据结构(比如,MAP)中的VALUE值不为空即可。而查询语言的正确性校验,可以通过在存储过程中编写一段预执行的脚本进行校验,例如:
最终,通过返回的@result变量的结果即可做出相应的判断。
步骤S104,分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度。
步骤S106,若执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中。
本实施例中,可以定时抽取数据查询任务中所有的执行速度慢的查询语言,将其存放到预设数据库中的慢查询语言的目标数据表(例如,实时表和历史表)中,以方便对优化结果做对比。
步骤S108,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件。
本实施例中,优化慢查询语言的方式可以为自动添加索引:根据获得的慢查询语言进行分析,对慢查询语言的执行条件添加索引执行,之后再删除索引,这样既提高了查询的效率,又不会影响数据库的写操作。
可选的,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件的步骤,包括:按照预设索引规则,确定目标数据表中的主键数据列,并对主键数据列添加索引条件;和/或,按照预设索引规则,确定目标数据表中的外键数据列,并对外键数据列添加索引条件。
本实施例中,对定义主键的数据列建立索引,以及对定义有外键的数据列建立索引,对于经常查询的数据列也可以建立索引。
可选的,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件的步骤,还包括:获取目标数据表中每个数据列的历史查询次数,并对历史查询次数大于第一预设次数阈值的数据列添加索引条件;和/或,获取目标数据表中每个数据列的查询范围,并对查询范围在指定范围内的数据列添加索引条件。
另一种可选的,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件的步骤,还包括:获取目标数据表中每个数据列使用在预设查询语句的总次数,并对使用在预设查询语句的总次数大于第二预设次数阈值的数据列添加索引条件;和/或,获取目标数据表中出现在预设查询关键字后的每个字段的出现总次数,并对字段的出现总次数大于第二预设次数阈值的字段添加索引条件。
本实施例中,预设查询关键字包括但不限于:order by、group by、distinct等。
可选的,按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件的步骤,还包括:分析目标数据表中出现在执行条件之后的字段所对应的索引类型;若索引类型为复合索引,按照字段在执行条件中出现的频度建立索引。
本实施例中,在复合索引中,可以先记录按照第一个字段排序,对于在第一个字段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。
步骤S110,通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
可选的,通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的全部交易数据的步骤,包括:若属性标识是以预设字符开头,则确定当前业务流程为异地交易业务,并对异地交易业务数据进行拆分,以得到每个地区的全部交易数据;若属性标识不是以预设字符开头,则确定当前业务流程为正常流程业务,无需进行异地交易业务数据拆分。
以SQL规则作为查询语言为例,通过SQL规则对应的属性ID进行异地交易业务拆分,若SQL规则生成的ID是以小写字母A开头,那么判断要组装的SQL为需要拆分的异地交易业务,否则视为正常流程业务,无需进行异地交易业务拆分。
本实施例中,查询语言对应的属性标识进行异地交易业务数据拆分的方法具有高扩展性和通用性,之后如果有别的业务加入到异地拆分业务中,也同样适用。该方法对业务判断的条件作了规避,通过继承抽象方法,即可扩展新的业务,并且自动识别业务类型,在配置文件中配置新的要新增的业务,可以通过继承抽象类实现它的抽象方法,将新实现的业务类型注入到service中,可以用name的方式注入,name=配置文件中的属性值,本方法用到的设计模式是:模板设计模式+策略设计模式。
图2是根据本发明实施例的另一种可选的基于SQL调优技术的规则组装引擎流程的示意图,如图2所示,该引擎流程主要包含前期基础数据准备、SQL规则获取封装、SQL规则校验、SQL规则调优、SQL规则组装五部分。
第一部分:前期基础数据准备
SQL规则数据入库,也就是将作为查询条件的SQL结构导入到PG数据库,为后续步骤做准备。
第二部分:SQL规则获取封装
将现有的SQL规则封装成MAP数据结构,然后将对象按照表名英文名称_字段名英文名称_脚本类型_脚本序号方式作为MAP的KEY,SQL规则作为MAP的VALUE值,每次加载新的脚本都会缓存到MAP中,下次再查询相同的规则即可从缓存中直接获取,减少操作数据库的次数,用空间换取时间的原则,提升效率。
第三部分:SQL规则校验
包括非空校验、SQL语法的正确性校验。
第四部分:SQL规则自动化调优
因为数据库执行SQL过程中,会发现很多SQL执行速度很慢,然后需要人工去数据库中挨个查询,手动优化,这种方式效率低下,影响开发人员和数据库的工作效率以及业务对接。本实施例可以通过以下方式进行自动调优:
1、优化数据准备
定时抽取任务中所有的慢SQL存放到数据库慢SQL实时表和历史表中,方便对优化结果做对比。
2、对执行的慢SQL优化
优化慢SQL方式可以为自动添加索引:根据数据准备中的慢SQL,进行分析对慢SQL的执行条件添加索引执行,之后在删除索引,既提高了查询的效率,又不会影响数据库的写操作。本实施例可以根据以下原则建立索引:1),定义主键的数据列一定要建立索引;2),定义有外键的数据列一定要建立索引;3),对于经常查询的数据列最好建立索引;4),对于需要在指定范围内的快速或频繁查询的数据列;5),经常用在WHERE子句中的数据列;6),经常出现在关键字order by、group by、distinct后面的字段,建立索引,但如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用;7),对于那些查询中很少涉及的列,重复值比较多的列不要建立索引;8),对于定义为text、image和bit的数据类型的列不要建立索引;9),对于经常存取的列避免建立索引;10),限制表上的索引数目。对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个,索引虽说提高了访问速度,但太多索引会影响数据的更新操作;11),对复合索引,按照字段在查询条件中出现的频度建立索引。在复合索引中,记录首先按照第一个字段排序。对于在第一个字段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。
本实施例中,可以自动优化和提示索引失效的问题:SQL中用到<>、not in、notexists、!=、like“%aaa”、列名的函数计算,隐式转换等操作,会时查询SQL所在条件的列对应的索引起不到作用,例如:SQL中如果使用<>不等于符号进行匹配,系统会在字典表中查询对应的字段进行匹配优化为在某个范围内,或者是精确的=某个确定的值,维护索引的有效性,否则,系统会自动将问题存入到SQL问题表中,在大量SQL的优化过程中,减少了SQL优化的排查动作,将精力放在SQL本身的优化工作中,效率也大大提升。
本实施例中,可以自动提示SQL多次自动优化慢的问题:慢SQL历史表的作用就是为了更好的了解哪些慢SQL多次出现,对于这些顽固的慢SQL可以集中精力解决。
第五部分:SQL规则组装
SQL规则组装通过SQL规则对应的属性ID进行异地交易业务拆分,若SQL规则生成的ID是以小写字母A开头,那么判断要组装的SQL为需要拆分的异地交易业务,否则视为正常流程业务,无需进行异地交易业务拆分。
对于现有的异地拆分交易解决方案中使用已固化脚本为主的解决方案,会使脚本必须由开发人员定期维护,在问题赘述,可维护性上比较差,并且对开发人员要求高,其需知道业务流程,对SQL优化有很高造诣,从而使人员成本较高,维护结果根据人员水平不确定性较高。
在本实施例中以异地拆分交易进行流程规则化、业务规范化为前提,进行设计创新,对业务流程界面配置化以及性能优化封装自动配置,从而减少人为造成的损失。本实施例的主要特点是维护低成本、高有效性、准确度性,减少人工从而支撑现有业务自动化。
下面结合另一种可选的实施例来说明本发明。
实施例二
本发明实施例提出异地交易业务的处理装置,该处理装置中包含的各个实施单元对应于上述实施例一中的各个实施步骤。
图3是根据本发明实施例的一种可选的异地交易业务的处理装置的示意图,如图3所示,该异地交易业务的处理装置包括:获取单元30,分析单元32,存放单元34,添加单元36,拆分单元38,其中,
获取单元30,用于获取异地交易数据表;
分析单元32,用于分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度;
存放单元34,用于当执行速度低于预设速度阈值时,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;
添加单元36,用于按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件;
拆分单元38,用于通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
上述异地交易业务的处理装置,可以通过获取单元30获取异地交易数据表,之后通过分析单元32分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度,若执行速度低于预设速度阈值,则通过存放单元34将数据查询任务对应的查询语言存放至预设数据库的目标数据表中,进而按照预设索引规则,通过添加单元36对目标数据表中查询语言的执行条件添加索引条件,最后通过拆分单元38对添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。在该实施例中,通过将异地拆分交易进行流程规则化、业务规范化设计,实现异地交易高度自动化报送,大大提高了数据操作的效率,而且维护低成本,维护结果有效且准确,进而解决了相关技术中拆分本异地数据时,数据拆分较慢,数据操作效率低的技术问题。
可选地,添加单元包括:第一确定模块,用于按照预设索引规则,确定目标数据表中的主键数据列,并对主键数据列添加索引条件;和/或,第二确定模块,用于按照预设索引规则,确定目标数据表中的外键数据列,并对外键数据列添加索引条件。
可选地,添加单元还包括:第一获取模块,用于获取目标数据表中每个数据列的历史查询次数,并对历史查询次数大于第一预设次数阈值的数据列添加索引条件;和/或,第二获取模块,用于获取目标数据表中每个数据列的查询范围,并对查询范围在指定范围内的数据列添加索引条件。
可选地,添加单元还包括:第三获取模块,用于获取目标数据表中每个数据列使用在预设查询语句的总次数,并对使用在预设查询语句的总次数大于第二预设次数阈值的数据列添加索引条件;和/或,第四获取模块,用于获取目标数据表中出现在预设查询关键字后的每个字段的出现总次数,并对字段的出现总次数大于第二预设次数阈值的字段添加索引条件。
可选地,添加单元还包括:第一分析模块,用于分析目标数据表中出现在执行条件之后的字段所对应的索引类型;第一建立模块,用于当索引类型为复合索引时,按照字段在执行条件中出现的频度建立索引。
可选地,处理装置还包括:第一封装模块,用于在获取异地交易数据表之前,将历史查询语言的结构封装为目标数据结构;第一缓存模块,用于当接收到新脚本需求时,将新脚本需求中的待加载脚本缓存至目标数据结构中;第一判断模块,用于当接收到新查询任务,判断新查询任务对应的查询语言是否与历史查询语言相同;第一读取模块,用于若相同时,从目标数据结构的语言中读取与历史查询语言相同的数据。
可选地,处理装置还包括:第一校验模块,用于在将新脚本需求中的待加载脚本缓存至目标数据结构中之后,对目标数据结构进行非空校验和/或正确性校验,其中,非空校验用于校验目标数据结构中的键值是否为空,正确性校验用于校验查询语言的执行条件是否正确。
可选地,拆分单元包括:第三确定模块,用于当属性标识是以预设字符开头时,确定当前业务流程为异地交易业务,并对异地交易业务数据进行拆分,以得到每个地区的全部交易数据;第四确定模块,用于当属性标识不是以预设字符开头时,确定当前业务流程为正常流程业务,无需进行异地交易业务数据拆分。
上述的处理装置还可以包括处理器和存储器,上述获取单元30,分析单元32,存放单元34,添加单元36,拆分单元38等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件,最后对添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,存储介质用于存储计算机程序,其中,计算机程序在被处理器执行时控制计算机可读存储介质所在设备执行上述的异地交易业务的处理方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取异地交易数据表,之后分析在对异地交易数据表进行数据查询时,每个数据查询任务的执行速度,进而按照预设索引规则,对目标数据表中查询语言的执行条件添加索引条件,最后对添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种异地交易业务的处理方法,其特征在于,包括:
获取异地交易数据表;
分析在对所述异地交易数据表进行数据查询时,每个数据查询任务的执行速度;
若所述执行速度低于预设速度阈值,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;
按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件;
通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
2.根据权利要求1所述的处理方法,其特征在于,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,包括:
按照所述预设索引规则,确定所述目标数据表中的主键数据列,并对所述主键数据列添加索引条件;和/或,
按照所述预设索引规则,确定所述目标数据表中的外键数据列,并对所述外键数据列添加索引条件。
3.根据权利要求2所述的处理方法,其特征在于,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:
获取所述目标数据表中每个数据列的历史查询次数,并对所述历史查询次数大于第一预设次数阈值的数据列添加索引条件;和/或,
获取所述目标数据表中每个数据列的查询范围,并对查询范围在指定范围内的数据列添加索引条件。
4.根据权利要求3所述的处理方法,其特征在于,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:
获取所述目标数据表中每个数据列使用在预设查询语句的总次数,并对使用在预设查询语句的总次数大于第二预设次数阈值的数据列添加索引条件;和/或,
获取所述目标数据表中出现在预设查询关键字后的每个字段的出现总次数,并对字段的出现总次数大于第二预设次数阈值的字段添加索引条件。
5.根据权利要求4所述的处理方法,其特征在于,按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件的步骤,还包括:
分析所述目标数据表中出现在执行条件之后的字段所对应的索引类型;
若所述索引类型为复合索引,按照字段在执行条件中出现的频度建立索引。
6.根据权利要求1所述的处理方法,其特征在于,在获取异地交易数据表之前,所述处理方法还包括:
将历史查询语言的结构封装为目标数据结构;
若接收到新脚本需求,则将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中;
若接收到新查询任务,判断所述新查询任务对应的查询语言是否与历史查询语言相同;
若相同,则从所述目标数据结构的语言中读取与所述历史查询语言相同的数据。
7.根据权利要求6所述的处理方法,其特征在于,在将所述新脚本需求中的待加载脚本缓存至所述目标数据结构中之后,所述处理方法还包括:
对所述目标数据结构进行非空校验和/或正确性校验,其中,所述非空校验用于校验所述目标数据结构中的键值是否为空,所述正确性校验用于校验查询语言的执行条件是否正确。
8.根据权利要求1所述的处理方法,其特征在于,通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的全部交易数据的步骤,包括:
若所述属性标识是以预设字符开头,则确定当前业务流程为异地交易业务,并对异地交易业务数据进行拆分,以得到每个地区的全部交易数据;
若所述属性标识不是以预设字符开头,则确定当前业务流程为正常流程业务,无需进行异地交易业务数据拆分。
9.一种异地交易业务的处理装置,其特征在于,包括:
获取单元,用于获取异地交易数据表;
分析单元,用于分析在对所述异地交易数据表进行数据查询时,每个数据查询任务的执行速度;
存放单元,用于当所述执行速度低于预设速度阈值时,则将数据查询任务对应的查询语言存放至预设数据库的目标数据表中;
添加单元,用于按照预设索引规则,对所述目标数据表中所述查询语言的执行条件添加索引条件;
拆分单元,用于通过添加索引条件后的查询语言对应的属性标识进行异地交易业务数据拆分,以得到每个地区的交易数据。
10.一种计算机可读存储介质,其特征在于,所述存储介质用于存储计算机程序,其中,所述计算机程序在被处理器执行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的异地交易业务的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292952.5A CN113010521B (zh) | 2021-03-18 | 2021-03-18 | 异地交易业务的处理方法及装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292952.5A CN113010521B (zh) | 2021-03-18 | 2021-03-18 | 异地交易业务的处理方法及装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010521A true CN113010521A (zh) | 2021-06-22 |
CN113010521B CN113010521B (zh) | 2024-10-08 |
Family
ID=76402662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110292952.5A Active CN113010521B (zh) | 2021-03-18 | 2021-03-18 | 异地交易业务的处理方法及装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010521B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218037A1 (en) * | 2017-01-31 | 2018-08-02 | Splunk Inc. | Using an inverted index in a pipelined search query to determine a set of event data that is further limited by filtering and/or processing of subsequent query pipestages |
CN109254966A (zh) * | 2018-08-23 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表查询方法、装置、计算机设备及存储介质 |
CN110019349A (zh) * | 2019-04-02 | 2019-07-16 | 深圳前海微众银行股份有限公司 | 语句预警方法、装置、设备及计算机可读存储介质 |
CN111046040A (zh) * | 2019-11-26 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 确定索引的方法、装置、电子设备及存储介质 |
CN111339371A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据处理方法及装置 |
-
2021
- 2021-03-18 CN CN202110292952.5A patent/CN113010521B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218037A1 (en) * | 2017-01-31 | 2018-08-02 | Splunk Inc. | Using an inverted index in a pipelined search query to determine a set of event data that is further limited by filtering and/or processing of subsequent query pipestages |
CN109254966A (zh) * | 2018-08-23 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表查询方法、装置、计算机设备及存储介质 |
CN111339371A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据处理方法及装置 |
CN110019349A (zh) * | 2019-04-02 | 2019-07-16 | 深圳前海微众银行股份有限公司 | 语句预警方法、装置、设备及计算机可读存储介质 |
CN111046040A (zh) * | 2019-11-26 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 确定索引的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113010521B (zh) | 2024-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199366B (zh) | 数据表处理方法、装置及设备 | |
CN111553137B (zh) | 报告生成方法、装置、存储介质及计算机设备 | |
CN108647357B (zh) | 数据查询的方法及装置 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
US11868330B2 (en) | Method for indexing data in storage engine and related apparatus | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN102073640A (zh) | Sql语句的检测方法、系统及服务器 | |
CN112651218A (zh) | 一种标书自动生成方法、管理方法、介质以及计算机 | |
CN110909126A (zh) | 一种信息查询方法及装置 | |
US10339035B2 (en) | Test DB data generation apparatus | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN112328805A (zh) | 基于nlp的漏洞描述信息与数据库表的实体映射方法 | |
US11328005B2 (en) | Machine learning (ML) based expansion of a data set | |
CN111177181A (zh) | Sql文本审核方法、系统、存储介质及装置 | |
CN110580170B (zh) | 软件性能风险的识别方法及装置 | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
CN113010521B (zh) | 异地交易业务的处理方法及装置、计算机可读存储介质 | |
CN109558303B (zh) | 一种应用行为分析方法、装置及电子设备 | |
CN112507002B (zh) | 一种数据图表生成系统、方法、计算机装置和存储介质 | |
US20240220876A1 (en) | Artificial intelligence (ai) based data product provisioning | |
CN111930545B (zh) | Sql脚本处理方法、装置和服务器 | |
CN108304430B (zh) | 一种修改数据库的方法 | |
Tonon et al. | SHREC: a SRE Behaviour Knowledge Graph Model for Shell Command Recommendations | |
CN115062047A (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 |