基于队列的数据统计方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29228775 阅读:17 留言:0更新日期:2021-07-10 01:16
本申请涉及数据处理技术领域,揭露一种基于队列的数据统计方法、装置、计算机设备及存储介质,其中方法包括将获取的待统计订单数据封装成Java对象,并将Java对象放入队列的队尾中,若监测到队列中存在元素的订单状态发生改变,则将改变订单状态后的元素重新放入队列的队尾中,根据预设出队时间,从队列头依次取出元素,得到出队元素;在预设时间间隔内,识别出每个出队元素的存储信息,并根据存储信息进行数据统计,得到订单状态的数据统计结果;当达到预设时间间隔时,获取目标统计结果。本申请还涉及区块链技术,待统计订单数据存储于区块链中。本申请通过对每个订单状态下的订单信息进行数据统计,有利于提高数据统计的准确率。有利于提高数据统计的准确率。有利于提高数据统计的准确率。

【技术实现步骤摘要】
基于队列的数据统计方法、装置、计算机设备及存储介质


[0001]本申请涉及数据处理
,尤其涉及一种基于队列的数据统计方法、装置、计算机设备及存储介质。

技术介绍

[0002]数据统计是很多系统的核心业务,然而数据统计又是一种非常耗费CPU资源的操作,现有的数据统计方式都是采用定时跑批的方式来统计数据,并将统计好的数据归档存储,查询时直接查询归档表即可。
[0003]然而这种数据统计方式由于是通过定时跑批的方式来统计数据,并没有考虑到数据的状态发生变化,从而容易导致对同一个数据重复进行统计,进而导致数据统计的准确率较低。现亟需一种能够提高数据统计的准确率的方法。

技术实现思路

[0004]本申请实施例的目的在于提出一种基于队列的数据统计方法、装置、计算机设备及存储介质,以提高数据统计的准确率。
[0005]为了解决上述技术问题,本申请实施例提供一种基于队列的数据统计方法,包括:
[0006]获取待统计订单数据;
[0007]将所述待统计订单数据封装成Java对象,并依次将所述Java对象放入队列的队尾中,记录每个所述Java对象的入队时间;
[0008]若监测到所述队列中存在元素的订单当前状态发生改变,则将改变订单当前状态后的元素重新放入所述队列的队尾中,其中,一个所述Java对象对应一个所述元素,一个所述元素对应一个所述待统计订单数据;
[0009]根据预设出队时间,从队列头依次取出所述元素,得到出队元素;
[0010]在预设时间间隔内,读取出每个所述出队元素的存储信息,若订单上次状态以及统计时间为空,则将订单当前状态对应的数据统计结果加1,其中,所述存储信息包括订单状态和统计时间,所述订单状态包括订单当前状态和订单上次状态;
[0011]若所述订单上次状态和所述统计时间不为空,则根据所述订单上次状态和所述统计时间,定位到所述订单上次状态对应数据统计结果,并将所述数据统计结果减1,并将所述订单状态对应的数据统计结果加1
[0012]当达到所述预设时间间隔时,获取当前每个所述订单状态对应的数据统计结果,并将每个所述订单状态对应的数据统计结果作为目标统计结果。
[0013]为了解决上述技术问题,本申请实施例提供一种基于队列的数据统计装置,包括:
[0014]订单数据获取模块,用于获取待统计订单数据;
[0015]订单数据入队模块,用于将所述待统计订单数据封装成Java对象,并依次将所述Java对象放入队列的队尾中,记录每个所述Java对象的入队时间;
[0016]订单状态改变模块,用于若监测到所述队列中存在元素的订单当前状态发生改
变,则将改变订单当前状态后的元素重新放入所述队列的队尾中,其中,一个所述Java对象对应一个所述元素,一个所述元素对应一个所述待统计订单数据;
[0017]出队元素获取模块,用于根据预设出队时间,从队列头依次取出所述元素,得到出队元素;
[0018]第一数据统计模块,用于在预设时间间隔内,读取出每个所述出队元素的存储信息,若订单上次状态以及统计时间为空,则将订单当前状态对应的数据统计结果加1,其中,所述存储信息包括订单状态和统计时间,所述订单状态包括订单当前状态和订单上次状态;
[0019]第二数据统计模块,用于若所述订单上次状态和所述统计时间不为空,则根据所述订单上次状态和所述统计时间,定位到所述订单上次状态对应数据统计结果,并将所述数据统计结果减1,并将所述订单状态对应的数据统计结果加1;
[0020]目标统计结果模块,用于当达到所述预设时间间隔时,获取当前每个所述订单状态对应的数据统计结果,并将每个所述订单状态对应的数据统计结果作为目标统计结果。
[0021]为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于队列的数据统计方法。
[0022]为解决上述技术问题,本专利技术采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于队列的数据统计方法。
[0023]本专利技术实施例提供了一种基于队列的数据统计方法、装置、计算机设备及存储介质。本专利技术实施例通过将待统计订单数据封装成Java对象放入队列之中,并监控每个订单数据的订单状态,当其订单状态发生改变时,改变状态的订单重新生成并入队,并且在队列头依次将元素出队,同时根据出队元素的存储信息,对每个订单状态下的订单信息进行数据统计,避免对同一订单数据进行重复统计,而且由于订单数据的订单状态发生改变时会重新入队,避免数据统计遗漏,从而有利于提高数据统计的准确率。
附图说明
[0024]为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本申请实施例提供的基于队列的数据统计方法的应用环境示意图;
[0026]图2根据本申请实施例提供的基于队列的数据统计方法的一实现流程图;
[0027]图3是本申请实施例提供的基于队列的数据统计方法中子流程的一实现流程图;
[0028]图4是本申请实施例提供的基于队列的数据统计方法中子流程的又一实现流程图;
[0029]图5是本申请实施例提供的基于队列的数据统计方法中子流程的又一实现流程图;
[0030]图6是本申请实施例提供的基于队列的数据统计方法中子流程的又一实现流程图;
[0031]图7是本申请实施例提供的基于队列的数据统计方法中子流程的又一实现流程图;
[0032]图8是本申请实施例提供的基于队列的数据统计装置示意图;
[0033]图9是本申请实施例提供的计算机设备的示意图。
具体实施方式
[0034]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0035]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0036]为了使本
的人员更好地理解本申请方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于队列的数据统计方法,其特征在于,包括:获取待统计订单数据;将所述待统计订单数据封装成Java对象,并依次将所述Java对象放入队列的队尾中,记录每个所述Java对象的入队时间;若监测到所述队列中存在元素的订单当前状态发生改变,则将改变订单当前状态后的元素重新放入所述队列的队尾中,其中,一个所述Java对象对应一个所述元素,一个所述元素对应一个所述待统计订单数据;根据预设出队时间,从队列头依次取出所述元素,得到出队元素;在预设时间间隔内,读取出每个所述出队元素的存储信息,若订单上次状态以及统计时间为空,则将订单当前状态对应的数据统计结果加1,其中,所述存储信息包括订单状态和所述统计时间,所述订单状态包括所述订单当前状态和所述订单上次状态;若所述订单上次状态和所述统计时间不为空,则根据所述订单上次状态和所述统计时间,定位到所述订单上次状态对应数据统计结果,并将所述数据统计结果减1,并将所述订单状态对应的数据统计结果加1;当达到所述预设时间间隔时,获取当前每个所述订单状态对应的数据统计结果,并将每个所述订单状态对应的数据统计结果作为目标统计结果。2.根据权利要求1所述的基于队列的数据统计方法,其特征在于,所述将所述待统计订单数据封装成Java对象,并依次将所述Java对象放入队列的队尾中,记录每个所述Java对象的入队时间,包括:将所述待统计订单数据封装成对应的Java对象;判断所述队列是否已满,得到第一判断结果;若所述第一判断结果为所述队列未满,则通过访问易变型变量,将所述Java对象依次放入所述队列的队尾中。3.根据权利要求1所述的基于队列的数据统计方法,其特征在于,所述若监测到所述队列中存在元素的订单当前状态发生改变,则将改变订单当前状态后的元素重新放入所述队列的队尾中,包括:若监测到所述队列中存在所述元素的订单当前状态发生改变,则将所述订单当前状态发生改变的元素作为基础元素;读取出所述基础元素的订单当前状态发生改变之前的状态,作为基础状态,并根据所述基础状态,将所述基础元素对应的订单上次状态进行更新;将所述基础元素重新放入所述队列的队尾之中,并记录所述基础元素的入队时间。4.根据权利要求1所述的基于队列的数据统计方法,其特征在于,在所述若监测到所述队列中存在元素的订单当前状态发生改变,则将改变订单当前状态后的元素重新放入所述队列的队尾中之后,所述方法还包括:当监测到有新的待统计订单数据产生,则将所述新的待统计订单数据封装成新的Java对象;将所述新的Java对象放入所述队列的队尾中,并记录所述新的Java对象的入队时间。5.根据权利要求1所述的基于队列的数据统计方法,其特征在于,所述根据预设出队时间,从队列头依次取出所述元素,得到出队元素,包括:
判断所述队列是否为空,得到第二判断结果;若所述第二判断结果为所述队列不为空,则统计...

【专利技术属性】
技术研发人员:周文星
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1