The embodiment of the invention provides a data processing method and a device, relating to the computer field, and can effectively improve the expansion capability of the database system. The data processing method comprises: receiving external routine source code, the external routines source code written in a high-level programming language; compile the source code for the middle code, the intermediate code is any virtual machine platform are able to identify the byte stream; according to the operation instruction set the platform the intermediate code conversion for running on the operating platform of the machine code; the machine code stored in the database. The data processing method and device provided by the embodiment of the invention are used for processing data.
【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种数据处理方法及装置。
技术介绍
外部例行程序(ExternalRoutine)通常指使用高级编程语言编写,并可以嵌入SQL(StructuredQueryLanguage,结构化查询语言)语句的程序。外部例行程序的源代码经过编译后可以供数据库管理系统调用,以便于扩展数据库功能。数据库系统包括数据库和数据库管理系统,数据库用于存储数据,数据库管理系统用于对数据库的运行管理、维护等。通常情况下,数据库管理系统可以是结构化查询语言数据库管理系统(MySQL)等,数据库可以是结构化查询语言数据库(SqlServer)、甲骨文数据库(Oracle)等,数据库对高级编程语言提供广泛支持,所述高级编程语言可以是C语言、C++语言、JAVA语言、COBOL(CommonBusinessOrientedLanguage,面向商业的通用语言)等。现有技术中,数据库系统可以通过内嵌数据库管理系统、内嵌扩展语言编译模块,对使用高级 ...
【技术保护点】
一种数据处理方法,其特征在于,包括:接收外部例行程序的源代码,所述外部例行程序的源代码由高级编程语言编写;编译所述源代码得到中间码,所述中间码是任意运行平台的虚拟机都能够识别的字节流;根据运行平台的指令集将所述中间码转化为便于在所述运行平台上运行的机器码;将所述机器码存储到数据库。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
接收外部例行程序的源代码,所述外部例行程序的源代码由高级编
程语言编写;
编译所述源代码得到中间码,所述中间码是任意运行平台的虚拟机
都能够识别的字节流;
根据运行平台的指令集将所述中间码转化为便于在所述运行平台
上运行的机器码;
将所述机器码存储到数据库。
2.根据权利要求1所述的数据处理方法,其特征在于,在所述接
收外部例行程序的源代码之前,所述方法还包括:
接收发送所述外部例行程序的源代码的第一用户设备发送的数据
库访问请求;
根据所述数据库访问请求判断所述第一用户设备是否拥有访问所
述数据库的权限;
若所述第一用户设备拥有访问所述数据库的权限,接收所述第一用
户设备发送的外部例行程序的源代码,以实现将所述源代码转化为所述
机器码并将所述机器码存储到所述数据库。
3.根据权利要求1或2所述的数据处理方法,其特征在于,所述
编译所述源代码得到中间码之前,进一步包括:
检查所述源代码访问所述数据库中对象的范围是否在预先设置的
访问所述数据库中对象的范围内;
若所述源代码访问所述数据库中对象的范围在所述预先设置的访
问所述数据库中对象的范围内,编译所述源代码得到所述中间码。
4.根据权利要求1或2所述的数据处理方法,其特征在于,所述
编译所述源代码得到所述中间码之前,进一步包括:
检查所述源代码对所述数据库中对象的操作是否是预先设置的对
所述数据库中对象的操作,所述操作包括对所述对象的修改、增加或删
除;
若所述源代码对所述数据库中对象的操作是预先设置的对所述数
据库中对象的操作,编译所述源代码得到所述中间码。
5.根据权利要求1至4任一项权利要求所述的数据处理方法,其
特征在于,在所述编译所述源代码得到中间码之后,所述方法还包括:
将所述中间码存储到所述数据库。
6.根据权利要求5所述的数据处理方法,其特征在于,在所述将
所述中间码存储到所述数据库之后,所述方法还包括:
生成所述中间码的目标名称,所述目标名称用于唯一标识所述中间
码;
生成所述中间码的目标地址,所述目标地址用于标识所述中间码在
所述数据库中的地址。
7.根据权利要求1至6任一项权利要求所述的数据处理方法,其
特征在于,在所述将所述机器码存储到数据库之后,所述方法还包括:
接收第二用户设备发送的调用所述外部例行程序的请求;
根据所述调用所述外部例行程序的请求判断所述第二用户设备是
否拥有调用所述外部例行程序的权限;
若所述第二用户设备拥有调用所述外部例行程序的权限,则运行所
述机器码,以实现从所述数据库内调用所述外部例行程序。
8.一种数据处理装置,其特征在于,包括:
第一接收单元,用于接收外部例行程序的源代码,所述外部例行程
序的源代码由高...
【专利技术属性】
技术研发人员:孙东旺,文继军,王传廷,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。