CN110706051B - 一种订单数据聚合方法、装置及服务器 - Google Patents
一种订单数据聚合方法、装置及服务器 Download PDFInfo
- Publication number
- CN110706051B CN110706051B CN201910596311.1A CN201910596311A CN110706051B CN 110706051 B CN110706051 B CN 110706051B CN 201910596311 A CN201910596311 A CN 201910596311A CN 110706051 B CN110706051 B CN 110706051B
- Authority
- CN
- China
- Prior art keywords
- order data
- queue
- merchant
- order
- thread
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000002776 aggregation Effects 0.000 title claims abstract description 55
- 238000004220 aggregation Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000004931 aggregating effect Effects 0.000 claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 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/0633—Lists, e.g. purchase orders, compilation or 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,公开了一种订单数据聚合方法、装置及服务器。所述订单数据聚合方法包括获取订单数据,所述订单数据包括商户号;使用哈希算法处理所述商户号,得到队列索引号及线程索引号;使用分类器将所述订单数据定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理;将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,由所述聚合器将出栈的所述订单数据作聚合处理。本发明实施例避免数据二次汇总和重复查询,从而提升了数据处理的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种订单数据聚合方法、装置及服务器。
背景技术
随着互联网技术的发展,人们越来越多使用网上商城进行购物,在网页中浏览商品和服务,选中目标商品和/或目标服务,并提交订单,生成对应的订单数据,将该订单数据发送至的服务器。
目前,服务器采用多线程并发汇总订单数据,但由于多线程并发无序分发的特性,导致同一个商户的订单数据可能会被分发到不同的线程中进行处理,使得服务器需要根据商户信息对多线程并发汇总订单数据进行二次汇总,增加了大量的重复查询,从而降低了数据处理的效率。
发明内容
本发明实施例旨在提供一种订单数据聚合方法、装置及服务器,其能够避免数据二次汇总和重复查询,从而提升了数据处理的效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种订单数据聚合方法,包括:
获取订单数据,所述订单数据包括商户号;
使用哈希算法处理所述商户号,得到队列索引号及线程索引号;
使用分类器将所述订单数据定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理;
将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,由所述聚合器将出栈的所述订单数据作聚合处理。
在一些实施例中,所述方法还包括:
使用前置器前置处理由所述聚合器出栈的订单数据。
在一些实施例中,所述方法还包括:
使用输出器汇总由所述前置器出栈的订单数据。
在一些实施例中,在由所述聚合器将出栈的订单数据作聚合处理之后,所述方法还包括:
获取属于所述商户号的商户关联信息;
将所述商户关联信息封装在由所述聚合器出栈的订单数据中。
在一些实施例中,所述商户关联信息包括商户的费率信息、商户信息、渠道信息。
在一些实施例中,所述订单数据包括对平订单数据,所述获取订单数据,包括:
判断所述订单数据是否属于对平订单数据;
若是,根据预设线程数量,获取所述对平订单数据。
在一些实施例中,所述方法还包括:
对所述订单数据作对账处理,得到对平订单数据。
在一些实施例中,所述对所述订单数据作对账处理,得到对平订单数据,包括:
获取基准订单数据;
判断所述订单数据是否与所述基准订单数据一致;
若是,将所述订单数据作为对平订单数据。
第二方面,本发明实施例提供一种订单数据聚合装置,包括:
第一获取模块,用于获取订单数据,所述订单数据包括商户号;
算法处理模块,用于使用哈希算法处理所述商户号,得到队列索引号及线程索引号;
归队模块,用于使用分类器将所述订单数据定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理;
聚合模块,用于将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,由所述聚合器将出栈的订单数据作聚合处理。
第三方面,本发明实施例提供一种服务器,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的订单数据聚合方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使服务器能够执行如上所述的订单数据聚合方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种订单数据聚合方法、装置及服务器。通过哈希算法处理商户号,得到队列索引号及线程索引号,使用分类器将订单数据定向分流至在队列索引号下的队列,由队列将属于商户号的订单数据作归队处理,将队列出栈的订单数据聚合在所述线程索引号下的聚合器,由聚合器将出栈的订单数据作聚合处理,因此,本发明实施例能够根据商户号对订单数据进行分流,由对应的线程作聚合处理,从而避免了数据二次汇总和重复查询,进而提升了数据处理的效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种订单数据聚合系统的结构示意图;
图2是本发明实施例提供的一种订单数据聚合方法的方法流程图;
图3是图2步骤S10的一种方法流程图;
图4是本发明另一实施例提供的一种订单数据聚合方法的方法流程图;
图5是图4步骤S90的一种方法流程图;
图6是本发明实施例提供的一种订单数据聚合装置的结构示意图;
图7是本发明又一实施例提供的一种订单数据聚合装置的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参阅图1,图1是本发明实施例提供的一种订单数据聚合系统的结构示意图。如图1所示,所述订单数据聚合系统100包括终端设备101、服务器102以及通信网络103。其中,所述通信网络103用于在所述终端设备101和所述服务器102之间提供通信链路的介质,其可以包括各种连接类型,比如有线、无线通信链路或者光纤电缆等。
所述终端设备101为订单结算设备,用于生成订单数据,所述订单数据包括商户号,终端设备101其可以应用于商户一侧,也可应用于客户端一侧。
当终端设备101为应用于商户一侧的订单结算设备时,其可以是用于商户柜台人工点单、扫码点单、刷卡点单等的订单结算设备,当终端设备101是用于商户柜台人工点单的订单结算设备时,例如,终端设备101可以是台式电脑等;当终端设备101是用于扫码点单的订单结算设备时,终端设备101可以是具有红外线扫码设备、二维码扫码设备的台式电脑等;当终端设备101是用于刷卡点单的订单结算设备时,终端设备101可以是具有感应检测设备的台式电脑等。终端设备101也可以是服务人员人工点单、消费者人工点单的移动结算设备,例如,可以登录点餐系统的平板电脑。
当终端设备101为应用于客户端一侧的订单结算设备时,终端设备101可以是登录网络购物平台的终端设备,其包括但不限于智能手机、平板电脑、智能手表、电子阅读器、台式电脑等,此时,终端设备101可以安装各种移动支付应用,比如微信支付应用、支付宝应用以及银联卡应用等,终端设备101还支持各种支付方式,比如刷脸支付、扫码支付等支付方式。
所述服务器102可以是本地存储数据来应答终端设备101请求的服务器,也可以是远程地从第三方服务器获得数据来应答终端设备101请求的服务器。
需要说明的是,本发明实施例所提供的订单数据聚合方法由上述服务器102执行,相应地,订单数据聚合装置设置于所述服务器102中。所述服务器102获取所述终端设备101发送的订单数据,并对所述订单数据进行处理,用以实现根据商户号,将数据进行分流聚合,从而避免了数据二次汇总以及二次汇总导致的重复查询,进而提升了数据处理的效率。
请参阅图2,为本发明实施例提供的一种订单数据聚合方法的方法流程图。如图2所示,所述订单数据聚合方法包括:
S10:获取订单数据,所述订单数据包括商户号。
请参阅图3,所述订单数据包括对平订单数据,所述获取订单数据,包括:
S101:判断所述订单数据是否属于对平订单数据;
S102:若是,根据预设线程数量,获取所述对平订单数据。
在本实施例中,所述订单数据由终端设备传递到服务器,在用户确认提交订单后,生成对应的所述订单数据,缓存于终端设备的相关文件中或发送至服务器对应的存储区,经过数据汇总之后,以预设方式存储于数据库中。所述订单数据包括商户号、订单号、支付时间、费率信息、商户信息、支付渠道、支付状态等,其中,费率信息包括商品类别、商品数量、优惠信息、单价信息、支付金额等。
请参阅图4,在所述获取订单数据之后,所述方法还包括:
S90:对所述订单数据作对账处理,得到对平订单数据。
请一并参阅图5,所述对所述订单数据作对账处理,得到对平订单数据,包括:
S901:获取基准订单数据。
S902:判断所述订单数据是否与所述基准订单数据一致。
S903:若是,将所述订单数据作为对平订单数据。
其中,将所述订单数据与所述基准订单数据进行比对(对账),得到比对结果,比对的参数包括支付金额、支付状态、支付时间以及订单本身的缺失(参考订单多基准订单少,或者基准订单少参考订单多)等,若数据一致(即比对的参数均一致),则表示所述订单数据为对平订单数据,标记所述订单数据为已对账订单。若数据不一致,则将所述订单数据与所述基准订单数据放入异常差错表,以供后续处理,从而在保证数据比对正常的情况下,提升了系统的容错能力。
在本实施例中,终端设备生成的订单数据存储于服务器对应的存储区域或对应的数据库中,根据预设线程数量,设置开启预设线程数量的工作线程,每一线程都是彼此独立的,前后线程之间互相依赖。多个线程运行于线程池中,线程池是一种多线程处理形式,处理过程中将任务(即所述订单数据的聚合处理等)添加到队列,然后在创建线程后自动启动这些任务。
具体的,根据预设线程数量,设置对应数量的时间分区,一个线程用于拉取相应时间分区的订单数据,多个线程按照时间分区并发拉取订单数据,提升订单数据的获取速度,进而提升数据处理的效率。并发指的是在操作系统中,一个时间段中几个程序都处于已启动到运行完毕之间,即一个时间段中几个程序可同时运行,且这几个程序都是在同一个处理器或进程上运行,但在任一个时刻点上只有一个程序在处理器或进程上运行。例如,对账日期是5.11号,获取5.11号的订单数据,其形式如表1所示:
订单号 | 交易时间 | 交易金额 | 交易状态 |
201901167901 | 2019-05-12 00:00:01 | 5020 | 成功 |
201901167902 | 2019-05-11 10:21:19 | 280 | 成功 |
201901167903 | 2019-05-11 22:20:19 | 790 | 失败 |
201901167904 | 2019-05-11 15:21:19 | 10090 | 成功 |
201901167905 | 2019-05-11 15:20:19 | 910 | 成功 |
表1
假设,所述预设线程数量为4个,则将5.11号所包括的时间划分为4个时间分区:第一个时间区间对应0点-6点(前开后闭)、第二个时间区间对应6点-12点(前开后闭)、第三个时间区间对应12点-18点(前开后闭)以及第四个时间区间对应18点-次日0点(前开后闭),时间区间的设置不做具体设定,人们可以根据需要设置不同的时间区间。采用JDBC(JavaDataBase Connectivity,java数据库连接)技术开多个线程并发,例如设置4个jbbcJob线程并发拉取订单数据,4个jbbcJob线程分别为线程1、线程2、线程3以及线程4,所述订单数据为一个订单包括的所有信息,具体过程为:
线程1负责拉取5.11号0点-6点(前开后闭)的订单数据,拉取订单记录为空。
线程2负责拉取5.11号6点-12点(前开后闭)的订单数据,拉取订单记录有1条,基准订单号为201901167902。
线程3负责拉取5.11号12点-18点(前开后闭)的订单数据,拉取订单记录2条,基准订单号分别为201901167904,201901167905。
线程4负责拉取5.11号18点-5.12号0点(前开后闭)的订单数据,拉取订单记录1条,基准订单号为201901167903。
综上,4个jbbcJob线程一共拉取到4个订单数据,该4个订单数据为待对比的数据。
进一步的,所述基准订单数据存储于第三方,其中,所述第三方可以是终端设备、后台服务器等。例如,所述获取基准订单数据包括向所述第三方发送获取基准订单数据指令,接收所述第三方返回的所述基准订单数据的数据列表,并将所述数据列表存储于订单文件中,其形式如表2所示:
订单号 | 交易时间 | 交易金额 | 交易状态 |
201901167901 | 2019-05-11 23:59:59 | 5020 | 成功 |
201901167902 | 2019-05-11 10:21:19 | 281 | 成功 |
201901167903 | 2019-05-11 22:20:19 | 790 | 成功 |
201901167904 | 2019-05-11 15:21:19 | 10090 | 成功 |
201901167906 | 2019-05-11 19:20:10 | 350 | 成功 |
表2
使用哈希算法处理4个所述订单数据的订单号,得到4个所述订单数据对应的线程索引号和订单文件索引号;根据线程索引号和订单文件索引号,将所述订单数据路由至对应的订单文件,并生成所述订单文件对应的索引文件,其中,所述索引文件包括所述订单数据的索引信息。例如,根据4个订单数据的订单号和哈希算法,其处理过程中各个参数的对应关系如表3所示:
订单号 | 线程索引号 | 订单文件 | 索引文件 |
201901167902 | 2 | file[2] | index[2] |
201901167903 | 3 | file[3] | index[3] |
201901167904 | 0 | file[0] | index[0] |
201901167905 | 1 | file[1] | index[1] |
表3
可见,订单号为201901167902的订单数据被分发至线程2,线程2将订单数据存储至file[2]文件中,并将该订单数据的索引信息写入索引文件index[2]中;订单号为201901167903的订单数据被分发至线程3,线程3将订单数据存储至file[3]文件中,并将该订单数据的索引信息写入索引文件index[3]中;订单号为201901167904的订单数据被分发至线程0,线程0将订单数据存储至file[0]文件中,并将该订单数据的索引信息写入索引文件index[0]中;订单号为201901167905的订单数据被分发至线程1,线程1将订单数据存储至file[1]文件中,并将该订单数据的索引信息写入索引文件index[1]中。
在本实施例中,索引文件index[0]的索引信息为201901167904,0,52,多个索引信息之间采用分号隔开,其中,“201901167904”为该条订单数据的订单号,“0”为该条订单数据的偏移量,“52”为该条订单数据的字节长度,若第一条订单数据的字节长度为52,则第二条订单数据的偏移量等于52,即索引文件index[1]的索引信息对应的偏移量为52。
根据索引文件,获取4个订单数据对应的订单号、偏移量和字节长度。解析表2中的所述基准订单数据,例如,以所述订单数据为参照,解析出一条基准订单数据,获取该条基准订单数据的订单号、偏移量和字节长度,根据该基准订单数据的订单号,找到其对应的订单文件,再根据该基准订单数据的偏移量和字节长度,获取该基准订单数据的订单信息,包括交易金额,交易状态,交易时间等信息,进而,完成订单数据与基准订单数据的对账比对。
对于已对账的订单数据会做出相应标记,并将一些出现差错的订单数据放进异常差错表。例如:将表1的订单数据及表2的基准订单数据进行对账,最终对账结果如下:
1)201901167901订单时间不一致(跨天,会引发结算时间问题);
2)201901167902订单金额不一致(对不平);
3)201901167903订单状态不一致(订单状态不同步,需同步一下状态);
4)201901167904订单信息一致(对平);
5)201901167905基准订单多参考订单少(产生挂销账);
6)201901167906基准订单少参考订单多(产生挂销账)。
综上,将订单号为201901167904对应的订单数据作为对平订单数据,故而,使用哈希算法处理所述商户号对应的订单数据均为对平订单数据。
S20:使用哈希算法处理所述商户号,得到队列索引号及线程索引号。
可以理解,当所述订单数据属于对平订单数据时,所述使用哈希算法处理所述商户号,得到队列索引号及线程索引号包括:使用哈希算法处理所述对平订单数据的商户号,得到队列索引号及线程索引号。
其中,哈希算法是指把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
在本实施例中,根据哈希取模算法针对商户号的维度进行聚合汇总,即每一个jbbcJob线程用于处理对应商户号的订单数据,该jbbcJob线程对应一个分发器,该分发器对应唯一一个队列,该队列对应惟一一个聚合器。例如,使用哈希算法处理所述商户号,得到队列索引号及线程索引号的结果如表4所示:
商户号 | 队列索引号 | 线程索引号(聚合器索引号) |
201901167902 | 2 | 2 |
201901167903 | 3 | 3 |
201901167904 | 0 | 0 |
201901167905 | 1 | 1 |
表4
S30:使用分类器将所述订单数据定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理。若所述订单数据不属于对平订单数据,所述分类器不分流所述商户号的订单数据。
S40:将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,由所述聚合器将出栈的所述订单数据作聚合处理。
如表4所示,使用哈希算法使得201901167902商户的所有对平订单数据,定向分流(进栈)到队列2,然后由线程2处理(出栈)队列2的对平订单数据;201901167903商户的所有对平订单数据,定向分流(进栈)到队列3,然后由线程3处理(出栈)队列3的对平订单数据;201901167904商户的所有对平订单数据,定向分流(进栈)到队列0,然后由线程0处理(出栈)队列0的对平订单数据;201901167905商户的所有对平订单数据,定向分流(进栈)到队列1,然后由线程1处理(出栈)队列1的对平订单数据。
所述聚合器(即线程)聚合所述商户号对应的对平订单数据,故而,同一商户的所有对平订单数据归队至同一队列,将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,从而,同一商户的所有对平订单数据由一个线程进行处理,即同一商户的所有对平订单数据通过一个聚合器作聚合处理,所以,在商户号维度上,商户所属的订单数据只需要进行一次的汇总,避免了二次汇总导致的大量重复查询。
请再次参阅图3,在由所述聚合器将出栈的订单数据作聚合处理之后,所述方法还包括:
S50:获取属于所述商户号的商户关联信息。
其中,所述商户关联信息包括商户的费率信息、商户信息、渠道信息。所述费率信息、商户信息、渠道信息包括通道成本、商户成本、订单总笔数、订单总金额、实收金额等。
S60:将所述商户关联信息封装在由所述聚合器出栈的订单数据中。
在线程接收到所述订单数据时,会对述商户号的商户关联信息进行查询,在根据所述商户号汇总订单数据之后,还可以对通道成本、商户成本、订单总笔数、订单总金额、实收金额等中的任意一个维度进行汇总,以供用户查询,提升数据查询的速率。
S70:使用前置器前置处理由所述聚合器出栈的订单数据。
所述前置器是数据入库前对数据的最后一次处理,可用于设置处理参数、环境变量等。
S80:使用输出器汇总由所述前置器出栈的订单数据。
在本实施例中,输出器汇总的订单数据存储于数据库中。
在一些实施例中,在所述聚合器将出栈的所述订单数据作聚合处理后,继续判断所述订单数据是否属于对平订单数据,若否,则所述前置器和所述输出器不工作。
本发明实施例提供的一种订单数据聚合方法,通过哈希算法处理商户号,得到队列索引号及线程索引号,使用分类器将订单数据定向分流至在队列索引号下的队列,由队列将属于商户号的订单数据作归队处理,将队列出栈的订单数据聚合在所述线程索引号下的聚合器,由聚合器将出栈的订单数据作聚合处理,因此,本发明实施例能够根据商户号对订单数据进行分流,由对应的线程作聚合处理,从而避免了数据二次汇总和重复查询,进而提升了数据处理的效率。
请参阅图6,为本发明实施例提供的一种订单数据聚合装置的结构示意图。如图6所示,所述订单数据聚合装置600包括第一获取模块601、算法处理模块602、归队模块603以及归队模块604。
所述第一获取模块601用于获取订单数据,所述订单数据包括商户号。
进一步的,所述第一获取模块601包括第一判断单元6011和第一获取单元6012。
其中,所述第一获取模块601用于判断所述订单数据是否属于对平订单数据。所述第一获取单元6012用于根据预设线程数量,获取所述对平订单数据。
所述算法处理模块602用于使用哈希算法处理所述商户号,得到队列索引号及线程索引号。
所述归队模块603用于使用分类器将所述订单数据定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理。
所述聚合模块604用于将所述队列出栈的订单数据聚合在所述线程索引号下的聚合器,由所述聚合器将出栈的订单数据作聚合处理。
请参阅图7,为本发明又一实施例提供的一种订单数据聚合装置的结构示意图。如图7所示,所述订单数据聚合装置700除了包括上述实施例中所公开的所述订单数据聚合装置600,还包括第二获取模块701、封装模块702、前置处理模块703、汇总模块704以及对账模块705。
所述第二获取模块701用于获取属于所述商户号的商户关联信息。
所述封装模块702用于将所述商户关联信息封装在由所述聚合器出栈的订单数据中。
所述前置处理模块703用于使用前置器前置处理由所述聚合器出栈的订单数据。
所述汇总模块704用于使用输出器汇总由所述前置器出栈的订单数据。
所述对账模块705包括第二获取单元7051、第二判断单元7052以及对平单元7053。
其中,所述第二获取单元7051用于获取基准订单数据。所述第二判断单元7052用于判断所述订单数据是否与所述基准订单数据一致。所述对平单元7053用于当所述订单数据与所述基准订单数据一致时,将所述订单数据作为对平订单数据。
值得说明的是,上述装置内的模块之间的信息交互、执行过程等内容,与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供的一种订单数据聚合装置,通过哈希算法处理商户号,得到队列索引号及线程索引号,使用分类器将订单数据定向分流至在队列索引号下的队列,由队列将属于商户号的订单数据作归队处理,将队列出栈的订单数据聚合在所述线程索引号下的聚合器,由聚合器将出栈的订单数据作聚合处理,因此,本发明实施例能够根据商户号对订单数据进行分流,由对应的线程作聚合处理,从而避免了数据二次汇总和重复查询,进而提升了数据处理的效率。
请参阅图8,为本发明实施例提供的一种服务器的结构示意。所述服务器800为提供计算服务的设备,所述服务器800的构成包括处理器、硬盘、内存、系统总线等。如图8所示,所述服务器800包括:至少一个处理器801以及与所述至少一个处理器通信连接存储器802,图8中以一个处理器801为例。
处理器801和存储器802可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的订单数据聚合方法对应的程序指令/模块(例如,附图6所示的各个模块)。处理器801通过运行存储在存储器802中的非易失性软件程序、指令以及模块,从而执行服务器800的各种功能应用以及数据处理,即实现上述方法实施例的订单数据聚合方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据订单数据聚合装置600或订单数据聚合装置700的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至订单数据聚合装置600或订单数据聚合装置700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器802中,当被所述一个或者多个处理器801执行时,执行上述任意方法实施例中的订单数据聚合方法,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块和各单元的功能。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块和各单元的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的订单数据聚合方法,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块和各单元的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可执行包括如上述实施例中的全部或部分流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种订单数据聚合方法,其特征在于,包括:
获取订单数据,所述订单数据包括商户号;
使用哈希算法处理所述商户号,得到所述商户号对应的散列值,所述散列值即为所述订单数据对应的队列索引号及线程索引号,所述队列索引号和所述线程索引号相同;
使用分类器将所述订单数据根据所述订单数据对应的队列索引号定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理;
将所述队列出栈的订单数据,聚合在所述线程索引号和所述队列的队列索引号相同的线程下的聚合器中,由所述聚合器将出栈的所述订单数据作聚合处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用前置器前置处理由所述聚合器出栈的订单数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
使用输出器汇总由所述前置器出栈的订单数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,在由所述聚合器将出栈的订单数据作聚合处理之后,所述方法还包括:
获取属于所述商户号的商户关联信息;
将所述商户关联信息封装在由所述聚合器出栈的订单数据中。
5.根据权利要求4所述的方法,其特征在于,所述商户关联信息包括商户的费率信息、商户信息、渠道信息。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述订单数据包括对平订单数据,所述获取订单数据,包括:
判断所述订单数据是否属于对平订单数据;
若是,根据预设线程数量,获取所述对平订单数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述订单数据作对账处理,得到对平订单数据。
8.根据权利要求7所述的方法,其特征在于,所述对所述订单数据作对账处理,得到对平订单数据,包括:
获取基准订单数据;
判断所述订单数据是否与所述基准订单数据一致;
若是,将所述订单数据作为对平订单数据。
9.一种订单数据聚合装置,其特征在于,包括:
第一获取模块,用于获取订单数据,所述订单数据包括商户号;
算法处理模块,用于使用哈希算法处理所述商户号,得到所述商户号对应的散列值,得到所述散列值即为所述订单数据对应的队列索引号及线程索引号,所述队列索引号和所述线程索引号相同;
归队模块,用于使用分类器将所述订单数据根据所述订单数据对应的队列索引号定向分流至在所述队列索引号下的队列,由所述队列将属于所述商户号的订单数据作归队处理;聚合模块,用于将所述队列出栈的订单数据,聚合在所述线程索引号和所述队列的队列索引号相同的线程下的聚合器中,由所述聚合器将出栈的所述订单数据作聚合处理。
10.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8任一项所述的订单数据聚合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910596311.1A CN110706051B (zh) | 2019-07-03 | 2019-07-03 | 一种订单数据聚合方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910596311.1A CN110706051B (zh) | 2019-07-03 | 2019-07-03 | 一种订单数据聚合方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110706051A CN110706051A (zh) | 2020-01-17 |
CN110706051B true CN110706051B (zh) | 2022-03-29 |
Family
ID=69193467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910596311.1A Active CN110706051B (zh) | 2019-07-03 | 2019-07-03 | 一种订单数据聚合方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110706051B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793087B (zh) * | 2021-02-26 | 2024-04-16 | 北京京东振世信息技术有限公司 | 用于分拣物品的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951361B (zh) * | 2014-03-27 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种定时任务的触发方法和装置 |
KR101705444B1 (ko) * | 2015-04-17 | 2017-02-09 | 영남대학교 산학협력단 | 소팅 연산을 적용한 해쉬 조인 방법, 이를 실행시키는 컴퓨터 프로그램 및 기록매체 |
CN109190331B (zh) * | 2018-08-20 | 2020-10-16 | 电信科学技术第五研究所有限公司 | 一种基于区块链的航天测控网数据交易方法 |
CN109376151A (zh) * | 2018-09-04 | 2019-02-22 | 中国建设银行股份有限公司 | 数据分库处理方法、系统、装置和存储介质 |
-
2019
- 2019-07-03 CN CN201910596311.1A patent/CN110706051B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110706051A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134516B (zh) | 金融数据处理方法、装置、设备及计算机可读存储介质 | |
US20160035044A1 (en) | Account processing method and apparatus | |
CN111427971B (zh) | 用于计算机系统的业务建模方法、装置、系统和介质 | |
CN107230092B (zh) | 账务处理方法、装置及服务器 | |
US10152682B2 (en) | Configurable data accumulators | |
CN112365355B (zh) | 实时计算基金估值和风险指标的方法、装置及可读介质 | |
CN107025604B (zh) | 业务订单数据的生成方法及装置 | |
CN111247550A (zh) | 用于区块链网络的计算机化交易管理模块 | |
CN110704486B (zh) | 数据处理方法、装置、系统、存储介质和服务器 | |
WO2019033741A1 (zh) | 投资产品的资源处理方法、装置、存储介质和计算机设备 | |
CN106096926B (zh) | 事件处理方法、装置、电子装置和存储介质 | |
CN106408319A (zh) | 一种分销数据管理系统和方法 | |
CN110895761B (zh) | 一种售后服务申请信息的处理方法和装置 | |
CN110706051B (zh) | 一种订单数据聚合方法、装置及服务器 | |
CN115641180A (zh) | 一种请求处理的方法、相关装置及设备 | |
CN112181628B (zh) | 资源转移方法、装置、系统和电子设备 | |
US8433628B2 (en) | Real-time trade forecaster | |
US20150073863A1 (en) | Method and System for Linking Browsing History to Proprietary Transaction Data | |
CN108021597B (zh) | 一种并行计数器、服务器和一种计数方法 | |
CN113592470A (zh) | 业务处理方法、装置、电子设备以及存储介质 | |
CN108805593A (zh) | 一种数据处理的方法、系统、电子设备和可读存储介质 | |
CN113537558A (zh) | 物料需求自动向上游同步的处理方法、装置及终端设备 | |
US20200193468A1 (en) | Blockchain for ads and coupons | |
CN112199191A (zh) | 用于虚拟交易的数据撮合方法、装置及系统 | |
CN111831964A (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 |