CN113779375A - Method, device, equipment and storage medium for pushing information - Google Patents

Method, device, equipment and storage medium for pushing information Download PDF

Info

Publication number
CN113779375A
CN113779375A CN202110232887.7A CN202110232887A CN113779375A CN 113779375 A CN113779375 A CN 113779375A CN 202110232887 A CN202110232887 A CN 202110232887A CN 113779375 A CN113779375 A CN 113779375A
Authority
CN
China
Prior art keywords
data
graph
graph data
fragments
fragment
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.)
Pending
Application number
CN202110232887.7A
Other languages
Chinese (zh)
Inventor
金均生
齐浩
王昆垚
熊汉韬
董志平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN202110232887.7A priority Critical patent/CN113779375A/en
Publication of CN113779375A publication Critical patent/CN113779375A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a method, a device, equipment and a storage medium for pushing information, and relates to the technical field of distribution. The specific implementation scheme is as follows: acquiring graph data and metadata of the graph data; obtaining a plurality of data fragments; fusing at least one data fragment in the plurality of data fragments into the graph data according to the metadata to obtain updated graph data; and determining target information to push according to the updated graph data. The implementation mode can update the graph data in time and load the update, thereby providing effective data for the information push service and improving the fit degree of the pushed information and the user.

Description

Method, device, equipment and storage medium for pushing information
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for pushing information.
Background
In recent years, the popularization of the mobile internet has promoted rapid development in the fields of electronic Commerce (E-Commerce), Social networking (Social networking), and the like, and has generated massive user and commodity data. How to efficiently utilize this data to optimize user experience and continue to create value becomes a significant challenge for this class of application providers.
The data structure of the graph (graph) has strong abstraction degree and expression capability. The method describes entities (Entity) and relationships among the entities by defining nodes (Node) and edges (Edge), and is very suitable for modeling user relationships in a social network and relationships between users and commodities in an e-commerce system.
However, due to frequent updating of user behaviors and commodity information, the timeliness of the established graph data is low, and effective data cannot be provided for subsequent services.
Disclosure of Invention
A method, an apparatus, a device and a storage medium for pushing information are provided.
According to a first aspect, there is provided a method for pushing information, comprising: acquiring graph data and metadata of the graph data; obtaining a plurality of data fragments; fusing at least one data fragment in the plurality of data fragments into the graph data according to the metadata to obtain updated graph data; and determining target information to push according to the updated graph data.
According to a second aspect, there is provided an apparatus for pushing information, comprising: a first acquisition unit configured to acquire the graph data and metadata of the graph data; a second acquisition unit configured to acquire a plurality of data slices; the graph data updating unit is configured to fuse at least one data fragment in the plurality of data fragments into the graph data according to the metadata to obtain updated graph data; and the information pushing unit is configured to determine target information to push according to the updated graph data.
According to a third aspect, there is provided an electronic device for pushing information, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method as described in the first aspect.
According to a fourth aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method as described in the first aspect.
According to a fifth aspect, a computer program product comprising a computer program which, when executed by a processor, implements the method as described in the first aspect.
According to the technology of the application, the graph data can be updated timely, and the graph data can be loaded and updated, so that effective data can be provided for the information pushing service, and the attaching degree of the pushed information and a user can be improved.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present application may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for pushing information, according to the present application;
FIG. 3 is a schematic diagram of an application scenario of a method for pushing information according to the present application;
FIG. 4 is a flow diagram of another embodiment of a method for pushing information according to the present application;
FIG. 5 is a schematic block diagram illustrating one embodiment of an apparatus for pushing information according to the present application;
fig. 6 is a block diagram of an electronic device for implementing the method for pushing information according to the embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 shows an exemplary system architecture 100 to which embodiments of the present method for pushing information or apparatus for pushing information may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. Various communication client applications, such as a social platform application, a browser application, and the like, may be installed on the terminal devices 101, 102, and 103.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices including, but not limited to, smart phones, tablet computers, e-book readers, car computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, such as a background server providing information push services to the terminal devices 101, 102, 103. The background server can provide matched information for the user by using the acquired massive user data and commodity data, and pushes the information to the terminal devices 101, 102 and 103.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server 105 is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be noted that the method for pushing information provided by the embodiment of the present application is generally performed by the server 105. Accordingly, means for pushing information is typically provided in the server 105.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of one embodiment of a method for pushing information in accordance with the present application is shown. The method for pushing information of the embodiment comprises the following steps:
step 201, obtaining graph data and metadata of the graph data.
In this embodiment, an execution subject (for example, the server 105 shown in fig. 1) of the method for pushing information may acquire the graph data and the metadata of the graph data in various ways. For example, the executing agent may obtain graph data and metadata from a cloud for storing the graph data. A plurality of nodes and edges may be included in the graph data, the nodes may include users, goods and advertisers, and the edges are used to represent relationships between the users, goods and advertisers. The graph data can also be the graph data obtained by the last updating, so that the iterative updating of the graph data can be realized.
In this embodiment, the graph data may be updated when a preset condition is met, for example, the graph data may be updated periodically, or the incremental data of the user data may be updated when the incremental data reaches a preset capacity. In order to distinguish the map data for each update, a version number may be set for the map data for indicating the update time of the map data. The metadata may include data describing the graph data, and may include, for example, version number, update time, volume, and the like.
Step 202, a plurality of data slices are acquired.
The execution body may also obtain multiple data fragments in a variety of ways. The data slice may be divided by a certain data, for example, by incremental data of the graph data. Or, the data segments are generated by users of different channels. For example, data in one data slice is generated by a user of a live application, and data in another data slice is generated by a search class application.
Step 203, at least one data fragment of the plurality of data fragments is fused into the graph data according to the metadata, so as to obtain updated graph data.
After obtaining the data, the execution subject may fuse at least one of the plurality of data fragments into the graph data according to information in the metadata. Here, the at least one data segment may be a data segment satisfying a preset condition among the plurality of data segments, for example, a data segment whose generation time is within two days, or a data segment that is not merged into the graph data, or a data segment whose number of corresponding application liveness people is greater than a preset number of people, and so on. During fusion, the executing body may first generate a subgraph from the data in the at least one data fragment, and then fuse the nodes in the subgraph and the nodes in the graph data. After the fusion, the updating of the graph data is realized, so that the updated graph data is obtained.
And step 204, determining target information to push according to the updated graph data.
After the executing body obtains the updated graph data, the executing body can call the existing information pushing service, and the target information is determined by using the updated graph data. Here, the target information may be information delivered by an advertiser, and may be in the form of text, image, video, and the like. Specifically, the target information may be provided with a keyword. The executing body can determine the target information by using the interest of the user or the relation between the user and the entity in the updated graph data. The execution principal may push the target information in a variety of ways. Specifically, the execution subject may push the target information to the user in a live application or a browser-type application.
It should be noted that the technical solutions defined in steps 201 to 204 can be executed by a plurality of electronic devices. Specifically, the update scheme of the graph data defined in steps 401 to 403 may be executed by the first electronic device and the second electronic device, and the information push scheme of step 404 may be executed by the second electronic device. The first electronic device may update the graph data while offline, and the first electronic device may transmit the updated graph data to the second electronic device. The second electronic device may update the updated graph data transmitted by the first electronic device again while online. The process of updating the graph data by the first electronic device may be referred to as "generating the graph data", and the second electronic device may first acquire the graph data generated by the first electronic device after being started, then acquire the data fragments in real time, and merge the data fragments into the graph data generated by the first electronic device, which may be referred to as "restoring the graph data".
With continued reference to fig. 3, a schematic diagram of one application scenario of a method for pushing information according to the present application is shown. In the application scenario of fig. 3, a server 301 obtains graph data and metadata from a cloud 302 for storing the graph data and the metadata of the graph data. And obtains a plurality of data shards from a plurality of database shards 303 for storing incremental data. Then, at least one data fragment which is not fused into the graph data in the plurality of data fragments is determined according to the metadata. And fusing the at least one data fragment into the graph data to realize the updating of the graph data. Finally, the updated graph data is used to push information to the user terminal 304. For example, the user has recently searched for a child toy through a shopping application installed in the user terminal 304, and the execution subject acquires behavior data of the user and merges the behavior data into graph data. Then, the children toy type commodity is pushed to the user terminal.
In the application scenario, the data structure is introduced into the e-commerce system and the social network to depict the relationship among the users, the commodities and the users, so that the evolution process of the user interest can be captured better, more guide information is provided for personalized recommendation, online advertisement delivery in the e-commerce system, friend recommendation in the social network and the like, and the user experience is optimized and the value is created.
The method for pushing information provided by the above embodiment of the application can update the graph data in time and load the update, thereby providing effective data for the information pushing service and improving the attaching degree of the pushed information and the user.
With continued reference to fig. 4, a flow 400 of another embodiment of a method for pushing information in accordance with the present application is shown. As shown in fig. 4, the method of the present embodiment may include the following steps:
step 401, obtaining graph data and metadata of the graph data.
In this embodiment, the graph data may include multiple sub-graphs, and each sub-graph may correspond to a different database shard, or to a different advertiser identifier, and so on.
Step 402, obtaining incremental data of each subgraph in graph data; and responding to the fact that the preset conditions are met, dividing the incremental data to obtain a plurality of data fragments.
The execution subject may obtain incremental data for each sub-graph in the graph data, respectively. Here, the incremental data refers to data generated after data in the sub-graph is fused to graph data. In order to ensure timeliness of incremental data acquisition, the execution main body can acquire the incremental data in real time or can acquire the incremental data at regular time. After the incremental data is acquired, the execution entity may determine whether a preset condition is met, and if the preset condition is met, the incremental data may be divided to obtain a plurality of data fragments. The preset condition here may be a timing condition (i.e., a preset time period has elapsed since the incremental data was fused to the map data last time) or a quantitative condition (i.e., the amount of acquired incremental data has reached a threshold).
In some optional implementations of this embodiment, the incremental data may include a plurality of data units. Here, the data unit may be one file or a plurality of files. Each data unit includes a generation time. When the execution subject divides the incremental data, it can be realized by the step 4021: and dividing each data unit according to the generation time of each data unit in the incremental data to obtain a plurality of data fragments.
In this implementation, each data unit may be divided according to the generation time of each data unit in the incremental data. For example, the data units generated in a single hour may be divided into the same data slice, that is, the data units generated in 8:00 to 9:00, 9:00 to 10:00, and 10:00 to 11:00 … … may be divided into the same data slice.
Step 403, determining the identifier of each data fragment according to the generation time of the data unit in each data fragment.
After the execution main body divides the data fragments into a plurality of data fragments, the identification of each data fragment can be determined according to the generation time of the data unit in each data fragment. The identifier is used for indicating the generation sequence of each data fragment. For example, the execution subject may use the earliest generation time corresponding to each data slice as the identifier of each data slice. Alternatively, the average value of the generation times of the data units is used as the identifier of the data slice.
In some specific applications, the method for pushing information may be applied to a distributed system, and each data slice may be sub-graph data generated by each electronic device in the distributed system. Due to the difference in computation power and load of each electron, generation timing of sub-graph data may be different from generation timing of data units therein. For example, the generation time of the data unit in the device a is earlier than the generation time of the data unit in the device B. However, because the load of the device a is large and the computing power of the device a is poor, the sub-graph data generated by the device a is later than the sub-graph generated by the device B. In this case, the generation time of each data unit should be the standard when each data is loaded.
Step 404, determining at least one data fragment from the plurality of data fragments as a target data fragment according to the identifier of the data fragment finally fused into the graph data in the metadata and the identifier sequence of the data fragments corresponding to the plurality of subgraphs; fusing the target data fragments into the graph data to obtain updated graph data.
In this embodiment, the metadata may include an identifier of a data fragment that has been fused into the graph data and an identifier order of the data fragments corresponding to the multiple subgraphs. Specifically, the metadata may include an identifier of the data segment that has been merged into the graph data and a corresponding merging time. The metadata may include a plurality of lists, the lists corresponding one-to-one to the subgraphs. The sequence of the data fragment identifications corresponding to the subgraphs is recorded in the list. The execution subject may determine the identifier of the data fragment finally fused into the graph data according to the fusion time corresponding to the identifier of each data fragment. Then, the sequence is inquired, and the identifier of the data fragment behind the sequence is determined and used as the identifier of the target data fragment. The executing agent may then piece-fuse the target data into the graph data, resulting in updated graph data.
In some optional implementations of this embodiment, each data slice may write to its corresponding list. In order to ensure the accuracy of writing data, each device in the data fragment can execute locking operation when writing the list, so that data errors caused by simultaneous writing of a plurality of devices are avoided. And unlocking after the writing is finished, so that other equipment can write the list.
In some optional implementations of this embodiment, the executing agent may fuse the target data segments by the following steps not shown in fig. 5: and sequentially fusing the data fragments into the graph data according to the identification of each data fragment in the target data fragment and the identification sequence of the data fragments corresponding to the multiple subgraphs to obtain the updated graph data.
In this implementation manner, the execution subject may sequentially obtain the target data fragments corresponding to each identifier according to the sequence of the data fragment identifiers corresponding to the multiple subgraphs, and then fuse each data fragment to the graph data to obtain the updated graph data. In this way, the updated content in the graph data can be ensured to be consistent with the generation sequence of the user data, so that the push information determined based on the updated graph data is more suitable for the interest or the demand of the user.
In some optional implementation manners of this embodiment, if the information push service called by the execution main body is restarted, the execution main body may load the graph data first, then sequentially load the data fragments according to the above sequence, and merge the data fragments in the loading process, thereby reducing the time required by the service restart.
Step 405, determining target information to push according to the updated graph data.
It should be noted that the method of this embodiment may be executed multiple times, and in the next execution, the last updated graph data may be used as the acquired graph data. That is, the next update is performed on the updated map data obtained the previous time.
The method for pushing information provided by the above embodiment of the application can sequentially fuse each data fragment of the incremental data into the graph data according to the generation sequence of the data unit, so that the correctness of incremental data fusion is ensured, and the pushed information is more suitable for users.
With further reference to fig. 5, as an implementation of the method shown in the above-mentioned figures, the present application provides an embodiment of an apparatus for pushing information, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be applied to various electronic devices.
As shown in fig. 5, the apparatus 500 for pushing information of the present embodiment includes: a first acquisition unit 501, a second acquisition unit 502, a map data update unit 503, and an information push unit 504.
A first acquisition unit 501 configured to acquire the graph data and the metadata of the graph data.
A second obtaining unit 502 configured to obtain a plurality of data slices.
And a graph data updating unit 503 configured to fuse at least one data slice of the plurality of data slices into the graph data according to the metadata to obtain updated graph data.
And an information pushing unit 504 configured to determine target information to push according to the updated graph data.
In some optional implementations of this embodiment, the graph data includes a plurality of subgraphs. The second obtaining unit 502 may be further configured to: obtaining incremental data of each subgraph in the graph data; and responding to the fact that the preset conditions are met, dividing the incremental data to obtain a plurality of data fragments.
In some alternative implementations of this embodiment, the incremental data is a plurality of data units. The second obtaining unit 502 may be further configured to: and dividing each data unit according to the generation time of each data unit in the incremental data to obtain a plurality of data fragments.
In some optional implementations of this embodiment, the apparatus 500 may further include an identifier generating unit, not shown in fig. 5, configured to: and determining the identifier of each data fragment according to the generation time of the data unit in each data fragment.
In some optional implementations of this embodiment, the metadata includes an identification of the data slice that has been merged into the graph data and an identification order of the data slices corresponding to the multiple subgraphs. The graph data update unit 503 may be further configured to: determining at least one data fragment from the plurality of data fragments as a target data fragment according to the identifier of the data fragment finally fused into the graph data in the metadata and the identifier sequence of the data fragments corresponding to the plurality of subgraphs; fusing the target data fragments into the graph data to obtain updated graph data.
In some optional implementations of this embodiment, the graph data updating unit 503 may be further configured to: and sequentially fusing the data fragments into the graph data according to the identification of each data fragment in the target data fragment and the identification sequence of the data fragments corresponding to the multiple subgraphs to obtain the updated graph data.
It should be understood that units 501 to 504, which are described in the apparatus 500 for pushing information, correspond to respective steps in the method described with reference to fig. 2, respectively. Thus, the operations and features described above for the method for pushing information are also applicable to the apparatus 500 and the units included therein, and are not described in detail here.
The application also provides an electronic device, a readable storage medium and a computer program product according to the embodiment of the application.
Fig. 6 shows a block diagram of an electronic device 600 performing a method for pushing information according to an embodiment of the application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 6, the device 600 includes a processor 601 that may perform various appropriate actions and processes in accordance with a computer program stored in a Read Only Memory (ROM)602 or a computer program loaded from a memory 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data required for the operation of the device 600 can also be stored. The processor 601, the ROM602, and the RAM603 are connected to each other via a bus 604. An I/O interface (input/output interface) 605 is also connected to the bus 604.
A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, a mouse, or the like; an output unit 607 such as various types of displays, speakers, and the like; a memory 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
Processor 601 may be a variety of general and/or special purpose processing components with processing and computing capabilities. Some examples of processor 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, or the like. The processor 601 performs the various methods and processes described above, such as a method for pushing information. For example, in some embodiments, the method for pushing information may be implemented as a computer software program tangibly embodied in a machine-readable storage medium, such as memory 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 600 via the ROM602 and/or the communication unit 609. When the computer program is loaded into the RAM603 and executed by the processor 601, one or more steps of the method for pushing information described above may be performed. Alternatively, in other embodiments, the processor 601 may be configured by any other suitable means (e.g., by means of firmware) to perform the method for pushing information.
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present application may be written in any combination of one or more programming languages. The program code described above may be packaged as a computer program product. These program code or computer program products may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program code, when executed by the processor 601, causes the functions/acts specified in the flowchart and/or block diagram block or blocks to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable storage medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable storage medium may be a machine-readable signal storage medium or a machine-readable storage medium. A machine-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The Server can be a cloud Server, also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical host and VPS service ("Virtual Private Server", or simply "VPS").
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solution of the present application can be achieved, and the present invention is not limited thereto.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (15)

1. A method for pushing information, comprising:
acquiring graph data and metadata of the graph data;
obtaining a plurality of data fragments;
fusing at least one data fragment of the plurality of data fragments into the graph data according to the metadata to obtain updated graph data;
and determining target information to push according to the updated graph data.
2. The method of claim 1, wherein the graph data comprises a plurality of subgraphs; and
the obtaining a plurality of data slices includes:
obtaining incremental data of each subgraph in the graph data;
and responding to the fact that the preset conditions are met, dividing the incremental data to obtain a plurality of data fragments.
3. The method of claim 2, wherein the delta data is a plurality of data units; and
the dividing the incremental data to obtain a plurality of data fragments includes:
and dividing each data unit according to the generation time of each data unit in the incremental data to obtain a plurality of data fragments.
4. The method of claim 3, wherein the method further comprises:
and determining the identifier of each data fragment according to the generation time of the data unit in each data fragment.
5. The method of claim 2, wherein the metadata includes an identification of data slices that have been fused into the graph data and an identification order of data slices corresponding to a plurality of subgraphs; and
the fusing at least one data fragment of the plurality of data fragments into the graph data according to the metadata to obtain updated graph data, including:
determining at least one data fragment from the plurality of data fragments as a target data fragment according to the identifier of the data fragment finally fused into the graph data in the metadata and the identifier sequence of the data fragments corresponding to the plurality of subgraphs;
fusing the target data fragments into the graph data to obtain updated graph data.
6. The method of claim 5, wherein the fusing the target data slices into the graph data to obtain updated graph data comprises:
and sequentially fusing the data fragments into the graph data according to the identification of each data fragment in the target data fragment and the identification sequence of the data fragments corresponding to the multiple subgraphs to obtain updated graph data.
7. An apparatus for pushing information, comprising:
a first acquisition unit configured to acquire map data and metadata of the map data;
a second acquisition unit configured to acquire a plurality of data slices;
the graph data updating unit is configured to fuse at least one data fragment of the plurality of data fragments into the graph data according to the metadata to obtain updated graph data;
and the information pushing unit is configured to determine target information to push according to the updated graph data.
8. The apparatus of claim 7, wherein the graph data comprises a plurality of subgraphs; and
the second acquisition unit is further configured to:
obtaining incremental data of each subgraph in the graph data;
and responding to the fact that the preset conditions are met, dividing the incremental data to obtain a plurality of data fragments.
9. The apparatus of claim 8, wherein the delta data is a plurality of data units; and
the second acquisition unit is further configured to:
and dividing each data unit according to the generation time of each data unit in the incremental data to obtain a plurality of data fragments.
10. The apparatus of claim 9, wherein the apparatus further comprises an identification generation unit configured to:
and determining the identifier of each data fragment according to the generation time of the data unit in each data fragment.
11. The apparatus of claim 8, wherein the metadata comprises an identification of data slices that have been fused into the graph data and an identification order of data slices corresponding to a plurality of subgraphs; and
the graph data update unit is further configured to:
determining at least one data fragment from the plurality of data fragments as a target data fragment according to the identifier of the data fragment finally fused into the graph data in the metadata and the identifier sequence of the data fragments corresponding to the plurality of subgraphs;
fusing the target data fragments into the graph data to obtain updated graph data.
12. The apparatus of claim 11, wherein the graph data update unit is further configured to:
and sequentially fusing the data fragments into the graph data according to the identification of each data fragment in the target data fragment and the identification sequence of the data fragments corresponding to the multiple subgraphs to obtain updated graph data.
13. An electronic device for pushing information, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-6.
14. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-6.
15. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-6.
CN202110232887.7A 2021-03-03 2021-03-03 Method, device, equipment and storage medium for pushing information Pending CN113779375A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110232887.7A CN113779375A (en) 2021-03-03 2021-03-03 Method, device, equipment and storage medium for pushing information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110232887.7A CN113779375A (en) 2021-03-03 2021-03-03 Method, device, equipment and storage medium for pushing information

Publications (1)

Publication Number Publication Date
CN113779375A true CN113779375A (en) 2021-12-10

Family

ID=78835638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110232887.7A Pending CN113779375A (en) 2021-03-03 2021-03-03 Method, device, equipment and storage medium for pushing information

Country Status (1)

Country Link
CN (1) CN113779375A (en)

Similar Documents

Publication Publication Date Title
CN110555172B (en) User relationship mining method and device, electronic equipment and storage medium
CN105530272A (en) Method and device for application data synchronization
CN113641677A (en) Data processing method and device, electronic equipment and storage medium
US9426037B2 (en) Method and apparatus for automating network data analysis of user's activities
CN113792024A (en) Method, device, equipment and storage medium for migrating data
CN113193947A (en) Method, apparatus, medium, and program product for implementing distributed global ordering
CN113344074B (en) Model training method, device, equipment and storage medium
CN107291923B (en) Information processing method and device
CN106651408B (en) Data analysis method and device
CN110852701A (en) Product demand management method, device and system
CN115454971A (en) Data migration method and device, electronic equipment and storage medium
CN113779375A (en) Method, device, equipment and storage medium for pushing information
CN112887426B (en) Information stream pushing method and device, electronic equipment and storage medium
CN112035581B (en) Model-based task processing method, device, equipment and medium
CN113656689B (en) Model generation method and network information pushing method
CN115905322A (en) Service processing method and device, electronic equipment and storage medium
CN114722048A (en) Data processing method and device, electronic equipment and storage medium
CN114997329A (en) Method, apparatus, device, medium and product for generating a model
US20220327160A1 (en) Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores
CN114897666A (en) Graph data storage, access, processing method, training method, device and medium
CN113961797A (en) Resource recommendation method and device, electronic equipment and readable storage medium
CN112860811A (en) Method and device for determining data blood relationship, electronic equipment and storage medium
CN113011490B (en) Model training method and device and electronic equipment
CN113343090A (en) Method, apparatus, device, medium and product for pushing information
CN115033823A (en) Method, apparatus, device, medium and product for processing data

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