衍生变量的生成方法、装置、设备、介质及产品与流程
未命名
09-13
阅读:93
评论:0
1.本公开涉及计算机技术领域,尤其涉及一种衍生变量的生成方法、装置、设备、介质及产品。
背景技术:
2.征信报告的解析,衍生变量的加工对于征信报告内容的使用至关重要。
3.在现有技术中,解析征信报告,加工衍生变量是针对某一个变量单独进行计算。具体在原始征信报文数据中进行读取并计算,效率较低。并且,针对单独变量的计算,未考虑各个变量间的逻辑关系,存在重复获取以及重复计算的问题,导致计算衍生变量的延迟较高。
技术实现要素:
4.本公开提供一种衍生变量的生成方法、装置、设备、介质及产品,用以解决现有技术中生成衍生变量时出现的效率低、耗时长的缺陷,实现快速、高效的生成衍生变量。
5.本公开提供一种衍生变量的生成方法,包括:
6.获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,所述待处理数据通过对原始征信报文数据反序列化得到;
7.基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中;
8.基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量。
9.根据本公开提供的一种衍生变量的生成方法,所述数据加工逻辑包括:数据加工函数和各所述数据加工函数之间的逻辑关系;
10.所述基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量,包括:
11.针对每个所述数据加工函数,执行以下衍生变量生成过程:
12.基于所述逻辑关系,确定当前数据加工函数;从所述第一数据结构中提取与所述当前数据加工函数对应的待加工数据,利用所述当前数据加工函数,对所述待加工数据进行加工,得到当前衍生变量;
13.重复执行所述衍生变量生成过程,直至所有的所述数据加工函数执行完成,得的所述目标衍生变量。
14.根据本公开提供的一种衍生变量的生成方法,所述利用所述当前数据加工函数,对所述待加工数据进行加工,得到当前衍生变量之后,还包括:
15.确定所述待加工数据对应的被引用次数,所述被引用次数用于表征所述待加工数据是否能够用于生成所述目标衍生变量;
16.在确定所述被引用次数为预设值时,确定所述待加工数据不再用于生成所述目标
衍生变量,从所述第一数据结构中删除所述待加工数据。
17.根据本公开提供的一种衍生变量的生成方法,所述获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,包括:
18.确定与所述目标衍生变量对应的衍生变量模板;
19.获取与所述衍生变量模板对应的目标路径,以及与所述衍生变量模板对应的所述数据加工逻辑;
20.基于所述目标路径,从预先设置的第二数据结构中获取所述待处理数据。
21.根据本公开提供的一种衍生变量的生成方法,所述获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑之前,还包括:
22.获取所述原始征信报文数据;
23.基于所述原始征信报文数据的板块信息,将所述原始征信报文数据反序列化至所述第二数据结构中。
24.根据本公开提供的一种衍生变量的生成方法,第一数据结构包括:数阵,所述数阵包括:第一数据节点和第二数据节点;
25.所述第二数据结构包括:多叉树,所述多叉树包括:根对象和子对象;所述根对象包括:数据标识,所述数据标识和所述衍生变量模板对应;所述子对象包括:所述待处理数据,所述子对象的父对象为所述根对象或另一个子对象;
26.所述基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中,包括:
27.确定每个所述子对象存储的数据的数据类型,所述数据类型包括:字符串类型和非字符串类型;
28.将第一子对象存储的数据组织在所述第一数据节点中,所述第一子对象为存储的数据为所述非字符串类型的子对象;
29.将所述第二子对象存储的数据组织在所述第二数据节点中,所述第二子对象为与所述第一子对象存在从属关系的,存储的数据为所述字符串类型的子对象。
30.根据本公开提供的一种衍生变量的生成方法,所述数阵包括:由至少两个双链表组成的二维数阵;
31.所述第一数据节点包括:所述数阵中的第i行双链表的数据节点,所述第二数据节点包括:所述数阵中的所有数据节点除去所述第一数据节点之后剩余的数据节点,所述i为大于或等于1的整数;
32.所述将第一子对象存储的数据组织在所述第一数据节点中,包括:
33.将所述第一子对象存储的数据组织在所述第i行双链表的数据节点中;
34.所述将所述第二子对象存储的数据组织在所述第二数据节点中,包括:
35.针对所述第i行双链表的每个第一数据节点执行以下存储过程:
36.确定与所述第一数据节点的第一子对象存在所述从属关系的第二子对象;
37.确定所述第二子对象存储的数据的条目;
38.将每个所述条目对应的数据组织与所述第一数据节点对应的第二数据节点中。
39.根据本公开提供的一种衍生变量的生成方法,所述数阵包括:由至少两个双链表组成的二维数阵;
40.所述第一数据节点包括:所述数阵中的第j列双链表的数据节点,所述第二数据节点包括:所述数阵中的所有数据节点除去所述第一数据节点之后剩余的数据节点,所述j为大于或等于1的整数;
41.所述将第一子对象存储的数据组织在所述第一数据节点中,包括:
42.将所述第一子对象存储的数据组织在所述第j列双链表的数据节点中;
43.所述将所述第二子对象存储的数据组织在所述第二数据节点中,包括:
44.针对所述第j列双链表的每个第一数据节点执行以下存储过程:
45.确定与所述第一数据节点的第一子对象存在所述从属关系的第二子对象;
46.确定所述第二子对象存储的数据的条目;
47.将每个所述条目对应的数据组织在与所述第一数据节点对应的第二数据节点中。
48.本公开还提供一种衍生变量的生成装置,包括:
49.获取模块,用于获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,所述待处理数据通过对原始征信报文数据反序列化得到;
50.组织模块,用于基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中;
51.加工模块,用于基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量。
52.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的衍生变量的生成方法。
53.本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的衍生变量的生成方法。
54.本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的衍生变量的生成方法。
55.本公开提供的衍生变量的生成方法、装置、设备、介质及产品,通过获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,其中,待处理数据通过对原始征信报文数据反序列化得到,可见,本公开并不是对原始征信报文进行衍生变量的生成,而是利用对其反序列化后的数据进行衍生变量的生成,为后续快速的生成衍生变量提供了有效的数据基础,另外,本公开同时获取并计算多个目标衍生变量对应的待处理数据,避免了单个获取并计算产生的数据重复获取和重复计算,导致计算延迟高的问题;进而,基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中,可见,本公开充分考虑了待处理数据之间关联关系,基于关联关系进行待处理数据的存储,为后续快速的对待处理数据进行加工提供了有效的数据基础;最后,基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量,可见,本公开基于特定的数据结构,可以有效的提高数据的运行效率和存储效率,解决了现有技术中生成衍生变量时出现的效率低、耗时长的问题,实现了快速、高效的生成衍生变量的目的。
附图说明
56.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1是本公开提供的衍生变量的生成方法的流程示意图之一;
58.图2是本公开提供的将原始征信报文数据反序列化至多叉树的示意图;
59.图3是本公开提供的衍生变量的生成方法的流程示意图之三;
60.图4是本公开提供的数阵的示意图;
61.图5是本公开提供的衍生变量的生成框架的结构示意图;
62.图6是本公开提供的衍生变量的生成装置的结构示意图;
63.图7是本公开提供的电子设备的结构示意图。
具体实施方式
64.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
65.下面结合图1-图3描述本公开实施例的衍生变量的生成方法。
66.本发明实施例提供了一种衍生变量的生成方法,该方法可以应用在智能终端,例如,手机、电脑、平板等,也可以应用在服务器中。下面,以该方法应用在服务器为例进行说明,但需要说明的是仅为举例说明,并不用于对本发明的保护范围进行限定。本发明实施例中的一些其他说明,也是举例说明,并不用于对本发明的保护范围进行限定,之后便不再一一说明。
67.具体的,征信报告内容在金融机构的数据应用方面起到了关键作用。通过对原始征信报文数据进行解析、加工,得到衍生变量,以能够为下游进行模型训练或制定策略提供重要的数据基础。然而,随着技术的高速发展,原始征信报文数据的数据量越来越大,在线实时解析、加工原始征信报文数据时出现延迟较高的问题。
68.该方法的具体实现如图1所示:
69.步骤101,获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑。
70.其中,待处理数据通过对原始征信报文数据反序列化得到。
71.一个具体实施例中,实时获取上游发送的原始征信报文数据,确定原始征信报文数据的各个板块信息;基于原始征信报文数据的板块信息,将原始征信报文数据反序列化至第二数据结构中。
72.其中,将反序列化至第二数据结构中的数据定义为目标征信数据,目标征信数据包括待处理数据。
73.其中,原始征信报文数据包括:可扩展标记语言(extensible markup language,
简称xml)格式的征信报文数据、一种轻量级数据交换格式(javascript object notatio,简称json)的征信报文数据和超文本标记语言(hyper text markup language,简称html)格式的征信报文数据中的任一项或多项。
74.其中,第二数据结构包括:多叉树,多叉树包括:根对象和子对象;根对象包括:数据标识,数据标识和衍生变量模板对应;子对象包括:待处理数据,子对象的父对象为根对象或另一个子对象。
75.其中,根对象为多叉树的根节点,子对象包括多叉树的中间节点和叶子节点。中间节点存储数据类型或对象类型的征信报文数据,叶子节点存储字符串类型的征信包括数据。
76.具体的,由于业务类型的不同,原始征信报文数据的板块信息不同。例如,业务类型包括:个人征信和企业征信,那么个人征信的板块信息和企业征信的板块信息不同。
77.下面,以业务类型为个人征信为例进行将原始征信报文数据反序列化至多叉树为例进行说明:
78.例如,原始征信报文数据的板块信息包括:a:个人基本信息;b:个人征信报告概述;c:信贷交易信息明细;等。
79.其中,a中也包括多个板块信息,例如:d:居住信息;e:身份信息;f:职业信息;等。
80.其中,c中也包括多个板块信息,例如:g:非循环贷账户;h:贷记卡账户;等。
81.其中,e中也包括多个板块信息,例如,i:个人身份信息;j:配偶身份信息;等。
82.以上述举例为例基于各个板块信息以及各个板块信息之间的隶属关系,将原始征信报文数据反序列化至多叉树中,如图2所示。
83.其中,在图2中根节点通过root表示。
84.具体的,在进行反序列操作时,所有的节点对应的目标征信数据,均按照指定的格式进行组织,方便后续对这些目标征信数据进行提取、分析和计算。
85.其中,指定的格式为基于指定的符号对数据进行划分,例如,i:个人身份信息包括:姓名、年龄、出生日期、学籍、学历等;将众多字段存储在叶子节点i时,可以通过指定的“/”符号,将各个字段分开,或者通过“*”符号将各个字段分开,或者通过“@”符号将各个字段分开,以防止数据混乱。
86.即,当节点中需要存储多个字段时,按照指定的格式对数据进行划分。
87.当然,任何符号均可以,但是目标征信数据中存在的符号除外,以防数据和符号相同,出现划分混乱的问题。
88.本公开通过将原始征信报文数据反序列化至多叉树中,利用多叉树高度较小的机制,减少磁盘读取次数,为快速生成衍生变量,提供了有效的数据基础。
89.一个具体实施例中,获取待处理数据以及数据加工逻辑的具体实现如图3所示:
90.步骤301,确定与目标衍生变量对应的衍生变量模板。
91.具体地,预先存储下游所需的目标衍生变量,基于目标衍生变量确定与之对应的目标衍生变量模板;或者预先存储下游所需的衍生变量模板,可以通过衍生变量模板,得到下游所需的目标衍生变量。
92.其中,由于业务类型的不同,衍生变量模板不同。
93.步骤302,获取与衍生变量模板对应的目标路径,以及与衍生变量模板对应的数据
加工逻辑。
94.其中,衍生变量模板不同,与其对应的目标路径以及数据加工逻辑不同。
95.具体的,预先存储了衍生变量模板的模板标识与目标征信数据的第一对应关系,以及衍生变量模板的模板标识与数据加工逻辑的第二对应关系。基于第一对应关系,将衍生变量模板中的目标衍生变量和目标征信数据进行匹配,基于匹配成功的结果,确定衍生变量模板在第二数据结构的目标路径;基于第二对应关系,确定与衍生变量模板对应的数据加工逻辑。
96.其中,目标路径为存储有衍生变量模板对应的待处理数据的存储路径。
97.步骤303,基于目标路径,从预先设置的第二数据结构中获取待处理数据。
98.具体的,将原始征信报文数据反序列化至多叉树中后,可以直接通过目标路径获取叶子节点对应的待处理数据,例如,root/a/e/i,也可以直接通过目标路径获取中间节点对应的待处理数据,例如,root/a/e。
99.具体的,目标路径包括至少一个存储路径。
100.例如,目标路径为root/a/e/i和root/a/e/j。若每次单独通过目标路径中的一个进行待处理数据的提取,即,root/a/e/i提取一次,root/a/e/j提取一次,可见此时出现了重复获取root/a/e的情况,可能会造成数据重复,并且由于多次提取增加了服务器的数据处理量。
101.针对出现重复获取某个路径的情况,获取多个存储路径的最小闭包路径,提取该最小闭包路径对应的待处理数据。例如,root/a/e/i和root/a/e/j的最小闭包路径为root/a/e,将root/a/e作为目标路径进行待处理数据的获取。这样通过一次提取过程,便可以得到多个存储路径的待处理数据。
102.其中,最小闭包路径为多个存储路径均包含的路径。
103.对应的,在将待处理数据存储在数阵时,基于存储路径对应待处理数据进行拆解即可。
104.本公开有效的减少了重复获取多个相似存储路径的情况,提高了加工衍生变量的效率。
105.步骤102,基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中。
106.其中,各个板块之间的隶属关系和待处理数据之间的关联关系对应。
107.具体的,第一数据结构包括:数阵,数阵包括:第一数据节点和第二数据节点;第二数据结构包括:多叉树,多叉树包括:根对象和子对象;根对象包括:数据标识,数据标识和衍生变量模板对应;子对象包括:待处理数据,子对象的父对象为根对象或另一个子对象。
108.其中,数据标识用于指示原始征信报文数据所属的业务类型。
109.一个具体实施例中,确定每个子对象存储的数据的数据类型,数据类型包括:字符串类型和非字符串类型;将第一子对象存储的数据组织在第一数据节点中,第一子对象为存储的数据为非字符串类型的子对象;将第二子对象存储的数据组织在第二数据节点中,第二子对象为与第一子对象存在从属关系的,存储的数据为字符串类型的子对象。
110.其中,子对象之间的从属关系和各个板块之间的隶属关系对应。
111.其中,非字符串类型包括:数组类型和对象类型等。
112.一个具体实施例中,数阵包括:由至少两个双链表组成的二维数阵;第一数据节点包括:数阵中的第i行双链表的数据节点,第二数据节点包括:数阵中的所有数据节点除去第一数据节点之后剩余的数据节点,i为大于或等于1的整数。
113.具体将第一子对象存储的数据组织在第i行双链表的数据节点中;针对第i行双链表的每个第一数据节点执行以下存储过程:
114.确定与第一数据节点的第一子对象存在从属关系的第二子对象;确定第二子对象存储的数据的条目;将每个条目对应的数据组织与第一数据节点对应的第二数据节点中。
115.其中,条目和字段对应。
116.其中,数阵的列数通过多叉树中第一子对象的个数确定,数阵的行数通过第二子对象的条目确定。
117.i可以为1至数阵的行数中的任意一个数,下面,以i等于1为例进行说明:
118.为了能够清楚的说明如何将多叉树中的待处理数据存储在数阵中,以图4为例进行说明:
119.以将root/a对应的待处理数据存储在数阵中为例进行说明:
120.其中,a为数组类型、e为数组类型、i为字符串类型、j为字符串类型、d为字符串类型、f为字符串类型。
121.例如,a的存储方式为
122.e的存储方式为
123.由于root/a/e/i和root/a/e/j有相同部分的路径,因此,只需将不同部分对应的子对象组织在第一行双链表中即可。通过表1中的数据,进行图4的设计。
[0124][0125]
表1目标征信数据
[0126]
通过表1,可以得到居住信息的条目为3,职业信息的条目为2,个人身份信息的条目为5,配偶身份信息的条目为4,以此为例设计图4。
[0127]
由于条目不同,因此,可能会出现第二数据节点为空的现象,这种情况下,就直接设置对应的第二数据节点为空即可。
[0128]
在此基础上,为了能够快速的选择到具体数据,加快数据的提取可以添加行数的概念,例如,将第一列添加行数,或者,新增一列以添加行数。
[0129]
本公开从多叉树中提取待处理数据之后,将其组织到由双链表组成的数阵中,方便后续加工衍生变量的计算。
[0130]
本公开采用由双链表组成的数阵,实现数据的双向访问,从任一个数据节点,根据其先驱和后继便可以找到目标数据节点,有效的提高了数据的检索速度。
[0131]
一个具体实施例中,数阵包括:由至少两个双链表组成的二维数阵;第一数据节点包括:数阵中的第j列双链表的数据节点,第二数据节点包括:数阵中的所有数据节点除去第一数据节点之后剩余的数据节点,j为大于或等于1的整数。
[0132]
具体将第一子对象存储的数据组织在第j列双链表的数据节点中;针对第j列双链表的每个第一数据节点执行以下存储过程:
[0133]
确定与第一数据节点的第一子对象存在从属关系的第二子对象;确定第二子对象存储的数据的条目;将每个条目对应的数据组织在与第一数据节点对应的第二数据节点中。
[0134]
具体的,第一数据节点为数阵中的列对应的数据节点,具体的实现方式可参见第一数据节点为数阵中的行对应的数据节点的实现过程,将行替换为列即可。
[0135]
步骤103,基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量。
[0136]
一个具体实施例中,数据加工逻辑包括:数据加工函数和各数据加工函数之间的逻辑关系。生成目标衍生变量的具体实现方式如下所示:
[0137]
针对每个数据加工函数,执行以下衍生变量生成过程:
[0138]
基于逻辑关系,确定当前数据加工函数;从第一数据结构中提取与当前数据加工函数对应的待加工数据,利用当前数据加工函数,对待加工数据进行加工,得到当前衍生变量;
[0139]
重复执行衍生变量生成过程,直至所有的数据加工函数执行完成,得的目标衍生变量。
[0140]
其中,数据加工函数为对每一个加工步骤对应的代码进行抽象后,得到的抽象函数,逻辑关系为所有的加工步骤之间的逻辑关系,加工步骤同时对多个目标衍生变量进行加工的方法步骤。
[0141]
本公开能够同时加工多个目标衍生变量,对于多个目标衍生变量的加工,可能通过一个数据加工函数完成,也可能是通过多个数据加工函数完成。
[0142]
例如,一共需要加工50个目标衍生变量,通过第一个数据加工函数完成了10个目标衍生变量的加工,通过第二个数据加工函数完成了剩余变量中的20个目标衍生变量的加工,通过第三个数据加工函数完成了所有的目标衍生变量的加工。
[0143]
例如,目标衍生变量为某机构在3月、6月、9月、12月和24月查询次数变量的计算。
通过分析这几个目标衍生变量都是通过机构类型以及机构名称进行筛选,进而,通过不同的时间跨度进行查询次数的计算。
[0144]
确定上述目标衍生变量对应的目标路径,从多叉树中提供与之对应的待处理数据,将提取的待处理数据组织到数阵中。进人,利用数据加工函数对查询时间以及查询机构进行聚合、分类,便可以同时计算出所有的目标衍生变量。
[0145]
本公开通过同时计算多个目标衍生变量,降低了计算所有变量的总时间,使得服务器可以迅速响应,提高了用户体验。
[0146]
一个具体实施例中,在利用当前数据加工函数,对待加工数据进行加工,得到当前衍生变量之后,确定待加工数据对应的被引用次数,被引用次数用于表征待加工数据是否能够用于生成目标衍生变量;在确定被引用次数为预设值时,确定待加工数据不再用于生成目标衍生变量,从第一数据结构中删除待加工数据。
[0147]
具体的,在将多叉树中的待处理数据组织到数阵之后,确定待处理数据在数阵中对应的行或者列,将其定义为引用路径。确定待处理数据在生成目标衍生变量时需要被使用的次数,即引用次数。在每次利用数据加工函数进行数据加工操作之后,将引用次数减1,直至引用次数为0,认为之后生成目标衍生变量时不会被使用,因此可以将其删除,减少数据之间的访问过程,极大的提高了数据处理速度。
[0148]
一个具体实施例中,第一数据结构包括:由至少两个双链表组成的数阵;从第一数据结构中删除待加工数据,具体可以为从第一数据结构中删除与待加工数据对应的双链表。
[0149]
本公开将不再被使用的待处理数据对应的双链表进行删除,便也删除了数据前后的访问关系,提高了目标衍生变量的生成效率。
[0150]
本公开基于上述衍生变量的生成方法,提供了一种衍生变量的生成框架。向该框架输入原始征信报文数据,对原始征信报文数据进行解析、加工,输出衍生变量。
[0151]
如图5所示,该框架包括:输入组件(creditreport)501、关系提取组件(config)502、多叉树存储组件(n-tree)503、数据抽取组件(extra)504、数据对齐组件(align)505、数据分析组件(share analysis)506、数据共享组件(data share)507、可达性分析组件(parallel filter)508、数据提取组件(prepare data)509、变量生成组件(calculate)510和输出组件(result)511。
[0152]
其中,输入组件501,用于输入原始征信报文数据;
[0153]
关系提取组件502,用于提取原始征信报文数据之间的逻辑关系和映射关系;基于逻辑关系和映射关系,将原始征信报文数据反序列化至多叉树中;
[0154]
多叉树存储组件503,用于利用多个存储路径,存储序列化后的原始征信报文数据;
[0155]
数据抽取组件504,用于从多叉树存储组件503的多叉树中抽取与目标路径对应的待处理数据,即,从多个存储路径中获取待处理数据,不再进行单独存储路径的数据提取,提高了数据处理效率;
[0156]
数据对齐组件505,用于对待处理数据进行结构化处理;
[0157]
数据分析组件506,用于确定目标路径中相似的存储路径,确定相似的存储路径的最小闭包路径,以避免待处理数据的重复抽取和重复对齐,提高了数据处理效率;
[0158]
数据共享组件507,用于将不同节点的可用数据进行共享,避免数据的无效获取;
[0159]
可达性分析组件508,用于对数阵中的待处理数据进行引用次数的统计分析,在引用次数为0时,删除对应的待处理数据,以减少数据量,提高计算效率;
[0160]
数据提取组件509,用于准备当前待加工数据;
[0161]
变量生成组件510,用于基于当前数据加工函数加工当前待加工数据,得到目标衍生变量;
[0162]
输出组件511,用于输出目标衍生变量。
[0163]
其中,上述方法可以应在在该框架中,框架中的具体实现内容和衍生变量的生成方法一致,重复之处,不再赘述。
[0164]
本公开提供的衍生变量的生成方法,通过获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,其中,待处理数据通过对原始征信报文数据反序列化得到,可见,本公开并不是对原始征信报文进行衍生变量的生成,而是利用对其反序列化后的数据进行衍生变量的生成,为后续快速的生成衍生变量提供了有效的数据基础,另外,本公开同时获取并计算多个目标衍生变量对应的待处理数据,避免了单个获取并计算产生的数据重复获取和重复计算,导致计算延迟高的问题;进而,基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中,可见,本公开充分考虑了待处理数据之间关联关系,基于关联关系进行待处理数据的存储,为后续快速的对待处理数据进行加工提供了有效的数据基础;最后,基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量,可见,本公开基于特定的数据结构,可以有效的提高数据的运行效率和存储效率,解决了现有技术中生成衍生变量时出现的效率低、耗时长的问题,实现了快速、高效的生成衍生变量的目的。
[0165]
下面对本公开实施例提供的衍生变量的生成装置进行描述,下文描述的衍生变量的生成装置与上文描述的衍生变量的生成方法可相互对应参照,重复之处,不再赘述,该装置具体如图6所示:
[0166]
获取模块601,用于获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,待处理数据通过对原始征信报文数据反序列化得到;
[0167]
组织模块602,用于基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中;
[0168]
加工模块603,用于基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量。
[0169]
一个具体实施例中,数据加工逻辑包括:数据加工函数和各数据加工函数之间的逻辑关系;加工模块603,具体用于针对每个数据加工函数,执行以下衍生变量生成过程:基于逻辑关系,确定当前数据加工函数;从第一数据结构中提取与当前数据加工函数对应的待加工数据,利用当前数据加工函数,对待加工数据进行加工,得到当前衍生变量;重复执行衍生变量生成过程,直至所有的数据加工函数执行完成,得的目标衍生变量。
[0170]
一个具体实施例中,加工模块603,还用于确定待加工数据对应的被引用次数,被引用次数用于表征待加工数据是否能够用于生成目标衍生变量;在确定被引用次数为预设值时,确定待加工数据不再用于生成目标衍生变量,从第一数据结构中删除待加工数据。
[0171]
一个具体实施例中,获取模块601,具体用于确定与目标衍生变量对应的衍生变量
模板;获取与衍生变量模板对应的目标路径,以及与衍生变量模板对应的数据加工逻辑;基于目标路径,从预先设置的第二数据结构中获取待处理数据。
[0172]
一个具体实施例中,获取模块601,还用于获取原始征信报文数据;基于原始征信报文数据的板块信息,将原始征信报文数据反序列化至第二数据结构中。
[0173]
一个具体实施例中,第一数据结构包括:数阵,数阵包括:第一数据节点和第二数据节点;第二数据结构包括:多叉树,多叉树包括:根对象和子对象;根对象包括:数据标识,数据标识和衍生变量模板对应;子对象包括:待处理数据,子对象的父对象为根对象或另一个子对象;组织模块602,具体用于确定每个子对象存储的数据的数据类型,数据类型包括:字符串类型和非字符串类型;将第一子对象存储的数据组织在第一数据节点中,第一子对象为存储的数据为非字符串类型的子对象;将第二子对象存储的数据组织在第二数据节点中,第二子对象为与第一子对象存在从属关系的,存储的数据为字符串类型的子对象。
[0174]
一个具体实施例中,数阵包括:由至少两个双链表组成的二维数阵;第一数据节点包括:数阵中的第i行双链表的数据节点,第二数据节点包括:数阵中的所有数据节点除去第一数据节点之后剩余的数据节点,i为大于或等于1的整数;组织模块602,具体用于将第一子对象存储的数据组织在第i行双链表的数据节点中;针对第i行双链表的每个第一数据节点执行以下存储过程:确定与第一数据节点的第一子对象存在从属关系的第二子对象;确定第二子对象存储的数据的条目;将每个条目对应的数据组织与第一数据节点对应的第二数据节点中。
[0175]
一个具体实施例中,数阵包括:由至少两个双链表组成的二维数阵;第一数据节点包括:数阵中的第j列双链表的数据节点,第二数据节点包括:数阵中的所有数据节点除去第一数据节点之后剩余的数据节点,j为大于或等于1的整数;组织模块602,具体用于将第一子对象存储的数据组织在第j列双链表的数据节点中;针对第j列双链表的每个第一数据节点执行以下存储过程:确定与第一数据节点的第一子对象存在从属关系的第二子对象;确定第二子对象存储的数据的条目;将每个条目对应的数据组织在与第一数据节点对应的第二数据节点中。
[0176]
一个具体实施例中,第一数据结构包括:由至少两个双链表组成的数阵;组织模块602,还用于从第一数据结构中删除与待加工数据对应的双链表。
[0177]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(communications interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行衍生变量的生成方法,该方法包括:获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,其中,待处理数据通过对原始征信报文数据反序列化得到;基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中;基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量。
[0178]
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0179]
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的衍生变量的生成方法,该方法包括:获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,其中,待处理数据通过对原始征信报文数据反序列化得到;基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中;基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量。
[0180]
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的衍生变量的生成方法,该方法包括:获取与至少一个目标衍生变量对应的待处理数据,以及与目标衍生变量对应的数据加工逻辑,其中,待处理数据通过对原始征信报文数据反序列化得到;基于待处理数据之间的关联关系,将待处理数据存储到预先设置的第一数据结构中;基于数据加工逻辑和第一数据结构,对待处理数据进行加工,生成目标衍生变量。
[0181]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0182]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0183]
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
技术特征:
1.一种衍生变量的生成方法,其特征在于,包括:获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,所述待处理数据通过对原始征信报文数据反序列化得到;基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中;基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量。2.根据权利要求1所述的衍生变量的生成方法,其特征在于,所述数据加工逻辑包括:数据加工函数和各所述数据加工函数之间的逻辑关系;所述基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量,包括:针对每个所述数据加工函数,执行以下衍生变量生成过程:基于所述逻辑关系,确定当前数据加工函数;从所述第一数据结构中提取与所述当前数据加工函数对应的待加工数据,利用所述当前数据加工函数,对所述待加工数据进行加工,得到当前衍生变量;重复执行所述衍生变量生成过程,直至所有的所述数据加工函数执行完成,得的所述目标衍生变量。3.根据权利要求2所述的衍生变量的生成方法,其特征在于,所述利用所述当前数据加工函数,对所述待加工数据进行加工,得到当前衍生变量之后,还包括:确定所述待加工数据对应的被引用次数,所述被引用次数用于表征所述待加工数据是否能够用于生成所述目标衍生变量;在确定所述被引用次数为预设值时,确定所述待加工数据不再用于生成所述目标衍生变量,从所述第一数据结构中删除所述待加工数据。4.根据权利要求1-3任一项所述的衍生变量的生成方法,其特征在于,所述获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,包括:确定与所述目标衍生变量对应的衍生变量模板;获取与所述衍生变量模板对应的目标路径,以及与所述衍生变量模板对应的所述数据加工逻辑;基于所述目标路径,从预先设置的第二数据结构中获取所述待处理数据。5.根据权利要求4所述的衍生变量的生成方法,其特征在于,所述获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑之前,还包括:获取所述原始征信报文数据;基于所述原始征信报文数据的板块信息,将所述原始征信报文数据反序列化至所述第二数据结构中。6.根据权利要求4所述的衍生变量的生成方法,其特征在于,第一数据结构包括:数阵,所述数阵包括:第一数据节点和第二数据节点;所述第二数据结构包括:多叉树,所述多叉树包括:根对象和子对象;所述根对象包括:数据标识,所述数据标识和所述衍生变量模板对应;所述子对象包括:所述待处理数据,所
述子对象的父对象为所述根对象或另一个子对象;所述基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中,包括:确定每个所述子对象存储的数据的数据类型,所述数据类型包括:字符串类型和非字符串类型;将第一子对象存储的数据组织在所述第一数据节点中,所述第一子对象为存储的数据为所述非字符串类型的子对象;将第二子对象存储的数据组织在所述第二数据节点中,所述第二子对象为与所述第一子对象存在从属关系的,存储的数据为所述字符串类型的子对象。7.根据权利要求6所述的衍生变量的生成方法,其特征在于,所述数阵包括:由至少两个双链表组成的二维数阵;所述第一数据节点包括:所述数阵中的第i行双链表的数据节点,所述第二数据节点包括:所述数阵中的所有数据节点除去所述第一数据节点之后剩余的数据节点,所述i为大于或等于1的整数;所述将第一子对象存储的数据组织在所述第一数据节点中,包括:将所述第一子对象存储的数据组织在所述第i行双链表的数据节点中;所述将所述第二子对象存储的数据组织在所述第二数据节点中,包括:针对所述第i行双链表的每个第一数据节点执行以下存储过程:确定与所述第一数据节点的第一子对象存在所述从属关系的第二子对象;确定所述第二子对象存储的数据的条目;将每个所述条目对应的数据组织与所述第一数据节点对应的第二数据节点中。8.根据权利要求6所述的衍生变量的生成方法,其特征在于,所述数阵包括:由至少两个双链表组成的二维数阵;所述第一数据节点包括:所述数阵中的第j列双链表的数据节点,所述第二数据节点包括:所述数阵中的所有数据节点除去所述第一数据节点之后剩余的数据节点,所述j为大于或等于1的整数;所述将第一子对象存储的数据组织在所述第一数据节点中,包括:将所述第一子对象存储的数据组织在所述第j列双链表的数据节点中;所述将所述第二子对象存储的数据组织在所述第二数据节点中,包括:针对所述第j列双链表的每个第一数据节点执行以下存储过程:确定与所述第一数据节点的第一子对象存在所述从属关系的第二子对象;确定所述第二子对象存储的数据的条目;将每个所述条目对应的数据组织在与所述第一数据节点对应的第二数据节点中。9.根据权利要求3所述的衍生变量的生成方法,其特征在于,所述第一数据结构包括:由至少两个双链表组成的数阵;所述从所述第一数据结构中删除所述待加工数据,包括:从所述第一数据结构中删除与所述待加工数据对应的双链表。10.一种衍生变量的生成装置,其特征在于,包括:获取模块,用于获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍
生变量对应的数据加工逻辑,所述待处理数据通过对原始征信报文数据反序列化得到;组织模块,用于基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中;加工模块,用于基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量。11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述的衍生变量的生成方法。12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9任一项所述的衍生变量的生成方法。13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的衍生变量的生成方法。
技术总结
本公开提供一种衍生变量的生成方法、装置、设备、介质及产品,方法包括:获取与至少一个目标衍生变量对应的待处理数据,以及与所述目标衍生变量对应的数据加工逻辑,所述待处理数据通过对原始征信报文数据反序列化得到;基于所述待处理数据之间的关联关系,将所述待处理数据存储到预先设置的第一数据结构中;基于所述数据加工逻辑和所述第一数据结构,对所述待处理数据进行加工,生成所述目标衍生变量。本公开用以解决现有技术中生成衍生变量时出现的效率低、耗时长的缺陷,实现快速、高效的生成衍生变量。成衍生变量。成衍生变量。
技术研发人员:刘帅朝 王文娟 张德
受保护的技术使用者:京东科技控股股份有限公司
技术研发日:2023.04.24
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
