CN116501700B - 一种app格式化文件离线存储方法、装置、设备及存储介质 - Google Patents
一种app格式化文件离线存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116501700B CN116501700B CN202310778074.7A CN202310778074A CN116501700B CN 116501700 B CN116501700 B CN 116501700B CN 202310778074 A CN202310778074 A CN 202310778074A CN 116501700 B CN116501700 B CN 116501700B
- Authority
- CN
- China
- Prior art keywords
- data
- format
- local
- memory
- service
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000002085 persistent effect Effects 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000002688 persistence Effects 0.000 claims abstract description 58
- 238000006243 chemical reaction Methods 0.000 claims abstract description 52
- 238000001914 filtration Methods 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000013461 design Methods 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000012360 testing method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据领域,公开了一种APP格式化文件离线存储方法、装置、设备及存储介质,用于提升数据读写效率并节省内存资源。所述方法包括:在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种APP格式化文件离线存储方法、装置、设备及存储介质。
背景技术
现在的APP移动应用中,涉及离线使用,均需使用移动端本地存储,多数据移动端将采用成熟的SQLite作为本地存储,当用户需要下载从服务端同步下载大量的基础业务数据数据,然后进入完全离线的场景内进行后续业务工作;下载大量的数据后,SQLite特性,需要将新数据进行索引,受限移动设备计算能力,用户可能出现离线场景下无法马上使用的情况。
现有方案在需要大量同步下载云端数据并马上进行搜索使用时,需要用户等待索引完成,离线开发工程师需要了解sql查询语法相关技术,开发成本增高,进而导致大量的频繁数据操作性能较差。
发明内容
本发明提供了一种APP格式化文件离线存储方法、装置、设备及存储介质,用于提升数据读写效率并节省内存资源。
本发明第一方面提供了一种APP格式化文件离线存储方法,所述APP格式化文件离线存储方法包括:
在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据;
对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据;
接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据;
对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
结合第一方面,在本发明第一方面的第一实施方式中,所述对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据,包括:
按照预设的本地数据格式,对所述云端数据进行格式转换,得到本地格式数据;
配置业务主键,并根据所述业务主键,对所述本地格式数据和所述业务操作数据进行内存运算和数据合并,生成目标合并数据;
对所述目标合并数据进行数据缓存操作,得到离线缓存数据。
结合第一方面,在本发明第一方面的第二实施方式中,所述对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据,包括:
采用protobuf,对所述离线缓存数据进行数据序列化处理,得到序列化数据;
对所述序列化数据进行单元格式数据独立存储,得到所述序列化数据对应的多个单元数据;
对所述多个单元数据进行单线程持久化操作,得到持久化文件数据。
结合第一方面,在本发明第一方面的第三实施方式中,所述APP格式化文件离线存储方法还包括:
基于预设的监测周期,判断所述多个单元数据中是否存在读写操作;
若不存在读写操作,则对所述多个单元数据进行内存自动释放,并获取数据请求;
根据所述数据请求,从所述持久化文件数据中将所述多个单元数据加载至内存进行读取使用。
结合第一方面,在本发明第一方面的第四实施方式中,所述接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据,包括:
接收业务模块发送的数据调用请求,并根据所述数据调用请求判断是否存在数据内存;
若存在,则从所述数据内存中,通过用户函数条件进行过滤复制输出
若不存在,则根据所述数据调用请求加载所述持久化文件数据。
结合第一方面,在本发明第一方面的第五实施方式中,所述对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,包括:
对所述持久化文件数据进行反序列化处理,得到反序列化数据;
对所述反序列化数据进行业务函授过滤查询,生成拷贝副本数据并输出。
本发明第二方面提供了一种APP格式化文件离线存储装置,所述APP格式化文件离线存储装置包括:
下载模块,用于在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
转换模块,用于对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据;
处理模块,用于对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据;
加载模块,用于接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据;
输出模块,用于对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
结合第二方面,在本发明第二方面的第一实施方式中,所述转换模块具体用于:
按照预设的本地数据格式,对所述云端数据进行格式转换,得到本地格式数据;
配置业务主键,并根据所述业务主键,对所述本地格式数据和所述业务操作数据进行内存运算和数据合并,生成目标合并数据;
对所述目标合并数据进行数据缓存操作,得到离线缓存数据。
结合第二方面,在本发明第二方面的第二实施方式中,所述处理模块具体用于:
采用protobuf,对所述离线缓存数据进行数据序列化处理,得到序列化数据;
对所述序列化数据进行单元格式数据独立存储,得到所述序列化数据对应的多个单元数据;
对所述多个单元数据进行单线程持久化操作,得到持久化文件数据。
结合第二方面,在本发明第二方面的第三实施方式中,所述APP格式化文件离线存储装置还包括:
释放模块,用于基于预设的监测周期,判断所述多个单元数据中是否存在读写操作;若不存在读写操作,则对所述多个单元数据进行内存自动释放,并获取数据请求;根据所述数据请求,从所述持久化文件数据中将所述多个单元数据加载至内存进行读取使用。
结合第二方面,在本发明第二方面的第四实施方式中,所述加载模块具体用于:
接收业务模块发送的数据调用请求,并根据所述数据调用请求判断是否存在数据内存;
若存在,则从所述数据内存中,通过用户函数条件进行过滤复制输出
若不存在,则根据所述数据调用请求加载所述持久化文件数据。
结合第二方面,在本发明第二方面的第五实施方式中,所述输出模块具体用于:
对所述持久化文件数据进行反序列化处理,得到反序列化数据;
对所述反序列化数据进行业务函授过滤查询,生成拷贝副本数据并输出。
本发明第三方面提供了一种APP格式化文件离线存储设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述APP格式化文件离线存储设备执行上述的APP格式化文件离线存储方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的APP格式化文件离线存储方法。
本发明提供的技术方案中,在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,本发明由于是内存操作,无任何需要索引时间,大量下载后即可马上使用,开发人员无需担心操作频繁读写带来额外问题,且性能卓越,用户操作完数据即自动持久化,开发人员无需额外保存数据,开发人员采用函数式过滤条件,不涉及SQL查询语法,使用门槛低。
附图说明
图1为本发明实施例中APP格式化文件离线存储方法的一个实施例示意图;
图2为本发明实施例中持久化操作的流程图;
图3为本发明实施例中内存自动释放的流程图;
图4为本发明实施例中加载持久化文件数据的流程图;
图5为本发明实施例中APP格式化文件离线存储装置的一个实施例示意图;
图6为本发明实施例中APP格式化文件离线存储装置的另一个实施例示意图;
图7为本发明实施例中APP格式化文件离线存储设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种APP格式化文件离线存储方法、装置、设备及存储介质,用于提升数据读写效率并节省内存资源。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中APP格式化文件离线存储方法的一个实施例包括:
S101、在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;
可以理解的是,本发明的执行主体可以为APP格式化文件离线存储装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
具体的,服务器确定数据同步范围,需要先确定需要同步的数据范围,包括数据类型、数据量等,以便后续的同步实施。设计数据同步方案,根据数据同步范围,设计数据同步方案,确定同步频率、同步方式、同步顺序等。编写同步代码,根据设计的数据同步方案,编写同步代码,实现从云端下载数据并存储在客户端本地,包括数据的解析、存储等工作。配置同步策略,根据同步方案和同步代码,配置同步策略,包括同步频率、同步方式、同步顺序等,以确保数据同步的正确性和实时性。测试同步效果,完成同步代码和同步策略的配置后,进行测试,测试同步效果,确保数据同步的正确性和实时性。发布同步代码,经过测试确认无误后,将同步代码发布到生产环境,确保客户端处于无网络环境时能够获取到最新的业务操作数据。
S102、对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;
具体的,服务器确定数据格式转换范围,需要先确定需要进行格式转换的数据范围,包括数据类型、数据量等,以便后续的数据转换实施。设计数据格式转换方案,根据数据格式转换范围,设计数据格式转换方案,确定转换方式、转换规则等。编写数据格式转换代码,根据设计的数据格式转换方案,编写数据格式转换代码,实现从云端获取数据并转换成本地格式数据,包括数据的解析、转换等工作。合并和缓存数据,在获取到本地格式数据和业务操作数据后,对两种数据进行合并,并将合并后的数据进行缓存,以便后续在离线状态下能够使用。配置缓存策略,根据数据合并和缓存的实际需求,配置缓存策略,包括缓存时间、缓存大小等,以确保缓存的正确性和实时性。测试缓存效果,完成数据格式转换和数据缓存的配置后,进行测试,测试缓存效果,确保离线状态下能够获取到正确且实时的数据。发布代码和缓存策略,经过测试确认无误后,将数据格式转换和数据缓存的代码和策略发布到生产环境,确保离线状态下能够获取到正确且实时的离线缓存数据。
S103、对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;
需要说明的是,服务器对离线缓存数据进行数据序列化处理,可以使用常见的序列化方式,如JSON、XML、Protocol Buffer等。选择合适的序列化方式需要考虑数据结构、数据大小、解析速度和存储效率等因素。得到序列化数据后,需要对其进行持久化操作,可以选择将序列化数据存储在文件系统中。可以选择一些常见的存储方式,如文本文件、二进制文件、SQLite数据库等。选择存储方式需要考虑数据的读写频率、数据的大小、数据的查询方式等因素。在进行持久化操作时,需要注意数据的安全性。可以使用加密算法对数据进行加密,以保证数据的安全性。同时,要对数据进行备份,以防止数据丢失。在对序列化数据进行持久化操作之前,需要对数据进行校验。可以使用一些常见的数据校验算法,如MD5、SHA等,以确保数据的完整性和一致性。在数据持久化完成后,需要对数据进行清理和管理。可以定期清理过期数据,以释放存储空间。同时,可以使用一些常见的管理工具,如文件管理器、数据库管理器等,对数据进行管理。总之,对离线缓存数据进行数据序列化处理,并对序列化数据进行持久化操作,可以有效地提高应用程序的性能和稳定性,同时也可以保护数据的安全性和完整性。
具体的,确定离线缓存数据范围,需要先确定需要进行序列化和持久化的离线缓存数据范围,包括数据类型、数据量等,以便后续的实施。设计序列化方案,根据离线缓存数据范围,设计数据序列化方案,确定序列化方式、序列化格式等。对离线缓存数据进行序列化处理,根据设计的序列化方案,对离线缓存数据进行序列化处理,得到序列化数据,包括数据的处理、转换等工作。设计持久化方案,根据序列化数据和实际需求,设计持久化方案,确定持久化方式、持久化格式等。对序列化数据进行持久化操作,根据设计的持久化方案,对序列化数据进行持久化操作,得到持久化文件数据,包括数据存储、加密等工作。配置持久化策略,根据序列化和持久化的实际需求,配置持久化策略,包括存储位置、文件命名规则等,以确保持久化的正确性和实时性。测试持久化效果,完成序列化和持久化的配置后,进行测试,测试持久化效果,确保序列化数据能够正确持久化到文件中。发布代码和持久化策略,经过测试确认无误后,将序列化和持久化的代码和策略发布到生产环境,确保离线缓存数据能够被正确序列化和持久化到文件中。
S104、接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;
具体的,设计数据调用请求格式:首先需要设计一个数据调用请求的格式,包括请求的数据类型、数据标识符、请求参数等。可以采用 JSON 或 XML 格式来表示请求,这样可以方便地进行数据解析和传输。设计数据持久化格式:为了能够加载持久化文件数据,需要设计一个数据持久化格式,包括数据类型、数据标识符、数据值等。可以采用类似于数据库表的形式来设计持久化文件格式,这样可以方便地进行数据存储和检索。实现数据存储和检索功能:为了能够加载持久化文件数据,需要实现数据存储和检索功能。可以采用文件系统或数据库等方式来存储和检索数据,根据数据类型和标识符来进行数据检索和加载。实现数据调用请求处理功能:接收到数据调用请求后,需要根据请求的数据类型和标识符来加载相应的持久化文件数据。可以使用数据存储和检索功能来实现这一功能,将加载的数据返回给业务模块。实现数据传输和网络通信功能:为了能够接收业务模块发送的数据调用请求,需要实现数据传输和网络通信功能。可以采用TCP或UDP等协议来进行数据传输和网络通信,根据请求的地址和端口来进行数据接收和响应。综上所述,可以采用上述技术方案来实现接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据的功能。
S105、对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
具体的,服务器选择合适的持久化文件数据格式。常见的包括XML、JSON、YAML、CSV等格式。根据数据规模和数据结构特点,选择合适的格式。使用反序列化技术将持久化文件数据转换为内存数据对象。常用的反序列化技术包括XML反序列化、JSON反序列化、YAML反序列化等。对内存数据对象进行过滤查询操作。根据业务需求,使用合适的查询方式,如SQL查询、LINQ查询、Lambda表达式等。根据查询结果生成拷贝副本数据。使用语言内置的数据复制机制或手动实现数据复制逻辑,将查询结果生成新的数据对象。将拷贝副本数据输出到指定位置。根据业务需求,选择合适的输出方式,如写入到文件、输出到控制台、发送到网络等。添加异常处理逻辑。在整个过程中,添加必要的异常捕获和处理逻辑,保证程序运行的稳定性和可靠性。进行性能优化。根据数据规模和查询复杂度,优化程序性能,如使用缓存、优化查询算法等。
本发明实施例中,在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,本发明由于是内存操作,无任何需要索引时间,大量下载后即可马上使用,开发人员无需担心操作频繁读写带来额外问题,且性能卓越,用户操作完数据即自动持久化,开发人员无需额外保存数据,开发人员采用函数式过滤条件,不涉及SQL查询语法,使用门槛低。
在一具体实施例中,执行步骤S102的过程可以具体包括如下步骤:
(1)按照预设的本地数据格式,对云端数据进行格式转换,得到本地格式数据;
(2)配置业务主键,并根据业务主键,对本地格式数据和业务操作数据进行内存运算和数据合并,生成目标合并数据;
(3)对目标合并数据进行数据缓存操作,得到离线缓存数据。
具体的,服务器确定本地数据格式:首先需要确定本地数据的格式,包括数据类型、数据结构、字段名称、数据长度等信息,以便后续进行数据转换。获取云端数据:通过API、SDK等方式获取云端数据,并将数据存储到本地。解析云端数据:对云端数据进行解析,获取数据类型、数据结构、字段名称、数据长度等信息,并与本地数据格式进行对比,确定需要转换的数据字段。进行数据转换:根据需要转换的数据字段,将云端数据转换为本地格式数据。具体转换方式可以采用字符串拼接、正则表达式匹配、数据格式化等方法。存储本地格式数据:将转换后的数据存储到本地,以便后续使用。数据校验与处理:对转换后的数据进行校验和处理,确保数据的完整性和正确性。如数据类型是否一致、数据长度是否符合要求等。异常处理:在数据转换过程中,可能会出现数据格式不匹配、数据丢失等异常情况,需要进行异常处理,及时发现并解决问题。数据同步:对于需要同步的数据,可以通过定时任务或事件触发等方式,对云端和本地数据进行同步,确保数据的一致性。配置业务主键,首先,需要确定业务主键的字段,以确保在数据合并过程中能够正确地匹配相应的数据。可以考虑使用唯一且稳定的字段作为业务主键,如订单号、用户ID等。对本地格式数据和业务操作数据进行内存运算和数据合并在内存中读取本地格式数据和业务操作数据,并按照业务主键进行匹配和合并。可以使用哈希表等数据结构进行快速匹配,将本地格式数据和业务操作数据合并成目标合并数据。生成目标合并数据,在完成数据合并后,可以根据需要对目标合并数据进行进一步处理,如数据清洗、去重、排序等操作,最终生成目标合并数据。总体来说,配置业务主键和进行内存运算和数据合并是实现数据合并的关键步骤,需要根据具体业务需求进行优化和调整。确定数据缓存目标:首先需要确定需要缓存的目标,可以是某个特定的数据源,也可以是多个数据源的合并结果。如果是多个数据源的合并结果,则需要定义合并规则和合并字段。设计数据缓存结构:根据目标数据的特点和使用需求,设计合适的数据缓存结构。可以选择使用数据库、文件系统、内存缓存等不同的缓存方案,也可以根据实际情况进行组合使用。实现数据缓存操作:根据数据缓存结构的设计,实现对目标数据的缓存操作。具体实现方式包括:数据抽取、数据转换、数据加载等操作。可以选择使用ETL工具、自定义代码实现等不同的方式。提供离线缓存数据服务:将缓存的数据提供给应用程序使用。可以根据实际需求提供不同的数据访问接口,如RESTful API、SOAP API等。同时需要考虑缓存数据的有效期、数据更新机制等问题。监控和管理缓存数据:对缓存数据进行监控和管理,确保数据的准确性和可靠性。可以使用监控工具、日志记录等方式进行监控和管理。同时需要定期进行缓存数据的清理和优化,确保数据库性能和空间使用效率。
在一具体实施例中,如图2所示,执行步骤S103的过程可以具体包括如下步骤:
S201、采用protobuf,对离线缓存数据进行数据序列化处理,得到序列化数据;
S202、对序列化数据进行单元格式数据独立存储,得到序列化数据对应的多个单元数据;
S203、对多个单元数据进行单线程持久化操作,得到持久化文件数据。
具体的,使用高效、安全的protobuf序列化,更小的存储,更快的序列化,二进制非明文存储更安全,性能而言(经测试类比SQLite,读取1000条记录,SQLite 约2600ms,而本方法为80ms,写入1000条记录,SQLite约14000ms,而本方法为100ms)。服务器选择protobuf作为数据序列化工具,可使用Google开源的protobuf库进行开发。定义好需要进行序列化的离线缓存数据结构,包括数据类型、字段名、数据长度等。使用protobuf的编译器将定义好的数据结构文件编译成相应语言的代码,如C++、Java、Python等。在应用程序中调用protobuf提供的API,将离线缓存数据序列化成二进制数据。将序列化后的二进制数据保存到本地或远程存储设备中。需要读取序列化数据时,通过protobuf提供的API将二进制数据反序列化成原始数据格式。根据反序列化得到的原始数据进行进一步的处理和使用。整个过程中需要注意数据结构的兼容性,避免不同版本的数据结构导致序列化和反序列化失败。同时,也需要注意数据加密、压缩等安全措施的实现。设计单元数据格式:根据序列化数据的特点和应用场景,设计出适合存储单元数据的格式。可以采用常见的数据格式,如JSON、XML、CSV等,也可以根据具体需求设计自定义格式。实现序列化数据解析:编写解析序列化数据的程序,将序列化数据按照事先设计好的格式进行解析,得到对应的单元数据。存储单元数据:将解析得到的单元数据存储到数据库或文件系统中。可以采用关系型数据库、NoSQL数据库或文件系统等各种存储方式。实现单元数据访问接口:编写访问单元数据的程序接口,供其他应用程序调用,实现单元数据的查询、更新、删除等操作。实现序列化数据和单元数据的映射:为了方便应用程序使用,需要实现序列化数据和单元数据之间的映射关系。可以采用索引、哈希表等方式实现快速的数据查找。实现数据同步机制:如果序列化数据和单元数据需要保持一致性,需要实现数据同步机制。可以采用定时同步、实时同步等方式,确保数据的一致性和完整性。通过以上技术方案,可以实现对序列化数据进行单元格式数据独立存储的需求,提高数据的可读性、可管理性和可维护性。使用一种数据结构来存储多个单元的数据,比如数组、列表、哈希表等。这些单元可以是同一类型的,也可以是不同类型的。选择一种序列化技术将多个单元的数据转换为二进制数据,比如JSON、XML、ProtocolBuffers等。这些序列化技术可以将数据序列化为二进制文件、数据库记录等形式。创建一个单线程任务队列,将序列化后的数据放入队列中。单线程任务队列可以使用线程安全的队列数据结构实现。创建一个单独的线程,从任务队列中取出序列化后的数据,并将其写入到磁盘或其他持久化存储介质中。写入操作可以使用文件IO、数据库API等技术实现。在写入操作完成后,将结果返回给主线程。可以使用回调函数、消息队列等技术实现。当所有单元的数据都被写入到持久化存储介质中后,关闭写入线程,任务队列和其他资源。
在一具体实施例中,如图3所示,上述APP格式化文件离线存储方法还包括如下步骤:
S301、基于预设的监测周期,判断多个单元数据中是否存在读写操作;
S302、若不存在读写操作,则对多个单元数据进行内存自动释放,并获取数据请求;
S303、根据数据请求,从持久化文件数据中将多个单元数据加载至内存进行读取使用。
具体的,服务器设计数据结构:设计一种数据结构来存储多个单元数据的读写情况,并记录最后一次读写时间。可以使用哈希表或者二叉搜索树作为数据结构,其中关键字是单元数据的ID,值是一个结构体,用来记录读写情况和时间。监测周期:设置一个预设的监测周期,例如每5分钟监测一次数据的读写情况,以判断是否需要进行内存自动释放。监测读写操作:在每个监测周期中,遍历所有单元数据,查看最后一次读写时间是否超过预设的时间范围。如果没有读写操作,则将该单元数据的内存自动释放。数据请求处理:当有数据请求到来时,根据请求的单元数据ID,在持久化文件数据中查找该单元数据,并将其加载至内存中。如果该单元数据已经在内存中,则更新它的读写时间。读取使用:加载完单元数据后,可以进行读取使用操作,例如查询、修改等。数据持久化:在单元数据被修改后,需要将其写回到持久化文件数据中,以保证数据的持久化存储。异常处理:在程序运行过程中,可能会出现异常情况,例如内存不足、持久化文件数据损坏等。需要对这些异常情况进行处理,例如进行内存优化或者进行数据恢复。
在一具体实施例中,如图4所示,执行步骤S104的过程可以具体包括如下步骤:
S401、接收业务模块发送的数据调用请求,并根据数据调用请求判断是否存在数据内存;
S402、若存在,则从数据内存中,通过用户函数条件进行过滤复制输出;
S403、若不存在,则根据数据调用请求加载持久化文件数据。
具体的,服务器设计数据调用请求格式,首先,需要设计一个标准的数据调用请求格式,包括请求的数据类型、数据来源、数据过滤条件等信息,以便后续的数据处理。编写数据处理模块,数据处理模块负责接收业务模块发送的数据调用请求,并根据请求判断是否存在数据内存。如果存在,则通过用户函数条件进行过滤复制输出;如果不存在,则根据请求加载持久化文件数据。该模块需要实现以下功能:接收数据调用请求、判断数据是否已经存在内存中、根据用户函数条件过滤复制数据以及加载持久化文件数据。设计数据内存结构,为了实现高效的数据存储和查询,需要设计一个合适的数据内存结构。可以考虑使用哈希表、二叉树等数据结构来实现数据存储和查询。设计数据持久化方案,数据持久化是为了保证数据的安全性和可靠性。可以考虑使用数据库或者文件系统来实现数据持久化。实现数据加载和保存功能,在数据处理模块中,需要实现数据的加载和保存功能,以便在系统启动和关闭时,能够正确地加载和保存数据。可以考虑使用文件读写、数据库查询等方式来实现数据的加载和保存。同一份单元数据必须保持一份内存数据,各业务操作必须保证单线程操作,以免数据一致性问题,要及时释放内存,由于单元数据将所有数据加载至内存中,所有数据均在内存中操作,因此默认在10s内无任务读写操作,将自动释放内存。也是由于内存占用问题,要求使用者注意单元数据尽可能控制在同时业务需要的数据,以减小同时加载到内存中的单元数据减小。业务数据输出使用拷贝数据输出:功能模块有可能根据需要直接修复输出数据对象,而非通过特定的方法修改数据,如果非拷贝数据输出,有可能出现用户临时修改,而不需要持久化数据的情况。
在一具体实施例中,执行步骤S105的过程可以具体包括如下步骤:
(1)对持久化文件数据进行反序列化处理,得到反序列化数据;
(2)对反序列化数据进行业务函授过滤查询,生成拷贝副本数据并输出。
具体的,服务器对持久化文件数据进行反序列化处理:使用Java中的反序列化功能,通过文件输入流读取序列化文件,并将其反序列化为Java对象。服务器对反序列化数据进行业务函数过滤查询:使用业务函数实现对反序列化数据的过滤和查询,可以使用数据库查询语言进行查询操作,也可以使用Java中的集合类进行过滤操作。服务器生成拷贝副本数据并输出:根据业务需求,使用Java中的对象复制功能,将过滤后的数据复制生成副本,然后输出到指定的文件或者数据库中。可以使用Java中的文件输出流或者数据库操作类进行输出操作。总体技术方案如下:读取序列化文件,将其反序列化为Java对象。使用业务函数进行数据过滤和查询,得到需要生成副本的数据。使用Java中的对象复制功能,生成副本数据。将副本数据输出到指定的文件或者数据库中。
上面对本发明实施例中APP格式化文件离线存储方法进行了描述,下面对本发明实施例中APP格式化文件离线存储装置进行描述,请参阅图5,本发明实施例中APP格式化文件离线存储装置一个实施例包括:
下载模块501,用于在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
转换模块502,用于对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据;
处理模块503,用于对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据;
加载模块504,用于接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据;
输出模块505,用于对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
通过上述各个组成部分的协同合作,在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,本发明由于是内存操作,无任何需要索引时间,大量下载后即可马上使用,开发人员无需担心操作频繁读写带来额外问题,且性能卓越,用户操作完数据即自动持久化,开发人员无需额外保存数据,开发人员采用函数式过滤条件,不涉及SQL查询语法,使用门槛低。
请参阅图6,本发明实施例中APP格式化文件离线存储装置另一个实施例包括:
下载模块501,用于在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
转换模块502,用于对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据;
处理模块503,用于对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据;
加载模块504,用于接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据;
输出模块505,用于对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
可选的,所述转换模块502具体用于:
按照预设的本地数据格式,对所述云端数据进行格式转换,得到本地格式数据;
配置业务主键,并根据所述业务主键,对所述本地格式数据和所述业务操作数据进行内存运算和数据合并,生成目标合并数据;
对所述目标合并数据进行数据缓存操作,得到离线缓存数据。
可选的,所述处理模块503具体用于:
采用protobuf,对所述离线缓存数据进行数据序列化处理,得到序列化数据;
对所述序列化数据进行单元格式数据独立存储,得到所述序列化数据对应的多个单元数据;
对所述多个单元数据进行单线程持久化操作,得到持久化文件数据。
可选的,所述APP格式化文件离线存储装置还包括:
释放模块506,用于基于预设的监测周期,判断所述多个单元数据中是否存在读写操作;若不存在读写操作,则对所述多个单元数据进行内存自动释放,并获取数据请求;根据所述数据请求,从所述持久化文件数据中将所述多个单元数据加载至内存进行读取使用。
可选的,所述加载模块504具体用于:
接收业务模块发送的数据调用请求,并根据所述数据调用请求判断是否存在数据内存;
若存在,则从所述数据内存中,通过用户函数条件进行过滤复制输出
若不存在,则根据所述数据调用请求加载所述持久化文件数据。
可选的,所述输出模块505具体用于:
对所述持久化文件数据进行反序列化处理,得到反序列化数据;
对所述反序列化数据进行业务函授过滤查询,生成拷贝副本数据并输出。
本发明实施例中,在客户端处于无网络环境之前,通过客户端同步下载云端数据,并获取不同的业务操作数据;对云端数据进行格式转换,得到本地格式数据,并对本地格式数据和业务操作数据进行数据合并和数据缓存,得到离线缓存数据;对离线缓存数据进行数据序列化处理,得到序列化数据,并对序列化数据进行持久化操作,得到持久化文件数据;接收业务模块发送的数据调用请求,并根据数据调用请求加载持久化文件数据;对持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,本发明由于是内存操作,无任何需要索引时间,大量下载后即可马上使用,开发人员无需担心操作频繁读写带来额外问题,且性能卓越,用户操作完数据即自动持久化,开发人员无需额外保存数据,开发人员采用函数式过滤条件,不涉及SQL查询语法,使用门槛低。
上面图5和图6从模块化功能实体的角度对本发明实施例中的APP格式化文件离线存储装置进行详细描述,下面从硬件处理的角度对本发明实施例中APP格式化文件离线存储设备进行详细描述。
图7是本发明实施例提供的一种APP格式化文件离线存储设备的结构示意图,该APP格式化文件离线存储设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对APP格式化文件离线存储设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在APP格式化文件离线存储设备600上执行存储介质630中的一系列指令操作。
APP格式化文件离线存储设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的APP格式化文件离线存储设备结构并不构成对APP格式化文件离线存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种APP格式化文件离线存储设备,所述APP格式化文件离线存储设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述APP格式化文件离线存储方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述APP格式化文件离线存储方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random acceS memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种APP格式化文件离线存储方法,其特征在于,所述APP格式化文件离线存储方法包括:
在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据,具体包括:按照预设的本地数据格式,对所述云端数据进行格式转换,得到本地格式数据;配置业务主键,并根据所述业务主键,对所述本地格式数据和所述业务操作数据进行内存运算和数据合并,生成目标合并数据;对所述目标合并数据进行数据缓存操作,得到离线缓存数据;其中,服务器确定本地数据格式:首先需要确定本地数据的格式,本地数据格式包括数据类型、数据结构、字段名称、数据长度信息;获取云端数据:通过API、SDK方式获取云端数据,并将数据存储到本地;解析云端数据:对云端数据进行解析,获取数据类型、数据结构、字段名称、数据长度信息,并与本地数据格式进行对比,确定需要转换的数据字段;进行数据转换:根据需要转换的数据字段,将云端数据转换为本地格式数据,具体转换方式采用字符串拼接、正则表达式匹配、数据格式化方法;存储本地格式数据:将转换后的数据存储到本地;数据校验与处理:对转换后的数据进行校验和处理,确保数据的完整性和正确性;异常处理:在数据转换过程中,会出现数据格式不匹配、数据丢失异常情况,需要进行异常处理;数据同步:对于需要同步的数据,通过定时任务或事件触发方式,对云端和本地数据进行同步,确保数据的一致性;配置业务主键,需要确定业务主键的字段,以确保在数据合并过程中能够正确地匹配相应的数据;对本地格式数据和业务操作数据进行内存运算和数据合并在内存中读取本地格式数据和业务操作数据,并按照业务主键进行匹配和合并,使用哈希表数据结构进行快速匹配,将本地格式数据和业务操作数据合并成目标合并数据;生成目标合并数据:在完成数据合并后,对目标合并数据进行数据清洗、去重、排序操作,生成目标合并数据;实现数据缓存操作:根据数据缓存结构的设计,实现对目标数据的缓存操作,包括:数据抽取、数据转换、数据加载操作;
对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据,具体包括:采用protobuf,对所述离线缓存数据进行数据序列化处理,得到序列化数据;对所述序列化数据进行单元格式数据独立存储,得到所述序列化数据对应的多个单元数据;对所述多个单元数据进行单线程持久化操作,得到持久化文件数据;其中,基于预设的监测周期,判断所述多个单元数据中是否存在读写操作;若不存在读写操作,则对所述多个单元数据进行内存自动释放,并获取数据请求;根据所述数据请求,从所述持久化文件数据中将所述多个单元数据加载至内存进行读取使用;
接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据,具体包括:接收业务模块发送的数据调用请求,并根据所述数据调用请求判断是否存在数据内存;若存在,则从所述数据内存中,通过用户函数条件进行过滤复制输出;若不存在,则根据所述数据调用请求加载所述持久化文件数据;其中,服务器设计数据调用请求格式,首先需要设计一个标准的数据调用请求格式,包括请求的数据类型、数据来源、数据过滤条件信息;编写数据处理模块,数据处理模块负责接收业务模块发送的数据调用请求,并根据请求判断是否存在数据内存;如果存在,则通过用户函数条件进行过滤复制输出;如果不存在,则根据请求加载持久化文件数据;设计数据内存结构,使用哈希表、二叉树数据结构实现数据存储和查询,设计数据持久化方案,使用数据库或者文件系统实现数据持久化;
对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
2.根据权利要求1所述的APP格式化文件离线存储方法,其特征在于,所述对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出,包括:
对所述持久化文件数据进行反序列化处理,得到反序列化数据;
对所述反序列化数据进行业务函授过滤查询,生成拷贝副本数据并输出。
3.一种APP格式化文件离线存储装置,其特征在于,所述APP格式化文件离线存储装置包括:
下载模块,用于在客户端处于无网络环境之前,通过所述客户端同步下载云端数据,并获取不同的业务操作数据;
转换模块,用于对所述云端数据进行格式转换,得到本地格式数据,并对所述本地格式数据和所述业务操作数据进行数据合并和数据缓存,得到离线缓存数据,具体包括:按照预设的本地数据格式,对所述云端数据进行格式转换,得到本地格式数据;配置业务主键,并根据所述业务主键,对所述本地格式数据和所述业务操作数据进行内存运算和数据合并,生成目标合并数据;对所述目标合并数据进行数据缓存操作,得到离线缓存数据;其中,服务器确定本地数据格式:首先需要确定本地数据的格式,本地数据格式包括数据类型、数据结构、字段名称、数据长度信息;获取云端数据:通过API、SDK方式获取云端数据,并将数据存储到本地;解析云端数据:对云端数据进行解析,获取数据类型、数据结构、字段名称、数据长度信息,并与本地数据格式进行对比,确定需要转换的数据字段;进行数据转换:根据需要转换的数据字段,将云端数据转换为本地格式数据,具体转换方式采用字符串拼接、正则表达式匹配、数据格式化方法;存储本地格式数据:将转换后的数据存储到本地;数据校验与处理:对转换后的数据进行校验和处理,确保数据的完整性和正确性;异常处理:在数据转换过程中,会出现数据格式不匹配、数据丢失异常情况,需要进行异常处理;数据同步:对于需要同步的数据,通过定时任务或事件触发方式,对云端和本地数据进行同步,确保数据的一致性;配置业务主键,需要确定业务主键的字段,以确保在数据合并过程中能够正确地匹配相应的数据;对本地格式数据和业务操作数据进行内存运算和数据合并在内存中读取本地格式数据和业务操作数据,并按照业务主键进行匹配和合并,使用哈希表数据结构进行快速匹配,将本地格式数据和业务操作数据合并成目标合并数据;生成目标合并数据:在完成数据合并后,对目标合并数据进行数据清洗、去重、排序操作,生成目标合并数据;实现数据缓存操作:根据数据缓存结构的设计,实现对目标数据的缓存操作,包括:数据抽取、数据转换、数据加载操作;
处理模块,用于对所述离线缓存数据进行数据序列化处理,得到序列化数据,并对所述序列化数据进行持久化操作,得到持久化文件数据,具体包括:采用protobuf,对所述离线缓存数据进行数据序列化处理,得到序列化数据;对所述序列化数据进行单元格式数据独立存储,得到所述序列化数据对应的多个单元数据;对所述多个单元数据进行单线程持久化操作,得到持久化文件数据;其中,基于预设的监测周期,判断所述多个单元数据中是否存在读写操作;若不存在读写操作,则对所述多个单元数据进行内存自动释放,并获取数据请求;根据所述数据请求,从所述持久化文件数据中将所述多个单元数据加载至内存进行读取使用;
加载模块,用于接收业务模块发送的数据调用请求,并根据所述数据调用请求加载所述持久化文件数据,具体包括:接收业务模块发送的数据调用请求,并根据所述数据调用请求判断是否存在数据内存;若存在,则从所述数据内存中,通过用户函数条件进行过滤复制输出;若不存在,则根据所述数据调用请求加载所述持久化文件数据;其中,服务器设计数据调用请求格式,首先需要设计一个标准的数据调用请求格式,包括请求的数据类型、数据来源、数据过滤条件信息;编写数据处理模块,数据处理模块负责接收业务模块发送的数据调用请求,并根据请求判断是否存在数据内存;如果存在,则通过用户函数条件进行过滤复制输出;如果不存在,则根据请求加载持久化文件数据;设计数据内存结构,使用哈希表、二叉树数据结构实现数据存储和查询,设计数据持久化方案,使用数据库或者文件系统实现数据持久化;
输出模块,用于对所述持久化文件数据进行反序列化和过滤查询,生成拷贝副本数据并输出。
4.一种APP格式化文件离线存储设备,其特征在于,所述APP格式化文件离线存储设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述APP格式化文件离线存储设备执行如权利要求1-2中任一项所述的APP格式化文件离线存储方法。
5.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-2中任一项所述的APP格式化文件离线存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778074.7A CN116501700B (zh) | 2023-06-29 | 2023-06-29 | 一种app格式化文件离线存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778074.7A CN116501700B (zh) | 2023-06-29 | 2023-06-29 | 一种app格式化文件离线存储方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501700A CN116501700A (zh) | 2023-07-28 |
CN116501700B true CN116501700B (zh) | 2023-09-08 |
Family
ID=87321717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310778074.7A Active CN116501700B (zh) | 2023-06-29 | 2023-06-29 | 一种app格式化文件离线存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501700B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648297B (zh) * | 2024-01-30 | 2024-06-11 | 中国人民解放军国防科技大学 | 基于对象存储小文件离线合并方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505153A (zh) * | 2021-05-11 | 2021-10-15 | 深圳软牛科技有限公司 | 一种基于iOS系统的备忘录备份方法和相关设备 |
CN114201114A (zh) * | 2021-12-14 | 2022-03-18 | 上海朝阳永续信息技术股份有限公司 | 一种基于文件的跨互联网数据传输系统 |
CN115994122A (zh) * | 2023-03-24 | 2023-04-21 | 北京江民新科技术有限公司 | 快速缓存信息的方法、系统、设备及储存介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9531830B2 (en) * | 2014-07-21 | 2016-12-27 | Sap Se | Odata offline cache for mobile device |
-
2023
- 2023-06-29 CN CN202310778074.7A patent/CN116501700B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505153A (zh) * | 2021-05-11 | 2021-10-15 | 深圳软牛科技有限公司 | 一种基于iOS系统的备忘录备份方法和相关设备 |
CN114201114A (zh) * | 2021-12-14 | 2022-03-18 | 上海朝阳永续信息技术股份有限公司 | 一种基于文件的跨互联网数据传输系统 |
CN115994122A (zh) * | 2023-03-24 | 2023-04-21 | 北京江民新科技术有限公司 | 快速缓存信息的方法、系统、设备及储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116501700A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502507B (zh) | 一种分布式数据库的管理系统、方法、设备和存储介质 | |
US11403269B2 (en) | Versioning validation for data transfer between heterogeneous data stores | |
US9830342B2 (en) | Optimizing database deduplication | |
KR20180021679A (ko) | 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원 | |
WO2018178641A1 (en) | Data replication system | |
CN111241203B (zh) | Hive数据仓库同步方法、系统、设备及存储介质 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
US20070174325A1 (en) | Method and system for building a database from backup data images | |
CN109325016B (zh) | 数据迁移方法、装置、介质及电子设备 | |
CN107391635A (zh) | 数据同步系统及方法 | |
US10877810B2 (en) | Object storage system with metadata operation priority processing | |
CN112131237A (zh) | 数据同步方法、装置、设备及计算机可读介质 | |
CN116501700B (zh) | 一种app格式化文件离线存储方法、装置、设备及存储介质 | |
WO2021112909A1 (en) | Managing replication state for deleted objects | |
US10606805B2 (en) | Object-level image query and retrieval | |
CN113760847A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
CN118069745A (zh) | 基于事务日志的SQL Server增量获取方法、存储介质及设备 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
CN112948494A (zh) | 数据同步方法、装置、电子设备和计算机可读介质 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN113448775B (zh) | 多源异构数据备份方法及装置 | |
CN114116723A (zh) | 快照处理方法、装置及电子设备 | |
US20210240596A1 (en) | Source code file retrieval | |
CN112631741A (zh) | 事务处理方法、设备及存储介质 | |
CN114443777B (zh) | 多数据聚合管理方法、装置、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |