一种大额交易报送方法及装置与流程



1.本发明涉及数据处理技术领域,更具体的,涉及一种大额交易报送方法及装置。


背景技术:



2.2016年12月28日,央行发布《金融机构大额交易和可疑交易报告管理办法》,规定报告大额交易和可疑交易是金融机构应当履行的核心反义务之一。各金融机构需要按照中国人民银行规定的大额交易报告标准通过系统自动抓取大额交易,然后将交易按客户分别打包成报文后通过特定接口传送到人民银行的服务器。人民银行收到后会校验每一个报文包是否满足大额交易报送标准,退回不满足报送要求的报文包。
3.目前人民银行对于报文的大小有限制要求,一个报文包最多允许包含50000笔交易,即若某客户当日的累计交易金额满足大额交易报告标准且交易笔数超过50000笔时,需要拆分成多个报文包报送,其中每个单独的报文包都需要满足大额交易报告标准。
4.但是,在实际应用中可能存在拆分后的报文包不满足大额交易报告标准的情况,无法上报到人民银行或上报到人民银行后被退回,导致上报到人民银行的交易数据不完整。


技术实现要素:



5.有鉴于此,本发明提供了一种大额交易报送方法及装置,提高上报到人民银行的交易数据的完整性。
6.为了实现上述发明目的,本发明提供的具体技术方案如下:
7.一种大额交易报送方法,包括:
8.获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;
9.判断所述待打包交易数据的交易笔数是否大于组包阈值;
10.若不大于组包阈值,对所述待打包交易数据进行打包处理;
11.若大于组包阈值,以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理。
12.可选的,获取满足大额交易报告标准的客户交易数据,作为待打包交易数据,包括:
13.获取客户交易数据;
14.将客户交易数据划分为单一借贷方向的交易数据;
15.若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额;
16.将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为所述待打包交易数据。
17.可选的,在所述待打包交易数据只有单一借贷方向且只有一个币种的情况下,所述以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包
的交易最多为目标,对所述待打包交易数据进行分包处理,包括:
18.确定所述待打包交易数据的最大分包数max,并将所述最大分包数确定为循环次数,开始循环处理;
19.步骤1:计算所述待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;
20.步骤2:判断当前循环次数是否小于max;
21.若当前循环次数不小于max,进入步骤4;
22.若当前循环次数小于max,进入步骤3;
23.步骤3:判断ratio是否不小于2且sum1大于所述限度金额;
24.若ratio不小于2且sum1大于所述限度金额,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于所述限度金额,进入步骤5,若sum2小于所述限度金额,进入步骤6;
25.若不满足ratio不小于2且sum1大于所述限度金额,进入步骤4;
26.步骤4:判断ratio是否不小于1且sum1大于所述限度金额;
27.若ratio不小于1且sum1大于所述限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
28.若不满足ratio不小于1且sum1大于所述限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
29.步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m《n;
30.按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于所述限度金额的多笔交易进行打包处理,循环次数加1;
31.步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于所述限度金额,对目标交易包进行打包处理,循环次数加1。
32.可选的,在所述待打包交易数据只有单一借贷方向且有多个币种的情况下,所述以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理,包括:
33.根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种;
34.确定所述待打包交易数据的最大分包数max,确定max个待组报文包,并将所述待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,将max确定为循环次数,开始循环处理;
35.步骤1:判断当前待组报文包是否包括目标币种交易;
36.若当前待组报文包包括目标币种交易,计算所述待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文
包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;
37.若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;
38.步骤2:判断当前循环次数是否小于max;
39.若当前循环次数不小于max,进入步骤4
40.若当前循环次数小于max,进入步骤3;
41.步骤3:判断ratio1是否不小于2且sum1大于所述目标币种限度金额;
42.若ratio1不小于2且sum1大于所述目标币种限度金额,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于所述目标币种限度金额,进入步骤5,若sum3小于所述目标币种限度金额,进入步骤6;
43.若不满足ratio1不小于2且sum1大于所述目标币种限度金额,进入步骤4;
44.步骤4:判断ratio1是否不小于1且sum1大于所述目标币种限度金额;
45.若ratio1不小于1且sum1大于所述目标币种限度金额,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
46.若不满足ratio1不小于1且sum1大于所述目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
47.步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum4,m《n;
48.按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于所述目标币种限度金额的多笔交易进行打包处理,循环次数加1;
49.步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于所述目标币种限度金额,对目标交易包进行打包处理,循环次数加1;
50.步骤7:判断当前循环次数是否小于max;
51.若当前循环次数不小于max,进入步骤9;
52.若当前循环次数小于max,进入步骤8;
53.步骤8:判断ratio2是否不小于2且sum2大于所述非目标币种限度金额;
54.若ratio2不小于2且sum2大于所述非目标币种限度金额,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于所述非目标币种限度金额,进入步骤10,若sum5小于所述非目标币种限度金额,进入步骤11;
55.若不满足ratio2不小于2且sum2大于所述非目标币种限度金额,进入步骤9;
56.步骤9:判断ratio2是否不小于1且sum2大于所述非目标币种限度金额;
57.若ratio2不小于1且sum大于所述非目标币种限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
58.若不满足ratio2不小于1且sum2大于所述非目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
59.步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m《n;
60.按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合非目标币种总金额不小于所述非目标币种限度金额的多笔交易进行打包处理,循环次数加1;
61.步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于所述非目标币种限度金额,对目标交易包进行打包处理,循环次数加1。
62.可选的,确定所述待打包交易数据的最大分包数,包括:
63.计算所述待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;
64.计算所述待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;
65.将所述第一分包数与所述第二分包数中的最小值确定为所述最大分包数。
66.一种大额交易报送装置,包括:
67.数据获取单元,用于获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;
68.判断单元,用于判断所述待打包交易数据的交易笔数是否大于组包阈值;
69.打包处理单元,用于在所述待打包交易数据的交易笔数不大于组包阈值的情况下,对所述待打包交易数据进行打包处理;
70.分包处理单元,用于在所述待打包交易数据的交易笔数大于组包阈值的情况下,以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理。
71.可选的,所述数据获取单元,具体用于:
72.获取客户交易数据;
73.将客户交易数据划分为单一借贷方向的交易数据;
74.若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额;
75.将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为所述待打包交易数据。
76.可选的,所述分包处理单元,具体用于:
77.在所述待打包交易数据只有单一借贷方向且只有一个币种的情况下,确定所述待打包交易数据的最大分包数max,并将所述最大分包数确定为循环次数,开始循环处理;
78.步骤1:计算所述待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;
79.步骤2:判断当前循环次数是否小于max;
80.若当前循环次数不小于max,进入步骤4;
81.若当前循环次数小于max,进入步骤3;
82.步骤3:判断ratio是否不小于2且sum1大于所述限度金额;
83.若ratio不小于2且sum1大于所述限度金额,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于所述限度金额,进入步骤5,若sum2小于所述限度金额,进入步骤6;
84.若不满足ratio不小于2且sum1大于所述限度金额,进入步骤4;
85.步骤4:判断ratio是否不小于1且sum1大于所述限度金额;
86.若ratio不小于1且sum1大于所述限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
87.若不满足ratio不小于1且sum1大于所述限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
88.步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m《n;
89.按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于所述限度金额的多笔交易进行打包处理,循环次数加1;
90.步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于所述限度金额,对目标交易包进行打包处理,循环次数加1。
91.可选的,所述分包处理单元,具体用于:
92.在所述待打包交易数据只有单一借贷方向且有多个币种的情况下,
93.根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种;
94.确定所述待打包交易数据的最大分包数max,确定max个待组报文包,并将所述待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,将max确定为循环次数,开始循环处理;
95.步骤1:判断当前待组报文包是否包括目标币种交易;
96.若当前待组报文包包括目标币种交易,计算所述待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;
97.若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金
额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;
98.步骤2:判断当前循环次数是否小于max;
99.若当前循环次数不小于max,进入步骤4
100.若当前循环次数小于max,进入步骤3;
101.步骤3:判断ratio1是否不小于2且sum1大于所述目标币种限度金额;
102.若ratio1不小于2且sum1大于所述目标币种限度金额,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于所述目标币种限度金额,进入步骤5,若sum3小于所述目标币种限度金额,进入步骤6;
103.若不满足ratio1不小于2且sum1大于所述目标币种限度金额,进入步骤4;
104.步骤4:判断ratio1是否不小于1且sum1大于所述目标币种限度金额;
105.若ratio1不小于1且sum1大于所述目标币种限度金额,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
106.若不满足ratio1不小于1且sum1大于所述目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
107.步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum4,m《n;
108.按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于所述目标币种限度金额的多笔交易进行打包处理,循环次数加1;
109.步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于所述目标币种限度金额,对目标交易包进行打包处理,循环次数加1;
110.步骤7:判断当前循环次数是否小于max;
111.若当前循环次数不小于max,进入步骤9;
112.若当前循环次数小于max,进入步骤8;
113.步骤8:判断ratio2是否不小于2且sum2大于所述非目标币种限度金额;
114.若ratio2不小于2且sum2大于所述非目标币种限度金额,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于所述非目标币种限度金额,进入步骤10,若sum5小于所述非目标币种限度金额,进入步骤11;
115.若不满足ratio2不小于2且sum2大于所述非目标币种限度金额,进入步骤9;
116.步骤9:判断ratio2是否不小于1且sum2大于所述非目标币种限度金额;
117.若ratio2不小于1且sum大于所述非目标币种限度金额,在未组包交易的交易笔数
不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
118.若不满足ratio2不小于1且sum2大于所述非目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
119.步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m《n;
120.按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合非目标币种总金额不小于所述非目标币种限度金额的多笔交易进行打包处理,循环次数加1;
121.步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于所述非目标币种限度金额,对目标交易包进行打包处理,循环次数加1。
122.可选的,所述分包处理单元,包括:
123.最大分包数确定子单元,用于计算所述待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;计算所述待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;将所述第一分包数与所述第二分包数中的最小值确定为所述最大分包数。
124.相对于现有技术,本发明的有益效果如下:
125.本发明公开的一种大额交易报送方法及装置,在每个报文包都满足大额交易报告标准的基础上,尽量多的报送客户的大额交易,做到应报尽报,提高上报到人民银行的交易数据的完整性。
附图说明
126.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
127.图1为本发明实施例公开的一种大额交易报送方法的流程示意图;
128.图2为本发明实施例公开的一种大额交易报送装置的结构示意图。
具体实施方式
129.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
130.请参阅图1,本实施例公开的一种大额交易报送方法,包括以下步骤:
131.s101:获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;
132.这里的客户交易数据为单一客户的交易数据,在获取客户交易数据之后,将客户交易数据划分为单一借贷方向的交易数据,如借方交易和贷方交易,若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额,将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为待打包交易数据。
133.例如:自然人a当日与非自然人的所有人民币和外币现金交易,如果达到人民币5万元以上,或者有外币的情况下累计达到等值1万美元以上,这些交易就需要该现金大额交易特征报送人民银行。
134.s102:判断待打包交易数据的交易笔数是否大于组包阈值;
135.若不大于组包阈值,执行s103:对待打包交易数据进行打包处理;
136.也就是说,当待打包交易数据的交易笔数不大于组包阈值,直接对其进行打包即可,当待打包交易数据的交易笔数大于组包阈值,则需要对待打包交易数据进行分包。
137.若大于组包阈值,执行s104:以报文包中的客户交易数据满足大额交易报告标准且待打包交易数据中参与打包的交易最多为目标,对待打包交易数据进行分包处理。
138.在实际应用中,待打包交易数据存在多种情况,如待打包交易数据只有借方或者贷方交易,只有人民币或者只有外币交易;待打包交易数据只有借方或者贷方交易,有人民币也有外币交易;待打包交易数据有借方和贷方交易,有人民币也有外币交易。
139.贷方交易可以简单理解为支出,借方交易可以简单理解为收入,人民银行的大额报送标准要求借方和贷方交易是分开计算的,一个报文包中的交易需要客户主体的贷方交易满足大额交易报告标准或者借方交易满足大额交易报告标准。下面就按照以上三种情况分别说明如何进行大额交易分包。
140.a.待打包交易数据只有单一借贷方向且只有一个币种,即只有借方或者贷方交易,只有人民币或者只有外币
141.将待打包交易数据中的交易笔数除以组包阈值后向上取整,确定待打包交易数据的最大分包数max,并将最大分包数确定为循环次数,开始循环处理;
142.步骤1:计算待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;
143.步骤2:判断当前循环次数是否小于max;
144.若当前循环次数不小于max,说明可能是最后一个包,进入步骤4;
145.若当前循环次数小于max,进入步骤3;
146.步骤3:判断ratio是否不小于2且sum1大于限度金额;
147.若ratio不小于2且sum1大于限度金额,说明还有可能拆分成更多的报文包,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于限度金额,说明金额少的交易够组成一个报文包,进入步骤5,若sum2小于限度金额,说明金额少的交易不够组成一个报文包,进入步骤6;
148.若不满足ratio不小于2且sum1大于限度金额,进入步骤4;
149.步骤4:判断ratio是否不小于1且sum1大于限度金额;
150.若ratio不小于1且sum1大于限度金额,说明仅可以分出最后一个报文包,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包
交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,如把剩余的交易金额最大的n笔交易组成最后的一个报文包,然后循环访问之前步骤组成的报文包,用剩余的未组包的交易按金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多n笔交易,结束分包;
151.若不满足ratio不小于1且sum1大于限度金额,说明剩下的交易已不能再单独组成报文包,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,如循环访问之前步骤组成的报文包,用剩余的未组包的交易按金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多n笔交易,结束分包;
152.步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m《n,m可以为2/n;
153.按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于限度金额的多笔交易进行打包处理,以n为5000,m为2500为例,计算剩余未组包交易金额最小的25000笔交易的总金额,如果大于等于限度金额,直接将这25000笔交易组成一个报文包,继续下一个循环。否则,计算剩余未组包交易金额最小的前25001,25002...笔交易的总金额,直到总金额大于等于限度金额,将这些交易组成一个报文包,循环次数加1;
154.步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于限度金额,对目标交易包进行打包处理,以n为5000为例,计算剩余未组包交易金额最小的49999笔交易和金额最大的1笔交易的总金额,如果大于等于限度金额,直接将这50000笔交易组成一个报文包,继续下一个循环。否则,计算剩余未组包交易金额最小的49998,49997...笔交易和金额最大的2,3...笔交易的总金额,直到总金额大于等于限度金额,将这些交易组成一个报文包,循环次数加1。
155.b.待打包交易数据只有单一借贷方向且有多个币种,即交易只有借方或者贷方交易,有人民币也有外币
156.根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种,具体的,首先根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,当一个报文包里全部是人民币交易时,按人民币标准算,全是外币交易时,按外币金额算,又有人民币又有外币时,按金额标准低的金额计算。下面以人民币标准金额比等值美元低举例。
157.确定待打包交易数据的最大分包数max,具体的,计算待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;计算待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;将第一分包数与第二分包数中的最小值确定为最大分包数。然后确定max个待组报文包,并将待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,尽量使每个待组报文包中都含有一笔目标币种交易,本实施例中以人民币为目标币种为例,取金额最小的最多max笔人民币交易作为每个报文包的包底,目的是保证每一个报文包尽可能有一笔人民币交易。将max确定为循环次数,开始循环处理;
158.步骤1:判断当前待组报文包是否包括目标币种交易;
159.若当前待组报文包包括目标币种交易,计算待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;
160.若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;
161.步骤2:判断当前循环次数是否小于max;
162.若当前循环次数不小于max,说明可能是最后一个报文包,进入步骤4
163.若当前循环次数小于max,说明不只最后一个报文包,进入步骤3;
164.步骤3:判断ratio1是否不小于2且sum1大于目标币种限度金额;
165.若ratio1不小于2且sum1大于目标币种限度金额,说明还有可能可以拆分成更多的报文包,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于目标币种限度金额,说明金额少的交易够组成一个报文包,进入步骤5,若sum3小于目标币种限度金额,说明金额少的交易不够组成一个报文包,进入步骤6;
166.若不满足ratio1不小于2且sum1大于目标币种限度金额,进入步骤4;
167.步骤4:判断ratio1是否不小于1且sum1大于目标币种限度金额;
168.若ratio1不小于1且sum1大于目标币种限度金额,说明仅可以分出最后一个报文包,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,以n为5000为例,把剩余的折人民币金额最大的49999笔和包底的人民币交易组成最后的一个报文包,然后循环访问之前步骤组成的报文包,用剩余的未组包的交易按折人民币金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多50000笔交易;
169.若不满足ratio1不小于1且sum1大于目标币种限度金额,说明剩下的交易加上当前包底交易已不能再单独组成报文包,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,即如果还存在未用到的包底人民币交易,尝试把这些交易和当前剩余交易组包,计算折人民币金额最大的50000笔总金额是否达标,达标则组包。循环访问之前步骤组成的报文包,用剩余的未组包的交易按折人民币金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多50000笔交易,结束分包;
170.步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum4,m《n;
171.按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于目标币种限度金额的多笔交易进行打包处理,循环次数加1,以m=1/2,m=2500为例,计算剩余未组包交易金额最小的25000笔交易和包底的人民币交易的折人民币总金额,如果大于等于限度金额,直接将这25000笔交易和包底的人民币交易组成一个报文包,继续下一个循环。否则,
计算剩余未组包交易金额最小的25001,25002...笔交易和包底的人民币交易的折人民币总金额,直到总金额大于等于限度金额,将这些交易和包底的人民币交易组成一个报文包,继续下一个循环;
172.步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于目标币种限度金额,对目标交易包进行打包处理,例如,计算剩余未组包折人民币交易金额最小的49998笔交易和包底人民币交易,和折人民币金额最大的1笔交易的总金额,如果大于等于限度金额,直接将这50000笔交易组成一个报文包,继续下一个循环。否则,计算剩余未组包折人民币交易金额最小的49997,49996...笔交易和包底人民币交易,和折人民币金额最大的2,3...笔交易的总金额,直到折人民币总金额大于等于限度金额,循环次数加1;
173.步骤7:判断当前循环次数是否小于max;
174.若当前循环次数不小于max,说明是可能的最后一个包,进入步骤9;
175.若当前循环次数小于max,进入步骤8;
176.步骤8:判断ratio2是否不小于2且sum2大于非目标币种限度金额;
177.若ratio2不小于2且sum2大于非目标币种限度金额,说明总金额还有可能拆分成更多的报文包,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于非目标币种限度金额,说明金额少的交易够组成一个报文包,进入步骤10,若sum5小于非目标币种限度金额,说明金额少的交易不够组成一个报文包,进入步骤11;
178.若不满足ratio2不小于2且sum2大于非目标币种限度金额,进入步骤9;
179.步骤9:判断ratio2是否不小于1且sum2大于非目标币种限度金额;
180.若ratio2不小于1且sum大于非目标币种限度金额,说明仅可以分出最后一个报文包,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,例如:如果剩余的交易条数小于等于50000,直接将他们组成最后的一个报文包,并结束分包;如果剩余的交易条数大于50000,则把剩余的折美元金额最大的50000笔组成最后的一个报文包,然后循环访问之前步骤组成的报文包,用剩余的未组包的交易按折美元金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多50000笔交易,结束分包;
181.若不满足ratio2不小于1且sum2大于非目标币种限度金额,说明剩下的交易已不能再单独组成报文包,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包,例如:循环访问之前步骤组成的报文包,用剩余的未组包的交易按折美元金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多50000笔交易,结束分包;
182.步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m《n;
183.按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取
折合非目标币种总金额不小于非目标币种限度金额的多笔交易进行打包处理,例如:计算剩余未组包折美元交易金额最小的25000笔交易的折美元总金额,如果大于等于限度金额,直接将这25000笔交易组成一个报文包,继续下一个循环。否则,计算剩余未组包交易金额最小的25001,25002...笔交易的折美元总金额,直到总金额大于等于限度金额,将这些交易组成一个报文包,循环次数加1;
184.步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于非目标币种限度金额,对目标交易包进行打包处理,例如:计算剩余未组包交易金额最小的49999笔交易和金额最大的1笔交易的折美元总金额,如果大于等于限度金额,直接将这50000笔交易组成一个报文包,继续下一个循环。否则,计算剩余未组包交易金额最小的49998,49997...笔交易和金额最大的2,3...笔交易的折美元总金额,直到总金额大于等于限度金额,循环次数加1。
185.c.交易有借方和贷方交易,有人民币也有外币交易
186.既有借方又有贷方的情况,按照借方和贷方分别组报文包。
187.例如,先处理借方,按照币种情况采用方法a或b将借方交易组成报文包,然后再按照币种情况采用方法a或b将贷方交易组成报文包。最后对于未能组成报文包的交易,按金额大小从大到小排序尽量放入之前的报文包中,每个报文包最多50000笔交易,结束分包。
188.最后,分包完成后,就可以将这些报文包按照人民银行要求生成具体报文,并发送给人民银行。
189.可见,本实施例公开的一种大额交易报送方法,在每个报文包都满足大额交易报告标准的基础上,尽量多的报送客户的大额交易,做到应报尽报,提高上报到人民银行的交易数据的完整性。
190.基于上述实施例公开的一种大额交易报送方法,本实施例对应公开了一种大额交易报送装置,请参阅图2,该装置包括:
191.数据获取单元201,用于获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;
192.判断单元202,用于判断所述待打包交易数据的交易笔数是否大于组包阈值;
193.打包处理单元203,用于在所述待打包交易数据的交易笔数不大于组包阈值的情况下,对所述待打包交易数据进行打包处理;
194.分包处理单元204,用于在所述待打包交易数据的交易笔数大于组包阈值的情况下,以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理。
195.可选的,所述数据获取单元201,具体用于:
196.获取客户交易数据;
197.将客户交易数据划分为单一借贷方向的交易数据;
198.若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额;
199.将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为所
述待打包交易数据。
200.可选的,所述分包处理单元204,具体用于:
201.在所述待打包交易数据只有单一借贷方向且只有一个币种的情况下,确定所述待打包交易数据的最大分包数max,并将所述最大分包数确定为循环次数,开始循环处理;
202.步骤1:计算所述待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;
203.步骤2:判断当前循环次数是否小于max;
204.若当前循环次数不小于max,进入步骤4;
205.若当前循环次数小于max,进入步骤3;
206.步骤3:判断ratio是否不小于2且sum1大于所述限度金额;
207.若ratio不小于2且sum1大于所述限度金额,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于所述限度金额,进入步骤5,若sum2小于所述限度金额,进入步骤6;
208.若不满足ratio不小于2且sum1大于所述限度金额,进入步骤4;
209.步骤4:判断ratio是否不小于1且sum1大于所述限度金额;
210.若ratio不小于1且sum1大于所述限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
211.若不满足ratio不小于1且sum1大于所述限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
212.步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m《n;
213.按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于所述限度金额的多笔交易进行打包处理,循环次数加1;
214.步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于所述限度金额,对目标交易包进行打包处理,循环次数加1。
215.可选的,所述分包处理单元204,具体用于:
216.在所述待打包交易数据只有单一借贷方向且有多个币种的情况下,
217.根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种;
218.确定所述待打包交易数据的最大分包数max,确定max个待组报文包,并将所述待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,将max确定为循环次数,开始循环处理;
219.步骤1:判断当前待组报文包是否包括目标币种交易;
220.若当前待组报文包包括目标币种交易,计算所述待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文
包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;
221.若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;
222.步骤2:判断当前循环次数是否小于max;
223.若当前循环次数不小于max,进入步骤4
224.若当前循环次数小于max,进入步骤3;
225.步骤3:判断ratio1是否不小于2且sum1大于所述目标币种限度金额;
226.若ratio1不小于2且sum1大于所述目标币种限度金额,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于所述目标币种限度金额,进入步骤5,若sum3小于所述目标币种限度金额,进入步骤6;
227.若不满足ratio1不小于2且sum1大于所述目标币种限度金额,进入步骤4;
228.步骤4:判断ratio1是否不小于1且sum1大于所述目标币种限度金额;
229.若ratio1不小于1且sum1大于所述目标币种限度金额,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
230.若不满足ratio1不小于1且sum1大于所述目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
231.步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum4,m《n;
232.按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于所述目标币种限度金额的多笔交易进行打包处理,循环次数加1;
233.步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于所述目标币种限度金额,对目标交易包进行打包处理,循环次数加1;
234.步骤7:判断当前循环次数是否小于max;
235.若当前循环次数不小于max,进入步骤9;
236.若当前循环次数小于max,进入步骤8;
237.步骤8:判断ratio2是否不小于2且sum2大于所述非目标币种限度金额;
238.若ratio2不小于2且sum2大于所述非目标币种限度金额,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于所述非目标币种限度金额,进入步骤10,若sum5小于所述非目标币种限度金额,进入步骤11;
239.若不满足ratio2不小于2且sum2大于所述非目标币种限度金额,进入步骤9;
240.步骤9:判断ratio2是否不小于1且sum2大于所述非目标币种限度金额;
241.若ratio2不小于1且sum大于所述非目标币种限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;
242.若不满足ratio2不小于1且sum2大于所述非目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;
243.步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m《n;
244.按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合非目标币种总金额不小于所述非目标币种限度金额的多笔交易进行打包处理,循环次数加1;
245.步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于所述非目标币种限度金额,对目标交易包进行打包处理,循环次数加1。
246.可选的,所述分包处理单元204,包括:
247.最大分包数确定子单元,用于计算所述待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;计算所述待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;将所述第一分包数与所述第二分包数中的最小值确定为所述最大分包数。
248.本实施例公开的一种大额交易报送装置,在每个报文包都满足大额交易报告标准的基础上,尽量多的报送客户的大额交易,做到应报尽报,提高上报到人民银行的交易数据的完整性。
249.需要说明的是,本发明提供的一种大额交易报送方法及装置,可应用于金融领域或其他领域,例如,可应用于金融领域中的监测应用场景。其他领域为除金融领域之外的任意领域。上述仅为示例,并不对本发明提供的一种大额交易报送方法及装置的应用领域进行限定。
250.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
251.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
252.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
253.上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本技术。
254.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种大额交易报送方法,其特征在于,包括:获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;判断所述待打包交易数据的交易笔数是否大于组包阈值;若不大于组包阈值,对所述待打包交易数据进行打包处理;若大于组包阈值,以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理。2.根据权利要求1所述的方法,其特征在于,获取满足大额交易报告标准的客户交易数据,作为待打包交易数据,包括:获取客户交易数据;将客户交易数据划分为单一借贷方向的交易数据;若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额;将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为所述待打包交易数据。3.根据权利要求1所述的方法,其特征在于,在所述待打包交易数据只有单一借贷方向且只有一个币种的情况下,所述以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理,包括:确定所述待打包交易数据的最大分包数max,并将所述最大分包数确定为循环次数,开始循环处理;步骤1:计算所述待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;步骤2:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤4;若当前循环次数小于max,进入步骤3;步骤3:判断ratio是否不小于2且sum1大于所述限度金额;若ratio不小于2且sum1大于所述限度金额,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于所述限度金额,进入步骤5,若sum2小于所述限度金额,进入步骤6;若不满足ratio不小于2且sum1大于所述限度金额,进入步骤4;步骤4:判断ratio是否不小于1且sum1大于所述限度金额;若ratio不小于1且sum1大于所述限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;若不满足ratio不小于1且sum1大于所述限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m<n;
按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于所述限度金额的多笔交易进行打包处理,循环次数加1;步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于所述限度金额,对目标交易包进行打包处理,循环次数加1。4.根据权利要求1所述的方法,其特征在于,在所述待打包交易数据只有单一借贷方向且有多个币种的情况下,所述以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理,包括:根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种;确定所述待打包交易数据的最大分包数max,确定max个待组报文包,并将所述待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,将max确定为循环次数,开始循环处理;步骤1:判断当前待组报文包是否包括目标币种交易;若当前待组报文包包括目标币种交易,计算所述待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;步骤2:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤4若当前循环次数小于max,进入步骤3;步骤3:判断ratio1是否不小于2且sum1大于所述目标币种限度金额;若ratio1不小于2且sum1大于所述目标币种限度金额,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于所述目标币种限度金额,进入步骤5,若sum3小于所述目标币种限度金额,进入步骤6;若不满足ratio1不小于2且sum1大于所述目标币种限度金额,进入步骤4;步骤4:判断ratio1是否不小于1且sum1大于所述目标币种限度金额;若ratio1不小于1且sum1大于所述目标币种限度金额,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;若不满足ratio1不小于1且sum1大于所述目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待
组报文包中目标币种交易的交易金额之和sum4,m<n;按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于所述目标币种限度金额的多笔交易进行打包处理,循环次数加1;步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于所述目标币种限度金额,对目标交易包进行打包处理,循环次数加1;步骤7:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤9;若当前循环次数小于max,进入步骤8;步骤8:判断ratio2是否不小于2且sum2大于所述非目标币种限度金额;若ratio2不小于2且sum2大于所述非目标币种限度金额,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于所述非目标币种限度金额,进入步骤10,若sum5小于所述非目标币种限度金额,进入步骤11;若不满足ratio2不小于2且sum2大于所述非目标币种限度金额,进入步骤9;步骤9:判断ratio2是否不小于1且sum2大于所述非目标币种限度金额;若ratio2不小于1且sum大于所述非目标币种限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;若不满足ratio2不小于1且sum2大于所述非目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m<n;按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合非目标币种总金额不小于所述非目标币种限度金额的多笔交易进行打包处理,循环次数加1;步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于所述非目标币种限度金额,对目标交易包进行打包处理,循环次数加1。5.根据权利要求4所述的方法,其特征在于,确定所述待打包交易数据的最大分包数,包括:计算所述待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;计算所述待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;
将所述第一分包数与所述第二分包数中的最小值确定为所述最大分包数。6.一种大额交易报送装置,其特征在于,包括:数据获取单元,用于获取满足大额交易报告标准的客户交易数据,作为待打包交易数据;判断单元,用于判断所述待打包交易数据的交易笔数是否大于组包阈值;打包处理单元,用于在所述待打包交易数据的交易笔数不大于组包阈值的情况下,对所述待打包交易数据进行打包处理;分包处理单元,用于在所述待打包交易数据的交易笔数大于组包阈值的情况下,以报文包中的客户交易数据满足大额交易报告标准且所述待打包交易数据中参与打包的交易最多为目标,对所述待打包交易数据进行分包处理。7.根据权利要求6所述的装置,其特征在于,所述数据获取单元,具体用于:获取客户交易数据;将客户交易数据划分为单一借贷方向的交易数据;若单一借贷方向的交易数据包括不同币种,将其转换为同一币种,并计算同一币种的总金额;将同一币种的总金额满足大额交易报告标准的单一借贷方向的交易数据,作为所述待打包交易数据。8.根据权利要求6所述的装置,其特征在于,所述分包处理单元,具体用于:在所述待打包交易数据只有单一借贷方向且只有一个币种的情况下,确定所述待打包交易数据的最大分包数max,并将所述最大分包数确定为循环次数,开始循环处理;步骤1:计算所述待打包交易数据中的未组包交易的总金额除以大额交易报告标准的限度金额,得到倍数值ratio,并计算未组包交易中交易金额最大的前n笔交易的总金额sum1,n为组包阈值;步骤2:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤4;若当前循环次数小于max,进入步骤3;步骤3:判断ratio是否不小于2且sum1大于所述限度金额;若ratio不小于2且sum1大于所述限度金额,计算未组包交易中前n笔交易金额最小的交易的总金额sum2,若sum2不小于所述限度金额,进入步骤5,若sum2小于所述限度金额,进入步骤6;若不满足ratio不小于2且sum1大于所述限度金额,进入步骤4;步骤4:判断ratio是否不小于1且sum1大于所述限度金额;若ratio不小于1且sum1大于所述限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;若不满足ratio不小于1且sum1大于所述限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤5:计算未组包交易中前m笔交易金额最小的交易的总金额sum3,m<n;
按交易金额从小到大的顺序对未组包交易进行排序,按照排序取总金额不小于所述限度金额的多笔交易进行打包处理,循环次数加1;步骤6:将未组包交易中前n笔交易金额最小的交易作为目标交易包,从未组包交易中交易金额最大的交易开始,依次替换目标交易包中交易金额最大的一笔交易,直到目标交易包的总金额不小于所述限度金额,对目标交易包进行打包处理,循环次数加1。9.根据权利要求6所述的装置,其特征在于,所述分包处理单元,具体用于:在所述待打包交易数据只有单一借贷方向且有多个币种的情况下,根据汇率比较大额交易报告标准中的人民币限度金额和等值美元限度金额,确定目标币种;确定所述待打包交易数据的最大分包数max,确定max个待组报文包,并将所述待打包交易中的目标币种交易按交易金额从小到大的顺序划分到max个待组报文包中,将max确定为循环次数,开始循环处理;步骤1:判断当前待组报文包是否包括目标币种交易;若当前待组报文包包括目标币种交易,计算所述待打包交易数据中的未组包交易的折合目标币种总金额除以大额交易报告标准的目标币种限度金额,得到倍数值ratio1,并计算未组包交易中折合目标币种交易金额最大的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum1,进入步骤2,n为组包阈值;若当前待组报文包不包括目标币种交易,计算未组包交易的折合非目标币种总金额除以大额交易报告标准的非目标币种限度金额,得到倍数值ratio2,并计算未组包交易中折合非目标币种交易金额最大的前n笔交易的总金额sum2,进入步骤7;步骤2:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤4若当前循环次数小于max,进入步骤3;步骤3:判断ratio1是否不小于2且sum1大于所述目标币种限度金额;若ratio1不小于2且sum1大于所述目标币种限度金额,计算未组包交易中折合目标币种交易金额最小的前n-1笔交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum3,若sum3不小于所述目标币种限度金额,进入步骤5,若sum3小于所述目标币种限度金额,进入步骤6;若不满足ratio1不小于2且sum1大于所述目标币种限度金额,进入步骤4;步骤4:判断ratio1是否不小于1且sum1大于所述目标币种限度金额;若ratio1不小于1且sum1大于所述目标币种限度金额,在未组包交易的交易笔数不大于n-1的情况下,对未组包交易与当前待组报文包中目标币种交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n-1的情况下,将未组包交易中前n-1笔折合目标币种交易金额最大的交易与当前待组报文包中目标币种交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;若不满足ratio1不小于1且sum1大于所述目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤5:计算未组包交易中前m笔折合目标币种交易金额最小的交易的总金额与当前待组报文包中目标币种交易的交易金额之和sum4,m<n;
按折合目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合目标币种总金额与当前待组报文包中目标币种交易的交易金额之和不小于所述目标币种限度金额的多笔交易进行打包处理,循环次数加1;步骤6:将未组包交易中前n-1笔折合目标币种交易金额最小的交易与当前待组报文包中目标币种交易作为目标交易包,从未组包交易中折合目标币种交易金额最大的交易开始,依次替换目标交易包中折合目标币种交易金额最大的一笔交易,直到目标交易包的折合目标币种总金额不小于所述目标币种限度金额,对目标交易包进行打包处理,循环次数加1;步骤7:判断当前循环次数是否小于max;若当前循环次数不小于max,进入步骤9;若当前循环次数小于max,进入步骤8;步骤8:判断ratio2是否不小于2且sum2大于所述非目标币种限度金额;若ratio2不小于2且sum2大于所述非目标币种限度金额,计算未组包交易中折合非目标币种交易金额最小的前n笔交易总金额sum5,若sum5不小于所述非目标币种限度金额,进入步骤10,若sum5小于所述非目标币种限度金额,进入步骤11;若不满足ratio2不小于2且sum2大于所述非目标币种限度金额,进入步骤9;步骤9:判断ratio2是否不小于1且sum2大于所述非目标币种限度金额;若ratio2不小于1且sum大于所述非目标币种限度金额,在未组包交易的交易笔数不大于n的情况下,对未组包交易进行打包处理,并结束分包,在未组包交易的交易笔数大于n的情况下,将未组包交易中前n笔折合非目标币种交易金额最大的交易进行打包处理,并将剩余未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n;若不满足ratio2不小于1且sum2大于所述非目标币种限度金额,将未组包交易放入已打包的报文包中,同时保证每个报文包的交易笔数不超过n,结束分包;步骤10:计算未组包交易中前m笔折合非目标币种交易金额最小的交易的总金额sum6,m<n;按折合非目标币种交易金额从小到大的顺序对未组包交易进行排序,按照排序取折合非目标币种总金额不小于所述非目标币种限度金额的多笔交易进行打包处理,循环次数加1;步骤11:将未组包交易中前n笔折合非目标币种交易金额最小的交易作为目标交易包,从未组包交易中折合非目标币种交易金额最大的交易开始,依次替换目标交易包中折合非目标币种交易金额最大的一笔交易,直到目标交易包的折合非目标币种总金额不小于所述非目标币种限度金额,对目标交易包进行打包处理,循环次数加1。10.根据权利要求9所述的装置,其特征在于,所述分包处理单元,包括:最大分包数确定子单元,用于计算所述待打包交易数据的交易笔数除以组包阈值后向上取值后的值,作为第一分包数;计算所述待打包交易数据的折合目标币种总金额除以大额交易报告标准的目标币种限度金额后向下取整,作为第二分包数;将所述第一分包数与所述第二分包数中的最小值确定为所述最大分包数。

技术总结


本发明提供了一种大额交易报送方法及装置,可应用于金融领域或其他领域,获取满足大额交易报告标准的客户交易数据,作为待打包交易数据,判断待打包交易数据的交易笔数是否大于组包阈值,若不大于组包阈值,对待打包交易数据进行打包处理,若大于组包阈值,以报文包中的客户交易数据满足大额交易报告标准且待打包交易数据中参与打包的交易最多为目标,对待打包交易数据进行分包处理。实现在每个报文包都满足大额交易报告标准的基础上,尽量多的报送客户的大额交易,做到应报尽报,提高上报到人民银行的交易数据的完整性。到人民银行的交易数据的完整性。到人民银行的交易数据的完整性。


技术研发人员:

吴新宇

受保护的技术使用者:

中银金融科技有限公司

技术研发日:

2022.11.01

技术公布日:

2022/12/23

本文发布于:2024-09-20 22:40:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/44683.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:金额   目标   币种   报文
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议