CN114766021A - 管理工作表访问 - Google Patents
管理工作表访问 Download PDFInfo
- Publication number
- CN114766021A CN114766021A CN202080085225.5A CN202080085225A CN114766021A CN 114766021 A CN114766021 A CN 114766021A CN 202080085225 A CN202080085225 A CN 202080085225A CN 114766021 A CN114766021 A CN 114766021A
- Authority
- CN
- China
- Prior art keywords
- worksheet
- access
- user account
- data set
- authorized
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
管理工作表访问包括:从第一用户帐户接收访问从第二用户帐户共享的工作表的请求,其中所述工作表包括用于来自数据库的至少一个数据集的工作表架构;确定所述第一用户帐户被授权访问所述工作表的所述工作表架构;确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集;以及响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集,授予所述第一用户帐户对所述工作表的访问权。
Description
技术领域
本发明的领域是数据处理,或者更具体地说,是用于管理工作表访问的方法、装置和产品。
背景技术
现代企业可以在基于云的数据仓库内的远程数据库中存储大量数据。可以使用数据库查询语言,例如结构化查询语言(SQL)来访问该数据。但是,组织内的不同个人用户帐户可能对基于云的数据仓库中的数据源具有不同级别的访问权。
发明内容
用于管理工作表访问的方法、系统和装置。管理工作表访问包括:从第一用户帐户接收访问从第二用户帐户共享的工作表的请求,其中所述工作表包括用于来自数据库的至少一个数据集的工作表架构;确定所述第一用户帐户被授权访问所述工作表的所述工作表架构;确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集;以及响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集,授予所述第一用户帐户对所述工作表的访问权。
本发明的上述和其它目的、特征和优点将从下面对本发明的示例性的实施方案的更具体的描述中变得显而易见,如附图中所示,其中相同的附图标记通常表示本发明的示例性的实施方案的相同部分。
附图说明
图1示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置为管理工作表访问。
图2示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置为管理工作表访问。
图3示出了根据本发明的实施方案的示例性系统,该系统被配置为管理工作表访问。
图4示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法。
图5示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法。
图6示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法。
具体实施方式
参考附图,从图1开始,描述了根据本发明的用于管理工作表访问的示例性方法、装置和产品。图1示出了根据本发明的实施方案的自动计算机器的框图,该自动计算机器包括被配置为用于管理工作表访问的示例性访问模块计算系统(152)。图1的访问模块计算系统(152)包括至少一个计算机处理器(156)或“CPU”,以及通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和访问模块计算系统(152)的其它部件的随机存取存储器(168)(“RAM”)。
存储在RAM(168)中的是操作系统(154)。根据本发明的实施方案的被配置成用于管理工作表访问的计算机中有用的操作系统包括UNIXTM、LinuxTM、Microsoft WindowsTM、AIXTM、IBM的i OSTM以及本领域技术人员会想到的其它操作系统。图1的示例中的操作系统(154)在RAM(168)中示出,但是这种软件的许多组件通常也存储在非易失性存储器中,例如,存储在数据存储器(170)上,例如磁盘驱动器上。访问模块(126)也被存储在RAM中,根据本发明的实施方案,该访问模块(126)是用于管理工作表访问的模块。
图1的访问模块计算系统(152)包括通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和访问模块计算系统(152)的其它部件的盘驱动器适配器(172)。盘驱动器适配器(172)以数据存储器(170)的形式将非易失性数据存储器连接到访问模块计算系统(152)。根据本发明的实施方案,可用于配置成用于管理工作表访问的计算机中的盘驱动器适配器包括集成驱动器电子设备(“IDE”)适配器,小型计算机系统接口(‘SCSI’)适配器,以及本领域技术人员将想到的其它适配器。如本领域技术人员所想到的,非易失性计算机存储器也可以实现为光盘驱动器、电可擦除可编程只读存储器(所谓的“EEPROM”;或“闪存”存储器)、RAM驱动器等。
图1的示例性访问模块计算系统(152)包括一个或多个输入/输出(‘I/O’)适配器(178)。I/O适配器通过例如软件驱动器和计算机硬件实现面向用户的输入/输出,用于控制对诸如计算机显示屏之类的显示设备的输出,以及来自诸如键盘和鼠标之类的用户输入设备(181)的用户输入。图1的示例性访问模块计算系统(152)包括视频适配器(209),该视频适配器是专门设计用于图形输出到诸如显示屏或计算机监视器之类的显示设备(180)的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也是高速总线的前侧总线(162)连接到处理器(156)。
图1的示例性访问模块计算系统(152)包括用于与其它计算机进行数据通信以及用于与数据通信网络进行数据通信的通信适配器(167)。这样的数据通信可以通过RS-232连接,通过诸如通用串行总线(“USB”)之类的外部总线,通过诸如IP数据通信网络之类的数据通信网络,以及以本领域技术人员想到的其它方式串行地执行。通信适配器实现数据通信的硬件级别,一台计算机通过该硬件级别直接或通过数据通信网络发送数据通信至另一台计算机。根据本发明的实施方案的被配置成用于管理工作表访问的计算机中有用的通信适配器的示例包括:用于有线拨号通信的调制解调器、用于有线数据通信的以太网(IEEE802.3)适配器、以及用于无线数据通信的802.11适配器。
通信适配器(167)通信地耦合到广域网(190),广域网(190)还包括基于云的数据仓库(192)和客户端系统(194)。基于云的数据仓库(192)是托管用于通过广域网(190)访问的数据库的计算系统或计算系统组。客户端系统(194)是使用访问模块计算系统(152)上的访问模块(126)访问数据库的计算系统。
图2示出了根据本发明的实施方案的用于管理工作表访问的示例性系统。如图2所示,该示例性系统包括客户端计算系统(194)、访问模块计算系统(152)和基于云的数据仓库(192)。客户端计算系统(194)包括图形用户界面(GUI)。访问模块计算系统(152)包括访问模块(126)。基于云的数据仓库(192)包括数据库(204)。数据库(204)包括多个数据源(数据源A(206A)、数据源N(206N))。
GUI(202)是被配置为呈现包括工作表架构和来自数据源(数据源A(206A)、数据源N(206N))的数据集的工作表的视觉呈现。GUI(202)还(通过用户账户)从用户接收对来自数据库(206)的数据集的请求。GUI(202)可以部分地由访问模块(126)呈现并显示在客户端计算系统(194)上(例如,在系统显示器或移动触摸屏上)。GUI(202)可以是包括访问模块(126)并且托管在访问模块计算系统(152)上的因特网应用程序的一部分。
数据库(204)是数据源(数据源A(206A)、数据源N(206N))和数据管理系统的集合。数据源(数据源A(206A)、数据源N(206N))是数据库(204)上相关数据的集合。数据源的示例包括表、模式(schema)和文件夹(folder)。数据集是来自数据库(204)上的数据源(数据源A(206A)、数据源N(206N))的数据的集合。可以响应于数据库查询生成数据集并将其提供给访问模块(126)。数据集可以被组织成列和行。可以在请求数据集的数据库查询中指定构成数据集的特定列、行以及列和行的组织。
访问模块(126)是硬件、软件或硬件和软件的集合,其被配置为通过GUI(GUI)从客户端计算系统(194)接收请求。访问模块(126)还被配置为响应于对数据集和对这些数据集的操作的请求而生成数据库查询。访问模块(126)可以是生成数据库查询的数据库查询生成器的一部分。
访问模块(126)通过GUI(202)呈现使用工作表元数据中的信息的工作表。工作表元数据是描述工作表的数据。具体而言,工作表元数据可以包括数据集和工作表架构的描述。数据集的描述描述了哪些数据将通过数据库查询请求。数据集的描述可以包括要通过数据库查询从数据库(206)中检索来自数据源的数据的哪些列和行。工作表中呈现的数据集可以称为基础数据集(即,用于创建工作表的数据集)
工作表架构包括要应用于数据集的函数和数据集的呈现结构。要应用于数据集的函数可以包括在数据集中接收的列和行中的数据的操作。这样的操作可以包括将函数应用于数据集中的数据的计算列。数据集的呈现结构可以包括由用户做出的呈现选择。呈现结构可以包括列之间的层级关系、应用于数据的过滤器以及对数据进行排序的方式。数据集的呈现结构还可以包括数据集中的特定数据的GUI可见性。GUI可见性可以基于数据的过滤器设置或数据集中的列的可见性状态(例如,隐藏或未隐藏)而改变。数据集的呈现结构还可以包括工作表的格式,例如行和列的大小。
工作表元数据还可以包括对不同工作表的工作表元数据的引用或标识符。例如,引用工作表的工作表元数据可以包括对数据源工作表的引用,引用工作表从该数据源工作表链接。此外,引用工作表元数据可能缺少对数据库或数据(基于此构建数据源工作表)的引用。相反,引用工作表元数据可以仅包括对数据源工作表元数据的引用,并且该引用用于检索数据源工作表元数据。由于引用工作表元数据可能缺少对数据库或数据集的引用,因此引用工作表元数据和数据源工作表元数据都用于生成数据库查询。
访问模块(126)还使用用户帐户管理对工作表和底层数据集的访问授权。每个用户帐户可以访问基于云的数据仓库(192)上的零个或多个数据源(数据源A(206A)、数据源N(206N))。此外,对于用户帐户可访问的每个数据源,也可能存在针对该用户帐户和数据源的授权选项。授权选项是授予其他用户帐户对该数据源(或该数据源的一部分)的访问权的能力。这种授予的访问权可能会以多种方式受到限制。例如,使用授权选项授予的访问权可能限于特定工作表,该工作表呈现来自该数据源的与授权选项相关联的数据集。因此,用户帐户可能对每个数据源具有三种访问权类型(即,对数据源无访问权、数据源的直接访问权或对数据源的被授予的访问权)中的一种。
作为具体示例,假设管理者对数据库上的财务表具有直接访问权并且对于该相同财务表还具有授权选项。进一步假设管理者创建了预算工作表,该预算工作表呈现来自财务表中的数据集,并希望与组织中的会计师共享预算工作表。会计师对于财务表没有访问权。但是,管理者能够与会计师共享预算工作表,因为管理者具有对于数据源(即财务表)的授权选项。会计师对财务表的访问权可能仅限于预算工作表中可查看的财务表中的数据集。
图3示出了根据本发明的实施方案的用于管理工作表访问的示例性系统。如图3所示,示例性GUI(202)包括电子表格(spreadsheet)结构(302)、列表结构(304)和可暴露的参数(306)。电子表格结构(302)包括具有六列(列A(306A)、列B(306B)、列C(306C)、列D(306D)、列E(306E)、F列(306F))的工作表(显示为空行)。
电子表格结构(302)是呈现数据集的工作表的图形元素和组织机制。工作表是来自数据库(204)的数据集的呈现。电子表格结构(302)将工作表显示为按列(列A(306A)、列B(306B)、列C(306C)、列D(306D)、列E(306E)、F列(306F))组织的数据行。这些列描述了工作表的每一行中数据的不同类别。这些列也可以是包括使用工作表中的其他列的计算结果的计算列。
列表结构(304)是用于定义和组织数据集的列(列A(306A)、列B(306B)、列C(306C)、列D(306D)、列E(306E)、F列(306F))之间的层级关系的图形元素。术语“层级关系”是指列的下级和上级分组。例如,数据库可以包括地址簿的行,以及州、县、城市和街道的列。来自数据库的数据集可以首先按州分组,然后按县分组,然后按城市分组。因此,州列将在层级关系中处于最高级别,县列将在层级关系中处于第二级别,而城市列将在层级关系中处于最低级别。
列表结构(304)向用户呈现维度层级。具体地,列表结构(304)呈现跨至少一个维度分层级排列的级别。列表结构(304)内的每一级别是列(列A(306A)、列B(306B)、列C(306C)、列D(306D)、列E(306E)、列F(306F))之间的层级关系内的位置。列表结构(304)内的关键字标识作为层级关系中的参与者的一列或多列。每个级别可以有多个关键字。
列表结构(304)中的级别之一可以是基本级别。为基本级别选择的列以最精细的粒度提供数据。列表结构(304)中的级别之一可以是总级别或根级别。为总级别选择的列提供最高粒度级别的数据。例如,总级别可以包括字段,该字段计算整个数据集的单个列内的每一行的总和(即,未被任何其他列划分)。
GUI(202)可以使用户能够将列(列A(306A)、列B(306B)、列C(306C)、列D(306D)、列E(306E)、F列(306F))拖放到列表结构(304)中。列表结构(304)的顺序可以指定列相对于彼此的层级结构。用户可以随时拖放列表结构(304)中的列以重新定义列之间的层级关系。使用选择作为列表结构(304)中的关键字的列定义的层级关系可以在图表中使用,以便向下钻取(例如,在条上双击),使得新的图表能够基于层次结构中较低的级别来生成。
GUI(202)还可以包括用于用户从将在GUI(202)中呈现为工作表的数据库请求数据集的机制。这种机制可以是工作表交互性的一部分。具体而言,用户可以(例如,通过拖放列或行、重新排列列或行等)操纵工作表,并且作为响应,GUI(202)可以生成对数据集的请求(例如,以状态规范的形式)并且将该请求发送到数据分析器(126)。这种机制还可以包括对用户想要(例如,通过对话框中的行和列的选择)访问的数据库数据集的行和列的直接标识。
为了进一步解释,图4示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法,该方法包括从第一用户帐户接收(402)访问从第二用户帐户共享的工作表的请求(420)(其中工作表包括用于来自数据库的至少一个数据集的工作表架构)。从第一用户帐户接收(402)访问从第二用户帐户共享的工作表的请求(420)(其中工作表包括用于来自数据库的至少一个数据集的工作表架构)可以由访问模块(126)从作为工作表的所有者的第二用户帐户接收与第一用户帐户共享工作表的初始请求来执行。
工作表所有者是对于工作表具有高级别授权集合的用户帐户(与查看者相比)。工作表所有者可以与其他用户帐户共享工作表。工作表所有者还可以将工作表接收者指定为工作表的所有者或工作表的查看者。工作表查看者可以查看工作表(假设工作表查看者具有对基础数据集的访问权),但不能与其他用户帐户共享工作表。
图4的方法还包括确定(404)第一用户帐户被授权访问工作表的工作表架构。为了访问工作表,用户帐户必须具有对工作表架构和基础数据集两者的访问权。第二用户帐户(即工作表的所有者)可以通过与第一用户帐户共享工作表来授予第一用户帐户对工作表架构的访问权。具体而言,通过共享工作表,第二用户帐户隐式地授予第一用户帐户对至少工作表架构的访问权。
确定(404)第一用户帐户被授权访问工作表的工作表架构可以由访问模块(126)确定第二用户帐户是工作表的所有者来执行。作为工作表的所有者,第二用户帐户可以尝试与第一用户共享工作表,假设第一用户具有对基础数据集的访问权。访问模块(126)可以在第二用户帐户尝试与第一用户帐户共享工作表(与第一用户帐户尝试访问工作表时相反)时确定第二用户帐户是否拥有工作表的所有权。
图4的方法还包括确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集。确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集可以由访问模块(126)通过以下操作来执行:确定第一用户帐户是否具有对基础数据集的数据源的直接访问权来执行数据集,如果没有,则确定第二用户帐户是否被授权授予对基础数据集的访问权。
访问模块(126)可以确定第一用户帐户是否被授权访问工作表的每个基础数据集。每个工作表可以具有在工作表中呈现的一个或多个基础数据集。访问模块(126)可以通过确定第一用户帐户是否被授权访问每个数据集的每个数据源来确定第一用户帐户是否被授权访问每个数据集。例如,如果工作表包括来自第一数据源的第一数据集和来自第二数据源的第二数据集,则访问模块可以首先确定第一用户帐户是否被授权访问第一数据源,然后确定第一用户帐户是否被授权访问第二数据源。对工作表的访问可以仅限于被授权访问工作表中呈现的每个数据集的用户。
图4的方法还包括响应于确定第一用户帐户被授权访问工作表的工作表架构并且确定第一用户帐户被授权访问由工作表呈现的至少一个数据集而授予(408)第一用户帐户对工作表的访问权。响应于确定第一用户帐户被授权访问工作表的工作表架构并且确定第一用户帐户被授权访问由工作表呈现的至少一个数据集而授予(408)第一用户帐户对工作表的访问权可以由访问模块(126)通过以下操作来执行:向第一用户帐户的用户呈现来自该工作表内的该数据库的该至少一个数据集,该工作表包括用于来自该数据库的该至少一个数据集的该工作表架构。工作表可以呈现在客户端计算机系统上的GUI中,第一用户帐户通过该客户端计算机系统进行通信。
响应于确定第一用户帐户被授权访问工作表的工作表架构但第一用户帐户未被授权访问由工作表呈现的至少一个数据集,可以拒绝第一用户帐户访问工作表。作为响应,访问模块(126)可以向第一用户帐户呈现错误,或者,作为替代,向第一用户帐户呈现具有空单元格的工作表架构。
上述限制通过在授予对工作表的访问权之前验证用户帐户被授权访问工作表架构和基础数据集两者来改进计算机系统的操作。通过验证这两种授权,工作表和基础数据的安全性得到了提高。
为了进一步解释,图5示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法,该方法包括从第一用户帐户接收(402)访问从第二用户帐户共享的工作表的请求(420),其中工作表包括用于来自数据库的至少一个数据集的工作表架构;确定(404)第一用户帐户被授权访问工作表的工作表架构;确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集;并且响应于确定第一用户帐户被授权访问工作表的工作表架构并且确定第一用户帐户被授权访问由工作表呈现的至少一个数据集,授予(408)第一用户帐户对工作表的访问权。
然而,图5的方法与图4的方法的不同之处在于,确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集包括:确定(502)第一用户帐户被授权访问至少一个数据集的数据源。确定(502)第一用户帐户被授权访问至少一个数据集的数据源可以通过访问模块(126)检索每个数据集的每个数据源的授权用户帐户的列表来执行。访问模块(126)然后可以将第一用户帐户的标识符与列表中的授权用户帐户的标识符进行比较。该列表可以包括具有继承授权的每个用户帐户,例如被授权访问包含数据源的文件夹的用户帐户。
为了进一步解释,图6示出了流程图,其说明了根据本发明的实施方案的用于管理工作表访问的示例性方法,该方法包括从第一用户帐户接收(402)访问从第二用户帐户共享的工作表的请求(420),其中工作表包括用于来自数据库的至少一个数据集的工作表架构;确定(404)第一用户帐户被授权访问工作表的工作表架构;确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集;并且响应于确定第一用户帐户被授权访问工作表的工作表架构并且确定第一用户帐户被授权访问由工作表呈现的至少一个数据集,授予(408)第一用户帐户对工作表的访问权。
然而,图6的方法与图4的方法的不同之处在于,确定(406)第一用户帐户被授权访问由工作表呈现的至少一个数据集包括:确定(602)第一用户帐户未被授权访问至少一个数据集的数据源;以及确定(604)第二用户帐户被授权授予对至少一个数据集的访问权。
确定(602)第一用户帐户未被授权访问至少一个数据集的数据源可以由访问模块(126)检索每个数据集的每个数据源的授权用户帐户列表来执行。访问模块(126)然后可以将第一用户帐户的标识符与列表中的授权用户帐户的标识符进行比较,并确定第一用户帐户不在列表中。
确定(604)第二用户帐户被授权授予对至少一个数据集的访问权可以由访问模块(126)确定共享工作表的用户帐户是否具有授权选项来授予其他用户帐户对该数据源(或该数据源的一部分)的访问权来执行。如果第二用户帐户确实具有关于数据集的数据源的授权选项,则第一用户帐户被授予对工作表的访问权。如果第二用户帐户没有关于数据集的数据源的授权选项,则拒绝第一用户帐户对工作表的访问。
如果用户帐户通过授权选项被授予对工作表的基础数据集的访问权,则访问模块(126)可以限制该用户帐户仅对数据集有访问权而不授予对整个数据源的访问权。具体而言,访问模块(126)可以确定第一用户帐户未被授权访问不在工作表中呈现的数据集中的数据集的数据源的部分。
可以对工作表中呈现的每个数据集执行上述步骤。此外,对于不同的数据集和数据源,第一用户帐户可能具有不同类型的授权。例如,工作表可以呈现来自两个不同数据源的两个数据集。访问模块(126)可以首先确定第一用户帐户具有访问第一数据源的直接授权(即,不通过授权选项),因此被授权访问第一数据集。访问模块(126)然后可以确定第一用户帐户没有访问第二数据集的第二数据源的直接授权。访问模块(126)随后确定共享工作表的第二用户帐户是否具有授权选项。如果第二用户帐户具有关于第二数据源的授权选项,则基于第二用户帐户对第二数据源的授权访问和访问第一数据源的直接授权两者而授予第一用户帐户对工作表的访问权。
鉴于以上阐述的解释,读者将认识到根据本发明的实施方案管理工作表访问的有益效果包括:
·通过在授予对工作表的访问权之前验证用户帐户是否有权访问工作表架构和基础数据集两者来改进计算系统的操作,从而提高计算系统的安全性和数据完整性。
·通过将工作表与底层数据源分开保护来改进计算系统的操作,从而增加计算系统的功能。
本发明的示例性的实施方案主要在用于管理工作表访问的全功能计算机系统的上下文中描述。然而,本领域的技术人员将认识到,本发明也可以体现在设置在计算机可读存储介质上的计算机程序产品中,以与任何合适的数据处理系统一起使用。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁性介质、光学介质或其它合适的介质。这样的介质的示例包括硬盘驱动器中的磁盘或软盘,用于光驱的光盘,磁带,以及本领域技术人员所想到的其它介质。本领域技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行体现在计算机程序产品中的本发明的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性的实施方案是针对在计算机硬件上安装和执行的软件,然而,实现为固件或硬件的替代的实施方案也完全在本发明的范围之内。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可以是有形设备,其可以保留和存储由指令执行设备使用的指令。所述计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述设备的任何适当组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD),存储棒、软盘、例如在其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及上述的任何适当组合。如本文所使用的,计算机可读存储介质,不应被解释为本身是瞬时信号,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。
这里描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明操作的计算机可读程序指令可以是汇编器指令,指令集体系结构(ISA)指令,机器指令,机器相关指令,微码,固件指令,状态设置数据,或者用一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk,C++等)和常规过程编程语言(例如,“C”编程语言或类似编程语言)的任意组合来编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在用户的计算机上且部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以进行到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。在一些实施方案中,包括(例如)可编程逻辑电路,现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)在内的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,从而执行本发明的各个方面。
参考根据本发明的实施方案的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框,以及流程图图示和/或框图中的框的组合,可以通过计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其它可编程数据处理装置,以产生机器,使得经由计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以被存储在能够引导计算机、可编程数据处理设备和/或以特定方式工作的其它设备的计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括制造的产品,该制造的产品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
计算机可读程序指令也可以加载到计算机,其它可编程数据处理装置,或使一系列操作步骤在计算机上执行的其它设备,用于产生计算机实现的过程的其它可编程设备或其它装置上,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图的一或多个框中指定的功能/动作。
图中的流程图和框图示出了根据本发明的各种的实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代的实现方式中,框中指出的功能可以不按照图中指出的顺序发生。例如,实际上根据所涉及的功能,连续示出的两个框可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示的每个框,以及框图和/或流程图图示中的框的组合,可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
从前面的描述中应当理解,在不偏离本发明的真实精神的情况下,可以在本发明的各种实施方案中进行修改和改变。本说明书中的描述仅是为了说明的目的,而不应被解释为限制性的。本发明的范围仅由所附权利要求的语言限定。
Claims (20)
1.一种管理工作表访问的方法,所述方法包括:
从第一用户帐户接收访问从第二用户帐户共享的工作表的请求,其中所述工作表包括用于来自数据库的至少一个数据集的工作表架构;
确定所述第一用户帐户被授权访问所述工作表的所述工作表架构;
确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集;以及
响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集,授予所述第一用户帐户对所述工作表的访问权。
2.根据权利要求1所述的方法,其中,确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述至少一个数据集的数据源。
3.根据权利要求1所述的方法,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:
确定所述第一用户帐户未被授权访问所述至少一个数据集的数据源;以及
确定所述第二用户帐户被授权授予对所述至少一个数据集的访问权。
4.根据权利要求1所述的方法,其还包括响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户未被授权访问由所述工作表呈现的所述至少一个数据集而拒绝所述第一用户帐户对所述工作表的访问。
5.根据权利要求1所述的方法,其中所述至少一个数据集包括来自所述数据库上的第一数据源的第一数据集和来自所述数据库上的第二数据源的第二数据集,并且其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述数据库上的所述第一数据源和所述第二数据源。
6.根据权利要求1所述的方法,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户未被授权访问所述数据集的数据源的不在被呈现在所述工作表中的所述数据集中的部分。
7.根据权利要求1所述的方法,其中,授予所述第一用户帐户对所述工作表的访问权包括:向所述第一用户帐户的用户呈现来自所述工作表内的所述数据库的所述至少一个数据集,所述工作表包括用于来自所述数据库的所述至少一个数据集的所述工作表架构。
8.一种用于管理工作表访问的装置,该装置包括计算机处理器、能操作地耦合到所述计算机处理器的计算机存储器,所述计算机存储器在其内设置了计算机程序指令,所述计算机程序指令当由所述计算机处理器执行时,使所述装置执行以下步骤:
从第一用户帐户接收访问从第二用户帐户共享的工作表的请求,其中所述工作表包括用于来自数据库的至少一个数据集的工作表架构;
确定所述第一用户帐户被授权访问所述工作表的所述工作表架构;
确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集;以及
响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集,授予所述第一用户帐户对所述工作表的访问权。
9.根据权利要求8所述的装置,其中,确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述至少一个数据集的数据源。
10.根据权利要求8所述的装置,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:
确定所述第一用户帐户未被授权访问所述至少一个数据集的数据源;以及
确定所述第二用户帐户被授权授予对所述至少一个数据集的访问权。
11.根据权利要求8所述的装置,其中,所述计算机程序指令还使所述装置执行以下步骤:响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户未被授权访问由所述工作表呈现的所述至少一个数据集而拒绝所述第一用户帐户对所述工作表的访问。
12.根据权利要求8所述的装置,其中所述至少一个数据集包括来自所述数据库上的第一数据源的第一数据集和来自所述数据库上的第二数据源的第二数据集,并且其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述数据库上的所述第一数据源和所述第二数据源。
13.根据权利要求8所述的装置,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户未被授权访问所述数据集的数据源的不在被呈现在所述工作表中的所述数据集中的部分。
14.根据权利要求8所述的装置,其中,授予所述第一用户帐户对所述工作表的访问权包括:向所述第一用户帐户的用户呈现来自所述工作表内的所述数据库的所述至少一个数据集,所述工作表包括用于来自所述数据库的所述至少一个数据集的所述工作表架构。
15.一种用于管理工作表访问的计算机程序产品,所述计算机程序产品设置在计算机可读介质上,所述计算机程序产品包括计算机程序指令,所述计算机程序指令在执行时使计算机执行以下步骤:
从第一用户帐户接收访问从第二用户帐户共享的工作表的请求,其中所述工作表包括用于来自数据库的至少一个数据集的工作表架构;
确定所述第一用户帐户被授权访问所述工作表的所述工作表架构;
确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集;以及
响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集,授予所述第一用户帐户对所述工作表的访问权。
16.根据权利要求15所述的计算机程序产品,其中,确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述至少一个数据集的数据源。
17.根据权利要求15所述的计算机程序产品,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:
确定所述第一用户帐户未被授权访问所述至少一个数据集的数据源;以及
确定所述第二用户帐户被授权授予对所述至少一个数据集的访问权。
18.根据权利要求15所述的计算机程序产品,其中,所述计算机程序指令还使所述计算机执行以下步骤:响应于确定所述第一用户帐户被授权访问所述工作表的所述工作表架构并且确定所述第一用户帐户未被授权访问由所述工作表呈现的所述至少一个数据集而拒绝所述第一用户帐户对所述工作表的访问。
19.根据权利要求15所述的计算机程序产品,其中所述至少一个数据集包括来自所述数据库上的第一数据源的第一数据集和来自所述数据库上的第二数据源的第二数据集,并且其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户被授权访问所述数据库上的所述第一数据源和所述第二数据源。
20.根据权利要求15所述的计算机程序产品,其中确定所述第一用户帐户被授权访问由所述工作表呈现的所述至少一个数据集包括:确定所述第一用户帐户未被授权访问所述数据集的数据源的不在被呈现在所述工作表中的所述数据集中的部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962913273P | 2019-10-10 | 2019-10-10 | |
US62/913,273 | 2019-10-10 | ||
PCT/US2020/054897 WO2021072141A1 (en) | 2019-10-10 | 2020-10-09 | Managing worksheet access |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114766021A true CN114766021A (zh) | 2022-07-19 |
Family
ID=73020323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080085225.5A Pending CN114766021A (zh) | 2019-10-10 | 2020-10-09 | 管理工作表访问 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11689533B2 (zh) |
EP (1) | EP4035056A1 (zh) |
CN (1) | CN114766021A (zh) |
WO (1) | WO2021072141A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007033B1 (en) * | 2003-04-28 | 2006-02-28 | Microsoft Corporation | Management of markup language data mappings available to a spreadsheet application workbook |
US20060268758A1 (en) * | 2005-04-28 | 2006-11-30 | Shield Security Systems, L.L.C. | Interactive security control system with audit capabilities |
US7712023B1 (en) * | 2006-01-31 | 2010-05-04 | Intuit Inc. | Dynamically modifying descriptive text of a form worksheet field in response to a financial form selection |
US8307119B2 (en) | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
US9253176B2 (en) * | 2012-04-27 | 2016-02-02 | Intralinks, Inc. | Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment |
US20140304836A1 (en) | 2012-04-27 | 2014-10-09 | Intralinks, Inc. | Digital rights management through virtual container partitioning |
US20140245015A1 (en) * | 2012-04-27 | 2014-08-28 | Intralinks, Inc. | Offline file access |
US20140189483A1 (en) * | 2012-04-27 | 2014-07-03 | Intralinks, Inc. | Spreadsheet viewer facility |
US10009391B1 (en) * | 2012-05-31 | 2018-06-26 | Leading Market Technologies, Inc. | Apparatus and method for acquiring, managing, sharing, monitoring, analyzing and publishing web-based time series data |
GB2530685A (en) | 2014-04-23 | 2016-03-30 | Intralinks Inc | Systems and methods of secure data exchange |
US10140352B2 (en) | 2014-07-17 | 2018-11-27 | Oracle International Corporation | Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application |
US9798889B1 (en) | 2015-08-12 | 2017-10-24 | Workday, Inc. | Spreadsheet shared region and cell permissions |
-
2020
- 2020-07-20 US US16/933,072 patent/US11689533B2/en active Active
- 2020-10-09 CN CN202080085225.5A patent/CN114766021A/zh active Pending
- 2020-10-09 EP EP20797638.2A patent/EP4035056A1/en active Pending
- 2020-10-09 WO PCT/US2020/054897 patent/WO2021072141A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4035056A1 (en) | 2022-08-03 |
US11689533B2 (en) | 2023-06-27 |
US20210112066A1 (en) | 2021-04-15 |
WO2021072141A1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200301938A1 (en) | Cross-organization worksheet sharing | |
EP3959636A1 (en) | Using lightweight references to present a worksheet | |
US11818130B2 (en) | Supplanting access credentials for shared data visualizations | |
US11281672B2 (en) | Join key propagation | |
US11561967B2 (en) | Exposing parameters in referencing worksheets | |
US11689533B2 (en) | Managing worksheet access | |
US11580079B2 (en) | Providing access to usage reports on a cloud-based data warehouse | |
US11886456B2 (en) | Creating a model data set using a spreadsheet interface | |
US20230145697A1 (en) | Remote storage of sensitive data for editable tables | |
US20200302115A1 (en) | Linking and composing worksheets | |
US11695753B2 (en) | Accessing and organizing data sets directly from a data warehouse | |
US20230306038A1 (en) | Managing access to usage data on a cloud-based data warehouse | |
US20210248132A1 (en) | Tracking errors in data set lineage | |
WO2023086504A1 (en) | Live editing editable tables | |
CN116601623A (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 |