CN108885633B - 用于自动发现和连接到rest接口的技术 - Google Patents

用于自动发现和连接到rest接口的技术 Download PDF

Info

Publication number
CN108885633B
CN108885633B CN201780019894.0A CN201780019894A CN108885633B CN 108885633 B CN108885633 B CN 108885633B CN 201780019894 A CN201780019894 A CN 201780019894A CN 108885633 B CN108885633 B CN 108885633B
Authority
CN
China
Prior art keywords
data
pattern
computing device
analyzing
representation
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
CN201780019894.0A
Other languages
English (en)
Other versions
CN108885633A (zh
Inventor
G·P·坎宁安
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.)
Interactive Intelligence Group Inc
Original Assignee
Interactive Intelligence Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Interactive Intelligence Group Inc filed Critical Interactive Intelligence Group Inc
Publication of CN108885633A publication Critical patent/CN108885633A/zh
Application granted granted Critical
Publication of CN108885633B publication Critical patent/CN108885633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • 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/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种用于自动发现和连接到表述性状态转移(REST)接口的技术,该技术包括与第三方托管的Web服务的REST接口耦合通信的供应商计算装置。供应商计算装置被配置为响应已经向Web服务的端点发送HTTP请求时,分析从Web服务的REST接口接收的数据表示,并且根据数据表示的分析来确定数据表示的模式。另外,供应商计算装置被配置为根据所确定的模式为REST接口生成一个或多个可能的规则。在此还说明了其他实施例。

Description

用于自动发现和连接到REST接口的技术
相关申请的交叉引用
本申请涉及并要求2016年3月23日提出申请的序列号为62/311,956的美国临时专利申请的优先权,该申请的内容在此全部并入本公开文本。
背景技术
表述性状态转移(REST)已经成为网络超媒体应用(如Web应用)的普遍技术。REST或RESTful的Web服务提供了互联网上计算机系统之间的互操作性,从而允许请求系统使用一组统一的、预定义的无状态操作来访问和操作Web资源的文本表示。因此,RESTful的Web服务通常比其他Web服务更轻量级,而且通常被认为更易于维护和扩展。几乎所有RESTful的Web服务都依赖超文本传输协议(HTTP)作为其底层应用协议。
RESTful的Web服务是基于资源而不是基于动作的(例如,名词而不是动词)。Web资源是那些可以在Web上识别、命名、寻址或以其他方式处理的资源,如媒体(例如,图片、视频等)、网页,信息等。可以通过资源的统一资源标识符(URI)访问Web资源。在RESTful的Web服务中,对资源URI的请求将引发应答,包括所请求资源的表示(例如,资源表示),该表示可以是可扩展标记语言(XML)、超文本标记语言(HTML)、JavaScript对象表示法(JSON)或一些其他定义的格式。资源表示可以包括数据、到其他资源的链接等。
请求需要识别该请求正在寻找的(多个)资源(例如,通过URI或统一资源定位符(URL))。虽然RESTful的体系结构定义了统一的接口来约束资源的识别,但是在请求资源之前通常期望接口、资源命名规范以及可通过接口访问的资源类型是已知的。因此,现有技术通常需要对参数(例如,查询、资源等)、图案、常见对象等进行硬编码为用于访问资源的URI(例如,通过HTTP GET方法)。
实际上,应用程序开发公司可以将来自一个应用程序的数据和/或功能与另一个应用程序的数据和/或功能集成在一起,这个过程通常被称为应用集成(有时被称为企业应用集成(EAI))。因此,应用程序开发公司可以开发与一个或多个其他网络应用程序或Web服务进行接口的定制软件解决方案。这通常经由通过一组适配器或连接器(即,与底层应用程序接口的程序)连接到应用程序的总线/集线器实现。这种连接器通常依赖于独立于应用程序的或通用的数据格式,因此连接器不必按第三方应用程序的格式进行数据转换。
然而,在实际应用中,如果没有进一步的手动发现,数据格式可能是未知的和/或所述数据相对于其相关联的端点的位置可能是未知的。换句话说,因为资源表示规则(schema)可以由第三方应用程序的架构师、管理员等定义,所以可能没有数据的“通用”格式和/或路径。因此,如果事先不知道REST接口和访问资源,就可能无法发现REST接口和访问资源。因此,存在对改进用于自动发现和连接到REST接口的技术的需求。
发明内容
在一个方面,一种用于自动发现和连接到表述性状态转移(REST)接口的方法包括以下步骤:供应商计算装置分析在应答已经向Web服务的端点发送了HTTP请求时从Web服务REST接口接收的数据表示;供应商计算装置根据数据表示的分析来确定所述数据表示的模式;供应商计算装置根据对所述数据表示的分析和所确定的模式来分配模式的置信水平;以及供应商计算装置在确定模式的置信水平大于等于相应的置信阈值之后,根据所确定的模式生成REST接口的一个或多个可能的规则。
在一些实施例中,该方法还包括通过供应商计算装置在确定模式中的置信水平大于等于相应的置信阈值之后,根据确定模式识别数据表示的一个或多个关键值,其中为REST接口生成一个或多个可能的规则包括根据识别出的关键值为REST接口生成一个或多个可能的规则。
在一些实施例中,分析数据表示包括:(i)识别可用于识别主数据集的数据表示的数据;(ii)针对数据成员分析数据集的多条记录以找到包含可能数据的集合;以及(iii)分析数据的数据字段路径以确定可用于识别主数据集的一个或多个可能的数据类型。在其他实施例中,识别可用于识别主数据集的数据表示的数据包括在数据表示中搜索重复数据集。在其他实施例中,识别可用于识别主数据集的数据表示的数据包括搜索一个或多个标准分页控制字段,例如但不限于计数、数字、偏移量、开始、结束等。应当理解,分页控制字段可以指分页或分块的数据控制字段,以及可用于获取大数据集作为小块序列的任何其他类型的控制字段。
在一些实施例中,分析数据表示还包括根据符合已知标识符模式的数据字段确定可能的标识符集合,并分析标识符以确定每组数据可能的唯一标识符。在其他实施例中,分析数据表示还包括验证所确定的可能的唯一标识符。在其他实施例中,验证所确定的可能的唯一标识符包括根据所确定的可能唯一标识符向Web服务的端点发送一个或多个附加的HTTP请求,并分析返回的与一个或多个附加的HTTP请求相关联的数据表示。在其他实施例中,HTTP请求包括HTTP GET请求和HTTP POST请求中的一个。
在另一个方面,一种用于自动发现和连接到表述性状态转移(REST)接口的供应商计算装置包括一个或多个计算机可读介质,所述计算机可读介质包括指令和耦合在其上的一个或多个处理器,并且被配置为执行指令以执行以下操作:在响应已经向Web服务的端点发送HTTP请求时分析从Web服务的REST接口接收的数据表示;根据数据表示的分析确定数据表示的模式;根据对数据表示的分析和所确定的模式,为模式分配置信水平;以及在确定模式中的置信水平大于等于相应的置信阈值之后,根据所确定的模式生成REST接口的一个或多个可能规则。
在一些实施例中,所述一个或多个处理器还被配置为执行所述指令,以在确定模式置信水平大于等于相应的置信阈值之后,根据所确定模式来识别用于所述数据表示的一个或多个键值,其中为所述REST接口生成一个或多个可能的规则包括根据所识别的键值来生成用于所述REST接口的一个或多个可能的规则。
在一些实施例中,分析数据表示包括:(i)识别可用于识别主数据集的数据表示的数据;(ii)针对数据成员分析数据集的多个记录以找到包含可能数据的集合;以及(iii)分析数据的数据字段路径以确定可用于识别主数据集的一个或多个可能的数据类型。在其他实施例中,识别可用于识别主数据集的数据表示的数据包括在数据表示中搜索重复数据集。在其他实施例中,识别可用于识别主数据集的数据表示的数据包括搜索一个或多个标准分页控制字段。
在一些实施例中,分析数据表示还包括根据符合已知标识符模式的数据字段确定可能的标识符集合,并分析标识符以确定每组数据可能的唯一标识符。在其他实施例中,分析数据表示还包括验证所确定的可能的唯一标识符。在其他实施例中,验证所确定的可能的唯一标识符包括根据所确定的可能的唯一标识符向Web服务的端点发送一个或多个附加的HTTP请求,并分析返回的与一个或多个附加的HTTP请求相关联的数据表示。在其他实施例中,HTTP请求包括HTTP GET请求和HTTP POST请求中的一个。
附图说明
通过参考下面结合附图对本申请各种示例性实施例的描述,这里包含的实施例和其他特征、优点和公开内容以及实现它们的方式将变得显而易见,并且也会更好理解本申请,在附图中:
图1是用于自动发现和连接到表述性状态转移(REST)接口的系统的至少一个实施例的简化方框图,该系统包括客户端-服务器架构中的消费者计算装置和供应商计算装置;
图2是图1系统的客户端和远程计算装置的至少一个实施例的简化方框图;
图3A和图3B是用于自动发现并连接到可以由图1和2的远程计算装置执行的REST接口的方法的至少一个实施例的简化流程图;以及
图4是用于分析数据表示以确定可以由图1和图2的远程计算装置执行的模式的方法的至少一个实施例的简化流程图。
具体实施方式
为了促进对本申请原理的理解,现在参考附图中所示的实施例,并且使用特定的语言来描述这些实施例。然而,应当理解,这并不因此意图限制本申请的范围。
图1是用于自动发现和连接到表述性状态转移(REST)接口的示例性系统100,所述系统包括通过网络108耦合通信的集成计算装置102和供应商计算装置110。示例性集成计算装置102包括应用集成解决方案104和客户端集成构建器接口。示例性的供应商计算装置110包括网络应用程序112和数据分析平台116。示例性系统100另外还包括第三方供应商计算装置124,所述第三方供应商计算装置也通过网络108与供应商计算装置110耦合通信。示例性的第三方供应商计算装置124包括Web服务126和远程数据库130。
在使用中,集成计算装置102的客户端集成构建器接口106被配置为与供应商计算装置110的网络应用程序112进行接口,或者更具体地被配置为与网络应用程序112的供应商集成构建器接口114进行接口。类似地,网络应用程序112被配置为与Web服务126进行接口,或者更具体地,网络应用程序112的供应商集成构建器接口114被配置为与Web服务126的REST接口128进行接口。
在示例性示例中,网络应用程序集成者(例如,应用程序开发人员)可以负责开发与网络应用程序112进行接口的应用集成解决方案(例如,应用集成解决方案104)。另外,网络应用程序112还可能需要额外与第三方供应商计算装置124的Web服务126进行接口,以便检索资源数据(例如,媒体、网页、信息等),例如可以从第三方供应商计算装置124的远程数据库130中检索,和/或针对至少一部分检索到的数据执行特定功能。例如,(多个)功能可以包括根据检索到的数据采取动作(例如,打电话、发送电子邮件、更新日志等),从而以可视的可读格式向集成应用程序的用户呈现数据,等等。
因此,网络应用程序112被配置为检索可经由REST接口访问的数据。为此,网络应用程序112被配置为从应用集成解决方案104接收用于检索必要数据的信息。然而,网络应用程序集成器可能不知道该规则(例如,数据的组织结构)。应当理解的是尽管这里提到的数据被示例性地示出为存储在远程数据库130中,但是在一些实施例中,数据可以不存储在数据库中。因此,在这样的实施例中,该规则可以不引用数据库规则(例如,规则可以引用与文件结构相对的位置)。
为了确定规则,可以执行发现。然而,不同于传统的手动发现技术,供应商集成构建器接口114被配置为自动执行发现和与Web服务126的REST接口128的连接。为此,供应商集成构建器接口114被配置为经由客户端集成构建器接口106从网络应用集成器接收与Web服务126的端点相对应的统一资源定位符(URL)或统一资源标识符(URI)。应当理解,虽然可以接收URI或URL,但是为了描述清楚起见,这里将资源定位符/标识符称为URL。
当接收到URL时,供应商计算装置110的数据分析平台116被配置为根据该URL发送请求(例如,使用HTTP方法),并分析与该请求的应答一起接收到的数据表示(更多细节参见,例如,图3A-3B的方法300和图4的方法400)。在分析期间,数据分析平台116被配置成为通过REST接口128访问的数据确定一个或多个可能规则。应当理解,规则可以用于识别数据类型、标识符和数据成员,使得集成器在调用网络应用程序112时可以依赖其应用集成解决方案104中的规则。例如,网络应用程序112可以生成并使用定义来连接到REST接口,并将必要的数据带入网络应用程序112的环境中,用于工作流、用户接口、分析计算等。
集成计算装置102、供应商计算装置110和第三方供应商计算装置124中的每一个可以是任何类型的能够执行这里所描述的各种功能的计算装置132。例如,集成计算装置102、供应商计算装置110和第三方供应商计算装置124中的每一个可以是但不限于一个或多个服务器(例如,独立的、机架式的,等等)、计算装置、存储装置、台式计算机和/或云架构网络或数据中心中的(例如,存储区域网络(SAN)的)计算刀片和数据存储装置的组合。
同样,尽管集成计算装置102、供应商计算装置110和第三方供应商计算装置124中的每一个被示为单个计算装置132,但是应当理解,在一些实施例中,集成计算装置102、供应商计算装置110和/或第三方供应商计算装置124中的任何一个可以包括多于一个的计算装置132(例如,在分布式计算架构中),其中的每一个可以用于执行在此所述的功能的至少一部分。例如,在一些实施例中,网络应用程序112可以在一个或多个计算装置132上执行,而数据分析平台116可以在一个或多个其他计算装置132上执行。
现在参照图2,示例性的计算装置132(例如,集成计算装置102、供应商计算装置110和/或第三方供应商计算装置124)包括中央处理单元(CPU)200、输入/输出(I/O)控制器202、主存储器204、网络通信电路206、一个或多个I/O外围设备208和数据存储装置212。在一些可选实施例中,计算装置132可以包括与示例性计算装置132的部件相比附加的、更少的和/或替代的部件,例如图形处理单元(GPU)。应当理解,所述示例性部件中的一个或多个可以组合在单个集成电路(IC)上的单个片上系统(SoC)上。
另外,应当理解,相应的计算装置132的部件和/或硬件/软件资源的类型可以根据相应的计算装置132的类型和预期用途来预测。还应当理解,在计算装置132中的一个包括多于一个的计算装置的实施例中,一个或多个计算装置可以被配置为相对于另一个计算装置具有更少的计算容量和更多的存储容量的数据库服务器。类似地,一个或多个其他计算装置可以被配置为相对于另一个计算装置具有更多计算容量和更少存储容量的应用服务器。
CPU 200或处理器可以实现为能够处理数据的硬件和电路的任何组合。在一些实施例中,计算装置132可以包括多于一个的CPU 200。根据所述实施例,CPU200可以包括例如在单核处理器架构中的一个处理核(未示出)或者例如在多核处理器架构中的多个处理核。不管处理核和CPU 200的数量如何,CPU 200都能够读取和执行程序指令。在一些实施例中,CPU 200可以包括高速缓冲存储器(未示出),所述高速缓冲存储器可以直接与CPU 200集成或者放置在与CPU 200单独互连的单独芯片上。应当理解,在一些实施例中,流水线逻辑可以用于执行软件和/或硬件操作(例如,网络流量处理操作),而不是向CPU 200发出命令或从CPU 200发出命令。
I/O控制器202或I/O接口可以是能够在输入/输出装置和计算装置132之间进行连接的任何类型的计算机硬件或电路组合。示例性地,I/O控制器202被配置为从CPU 200接收输入/输出请求,并且向各个输入/输出装置发送控制信号,从而管理去往/来自计算装置132的数据流。
存储器204可以是能够保存用于处理的数据和指令的任何类型的计算机硬件或电路组合。这种存储器204可以被称为主存储器或一级存储器。应当理解,在一些实施例中,计算装置132的一个或多个部件可以直接访问存储器,使得特定的数据可以独立于CPU 200经由直接存储器存取(DMA)来存储。
网络通信电路206可以为能够经由无线和/或有线通信模式管理网络接口通信(例如,消息、数据报、信息包等)的任何类型的计算机硬件或电路组合。因此,在一些实施例中,网络通信电路206可以包括能够被配置为将计算装置132连接到计算机网络以及其他装置(根据所述实施例)的网络接口控制器(NIC)。
一个或多个I/O外围设备208可以是被配置为连接到计算装置132并与所述计算装置通信的任何辅助装置。例如,I/O外围设备208可以包括但不限于鼠标、键盘、监视器、触摸屏、打印机、扫描仪、麦克风、扬声器等。因此,应当理解,一些I/O装置能够具有一种功能(即,输入或输出)或者两种功能(即,输入和输出)。示例性的I/O外围设备208包括显示器,该显示器可以是能够通过触摸(例如,一个或多个手指、指示笔(stylus)等)接收用户输入的触摸屏显示器。
在一些实施例中,I/O外围设备208可以经由计算装置132的线缆(例如,带状线缆、电线、通用串行总线(USB)线缆、高清多媒体接口(HDMI)线缆等)连接到计算装置132。在这样的实施例中,线缆可以连接到计算装置132的相应端口(未示出),所述端口之间进行的通信可以由I/O控制器202管理。在可选的实施例中,I/O外围设备208可以经由可以由网络通信电路206管理的无线通信模式(例如,
Figure BDA0001809690790000091
Figure BDA0001809690790000092
等)连接到计算装置132。
数据存储装置212可以是能够非易失性存储数据的任何类型的计算机硬件(例如,半导体存储介质、磁性存储介质、光学存储介质等)。这种数据存储装置212通常被称为辅助或二级存储器,并且通常用于存储相对于上述存储器204来说的大量数据。
返回到图1,如前所述,集成计算装置102包括应用集成解决方案104和客户端集成构建器接口106。应用集成解决方案104可以是任何类型的基于网络的软件应用(例如,瘦/零客户端、云应用、网络应用、软件即服务(SaaS)应用等),所述软件应用被配置为通过网络108以客户端-服务器关系与供应商计算装置110通信。如前所述,应用集成解决方案104被配置为用作用户(例如,经由应用集成解决方案104的图形用户界面(GUI))和用户的访问计算装置(例如,桌面、移动计算装置、服务器等)之间的基于软件的界面,所述界面被配置为访问网络应用程序112。客户端集成构建器接口106可以是用于与供应商计算装置110的供应商集成构建器接口114通信的任何类型的接口,例如web浏览器、客户端门户、网络应用程序112的模块等。
网络108可以是任何类型的有线和/或无线网络,包括局域网(LAN)、广域网(WAN)、全球网络(互联网)等。因此,网络116可以包括一个或多个通信耦合的网络计算装置(未示出),以用于通过一系列有线和/或无线互连促进网络通信业务的流动和/或处理。这种网络计算装置可以包括但不限于一个或多个接入点、路由器、交换机、服务器、计算装置、存储装置等。
如前所述,供应商计算装置110包括网络应用程序112和数据分析平台116。网络应用程序112可以是任何类型的基于网络的软件应用(例如,瘦/零客户端、云应用、网络应用、软件即服务(SaaS)应用等),所述软件应用可以配置为通过网络108以客户端-服务器关系与执行应用集成解决方案104的计算装置(未示出)通信。示例性的网络应用程序112包括供应商集成构建器接口114。供应商集成构建器接口114可以是用于执行这里描述的功能的任何类型的接口,例如但不限于门户、网络应用程序112的模块等。应当理解,在一些实施例中,供应商集成构建器接口114可以不是网络应用程序112的接口。在这样的实施例中,供应商集成构建器接口114可以是独立接口、数据分析平台116的部件或者供应商计算装置110的另一个应用的部件。
数据分析平台116可以实现为硬件、固件、软件或者可用于执行这里描述的功能的电路的任何组合。示例性的数据分析平台116包括模式确定器118和数据分析器120,它们中的每一个都可以是被配置为执行这里描述的功能的任何类型的固件、硬件、软件、电路或其组合。在一些实施例中,模式确定器118和/或数据分析器120可以包括其上存储有指令的一个或多个计算机可读介质(例如,存储器204、数据存储装置210和/或任何其他介质存储装置)、以及与一个或多个计算机可读介质耦合并被配置为执行指令以执行这里描述的功能的一个或多个处理器(例如,CPU 200)。
模式确定器118可以被实现为任何类型的固件、硬件、软件、电路或其组合,所述模式确定器被配置为根据对(多个)数据表示执行的分析来确定一个或多个模式,例如可以由数据分析器执行。为此,模式确定器118被配置为根据网络应用集成器接收的Web服务端点的URL生成HTTP请求(例如,HTTP GET请求)。
模式确定器118还被配置为在已经执行分析之后检索模式的置信水平并将置信水平与置信阈值(例如,模式置信阈值)进行比较。如果模式中的置信水平满足或超过阈值,则模式确定器118被配置为根据所识别的模式来识别一个或多个关键值。另外,模式确定器118被配置成为REST接口128生成一个或多个可能的规则,这些规则被网络应用程序112用来生成连接到REST接口128并从中检索数据的表示的定义。
模式确定器118还被配置为如果模式确定器118确定检索到的模式的置信水平不大于或等于置信阈值(即,模式置信阈值),则识别用于增加模式的置信水平的一个或多个问题。此外,模式确定器118被配置为提示网络应用集成器回答所识别的(多个)问题,使得可以根据从网络应用集成器接收的回答来执行进一步的分析(例如,可以由数据分析器120执行)。
在特定情况下,模式可能会不确定,或者根据回答的(多个)问题在进一步分析时更新的模式的置信水平可能不大于或等于相应的模式置信阈值。因此,在这样的情况下,模式确定器118可以被配置为使用暴力破解(brute force)技术检索数据,从而返回比先前分析过程中返回的数据集更大的数据集,并且分析检索到的数据集以识别返回数据集的一个或多个关键值,以生成用于从REST接口128检索数据的一个或多个可能的规则。
数据分析器120可以是任何类型的固件、硬件、软件、电路或其组合,所述数据分析器被配置为分析数据表示以确定数据的模式。数据分析器120还被配置为确定模式的置信水平(即,模式置信水平)。模式置信水平可以被定义为任何量(例如,百分比、X和Y之间的数值,其中X和Y是大于0的整数值,等等),可用于传达对所确定模式的信任程度。在一些实施例中,模式的一个或多个方面可以相对于模式的其他方面被加权。示例方面可以包括但不限于数据类型、标识符、数据成员等。
在特定情况下,所确定的模式置信水平可能不满足或超过相应的模式置信阈值。因此,数据分析器120还被配置为分析表示,以根据对网络应用集成器询问的问题的一个或多个回答(例如,可以由模式确定器118接收)来确定数据的模式。应当理解,在一些实施例中,数据分析器120可以被配置为在数据分析期间确定对应于一个或多个回答的一个或多个问题。还应当理解,在一些实施例中,数据分析器120可以被配置为确定多于一种的可能模式。因此,在这样的实施例中,数据分析器120可以被配置为确定所识别的每个可能模式的模式置信水平。
现在参照图3A和图3B,提供了用于自动发现和连接到REST接口的示例性方法300,该REST接口可以由Web服务供应商计算装置(例如,图1的供应商计算装置110)执行,或者更具体地由供应商计算装置110的数据分析平台116执行。方法300开始于方框302,根据所述实施例,在方框302中,数据分析平台116确定其是否已经从用户接收到URL或URI。应该理解,URL对应于用户已知的Web服务的端点,但是对于该端点,规则(即,数据的结构)是未知的。
如果在方框302中已经接收到Web服务端点的URL,则方法300前进到方框304,在方框304中,数据分析平台116根据方框302中接收的Web服务端点URL,利用HTTP方法(例如GET、POST等)生成HTTP请求。在方框306中,数据分析平台116将生成的HTTP请求发送到Web服务端点URL。在方框308中,数据分析平台116确定是否已经接收到对HTTP请求的响应。如果是,则方法300前进到方框310,在方框310中,数据分析平台116分析接收到的响应的数据表示(例如,参见图4的方法400进行示例性分析),以确定返回的数据表示内的模式。如前所述,可以使用JSON、XML、HTML或者可用于Web服务之间的数据交换的任何其他适用格式来格式化数据表示。
在方框312中,数据分析平台116根据分析结果检索所确定模式的置信水平(即,模式置信水平),例如可以根据分析来确定。在方框314中,数据分析平台116将在方框312中检索到的模式置信水平与预定模式置信阈值进行比较。如前所述,模式置信水平可以被定义为任何量(例如,百分比、X和Y之间的数值,其中X和Y是大于0的整数值,等等),可用于传达对模式的信任程度。在一些实施例中,模式的一个或多个方面可以相对于模式的其他方面被加权。这些方面可以包括数据类型、标识符、数据成员等。
如果数据分析平台116确定模式置信水平不大于或等于(即,小于)模式置信阈值,则方法300分支到图3B中所示的方框320,这将在下面说明。否则,如果数据分析平台116确定模式置信水平不大于或等于(即,小于)模式置信阈值,则方法300分支到方框316。在方框316中,数据分析平台116根据在方框312中检索到的模式识别返回数据集的一个或多个关键值。在方框318中,数据分析平台116根据所识别的关键值、所确定的模式和返回的数据,为期望的Web服务接口生成一个或多个规则(即,与方框302的URL相关联)。应当理解,在一些实施例中,所提出的(多个)规则可以(例如,经由供应商集成构建器接口114)向集成器呈现一定范围的配置选项,以尝试和使用集成器要测试的数据探索模式(例如,确定使用所提出的规则是否产生预期的数据)。
返回到方框314,如前所述,如果数据分析平台116确定模式置信水平不大于或等于模式置信阈值,则方法300分支到方框320。在方框320中,数据分析平台116确定可用于将模式置信水平增加到可接受水平(即,大于模式置信阈值)的一个或多个问题。所述问题可以包括集成器可以回答的任何询问,以更好地分析数据并确定模式。例如,这样的问题可以包括所识别的属性是否错误、甚至是否可以查询URL的数据等。在一些实施例中,可以从在方框310中执行的分析期间确定为需要回答的预定义问题的列表中呈现这些问题。在方框322中,数据分析平台116提示用户回答所识别的(多个)问题。
在方框324中,数据分析平台116确定用户已经回答了所有问题。如果是的话,则方法300前进到方框326,在方框326中,数据分析平台116根据接收到的(多个)回答分析在方框308中接收到的数据表示,以确定模式或更新先前确定的模式(即,在方框310中确定的模式)。在方框328中,数据分析平台116检索根据方框326中执行的分析所确定的更新的模式置信水平。在方框330中,数据分析平台116确定更新的模式置信水平是否大于或等于模式置信阈值。如果是,则方法300分支到方框316,其中如前所述,数据分析平台116根据方框326中确定的模式识别返回数据集的一个或多个关键值。否则,如果数据分析平台116确定更新的模式置信水平小于模式置信阈值,则方法300分支到方框332。
在方框332中,数据分析平台116使用暴力破解检索与方框302中接收的URL相关联的数据。因此,返回的数据集比其他情况下更大。在方框334中,数据分析平台116过滤并分析在方框332中使用暴力破解方法检索到的数据集。在方框336中,数据分析平台116根据方框334中执行的分析的结果来识别返回数据集的任何关键值。在方框338中,数据分析平台116根据识别的关键值和检索到的数据为与URL相关联的Web服务接口生成一个或多个规则。
现在参照图4,提供了用于自动发现并连接到REST接口(例如,图1的REST接口128)的示例性方法400,该REST接口可以由Web服务供应商计算装置(例如,图1的供应商计算装置110)执行,或者更具体地由供应商计算装置110的数据分析平台116执行。如前所述,数据分析平台116包括模式确定器118和数据分析器120。因此,这里描述的方法400的方框中至少有一部分可以由模式确定器118和/或数据分析器120执行。
同样如前所述,示例性方法400可以作为先前所述的图3中方法300的一个或多个方框的至少一部分(例如,在方框310、方框326等中)来执行。应当理解,在方法400被启动之前,从网络应用集成器接收URL,初始HTTP请求(例如,根据所接收的URL生成的HTTP GET请求)被先发送到Web服务端点,并且在响应中接收包括所请求数据的表示(即,数据表示)的响应。
方法400开始于方框402,其中数据分析平台116分析数据表示,从而可以分析生成的数据集。在方框404中,数据分析平台116搜索可用于识别主数据集的数据。为此,在方框406中,数据分析平台116在接收的数据表示的解析结果中搜索重复数据集。例如,重复数据集可以包括任何多值集,例如数组、列表、地图(例如,其中标识符是属性名)等。应当理解,在一些实施例中,重复数据集可以包含在单个记录中。另外,在方框408中,数据分析平台116搜索一个或多个标准分页控制字段,例如计数、数字、偏移量、开始、结束等。例如,数据分析平台116可以确定数据是否返回了具有一个或多个标准分页控制字段的记录、以及作为结果的数据的内部数组。
在方框410中,数据分析平台116确定搜索是否产生重复数据集。如果是,则方法400跳到方框418,这将在下面说明;否则,如果数据分析平台116确定搜索没有查获重复数据集,则方法400前进到方框412。在方框412中,数据分析平台116确定搜索是否返回端点支持对数据分页访问的指示。如果搜索返回端点支持对数据分页访问的指示,则方法400跳转到方框418,这将在下面说明。否则,方法400分支到方框414。
在一些实施例中,在方框414中,数据分析平台116可以被配置为识别可用于识别模式的一个或多个问题。如前所述,这些问题可以提示集成器响应于所识别的属性是否错误、甚至是否可以查询URL的数据等。在一些实施例中,可以从预定义问题的列表中选择问题。此外,在方框416中,数据分析平台116将模式置信水平设置为小于模式置信阈值的数值。因此,数据分析平台116可以采取必要的步骤来获得已经回答的(多个)问题。
应当理解,不包括多数据集且不包括数据被分页的任何指示的数据可以是单个记录。因此,在这样的情况下,在方框414中识别一个或多个问题之前,数据分析平台116可以被配置为确定数据是否实际上是单个记录,并且结果可以是URL仅仅返回单个值的高置信度。为此,数据分析平台116可以被配置为确定记录中的可能标识符是否与URL中的值匹配。如果是,可以推断这是一个键码(key),或者多个键码中的一个,可用于获取这种类型的其他记录,例如可以使用单个记录的键码的输入参数来获取。此外,如果REST接口128响应于该请求仅返回单个记录的置信度很高,则数据分析平台116可以被配置为尝试仅处理单个行,并且在由集成器识别一个或多个问题以进行澄清或确认之前验证假设是否正确,如方框414中执行的。
如前所述,如果数据分析平台116在方框408中确定搜索产生重复数据集,或者在方框412中确定端点支持对数据的分页访问,则方法400分支到方框418。在方框418中,数据分析平台116针对数据成员分析数据集(例如,重复数据集或分页数据集)的多个记录进行分析,以找到包含可能数据的集合。例如,可以分析记录以确定已知字段(例如,“结果”)是否具有拥有许多成员的多数据集,这将增加该字段包括感兴趣数据的概率。在方框420中,数据分析平台116分析数据表示和数据字段路径,以识别可能数据的最可能数据类型。例如,分析可以包括确定数据类型是否是由数据类型可以采用的值定义的特定种类的数据项,例如数字、布尔、UUID、混合大小写(例如,名称)、固定值集(例如,枚举(“M”、“F”)等。
在方框422中,数据分析平台116根据符合标识符模式所匹配的那些字段来确定可能的标识符集合。换句话说,对数据进行分析,以确定数据中的某些内容对于每个值来说是否是唯一的。例如,字段名可以提高置信水平,但是如果字段的值重复,那么该字段显然不是标识符。应当理解,在一些实施例中,唯一标识符可能需要使用多个字段。在方框424中,数据分析平台116分析标识符以确定每组数据可能的唯一标识符。例如,一个字段(例如,“SelfUrl”)可以指向一段特定的数据,这可以提高该字段是标识符的置信水平。
在方框426中,数据分析平台116验证所确定的可能的(多个)唯一标识符。为此,在方框428中,数据分析平台116使用确定的可能唯一标识符将一个或多个HTTP请求(例如,HTTP GET请求、HTTP POST请求等)发送到REST接口128的端点,并分析返回的数据表示。在示例性示例中,数据分析平台116可以向端点发送HTTP GET请求,并将返回的数据记录与来自初始请求的数据记录进行比较,以确定它们是否匹配,从而提供所使用的标识符被声明以及端点的GET模式(例如,GET ONE)也被声明的高置信度。在方框430中,数据分析平台116根据方框426中执行的验证来设置模式的置信水平(即,模式置信水平)。
应当理解,方法300和400中所述的置信水平可以在所提出的规则的多个级别上分配,以指示所识别的数据类型、标识符、数据成员等的置信度。还应当理解,虽然Web服务126的REST接口128已经被描述为RESTful接口,但是在一些实施例中,这里执行的分析可以扩展到XML和/或HTML网页。
虽然在附图和前面的描述中详细说明和描述了本申请,但是应当认为这是示意性的而非限制性的,应当理解,仅示出和描述了某些实施例,并且希望保护在本申请精神内的所有改变和修改。

Claims (18)

1.一种用于自动发现和连接到表述性状态转移(REST)接口的方法,所述方法包括以下步骤:
通过供应商计算装置响应于已经向Web服务的端点发送HTTP请求来分析从所述Web服务的REST接口接收的数据表示;
通过所述供应商计算装置根据所述数据表示的分析来确定所述数据表示的模式;
通过所述供应商计算装置根据对所述数据表示的分析和所确定的所述模式来分配所述模式中的置信水平;和
通过所述供应商计算装置在确定所述模式中的所述置信水平大于等于对应的置信阈值之后,根据所确定的所述模式为所述REST接口生成一个或多个可能的规则;
其中,当所述模式的置信水平不大于或等于置信阈值时,识别用于增加模式的置信水平的一个或多个问题;
其中,当模式不确定时,使用暴力破解技术检索数据并对检索到的数据集进行分析以识别返回数据集的一个或多个关键值,以生成用于从REST接口检索数据的一个或多个可能的规则。
2.根据权利要求1所述的方法,还包括:
由所述供应商计算装置在确定所述模式中的所述置信水平大于或等于对应的置信阈值之后,根据所确定的所述模式识别所述数据表示的一个或多个关键值,其中所述为所述REST接口生成所述一个或多个可能的规则的步骤包括根据所识别的所述关键值为所述REST接口生成所述一个或多个可能的规则。
3.根据权利要求1所述的方法,其中,所述分析所述数据表示的步骤包括:
(i)识别所述数据表示的用于识别主数据集的数据;
(ii)针对数据成员分析所述数据集的多个记录以找到包含可能数据的集合;以及
(iii)分析所述数据的数据字段路径以确定用于识别所述主数据集的一个或多个可能的数据类型。
4.根据权利要求3所述的方法,其中,所述识别用于识别所述主数据集的数据表示的数据包括在所述数据表示中搜索重复数据集。
5.根据权利要求3所述的方法,其中,所述识别用于识别所述主数据集的数据表示的数据包括搜索一个或多个标准分页控制字段。
6.根据权利要求3所述的方法,其中,所述分析所述数据表示的步骤还包括根据符合已知标识符模式的数据字段来确定可能的标识符集合,并且分析所述标识符以确定每组数据的可能的唯一标识符。
7.根据权利要求6所述的方法,其中,所述分析所述数据表示的步骤还包括验证所确定的所述可能的唯一标识符。
8.根据权利要求7所述的方法,其中,所述验证所确定的所述可能的唯一标识符包括根据所确定的所述可能的唯一标识符向所述Web服务的端点发送一个或多个附加的HTTP请求,并且分析返回的与所述一个或多个附加的HTTP请求相关联的数据表示。
9.根据权利要求1所述的方法,其中,所述HTTP请求包括HTTP GET请求和HTTP POST请求中的一个。
10.一种用于自动发现和连接到表述性状态转移(REST)接口的供应商计算装置,所述供应商计算装置包括:
包括指令的一个或多个计算机可读介质;
一个或多个处理器,所述一个或多个处理器与所述一个或多个计算机可读介质耦合,并被配置为执行所述指令以执行以下操作:
响应于已经向Web服务的端点发送HTTP请求,分析从所述Web服务的REST接口接收的数据表示;
根据所述数据表示的分析确定所述数据表示的模式;
根据对所述数据表示的分析和所确定的所述模式,在模式中分配置信水平;以及
在确定所述模式中的置信水平大于或等于对应的置信阈值之后,根据所确定的所述模式为所述REST接口生成一个或多个可能的规则,
其中,当所述模式的置信水平不大于或等于置信阈值时,识别用于增加模式的置信水平的一个或多个问题;
其中,当模式不确定时,使用暴力破解技术检索数据并对检索到的数据集进行分析以识别返回数据集的一个或多个关键值,以生成用于从REST接口检索数据的一个或多个可能的规则。
11.根据权利要求10所述的供应商计算装置,其中,所述一个或多个处理器还被配置为执行所述指令,以在确定所述模式中的置信水平大于或等于对应的置信阈值之后,根据所确定的所述模式来识别所述数据表示的一个或多个关键值,其中所述为所述REST接口生成所述一个或多个可能的规则包括根据所识别的所述关键值来为所述REST接口生成所述一个或多个可能的规则。
12.根据权利要求10所述的供应商计算装置,其中,所述分析所述数据表示包括:
(i)识别所述数据表示的用于识别主数据集的数据;
(ii)针对数据成员分析所述数据集的多个记录以找到包含可能数据的集合;以及
(iii)分析所述数据的数据字段路径以确定用于识别所述主数据集的一个或多个可能的数据类型。
13.根据权利要求12所述的供应商计算装置,其中,所述识别所述数据表示的用于识别所述主数据集的数据包括在所述数据表示中搜索重复数据集。
14.根据权利要求12所述的供应商计算装置,其中,所述识别所述数据表示的用于识别所述主数据集的数据包括搜索一个或多个标准分页控制字段。
15.根据权利要求12所述的供应商计算装置,其中,所述分析所述数据表示还包括根据匹配已知标识符模式的数据字段来确定可能的标识符集合,并且分析所述标识符以确定每组数据的可能的唯一标识符。
16.根据权利要求15所述的供应商计算装置,其中,所述分析所述数据表示还包括验证所确定的所述可能的唯一标识符。
17.根据权利要求16所述的供应商计算装置,其中,所述验证所确定的所述可能的唯一标识符包括根据所确定的所述可能的唯一标识符向所述Web服务的端点发送一个或多个附加的HTTP请求,并分析返回的与所述一个或多个附加的HTTP请求相关联的数据表示。
18.根据权利要求10所述的供应商计算装置,其中,所述HTTP请求包括HTTP GET请求和HTTP POST请求中的一个。
CN201780019894.0A 2016-03-23 2017-03-23 用于自动发现和连接到rest接口的技术 Active CN108885633B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662311956P 2016-03-23 2016-03-23
US62/311,956 2016-03-23
PCT/US2017/023887 WO2017165694A1 (en) 2016-03-23 2017-03-23 Technologies for auto discover and connect to a rest interface

Publications (2)

Publication Number Publication Date
CN108885633A CN108885633A (zh) 2018-11-23
CN108885633B true CN108885633B (zh) 2022-04-19

Family

ID=59898790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780019894.0A Active CN108885633B (zh) 2016-03-23 2017-03-23 用于自动发现和连接到rest接口的技术

Country Status (6)

Country Link
US (1) US11263542B2 (zh)
EP (1) EP3433734A4 (zh)
CN (1) CN108885633B (zh)
AU (1) AU2017237089B2 (zh)
CA (1) CA3017523C (zh)
WO (1) WO2017165694A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023963B (zh) * 2017-12-15 2019-03-12 北京明朝万达科技股份有限公司 一种数据处理方法及装置
US10819562B2 (en) * 2018-07-24 2020-10-27 Zscaler, Inc. Cloud services management systems utilizing in-band communication conveying situational awareness
US11860901B1 (en) * 2019-03-29 2024-01-02 Amazon Technologies, Inc. SQL execution over HTTP for relational databases using connection pooling
CN111857675B (zh) * 2020-08-03 2023-07-11 北京思特奇信息技术股份有限公司 基于c++实现restful服务的方法及系统
CN114116730B (zh) * 2022-01-21 2022-04-12 深圳微迅信息科技有限公司 一种接口管理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399734A (zh) * 2013-07-10 2013-11-20 北京慧点科技股份有限公司 生成rest服务和rest实现的方法及对应的设备
US8745641B1 (en) * 2011-07-14 2014-06-03 Google Inc. Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface
CN104462460A (zh) * 2014-12-16 2015-03-25 武汉理工大学 一种构造rest风格的本体标注可视化系统的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) * 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
JP3559697B2 (ja) * 1997-12-01 2004-09-02 キヤノン株式会社 インクジェット記録ヘッドの製造方法
US20020161757A1 (en) * 2001-03-16 2002-10-31 Jeffrey Mock Simultaneous searching across multiple data sets
AU2002950134A0 (en) * 2002-07-11 2002-09-12 Youramigo Pty Ltd A link generation system
US20040253148A1 (en) * 2003-06-16 2004-12-16 Leaton John R. Multiple probe expansion (MPX™) accessory device for manual, semi-automated and automated liquid handling equipment federally sponsored research
US20090125460A1 (en) * 2007-11-08 2009-05-14 Charles Scott Hewison Automated hazardous materials event response system and method
US8255410B2 (en) * 2008-12-09 2012-08-28 Microsoft Corporation Translating queries to representational state transfer (REST)
CN101478439A (zh) * 2009-01-20 2009-07-08 中兴通讯股份有限公司 统一业务管理平台、接口机和业务处理系统及处理方法
US20110119268A1 (en) * 2009-11-13 2011-05-19 Rajaram Shyam Sundar Method and system for segmenting query urls
US9130975B2 (en) * 2010-06-02 2015-09-08 Avaya Inc. Generation of macros
US8825767B2 (en) * 2010-10-05 2014-09-02 Sivapathalingham Sivavakeesar Scalable secure wireless interaction enabling methods, system and framework
US8526743B1 (en) * 2010-11-01 2013-09-03 Raf Technology, Inc. Defined data patterns for object handling
US9483570B2 (en) 2010-12-30 2016-11-01 International Business Machines Corporation Driving a user experience of a web application using rules that establish or change requests based on user behavior
CN102073742B (zh) * 2011-01-31 2012-11-14 清华大学 一种海量对象的存储系统及其运行方法
US9621440B2 (en) * 2012-08-31 2017-04-11 Rackspace Us, Inc. System and method for validating documentation of representational state transfer (REST) services
EP2711838A1 (en) * 2012-09-25 2014-03-26 British Telecommunications public limited company Documentation parser
CN103281306B (zh) * 2013-05-03 2016-02-24 四川省电力公司信息通信公司 云数据中心虚拟化基础架构平台
US9396046B2 (en) * 2013-10-31 2016-07-19 International Business Machines Corporation Graph based data model for API ecosystem insights
US9584372B2 (en) * 2014-01-07 2017-02-28 International Business Machines Corporation Discovering resources of a distributed computing environment
US9383971B2 (en) * 2014-06-26 2016-07-05 International Business Machines Corporation Mobilize website using representational state transfer (REST) resources
CN104317616B (zh) * 2014-10-13 2018-06-19 中国电子科技集团公司第四十一研究所 一种基于VxWorks的信号发生器数据交互方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745641B1 (en) * 2011-07-14 2014-06-03 Google Inc. Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface
CN103399734A (zh) * 2013-07-10 2013-11-20 北京慧点科技股份有限公司 生成rest服务和rest实现的方法及对应的设备
CN104462460A (zh) * 2014-12-16 2015-03-25 武汉理工大学 一种构造rest风格的本体标注可视化系统的方法

Also Published As

Publication number Publication date
WO2017165694A1 (en) 2017-09-28
AU2017237089A1 (en) 2018-10-04
AU2017237089B2 (en) 2019-11-07
CN108885633A (zh) 2018-11-23
CA3017523C (en) 2022-06-21
US20170278005A1 (en) 2017-09-28
EP3433734A1 (en) 2019-01-30
US11263542B2 (en) 2022-03-01
EP3433734A4 (en) 2019-01-30
CA3017523A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
CN108885633B (zh) 用于自动发现和连接到rest接口的技术
US20220035600A1 (en) API Specification Generation
US10558656B2 (en) Optimizing write operations in object schema-based application programming interfaces (APIS)
AU2021212135B2 (en) Building and managing data-processing attributes for modelled data sources
AU2017269110A1 (en) Defining application programming interfaces (Apis) using object Schemas
EP3553670A1 (en) Querying a data source on a network
CN113760948A (zh) 一种数据查询的方法及装置
EP3311313B1 (en) Network server, methods and computer program product for providing data as a service (daas) in real-time
CN115587575A (zh) 数据表创建方法、目标数据查询方法、装置及设备
US20230116336A1 (en) API Governance Enforcement Architecture
CN113254519B (zh) 多源异构数据库的访问方法、装置、设备和存储介质
US10372760B2 (en) Building queries directed to objects hosted on clouds
US11436291B1 (en) Source rank metric of measuring sources of influence
US11556316B2 (en) Distributed extensible dynamic graph
CN112948733B (zh) 接口维护方法、装置、计算设备以及介质
CN114840574A (zh) 数据查询方法、服务器、节点及存储介质
TWI707273B (zh) 使用統一聚合查詢語言獲取資源的方法及系統
US20180225163A1 (en) Custom connector for platforms
CN115994151B (zh) 数据请求变更方法、装置、电子设备和计算机可读介质
US12001458B2 (en) Multi-cloud object store access
US11874840B2 (en) Table discovery service
US20240176803A1 (en) Simplified schema generation for data ingestion
CN111460273B (zh) 信息推送方法和装置
US20220229858A1 (en) Multi-cloud object store access
CN115905708A (zh) 多平台文物知识服务实现方法、装置、终端和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant