一种用于资源保障投入的数据访问控制方法、装置和电子设备

文档序号:1831342 发布日期:2021-11-12 浏览:9次 >En<

阅读说明:本技术 一种用于资源保障投入的数据访问控制方法、装置和电子设备 (Data access control method and device for resource guarantee investment and electronic equipment ) 是由 徐国兴 周玖安 于 2021-08-19 设计创作,主要内容包括:本发明提供了一种数据访问控制方法、装置和计算机设备,该方法包括:接收客户端的输入操作和/或拖拽操作,提取节点数据;基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库;在接收到用户的数据访问请求时,进行访问权限认证;对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流;根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。本发明能够更安全、更有效控制数据访问,进而能够有效解决任务流中复杂工作流的流程控制困难问题,能够防止闭环数据的产生,还能够有效杜绝任务死循环等类似问题。(The invention provides a data access control method, a data access control device and computer equipment, wherein the method comprises the following steps: receiving input operation and/or dragging operation of a client, and extracting node data; generating a plurality of task flows of a multi-dimensional array structure based on the node data and the edge data between the node data, and storing the task flows into a database; when a data access request of a user is received, access authority authentication is carried out; for the data access request passing the access authority authentication, determining a task flow which can be called and corresponds to the data access request; and allowing the user to access corresponding data in the database according to the determined task flow. The invention can control data access more safely and effectively, further can effectively solve the problem of difficult process control of complex workflow in the task flow, can prevent closed-loop data from being generated, and can effectively avoid the problems of task endless loop and the like.)

一种用于资源保障投入的数据访问控制方法、装置和电子 设备

技术领域

本发明涉及计算机信息处理领域,具体而言,涉及一种用于资源保障投入的数据访问控制方法、装置和电子设备。

背景技术

现有mysql客户端只能通过命令行方式指定登录到某个数据库,并且需要在参数中带上数据对应库密码。但是,随着部门业务增长,数据库增多,每次登录数据库都要先查到相应数据库登录密码和主机名,再在客户端使用mysql命令登录,想要访问特定数据是相当麻烦的。此外,随着新增数据库,各个部门同步数据库信息也是非常繁琐复杂的。

现有的数据集成抽取方式多样,实现技术也不同,缺少统一集成管控,不同的技术实现的数据同步不容易协调,数据链路较长且关联依赖不统一,同步程序告警和确定数据问题查找相对复杂。在数据库数据管理中,由于权限管理方面存在权限分配不合理等问题,开发人员或者业务人员很容易因误操作导致误删数据或数据库,从而提高了一定量数据丢失的危险性。此外,现有任务流中存在复杂工作流的流程控制困难问题,因闭环数据的产生而造成的任务死循环等类似问题。

因此,有必要提供一种更安全的数据访问控制方法。

发明内容

为了解决访问权限分配不合理、用户访问数据安全行性低、数据调用过程的数据处理效率低,现有任务流中所存在的复杂工作流的流程控制困难问题,以及因闭环数据的产生而造成的任务死循环等类似问题。

本发明提供了一种用于互联网资源服务的数据访问控制方法,包括:接收客户端的输入操作和/或拖拽操作,提取节点数据;基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库;在接收到用户的数据访问请求时,进行访问权限认证;对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流;根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。

优先地,所述提取节点数据包括:提取至少以下两种节点数据:与互联网资源服务相对应的时间变量,任务节点或任务监测以及是否为同步任务,具有不同权限的角色特征,以及是否为新增数据源;对各节点数据进行主节点标识和分支节点标识。

优先地,所述基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流包括:根据所提取的至少两种节点数据,确定每两个相邻节点之间的边数据,并对得到的所有边数据进行边标识,以生成多维数组结构的有向无环图,所述边数据用于表征主节点与分支节点之间的相互关系或依赖关系。

优选地,所述对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流包括:从可调用的多个任务流中,选择调用时间最短的任务流,执行数据调用过程。

优选地,在将所述多个任务流存储到数据库之前,还包括将新生成的多个任务流实时同步到所有的任务流列表中,以更新各任务流的调用顺序和执行时间。

优选地,所述在接收到用户的数据访问请求时,进行访问权限认证包括:识别所述数据访问请求中用户标识信息,自动判断所述用户是否是具有权限的用户列表中的用户;在判断所述用户是具有权限的用户列表中的用户时,则确定通过了访问权限认证;在判断所述用户不是具有权限的用户列表中的用户时,则确定未通过访问权限认证。

优选地,还包括:根据互联网资源服务类型,配置任务流的调用优先级,以用于确定调用顺序,所述互联网资源服务类型包括资源保障投入服务、资源分配服务、资源筹集服务和资源互助服务。

此外,本发明的第二方面提供了一种用于互联网资源服务的数据访问控制装置,包括:接收处理模块,用于接收客户端的输入操作和/或拖拽操作,提取节点数据;生成处理模块,用于基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库;认证模块,用于在接收到用户的数据访问请求时,进行访问权限认证;确定模块,用于对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流;访问处理模块,用于根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。

优选地,所述数据访问控制装置还包括提取模块,所述提取模块用于提取至少以下两种节点数据:与互联网资源服务相对应的时间变量,任务节点或任务监测以及是否为同步任务,具有不同权限的角色特征,以及是否为新增数据源;对各节点数据进行主节点标识和分支节点标识。

优选地,所述数据访问控制装置还包括生成模块,所述生成模块用于根据所提取的至少两种节点数据,确定每两个相邻节点之间的边数据,并对得到的所有边数据进行边标识,以生成多维数组结构的有向无环图,所述边数据用于表征主节点与分支节点之间的相互关系或依赖关系。

此外,本发明的第三方面提供了一种计算机设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行如本发明的第一方面所述的数据访问控制方法。

此外,本发明的第四方面提供了一种计算机程序产品,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如本发明的第一方面所述的数据访问控制方法。

有益效果

与现有技术相比,本发明通过接收客户端的输入操作和/或拖拽操作,提取节点数据,通过所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库,能够有效将各任务流形成DAG格式的数据结构,能够有效提高调用过程中各任务流的执行过程,还能够提高数据处理能力;在接收到用户的数据访问请求时,进行访问权限认证,能够实现更有效的权限管理;通过对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流,能够更安全、更有效控制数据访问,进而能够有效解决任务流中复杂工作流的流程控制问题,能够防止闭环数据的产生,还能够有效杜绝任务死循环等类似问题。

进一步地,通过生成多维数组结构的多个任务流,使用具有DAG格式的数据结构进行数据存储,以构建数据访问控制装置,能够提高数据访问控制装置和互联网资源服务平台的多功能综合性能,能够提高数据开发效率和数据安全性。

附图说明

为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明本发明示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。

图1是本发明的实施例1的用于互联网资源服务的数据访问控制方法的一示例的流程图。

图2是本发明的实施例1的用于互联网资源服务的数据访问控制方法中数据处理界面的一示例的示意图。

图3是本发明的实施例1的用于互联网资源服务的数据访问控制方法中DAG图的一示例的示意图。

图4是本发明的实施例1的用于互联网资源服务的数据访问控制方法的又一示例的流程图。

图5是本发明的实施例2的用于互联网资源服务的数据访问控制装置的一示例的示意图。

图6是本发明的实施例2的用于互联网资源服务的数据访问控制装置的另一示例的示意图。

图7是本发明的实施例2的用于互联网资源服务的数据访问控制装置的又一示例的示意图。

图8是根据本发明的计算机设备的示例性实施例的结构框图。

图9是根据本发明的计算机程序产品的示例性实施例的结构框图。

具体实施方式

现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。

在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。

在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但这不应受这些定语限制。这些定语乃是用以区分一者与另一者。例如,第一器件亦可称为第二器件而不偏离本发明实质的技术方案。

术语“和/或”或者“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。

为了能够更快速、更有效访问数据库,并提高数据管理、访问的安全性,本发明提供了一种用于互联网资源服务的数据访问控制方法,该方法通过接收客户端的输入操作和/或拖拽操作,提取节点数据,通过所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库,能够有效提高调用过程中各任务流的执行过程,还能够提高数据处理能力;在接收到用户的数据访问请求时,进行访问权限认证,能够实现更有效的权限管理;通过对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流,能够更安全、更有效控制数据访问,进而能够有效解决任务流中复杂工作流的流程控制问题,能够防止闭环数据的产生,还能够有效杜绝任务死循环等类似问题。

实施例1

下面,将参照图1至图4描述本发明的用于互联网资源服务的数据访问控制方法的实施例。

图1为本发明的用于互联网资源服务的数据访问控制方法的流程图。如图1所示,该数据访问控制方法包括如下步骤。

步骤S101,接收客户端的输入操作和/或拖拽操作,提取节点数据。

步骤S102,基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库。

步骤S103,在接收到用户的数据访问请求时,进行访问权限认证。

步骤S104,对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流。

步骤S105,根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。

需要说明的是,在本发明中,所述互联网资源服务包括由用户设备向互联网资源服务平台的申请而提供例如购物、乘车、地图、外卖、共享单车等的服务资源。例如,所述互联网资源服务包括资源使用服务、资源分配服务、资源筹集服务、资源保障服务或互助服务、拼团购买以及乘车服务等等。其中,资源是指任何可被利用的物质、信息、时间,信息资源包括计算资源和各种类型的数据资源。数据资源包括各个领域中的各种专用数据。以下以互联网资源保障服务相关的数据为示例,对本发明方法进行具体说明。

首先,在步骤S101中,接收客户端的输入操作和/或拖拽操作,提取节点数据。

对于互联网资源服务平台,在客户端使用JavaScript语言结合SVG开发,而在服务端使用PHP语言开发以实现DAG(Directed Acyclic Graph,有向无环图)结构。

具体地,所述互联网资源服务平台包括数据查询模块、数据开发模块、数据监控模块、数据管理模块。例如,所述互联网资源服务平台包括多业务线中的一个或多个服务端,并且所述互联网资源服务平台支持MySQL数据库、Hive数据库等。

在一实施方式中,例如开发人员等的用户(即客户端)在互联网资源服务平台的可编辑界面上进行输入操作和/或拖拽操作,所述互联网资源服务平台接收该开发人员(即客户端)的输入操作和/或拖拽操作。

例如,开发人员在数据处理界面上,输入“数据源类型”和/或“数据源名称”进行查询。

再例如,数据管理人员点选相应数据处理界面(例如,与系统变量管理、工作流列表、数据源管理、实例列表和资源管理等相对应的可编辑界面),跳转到相应界面,进行输入操作,例如输入“数据源类型”、“数据源名称”、“端口”、“数据库名称”、“用户名”、“运行信息”等,以创建各数据源,具体可参见图2。

例如,数据管理人员对与不同业务类型的系统变量、运维管理、权限管理、数据源管理以及任务流管理等相关的数据进行拖拽操作,以形成数据结构图,具体可参见图3。由此,通过数据结构图进行数据存储,能够提高数据处理效率。

再例如,运维人员等用户通过对相应数据的拖拽操作以移动数据所在位置,删去数据或新增数据。

进一步地,对通过客户端的输入操作和/或拖拽操作形成的数据结构图,进行节点数据的提取。

具体地,提取至少以下两种节点数据:与互联网资源服务相对应的时间变量,任务节点或任务监测以及是否为同步任务,具有不同权限的角色特征,以及是否为新增数据源。

作为一具体实施方式,例如,提取与互联网资源服务相对应的时间变量(即系统变量),任务监测,具有不同权限的角色特征,以及是否为新增数据源,作为节点数据。

具体地,例如自中心节点(例如为数据集成中心节点)向外逐步分支展开,形成包含主节点和分支节点的多个分支的数据结构图,具体参见图3。

进一步地,对各节点数据进行主节点标识和分支节点标识。例如,主节点标识包括与系统变量、运维管理、权限角色(或者基本角色)、数据源管理、任务(或同步任务)等相关的编号标识。分支节点标识包括与日期、同步运行、超级管理员、工作组、开发人员、调度配置等相关的编号标识。

可选地,在节点数据提取的过程中,进行主节点标识和分支节点标识。

由此,通过接收客户端的输入操作和/或拖拽操作,能够使用户操作可视化,通过提取节点数据以形成包含主节点和分支节点的多个分支(或者多维数组)的数据结构图,能够实现数据结构化,能够实现更有效的数据存储格式以提高数据处理效率。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

接下来,在步骤S102中,基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库。

具体地,根据所提取的至少两种节点数据,确定每两个相邻节点之间的边数据,并对得到的所有边数据进行边标识,以生成多维数组结构的有向无环图(即DAG图),例如,所述边标识包括系统变量、运维管理、权限角色(或者基本角色)、数据源管理、任务(或同步任务)、任务实例、同步任务列表、实时任务列表、超级管理员、工作租、开发人员、数据源列表、新增数据源、基础属性、管道控制、节点调度配置属性等,具体参见图3。

更具体地,所述边数据用于表征主节点与分支节点之间的相互关系或依赖关系。

进一步地,根据所述节点数据、具有相互关系或依赖关系的节点数据之间边数据以及所述有向无环图(即DAG图),生成多维数组结构的多个任务流,每个任务流包括与主节点和分支节点相对应的流程节点及其相关节点数据,边数据以及任务参数(例如,是否为同步任务,任务执行时间等)。换言之,所述任务流用于用户访问所述互联网资源服务平台中相应数据库时调用,能够有效控制用户对数据库及其数据的访问。

具体地,每一个任务流均通过流程画布来实现,并且每一个任务的流程画布是由用户(例如运维人员等)拖拽构成的DAG图,后端会根据用户拖拽的相关数据提取出主节点和分支节点的节点数据,并给每个节点数据标识唯一(或者全局唯一)的身份ID(即节点ID),并根据用户拖拽的相关数据与所生成的节点ID生成一个多维数组结构的边数据信息(工作流执行用的流程树),经格式转换后(例如转换为json对象)的数据信息存储在相应数据库中以供调用。

需要说明的是,所述任务流主要是应用了DAG图(在本发明中,也称为DAG网络图)以DAG格式的数据结构存储任务流的流程节点数据。例如利用JavaScript+php在前端和后端同时实现了有向无环图的数据处理与存储。根据DAG图依次确定每两个相邻流程节点之间的依赖关系(即边数据)。由于DAG图存在拓扑排序,且若在该DAG图中从顶点Vi~Vj(对应上述流程节点)有一条路径,则在所述拓扑排序中可确定当前节点(当前顶点)V到待调用数据的任务流的路径。

可选地,对所有相互关系或依赖关系(即边数据)进行编号标识(身份ID或节点ID),以用于区分、存储以及调用。

具体地,每个任务流包括多个相关连的编号标识,或多级节点的编号标识串,例如,所述编号标识串为SZ000000(数据集成中心节点的编号标识)-Sa001*8Y1(数据源管理节点的编号标识)-Sab13*40(数据源列表的编号标识)-SabL56*889(互联网资源保障服务业务的具体数据的编号标识)等,所述编号标识串包括三级节点,第一级节点为数据集成中心节点,第二级节点为数据源管理节点,第三级节点为数据源列表、第四级节点为互联网资源保障服务业务的具体数据。

进一步地,将所生成的多个任务流存储到所述互联网服务平台的相应数据库中。

在另一实施方式中,如图4所示,在将所述多个任务流存储到数据库之前,还包括如下步骤S201:将新生成的多个任务流实时同步到所有的任务流列表中,以更新各任务流的调用顺序和执行时间。

可选地,可实时更新各任务流的调用顺序和执行时间,或者根据特定时间间隔更新各任务流的调用顺序和执行时间。

因此,通过所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,能够有效将各任务流形成DAG格式的数据结构,能够有效提高调用过程中各任务流的执行过程,还能够提高数据处理能力。此外,能够有效解决任务流中复杂工作流的流程控制问题,并能够防止闭环数据的产生,能够有效杜绝任务死循环等类似问题。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

接下来,将结合示例说明所生成的任务流的应用过程。

在步骤S103中,在接收到用户的数据访问请求时,进行访问权限认证。

例如,在用户使用MySQL客户端访问所述互联网资源服务平台的数据库的应用示例中,该用户通过在客户端输入数据访问请求,所述互联网资源服务平台接收该用户的数据访问请求。

具体地,所述数据访问请求包括用户请求信息、用户身份信息,其中,该用户请求信息包括对一个或多个数据库访问的请求数据信息、该一个或多个数据库的名称、可调用端口等;用户身份信息包括用户账号、用户身份号或用户手机号,以及用户设备标识信息(例如用户设备标识码、用户设备型号或名称)等。

作为具体实施方式,所述互联网资源服务平台在接收到用户的数据访问请求时,进行访问权限认证。

具体地,识别所述数据访问请求中用户标识信息或用户设备标识信息。

进一步地,根据所识别的用户标识信息和/或用户设备标识信息,自动判断所述用户是否是具有权限的用户列表中的用户。

可选地,根据互联网资源服务类型、数据源类型以及权限级别等影响因素,配置具有不同权限的用户列表,并实时同步更新所述用户列表。

具体地,根据所识别的用户标识信息和/或用户设备标识信息,自动判断所述用户是否是具有权限的用户列表中的用户。

进一步地,在判断所述用户是具有权限的用户列表中的用户时,则确定通过了访问权限认证。

而在判断所述用户不是具有权限的用户列表中的用户时,则确定未通过访问权限认证。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

接下来,在步骤S104中,对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流。

具体地,对于通过所述访问权限认证的数据访问请求,根据所识别的数据访问请求中的访问数据类型、用户标识信息和/或用户设备标识信息以及访问时间,确定可调用的多个任务流。

更具体地,所述访问数据类型包括与互联网资源服务类型相对应的相关数据。

进一步地,从所述可调用的多个任务流中,选择调用时间最短的任务流,执行数据调用过程。

具体地,所述选择调用时间最短的任务流包括确定调用时间最短的任务流。

更具体地,对步骤S103得到的DAG图进行拓扑排序,确定节点之间的一个线性次序;对每一个可调用的任务流,按照所述拓扑排序的次序取出顶点(即节点)Vi,对与节点Vi相邻的顶点(即节点)进行一遍松弛处理(即对所确定的可调用任务流进行一遍松弛处理);计算dis[Vn]=min{dist[u]+w[u][Vn]/u可以到达Vn,其中,n为正整数},以确定调用时间最短的任务流。

可选地,配置用于作为开始点的节点Vi或作为结束点的节点Vj的任务流路径的更新时间,根据所述更新时间,更新相应的任务流路径。

在一实施方式中,根据所识别的数据访问请求中的访问数据类型和访问时间,并根据所计算的各可调用任务流的dis[Vn],以确定调用时间最短的任务流。

在另一实施方式中,根据当前所有的任务流列表中各任务流的调用顺序和执行时间,以及所识别的数据访问请求中的访问数据类型和访问时间,确定调用时间最短的任务流。

在又一实施方式中,在所确定的调用时间最短的任务流数量为多个的情况下,根据各任务流的调用优先级,从所述多个任务流中选择一个任务流。

例如,根据互联网资源服务类型,配置任务流的调用优先级,以用于确定调用顺序,所述互联网资源服务类型包括资源保障投入服务、资源分配服务、资源筹集服务和资源互助服务。例如,将与资源保障投入服务相关的调用优先级配置为第一优先级,将与资源互助服务相关的调用优先级配置为第二优先级,将与资源筹集服务相关的调用优先级配置为第三优先级,将与资源分配服务相关的调用优先级配置为第四优先级。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

在步骤S105中,根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。

具体地,根据所调用时间最短的任务流,向所述用户提供相应数据库的可调用端口,以允许所述用户对所述相应数据库中的相应数据进行访问。其中,所述可调用端口是与所述相应数据库相对应的调用端口。

例如,用户1请求访问数据库A中的数据a,根据所确定的任务流R1,向所述用户的客户端提供可调用端口D8,执行所述任务流R1,以进行数据调用或数据访问过程。

在另一实施方式中,对每个数据库的访问用户的数量、访问时间、访问权限分配等进行配置并记录具体详细信息,形成结构化数据表。由此,能够实现数据结构化,并有利于数据或数据库的快速查询。

在又一实施方式中,在检测到有新增数据源的情况下,将该新增的数据源进行编号、命名,并创建新增数据源,并将该新增数据源增加到例如hash列表,以所述hash列表的格式存储到相应数据库中。由此,进一步优化了数据结构化,有利于数据或数据库的快速查询,提高了查询的灵活性、安全性,还避免了因误操作造成数据丢失或数据删减等问题,提高了数据管理和数据访问的安全性,提高了数据访问控制的有效性。

进一步地,在检测到有新增数据的情况下,实时将该新增数据同步到相应数据库。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

在又一实施方式中,根据对当前用户的数据访问请求的解析结果,先确定可调用的多个任务流,再进行当前用户的访问权限认证。

由此,根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问,能够更安全、更有效控制数据访问,能够实现更有效的权限管理。

需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。

本领域技术人员可以理解,实现上述实施例的全部或部分步骤被实现为由计算机数据处理设备执行的程序(计算机程序)。在该计算机程序被执行时,可以实现本发明提供的上述方法。而且,所述的计算机程序可以存储于计算机可读存储介质中,该存储介质可以是磁盘、光盘、ROM、RAM等可读存储介质,也可以是多个存储介质组成的存储阵列,例如磁盘或磁带存储阵列。所述的存储介质不限于集中式存储,其也可以是分布式存储,例如基于云计算的云存储。

与现有技术相比,本发明通过接收客户端的输入操作和/或拖拽操作,提取节点数据,通过所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库,能够有效将各任务流形成DAG格式的数据结构,能够有效提高调用过程中各任务流的执行过程,还能够提高数据处理能力;在接收到用户的数据访问请求时,进行访问权限认证,能够实现更有效的权限管理;通过对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流,能够更安全、更有效控制数据访问,进而能够有效解决任务流中复杂工作流的流程控制问题,能够防止闭环数据的产生,还能够有效杜绝任务死循环等类似问题。

实施例2

下面描述本发明的装置实施例,该装置可以用于执行本发明的方法实施例。对于本发明装置实施例中描述的细节,应视为对于上述方法实施例的补充;对于在本发明装置实施例中未披露的细节,可以参照上述方法实施例来实现。

参照图3、图5、图6和图7,本发明还提供了一种用于互联网资源服务的数据访问控制装置400,所述数据访问控制装置400包括:接收处理模块401,用于接收客户端的输入操作和/或拖拽操作,提取节点数据;生成处理模块402,用于基于所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库;认证模块403,用于在接收到用户的数据访问请求时,进行访问权限认证;确定模块404,用于对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流;访问处理模块405,用于根据所确定的任务流,允许所述用户对所述数据库中的相应数据进行访问。

如图6所示,在另一实施方式中,所述数据访问控制装置400还包括提取模块501,即将图5中的接收处理模块401拆分成接收处理模块401和提取模块。所述提取模块501用于提取至少以下两种节点数据:与互联网资源服务相对应的时间变量,任务节点或任务监测以及是否为同步任务,具有不同权限的角色特征,以及是否为新增数据源;对各节点数据进行主节点标识和分支节点标识。

如图7所示,在又一实施方式中,所述数据访问控制装置400还包括存储模块601,即将图5中的生成处理模块402拆分成生成处理模块402和存储模块601。所述存储模块601用于根据所提取的至少两种节点数据,确定每两个相邻节点之间的边数据,并对得到的所有边数据进行边标识,以生成多维数组结构的有向无环图,所述边数据用于表征主节点与分支节点之间的相互关系或依赖关系。

具体地,根据所提取的至少两种节点数据,确定每两个相邻节点之间的边数据,并对得到的所有边数据进行边标识,以生成多维数组结构的有向无环图(即DAG图),例如,所述边标识包括系统变量、运维管理、权限角色(或者基本角色)、数据源管理、任务(或同步任务)、任务实例、同步任务列表、实时任务列表、超级管理员、工作租、开发人员、数据源列表、新增数据源、基础属性、管道控制、节点调度配置属性等,具体参见图3。

进一步地,根据所述节点数据、具有相互关系或依赖关系的节点数据之间边数据以及所述有向无环图(即DAG图),生成多维数组结构的多个任务流,每个任务流包括与主节点和分支节点相对应的流程节点及其相关节点数据,边数据以及任务参数(例如,是否为同步任务,任务执行时间等)。换言之,所述任务流用于用户访问所述互联网资源服务平台中相应数据库时调用,能够有效控制用户对数据库及其数据的访问。

具体地,每一个任务流均通过流程画布来实现,并且每一个任务的流程画布是由用户(例如运维人员等)拖拽构成的DAG图,后端会根据用户拖拽的相关数据提取出主节点和分支节点的节点数据,并给每个节点数据标识唯一(或者全局唯一)的身份ID(即节点ID),并根据用户拖拽的相关数据与所生成的节点ID生成一个多维数组结构的边数据信息(工作流执行用的流程树),经格式转换后(例如转换为json对象)的数据信息存储在相应数据库中以供调用。

需要说明的是,所述任务流主要是应用了DAG图(在本发明中,也称为DAG网络图)以DAG格式的数据结构存储任务流的流程节点数据。例如利用JavaScript+php在前端和后端同时实现了有向无环图的数据处理与存储。根据DAG图依次确定每两个相邻流程节点之间的依赖关系(即边数据)。由于DAG图存在拓扑排序,且若在该DAG图中从顶点Vi~Vj(对应上述流程节点)有一条路径,则在所述拓扑排序中可确定当前节点(当前顶点)V到待调用数据的任务流的路径。

可选地,对所有相互关系或依赖关系(即边数据)进行编号标识(身份ID或节点ID),以用于区分、存储以及调用。

进一步地,将所生成的多个任务流存储到所述互联网服务平台的相应数据库中。

由此,通过生成多维数组结构的多个任务流,使用具有DAG格式的数据结构进行数据存储,以构建数据访问控制装置,能够提高数据访问控制装置和互联网资源服务。

在又一实施方式中,在将所述多个任务流存储到数据库之前,还包括将新生成的多个任务流实时同步到所有的任务流列表中,以更新各任务流的调用顺序和执行时间。例如,根据互联网资源服务类型,配置任务流的调用优先级,以用于确定调用顺序,所述互联网资源服务类型包括资源保障投入服务、资源分配服务、资源筹集服务和资源互助服务。

具体地,所述在接收到用户的数据访问请求时,进行访问权限认证包括:识别所述数据访问请求中用户标识信息,自动判断所述用户是否是具有权限的用户列表中的用户;在判断所述用户是具有权限的用户列表中的用户时,则确定通过了访问权限认证;在判断所述用户不是具有权限的用户列表中的用户时,则确定未通过访问权限认证。

具体地,所述对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流包括:从可调用的多个任务流中,选择调用时间最短的任务流,执行数据调用过程。其中,所述选择调用时间最短的任务流包括确定调用时间最短的任务流。

更具体地,对上述所得到的DAG图进行拓扑排序,确定节点之间的一个线性次序;对每一个可调用的任务流,按照所述拓扑排序的次序取出顶点(即节点)Vi,对与节点Vi相邻的顶点(即节点)进行一遍松弛处理(即对所确定的可调用任务流进行一遍松弛处理);计算dis[Vn]=min{dist[u]+w[u][Vn]/u可以到达Vn,其中,n为正整数},以确定调用时间最短的任务流。

可选地,配置用于作为开始点的节点Vi或作为结束点的节点Vj的任务流路径的更新时间,根据所述更新时间,更新相应的任务流路径。

在一实施方式中,根据所识别的数据访问请求中的访问数据类型和访问时间,并根据所计算的各可调用任务流的dis[Vn],以确定调用时间最短的任务流。

在另一实施方式中,根据当前所有的任务流列表中各任务流的调用顺序和执行时间,以及所识别的数据访问请求中的访问数据类型和访问时间,确定调用时间最短的任务流。

在又一实施方式中,在所确定的调用时间最短的任务流数量为多个的情况下,根据各任务流的调用优先级,从所述多个任务流中选择一个任务流。

在又一实施方式中,所述数据访问控制装置还包括表查询、层级查询、血缘图谱、数据同步、集群监控、库表管理、流程权限管理的多功能,由此能够为提高更安全且更有效的调用数据,提高数据开发效率以及数据安全性。

需要说明的是,在实施例2中,省略了与实施例1相同的部分的说明。

本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

与现有技术相比,本发明通过接收客户端的输入操作和/或拖拽操作,提取节点数据,通过所述节点数据以及所述节点数据之间边数据,生成多维数组结构的多个任务流,并将所述多个任务流存储到数据库,能够有效将各任务流形成DAG格式的数据结构,能够有效提高调用过程中各任务流的执行过程,还能够提高数据处理能力;在接收到用户的数据访问请求时,进行访问权限认证,能够实现更有效的权限管理;通过对通过所述访问权限认证的数据访问请求,确定与该数据访问请求相对应的可调用的任务流,能够更安全、更有效控制数据访问,进而能够有效解决任务流中复杂工作流的流程控制问题,能够防止闭环数据的产生,还能够有效杜绝任务死循环等类似问题。

进一步地,通过生成多维数组结构的多个任务流,使用具有DAG格式的数据结构进行数据存储,以构建数据访问控制装置,能够提高数据访问控制装置和互联网资源服务平台的多功能综合性能,能够提高数据开发效率和数据安全性。

实施例3

下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。

图8是根据本发明的计算机设备的示例性实施例的结构框图。下面参照图8来描述根据本发明该实施例的计算机设备200。图8显示的计算机设备200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备200以通用计算设备的形式表现。计算机设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同装置组件(包括存储单元220和处理单元210)的总线230、显示单元240等。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述计算机设备的处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1所示的步骤。

所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。

所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

计算机设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算机设备200交互的设备通信,和/或与使得该计算机设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,计算机设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与计算机设备200的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机程序产品能够实现本发明的上述方法。

图9是根据本发明的计算机程序产品的示例性实施例的结构框图。

如图9所示,所述计算机程序可以存储于一个或多个计算机程序产品上。计算机程序产品例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机程序产品的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机程序产品可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机程序产品可以发送、传播或者传输用于由指令执行装置或者器件使用或者与其结合使用的程序。所述计算机程序产品上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机程序产品上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种人机物融合环境下的数字对象访问方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!