数据匹配方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27935318 阅读:49 留言:0更新日期:2021-04-02 14:15
本申请涉及人工智能领域,提供数据匹配方法、装置、计算机设备和存储介质,方法包括:获取导入至Excel文档中的待检测数据及目标数据集合;判断是否接收到数据匹配指令;若是,读取VBA代码,生成与待检测数据及目标数据集合对应的VBA任务;基于VBA任务的执行逻辑,将待检测数据与目标数据集合拷贝至内存中;基于哈希算法分别计算目标数据集合包含的每一个目标数据的第一哈希值及待检测数据的指定哈希值;基于第一哈希值与目标数据,生成与目标数据集合对应的哈希链表;使用哈希链表对指定哈希值进行数据匹配处理,生成对应的数据匹配结果。本申请提高了数据匹配的处理效率。本申请还可以应用于区块链领域,上述数据匹配结果等数据可以存储于区块链上。

【技术实现步骤摘要】
数据匹配方法、装置、计算机设备和存储介质
本申请涉及人工智能
,具体涉及一种数据匹配方法、装置、计算机设备和存储介质。
技术介绍
在Excel中对不同数据进行数据匹配是当下比较常见的业务场景。当具有将待检测数据与目标数据集合中的数据进行数据匹配的需求时,现有的数据匹配方式通常是由业务人员使用Excel自带的vlookup等函数进行数据匹配,这需要业务人员有一定的Excel函数知识,并自行进行函数编写,对业务人员有一定的技能要求。另外,这种基于函数的数据匹配方式的逻辑通常是将待检测数据与目标数据集合中的每一个数据进行逐一循环检查,以判别在目标数据集合中是否存在与该待检测数据匹配的数据。然而当需要进行数据匹配的目标数据集合的数量级较大时,例如超过十万数量级时,在Excel中采用基于函数的数据匹配方式需要花费较长的时间来进行数据匹配,处理效率低下。
技术实现思路
本申请的主要目的为提供一种数据匹配方法、装置、计算机设备和存储介质,旨在解决现有的在Excel中采用基于函数的数据匹配方式需要花费较长的时间来进行数据匹配,处理效率低下的技术问题。本申请提出一种数据匹配方法,所述方法包括步骤:获取导入至Excel文档中的待检测数据以及目标数据集合;判断是否接收到用户触发的数据匹配指令;若接收到用户触发的数据匹配指令,则读取预设的VBA代码,并基于所述数据匹配指令,生成与所述待检测数据及所述目标数据集合对应的VBA任务;基于所述VBA任务的执行逻辑,将所述待检测数据与所述目标数据集合拷贝至内存中;基于预设的哈希算法,分别计算处于内存中的所述目标数据集合包含的每一个目标数据的第一哈希值,以及计算处于内存中的所述待检测数据的指定哈希值;基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表;使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果。可选地,所述基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表的步骤,包括:获取所述目标数据集合中包含的每一个目标数据的第一哈希值;对所有所述第一哈希值进行数值大小比较处理,筛选出在所有所述第一哈希值中数值最大的第二哈希值;将所述第二哈希值对应的数值作为长度值;根据各所述第一哈希值,确定出与各所述目标数据对应的放置位置信息;基于所述放置位置信息、所述目标数据、以及所述长度值构建对应的哈希链表,其中,所述哈希链表内包含与所述长度值的数量相同的多个数组,每个所述数组包括链表,链表内存储有与数组匹配的放置位置信息所对应的目标数据。可选地,所述使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果的步骤,包括:基于预设的哈希值与放置位置的对应关系,确定出所述指定哈希值在所述哈希链表中的指定放置位置信息;根据所述指定放置位置信息,从所述哈希链表中查询出与所述指定放置位置信息对应的指定数组;判断所述指定数组内是否存储有数据;若所述指定数组内存储有数据,则判断所述指定数组中存储的所有数据中是否存在与所述待检测数据相匹配的指定数据;若所述指定数组中存储的所有数据中存在所述指定数据,则生成所述目标数据集合中存在与所述待检测数据相匹配的数据的第一匹配结果;若所述指定数组中存储的所有数据中不存在所述指定数据,则生成所述目标数据集合中不存在与所述待检测数据匹配的数据的第二匹配结果。可选地,所述判断所述指定数组中存储的所有数据中是否存在与所述待检测数据相匹配的指定数据的步骤,包括:判断所述指定数据中包含的数据的个数是否为1;若所述指定数据中包含的数据的个数不为1,则基于并行比较指令比较所述待检测数据是否与所述指定数组中的任意一个数据相同;若所述待检测数据与所述指定数组中的任意一个数据相同,则判定所述指定数组中包含的所有数据中存在与所述待检测数据相匹配的指定数据;若所述待检测数据与所述指定数组中的任意一个数据均不相同,则判定所述指定数组中包含的所有数据中不存在与所述待检测数据相匹配的指定数据。可选地,所述基于所述VBA任务的执行逻辑,将所述待检测数据与所述目标数据集合拷贝至内存中的步骤之前,包括:获取所述内存当前的内存占用值,以及获取预设的内存使用占比阈值;基于所述内存占用值,计算当前的内存可用值;判断所述内存可用值是否大于所述内存使用占比阈值;若所述内存可用值大于所述内存使用占比阈值,则生成将所述待检测数据与所述目标数据集合拷贝至内存中的拷贝指令。可选地,所述获取当前的内存占用值,以及获取预设的内存使用占比阈值的步骤之前,包括:调用预设的任务数据库,其中,所述任务数据库中存储有历史数据匹配任务,各所述历史数据匹配任务中包含的数据集合的数量值,以及各所述历史数据匹配任务在正常运作下的内存使用占比值;获取所述目标数据集合包含的数据量的第一数量值;使用所述任务数据库进行查询处理,查询出与所述第一数量值具有特定匹配关系的第二数量值,其中,所述特定匹配关系是指所述第二数量值与所述第一数量值之间的差值的绝对值处于预设数值范围内;从所述任务数据库内筛选出与所述第二数量值对应的指定历史数据匹配任务,以及查找出与各所述指定历史任务分别对应的指定内存使用占比值;计算所有所述指定内存使用占比值的平均值;将所述平均值作为所述内存使用占比阈值。可选地,所述使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果的步骤之后,包括:获取当前时间,并判断所述当前时间是否处于预设时间范围内;若所述当前时间处于预设时间范围内,则获取预设的邮件登录信息,以及获取与指定用户对应的指定邮件地址;根据所述邮件登录信息登录至对应的邮件服务器;通过所述邮件服务器将所述数据匹配结果发送至所述指定邮件地址。本申请还提供一种数据匹配装置,包括:第一获取模块,用于获取导入至Excel文档中的待检测数据以及目标数据集合;第一判断模块,用于判断是否接收到用户触发的数据匹配指令;第一生成模块,用于若接收到用户触发的数据匹配指令,则读取预设的VBA代码,并基于所述数据匹配指令,生成与所述待检测数据及所述目标数据集合对应的VBA任务;拷贝模块,用于基于所述VBA任务的执行逻辑,将所述待检测数据与所述目标数据集合拷贝至内存中;第一计算模块,用于基于预设的哈希算法,分别计算处于内存中的所述目标数据集合包含的每一个目标数据的第一哈希值,以及计算处于内存中的所述待检测数据的指定哈希值;第二生成模块,用于基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表;匹配模块,用于使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据本文档来自技高网...

【技术保护点】
1.一种数据匹配方法,其特征在于,包括:/n获取导入至Excel文档中的待检测数据以及目标数据集合;/n判断是否接收到用户触发的数据匹配指令;/n若接收到用户触发的数据匹配指令,则读取预设的VBA代码,并基于所述数据匹配指令,生成与所述待检测数据及所述目标数据集合对应的VBA任务;/n基于所述VBA任务的执行逻辑,将所述待检测数据与所述目标数据集合拷贝至内存中;/n基于预设的哈希算法,分别计算处于内存中的所述目标数据集合包含的每一个目标数据的第一哈希值,以及计算处于内存中的所述待检测数据的指定哈希值;/n基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表;/n使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果。/n

【技术特征摘要】
1.一种数据匹配方法,其特征在于,包括:
获取导入至Excel文档中的待检测数据以及目标数据集合;
判断是否接收到用户触发的数据匹配指令;
若接收到用户触发的数据匹配指令,则读取预设的VBA代码,并基于所述数据匹配指令,生成与所述待检测数据及所述目标数据集合对应的VBA任务;
基于所述VBA任务的执行逻辑,将所述待检测数据与所述目标数据集合拷贝至内存中;
基于预设的哈希算法,分别计算处于内存中的所述目标数据集合包含的每一个目标数据的第一哈希值,以及计算处于内存中的所述待检测数据的指定哈希值;
基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表;
使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果。


2.根据权利要求1所述的数据匹配方法,其特征在于,所述基于所述第一哈希值与所述目标数据,生成与所述目标数据集合对应的哈希链表的步骤,包括:
获取所述目标数据集合中包含的每一个目标数据的第一哈希值;
对所有所述第一哈希值进行数值大小比较处理,筛选出在所有所述第一哈希值中数值最大的第二哈希值;
将所述第二哈希值对应的数值作为长度值;
根据各所述第一哈希值,确定出与各所述目标数据对应的放置位置信息;
基于所述放置位置信息、所述目标数据、以及所述长度值构建对应的哈希链表,其中,所述哈希链表内包含与所述长度值的数量相同的多个数组,每个所述数组包括链表,链表内存储有与数组匹配的放置位置信息所对应的目标数据。


3.根据权利要求1所述的数据匹配方法,其特征在于,所述使用所述哈希链表对所述指定哈希值进行数据匹配处理,生成与所述待检测数据对应的数据匹配结果的步骤,包括:
基于预设的哈希值与放置位置的对应关系,确定出所述指定哈希值在所述哈希链表中的指定放置位置信息;
根据所述指定放置位置信息,从所述哈希链表中查询出与所述指定放置位置信息对应的指定数组;
判断所述指定数组内是否存储有数据;
若所述指定数组内存储有数据,则判断所述指定数组中存储的所有数据中是否存在与所述待检测数据相匹配的指定数据;
若所述指定数组中存储的所有数据中存在所述指定数据,则生成所述目标数据集合中存在与所述待检测数据相匹配的数据的第一匹配结果;
若所述指定数组中存储的所有数据中不存在所述指定数据,则生成所述目标数据集合中不存在与所述待检测数据匹配的数据的第二匹配结果。


4.根据权利要求3所述的数据匹配方法,其特征在于,所述判断所述指定数组中存储的所有数据中是否存在与所述待检测数据相匹配的指定数据的步骤,包括:
判断所述指定数据中包含的数据的个数是否为1;
若所述指定数据中包含的数据的个数不为1,则基于并行比较指令比较所述待检测数据是否与所述指定数组中的任意一个数据相同;
若所述待检测数据与所述指定数组中的任意一个数据相同,则判定所述指定数组中包含的所有数据中存在与所述待检测数据相匹配的指定数据;
若所述待检测数据与所述指定数组中的任意一个数据均不相同,则判定所述指定数组中包含的所有数据中不存在与所述待检测数据相匹配的指定数据。


5.根据权利要求1所述的数据匹配方法,其特征在于,...

【专利技术属性】
技术研发人员:余磊
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1