Scale computing in deterministic cloud environments
US-2024370302-A1 · Nov 7, 2024 · US
US9430198B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9430198-B2 |
| Application number | US-201514753232-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 29, 2015 |
| Priority date | Feb 19, 2014 |
| Publication date | Aug 30, 2016 |
| Grant date | Aug 30, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.