数据匹配方法、系统、设备及介质与流程

allin2022-08-01  117



1.本发明实施例涉及数据处理领域,尤其涉及一种数据匹配方法、系统、设备及介质。


背景技术:

2.基金代销是金融机构的一项投资业务,该业务是指金融机构接受基金管理人的委托,签订书面代销协议,代理基金管理人销售开放式基金,受理投资者开放式基金认购、申购和赎回等业务申请,同时提供配套服务的一项中间业务。目前市面上第三方基金代销机构的整体资金运营流程大致如下:投资人购买产品后进行资金归集,第三方代销机构根据产品向实际管理人发起交易申请,管理人进行交易确认后代销机构生成划款指令通知给托管行,托管行进行实际划款操作,将投资款划给管理人的产品账户。但是,现有的理财代销平台往往通过一个统一的监管账户对各个账户进行监管,不同客户不同产品的资金都会经过这个账户,对银行流水和对应的划款指令匹配难度较大,效率较低。因此,如何解决现有划款指令和实际管理人的交易匹配难度大和效率低的问题,成为了当前亟需解决的技术问题。


技术实现要素:

3.有鉴于此,有必要提供一种数据匹配方法、系统、设备及可读存储介质,以解决现有划款指令和交易流水信息的匹配难度大和效率低的问题。
4.为实现上述目的,本发明实施例提供了一种数据匹配方法,所述方法步骤包括:
5.获取多个指令数据和多个流水信息;
6.执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息;
7.执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率;
8.在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作;
9.在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。
10.可选的,所述对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果的步骤,包括:
11.对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合,其中,每个第i次流水信息组合包括至少一个流水信息;及
12.对所述第i-1次匹配失败的指令数据与所述多个第i次流水信息组合进行第i次匹配操作,以得到所述第i次匹配成功的指令数据数量、所述第i次匹配成功的流水信息数量和所述第i次匹配成功的指令数据和流水信息。
13.可选的,所述对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合的步骤,包括:
14.以lk={[i*k-(k-1)]、[i*k-(k-2)]

[i*k-(k-k)]}为组合数对所述第i-1次匹配失败的流水信息进行k重分组,以得到k个流水信息分组集合,其中,k值小于或等于所述第i-1次匹配失败的流水信息的数量;及
[0015]
获取各个流水信息分组集合中的流水信息组合,以得到所述多个第i次流水信息组合。
[0016]
可选的,所述对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果的步骤,包括:
[0017]
获取各个第i-1次匹配失败的指令数据的指令参数值和各个第i-1次匹配失败的流水信息的流水参数值,以得到多个指令参数值和多个流水参数值;
[0018]
获取每个指令参数值与所述多个流水参数值中参数值相等的流水参数值的数量;
[0019]
如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为0的第一指令参数值,则所述第一指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配失败;
[0020]
如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为1的第二指令参数值,则所述第二指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配成功。
[0021]
如果存在与所述多个流水参数值中参数值相等的流水参数值的数量大于1的第三指令参数值,则根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配是否成功。
[0022]
可选的,所述根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配是否成功的步骤,包括:
[0023]
获取所述第三指令参数值所对应的目标指令数据,和与所述第三指令参数值相等的多个流水参数值所对应的多个目标流水信息;
[0024]
获取各个目标流水信息与所述目标指令数据的匹配度;
[0025]
将所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息作为与目标指令数据匹配成功目标流水信息。
[0026]
可选的,还包括:
[0027]
判断所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量是否大于1;
[0028]
如果所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量大于1,则获取各个目标流水信息的流水附言,并根据各个目标流水信息的流水附言确定与目标指令数据匹配成功目标流水信息。
[0029]
可选的,还包括:将所述第1次匹配操作到第i次匹配操作的匹配结果上传到区块链。
[0030]
为实现上述目的,本发明实施例还提供了一种数据匹配系统,包括:
[0031]
获取模块,用于获取多个指令数据和多个流水信息;
[0032]
匹配模块,用于执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息;
[0033]
计算模块,用于执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率;
[0034]
执行模块,用于在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作;
[0035]
结果模块,用于在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。
[0036]
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上述的数据匹配方法的步骤。
[0037]
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的数据匹配方法的步骤。
[0038]
本发明实施例提供的数据匹配方法、系统、计算机设备及计算机可读存储介质,本实施例通过对获取到的多个指令数据对所述多个流水信息进行循环匹配以降低银行流水和对应的划款指令匹配难度,提高了对流水信息和对应的指令数据的匹配效率。
附图说明
[0039]
图1为本发明实施例数据匹配方法的流程示意图;
[0040]
图2为本发明数据匹配系统实施例二的程序模块示意图;
[0041]
图3为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
[0042]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的
结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0044]
实施例一
[0045]
参阅图1,示出了本发明实施例之数据匹配方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。本实施例中的数据匹配系统可以被执行在计算机设备2中,下面以计算机设备2为执行主体进行示例性描述。具体如下。
[0046]
步骤s100,获取多个指令数据和多个流水信息。
[0047]
所述多个指令数据包括划款指令,具体可以由我方公司出具,通过线上方式通知第三方监管银行,将客户的资金从监管户转账至其他账户;其中,出具划款指令主要依赖于产品实际管理人的确认信息,例如,投资者a在理财代销平台b申购了一款公募基金c,代销平台会把相关客户信息和交易信息发送给公募基金c的实际管理人d,管理人d在t+1日会把申购确认信息给到理财平台b。理财代销平台b根据申购确认信息生成划款指令。
[0048]
所述划款指令可以是赎回指令、申购指令等具有都有流水匹配状态属性的指令,所述流水匹配包括待匹配,部分匹配,全匹配,其中,流水匹配状态是指令与相关账户的银行流水之间对应关系。业务规则上,针对不同业务类型的划款指令(信息流),有时间范围配置,对手方账户名称配置,比如:认申购划款指令匹配入款资金流,系统自动匹配只能匹配划付日当天或者前一交易日的进款指令。认申购划款指令匹配出款,不能匹配对方账户是“xx有限公司”或“xx有限公司”赎回划款指令(包括赎回、强赎、分红、清盘等)匹配进款,部分管理人只能匹配对方账户名如:xx有限责任公司xx分公司(备付金)。
[0049]
步骤s102,执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息。
[0050]
现有的理财代销平台b往往通过一个统一的监管账户对各个账户进行监管,不同客户不同产品的资金都会经过这个账户,对银行流水和对应的划款指令匹配难度较大,效率较低。对于第三方代销机构而言,出款会根据银行和监管要求的产品和交易类型进行合并划付,但是入款是投资人和管理人进行操作,所以如何进行入款和出款的匹配就是运营中的难点。托管银行对划款指令和实际管理人的交易确认进行匹配校验,竞品公司在管理人端是日终进行汇总金额校验,没有对逐笔流水指令进行匹配。为了解决上述问题,本实施通过对获取到的多个指令数据对所述多个流水信息进行循环匹配以降低银行流水和对应的划款指令匹配难度,提高银行流水和对应的划款指令匹配效率。
[0051]
具体的,当得到所述多个指令数据对所述多个流水信息后,可以根据多个指令数据和多个流水信息启动循环匹配操作,即,在首次循环任务时(即,第i=1时),所述第i-1次匹配失败的指令数据为所述多个指令数据、所述第i-1次匹配失败的流水信息为所述多个流水信息。
[0052]
在示例性的实施例中,所述步骤s102还可以包括,步骤s200~步骤s202,其中:步骤s200,对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合,其中,每个第i次流水信息组合包括至少一个流水信息;及步骤s202,对所述第i-1
次匹配失败的指令数据与所述多个第i次流水信息组合进行第i次匹配操作,以得到所述第i次匹配成功的指令数据数量、所述第i次匹配成功的流水信息数量和所述第i次匹配成功的指令数据和流水信息。本实施例通过对所述多个流水信息进行多重分组提高了匹配成功率。在一些实施例中,由于流水信息相对指令数据的数量相对较多,所以容易出现多笔银行流水匹配一笔划款指令的情况,为了解决这个问题本实施可以第i-1次匹配失败的流水信息进行多重分组,其中所述多重分组的具体如下。
[0053]
在示例性的实施例中,所述步骤s200还可以包括,步骤s300~步骤s302,其中:步骤s300,以lk={[i*k-(k-1)]、[i*k-(k-2)]

[i*k-(k-k)]}为组合数对所述第i-1次匹配失败的流水信息进行k重分组,以得到k个流水信息分组集合,其中,k值小于或等于所述第i-1次匹配失败的流水信息的数量;第1个流水信息分组集合中的各个流水信息组合的流水信息的组合数量为:lk=[i*k-(k-1)],第k个流水信息分组集合中的各个流水信息组合的流水信息的组合数量为:lk=[i*k-(k-k)];及步骤s302,获取各个流水信息分组集合中的流水信息组合,以得到所述多个第i次流水信息组合。为了进一步的提高匹配成功率,本实施例使用如下公式:a=c(1,y)、b=c(2,y)、c=c(3,y),对流水数据进行组合;其中,y:待匹配银行流水总数(第i-1次匹配失败的流水信息)。为了方便理解,本实施例还提供了一个具体实例:当i=1、k=3时,所述多个流水信息包括4条流水金额:流水1:金额100、流水2:金额200、流水3:金额300、流水4:金额400;根据所述预设规则可以得到组合数为l3={1、2、3},即,第1次匹配操作时,可以进行3重分组,得到3个集合:第1集合a={1、2、3、4},第2集合b={[1,2]、[1,3]、[1,4]、[2,3]、[2,4]、[3,4]},以及第3集合c={[1,2,3]、[1,2,4]、[2,3,4]},其中,第1集合中每个组合数为1,第2集合中每个组合数为2,第3集合中每个组合数为3;所述多个第i次流水信息组合为:{1、2、3、4、[1,2]、[1,3]、[1,4]、[2,3]、[2,4]、[3,4]、[1,2,3]、[1,2,4]、[2,3,4]}。
[0054]
在本实施例中,可以通过比较每个指令数据对应的金额数量与每个流水信息组合总金额,确定指令数据预流水信息是否匹配。如果存在多个流水信息组合与同一个指令数据相等情况,可以通过与匹配的业务规则比较进行确认是否匹配,具体可以预先根据流水中会有入款账户的信息配置不同的权重,根据权重确定多个流水信息组合与同一个指令数据的匹配度,然后根据匹配度确认是否匹配,例如,一个指令金额为300,会同时匹配[1,2]和[3]两个组合,如果根据业务规则组合[1,2]的匹配度为10分,组合[3]的匹配度为8分,则该指令和1,2两条流水匹配成功。
[0055]
在示例性的实施例中,所述步骤s102还可以包括,步骤s400~步骤s402,其中:步骤s400,获取各个第i-1次匹配失败的指令数据的指令参数值和各个第i-1次匹配失败的流水信息的流水参数值,以得到多个指令参数值和多个流水参数值;步骤s402,获取每个指令参数值与所述多个流水参数值中参数值相等的流水参数值的数量;步骤s404,如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为0的第一指令参数值,则所述第一指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配失败;步骤s406,如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为1的第二指令参数值,则所述第二指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配成功;步骤s408,如果存在与所述多个流水参数值中参数值相等的流水参数值的数量大于1的第三指令参数值,则根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次
匹配是否成功。所述指令数据的指令参数值可以是指令金额,所述流水信息的流水参数值可以流水金额。本实例通过对比指令金额和流水金额确定对应的指令数据和流水信息的匹配关系,提高了匹配正确率,降低了匹配难度。通过配置预设匹配规则,解决了多个流水信息与同一个指令数据相等情况匹配容易出错的问题,进一步的提高了匹配效率。
[0056]
在示例性的实施例中,所述步骤s408还可以包括,步骤s500~步骤s502,其中:步骤s500,获取所述第三指令参数值所对应的目标指令数据,和与所述第三指令参数值相等的多个流水参数值所对应的多个目标流水信息;步骤s502,获取各个目标流水信息与所述目标指令数据的匹配度;步骤s504,将所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息作为与目标指令数据匹配成功目标流水信息。本实施例还可以通过银行流水附言,账户信息等信息判断匹配度,进一步的提高了配置的正确率和效率。在一些实施例中,还可以根据指令数据和各个流水信息携带的相关信息判断是否匹配,例如,可以通过流水信息中的入款账户信息与指令数据对应的账户信息判断是否匹配。
[0057]
在示例性的实施例中,所述步骤s504还可以包括,步骤s600~步骤s602,其中:步骤s600,判断所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量是否大于1;步骤s602,如果所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量大于1,则获取各个目标流水信息的流水附言,并根据各个目标流水信息的流水附言确定与目标指令数据匹配成功目标流水信息。预先根据流水中会有入款账户的信息配置不同的权重,根据权重确定多个流水信息与同一个指令数据的匹配度,然后根据匹配度确认是否匹配。本实施例通过匹配度确定是否匹配进一步地提高了匹配效率。
[0058]
步骤s104,执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率。
[0059]
指令匹配成功率可以是:e/x;
[0060]
流水匹配成功率可以是:f/y;
[0061]
其中:
[0062]
e:第i次匹配成功的指令数据数量;
[0063]
x:第i-1次匹配失败的指令数据的总数;
[0064]
f:第i次匹配成功的流水信息数量;
[0065]
y:第i-1次匹配失败的流水数据的总数;
[0066]
为了提高匹配效率,本实施可以通过配置一个预设值来确定是否需要继续执行匹配操作。不难理解,当循环执行到第i次时,该匹配成功率还是大于或等于所述预设值时,则可以说明所述指令数据和所述流水信息之间还存在较大匹配价值;当循环执行到第i次时,该匹配成功率还是小于于所述预设值时,则可以说明所述指令数据和所述流水信息之间匹配价值较小,如果继续执行第i+1次组合匹配操作效果不佳。因此本实施例通过配置一个预设值来确定是否需要继续执行组合匹配操作,提高了整体匹配效率。
[0067]
步骤s106,在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作。
[0068]
为了方便理解,本实施例还提供了一个具体实例:当i=1、k=3、e/x+f/y》=1时,
则重新开始匹配流程,并使用a=c(4,y),b=c(5,y),c=c(6,y)重复上述步骤。
[0069]
步骤s108,在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。
[0070]
为了方便理解,本实施例还提供了一个具体实例:e/x+f/y《1,则退出,此机制主要是防止c(n,m),n《=m的组合公式中因x过大导致流水组合过多,系统性能下降。本实施例通过资金和指令动态实时匹配,实现了资金全链路的闭环管理,并在兼顾性能和匹配成功率的情况下,动态找到这之间的平衡点。
[0071]
在示例性的实施例中,所述数据匹配方法还可以包括步骤s700:将所述第1次匹配操作到第i次匹配操作的匹配结果上传到区块链。
[0072]
示例性的,将所述第1次匹配操作到第i次匹配操作的匹配结果上传至区块链可保证其安全性和公正透明性。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0073]
实施例二
[0074]
图2为本发明数据匹配系统实施例二的程序模块示意图。数据匹配系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据匹配方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据匹配系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
[0075]
获取模块200,用于获取多个指令数据和多个流水信息。
[0076]
匹配模块202,用于执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息。
[0077]
计算模块204,用于执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率。
[0078]
执行模块206,用于在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作。
[0079]
结果模块208,用于在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。
[0080]
示例性的,所述匹配模块202,还用于:对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合,其中,每个第i次流水信息组合包括至少一
个流水信息;及对所述第i-1次匹配失败的指令数据与所述多个第i次流水信息组合进行第i次匹配操作,以得到所述第i次匹配成功的指令数据数量、所述第i次匹配成功的流水信息数量和所述第i次匹配成功的指令数据和流水信息。
[0081]
示例性的,所述匹配模块202,还用于:以lk={[i*k-(k-1)]、[i*k-(k-2)]

[i*k-(k-k)]}为组合数对所述第i-1次匹配失败的流水信息进行k重分组,以得到k个流水信息分组集合,其中,k值小于或等于所述第i-1次匹配失败的流水信息的数量;及获取各个流水信息分组集合中的流水信息组合,以得到所述多个第i次流水信息组合。
[0082]
示例性的,所述匹配模块202,还用于:获取各个第i-1次匹配失败的指令数据的指令参数值和各个第i-1次匹配失败的流水信息的流水参数值,以得到多个指令参数值和多个流水参数值;获取每个指令参数值与所述多个流水参数值中参数值相等的流水参数值的数量;如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为0的第一指令参数值,则所述第一指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配失败;如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为1的第二指令参数值,则所述第二指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配成功;及如果存在与所述多个流水参数值中参数值相等的流水参数值的数量大于1的第三指令参数值,则根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配是否成功。
[0083]
示例性的,所述匹配模块202,还用于:获取所述第三指令参数值所对应的目标指令数据,和与所述第三指令参数值相等的多个流水参数值所对应的多个目标流水信息;获取各个目标流水信息与所述目标指令数据的匹配度;将所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息作为与目标指令数据匹配成功目标流水信息。
[0084]
示例性的,所述匹配模块202,还用于:判断所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量是否大于1;如果所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量大于1,则获取各个目标流水信息的流水附言,并根据各个目标流水信息的流水附言确定与目标指令数据匹配成功目标流水信息。
[0085]
示例性的,所述数据匹配系统20还包括,上传模块,所述上传模块,用于将所述第1次匹配操作到第i次匹配操作的匹配结果上传到区块链。
[0086]
实施例三
[0087]
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据匹配系统20。
[0088]
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器
21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的数据匹配系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0089]
处理器22在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据匹配系统20,以实现实施例一的数据匹配方法。
[0090]
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communicati/on,gsm)、宽带码分多址(wideband code divisi/on multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
[0091]
需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
[0092]
在本实施例中,存储于存储器21中的数据匹配系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
[0093]
例如,图2示出了本发明实施例二之所述实现数据匹配系统20的程序模块示意图,该实施例中,所述数据匹配系统20可以被划分为获取模块200、匹配模块202、计算模块204、执行模块206和结果模块208。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据匹配系统20在计算机设备2中的执行过程。所述程序模块200-208的具体功能在实施例二中已有详细描述,在此不再赘述。
[0094]
实施例四
[0095]
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质数据匹配系统20,被处理器执行时实现实施例一的数据匹配方法。
[0096]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0097]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
[0098]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种数据匹配方法,其特征在于,所述方法包括:获取多个指令数据和多个流水信息;执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息;执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率;在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作;在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。2.如权利要求1所述的数据匹配方法,其特征在于,所述对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果的步骤,包括:对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合,其中,每个第i次流水信息组合包括至少一个流水信息;及对所述第i-1次匹配失败的指令数据与所述多个第i次流水信息组合进行第i次匹配操作,以得到所述第i次匹配成功的指令数据数量、所述第i次匹配成功的流水信息数量和所述第i次匹配成功的指令数据和流水信息。3.如权利要求2所述的数据匹配方法,其特征在于,所述对所述第i-1次匹配失败的流水信息进行第i次多重分组,以得到多个第i次流水信息组合的步骤,包括:以l
k
={[i*k-(k-1)]、[i*k-(k-2)]

[i*k-(k-k)]}为组合数对所述第i-1次匹配失败的流水信息进行k重分组,以得到k个流水信息分组集合,其中,k值小于或等于所述第i-1次匹配失败的流水信息的数量;及获取各个流水信息分组集合中的流水信息组合,以得到所述多个第i次流水信息组合。4.如权利要求1所述的数据匹配方法,其特征在于,所述对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果的步骤,包括:获取各个第i-1次匹配失败的指令数据的指令参数值和各个第i-1次匹配失败的流水信息的流水参数值,以得到多个指令参数值和多个流水参数值;获取每个指令参数值与所述多个流水参数值中参数值相等的流水参数值的数量;如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为0的第一指令参数值,则所述第一指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配失败;如果存在与所述多个流水参数值中参数值相等的流水参数值的数量为1的第二指令参数值,则所述第二指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配成功;及如果存在与所述多个流水参数值中参数值相等的流水参数值的数量大于1的第三指令
参数值,则根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配是否成功。5.如权利要求4所述的数据匹配方法,其特征在于,所述根据预设匹配规则判断所述第三指令参数值对应的第i-1次匹配失败的指令数据的第i次匹配是否成功的步骤,包括:获取所述第三指令参数值所对应的目标指令数据,和与所述第三指令参数值相等的多个流水参数值所对应的多个目标流水信息;获取各个目标流水信息与所述目标指令数据的匹配度;将所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息作为与目标指令数据匹配成功目标流水信息。6.如权利要求5所述的数据匹配方法,其特征在于,还包括:判断所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量是否大于1;如果所述多个目标流水信息中与所述目标指令数据的匹配度最高的目标流水信息的数量大于1,则获取各个目标流水信息的流水附言,并根据各个目标流水信息的流水附言确定与目标指令数据匹配成功目标流水信息。7.如权利要求1至6中任一项所述的数据匹配方法,其特征在于,还包括:将所述第1次匹配操作到第i次匹配操作的匹配结果上传到区块链。8.一种数据匹配系统,其特征在于,包括:获取模块,用于获取多个指令数据和多个流水信息;匹配模块,用于执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果,所述第i次匹配结果包括第i次匹配成功的指令数据数量、第i次匹配成功的流水信息数量和第i次匹配成功的指令数据和流水信息;其中,i为正整数,当i=1时,所述第i-1次匹配失败的指令数据为多个所述指令数据、所述第i-1次匹配失败的流水信息为多个所述流水信息;计算模块,用于执行第i次计算操作:根据第i次匹配成功的指令数据数量和所述第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率;执行模块,用于在所述指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和第i+1次计算操作;结果模块,用于在所述指令匹配成功率和流水匹配成功率之和小于所述预设值的情况下,不执行第i+1次匹配操作和第i+1次计算操作,并获取第1次匹配操作到第i次匹配操作的匹配结果。9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据匹配方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至7中任一项所述的数据匹配方法的步骤。

技术总结
本发明涉及数据处理领域,提供了一种数据匹配方法,所述方法包括:获取多个指令数据和多个流水信息;执行第i次匹配操作:对第i-1次匹配失败的指令数据和第i-1次匹配失败的流水信息进行第i次匹配操作,以得到第i次匹配结果;执行第i次计算操作:根据第i次匹配成功的指令数据数量和第i次匹配成功的流水信息数量,计算指令匹配成功率和流水匹配成功率;在指令匹配成功率与流水匹配成功率之和不小于预设值的情况下,获取第i次匹配失败的指令数据和第i-1次匹配失败的流水信息,并执行第i+1次匹配操作和和第i+1次计算操作。本发明降低了对指令数据和流水信息匹配难度、提高了匹配效率。效率。效率。


技术研发人员:杨忱宇 徐从洋 肖甜 刘大航
受保护的技术使用者:未鲲(上海)科技服务有限公司
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-2422.html

最新回复(0)