CN115292473A - 低代码方案中的扩展的选择性推荐和部署 - Google Patents
低代码方案中的扩展的选择性推荐和部署 Download PDFInfo
- Publication number
- CN115292473A CN115292473A CN202111201963.4A CN202111201963A CN115292473A CN 115292473 A CN115292473 A CN 115292473A CN 202111201963 A CN202111201963 A CN 202111201963A CN 115292473 A CN115292473 A CN 115292473A
- Authority
- CN
- China
- Prior art keywords
- data
- extension
- field
- determining
- recommendation
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/213—Schema design and management with details for schema evolution support
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
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)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
实现包括:查询数据数据对象的元数据以定义数据对象的子集,数据对象的子集中的每个数据对象包括通用文本字段和/或附件字段,以及对于数据对象的子集中的每个数据对象,处理数据对象的历史数据以标识数据类型的集合,历史数据存储在数据库系统的表的字段内,提供对与第一数据类型对应的第一扩展的推荐,和接收指示接受对第一扩展的推荐的用户输入,并响应于此,自动地提供可执行以添加字段扩展到表和修改应用的用于与第一数据类型对应的值的输入的用户界面(UI)的扩展代码;和/或执行扩展代码以部署扩展和修改UI。
Description
技术领域
本公开涉及计算机实现的方法、系统、和非瞬时计算机可读存储介质。
背景技术
软件系统可以由软件卖方提供以使企业能够进行操作。软件系统可以包括提供用于企业操作的执行的功能性的各种应用。软件卖方通常将软件系统提供为在云计算环境中执行的外部部署(off-premise)的应用,其可以被称为基于云的应用(例如,以所谓的“软件即服务”(SaaS)范式提供的应用)。在有些情况下,软件系统可以包括数据库系统或者与数据库系统关联地操作。应用可以在叠加在数据库系统上并使能与数据库系统的交互(例如,读取数据、写入数据、操作数据)的应用层中提供。总的来说,数据库系统提供对大体量数据的存储、组织和分析。
在有些情况下,软件卖方寻求提供具有某些级别的配置的软件应用,且使用户(例如,企业)能够定制卖方提供的软件(例如,添加自定义代码、修改现有代码,使用不声明为“版本稳定(release stable)”的应用编程接口(API))和/或数据对象。例如,软件卖方可以在部署的软件系统中提供标准数据对象,其可以填占(populate)有存储在应用与其交互的数据库系统内的一个或多个数据库表中的数据。在有些情况下,用户寻求扩展数据对象,且因此扩展下层数据库表以定制满足他们的特定需要的数据对象。这例如可以包括添加和/或去除表的一个或多个字段。
发明内容
本公开的实现涉及用于向应用推荐扩展(extension)的扩展推荐系统。更具体地,本公开的实现涉及扫描应用数据以标识潜在扩展点和选择性地调用扩展生成器的集合而以正确地分类型的(typed)字段扩展来增强数据对象的扩展推荐系统。在某些实现中,扩展推荐系统提供自动化数据输入的扩展插件。在某些实现中,扩展推荐系统使生成的扩展能够以监督模式实现而验证有用性直到已经建立足够的置信度为止,并且能够进行对用于自动全系统执行的后续激活。
在某些实现中,动作包括:查询数据对象的集合中的数据对象的元数据以确定一个或多个通用文本字段和附件字段的存在,以定义数据对象的子集,数据对象的子集中的每个数据对象包括通用文本字段和附件字段中的一个或多个;并且对于数据对象的子集中的每个数据对象,处理数据对象的历史数据以标识数据类型的集合,历史数据存储在数据库系统的表的字段内;提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐;和接收指示接受对第一扩展的推荐的用户输入,并响应于此,自动地提供可执行以将字段扩展添加到表和修改应用的用于与第一数据类型对应的值的输入的用户界面(UI)的扩展代码;和执行扩展代码以部署扩展和修改UI。这些方面的其他实现包括配置为执行在计算机存储装置上编码的方法的动作的相应的系统、设备和计算机程序。
这些及其他实现各自可以可选地包括以下特征的一个或多个:动作还包括:响应于接收指示接受对第一扩展的推荐的用户输入,确定用于第一数据类型的在UI中的选择性呈现的默认值;确定包括以下中的一个或多个:从历史数据提供默认值和从一个或多个附加的文件的提取默认值;确定默认值包括启动机器学习ML平台以提供被训练以生成默认值的ML模型;动作还包括:确定表的字段内与第一数据类型对应的数据值的频率,其中,响应于确定频率至少满足阈值频率而执行提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐;动作还包括:确定历史数据内与第二数据类型对应的数据值的频率,和响应于确定频率未能满足阈值频率,确定放弃提供对与第二数据类型对应的第二扩展的推荐;且动作还包括:基于第一扩展的使用的频率和对用于第一扩展的默认值的接受中的一个或多个确定与第一扩展相关联的准确性,和基于准确性选择性地提示用户一下之一:更新和去除第一扩展。
本公开还提供耦合到一个或多个处理器且具有在其上存储的指令的计算机可读存储介质,该指令当由一个或多个处理器执行时使得一个或多个处理器执行根据在这里提供的方法的实现的操作。
本公开进一步提供用于实现在这里提供的方法的系统。该系统包括一个或多个处理器和耦合到一个或多个处理器且具有在其上存储的指令的计算机可读存储介质,该指令当由一个或多个处理器执行时使得一个或多个处理器执行根据在这里提供的方法的实现的操作。
将理解的是,根据本公开的方法可以包括在这里描述的方面和特征的任何组合。也就是,根据本公开的方法不限于在这里具体描述的方面和特征的组合,且还包括提供的方面和特征的任何组合。
本公开的一个或多个实现的细节在附图和以下说明中提到。本公开的其他特征和优点将从说明书和附图和从权利要求中明显。
附图说明
图1示出可以用于执行本公开的实现的示例架构。
图2示出根据本公开的实现的示例概念性架构。
图3示出可以根据本公开的实现执行的示例处理。
图4是可以用于执行本公开的实现的示例计算机系统的示意性图。
各个图中相同的附图标记指示相同的元件。
具体实施方式
本公开的实现涉及用于向应用推荐扩展的扩展推荐系统。更具体地,本公开的实现涉及扫描应用数据以标识潜在扩展点和选择性地调用扩展生成器的集合而以正确地分类型的字段扩展增强数据对象的扩展推荐系统。在某些实现中,扩展推荐系统提供自动化数据输入的扩展插件。在某些实现中,扩展推荐系统使生成的扩展能够以监督模式执行而验证有用性直到已经建立足够的置信度为止,并且能够进行对用于自动全系统执行的后续激活。
实现可以包括以下动作:查询数据对象的集合中的数据对象的元数据以确定通用文本字段和附件字段中的一个或多个的存在以定义数据对象的子集,数据对象的子集中的每个数据对象包括通用文本字段和附件字段中的一个或多个;和对于数据对象的子集中的每个数据对象,处理数据对象的历史数据以标识数据类型的集合,历史数据存储在数据库系统的表的字段内;提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐;和接收指示接受对第一扩展的推荐的用户输入,并作为响应,自动地提供可执行的扩展代码以添加字段扩展到表和修改用于与第一数据类型对应的值的输入的应用的用户界面(UI);和执行扩展代码以部署扩展和修改UI。
如在此使用的,术语低代码和无代码通常指的是目标为几乎没有或者没有开发经验的用户(例如,称为平民开发者,或者低代码(无代码)开发者)的软件开发平台和/或工具。这种平台和/或工具的另一目标可以包括具有更短开发时间的更有经验的开发者(例如,低代码(无代码)使开发者能够更快地开发)。这里,低代码可以指需要某些级别的编程(coding)经验的开发,而无代码可以指没有编程经验的开发。在本公开的实现的上下文中,低代码(无代码)扩展开发者通常是指具有有限的开发经验和/或开发应用扩展的时间很紧的应用的扩展的开发者。虽然本公开提及低代码开发者和/或无代码开发者,要理解的是,本公开的实现可以为更高级的开发者和/或具有开发应用扩展的更充裕的时间的开发者的利益而实现。
如在此使用的,术语关键-用户(或者关键用户)通常是指知道应用内具体表现和/或使用应用执行的处理的用户。例如,关键用户具有处理(例如,完全地或者部分地软件执行的)和/或对处理的改变将对企业的操作具有的影响的广泛的知识。因此,在本公开的上下文中,关键用户在估计和/或实现对应用的扩展中具有重要角色。但是,在有些情况下,关键用户可能具有很少或者不具有开发经验,且因此,可以被认为是平民开发者或者低代码(无代码)开发者。
为提供用于本公开的实现的进一步的上下文,且如以上介绍的,软件系统可以由软件卖方提供以使企业能够进行操作。软件系统可以包括提供用于企业操作的执行的功能性的各种应用。软件卖方通常将软件系统提供为在云计算环境中执行的外部部署的应用,其可以被称为基于云的应用(例如,以所谓的“软件即服务”(SaaS)范式提供的应用)。在有些情况下,软件系统可以包括数据库系统或者与数据库系统关联地操作。应用可以在叠加在数据库系统上并使能与数据库系统的交互(例如,读取数据、写入数据、操作数据)的应用层中提供。总的来说,数据库系统提供对大体量数据的存储、组织和分析。
在有些情况下,软件卖方寻求提供具有某些级别的配置的软件应用,且使用户(例如,企业)能够定制卖方提供的软件(例如,添加自定义代码、修改现有代码,使用不声明为“版本稳定”的应用编程接口(API)),和/或数据对象。例如,软件卖方可以在部署的软件系统中提供标准数据对象,其可以填占有存储在应用与其交互的数据库系统内的一个或多个数据库表中的数据。在有些情况下,客户寻求扩展数据对象,且因此扩展下层数据库表来定指满足他们的特定需要的数据对象。这例如可以包括添加和/或去除表的一个或多个字段。
近年来,低代码/无代码和关键用户可扩展性已经对于基于云的应用(即,SaaS提供)越来越重要,因为它们允许非开发者比配置单独将使得可能的更紧密地按照他们的个人需要调整应用。例如,关键用户可能具有很少或者不具有编程或者开发经验。在本公开的上下文中,低代码/无代码使得创建扩展的处理容易。总的来说,关键用户可扩展性和低代码/无代码利用稳定的界面和扩展点减小代码(例如,新代码,修改的代码)的部署期间的后续生命周期成本。
当企业采用基于云的应用时,企业寻求标识对应用的扩展以将应用定制为企业的特定需要。进一步,对于扩展,企业寻求确定扩展是否对用户的集合有用或者仅对企业内的用户的子集有用。类似地,低代码/无代码工具本身是特征丰富的提供品,其具有通过服务和库提供的许多功能性。这可能需要某个学习曲线,特别是在提供品连续地增长时。因此,平民开发者(例如,低代码/无代码开发者)必须知道可以建造和实现哪种扩展以充分利用基于云的应用。在有些情况下,在标识扩展的需要(或者选项)(例如,在确定扩展对单个用户有益或者是广泛的有帮助的特征时),和/或标识在哪里扩展和如何将哪些现有服务(例如,机器学习)集成到扩展中的处理中,不支持平民开发者。
考虑到以上上下文,本公开的实现提供扫描应用数据以标识潜在扩展点和选择性地调用扩展生成器的集合而以正确地分类型的字段扩展增强数据对象的扩展推荐系统。在某些实现中,扩展推荐系统提供自动化数据输入的扩展插件。在某些执行中,扩展推荐系统使低代码扩展开发者能够以用户监督模式执行生成的扩展而验证有用性直到已经建立足够的置信度为止,并且能够进行对用于自动全系统执行的后续激活。
如在这里进一步详细地描述的,扩展推荐系统分析基于云的应用的使用和处理数据以标识扩展选项的集合。扩展选项的集合呈现给用户(例如,平民开发者)以供许可。在某些示例中,扩展推荐系统使用户能够微调扩展(例如,改变字段扩展的用户界面(UI)标签)。因为扩展选项基于数据分析,呈现的选项能够伴随有基于历史数据的关于潜在有用性的统计信息。以该方式,本公开的扩展推荐系统向用户提供关于扩展的了解,否则这将是不可得到的。收集的关于使用和相关性的统计指导用户更向着管理和优化扩展而不是关于需求工程。在某些实现中,扩展推荐系统可以主动地生成使能自动处理的扩展代码。例如,可以使用模板生成代码,其中对于特定扩展情况和模板内的特定值选择模板。模板可以为每一个特定类型的编程模型的制品(例如,视图,UI定义)而提供。在某些示例中,生成的扩展编程在被激活用于通用使用(例如,由多个用户的产品使用)之前以受控方式测试和验证。
因此,且如在这里进一步详细地描述的,本公开的实现解决以下示例问题,以及在这里未明确地提到的其它问题。在一个示例中,单个用户可能想要扩展,但是首先,用户将不得不格式化对扩展的需要,然后需要确定扩展仅对于单个用户有用或者更广泛地对于其他用户有用。也就是,仅有益于单个用户的扩展可能不是应该实现的扩展。本公开的实现以无缝的和高效率的方式使能该估计。在另一示例中,关于基于云的应用的下层的基础设施的有限的知识对用户确定哪些扩展是可行的提供壁垒。在有些情况下,基于云的应用下层的基础设施比用户可能知道的或者甚至期望的更强大(例如,采用智能机器学习(ML)性能的基础设施)。本公开的实现解决该问题,使扩展开发者能够充分利用可得到的可能性。
在另一示例中,用户(扩展开发者)确定哪些类型的扩展是可能的可能是不切实际的。例如,用户可能不知道扩展对于处理或者UI是可能的。本公开的实现解决该问题,向扩展开发者通知某个应用的扩展的可用的类型。在又一示例中,在扩展可用的实例中,用户(例如,平民开发者)可能不能生成实现扩展所需的代码。本公开的实现通过基于以ML性能收集的信息生成代码,也解决该问题。这进一步降低建造有用的应用扩展所需要的知识,和向着不对平民开发者暴露任何(生成的)代码的最终目标工作,使得它看起来为无代码经验。
本公开的实现参考包括以字段扩展来扩展数据库表的非限制性示例来进一步详细说明。例如,可以分析数据,且可以确定关于客户的特定信息(例如,网站地址)在表的自由文本字段中频繁地输入。可以确定信息的类型,且可以做出扩展推荐以扩展表来包括对该信息特定的列。但是,考虑本公开的实现可以对于任何适当类型的扩展来实现。
图1示出根据本公开的实现的示例架构100。在示出的示例中,示例架构100包括客户端装置102、网络106和服务器系统104。服务器系统104包括一个或多个服务器装置和数据库108(例如,处理器、存储器)。在示出的示例中,用户112与客户端装置102交互。
在某些示例中,客户端装置102可以经网络106与服务器系统104通信。在某些示例中,客户端装置102包括任何适当类型的计算装置比如台式计算机、膝上型计算机、手持计算机、平板计算机、个人数字助理(PDA)、蜂窝电话、网络设备、相机、智能电话、增强通用分组无线电服务(EGPRS)移动电话、媒体播放器、导航装置、电子邮件装置、游戏主机或者这些装置或者其他数据处理装置的任何两个或更多个的适当的组合。在某些实现中,网络106可以包括连接任意数目的通信装置、移动计算装置、固定计算装置和服务器系统的大型计算机网络,比如局域网(LAN)、广域网(WAN)、因特网、蜂窝网络、电话网络(例如,PSTN)或者其适当的组合。
在某些实现中,服务器系统104包括至少一个服务器和至少一个数据存储设备。在图1的示例中,服务器系统104意在表示各种形式的服务器,包括但不限于,联网(web)服务器、应用服务器、代理服务器、网络服务器和/或服务器池。总的来说,服务器系统接收对应用服务的请求并将这样的服务提供给任意数目的客户端装置(例如,网络106上的客户端装置102)。根据本公开的实现,且如上所述的,服务器系统104可以托管(host)扩展推荐系统。如在这里进一步详细地描述的,扩展推荐系统扫描应用数据以标识潜在扩展点并选择性地调用扩展生成器的集合而以正确地分类型的字段扩展来增强数据对象。
图2示出根据本公开的实现的示例概念性架构200。在示出的示例中,示例概念性架构200包括基于云的系统202和扩展推荐系统204。在图2的示例中,示例概念性架构200还包括ML平台206。
基于云的系统202包括与数据库212交互的应用210。例如,应用210在服务器(例如,应用服务器)上执行并与数据库212交互。应用包括应用模块210a、210b。虽然图2的示例示出两个应用模块,考虑的是本公开的实现可以以具有任何适当的数目的应用模块的应用来实现。在某些示例中,每个应用模块210a、210b提供应用210的相应功能性。在图2的示例中,扩展推荐系统204包括扩展编排器220、数据存储222和扩展生成器224a、224b的集合。在某些示例中,扩展推荐系统204包括扩展推荐引擎(ERE)220’。在图2的示例中,ERE 220’在扩展编排器220内提供。
根据本公开的实现,且如在这里进一步详细地描述的,ERE 220’标识可用于应用210的扩展(例如,可用于应用模块210a、210b的任何扩展)。在某些实现中,扩展生成器224a、224b中的一个或多个估计数据,基于估计选择扩展生成处理(例如,算法)并生成扩展。在某些示例中,扩展选项和有关的统计(例如,多频繁地使用)的集合可以呈现给用户,用户可以确定是否要生成扩展。在某些示例中,可以提供编辑器以使用户能够创建他们自己的查询,其可以嵌入在一个或多个扩展生成器224a、224b中。在某些实现中,扩展编排器220编排生成的扩展的部署并收集关于应用210内的扩展的使用的统计。在某些示例中,扩展编排器220向用户呈现扩展统计,用户可以确定保存或者改变扩展。在某些示例中,扩展编排器220收集所有生成的扩展的使用的统计并估计其每个的准确性。如果准确性降低到低于阈值,则扩展编排器220可以触发扩展生成器以创建扩展的新版本。在某些示例中,扩展编排器可以发送统计给卖方(即,提供应用210的卖方)。作为扩展生成器执行的代码的开发者可以改进和/或添加查询到扩展生成器。
进一步详细地,ERE 220’配置为执行查询以确定扩展生成器224a、224b中的每一个的工作集。也就是,例如,ERE 220’查询数据存储222以确定工作集。在某些示例中,工作集包括数据对象(DO)(也称为业务对象(BO))的集合和扩展生成器的集合。DO和扩展生成器的组合可以是相对大的工作集,其提供应用210的整体上的广泛覆盖。在某些示例中,为优化和最小化资源消耗,ERE 220’例如标识跨应用210的所有实例(即,被其他企业使用的应用210的实例),哪个/哪些DO具有最多实例和/或各个DO的哪个/哪些输入UI最频繁地调用。以该方式,DO可以被排名(例如,基于实例的数目和/或输入UI调用频率),且可以最初寻址前X个(例如,前10个)DO。在某些示例中,ERE 220’包括存储已经对于哪个DO调用哪个扩展生成器从而不会无计划地重新运行ERE(仅在准确性下降、应用了新版本、或者用户触发运行的时候)的持久性。在某些实现中,ERE 220’配置有对应用数据库和元数据存储的只读存取。
在某些实现中,每个扩展生成器224a、224b可以是各自类型的扩展生成器。扩展生成器的示例类型可以包括但不限于字段扩展生成器、用于结构化数据源的默认值建议生成器和用于非结构化数据源的默认值建议生成器。对于字段扩展生成器,标识具有通用文本字段的DO。这通过读取DO的元数据进行,且例如当在DO字段的元数据描述中包括“评论(comment)”时,DO是用于进一步分析的候选且因此具有文本字段的所标识的DO被添加到工作集。例如,模块=字段扩展生成器,DO=“商业伙伴”,字段=“评论”。作为另一示例,模块=字段扩展生成器,DO=“购买订单”,字段=“注释”。对于在这里进一步详细描述的使用附件的默认值建议生成器,具有附件的所有DO是候选。有关的字段是在UI上呈现以创建有关的DO的实例的字段。例如,模块=使用附件的默认值建议生成器,DO=“发货单”,字段=类似“商业伙伴姓名”、“地址”...的<关于创建发货单UI的所有输入字段>)。
关于字段扩展,从历史DO(例如,各种企业使用的DO)标识一个或多个字段扩展。在某些示例中,向用户建议每个字段扩展以用于接受或者拒绝。在某些示例中,字段扩展的建议也可以指示建议的字段类型和输入验证,并提供当前字段中的历史数据的示例和关联的统计(例如,值在字段中多频繁地发生)。在某些示例中,可以向用户询问字段扩展的名称(例如,哪个可以用于UI文本)。响应于用户接受字段扩展,字段扩展被添加到数据库中的相应表,且经由其接收数据值的UI被修订为包括相应输入字段和验证逻辑。在某些示例中,应用执行一些时间且对字段扩展的分析被执行。例如,分析可以用于确定字段扩展是否如预期的那样被用户使用。作为另一示例,分析可以用于确定先前已被使用的自由文本字段是否不再包含该类型的数据(例如,生成字段扩展用于电子邮件地址,但是用户继续将电子邮件地址放在评论字段中,指示用户未使用字段扩展)。在某些示例中,向用户呈现字段扩展的置信程度。可以询问用户是否将历史数据从自由文本字段迁移到字段扩展。如果用户同意,则来自自由文本字段的数据被复制或者迁移到该字段扩展(例如,评论字段中的电子邮件地址复制/迁移到字段扩展)。
进一步详细地,字段扩展生成器基于对表的自由文本字段的分析来标识字段扩展的机会。示例自由文本字段可以包括描述、评论、评述、注释等。在某些示例中,生成的字段扩展是具有确切的数据类型和单一使用模式的更特定的字段。这通过利用该附加的元数据增强的对象字段来提升数据质量且使能进一步的扩展优化处理。在某些示例中,ERE 220’读取系统中的每个DO的定义,并标识那些具有一个或多个自由文本字段(例如,评论字段)的DO。在某些示例中,这可以通过针对某个类型的字段进行扫描而实现(例如,针对由数据元素名称或者短文本名称中包含“评论”的数据元素定义的字段来扫描DO)。该扫描导致可以比较以用于匹配的DO类型和相应自由文本字段的列表。在某些示例中,对于还没有对其调用字段扩展生成器的每个DO类型调用字段扩展生成器。
进一步详细地,以DO名称和自由文本字段名称调用字段扩展生成器。字段扩展生成器读取用于字段值的数据存储中的内容,并应用一个或多个正则表达式(regex)来标识不同值类型。示例值类型包括但不限于电子邮件地址、时间、日期、URL、寄件地址、电话号码和增值税(VAT)编号。正则表达式的示例是可公开得到的,且任何适当的正则表达式可以用于本公开的实现。在某些示例中,使用正则表达式解析字段值以确定字段内容是否包括相对频繁的某个/某些值类型。例如,值类型的频率可以被确定(例如,对自由文本字段的输入中的值类型的出现百分比)且可以与阈值频率比较(例如,至少40%的字段包括电子邮件地址,至少40%的字段包括日期-时间)。字段扩展生成器推荐创建特定类型的字段扩展(例如,文本字段、日期-时间字段)和可能甚至推荐创建内容验证解析器(具有已经用于确定字段类型的正则表达式)。向平民开发者建议字段和值类型。如果扩展开发者接受,则生成器生成字段扩展。
关于用于结构化数据源的默认值建议生成器,这里,数据从UI和/或DO传递而以默认值填占输入字段。以该方式,避免具有固有的无效率和错误可能的手动复制/粘贴。这可以对于由卖方定义的字段实现,但是也可以对于由各种企业(即,也使用该基于云的应用的其他企业)实现的字段扩展实现。在某些示例中,对于特定DO和/或对于与特定DO有关的任何DO(例如,通过外来键关联(foreign-key-association)),标识任何字段扩展。在某些示例中,对于标识的字段扩展,可以在值的历史数据之中计算默认值。例如,且如在这里进一步详细地描述的,可以通过SQL查询生成器或者使用ML计算默认值。
进一步详细地,用于结构化数据源的默认值建议生成器读取沿着处理流的在先DO,或者与同一主DO有关的DO的先前实例。更具体地,用于结构化数据源的默认值建议生成器生成可以用于以从有关的DO提出的默认值填充输入字段的数据填占规则。在某些示例中,以可能已经由各种用户在其他UI中保持的来自其他DO的数据来填占字段。例如,且如以上介绍的,公共的对象字段数据类型从有关的DO,比如沿着处理流的在先DO直接读取。作为另一示例,从同一DO类型的历史数据读取公共的对象字段数据类型。在某些示例中,ERE220’对于例如具有代码fetchDefaultValue(或者类似的例程,定义某个编程语言或者开发项目的名称的可能的编程标准)的字段,扫描输入屏幕的UI定义。在某些示例中,ERE 220’确定与UI输入屏幕有关的DO类型(和字段名)。在某些示例中,这导致DO类型和期望的输入字段的列表和可以比较以用于匹配的有关在先DO的字段。在某些示例中,这导致DO类型和期望的输入字段的列表以及可以分组与同一主DO实例有关的DO实例、以使得组的DO字段可以比较以用于匹配的参考的主DO。在某些示例中,调用不同的默认值建议生成器,对于每个DO类型调用一个。
如上所述,默认值可以由SQL查询生成器计算。在某些示例中,对于每个DO和字段提供查询模板。例如,第一查询模板(Q1)比较将要填充的字段(f1)中的数据与将要作为默认输入的字段(f2)中的数据,且当要给定某个键(key)和属性集合来预先填充f1时,第二查询模板(Q2)查询f2的内容。
通过非限制示例的方式,可以考虑由三个键字段k1、k2、k3和期望字段f1和f2相关的两个DO。以下示例查询返回具有键和期望字段的表,所以可以比较它们。
给出可以作为统计相关指示符的相等和不相等值的数目的示例Q1可以提供为:
对于给定键的选择f2来预先填充f1(给出f2的最频繁的值)的示例Q2可以提供为:
更一般地,DO的字段可以是查询模板中的占位符,且DO中的实际字段集合生成为查询模板,该查询模板产生查询语句的集合以分析内容和之后查询内容。例如,给出可以作为统计相关指示符的相等和不相等值的数目的示例Q1可以提供为:
对于给定键选择f2来预先填充f1(返回用于某个key和where子句的f2的最频繁的值)的示例Q2可以提供为:
在某些实现中,评估内容的第一查询模板(Q1)由产生统计相关指示符(例如,基于相同key值的两个值相等的可能性)的ERE执行。在某些示例中,对于每个字段,ERE执行不同查询并选择具有最高相关性指示符的查询。如果该指示符在某个阈值(例如,90%)以上,则选择用于输入字段的输入值的第二查询模板(Q2)生成为代码模块。向用户建议激活该代码模块。如果用户接受,代码模块由ERE部署且配置为由UI使用来预先填充从f2读取的f1的输入值。在某些示例中,用户的注意力被引导到新建议的默认值(例如,通过高亮),以鼓励对正确性的手动验证。这通过记录多频繁地采用或者重写提出的值来监控。在某些示例中,确定默认值的准确性。如果准确性达到期望的限制,则不再继续对建议的默认的高亮,向用户指示从现在开始默认值是可以信赖的。如果准确性下降低于某个限制,则向用户推荐调整或者去激活生成的扩展。
如上所述,可以使用ML计算默认值,比如提供有ML平台(例如,图2的ML平台206)。示例ML平台包括由德国Walldorf的SAP AG提供的AutoML(SAP数据智能的一部分)。在某些示例中,ML平台自动化数据准备、特征工程、特征选择、ML训练和超参数的调谐的ML流水线(pipeline)。根据本公开的实现,选择来自DO和/或由外来键属性(FKA)相关的DO的历史数据并指定对于其ML平台将会建议用于其的值的字段。ML平台处理数据集以标识其中训练返回很好的准确性的ML模型(例如,满足阈值准确性的准确性)。ML模型可以用于提供默认值。例如,ML模型部署在用于推断的基础设施中,且应用要配置和扩展以调用ML模型来获得值(例如,如图2所示,应用210(应用模块210b)针对数据值调用ML模型230)。
进一步详细地,对于输入字段,确定(例如,由ERE 220’确定)表字段的有关的属性,同一表或者通过FKA的其他表,且读取字段(标签)的内容的历史和有关的字段(特征)。如在这里描述的,这可以使用从例如SQL模板生成的查询来执行。调用ML平台以处理数据集(例如,如图2所示,扩展生成器224a调用ML平台206,其处理作为来自ML模型的训练数据的数据集)。如果ML平台提供具有足够准确性的ML模型,则用于生成默认值的ML模型的使用向用户(例如,平民开发者)提出使用模型来生成默认值。如果用户接受,则实现扩展且由ML模型提供默认值。在某些示例中,至少最初,注意力可以引导到建议的默认值(例如,通过高亮)以鼓励对正确性的手动验证。可以监控多频繁地采用或者重写提出的默认值,且其可以用作向扩展编排器(例如,图2的扩展编排器220)报告准确性的基础。如果准确性达到阈值准确性(例如,默认值在至少75%的时间被采用),则可以去激活对建议的默认值的高亮,向用户指示从现在开始他们可以信赖所建议的默认值(但是,用户仍然可以覆写)。如果准确性下降到低于阈值准确性,则可以向用户推荐对扩展的调整或者去激活。
在某些实现中,扩展生成器(例如,图2的扩展生成器224a)至少部分地协调ML活动。例如,扩展生成器可以标识在UI上的没有计算的默认值的输入字段,定义字段“输入-字段”,且可以确定相同UI上的其他键字段和输入字段,例如定义集合“键+属性字段集合-1”。在某些示例中,扩展生成器可以确定与定义“表输入字段”的输入字段“输入字段”有关的表(例如,基于FKA),且可以确定在与“表输入字段”相同的表处的与“输入字段”有关的字段(例如,其具有相同的键)以定义“表-键+属性字段集合-2”。在某些示例中,扩展生成器可以确定与“键+属性字段集合-1”有关的表,并确定在表处的附加字段以定义“表-键+属性字段集合-1”。在某些示例中,扩展生成器可以从与集合“表-键+属性字段集合-1”和/或"表-键+属性字段集合-2"有关的表读取(例如,通过执行查询)字段的现有(历史)值,集合可以关于公共的键值进行联合(join),给出“历史输入字段值”,且可以将"历史输入字段值"作为特征以及将用于字段“表输入字段”的值作为标签提供到ML平台,调用ML平台以运行处理并确定适当类型的ML模型和用于ML模型的训练流水线。
在某些实现中,扩展生成器可以估计ML模型的准确性以确定ML模型是否足够准确。例如,ML平台可以将从训练过程产生的准确性分数提供给扩展生成器,且扩展生成器可以比较准确性分数与阈值准确性。在某些示例中,如果ML模型足够准确,则扩展生成器可以生成代码以:运行数据提取(从“表-键+属性字段集合-1”和“表-键+属性字段集合-2”读取自动ml使用的字段的子集)并使用ML平台定期地训练ML模型,部署ML模型用于应用的推断,和从应用调用ML模型来预先填充输入字段。
在某些示例中,用于非结构化数据源的默认值建议生成器用于生成可以用于以来自非结构化数据(例如,扫描的文件图像)的值填占DO字段的数据提取规则。在某些示例中,当在输入屏幕处文档还作为附件上载时(例如,文档是包含关于地址、电话号码、订单号、日期、金额等的信息的发货单),标识还没有提供计算的默认值和要生成用于输入屏幕的默认值的UI中的字段。在某些示例中,可以经由文档文本提取ML算法处理文档以提取数据,且可以以这些值预先填占输入字段。在某些示例中,例如,如果检测不准确,则给予用户对值进行重写的选项。对于某些DO(例如,发货单),这种功能性可以由标准解决方案提供为硬编码的实现。但是,某些DO可能缺乏该自动化(例如,因为附件字段本身作为字段扩展被添加或者要以提取的数据填占的DO字段中的某些DO字段是字段扩展)。在某些示例中,ERE 220’扫描所有DO的定义,并标识具有文档附件的那些。附件取决于它们的类型而被分析(例如,图像以光学字符识别(OCR)来处理,非结构化文本被进行词法分析(tokenized))以标识可以传送到DO字段的可能的数据值。使用编程模型制品,ERE 220’确定DO的UI输入屏幕定义(input screen definition)。对于来自与附件上载一起显示的DO的字段扫描UI输入屏幕定义将字段的集合限于那些在UI上可见和可改变的。这产生它们的字段可由UI访问的DO的表和具有到可以比较以用于匹配的非结构化数据中的内容的访问路径的文档附件字段的列表。
在某些实现中,提供用于附加的文档的默认值建议生成器,其建议来自文档的内容的默认值。在某些示例中,进行具有DO名称和“文档附件”字段名的调用,以标识存储的文档(例如,MS Word、Excel、PDF)。在某些示例中,文档附件字段(这也可以包括由用户扩展的文档附件字段)在表中提供以在数据库中存储文档。
在某些实现中,提取历史数据,其可以包括但不限于附加的文档以及DO字段和UI写入的表的属性字段。在文档上执行文档文本提取例程(例如,检测文档中的文本元素的ML服务)以提取文本数据。在某些示例中,可以首先使用光学字符识别(OCR)处理附加的文档(例如,PDF,图像文件)。在某些示例中,可以标识文档图案。例如,文档可以分组(聚类)为类似的文档的组。在某些示例中,从文档提取属性,且使用有关的键将属性作为具有历史数据的数据集存储。例如,提取的数据提供有项名称和项值(例如,发货单-nr,发货量等)。在某些示例中,执行属性匹配以确定表中的哪个属性字段值匹配从文档提取的属性。例如,对于每个文档聚类,可以确定属性对“提取的历史<->”是否总是与相同的提取的属性匹配(例如,总是与地址“来自(from)字段”、发货单编号、电话号码等匹配)。
在某些示例中,评估属性匹配以确定匹配的准确性。对于具有足够准确性(例如,超过阈值准确性的准确性)的属性,可以建议基于文档附件创建用于标识的字段的默认值提议的扩展。如果用户(例如,平民开发者)接受,则提供ML模型以从文档提取属性(例如,利用文档聚类(如果需要)的(迁移学习)训练)。进一步,提供UI中的代码(例如,用于各个字段的UI例程fetchDefaultValue(取得默认值)中的调用),该代码被执行以在将文档附加到UI中时,调用ML服务以扫描文档,接收提取的属性,和以提取的属性预先填充UI中的(空)字段。与UI接口的用户可以接受或者覆写建议的数据值。
如上所述,可以实现扩展,且用户注意力至少最初可以被引导到提议的默认值(例如,通过高亮)以鼓励对正确性的手动验证。例如,对于文档附加到且输入字段被预先填充的每个UI,可以记录建议的属性是否被采用或者重写,定期地确定提议的数据值的准确性,且向扩展编排器报告准确性。如果准确性足够,则可以去激活对提议的默认值的高亮以指示提议的数据值是可以信赖的。如果准确性下降到低于某个限制,则可以推荐对生成的扩展的调整或者去激活。
参考非限制的示例使用情况图示了本公开的实现。第一示例使用情况涉及添加字段扩展到与伙伴实体(例如,企业的客户)关联的DO。第二示例使用情况涉及基于与实体(例如,企业的客户)的历史交互的字段扩展的默认值。第三示例使用情况涉及以来自有关的产品登记的值来预置事件记录中的字段。第四示例使用情况涉及以从附件提取的值来预置物料主数据(material master)字段。
关于第一示例使用情况,基于云的应用可以包括用于“客户数据”(或者“商业伙伴”)的输入掩码。输入掩码反映持久性且具有用于“姓名”、“街道”、“地区和镇”、“电话号码”和“电子邮件地址”的字段以及其中用户可以写入关于客户的附加信息的自由文本字段的集合。例如,可以提供包括使用户能够输入信息的输入元素(例如,使用户能够输入文本的文本框)的UI,每个输入元素与字段的集合中的一个或多个字段对应。在有些情况下,当没有用于某个信息的专用字段时,用户将在自由文本字段中输入这种信息。例如,因为字段的集合对于要输入的网站地址(即,URL)或者社交网络标识符(SNID)缺乏输入,用户可以在自由文本字段中打出网站地址和/或客户的SNID。因为网站地址和/或SNID输入到自由文本字段,所以难以在商务处理中利用。
根据本公开的实现,扩展推荐系统(例如,ERE)扫描自由文本字段的内容,并确定自由文本字段以第一频率包含网站地址和以第二频率包含SNID。例如,扩展推荐系统可以使用URL正则表达式和SNID正则表达式扫描客户DO的集合的自由文本字段的内容,以确定各自在相应自由文本字段中包括URL的客户DO的第一子集合和各自在相应自由文本字段中包括SNID的客户DO的第二子集合。在某些示例中,第一子集合和第二子集合重叠(例如,某些自由文本字段包括URL和SNID两者)。确定第一频率表示自由文本字段中URL的出现的相对数目(例如,第一频率是DO的第一子集合中的DO的数目与DO的集合中的DO的数目的比率(百分比))。确定第二频率表示自由文本字段中SNID的出现的相对数目(例如,第二频率是DO的第二子集合中的DO的数目与DO的集合中的DO的数目的比率(百分比))。
在某些示例中,如果频率满足或者超过阈值频率(例如,20%),则可以确定推荐添加字段扩展。继续非限制示例,可以确定第一频率超过阈值频率且第二频率不超过阈值频率。响应于此,扩展推荐系统提供将URL字段添加到“客户数据”的提议并提供输入验证(例如,检查URL约定)。向用户(例如,平民开发者)呈现提议的字段、类型和第一频率(估计它将多频繁地使用)。在某些示例中,也可以向用户呈现示例内容(例如,根据自由文本字段确定的网站地址)。
用户可以接受提议或者拒绝提议。在某些示例中,如果用户接受提议,则用户可以提供用于UI元素的标签,将创建该UI元素以使能对数据的输入。例如,扩展推荐系统可以提议标签(例如,URL),且用户可以接受提议的标签或者编辑标签(例如,删除URL和输入客户网站)。字段扩展可以部署用于产品使用。例如,且如在这里描述的,字段扩展(例如,URL字段)被添加到对应的表,且更新UI以包括输入元素(例如,标记为客户网站)。在某些时间段(例如,星期、月)之后或者周期性地(例如,每个星期、每月),扩展推荐系统可以向用户提供例如关于实际上多频繁地使用字段和/或自由文本字段中的URL输入的数目是否已经减小的统计。
在某些示例中,在验证阶段之后,可以提供自动迁移处理以将来自客户DO的数据自动地从自由文本字段移动到生成的字段扩展中。例如,在预定时间段(例如,星期、月)之后,用户可以接受或拒绝字段扩展的继续使用。在某些示例中,如果用户接受,则客户DO的自由文本字段中的URL可以迁移到字段扩展(例如,从自由文本字段复制到字段扩展,从自由文本字段删除)。在某些示例中,如果用户拒绝字段扩展的继续使用,则在验证阶段期间输入到字段扩展的URL可以迁移到自由文本字段(例如,从字段扩展复制到自由文本字段),字段扩展可以从表删除,且更新UI以去除相应的UI元素。
关于第二示例使用情况,考虑客户关系管理(CRM)系统,所述CRM系统具有当客户调用进入时填充的“客户请求权证(customer-request-ticket)”。调度器经由UI将客户数据(例如,名称、公司)填充到权证中,并添加“主题”以分配给正确的部门用于后续处理。使用CRM系统的公司的概念是使能“优选的处理器”名称到权证的分配。也就是,标识应该处理权证的一个或多个用户。调度器通过搜索历史权证来对这进行填充,且当转发到正确的部门时,可以从权证读取并直接分配优选的处理器。
在某些示例中,可以确定要添加字段扩展(例如,由扩展推荐系统自动地,由用户手动地)。响应于检测到字段扩展的附加,可以确定要生成默认值。响应于此,扩展生成器可以执行查询以将客户关联到处理器。例如,查询可以返回指示同一客户(其是与那些权证有关的共同的主数据对象)的权证由同一处理器处理的数据。例如,考虑具有最近的10个值的历史数据的查询以高百分比与“优选的服务器”匹配。响应于此,计算用于字段扩展的默认值生成并呈现给用户。例如,用户可以调整历史数据为“最近的5个”,以仅集中在最近的值上。生成和部署扩展。在扩展的部署之后,调度器仅需要填充调用者的名称、公司和主题,同时系统基于公司名称自动地在UI预先填充优选的处理器作为默认值。调度器可以接受默认值,或者覆写,如在这里进一步详细地描述的。
关于第三示例使用情况,公司经由间接渠道销售产品,但是想要建立与它们的终端客户的更紧密的关系(例如,用于直接营销活动)。因此,公司创建用于“产品登记”的附加服务,终端客户经由其输入联系人数据以及他们购买的产品的序列号。为激励登记,对于登记的产品授予延长的保修期。在成功登记时,产品登记服务针对具有登记的序列号的产品在产品登记数据库中存储延长的保修到期日。
当产品发生问题时,终端客户可以例如通过呼叫支持人员来与公司创建事故单。支持人员创建事故记录,并输入具有问题的产品的序列号。支持人员还检查是否进行了产品登记,且如果是的话,将延长的保修到期日从产品登记数据库复制到事故记录中的相应的“保修到期”字段(例如,如上所述在第一示例使用情况中标识和添加的字段扩展)。
因为产品登记和事故记录两者都具有共同的参考(产品序列号),默认值生成器可以标识该相关性并向用户(例如,平民开发者)建议以来自产品登记数据库的对应值在新创建的事故记录中预置保修到期日,因为这些值由于最初进行的手动处理而先显然总是匹配。这允许仅通过分析重复的用户行为和智能地生成自主地执行必要步骤的代码,来实现基于定制服务和定制字段扩展的定制过程的自动化而不需要实际的开发工作。
关于第四示例使用情况,物料管理系统具有创建新物料的输入屏幕。用户(例如,平民开发者)创建用于附件的字段扩展,因此可以附加来自供应者的文档。在产品使用期间,可以附加检测到的文档。例如,可以确定“文档附件”字段包含PDF文件。响应于此,物料管理系统利用现有文档调用“文本值提取服务”并与系统的物料主数据对象(MM DO)的属性比较。确定某个物料供应者编号和物料短描述可以从文档提取,并与MM DO中的字段的值匹配。系统然后生成代码以当上载新附件时集成文本值提取服务,且填占输入字段。向用户建议生成的扩展,用户接受该提议并可选地重新布置UI中的字段的次序以用于创建新物料,使得附件字段排序在物料供应者编号和物料短描述之前。以该方式,用户不需要手动地输入这些字段且受益于生成的扩展。
图3示出可以根据本公开的实现执行的示例处理300。在某些示例中,使用由一个或多个计算装置执行的一个或多个计算机可执行程序提供示例处理300。
处理数据(302)。例如,且如在这里描述的,可以分析数据库表的一个或多个字段以确定一个或多个数据类型的存在。如在这里通过示例的方式描述的,扩展推荐系统(例如,ERE)扫描自由文本字段的内容,并确定自由文本字段以第一频率包含网站地址和以第二频率包含SNID。例如,扩展推荐系统除了其它正则表达式之外还可以使用URL正则表达式和SNID正则表达式扫描客户DO的集合的自由文本字段的内容,以确定各自在相应自由文本字段中包括URL的客户DO的第一子集合和各自在相应自由文本字段中包括SNID的客户DO的第二子集合。
确定一个或多个频率(304)。例如,且如在这里描述的,可以确定在字段中数据类型的值的出现的数目。如在这里通过示例的方式描述的,确定第一频率表示自由文本字段中URL的出现的相对数目(例如,第一频率是DO的第一子集合中的DO的数目与DO的集合中的DO的数目的比率(百分比)),且确定第二频率表示自由文本字段中SNID的出现的相对数目(例如,第二频率是DO的第二子集合中的DO的数目与DO的集合中的DO的数目的比率(百分比))。
确定是否要推荐至少一个扩展(306)。例如,且如在这里描述的,如果频率满足或者超过阈值频率,则可以确定推荐对于相应数据类型添加字段扩展。如果确定不推荐扩展,则示例处理300循环返回。如果确定推荐至少一个扩展,则提供推荐(308)。如在这里通过示例的方式描述的,可以确定第一频率超过阈值频率且第二频率不超过阈值频率。响应于此,扩展推荐系统提供将URL字段添加到“客户数据”的提议并提供输入验证(例如,检查URL约定)。向用户(例如,平民开发者)呈现所提议的字段、类型和第一频率(估计它将多频繁地使用)。在某些示例中,也可以向用户呈现示例内容(例如,根据自由文本字段确定的网站地址)。
确定是否接受推荐(310)。例如,且如在这里描述的,用户可以接受提议或者拒绝提议。如果不接受推荐,则示例处理300循环返回。如果接受推荐,则提供扩展代码(312)。例如,且如在这里描述的,用户可以提供用于将创建以使能对数据的输入的UI元素的标签。例如,扩展推荐系统可以提议标签(例如,URL),且用户可以接受提议的标签或者编辑标签(例如,删除URL并输入客户网站)。
确定默认值(314)。例如,且如在这里描述的,可以使用从有关的DO传送数据的默认值提议生成器、生成默认值的ML模型部署和从附加的文档提取默认值的默认值提议生成器中的一个或多个来确定默认值。部署扩展(316)。例如,且如在这里描述的,执行扩展代码以部署字段扩展并更新相应的UI以用于产品使用。例如,且如在这里描述的,字段扩展(例如,URL字段)被添加到相应的表,且更新UI以包括输入元素(例如,标记为客户网站)。在某些示例中,当用户与扩展的应用交互时在UI中显示默认值。
确定扩展的准确性是否足够(318)。例如,且如在这里描述的,在某些时间段(例如,星期、月)之后或者周期性地(例如,每星期、每月),扩展推荐系统可以向用户提供例如关于实际上多频繁地使用字段和/或自由文本字段中的URL输入的数目是否已经减小和/或是否正在使用/覆写默认值的统计。如果扩展的准确性不足,则提供更新或者去除扩展的推荐(320)。如果扩展的准确性足够,则去激活高亮(322)。例如,且如在这里描述的,可以去激活高亮默认值的UI处理。
在某些示例中,在验证阶段之后,可以提供自动迁移处理以将来自客户DO的数据自动地从自由文本字段移动到生成的字段扩展中。例如,在预定时间段(例如,星期、月)之后,用户可以接受或拒绝对字段扩展的继续使用。在某些示例中,如果用户接受,则客户DO的自由文本字段中的URL可以迁移到字段扩展(例如,从自由文本字段复制到字段扩展,从自由文本字段删除)。在某些示例中,如果用户拒绝对字段扩展的继续使用,则在验证阶段期间输入到字段扩展的URL可以迁移到自由文本字段(例如,从字段扩展复制到自由文本字段),字段扩展可以从表删除,且更新UI以去除相应的UI元素。
现在参考图4,提供示例计算系统400的示意图。系统400可以用于与在这里描述的实现相关联地描述的操作。例如,系统400可以包括在这里讨论的服务器组件中的任何或者全部中。系统400包括处理器410、存储器420、存储装置430和输入/输出装置440。组件410、420、430、440使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在某些实现中,处理器410是单线程的处理器。在某些实现中,处理器410是多线程的处理器。处理器410能够处理存储在存储器420上或者存储装置430上的指令,以在输入/输出装置440上显示用于用户界面的图形信息。
存储器420存储系统400内的信息。在某些实现中,存储器420是计算机可读介质。在某些实现中,存储器420是易失性存储器单元。在某些实现中,存储器420是非易失性存储器单元。存储装置430能够提供系统400的大容量存储。在某些实现中,存储装置430是计算机可读介质。在某些实现中,存储装置430可以是软盘装置、硬盘装置、光盘装置或者磁带装置。输入/输出装置440提供系统400的输入/输出操作。在某些实现中,输入/输出装置440包括键盘和/或指示装置。在某些实现中,输入/输出装置440包括用于显示图形用户界面的显示单元。
描述的特征可以以数字电子电路,或者以计算机硬件、固件、软件或者它们的组合实现。设备可以以在信息载体中(例如,在机器可读的存储装置中,用于由可编程处理器执行)有形地体现的计算机程序产品实现,且方法步骤可以由执行指令程序以通过对输入数据进行操作并生成输出来执行描述的实现的功能的可编程处理器执行。描述的特征可以有益地以可编程系统上可执行的一个或多个计算机程序实现,可编程系统包括至少一个耦合的可编程处理器,可编程处理器从数据存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并向其发送数据和指令。计算机程序是在计算机中可以直接或者间接地使用以执行某个动作或者带来某个结果的指令的集合。可以以任何编程语言的形式写计算机程序,包括编译或者解释语言,且它可以以任意形式部署,包括作为独立程序或者作为模块、组件、子例程或者适用于计算环境的其他单元。
适于指令的程序的执行的适当的处理器包括,举例来说,通用和专用微处理器两者,和任何种类的计算机的唯一处理器或者多个处理器之一。通常,处理器将从只读存储器或者随机存取存储器或者两者接收指令和数据。计算机的元件可以包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机也可以包括用于存储数据文件的一个或多个大规模存储装置,或者可操作地耦合以与用于存储数据文件的一个或多个大规模存储装置通信;这样的装置包括磁盘,比如内部硬盘和可移除盘;磁光盘;和光盘。适于有形地体现计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,举例来说包括半导体存储器装置,比如EPROM、EEPROM和闪存存储器装置;比如内部硬盘和可移除盘的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或者包括在ASIC中。
为提供与用户的交互,特征可以在计算机上实现,该计算机具有用于向用户显示信息的显示装置,比如CRT(阴极射线管)或者LCD(液晶显示器)监视器,和用户通过其可以向计算机提供输入的键盘和指示装置,例如,鼠标或者轨迹球。
特征可以在计算机系统中实现,计算机系统包括后端组件,比如数据服务器,或者包括中间件组件,比如应用服务器或者因特网服务器,或者包括前端组件,比如具有图形用户界面或者因特网浏览器的客户端计算机,或者它们的任何组合。系统的组件可以通过数字数据通信的任何形式或者介质(比如通信网络)连接。通信网络的示例例如包括LAN、WAN,和形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常远离彼此,且典型地经由网络(比如描述的网络)交互。客户端和服务器的关系借助于运行在各个计算机上和彼此具有客户端-服务器关系的计算机程序而发生。
另外,在图中示出的逻辑流程不要求示出的特定顺序、或者连续顺序来实现期望的结果。另外,可以提供其他步骤,或者可以从描述的流程中去除步骤,且其它组件可以添加到描述的系统或者从描述的系统除去。因此,其他实现在所附权利要求的范围内。
已经描述了本公开的多个实现。然而,将理解可以做出各种修改而不脱离本公开的精神和保护范围。因此,其他实现在所附权利要求的范围内。
Claims (20)
1.一种在数据库系统中用于添加扩展和向扩展提供默认值中的一个或多个的计算机实现的方法,所述方法由一个或多个处理器执行且包括:
查询数据对象的集合中的数据对象的元数据以确定通用文本字段和附件字段中的一个或多个的存在,来定义数据对象的子集,所述数据对象的子集中的每个数据对象包括通用文本字段和附件字段中的一个或多个;和
对于数据对象的子集中的每个数据对象:
处理数据对象的历史数据以标识数据类型的集合,所述历史数据存储在数据库系统的表的字段内,
提供对与所述数据类型的集合中的第一数据类型对应的第一扩展的推荐,和
接收指示接受对第一扩展的推荐的用户输入,并响应于此,自动地:
提供可执行以将字段扩展添加到表和修改应用的针对与第一数据类型对应的值的输入的用户界面UI的扩展代码,和
执行所述扩展代码以部署扩展和修改UI。
2.如权利要求1所述的方法,还包括,响应于接收指示接受对第一扩展的推荐的用户输入,确定用于第一数据类型的用于在UI中的选择性的呈现的默认值。
3.如权利要求2所述的方法,其中,确定默认值包括以下中的一个或多个:从历史数据提供默认值和从一个或多个附加的文档提取默认值。
4.如权利要求1所述的方法,其中,确定默认值包括启动机器学习ML平台以提供被训练以生成默认值的ML模型。
5.如权利要求1所述的方法,还包括确定表的字段内与第一数据类型对应的数据值的频率,其中,响应于确定频率至少满足阈值频率而执行提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐。
6.如权利要求1所述的方法,还包括:
确定历史数据内与第二数据类型对应的数据值的频率;和
响应于确定频率未能满足阈值频率,确定放弃提供对与第二数据类型对应的第二扩展的推荐。
7.如权利要求1所述的方法,还包括:
基于第一扩展的使用的频率和对第一扩展的默认值的接受中的一个或多个确定与第一扩展相关联的准确性;和
基于所述准确性选择性地提示用户以下之一:更新和去除第一扩展。
8.一种非瞬时计算机可读存储介质,耦合到一个或多个处理器且具有在其上存储的指令,所述指令当由一个或多个处理器执行时使得一个或多个处理器执行用于在数据库系统中添加扩展和向扩展提供默认值的中的一个或多个的操作,所述操作包括:
查询数据对象的集合中的数据对象的元数据以确定通用文本字段和附件字段中的一个或多个的存在,来定义数据对象的子集,所述数据对象的子集中的每个数据对象包括通用文本字段和附件字段中的一个或多个;和
对于数据对象的子集中的每个数据对象:
处理数据对象的历史数据以标识数据类型的集合,所述历史数据存储在数据库系统的表的字段内,
提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐,和
接收指示接受对第一扩展的推荐的用户输入,并响应于此,自动地:
提供可执行以将字段扩展添加到表和修改应用的用于与第一数据类型对应的值的输入的用户界面UI的扩展代码,和
执行扩展代码以部署扩展和修改UI。
9.如权利要求8所述的非瞬时计算机可读存储介质,其中,所述操作还包括,响应于接收指示接受对第一扩展的推荐的用户输入,确定用于第一数据类型的用于在UI中的选择性的呈现的默认值。
10.如权利要求9所述的非瞬时计算机可读存储介质,其中,确定默认值包括以下中的一个或多个:从历史数据提供默认值和从一个或多个附加的文档提取默认值。
11.如权利要求8所述的非瞬时计算机可读存储介质,其中,确定默认值包括启动机器学习ML平台以提供被训练以生成默认值的ML模型。
12.如权利要求8所述的非瞬时计算机可读存储介质,其中所述操作还包括确定表的字段内与第一数据类型对应的数据值的频率,其中,响应于确定频率至少满足阈值频率而执行提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐。
13.如权利要求8所述的非瞬时计算机可读存储介质,其中,所述操作还包括:
确定历史数据内与第二数据类型对应的数据值的频率;和
响应于确定频率未能满足阈值频率,确定放弃提供对与第二数据类型对应的第二扩展的推荐。
14.如权利要求8所述的非瞬时计算机可读存储介质,其中,所述操作还包括:
基于第一扩展的使用的频率和对第一扩展的默认值的接受中的一个或多个确定与第一扩展相关联的准确性;和
基于所述准确性选择性地提示用户以下之一:更新和去除第一扩展。
15.一种系统,包括:
计算装置;和
计算机可读存储装置,耦合到计算装置并具有在其上存储的指令,所述指令当由计算装置执行时使得计算装置执行用于在数据库系统中添加扩展和向扩展提供默认值中的一个或多个的操作,所述操作包括:
查询数据对象的集合中的数据对象的元数据以确定通用文本字段和附件字段中的一个或多个的存在,来定义数据对象的子集,所述数据对象的子集中的每个数据对象包括通用文本字段和附件字段中的一个或多个;和
对于数据对象的子集中的每个数据对象:
处理数据对象的历史数据以标识数据类型的集合,所述历史数据存储在数据库系统的表的字段内,
提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐,和
接收指示接受对第一扩展的推荐的用户输入,并响应于此,自动地:
提供可执行以将字段扩展添加到表和修改应用的用于与第一数据类型对应的值的输入的用户界面UI的扩展代码,和
执行扩展代码以部署扩展和修改UI。
16.如权利要求15所述的系统,其中,所述操作还包括,响应于接收指示接受对第一扩展的推荐的用户输入,确定用于第一数据类型的用于在UI中的选择性的呈现的默认值。
17.如权利要求16所述的系统,其中,确定默认值包括以下中的一个或多个:从历史数据提供默认值和从一个或多个附加的文档提取默认值。
18.如权利要求15所述的系统,其中,确定默认值包括启动机器学习ML平台以提供被训练以生成默认值的ML模型。
19.如权利要求15所述的系统,其中,所述操作还包括确定表的字段内与第一数据类型对应的数据值的频率,其中,响应于确定频率至少满足阈值频率而执行提供对与数据类型的集合中的第一数据类型对应的第一扩展的推荐。
20.如权利要求15所述的系统,其中,所述操作还包括:
确定历史数据内与第二数据类型对应的数据值的频率;和
响应于确定频率未能满足阈值频率,确定放弃提供对与第二数据类型对应的第二扩展的推荐。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/231,076 US11907198B2 (en) | 2021-04-15 | 2021-04-15 | Selective recommendation and deployment of extensions in low-code approach |
US17/231,076 | 2021-04-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292473A true CN115292473A (zh) | 2022-11-04 |
Family
ID=78414145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111201963.4A Pending CN115292473A (zh) | 2021-04-15 | 2021-10-15 | 低代码方案中的扩展的选择性推荐和部署 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11907198B2 (zh) |
EP (1) | EP4075291A1 (zh) |
CN (1) | CN115292473A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629750B (zh) * | 2022-12-24 | 2023-03-17 | 西安葡萄城软件有限公司 | 一种支持Excel公式的服务端可视化编程方法及系统 |
CN117331548B (zh) * | 2023-11-30 | 2024-01-23 | 厦门泛卓信息科技有限公司 | 一种基于智慧楼宇软件的低代码开发系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089260B2 (en) * | 2002-02-14 | 2006-08-08 | International Business Machines Corporation | Database optimization apparatus and method |
US8893017B2 (en) * | 2008-05-29 | 2014-11-18 | Adobe Systems Incorporated | Tracking changes in a database tool |
US9208212B2 (en) * | 2012-12-17 | 2015-12-08 | Sap Ag | Field extensibility in a multi-tenant environment with columnar database support |
WO2016007162A1 (en) * | 2014-07-10 | 2016-01-14 | Hewlett-Packard Development Company, L.P. | Categorizing columns in a data table |
US10169004B2 (en) * | 2016-05-04 | 2019-01-01 | Open Text Sa Ulc | Application development and extensibility/customization using entity modeling systems and methods |
US20200050431A1 (en) * | 2018-08-08 | 2020-02-13 | Microsoft Technology Licensing, Llc | Recommending development tool extensions based on usage context telemetry |
US10534585B1 (en) | 2018-10-29 | 2020-01-14 | Sap Se | Integrated development environment with deep insights and recommendations |
US20210098099A1 (en) * | 2019-09-30 | 2021-04-01 | Kpn Innovations, Llc | Systems and methods for selecting a treatment schema based on user willingness |
-
2021
- 2021-04-15 US US17/231,076 patent/US11907198B2/en active Active
- 2021-09-29 EP EP21199714.3A patent/EP4075291A1/en active Pending
- 2021-10-15 CN CN202111201963.4A patent/CN115292473A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11907198B2 (en) | 2024-02-20 |
US20220335031A1 (en) | 2022-10-20 |
EP4075291A1 (en) | 2022-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019216644B2 (en) | Automation and digitizalization of document processing systems | |
RU2308084C2 (ru) | Способ и система для управления бизнес-процессом предприятия | |
Corr et al. | Agile data warehouse design: Collaborative dimensional modeling, from whiteboard to star schema | |
AU2019201302A1 (en) | Systems and methods for identifying and explaining schema errors in the computerized preparation of a payroll tax form | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
US9134961B1 (en) | Selecting a test based on connections between clusters of configuration changes and clusters of test scenario runs | |
CN102067106A (zh) | 通过确定子节点和父节点的度量值进行的数据质量跟踪 | |
US9170926B1 (en) | Generating a configuration test based on configuration tests of other organizations | |
US9201774B1 (en) | Generating test scenario templates from testing data of different organizations utilizing similar ERP modules | |
US9317412B1 (en) | Selecting a configuration test based on testing data from different organizations | |
CN115292473A (zh) | 低代码方案中的扩展的选择性推荐和部署 | |
US9087053B2 (en) | Computer-implemented document manager application enabler system and method | |
US20190324767A1 (en) | Decentralized sharing of features in feature management frameworks | |
US11853745B2 (en) | Methods and systems for automated open source software reuse scoring | |
US8428989B2 (en) | Cross functional area service identification | |
US20130167114A1 (en) | Code scoring | |
US20220261711A1 (en) | System and method for intelligent contract guidance | |
US20170132195A1 (en) | Method and Apparatus Providing Contextual Suggestion in Planning Spreadsheet | |
Li et al. | Optimizing ml inference queries under constraints | |
US20190325262A1 (en) | Managing derived and multi-entity features across environments | |
US11106526B1 (en) | Architecture-based root cause analysis | |
US11275729B2 (en) | Template search system and template search method | |
US9009073B1 (en) | Product availability check using image processing | |
JP6695847B2 (ja) | ソフトウェア部品管理システム、計算機 | |
Gomadam et al. | Data enrichment using data sources on the web |
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 |