CN102929951A - 一种数据绑定批量入库方法和装置 - Google Patents
一种数据绑定批量入库方法和装置 Download PDFInfo
- Publication number
- CN102929951A CN102929951A CN2012103774185A CN201210377418A CN102929951A CN 102929951 A CN102929951 A CN 102929951A CN 2012103774185 A CN2012103774185 A CN 2012103774185A CN 201210377418 A CN201210377418 A CN 201210377418A CN 102929951 A CN102929951 A CN 102929951A
- Authority
- CN
- China
- Prior art keywords
- data
- occi
- message structure
- warehouse
- bound functions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库领域,具体是一种数据绑定批量入库方法和装置。实现本发明的方法包括如下步骤:通过配置文件选择入库方式;提供绑定接口绑定入库数据;调用数据插入接口将入库数据传递到底层,底层调用绑定接口绑定数据并入库。本灵活入库方法可保证入库数据不丢失,提升入库速度,提供各个绑定接口模板。
Description
技术领域
本发明涉及数据库领域,具体是一种数据绑定入库方法和装置。
背景技术
oracle数据入库流程如下:DBA在oracle服务端创建表,在客户端通过一定的方法将数据入库到服务端表中。对于linux下客户端常用的方法有两种。
方法一:occi,occi是一个提供了c++应用程序使用oracle数据库中的数据的API接口,能够使c++编程最大限度利用oracle数据库操作,包括sql语句处理和对象处理。
方法二:sqlloader,sqlloader是oracle的数据加载工具,通常用来将大量外部数据文件迁移到oracle数据库中。对我们来说,如果待入库的数据就几十条,可直接到数据库里去一条条添加;但对几千上万甚至更多的数据来说,就不可能一条条添加了,所以sqlloader是必要的。
occi入库流程如下:程序开始-->创建环境变量-->创建数据库连接对象-->创建Statement类对象-->执行某张表的SQL语句处理数据-->释放Statement对象-->断开数据库连接-->释放环境变量。每张表都需要上述流程才能正确将数据入库。当多个表都需要入库时,如果每个表都按照流程设计,那么代码重用率就很低,而且也不便于后期添加删除维护,因此可以设计一套统一的occi调用接口,上层调用者无心关心底层实现细节,只需简单调用接口就可以将数据正确的入库。
sqlloader入库流程如下:构建某张表ctl文件-->准备待入库数据文件-->执行sqlldr命令将数据源导入数据库。同样的该流程只反应了一张表的入库流程,当多个表都需要入库时,能否统一ctl文件生成规则,统一sqlloader命令调度规则。都对我们提出更高的要求。
从上面分析不难看出,目前提供入库的方式都已成熟,但高效合理运用这些技术,充分发挥其技术特点的方法却不太多,或者差强人意。
发明内容
本发明的目的是同时提供两种数据入库方法(occi入库和sqlloader入库),提供一种通用的数据绑定接口方法,实现occi入库全过程和sqlloader ctl文件生成、数据文件生成、数据入库全过程。同时当occi入库失败时,启用sqlloader入库。
为了实现上述目的本发明采用的技术方案是,一种数据绑定入库方法,包括如下步骤:
A、底层提供对外全局初始化函数,occi初始化函数、sqlloader初始化函数和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板。
B、上层在配置文件中配置入库方式,即occi或者sqlloader,只能选其一种入库方法。
C、上层调用步骤A全局初始化函数,底层读取步骤B配置文件,若是occi入库,则建立入库主机到数据库主机的连接池。
D、上层调用occi初始化函数或者sqlloader初始化函数;并在头文件中调用步骤A中的宏定义接口模板,建立消息结构与表的绑定函数,消息结构字段与SQL语句的绑定函数,消息结构与表ctl文件之间的绑定函数,消息结构字段与写文件的绑定函数。
E、当底层收到步骤D的occi初始化函数或sqlloader初始化函数,读取步骤B配置文件,对于occi根据c++类模板,调用步骤D对应消息结构与表的绑定函数,使用绑定函数获取的表字段初始化入库SQL语句,然后初始化该表occi数据队列,开启取队列线程,提供对外该表的插入数据函数模板,生成该表occi入库实例,并将该对象插入occi全局管理实例中;对于sqlloader根据c++类模板,调用步骤D对应消息结构字段与写文件的绑定函数初始化写文件,调用步骤D消息结构与表ctl文件的绑定函数生成该表的ctl控制文件,提供该表写文件方式入队列函数模板,开启取队列线程,生成该表写文件实例,并将该对象插入写文件全局管理实例中。
F、当有某张表数据需要入库时,上层调用步骤E中occi初始化时底层提供的对外该表的插入数据函数模板。
G、底层根据c++类模板功能,调用步骤E中对应表的插入数据函数模板,首先根据occi全局管理实例判断该表是否使用occi入库,如果是则将数据入步骤E该表occi数据队列;如果不是则判断步骤B中配置文件是否支持sqlloader入库,如果支持则调用步骤E该表写文件方式入队列函数模板,将数据入写文件队列。
H、底层各表的occi取队列线程各自取自己队列,若能从队列取得数据,则调用步骤D消息结构字段与SQL语句的绑定函数,将待入库数据同数据库表字段一一对应绑定,判断是否待入库条数达到阀值,若达到则使用occi批量入库,当入库失败时,为了避免数据丢失,调用步骤E该表写文件方式入队列函数,将入库失败数据入写文件队列。
I、底层各表的写文件取队列线程各自读自己队列,若能从队列取得数据,则调用步骤D消息结构字段与写文件的绑定函数,将待入库数据同数据库表字段一一对应绑定,判断是否待入库条数大小达到写文件缓存区大小,若达到则将缓存区中数据一并写入文件,若文件大小达到阀值,则文件生成完毕,将文件移动到待入库目录;切换文件,后续数据写入切换后的文件。
J、外部shell脚本判断是否有待入库文件生成,若有则调用linux命令sqlldr,并使用步骤E对应表ctl控制文件将该文件入库。
一种数据绑定批量入库装置包括:
A、用于底层提供对外全局初始化函数的装置,包括occi初始化函数模块、sqlloader初始化函数模块和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板。
B、用于上层在配置文件中配置入库方式的装置,所述配置文件包括occi配置文件或者sqlloader配置文件;上层调用A装置中的全局初始化函数,底层读取所述occi配置文件或者sqlloader配置文件。
C、绑定函数模块:通过上层调用occi初始化函数模块或者sqlloader初始化函数模块,并在头文件中调用A装置中的宏定义接口模板建立;其中所述绑定函数模块包括消息结构与表的绑定函数模块,消息结构字段与SQL语句的绑定函数模块,消息结构与表ctl文件之间的绑定函数模块,消息结构字段与写文件的绑定函数模块。
D、插入数据函数模板装置:用于调用所述绑定函数模块生成occi入库实例或生成sqlloader的写文件实例,并将occi入库实例插入occi全局管理实例中,将sqlloader的写文件实例插入写文件全局管理实例中。
E、数据入库装置:用于底层调用插入数据函数模板装置,判断入库方式,若是occi入库则调用绑定函数模块中的消息结构字段与SQL语句的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库;若是sqlloader入库 则调用绑定函数模块中的消息结构字段与写文件的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库。
本发明技术方案所获得有益效果有:
1、灵活入库方法选择和保证入库数据不丢失,当入库量小时,可选择occi入库,当入库量大时可选择sqlloader入库;当occi入库失败时,可将入库失败数据写文件,转为sqlloader入库,保证occi方式入库数据不丢失,当sqlloader入库失败时,使用外部shell脚本监控sqlloader入库是否失败,若失败可再次重入失败文件,保证sqlloader方式入库数据不丢失。
2、入库速度提升,sqlloader批量数据入库能够最大量的提升入库速度。
3、上层使用简单,只需使用绑定宏接口,初始化函数,和插入数据函数,即可完成数据入库操作。
4、代码高效利用,提供各个绑定接口模板,最大化减少代码量,提供代码重用率。
附图说明
图1本发明实施使用流程图;
图2为本发明实施数据结构图;
图3为本发明实施occi初始化流程图;
图4为本发明实施sqlloader初始化流程图。
图5为本发明数据绑定流程图。
具体实施方式
下面根据附图对本发明做进一步详细说明。
图1是本发明上层使用数据绑定入库的基本流程图。对上层开发来说图1对应两种入库方式,occi入库,数据写文件sqlloader入库。以下分别就这两种模式具体实施做说明。
图1中occi入库方式的初始化,采用occi入库需要以下几个条件:数据库的链接实例、批量绑定数据的方式、入库语句。数据库的链路实例需上层开发写入配置文件,批量绑定数据和入库语句由底层实现。使用occi直接入库的功能,必须完成上述内容的初始化和设置。因此,需完成下述的数据绑定、初始化调用。为了提高代码重用率,我们采用函数模板实现通用的初始化,函数模板定义如下:
template<class MsgType>
void Init(){};
MsgType – 消息类数据结构(一般一张表会定义一个消息类)。
图3反映了完整occi入库方式的初始化流程具体实现细节,底层首先创建了表的入库实例对象,然后对该入库实例对象初始化,接着初始化插入消息结构函数模板,最后将该入库实例对象挂载到统一的管理类下。图3右边部分为入库实例初始化过程。此过程融合了occi入库所必备的初始化步骤,同时采用模板和宏定义相结合,代码逻辑简单,实现功能全面,下面详细介绍。
1) 绑定宏的定义
1.1宏: BEGIN_BIND_TABLE
功能:消息结构与表之间绑定操作函数模板,初始化sql语句时使用。
参数:应用程序定义的消息类、数据库中创建的表名
要求:应用程序定义的消息类和数据库中表定义的字段需一一对应。
1.2宏: BEGIN_BIND_MSG_VALUE
功能:绑定入库字段信息,当有数据需要插入时,将应用程序消息类字段值sql语句话,具体使用occi的set调用setxxx()方法将数据写入对应表字段。
参数:数据库中创建的表名。
2)根据数据库表初始化入库语句
利用绑定表操作BEGIN_BIND_TABLE中定义的各个表字段,实现sql语句话。
3)挂载具体入库动作的数据插入函数模板insert,注意这里的insert函数模板实现具体的表字段值绑定和数据的入库操作,非图1中的insert插入数据函数。
4)启动入库线程,在入库线程中根据入库门限阀值,提交数据。
当occi初始化完成后,就可以调用图1的insert函数进行数据入库操作。
回到图1,我们来看另一种入库方法,使用sqlloader入库, sqlloader写文件初始化,写文件方式的sqlloader入库需要的条件:ctl文件(每张表一个ctl文件)、操作系统已经安装sqlldr命令、需入库的数据文件、调用sqlldr命令脚本。因此ctl文件生成和入库文件是sqlloader入库的前提。图4清晰的反映了sqlloader写文件初始化流程,其核心是ctl文件生成,和数据文件生成方法。
ctl文件使用宏的模板实现,如下:
宏:DECLAREMSGCTL
功能:自动生成对应表的ctl文件
参数:应用程序使用的消息类、数据定义的表名
要求:应用程序定义的消息类和数据库中表定义的字段需一一对应。
宏:DECLAREMSGTAB
功能:对应表数据写文件函数模板定义
参数:应用程序使用的消息类
当ctl文件和待入库数据写文件模板都实现时,此时就可以调用图1的sqlloader写文件初始化,后台自动生成对应表的ctl文件,对应表的写文件函数;然后调用insert将数据入库,当数据文件完全生成时,后台进程调用相应的入库脚本,将数据入库。
本发明的入库方法同时支持occi入库和sqlloader入库,下面介绍同时支持两种入库方式时的应用程序操作实例。
环境:应用程序使用的消息类省略消息类的定义(CAddressingMsg),数据库表名 CS_ADDRESSINGLOG
1、应用程序初始化
1)表字段绑定
occi方式绑定;
sqlloader写文件方式绑定;
2)初始化
调用全局初始化函数;
occi初始化;
sqlloader初始化;
2、应用程序数据入库
应用程序填充CAddressingMsg消息的各个字段,调用Insert(CAddressingMsg)便可将数据入库,自此数据的初始化和入库操作对于应用程序全部完成。
上述的实施步骤重点关注了流程上的逻辑结构,图2从数据流向上展现了实施方法。从图2可以发现当上层调用插入数据时,底层开辟空间接收数据,并将数据压入不同表的队列,避免队列堆积和上层插入数据调用的阻塞;同时从图2也可以看到,occi入库的每个表对应一个入库线程,提高了occi入库的并发度,充分发挥occi连接池的特点;如果使用写文件入库,不同的表调用不同的InsertFile函数,并且数据入不同的写文件队列,每张表对应一个写文件线程,每个线程各自负责将数据写文件,最大化了利用了磁盘IO性能。从图2还可以发现当入库occi入库失败时,会将数据写文件,这样防止单一的occi入库失败导致数据的丢失。
图5数据绑定的流程图中,定义各个绑定接口函数,调用对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板,建立消息结构与表的绑定函数,消息结构字段与SQL语句的绑定函数,消息结构与表ctl文件之间的绑定函数,消息结构字段与写文件的绑定函数。
调用消息结构与表绑定函数初始化入库,对于occi根据c++类模板,调用上述对应消息结构与表的绑定函数,使用绑定函数获取的表字段初始化入库SQL语句,然后初始化该表occi数据队列,开启取队列线程,提供对外该表的数据插入模板函数,生成该表occi入库实例,并将该对象插入occi全局管理实例中;对于sqlloaer根据c++类模板,调用上述对应消息结构字段与写文件的绑定函数初始化写文件,消息结构与表ctl文件的绑定函数生成该表的ctl控制文件,提供该表写文件方式入队列函数模板,开启取队列线程,生成该表写文件实例,并将该对象插入写文件全局管理实例中。
调用消息结构字段与表绑定函数用于插入数据或写文件。
Claims (2)
1.一种数据绑定批量入库方法,包括如下步骤:
A、底层提供对外全局初始化函数,occi初始化函数、sqlloader初始化函数和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板;
B、上层在配置文件中配置入库方式,即occi或者sqlloader,只能选其一种入库方法;
C、上层调用步骤A全局初始化函数,底层读取步骤B配置文件,若是occi入库,则建立入库主机到数据库主机的连接池;
D、上层调用occi初始化函数或者sqlloader初始化函数;并在头文件中调用步骤A中的宏定义接口模板,建立消息结构与表的绑定函数,消息结构字段与SQL语句的绑定函数,消息结构与表ctl文件之间的绑定函数,消息结构字段与写文件的绑定函数;
E、当底层收到步骤D的occi初始化函数或sqlloader初始化函数,读取步骤B配置文件,对于occi根据c++类模板,调用步骤D对应消息结构与表的绑定函数,使用绑定函数获取的表字段初始化入库SQL语句,然后初始化该表occi数据队列,开启取队列线程,提供对外该表的插入数据函数模板,生成该表occi入库实例,并将该对象插入occi全局管理实例中;对于sqlloader根据c++类模板,调用步骤D对应消息结构字段与写文件的绑定函数初始化写文件,调用步骤D消息结构与表ctl文件的绑定函数生成该表的ctl控制文件,提供该表写文件方式入队列函数模板,开启取队列线程,生成该表写文件实例,并将该对象插入写文件全局管理实例中;
F、当有某张表数据需要入库时,上层调用步骤E中occi初始化时底层提供的对外该表的插入数据函数模板;
G、底层根据c++类模板功能,调用步骤E中对应表的插入数据函数模板,首先根据occi全局管理实例判断该表是否使用occi入库,如果是则将数据入步骤E该表occi数据队列;如果不是则判断步骤B中配置文件是否支持sqlloader入库,如果支持则调用步骤E该表写文件方式入队列函数模板,将数据入写文件队列;
H、底层各表的occi取队列线程各自取自己队列,若能从队列取得数据,则调用步骤D消息结构字段与SQL语句的绑定函数,将待入库数据同数据库表字段一一对应绑定,判断是否待入库条数达到阀值,若达到则使用occi批量入库,当入库失败时,为了避免数据丢失,调用步骤E该表写文件方式入队列函数,将入库失败数据入写文件队列;
I、底层各表的写文件取队列线程各自读自己队列,若能从队列取得数据,则调用步骤D消息结构字段与写文件的绑定函数,将待入库数据同数据库表字段一一对应绑定,判断是否待入库条数大小达到写文件缓存区大小,若达到则将缓存区中数据一并写入文件,若文件大小达到阀值,则文件生成完毕,将文件移动到待入库目录;切换文件,后续数据写入切换后的文件;
J、外部shell脚本判断是否有待入库文件生成,若有则调用linux命令sqlldr,并使用步骤E对应表ctl控制文件将该文件入库。
2.一种数据绑定批量入库装置,其特征在于包括:
A、用于底层提供对外全局初始化函数的装置,包括occi初始化函数模块、sqlloader初始化函数模块和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板;
B、用于上层在配置文件中配置入库方式的装置,所述配置文件包括occi配置文件或者sqlloader配置文件;上层调用A装置中的全局初始化函数,底层读取所述occi配置文件或者sqlloader配置文件;
C、绑定函数模块:通过上层调用occi初始化函数模块或者sqlloader初始化函数模块,并在头文件中调用A装置中的宏定义接口模板建立;其中所述绑定函数模块包括消息结构与表的绑定函数模块,消息结构字段与SQL语句的绑定函数模块,消息结构与表ctl文件之间的绑定函数模块,消息结构字段与写文件的绑定函数模块;
D、插入数据函数模板装置:用于调用所述绑定函数模块生成occi入库实例或生成sqlloader的写文件实例,并将occi入库实例插入occi全局管理实例中,将sqlloader的写文件实例插入写文件全局管理实例中;
E、数据入库装置:用于底层调用插入数据函数模板装置,判断入库方式,若是occi入库则调用绑定函数模块中的消息结构字段与SQL语句的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库;若是sqlloader入库则调用绑定函数模块中的消息结构字段与写文件的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210377418.5A CN102929951B (zh) | 2012-10-08 | 2012-10-08 | 一种数据绑定批量入库方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210377418.5A CN102929951B (zh) | 2012-10-08 | 2012-10-08 | 一种数据绑定批量入库方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929951A true CN102929951A (zh) | 2013-02-13 |
CN102929951B CN102929951B (zh) | 2015-04-01 |
Family
ID=47644749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210377418.5A Active CN102929951B (zh) | 2012-10-08 | 2012-10-08 | 一种数据绑定批量入库方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929951B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559217A (zh) * | 2013-10-17 | 2014-02-05 | 北京航空航天大学 | 一种面向异构数据库的海量组播数据入库实现方法 |
CN104866568A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种大数据文件快速导入关系型数据库的方法 |
CN106383886A (zh) * | 2016-09-21 | 2017-02-08 | 深圳市博瑞得科技有限公司 | 一种基于大数据分布式编程框架的大数据预统系统及方法 |
CN106649418A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种在驱动中直连分片实现分布式数据库数据导入的高性能方法 |
CN106897278A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 用于键值数据库的数据读写处理方法及设备 |
CN113641661A (zh) * | 2021-09-01 | 2021-11-12 | 中国银行股份有限公司 | 数据库批量导入方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020123957A1 (en) * | 2000-12-29 | 2002-09-05 | Burt Notarius | Method and apparatus for marketing and communicating in the wine/spirits industry |
CN101706779A (zh) * | 2009-10-12 | 2010-05-12 | 南京联创科技集团股份有限公司 | 基于oracle的伞状数据导入导出方法 |
-
2012
- 2012-10-08 CN CN201210377418.5A patent/CN102929951B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020123957A1 (en) * | 2000-12-29 | 2002-09-05 | Burt Notarius | Method and apparatus for marketing and communicating in the wine/spirits industry |
CN101706779A (zh) * | 2009-10-12 | 2010-05-12 | 南京联创科技集团股份有限公司 | 基于oracle的伞状数据导入导出方法 |
Non-Patent Citations (1)
Title |
---|
吴江楠 等: "VC++中使用OCCI访问Oracle数据库的研究", 《中国水运》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559217A (zh) * | 2013-10-17 | 2014-02-05 | 北京航空航天大学 | 一种面向异构数据库的海量组播数据入库实现方法 |
CN103559217B (zh) * | 2013-10-17 | 2016-06-01 | 北京航空航天大学 | 一种面向异构数据库的海量组播数据入库实现方法 |
CN104866568A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种大数据文件快速导入关系型数据库的方法 |
CN106649418A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种在驱动中直连分片实现分布式数据库数据导入的高性能方法 |
CN106897278A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 用于键值数据库的数据读写处理方法及设备 |
CN106897278B (zh) * | 2015-12-17 | 2020-10-30 | 阿里巴巴集团控股有限公司 | 用于键值数据库的数据读写处理方法及设备 |
CN106383886A (zh) * | 2016-09-21 | 2017-02-08 | 深圳市博瑞得科技有限公司 | 一种基于大数据分布式编程框架的大数据预统系统及方法 |
CN113641661A (zh) * | 2021-09-01 | 2021-11-12 | 中国银行股份有限公司 | 数据库批量导入方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102929951B (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929951B (zh) | 一种数据绑定批量入库方法和装置 | |
CN104142847B (zh) | 云计算环境下的无状态化虚拟机及其应用 | |
CN102246150B (zh) | 转换用户脚本代码来进行调试 | |
CN1655120B (zh) | 在集成开发环境中作为设计器主宿应用程序的方法和系统 | |
CN102663103B (zh) | 可配置的自动化生成数据库和数据访问的方法 | |
CN102385513B (zh) | 反应式编程的编程语言支持 | |
CN102103497A (zh) | 有限状态机执行装置和方法、在应用中的建立和使用方法 | |
CN102819492A (zh) | 一种基于Android的关键字驱动自动化测试框架 | |
CN102436498A (zh) | 一种报表生成方法以及相关装置 | |
CN102508669A (zh) | 一种程序代码自动生成方法 | |
CN102193807A (zh) | 一种镜像文件升级的方法、服务器及计算机网络系统 | |
CN105808428A (zh) | 一种对分布式文件系统进行统一性能测试的方法 | |
WO2020248511A1 (zh) | 一种基于运行时模型实现对终端应用控制的方法 | |
CN105389186A (zh) | 一种Java应用的热部署方法及系统 | |
CN102438116A (zh) | 一种基于嵌入式Linux系统的高速图像记录装置 | |
KR20170105054A (ko) | 임베디드 시스템의 프리인스톨 중의 스크립트 작업 수행 시스템 | |
CN110471698A (zh) | Api文档的生成方法与装置、存储介质及计算机设备 | |
CN103324505A (zh) | 在集群系统和云计算系统中部署gpu开发环境的方法 | |
CN101334737A (zh) | 一种嵌入式设备的启动或复位方法 | |
CN114490023B (zh) | 一种基于arm和fpga的高能物理可计算存储设备 | |
CN105955773A (zh) | 系统升级方法和装置 | |
CN104142943B (zh) | 一种数据库扩容方法和一种数据库 | |
CN101216770A (zh) | 一种工作流引擎 | |
CN102081520A (zh) | 嵌入式硬盘录像机的图形用户界面创建方法及其系统 | |
CN103927244A (zh) | 一种基于动态代理实现的插件调度过程监控的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 401120 No.2, 7th floor, Fenghuang a building, No.18, Qingfeng North Road, Yubei District, Chongqing Patentee after: Broid Technology Co.,Ltd. Address before: 518057 No.1, area a, 3 / F, building B, Gaoxin South 7th road digital technology park, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN BROADTECH Co.,Ltd. |