公开/公告号CN113836136A
专利类型发明专利
公开/公告日2021-12-24
原文格式PDF
申请/专利权人 南京博雅区块链研究院有限公司;
申请/专利号CN202110966198.9
申请日2021-08-20
分类号G06F16/22(20190101);G06F16/245(20190101);G06F16/25(20190101);G06F16/28(20190101);
代理机构32369 无锡永乐唯勤专利代理事务所(普通合伙);
代理人孙际德
地址 210000 江苏省南京市鼓楼区汉中门大街301号1102-2室
入库时间 2023-06-19 13:49:36
技术领域
本发明涉及大数据领域,尤其涉及一种防贫预警方法、装置、电子设备及存储介质。
背景技术
实现精确的防贫预警对数据管理的要求非常高,然而,与防贫预警相关的业务数据被分散存储于各类外部数据源内,且数据在不断地产生、积累。如何快速地从各类外部数据源中获取到感兴趣的数据已经成为目前防贫预警工作中亟待解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种防贫预警方法、装置、电子设备及存储介质,其通过将从多个外部数据源中采集到的外部数据整合、存储至 Hive数据库中,并通过对数据进行标签化处理,以实现对感兴趣的目标数据的快速获取。
本发明第一方面提供的防贫预警方法的具体技术方案如下:
一种防贫预警方法,包括
将从多个外部数据源中采集到的外部数据整合至Hive数据库内,其中,经整合后的数据均具有唯一的身份标识及若干防贫预警属性;
基于预定的业务规则构建包括有若干标签的标签体系,各所述标签均对应于一种业务规则,所述业务规则与至少一个所述防贫预警属性相关;
针对各所述标签的业务规则自动生成SparkSQL并通过所述SparkSQL从所述Hive数据库内查询到与各所述标签对应的数据;
将查询到的与各所述标签对应的数据的身份标识存储至REDIS索引表内;
根据预定的防贫预警规则确定标签组合,所述标签组合包括至少两个所述标签;
从所述REDIS索引表内获取到与所述标签组合相匹配的身份标识;
从所述Hive数据库内获取与所述身份标识对应的数据。
在一些实施例中,所述将从若干外部数据源中采集到的外部数据整合至集成有Spark引擎的Hive数据库内包括:从若干外部数据源中采集外部数据并基于身份标识完成数据融合;按预定的转换规则对数据进行转换,经转换后的数据具有若干防贫预警属性;将转换后的数据写入至消息队列中;从消息队列中获取数据并将数据长存储至Hive数据库中。
在一些实施例中,所述从所述REDIS索引表内获取到与所述标签组合相匹配的身份标识包括:以所述标签组合中的各所述标签为检索词,分别从所述 REDIS索引表内检索出对应的身份标识集合;对检索到的各身份标识集合作交集处理以获得与所述标签组合相匹配的身份标识。
在一些实施例中,所述多个外部数据源至少包括关系型数据库和非关系型数据库,所述从多个外部数据源中采集外部数据并基于身份标识完成数据融合包括:经JDBC接口与所述多个外部数据源分别连接以采集外部数据;将采集到的外部数据转化成具有统一格式的数据;基于唯一的身份标识完成数据融合。
在一些实施例中,所述Hive数据库上集成有Spark引擎,所述SparkSQL 经所述Spark引擎从所述Hive数据库内查询到与各所述标签对应的数据;所述消息队列为Kafka消息队列。
本发明第二发明提供的防贫预警系统,其具体技术方案如下:
一种防贫预警系统,包括:
整合模块,用于将从多个外部数据源中采集到的外部数据整合至Hive数据库内,其中,经整合后的数据均具有唯一的身份标识及若干防贫预警属性;
标签构建模块,用于基于预定的业务规则构建包括有若干标签的标签体系,各所述标签均对应于一种业务规则,所述业务规则与至少一个所述防贫预警属性相关;
第一查询模块,用于针对各所述标签的业务规则自动生成SparkSQL并通过所述SparkSQL从所述Hive数据库内查询到与各所述标签对应的数据;
存储模块,用于将查询到的与各所述标签对应的数据的身份标识存储至 REDIS索引表内;
标签组合确定模块,用于根据预定的防贫预警规则确定标签组合,所述标签组合包括至少两个所述标签;
第二查询模块,用于从所述REDIS索引表内查询到与所述标签组合相匹配的身份标识;
第三查询模块,用于从所述Hive数据库内查询到与所述身份标识对应的数据。
在一些实施例中,所述整合模块包括:采集子模块,用于从若干外部数据源中采集外部数据并基于身份标识完成数据融合;转换子模块,按预定的转换规则对数据进行转换,经转换后的数据具有若干防贫预警属性;写入子模块,用于将转换后的数据写入至消息队列中;存储子模块,用于从消息队列中获取数据并将数据长存储至Hive数据库中。
在一些实施例中,所述多个外部数据源至少包括关系型数据库和非关系型数据库,所述从多个外部数据源中采集外部数据并基于身份标识完成数据融合包括:经JDBC接口与所述多个外部数据源分别连接以采集外部数据;将采集到的外部数据转化成具有统一格式的数据;基于唯一的身份标识完成数据融合;所述Hive数据库上集成有Spark引擎,所述SparkSQL经所述Spark引擎从所述 Hive数据库内查询到与各所述标签对应的数据;所述消息队列为Kafka消息队列。
本发明第三方面提供的电子设备,其包括存储器、处理器及存储在存储器内并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明第一方面提供的任一项所述的防贫预警方法。
本发明第四方面提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面提供的任一项所述的防贫预警方法。
本发明将从多个外部数据源中采集到的外部数据整合存储至Hive数据库中,并通过对数据进行标签化处理以实现对感兴趣的目标数据的快速获取,本发明显著提升了防贫预警的预警效率及预警准确率。
附图说明
图1为本申请实施例提供的防贫预警方法的执行流程图;
图2为本申请实施例提供的防贫预警方法的执行流程图;
图3为本申请实施例提供的防贫预警装置的结构示意图;
图4为本申请实施例提供的防贫预警装置中整合模块的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实现精确的防贫预警对数据管理的要求非常高,然而,与防贫预警相关的业务数据被分散存储于各类外部数据源内,且数据在不断地产生、积累。如何快速地从各类外部数据源中获取到感兴趣的数据已经成为目前防贫预警工作中亟待解决的问题。
本申请提供的防贫预警方法、装置、电子设备及计算机存储介质,旨在解决现有技术中的上述技术问题。
下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种防贫预警方法,如图1所示,其包括:
步骤S100,将从多个外部数据源中采集到的外部数据整合至Hive数据库内,其中,经整合后的数据均具有唯一的身份标识及若干防贫预警属性。
具体的,如图2所示,步骤S100包括如下子步骤:
子步骤S101:从若干外部数据源中采集外部数据并基于身份标识完成数据融合。
外部数据源包括关系型数据库和非关系型数据库,各外部数据源内均存储有一类业务数据,且各业务数据均对应于一个用户。
例如,在一个实施例中,外部数据源包括来源于人社部门、教育部门等的业务数据,每条业务数据均对应于一个用户,如,人社部门的业务数据包括用户的身份证号码、收入流水、医疗支出流水等属性。教育部门的业务数据包括用户的身份证号码、教育支出流水等属性。一般来说,这些业务数据的属性数目非常多,且大部分属性均不是与防贫预警相关的属性。
可选的,当用户为个人时,可选择身份证号码作为身份标识,而当用户为家庭户时,可选择户主的身份证号码作为身份标识。以该唯一的身份标识为主键,即能将来源于不同的外部数据源的属于同一用户的数据进行融合。
可选的,为了实现从不同的数据源中采集业务数据,通过JDBC接口与多各外部数据源分别连接,从而实现对业务数据的采集。接着,将采集到的不同格式的业务数据转化成具有统一格式的数据。
子步骤S102:按预定的转换规则对数据进行转换,经转换后的数据具有若干防贫预警属性。
如,在一个实施例中,感兴趣的防贫预警属性为用户的年度收入、季度医疗费用以及年度教育支出费用。
因此,在完成对用户的数据融合后,通过对其收入流水、医疗支出流水及教育支出流水进行统计计算后,获得年度收入、季度医疗费用及年度教育支出费用,并以此为基础生成转换后的数据。
经转换后的数据包括用户的身份证号码、年度收入、季度医疗费、年度教育支出费用等属性,可见,经过转换后,数据的属性数量显著减少,且各属性均为感兴趣的防贫预警属性。其为后续的数据查询奠定了数据基础。
子步骤S103:将转换后的数据写入至消息队列中。
可选的,消息队列为Kafka消息队列。
子步骤S104:从消息队列中获取数据并将数据长存储至Hive数据库中。
在此之前,Hive数据库中已经预先定义好用于存储转换后的数据的数据表,Kafka消息队列中的数据被高速地存放至数据表内。
至此,完成了对外部数据的整合及存储,接下来,将实施对数据的标签化处理。
步骤S200、基于预定的业务规则构建包括有若干标签的标签体系,各标签均对应于一种业务规则,业务规则与至少一个防贫预警属性相关。
如,在一个实施例中,标签体系包括“年度收入在5000元至10000元之间”、“年度收入低于5000元”、“季度医疗费在500至1000之间”、“季度医疗费在高于1000元”、“年度教育支出高于1000元”等标签。
可见,这些标签均与存储在Hive数据库中的数据的属性直接相关,如标签“年度收入在5000元至10000元之间”和标签“年度收入低于5000元”与年度收入属性直接相关。
步骤S300、针对各标签的业务规则自动生成SparkSQL并通过SparkSQL从 Hive数据库内查询到与各标签对应的数据。
为了实现对Hive数据库的快速访问,可选的,在构建Hive数据库时,其上已经集成有Spark引擎,即,本发明基于Spark on Hive的系统架构下。
针对各标签的业务规则均自动生成一条SparkSQL查询指令,并基于 SparkSQL查询指令从Hive数据库内查询到与各标签对应的数据,如,针对标签“年度收入在5000元至10000元之间”,SparkSQL查询指令从Hive数据库内查询出年度收入在5000元至10000元之间的用户对应的数据。
步骤S400、将查询到的与各所述标签对应的数据的身份标识存储至REDIS 索引表内。
即,仅将SparkSQL从Hive数据库中查询到的与标签对应的数据的身份标识,如用户的身份证号码,作为与标签绑定的索引存储至REDIS索引表内。
至此,完成了对Hive数据库中数据的标签化处理。
S500、根据预定的防贫预警规则确定标签组合,所标签组合由至少两个标签组合而成。
标签组合根据具体的防贫预定规则进行确定,如,在一个实施例中,定义的防贫预警规则为“年度收入低于5000元,且,“季度医疗费在高于1000元”,也就是说,当某个用户满足该防贫预警规则时,需要实施防贫预警。以实施对该用户的精准帮扶。
对应的,标签组合即为标签“年度收入低于5000元”和标签“季度医疗费在高于1000元”。
S600、从REDIS索引表内获取到与标签组合相匹配的身份标识。
具体的,分别以标签组合中的各标签为检索词从REDIS索引表内获取到与各标签对应的身份标识集合,然后对获得到的各身份标识集合做交集处理,即获得与标签组合相匹配的身份标识。
如,以标签“年度收入低于5000元”为检索词从REDIS索引表内获取到身份标识集合A,其包括张三、李四、王五、赵六等四人的身份标识。以标签“季度医疗费在高于1000元”为检索词从REDIS索引表内获取到身份标识集B,集合B,其包括刘大、李四、赵六、钱七等四人的身份标识。
对集合A和集合B进行交集处理后,获得李四、赵六的身份证号,即与标签组合相匹配的身份标识。
S700、从Hive数据库内获取与身份标识对应的数据。
即,以步骤S600获取到的标签组合相匹配的身份标识为检索词从Hive数据库中查询出与该身份标识对应的实体数据。
实施例二
图3为本申请实施例提供的防贫预警装置10的结构示意图。
该防贫预警装置包括整合模块11、标签构建模块12、第一查询模块13、存储模块14、标签组合确定模块15、第二查询模块16及第三查询模块17,其中:
整合模块11,用于将从多个外部数据源中采集到的外部数据整合至Hive数据库内,其中,经整合后的数据均具有唯一的身份标识及若干防贫预警属性。
标签构建模块12,用于基于预定的业务规则构建包括有若干标签的标签体系,各所述标签均对应于一种业务规则,所述业务规则与至少一个所述防贫预警属性相关。
第一查询模块13,用于针对各所述标签的业务规则自动生成SparkSQL并通过所述SparkSQL从所述Hive数据库内查询到与各所述标签对应的数据。
存储模块14,用于将查询到的与各所述标签对应的数据的身份标识存储至 REDIS索引表内。
标签组合确定模块15,用于根据预定的防贫预警规则确定标签组合,所述标签组合包括至少两个所述标签。
第二查询模块16,用于从所述REDIS索引表内查询到与所述标签组合相匹配的身份标识。
第三查询模块17,用于从所述Hive数据库内查询到与所述身份标识对应的数据。
可选的,如图2所示,整合模块11包括采集子模块111、转换子模块112、写入子模块113、存储子模块114。其中:采集子模块111,用于从若干外部数据源中采集外部数据并基于身份标识完成数据融合。转换子模块112,用于按预定的转换规则对数据进行转换,经转换后的数据具有若干防贫预警属性。写入子模块113,用于将转换后的数据写入至消息队列中。存储子模块114,用于从消息队列中获取数据并将数据长存储至Hive数据库中。
由于本实施例提供的防贫预警装置10的各功能模块的处理过程与前述实施例一的防贫预警方法的处理过程一致,因此本实施例不再对防贫预警装置10的各功能模块的处理过程进行重复描述,可以参考实施例一的相关描述。
实施例三
图5为本申请实施例提供的电子设备20的结构示意图,如图5所示,该电子设备20包括处理器21和存储器23,处理器21和存储器23相连,如通过总线22相连。
处理器21可以是CPU,通用处理器、DSP,ASIC,FPGA或者其他可编程器件、晶体管逻辑器件、硬件部件或者其他任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器21也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等。
总线22可以包括一通路,在上述组件之间传送信息。总线22可以是PCI 总线或EISA总线等。总线22可以分为地址总线、数据总线、控制总线等。为了便于表示,图中仅以一条粗线表示,但是并不表示仅有一根总线或一种类型的总线。
存储器23可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可以储存信息和指令的其他类型的动态存储设备,也可以是 EEPROM、CD-ROM或其他光盘存储、光碟存储、磁盘存储介质或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器23用于存储本申请方案的应用程序代码,并由处理器21来控制执行。处理器21用于执行存储器23中存储的应用程序代码,以实现实施例一中的防贫预警方法过程。
本申请实施例最后还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一中的防贫预警方法过程。
本申请实施例最后还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一、实施例二中任一项的防贫预警方法过程。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。
机译: 用于视频图像,电子设备和存储介质的防抖方法和装置
机译: 广告防垃圾邮件的方法和装置,电子设备和存储介质
机译: 浏览器防黑客攻击的方法和装置,电子设备和存储介质