Offline QR Code Generation via Cached Seeds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Public transportation systems using QR codes face reliability issues due to poor network connectivity and system capacity limitations, leading to service failures and unavailability of transportation QR code functions, especially during peak hours or power outages.
Innovation Solution
A method for generating information identification codes that involves requesting and synchronizing a code generation seed from a code identifying party, allowing clients to generate codes offline or during network unavailability, using cached seeds for continued service availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system relies on real-time network connection for QR code generation, then the code accuracy and verification reliability are improved, but the service availability deteriorates during network outages or peak hours
Solution Approach 1:
The system performs preliminary actions by pre-obtaining and caching code generation seeds and verification rules during network-available periods. The client stores these data locally before network disconnection occurs, enabling offline QR code generation without real-time server dependency. This resolves the contradiction by preparing necessary resources in advance, maintaining both reliability and availability.
Solution Approach 2:
The system creates local copies of verification rules and code seeds on the client device, duplicating essential verification functionality from the server to the client. This copying enables the client to generate and verify QR codes independently offline, resolving the contradiction between requiring server verification for reliability and needing offline capability for availability.
2Adaptability or versatility
If the system caches code generation seeds locally on clients, then the service availability is improved during network outages, but the security risk increases due to local storage
Solution Approach 1:
The system transforms the security model by changing parameters: instead of storing complete verification algorithms or sensitive keys, it stores encrypted code seeds that require server-side verification rules to generate valid QR codes. The seeds themselves are meaningless without the corresponding verification context, maintaining security while enabling offline functionality.
Solution Approach 2:
The verification functionality is segmented into two parts: code generation seeds stored locally on the client, and verification rules stored on the server. This segmentation allows offline code generation while maintaining centralized security control for verification, resolving the contradiction between local storage needs and security concerns.
3Measurement precision
If the server obtains verification rules frequently from the code identifying party, then the code accuracy is improved, but the network traffic and system load increase
Solution Approach 1:
The system implements periodic action by obtaining verification rules at scheduled intervals or during low-traffic periods rather than continuously or on every QR code request. The client caches these rules locally and uses them during the cache validity period, reducing network traffic while maintaining code accuracy within the cache timeframe.
Solution Approach 2:
The system performs preliminary action by pre-obtaining verification rules during network-available periods and caching them for later use. This eliminates the need for frequent real-time requests, reducing network traffic and system load while maintaining the ability to generate accurate codes within the cache validity period.
Data Source
Figure 1~3
Figure 4~7
Figure 8~11
AI summary
Methods, systems, and devices, including computer programs encoded on computer storage media, for generating information identification codes are provided. One of the methods includes: requesting a user's code generation seed from a code identifying party; receiving a first code generation seed from the code identifying party; and synchronizing the first code generation seed to a client of the user, for the user to generate an information identification code.