CN112131180B - 数据上报方法、装置以及存储介质 - Google Patents
数据上报方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN112131180B CN112131180B CN202011023528.2A CN202011023528A CN112131180B CN 112131180 B CN112131180 B CN 112131180B CN 202011023528 A CN202011023528 A CN 202011023528A CN 112131180 B CN112131180 B CN 112131180B
- Authority
- CN
- China
- Prior art keywords
- reporting
- data
- message
- report
- record information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims description 68
- 238000001514 detection method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000026676 system process 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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Abstract
本公开提供了一种数据上报方法、装置以及存储介质,涉及计算机技术领域,其中的方法包括:当监听到业务消息队列中有业务消息时,从业务消息队列中提取业务消息;基于业务消息生成至少一种数据类型的业务数据并存储;对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;基于批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储;获取上报文件并发送到目标系统,并向目标系统发送上报通知消息。本公开的方法、装置以及存储介质,能够提高上报效率,可以避免文件太大无法上报问题、由于上报失败后不能自动重复上报问题,并可以保证数据完整性、一致性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据上报方法、装置以及存储介质。
背景技术
现有的数据上报方法有多种。例如,一种数据上报方法为:将采集到的数据转换为数据包,通过数据包校验模块对数据包进行校验,校验通过后生成与数据包对应的业务数据进行上报操作;但是,这种数据上报方法在采集数据时通过串行获取,将采集的数据转换为数据包后存入缓存队列,但是缓存队列的空间有限,不能同时处理大量业务数据上报。另一种数据上报方法为:获取上报系统接口文档,从请求对象中获取上报数据的类型和上报时间段;从数据局库中查询相关的数据,生成上报文件进行上报;但是,这种数据上传方法在上报的数据较多时,容易造成上报文件过大无法上报的风险。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种数据上报方法、装置以及存储介质。
根据本公开的第一方面,提供一种数据上报方法,包括:当监听到业务消息队列中有业务消息时,从所述业务消息队列中提取所述业务消息;基于所述业务消息生成至少一种数据类型的业务数据并存储;对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;其中,所述批次记录信息包括:批次号、业务数据数量和上报状态;基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储;获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息。
可选地,在向所述目标系统发送上报通知消息之后,向所述目标系统发送上报查询消息,接收所述目标系统返回的对于所述上报文件的处理结果。
可选地,所述基于所述业务消息生成至少一种数据类型的业务数据包括:从所述业务消息中提取报文类型信息、报文数据实体;对所述报文数据实体进行完整性检测;基于报文类型信息确定所述报文数据实体所属的数据类型,对通过完整性检测的所述报文数据实体进行转换处理,生成此数据类型的业务数据。
可选地,所述对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储包括:对各个数据类型配置对应的批次号生成任务;运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置所述批次号;对于每个批次号建立至少一个批次记录信息;其中,所述批次记录信息的业务数据数量小于或等于预设的数量阈值,所述批次记录信息的上报状态为未上报状态。
可选地,所述基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储包括:对于各个数据类型配置对应的上报任务,生成与所述上报任务相对应的配置信息;其中,所述配置信息包括数据类型信息;运行对于各个数据类型所配置的上报任务,周期性地基于所述配置信息中的数据类型信息获取目标批次记录信息;其中,所述目标批次记录信息中的上报状态为未上报状态;获取与所述目标批次记录信息相对应的未上报业务数据,生成所述上报文件并存储;将所述目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径。
可选地,将所述上报文件存储在云端并生成对应的所述上报文件路径。
可选地,所述获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息包括:通过所述上报任务周期性地根据所述上报文件路径,获取与所述目标批次记录信息相对应的上报文件并发送到所述目标系统;如果此上报文件发送成功,则将所述目标批次记录信息中的上报状态设置为上传成功状态;基于所述上报文件生成所述上报通知消息并发送给所述目标系统;如果此上报通知消息发送成功,则将所述目标批次记录信息的上报状态设置为通知成功状态。
可选地,在接收所述目标系统返回的所述处理结果之后,如果确定所述处理结果为处理成功,则将所述目标批次记录信息的上报状态设置为上报成功状态;如果确定所述处理结果为正在处理,则周期性地发送所述上报查询消息,直至确定所述处理结果为处理成功。
可选地,周期性地判断所述目标批次记录信息中的上报状态是否为上报成功状态,如果否,则根据所述目标批次记录信息中的上报状态进行相应的处理,直至确定所述目标批次记录信息的上报状态为通知成功状态。
可选地,对于多个业务系统设置业务消息队列;其中,对于每个业务系统都设置至少一个业务消息队列。
根据本公开的第二方面,提供一种数据上报装置,包括:消息监听模块,当监听到业务消息队列中有业务消息时,从所述业务消息队列中提取所述业务消息;消息接受模块,基于所述业务消息生成至少一种数据类型的业务数据并存储;批次生成模块,用于对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;其中,所述批次记录信息包括:批次号、业务数据数量和上报状态;文件处理模块,用于基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储;数据上报模块,用于获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息。
可选地,数据查询模块,用于在向所述目标系统发送上报通知消息之后,向所述目标系统发送上报查询消息,接收所述目标系统返回的对于所述上报文件的处理结果。
可选地,所述消息接受模块,包括:消息提取单元,用于从所述业务消息中提取报文类型信息、报文数据实体;报文检测单元,用于对所述报文数据实体进行完整性检测;报文处理单元,用于基于报文类型信息确定所述报文数据实体所属的数据类型,对通过完整性检测的所述报文数据实体进行转换处理,生成此数据类型的业务数据。
可选地,任务调度模块,用于对各个数据类型配置对应的批次号生成任务;所述批次生成模块,还用于运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置所述批次号;对于每个批次号建立至少一个批次记录信息;其中,所述批次记录信息的业务数据数量小于或等于预设的数量阈值,所述批次记录信息的上报状态为未上报状态。
可选地,所述任务调度模块,用于对于各个数据类型配置对应的上报任务,生成与所述上报任务相对应的配置信息;其中,所述配置信息包括数据类型信息;所述文件处理模块,包括:文件生成单元,用于运行对于各个数据类型所配置的上报任务,周期性地基于所述配置信息中的数据类型信息获取目标批次记录信息;其中,所述目标批次记录信息中的上报状态为未上报状态;获取与所述目标批次记录信息相对应的未上报业务数据,生成所述上报文件并存储;文件存储单元,用于将所述目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径。
可选地,所述文件存储单元,用于将所述上报文件存储在云端并生成对应的所述上报文件路径。
可选地,所述数据上报模块,包括:文件上传单元,用于通过所述上报任务周期性地根据所述上报文件路径,获取与所述目标批次记录信息相对应的上报文件并发送到所述目标系统;如果此上报文件发送成功,则将所述目标批次记录信息中的上报状态设置为上传成功状态;通知发送单元,用于基于所述上报文件生成所述上报通知消息并发送给所述目标系统;如果此上报通知消息发送成功,则将所述目标批次记录信息的上报状态设置为通知成功状态。
可选地,数据查询模块,用于在接收所述目标系统返回的所述处理结果之后,如果确定所述处理结果为处理成功,则将所述目标批次记录信息的上报状态设置为上报成功状态;如果确定所述处理结果为正在处理,则周期性地发送所述上报查询消息,直至确定所述处理结果为处理成功。
可选地,未完成任务处理模块,用于周期性地判断所述目标批次记录信息中的上报状态是否为上报成功状态,如果否,则根据所述目标批次记录信息中的上报状态进行相应的处理,直至确定所述目标批次记录信息的上报状态为通知成功状态。
根据本公开的第三方面,提供一种根据本公开的第七方面,提供装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上的数据上报方法。
本公开的数据上报方法、装置以及存储介质,通过采用消息驱动方式并发上报数据,能够提高上报效率;运用定时任务对每种数据类型的业务数据配置批次生成任务和上报任务,并行处理批次记录,提高上报效率,并且文件大小可配置,能够避免文件太大无法上报问题;上报数据的某个阶段失败不影响之前的上报结果,再次自动执行该阶段任务操作,避免了由于上报失败后不能自动重复上报问题;对上报数据进行相关校验操作,可以保证数据完整性、一致性,确保整个上报流程高效、结果可靠。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为根据本公开的数据上报方法的一个实施例的流程示意图;
图2为根据本公开的数据上报方法的一个实施例中的生成业务数据的流程示意图;
图3为根据本公开的数据上报方法的一个实施例中的配置批次号的流程示意图;
图4为根据本公开的数据上报方法的一个实施例中的生成上报文件的流程示意图;
图5为根据本公开的数据上报方法的一个实施例中的发送上报文件的流程示意图;
图6为根据本公开的数据上报方法的一个实施例中的对查询结果进行处理的流程示意图;
图7为根据本公开的数据上报装置的一个实施例的模块示意图;
图8为根据本公开的数据上报装置的另一个实施例的模块示意图;
图9为根据本公开的数据上报装置的一个实施例中的消息接受模块的模块示意图;
图10为根据本公开的数据上报装置的一个实施例中的文件处理模块的模块示意图;
图11为根据本公开的数据上报装置的一个实施例中的数据上报模块的模块示意图;
图12为根据本公开的数据上报装置的又一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。下面结合各个图和实施例对本公开的技术方案进行多方面的描述。
图1为根据本公开的数据上报方法的一个实施例的流程示意图,如图1所示:
步骤101,当监听到业务消息队列中有业务消息时,从业务消息队列中提取业务消息。
在一个实施例中,对多个业务系统设置业务消息队列,可以对每个业务系统都设置一个或多个业务消息队列,也可以多个业务系统共享业务消息队列,业务消息队列可以使用现有的多种消息队列(Message Queue,MQ)。实时监听各个业务系统发送在对应的业务消息队列中的业务消息,多个业务系统能够实现业务数据的并行上报。
步骤102,基于业务消息生成至少一种数据类型的业务数据并存储。
在一个实施例中,从业务消息队列中获取业务消息,对业务消息进行解析、校验等处理,生成一种或多种数据类型的业务数据,业务数据可以存储在数据库中。
步骤103,对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;其中,批次记录信息包括:批次号、业务数据数量和上报状态。
步骤104,基于批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储。
步骤105,获取上报文件并发送到目标系统,并向目标系统发送上报通知消息。
在向目标系统发送上报通知消息之后,向目标系统发送上报查询消息,接收目标系统返回的对于上报文件的处理结果。
在一个实施例中,业务系统可以为多种系统,例如为银行系统、金融企业系统等,业务数据可以为交易数据、信贷数据等,信贷数据包括网签数据、授信额度数据、合同数据、贷款发放数据、还款计划数据、还款回收数据等,数据类型包括网签、授信额度、合同、贷款发放的数据类型。目标系统可以为政府部门系统等多个系统,例如为政府金融监管系统。
生成业务数据可以使用多种方法。图2为根据本公开的数据上报方法的一个实施例中的生成业务数据的流程示意图,如图2所示:
步骤201,从业务消息中提取报文类型信息、报文数据实体。
步骤202,对报文数据实体进行完整性检测。
步骤203,基于报文类型信息确定报文数据实体所属的数据类型,对通过完整性检测的报文数据实体进行转换处理,生成此数据类型的业务数据。
在一个实施例中,实时监听业务消息队列,获取各个业务系统发送的业务消息,从业务消息中提取业务消息体,业务消息体中有报文类型信息、系统码信息、报文数据实体等内容。
基于报文类型信息确定报文数据实体所属的数据类型,对报文数据实体进行完整性检测,可以使用现有的多种完整性检测方法。对通过完整性检测的报文数据实体进行转换处理,生成具有预设格式的业务数据,将业务数据存储在数据库中对应的信息表中,可以对不同的数据类型建立各自对应的信息表。
对未上报业务数据配置批次号并建立批次记录信息可以使用多种方法。图3为根据本公开的数据上报方法的一个实施例中的配置批次号的流程示意图,如图3所示:
步骤301,对各个数据类型配置对应的批次号生成任务。
步骤302,运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置批次号。
步骤303,对于每个批次号建立至少一个批次记录信息;其中,批次记录信息的业务数据数量小于或等于预设的数量阈值,批次记录信息的上报状态为未上报状态。
在一个实施例中,可以对各个数据类型配置对应的批次号生成任务,对批次号生成任务配置进程或线程完成对应的任务功能。可以设置CRON表达式,运行批次号生成任务并基于CRON表达式,每隔几秒、几分钟对未上报的业务数据生成批次号。针对每个数据类型的业务数据都配置3-5个分布式任务,可以提高处理并发性能。
每个批次的业务数据量可配置,例如设置数量阈值为2000条,避免后续由于生成文件过大无法上报。每种数据类型的业务数据根据数据量的大小,对于每个批次号建立一个或多个批次记录信息,批次记录信息的业务数据数量小于或等于预设的数量阈值,批次记录信息的上报状态为未上报状态。生成的批次记录信息可以存入数据库的批次表中,批次记录信息包含批次号、该批次记录信息包含的业务数据数量count,上报状态等。每个批次记录信息对应的业务数据都可以存入数据库中的上报流水表中。
生成上报文件可以采用多种方法。图4为根据本公开的数据上报方法的一个实施例中的生成上报文件的流程示意图,如图4所示:
步骤401,对于各个数据类型配置对应的上报任务,生成与上报任务相对应的配置信息;其中,配置信息包括数据类型信息。
步骤402,运行对于各个数据类型所配置的上报任务,周期性地基于配置信息中的数据类型信息获取目标批次记录信息;其中,目标批次记录信息中的上报状态为未上报状态。
步骤403,获取与目标批次记录信息相对应的未上报业务数据,生成上报文件并存储。
步骤404,将目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径。可以将上报文件存储在云端并生成对应的上报文件路径。
在一个实施例中,可以对各个数据类型配置对应的上报任务,对上报任务配置进程或线程完成对应的任务功能。可以设置CRON表达式,生成与上报任务相对应的配置信息,配置信息包括数据类型信息,以及批次记录信息生成的开始时间、结束时间等。
运行上报任务并基于配置信息,每隔几秒、几分钟周期性地基于配置信息中的数据类型信息获取目标批次记录信息,其中,目标批次记录信息中的上报状态为未上报状态。可以对每个数据类型的业务数据都配置多个分布式上报任务,能够提高处理并发性能。
获取与目标批次记录信息相对应的未上报业务数据,可以根据目标批次记录信息从上报流水表中查询出对应的业务数据集合,生成上报文件并存储。生成上报文件后存储在云存储sftp服务器中。将目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径,可以在批次表中保持生成文件的路径地址。
将上报文件发送到目标系统可以使用多种方法。图5为根据本公开的数据上报方法的一个实施例中的发送上报文件的流程示意图,如图5所示:
步骤501,通过上报任务周期性地根据上报文件路径,获取与目标批次记录信息相对应的上报文件并发送到目标系统。
步骤502,如果此上报文件发送成功,则将目标批次记录信息中的上报状态设置为上传成功状态。
步骤503,基于上报文件生成上报通知消息并发送给目标系统。
步骤504,如果此上报通知消息发送成功,则将目标批次记录信息的上报状态设置为通知成功状态。
在一个实施例中,根据目标批次记录信息,通过上报任务周期性地根据上报文件路径,从云存储中获取与目标批次记录信息相对应的上报文件并发送到目标系统,例如政府金融监管系统等。
如果此上报文件发送成功,则将目标批次记录信息中的上报状态设置为上传成功状态。基于上报文件拼装上报通知消息,以Socket连接的形式发送给目标系统,通知其文件已上报,同时更新目标批次记录信息的状态为发送通知成功。
图6为根据本公开的数据上报方法的一个实施例中的对查询结果进行处理的流程示意图,如图6所示:
步骤601,接收目标系统返回的处理结果。
步骤602,判断处理结果是否为处理成功,如果是,进入步骤603,如果否,则进入步骤604。
步骤603,将目标批次记录信息的上报状态设置为上报成功状态。
步骤604,周期性地发送上报查询消息,直至确定处理结果为处理成功。
在一个实施例中,目标系统接收到上报文件后进行处理。拼装上报查询消息,以Socket连接的形式发送上报查询消息给目标系统,获取目标系统返回的对于上报文件的处理结果。如果确定处理结果为处理成功,则将目标批次记录信息的上报状态设置为上报成功状态,如果确定处理结果为正在处理,则周期性地发送上报查询消息,直至确定处理结果为处理成功。
在一个实施例中,周期性地判断目标批次记录信息中的上报状态是否为上报成功状态,如果否,则根据目标批次记录信息中的上报状态进行相应的处理,直至确定目标批次记录信息的上报状态为通知成功状态。
在下一个周期操作时,根据目标批次记录信息中的上报状态,跳过已经完成的阶段,直接进行未成功阶段的操作。例如,如果根据上报状态确定发送通知报文没有成功,则跳过发送上报通知消息之前的操作,直接再次自动执行发送上报通知消息的操作,提高系统执行效率,确保系统更加高效地平稳地运行。
将本公开的数据上报方法与现有的基于接口文档生成上报文件的数据上报方案进行对比,特点对比如下表1所示:
表1-不同数据上传方案的特点对比表
由表1可知,本公开的数据上报方法具有下述特点:基于消息驱动方式上报业务数据,并发获取业务数据;运用定时任务对每种类型的业务数据配置上报任务,并行处理批次记录,能够提高上报效率;在数据上报中的某个阶段的失败不影响之前的结果,可以自动执行该阶段任务操作;文件大小可配置,避免文件太大无法上报问题;对上报后的数据做相关校验操作,可以保证数据完整性、一致性。
在一个实施例中,如图7所示,本公开提供一种数据上报装置70,包括:消息监听模块71、消息接受模块72、批次生成模块73、文件处理模块74和数据上报模块75。当监听到业务消息队列中有业务消息时,消息监听模块71从业务消息队列中提取业务消息。消息接受模块72业务消息生成至少一种数据类型的业务数据并存储。
批次生成模块73对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;其中,批次记录信息包括:批次号、业务数据数量和上报状态等。文件处理模块74基于批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储。数据上报模块75获取上报文件并发送到目标系统,并向目标系统发送上报通知消息。
在一个实施例中,如图8所示,数据上报装置70还包括:数据查询模块76、任务调度模块77和未完成任务处理模块78。数据查询模块76在向目标系统发送上报通知消息之后,向目标系统发送上报查询消息,接收目标系统返回的对于上报文件的处理结果。业务数据能够存储在数据库83中。对于多个业务系统81设置业务消息队列81;其中,对于每个业务系统81都设置至少一个业务消息队列。
如图9所示,消息接受模块72包括消息提取单元721、报文检测单元722和报文处理单元723。消息提取单元721从业务消息中提取报文类型信息、报文数据实体。报文检测单元722对报文数据实体进行完整性检测。报文处理单元723基于报文类型信息确定报文数据实体所属的数据类型,对通过完整性检测的报文数据实体进行转换处理,生成此数据类型的业务数据。
任务调度模块77对各个数据类型配置对应的批次号生成任务。批次生成模块73运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置批次号。批次生成模块73对于每个批次号建立至少一个批次记录信息;其中,批次记录信息的业务数据数量小于或等于预设的数量阈值,批次记录信息的上报状态为未上报状态。任务调度模块77对于各个数据类型配置对应的上报任务,生成与上报任务相对应的配置信息,其中,配置信息包括数据类型信息。
如图10所示,文件处理模块74包括:文件生成单元741和文件存储单元742。文件生成单元741运行对于各个数据类型所配置的上报任务,周期性地基于配置信息中的数据类型信息获取目标批次记录信息;其中,目标批次记录信息中的上报状态为未上报状态。
文件生成单元741获取与目标批次记录信息相对应的未上报业务数据,生成上报文件并存储。文件存储单元742可以将目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径,将上报文件存储在云端并生成对应的上报文件路径。上报文件可以存储在云端的文件服务器84中。
如图11所示,数据上报模块75包括:文件上传单元751和通知发送单元752。文件上传单元751通过上报任务周期性地根据上报文件路径,获取与目标批次记录信息相对应的上报文件并发送到目标系统。如果此上报文件发送成功,则文件上传单元751将目标批次记录信息中的上报状态设置为上传成功状态。
通知发送单元752基于上报文件生成上报通知消息并发送给目标系统。如果此上报通知消息发送成功,则通知发送单元752将目标批次记录信息的上报状态设置为通知成功状态。
数据查询模块76在接收目标系统返回的处理结果之后,如果确定处理结果为处理成功,则数据查询模块76将目标批次记录信息的上报状态设置为上报成功状态。如果数据查询模块76确定处理结果为正在处理,则周期性地发送上报查询消息,直至确定处理结果为处理成功。
未完成任务处理模块78周期性地判断目标批次记录信息中的上报状态是否为上报成功状态,如果否,则未完成任务处理模块78根据目标批次记录信息中的上报状态进行相应的处理,直至确定目标批次记录信息的上报状态为通知成功状态。
在一个实施例中,图12为根据本公开的数据上报装置的又一个实施例的模块示意图。如图12所示,该装置可包括存储器1201、处理器1202、通信接口1203以及总线1204。存储器1201用于存储指令,处理器1202耦合到存储器1201,处理器1202被配置为基于存储器1201存储的指令执行实现上述的数据上报方法。
存储器1201可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器1201也可以是存储器阵列。存储器1201还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器1202可以为中央处理器CPU,或专用集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本公开的数据上报方法的一个或多个集成电路。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的数据上报方法,和/或,如上任一个实施例中的虚拟人物图像生成方法。
上述实施例提供的数据上报方法、装置以及存储介质,通过采用消息驱动方式并发上报数据,能够提高上报效率;运用定时任务对每种数据类型的业务数据配置批次生成任务和上报任务,并行处理批次记录,提高上报效率,并且文件大小可配置,能够避免文件太大无法上报问题;上报数据的某个阶段失败不影响之前的上报结果,再次自动执行该阶段任务操作,避免了由于上报失败后不能自动重复上报问题;对上报数据进行相关校验操作,可以保证数据完整性、一致性,确保整个上报流程高效、结果可靠。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (19)
1.一种数据上报方法,包括:
当监听到业务消息队列中有业务消息时,从所述业务消息队列中提取所述业务消息;
基于所述业务消息生成至少一种数据类型的业务数据并存储;
对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;
其中,所述批次记录信息包括:批次号、业务数据数量和上报状态;对各个数据类型配置对应的批次号生成任务;运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置所述批次号;对于每个批次号建立至少一个批次记录信息;所述批次记录信息的业务数据数量小于或等于预设的数量阈值,所述批次记录信息的上报状态为未上报状态;
基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储;
获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息。
2.如权利要求1所述的方法,还包括:
在向所述目标系统发送上报通知消息之后,向所述目标系统发送上报查询消息,接收所述目标系统返回的对于所述上报文件的处理结果。
3.如权利要求1或2所述的方法,所述基于所述业务消息生成至少一种数据类型的业务数据包括:
从所述业务消息中提取报文类型信息、报文数据实体;
对所述报文数据实体进行完整性检测;
基于报文类型信息确定所述报文数据实体所属的数据类型,对通过完整性检测的所述报文数据实体进行转换处理,生成此数据类型的业务数据。
4.如权利要求2所述的方法,所述基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储包括:
对于各个数据类型配置对应的上报任务,生成与所述上报任务相对应的配置信息;其中,所述配置信息包括数据类型信息;
运行对于各个数据类型所配置的上报任务,周期性地基于所述配置信息中的数据类型信息获取目标批次记录信息;其中,所述目标批次记录信息中的上报状态为未上报状态;
获取与所述目标批次记录信息相对应的未上报业务数据,生成所述上报文件并存储;
将所述目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径。
5.如权利要求4所述的方法,还包括:
将所述上报文件存储在云端并生成对应的所述上报文件路径。
6.如权利要求4所述的方法,所述获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息包括:
通过所述上报任务周期性地根据所述上报文件路径,获取与所述目标批次记录信息相对应的上报文件并发送到所述目标系统;
如果此上报文件发送成功,则将所述目标批次记录信息中的上报状态设置为上传成功状态;
基于所述上报文件生成所述上报通知消息并发送给所述目标系统;
如果此上报通知消息发送成功,则将所述目标批次记录信息的上报状态设置为通知成功状态。
7.如权利要求6所述的方法,还包括:
在接收所述目标系统返回的所述处理结果之后,如果确定所述处理结果为处理成功,则将所述目标批次记录信息的上报状态设置为上报成功状态;
如果确定所述处理结果为正在处理,则周期性地发送所述上报查询消息,直至确定所述处理结果为处理成功。
8.如权利要求6所述的方法,还包括:
周期性地判断所述目标批次记录信息中的上报状态是否为上报成功状态,如果否,则根据所述目标批次记录信息中的上报状态进行相应的处理,直至确定所述目标批次记录信息的上报状态为通知成功状态。
9.如权利要求1所述的方法,其中,
对于多个业务系统设置业务消息队列;其中,对于每个业务系统都设置至少一个业务消息队列。
10.一种数据上报装置,包括:
消息监听模块,当监听到业务消息队列中有业务消息时,从所述业务消息队列中提取所述业务消息;
消息接受模块,基于所述业务消息生成至少一种数据类型的业务数据并存储;
批次生成模块,用于对属于各个数据类型的未上报业务数据配置对应的批次号,建立批次记录信息并存储;
其中,所述批次记录信息包括:批次号、业务数据数量和上报状态;所述装置还包括:任务调度模块,用于对各个数据类型配置对应的批次号生成任务;
所述批次生成模块,还用于运行对于各个数据类型所配置的批次号生成任务,周期性地对属于各个数据类型的未上报业务数据配置所述批次号;对于每个批次号建立至少一个批次记录信息;其中,所述批次记录信息的业务数据数量小于或等于预设的数量阈值,所述批次记录信息的上报状态为未上报状态;
文件处理模块,用于基于所述批次记录信息获取属于各个数据类型的未上报业务数据生成上报文件并存储;
数据上报模块,用于获取所述上报文件并发送到目标系统,并向所述目标系统发送上报通知消息。
11.如权利要求10所述的装置,还包括:
数据查询模块,用于在向所述目标系统发送上报通知消息之后,向所述目标系统发送上报查询消息,接收所述目标系统返回的对于所述上报文件的处理结果。
12.如权利要求10或11所述的装置,其中,
所述消息接受模块,包括:
消息提取单元,用于从所述业务消息中提取报文类型信息、报文数据实体;
报文检测单元,用于对所述报文数据实体进行完整性检测;
报文处理单元,用于基于报文类型信息确定所述报文数据实体所属的数据类型,对通过完整性检测的所述报文数据实体进行转换处理,生成此数据类型的业务数据。
13.如权利要求11所述的装置,还包括:
所述任务调度模块,用于对于各个数据类型配置对应的上报任务,生成与所述上报任务相对应的配置信息;其中,所述配置信息包括数据类型信息;
所述文件处理模块,包括:
文件生成单元,用于运行对于各个数据类型所配置的上报任务,周期性地基于所述配置信息中的数据类型信息获取目标批次记录信息;其中,所述目标批次记录信息中的上报状态为未上报状态;获取与所述目标批次记录信息相对应的未上报业务数据,生成所述上报文件;
文件存储单元,用于存储所述上报文件,将所述目标批次记录信息中的上报状态设置为文件生成状态并存储上报文件路径。
14.如权利要求13所述的装置,还包括:
所述文件存储单元,用于将所述上报文件存储在云端并生成对应的所述上报文件路径。
15.如权利要求13所述的装置,其中,
所述数据上报模块,包括:
文件上传单元,用于通过所述上报任务周期性地根据所述上报文件路径,获取与所述目标批次记录信息相对应的上报文件并发送到所述目标系统;如果此上报文件发送成功,则将所述目标批次记录信息中的上报状态设置为上传成功状态;
通知发送单元,用于基于所述上报文件生成所述上报通知消息并发送给所述目标系统;如果此上报通知消息发送成功,则将所述目标批次记录信息的上报状态设置为通知成功状态。
16.如权利要求15所述的装置,其中,
所述数据查询模块,还用于在接收所述目标系统返回的所述处理结果之后,如果确定所述处理结果为处理成功,则将所述目标批次记录信息的上报状态设置为上报成功状态;如果确定所述处理结果为正在处理,则周期性地发送所述上报查询消息,直至确定所述处理结果为处理成功。
17.如权利要求15所述的装置,还包括:
未完成任务处理模块,用于周期性地判断所述目标批次记录信息中的上报状态是否为上报成功状态,如果否,则根据所述目标批次记录信息中的上报状态进行相应的处理,直至确定所述目标批次记录信息的上报状态为通知成功状态。
18.一种数据上报装置,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至9中任一项所述的方法。
19.一种计算机可读存储介质,所述计算机可读存储介质非暂时性地存储有计算机指令,所述指令被处理器执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011023528.2A CN112131180B (zh) | 2020-09-25 | 2020-09-25 | 数据上报方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011023528.2A CN112131180B (zh) | 2020-09-25 | 2020-09-25 | 数据上报方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131180A CN112131180A (zh) | 2020-12-25 |
CN112131180B true CN112131180B (zh) | 2024-02-06 |
Family
ID=73839968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011023528.2A Active CN112131180B (zh) | 2020-09-25 | 2020-09-25 | 数据上报方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131180B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805975B (zh) * | 2021-08-12 | 2022-06-21 | 荣耀终端有限公司 | 业务执行方法、装置和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926099B1 (en) * | 2005-07-15 | 2011-04-12 | Novell, Inc. | Computer-implemented method and system for security event transport using a message bus |
US7937433B1 (en) * | 2003-09-23 | 2011-05-03 | Embarq Holdings Company, Llc | Queuing connector to promote message servicing |
CN107844575A (zh) * | 2017-11-06 | 2018-03-27 | 国家计算机网络与信息安全管理中心 | 一种用于互联网金融平台的个人数据共享系统和方法 |
CN108156006A (zh) * | 2016-12-05 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种埋点数据上报方法、装置及电子设备 |
CN108833199A (zh) * | 2018-04-26 | 2018-11-16 | 广州视源电子科技股份有限公司 | 数据上报的方法、装置、设备及存储介质 |
CN110233747A (zh) * | 2018-03-06 | 2019-09-13 | 中移(苏州)软件技术有限公司 | 一种数据上报方法及云平台 |
CN111510395A (zh) * | 2020-06-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 业务消息上报方法、装置、设备及介质 |
WO2020177384A1 (zh) * | 2019-03-05 | 2020-09-10 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
-
2020
- 2020-09-25 CN CN202011023528.2A patent/CN112131180B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937433B1 (en) * | 2003-09-23 | 2011-05-03 | Embarq Holdings Company, Llc | Queuing connector to promote message servicing |
US7926099B1 (en) * | 2005-07-15 | 2011-04-12 | Novell, Inc. | Computer-implemented method and system for security event transport using a message bus |
CN108156006A (zh) * | 2016-12-05 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种埋点数据上报方法、装置及电子设备 |
CN107844575A (zh) * | 2017-11-06 | 2018-03-27 | 国家计算机网络与信息安全管理中心 | 一种用于互联网金融平台的个人数据共享系统和方法 |
CN110233747A (zh) * | 2018-03-06 | 2019-09-13 | 中移(苏州)软件技术有限公司 | 一种数据上报方法及云平台 |
CN108833199A (zh) * | 2018-04-26 | 2018-11-16 | 广州视源电子科技股份有限公司 | 数据上报的方法、装置、设备及存储介质 |
WO2020177384A1 (zh) * | 2019-03-05 | 2020-09-10 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
CN111510395A (zh) * | 2020-06-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 业务消息上报方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112131180A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835467B (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN114500690B (zh) | 接口数据处理方法、装置、电子设备及存储介质 | |
CN110581887B (zh) | 数据处理方法、装置、区块链节点及存储介质 | |
CN110688828A (zh) | 文件处理方法及装置、文件处理系统、计算机设备 | |
CN112131180B (zh) | 数据上报方法、装置以及存储介质 | |
US11341842B2 (en) | Metering data management system and computer readable recording medium | |
US8682899B2 (en) | Apparatus and method for managing systems each including a plurality of configuration items | |
CN113626218A (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
CN111367934B (zh) | 数据一致性的检验方法、装置、服务器和介质 | |
CN111401819B (zh) | 系统间数据推送方法及系统 | |
CN112235363B (zh) | 数据处理方法、装置、电子设备、存储介质及系统 | |
CN110569172B (zh) | 一种业务层级的性能监控系统 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN114625702A (zh) | 数据的存储方法、装置、系统及电子设备 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN111061712A (zh) | 一种数据连接操作的处理方法及装置 | |
CN116433197B (zh) | 一种信息上报方法、装置、上报端及存储介质 | |
CN113704652B (zh) | 数据处理方法、装置、中转站及数据处理系统 | |
CN108984285B (zh) | 一种数据碰撞流分析方法及装置、存储介质、终端 | |
CN115941438A (zh) | 故障信息的处理方法及装置、存储介质及电子装置 | |
CN115994743B (zh) | 单据摘要规范管理方法及其系统 | |
CN115063217B (zh) | 预算管理方法、装置、设备及介质 | |
CN113313594B (zh) | 订单处理方法、装置、电子设备、存储介质及程序产品 | |
CN115774739A (zh) | 一种交易数据的追踪方法及装置 | |
CN114637758A (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: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |