Data processing method and apparatus

US9430198B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9430198-B2
Application numberUS-201514753232-A
CountryUS
Kind codeB2
Filing dateJun 29, 2015
Priority dateFeb 19, 2014
Publication dateAug 30, 2016
Grant dateAug 30, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing method and apparatus, which relate to the computer field and are capable of effectively improving scalability of a database system. The data processing method includes: receiving source code of an external routine, where the source code of the external routine is compiled by using an advanced programming language; compiling the source code to obtain intermediate code, where the intermediate code is a byte stream identifiable to a virtual machine on any operating platform; converting, according to an instruction set on the operating platform, the intermediate code into machine code capable of running on the operating platform; and storing the machine code to a database. The data processing method and apparatus provided by the embodiments of the present invention are used to process data.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing method, comprising: receiving, by a receiver, source code of an external routine, wherein the source code of the external routine is compiled using an advanced programming language; compiling, by a processor coupled to the receiver, the source code to obtain intermediate code, wherein the intermediate code is a byte stream identifiable to a plurality of virtual machines on a plurality of different operating platforms; converting, by the processor and according to an instruction set on one of the operating platforms, the intermediate code into machine code capable of running on the one of the operating platforms; storing, in a memory coupled to the processor, the machine code to a database; receiving, by the receiver and from a second piece of user equipment, a request for invoking the external routine; determining, by the processor and according to the request for invoking the external routine, whether the second piece of user equipment has permission to invoke the external routine; invoking, according to a target name and a target address, the intermediate code of the external routine when the intermediate code of the external routine is invoked; and running, by the processor, the machine code so as to invoke the external routine from the database when the second piece of user equipment has the permission to invoke the external routine. 2. The data processing method according to claim 1 , wherein before receiving the source code of the external routine, the method further comprises: receiving, by the receiver, a database access request from a first piece of user equipment that sends the source code of the external routine; determining, by the processor and according to the database access request, whether the first user equipment has permission to access the database; and receiving, by the receiver, the source code of the external routine from the first piece of user equipment when the first piece of user equipment has the permission to access the database so as to convert the source code into the machine code and store the machine code to the database. 3. The data processing method according to claim 1 , wherein before compiling the source code to obtain the intermediate code, the method further comprises: checking, by the processor, whether a range of an object, in the database, accessed by the source code is in a preset range of the object accessed in the database; and compiling, by the processor, the source code to obtain the intermediate code when the range of the object, in the database, accessed by the source code is in the preset range of the object accessed in the database. 4. The data processing method according to claim 1 , wherein before compiling the source code to obtain intermediate code, the method further comprises: checking, by the processor, whether an operation performed by the source code on an object in the database is a preset operation performed on the object in the database, wherein the operation comprises modifying, adding, or deleting the object; and compiling, by the processor, the source code to obtain the intermediate code when the operation performed by the source code on the object in the database is the preset operation performed on the object in the database. 5. The data processing method according to claim 1 , wherein after compiling the source code to obtain the intermediate code, the method further comprises storing the intermediate code to the database. 6. The data processing method according to claim 5 , wherein after storing the intermediate code to the database, the method further comprises: generating, by the processor, a target name of the intermediate code, wherein the target name is used to uniquely identify the intermediate code; and generating, by the processor, a target address of the intermediate code, wherein the target address is an address of the intermediate code in the database. 7. A data processing apparatus, comprising: a memory comprising a database; a receiver coupled to the memory and configured to receive source code of an external routine, wherein the source code of the external routine is compiled using an advanced programming language; and a processor coupled to the memory and configured to: compile the source code to obtain intermediate code, wherein the intermediate code is a byte stream identifiable to a plurality of virtual machines on a plurality of different operating platforms; convert, according to an instruction set on one of the operating platforms, the intermediate code into machine code capable of running on the one of the operating platforms; and store the machine code to the database; wherein the receiver is further configured to receive, from a second piece of user equipment, a request for invoking the external routine, and wherein the processor is further configured to: determine, according to the request for invoking the external routine, whether the second user equipment has permission to invoke the external routine; invoking, according to a target name and a target address, the intermediate code of the external routine when the intermediate code of the external routine is invoked; and execute the machine code when determining that the second user equipment has the permission to invoke the external routine so as to invoke the external routine from the database. 8. The data processing apparatus according to claim 7 , wherein the receiver is further configured to: receive a database access request from a first piece of user equipment that sends the source code of the external routine; determine, according to the database access request, whether the first piece of user equipment has permission to access the database; and receive the source code of the external routine from the first piece of user equipment so as to convert the source code into the machine code and store the machine code to the database when determining that the first user equipment has the permission to access the database. 9. The data processing apparatus according to claim 7 , wherein the processor is further configured to: check whether a range of an object, in the database, accessed by the source code is in a preset range of the object accessed in the database; and compile the source code to obtain the intermediate code when determining that the range of the object, in the database, accessed by the source code is in the preset range of the object accessed in the database. 10. The data processing apparatus according to claim 7 , wherein the processor is further configured to: check whether an operation performed by the source code on an object in the database is a preset operation performed on the object in the database, wherein the operation comprises modifying, adding, or deleting the object; and compile the source code to obtain the intermediate code when determining that the operation performed by the source code on the object in the database is the preset operation performed on the object in the database. 11. The data processing apparatus according to claim 7 , wherein the processor is further configured to store the intermediate code to the database. 12. The data processing apparatus according to claim 11 , wherein the processor is further configured to: generate a target name of the intermediate code, wherein the target name is used to uniquely identify the intermediate code; and generate a target address of the intermediate code, wherein the target address is used to identify an address of the intermediate code in the database. 13. A non-transitory computer readable medium having computer-executable instructio

Assignees

Inventors

Classifications

  • G06F8/41Primary

    Compilation · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · CPC title

  • Physics · mapped topic

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title

  • Indexing; Data structures therefor; Storage structures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9430198B2 cover?
A data processing method and apparatus, which relate to the computer field and are capable of effectively improving scalability of a database system. The data processing method includes: receiving source code of an external routine, where the source code of the external routine is compiled by using an advanced programming language; compiling the source code to obtain intermediate code, where th…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/41. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).