本发明涉及数据存储领域,尤其涉及一种资信数据存储的方法和装置。
背景技术:
为了能更好地服务用户和控制风险,许多企业需要与外部数据源进行合作,来解决企业自身在其他方面的不足,然而在与外部数据源结合时,需要存储数据源返回的资信数据,此时资信数据的内容量较大,而且增长的速度是难以预期的。传统的关系型数据库已经不再适合存储这类资信数据。
因此,现阶段需要提供一种能够海量存储用户资信数据的存储方法,在降低公司支付成本的同时,又能够保障数据的安全性。
技术实现要素:
现阶段企业在与外部数据源结合时,还需要存储数据源返回的资信数据,但是资信数据的内容量较大,而且增长的速度是难以预期的,针对上述问题,本发明提供一种资信数据存储的方法和装置。
第一方面,本发明提供一种资信数据存储的方法,该方法包括:
接收json结构的资信数据;
对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;
利用外键将无嵌套结构的资信数据根据json结构进行关联;
将关联后的资信数据进行存储。
进一步地,将关联后的资信数据进行存储还包括:
将关联后的资信数据进行序列化处理;
将处理后的资信数据进行存储。
进一步地,将处理后的资信数据进行存储包括:
将处理后的资信数据存储至亚马逊文件服务系统。
进一步地,将处理后的资信数据存储至亚马逊文件服务系统包括:
将处理后的数据按照json格式或protostuff格式存储至亚马逊文件服务系统。
第二方面,本发明提供一种资信数据存储的装置,该装置包括:
接收模块,用于接收json结构的资信数据;
拆分模块,用于对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;
关联模块,用于利用外键将无嵌套结构的资信数据根据json结构进行关联;
存储模块,用于将关联后的资信数据进行存储。
进一步地,存储模块还包括:
序列化处理单元,用于将关联后的资信数据进行序列化处理;
存储单元,用于将处理后的资信数据进行存储。
进一步地,存储单元包括:
存储至亚马逊文件服务系统单元,用于将处理后的资信数据存储至亚马逊文件服务系统。
进一步地,存储至亚马逊文件服务系统单元包括:
选择存储格式单元,用于将处理后的数据按照json格式或protostuff格式存储至亚马逊文件服务系统。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面提供的资信数据存储的方法的步骤。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的资信数据存储的方法的步骤。
本发明提供的资信数据存储的方法和装置,能高效海量地存储用户资信数据,有效降低公司支付成本,具备更高的安全性和灵活的业务扩展性和系统稳定性,带给用户更好的体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的资信数据存储的方法流程示意图;
图2为本发明实施例提供的资信数据存储的装置框图;
图3为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
现阶段各风控企业为了能更好的服务用户和控制风险,增加企业竞争力,会选择引进外部资信数据源,以扩大数据源样本集,但是在加入外部资信数据后,如何将大量的外部资信数据存储起来,并及时进行提取,成为现阶段需要解决的难题。为了解决上述问题,本发明实施例提供一种资信数据存储的方法,如图1所示,该方法包括:
步骤s101,接收json结构的资信数据;
步骤s102,对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;
步骤s103,利用外键将无嵌套结构的资信数据根据json结构进行关联;
步骤s104,将关联后的资信数据进行存储。
具体为,在接收的外部资信数据中基本都是json结构,可以给予每个数据一个唯一键值进行存储,然而这样的数据存储对日后的分析建模产生数据解析的麻烦,所以可以先对json结构的资信数据进行拆分,即可以将嵌套的json结构拆分成没有嵌套的结构,同时增加外键来关联原来的嵌套结构。也就是说,即便将嵌套部分完成了无嵌套拆分,为保证数据的完整性,需要将无嵌套部分进行关联。例如数据源返回的数据结构是如下形式:
智能化的结构拆分将原有结构拆分至如下形式:
由上述源代码得出,原来结构化的数据将拆分成新的数据结构,并且新的数据结构中不再含有嵌套的结构,同时新增了外键来关联他们之间的关系。其中,"p_id"可以代表外键,起到关联a的id值:"a1":"","a2":""的作用。
之后将无嵌套结构的资信数据最终以文件的形式进行存储。
本发明实施例提供的资信数据存储的方法,能高效海量地存储用户资信数据,有效降低公司支付成本,具备更高的安全性和灵活的业务扩展性和系统稳定性,带给用户更好的体验。
基于上述各实施例的内容,作为一种可选实施例:将关联后的资信数据进行存储还包括:
将关联后的资信数据进行序列化处理;
将处理后的资信数据进行存储。
具体为,在对资信数据的json结构进行拆分后,需要将拆分的部分进行再关联,也就是说,即便将嵌套部分完成了无嵌套拆分,为保证数据的完整性,需要将无嵌套部分进行关联。
将关联后的资信数据进行序列化处理,其中序列化是将对象的状态信息转换为可以存储或传输的形式的过程。之后将处理后的资信数据进行存储。
基于上述各实施例的内容,作为一种可选实施例:将处理后的资信数据进行存储包括:
将处理后的资信数据存储至亚马逊文件服务系统。
具体为,在本发明实施例中将文件存储在亚马逊文件服务系统,该系统与传统的关系型数据库相比具有:良好的可扩展性、可用性和持久性;丰富且经济高效的存储类;良好的安全性、合规性和审核功能;成本低等优势。
本发明实施例采用亚马逊文件服务系统来存储外接资信数据,使得存储的数据能够具备良好的扩展性和持久性,有利于后期的检索和调取。
基于上述各实施例的内容,作为一种可选实施例:将处理后的资信数据存储至亚马逊文件服务系统包括:
将处理后的数据按照json格式或protostuff格式存储至亚马逊文件服务系统。
具体为,json(javascriptobjectnotation,js对象简谱)是一种轻量级的数据交换格式。它基于ecmascript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。protostuff是一个开源、基于java语言的序列化库,其中protostuff支持的序列化格式包括:protobuf、protostuff、graph。
根据本发明的再一个方面,本发明实施例提供资信数据存储的装置,参见图2,图2为本发明实施例提供的资信数据存储的装置框图。该装置用于在前述各实施例中完成本发明实施例提供的资信数据存储。因此,在前述各实施例中的本发明实施例提供的资信数据存储的方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
该装置包括:
接收模块201,用于接收json结构的资信数据;
拆分模块202,用于对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;
关联模块203,用于利用外键将无嵌套结构的资信数据根据json结构进行关联;
存储模块204,用于将关联后的资信数据进行存储。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
本发明实施例提供的资信数据存储的装置,能高效海量地存储用户资信数据,有效降低公司支付成本,具备更高的安全性和灵活的业务扩展性和系统稳定性,带给用户更好的体验。
基于上述各实施例的内容,作为一种可选实施例:存储模块还包括:
序列化处理单元,用于将关联后的资信数据进行序列化处理;
存储单元,用于将处理后的资信数据进行存储。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
基于上述各实施例的内容,作为一种可选实施例:存储单元包括:
存储至亚马逊文件服务系统单元,用于将处理后的资信数据存储至亚马逊文件服务系统。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
本发明实施例采用亚马逊文件服务系统来存储外接资信数据,使得存储的数据能够具备良好的扩展性和持久性,有利于后期的检索和调取。
基于上述各实施例的内容,作为一种可选实施例:存储至亚马逊文件服务系统单元包括:
选择存储格式单元,用于将处理后的数据按照json格式或protostuff格式存储至亚马逊文件服务系统。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
图3为本发明实施例提供的电子设备框图,如图3所示,该设备包括:处理器301、存储器302和总线303;
其中,处理器301及存储器302分别通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述实施例所提供的资信数据存储的方法,例如包括:接收json结构的资信数据;对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;利用外键将无嵌套结构的资信数据根据json结构进行关联;将关联后的资信数据进行存储。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现资信数据存储的方法的步骤。例如包括:接收json结构的资信数据;对json结构的资信数据进行结构拆分,得到无嵌套结构的资信数据;利用外键将无嵌套结构的资信数据根据json结构进行关联;将关联后的资信数据进行存储。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。