Distributed Bookmark Storage Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale e-commerce websites face difficulties in efficiently managing and searching user bookmark data due to the vast quantities of data involved, leading to slow system performance and resource wastage, especially when users try to find specific bookmarks among hundreds of millions of entries.
Innovation Solution
A distributed storage architecture is implemented, where user bookmark data is stored in separate databases across different servers, with an index database tracking the location of each user's data, allowing for efficient data processing and search operations without the need for real-time links to external content databases, thus conserving system resources and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If user bookmark data is stored in a single bookmark table with basic information only, then the system structure is simple, but searching becomes extremely slow and resource-intensive when dealing with hundreds of millions of entries
Solution Approach 1:
The patent divides the bookmark data into two separate tables: a bookmark table storing basic bookmark information and a bookmark content table storing detailed content information. This segmentation allows the search process to first quickly filter by basic information in the bookmark table, then retrieve detailed content only for matching results, significantly improving search efficiency while maintaining manageable system complexity
Solution Approach 2:
The patent pre-stores extended bookmark content information (such as product names, shop names, descriptions) in the bookmark content table before search operations occur. This preliminary action eliminates the need to perform time-consuming queries to external content databases during actual search operations, enabling fast retrieval even when dealing with hundreds of millions of bookmark entries
2Reliability
If the system queries external content databases in real-time during bookmark searches, then the bookmark data remains synchronized with source data, but system resources are wasted and performance deteriorates
Solution Approach 1:
The system performs preliminary data retrieval by pre-storing extended bookmark content information (product names, shop names, descriptions, prices) in the bookmark content table at the time of bookmarking. This eliminates the need for real-time queries to external content databases during search operations, significantly reducing system resource consumption while maintaining data reliability
Solution Approach 2:
The patent creates a local copy of the bookmark content information from external content databases and stores it in the bookmark content table. This copy allows the system to perform searches using stored data without needing to access external databases in real-time, reducing resource consumption while maintaining data accuracy for search purposes
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Managing user bookmark information includes receiving a bookmark-related action request and determining a type of action associated with the bookmark-related action request and user information associated with the bookmark-related action request. In the event that the type of action corresponds to an add bookmark action, managing user bookmark information further includes generating a bookmark data record, the bookmark data record comprising the user information and information to be bookmarked; determining, using the user information, bookmark database information associated with a bookmark database to which the bookmark data record is to be stored, the bookmark database being one of a plurality of bookmark databases; generating index information based on the user information and the bookmark database information; storing the index information in an index database that is separate from the plurality of bookmark databases; and storing the bookmark data record in the bookmark database.