CN115905244A - 一种基于内存批量处理数据的方法 - Google Patents
一种基于内存批量处理数据的方法 Download PDFInfo
- Publication number
- CN115905244A CN115905244A CN202211721048.2A CN202211721048A CN115905244A CN 115905244 A CN115905244 A CN 115905244A CN 202211721048 A CN202211721048 A CN 202211721048A CN 115905244 A CN115905244 A CN 115905244A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- deleted
- database
- class
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于内存批量处理数据的方法,包括以下步骤,S1,前端组装需要保存的数据,已经存在数据中但不再需要的数据需需要剔除,并向内存发起保存数据请求;S2,预置数据集合;S3,后端接收请求参数,并根据业务查询数据库中所有已存在的相关数据;S4,将查询结果数据的删除标识批量设置为已删除,并将数据添加到更新类集合;S5,在内存中解析并重新修改数据;S6,数据在内存中处理完毕,根据更新类数据集合和添加类数据集合,将数据进行持久化操作,分别执行数据库批量更新操作和批量添加操作。
Description
技术领域
本发明涉及软件开发领域,尤其涉及一种基于内存批量处理数据的方法。
背景技术
通常对于软件开发,java后端接口定义职责单一,要么处理新增或修改数据,要么删除数据,完成同一功能前端需要判断并分别调用相应接口,调用次数多且逻辑复杂,现在后端提供一种基于内存批量处理包含新增修改删除数据请求的方法,将多个操作聚合为一个接口,用于简化前端开发。
此工程问题可抽象为:针对某个功能产生的数据,可能需要持久化到数据库,可能需要更新数据,也有可能需要删除,调用多个接口处理效率低,调用次数多,且逻辑复杂。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于内存批量处理数据的方法;
为实现上述目的,本发明采用了如下技术方案:一种基于内存批量处理数据的方法一种基于内存批量处理数据的方法,包括以下步骤,
S1,前端组装需要保存的数据,已经存在数据中但不再需要的数据需需要剔除,并向内存发起保存数据请求;
所述内存可为硬盘、数据库等;
S2,预置数据集合;
对需要保存的业务数据预先定义好数据集合;
所述数据集合包括两种,一种是更新类集合,一种是添加类集合;
S3,后端接收请求参数,并根据业务查询数据库中所有已存在的相关数据;
S4,将查询结果数据的删除标识批量设置为已删除,并将数据添加到更新类集合;
S5,在内存中解析并重新修改数据;
解析数据循环遍历数据,判断数据的主键id是否为null;
S6,数据在内存中处理完毕,根据更新类数据集合和添加类数据集合,将数据进行持久化操作,分别执行数据库批量更新操作和批量添加操作。
优选地,步骤S4还包括以下子步骤,
S4-1,查询mysql数据库中已存在并且没有被删除的数据;
S4-2,将查询出来的数据先在内存中标记为已删除;
S4-3,将这些标记为已删除的数据放到更新类集合中,同时复制该类数据并存放到Map集合中;。
优选地,步骤S5还包括以下子步骤,
S5-1,若数据的主键id为null,则执行新增数据逻辑;
对于数据的子集重复S5步骤;
S5-2,若数据的主键id不为null,则执行更新数据逻辑;
S5-3,对于请求中需要保存的数据不包含已删除的部分数据,则该部分数据将不会从已删除重置为未删除。
与现有技术相比,本发明的有益效果为:依据本发明的处理数据的方法,极大的减少前后端开发的工作量,简化了业务处理逻辑,提高开发效率和业务处理效率,基于内存处理删除数据和批量保存数据库,极大的减少了数据库访问次数,提高了***性能。
附图说明
图1为本发明的一种基于内存批量处理数据的方法的流程图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
请参阅图1,本发明一实施例的基于内存批量处理数据的方法,包括以下步骤:
S1,前端组装需要保存的数据,已经存在数据中但不再需要的数据需需要剔除,并向内存发起保存数据请求;
所述内存可为硬盘、数据库等;
S2,预置数据集合;
对需要保存的业务数据预先定义好数据集合;
所述数据集合包括两种,一种是更新类集合,一种是添加类集合;
S3,后端接收请求参数,并根据业务查询数据库中所有已存在的相关数据;
S4,将查询结果数据的删除标识批量设置为已删除,并将数据添加到更新类集合;
S4-1,查询mysql数据库中已存在并且没有被删除的数据;
S4-2,将查询出来的数据先在内存中标记为已删除;
S4-3,将这些标记为已删除的数据放到更新类集合中,同时复制该类数据并存放到Map集合中;
Map集合,一种key-value类型的集合,key为数据的主键id,value为数据本身,方便后续对数据操作;
在内存中标记并不需要操作数据库,因为数据此时还不是最终状态,可以减少对数据库的访问次数,相较于访问数据库修改数据库数据状态,大大提高了效率,同时还减少了数据库资源占用,提高了数据库的性能;
S5,在内存中解析并重新修改数据;
解析数据循环遍历数据,判断数据的主键id是否为null;
S5-1,若数据的主键id为null,说明此条数据是新增的,执行新增数据逻辑,状态标识设为未删除,存放到添加类集合;
对于数据的子集重复S5步骤;
S5-2,若数据的主键id不为null,说明此条数据已经存在数据库中,执行更新数据逻辑,根据主键id从已删除数据的Map集合中获取到该数据,将请求中需要保存的数据替换掉该数据内容,并将状态标识从已删除状态重新设置为未删除;
S5-3,对于请求中需要保存的数据不包含已删除的部分数据,则该部分数据将不会从已删除重置为未删除,依旧存放于更新类集合中,最终一起更新到数据库中,变成真正的已删除数据;
S6,数据在内存中处理完毕,根据更新类数据集合和添加类数据集合,将数据进行持久化操作,分别执行数据库批量更新操作和批量添加操作。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (3)
1.一种基于内存批量处理数据的方法,其特征在于:包括以下步骤,
S1,前端组装需要保存的数据,已经存在数据中但不再需要的数据需需要剔除,并向内存发起保存数据请求;
所述内存可为硬盘、数据库等;
S2,预置数据集合;
对需要保存的业务数据预先定义好数据集合;
所述数据集合包括两种,一种是更新类集合,一种是添加类集合;
S3,后端接收请求参数,并根据业务查询数据库中所有已存在的相关数据;
S4,将查询结果数据的删除标识批量设置为已删除,并将数据添加到更新类集合;
S5,在内存中解析并重新修改数据;
解析数据循环遍历数据,判断数据的主键id是否为null;
S6,数据在内存中处理完毕,根据更新类数据集合和添加类数据集合,将数据进行持久化操作,分别执行数据库批量更新操作和批量添加操作。
2.如权利要求1所述的基于内存批量处理数据的方法,其特征在于:步骤S4还包括以下子步骤,
S4-1,查询mysql数据库中已存在并且没有被删除的数据;
S4-2,将查询出来的数据先在内存中标记为已删除;
S4-3,将这些标记为已删除的数据放到更新类集合中,同时复制该类数据并存放到Map集合中。
3.如权利要求1所述的基于内存批量处理数据的方法,其特征在于:步骤S5还包括以下子步骤,
S5-1,若数据的主键id为null,则执行新增数据逻辑;
对于数据的子集重复S5步骤;
S5-2,若数据的主键id不为null,则执行更新数据逻辑;
S5-3,对于请求中需要保存的数据不包含已删除的部分数据,则该部分数据将不会从已删除重置为未删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211721048.2A CN115905244A (zh) | 2022-12-30 | 2022-12-30 | 一种基于内存批量处理数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211721048.2A CN115905244A (zh) | 2022-12-30 | 2022-12-30 | 一种基于内存批量处理数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905244A true CN115905244A (zh) | 2023-04-04 |
Family
ID=86482418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211721048.2A Pending CN115905244A (zh) | 2022-12-30 | 2022-12-30 | 一种基于内存批量处理数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905244A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107572A (zh) * | 2023-04-07 | 2023-05-12 | 苏州万店掌网络科技有限公司 | 一种批量操作持久化对象方法、装置、计算机设备和介质 |
-
2022
- 2022-12-30 CN CN202211721048.2A patent/CN115905244A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107572A (zh) * | 2023-04-07 | 2023-05-12 | 苏州万店掌网络科技有限公司 | 一种批量操作持久化对象方法、装置、计算机设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6567809B2 (en) | Disabling and reloading enterprise java beans using database trigger programs | |
US6304867B1 (en) | System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data | |
US7533136B2 (en) | Efficient implementation of multiple work areas in a file system like repository that supports file versioning | |
CN109144994A (zh) | 索引更新方法、***及相关装置 | |
CN107038222B (zh) | 数据库缓存实现方法及其*** | |
US7949685B2 (en) | Modeling and implementing complex data access operations based on lower level traditional operations | |
US7020659B2 (en) | System and method for managing bi-directional relationships between objects | |
CN110188114B (zh) | 一种数据操作的优化方法、装置、***、设备和存储介质 | |
US20070250517A1 (en) | Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries | |
CN109299101B (zh) | 数据检索方法、装置、服务器和存储介质 | |
CN112015741A (zh) | 一种海量数据的分库分表存储方法与装置 | |
WO2021169496A1 (zh) | 数据读取方法、装置、设备及存储介质 | |
CN115905244A (zh) | 一种基于内存批量处理数据的方法 | |
CN114817974A (zh) | 动态数据脱敏方法及***、数据安全处理方法及*** | |
CN108874837B (zh) | 数据库分库方法、装置、中间件及存储介质和电子设备 | |
CN115794874A (zh) | 一种异构数据库***中加速gpu算子执行的方法及应用 | |
CN115269631A (zh) | 数据查询方法、数据查询***、设备及存储介质 | |
CN111352936A (zh) | Es重建索引的方法、存储介质 | |
AU7879598A (en) | Language manager interface | |
CN117421302A (zh) | 一种数据处理方法及相关设备 | |
US8285755B2 (en) | Partial updating in a database proxy driver | |
US9009731B2 (en) | Conversion of lightweight object to a heavyweight object | |
CN115098503A (zh) | 空值数据处理方法、装置、计算机设备以及存储介质 | |
CN114925142A (zh) | 一种orm框架的多类型数据库兼容方法、装置、设备及介质 | |
CN110222105B (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 |