Platform-Independent Data File Transfer via Database Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing client-server networks face performance issues due to the rapid increase in database size caused by storing entire data files, such as binary data, which affects query processing speed and data addition speed, especially when using databases that store multimedia objects like images and audio as Binary Large Objects (BLOBs).
Innovation Solution
A method and system for platform-independent data file transfers that allow data files to be stored and retrieved from a server file system coupled to a database, regardless of the operating systems used by the client and server, by receiving requests from clients, storing data files in directories, and managing paths within the database, enabling efficient data management across different platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If entire data files are stored within database tables for each record, then data file storage is enabled, but database size increases quickly impacting query processing speed and data addition speed
Solution Approach 1:
The patent divides the data storage system into two segments: the database stores only metadata (record identifiers and path information), while the actual data files are stored in a separate file system. This segmentation reduces database size and improves query processing speed while maintaining data storage capacity.
Solution Approach 2:
The patent extracts the data files from the database tables and stores them in an external file system, leaving only essential path information in the database. This extraction resolves the contradiction by removing the performance burden from the database while preserving storage functionality.
2Quantity of substance
If entire data files are stored within database tables for each record, then data file storage is enabled, but data addition speed is impacted
Solution Approach 1:
By segmenting storage between database (metadata) and file system (data files), the patent enables faster data addition since only path information needs to be written to the database, while files are stored independently in the file system.
Solution Approach 2:
Extracting data files from database tables accelerates data addition operations, as the database only needs to store lightweight path references rather than entire files, reducing I/O operations and processing time.
3Adaptability or versatility
If databases store Binary Large Objects (BLOBs) for binary data, then multimedia object storage is enabled, but the same performance issues occur
Solution Approach 1:
The patent extracts BLOB data from database tables and stores multimedia files in the external file system, keeping only path information in the database. This maintains multimedia storage capability while eliminating the performance degradation caused by storing large binary objects in the database.
Solution Approach 2:
The patent introduces a file system as an intermediary between the database and multimedia files, allowing the database to reference files without storing them directly. This intermediary layer preserves multimedia storage versatility while improving query performance.
Data Source
AI summary
Systems and methods for storing data files to a file system coupled to a database, and reading data files from the file system. In one aspect, a method for transferring a data file between a client system and a server system is provided. The client executes a first computer operating system and the server executes a second computer operating system, includes a file system, and is coupled to a database. The method includes receiving, by the database, a request to store the data file, wherein the request is transmitted to the database by a software application associated with the client. The method also includes receiving the data file from the client, storing the data file in a directory in the server file system, storing a path for the directory in the database, and outputting one of a success code and a failure code to the client.


