CN107766258A - Memory storage method and apparatus, memory lookup method and apparatus - Google Patents

Memory storage method and apparatus, memory lookup method and apparatus Download PDF

Info

Publication number
CN107766258A
CN107766258A CN201710890458.2A CN201710890458A CN107766258A CN 107766258 A CN107766258 A CN 107766258A CN 201710890458 A CN201710890458 A CN 201710890458A CN 107766258 A CN107766258 A CN 107766258A
Authority
CN
China
Prior art keywords
hash bucket
data
stored
hash
bucket
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.)
Granted
Application number
CN201710890458.2A
Other languages
Chinese (zh)
Other versions
CN107766258B (en
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.)
Enyike (Beijing) Data Technology Co.,Ltd.
Original Assignee
Jing Shuo Technology (beijing) Ltd By Share 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 Jing Shuo Technology (beijing) Ltd By Share Ltd filed Critical Jing Shuo Technology (beijing) Ltd By Share Ltd
Priority to CN201710890458.2A priority Critical patent/CN107766258B/en
Publication of CN107766258A publication Critical patent/CN107766258A/en
Application granted granted Critical
Publication of CN107766258B publication Critical patent/CN107766258B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Abstract

The embodiment of the present invention provides a kind of memory storage method and apparatus, memory lookup method and apparatus, and methods described includes:According to the keyword of each data to be stored and Hash bucket function, Hash bucket value corresponding to each data to be stored is obtained, according to each Hash bucket value and hash function, it is determined that position of the Hash bucket in storage table corresponding to each Hash bucket value;According to position of the Hash bucket in storage table, by the data storage to be stored in the Hash bucket.By regarding Hash bucket value as key values, when storing n bars record, it is only necessary to Hash bucket value space size Key values, and then internal memory has been saved, realize the real-time query of internal memory.

Description

Memory storage method and apparatus, memory lookup method and apparatus
Technical field
The present embodiments relate to computer technology, more particularly to a kind of memory storage method and apparatus, memory lookup side Method and device.
Background technology
With the development of big data and sharing for information, (Data-Management Platform, data pipe pat DMP Platform) it is widely used.DMP includes more than ten00000000 data for arriving over ten billion magnitude, and its real-time query is generally by internal memory type number Storage is provided according to storehouse to support, substantially in tens T or so, cost is huge for consumption of the so huge magnitude to internal memory.This just needs A kind of performance that can improve real-time query (generally requires in below 5ms) storage that and can supports mass data with relatively low internal memory Database.
The general solution for mass storage storage is that Redis cluster (increase income distributed memory by one kind at present Key-Value databases) and Memcached (a high performance distributed memory target cache system), pass through LRU (Least Recently Used, are not used at most recently) etc. strategy a part of dsc data is carried in internal memory inquiry is provided, and will be cold Data are put into more slow cheap storage device.It is substantially to reduce the data that needs cache by business characteristic Quantity, it is made that low frequency accesses the sacrifice of the real-time of data, to reach the purpose for saving carrying cost.
But for it can not prejudge the data of temperature, prior art can not realize the storage for reducing internal memory.
The content of the invention
The embodiment of the present invention provides a kind of memory storage method and apparatus, memory lookup method and apparatus, to solve existing skill Art can not realize the problem of storage for reducing internal memory.
In a first aspect, the embodiment of the present invention provides a kind of memory storage method, including:
According to the keyword of each data to be stored and Hash bucket function, Hash bucket corresponding to each data to be stored is obtained Value, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
According to each Hash bucket value and hash function, it is determined that position of the Hash bucket in storage table corresponding to each Hash bucket value Put;
According to position of the Hash bucket in storage table, by the data storage to be stored in the Hash bucket, institute Stating storage table includes at least one Hash bucket and the data to be stored being stored in the Hash bucket.
Optionally, keyword of the Hash bucket also including the data to be stored and the mapping of the data to be stored are closed System.
Optionally, the number for the Hash bucket that the storage table includes is 2mIndividual, the m is the positive integer more than 0.
In a kind of possible implementation of first aspect, the keyword and Hash of each data to be stored of the basis Bucket function, each Hash bucket value corresponding to data to be stored is obtained, is specifically included:
According to formula h ash ' (Ki)=MD5 (Ki) & ((2128)<<(127-m)), obtain corresponding to each data to be stored Hash bucket value hash ' (Ki);
Wherein, the Ki is data i to be stored keyword, and the MD5 is one-way Hash algorithm, and the m is the MD5 Preceding m positions.
Optionally, data to be stored different in the Hash bucket linearly arrange.
Optionally, the number of the data to be stored stored in each Hash bucket meets multinomial distribution.
In the alternatively possible implementation of first aspect, methods described also includes:
The data to be stored to be failed in each Hash bucket are obtained, and delete the data to be stored of the failure.
It is described to obtain the number to be stored to be failed in each Hash bucket in the alternatively possible implementation of first aspect According to, and the data to be stored of the failure are deleted, specifically include:
Whether the bar number for the data to be stored for judging to store in each Hash bucket is more than or equal to default number of branches;
If so, then judging whether the initial storage moment of each data to be stored in each first Hash bucket is more than or equal to Predetermined time, the first Hash bucket are that the bar number of data to be stored in each Hash bucket is more than or equal to the Hash of default number of branches Bucket;
If the initial storage moment of data to be stored is more than or equal to predetermined time described in the first Hash bucket, from The data to be stored are deleted in the first Hash bucket.
It is described to obtain the number to be stored to be failed in each Hash bucket in the alternatively possible implementation of first aspect According to, and the data to be stored of the failure are deleted, specifically include:
Judge whether the capacity utilization of each Hash bucket is more than or equal to preset capacity utilization rate;
If so, then breathed out according to the initial storage moment of each data to be stored in each second Hash bucket from each second The data to be stored of delete target quantity in uncommon bucket, the destination number are to exceed the preset capacity in the second Hash bucket The number of data to be stored of utilization rate, the second Hash bucket are that capacity utilization is more than or equal to preset capacity in each Hash bucket The Hash bucket of utilization rate.
Second aspect, the embodiment of the present invention provide a kind of memory lookup method, including:
According to the keyword of data to be checked and Hash bucket function, Hash bucket value corresponding to the data to be checked is obtained, Functional relation of the Hash bucket function between the keyword and the Hash bucket value;
According to the Hash bucket value and hash function, position of the Hash bucket in storage table corresponding to the Hash bucket value is determined Put, the storage table includes at least one Hash bucket and the data to be checked being stored in the Hash bucket;
According to the position of the Hash bucket, the data to be checked are read from the Hash bucket.
The third aspect, the embodiment of the present invention provide a kind of memory storage device, including:
Acquisition module, for the keyword and Hash bucket function according to each data to be stored, obtain each number to be stored According to corresponding Hash bucket value, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
Determining module, for according to each Hash bucket value and hash function, it is determined that Hash bucket corresponding to each Hash bucket value Position in storage table;
Memory module, for the position according to the Hash bucket in storage table, by the data storage to be stored in institute State in Hash bucket, the storage table includes at least one Hash bucket and the data to be stored being stored in the Hash bucket.
Optionally, keyword of the Hash bucket also including the data to be stored and the mapping of the data to be stored are closed System.
Optionally, the number for the Hash bucket that the storage table includes is 2mIndividual, the m is the positive integer more than 0.
In a kind of possible implementation of second aspect, the keyword and Hash of each data to be stored of the basis Bucket function, each Hash bucket value corresponding to data to be stored is obtained, is specifically included:
The acquisition module, specifically for according to formula h ash ' (Ki)=MD5 (Ki) & ((2128)<<(127-m)), obtain Hash bucket value hash ' (Ki) corresponding to each data to be stored;
Wherein, the Ki is data i to be stored keyword, and the MD5 is one-way Hash algorithm, and the m is the MD5 Preceding m positions.
Optionally, data to be stored different in the Hash bucket linearly arrange.
Optionally, the number of the data to be stored stored in each Hash bucket meets multinomial distribution.
In the alternatively possible implementation of second aspect, described device also includes removing module:
The acquisition module, it is additionally operable to obtain the data to be stored to fail in each Hash bucket,
The removing module, for deleting the data to be stored of the failure from the Hash bucket.
In the alternatively possible implementation of second aspect, described device also includes the first judge module;
First judge module, the bar number of the data to be stored for judging to store in each Hash bucket whether be more than or Equal to default number of branches;
First judge module, when being additionally operable to judge the initial storage of each data to be stored in each first Hash bucket Whether predetermined time is more than or equal to quarter, and the first Hash bucket is that the bar number of data to be stored in each Hash bucket is more than or equal to The Hash bucket of default number of branches;
The removing module, it is to be stored described in the first Hash bucket specifically for being determined in first judge module When the initial storage moment of data is more than or equal to predetermined time, the data to be stored are deleted from the first Hash bucket.
In the alternatively possible implementation of second aspect, described device also includes the second judge module;
Second judge module, for judging whether the capacity utilization of each Hash bucket is more than or equal to preset capacity Utilization rate;
The removing module, also particularly useful for according in each second Hash bucket during the initial storage of each data to be stored Carve, the data to be stored of delete target quantity from each second Hash bucket, the destination number is in the second Hash bucket Beyond the number of data to be stored of the preset capacity utilization rate, the second Hash bucket is that capacity utilization is big in each Hash bucket In or equal to preset capacity utilization rate Hash bucket.
Fourth aspect, the embodiment of the present invention provide a kind of memory lookup device, including:
Acquisition module, for the keyword according to data to be checked and Hash bucket function, obtain the data pair to be checked The Hash bucket value answered, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
Determining module, for according to the Hash bucket value and hash function, determining Hash bucket corresponding to the Hash bucket value Position in storage table;Wherein, the storage table includes at least one Hash bucket and is stored in be checked in the Hash bucket Ask data;
Read module, for the position according to the Hash bucket, the data to be checked are read from the Hash bucket.
Memory storage method and apparatus provided in an embodiment of the present invention, memory lookup method and apparatus, by according to each The keyword and Hash bucket function of data to be stored, Hash bucket value corresponding to each data to be stored is obtained, according to each Hash Bucket value and hash function, it is determined that position of the Hash bucket in the storage table of internal memory corresponding to each Hash bucket value;According to each Kazakhstan Uncommon position of the bucket in storage table, by the data storage to be stored in the Hash bucket.The present embodiment, by by Hash bucket Value is used as key values, when storing n bars record, it is only necessary to Hash bucket value space size Key values, and then internal memory has been saved, realize The real-time query of internal memory.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing There is the required accompanying drawing used in technology description to be briefly described, it should be apparent that, drawings in the following description are this hairs Some bright embodiments, for those of ordinary skill in the art, without having to pay creative labor, can be with Other accompanying drawings are obtained according to these accompanying drawings.
Fig. 1 is the flow chart for the memory storage method that the embodiment of the present invention one provides;
Fig. 2 is that existing hash represents to be intended to;
Fig. 3 is the present embodiment hash bucket storage organization schematic diagrames;
Fig. 4 is the flow chart of the expiration policy of time priority in the memory storage method that the embodiment of the present invention two provides;
Fig. 4 a are the flow chart of the expiration policy of volume priority in the memory storage method that the embodiment of the present invention two provides;
Fig. 5 is the flow chart for the memory lookup method for storing that the embodiment of the present invention one provides;
Fig. 6 is the structure chart for the memory storage device that the embodiment of the present invention one provides;
Fig. 7 is the structure chart for the memory storage device that the embodiment of the present invention two provides;
Fig. 8 is the structure chart for the memory storage device that the embodiment of the present invention three provides;
Fig. 9 is the structure chart for the memory storage device that the embodiment of the present invention four provides;
Figure 10 is the structure chart of memory lookup device provided in an embodiment of the present invention.
Embodiment
To make the purpose, technical scheme and advantage of the embodiment of the present invention clearer, below in conjunction with the embodiment of the present invention In accompanying drawing, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is Part of the embodiment of the present invention, rather than whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art The every other embodiment obtained under the premise of creative work is not made, belongs to the scope of protection of the invention.
What internal memory type database compared main flow at present has Redis Cluster, a Memcached (high performance distribution Formula memory object caching system).Because Redis Cluster (Redis clusters) support distributed extension, obtaining instantly extensively General application.Internal memory Key-value database Redis Cluster of the embodiment of the present invention based on main flow instantly and Memcached, optimize on its data structure, can effectively save internal memory.
Technical scheme is described in detail with specifically embodiment below.These specific implementations below Example can be combined with each other, and may be repeated no more for same or analogous concept or process in some embodiments.
Fig. 1 is the flow chart for the memory storage method that the embodiment of the present invention one provides.The executive agent of the present embodiment is interior Deposit storage device.The present embodiment refers to the detailed process that memory storage device stores data to be stored in internal memory.Such as Fig. 1 Shown, the method for the present embodiment can include:
S101, keyword and Hash bucket function according to each data to be stored, are obtained corresponding to each data to be stored Hash bucket value.
Due to needing the location data within o (1) times in key-value databases, then Hash (Hash) table is needed Realize bottom data structure.Hash tables use a mapping function f:key->Address maps a keyword to this and is recorded in table In storage location, so as to when wanting to look up the record, this can be calculated according to keyword and mapping relations and be recorded in table In storage location.The mapping relations are referred to as Hash functions, and the storage location calculated by Hash functions and keyword (storage location is the storage location in table) is referred to as Hash addresses.
For example, for storing K1=>V1, K2=>V2 ... Kn=>When Vn etc. is recorded, existing Hash tables storage side Formula is as shown in Fig. 2 Kn can obtain as the key in hash tables, Vn as the value in hash tables according to key and Hash functions Vn storage location is obtained, Vn is stored in value corresponding to the storage location.But for different key, Hash functions can Identical address can be calculated, is thus conflicted.Hash tables must just be opened up largely to reduce collision rate Hash spaces.Meanwhile substantial amounts of pointer is also required to realize the inquiry of skip list, it can thus be appreciated that hash in order to solve hash conflicts The storage of table in itself can consume substantial amounts of internal memory, or even the data than specifically needing to store are also big.
The method of the present embodiment, on the premise of identical incremental data is stored, saved using less Key number interior The consumption deposited.Specifically, it is proposed that the concept of Hash bucket, the memory storage method of the present embodiment can turn into Hash bucket and store, The corresponding key of one Hash bucket, the data for storing identical quantity, Key used in this application number is less, Jin Erjie About internal memory.The method of the present embodiment, when the data of storage are bigger, then the internal memory saved is more.
Specifically, in data storage, it is necessary first to Hash bucket value corresponding to calculating each data to be stored, be specifically, According to the keyword of each data to be stored and Hash bucket function, the Hash bucket value of each data to be stored of calculating.Wherein Hash Bucket function is the functional relation between keyword and Hash bucket value, and Hash bucket function can be set according to being actually needed, The present embodiment is without limitation.
For example, there is four data to be stored to be respectively:" Zhang San 15612234570 ", " Li Si 17812234002 ", " king five 18100042301 " and " Zhao 6 13969004576 ", wherein each self-corresponding keyword is respectively " Zhang San ", " Li Si ", " king Five " and " Zhao six ", bring above-mentioned each keyword into Hash bucket function and calculate each self-corresponding Hash bucket value, it is assumed that be respectively 10、39、10、40。
S102, according to each Hash bucket value and hash function, it is determined that Hash bucket is in storage table corresponding to each Hash bucket value In position.
Fig. 3 is the present embodiment hash bucket storage organization schematic diagrames, as shown in figure 3, the internal memory of the present embodiment is with storage table Form carrys out data storage, and wherein storage table includes at least one Hash bucket.So each wait to deposit being calculated according to above-mentioned steps After storing up Hash bucket value corresponding to data, it is also necessary to it is determined that position of the Hash bucket corresponding to each Hash bucket value in storage table.
Specifically, the present embodiment is using the Hash bucket value that above-mentioned calculating obtains as the key values in Hash tables, according in system Original hash function, calculate position of the Hash bucket in storage table corresponding to each Hash bucket value.
For example, by Hash bucket value 39, " Hash corresponding to king five " corresponding to Hash bucket value 10 corresponding to " Zhang San ", " Li Si " Bucket value 10 and " Hash bucket value 40 corresponding to Zhao six ", brings hash function into respectively, and each self-corresponding Hash bucket of acquisition is in storage table In position, it is assumed that be respectively 2,4,2,5.
S103, the position according to the Hash bucket in storage table, by the data storage to be stored in the Hash bucket In.
Specifically, position of the Hash bucket in storage table according to corresponding to the above method obtains each Hash bucket value, so may be used So that each Hash bucket value is navigated on corresponding Hash bucket, then data to be stored corresponding to Hash bucket value are saved in correspondingly Hash bucket in.
In the present embodiment, when the Hash bucket value that keyword is calculated according to Hash bucket function is identical, identical Hash bucket value Position of the corresponding Hash bucket in storage table is also identical.Now, as shown in figure 3, can be to be stored by Hash bucket value identical Data are stored in same Hash bucket, for example, keyword k3 Hash bucket value hash ' (k3) and keyword k1 Hash bucket value Hash ' (k1) is identical, now can be to be stored by data V3 to be stored corresponding to hash ' (k3), and corresponding to hash ' (k1) Data V1 is stored in same Hash bucket 1, i.e. can store multiple data to be stored in a Hash bucket.
For example, with continued reference to above-mentioned example, it is assumed that by keyword " Zhang San ", " Li Si ", " king five " and " Zhao six " is each Self-corresponding Hash bucket value is respectively:10th, 39,10,40, and each self-corresponding Hash bucket of Hash bucket value 10,39,10,40 is being deposited Position in storage table is respectively:2、4、2、5.Now Hash bucket value is 10 " Zhang San " and " data to be stored corresponding to king five " " Zhang San 15612234570 " and " king 5 18100042301 " are stored in storage table middle position and are set in 2 same Hash bucket.Together When, by data to be stored, " Li Si 17812234002 " is stored separately on storage table middle position and is set in a 4 Hash bucket, will treat Data storage " Zhao 6 13969004576 " is stored separately on storage table middle position and is set in a 5 Hash bucket.
The number for the Hash bucket that the present embodiment includes to storage table is not limited, and is adjusted with specific reference to being actually needed It is whole.
The method of the present embodiment, when database purchase n bars record (data i.e. to be stored), the storage of conventional hash tables needs N Key value is accommodated, and the present embodiment is stored by calculating every Hash bucket value recorded using Hash bucket value as hash tables In key values, therefore, the method for the present embodiment is when storing n bars record, it is only necessary to Hash bucket value space size Key values, enters And internal memory has been saved, realize the real-time query of internal memory.
Memory storage method provided in an embodiment of the present invention, pass through the keyword and Hash bucket according to each data to be stored Function, Hash bucket value corresponding to each data to be stored is obtained, according to each Hash bucket value and hash function, it is determined that each Hash Position of the Hash bucket in the storage table of internal memory corresponding to bucket value;According to position of each Hash bucket in storage table, by described in Data storage to be stored is in the Hash bucket.The present embodiment, by regarding Hash bucket value as key values, in storage n bars record When, it is only necessary to Hash bucket value space size Key values, and then internal memory has been saved, realize the real-time query of internal memory.
In a kind of possible implementation of the present embodiment, the number for the Hash bucket that the storage table includes can be 2m Individual, the m is the positive integer more than 0.
For example, Hash bucket value hash ' space encoder is limited in 2^10, then after storing enough records, Also only have 2^10 Hash bucket value in Redis, corresponding Hash bucket is up to 2^10, and the quantity of such Hash bucket is confined within Under one constant, N is bigger, and the amount of the Hash bucket of saving is more, and the internal memory of corresponding saving is also more.For same storage The number of Hash bucket is certain for system, is 2^m, and wherein m is the positive integer more than 0.
In the alternatively possible implementation of the present embodiment, above-mentioned S101 is according to the keywords of each data to be stored With Hash bucket function, each Hash bucket value corresponding to data to be stored is obtained, is specifically included:
According to formula h ash ' (Ki)=MD5 (Ki) & ((2128)<<(127-m)), obtain corresponding to each data to be stored Hash bucket value hash ' (Ki);
Wherein, the Ki is data i to be stored keyword, and the MD5 is one-way Hash algorithm, and the m is the MD5 Preceding m positions.
It is multiple to be stored when that can be preserved in a Hash bucket in a kind of possible implementation of the embodiment of the present invention During data, inquired about in order to facilitate the later stage, then the keyword of the data to be stored and the number to be stored are preserved in Hash bucket According to mapping relations.
For example, as shown in figure 3, storage table middle position, which is set in 1 Hash bucket, is stored with K1=>V1 mapping relations and K3 =>V3 mapping relations.So when needing to inquire about V1 corresponding to K1, then send and look into K1, reality is calculated first with Hash bucket function The Key1=hash ' (K1) of border storage, then by the position in the hash function locatings to storage table built in system, so as to look for To the position pointed by Key1, ascend the throne be set to 1 Hash bucket.Then, the Hash bucket pointed by position 1 is traveled through, so as in the Kazakhstan K1=is found in uncommon bucket>This record of Vn, and then complete accurate inquiry.
Optionally, it is different in Hash bucket to treat in the present embodiment when being stored with multiple data to be stored in Hash bucket Data storage linearly arranges, for example, as shown in figure 3, K1=>V1 and K3=>V3 is linearly arranged.That is the Hash of the present embodiment The Hash bucket of bucket value connection realizes that hashmap can set linear deposit by configuring using the hashmap built in Redis Storage.That is, Hash bucket value identical data to be stored (such as K1, K3) are placed in same hashmap and linearly arranged, The expense of extra pointer and hash spaces will not so be increased, and then reduce internal memory.Further, when data to be stored are got over It is more, then also bigger compared to the internal memory that conventional storage is saved.
Optionally, the number of the data to be stored preserved in the present embodiment storage table in each Hash bucket meets multinomial point Cloth.
Because Hash bucket storages realize the Hash bucket function of customization, so needing to ensure the number of all Hash bucket bucket storages According to being balanced, otherwise the memory fragmentation rate of whole system can uprise.Because data to be stored enter the probability of each Hash bucket It is equal, so the distribution of Hash bucket internal record meets multinomial distribution:
P (X in formulak=nk) represent storage n inside Hash bucketkThe probability of bar data to be stored, k represent Hash bucket Number.When the quantity of Hash bucket is bigger, from formula as can be seen that the phase residual quantity very little of each Hash bucket.
From the foregoing, the number distribution of the data to be stored stored in this storage table in each Hash bucket is more uniform, and then The generation of fragmentation can be avoided so that memory storage hands over balance, and then while internal memory is saved, improves memory storage Reliability.
Fig. 4 is the flow chart of the expiration policy of time priority in the memory storage method that the embodiment of the present invention two provides, and is schemed 4a is the flow chart of the expiration policy of volume priority in the memory storage method that the embodiment of the present invention two provides.In above-described embodiment On the basis of, the present embodiment also includes S200:The data to be stored to be failed in each Hash bucket are obtained, and delete the failure Data to be stored, to save memory headroom, above-mentioned S200 can specifically include two kinds of strategies:The first is the failure of time priority Expiration policy that is tactful, being volume priority for second.
As shown in figure 4, the expiration policy of time priority can specifically include:
Whether S201, the bar number for the data to be stored for judging to store in each Hash bucket are more than or equal to default number of branches.
S202, if so, then judging whether the initial storage moment of each data to be stored in each first Hash bucket is more than Or equal to predetermined time, the first Hash bucket is that the bar number of data to be stored in each Hash bucket is more than or equal to default number of branches Hash bucket.
If the initial storage moment of data to be stored described in S203, the first Hash bucket is more than or equal to default Carve, then the data to be stored are deleted from the first Hash bucket.
Specifically, go to check using a certain proportion of write operation (ratio that can be configured) during Redis is write The bar number of the data to be stored of each Hash bucket memory storage, judge whether is the bar number of data to be stored that is stored in each Hash bucket More than or equal to default number of branches.If the bar number of the data to be stored stored in Hash bucket is more than or equal to default number of branches, pin Replacement policy is initiated to the Hash bucket.For the ease of description, the bar number of data to be stored is more than or equal to default by the present embodiment The Hash bucket of bar number is referred to as the first Hash bucket.
It is (i.e. default that first character section of the present embodiment in redis hashmap value is written with expired time stamp Moment), system can scan data to be stored inside the first Hash bucket, and the timestamp for reading every data to be stored is (i.e. every The initial storage moment of bar data to be stored).Next, it is determined that in the first Hash bucket every data to be stored the initial storage moment Whether it is more than or equal to predetermined time, if so, then can determine that this data to be stored are expired, the mistake is deleted from the first Hash bucket The expired data to be stored are deleted in the data to be stored of phase, the hdel orders that can specifically directly invoke in redis.
As shown in fig. 4 a, the expiration policy of volume priority can specifically include:
S204, judge whether the capacity utilization of each Hash bucket is more than or equal to preset capacity utilization rate.
S205, if so, then according to the initial storage moment of each data to be stored in each second Hash bucket, from each The data to be stored of delete target quantity in two Hash buckets, the destination number are beyond described default in the second Hash bucket The number of data to be stored of capacity utilization, the second Hash bucket are more than or equal to default for capacity utilization in each Hash bucket The Hash bucket of capacity utilization.
Specifically, checking the data to be stored recorded in each Hash bucket using write operation, the appearance of each Hash bucket is judged Whether amount utilization rate is more than or equal to preset capacity utilization rate, if so, then starting deletion strategy for the Hash bucket.For the ease of Illustrate, the Hash bucket that capacity utilization in Hash bucket is more than or equal to preset capacity utilization rate by the present embodiment is referred to as the second Hash Bucket.Then, according to the initial storage moment of each data to be stored in each second Hash bucket, by each second Hash bucket Each data to be stored do most rickle (min heap) processing according to the initial storage moment, can so find closest to expired mesh Mark quantity data to be stored, and from each second Hash bucket delete target quantity data to be stored.Wherein, target numbers Equal to the number of data to be stored for exceeding preset capacity utilization rate in the second Hash bucket.
It should be noted that above two effect and tactics can select one as data to be stored according to being actually needed Expiration policy, optionally, can also expiration policy of the simultaneous selection above two as data to be stored, the present embodiment to this not It is limited.
The expiration policy of the memory storage method of the embodiment of the present invention, passage time preferential expiration policy and volume priority Two methods come determine in each Hash bucket data to be stored whether actual effect, and delete from Hash bucket the number to be stored of failure According to avoiding the data committed memory of failure, and then improve the availability of internal memory.
Fig. 5 is the flow chart for the memory lookup method for storing that the embodiment of the present invention one provides.The executive agent of the present embodiment is Device with memory lookup function, hereinafter referred to as memory lookup device.The present embodiment refers to memory lookup device from interior Deposit the specific process of middle inquiry data.As shown in figure 5, the present embodiment can include:
S301, keyword and Hash bucket function according to data to be checked, obtain Hash corresponding to the data to be checked Bucket value.
Wherein, functional relation of the Hash bucket function between the keyword and the Hash bucket value.
It should be noted that the data to be checked in the present embodiment are to be stored in storage table to wait to deposit in above-described embodiment Store up data.
S302, according to the Hash bucket value and hash function, determine that Hash bucket is in storage table corresponding to the Hash bucket value In position.
Wherein, the storage table includes at least one Hash bucket and the data to be checked being stored in the Hash bucket.
S303, the position according to the Hash bucket, read the data to be checked from the Hash bucket.
For example, with reference to described in above-described embodiment, it is assumed that storage table middle position be set in 2 Hash bucket be stored with it is to be checked " Zhang San 15612234570 ", position are to be stored with data to be checked " Li Si 17812234002 ", position in 4 Hash bucket to data To be stored with data to be checked " Zhao 6 13969004576 " in 5 Hash bucket.When needing to inquire about the telephone number of Zhang San, then The Hash bucket value according to corresponding to keyword " Zhang San " and Hash bucket function determine inquiry data to be measured, it is assumed that determine that keyword " is opened Hash bucket value corresponding to three " is 10.Then, according to Hash bucket value and hash function, determine that Hash bucket corresponding to Hash bucket value exists Position in storage table, it is assumed that position of the Hash bucket in storage table corresponding to Hash bucket value 10 is 2.Now, from storage table Position is that data to be checked " 15612234570 " are read in 2 Hash bucket, and then realizes inquiry.
In a kind of possible implementation of the present embodiment, Hash bucket can include the keyword of the data to be checked With the mapping relations of the data to be checked, above-mentioned S303, can specifically include:
According to the position of the Hash bucket, and the keyword and the mapping relations of the data to be checked, from described The data to be checked corresponding to the keyword are read in Hash bucket.
For example, with reference to described in example, it is assumed that storage table position is to be stored with data to be checked in 2 Hash bucket " to open 3 15612234570 " and " king 5 18100042301 ".When needing to inquire about the telephone number of Zhang San, obtained according to the above method Hash bucket value corresponding to " Zhang San ", it is assumed that it is 10, and obtains position of the Hash bucket in storage table corresponding to Hash bucket value 10, it is false It is set to 2.Now, storage table position is to be stored with two records in 2 Hash bucket, therefore, travels through two records of the Hash bucket, Telephone number corresponding to obtaining keyword " Zhang San " is " 15612234570 ", and then realizes inquiry.
The method of the present embodiment, because Hash bucket value is less corresponding to data to be stored, and then cause Hash in storage table Bucket value and Hash bucket are reduced, and the data volume so scanned during inquiry is few, and then improves search efficiency.
Memory lookup method provided in an embodiment of the present invention, pass through the keyword according to data to be checked and Hash bucket letter Number, Hash bucket value corresponding to the data to be checked is obtained, and according to the Hash bucket value and hash function, determine the Hash Position of the Hash bucket in storage table corresponding to bucket value, according to the position of the Hash bucket, read from the Hash bucket described in Data to be checked, and then realize the quick search to testing data.
Fig. 6 is the structure chart for the memory storage device that the embodiment of the present invention one provides.The memory storage device of the present embodiment 100 can be software, hardware or soft or hard combination.As shown in fig. 6, the memory storage device 100 of the present embodiment, can include:
Acquisition module 110, for the keyword and Hash bucket function according to each data to be stored, obtain each to be stored Hash bucket value corresponding to data, functional relation of the Hash bucket function between the keyword and the Hash bucket value.
Determining module 120, for according to each Hash bucket value and hash function, it is determined that Hash corresponding to each Hash bucket value Position of the bucket in storage table.
Memory module 130, for the position according to the Hash bucket in storage table, the data storage to be stored is existed In the Hash bucket, the storage table includes at least one Hash bucket and the data to be stored being stored in the Hash bucket.
Memory storage device shown in the embodiment of the present invention, the technical scheme shown in above method embodiment can be performed, Its realization principle and beneficial effect are similar, are no longer repeated herein.
In a kind of possible implementation of the present embodiment, the Hash bucket also includes the key of the data to be stored Word and the mapping relations of the data to be stored.
Optionally, the number for the Hash bucket that the storage table includes is 2mIndividual, the m is the positive integer more than 0.
In the alternatively possible implementation of the present embodiment, the acquisition module 110, specifically for according to formula Hash ' (Ki)=MD5 (Ki) & ((2128)<<(127-m)), obtain Hash bucket value hash ' corresponding to each data to be stored (Ki);
Wherein, the Ki is data i to be stored keyword, and the MD5 is one-way Hash algorithm, and the m is the MD5 Preceding m positions.
Optionally, data to be stored different in the Hash bucket linearly arrange.
Optionally, the number of the data to be stored stored in each Hash bucket meets multinomial distribution.
Fig. 7 is the structure chart for the memory storage device that the embodiment of the present invention two provides.On the basis of above-described embodiment, this The memory storage device 100 of embodiment also includes can be with removing module 140:
The acquisition module 110, it is additionally operable to obtain the data to be stored to fail in each Hash bucket.
The removing module 140, for deleting the data to be stored of the failure from the Hash bucket.
Memory storage device shown in the embodiment of the present invention, the technical scheme shown in above method embodiment can be performed, Its realization principle and beneficial effect are similar, are no longer repeated herein.
Fig. 8 is the structure chart for the memory storage device that the embodiment of the present invention three provides.On the basis of above-described embodiment, this The memory storage device 100 of embodiment also includes can be with the first judge module 150;
Whether first judge module 150, the bar number of the data to be stored for judging to store in each Hash bucket are big In or equal to default number of branches;
First judge module 150, it is additionally operable to judge in each first Hash bucket that the initial of each data to be stored is deposited Whether the storage moment is more than or equal to predetermined time, the first Hash bucket be more than for the bar number of data to be stored in each Hash bucket or Equal to the Hash bucket of default number of branches;
The removing module 140, specifically for being determined in first judge module 150 described in the first Hash bucket When the initial storage moment of data to be stored is more than or equal to predetermined time, deleted from the first Hash bucket described to be stored Data.
Memory storage device shown in the embodiment of the present invention, the technical scheme shown in above method embodiment can be performed, Its realization principle and beneficial effect are similar, are no longer repeated herein.
Fig. 9 is the structure chart for the memory storage device that the embodiment of the present invention four provides.On the basis of above-described embodiment, this The memory storage device 100 of embodiment also includes the second judge module 160;
Second judge module 160, it is default whether the capacity utilization for judging each Hash bucket is more than or equal to Capacity utilization;
The removing module 140, deposited also particularly useful for according to the initial of each data to be stored in each second Hash bucket The moment is stored up, the data to be stored of delete target quantity from each second Hash bucket, the destination number is second Hash Exceed the number of data to be stored of the preset capacity utilization rate in bucket, the second Hash bucket is that capacity uses in each Hash bucket Rate is more than or equal to the Hash bucket of preset capacity utilization rate.
Memory storage device shown in the embodiment of the present invention, the technical scheme shown in above method embodiment can be performed, Its realization principle and beneficial effect are similar, are no longer repeated herein.
Figure 10 is the structure chart of memory lookup device provided in an embodiment of the present invention.The memory lookup device of the present embodiment 200 can be software, hardware or soft or hard combination.As shown in Figure 10, the memory lookup device 200 of the present embodiment, can include:
Acquisition module 210, for the keyword according to data to be checked and Hash bucket function, obtain the data to be checked Corresponding Hash bucket value, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
Determining module 220, for according to the Hash bucket value and hash function, determining Hash corresponding to the Hash bucket value Position of the bucket in storage table;Wherein, the storage table includes at least one Hash bucket and is stored in the Hash bucket to treat Inquire about data;
Read module 230, for the position according to the Hash bucket, the number to be checked is read from the Hash bucket According to.
Memory storage device shown in the embodiment of the present invention, the technical scheme shown in above method embodiment can be performed, Its realization principle and beneficial effect are similar, are no longer repeated herein.
One of ordinary skill in the art will appreciate that:Realizing all or part of step of above-mentioned each method embodiment can lead to The related hardware of programmed instruction is crossed to complete.Foregoing program can be stored in a computer read/write memory medium.The journey Sequence upon execution, execution the step of including above-mentioned each method embodiment;And foregoing storage medium includes:ROM, RAM, magnetic disc or Person's CD etc. is various can be with the medium of store program codes.
Finally it should be noted that:Various embodiments above is merely illustrative of the technical solution of the present invention, rather than its limitations;To the greatest extent The present invention is described in detail with reference to foregoing embodiments for pipe, it will be understood by those within the art that:Its according to The technical scheme described in foregoing embodiments can so be modified, either which part or all technical characteristic are entered Row equivalent substitution;And these modifications or replacement, the essence of appropriate technical solution is departed from various embodiments of the present invention technology The scope of scheme.

Claims (12)

  1. A kind of 1. memory storage method, it is characterised in that including:
    According to the keyword of each data to be stored and Hash bucket function, Hash bucket value corresponding to each data to be stored is obtained, Functional relation of the Hash bucket function between the keyword and the Hash bucket value;
    According to each Hash bucket value and hash function, it is determined that position of the Hash bucket in storage table corresponding to each Hash bucket value;
    It is described to deposit by the data storage to be stored in the Hash bucket according to position of the Hash bucket in storage table Storage table includes at least one Hash bucket and the data to be stored being stored in the Hash bucket.
  2. 2. according to the method for claim 1, it is characterised in that the Hash bucket also includes the key of the data to be stored Word and the mapping relations of the data to be stored.
  3. 3. according to the method for claim 2, it is characterised in that different data to be stored are linearly arranged in the Hash bucket Row.
  4. 4. according to the method for claim 2, it is characterised in that the number for the Hash bucket that the storage table includes is 2mIt is individual, institute It is the positive integer more than 0 to state m.
  5. 5. according to the method for claim 4, it is characterised in that the keyword and Hash of each data to be stored of the basis Bucket function, each Hash bucket value corresponding to data to be stored is obtained, is specifically included:
    According to formula h ash ' (Ki)=MD5 (Ki) & ((2128)<<(127-m)), obtain Hash corresponding to each data to be stored Bucket value hash ' (Ki);
    Wherein, the Ki is data i to be stored keyword, and the MD5 is one-way Hash algorithm, before the m is the MD5 M positions.
  6. 6. according to the method for claim 1, it is characterised in that the number symbol of the data to be stored stored in each Hash bucket Close multinomial distribution.
  7. 7. according to the method for claim 1, it is characterised in that methods described also includes:
    The data to be stored to be failed in each Hash bucket are obtained, and delete the data to be stored of the failure.
  8. 8. according to the method for claim 7, it is characterised in that described to obtain the number to be stored to be failed in each Hash bucket According to, and the data to be stored of the failure are deleted, specifically include:
    Whether the bar number for the data to be stored for judging to store in each Hash bucket is more than or equal to default number of branches;
    Preset if so, then judging whether the initial storage moment of each data to be stored in each first Hash bucket is more than or equal to Moment, the first Hash bucket are that the bar number of data to be stored in each Hash bucket is more than or equal to the Hash bucket of default number of branches;
    If the initial storage moment of data to be stored is more than or equal to predetermined time described in the first Hash bucket, from described The data to be stored are deleted in first Hash bucket.
  9. 9. according to the method for claim 7, it is characterised in that described to obtain the number to be stored to be failed in each Hash bucket According to, and the data to be stored of the failure are deleted, specifically include:
    Judge whether the capacity utilization of each Hash bucket is more than or equal to preset capacity utilization rate;
    If so, then according to the initial storage moment of each data to be stored in each second Hash bucket, from each second Hash bucket The data to be stored of middle delete target quantity, the destination number are to be used in the second Hash bucket beyond the preset capacity The number of data to be stored of rate, the second Hash bucket are that capacity utilization uses more than or equal to preset capacity in each Hash bucket The Hash bucket of rate.
  10. A kind of 10. memory lookup method, it is characterised in that including:
    According to the keyword of data to be checked and Hash bucket function, Hash bucket value corresponding to the data to be checked is obtained, it is described Functional relation of the Hash bucket function between the keyword and the Hash bucket value;
    According to the Hash bucket value and hash function, position of the Hash bucket in storage table corresponding to the Hash bucket value is determined, The storage table includes at least one Hash bucket and the data to be checked being stored in the Hash bucket;
    According to the position of the Hash bucket, the data to be checked are read from the Hash bucket.
  11. A kind of 11. memory storage device, it is characterised in that including:
    Acquisition module, for the keyword and Hash bucket function according to each data to be stored, obtain each data pair to be stored The Hash bucket value answered, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
    Determining module, for according to each Hash bucket value and hash function, it is determined that Hash bucket corresponding to each Hash bucket value is being deposited Store up the position in table;
    Memory module, for the position according to the Hash bucket in storage table, by the data storage to be stored in the Kazakhstan In uncommon bucket, the storage table includes at least one Hash bucket and the data to be stored being stored in the Hash bucket.
  12. A kind of 12. memory lookup device, it is characterised in that including:
    Acquisition module, for the keyword according to data to be checked and Hash bucket function, obtain corresponding to the data to be checked Hash bucket value, functional relation of the Hash bucket function between the keyword and the Hash bucket value;
    Determining module, for according to the Hash bucket value and hash function, determining that Hash bucket corresponding to the Hash bucket value is being deposited Store up the position in table;Wherein, the storage table includes at least one Hash bucket and the number to be checked being stored in the Hash bucket According to;
    Read module, for the position according to the Hash bucket, the data to be checked are read from the Hash bucket.
CN201710890458.2A 2017-09-27 2017-09-27 Memory storage method and device and memory query method and device Active CN107766258B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710890458.2A CN107766258B (en) 2017-09-27 2017-09-27 Memory storage method and device and memory query method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710890458.2A CN107766258B (en) 2017-09-27 2017-09-27 Memory storage method and device and memory query method and device

Publications (2)

Publication Number Publication Date
CN107766258A true CN107766258A (en) 2018-03-06
CN107766258B CN107766258B (en) 2021-11-16

Family

ID=61267601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710890458.2A Active CN107766258B (en) 2017-09-27 2017-09-27 Memory storage method and device and memory query method and device

Country Status (1)

Country Link
CN (1) CN107766258B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829344A (en) * 2018-05-24 2018-11-16 北京百度网讯科技有限公司 Date storage method, device and storage medium
CN113672619A (en) * 2021-08-17 2021-11-19 天津南大通用数据技术股份有限公司 Method for segmenting data more uniformly according to hash rule
CN114791978A (en) * 2022-04-19 2022-07-26 中国电信股份有限公司 News recommendation method, device, equipment and storage medium
WO2023051282A1 (en) * 2021-09-29 2023-04-06 华为技术有限公司 Embedded vector prefetching method, apparatus and system, and related device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052698A (en) * 1996-12-23 2000-04-18 Microsoft Corporation Reorganization of collisions in a hash bucket of a hash table to improve system performance
CN102232219A (en) * 2010-01-26 2011-11-02 华为技术有限公司 Method and device for storing and searching keyword
CN102609509A (en) * 2010-04-26 2012-07-25 华为技术有限公司 Method and device for processing hash data
CN103905503A (en) * 2012-12-27 2014-07-02 中国移动通信集团公司 Data storage method, data scheduling method, device and system
CN104077343A (en) * 2013-12-26 2014-10-01 国家计算机网络与信息安全管理中心 Method for deleting invalid elements of hash table
CN104639570A (en) * 2013-11-06 2015-05-20 南京中兴新软件有限责任公司 Resource object storage processing method and device
US9385957B1 (en) * 2012-11-30 2016-07-05 Netronome Systems, Inc. Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket
US9397946B1 (en) * 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
CN106326475A (en) * 2016-08-31 2017-01-11 中国科学院信息工程研究所 High-efficiency static hash table implement method and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052698A (en) * 1996-12-23 2000-04-18 Microsoft Corporation Reorganization of collisions in a hash bucket of a hash table to improve system performance
CN102232219A (en) * 2010-01-26 2011-11-02 华为技术有限公司 Method and device for storing and searching keyword
CN102609509A (en) * 2010-04-26 2012-07-25 华为技术有限公司 Method and device for processing hash data
US9385957B1 (en) * 2012-11-30 2016-07-05 Netronome Systems, Inc. Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket
CN103905503A (en) * 2012-12-27 2014-07-02 中国移动通信集团公司 Data storage method, data scheduling method, device and system
US9397946B1 (en) * 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
CN104639570A (en) * 2013-11-06 2015-05-20 南京中兴新软件有限责任公司 Resource object storage processing method and device
CN104077343A (en) * 2013-12-26 2014-10-01 国家计算机网络与信息安全管理中心 Method for deleting invalid elements of hash table
CN106326475A (en) * 2016-08-31 2017-01-11 中国科学院信息工程研究所 High-efficiency static hash table implement method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIANGLONG LIU 等: "Query-Adaptive Reciprocal Hash Tables for Nearest Neighbor Search", 《 IEEE TRANSACTIONS ON IMAGE PROCESSING 》 *
吴俊君: "移动机器人视觉同时定位与地图构建关键算法研究", 《中国博士学位论文全文数据库》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829344A (en) * 2018-05-24 2018-11-16 北京百度网讯科技有限公司 Date storage method, device and storage medium
US11307769B2 (en) 2018-05-24 2022-04-19 Beijing Baidu Netcom Science Technology Co., Ltd. Data storage method, apparatus and storage medium
CN113672619A (en) * 2021-08-17 2021-11-19 天津南大通用数据技术股份有限公司 Method for segmenting data more uniformly according to hash rule
CN113672619B (en) * 2021-08-17 2024-02-06 天津南大通用数据技术股份有限公司 Method for segmenting data according to hash rule to make data more uniform
WO2023051282A1 (en) * 2021-09-29 2023-04-06 华为技术有限公司 Embedded vector prefetching method, apparatus and system, and related device
CN114791978A (en) * 2022-04-19 2022-07-26 中国电信股份有限公司 News recommendation method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN107766258B (en) 2021-11-16

Similar Documents

Publication Publication Date Title
US9858303B2 (en) In-memory latch-free index structure
US11468027B2 (en) Method and apparatus for providing efficient indexing and computer program included in computer readable medium therefor
CN104866434B (en) Towards data-storage system and data storage, the call method applied more
JP6356675B2 (en) Aggregation / grouping operation: Hardware implementation of hash table method
CN103136243B (en) File system duplicate removal method based on cloud storage and device
CN103345472B (en) De-redundant file system based on limited binary tree Bloom filter and construction method thereof
CN107766258A (en) Memory storage method and apparatus, memory lookup method and apparatus
US8412881B2 (en) Modified B+ tree to store NAND memory indirection maps
CN110347852B (en) File system embedded with transverse expansion key value storage system and file management method
CN101566986A (en) Method and device for processing data in online business processing
US20100274795A1 (en) Method and system for implementing a composite database
US11526465B2 (en) Generating hash trees for database schemas
CN106843770A (en) A kind of distributed file system small file data storage, read method and device
CN103229164B (en) Data access method and device
CN110196847A (en) Data processing method and device, storage medium and electronic device
CN105653720B (en) Flexibly configurable hierarchical database storage optimization method
CN107153707A (en) A kind of Hash table construction method and system for nonvolatile memory
CN104750727A (en) Column type memory storage and query device and column type memory storage and query method
US20180060362A1 (en) Method and system for implementing distributed lobs
CN108875046A (en) A kind of storage system access method, device and electronic equipment
CN107729504A (en) A kind of method and system for handling large data objectses
CN103268292B (en) A kind of method and long-lived outer deposit system of high speed extending the non-volatile external memory life-span
CN109828975A (en) A kind of extensive quick account book access system based on block chain
CN103902693A (en) Method of read-optimized memory database T-tree index structure
WO2015129109A1 (en) Index management device

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
TA01 Transfer of patent application right

Effective date of registration: 20201224

Address after: 136a, 1st floor, D-1 building, Dongsheng Science Park, 66 xixiaokou Road, Haidian District, Beijing 100080 (Dongsheng area)

Applicant after: Enyike (Beijing) Data Technology Co.,Ltd.

Address before: Room 9014, 9 / F, building 3, yard 30, Shixing street, Shijingshan District, Beijing 100041

Applicant before: ADMASTER TECHNOLOGY (BEIJING) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant