CN110045925A - 数据处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110045925A CN110045925A CN201910163470.2A CN201910163470A CN110045925A CN 110045925 A CN110045925 A CN 110045925A CN 201910163470 A CN201910163470 A CN 201910163470A CN 110045925 A CN110045925 A CN 110045925A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- processing method
- message
- main module
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 35
- 230000008859 change Effects 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 10
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开公开了一种数据处理方法、装置、电子设备和计算机可读存储介质。其中所述数据处理方法包括:将第一数据存储在主模块;将第二数据存储在至少一个从模块;使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。在本公开实施例提供的数据处理方法、装置、电子设备和计算机可读存储介质中,主模块和从模块分别存储各自的数据,并且主模块可以根据从模块的订阅信息将数据变更消息发送给从模块,通过上述主模块和从模块之间的协作能够提高处理数据的效率。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机技术的进步和信息时代的来临,人们需要处理越来越多的数据,这对数据关于处理速度和存储容量的要求越来越高,因此分布式系统凭借强大的性能得到广泛应用。
现有技术中分布式系统的常见形式包括通过多个子系统分别支撑特定的业务,例如分布式系统的每个子系统各自存储特定业务的数据,从而可以针对各自的特定业务及其数据的特点对子系统进行优化,以获得高性能。但是,业务之间并非全无联系,当一个业务需要基于多个其他特定的业务的数据来完成时,需要对分布式系统的多个子系统进行访问,如果其中的一个子系统出现问题(例如系统停机,系统中存储数据错误等),将会导致上述一个业务出错或无法执行,造成执行的低效率。
发明内容
在本公开实施例提供数据处理方法,装置,电子设备,和计算机可读存储介质中,主模块和从模块分别存储各自的数据,并且主模块可以根据从模块的订阅信息将数据变更消息发送给从模块,通过上述主模块和从模块之间的协作能够提高处理数据的效率。
第一方面,本公开实施例提供一种数据处理方法,包括:将第一数据存储在主模块;将第二数据存储在至少一个从模块;使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
进一步的,所述方法还包括:响应于满足第一预设条件,使所述至少一个从模块将所述第二数据或者所述第二数据中的部分数据存储到所述主模块。
进一步的,所述第一预设条件包括如下预设条件中的一个或者多个:第一时间段内所述第二数据或者所述第二数据中的部分数据被调用的次数达到第一预设次数;第二时间段内所述第二数据或者所述第二数据中的部分数据未发生变更或者发生变更的次数小于第二预设次数;所述第二数据或者所述第二数据中的部分数据被标记为第一类数据。
进一步的,所述方法还包括:响应于满足第二预设条件,使所述主模块将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块。
进一步的,所述第二预设条件包括如下预设条件中的一个或者多个:第三时间段内所述第一数据或者所述第一数据中的部分数据被调用的次数小于第三预设次数;第四时间段内所述第一数据或者所述第一数据中的部分数据发生变更或者发生变更的次数达到第四预设次数;所述第一数据或者所述第一数据中的部分数据被标记为第二类数据。
进一步的,所述订阅消息指示以下至少一项:与所述订阅消息对应的数据的名称,标识和类型。
进一步的,使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,包括:响应于数据变更日志中存在所述订阅消息对应的所述数据发生变更的记录,使所述主模块向所述至少一个从模块发送所述数据变更消息。
进一步的,所述主模块的数据处理能力强于所述至少一个从模块的数据处理能力。
进一步的,所述第一数据包括多个类型的数据,存储于同一个所述从模块中的所述第二数据属于同一个类型。
第二方面,本公开实施例提供一种数据处理装置,包括主模块和至少一个从模块,其中:所述主模块,用于存储第一数据;所述至少一个从模块,用于存储第二数据;所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
进一步的,所述至少一个从模块还用于响应于满足第一预设条件,将所述第二数据或者所述第二数据中的部分数据存储到所述主模块。
进一步的,所述第一预设条件包括如下预设条件中的一个或者多个:第一时间段内所述第二数据或者所述第二数据中的部分数据被调用的次数达到第一预设次数;第二时间段内所述第二数据或者所述第二数据中的部分数据未发生变更或者发生变更的次数小于第二预设次数;所述第二数据或者所述第二数据中的部分数据被标记为第一类数据。
进一步的,所述主模块还用于响应于满足第二预设条件,将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块。
进一步的,所述第二预设条件包括如下预设条件中的一个或者多个:第三时间段内所述第一数据或者所述第一数据中的部分数据被调用的次数小于第三预设次数;第四时间段内所述第一数据或者所述第一数据中的部分数据发生变更或者发生变更的次数达到第四预设次数;所述第一数据或者所述第一数据中的部分数据被标记为第二类数据。
进一步的,所述订阅消息指示与所述订阅消息对应的数据的名称,标识,和/或类型。
进一步的,所述主模块还用于响应于数据变更日志中存在所述订阅消息对应的所述数据发生变更的记录,向所述至少一个从模块发送所述数据变更消息。
进一步的,所述主模块的数据处理能力强于所述至少一个从模块的数据处理能力。
进一步的,所述第一数据包括多个类型的数据,存储于同一个所述从模块中的所述第二数据属于同一个类型。
第三方面,本公开实施例提供一种电子设备,包括:存储器,用于存储计算机可读指令;以及与所述存储器耦合的一个或多个处理器,用于运行所述计算机可读指令,使得所述处理器运行时实现前述第一方面中的任一所述数据处理方法。
第四方面,本公开实施例提供一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行前述第一方面中的任一所述数据处理方法。
本公开公开了一种数据处理方法、装置、电子设备和计算机可读存储介质。其中所述数据处理方法包括:将第一数据存储在主模块;将第二数据存储在至少一个从模块;使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。在本公开实施例提供的数据处理方法、装置、电子设备和计算机可读存储介质中,主模块和从模块分别存储各自的数据,并且主模块可以根据从模块的订阅信息将数据变更消息发送给从模块,通过上述主模块和从模块之间的协作能够提高处理数据的效率。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所适用的应用场景的示意图;
图2为本公开实施例提供的数据处理方法实施例一的流程图;
图3为本公开实施例提供的数据处理方法实施例二的流程图;
图4为本公开实施例提供的数据处理装置实施例的结构示意图;
图5为根据本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图示中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本实施例提供的该数据处理方法可以由一个数据处理装置来执行,该装置可以实现为软件,可以实现为硬件,还可以实现为软件和硬件的组合,例如通过计算机设备来执行本实施例提供的该数据处理方法。并且可以理解的是,该数据处理装置的形式还包括由多个计算机设备组成的数据处理系统,在该数据处理系统中,该多个计算机设备通信连接。
图1所示为本公开实施例提供的数据处理方法所适用的应用场景示意图,值得说明的是,图1所示的应用场景作为一个示例并未限定本公开实施例的应用场景,本公开实施例还可以应用于各种适当的应用场景。如图1所示,本公开实施例提供的数据处理装置包括主模块101,从模块102,和从模块103,当然所述数据处理装置还可以包括更多的或者更少的从模块。其中所述主模块101,从模块102,和从模块103可以用于存储数据,还可以用于运行业务或支撑业务。如同本领域技术人员的理解,本公开实施例中的模块(例如主模块和从模块)可以包括计算机设备或者计算机系统,还可以包括在逻辑上具有独立的边界并能够实现数据处理功能的运算单元,各模块运行的业务或者支撑的外部业务可以通过本公开实施例中的模块读取该模块所存储的数据,还可以向该模块写入数据。如同本领域技术人员的理解,本公开实施例中的业务也可以称为计算机应用,能够实现一定的计算功能。
图2为本公开实施例提供的数据处理方法实施例一的流程图,如图2所示,本公开实施例的数据处理方法包括如下步骤:
步骤2101,将第一数据存储在主模块;
步骤S202,将第二数据存储在至少一个从模块;
在步骤S201和步骤S202中,通过主模块存储第一数据,通过至少一个从模块存储第二数据。可选的,如果只有一个从模块,那么所述一个从模块存储全部第二数据。可选的,如果有多个从模块,那么每个从模块存储所述第二数据的一部分,全部从模块存储全部第二数据。
在一个可选的实施例中,所述主模块所存储的第一数据包括重要数据,常用数据,稳定数据,和/或第一类数据。在又一个可选的实施例中,所述至少一个从模块存储的第二数据包括非重要数据,非常用数据,非稳定数据,和/或第二类数据。其中所述重要数据例如包括用于支撑重要业务的数据或业务中的核心数据,相应的非重要数据包括除重要数据以外的其他数据;所述常用数据例如包括单位时间段内被业务调用的次数达到预设次数的数据,相应的非常用数据包括单位时间段内被业务调用的次数未达到预设次数的数据;所述稳定数据包括单位时间段内未发生变更的数据或者单位时间段内发生变更的次数未达到预设次数的数据,相应的非稳定数据包括单位时间段内发生变更的次数达到预设次数的数据;所述第一类数据和第二类数据可以基于任何规则对数据进行分类,例如基于前述的判断是否为重要数据,常用数据,稳定数据等的规则,将数据标记为第一类数据或者第二类数据。可以理解的是,其中的单位时间段和预设次数可以任意设定,并且对于不同的数据,所述单位时间段和预设次数可以有所不同。通过上述方式,将重要数据,常用数据,稳定数据,和/或第一类数据存储在主模块,以期通过主模块为业务提供主要数据支撑,提升数据处理效率。可选的,所述主模块的处理能力强于所述至少一个从模块的数据处理能力,从而使主模块具有更强的性能和可靠性,更好地为业务提供支撑。
在又一个可选的实施例中,所述第一数据包括多个类型的数据,存储于同一个所述从模块中的所述第二数据属于同一个类型(例如对于所述至少一个从模块中的任意一个从模块,该任意一个从模块仅存储一个类型的第二数据,进一步的对于所述至少一个从模块中任意两个从模块,该两个从模块所各自存储的第二数据的类型不同)。作为示例,所述类型是业务类型,所述主模块所存储的第一数据包括多个业务类型的数据,例如所述第一数据包括广告业务类型的数据和用户档案业务类型的数据;所述至少一个从模块包括第一从模块和第二从模块,其中所述第一从模块所存储的第二数据仅包括广告业务类型的数据,所述第二从模块所存储的第二数据仅包括用户档案业务类型的数据。在这个示例中,可选的,第一从模块用于执行广告业务,在执行所述广告业务时可以调用第一从模块存储的广告类型的第二数据,还可以调用主模块存储的广告类型的第一数据。当所述第一从模块所执行的广告业务需要用户档案类型的数据作为支撑时,也可以调用第二从模块存储的用户档案类型的第二数据,还可以调用主模块管理的用户档案类型的第一数据。简言之,在本公开实施例中,如无特殊说明,各主模块和从模块可以调用存储在任何模块中的数据。
步骤S203,使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
本公开实施例中,所述数据发生变更包括但不限于所述数据被写入以及被删除。其中数据被写入包括模块中写入原来不存在的所述数据,还包括对模块中存储的数据的重新写入(包括对数据数值的改变,属性的改变,和/或关系的改变等),数据被删除包括模块不再存储所述数据。例如所述至少一个从模块向主模块发送订阅消息,该订阅消息对应主模块中存储的第一数据中的数据A(该数据A可以是第一数据中的部分数据),当数据A发生变更时,使所述主模块向所述至少一个从模块发送数据变更消息,所述数据变更消息指示数据A发生变更。
本公开实施例中,从模块可以向主模块发送订阅消息以订阅主模块存储的数据中与该从模块相关的数据的数据变更消息,从而提高数据处理的效率。例如从模块对于其运行的业务或者支撑的业务所需要的业务数据,如果上述业务数据作为第一数据存储在主模块中,那么从模块可以向主模块发送订阅消息,以便获取上述业务数据的相关信息。作为一个示例,所述数据处理装置(或者数据处理系统)包括主模块和两个从模块,主模块存储第一数据,两个从模块即第一从模块和第二从模块存储第二数据,其中主模块存储广告业务类型的第一数据和用户档案类型的第一数据,第一从模块存储广告业务类型的第二数据,第二从模块存储用户档案类型的第二数据,当所述第一从模块执行广告业务时,需要调用主模块中的用户档案类型的第一数据,那么所述第一从模块可以向主模块发送订阅消息,所述订阅消息对应于存储在主模块的用户档案类型的第一数据。当存储在主模块的用户档案类型的第一数据由于某种需要改由第二从模块来存储,也就是说所述主模块中的用户档案类型的第一数据被删除,那么所述主模块向第一从模块发送数据变更消息以指示所述第一数据中所述订阅消息对应的用户档案类型的第一数据发生变更。从而第一从模块在执行业务时根据该数据变更消息能够确定应该从第二从模块读取发生变更的该第一数据,从而提高了数据处理的效率。
可选的,所述至少一个从模块的订阅消息指示与所述订阅消息对应的数据的名称,标识,和/或类型等属性(属性可以理解为描述数据的信息,即元数据)。从而所述主模块根据订阅消息所对应的数据的名称,标识,和/或类型等属性向所述至少一个从模块发送数据变更消息。
可选的,所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,包括:响应于数据变更日志中存在所述订阅消息对应的所述数据发生变更的记录,使所述主模块向所述至少一个从模块发送数据变更消息。主模块和/或从模块在存储数据的过程中,可以通过数据变更日志记录所存储的数据的变更信息,例如通过写操作在主模块和/或从模块中变更数据后,主模块和/或从模块将会在数据变更日志中针对该数据的变更生成记录。当至少一个从模块的订阅信息对应了主模块中的数据时,主模块响应于主模块的数据变更日志中存在该数据的变更记录,向所述至少一个从模块发送数据变更消息,其中,作为示例,可以使主模块实时检测数据变更日志,当数据变更日志中存在该数据的变更记录,则向从模块发送数据变更消息,还可以在数据变更日志生成新的记录时,确定存在的所述新的记录是否对应于订阅消息所对应的数据,当确定为是的时候使主模块向从模块发送数据变更消息。如本领域技术人员所理解的,数据变更日志具有多种形式,常见的例如通过文件的形式对数据变更进行记录,本公开实施例并不限定数据变更日志的形式。作为一个可选的实施例,所述数据变更日志包括MySQL数据库的binlog文件。MySQL数据库是数据存储领域中较为常见的数据库,具有友好的接口和强大的性能,MySQL数据库会通过binlog文件记录数据的变更信息,因此,如果主模块通过MySQL数据库存储数据,所述主模块可以根据MySQL数据库的binlog文件按照前述方式向所述至少一个从模块发送数据变更消息。
本公开的实施例中,通过主模块存储第一数据;通过至少一个从模块存储第二数据;所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更,通过上述主模块和从模块之间的协作能够提高处理数据的效率。
如图3所示,在本公开的数据处理方法实施例二中,所述数据处理方法还包括步骤S301:响应于满足第一预设条件,使所述至少一个从模块将所述第二数据或者所述第二数据中的部分数据存储到所述主模块。例如所述主模块具有更强的性能和可靠性,因此倾向于将从模块存储的第二数据或者第二数据中的部分数据存储到主模块,依托主模块的性能和可靠性提供数据服务,但是分布式系统通过其他模块处理数据也有相应的优势,并且数据是海量的,主模块的处理能力是有限的,将全部数据都存储到主模块由主模块提供数据服务也是不现实的,因此在满足第一预设条件时,所述至少一个从模块将所述第二数据或者所述第二数据中的部分数据存储到所述主模块。
可选的,所述第一预设条件包括如下预设条件中的一个或者多个:第一时间段内所述第二数据或者所述第二数据中的部分数据被调用的次数达到第一预设次数(常用数据);第二时间段内所述第二数据或者所述第二数据中的部分数据未发生变更(稳定数据)或者发生变更的次数小于第二预设次数(稳定数据);所述第二数据或者所述第二数据中的部分数据被标记为第一类数据(可以基于任何规则对数据进行分类,例如第一类数据包括重要数据,或者包括用于支撑重要业务的数据,或者包括用于支撑某些特定业务的数据)。可以理解的是,前述的时间段和预设次数可以任意设定,并且对于不同的数据,所述时间段和预设次数可以有所不同。
作为一个可选的实施例,在本公开的数据处理方法实施例二中,所述数据处理方法还包括步骤S302:响应于满足第二预设条件,使所述主模块将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块。例如所述主模块具有更强的性能和可靠性,因此倾向于将从模块存储的第二数据或者第二数据中的部分数据存储到主模块,依托主模块的性能和可靠性提供数据服务,但是分布式系统通过其他模块处理数据也有相应的优势,并且数据是海量的,主模块的处理能力是有限的,将全部数据都存储到主模块由主模块提供数据服务也是不现实的,因此在满足第二预设条件时,所述主模块将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块。
可选的,所述第二预设条件包括如下预设条件中的一个或者多个:第三时间段内所述第一数据或者所述第一数据中的部分数据被调用的次数小于第三预设次数(非常用数据);第四时间段内所述第一数据或者所述第一数据中的部分数据发生变更或者发生变更的次数达到第四预设次数(非稳定数据);所述第一数据或者所述第一数据中的部分数据被标记为第二类数据(可以基于任何规则对数据进行分类,例如第二类数据包括非重要数据,或者包括用于支撑非重要业务的数据,或者包括用于支撑某些特定业务的数据)。可以理解的是,前述的时间段和预设次数可以任意设定,并且对于不同的数据,所述时间段和预设次数可以有所不同。
通过上述步骤S301和步骤S302,能够实现根据预设条件在主模块和至少一个从模块之间动态调整各自存储的数据,从而充分利用主模块和至少一个从模块的性能和可靠性,更高效率地处理数据。值得说明的是,本公开实施例中,步骤的标号并不代表或者暗示各步骤执行的先后顺序,本公开实施例可以在适当的任何时机执行各步骤。
图4所示为本公开实施例提供的数据处理装置400实施例的结构示意图,如图4所示,所述装置包括主模块401,和至少一个从模块402。
其中,所述主模块401,用于存储第一数据;
所述至少一个从模块402,用于存储第二数据;
所述主模块401,还用于根据所述至少一个从模块402的订阅消息向所述至少一个从模块402发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
在一个可选的实施例中,所述至少一个从模块402响应于满足第一预设条件,将所述第二数据或者所述第二数据中的部分数据存储到所述主模块401。
在又一个可选的实施例中,所述主模块401响应于满足第二预设条件,将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块402。
图4所示装置可以执行图2或图3所示实施例的方法,本实施例未详细描述的部分,可参考对图2和/或图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2和/或图3所示实施例中的描述,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线或通信线路504彼此相连。输入/输出(I/O)接口505也连接至总线或通信线路504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行所述数据处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
将第一数据存储在主模块;
将第二数据存储在至少一个从模块;
使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
响应于满足第一预设条件,使所述至少一个从模块将所述第二数据或者所述第二数据中的部分数据存储到所述主模块。
3.根据权利要求2所述的数据处理方法,其特征在于,所述第一预设条件包括如下预设条件中的一个或者多个:
第一时间段内所述第二数据或者所述第二数据中的部分数据被调用的次数达到第一预设次数;
第二时间段内所述第二数据或者所述第二数据中的部分数据未发生变更或者发生变更的次数小于第二预设次数;
所述第二数据或者所述第二数据中的部分数据被标记为第一类数据。
4.根据权利要求1-3中任一项所述的数据处理方法,其特征在于,所述方法还包括:
响应于满足第二预设条件,使所述主模块将所述第一数据或者所述第一数据中的部分数据存储到所述至少一个从模块。
5.根据权利要求4所述的数据处理方法,其特征在于,所述第二预设条件包括如下预设条件中的一个或者多个:
第三时间段内所述第一数据或者所述第一数据中的部分数据被调用的次数小于第三预设次数;
第四时间段内所述第一数据或者所述第一数据中的部分数据发生变更或者发生变更的次数达到第四预设次数;
所述第一数据或者所述第一数据中的部分数据被标记为第二类数据。
6.根据权利要求1所述的数据处理方法,其特征在于,所述订阅消息指示以下至少一项:与所述订阅消息对应的数据的名称,标识和类型。
7.根据权利要求1所述的数据处理方法,其特征在于,使所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,包括:
响应于数据变更日志中存在所述订阅消息对应的所述数据发生变更的记录,使所述主模块向所述至少一个从模块发送所述数据变更消息。
8.根据权利要求1所述的数据处理方法,其特征在于,所述主模块的数据处理能力强于所述至少一个从模块的数据处理能力。
9.根据权利要求1所述的数据处理方法,其特征在于,所述第一数据包括多个类型的数据,存储于同一个所述从模块中的所述第二数据属于同一个类型。
10.一种数据处理装置,其特征在于,包括主模块和至少一个从模块,其中:
所述主模块,用于存储第一数据;
所述至少一个从模块,用于存储第二数据;
所述主模块根据所述至少一个从模块的订阅消息向所述至少一个从模块发送数据变更消息,所述数据变更消息指示所述第一数据中所述订阅消息对应的数据发生变更。
11.一种电子设备,包括:
存储器,用于存储计算机可读指令;以及
与所述存储器耦合的处理器,用于运行所述计算机可读指令,使得所述处理器运行时实现根据权利要求1-9中任意一项所述的数据处理方法。
12.一种非暂态计算机可读存储介质,用于存储计算机可读指令,当所述计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-9中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910163470.2A CN110045925A (zh) | 2019-03-05 | 2019-03-05 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910163470.2A CN110045925A (zh) | 2019-03-05 | 2019-03-05 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110045925A true CN110045925A (zh) | 2019-07-23 |
Family
ID=67274361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910163470.2A Pending CN110045925A (zh) | 2019-03-05 | 2019-03-05 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110045925A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309405A (zh) * | 2020-01-17 | 2020-06-19 | 深圳市共进电子股份有限公司 | 软件模块交互方法、装置、计算机设备和可读存储介质 |
CN113760899A (zh) * | 2021-02-01 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 数据表变更控制方法、装置、电子设备和可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991736A (zh) * | 2015-06-15 | 2015-10-21 | 联想(北京)有限公司 | 写数据方法、装置以及存储设备 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
CN106708435A (zh) * | 2016-12-14 | 2017-05-24 | 北京小米移动软件有限公司 | 数据处理方法及装置 |
CN107018280A (zh) * | 2015-09-29 | 2017-08-04 | 京瓷办公信息系统株式会社 | 电子设备及信息处理方法 |
CN107193500A (zh) * | 2017-05-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式文件系统分层存储方法及系统 |
CN107741940A (zh) * | 2016-11-24 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种数据储存方法及存储系统 |
CN107807796A (zh) * | 2017-11-17 | 2018-03-16 | 北京联想超融合科技有限公司 | 一种基于超融合存储系统的数据分层方法、终端及系统 |
CN107894873A (zh) * | 2017-11-07 | 2018-04-10 | 长沙曙通信息科技有限公司 | 一种存储虚拟化系统数据处理实现方法 |
CN108549525A (zh) * | 2018-04-04 | 2018-09-18 | 北京蓝杞数据科技有限公司天津分公司 | 数据存储和访问方法、装置、电子设备及存储介质 |
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN108874558A (zh) * | 2018-05-31 | 2018-11-23 | 康键信息技术(深圳)有限公司 | 分布式事务的消息订阅方法、电子装置及可读存储介质 |
-
2019
- 2019-03-05 CN CN201910163470.2A patent/CN110045925A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991736A (zh) * | 2015-06-15 | 2015-10-21 | 联想(北京)有限公司 | 写数据方法、装置以及存储设备 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
CN107018280A (zh) * | 2015-09-29 | 2017-08-04 | 京瓷办公信息系统株式会社 | 电子设备及信息处理方法 |
CN107741940A (zh) * | 2016-11-24 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种数据储存方法及存储系统 |
CN106708435A (zh) * | 2016-12-14 | 2017-05-24 | 北京小米移动软件有限公司 | 数据处理方法及装置 |
CN107193500A (zh) * | 2017-05-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式文件系统分层存储方法及系统 |
CN107894873A (zh) * | 2017-11-07 | 2018-04-10 | 长沙曙通信息科技有限公司 | 一种存储虚拟化系统数据处理实现方法 |
CN107807796A (zh) * | 2017-11-17 | 2018-03-16 | 北京联想超融合科技有限公司 | 一种基于超融合存储系统的数据分层方法、终端及系统 |
CN108549525A (zh) * | 2018-04-04 | 2018-09-18 | 北京蓝杞数据科技有限公司天津分公司 | 数据存储和访问方法、装置、电子设备及存储介质 |
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN108874558A (zh) * | 2018-05-31 | 2018-11-23 | 康键信息技术(深圳)有限公司 | 分布式事务的消息订阅方法、电子装置及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309405A (zh) * | 2020-01-17 | 2020-06-19 | 深圳市共进电子股份有限公司 | 软件模块交互方法、装置、计算机设备和可读存储介质 |
CN113760899A (zh) * | 2021-02-01 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 数据表变更控制方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020119485A1 (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN109523187A (zh) | 任务调度方法、装置和设备 | |
CN110196889A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109543163A (zh) | 文档修订记录获取方法、装置、存储介质及电子设备 | |
CN109918442A (zh) | 一种数据的处理方法及装置 | |
CN108965389A (zh) | 用于展示信息的方法 | |
US11652774B2 (en) | Method and system for presenting conversation thread | |
CN110162758A (zh) | 在线文档插入信息方法及装置 | |
CN109902255A (zh) | 页面混合浏览记录生成方法、装置、设备和存储介质 | |
CN109284281A (zh) | 用于迁移数据的方法和装置 | |
CN109359281A (zh) | 动态表单生成方法及装置 | |
CN110427415A (zh) | 知识库共享方法、装置、系统介质及电子设备 | |
CN110019263A (zh) | 信息存储方法和装置 | |
CN109828980A (zh) | 数据缓存方法、装置、终端及存储介质 | |
CN110045925A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN109829138A (zh) | 文件比对方法、装置、电子设备及计算机可读存储介质 | |
CN110109983A (zh) | 一种操作Redis数据库的方法和装置 | |
CN110059301A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
WO2022184077A1 (zh) | 文档编辑的方法、装置、终端及非暂时性存储介质 | |
CN108763358A (zh) | 一种数据校验方法及装置 | |
CN107704104A (zh) | 表单输入项联想方法、系统、设备及存储介质 | |
CN109902245A (zh) | 交互式的信息提供方法及装置 | |
CN109462648A (zh) | 一种用户行为跟踪方法、装置、设备和储存介质 | |
CN109344152A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109614089A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190723 |
|
RJ01 | Rejection of invention patent application after publication |