CN114238438A - 一种数据实时计算统计的方法、装置、设备及介质 - Google Patents
一种数据实时计算统计的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114238438A CN114238438A CN202111504982.4A CN202111504982A CN114238438A CN 114238438 A CN114238438 A CN 114238438A CN 202111504982 A CN202111504982 A CN 202111504982A CN 114238438 A CN114238438 A CN 114238438A
- Authority
- CN
- China
- Prior art keywords
- data
- statistical
- node
- computing
- memory mode
- 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
-
- 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/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据实时计算统计的方法、装置、设备及介质,该方法包括:采用消息中间件将数据源的数据均衡地发布到多个计算节点上;多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对第一数据执行如下统计任务:根据预设的业务需求配置文件,从第一数据中过滤出第二数据,将第二数据存入SQLite内存模式数据库;根据业务配置文件操作SQL语句,对第一数据进行统计运算,生成中间计算结果;将中间计算结果存入SQLite内存模式数据库并推送至下一层级的计算节点;将多个中间结果数据推送至汇总节点,通过汇总节点对多个中间结果数据进行计算统计。本公开能够更加灵活、简单有效地实现数据实时计算统计。
Description
技术领域
本公开涉及网络安全技术领域,尤其涉及一种数据实时计算统计的方法、装置、设备及介质。
背景技术
随着信息技术发展,网络通信领域数据量爆发式增长,为了应对大数据快速处理,数据实时计算、灵活地对数据流实时统计等成为了广泛且迫切的需求。
当前,对于数据流信息统计方式有两种,第一种是数据流入库后进行查询,存在数据量大,查询时间长的问题。第二种采用固定算法统计数据流信息,例如利用BTree实时计算数据并存储,该方式灵活性很差,当统计内容或数据流变化后,算法必须同步更改,无法适应需求的快速变化。
发明内容
为了解决上述技术问题,本公开提供了一种数据实时计算统计的方法、装置、设备及介质。
本公开提供了一种数据实时计算统计的方法,包括:
采用消息中间件将数据源的数据均衡地发布到多个计算节点上;
所述多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对所述第一数据执行统计任务;其中,针对当前计算节点,所述统计任务包括:
根据预设的业务需求配置文件,从所述第一数据中过滤出第二数据,将所述第二数据存入SQLite内存模式数据库;
以及,根据所述业务配置文件操作SQL语句,对所述第一数据进行统计运算,生成中间计算结果;其中,所述统计运算包括:检索、合并和统计更新;
以及,将所述中间计算结果存入所述SQLite内存模式数据库,并将所述中间计算结果推送至下一层级的计算节点;
根据以上统计任务得到多个所述计算节点的中间结果数据,将多个所述中间结果数据推送至汇总节点,通过所述汇总节点对多个所述中间结果数据进行计算统计。
可选的,所述通过所述汇总节点对多个所述中间结果数据进行计算统计,包括:通过所述汇总节点根据预设的业务配置,对多个所述中间结果数据进行数据分类合并,定时生成统计数据;将所述统计数据输出给用于审计业务的业务端。
可选的,所述消息中间件为ZeroMq消息中间件。
可选的,所述方法还包括:
在所述ZeroMq消息中间件启动后,调用用于创建ZMQ环境上下文的函数,创建上下文指针;调用用于创建ZMQ套接字的函数,创建用于发送消息的套接字指针;调用用于绑定套接字的函数,绑定所述计算节点的地址;通过所述ZeroMq消息中间件监听所述计算节点的连接请求;在所述计算节点创建用于接收消息的套接字指针,以及调用用于创建对外连接的函数连接所述ZeroMq消息中间件后,所述计算节点和所述ZeroMq消息中间件握手并建立连接。
可选的,所述方法还包括:所述当前计算节点加载预设的业务配置文件,调用用于打开数据库链接的函数创建SQLite内存模式数据库并生成入库处理指针,调用SQLite3_exec执行结构化查询语言SQL,以创建统计表;
所述将所述第二数据存入SQLite内存模式数据库,包括:将所述第二数据插入所述SQLite内存模式数据库的所述统计表中。
可选的,所述方法还包括:在所述当前计算节点生成所述中间计算结果之后,删除所述第一数据。
可选的,不同所述计算节点的所述统计任务不同。
本公开提供了一种数据实时计算统计的装置,包括:
数据分发模块,用于采用消息中间件将数据源的数据均衡地发布到多个计算节点上;
任务执行模块,用于所述多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对所述第一数据执行统计任务;其中,针对当前计算节点,所述统计任务通过入库模块、运算模块和结果处理模块执行:
所述入库模块,用于根据预设的业务需求配置文件,从所述第一数据中过滤出第二数据,将所述第二数据存入SQLite内存模式数据库;
所述运算模块,用于根据所述业务配置文件操作SQL语句,对所述第一数据进行统计运算,生成中间计算结果;其中,所述统计运算包括:检索、合并和统计更新;
所述结果处理模块,用于将所述中间计算结果存入所述SQLite内存模式数据库,并将所述中间计算结果推送至下一层级的计算节点;
数据汇总模块,用于根据以上统计任务得到多个所述计算节点的中间结果数据,将多个所述中间结果数据推送至汇总节点,通过所述汇总节点对多个所述中间结果数据进行计算统计。
本公开还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述方法。
本公开还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种数据实时计算统计的方法、装置、设备及介质,该方法包括:采用消息中间件将数据源的数据均衡地发布到多个计算节点上;多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对第一数据执行统计任务;其中,针对当前计算节点,统计任务包括:根据预设的业务需求配置文件,从接收到的第一数据中过滤出第二数据,将第二数据存入SQLite内存模式数据库;以及,根据业务配置文件操作SQL语句,对第一数据进行统计运算,生成中间计算结果;其中,统计运算包括:检索、合并和统计更新;以及,将中间计算结果存入SQLite内存模式数据库,并将中间计算结果推送至下一层级的计算节点;根据以上统计任务得到多个计算节点的中间结果数据,将多个中间结果数据推送至汇总节点,通过汇总节点对多个中间结果数据进行计算统计。本公开能够更加灵活、简单有效地实现数据实时计算统计。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的数据实时计算统计的方法流程图;
图2为本公开实施例提供的应用场景示意图;
图3为本公开实施例提供的数据实时计算统计的装置的结构框图;
图4为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前的数据流信息统计方式存在数据量大,查询时间长,无法适应需求的快速变化等诸多问题;为了应对大数据快速处理,数据实时计算、灵活地对数据流实时统计成为了迫切的需求。基于此,本公开实施例提供了一种数据实时计算统计的方法、装置、设备及介质。为便于理解,以下对本公开实施例展开描述。
参照图1所示的数据实时计算统计的方法流程图,本公开提供的该方法包括如下步骤:
步骤S102,采用消息中间件将数据源的数据均衡地发布到多个计算节点上。其中,消息中间件为ZeroMq消息中间件,ZeroMq消息中间件也可称为ZeroMQ推拉模型(Push-Pull)。
本实施例在采用消息中间件将数据发布到多个计算节点之前,需要先建立计算节点和消息中间件之间的连接。参照图2所示的应用场景示意图,数据源的发送服务端部署有ZeroMq消息中间件,通过ZeroMq消息中间件与多个计算节点相连。ZeroMq消息中间件与多个计算节点建立连接的过程可参照如下内容。
在ZeroMq消息中间件启动后,调用用于创建ZMQ环境上下文的zmq_ctx_new函数,创建上下文指针(即context指针);调用用于创建ZMQ套接字的zmq_socket函数,创建用于发送消息(ZMQ_PUSH)的套接字指针;调用用于绑定套接字的zmq_bind函数,绑定计算节点的地址。
绑定地址后,通过ZeroMq消息中间件监听计算节点的连接请求。在计算节点调用zmq_socket创建用于接收消息(ZMQ_PULL)的套接字指针,以及调用用于创建对外连接的函数zmq_connect连接ZeroMq消息中间件后,计算节点和ZeroMq消息中间件握手并建立连接。
如图2所示,与ZeroMq消息中间件相连的部分计算节点还部署有下一层级的计算节点。在此情况下,每个计算节点根据配置信息,可以作为业务端去连接上级、下级的节点,或者同时也提供监听服务,供其他节点连接自身。与计算节点和ZeroMq消息建立连接的原理相同,计算节点根据配置文件创建发送消息(ZMQ_PUSH)套接字指针,与下一层级的计算节点建立连接。由此,完成计算节点上行、下行数据连接。
在消息中间件与多个计算节点建立连接之后,采用消息中间件将数据源的数据均衡地发布到多个计算节点上。具体的,当数据进入ZeroMq消息中间件,ZeroMq消息中间件调用zmq_msg_send函数将数据均衡地发送给各个计算节点,计算节点调用zmq_pull函数轮询接收数据,接收到的数据可称为第一数据。
步骤S104,多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对第一数据执行统计任务。
不同的计算节点有各自的统计任务,不同计算节点的统计任务不同。以任一计算节点作为当前计算节点进行示例性描述,针对当前计算节点,统计任务包括:接收特定数据入库,对数据进行SQL(Structured Query Language,结构化查询语言)检索和统计等处理,生成中间结果数据,对中间结果数据作进一步处理等内容。为便于理解,本实施例通过以下步骤S106至S110对统计任务展开描述。
步骤S106,根据预设的业务需求配置文件,从第一数据中过滤出第二数据,将第二数据存入SQLite内存模式数据库。
各个计算节点收到数据后,根据预设的业务需求配置文件,先从接收到的第一数据中初步过滤出自己关心的第二数据,并将第二数据存入SQLite内存模式数据库;在一种具体存储方式中,可以将第二数据插入到SQLite内存模式数据库中预先创建的统计表中,完成数据入库。
统计表的创建实施例包括:当前计算节点加载预设的业务配置文件,调用用于打开数据库链接的函数SQLite3_open创建SQLite内存模式数据库的内存模式并生成入库处理指针(即database_handle指针),而后,调用SQLite3_exec执行SQL,以创建统计表。
接下来,调用SQLinsert语句,将第二数据插入SQLite内存模式数据库的统计表中,完成入库。
在本实施例中,为了应对大数据量高效处理,采用SQLite内存模式数据库,将数据存于内存中,保障高效入库的同时,也提高了SQL查找、更新的速度,采用内存数据库,能有效改善计算节点实时处理速度不够理想的问题。
步骤S108,根据业务配置文件操作SQL语句,对第一数据进行统计运算,生成中间计算结果;其中,统计运算包括但不限于:检索、合并和统计更新。
当前计算节点创建新线程,根据业务配置文件,调用SQL语句,对第一数据进行数据检索、合并和更新数据等统计运算,生成中间计算结果。
步骤S110,将中间计算结果存入SQLite内存模式数据库,并将中间计算结果推送至下一层级的计算节点。
根据业务需求,本实施例可以将中间计算结果推送到下个计算节点,以快速灵活的处理数据实时计算统计需求;并且,将中间计算结果暂存入库,等待定时任务去计算一个时间段内的统计数据。
另外,由于采用内存模式临时保存数据,所以在当前计算节点生成中间计算结果之后,删除第一数据,这样能够保障内存占用在一个合理的范围。
参照上述实施例,多个计算节点采用并行方式执行统计任务,分别得到各自的中间结果数据。
步骤S112,根据以上统计任务得到多个计算节点的中间结果数据,将多个中间结果数据推送至汇总节点,通过汇总节点对多个中间结果数据进行计算统计。
本实施例通过汇总节点根据预设的业务配置,对多个中间结果数据进行数据分类合并,定时生成统计数据;将统计数据输出给用于审计业务的业务端。
具体的,汇总节点采用ZMQ_PULL套接字接收计算节点的中间结果数据,调用SQL入库。然后,创建新线程,依据业务配置,对中间结果数据进行结果分类合并等处理,定时生成最终的统计数据,并将统计数据输出给上层审计业务。
综上,本公开实施例提供的数据实时计算统计的方法,包括:采用消息中间件将数据源的数据均衡地发布到多个计算节点上;计算节点通过执行统计任务,将第二数据存入SQLite内存模式数据库;利用SQLite内存模式数据库灵活的SQL语法,进行数据统计运算,并将中间计算结果流传到下个计算节点。在该过程中,采用SQLite内存模式数据库,将数据存于内存中,能够保障高效入库,提高SQL查找、更新的速度,更加灵活的应对数据检索统计等问题,简言之,引入内存数据库后,用SQL语句处理数据更简单有效。同时,根据业务需求配置文件可以灵活更改统计SQL语句,满足审计业务变化的多维度需求,比如,在业务要求统计发生变化后,采用本实施例能够立即修改配置SQL语句,更新统计算法或者要素,更能适用业务变化,增强了审计产品的市场竞争力。然后,将多个中间结果数据推送至汇总节点,通过汇总节点对多个中间结果数据进行计算统计;数据分流到多个计算节点,最终输出到汇总节点进行分类合并输出,这种分而治之的方案,分摊了大数据量对单个技术节点性能要求过高的压力,可以有效应对实时计算业务对统计速度的要求。因此,本技术方案能够更加灵活、简单有效地实现数据实时计算统计。
参照图3所示的数据实时计算统计的装置的结构框图,本公开实施例提供的该装置包括如下模块:
数据分发模块302,用于采用消息中间件将数据源的数据均衡地发布到多个计算节点上;
任务执行模块304,用于多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对第一数据执行统计任务;其中,针对当前计算节点,统计任务通过入库模块、运算模块和结果处理模块执行:
入库模块306,用于根据预设的业务需求配置文件,从第一数据中过滤出第二数据,将第二数据存入SQLite内存模式数据库;
运算模块308,用于根据业务配置文件操作SQL语句,对第一数据进行统计运算,生成中间计算结果;其中,统计运算包括:检索、合并和统计更新;
结果处理模块310,用于将中间计算结果存入SQLite内存模式数据库,并将中间计算结果推送至下一层级的计算节点;
数据汇总模块312,用于根据以上统计任务得到多个计算节点的中间结果数据,将多个中间结果数据推送至汇总节点,通过汇总节点对多个中间结果数据进行计算统计。
本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
图4为本公开实施例提供的一种电子设备的结构示意图。如图4所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的本公开的实施例的数据实时计算统计的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置403还可以包括例如键盘、鼠标等等。
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
进一步,本实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述数据实时计算统计的方法。
本公开实施例所提供的一种数据实时计算统计的方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据实时计算统计的方法,其特征在于,包括:
采用消息中间件将数据源的数据均衡地发布到多个计算节点上;
所述多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对所述第一数据执行统计任务;其中,针对当前计算节点,所述统计任务包括:
根据预设的业务需求配置文件,从所述第一数据中过滤出第二数据,将所述第二数据存入SQLite内存模式数据库;
以及,根据所述业务配置文件操作SQL语句,对所述第一数据进行统计运算,生成中间计算结果;其中,所述统计运算包括:检索、合并和统计更新;
以及,将所述中间计算结果存入所述SQLite内存模式数据库,并将所述中间计算结果推送至下一层级的计算节点;
根据以上统计任务得到多个所述计算节点的中间结果数据,将多个所述中间结果数据推送至汇总节点,通过所述汇总节点对多个所述中间结果数据进行计算统计。
2.根据权利要求1所述的方法,其特征在于,所述通过所述汇总节点对多个所述中间结果数据进行计算统计,包括:
通过所述汇总节点根据预设的业务配置,对多个所述中间结果数据进行数据分类合并,定时生成统计数据;
将所述统计数据输出给用于审计业务的业务端。
3.根据权利要求1所述的方法,其特征在于,所述消息中间件为ZeroMq消息中间件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述ZeroMq消息中间件启动后,调用用于创建ZMQ环境上下文的函数,创建上下文指针;调用用于创建ZMQ套接字的函数,创建用于发送消息的套接字指针;调用用于绑定套接字的函数,绑定所述计算节点的地址;
通过所述ZeroMq消息中间件监听所述计算节点的连接请求;
在所述计算节点创建用于接收消息的套接字指针,以及调用用于创建对外连接的函数连接所述ZeroMq消息中间件后,所述计算节点和所述ZeroMq消息中间件握手并建立连接。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述当前计算节点加载预设的业务配置文件,调用用于打开数据库链接的函数创建SQLite内存模式数据库并生成入库处理指针,调用SQLite3_exec执行结构化查询语言SQL,以创建统计表;
所述将所述第二数据存入SQLite内存模式数据库,包括:
将所述第二数据插入所述SQLite内存模式数据库的所述统计表中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前计算节点生成所述中间计算结果之后,删除所述第一数据。
7.根据权利要求1所述的方法,其特征在于,不同所述计算节点的所述统计任务不同。
8.一种数据实时计算统计的装置,其特征在于,包括:
数据分发模块,用于采用消息中间件将数据源的数据均衡地发布到多个计算节点上;
任务执行模块,用于所述多个计算节点采用并行方式将各自接收到的数据存入SQLite内存模式数据库作为第一数据,对所述第一数据执行统计任务;其中,针对当前计算节点,所述统计任务通过入库模块、运算模块和结果处理模块执行:
所述入库模块,用于根据预设的业务需求配置文件,从所述第一数据中过滤出第二数据,将所述第二数据存入SQLite内存模式数据库;
所述运算模块,用于根据所述业务配置文件操作SQL语句,对所述第一数据进行统计运算,生成中间计算结果;其中,所述统计运算包括:检索、合并和统计更新;
所述结果处理模块,用于将所述中间计算结果存入所述SQLite内存模式数据库,并将所述中间计算结果推送至下一层级的计算节点;
数据汇总模块,用于根据以上统计任务得到多个所述计算节点的中间结果数据,将多个所述中间结果数据推送至汇总节点,通过所述汇总节点对多个所述中间结果数据进行计算统计。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504982.4A CN114238438A (zh) | 2021-12-10 | 2021-12-10 | 一种数据实时计算统计的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504982.4A CN114238438A (zh) | 2021-12-10 | 2021-12-10 | 一种数据实时计算统计的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238438A true CN114238438A (zh) | 2022-03-25 |
Family
ID=80754572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111504982.4A Pending CN114238438A (zh) | 2021-12-10 | 2021-12-10 | 一种数据实时计算统计的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238438A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684437A (zh) * | 2023-08-04 | 2023-09-01 | 江苏量界数据科技有限公司 | 基于自然语言分析的分布式数据管理方法 |
-
2021
- 2021-12-10 CN CN202111504982.4A patent/CN114238438A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684437A (zh) * | 2023-08-04 | 2023-09-01 | 江苏量界数据科技有限公司 | 基于自然语言分析的分布式数据管理方法 |
CN116684437B (zh) * | 2023-08-04 | 2023-10-03 | 江苏量界数据科技有限公司 | 基于自然语言分析的分布式数据管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10928970B2 (en) | User-interface for developing applications that apply machine learning | |
US10061858B2 (en) | Method and apparatus for processing exploding data stream | |
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
WO2018126964A1 (zh) | 任务执行方法、装置和服务器 | |
EP2883172A1 (en) | High performance real-time relational database system and methods for using same | |
CN107391770B (zh) | 一种处理数据的方法、装置、设备以及存储介质 | |
US20200265028A1 (en) | Method and systems for mapping object oriented/functional languages to database languages | |
CN109522341A (zh) | 实现基于sql的流式数据处理引擎的方法、装置、设备 | |
CN111143286A (zh) | 一种云平台日志管理方法及系统 | |
CN103324713A (zh) | 多级服务器中的数据处理方法、装置和数据处理系统 | |
CN112364052A (zh) | 异构数据管理方法、装置、设备和计算机可读存储介质 | |
CN114238438A (zh) | 一种数据实时计算统计的方法、装置、设备及介质 | |
CN109947736B (zh) | 实时计算的方法和系统 | |
EP2889789B1 (en) | Replication description model for data distribution | |
US20180316780A1 (en) | Scalable programming architecture for telecommunications devices | |
CN116108036A (zh) | 一种后端系统数据离线导出方法和装置 | |
US20220318314A1 (en) | System and method of performing a query processing in a database system using distributed in-memory technique | |
WO2022048201A1 (zh) | 数据处理方法及装置、电子设备、存储介质 | |
US11698911B2 (en) | System and methods for performing updated query requests in a system of multiple database engine | |
US20140172955A1 (en) | Distributed mobile enterprise application platform | |
US20200301922A1 (en) | Multiform persistence abstraction | |
CN111581213B (zh) | 信息记录方法、装置、以及设备 | |
CN114218904A (zh) | 一种可配置报表导出设计的方法及系统 | |
US20170161359A1 (en) | Pattern-driven data generator | |
US11100077B2 (en) | Event table management using type-dependent portions |
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 |