CN110399530A - 数据匹配方法、装置及计算机设备 - Google Patents
数据匹配方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN110399530A CN110399530A CN201810359831.6A CN201810359831A CN110399530A CN 110399530 A CN110399530 A CN 110399530A CN 201810359831 A CN201810359831 A CN 201810359831A CN 110399530 A CN110399530 A CN 110399530A
- Authority
- CN
- China
- Prior art keywords
- data
- matched
- core
- back end
- link table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供的数据匹配方法、装置及计算机设备,其中,数据匹配方法包括:通过获取待匹配的核心数据,利用预设散列算法,计算得到待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中散列值对应的位置信息,在已建立的数组链表中查找满足该位置信息的、所含数据节点包括核心数据及该核心数据对应的数据属性的数据链表,确定数据链表中与待匹配的核心数据相匹配的数据节点中的数据属性。通过本方案,实现通过散列进行数据快速存取时,避免冲突、确保匹配结果准确的目的。
Description
技术领域
本发明涉及匹配技术领域,特别是涉及一种数据匹配方法、装置及计算机设备。
背景技术
在数据匹配技术中,通常通过使用散列算法建立以Key-Value(键-值)结构存储数据的散列,以实现输入Key即可定位到相应Value的快速存取数据的目的。例如:通过使用适用于待存储数据的哈希函数映射数据中的Key,来得到该数据在哈希表中的存储位置。但是,在使用散列算法建立Key-Value结构的散列时,会存在不可避免的冲突(collision)现象:对不同的Key可能得到同一存储位置。例如:输入两个不同的键值Key1和Key2,经过散列算法处理后,Key1和Key2得到相同的存储位置,此时存储在该位置的Key1对应数据会被Key2对应数据取代,造成搜索Key1时结果不准确的问题。因此,在建立散列时要设定适用的处理冲突的方法。
传统的冲突处理方法主要是通过为存在冲突的键-值分配不同的存储位置,从而达到解决冲突的目的。以哈希函数的冲突处理方法开放定址法为例:通过按统一规则以发生冲突的存储位置为基础确定不同的存储位置,例如为当前冲突位置“1”加上1,得到不同的地址“2”,将冲突的键-值分别存储在这两个不同的存储位置,从而解决冲突。
然而,当需要处理大量数据时,产生的冲突也随之增加,这种情况下就需要分配大量的的存储位置,但是散列的存储位置是有限的。当有限的存储位置被使用完,而数据还未存储完时,将造成尚未存储的数据被分配到已存储了数据的存储位置,即出现不同的Key分配了相同的存储位置,冲突随之产生。也就是说,传统的冲突处理方法无法完全解决冲突,仍会因存储过程中的冲突造成搜索结果的不准确。
发明内容
本发明实施例的目的在于提供一种数据匹配方法、装置及计算机设备,以实现通过散列进行数据快速存取时,避免冲突、确保匹配结果准确的目的。具体技术方案如下:
第一方面,本发明实施例提供了一种数据匹配方法,该方法包括:
获取待匹配的核心数据;
利用预设散列算法,计算得到该待匹配的核心数据的散列值;
利用预设存储位置确定算法,确定在预设散列表中该散列值对应的位置信息;
根据该位置信息,查找已建立的数组链表中满足该位置信息的数据链表,该数据链表中的数据节点包括核心数据及该核心数据对应的数据属性;
基于该待匹配的核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。
第二方面,本发明实施例提供了一种数据匹配装置,该装置包括:
第一获取模块,用于获取待匹配的核心数据;
第一计算模块,用于利用预设散列算法,计算得到待匹配的核心数据的散列值;
第一确定模块,用于利用预设存储位置确定算法,确定在预设散列表中该散列值对应的位置信息;
查找模块,用于根据该位置信息,查找已建立的数组链表中满足位置信息的数据链表,该数据链表中的数据节点包括核心数据及该核心数据对应的数据属性;
匹配模块,用于基于该待匹配的核心数据,确定该数据链表中与该待匹配的核心数据相匹配的数据节点中的数据属性。
第三方面,本发明实施例提供了一种计算机设备,该设备包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第一方面提供的数据匹配方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的数据匹配方法的步骤。
本发明实施例提供的信息匹配方法、装置及计算机设备,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。以数据链表形式存储核心数据及数据属性来避免冲突,同时根据核心数据的散列值对应的位置信息快速确定数组链表中满足所述位置信息的数据链表。实现了以散列进行数据快速存取的同时,避免冲突确保匹配结果准确的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例的数据匹配方法的流程示意图;
图2为本发明一实施例的数据匹配方法中的数组链表的结构示意图;
图3为本发明一实施例的数据匹配方法中,数组链表建立方法的流程示意图;
图4为本发明另一实施例的数据匹配方法中,数组链表建立方法的流程示意图;
图5为本发明另一实施例的数据匹配方法中的数组链表的结构示意图;
图6为本发明一实施例的数据匹配装置的结构示意图;
图7为本发明另一实施例的数据匹配装置的结构示意图;
图8为本发明一实施例的计算机设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明一实施例的数据匹配方法进行介绍。
本发明实施例提供的数据匹配方法,可以应用于能够进行数据匹配的计算机设备,该设备包括台式计算机、便携式计算机、互联网电视,智能移动终端、可穿戴式智能终端、服务器等,在此不作限定,任何可以实现本发明实施例的计算机设备,均属于本发明实施例的保护范围。
如图1所示,本发明一实施例提供的数据匹配方法的一种流程,可以包括:
S101,获取待匹配的核心数据。
在数字化时代,数据的获取必不可少,用户往往存在以已有数据获取更多数据的需求。为了满足这种需求,可以通过利用已有数据与其他数据资源中的数据进行匹配的方式,来获取其他数据资源中与已有数据关联的更多数据。
在数据匹配中,为了区分不同的数据,使用核心数据表征某一数据的唯一特征。对于只包含一种数据的单一数据,核心数据可以是某一数据本身。例如:数据为“王某”,那么核心数据就为该数据本身“王某”。或者,对于包含多种数据的复杂数据,核心数据可以是复杂数据中的部分数据。例如:复杂数据为“XX省XX市的王某”,那么核心数据就为该复杂数据中的部分数据“王某”。相应的,获取待匹配的核心数据,可以是直接将得到的待匹配数据本身作为待匹配的核心数据,也可以是提取待匹配数据中的核心数据,得到待匹配的核心数据。待匹配数据可以是用户人工输入的数据,也可以是电子设备自动识别或者提取后输入的数据。
S102,利用预设散列算法,计算得到待匹配的核心数据的散列值。
对于特征不同的待匹配的核心数据,预设的散列算法可以是消息摘要算法第5版(Message-Digest Algorithm 5,简称MD5),或者安全散列算法(Secure Hash Algorithm,简称SHA)等。任何可以得到待匹配的核心数据的散列值的散列算法均可用于本发明,本实施例对此不作限制。
S103,利用预设存储位置确定算法,确定在预设散列表中该核心数据的散列值对应的位置信息。
数据的散列值与预设散列表中的存储位置存在对应关系,预设散列表中的存储位置与数据的实际存储位置相对应,因此,确定预设散列表中数据的散列值对应的位置信息,也就确定了数据的实际存储位置。预设存储位置确定算法可以是待匹配的核心数据的散列值与存储位置的映射关系。根据散列值和映射关系,即可得到该散列值在预设散列表中对应的位置信息。
可选的,上述步骤S102中的预设散列算法,还可以为常见的哈希算法。
相应的,散列值的计算方式,可以包括:将核心数据输入预设哈希函数,得到核心数据对应的哈希值。
上述步骤S103中的位置信息的确定方式,可以包括:使用得到的哈希值对预设哈希表长度求余,得到在预设哈希表中哈希值对应的存储位置。
在数组链表建立前,预设散列表的长度已按分配给该散列表的存储空间确定好。因此,对于预设散列算法为哈希算法的情况,可以使用哈希值对预设哈希表长度求余,以得到能够尽可能均匀分配哈希表存储空间的存储位置。
S104,根据该位置信息,查找已建立的数组链表中满足该位置信息的数据链表,数据链表中的数据节点包括核心数据及核心数据对应的数据属性。
已建立的数组链表为用于存储与待匹配的核心数据进行匹配的原始数据的链表,由多个数据链表构成,数据链表与位置信息之间存在对应关系。数组链表的结构,具体可以是如图2数组链表的结构示意图所示。其中数据链表为单链表,核心数据及核心数据对应的数据属性存储在数据链表的数据节点中。数据属性为核心数据对应的特征信息。例如核心数据为姓名时,数据属性可以为性别,也可以为年龄段,还可以为籍贯等信息。具体数据属性可以根据核心数据的特征和实际应用需求进行预设,任何可以用于表征数据特征的信息均可用于本发明,本实施例对此不作限制。
由于数据链表的数据节点包括核心数据,核心数据与位置信息之间存在对应关系,因此,数据链表与位置信息存在对应关系,满足该位置信息的数据链表,可以是利用位置信息与数据链表的对应关系确定的数据链表。
位置信息与数据链表的对应关系,可以是将位置信息作为数据链表的标识信息。此时,根据该位置信息,查找已建立的数组链表中满足位置信息的数据链表,可以是:根据该位置信息,核对数组链表中的数据链表,将以该位置信息作为标识信息的数据链表,确定为满足该位置信息的数据链表。例如:第一个待匹配的核心数据为某员工工号“1001”,将该核心数据的散列值对应的位置信息“1”作为核心数据“1001”的标识信息;第二个待匹配的核心数据为某员工工号“1002”,将该核心数据的散列值对应的位置信息“3”作为将核心数据“1002”的标识信息“3”。查找过程中,数组链表中满足位置信息“1”的数据链表的标识信息为“1”;数组链表中满足位置信息“3”的标识信息为“3”。可选的,根据位置信息查找已建立的数组链表中满足位置信息的数据链表,可以是:将已建立的数组链表中,下挂在该位置信息下的数据链表,确定为满足该位置信息的数据链表。
相应的,位置信息与数据链表的对应关系,还可以为数据链表的链表头,各数据链表的链表头用于表示该数据链表与位置信息之间的指向关系。此时,根据该位置信息,查找已建立的数组链表中满足位置信息的数据链表,可以是:根据该位置信息,直接定位到与该位置信息对应的链表头,将具有该链表头的数据链表,确定为满足该位置信息的数据链表。实现了确定出位置信息即可直接定位出数据链表的技术效果,而不必通过标识等信息进行核对,提高了查找效率。具体的,链表头的形式可以为数据结构中的指针。
S105,基于待匹配的核心数据,确定满足位置信息的数据链表中与待匹配的核心数据相匹配的数据节点中的数据属性。
可以通过遍历的方式,在满足位置信息的数据链表中确定出与待匹配的核心数据相匹配的数据节点。数据节点中包括的核心数据与待匹配的核心数据相同时,数据节点与待匹配的核心数据相匹配。从而,该相匹配的数据节点中包括的数据属性即为待匹配的核心数据的数据属性。例如:进行职工信息统计,要确定职工是常住人口或是暂居人口,则根据待匹配的职工姓名“王某”,确定出满足位置信息的数据链表中包括“王某”的数据节点中,数据属性为“常住人口”,也就确定了居民王某为常住人口。
本发明实施例提供的信息匹配方法,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。以数据链表形式存储核心数据及数据属性来避免冲突,同时根据核心数据的散列值对应的位置信息快速确定数组链表中满足所述位置信息的数据链表。实现了以散列进行数据快速存取的同时,避免冲突确保匹配结果准确的效果。
可选的,在图1所示实施例中的步骤S104之后,数据匹配方法还可以包括:
若无法从已建立的数组链表中查找到满足位置信息的数据链表,则在确定待匹配的核心数据为合法数据后,根据待匹配的核心数据对应的位置信息,在数组链表中增加数据链表,增加的数据链表中下挂待匹配的核心数据及待匹配的核心数据对应的预设数据属性。
由于进行数据匹配时数组链表已建立,且随着时间的推移,待匹配的数据可能会是建立数组链表之后出现的、未能及时更新到数组链表中的新数据,因此,会出现无法从已建立的数组链表中查找到满足位置信息的数据链表的情况。对于这种情况,可以在确定待匹配的核心数据为合法数据后,根据待匹配的核心数据对应的位置信息,在数组链表中为该待匹配的数据增加一个与该位置信息对应的数据链表,以存储该待匹配数据。例如:待匹配的核心数据“李某”的位置信息为“65”,无法从已建立的数组链表中查找到满足“65”的数据链表,且确定“李某”为合法数据。则在数组链表中增加一个与“65”对应的数据链表,下挂在该数据链表下的数据节点包含核心数据“李某”以及对应的预设数据属性“非常住人口”。预设数据属性可以是增加该核心数据时由人工输入的,也可以是从含有该核心数据的其他数据库中调取的。例如存储一个新车牌号码至限行数据库时,某街道的交通监控系统可以从街道所在区域的交通监控系统中调取该新车牌号码是否限行的数据属性。
确定待匹配的核心数据为合法数据的方式可以是根据预设识别规则识别待匹配的核心数据是否为合法数据,预设识别规则具体可以根据待匹配的核心数据的特点进行设置。如待匹配的核心数据为车牌号码时,预设识别规则可以是待匹配的核心数据的字符个数为5个,凡是大于5个或者小于5个的数据,都为非法数据。待匹配的核心数据为居民年龄时,预设识别规则可以是待匹配的核心数据的字符类型为整型,凡是非整型的数据,都为非法数据。
通过将未查找到对应数据链表的合法的待匹配的核心数据存储至数组链表中,实现了对数组链表的更新,使该合法新数据在存储后的数据匹配中可以实现匹配。
可选的,图1所示实施例中的步骤S105,可以包括:
从数据链表中选取数据节点散列值与待匹配的核心数据的散列值相同的数据节点,得到候选数据节点集合,数据节点散列值为数据节点中的核心数据的散列值;
基于待匹配的核心数据,确定候选数据节点集合中与待匹配的核心数据相匹配的数据节点中的数据属性。
数据节点中的核心数据与与待匹配的核心数据相同,则该数据节点为与待匹配的核心数据相匹配的数据节点。对于相同的核心数据,利用同一个预设的散列算法得到的散列值也是相同的。因此,可以选取数据链表中与待匹配的核心数据的散列值相同的数据节点进行匹配,以缩小匹配时的遍历范围,进一步提高匹配效率。
可选的,在图1实施例中的步骤S105之后,数据匹配方法还可以包括:
若数据链表中所有数据节点均与待匹配的核心数据不匹配,则返回预设的不匹配信息。
鉴于散列算法的特点,数组链表未能及时更新的新待匹配的核心数据,也可能得到与数组链表中已有核心数据相同的散列值,即新待匹配的核心数据能够查找到满足位置信息的数据链表。但由于核心数据为新数据,也就与满足位置信息的数据链表中的核心数据不相同,即与该数据链表中的数据节点不匹配。此时可以返回预设的不匹配信息。返回预设的不匹配信息可以是向用户返回“数据无法匹配”或同类的提示信息。还可以是返回根据该待匹配的核心数据的特征返回的非法数据提示信息,如待匹配的核心数据为车牌号码,则返回“号码错误”的提示信息。用户可以根据返回的信息确定无法完成数据匹配的原因,以方便纠错。
可选的,若数据链表中所有数据节点均与所述待匹配核心数据不匹配,本发明实施例提供的数据匹配方法还可以包括下述步骤:
在确定待匹配的核心数据为合法数据后,根据待匹配的核心数据对应的位置信息,在满足位置信息的数据链表中下挂待匹配的核心数据及待匹配的核心数据对应的预设数据属性。
对于数据链表中所有数据节点均与所述待匹配核心数据不匹配情况,由于可以查找到数据链表,因此在存储新待匹配的数据时,可以直接在满足所述位置信息的数据链表中下挂新待匹配的核心数据及该待匹配的核心数据对应的预设数据属性。
本发明实施例提供的信息匹配方法,还对于合法的新待匹配数据进行存储,实现了对数组链表的更新,使合法新待匹配的核心数据在存储后的数据匹配中可以实现匹配。
在图1所示实施例中,进行数据匹配时要从已建立的数组链表中确定待匹配核心数据的属性,可见在上述步骤S101之前,还需要建立数组链表。为此,本发明实施例还提供数组链表建立的方法。
如图3所示,本发明实施例提供的数据匹配方法中,数组链表建立方法的一种流程,可以包括:
S301,接收原始数据集合。
S302,对原始数据集合中的各数据元素进行解析,得到各数据元素中的核心数据。
在实际应用中,原始数据往往是大量数据的集合,并且原始数据集合中的各数据元素中包括核心数据以及该核心数据对应的数据属性。因此,需要对原始数据集合中的各数据元素进行解析,以得到各数据元素中的核心数据。
S303,利用预设散列算法,计算得到各核心数据的散列值。
S304,利用预设存储位置确定算法,确定在预设散列表中各散列值对应的位置信息。
为保证可以根据待匹配的核心数据以及该核心数据对应的位置信息查找到存储在数组链表中的数据,需要各数据元素中的核心数据的散列值与待匹配的核心数据的散列值相对应,即相同核心数据的散列值相同。同时,数据匹配时确定的位置信息即为数组链表建立时使用的位置信息。因此,数组链表建立过程中使用的预设散列算法、预设存储位置确定算法,分别与数据匹配过程中的预设散列算法、预设存储位置确定算法为相同的算法。例如:数组链表建立过程中使用的预设散列算法为MD5算法、预设存储位置确定算法为映射函数F,那么数据匹配过程中也要使用MD5算法、预设存储位置确定算法也为映射函数F。
可选的,上述步骤S303中,预设散列算法可以包括哈希算法。
相应的,散列值的计算方式,可以包括:将核心数据输入预设哈希函数,得到核心数据对应的哈希值。
上述步骤S304中,位置信息的确定方式,可以包括:使用得到的哈希值对预设哈希表长度求余,得到在预设哈希表中哈希值对应的存储位置。
在数组链表建立前,预设散列表的长度已按分配给该散列表的存储空间确定好。因此,对于预设散列算法为哈希算法的情况,可以使用哈希值对预设哈希表长度求余,以得到实现尽可能均匀分配哈希表存储空间的存储位置。
S305,根据各位置信息,构建数组链表,数组链表包括各位置信息对应的数据链表,下挂在各数据链表中的数据节点包括与该数据链表对应的核心数据及该核心数据对应的数据属性。
一个位置信息对应一个数据链表,多个数据链表构成一个数组链表。各核心数据与各位置信息一一对应,各位置信息与各数据链表一一对应,各核心数据也就与各数据链表存在对应关系。将各核心数据及该核心数据对应的数据属性存储至对应的数据链表中,也就是下挂在各数据链表中的数据节点包括与该数据链表对应的核心数据以及该核心数据对应的数据属性。
例如:接收原始数据集合为车辆限行数据:Y={车牌号码1限行,车牌号码2限行,车牌号码3非限行,……,车牌号码M非限行},解析得到各数据元素中的核心数据分别为“车牌号码1”、“车牌号码2”、“车牌号码3”、……、“车牌号码M”,其中限行与非限行为核心数据车牌号码对应的数据属性。利用预设散列算法,计算得到各核心数据的散列值分别为16、26、19、……、K,利用预设存储位置确定算法,确定在预设散列表中各散列值对应的位置信息分别为“1”,“1”,“4”、……、“D”。如下挂在位置信息“1”对应的数据链表1中的数据节点中,有两个数据节点分别包括与数据链表1对应的即与位置信息“1”对应的“车牌号码1、限行”、以及“车牌号码2、限行”。
本发明实施例提供的信息匹配方法,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。在数组链表的建立过程中,采用数据链表存储核心数据及该核心数据对应的数据属性,来避免使用散列表时产生的冲突。同时根据核心数据的散列值对应的位置信息构建数组链表,以根据该位置信息直接将核心数据及该核心数据对应的数据属性、存储在该位置信息对应的数据链表的数据节点中,实现了数据的快速存储。
可选的,如图4所示,本发明实施例提供的数据匹配方法中,数组链表建立方法的另一种流程,可以包括:
S401,接收原始数据集合。
S402,对原始数据集合中的各数据元素进行解析,得到各数据元素中的核心数据。
S403,利用预设散列算法,计算得到各核心数据的散列值。
S404,利用预设存储位置确定算法,确定在预设散列表中各散列值对应的位置信息。
上述S401至S404与本发明图3所示实施例中的S301至S304为相同或相似的步骤,在此不再赘述,详见上述图3所示实施例的描述。
S405,分别封装各数据元素,得到与各数据元素对应的数据结构体。
为了使数据链表适用于存储包含多种数据类型/或者复杂数据的数据元素,并且避免存储过程中各数据元素所含信息的遗漏,可以对各数据元素分别进行封装,得到各数据元素对应的数据结构体。
S406,将各数据结构体分别进行封装,得到各数据结构体对应的数据节点。
S407,针对各数据节点,判断已下挂的数据节点中是否存在与该数据节点冗余或者冲突的数据节点。
冗余节点为与数据链表中已下挂的数据节点相同的数据节点,冲突节点为与数据链表中已下挂的数据节点中的核心数据相同,且数据属性不同的数据节点。
S408,若不存在,则根据该数据节点中的核心数据,在该核心数据对应的数据链表中下挂该数据节点。
S409,若存在,则丢弃该数据节点。
考虑到实际应用中,接收的原始数据集合中存在异常数据,或者数据元素封装异常等情况会造成得到的数据节点出现冗余或冲突的问题。因此,构建数组链表的过程中,可以在将各数据节点下挂在数据节点时,判断该数据节点是否为冗余或者冲突的数据节点。
根据冗余或者冲突的数据节点的特征,对于冗余数据节点可以只保存一个以节省存储空间和匹配时间,对于冲突的数据节点可以只保存一个以避免匹配得到的数据属性互相矛盾。因此,对于这两类异常数据节点的处理方式可以是:将每次新下挂的数据节点和已经下挂在数据链表中的数据节点进行比较,判断已下挂的数据节点中是否存在与新下挂的数据节点冗余或者冲突的数据节点。如果存在,可以是删除与该新下挂的数据节点冗余或者冲突的已下挂的数据节点,并下挂该新下挂的数据节点。也可以是直接丢弃该新下挂的数据节点,以避免删除已有数据节点的步骤以及下挂新数据节点的步骤。
当然,不存在冗余和冲突时,就可根据该数据节点中的核心数据,在该核心数据对应的数据链表中下挂该数据节点。下挂数据节点的同时,可以递增数据链表的节点数,以用于后续根据节点数遍历数据链表。
例如:本次要下挂的数据节点为“车牌号码1、限行”,该数据节点对应的数据链表中已下挂的数据节点有“车牌号码2、限行”、“车牌号码1、限行”,则已下挂的数据节点中存在与本次下挂的数据节点冗余的情况,则不再下挂本次要下挂的数据节点“车牌号码1、限行”,并丢弃该数据节点。或者,本次要下挂的数据节点为“车牌号码2、不限行”,该数据节点对应的数据链表中已下挂的数据节点有“车牌号码2、限行”、“车牌号码1、限行”,则已下挂的数据节点中存在与本次下挂的数据节点冲突的情况,因此不再下挂本次要下挂的数据节点“车牌号码2、不限行”,并丢弃该数据节点。
本发明实施例提供的信息匹配方法,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。以数据链表形式存储核心数据及数据属性来避免冲突,同时根据核心数据的散列值对应的位置信息快速确定数组链表中满足所述位置信息的数据链表。实现了以散列进行数据快速存取的同时,避免冲突确保匹配结果准确的效果。此外,通过对数据节点的冗余或者冲突情况进行判断与处理,保证了存储的数据节点的准确性,同时减少了冗余数据造成的存储空间及匹配时间的占用。而直接丢弃与已下挂的数据节点冗余或者冲突的要下挂的数据节点的方式,与处理已下挂的数据节点的方式相比,避免了删除操作与下挂操作,简化了存储流程,进一步提高了数据存储即数组链表建立的效率。
可选的,图4所述实施例中,原始数据集合中的各数据元素中还可以包含与核心数据对应的扩展数据,扩展数据为用于根据预设组合需求与该核心数据组合、以得到包含多种数据的原始数据的数据。
数字技术的发展和海量数据的产生导致数据变得更加复杂。这种复杂情况可以是某一数据需要至少两个核心数据才能表征唯一。例如:海量人口数据中,为了区分重名人口,还需要使用除姓名以外的至少一个核心数据性别或者籍贯等,才能匹配到正确的人口信息。或者,这种复杂情况还可以是用户想要获取的数据属性与核心数据之间复杂的对应关系。例如:用户想要获取的数据属性是车辆是否属于限行车辆,而核心数据是车牌号码,这种情况下核心数据与数据属性的对应关系为限行规则。而限行规则是多变的、复杂的,如限行规则为X省X市车牌尾号1和2的车辆限行,则还需要使用除车牌号码以外的数据省份和区市,才能匹配到正确的限行信息。
为了使数据匹配方法能适用于上述情况造成的复杂数据,可以在各数据元素中增设与核心数据对应的扩展数据。扩展数据的具体设置可以根据预设的组合需求进行,预设的组合需求可以根据复杂数据的特征进行设置。例如上述两种情况的例子中,人口数据的扩展数据可以为性别或者籍贯,限行车辆数据的扩展数据可以为省份和区市。
相应的,冲突节点为与数据链表中已下挂的数据节点中的核心数据和扩展数据相同,且数据属性不同的数据节点。
获取待匹配的核心数据,可以包括:
获取待匹配数据,待匹配数据中包括待匹配的核心数据及待匹配的扩展数据;通过对待匹配的数据进行解析,确定待匹配数据中待匹配的核心数据。由于待匹配的数据中至少包含有核心数据及待匹配的扩展数据,因此需要对待匹配的数据进行解析,才能确定待匹配的核心数据。
此时,数组链表的结构,具体可以是如图5数组链表的结构示意图所示。
基于待匹配的核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性,可以包括:
封装待匹配数据,得到对应的待匹配数据结构体。基于待匹配数据结构体包含的待匹配的核心数据及待匹配的扩展数据,确定数据链表中与待匹配数据结构体相匹配的数据节点中的数据属性。例如:封装待匹配数据“X省X市车牌号码1”,得到对应的待匹配数据结构体。基于待匹配数据结构体包含的待匹配的核心数据“车牌号码1”及待匹配的扩展数据“X省X市”,确定数据链表中与待匹配数据结构体相匹配的数据节点“X省X市车牌号码1、限行”中的数据属性“限行”。
上述实施例提供的数据匹配方法,通过增设用于根据预设组合需求、与核心数据组合以得到多种数据的原始数据的扩展数据,以核心数据与扩展数据组合的方式,适用于对多样化和复杂化的数据,可应对多种类、复杂化的数据匹配需求。
相应于上面的方法实施例,本发明一实施例还提供了数据匹配装置。
如图6所示,本发明一实施例的数据匹配装置的结构,可以包括:
第一获取模块601,用于获取待匹配的核心数据。
第一计算模块602,用于利用预设散列算法,计算得到待匹配的核心数据的散列值。
第一确定模块603,用于利用预设存储位置确定算法,确定在预设散列表中该核心数据的散列值对应的位置信息。
可选的,上述预设散列算法,可以为常见的哈希算法。
相应的,上述第一计算模块602,具体可以用于:将核心数据输入预设哈希函数,得到核心数据对应的哈希值。
上述第一确定模块603,具体可以用于:使用得到的哈希值对预设哈希表长度求余,得到在预设哈希表中哈希值对应的存储位置。
查找模块604,用于根据该位置信息,查找已建立的数组链表中满足该位置信息的数据链表,数据链表中的数据节点包括核心数据及核心数据对应的数据属性。
可选的,查找模块604,具体可以用于:将已建立的数组链表中,下挂在该位置信息下的数据链表,确定为满足该位置信息的数据链表。
匹配模块605,用于基于待匹配的核心数据,确定满足位置信息的数据链表中与待匹配的核心数据相匹配的数据节点中的数据属性。
本发明实施例提供的信息匹配装置,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。以数据链表形式存储核心数据及数据属性来避免冲突,同时根据核心数据的散列值对应的位置信息快速确定数组链表中满足所述位置信息的数据链表。实现了以散列进行数据快速存取的同时,避免冲突确保匹配结果准确的效果。
可选的,图6所示实施例中的匹配模块605,还可以用于:
若无法从已建立的数组链表中查找到满足位置信息的数据链表,则在确定待匹配的核心数据为合法数据后,根据待匹配的核心数据对应的位置信息,在数组链表中增加数据链表,增加的数据链表中下挂待匹配的核心数据及待匹配的核心数据对应的预设数据属性。
可选的,图6所示实施例中的匹配模块605,还可以用于:
从数据链表中选取数据节点散列值与待匹配的核心数据的散列值相同的数据节点,得到候选数据节点集合,数据节点散列值为数据节点中的核心数据的散列值;
基于待匹配的核心数据,确定候选数据节点集合中与待匹配的核心数据相匹配的数据节点中的数据属性。
可选的,图6所示实施例中的匹配模块605,还可以用于:
若数据链表中所有数据节点均与待匹配的核心数据不匹配,则返回预设的不匹配信息。
可选的,图6所示实施例中的匹配模块605,还可以用于:
若数据链表中所有数据节点均与所述待匹配核心数据不匹配,在确定待匹配的核心数据为合法数据后,根据待匹配的核心数据对应的位置信息,在满足位置信息的数据链表中下挂待匹配的核心数据及待匹配的核心数据对应的预设数据属性。
本发明实施例提供的数据匹配装置,还对于合法的新待匹配数据进行存储,实现了对数组链表的更新,使合法新待匹配的核心数据在存储后的数据匹配中可以实现匹配。
可选的,如图7所示,本发明另一实施例的数据匹配装置的结构,可以包括:
接收模块701,用于接收原始数据集合。
第二获取模块702,用于对原始数据集合中的各数据元素进行解析,得到各数据元素中的核心数据。
第二计算模块703,用于利用预设散列算法,计算得到各核心数据的散列值。
第二确定模块704,用于利用预设存储位置确定算法,确定在预设散列表中各散列值对应的位置信息。
构建模块705,用于根据各位置信息,构建数组链表,数组链表包括各位置信息对应的数据链表,下挂在各数据链表中的数据节点包括与该数据链表对应的核心数据及该核心数据对应的数据属性。
第一获取模块706,用于获取待匹配的核心数据。
第一计算模块707,用于利用预设散列算法,计算得到待匹配的核心数据的散列值。
第一确定模块708,用于利用预设存储位置确定算法,确定在预设散列表中该核心数据的散列值对应的位置信息。
查找模块709,用于根据该位置信息,查找已建立的数组链表中满足该位置信息的数据链表,数据链表中的数据节点包括核心数据及核心数据对应的数据属性。
匹配模块710,用于基于待匹配的核心数据,确定满足位置信息的数据链表中与待匹配的核心数据相匹配的数据节点中的数据属性。
可选的,上述预设散列算法可以包括哈希算法。
相应的,第二计算模块703,具体可以用于:将核心数据输入预设哈希函数,得到核心数据对应的哈希值。
上述第二确定模块704,具体可以用于:使用得到的哈希值对预设哈希表长度求余,得到在预设哈希表中哈希值对应的存储位置。
本发明实施例提供的信息匹配装置,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。在数组链表的建立过程中,采用数据链表存储核心数据及该核心数据对应的数据属性,来避免使用散列表时产生的冲突。同时根据核心数据的散列值对应的位置信息构建数组链表,以根据该位置信息直接将核心数据及该核心数据对应的数据属性、存储在该位置信息对应的数据链表的数据节点中,实现了数据的快速存储。
可选的,上述构建模块705,具体可以用于:
分别封装各数据元素,得到与各数据元素对应的数据结构体。
将各数据结构体分别进行封装,得到各数据结构体对应的数据节点。
针对各数据节点,判断已下挂的数据节点中是否存在与该数据节点冗余或者冲突的数据节点;
若不存在,则根据该数据节点中的核心数据,在该核心数据对应的数据链表中下挂该数据节点;
若存在,则丢弃该数据节点。
本发明实施例提供的信息匹配装置,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。以数据链表形式存储核心数据及数据属性来避免冲突,同时根据核心数据的散列值对应的位置信息快速确定数组链表中满足所述位置信息的数据链表。实现了以散列进行数据快速存取的同时,避免冲突确保匹配结果准确的效果。此外,通过对数据节点的冗余或者冲突情况进行判断与处理,保证了存储的数据节点的准确性,同时减少了冗余数据造成的存储空间及匹配时间的占用。而直接丢弃与已下挂的数据节点冗余或者冲突的要下挂的数据节点的方式,与处理已下挂的数据节点的方式相比,避免了删除操作与下挂操作,简化了存储流程,进一步提高了数据存储即数组链表建立的效率。
可选的,上述原始数据集合中的各数据元素中,还可以包含与核心数据对应的扩展数据,扩展数据为用于根据预设组合需求与该核心数据组合、以得到包含多种数据的原始数据的数据。
相应的,上述冲突节点为与数据链表中已下挂的数据节点中的核心数据和扩展数据相同,且数据属性不同的数据节点。
第一获取模块702,具体可以用于:
获取待匹配数据,待匹配数据中包括待匹配的核心数据及待匹配的扩展数据;通过对待匹配的数据进行解析,确定待匹配数据中待匹配的核心数据。
匹配模块710,还可以用于:
封装待匹配数据,得到对应的待匹配数据结构体。基于待匹配数据结构体包含的待匹配的核心数据及待匹配的扩展数据,确定数据链表中与待匹配数据结构体相匹配的数据节点中的数据属性。
上述实施例提供的数据匹配装置,通过增设用于根据预设组合需求、与核心数据组合以得到多种数据的原始数据的扩展数据,以核心数据与扩展数据组合的方式,适用于对多样化和复杂化的数据,可应对多种类、复杂化的数据匹配需求。
本发明一实施例还提供了一种计算机设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器通803过通信总线804完成相互间的通信;
所述存储器803,用于存放计算机程序;
所述处理器801,用于执行所述存储器803上所存放的计算机程序时,实现上述数据匹配方法的所有步骤。
本发明实施例提供的计算机设备,通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。在数组链表的建立过程中,采用数据链表存储核心数据及该核心数据对应的数据属性,来避免使用散列表时产生的冲突。同时根据核心数据的散列值对应的位置信息构建数组链表,以根据该位置信息直接将核心数据及该核心数据对应的数据属性、存储在该位置信息对应的数据链表的数据节点中,实现了数据的快速存储。
上述计算机设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述计算机设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述数据匹配方法的所有步骤。
本发明实施例提供的计算机可读存储介质,存储的计算机程序被处理器执行时,可以实现通过获取待匹配的核心数据,利用预设散列算法,计算得到所述待匹配的核心数据的散列值,根据利用预设存储位置确定算法确定的、在预设散列表中所述散列值对应的位置信息,在已建立的数组链表中查找满足所述位置信息的、所含数据节点包括核心数据及所述核心数据对应的数据属性的数据链表,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。在数组链表的建立过程中,采用数据链表存储核心数据及该核心数据对应的数据属性,来避免使用散列表时产生的冲突。同时根据核心数据的散列值对应的位置信息构建数组链表,以根据该位置信息直接将核心数据及该核心数据对应的数据属性、存储在该位置信息对应的数据链表的数据节点中,实现了数据的快速存储。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和计算机设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种数据匹配方法,其特征在于,所述方法包括:
获取待匹配的核心数据;
利用预设散列算法,计算得到所述待匹配的核心数据的散列值;
利用预设存储位置确定算法,确定在预设散列表中所述散列值对应的位置信息;
根据所述位置信息,查找已建立的数组链表中满足所述位置信息的数据链表,所述数据链表中的数据节点包括核心数据及所述核心数据对应的数据属性;
基于所述待匹配的核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。
2.根据权利要求1所述的方法,其特征在于,在所述获取待匹配的核心数据之前,所述方法还包括:
接收原始数据集合;
对所述原始数据集合中的各数据元素进行解析,得到各数据元素中的核心数据;
利用预设散列算法,计算得到各核心数据的散列值;
利用预设存储位置确定算法,确定在预设散列表中各散列值对应的位置信息;
根据各位置信息,构建数组链表,所述数组链表包括各位置信息对应的数据链表,下挂在各数据链表中的数据节点包括与该数据链表对应的核心数据及该核心数据对应的数据属性。
3.根据权利要求1或2所述的方法,其特征在于,所述预设散列算法包括哈希算法;
所述散列值的计算方式,包括:
将核心数据输入预设哈希函数,得到所述核心数据对应的哈希值;
所述位置信息的确定方式,包括:
使用得到的所述哈希值对预设哈希表长度求余,得到在预设哈希表中所述哈希值对应的存储位置。
4.根据权利要求2所述的方法,其特征在于,所述根据各位置信息,构建数组链表,包括:
分别封装各数据元素,得到与各数据元素对应的数据结构体;
将各数据结构体分别进行封装,得到各数据结构体对应的数据节点;
针对各数据节点,判断已下挂的数据节点中是否存在与该数据节点冗余或者冲突的数据节点;
若不存在,则根据该数据节点中的核心数据,在该核心数据对应的数据链表中下挂该数据节点;
若存在,则丢弃该数据节点;
所述冗余节点为与数据链表中已下挂的数据节点相同的数据节点,所述冲突节点为与数据链表中已下挂的数据节点中的核心数据相同,且数据属性不同的数据节点。
5.根据权利要求4所述的方法,其特征在于,所述原始数据集合中的各数据元素中还包含与核心数据对应的扩展数据,所述扩展数据为用于根据预设组合需求与所述核心数据组合、以得到包含多种数据的原始数据的数据;
所述冲突节点为与数据链表中已下挂的数据节点中的核心数据和扩展数据相同,且数据属性不同的数据节点;
所述获取待匹配的核心数据,包括:
获取待匹配数据,所述待匹配数据中包括待匹配的核心数据及待匹配的扩展数据;
通过对所述待匹配的数据进行解析,确定所述待匹配的数据中待匹配的核心数据;
所述基于所述待匹配的核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性,包括:
封装所述待匹配数据,得到对应的待匹配数据结构体;
基于所述待匹配数据结构体包含的待匹配的核心数据及待匹配的扩展数据,确定所述数据链表中与所述待匹配数据结构体相匹配的数据节点中的数据属性。
6.根据权利要求1所述的方法,其特征在于,所述根据所述位置信息,查找已建立的数组链表中满足所述位置信息的数据链表,包括:
将已建立的数组链表中,下挂在所述位置信息下的数据链表,确定为满足所述位置信息的数据链表。
7.根据权利要求1所述的方法,其特征在于,所述基于所述待匹配核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性,包括:
从所述数据链表中选取数据节点散列值与所述待匹配的核心数据的散列值相同的数据节点,得到候选数据节点集合,所述数据节点散列值为所述数据节点中的核心数据的散列值;
基于所述待匹配的核心数据,确定所述候选数据节点集合中与所述待匹配的核心数据相匹配的数据节点中的数据属性。
8.根据权利要求1所述的方法,其特征在于,在所述根据所述位置信息,查找已建立的数组链表中满足所述位置信息的数据链表之后,所述方法还包括:
若无法从已建立的数组链表中查找到满足所述位置信息的数据链表,则在确定所述待匹配的核心数据为合法数据后,根据所述待匹配的核心数据对应的位置信息,在所述数组链表中增加数据链表,增加的数据链表中下挂所述待匹配的核心数据及所述待匹配的核心数据对应的预设数据属性。
9.根据权利要求1所述的方法,其特征在于,在所述基于所述待匹配核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性之后,所述方法还包括:
若所述数据链表中所有所述数据节点均与所述待匹配的核心数据不匹配,则返回预设的不匹配信息。
10.根据权利要求9所述的方法,其特征在于,若所述数据链表中所有所述数据节点均与所述待匹配核心数据不匹配,所述方法还包括:
在确定所述待匹配的核心数据为合法数据后,根据所述待匹配的核心数据对应的位置信息,在满足所述位置信息的数据链表中下挂所述待匹配的核心数据及所述待匹配的核心数据对应的预设数据属性。
11.一种数据匹配装置,其特征在于,所述装置包括:
第一获取模块,用于获取待匹配的核心数据;
第一计算模块,用于利用预设散列算法,计算得到所述待匹配的核心数据的散列值;
第一确定模块,用于利用预设存储位置确定算法,确定在预设散列表中所述散列值对应的位置信息;
查找模块,用于根据所述位置信息,查找已建立的数组链表中满足所述位置信息的数据链表,所述数据链表中的数据节点包括核心数据及所述核心数据对应的数据属性;
匹配模块,用于基于所述待匹配的核心数据,确定所述数据链表中与所述待匹配的核心数据相匹配的数据节点中的数据属性。
12.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现如权利要求1-10任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-10任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810359831.6A CN110399530A (zh) | 2018-04-20 | 2018-04-20 | 数据匹配方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810359831.6A CN110399530A (zh) | 2018-04-20 | 2018-04-20 | 数据匹配方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399530A true CN110399530A (zh) | 2019-11-01 |
Family
ID=68319473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810359831.6A Pending CN110399530A (zh) | 2018-04-20 | 2018-04-20 | 数据匹配方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399530A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535987A (zh) * | 2021-09-13 | 2021-10-22 | 杭州涂鸦信息技术有限公司 | 联动规则匹配方法以及相关装置 |
CN113641871A (zh) * | 2021-10-18 | 2021-11-12 | 北京医百科技有限公司 | 一种无锁散列方法、装置、设备及介质 |
CN116094844A (zh) * | 2023-04-10 | 2023-05-09 | 蓝象智联(杭州)科技有限公司 | 一种用于多方安全计算的地址核对方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540723A (zh) * | 2009-04-20 | 2009-09-23 | 杭州华三通信技术有限公司 | 一种流表查找方法和装置 |
CN101692651A (zh) * | 2009-09-27 | 2010-04-07 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
CN102117340A (zh) * | 2011-04-19 | 2011-07-06 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态数据存储方法 |
CN102147798A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 处理哈希查找冲突问题的方法和装置 |
CN103631928A (zh) * | 2013-12-05 | 2014-03-12 | 中国科学院信息工程研究所 | 一种基于局部敏感哈希的聚类索引方法及系统 |
CN104572983A (zh) * | 2014-12-31 | 2015-04-29 | 北京锐安科技有限公司 | 基于内存的散列表的构建方法、文本查找方法及相应装置 |
US9104676B2 (en) * | 2010-09-13 | 2015-08-11 | Tencent Technology (Shenzhen) Company Limited | Hash algorithm-based data storage method and system |
US20150370794A1 (en) * | 2014-06-24 | 2015-12-24 | Infinidat Ltd. | Hash based read and write operations in a storage system |
-
2018
- 2018-04-20 CN CN201810359831.6A patent/CN110399530A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540723A (zh) * | 2009-04-20 | 2009-09-23 | 杭州华三通信技术有限公司 | 一种流表查找方法和装置 |
CN101692651A (zh) * | 2009-09-27 | 2010-04-07 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
CN102147798A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 处理哈希查找冲突问题的方法和装置 |
US9104676B2 (en) * | 2010-09-13 | 2015-08-11 | Tencent Technology (Shenzhen) Company Limited | Hash algorithm-based data storage method and system |
CN102117340A (zh) * | 2011-04-19 | 2011-07-06 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态数据存储方法 |
CN103631928A (zh) * | 2013-12-05 | 2014-03-12 | 中国科学院信息工程研究所 | 一种基于局部敏感哈希的聚类索引方法及系统 |
US20150370794A1 (en) * | 2014-06-24 | 2015-12-24 | Infinidat Ltd. | Hash based read and write operations in a storage system |
CN104572983A (zh) * | 2014-12-31 | 2015-04-29 | 北京锐安科技有限公司 | 基于内存的散列表的构建方法、文本查找方法及相应装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535987A (zh) * | 2021-09-13 | 2021-10-22 | 杭州涂鸦信息技术有限公司 | 联动规则匹配方法以及相关装置 |
CN113535987B (zh) * | 2021-09-13 | 2022-01-21 | 杭州涂鸦信息技术有限公司 | 联动规则匹配方法以及相关装置 |
CN113641871A (zh) * | 2021-10-18 | 2021-11-12 | 北京医百科技有限公司 | 一种无锁散列方法、装置、设备及介质 |
CN116094844A (zh) * | 2023-04-10 | 2023-05-09 | 蓝象智联(杭州)科技有限公司 | 一种用于多方安全计算的地址核对方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
US9197597B2 (en) | RDF object type and reification in the database | |
TWI262406B (en) | System, method and program storage device for dynamic caching of data based on queries performed by a local application | |
CN106469158B (zh) | 数据同步方法和装置 | |
US5920857A (en) | Efficient optimistic concurrency control and lazy queries for B-trees and other database structures | |
CN108153757A (zh) | 一种哈希表管理的方法和装置 | |
CN110399530A (zh) | 数据匹配方法、装置及计算机设备 | |
JP2018502373A (ja) | ハードウェアベースの処理を使用する分散型ツリースキャンを行うためのシステム及び方法 | |
JP7105982B2 (ja) | 構造化レコード取得 | |
WO2015161663A1 (zh) | 公交信息展现方法、装置和设备 | |
WO2023024247A1 (zh) | 一种标签数据的范围查询方法、装置、设备及存储介质 | |
CN109165222A (zh) | 一种基于协处理器的HBase二级索引创建方法以及系统 | |
CN112434059A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN104091228A (zh) | 物联网资源管理、注册、查询和语义库管理系统 | |
CN105843933A (zh) | 分布式内存列式数据库的索引建立方法 | |
RU2632414C2 (ru) | Способ формирования иерархической структуры данных, способ поиска данных с помощью иерархической структуры данных, сервер и постоянный машиночитаемый носитель | |
CN108520019A (zh) | 数据管理方法、装置、设备及计算机可读存储介质 | |
CN110659283A (zh) | 数据标签处理方法、装置、计算机设备及存储介质 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN114741570A (zh) | 图数据库的查询方法、索引创建方法及相关设备 | |
CN110020243A (zh) | 物联网数据的查询方法、装置、物联网服务器和存储介质 | |
CN108241709A (zh) | 一种数据集成方法、装置和系统 | |
WO2017000592A1 (zh) | 数据处理方法、装置及系统 | |
CN102073644B (zh) | 一种查询数据库的方法、服务器及系统 | |
US11537568B1 (en) | Efficient data processing for schema changes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191101 |