CN108897613A - 数据处理方法、系统及计算机设备 - Google Patents
数据处理方法、系统及计算机设备 Download PDFInfo
- Publication number
- CN108897613A CN108897613A CN201810426525.XA CN201810426525A CN108897613A CN 108897613 A CN108897613 A CN 108897613A CN 201810426525 A CN201810426525 A CN 201810426525A CN 108897613 A CN108897613 A CN 108897613A
- Authority
- CN
- China
- Prior art keywords
- thread
- data
- processing
- caching
- 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.)
- Pending
Links
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Abstract
本申请公开了一种数据处理方法、系统以及计算机设备。该数据处理方法包括:从多个数据来源获取用户点击数据;缓存线程将所述用户点击数据存储到缓存中;处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;消费者线程从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。该数据处理系统包括:来源线程、缓存线程、缓存、处理线程、消费者线程、以及管理线程。本申请解决了现有用户数据统计处理时处理速度缓慢,并且处理流程混乱繁琐的问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据处理方法、系统及计算机设备。
背景技术
随着互联网时代的飞速发展,网上学习已经赢得越来越多用户的接受和认可。据统计2017年网上学习的用户数量已经达到1.2亿人,面对如此庞大的用户数量,用户数据的统计与处理就显得越为重要。
目前网上学习的用户数据统计处理一直是个难题,由于数据量巨大,处理起来十分缓慢并且流程十分繁琐,常见的处理方法为,先将大量数据进行存储,进而对数据进行定时轮询处理,这种处理方法处理过程十分缓慢,而且处理过程中很容易出错,导致统计结果不准确的问题。针对上述在用户数据统计处理上的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据处理方法,以解决现有用户数据统计处理时处理缓慢,以及处理流程混乱繁琐的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。
根据本申请的数据处理方法包括:从至少一个数据来源获取用户点击数据;缓存线程将所述用户点击数据存储到缓存中;处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;消费者线程从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。
进一步的,所述处理线程和所述消费者线程由如下步骤生成:接收输入的任务代码;根据所述任务代码生成对应的目标任务;根据所述目标任务创建所述目标任务对应的处理线程和/或消费者线程。
进一步的,所述处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,包括:对所述缓存中的所述用户点击数据进行归一化处理。
进一步的,所述数据处理方法还包括:管理线程监测服务器的压力数据;当所述压力数据超过预设阈值时,管理线程发出警报信息。
进一步的,所述管理线程监测服务器的压力数据,包括:所述管理线程获取每个所述缓存线程、处理线程、和消费者线程的压力状态,以及所述缓存的剩余存储容量。
进一步的,当所述压力数据超过预设阈值时:所述管理线程建立任务处理序列,以使所述缓存线程、处理线程、和消费者线程根据所述任务处理序列依次进行任务处理。
本申请的另一方面,提供了一种数据处理系统,该数据处理系统包括:
来源线程,用于从至少一个数据来源获取用户点击数据;
缓存线程,用于将所述用户点击数据存储到缓存中;
处理线程,用于根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;
消费者线程,用于从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。
进一步的,该数据处理系统还包括:
任务生成模块,用于接收输入的任务代码,并根据所述任务代码生成对应的目标任务;
线程创建模块,用于根据所述目标任务创建所述目标任务对应的处理线程和/或消费者线程。
进一步的,该数据处理系统还包括:管理线程,用于监测服务器的压力数据,并当所述压力数据超过预设阈值时,发出警报信息,以及建立任务处理序列,以使所述缓存线程、处理线程、和消费者线程根据所述任务处理序列依次进行任务处理。
本申请的另一方面,提供了一种计算机设备,该计算机设备包括:存储器、处理器及储存在储存器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现上述数据处理方法。
在本申请实施例中,在对大量数据进行处理时,先将用户数据存储在缓存中,再根据需要的策略制定出合适的算法对数据进行规整处理,得到需要的统计数据,以供后来的分析使用,从而实现了简化处理流程、加快处理速度的技术效果,进而解决了现有用户数据统计处理时处理缓慢,以及处理流程混乱繁琐的问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是第一实施例数据处理方法流程示意图;
图2是第二实施例数据处理方法流程示意图;
图3是第三实施例数据处理方法流程示意图;
图4是第一实施例数据处理系统结构示意图;以及
图5是第二实施例数据处理系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,本申请提供了一种用户数据统计处理,该方法包括步骤S101至步骤S104。
步骤S101,从至少一个数据来源获取用户点击数据,在本步骤中,从多个数据来源获取收集到的用户点击数据,数据来源可以为移动设备端、PC端、数据库、或者实时接口中的一种或多种,在本申请的一可选实施例中,收集到的用户点击数据可以用于统计和分析试题的热门程度。
步骤S102,缓存线程将所述用户点击数据存储到缓存中。本申请为了解决数据处理缓慢的问题,在数据处理时先将待处理数据存储到缓存中,由于从缓存中读取数据的速度远快与从内存或硬盘中读取数据的速度,因此先将待处理数据存储到缓存中,再进行数据处理,可以极大的提高处理速度。在本步骤中,缓存线程根据预设的加载规则自动将待处理数据加载到redis缓存中进行存储,形成数据缓存区,而缓存线程根据处理需要不断向数据缓存区加载用户数据以及删除数据。
步骤S103,处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据。在本步骤中,针对存储在缓存中的待处理数据,先根据需要的处理策略制定出合适的处理方法,并生成处理方法对应的一个或多个处理线程,进而通过多处理线程配合进行数据统计处理,生成至少一个数据统计结果。在本步骤中,处理线程对缓存中数据进行处理为,处理线程根据其处理任务从缓存中提取目标数据,并进行预设处理,进而将数据处理结果传输回缓存中进行存储。在本申请的一可选实施例中,根据用户的点击数据统计和分析试题的热门程度可以为,先通过第一处理线程对缓存中的用户的点击数据进行筛选,去除错误数据或无意义的数据,进而通过第二处理线程根据用户的特征对用户进行分类,根据用户的分类将用户的点击数据分为多个数据组,进而通过第三处理线程来统计每个用户组下的用户对特定题目或试卷的欢迎程度,试题的欢迎程度可以由用户的点击率高低来体现。
步骤S104,消费者线程从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。在本步骤中,当处理线程完成对缓存中的数据进行预设处理,并生成相应的统计结果后,通知消费者线程,进而消费者线程根据预设的任务从缓存中提取特定的统计结果,并将统计结果进行输出,发送到特定位置。
在本申请中上述处理线程和消费者线程都是作为任务的形式存在于服务器中,即处理线程和消费者线程都是根据特定的处理任务而生成的,这样只需程序员输入编写的任务代码就可以生成相应的处理线程和/或消费者线程,从而达到添加新的统计的目的。
如图2所示,在服务器中添加新的统计的具体步骤包括步骤S201至步骤S203。
步骤S201,接收输入的任务代码。在本步骤中,程序员根据需要的处理策略制定出合适的处理方法,进而输入处理方法相应的任务代码。
步骤S202,根据所述任务代码生成对应的目标任务,在本步骤中,任务生成模块根据程序员输入的任务代码自动生成相应的处理任务。
步骤S203,根据所述目标任务创建所述目标任务对应的处理线程和/或消费者线程,在本步骤中,线程创建模块根据处理任务,创建出处理任务对应的处理线程和/或消费者线程,进而通过处理线程和消费者线程完成相应的数据统计处理任务。
在本申请中,由于用户点击数据的来源可以为移动设备端、PC端、数据库、或者实时接口中的一种或多种,每种来源数据的标签信息或者格式不尽相同,因此在数据处理时需要先对用户点击数据进行归一化处理。在本申请中,先将缓存的数据的数据来源进行抽象化处理,进而数据来源中间件就可以将来自不同数据来源的用户数据进行归一化处理,便于后续统计处理。
在本申请中由于采用了多处理线程对缓存中的用户数据进行统计处理,为了对每个处理线程的工作状态进行监控,以及对服务器的压力进行监控和预警,采用了管理线程对各线程的状态以及对缓存的数据进行实时监控。
如图3所示,该用户数据处理方法还包括步骤S301至步骤S302。
步骤S301,管理线程监测服务器的压力数据。在本步骤,在各线程协作对缓存中的用户数据进行处理时,管理线程将持续实时监控服务器的压力,实现对服务器的压力进行监控预警。在本申请中,管理线程还将持续实时监控各线程的压力状态,以及缓存中存储数据的数量,从而实现对各线程的任务状态进行监控。
步骤S302,当所述压力数据超过预设阈值时,管理线程发出警报信息。在本步骤中,当管理线程检测到服务器的运行压力过大时,发出警报,进而由用户或服务器进行相应处理。
在本申请中,如果服务器的处理压力过大,或者服务器同时处理数量较多的任务时,管理线程根据所有的处理任务建立任务处理序列,将多个任务做成流水线的模式,进行多级处理和缓存,进而各处理线程根据任务处理序列依次进行任务处理,实现了减轻服务器的压力的目的。
从以上的描述中,可以看出,本发明实现了至少如下技术效果:
1.在数据处理时,先将待处理的数据加载到缓存中,进而再对缓存中的数据进行处理,极大的提高了数据处理速度。
2.在对缓存中的数据进行处理时,先根据制定好的处理策略生成多个处理线程,进而由多个处理线程对数据进行处理,解决了数据处理中流程混乱繁琐的问题。
3.通过管理线程对服务器和各线程的压力进行监测,在处理压力过大时通过将多任务做成流水线模型进行处理,达到了减轻服务器的压力的目的,从而实现了保证服务器工作安全稳定的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种数据处理系统,如图4所示,该数据处理系统包括:来源线程1、缓存线程2、处理线程3、以及消费者线程4,其中:
所述来源线程1,用于从一个或多个数据来源获取用户点击数据;
所述缓存线程2,用于根据预设的加载规则自动将待处理数据加载到redis缓存中进行存储,形成数据缓存区;
所述处理线程3,用于根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;
所述消费者线程4,用于根据预设的任务从缓存中提取特定的统计结果,并将统计结果进行输出,发送到特定位置。
如图4所示,该数据处理系统还包括:管理线程5,所述管理线程5用于用于监测服务器的压力数据,并当所述压力数据超过预设阈值时,发出警报信息,以及当服务器压力过大,或同时处理过多任务时,建立任务处理序列,以使所述缓存线程2、处理线程3、和消费者线程4根据所述任务处理序列依次进行任务处理。
如图5所示,该数据处理系统还包括:任务生成模块6和线程创建模块7,其中:
所述任务生成模块6,用于接收输入的任务代码,并根据所述任务代码生成对应的目标任务;
所述线程创建模块7,用于根据所述目标任务创建所述目标任务对应的处理线程3和/或消费者线程4。
本申请的另一方面还提供了一种计算机设备,该计算机设备包括:存储器、处理器及储存在储存器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现上述数据处理方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
从至少一个数据来源获取用户点击数据;
缓存线程将所述用户点击数据存储到缓存中;
处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;
消费者线程从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。
2.根据权利要求1所述的数据处理方法,其特征在于,所述处理线程和所述消费者线程由如下步骤生成:
接收输入的任务代码;
根据所述任务代码生成对应的目标任务;
根据所述目标任务创建所述目标任务对应的处理线程和/或消费者线程。
3.根据权利要求1所述的数据处理方法,其特征在于,所述处理线程根据预设处理任务对所述缓存中的所述用户点击数据进行处理,包括:
对所述缓存中的所述用户点击数据进行归一化处理。
4.根据权利要求1所述的数据处理方法,其特征在于,还包括:
管理线程监测服务器的压力数据;
当所述压力数据超过预设阈值时,管理线程发出警报信息。
5.根据权利要求4所述的数据处理方法,其特征在于,所述管理线程监测服务器的压力数据,包括:
所述管理线程获取每个所述缓存线程、处理线程、和消费者线程的压力状态,以及所述缓存的剩余存储容量。
6.根据权利要求4所述的数据处理方法,其特征在于,当所述压力数据超过预设阈值时:
所述管理线程建立任务处理序列,以使所述缓存线程、处理线程、和消费者线程根据所述任务处理序列依次进行任务处理。
7.一种数据处理系统,其特征在于,包括:
来源线程,用于从至少一个数据来源获取用户点击数据;
缓存线程,用于将所述用户点击数据存储到缓存中;
处理线程,用于根据预设处理任务对所述缓存中的所述用户点击数据进行处理,并生成至少一个统计数据;
消费者线程,用于从所述缓存中提取至少一个所述统计数据,并对所述统计数据进行输出。
8.根据权利要求7所述的数据处理系统,其特征在于,还包括:
任务生成模块,用于接收输入的任务代码,并根据所述任务代码生成对应的目标任务;
线程创建模块,用于根据所述目标任务创建所述目标任务对应的处理线程和/或消费者线程。
9.根据权利要求7所述的数据处理系统,其特征在于,还包括:
管理线程,用于监测服务器的压力数据,并当所述压力数据超过预设阈值时,发出警报信息,以及建立任务处理序列,以使所述缓存线程、处理线程、和消费者线程根据所述任务处理序列依次进行任务处理。
10.一种计算机设备,包括存储器、处理器及储存在储存器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810426525.XA CN108897613A (zh) | 2018-05-07 | 2018-05-07 | 数据处理方法、系统及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810426525.XA CN108897613A (zh) | 2018-05-07 | 2018-05-07 | 数据处理方法、系统及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108897613A true CN108897613A (zh) | 2018-11-27 |
Family
ID=64342564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810426525.XA Pending CN108897613A (zh) | 2018-05-07 | 2018-05-07 | 数据处理方法、系统及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897613A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069557A (zh) * | 2019-03-16 | 2019-07-30 | 平安科技(深圳)有限公司 | 数据传输方法、装置、设备及存储介质 |
CN112416932A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 建立字段关联关系的方法及装置 |
CN113923212A (zh) * | 2020-06-22 | 2022-01-11 | 大唐移动通信设备有限公司 | 一种网络数据包处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179898A1 (en) * | 2011-11-24 | 2016-06-23 | Alibaba Group Holding Limited | Distributed data stream processing method and system |
CN107391746A (zh) * | 2017-08-10 | 2017-11-24 | 深圳前海微众银行股份有限公司 | 日志分析方法、设备和计算机可读存储介质 |
CN107886424A (zh) * | 2017-11-28 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 结算数据处理方法和装置、计算机设备和存储介质 |
-
2018
- 2018-05-07 CN CN201810426525.XA patent/CN108897613A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179898A1 (en) * | 2011-11-24 | 2016-06-23 | Alibaba Group Holding Limited | Distributed data stream processing method and system |
CN107391746A (zh) * | 2017-08-10 | 2017-11-24 | 深圳前海微众银行股份有限公司 | 日志分析方法、设备和计算机可读存储介质 |
CN107886424A (zh) * | 2017-11-28 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 结算数据处理方法和装置、计算机设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069557A (zh) * | 2019-03-16 | 2019-07-30 | 平安科技(深圳)有限公司 | 数据传输方法、装置、设备及存储介质 |
CN110069557B (zh) * | 2019-03-16 | 2023-10-20 | 平安科技(深圳)有限公司 | 数据传输方法、装置、设备及存储介质 |
CN113923212A (zh) * | 2020-06-22 | 2022-01-11 | 大唐移动通信设备有限公司 | 一种网络数据包处理方法和装置 |
CN113923212B (zh) * | 2020-06-22 | 2022-12-13 | 大唐移动通信设备有限公司 | 一种网络数据包处理方法和装置 |
CN112416932A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 建立字段关联关系的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237295B2 (en) | Automated event ID field analysis on heterogeneous logs | |
US10956684B2 (en) | Topic kernelization for real-time conversation data | |
AU2019232799A1 (en) | Service processing method and apparatus | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
US10284514B2 (en) | Obtainability management in a social networking environment | |
US20210092160A1 (en) | Data set creation with crowd-based reinforcement | |
CN108897613A (zh) | 数据处理方法、系统及计算机设备 | |
JP7254975B2 (ja) | 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング | |
CN108718296A (zh) | 基于sdn网络的网络管控方法、装置与计算机可读存储介质 | |
JP2022118108A (ja) | ログ監査方法、装置、電子機器、媒体およびコンピュータプログラム | |
US11546380B2 (en) | System and method for creation and implementation of data processing workflows using a distributed computational graph | |
US9824312B2 (en) | Domain specific languages and complex event handling for mobile health machine intelligence systems | |
CN107678852A (zh) | 基于流数据实时计算的方法、系统、设备及存储介质 | |
EP4134877A1 (en) | Training method and apparatus for fault recognition model, fault recognition method and apparatus, and electronic device | |
CN110322153A (zh) | 监控事件处理方法及系统 | |
US20220214948A1 (en) | Unsupervised log data anomaly detection | |
CN105849703A (zh) | 通过上下文分区的经分类的事件监视 | |
CN115471215B (zh) | 一种业务流程处理方法及装置 | |
US20130117245A1 (en) | Method and system for identification of asset records in a version managed datastore | |
US20170161176A1 (en) | Trace recovery via statistical reasoning | |
CN110389875A (zh) | 用于监控计算机系统运行状态的方法、装置和存储介质 | |
US20210092159A1 (en) | System for the prioritization and dynamic presentation of digital content | |
JP2022087042A (ja) | 異常物を除去するための方法、システム、コンピュータ・プログラム、及びコンピュータ可読ストレージ媒体 | |
CN111597026B (zh) | 用于获取信息的方法及装置 | |
US11269753B2 (en) | Multi-layered computing system attribute dependency |
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: 20181127 |
|
RJ01 | Rejection of invention patent application after publication |