CN111897522B - 面向硬件数据库的开发展示系统及方法 - Google Patents

面向硬件数据库的开发展示系统及方法 Download PDF

Info

Publication number
CN111897522B
CN111897522B CN202010548320.6A CN202010548320A CN111897522B CN 111897522 B CN111897522 B CN 111897522B CN 202010548320 A CN202010548320 A CN 202010548320A CN 111897522 B CN111897522 B CN 111897522B
Authority
CN
China
Prior art keywords
hardware database
module
language
sql
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010548320.6A
Other languages
English (en)
Other versions
CN111897522A (zh
Inventor
鄢贵海
刘昱泽
张宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yusur Technology Co ltd
Original Assignee
Yusur Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202010548320.6A priority Critical patent/CN111897522B/zh
Publication of CN111897522A publication Critical patent/CN111897522A/zh
Application granted granted Critical
Publication of CN111897522B publication Critical patent/CN111897522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种面向硬件数据库的开发展示系统及方法,其中,该系统包括:用户交互模块,用于接收SQL、Java或C++的操作指令;SQL内核模块,用于获取SQL的操作指令,调用SQL接口模块,将SQL的操作指令传输至硬件数据库,并将操作结果返回至用户交互模块;Java内核模块,用于获取Java的操作指令,调用JDBC接口模块,将Java的操作指令传输至硬件数据库,并将操作结果返回至用户交互模块;C++内核模块,用于获取C++的操作指令,调用ODBC接口模块,将C++的操作指令传输至硬件数据库,并将操作结果返回至用户交互模块;用户交互模块,还用于接收并显示操作结果。通过上述方案能够降低与硬件数据库系统交互难度。

Description

面向硬件数据库的开发展示系统及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种面向硬件数据库的开发展示系统及方法。
背景技术
硬件数据库独立计算,对数据库中数据表访问的任务由硬件承担完成,不需要主机CPU的过多参与。而为了让用户的应用程序能够使用硬件数据库,就需要对硬件数据库的访问进行软件层次上的适配。
目前,在与硬件数据库系统进行交互时,只能通过编写Java工程调用JDBC(JavaDatabase Connectivity,Java数据库连接),或者编写C++工程调用ODBC(Open DatabaseConnectivity,开放数据库连接)与硬件数据库系统进行交互。
然而,对数据库操作人员来说,熟悉SQL语言的使用是基本要求,但是熟悉Java语言编程或者C++语言编程,以及能够熟练掌握JDBC、ODBC通用接口的调用并不是必备要求。所以,如果要与数据库交互的方式,用户除了需要具备SQL技术之外,还需要额外掌握Java语言或者C++语言的编程等技术,这加大了不熟悉Java、C++、JDBC和ODBC的人员使用硬件数据库的难度。
而且,使用Java或C++语言编程与硬件数据库交互,对电脑环境依赖性强,需要在物理机上安装必要的依赖和IDE(Integrated Development Environment,集成开发)平台,并配置电脑环境,以达到使用相应编程语言进行编译、运行、调试等功能的目的。以Java为例,运行Java程序需要安装Java虚拟机,安装硬件数据库JDBC jar包,以及编写Java程序的IDE软件。这进一步加大了跨平台与硬件数据库交互的难度。另外,对于不同的操作系统,可能需要不同的配置方案,可能还需要更改代码以进行适配,耗时耗力。而且,每次与数据库进行交互时,都要编写Java或者C++程序,编程过程耗时较长,重复部分代码多,出错率高,维护开发这种交互程序增加了人力和时间的成本。
发明内容
有鉴于此,本发明实施例提供了一种面向硬件数据库的开发展示系统及方法,以降低与硬件数据库系统交互难度。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种面向硬件数据库的开发展示系统,包括:
用户交互模块,用于接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令;
SQL内核模块,与所述用户交互模块连接,用于获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述SQL接口模块,用于驱动所述SQL内核模块与硬件数据库之间的数据交互;
Java内核模块,与所述用户交互模块连接,用于获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,并将执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述JDBC接口模块,用于驱动所述Java内核模块和硬件数据库之间的数据交互;
C++内核模块,用于与所述用户交互模块连接,用于获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,并将执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述ODBC接口模块,用于驱动所述C++内核模块和硬件数据库之间的数据交互;
所述用户交互模块,还用于接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
在一些实施例中,所述用户交互模块为网页服务模块。
在一些实施例中,所述网页服务模块为Jupyter NoteBook网页服务模块。
在一些实施例中,所述SQL内核模块是利用基于Java语言实现的,所述SQL接口模块为JDBC接口模块。
在一些实施例中,所述系统是基于docker镜像打包的。
在一些实施例中,所述的面向硬件数据库的开发展示系统,还包括:
第一数据库交互模块,用于使所述SQL接口模块与硬件数据库的软件层进行数据交互;
第二数据库交互模块,用于使所述JDBC接口模块与硬件数据库的软件层进行数据交互;
第三数据库交互模块,用于使所述ODBC接口模块与硬件数据库的软件层进行数据交互。
在一些实施例中,所述第一数据库交互模块为内嵌于所述SQL接口模块的基于RPC框架的客户端,用于将基于SQL语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端;所述第二数据库交互模块为内嵌于所述JDBC接口模块的基于RPC框架的客户端,用于将基于Java语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端;所述第三数据库交互模块为内嵌于所述ODBC接口模块的基于RPC框架的客户端,用于将基于C++语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端。
在一些实施例中,所述第一数据库交互模块和所述第二数据库交互模块为JNI(Java Native Interface,Java本地接口)模块。
在一些实施例中,所述的面向硬件数据库的开发展示系统,所述用户交互模块,还用于接收选择基于SQL语言输入指令的选择指令、选择基于Java语言输入指令的选择指令、或选择基于C++语言输入指令的选择指令,以在接收到选择基于SQL语言输入指令的选择指令的情况下接收输入的基于SQL语言的硬件数据库操作指令,在接收到选择基于Java语言输入指令的选择指令的情况下接收输入的基于Java语言的硬件数据库操作指令,在接收到选择基于C++语言输入指令的选择指令的情况下接收输入的基于C++语言的硬件数据库操作指令。
根据本发明实施例的另一个方面,提供了一种面向硬件数据库的开发展示方法,包括:利用用户交互模块接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令;利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述SQL接口模块用于驱动所述SQL内核模块与硬件数据库之间的数据交互;或者,利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,并将执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述JDBC接口模块用于驱动所述Java内核模块和硬件数据库之间的数据交互;或者,利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,并将执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述ODBC接口模块用于驱动所述C++内核模块和硬件数据库之间的数据交互;其中,所述SQL内核模块是利用基于Java语言实现的,所述SQL接口模块为JDBC接口模块;利用所述用户交互模块接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
在一些实施例中,利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,包括:利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,并利用第一数据库交互模块使所述SQL接口模块与硬件数据库的软件层进行数据交互,将基于SQL语言的硬件数据库操作指令传输至硬件数据库。利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,包括:利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,并利用第二数据库交互模块使所述JDBC接口模块与硬件数据库的软件层进行数据交互,将基于Java语言的硬件数据库操作指令传输至硬件数据库。利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,包括:利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,并利用第三数据库交互模块使所述ODBC接口模块与硬件数据库的软件层进行数据交互,将基于C++语言的硬件数据库操作指令传输至硬件数据库。
在一些实施例中,所述用户交互模块为网页服务模块;和/或,所述用户交互模块、所述SQL内核模块、所述SQL接口模块、所述Java内核模块、所述JDBC接口模块、所述C++内核模块、所述ODBC接口模块、所述第一数据库交互模块、所述第二数据库交互模块及所述第三数据库交互模块是基于docker镜像打包的;和/或,所述第一数据库交互模块为内嵌于所述SQL接口模块的基于RPC框架的客户端,所述第二数据库交互模块为内嵌于所述JDBC接口模块的基于RPC框架的客户端,所述第三数据库交互模块为内嵌于所述ODBC接口模块的基于RPC框架的客户端。
根据本发明实施例的又一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明实施例的面向硬件数据库的开发展示系统、面向硬件数据库的开发展示方法、电子设备、及计算机可读存储介质,通过上层与用户交互模块对接的SQL内核模块、Java内核模块及C++内核模块,能够在用户不进行额外编程、熟悉其他语言、环境配置等准备的情况下输入包括SQL、Java、C++语言的硬件数据库操作指令,通过在各内核模块与硬件数据库之间连接合适的接口模块,能够将指令传输至硬件数据库,实现数据库访问,具有良好的跨平台性,避免了在不同操作系统或不同平台上使用时安装配置的不便,从而能够降低与硬件数据库系统交互难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的面向硬件数据库的开发展示系统的结构示意图;
图2是本发明另一实施例的面向硬件数据库的开发展示系统的结构示意图;
图3是本发明一实施例的面向硬件数据库的开发展示方法的流程示意图;
图4是本发明一具体实施例的面向硬件数据库的开发展示系统的结构示意图;
图5是本发明另一具体实施例的面向硬件数据库的开发展示系统的结构示意图;
图6是一实施例的分别利用Java程序和C++程序访问硬件数据库的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了开发轻量级的与硬件数据库系统交互的、跨平台的开发展示系统,无需使用户配置复杂的系统环境,随开随用。一并支持用户使用Java、C++程序编程与硬件数据库交互,也一并支持用户直接使用SQL语言与硬件数据库交互。为了在使用Java、C++程序编程与硬件数据库交互时,不需要配置系统环境,不需要安装开发、编译、运行程序所需要的依赖,从而简化使用Java或C++与硬件数据库交互的流程,省去重新更改代码、编译、运行等繁琐步骤。
对此,本发明实施例提供了一种面向硬件数据库的开发展示系统,以降低与硬件数据库系统交互难度和人力及时间成本。该系统可供开发人员、终端用户等使用,开发人员可以利用该系统对硬件数据库进行测试,辅助开发测试流程;终端用户可以利用系统中的交互模块对硬件数据库进行操作并查看返回结果。另外,硬件数据库是基于硬件实现的数据库的部分或全部功能,其中硬件可以是FPGA(现场可编程门阵列)、ASIC(专用处理器)等。
图1是本发明一实施例的面向硬件数据库的开发展示系统的结构示意图。如图1所示,该些实施例的面向硬件数据库的开发展示系统可包括:用户交互模块110、SQL内核模块120、SQL接口模块130、Java内核模块140、JDBC接口模块150、C++内核模块160、及ODBC接口模块170。
用户交互模块110为面向硬件数据库的开发展示系统的上层,可以用于实现用户交互。SQL内核模块120、Java内核模块140、及C++内核模块160为面向硬件数据库的开发展示系统的内核,可以用于支持用户分别使用SQL语言、Java语言、及C++语言编程与硬件数据库进行交互。各内核模块可以通过对接上层的用户交互模块110,与用户进行交互,并可以分别对接下层的SQL接口模块130、JDBC接口模块150、及ODBC接口模块170,与硬件数据库交互。
具体实施时,所述用户交互模块110还可用于接收选择基于SQL语言输入指令的选择指令、选择基于Java语言输入指令的选择指令、或选择基于C++语言输入指令的选择指令,以在接收到选择基于SQL语言输入指令的选择指令的情况下接收输入的基于SQL语言的硬件数据库操作指令,在接收到选择基于Java语言输入指令的选择指令的情况下接收输入的基于Java语言的硬件数据库操作指令,在接收到选择基于C++语言输入指令的选择指令的情况下接收输入的基于C++语言的硬件数据库操作指令。例如,在用户打开用户交互模块时,可以先弹出供选择所使用的语言的界面,以此,用户可以选择使用SQL语言、Java语言、或C++语言,若用户选择了使用SQL语言,则可以接收到选择基于SQL语言输入指令的选择指令,若用户选择了使用Java语言,则可以接收到选择基于Java语言输入指令的选择指令,若用户选择了使用C++语言,则可以接收到选择基于C++语言输入指令的选择指令。
为了使系统与用户交互,接收用户输入,用户交互模块110用于接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令。具体地,每次用户交互模块110用于接收一种语言的硬件数据库操作指令。基于SQL语言硬件数据库操作指令可以是使用SQL语言操作硬件数据库的SQL命令。基于Java语言的硬件数据库操作指令可以是Java程序代码,基于C++语言的硬件数据库操作指令可以是C++程序代码。硬件数据库操作指令可以是对硬件数据库进行增加表数据、删除表数据、修改表数据、查询表数据等的操作。
具体地,该用户交互模块110可以是各种能够提供所需功能的模块,例如,可以是网页服务模块、应用程序等。用户交互模块110为网页服务模块(Web Service)时,用户可以通过网页访问硬件数据库系统,从而可以实现轻量级、远程、多用户地硬件数据库访问。
例如,该网页服务模块可以是Jupyter NoteBook网页服务模块,如此一来,可以利用Jupyter NoteBook方便地进行远程访问,成段运行代码块。另外,Jupyter NoteBook网页服务模块可以包括表格展示模块,其中,该表格展示模块可以用于直观即时显示交互结果,可以基于Jupyter NoteBook的展示模块得到,可以内嵌于Jupyter NoteBook。以此可以直观展示结果,可以给非编程人员提供友好的操作界面,而且可以减少开发图形交互界面的开发耗时,并降低界面维护成本。另外,用户可以分别运行每一段代码,与硬件数据库进行交互,动态操作数据库。在直接使用SQL语句,对每一段代码或者每一条SQL语句的运行结果,都可以立即展示出来。用户可以根据所示结果进一步动态执行SQL语句,省去重新更改代码,编译,运行等步骤。
为了支持用户使用SQL命令访问硬件数据库,SQL内核模块120与用户交互模块110连接,用于获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块130,将基于SQL语言的硬件数据库操作指令传输至硬件数据库180,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库180的操作结果返回至用户交互模块110。SQL内核模块120可以是具有利用SQL实现的访问数据库的各种功能的核心模块,可以利用各种语言编写,如,Java、C++等。
为了使SQL内核模块与硬件数据库之间能够进行数据交互,将硬件数据库操作指令传输至硬件数据库,所述SQL接口模块130用于驱动所述SQL内核模块与硬件数据库之间的数据交互。根据SQL内核模块120所选用的编写语言不同,SQL接口模块130可以通过选择相应的接口来实现。例如,若SQL内核模块是利用基于Java语言实现的,SQL内核模块可以为JDBC接口模块。JDBC接口模块可以是将现有的JDBC接口适配于硬件数据库得到。
通过SQL内核模块120和SQL接口模块130,用户在使用用户交互模块110输入基于SQL语言的硬件数据库操作指令时,可以不需要编程,可以只输入其所要输入的SQL语句即可。SQL内核模块可以将硬件数据库操作指令经由SQL接口模块传输给硬件数据库来执行相应操作。
为了支持用户使用Java编程访问硬件数据库,Java内核模块140与所述用户交互模块110连接,用于获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块150,将基于Java语言的硬件数据库操作指令传输至硬件数据库180,并将执行基于Java语言的硬件数据库操作指令对硬件数据库180的操作结果返回至所述用户交互模块110。Java内核模块140可以是具有利用Java实现的访问数据库的各种功能的核心模块。
为了使Java内核模块与硬件数据库之间能够进行数据交互,将硬件数据库操作指令传输至硬件数据库,JDBC接口模块150用于驱动所述Java内核模块140和硬件数据库180之间的数据交互。JDBC接口模块150可以是将现有的JDBC接口适配于硬件数据库得到。SQL内核模块120和Java内核模块140与硬件数据库180交互所用的接口模块均可以为JDBC接口模块,即,使用各自的JDBC接口模块驱动访问硬件数据库。JDBC接口模块150可以以JDBCJar包的形式集成在本发明的面向硬件数据库的开发展示系统中,具体可以集成在Java内核模块140中,在用户需要使用Java语言输入硬件数据库操作指令时,可以将JDBC Jar包加载进来,然后便可以正常调用JDBC接口模块进行Java编程,就可以向正常使用Java程序与数据库交互一样与硬件数据库进行交互,从而可以实现对硬件数据库增删改查等操作。
通过Java内核模块140和JDBC接口模块150,用户在使用用户交互模块110输入基于Java语言的硬件数据库操作指令时,不需要额外的在其物理机上安装Java虚拟机或JavaIDE,避免了需要在物理机上安装依赖来使用Java语言进行编译、运行、调试等功能的问题。
为了支持用户使用C++编程访问硬件数据库,C++内核模块160用于与所述用户交互模块110连接,用于获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块170,将基于C++语言的硬件数据库操作指令传输至硬件数据库180,并将执行基于C++语言的硬件数据库操作指令对硬件数据库180的操作结果返回至所述用户交互模块110。C++内核模块16可以是具有利用C++实现的访问数据库的各种功能的核心模块。
为了使C++内核模块与硬件数据库之间能够进行数据交互,将硬件数据库操作指令传输至硬件数据库,ODBC接口模块170用于驱动所述C++内核模块160和硬件数据库180之间的数据交互。ODBC接口模块170可以是将现有的ODBC接口适配于硬件数据库得到。ODBC接口模块170可以以ODBC软件包的形式集成在本发明的面向硬件数据库的开发展示系统中,具体可以集成在C++内核模块160中,在用户需要使用C++语言输入硬件数据库操作指令时,可以调用ODBC接口模块进行C++编程,就可以向正常使用C++程序与数据库交互一样与硬件数据库进行交互,从而可以实现对硬件数据库增删改查等操作。
此外,户交互模块110还可以用于接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
例如,用户选择基于SQL语言输入指令后,户交互模块110接收到基于SQL语言的硬件数据库操作指令后,经由SQL内核模块120、SQL接口模块130传输至硬件数据库执行后,可以返回基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果至户交互模块110,户交互模块110可以显示操作结果;用户选择基于Java语言输入指令后,户交互模块110接收到基于Java语言的硬件数据库操作指令后,经由Java内核模块140、JDBC接口模块150传输至硬件数据库执行后,可以返回基于Java语言的硬件数据库操作指令对硬件数据库的操作结果至户交互模块110,户交互模块110可以显示操作结果;用户选择基于C++语言输入指令后,户交互模块110接收到基于C++语言的硬件数据库操作指令后,经由C++内核模块160、ODBC接口模块170传输至硬件数据库执行后,可以返回基于C++语言的硬件数据库操作指令对硬件数据库的操作结果至户交互模块110,户交互模块110可以显示操作结果。操作结果可以包括硬件数据库操作指令的执行状态(如成功或失败),还可以包括结果数据,更具体地,可以显示所有结果数据,或者可以根据用户要求显示一定范围内的结果数据,例如,设定列数和设定行数的数据。
图2是本发明另一实施例的面向硬件数据库的开发展示系统的结构示意图,如图2所示,为了实现接口模块与硬件数据库进行数据交互,图1所示的系统还可包括:第一数据库交互模块190,用于使所述SQL接口模块130与硬件数据库180的软件层进行数据交互。图1所示的系统还可包括:第二数据库交互模块1100,用于使所述JDBC接口模块150与硬件数据库180的软件层进行数据交互。图1所示的系统还可包括:第三数据库交互模块1110,用于使所述ODBC接口模块170与硬件数据库180的软件层进行数据交互。
第一数据库交互模块190可以是属于SQL接口模块130的一部分。第二数据库交互模块1100可以是属于JDBC接口模块150的一部分。第三数据库交互模块1110可以是属于ODBC接口模块170的一部分。
在一些实施例中,可以基于RPC(Remote Procedure Call,远程过程调用)框架协议(使用RPC框架协议既可以实现本地跨语言的进程通信,也可以拓展为远程互联网通信)实现数据库交互模块。例如,所述第一数据库交互模块190可以为内嵌于所述SQL接口模块130的基于RPC框架的客户端,用于将基于SQL语言的硬件数据库操作指令传输至硬件数据库180的软件层的服务端。再例如,所述第二数据库交互模块可以为内嵌于所述JDBC接口模块150的基于RPC框架的客户端,用于将基于Java语言的硬件数据库操作指令传输至硬件数据库180的软件层的服务端。又例如,所述第三数据库交互模块可以为内嵌于所述ODBC接口模块170的基于RPC框架的客户端,用于将基于C++语言的硬件数据库操作指令传输至硬件数据库180的软件层的服务端。
在另一些实施例中,所述第二数据库交互模块1100可以为JNI(Java NativeInterface,Java本地接口)模块。第二数据库交互模块1100可以内嵌于JDBC模块150中。在第一数据库交互模块190是基于Java编程的情况下,所述第一数据库交互模块190可以为JNI模块。第一数据库交互模块190的JNI模块可以内嵌于SQL接口模块130中。如此一来,JDBC模块可以通过JNI与硬件数据库的软件层交互。
为了增加整个开发展示系统的可移植性,本发明各实施例的面向硬件数据库的开发展示系统可以是基于docker镜像打包的。如此一来,只需要在可以运行docker的物理机上加载运行镜像即可,不需要在物理机上额外安装其他依赖或配置环境。
另外,基于与图1所示的面向硬件数据库的开发展示系统相同的发明构思,本发明实施例还提供了一种面向硬件数据库的开发展示方法,如下面实施例所述。由于该面向硬件数据库的开发展示方法可以基于本发明实施例的面向硬件数据库的开发展示系统实现,因此该面向硬件数据库的开发展示方法的实施可以参见面向硬件数据库的开发展示系统的实施,重复之处不再赘述。
图3是本发明一实施例的面向硬件数据库的开发展示方法的流程示意图。参见图3,该些实施例的面向硬件数据库的开发展示方法,可包括以下步骤:
步骤S210:利用用户交互模块接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令;
步骤S220:利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述SQL接口模块用于驱动所述SQL内核模块与硬件数据库之间的数据交互;或者,利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,并将执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述JDBC接口模块用于驱动所述Java内核模块和硬件数据库之间的数据交互;或者,利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,并将执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述ODBC接口模块用于驱动所述C++内核模块和硬件数据库之间的数据交互;其中,所述SQL内核模块是利用基于Java语言实现的,所述SQL接口模块为JDBC接口模块;
步骤S230:利用所述用户交互模块接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
上述步骤S210,具体可包括步骤:利用用户交互模块接收选择基于SQL语言输入指令的选择指令、选择基于Java语言输入指令的选择指令、或选择基于C++语言输入指令的选择指令,以在接收到选择基于SQL语言输入指令的选择指令的情况下接收输入的基于SQL语言的硬件数据库操作指令,在接收到选择基于Java语言输入指令的选择指令的情况下接收输入的基于Java语言的硬件数据库操作指令,在接收到选择基于C++语言输入指令的选择指令的情况下接收输入的基于C++语言的硬件数据库操作指令。
在一些实施例中,上述步骤S220中,利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,具体可包括步骤:利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,并利用第一数据库交互模块使所述SQL接口模块与硬件数据库的软件层进行数据交互,将基于SQL语言的硬件数据库操作指令传输至硬件数据库。
在一些实施例中,上述步骤S220中,利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,具体可包括步骤:利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,并利用第二数据库交互模块使所述JDBC接口模块与硬件数据库的软件层进行数据交互,将基于Java语言的硬件数据库操作指令传输至硬件数据库。
在一些实施例中,上述步骤S220中,利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,具体可包括步骤:利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,并利用第三数据库交互模块使所述ODBC接口模块与硬件数据库的软件层进行数据交互,将基于C++语言的硬件数据库操作指令传输至硬件数据库。
在一些实施例中,所述用户交互模块为网页服务模块。
在一些实施例中,所述用户交互模块、所述SQL内核模块、所述SQL接口模块、所述Java内核模块、所述JDBC接口模块、所述C++内核模块、所述ODBC接口模块、所述第一数据库交互模块、所述第二数据库交互模块及所述第三数据库交互模块是基于docker镜像打包的。
在一些实施例中,所述第一数据库交互模块为内嵌于所述SQL接口模块的基于RPC框架的客户端。
在一些实施例中,所述第二数据库交互模块为内嵌于所述JDBC接口模块的基于RPC框架的客户端。
在一些实施例中,所述第三数据库交互模块为内嵌于所述ODBC接口模块的基于RPC框架的客户端。
在另一些实施例中,所述第一数据库交互模块和所述第二数据库交互模块为JNI模块。
此外,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
为使本领域技术人员更好地了解本发明,下面将以具体实施例说明本发明的实施方式。
图4是本发明一具体实施例的面向硬件数据库的开发展示系统的结构示意图。参见图4,一具体实施例的面向硬件数据库的开发展示系统是在Jupyter Notebook的基础上,分别编写了SQL内核(SQL内核模块)、Java内核(Java内核模块)、C++内核(C++内核模块)作为Jupyter Notebook的扩展得到的,并且在这些内核模块中集成了访问硬件数据库系统的JDBC或ODBC接口模块。用户可以通过Jupyter Notebook网页服务界面与本系统进行交互。通过硬件数据库的JDBC或ODBC接口模块可访问硬件数据库。
需要说明的是,Jupyter NoteBook是基于网页的用于交互计算机的应用程序。其可被应用于全过程计算,如开发、文档编写、运行代码和展示结果。它可以以网页的形式打开,在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。原生的Jupyter NoteBook只支持Python的内核,也就是只可以在在网页页面内运行Python代码。但是Jupyter NoteBook可以支持以扩展的形式使用其他编程语言开发不同的内核,来满足用户使用需求。SQL(Structed Query Language)是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性的特点,是非过程化的语言,也是所有关系型数据库的公共语言。Java是一门面向对象编程的语言。C++是C语言的继承它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何运行流行的操作系统的物理机器上。JDBC(Java Data Base Connectivity)是java数据库连接,是一种用于执行SQL语句的Java API。
针对SQL内核,其内部底层可以使用Java编程,可以内嵌硬件数据库的JDBC接口模块。SQL内核的上层可以对接Jupyter Notebook图形交互界面。用户不需要任何编程,只需要输入SQL语句,将SQL语句发送给硬件数据库执行,就可以自动将用户输入的指令通过底层Java程序内调用JDBC接口发送给硬件数据库系统,并将硬件数据库系统返回的结果以图形界面的形式展示给用户,同时,可以调用表格展示模块,将硬件数据库返回的结果数据直接以表格的形式打印出来,使得结果数据的展示更加直观,其中,该表格展示模块可以基于Jupyter NoteBook的展示模块得到,可以内置于Jupyter NoteBook。此外,基于表格展示模块生成的表格也可以交互,用户可以选择展示的行数和列数。此外,整个展示系统可以利用Jupyter NoteBook本身的特性,支持远程访问,只需在一台服务器上运行一个程序的实例,其他用户即可使用浏览器直接访问本开发展示系统,操作硬件数据库。
其中,通过Java内核,在Jupyter Notebook的交互界面基础上,用户可以使用Java编程语言。在Jupyter Notebook的界面内Java编程,用户可以只需要先加载我们已经集成在系统内的硬件数据库JBDC jar包,然后正常调用JDBC接口进行编程,以此就可以像正常使用Java程序与数据库交互一样与硬件数据库进行交互,对硬件数据库系统进行增删改查等一系列操作。如此一来,用户不需要额外的在本机上安装Java虚拟机或Java IDE。
类似地,C++内核内部可以已经集成了硬件数据库的ODBC,用户可调用硬件数据库的ODBC编写C++代码后即可运行代码,不需要再额外的配置C++编译环境。
图5是本发明另一具体实施例的面向硬件数据库的开发展示系统的结构示意图。参见图5,硬件数据库系统的JDBC,对接上层遵循JDBC对用户的通用接口,对下层通过RPC框架协议与硬件数据库之间进行交互。ODBC与JDBC类似,主要区别在于,ODBC是使用C++程序调用的连接数据库的接口,ODBC也可以利用RPC框架与硬件数据库之间进行交互。在整个硬件数据库体系中,硬件数据库有与之交互的软件层,软件层中可以含有RPC框架,其中包含的Server端(服务端)可以接收JDBC、ODBC中内嵌的RPC框架的Client端(客户端)发来的用户指令,然后转换成硬件数据库可以识别的指令发送给硬件数据库,从而达到与硬件数据库交互的目的。
JDBC和ODBC通过RPC框架协议与硬件数据库软件层交互,只是目前采用的一种交互方式,并不是唯一的交互方式,比如说之前JDBC还可以通过JNI与软件层交互,只是现在我们统一使用RPC框架,RPC框架也是一个通用的概念,RPC框架具体的实现形式也不唯一。
为了增加整个开发展示系统的可移植性,整个系统可以采用docker镜像打包,只需要在可以运行docker的物理机上加载运行镜像即可,不需要额外在物理机上安装其他依赖或配置环境。
图6是一实施例的分别利用Java程序和C++程序访问硬件数据库的结构示意图。参见图6,分别输入的Java程序和C++程序需要分别进入硬件数据库,利用SQL内核进行处理,用户若要用Java程序访问硬件数据库,需要额外熟悉SQL语言,用户若要用C++程序访问硬件数据库,也需要额外熟悉SQL语言。与此相比,本实施例的系统可以是基于硬件数据库的即时、交互、可视化、跨平台的开发展示系统,基于Jupyter NoteBook开发并整合三种可以直接访问硬件数据库的方法,分别是通过SQL内核访问硬件数据库,通过Java内核访问硬件数据库以及通过C++内核访问硬件数据库。其中使用SQL内核访问硬件数据库时,不需要用户参与任何其他语言编程,只需要使用标准SQL语言就可以对数据库进行操作,结果以表格形式直接打印在屏幕上,展示直观,界面友好。由于Jupyter NoteBook自身特性,用户所有的SQL语句都可以notbook形式存储下来,方便以后复用。在使用Java或者C++内核访问硬件数据库时,不再需要配置繁琐的Java或者C++的开发、编译、运行环境,不需要下载额外依赖。只需要在notebook中调用JDBC或者ODBC接口,编写访问硬件数据库的程序即可,可以实时运行所写的每一段代码,方便快速与数据库进行交互,查看结果,动态编程。利用JupyterNotebook自身特性,用户可以远程访问,而不需要在自己的物理机上安装任何程序。并支持多用户同时远程访问本即时交互可视化跨平台开发展示系统。
综上所述,本发明实施例的面向硬件数据库的开发展示系统、面向硬件数据库的开发展示方法、电子设备、及计算机可读存储介质,通过上层与用户交互模块对接的SQL内核模块、Java内核模块及C++内核模块,能够在用户不进行额外编程、熟悉其他语言、环境配置等准备的情况下输入包括SQL、Java、C++语言的硬件数据库操作指令,通过在各内核模块与硬件数据库之间连接合适的接口模块,能够将指令传输至硬件数据库,实现数据库访问,具有良好的跨平台性,避免了在不同操作系统或不同平台上使用时安装配置的不便。因此,能够降低与硬件数据库系统交互难度。进一步,通过网页访问硬件数据库系统,从而可以实现轻量级、远程、多用户地硬件数据库访问。更进一步,通过Jupyter NoteBook方便利用其本身特点,进行远程访问,成段运行代码块,而且,基于Jupyter NoteBook的展示模块可以得到表格展示模块,用来实现利用表格展示表数据,直观即时显示交互结果。另外,基于docker镜像打包,可以只在可以运行docker的物理机上加载运行镜像即可,不需要在物理机上额外安装其他依赖或配置环境。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种面向硬件数据库的开发展示系统,其特征在于,包括:
用户交互模块,用于接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令;
SQL内核模块,与所述用户交互模块连接,用于获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述SQL接口模块,用于驱动所述SQL内核模块与硬件数据库之间的数据交互;
Java内核模块,与所述用户交互模块连接,用于获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,并将执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述JDBC接口模块,用于驱动所述Java内核模块和硬件数据库之间的数据交互;
C++内核模块,用于与所述用户交互模块连接,用于获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,并将执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块;
所述ODBC接口模块,用于驱动所述C++内核模块和硬件数据库之间的数据交互;
所述用户交互模块,还用于接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
2.如权利要求1所述的面向硬件数据库的开发展示系统,其特征在于,所述用户交互模块为网页服务模块。
3.如权利要求2所述的面向硬件数据库的开发展示系统,其特征在于,所述网页服务模块为Jupyter NoteBook网页服务模块。
4.如权利要求1至3任一项所述的面向硬件数据库的开发展示系统,其特征在于,所述SQL内核模块是利用基于Java语言实现的,所述SQL接口模块为JDBC接口模块。
5.如权利要求1所述的面向硬件数据库的开发展示系统,其特征在于,所述系统是基于docker镜像打包的。
6.如权利要求4所述的面向硬件数据库的开发展示系统,其特征在于,还包括:
第一数据库交互模块,用于使所述SQL接口模块与硬件数据库的软件层进行数据交互;
第二数据库交互模块,用于使所述JDBC接口模块与硬件数据库的软件层进行数据交互;
第三数据库交互模块,用于使所述ODBC接口模块与硬件数据库的软件层进行数据交互。
7.如权利要求6所述的面向硬件数据库的开发展示系统,其特征在于,
所述第一数据库交互模块为内嵌于所述SQL接口模块的基于RPC框架的客户端,用于将基于SQL语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端;
所述第二数据库交互模块为内嵌于所述JDBC接口模块的基于RPC框架的客户端,用于将基于Java语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端;
所述第三数据库交互模块为内嵌于所述ODBC接口模块的基于RPC框架的客户端,用于将基于C++语言的硬件数据库操作指令传输至硬件数据库的软件层的服务端。
8.如权利要求6所述的面向硬件数据库的开发展示系统,其特征在于,所述第一数据库交互模块和所述第二数据库交互模块为JNI模块。
9.如权利要求1所述的面向硬件数据库的开发展示系统,其特征在于,
所述用户交互模块,还用于接收选择基于SQL语言输入指令的选择指令、选择基于Java语言输入指令的选择指令、或选择基于C++语言输入指令的选择指令,以在接收到选择基于SQL语言输入指令的选择指令的情况下接收输入的基于SQL语言的硬件数据库操作指令,在接收到选择基于Java语言输入指令的选择指令的情况下接收输入的基于Java语言的硬件数据库操作指令,在接收到选择基于C++语言输入指令的选择指令的情况下接收输入的基于C++语言的硬件数据库操作指令。
10.一种面向硬件数据库的开发展示方法,其特征在于,包括:
利用用户交互模块接收输入的基于SQL语言、Java语言或C++语言的硬件数据库操作指令;
利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,并将执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述SQL接口模块用于驱动所述SQL内核模块与硬件数据库之间的数据交互;或者,利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,并将执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述JDBC接口模块用于驱动所述Java内核模块和硬件数据库之间的数据交互;或者,利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,并将执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果返回至所述用户交互模块,其中,所述ODBC接口模块用于驱动所述C++内核模块和硬件数据库之间的数据交互;其中,所述SQL内核模块是利用基于Java语言实现的,所述SQL接口模块为JDBC接口模块;
利用所述用户交互模块接收并显示执行基于SQL语言的硬件数据库操作指令对硬件数据库的操作结果、执行基于Java语言的硬件数据库操作指令对硬件数据库的操作结果、或执行基于C++语言的硬件数据库操作指令对硬件数据库的操作结果。
11.如权利要求10所述的面向硬件数据库的开发展示方法,其特征在于,
利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,将基于SQL语言的硬件数据库操作指令传输至硬件数据库,包括:
利用SQL内核模块获取基于SQL语言的硬件数据库操作指令,调用SQL接口模块,并利用第一数据库交互模块使所述SQL接口模块与硬件数据库的软件层进行数据交互,将基于SQL语言的硬件数据库操作指令传输至硬件数据库;
利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,将基于Java语言的硬件数据库操作指令传输至硬件数据库,包括:
利用Java内核模块获取基于Java语言的硬件数据库操作指令,调用JDBC接口模块,并利用第二数据库交互模块使所述JDBC接口模块与硬件数据库的软件层进行数据交互,将基于Java语言的硬件数据库操作指令传输至硬件数据库;
利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,将基于C++语言的硬件数据库操作指令传输至硬件数据库,包括:
利用C++内核模块获取基于C++语言的硬件数据库操作指令,调用ODBC接口模块,并利用第三数据库交互模块使所述ODBC接口模块与硬件数据库的软件层进行数据交互,将基于C++语言的硬件数据库操作指令传输至硬件数据库。
12.如权利要求11所述的面向硬件数据库的开发展示方法,其特征在于,
所述用户交互模块为网页服务模块;和/或,
所述用户交互模块、所述SQL内核模块、所述SQL接口模块、所述Java内核模块、所述JDBC接口模块、所述C++内核模块、所述ODBC接口模块、所述第一数据库交互模块、所述第二数据库交互模块及所述第三数据库交互模块是基于docker镜像打包的;和/或,
所述第一数据库交互模块为内嵌于所述SQL接口模块的基于RPC框架的客户端,所述第二数据库交互模块为内嵌于所述JDBC接口模块的基于RPC框架的客户端,所述第三数据库交互模块为内嵌于所述ODBC接口模块的基于RPC框架的客户端。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求10至12任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求10至12任一项所述方法的步骤。
CN202010548320.6A 2020-06-16 2020-06-16 面向硬件数据库的开发展示系统及方法 Active CN111897522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010548320.6A CN111897522B (zh) 2020-06-16 2020-06-16 面向硬件数据库的开发展示系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010548320.6A CN111897522B (zh) 2020-06-16 2020-06-16 面向硬件数据库的开发展示系统及方法

Publications (2)

Publication Number Publication Date
CN111897522A CN111897522A (zh) 2020-11-06
CN111897522B true CN111897522B (zh) 2021-09-03

Family

ID=73206731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010548320.6A Active CN111897522B (zh) 2020-06-16 2020-06-16 面向硬件数据库的开发展示系统及方法

Country Status (1)

Country Link
CN (1) CN111897522B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468169B (zh) * 2021-06-02 2022-09-09 中科驭数(北京)科技有限公司 硬件数据库查询方法、数据库系统查询方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645032A (zh) * 2009-08-31 2010-02-10 金蝶软件(中国)有限公司 应用服务器的性能分析方法和应用服务器
CN110502221A (zh) * 2018-05-17 2019-11-26 北京中科海讯数字科技股份有限公司 一种三维声场计算系统
CN110990425A (zh) * 2019-11-28 2020-04-10 中科驭数(北京)科技有限公司 硬件数据库的jdbc驱动方法及装置
CN111026772A (zh) * 2019-11-26 2020-04-17 中科驭数(北京)科技有限公司 用于保证数据库修改永久性的方法及装置
CN111209289A (zh) * 2019-12-25 2020-05-29 中科驭数(北京)科技有限公司 数据库访问方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024652A1 (en) * 2002-07-31 2004-02-05 Willms Buhse System and method for the distribution of digital products
US9098548B1 (en) * 2010-06-14 2015-08-04 Open Invention Network, Llc Method and apparatus for accessing a data source from a client using a driver
US9674261B2 (en) * 2014-06-10 2017-06-06 Sap Portals Israel Ltd. ODBC access to external services
CN105022628B (zh) * 2015-06-04 2018-09-18 北京宏远贵德科技有限公司 一种可扩展的软件应用平台
US10769139B2 (en) * 2017-07-24 2020-09-08 Jpmorgan Chase Bank, N.A. System and method for implementing query tagging
CN109461252A (zh) * 2018-10-26 2019-03-12 苏州浪潮智能软件有限公司 一种通用售货机上位机应用设计方法
CN110704301B (zh) * 2019-08-27 2020-12-29 武汉迎风聚智科技有限公司 Tpc-e自动化测试方法以及tpc-e测试系统
CN111176907B (zh) * 2020-01-06 2021-03-05 中科驭数(北京)科技有限公司 硬件数据库回滚方法、软件数据库回滚方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645032A (zh) * 2009-08-31 2010-02-10 金蝶软件(中国)有限公司 应用服务器的性能分析方法和应用服务器
CN110502221A (zh) * 2018-05-17 2019-11-26 北京中科海讯数字科技股份有限公司 一种三维声场计算系统
CN111026772A (zh) * 2019-11-26 2020-04-17 中科驭数(北京)科技有限公司 用于保证数据库修改永久性的方法及装置
CN110990425A (zh) * 2019-11-28 2020-04-10 中科驭数(北京)科技有限公司 硬件数据库的jdbc驱动方法及装置
CN111209289A (zh) * 2019-12-25 2020-05-29 中科驭数(北京)科技有限公司 数据库访问方法及装置

Also Published As

Publication number Publication date
CN111897522A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
US7971194B1 (en) Programming language techniques for client-side development and execution
EP3030969B1 (en) Automated application test system
US6061517A (en) Multi-tier debugging
US6253368B1 (en) Dynamically debugging user-defined functions and stored procedures
US8726231B2 (en) Support for heterogeneous database artifacts in a single project
US7469402B2 (en) Pluggable model framework
US9417992B2 (en) Web portal API test report generation
US20150135158A1 (en) Isolated testing of distributed development projects
US11436128B2 (en) System and computer implemented method for generating test scripts
JP2003518691A (ja) N層ソフトウェア・コンポーネント・アーキテクチャー・アプリケーションを作成する方法、システムおよびアーティクル
US20120246619A1 (en) Automated testing of browser based rich internet applications (ria) delivered through proprietary frameworks
US20130212595A1 (en) Dynamic injection of code into running process
CN113064593B (zh) 移动app动态化的方法、装置、计算机设备及存储介质
Cinar et al. Pro Android C++ with the NDK
US8214402B2 (en) Interactive physical design tuning
CN111897522B (zh) 面向硬件数据库的开发展示系统及方法
Troelsen Pro C# 2005 and the. NET 2.0 Platform
US20160170739A1 (en) Alter application behaviour during runtime
Chaganti Google Web Toolkit GWT Java AJAX Programming
US9164877B2 (en) Business application inspection and modification
US10331461B2 (en) Virtualizing extension code in an application
US9152388B2 (en) Tailored language sets for business level scripting
Del Sole Visual Basic 2012 Unleashed
Ciliberti ASP. NET Core Recipes: A Problem-Solution Approach
Troelsen Pro C# With. Net 3.0

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