A method and device for processing user request
By matching the keyword identifiers in user requests to obtain diversion accounts and dynamic landing page tasks, dynamic diversion user requests solves the problems of cumbersome adjustment steps and untimely adjustments in the existing technology, and realizes efficient management of cross-platform and cross-accounts and Dynamic landing page adjustment.
Patent Information
- Application Number
- CN202010037008.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-01-14
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2040-01-14
AI Technical Summary
In the prior art, the steps to adjust keyword landing pages are cumbersome and not timely adjustments, making it difficult to achieve efficient management across accounts and across platforms.
By receiving and parsing user requests, matching keyword identifications to obtain the diversion account identification, and matching the dynamic landing page task according to the diversion account identification, dynamic diversion user requests to the corresponding landing page.
It realizes dynamic and efficient keyword adjustments, cross-platform and cross-account management, and takes effect in a timely manner, solving the problems of cumbersome adjustment steps and untimely adjustments.
Smart Images

Figure CN113127768B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method and device for processing user requests. Background Art
[0002] Search Engine Marketing (SEM) is the key for e-commerce companies to fully utilize search engines for promotion. Due to the large number of product categories and their constant changes, this poses a huge challenge to the search engine marketing system. Now e-commerce companies need to connect to different search engines, and each platform's search engine requires hundreds of thousands of diversion accounts, and the number of keywords is even higher than hundreds of millions.
[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:
[0004] When adjusting the keyword landing page, there are problems such as complicated adjustment steps and untimely adjustments. Summary of the invention
[0005] In view of this, an embodiment of the present invention provides a method and apparatus for processing a user request to solve the technical problems of complicated adjustment steps and untimely adjustment.
[0006] To achieve the above object, according to one aspect of an embodiment of the present invention, a method for processing a user request is provided, comprising:
[0007] Receiving and parsing a user request, and obtaining a user identifier and a keyword identifier carried in the user request;
[0008] Matching a corresponding diversion account identifier according to the keyword identifier;
[0009] The corresponding dynamic landing page task is matched according to the diversion account identifier, so that the user request is diverted to the landing page according to the dynamic landing page task.
[0010] Optionally, before receiving and parsing the user request, the following is further included:
[0011] Creating a dynamic landing page task; wherein the dynamic landing page task includes a task identifier, basic task information, a diversion account identifier, and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier;
[0012] The static landing page service domain name in the original landing page link is replaced with the dynamic landing page service domain name to obtain the dynamic landing page link, and the dynamic landing page link is synchronized to the platform.
[0013] Optionally, the user request is diverted to a landing page according to the dynamic landing page task, including:
[0014] According to the diversion ratios corresponding to the diversion identifiers in the dynamic landing page task, a target diversion identifier is randomly determined;
[0015] Replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link;
[0016] The user request is diverted to the target landing page link.
[0017] Optionally, replacing the keyword field in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link includes:
[0018] The keyword field in the landing page link corresponding to the target diversion identifier is replaced with the keyword, and the task identifier of the dynamic landing page task and the target diversion identifier are continued to be added to the landing page link corresponding to the target diversion identifier, thereby assembling the target landing page link.
[0019] Optionally, after the user request is diverted to the target landing page link, the method further includes:
[0020] The combined identifier consisting of the user identifier and the keyword identifier is used as the key, and the target landing page link is used as the value, and is stored in the cache database.
[0021] Optionally, after storing the combined identifier consisting of the user identifier and the keyword identifier as a key and the target landing page link as a value in a cache database, the method further includes:
[0022] If the target landing page link is obtained from the cache database, the key-value is stored in the local memory and the expiration time of the key is set.
[0023] Optionally, matching a corresponding dynamic landing page task according to the diversion account identifier, thereby diverting the user request to a landing page according to the dynamic landing page task, includes:
[0024] Determine whether there is a target landing page link matching the user identifier and the keyword identifier in the local memory; if so, obtain the target landing page link from the local memory and divert the user request to the target landing page link; if not, continue to determine whether there is a target landing page link matching the user identifier and the keyword identifier in the cache database;
[0025] If yes, a target landing page link is obtained from the cache database, and the user request is diverted to the target landing page link;
[0026] If not, a corresponding dynamic landing page task is matched according to the diversion account identifier, so that the user request is diverted to the landing page according to the dynamic landing page task.
[0027] In addition, according to another aspect of an embodiment of the present invention, there is provided a device for processing a user request, comprising:
[0028] A receiving module, used to receive and parse a user request, and obtain a user identifier and a keyword identifier carried in the user request;
[0029] A matching module, used to match the corresponding diversion account identifier according to the keyword identifier;
[0030] The processing module is used to match the corresponding dynamic landing page task according to the diversion account identifier, so as to divert the user request to the landing page according to the dynamic landing page task.
[0031] Optionally, it also includes:
[0032] A creation module, used to create a dynamic landing page task before receiving and parsing a user request; wherein the dynamic landing page task includes a task identifier, basic task information, a diversion account identifier, and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier;
[0033] The synchronization module is used to replace the static landing page service domain name in the original landing page link with the dynamic landing page service domain name to obtain the dynamic landing page link, and synchronize the dynamic landing page link to the platform.
[0034] Optionally, the processing module is further used for:
[0035] According to the diversion ratios corresponding to the diversion identifiers in the dynamic landing page task, a target diversion identifier is randomly determined;
[0036] Replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link;
[0037] The user request is diverted to the target landing page link.
[0038] Optionally, the processing module is further used for:
[0039] The keyword field in the landing page link corresponding to the target diversion identifier is replaced with the keyword, and the task identifier of the dynamic landing page task and the target diversion identifier are continued to be added to the landing page link corresponding to the target diversion identifier, thereby assembling the target landing page link.
[0040] Optionally, the processing module is further used for:
[0041] After the user request is diverted to the target landing page link, the request is stored in a cache database with the combined identifier consisting of the user identifier and the keyword identifier as the key and the target landing page link as the value.
[0042] Optionally, the processing module is further used for:
[0043] After storing the combined identifier consisting of the user identifier and the keyword identifier as the key and the target landing page link as the value in the cache database, if the target landing page link is obtained from the cache database, the key-value is stored in the local memory and the expiration time of the key is set.
[0044] Optionally, the processing module is further used for:
[0045] Determine whether there is a target landing page link matching the user identifier and the keyword identifier in the local memory; if so, obtain the target landing page link from the local memory and divert the user request to the target landing page link; if not, continue to determine whether there is a target landing page link matching the user identifier and the keyword identifier in the cache database;
[0046] If yes, a target landing page link is obtained from the cache database, and the user request is diverted to the target landing page link;
[0047] If not, a corresponding dynamic landing page task is matched according to the diversion account identifier, so that the user request is diverted to the landing page according to the dynamic landing page task.
[0048] According to another aspect of an embodiment of the present invention, there is further provided an electronic device, including:
[0049] one or more processors;
[0050] a storage device for storing one or more programs,
[0051] When the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any of the above embodiments.
[0052] According to another aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the method described in any one of the above embodiments is implemented.
[0053] One embodiment of the above invention has the following advantages or beneficial effects: because the technical means of matching the corresponding diversion account identifier according to the keyword identifier, matching the corresponding dynamic landing page task according to the diversion account identifier, and thus diverting the user request to the landing page according to the dynamic landing page task is adopted, the technical problems of cumbersome adjustment steps and untimely adjustment in the prior art are overcome. The embodiment of the present invention matches the diversion account identifier through keywords, and then matches the dynamic landing page task according to the allocation account identifier, so that the user request can be dynamically diverted according to the dynamic landing page task, and a technical effect of a keyword can be placed on multiple different landing page links. Moreover, the embodiment of the present invention can also adjust the landing page corresponding to the keyword across platforms and accounts, and after adjusting the page diversion information, the dynamic landing page task can take effect in time. Therefore, the embodiment of the present invention solves the cumbersome adjustment of the landing page, data security, cross-platform, and cross-account calculation problems of the search marketing management system, and can achieve efficient dynamic jump of the landing page.
[0054] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0056] Figure 1 is a schematic diagram of the main process of the method for processing a user request according to an embodiment of the present invention;
[0057] Figure 2 is a schematic diagram of the main process of a method for processing a user request according to a reference embodiment of the present invention;
[0058] Figure 3 is a schematic diagram of main modules of an apparatus for processing user requests according to an embodiment of the present invention;
[0059] Figure 4 is a schematic diagram of main modules of an apparatus for processing user requests according to a reference embodiment of the present invention;
[0060] Figure 5 is an overall architecture diagram of a method for processing user requests according to an embodiment of the present invention;
[0061] Figure 6 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0062] Figure 7 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0063] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0064] For the adjustment of SEM keyword landing pages, the existing technical solutions are mainly the following:
[0065] (1) Search engine provider's management system: The search engine provider will provide users with a system for managing search engine delivery so that users can adjust the delivery keywords, etc.
[0066] (2) Third-party search engine marketing management system: The management of search engine marketing is handed over to a third party and management fees are paid to the third party.
[0067] (3) Enterprise search engine marketing management system: The enterprise implements a search engine marketing system to manage the keywords placed, etc., and dedicated staff will adjust the keywords and landing page links placed.
[0068] However, the above solutions all have some problems to varying degrees:
[0069] (1) Search engine provider’s management system: The management functions provided by the search engine provider are relatively comprehensive, but they do not support cross-account management.
[0070] (2) Third-party search engine marketing management system: A third-party search engine marketing management system can solve the problem of cross-account management to a certain extent. However, the company's keyword data is in the hands of a third party, which poses a risk of leakage and requires high management fees.
[0071] (3) Enterprise search engine marketing management system: This solution can solve the problem of cross-account management and the security of data such as keywords. After the enterprise adjusts the landing page, it needs to synchronize the modified delivery link information to each platform. Each platform needs to re-index the modified link, which is very time-consuming and causes the adjustment of the landing page link to fail to take effect in time.
[0072] In order to solve the technical problems existing in the prior art, an embodiment of the present invention provides a method for processing user requests, which can realize cross-account and cross-platform search engine management, and can also ensure the security of data such as keywords and landing pages. Most importantly, it can realize dynamic and efficient adjustment of keyword landing pages, thereby solving the technical problems of cumbersome adjustment steps and untimely adjustment.
[0073] Figure 1 FIG. 1 is a schematic diagram of the main flow of a method for processing a user request according to an embodiment of the present invention. As an embodiment of the present invention, Figure 1 As shown, the method for processing a user request may include:
[0074] Step 101: Receive and parse a user request to obtain a user identifier and a keyword identifier carried in the user request.
[0075] If a user enters a keyword on a media platform, the media platform displays the search results to the user on the user's terminal interface through a search engine. When the user clicks on a search result, the media platform redirects the user request to the dynamic landing page shunt server. After receiving the user request, the dynamic landing page shunt server parses the user request to obtain the platform identifier, user identifier, and keyword identifier. Optionally, the user identifier can be the user IP address or the userAgent in the request information.
[0076] Optionally, before step 101, the method further includes: creating a dynamic landing page task. The dynamic landing page task includes a task identifier, basic task information, a diversion account identifier, and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier. Optionally, each dynamic landing page task can be associated with multiple diversion account identifiers under different platforms, and the dynamic landing page task also includes a platform identifier to facilitate the distinction between diversion account identifiers under different platforms. Optionally, each dynamic landing page task can be associated with multiple page diversion information. Each page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio, such as:
[0077] 1. The name of the diversion is: search page; the diversion ratio is: 30%;
[0078] The landing page link is: https: / / ****.com / search?keyword={keyword}
[0079] 2. The name of the diversion is: website homepage; the diversion ratio is: 70%;
[0080] The landing page link is: https: / / ****.com /
[0081] Optionally, the basic task information may also include the task start time, task end time, task validity identification, and real-time report data of the delivery effect (such as display, click, consumption, page views, number of independent visiting users, order quantity, order amount, etc.).
[0082] After the dynamic landing page task is created, the dynamic landing page task can be synchronized to the first database. The first database can be a cache database, such as Redis. Optionally, it can be synchronized to Redis according to the diversion account identifier, Key: split_flow_Diversion Account ID, Value: Dynamic Landing Page Task ID. The diversion account ID and the associated dynamic landing page task are stored in the cache database, with the purpose of realizing efficient query of the dynamic landing page task through the diversion account ID.
[0083] It should be pointed out that each diversion account is associated with multiple keywords, and each keyword can be associated with a landing page, and these associated data can be stored in the second database. Among them, the second database can be a non-relational database, such as Elasticsearch or MongoDB, and these associated data must also be synchronized to the media platform. If the associated words or landing pages are adjusted, the adjustment information needs to be updated to the second database and updated to the media platform. Optionally, in order to distinguish between the various diversion accounts registered on different platforms, the second database also needs to store the association relationship between each platform identifier and its corresponding diversion account identifier.
[0084] Optionally, before step 101, it also includes: replacing the static landing page service domain name in the original landing page link with the dynamic landing page service domain name to obtain a dynamic landing page link, and synchronizing the dynamic landing page link to the platform. Before starting to execute the dynamic landing page task, it is also necessary to modify the landing pages associated with each keyword, such as replacing the static landing page service domain name in the original landing page link with the dynamic landing page service domain name, and updating the modified dynamic landing page link to the second database and synchronizing it to the platform. If the task end time of the dynamic landing page task is reached, the dynamic landing page link associated with the keyword is restored to the original landing page link. The reason for restoring to the original landing page is to improve the user response time of the diversion account that does not participate in the dynamic landing page task and reduce the pressure on the dynamic landing page diversion server.
[0085] Optionally, in order to monitor the effectiveness of the delivery, the landing page synchronized to the platform can use a link in a unified format, such as:
[0086] (https: / / aaa.***.com / sem.php?source=baidu-search&keywordId=baidusearch_{keywordid}&to=https: / / ***.com / search?keyword={keyword})
[0087] To modify the original landing page, you only need to replace aaa.***.com with the dynamic landing page service domain name, such as split.***.com. The modified dynamic landing page link is:
[0088] (https: / / split.***.com / sem.php?source=baidu-search&keywordId=baidusearch_{keywordid}&to=https: / / ***.com / search?keyword={keyword})
[0089] After the modified landing page is uploaded to the platform through the interface of each media platform, the platform search engine will re-index (update the landing page link, and after the update, the platform will use the new landing page link) and the new landing page link will take effect. After it takes effect, users will first jump to the dynamic landing page service domain name through media search.
[0090] Step 102: Match the corresponding diversion account identifier according to the keyword identifier.
[0091] Since the diversion account identifiers associated with each platform identifier and the keyword identifiers associated with each diversion account identifier are stored in the second database, the corresponding diversion account identifier can be matched from the second database according to the keyword identifier parsed in step 101. After the user request arrives at the dynamic landing page diversion server (such as split.***.com), it will first verify whether the user request link is correct and whether the refer parameter is correct to avoid invalid links entering the diversion service. Then, the platform ID (source=baidu-search) and the keyword ID baidusearch_112211211 are obtained from the request link address, and the account structure information associated with the keyword ID is obtained from the second database according to the platform ID and keyword ID, including the diversion account, diversion account ID, keyword, etc.
[0092] Step 103: Match a corresponding dynamic landing page task according to the diversion account identifier, so as to divert the user request to the landing page according to the dynamic landing page task.
[0093] Since the first database stores the diversion account ID and the associated dynamic landing page task in the cache database, the diversion account ID and the associated dynamic landing page task can be matched from the first database to the dynamic landing page task, thereby diverting the user request to the landing page according to the dynamic landing page task.
[0094] Optionally, the user request is diverted to the landing page according to the dynamic landing page task, including: randomly determining a target diversion identifier according to the diversion ratio corresponding to each diversion identifier in the dynamic landing page task; replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link; and diverting the user request to the target landing page link. In an embodiment of the present invention, the dynamic landing page diversion server first randomly selects a landing page according to the landing page list associated with the dynamic landing page task and its corresponding diversion ratio, and then assembles the final target landing page link according to the keyword-related information. Specifically, the final target landing page link can be assembled by replacing the wildcard information.
[0095] A dynamic landing page task can be associated with multiple page diversion information. Each diversion information includes diversion ID, diversion name, landing page link (https: / / ***.com / search? keyword={keyword}), and diversion ratio (30%). Among them, the landing page link supports the replacement of the keyword wildcard {keyword}. For example, if the landing page link is https: / / ****.com / search? keyword={keyword} and the keyword is mobile phone, then the final landing page link will become https: / / ****.com / search? keyword=mobile phone. If the diversion ratio is 30%, when the dynamic landing page task takes effect, 30% of the traffic will be diverted to https: / / ****.com / search? keyword={keyword}.
[0096] Optionally, replacing the keyword field in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link includes: replacing the keyword field in the landing page link corresponding to the target diversion identifier with the keyword, and continuing to add the task identifier of the dynamic landing page task and the target diversion identifier to the landing page link corresponding to the target diversion identifier, thereby assembling the target landing page link. For example, replace {keyword} in the landing page link with a keyword, and add the dynamic landing page task ID and the target diversion ID, so as to facilitate the subsequent statistical report of each landing page.
[0097] Optionally, after the user request is diverted to the target landing page link, the method further includes: storing the combined identifier consisting of the user identifier and the keyword identifier as a key and the target landing page link as a value in a cache database. Then, the user will still see the same landing page when accessing the keyword next time.
[0098] Optionally, after the combined identifier consisting of the user identifier and the keyword identifier is used as the key and the target landing page link is used as the value and stored in the cache database, it further includes: if the target landing page link is obtained from the cache database, the key-value is stored in the local memory and the expiration time of the key is set. The key-value is stored in the local memory of the server, and can be directly read efficiently. The memory is queried by the combined identifier to see if there is a corresponding landing page link. If the landing page link is not obtained from the memory, the landing page link corresponding to the combined identifier is obtained from the cache database. If the landing page link is obtained from the cache database, the key-value is synchronized to the memory and the expiration time of the key is set (such as 1 minute), so that the cache database does not need to be accessed within one minute. If there is no landing page link corresponding to the combined identifier in the cache database, there is no need to divert the traffic, but a landing page is randomly selected based on the diversion ratio.
[0099] According to the various embodiments described above, it can be seen that the present invention solves the technical problems of cumbersome adjustment steps and untimely adjustment in the prior art by matching the corresponding diversion account identifier according to the keyword identifier, matching the corresponding dynamic landing page task according to the diversion account identifier, and thus diverting the user request to the landing page according to the dynamic landing page task. The embodiment of the present invention matches the diversion account identifier through keywords, and then matches the dynamic landing page task according to the allocation account identifier, so that the user request can be dynamically diverted according to the dynamic landing page task, and a technical effect of a keyword can be placed on multiple different landing page links. Moreover, the embodiment of the present invention can also adjust the landing page corresponding to the keyword across platforms and accounts, and after adjusting the page diversion information, the dynamic landing page task can take effect in time. Therefore, the embodiment of the present invention solves the cumbersome adjustment of the landing page, data security, cross-platform, and cross-account calculation problems of the search marketing management system, and can achieve efficient dynamic jump of the landing page.
[0100] Figure 2 Schematic diagram of the main process of a method for processing a user request according to a reference embodiment of the present invention. As another embodiment of the present invention, Figure 2 As shown, the method for processing a user request may include:
[0101] Step 201, create a dynamic landing page task and synchronize it to Redis.
[0102] Among them, the dynamic landing page task includes a task identifier, basic task information, a diversion account identifier and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier. Optionally, each dynamic landing page task can be associated with multiple diversion account identifiers under different platforms, and the dynamic landing page task also includes a platform identifier to facilitate the distinction between diversion account identifiers under different platforms. Optionally, each dynamic landing page task can be associated with multiple page diversion information. Each page diversion information includes a diversion identifier, a diversion name, a landing page link and a diversion ratio. Optionally, the basic task information may also include the task start time, the task end time, the task effective identifier, and the real-time report data of the delivery effect.
[0103] After creating a dynamic landing page task, you can synchronize the dynamic landing page task to Redis. Optionally, you can synchronize it to Redis according to the split account ID, Key: split_flow_split account ID, Value: dynamic landing page task ID, so as to efficiently query the dynamic landing page task by the split account ID.
[0104] Step 202: Replace the static landing page service domain name in the original landing page link with the dynamic landing page service domain name to obtain a dynamic landing page link, synchronize the dynamic landing page link to the platform, and update it to Elasticsearch.
[0105] Each diversion account is associated with multiple keywords, and each keyword can be associated with a landing page. These associated data can be stored in Elasticsearch and synchronized to the corresponding media platform. Optionally, in order to distinguish the diversion accounts registered on different platforms, the second database also needs to store the association relationship between each platform identifier and its corresponding diversion account identifier.
[0106] Before starting to execute the dynamic landing page task, you also need to modify the landing page associated with each keyword, such as replacing the static landing page service domain name in the original landing page link with the dynamic landing page service domain name, and updating the modified dynamic landing page link to Elasticsearch. After the modified landing page, upload it to the platform through the interface of each media platform. The new landing page link will take effect after the platform search is diligently re-indexed (update the landing page link, and the platform will use the new landing page link after the update). After it takes effect, users will first jump to the dynamic landing page service domain name through media search. If the task end time of the dynamic landing page task is reached, the dynamic landing page link associated with the keyword will be restored to the original landing page link.
[0107] Step 203: Receive and parse the user request to obtain the user identifier and keyword identifier carried in the user request.
[0108] The media platform redirects the user request to the dynamic landing page distribution server. After receiving the user request, the dynamic landing page distribution server parses the user request to obtain the platform identifier, user identifier and keyword identifier.
[0109] Step 204: Match the corresponding diversion account identifier from Elasticsearch according to the keyword identifier.
[0110] Since each diversion account identifier associated with each platform identifier and each keyword identifier associated with each diversion account identifier are stored in Elasticsearch, the corresponding diversion account identifier can be matched from Elasticsearch according to the keyword identifier parsed in step 203.
[0111] Optionally, after the user request reaches the dynamic landing page diversion server (such as split.***.com), it will first verify whether the user request link is correct and whether the refer parameter is correct to prevent invalid links from entering the landing page diversion service. Then, the platform ID (source=baidu-search) and the keyword ID baidusearch_112211211 are obtained from the request link address, and the account structure information associated with the keyword ID is obtained from Elasticsearch based on the platform ID and keyword ID, including diversion account, diversion account ID, keyword, etc.
[0112] Step 205 , determining whether there is a target landing page link matching the user identifier and the keyword identifier in the local memory; if so, executing step 206 ; if not, executing step 207 .
[0113] Step 206: Obtain a target landing page link from the local memory, and divert the user request to the target landing page link.
[0114] Step 207 , determining whether there is a target landing page link matching the user identifier and the keyword identifier in Redis; if so, executing step 208 ; if not, executing step 210 .
[0115] Step 208: Obtain the target landing page link from Redis, and divert the user request to the target landing page link.
[0116] The embodiment of the present invention uses two-level cache to improve performance. The query server local memory cache is more efficient than Redis, reducing the query Redis and network overhead. The memory is queried by the combined identifier to see if there is a corresponding landing page link. If the landing page link is not obtained from the memory, the landing page link corresponding to the combined identifier is obtained from Redis. If the landing page link is obtained from Redis, the key-value is synchronized to the memory, and the expiration time of the key is set (such as 1 minute), so that Redis does not need to be accessed within one minute.
[0117] Step 209, store the key-value in the local memory and set the expiration time of the key.
[0118] Step 210, matching the corresponding dynamic landing page task from Redis according to the diversion account identifier; randomly determining a target diversion identifier according to the diversion ratio corresponding to each diversion identifier in the dynamic landing page task; replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link; and diverting the user request to the target landing page link.
[0119] If there is no landing page link corresponding to the combination identifier in Redis, there is no need to divert the traffic. Instead, a landing page is randomly selected based on the diversion ratio.
[0120] Step 211, using the combined identifier consisting of the user identifier and the keyword identifier as the key and the target landing page link as the value, and storing them in Redis.
[0121] In addition, the specific implementation content of the method for processing user requests in a reference embodiment of the present invention has been described in detail in the method for processing user requests described above, so the repeated content will not be described here.
[0122] Figure 3 is a schematic diagram of main modules of an apparatus for processing user requests according to an embodiment of the present invention, such as Figure 3 As shown, the device 300 for processing user requests includes
[0123] A receiving module, used to receive and parse a user request, and obtain a user identifier and a keyword identifier carried in the user request;
[0124] A matching module, used to match the corresponding diversion account identifier according to the keyword identifier;
[0125] The processing module is used to match the corresponding dynamic landing page task according to the diversion account identifier, so as to divert the user request to the landing page according to the dynamic landing page task.
[0126] Optionally, it also includes:
[0127] A creation module, used to create a dynamic landing page task before receiving and parsing a user request; wherein the dynamic landing page task includes a task identifier, basic task information, a diversion account identifier, and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier;
[0128] The synchronization module is used to replace the static landing page service domain name in the original landing page link with the dynamic landing page service domain name to obtain the dynamic landing page link, and synchronize the dynamic landing page link to the platform.
[0129] Optionally, the processing module is further used for:
[0130] According to the diversion ratios corresponding to the diversion identifiers in the dynamic landing page task, a target diversion identifier is randomly determined;
[0131] Replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link;
[0132] The user request is diverted to the target landing page link.
[0133] Optionally, the processing module is further used for:
[0134] The keyword field in the landing page link corresponding to the target diversion identifier is replaced with the keyword, and the task identifier of the dynamic landing page task and the target diversion identifier are continued to be added to the landing page link corresponding to the target diversion identifier, thereby assembling the target landing page link.
[0135] Optionally, the processing module is further used for:
[0136] After the user request is diverted to the target landing page link, the request is stored in a cache database with the combined identifier consisting of the user identifier and the keyword identifier as the key and the target landing page link as the value.
[0137] Optionally, the processing module is further used for:
[0138] After storing the combined identifier consisting of the user identifier and the keyword identifier as the key and the target landing page link as the value in the cache database, if the target landing page link is obtained from the cache database, the key-value is stored in the local memory and the expiration time of the key is set.
[0139] Optionally, the processing module is further used for:
[0140] Determine whether there is a target landing page link matching the user identifier and the keyword identifier in the local memory; if so, obtain the target landing page link from the local memory and divert the user request to the target landing page link; if not, continue to determine whether there is a target landing page link matching the user identifier and the keyword identifier in the cache database;
[0141] If yes, a target landing page link is obtained from the cache database, and the user request is diverted to the target landing page link;
[0142] If not, a corresponding dynamic landing page task is matched according to the diversion account identifier, so that the user request is diverted to the landing page according to the dynamic landing page task.
[0143] According to the various embodiments described above, it can be seen that the present invention solves the technical problems of cumbersome adjustment steps and untimely adjustment in the prior art by matching the corresponding diversion account identifier according to the keyword identifier, matching the corresponding dynamic landing page task according to the diversion account identifier, and thus diverting the user request to the landing page according to the dynamic landing page task. The embodiment of the present invention matches the diversion account identifier through keywords, and then matches the dynamic landing page task according to the allocation account identifier, so that the user request can be dynamically diverted according to the dynamic landing page task, and a technical effect of a keyword can be placed on multiple different landing page links. Moreover, the embodiment of the present invention can also adjust the landing page corresponding to the keyword across platforms and accounts, and after adjusting the page diversion information, the dynamic landing page task can take effect in time. Therefore, the embodiment of the present invention solves the cumbersome adjustment of the landing page, data security, cross-platform, and cross-account calculation problems of the search marketing management system, and can achieve efficient dynamic jump of the landing page.
[0144] It should be noted that the specific implementation content of the device for processing user requests in the present invention has been described in detail in the method for processing user requests described above, so the repeated content will not be described here.
[0145] Figure 4 Schematic diagram of the main modules of the apparatus for processing user requests according to a reference embodiment of the present invention. Figure 4As shown, the device for processing user requests includes a dynamic landing page management module, a media material synchronization module, a diversion adjustment module and a real-time reporting module. Among them, the search engine marketing system administrator creates a dynamic landing page task according to the business requirements of managing the search engine. Before the dynamic landing page task takes effect, the media material synchronization module adjusts the landing page associated with the task to the diversion jump service domain name, and synchronizes it to the media platform and Elasticsearch. After the search engine is re-indexed, the user's search results will be requested to the diversion jump module. The diversion jump module dynamically determines the final landing page to jump to based on the configuration and the access information carried in the user request, thereby realizing dynamic landing page adjustment. When the dynamic landing page task is completed, the landing page link is restored to the original landing page link.
[0146] Figure 5 is an overall architecture diagram of a method for processing user requests according to an embodiment of the present invention. Figure 4 and Figure 5 Specifically, the main function of the dynamic landing page management module is to create and maintain dynamic landing page tasks, and the real-time delivery effect of each dynamic landing page task can be queried through the dynamic landing page management module. After the dynamic landing page task information changes, it needs to be synchronized to the Redis cache according to the diversion account ID. Key: split_flow_Diversion account ID, Value: dynamic landing page task, only the account ID and the associated dynamic landing page task ID need to be stored, in order to achieve efficient query of dynamic landing page tasks through the diversion account ID.
[0147] Each dynamic landing page task includes a task ID, basic task information, a task-associated diversion account identifier, and task-associated page diversion information. The task basic information includes the task start time, task end time, task effective identifier, and real-time report data of the delivery effect (such as display, click, consumption, page visits, number of independent visiting users, order volume, order amount, etc.). Optionally, each dynamic landing page task can be associated with multiple diversion account identifiers under different platforms, and each dynamic landing page task can be associated with multiple page diversion information. Each page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio. Among them, the landing page supports the replacement of the keyword wildcard {keyword}, such as the landing page https: / / ****.com / search? keyword={keyword}, and the delivery keyword is mobile phone, then the final landing page becomes https: / / ****.com / search? keyword=mobile phone. If the diversion ratio is 30%, then when the dynamic landing page task takes effect, 30% of the traffic will be dynamically diverted to https: / / ****.com / search? keyword={keyword}.
[0148] Media Synchronization The main function of the media module is to adjust the landing page link of the diversion account associated with the dynamic landing page task and synchronize it to the media platform and Elasticsearch. Each diversion account is associated with multiple keywords, and each keyword can be associated with a landing page. These associated data can be stored in Elasticsearch. Before the dynamic landing page task starts, modify the landing page, and then upload the modified landing page to the media platform, and restore the landing page after the task is completed. The reason for restoring to the original landing page is to improve the user response time of the diversion account that does not participate in the dynamic landing page task and reduce the pressure on the dynamic landing page diversion server.
[0149] Optionally, in order to monitor the effectiveness of the delivery, the landing page synchronized to the platform can use a link in a unified format, such as:
[0150] (https: / / aaa.***.com / sem.php?source=baidu-search&keywordId=baidusearch_{keywordid}&to=https: / / ***.com / search?keyword={keyword})
[0151] To modify the original landing page, you only need to replace aaa.***.com with the dynamic landing page service domain name, such as split.***.com. The modified dynamic landing page link is:
[0152] (https: / / split.***.com / sem.php?source=baidu-search&keywordId=baidusearch_{keywordid}&to=https: / / ***.com / search?keyword={keyword})
[0153] After the modified landing page is uploaded to the platform through the interface of each media platform, the new landing page link will take effect after the platform search is diligently re-indexed (the landing page link is updated, and the platform will use the new landing page link after the update). After it takes effect, the user will first jump to the dynamic landing page service domain name through the media search, and then the dynamic service module will dynamically determine the landing page that the end user sees and send a 302 jump (page redirection jump).
[0154] The main function of the diversion adjustment module is to dynamically determine the final landing page based on user requests. The main steps are: user search-->jump to diversion server-->obtain keyword identifier and user unique identifier-->obtain keyword information-->obtain intelligent diversion information-->obtain jump link-->set user jump redis cache-->jump to the final landing page.
[0155] When the user request reaches the dynamic landing page diversion server (split.***.com), it will first verify whether the user request link is correct and whether the referral is correct to prevent invalid links from entering the landing page diversion service. Then, the platform ID source=baidu-search and the keyword ID baidusearch_112211211 are obtained from the request link address. According to the platform ID and keyword ID, the account structure information associated with the keyword ID is obtained from Elasticsearch, including the diversion account, diversion account ID, keyword, etc.
[0156] Next, through the keyword ID and the user's unique identifier, first determine whether there is a matching target landing page link in the local memory. If so, obtain the target landing page connection and jump directly to the target landing page. If not in the local memory, continue to determine whether there is a matching target landing page link in Redis. If Redis has it, obtain the target landing page connection and jump directly to the target landing page. If not in Redis, randomly select a landing page based on the list of diversion pages associated with the effective dynamic landing page task and the corresponding percentage, and then assemble the final target landing page link based on the keyword: replace the wildcard information, such as {keyword} with the keyword; add the dynamic landing page task ID and diversion ID to facilitate subsequent statistics of each landing page report. Use the combined identifier consisting of the user ID and the keyword ID as the key, and the target landing page link as the value, and store it in Redis. Finally, jump to the assembled target landing page link.
[0157] The main function of the real-time report module is to download the real-time report of the keywords delivered from the media platform (display, click, consumption, etc.), combine it with the company's own real-time report (dynamic landing page task ID, diversion ID, page visits, number of independent visiting users, order volume, order amount, etc.), and statistically calculate the overall real-time report of the keyword dimension. Then the report is loaded into the druid cluster and provided to the dynamic landing page management module to query the task delivery effect, so that the operation can adjust the delivery landing page link in time to improve the delivery efficiency.
[0158] The embodiment of the present invention achieves the technical effect that one keyword can be placed with multiple different landing page links, and can also adjust the landing page corresponding to the keyword across platforms and accounts, and after adjusting the page diversion information, the dynamic landing page task can take effect in time.
[0159] Figure 6 An exemplary system architecture 600 is shown to which the method for processing a user request or the apparatus for processing a user request according to an embodiment of the present invention can be applied.
[0160] like Figure 6 As shown, system architecture 600 may include terminal devices 601, 602, 603, network 604 and server 605. Network 604 is used to provide a medium for communication links between terminal devices 601, 602, 603 and server 605. Network 604 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0161] Users can use terminal devices 601, 602, and 603 to interact with server 605 through network 604 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 601, 602, and 603, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only examples).
[0162] The terminal devices 601 , 602 , and 603 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers, etc.
[0163] The server 605 may be a server that provides various services, such as a backend management server (only an example) that provides support for shopping websites browsed by users using the terminal devices 601, 602, and 603. The backend management server may analyze and process the received data such as the item information query request, and feed back the processing results (such as target push information, item information - only an example) to the terminal device.
[0164] It should be noted that the method for processing user requests provided in the embodiment of the present invention is generally executed by the server 605, and accordingly, the device for processing user requests is generally set in the server 605. The method for processing user requests provided in the embodiment of the present invention can also be executed by the terminal devices 601, 602, and 603, and accordingly, the device for processing user requests can be set in the terminal devices 601, 602, and 603.
[0165] It should be understood that Figure 6The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0166] Reference below Figure 7 , which shows a schematic diagram of the structure of a computer system 700 of a terminal device suitable for implementing an embodiment of the present invention. Figure 7 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0167] like Figure 7 As shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage part 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the system 700 are also stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0168] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, a modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as needed, so that a computer program read therefrom is installed into the storage section 708 as needed.
[0169] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 709, and / or installed from the removable medium 711. When the computer program is executed by the central processing unit (CPU) 701, the above-mentioned functions defined in the system of the present invention are executed.
[0170] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0171] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0172] The modules involved in the embodiments of the present invention may be implemented by software or hardware. The modules described may also be set in a processor, for example, it may be described as: a processor includes a receiving module, a matching module and a processing module, wherein the names of these modules do not constitute a limitation on the modules themselves in some cases.
[0173] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: receiving and parsing a user request, obtaining a user identifier and a keyword identifier carried in the user request; matching a corresponding diversion account identifier according to the keyword identifier; matching a corresponding dynamic landing page task according to the diversion account identifier, and thereby diverting the user request to a landing page according to the dynamic landing page task.
[0174] According to the technical solution of the embodiment of the present invention, because the technical means of matching the corresponding diversion account identifier according to the keyword identifier, matching the corresponding dynamic landing page task according to the diversion account identifier, and thus diverting the user request to the landing page according to the dynamic landing page task are adopted, the technical problems of cumbersome adjustment steps and untimely adjustment in the prior art are overcome. The embodiment of the present invention matches the diversion account identifier through keywords, and then matches the dynamic landing page task according to the allocation account identifier, so that the user request can be dynamically diverted according to the dynamic landing page task, and a technical effect of a keyword can be placed on multiple different landing page links. Moreover, the embodiment of the present invention can also adjust the landing page corresponding to the keyword across platforms and accounts, and after adjusting the page diversion information, the dynamic landing page task can take effect in time. Therefore, the embodiment of the present invention solves the cumbersome adjustment of the landing page, data security, cross-platform, and cross-account calculation problems of the search marketing management system, and can achieve efficient dynamic jump of the landing page.
[0175] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for processing a user request, characterized in that: include: Receiving and parsing a user request, and obtaining a user identifier and a keyword identifier carried in the user request; Matching a corresponding diversion account identifier according to the keyword identifier; Matching a corresponding dynamic landing page task according to the diversion account identifier, thereby diverting the user request to the landing page according to the dynamic landing page task; Diverting the user request to a landing page according to the dynamic landing page task includes: According to the diversion ratios corresponding to the diversion identifiers in the dynamic landing page task, a target diversion identifier is randomly determined; Replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link; The user request is diverted to the target landing page link.
2. The method according to claim 1, characterized in that: Before receiving and parsing user requests, it also includes: Creating a dynamic landing page task; wherein the dynamic landing page task includes a task identifier, basic task information, a diversion account identifier, and page diversion information; the page diversion information includes a diversion identifier, a diversion name, a landing page link, and a diversion ratio; each dynamic landing page task is associated with at least one diversion account identifier and at least one diversion identifier; The static landing page service domain name in the original landing page link is replaced with the dynamic landing page service domain name to obtain the dynamic landing page link, and the dynamic landing page link is synchronized to the platform.
3. The method according to claim 1, characterized in that Replacing the keyword field in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link includes: The keyword field in the landing page link corresponding to the target diversion identifier is replaced with the keyword, and the task identifier of the dynamic landing page task and the target diversion identifier are continued to be added to the landing page link corresponding to the target diversion identifier, thereby assembling the target landing page link.
4. The method according to claim 1, characterized in that: After the user request is diverted to the target landing page link, the method further includes: The combined identifier consisting of the user identifier and the keyword identifier is used as the key, and the target landing page link is used as the value, and is stored in the cache database.
5. The method according to claim 4, characterized in that After storing the combined identifier consisting of the user identifier and the keyword identifier as a key and the target landing page link as a value in a cache database, the method further includes: If the target landing page link is obtained from the cache database, the key-value is stored in the local memory and the expiration time of the key is set.
6. The method according to claim 5, characterized in that Matching a corresponding dynamic landing page task according to the diversion account identifier, thereby diverting the user request to a landing page according to the dynamic landing page task, includes: Determine whether there is a target landing page link matching the user identifier and the keyword identifier in the local memory; if so, obtain the target landing page link from the local memory and divert the user request to the target landing page link; if not, continue to determine whether there is a target landing page link matching the user identifier and the keyword identifier in the cache database; If yes, a target landing page link is obtained from the cache database, and the user request is diverted to the target landing page link; If not, a corresponding dynamic landing page task is matched according to the diversion account identifier, so that the user request is diverted to the landing page according to the dynamic landing page task.
7. A device for processing a user request, characterized in that: include: A receiving module, used to receive and parse a user request, and obtain a user identifier and a keyword identifier carried in the user request; A matching module, used to match the corresponding diversion account identifier according to the keyword identifier; A processing module, configured to match a corresponding dynamic landing page task according to the diversion account identifier, thereby diverting the user request to a landing page according to the dynamic landing page task; The processing module is also used for: According to the diversion ratios corresponding to the diversion identifiers in the dynamic landing page task, a target diversion identifier is randomly determined; Replacing the wildcard information in the landing page link corresponding to the target diversion identifier with the keyword to obtain the target landing page link; The user request is diverted to the target landing page link.
8. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
9. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Method for user account number logging-on verification by means of mobile terminal
CN107864115A
Landing-page URL checking method and device
CN108121727A