CN116521686B - 动态数据表处理方法、装置、计算机设备及存储介质 - Google Patents

动态数据表处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116521686B
CN116521686B CN202310580792.3A CN202310580792A CN116521686B CN 116521686 B CN116521686 B CN 116521686B CN 202310580792 A CN202310580792 A CN 202310580792A CN 116521686 B CN116521686 B CN 116521686B
Authority
CN
China
Prior art keywords
target
policy
statement
execution
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.)
Active
Application number
CN202310580792.3A
Other languages
English (en)
Other versions
CN116521686A (zh
Inventor
黄煜祺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meiyun Zhishu Technology Co ltd
Original Assignee
Meiyun Zhishu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Meiyun Zhishu Technology Co ltd filed Critical Meiyun Zhishu Technology Co ltd
Priority to CN202310580792.3A priority Critical patent/CN116521686B/zh
Publication of CN116521686A publication Critical patent/CN116521686A/zh
Application granted granted Critical
Publication of CN116521686B publication Critical patent/CN116521686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种动态数据表处理方法、装置、计算机设备及存储介质。首先,获取从终端发送的包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型的入口参数;其次,根据策略标识在策略执行器池中确定待执行的目标策略执行器;最后,通过目标策略执行器对待处理数据表进行处理,得到目标数据表。上述动态数据表处理方法可以将上层业务系统从繁杂的动态表的操作需求中抽象出来,使上层业务系统基于业务逻辑调用目标策略执行器进行动态数据表的处理,可以降低逻辑复杂度和运维难度,可以更高效地支撑业务的运营。

Description

动态数据表处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种动态数据表处理方法、装置、计算机设备及存储介质。
背景技术
在业务系统多元化的情况下,根据业务的行业特性及定制化要求的不同,会有差异性较大的结构需求。
相关技术中,业务需求方根据不同的业务需求各自实现动态数据表的相关处理操作,并在特殊场景下需要维护人员进入数据库层实现对数据和相关操作的维护。
然而,基于相关技术中的方式会多次重复地执行同一操作,相关业务的运营效率有待提升。
发明内容
本说明书实施方式旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本说明书实施方式提出一种动态数据表处理方法、装置、计算机设备及存储介质。
本说明书实施方式提供一种动态数据表处理方法,所述方法包括:
获取终端发送的入口参数;其中,所述入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、所述数据列对应的数据类型;
根据所述策略标识在策略执行器池中确定待执行的目标策略执行器;其中,所述目标策略执行器预先封装有策略步骤集合;所述策略步骤集合包括第一策略步骤和第二策略步骤;所述第一策略步骤的执行顺序早于所述第二策略步骤的执行顺序;
通过所述目标策略执行器对待处理数据表进行处理,得到目标数据表;其中,在所述第一策略步骤中,根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表;在所述第二策略步骤中,根据所述目标源标识调用适用于所述目标数据源的目标语句构造器;通过所述目标语句构造器生成用于拉取所述待处理数据表所需数据的目标执行语句;并根据所述目标执行语句在所述目标数据源中进行语句执行操作,得到语句执行结果;根据所述语句执行结果对所述待处理数据表进行处理,得到目标数据表。
在其中一个实施方式,所述目标语句构造器为结构语句构造器;所述结构语句构造器包括默认结构语句构造器和扩展结构语句构造器;所述目标执行语句的生成方式,包括:
在维护动态表结构的情况下,根据所述入口参数确定所述动态表的元数据信息;
将所述元数据信息传入所述默认结构语句构造器进行语句拼装,得到第一执行语句;
根据所述目标源标识对应的数据库类型在所述扩展结构语句构造器中确定目标结构语句构造器;
将所述第一执行语句传入至所述目标结构语句构造器,并执行结构语句权限检查,得到所述目标执行语句。
在其中一个实施方式,所述目标语句构造器为查询语句构造器;所述查询语句构造器包括默认查询语句构造器和扩展查询语句构造器;所述目标执行语句的生成方式,包括:
在聚合查询的情况下,根据所述入口参数确定所述聚合查询所需的查询用参数;
将所述查询用参数传入所述默认查询语句构造器进行语句拼装,得到第二执行语句;
根据所述目标源标识对应的数据库类型在所述扩展查询语句构造器中确定目标查询语句构造器;
将所述第二执行语句传入至所述目标查询语句构造器,得到所述目标执行语句。
在其中一个实施方式,所述目标策略执行器预先配置有前置判断逻辑器;所述方法还包括:
在所述目标策略执行器开始执行任一策略步骤前,通过所述前置判断逻辑器判断所述任一策略步骤的预设执行条件是否满足,根据判断结果决定是否执行所述任一策略步骤。
在其中一个实施方式,所述策略步骤集合包括有隔离步骤;所述方法还包括:
在当前策略步骤对应的目标执行语句完成执行后,若根据所述语句执行结果判定语句执行异常,确定所述当前策略步骤对应的事务模式;
若所述当前策略步骤对应的事务模式为步骤隔离模式,根据所述步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。
在其中一个实施方式,所述根据所述策略标识在策略执行器池中确定待执行的目标策略执行器,包括:
若所述入口参数通过校验,根据所述策略标识在所述策略执行器池中确定与所述策略标识对应的通用策略执行器或者自定义策略执行器,以作为所述待执行的目标策略执行器;其中,所述通用策略执行器预先封装有通用策略步骤集合,所述自定义策略执行器预先封装有自定义策略步骤集合。
在其中一个实施方式,所述根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表,包括:
若确定所述待处理数据表不存在,则根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型生成所述待处理数据表。
在其中一个实施方式,所述方法还包括:
在所述目标策略执行器的执行过程中,记录所述入口参数、所述语句执行结果、策略步骤执行情况作为审计指标。
在其中一个实施方式,所述根据所述策略标识在策略执行器池中确定待执行的目标策略执行器,包括:
根据所述策略标识在本地缓存的策略执行器池中进行查找,确定所述目标策略执行器。
本说明书实施方式提供一种动态数据表处理装置,所述装置包括:
参数获取模块,用于获取终端发送的入口参数;其中,所述入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、所述数据列对应的数据类型;
策略执行器确定模块,用于根据所述策略标识在策略执行器池中确定待执行的目标策略执行器;其中,所述目标策略执行器预先封装有策略步骤集合;所述策略步骤集合包括第一策略步骤和第二策略步骤;所述第一策略步骤的执行顺序早于所述第二策略步骤的执行顺序;
目标数据表确定模块,用于通过所述目标策略执行器对待处理数据表进行处理,得到目标数据表;其中,在所述第一策略步骤中,根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表;在所述第二策略步骤中,根据所述目标源标识调用适用于所述目标数据源的目标语句构造器;通过所述目标语句构造器生成用于拉取所述待处理数据表所需数据的目标执行语句;并根据所述目标执行语句在所述目标数据源中进行语句执行操作,得到语句执行结果;根据所述语句执行结果对所述待处理数据表进行处理,得到目标数据表。
本说明书实施方式提供一种计算机设备,所述计算机设备包括:存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述任一项实施方式所述的方法的步骤。
本说明书实施方式提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施方式所述的方法的步骤。
本说明书实施方式提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被计算机设备的处理器执行时,使得所述计算机设备能够执行上述任一项实施方式所述的方法的步骤。
上述说明书实施方式中,首先,获取从终端发送的包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型的入口参数;其次,根据策略标识在策略执行器池中确定待执行的目标策略执行器;最后,通过目标策略执行器对待处理数据表进行处理,得到目标数据表。上述动态数据表处理方法可以将上层业务系统从繁杂的动态表的操作需求中抽象出来,使上层业务系统基于业务逻辑调用目标策略执行器进行动态数据表的处理,可以降低逻辑复杂度和运维难度,可以更高效地支撑业务的运营。
附图说明
图1a为本说明书实施方式提供的动态数据表处理方法的应用场景示意图;
图1b为本说明书一实施方式提供的动态数据表处理方法的流程示意图;
图1c为本说明书另一实施方式提供的动态数据表处理方法的流程示意图;
图1d为本说明书实施方式提供的终端入口逻辑示意图;
图1e为本说明书实施方式提供的采购订单统计策略的示意图;
图1f为本说明书实施方式提供的语句执行器的类图;
图2a为本说明书一实施方式提供的生成目标执行语句的流程示意图;
图2b为本说明书实施方式提供的结构语句构造器的类图;
图2c为本说明书实施方式提供的维护动态表结构的逻辑示意图;
图3a为本说明书另一实施方式提供的生成目标执行语句的流程示意图;
图3b为本说明书实施方式提供的查询语句构造器的类图;
图3c为本说明书实施方式提供的执行查询的逻辑示意图;
图4a为本说明书实施方式提供的前置判断逻辑器的类图;
图4b为本说明书实施方式提供的执行前置判断逻辑器的示意图;
图5a为本说明书实施方式提供的隔离步骤的流程示意图;
图5b为本说明书实施方式提供的事务控制的示意图;
图5c为本说明书实施方式提供的目标策略执行器的示意图;
图6为本说明书又一实施方式提供的动态数据表处理方法的流程示意图;
图7为本说明书实施方式提供的角色关系的示意图;
图8为本说明书实施方式提供的动态数据表处理装置的示意图;
图9为本说明书实施方式提供的计算机设备的内部结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
MySQL是一个最流行的关系型数据库管理系统之一,使用了标准化语言SQL。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,受到广大中小型和大型网站青睐。
Oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
SQL Server是Microsoft公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2012的大型多处理器的服务器等多种平台使用。是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
DB2是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。其描述的模式,必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式。
软件开发工具包SDK一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(European Computer Manufacturers Association,欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
Restful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。Restful适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
cron是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到cron服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。
随着网络的发展,越来越多的行业相继把各种资源信息以数字化的形式存放到数据库中以提高企业生产效率。面对以大数据为背景的信息时代,传统的数据库存储技术由于其本身设计的限制,很难适应大容量、高性能等需求。非关系型数据库虽然为存取大量数据带来了希望,却要依靠复杂的人工部署。企业中各式数据库的使用及不同的部署标准,致使人工部署具有一定的滞后性,可能会造成性能过剩或性能不足,且费时费力、标准难以统一,很难满足企业实际的需要。
在业务系统多元化的情况下,对数据处理、数据应用的需求和系统越来越多,对接动态多数据源需解决数据库语法不一致,驱动动态加载、驱动动态扩展的问题,开发过程复杂且易出错。在当下的项目或业务需求中,会动态生成项目或业务需求各异的表结构,以此为基础,根据指定且特殊的计算逻辑,定时或实时计算出大数据量的结果保存,供下层具有操作特性的功能或报表功能使用。除此之外,根据业务的行业特性及定制化要求的不同,会有差异性较大的结构需求。
因此,如何提高数据库资源利用率、提升数据库性能、方便多类型数据库快速、标准化交付,进一步促进企业内部数据库的高效、统一管理已成为众多企业尤其是金融保险行业急需解决的问题。
相关技术中,业务需求方根据不同的业务需求各自实现动态数据表的相关处理操作,并在特殊场景下需要维护人员进入数据库层实现对数据和相关操作的维护。业务需求方的开发人员在初始设置中指定数据表结的结构,若初始化之后对数据表的结构有增补需求,需要开发人员花费额外的工作量对数据表的结构进行二次更改,并维护与之匹配的数据逻辑。
然而,基于相关技术中的方式会多次重复的执行同一操作,相关业务的运营效率和维护人员的维护效率有待提升。数据表的结构以及数据逻辑的定制化程度非常高,无法将其扩展形成适用于大多数的模板,不能灵活地支持二次开发。若遇到需要维护数据表对应索引的需求场景时,需单开发人员单独维护数据库对应数据表的索引。数据表结构中的数据类型,查询语句均高度依赖数据库类型及版本的约束,若客户指定特定类型或版本的数据库,需对生成逻辑进行定制化的更改。面对复杂业务场景,无法维护数据表创建及数据查询,需项目或业务需求方自行进行具体步骤间的逻辑维护。
基于此,本说明书实施方式提供一种动态数据表处理方法、装置、计算机设备及存储介质。首先,获取从终端发送的包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型的入口参数;其次,根据策略标识在策略执行器池中确定待执行的目标策略执行器;最后,通过目标策略执行器对待处理数据表进行处理,得到目标数据表。上述动态数据表处理方法可以将上层业务系统从繁杂的动态表的操作需求中抽象出来,使上层业务系统基于业务逻辑调用目标策略执行器进行动态数据表的处理,可以降低逻辑复杂度和运维难度,可以更高效地支撑业务的运营。
本说明书实施方式提供的动态数据表处理方法可以应用于图1a的应用场景中,该动态数据表处理方法应用于动态数据表处理系统。该动态数据表处理系统包括终端110和服务器130。终端110和服务器130通过网络连接。服务器130可以用于根据策略标识在策略执行器池中确定待执行的目标策略执行器,通过目标策略执行器对待处理数据表进行处理,得到目标数据表。终端110可以进行策略的配置以及入口参数的输入。需要说明的是,策略配置以及入口参数的输入可以通过不同的终端设备进行实现,比如终端110可以进行策略的配置,其他终端可以实现入口参数的输入。
其中,终端110可以是具有网络访问能力的电子设备。具体地,例如,终端110可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。服务器130可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。服务器130可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器130还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器130还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
本说明书实施方式提供一种动态数据表处理方法,请参阅图1b,该动态数据表处理方法可以包括以下步骤:
S110、获取终端发送的入口参数。
其中,入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型。策略标识可以用来表征目标策略执行器,每一个策略执行器对应有一个策略标识且每一个策略执行器对应的策略标识是不同的,策略标识可以是策略编码,策略编码可以是在进行策略配置时生成的。比如:采购订单统计策略的策略标识可以是C202212010001,市场行情计算策略的策略标识可以是C202212010002,采购申请动态表策略的策略标识可以是C202212010003。目标源标识用来表征数据库的类型,比如目标源标识可以是MySQL(Relational Database Management System)、Oracle(OracleDatabase)、DB2(ibmdb2)、SQL Serve中的任一个。数据列对应的数据类型可以用来限定输入该列的数据的数据类型,比如数据列对应的数据类型包括但不限于int(integer,整数)类型、bigint(任意长度的整数)类型。
需要说明的是,终端可以提供面向不同调用方的入口,比如后端调用工具,远程调用接口以及Restful接口。后端调用工具以实现前端到后端的调用过程,产品服务器和执行策略的服务器不是同一个服务器,可以通过后端调用工具来实现产品服务器和执行策略的服务器之间的调用。远程调用接口可以实现后端不同模块之间的调用过程。比如:可以通过远程调用接口实现A策略执行器调用B策略执行器。Restful接口可以为内部项目和外部项目的调用过程,Restful接口面向客户调用方,客户调用方通过Restful接口可以调用部署了动态数据表处理方法的系统。
具体地,可以在终端设备的界面中输入处理动态数据表需要的入口参数,然后基于终端发送的请求(比如实时请求),服务器可以获取终端发送的入口参数。
S120、根据策略标识在策略执行器池中确定待执行的目标策略执行器。
其中,目标策略执行器预先封装有策略步骤集合,策略步骤集合包括第一策略步骤和第二策略步骤,第一策略步骤的执行顺序早于第二策略步骤的执行顺序。策略执行器池可以理解为策略执行器的集合。策略执行器池可以包含预先存储的多个策略执行器,也可以包含根据业务需求进行配置的多个策略执行器。
在一些情况下,并不是所有客户都可以使用所有的功能模块,比如付费用户可以使用的功能会多于普通用户。可以为付费用户和普通用户提供不同标识的秘钥,然后通过秘钥对能否使用入口进行安全性校验,若秘钥的校验未通过,可以认为该用户为非法用户,若秘钥的校验通过,可以根据用户的不同类型提供不同的后续操作。
具体地,请参阅图1c,通过入口参数组装器可以对入口参数进行校验,参数的校验可以包括但不限于数据表名称校验、预设执行条件校验、权限校验。若通过校验,则可以根据策略标识在策略执行器池中确定与策略标识匹配的待执行的策略执行器即目标策略执行器,根据目标策略执行器可以得到执行结果。若未通过校验,则可以结束当前策略。
需要说明的是,请参阅图1d,策略步骤集合不仅可以包含第一策略步骤和第二策略步骤,也可以包含N(N>2)个策略步骤。可根据策略步骤集合决定目标策略执行器中执行聚合查询和维护动态表结构的具体步骤顺序。示例性地,请参阅图1e,采购订单统计策略中,策略步骤集合可以包括统计表生成、原始订单数据拉取、统计数据生成和结果查询四个策略步骤。在步骤1统计表生成中,可以判断统计表是否存在,若统计表存在则可以执行步骤2原始订单数据拉取,若统计表不存在则可以先生成统计表然后执行步骤2原始订单数据拉取。在步骤2原始订单数据拉取中,可以判断是否重新整理数据,若需要重新整理数据则可以先拉取原始数据然后执行步骤3统计数据生成,若不需要重新整理数据则可以执行步骤3统计数据生成。在步骤3统计数据生成中,可以生成统计数据然后可以执行步骤4结果查询。在步骤4结果查询中,可以进行结果查询后结束采购订单统计策略的执行。
S130、通过目标策略执行器对待处理数据表进行处理,得到目标数据表。
其中,在第一策略步骤中,根据数据表名称、数据列的列名称、数据列对应的数据类型确定待处理数据表;在第二策略步骤中,根据目标源标识调用适用于目标数据源的目标语句构造器;通过目标语句构造器生成用于拉取待处理数据表所需数据的目标执行语句;并根据目标执行语句在目标数据源中进行语句执行操作,得到语句执行结果;根据语句执行结果对待处理数据表进行处理,得到目标数据表。
具体地,目标策略执行器中策略步骤集合是对数据库语句的拼装。在目标策略执行器包含的第一策略步骤中,可以根据数据表名称、数据列的列名称、数据列对应的数据类型来确定待处理数据表。然后在目标策略执行器包含的第二策略步骤中,可以根据目标源标识,在策略执行器池中调用适用于目标源标识的目标语句构造器,通过目标语句构造器可以生成用于拉取待处理数据表所需数据的目标执行语句,根据目标执行语句可以在目标数据源中进行语句执行操作,可以得到语句执行结果。请参阅图1f,在结果处理器内根据语句执行结果对待处理数据表进行处理,可以得到目标数据表。
上述动态数据表处理方法中,首先,获取从终端发送的包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型的入口参数;其次,根据策略标识在策略执行器池中确定待执行的目标策略执行器;最后,通过目标策略执行器对待处理数据表进行处理,得到目标数据表。上述动态数据表处理方法可以将上层业务系统从繁杂的动态表的操作需求中抽象出来,使上层业务系统基于业务逻辑调用目标策略执行器进行动态数据表的处理,可以降低逻辑复杂度和运维难度,可以更高效地支撑业务的运营。
在一些实施方式中,请参阅图2a,目标语句构造器为结构语句构造器;结构语句构造器包括默认结构语句构造器和扩展结构语句构造器;目标执行语句的生成方式,可以包括以下步骤:
S210、在维护动态表结构的情况下,根据入口参数确定动态表的元数据信息。
S220、将元数据信息传入默认结构语句构造器进行语句拼装,得到第一执行语句。
S230、根据目标源标识对应的数据库类型在扩展结构语句构造器中确定目标结构语句构造器。
S240、将第一执行语句传入至目标结构语句构造器,并执行结构语句权限检查,得到目标执行语句。
其中,维护动态表结构可以是通过元数据信息对动态表进行维护。请参阅图2b,语句构造器为父类,语句构造器包括结构语句构造器和查询语句构造器两个子类。结构语句构造器为父类,结构语句构造器可以包括默认结构语句构造器、MySQL结构语句构造器、MSSql结构语句构造器、Oracle结构语句构造器四个子类。MySQL结构语句构造器、MSSql结构语句构造器、Oracle结构语句构造器为扩展结构语句构造器。结构语句构造器中使用了结构参数,其中结构参数作为结构语句构造器的成员变量。结构参数中使用了结构参数明细、查询条件,其中结构参数明细、查询条件作为结构参数的成员变量。默认结构语句构造器内可以包括数据库中通用的数据库构造语句。扩展结构语句构造器内可以包括各类型数据库对应的数据库构造语句,每一类型的数据库对应有一个扩展结构语句构造器。元数据信息又称中介数据、中继数据,元数据信息主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据信息可以包含数据表名称,字段列表(包括但不限于字段名,数据类型,数据长度和精度,字段顺序,必填标识及主键标识),索引列表的结构。权限检查可以根据实际情况设置需要进行权限检查所需的参数。比如数据表结构的建立可以对数据表名称进行权限检查。若项目或业务模块需要用到其他数据库类型产品或需要重写内置扩展语句构造器,可以在引入动态数据表处理方法的模块中实现抽象类AbstractStructSqlConstructor(结构语句构造器)或AbstractQuerySqlConstructor(查询语句构造器)其中的逻辑,并声明对应的策略标识。
具体地,请参阅图2c,在维护动态表结构的情况下,从入口参数中确定动态表的元数据信息,接收元数据信息后,会先根据前置判断逻辑器进行是否满足预设执行条件的判断,若不满足预设执行条件,则可以直接结束当前策略。若满足预设执行条件,可以将元数据信息传入默认结构语句构造器进行语句拼装,得到第一执行语句。然后可以根据入口参数包含的目标源标识对应的数据库类型,在扩展结构语句构造器中确定与目标源标识对应的扩展结构语句构造器为目标结构语句构造器。将第一执行语句传入至目标结构语句构造器,可以得到目标执行语句。然后对执行结构语句进行数据库层DDL的权限校验,若权限校验通过,可以将目标执行语句提交给语句执行器进行语句的执行。若权限校验未通过,会进行权限异常的提示。
上述动态数据表处理方法中,在维护动态表结构的情况下,根据入口参数确定动态表的元数据信息,将元数据信息传入默认结构语句构造器进行语句拼装,得到第一执行语句,根据目标源标识对应的数据库类型在扩展结构语句构造器中确定目标结构语句构造器,将第一执行语句传入至目标结构语句构造器,并执行结构语句权限检查,得到目标执行语句。封装通用的动态生成、增补、索引管理等繁杂的维护工作,将业务系统从数据表的结构等具体的维护逻辑中抽象出来。
在一些实施方式中,请参阅图3a,目标语句构造器为查询语句构造器;查询语句构造器包括默认查询语句构造器和扩展查询语句构造器;目标执行语句的生成方式,可以包括以下步骤:
S310、在聚合查询的情况下,根据入口参数确定聚合查询所需的查询用参数。
S320、将查询用参数传入默认查询语句构造器进行语句拼装,得到第二执行语句。
S330、根据目标源标识对应的数据库类型在扩展查询语句构造器中确定目标查询语句构造器。
S340、将第二执行语句传入至目标查询语句构造器,得到目标执行语句。
其中,聚合查询可以是通过查询用参数进行所需数据的查找。请参阅图3b,语句构造器为父类,语句构造器包括结构语句构造器和查询语句构造器两个子类。查询语句构造器为父类,查询语句构造器可以包括默认查询语句构造器、MySQL查询语句构造器、MSSql查询语句构造器、Oracle查询语句构造器四个子类。MySQL查询语句构造器、MSSql查询语句构造器、Oracle查询语句构造器为扩展查询语句构造器。查询语句构造器中使用了查询参数,其中查询参数作为查询语句构造器的成员变量。查询参数中使用了查询条件,其中查询条件作为查询参数的成员变量。默认查询语句构造器内可以包括数据库中通用的数据库查询语句。扩展查询语句构造器内可以包括各类型数据库对应的数据库查询语句,每一类型的数据库对应有一个拓展查询语句构造器。查询用参数可以包含数据列的列名称、查询和连表条件(需指定操作符,包括但不限于=,!=,>,>=,<,<=),聚合函数声明(包括但不限于sum,avg),分组及排序条件。
具体地,请参阅图3c,在聚合查询的情况下,从入口参数中确定聚合查询所需的查询用参数,接收查询用参数后,会先根据前置判断逻辑器进行是否满足预设执行条件的判断,若满足预设执行条件,可以将查询用参数传入默认查询语句构造器进行语句拼装,得到第二执行语句。然后可以根据入口参数包含的目标源标识对应的数据库类型,在扩展查询语句构造器中确定与目标源标识对应的扩展查询语句构造器为目标查询语句构造器。将第二执行语句传入至目标查询语句构造器,可以得到目标执行语句。最后将目标执行语句提交给语句执行器进行语句的执行。若不满足预设执行条件,则直接结束当前策略。
上述动态数据表处理方法中,在聚合查询的情况下,根据入口参数确定聚合查询所需的查询用参数,将查询用参数传入默认查询语句构造器进行语句拼装,得到第二执行语句,根据目标源标识对应的数据库类型在扩展查询语句构造器中确定目标查询语句构造器,将第二执行语句传入至目标查询语句构造器,得到目标执行语句。通过提供聚合查询功能,可以降低业务调用和代码的复杂度,使业务方实现上层的业务即可。
在一些实施方式中,目标策略执行器预先配置有前置判断逻辑器,可以包括:在目标策略执行器开始执行任一策略步骤前,通过前置判断逻辑器判断任一策略步骤的预设执行条件是否满足,根据判断结果决定是否执行任一策略步骤。
其中,预设执行条件可以是一个条件也可以是多个条件,预设执行条件可以根据策略步骤的具体情况进行设置。比如数据表名称是否存在,数据表中的数据是否存在等。
具体地,目标策略执行器在执行任一策略步骤前,会针对当前策略步骤进行预设执行条件的判断。通过前置判断逻辑器可以判断当前策略步骤的预设执行条件是否满足,若满足预设执行条件,可以继续执行当前策略步骤,若不满足预设执行条件,则无需执行当前策略步骤。若前置判断逻辑器内的判断逻辑不能满足用户的需求,可以通过StrategyStepJudger接口来增加新的判断逻辑,通过实现新的判断逻辑可以满足用户的需求。
示例性地,请参阅图4a,前置判断逻辑器为父类,前置判断逻辑器可以包括数据表名称判断器、数据判断器、时间日期判断器、字符串判断器、数字判断器五个子类。前置判断逻辑器中使用了判断逻辑器参数,其中判断逻辑器参数作为前置判断逻辑器的成员变量。
在一些实施方式中,结构语句构造器可以进行数据表名称的检查,结构语句构造器中会存在数据表名称、数据列的列名称等参数的信息,在结构语句构造器执行的过程中,可以对数据表名称进行匹配,若匹配结果说明数据表名称存在。查询语句构造器可以检查数据,在查询语句构造器执行的过程中,能调用到所需数据证明该数据是存在的,可以说明数据表中存在所需数据。
在又一些实施方式中,预设执行条件可以是多个。请参阅图4b,图4b中存在三个预设执行条件。通过前置判断逻辑器1可以判断预设执行条件1是否得到满足,若满足预设执行条件1,则可以继续进行预设执行条件2的判定,若不满足预设执行条件1则可以结束当前策略步骤。通过前置判断逻辑器2可以判断预设执行条件2是否得到满足,若满足预设执行条件2,则可以继续进行预设执行条件3的判定,若不满足预设执行条件2则可以结束当前策略步骤。通过前置判断逻辑器3可以判断预设执行条件3是否得到满足,若满足预设执行条件3,则可以得到当前策略步骤的执行结果并结束当前策略步骤,若不满足预设执行条件3则可以结束当前策略步骤。
上述动态数据表处理方法中,在目标策略执行器开始执行任一策略步骤前,通过前置判断逻辑器判断任一策略步骤的预设执行条件是否满足,根据判断结果决定是否执行任一策略步骤。通过前置逻辑器进行前置条件的判断,可以确定策略步骤的执行条件是否满足,可以减少计算资源的消耗。
在一些实施方式中,请参阅图5a,策略步骤集合包括有隔离步骤,可以包括以下步骤:
S510、在当前策略步骤对应的目标执行语句完成执行后,若根据语句执行结果判定语句执行异常,确定当前策略步骤对应的事务模式。
S520、若当前策略步骤对应的事务模式为步骤隔离模式,根据步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。
其中,一个策略步骤对应有一个事务模式,事务模式可以包括步骤隔离模式和正常模式。配置策略可以为跳转、重试、继续执行后续策略步骤中的任一种操作,且重试的次数可以进行配置。配置策略可以基于业务需求进行设置。
具体地,在策略步骤的执行过程中,默认会以一个整体事务的方式进行执行,每个策略步骤执行时,其相关的语句会被提交至事务准备中,当前策略步骤对应的目标执行语句完成执行后,根据语句执行结果进行判断,若根据语句执行结果可以判定当前策略步骤对应的目标执行语句中存在语句执行异常,可以先取消当前策略步骤对应的目标执行语句的执行,再从存在异常的目标执行语句中跳转出来,然后可以确定当前策略步骤对应的事务模式。若当前策略步骤对应的事务模式为步骤隔离模式,则可以根据当前策略步骤的步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。若根据语句执行结果可以判定当前策略步骤对应的目标执行语句中不存在语句执行异常或者当前策略步骤对应的事务模式为正常模式,可以继续进行后续策略步骤的执行。
示例性地,请参阅图5b,在策略步骤1对应的目标执行语句完成执行后,根据语句执行结果进行判定,若根据语句执行结果可以判定当前策略步骤对应的目标执行语句中存在语句执行异常,则可以进一步地确认策略步骤1对应的事务模式是否为隔离步骤。若策略步骤1对应的事务模式为步骤隔离模式,根据步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。若语句执行结果不存在异常或者策略步骤1为正常模式,则可以跳转至策略步骤2。在策略步骤2对应的目标执行语句完成执行后,根据语句执行结果进行判定,若根据语句执行结果可以判定当前策略步骤对应的目标执行语句中存在语句执行异常,则可以进一步地确认策略步骤2对应的事务模式是否为隔离步骤。若策略步骤2对应的事务模式为步骤隔离模式,根据步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。若语句执行结果不存在异常或者策略步骤2为正常模式,则可以继续执行后续策略步骤。在策略步骤N对应的目标执行语句完成执行后,根据语句执行结果进行判定,若根据语句执行结果可以判定当前策略步骤对应的目标执行语句中存在语句执行异常,则可以进一步地确认策略步骤N对应的事务模式是否为隔离步骤。若策略步骤N对应的事务模式为步骤隔离模式,根据步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。若语句执行结果不存在异常或者策略步骤N为正常模式,则可以将目标执行语句进行提交并结束当前策略的执行。
上述动态数据表处理方法中,在当前策略步骤对应的目标执行语句完成执行后,若根据语句执行结果判定语句执行异常,确定当前策略步骤对应的事务模式,若当前策略步骤对应的事务模式为步骤隔离模式,根据步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。通过设置步骤隔离模式,可以指定该策略步骤将以独立事务的方式进行执行的操作。通过设置步骤隔离模式,可以将该步骤独立出来,若该步骤出现异常,可以使其不影响其他策略步骤的执行。
在一些实施方式中,根据策略标识在策略执行器池中确定待执行的目标策略执行器,可以包括:若入口参数通过校验,根据策略标识在策略执行器池中确定与策略标识对应的通用策略执行器或者自定义策略执行器,以作为待执行的目标策略执行器。
其中,请参阅图5c,目标策略执行器可以是通用策略执行器或者自定义策略执行器。通用策略执行器预先封装有通用策略步骤集合,自定义策略执行器预先封装有自定义策略步骤集合。通用策略步骤集合为预先设置完成的常用策略,自定义策略步骤为用户基于自身的业务需求进行配置的策略。
具体地,通用策略执行器对应有特定的通用策略执行器标识A,自定义策略执行器对应有特定的自定义策略执行器标识B。若入口参数通过校验,则可以根据入口参数包含的策略标识,在策略执行器池中可以确定与策略标识对应的策略执行器。若策略执行器标识为A可以确定该策略执行器为通用策略执行器,若策略执行器标识为B可以确定该策略执行器为自定义策略执行器。
在一些实施方式中,可以分为通用策略执行器池和自定义策略执行器池。若入口参数通过校验,则可以将入口参数包含的策略标识与通用策略执行器池中全部的策略标识进行比对,若存在与入口参数包含的策略标识匹配的通用策略执行器,则可以确定入口参数包含的策略标识对应的策略执行器为通用策略执行器。若不存在与入口参数包含的策略标识匹配的通用策略执行器,可以将入口参数包含的策略标识与自定义策略执行器池中全部的策略标识进行比对,若存在与入口参数包含的策略标识匹配的自定义策略执行器,则可以确定入口参数包含的策略标识对应的策略执行器为自定义策略执行器。若不存在与入口参数包含的策略标识匹配的自定义策略执行器,则可以认为不存在入口参数所包含的策略标识对应的策略执行器。
上述动态数据表处理方法中,若入口参数通过校验,根据策略标识在策略执行器池中确定与策略标识对应的通用策略执行器或者自定义策略执行器。可以方便对策略执行器的查找。
在一些实施方式中,根据数据表名称、数据列的列名称、数据列对应的数据类型确定待处理数据表,可以包括:若确定待处理数据表不存在,则根据数据表名称、数据列的列名称、数据列对应的数据类型生成待处理数据表。
具体地,通过对入口参数中数据表名称进行校验,若在本地缓存中不存在与入口参数中的数据表名称匹配的数据表,则需要根据入口参数中的数据表名称、数据列的列名称、数据列对应的数据类型,通过目标策略执行器来生成待处理数据表。
上述动态数据表处理方法中,若确定待处理数据表不存在,则根据数据表名称、数据列的列名称、数据列对应的数据类型生成待处理数据表。通过建立数据表以便完成后续的策略步骤的执行。
在一些实施方式中,动态数据表处理方法还可以包括:在目标策略执行器的执行过程中,记录入口参数、语句执行结果、策略步骤执行情况作为审计指标。
具体地,目标策略执行器所包含的步骤在执行过程中需要调用入口参数,目标策略执行器在执行的过程中会生成执行语句,根据执行语句会可以得到语句执行结果。因此,可以将目标策略执行器在执行过程中每一个策略步骤所用到的入口参数、语句执行结果、策略步骤执行情况均可以进行确定。因此,可以记录目标策略执行器的执行过程中所用到的入口参数、语句执行结果、策略步骤执行情况作为审计指标。
上述动态数据表处理方法中,在目标策略执行器的执行过程中,记录入口参数、语句执行结果、策略步骤执行情况作为审计指标。通过将目标策略执行器的执行记录保存起来作为审计信息,以便用户进行查看,使用户在后期进行查看时可以更方便快捷地了解目标策略执行器的各参数、执行结果等信息。
在一些实施方式中,根据策略标识在策略执行器池中确定待执行的目标策略执行器,可以包括:根据策略标识在本地缓存的策略执行器池中进行查找,确定目标策略执行器。
具体地,预先设置的策略执行器可以存储在本地缓存中。然后可以根据从终端入口获取到的策略标识,在本地缓存的策略执行器池中进行查找,若存在与从终端入口获取到的策略标识匹配的策略执行器,可以确定目标策略执行器。
上述动态数据表处理方法中,根据策略标识在本地缓存的策略执行器池中进行查找,确定目标策略执行器。目标策略执行器可以将业务系统从繁杂的维护工作中抽象出来,通过确定目标策略执行器可以完成业务系统的需求。
本说明书实施方式还提供一种动态数据表处理方法,示例性地,请参阅图6,该动态数据表处理方法可以包括以下步骤:
S602、获取终端发送的入口参数。
其中,入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、数据列对应的数据类型。
S604、根据策略标识在策略执行器池中确定待执行的目标策略执行器。
其中,目标策略执行器预先封装有策略步骤集合;策略步骤集合包括第一策略步骤和第二策略步骤;第一策略步骤的执行顺序早于第二策略步骤的执行顺序。
S606、在目标策略执行器开始执行第一策略步骤前,通过前置判断逻辑器判断第一策略步骤的预设执行条件是否满足,根据判断结果决定是否执行第一策略步骤。
S608、若满足预设执行条件,在第一策略步骤中,若确定待处理数据表不存在,则根据数据表名称、数据列的列名称、数据列对应的数据类型生成待处理数据表。根据数据表名称、数据列的列名称、数据列对应的数据类型确定待处理数据表;若不满足预设执行条件,可以跳转到S614。
S610、在目标策略执行器开始执行第二策略步骤前,通过前置判断逻辑器判断第二策略步骤的预设执行条件是否满足,根据判断结果决定是否执行第二策略步骤。
S612、若满足预设执行条件,在第二策略步骤中,根据目标源标识调用适用于目标数据源的目标语句构造器;通过目标语句构造器生成用于拉取待处理数据表所需数据的目标执行语句;并根据目标执行语句在目标数据源中进行语句执行操作,得到语句执行结果;根据语句执行结果对待处理数据表进行处理,得到目标数据表。若不满足预设执行条件,可以跳转到S614。
S614、结束目标策略执行器的执行。
终端入口、策略执行器、管理中心三者的能力是清晰的有边界的。策略执行器作为核心,承担着动态表生成、聚合查询及策略执行的能力,策略执行器的内部是封装好的处理逻辑,策略执行器面向终端和管理中心开放接口。策略执行器根据策略配置,链式执行具体的动态表创建、数据清洗及数据查询等策略步骤。终端入口可以与外部系统、组件、模块进行交互,终端入口可以调用策略执行器。在管理中心中,可以完成对策略维护,执行审计,模板管理等内容的管理工作。请参阅图7,终端入口702发送实时请求至策略执行器704,策略执行器704执行请求的命令,策略执行器根据请求的命令,对动态表706进行结构维护或聚合查询,策略执行器704执行命令结束,会生成执行记录,将执行记录保存在审计信息中心708,管理中心710可以查看查看审计信息。管理中心710进行步骤维护会改变策略配置712,策略执行器704读取策略配置712,若策略配置712更改则策略执行器中对应的方法逻辑也会相对应的改动,因此,策略执行器704可以读取更改的策略配置,然后可以根据更改的策略配置信息执行策略执行器704。管理中心710中可以通过设置定时或实时触发策略执行器,策略执行器704会根据管理中心710设置的方式进行执行。其中,定时调用支持快速定时配置及cron表达式配置,由组件的任务调度能力完成定时执行。
本说明书实施方式提供一种动态数据表处理装置800,请参阅图8,动态数据表处理装置800包括:参数获取模块810、策略执行器确定模块820、目标数据表确定模块830。
参数获取模块810,用于获取终端发送的入口参数;其中,所述入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、所述数据列对应的数据类型;
策略执行器确定模块820,用于根据所述策略标识在策略执行器池中确定待执行的目标策略执行器;其中,所述目标策略执行器预先封装有策略步骤集合;所述策略步骤集合包括第一策略步骤和第二策略步骤;所述第一策略步骤的执行顺序早于所述第二策略步骤的执行顺序;
目标数据表确定模块830,用于通过所述目标策略执行器对待处理数据表进行处理,得到目标数据表;其中,在所述第一策略步骤中,根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表;在所述第二策略步骤中,根据所述目标源标识调用适用于所述目标数据源的目标语句构造器;通过所述目标语句构造器生成用于拉取所述待处理数据表所需数据的目标执行语句;并根据所述目标执行语句在所述目标数据源中进行语句执行操作,得到语句执行结果;根据所述语句执行结果对所述待处理数据表进行处理,得到目标数据表。
关于动态数据表处理装置800的具体描述,可以参见上文中对动态数据表处理方法的描述,在此不再赘述。
在一些实施方式中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种动态数据表处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本说明书所公开方案相关的部分结构的框图,并不构成对本说明书所公开方案所应用于其上的计算机设备的限定,具体地,计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施方式中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施方式中的方法步骤。
本说明书实施方式提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施方式中的方法的步骤。
本说明书的一个实施方式提供一种计算机程序产品,计算机程序产品中包括指令,指令被计算机设备的处理器执行时,使得计算机设备能够执行上述任一项实施方式的方法的步骤。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

Claims (11)

1.一种动态数据表处理方法,其特征在于,所述方法包括:
获取终端发送的入口参数;其中,所述入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、所述数据列对应的数据类型;
根据所述策略标识在策略执行器池中确定待执行的目标策略执行器;其中,所述目标策略执行器预先封装有策略步骤集合;所述策略步骤集合包括第一策略步骤和第二策略步骤;所述第一策略步骤的执行顺序早于所述第二策略步骤的执行顺序;
通过所述目标策略执行器对待处理数据表进行处理,得到目标数据表;其中,在所述第一策略步骤中,根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表;在所述第二策略步骤中,根据所述目标源标识调用适用于所述目标数据源的目标语句构造器;通过所述目标语句构造器生成用于拉取所述待处理数据表所需数据的目标执行语句;并根据所述目标执行语句在所述目标数据源中进行语句执行操作,得到语句执行结果;根据所述语句执行结果对所述待处理数据表进行处理,得到目标数据表;所述策略步骤集合还包括有隔离步骤;
在当前策略步骤对应的目标执行语句完成执行后,若根据所述语句执行结果判定语句执行异常,确定所述当前策略步骤对应的事务模式;
若所述当前策略步骤对应的事务模式为步骤隔离模式,根据所述步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。
2.根据权利要求1所述的方法,其特征在于,所述目标语句构造器为结构语句构造器;所述结构语句构造器包括默认结构语句构造器和扩展结构语句构造器;所述目标执行语句的生成方式,包括:
在维护动态表结构的情况下,根据所述入口参数确定所述动态表的元数据信息;
将所述元数据信息传入所述默认结构语句构造器进行语句拼装,得到第一执行语句;
根据所述目标源标识对应的数据库类型在所述扩展结构语句构造器中确定目标结构语句构造器;
将所述第一执行语句传入至所述目标结构语句构造器,并执行结构语句权限检查,得到所述目标执行语句。
3.根据权利要求1所述的方法,其特征在于,所述目标语句构造器为查询语句构造器;所述查询语句构造器包括默认查询语句构造器和扩展查询语句构造器;所述目标执行语句的生成方式,包括:
在聚合查询的情况下,根据所述入口参数确定所述聚合查询所需的查询用参数;
将所述查询用参数传入所述默认查询语句构造器进行语句拼装,得到第二执行语句;
根据所述目标源标识对应的数据库类型在所述扩展查询语句构造器中确定目标查询语句构造器;
将所述第二执行语句传入至所述目标查询语句构造器,得到所述目标执行语句。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述目标策略执行器预先配置有前置判断逻辑器;所述方法还包括:
在所述目标策略执行器开始执行任一策略步骤前,通过所述前置判断逻辑器判断所述任一策略步骤的预设执行条件是否满足,根据判断结果决定是否执行所述任一策略步骤。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述策略标识在策略执行器池中确定待执行的目标策略执行器,包括:
若所述入口参数通过校验,根据所述策略标识在所述策略执行器池中确定与所述策略标识对应的通用策略执行器或者自定义策略执行器,以作为所述待执行的目标策略执行器;其中,所述通用策略执行器预先封装有通用策略步骤集合,所述自定义策略执行器预先封装有自定义策略步骤集合。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表,包括:
若确定所述待处理数据表不存在,则根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型生成所述待处理数据表。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
在所述目标策略执行器的执行过程中,记录所述入口参数、所述语句执行结果、策略步骤执行情况作为审计指标。
8.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述策略标识在策略执行器池中确定待执行的目标策略执行器,包括:
根据所述策略标识在本地缓存的策略执行器池中进行查找,确定所述目标策略执行器。
9.一种动态数据表处理装置,其特征在于,所述装置包括:
参数获取模块,用于获取终端发送的入口参数;其中,所述入口参数包括策略标识、目标数据源的目标源标识、数据表名称、数据列的列名称、所述数据列对应的数据类型;
策略执行器确定模块,用于根据所述策略标识在策略执行器池中确定待执行的目标策略执行器;其中,所述目标策略执行器预先封装有策略步骤集合;所述策略步骤集合包括第一策略步骤和第二策略步骤;所述第一策略步骤的执行顺序早于所述第二策略步骤的执行顺序;
目标数据表确定模块,用于通过所述目标策略执行器对待处理数据表进行处理,得到目标数据表;其中,在所述第一策略步骤中,根据所述数据表名称、所述数据列的列名称、所述数据列对应的数据类型确定所述待处理数据表;在所述第二策略步骤中,根据所述目标源标识调用适用于所述目标数据源的目标语句构造器;通过所述目标语句构造器生成用于拉取所述待处理数据表所需数据的目标执行语句;并根据所述目标执行语句在所述目标数据源中进行语句执行操作,得到语句执行结果;根据所述语句执行结果对所述待处理数据表进行处理,得到目标数据表;所述策略步骤集合还包括有隔离步骤;
事务模式确定模块,用于在当前策略步骤对应的目标执行语句完成执行后,若根据所述语句执行结果判定语句执行异常,确定所述当前策略步骤对应的事务模式;
隔离模式执行模块,用于若所述当前策略步骤对应的事务模式为步骤隔离模式,根据所述步骤隔离模式对应的配置策略进行跳转、重试、继续执行后续策略步骤中的任一种操作。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
CN202310580792.3A 2023-05-22 2023-05-22 动态数据表处理方法、装置、计算机设备及存储介质 Active CN116521686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310580792.3A CN116521686B (zh) 2023-05-22 2023-05-22 动态数据表处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310580792.3A CN116521686B (zh) 2023-05-22 2023-05-22 动态数据表处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN116521686A CN116521686A (zh) 2023-08-01
CN116521686B true CN116521686B (zh) 2023-10-27

Family

ID=87408305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310580792.3A Active CN116521686B (zh) 2023-05-22 2023-05-22 动态数据表处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116521686B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776834A (zh) * 2016-11-28 2017-05-31 中通服公众信息产业股份有限公司 一种基于指标的数据分析自取数方法及系统
CN111061766A (zh) * 2019-11-27 2020-04-24 上海钧正网络科技有限公司 一种业务数据的处理方法、装置、计算机设备及存储介质
CN112486592A (zh) * 2020-11-30 2021-03-12 成都新希望金融信息有限公司 分布式数据处理方法、装置、服务器及可读存储介质
CN113111239A (zh) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 一种通用数据库操作方法、装置及其存储介质
CN115203750A (zh) * 2022-09-19 2022-10-18 杭州比智科技有限公司 基于Hive插件对Hive数据权限管控及安全审计方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776834A (zh) * 2016-11-28 2017-05-31 中通服公众信息产业股份有限公司 一种基于指标的数据分析自取数方法及系统
CN111061766A (zh) * 2019-11-27 2020-04-24 上海钧正网络科技有限公司 一种业务数据的处理方法、装置、计算机设备及存储介质
CN112486592A (zh) * 2020-11-30 2021-03-12 成都新希望金融信息有限公司 分布式数据处理方法、装置、服务器及可读存储介质
CN113111239A (zh) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 一种通用数据库操作方法、装置及其存储介质
CN115203750A (zh) * 2022-09-19 2022-10-18 杭州比智科技有限公司 基于Hive插件对Hive数据权限管控及安全审计方法及系统

Also Published As

Publication number Publication date
CN116521686A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
US20230252028A1 (en) Data serialization in a distributed event processing system
US7580946B2 (en) Smart integration engine and metadata-oriented architecture for automatic EII and business integration
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
US20140006459A1 (en) Rule-based automated test data generation
US20140172827A1 (en) In-memory, columnar database multidimensional analytical view integration
CN102375731A (zh) 一种免编码集成应用软件平台系统
CN101515245A (zh) 操作日志记录方法及系统
US20130055235A1 (en) Custom code innovation management
US11282021B2 (en) System and method for implementing a federated forecasting framework
CN111125064A (zh) 一种生成数据库模式定义语句的方法和装置
CN111381811A (zh) 一种适应于多类信息系统集成的软件资源整合平台
CA3023737C (en) Processing application programming interface (api) queries based on variable schemas
CN116521686B (zh) 动态数据表处理方法、装置、计算机设备及存储介质
CN115062084B (zh) 基于数据库元数据构建api接口方法及装置
CN104081381B (zh) 用于实施概念服务的方法和装置
US8869122B2 (en) Extensible executable modeling
US20230195792A1 (en) Database management methods and associated apparatus
CN115145652A (zh) 一种数据处理任务的创建方法、装置、设备及介质
US11132374B2 (en) Property painter
CN116302211B (zh) 策略执行器的配置方法、装置、计算机设备及存储介质
CN115017185A (zh) 一种数据处理方法、装置及存储介质
CN111061789A (zh) 一种智能电网基建信息管理系统
US11888937B2 (en) Domain specific provider contracts for core data services
CN111401825B (zh) 一种实例化方法和装置
US20220147568A1 (en) Mapping expression generator

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