CN107515879B - 用于文档检索的方法和电子设备 - Google Patents

用于文档检索的方法和电子设备 Download PDF

Info

Publication number
CN107515879B
CN107515879B CN201610431737.8A CN201610431737A CN107515879B CN 107515879 B CN107515879 B CN 107515879B CN 201610431737 A CN201610431737 A CN 201610431737A CN 107515879 B CN107515879 B CN 107515879B
Authority
CN
China
Prior art keywords
acl
user
information
documents
machine
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
CN201610431737.8A
Other languages
English (en)
Other versions
CN107515879A (zh
Inventor
周旻弘
周伟
薛丁萌
陈木华
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201610431737.8A priority Critical patent/CN107515879B/zh
Priority to US15/623,542 priority patent/US10943023B2/en
Publication of CN107515879A publication Critical patent/CN107515879A/zh
Application granted granted Critical
Publication of CN107515879B publication Critical patent/CN107515879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本公开的实施例涉及一种用于文档检索的方法和设备。该方法包括响应于从用户接收到检索文档的请求,确定所述用户的信息。基于确定的信息,从ACL索引获取针对用户的ACL信息。ACL索引指示至少一个用户对文档的访问权限。基于针对用户的ACL信息,从响应于请求而检索到的文档中确定将被提供给用户的文档。通过根据本公开的实施例,可以提高检索效率。

Description

用于文档检索的方法和电子设备
技术领域
本公开的实施例涉及数据搜索领域,更具体而言涉及检索文档的方法和设备。
背景技术
企业内部电子文档系统包含许多文档,其中一些文档内容包含敏感信息并且仅供具有访问权限的用户访问。一般而言,通过提供安全过滤的方式赋予特定用户或用户群组相应的访问权限来访问特定的文档。常用的安全过滤模型是基于访问控制列表(AccessControl List,ACL)的安全过滤模型。
用户通常通过检索来获取其所需要的文档。基于ACL安全过滤的文档系统通过对检索结果应用安全性约束来将用户可访问的文档作为检索结果呈现给用户。然而,基于ACL安全过滤的文档系统仍然存在一些不足之处,例如检索效率缓慢,用户等待时间长等。
发明内容
总体而言,本公开的示例实施例提供一种用于文档检索的方法和使用该方法的设备。
根据第一方面,提供一种用于文档检索的方法,包括:响应于从用户接收到检索文档的请求,确定所述用户的信息;基于确定的所述信息,从ACL索引获取针对所述用户的ACL信息,所述ACL索引指示至少一个用户对文档的访问权限;以及基于所述用户的所述ACL信息,从响应于所述请求而检索到的文档中确定将被提供给所述用户的文档。
在一些实施例中,ACL信息指示用户可访问的文档,并且确定将被提供给所述用户的文档包括:将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及响应于检索到的所述文档中的第一文档的ACL被包含在所述ACL信息中,向所述用户提供所述第一文档。
在一些实施例中,所述ACL信息指示用户不可访问的文档,并且确定将被提供给所述用户的文档包括:将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及响应于检索到的所述文档中的第二文档的ACL未被包含在所述ACL信息中,向所述用户提供所述第二文档。
在一些实施例中,所述检索文档的请求在第一机器处接收,并且所述ACL索引在不同于所述第一机器的第二机器处维护。
在一些实施例中,获取针对所述用户的ACL信息包括:在所述第一机器处从所述第二机器接收所述ACL索引;在所述第一设备处查询所述ACL索引以获取针对所述用户的所述ACL信息。
在一些实施例中,该方法还包括:将接收自所述第二机器的所述ACL索引存储在所述第一机器的易失性存储器中。
在一些实施例中,获取针对所述用户的ACL信息包括:从所述第一机器向所述第二机器发送所述用户的所述信息,以便在所述第二机器处利用所述信息查询所述ACL索引;以及从所述第二机器接收通过查询所述ACL索引而获得的针对所述用户的所述ACL信息。
根据第二方面,提供一种电子设备,包括:处理单元,耦合至所述处理单元并且存储有指令的存储器,所述指令在被所述处理器执行时使得所述电子设备执行动作,所述动作包括:响应于从用户接收到检索文档的请求,确定所述用户的信息;基于确定的所述信息,从用户访问列表(ACL)索引获取针对所述用户的ACL信息,所述ACL索引指示至少一个用户对文档的访问权限;以及基于所述用户的所述ACL信息,从响应于所述请求而检索到的文档中确定将被提供给所述用户的文档。
根据第三方面,提供一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行上述方法中任一项所述的方法的步骤。
可以理解,本部分并不旨在标识本公开的实施例的关键或重要特征,亦非旨在用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
通过在所附附图中的本公开的一些实施例的更为详细的描述,本公开的以上和其它的优势、特征和目标将变得更为明显,其中:
图1是的实施例可实施于其中的电子设备的简化框图;
图2是根据本公开的实施例的用于文档检索的方法;
图3是根据本公开的实施例的ACL索引的示例;
图4是根据本公开的一个实施例的用于文档检索的方法的示意流程图;
图5是根据本公开的另一实施例的用于文档检索的方法的示意流程图;以及
图6是根据本公开的实施例的用于文档检索的设备的框图。
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
图1示出了本公开的实施例可实施于其中的电子设备的简化框图。如图所示,设备100包括中央处理单元(CPU)101。CPU 101可以根据存储在只读存储器(ROM)102中的计算机程序指令或者从存储单元108加载到随机访问存储器(RAM)103中的计算机程序指令,来执行各种适当的动作和处理。在RAM 103中,还可存储设备100操作所需的各种程序和数据。CPU 101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
设备100中的多个部件连接至I/O接口105,包括:输入单元106,例如键盘、鼠标等;输出单元107,例如各种类型的显示器、扬声器等;存储单元108,例如磁盘、光盘等;以及通信单元109,例如网卡、调制解调器、无线通信收发机等。通信单元109允许设备100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。存储单元108可以例如是上述的SSD、HDD、HHD或者目前已知或将来开发的任何其他类型的非易失性存储介质。
设备100例如可以是分布式系统的一个计算机节点。设备100可以加载文档管理系统或应用程序。用户可以使用设备100在企业文档管理系统或应用程序中检索文档。在一个示例中,用户通常例如使用输入单元106输入用于检索文档的关键词。CPU 101向本地或远程的数据库发出检索的指令。根据该指令,可以检索到一个或者多个文档。
每个文档附有ACL信息,例如ACL名或表示对应的ACL文件的其它信息。根据该ACL信息,寻找对应ACL文件。ACL文件记录了各种访问控制列表信息,例如针对所有用户或用户群组设定的访问权限。如果在ACL文件中记录用户可以访问对应的文档的信息,则将该文档作为检索结果呈现给用户。如果在ACL文件中并未记录用户可以访问对应的文档的信息或者记录用户不可以访问对应的文档的信息,则将该文档作为检索结果呈现给用户。
当文档管理系统中存在数百万或更多的文件,并且ACL文件中记录了成千上万条访问权限信息时,上述的检索方式通常是效率缓慢的。用户可能需要等待数秒甚至更长的时间来得到检索结果,从而导致用户体验不佳。
本公开的一些实施例针对这类缺陷提供一种用于文档检索的改进方法。通过建立单独的ACL索引并且通过比较ACL索引中针对用户的ACL信息以及文档所附的ACL信息,该方法可以提高检索效率并且减少用户检索文档的等待时间。
在本公开的实施例中,ACL索引记载了针对各个用户的ACL信息,并且可以以诸如HashSet(哈希集)或BitSet(比特集)之类的经优化的数据结构的形式创建。通过仅比较诸如ACL名称之类的ACL信息,而不是通过针对每个文档搜索对应的ACL文件并且对ACL文件中记载的每个信息进行比较,大大减少了用户在检索时的处理量,并且相应地缩短了等待检索结果的时间。
可以理解,例如企业文档管理系统等系统中的文档的访问权限经常可能进行变更。因此,ACL索引需要相应地进行频繁的“更新”。由于全文索引实际上并不支持对于具体内容的更新,因此本文中ACL索引的“更新”实际上是指重新创建ACL索引并且使用新创建的ACL索引替换之前的ACL索引。为了优化文档检索,本公开的实施例可以在分布式系统中进行实施。例如,在一个机器处进行文本检索,而在另一机器处进行ACL索引的“更新”。通过将ACL索引创建和文档检索在不同机器上分离地实现,也可以减小文档检索所在机器的计算资源的消耗,从而进一步减小用户在检索时的处理量,并且相应地缩短了等待检索结果的时间。
图2显示了根据本公开的一个实施例的存储管理方法200的流程图。在某些实施例中,方法200例如可以由图1中的CPU 101执行机器可执行指令来实施,这里指令例如存储在经由总线104而耦合至CPU 101的存储器102和/或103中。也就是说,在某些实施例中,方法200可以借助于软件的方式来实现。备选地或附加地,如下文将会结合图6描述的,方法200也可以至少部分地借助于硬件模块来实现,包括但不限于:集成电路(IC)芯片、专用集成电路(ASIC)芯片、片上系统(SoC),等等。
在步骤202中,响应于从用户接收到检索文档的请求,确定用户的信息。仍然考虑企业文档管理系统作为示例。对于包含敏感信息的企业文档管理系统而言,通常不同的用户具有不同的用户名和访问权限。为了便于描述,在下文中以企业文档管理系统进行描述,但是可以理解本公开的实施例不限于企业文档管理系统,也可以应用于其它文档系统。
在步骤202,可以获取能够唯一地标识用户的任何适当信息。例如,用户信息可以包括在系统中特定于各个用户的用户名。作为实例,假设用户使用“用户1”作为用户名来登录企业文档管理系统,则步骤202处获取的信息可以是用户名“用户1”。可以理解,为了安全起见,还可以具有与用户名对应的登录密码。因此,在步骤202处获取的用户信息还可以包括用户的登录密码或口令。在用户登录企业文档管理系统之后,用户可以使用诸如键盘或鼠标之类的输入单元106输入检索文档的请求。为了对检索得到文档进行访问权限过滤,企业文档管理系统可以基于登录名或登录密码之类的信息确定用户的信息。
在步骤204中,从ACL索引获取针对目标用户的ACL信息。根据本公开的实施例,ACL索引以用户为单位记录着文档的可访问情况。在某些实施例中,ACL索引可以在企业文档管理系统启动时被加载至设备100中的易失性存储器中,从而提高检索速度并且降低用户等待检索结果的时间。易失性存储器例如可以是存储器RAM 130或是高速缓存(Cache)之类的设备。这样,在步骤204,CPU 101可以通过直接访问存储器中的ACL索引来获取特定于目标用户的ACL信息。
图3是根据本公开的实施例的一个示例ACL索引300的示意图。如图所示,在此示例中,ACL索引300具有“用户信息”栏310和“访问权限”栏320。栏310中记录用户的信息,在此示例中是系统中全局唯一的用户名。注意,在步骤202处获取的用户信息应当与栏310中记录的用户信息一致。栏320中记录着用户的文档访问权限,在此示例中是一个或多个ACL文件名列表,每个ACL文件名列表中例如包含用户可访问和/或不可访问的文档的文件名信息。可以理解,也可以使用其它标识信息来标识用户可访问和/或不可访问的文档。
可以理解,企业文档管理系统通常具有多个用户。在某些实施例中,用户可以被分类。例如,某些用户具有较低的访问权限,而另一些用户具有较高的访问权限。可以理解,访问权限较低的用户仅可以访问较少的文档,而访问权限较高的用户除了部分文档之外可以绝大多数的文档。对于第一类的用户而言,其可以访问的文档数远远小于其不能访问的文档数。对于第二类的用户而言,其可以访问的文档数远远大于其不能访问的文档数。
在图3所示的实施例中,为了减小ACL索引的文件大小以及占用的易失性存储器的空间,ACL索引中可以针对不同类型的用户而存储不同的信息。例如,对于访问权限较低的用户(称为“第一类用户”)而言,ACL索引记载其可以访问的文档的ACL信息,例如ACL文件名。与之相对,对于访问权限较高的用户(称为“第二类用户”)而言,ACL索引可以记载其不可访问的文档的ACL信息,例如ACL文件名。
在图3所示的示例中,为了将第一类用户与第二类用户进行区分,第二类用户名之前添加有特定的标记,例如“!”。可以理解,标记“!”的使用仅是示例而绝非限制,可以使用任何其它适当的方式来区分ACL索引中的不同类型用户。例如,在一个实施例中,可以在ACL索引中设置专门的字段或者位,来指示用户所属的类型,等等。
具体而言,在此示例中,“用户1”、“用户2”和“用户3”是第一类用户。“用户1”可以访问与ACL2和ACL4对应的文档。“用户2”可以访问与ACL1对应的文档。“用户3”可以访问与ACL6、ACL8和ACL9对应的文档。与此相对,图3中所示的“用户N”例如是第二类用户。“用户N”(N为自然数)可以访问除了与ACL2和ACL4对应的文档之外的所有其它文档。
注意,图3所示的基于用户类型的ACL索引仅仅是示例性的。在一些实施例中,ACL索引可以不考虑用户类别而存储统一格式的信息。例如,针对所有用户均可存储可访问(或不可访问)的文档信息。又如,在另一些实施例中,可以将不同类型用户的ACL索引分开存储。也即,可以具有多张不同的ACL索引表。
另外,在图3所示的示例中,ACL索引针对每个用户存储有与之关联的ACL,这些ACL中记录着可访问或者不可访问的文档的信息,例如文档的文件名或标识符,等等。备选地,在另一些实施例中,可以直接存储用户可访问或者不可访问的文档的标识符。也即,在“权限列表”这一栏中,可以直接存储文档标识符。
仍然参考图2,在步骤204,通过利用在步骤202中确定的用户信息起来检索ACL索引300,可以确定与该用户对应的ACL信息,该ACL信息至少指明了该用户的访问权项。例如,假设在步骤202确定当前目标用户的用户名是“用户2”,则在步骤204获取的ACL信息可以包括“ACL1”。
在步骤206中,基于在步骤204中获取的用户的ACL信息,从响应于请求而检索到的文档中确定将被提供给用户的文档。在一个实施例中,可以将ACL索引中的针对用户的ACL信息与文档所附的ACL信息进行比较,并且基于比较结果确定用户是否对文档具有访问权限。企业文档管理系统继而可以将用户可访问的文档作为检索结果呈现给用户。
如上所述,例如当用户1检索时,响应于检索文档的请求,可以从图3的ACL索引中确定用户1仅可访问与ACL2和ACL4对应的文档。企业文档管理系统继而将ACL2和ACL4与检索得到的所有文档所附的ACL信息进行比较,并且将具有ACL2和ACL4中至少一项的文档提供给用户。
在另一示例中,例如当用户N检索时,响应于检索文档的请求,可以从图3的ACL索引中确定用户N可以访问除了与ACL2和ACL4对应的文档之外的所有其它文档。企业文档管理系统继而将ACL2和ACL4与检索得到的所有文档所附的ACL信息进行比较,并且将不具有ACL2和ACL4中至少一项的文档提供给用户。
上文已经参考图1-图3描述了根据本公开实施例的文档访问控制的若干示例。在某些实施例中,ACL索引可以被加载到设备100的存储器中,例如RAM 103和/或存储单元108中。由此,对ACL索引的操作可以在设备100本地完成。图4示出了一个这种实施例的方法400的流程图。
如图4所示,在步骤402中,例如在设备100中启动企业文档管理系统。在步骤404中,ACL索引被加载进入诸如存储器或高速缓存之类的易失性存储器中。ACL索引可以存储在设备100的存储单元108中。ACL索引也可以存储在分布式系统中的另一节点处。在此情形下,设备100可以从该另一节点接收ACL索引并且将其加载进入设备100的易失性存储器,诸如CPU 101或RAM 103。
在步骤406中,用户例如输入关键字以进行检索。企业文档管理系统基于该检索文档的请求,确定用户的信息,例如图3中的“用户1”。在步骤408中,基于所确定的用户信息,从被加载进设备100的易失性存储器的ACL索引获取针对用户的ACL信息,例如针对“用户1”的ACL2和ACL4。
在步骤410中,将针对用户的ACL信息与检索得到的文档的ACL信息进行比较。例如,检索到的文档1所附的ACL信息为“ACL1”,文档2所附的ALC信息为“ACL2”,以此类推,文档M所附的ACL信息为“ACLM”,其中M表示自然数。通过比较,可以确定用户1对文档2和文档4具有访问权限。在步骤412中,将文档2和文档4提供给用户。
图4所示的本地处理有利于对ACL索引的高效操作。不同于图4所示的本地处理模式,在某些备选实施例中,ACL索引的操作可以以分布式的方式完成。也就是说,在这样的实施例中,ACL索引可以被维护在设备100的远程。图5示出了根据这种实施例的一个方法500的流程图。
如图5所示,在步骤502中,用户例如输入关键字以进行检索。企业文档管理系统基于该检索文档的请求,确定用户的信息,例如图3中的“用户N”。在步骤504中,设备100(为了便于描述,在下文中称为“第一机器”)通过通信单元发送用户的信息至分布式系统中的加载了ACL索引的另一设备(为了便于描述,在下文中称为“第二机器”)。
第二机器基于所接收的用户信息从ACL索引确定针对该用户信息的ACL信息,例如针对“!用户N”的ACL2和ACL4。第二机器将该ACL信息发送给第一机器。在步骤506中,第一机器相应地接收与用户信息相关的ACL信息。在步骤508中,第一机器将ACL信息与检索到的文档的ACL信息进行比较。例如,检索到的文档1所附的ACL信息为“ACL1”,文档2所附的ALC信息为“ACL2”,以此类推,文档M所附的ACL信息为“ACLM”,其中M表示自然数。通过比较,可以确定用户N除了对文档2和文档4不具有访问权限之外,对于所有其他的文档都具有访问权限。在步骤510中,将除了文档2和文档4之外的所有其他文档都提供给用户。
与图4所示的实施例相比,在图5所示的这种分布式模式中,对ACL索引的管理和维护可以在远程执行。例如,第二设备可以是具有较高计算能力和/或存储能力的设备,例如服务器等。以此方式,能够有效地降低第一设备处的计算和/或存储负担。
图6示出了根据本公开的实施例的用于文档检索的设备的示意性框图。总体上,处理单元600可以包括被配置为实现图2、图4和图5中所示的功能和操作的模块。在此示例中,处理单元600包括:通信模块602、确定模块604和计算模块606。在此示例中,确定模块604被配置成响应于从用户接收到检索文档的请求确定所述用户的信息。通信模块602被配置成基于确定的所述信息,从用户访问列表(ACL)索引获取针对所述用户的ACL信息,所述ACL索引指示至少一个用户对文档的访问权限。确定模块604还被配置成基于所述用户的所述ACL信息,从响应于所述请求而检索到的文档中确定将被提供给所述用户的文档。
在某些实施例中,所述ACL信息指示用户可访问的文档。计算模块606被配置成将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较。通信模块602还被配置成响应于检索到的所述文档中的第一文档的ACL被包含在所述ACL信息中,向所述用户提供所述第一文档。
在某些实施例中,所述ACL信息指示用户不可访问的文档。计算模块606被配置成将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较。通信模块602还被配置成响应于检索到的所述文档中的第二文档的ACL未被包含在所述ACL信息中,向所述用户提供所述第二文档。
在某些实施例中,所述检索文档的请求在包含处理单元600的第一机器处接收,并且所述ACL索引在不同于所述第一机器的第二机器处维护。
在某些实施例中,通信模块602还被配置成在所述第一机器处从所述第二机器接收所述ACL索引。计算模块606还被配置成在所述第一设备处查询所述ACL索引以获取针对所述用户的所述ACL信息。
在某些实施例中,第一机器还可以包括易失性存储器,用于存储接收自所述第二机器的所述ACL索引。
在某些实施例中,通信模块602还被配置成从所述第一机器向所述第二机器发送所述用户的所述信息,以便在所述第二机器处利用所述信息查询所述ACL索引;以及从所述第二机器接收通过查询所述ACL索引而获得的针对所述用户的所述ACL信息。
在某些实施例中,处理单元600中的部分或全部模块可以通过软件实现。备选地,处理单元600的模块也可以通过其它方式实现,例如通过硬件实现,包括但不限于:集成电路(IC)芯片、专用集成电路(ASIC)芯片、片上系统(SoC)。
总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。
此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。
虽然本公开以具体结构特征和/或方法动作来描述,但是可以理解在所附权利要求书中限定的本公开并不必然限于上述具体特征或动作。上述具体特征和动作仅公开为实施权利要求的示例形式。

Claims (13)

1.一种用于文档检索的方法,包括:
响应于从用户接收到检索文档的请求,确定所述用户的信息;
标识所述用户是否是第一类用户或是第二类用户,所述第二类用户具有相比于所述第一类用户更高的访问权限;
基于确定的所述信息,从用户访问列表ACL索引获取针对所述用户的ACL信息,所述ACL索引指示至少一个用户对文档的访问权限,所述ACL索引被存储在易失性存储器中,并且包括通过仅记载所述第二类用户中的所述用户被拒绝访问的文档的集合并且提供标记而将所述第二类用户中的所述用户与可访问的文档相关联的条目,所述标记指示被拒绝的所述文档的集合,所述ACL索引还包括通过记载所述第一类用户中的所述用户被允许访问的文档的集合而将所述第一类用户中的所述用户与可访问的文档相关联的条目;以及
基于所述第一类用户或所述第二类用户中的所述用户的所述ACL信息,从响应于所述请求而检索到的文档中确定将被提供给所述用户的文档;
其中所述检索文档的请求在第一机器处被接收,并且所述ACL索引在不同于所述第一机器的第二机器处被维护;并且
其中获取针对所述用户的ACL信息包括:
在所述第一机器处从所述第二机器接收所述ACL索引;以及
在所述第一机器处查询所述ACL索引以获取针对所述用户的所述ACL信息。
2.根据权利要求1所述的方法,其中所述ACL信息指示用户可访问的文档,并且确定将被提供给所述用户的文档包括:
将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及
响应于检索到的所述文档中的第一文档的ACL被包含在所述ACL信息中,向所述用户提供所述第一文档。
3.根据权利要求1所述的方法,其中所述ACL信息指示用户不可访问的文档,并且确定将被提供给所述用户的文档包括:
将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及
响应于检索到的所述文档中的第二文档的ACL未被包含在所述ACL信息中,向所述用户提供所述第二文档。
4.根据权利要求1所述的方法,还包括:
将接收自所述第二机器的所述ACL索引存储在所述第一机器的易失性存储器中。
5.根据权利要求1所述的方法,其中获取针对所述用户的ACL信息包括:
从所述第一机器向所述第二机器发送所述用户的所述信息,以便在所述第二机器处利用所述信息查询所述ACL索引;以及
从所述第二机器接收通过查询所述ACL索引而获得的针对所述用户的所述ACL信息。
6.根据权利要求1所述的方法,其中所述ACL索引包括哈希集或比特集中的至少一个。
7.根据权利要求1所述的方法,进一步包括当更新ACL索引时如下将计算负载在所述第一机器和所述第二机器之间进行划分:(i)在所述第一机器处执行文本检索,以及(ii)在所述第二机器处重新创建所述ACL索引。
8.一种电子设备,包括:
处理单元,
耦合至所述处理单元并且存储有指令的存储器,所述指令在被所述处理单元执行时使得所述电子设备执行动作,所述动作包括:
响应于从用户接收到检索文档的请求,确定所述用户的信息;
标识所述用户是否是第一类用户或是第二类用户,所述第二类用户具有相比于所述第一类用户更高的访问权限;
基于确定的所述信息,从用户访问列表ACL索引获取针对所述用户的ACL信息,所述ACL索引指示至少一个用户对文档的访问权限,所述ACL索引被存储在易失性存储器中,并且包括通过仅记载所述第二类用户中的所述用户被拒绝访问的文档的集合并且提供标记而将所述第二类用户中的所述用户与可访问的文档相关联的条目,所述标记指示被拒绝的所述文档的集合,所述ACL索引还包括通过记载所述第一类用户中的所述用户被允许访问的文档的集合而将所述第一类用户中的所述用户与可访问的文档相关联的条目;以及
基于所述第一类用户或所述第二类用户中的所述用户的所述ACL信息,从响应于所述请求而检索到的文档中确定将被提供给所述用户的文档;
其中所述检索文档的请求在第一机器处被接收,并且所述ACL索引在不同于所述第一机器的第二机器处被维护;并且
其中获取针对所述用户的ACL信息包括:
在所述第一机器处从所述第二机器接收所述ACL索引;以及
在所述第一机器处查询所述ACL索引以获取针对所述用户的所述ACL信息。
9.根据权利要求8所述的设备,其中所述ACL信息指示用户可访问的文档,并且确定将被提供给所述用户的文档包括:
将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及
响应于检索到的所述文档中的第一文档的ACL被包含在所述ACL信息中,向所述用户提供所述第一文档。
10.根据权利要求8所述的设备,其中所述ACL信息指示用户不可访问的文档,并且确定将被提供给所述用户的文档包括:
将搜索到的所述文档的ACL与针对所述用户的所述ACL信息进行比较;以及
响应于检索到的所述文档中的第二文档的ACL未被包含在所述ACL信息中,向所述用户提供所述第二文档。
11.根据权利要求10所述的设备,所述动作还包括:
将接收自所述第二机器的所述ACL索引存储在所述第一机器的易失性存储器中。
12.根据权利要求10所述的设备,其中获取针对所述用户的ACL信息包括:
从所述第一机器向所述第二机器发送所述用户的所述信息,以便在所述第二机器处利用所述信息查询所述ACL索引;以及
从所述第二机器接收通过查询所述ACL索引而获得的针对所述用户的所述ACL信息。
13.一种计算机可读存储介质,存储有计算机程序产品,所述计算机程序产品包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至7中任一项所述的方法的步骤。
CN201610431737.8A 2016-06-16 2016-06-16 用于文档检索的方法和电子设备 Active CN107515879B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610431737.8A CN107515879B (zh) 2016-06-16 2016-06-16 用于文档检索的方法和电子设备
US15/623,542 US10943023B2 (en) 2016-06-16 2017-06-15 Method for filtering documents and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610431737.8A CN107515879B (zh) 2016-06-16 2016-06-16 用于文档检索的方法和电子设备

Publications (2)

Publication Number Publication Date
CN107515879A CN107515879A (zh) 2017-12-26
CN107515879B true CN107515879B (zh) 2021-03-19

Family

ID=60659642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610431737.8A Active CN107515879B (zh) 2016-06-16 2016-06-16 用于文档检索的方法和电子设备

Country Status (2)

Country Link
US (1) US10943023B2 (zh)
CN (1) CN107515879B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404715B2 (en) * 2016-06-23 2019-09-03 Microsoft Technology Licensing, Llc. Cross-site collection queries
US11544400B2 (en) * 2017-02-24 2023-01-03 Hyland Uk Operations Limited Permissions-constrained dynamic faceting of search results in a content management system
CN108629003B (zh) * 2018-05-03 2021-05-11 网易(杭州)网络有限公司 内容加载方法与装置
US10795816B2 (en) * 2018-07-30 2020-10-06 Slack Technologies, Inc. Method, apparatus and computer program product for implementing filter cache in a group-based communication platform
CN109284350B (zh) * 2018-11-16 2020-11-13 天津字节跳动科技有限公司 检索内容的更新方法、装置、存储介质及电子设备
CN110008740B (zh) * 2019-03-05 2022-09-13 天津字节跳动科技有限公司 一种文档访问权限的处理方法、装置、介质和电子设备
CN116701615B (zh) * 2023-08-08 2023-11-03 建信金融科技有限责任公司 业务文档在线管理方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674531A (zh) * 2004-03-23 2005-09-28 株式会社Ntt都科摩 访问控制系统及访问控制方法
CN1836195A (zh) * 2003-08-19 2006-09-20 国际商业机器公司 使用个人标识信息标签和目的服务功能集合的pii数据访问控制工具的实现和使用
CN1996955A (zh) * 2006-12-15 2007-07-11 华为技术有限公司 一种访问用户数据的方法及用户档案管理服务器
CN101847197A (zh) * 2009-03-24 2010-09-29 上海任登信息科技有限公司 一种文档访问权限的控制方法
CN104717290A (zh) * 2015-03-19 2015-06-17 杭州华三通信技术有限公司 San的访问控制方法和装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940841A (en) * 1997-07-11 1999-08-17 International Business Machines Corporation Parallel file system with extended file attributes
US20020073235A1 (en) * 2000-12-11 2002-06-13 Chen Steve X. System and method for content distillation
US7225207B1 (en) * 2001-10-10 2007-05-29 Google Inc. Server for geospatially organized flat file data
US7272550B2 (en) * 2002-04-23 2007-09-18 International Business Machines Corporation System and method for configurable binding of access control lists in a content management system
US7284265B2 (en) * 2002-04-23 2007-10-16 International Business Machines Corporation System and method for incremental refresh of a compiled access control table in a content management system
US7225263B1 (en) * 2002-12-04 2007-05-29 Cisco Technology, Inc. Method and apparatus for retrieving access control information
US20040128537A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Retrospective policy safety net
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US7591007B2 (en) * 2004-08-12 2009-09-15 International Business Machines Corporation Computer network and methods for granting and revoking access privileges for an information source
US7707642B1 (en) * 2004-08-31 2010-04-27 Adobe Systems Incorporated Document access auditing
US8464317B2 (en) * 2005-05-06 2013-06-11 International Business Machines Corporation Method and system for creating a protected object namespace from a WSDL resource description
US7627569B2 (en) * 2005-06-30 2009-12-01 Google Inc. Document access control
US20080162948A1 (en) * 2005-11-16 2008-07-03 Markany Inc. Digital Information Storage System, Digital Information Security System, Method for Storing Digital Information and Method for Service Digital Information
KR100816184B1 (ko) * 2006-08-10 2008-03-21 한국전자거래진흥원 전자문서의 불변경성과 사실증명을 수행하는전자문서보관소 시스템 및 그 시스템에서 수행되는전자문서 등록방법, 열람방법, 발급방법, 이관방법, 증명서발급방법
WO2009043029A2 (en) * 2007-09-28 2009-04-02 Xcerion Aktiebolag Network operating system
JP5549596B2 (ja) * 2008-11-14 2014-07-16 日本電気株式会社 情報処理システムと方法並びにプログラム
EP2234025A1 (en) * 2009-03-24 2010-09-29 Software AG XML database management system for an XML database comprising access-protected XML data
US9152736B2 (en) * 2011-03-11 2015-10-06 Google Inc. Efficient indexing and searching of access control listed documents
WO2013025553A2 (en) * 2011-08-12 2013-02-21 Splunk Inc. Data volume management
US9002890B2 (en) * 2012-03-14 2015-04-07 International Business Machines Corporation Rule-based access control list management
CN103365852A (zh) * 2012-03-28 2013-10-23 天津书生软件技术有限公司 一种文档库系统中的并发控制方法及系统
US9064106B2 (en) * 2012-04-25 2015-06-23 Hitachi, Ltd. Method and apparatus to keep consistency of ACLs among a meta data server and data servers
US8875302B2 (en) * 2012-05-15 2014-10-28 International Business Machines Corporation Classification of an electronic document
US8904551B2 (en) * 2012-11-07 2014-12-02 International Business Machines Corporation Control of access to files
US20140379915A1 (en) * 2013-06-19 2014-12-25 Cisco Technology, Inc. Cloud based dynamic access control list management architecture
WO2014209193A1 (en) * 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Access control in an information centric network
US9626527B2 (en) * 2013-11-04 2017-04-18 Gemalto Sa Server and method for secure and economical sharing of data
US9210183B2 (en) * 2013-12-19 2015-12-08 Microsoft Technology Licensing, Llc Detecting anomalous activity from accounts of an online service
US9454620B2 (en) * 2014-02-28 2016-09-27 Here Global B.V. Methods, apparatuses and computer program products for automated learning of data models
US20150278543A1 (en) * 2014-03-25 2015-10-01 Futurewei Technologies, Inc. System and Method for Optimizing Storage of File System Access Control Lists
US10331640B2 (en) * 2014-06-13 2019-06-25 International Business Machines Corporation Populating text indexes
US9516028B1 (en) * 2014-08-06 2016-12-06 Amazon Technologies, Inc. Hierarchical policy-based shared resource access control
US20180027006A1 (en) * 2015-02-24 2018-01-25 Cloudlock, Inc. System and method for securing an enterprise computing environment
US20160330286A1 (en) * 2015-05-08 2016-11-10 Citrix Systems, Inc. Systems and methods for using filters for groups of applications or users
US9633060B2 (en) * 2015-05-14 2017-04-25 Walleye Software, LLC Computer data distribution architecture with table data cache proxy
US9900317B2 (en) * 2016-02-25 2018-02-20 Red Hat, Inc. Access guards for multi-tenant logging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836195A (zh) * 2003-08-19 2006-09-20 国际商业机器公司 使用个人标识信息标签和目的服务功能集合的pii数据访问控制工具的实现和使用
CN1674531A (zh) * 2004-03-23 2005-09-28 株式会社Ntt都科摩 访问控制系统及访问控制方法
CN1996955A (zh) * 2006-12-15 2007-07-11 华为技术有限公司 一种访问用户数据的方法及用户档案管理服务器
CN101847197A (zh) * 2009-03-24 2010-09-29 上海任登信息科技有限公司 一种文档访问权限的控制方法
CN104717290A (zh) * 2015-03-19 2015-06-17 杭州华三通信技术有限公司 San的访问控制方法和装置

Also Published As

Publication number Publication date
US20170364696A1 (en) 2017-12-21
CN107515879A (zh) 2017-12-26
US10943023B2 (en) 2021-03-09

Similar Documents

Publication Publication Date Title
CN107515879B (zh) 用于文档检索的方法和电子设备
US8977623B2 (en) Method and system for search engine indexing and searching using the index
US8555018B1 (en) Techniques for storing data
US8185546B2 (en) Enhanced control to users to populate a cache in a database system
US7676831B2 (en) Role-based access control management for multiple heterogeneous application components
US11375015B2 (en) Dynamic routing of file system objects
US8364714B2 (en) Servicing query with access path security in relational database management system
US9734178B2 (en) Searching entity-key associations using in-memory objects
US11768883B2 (en) System and method for in-place record content management
US9355270B2 (en) Security configuration systems and methods for portal users in a multi-tenant database environment
CN107103011B (zh) 终端数据搜索的实现方法和装置
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
US11281704B2 (en) Merging search indexes of a search service
US8200673B2 (en) System and method for on-demand indexing
CN103646034A (zh) 一种基于内容可信的Web搜索引擎系统及搜索方法
CN109495432B (zh) 一种匿名账户的鉴权方法及服务器
US10360248B1 (en) Method and system for processing search queries using permission definition tokens
US8650153B2 (en) Storing records in databases in a randomized manner to effectively utilize database servers
CN115686376A (zh) 一种数据处理方法、装置、电子设备及存储介质
US10547677B1 (en) System for data storage for distributed access
CN117130991A (zh) 一种数据共享方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200413

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

GR01 Patent grant
GR01 Patent grant