CN113301175B - Service calling method, data storage method, device, equipment and storage medium - Google Patents
Service calling method, data storage method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN113301175B CN113301175B CN202010675446.XA CN202010675446A CN113301175B CN 113301175 B CN113301175 B CN 113301175B CN 202010675446 A CN202010675446 A CN 202010675446A CN 113301175 B CN113301175 B CN 113301175B
- Authority
- CN
- China
- Prior art keywords
- parameter
- service address
- service
- array
- contained
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/301—Name conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The embodiment of the invention provides a service calling method, a data storage method, a device, equipment and a storage medium, wherein the method comprises the following steps: acquiring a first service address list corresponding to a subscribed service; encoding at least one field included in a service address i to obtain an encoding result corresponding to the at least one field, wherein the service address i is any one of the first service address list, and the storage space occupied by the encoding result corresponding to the at least one field is smaller than the storage space occupied by the at least one field, so that the compression of the service address is realized, and the occupation of the storage space is reduced.
Description
Technical Field
The invention relates to the technical field of internet, in particular to a service calling method, a data storage method, a device, equipment and a storage medium.
Background
Microservice architecture is a very popular concept in the field of recent software applications. A microservice is an architectural style, and a software application may consist of one or more microservices (which may be referred to simply as services), each of which is focused on completing only one task, and thus, an application may be viewed as a collection of services. The respective services corresponding to one application may be deployed independently, and each service may be deployed on a plurality of servers.
As opposed to a "microservice" architecture, is a traditional monolithic architecture. In contrast, in the monolithic architecture, all services provided by an application are placed in one process, and the extension is realized by copying the whole application to a plurality of servers. In the micro-service architecture, a plurality of services provided by one application are placed in a plurality of separated processes, different services are distributed to different servers, and the expansion is realized by copying the services.
One application a may register a plurality of services provided by the application a in the name server, for example, information such as service names, service version numbers, and service addresses corresponding to the plurality of services may be registered in the name server. Another application B, which subscribes to some of the services, may obtain, by the name server, a list of service addresses corresponding to the subscribed service, and Call the subscribed service by means of Remote Procedure Call (RPC) based on the list of service addresses. The service address is usually represented by a Uniform Resource Locator (URL). In the name server, the service address is stored in the form of a character string.
When obtaining a service address list corresponding to a certain service subscribed by the application B, all service addresses included in the service address list need to be stored in the local memory. At present, after receiving the service address list, the application B directly stores all the service addresses included in the list in the memory in the form of a character string, which occupies too much storage space.
Disclosure of Invention
The embodiment of the invention provides a service calling method, a data storage method, a device, equipment and a storage medium, which can reduce the occupation of a service address on a storage space.
In a first aspect, an embodiment of the present invention provides a data storage method, where the method includes:
acquiring a first service address list corresponding to a subscribed service;
encoding at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, wherein a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, and the service address i is any one of the first service address list;
and storing the coded service address i.
In a second aspect, an embodiment of the present invention provides a data storage device, including:
the device comprises an acquisition module, a service module and a service module, wherein the acquisition module is used for acquiring a first service address list corresponding to a subscribed service;
the encoding module is configured to encode at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, where a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, and the service address i is any one of the first service address list;
and the storage module is used for storing the coded service address i.
In a third aspect, an embodiment of the present invention provides an electronic device, including: a memory, a processor, a communication interface; wherein the memory has stored thereon executable code which, when executed by the processor, causes the processor to implement at least the data storage method as described in the first aspect.
In a fourth aspect, an embodiment of the present invention provides a non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of an electronic device, causes the processor to implement at least the data storage method according to the first aspect.
In a fifth aspect, an embodiment of the present invention provides a service invoking method, which is applied to a micro-service architecture, where the micro-service architecture includes multiple services issued by multiple applications and a name server, where the multiple services are deployed in multiple separate processes, and a service address list corresponding to each of the multiple services is stored in the name server;
the service calling method comprises the following steps:
a first application acquires a service address list corresponding to a subscribed target service from the name server, wherein the target service is published by a second application, and the first application and the second application are contained in the plurality of applications;
the first application encodes each service address in the service address list to reduce the storage space occupied by the service address list;
the first application stores the encoded service addresses for remote invocation of the target service.
In the embodiment of the invention, after an application acquires a service address list corresponding to a service subscribed by the application, in order to store each service address contained in the service address list locally, at least one field contained in each service address is subjected to encoding processing, so that the encoding result of each field occupies less storage space compared with the field before encoding, thereby realizing the compression of the service address. The storage space occupied by the compressed service address is obviously reduced compared with the uncompressed service address.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
Fig. 1 is a schematic diagram of a micro service scenario according to an embodiment of the present invention;
FIG. 2 is a flowchart of a data storage method according to an embodiment of the present invention;
FIG. 3a is a flowchart of a method for encoding parameter names according to an embodiment of the present invention;
FIG. 3b is a schematic diagram illustrating a principle of encoding parameter names according to an embodiment of the present invention;
FIG. 4a is a flowchart of a method for encoding parameter values according to an embodiment of the present invention;
FIG. 4b is a schematic diagram illustrating a principle of encoding parameter values according to an embodiment of the present invention;
FIG. 5 is a flow chart of another data storage method according to an embodiment of the present invention;
fig. 6 is a flowchart of a service invocation method according to an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of a data storage device according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of an electronic device corresponding to the data storage device provided in the embodiment shown in fig. 7.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
In addition, the sequence of steps in each method embodiment described below is only an example and is not strictly limited.
Fig. 1 is a schematic diagram of a micro-service scenario provided by an embodiment of the present invention, and in fig. 1, it is assumed that an application 1 publishes a service a, a service B, and a service C, and an application 2 publishes a service a and a service C. In addition, for convenience of description, it is assumed that the application 1 is deployed in ten servers of the server 1 to the server 10, and the application 2 is deployed in ten servers of the server 11 to the server 20. The application 1 is deployed in ten servers from the server 1 to the server 10, and it can be considered that each service issued by the application 1 is deployed in the ten servers, and similarly, each service issued by the application 2 is also deployed in ten servers from the server 11 to the server 20 corresponding to the application 2.
In a microservice scenario, the individual services described above may also be referred to as microservices.
Based on the deployment result of the above-described services, the application 1 and the application 2 can register the respective published services with the name server.
Taking application 1 as an example, the registration process is that application 1 uploads the relevant information of each service issued by application 1 to the name server, and the relevant information includes a service name, a service version number, a service address, and other service metadata. The other service metadata may include, for example, configuration information such as communication modes supported by the service, timeout configuration, and the like.
The service address represents information of a server node where a certain service is deployed, and may include network link information and other metadata, which is generally represented by a URL. The network link information is, for example, an IP address and a port number of the server. The other metadata includes information such as a room location where the server is located.
To sum up, in brief, the final application 1 registers information, such as a service name, a service version number, and a service address, corresponding to each of the service a, the service B, and the service C, which is released by the final application, in the name server. Similarly, the application 2 will also register information such as the service name, the service version number, and the service address corresponding to the service a and the service C that are issued by the application into the name server.
Based on this, in the name server, a service address list corresponding to each service described above may be formed.
Specifically, since the service a is finally deployed in the twenty servers from the server 1 to the server 20, the service addresses included in the service address list corresponding to the service a are the service addresses corresponding to the twenty servers, which are represented as URLs 1 to 20 in fig. 1.
Since the service B is finally deployed in the ten servers from the server 1 to the server 10, the service addresses included in the service address list corresponding to the service B are the service addresses corresponding to the ten servers, and the ten service addresses are represented as URLs 21 to 30 in fig. 1.
Since the service C is finally deployed in twenty servers from the server 1 to the server 20 as in the service a, the service addresses included in the service address list corresponding to the service C are the service addresses corresponding to the twenty servers, and the twenty service addresses are represented as URLs 31 to 50 in fig. 1.
In addition, it is assumed that the application 3 subscribes to the above-described service a and service B. Then, when a specific trigger condition is met, the application 3 may obtain the service address list corresponding to the service a and the service address list corresponding to the service B from the name server, and further store the obtained service address lists in the local, generally in the memory, by using the data storage method provided by the embodiment of the present invention.
It should be noted that the application 3 performs the storage processing of the service address list for each service subscribed by the application in parallel through different processes, for example, the process 1 performs the storage processing on the service address list corresponding to the service a, and the process 2 performs the storage processing on the service address list corresponding to the service B.
In practical applications, optionally, the triggering condition may be: the application 3 is started. Specifically, when the application 3 is started, according to the number N of subscribed services, N is an integer greater than or equal to 1, the N processes are started to respectively request the name server for a list of service addresses corresponding to the subscribed N services. That is, a process is used to request a list of service addresses for a service.
Optionally, the trigger condition may be: applications that provide services go online or offline. Specifically, when an application providing a service goes online or offline, the name server updates a service address list corresponding to the service and notifies the updated service address list to the application subscribed to the service. Taking the above application 3 as an example, because it subscribes to the service a and the service B, when the application 1 or the application 2 providing the service a goes online or offline, the name server updates the service address list corresponding to the service a, and notifies the updated service address list to the application 3, so that the application 3 stores the received service address list of the service a.
The application scenarios to which the data storage method provided by the embodiment of the present invention can be applied are described above, and in the example of the application scenarios, the data storage method can be executed by the application 3.
Since the data storage method is mainly used for storing the service address of the service subscribed by the application, the following first introduces the composition and format of the service address.
As mentioned above, the service address is usually expressed in URL, and thus, the service address may be equivalent to URL herein. A standard URL is composed and formatted as:
[ protocol type ]:/[ network address of server ]: port number ]/[ file path of resource ] [ file name ]? [ query parameters ] # [ fragment ID ]
The protocol type is http.
The network address and port number of the server constitute the network link information of the server where the service is located. The network address is typically an IP address.
The file path of the resource represents the designated path of the network resource in the server. The file path and file name of the resource, combined, may represent the service name.
The query parameters, corresponding to content that may be queried from the server, generally reflect some of the metadata that the service corresponds to.
The fragment ID, which may be divided into different fragments in the web page, may be set in this section if the specified location is reached directly after the web page is accessed.
The following example is a URL for an http-based service:
http://10.10.10.11:10220/com.sample.DemoServiceapplication=demo&timeout=1000&machine-group=idc1
in the above example, the query parameter section includes three pairs of key-value pairs divided by the symbol "&", each pair of key-value pairs being composed of a parameter name and a parameter value, the left and right sides of the "&" number respectively representing the parameter name and the parameter value.
It will be appreciated that, in practice, some of the above-described fields contained in the URL may be omitted.
The following describes an implementation process of the data storage method provided herein, in conjunction with some embodiments below, where an implementation subject of the data storage method may be the application 3 illustrated in fig. 1.
Fig. 2 is a flowchart of a data storage method according to an embodiment of the present invention, and as shown in fig. 2, the data storage method may include the following steps:
201. a first service address list corresponding to a subscribed service is obtained.
202. Encoding at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, wherein a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, and the service address i is any one of the first service address list.
203. And storing the encoded service address i.
For convenience of description, the application 3 illustrated in fig. 1 is taken as an example, the subscribed services are the service a and the service B in the foregoing, and since the processing procedure of the service address list corresponding to the service a is the same as the processing procedure of the service address list corresponding to the service B, the following description will be given by taking the service a as an example.
Based on this, the first service address list obtained in step 201 is a service address list corresponding to the service a obtained by the application 3 from the name server, and in the foregoing example, the first service address list includes twenty service addresses, that is, service addresses corresponding to twenty servers from the server 1 to the server 20: URL1 through URL 20.
In practical applications, the application 3 obtains the first service address list from the name server when a set triggering condition is met, and the triggering condition may refer to the foregoing description.
After the first service address list is obtained, compression processing may be performed on each service address included in the first service address list, so as to reduce the occupation of the storage space by the service address. In particular, the purpose of compressing the service addresses may be achieved by encoding at least one field contained in each service address.
Wherein the at least one field may include at least one of the following fields introduced in the foregoing description: parameter name, parameter value, network address of the server. Wherein the parameter name and parameter value are a pair of key-value pairs contained in the query parameter portion.
In summary, the purpose of encoding a field is to: so that the encoded result of the field occupies less memory space than the field. In practical applications, a URL is composed of a string of characters, and a character needs to occupy a byte of storage space to store, for example, a parameter named application is composed of 11 characters, and will occupy 11 bytes to store the parameter name. By encoding the parameter name, 10 bytes will be saved, assuming that the encoded result only takes 1 byte to store, for example, the encoding may be to map the parameter name to a number (decimal number) which is represented by 8 bits (i.e., 1 byte).
In the embodiment of the present invention, any encoding manner that can reduce the storage space occupied by one field may be adopted, without limitation.
After a certain field is encoded, optionally, the field may be replaced with the encoding result, and then the replaced URL is stored.
An alternative encoding for the parameter name, the parameter value and the network address (IP address) of the server is described below.
Fig. 3a is a flowchart of a method for encoding a parameter name according to an embodiment of the present invention, and as shown in fig. 3a, the method may include the following steps:
301. all parameter names contained in the first service address list are determined.
302. And generating a parameter name mapping table corresponding to all the parameter names, wherein the parameter name mapping table records the mapping relation between all the parameter names and the numbers corresponding to all the parameter names.
303. And determining the numbers corresponding to the parameter names contained in the service address i according to the parameter name mapping table.
304. Generating a first array corresponding to the service address i, determining that the value of a target position in the first array is 1, and the values of other positions are 0, wherein the length of the first array is equal to the number of all parameter names, each position in the first array corresponds to the number corresponding to all parameter names one by one, and the target position corresponds to the number corresponding to each parameter name contained in the service address i.
In this embodiment, it is assumed that the first service address list includes twenty service addresses, i.e., the URLs 1 through 20, corresponding to the service a, as the query parameter part of each URL includes at least one pair of key-value pairs composed of parameter names and parameter values, all the parameter names included in the first service address list can be obtained by counting the parameter names included in the query parameter parts of the 20 URLs.
In fact, the number of all parameter names included in the service address list corresponding to one service is a known fixed value, and in this embodiment, it is assumed that all parameter names included in the service a are M parameter names, and M is greater than 1.
The M parameter names may then be numbered (i.e., a coding scheme), and each parameter name is assigned a number in sequence, e.g., starting with 0 and proceeding to M-1.
For example, referring to fig. 3b, in fig. 3b, it is assumed that the number assigned to the parameter name of application is 0, the number assigned to the parameter name of timeout is 1, and so on until the number assigned to the parameter name of foobar is M-1. Based on the distribution result of the numbers, a parameter name mapping table corresponding to all the M parameter names can be generated, and the parameter name mapping table comprises two columns: one column is the sequential arrangement result of the numbers, and the other column is the parameter name corresponding to each number, so that the mapping relation between all the M parameter names contained in the first service address list and the numbers corresponding to the M parameter names is recorded in the parameter name mapping table.
It can be understood that, after the parameter name mapping table is generated, the parameter name mapping table is locally stored, so that the parameter name included in each service address in the first service address list is encoded according to the parameter name mapping table. In addition, the parameter name mapping table is shared among all service addresses included in the first service address list, that is, globally shared, that is, the parameter name mapping table is used in the process of encoding the parameter name included in each service address in the first service address list.
Assume that any service address i in the first service address list is a URL as follows:
http://10.10.10.11:10220/com.sample.DemoServiceapplication=demo&foobar=true.
for ease of description, this URL will be referred to as URLi.
This URLi includes two parameter names: application and foobar, according to the parameter name mapping table illustrated in fig. 3b, the process of encoding the parameter names contained in the URLi can be implemented as follows:
first, the parameter name application and foobar included in the URLi are identified by the parameter name mapping table. Wherein, the number of the application in the parameter name mapping table is 0, and the number of the foobar in the parameter name mapping table is M-1.
Next, a first array corresponding to the URLi is generated. Specifically, as shown in fig. 3b, an array with a length of M, that is, an array (bit array) composed of M bits, is generated according to the number M of all parameter names included in the parameter name mapping table. Each position in this array corresponds one-to-one to the number corresponding to the M parameter names, as illustrated in fig. 3b, the first bit position corresponds to number 0, the second bit position corresponds to number 1, and so on. And then, according to the numbers corresponding to the parameter names contained in the URLi, determining bit positions corresponding to the numbers in the array, setting the values of the bit positions as 1, and setting the values of other bit positions as 0. And setting an array of bit position values, which is called a first array corresponding to the URLi. The first array serves as an encoding result corresponding to the parameter name contained in URLi.
The value of a bit position is set to 1, which is used to indicate whether the URLi contains a parameter name corresponding to the number corresponding to the bit position. In the schematic of fig. 3b, since the number corresponding to the parameter name application included in URLi is 0 and the number corresponding to foobar is M-1, the values of the bit positions corresponding to these two numbers are set to 1, and the values of the other positions are set to 0.
In summary, with the parameter name encoding method, for the first service address list including M parameter names, corresponding to any URL included therein, only M/8 bytes are needed to store all the parameter names included in the URL, and compared with a method of directly storing the parameter names in a character form and storing one character by using one byte, the storage space occupied by the method is greatly reduced.
Fig. 4a is a flowchart of a method for encoding a parameter value according to an embodiment of the present invention, and as shown in fig. 4a, the method may include the following steps:
401. all parameter names contained in the first service address list are determined.
402. And aiming at any parameter name j in all the parameter names, determining all parameter values corresponding to the parameter name j in a first service address list.
403. And generating a parameter value mapping table corresponding to the parameter name j, wherein the mapping relation between all parameter values corresponding to the parameter name j and numbers corresponding to all the parameter values is recorded in the parameter value mapping table.
404. Determining the number of the parameter values contained in the service address i corresponding to the parameter value mapping table corresponding to the corresponding parameter name, generating a second array corresponding to the service address i, and determining the value of each position in the second array according to the number of the parameter values contained in the service address i corresponding to the parameter value mapping table corresponding to the corresponding parameter name, wherein the length of the second array is equal to the number of the parameter names contained in the service address i, and each position in the second array corresponds to the parameter name contained in the service address i.
In this embodiment, it is assumed that the first service address list includes twenty service addresses, i.e., the URLs 1 through 20, corresponding to the service a, as the query parameter part of each URL includes at least one pair of key-value pairs composed of parameter names and parameter values, all the parameter names included in the first service address list can be obtained by counting the parameter names included in the query parameter parts of the 20 URLs, and it is assumed that the M parameter names are obtained altogether.
And then, for each parameter name, traversing each URL in the first service address list to determine a desirable parameter value corresponding to each parameter name. In practice, the number of parameter values corresponding to a parameter name is a known fixed value.
For example, referring to fig. 4b, in fig. 4b, assuming that for any parameter name application, 10 parameter values corresponding to the parameter name are determined in the first service address list, a parameter value mapping table corresponding to the parameter name application may be generated. The parameter value mapping table comprises two columns: one column is the offset or the number corresponding to the parameter value, and the other column is the parameter value, so the mapping relationship between all parameter values corresponding to the parameter name application and the numbers corresponding to all the parameter values is recorded in the parameter value mapping table. For the parameter name foobar, as shown in fig. 4b, it is assumed that the generated parameter value mapping table corresponding to the foobar includes two parameter values, namely fault and true.
For the M parameter names, in the above manner, M parameter value mapping tables can be generated in a one-to-one correspondence. It is understood that after the M parameter value mapping tables are generated, the M parameter value mapping tables are locally stored, so that the parameter values included in each service address in the first service address list are encoded according to the M parameter value mapping tables. In addition, the M parameter value mapping tables are shared among all the service addresses included in the first service address list, that is, globally shared, that is, a part of the M parameter value mapping tables is used in the process of encoding the parameter value included in each service address in the first service address list.
In this embodiment, a manner of generating a parameter value mapping table corresponding to each parameter name is described. However, in practice, only one parameter value mapping table may be generated for M parameter names, and in this case, all parameter values corresponding to the M parameter names may be included in the parameter value mapping table.
The way of independently generating a parameter value mapping table corresponding to each parameter name has the following advantages:
first, the number of parameter values corresponding to one parameter name is far less than the number of all parameter values corresponding to M parameter names, and therefore, the maximum value MAX1 of the number in the parameter value mapping table corresponding to one parameter name is far less than the maximum value MAX2 of the number in the parameter value mapping table corresponding to M parameter names. MAX1 and MAX2 are decimal numbers, and if MAX2 is too large, for example to the order of tens of thousands, the number of bytes required to store such a large number will become large, whereas MAX1 will be relatively much smaller, possibly requiring only one byte to store. Therefore, from the whole first service address list, the way of one parameter name corresponding to one parameter value mapping table is more preferable.
Secondly, in practical applications, a parameter value corresponding to one parameter name may have an update requirement, and when a parameter value is newly added, if a mode of generating a parameter value mapping table corresponding to M parameter names is adopted, the parameter value mapping table is greatly changed, that is, the numbers of the parameter values corresponding to other parameter names arranged behind the parameter name are changed, which introduces additional calculation amount.
After obtaining the parameter value mapping table corresponding to each parameter name, for URLi, the parameter values included in URLi may be encoded according to the obtained parameter value mapping table.
Specifically, first, according to each obtained parameter value mapping table, the number of the parameter value included in the URLi corresponding to the parameter value mapping table corresponding to the corresponding parameter name is determined. URLi contains parameter values corresponding to the parameter name of application: demo, and the number corresponding to demo in the parameter value mapping table corresponding to application is 10. URLi contains parameter values corresponding to the parameter name foobar: and true, in the parameter value mapping table corresponding to the foobar, the number corresponding to true is 1.
Thereafter, a second array corresponding to URLi is generated. Specifically, as shown in fig. 4b, an array with a length N is generated according to the number N of parameter names included in URLi. Since two parameter names are included in URLi, N is 2. Each position in the array corresponds to a parameter name contained in the URLi one by one, according to the sequence of the two parameter names contained in the URLi, the first position of the array corresponds to application, and the second position of the array corresponds to foobar. And then, determining values of a first position and a second position in the array based on the number determination result of the parameter values corresponding to the two parameter names respectively. In summary, the value of the kth position in the array is determined as the number of the kth parameter value contained in URLi corresponding to the parameter value mapping table corresponding to the kth parameter name. Based on this, as shown in fig. 4b, the first position in the array takes the value of number 10 corresponding to demo, and the second position takes the value of number 1 corresponding to ture. The above-mentioned array in which the values of the respective positions are set is referred to as a second array corresponding to URLi. The second array is the encoding result corresponding to the parameter value contained in the URLi.
In addition, as shown in fig. 4b, based on the first array generated in fig. 3b, actually, the length of the second array can be determined by the number of bit positions with a value of 1 in the first array, that is, the number of parameter names included in URLi, and the nth row in the first column of the second array corresponds to the nth bit position with a value of 1 in the first array.
In summary, by the above parameter value encoding manner, for a URL including N parameter values in the first service address list, only N bytes are needed to store all parameter values included in the URL, and compared with storing the parameter values in a character manner, the occupation of a storage space is greatly reduced.
In addition to the encoding process described above for the parameter names and parameter values in the URL, the encoding may be performed for the network address (IP address) of the server included in the URL to compress the occupation of the storage space by the network address. In general terms, the decimal digits contained in the network address may be converted to a binary number of a set length (e.g., one byte) to achieve the encoding of the network address.
The IP address is expressed in a dot decimal system, such as 255.255.255.255, and one IP address comprises four parts, each part represents a number in the range of 0-255 and can be converted by using an unsigned integer of one byte, so that the IP address can be completely stored by only 4 bytes.
For example, assume that the IP address contained in a URL is: 255.255.255.255. if the IP address is not encoded, the IP address will occupy 15 bytes of storage space, where each number occupies one byte of storage space (three numbers 255 will occupy 3 bytes of storage space), and the three points ". will again occupy 3 bytes of storage space. Convert 255 for each portion to a one-byte-long binary number: 11111111. the result of the translation for this IP address will be:
11111111 11111111 11111111 11111111
the four sets 11111111 can be stored using four bytes.
In order to more intuitively understand that the storage space occupied by the URL after the encoding process is significantly reduced, the storage result of the unencoded URL and the storage result of the encoded URL are described in comparison with each other by an example.
Assume that a URL is:
http://172.10.10.11:8080/ABCD.comapplication=demo&timeout=1000
without encoding, the result of storing the URL may be embodied as a first structure comprising key-value pairs as follows:
{Protocol=http;
IP=172.10.10.11;
Port=8080;
Path=ABCD.com;
Params=[application=demo;timeout=1000]}。
assuming that the IP address is encoded to 12345 through the encoding process described above, the encoding results for the parameter names application and timeout are: [1000001000], the encoding result for parameter value demo is 10, and the encoding result for parameter value 1000 is 2, and based on the above assumption, the storage result of the URL after the encoding process can be embodied as a second structure composed of the following key value pairs:
{Protocol=http;
IP=12345;
Port=8080;
Params=[1000001000],[10,2]}。
the comparison of the two structures shows that the encoded URL occupies less storage space.
As can be seen from the above example, storing the encoded URL specifically means storing the encoded URL in the form of the key value pair, where a key value pair refers to a meaning of a field in the URL and an encoding result of a value thereof.
In summary, based on the encoding process of one or more fields in the URL, the purpose of compressing the one or more fields can be achieved, so as to reduce the storage space occupation of the fields.
In addition, in practical applications, taking the application 3 as an example, the name server may send the list of the service addresses of the subscribed services to the application 3 multiple times, for example, the subscribed services are sent once when the application is online, and sent once when the application is offline, and further sent once each time the application 3 is started. And the list of service addresses sent by the name server to application 3 multiple times may be different. The different factors are various, for example, the application 3 subscribes to a new service, the deployment of a certain service subscribed before the application 3 changes (for example, a certain server deploying the service goes down, a server deploying the service is newly added), and the like.
Alternatively, the application 3 may perform the storage processing using the processing procedure described above for each service address list received from the name server. However, although the service address lists sent by the name server to the application 3 several times in sequence are different, a partial number of URLs may be the same in different service address lists. Therefore, in order to avoid repeated calculation and reduce the calculation amount, the application 3 may cache the encoding processing result of the service address list received before, and after receiving the service address list sent by the name server this time, perform the above-described storage processing only for the different URLs, and in the storage processing process, if the subscribed service does not change, the parameter name mapping table and the parameter value mapping table generated before may be reused.
The specific implementation process can be seen in the embodiment shown in fig. 5.
Fig. 5 is a flowchart of another data storage method according to an embodiment of the present invention, and as shown in fig. 5, the data storage method may include the following steps:
501. a first service address list corresponding to a subscribed service is obtained.
502. And coding at least one field included in the service address i to obtain a coding result corresponding to the at least one field, and storing the coded service address i, wherein the service address i is any one of the first service address list.
503. Caching the first service address list and each encoded service address in the first service address list.
504. And acquiring a second service address list corresponding to the service, and multiplexing the encoded service address i contained in the cache if the second service address list contains the service address i.
In this embodiment, it is assumed that the first service address list is a service address list acquired by the application 3 for a certain subscribed service (e.g., service a) for the first time, and each service address in the first service address list is encoded by the above-described encoding scheme to obtain each encoded service address and stored in the local memory.
In addition, the first service address list and each service address after encoding in the first service address list are cached. Taking the service address i in the first service address list as an example, the encoded service address i has an encoding result corresponding to each of the at least one field, such as an encoding result of the parameter name, i.e., a first array, an encoding result of the parameter value, i.e., a second array, and an encoding result of the IP address, i.e., a four-byte binary number. Specifically, when caching, the service address and the corresponding encoding result may be stored in the form of a Key Value pair, where the Key (Key) is the original service address received from the name server, and the Value (Value) is the encoded service address, as in the second structure exemplarily described above.
When the application 3 subsequently receives the second service address list corresponding to the service a again, the cached results are compared to determine which service addresses in the second service address list are the same as the service addresses in the first service address list.
Assuming that the service address i exists in the first service address list and the service address i also exists in the second service address list, the encoded service address i stored in the cache may be directly multiplexed.
And if the second service address list does not contain the service address i, deleting the service address i and the encoded service address i from the cache.
In addition, optionally, a buffering duration may be set, and when the buffering time of the encoded service address i reaches the duration, the service address i and the encoded service address i may also be deleted.
Fig. 6 is a flowchart of a service invocation method according to an embodiment of the present invention, as shown in fig. 6, the service invocation method includes the following steps:
601. the first application obtains a list of service addresses from the name server corresponding to subscribed target services, wherein the target services are published by the second application.
602. The first application encodes each service address in the service address list to reduce the storage space occupied by the service address list;
603. the first application stores the encoded service addresses for use in remotely invoking the target service.
The service calling method provided by the present embodiment can be applied to the micro service architecture described above.
Briefly, the micro-service architecture includes a plurality of services published by a plurality of applications and a name server.
Wherein the plurality of services are deployed in separate processes (e.g., a process is started in a plurality of servers for deploying a certain service).
The name server stores a service address list corresponding to each of a plurality of services. In particular, the process of forming the service address list in the name server may be implemented based on the service registration behavior of the application, specifically referring to the foregoing description.
In this embodiment, the first application and the second application are included in a plurality of applications in the micro service architecture, and a certain service published by the second application is assumed to be subscribed to by the first application, and the service is referred to as a target service.
In this embodiment, the process of encoding the obtained service address list by the first application may be implemented as follows: encoding at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, wherein a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, and the service address i is any one service address in a service address list obtained by a first application. The specific encoding process may be referred to in the related descriptions of the foregoing other embodiments, and is not described in detail.
The data storage device of one or more embodiments of the present invention will be described in detail below. Those skilled in the art will appreciate that these data storage devices may each be constructed using commercially available hardware components configured through the steps taught in this disclosure.
Fig. 7 is a schematic structural diagram of a data storage device according to an embodiment of the present invention, as shown in fig. 7, the data storage device includes: the device comprises an acquisition module 11, an encoding module 12 and a storage module 13.
The obtaining module 11 is configured to obtain a first service address list corresponding to the subscribed service.
The encoding module 12 is configured to encode at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, where a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, and the service address i is any one of the first service address list.
And the storage module 13 is used for storing the coded service address i.
Optionally, the at least one field includes at least one of:
parameter name, parameter value, network address of the server.
Optionally, the at least one field includes the parameter name, and at this time, the encoding module 12 may specifically be configured to: determining all parameter names contained in the first service address list; generating a parameter name mapping table corresponding to all the parameter names, wherein the parameter name mapping table records the mapping relation between all the parameter names and the numbers corresponding to all the parameter names; and coding the parameter name contained in the service address i according to the parameter name mapping table.
Optionally, in the process of encoding the parameter name included in the service address i according to the parameter name mapping table, the encoding module 12 may be specifically configured to: determining the numbers corresponding to the parameter names contained in the service address i according to the parameter name mapping table; generating a first array corresponding to the service address i, wherein the length of the first array is equal to the number of all the parameter names, and each position in the first array corresponds to the number corresponding to all the parameter names one by one; determining that the value of a target position in the first array is 1 and the values of other positions are 0, wherein the target position corresponds to the respective corresponding numbers of the parameter names contained in the service address i; and the first array is used as an encoding result corresponding to the parameter name contained in the service address i.
Optionally, the at least one field includes the parameter value, and at this time, the encoding module 12 may specifically be configured to: determining all parameter values corresponding to the parameter name j in the first service address list aiming at any parameter name j in all the parameter names; generating a parameter value mapping table corresponding to the parameter name j, wherein the parameter value mapping table records the mapping relation between all parameter values corresponding to the parameter name j and numbers corresponding to all the parameter values; and coding the parameter value contained in the service address i according to the parameter value mapping table.
Optionally, in the process of encoding the parameter value included in the service address i according to the parameter value mapping table, the encoding module 12 may be specifically configured to: determining the number of the parameter value contained in the service address i corresponding to the parameter value mapping table corresponding to the corresponding parameter name; generating a second array corresponding to the service address i, wherein the length of the second array is equal to the number of parameter names contained in the service address i, and each position in the second array corresponds to the parameter names contained in the service address i one to one; determining values of all positions in the second array according to the corresponding numbers of the parameter values contained in the service address i in the parameter value mapping table corresponding to the corresponding parameter names; wherein the second array is an encoding result corresponding to a parameter value contained in the service address i.
Optionally, in the process of determining the value of each position in the second array according to the number of the parameter value included in the service address i corresponding to the parameter value mapping table corresponding to the corresponding parameter name, the encoding module 12 may be specifically configured to: and determining the value of the kth position in the second array as the number of the kth parameter value contained in the service address i corresponding to the parameter value mapping table corresponding to the kth parameter name.
Optionally, the at least one field includes a network address of the server, and at this time, the encoding module 12 may specifically be configured to: and converting the decimal digits contained in the network address into binary numbers with set length.
Optionally, the storage module 13 may further be configured to: caching the first service address list and each encoded service address in the first service address list.
Optionally, the obtaining module 11 may be further configured to: acquiring a second service address list corresponding to the service; if the second service address list comprises the service address i, multiplexing the encoded service address i contained in the cache; and if the second service address list does not contain the service address i or the coded service address i reaches the set cache duration, deleting the service address i and the coded service address i from the cache.
The apparatus shown in fig. 7 may perform the data storage method provided in the foregoing embodiments shown in fig. 1 to fig. 5, and the detailed implementation process and technical effect refer to the description in the foregoing embodiments, which are not described herein again.
In one possible design, the structure of the data storage apparatus shown in fig. 7 may be implemented as an electronic device, such as a server with some application deployed therein. As shown in fig. 8, the electronic device may include: a processor 21, a memory 22, and a communication interface 23. Wherein the memory 22 has stored thereon executable code, which when executed by the processor 21, makes the processor 21 at least implement the data storage method as provided in the aforementioned embodiments shown in fig. 1 to 5.
In addition, an embodiment of the present invention provides a non-transitory machine-readable storage medium, on which executable code is stored, and when the executable code is executed by a processor of an electronic device, the processor is enabled to implement at least the data storage method provided in the foregoing embodiments shown in fig. 1 to 5.
The above-described apparatus embodiments are merely illustrative, wherein the units described as separate components may or may not be physically separate. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course, can also be implemented by a combination of hardware and software. With this understanding in mind, the above-described aspects and portions of the present technology which contribute substantially or in part to the prior art may be embodied in the form of a computer program product, which may be embodied on one or more computer-usable storage media having computer-usable program code embodied therein, including without limitation disk storage, CD-ROM, optical storage, and the like.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (13)
1. A method of storing data, comprising:
acquiring a first service address list corresponding to a subscribed service;
encoding at least one field included in a service address i to obtain an encoding result corresponding to each of the at least one field, wherein a storage space occupied by the encoding result corresponding to each of the at least one field is smaller than a storage space occupied by each of the at least one field, the service address i is any one of the first service address list, and the at least one field includes a parameter name;
storing the coded service address i;
wherein, the encoding at least one field included in the service address i to obtain an encoding result corresponding to each of the at least one field includes:
determining all parameter names contained in the first service address list;
generating a parameter name mapping table corresponding to all the parameter names, wherein the parameter name mapping table records the mapping relation between all the parameter names and the numbers corresponding to all the parameter names;
determining the numbers corresponding to the parameter names contained in the service address i according to the parameter name mapping table;
generating a first array corresponding to the service address i, wherein the length of the first array is equal to the number of all the parameter names, and each position in the first array corresponds to the number corresponding to all the parameter names one by one;
determining that the value of a target position in the first array is 1 and the values of other positions are 0, wherein the target position corresponds to the respective corresponding numbers of the parameter names contained in the service address i;
and the first array is used as an encoding result corresponding to the parameter name contained in the service address i.
2. The method of claim 1, wherein the at least one field further comprises at least one of:
parameter values, network address of the server.
3. The method of claim 2, wherein the at least one field comprises the parameter value;
the encoding at least one field included in the service address i to obtain an encoding result corresponding to each of the at least one field includes:
determining all parameter values corresponding to the parameter name j in the first service address list aiming at any parameter name j in all the parameter names;
generating a parameter value mapping table corresponding to the parameter name j, wherein the parameter value mapping table records the mapping relation between all parameter values corresponding to the parameter name j and numbers corresponding to all the parameter values;
and coding the parameter value contained in the service address i according to the parameter value mapping table.
4. The method according to claim 3, wherein said encoding the parameter values included in the service address i according to the parameter value mapping table comprises:
determining the number of the parameter value contained in the service address i corresponding to the parameter value mapping table corresponding to the corresponding parameter name;
generating a second array corresponding to the service address i, wherein the length of the second array is equal to the number of parameter names contained in the service address i, and each position in the second array corresponds to the parameter names contained in the service address i one to one;
determining values of all positions in the second array according to the corresponding numbers of the parameter values contained in the service address i in the parameter value mapping table corresponding to the corresponding parameter names;
wherein the second array is an encoding result corresponding to a parameter value contained in the service address i.
5. The method according to claim 4, wherein the determining values of the positions in the second array according to the numbers of the parameter values included in the service address i corresponding to the parameter value mapping tables corresponding to the corresponding parameter names includes:
and determining the value of the kth position in the second array as the number of the kth parameter value contained in the service address i corresponding to the parameter value mapping table corresponding to the kth parameter name.
6. The method of claim 2, wherein the at least one field comprises a network address of the server;
the encoding at least one field included in the service address i to obtain an encoding result corresponding to each of the at least one field includes:
and converting the decimal digits contained in the network address into binary numbers with set length.
7. The method of claim 1, further comprising:
caching the first service address list and each encoded service address in the first service address list.
8. The method of claim 7, further comprising:
acquiring a second service address list corresponding to the service;
and if the second service address list comprises the service address i, multiplexing the encoded service address i contained in the cache.
9. The method of claim 8, further comprising:
and if the second service address list does not contain the service address i or the coded service address i reaches the set cache duration, deleting the service address i and the coded service address i from the cache.
10. A data storage device, comprising:
the device comprises an acquisition module, a service module and a service module, wherein the acquisition module is used for acquiring a first service address list corresponding to a subscribed service;
the encoding module is used for encoding at least one field included in a service address i to obtain an encoding result corresponding to the at least one field, wherein the storage space occupied by the encoding result corresponding to the at least one field is smaller than the storage space occupied by the at least one field, the service address i is any one of the first service address list, and the at least one field includes a parameter name;
the storage module is used for storing the coded service address i;
wherein, in the process of encoding at least one field included in the service address i to obtain an encoding result corresponding to each of the at least one field, the encoding module is configured to:
determining all parameter names contained in the first service address list;
generating a parameter name mapping table corresponding to all the parameter names, wherein the parameter name mapping table records the mapping relation between all the parameter names and the numbers corresponding to all the parameter names;
determining the numbers corresponding to the parameter names contained in the service address i according to the parameter name mapping table;
generating a first array corresponding to the service address i, wherein the length of the first array is equal to the number of all the parameter names, and each position in the first array corresponds to the number corresponding to all the parameter names one by one;
determining that the value of a target position in the first array is 1 and the values of other positions are 0, wherein the target position corresponds to the respective corresponding numbers of the parameter names contained in the service address i;
and the first array is used as an encoding result corresponding to the parameter name contained in the service address i.
11. An electronic device, comprising: a memory, a processor, a communication interface; wherein the memory has stored thereon executable code which, when executed by the processor, causes the processor to perform a data storage method as claimed in any one of claims 1 to 9.
12. A non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of an electronic device, causes the processor to perform the data storage method of any one of claims 1 to 9.
13. A service calling method is applied to a micro-service architecture, wherein the micro-service architecture comprises a plurality of services issued by a plurality of applications and a name server, wherein the plurality of services are deployed in a plurality of separated processes, and a service address list corresponding to each of the plurality of services is stored in the name server;
the service calling method comprises the following steps:
a first application acquires a service address list corresponding to a subscribed target service from the name server, wherein the target service is published by a second application, and the first application and the second application are contained in the plurality of applications;
the first application encodes at least one field included in a service address i in the service address list to reduce a storage space occupied by the service address list, wherein the service address i is any one of the first service address list, and the at least one field includes a parameter name;
the first application stores each service address after the coding so as to be used for remotely calling the target service;
wherein the first application encodes at least one field included in a service address i in the service address list, including:
determining all parameter names contained in the first service address list;
generating a parameter name mapping table corresponding to all the parameter names, wherein the parameter name mapping table records the mapping relation between all the parameter names and the numbers corresponding to all the parameter names;
determining the numbers corresponding to the parameter names contained in the service address i according to the parameter name mapping table;
generating a first array corresponding to the service address i, wherein the length of the first array is equal to the number of all the parameter names, and each position in the first array corresponds to the number corresponding to all the parameter names one by one;
determining that the value of a target position in the first array is 1 and the values of other positions are 0, wherein the target position corresponds to the respective corresponding numbers of the parameter names contained in the service address i;
and the first array is used as an encoding result corresponding to the parameter name contained in the service address i.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010675446.XA CN113301175B (en) | 2020-07-14 | 2020-07-14 | Service calling method, data storage method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010675446.XA CN113301175B (en) | 2020-07-14 | 2020-07-14 | Service calling method, data storage method, device, equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113301175A CN113301175A (en) | 2021-08-24 |
CN113301175B true CN113301175B (en) | 2022-04-12 |
Family
ID=77318128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010675446.XA Active CN113301175B (en) | 2020-07-14 | 2020-07-14 | Service calling method, data storage method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113301175B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288288A (en) * | 2002-03-27 | 2003-10-10 | Hitachi Software Eng Co Ltd | Link destination compression system |
CN102306184A (en) * | 2011-08-30 | 2012-01-04 | 百度在线网络技术(北京)有限公司 | Method, device and apparatus for obtaining compressed link address information and compressed webpage |
CN106407201A (en) * | 2015-07-29 | 2017-02-15 | 腾讯科技(深圳)有限公司 | Data processing method and apparatus |
CN108234666A (en) * | 2018-01-16 | 2018-06-29 | 云宏信息科技股份有限公司 | A kind of micro services calling system, method and computer storage media |
CN109831544A (en) * | 2019-01-30 | 2019-05-31 | 重庆农村商业银行股份有限公司 | A kind of coding and storing method and system applied to E-mail address |
CN110690943A (en) * | 2019-09-26 | 2020-01-14 | 中兴通讯股份有限公司 | Data encoding method, decoding method, encoding and decoding method, device and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198333B (en) * | 2018-04-18 | 2022-05-20 | 腾讯科技(深圳)有限公司 | Data acquisition method and device, storage medium and electronic device |
-
2020
- 2020-07-14 CN CN202010675446.XA patent/CN113301175B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288288A (en) * | 2002-03-27 | 2003-10-10 | Hitachi Software Eng Co Ltd | Link destination compression system |
CN102306184A (en) * | 2011-08-30 | 2012-01-04 | 百度在线网络技术(北京)有限公司 | Method, device and apparatus for obtaining compressed link address information and compressed webpage |
CN106407201A (en) * | 2015-07-29 | 2017-02-15 | 腾讯科技(深圳)有限公司 | Data processing method and apparatus |
CN108234666A (en) * | 2018-01-16 | 2018-06-29 | 云宏信息科技股份有限公司 | A kind of micro services calling system, method and computer storage media |
CN109831544A (en) * | 2019-01-30 | 2019-05-31 | 重庆农村商业银行股份有限公司 | A kind of coding and storing method and system applied to E-mail address |
CN110690943A (en) * | 2019-09-26 | 2020-01-14 | 中兴通讯股份有限公司 | Data encoding method, decoding method, encoding and decoding method, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113301175A (en) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE48725E1 (en) | Methods for accessing data in a compressed file system and devices thereof | |
US8929402B1 (en) | Systems and methods for compressing packet data by predicting subsequent data | |
US7333801B2 (en) | Method and apparatus for translating resource names in a wireless environment | |
CN105701178B (en) | Distributed picture storage system | |
JP4796315B2 (en) | Efficient algorithms and protocols for remote differential compression | |
EP1721438B1 (en) | Server, method and system for caching data streams | |
US7113643B2 (en) | Method and device for forming a derived digital signal from a compressed digital signal | |
CN109726202B (en) | Block chain data storage method and computer storage medium | |
US20160006645A1 (en) | Increased data transfer rate method and system for regular internet user | |
JP2013512514A (en) | System and method for efficient media distribution using cache | |
JP5753946B2 (en) | Method and system for downloading font files | |
US10885036B2 (en) | Obtaining incremental updates from a database using a partial query | |
CN111629081A (en) | Internet protocol IP address data processing method and device and electronic equipment | |
CN113273163A (en) | File uploading method, file downloading method and file management device | |
JP2014515228A (en) | Method for encoding a data identifier | |
WO2019045799A1 (en) | Distributed data storage systems | |
JP2017538982A (en) | Method and apparatus for data backup in a storage system | |
CN112307058A (en) | Short link processing method and device, storage medium and computer equipment | |
CN113728601A (en) | Optimizing storage and retrieval of compressed data | |
US20220394108A1 (en) | Systems and methods for packet-based file compression and storage | |
CN112583952A (en) | Redirection scheduling processing method, device and system, related equipment and storage medium | |
CN112839113B (en) | Domain name storage and resolution method and device, electronic equipment and storage medium | |
CN113301175B (en) | Service calling method, data storage method, device, equipment and storage medium | |
JP3848209B2 (en) | Data transfer device, data transfer method and program | |
CN112565337A (en) | Request transmission method, server, client, system and electronic equipment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |