CN107818431A - 一种提供订单轨迹数据的方法和系统 - Google Patents
一种提供订单轨迹数据的方法和系统 Download PDFInfo
- Publication number
- CN107818431A CN107818431A CN201610824989.7A CN201610824989A CN107818431A CN 107818431 A CN107818431 A CN 107818431A CN 201610824989 A CN201610824989 A CN 201610824989A CN 107818431 A CN107818431 A CN 107818431A
- Authority
- CN
- China
- Prior art keywords
- order
- data
- track data
- storage server
- order track
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000003860 storage Methods 0.000 claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims description 30
- 230000008859 change Effects 0.000 claims description 27
- 238000012986 modification Methods 0.000 claims description 20
- 230000004048 modification Effects 0.000 claims description 20
- 230000008929 regeneration Effects 0.000 claims description 12
- 238000011069 regeneration method Methods 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 5
- 238000007689 inspection Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241001233242 Lontra Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种提供订单轨迹数据的方法和系统,能够将订单轨迹数据的采集功能从业务代码中分离,无需通过硬编码的方式记录日志信息,不仅解决了日志记录完整性问题,而且还降低了系统编码开发工作量;同时,实现实时查看订单轨迹的功能,运维人员能快速定位异常订单原因;对客户投诉订单原因定位提供了快速解决方案,最终提升用户的购物体验。本发明的提供订单轨迹数据的方法包括:解析应用系统从业务系统的数据库中获取订单日志;解析应用系统生成对应于所述订单日志中各个订单的订单轨迹数据,然后将该订单轨迹数据保存到存储服务器;订单轨迹查询系统在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
Description
技术领域
本发明涉及计算机及其软件技术领域,特别涉及一种提供订单轨迹数据的方法和系统。
背景技术
随着互联网行业的快速发展,电子商务中的订单的订单数据出现了迅猛增长,其中虚拟业务的订单量尤为凸显。整个互联网行业虚拟商品的网上销售具有并发大和实时性要求高的共性,但是由于互联网的应用基本都由很多子系统组成,一个完整的应用不仅需要依赖公司内部的很多系统,而且还需要依赖外部第三方代理商的接口,订单交易状态的变更网络交互频繁,因而系统间依赖的接口经常存在异常情况;另外,参差不齐的代理商接口性能也给整个虚拟行业的应用带来了很多挑战,生产订单经常由于各种不明原因导致出现异常订单状态而引起客户的投诉,这种异常订单经常需要系统运维人员通过订单系统日志排查问题,日志量大时极难明确定位问题,因而运维工作量非常大。
现有技术中,查看生产订单轨迹的解决方式需要依赖业务代码,在业务代码流程上记录订单状态变更信息,通过log4j等日志技术将订单变更信息记录到特定的日志文件中,并存储在服务器的指定目录下,再通过flume-ng等日志采集技术将服务器上的日志文件进行采集,采集的日志信息一般会存储到大数据平台上,最后再通过一些大数据的分析技术将某个订单的轨迹数据生成出来。
现有技术方案中,主要存在以下问题:
1.现有技术中对于记录订单状态变更信息是通过日志信息耦合业务代码来实现的,需要开发人员进行大量的编码,对现有的业务代码耦合性高、侵入性强。
2.由于需要在业务流程中去添加日志写入的功能,订单生产的各个环节都不能遗漏,业务处理流程上很难做到万无一失,即使通过spring aop技术来实现日志的记录环节,也很难保证日志在写入磁盘的时候不存在日志丢失、异常等情况,所以在日志记录完整性上存在很大问题。
3.由于最终订单轨迹数据的生成需要经历:日志写入->采集->清洗->分析等环节,对于日志写入本身具有延时问题、而且中间还需要进行网络传输及日志的清洗工作,并且大数据分析平台本身是对离线数据的处理,所以在实时性上有很大的缺陷。
发明内容
有鉴于此,本发明提供一种提供订单轨迹数据的方法和系统,能够将订单轨迹数据的采集功能从业务代码中分离,无需通过硬编码的方式记录日志信息,不仅解决了日志记录完整性问题,而且还降低了系统编码开发工作量,代码的可维护性得到很大的提高;同时,实现实时查看订单轨迹的功能,运维人员能快速定位异常订单原因;对客户投诉订单原因定位提供了快速解决方案,最终提升用户的购物体验。
为实现上述目的,根据本发明的一个方面,提供了一种提供订单轨迹数据的方法。
本发明的提供订单轨迹数据的方法包括:解析应用系统从业务系统的数据库中获取订单日志;解析应用系统生成对应于所述订单日志中各个订单的订单轨迹数据,然后将该订单轨迹数据保存到存储服务器;订单轨迹查询系统在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
可选地,所述解析应用系统根据所述订单日志生成对应于各个订单的订单轨迹数据的步骤包括:解析应用系统判断该系统的缓存中是否存在所述订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存中保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号。
可选地,所述将该订单轨迹数据同步于存储服务器的步骤包括:将所述订单轨迹数据存入消息队列;判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中;否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
可选地,所述调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中的步骤之后,还包括:判断所述订单轨迹是否成功存入存储服务器,并在确定没有成功存入存储服务器的前提下,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
根据本发明的另一个方面,提供了一种提供订单轨迹数据的系统。
本发明的提供订单轨迹数据的系统包括:解析应用系统、存储服务器、以及订单轨迹查询系统;其中,解析应用系统用于从业务系统的数据库中获取订单日志,然后生成对应于所述订单日志中各个订单的订单轨迹数据,再将该订单轨迹数据保存于存储服务器;存储服务器用于存储解析应用系统所发送的订单轨迹数据;订单轨迹查询系统用于在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
可选地,所述解析应用系统还用于:判断该系统的缓存中是否存在所述订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存所保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号。
可选地,所述解析应用系统还用于:将所述订单轨迹数据存入消息队列;判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中;否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
可选地,所述解析应用系统还用于:判断所述订单轨迹数据是否成功存入存储服务器,并在确定没有成功存入存储服务器的前提下,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
根据本发明的技术方案,由于能够将订单轨迹数据的采集功能从业务代码中分离,因此无需通过硬编码的方式记录日志信息,不仅解决了日志记录完整性问题,而且还降低了系统编码开发工作量,代码的可维护性得到很大的提高;同时,实现实时查看订单轨迹的功能,运维人员能快速定位异常订单原因;对客户投诉订单原因定位提供了快速解决方案,最终提升用户的购物体验。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种提供订单轨迹数据的系统的示意图;
图2是根据本发明实施例的一种提供订单轨迹数据的方法的示意图;
图3是以MySQL数据库为例的提供订单轨迹数据的系统的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种提供订单轨迹数据的系统的示意图。如图1所示,本发明实施例的提供订单轨迹数据的系统10主要包括解析应用系统11、存储服务器12、以及订单轨迹查询系统13;其中,解析应用系统11用于从业务系统的数据库中获取订单日志,然后生成对应于所述订单日志中各个订单的订单轨迹数据,再将该订单轨迹数据保存到存储服务器;存储服务器12用于存储解析应用系统所发送的订单轨迹数据;订单轨迹查询系统13用于在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
解析应用系统11还可用于:判断该系统的缓存中是否存在所述订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存所保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号。
解析应用系统11还可用于:将所述订单轨迹数据存入消息队列;判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中;否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
解析应用系统11还可用于:判断所述订单轨迹数据是否成功存入存储服务器,并在确定没有成功存入存储服务器的前提下,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
图2是根据本发明实施例的一种提供订单轨迹数据的方法的示意图。如图2所示,本发明实施例的提供订单轨迹数据的方法的执行主体为图1中所提到的提供订单轨迹数据的系统10,该方法主要包括如下的步骤S20至S22。
步骤S20:解析应用系统从业务系统的数据库中获取订单日志。在该步骤中,由于业务系统的数据库中的数据发生变化,就会生成相应的日志;由于本发明实施例技术方案中针对的是订单数据的日志,因此需要将订单日志从所有的日志中筛选出来;其中,订单日志是用于记录因业务系统中订单状态变化而产生的订单变化数据。
步骤S21:解析应用系统生成对应于所述订单日志中各个订单的订单轨迹数据,然后将该订单轨迹数据保存于存储服务器。在步骤S20中,解析应用系统筛选出订单日志后,首先判断该系统的缓存中是否存在订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存中所保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号,通常所设置的初始版本为V1。
在上述生成订单的订单轨迹数据之后,解析应用系统11为了避免订单轨迹数据的丢失,将所述订单轨迹数据同步于存储服务器中12中,同时为了避免解析应用系统所解析得到的订单轨迹数据在同步的过程中造成数据积压进而产生数据丢失等问题,解析应用系统11首先将所述订单轨迹数据存入消息队列,然后判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中,否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中;如果在调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器12中发生异常,解析应用系统11也将订单轨迹数据存入到本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中,从而保证订单轨迹数据不会丢失。
如果在解析应用系统11将该同步任务所对应的本地数据库中的失败数据存入存储服务器的过程中数据保存失败,则解析应用系统11会重复执行扫描任务直至成功,并在成功将本地数据库中的失败数据存入存储服务器12后将本地数据库中的订单轨迹数据删除。
步骤S22:订单轨迹查询系统在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。在该步骤中,所提到的查询者,可以是运维人员,也可以是其他的一些需要订单轨迹数据的业务系统;以运维人员为例,运维人员可以输入查询条件,实时查看订单的生产轨迹及相关信息,然后运维人员根据订单轨迹数据的展示,快速定位到订单异常的环节,从而可以明确的定位到异常订单出现的原因。
下面以MySQL关系型数据库为例对本发明技术方案进行进一步阐述:根据MySQL数据库的主从同步特性,基于MySQL binLog解析技术(例如:Canal、otter等),搭建数据库binLog解析应用系统,通过监听MySQL从库、抓取、解析从数据库中的binLog日志来完成订单轨迹数据的采集,将订单轨迹数据的采集功能从业务代码中分离、解耦。由于订单生产流程变更频繁,其binlog日志量非常大,因此需要将订单轨迹数据存储到Hbase、Solr等搜索引擎上,本发明实施例中采用Elasticsearch(以下简称ES)来存储订单轨迹数据,ES支持的数据存储量大、查询效率高;基于ES提供查询后台,运维人员可以直接根据订单号检索到该订单的整个生产轨迹。
本实施例的系统组成示意图如图3所示,主要包括:binLog解析应用系统、ES服务器集群、以及订单轨迹查询系统。
binLog解析应用系统如果要实现订阅MySQL binLog日志,那么业务系统首先需要开启MySQL数据库的binLog日志的写入功能,MySQL binlog日志有三种格式statement、mixed、以及row,目前Canal等解析工具对row模式的binLog支持最好;而由于一般互联网的业务系统的数据库都是一主多从架构,因此,为了获取row模式的binlog日志,业务系统的MySQL数据库的从库的日志模式需配置为row模式;同时,业务系统数据库需要为binLog解析应用系统申请独立的用户名、密码并授予只读权限,将binLog解析应用系统IP添加到数据库授信IP白名单中,以此来保证数据库访问的安全性;通过权限的开通,binLog解析应用系统即可订阅MySQL数据库的从库的binLog日志,然后通过筛选得到有关于订单数据变更的订单日志。
binLog解析应用系统在解析订单日志时,利用Redis缓存技术在该系统的缓存中记录订单的版本信息,在解析到订单信息之后,首先判断binLog解析应用系统的缓存中是否存在订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存中所保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号,通常所设置的初始版本为V1,之后binLog解析应用系统在解析到同一个订单号之后会将该订单的变更信息版本号依次递增。其中,变更信息记录表中的字段包括但不仅限于:主键、订单号、订单状态、订单支付状态、订单金额、创建时间、订单变更记录创建时间、订单变更记录类型、以及订单变更记录版本等。
当binlog解析应用系统通过解析订单日志得到订单轨迹数据后,首先将该订单轨迹数据存入到异步数据同步ES的消息队列,然后调用由Java提供的异步线程将订单轨迹数据从消息队列中取出,异步线程通过调用ES的应用接口实现订单轨迹数据的同步,在数据库同步过程中,如果同步数据放入消息队列异常,则binlog解析应用系统将订单轨迹数据存入binLog解析应用系统的本地数据库,以保证数据不丢失;如果异步线程在与ES进行数据同步的过程中发生异常,则binlog解析应用系统也将同步数据信息存入到本地数据库;在将同步失败的订单轨迹数据存入binLog解析应用系统的本地数据库后,binLog解析应用系统生成失败数据的同步任务,即订单轨迹数据ES补漏任务,然后,binlog解析应用系统扫描失败数据的同步任务,通过调用ES的应用接口API完成数据同步,若数据同步不成功则重复执行扫描任务,直到数据同步成功,并在数据同步成功之后则删除本地数据库中的订单轨迹数据。
订单轨迹查询系统通过所接收到的查询条件(例如:订单号),从ES中将符合查询条件的订单轨迹数据提供给查询者。
根据本发明实施例的技术方案,由于能够将订单轨迹数据的采集功能从业务代码中分离,因此无需通过硬编码的方式记录日志信息,不仅解决了日志记录完整性问题,而且还降低了系统编码开发工作量,代码的可维护性得到很大的提高;同时,实现实时查看订单轨迹的功能,运维人员能快速定位异常订单原因;对客户投诉订单原因定位提供了快速解决方案,最终提升用户的购物体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种提供订单轨迹数据的方法,其特征在于,包括:
解析应用系统从业务系统的数据库中获取订单日志;
解析应用系统生成对应于所述订单日志中各个订单的订单轨迹数据,然后将该订单轨迹数据保存到存储服务器;
订单轨迹查询系统在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
2.根据权利要求1所述的方法,其特征在于,所述解析应用系统根据所述订单日志生成对应于各个订单的订单轨迹数据的步骤包括:
解析应用系统判断该系统的缓存中是否存在所述订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存中保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号。
3.根据权利要求1所述的方法,其特征在于,所述将该订单轨迹数据同步于存储服务器的步骤包括:
将所述订单轨迹数据存入消息队列;
判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中;否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
4.根据权利要求3所述的方法,其特征在于,所述调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中的步骤之后,还包括:
判断所述订单轨迹数据是否成功存入存储服务器,并在确定没有成功存入存储服务器的前提下,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
5.一种提供订单轨迹数据的系统,其特征在于,包括:解析应用系统、存储服务器、以及订单轨迹查询系统;
其中,解析应用系统用于从业务系统的数据库中获取订单日志,然后生成对应于所述订单日志中各个订单的订单轨迹数据,再将该订单轨迹数据保存于存储服务器;
存储服务器用于存储解析应用系统所发送的订单轨迹数据;
订单轨迹查询系统用于在接收到的查询条件后,从所述存储服务器中将符合该查询条件的订单轨迹数据提供给查询者。
6.根据权利要求5所述的系统,其特征在于,所述解析应用系统还用于:
判断该系统的缓存中是否存在所述订单日志中所包括的订单的版本信息,如果是,则按照该订单的变更信息记录表中的字段从所述订单日志中获取各个字段中的数据信息,再将该数据信息分别记录于该订单的变更信息记录表的各个字段中,从而得到该订单的订单轨迹数据,以及在所述缓存所保存的该订单的变更信息版本号的基础上加一;否则,创建所述日志中所包含的订单的变更信息记录表,然后按照该订单变更记录表的字段依次从所述订单日志中获取各个字段的数据信息,再将该数据信息分别记录于该订单变更记录表的各个字段中,从而得到该订单的订单轨迹数据,同时在缓存中添加该订单的初始变更信息版本号。
7.根据权利要求5所述的系统,其特征在于,所述解析应用系统还用于:
将所述订单轨迹数据存入消息队列;
判断所述订单轨迹数据是否成功存入消息队列,若是,则调用异步线程将所述消息队列中的订单轨迹数据存入存储服务器中;否则,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
8.根据权利要求7所述的系统,其特征在于,所述解析应用系统还用于:
判断所述订单轨迹数据是否成功存入存储服务器,并在确定没有成功存入存储服务器的前提下,将所述订单轨迹数据存入本地数据库,然后生成失败数据同步任务,再逐条扫描所述失败数据同步任务,最后将该同步任务所对应的本地数据库中的失败数据存入存储服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610824989.7A CN107818431B (zh) | 2016-09-14 | 2016-09-14 | 一种提供订单轨迹数据的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610824989.7A CN107818431B (zh) | 2016-09-14 | 2016-09-14 | 一种提供订单轨迹数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107818431A true CN107818431A (zh) | 2018-03-20 |
CN107818431B CN107818431B (zh) | 2021-05-25 |
Family
ID=61601186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610824989.7A Active CN107818431B (zh) | 2016-09-14 | 2016-09-14 | 一种提供订单轨迹数据的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107818431B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769172A (zh) * | 2018-05-21 | 2018-11-06 | 杭州有赞科技有限公司 | 一种数据同步方法及系统 |
CN108765087A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN108921374A (zh) * | 2018-05-16 | 2018-11-30 | 中国平安人寿保险股份有限公司 | 保单分配方法、设备、装置及计算机可读存储介质 |
CN109145060A (zh) * | 2018-07-20 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109829003A (zh) * | 2018-12-25 | 2019-05-31 | 北京市天元网络技术股份有限公司 | 数据库备份方法及装置 |
CN110363458A (zh) * | 2018-04-11 | 2019-10-22 | 北京京东尚科信息技术有限公司 | 一种采购订单处理方法和装置 |
CN110457327A (zh) * | 2019-08-15 | 2019-11-15 | 中国银行股份有限公司 | 一种数据处理方法、装置及存储介质 |
CN110554895A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 一种数据调用的方法和装置 |
CN110807703A (zh) * | 2019-11-12 | 2020-02-18 | 上海燕汐软件信息科技有限公司 | 订单处理方法、装置、电子设备及计算机可读存储介质 |
CN110837535A (zh) * | 2018-08-16 | 2020-02-25 | 中国移动通信集团江西有限公司 | 数据同步的方法、装置、设备和介质 |
CN111143431A (zh) * | 2019-12-10 | 2020-05-12 | 云南电网有限责任公司信息中心 | 一种智能化量费核查与异常识别系统 |
CN111754050A (zh) * | 2020-07-14 | 2020-10-09 | 拉扎斯网络科技(上海)有限公司 | 配送对象配送画像的预测方法及装置 |
CN112162904A (zh) * | 2020-09-25 | 2021-01-01 | 同程网络科技股份有限公司 | 订单变更过程整合方法、提取方法、整合装置和提取装置 |
CN112669002A (zh) * | 2020-12-25 | 2021-04-16 | 广州辰创科技发展有限公司 | 一种基于定时功能的数据审查方法、设备、存储介质 |
CN114119326A (zh) * | 2021-10-27 | 2022-03-01 | 北京思特奇信息技术股份有限公司 | 一种快速跟踪订单轨迹和提取数据的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086133A1 (en) * | 2011-09-29 | 2013-04-04 | General Electric Company | Method and apparatus for file revision tracking |
CN103221949A (zh) * | 2010-07-27 | 2013-07-24 | 甲骨文国际公司 | Mysql数据库的异构的基于日志的复制 |
CN103700010A (zh) * | 2013-12-30 | 2014-04-02 | 世纪禾光科技发展(北京)有限责任公司 | 一种商品轨迹系统及相关方法 |
CN105447083A (zh) * | 2015-11-06 | 2016-03-30 | 深圳市中润四方信息技术有限公司 | 一种多源异构数据库数据聚散方法及系统 |
-
2016
- 2016-09-14 CN CN201610824989.7A patent/CN107818431B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221949A (zh) * | 2010-07-27 | 2013-07-24 | 甲骨文国际公司 | Mysql数据库的异构的基于日志的复制 |
US20130086133A1 (en) * | 2011-09-29 | 2013-04-04 | General Electric Company | Method and apparatus for file revision tracking |
CN103700010A (zh) * | 2013-12-30 | 2014-04-02 | 世纪禾光科技发展(北京)有限责任公司 | 一种商品轨迹系统及相关方法 |
CN105447083A (zh) * | 2015-11-06 | 2016-03-30 | 深圳市中润四方信息技术有限公司 | 一种多源异构数据库数据聚散方法及系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110363458A (zh) * | 2018-04-11 | 2019-10-22 | 北京京东尚科信息技术有限公司 | 一种采购订单处理方法和装置 |
CN110363458B (zh) * | 2018-04-11 | 2024-02-09 | 北京京东尚科信息技术有限公司 | 一种采购订单处理方法和装置 |
CN108921374A (zh) * | 2018-05-16 | 2018-11-30 | 中国平安人寿保险股份有限公司 | 保单分配方法、设备、装置及计算机可读存储介质 |
CN108921374B (zh) * | 2018-05-16 | 2022-07-12 | 中国平安人寿保险股份有限公司 | 保单分配方法、设备、装置及计算机可读存储介质 |
CN108769172A (zh) * | 2018-05-21 | 2018-11-06 | 杭州有赞科技有限公司 | 一种数据同步方法及系统 |
CN108765087A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN108765087B (zh) * | 2018-05-31 | 2023-04-07 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN110554895A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 一种数据调用的方法和装置 |
CN109145060A (zh) * | 2018-07-20 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109145060B (zh) * | 2018-07-20 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN110837535A (zh) * | 2018-08-16 | 2020-02-25 | 中国移动通信集团江西有限公司 | 数据同步的方法、装置、设备和介质 |
CN109829003A (zh) * | 2018-12-25 | 2019-05-31 | 北京市天元网络技术股份有限公司 | 数据库备份方法及装置 |
CN110457327A (zh) * | 2019-08-15 | 2019-11-15 | 中国银行股份有限公司 | 一种数据处理方法、装置及存储介质 |
CN110807703A (zh) * | 2019-11-12 | 2020-02-18 | 上海燕汐软件信息科技有限公司 | 订单处理方法、装置、电子设备及计算机可读存储介质 |
CN111143431A (zh) * | 2019-12-10 | 2020-05-12 | 云南电网有限责任公司信息中心 | 一种智能化量费核查与异常识别系统 |
CN111143431B (zh) * | 2019-12-10 | 2022-12-13 | 云南电网有限责任公司信息中心 | 一种智能化量费核查与异常识别系统 |
CN111754050A (zh) * | 2020-07-14 | 2020-10-09 | 拉扎斯网络科技(上海)有限公司 | 配送对象配送画像的预测方法及装置 |
CN111754050B (zh) * | 2020-07-14 | 2024-07-19 | 拉扎斯网络科技(上海)有限公司 | 配送对象配送画像的预测方法及装置 |
CN112162904A (zh) * | 2020-09-25 | 2021-01-01 | 同程网络科技股份有限公司 | 订单变更过程整合方法、提取方法、整合装置和提取装置 |
CN112669002A (zh) * | 2020-12-25 | 2021-04-16 | 广州辰创科技发展有限公司 | 一种基于定时功能的数据审查方法、设备、存储介质 |
CN114119326A (zh) * | 2021-10-27 | 2022-03-01 | 北京思特奇信息技术股份有限公司 | 一种快速跟踪订单轨迹和提取数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107818431B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818431A (zh) | 一种提供订单轨迹数据的方法和系统 | |
CN110765091B (zh) | 对账方法和系统 | |
CN110362632B (zh) | 一种数据同步方法、装置、设备及计算机可读存储介质 | |
US7069278B2 (en) | System for archive integrity management and related methods | |
US7627611B2 (en) | Conflict resolution in database replication through autonomous node qualified folding | |
US20110004622A1 (en) | Method and apparatus for gathering and organizing information pertaining to an entity | |
CN101578599A (zh) | 数据的动态大块到砖块转换 | |
CN105556552A (zh) | 欺诈探测和分析 | |
CN106845781B (zh) | 用于业务测试的场景及流程的生成系统和方法 | |
CN101803284A (zh) | 在网络管理系统中传播加速事件的方法和设备 | |
US8868483B2 (en) | Database load engine | |
CN110188103A (zh) | 数据对账方法、装置、设备和存储介质 | |
CN104486346A (zh) | 一种跳板机系统 | |
CN102170460A (zh) | 一种集群存储系统及其数据存储方法 | |
CN112039701A (zh) | 接口调用监控方法、装置、设备及存储介质 | |
US8738768B2 (en) | Multiple destinations for mainframe event monitoring | |
US8046336B1 (en) | Systems and methods for managing location dependent transactions | |
KR102093764B1 (ko) | 서버 및 스토리지 관리 서버 | |
CN116010494A (zh) | 一种支持异构数据源的数据交换系统 | |
CN108173711B (zh) | 企业内部系统数据交换监控方法 | |
CN108156061B (zh) | esb监控服务平台 | |
US20160188676A1 (en) | Collaboration system for network management | |
JP2020184352A (ja) | ローカル取引認可のためのネットワークブリッジ | |
CN112448972B (zh) | 数据交换与共享平台 | |
US11582345B2 (en) | Context data management interface for contact center |
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 |