CN107943841B - 流式数据处理方法、系统和计算机可读存储介质 - Google Patents
流式数据处理方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107943841B CN107943841B CN201711042157.0A CN201711042157A CN107943841B CN 107943841 B CN107943841 B CN 107943841B CN 201711042157 A CN201711042157 A CN 201711042157A CN 107943841 B CN107943841 B CN 107943841B
- Authority
- CN
- China
- Prior art keywords
- data
- core
- order
- card number
- streaming
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed 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/2455—Query execution
- G06F16/24568—Data stream processing; Continuous 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种流式数据处理方法、系统和计算机可读存储介质,所述流式数据处理系统包括日志连接器、消息队列、在线流处理程序模块、分布式存储数据库,所述方法包括以下步骤:通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。本发明提高存储数据的智能性和便捷性,此外,通过分布式存储数据库存储数据,降低了数据存储的局限性。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种流式数据处理方法、系统和计算机可读存储介质。
背景技术
现有的流流式数据处理应用较为广泛,流流式数据处理的特点是持续生成数据和消费数据,数据包括核心存款系统的核心数据,以及订单系统中的订单数据,目前,订单系统和核心存款系统相互独立,当需要将核心数据存储到订单系统时,需要用户手动导入,操作较为繁琐,并且智能性较差。并且,现有的订单系统使用的是SQL(Structured QueryLanguage,结构化查询语言)数据库,随着业务的迅速发展会产生海量的订单数据,由于订单系统没有分库分表,因此存储的数据量有限。
发明内容
本发明的主要目的在于提供一种流式数据处理方法、系统和计算机可读存储介质,旨在解决现有的流式数据处理方式,操作较为繁琐、智能性差,并且存储数据的容量受限的技术问题。
为实现上述目的,本发明提供一种流式数据处理方法,应用于流式数据处理系统,所述流式数据处理系统对接订单系统和核心存款系统,所述流式数据处理系统包括日志连接器、消息队列、在线流处理程序模块、分布式存储数据库,所述流式数据处理方法包括:
通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及
将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。
可选地,当数据为核心存款系统的核心数据时,通过在线流处理程序模块从所述消息队列中,将核心存款系统的核心数据保存至分布式存储数据库中的步骤包括:
通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号;
若能提取到卡号,则判断所述卡号是否为订单系统产生的数据;
若所述卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
可选地,所述通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号的步骤之后,所述方法还包括:
若提取不到卡号,则根据核心数据对应的客户账号从所述分布式存储数据库中获取卡号;
判断从所述分布式存储数据库中获取的卡号是否为订单系统产生的数据;
若从所述分布式存储数据库中获取的卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
可选地,当数据为订单系统的订单数据时,通过在线流处理程序模块从所述消息队列中,将订单系统的订单数据保存至分布式存储数据库中的步骤包括:
通过在线流处理程序模块从所述消息队列中提取出订单数据对应的实际消息数据,判断所述实际消费数据是否为设定值;
若所述实际消费数据为设定值,则根据所述实际消费数据关联的卡号和交易信息构造核心数据;
以所述卡号以及所述交易信息为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
可选地,所述判断所述实际消费数据是否为设定值的步骤之后,所述方法还包括:
若所述实际消费数据不为设定值,则获取所述订单系统的订单数据对应的卡号以及业务流水号,以卡号以及业务流水号为行键,将所述订单系统中的订单数据存储至分布式存储数据库中。
可选地,所述流式数据处理系统还包括数据仓库、离线消息处理模块,所述流式数据处理方法还包括:
从所述订单系统和所述核心存款系统对应的备份数据库中抽取订单数据和核心数据,以将抽取的订单数据和核心数据缓存至数据仓库中;
通过离线消息处理模块定时从所述数据仓库中获取距离当前时间点为预设时长内的订单数据和核心数据,并将获取的订单数据和核心数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库原本存储的订单数据和核心数据。
可选地,所述流式数据处理系统还包括查询服务模块,所述方法还包括:
在通过查询服务模块检测到客户端发起的数据查询请求时,从所述数据查询请求中提取出卡号,并判断所述卡号是否完整;
在卡号完整的情况下,从所述数据查询请求中提取出待查询的起止时间;
将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表;
以订单数据的字段列表为行键在所述分布式存储数据库中查找订单数据,并将核心数据和订单数据通过查询服务模块反馈至所述客户端。
可选地,所述将核心数据和订单数据通过查询服务模块反馈至所述客户端的步骤之后,所述方法还包括:
确定核心数据和订单数据的状态字段;
根据所述核心数据和所述订单数据的状态字段,以及预设的业务规则确定数据的显示规则;
按照确定的显示规则在所述客户端的界面中显示数据。
此外,为实现上述目的,本发明还提供一种流式数据处理系统,所述流式数据处理系统包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的流式数据处理程序,所述流式数据处理程序被所述处理器执行时实现如上文所述的流式数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有流式数据处理程序,所述流式数据处理程序应用于流式数据处理系统,所述流式数据处理程序被处理器执行时实现如上文所述的流式数据处理方法的步骤。
本发明提出的流式数据处理方法,先通过日志连接器从订单系统中读取订单数据以将读取到的数据发送至消息队列中,并将核心存款系统在记账过程中产生的核心数据发送至所述消息队列,然后通过在线流处理程序模块从所述消息队列中将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段建立两种类型的数据的关联关系。本方案实现了将两种不同类型的数据都存储到分布式存储数据库中,并建立有两种类型的数据之间的关联关系,无须用户手动将核心数据导入到订单系统中,操作便捷并且较为智能,此外,通过分布式存储数据库存储数据,该分布式存储数据库可以拓展,存储数据的容量不会受限,降低了数据存储的局限性。
附图说明
图1是本发明流式数据处理系统的组成示意图;
图2是本发明流式数据处理系统的硬件架构图;
图3为本发明流式数据处理方法第一实施例的流程示意图;
图4为图3中步骤S30的第一细化流程示意图;
图5为图3中步骤S30的第二细化流程示意图;
图6为本发明流式数据处理方法第四实施例的流程示意图;
图7为本发明流式数据处理方法第五实施例的流程示意图;
图8为本发明数据显示规则的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:先通过日志连接器从订单系统中读取订单数据以将读取到的数据发送至消息队列中,并将核心存款系统在记账过程中产生的核心数据发送至所述消息队列,然后通过在线流处理程序模块从所述消息队列中将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段建立两种类型的数据的关联关系。以解决现有的流处理数据存储的方式,操作较为繁琐、智能性差,并且存储数据的容量受限的问题。
本发明的专业术语介绍:
Hadoop:是一个分布式系统基础架构,能够让用户架构和使用的分布式计算平台,可以在Hadoop上开发和运行处理海量数据的流式数据处理系统。
HBase:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。属于Hadoop生态圈。用于海量数据的存储与查询。
CCS,本文用订单系统表示。
Deposit:核心存款系统。
Kafka:一种分布式消息队列。
HBase:一种分布式列式存储数据库。
Binlog:关系型数据库如MySql的数据日志。
Hive:一种离线的SQL数据仓库。
参照图1,本发明搭建一个流式数据处理系统。
该流式数据处理系统与订单系统和核心存款系统交互连接,具体地,订单系统中的数据存储到其关联的订单数据库中,存储系统中的数据存储到其关联的核心分布式数据库中。
本发明中,所述流式数据处理系统包括日志连接器(Binlog connector)、消息队列(Kafka)、在线流处理程序模块(Sparking Streaming)、分布式存储数据库(Hbase);其中,日志连接器一端连接订单系统的订单数据库,以从订单数据库中获取数据,日志连接器的另一端连接消息队列,以将订单数据库的数据传输至消息队列中;消息队列连接在线流处理程序模块,以将数据传输至在线处理程序模块中,最终在线处理程序模块将数据传输至分布式存储数据库。需要说明的是,消息队列还可从核心存款系统的核心分布式数据库中获取数据,同样的,将获取的数据传输至在线流处理程序模块,以由在线流处理程序模块将数据存储至分布式存储数据库中。
此外,该流式数据处理系统还包括数据仓库(Hive)、离线消息处理模块(SparkSQL),所述数据仓库接收订单数据库中的离线数据,并接收核心分布数据库中的离线数据,然后由离线消息处理模块定时在所述数据仓库中获取数据,并存储至分布式存储数据库中。
此外,该流式数据处理系统还包括查询服务模块,该查询服务模块一段与分布式存储数据库连接,另一端通过订单系统的逻辑服务与客户端连接,以接收客户端发送的数据查询请求,并根据该数据查询请求,在分布式存储数据库中获取待查询的数据并反馈。
需要说明的是,图1所示的流式数据处理系统可选应用在分布式系统基础架构Hadoop、还可应用在Strorm(实时的、分布式以及具备高容错的计算系统)或是Flink(可扩展的批处理和流式应用监控的应用监控平台),所述分布式存储数据库可为分布式存储系统Hbase或Cassandra(开源分布式NoSQL数据库系统)。
如图2所示,图2是本发明实施例方案涉及的硬件运行环境的流式数据处理系统的结构示意图。
本发明实施例的流式数据处理系统可以是多个PC、也可以是多个服务器、多个便携计算机或多个虚拟机设备等具有显示功能的设备结合的整体。
如图2所示,该流式数据处理系统可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口(例如用于连接有线键盘、有线鼠标等)、无线接口(例如用于连接无线键盘、无线鼠标)。网络接口1004可选的可以包括标准的有线接口(用于连接有线网络)、无线接口(如WI-FI接口、蓝牙接口、红外线接口等,用于连接无线网络)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图2中示出的流式数据处理系统结构并不构成对流式数据处理系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图2所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及流式数据处理程序。其中,操作系统是管理和控制流式数据处理系统与软件资源的程序,支持网络通信模块、用户接口模块、流式数据处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图2所示的流式数据处理系统中,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,以实现以下步骤:
通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及
将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。
进一步地,当数据为核心存款系统的核心数据时,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,以实现通过在线流处理程序模块从所述消息队列中,将核心存款系统的核心数据保存至分布式存储数据库中的步骤:
通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号;
若能提取到卡号,则判断所述卡号是否为订单系统产生的数据;
若所述卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
进一步地,所述通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号的步骤之后,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,还实现以下步骤:
若提取不到卡号,则根据核心数据对应的客户账号从所述分布式存储数据库中获取卡号;
判断从所述分布式存储数据库中获取的卡号是否为订单系统产生的数据;
若从所述分布式存储数据库中获取的卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
进一步地,当数据为订单系统的订单数据时,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,以实现通过在线流处理程序模块从所述消息队列中,将订单系统的订单数据保存至分布式存储数据库中的步骤:
通过在线流处理程序模块从所述消息队列中提取出订单数据对应的实际消息数据,判断所述实际消费数据是否为设定值;
若所述实际消费数据为设定值,则根据所述实际消费数据关联的卡号和交易信息构造核心数据;
以所述卡号以及所述交易信息为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
进一步地,所述判断所述实际消费数据是否为设定值的步骤之后,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,还实现以下步骤:
若所述实际消费数据不为设定值,则获取所述订单系统的订单数据对应的卡号以及业务流水号,以卡号以及业务流水号为行键,将所述订单系统中的订单数据存储至分布式存储数据库中。
进一步地,所述流式数据处理系统还包括数据仓库、离线消息处理模块,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,还实现以下步骤:
从所述订单系统和所述核心存款系统对应的备份数据库中抽取订单数据和核心数据,以将抽取的订单数据和核心数据缓存至数据仓库中;
通过离线消息处理模块定时从所述数据仓库中获取距离当前时间点为预设时长内的订单数据和核心数据,并将获取的订单数据和核心数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库原本存储的订单数据和核心数据。
进一步地,所述流式数据处理系统还包括查询服务模块,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,还实现以下步骤:
在通过查询服务模块检测到客户端发起的数据查询请求时,从所述数据查询请求中提取出卡号,并判断所述卡号是否完整;
在卡号完整的情况下,从所述数据查询请求中提取出待查询的起止时间;
将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表;
以订单数据的字段列表为行键在所述分布式存储数据库中查找订单数据,并将核心数据和订单数据通过查询服务模块反馈至所述客户端。
进一步地,所述将核心数据和订单数据通过查询服务模块反馈至所述客户端的步骤之后,所述流式数据处理系统通过处理器1001调用存储器1005中存储的流式数据处理程序,还实现以下步骤:
确定核心数据和订单数据的状态字段;
根据所述核心数据和所述订单数据的状态字段,以及预设的业务规则确定数据的显示规则;
按照确定的显示规则在所述客户端的界面中显示数据。
本实施例提出的技术方案,处理器1001调用存储器1005中存储的流式数据处理程序,以实现步骤:通过日志连接器从订单系统中读取订单数据以将读取到的数据发送至消息队列中,并将核心存款系统在记账过程中产生的核心数据发送至所述消息队列,然后通过在线流处理程序模块从所述消息队列中将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段建立两种类型的数据的关联关系。本方案实现了将两种不同类型的数据都存储到分布式存储数据库中,并建立有两种类型的数据之间的关联关系,无须用户手动将核心数据导入到订单系统中,操作便捷并且较为智能,此外,通过分布式存储数据库存储数据,该分布式存储数据库可以拓展,存储数据的容量不会受限,降低了数据存储的局限性。
基于上述流式数据处理系统的硬件结构,提出本发明流式数据处理方法各个实施例。
参照图3,图3为本发明流式数据处理方法第一实施例的流程示意图。
在本实施例中,所述流式数据处理方法应用于流式数据处理系统,所述流式数据处理系统对接订单系统和核心存款系统,所述流式数据处理系统包括日志连接器、消息队列、在线流处理程序模块、分布式存储数据库,所述流式数据处理方法包括以下步骤:
步骤S10,通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及
步骤S20,将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
步骤S30,通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。
需要说明的是,所述步骤S10和步骤S20不分先后顺序,可以是任一个步骤先执行,也可两个步骤同步执行。
在本实施例中,所述流式数据处理系统可选为图1和图2所述的流式数据处理系统,该流式数据处理系统对接订单系统和核心存款系统,其中,订单系统中的数据可存储至订单系统关联的订单数据库,核心存款系统中的数据可存储至核心存款系统关联的核心分布式数据库,所述订单数据库存在备份数据库,核心分布式数据库也存在备份数据库,主库和备库中的数据是同步存储的。所述流式数据处理系统包括日志连接器、消息队列、在线流处理程序模块、分布式存储数据库。
以下是本实施例中逐步实现流式数据处理的各个步骤:
步骤S10,通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;
在本实施例中,流式数据处理系统通过日志连接器从订单系统中读取订单数据,具体地,通过日志连接器从订单系统的订单数据库中读取订单数据,本实施例中,由于订单系统的订单数据存储至订单数据库时,同时将订单数据同步至备份订单数据库中,因此,当日志连接器从订单系统中的订单数据库读取订单数据时,为了不影响订单系统的在线交易,该日志连接器是在备份订单数据库中读取订单数据。应当理解,此时该日志连接器读取的订单数据对应的类型为binlog(二进制日志数据),当日志连接器读取到binlog数据之后,通过其内部的协议将binlog数据进行转化,以转化为消息列队可识别的数据(message),然后将转化后的订单数据发送至消息队列中。
步骤S20,将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
在本实施例中,可选核心存款系统直接将记账过程中产生的核心数据发送至消息队列中,此外,核心存款系统中产生的核心数据也会同步至核心存款系统的核心分布数据库中,以便后续发送离线的核心数据至数据仓库中。
步骤S30,通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。
当消息队列接收到订单系统的订单数据,以及接收到核心存款系统的核心数据之后,通过在线流处理程序模块从该消息队列中,将这两种类型的数据保存至分布式存储数据库中。需要说明的是,消息队列接收订单数据和核心数据是实时接收获取的,那么,在线流处理程序模块从该消息队列中获取订单数据和核心数据,同样可实时进行获取,并将获取的订单数据和核心数据保存至分布式存储数据库中。
本实施例中需要说明的是,订单系统的订单数据包括交易日期、交易时间、业务流水号和卡号等信息,核心存款系统的核心数据包括卡号、业务流水号、二维码、交易描述、持卡人信息等等,两个系统中的数据存在相同标识的字段:卡号和业务流水号,因此将订单系统的订单数据,以及将核心存款系统的核心数据存储至分布式存储数据库之后,在这两种类型的数据中查询该相同标识的字段:卡号和业务流水号,然后根据卡号和业务流水号,建立两种类型的数据之间的关联关系。具体地:在该分布式存储数据库中存储订单数据和核心数据时,以核心存款系统的核心数据作为主表,以订单系统的订单数据作为辅助表进行数据的存储,主表和辅助表通过卡号和业务流水号进行关联存储,后续基于该关联关系便于数据的查看。
本实施例提出的流式数据处理方法,先通过日志连接器从订单系统中读取订单数据以将读取到的数据发送至消息队列中,并将核心存款系统在记账过程中产生的核心数据发送至所述消息队列,然后通过在线流处理程序模块从所述消息队列中将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段建立两种类型的数据的关联关系。本方案实现了将两种不同类型的数据都存储到分布式存储数据库中,并建立有两种类型的数据之间的关联关系,无须用户手动将核心数据导入到订单系统中,操作便捷并且较为智能,此外,通过分布式存储数据库存储数据,该分布式存储数据库可以拓展,存储数据的容量不会受限,降低了数据存储的局限性。
进一步地,基于第一实施例提出本发明流式数据处理方法的第二实施例。
流式数据处理方法的第二实施例与流式数据处理方法的第一实施例的区别在于,参照图4,当数据为核心存款系统的核心数据时,通过在线流处理程序模块从所述消息队列中,将核心存款系统的核心数据保存至分布式存储数据库中的步骤包括:
步骤S31,通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号;
步骤S32,若能提取到卡号,则判断所述卡号是否为订单系统产生的数据;
步骤S33,若所述卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
在本实施例中,消息队列中存储多条核心数据,通过在线处理程序模块从该消息队列中提取各条数据时,从每一条数据中提取卡号,若能从任一条数据中提取出卡号,则继续判断提取的卡号是否为订单系统产生的数据。本实施例中,判断提取的卡号是否为订单系统产生的数据就是将该卡号与订单系统中的预存卡号进行比较,若比较出该卡号为订单系统中的预存卡号,则可确定该卡号为订单系统产生的数据,此时,以该卡号以及预设交易信息为行键,本实施例中,所述预设交易信息包括核心数据对应的交易日期、交易时间和业务流水,将该卡号以及预设交易信息为行键,可选将该卡号+交易日期+交易时间+业务流水,以将相加后的各项信息为行键,最终将核心存款系统中的核心数据存储至所述分布式存储数据库中,由于从消息队列中提取的核心数据包括多条数据,每一条核心数据对应自己的卡号和预设交易信息,因此根据每一条核心数据的卡号以及预设交易信息作为行键,即可将该核心数据存储至分布式存储数据库中。
进一步地,所述步骤S31之后,所述方法还包括:
步骤A,若提取不到卡号,则根据核心数据对应的客户账号从所述分布式存储数据库中获取卡号;
步骤B,判断从所述分布式存储数据库中获取的卡号是否为订单系统产生的数据;
步骤C,若从所述分布式存储数据库中获取的卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
即,在通过在线处理程序模块从该消息队列中提取各条数据时,先从每一条数据中提取卡号,若此时提取不到卡号,则从核心数据中提取出客户账号,然后根据该客户账号到分布式存储数据库中获取对应的卡号,从所述分布式存储数据库中提取到卡号之后,判断该卡号是否为订单系统产生的数据,即,将该卡号与订单系统中的预存卡号进行比较,若比较出该卡号为订单系统中的预存卡号,则可确定该卡号为订单系统产生的数据,此时,将该卡号以及预设交易信息为行键,所述预设交易信息同样包括交易日期、交易时间和业务流水,同样可选将该卡号+交易日期+交易时间+业务流水,以将相加后的各项信息为行键,最终将核心存款系统中的核心数据存储至所述分布式存储数据库中。
可以理解,当数据对应的卡号不为订单系统产生的数据,则直接将该核心数据进行删除或丢弃,无须存储至分布式存储数据库中。
在本实施例中,将核心存款系统中的核心数据进行存储时,先从核心数据中提取出卡号,然后判断卡号是否为订单系统中的订单数据,若是才将核心数据存储到分布式存储数据库中,若不是则无须将核心数据存储到分布式存储数据库中,防止将与订单数据无关的数据也进行存储,保证了数据存储的准确性。
进一步地,基于第一或第二实施例提出本发明流式数据处理方法的第三实施例。
流式数据处理方法的第三实施例与流式数据处理方法的第一或第二实施例的区别在于,参照图5,当数据为订单系统的订单数据时,通过在线流处理程序模块从所述消息队列中,将订单系统的订单数据保存至分布式存储数据库中的步骤包括:
步骤S34,通过在线流处理程序模块从所述消息队列中提取出订单数据对应的实际消息数据,判断所述实际消费数据是否为设定值;
步骤S35,若所述实际消费数据为设定值,则根据所述实际消费数据关联的卡号和交易信息构造核心数据;
步骤S36,以所述卡号以及所述交易信息为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
在本实施例中,消息队列中存储多条订单数据,通过在线处理程序模块从该消息队列中提取各条订单数据时,从每一条订单数据中提取出实际消息数据,然后判断提取的该实际消息数据是否为设定值,本实施例中,所述设定值可选设置为0,若该实际消费数据为设定值,说明该订单数据在核心存款系统中记录的实际消费金额为0,即该订单数据并没有通过核心存款系统记录,那么,为了将该订单数据与核心存款系统关联起来,获取该实际消费数据关联的卡号以及交易信息,所述交易信息即上文所述的交易日期+交易时间+业务流水,在获取到卡号以及交易信息之后,根据所述实际消费数据关联的卡号和交易信息构造核心数据,最终根据卡号+交易日期+交易时间+业务流水作为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
进一步地,所述步骤S34之后,所述方法还包括:
步骤D,若所述实际消费数据不为设定值,则获取所述订单系统的订单数据对应的卡号以及业务流水号,以卡号以及业务流水号为行键,将所述订单系统中的订单数据存储至分布式存储数据库中。
即,在通过在线处理程序模块从该消息队列中提取各条订单数据,先从每一条数据中提取出实际消息数据之后,若检测出该实际消费数据不为设定值,如实际消费数据不为0,则该订单系统是通过核心存款系统记录的数据,那么,可根据该实际消费数据获取对应的卡号以及业务流水号,然后将该卡号+业务流水号作为行键,并将订单系统中的订单数据存储至分布式存储数据库中。
在本实施例中,将订单系统中的订单数据进行存储时,先从订单数据中提取出实际消费数据,然后判断实际消费数据是否为设定值,若是则构造核心数据进行存储,若不是则获取该实际消费数据对应的卡号及业务流水号,并以该卡号及业务流水号为行键,将订单系统中的订单数据存储至分布式存储数据库中,以便存储到分布式存储数据库中的核心数据和订单数据是具有关联关系的数据。
进一步地,基于第一至第三实施例提出本发明流式数据处理方法的第四实施例。
流式数据处理方法的第四实施例与流式数据处理方法的第一至第三实施例的区别在于,参照图6,所述流式数据处理系统还包括数据仓库、离线消息处理模块,所述流式数据处理方法还包括:
步骤S40,从所述订单系统和所述核心存款系统对应的备份数据库中抽取订单数据和核心数据,以将抽取的订单数据和核心数据缓存至数据仓库中;
步骤S50,通过离线消息处理模块定时从所述数据仓库中获取距离当前时间点为预设时长内的订单数据和核心数据,并将获取的订单数据和核心数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库原本存储的订单数据和核心数据。
在本实施例中,该流式数据处理系统还包括数据仓库和离线消息处理模块,具体地,先从订单系统对应的备份数据库中抽取出订单数据,以及从核心存款系统对应的备份数据库中抽取出核心数据,然后将抽取的订单数据和核心数据缓存至数据仓库中,本实施例中,从两个备份数据库中抽取数据的方式,优选是通过Sqoop(一款开源的工具)等ETL(Extract-Transform-Load用于描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程)工具抽取到数据仓库中。当订单数据和核心数据缓存至数据仓库之后,离线消息处理模块定时从该数据仓库中获取数据,具体地,离线消息处理模块定时获取距离当前时间点为预设时长内的订单数据和核心数据,可选定时获取距离当前时间点为24小时以内的订单数据和核心数据,在获取到数据之后,将获取的数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库之前存储的数据,即采用新获取的数据覆盖原本存储的数据。
通过离线消息处理模块获取的数据对分布式存储数据库中原本存储的数据进行覆盖,作为对在线流处理程序模块的一种补充,防止由于各种不可知的原因造成的数据遗失,保证了数据存储的一致性和准确性。
进一步地,基于第一至第四实施例提出本发明流式数据处理方法的第五实施例。
流式数据处理方法的第五实施例与流式数据处理方法的第一至第四实施例的区别在于,参照图7,所述流式数据处理系统还包括查询服务模块,所述方法还包括:
步骤S60,在通过查询服务模块检测到客户端发起的数据查询请求时,从所述数据查询请求中提取出卡号,并判断所述卡号是否完整;
步骤S70,在卡号完整的情况下,从所述数据查询请求中提取出待查询的起止时间;
步骤S80,将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表;
步骤S90,以订单数据的字段列表为行键在所述分布式存储数据库中查找订单数据,并将核心数据和订单数据通过查询服务模块反馈至所述客户端。
在本实施例中,该流式数据处理系统还包括查询服务模块,该查询服务模块用于对数据进行查询。具体地,先通过查询服务模块接收客户端发起的数据查询,然后从该数据查询请求中提取出卡号,以判断该卡号是否完整,在卡号完整的情况下,从该数据查询请求中提取出数据待查询的起止时间,例如说2015年8月至2017年8月的数据,在确定卡号以及起止时间之后,将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找满足所述卡号以及所述起止时间的核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在该查询服务模块中过滤出订单数据的字段列表,即在核心数据中过滤出订单数据的卡号和业务流水号,并将订单数据的卡号和业务流水号作为订单数据的字段列表。
在得到订单数据的字段列表之后,以订单数据的字段列表为行键,在所述分布式存储数据库中查找对应的订单数据,最终将所述核心数据和查找到的订单数据通过查询服务模块反馈至所述客户端,从而实现数据的查询。
需要说明的是,由于在线流处理模块处理数据时需要一定的时间,因此在客户端发起查询数据查询的时候,可选查询预设时间间隔之前的核心数据,给在线流处理模块留足一定的时间,让它消费完所有数据,该预设时间间隔可根据实际情况进行配置,例如设置成2分钟,具体数值不做限定,以确保后续查询的数据是在线流处理模块都已经处理完成的数据。因此,所述步骤S80包括:
步骤E,将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据;
步骤F,判断待查找的核心数据是否为预设时间间隔之前存储的数据;
步骤G,若是,在所述分布式存储数据库中提取待查找的核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表。
在本实施例中,通过查询服务模块实现数据的查询,以便于用户查看流式数据处理的具体情况。
进一步地,所述步骤S90之后,所述方法还包括:
步骤E,确定核心数据和订单数据的状态字段;
步骤F,根据所述核心数据和所述订单数据的状态字段,以及预设的业务规则确定数据的显示规则;
步骤G,按照确定的显示规则在所述客户端的界面中显示数据。
本实施例中,核心存款系统和订单系统的数据都存在了状态字段,其中,核心存款系统的状态字段包括:0(正常)、1(被冲账);订单系统的状态字段包括:0(成功)、1(失败)、2(待处理)、3(可疑)、4(核对失败)、5(已发送待清算)、7(交易处理中)、10(撤销成功)、12(未入账)。在将数据的处理情况反馈至客户端显示之前,先确定核心数据和订单数据的状态字段,然后获取预设的业务规则,本实施例中,预设的业务规则包括两种情况:需要和不会出现,因此,在确定核心数据和订单数据的状态字段,以及预设的业务规则之后,即可根据这三种确定数据的显示规则,具体可参照图8,如图8所示,在核心数据的状态字段为0、订单数据的状态字段为3,且业务规则为需要显示时,则反馈至客户端的状态就为3(可疑);若核心数据的状态字段为1、订单数据的状态字段为5,且业务规则为需要显示时,则反馈至客户端的状态就为10(撤销成功)。
在本实施例中,对数据的显示规则进行限定,以便根据数据的状态字段和业务规则显示数据,以便更准确的显示数据的具体情况,提高流式数据处理的智能性。
综上所述,本发明的技术方案,充分发挥Spark流式流式数据处理技术,对接订单和核心存款系统,以便同时并实时处理两个系统的数据;而采用大数据技术能保存海量的数据,并且支持在线实时查看数据,提高了流式数据处理的智能性。
本发明进一步提供一种计算机可读存储介质。
所述计算机可读存储介质上存储有流式数据处理程序,所述流式数据处理程序被处理器执行时实现以下步骤:
通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及
将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系。
进一步地,当数据为核心存款系统的核心数据时,所述流式数据处理程序被处理器执行时,还实现通过在线流处理程序模块从所述消息队列中,将核心存款系统的核心数据保存至分布式存储数据库中的步骤:
通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号;
若能提取到卡号,则判断所述卡号是否为订单系统产生的数据;
若所述卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
进一步地,所述通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号的步骤之后,所述流式数据处理程序被处理器执行时,还实现以下步骤:
若提取不到卡号,则根据核心数据对应的客户账号从所述分布式存储数据库中获取卡号;
判断从所述分布式存储数据库中获取的卡号是否为订单系统产生的数据;
若从所述分布式存储数据库中获取的卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
进一步地,当数据为订单系统的订单数据时,所述流式数据处理程序被处理器执行时,还实现通过在线流处理程序模块从所述消息队列中,将订单系统的订单数据保存至分布式存储数据库中的步骤:
通过在线流处理程序模块从所述消息队列中提取出订单数据对应的实际消息数据,判断所述实际消费数据是否为设定值;
若所述实际消费数据为设定值,则根据所述实际消费数据关联的卡号和交易信息构造核心数据;
以所述卡号以及所述交易信息为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
进一步地,所述判断所述实际消费数据是否为设定值的步骤之后,所述流式数据处理程序被处理器执行时,还实现以下步骤:
若所述实际消费数据不为设定值,则获取所述订单系统的订单数据对应的卡号以及业务流水号,以卡号以及业务流水号为行键,将所述订单系统中的订单数据存储至分布式存储数据库中。
进一步地,所述流式数据处理系统还包括数据仓库、离线消息处理模块,所述流式数据处理程序被处理器执行时,还实现以下步骤:
从所述订单系统和所述核心存款系统对应的备份数据库中抽取订单数据和核心数据,以将抽取的订单数据和核心数据缓存至数据仓库中;
通过离线消息处理模块定时从所述数据仓库中获取距离当前时间点为预设时长内的订单数据和核心数据,并将获取的订单数据和核心数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库原本存储的订单数据和核心数据。
进一步地,所述流式数据处理系统还包括查询服务模块,所述流式数据处理程序被处理器执行时,还实现以下步骤:
在通过查询服务模块检测到客户端发起的数据查询请求时,从所述数据查询请求中提取出卡号,并判断所述卡号是否完整;
在卡号完整的情况下,从所述数据查询请求中提取出待查询的起止时间;
将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表;
以订单数据的字段列表为行键在所述分布式存储数据库中查找订单数据,并将核心数据和订单数据通过查询服务模块反馈至所述客户端。
进一步地,所述将核心数据和订单数据通过查询服务模块反馈至所述客户端的步骤之后,所述流式数据处理程序被处理器执行时,还实现以下步骤:
确定核心数据和订单数据的状态字段;
根据所述核心数据和所述订单数据的状态字段,以及预设的业务规则确定数据的显示规则;
按照确定的显示规则在所述客户端的界面中显示数据。
本实施例提出的技术方案,流式数据处理程序被处理器执行时,实现以下步骤:通过日志连接器从订单系统中读取订单数据以将读取到的数据发送至消息队列中,并将核心存款系统在记账过程中产生的核心数据发送至所述消息队列,然后通过在线流处理程序模块从所述消息队列中将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段建立两种类型的数据的关联关系。本方案实现了将两种不同类型的数据都存储到分布式存储数据库中,并建立有两种类型的数据之间的关联关系,无须用户手动将核心数据导入到订单系统中,操作便捷并且较为智能,此外,通过分布式存储数据库存储数据,该分布式存储数据库可以拓展,存储数据的容量不会受限,降低了数据存储的局限性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种流式数据处理方法,其特征在于,应用于流式数据处理系统,所述流式数据处理系统对接订单系统和核心存款系统,所述流式数据处理系统包括日志连接器、消息队列、在线流处理程序模块、分布式存储数据库,所述流式数据处理方法包括:
通过日志连接器从订单系统中读取订单数据,并将读取到的数据发送至消息队列中;以及
将核心存款系统在记账过程中产生的核心数据发送至所述消息队列;
通过在线流处理程序模块从所述消息队列中,将两种类型的数据保存至分布式存储数据库中,并在两种类型的数据中查询相同标识的字段,以根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系,其中,所述相同标识的字段包括卡号和业务流水号;
所述根据两种类型的数据中相同标识的字段,建立两种类型的数据的关联关系的步骤包括:
以核心存款系统的核心数据作为主表,以订单系统的订单数据作为辅助表,通过所述卡号和所述业务流水号建立所述主表和所述辅助表之间的关联关系;
所述流式数据处理系统还包括数据仓库、离线消息处理模块,所述流式数据处理方法还包括:
从所述订单系统和所述核心存款系统对应的备份数据库中抽取订单数据和核心数据,以将抽取的订单数据和核心数据缓存至数据仓库中;
通过离线消息处理模块定时从所述数据仓库中获取距离当前时间点为预设时长内的订单数据和核心数据,并将获取的订单数据和核心数据保存至所述分布式存储数据库中,以覆盖所述分布式存储数据库原本存储的订单数据和核心数据。
2.如权利要求1所述的流式数据处理方法,其特征在于,当数据为核心存款系统的核心数据时,通过在线流处理程序模块从所述消息队列中,将核心存款系统的核心数据保存至分布式存储数据库中的步骤包括:
通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号;
若能提取到卡号,则判断所述卡号是否为订单系统产生的数据;
若所述卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
3.如权利要求2所述的流式数据处理方法,其特征在于,所述通过在线流处理程序模块从所述消息队列中提取出核心数据对应的卡号的步骤之后,所述方法还包括:
若提取不到卡号,则根据核心数据对应的客户账号从所述分布式存储数据库中获取卡号;
判断从所述分布式存储数据库中获取的卡号是否为订单系统产生的数据;
若从所述分布式存储数据库中获取的卡号为订单系统产生的数据,则以所述卡号以及预设交易信息为行键,将核心存款系统的核心数据存储至所述分布式存储数据库中。
4.如权利要求1所述的流式数据处理方法,其特征在于,当数据为订单系统的订单数据时,通过在线流处理程序模块从所述消息队列中,将订单系统的订单数据保存至分布式存储数据库中的步骤包括:
通过在线流处理程序模块从所述消息队列中提取出订单数据对应的实际消费 数据,判断所述实际消费数据是否为设定值;
若所述实际消费数据为设定值,则根据所述实际消费数据关联的卡号和交易信息构造核心数据;
以所述卡号以及所述交易信息为行键,将构造的核心数据以及订单数据关联存储至分布式存储数据库中。
5.如权利要求4所述的流式数据处理方法,其特征在于,所述判断所述实际消费数据是否为设定值的步骤之后,所述方法还包括:
若所述实际消费数据不为设定值,则获取所述订单系统的订单数据对应的卡号以及业务流水号,以卡号以及业务流水号为行键,将所述订单系统中的订单数据存储至分布式存储数据库中。
6.如权利要求1-5任一项所述的流式数据处理方法,其特征在于,所述流式数据处理系统还包括查询服务模块,所述方法还包括:
在通过查询服务模块检测到客户端发起的数据查询请求时,从所述数据查询请求中提取出卡号,并判断所述卡号是否完整;
在卡号完整的情况下,从所述数据查询请求中提取出待查询的起止时间;
将所述卡号以及所述起止时间作为查询条件,在分布式存储数据库中查找核心数据,并将查找到的核心数据反馈至所述查询服务模块,以在所述查询服务模块中对所述核心数据过滤出订单数据的字段列表;
以订单数据的字段列表为行键在所述分布式存储数据库中查找订单数据,并将核心数据和订单数据通过查询服务模块反馈至所述客户端。
7.如权利要求6所述的流式数据处理方法,其特征在于,所述将核心数据和订单数据通过查询服务模块反馈至所述客户端的步骤之后,所述方法还包括:
确定核心数据和订单数据的状态字段;
根据所述核心数据和所述订单数据的状态字段,以及预设的业务规则确定数据的显示规则;
按照确定的显示规则在所述客户端的界面中显示数据。
8.一种流式数据处理系统,其特征在于,所述流式数据处理系统包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的流式数据处理程序,所述流式数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的流式数据处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流式数据处理程序,所述流式数据处理程序被处理器执行时实现如权利要求1至7任一项所述的流式数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711042157.0A CN107943841B (zh) | 2017-10-30 | 2017-10-30 | 流式数据处理方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711042157.0A CN107943841B (zh) | 2017-10-30 | 2017-10-30 | 流式数据处理方法、系统和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943841A CN107943841A (zh) | 2018-04-20 |
CN107943841B true CN107943841B (zh) | 2022-01-11 |
Family
ID=61935908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711042157.0A Active CN107943841B (zh) | 2017-10-30 | 2017-10-30 | 流式数据处理方法、系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943841B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920592B (zh) * | 2018-06-26 | 2020-11-10 | 杭州一骑轻尘信息技术有限公司 | 数据库字段关联方法及装置 |
CN108984325A (zh) * | 2018-07-20 | 2018-12-11 | 北京北信源信息安全技术有限公司 | 消息队列消费方法和装置 |
CN109145055B (zh) * | 2018-09-07 | 2020-10-30 | 杭州玳数科技有限公司 | 一种基于Flink的数据同步方法和系统 |
CN109460339B (zh) * | 2018-10-16 | 2023-02-24 | 北京趣拿软件科技有限公司 | 日志的流式计算系统 |
CN109753531A (zh) * | 2018-12-26 | 2019-05-14 | 深圳市麦谷科技有限公司 | 一种大数据统计方法、系统、计算机设备及存储介质 |
CN110765091B (zh) * | 2019-09-09 | 2022-07-22 | 未鲲(上海)科技服务有限公司 | 对账方法和系统 |
CN112579594A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 一种分享链路的获取方法和装置 |
CN110889754B (zh) * | 2019-11-19 | 2023-07-11 | 中信百信银行股份有限公司 | 提高不可透支热点账户处理效率的方法 |
CN112925795A (zh) * | 2019-12-06 | 2021-06-08 | 北京沃东天骏信息技术有限公司 | 一种订单数据的处理方法和装置 |
CN111143475B (zh) * | 2019-12-31 | 2022-12-30 | 苏宁云计算有限公司 | 一种用于Storm的数据分析的状态管理的方法及装置 |
CN111274300B (zh) * | 2020-01-19 | 2021-10-08 | 上海申昆混凝土集团有限公司 | 生产、检测数据对接方法、系统和计算机可读存储介质 |
CN112162904A (zh) * | 2020-09-25 | 2021-01-01 | 同程网络科技股份有限公司 | 订单变更过程整合方法、提取方法、整合装置和提取装置 |
CN112527841A (zh) * | 2020-12-17 | 2021-03-19 | 上海数依数据科技有限公司 | 一种流数据合并处理方法及装置 |
CN112650625A (zh) * | 2020-12-28 | 2021-04-13 | 武汉达梦数据技术有限公司 | 一种针对数据库的流式备份还原方法、存储介质及装置 |
CN112631943B (zh) * | 2020-12-31 | 2024-01-16 | 中国农业银行股份有限公司 | 一种计算软件的识别方法及装置 |
CN113434525B (zh) * | 2021-06-24 | 2023-06-09 | 青岛海尔科技有限公司 | 缓存数据的更新方法和装置、存储介质及电子装置 |
CN114860774A (zh) * | 2022-05-19 | 2022-08-05 | 宁波奥克斯电气股份有限公司 | 空调器的大数据实时分析方法、系统、存储介质和空调器 |
CN114722014B (zh) * | 2022-06-09 | 2022-09-02 | 杭银消费金融股份有限公司 | 基于数据库日志文件的批量数据时间序列传输方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620742A (zh) * | 2009-08-12 | 2010-01-06 | 国网电力科学研究院 | 一种用于三维渲染的实时数据处理方法 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
CN106875177A (zh) * | 2016-06-07 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 订单处理方法、装置及支付服务器 |
CN107301576A (zh) * | 2016-04-14 | 2017-10-27 | 苏宁云商集团股份有限公司 | 一种订单信息的处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702216A (zh) * | 2009-11-23 | 2010-05-05 | 浪潮集团山东通用软件有限公司 | 一种支持多种库存业务配置的方法 |
-
2017
- 2017-10-30 CN CN201711042157.0A patent/CN107943841B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620742A (zh) * | 2009-08-12 | 2010-01-06 | 国网电力科学研究院 | 一种用于三维渲染的实时数据处理方法 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
CN107301576A (zh) * | 2016-04-14 | 2017-10-27 | 苏宁云商集团股份有限公司 | 一种订单信息的处理方法及系统 |
CN106875177A (zh) * | 2016-06-07 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 订单处理方法、装置及支付服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN107943841A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943841B (zh) | 流式数据处理方法、系统和计算机可读存储介质 | |
US9910895B2 (en) | Push subscriptions | |
KR102105636B1 (ko) | 원격으로 애플리케이션들을 설치 | |
WO2020000719A1 (zh) | 报表系统的数据处理方法、装置及计算机可读存储介质 | |
US8346796B2 (en) | System for searching property listings based on location | |
CN109639750B (zh) | 业务数据处理方法及设备 | |
CN107451208B (zh) | 一种数据搜索方法与装置 | |
CN108401026B (zh) | 基于区块链的数据存储方法、系统及计算机可读存储介质 | |
US11561972B2 (en) | Query conversion for querying disparate data sources | |
AU2011247915B2 (en) | Enhancing an inquiry for a search of a database | |
CN109669980B (zh) | 数据跨库访问方法及装置 | |
CN106326243B (zh) | 一种数据处理方法及装置 | |
CN108052661B (zh) | 分布式环境下的聚合检索的方法、装置及可读存储介质 | |
CN112416991A (zh) | 一种数据处理方法、装置以及存储介质 | |
US11860870B2 (en) | High efficiency data querying | |
US11269856B2 (en) | Methods, apparatuses, and systems for ingesting and consuming data utilizing a trading partner manager | |
CN107729341B (zh) | 电子装置、信息查询控制方法和计算机可读存储介质 | |
CN111159131A (zh) | 性能优化方法、装置、设备及计算机可读存储介质 | |
US11620284B2 (en) | Backend data aggregation system and method | |
CN112905600A (zh) | 数据查询方法、装置和存储介质及电子设备 | |
KR20150136338A (ko) | 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 | |
CN110704486A (zh) | 数据处理方法、装置、系统、存储介质和服务器 | |
CN112202850B (zh) | 智能柜售后维护工单系统及处理方法 | |
US20160330276A1 (en) | Methods, system, and server for constructing microblog management circle | |
CN112988879B (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 |