CN111897845B - 一种基于流程实现海量信用信息处理方法及*** - Google Patents
一种基于流程实现海量信用信息处理方法及*** Download PDFInfo
- Publication number
- CN111897845B CN111897845B CN202010743848.9A CN202010743848A CN111897845B CN 111897845 B CN111897845 B CN 111897845B CN 202010743848 A CN202010743848 A CN 202010743848A CN 111897845 B CN111897845 B CN 111897845B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- information
- verification
- record
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 228
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012795 verification Methods 0.000 claims abstract description 131
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 43
- 230000001502 supplementing effect Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于流程实现海量信用信息处理方法及***,包括将所有有关信用的资源信息及验证逻辑通过元数据进行统一描述,并存入数据库中;根据服务器的配置设置与其匹配数量的线程池负责多任务处理,将多个任务对应的数据处理流程以并发方式同时执行,每一个任务对应的数据处理流程划分为多个按序进行的数据处理子流程。本发明基于流程方式抽象整个处理逻辑,满足不同资源的不同处理业务及特定业务逻辑,通过在流程和步骤前后增加监听,实现对执行情况进行实时监控。所有处理流程实例采用并发方式分块执行,保障***处理高效、稳定。相同资源重复性验证采用队列方式进行排队执行,确保信用记录唯一性。
Description
技术领域
本发明涉及一种基于流程实现海量信用信息处理方法,属于数据查询技术领域。
背景技术
公共信用信息相关国家标准对信用主体(包括自然人,法人或其他组织)及其信用信息定义了7个大类,37个小类,共102个信息资源,实际应用中还会增加更多不同领域的信用信息。这些信息主要由相关委办局通过三种途径进入公共信用信息平台,分别是:通过文件手工导入,前置库直接对接交换导入,调用WEB服务方式自动获取数据。其中,文件常用格式为Excel,CSV或TXT等。
然而,无论采用哪种方式都需要先对信息进行处理,主要包括数据格式验证、关联验证、重复性验证以及加密处理等。具体的,数据格式验证是指对单个信息项验证,如合规的身份证号码,信息项之间验证,如发布日期小于过期日期。关联验证即通过证件类型和证据号码和主体信息进行关联,使得相同主体信用信息都有唯一主体ID进行关联,方便后期实现各种查询、分析、聚集应用;关联不上的数据需要根据验证信息项对主体信息进行增补,从而确保信用信息有主体信息进行关联。重复性验证避免存在重复信用信息记录,依据记录中多个关键业务字段判断记录是否重复。加密处理即对个人隐私相关的信息项需进行加密存储。
目前,一般采用整体处理方法,即加载全部数据进行处理,但在实际使用过程中存在如下问题:
1、为了防止数据量过大,对一次性加载的数据进行大小限制,操作人员需手动分割为多个文件,操作麻烦,效率低;
2、由于信息资源多,信息量大,处理逻辑复杂,处理效率较低,业务高峰期并发量大时,常常会导致***不稳定、甚至因内存过载宕机;
3、不同资源的验证方式和逻辑有差异,个性化的验证实现需要独立开发,通用性不强,可维护性低。
发明内容
针对上述现有技术存在的问题,本发明提供一种基于流程实现海量信用信息处理方法及***,能够充分利用***计算能力,实现高效处理海量数据;稳定性好,具有较高并发处理能力;其通过元数据定义验证规则,满足不同资源的灵活验证规则,通用性强。
为了实现上述目的,本发明采用如下技术方案:一种基于流程实现海量信用信息处理方法,包括:
将所有有关信用的资源信息及验证逻辑通过元数据进行统一描述,并存入数据库中;
根据服务器的配置设置与其匹配数量的线程池负责多任务处理,将多个任务对应的数据处理流程以并发方式同时执行,每一个任务对应的数据处理流程划分为多个按序进行的数据处理子流程;
每一个数据处理子流程包括三个步骤,依次为:获取数据、处理数据和存储数据;
所述获取数据是将所述数据处理子流程所属数据处理流程中的数据以分块方式进行流式获取,每个分块最多固定数量记录的参数根据服务器的配置进行设置,分块数量与所属数据处理流程中的数据处理子流程的数量相同;
所述处理数据是对获取的数据进行处理;
所述存储数据是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,告知客户;
各个数据处理流程启动后加载元信息至流程执行上下文中,数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后***相关业务流程逻辑;每个步骤处理后都持久化处理状态,用于统计处理情况,成功数量、失败数量。
所述通过元数据进行统一描述是指对有关信用的各个资源信息按照资源名称、资源编码、资源信息记录重复规则进行描述,根据资源名称、资源编码、资源信息记录重复规则进行资源信息的初步分类处理;每个资源信息中的各项元数据包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则。
所述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。
所述处理数据包括格式验证、块记录重复验证、关联验证和信息转换,
所述格式验证是根据元信息中配置的验证规则进行验证;
所述块记录重复验证用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合;
所述关联验证是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
所述信息转换是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
所述存储数据在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行;历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
所述存储数据中生成错误记录文件的写步骤按批量方式进行,根据记录状态进行过滤,只有标记为验证错误状态且非重复错误标记才写文件,重复记录数据直接丢弃;在步骤开始之前打开流,步骤结束后关闭流生成文件,记录在内存中设定窗口值,超过该窗口值则批量写入;所述存储数据中写入数据库的入库步骤按批量方式进行,并根据服务器配置设定窗口值进行批量写入,仅写入非错误状态数据记录。
一种基于流程实现海量信用信息处理***,包括:
数据库,存储有通过元数据描述的所有有关信用的资源信息及验证逻辑;
服务器,设有与其配置相匹配数量、负责多任务处理的线程池;
数据处理流程,与待处理任务一一对应,并包括多个按序进行的数据处理子流程;多个任务对应的数据处理流程以并发方式同时执行;
数据处理子流程,包括获取数据单元、处理数据单元和存储数据单元;
所述获取数据单元是将所述数据处理子流程所属数据处理流程中的数据以分块方式进行流式获取,每个分块最多固定数量记录的参数根据服务器的配置进行设置,分块数量与所属数据处理流程中的数据处理子流程的数量相同;
所述处理数据单元是对获取的数据进行处理;
所述存储数据单元是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,告知客户;
各个数据处理流程启动后加载元信息至流程执行上下文中,数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后***相关业务流程逻辑;每个步骤处理后都持久化处理状态,用于统计处理情况,成功数量、失败数量。
所述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。
所述处理数据单元包括格式验证单元、块记录重复验证单元、关联验证单元和信息转换单元,
所述格式验证单元是根据元信息中配置的验证规则进行验证;
所述块记录重复验证单元用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合;
所述关联验证单元是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
所述信息转换单元是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
所述存储数据单元在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行;历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
与现有的技术相比,本发明基于流程方式抽象整个处理逻辑,满足不同资源的不同处理业务及特定业务逻辑,通过在流程和步骤前后增加监听,实现对执行情况进行实时监控。所有处理流程实例采用并发方式分块执行,保障***处理高效、稳定。相同资源重复性验证采用队列方式进行排队执行,确保信用记录唯一性。
附图说明
图1为本发明的主流程图;
图2为本发明监听的示意图;
图3为本发明数据处理的流程图;
图4为本发明多个任务对应的数据处理流程示意图;
图5为整体处理与流程处理耗时对比图。
具体实施方式
下面结合附图对本发明实施中的技术方案进行清楚,完整的描述,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图4所示,本发明提供的一种基于流程实现海量信用信息处理方法,包括:
将所有有关信用的资源信息及验证逻辑通过元数据进行统一描述,并存入数据库中;通过元数据进行统一描述是指对有关信用的各个资源信息按资源名称、资源编码、资源信息记录重复规则等项进行描述,方便后期根据资源名称、资源编码、资源信息记录重复规则进行资源信息的初步分类处理;每个资源信息中的各项元数据可包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则;换言之,资源元信息描述包括资源名称、资源编码(对应数据表名称)、资源信息记录重复规则等;描述资源信息项元数据主要包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则等。其中,验证规则可以同时设置多个,验证规则包括静态规则和动态规则。静态规则包括各种证件号码规则、日期格式以及自定义规则表达式等。动态规则是信息项之间比较验证,包括日期区间、条件不等、条件相等、条件必填、条件不必填等。转换规则对数据进行转换,如性别男转换为“01”,性别女转换为“02”。重复验证规则通过指定多个字段按顺序组合进行唯一标识,如证件类型、证件号码、许可编号三个字段唯一确定一条记录。每种规则都包括编码及错误提示信息,编码用于识别,错误提示信息用于描述验证失败记录的错误原因。
下面列举两个典型信用信息资源的元信息。
表1 拖欠公用事业费用信息
表2 海关高级认证企业信息
如上表1和表2可见,拖欠公用事业费用信息、海关高级认证企业信息两个不同信用信息的资源元信息描述均包括名称、编码、重复验证规则,一个信用信息中的各个信息项元信息均包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则等,而具体的重复验证规则和各个信息项资源元信息的描述项则根据信用信息资源自身的特性进行设置。
***启动时加载数据库中已有的主体识别信息至缓存中,主体识别信息包括证件类型和证件号码以及主体ID;数据处理流程启动后首先加载元信息至流程执行上下文中,后续步骤根据其元信息解析数据处理逻辑。先加载主体识别信息和元信息可避免处理流程过程中频繁和数据库进行交互降低整体处理性能。
根据服务器的配置设置与其匹配数量的线程池负责多任务处理,如图4所示,将多个任务对应的数据处理流程以并发方式同时执行,每一个任务对应的数据处理流程划分为多个按序进行的数据处理子流程。
上述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。手动启动即用户手动上传各种信用信息数据文件;定时启动主要针对库对库交换任务,给交换任务设置cron定时表达式,***根据cron定时自动启动处理流程。其中,由于***定时自动启动,待处理的数据处理流程会自行与数据库中的信息进行匹配,不存在文件格式不对的情况。对于手动启动,由操作者导入文件,当导入文件的格式不对时,***会生成提醒内容,告知导入的文件格式不对,提醒用户做出相应的调整或更换。
每一个数据处理子流程包括三个步骤,依次为:获取数据、处理数据和存储数据;所述获取数据步骤采用分块方式进行流式获取;所述处理数据步骤是对数据进行格式验证、块记录重复验证、关联验证、信息转换等操作;所述存储数据是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,方便用户下载检查修正。
具体的,所述获取数据步骤按分块方式流式获取数据,每个分块最多固定数量记录的参数根据服务器的配置进行设置。读取文件采用块缓冲方式读取,读取数据库采用分页方式读取,保证块数据占用内存平稳。数据源对应数据库连接池参数需配置支持多任务,保障并行任务读取性能。
所述处理数据步骤包括格式验证、块记录重复验证、关联验证和信息转换,其中,格式验证根据元信息中配置上述验证规则进行验证。
所述块记录重复验证用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合。
所述关联验证是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别信息记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率。
所述信息转换是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息。最终全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
所述存储数据在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行。历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
所述存储数据中生成错误记录文件的写步骤按批量方式进行,根据记录状态进行过滤,只有标记为验证错误状态且非重复错误标记才写文件,重复记录数据直接丢弃;在步骤开始之前打开流,步骤结束后关闭流生成文件,记录在内存中设定窗口值,超过该窗口值则批量写入;所述存储数据中写入数据库的入库步骤按批量方式进行,并根据服务器配置设定窗口值进行批量写入,仅写入非错误状态数据记录。存储数据源对应数据库连接池参数需配置支持多任务,保障并行任务写入性能。
上述数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后事件***中***相关业务逻辑。每个步骤处理后事件都进行异常处理和持久化处理状态,用于统计处理情况,成功数量、失败数量。其中,所述失败数量有格式验证错误数量、重复数据数量。如存储步骤执行前事件批量进行与历史记录对比数据记录是否重复,若重复,则增加重复数据数量。
下面参照附图对本发明的实施例作详细说明:
以图4所示六个任务对应的数据处理流程为例,假设A资源处理流程为上述表1中拖欠公用事业费用信息,B资源处理流程为上述表2中海关高级认证企业信息,C资源处理流程为企业银行贷款信息,前期处理过程中,六个数据处理流程以并发的方式同时执行,相互之间独立处理,互不影响。而每一个任务对应的数据处理流程划分为多个按序进行的数据处理子流程。以第一个A资源处理流程为例:
第一个A资源处理流程划分为A11、A12、A13、......等多个按序进行的数据处理子流程,先采用分块方式对A11、A12、A13、......进行流式获取,即每次获取一个分块数据,如先获取A11对应的数据,如图3所示,可先对A11进行块记录重复验证操作,根据其重复验证规则(代码类型,代码,欠缴类型,欠费金额,认定部门,认定日期)确定A11数据中有没有相互重复的记录,对于重复记录打上重复标记,后续作为错误数据不再处理;不重复的数据继续进行后续步骤处理。
然后,进行格式验证,具体是:根据其包含的信息项元信息(包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则)验证A11的数据格式是否符合要求,若符合,则进入后续处理;否则,作为错误数据不再处理;
接着,进行关联验证,即将A11的主体识别信息与***启动中已加载在缓存中的主体识别信息记录进行对比,对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
对关联成功的记录和增补主体信息进行验证,若不合规,则生产文件(用原始数据导出文件);若合规,则对相关数据不符字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库;
最后,入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行。历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
待数据处理子流程A11结束后,再开始对数据处理子流程A12进行上述操作,.......依次类推,直至第一个A资源处理流程划分的所有数据处理子流程处理完后则完成第一个A资源处理流程的处理。
当第一个A资源处理流程在进行处理时,另一个A资源处理流程及其它资源处理流程也以并发的方式同时执行,相互之间独立处理,互不影响。相同资源处理流程在合格数据入库之前均需要与历史记录对比验证是否重复,而且其入库操作以在队列中排队的方式串行执行。
数据处理方法的优劣以数据处理时间作为主要性能参数,即可以通过数据处理时间去验证处理方法的实际应用效果。下面,在相同服务器上进行多组不同数量数据进行对比实验。
测试服务器参数如下:
CPU:i5-4750(4核);内存:16G(DDR4 8G*2);磁盘容量:1T(7200转)
场景一设计:
测试数据量分别为:0.6w/2.4w/7.2w/24w的数据文件,对比整体处理和基于流程处理两者性能。
测试性能数据如下表所示:
表3 整体处理与流程处理耗时对比表
与上述表3中数据处理耗时对应、更直观的对比分析图如图5所示。结合上表可见,基于流程方式数据处理耗时比整体处理耗时平均提升了707%,性能远远超出基于整体处理数据方式。流程处理在人工启动状态下达到1000条每秒。
场景二设计:
表4 基于流程处理库对库并行处理耗时表
库对库并发处理性能对比如表4所示。任务并发运行时***各项参数保持平稳,数据处理速度平均达到2500条每秒。业务量特别大时,可运行多个实例,完全能够满足省级平台在业务高峰期的数据处理能力。
本发明提供的基于流程实现海量信用信息处理***,包括:
数据库,存储有通过元数据描述的所有有关信用的资源信息及验证逻辑;
服务器,设有与其配置相匹配数量、负责多任务处理的线程池;
数据处理流程,与待处理任务一一对应,并包括多个按序进行的数据处理子流程;多个任务对应的数据处理流程以并发方式同时执行;
数据处理子流程,包括获取数据单元、处理数据单元和存储数据单元;
所述获取数据单元是将所述数据处理子流程所属数据处理流程中的数据以分块方式进行流式获取,每个分块最多固定数量记录的参数根据服务器的配置进行设置,分块数量与所属数据处理流程中的数据处理子流程的数量相同;
所述处理数据单元是对获取的数据进行处理;
所述存储数据单元是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,告知客户;
各个数据处理流程启动后加载元信息至流程执行上下文中,数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后***相关业务流程逻辑;每个步骤处理后都持久化处理状态,用于统计处理情况,成功数量、失败数量。
所述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。
所述处理数据单元包括格式验证单元、块记录重复验证单元、关联验证单元和信息转换单元,
所述格式验证单元是根据元信息中配置的验证规则进行验证;
所述块记录重复验证单元用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合;
所述关联验证单元是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
所述信息转换单元是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
所述存储数据单元在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行;历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
综上所述,本发明基于流程方式抽象整个处理逻辑,满足不同资源的不同处理业务及特定业务逻辑,通过在流程和步骤前后增加监听,实现对执行情况进行实时监控。所有处理流程实例采用并发方式分块执行,保障***处理高效、稳定。相同资源重复性验证采用队列方式进行排队执行,确保信用记录唯一性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (8)
1.一种基于流程实现海量信用信息处理方法,其特征在于,所述方法包括:
将所有有关信用的资源信息及验证逻辑通过元数据进行统一描述,并存入数据库中;
根据服务器的配置设置与其匹配数量的线程池负责多任务处理,将多个任务对应的数据处理流程以并发方式同时执行,每一个任务对应的数据处理流程划分为多个按序进行的数据处理子流程;
每一个数据处理子流程包括三个步骤,依次为:获取数据、处理数据和存储数据;
所述获取数据是将所述数据处理子流程所属数据处理流程中的数据以分块方式进行流式获取,每个分块最多固定数量记录的参数根据服务器的配置进行设置,分块数量与所属数据处理流程中的数据处理子流程的数量相同;
所述处理数据是对获取的数据进行处理;
所述存储数据是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,告知客户;
各个数据处理流程启动后加载元信息至流程执行上下文中,数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后***相关业务流程逻辑;每个步骤处理后都持久化处理状态,用于统计处理情况,成功数量、失败数量;
所述处理数据包括格式验证、块记录重复验证、关联验证和信息转换,
所述格式验证是根据元信息中配置的验证规则进行验证;
所述块记录重复验证用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合;
所述关联验证是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
所述信息转换是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
2.根据权利要求1所述的一种基于流程实现海量信用信息处理方法,其特征在于,所述通过元数据进行统一描述是指对有关信用的各个资源信息按照资源名称、资源编码、资源信息记录重复规则进行描述,根据资源名称、资源编码、资源信息记录重复规则进行资源信息的初步分类处理;每个资源信息中的各项元数据包括名称、描述、数据类型、是否必填项、验证规则、是否加密、转换规则。
3.根据权利要求1所述的一种基于流程实现海量信用信息处理方法,其特征在于,所述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。
4.根据权利要求1所述的一种基于流程实现海量信用信息处理方法,其特征在于,所述存储数据在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行;历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
5.根据权利要求1所述的一种基于流程实现海量信用信息处理方法,其特征在于,所述存储数据中生成错误记录文件的写步骤按批量方式进行,根据记录状态进行过滤,只有标记为验证错误状态且非重复错误标记才写文件,重复记录数据直接丢弃;在步骤开始之前打开流,步骤结束后关闭流生成文件,记录在内存中设定窗口值,超过该窗口值则批量写入;所述存储数据中写入数据库的入库步骤按批量方式进行,并根据服务器配置设定窗口值进行批量写入,仅写入非错误状态数据记录。
6.一种基于流程实现海量信用信息处理***,其特征在于,包括:
数据库,存储有通过元数据描述的所有有关信用的资源信息及验证逻辑;
服务器,设有与其配置相匹配数量、负责多任务处理的线程池;
数据处理流程,与待处理任务一一对应,并包括多个按序进行的数据处理子流程;多个任务对应的数据处理流程以并发方式同时执行;
数据处理子流程,包括获取数据单元、处理数据单元和存储数据单元;
所述获取数据单元是将所述数据处理子流程所属数据处理流程中的数据以分块方式进行流式获取,每个分块最多固定数量记录的参数根据服务器的配置进行设置,分块数量与所属数据处理流程中的数据处理子流程的数量相同;
所述处理数据单元是对获取的数据进行处理;
所述存储数据单元是将处理后的合格数据写入数据库,不合格的数据生成错误记录文件,告知客户;
各个数据处理流程启动后加载元信息至流程执行上下文中,数据处理流程和流程步骤均可进行事件监听,用于在执行前和执行后***相关业务流程逻辑;每个步骤处理后都持久化处理状态,用于统计处理情况,成功数量、失败数量;
所述处理数据单元包括格式验证单元、块记录重复验证单元、关联验证单元和信息转换单元,
所述格式验证单元是根据元信息中配置的验证规则进行验证;
所述块记录重复验证单元用于确定本次处理记录中没有相互重复的记录,后续步骤可进行并发处理;根据元信息配置的验证重复字段列表生成记录摘要信息,在缓存中以当前处理资源信息编码命名的去重集合中存储摘要信息,如果对应摘要信息已经存在,则返回已经存在状态;对于重复记录打上重复标记,后续作为错误数据不再处理;块记录不重复的数据继续进行后续步骤处理;整个流程结束后判断是否有当前资源的其他任务正在运行,如果没有,则清除缓存中保存当前资源摘要信息的去重集合;
所述关联验证单元是将获取的数据与信用主体信息进行关联,即仅将获取数据的主体识别信息与***启动时已加载在缓存中的主体识别记录进行对比;对成功关联记录增加主体识别ID字段;没有关联成功的数据生成唯一主体ID增加至当前记录中,同时触发增补事件,增补监听过程将对应的主体信息增补至数据库中;增补过程独立处理可保障主流程处理效率;
所述信息转换单元是对获取的数据部分字段根据元信息配置进行转换和信息加密,同时保留字段原始信息;全部验证合规数据记录用转换后字段数据入库,验证不合格记录用原始数据导出文件。
7.根据权利要求6所述的一种基于流程实现海量信用信息处理***,其特征在于,所述每一个任务对应的数据处理流程由用户手动启动,或***定时自动启动。
8.根据权利要求6所述的一种基于流程实现海量信用信息处理***,其特征在于,所述存储数据单元在合格数据入库之前需要与历史记录对比验证是否重复,对于多个同时运行、相同资源的数据处理流程在队列中排队的方式串行执行,对于多个同时运行、不同资源的数据处理流程以并发方式执行;历史记录重复验证步骤与块内记录判断重复机制一样,通过对比摘要信息进行验证,验证过程采用批量验证方式,对于重复记录置重复错误标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743848.9A CN111897845B (zh) | 2020-07-29 | 2020-07-29 | 一种基于流程实现海量信用信息处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743848.9A CN111897845B (zh) | 2020-07-29 | 2020-07-29 | 一种基于流程实现海量信用信息处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897845A CN111897845A (zh) | 2020-11-06 |
CN111897845B true CN111897845B (zh) | 2023-10-31 |
Family
ID=73182641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010743848.9A Active CN111897845B (zh) | 2020-07-29 | 2020-07-29 | 一种基于流程实现海量信用信息处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897845B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
CN104657497A (zh) * | 2015-03-09 | 2015-05-27 | 国家电网公司 | 一种基于分布式计算的海量用电信息并行计算***及方法 |
CN106611135A (zh) * | 2016-06-21 | 2017-05-03 | 四川用联信息技术有限公司 | 一种存储数据完整性验证及恢复方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10805273B2 (en) * | 2016-04-01 | 2020-10-13 | Egnyte, Inc. | Systems for improving performance and security in a cloud computing system |
-
2020
- 2020-07-29 CN CN202010743848.9A patent/CN111897845B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
CN104657497A (zh) * | 2015-03-09 | 2015-05-27 | 国家电网公司 | 一种基于分布式计算的海量用电信息并行计算***及方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
CN106611135A (zh) * | 2016-06-21 | 2017-05-03 | 四川用联信息技术有限公司 | 一种存储数据完整性验证及恢复方法 |
Non-Patent Citations (1)
Title |
---|
元数据在数据库互操作中的应用;崔纪锋;张勇;邢春晓;;计算机科学与探索(第04期);305-312 * |
Also Published As
Publication number | Publication date |
---|---|
CN111897845A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188096B (zh) | 一种数据记录的索引创建方法、装置及设备 | |
CN110162526B (zh) | 一种块链式账本中数据记录的查询方法、装置及设备 | |
US9009175B2 (en) | System and method for database migration and validation | |
US20130006996A1 (en) | Clustering E-Mails Using Collaborative Information | |
CN109783482B (zh) | 一种数据违规监控方法及装置 | |
WO2019192092A1 (zh) | 一种数据处理方法、装置、终端设备及存储介质 | |
US20220229854A1 (en) | Constructing ground truth when classifying data | |
CN108415990B (zh) | 数据质量监控方法、装置、计算机设备和存储介质 | |
CN112162976A (zh) | 一种数据对账方法、装置、设备及存储介质 | |
CN114840531A (zh) | 基于血缘关系的数据模型重构方法、装置、设备及介质 | |
CN107729541A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN111897845B (zh) | 一种基于流程实现海量信用信息处理方法及*** | |
CN109947797B (zh) | 一种数据检查装置及方法 | |
CN114708941B (zh) | 一种基于健康数据的管理方法及设备 | |
US20070239794A1 (en) | Method and system for updating logical information in databases | |
CN111914008A (zh) | 工单数据批量导出的方法、装置、电子设备以及介质 | |
CN111309758A (zh) | 一种计费数据验证比对方法及装置 | |
CN114416805B (zh) | 数据核对方法、装置、计算机设备和存储介质 | |
TWI830610B (zh) | 跨系統稽核日誌的管理方法 | |
TWM644650U (zh) | 訂購銷帳裝置 | |
CN115438043A (zh) | 一种Excel表格数据存储管理***及方法 | |
CN114266638A (zh) | 一种基于人工智能互联网财务报告管理*** | |
CN118195532A (zh) | 业务处理单的处理方法、装置、计算机设备和存储介质 | |
CN116414543A (zh) | 一种分布式联机批量任务处理*** | |
CN114782152A (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 | ||
CB02 | Change of applicant information |
Address after: 221000 room 603, block a, building 2, Xuzhou Software Park, No. 6, Software Park Road, Quanshan District, Xuzhou City, Jiangsu Province Applicant after: Jiangsu xindie Digital Technology Co.,Ltd. Address before: 221000 room 603, block a, building 2, Xuzhou Software Park, No. 6, Software Park Road, Quanshan District, Xuzhou City, Jiangsu Province Applicant before: Xuzhou Kingdee Software Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |