CN112884537A - 数据处理方法、装置、设备和计算机可读介质 - Google Patents
数据处理方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN112884537A CN112884537A CN201911199873.9A CN201911199873A CN112884537A CN 112884537 A CN112884537 A CN 112884537A CN 201911199873 A CN201911199873 A CN 201911199873A CN 112884537 A CN112884537 A CN 112884537A
- Authority
- CN
- China
- Prior art keywords
- real
- time data
- data processing
- user
- processing task
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 207
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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/2455—Query execution
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据处理方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:获取实时数据,基于预设数据表的条件触发实时数据处理任务;将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;获得所述实时数据处理任务的计算结果。该实施方式无需在所有用户的数据中进行检索,能够减少计算量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备和计算机可读介质。
背景技术
大数据经过多年的发展,目前已经有了较为成熟的体系。如hadoop、hive、hdfs、kafka、storm、flink、spark等。解决了离线数据分析,实时数据流处理等问题,为各行各业提供服务。
在电商等互联网行业,经常会有基于用户行为的实时处理数据需求。如:当用户进店后,根据10分钟、30分钟、1小时以及5小时内用户的行为,推断用户当前想要找什么。从而向用户推荐商品,展示广告,以及推送文章。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:通常数据库中,所有用户的数据放在一张或几张表里。推断一个用户的行为,仅涉及该用户的数据,但在所有用户的数据中进行检索,导致计算量过大。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法、装置、设备和计算机可读介质,无需在所有用户的数据中进行检索,能够减少计算量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法,包括:
获取实时数据,基于预设数据表的条件触发实时数据处理任务;
将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;
控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;
获得所述实时数据处理任务的计算结果。
所述获取实时数据,基于预设数据表的条件触发实时数据处理任务,包括:
获取实时数据,清洗所述实时数据得到用户实时数据,所述用户实时数据包括用户标识;
基于预设数据表的条件,所述用户实时数据触发实时数据处理任务。
属于同一个用户的所述实时数据处理任务由同一个计算节点处理。
所述用户的数据库是Sqlite数据库。
所述控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务,包括:
所述计算节点在所述任务队列中,控制所述计算节点读取所述实时数据处理任务后,确定所述用户的数据库中已存储所述实时数据处理任务的数据;
控制所述计算节点在所述用户的数据库中获取所述实时数据处理任务的数据,并执行所述实时数据处理任务。
所述控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务,包括:
所述计算节点在所述任务队列中,控制所述计算节点读取所述实时数据处理任务后,确定所述用户的数据库中未存储所述实时数据处理任务的数据;
控制所述计算节点从远端数据库获取所述实时数据处理任务的数据,并将所述实时数据处理任务的数据保存至所述用户的数据库;
控制所述计算节点在所述用户的数据库中获取所述实时数据处理任务的数据,并执行所述实时数据处理任务。
所述远端数据库存储用户的所有实时数据;
所述用户的数据库存储预设时段用户的实时数据。
根据本发明实施例的第二方面,提供了一种数据处理装置,包括:
数据模块,用于获取实时数据,基于预设数据表的条件触发实时数据处理任务;
分发模块,用于将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;
控制模块,用于控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;
输出模块,用于获得所述实时数据处理任务的计算结果。
根据本发明实施例的第三方面,提供了一种数据处理电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:获取实时数据,基于预设数据表的条件触发实时数据处理任务;将实时数据处理任务分发至实时数据所属用户对应的任务队列;控制计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务;获得实时数据处理任务的计算结果。由于可以在用户的数据库中,执行实时数据处理任务,无需在所有用户的数据中进行检索,因此能够减少计算量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据处理方法的主要流程的示意图;
图2是本发明实施例的清洗实时数据的示意图;
图3是本发明实施例中分发实时数据处理任务的示意图;
图4是本发明实施例中用户的数据库的示意图;
图5是本发明实施例中从远端数据库载入实时数据处理任务的数据的示意图;
图6是根据本发明实施例的数据处理的装置的主要结构的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
基于用户行为的实时处理数据需求,如:当用户进店后,根据在一段时间内用户浏览、加购、下单、以及搜索的行为,推断用户当前想要找什么,从而向用户推荐。
上述推断的过程中,涉及该用户的数据,并不涉及其他用户的数据。但会在所有用户数据范围内进行数据检索。
作为一个示例,系统日页面浏览量(page view,PV)1000亿,用户平均PV1000条记录。如果业务计算只涉及某个用户,检索却要发生在1000亿数据中。计算规模庞大,完全无法保证技术的实时性。计算量过大,带来很多没有必要的硬件开销和软件开销。
为了解决计算量过大的技术问题,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的数据处理方法的主要流程的示意图,将实时数据处理任务分发至实时数据所属用户对应的任务队列,并在用户的数据库中,执行实时数据处理任务。如图1所示,具体包括以下步骤:
S101、获取实时数据,基于预设数据表的条件触发实时数据处理任务。
实时数据是用户实时发生动作涉及的数据。作为一个示例,可以从Kafka中获取实时数据。Kafka是一种分布式的大数据队列。
在本发明实施例中,数据表可以理解为二维表格。数据表用于存储多个实时数据。数据表中包括多个字段,可以按照字段存储多个实时数据。
作为一个示例,数据表可以存储用户浏览网页涉及的实时数据。作为另一个示例,数据表可以存储用户点击商品涉及的实时数据。可以理解的是,可以预先设置多个数据表,每个数据表存储用户不同的实时数据。
对于数据表而言,预设数据表的条件。基于数据表的条件,实时数据触发实时数据处理任务。可以理解的是,若实时数据满足数据表的条件,则触发实时数据处理任务。
在本发明的一个实施例中,实时数据处理任务由两部分构成:第一部分:过滤规则。第二部分:执行语句。执行语句采用大数据体系通用的SQL来表达。如下表达式:task(filter(…),exec(…))。执行语句可以触发实时数据处理任务。
其中,以过滤器执行过滤规则。过滤器作为数据表的条件。如果获取的实时数据满足过滤器,则执行过滤器中的执行语句,即触发实时数据处理任务;如果获取的实时数据未满足过滤器,则不执行过滤器中的执行语句,即不能触发实时数据处理任务。
参见表1,表1的实时数据是页面浏览数据。表1中包括实时数据涉及的多个字段。页面浏览数据包括用户进入改页面的时间,参数,及上一个页面的标识(ID)。可以计算上一个页面的停留时长,即当前页面进入时间减去上一页面进入时间。
表1
其中,数据表的条件包括:用户在商品详情页的停留时长大于5秒。则可以基于表1中字段对应的数据,计算用户在商品详情页的停留时长。在用户在商品详情页的停留时长大于5秒的情况下,则触发实时数据处理任务。
在本发明的一个实施例中,考虑到实时数据本身包括多个字段,在不同数据表中并不需要涉及实时数据的所有字段,那么可以清洗实时数据以得到用户实时数据。
清洗实时数据有两个目的,一个目的是将属于同类的字段聚合为一个字段;另一个目的是删除不需要的字段。可以理解的是,清洗实时数据得到的用户实时数据必然包括的字段是用户ID。清洗后用户实时数据按照用户ID存储,每条记录有唯一ID。
具体来说,获取实时数据,清洗实时数据得到用户实时数据,用户实时数据包括用户标识;基于预设数据表的条件,用户实时数据触发实时数据处理任务。
作为一个示例,预先设置脚本。可以利用挂载预先设置脚本,清洗实时数据得到用户实时数据,并将用户实时数据写入数据表。
参见图2,图2是本发明实施例的清洗实时数据的示意图。图2中,实时数据通过挂载预设设置脚本后,可以分别输入不同的数据表,如:数据表1、数据表2和数据表3。三个数据表存储用户不同维度的实时数据。
S102、将实时数据处理任务分发至实时数据所属用户对应的任务队列。
实时数据触发实时数据处理任务之后,则需要将实时数据处理任务分发至任务队列,以便计算节点执行实时数据处理任务。
任务队列是存放实时数据处理任务的队列,一个用户的全部任务需要放在同一个队列中。作为一个示例,任务队列的数量应该大于等于计算节点的数量,这样可以确保一个任务队列只被一个节点消费,从而保证一个用户的实时数据处理任务被路由到同一个计算节点上。属于同一个用户的实时数据处理任务由同一个计算节点执行。这样,能够提高实时数据处理任务的处理效率。
为了将同一个用户的全部任务放在同一个队列中,将实时数据处理任务,分发至实时数据所属用户对应的任务队列。实时数据中包括用户ID,基于用户ID可以将实时数据处理任务,分发至用户ID对应的任务队列。
参见图3,图3是本发明实施例中分发实时数据处理任务的示意图。实时数据触发实时数据处理任务。
图3中共计触发5件实时数据处理任务,分别为任务N(user1)、任务M(user2)、任务S(user18)、任务T(user18)和任务S(user6)。其中,任务N是(user)1的实时数据处理任务;任务M是user2的实时数据处理任务;任务S是user18的实时数据处理任务;任务T是user18的实时数据处理任务;任务S是user6的实时数据处理任务。
在分发实时数据处理任务的过程中,为了确保数据一致性,同一个用户的数据需要被路由到同一个计算节点上。一个计算节点可以载入多个用户的数据。
可以将相同用户的实时处理任务分发至同一个任务队列。图3中,任务S(user18)和任务T(user18)均是user18的实时数据处理任务,需要将任务S(user18)和任务T(user18)分发至同一个任务队列,即任务队列N。将任务S(user6)分发至任务队列N。将任务M(user2)分发至任务队列S。将任务N(user3)分发至任务队列2。
在本发明实施例中,属于同一个用户的实时数据处理任务由同一个计算节点执行。图3中,计算节点1执行user18和user6的实时数据处理任务。计算节点2执行user2和user3的实时数据处理任务。
S103、控制计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务。
计算节点是一台实际执行计算任务的计算机。计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务。作为一个示例,可以找到用户的数据库的sqlite库句柄,然后将实时数据处理任务SQL放置于该用户的sqlit上执行。
在本发明的一个实施例中,在计算节点中保存有用户的数据库。考虑到计算节点需要保存多个用户的数据库,那么用户的数据库不能过多占用空间。作为一个示例,由于Sqlite数据库占用资源非常低,因此用户的数据库可以是Sqlite数据库。
Sqlite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源低,在嵌入式设备中,只需要几百K的内存。
一个用户的数据会在计算节点上生成一个sqlite库文件,保证一人一库。使用用户ID在内存中建立索引,保存用户与用户的数据库的对应关系。实时数据处理任务在Sqlite库中执行。
参见图4,图4是本发明实施例中用户的数据库的示意图。图4中计算节点存储有多个用户的数据库,其中包括User1、User2、User3等。示例性的,User1的数据库为Sqlitdb1、User2的数据库为Sqlitdb1、以及User3的数据库为Sqlitdb3。
那么,计算节点在User1的任务队列中读取实时数据处理任务后,在Sqlitdb1中,执行实时数据处理任务;相应的,计算节点在User2的任务队列中读取实时数据处理任务后,在Sqlitdb2中,执行实时数据处理任务;计算节点在User3的任务队列中读取实时数据处理任务后,在Sqlitdb3中,执行实时数据处理任务。
可见,计算节点在该用户的数据库中,执行实时数据处理任务,无需在所有用户的数据中,执行实时数据处理任务,那么能够减少计算量,避免没有必要的硬件开销和软件开销。
在本发明的一个实施例中,计算节点接收一个实时数据处理任务后,需要查看本地是否存储实时数据处理任务的数据,即用户的数据库中是否已存储实时数据处理任务的数据。
具体来说,在用户的数据库中已存储实时数据处理任务的数据的情况下:
计算节点在任务队列中,读取实时数据处理任务后,确定用户的数据库中已存储实时数据处理任务的数据;
在用户的数据库中获取实时数据处理任务的数据,并执行实时数据处理任务。
具体来说,在用户的数据库中未存储实时数据处理任务的数据的情况下:
计算节点在任务队列中,读取实时数据处理任务后,确定用户的数据库中未存储实时数据处理任务的数据;
从远端数据库获取实时数据处理任务的数据,并将实时数据处理任务的数据保存至用户的数据库;
在用户的数据库中获取实时数据处理任务的数据,并执行实时数据处理任务。
也就说,在用户的数据库中未存储实时数据处理任务的数据的情况下,则可以从远端数据库中载入实时数据处理任务的数据,然后在用户的数据库中基于载入实时数据处理任务的数据,执行实时数据处理任务。
参见图5,图5是本发明实施例中从远端数据库载入实时数据处理任务的数据的示意图。
远端数据库存储用户的所有实时数据。远端数据库可以作为用户数据全集。作为一个示例,远端数据库保存当天所有用户的数据。
用户的数据库存储预设时段用户的实时数据。为了节省计算节点本地磁盘和内存空间,数据节点只是在用户变为活跃时才将数据调入,当用户不活跃时可以将用户调出计算节点。作为一个示例,用户在10分钟内没有任何动作,则认为用户不活跃。预设时段可以为10分钟。
示例性的,图5中计算节点中存储有User6的数据库、User18的数据库、User2的数据库和User3的数据库。
需要处理User6的实时数据处理任务,计算节点未存储User6的实时数据处理任务的数据;需要处理User18的实时数据处理任务,计算节点未存储User18的实时数据处理任务的数据;需要处理User2的实时数据处理任务,计算节点未存储User2的实时数据处理任务的数据;需要处理User3的实时数据处理任务,计算节点未存储User3的实时数据处理任务的数据。
则可以从远端数据库分别获取User6、User18、User3和User2的实时数据处理任务的数据,并将实时数据处理任务的数据分别保存至每个用户的数据库中。
S104、获得实时数据处理任务的计算结果。
在计算节点执行实时数据处理任务,输出实时数据处理任务的计算结果。进而可以从计算节点获得实时数据处理任务的计算结果,可以将计算结果存储至结果数据库。作为一个示例,可以根据实时数据处理任务中配置的结果数据库地址,调用对应的引擎将计算结果存储至结果数据库。
在上述本发明的实施例中,获取实时数据,基于预设数据表的条件触发实时数据处理任务;将实时数据处理任务分发至实时数据所属用户对应的任务队列;控制计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务;获得实时数据处理任务的计算结果。由于可以在用户的数据库中,执行实时数据处理任务,无需在所有用户的数据中进行检索,因此能够减少计算量。
参见图6,图6是根据本发明实施例的数据处理的装置的主要结构的示意图,数据处理的装置可以实现数据处理的方法,如图6所示,数据处理的装置具体包括:
数据模块601,用于获取实时数据,基于预设数据表的条件触发实时数据处理任务。
分发模块602,用于将实时数据处理任务分发至实时数据所属用户对应的任务队列。
控制模块603,用于控制计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务。
输出模块604,用于获得实时数据处理任务的计算结果。
在本发明的一个实施例中,数据模块601,具体用于获取实时数据,清洗实时数据得到用户实时数据,用户实时数据包括用户标识;
基于预设数据表的条件,用户实时数据触发实时数据处理任务。
在本发明的一个实施例中,属于同一个用户的实时数据处理任务由同一个计算节点处理。
在本发明的一个实施例中,用户的数据库是Sqlite数据库。
在本发明的一个实施例中,控制模块603,具体用于控制计算节点在任务队列中,读取实时数据处理任务后,确定用户的数据库中已存储实时数据处理任务的数据;
在用户的数据库中获取实时数据处理任务的数据,并执行实时数据处理任务。
在本发明的一个实施例中,控制模块603,具体用于控制计算节点在任务队列中,读取实时数据处理任务后,确定用户的数据库中未存储实时数据处理任务的数据;
从远端数据库获取实时数据处理任务的数据,并将实时数据处理任务的数据保存至用户的数据库;
在用户的数据库中获取实时数据处理任务的数据,并执行实时数据处理任务。
在本发明的一个实施例中,远端数据库存储用户的所有实时数据;
用户的数据库存储预设时段用户的实时数据。
图7示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器705执行,相应地,数据处理装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
获取实时数据,基于预设数据表的条件触发实时数据处理任务;
将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;
控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;
获得所述实时数据处理任务的计算结果。
根据本发明实施例的技术方案,获取实时数据,基于预设数据表的条件触发实时数据处理任务;将实时数据处理任务分发至实时数据所属用户对应的任务队列;控制计算节点在任务队列中读取实时数据处理任务后,在用户的数据库中,执行实时数据处理任务;获得实时数据处理任务的计算结果。由于可以在用户的数据库中,执行实时数据处理任务,无需在所有用户的数据中进行检索,因此能够减少计算量。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取实时数据,基于预设数据表的条件触发实时数据处理任务;
将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;
控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;
获得所述实时数据处理任务的计算结果。
2.根据权利要求1所述数据处理方法,其特征在于,所述获取实时数据,基于预设数据表的条件,触发实时数据处理任务,包括:
获取实时数据,清洗所述实时数据得到用户实时数据,所述用户实时数据包括用户标识;
基于预设数据表的条件,所述用户实时数据触发实时数据处理任务。
3.根据权利要求1所述数据处理方法,其特征在于,属于同一个用户的所述实时数据处理任务由同一个计算节点处理。
4.根据权利要求1所述数据处理方法,其特征在于,所述用户的数据库是Sqlite数据库。
5.根据权利要求1所述数据处理方法,其特征在于,所述控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务,包括:
所述计算节点在所述任务队列中,控制所述计算节点读取所述实时数据处理任务后,确定所述用户的数据库中已存储所述实时数据处理任务的数据;
控制所述计算节点在所述用户的数据库中获取所述实时数据处理任务的数据,并执行所述实时数据处理任务。
6.根据权利要求1所述数据处理方法,其特征在于,所述控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务,包括:
所述计算节点在所述任务队列中,控制所述计算节点读取所述实时数据处理任务后,确定所述用户的数据库中未存储所述实时数据处理任务的数据;
控制所述计算节点从远端数据库获取所述实时数据处理任务的数据,并将所述实时数据处理任务的数据保存至所述用户的数据库;
控制所述计算节点在所述用户的数据库中获取所述实时数据处理任务的数据,并执行所述实时数据处理任务。
7.根据权利要求6所述数据处理方法,其特征在于,所述远端数据库存储用户的所有实时数据;
所述用户的数据库存储预设时段用户的实时数据。
8.一种数据处理装置,其特征在于,包括:
数据模块,用于获取实时数据,基于预设数据表的条件触发实时数据处理任务;
分发模块,用于将所述实时数据处理任务分发至所述实时数据所属用户对应的任务队列;
控制模块,用于控制计算节点在所述任务队列中读取所述实时数据处理任务后,在所述用户的数据库中,执行所述实时数据处理任务;
输出模块,用于获得实时数据处理任务的计算结果。
9.一种数据处理电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199873.9A CN112884537B (zh) | 2019-11-29 | 2019-11-29 | 数据处理方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199873.9A CN112884537B (zh) | 2019-11-29 | 2019-11-29 | 数据处理方法、装置、设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112884537A true CN112884537A (zh) | 2021-06-01 |
CN112884537B CN112884537B (zh) | 2024-06-18 |
Family
ID=76038547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199873.9A Active CN112884537B (zh) | 2019-11-29 | 2019-11-29 | 数据处理方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884537B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000123016A (ja) * | 1998-10-19 | 2000-04-28 | Oki Electric Ind Co Ltd | 情報フィルタリング装置および情報フィルタリング方法 |
US20030177160A1 (en) * | 2002-03-14 | 2003-09-18 | Internationl Business Machines Corporation | Predictive system for self-managed e-business infrastructures |
US20160300144A1 (en) * | 2015-04-10 | 2016-10-13 | Tata Consultancy Services Limited | System and method for generating recommendations |
CN106777134A (zh) * | 2016-12-16 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种在客户端向用户推荐常用数据的方法 |
CN107169122A (zh) * | 2017-05-27 | 2017-09-15 | 武汉纺织大学 | 一种服饰导购系统及方法 |
CN108519914A (zh) * | 2018-04-09 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 大数据计算方法、系统和计算机设备 |
CN108701014A (zh) * | 2016-03-09 | 2018-10-23 | 电子湾有限公司 | 用于尾部查询的查询数据库 |
US20190130447A1 (en) * | 2017-10-31 | 2019-05-02 | Mastercard International Incorporated | Systems and methods for location related event detection |
US20190196470A1 (en) * | 2017-12-27 | 2019-06-27 | Toyota Jidosha Kabushiki Kaisha | Transport system, information processing device configured to manage information about user who uses at least any one of plurality of mobile units, and information processing method |
US20190220384A1 (en) * | 2018-01-18 | 2019-07-18 | Dell Products L.P. | Method, device, and computer readable medium for tracing computing system |
CN110430477A (zh) * | 2019-08-12 | 2019-11-08 | 广州华多网络科技有限公司 | 直播内容的推荐方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-29 CN CN201911199873.9A patent/CN112884537B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000123016A (ja) * | 1998-10-19 | 2000-04-28 | Oki Electric Ind Co Ltd | 情報フィルタリング装置および情報フィルタリング方法 |
US20030177160A1 (en) * | 2002-03-14 | 2003-09-18 | Internationl Business Machines Corporation | Predictive system for self-managed e-business infrastructures |
US20160300144A1 (en) * | 2015-04-10 | 2016-10-13 | Tata Consultancy Services Limited | System and method for generating recommendations |
CN108701014A (zh) * | 2016-03-09 | 2018-10-23 | 电子湾有限公司 | 用于尾部查询的查询数据库 |
CN106777134A (zh) * | 2016-12-16 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种在客户端向用户推荐常用数据的方法 |
CN107169122A (zh) * | 2017-05-27 | 2017-09-15 | 武汉纺织大学 | 一种服饰导购系统及方法 |
US20190130447A1 (en) * | 2017-10-31 | 2019-05-02 | Mastercard International Incorporated | Systems and methods for location related event detection |
US20190196470A1 (en) * | 2017-12-27 | 2019-06-27 | Toyota Jidosha Kabushiki Kaisha | Transport system, information processing device configured to manage information about user who uses at least any one of plurality of mobile units, and information processing method |
US20190220384A1 (en) * | 2018-01-18 | 2019-07-18 | Dell Products L.P. | Method, device, and computer readable medium for tracing computing system |
CN108519914A (zh) * | 2018-04-09 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 大数据计算方法、系统和计算机设备 |
CN110430477A (zh) * | 2019-08-12 | 2019-11-08 | 广州华多网络科技有限公司 | 直播内容的推荐方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
李昌盛;伍之昂;张璐;曹杰;: "关联规则推荐的高效分布式计算框架", 计算机学报, no. 06 * |
王末;王卷乐;赫运涛;: "地学数据共享网用户Web行为预测及数据推荐方法", 地球信息科学学报, no. 05 * |
花常琪;仲红;石润华;李文娟;: "基于加密数据库的高效安全HW-PIR方案", 计算机工程, no. 20 * |
Also Published As
Publication number | Publication date |
---|---|
CN112884537B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189835B (zh) | 实时生成数据宽表的方法和装置 | |
CN109901918B (zh) | 一种处理超时任务的方法和装置 | |
CN105045607A (zh) | 一种实现多种大数据计算框架统一接口的方法 | |
CN112052133B (zh) | 一种基于Kubernetes的业务系统监控方法和装置 | |
CN110555068A (zh) | 数据导出方法和装置 | |
US10331484B2 (en) | Distributed data platform resource allocator | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和系统 | |
CN113312553B (zh) | 一种用户标签的确定方法和装置 | |
CN107729394A (zh) | 基于Hadoop集群的数据集市管理系统及其使用方法 | |
CN114357280A (zh) | 一种信息推送方法、装置、电子设备及计算机可读介质 | |
CN109947861B (zh) | 用于数据仓库生成目标表的方法、装置和计算机可读介质 | |
CN108985805B (zh) | 一种选择性执行推送任务的方法和装置 | |
CN116450622B (zh) | 数据入库的方法、装置、设备和计算机可读介质 | |
CN113190558A (zh) | 一种数据加工方法和系统 | |
CN117950850A (zh) | 一种数据传输方法、装置、电子设备及计算机可读介质 | |
CN113742057A (zh) | 一种任务执行方法和装置 | |
CN112884537B (zh) | 数据处理方法、装置、设备和计算机可读介质 | |
CN113779412B (zh) | 一种基于区块链网络的消息触达方法、节点和系统 | |
CN111786801B (zh) | 一种基于数据流量进行计费的方法和装置 | |
CN113535768A (zh) | 生产监控方法和装置 | |
CN113760487A (zh) | 一种业务处理方法和装置 | |
CN112783615A (zh) | 一种数据处理任务的清理方法和装置 | |
CN112783956B (zh) | 一种信息处理方法和装置 | |
CN113329010B (zh) | 一种用户访问管理的方法和系统 | |
CN113779058B (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 |