Data storage system, data subscription method and device, and electronic device
By deploying storage nodes locally on the service server to receive updated control data in the cluster and write them to shared memory, the problems of large resource occupancy and low utilization in the prior art are solved, and more efficient resource utilization and real-time data processing are achieved.
Patent Information
- Application Number
- CN202011126447.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-20
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2040-10-20
AI Technical Summary
Existing data subscription methods are problematic of large resource occupancy and low resource utilization.
By deploying storage nodes locally on the target service server, receiving target control data updates about target services in the cluster, and writing the updated data to shared memory, multiple processes can realize subscription based on data in shared memory.
It effectively reduces data redundancy on the business server side, saves local memory space, improves resource utilization, and improves real-time data processing and consistency between processes.
Smart Images

Figure CN114385575B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of data storage, and in particular, to a distributed data storage system, a data subscription method and device based on the distributed data storage system, and an electronic device for implementing the data subscription method. Background Art
[0002] As business data is being developed, the amount of business data is also increasing. Therefore, it is not appropriate to store business data directly in related servers. At present, business data is generally stored in clusters. The servers that process business can obtain relevant business data in the cluster by subscription.
[0003] In related data subscription technologies, since the data in the cluster may be updated at any time, in order to obtain the updated data in a timely manner, the business server generally monitors whether there is any data update in the cluster in each subscription process.
[0004] However, the data subscription method provided by the related art has the problems of large resource occupation and low resource utilization.
[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0006] The purpose of the present disclosure is to provide a distributed data storage system, a data subscription method and device based on the distributed data storage system, and an electronic device and a computer-readable storage medium for implementing the above data subscription method, thereby improving resource utilization to a certain extent.
[0007] According to a first aspect of the present disclosure, a data subscription method based on a distributed data storage system is provided, the method comprising:
[0008] The target business server subscribes to the target business data of the target business stored in the cluster; in response to the update of the target control data about the above-mentioned target business in the above-mentioned cluster, the updated target control data is received through the storage node deployed locally in the above-mentioned target business server in the above-mentioned cluster; the above-mentioned target business server implements the subscription to the above-mentioned target business data based on the target control data in the local storage node.
[0009] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the target service server subscribes to the target service data of the target service stored in the cluster, including:
[0010] The business server subscribes to the target business data through multiple processes;
[0011] After receiving the updated target control data through the storage node deployed locally on the target service server in the cluster, the method further includes:
[0012] The local storage node writes the target control data into the shared memory, so that the multiple processes of the target server can subscribe to the target business data based on the target control data in the shared memory.
[0013] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the target service server implements subscription to the target service data based on the target control data in the local storage node, including:
[0014] For any target process among the above-mentioned multiple processes, the target control data in the above-mentioned shared memory is mapped to the memory of the above-mentioned target process; and the subscription of the above-mentioned target process to the above-mentioned target business data is realized by accessing the memory of the above-mentioned target process.
[0015] In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, in response to the target control data about the target service in the cluster being updated, receiving the updated target control data through a storage node deployed locally on the target service server in the cluster includes:
[0016] The above-mentioned cluster monitors the update of the first control data about the first business, and monitors the update of the second control data about the second business, and sends the updated first control data to the local storage node of the server processing the above-mentioned first business, and sends the updated second control data to the local storage node of the server processing the above-mentioned second business.
[0017] In an exemplary embodiment of the present disclosure, based on the aforementioned embodiment, the target control data is used for real-time calculation of the target business data, and / or the target control data is used for configuring the target business data.
[0018] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the target business is an advertising business, and the target business data includes one or more of the following information: exposure, click volume, exposure rate, click rate and conversion rate; or,
[0019] The above target business is a crowd profiling business, and the above target business data includes one or more of the following information: age, gender, occupation, education and interest data.
[0020] According to a second aspect of the present disclosure, a distributed data storage system is provided, the system comprising:
[0021] A cluster is used to: store business data and control data related to the business, and receive a subscription request from a target business server for target business data related to a target business, so as to send the target business data to the target business server; and a storage node deployed locally on the target business server is used to: respond to an update of target control data related to the target business in the cluster, receive the updated target control data, so that the target business server can subscribe to the target business data based on the target control data in the local storage node.
[0022] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the storage node deployed locally on the target business server is further used to:
[0023] The target control data is written into the shared memory, so that the multiple processes of the target server can subscribe to the target business data based on the target control data in the shared memory.
[0024] According to a third aspect of the present disclosure, a data subscription device based on a distributed data storage system is provided, the device comprising:
[0025] The first subscription module is configured as follows: the target business server subscribes to the target business data of the target business stored in the cluster; the receiving module is configured as follows: in response to the update of the target control data about the above-mentioned target business in the above-mentioned cluster, the updated target control data is received through the storage node deployed locally in the above-mentioned target business server in the above-mentioned cluster; and the second subscription module is configured as follows: the above-mentioned target business server implements subscription to the above-mentioned target business data based on the target control data in the local storage node.
[0026] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the above-mentioned first subscription module is specifically configured as follows: the above-mentioned business server subscribes to the above-mentioned target business data through multiple processes.
[0027] The data subscription device further includes a writing module, wherein the writing module is used to: after receiving the updated target control data through the storage node deployed locally on the target business server in the cluster, the local storage node writes the target control data into a shared memory, so that multiple processes of the target server can subscribe to the target business data based on the target control data in the shared memory.
[0028] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the second subscription module is specifically configured as follows:
[0029] For any target process among the above-mentioned multiple processes, the target control data in the above-mentioned shared memory is mapped to the memory of the above-mentioned target process; and the subscription of the above-mentioned target process to the above-mentioned target business data is realized by accessing the memory of the above-mentioned target process.
[0030] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the above-mentioned receiving module is specifically configured as follows:
[0031] The above-mentioned cluster monitors the update of the first control data about the first business, and monitors the update of the second control data about the second business, and sends the updated first control data to the local storage node of the server processing the above-mentioned first business, and sends the updated second control data to the local storage node of the server processing the above-mentioned second business.
[0032] In an exemplary embodiment of the present disclosure, based on the aforementioned embodiment, the target control data is used for real-time calculation of the target business data, and / or the target control data is used for configuring the target business data.
[0033] In an exemplary embodiment of the present disclosure, based on the aforementioned embodiment, the target business is an advertising business, and the target business data includes one or more of the following information: exposure, clicks, exposure rate, click-through rate and conversion rate; or, the target business is a population portrait business, and the target business data includes one or more of the following information: age, gender, occupation, education level and interest data.
[0034] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the data subscription method based on a distributed data storage system described in any embodiment of the first aspect above is implemented.
[0035] According to a fifth aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the data subscription method based on a distributed data storage system described in any embodiment of the first aspect above by executing the executable instructions.
[0036] The exemplary embodiments of the present disclosure may have some or all of the following beneficial effects:
[0037] In a data subscription scheme based on a distributed data storage system provided in an example embodiment of the present disclosure, a target business server subscribes to target business data of a target business stored in a cluster, and in response to an update of target control data about the target business in the cluster, receives the updated target control data through a storage node deployed locally on the target business server in the cluster. Furthermore, the target business server implements subscription to the target business data based on the target control data in the local storage node. It can be seen that, on the one hand, the technical scheme does not require each process of the business server to monitor whether the data in the cluster is updated, thereby effectively reducing data redundancy on the business server side, saving local memory space, and thus improving resource utilization. At the same time, it is also beneficial to the data consistency between multiple processes of the business server for data subscription. On the other hand, compared with the related art in which the business server needs to obtain updated control data from the cluster, the business server can directly access the local to obtain updated data, thus avoiding the time consumption caused by the need for each process to obtain data remotely, which is beneficial to improving the real-time performance of data processing.
[0038] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0040] Figure 1 A schematic diagram showing a distributed data storage system to which the embodiments of the present disclosure can be applied;
[0041] Figure 2 A flowchart of a data subscription method based on a distributed data storage system according to an embodiment of the present disclosure is schematically shown;
[0042] Figure 3 An interactive diagram showing a data subscription method based on a distributed data storage system according to another embodiment of the present disclosure is shown;
[0043] Figure 4 A structural diagram of a data subscription device based on a distributed data storage system according to an embodiment of the present disclosure is schematically shown;
[0044] Figure 5 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0045] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0046] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0047] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.
[0048] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The backend services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, which needs to be transmitted to the backend system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.
[0049] Cloud storage is a new concept that extends and develops from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as storage system) refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to bring together a large number of different types of storage devices (storage devices are also called storage nodes) in the network through application software or application interfaces to work together and provide external data storage and business access functions.
[0050] At present, the storage method of the storage system is: create a logical volume, and when creating a logical volume, allocate physical storage space for each logical volume. The physical storage space may be composed of disks of a storage device or several storage devices. The client stores data on a logical volume, that is, stores the data on the file system. The file system divides the data into many parts, each of which is an object. The object contains not only data but also additional information such as data identification (ID, ID entity). The file system writes each object into the physical storage space of the logical volume, and the file system records the storage location information of each object, so that when the client requests to access the data, the file system can allow the client to access the data according to the storage location information of each object.
[0051] The process of the storage system allocating physical storage space to a logical volume is as follows: based on the estimated capacity of the objects stored in the logical volume (this estimate often has a large margin relative to the actual capacity of the objects to be stored) and the grouping of independent redundant disk arrays (RAID, Redundant Array of Independent Disks), the physical storage space is pre-divided into stripes. A logical volume can be understood as a stripe, thereby allocating physical storage space to the logical volume.
[0052] In this technical solution, the server in the cluster can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The business server terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, and this application does not limit this.
[0053] Figure 1 A schematic diagram of a distributed data storage system to which the embodiments of the present disclosure can be applied is shown.
[0054] like Figure 1 As shown, the distributed data storage system is composed of a cluster 100 including a plurality of storage nodes (Node) 101 , and a storage node 102 local to the business server 200 and a storage node 103 local to the business server 300 .
[0055] Each storage node 101 in the cluster 100 stores service data and control data related to each service.
[0056] Among them, business data varies according to different businesses. For example, for advertising business, business data may include one or more of the following information: exposure, clicks, exposure rate, click-through rate and conversion rate. Another example: for crowd portrait business, business data may include one or more of the following information: age, gender, occupation, education and interest data, etc. Since business data is generally huge in quantity, it cannot be directly stored in the memory of each business server, but is stored in the cluster. Unlike the above business data, control data generally has a smaller data volume. Control data is used for real-time calculation of business data, and / or for configuring related business data. In order to achieve accurate and effective data processing, it has extremely high requirements for data consistency and real-time operation. For example: timeout limit for business data transmission, QPS (Queries-per-second) control, real-time algorithm control, etc.
[0057] refer to Figure 1 The distributed data storage system includes: each node 101 in the cluster 100. Each storage node 101 sends the relevant target business data to the business server 200 / business server 300 according to the subscription request received from the business server 200 / business server 300 for the target business data (the business data corresponding to the "target business" is recorded as "target business data") about the target business (any business is marked with "target business").
[0058] refer to Figure 1, the business server 200 for business A subscribes to the business data for business A. In the data subscription method provided by the relevant technology, each process in the business server 200 that participates in subscribing to the above business data requires a separate thread to monitor whether the control data for business A in the cluster has changed, and the acquired change data needs to be maintained in the memory of the current process. However, for the business layer, the data maintenance cost is too high. And for multi-process services, each process maintains the same data, which is redundant and will waste local memory, and may also lead to inconsistent data between processes. At the same time, for the cluster side, the number of data consumers of the changed data is the same as the number of service processes, so the amount of data that needs to be synchronized is large, which causes great service pressure on the cluster and a large amount of waste of network traffic.
[0059] In response to the above-mentioned problems existing in the data subscription process in the related technologies, the distributed data storage system provided by the present technical solution also includes: a storage node deployed locally on the business server. For example, a storage node 102 deployed locally on the business server 200 and a storage node 103 deployed locally on the business server 300. Among them, the storage node deployed locally on the business server is used to: respond to the update of the target control data (the control data corresponding to the "target business" is recorded as "target control data") about the target business in the cluster 100, receive the updated target control data, so that the business server 200 / business server 300 can subscribe to the target business data based on the target control data in the local storage node. In the above-mentioned distributed data storage system provided by the present technical solution, the data maintenance logic is transparent to the business server, that is, the data maintenance logic is shielded from the business processing layer.
[0060] In addition, compared with the related technology of remotely obtaining relevant data from the cluster, this technical solution obtains the updated control data based on the local storage node, which is conducive to the real-time data acquisition and the consistency of data between processes. At the same time, this technical solution does not require each process to monitor whether there is data update in the cluster in real time, thereby saving resource usage and improving resource utilization.
[0061] In an exemplary embodiment, the storage node deployed locally on the service server manages the updated control data by means of inter-process shared memory. That is, the updated control data is written to the shared memory, so that multiple processes of the server can subscribe to the service data based on the control data in the shared memory. This is conducive to further improving the real-time performance of data acquisition and the consistency of data between processes.
[0062] In an exemplary embodiment, for a multi-core business server, the number of processes is often equal to the number of server cores. Assuming that N (a positive integer) business servers each have 100 cores, when the control data about business A changes, the cluster needs to change the content. In the related art, it is necessary to synchronize to the number of servers N*100 consumers. At the same time, the same data is maintained between the 100 processes on each business server, and there is a large amount of data redundancy. However, for this technical solution: only the changed data needs to be synchronized to N (the number of servers) consumers. It can be seen that the number of consumers is greatly reduced. At the same time, each business server only maintains one copy of the changed data, which effectively reduces the amount of memory space occupied. For example, most of the current servers are multi-core (the number of cores even reaches three digits). The distributed data storage system provided by this technical solution can reduce the pressure on the cluster and the pressure on the intranet bandwidth exponentially.
[0063] It can be seen that based on the distributed data storage system provided by this technical solution, the number of data consumers of changed data that need to be synchronized on the cluster side is the same as the number of servers. Compared with the related technology in which the number of data consumers is the same as the number of service processes, this technical solution effectively reduces the amount of data that needs to be synchronized, reduces the service pressure of the cluster, and reduces the waste of network traffic.
[0064] In an exemplary embodiment, the network is used to provide a medium for a communication link between a service server and a node in a cluster, and may include various connection types, such as wired or wireless communication links or optical fiber cables, etc. It should be understood that Figure 1 The number of networks and servers in the embodiment is only for illustration. Any number of networks and servers may be provided as required.
[0065] Based on the above-mentioned distributed data storage system, the present technical solution also provides a data subscription method. Figure 2 The flowchart of the data subscription method according to an embodiment of the present disclosure is schematically shown. Figure 2 , the embodiment shown in the figure includes:
[0066] Step S210, the target service server subscribes to the target service data of the target service stored in the cluster;
[0067] Step S220, in response to the target control data about the target service in the cluster being updated, receiving the updated target control data through a storage node in the cluster deployed locally at the target service server; and
[0068] Step S230: The target service server subscribes to the target service data based on the target control data in the local storage node.
[0069] exist Figure 2In the technical solution provided by the illustrated embodiment, on the one hand, this technical solution does not require each process of the business server to monitor whether the data in the cluster is updated, thereby effectively reducing data redundancy on the business server side, saving local memory space, and thus improving resource utilization. At the same time, it is also beneficial to the data consistency between multiple processes that the business server subscribes to data. On the other hand, compared with the related art in which the business server needs to obtain updated control data from the cluster, the business server can directly access the local to obtain the updated data, thus avoiding the time consumption caused by each process needing to obtain data remotely, which is beneficial to improving the real-time performance of data processing.
[0070] In an exemplary embodiment, Figure 3 The following schematically shows an interaction diagram of a data subscription method according to an embodiment of the present disclosure. Figure 3 right Figure 2 The specific implementation methods of each step in the embodiment shown are described in detail:
[0071] refer to Figure 3 , a distributed data storage system 300 and Figure 1 The distributed data storage system described in the corresponding embodiment is the same. Specifically, cluster 31 and Figure 1 The cluster 100 in the corresponding embodiment is the same, and the storage node 33 of the business server is the same as Figure 1 The storage nodes 102 / 103 in the corresponding embodiments are the same.
[0072] As a specific implementation of step S210, each node in the cluster 31 stores control data and service data related to service A, and the service server 32 subscribes to the service data of service A through multiple processes (step S1). Then, in step S2, the relevant nodes in the cluster 31 send the service data processed based on the control data of service A to the service server. For example, the control data of service A limits the timeout limit of service data transmission to 0.05s, then the relevant nodes in the cluster 31 send the service data of service A to the service server 32 according to the requirements of the above control data (i.e., the timeout limit of data transmission is 0.05s) (step S7).
[0073] As a specific implementation of step S220, in step S3, the control data of business A is updated, such as the timeout limit for the transmission of business data is 0.03s. In the case where the control data is updated, the technical solution is to push the updated control data about business A to the local storage node 33 of the server processing business A (step S4). Thus, the business server 32 in business A can directly obtain the updated control data locally. Compared with the business server in the related art that needs to obtain the updated control data from the cluster, the business server can directly access the local to obtain the updated data, which avoids the time consumption caused by each process needing to obtain data remotely, and is conducive to improving the real-time performance of data processing.
[0074] For example, refer to Figure 1 , if the business server 200 processes the first business, when the cluster 101 monitors that the first control data about the first business is updated, the updated first control data is sent to the local storage node 102 of the server 200 processing the first business. Therefore, the business server 200 in the first business can directly obtain the updated control data from the local storage node 102. For another example, if the business server 300 processes the second business, when the cluster 101 monitors that the second control data about the second business is updated, the updated second control data is sent to the local storage node 103 of the server 300 processing the second business. Therefore, the business server 300 in the second business can directly obtain the updated control data from the local storage node 103.
[0075] As a specific implementation of step S230, after receiving the updated control data, the local storage node 33 of the server processing business A also writes it into the shared memory (step S5). Furthermore, the control data in the shared memory can be mapped to each process in the business server 32 (step S6). Exemplarily, for any target process among the multiple processes, the target control data in the shared memory is mapped to the memory of the target process, and then, the subscription of the target process to the target business data is realized by accessing the memory of the target process. Therefore, the technical solution does not require each process of the business server to monitor whether the data in the cluster is updated, thereby effectively reducing the data redundancy on the business server side, saving local memory space, and at the same time facilitating data consistency between multiple processes for data subscription by the business server.
[0076] Those skilled in the art will appreciate that all or part of the steps to implement the above embodiments are implemented as a computer program executed by a processor (including a CPU and a GPU). When the computer program is executed by the processor, the above functions defined by the above method provided by the present disclosure are performed. The program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk or an optical disk, etc.
[0077] In addition, it should be noted that the above figures are only schematic illustrations of the processes included in the method according to the exemplary embodiment of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0078] Furthermore, in this example implementation, a data subscription device based on a distributed data storage system is also provided. Figure 4 As shown, the data subscription device 400 based on the distributed data storage system includes: a first subscription module 401 , a receiving module 402 and a second subscription module 403 .
[0079] Among them, the above-mentioned first subscription module 401 is configured as: the target business server subscribes to the target business data of the target business stored in the cluster; the receiving module 402 is configured as: in response to the update of the target control data about the above-mentioned target business in the above-mentioned cluster, the updated target control data is received through the storage node deployed locally in the above-mentioned target business server in the above-mentioned cluster; and the second subscription module 403 is configured as: the above-mentioned target business server realizes subscription to the above-mentioned target business data based on the target control data in the local storage node.
[0080] In an exemplary embodiment, based on the above-mentioned solution, the above-mentioned first subscription module 401 is specifically configured as follows: the above-mentioned business server subscribes to the above-mentioned target business data through multiple processes.
[0081] The data subscription device further includes: a writing module 404. The writing module 404 is used for: after receiving the updated target control data through the storage node deployed locally in the target business server in the cluster, the local storage node writes the target control data into the shared memory, so that multiple processes of the target server can subscribe to the target business data based on the target control data in the shared memory.
[0082] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the second subscription module 403 is specifically configured as follows:
[0083] For any target process among the above-mentioned multiple processes, the target control data in the above-mentioned shared memory is mapped to the memory of the above-mentioned target process; and the subscription of the above-mentioned target process to the above-mentioned target business data is realized by accessing the memory of the above-mentioned target process.
[0084] In an exemplary embodiment of the present disclosure, based on the above-mentioned embodiment, the receiving module 402 is specifically configured as follows:
[0085] The above-mentioned cluster monitors the update of the first control data about the first business, and monitors the update of the second control data about the second business, and sends the updated first control data to the local storage node of the server processing the above-mentioned first business, and sends the updated second control data to the local storage node of the server processing the above-mentioned second business.
[0086] In an exemplary embodiment of the present disclosure, based on the aforementioned embodiment, the target control data is used for real-time calculation of the target business data, and / or the target control data is used for configuring the target business data.
[0087] In an exemplary embodiment of the present disclosure, based on the aforementioned embodiment, the target business is an advertising business, and the target business data includes one or more of the following information: exposure, clicks, exposure rate, click-through rate and conversion rate; or, the target business is a population portrait business, and the target business data includes one or more of the following information: age, gender, occupation, education level and interest data.
[0088] The specific details of each module or unit in the above-mentioned data subscription device based on the distributed data storage system have been described in detail in the corresponding data subscription method, so they will not be repeated here.
[0089] Figure 5 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present invention is shown.
[0090] It should be noted that Figure 5 The computer system 500 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0091] like Figure 5As shown, the computer system 500 includes a processor 501, wherein the processor 501 may include: a graphics processing unit (GPU), a central processing unit (CPU), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage part 508 to a random access memory (RAM) 503. In RAM 503, various programs and data required for system operation are also stored. The processor (GPU / CPU) 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0092] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, etc.; an output section 507 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to the I / O interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 510 as needed so that a computer program read therefrom is installed into the storage section 508 as needed.
[0093] In particular, according to an embodiment of the present disclosure, the process described below with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 509, and / or installed from the removable medium 511. When the computer program is executed by the processor (GPU / CPU) 501, various functions defined in the system of the present application are executed. In some embodiments, the computer system 500 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0094] It should be noted that the computer-readable medium shown in the embodiment of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0095] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0096] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, and the units described may also be arranged in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0097] As another aspect, the present application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment.
[0098] For example, the electronic device can implement Figure 2 As shown in: step S210, the target business server subscribes to the target business data of the target business stored in the cluster; step S220, in response to the update of the target control data about the target business in the cluster, the updated target control data is received by the storage node deployed locally at the target business server in the cluster; and, step S230, the target business server implements the subscription to the target business data based on the target control data in the local storage node.
[0099] For example, the electronic device can achieve Figure 3 The steps shown in .
[0100] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0101] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0102] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0103] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A data subscription method based on a distributed data storage system, characterized in that: The method comprises: The target business server subscribes to the target business data of the target business stored in the cluster through multiple processes; In response to the target control data about the target service in the cluster being updated, receiving the updated target control data through a storage node deployed locally on the target service server in the cluster, and writing the target control data into a shared memory; For any target process among the multiple processes, the target control data in the shared memory is mapped to the memory of the target process, and the target process is subscribed to the target business data by accessing the memory of the target process.
2. The data subscription method according to claim 1, characterized in that: In response to the target control data about the target service in the cluster being updated, receiving the updated target control data through a storage node deployed locally on the target service server in the cluster, and writing the target control data into a shared memory, comprises: The cluster detects an update of first control data about a first business and an update of second control data about a second business, sends the updated first control data to a storage node local to a server processing the first business, and sends the updated second control data to a storage node local to a server processing the second business.
3. The data subscription method according to claim 1, characterized in that: The target control data is used for real-time calculation of the target service data, and / or the target control data is used for configuring the target service data.
4. The data subscription method according to claim 1, characterized in that: The target business is an advertising business, and the target business data includes one or more of the following information: exposure, click volume, exposure rate, click rate and conversion rate; or, The target business is a crowd profiling business, and the target business data includes one or more of the following information: age, gender, education level and interest data.
5. A distributed data storage system, characterized in that: The system comprises: A cluster is used to: store service data and control data related to a service, and receive a subscription request from a target service server for target service data related to a target service, so as to send the target service data to the target service server; and A storage node deployed locally on the target business server is used to: respond to an update of target control data about the target business in the cluster, receive updated target control data, and write the target control data into a shared memory, so that multiple processes of the target server can subscribe to the target business data based on the target control data in the shared memory.
6. A data subscription device based on a distributed data storage system, characterized in that: The device comprises: The first subscription module is configured to: the target service server subscribes to the target service data of the target service stored in the cluster through multiple processes; A receiving module is configured to: in response to the target control data about the target service in the cluster being updated, receive the updated target control data through a storage node deployed locally on the target service server in the cluster, and write the target control data into a shared memory; The second subscription module is configured to: for any target process among the multiple processes, map the target control data in the shared memory to the memory of the target process, and implement the subscription of the target process to the target business data by accessing the memory of the target process.
7. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 4 by executing the executable instructions.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
9. A computer program product comprising a computer program carried on a computer readable medium, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Cluster communication system and method for improving message transfer performances
CN106953901A