数据生成方法、大数据风控平台及计算机存储介质
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据生成方法、大数据风控平台及计算机存储介质。
背景技术
大数据风控,是指通过运用大数据构建模型的方法对借款人进行风险控制和风险提示。为了便于更好的分析借款人的信用数据,金融机构一般会开发专用的大数据风控平台。
现有技术中,在开发专用的大数据风控平台时,在大数据风控平台对接的数据庞大的情况下,由于缺少针对数据的固定开发模板,导致每对接一个数据都需要重新开发,容易带来代码冗余,开发效率不高的问题。
发明内容
本发明实施例提供一种数据生成方法、大数据风控平台及计算机存储介质,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,可提高数据的开发效率。
第一方面,本发明实施例提供了一种数据生成方法,该方法包括:
监听到消息队列服务器中存在报文;
解析所述报文,以得到解析后的报文数据;
执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
通过实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率。
可选的,所述第一事务语句包括第一删除SQL语句和第一新增SQL语句;
所述执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址,包括:
执行预先配置的所述第一删除SQL语句和所述第一新增SQL语句;
若所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
可选的,所述若所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址,包括:
检测所述第一删除SQL语句对应的数据库操作执行是否成功;若检测为是,则判断所述第一新增SQL语句对应的数据库操作执行是否成功;若判断为是,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;
或者,检测所述第一新增SQL语句对应的数据库操作是否成功;若检测为是,则判断所述第一删除SQL语句对应的数据库操作执行是否成功;若判断为是,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
可选的,所述执行预先配置的第一事务语句之后,还包括:
若所述第一事务语句对应的数据库操作执行不成功,则对所述第一数据表执行回滚操作。
可选的,所述若所述第一事务语句对应的数据库操作执行不成功,则对所述第一数据表执行回滚操作,包括:
检测第一删除SQL语句对应的数据库操作执行是否成功;若检测为是,则判断第一新增SQL语句对应的数据库操作执行是否成功;若判断为否,则对所述第一数据表执行回滚操作;若检测为否,则对所述第一数据表执行回滚操作;
或者,检测所述第一新增SQL语句对应的数据库操作是否成功;
若检测为是,则判断所述第一删除SQL语句对应的数据库操作是否成功;若判断为否,则对所述第一数据表执行回滚操作;若检测为否,则对所述第一数据表执行回滚操作。
可选的,所述执行预先配置的第一事务之后,还包括:
执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址;其中,N为小于等于M的正整数。
可选的,所述第二事务语句包括第二删除SQL语句和第二新增SQL语句;
所述执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址,包括:
若所述第二删除SQL语句和所述第二新增SQL语句对应的数据库操作执行成功,则将所述第一数据表中所述N个第二预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
第二方面,本发明实施例提供了一种大数据风控平台,该大数据风控平台包括:
监听单元,用于监听到消息队列服务器中存在报文;
解析单元,用于解析所述报文,以得到解析后的报文数据;
第一执行单元,用于执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
可选的,所述第一事务语句包括第一删除SQL语句和第一新增SQL语句;
所述第一执行单元包括第二执行单元和数据写入单元;
其中,所述第二执行单元用于执行预先配置的所述第一删除SQL语句和所述第一新增SQL语句;
所述数据写入单元,用于在所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
可选的,所述数据写入单元包括第一检测单元、第一判断单元和第一数据写入单元;
其中,所述第一检测单元用于检测所述第一删除SQL语句对应的数据库操作执行是否成功;
所述第一判断单元,用于在所述第一检测单元检测结果为是的情况下,判断所述第一新增SQL语句对应的数据库操作执行是否成功;
所述第一数据写入单元,用于在所述第一判断单元判断结果为是的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;
或者,所述第一检测单元,还用于检测所述第一新增SQL语句对应的数据库操作是否成功;
所述第一判断单元,还用于在所述第一检测单元检测结果为是的情况下,判断所述第一删除SQL语句对应的数据库操作执行是否成功;
所述第一数据写入单元,还用于所述第一判断单元判断结果为是的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
可选的,所述大数据风控平台还包括第三执行单元;
所述第三执行单元,用于在所述第一执行单元执行预先配置的第一事务语句之后,在所述第一事务语句对应的数据库操作执行不成功的情况下,则对所述第一数据表执行回滚操作。
可选的,所述第三执行单元包括第二检测单元、第二判断单元、第四执行单元;
其中,所述第二检测单元,用于检测第一删除SQL语句对应的数据库操作执行是否成功;
所述第二判断单元,用于在所述第二检测单元的检测结果为是的情况下,判断第一新增SQL语句对应的数据库操作执行是否成功;
所述第四执行单元,用于在所述第二判断单元的判断结果为否的情况下,对所述第一数据表执行回滚操作;
所述第四执行单元,还用于在所述第二检测单元的检测结果为否的情况下,对所述第一数据表执行回滚操作;
或者,所述第二检测单元,还用于检测所述第一新增SQL语句对应的数据库操作是否成功;
所述第二判断单元,还用于在所述第二检测单元的检测结果为是的情况下,判断所述第一删除SQL语句对应的数据库操作是否成功;
所述第四执行单元,还用于在所述第二判断单元的判断结果为否的情况下,对所述第一数据表执行回滚操作;
所述第四执行单元,还用于在所述第二检测单元的检测结果为否的情况下,则对所述第一数据表执行回滚操作。
可选的,所述大数据风控平台还包括第五执行单元;
所述第五执行单元,用于在所述第一执行单元执行预先配置的第一事务之后,执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址;其中,N为小于等于M的正整数。
可选的,所述第二事务语句包括第二删除SQL语句和第二新增SQL语句;
所述第五执行单元具体用于在所述第二删除SQL语句和所述第二新增SQL语句对应的数据库操作执行成功的情况下,将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
第三方面,本发明实施例提供了另一种大数据风控平台,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第五方面,本发明实施例提供了一种计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
通过实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率。与此同时,在第一事务语句执行不成功的情况下,对第一数据表执行回滚操作,可以提高第一数据表中的数据的准确性。此外,还可以在第一数据表的基础上执行预先配置的第二事务语句,将第一数据表生成第二数据表,由于生成的第二数据表中的数据可以确保都是准确无误的,可以提高大数据平台服务第三方机构的水平。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1A是本发明实施例提供的一种数据生成方法的示意流程图;
图1B是本发明实施例提供的一种报文头的示意图;
图1C是本发明实施例提供的一种报文体的示意图;
图1D是本发明实施例提供的一种报文尾的示意图;
图2是本发明另一实施例提供的一种数据生成方法的示意流程图;
图3是本发明另一实施例提供的一种数据生成方法的示意流程图;
图4本发明实施例提供的一种大数据风控平台的示意性框图;
图5本发明另一实施例提供的一种大数据风控平台的示意性框图;
图6本发明另一实施例提供的一种大数据风控平台的示意性框图;
图7本发明另一实施例提供的一种大数据风控平台的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合图1A所示的本发明实施例提供的数据生成方法的流程示意图,具体说明本发明实施例如何配置数据,可以包括以下步骤:
步骤S101、监听到消息队列服务器中存在报文。
具体实现中,大数据风控平台监控到消息队列服务器中存在报文。
具体实现中,消息队列服务器是指在消息的传输过程中保存消息的计算机。
具体实现中,本申请中所涉及的报文包括报文头、报文体、报文尾。
在一种可能的实现方式中,一个完整的报文1可以包括报文头1、报文体1以及报文尾1。接下来具体阐述本申请中所涉及的报文头1、报文体1以及报文尾1的具体表现形式。
具体实现中,报文头包括预设字段以及该字段对应的字段信息。可以理解的是,预设字段与字段信息之间存在一一对应的关系。
例如,报文头的表现形式可以如图1B所示。具体地,由图1B中的报文头1可以知道,报文头1中包括的字段有开始标签、批次号标识、发送当前报文的开始时间、信息状态等。开始标签“start”为报文头的开始标志,批次号标识“153022476065”即为当前的报文标识,该标识可以用来区分不同的报文。
例如,报文体1的表现形式可以如图1C所示。具体地,由图1C所示的报文体1可以知道,报文体1中包括的字段有业务类型、批次号标识、列表字段SIX_DELAY_TIMES_5、列表字段ACCT_LOAN_NO_C_1、列表字段ID_PERSON、列表字段CONTRACT_NO_C_1、列表字段APP_DATE_C_1、列表字段INPUT_TIME、列表字段DD_F_RATE、列表字段INTIME_PAY_2_RATE、列表字段OVERDUE_INTERVAL_DAYS。
又例如,报文尾1的表现形式如图1D所示。具体地,由图1D所示的报文尾1可以知道,报文尾1中包括的字段有结束标签、批次号标识、发送当前报文的结束时间、报文体中所包括的数据的总数、数据状态、提示字段。
步骤S102、解析所述报文,以得到解析后的报文数据;
具体实现中,使用JSON解析上述报文,以得到解析后的报文数据。JSON(JavaScript Object Notation,JSON)是一种轻量化中的对象和数组。使用JSON解析报文的规则是:若遇到{},则使用JSON对象(JSONObject)进行解析;若遇到[],则使用JSON数组(JSONArray)进行解析。可以理解的是,在本发明实施例中,上述使用JSON的方式解析报文只是作为一种示例,还可以采用其他的方式来解析报文,不应构成限定。
具体实现中,解析后的报文数据可以包括M个第一预设字段,这里所涉及的M为大于1的正整数。例如,解析后的报文数据包括以下12个第一预设字段:批次号标识(a)、业务类型(b)、状态信息(c)、列表字段SIX_DELAY_TIMES_5(d)、列表字段ACCT_LOAN_NO_C_1(e)、列表字段ID_PERSON(f)、列表字段CONTRACT_NO_C_1(g)、列表字段APP_DATE_C_1(h)、列表字段INPUT_TIME(i)、列表字段DD_F_RATE(j)、列表字段INTIME_PAY_2_RATE(k)、列表字段OVERDUE_INTERVAL_DAYS(l)。
步骤S103、执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
具体实现中,第一事务语句包括第一删除SQL(Structured Query Language,SQL)语句和第一新增SQL语句。
在一种可能的实现方式中,在没有执行预先设置的第一事务之前,创建的第一数据表的表现形式可以如表1所示:
表1
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
… |
00000000 |
|
|
|
|
|
|
|
|
|
|
|
… |
00010000 |
|
|
|
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
… |
11110000 |
|
|
|
|
|
|
|
|
|
|
|
… |
需要说明的是,在发明实施例中,为了便于阐述,表1中a表示字段“批次号标识”,b表示字段“业务类型”,c表示字段“状态信息”,d表示字段“SIX_DELAY_TIMES_5”,e表示字段“ACCT_LOAN_NO_C_1”,f表示字段“ID_PERSON”,g表示字段“CONTRACT_NO_C_1”,h表示字段“APP_DATE_C_1(h)”,i表示字段“INPUT_TIME”,j表示字段“DD_F_RATE”,k表示字段“INTIME_PAY_2_RATE”,l表示字段“OVERDUE_INTERVAL_DAYS”。
假设上述第一数据表为16行16列的存储单元,那么,第0行第0列处的存储单元对应的存储地址的行比特和列比特的位数都为4,那么,第0行第0列处的存储单元对应的存储地址的行比特为0000,第0行第0列处的存储单元对应的存储地址的列比特为0000,进而,第0行第0列处的存储单元对应的存储地址为00000000。那么,具体实现中,以第一预设字段为批次号标识(a)为例,该批次号标识(a)对应的存储地址可以包括第0行第0列00000000、第1行第0列00010000、第2行第0列00100000、……、第15行第0列11110000。那么,可以理解的是,批次号标识(a)与存储地址第0行第0列00000000存在对应关系,除此之外,批次号标识(a)还与存储地址第1行第0列00010000存在对应关系,也与存储地址第15行第0列11110000存在对应关系。
那么,在执行预先配置的第一事务语句之后,可以使得将解析后的M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址。
以第一预设字段为批次号标识(a)为例,由前述阐述可以知道,在当前的报文为报文1的情况下,该批次号标识(a)对应的字段信息为“1530224760656”,继而,将“1530224760656”写入第0行第0列00000000处。与此同时,业务类型(b)等其它字段各自对应的字段信息依次分别写入第0行1列、第0行2列、……、第0行第15列。由于解析后的报文数据包括12个第一预设字段,而第一数据表中包括的字段为15个,此时,第0行第13列、第0行第14列、第0行第15列的地址中补0或空缺均可,本发明实施例不作具体限定。
具体地,解析后的12个第一预设字段对应的字段信息分别写入第一数据表中12个第一预设字段各自对应的存储地址之后可以参见表2:
表2
在一种可能的实现方式中,所述执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址,可以包括:
执行预先配置的所述第一删除SQL语句和所述第一新增SQL语句;
若所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
具体实现中,只有在第一删除SQL语句和第一新增SQL语句对应的数据库操作都执行成功情况下,才会将报文数据中与M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址。
接下来具体阐述大数据风控平台在满足怎样的情形下,才会将报文数据中与M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址。具体实现中,可以包括以下几种情形:
情形一:检测第一删除SQL语句对应的数据库操作执行是否成功,在检测结果为是的情况下,再判断第一新增SQL语句对应的数据库操作执行是否成功;在判断结果为是的情况下,将报文数据中与M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址。
情形二:检测第一新增SQL语句对应的数据库操作是否成功;在检测结果为是的情况下,再判断第一删除SQL语句对应的数据库操作执行是否成功;在判断结果为是的情况下,将报文数据中与M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址。
通过实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率。
下面结合图2所示的本发明另一实施例提供的数据生成方法流程示意图,具体说明本发明实施例是怎么生成数据的,可以包括但不限于如下步骤S201-S204:
步骤S201、监听到消息队列服务器中存在报文。
步骤S202、解析所述报文,以得到解析后的报文数据。
步骤S203、执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
具体地,步骤S201-步骤S203可以参考上述图1A实施例中步骤S101-S103的相关描述,此处不多加赘述。
步骤S204、若第一事务语句对应的数据库操作执行不成功,则对第一数据表执行回滚操作。
具体实现中,回滚操作是指在某项操作失败的情况下,返回上一次正确状态的行为。
在本发明实施例中,在第一事务语句对应的数据库操作不成功的情况下,对第一数据库执行回滚操作,此时,第一数据表返回到执行当前第一事务语句之前的状态。
例如,在执行第一事务语句之前的第一数据表的表现形式可以如表2所示:
表2
例如,第一事务语句包括第一删除SQL语句和第一新增SQL语句。具体地,第一删除SQL语句用于删除批次号标识为“1530224760656”第0行第0列到第0行第15列的地址中存储的字段信息,第一新增SQL语句用于在第1行第0列到第1行第15列的地址中写入批次号标识“1524872535366”解析后的字段所包含的具体的字段信息。在第一事务语句执行成功的情况下,第一数据表的表现形式可以如表3所示:
表3
然而,实际情况中,在执行第一删除SQL语句之后,没有成功删除批次号标识“1530224760656”第0行第0列到第0行第15列的地址中存储的字段信息;在执行第一新增SQL语句之后,成功的将批次号标识“1524872535366”解析后的字段写入第1行第0列到第1行第15列的地址中。如上一个实施例所阐述的,只有在第一删除SQL语句和第一新增SQL语句对应的数据库操作都成功的情形下,才会将报文数据中与M个第一预设字段对应的字段信息分别写入第一数据表中M个第一预设字段各自对应的存储地址,也即在执行第一事务语句成功之后的第一数据表可以如表3所示。那么,可以理解的,由于此时第一删除SQL语句对应的数据库操作是失败的,即可以说明第一事务对应的数据库操作不成功,此时,第一数据表的表现形式如表4所示:
表4
可以知道的是,表4即为在执行当前的第一事务语句之前的第一数据表(即表2)的表现形式。即,在第一事务语句对应的数据库操作不成功的情况下,对第一数据表执行回滚操作。
接下来具体阐述第一事务语句对应的数据库操作不成功的情形,具体实现中,可以包括以下情形:
情形一:检测第一删除SQL语句对应的数据库操作执行是否成功;在检测结果为是的情况下,再判断第一新增SQL语句对应的数据库操作执行是否成功;在判断结果为否的情况下,对第一数据表执行回滚操作。
情形二:检测第一删除SQL语句对应的数据库操作执行是否成功;在检测结果为否的情况下,对第一数据表执行回滚操作。
情形三:检测第一新增SQL语句对应的数据库操作是否成功;在检测结果为是的情况下,再判断第一删除SQL语句对应的数据库操作是否成功;在判断结果为否的情况下,对第一数据表执行回滚操作。
情形四:检测第一新增SQL语句对应的数据库操作执行是否成功;在检测结果为否的情况下,对第一数据表执行回滚操作。
通过实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率。与此同时,在第一事务语句执行不成功的情况下,对第一数据表执行回滚操作,可以提高第一数据表中的数据的准确性。
下面结合图3所示的本发明另一实施例提供的数据生成方法流程示意图,具体说明本发明实施例是如何生成数据的,可以包括但不限于如下步骤S301-S304:
步骤S301、监听到消息队列服务器中存在报文。
步骤S302、解析所述报文,以得到解析后的报文数据。
步骤S303、执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
具体地,步骤S301-步骤S303可以参考上述图1A实施例中步骤S101-S103的相关描述,此处不多加赘述。
步骤S304、执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址;其中,N为小于等于M的正整数。
在一种可能的实现方式中,第二事务语句包括第二删除SQL语句和第二新增SQL语句,若所述第二删除SQL语句和所述第二新增SQL语句对应的数据库操作执行成功,则将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
具体实现中,在第二删除SQL语句和第二新增SQL语句对应的数据库操作均成功的情况下,将第一数据表中M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
具体实现中,例如,第一预设字段包括批次号标识(a)、业务类型(b)、状态信息(c)、列表字段SIX_DELAY_TIMES_5(d)、列表字段ACCT_LOAN_NO_C_1(e)、列表字段ID_PERSON(f)、列表字段CONTRACT_NO_C_1(g)、列表字段APP_DATE_C_1(h)、列表字段INPUT_TIME(i)、列表字段DD_F_RATE(j)、列表字段INTIME_PAY_2_RATE(k)、列表字段OVERDUE_INTERVAL_DAYS(l);第二预设字段包括批次号标识(a)、业务类型(b)、状态信息(c)、列表字段SIX_DELAY_TIMES_5(d)、列表字段ACCT_LOAN_NO_C_1(e)、列表字段ID_PERSON(f)、列表字段CONTRACT_NO_C_1(g)、列表字段APP_DATE_C_1(h)、列表字段INPUT_TIME(i)、列表字段DD_F_RATE(j)、列表字段INTIME_PAY_2_RATE(k)、列表字段OVERDUE_INTERVAL_DAYS(l),也即,第一预设字段与第二预设字段中的字段数量相同,字段名称相同,此时,在执行预先配置的第二事务语句之后,可以实现将第一数据表同步得到第二数据表。具体实现中,这里所涉及的同步是指数据库同步,具体地,数据库同步是指让两个或多个数据库内容保持一致。
例如,第一数据表如表5所示:
表5
在执行预先配置的第二事务语句之后,第二数据表可以如表6所示:
表6
具体实现中,第一预设字段包括批次号标识(a)、业务类型(b)、状态信息(c)、列表字段SIX_DELAY_TIMES_5(d)、列表字段ACCT_LOAN_NO_C_1(e)、列表字段ID_PERSON(f)、列表字段CONTRACT_NO_C_1(g)、列表字段APP_DATE_C_1(h)、列表字段INPUT_TIME(i)、列表字段DD_F_RATE(j)、列表字段INTIME_PAY_2_RATE(k)、列表字段OVERDUE_INTERVAL_DAYS(l);第二预设字段包括业务类型(b)、列表字段SIX_DELAY_TIMES_5(d)、列表字段ACCT_LOAN_NO_C_1(e)、列表字段ID_PERSON(f)、列表字段CONTRACT_NO_C_1(g)、列表字段APP_DATE_C_1(h)、列表字段INPUT_TIME(i)、列表字段DD_F_RATE(j)、列表字段INTIME_PAY_2_RATE(k)、列表字段OVERDUE_INTERVAL_DAYS(l),也即,第二预设字段是第一字段的子集,此时,在执行预先配置的第二事务语句之后,第二数据表可以如表7所示:
表7
可以理解的是,为了满足某些特殊的业务需求,金融机构对第一数据表中的某些非必要字段进行了删除、调整等操作,在这种情况下,可以认为第一数据表为中间表,第二数据表为正式表。具体实现中,第一数据表的意义在于可以减少数据在生成的过程中出现的错误,以至于在以第一数据表为基础生成第二数据表的情况下,可以使得第二数据表中的数据都是准确无误的。可以理解的是,上述情况下的第二数据表可为第三方机构提供更专业的数据服务,继而,可以提高金融机构的服务水平。
通过实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率,与此同时,还可以在第一数据表的基础上执行预先配置的第二事务语句,将第一数据表生成第二数据表,由于生成的第二数据表中的数据可以确保都是准确无误的,可以提高大数据平台服务第三方机构的水平。
为了便于更好的实施本发明实施例的上述方法,本发明实施例还描述了与上述图1A、图2以及图3所述的方法实施例属于同一发明构思下的一种大数据风控平台的结构示意图。下面结合附图来进行详细说明:
如图4所示,该大数据风控平台400包括:
监听单元401,用于监听到消息队列服务器中存在报文;
解析单元402,用于解析所述报文,以得到解析后的报文数据;
第一执行单元403,用于执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
可选的,所述第一事务语句包括第一删除SQL语句和第一新增SQL语句;
更进一步地,所述第一执行单元403包括第二执行单元和数据写入单元;
其中,所述第二执行单元用于执行预先配置的所述第一删除SQL语句和所述第一新增SQL语句;
所述数据写入单元,用于在所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
更进一步地,所述数据写入单元包括第一检测单元、第一判断单元和第一数据写入单元;
其中,所述第一检测单元用于检测所述第一删除SQL语句对应的数据库操作执行是否成功;
所述第一判断单元,用于在所述第一检测单元检测结果为是的情况下,判断所述第一新增SQL语句对应的数据库操作执行是否成功;
所述第一数据写入单元,用于在所述第一判断单元判断结果为是的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;
或者,所述第一检测单元,还用于检测所述第一新增SQL语句对应的数据库操作是否成功;
所述第一判断单元,还用于在所述第一检测单元检测结果为是的情况下,判断所述第一删除SQL语句对应的数据库操作执行是否成功;
所述第一数据写入单元,还用于所述第一判断单元判断结果为是的情况下,将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
进一步地,如图5所示,所述大数据风控平台400还包括第三执行单元404;
所述第三执行单元,用于在所述第一执行单元403执行预先配置的第一事务语句之后,在所述第一事务语句对应的数据库操作执行不成功的情况下,则对所述第一数据表执行回滚操作。
可选的,所述第三执行单元404包括第二检测单元、第二判断单元、第四执行单元;
其中,所述第二检测单元,用于检测第一删除SQL语句对应的数据库操作执行是否成功;
所述第二判断单元,用于在所述第二检测单元的检测结果为是的情况下,判断第一新增SQL语句对应的数据库操作执行是否成功;
所述第四执行单元,用于在所述第二判断单元的判断结果为否的情况下,对所述第一数据表执行回滚操作;
所述第四执行单元,还用于在所述第二检测单元的检测结果为否的情况下,对所述第一数据表执行回滚操作;
或者,所述第二检测单元,还用于检测所述第一新增SQL语句对应的数据库操作是否成功;
所述第二判断单元,还用于在所述第二检测单元的检测结果为是的情况下,判断所述第一删除SQL语句对应的数据库操作是否成功;
所述第四执行单元,还用于在所述第二判断单元的判断结果为否的情况下,对所述第一数据表执行回滚操作;
所述第四执行单元,还用于在所述第二检测单元的检测结果为否的情况下,则对所述第一数据表执行回滚操作。
更进一步地,如图6所示,所述大数据风控平台还包括第五执行单元405;
所述第三执行单元405,用于在所述第一执行单元403执行预先配置的第一事务之后,执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址;其中,N为小于等于M的正整数。
可选的,所述第二事务语句包括第二删除SQL语句和第二新增SQL语句;
所述第五执行单元405具体用于在所述第二删除SQL语句和所述第二新增SQL语句对应的数据库操作执行成功的情况下,将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
实施本发明实施例,在大数据风控平台对接的数据庞大的情况下,无需每对接一个数据都开发一次,只需执行预先配置的第一事务语句即可,可提高数据的开发效率。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了另一种大数据风控平台的结构示意图,下面结合附图来进行详细说明:
如图7示出的本发明实施例提供的另一种大数据风控平台的结构示意图,该大数据风控平台700可以包括至少一个处理器701,通信总线702,存储器703以及至少一个通信接口704。
处理器701可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线702可包括一通路,在上述组件之间传送信息。所述通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Technology,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器703可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器703用于存储执行本发明方案的程序代码,并由处理器701来控制执行。所述处理器701用于执行所述存储器703中存储的程序代码,执行以下步骤:
监听到消息队列服务器中存在报文;
解析所述报文,以得到解析后的报文数据;
执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;其中,M为大于1的正整数。
其中,所述第一事务语句包括第一删除SQL语句和第一新增SQL语句;
处理器701执行预先配置的第一事务语句,所述第一事务语句包含M个第一预设字段,以将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址,可以包括:
执行预先配置的所述第一删除SQL语句和所述第一新增SQL语句;
若所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
其中,处理器601在所述第一删除SQL语句和所述第一新增SQL语句对应的数据库操作执行成功的情况下,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址,可以包括:
检测所述第一删除SQL语句对应的数据库操作执行是否成功;若检测为是,则判断所述第一新增SQL语句对应的数据库操作执行是否成功;若判断为是,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址;
或者,检测所述第一新增SQL语句对应的数据库操作是否成功;
若检测为是,则判断所述第一删除SQL语句对应的数据库操作执行是否成功;
若判断为是,则将所述报文数据中与所述M个第一预设字段对应的字段信息分别写入第一数据表中所述M个第一预设字段各自对应的存储地址。
其中,处理器701在执行预先配置的第一事务语句之后,还可以包括:
若所述第一事务语句对应的数据库操作执行不成功,则对所述第一数据表执行回滚操作。
其中,处理器701在所述第一事务语句对应的数据库操作执行不成功的情况下,对所述第一数据表执行回滚操作,可以包括:
检测第一删除SQL语句对应的数据库操作执行是否成功;若检测为是,则判断第一新增SQL语句对应的数据库操作执行是否成功;若判断为否,则对所述第一数据表执行回滚操作;若检测为否,则对所述第一数据表执行回滚操作;
或者,检测所述第一新增SQL语句对应的数据库操作是否成功;
若检测为是,则判断所述第一删除SQL语句对应的数据库操作是否成功;若判断为否,则对所述第一数据表执行回滚操作;若检测为否,则对所述第一数据表执行回滚操作。
其中,处理器701在执行预先配置的第一事务之后,还可以包括:
执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址;其中,N为小于等于M的正整数。
其中,所述第二事务语句包括第二删除SQL语句和第二新增SQL语句;
处理器701执行预先配置的第二事务语句,所述第二事务语句包含N个第二预设字段,所述N个第二预设字段属于所述M个第一预设字段,以将所述第一数据表中所述M个第一预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址,可以包括:
若所述第二删除SQL语句和所述第二新增SQL语句对应的数据库操作执行成功,则将所述第一数据表中所述N个第二预设字段各自对应的存储地址中的字段信息分别写入第二数据表中所述N个第二预设字段各自对应的存储地址。
在具体实现中,作为一种可选的实施例,处理器701可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种可选的实施例,大数据风控平台700可以包括多个处理器,例如图7中的处理器701和处理器708。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种可选的实施例,大数据风控平台700还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(Liquid Crystal Display,LCD),发光二极管(LightEmitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接受用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。
在具体实现中,大数据风控平台700可以是台式机、便携式电脑、网络服务器。本发明实施例不限定大数据风控平台700的类型。
本发明实施例还提供了一种计算机存储介质,用于存储为上述图1A、图2以及图3所示的大数据风控平台所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以实现数据的生成。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。