CN102395950A - 与数据存储系统的通信 - Google Patents

与数据存储系统的通信 Download PDF

Info

Publication number
CN102395950A
CN102395950A CN2010800164675A CN201080016467A CN102395950A CN 102395950 A CN102395950 A CN 102395950A CN 2010800164675 A CN2010800164675 A CN 2010800164675A CN 201080016467 A CN201080016467 A CN 201080016467A CN 102395950 A CN102395950 A CN 102395950A
Authority
CN
China
Prior art keywords
data
handling component
interface
storage system
data handling
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.)
Granted
Application number
CN2010800164675A
Other languages
English (en)
Other versions
CN102395950B (zh
Inventor
J.M.法弗
G.费尔南德斯
B.费希尔
D.福尼尔
B.托马斯
J.L.维格尼奥
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42562078&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102395950(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN102395950A publication Critical patent/CN102395950A/zh
Application granted granted Critical
Publication of CN102395950B publication Critical patent/CN102395950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一些方面中,一种方法包括经由网络(110)连接到数据存储系统(112),该数据存储系统存储数据对象(118)。数据流图包括表示通过表示数据流的链路所连接的数据处理组件的节点,访问该数据存储系统的接口(113)。该接口提供用于访问该数据对象的功能。该数据处理组件中的至少一个对于所接收的输入数据流执行使能由该接口(113)提供的功能(114a-d)的操作以修改一个或多个所存储的数据对象(118),并且响应于由该接口提供的功能来执行操作以生成输出数据流。

Description

与数据存储系统的通信
对于相关申请的交叉引用 
此申请要求于2009年2月13日提交的美国申请序列号61/152,640的优先权,在这里通过引用而合并其内容。 
技术领域
以下描述涉及与数据存储系统的通信。 
背景技术
可以按照多种方式来访问和控制包含数据的外部数据库。用于与远程数据源进行交互的一种示范技术是web服务的使用。Web服务提供了web应用可以用于经由网络(例如,局域网或因特网)彼此连接的常用协议。Web服务的一个优点在于,它们是基于行业标准的。所述服务可以用可扩展标记语言(XML)进行描述,并且经由现有的超文本传输协议(HTTP)基础架构进行通信。例如,XML和HTTP形式的组合允许数据传输协议:简单对象访问协议(SOAP)。 
发明内容
在一方面中,一般地,一种方法包括经由网络连接到数据存储系统,该数据存储系统存储数据对象。数据流图包括表示通过表示数据流的链路所连接的数据处理组件(component)的节点,访问该数据存储系统的接口。该接口提供用于访问该数据对象的功能。该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。 
各方面可以包括以下特征中的一个或多个特征。图形用户接口从用户接收输入,并且向该数据处理组件中的至少一个提供格式化信息。该格式化信息根据与该数据对象相关联的一个或多个字段来定义用于数据记录的格式, 其中根据所定义的格式而格式化的数据记录与该数据处理组件所执行的操作兼容。该图形用户接口基于与从多个操作中选择的操作相关联的规则来显示数据对象和与该数据对象相关联的字段。该规则指定哪些数据对象和字段适用于所选择的操作。该图形用户接口仅仅显示满足该规则的数据对象和字段。该图形用户接口所显示的数据对象和字段中的一个或多个是可选择的。满足该规则的数据对象和字段被自动地显示为已被选择。该图形用户接口阻止用户取消选择被自动地显示为已被选择的数据对象和字段。该数据处理组件生成要发送到该数据存储系统的请求。该数据处理组件将具有多个输入数据记录的输入变换为单个请求消息。该数据处理组件将从该数据存储系统接收到的单个响应消息变换为多个输出数据记录。该数据处理组件基于表示数据流的输入参数来生成该请求消息。用户通过元数据浏览器来变更该数据处理组件的输入参数。从该数据存储系统接收到的简单对象访问协议响应包含成功的功能执行的确认和失败的功能执行的确认。该数据处理组件将成功的功能执行的确认与失败的功能执行的确认分开。该数据处理组件将与失败的功能执行和成功的功能执行相关联的数据转发到该数据处理组件的不同端口。连接到该数据存储系统包括:将来自该数据处理组件的登录请求传送到该数据存储系统;登录到该数据存储系统中以获得会话证书;存储该会话证书;以及将所存储的会话证书编码为将来的登录请求。将该登录请求传送到内部网关。将所存储的会话证书编码为多个并发的登录请求。生成输出数据流包括:对于从该数据存储系统接收到的一批或多批的部分结果执行操作。该一个或多个数据处理组件至少包括第一数据处理组件和第二数据处理组件。该第一数据处理组件从该数据存储系统接收一批或多批部分结果,并且在该第一数据处理组件继续接收各批部分结果的同时,向该第二数据处理组件提供该部分结果中的至少一些。该第二处理组件至少部分地基于所接收到的部分结果来生成输出数据流。 
在另一方面中,一般地,一种系统包括:网络接口,包括用于连接到数据存储系统的电路,该数据存储系统存储数据对象;以及数据处理环境,包括至少一个处理器,该至少一个处理器被配置为通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能。该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功 能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。 
在另一方面中,一般地,一种系统包括:用于经由网络连接到数据存储系统的部件,该数据存储系统存储数据对象;以及用于通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口的部件,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能。该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。 
在另一方面中,一般地,一种计算机可读介质存储计算机程序,该计算机程序包括用于使得计算机进行以下步骤的指令:经由网络连接到数据存储系统,该数据存储系统存储数据对象;以及通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能。该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。 
各方面可以包括以下优点中的一个或多个优点。具有大容量数据的用户可以将数据加载到数据库以及从数据库中提取数据,同时遵守典型的企业数据安全标准。大数据加载和提取可以变得高效,并且可以利用并行数据流编程的益处。图形用户接口提供关于可用的许多对象和字段的当前的、准确的信息,这减少了遗漏和拼写的错误。接口自动地处置用于与数据库进行交互的低等级需求,诸如需要特殊处置的操作。 
根据以下描述并根据权利要求,其他特征和优点将变得明显。 
附图说明
图1是网络架构的示例。 
图2是可配置库的示范截屏图。 
图3是用于对参数进行配置的示范用户接口。 
图4是示出了组件的特性的浏览器的示例。 
图5和6是GUI的示范截屏图。 
图7是示范组件内的数据流设计的示例。 
具体实施方式
对于应用开发而言,允许程序之间的网络通信是重要的。许多现代应用在如DCOM和CORBA的对象之间使用远程过程调用(RPC)来进行通信;然而,HTTP最初并非被设计用于此通信。RPC表现了兼容性和安全性的问题。例如,防火墙和代理服务器可以阻止这种类型的业务。因为HTTP得到所有因特网浏览器和服务器的支持,所以如果可能的话,使用此协议来进行通信是有用的。SOAP是被创建以部分地允许对象之间的HTTP通信的协议。SOAP提供了在运行于不同操作系统上的、具有不同技术和编程语言的应用之间进行通信的方式。 
典型地,复杂商业系统在多级中对数据进行处理,其中由一级产生的结果被馈送到下一级中。可以依据有向数据流图形来描述通过这种系统的信息的总体流动,其中该图形中的顶点表示组件(数据文件或过程(process)),而该图形中的链路或“边(edge)”指示组件之间的数据流。 
图形还可以用于直接地调用(invoke)计算。来自马萨诸塞州列克星敦市的Ab Initio Software Corporation的具有图形开发环境(GDE)的“CO>OPERATING 
Figure BDA0000098360400000041
”是这种系统的示例。根据此系统所产生的图形提供了用于使信息进入图形组件所表示的各个过程以及从图形组件所表示的各个过程取出信息、用于在所述过程之间移动信息、和用于限定过程的运行顺序的方法。此系统包括选择过程间通信方法的算法和对过程执行进行调度的算法,并且还提供对于图形执行的监视。 
图1是网络架构的示例,该网络架构包括客户端102、远程数据库112、和中间的网络实体。在一些示例中,远程数据库112容纳(host)用户、订户或顾客101可以访问的数据116。数据116可以由包含字段120的对象118所组成。在图1的示例中,用户101正在试图经由网络110访问数据116,以访问存储于远程数据库112上的对象118,或者将新的数据添加到该远程数据库。在以下描述中,经常将网络110表示为因特网;然而,可以使用诸如局域网之类的其他网络。 
远程数据库112容纳用于其用户的数据,该用户可以经由网络110从远程数据库读取数据和向远程数据库写入数据。容纳用于其用户的数据的远程 数据库112的示例是网站www.salesforce.com 
Figure BDA0000098360400000051
(“Salesforce(销售力)”)。尽管下面的多个示例可以指代Salesforce实现,但是Salesforce仅仅是它的用户可以经由网络访问并修改其数据的远程数据主机的示例。在一些情况下,远程数据库所提供的普通web服务对于具有大容量(volume)数据的用户而言是不够的。这些高容量用户需要对于远程数据库高效地读取和写入数据,并且典型地需要将他们的数据与其他数据系统(诸如,数据文件、消息传送系统、数据库和商业报告工具)进行集成。 
在一些示例中,远程数据库112展示采用Web服务描述语言(WSDL)中的web服务应用编程接口113(API),其顾客可以使用该web服务应用编程接口113(API)来高效地读取和写入大数据容量。然而,远程数据库可能无法提供此API的实现。典型地,API的典型实现将使用采用诸如Java之类语言的传统编码。 
用户(例如,开发者)可能发现由于几种原因而导致实现远程数据库所提供的标准接口是麻烦的。首先,用户可能需要确保在连续的web服务请求之间保持状态。其次,用户还可能发现难以安全地在他们自己的带防火墙的环境(例如,通过数据网关108,其可以批准去往和来自带防火墙的环境外部的数据源的所有通信)与远程数据库112(其可以是公共网站)之间传递请求。最后,用户可能发现难以在使得高等待时间web服务的负面影响最小化的同时实现API。此外,提供利用数据流编程环境的实现将是有用的。 
在一些示例中,存在基于图形(graph)的计算与分布式服务进行交互的两种方式。在一些示例中,图形对服务进行调用,并且与该服务相关,仿佛该服务是该图形中的节点一样。在其他示例中,应用与图形相关,使得该图形提供服务。可以同时地进行这两种情况。例如,正在向一个应用提供服务的图形自身可以调用另一服务以执行其计算的一部分。例如,一个图形调用的服务可以由另一图形提供,使得第一图形调用第二图形,而不是包含它作为子图形。 
在一些示例中,当执行数据流处理环境104内的操作时,它调用远程数据库112上的接口113展示的功能114a-d作为服务的客户端。例如,数据流处理环境104内的组件可以使用SOAP、HTTP、XML、WSDL等中的一个或多个的组合来访问web服务,以与在远程数据库112上容纳的web服务接口113进行通信。如果成功,则可以允许数据流处理环境104内的组件访问在 远程数据库112上存储的数据116。 
在一些示例中,可配置库可以包含用于在诸如数据流处理环境104内的数据流应用(“图形(graph)”)中使用的组件。通过对在该库内包含的组件进行配置,所述组件可以用于读取和写入远程数据库内的对象,并且可以用于使能(enable)在远程数据库112的接口113中定义的功能114a-114d。图2是用于显示组件206的库204的浏览器202的示例。组件206中的每一个构成了可重新使用的编程逻辑。可以在图形中使用所述组件,并且可以通过向组件的实例提供多个参数值来对它们的行为进行配置。 
图3是用于对组件实例进行配置的用户接口的示例。这包括但不限于记录格式描述。在此示例中,浏览器302正在显示“写入对象的属性(Write_Objects’ Properties)”,并且可以用于对组件206(图2)读取和写入的对象的类型进行配置。浏览器允许用户对隐藏记录格式和可见记录格式两者以及组件206所使用的数据变换进行编辑。这些记录格式和变换的配置允许组件对请求(例如,SOAP请求)进行写入和解析两者,以便与远程数据库的接口进行通信。例如,参数“动作(action)”和“trigger*(触发*)”对要在所组建的SOAP请求中实现哪些特征进行配置。一些参数与登录证书(用户名和密码)相关,而其他参数管控可恢复性(节约输出频率),或者与并发性、超时耐受性和安全性(例如,ssl*和网关)相关。 
图4是从写入对象(Write Objects)组件的参数集(例如,以上在图3的示例中所描述的参数集)启动的编辑器402的示例。在一些示例中,通过向远程数据库112(图1)做出的SOAP请求来管控编辑器402的显示。例如,当用户采取动作以显示编辑器402时,向远程数据库112做出SOAP调用,以检索远程存储的数据(例如,元数据)。SOAP调用返回用于管控在浏览器中显示什么内容的方案(schema)(例如,规则、字段和对象的层级)。在此示例中,用户已经在组件的参数列表上选择了用于“插入更新(Upsert)”功能的编辑器。在该编辑器中,用户已经选择将数据加载到“联系人(Contact)”对象406,并且已经选择了几个字段408a、408b、408c和408d来写入。基于这些选择,编辑器根据用于指定记录格式以及用于对数据记录进行变换和与该数据记录进行交互的各种功能和表达式的数据操纵语言(DML),来构建由几种“类型”(例如,日期、日期时间、整型)所组成的记录格式。这些类型用于对该组件的隐藏和可见参数进行编辑。例如,可以通过编辑器来变更 组件(例如,组件104(图1))的输入记录格式参数的值。作为结果,为了创建要发送到远程数据库112(图1)的SOAP请求,用户可以对该组件进行配置,并且实现进入和离开该组件的兼容数据流。用户所创建的类型还可以用于对包括数据变换的其他组件参数进行编辑。 
此外,因为组件是可配置的,所以它们可以用于读取和写入远程数据库中的任何对象,而无需用户的传统编码。使用图3所示的编辑器,用户可以对组件的行为进行配置,以满足性能和安全需求。 
每个组件可以使能在远程数据库112的接口113中定义的一个或多个功能114a-d(图1)。例如,“写入对象”组件实现远程数据库112的“创建(Create)”、“更新(Update)”和“插入更新”功能。这允许开发者使用接口113所提供的任何功能来将数据写入到远程数据库。每个功能具有远程数据库112所定义的特定行为,并且每个功能可以用于访问、操纵、添加和去除数据116、对象118或字段120。 
在由可重新使用逻辑组成的情况下,所述组件可以执行任何HTTP请求或HTTP响应动作上游和下游的数据处理。例如,组件所执行的数据处理可以包括将响应数据分为成功和失败记录,将许多输入数据记录变换为单个请求(例如,向远程数据库112发送的SOAP请求),和将单个响应(例如,从远程数据库112接收的SOAP响应)变换为多于一个输出数据记录。 
作为示例,在“写入对象”组件中,用户可以使用远程数据库的接口所定义的“创建”功能,其允许用户在远程数据库中创建新的对象。如果该对象已经存在(如由键值(key)确定的),则该创建操作失败。单个SOAP请求(或某种其他类型的请求)可以包含许多要创建的对象。非故障SOAP响应将包含关于这些操作中的每一个操作的结果的信息。 
“写入对象”组件包含用于将N个输入记录变换为单个SOAP请求以及将单个SOAP响应变换为N个输出记录的逻辑(其中,N是指示出记录数目的组件的可配置参数)。通过将该组件中的这一逻辑编码,用户可以将数据作为“平坦的(flat)”记录,而不执行传统编码以组建请求和解析响应。该组件还可以包含用于将失败的创建操作与成功的创建操作分开的逻辑,并相应地可以将数据路由到不同的端口。尽管此功能不可以通过远程数据库的标准接口提供,但是该组件的上游和下游处理能力允许此添加的功能。 
在图7的示例中,图示了组件702“写入对象”的内部数据流。子组件 “CWS和故障处置”712具有端口704、706、708和710。所述端口中的每一个可以接收记录作为输入,或者可以传递记录作为输出。子组件“用于将成功与失败分开的FBE”716的端口714可以接收端口714处的数据流(例如,包含如上所述的成功或失败指示符的记录)。子组件716包含用于将失败的操作与成功的操作分开的逻辑,并相应地可以将数据路由到端口718和720。 
组件的安排和配置利用了数据流编程的益处。例如,组件使能过程、数据和(在可能时)流水线并行化,可以作为批量过程或连续过程而运行,并且易于用于最小配置。组件还可以包括共享的日志、错误和故障处置特征。 
所述组件中的一些组件可以是可重新启动的。即,如果包含可重新启动的组件之一的应用在运行时非预期地终止,则可以从该应用停止的点处重新启动该应用。 
所述组件中的一些组件可以包含“调用Web服务(Call Web Service)”组件。此组件允许用户使用HTTP 1.1协议来调用web服务,等待响应,并且当接收到响应时对该响应进行处理。通过一组参数来管控调用Web服务组件的可配置行为,所述参数之一是变换。该变换是用DML编程语言定义的一组变量、类型和功能。与调用Web服务组件相关的变换的实例可以包含登录到远程数据库中并且获得可以被编码为随后的请求的会话证书的逻辑。将该请求路由到适当的URL(其可以是内部“数据网关”URL)。该变换还可以允许发送并发的请求。 
该变换构建向其发送登录请求的URL;例如,如果客户端正操作在数据网关108(图1)之后,则将使用内部网关URL。如果客户端没有正操作在内部网关之后,则远程数据库URL将被创建,并且可以附加地包含WSDL方案代码和版本号。然后,可以发送用于实现远程数据库的接口“登录”功能的登录请求。然后,该变换等待响应,并且对它进行翻译,以获得会话ID。 
对于到组件的每个输入记录,构建向其发送数据请求的URL,并且将(如上所述,从稍早的过程获得的)会话ID插入到如通过WSDL所指定的请求中。如果该响应指示超时,则对于这个特定请求来对重试计数器进行递减。如果该请求仍然剩余有重试,则再次发送该请求。如果该请求在计数器上没有剩余有剩余的重试,则将失败记入日志。 
然后,向远程数据库发送该请求,并且该变换等待响应。如果该响应指 示成功,则该变换向数据流处理环境104(图1)内的下游数据流输出成功的响应。 
上述变换可以包含多个附加特征。在一些示例中,该变换发送多个并行请求,其中通过组件的参数来管控并行化的深度。由于向web服务(例如,图1中的接口113)发送每个请求,所以此等待时间将很高。如果没有并行地发送这些请求,则所有请求的消逝时间将近似等于一个请求的等待时间乘以请求的总数。通过并发地发送请求,可以通过等于所准许的并发请求的数目的因子来减少此等待时间。 
此外,该变换可以通过将请求重试多达可配置的次数来处置HTTP请求超时。宣告超时之前的时间长度是组件的可配置参数,用于在将错误记入日志之前进行重试的次数也是可配置的参数。另外,在一些示例中,该变换允许用户向诸如数据网关108(图1)之类的数据网关发送请求。此配置典型地是企业计算环境,其中需要到远程数据库的高容量吞吐量。取决于用户的组件参数的配置,将向远程数据库直接地或者向数据网关URL(典型地,处于带防火墙的环境内部的URL)发送该请求。最后,该变换可以通过从登录请求获得会话ID、然后将它插入到随后的数据请求中来管理会话信息,这消除了对会话进行重新认证的需要。 
可以将附加的变换包括在组件中,以便利于“查询(Query)”功能,该“查询”功能允许查询远程数据库内的对象。除了其他功能之外,此变换还具有用于使能大批记录的查询的附加功能。用于使能查询功能的变换发送初始查询请求。如果远程数据库响应于此查询而找到大量对象,它在其初始响应中返回一些对象,并且提供用于唯一地标识该查询的键值。使用“查询更多(QueryMore)”功能并且提供此键值的、对于远程数据库的随后的请求将返回对于该初始查询的附加响应。该变换通过自查用于该查询标识符键值的初始响应并且将它插入到随后的“查询更多”请求来支持此操作。 
在一些示例中,组件拥有用于并行地运行操作的能力。例如,“查询”操作可以返回相当大数量的数据。实际上,如此之多,使得远程数据库在小批量中将它发送回去,并且组件必须不停地索要“下一查询结果”。这导致了以查询开始、在查询更多上进行循环并且最终结束的循环。此操作不但得到支持,而且得到并行支持;即,可以向该图形的剩余部分返回、汇集和(最终地)给予部分响应的多次收集(collection)。另外,为了提高总体性能和吞吐 量,组件可以向图形的剩余部分提供部分结果。 
在许多情况(诸如上述这些情况)下,图形是客户端和远程数据库两者所执行的操作的驱动元素。在此“模式”中,图形开始到远程数据库的连接,执行操作,生成结果和终止操作。这样,图形是“驱动元素”。另一方面,存在其中图形被驱动的另一操作模式。远程数据库可以支持以下模式,其中远程数据库向正在“监听”来自远程数据库的出站消息的图形发起联系。这常常发生在用户正在使用远程数据库的接口(例如,对远程数据库的网页上的地址进行更新)的时候。这可以被配置为生成对web服务器的请求并且期望响应。此web服务器可以提供web服务,并且可以驱动可以生成对于远程数据库请求的响应的图形。此图形和响应继而可以经由接口来向远程数据库索要信息。在此模式中,图形被“驱动”;即,它向远程数据库提供服务。 
返回参考图1,现在将描述GUI 106的功能。为了使得用户101与远程数据库112进行交互,用户创建记录格式,所述记录格式包括适合于特定数据操纵操作的、并且还准确地反映在数据存储结构中实施的数据层级的所有的和仅有的元素。这对于用户而言可能是麻烦、手动的任务,因为存在许多对象和每个对象的许多字段、以及因为远程数据库可以具有与有效性有关的规则和可能不明显的字段的关系。此外,字段的有效性对于每个操作可能是不同的。另外,为了实现与远程数据库的有计划的交互,必须用DML格式正确地表示所创建的记录格式,这需要专门知识。所有这些细节可能导致用户错误。 
为了使得用户错误最少或者防止用户错误,提供了图形用户接口,该图形用户接口对选择用于记录格式的恰当对象和字段的过程进行简化。通过实行与记录格式和组件要执行的操作相关联的规则和惯例,GUI 106可以便利于由数据流处理环境内的组件执行的相当多的一组操作的正确DML的生成。GUI 106可以便利于要由特定组件执行的具体操作的上下文所驱动的、使用常见树控件(control)进行的对于对象和字段的适当选择。此外,GUI可以帮助用户依照语法对正确SOAP请求进行格式化。 
在一些示例中,GUI 106通过对相同的树控件内的完全不同层级的显示进行组合,来仅仅显示适用于要由组件执行的操作的类型的对象和字段。对于一些操作,仅仅基础对象(操作要作用于的主要对象)的字段适合于查看。对于一些操作,基础对象的字段和该基础对象的任何父对象的字段均适合于 查看。对于一些操作,基础对象的字段、该基础对象的任何父对象的字段、以及任何子对象的字段都适合于查看。 
GUI 106也可以通过相对于要由组件执行的操作的上下文和与用于该操作的有效输入有关的规则单独地评估每个字段,来仅仅显示适用于该操作的特定对象的那些字段。GUI 106可以简单地不显示非必要字段;即,可以“抑制”对于要执行的操作非必要的字段。作为示例,如果组件正在试图执行创建操作,并且字段是不可创建的,则GUI 106不应该示出该字段。因为对于用户来说,对于该特定操作而选择此字段将永远不会是正确的,所以可以通过隐藏或抑制此字段来避免用户错误。 
图5是从GUI 106所取得的截屏图。在此示例中,在编辑器502的左窗格506中选择对象504(“账户(Account)”),并且在右窗格508中显示其字段510。右窗格508中的所有字段510都是可由用户进行选择的;即,所有字段510都是有效的,并且用户可以对其进行选择,以包括在用于正在执行的操作的DML中。 
图6是从GUI 106所取得的截屏图。在此示例中,在编辑器602的左窗格606中选择对象604(再一次地,“账户”),并且在右窗格608中显示其字段。在此情况下,相关的操作是“查询”操作。右窗格508中的所有字段都是可由用户进行选择的;即,所有字段都是有效的,并且用户可以对其进行选择,以包括在用于正在执行的操作的DML中。在图6的示例中,同样还可以显示基础对象(“账户”)的父610和子612对象,并且用户可以对父和子对象的有效字段进行扩展和查看。 
取决于组件正在执行的操作,对于用户而言可用于对象的字段可以是不同的。即,GUI抑制对于操作无效的字段。然而,在一些示例中,GUI 106可以显示无效字段,但是将这些字段指明为不可选择的(例如,GUI 106阻止用户在该字段上点击)。GUI 106还可以自动地取消选择用户所选择的任何无效字段。GUI 106还可以实行仅仅某一数目的字段的选择;即,如果用户选择多于预定数目的字段,则GUI可以自动地取消选择任何超额选择的字段,或者可以阻止用户选择超出用于这个操作的字段的预定数目的任何附加字段。例如,如果仅仅可以向操作给出对象的一个字段,则GUI 106可以准许用户随意地选择任何字段,但是然后自动地取消选择对象的所有其他字段。相似地,GUI 106可以确保任何特定操作所需要的字段显现为已选择,并且 不可以被用户取消选择。如果操作将接受选择对象的任何数目的字段,则GUI可以准许用户自由地选择和取消选择字段。 
GUI 106实行用于字段可见性和字段选择的操作特定规则,并且将该规则与关于对象类型的操作特定规则进行组合。即,当适当时,UI对每种不同类型的对象层级实行规则——相同树控件的不同部分将呈现不同的、适当的选择行为。例如,与子对象或基础对象相比,父对象可以具有关于其字段的不同选择规则。 
一些操作参考(或修改)对象以及其父或子两者。例如,可以查询对象,其从其子中的每一个返回信息。GUI了解哪些操作可能需要对于父和/或子的参考。它处于在树控件(例如,基础、基础+父、基础+父+子)中显示适当的多组信息的这些环境中。另外,一些字段在这些环境中是可见的,而一些是不可见的,并且用于检查的规则可能变化。在一些示例中,查询操作示出了对象的父和子两者、大多数字段,并且允许选择来自父和子的多个字段。另一方面,“插入更新”操作仅仅示出了父对象(除了基础字段之外),并且仅仅示出了有限数目的字段(键值字段),并且仅仅允许选择用于每个父对象的这些字段之一。最终结果是恰当构建的记录格式。 
在给定具体操作的情况下,一旦GUI已经强迫用户选择用于操作的对象的有效字段,GUI就可以自动地且正确地生成记录格式的DML表示和组件与远程数据库交互所需的变换功能两者。当用DML生成记录格式时,DML可以包括子和父的子对象(sub-object)。还可以生成专用于所生成的DML和字段选择的信息。例如,GUI记录哪些字段需要特殊处置(例如,必须被设置为特殊操作——“空(NULL)”——的字段),使得组件可以向远程数据库提供特殊指令。远程数据库将使用这些特殊指令来采取适当动作,该动作对应于这个字段中的特殊值(例如,远程数据库将响应于接收到这个字段中的空值来清除该字段)。 
在一些情况下,GUI 106遵循具体的、已知的一组规则(例如,基于操作类型所采取的动作)。替换地,GUI 106基于它在到远程数据库接口的当前的活动连接期间已动态地发现了什么内容来采取动作。例如,GUI 106可以因为某些字段在当前上下文中没有意义而确定排除它们(例如,在“创建”操作的上下文中无法创建的字段)。相似地,GUI 106可以基于字段的属性而预先选择字段。GUI 106还可以仅仅示出当前存在的对象和字段。在一些示 例中,不存在对象和字段的硬编码的列表——在运行时确定此信息(像所有其他信息一样)。 
可以使用用于在计算机上执行的软件来实现在这里所描述的技术。例如,该软件形成了用于在一个或多个已编程或可编程计算机系统(其可以具有诸如分布式、客户端/服务器、或网格之类的各种架构)上执行的一个或多个计算机程序中的规程,所述计算机系统中的每一个包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置或端口、和至少一个输出装置或端口。该软件可以形成更大程序中的一个或多个模块,该更大程序例如提供与计算图形的设计和配置相关的其他服务。可以将该图形的节点和元素实现为在计算机可读介质中存储的数据结构或符合在数据贮存库中存储的数据模型的其他有组织数据。 
可以在可由通用或专用可编程计算机读取的存储介质(诸如,CD-ROM)上提供该软件、或者可以经由网络的通信介质将该软件递送(以传播信号来编码)到执行该软件所在的计算机。可以在专用计算机上或者使用诸如协处理器之类的专用硬件来执行所有所述功能。可以以不同计算机执行由该软件指定的计算的不同部分的分布式方式来实现该软件。每个这种计算机程序优选地被存储或下载到可由通用或专用可编程计算机读取的存储介质或装置(例如,固态存储器或介质、或者磁或光介质)上,用于在由该计算机系统读取所述存储介质或装置时配置并操作该计算机以执行在这里描述的规程。还可以认为本发明的系统被实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机系统以特定和预定义的方式操作以便执行在这里描述的功能。 
已经描述了本发明的多个实施例。不过,将理解,可以做出各种修改,而不脱离本发明的精神和范围。例如,以上所描述的一些步骤可以是与顺序无关的,并因而可以按照与所描述的顺序不同的顺序执行。 
要理解,前述描述意欲说明而非限制本发明的范围,本发明的范围通过所附权利要求的范围来限定。例如,可以用不同的顺序执行上述多个功能步骤,而没有实质地影响到总体处理。其他实施例处于所附权利要求的范围内。 
权利要求书(按照条约第19条的修改)
1.一种方法,包括:
经由网络连接到数据存储系统,该数据存储系统存储数据对象;以及
通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
2.根据权利要求1的方法,其中图形用户接口从用户接收输入,并且向该数据处理组件中的至少一个提供格式化信息,该格式化信息根据与该数据对象相关联的一个或多个字段来定义用于数据记录的格式,其中根据所定义的格式而格式化的数据记录与该数据处理组件所执行的操作兼容。
3.根据权利要求2的方法,其中该图形用户接口基于与从多个操作中选择的操作相关联的规则来显示数据对象和与该数据对象相关联的字段,该规则指定哪些数据对象和字段适用于所选择的操作。
4.根据权利要求3的方法,其中该图形用户接口仅仅显示满足该规则的数据对象和字段。
5.根据权利要求3的方法,其中该图形用户接口所显示的数据对象和字段中的一个或多个是可选择的。
6.根据权利要求5的方法,其中满足该规则的数据对象和字段被自动地显示为已被选择。
7.根据权利要求6的方法,其中该图形用户接口阻止用户取消选择被自动地显示为已被选择的数据对象和字段。
8.根据权利要求1的方法,其中该数据处理组件生成要发送到该数据存储系统的请求。
9.根据权利要求8的方法,其中该数据处理组件将具有多个输入数据记录的输入变换为单个请求消息。
10.根据权利要求8的方法,其中该数据处理组件将从该数据存储系统接收到的响应消息变换为多个输出数据记录。
11.根据权利要求1的方法,其中该数据处理组件基于表示数据流的输入参数来生成该请求消息。
12.根据权利要求11的方法,其中用户通过元数据浏览器来变更该数据处理组件的输入参数。
13.根据权利要求10的方法,其中从该数据存储系统接收到的简单对象访问协议响应包含成功的功能执行的确认和失败的功能执行的确认。
14.根据权利要求13的方法,其中该数据处理组件将成功的功能执行的确认和失败的功能执行的确认分开。
15.根据权利要求14的方法,其中该数据处理组件将与失败的功能执行和成功的功能执行相关联的数据转发到该数据处理组件的不同端口。
16.根据权利要求1的方法,其中连接到该数据存储系统包括:
将来自该数据处理组件的登录请求传送到该数据存储系统;
登录到该数据存储系统中,以获得会话证书;
存储该会话证书;以及
将所存储的会话证书编码为一个或多个登录请求。
17.根据权利要求16的方法,其中将该登录请求传送到内部网关。
18.根据权利要求16的方法,其中将所存储的会话证书编码为多个并发的登录请求。
19.根据权利要求1的方法,其中生成输出数据流包括:对于从该数据存储系统接收到的一批或多批的部分结果执行操作。
20.根据权利要求1的方法,其中该一个或多个数据处理组件至少包括第一数据处理组件和第二数据处理组件。
21.根据权利要求20的方法,还包括:
该第一数据处理组件从该数据存储系统接收一批或多批部分结果;
在该第一数据处理组件继续接收各批部分结果的同时,该第一数据处理组件向该第二数据处理组件提供该部分结果中的至少一些。
22.根据权利要求21的方法,其中该第二处理组件至少部分地基于所接收到的部分结果来生成输出数据流。
23.一种系统,包括:
网络接口,包括用于连接到数据存储系统的电路,该数据存储系统存储数据对象;以及
数据处理环境,包括至少一个处理器,该至少一个处理器被配置为通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
24.一种系统,包括:
用于经由网络连接到数据存储系统的部件,该数据存储系统存储数据对象;以及
用于通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口的部件,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
25.一种用于存储计算机程序的计算机可读介质,该计算机程序包括用于使得计算机进行以下步骤的指令:
经由网络连接到数据存储系统,该数据存储系统存储数据对象;以及
通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
26.根据权利要求1的方法,其中该数据处理组件中的至少一个包括一个或多个端口。
27.根据权利要求26的方法,其中该一个或多个端口包括以下至少一个:被配置为接收输入数据流的端口、和被配置为传递输出数据流的端口。
28.根据权利要求27的方法,其中该输入数据流包括多个记录。
29.根据权利要求27的方法,其中该输出数据流包括多个记录。
30.根据权利要求1的方法,其中该输入数据流和该输出数据流中的一个或两者包括多个记录。

Claims (25)

1.一种方法,包括:
经由网络连接到数据存储系统,该数据存储系统存储数据对象;以及
通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
2.根据权利要求1的方法,其中图形用户接口从用户接收输入,并且向该数据处理组件中的至少一个提供格式化信息,该格式化信息根据与该数据对象相关联的一个或多个字段来定义用于数据记录的格式,其中根据所定义的格式而格式化的数据记录与该数据处理组件所执行的操作兼容。
3.根据权利要求2的方法,其中该图形用户接口基于与从多个操作中选择的操作相关联的规则来显示数据对象和与该数据对象相关联的字段,该规则指定哪些数据对象和字段适用于所选择的操作。
4.根据权利要求3的方法,其中该图形用户接口仅仅显示满足该规则的数据对象和字段。
5.根据权利要求3的方法,其中该图形用户接口所显示的数据对象和字段中的一个或多个是可选择的。
6.根据权利要求5的方法,其中满足该规则的数据对象和字段被自动地显示为已被选择。
7.根据权利要求6的方法,其中该图形用户接口阻止用户取消选择被自动地显示为已被选择的数据对象和字段。
8.根据权利要求1的方法,其中该数据处理组件生成要发送到该数据存储系统的请求。
9.根据权利要求8的方法,其中该数据处理组件将具有多个输入数据记录的输入变换为单个请求消息。
10.根据权利要求8的方法,其中该数据处理组件将从该数据存储系统接收到的响应消息变换为多个输出数据记录。
11.根据权利要求1的方法,其中该数据处理组件基于表示数据流的输入参数来生成该请求消息。
12.根据权利要求11的方法,其中用户通过元数据浏览器来变更该数据处理组件的输入参数。
13.根据权利要求10的方法,其中从该数据存储系统接收到的简单对象访问协议响应包含成功的功能执行的确认和失败的功能执行的确认。
14.根据权利要求13的方法,其中该数据处理组件将成功的功能执行的确认和失败的功能执行的确认分开。
15.根据权利要求14的方法,其中该数据处理组件将与失败的功能执行和成功的功能执行相关联的数据转发到该数据处理组件的不同端口。
16.根据权利要求1的方法,其中连接到该数据存储系统包括:
将来自该数据处理组件的登录请求传送到该数据存储系统;
登录到该数据存储系统中,以获得会话证书;
存储该会话证书;以及
将所存储的会话证书编码为一个或多个登录请求。
17.根据权利要求16的方法,其中将该登录请求传送到内部网关。
18.根据权利要求16的方法,其中将所存储的会话证书编码为多个并发的登录请求。
19.根据权利要求1的方法,其中生成输出数据流包括:对于从该数据存储系统接收到的一批或多批的部分结果执行操作。
20.根据权利要求1的方法,其中该一个或多个数据处理组件至少包括第一数据处理组件和第二数据处理组件。
21.根据权利要求20的方法,还包括:
该第一数据处理组件从该数据存储系统接收一批或多批部分结果;
在该第一数据处理组件继续接收各批部分结果的同时,该第一数据处理组件向该第二数据处理组件提供该部分结果中的至少一些。
22.根据权利要求21的方法,其中该第二处理组件至少部分地基于所接收到的部分结果来生成输出数据流。
23.一种系统,包括:
网络接口,包括用于连接到数据存储系统的电路,该数据存储系统存储数据对象;以及
数据处理环境,包括至少一个处理器,该至少一个处理器被配置为通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
24.一种系统,包括:
用于经由网络连接到数据存储系统的部件,该数据存储系统存储数据对象;以及
用于通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口的部件,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
25.一种用于存储计算机程序的计算机可读介质,该计算机程序包括用于使得计算机进行以下步骤的指令:
经由网络连接到数据存储系统,该数据存储系统存储数据对象;以及
通过包括表示数据处理组件的节点的数据流图来访问该数据存储系统的接口,该数据处理组件通过表示数据流的链路来连接,该接口提供用于访问该数据对象的功能;
其中,该数据处理组件中的至少一个对于所接收的输入数据流执行用于使能由该接口提供的功能的操作以修改一个或多个所存储的数据对象,并且响应于由该接口提供的功能来执行操作以生成输出数据流。
CN201080016467.5A 2009-02-13 2010-02-12 与数据存储系统的通信 Active CN102395950B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15264009P 2009-02-13 2009-02-13
US61/152,640 2009-02-13
PCT/US2010/024115 WO2010093933A1 (en) 2009-02-13 2010-02-12 Communicating with data storage systems

Publications (2)

Publication Number Publication Date
CN102395950A true CN102395950A (zh) 2012-03-28
CN102395950B CN102395950B (zh) 2016-03-16

Family

ID=42562078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080016467.5A Active CN102395950B (zh) 2009-02-13 2010-02-12 与数据存储系统的通信

Country Status (7)

Country Link
US (1) US9846732B2 (zh)
EP (1) EP2399192A4 (zh)
KR (2) KR101693229B1 (zh)
CN (1) CN102395950B (zh)
AU (2) AU2010213583A1 (zh)
CA (1) CA2750479C (zh)
WO (1) WO2010093933A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556535A (zh) * 2013-07-18 2016-05-04 阿尔卡特朗讯公司 用于保护私有数据的方法和设备
CN106164883A (zh) * 2014-02-14 2016-11-23 西部数据技术公司 针对网络连接的存储系统的方法和装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395950B (zh) 2009-02-13 2016-03-16 起元技术有限责任公司 与数据存储系统的通信
CN102754072B (zh) 2009-12-14 2016-10-19 起元技术有限责任公司 规定用户界面元素
KR101826099B1 (ko) * 2010-09-10 2018-03-22 아브 이니티오 테크놀로지 엘엘시 속성을 기초로 하는 데이터 선택의 관리
US9298473B2 (en) * 2010-10-29 2016-03-29 Sap Se System and method for a generic object access layer
US11182455B2 (en) 2011-01-29 2021-11-23 Sdl Netherlands B.V. Taxonomy driven multi-system networking and content delivery
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US10452740B2 (en) * 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
EP3080691B1 (en) 2013-12-13 2021-10-06 AB Initio Technology LLC Dynamically determing a mode of a data processing application
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
US11343352B1 (en) * 2017-06-21 2022-05-24 Amazon Technologies, Inc. Customer-facing service for service coordination
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
CN110297699B (zh) 2018-03-23 2021-09-14 华为技术有限公司 调度方法、调度器、存储介质及系统
US11921872B2 (en) * 2020-12-16 2024-03-05 International Business Machines Corporation Access control for a data object including data with different access requirements
US11461297B1 (en) 2021-06-09 2022-10-04 T-Mobile Usa, Inc. Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider
US12086141B1 (en) 2021-12-10 2024-09-10 Amazon Technologies, Inc. Coordination of services using PartiQL queries

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195867A1 (en) * 1998-10-12 2003-10-16 Starwave Corporation Method and apparatus for event modeling
US20050246717A1 (en) * 2004-04-29 2005-11-03 Sybase, Inc. Database System with Methodology for Providing Stored Procedures as Web Services
WO2006091624A2 (en) * 2005-02-22 2006-08-31 Transparency Software, Inc. System and method for determining information related to user interactions with an application
CN1961313A (zh) * 2004-06-25 2007-05-09 苹果电脑有限公司 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统
CN101000621A (zh) * 2006-12-30 2007-07-18 中国建设银行股份有限公司 一种ims数据库互动式访问方法和工具
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5438659A (en) 1992-10-08 1995-08-01 Hewlett-Packard Company Object-action user interface management system
US5966072A (en) * 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US5844554A (en) 1996-09-17 1998-12-01 Bt Squared Technologies, Inc. Methods and systems for user interfaces and constraint handling configurations software
US6102965A (en) * 1996-09-23 2000-08-15 National Instruments Corporation System and method for providing client/server access to graphical programs
US6437805B1 (en) * 1996-09-23 2002-08-20 National Instruments Corporation System and method for accessing object capabilities in a graphical program
US6064812A (en) * 1996-09-23 2000-05-16 National Instruments Corporation System and method for developing automation clients using a graphical data flow program
US6173438B1 (en) * 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US7210117B2 (en) * 1999-08-19 2007-04-24 National Instruments Corporation System and method for programmatically generating a graphical program in response to program information
US7937665B1 (en) * 2000-06-13 2011-05-03 National Instruments Corporation System and method for automatically generating a graphical program to implement a prototype
US7000190B2 (en) * 1999-08-19 2006-02-14 National Instruments Corporation System and method for programmatically modifying a graphical program in response to program information
US7120876B2 (en) * 1999-08-19 2006-10-10 National Instruments Corporation System and method for programmatically generating a graphical program in response to user input
US20090241089A1 (en) 1999-08-19 2009-09-24 Subramanian Ramamoorthy Converting a First Graphical Program into a Second Graphical Program Using an Intermediate Abstract Representation
US6694321B1 (en) * 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
AU2001243597A1 (en) * 2000-03-03 2001-09-17 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP2001344105A (ja) 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
US6763515B1 (en) * 2000-06-05 2004-07-13 National Instruments Corporation System and method for automatically generating a graphical program to perform an image processing algorithm
AU2001268194A1 (en) * 2000-06-05 2001-12-17 Altoweb Systems, Inc. System and method for accessing, organizing, and presenting data
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US8042098B2 (en) 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7188091B2 (en) * 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
US20040210445A1 (en) 2001-04-05 2004-10-21 Luca Veronese Method and system for specifying and implementing business applications
US6801229B1 (en) 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US7493397B1 (en) * 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US20040093342A1 (en) 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US20030172193A1 (en) * 2002-03-07 2003-09-11 Olsen Jesse Dale User interface generator and method of automatically generating a user interface
US20030174165A1 (en) 2002-03-18 2003-09-18 Barney Rock D. System and method for rendering a directed graph
US7353464B1 (en) * 2002-04-01 2008-04-01 Microsoft Corporation Hierarchical data navigation tool populated by a web service
US20080091491A1 (en) * 2002-04-18 2008-04-17 Bdna Corporation Method and/or system for flexible data handling
US7574652B2 (en) * 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
WO2004015627A2 (en) * 2002-08-09 2004-02-19 Corticon Technologies, Inc. Rule engine
ATE540505T1 (de) * 2002-08-26 2012-01-15 Ibm Bestimmung des mit einer netzwerkaktivität assoziierten bedrohungsgrades
US7167850B2 (en) * 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7840545B2 (en) * 2002-10-25 2010-11-23 International Business Machines Corporation Method and system for providing access to a database
AU2002953555A0 (en) * 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
US7644361B2 (en) * 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
JP4127194B2 (ja) 2003-01-15 2008-07-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
GB0306971D0 (en) * 2003-03-26 2003-04-30 British Telecomm Client server model
US20040239674A1 (en) * 2003-06-02 2004-12-02 Microsoft Corporation Modeling graphs as XML information sets and describing graphs with XML schema
US7624375B2 (en) 2003-06-12 2009-11-24 National Instruments Corporation Automatically configuring a graphical user interface element to bind to a graphical program
US7533347B2 (en) 2003-08-13 2009-05-12 National Instruments Corporation Creating a graphical user interface for selected parameters of a graphical program
KR20090039803A (ko) * 2003-09-15 2009-04-22 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링
US7756907B2 (en) * 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US20070276689A1 (en) 2006-05-12 2007-11-29 Kirk Slone Workflow data binding
US7913231B2 (en) 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US8296665B2 (en) 2004-05-11 2012-10-23 Sap Ag Developing and executing applications with configurable patterns
US7530052B2 (en) * 2004-05-14 2009-05-05 National Instruments Corporation Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US8533229B2 (en) * 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
JP4275013B2 (ja) * 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US20050289356A1 (en) * 2004-06-29 2005-12-29 Idan Shoham Process for automated and self-service reconciliation of different loging IDs between networked computer systems
WO2006043012A1 (en) 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
US7899833B2 (en) * 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7523440B2 (en) 2004-11-16 2009-04-21 The Mathworks, Inc. Dynamic generation of formatted user interfaces in software environments
US7349384B2 (en) * 2004-12-10 2008-03-25 Microsoft Corporation Reliable one-way messaging over request-response transport protocols
US20060190480A1 (en) 2005-02-22 2006-08-24 Transparency Software, Inc. Generation of names related to organization actions
EP1851662A2 (en) * 2005-02-24 2007-11-07 Xeround Systems Ltd. Method and apparatus for distributed data management in a switching network
US7716630B2 (en) * 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US8078954B2 (en) * 2005-09-27 2011-12-13 Oracle International Corporation System and method for page flow editor
US7739292B2 (en) * 2005-09-28 2010-06-15 Altova Gmbh System and method for modeling and managing enterprise architecture data and content models and their relationships
US7650316B2 (en) 2006-03-10 2010-01-19 National Instruments Corporation Automatic generation of help information for specified systems
US20070233655A1 (en) 2006-04-03 2007-10-04 National Instruments Corporation Graphical program representation of queries
US7870556B2 (en) * 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US7701869B2 (en) 2006-07-21 2010-04-20 National Instruments Corporation Generating a data flow diagram
JP5894724B2 (ja) * 2006-08-10 2016-03-30 アビニシオ テクノロジー エルエルシー グラフ型計算の分散サービス
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US7644254B2 (en) * 2007-04-18 2010-01-05 International Business Machines Corporation Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US8271943B2 (en) * 2007-04-24 2012-09-18 National Instruments Corporation Automatically generating a graphical program with a plurality of models of computation
US9594731B2 (en) * 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
EP2191362B1 (en) * 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
US8156481B1 (en) 2007-10-05 2012-04-10 The Mathworks, Inc. Profiler-based optimization of automatically generated code
US20090319494A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CA2729304C (en) 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
US20100235495A1 (en) * 2008-09-10 2010-09-16 Salesforce.Com, Inc. Methods and systems for reducing a load on a multi-tenant database
CN102395950B (zh) 2009-02-13 2016-03-16 起元技术有限责任公司 与数据存储系统的通信
US8560941B2 (en) 2009-04-08 2013-10-15 Microsoft Corporation Schema based user interface mechanisms
US10445309B2 (en) 2009-11-13 2019-10-15 Ab Initio Technology Llc Managing record format information
CN102754072B (zh) 2009-12-14 2016-10-19 起元技术有限责任公司 规定用户界面元素
KR101826099B1 (ko) 2010-09-10 2018-03-22 아브 이니티오 테크놀로지 엘엘시 속성을 기초로 하는 데이터 선택의 관리
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
CN111538634B (zh) 2014-04-17 2023-10-03 起元技术有限责任公司 计算系统、方法及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195867A1 (en) * 1998-10-12 2003-10-16 Starwave Corporation Method and apparatus for event modeling
US20050246717A1 (en) * 2004-04-29 2005-11-03 Sybase, Inc. Database System with Methodology for Providing Stored Procedures as Web Services
CN1961313A (zh) * 2004-06-25 2007-05-09 苹果电脑有限公司 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统
WO2006091624A2 (en) * 2005-02-22 2006-08-31 Transparency Software, Inc. System and method for determining information related to user interactions with an application
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
CN101000621A (zh) * 2006-12-30 2007-07-18 中国建设银行股份有限公司 一种ims数据库互动式访问方法和工具

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556535A (zh) * 2013-07-18 2016-05-04 阿尔卡特朗讯公司 用于保护私有数据的方法和设备
CN106164883A (zh) * 2014-02-14 2016-11-23 西部数据技术公司 针对网络连接的存储系统的方法和装置
CN106164883B (zh) * 2014-02-14 2019-09-13 西部数据技术公司 针对网络连接的存储系统的方法和装置

Also Published As

Publication number Publication date
KR20150038757A (ko) 2015-04-08
US9846732B2 (en) 2017-12-19
KR101693229B1 (ko) 2017-01-05
CN102395950B (zh) 2016-03-16
CA2750479A1 (en) 2010-08-19
US20100217783A1 (en) 2010-08-26
AU2010213583A1 (en) 2011-08-11
AU2016200704B2 (en) 2017-10-05
KR20110119715A (ko) 2011-11-02
AU2016200704A1 (en) 2016-02-25
WO2010093933A1 (en) 2010-08-19
EP2399192A1 (en) 2011-12-28
EP2399192A4 (en) 2016-09-07
CA2750479C (en) 2019-03-12

Similar Documents

Publication Publication Date Title
CN102395950A (zh) 与数据存储系统的通信
US8977652B2 (en) Client-side API framework for uniform resource identifier (URI) manipulations
US8347214B2 (en) Automated interface-specification generation for enterprise architectures
CN103164249A (zh) 用于脚本语言编译器的扩展机制
Parekh et al. Retrofitting autonomic capabilities onto legacy systems
US20150143355A1 (en) Service oriented architecture version and dependency control
US20080288792A1 (en) Method and apparatus of adaptive integration activity management for business application integration
CN102754411A (zh) 使用客户端-服务器网桥管理对象
US20200401465A1 (en) Apparatuses, systems, and methods for providing healthcare integrations
US20130167110A1 (en) Modeled user interface controllers
US8782470B2 (en) Generation of test data for web service-based test automation and semi-automated test data categorization
US9075840B1 (en) Method and computer program product for allowing a software application to interact with a product
US9299049B2 (en) Contract-based process integration
Li et al. Breeze graph grammar: a graph grammar approach for modeling the software architecture of big data‐oriented software systems
KR20150133902A (ko) 소프트웨어 제품 라인에 기반한 서비스 개발 시스템 및 방법
CN112134918B (zh) 云服务中函数与触发器匹配状态的检测及处理方法
US10606569B2 (en) Declarative configuration elements
US8694596B2 (en) Systems and methods for information brokering in software management
US9059992B2 (en) Distributed mobile enterprise application platform
CN109358972A (zh) 中间件客户端的日志管理方法、装置及计算机系统
US11620126B2 (en) Dynamic multiple repository package management through continuous integration
CN115454421A (zh) 低代码化接口的开发方法及装置
Springborg et al. Towards a secure API client generator for IoT devices
JP5732926B2 (ja) リモートプロシージャコール処理方法
US20240289125A1 (en) Systems and methods for device configuration using a configuration normalization platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant