数据采集方法、装置、电子设备及存储介质与流程

文档序号:32950751发布日期:2023-01-14 13:25阅读:41来源:国知局
数据采集方法、装置、电子设备及存储介质与流程

1.本发明涉及数据处理技术领域,尤其涉及一种数据采集方法、装置、电子设备及存储介质。


背景技术:

2.在大批量数据采集情况下,存在大宗数据的消费事务处理的堆积,造成队列堵塞后性能变慢,事务长时间未处理会被自动清理,导致数据丢包现象发生。
3.现有数据采集处理方案如图1所示,数据库采用分库设计,数据库包括pg(postgresql)数据库和oracle数据库两种,pg数据库和oracle数据库两个事务是异步的,无法做到两个事务步调一致,经常会出现数据在pg数据库事务处理完毕,实现数据质控和存储,但数据无法落到oracle数据库中的情况,并且通过redis队列处理机制消耗大量的内存空间,在事务不及时处理的情况下会导致内存溢出和服务器宕机,发生数据丢失。
4.在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:现有数据采集方案,存在数据丢失的问题。


技术实现要素:

5.本发明提供了一种数据采集方法、装置、电子设备及存储介质,增加了备份数据表,以防止数据丢失。
6.根据本发明的一方面,提供了一种数据采集方法,包括:获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表;对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据;将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
7.根据本发明的另一方面,提供了一种数据采集装置,包括:第一数据备份模块,用于获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表;第一数据质控模块,用于对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据;第二数据质控模块,用于将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;第二数据备份模块,用于将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
8.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据采集方法。
9.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据采集方法。
10.本发明实施例的技术方案,通过获取客户端上传的原始数据,将客户端上传的原始数据存储至第一备份数据表,使原始数据得到备份,保证数据有迹可查,进而对客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据,将第一质控处理数据传输至消息队列,从消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;将第二质控处理数据存储至第二备份数据表,使质控处理后的数据得到备份,从而防止数据丢失的情况发生,使数据成功存入目标数据库。
11.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1是现有技术中的一种数据采集处理的架构图;图2是根据本发明实施例一提供的一种数据采集方法的流程图;图3是根据本发明实施例二提供的一种数据采集方法的流程图;图4是根据本发明实施例二提供的一种数据采集处理的架构图;图5是根据本发明实施例三提供的一种数据采集装置的结构示意图;图6是实现本发明实施例的数据采集方法的电子设备的结构示意图。
具体实施方式
14.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
15.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
16.实施例一图2为本发明实施例一提供的一种数据采集方法的流程图,本实施例可适用于大批量数据采集的情况,该方法可以由数据采集装置来执行,该数据采集装置可以采用硬件和/或软件的形式实现,该数据采集装置可配置于服务器中。如图2所示,该方法包括:s110、获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表。
17.本实施例中,客户端与服务器通信连接,客户端可以上传数据至服务器,服务器接收客户端上传的原始数据。原始数据是指未经处理或简化的数据,例如原始数据可以为客户端所存储使用的各种数据。第一备份数据表是指用于存储客户端上传的原始数据的备份表。
18.示例性的,以医疗场景为例,客户端可以为医院客户端,服务器接收医院客户端上传的原始数据,原始数据可以包括但不限于电子病历、医嘱、检查等,并将原始数据存储至第一备份数据表,使原始数据得到备份,保证数据有迹可查。其中,第一备份数据表可以包括但不限于表主键、医院编码、数据上传时间、报文唯一编码、上传数据类型、报文等。
19.s120、对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据。
20.本实施例中,数据质量控制是指以预设质控标准对原始数据进行筛选的过程。其中,预设质控标准可以根据国家颁布的结算清单填写规范得到。示例性的,医疗费用要求数字型且不能带单位;或者,疾病编码,必须要符合icd-10;又或者,疾病名称不能超过50个。
21.需要强调的是,第一质控处理数据为质控通过的数据,未通过质控的数据不再参与后续处理过程。
22.s130、将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据。
23.需要说明的是,第一数据质量控制与第二数据质量控制可以为两种不同质控标准的数据处理过程。示例性的,第一数据质量控制可以为相对粗略的质控,第二数据质量控制与第一数据质量控制相比质控标准更加严格与精细,可以得到能够入库的合规数据。
24.本实施例中,消息队列是指在消息的传输过程中保存消息的容器。示例性的,消息队列可以为rocketmq队列。
25.s140、将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
26.本实施例中,第二备份数据表是指用于存储第二质控处理数据的备份表。将第二质控处理数据存储至第二备份数据表,可以使第二质控处理数据得到备份,避免数据丢失的情况发生。其中,第二备份数据表可以包括但不限于表主键、医院编码、数据上传时间、报文唯一编码、上传数据类型、报文等。目标数据库可以是单一数据库,例如目标数据库可以为oracle数据库。
27.在一些可选实施例中,对客户端上传的原始数据进行第一数据质量控制,得到第
一质控处理数据,包括:若客户端上传的原始数据通过第一数据质量控制,则将质控通过信息写入入库记录表,并将质量控制后的原始数据作为第一质控处理数据,其中,质控通过信息包括数据标识;相应的,方法还包括:基于数据标识调取入库记录表,并将入库记录表更新至目标数据库。
28.其中,入库记录表用于记录质控通过信息,质控通过信息可以包括但不限于数据标识、报文、异常信息、入库状态信息等。数据标识具有唯一性。
29.示例性的,通过远程过程调用(remote producer call,rpc)质控服务,对客户端上传的原始数据进行质控,若质控通过,则将质控通过信息写入入库记录表,实现数据记录。
30.在一些可选实施例中,在对客户端上传的原始数据进行第一数据质量控制之后,方法还包括:将第一数据质量控制的质控结果写入质控结果表,并将质控结果反馈至客户端,其中,第一数据质量控制的质控结果包括质控通过结果和质控未通过结果。
31.其中,质控结果表用于记录第一数据质量控制的质控结果。
32.示例性的,以医疗场景为例,若质控通过,则将质控通过结果记录在质控结果表,并将质控通过结果反馈至对应的医院客户端,若质控未通过,则将质控未通过结果记录在质控结果表,并将质控未通过结果反馈至对应的医院客户端,实现质控结果记录和反馈,使医院客户端了解数据采集情况。
33.本发明实施例的技术方案,通过获取客户端上传的原始数据,将客户端上传的原始数据存储至第一备份数据表,使原始数据得到备份,保证数据有迹可查,进而对客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据,将第一质控处理数据传输至消息队列,从消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;将第二质控处理数据存储至第二备份数据表,使质控处理后的数据得到备份,从而防止数据丢失的情况发生,使数据成功存入目标数据库。
34.实施例二图3为本发明实施例二提供的一种数据采集方法的流程图,本实施例的方法与上述实施例中提供的数据采集方法中各个可选方案可以结合。本实施例提供的数据采集方法进行了进一步优化。可选的,在将所述客户端上传的原始数据存储至第一备份数据表之后,所述方法还包括:若所述第一质控处理数据在上传至消息队列过程中发生消息丢失,则从所述第一备份数据表中获取所述客户端上传的原始数据,并对所述客户端上传的原始数据进行数据质量控制。以及在将所述第二质控处理数据存储至第二备份数据表之后,所述方法还包括:若所述第二质控处理数据无法被消费,则从所述第二备份数据表中获取第二质控处理数据,对所述第二备份数据表中的第二质控处理数据进行消费重试处理;若消费重试处理失败,则生成异常信息。
35.如图3所示,该方法包括:s210、获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表。
36.s220、对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据。
37.s230、将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并
对调取的数据进行第二数据质量控制,得到第二质控处理数据。
38.s240、将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
39.s250、若所述第一质控处理数据在上传至消息队列过程中发生消息丢失,则从所述第一备份数据表中获取所述客户端上传的原始数据,并对所述客户端上传的原始数据进行数据质量控制。
40.可以理解的是,本实施例通过增加第一备份数据表进行原始数据的备份,可以在数据传输中发生消息丢失的情况下,调用备份的原始数据进行后续数据处理,从而可以应对数据丢失的情况,保证数据采集安全。
41.s260、若所述第二质控处理数据无法被消费,则从所述第二备份数据表中获取第二质控处理数据,对所述第二备份数据表中的第二质控处理数据进行消费重试处理;若消费重试处理失败,则生成异常信息。
42.其中,消费重试处理是指对消费失败或者无法被消费的数据进行再次消费的操作过程。消费重试处理的重试次数可以根据数据采集需求进行设定,在此不做限定。
43.可以理解的是,本实施例通过增加第二备份数据表进行质控处理数据的备份,可以在数据无法被消费或消费失败的情况下,调用备份的质控处理数据进行消费重试处理,从而可以应对数据丢失的情况,保证数据采集安全。
44.在一些可选实施例中,将第二质控处理数据存储至第二备份数据表,包括:将所述第二质控处理数据以clob形式存储至第二备份数据表。
45.可以理解的是,clob形式可以直接存储文字,方便数据管理。
46.在一些可选实施例中,在将所述第二质控处理数据以clob形式存储至第二备份数据表之后,方法还包括:对clob形式的第二质控处理数据进行分类,得到消费成功数据和消费失败数据。
47.示例性的,将质控通过后的数据采用clob形式存储之后,可以对数据进行分类,分类结果可以包括消费成功数据和消费失败数据,进而可以对消费成功数据打上消费成功的标签,对消费失败数据打上消费失败的标签,以便后续进行问题排查。
48.示例性的,图4是本发明实施例提供的一种数据采集处理的架构图。通过线程调度管理器(dispatcher项目)进行权限验证,并保存医院上传的全量原始数据。进一步的,调用quality质控项目进行数据质量控制,若质控通过,则将质控通过信息写入入库记录表,同时写rocketmq消息。进一步的,监听rocketmq队列,根据数据标识调取入库记录表并更新至oracle数据库中。其中,数据标识可以为全局唯一id。此外,图4中的架构删除了redis队列,从而减少了内存的使用,通过耗用服务器磁盘空间进行存储,提升了消息承载量。
49.本发明实施例的技术方案,通过增加第一备份数据表进行原始数据的备份,可以在数据传输中发生消息丢失的情况下,调用备份的原始数据进行后续数据处理,以及通过增加第二备份数据表进行质控处理数据的备份,可以在数据无法被消费或消费失败的情况下,调用备份的质控处理数据进行消费重试处理,从而可以应对数据丢失的情况,保证数据采集安全。
50.实施例三图5为本发明实施例三提供的一种数据采集装置的结构示意图。如图5所示,该装
置包括:第一数据备份模块310,用于获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表;第一数据质控模块320,用于对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据;第二数据质控模块330,用于将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;第二数据备份模块340,用于将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
51.本发明实施例的技术方案,通过获取客户端上传的原始数据,将客户端上传的原始数据存储至第一备份数据表,使原始数据得到备份,保证数据有迹可查,进而对客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据,将第一质控处理数据传输至消息队列,从消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;将第二质控处理数据存储至第二备份数据表,使质控处理后的数据得到备份,从而防止数据丢失的情况发生,使数据成功存入目标数据库。
52.在一些可选的实施方式中,第一数据质控模块320,具体用于:若所述客户端上传的原始数据通过第一数据质量控制,则将质控通过信息写入入库记录表,并将质量控制后的原始数据作为第一质控处理数据,其中,所述质控通过信息包括数据标识;相应的,所述装置还包括:入库记录表更新模块,用于基于所述数据标识调取入库记录表,并将所述入库记录表更新至所述目标数据库。
53.在一些可选的实施方式中,所述装置还包括:质控结果反馈模块,用于将所述第一数据质量控制的质控结果写入质控结果表,并将所述质控结果反馈至所述客户端,其中,所述第一数据质量控制的质控结果包括质控通过结果和质控未通过结果。
54.在一些可选的实施方式中,所述装置还包括:消息丢失处理模块,用于若所述第一质控处理数据在上传至消息队列过程中发生消息丢失,则从所述第一备份数据表中获取所述客户端上传的原始数据,并对所述客户端上传的原始数据进行数据质量控制。
55.在一些可选的实施方式中,第二数据备份模块340,包括:clob形式备份单元,用于将所述第二质控处理数据以clob形式存储至第二备份数据表。
56.在一些可选的实施方式中,第二数据备份模块340,还用于:对clob形式的第二质控处理数据进行分类,得到消费成功数据和消费失败数据。
57.在一些可选的实施方式中,所述装置还包括:消息未消费处理模块,用于若所述第二质控处理数据无法被消费,则从所述第二备份数据表中获取第二质控处理数据,对所述第二备份数据表中的第二质控处理数据进行消费重试处理;
异常信息生成模块,用于若消费重试处理失败,则生成异常信息。
58.本发明实施例所提供的数据采集装置可执行本发明任意实施例所提供的数据采集方法,具备执行方法相应的功能模块和有益效果。
59.实施例四图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
60.如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
61.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
62.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据采集方法,该方法包括:获取客户端上传的原始数据,将所述客户端上传的原始数据存储至第一备份数据表;对所述客户端上传的原始数据进行第一数据质量控制,得到第一质控处理数据;将所述第一质控处理数据传输至消息队列,从所述消息队列中调取数据,并对调取的数据进行第二数据质量控制,得到第二质控处理数据;将所述第二质控处理数据存储至第二备份数据表,并将所述第二质控处理数据存入目标数据库。
63.在一些实施例中,数据采集方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的数据采集方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据采集方法。
64.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电
路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
65.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
66.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
67.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
68.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
69.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
70.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
71.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1