CN117608536B - 缺口数据在线模版定制补录系统及其方法 - Google Patents

缺口数据在线模版定制补录系统及其方法 Download PDF

Info

Publication number
CN117608536B
CN117608536B CN202311754933.5A CN202311754933A CN117608536B CN 117608536 B CN117608536 B CN 117608536B CN 202311754933 A CN202311754933 A CN 202311754933A CN 117608536 B CN117608536 B CN 117608536B
Authority
CN
China
Prior art keywords
data
gap
complement
scheme
template
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
CN202311754933.5A
Other languages
English (en)
Other versions
CN117608536A (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.)
Hangzhou Mingyou Electronics Co ltd
Original Assignee
Hangzhou Mingyou Electronics 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 Hangzhou Mingyou Electronics Co ltd filed Critical Hangzhou Mingyou Electronics Co ltd
Priority to CN202311754933.5A priority Critical patent/CN117608536B/zh
Publication of CN117608536A publication Critical patent/CN117608536A/zh
Application granted granted Critical
Publication of CN117608536B publication Critical patent/CN117608536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • 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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了缺口数据在线模板定制补录系统及其方法,通过MYETL‑GDP‑JOB插件及MYETL作业重跑触发器的安装、卸载、升级的方式进行数据装载,不影响平台稳定性,仅通过升级插件即可以实现核心业务模块的升级,适用于复杂多变的需求场景。在权限控制方面,提供了指定人员、角色、机构、层级等多元化用户授权;支持REST通用接口、JAVA触发器等多种方案以便于灵活的调用第三方系统。在业务方面为每个数据模板单独设置JDBC数据源,并创建适配的目标表,根据各自的数据源配置,动态创建入库链接,从而支持多源数据的导入,系统可以同时处理来自不同数据库的数据,而无需手动干预或配置,实现了多数据源的导数灵活性。

Description

缺口数据在线模版定制补录系统及其方法
技术领域
本发明涉及数据处理技术领域,尤其涉及缺口数据在线模版定制补录系统及其方法。
背景技术
数字化转型作为一项复杂的系统工程,在转型进程中仍有大量基础数据需要转移、补录,数据治理系统需要搭建。缺口数据补录平台是面向各业务数据层、为各类机构保障系统业务的数据完整性提供统一数据补录的平台,它不同于传统的IT技术开发平台。缺口数据通常涉及多个系统之间的数据集成,传统IT平台无法提供足够的跨系统整合能力;传统IT开发平台通常采用固定的开发流程、方法及死板的配置界面,不够灵活,难以应对多样化的业务需求,不仅要求开发人员了解业务领域的特点和规则,还无法满足及时性的需求。
缺口数据补录平台提供用户友好的界面,通过界面对数据及时性、完整性等功能进行清晰的展示。针对传统IT开发平台需要对模版进行复杂配置的问题,缺口数据补录平台为满足非技术开发人员完全掌握的目的,需要无缝集成广大用户所熟悉与习惯的MSExcel产品,继承Excel原有操作模式和方法,并融入先进的WEB应用技术,为用户提供最易上手的操作习惯及体验,以确保业务数据的高质量和一致性。缺口数据补录平台可以让普通的业务管理、运行操作或者科技管理等非专业程序技术人员,轻易、快捷地应对各类业务缺口数据需求,以更低成本、主导性地构建自身需要的任意缺口数据业务需求。不是仅仅面向技术开发团队,而是可直接面向普通的业务管理和维护人员进行缺口数据应用开发及投产运行。
缺口数据补录平台可以让普通的业务管理、运行操作或者科技管理等非专业程序技术人员,轻易、快捷地应对各类业务缺口数据需求,以更低成本、主导性地构建自身需要的任意缺口数据业务需求。然而,在实现上述功能的过程中,缺口数据补录平台在模板定制方面还存在以下缺点:一是模板定制通常需要在设计阶段就确定数据格式和结构,限制了其在面对多样化、动态变化的数据需求时的灵活性;二是由于模板是预定义的,当数据结构或格式发生变化时,需要对模板进行相应的修改和维护,这增加了维护成本和复杂性;三是由于模板定制可能存在多个版本或变体,可能导致数据格式和结构的不一致性,进而影响数据的准确性和可用性;此外,对于非技术人员而言,使用模板定制需要一定的学习和适应过程,这可能会影响用户体验和效率;对于某些复杂的数据处理场景,如数据清洗、转换和集成等,模板定制可能无法满足需求,需要更高级的数据处理技术和工具。
发明内容
针对各类业务缺口数据补录过程中模板定制存在的灵活性不足、维护成本高、数据一致性差、用户体验不佳、无法应对复杂场景等问题,本发明提出缺口数据在线模版定制补录系统及其方法,基于多线程技术,将符合要求、存储在标准XCEL、CSV文件以及自定义分隔符文本文件中的数据解析为数据库中对应表的数据并导入,方便了用户对数据库缺失数据的维护。
为了实现上述目的,本发明通过如下的技术方案来实现:
缺口数据在线模版定制补录系统,所述系统包括:应用层、数据库和平台层;
所述应用层包括:
方案管理模块,用于缺口数据补录方案的创建、编辑、删除和审核;
模板配置模块,用于根据需求使用SpreadJS在线表格编辑器在线定制数据补录的模板;
触发集管理与监控模块,用于对多个缺口数据补录方案组成的触发集进行配置和监控;
数据上传模块,用于将补录的数据上传到用户指定的目标数据库或系统;
所述数据库用于从多个数据源获取缺口数据,并进行存储、管理和备份,为系统提供数据支持;
所述平台层包括:
MYBI-PIM,用于权限控制和系统管理,所述权限控制包括指定人员、角色、机构或层级的多元化授权控制;
所述MYETL,用于数据提取、转换和加载,包括MYETL-GDP-JOB插件和MYETL作业重跑触发器,通过所述MYETL-CDP-JOB插件进行数据处理和作业调度,通过MYETL作业重跑触发器在作业失败时自动触发重跑机制;
第三方系统,具体包括:
JAVA触发器和PLSQL触发器;
REST通用接口,用于与其他系统进行通信和数据交互;
MYUI-GDP控件,用于进行界面可视化展示。
作为本发明的一种优选方案,所述方案管理模块具体包括分类管理单元和方案管理单元;
所述分类管理单元用于按照业务领域、数据类型、数据来源或权限控制对所述缺口数据补录方案进行分类管理,包括对分类的添加、修改和删除;
所述方案管理单元用于对每种缺口数据补录方案的具体执行计划或策略进行管理,包括创建、修改、删除和导入导出。
作为本发明的一种优选方案,所述模板配置模块具体包括:变长单表模板单元、变长多表模板单元、定长表模板单元、不规则文本模板单元、转换函数管理单元、项目码管理单元,以及触发条件与任务集单元;
所述变长单表模板单元、变长多表模板单元、定长表模板单元和不规则文本模板单元分别用于变长单表类型、变长多表类型、定长表类型和不规则文本类型的缺口数据补录方案进行在线模板配置交互;
所述转换函数管理单元用于对缺口数据补录方案的单元格值入库时使用的转换函数进行管理;
所述项目表管理单元用于定长表项目码的管理,包括增加、删除、修改和自动识别回填;
所述触发条件与任务集单元用于针对触发集下发缺口数据补录方案的触发条件,并自定义任务集进行触发。
作为本发明的一种优选方案,所述触发集管理与监控模块具体包括触发集管理单元和触发集监控单元;
所述触发集管理单元用于对触发集进行配置,定义触发数据补录的条件和规则;
所述触发集监控单元用于对配置的触发集进行触发条件进度和触发结果的监控。
作为本发明的一种优选方案,所述数据上传模块包括数据文件上传单元、方案任务监控单元和审核校验单元;
所述数据文件上传单元用于根据方案类型上传对应格式的数据文件,包括批量上传和指定数据日期;
方案任务监控单元用于对上传的数据文件形成任务,并进行启动、查看等操作;
审核校验单元用于入库校验和审核校验,所述入库校验指数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
缺口数据在线模版定制补录方法,所述方法包括:
创建注册表:从多个数据源获取需要补录的缺口数据,在数据库中创建业务相关数据表用于存储所述缺口数据;
添加方案分类:按照业务需求或权限控制,通过方案管理模块对缺口数据补录方案进行分类维护;
准备函数:根据需求选择缺口数据补录方案中使用的预处理函数或自定义预处理函数,所述预处理函数包括转换函数、格式化函数、解析函数、校验函数和数据整合函数,数据上传前通过所述预处理函数对缺口数据进行预处理;
新增方案:通过模板配置模块在线定制数据补录的模板,为每个模版设置单独的JDBC数据源,并创建适配的目标表,配置缺口数据补录方案;
权限配置:配置缺口数据补录方案以及缺口数据的导入权限,确保只有授权的用户能够访问和操作缺口数据;
数据上传:根据配置好的缺口数据补录方案,动态创建入库链接,通过数据上传模块创建多个工作线程,每个工作线程中使用分布式事务管理器对不同类型的数据文件进行多线程并发读写,将所述缺口数据在线导入及批量线下导入用户指定的目标数据库或系统;
数据审核:包括入库校验和审核校验,所述入库校验为数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
作为本发明的一种优选方案,所述数据上传中基于多线程技术将符合要求、存储在标准EXCEL、CSV文件以及自定义分隔符文本文件中的缺口数据解析为数据库中对应目标表的数据并导入,包括:
根据文件扩展名识别文件类型;
根据识别出的文件类型,解析文件结构,包括确定Excel文件中包含的Sheet页以及Sheet页的布局和数据用于支持多sheet页导入,并定义一个维度到Sheet页名称的映射配置,将每个维度与相应Sheet页做映射来支持sheet页名称维度映射;
使用分批划分算法将数据分批处理,使用线程池创建多个工作线程并发读取、处理和导入数据,将数据映射到目标表中;
根据需要进行数据转换,包括日期格式转换和数值类型转换。
作为本发明的一种优选方案,所述分批划分算法包括递归划分算法,具体方法如下:
确定数据源和目标表,明确从哪个数据库或数据文件中获取缺口数据,以及将数据导入到哪个目标表中;
根据数据源和目标表的情况,确定批次大小,即每个批次所包含的数据量;
编写一个递归函数,用于对每个批次的数据进行迭代处理;
调用递归函数进行数据处理,并传入初始参数,所述初始参数为第一个批次的编号和批次大小;在递归函数中,将当前批次的数据处理完毕后,递归调用自身来处理下一个批次的数据;递归调用的终止条件是批次编号达到预设阈值或者批次中的数据量达到预设值;
当所有批次的数据都处理完毕后,如果剩余的数据量较小,则直接在内存中进行处理并插入到目标表中;如果剩余的数据量较大,则将其存入临时表中,然后使用常规的数据导入方法将其导入到目标表中。
作为本发明的一种优选方案,若入库校验失败,则无法导数成功,用户自行查看日志,比对数据出错处进行纠正;所述审核校验具体为用户选择任一字段并输入,校验正确通过的字符串数组,然后将导数后的数据根据字段进行分组与配置,与事先设定的字符串数组进行比对,根据比对结果判断是否通过审核校验。
与现有技术相比,本发明的有益效果是:通过可视化模版设计,配置数据模版支持不同形式的Excel文件导入及大数据量并发导入,通过自主研发的MYETL-GDP-JOB插件及MYETL作业重跑触发器的安装、卸载、升级的方式进行数据装载,不影响平台稳定性,极大提高了维护效率,仅通过升级插件即可以实现核心业务模块的升级,适用于复杂多变的需求场景。在权限控制方面,提供了多元化用户授权,不仅可以指定人员,还提供角色、机构、层级等多种权限控制;支持REST通用接口、JAVA触发器等多种方案以便于灵活的调用第三方系统。在业务方面为每个数据模板单独设置JDBC数据源,并创建适配的目标表,根据各自的数据源配置,动态创建入库链接,从而支持多源数据的导入。这意味着系统可以同时处理来自不同数据库的数据,而无需手动干预或配置,实现了多数据源的导数灵活性。使用分批划分算法将数据分批处理、多线程多进程并发导入,每个工作线程中使用分布式事务管理器进行管理,可以支持百万级别的数据量并发导入。
本发明中,后台不再使用传统的Excel格式文件进行模版的配置保存,而使用SpreadJS在线表格编辑器设置导数模版的配置,支持拖拽操作、快速定位等提高易用性的设计来简化缺口模版开发时间从而提高效率,为变化频繁的业务提供方便的数据录入功能,针对新需求只定义新模板即可建立外部Excel数据列与数据库数据表的字段之间的匹配关系,实现外部数据导入到数据库,而不必重新代码开发来满足需求,提供高效、灵活的数据补录工作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本发明实施例中的系统架构示意图;
图2为本发明实施例中应用层的模块化结构示意图;
图3为本发明实施例中的方法步骤示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明的一个实施例,该实施例提供了缺口数据在线模板定制补录系统,包括应用层、数据库和平台层,主要使用Spring MVC、Mybais、HTML5、SpreadJS、ApachePOI等技术实现本系统的搭建。
Spring MVC:一种java框架;通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知道使用的视图,所以不会强迫开发者只使用JSP技术。Spring MVC分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制;
Mybais:基于Java的持久层框架,支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录;
SpreadJS:是一款基于HTML5的纯JavaScript电子表格和网格功能控件,以“高速低耗、纯前端、零依赖”为特色,可嵌入任何操作系统,同时满足.NET、Java、响应式Web应用及移动跨平台的表格数据处理和类Excel的表格应用开发,在数据展示、前端导入导出、图表面板、数据绑定等场景无需大量代码开发和测试,可极大节省研发成本并降低交付风险;
Apache POI:是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
如图2所示,应用层包括方案管理模块、模板配置模块、触发集管理与监控模块,以及数据上传模块;
方案管理模块用于缺口数据补录方案的创建、编辑、删除和审核;
在一个实施例中,方案管理模块具体包括分类管理单元和方案管理单元,分类管理单元用于按照业务领域、数据类型、数据来源或权限控制对缺口数据补录方案进行分类管理,包括对分类的添加、修改、删除等;比如在金融领域,分类可以是“贷款数据补录”、“投资数据补录”等,在电商领域,分类可以是“用户行为数据补录”、“商品库存数据补录”等;通过分类,用户可以快速定位到特定类型或特定业务领域的缺口数据补录方案,帮助用户更好地组织和理解不同的补录方案,使得方案的管理和检索更加高效;方案管理单元用于对每种缺口数据补录方案的具体执行计划或策略进行管理,包括创建、修改、删除、导入导出等功能。
模板配置模块用于根据需求使用SpreadJS在线表格编辑器在线定制数据补录的模板;
在其中一个实施例中,模板配置模块具体包括变长单表模板单元、变长多表模板单元、定长表模板单元、不规则文本模板单元、转换函数管理单元、项目码管理单元,以及触发条件与任务集单元;
变长指的是数据的长度不是固定的,可以根据需要变化;单表指的是一个单独的数据表,一个表可以包含多条记录,每条记录有多个字段,变长单表即为一个其记录或字段长度可变的数据表;变长多表与变长单表类似,但涉及到多个相关的数据表。这些表可能是主-从关系、关联关系或其他复杂关系;定长表指的是一个其记录或字段长度固定的数据表。不规则文本指的是文本数据的格式或结构不是统一的或标准的,这种文本包含不同的长度、不同的分隔符、不同的数据顺序等。在数据处理中,转换函数用于将输入数据转换为另一种格式或结构,可能包括数据类型转换(例如,从文本转换为数字)、日期格式转换、文本清理(如去除空格、特殊字符等)或其他任何需要的转换;
变长单表模板单元、变长多表模板单元、定长表模板单元和不规则文本模板单元分别用于变长单表类型、变长多表类型、定长表类型和不规则文本类型的缺口数据补录方案进行在线模板配置交互;转换函数管理单元用于对缺口数据补录方案的单元格值入库时使用的转换函数进行管理;所述项目表管理单元用于定长表项目码的管理,包括增加、删除、修改和自动识别回填;所述触发条件与任务集单元用于针对触发集下发缺口数据补录方案的触发条件,并自定义任务集进行触发;任务集为多个任务的组合,根据触发条件自动执行相应的任务。
触发集管理与监控模块用于对多个缺口数据补录方案组成的触发集进行配置和监控;
触发集是指在数据库或数据处理系统中用于定义触发条件的集合。触发条件是指当某些特定事件或条件发生时,系统会自动执行某些操作或任务。在数据库中,触发集通常与表或视图相关联,用于在插入、更新或删除操作发生时自动执行相应的操作。例如,当在某个表中插入一条新记录时,可以设置触发集来自动将该记录的数据复制到另一个表中,或者在记录插入时自动生成一条审计日志记录。
触发集通过定义一系列的触发条件来过滤特定的事件或条件,从而实现更细粒度的控制和自动化处理。这对于需要高度定制化、自动化处理的应用程序和数据管理场景非常有用。
在一个具体的实施例中,触发集管理与监控模块具体包括触发集管理单元和触发集监控单元;
触发集管理单元用于对触发集进行配置,定义触发数据补录的条件和规则;触发集监控单元用于对配置的触发集进行触发条件进度和触发结果的监控;
数据上传模块用于将补录的数据上传到用户指定的目标数据库或系统;
具体地,数据上传模块包括数据文件上传单元、方案任务监控单元和审核校验单元;
数据文件上传单元用于根据方案类型上传对应格式的数据文件,支持批量上传、指定数据日期等;
方案任务监控单元用于对上传的数据文件形成任务,并进行启动、查看等操作;
审核校验单元用于入库校验和审核校验,所述入库校验指数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
数据库用于从多个数据源获取缺口数据,并进行存储、管理和备份,为系统提供数据支持;
平台层包括MYBI-PIM、MYETL和第三方系统;
MYBI-PIM:BI中文译为商业智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值,通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具;PIM中文译为产品信息营销管理,意指企业对其产品信息进行制作加工,并且有效用于企业对外的营销之用;MYBI-PIM作为一个集成化的商业智能和项目管理信息平台,结合了商业智能(BI)和项目管理(PIM)的功能,提供权限控制功能,确保系统安全;同时提供系统管理功能,包括用户管理、系统设置等,以确保系统的稳定性和可靠性;
MYETL:作为自主研发的ETL工具,用于负责数据提取、转换和加载的过程,实现数据的清洗和整合,主要包括MYETL-GDP-JOB插件和MYETL作业重跑触发器,通过MYETL-CDP-JOB插件进行数据处理和作业调度,通过MYETL作业重跑触发器在作业失败时自动触发重跑机制;
第三方系统包括JAVA触发器、PLSQL触发器、REST通用接口和MYUI-GDP控件;
JAVA触发器和PLSQL触发器分别为使用Java和PL/SQL编写的触发器,用于在特定事件发生时执行相应的操作,增加系统的灵活性和自动化程度;触发器是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,执行不是由程序调用,也不是手工启动,而是由事件来触发。主要作用有:写入数据表前强制检验或转换数据;触发器发生错误时,异动的结果会被撤销;可依照特定的情况,替换异动的指令等等,在此不在赘述;
REST通用接口用于与其他系统进行通信和数据交互;
MYUI-GDP控件用于进行界面可视化展示。
如图3所示,为本发明的另一实施例,该实施例提供了缺口数据在线模板定制补录方法,包括以下步骤:
创建注册表:从多个数据源获取需要补录的缺口数据,在数据库中创建业务相关数据表用于存储所述缺口数据;
添加方案分类:按照业务需求或权限控制,通过方案管理模块对缺口数据补录方案进行分类维护;
准备函数:根据需求选择缺口数据补录方案中使用的预处理函数或自定义预处理函数,所述预处理函数包括转换函数、格式化函数、解析函数、校验函数和数据整合函数,数据上传前通过所述预处理函数对缺口数据进行预处理;
新增方案:通过模板配置模块在线定制数据补录的模板,为每个模版设置单独的JDBC数据源,并创建适配的目标表,配置缺口数据补录方案;
权限配置:配置缺口数据补录方案以及缺口数据的导入权限,确保只有授权的用户能够访问和操作缺口数据;
数据上传:根据配置好的缺口数据补录方案,动态创建入库链接,通过数据上传模块创建多个工作线程,每个工作线程中使用分布式事务管理器对不同类型的数据文件进行多线程并发读写,将所述缺口数据在线导入及批量线下导入用户指定的目标数据库或系统;
在一个实施例中,数据上传中基于多线程技术将符合要求、存储在标准EXCEL、CSV文件以及自定义分隔符文本文件中的缺口数据解析为数据库中对应目标表的数据并导入,包括:
根据文件扩展名识别文件类型;
根据识别出的文件类型,解析文件结构,包括确定Excel文件中包含的Sheet页以及Sheet页的布局和数据用于支持多sheet页导入,并定义一个维度到Sheet页名称的映射配置,将每个维度与相应Sheet页做映射来支持sheet页名称维度映射;
使用分批划分算法将数据分批处理,使用线程池创建多个工作线程并发读取、处理和导入数据,将数据映射到目标表中;
根据需要进行数据转换,包括日期格式转换和数值类型转换。
在一个具体的实施例中,分批划分算法包括递归划分算法,具体方法如下:
确定数据源和目标表,明确从哪个数据库或数据文件中获取缺口数据,以及将数据导入到哪个目标表中;
根据数据源和目标表的情况,确定批次大小,即每个批次所包含的数据量;
编写一个递归函数,用于对每个批次的数据进行迭代处理;
调用递归函数进行数据处理,并传入初始参数,所述初始参数为第一个批次的编号和批次大小;在递归函数中,将当前批次的数据处理完毕后,递归调用自身来处理下一个批次的数据;递归调用的终止条件是批次编号达到预设阈值或者批次中的数据量达到预设值;
当所有批次的数据都处理完毕后,如果剩余的数据量较小,则直接在内存中进行处理并插入到目标表中;如果剩余的数据量较大,则将其存入临时表中,然后使用常规的数据导入方法将其导入到目标表中;
数据审核:包括入库校验和审核校验,所述入库校验为数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
若入库校验失败,则无法导数成功,用户自行查看日志,比对数据出错处进行纠正;审核校验具体为用户选择任一字段并输入,校验正确通过的字符串数组,然后将导数后的数据根据字段进行分组与配置,与事先设定的字符串数组进行比对,根据比对结果判断是否通过审核校验。
综上所述,本发明通过可视化模版设计,配置数据模版支持不同形式的Excel文件导入及大数据量并发导入,通过自主研发的MYETL-GDP-JOB插件及MYETL作业重跑触发器的安装、卸载、升级的方式进行数据装载,不影响平台稳定性,极大提高了维护效率,仅通过升级插件即可以实现核心业务模块的升级,适用于复杂多变的需求场景。在权限控制方面,提供了多元化用户授权,不仅可以指定人员,还提供角色、机构、层级等多种权限控制;支持REST通用接口、JAVA触发器等多种方案以便于灵活的调用第三方系统。在业务方面为每个数据模板单独设置JDBC数据源,并创建适配的目标表,根据各自的数据源配置,动态创建入库链接,从而支持多源数据的导入。这意味着系统可以同时处理来自不同数据库的数据,而无需手动干预或配置,实现了多数据源的导数灵活性。使用分批划分算法将数据分批处理、多线程多进程并发导入,每个工作线程中使用分布式事务管理器进行管理,可以支持百万级别的数据量并发导入。
本发明中,后台不再使用传统的Excel格式文件进行模版的配置保存,而使用SpreadJS在线表格编辑器设置导数模版的配置,支持拖拽操作、快速定位等提高易用性的设计来简化缺口模版开发时间从而提高效率,为变化频繁的业务提供方便的数据录入功能,针对新需求只定义新模板即可建立外部Excel数据列与数据库数据表的字段之间的匹配关系,实现外部数据导入到数据库,而不必重新代码开发来满足需求,提供高效、灵活的数据补录工作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。该存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.缺口数据在线模版定制补录系统,其特征在于,所述系统包括:应用层、数据库和平台层;
所述应用层包括:
方案管理模块,用于缺口数据补录方案的创建、编辑、删除和审核;
模板配置模块,用于根据需求使用SpreadJS在线表格编辑器在线定制数据补录的模板;
触发集管理与监控模块,用于对多个缺口数据补录方案组成的触发集进行配置和监控;
数据上传模块,用于将补录的数据上传到用户指定的目标数据库或系统;
所述数据库用于从多个数据源获取缺口数据,并进行存储、管理和备份,为系统提供数据支持;
所述平台层包括:
MYBI-PIM,用于权限控制和系统管理,所述权限控制包括指定人员、角色、机构或层级的多元化授权控制;
MYETL,用于数据提取、转换和加载,包括MYETL-GDP-JOB插件和MYETL作业重跑触发器,通过所述MYETL- GDP -JOB插件进行数据处理和作业调度,通过MYETL作业重跑触发器在作业失败时自动触发重跑机制;
第三方系统,具体包括:
JAVA触发器和PLSQL触发器;
REST通用接口,用于与其他系统进行通信和数据交互;
MYUI-GDP控件,用于进行界面可视化展示;
所述缺口数据在线模版定制补录系统的补录方法包括:
创建注册表:从多个数据源获取需要补录的缺口数据,在数据库中创建业务相关数据表用于存储所述缺口数据;
添加方案分类:按照业务需求或权限控制,通过方案管理模块对缺口数据补录方案进行分类维护;
准备函数:根据需求选择缺口数据补录方案中使用的预处理函数或自定义预处理函数,所述预处理函数包括转换函数、格式化函数、解析函数、校验函数和数据整合函数,数据上传前通过所述预处理函数对缺口数据进行预处理;
新增方案:通过模板配置模块在线定制数据补录的模板,为每个模版设置单独的JDBC数据源,并创建适配的目标表,配置缺口数据补录方案;
权限配置:配置缺口数据补录方案以及缺口数据的导入权限,确保只有授权的用户能够访问和操作缺口数据;
数据上传:根据配置好的缺口数据补录方案,动态创建入库链接,通过数据上传模块创建多个工作线程,每个工作线程中使用分布式事务管理器对不同类型的数据文件进行多线程并发读写,将所述缺口数据在线导入及批量线下导入用户指定的目标数据库或系统;
数据审核:包括入库校验和审核校验,所述入库校验为数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
2.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,所述方案管理模块具体包括分类管理单元和方案管理单元;
所述分类管理单元用于按照业务领域、数据类型、数据来源或权限控制对所述缺口数据补录方案进行分类管理,包括对分类的添加、修改和删除;
所述方案管理单元用于对每种缺口数据补录方案的具体执行计划或策略进行管理,包括创建、修改、删除和导入导出。
3.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,所述模板配置模块具体包括:变长单表模板单元、变长多表模板单元、定长表模板单元、不规则文本模板单元、转换函数管理单元、项目码管理单元,以及触发条件与任务集单元;
所述变长单表模板单元、变长多表模板单元、定长表模板单元和不规则文本模板单元分别用于变长单表类型、变长多表类型、定长表类型和不规则文本类型的缺口数据补录方案进行在线模板配置交互;
所述转换函数管理单元用于对缺口数据补录方案的单元格值入库时使用的转换函数进行管理;
所述项目码管理单元用于定长表项目码的管理,包括增加、删除、修改和自动识别回填;
所述触发条件与任务集单元用于针对触发集下发缺口数据补录方案的触发条件,并自定义任务集进行触发。
4.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,所述触发集管理与监控模块具体包括触发集管理单元和触发集监控单元;
所述触发集管理单元用于对触发集进行配置,定义触发数据补录的条件和规则;
所述触发集监控单元用于对配置的触发集进行触发条件进度和触发结果的监控。
5.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,所述数据上传模块包括数据文件上传单元、方案任务监控单元和审核校验单元;
所述数据文件上传单元用于根据方案类型上传对应格式的数据文件,包括批量上传和指定数据日期;
方案任务监控单元用于对上传的数据文件形成任务,并进行启动、查看操作;
审核校验单元用于入库校验和审核校验,所述入库校验指数据文件入库时对入库的缺口数据进行正确性校验,所述审核校验是导数完成后对数据完整性进行校验。
6.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,所述数据上传中基于多线程技术将符合要求、存储在标准EXCEL、CSV文件以及自定义分隔符文本文件中的缺口数据解析为数据库中对应目标表的数据并导入,包括:
根据文件扩展名识别文件类型;
根据识别出的文件类型,解析文件结构,包括确定Excel文件中包含的Sheet页以及Sheet页的布局和数据用于支持多sheet页导入,并定义一个维度到Sheet页名称的映射配置,将每个维度与相应Sheet页做映射来支持sheet页名称维度映射;
使用分批划分算法将数据分批处理,使用线程池创建多个工作线程并发读取、处理和导入数据,将数据映射到目标表中;导数过程中若出现错误,则通过MYETL作业重跑触发器在作业失败时自动触发重跑机制;
根据需要进行数据转换,包括日期格式转换和数值类型转换。
7.根据权利要求6所述的缺口数据在线模版定制补录系统,其特征在于,所述分批划分算法包括递归划分算法,具体方法如下:
确定数据源和目标表,明确从哪个数据库或数据文件中获取缺口数据,以及将数据导入到哪个目标表中;
根据数据源和目标表的情况,确定批次大小,即每个批次所包含的数据量;
编写一个递归函数,用于对每个批次的数据进行迭代处理;
调用递归函数进行数据处理,并传入初始参数,所述初始参数为第一个批次的编号和批次大小;在递归函数中,将当前批次的数据处理完毕后,递归调用自身来处理下一个批次的数据;递归调用的终止条件是批次编号达到预设阈值或者批次中的数据量达到预设值;
当所有批次的数据都处理完毕后,如果剩余的数据量较小,则直接在内存中进行处理并插入到目标表中;如果剩余的数据量较大,则将其存入临时表中,然后使用常规的数据导入方法将其导入到目标表中。
8.根据权利要求1所述的缺口数据在线模版定制补录系统,其特征在于,若入库校验失败,则无法导数成功,用户自行查看日志,比对数据出错处进行纠正;所述审核校验具体为用户选择任一字段并输入,校验正确通过的字符串数组,然后将导数后的数据根据字段进行分组与配置,与事先设定的字符串数组进行比对,根据比对结果判断是否通过审核校验。
CN202311754933.5A 2023-12-20 2023-12-20 缺口数据在线模版定制补录系统及其方法 Active CN117608536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311754933.5A CN117608536B (zh) 2023-12-20 2023-12-20 缺口数据在线模版定制补录系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311754933.5A CN117608536B (zh) 2023-12-20 2023-12-20 缺口数据在线模版定制补录系统及其方法

Publications (2)

Publication Number Publication Date
CN117608536A CN117608536A (zh) 2024-02-27
CN117608536B true CN117608536B (zh) 2024-05-28

Family

ID=89953575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311754933.5A Active CN117608536B (zh) 2023-12-20 2023-12-20 缺口数据在线模版定制补录系统及其方法

Country Status (1)

Country Link
CN (1) CN117608536B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460007A (zh) * 2018-02-11 2018-08-28 悦锦软件系统(上海)有限公司 一种自动化报表逻辑引擎及方法
CN109669983A (zh) * 2018-12-27 2019-04-23 杭州火树科技有限公司 可视化多数据源etl工具
CN110989983A (zh) * 2019-11-28 2020-04-10 深圳航天智慧城市系统技术研究院有限公司 一种零编码的应用软件快速构建系统
CN111241797A (zh) * 2018-11-28 2020-06-05 常熟昊虞电子信息科技有限公司 基于SpreadJS技术的数据信息实时处理的系统
WO2021051627A1 (zh) * 2019-09-19 2021-03-25 平安科技(深圳)有限公司 基于数据库的批量导入方法、装置、设备及存储介质
CN112949275A (zh) * 2021-03-12 2021-06-11 中国平安财产保险股份有限公司 将电子表格导入数据库的方法、装置、设备及存储介质
CN115375430A (zh) * 2022-08-19 2022-11-22 中国银行股份有限公司 一种银行补录数据的批量解析和加载方法、装置及设备
CN115617780A (zh) * 2022-10-21 2023-01-17 深圳星融信息科技有限公司 数据导入方法、装置、设备及存储介质
WO2023125777A1 (zh) * 2021-12-31 2023-07-06 中兴通讯股份有限公司 录像数据补录方法、云存储服务器、系统及存储介质
CN116756129A (zh) * 2023-05-29 2023-09-15 中银金融科技有限公司 数据补录方法、装置、存储介质及电子设备
CN117076532A (zh) * 2023-08-14 2023-11-17 南京健云科技有限公司 一种支持多数据源的数据抽取转换加载系统
CN117236304A (zh) * 2023-03-10 2023-12-15 国云科技股份有限公司 一种基于模板配置的Excel通用导入的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463667B2 (en) * 2008-01-11 2013-06-11 Microsoft Corporation Exporting and importing business templates
US11640411B2 (en) * 2021-07-27 2023-05-02 Sap Se Data replication system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460007A (zh) * 2018-02-11 2018-08-28 悦锦软件系统(上海)有限公司 一种自动化报表逻辑引擎及方法
CN111241797A (zh) * 2018-11-28 2020-06-05 常熟昊虞电子信息科技有限公司 基于SpreadJS技术的数据信息实时处理的系统
CN109669983A (zh) * 2018-12-27 2019-04-23 杭州火树科技有限公司 可视化多数据源etl工具
WO2021051627A1 (zh) * 2019-09-19 2021-03-25 平安科技(深圳)有限公司 基于数据库的批量导入方法、装置、设备及存储介质
CN110989983A (zh) * 2019-11-28 2020-04-10 深圳航天智慧城市系统技术研究院有限公司 一种零编码的应用软件快速构建系统
CN112949275A (zh) * 2021-03-12 2021-06-11 中国平安财产保险股份有限公司 将电子表格导入数据库的方法、装置、设备及存储介质
WO2023125777A1 (zh) * 2021-12-31 2023-07-06 中兴通讯股份有限公司 录像数据补录方法、云存储服务器、系统及存储介质
CN115375430A (zh) * 2022-08-19 2022-11-22 中国银行股份有限公司 一种银行补录数据的批量解析和加载方法、装置及设备
CN115617780A (zh) * 2022-10-21 2023-01-17 深圳星融信息科技有限公司 数据导入方法、装置、设备及存储介质
CN117236304A (zh) * 2023-03-10 2023-12-15 国云科技股份有限公司 一种基于模板配置的Excel通用导入的实现方法
CN116756129A (zh) * 2023-05-29 2023-09-15 中银金融科技有限公司 数据补录方法、装置、存储介质及电子设备
CN117076532A (zh) * 2023-08-14 2023-11-17 南京健云科技有限公司 一种支持多数据源的数据抽取转换加载系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大数据时代下的动态可配置数据采集系统的研究与设计;丁俊;郑辉;;计算机应用与软件;20180315(第03期);全文 *
自定义报表平台的实施与应用;李晶;刘小秋;刘立超;;电力信息化;20130215(第02期) *

Also Published As

Publication number Publication date
CN117608536A (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US11726760B2 (en) Systems and methods for entry point-based code analysis and transformation
US11436006B2 (en) Systems and methods for code analysis heat map interfaces
US8024305B2 (en) Updating a data warehouse schema based on changes in an observation model
JPH04289920A (ja) 技術変更により影響を受けるバージョン化データオブジェクトの制御を実行する方法
JP2005508552A (ja) データ対象物向けメモリシステム
EP2610762A1 (en) Database version management system
US20220035847A1 (en) Information retrieval
US11514237B2 (en) Spreadsheet and method for updating same
CN106886539B (zh) 数据归档系统及方法
CN117608536B (zh) 缺口数据在线模版定制补录系统及其方法
JP3790614B2 (ja) 部品構成情報の変更履歴管理装置、方法及び方法を記録した記録媒体
US8150821B2 (en) System and method for using generic utilities to perform database utilities on mainframe operated DB2 databases
US20120209887A1 (en) System, Process and Article of Manufacture for Automatic Generation of Subsets of Existing Databases
CN117687681B (zh) 一种低代码应用的版本管理方法及系统
CN112051987B (zh) 业务数据处理方法、装置及设备、程序生成方法及装置
CN112579643B (zh) 一种继电保护模件信息控制方法和装置
JP2019101829A (ja) ソフトウェア部品管理システム、計算機および方法
US20240036890A1 (en) System and method of a modular framework for configuration and reuse of web components
US20230350895A1 (en) Computer-Implemented Method for Performing a System Assessment
EP4270234A1 (en) Computer-implemented method for performing a system assessment
JP2022117443A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Kelly et al. Managing data-based systems across releases using historical data dictionaries
Kühnhauser et al. Discover ABAP
JPH03202920A (ja) ユーザ資産の互換性の判定方法

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