CN110580160B - 组件管理装置、组件管理方法及记录介质 - Google Patents
组件管理装置、组件管理方法及记录介质 Download PDFInfo
- Publication number
- CN110580160B CN110580160B CN201910491050.7A CN201910491050A CN110580160B CN 110580160 B CN110580160 B CN 110580160B CN 201910491050 A CN201910491050 A CN 201910491050A CN 110580160 B CN110580160 B CN 110580160B
- Authority
- CN
- China
- Prior art keywords
- component
- application
- input
- output
- information
- 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
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式涉及组件管理装置、组件管理方法及记录介质。提供对从不特定多数提供的组件群适当地进行管理并支持其运用的组件管理装置、组件管理方法及记录介质。实施方式的组件管理装置具备数据库、组件检索部和组件运用部。在数据库中,登记按照每个类型规定了输入输出的组件。组件检索部受理组件的名称或输入例或评价数据的输入,根据该输入进行登记在上述数据库中的组件的检索,提示检索结果。组件运用部将来自利用被检索到的组件的应用的输入向组件发送,将该组件的输出送至上述应用。
Description
本申请基于2018年6月11日提出的日本国专利申请第2018-111156号主张优先权,这里引用其全部内容。
技术领域
本发明涉及组件管理装置、组件管理方法及记录介质。
背景技术
近年来,计算机系统被用在各种各样的领域中,由在计算机系统上动作的应用(软件)实现了许多功能。在这样的应用的开发中,通过利用已有的软件部件(组件:component),预计可实现开发成本的大幅的削减。因此,将从不特定多数提供的组件群适当地管理以便应用能够利用、对由应用进行的组件的利用(运用)进行支持的机制其实用性很高。
以往,已知有将多个组件作为库(library)进行管理、将它们组合而生成新的组件并向库登记的系统,或根据多个项目的许可费的合计来计算成本的系统。但是,如上述那样,将从不特定多数提供的组件群适当地管理并支持其运用的机制还是未知的,希望构建这样的机制。
发明内容
本发明要解决的课题是提供一种将从不特定多数提供的组件群适当地管理并支持其运用的组件管理装置、组件管理方法及记录介质。
实施方式的组件管理装置具备数据库、组件检索部和组件运用部。在数据库中,登记按照每个类型规定了输入输出的组件。组件检索部受理组件的名称或输入例或评价数据的输入,根据该输入进行登记在上述数据库中的组件的检索,提示检索结果。组件运用部将来自利用被检索到的组件的应用的输入向组件发送,将该组件的输出送至上述应用。
根据上述结构的组件管理装置,能够将从不特定多数提供的组件群适当地管理并支持其运用。
附图说明
图1是表示组件管理装置的功能性的结构例的框图。
图2是表示组件类型DB的一例的图。
图3是表示在组件类型DB中按照每个类型规定的输入及输出的一例的图。
图4是表示评价数据DB的一例的图。
图5是表示组件目录DB的一例的图。
图6是表示组件运用DB的一例的图。
图7是表示查询DB的一例的图。
图8是表示组件检索UI的一例的图。
图9是表示组件详细UI的一例的图。
图10是表示组件检索UI的另一例的图。
图11是表示流程构建UI的一例的图。
图12是表示流程构建UI的画面变迁例的图。
图13是表示流程构建UI的画面变迁例的图。
图14是表示组件登记时的处理步骤的一例的流程图。
图15是表示组件检索时的处理步骤的一例的流程图。
图16是表示检索处理的处理步骤的一例的流程图。
图17是表示由应用进行的组件利用时的处理步骤的一例的流程图。
图18是表示代替组件利用时的处理步骤的一例的流程图。
图19是表示组件替换的处理步骤的一例的流程图。
图20是表示组件管理装置的硬件结构例的框图。
具体实施方式
以下,参照附图对实施方式的组件管理装置、组件管理方法及记录介质详细地进行说明。实施方式的组件管理装置实现能够检索可对具体的输入(讲话、图像、声音、传感器数据等)进行应答(讲话应答、图像识别、字符识别、声音识别、数据解析等)的组件的组件交易市场,能够进行利用组件的应用的开发。此外,支持由这样开发出的应用进行的组件的运用,进行来自用户的评价的反映及使用费的日志记录、向新追加组件的切换提案等。
在本实施方式中,所述的“组件”,是指进行讲话应答、图像识别、字符识别、声音识别、数据解析等的处理的软件部件。该组件作为输入而接受讲话、图像、声音、传感器数据等,将与其对应的应答、识别结果、解析结果等作为输出返回。在本实施方式中,将使用组件开发应用的人称作“开发者”,将利用应用的人称作“用户”。此外,将开发组件的人称作“组件开发者”。
实施方式的组件管理装置作为一例,可以作为利用网络的服务器-客户端系统的服务器实现。在此情况下,组件管理装置向开发者提供用来经由开发者利用的客户端终端中搭载的浏览器进行应用所利用的组件的检索等的UI(用户接口)。此外,组件管理装置也作为用来利用组件而动作的应用的API服务器进行动作。
图1是表示本实施方式的组件管理装置的功能性的结构例的框图。组件管理装置如图1所示,具备组件检索服务器10、组件运用服务器20和DB(数据库)服务器30。该组件管理装置例如被构建为经由网络提供服务的云服务器(云计算系统)。
组件检索服务器10向开发者提供用来进行登记在DB服务器30中而被管理的组件的检索等的组件利用UI50,借由该组件利用UI50,进行应用可利用的组件的检索等。
组件运用服务器20提供利用组件而动作的应用70用于利用组件的API,支持由应用70进行的组件的利用(运用)。
DB服务器30包括用来对所登记的组件的信息进行管理的数据库群。例如DB服务器30如图1所示,包括组件类型DB31、评价数据DB32、组件目录DB33、组件运用DB34和查询DB35。
组件类型DB31是保存与组件的类型有关的信息的数据库。图2是表示组件类型DB31的一例的图。组件类型DB31如图2所示,与按照组件的每个类型唯一地分配的ID(类型ID)建立对应,保存各组件类型的类型名、以及该类型的组件受理的输入和输出的信息。此外,虽然在图2中没有表示,但为了实现后述的组件检索UI而需要的输入名的日语表述、用来显示各组件的输出结果的程序等也作为各组件类型的信息被保存在组件类型DB31中。在图2的例子中,“dialogue_agent”类型表示以讲话为输入而进行对话应答的组件,“object_detection_from_image”类型表示以图像为输入而进行对象识别的组件。
在图3中表示在图2所例示的组件类型DB31中保存的输入及输出的信息的一例。由输入输出的“type”记载的内容,表示被输入输出的数据的属性名和其类别。“dialogue_agent”类型的输入由将从用户向对话代理(agent)的讲话用字符串(string)表示的“speech”属性、以及将用户的上下文等附属于讲话的信息用对象型(Object)表示的“info”属性构成。“dialogue_agent”类型的输出由作为应答的文本的“response”属性、作为组件从讲话中提取出的信息的“extracted_info”属性、对应用要求外部DB或业务系统等其他系统的操作的“command”属性构成。
“object_detection_from_image”类型的输入由表示识别对象的图像的“image”属性构成。“object_detection_from_image”类型的输出由作为用矩形(rect)表示的识别对象矩形位置的“rect”属性、以及用任意的对象型(object)表示的识别对象标签“tag”属性构成。对于输入输出数据,也可以记载表示其附属信息的“options”。在图3所示的例子中,作为“object_detection_from_image”类型的输出的“options”,记载了表示其输出也可以有多个的“hasMultipleOutput”:true。
对于输入输出,也可以记载一些属性并不一定是必须的输入输出的信息。此外,也可以将用于后述的输出数据的精度评价的精度评价逻辑与组件类型建立对应而登记。这些组件类型既可以由运营组件管理装置的管理者固定地给出,也可以能够对应于组件开发者登记新的类型的组件而追加新的组件类型。
评价数据DB32是保存用来进行组件的精度评价的评价数据的信息的数据库。评价数据是正确地处理了与组件的类型对应的输入(输入数据)和组件正确地处理了该输入的情况下得到的输出(输出数据)的组合。通过对将评价数据中包含的输入向作为精度评价的对象的组件给出时的实际的输出与评价数据中包含的输出进行比较,能够评价该组件的精度。在本实施方式中,除了组件管理装置的管理者按照组件的每个类型而登记的评价数据以外,可以将应用70实际利用组件时的输入输出的组合中的对于输出的评价较高者作为评价数据使用。
图4是表示评价数据DB32的一例的图。评价数据DB32如图4所示,与对于各评价数据唯一地分配的ID(评价数据ID)建立对应,保存用来确定作为该评价数据的利用对象的组件的类型的类型ID。此外,在评价数据仅被用于特定的组件的精度评价的情况下,还保存用来确定该组件的ID(组件ID)。此外,如果评价数据是管理者登记的,则将作为该评价数据的实体的输入及输出进一步保存。另一方面,如果评价数据是对于输出的评价较高的输入输出的组合,则不保存作为该评价数据的实体的输入及输出,而是还保存用来确定应用70的ID(应用ID)、以及用来确定与该输入输出对应的查询的ID(查询ID)。在此情况下,作为评价数据的实体的输入及输出从后述的查询DB35取得。另外,在本实施方式中,将从应用70向组件的询问称作“查询”。
组件目录DB33是保存被登记的组件的信息的数据库。图5是表示组件目录DB33的一例的图。组件目录DB33如图5所示,与对所登记的各组件唯一地分配的ID(组件ID)建立对应,保存用来确定该组件的类型的类型ID、组件的名称、说明、平均评价、端点(end point)信息、费用、平均处理时间、更新日期时间、同时利用组件及替换目标组件的信息。
组件的名称及说明例如在组件的登记时由组件开发者输入。平均评价是对于从应用70取得的组件的评价的平均值(评价信息的一例)。端点信息是表示组件的保存目的地的信息。在本实施方式中,设想了用来用HTTP REST协议向保存有组件的网络上的服务器连接的URL,但也可以是其他的协议。
费用表示在每1次查询中花费的组件的利用费用(美元)。平均处理时间是在每1次查询中花费的组件的处理时间(毫秒)的平均值,表示组件的应答性能。组件的处理时间是从将来自应用70的输入向组件输送到该组件的输出返回为止的时间。同时利用组件将应用70与该组件同时利用的情况较多的其他组件用组件ID表示。替换目标组件将被使用后述的组件替换的机构替换的情况较多的替换目标的组件用组件ID表示。
组件运用DB34是用来记录由应用70对于组件的利用履历的数据库。图6是表示组件运用DB34的一例的图。组件运用DB34如图6所示,与按照利用履历的每个集计单位(1个应用70与1个组件的组合)唯一地分配的ID(组件运用ID)建立对应,保存用来确定组件的组件ID、用来确定应用70的应用ID及查询数。应用ID例如在应用70最初利用组件之前根据来自开发者的请求而发行。查询数表示由应用70对于组件的利用次数,每当应用70利用组件时被更新。
记录的查询数被用于向开发者请求其利用费用、将请求出的金额向组件开发者汇款。对于组件运用DB34内的各组件,取得查询数,从组件ID取得组件目录DB33内的费用,通过将它们累计,计算由应用70对于组件的利用费用。向开发者的请求费用通过将各应用ID的利用费用相加来计算,向开发者提示。向组件开发者的支付费用通过将各组件ID的利用费用相加来计算,向组件开发者提示。关于向开发者的支付费用,也可以提示作为组件管理装置的利用费而减去规定的金额后的金额。
查询DB35是用来记录应用70与组件间的数据的交换的数据库。图7是表示查询DB35的一例的图。查询DB35如图7所示,与对于各查询唯一地分配的ID(查询ID)建立对应,保存用来确定该查询是在哪个应用70与组件之间交换的组件运用ID、构成该查询的实际的输入及输出、和处理时间及评价。处理时间如上述那样,是将来自应用70的输入向组件送出到该组件的输出返回为止的时间。评价表示该组件以何种程度良好地进行了处理,例如用1至5的值(将得到了最优的结果的情况设为5,将得到了最差的结果的情况设为1)表示。该评价如上述那样被从接受到组件的输出的应用70给出。将对于相同的组件记录在查询DB35中的处理时间的平均值作为平均处理时间保存到组件目录DB33中,将评价的平均值作为平均评价保存到组件目录DB33中。
另外,以上说明的数据库群的结构是一例,并不限定于该例。例如,也可以加以将上述数据库的某几个合并为1个、或将1个数据库分割为多个的变形。此外,上述的数据库群保存的信息也并不限定于上述例子,也可以还保存对于组件的检索及运用实际的记录等有效的其他信息。
组件检索服务器10参照上述的组件类型DB31及组件目录DB33,根据使用组件利用UI50的开发者的操作,进行应用70可利用的组件的检索等。组件利用UI50包括用来指定应用70利用的组件的类型或检索式的UI、或用来根据所指定的类型及检索方式请求组件的检索的UI(组件检索UI)、用来将检索出的组件的详细情况向开发者提示的UI(组件详细UI)、用来构建应用70将多个组件组合而动作的情况下的组件的检索及一系列的流程的UI(流程构建UI)等。
图8是表示组件检索UI50A的一例的图。在将由图8所例示的组件检索UI50A提供给开发者之前,由开发者指定作为检索的对象的组件的类型和检索方式。作为检索方式,有以组件的名称检索、以输入例检索、给出评价数据而检索等,图8表示被指定了以输入例检索的检索方式的情况下的组件检索UI50A的一例。此外,图8所示的组件检索UI50A是作为检索对象的组件的类型而指定了dialogue_agent(对话代理)类型的情况下的例子。
图8所例示的组件检索UI50A在上部具有用来将输入例输入的输入栏51。在对话代理的情况下,如果作为输入例而将讲话向输入栏51输入,则组件检索服务器10将其对组件目录DB33内的具有对应的类型ID的全部组件输入。并且,将对于输入例有应答(输出)的组件的信息(组件信息52)作为检索结果,以列表形式在组件检索UI50A上显示。作为组件信息52,例如显示作为组件的输出而得到的应答文本(response)及提取信息(extracted_info)等。此外,将组件的名称、说明、平均评价(图中的星标记)等也一起显示。将这些信息从组件目录DB33取得。
图9是表示通过在显示于组件检索UI50A上的组件信息52之中点击希望的组件信息52的显示区域而打开的组件详细UI50B的一例的图。组件详细UI50B是提示被检索到的组件的详细情况的UI。该组件详细UI50B通过参照组件目录DB33而构建,除了由组件检索UI50A作为组件信息52而显示的信息以外,还显示该组件的组件ID、在利用中花费的费用、平均处理时间、最终更新日等的补充信息53。此外,显示作为调用该组件的应用70(已经被开发的其他应用70)使用的其他组件的同时利用组件的信息54、及由后述的组件替换的机制评价为精度比该组件高的替换目标组件的信息55。将这些信息作为使用该组件的应用正在使用该组件、正在对该组件替换的参考信息提示。另外,也可以形成通过点击同时利用组件的信息54的显示区域及替换目标组件的信息55的显示区域、而打开与这些组件对应的组件详细UI50B的结构。
开发者通过从这样检索到的组件中选择由应用70利用的组件,例如在编辑器上制作出的应用70的源代码中组合进所选择的组件的信息,能够容易地进行应用70的开发。另外,在检索出的组件是设想了后述的在客户端/边缘终端上动作的组件的情况下,如图9所示,组件详细UI50B也可以具备在这些特定环境上动作的库的下载按钮56。
另外,组件检索UI50A的结构根据检索对象的组件的每个类型而不同。图10是表示作为检索对象的组件的类型而指定了object_detection_from_image(图像物体检测)类型的情况下的组件检索UI50A的一例的图。在该例的情况下,由于输入例通过进行识别的图像的上载来进行,所以代替输入栏51而设置选择上载的图像文件的按钮57。此外,在作为检索结果而显示的组件信息52中,代替应答文本(response)及提取信息(extracted_info)而包括表示对于所输入的图像的组件的识别结果的图像。
此外,以上是作为检索方式而指定了在输入例中检索的方式的情况下的例子,但在指定了用组件的名称进行检索的方式的情况下,在组件检索UI50A中设置将组件的名称用文本输入的机构。在此情况下,组件检索服务器10将输入到组件检索UI50A中的文本作为检索条件而对组件目录DB33进行检索。并且,将组件目录DB33内的具有对应的类型ID的组件中的、在名称中包含被输入到组件检索UI50A中的文本的组件的组件信息52作为检索结果显示在组件检索UI50A中。
此外,在作为检索方式而指定了给出评价数据进行检索的方式的情况下,在组件检索UI50A中设置将评价数据上载的机构。在此情况下,组件检索服务器10对于组件目录DB33内的具有对应的类型ID的全部组件发送被上载的评价数据中包含的输入数据,将来自各组件的应答(输出)与评价数据中包含的输出数据比较,来计算组件的精度。并且,将有应答的组件的组件信息52按照计算出的精度由高到低的顺序,作为检索结果在组件检索UI50A中以列表形式显示。关于精度不到基准值的组件,也可以不进行组件信息52的显示。
另外,组件的精度使用组件类型DB31的输出定义内的信息来计算。例如,对于输出为“string”的组件使用字符正解率,对于输出为“object”的组件使用一致的特性数,对于输出为“rect”的组件使用矩形的重叠程度等。此外,在组件类型DB中登记了精度评价逻辑的情况下使用它。
顺便说一下,在开发将多个组件组合而动作的应用70的情况下,需要这些多个组件的检索及一系列的流程的构建。在本实施方式中,作为组件利用UI50的一个而准备流程构建UI,对将多个组件组合而动作的应用70的开发进行支持。
图11是表示流程构建UI50C的一例的图,与图8的例子同样,表示作为检索对象的组件的类型而指定了dialogue_agent(对话代理)类型、作为检索方式而指定了输入例中的检索的情况下的流程构建UI50C的一例。在图11所示的流程构建UI50C中,在与图8所示的组件检索UI50A同样进行了输入例中的检索后,接着应用70被输入对组件进行的讲话的输入例。此时,将来自之前的组件的已提取信息58也一起输入。关于由对于从组件请求的命令的应答而接着进行怎样的处理等的简单的条件分支,也能够使用输入栏59从流程构建UI50C上进行编辑。将这样构建出的流程以能够由应用70利用的程序代码的形式下载。
图12及图13表示图11所例示的用来构建一系列的流程的流程构建UI50C的画面变迁例。在最初的组件的检索时,流程构建UI50C的画面如图12所示,与图8所示的组件检索UI50A同样,为作为检索结果而将组件信息52以列表形式显示,与显示的各组件信息52对应地,设置有用来选择组件的复选框60。如果开发者对某个复选框60放入复选标记而选择了某个组件,则流程构建UI50C如图13所示,变迁为用来选择下个处理的画面。
在图13所示的流程构建UI50C的画面中,与所选择的组件的组件信息52一起,显示所选择的组件的提取信息作为已提取信息58,并且显示用来选择下个处理的下拉列表61。如果开发者使用该下拉列表61选择了下个处理,则与所选择的处理对应地,向画面追加用来受理下个处理所需要的操作的新的机构。例如,在所选择的处理是“输入下个讲话”或“向用户讲话”的情况下,追加输入讲话的新的输入栏51,在“if语句”的情况下,追加用来输入条件的输入栏59。也可以将这些处理删除或用来替换为其他处理的机构。
如以上这样开发的应用70能够经由组件运用服务器20提供的API而利用登记在组件目录DB33中的组件。
组件运用服务器20将来自应用70的输入向由组件ID确定的组件发送,将该组件的输出向应用70返回。此时,组件运用服务器20同时进行计算上述的处理时间并从应用70接受组件的评价而在查询DB35中新记录查询、或将组件运用DB34的查询数更新等的处理。此外,组件运用服务器20进行以规定的定时将应用70所利用的组件替换为新登记的性能更好的其他组件的提案等。
在本实施方式中,设想登记的组件是经由网络而利用的云上的软件,但也可以是在客户端/边缘终端上动作的库的形式。在此情况下,组件目录DB33除了上述的端点信息以外,还保存可下载的形式的库的二进制数。这些库具备在组件的利用时将用来将组件运用DB34等更新的信息向组件运用服务器20传递的机构。在上述组件的检索中检索到具备库的组件的情况下,也可以将其可动作环境等包含在组件信息52中而显示在组件检索UI50A上。此外,也可以如上述那样形成在组件详细UI50B上设置用来使检索到的组件在特定环境下动作的库(软件部件)的下载按钮56、如果操作了该下载按钮56则从组件目录DB33下载库的二进制数的结构。
接着,参照图14至图19的流程图对本实施方式的组件管理装置的动作进行说明。
图14是表示组件登记时的处理步骤的一例的流程图。组件开发者使用自身的账户信息向组件管理装置登入(步骤S101),然后,输入组件的名称及说明、端点信息等在向组件目录DB33的登记中需要的组件信息(步骤S102)。
组件管理装置向由从组件管理者输入的端点信息确定的组件的保存目的地给出评价数据,进行是否返回适当的应答等的评判(步骤S103)。并且,在能够适当地评判的情况下,赋予组件ID而将在步骤S102中输入的组件信息向组件目录DB33保存,将组件目录DB33更新(步骤S104)。
图15是表示组件检索时的处理步骤的一例的流程图。开发者使用自身的账户信息向组件管理装置登入(步骤S201),然后,使用组件利用UI,选择将哪个类型的组件作为检索对象(步骤S202)。如果选择了组件类型,则实施使用组件检索UI50A的由组件检索服务器10进行的组件的检索(步骤S203)。由组件检索服务器10进行的组件的检索只要没有登出等的由开发者进行的明示性的检索结束的操作就继续(步骤S204:否),如果有明示性的检索结束的操作(步骤S204:是),则一系列的处理结束。
图16是表示由图15的步骤S203实施的检索处理的处理步骤的一例的流程图。在检索处理中,首先,根据需要而进行附加信息的设定(步骤S301)。所述的附加条件,是作为对于平均评价或平均处理时间、利用所花费的费用等的过滤器的条件,例如表示检索平均评价为3以上的组件等的条件。然后,组件检索服务器10根据使用组件利用UI50的开发者的操作来决定检索方式(步骤S302)。作为检索方式,如上述那样,有在向组件的输入例中检索的输入例检索、以组件的名称或说明进行检索的名称检索、以将由输入和输出的组构成的评价数据上载并使用评价数据计算出的精度进行检索的评价数据检索。
并且,组件检索服务器10向开发者提供组件检索UI50A,受理与在步骤S302中决定的检索方式对应的输入(步骤S303A、S303B、S303C)。即,如果是输入例检索,则受理向组件的具体的输入例的输入,如果是名称输入,则受理组件的名称及说明的输入,如果是评价数据输入,则受理用来评价组件的精度的由输入和输出的组构成的评价数据的输入。并且,组件检索服务器10实施登记在组件目录DB33中的组件的检索(步骤S304),将通过检索得到的组件信息52作为检索结果显示在组件检索UI50A上(步骤S305)。
图17是表示由应用70进行的组件利用时的处理步骤的一例的流程图。另外,在执行该步骤之前,开发者需要使用自身的账户信息,取得用来识别应用70的应用ID。如果由组件管理装置发行了应用ID,则以后应用70由该应用ID识别。
利用应用70的用户首先取得应用70为了调用组件所需要的认证令牌(token)(步骤S401)。认证令牌可以通过发送用户的账户信息及应用ID的组来取得。
然后,应用70将认证令牌、用来指定发送目标组件的组件ID、输入数据的组经由组件运用服务器20提供的API向组件运用服务器20发送。组件运用服务器20基于接收到的组件ID,取得应从组件目录DB33发送输入的组件的端点信息,向组件发送输入数据(步骤S402)。接着,组件运用服务器20将组件的输出接收,向应用70发送(步骤S403)。
应用70在进行使用组件的输出的处理之后,将表示其处理内容是否适当的评价、即对于组件的输出的评价向组件运用服务器20发送。组件运用服务器20如果从应用70取得了对于组件的输出的评价(步骤S404),则将向组件的输入、输出和评价作为组,向查询DB35记录(步骤S405)。此外,组件运用服务器20将组件运用DB34中的对应的查询数增加(步骤S406),将组件目录DB33中的平均评价及平均处理时间更新(步骤S407)。
此外,在步骤S404中从应用70取得的评价的值是规定值(例如4)以上的情况下(步骤S408:是),组件运用服务器20将向组件的输入和输出的组作为评价数据向评价数据DB32记录(步骤S409)。在进行向评价数据DB32的记录时,也可以设定来自该应用70的查询被进行了充分的次数等的基于利用实际成果的限制。此外,也可以从应用70作为明示性的评价数据而将输入输出的数据集合经由API向组件运用服务器20输入。在评价数据DB42中记录的评价数据被用于实施后述的组件替换时的评价。
另外,在组件不能对来自应用70的输入进行输出的情况下,组件运用服务器20也可以代替该组件而向可应答的组件(代替组件)发送来自应用70的输入。图18是表示代替组件利用时的处理步骤的一例的流程图。
组件运用服务器20在图17的步骤S402中将来自应用70的输入发送给组件之后,在不能接收到来自该组件的输出的情况下,向相同类型的其他组件发送来自应用70的输入数据(步骤S501)。作为其他组件,可以考虑应用70向预先设定的多个组件发送的模式(pattern)、向被从该组件替换的情况较多的组件(组件目录DB33中的替换目标组件)发送的模式等多个模式。
并且,组件运用服务器20在从其他组件接收到输出的情况下(步骤S502:是),将其他组件的输出向应用70发送而设为处理成功(步骤S503)。另一方面,在从其他组件也没有得到输出的情况下(步骤S502:否),组件运用服务器20对于应用70请求作为之前的输入的代替的其他输入(步骤S504)。这里,所谓的作为之前的输入的代替的其他输入,如果是对话处理则可以设想其他措辞的讲话的输入,如果是图像识别则可以设想将相同场景以其他视角摄影的来自照相机的图像输入等。
接着,组件运用服务器20从应用70将作为代替的其他输入是组件发送,如果从组件得到输出(步骤S505:是),则将该组件的输出向应用70发送而设为处理成功(步骤S503)。另一方面,在从组件也没有得到对于作为代替的其他输入的输出的情况下(步骤S505:否),将处理失败的状态信息向应用70发送,设为处理失败(步骤S506)。另外,在从上述的其他组件也没有得到对于从应用70接收到的其他输入的应答的情况下,也可以设为处理失败。
图19是表示组件替换时的处理步骤的一例的流程图。所述的组件替换,是指将应用70所利用的组件替换为新登记的性能更好的其他组件的处理。该处理例如每1周1次等以定期的时刻进行。
组件运用服务器20首先检索与应用70所利用的组件相同类型的组件(步骤S601)。在该检索时,也可以设置例如限制于在前次的替换处理之后被追加的组件、限制于评价为4以上的组件等的制约。
接着,组件运用服务器20使用保存在评价数据DB32中的同一类型的评价数据,进行在步骤S601中检索到的各组件及应用70所利用的既有组件的精度评价(步骤S602)。在该精度评价中,既可以使用保存在评价数据DB32中的相同类型的全部的评价数据,也可以使用仅从作为对象的应用70收集到的评价数据(即,作为对象的应用70的过去的查询)。
接着,组件运用服务器20将在步骤S601中检索到的各组件的精度与应用70所利用的既有组件的精度比较(步骤S603)。并且,将精度比既有组件高一定以上的组件作为替换候选向开发者提示(步骤S604)。此时,也可以将评价数据中包含的与输入对应的替换候选的组件的输出与既有组件的输出比较并提示。此外,作为替换候选的组件不仅是使用评价数据的精度,也可以使用例如处理时间比既有组件短等其他观点来选择。
如果由组件运用服务器20提示了替换候选的组件,则开发者根据需要,从这些候选之中选择对既有组件替换的组件(步骤S605),将应用70内的既有组件替换为所选择的组件(步骤S606)。另外,如果在步骤S605中由开发者选择了组件,则该信息被反映到组件目录DB33中,被替换后的组件的组件ID被作为既有组件的替换目标组件保存。
以上,如举具体的例子详细说明那样,根据本实施方式的组件管理装置,组件检索服务器10进行登记在DB服务器30中的组件的检索而提示检索结果,组件运用服务器20对由应用70进行的组件的利用(运用)进行支持。因而,能够适当地对从不特定多数提供的组件群进行管理以便应用70能够利用,支持由应用70进行的组件的利用(运用)。
即,开发应用70的开发者通过使用本实施方式的组件管理装置,能够低成本地检索、利用所需要的组件,此外,能够容易地进行向性能更高的组件的替换等。此外,组件开发者能够使开发的组件由较多的应用70利用而得到其利用费用。此外,通过提供性能更好的组件,能够进行向多个应用70的展开。
本实施方式的组件管理例如可以通过构成通常的计算机的硬件与由计算机执行的程序(软件)的协同来实现。例如,通过计算机执行规定的程序,能够实现上述的组件检索服务器10及组件运用服务器20的功能。此外,可以使用计算机具备的存储设备来实现上述的DB服务器30的功能。
图20是表示本实施方式的组件管理装置的硬件结构例的框图。本实施方式的组件管理装置例如如图20所示,具有具备CPU(Central Processing Unit)或GPU(GraphicsProcessing Unit)等的处理器电路101、RAM(Random Access Memory)或ROM(Read OnlyMemory)等的内部存储器102、HDD(Hard Disk Drive)或SDD(Solid State Drive)等的存储设备103、用来将输入设备106或显示器107等的周边设备连接的输入输出I/F104、以及开发者或用户利用的客户端/边缘终端等的外部设备进行通信的通信I/F105的通常的计算机的硬件结构。并且,例如通过处理器电路101一边利用内部存储器102一边执行保存在存储设备103或内部存储器102等中的程序,能够实现上述的功能性的构成要素。
即,本实施方式的组件管理装置的作为功能性的构成要素表示的各部包含在由计算机执行的程序中,通过计算机具备的1个以上的处理器(图20的处理器电路101)执行该程序,在RAM等的主存储(图20的内部存储器102)上生成上述的各部。
由计算机执行的上述程序例如被记录到磁盘(软盘、硬盘等)、光盘(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(注册商标)Disc等)、半导体存储器、或与其类似的记录介质中而提供。另外,记录程序的记录介质只要是计算机可读取的记录介质,其存储形式是哪种形态都可以。此外,也可以以将上述程序预先安装到计算机中的方式构成,也可以以将经由网络分发的上述程序适当安装到计算机中的方式构成。
另外,本实施方式的组件管理装置也可以是将上述的功能性的构成要素的一部分或全部通过ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等的专用的硬件实现的结构。此外,本实施方式的组件管理装置也可以构成为将多台计算机可通信地连接的网络系统,是将上述的功能性的构成要素分散到多台计算机中而实现的结构。此外,本实施方式的组件管理装置也可以是在云上动作的虚拟机。
以上,说明了本发明的实施方式,但该实施方式是作为例子提示的,不是要限定发明的范围。该新的实施方式能够以其他各种各样的形态实施,在不脱离发明的主旨的范围内能够进行各种省略、替换、变更。这些实施方式及其变形包含在发明的范围或主旨中,并且包含在权利要求书所记载的发明和其等价的范围中。
Claims (15)
1.一种组件管理装置,其特征在于,
具备:
数据库,登记有按照每个类型规定了输入输出的组件,其中该组件是进行包含讲话应答、图像识别、字符识别、声音识别、数据解析的处理的软件部件,接受包含讲话、图像、声音、传感器数据的输入,并且将包含与其对应的应答、识别结果、解析结果的输出返回;
组件检索部,受理组件的上述类型以及输入例或评价数据的输入,根据该输入进行登记在上述数据库中的组件的检索,提示检索结果;以及
组件运用部,将来自利用检索到的组件的应用的输入向组件发送,将该组件的输出送至上述应用,
上述组件检索部将登记在上述数据库中的组件中的、对于所受理的输入例输出了应答的组件的信息即组件信息作为上述检索结果进行提示,
上述组件信息包含作为上述组件的输出而获得的应答文本以及提取信息,或者上述组件的识别结果。
2.如权利要求1所述的组件管理装置,其特征在于,
上述组件检索部使用所受理的评价数据计算登记在上述数据库中的组件的精度,以计算出的精度由高到低的顺序将组件的信息排列,作为上述检索结果进行提示。
3.如权利要求1或2所述的组件管理装置,其特征在于,
上述组件检索部反复进行上述输入的受理和组件的检索,构建将多个组件组合而成的应用的动作流程。
4.如权利要求1所述的组件管理装置,其特征在于,
上述组件检索部提示信息,该信息是用于确定利用检索到的组件的应用与检索到的组件一起利用的其他组件的信息。
5.如权利要求1所述的组件管理装置,其特征在于,
上述组件检索部提示机构,该机构是用于取得用来使检索到的组件在特定环境中动作的软件部件的机构。
6.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部将上述应用的输入和组件的输出的组向上述数据库记录。
7.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部从上述应用接受对于组件的输出的评价,在该评价为规定值以上的情况下,将上述应用的输入和组件的输出的组作为评价数据向上述数据库记录。
8.如权利要求7所述的组件管理装置,其特征在于,
上述组件运用部使用上述评价数据,计算应用所利用的组件及与该组件同类型的其他组件的精度,提示精度比应用所利用的组件高的其他组件的信息。
9.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部从上述应用接受对于组件的输出的评价,根据该评价计算组件的评价信息并向上述数据库记录;
上述组件检索部提示检索出的组件的评价信息。
10.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部计测从将来自上述应用的输入向组件发送到接收该组件的输出为止的时间,根据计测出的时间计算组件的应答性能并向上述数据库记录;
上述组件检索部提示检索到的组件的应答性能。
11.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部在没有从发送了来自上述应用的输入的组件得到输出的情况下,向与该组件同类型的其他组件发送来自上述应用的输入,将来自该其他组件的输出送至上述应用。
12.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部在没有从发送了来自上述应用的输入的组件得到输出的情况下,向上述应用请求其他输入。
13.如权利要求1所述的组件管理装置,其特征在于,
上述组件运用部将上述应用对于组件的利用次数向上述数据库记录。
14.一种组件管理方法,其特征在于,
包括:
将被按照每个类型规定了输入输出的组件向数据库登记的步骤,其中该组件是进行包含讲话应答、图像识别、字符识别、声音识别、数据解析的处理的软件部件,接受包含讲话、图像、声音、传感器数据的输入,并且将包含与其对应的应答、识别结果、解析结果的输出返回;
受理组件的上述类型以及输入例或评价数据的输入,根据该输入进行登记在上述数据库中的组件的检索,提示检索结果的步骤;以及
将来自利用检索到的组件的应用的输入向组件发送,将该组件的输出送至上述应用的步骤,
上述提示检索结果的步骤将登记在上述数据库中的组件中的、对于所受理的输入例输出了应答的组件的信息即组件信息作为上述检索结果进行提示,
上述组件信息包含作为上述组件的输出而获得的应答文本以及提取信息,或者上述组件的识别结果。
15.一种记录介质,其特征在于,
记录有用来使计算机实现以下的功能的程序:
将被按照每个类型规定了输入输出的组件向数据库登记的功能,其中该组件是进行包含讲话应答、图像识别、字符识别、声音识别、数据解析的处理的软件部件,接受包含讲话、图像、声音、传感器数据的输入,并且将包含与其对应的应答、识别结果、解析结果的输出返回;
受理组件的上述类型以及输入例或评价数据的输入,根据该输入进行登记在上述数据库中的组件的检索,提示检索结果的功能;以及
将来自利用检索到的组件的应用的输入向组件发送,将该组件的输出送至上述应用的功能,
上述提示检索结果的功能将登记在上述数据库中的组件中的、对于所受理的输入例输出了应答的组件的信息即组件信息作为上述检索结果进行提示,
上述组件信息包含作为上述组件的输出而获得的应答文本以及提取信息,或者上述组件的识别结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-111156 | 2018-06-11 | ||
JP2018111156A JP6779943B2 (ja) | 2018-06-11 | 2018-06-11 | コンポーネント管理装置、コンポーネント管理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110580160A CN110580160A (zh) | 2019-12-17 |
CN110580160B true CN110580160B (zh) | 2023-10-27 |
Family
ID=68763719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910491050.7A Active CN110580160B (zh) | 2018-06-11 | 2019-06-06 | 组件管理装置、组件管理方法及记录介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11423088B2 (zh) |
JP (1) | JP6779943B2 (zh) |
CN (1) | CN110580160B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397519B2 (en) * | 2019-11-27 | 2022-07-26 | Sap Se | Interface controller and overlay |
CN111399812B (zh) * | 2020-04-07 | 2022-04-19 | 杭州指令集智能科技有限公司 | 组件构建方法、装置、开发框架及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432719A (zh) * | 2006-04-28 | 2009-05-13 | 雅虎公司 | 基于社会化网络活动信息的情景移动本地搜索 |
CN101923551A (zh) * | 2009-06-12 | 2010-12-22 | Sap股份公司 | 信息值驱动的接近实时的决策支持 |
CN104717094A (zh) * | 2013-12-16 | 2015-06-17 | 株式会社日立制作所 | 管理服务器和管理服务器的控制方法 |
CN105095469A (zh) * | 2015-08-07 | 2015-11-25 | 薛德军 | 一种基于反馈的文献检索方法 |
CN106547886A (zh) * | 2016-11-03 | 2017-03-29 | 广东欧珀移动通信有限公司 | 应用程序推荐方法、装置、终端和服务器 |
US9983855B1 (en) * | 2016-12-29 | 2018-05-29 | Walmart Apollo, Llc | Systems, method, and non-transitory computer-readable storage media for displaying software components |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020099884A1 (en) * | 2001-01-19 | 2002-07-25 | Chang William Ho | Output controller systems and method for universal data output |
JP4155854B2 (ja) | 2003-03-24 | 2008-09-24 | 富士通株式会社 | 対話制御システム及び方法 |
US20050160104A1 (en) * | 2004-01-20 | 2005-07-21 | Datasource, Inc. | System and method for generating and deploying a software application |
US7877387B2 (en) | 2005-09-30 | 2011-01-25 | Strands, Inc. | Systems and methods for promotional media item selection and promotional program unit generation |
US7711674B2 (en) | 2005-11-01 | 2010-05-04 | Fuji Xerox Co., Ltd. | System and method for automatic design of components in libraries |
JP2008242811A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi Software Eng Co Ltd | ソフトウェア部品ソースコード生成システム |
JP5084665B2 (ja) * | 2008-08-20 | 2012-11-28 | 日本電信電話株式会社 | コンポーネント連携シナリオ統合開発環境提供システム、シナリオ作成支援方法、及び、プログラム |
JP4851556B2 (ja) * | 2009-04-10 | 2012-01-11 | 株式会社エヌ・ティ・ティ・ドコモ | 連携サーバ装置、アプリケーション連携判断システム、及び、アプリケーション連携判断方法 |
US20130080584A1 (en) * | 2011-09-23 | 2013-03-28 | SnapLogic, Inc | Predictive field linking for data integration pipelines |
US10741182B2 (en) * | 2014-02-18 | 2020-08-11 | Lenovo (Singapore) Pte. Ltd. | Voice input correction using non-audio based input |
JP6927552B2 (ja) * | 2016-02-19 | 2021-09-01 | 日本電気株式会社 | 情報処理装置、リソース管理方法及びリソース管理プログラム |
US10911596B1 (en) * | 2017-08-31 | 2021-02-02 | Amazon Technologies, Inc. | Voice user interface for wired communications system |
-
2018
- 2018-06-11 JP JP2018111156A patent/JP6779943B2/ja active Active
-
2019
- 2019-06-06 CN CN201910491050.7A patent/CN110580160B/zh active Active
- 2019-06-10 US US16/436,145 patent/US11423088B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432719A (zh) * | 2006-04-28 | 2009-05-13 | 雅虎公司 | 基于社会化网络活动信息的情景移动本地搜索 |
CN101923551A (zh) * | 2009-06-12 | 2010-12-22 | Sap股份公司 | 信息值驱动的接近实时的决策支持 |
CN104717094A (zh) * | 2013-12-16 | 2015-06-17 | 株式会社日立制作所 | 管理服务器和管理服务器的控制方法 |
CN105095469A (zh) * | 2015-08-07 | 2015-11-25 | 薛德军 | 一种基于反馈的文献检索方法 |
CN106547886A (zh) * | 2016-11-03 | 2017-03-29 | 广东欧珀移动通信有限公司 | 应用程序推荐方法、装置、终端和服务器 |
US9983855B1 (en) * | 2016-12-29 | 2018-05-29 | Walmart Apollo, Llc | Systems, method, and non-transitory computer-readable storage media for displaying software components |
Non-Patent Citations (2)
Title |
---|
Exploring optimal myoelectric feature indices for forearm control strategy using robust principal component analysis;Suguru Kanoga 等;《2017 39th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC)》;第1796-1799页 * |
云环境下微服务的动态部署研究;吉振领;《万方》;20180514;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20190377760A1 (en) | 2019-12-12 |
JP2019215621A (ja) | 2019-12-19 |
JP6779943B2 (ja) | 2020-11-04 |
CN110580160A (zh) | 2019-12-17 |
US11423088B2 (en) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106233252B (zh) | 用于定制软件的动态更新安装器 | |
US10855561B2 (en) | Predictive service request system and methods | |
US20070260531A1 (en) | Location Information Management | |
CN103246690A (zh) | 标签继承 | |
CN108701121A (zh) | 将用户输入分派到用户界面中的多个输入域 | |
RU2653246C1 (ru) | Усовершенствование запроса для поиска базы данных | |
CN110580160B (zh) | 组件管理装置、组件管理方法及记录介质 | |
US20180234329A1 (en) | Test building for testing server operation | |
US20200395004A1 (en) | Computer System, Model Generation Method, and Computer Readable Recording Medium | |
US20170124181A1 (en) | Automatic fuzzy matching of entities in context | |
KR102197392B1 (ko) | 관심지점 리스트에 대한 구독과 리뷰 정보에 기초하여 보상을 제공하는 방법 및 시스템 | |
KR102235740B1 (ko) | 관심지점 리스트에 대한 구독과 리뷰 정보에 기초하여 보상을 제공하는 방법 및 시스템 | |
JP4247101B2 (ja) | 設計支援システム | |
US11863635B2 (en) | Enhanced processing of user profiles using data structures specialized for graphical processing units (GPUs) | |
US10019295B2 (en) | Method and system for managing and linking software applications | |
WO2024030113A1 (en) | System and method for bulk update of resource data for view parameters | |
US20080027927A1 (en) | Retracement data processing method and apparatus | |
US9009073B1 (en) | Product availability check using image processing | |
JP6204923B2 (ja) | アセスメント装置、アセスメントシステム、アセスメント方法、及びプログラム | |
KR20200086574A (ko) | 키워드 관계 구조를 이용한 신규 키워드 추출 방법 및 시스템 | |
US11983450B2 (en) | Generating user interface for onboarding | |
CN112596812B (zh) | 一种操作请求的响应方法、装置、设备及存储介质 | |
JP7119411B2 (ja) | データベース装置、データ管理方法、及びコンピュータ・プログラム | |
WO2020183758A1 (ja) | 計算機システム及びデータのアクセス制御方法 | |
KR20210033957A (ko) | 관심지점 리스트에 대한 구독과 리뷰 정보에 기초하여 보상을 제공하는 방법 및 시스템 |
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 |