CN116028454A - 一种多格式数据文件接收方法 - Google Patents
一种多格式数据文件接收方法 Download PDFInfo
- Publication number
- CN116028454A CN116028454A CN202310015763.2A CN202310015763A CN116028454A CN 116028454 A CN116028454 A CN 116028454A CN 202310015763 A CN202310015763 A CN 202310015763A CN 116028454 A CN116028454 A CN 116028454A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- file
- model
- turning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多格式数据文件接收方法,将数据解析和数据校验独立处理,通过上报数据文件的后缀,调用不同的解析器,实现支持多种格式的数据上报;自动读取定义的模型文件,建立数据的元描述,数据解析器通过元描述将文件数据读取到内存中,数据校验器通过数据的元描述校验数据,校验通过后调用配置的业务处理服务接口;数据的元描述支持简单的类型检测、长度检测、正则检测、非空检测等,可配置一个行校验器,进行指定的业务校验,一个模型配置一个数据处理服务,以便进行校验后的处理;数据处理支持多进程负载,服务内采用多线程技术,并发执行待处理的上报数据。数据接收和数据处理可独立部署,也可以集中部署,方便多机负载。
Description
技术领域
本发明涉及数据接收技术领域,具体涉及一种多格式数据文件接收方法。
背景技术
上报数据的接收是大部分政务监管系统必备的功能,通过接收企业、下级政府的数据,满足上级政府日常监管的需求。随着信息化的逐步深入,目前上报数据的量越来越大,一般数据接收系统会发布一个对外接口说明书,让数据上报系统将数据转换为接口说明书要求的格式进行上报,当上报的监管系统变多、且不同监管系统对数据的格式要求不一致时,给企业增加了一定的成本。
目前市场近似方案有一种:
方案一:
多格式科学数据文件处理,检测数据文件的格式,根据格式信息调取相应的解析组件解析数据,通过字段映射关系转换数据,达到支持多格式数据文件解析的效果。
现有方案的技术缺点如下:
1)、现有方案偏向数据的读取,缺少数据校验、业务数据持久化存储方面的支撑;
2)、数据接收和数据处理没有分离,无法应对高并发的场景;
3)、缺少业务处理的相关方案,仅偏向读取数据并按统一的格式存储,无法按数据的元描述转换数据。
发明内容
有鉴于此,为了解决现有技术中的上述问题,本发明提出一种多格式数据文件接收方法,通过定义数据的模型文件,建立数据的元描述,数据解析器通过元描述将数据读取到内存中,同时完成数据的简单映射;数据校验器通过数据的元描述校验数据,可进行类型检测、长度检测、正则检测、非空检测等,通过配置的行校验接口,可调用到业务接口,对数据进行一些必要的业务处理,可以方便企业上报数据,可提高数据接收系统的并发性。
本发明通过以下技术手段解决上述问题:
一种多格式数据文件接收方法,包括如下步骤:
将多格式数据文件接收方法分为数据接收服务和数据处理服务,并含数据模型、数据解析、数据校验三个基础的组件服务;
数据接收服务获取到数据后,通过上传者提交的业务类别代码获取适配的数据模型,通过文件类型获取适配的数据解析器,简单校验数据并将数据文件持久化到本地磁盘上,同时将描述信息持久化到数据库中;
数据处理服务读取待处理的上传记录,通过文件描述信息,获取适配的数据模型及数据解析器,读取数据到内存中,调用数据校验器对数据进行校验,含基础校验和业务校验;
数据处理服务在数据解析和校验通过后会调用数据模型中对应的业务处理服务处置数据。
作为优选地,所述数据模型是对数据的元描述,使得数据接收时能进行基本的业务类型、数据量校验。
作为优选地,所述数据模型加载流程,约定数据模型采用xml格式存储,存放在功能模块资源包的model目录下。
作为优选地,所述数据模型具体执行步骤如下:
S21、搜索运行包中的数据模型定义文件;
S22、判断是否还有待处理文件,有,转步骤S23,无,转步骤S25;
S23、读取数据模型定义文件,转换为数据模型对象后,按业务类别存入数据模型集合;
S24、转步骤S22;
S25、数据模型初始化完成,结束。
作为优选地,所述数据模型包含业务类型、显示名称、数据实体、行校验器、业务对象转换器、最大允许行数、业务处理服务和数据列元描述;数据列元描述包含列名、列显示名称、是否允许为空、数据类型、数据长度和正则校验模板;通过数据模型指导数据解析器和数据校验器工作。
作为优选地,所述数据接收服务包括如下步骤:
接收数据时,要求上报者按接口文档要求提交业务类别代码、文件类型、数据文件流,数据接收服务通过业务类别代码获取数据模型,通过文件类型获取数据解析器,然后获取到数据文件的表头信息,其中:
1、Excel为第一行的表头名称;
2、XML、JSON为第一行数据的数据项名称;
获取到表头信息后,与数据模型中的数据列元描述对比,一致就通过校验,不一致回相应的错误信息,提醒上报者核对业务类别;通过表头校验后,获取数据行数,与数据模型中最大允许记录数比较,小于等于则通过校验,大于则回相应的错误信息;数据行数校验通过后,系统会将数据文件存储到磁盘,并将数据文件的描述信息存储到数据库,这样数据接收就完成了。
作为优选地,所述数据处理服务包括如下步骤:
S1、根据数据文件描述获取数据模型;
S2、根据数据文件描述获取数据解析器;
S3、数据解析器解析数据文件内容,得到待处理数据集合;
S4、判断是否已经处理完成了所有数据集合,已完成则转步骤S12;未完成则转步骤S5;
S5、取出一个待处理数据行;逐数据项进行数据校验并收集错误信息;
S6、此数据行处理有无错误信息,有则转步骤S4;无则转步骤S7;
S7、判断此数据模型是否配置了对象转换器,有则转步骤S8;无则转步骤S9;
S8、使用对象转换器转换数据行,得到业务实体,转步骤S10;
S9、通过字段名信息直接转换业务实体,转步骤S10;
S10、调用行校验器校验业务实体,校验失败,转步骤S4;校验通过转步骤S11;
S11、将业务实体放入实体集合,转步骤S4;
S12、处理完数据集合后,判断有无错误信息,有则转步骤S13,无则转步骤S14;
S13、将错误信息存入上报数据文件的描述信息中,转步骤S15;
S14、调用业务处理服务处理业务实体集合,转步骤S15;
S15、处理结束。
与现有技术相比,本发明的有益效果至少包括:
1)、支持数据的校验及业务级的字段映射;
2)、数据接收(获取)和数据处理分离,通过服务负载的方式可灵活应对高并发场景;
3)、支持数据的业务处理,完成原始上报数据到业务持久化数据的转换;
4)、上报数据的描述信息持久化存储,可追踪到数据文件对应的业务数据,方便问题追溯;
5)、数据接收(获取)与数据处理独立,可集中部署,也可独立部署,支持多服务负载,提高系统吞吐量,应对高并发的场景;
6)、一个数据模型可配置一个数据处理服务,数据通过校验后,自动调用此数据处理服务,完成业务数据的持久化存储,可以方便企业上报数据,可提高数据接收系统的并发性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明多格式数据文件接收方法的流程图;
图2是本发明数据模型读取的流程图;
图3是本发明多格式数据文件接收方法的数据接收流程图;
图4是本发明多格式数据文件接收方法的数据处理流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。需要指出的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明多格式数据文件接收方法包含数据接收服务和数据处理服务,数据接收服务对外通过数据接收接口获取数据文件,上传者需要告知文件类型、业务类别代码,通过文件类型调用适配的数据解析器,通过业务类别代码获取适配的数据模型,简单校验数据的表头、数据量信息,将文件存储到磁盘,并将描述信息持久化存储到数据库中;数据处理服务获取待处理的记录,通过数据文件的描述信息,调用适配的解析器读取数据到内存中,然后调用校验器完成相关的校验工作,并自动调用业务处理服务。
参见图1,下面具体阐述本发明技术方案的基本内容,本发明多格式数据文件接收方法包括如下步骤:
1)、包含数据接收服务和数据处理服务,并含数据模型、数据解析、数据校验三个基础的组件服务;
2)、数据接收服务获取到数据后,通过上传者提交的业务类别代码获取适配的数据模型,通过文件类型获取适配的数据解析器,简单校验数据并将数据文件持久化到本地磁盘上,同时将描述信息持久化到数据库中;
3)、数据处理服务读取待处理的上传记录,通过文件描述信息,获取适配的数据模型及数据解析器,读取数据到内存中,调用数据校验器对数据进行校验,含基础校验和业务校验;
4)、数据处理服务在数据解析和校验通过后会调用数据模型中对应的业务处理服务处置数据。
多格式数据文件接收方法主要包含两大功能,数据接收、数据处理。数据模型是对数据的元描述,使得数据接收时能进行基本的业务类型、数据量校验;数据处理时能正确获取数据行,并进行相关的业务校验。
从图2可见,本发明数据模型加载流程,约定数据模型采用xml格式存储,存放在功能模块资源包的model目录下。具体执行步骤如下:
S21、搜索运行包中的数据模型定义文件;
S22、判断是否还有待处理文件,有,转步骤S23,无,转步骤S25;
S23、读取数据模型定义文件,转换为数据模型对象后,按业务类别存入数据模型集合;
S24、转步骤S22;
S25、数据模型初始化完成,结束。
上面为数据模型示例文件,本发明数据模型包含业务类型、显示名称、数据实体、行校验器、业务对象转换器、最大允许行数、业务处理服务、数据列元描述集合信息;数据列元描述包含列名、列显示名称、是否允许为空、数据类型、数据长度、正则校验模板。通过数据模型指导数据解析器、数据校验器工作。
如图3所示,多格式数据文件接收方法接收数据时,要求上报者按接口文档要求提交业务类别代码、文件类型、数据文件流,数据接收服务通过业务类别代码获取数据模型,通过文件类型获取数据解析器,然后获取到数据文件的表头信息,其中:
1、Excel为第一行的表头名称;
2、XML、JSON为第一行数据的数据项名称;
获取到表头信息后,与数据模型中的数据列元描述对比,一致就通过校验,不一致回相应的错误信息,提醒上报者核对业务类别;通过表头校验后,获取数据行数,与数据模型中最大允许记录数比较,小于等于则通过校验,大于则回相应的错误信息;数据行数校验通过后,系统会将数据文件存储到磁盘,并将数据文件的描述信息存储到数据库,这样数据接收就完成了。
如附图4所示,多格式数据文件接收方法的数据处理流程分为数据解析、数据校验、业务处理三个环节,此图只展示了单个任务的处理,具体步骤如下所示:
S1、根据数据文件描述获取数据模型;
S2、根据数据文件描述获取数据解析器;
S3、数据解析器解析数据文件内容,得到待处理数据集合;
S4、判断是否已经处理完成了所有数据集合,已完成则转步骤S12;未完成则转步骤S5;
S5、取出一个待处理数据行;逐数据项进行数据校验并收集错误信息;
S6、此数据行处理有无错误信息,有则转步骤S4;无则转步骤S7;
S7、判断此数据模型是否配置了对象转换器,有则转步骤S8;无则转步骤S9;
S8、使用对象转换器转换数据行,得到业务实体,转步骤S10;
S9、通过字段名信息直接转换业务实体,转步骤S10;
S10、调用行校验器校验业务实体,校验失败,转步骤S4;校验通过转步骤S11;
S11、将业务实体放入实体集合,转步骤S4;
S12、处理完数据集合后,判断有无错误信息,有则转步骤S13,无则转步骤S14;
S13、将错误信息存入上报数据文件的描述信息中,转步骤S15;
S14、调用业务处理服务处理业务实体集合,转步骤S15;
S15、处理结束。
本发明多格式数据文件接收方法通过将数据接收和数据处理分离,数据接收时只进行简单的校验,提高系统的并发处理能力;数据处理时,可利用多线程、多进程技术,最大化的利用计算机资源快速处理待处理的数据文件。本发明在数据处理时数据读取、数据校验是分离的,根据数据文件描述信息选择合适的数据解析器读取数据,然后调用统一的数据校验器,在数据模型的指导下对数据进行多重校验,本发明更多的侧重在数据校验、数据转换上的灵活性,模型文件支持数据项的简单校验,支持实体转换,支持行校验,
背景技术中的近似方案则侧重在数据的读取上,与本方案有本质的不同。
本发明多格式数据文件接收方法将数据解析和数据校验独立处理,通过上报数据文件的后缀,调用不同的解析器,实现支持多种格式的数据上报;本发明启动后,自动读取定义的模型文件,建立数据的元描述,数据解析器通过元描述将文件数据读取到内存中,数据校验器通过数据的元描述校验数据,校验通过后调用配置的业务处理服务接口;数据的元描述支持简单的类型检测、长度检测、正则检测、非空检测等,可配置一个行校验器,进行指定的业务校验,一个模型配置一个数据处理服务,以便进行校验后的处理;上报数据的描述信息进行持久化存储,可追踪到相应的上报文件及业务数据,方便问题追溯,并可查看上报文件当前处理状态;数据的接收和数据处理异步进行,数据接收的过程会调用解析器进行简单的表头、数据行数校验。数据处理支持多进程负载,服务内采用多线程技术,并发执行待处理的上报数据。数据接收和数据处理可独立部署,也可以集中部署,方便多机负载。
本发明针对背景技术的不足,数据接收(获取)与数据处理独立,可集中部署,也可独立部署,支持多服务负载,提高系统吞吐量,应对高并发的场景;通过定义数据的模型文件,建立数据的元描述,数据解析器通过元描述将数据读取到内存中,同时完成数据的简单映射;数据校验器通过数据的元描述校验数据,可进行类型检测、长度检测、正则检测、非空检测等,通过配置的行校验接口,可调用到业务接口,对数据进行一些必要的业务处理;一个数据模型可配置一个数据处理服务,数据通过校验后,自动调用此数据处理服务,完成业务数据的持久化存储。本发明较之现有的方案,优势特点主要体现在以下几方面:
1)、支持数据的校验及业务级的字段映射;
2)、数据接收(获取)和数据处理分离,通过服务负载的方式可灵活应对高并发场景;
3)、支持数据的业务处理,完成原始上报数据到业务持久化数据的转换;
4)、上报数据的描述信息持久化存储,可追踪到数据文件对应的业务数据,方便问题追溯。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种多格式数据文件接收方法,其特征在于,包括如下步骤:
将多格式数据文件接收方法分为数据接收服务和数据处理服务,并含数据模型、数据解析、数据校验三个基础的组件服务;
数据接收服务获取到数据后,通过上传者提交的业务类别代码获取适配的数据模型,通过文件类型获取适配的数据解析器,简单校验数据并将数据文件持久化到本地磁盘上,同时将描述信息持久化到数据库中;
数据处理服务读取待处理的上传记录,通过文件描述信息,获取适配的数据模型及数据解析器,读取数据到内存中,调用数据校验器对数据进行校验,含基础校验和业务校验;
数据处理服务在数据解析和校验通过后会调用数据模型中对应的业务处理服务处置数据。
2.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据模型是对数据的元描述,使得数据接收时能进行基本的业务类型、数据量校验。
3.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据模型加载流程,约定数据模型采用xml格式存储,存放在功能模块资源包的model目录下。
4.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据模型具体执行步骤如下:
S21、搜索运行包中的数据模型定义文件;
S22、判断是否还有待处理文件,有,转步骤S23,无,转步骤S25;
S23、读取数据模型定义文件,转换为数据模型对象后,按业务类别存入数据模型集合;
S24、转步骤S22;
S25、数据模型初始化完成,结束。
5.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据模型包含业务类型、显示名称、数据实体、行校验器、业务对象转换器、最大允许行数、业务处理服务和数据列元描述;数据列元描述包含列名、列显示名称、是否允许为空、数据类型、数据长度和正则校验模板;通过数据模型指导数据解析器和数据校验器工作。
6.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据接收服务包括如下步骤:
接收数据时,要求上报者按接口文档要求提交业务类别代码、文件类型、数据文件流,数据接收服务通过业务类别代码获取数据模型,通过文件类型获取数据解析器,然后获取到数据文件的表头信息,其中:
1、Excel为第一行的表头名称;
2、XML、JSON为第一行数据的数据项名称;
获取到表头信息后,与数据模型中的数据列元描述对比,一致就通过校验,不一致回相应的错误信息,提醒上报者核对业务类别;通过表头校验后,获取数据行数,与数据模型中最大允许记录数比较,小于等于则通过校验,大于则回相应的错误信息;数据行数校验通过后,系统会将数据文件存储到磁盘,并将数据文件的描述信息存储到数据库,这样数据接收就完成了。
7.根据权利要求1所述的多格式数据文件接收方法,其特征在于,所述数据处理服务包括如下步骤:
S1、根据数据文件描述获取数据模型;
S2、根据数据文件描述获取数据解析器;
S3、数据解析器解析数据文件内容,得到待处理数据集合;
S4、判断是否已经处理完成了所有数据集合,已完成则转步骤S12;未完成则转步骤S5;
S5、取出一个待处理数据行;逐数据项进行数据校验并收集错误信息;
S6、此数据行处理有无错误信息,有则转步骤S4;无则转步骤S7;
S7、判断此数据模型是否配置了对象转换器,有则转步骤S8;无则转步骤S9;
S8、使用对象转换器转换数据行,得到业务实体,转步骤S10;
S9、通过字段名信息直接转换业务实体,转步骤S10;
S10、调用行校验器校验业务实体,校验失败,转步骤S4;校验通过转步骤S11;
S11、将业务实体放入实体集合,转步骤S4;
S12、处理完数据集合后,判断有无错误信息,有则转步骤S13,无则转步骤S14;
S13、将错误信息存入上报数据文件的描述信息中,转步骤S15;
S14、调用业务处理服务处理业务实体集合,转步骤S15;
S15、处理结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310015763.2A CN116028454A (zh) | 2023-01-06 | 2023-01-06 | 一种多格式数据文件接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310015763.2A CN116028454A (zh) | 2023-01-06 | 2023-01-06 | 一种多格式数据文件接收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028454A true CN116028454A (zh) | 2023-04-28 |
Family
ID=86073663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310015763.2A Pending CN116028454A (zh) | 2023-01-06 | 2023-01-06 | 一种多格式数据文件接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028454A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117390101A (zh) * | 2023-10-16 | 2024-01-12 | 上海易立德信息技术股份有限公司 | 一种数据可持久化方法以及可持久化系统 |
-
2023
- 2023-01-06 CN CN202310015763.2A patent/CN116028454A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117390101A (zh) * | 2023-10-16 | 2024-01-12 | 上海易立德信息技术股份有限公司 | 一种数据可持久化方法以及可持久化系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7200588B1 (en) | Method and mechanism for analyzing trace data using a database management system | |
CN102831052B (zh) | 测试用例自动化生成装置及方法 | |
CN116028454A (zh) | 一种多格式数据文件接收方法 | |
CN112486719A (zh) | 一种用于rpc接口调用失败处理的方法及设备 | |
CN101604290B (zh) | 一种后台模块测试方法和后台模块测试系统 | |
CN104750814B (zh) | 基于多传感器的多元异构数据流自动入库方法 | |
CN114443468A (zh) | 一种基于Excel表格的测试对比方法及系统 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
US20220318205A1 (en) | Machine station file processing methods and machine station file processing systems | |
CN113407565A (zh) | 跨库数据查询方法、装置和设备 | |
CN114154020B (zh) | 基于动态标签映射的大容量数据处理方法及装置 | |
CN108984757A (zh) | 一种数据导入方法及设备 | |
CN110457279B (zh) | 数据离线扫描方法、装置、服务器及可读存储介质 | |
CN116680270A (zh) | 数据表转换方法、装置和存储介质 | |
CN113704123B (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN110825795B (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 | |
CN108304471A (zh) | 一种数据异构存储方法以及数据异构存储装置 | |
CN111061749B (zh) | 基于事务顺序分析的数据库事务并发重做方法和装置 | |
CN114371884A (zh) | Flink计算任务的处理方法、装置、设备和存储介质 | |
CN114282895A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112597040A (zh) | 一种界面自动化测试方法、装置及电子设备 | |
CN111639936A (zh) | 交易信息的获取方法、装置、电子设备及可读存储介质 | |
CN114363221B (zh) | 一种基于微服务系统的心跳检测方法、存储介质、电子设备及系统 | |
CN115422126B (zh) | 一种证照ofd版式文件快速转图片的方法、系统及装置 | |
CN114546942B (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 |