WO2017107826A1 - 一种业务信息的推送方法和装置 - Google Patents

一种业务信息的推送方法和装置 Download PDF

Info

Publication number
WO2017107826A1
WO2017107826A1 PCT/CN2016/109940 CN2016109940W WO2017107826A1 WO 2017107826 A1 WO2017107826 A1 WO 2017107826A1 CN 2016109940 W CN2016109940 W CN 2016109940W WO 2017107826 A1 WO2017107826 A1 WO 2017107826A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
level
service
plugin
business
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.)
Ceased
Application number
PCT/CN2016/109940
Other languages
English (en)
French (fr)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of WO2017107826A1 publication Critical patent/WO2017107826A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Definitions

  • the present application relates to the technical field of computer processing, and in particular, to a method for pushing service information and a device for pushing service information.
  • the push engine in the website generally has some features:
  • the change is flexible and effective, and it is suitable for some business logic that may be adjusted frequently.
  • the request response speed, system performance requirements are high, in the scenario involving a large number of I / O, should minimize the delay caused by I / O, reasonable I / O parallelization, asynchronous.
  • the dynamic nature of the online push engine determines the frequent update issues that may be faced, which undoubtedly greatly increases the maintenance and reconstruction costs.
  • embodiments of the present application have been made in order to provide a method for pushing service information and a corresponding push device for service information that overcome the above problems or at least partially solve the above problems.
  • the embodiment of the present application discloses a method for pushing service information, including:
  • the step of loading one or more plugins corresponding to the service scenario according to the loading request includes:
  • the step of invoking the first or more plugins to query the service information that matches the service scenario includes:
  • the service processing in the level is inquired in the order of the level, and the service information matching the service scenario is queried.
  • the step of serially invoking service processing in the level and querying service information matching the service scenario in the level of the level includes:
  • the step of serially invoking service processing in the level and querying service information matching the service scenario in the level of the level includes:
  • the level includes a first level and a second level
  • the service information includes a service object and a scene feature vector
  • the step of serially invoking the service processing in the level and querying the service information matching the service scenario in the order of the level includes:
  • the plug-in in the first level is called, the plug-in in the second level is invoked, and the business object matching the business scenario is determined from the business object according to the scene feature vector.
  • the plugin in the first level comprises a first plugin and a second plugin
  • the step of invoking the plug-in in the first level to obtain the service object and the scene feature vector for the push that matches the service scenario includes:
  • the second plug-in is invoked to acquire a scene feature vector of the service scene.
  • it also includes:
  • the one or more plug-ins are adjusted according to the adjustment instruction.
  • the adjustment instruction includes one or more of the following:
  • the step of adjusting the one or more plugins according to the adjustment instruction includes:
  • the step of adding the specified plug-in at the specified level according to the adding instruction comprises:
  • the plugin identification configuration level for the specified plugin is the plugin identification configuration level for the specified plugin
  • the step of deleting the specified plug-in according to the deletion instruction includes:
  • the step of adjusting the level of the specified plug-in according to the sequence instruction includes:
  • the embodiment of the present application further discloses a device for pushing service information, including:
  • a load request receiving module configured to receive an information loading request sent by the client based on a service scenario
  • a plug-in loading module configured to load one or more plug-ins corresponding to the service scenario according to the loading request
  • a plug-in calling module configured to invoke the first one or more plug-ins to query service information that matches the service scenario
  • the service information pushing module is configured to push the service information to the client.
  • the plug-in loading module includes:
  • a service scenario identifier reading submodule configured to read a service scenario identifier from the loading request
  • a plug-in identifier finding sub-module configured to search for one or more plug-in identifiers corresponding to the service scenario identifier
  • a plug-in search sub-module configured to search for one or more plug-ins corresponding to the one or more plug-in identifiers
  • the plugin calling module includes:
  • a level identification submodule for identifying a level of the one or more plugins
  • the serial call sub-module is configured to serially invoke the service processing in the level in the order of the level, and query the service information that matches the service scenario.
  • serial call submodule includes:
  • the parallel call unit is used to call the plug-ins in the same level for business processing in parallel when calling a certain level of plug-ins.
  • serial call submodule includes:
  • An input unit configured to input 0 or more business information when calling a plugin
  • a service processing unit configured to perform service processing on the input service information, and obtain 0 or 1 service information
  • the output unit is configured to output the obtained 0 or 1 business information as an input of the lower level plug-in.
  • the level includes a first level and a second level
  • the service information includes a service object and a scene feature vector
  • the serial call submodule includes:
  • a first level calling unit configured to invoke a plug-in in the first level, and acquire a service object and a scene feature vector for pushing, which are matched with the service scenario;
  • a second level calling unit configured to invoke a plug-in in the second level after the plug-in in the first level is invoked, and determine, according to the scene feature vector, the matching with the business scenario from the business object.
  • Business object
  • the plugin in the first level comprises a first plugin and a second plugin
  • the first level calling unit includes:
  • a first plug-in calling sub-unit configured to invoke the first plug-in to obtain a service object for pushing that matches the service scenario
  • the second plug-in calling sub-unit is configured to invoke the second plug-in to acquire a scene feature vector of the service scene while calling the first plug-in.
  • it also includes:
  • the plug-in adjustment module is configured to adjust the one or more plug-ins according to the adjustment instruction when receiving the adjustment instruction of the plug-in.
  • the adjustment instruction includes one or more of the following:
  • the plug-in adjustment module includes:
  • the plugin adds a submodule for adding the specified plugin to the specified level according to the added instruction
  • the plug-in deletes the sub-module, and is configured to delete the specified plug-in according to the deleting instruction;
  • the plug-in sequence sub-module is configured to adjust the level of the specified plug-in according to the sequence instruction.
  • the plugin adding submodule includes:
  • a first correspondence adding unit configured to increase a correspondence between the specified plug-in and the plug-in identifier
  • a second corresponding relationship adding unit configured to increase a correspondence between the service scenario identifier and the plug-in identifier of the specified plug-in;
  • Level configuration unit for configuring the plugin identity level for the specified plugin
  • the plugin deletion submodule may include the following units:
  • a first correspondence deletion unit configured to delete a correspondence between the specified plug-in and the plug-in identifier
  • a second correspondence deletion unit configured to delete a correspondence between the service scenario identifier and the plug-in identifier of the specified plug-in
  • the plug-in sequence sub-module may include the following units:
  • a level adjustment unit that adjusts the level of the plug-in ID of the specified plug-in.
  • the corresponding plug-in is searched for the matching service information and pushed to the client, and the highly-inlined online push engine is implemented. Since the function of the online push engine is loaded in the form of a plug-in, when a function is used When you need to update, you can find the corresponding plug-in to modify, easy to locate, avoid the whole modification, low operation and maintenance cost; in addition, the public stable plug-in can be used as a system built-in plug-in for many business scenarios, plug-in reusability high.
  • the embodiment of the present application supports dynamically adding or deleting plug-ins in a hot plug manner, and implements dynamic configurability. Through reasonable configuration, the serial parallel sequence structure between different plug-ins can be flexibly indicated, and the response speed is effectively improved.
  • FIG. 1 is a flow chart showing the steps of an embodiment of a method for pushing service information according to the present application
  • FIGS. 2A and 2B are diagrams showing an example of plug-in sequencing of an embodiment of the present application.
  • FIG. 3 is a flowchart of an example of pushing service information according to an embodiment of the present application.
  • FIG. 4 is a structural block diagram of an embodiment of a push device for service information according to the present application.
  • FIG. 1 a flow chart of steps of an embodiment of a method for pushing service information of the present application is shown, which may specifically include the following steps:
  • Step 101 Receive an information loading request sent by a client according to a service scenario.
  • an information distribution platform which is essentially a separate server or server cluster, such as a distributed system, and the information distribution platform collects The business information provided by many websites is distributed to users according to certain rules.
  • the information distribution platform includes an offline push engine and an online push engine, and the offline push engine can calculate the pushed service information and the scene feature vector based on the collected service information, user behavior information, and the like, and the online push engine can be based on offline push. The results of the engine are pushed online.
  • NodeJS For a business scenario with high performance requirements, NodeJS can be applied.
  • NodeJS provides an event-driven asynchronous programming mode, which has advantages for high concurrent multi-asynchronous operations, and can achieve better performance in the embodiments of the present invention.
  • a module named event-pipe in NodeJS may be introduced, and this module performs some upper layer encapsulation on the event mechanism of NodeJS.
  • NodeJS in addition to the NodeJS, it can be implemented in other languages, which is not limited by the embodiment of the present invention.
  • the business information may be news data; for the mobile communication field, the business information may be mobile communication data; for the electronic commerce (Electronic Commerce, EC) field, the business information may be advertising data. , product data, and so on.
  • EC Electronic Commerce
  • business information carries different business characteristics, its essence is still data, such as text, image data, audio data, video data, and so on.
  • the service scenario may be an online service scenario, and specifically includes one or more of the following:
  • the pushed business information is an item that the user may be interested in.
  • the client When the client requests to load the home page of the website, it is equivalent to receiving the information loading request sent by the client based on the first page of the website.
  • the details of an item are displayed, and the business information pushed is other items that are related to the current item and that may be of interest to the user.
  • the client When the client requests to load the project details page, it is equivalent to receiving the information loading request sent by the client based on the project details page.
  • a result obtained by searching based on a certain search keyword is displayed, and the pushed business information is an item related to the user's search intention.
  • the client When the client requests to load and search for a certain search keyword, it is equivalent to receiving the information loading request sent by the client based on the search result page.
  • the client's configured request parameters are slightly different for each different business scenario.
  • Step 102 Load one or more plug-ins corresponding to the service scenario according to the loading request.
  • At least part of the functions of the offline recommendation engine and the online push engine may be defined as a plug-in in advance.
  • plugins can be divided into system built-in plugins and user-defined plugins.
  • the system built-in plugin contains the following features:
  • User-defined plug-ins are generally highly relevant to the business, but users can also selectively share their plug-ins publicly for other businesses, or even apply for a built-in plug-in.
  • the business logic of each business scenario may be consistent or inconsistent. Therefore, users can set one or more sets of plug-in templates for different business scenarios.
  • plugin template create a mapping to the plugin set for each business scenario.
  • the service scenario identifier may be read from the load request, so that one or more plug-in identifiers corresponding to the service scenario identifier, such as a plug-in name, are searched in a preset first mapping table (such as a MySQL table). , plugin ID, etc.
  • a preset first mapping table such as a MySQL table.
  • mapping between the predefined service scenario identifier and the plug-in identifier may be stored in the first mapping table, and the format is as follows:
  • a preset second mapping table such as a MySQL table
  • one or more plugins corresponding to one or more plugin identifiers are looked up.
  • mapping relationship between the predefined plug-in identifier and the plug-in data itself may be stored, and the format is as follows:
  • one or more plugins can be loaded into memory, such as an event-pipe container, for subsequent execution.
  • the event-pipe container is used to provide an event-based plug-in running context.
  • the actual implementation process may also be replaced by other containers, which is not limited in this embodiment.
  • Step 103 Invoking the first one or more plugins to query service information that matches the service scenario;
  • At least one processing logic is defined in each plug-in.
  • One or more plug-ins can form the push logic in the push engine.
  • Each plug-in completes the specified processing logic and finally implements online push.
  • the level of the one or more plugins can be identified.
  • the level of the plugin in addition to defining the plugin identifier, the level of the plugin can also be defined.
  • the plugin_flow fields [a], [b], [c] indicate that the level of plug-in a is higher than the level of plug-in b, and the level of plug-in b is higher than the level of plug-in c.
  • the service information of the service processing and query matching with the service scenario in the level is serially invoked in the order of the level.
  • plugin_flow field is [a], [b], [c]
  • plugin_flow field is [a], [b, c], [d]
  • the output of the superior (also known as upstream) plug-in can be used as input to the lower-level (also known as downstream) plug-in.
  • the plug-in of the superior can be the upper level, the upper level, the upper level, etc.
  • the lower level plug-in can be the next level, or the lower level, the lower level, etc., this application The embodiment does not limit this.
  • 0 or more service information is input, and the input service information is processed, and 0 or 1 service information is obtained, and the obtained 0 or 1 service information is output.
  • the subordinate plugin As input to the subordinate plugin.
  • the output of the offline push engine is the initial raw material for the online push engine, it is usually loaded in the initial processing of the online push engine, including but not limited to:
  • the level of the plugin includes the first level and the second level; the service information includes the business object and the scene feature vector.
  • the plug-in in the first level can be invoked to obtain the business object and the scene feature vector for the push that match the business scenario.
  • these underlying data may be referenced by multiple downstream plugins, so these underlying data can be cached from an efficiency perspective.
  • the plug-in in the first level includes a first plug-in and a second plug-in
  • the first plug-in and the second plug-in may be plug-ins built in the system, and may be selected according to different business scenarios.
  • the first plugin can be invoked to obtain a business object for pushing that matches the business scenario.
  • the second plugin may be invoked to obtain a scene feature vector of the business scenario.
  • plugins in the second level can customize plugins for users.
  • the plugin in the second level is called, and the business object matching the business scenario is determined from the business object according to the scene feature vector, that is, the personalized push is implemented based on the user identifier or the item identifier.
  • first level and the second level are relative, and there are not only two levels. There may be multiple levels in the first level and the second level, which are not limited by the embodiment of the present invention.
  • Step 104 Push the service information to the client.
  • the service information matching the business scenario is queried, it can be pushed to the client for display.
  • the business information can be returned to the client together with the page data of the homepage of the website, and the business information is displayed on the homepage of the website.
  • the business information can be returned to the client together with the page data of the item details page, and the business information is displayed on the item details page.
  • the business information can be returned to the client together with the page data of the result page, and the business information is displayed on the result page.
  • the corresponding plug-in is searched for the matching service information and pushed to the client, and the highly-inlined online push engine is implemented. Since the function of the online push engine is loaded in the form of a plug-in, when a function is used When you need to update, you can find the corresponding plug-in to modify, easy to locate, avoid the whole modification, low operation and maintenance cost; in addition, the public stable plug-in can be used as a system built-in plug-in for many business scenarios, plug-in reusability high.
  • the method may further include the following steps:
  • Step 105 When receiving an adjustment instruction of the plug-in, adjusting the one or more plug-ins according to the adjustment instruction;
  • the adjustment instruction may include one or more of an increase instruction, a delete instruction, and a sequence instruction;
  • the specified plug-in can be added in the specified level according to the added instruction, so that the hot plug type is increased.
  • the key items provided by the operators (such as major new ones) Manual events, etc.) Manually set the top, which can be defined as a plug-in, dynamically inserted into the end of the runtime plug-in queue, completely isolated from other logic, to push the key project to the client.
  • the specified plug-in can be deleted according to the delete command to implement hot plug-in deletion.
  • User B adds a plug-in filter_2 to retrieve video meta-information from online storage for the items in the push list (T2 is involved in network I/O) and then filters the video for less than one minute.
  • the characteristics of the filtering operation can be utilized, and the filter_1 and the filter_2 are processed in parallel, and then the intersection of the two outputs (ie, the intersect operation in the figure) is finally obtained.
  • the result is a total time of max(T1, T2) and less than T1+T2.
  • the first mapping table and the second mapping table may be configured during the adjustment.
  • the corresponding relationship between the specified plugin and the plugin identifier may be added in the plugin_flow field in the first mapping table, and the plugin identifier configuration level of the specified plugin in the plugin_flow field.
  • plugin_flow field is [a], [b, c], [d]
  • you need to add plugin e you need to add plugin e.
  • the plugin_name field and the plugin_code field in the second mapping table add a correspondence between the service scenario identifier and the plugin identifier of the specified plugin.
  • the corresponding relationship between the specified plug-in and the plug-in identifier may be deleted in the plugin_flow field in the first mapping table, and the service scene identifier and the specified plug-in are deleted in the plugin_name field and the plugin_code field in the second mapping table.
  • the corresponding relationship of the plugin ID may be deleted in the plugin_flow field in the first mapping table, and the service scene identifier and the specified plug-in are deleted in the plugin_name field and the plugin_code field in the second mapping table.
  • the plugin_flow field is [a], [b, c], [d]
  • you need to adjust the order of plugin b and plugin d you can adjust the plugin_flow field to [a], [d, c], [b]
  • the embodiment of the present application supports dynamically adding or deleting plug-ins in a hot plug manner, and implements dynamic configurability. Through reasonable configuration, the serial parallel sequence structure between different plug-ins can be flexibly indicated, and the response speed is effectively improved.
  • the online push engine loads the plugin after initialization.
  • Each of the entity boxes represents a plugin (except for the initialization and loading plugins), and each dashed box represents a collection of plugins.
  • the solid arrow describes the direct plug-in relationship, and the output of the superior plug-in is directly used as the input to the sub-plugin.
  • the dashed arrows describe the indirect upstream and downstream relationships, and the results of the superior plugins are cached for reuse by one or more plugins in the lower level.
  • the plug-in "offline result 1" the plug-in "offline result 2"
  • the plug-in "near-city top N” and the plug-in "merged offline result” are called in parallel to obtain the basic data.
  • the plug-in "offline result 1" obtains the business information calculated by the offline push engine based on the collaborative filtering user-base.
  • the plug-in "offline result 2" obtains the business information calculated by the offline push engine based on the collaborative filtering item-base.
  • the plug-in "Top N City of Near City” obtains the top N business information with the highest geographic information (such as click rate, number of comments, etc.) in the nearby cities of the current client.
  • the plug-in "National Top N” obtains the top N business information with the highest geographic information in the country where the current client is located, such as the hotspot (such as click rate, number of comments, etc.).
  • the plugin in the second collection is called serially, and the push order of the business information is adjusted according to the business rules.
  • the plug-in "near-city filtering result” is based on the city near the city where the current client is located, and the top N service information with the highest hotspot ranking filters the offline result calculated by the offline push engine, in the plug-in "filtered result” Get filtered business information.
  • the plug-in "supplement result” selects some business information from the neighboring cities, the countries in which the current client is located, and the top N business information with the highest hotspot ranking to supplement.
  • the plug-in "category adjustment" adjusts the supplementary business information according to the category.
  • the plug-in "local Top N adjustment" is based on the business information after the category adjustment, and the top N business information with the highest hotspot is adjusted according to the geographic information located in the nearby city of the city where the current client is located.
  • the plugin "Supplement Offline Resources” supplements its associated resources with locally adjusted business information.
  • the plug-in "real-time behavior adjustment" is based on the current user-based behavior data of the client, and adjusts the service information after supplementing the offline resource.
  • the plug-in "Get Business Information” obtains the meta-information (such as title, picture, etc.) required for the client to display the business information after the real-time behavior adjustment, and pushes it to the client.
  • FIG. 4 a structural block diagram of an embodiment of a push device for service information according to the present application is shown, which may specifically include the following modules:
  • the load request receiving module 401 is configured to receive information sent by the client based on a service scenario. Load request
  • the plug-in loading module 402 is configured to load one or more plug-ins corresponding to the service scenario according to the loading request;
  • the plug-in calling module 403 is configured to invoke the first one or more plug-ins to query service information that matches the service scenario;
  • the service information pushing module 404 is configured to push the service information to the client.
  • the plug-in loading module 402 may include the following sub-modules:
  • a service scenario identifier reading submodule configured to read a service scenario identifier from the loading request
  • a plug-in identifier finding sub-module configured to search for one or more plug-in identifiers corresponding to the service scenario identifier
  • a plug-in search sub-module configured to search for one or more plug-ins corresponding to the one or more plug-in identifiers
  • the plug-in calling module 403 may include the following sub-modules:
  • a level identification submodule for identifying a level of the one or more plugins
  • the serial call sub-module is configured to serially invoke the service processing in the level in the order of the level, and query the service information that matches the service scenario.
  • the serial call submodule may include the following units:
  • the parallel call unit is used to call the plug-ins in the same level for business processing in parallel when calling a certain level of plug-ins.
  • the serial call submodule may include the following units:
  • An input unit configured to input 0 or more business information when calling a plugin
  • a service processing unit configured to perform service processing on the input service information, and obtain 0 or 1 service information
  • the output unit is configured to output the obtained 0 or 1 business information as an input of the lower level plug-in.
  • the level includes a first level and a second level
  • the service information includes a service object and a scene feature vector
  • the serial call submodule may include the following units:
  • a first level calling unit configured to invoke a plug-in in the first level, and acquire a service object and a scene feature vector for pushing, which are matched with the service scenario;
  • a second level calling unit configured to invoke a plug-in in the second level after the plug-in in the first level is invoked, and determine, according to the scene feature vector, the matching with the business scenario from the business object.
  • Business object
  • the plug-in in the first level includes a first plug-in and a second plug-in
  • the first level calling unit includes the following subunits:
  • a first plug-in calling sub-unit configured to invoke the first plug-in to obtain a service object for pushing that matches the service scenario
  • the second plug-in calling sub-unit is configured to invoke the second plug-in to acquire a scene feature vector of the service scene while calling the first plug-in.
  • the apparatus may further include the following modules:
  • a plug-in adjustment module configured to adjust the finger according to the adjustment instruction when receiving the plug-in Let the one or more plugins be adjusted.
  • the adjustment instruction may include one or more of the following:
  • the plug-in adjustment module may include the following sub-modules:
  • the plugin adds a submodule for adding the specified plugin to the specified level according to the added instruction
  • the plug-in deletes the sub-module, and is configured to delete the specified plug-in according to the deleting instruction;
  • the plug-in sequence sub-module is configured to adjust the level of the specified plug-in according to the sequence instruction.
  • the plug-in adding sub-module may include the following units:
  • a first correspondence adding unit configured to increase a correspondence between the specified plug-in and the plug-in identifier
  • a second corresponding relationship adding unit configured to increase a correspondence between the service scenario identifier and the plug-in identifier of the specified plug-in;
  • Level configuration unit for configuring the plugin identity level for the specified plugin
  • the plugin deletion submodule may include the following units:
  • a first correspondence deletion unit configured to delete a correspondence between the specified plug-in and the plug-in identifier
  • a second correspondence deletion unit configured to delete a correspondence between the service scenario identifier and the plug-in identifier of the specified plug-in
  • the plug-in sequence sub-module may include the following units:
  • a level adjustment unit that adjusts the level of the plug-in ID of the specified plug-in.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • Computer readable media does not include non-persistent computer readable media as defined herein (transitory media), such as modulated data signals and carrier waves.
  • Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
  • Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种业务信息的推送方法和装置,该方法包括:接收客户端基于一业务场景发送的信息加载请求;根据所述加载请求加载所述业务场景对应的一个或多个插件;调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;将所述业务信息推送至所述客户端。本申请实施例避免对整体进行修改,运维成本低;此外,公共的稳定插件可以作为系统内置插件供众多业务场景使用,插件可复用性高。

Description

一种业务信息的推送方法和装置 技术领域
本申请涉及计算机处理的技术领域,特别是涉及一种业务信息的推送方法和一种业务信息的推送装置。
背景技术
网络的迅猛发展将人们带入了信息社会和网络经济时代,信息量也随之迅猛增长,对企业的发展和个人生活都产生了深刻的影响。
网络中过量的信息使得人们无法高效地从中获取自己需要的部分,信息的使用效率反而降低。
为此,许多网站都会通过各种方式筛选出合适用户的信息推送给用户。
若进行在线推送,网站中的推送引擎一般具备一些特性:
1、变更灵活、生效快,适合于一些可能频繁调整的业务逻辑。
2、对请求响应速度、系统性能要求高,在涉及大量I/O的场景下,应该尽可能减小因I/O产生的时延,合理地将I/O并行化、异步化。
基于以上特性,在线推送引擎的动态性决定了可能面临的频繁更新问题,这无疑大大增加了维护和重构成本。
现有的在线系统在实现上,一般是将所有的逻辑整合在一起打包发布。
一方面,当逻辑中的某个功能需要变更时,就需要从一大堆数据中找到对应的功能函数进行修改,然后重新打包发布。
另一方面,如果只是需求简单地将逻辑中的某两个功能的作用先后顺序进行交换,却不得不在一大堆数据中找到功能的调用点,然后手动进行数据调整,过程繁琐。
再者,如果逻辑中有大量的异步、并发操作,各种控制语句必然会使逻辑变得混乱,增加修改、调整的难度。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种业务信息的推送方法和相应的一种业务信息的推送装置。
为了解决上述问题,本申请实施例公开了一种业务信息的推送方法,包括:
接收客户端基于一业务场景发送的信息加载请求;
根据所述加载请求加载所述业务场景对应的一个或多个插件;
调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
将所述业务信息推送至所述客户端。
可选地,所述根据所述加载请求加载所述业务场景对应的一个或多个插件的步骤包括:
从所述加载请求中读取业务场景标识;
查找所述业务场景标识对应的一个或多个插件标识;
查找所述一个或多个插件标识对应的一个或多个插件;
加载所述一个或多个插件。
可选地,所述调用所述第一个或多个插件查询与所述业务场景匹配的业务信息的步骤包括:
识别所述一个或多个插件的级别;
按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息。
可选地,所述按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
当调用某一个级别的插件时,并行调用同一属于所述级别中的插件进行业务处理。
可选地,所述按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
当调用某一个插件时,输入0个或0个以上的业务信息;
对输入的业务信息进行业务处理,获得0个或1个业务信息;
输出获得的0个或1个业务信息,作为下级插件的输入。
可选地,所述级别包括第一级别和第二级别;所述业务信息包括业务对象和场景特征向量;
所述按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量;
当调用所述第一级别中的插件完成后,调用所述第二级别中的插件,根据所述场景特征向量从所述业务对象确定与所述业务场景匹配的业务对象。
可选地,所述第一级别中的插件包括第一插件和第二插件;
所述调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量的步骤包括:
调用所述第一插件,获取与所述业务场景匹配的、用于推送的业务对象;
在调用所述第一插件的同时,调用所述第二插件,获取所述业务场景的场景特征向量。
可选地,还包括:
当接收到插件的调整指令时,按照所述调整指令对所述一个或多个插件进行调整。
可选地,所述调整指令包括如下的一个或多个:
增加指令、删除指令、调序指令;
所述按照所述调整指令对所述一个或多个插件进行调整的步骤包括:
按照所述增加指令在指定的级别中增加指定的插件;
和/或,
按照所述删除指令删除指定的插件;
和/或,
按照所述调序指令调整指定的插件的级别。
可选地,所述按照所述增加指令在指定的级别增加指定的插件的步骤包括:
增加指定的插件与插件标识的对应关系;
增加业务场景标识与指定插件的插件标识的对应关系;
对指定插件的插件标识配置级别;
所述按照所述删除指令删除指定的插件的步骤包括:
删除指定的插件与插件标识的对应关系;
删除业务场景标识与指定插件的插件标识的对应关系;
所述按照所述调序指令调整指定的插件的级别的步骤包括:
调整指定插件的插件标识的级别。
本申请实施例还公开了一种业务信息的推送装置,包括:
加载请求接收模块,用于接收客户端基于一业务场景发送的信息加载请求;
插件加载模块,用于根据所述加载请求加载所述业务场景对应的一个或多个插件;
插件调用模块,用于调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
业务信息推送模块,用于将所述业务信息推送至所述客户端。
可选地,所述插件加载模包括:
业务场景标识读取子模块,用于从所述加载请求中读取业务场景标识;
插件标识查找子模块,用于查找所述业务场景标识对应的一个或多个插件标识;
插件查找子模块,用于查找所述一个或多个插件标识对应的一个或多个插件;
加载子模块,用于加载所述一个或多个插件。
可选地,所述插件调用模块包括:
级别识别子模块,用于识别所述一个或多个插件的级别;
串行调用子模块,用于按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息。
可选地,所述串行调用子模块包括:
并行调用单元,用于在调用某一个级别的插件时,并行调用同一属于所述级别中的插件进行业务处理。
可选地,所述串行调用子模块包括:
输入单元,用于在调用某一个插件时,输入0个或0个以上的业务信息;
业务处理单元,用于对输入的业务信息进行业务处理,获得0个或1个业务信息;
输出单元,用于输出获得的0个或1个业务信息,作为下级插件的输入。
可选地,所述级别包括第一级别和第二级别;所述业务信息包括业务对象和场景特征向量;
所述串行调用子模块包括:
第一级别调用单元,用于调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量;
第二级别调用单元,用于在调用所述第一级别中的插件完成后,调用所述第二级别中的插件,根据所述场景特征向量从所述业务对象确定与所述业务场景匹配的业务对象。
可选地,所述第一级别中的插件包括第一插件和第二插件;
所述第一级别调用单元包括:
第一插件调用子单元,用于调用所述第一插件,获取与所述业务场景匹配的、用于推送的业务对象;
第二插件调用子单元,用于在调用所述第一插件的同时,调用所述第二插件,获取所述业务场景的场景特征向量。
可选地,还包括:
插件调整模块,用于在接收到插件的调整指令时,按照所述调整指令对所述一个或多个插件进行调整。
可选地,所述调整指令包括如下的一个或多个:
增加指令、删除指令、调序指令;
所述插件调整模块包括:
插件增加子模块,用于按照所述增加指令在指定的级别中增加指定的插件;
和/或,
插件删除子模块,用于按照所述删除指令删除指定的插件;
和/或,
插件调序子模块,用于按照所述调序指令调整指定的插件的级别。
可选地,所述插件增加子模块包括:
第一对应关系增加单元,用于增加指定的插件与插件标识的对应关系;
第二对应关系增加单元,用于增加业务场景标识与指定插件的插件标识的对应关系;
级别配置单元,用于对指定插件的插件标识配置级别;
所述插件删除子模块可以包括如下单元:
第一对应关系删除单元,用于删除指定的插件与插件标识的对应关系;
第二对应关系删除单元,用于删除业务场景标识与指定插件的插件标识的对应关系;
所述插件调序子模块可以包括如下单元:
级别调整单元,用于调整指定插件的插件标识的级别。
本申请实施例包括以下优点:
本申请实施例针对业务场景,调用对应的插件查找匹配的业务信息推送至客户端,实现了高度插件化的在线推送引擎,由于在线推送引擎的功能是以插件的形式加载,因此当某个功能需要进行更新时,可以找到对应插件进行修改即可,方便定位,避免对整体进行修改,运维成本低;此外,公共的稳定插件可以作为系统内置插件供众多业务场景使用,插件可复用性高。
本申请实施例支持动态地以热插拔的方式新增或删除插件,实现了动态可配置,通过合理配置,可以灵活地指示不同插件之间的串并行顺序结构,有效提升响应速度。
此外,配合简单的前端,可以方便地实现可拖拽插件式编程,支持可视化。
附图说明
图1是本申请的一种业务信息的推送方法实施例的步骤流程图;
图2A和图2B是本申请实施例的一种插件调序的示例图;
图3是本申请实施例的一种业务信息的推送示例流程图;
图4是本申请的一种业务信息的推送装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种业务信息的推送方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,接收客户端基于一业务场景发送的信息加载请求;
需要说明的是,本申请实施例可以应用在信息分发平台中,其实质为独立的服务器或服务器集群,如分布式系统,该信息分发平台收集了 许多网站提供的业务信息,按照一定的规则分发给用户。
进一步而言,该信息分发平台包括离线推送引擎和在线推送引擎,离线推送引擎可以基于所收集的业务信息、用户行为信息等数据计算推送的业务信息和场景特征向量,在线推送引擎可以基于离线推送引擎的结果进行在线推送。
对于性能要求高的业务场景,可以应用NodeJS,NodeJS提供了一种基于事件驱动的异步编程方式,对于高并发多异步操作具有优势,可以使本发明实施例获得更优的性能。
在本发明实施例中,可以引入了NodeJS中一个名为event-pipe的模块,这个模块对NodeJS的事件机制进行了一些上层的封装。
当然,除了NodeJS之外,还可以采用其他语言实现,本发明实施例对此不加以限制。
对于不同业务领域而言,可以具有不同的业务信息,即具有业务领域特征的对象。
例如,对于新闻媒体领域而言,业务信息可以为新闻数据;对于移动通讯领域而言,业务信息可以为移动通讯数据;对于电子商务(Electronic Commerce,EC)领域而言,业务信息可以为广告数据、商品数据,等等。
业务信息虽然承载不同的业务特性,但其本质仍然是数据,例如,文本、图像数据、音频数据、视频数据等等。
在具体实现中,该业务场景可以为在线的业务场景,具体可以包括如下的一种或多种:
1、网站首页;
在此业务场景中,所推送的业务信息为用户可能感兴趣的项目。
当客户端请求加载网站首页时,相当于接收到客户端基于该网站首页发送的信息加载请求。
2、项目详情页;
在此业务场景中,展示某个项目的详细信息,所推送的业务信息为与当前项目相关、且用户可能感兴趣的其他项目。
当客户端请求加载项目详情页时,相当于接收到客户端基于该项目详情页发送的信息加载请求。
3、搜索结果页;
在此业务场景中,展示基于某个搜索关键词进行搜索获得的结果,所推送的业务信息为与用户搜索意图相关的项目。
当客户端请求加载搜索某个搜索关键词时,相当于接收到客户端基于该搜索结果页发送的信息加载请求。
对于每一种不同的业务场景,客户端的所配置的请求参数都略有不同。
例如,在网站首页,客户端可以配置业务场景标识(scene=home)和访问用户的用户标识(user_id=u1)。
又例如,在项目详情页,客户端可以配置业务场景标识(scene=detail)、访问用户的用户标识(user_id=u1)和项目标识(item_id=i1)。
又例如,在项目详情页,客户端可以配置业务场景标识(scene=search)、访问用户的用户标识(user_id=u1)和搜索关键词(queryword=qw1)。
当然,上述业务场景只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他业务场景,本申请实施例对此不加以限制。另外,除了上述业务场景外,本领域技术人员还可以根据实际需要采用其它业务场景,本申请实施例对此也不加以限制。
步骤102,根据所述加载请求加载所述业务场景对应的一个或多个插件;
应用本申请实施例,可以预先将离线推荐引擎、在线推送引擎中至少部分功能定义为插件。
从系统角度考虑,可以将插件划分为系统内置插件和用户自定义插件。
系统内置插件包含如下特性:
1)对用户屏蔽一些在线存储的细节(如存储系统、数据格式、账号密码等),使用户专注于业务逻辑。
2)提供一些常用的稳定功能插件,减少用户代码编写。
用户自定义插件一般和业务高度相关,但用户也可以有选择地将自己的插件公开分享给其他业务使用,甚至申请提升为系统内置插件。
每一种业务场景的业务逻辑可能一致,也可能不一致,因此,用户可以为不同的业务场景设置一套或多套插件模板。
在插件模板中,为每个业务场景建立一个到插件集的映射关系。
在具体实现中,可以从加载请求中读取业务场景标识,从而在预设的第一映射表格(如MySQL表格)中,查找所述业务场景标识对应的一个或多个插件标识,如插件名称、插件ID等。
其中,在第一映射表格中,可以存储预先定义的业务场景标识与插件标识的映射关系,格式如下:
字段名 字段说明
user_id 使用推送引擎的用户的用户标识
scene_code 业务场景标识,如home、detail、search等等
plugin_flow 插件标识,格式为[[a],[b,c],[d]]。
在预设的第二映射表格(如MySQL表格)中,查找一个或多个插件标识对应的一个或多个插件。
其中,在第二映射表格中,可以存储预先定义的插件标识与插件的数据本身的映射关系,格式如下:
字段名 字段说明
user_id 使用推送引擎的用户的用户标识
plugin_name 插件标识
plugin_code 插件
若查找到一个或多个插件,则可以加载一个或多个插件至内存,如event-pipe容器,用于后续执行。
其中,event-pipe容器用于提供了一个基于事件的插件运行上下文环境,实际实现过程中也可以用其他容器代替,本申请实施例对此不加以限制。
步骤103,调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
每一个插件中至少定义了一种处理逻辑,一个或多个插件可以组成推送引擎中的推送逻辑,每个插件完成指定的处理逻辑,最终实现在线推送。
在具体实现中,可以识别所述一个或多个插件的级别。
进一步而言,在第一映射表格的plugin_flow字段中,除了定义插件标识之外,还可以定义插件的级别。
例如,plugin_flow字段[a],[b],[c]表示插件a的级别高于插件b的级别,插件b的级别高于插件c的级别。
按照级别的顺序串行调用该级别中的进行业务处理、查询与业务场景匹配的业务信息。
级别,即执行顺序,级别越高,越优先执行,因此,不同级别的插件是按照顺序串行执行。
例如,若plugin_flow字段为[a],[b],[c],则可以先调用插件a,再调用插件b,最后调用插件c。
不同的业务场景具有不同的推送逻辑,因此,如在网站首页中推送用户可能感兴趣的项目、在项目详情页中推送与当前项目相关、且用户可能感兴趣的其他项目、在搜索结果页中推送与用户搜索意图相关的项目等等,这些推送逻辑可以由插件实现。
需要说明的是,当调用某一个级别的插件时,并行调用同一属于级别中的插件进行业务处理。
例如,若plugin_flow字段为[a],[b,c],[d],则可以先调用插件a,再同时调用插件b和插件c,最后调用插件d。
此外,对于某一个插件而言,上级(又称上游)插件的输出可以作为下级(又称下游)插件的输入。
上级的插件,可以是上一级,也可以上二级、上三级等等,同理,下级的插件,可以是下一级,也可以是下二级、下三级等等,本申请实施例对此不加以限制。
具体而言,当调用某一个插件时,输入0个或0个以上的业务信息,对输入的业务信息进行业务处理,获得0个或1个业务信息,输出获得的0个或1个业务信息,作为下级插件的输入。
例如,对于某些提取数据类的插件,可以具有0个输入,对于某些验证类的插件,若验证通过,则可以具有0个输出。
由于离线推送引擎的产出结果作为在线推送引擎的初始原料,通常都会在在线推送引擎初始的处理中进行加载,包括但不限于:
1、以用户标识或项目标识为查询key的业务对象;
2、用户或项目的特征向量。
因此,在一个业务场景中,假设插件的级别包括第一级别和第二级别;业务信息包括业务对象和场景特征向量。
在查询时,可以调用第一级别中的插件,获取与业务场景匹配的、用于推送的业务对象及场景特征向量。
由于这些离线推送引擎的结果通常从在线存储获取,需要消耗网络I/O(影响性能),但由于它们彼此独立,没有前后依赖关系,因此,可以进行合理的并行化处理。
同时,这些基础数据可能被下游多个插件引用,因此,从效率角度考虑,可以会对这些基础数据进行缓存。
具体而言,第一级别中的插件包括第一插件和第二插件,这些第一插件和第二插件可以为系统内置的插件,可以根据不同的业务场景进行选择。
可以调用第一插件,获取与业务场景匹配的、用于推送的业务对象。
在调用所述第一插件的同时,可以调用第二插件,获取业务场景的场景特征向量。
由于不同的业务场景具有不同的推送逻辑,第二级别中的插件可以为用户自定义插件。
当调用第一级别中的插件完成后,调用第二级别中的插件,根据场景特征向量从业务对象确定与业务场景匹配的业务对象,即基于用户标识或项目标识实现个性化的推送。
此外,除了与业务逻辑相关插件之外,还可以在插件队列首尾插入一些自定义插件,执行一些预先定义的初始化和收尾工作,如建立连接池、记录日志等操作。
需要说明的是,第一级别和第二级别是相对而言的,并非只有两个级别,第一级别和第二级别中也可以存在多个级别,本发明实施例对此不加以限制。
步骤104,将所述业务信息推送至所述客户端。
若查询出与业务场景匹配的业务信息,则可以推送至客户端进行展示。
例如,对于网站首页,则可以将业务信息与网站首页的页面数据一起返回至客户端,在网站首页展示业务信息。
又例如,对于项目详情页,则可以将业务信息与项目详情页的页面数据一起返回至客户端,在项目详情页展示业务信息。
又例如,对于搜索结果页,则可以将业务信息与索结果页的页面数据一起返回至客户端,在索结果页展示业务信息。
本申请实施例针对业务场景,调用对应的插件查找匹配的业务信息推送至客户端,实现了高度插件化的在线推送引擎,由于在线推送引擎的功能是以插件的形式加载,因此当某个功能需要进行更新时,可以找到对应插件进行修改即可,方便定位,避免对整体进行修改,运维成本低;此外,公共的稳定插件可以作为系统内置插件供众多业务场景使用,插件可复用性高。
在本申请的一个实施例中,该方法还可以包括如下步骤:
步骤105,当接收到插件的调整指令时,按照所述调整指令对所述一个或多个插件进行调整;
由于插件独立于主程序进行加载的特性,可以支持动态调整。
在具体实现中,调整指令可以包括增加指令、删除指令、调序指令中的一个或多个;
因此,在调整插件时:
1、针对增加指令,可以按照增加指令在指定的级别中增加指定的插件,实现热插拔式的增加。
例如,在推送的业务列表中将运营人员提供的重点项目(如重大的新 闻事件等)进行人工置顶,这时候可以将其定义为一个插件,在与其他逻辑完全隔离的情况下动态地插入到运行时插件队列的末尾,将该重点项目推送到客户端。
2、针对删除指令,可以按照删除指令删除指定的插件,实现热插拔式的删除。
例如,一些临时性的项目结束了,便可以将该项目的插件删除,恢复原始的逻辑。
又例如,如果突然发现线上运行的某个插件出现bug,需要紧急下线修复,这时候就可以将该插件删除。
3、针对调序指令,可以按照调序指令调整指定的插件的级别。
例如,假设在一个推送视频信息的业务场景中。
用户A添加了一个插件filter_1,用于从在线存储获取最新的推荐池(即可被推荐的项目集合,涉及网络I/O耗时为T1),对当前推荐列表中过滤掉不在推荐池里的视频。
用户B添加了一个插件filter_2,对推送列表中的项目从在线存储获取视频元信息(涉及网络I/O耗时为T2),然后过滤其中时长小于一分钟的视频。
一方面,如图2A所示,在输入(input)数据后,可以选择串行地先后调用filter_1和filter_2得到最终结果(result),总时间为T1+T2。
另一方面,如图2B所示,在输入(input)数据后,可以利用过滤操作的特性,先将filter_1和filter_2并行处理,再对两者的输出取交集(即图中intersect操作)得到最终结果(result),总时间为max(T1,T2),小于T1+T2。
由此可见,由于在线推送引擎的框架提供了对并发操作的支持,因此,用户可以通过合理地配置各个插件之间的串并行关系,可以优化系统性能。
在具体实现中,由于已将插件加载至内存,因此,在调整时可以对第一映射表和第二映射表进行配置。
1、针对插件的增加,可以在第一映射表中的plugin_flow字段,增加指定的插件与插件标识的对应关系,在plugin_flow字段对指定插件的插件标识配置级别。
例如,若plugin_flow字段为[a],[b,c],[d],需要增加插件e,在插件d之后调用,则可以将plugin_flow字段修改为[a],[b,c],[d],[e],即在[d]之后增加[e]。
在第二映射表中的plugin_name字段和plugin_code字段增加业务场景标识与指定插件的插件标识的对应关系。
2、针对插件的删除,可以在第一映射表中的plugin_flow字段,删除指定的插件与插件标识的对应关系,在在第二映射表中的plugin_name字段和plugin_code字段删除业务场景标识与指定插件的插件标识的对应关系。
3、针对插件的调序,可以在第一映射表中的plugin_flow字段,调整指定插件的插件标识的级别。
例如,若plugin_flow字段为[a],[b,c],[d],需要调整插件b和插件d的顺序,则可以将plugin_flow字段调整为[a],[d,c],[b]
本申请实施例支持动态地以热插拔的方式新增或删除插件,实现了动态可配置,通过合理配置,可以灵活地指示不同插件之间的串并行顺序结构,有效提升响应速度。
此外,配合简单的前端,可以方便地实现可拖拽插件式编程,支持可视化。
为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申请实施例中基于插件的业务信息的推送方法。
如图3所示,在线推送引擎在初始化之后,加载插件。
其中,每一个实体框表示一个插件(初始化和加载插件除外),每一个虚线框表示一个集合的插件。
实线箭头描述直接的插件上下级关系,上级插件的输出直接作为下级插件的输入。
虚线箭头描述间接的上下游关系,上级插件的结果进行缓存供下级一个或多个插件复用。
在第一个集合的插件中,并行调用插件“离线结果1”、插件“离线结果2”、插件“近邻城市Top N”和插件“合并离线结果”,获取基础数据。
具体而言,插件“离线结果1”获取离线推送引擎基于协同过滤user-base计算的业务信息。
插件“离线结果2”获取离线推送引擎基于协同过滤item-base计算的业务信息。
插件“近邻城市Top N”获取地理信息位于当前客户端所处城市的附近城市,热点(如点击率、评论数量等)排行最高的前N个业务信息。
插件“全国Top N”获取地理信息位于当前客户端所处国家,热点(如点击率、评论数量等)排行最高的前N个业务信息。
在第一个集合的插件调用完成时,串行调用插件“合并离线结果”,合并插件“离线结果1”和插件“离线结果2”输出的结果,获得离线推送引擎计算的离线结果。
串行调用第二个集合中的插件,根据业务规则调整业务信息的推送顺序。
具体而言,插件“近邻城市过滤结果”基于当前客户端所处城市附近城市,热点排行最高的前N个业务信息对离线推送引擎计算的离线结果进行过滤,在插件“过滤后的结果”中获取过滤后的业务信息。
插件“补充结果”在过滤后的结果的基础上,从当前客户端所处城市的附近城市、所处国家,热点排行最高的前N个业务信息中挑选部分业务信息进行补充。
在第二个集合中具有一个子集合,基于业务逻辑进行调整。
具体而言,插件“类目调整”对补充后的业务信息按照类目进行调整。
插件“本地Top N调整”在类目调整之后的业务信息的基础上,按照地理信息位于当前客户端所处城市的附近城市,热点最高的前N个业务信息进行调整。
插件“补充离线资源”对本地调整之后的业务信息补充其关联的资源。
插件“实时行为调整”基于当前用户基于客户端的行为数据,对补充离线资源之后的业务信息进行调整。
插件“获取业务信息”对实时行为调整之后的业务信息获取客户端展现所需要的元信息(如标题、图片等资源),推送给客户端。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种业务信息的推送装置实施例的结构框图,具体可以包括如下模块:
加载请求接收模块401,用于接收客户端基于一业务场景发送的信息 加载请求;
插件加载模块402,用于根据所述加载请求加载所述业务场景对应的一个或多个插件;
插件调用模块403,用于调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
业务信息推送模块404,用于将所述业务信息推送至所述客户端。
在本申请的一种实施例中,所述插件加载模块402可以包括如下子模块:
业务场景标识读取子模块,用于从所述加载请求中读取业务场景标识;
插件标识查找子模块,用于查找所述业务场景标识对应的一个或多个插件标识;
插件查找子模块,用于查找所述一个或多个插件标识对应的一个或多个插件;
加载子模块,用于加载所述一个或多个插件。
在本申请的一种实施例中,所述插件调用模块403可以包括如下子模块:
级别识别子模块,用于识别所述一个或多个插件的级别;
串行调用子模块,用于按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息。
在本申请的一种实施例中,所述串行调用子模块可以包括如下单元:
并行调用单元,用于在调用某一个级别的插件时,并行调用同一属于所述级别中的插件进行业务处理。
在本申请的一种实施例中,所述串行调用子模块可以包括如下单元:
输入单元,用于在调用某一个插件时,输入0个或0个以上的业务信息;
业务处理单元,用于对输入的业务信息进行业务处理,获得0个或1个业务信息;
输出单元,用于输出获得的0个或1个业务信息,作为下级插件的输入。
在本申请实施例的一种示例中,所述级别包括第一级别和第二级别;所述业务信息包括业务对象和场景特征向量;
所述串行调用子模块可以包括如下单元:
第一级别调用单元,用于调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量;
第二级别调用单元,用于在调用所述第一级别中的插件完成后,调用所述第二级别中的插件,根据所述场景特征向量从所述业务对象确定与所述业务场景匹配的业务对象。
在本申请实施例的一种示例中,所述第一级别中的插件包括第一插件和第二插件;
所述第一级别调用单元包括如下子单元:
第一插件调用子单元,用于调用所述第一插件,获取与所述业务场景匹配的、用于推送的业务对象;
第二插件调用子单元,用于在调用所述第一插件的同时,调用所述第二插件,获取所述业务场景的场景特征向量。
在本申请的一种实施例中,该装置还可以包括如下模块:
插件调整模块,用于在接收到插件的调整指令时,按照所述调整指 令对所述一个或多个插件进行调整。
在具体实现中,所述调整指令可以包括如下的一个或多个:
增加指令、删除指令、调序指令;
所述插件调整模块可以包括如下子模块:
插件增加子模块,用于按照所述增加指令在指定的级别中增加指定的插件;
和/或,
插件删除子模块,用于按照所述删除指令删除指定的插件;
和/或,
插件调序子模块,用于按照所述调序指令调整指定的插件的级别。
在本申请的一种实施例中,所述插件增加子模块可以包括如下单元:
第一对应关系增加单元,用于增加指定的插件与插件标识的对应关系;
第二对应关系增加单元,用于增加业务场景标识与指定插件的插件标识的对应关系;
级别配置单元,用于对指定插件的插件标识配置级别;
所述插件删除子模块可以包括如下单元:
第一对应关系删除单元,用于删除指定的插件与插件标识的对应关系;
第二对应关系删除单元,用于删除业务场景标识与指定插件的插件标识的对应关系;
所述插件调序子模块可以包括如下单元:
级别调整单元,用于调整指定插件的插件标识的级别。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体 (transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种业务信息的推送方法和一种业务信息的推送装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

  1. 一种业务信息的推送方法,其特征在于,包括:
    接收客户端基于一业务场景发送的信息加载请求;
    根据所述加载请求加载所述业务场景对应的一个或多个插件;
    调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
    将所述业务信息推送至所述客户端。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述加载请求加载所述业务场景对应的一个或多个插件的步骤包括:
    从所述加载请求中读取业务场景标识;
    查找所述业务场景标识对应的一个或多个插件标识;
    查找所述一个或多个插件标识对应的一个或多个插件;
    加载所述一个或多个插件。
  3. 根据权利要求1或2所述的方法,其特征在于,所述调用所述第一个或多个插件查询与所述业务场景匹配的业务信息的步骤包括:
    识别所述一个或多个插件的级别;
    按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息。
  4. 根据权利要求3所述的方法,其特征在于,所述按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
    当调用某一个级别的插件时,并行调用同一属于所述级别中的插件进行业务处理。
  5. 根据权利要求3或4所述的方法,其特征在于,所述按照级别的 顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
    当调用某一个插件时,输入0个或0个以上的业务信息;
    对输入的业务信息进行业务处理,获得0个或1个业务信息;
    输出获得的0个或1个业务信息,作为下级插件的输入。
  6. 根据权利要求3所述的方法,其特征在于,所述级别包括第一级别和第二级别;所述业务信息包括业务对象和场景特征向量;
    所述按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息的步骤包括:
    调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量;
    当调用所述第一级别中的插件完成后,调用所述第二级别中的插件,根据所述场景特征向量从所述业务对象确定与所述业务场景匹配的业务对象。
  7. 根据权利要求6所述的方法,其特征在于,所述第一级别中的插件包括第一插件和第二插件;
    所述调用所述第一级别中的插件,获取与所述业务场景匹配的、用于推送的业务对象及场景特征向量的步骤包括:
    调用所述第一插件,获取与所述业务场景匹配的、用于推送的业务对象;
    在调用所述第一插件的同时,调用所述第二插件,获取所述业务场景的场景特征向量。
  8. 根据权利要求1或2或4或5或6或7所述的方法,其特征在于,还包括:
    当接收到插件的调整指令时,按照所述调整指令对所述一个或多个插 件进行调整。
  9. 根据权利要求8所述的方法,其特征在于,所述调整指令包括如下的一个或多个:
    增加指令、删除指令、调序指令;
    所述按照所述调整指令对所述一个或多个插件进行调整的步骤包括:
    按照所述增加指令在指定的级别中增加指定的插件;
    和/或,
    按照所述删除指令删除指定的插件;
    和/或,
    按照所述调序指令调整指定的插件的级别。
  10. 根据权利要求9所述的方法,其特征在于,
    所述按照所述增加指令在指定的级别增加指定的插件的步骤包括:
    增加指定的插件与插件标识的对应关系;
    增加业务场景标识与指定插件的插件标识的对应关系;
    对指定插件的插件标识配置级别;
    所述按照所述删除指令删除指定的插件的步骤包括:
    删除指定的插件与插件标识的对应关系;
    删除业务场景标识与指定插件的插件标识的对应关系;
    所述按照所述调序指令调整指定的插件的级别的步骤包括:
    调整指定插件的插件标识的级别。
  11. 一种业务信息的推送装置,其特征在于,包括:
    加载请求接收模块,用于接收客户端基于一业务场景发送的信息加载请求;
    插件加载模块,用于根据所述加载请求加载所述业务场景对应的一个或多个插件;
    插件调用模块,用于调用所述第一个或多个插件查询与所述业务场景匹配的业务信息;
    业务信息推送模块,用于将所述业务信息推送至所述客户端。
  12. 根据权利要求11所述的装置,其特征在于,所述插件调用模块包括:
    级别识别子模块,用于识别所述一个或多个插件的级别;
    串行调用子模块,用于按照级别的顺序串行调用所述级别中的进行业务处理、查询与所述业务场景匹配的业务信息。
  13. 根据权利要求12所述的装置,其特征在于,所述串行调用子模块包括:
    并行调用单元,用于在调用某一个级别的插件时,并行调用同一属于所述级别中的插件进行业务处理。
  14. 根据权利要求12或13所述的方法,其特征在于,所述串行调用子模块包括:
    输入单元,用于在调用某一个插件时,输入0个或0个以上的业务信息;
    业务处理单元,用于对输入的业务信息进行业务处理,获得0个或1个业务信息;
    输出单元,用于输出获得的0个或1个业务信息,作为下级插件的输入。
  15. 根据权利要求11或12或13或14所述的装置,其特征在于,还 包括:
    插件调整模块,用于在接收到插件的调整指令时,按照所述调整指令对所述一个或多个插件进行调整。
  16. 根据权利要求15所述的装置,其特征在于,所述调整指令包括如下的一个或多个:
    增加指令、删除指令、调序指令;
    所述插件调整模块包括:
    插件增加子模块,用于按照所述增加指令在指定的级别中增加指定的插件;
    和/或,
    插件删除子模块,用于按照所述删除指令删除指定的插件;
    和/或,
    插件调序子模块,用于按照所述调序指令调整指定的插件的级别。
PCT/CN2016/109940 2015-12-23 2016-12-14 一种业务信息的推送方法和装置 Ceased WO2017107826A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510983049.8A CN106911757A (zh) 2015-12-23 2015-12-23 一种业务信息的推送方法和装置
CN201510983049.8 2015-12-23

Publications (1)

Publication Number Publication Date
WO2017107826A1 true WO2017107826A1 (zh) 2017-06-29

Family

ID=59089120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/109940 Ceased WO2017107826A1 (zh) 2015-12-23 2016-12-14 一种业务信息的推送方法和装置

Country Status (2)

Country Link
CN (1) CN106911757A (zh)
WO (1) WO2017107826A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123999A (zh) * 2017-11-28 2018-06-05 维沃移动通信有限公司 一种消息推送方法及移动终端
CN110908726A (zh) * 2018-09-14 2020-03-24 广州神马移动信息科技有限公司 数据管理方法、装置、设备及计算机可读存储介质
CN110941639A (zh) * 2018-09-21 2020-03-31 阿里巴巴集团控股有限公司 数据处理、数据查询方法、装置以及设备
CN111159391A (zh) * 2020-01-02 2020-05-15 中国银行股份有限公司 业务场景数据筛选装置及方法
CN111198675A (zh) * 2019-12-24 2020-05-26 天阳宏业科技股份有限公司 一种管控方法及系统
CN111464390A (zh) * 2020-03-31 2020-07-28 中国建设银行股份有限公司 网络应用系统监控预警方法及系统
CN111723000A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 测试方法、装置、电子设备和存储介质
CN113760382A (zh) * 2020-10-15 2021-12-07 北京沃东天骏信息技术有限公司 一种插件启动方法、装置、终端设备及存储介质
CN114564497A (zh) * 2020-11-27 2022-05-31 Tcl商用信息科技(惠州)有限责任公司 基于nodejs的缓存高可用方法、系统及缓存服务器
CN119816805A (zh) * 2023-08-10 2025-04-11 芯原微电子(上海)股份有限公司 一种插件式流程管理系统、电子设备及业务流程管理方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322350B (zh) * 2018-02-27 2021-06-01 创新先进技术有限公司 业务监控方法及装置和电子设备
CN110097102A (zh) * 2019-04-22 2019-08-06 上海车轮互联网服务有限公司 适用于不同业务场景的数据配置方法及装置
CN110059256B (zh) * 2019-04-26 2023-11-07 北京沃东天骏信息技术有限公司 用于展示信息的系统、方法及装置
CN110807152B (zh) * 2019-10-31 2022-06-07 武汉天喻教育科技有限公司 基于多业务的推荐引擎系统的创建方法和存储介质
CN112231566B (zh) * 2020-10-16 2023-11-28 成都知道创宇信息技术有限公司 信息推送方法、装置、系统和可读存储介质
CN113706209B (zh) * 2021-08-31 2024-07-12 北京达佳互联信息技术有限公司 运营数据处理方法及相关装置
CN114466070B (zh) * 2022-01-20 2024-11-15 精伦电子股份有限公司 中间件系统、服务请求处理方法、电子设备及存储介质
CN119065732A (zh) * 2023-05-31 2024-12-03 北京字跳网络技术有限公司 一种组件加载方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102026233A (zh) * 2010-12-03 2011-04-20 中兴通讯股份有限公司 电信设备版本兼容方法及装置
CN102073506A (zh) * 2011-02-24 2011-05-25 北京中电普华信息技术有限公司 一种基于J2EE的Web应用请求处理方法及系统
CN103297381A (zh) * 2012-02-22 2013-09-11 阿里巴巴集团控股有限公司 一种基于插件的业务访问方法及其系统
CN103617508A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 可配置的业务规则插件扩展装置和业务规则插件扩展方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271121A (zh) * 2010-06-01 2011-12-07 铜陵玉成软件科技有限责任公司 面向业务模型的云计算开发平台实现方法
CN103810204B (zh) * 2012-11-13 2019-02-05 腾讯科技(深圳)有限公司 一种信息查找的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102026233A (zh) * 2010-12-03 2011-04-20 中兴通讯股份有限公司 电信设备版本兼容方法及装置
CN102073506A (zh) * 2011-02-24 2011-05-25 北京中电普华信息技术有限公司 一种基于J2EE的Web应用请求处理方法及系统
CN103297381A (zh) * 2012-02-22 2013-09-11 阿里巴巴集团控股有限公司 一种基于插件的业务访问方法及其系统
CN103617508A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 可配置的业务规则插件扩展装置和业务规则插件扩展方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123999A (zh) * 2017-11-28 2018-06-05 维沃移动通信有限公司 一种消息推送方法及移动终端
CN110908726A (zh) * 2018-09-14 2020-03-24 广州神马移动信息科技有限公司 数据管理方法、装置、设备及计算机可读存储介质
CN110941639A (zh) * 2018-09-21 2020-03-31 阿里巴巴集团控股有限公司 数据处理、数据查询方法、装置以及设备
CN110941639B (zh) * 2018-09-21 2023-03-31 阿里巴巴集团控股有限公司 数据处理、数据查询方法、装置以及设备
CN111723000A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 测试方法、装置、电子设备和存储介质
CN111198675A (zh) * 2019-12-24 2020-05-26 天阳宏业科技股份有限公司 一种管控方法及系统
CN111198675B (zh) * 2019-12-24 2023-04-11 天阳宏业科技股份有限公司 一种管控方法及系统
CN111159391A (zh) * 2020-01-02 2020-05-15 中国银行股份有限公司 业务场景数据筛选装置及方法
CN111159391B (zh) * 2020-01-02 2024-02-23 中国银行股份有限公司 业务场景数据筛选装置及方法
CN111464390A (zh) * 2020-03-31 2020-07-28 中国建设银行股份有限公司 网络应用系统监控预警方法及系统
CN113760382A (zh) * 2020-10-15 2021-12-07 北京沃东天骏信息技术有限公司 一种插件启动方法、装置、终端设备及存储介质
CN113760382B (zh) * 2020-10-15 2024-05-17 北京沃东天骏信息技术有限公司 一种插件启动方法、装置、终端设备及存储介质
CN114564497A (zh) * 2020-11-27 2022-05-31 Tcl商用信息科技(惠州)有限责任公司 基于nodejs的缓存高可用方法、系统及缓存服务器
CN119816805A (zh) * 2023-08-10 2025-04-11 芯原微电子(上海)股份有限公司 一种插件式流程管理系统、电子设备及业务流程管理方法
US20250232247A1 (en) * 2023-08-10 2025-07-17 Verisilicon Microelectronics (Shanghai) Co., Ltd. Plug-in process management system, electronic device and business process management method

Also Published As

Publication number Publication date
CN106911757A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
WO2017107826A1 (zh) 一种业务信息的推送方法和装置
US11163957B2 (en) Performing semantic graph search
US11038973B2 (en) Contact event feeds and activity updates
US10152773B2 (en) Creating a blurred area for an image to reuse for minimizing blur operations
US11461786B2 (en) Systems, methods, and apparatuses for implementing cross cloud engagement activity visualization without requiring database merge or data replication
US20130166543A1 (en) Client-based search over local and remote data sources for intent analysis, ranking, and relevance
US20160191639A1 (en) Recommending Content Based On User Profiles Clustered By Subscription Data
CN105378726A (zh) 利用更新层的数据库分区
WO2018045750A1 (zh) 用户的评论数据展现方法、系统、服务器和用户终端
US10872097B2 (en) Data resolution system for management of distributed data
US20180101622A1 (en) Perform graph traversal with graph query language
JP2016509302A (ja) 特集ページを作成するための方法及びデバイス
US11372826B2 (en) Dynamic inclusion of custom columns into a logical model
CN112416923A (zh) 一种元数据管理方法及装置、设备、存储介质
CN104169914A (zh) 数据存储方法、数据处理方法、装置及移动终端
CN105930479A (zh) 一种数据倾斜处理方法及装置
US20130246432A1 (en) Providing content based on online topical trends
US20190138658A1 (en) Generation of a multi-tenant skinny table for a base table
US9754015B2 (en) Feature rich view of an entity subgraph
WO2020114152A1 (zh) 品牌知识图谱显示方法、装置、图服务器及存储介质
WO2019233095A1 (zh) 一种信息展示方法及其终端设备、网络设备
EP4083819A1 (en) Sharing of data share metrics to customers
US20190050420A1 (en) Edit and share unsupported files through instantly generated preview
JP2014534542A (ja) ユーザ作成コンテンツの処理方法及び装置
US10949459B2 (en) Alternative search methodology

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16877637

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16877637

Country of ref document: EP

Kind code of ref document: A1