一种数据统计方法、系统及终端设备与流程

文档序号:16789813发布日期:2019-02-01 19:34阅读:198来源:国知局
一种数据统计方法、系统及终端设备与流程

本发明属于数据统计技术领域,尤其涉及一种数据统计方法、系统及终端设备。



背景技术:

pos(pointofsale,销售终端)设备具有支持消费、预授权、余额查询和转帐等功能,使用起来安全、快捷、可靠,是日常支付中经常用到一种支付设备。在pos设备的应用场景中(使用broadpos支付应用),每天需要进行一次批结算,批结算需要统计当天的所有交易数据得到当天交易总笔数、交易总金额、小费总金额等数据项,并将其打印到小票上。

目前,每笔交易数据会存储到indexdb数据库。批结算时,具体过程包括:

1.读取indexdb数据库中所有的交易数据。

2.遍历交易数据,统计交易总笔数、交易总金额、小费总金额等数据项。

3.打印统计结果。

测试发现,在indexdb数据库存储的交易数据为1000笔时,读取indexdb数据库的交易数据,耗时约4秒,遍历1000笔交易数据并逐笔进行计算,耗时约2秒,相当于用户需要等待约6秒才开始打印。如果交易数据超过1000笔,时间会更久,严重影响用户体验。

综上,现有技术中存在批结算时需遍历数据库中的交易数据,从而导致耗时过长的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种数据统计方法、系统及终端设备,以解决现有技术中在批结算时需遍历数据库中的交易数据,从而导致耗时过长的问题。

本发明实施例的第一方面提供了一种数据统计方法,包括:

创建并初始化统计数据,设定所述统计数据的初始值,将所述统计数据存储在预设存储区域。

在每一次对交易数据进行操作时,根据交易操作类型对所述交易数据进行统计,并执行对所述统计数据的更新。

在批结算时,从所述预设存储区域读取所述统计数据。

本发明实施例的第二方面提供了一种数据统计系统,包括:

统计数据创建模块,用于创建并初始化统计数据,设定所述统计数据的初始值,将所述统计数据存储在预设存储区域。

统计数据更新模块,用于在每一次对交易数据进行操作时,根据交易操作类型对所述交易数据进行统计,并执行对所述统计数据的更新。

统计数据读取模块,用于在批结算时,从所述预设存储区域读取所述统计数据。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据统计方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述数据统计方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:通过在每一次交易时,根据交易操作类型对交易数据进行统计,并按照统计计算后得到的数据对统计数据进行更新,以保证统计数据能够实时表征当前收支情况的核算总数,从而在需要进行批结算时,直接读取统计数据即可,不需要再重新遍历一遍所有的交易数据,解决了遍历交易数据引起的耗时问题,减少了数据读取和处理的时间。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一个实施例提供的一种支付应用系统架构的结构示意图;

图2是本发明的一个实施例提供的一种数据统计方法的实现流程示意图;

图3是本发明的一个实施例提供的数据处理过程的流程示意图;

图4是本发明的一个实施例提供的图2中步骤s102的实现流程示意图;

图5是本发明的一个实施例提供的一种数据统计系统的结构示意图;

图6是本发明的一个实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明的说明书和权利要求书及上述附图中的术语“包括”以及其他任何变形,是指“包括但不限于”,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。

本申请基于一种支付应用系统架构实现,如图1所示,该支付应用系统架构包括支付应用层、中间层和类库。

支付应用层,包括应用程序(例如broadpos支付应用),主要用于实现添加消费、撤销交易、修改交易数据、删除交易、小票打印等业务流程。broadpos支付应用为一种基于vue开发的银行卡支付应用。vue为web(worldwideweb,万维网)应用开发框架。

中间层,类似于软件操作层,分别与支付应用层和类库进行信息交互,用于执行本申请中所述的一种数据统计方法的步骤,包括:将支付应用层产生的每笔交易数据,插入交易数据库,对交易数据进行统计并更新统计数据。

类库,为安卓操作系统提供的web应用类库,用于提供对硬件设备的操作接口,例如indexdb数据库操作接口和localstorag本地存储操作接口。

用户在支付应用层上进行交易操作时,支付应用层生成每笔交易的交易操作类型和交易数据,中间层通过支付应用层获取交易操作类型和交易数据并进行统计,中间层通过类库将交易数据存入交易数据库以及将统计数据存入本地的预设存储区域。示例性的,中间层通过indexdb数据库操作接口将交易数据存入交易数据库,通过localstorag本地存储操作接口将统计数据存入本地的预设存储区域。

以一个具体应用场景为例,在使用pos设备的场景中,broadpos支付应用运行于支付设备(pos设备),可以用于超市、餐饮等收银的场景。收银员启动broadpos支付应用,当客户购物消费时,收银员操作broadpos支付应用做添加消费操作。当客户退货时,收银员操作broadpos支付应用做撤销交易操作。当金额输入错误或者客户部分退货时,收银员操作broadpos支付应用做修改交易数据操作。当重复交易需要删除重复的交易时,收银员操作broadpos支付应用做删除交易操作。每天结束时,收银员做批结算,统计当天的交易总笔数、交易总金额和小费总金额等统计数据,并打印统计数据。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例1:

图2示出了本发明一实施例所提供的一种数据统计方法的实现流程图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

如图2所示,本发明实施例所提供的一种数据统计方法,包括:

步骤s101,创建并初始化统计数据,设定所述统计数据的初始值,将所述统计数据存储在预设存储区域。

本实施例中,统计数据为对交易数据进行统计计算后得到的数据,包括:交易总笔数、交易总金额和小费总金额等。示例性的,设定统计数据的初始值为零。

步骤s102,在每一次对交易数据进行操作时,根据交易操作类型对所述交易数据进行统计,并执行对所述统计数据的更新。

本实施例中,对交易数据进行操作的交易操作类型一般包括:添加消费、撤销交易、修改交易数据和删除交易等。根据不同的交易操作类型对交易数据进行统计计算,并将所述统计数据更新为统计计算后得到的数据。

步骤s103,在批结算时,从所述预设存储区域读取所述统计数据。

批结算是指对某一时期内的所有收支情况进行总结、核算。在使用pos设备的应用场景中,批结算时,pos设备需将当批次交易流水的借记总金额、借记总笔数、贷记总金额和贷记总笔数上送pos中心,并与pos中心对账。

在一个实施例中,在步骤s103之后,读取统计数据后,打印所述统计数据。

本实施例中,通过在每一次交易时,根据交易操作类型对交易数据进行统计,并按照统计计算后得到的数据对统计数据进行更新,以保证统计数据能够实时表征当前收支情况的核算总数,从而在需要进行批结算时,直接读取统计数据即可,不需要再重新遍历一遍所有的交易数据,解决了遍历交易数据引起的耗时问题,减少了数据读取和处理的时间。

在本发明的一个实施例中,所述数据统计方法还包括:

步骤a,创建并初始化交易数据库,设定所述交易数据库的初始状态。

在一个实施例中,步骤a中设定交易数据库的初始状态包括:设定数据库的基本参数,例如数据格式、存储容量等,并清空数据库。

步骤b,在每一次对交易数据进行操作时,对所述交易数据库进行相应的更新。

在一个实施例中,步骤b中交易数据库进行更新包括:当所述交易操作类型为添加消费时,将新增的交易数据存入交易数据库;当所述交易操作类型为撤销交易时,从交易数据库中删除对应的交易数据;当所述交易操作类型为修改交易数据时,将交易数据库中对应的交易数据做相应修改;当所述交易操作类型为删除交易时,从交易数据库中删除对应的交易数据。

步骤c,在所述交易数据库更新成功后,执行对所述统计数据的更新。

在一个实施例中,步骤c包括:判断交易数据库是否更新成功,若更新成功则执行步骤s102中对统计数据进行更新的步骤,若更新不成功则不执行步骤s102中对统计数据进行更新的步骤。

本实施例中,创建了用于存储交易数据的交易数据库,在每一次对交易数据进行操作时,会产生新的交易数据,根据新的交易数据对交易数据库进行相应的更新,交易数据库中既存储有历史的交易数据,又不断加入新的交易数据,实现了交易数据库的不断更新。

在本发明的一个实施例中,所述数据统计方法还包括:

步骤d,在批结算完成之后,将所述统计数据重置为所述初始值,将所述交易数据库重置为所述初始状态。

本实施例中,当收银员执行批结算时,终端设备执行的步骤包括:读取统计数据,打印统计数据,重置统计数据为初始值,重置交易数据库为初始状态。

为了便于理解,下面以一个具体应用场景为例对以上实施例进行说明。

如图3所示,对交易数据库和统计数据的处理过程包括:

首先判断indexdb数据库中是否存在交易数据库。若不存在,则创建并初始化交易数据库,并设定交易数据库的初始状态。若存在,则清空当前的交易数据库,以将其恢复为初始状态。

然后,判断预设存储区域中是否存在统计数据。若不存在,则创建并初始化统计数据,设定统计数据的初始值。若存在,则重置统计数据为初始值。

如图4所示,在本发明的一个实施例中,图2所对应的实施例中的步骤s102包括:

步骤s201,当所述交易操作类型为添加消费时,将所述统计数据在当前基础上增加交易数据。

在一个实施例中,步骤s201包括:当所述交易操作类型为添加消费时,将新增的交易数据存入交易数据库,并判断是否存入成功。若存入成功,则将统计数据在当前基础上增加交易数据。若存入失败,则不更新统计数据。

步骤s202,当所述交易操作类型为撤销交易时,将所述统计数据在当前基础上减去交易数据。

在一个实施例中,步骤s202包括:当所述交易操作类型为撤销交易时,从交易数据库中删除对应的交易数据,并判断是否删除成功。若删除成功,则将所述统计数据在当前基础上减去交易数据。若删除失败,则不更新统计数据。

步骤s203,当所述交易操作类型为修改交易数据时,读取原交易数据和新交易数据,并计算所述新交易数据减所述原交易数据的差值,将所述统计数据在当前基础上增加所述差值。

在一个实施例中,步骤s203包括:当所述交易操作类型为修改交易数据时,将交易数据库中对应的交易数据做相应修改,并判断是否修改成功。若修改成功,则将所述统计数据在当前基础上增加所述差值。若修改失败,则不更新统计数据。

步骤s204,当所述交易操作类型为删除交易时,将所述统计数据在当前基础上减去交易数据。

在一个实施例中,步骤s204包括:当所述交易操作类型为删除交易时,从交易数据库中删除对应的交易数据,并判断是否删除成功。若删除成功,则将所述统计数据在当前基础上减去交易数据。若删除失败,则不更新统计数据。

在本发明的一个实施例中,所述统计数据包括交易总笔数、交易总金额和小费总金额。

初始状态时,交易数据库中没有交易数据。统计数据中的交易总笔数、交易总金额和小费总金额这三个数据字段的值均为零。

在本发明的一个实施例中,图2所对应的实施例中的步骤s102包括:

1)当有一笔交易的交易操作类型为添加消费时,将所述交易总笔数加1,将所述交易总金额加上本次的消费交易金额,将所述小费总金额加上本次的消费交易小费。

2)当有一笔交易的交易操作类型为撤销交易时,将所述交易总笔数加1,将所述交易总金额减去本次的撤销交易金额,将所述小费总金额减去本次的撤销交易小费。

3)当有一笔交易的交易操作类型为修改交易数据时,所述交易总笔数不变,将所述交易总金额加上交易金额差值,将所述小费总金额加上小费金额差值,其中,交易金额差值=新交易金额-原交易金额,小费金额差值=新交易小费金额-原交易小费金额。

4)当有一笔交易的交易操作类型为删除交易时,将所述交易总笔数加1,将所述交易总金额减去本次的删除交易金额,将所述小费总金额减去本次的删除交易小费。

为了便于理解,以一个具体应用场景为例对本实施例进行说明。

当有一笔交易的交易操作类型为添加消费时,将新增的交易数据存入交易数据库,并判断是否存入成功。若存入成功,则将所述交易总笔数加1,将所述交易总金额加上本次的消费交易金额,将所述小费总金额加上本次的消费交易小费。若存入失败,则不更新统计数据。

当有一笔交易的交易操作类型为撤销交易时,从交易数据库中删除对应的交易数据,并判断是否删除成功。若删除成功,则将所述交易总笔数加1,将所述交易总金额减去本次的撤销交易金额,将所述小费总金额减去本次的撤销交易小费。。若删除失败,则不更新统计数据。

当有一笔交易的交易操作类型为修改交易数据时,将交易数据库中对应的交易数据做相应修改,并判断是否修改成功。若修改成功,则所述交易总笔数不变,将所述交易总金额加上交易金额差值,将所述小费总金额加上小费金额差值,其中,交易金额差值=新交易金额-原交易金额,小费金额差值=新交易小费金额-原交易小费金额。若修改失败,则不更新统计数据。

当有一笔交易的交易操作类型为删除交易时,从交易数据库中删除对应的交易数据,并判断是否删除成功。若删除成功,则将所述交易总笔数加1,将所述交易总金额减去本次的删除交易金额,将所述小费总金额减去本次的删除交易小费。若删除失败,则不更新统计数据。

在一个实施例中,对交易数据库进行查询操作时,不更改所述统计数据。

本发明实施例中,通过在每一笔的交易数据更新到交易数据库时,对每笔交易进行统计,统计数据随时更新。实现了把现有的统计海量交易数据的密集运算,分散到每笔交易数据进入交易数据库时的增、删、改操作中,省去了数据统计的密集运算环节,能够直接得到统计数据。

本方案将统计数据单独存储到预设存储区域,在每笔交易增,删,改时,进行该交易数据的统计,并更新统计数据。这样当执行批结算时,仅需要从预设存储区域中读取统计数据并打印,不需要读取交易数据库,也不需要遍历交易数据。可以解决读取交易数据库、遍历交易数据时引起的耗时问题。减少了在批结算时,由于数据读取、统计造成的延时。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例2:

如图5所示,本发明的一个实施例提供的数据统计系统100,用于执行图2所对应的实施例中的方法步骤,其包括:

统计数据创建模块110,用于创建并初始化统计数据,设定所述统计数据的初始值,将所述统计数据存储在预设存储区域。

统计数据更新模块120,用于在每一次对交易数据进行操作时,根据交易操作类型对所述交易数据进行统计,并执行对所述统计数据的更新。

统计数据读取模块130,用于在批结算时,从所述预设存储区域读取所述统计数据。

在本发明的一个实施例中,所述数据统计系统100还包括:

数据库创建模块,用于创建并初始化交易数据库,设定所述交易数据库的初始状态。

数据库更新模块,用于在每一次对交易数据进行操作时,对所述交易数据库进行相应的更新。

更新状态判断模块,用于在所述交易数据库更新成功后,执行对所述统计数据的更新。

在本发明的一个实施例中,所述数据统计系统100还包括:

重置模块,用于在批结算完成之后,将所述统计数据重置为所述初始值,将所述交易数据库重置为所述初始状态。

在本发明的一个实施例中,统计数据更新模块120包括:

第一操作单元,用于当所述交易操作类型为添加消费时,将所述统计数据在当前基础上增加所述交易数据。

第二操作单元,用于当所述交易操作类型为撤销交易时,将所述统计数据在当前基础上减去所述交易数据。

第三操作单元,用于当所述交易操作类型为修改交易数据时,读取原交易数据和新交易数据,并计算所述新交易数据减所述原交易数据的差值,将所述统计数据在当前基础上增加所述差值。

第四操作单元,用于当所述交易操作类型为删除交易时,将所述统计数据在当前基础上减去所述交易数据。

在本发明的一个实施例中,第一操作单元,还用于当有一笔交易的交易操作类型为添加消费时,将所述交易总笔数加1,将所述交易总金额加上本次的消费交易金额,将所述小费总金额加上本次的消费交易小费。

第二操作单元,还用于当有一笔交易的交易操作类型为撤销交易时,将所述交易总笔数加1,将所述交易总金额减去本次的撤销交易金额,将所述小费总金额减去本次的撤销交易小费。

第三操作单元,还用于当有一笔交易的交易操作类型为修改交易数据时,所述交易总笔数不变,将所述交易总金额加上交易金额差值,将所述小费总金额加上小费金额差值,其中,交易金额差值=新交易金额-原交易金额,小费金额差值=新交易小费金额-原交易小费金额。

第四操作单元,还用于当有一笔交易的交易操作类型为删除交易时,将所述交易总笔数加1,将所述交易总金额减去本次的删除交易金额,将所述小费总金额减去本次的删除交易小费。

在一个实施例中,数据统计系统100还包括其他功能模块/单元,用于实现实施例1中各实施例的方法步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即所述数据统计系统100的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述数据统计系统100中模块的具体工作过程,可以参考实施例1中的对应过程,在此不再赘述。

实施例3:

图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现如实施例1中所述的各实施例中的步骤,例如图2所示的步骤s101至s103。或者,所述处理器60执行所述计算机程序62时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图5所示模块110至130的功能。

所述终端设备6是指具有数据处理能力的终端,包括但不限于pos设备、计算机、工作站、服务器,甚至是一些性能优异的智能手机、掌上电脑、平板电脑、个人数字助理(pda)、智能电视(smarttv)等。终端设备上一般都安装有操作系统,包括但不限于:windows操作系统、linux操作系统、安卓(android)操作系统、symbian操作系统、windowsmobile操作系统、以及ios操作系统等等。以上详细罗列了终端设备6的具体实例,本领域技术人员可以意识到,终端设备并不限于上述罗列实例。

所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备6还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备6所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

实施例4:

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如实施例1中所述的各实施例中的步骤,例如图2所示的步骤s101至步骤s103。或者,所述计算机程序被处理器执行时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图5所示的模块110至130的功能。

所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

在上述实施例中,对各个实施例的描述都各有侧重,实施例1至4可以任意组合,组合后形成的新的实施例也在本申请的保护范围之内。某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1