CN112514349B - 利用对加密匹配索引进行的精确和模糊匹配来检测重复 - Google Patents

利用对加密匹配索引进行的精确和模糊匹配来检测重复 Download PDF

Info

Publication number
CN112514349B
CN112514349B CN201980051331.9A CN201980051331A CN112514349B CN 112514349 B CN112514349 B CN 112514349B CN 201980051331 A CN201980051331 A CN 201980051331A CN 112514349 B CN112514349 B CN 112514349B
Authority
CN
China
Prior art keywords
matching
index
encrypted
encryption
cloud computing
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.)
Active
Application number
CN201980051331.9A
Other languages
English (en)
Other versions
CN112514349A (zh
Inventor
A·赫尚斯
S·谢尔
C·克尔
P·V·瓦伊什纳芙
A·本-古尔
V·W·刘
D·麦加里
S·萨尼科穆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuo Power Co
Original Assignee
Salesforce com Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Salesforce com Inc filed Critical Salesforce com Inc
Publication of CN112514349A publication Critical patent/CN112514349A/zh
Application granted granted Critical
Publication of CN112514349B publication Critical patent/CN112514349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services

Abstract

本文公开了系统、方法和计算机程序产品实施方案,其用于在云计算平台中使用加密密钥利用对加密匹配索引的精确和模糊匹配而检测重复。实施方案通过在接收到新记录时确定匹配规则索引值而进行操作。实施方案使用客户的加密密钥和确定性加密方法对匹配索引规则值进行加密,并且存储加密的匹配规则索引值。稍后可以通过如下来执行重复检测:使用相同的确定性加密方法确定候选条目的密文,并且将该密文与存储的加密匹配索引进行比较。

Description

利用对加密匹配索引进行的精确和模糊匹配来检测重复
背景技术
一般而言,组织或个人可以利用云计算平台管理与客户的关系。这样的云计算平台可以被称为客户关系管理(CRM)解决方案。CRM解决方案可以包括各种特征,比如联系人管理、销售管理和生产力工具,以更好地跟踪和分析与客户和潜在客户的交互(interaction)。CRM解决方案可以积累大量数据以支持这些特征。
保持该数据干净、最新并且无重复优化和提高了CRM解决方案的性能和分析效用。然而,清洁数据可能存在挑战。例如,出于数据安全的目的,在客户需要使用他们控制的密钥(encryption key)加密数据的情况下,CRM解决方案可以利用客户的密钥加密特定的静止(at rest)数据字段或静止实体。这样的租户级(tenant-level)加密可能使CRM解决方案中的重复检测和消除进一步复杂化。
附图说明
附图被并入本文并且形成说明书的一部分。
图1是根据一些实施方案的云计算系统的框图。
图2反映了根据一些实施方案的在云计算平台中检测到的重复的屏幕截图。
图3反映了根据一些实施方案的云计算平台中的标准字段的加密配置屏幕的屏幕截图。
图4反映了根据一些实施方案的云计算平台中的自定义字段(custom field)的加密配置屏幕的屏幕截图。
图5反映了根据一些实施方案的云计算平台中的匹配规则的屏幕截图。
图6是示出根据一些实施方案的当在云计算平台中添加新记录时的重复检测方法的流程图。
图7是示出根据一些实施方案的创建和加密待被用于重复检测的匹配索引的方法的流程图。
图8是对实现各种实施方案有用的示例计算机系统。
在附图中,相同的附图标记通常表示相同或相似的元件。另外,通常,附图标记的最左边的数字(一个或多个)标识附图标记首次出现的附图。
具体实施方式
如下详细描述参考附图以说明与本公开一致的示例性实施方案。在详细描述中对“一个示例性实施方案”、“示例性实施方案”、“示例实施方案”等的引用指示描述的示例性实施方案可以包括特定的特征、结构或特性,但是每个示例性实施方案不必包括特定的特征、结构或特性。此外,这样的短语不需要指的是相同的示例性实施方案。此外,当本公开结合示例性实施方案描述特定特征、结构或特性时,相关领域的技术人员将知道如何结合其它示例性实施方案影响这些特征、结构或特性,无论是否明确描述。
本文描述的示例性实施方案提供了说明性示例而不是限制性的。其它示例性实施方案是可能的,并且可以在本公开的精神和范围内对示例性实施方案进行修改。因此,详细描述不限制本公开。相反,所附权利要求及其等同物限定了本公开的范围。
可以使用硬件(例如,电路)、固件、软件或其任意组合实现实施方案。实施方案还可以被实现为存储在机器可读介质上并且由一个或多个处理器读取和执行的指令。机器可读介质包括用于以机器(例如,计算装置)可读形式存储或传输信息的任何机制。例如,在一些实施方案中,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒体;光学存储媒体;闪存装置;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)等。此外,固件、软件、例程和/或指令可以在本文被描述为执行某些动作。然而,这些描述仅仅是为了方便,并且这些动作由计算装置、处理器、控制器或执行固件、软件、例程和/或指令的其它装置产生。此外,如下所述,可以由通用计算机执行任何实现变化。
对术语“模块”的任何引用应当理解为包括软件、固件和硬件(比如一个或多个电路、微芯片或装置,或其任意组合)中的至少一个或其任意组合。此外,相关领域的技术人员将理解,每个模块可以包括实际装置内的一个或多于一个部件,并且形成描述的模块的一部分的每个部件可以协作地或独立于形成模块的一部分的任何其他部件而工作。相反,在此描述的多个模块可以表示实际装置内的单个部件。此外,模块内的部件可以是单个装置或以有线或无线方式分布在多个装置之间。
示例性实施方案的以下详细描述将充分揭示本公开内容的一般性质,使得其他人可以通过应用相关领域的技术人员的知识,针对各种应用容易地修改和/或定制这样的示例性实施方案,而不需要过度的实验并且不脱离本公开的精神和范围。因此,基于在此给出的教导和指导,这些修改落入示例性实施方案的意义和多个等同物之内。在此,措辞或术语用于描述而非限制的目的,使得本说明书的术语或措辞应当由相关领域的技术人员根据本文的教导来解释。
本文提供了系统、设备、装置、方法和/或计算机程序产品实施方案,和/或其组合和子组合,用于实现在云计算平台中使用加密匹配索引(encrypted match index)的重复检测。
组织可以利用云计算平台作为CRM解决方案以管理与客户的关系。云计算平台可以允许组织跟踪和分析与客户的交互、增加销售、管理联系人以及更好地计划未来。云计算平台可以组织客户服务流和供应链管理,并且可以监测社交媒体流以确定潜在客户。通过经由这样的云计算平台跟踪与客户的交互,组织可以最终提高盈利能力、消除过程低效和/或以其他方式提高组织能力。
云计算平台可以存储与组织、销售、客户、供应商、竞争者、线索(lead)等相关的各种各样的和大量的数据字段。仅作为示例,云计算平台可以存储与联系信息、客户偏好、社交媒体数据、客户购买记录、服务记录、客户交互、营销活动、销售目标、组织目的、销售数据、盈利能力分析、商业线索/机会等有关的字段。字段可以是标准字段,例如联系人、帐户、线索和机会,或是由组织为适应其自己的组织要求的特殊目的而设计和使用的自定义字段。
由于该数据的潜在敏感特性,云计算平台可以支持数据加密。加密使用密钥(key)和初始化向量(initialization vector),同时将字段的原本可读的字母数字数据(即,明文)翻译为加密形式(即,密文),该加密形式对于不知道密钥和初始化向量的实体是不可读的。云计算平台然后存储密文的加密形式。当获取存储的数据时,云计算平台可以使用密钥和初始化向量来解密密文。
标准字段和自定义字段均可以被加密。组织可以在加密方法之间选择(例如,确定性(deterministic)和/或概率性(probabilistic))以加密数据字段。对于给定的明文和密钥,确定性加密方案总是产生相同的密文。概率性加密方案在加密过程中利用随机性,给定相同的明文和密钥产生不同的密文。
组织还具有在云计算平台中维持纯净数据(clean data)的兴趣。纯净数据提高了可用性,防止了错误,维持了系统完整性,并且增强了分析能力。维持纯净数据的一个方面是消除给定数据集中的重复。可以通过运行重复消除作业来全局地管理重复检测。重复检测也可以发生在逐表或逐例的基础上。当向云计算平台添加新记录时,可以自动发生重复检测。
云计算平台可利用匹配规则检测非法记录。匹配规则可以检查云计算平台中的特定字段或若干字段。匹配规则可以是标准的或定制的(即,用户定义的)。标准匹配规则可以检查给定数据实体的预定字段以确定是否存在重复。例如,针对云计算平台中联系人的标准化匹配规则可以检查名(FirstName)、姓(LastName)和地址(Address)。定制匹配规则以定制方式检查用户配置字段。例如,针对联系人的定制的、用户定义的匹配规则可以被配置为还考虑联系人的职位(Title)。在此定制规则中,仅在名、姓、地址和职位匹配时才确定重复。用户能够写入布尔逻辑以规定匹配规则或利用另一种编程方式规定匹配规则。
重复检测可以采用精确匹配方案或模糊匹配方案。在精确匹配方案中,仅字段中的精确匹配将返回肯定结果,即匹配。例如,如果重复检测检查了全名(FullName)字段,则“约翰·史密斯(John Smith)”和“约翰·史密斯”将匹配,但是“约翰·史密斯”和“乔恩·史密斯(Jon Smith)”将不匹配。模糊匹配提供了一种允许非精确匹配被肯定地识别为重复的方法。在上面的示例中,使用模糊匹配方案,“乔恩·史密斯”可以被肯定地识别为“约翰·史密斯”的重复。模糊匹配的示例方法包括:Jaro-Winkler、Kullback-Liebler距离、姓名变体(name variant)、键盘距离、Metaphone 3和音节对齐(syllable alignment)。
云计算平台还可提供针对以各种方式加密的字段(包括经由上面描述的加密方案加密的字段)的重复检测。在支持这些字段的重复检测中,云计算平台可利用辅助存储条目(例如,匹配索引)以促进重复检测。为了避免存储其他加密字段的明文,可能也需要对辅助字段进行加密。在一些实施方案中,对云计算平台中的字段启用加密可能干扰检查那些字段的重复检测系统。在一个非限制性示例中,云计算平台可以通过使用密钥和初始化向量以仅与原始种子文本(seed text)相关的方式来存储加密字段。在这样的示例中,传统的重复检测可能对加密字段不起作用,因为在由未加密密钥组成的匹配规则和加密字段之间的简单比较将不会导致对重复的肯定识别。在另一个实施方案中,由于概率性加密方案的变化的和不可预测的结果,利用概率性加密可能导致重复检测被禁用。因此,需要允许云计算平台利用加密匹配索引来检测加密字段中的重复。
图1是根据一些实施方案的系统100的框图。云计算系统100可以包括云计算平台102、用户系统104、网络106、主应用程序108、记录存储器110、加密引擎112和匹配引擎114。系统100可以经由网络106将云计算平台102连接至用户系统104。如本领域普通技术人员将了解的,云计算平台102可以被连接至多个用户系统104。
云计算平台102可以是服务器计算机、台式计算机、膝上型计算机、平板计算机、移动装置、可穿戴电子装置或其它电子装置。云计算平台102还可以是用于云计算的软件平台。例如,云计算平台102可以是软件即服务(SaaS)云平台,在该平台上,用户订阅经由因特网可访问的应用程序。云计算平台102可以提供CRM相关服务。这样的服务可以允许组织跟踪和分析与客户的交互。云计算平台102可以提供任何其他功能。
用户系统104可以是与云计算平台102交互的人。用户系统104可以是蜂窝电话、智能电话、平板计算机、膝上型计算机、台式计算机、网络浏览器或任何其他合适的计算装置。用户系统104可以被配置为连接至云计算平台102并且与其通信。用户系统104的用户可以是企业所有者、雇员、代理人或与关于企业、公司、非营利、政府机构或任何其它合适的组织的信息交互的其它合适的个人。相反,用户系统104的用户可以出于与任何商业或组织目标无关的个人追求或原因而使用云计算平台102。
网络106可以是任何网络或网络的组合,该网络包括因特网、局域网(LAN)、广域网(WAN)、无线网络、蜂窝网络或本领域普通技术人员将理解的各种其他类型的网络。
主应用程序108可以被包括在云计算平台102中,并且可以是任何合适类型的应用程序。例如,主应用程序108可以是当前在云计算平台102上运行的CRM应用程序。在一些实施方案中,主应用程序108可以是设计为在网络浏览器内运行的网络应用程序。在一些其它实施方案中,主应用程序108可以是设计为在服务器计算机、台式计算机或其它类型的电子装置上运行的软件应用程序。主应用程序108可以被设计和部署用于在移动平台上运行。主应用程序108可以在任何合适的操作系统环境中运行。如本领域普通技术人员将了解的,主应用程序108可以是另一种类型的软件应用程序。
记录存储器110可以是数据库或其它类型的数据存储。数据对象可以是数据项或数据集合。记录存储器110可以存储与组织、销售、客户、供应商、竞争者、线索等有关的字段。由记录存储器110存储的字段可以是标准字段或自定义字段。记录存储器110还可以存储在检测重复时待利用的匹配索引。记录存储器110可以支持对包含在记录存储器110中的数据字段的加密。
加密引擎112可以被云计算平台102用于以确定性、概率性或其它合适的加密方案来加密记录存储器110中的字段。加密引擎112可以由云计算平台102或主应用程序108使用。加密引擎112可以加密记录存储器110中的字段。加密引擎112可以利用合适的种子、密钥或初始化向量来加密记录存储器110中的字段。加密引擎112还可以对用于检测云计算平台102中的重复的匹配索引进行加密。当对记录存储器110中的记录进行加密时,加密引擎112可以针对匹配规则获取存储在记录存储器110中的唯一标识符,并且使用该唯一标识符作为密钥或初始化向量。加密引擎112可以随后解密任何存储的加密值以供使用。加密引擎112可以利用或遵守适当的加密标准或规范,比如2TDEA、3TDEA、AES-128、AES-192、AES-256等。
匹配引擎114可以确定存储在记录存储器110中的重复。匹配引擎114还可以在将数据插入记录存储器110前检查由主应用程序108接收的新数据,以确保不会因插入而引入重复。匹配引擎114可以由云计算平台102或主应用程序108使用。匹配引擎114可以通过将未加密字段与针对数据实体中的每个记录创建的匹配索引进行比较而确定当前在记录存储器110中是否存在针对未加密字段的重复。在一个实施方案中,匹配引擎114可以执行两阶段匹配,其中第一阶段执行精确匹配,而第二阶段执行适当的模糊匹配算法以确定重复。匹配引擎114可以进一步确定在记录存储器110中是否存在针对加密字段的重复,如下面参考图3和图4进一步详细描述的。
图2反映了云计算平台102中检测到的重复的屏幕截图。这仅仅是示例性实施方案。图2描绘了包括帐户202、新联系人按钮204、重复通知206和帐户详情208的示例性界面。图2显示帐户202,但这可以是云计算平台102内的另一个标准或自定义字段。新联系按钮204是示例性输入字段,其可以接收来自用户的输入,允许用户输入字段的更新信息,比如联系人、帐户等。当系统通过适当的方法检测到重复时,可以显示重复通知206,如下面在图6和图7的讨论中进一步详细描述的。在此屏幕截图中,仅举例来说,可以已经针对帐户名、电话和所有者创建了匹配规则。重复通知206在此显示可能是因为存储在记录存储器110中的另一个记录可能是,账户名为“全球媒体(Global Media)”、电话号码为“(905)555-1212”并且所有者为“伊夫·马丁(Yves Martin)”。账户详情208可以显示与被显示的标准或定制数据字段有关的各种字段。
图3反映了云计算平台102中的标准字段的加密配置屏幕的屏幕截图。这仅仅是示例性实施方案。图3描绘了包括帐户框302、复选框(一个或多个)304、字段标签(一个或多个)306、加密设置308和类型选择器310的示例性界面。图3示出了帐户框302,但这可以是云计算平台102内的另一个标准字段,例如,联系人、销售等。复选框(一个或多个)304提供了机制使得用户能够对与该示例性帐户相关的字段进行加密。对标准字段实现加密可以导致对存储在记录存储器112中的数据进行加密,如下面参考图6和图7描述的。字段标签(一个或多个)306是与该示例相关的字段的标签。加密设置308提供了用于调整类型选择器(一个或多个)310的框架。在此实施方案中,类型选择器(一个或多个)310指示概率性或确定性加密。本领域技术人员应当了解,帐户框302中的字段可以基于标准数据的类型变化。
图4反映了云计算平台102中的自定义字段的加密配置屏幕的屏幕截图。这仅仅是示例性实施方案。图4描绘了包括字段标签402、字段名称404、描述406、帮助文本408、加密启用器(encryption enabler)410和类型选择器412的示例性界面。字段标签402、字段名称404、描述406和帮助文本408可以规定关于云计算平台102中的自定义字段的细节详情。利用加密启用器410,用户可以对云计算平台102中的自定义字段启用加密。可以使用类型选择器412切换加密的类型,例如,确定性和概率性。对自定义字段启用加密可以导致对存储在记录存储器112中的数据进行加密,如下面参考图6和图7所描述的。
图5反映了云计算平台102中的匹配规则创建屏幕的屏幕截图。这仅仅是示例性实施方案。图5描绘了包括标准选择器502、标准规则选择器504、定制选择器506、定制规则选择器508、标准字符串510、添加按钮512和移除按钮514的示例性界面。如下面参考图7所讨论的,匹配规则可以是标准的或用户定义的。标准选择器502和标准规则选择器504可以描绘标准匹配规则配置。定制选择器506、定制规则选择器508和标准字符串510可以描绘定制匹配规则。添加规则按钮512和移除按钮512可以允许用户添加或移除匹配规则。下面参考图6更详细地描述在云计算平台中确定重复时使用匹配规则。
图6是示出根据一些实施方案的当在云计算平台中添加新记录时的重复检测方法600的流程图。方法600可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合。应当理解,并非需要所有步骤来执行本文提供的公开内容。此外,本领域普通技术人员可以理解,一些步骤可以同时执行,或以与图6所示不同的顺序执行。将参考图1描述方法600。然而,方法600不限于该示例实施方案。
在602中,主应用程序108可以从用户系统104接收新记录。新记录可以表示新的标准字段,例如联系人、账户、线索或机会。新记录还可以表示经由用户系统104的用户在主应用程序108内先前配置的新的自定义字段。可以使用适当的HTML表单数据、XML或任何其他合适的信息传输格式来接收新记录。在说明性示例中,主应用程序108可以接收包含名(“约翰”)、姓(“史密斯”)、邮寄地址(“枫树大道10号(10Maple Avenue)”)、职位(“开发者”)和联系号码(“555-5555”)的新联系人。本公开内容将在以下后续步骤的讨论中利用该示例。在一个实施方案中,还可以通过自动过程,例如数据的导入机制或其他自动传播来接收这样的联系人。
在604中,主应用程序108获取与在602中接收的新记录相关的存储的匹配规则。在上述示例中,主应用程序108可以从记录存储器110获取配置为检测联系人字段上的重复的任何匹配规则。在替代示例中,主应用程序108可以接收用于定制数据实体的匹配规则。本领域的技术人员将理解,取决于存储在记录存储器110中的配置,多于一个的匹配规则以可适用于给定的数据实体。因此,主应用程序108可以获取多于一个匹配规则,并且在此实施方案中,后续步骤可以重复。为继续以上联系人示例,主应用程序108可以获取关于名、姓、地址和标题的匹配规则。主应用程序可以获取匹配规则所适用的字段、针对这些字段执行的匹配类型(模糊型或精确型)以及其它适当的配置信息。匹配规则还可以包括存储在记录存储器110中以标识该特定匹配规则的唯一标识符。
在606中,主应用程序108计算新记录的匹配索引。匹配索引的性质可以基于正在被接收的数据的性质变化。如果多于一个匹配规则是合适的,则主应用程序108可以对应于在604中接收的每个匹配规则导出的不同匹配索引。匹配索引可以是接收的数据字段的组合。对于上述示例,针对名、姓、地址和标题的匹配索引可以被确定为“JSmithMapleDeveloper”。然而,此示例决不是限制性的,并且可以采用多种变化方法来确定匹配索引;这些方法可以基于讨论的数据实体的性质变化。
在608中,主应用程序108确定是否在包含匹配索引的任何字段上启用加密。在上述示例中,主应用程序108可以从记录存储器110确定名、姓、邮寄地址、职位和联系人号码中的任何一个是否被加密。在实施方案中,如果加密方案是概率性对确定性,则主应用程序108可以不同地表现。在一个实施方案中,如果加密方案是概率性的,则重复确定可能不起作用。如果对任何字段启用加密,则方法600移至612。如果没有对任何字段启用加密,则方法600移动到610。
在610中,主应用程序108将在606中确定的匹配索引与记录存储器110中的相关数据实体中的行(row)进行比较。因为在包含匹配索引的字段上未启用加密,所以记录存储器110可以以未加密的形式存储匹配索引。因此,对于上述示例,主应用程序108可以执行表扫描以确定“JSmithMapleDeveloper”是否存在于记录存储器110中的相关数据实体中。主应用程序108可以执行任何其它合适的搜索机制以确定匹配索引是否重复。
在612中,主应用程序108经由加密引擎112对在606中确定的匹配索引进行加密。主应用程序108可以将匹配规则的唯一标识符用作加密方案的密钥的初始化向量。因此,加密引擎112可以从“JSmithMapleDeveloper”明文中导出适当的密文。密文可以由字母数字字符组成并且可以是可配置的位长度。
在614中,主应用程序108将在612中确定的加密匹配索引与记录存储器110中的相关数据实体中的加密匹配索引列(column)进行比较。对于上述示例,主应用程序108可以执行表扫描以确定加密的密文是否存在于记录存储器110中的相关数据实体中。主应用程序108可以执行任何其它合适的搜索机制以确定加密匹配索引是否为重复的。
在616中,主应用程序108确定在步骤610或614中是否找到重复。如果找到重复记录,则方法600进行到618。如果没有找到重复记录,则方法600进行到620。
在618中,主应用程序108返回指示找到重复记录的错误消息。在一个实施方案中,如果合适,可以要求用户系统104确认该信息或更新该信息。
在620中,主应用程序108将新记录添加到记录存储器110。记录可以包括容纳该匹配索引的列。如果对于相关字段未启用加密,则匹配索引可以被存储在此列中。如果启用加密,那么加密匹配索引可以被存储在此列中。
图7是示出根据一些实施方案的创建和加密待用于重复检测的匹配规则的方法700的流程图。方法700可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合。应当理解,并非需要所有步骤来执行本文提供的公开内容。此外,本领域的普通技术人员可以理解,一些步骤可以同时执行,或者以与图7所示不同的顺序执行。将参考图1描述方法700。然而,方法700不限于该示例实施方案。
在702中,主应用程序108从用户系统704的用户接收匹配规则参数。参数可以规定匹配规则所适用的数据实体(即,表)、匹配规则所适用的数据实体中的字段、规定匹配规则应当如何表现的布尔或其他逻辑、空白或空值是否应当被视为匹配,以及其他合适的配置信息。可以使用适当的HTML表单数据、XML或任何其他合适的信息传输格式来接收匹配规则参数。在一个实施方案中,主应用程序可以接收更新现有规则的匹配规则参数。
在704中,主应用程序108可以在记录存储器110中创建匹配规则。主应用程序可以允许多于一个的匹配规则以检查相同的字段,然而,可以执行适当的冗余检查。可以将适当的行和列添加到特定表以跟踪匹配规则。当修改现有匹配规则时,主应用程序108可以执行对基础表的更新而非插入。
在706中,主应用程序108可以基于规定的数据实体中当前存在的条目来创建匹配索引列。例如,如果匹配规则检查名、姓和职位,则主应用程序108可以基于包含在表中的数据为数据实体中的每个记录,即表中的每行,创建适当的匹配索引(例如,“JSmithDeveloper”)。主应用程序108可以分批、迭代、递归或以任何其它合适的编程方式来逐行执行此操作。主应用程序108可以将每一行的匹配索引临时存储在存储器、文本、临时数据库表或任何其它合适的存储介质中。
在708中,主应用程序108确定是否在匹配规则检查的任何字段上启用加密。主应用程序108可以从记录存储器110获取关于启用加密的字段和数据实体的数据。主应用程序108还可以获取关于应用于数据实体的加密类型的信息。在实施方案中,主应用程序108可以基于加密类型而不同地表现。如果启用加密,则方法700进行到710。如果未启用加密,则方法700进行到714。
在710中,在不启用或不需要加密来存储匹配索引列的情况下,主应用程序108可以以未加密的形式将匹配索引列存储在记录存储器110中。
在712中,主应用程序108可以对在706中创建的匹配索引列的整体进行加密。主应用程序108可以利用匹配规则的唯一标识符作为加密方案的初始化向量。主应用程序108可以从存储器、文本、临时数据库表等获取在706中创建的匹配索引。主应用程序108可以一个接一个地、分批地或全部地加密匹配索引列中的条目。
在714中,主应用程序108将匹配索引列的加密形式存储在记录存储器110中。主应用程序108可通过批量插入、数据库更新、文本处理或其它合适的存储方法将加密匹配索引存储在列中。
例如,可以使用一个或多个计算机系统(例如图8所示的计算机系统800)来实现各种实施方案。计算机系统800例如可用于实现图6的方法600和图7的方法700。例如,计算机系统800可以使用预设的全局过滤器或更新来初始化分析系统。计算机系统800可以是能够执行这里描述的功能的任何计算机。
计算机系统800可以是能够执行这里描述的功能的任何公知的计算机。
计算机系统800包括一个或多个处理器(也称为中央处理单元或CPU),例如处理器804。处理器804连接到通信基础结构或总线806。
一个或多个处理器804各自可以是图形处理单元(GPU)。在一个实施方案中,GPU是被设计为处理数学密集型应用的专用电子电路的处理器。GPU可具有对于大数据块(例如计算机图形应用、图像、视频等所共有的数学密集数据)的并行处理有效的并行结构。
计算机系统800还包括通过用户输入/输出接口(一个或多个)802与通信基础结构806通信的用户输入/输出装置(一个或多个)803,比如监测器、键盘、指向装置等。
计算机系统800还包括主要存储器或主存储器808,例如随机存取存储器(RAM)。主存储器808可以包括一级或多级高速缓存。主存储器808已经在其中存储了控制逻辑(即,计算机软件)和/或数据。
计算机系统800还可包括一个或多个二级存储装置或存储器810。辅助存储器810可以包括例如硬盘驱动器812和/或可移动存储装置或驱动器814。可移动存储驱动器814可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储装置、磁带备份装置和/或任何其它存储装置/驱动器。
可移动存储驱动器814可以与可移动存储单元818交互。可移动存储单元818包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储装置。可移动存储单元818可以是软盘、磁带、压缩盘、DVD、光学存储盘和/或任何其它计算机数据存储装置。可移动存储驱动器814以众所周知的方式从可移动存储单元818读取和/或向可移动存储单元818写入。
根据示例性实施方案,辅助存储器810可以包括用于允许计算机系统800访问计算机程序和/或其它指令和/或数据的其它装置、手段或其它方法。这样的装置、手段或其它方法可以包括例如可移动存储单元822和接口820。可移动存储单元822和接口820的示例可以包括程序盒式和盒式接口(例如在视频游戏装置中找到的)、可移动存储芯片(例如EPROM或PROM)和相关联的插口、记忆棒和USB端口、存储卡和相关联的存储卡插槽,和/或任何其他可移动存储单元和相关联的接口。
计算机系统800还可包括通信或网络接口824。通信接口824使计算机系统800能够与远程装置、远程网络、远程实体等(单独地和共同地由附图标记828引用)的任何组合通信和交互。例如,通信接口824可以允许计算机系统800通过通信路径826与远程装置828通信,通信路径826可以是有线的和/或无线的,并且可以包括LAN、WAN、因特网等的任何组合。控制逻辑和/或数据可经由通信路径826传输到计算机系统800和从计算机系统800传输。
在一个实施方案中,包含其上存储有控制逻辑(软件)的有形、非瞬态计算机可用或可读介质的有形、非瞬态设备或制品在本文中也被称为计算机程序产品或程序存储装置。这包括但不限于计算机系统800、主存储器808、辅助存储器810,以及可移动存储单元818和822,以及体现前述的任何组合的有形制品。这种控制逻辑在由一个或多个数据处理装置(例如计算机系统800)执行时使得这种数据处理装置如本文所述地操作。
基于本公开中包括的教导,如何使用不同于图8中所示的数据处理装置、计算机系统和/或计算机架构来制造和使用本公开的实施方案对于相关领域的技术人员而言是显而易见的。特别地,实施方案可以用软件、硬件和/或本文描述的那些之外的操作系统实现来操作。
应当理解,详细描述部分而不是任何其它部分旨在用于解释权利要求。其他部分可以阐述发明人设想的一个或多个但不是所有的示例性实施方案,并且因此不旨在以任何方式限制本公开或所附权利要求。
本公开的广度和范围不应受任何上述示例性实施方案的限制,而应仅根据所附权利要求及其等同物来限定。

Claims (20)

1.一种利用对加密匹配索引进行的精确和模糊匹配来检测重复的方法,包括:
由一个或多个处理器接收添加至云计算平台的新记录;
由所述一个或多个处理器选择适用于所述新记录的匹配规则,所述匹配规则包括唯一标识符、匹配类型和一个或多个适用字段,其中当对所述新记录执行重复检测时,所述匹配规则定义重复记录;
由所述一个或多个处理器基于所述一个或多个适用字段计算加密匹配索引,其中所述唯一标识符被用作加密方案中的初始化向量,用于创建所述加密匹配索引;
由所述一个或多个处理器将所述加密匹配索引与加密匹配索引列进行比较,以确定所述加密匹配索引是否与所述加密匹配索引列中先前生成和存储的加密匹配索引重复;和
当所述加密匹配索引不与所述加密匹配索引列中所述先前生成和存储的加密匹配索引重复时,由所述一个或多个处理器将所述新纪录存储在所述云计算平台中并且将所述加密匹配索引添加至所述加密匹配索引列。
2.根据权利要求1所述的方法,进一步包括:
由所述一个或多个处理器接收匹配规则参数,所述匹配规则参数包括所述匹配类型和所述一个或多个适用字段;
由所述一个或多个处理器基于所述一个或多个适用字段创建所述唯一标识符;和
由所述一个或多个处理器存储定制匹配规则,所述定制匹配规则包括所述唯一标识符、所述匹配类型和所述一个或多个适用字段。
3.根据权利要求1所述的方法,进一步包括:
当所述加密匹配索引与所述加密匹配索引列中所述先前生成和存储的加密匹配索引重复时,由所述一个或多个处理器显示错误消息。
4.根据权利要求1所述的方法,进一步包括:
如果针对所述一个或多个适用字段中的任何一个未启用加密,则由所述一个或多个处理器以未加密的形式存储所述加密匹配索引。
5.根据权利要求1所述的方法,进一步包括:
由所述一个或多个处理器扫描所述加密匹配索引列以确定一个或多个重复;和
由所述一个或多个处理器在网络界面中显示所述一个或多个重复。
6.根据权利要求1所述的方法,其中所述匹配类型是精确型或模糊型。
7.根据权利要求1所述的方法,其中所述加密方案是确定性方案。
8.根据权利要求1所述的方法,其中所述云计算平台是客户关系管理平台。
9.一种利用对加密匹配索引进行的精确和模糊匹配来检测重复的系统,包括:
存储器;和
至少一个处理器,其耦合至所述存储器并且配置为:
接收添加至云计算平台的新记录;
选择适用于所述新记录的匹配规则,所述匹配规则包括唯一标识符、匹配类型和一个或多个适用字段,其中当对所述新记录执行重复检测时,所述匹配规则定义重复记录;
基于所述一个或多个适用字段计算加密匹配索引,其中所述唯一标识符被用作加密方案中的初始化向量,用于创建所述加密匹配索引;
将所述加密匹配索引与加密匹配索引列进行比较,以确定所述加密匹配索引是否与所述加密匹配索引列中先前生成和存储的加密匹配索引重复;和
当所述加密匹配索引不与所述加密匹配索引列中所述先前生成和存储的加密匹配索引重复时,将所述新纪录存储在所述云计算平台中并且将所述加密匹配索引添加至所述加密匹配索引列。
10.根据权利要求9所述的系统,所述至少一个处理器进一步配置为:
接收匹配规则参数,所述匹配规则参数包括所述匹配类型和所述一个或多个适用字段;
基于所述一个或多个适用字段创建所述唯一标识符;和
存储定制匹配规则,所述定制匹配规则包括所述唯一标识符、所述匹配类型和所述一个或多个适用字段。
11.根据权利要求9所述的系统,所述至少一个处理器进一步配置为:
当所述加密匹配索引与所述加密匹配索引列中所述先前生成和存储的加密匹配索引重复时,显示错误消息。
12.根据权利要求9所述的系统,所述至少一个处理器进一步配置为:
扫描所述加密匹配索引列以确定一个或多个重复;和
在网络界面中显示所述一个或多个重复。
13.根据权利要求9所述的系统,所述至少一个处理器进一步配置为:
如果针对所述一个或多个适用字段中的任何一个未启用加密,则以未加密的形式存储所述加密匹配索引。
14.根据权利要求9所述的系统,其中所述匹配类型是精确型或模糊型。
15.根据权利要求9所述的系统,其中所述匹配规则进一步包括空白字段是否应当被视为匹配的指示。
16.根据权利要求9所述的系统,其中如果所述匹配类型是模糊型,则所述至少一个处理器能够使用Jaro-Winkler、Kullback-Liebler距离、姓名变体、键盘距离、Metaphone 3或音节对齐中的一个来确定匹配。
17.根据权利要求9所述的系统,其中所述加密方案是确定性方案。
18.根据权利要求9所述的系统,其中所述一个或多个适用字段是所述云计算平台中的标准字段或自定义字段。
19.根据权利要求9所述的系统,其中所述云计算平台是客户关系管理平台。
20.一种非暂时性计算机可读装置,其具有在其上存储的指令,当由至少一个计算装置执行所述指令时,所述指令引起所述至少一个计算装置执行包括如下的操作:
接收添加至云计算平台的新记录;
选择适用于所述新记录的匹配规则,所述匹配规则包括唯一标识符、匹配类型和一个或多个适用字段,其中当对所述新记录执行重复检测时,所述匹配规则定义重复记录;
基于所述一个或多个适用字段计算加密匹配索引,其中所述唯一标识符被用作加密方案中的初始化向量,用于创建所述加密匹配索引;
将所述加密匹配索引与加密匹配索引列进行比较,以确定所述加密匹配索引是否与所述加密匹配索引列中先前生成和存储的加密匹配索引重复;和
当所述加密匹配索引不与所述加密匹配索引列中所述先前生成和存储的加密匹配索引重复时,将所述新纪录存储在所述云计算平台中并且将所述加密匹配索引添加至所述加密匹配索引列。
CN201980051331.9A 2018-05-31 2019-05-30 利用对加密匹配索引进行的精确和模糊匹配来检测重复 Active CN112514349B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862678812P 2018-05-31 2018-05-31
US62/678,812 2018-05-31
US16/026,819 2018-07-03
US16/026,819 US10942906B2 (en) 2018-05-31 2018-07-03 Detect duplicates with exact and fuzzy matching on encrypted match indexes
PCT/US2019/034585 WO2019232167A1 (en) 2018-05-31 2019-05-30 Detect duplicates with exact and fuzzy matching on encrypted match indexes

Publications (2)

Publication Number Publication Date
CN112514349A CN112514349A (zh) 2021-03-16
CN112514349B true CN112514349B (zh) 2023-02-03

Family

ID=68694792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051331.9A Active CN112514349B (zh) 2018-05-31 2019-05-30 利用对加密匹配索引进行的精确和模糊匹配来检测重复

Country Status (5)

Country Link
US (2) US10942906B2 (zh)
EP (1) EP3804269B1 (zh)
JP (1) JP7399889B2 (zh)
CN (1) CN112514349B (zh)
WO (1) WO2019232167A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671604B2 (en) 2018-01-30 2020-06-02 Salesforce.Com, Inc. Using row value constructor (RVC) based queries to group records of a database for multi-thread execution
JP6841805B2 (ja) * 2018-10-03 2021-03-10 ファナック株式会社 ロボット教示装置、ロボット教示方法、及び動作命令を記憶する方法
US11068448B2 (en) 2019-01-07 2021-07-20 Salesforce.Com, Inc. Archiving objects in a database environment
US20220207007A1 (en) * 2020-12-30 2022-06-30 Vision Insight Ai Llp Artificially intelligent master data management
CN113609147A (zh) * 2021-08-11 2021-11-05 北京自如信息科技有限公司 数据共享方法、装置及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052693A (en) * 1996-07-02 2000-04-18 Harlequin Group Plc System for assembling large databases through information extracted from text sources
US5819291A (en) * 1996-08-23 1998-10-06 General Electric Company Matching new customer records to existing customer records in a large business database using hash key
US7657569B1 (en) * 2006-11-28 2010-02-02 Lower My Bills, Inc. System and method of removing duplicate leads
US8078651B2 (en) * 2008-01-24 2011-12-13 Oracle International Corporation Match rules to identify duplicate records in inbound data
KR101583748B1 (ko) 2011-12-08 2016-01-19 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 사용자 간의 중복제거를 허용하기 위한 저장소 할인
US8943059B2 (en) * 2011-12-21 2015-01-27 Sap Se Systems and methods for merging source records in accordance with survivorship rules
CN110086830B (zh) * 2012-08-15 2022-03-04 维萨国际服务协会 可搜索的经加密的数据
US9495552B2 (en) 2012-12-31 2016-11-15 Microsoft Technology Licensing, Llc Integrated data deduplication and encryption
JP6171649B2 (ja) 2013-07-16 2017-08-02 日本電気株式会社 暗号化装置、復号装置、暗号化方法および暗号化プログラム
EP3238368B1 (en) 2014-12-23 2020-09-02 Nokia Technologies Oy Method and apparatus for duplicated data management in cloud computing
US10114955B2 (en) 2015-02-11 2018-10-30 Visa International Service Association Increasing search ability of private, encrypted data
JP2016202341A (ja) 2015-04-16 2016-12-08 キヤノンマーケティングジャパン株式会社 医用画像処理装置、医用画像処理装置の制御方法、およびプログラム
US9894042B2 (en) * 2015-07-24 2018-02-13 Skyhigh Networks, Inc. Searchable encryption enabling encrypted search based on document type
US10430423B1 (en) * 2015-07-31 2019-10-01 Priceline.Com Llc Attribute translation and matching from a plurality of data records to create consolidated data records
US20170177899A1 (en) 2015-12-17 2017-06-22 Agency For Science, Technology And Research Encrypted data deduplication in cloud storage
US10222987B2 (en) * 2016-02-11 2019-03-05 Dell Products L.P. Data deduplication with augmented cuckoo filters
US10558669B2 (en) 2016-07-22 2020-02-11 National Student Clearinghouse Record matching system
US10223433B2 (en) * 2017-01-25 2019-03-05 International Business Machines Corporation Data mapper

Also Published As

Publication number Publication date
JP2021525915A (ja) 2021-09-27
US11748320B2 (en) 2023-09-05
US20190370363A1 (en) 2019-12-05
US10942906B2 (en) 2021-03-09
WO2019232167A1 (en) 2019-12-05
US20210182255A1 (en) 2021-06-17
EP3804269B1 (en) 2024-01-24
EP3804269A1 (en) 2021-04-14
JP7399889B2 (ja) 2023-12-18
CN112514349A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112514349B (zh) 利用对加密匹配索引进行的精确和模糊匹配来检测重复
US20210234687A1 (en) Multi-model training based on feature extraction
CN102460404B (zh) 生成混淆数据
CN107005599B (zh) 改善位置传感器查准率的系统和方法
US20180285596A1 (en) System and method for managing sensitive data
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
US20230205755A1 (en) Methods and systems for improved search for data loss prevention
JP6781373B2 (ja) 検索プログラム、検索方法、および検索装置
US8560698B2 (en) Allocating unique identifiers using metadata
US10191952B1 (en) Systems and methods for expedited large file processing
US20230315846A1 (en) System and method for detecting leaked documents on a computer network
US9286349B2 (en) Dynamic search system
Singh Impact of technology in library services
CN111221690A (zh) 针对集成电路设计的模型确定方法、装置及终端
CN110674383A (zh) 舆情查询方法、装置及设备
CN113641769B (zh) 一种数据处理方法及装置
WO2017053155A1 (en) Intelligent tabular big data presentation in search environment based on prior human input configuration
KR102072950B1 (ko) 외부 시스템으로부터 제공되는 정보를 이용하여 개인화 마케팅 컨텐츠를 제공하는 방법
US20230100289A1 (en) Searchable data processing operation documentation associated with data processing of raw data
CN112529101B (zh) 分类模型的训练方法、装置、电子设备及存储介质
US20200272601A1 (en) Information processing apparatus and non-transitory computer readable medium
CN117493335A (zh) 报表处理方法、装置、设备、存储介质和计算机程序产品
CN117910055A (zh) 芯片数据的加密传输方法、装置、芯片和存储介质
Oliveira et al. Clustering and categorization applied to cryptanalysis
CN115687535A (zh) 关系型数据库的管理方法及装置

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Shuo Power Co.

Address before: California, USA

Patentee before: SALESFORCE.COM, Inc.

CP01 Change in the name or title of a patent holder