SEARCHING ENTITY-KEY ASSOCIATIONS USING IN-MEMORY OBJECTS
First Claim
1. A method comprising:
- identifying, for a plurality of entities and a plurality of keys stored in a data structure in a data storage unit, a plurality of entity-key associations, wherein each of the entity-key associations includes an entity and a key that are associated with each other;
creating, for each of the entity-key associations, an entity-key association string by concatenating an entity identification (ID) of the entity in the entity-key association with a key ID of the key in the entity-key association, to produce a plurality of entity-key association strings; and
creating a first in-memory object in a processing system to store the entity-key association strings, each of the entity-key association strings representing one of the entity-key associations.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are a method and system for searching entities and keys that are associated with each other using entity-key associations stored in an in-memory object. When a query is issued for retrieving entity-key associations, the disclosed technique searches an in-memory object, such as a binary large object (BLOB) containing a plurality of entity-key association strings that represent the entity-key associations. An entity-key association string includes an entity name of an entity concatenated with a key name of a key that are associated with each other. Searching for the entity-key associations using the entity-key association strings in the BLOB is faster than a conventional search that includes querying multiple tables in a database. The disclosed technique creates the entity-key association strings by reading necessary data from a data structure stored in data storage unit. Both literal and regular expressions are supported without adversely affecting the query performance.
7 Citations
21 Claims
-
1. A method comprising:
-
identifying, for a plurality of entities and a plurality of keys stored in a data structure in a data storage unit, a plurality of entity-key associations, wherein each of the entity-key associations includes an entity and a key that are associated with each other; creating, for each of the entity-key associations, an entity-key association string by concatenating an entity identification (ID) of the entity in the entity-key association with a key ID of the key in the entity-key association, to produce a plurality of entity-key association strings; and creating a first in-memory object in a processing system to store the entity-key association strings, each of the entity-key association strings representing one of the entity-key associations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving, from a client in a computer system, a query for retrieving an entity-key association, the query including a query parameter that identifies at least one of (i) an entity, or (ii) a key; searching, at a server in response to the query, a first in-memory object having a plurality of entity-key association strings to obtain the entity-key association based on the query parameter, the entity-key association strings representing entity-key associations of a plurality of entities and a plurality of keys stored in a data structure of a data storage unit, and each of entity-key association strings including an entity identification (ID) of a first entity concatenated with a key ID of a first key that is associated with the first entity; obtaining the entity-key association from the first in-memory object; and sending, to the client, the entity-key association. - View Dependent Claims (16, 17, 18)
-
-
19. An apparatus comprising:
-
a processor; an entity-key association identification unit, operatively coupled to the processor, to identify, for a plurality of entities and a plurality of keys stored in a data structure in a data storage unit, a plurality of entity-key associations, wherein each of the entity-key associations includes an entity and a key that are associated with each other, and wherein each of the entity-key associations includes an association value; an entity-key association string generation unit to create, for each of the entity-key associations, an entity-key association string by concatenating an entity identification (ID) of the entity in the entity-key association with a key ID of the key in the entity-key association; an entity-key association object creation unit to create a first in-memory object to store a plurality of entity-key association strings, each of the entity-key association strings representing one of the entity-key associations, and a second in-memory object to store a plurality of association value IDs of association values, the association values corresponding to the entity-key associations represented by the entity-key association strings; and an entity-key association distribution unit to split the first in-memory object and the second in-memory object into a plurality of shards, each of the shards containing a subset of entity-key association strings from the first in-memory object and corresponding association value IDs from the second in-memory object, distribute the shards to a plurality of servers in a computer network, wherein each of the servers receives a different subset of the shards, and load the different subset of the shards into a memory of the corresponding servers. - View Dependent Claims (20, 21)
-
Specification