CN111881181B - 一种基于分布式数据库的数据统计方法、装置及设备 - Google Patents
一种基于分布式数据库的数据统计方法、装置及设备 Download PDFInfo
- Publication number
- CN111881181B CN111881181B CN202010709976.1A CN202010709976A CN111881181B CN 111881181 B CN111881181 B CN 111881181B CN 202010709976 A CN202010709976 A CN 202010709976A CN 111881181 B CN111881181 B CN 111881181B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- field
- search data
- statistical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000012216 screening 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种基于分布式数据库的数据统计方法、装置及设备。所述方法包括:接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;在所述第一数据库中获取对应于所述索引字段值的检索数据;将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。通过上述方法,能够针对多个分布式数据库中的数据进行统计,提高了数据统计的效率,减少了时间和资源的消耗。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种基于分布式数据库的数据统计方法、装置及设备。
背景技术
数据库是存储在计算机中,按照一定数据结构对数据进行存储和管理的数据集合。随着社会的发展,所产生的业务和对应的数据在不断增多,对于数据库的数据吞吐能力提出了较高的要求,而将所有数据存储于同一数据库表中极大地限制了数据库的处理能力。而利用分布式数据库***存储数据能够有效解决上述问题。
分布式数据库***中包括多个较小的数据库,且每个数据库存储有分布式数据库***中的全部或部分数据。这样一来,既提高了数据库的并发处理能力,也避免了单一数据库表中存储过多数据不利于读写的情况。
但是,分布式数据库***是基于预先设定的路由字段将数据存储在对应的分布式数据库中,即,除路由字段外的其他字段与数据所存储的数据库之间不存在较强的关联性。当用户需要统计除路由字段外的其他字段所对应的数据时,所需统计的数据往往在各个分布式数据库中都有存储的部分,则需要分别在各个分布式数据库中统计数据后,对各个分布式数据库的统计结果再一次进行统计。这样一来增加了作业流程,降低了作业统计的效率,使得针对分布式数据库进行数据统计需要消耗较多的时间和资源。
发明内容
本说明书实施例的目的是提供一种基于分布式数据库的数据统计方法、装置及设备,以解决如何方便快捷地实现对多个分布式数据库中的数据的统计这一技术问题。
为了解决上述技术问题,本说明书实施例提出一种基于分布式数据库的数据统计方法,包括:
接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;
在所述第一数据库中获取对应于所述索引字段值的检索数据;
将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
本说明书实施例还提出一种基于分布式数据库的数据统计装置,包括:
请求接收模块,用于接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;
数据获取模块,用于在所述第一数据库中获取对应于所述索引字段值的检索数据;
数据发送模块,用于将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
本说明书实施例还提出一种第一数据库管理***,包括存储器与处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令以实现以下步骤:接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;在所述第一数据库中获取对应于所述索引字段值的检索数据;将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
为了解决上述技术问题,本说明书实施例还提出一种基于分布式数据库的数据统计方法,包括:
接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;
根据所述排序字段对所述检索数据排序;
合并具有相同排序字段值的检索数据;
反馈合并后的检索数据。
本说明书实施例还提出一种基于分布式数据库的数据统计装置,包括:
数据接收模块,用于接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;
数据排序模块,用于根据所述排序字段对所述检索数据排序;
数据合并模块,用于合并具有相同排序字段值的检索数据;
数据反馈模块,用于反馈合并后的检索数据。
本说明书实施例还提出一种第二数据库管理***,包括存储器和处理器;所述存储器用于存储计算机程序指令;所述处理器用于执行所述计算机程序指令以实现以下步骤:接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;根据所述排序字段对所述检索数据排序;合并具有相同排序字段值的检索数据;反馈合并后的检索数据。
由以上本说明书实施例提供的技术方案可见,本说明书实施例在根据索引字段从分布式数据库中获取检索数据后,将检索数据发送至第二数据库以实现对检索数据的排序和合并,从而完成分布式数据库中的数据的统计。上述方法克服了分布式数据库存储容量小,无法直接在某一数据库中获取特定字段的数据的缺点,提高了针对分布式数据库的统计作业的效率,较少了时间和资源的消耗。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种数据统计***的框架图;
图2为本说明书实施例一种基于分布式数据库的数据统计方法的流程图;
图3为本说明书实施例一种基于分布式数据库的数据统计方法的流程图;
图4为本说明书实施例一种基于分布式数据库的数据统计方法的流程图;
图5为本说明书实施例一种基于分布式数据库的数据统计装置的模块图;
图6为本说明书实施例一种基于分布式数据库的数据统计装置的模块图;
图7为本说明书实施例一种第一数据库管理***的结构图;
图8为本说明书实施例一种第二数据库管理***的结构图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
为了对本申请的发明构思进行更好的理解,首先介绍本说明书实施例一种数据统计***。如图1所示,所述数据统计***100包括第一数据库110、第二数据库120。
所述第一数据库110是用于存储业务数据的数据库。用户存在查询需求时,向所述第一数据库110发送数据统计请求以获取所述第一数据库110中的业务数据。所述业务数据对应有多个字段。用户在查询相应的业务数据时,可以预先指定若干个查询字段,并根据所述查询字段获取相应的业务数据。具体的,所述第一数据库110包括第一数据库110管理***,所述第一数据库110管理***基于各项指令对第一数据库110中的数据进行调用和处理。
在一些实施方式中,所述第一数据库110可以是分布式数据库。即,对应于需要进行存储的业务数据,存在至少两个第一数据库110分别对所述业务数据的部分进行存储。在所述第一数据库110是分布式数据库的情况下,第一数据库110对应有固定的路由字段。在将业务数据存储至所述第一数据库110中时,根据所述路由字段将业务数据分配至对应的第一数据库110中进行存储。当用户需要根据不同于所述路由字段的其他字段对所有第一数据库110中的数据进行统计时,往往无法直接在所述第一数据库110中获取到对应的业务数据。
所述第二数据库120可以用于对数据库中的数据进行排序。具体的可以是根据指定字段所对应的字段值对所述数据进行排序。所述第二数据库120还可以基于预先所设定的字段,对具有相同字段值的数据进行合并,以实现对于业务数据的统计。具体的,所述第二数据库120包括第二数据库120管理***,所述第二数据库120管理***基于各项指令对所述第二数据库120中的数据进行调用及处理等操作。
在所述第一数据库110为分布式数据库的情况下,所述第二数据库120可以不是分布式数据库。具体的,所述第二数据库120可以为非关系型数据库。非关系型数据库区别于关系型数据库,在数据库中所存储的数据不具有关系性。例如,非关系型数据库可以直接基于键值对数据进行存储,在存储时直接将数据存储至一定的集合中,并不会根据数据的格式对其进行相应的划分。非关系型数据库具有读写速率高、灵活性强等特点。
所述第一数据库110可以与客户端130之间存在交互。所述客户端130可以是用户所使用的智能手机、个人电脑、服务器、工控机、可穿戴式设备等终端设备。用户通过所述客户端130可以向第一数据库发出数据统计请求,以获取相应的数据。
需要说明的是,实际应用中并不限于利用本说明书实施例中的用户客户端与第一数据库进行交互,当服务器中的程序触发获取统计数据的指令时,也可以是由所述服务器直接生成数据统计请求并发送至所述第一数据库,无需用户操作。对于发送请求至第一数据库的设备并不做具体限制,在此不再赘述。
基于上述数据统计***,结合本说明书附图2,介绍本说明书实施例一种基于分布式数据库的数据统计方法。所述方法的执行主体为所述数据统计***。所述方法的具体执行步骤如下所示。
S210:客户端发送数据统计请求至第一数据库。
数据统计请求是用于对相应数据进行统计的请求。在所述第一数据库为分布式数据库的情况下,业务数据存储在不同的第一数据库中,而当所述第一数据库中所存储的业务数据对应有较多字段时,用户在统计数据时所针对的字段与数据库标识之间不存在强关联性的情况下,往往需要针对不同的第一数据库分别获取数据。相应的,所述数据统计请求也可以是发送至所有第一数据库的请求。
所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值。所述索引字段用于对第一数据库中的数据进行初步的筛选。例如,当用户需要获取某一日的数据时,可以将日期作为索引字段,将具体的日期的值作为索引字段值,以从第一数据库中获取检索数据。
所述排序字段可以用于对检索数据进行归类。例如,用户需要获取不同设备所产生的数据时,可以将设备标识号作为排序字段,从而在排序之后使得同一设备标识号对应的数据顺序排列,方便对于数据的合并。
在一些实施方式中,所述数据统计请求中还可以包含统计字段。在获取到用户所针对的数据之后,可以统计这些数据对应于统计字段的字段值,以完成对于数据的统计。
利用一个具体的示例进行说明,在所述第一数据库中所存储的是银行业务数据时,银行工作人员需要根据所述银行业务数据分别确定不同网点在某一日的交易金额,即需要对不同网点在固定日期的交易金额分别进行统计时,可以发送数据统计请求至所述第一数据库,其中,所述数据统计请求中包含所述固定日期以及网点和交易金额,其中,日期即为索引字段,所述固定日期即为索引字段的索引字段值,网点即为排序字段,交易金额即为统计字段。
S220:第一数据库获取对应于索引字段值的检索数据。
在所述数据统计请求中包含对应于索引字段的索引字段值时,可以比对所述第一数据库中的业务数据对应于索引字段的字段值,并筛选所述字段值为所述索引字段值的业务数据。在所述索引字段为业务数据的修改日期,所述索引字段值为某一固定日期时,第一数据库可以比对数据库中的业务数据的修改日期,并筛选修改日期为所述固定日期的业务数据,作为检索数据。
实际应用中,对应于索引字段可以具有一个索引字段值,也可以具有多个索引字段值,对此不做限制。
在一些实施方式中,第一数据库获取所述检索数据时,可以是由第一数据库管理***分配包含索引字段值的数据获取任务至各个第一数据库所对应的容器,并由这些容器执行所述数据获取任务以调用第一数据库中具有所述索引字段值的检索数据。
实际应用中,所述数据统计请求中可以只包含一个索引字段,即只利用一个索引字段值进行检索;所述数据统计请求中也可以包含多个索引字段,这些索引字段均对应有相应的索引字段值。
具体的,可以是由所述第一数据库管理***基于预设指令获取第一数据库中的检索数据。
S230:第一数据库发送所述检索数据至第二数据库。
第一数据库在搜索得到所述检索数据之后,若直接在所述第一数据库中对检索数据进行排序及合并等操作,受限于第一数据库只能根据路由字段进行检索的性质,使得在排序字段不同于所述路由字段时,同样较难在第一数据库中对检索数据进行排序及合并等操作。且由于所述第一数据库需要将所有数据记录于同一表单中进行操作,在所述检索数据的数据量较大时,也显然无法完成对检索数据的后续处理操作。因此,所述第一数据库需要将所述检索数据发送至第二数据库。
由于所述第一数据库为分布式数据库,即存在至少两个第一数据库分别向第二数据库发送检索数据,则所述第二数据库能够支持多个数据的同时写入。
S240:第二数据库根据排序字段对所述检索数据排序。
第二数据库在接收到所述排序字段后,可以根据所述排序字段对所述检索数据进行排序,具体的排序方式可以是预先确定不同排序字段的字段值所对应的排列顺序,并依次将根据所述检索数据对应于各个排序字段的字段值进行排序。
利用一个具体的示例进行说明,假设所述排序字段为网点号,检索数据的其他字段统一归类为统计结果,所述检索数据分别为“网点号1,统计结果A”、“网点号3,统计结果B”、“网点号2,统计结果C”、“网点号2,统计结果D”、“网点号1,统计结果E”、“网点号3,统计结果F”,而预设的网点号的排列顺序为1、2、3,则对上述检索数据进行排序的结果可以是“网点号1,统计结果A”、“网点号1,统计结果E”、“网点号2,统计结果C”、“网点号2,统计结果D”、“网点号3,统计结果B”、“网点号3,统计结果F”。
需要说明的是,由于在后续步骤中需要根据排序字段对所述检索数据进行合并,因此若对应于同一排序字段值存在多个记录,则可以直接添加相应的记录的顺序对不同记录进行排序,无需额外针对上述记录进行排序,以避免不必要的时间和资源的消耗。
一般情况下,所述索引字段与所述排序字段为不同的字段,以使得在基于索引字段获取对应于索引字段值的检索数据之后,再根据排序字段分别将这些检索数据进行合并以得到统计数据。若实际应用中,所述索引字段和所述排序字段为相同的字段,则在根据索引字段的索引字段值查找相应的检索数据后,则所述检索数据对应于排序字段只存在一种排序字段值,无需再根据排序字段对检索数据进行排序,直接将所有检索数据进行合并即可得到合并后的检索数据
在一些实施方式中,由于所述第二数据库是根据键值对数据进行存储,即在数据库中对应于同一键值只能存在一条数据,以实现对数据库中的数据的检索,因此,在将检索数据存储至第二数据库之前,首先需要针对所述检索数据进行合并处理,即在存储数据至第二数据库之前针对检索数据进行操作。具体的,在接收到所述检索数据后,可以反馈合并后的检索数据的临时表中以对检索数据进行处理。
S250:第二数据库合并具有相同排序字段值的检索数据。
由于在非关系型数据库中一般是基于固定的键值对数据进行查询,因此在将排序字段作为键值的情况下,需要对具有相同排序字段值的检索数据进行合并,进行数据统计的同时保证存储至第二数据库中的数据符合相应的要求。
在一些实施方式中,合并检索数据的方式可以是将所述检索数据划分为至少一个检索数据集合,所述检索数据集合中检索数据的数量不大于预设集合容量,分别在各个检索数据集合中合并对应于所述索引字段具有相同字段值的检索数据,并合并所述检索数据集合;其中,若相邻的检索数据集合中存在对应于所述索引字段具有相同字段值的检索数据,将所述具有相同字段值的检索数据合并。
利用一个具体的示例进行说明,假设所述预设集合容量为500,即将所述检索数据分别划分为由500条记录所构成的集合,并将这些集合中的记录分别进行合并。若相邻集合中存在具有相同索引字段值的检索数据,则前一集合中最后一条合并后的记录与后一集合中第一条合并后的记录的索引字段值必然相同,直接将具有相同字段值的检索数据进行合并即可;若不相同,则直接将这两个集合进行合并即可。
在一些实施方式中,所述数据统计请求中包含统计字段。所述统计字段不同于所述排序字段。在对所述检索数据进行合并时,可以将具有相同排序字段值的记录划分为多个检索数据类别,并将各个检索数据类别中对应于统计字段的字段值进行累加,并将累加后的字段值作为所述检索数据类别所对应的统计字段的字段值。
利用一个具体的示例进行说明,假设所述排序字段为网点号,所述统计字段为交易额,对应于网点号1的检索数据类别存在以下记录“网点号1,交易额200”、“网点号1,交易额0”、“网点号1,交易额5000”、“网点号1,交易额10000”、“网点号1,交易额5000”、“网点号1,交易额100”,且针对所述交易额可以直接以累加的方式进行合并,则对上述记录进行合并后所得到的记录为“网点号1,交易额20300”。
对检索数据进行合并的方式并不限于将统计字段所对应的字段值进行累加,例如也可以获取这些记录中统计字段所对应的字段值,并使得这些字段值均对应于所述排序字段。实际应用中可以根据相应的需求选取对检索数据进行合并的方式,并不限于上述示例,对此不做赘述。
若所述检索数据除索引字段、排序字段和统计字段外还存在其他字段,则将所述检索数据进行合并时,可以删除其他字段,也可以在其他字段可以进行合并的情况下对其他字段进行合并。具体的处理方式可以根据实际情况的需求进行调整,并不限于上述示例,对此不做赘述。
S260:第二数据库存储合并后的检索数据。
所述第二数据库在合并所述检索数据之后,即完成对于检索数据中对于排序字段所对应的同类数据在统计字段的字段值的统计,可以在符合第二数据库的要求的情况下存储合并后的检索数据。
S270:第二数据库反馈合并后的检索数据至客户端。
所述第二数据库在接收到所述合并后的检索数据后,将所述合并后的检索数据反馈至客户端,从而对所述客户端的数据统计请求进行反馈,完成用户对于数据的统计需求。
上述数据统计方法在根据索引字段从分布式数据库中获取检索数据后,将检索数据发送至第二数据库以实现对检索数据的排序和合并,从而完成分布式数据库中的数据的统计。上述方法克服了分布式数据库存储容量小,无法直接在某一数据库中获取特定字段的数据的缺点,提高了针对分布式数据库的统计作业的效率,较少了时间和资源的消耗。
基于附图2所对应的方法,本说明书实施例还提出一种基于分布式数据库的数据统计方法,如图3所示,所述方法的执行主体为所述第一数据库管理***,所述方法包括以下具体步骤。
S310:接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库。
对于该步骤的描述具体可以参照步骤S210中的介绍,在此不再赘述。
S320:在所述第一数据库中获取对应于所述索引字段值的检索数据。
对于该步骤的描述具体可以参照步骤S220中的介绍,在此不再赘述。
S330:将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
对于该步骤的描述具体可以参照步骤S230、S240、S250、S260、S270中的介绍,在此不再赘述。
基于附图2所对应的方法,本说明书实施例还提出一种基于分布式数据库的数据统计方法,如图4所示,所述方法的执行主体为所述第二数据库管理***,所述方法包括以下具体步骤。
S410:接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库。
对于该步骤的描述具体可以参照步骤S210、S220、S230中的介绍,在此不再赘述。
S420:根据所述排序字段对所述检索数据排序。
对于该步骤的描述具体可以参照步骤S240中的介绍,在此不再赘述。
S430:合并具有相同排序字段值的检索数据。
对于该步骤的描述具体可以参照步骤S250中的介绍,在此不再赘述。
S430:反馈合并后的检索数据。
对于该步骤的描述具体可以参照步骤S260、S270中的介绍,在此不再赘述。
基于附图3所对应的方法,本说明书实施例还提出一种基于分布式数据库的数据统计装置,如图5所示,所述装置设置于所述第一数据库管理***,所述装置包括以下模块。
请求接收模块510,用于接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;
数据获取模块520,用于在所述第一数据库中获取对应于所述索引字段值的检索数据;
数据发送模块530,用于将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
基于附图4所对应的方法,本说明书实施例还提出一种基于分布式数据库的数据统计装置,如图6所示,所述装置设置于所述第二数据库管理***,所述装置包括以下模块。
数据接收模块610,用于接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;
数据排序模块620,用于根据所述排序字段对所述检索数据排序;
数据合并模块630,用于合并具有相同排序字段值的检索数据;
数据反馈模块640,用于反馈合并后的检索数据。
基于图3对应的方法,如图7所示,介绍本说明书实施例一种第一数据库管理***。所述第一数据库管理***可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
所述处理器可以执行所述计算机指令实现以下步骤:接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;在所述第一数据库中获取对应于所述索引字段值的检索数据;将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序。
基于图4对应的方法,如图8所示,介绍本说明书实施例一种第二数据库管理***。所述第一数据库管理***可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
所述处理器可以执行所述计算机指令实现以下步骤:接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;根据所述排序字段对所述检索数据排序;合并具有相同排序字段值的检索数据;反馈合并后的检索数据。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (9)
1.一种基于分布式数据库的数据统计方法,其特征在于,包括:
接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;
在所述第一数据库中获取对应于所述索引字段值的检索数据;
将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序;所述第二数据库根据键值对数据进行存储;所述第二数据库基于排序字段合并所述检索数据,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值。
2.如权利要求1所述的方法,其特征在于,所述第二数据库为非关系型数据库。
3.如权利要求1所述的方法,其特征在于,所述在所述第一数据库中获取对应于所述索引字段值的检索数据,包括:
分配数据获取任务至各个第一数据库所对应的容器;所述数据获取任务中包含索引字段值;所述容器用于执行任务以调用第一数据库中的数据;
利用所述容器执行所述数据获取任务以获取具有所述索引字段值的检索数据。
4.一种基于分布式数据库的数据统计装置,其特征在于,包括:
请求接收模块,用于接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;
数据获取模块,用于在所述第一数据库中获取对应于所述索引字段值的检索数据;
数据发送模块,用于将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序;所述第二数据库根据键值对数据进行存储;所述第二数据库基于排序字段合并所述检索数据,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值。
5.一种第一数据库管理***,包括存储器与处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令以实现以下步骤:接收数据统计请求;所述数据统计请求中包含有排序字段和对应于索引字段的索引字段值;所述数据统计请求用于统计至少两个第一数据库中对应于相同索引字段值的数据;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;在所述第一数据库中获取对应于所述索引字段值的检索数据;将所述检索数据发送至第二数据库,以使所述第二数据库基于排序字段合并所述检索数据;所述第二数据库用于根据所述排序字段对所述检索数据排序;所述第二数据库根据键值对数据进行存储;所述第二数据库基于排序字段合并所述检索数据,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值。
6.一种基于分布式数据库的数据统计方法,其特征在于,包括:
接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;
根据所述排序字段对所述检索数据排序;
合并具有相同排序字段值的检索数据;其中,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值;
反馈合并后的检索数据。
7.如权利要求6所述的方法,其特征在于,所述合并具有相同排序字段值的检索数据,包括:
将所述检索数据划分为至少一个检索数据集合;所述检索数据集合中检索数据的数量不大于预设集合容量;
分别在各个检索数据集合中合并对应于所述索引字段具有相同字段值的检索数据;
合并所述检索数据集合;其中,若相邻的检索数据集合中存在对应于所述索引字段具有相同字段值的检索数据,将所述具有相同字段值的检索数据合并。
8.一种基于分布式数据库的数据统计装置,其特征在于,包括:
数据接收模块,用于接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;
数据排序模块,用于根据所述排序字段对所述检索数据排序;
数据合并模块,用于合并具有相同排序字段值的检索数据;其中,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值;
数据反馈模块,用于反馈合并后的检索数据。
9.一种第二数据库管理***,包括存储器和处理器;
所述存储器用于存储计算机程序指令;
所述处理器用于执行所述计算机程序指令以实现以下步骤:接收检索数据和排序字段;所述检索数据包括根据数据统计请求在第一数据库中所获取的具有相同索引字段值的数据;所述数据统计请求中包含有所述索引字段值和排序字段;所述第一数据库为分布式数据库;所述数据统计请求中还包含有统计字段;根据所述排序字段对所述检索数据排序;合并具有相同排序字段值的检索数据;其中,包括:将所述检索数据划分为对应于不同排序字段值的检索数据类别;获取所述检索数据类别中检索数据所对应的统计字段的统计字段值;累加所述统计字段值得到对应于检索数据类别的统计字段累加值;合并检索数据类别中的检索数据,并将所述统计字段累加值作为合并后的检索数据的统计字段对应的统计字段值;反馈合并后的检索数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010709976.1A CN111881181B (zh) | 2020-07-22 | 2020-07-22 | 一种基于分布式数据库的数据统计方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010709976.1A CN111881181B (zh) | 2020-07-22 | 2020-07-22 | 一种基于分布式数据库的数据统计方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881181A CN111881181A (zh) | 2020-11-03 |
CN111881181B true CN111881181B (zh) | 2024-03-01 |
Family
ID=73155950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010709976.1A Active CN111881181B (zh) | 2020-07-22 | 2020-07-22 | 一种基于分布式数据库的数据统计方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881181B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090934A (zh) * | 2014-06-26 | 2014-10-08 | 山东金质信息技术有限公司 | 一种标准服务平台分布式并行计算数据库及其检索方法 |
CN111125157A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 查询数据的处理方法、装置、存储介质及处理器 |
CN111368006A (zh) * | 2020-03-31 | 2020-07-03 | 中国工商银行股份有限公司 | 海量数据带条件集中抽取***及方法 |
-
2020
- 2020-07-22 CN CN202010709976.1A patent/CN111881181B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090934A (zh) * | 2014-06-26 | 2014-10-08 | 山东金质信息技术有限公司 | 一种标准服务平台分布式并行计算数据库及其检索方法 |
CN111125157A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 查询数据的处理方法、装置、存储介质及处理器 |
CN111368006A (zh) * | 2020-03-31 | 2020-07-03 | 中国工商银行股份有限公司 | 海量数据带条件集中抽取***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111881181A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11366859B2 (en) | Hierarchical, parallel models for extracting in real time high-value information from data streams and system and method for creation of same | |
CN106909495B (zh) | 一种数据的窗口统计方法、装置及*** | |
CN109241159B (zh) | 一种数据立方体的分区查询方法、***及终端设备 | |
CN109783512A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN108848244B (zh) | 一种分页显示的方法及装置 | |
EP3039574A1 (en) | Queries involving multiple databases and execution engines | |
US7698312B2 (en) | Performing recursive database operations | |
CN111625561B (zh) | 一种数据查询方法及装置 | |
CN108062384A (zh) | 数据检索的方法和装置 | |
CN111061758A (zh) | 数据存储方法、装置及存储介质 | |
CN111881181B (zh) | 一种基于分布式数据库的数据统计方法、装置及设备 | |
CN110633302B (zh) | 一种海量结构化数据的处理方法及装置 | |
CN112434056A (zh) | 一种详情数据的查询方法及装置 | |
CN111159213A (zh) | 一种数据查询方法、装置、***和存储介质 | |
CN112052257B (zh) | 一种业务处理方法、装置及设备 | |
CN114298585A (zh) | 一种面向采购场景的物料采购配额分配方法及装置 | |
CN100437493C (zh) | 数据处理***和方法 | |
CN112527917A (zh) | 一种数据处理的方法和装置 | |
CN111611056A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112989775A (zh) | 一种报表生成方法及*** | |
CN115526491B (zh) | 物资需求计划的数据处理方法、设备及存储介质 | |
CN111651475B (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN110674190B (zh) | 文件***任务的统计方法、装置和服务器 | |
CN113344706A (zh) | 产品限额控制方法、装置、电子设备和计算机可读介质 | |
CN107766380B (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 |