CN111159142B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN111159142B CN111159142B CN201811321644.5A CN201811321644A CN111159142B CN 111159142 B CN111159142 B CN 111159142B CN 201811321644 A CN201811321644 A CN 201811321644A CN 111159142 B CN111159142 B CN 111159142B
- Authority
- CN
- China
- Prior art keywords
- data
- memory storage
- storage object
- disk database
- acquisition request
- 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
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
Abstract
本发明提供一种数据处理方法及装置,该方法包括:在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。通过本发明提供的数据处理方法,可以提高数据读取效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着互联网行业的高速发展,各种互联网程序已经得到了广泛的应用,其业务流程变得更加复杂,数据变得更加丰富,数据量也变得越来越庞大。在业务处理过程中,往往需要读取大量的数据进行分析、展示等处理,然而,现有技术中,通常是将数据存储于磁盘数据库,也可称为传统数据库,例如,MYSQL数据库、ORACLE数据库、SQLSERVER数据库等,并从磁盘数据库中读取数据进行处理,但是这种数据读取方式效率较低,难以满足一些对实时性要求较高的业务需求。
在现有技术中,针对从磁盘数据库中读取数据效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种数据处理方法及装置,以解决从磁盘数据库中读取数据效率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据处理方法。该方法包括:
在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
第二方面,本发明实施例还提供一种数据处理装置。该数据处理装置包括:
加载模块,用于在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
第一读取模块,用于在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
第二读取模块,用于若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
第三方面,本发明实施例还提供一种数据处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的数据处理方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法的步骤。
本发明实施例中,通过在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。通过将磁盘数据库中的数据加载至内存存储对象中,并优先从内存存储对象中读取数据,从而可以提高数据读取效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据处理方法的流程图;
图2是本发明实施例可应用的网络结构示意图;
图3是本发明实施例提供的数据处理装置的结构图;
图4是本发明又一实施例提供的数据处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于描述,以下对本发明实施例涉及的一些术语进行说明:
磁盘数据库:相对于将数据存储于内存来说的,也可称为传统数据库,例如,MYSQL数据库、ORACLE数据库、SQLSERVER数据库等。
IMDG(In Memory Data Grid,内存数据网格):一个介于Web应用程序前端和传统数据库之间的内存网格,它将对象本身存储在内存中,并保证可扩展性,使得数据的读取速度、准确性、数据量都可得到很大的提升,并可支持多种传统数据库,例如,MYSQL数据库、ORACLE数据库、SQLSERVER数据库等。
内存数据库:是指将数据存储在内存中直接进行操作的数据库,例如,Redis数据库、SAP HANA数据库、FastDB数据库、SQLite数据库、Berkeley DB数据库、GigaBase数据库等。
SDK(Software Development Kit,软件开发工具包):一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
Log4j:Apache的一个开源项目。通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;也可以控制每一条日志的输出格式,并且可通过定义每一条日志信息的级别,更加细致地控制日志的生成过程。
ZooKeeper:是一个分布式的、开放源码的分布式应用程序协调服务,是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步和组服务等。
本发明实施例提供一种数据处理方法。参见图1,图1是本发明实施例提供的数据处理方法的流程图,如图1所示,包括以下步骤:
步骤101、在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库。
本发明实施例中,上述数据加载条件可以根据实际需求进行合理设置,例如,接收到数据加载指令、检测到内存存储对象初始化操作、当前时刻为预设时刻、距离前一次加载数据的时长为预设时长等,其中,预设时刻和预设时长可以根据实际情况进行合理设置。上述磁盘数据库可以是MYSQL数据库ORACLE数据库或SQLSERVER数据库等。上述内存数据库可以是Redis数据库、SAP HANA数据库、FastDB数据库、SQLite数据库、Berkeley DB数据库或GigaBase数据库等。需要说明的是,上述内存数据网格或内存数据库可以是单个部署,也可以是部署为集群,也即内存数据网格或内存数据库集群,本发明实施例对此不做限定。
该步骤中,上述将磁盘数据库中的数据加载至内存存储对象中,可以是将磁盘数据库中的全部数据加载至内存数据对象中;也可以是将磁盘数据库中的部分数据加载至内存数据对象中,例如,将磁盘数据库中预设类型的数据加载至内存数据对象中。此外,可以是直接将磁盘数据库中的数据加载至内存数据对象中,也可以是对磁盘数据库中的数据进行处理后再加载至内存数据库中。
步骤102、在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方。
本发明实施例中,上述数据获取请求的发送方可以是服务端,也可以是客户端,本发明实施例对此不做限定。
步骤103、若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
上述步骤102和步骤103中,在接收到数据获取请求的情况下,优先从内存存储对象中读取数据获取请求所请求的目标数据,并返回给数据获取请求的发送方,以提高数据获取效率。在内存存储对象中不存在上述目标数据的情况下,则从磁盘数据库读取所述目标数据,并返回给数据获取请求的发送方,以保证目标数据的成功读取,此外,将目标数据加载至所述内存存储对象,可以提高内存存储对象和磁盘数据库中数据的一致性,也便于下次可以快速获取目标数据。
本发明实施例提供的数据处理方法,通过在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。通过将磁盘数据库中的数据加载至内存存储对象中,并优先从内存存储对象中读取数据,从而可以提高数据读取效率。
可选的,所述数据加载条件包括如下至少一项:
当前时刻为预设时刻;
当前时刻距离前一次将磁盘数据库中的数据加载至内存存储对象中的时刻的时长为预设时长。
本发明实施例中,上述预设时刻可以包括一个或是多个时刻,例如,预设时刻可以包括每天的24点、12点等。以预设时刻为每天的24点为例,可以在每天的24点将磁盘数据库中的数据加载至内存存储对象中,以保证内存存储对象和磁盘数据库中的数据的一致性和准确性。
上述预设时长也可以根据实际情况进行合理设置,例如,6小时、12小时、24小时等。以预设时长为6小时为例,可以每隔6小时则将磁盘数据库中的数据加载至内存存储对象中,以保证内存存储对象和磁盘数据库中的数据的一致性和准确性。
可选的,上述步骤101,也即所述将磁盘数据库中的数据加载至内存存储对象中,包括:
对磁盘数据库中的第一数据进行处理,得到第二数据;其中,所述第一数据为所述磁盘数据库中满足预设处理条件的数据;
将所述第二数据和所述磁盘数据库中的第三数据加载至内存存储对象中;其中,所述第三数据为所述磁盘数据库中除所述第一数据之外的数据。
本发明实施例中,第一数据为所述磁盘数据库中满足预设处理条件的数据,例如,磁盘数据库中与指标计算相关的数据、存在冗余的数据等。
例如,在磁盘数据库中存储有压力值和受力面积两个参数,则可以根据压力值和受力面积计算压强,并将计算得到的压强值加载至内存存储对象中,在客户端需要查看压强这个指标的情况下,则可以直接从内存存储对象中查找压强值并返回给客户端,无需进行额外的计算,也可以节省内存存储对象的存储空间。
本发明实施例通过将第一数据处理为第二数据后,将第二数据与第三数据加载至内存存储对象中,不仅可以保证磁盘数据库和内存存储对象中数据的一致性,还可以节省内存存储对象的存储空间。
可选的,上述步骤101之后,也即所述将磁盘数据库中的数据加载至内存存储对象中之后,所述方法还包括:
在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据;
根据所述更新操作所针对的数据,更新所述内存存储对象中的数据。
本发明实施例中,上述更新操作可以包括删除操作、增加操作和修改操作等中的至少一项。具体的,在需要更新数据的情况下,优先操作磁盘数据库,然后将更新操作所影响的数据更新到内存存储对象中,可以实现内存存储对象与磁盘数据库的同步,进一步提高内存存储对象与磁盘数据库的数据的一致性。
可选的,所述将磁盘数据库中的数据加载至内存存储对象中,包括:
通过调用预设SDK,将磁盘数据库中的数据加载至内存存储对象中;
所述在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方,包括:
通过调用所述预设SDK,在接收到数据获取请求的情况下,若所述内存存储对象中存在所述目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
所述若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方,包括:
通过调用所述预设SDK,若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
本发明实施例中,可以预先将用于实现上述内存存储对象和磁盘数据库之间数据同步的数据同步代码、用于实现从上述内存存储对象或磁盘数据库数据读取数据的数据读取代码等打包成SDK,从而在进行数据同步、读取等过程中可以直接调用SDK执行,不仅可以简化代码调用过程,还有利于上述代码的重复使用,使得开发人员不需要花费大量的时间编写一些重复的代码进行数据同步操作、数据读取操作等。
可选的,所述在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据,可以包括:通过调用预设SDK,在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据;
所述根据所述更新操作所针对的数据,更新所述内存存储对象中的数据,可以包括:通过调用所述预设SDK,根据所述更新操作所针对的数据,更新所述内存存储对象中的数据。
可选的,所述方法还可以包括:
在调用所述预设SDK进行数据处理的过程中,记录所述预设SDK进行数据处理的结果信息和/或数据处理失败的指示信息,所述指示信息用于指示数据处理失败的原因。
本发明实施例中,可以通过日志记录数据处理的结果信息和/或数据处理失败的指示信息,例如,通过log4j日志记录数据同步结果、数据同步失败原因等,便于用户参考、分析。
以下结合举例本发明实施例进行说明:
参见图2,图2是本发明实施例可应用的网络结构示意图,包括预设SDK(也可称为IMDG自动化工具)、IMDG、传统数据库和客户端。通过调用预设SDK,可在每天的零点(也即24点)将传统数据库中的数据加载到IMDG中,其中,一部分数据可经过处理后加载到IMDG中。客户端可调用预设SDK请求查询数据,通过预设SDK可以判断IMDG中是否存在所请求的数据,如果存在直接返回给客户端,如果不存在,可以从传统数据库中读取到IMDG中,再返回给客户端。在需要更新数据时,通过调用预设SDK,可直接操作传统数据库,然后将影响的数据更新到IMDG中,实现IMDG与数据库同步。本发明实施例通过调用预设SDK实现数据同步、数据读取等操作,实现较为简单。
需要说明的是,上述IMDG可以是IMDG集群,并可通过ZooKeeper对IMDG集群进行管理和资源分配。
本发明实施例中,首先,由于每天零点会去同步IMDG和传统数据库中的数据,当数据有改变(例如,执行增加、删除、修改等操作)的时候,IMDG自动化工具会去同步,可以保证IMDG和传统数据库的数据的一致性和准确性。其次,IMDG本身存储在内存中,再加上定时将数据初始化到内存中,从内存中直接读取数据,可以提高数据读取效率。最后,由于IMDG集群有节点迁移策略,可保证数据的安全性。
参见图3,图3是本发明实施例提供的数据处理装置的结构图。如图3所示,数据处理装置300包括:
加载模块301,用于在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
第一读取模块302,用于在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
第二读取模块303,用于若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
可选的,所述数据加载条件包括如下至少一项:
当前时刻为预设时刻;
当前时刻距离前一次将磁盘数据库中的数据加载至内存存储对象中的时刻的时长为预设时长。
可选的,所述加载模块具体用于:
对磁盘数据库中的第一数据进行处理,得到第二数据;其中,所述第一数据为所述磁盘数据库中满足预设处理条件的数据;
将所述第二数据和所述磁盘数据库中的第三数据加载至内存存储对象中;其中,所述第三数据为所述磁盘数据库中除所述第一数据之外的数据。
可选的,所述装置还包括
获取模块,用于所述将磁盘数据库中的数据加载至内存存储对象中之后,在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据;
更新模块,用于根据所述更新操作所针对的数据,更新所述内存存储对象中的数据。
可选的,所述加载模块具体用于:
通过调用预设SDK,将磁盘数据库中的数据加载至内存存储对象中;
所述第一读取模块具体用于:
通过调用所述预设SDK,在接收到数据获取请求的情况下,若所述内存存储对象中存在所述目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
所述第二读取模块具体用于:
通过调用所述预设SDK,若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
可选的,所述装置还包括:
记录模块,用于在调用所述预设SDK进行数据处理的过程中,记录所述预设SDK进行数据处理的结果信息和/或数据处理失败的指示信息,所述指示信息用于指示数据处理失败的原因。
本发明实施例提供的数据处理装置300能够实现上述数据处理方法实施例中的各个过程,为避免重复,这里不再赘述。
本发明实施例的数据处理装置300,加载模块301,用于在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;第一读取模块302,用于在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;第二读取模块303,用于若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。通过将磁盘数据库中的数据加载至内存存储对象中,并优先从内存存储对象中读取数据,从而可以提高数据读取效率。
参见图4,图4是本发明又一实施提供的数据处理装置的结构图,如图4所示,数据处理装置400包括:处理器401、存储器402及存储在所述存储器402上并可在所述处理器上运行的计算机程序,数据发送装置400中的各个组件通过总线接口403耦合在一起,所述计算机程序被所述处理器401执行时实现如下步骤:
在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
可选的,所述数据加载条件包括如下至少一项:
当前时刻为预设时刻;
当前时刻距离前一次将磁盘数据库中的数据加载至内存存储对象中的时刻的时长为预设时长。
可选的,所述计算机程序被所述处理器401执行时还用于:
对磁盘数据库中的第一数据进行处理,得到第二数据;其中,所述第一数据为所述磁盘数据库中满足预设处理条件的数据;
将所述第二数据和所述磁盘数据库中的第三数据加载至内存存储对象中;其中,所述第三数据为所述磁盘数据库中除所述第一数据之外的数据。
可选的,所述计算机程序被所述处理器401执行时还用于:
所述将磁盘数据库中的数据加载至内存存储对象中之后,在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据;
根据所述更新操作所针对的数据,更新所述内存存储对象中的数据。
可选的,所述计算机程序被所述处理器401执行时还用于:
通过调用预设SDK,将磁盘数据库中的数据加载至内存存储对象中;
通过调用所述预设SDK,在接收到数据获取请求的情况下,若所述内存存储对象中存在所述目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
通过调用所述预设SDK,若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
可选的,所述计算机程序被所述处理器401执行时还用于:
在调用所述预设SDK进行数据处理的过程中,记录所述预设SDK进行数据处理的结果信息和/或数据处理失败的指示信息,所述指示信息用于指示数据处理失败的原因。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方;
所述将磁盘数据库中的数据加载至内存存储对象中,包括:
对磁盘数据库中的第一数据进行处理,得到第二数据;其中,所述第一数据为所述磁盘数据库中满足预设处理条件的数据,所述磁盘数据库中满足预设处理条件的数据包括所述磁盘数据库中与指标计算相关的数据,所述第二数据包括基于所述与指标计算相关的数据计算得到的指标值;
将所述第二数据和所述磁盘数据库中的第三数据加载至内存存储对象中;其中,所述第三数据为所述磁盘数据库中除所述第一数据之外的数据。
2.根据权利要求1所述的方法,其特征在于,所述数据加载条件包括如下至少一项:
当前时刻为预设时刻;
当前时刻距离前一次将磁盘数据库中的数据加载至内存存储对象中的时刻的时长为预设时长。
3.根据权利要求1所述的方法,其特征在于,所述将磁盘数据库中的数据加载至内存存储对象中之后,所述方法还包括:
在接收到对所述磁盘数据库的更新操作的情况下,获取所述更新操作所针对的数据;
根据所述更新操作所针对的数据,更新所述内存存储对象中的数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将磁盘数据库中的数据加载至内存存储对象中,包括:
通过调用预设SDK,将磁盘数据库中的数据加载至内存存储对象中;
所述在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方,包括:
通过调用所述预设SDK,在接收到数据获取请求的情况下,若所述内存存储对象中存在所述目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
所述若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方,包括:
通过调用所述预设SDK,若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在调用所述预设SDK进行数据处理的过程中,记录所述预设SDK进行数据处理的结果信息和/或数据处理失败的指示信息,所述指示信息用于指示数据处理失败的原因。
6.一种数据处理装置,其特征在于,包括:
加载模块,用于在满足数据加载条件的情况下,将磁盘数据库中的数据加载至内存存储对象中;其中,所述内存存储对象包括内存数据网格或内存数据库;
第一读取模块,用于在接收到数据获取请求的情况下,若所述内存存储对象中存在所述数据获取请求所请求的目标数据,则从所述内存存储对象读取所述目标数据,并返回给所述数据获取请求的发送方;
第二读取模块,用于若所述内存存储对象中不存在所述目标数据,则从所述磁盘数据库读取所述目标数据,将所述目标数据加载至所述内存存储对象,并返回给所述数据获取请求的发送方;
所述加载模块具体用于:
对磁盘数据库中的第一数据进行处理,得到第二数据;其中,所述第一数据为所述磁盘数据库中满足预设处理条件的数据,所述磁盘数据库中满足预设处理条件的数据包括所述磁盘数据库中与指标计算相关的数据,所述第二数据包括基于所述与指标计算相关的数据计算得到的指标值;
将所述第二数据和所述磁盘数据库中的第三数据加载至内存存储对象中;其中,所述第三数据为所述磁盘数据库中除所述第一数据之外的数据。
7.根据权利要求6所述的装置,其特征在于,所述数据加载条件包括如下至少一项:
当前时刻为预设时刻;
当前时刻距离前一次将磁盘数据库中的数据加载至内存存储对象中的时刻的时长为预设时长。
8.一种数据处理装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的数据处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321644.5A CN111159142B (zh) | 2018-11-07 | 2018-11-07 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321644.5A CN111159142B (zh) | 2018-11-07 | 2018-11-07 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159142A CN111159142A (zh) | 2020-05-15 |
CN111159142B true CN111159142B (zh) | 2023-07-14 |
Family
ID=70555362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811321644.5A Active CN111159142B (zh) | 2018-11-07 | 2018-11-07 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159142B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858668B (zh) * | 2020-06-30 | 2021-05-18 | 物产中大数字科技有限公司 | 用于sap hana的数据抽取方法及装置 |
CN113138987A (zh) * | 2021-04-28 | 2021-07-20 | 深圳软牛科技有限公司 | 基于内存数据的数据处理方法和相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004111881A1 (en) * | 2003-05-28 | 2004-12-23 | Pervasive Software, Inc. | System and method for utilizing compression in database caches to facilitate access to database information |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN107797770A (zh) * | 2017-11-07 | 2018-03-13 | 深圳神州数码云科数据技术有限公司 | 一种磁盘状态信息的同步方法及装置 |
CN108509501A (zh) * | 2018-02-28 | 2018-09-07 | 努比亚技术有限公司 | 一种查询处理方法、服务器及计算机可读存储介质 |
CN108628897A (zh) * | 2017-03-22 | 2018-10-09 | 上海恒容企业管理有限公司 | 基于快数据和大数据技术架构的运维管理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572134B2 (en) * | 2011-06-20 | 2013-10-29 | Bank Of America Corporation | Transforming and storing messages in a database |
CN102945251A (zh) * | 2012-10-12 | 2013-02-27 | 浪潮电子信息产业股份有限公司 | 一种利用内存数据库技术优化磁盘数据库性能的方法 |
US9286336B2 (en) * | 2013-03-12 | 2016-03-15 | Sap Se | Unified architecture for hybrid database storage using fragments |
US10127260B2 (en) * | 2014-11-25 | 2018-11-13 | Sap Se | In-memory database system providing lockless read and write operations for OLAP and OLTP transactions |
CN105701190A (zh) * | 2016-01-07 | 2016-06-22 | 深圳市金证科技股份有限公司 | 一种数据同步的方法和装置 |
CN107657458A (zh) * | 2016-08-23 | 2018-02-02 | 平安科技(深圳)有限公司 | 名单获取方法及装置 |
CN107704196B (zh) * | 2017-03-09 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块链数据存储系统和方法 |
CN108052569A (zh) * | 2017-12-07 | 2018-05-18 | 深圳市康必达控制技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算设备 |
-
2018
- 2018-11-07 CN CN201811321644.5A patent/CN111159142B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004111881A1 (en) * | 2003-05-28 | 2004-12-23 | Pervasive Software, Inc. | System and method for utilizing compression in database caches to facilitate access to database information |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN108628897A (zh) * | 2017-03-22 | 2018-10-09 | 上海恒容企业管理有限公司 | 基于快数据和大数据技术架构的运维管理方法 |
CN107797770A (zh) * | 2017-11-07 | 2018-03-13 | 深圳神州数码云科数据技术有限公司 | 一种磁盘状态信息的同步方法及装置 |
CN108509501A (zh) * | 2018-02-28 | 2018-09-07 | 努比亚技术有限公司 | 一种查询处理方法、服务器及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
内存数据库应用于电信计费系统的研究与实现;李蔚;张效尉;李刚;;郑州轻工业学院学报(自然科学版)(03);全文 * |
集成消息服务和定时通知的分布式内存数据库;周京晖;;软件(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111159142A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800207B (zh) | 日志解析方法、装置、设备及计算机可读存储介质 | |
CN111159142B (zh) | 一种数据处理方法及装置 | |
CN104320312A (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
CN108446110B (zh) | Lua脚本生成方法、装置、终端及计算机可读介质 | |
CN113568604B (zh) | 风控策略的更新方法、装置及计算机可读存储介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
CN117032668A (zh) | 可视化规则引擎的处理方法、装置、系统及平台 | |
CN112084199A (zh) | 一种基于场景的通用参数维护方法及装置 | |
CN115827646A (zh) | 索引配置方法、装置和电子设备 | |
CN110727565A (zh) | 一种网络设备平台信息收集方法及系统 | |
EP3923155A2 (en) | Method and apparatus for processing snapshot, device, medium and product | |
CN113901153A (zh) | 数据处理方法及相关设备 | |
CN113485763A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN114356404A (zh) | 接口文档生成方法、系统和计算机可读存储介质 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN112131239A (zh) | 一种数据处理方法、计算机设备以及可读存储介质 | |
CN115563183B (zh) | 查询方法、装置及程序产品 | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、系统及介质 | |
CN111125149B (zh) | 基于Hive的数据获取方法、装置及存储介质 | |
CN112925573B (zh) | 网页加载的方法、装置、设备和计算机可读介质 | |
CN115221190A (zh) | 数据隔离方法、装置、设备、系统和计算机存储介质 | |
CN113886215A (zh) | 接口测试方法、装置及存储介质 | |
CN117667885A (zh) | 数据迁移方法、装置、终端设备及存储介质 | |
CN117311673A (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 |