CN114385663A - 数据处理的方法和装置 - Google Patents
数据处理的方法和装置 Download PDFInfo
- Publication number
- CN114385663A CN114385663A CN202210284918.8A CN202210284918A CN114385663A CN 114385663 A CN114385663 A CN 114385663A CN 202210284918 A CN202210284918 A CN 202210284918A CN 114385663 A CN114385663 A CN 114385663A
- Authority
- CN
- China
- Prior art keywords
- data
- result
- processed
- cache database
- request
- 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
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
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)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理的方法和装置,包括:根据预设的定时程序,自动执行数据统计任务,获得统计结果;根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;将所述结果数据存入缓存数据库;在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。本申请的方案能够根据需求从海量数据中提取有效数据,在数据分析过程避免了垃圾数据和无效数据,因而对数据分析效率有极大的提升;采用统一的页面模板,便于观察数据结果;在服务端将不同格式的数据进行序列化,方便在开发时接口对接,提高工作效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理的方法和装置。
背景技术
目前,很多企业都拥有海量的客户信息,包括服务账务信息,业务层的信息记录等。但是由于数据来源于不同渠道,多数企业不具备收集并分析这些数据的能力。因此,如何有效利用这些数据,从这些数据中洞察价值,进而提升企业的核心竞争力,是一个值得研究的问题。
相关技术中,目前市场上主流的数据处理方案是,各部门分别进行数据统计并分析,再通过整合形成统一性的分析报告。如此的分析方式导致各部门间信息样本不一致,数据覆盖面不全,导致对数据的结论也有一定的偏差。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种数据处理的方法和装置。
根据本申请实施例的第一方面,提供一种数据处理的方法,包括:
根据预设的定时程序,自动执行数据统计任务,获得统计结果;
根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;
将所述结果数据存入缓存数据库;
在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;
如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。
进一步地,所述执行数据统计任务的步骤包括:
构建需要查询的条件对象;
与历史数据库建立连接,根据条件对象到历史数据库中不同的数据表中读取数据;
根据需要展示的数据维度,对读取到的数据进行解析,获得统计结果。
进一步地,所述读取数据的步骤包括:
创建多个线程,使多个数据读取任务同时进行;
在执行任务前确定:待处理任务的总数、每个待处理任务的识别标志;
依次将不同待处理任务的识别标志分配到各个线程;
每个线程根据分配的识别标志执行数据读取任务;
每个线程处理完一个数据读取任务,会将公共已处理数据+1;
当公共已处理数据等于待处理任务的总数时,所有数据均处理完成。
进一步地,将所述统计结果进行序列化处理,包括:
根据页面展示的格式,将所述统计结果进行json序列化。
进一步地,所述查看请求中包含数据条件;
所述查看缓存数据库中是否存在与所述查看请求相匹配的结果数据,包括:
根据预设规则将数据条件生成唯一标识;
查看缓存数据库中是否存在相同的键值;
如果存在,则该键值对应的数据为与所述查看请求相匹配的结果数据。
进一步地,所述方法还包括:
如果存在,则直接获取结果数据,将该数据响应给展示层;并更新该数据的活跃度指标,保存在缓存数据库中。
进一步地,所述将查看请求放入待处理队列,包括:
将唯一标识存入待处理队列中,等待队列消费;
监听待处理队列,当发现待处理队列中有任务时,消费队列中的任务;
将待处理队列中的唯一标识取出;
根据唯一标识将对应的数据查出。
进一步地,所述将所述结果数据存入缓存数据库,包括:
将当前时间、结果数据和唯一标识,保存到缓存数据库中。
进一步地,所述方法还包括:
设置定时程序,在缓存数据库中查询最后更新时间在预设时间阈值内的数据,并对这些数据进行更新;
将最后更新时间超出预设时间阈值的数据丢弃。
根据本申请实施例的第二方面,提供一种数据处理的装置,包括:
定时程序模块,用于根据预设的定时程序,自动执行数据统计任务,获得统计结果;
序列化模块,用于根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;并将所述结果数据存入缓存数据库;
查询模块,用于在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。
本申请的实施例提供的技术方案具备以下有益效果:
本申请的方案能够根据需求从海量数据中提取有效数据,在数据分析过程避免了垃圾数据和无效数据,因而对数据分析效率有极大的提升;采用统一的页面模板,便于观察数据结果;在服务端将不同格式的数据进行序列化,转化成同样的数据格式类型再返回到页面,方便在开发时接口对接,提高工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种数据处理的方法的应用环境示意图。
图2是根据一示例性实施例示出的一种数据处理的方法的流程图。
图3是根据一示例性实施例示出的一种数据处理的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。
图2是根据一示例性实施例示出的一种数据处理的方法的流程图。该方法可以包括以下步骤:
步骤S1、根据预设的定时程序,自动执行数据统计任务,获得统计结果;
步骤S2、根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;
步骤S3、将所述结果数据存入缓存数据库;
步骤S4、在接收到查看请求时,查看缓存数据库中是否存在与所述查看请求相匹配的结果数据;
步骤S5、如果存在,则将对应的结果数据返回到请求端;如果不存在,则将查看请求放入待处理队列。
本申请的方案能够根据需求从海量数据中提取有效数据,在数据分析过程避免了垃圾数据和无效数据,因而对数据分析效率有极大的提升;采用统一的页面模板,便于观察数据结果;在服务端将不同格式的数据进行序列化,转化成同样的数据格式类型再返回到页面,方便在开发时接口对接,提高工作效率。
应当理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其他的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的实施例作进一步详细描述。
一、非实时性数据查询
1、添加定时程序,定时程序达到触发条件时自动执行统计数据的任务。
此处的定时程序是一个非实时性查询的程序,它是系统设定的定时程序;定时程序预先设定好触发规则,达到触发时间就定期把需要处理的数据进行运算并保存。查看历史数据时,直接拿来展示,不需要做更多的计算。定时程序不去消费待处理队列中的任务。
一些实施例中,所述步骤S1中,执行数据统计任务的步骤包括:构建需要查询的条件对象;与历史数据库建立连接,根据条件对象到历史数据库中不同的数据表中读取数据;根据需要展示的数据维度,对读取到的数据进行解析,获得统计结果。
本申请的方案中还设置有实时性查询程序,用于消费待处理队列中的任务。实时性查询程序的核心计算逻辑与非实时性查询程序一致,不过二者分别属于两个不同的入口:非实时性查询的程序是主动、定期执行;实时性查询则是监听待处理队列,发现待处理队列里有任务,就去处理任务。
2、首先构建需要查询的条件对象,使用多线程的方式让多个读取数据的任务同时进行,并使用建立的索引快速查询数据。
一些实施例中,所述读取数据的步骤包括:创建多个线程,使多个数据读取任务同时进行;在执行任务前确定:待处理任务的总数、每个待处理任务的识别标志;依次将不同待处理任务的识别标志分配到各个线程;每个线程根据分配的识别标志执行数据读取任务;每个线程处理完一个数据读取任务,会将公共已处理数据+1;当公共已处理数据等于待处理任务的总数时,所有数据均处理完成。
读取数据的过程中,由于涉及到多次计算并进行数据处理,如果是单线程,会导致响应时间过长、用户体验不好,所以本实施例的方案设计为多线程同时进行处理。在读取数据的过程中,假设同时产生了1万个数据读取任务,如果使用单线程处理,那么需要运算一万次才能处理完;而如果20个线程同时工作,则每个线程只需要执行500次就能处理完成,所以数据处理中使用多线程方式,以减少响应时间。
需要说明的是,“条件对象”并不指定具体数据库,数据库通过程序运算摆渡。所述条件对象主要是针对数据的处理条件,比如处理近一个月/近一年/近半年等;此外,条件对象还用于数据发生的路由筛选,主要用于数据筛选。
每个条件对象均对应的一个需要处理的数据。每个需要处理的数据都有各自的唯一标识,它是唯一不重复的值;每个线程拿到这个标识之后再去处理,从而避免出现线程竞争问题。每个线程在处理前都会查到一个待处理任务的总数;每个线程处理完,会给公共已处理数据+1;直到所有数据均处理完成后,比对已处理与待处理任务是否一致,保证没有漏掉的数据。
3、与历史数据库建立连接,根据条件对象到历史数据库中不同的数据表中读取数据。本方案涉及两个数据库:缓存数据库和历史数据库,缓存数据库为图1中“内存缓存服务”,历史数据库为图1中“数据库”。
4、程序在数据库中读取到数据后,根据需要展示数据的不同维度,对数据进行解析,做处理。
“需要”是指当客户想重点查看某一指标,就通过分析哪类数据可以得到该指标的趋势(这个过程是人工判定),然后对“条件对象”的条件进行指定。
5、数据处理完成后,根据页面展示的格式进行json序列化,存入缓存数据库中。后续的实时性查询部分,会先到缓存数据库中查看是否已经存在所需数据,如果存在则直接调用,并更新缓存数据库该数据中的活跃度指标;如果不存在则执行后续处理。
一些实施例中,所述步骤S1中,将所述统计结果进行序列化处理,包括:根据页面展示的格式,将所述统计结果进行json序列化。
一些实施例中,所述步骤S1中,将所述结果数据存入缓存数据库,包括:将当前时间、结果数据和唯一标识,保存到缓存数据库中。
活跃度指标:是用来评估数据是否为热点数据,当某个数据被使用一次,则该数据的活跃度指标值+1;如果在一个周期内,该活跃度指标值没有增加,则认为该数据不是热点数据。系统查到的数据是一个包含多种信息的主体,活跃度是其中一种信息,数据每使用一次活跃度的值就加1。
6、在页面需要展示历史数据时,将需要查看的数据条件发送到服务端,服务端根据条件和建立好的索引等优化后的SQL,能够快速在数据库中读取,并渲染到页面中。
数据库索引是对数据库表中一个或多个列的值进行排序的结构;类似于字典索引,通过查索引快速定位到数据。SQL是代码和数据库交互的查询指令,是数据库支持的一种命令语句,通过SQL实现数据的读写操作。
二、实时性数据查询
1、页面将需要查看的数据条件发送到服务端。“数据条件”即前文所述的“条件对象”。
2、服务端在接收到条件后,首先根据固定格式生成字符串,查看缓存数据库中是否存在相同的key,如果缓存数据库中已经存在结果数据,则更新该数据的活跃度指标,并保存在缓存数据库中;然后将该数据响应给展示层(将结果数据渲染到页面)。缓存数据库中存储数据的模式为“key -- value”一一对应,拿到key就可以找到对应的value,如果key不存在则去查MySQL数据库。
根据固定格式生成字符串,是利用缓存技术实现的减少数据库查询,频繁查询数据库会导致项目卡顿,数据库压力飙升;此处的字符串是根据设定的规则将“数据条件”生成一个唯一的标识(key),根据这个标识即可在缓存数据库中进行匹配,从而获取对应的数据。
本方案涉及缓存数据库和历史数据库。缓存数据库也存在压力问题,所以要两种数据库搭配使用。缓存数据库读写数据不需要经过磁盘I/O,查询效率不受磁盘读写能力限制,同时由于它是关系型数据库,很容易关联协作存储,提取数据很方便。而历史数据库(MySQL数据库)是结构型数据库,查询会有复杂的SQL命令执行查询,受硬盘和服务器性能影响较大。
“当前数据”是指给定数据条件后,从数据库中查到的数据存放到缓存中,下次相同的数据条件就直接从缓存中获取。
“更新”是因为数据都是实时变化的,要监测从数据库查询到的数据与缓存中的是否一致,如果数据库发生了变化,要及时更新缓存中的数据,这个判断的依据就是根据数据的最后更新(修改)时间。此处更新是指MySQL数据库查到的数据与缓存数据库中数据不一致,则以MySQL数据库的数据为准,并将缓存中的数据更新,这样是为了能够让下次查询缓存数据库时获得最新的数据。
“结果数据”是先查到数据(可以是来自MySQL数据库,也可以是来自缓存数据库),经过一系列的处理和运算,交互给浏览器页面展示的数据。
一些实施例中,所述查看请求中包含数据条件。
所述步骤S4中,所述查看缓存数据库中是否存在与所述查看请求相匹配的结果数据,包括:根据预设规则将数据条件生成唯一标识;查看缓存数据库中是否存在相同的键值;如果存在,则该键值对应的数据为与所述查看请求相匹配的结果数据。
一些实施例中,所述方法还包括:如果存在,则直接获取结果数据,将该数据响应给展示层;并更新该数据的活跃度指标,保存在缓存数据库中。
3、没有数据时,会将根据格式生成的字符串,存入到队列中,等待队列消费。
一些实施例中,所述步骤S5中,将查看请求放入待处理队列,包括:将唯一标识存入待处理队列中,等待队列消费;监听待处理队列,当发现待处理队列中有任务时,消费队列中的任务;将待处理队列中的唯一标识取出;根据唯一标识将对应的数据查出。
4、在消费(消费就是执行队列里的查询任务)待处理队列中的查询任务时,根据设定好的程序将数据查出,并将当前时间、结果数据和根据固定格式生成好的字符串,缓存到缓存数据库中。具体地,在消费待处理队列中的查询任务时,通过系统多线程消费队列里的指令;该方式的好处在于将同步的查询任务改为异步执行,缩短用户的等待时长,提高用户体验。
数据的最终来源都是数据库,为了降低数据库的查询频次,中间有缓存数据库;因此,数据来源可以是:请求→数据库,也可能是:请求→缓存→数据库。
5、设置定时程序,在缓存数据库中查询最后更新时间在24小时内的数据,对这些数据进行更新;超过的数据认为没有用户在关注,即可丢弃。
一些实施例中,所述方法还包括:设置定时程序,在缓存数据库中查询最后更新时间在预设时间阈值内的数据,并对这些数据进行更新;将最后更新时间超出预设时间阈值的数据丢弃。
定时程序执行任务的时间间隔是24小时,也就是每日执行。执行的逻辑是关注过去一天的活跃数据,没有被查询命中过的数据就是不活跃数据,也就是无意义数据,将其丢弃掉,这样可以释放缓存数据库的资源空间。定时程序是对缓存数据库的管理程序,它实现的功能是末位淘汰机制,在一段时间内不活跃的数据及时丢弃,从而释放空间。
如图3所示,本申请的实施例还提供一种数据处理的装置,包括:
定时程序模块,用于根据预设的定时程序,自动执行数据统计任务,获得统计结果;
序列化模块,用于根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;并将所述结果数据存入缓存数据库;
查询模块,用于在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。
本申请采用上述技术方案,具备以下特点:
1、统一模板、统一数据格式,形成特定的趋势分布。“统一模板”是指页面展示采用统一风格的模板,实现页面美观,便于观察数据趋势。“统一数据格式”是指在服务端将不同格式的数据转化成同样的数据格式类型返回到页面,方便在开发时接口对接,提高工作效率。
2、业务间数据通用共享又保持各自独立性。
3、支持多数据源接入,同一个出口分析,以特定的格式输出。
4、数据间的横向纵向对比,用可视化组件展示。可视化组件是技术框架公司推出的开源组件,进行数据展示,有图表,趋势线,柱状图等展示方式。
本方案将各部门通用数据共享,避免同一数据多次展示,通过系统排重和特定的运算公式排除掉垃圾数据和无意义数据,保留核心价值数据。“排重”指排除掉重复的数据,重复的数据特指实现了同样功能的数据多次出现;重复的数据只需要统计一次,故需要排重;比如一个案件人有多次送达成功的邮寄任务,那只能统计一次,不能进行多次统计,否则会干扰整体的数据结果。
比如计算某个法院在2021年送达案件的案由占比,根据法院和日期的条件对象查询符合条件的数据,然后根据案由名称分组得到每个案由的具体数量。根据案由的数量由高到低排序,把所有的案由数量相加得到总数,再根据(每个案由的数量/案由总数量)得到每个案由的占比。将案由名称和占比分别放入到两个数组中,作为X轴和Y轴放回到前端页面展示。比如需要的数据是某个庭室电子送达成功的数据,那么其他庭室、其他送达方式、其他送达结果都为垃圾数据,是不能参与计算的数据。
本方案对数据分析效率有极大的提升。通过特定的模板输出为统一的格式,进行表格、柱状体和曲线图实现数据走向清晰明了,对业务的把控精准到位,提升企业的核心竞争力。
本方案能够从海量数据中提取有效数据,在数据分析过程之中自动剔除垃圾数据和无效数据,根据有效数据生成分析表和趋势图,实现数据分析工作的简单化,提高统计分析中的作效率。
本申请的方法整合了各部门的数据,并实现了在不同阶段的不同状态显示,自动去除垃圾数据和无效数据,对于达到临界值得数据及时预警,整体进行分类整理并获取趋势作图,在数据处理中使用不同的线程同时作业,达到快速处理,快速响应的效果。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据处理的方法,其特征在于,包括:
根据预设的定时程序,自动执行数据统计任务,获得统计结果;
根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;
将所述结果数据存入缓存数据库;
在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;
如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。
2.根据权利要求1所述的方法,其特征在于,所述执行数据统计任务的步骤包括:
构建需要查询的条件对象;
与历史数据库建立连接,根据条件对象到历史数据库中不同的数据表中读取数据;
根据需要展示的数据维度,对读取到的数据进行解析,获得统计结果。
3.根据权利要求2所述的方法,其特征在于,所述读取数据的步骤包括:
创建多个线程,使多个数据读取任务同时进行;
在执行任务前确定:待处理任务的总数、每个待处理任务的识别标志;
依次将不同待处理任务的识别标志分配到各个线程;
每个线程根据分配的识别标志执行数据读取任务;
每个线程处理完一个数据读取任务,会将公共已处理数据+1;
当公共已处理数据等于待处理任务的总数时,所有数据均处理完成。
4.根据权利要求1所述的方法,其特征在于,将所述统计结果进行序列化处理,包括:
根据页面展示的格式,将所述统计结果进行json序列化。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述查看请求中包含数据条件;
所述查看缓存数据库中是否存在与所述查看请求相匹配的结果数据,包括:
根据预设规则将数据条件生成唯一标识;
查看缓存数据库中是否存在相同的键值;
如果存在,则该键值对应的数据为与所述查看请求相匹配的结果数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果存在,则直接获取结果数据,将该数据响应给展示层;并更新该数据的活跃度指标,保存在缓存数据库中。
7.根据权利要求5所述的方法,其特征在于,所述将查看请求放入待处理队列,包括:
将唯一标识存入待处理队列中,等待队列消费;
监听待处理队列,当发现待处理队列中有任务时,消费队列中的任务;
将待处理队列中的唯一标识取出;
根据唯一标识将对应的数据查出。
8.根据权利要求5所述的方法,其特征在于,所述将所述结果数据存入缓存数据库,包括:
将当前时间、结果数据和唯一标识,保存到缓存数据库中。
9.根据权利要求5所述的方法,其特征在于,还包括:
设置定时程序,在缓存数据库中查询最后更新时间在预设时间阈值内的数据,并对这些数据进行更新;
将最后更新时间超出预设时间阈值的数据丢弃。
10.一种数据处理的装置,其特征在于,包括:
定时程序模块,用于根据预设的定时程序,自动执行数据统计任务,获得统计结果;
序列化模块,用于根据预设的页面模板,将所述统计结果进行序列化处理,获得结果数据;并将所述结果数据存入缓存数据库;
查询模块,用于在接收到查看请求时,先查询缓存数据库中是否存在与所述查看请求相匹配的结果数据;如果存在,则将对应的结果数据响应到请求端;如果不存在,则将查看请求放入待处理队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284918.8A CN114385663B (zh) | 2022-03-23 | 2022-03-23 | 数据处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284918.8A CN114385663B (zh) | 2022-03-23 | 2022-03-23 | 数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385663A true CN114385663A (zh) | 2022-04-22 |
CN114385663B CN114385663B (zh) | 2022-06-28 |
Family
ID=81204853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210284918.8A Active CN114385663B (zh) | 2022-03-23 | 2022-03-23 | 数据处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385663B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203159A (zh) * | 2022-07-25 | 2022-10-18 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN116166682A (zh) * | 2023-04-26 | 2023-05-26 | 国家工业信息安全发展研究中心 | 数据更新的方法及服务端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090216709A1 (en) * | 2008-02-27 | 2009-08-27 | International Business Machines Corporation | Optimized collection of just-in-time statistics for database query optimization |
CN104331492A (zh) * | 2014-11-14 | 2015-02-04 | 北京国双科技有限公司 | 一种缓存多实例数据的方法及装置 |
CN104361022A (zh) * | 2014-10-22 | 2015-02-18 | 浪潮软件集团有限公司 | 一种基于采集数据统计以及前台展现的方法 |
WO2017045438A1 (zh) * | 2015-09-17 | 2017-03-23 | 中兴通讯股份有限公司 | 一种移动网络决策cdn中缓存内容的方法、装置及系统 |
CN107247777A (zh) * | 2017-06-09 | 2017-10-13 | 上海斐讯数据通信技术有限公司 | 一种基于数据库逆向统计的报表展示方法及系统 |
CN108345646A (zh) * | 2018-01-16 | 2018-07-31 | 广东电网有限责任公司信息中心 | 一种运用拦截技术快速自动构建多维度报表的方法 |
CN108460041A (zh) * | 2017-02-20 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 数据的处理方法和装置 |
CN111858710A (zh) * | 2020-07-20 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种通过预处理和缓存方式提高统计效率的方法 |
-
2022
- 2022-03-23 CN CN202210284918.8A patent/CN114385663B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090216709A1 (en) * | 2008-02-27 | 2009-08-27 | International Business Machines Corporation | Optimized collection of just-in-time statistics for database query optimization |
CN104361022A (zh) * | 2014-10-22 | 2015-02-18 | 浪潮软件集团有限公司 | 一种基于采集数据统计以及前台展现的方法 |
CN104331492A (zh) * | 2014-11-14 | 2015-02-04 | 北京国双科技有限公司 | 一种缓存多实例数据的方法及装置 |
WO2017045438A1 (zh) * | 2015-09-17 | 2017-03-23 | 中兴通讯股份有限公司 | 一种移动网络决策cdn中缓存内容的方法、装置及系统 |
CN108460041A (zh) * | 2017-02-20 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 数据的处理方法和装置 |
CN107247777A (zh) * | 2017-06-09 | 2017-10-13 | 上海斐讯数据通信技术有限公司 | 一种基于数据库逆向统计的报表展示方法及系统 |
CN108345646A (zh) * | 2018-01-16 | 2018-07-31 | 广东电网有限责任公司信息中心 | 一种运用拦截技术快速自动构建多维度报表的方法 |
CN111858710A (zh) * | 2020-07-20 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种通过预处理和缓存方式提高统计效率的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203159A (zh) * | 2022-07-25 | 2022-10-18 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN115203159B (zh) * | 2022-07-25 | 2024-06-04 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN116166682A (zh) * | 2023-04-26 | 2023-05-26 | 国家工业信息安全发展研究中心 | 数据更新的方法及服务端 |
Also Published As
Publication number | Publication date |
---|---|
CN114385663B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210011891A1 (en) | System for importing data into a data repository | |
US11360950B2 (en) | System for analysing data relationships to support data query execution | |
US11409764B2 (en) | System for data management in a large scale data repository | |
CN109101652B (zh) | 一种标签创建和管理系统 | |
CN114385663B (zh) | 数据处理的方法和装置 | |
AU2016359060B9 (en) | Storing and retrieving data of a data cube | |
CN110292775B (zh) | 获取差异数据的方法及装置 | |
US7836037B2 (en) | Selection of rows and values from indexes with updates | |
US20100161677A1 (en) | Simple aggregate mode for transactional data | |
WO2014065917A1 (en) | Profiling data with source tracking | |
CN105808653B (zh) | 一种基于用户标签系统的数据处理方法及装置 | |
CA2804441C (en) | Database performance analysis | |
US11461333B2 (en) | Vertical union of feature-based datasets | |
CN111666344B (zh) | 异构数据同步方法及装置 | |
CN116450890A (zh) | 图数据处理方法、装置、系统、电子设备及存储介质 | |
US20070150489A1 (en) | Method of representing continuum of data as a rolling column within a relational model | |
US8112458B1 (en) | User segmentation user interface | |
CN111125045B (zh) | 一种轻量级etl处理平台 | |
CN104317820B (zh) | 报表的统计方法和装置 | |
CN114860819A (zh) | 商业智能系统的构建方法、装置、设备和存储介质 | |
US11016978B2 (en) | Joiner for distributed databases | |
CN111949743A (zh) | 网点运营数据获取方法、装置及设备 | |
CN112905558A (zh) | 一种基于数据库配置的报表系统实现方法及系统 | |
CN112579706A (zh) | 一种数据仓库模型及其应用 | |
Khatiwada | Architectural issues in real-time business intelligence |
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 |