CN111158645B - 提供集成开发环境的系统和方法 - Google Patents
提供集成开发环境的系统和方法 Download PDFInfo
- Publication number
- CN111158645B CN111158645B CN201911258318.9A CN201911258318A CN111158645B CN 111158645 B CN111158645 B CN 111158645B CN 201911258318 A CN201911258318 A CN 201911258318A CN 111158645 B CN111158645 B CN 111158645B
- Authority
- CN
- China
- Prior art keywords
- application
- component
- components
- server
- server side
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- 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/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开一种提供嵌入式集成开发环境的系统和方法。该系统部署终端设备上,包括:接口模块,用于提供与服务器端交互的各种接口;界面控制模块,包括图形界面,用于经由图形界面接收应用组件的限定信息,根据限定信息经由接口模块向服务器端发送第一访问请求,并从服务器端获得与限定信息匹配的第一应用组件以及第一应用组件依赖的资源组件。本发明使得嵌入式集成开发环境的系统只需下载与限定信息对应的应用组件以及该应用组件依赖的资源组件,从而提高了构建工程和加载工程的效率。
Description
技术领域
本发明涉及嵌入式开发领域,具体而言,涉及一种在嵌入式开发过程中提供嵌入式集成开发环境的系统和方法。
背景技术
嵌入式开发是指在特定的硬件环境上开发与构建特定的可编程软件系统。在进行嵌入式开发时,需要进行代码编写、编译、下载、调试等一系列操作,嵌入式集成开发环境集成了这些操作,嵌入式开发人员可以在终端设备上安装提供嵌入式集成开发环境的系统,并使用该系统进行日常开发工作。
现有的提供嵌入式集成开发环境的系统允许从服务器端获取指定的网络资源到系统中。指定的网络资源包括用于支持特定的硬件环境的软件代码。在嵌入式开发中,特定的硬件环境一般包括如图1所示的以下硬件部件:
1)芯片管脚101,用于将片上系统103电连接到电路板上,并经由芯片管脚101进行信号传输;
2)其他外部硬件102,焊接在电路板上,作为可以使用的外部硬件;
3)片上系统(SoC)103,包含内部的IP核、外围的IP核,通常还包括静态随机存取存储器、快闪存储器等存储设备;
4)电路板104,用于承载上述部件,并支持各个部件之间的信号传输。
需要下载到系统的软件代码一般如图2所示,包括应用模块203、板级模块202和芯片级模块201。应用模块203为与硬件部件耦合度低的、用于实现具体场景的示例代码。芯片级模块201包括对片上系统包含的IP核和存储设备进行初始化操作的代码。板级模块202包括对电路板、芯片管脚进行初始化操作的代码,如果电路板上还焊接了其他额外的硬件设备,板级模块202还需要包含这些硬件设备的驱动程序。
参考图3所示,服务器端按照以下方式组织用于支持硬件环境的软件代码:芯片集组件300可以看作一个独立存在的打包文件,该打包文件中包含了模块1至模块N,模块1至模块N的每个模块包括了一个芯片级模块201,还包括与所述芯片级模块201对应的一个或多个应用模块203和板级模块202。应指出,这里模块只是用于实现特定功能的逻辑单元。因此,当需要下载特定的硬件环境的软件代码时,系统必须将芯片集组件300作为一个整体下载。
但是这种以芯片为主导组织和下载网络资源的方式存在如下问题:首先,随着物联网(IoT)的发展,一些物联网产品只需要满足特定应用场景,例如只满足特定芯片类型,无需覆盖所有可能芯片类型;其次,以芯片为导向下载网络资源需要下载整个芯片集组件,使得下载的资源过大,其中包含了很多多余资源,由此也降低了开发效率。
发明内容
有鉴于此,本发明提出了一种提供嵌入式集成开发环境的系统和方法,以解决上述问题。
为了达到这个目的,根据本发明的第一方面,本发明实施例提供一种提供嵌入式集成开发环境的系统,部署终端设备上,所述终端设备与服务器端通信,所述系统包括:
接口模块,用于提供与所述服务器端交互的各种接口;
界面控制模块,包括图形界面,用于经由所述图形界面接收应用组件的限定信息,根据所述限定信息经由所述接口模块向所述服务器端发送第一访问请求,并从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件。
在一个实施例中,所述界面控制模块还包括:根据应用组件的应用领域、应用类别和应用标识的对应关系数据在所述图形界面上显示多个待选的应用领域、应用类别和应用标识,以接收所述限定信息。
在一个实施例中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据。
在一个实施例中,所述对应关系数据存储在所述终端设备和所述服务器端,当所述服务器端的所述对应关系数据更新时,所述界面控制模块执行所述向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据的步骤。
在一个实施例中,所述对应关系数据仅存储在所述服务器端,所述界面控制模块实时执行所述向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据的步骤。
在一个实施例中,所述图形界面上嵌入浏览器,所述多个待选的应用领域、应用类别和应用标识显示为所述浏览器上的组件。
在一个实施例中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第三访问请求,并从所述服务器端获得开发板组件的数据,并根据所述开发板组件的数据在所述图形界面上显示多个待选的开发板组件。
在一个实施例中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第三访问请求,并从所述服务器端获得芯片组件的数据,并根据所述芯片组件的数据在所述图形界面上显示多个待选的芯片组件。
在一个实施例中,所述界面控制模块包括:从所述服务器端获得所述第一应用组件以及所述第一应用组件依赖的资源组件的存储信息,并据此下载所述第一应用组件以及所述第一应用组件依赖的资源组件。
在一个实施例中,所述第一应用组件依赖的资源组件包括以下组件中的一个或者多个:芯片组件、开发板组件、中间件组件和内核组件。
第二方面,本发明实施例提供一种提供嵌入式集成开发环境的方法,所述方法应用于终端设备上,所述终端设备与服务器端通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述方法包括:
经由图形界面接收应用组件的限定信息;
根据所述限定信息经向所述服务器端发送第一访问请求;以及
从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件。
在一个实施例中,还包括:
根据所述应用组件的应用领域、应用类别和应用标识的对应关系数据在所述图形界面上显示多个待选的应用领域、应用类别和应用标识,以接收所述限定信息。
在一个实施例中,还包括:向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据。
在一个实施例中,所述图形界面上嵌入浏览器,所述多个待选的应用领域、应用类别和应用标识显示为所述浏览器上的图形组件。
在一个实施例中,还包括:向所述服务器端发送第三访问请求,从所述服务器端获得开发板组件或者芯片组件的数据,并根据所述开发板组件或者芯片组件的数据在所述图形界面上显示多个待选的开发板组件或者芯片组件。
在一个实施例中,所述从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件包括:从所述服务器端获得所述第一应用组件以及所述第一应用组件依赖的资源组件的存储信息,并据此下载所述第一应用组件以及所述第一应用组件依赖的资源组件。
在一个实施例中,所述第一应用组件依赖的资源组件包括以下组件中的一个或者多个:芯片组件、开发板组件、中间件组件和内核组件。
第三方面,本发明实施例提供一种资源管理系统,部署在服务器端,所述服务器端与多个终端设备通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述资源管理系统包括:
服务器接口,用于提供与多个所述终端设备交互的各种接口用于提供与所述集成开发环境交互的各种接口;
索引数据单元,用于存储应用组件的应用索引数据;
组件数据单元,用于存储应用组件与资源组件的组件依赖数据;
访问控制模块,用于经由所述服务器接口接收第一访问请求,根据所述第一访问请求检索所述应用索引数据,以确定第一应用组件,根据所述第一应用组件检索所述组件依赖数据,以确定所述第一应用组件依赖的资源组件,并经由所述服务器接口将所述第一应用组件、所述第一应用组件依赖的资源组件发送给所述终端设备。
第四方面,本发明实施例提供一种资源管理方法,所述方法应用于服务器端上,所述服务器端与服务器端通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述资源管理方法包括:
接收第一访问请求;
根据所述第一访问请求检索所述应用索引数据,以确定第一应用组件;根据所述第一应用组件检索所述组件依赖数据,以确定所述第一应用组件依赖的资源组件;以及
将所述第一应用组件、所述第一应用组件依赖的资源组件发送给所述终端设备。
第五方面,本发明实施例提供一种终端设备,包括存储器和处理器,所述存储器存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的方法。
第六方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的方法。
本发明实施例提供的用于提供嵌入式集成开发环境的系统中,根据应用组件的限定信息下载第一应用组件,同时仅仅下载和第一应用组件相关的资源组件,无需下载多余资源,从而提高了嵌入式开发中构建工程和加载工程的效率,进而提高了开发效率。进一步地,将服务器端的资源划分为比现有技术中的芯片开发包更细粒度的各种组件,不仅有利于各种组件的复用,而且能够使用组件更加灵活地搭建新的应用,有助于快速地形成各种新的应用。
附图说明
通过参考以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出了嵌入式集成开发环境下所需的硬件环境包含的硬件设备:
图2示出了嵌入式集成开发环境的工程中包含的模块;
图3示出了现有的提供嵌入式开发环境的系统对于用于支持特定硬件环境的软件代码的组织方式;
图4是本发明实施例的应用场景图;
图5是根据本发明实施例分解的各种模块在图4所示的终端设备和服务器端的部署示意图;
图6a是根据本发明实施例提供的一示例性的应用数据单元的数据结构;
图6b是根据本发明实施例提供的一示例性的组件数据单元的数据结构;
图6c是根据本发明实施例提供的另一示例性的用于同时存储应用索引数据和组件依赖数据的数据单元的数据结构;
图7a和8a是根据本发明实施例的提供嵌入式集成开发环境的方法的流程图;
图7b和8b是根据本发明实施例的资源管理方法的流程图;
图9a-9c是根据本发明实施例提供的示例性的嵌入式开发软件界面原型的示意图;
图10是根据本发明实施例提供的终端设备和服务器的结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中涉及的技术术语。
静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。
快闪存储器(Flash EPROM)是电子可擦除可编程只读存储器的一种形式。快闪存储器允许在操作中可多次擦或写,并具有非易失性。快闪存储器和传统的电子可擦除可编程只读存储器不同在于它是以较大区块进行数据抹擦,而传统的电子可擦除可编程只读存储器只能进行擦除和重写单个存储位置。
IP核,全称知识产权核(intellectual property core),是指厂商提供的、形式为逻辑单元、芯片设计的可重用模组。
通常情况下,提供嵌入式集成开发环境的系统采用“工程”管理嵌入式集成开发环境下的资源。“工程”包括源代码列表、编译相关配置、调试启动配置、下载配置等等。在嵌入式集成开发环境下还需要考虑硬件适配性,因此在“工程”中还需要包含支持特定的硬件环境的代码。特定的硬件环境可以根据实际应用需求进行选择并将其集成在一个电路板上。该电路板一般包括处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件。这种集成了一系列硬件的电路板也被称为开发板(demoboard)。
本发明的核心思想在于,首先将服务器端的芯片集组件被分解多种组件,例如,将芯片集组件中包含的芯片级模块、板级模块和应用模块按照芯片类别、开发板类别和应用类别等特征进行分解,以获得多个芯片组件、多个开发板组件和多个应用组件,然后在提供嵌入式集成开发环境的系统中,引入“应用为导向”的理念,在工程中提供应用需求,然后根据应用需求检索资源索引数据,以确定与应用需求匹配的应用组件,然后将应用组件以及应用组件依赖的资源组件(包括开发板组件和芯片组件)下载到工程中,由此构建的应用工程中只包括和应用需求匹配的组件,不包含其他无关的组件。并且,可以根据应用需求的变化,卸载已经下载到工程中的组件,也可以安装新的组件。这种方案基于应用需求下载组件,从而能够避免多余组件的下载,进而避免由于多余组件的影响使得工程变得庞大,影响到代码编辑、代码编译、代码执行等操作。
图4是本发明实施例和现有技术的应用场景图。如图4所示,系统40可包括经由网络402耦合的多个终端设备401和服务器端403。
终端设备401可基于目前市场上各种型号的处理器构建,并包括诸如存储器和输入输出设备等多种器件。终端设备401上会安装有各种操作系统和各种应用软件,操作系统例如WINDOWSTM操作系统、UNIX操作系统、Linux操作系统、实时操作系统(RTOS),应用软件例如为浏览器、视频播放软件、通信软件、各种研发工具等等。
各个终端设备401可以以各种方式与网络402进行通信。网络402可以基于通过交换信号实现的各种通信技术之一或多种通信技术的组合,包括但不限于采用电和/或光传导线缆的有线技术,以及采用红外、射频和/或其它形式的无线技术。在不同的应用场景下,网络402可以是互联网、广域网或局域网,例如为公司的专有网络。网络402还可以为有线网络或无线网络。
各个终端设备401可以经由网络402从服务器端403中下载各种网络资源。在本示例中,服务器端403包括控制服务器404和多个资源服务器405。控制服务器404用于控制各种终端设备401对于网络资源的访问,例如,对于特定终端设备提供的资源请求,检查其是否具有访问权限,并在其具备访问权限的条件下,通过服务器索引从对应的资源服务器上获得其请求的网络资源,并下发给该特定终端设备。资源服务器405上存储有各种网络资源。当然,也可以采用单一服务器存储各种网络资源和控制网络资源访问的控制系统。
各种终端设备401上还部署有嵌入式开发软件,以提供嵌入式集成开发环境,以便于嵌入式开发人员的开发工作。嵌入式开发软件可以预装在终端设备上,或者由嵌入式开发人员自行从服务器端403将其下载到终端设备401上。各个终端设备401可以限定为PC机、台式机、笔记本和掌上电脑等能够使得嵌入式开发人员实施开发工作的设备。
在服务器端403的每个资源服务器405上,存储有各种网络资源。按照现有技术,如图2所示的各种芯片集组件以整体形式存储在资源服务器405上,部署在各种终端设备401上的嵌入式开发软件经由控制服务器404下载所需网络资源。但是根据本发明实施例,一方面,在服务器端403上,在控制系统中,采用组件化管理方式组织网络资源,将网络资源按照组件类别细分管理,将每种应用依赖的网络资源进行描述,并接收各种终端设备401的访问请求,根据访问请求控制应用组件以及其依赖的资源组件的下载;另一方面,在终端设备401上,在嵌入式开发软件中,以应用需求为主导下载应用组件以及应用组件依赖的资源组件。具体地,由嵌入式开发人员提供应用需求,嵌入式开发软件生成访问请求,发送给服务器端403的控制系统,服务器端403根据访问请求将所需的应用组件以及其依赖的资源组件下载到嵌入式开发软件中。
可选地,服务器端403的多个资源服务器405和控制服务器404组成集群服务器。控制服务器404上部署集群管理软件,使得各个资源服务器以统一方式向外部系统提供服务。
图5是根据本发明实施例分解的各种模块在图4所示的终端设备和服务器端的部署示意图。如图5所示,终端设备401上部署有嵌入式开发软件60,软件60包括界面控制模块601和接口模块602。接口模块602用于提供与服务器端的控制系统交互的各种接口,这些接口包括建立通信连接、发送访问请求、接收请求结果、下载网络资源,等等。界面控制模块601用于向嵌入式开发人员提供各种图形界面,经由图形界面接收应用组件的限定信息(即前文中的应用需求),根据限定信息经由接口模块602向服务器端发送访问请求,并从服务器端获得与限定信息匹配的应用组件以及该应用组件依赖的资源组件。
继续参考图5所示,服务器端403上部署有服务器接口54、控制模块50、索引数据单元51、组件数据单元52和组件集53。服务器接口54用于提供与嵌入式开发软件60交互的各种接口,以实现和接口模块602通信。服务器接口54包括:接收各种访问请求,并将其转发给控制模块50、返回处理结果,等等。服务器接口54和控制模块50可以部署在如图4所示的控制服务器404上,用于获得访问请求,并根据访问请求控制对于网络资源的访问和下载。索引数据单元51存储有应用索引数据。组件数据单元52存储有组件依赖数据,组件依赖数据描述了组件集53中的各种组件的依赖关系,包括应用组件与其他组件的依赖关系,以及其他组件之间的依赖关系。组件依赖数据可以采用图形或者数据表示。组件数据单元52可以位于控制服务器404上,但本发明实施例并不依赖于该限定。组件集53为各种类型的组件集合,如图上示出了应用组件531、芯片组件532、中间件组件533、内核组件534和开发板组件535,但本发明实施例并不依赖于该限定。在本发明实施例,可以采用以下设定:一个工程最多只能包含一个应用组件531;开发板组件535在一个工程有且仅有一个,用于提供对开发板的软件支持,包含芯片初始化代码、外部硬件模块驱动代码等;芯片组件532在一个工程有且仅有一个,用于对开发板上的芯片的初始化操作,同时还需要包含整个工程所用的链接描述文件;内核组件534在一个工程中最多只能包含一个,根据具体实现决定是否将内核组件534加载到工程中,如果应用需要RTOS,则需要安装此组件;中间件组件533属于一些用于支撑应用的可复用的组件,工程可以根据具体情况选择使用或者不适用某些中间件组件,以完成具体实现。
在一个实施例中,嵌入式开发软件60可以经由接口模块602向服务器端发送访问请求,服务器端的控制模块50调用某个服务器接口54接收该访问请求,从该访问请求中获得应用信息,所述应用信息可以包括应用领域、应用类别、应用标识、芯片标识和开发板标识等其中一个或多个字段的信息,根据这些信息检索应用索引数据和组件依赖数据,得到对应的应用组件以及该应用组件依赖的资源组件,并将对应的应用组件以及该应用组件依赖的资源组件发送给嵌入式开发软件60。
作为一个可选的实施方式,控制模块50直接将应用组件以及应用组件依赖的资源组件返回给嵌入式开发软件。作为另一个可选的实施方式,控制模块50通知嵌入式开发软件60关于应用组件以及应用组件依赖的资源组件的存储位置和获取方式,由嵌入式开发软件60控制是否下载以及如何下载这些组件。
在一个实施例中,图形界面模块601根据应用领域、应用类别和应用标识的对应关系数据,通过图形界面向嵌入式开发人员展示多个待选的应用领域、应用类别和应用标识,供用户选择。其中,应用领域、应用类别和应用标识的对应关系数据可以存储在服务器端,例如存储应用索引数据中,当然也可以存储在终端设备中。如果该对应关系数据存储在服务器端,嵌入式开发软件60可以在需要时实时地向服务器端发送一个访问请求,从而从服务器端获取到该对应关系数据,也可以提前从服务器端获取到该对应关系数据并存储到终端设备上,供需要时使用,由此,当服务器端的对应关系数据更新时,界面控制模块601向服务器端发送访问请求,并从服务器端获得对应关系数据,以更新本地的对应关系数据。还可以在每次嵌入式开发软件60启动后的初始化阶段从服务器端获取该对应关系数据,并更新本地的对应关系数据。
在一个实施例中,界面控制模块601按照向导方式创建工程,通过点击菜单,弹出创建工程向导,指定一个应用领域,然后图形界面上显示该应用领域下各种应用类别,指定一个应用类别,然后图形界面上显示该应用类别下的各种应用组件,再指定一个应用组件。在此过程中,界面控制模块601发送多次访问请求,控制模块通过服务器接口54接收多次访问请求,从中解析出访问请求中的应用领域,根据应用领域检索应用索引数据,得到该应用领域下的所有应用类别,将其经由接口模块602返回给界面控制模块601,界面控制模块601在图形界面中展示所有应用领域和应用类别,进而用户可以选择应用类别,界面控制模块60再次构建和发送访问请求,控制模块通过服务器接口54接收访问请求,从中解析出访问请求中的应用类别,根据应用类别检索应用索引数据,得到该应用类别的所有应用标识,将其经由接口模块602返回给界面控制模块601展示,进而用户再次指定一个应用标识,构建和发送访问请求,控制模块通过服务器接口54接收访问请求,从中解析出访问请求中的应用标识,根据应用标识检索应用索引数据,得到对应的应用组件,把该应用组件以及该应用组件依赖的资源组件直接或间接地返回给嵌入式开发软件。
在一个实施例中,界面控制模块601中可以嵌入浏览器,通过浏览器技术显示图形组件,通过图形组件接收应用组件的限定信息。当嵌入浏览器时,浏览器引擎使用浏览器前端技术对网页进行图形化展示,以便获得更好的展示效果,同时也能复用网络资源。通常情况下,运行在这种嵌入式浏览器中的网页是包含了JavaScript源代码的动态网页。当网页展示内容需要与嵌入式开发软件本身进行数据交互时,常用的技术方案是:嵌入式开发软件启动本地服务器,浏览器访问的是本地服务器提供的资源,通过网络访问(http/https)到本地服务器端,然后本地服务可以直接调用嵌入式开发软件中的相关功能,完成数据的交互操作。当然,本发明不局限于必须采用该技术方案实现浏览器和嵌入式开发软件之间的交互功能。
在上述实施例中,根据访问请求中包含的应用组件的限定信息下载应用组件,同时仅仅下载和该应用组件相关的资源组件,无需下载多余资源,从而提高了嵌入式开发中构建工程和加载工程的效率,进而提高了开发效率。
进一步地,将服务器端的资源划分为比现有技术中的芯片集组件更细粒度的各种组件,不仅有利于各种组件的复用,而且能够使用组件更加灵活地搭建新的应用,有助于快速地形成各种新的应用。而且,对于嵌入式开发人员而言,可以更加聚焦于单一组件的开发,从而可以提供更多高效组件。
应理解,上述各个模块是软件层面的划分方式,本领域的技术人员完全可以在理解本发明的指导精神的前提下,提供和上述不同的模块组合,由此得到的模块组合也应在本发明的保护范围之内。
图6a是根据本发明实施例提供的一示例性的索引数据单元的数据结构。图6a示出的该数据结构为表结构,包括应用领域607、应用类别606、应用标识603以及芯片标识605和开发板标识606。控制模块50根据访问请求中的限定信息进行匹配,以确定相应的应用标识。限定信息可以包括应用领域、应用类别、应用标识、芯片标识和开发板标识中的一个或多个。其中,应用标识为应用组件的标识,芯片标识为芯片组件的标识,开发板标识为开发板组件的标识。当然,应用索引数据的数据结构不局限于此。
图6b是根据本发明实施例提供的一示例性的组件数据单元的数据结构。图6b示出的该数据结构为表结构,包括索引序号611、应用类别612、应用标识613、开发板标识614、开发板存储位置615、芯片标识616、芯片存储位置617、内核组件标识618和内核组件存储位置619。其中,开发板标识614和开发板存储位置615与组件集53中的开发板组件535对应,即,可以利用开发板标识614和开发板存储位置615找到在组件集53中存储的某个开发板组件535。芯片标识616和存储位置617与组件集53中的芯片组件532对应,即,可以利用芯片标识616和芯片存储位置617找到在组件集53中存储的某个芯片组件532。内核组件标识618和内核组件存储位置619与组件集53中的内核组件534对应。组件数据单元还可以包括未被示出依赖关系,例如对中间件组件533的依赖关系等等。
图6a和6b所示的数据结构也可以合二为一。当然,上述数据结构拆分为更多个数据结构。本发明实施例并不依赖于上述数据结构。
图6c是根据本发明实施例提供的另一示例性的用于同时存储应用索引数据和组件依赖数据的数据单元的数据结构。该数据结构为树结构。应用列表作为根结点,包括多个应用结点,每个应用结点描述一个应用组件的属性信息,每个应用结点包括多个开发板结点,每个开发板结点用于描述一个开发板组件的属性信息,以此类推。应用组件的属性信息例如包括应用标识、应用类别、应用组件的存储位置、依赖的开发板标识。通过树结构表示依赖关系的好处在于能够比较灵活地调整依赖关系。在表结构中,表结构确定之后,其包含的字段也就固定了,因此调整表结构以及数据比较麻烦。但是对于树结构而言,则可以较为容易地调整树结构的属性信息以及结点数量,而能够灵活地调整树结构对网络资源的管理非常有价值。另外,还应该指出的是,根据本发明实施例,还可以完全以应用组件为主导构建树结构,例如,树结构的根结点下包括多个应用结点,应用结点的二级结点包括其依赖的其他结点,例如用于描述开发板组件的结点,用于描述芯片组件的结点,用于描述内核组件的结点,等等。当然无论表结构还是树结构,都是为了存储组件依赖数据,因此需要根据实际组件化情况进行设计。
图7a是根据本发明一实施例的提供嵌入式集成开发环境的方法的流程图。该方法应用于终端设备,终端设备与服务器端通信。具体包括以下步骤。
在步骤S701中,经由图形界面接收应用组件的限定信息。
在步骤S702中,根据限定信息经向服务器端发送第一访问请求。
在步骤S703中,从服务器端获得与限定信息匹配的第一应用组件以及第一应用组件依赖的资源组件。
在本实施例中,经由嵌入式开发软件的图形界面,接收应用组件的限定信息,该限定信息可以包括应用领域、应用类别、应用标识、芯片标识、开发板标识等字段中的一个或几个,根据该限定信息组织第一访问请求,将第一访问请求发送给服务器端,并据此从服务器端获得与限定信息匹配的第一应用组件以及第一应用组件依赖的资源组件。
图7b是根据本发明一实施例的资源管理方法的流程图。该资源管理方法应用于服务器端,服务器端部署有应用组件和应用组件依赖的资源组件,例如芯片组件、开发板组件、内核组件、中间件组件等等。该资源管理方法包括以下步骤。
在步骤S711中,接收嵌入式开发软件的第一访问请求。该第一访问请求可以包括应用领域、应用类别、应用标识、芯片标识、开发板标识等字段中的一个或几个。
在步骤S712中,根据第一访问请求检索应用索引数据,以确定第一应用组件。服务器端收到第一访问请求之后,对其中的字段进行解析,以得到其中的限定信息,并据此检索应用索引数据,例如,根据第一访问请求中的应用类别获取到一个或多个应用组件的组件存储位置和/或得到与第一组件对应的应用标识。应用索引数据可以预先建立并存储在服务器端。
在步骤S713中,根据第一应用组件检索组件依赖数据,以确定第一应用组件依赖的资源组件。根据本步骤,可以首先得到第一应用组件依赖的开发板组件和芯片组件的标识,如果第一应用组件还依赖于除了芯片组件和开发板组件之外的其余组件,也可以一并通过检索组件依赖数据得到各自的标识。
在步骤S714中,将第一应用组件、第一应用组件依赖的资源组件发送给嵌入式开发软件。作为可选示例,服务器端可以从一个或多个第一应用组件的存储位置读取出各个组件,并将其发送给终端设备的嵌入式开发软件。作为另一个可选示例,服务器端在检索组件依赖数据时,只读取各个第一应用组件的存储位置,并将其发送给终端设备的嵌入式开发软件,由嵌入式开发软件自行下载各个组件,并在嵌入式开发软件中安装。
图8a是根据本发明一实施例的提供嵌入式集成开发环境的方法的流程图。本实施例的步骤S803至S805和图7a中的步骤S701至S703相同,这里就不再赘述。本实施例还包括步骤S801至S802。这二个步骤为了在嵌入式开发软件的工程中获取对应关系数据,以便于能够在图形界面上展示该对应关系,以供嵌入式开发人员选择。
在步骤S801中,向服务器端发送第二访问请求,并从服务器端获得应用组件的应用领域、应用类别和应用标识的对应关系数据。
在步骤S802中,根据对应关系数据在图形界面上显示多个待选的应用领域、应用类别和应用标识,以接收应用组件的限定信息。
在本实施例中,从服务器端获取对应关系数据,并将对应关系数据显示为图形界面上的各种图形组件,使得嵌入式开发人员可以基于图形组件选择,而无需输入信息,从而方便嵌入式开发工作。
图8b是根据本发明一实施例的资源管理方法的流程图。本实施例的步骤S814至S817和图7b中的步骤S711至S714对应,这里就不再赘述。本实施例还包括步骤S811至S813。这三个步骤描述了如何基于访问请求在服务器端检索获得对应关系数据。
在步骤S811中,接收嵌入式开发软件的第二访问请求。第二访问请求用于获取应用领域、应用类别和应用标识的对应关系数据。
在步骤S812中,根据第二访问请求检索应用索引数据,以得到表示应用领域、应用类别和应用标识的对应关系数据。应用领域、应用类别和应用标识的对应关系数据存储在服务器端,从而用户在嵌入式开发软件创建工程时需要从服务器端将其下载到本地,这样做的好处是当该对应关系数据变动时,只需要从服务器端重新下载数据即可。
在步骤S813中,将对应关系数据发送给嵌入式开发软件。嵌入式开发软件在得到该对应关系数据时,可以将其展示在嵌入式浏览器中。如果多个应用领域下包括多个应用类别,多个应用类别下包括多个应用,则可以采用列表形式展示当前工程下展示,用户可以从中选择一个应用。
进一步地,嵌入式开发软件还可以向服务器端请求下发所有可用的芯片和开发板列表,以供用户选择。当用户从中指定一个芯片和/或开发板时,在服务器端检索并下载对应组件。
本发明实施例提供的方法,应用于多个终端设备和服务器端。其中,在终端设备的嵌入式开发软件中,以应用组件为主导输入限定信息,并发送给服务器端,服务器端的控制信息据此通过检索获得与限定信息匹配的应用组件以及应用组件依赖的资源组件,并发送给嵌入式开发软件,从而在嵌入式开发软件的工程中,只下载应用组件以及应用组件依赖的资源组件,无需下载多余资源,以此提高了嵌入式开发中构建工程和加载工程的效率。
图9a-9c是根据本发明实施例提供的示例性的嵌入式开发软件的界面原型的示意图。
参考9a-9c所示,嵌入式开发软件的界面90分成多个功能区。功能区91提供项目视图,通过菜单列出已经创建的工程名称。采用虚线标记的区域92显示应用信息,该功能区可以采用嵌入式技术将浏览器嵌入到图形界面中。区域93为代码导航区。如图9a所示,功能区92包括功能区921、功能区922、功能区923和功能区924,功能区921用于显示应用领域列表,功能区922用于提供检索词以进行页面搜索,功能区923用于显示与应用领域对应的各个应用类别。功能区924用于显示各个应用的摘要和缩略图。嵌入式开发人员构建工程后,选择应用领域和应用类别,以获得一个应用组件。如图9b所示,功能区924显示一个特定应用组件的详细信息。如图9c所示,区域925显示可以采用的开发板列表,该开发板列表表示当前工程中已经下载的特定应用组件依赖的开发板组件,也可以表示服务器端目前存储的所有可用的开发板组件。如前所述,应用领域、应用类别、应用标识和开发板标识(还可以列出芯片标识)之间具有对应关系。这个对应关系数据可以转换为图形界面上的图形组件。嵌入式开发软件可以向服务器端发起访问请求,以获得该对应关系数据。这个可以经由嵌入式开发软件的一次或多次访问请求获得。访问请求的发起可以由嵌入式开发软件在启动时执行,也可以由嵌入式开发软件在需要获得该对应关系数据时从服务器端下载。当然,这个对应关系数据也可以在嵌入式开发软件中构建,然后同步给其他终端设备上的嵌入式开发软件。
如图10所示,图4中的终端设备401、资源服务器405和控制服务器404中的任意一个在硬件层面上可包括处理器101和存储器102,除此之外,一些情况下还包括输入输出设备103和其他硬件104。存储器102例如为高速随机存取存储器(Random-Access Memory,RAM),也可能是非易失性存储器(non-volatile memory),例如为至少1个磁盘存储器等。输入输出设备103例如为显示器、键盘、鼠标、网络控制器等设备。处理器101可以基于目前市场上各种型号的处理器构建。处理器101、存储器102、输入输出设备103和其他硬件104通过总线相互连接,该总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个线条表示,但并不表示仅有一根总线或一种类型的总线。
存储器102用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机指令。存储器可以包括内存和非易失性存储器,并向处理器101提供计算机指令和数据。处理器101从存储器102中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成上述应用于集成开发环境中的交互方法,并具体用于执行以下操作:经由图形界面接收应用组件的限定信息;根据所述限定信息经向所述服务器端发送第一访问请求;以及从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件。
本领域的技术人员能够理解,本发明可以实现为系统、方法和计算机程序产品。因此,本发明可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本发明还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本发明实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种提供嵌入式集成开发环境的系统,部署在终端设备上,所述终端设备与服务器端通信,所述系统包括:
接口模块,用于提供与所述服务器端交互的各种接口;
界面控制模块,包括图形界面,用于经由所述图形界面接收应用组件的限定信息,根据所述限定信息经由所述接口模块向所述服务器端发送第一访问请求,并从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件,
其中,所述经由所述图形界面接收应用组件的限定信息包括:根据应用组件的应用领域、应用类别和应用标识的对应关系数据在所述图形界面上显示多个待选的应用领域、应用类别和应用标识,根据用户选择获取所述应用组件的限定信息。
2.根据权利要求1所述的系统,其中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据。
3.根据权利要求2所述的系统,其中,所述对应关系数据存储在所述终端设备和所述服务器端,当所述服务器端的所述对应关系数据更新时,所述界面控制模块执行所述向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据的步骤。
4.根据权利要求2所述的系统,其中,所述对应关系数据仅存储在所述服务器端,所述界面控制模块实时执行所述向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据的步骤。
5.根据权利要求1所述的系统,其中,所述图形界面上嵌入浏览器,所述多个待选的应用领域、应用类别和应用标识显示为所述浏览器上的组件。
6.根据权利要求2所述的系统,其中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第三访问请求,并从所述服务器端获得开发板组件的数据,并根据所述开发板组件的数据在所述图形界面上显示多个待选的开发板组件。
7.根据权利要求2所述的系统,其中,所述界面控制模块还包括:经由所述接口模块向所述服务器端发送第三访问请求,并从所述服务器端获得芯片组件的数据,并根据所述芯片组件的数据在所述图形界面上显示多个待选的芯片组件。
8.根据权利要求1所述的系统,其中,所述界面控制模块包括:从所述服务器端获得所述第一应用组件以及所述第一应用组件依赖的资源组件的存储信息,并据此下载所述第一应用组件以及所述第一应用组件依赖的资源组件。
9.根据权利要求1至8任一项所述的系统,其中,所述第一应用组件依赖的资源组件包括以下组件中的一个或者多个:芯片组件、开发板组件、中间件组件和内核组件。
10.一种提供嵌入式集成开发环境的方法,所述方法应用于终端设备上,所述终端设备与服务器端通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述方法包括:
经由图形界面接收应用组件的限定信息;
根据所述限定信息经向所述服务器端发送第一访问请求;以及
从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件,
其中,所述经由图形界面接收应用组件的限定信息包括:
根据应用组件的应用领域、应用类别和应用标识的对应关系数据在所述图形界面上显示多个待选的应用领域、应用类别和应用标识,根据用户选择获取所述应用组件的限定信息。
11.根据权利要求10所述的方法,其中,还包括:向所述服务器端发送第二访问请求,并从所述服务器端获得所述对应关系数据。
12.根据权利要求10所述的方法,其中,所述图形界面上嵌入浏览器,所述多个待选的应用领域、应用类别和应用标识显示为所述浏览器上的图形组件。
13.根据权利要求11所述的方法,其中,还包括:向所述服务器端发送第三访问请求,从所述服务器端获得开发板组件或者芯片组件的数据,并根据所述开发板组件或者芯片组件的数据在所述图形界面上显示多个待选的开发板组件或者芯片组件。
14.根据权利要求10所述的方法,其中,所述从所述服务器端获得与所述限定信息匹配的第一应用组件以及所述第一应用组件依赖的资源组件包括:从所述服务器端获得所述第一应用组件以及所述第一应用组件依赖的资源组件的存储信息,并据此下载所述第一应用组件以及所述第一应用组件依赖的资源组件。
15.根据权利要求10至14任一项所述的方法,其中,所述第一应用组件依赖的资源组件包括以下组件中的一个或者多个:芯片组件、开发板组件、中间件组件和内核组件。
16.一种资源管理系统,部署在服务器端,所述服务器端与多个终端设备通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述资源管理系统包括:
服务器接口,用于提供与多个所述终端设备交互的各种接口;
索引数据单元,用于存储应用组件的应用索引数据;
组件数据单元,用于存储应用组件与资源组件的组件依赖数据;
访问控制模块,用于经由所述服务器接口接收第一访问请求,根据所述第一访问请求检索所述应用索引数据,以确定第一应用组件,根据所述第一应用组件检索所述组件依赖数据,以确定所述第一应用组件依赖的资源组件,并经由所述服务器接口将所述第一应用组件、所述第一应用组件依赖的资源组件发送给所述终端设备,所述第一访问请求包括应用领域、应用类别、应用标识、芯片标识和开发板标识中的至少一个。
17.一种资源管理方法,所述方法应用于服务器端上,所述服务器端与终端设备通信,所述服务器端部署有各种应用组件以及各种应用组件依赖的资源组件,所述资源管理方法包括:
接收第一访问请求,所述第一访问请求包括应用领域、应用类别、应用标识、芯片标识和开发板标识中的至少一个;
根据所述第一访问请求检索应用索引数据,以确定第一应用组件;根据所述第一应用组件检索组件依赖数据,以确定所述第一应用组件依赖的资源组件;以及
将所述第一应用组件、所述第一应用组件依赖的资源组件发送给所述终端设备。
18.一种终端设备,包括存储器和处理器,所述存储器存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现如权利要求10至15任一项所述的方法。
19.一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现如权利要求10至15任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258318.9A CN111158645B (zh) | 2019-12-10 | 2019-12-10 | 提供集成开发环境的系统和方法 |
US17/112,923 US11372627B2 (en) | 2019-12-10 | 2020-12-04 | System and method for providing integrated development environment (IDE) for programmable software system |
PCT/US2020/063493 WO2021118890A1 (en) | 2019-12-10 | 2020-12-04 | System and method for providing integrated development environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258318.9A CN111158645B (zh) | 2019-12-10 | 2019-12-10 | 提供集成开发环境的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158645A CN111158645A (zh) | 2020-05-15 |
CN111158645B true CN111158645B (zh) | 2022-09-20 |
Family
ID=70556683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911258318.9A Active CN111158645B (zh) | 2019-12-10 | 2019-12-10 | 提供集成开发环境的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11372627B2 (zh) |
CN (1) | CN111158645B (zh) |
WO (1) | WO2021118890A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114936050B (zh) * | 2022-05-25 | 2023-12-01 | 北京百度网讯科技有限公司 | 访问请求处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487446A (zh) * | 2003-06-24 | 2004-04-07 | 深圳市华磊网络技术有限公司 | 服务器端应用为浏览器客户端提供用户界面的方法 |
CN1834908A (zh) * | 2005-03-14 | 2006-09-20 | 捷讯研究有限公司 | 用于将开发模式应用于基于组件的应用程序的系统和方法 |
CN106161359A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 认证用户的方法及装置、注册可穿戴设备的方法及装置 |
US10365919B1 (en) * | 2016-03-09 | 2019-07-30 | Google Llc | Managing software assets installed in an integrated development environment |
CN110442336A (zh) * | 2019-08-05 | 2019-11-12 | 上海钧正网络科技有限公司 | 一种网页开发方法及装置、存储介质及电子设备 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205527B1 (en) * | 1998-02-24 | 2001-03-20 | Adaptec, Inc. | Intelligent backup and restoring system and method for implementing the same |
US8121874B1 (en) * | 1999-05-27 | 2012-02-21 | Accenture Global Services Limited | Phase delivery of components of a system required for implementation technology |
US6662357B1 (en) * | 1999-08-31 | 2003-12-09 | Accenture Llp | Managing information in an integrated development architecture framework |
US6256773B1 (en) * | 1999-08-31 | 2001-07-03 | Accenture Llp | System, method and article of manufacture for configuration management in a development architecture framework |
US6948150B1 (en) * | 2001-02-20 | 2005-09-20 | Microsoft Corporation | Component based design time architecture |
US7434202B2 (en) * | 2002-09-05 | 2008-10-07 | Bea Systems, Inc. | System and method for software component dependency checking |
US8312446B2 (en) * | 2002-12-17 | 2012-11-13 | International Business Machines Corporation | Dependency management when upgrading application components |
US7676785B2 (en) | 2004-02-13 | 2010-03-09 | Microsoft Corporation | Hosted application as a designer in an integrated development environment |
US7953767B2 (en) | 2004-10-05 | 2011-05-31 | Sap Ag | Developing applications using configurable patterns |
US8126937B2 (en) | 2004-10-05 | 2012-02-28 | Sap Ag | Visual database modeling |
US7562347B2 (en) | 2004-11-04 | 2009-07-14 | Sap Ag | Reusable software components |
US7895566B2 (en) * | 2005-03-10 | 2011-02-22 | Research In Motion Limited | System and method for building a deployable component based application |
US7493594B2 (en) * | 2005-03-14 | 2009-02-17 | Research In Motion | System and method for designing component based applications |
US7657868B2 (en) | 2005-03-14 | 2010-02-02 | Research In Motion Limited | System and method for applying development patterns for component based applications |
US20060236254A1 (en) | 2005-04-18 | 2006-10-19 | Daniel Mateescu | System and method for automated building of component based applications for visualizing complex data structures |
US20070150887A1 (en) * | 2005-12-22 | 2007-06-28 | Shapiro Alan J | Apparatus and method for selectively dispensing soft assets |
US8171452B2 (en) * | 2005-12-30 | 2012-05-01 | Sap Ag | Dynamic software enhancement |
US8370794B2 (en) * | 2005-12-30 | 2013-02-05 | Sap Ag | Software model process component |
US8316344B2 (en) * | 2005-12-30 | 2012-11-20 | Sap Ag | Software model deployment units |
US7779385B2 (en) * | 2006-05-10 | 2010-08-17 | Oracle America, Inc. | Method and system for automated component product integration |
US20080189638A1 (en) | 2006-10-16 | 2008-08-07 | Invensys Systems, Inc. | Bridging human machine interface technologies in a process automation and information management environment |
US9489418B2 (en) | 2007-04-27 | 2016-11-08 | International Business Machines Corporation | Processing database queries embedded in application source code from within integrated development environment tool |
US8392880B2 (en) | 2007-04-27 | 2013-03-05 | International Business Machines Corporation | Rapid application development for database-aware applications |
US8341595B2 (en) | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
WO2010028395A1 (en) | 2008-09-08 | 2010-03-11 | Credit Suisse Securities (Usa) Llc | Apparatuses, methods and systems for providing a virtual development and deployment environment including real and synthetic data |
US8479098B2 (en) * | 2009-08-12 | 2013-07-02 | Ebay Inc. | Reservation of resources and deployment of applications using an integrated development environment |
CA2679789A1 (en) * | 2009-09-16 | 2009-12-16 | Ibm Canada Limited - Ibm Canada Limitee | Web-based integrated test and debugging system |
US8719776B2 (en) * | 2009-12-30 | 2014-05-06 | Foneclay, Inc. | System for creation and distribution of software applications usable on multiple mobile device platforms |
US8239840B1 (en) | 2010-03-10 | 2012-08-07 | Google Inc. | Sensor simulation for mobile device applications |
US8429203B2 (en) | 2010-08-20 | 2013-04-23 | Sap Ag | UI driven service composition tool with UI designer feedback |
US8479154B1 (en) | 2010-08-20 | 2013-07-02 | Google Inc. | Interaction with partially constructed mobile device applications |
US9038018B2 (en) * | 2010-10-08 | 2015-05-19 | Microsoft Technology Licensing, Llc | Integrating software components |
US8615712B2 (en) * | 2011-03-01 | 2013-12-24 | Weever Apps Inc. | Executing a populated code template to generate a browser-executable software program to present a web page as a mobile application |
US8707277B2 (en) * | 2011-05-02 | 2014-04-22 | Raytheon Company | Systems, methods, and language for SCA CORBA descriptor files |
US10048948B2 (en) | 2015-07-06 | 2018-08-14 | Oracle International Corporation | Optimized retrieval of custom string resources |
CN106469150B (zh) | 2015-08-14 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 文件读写方法、装置和系统 |
CN106559438B (zh) | 2015-09-24 | 2019-12-31 | 阿里巴巴集团控股有限公司 | 一种基于目标网络平台的程序上传方法和装置 |
CN107608905B (zh) | 2017-09-11 | 2020-05-12 | 杭州中天微系统有限公司 | 擦写Flash数据的方法及装置 |
CN108052473B (zh) | 2017-12-21 | 2020-02-14 | 杭州中天微系统有限公司 | 串行通信装置 |
JP6756914B2 (ja) | 2018-11-27 | 2020-09-16 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム |
EP3549022B1 (en) | 2018-11-30 | 2021-08-18 | Advanced New Technologies Co., Ltd. | Testing platform for blockchain networks |
-
2019
- 2019-12-10 CN CN201911258318.9A patent/CN111158645B/zh active Active
-
2020
- 2020-12-04 US US17/112,923 patent/US11372627B2/en active Active
- 2020-12-04 WO PCT/US2020/063493 patent/WO2021118890A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487446A (zh) * | 2003-06-24 | 2004-04-07 | 深圳市华磊网络技术有限公司 | 服务器端应用为浏览器客户端提供用户界面的方法 |
CN1834908A (zh) * | 2005-03-14 | 2006-09-20 | 捷讯研究有限公司 | 用于将开发模式应用于基于组件的应用程序的系统和方法 |
CN106161359A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 认证用户的方法及装置、注册可穿戴设备的方法及装置 |
US10365919B1 (en) * | 2016-03-09 | 2019-07-30 | Google Llc | Managing software assets installed in an integrated development environment |
CN110442336A (zh) * | 2019-08-05 | 2019-11-12 | 上海钧正网络科技有限公司 | 一种网页开发方法及装置、存储介质及电子设备 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111158645A (zh) | 2020-05-15 |
US11372627B2 (en) | 2022-06-28 |
WO2021118890A1 (en) | 2021-06-17 |
US20210173620A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230236809A1 (en) | Ios application program construction method and apparatus, electronic device, and storage medium | |
CN110688142B (zh) | 应用程序编程接口的发布方法、设备及存储介质 | |
KR101442360B1 (ko) | 플랫폼들 간 가상 머신 이미지 포팅 | |
CN112685035B (zh) | 项目开发方法及装置、计算机可读存储介质、电子设备 | |
US11481200B1 (en) | Checking source code validity at time of code update | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
US20200097260A1 (en) | Software application developer tools platform | |
CN111158645B (zh) | 提供集成开发环境的系统和方法 | |
US11288170B1 (en) | Log analysis debugging without running on real production environment | |
US20220166839A1 (en) | System Metamodel for an Event-Driven Cluster of microserices with micro frontends | |
CN113377342B (zh) | 一种项目构建方法、装置、电子设备及存储介质 | |
CN112685040A (zh) | 安卓系统中界面文件的生成方法、装置、设备及存储介质 | |
CN111831320A (zh) | 插件管理方法、装置、电子设备及存储介质 | |
CN111459506A (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN115291928A (zh) | 多种技术栈的任务自动集成方法、装置及电子设备 | |
US11947966B2 (en) | Identifying computer instructions enclosed by macros and conflicting macros at build time | |
CN112379885B (zh) | 小程序编译方法、装置、设备及可读存储介质 | |
CN113961232A (zh) | 提供集成开发环境的终端、方法和平台服务器 | |
CN113721940A (zh) | 一种软件部署方法、装置、电子设备及存储介质 | |
CN113806327A (zh) | 一种数据库设计方法、装置及相关设备 | |
CN111897887A (zh) | 参数配置方法及装置、系统、电子设备和存储介质 | |
CN115658276B (zh) | 业务开发方法、装置、电子设备及可读存储介质 | |
CN117112003A (zh) | 内容更新方法、装置、设备及存储介质 | |
CN117170640A (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 |