CN104023072A - 数据推送装置及方法 - Google Patents
数据推送装置及方法 Download PDFInfo
- Publication number
- CN104023072A CN104023072A CN201410265903.2A CN201410265903A CN104023072A CN 104023072 A CN104023072 A CN 104023072A CN 201410265903 A CN201410265903 A CN 201410265903A CN 104023072 A CN104023072 A CN 104023072A
- Authority
- CN
- China
- Prior art keywords
- data
- pushing
- state
- module
- classified
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据推送装置和方法。本发明的数据推送装置包括数据拉取模块、数据分流模块以及数据推送模块,其中,所述数据拉取模块用于从数据源拉取数据并存储;所述数据分流模块用于对所述数据拉取模块拉取的数据进行分类并存储;所述数据推送模块用于获取并存储已分类的数据,以及将已分类的数据推送至相应客户端。本发明的数据推送装置的各个模块可以分开部署,职责分离,互不依赖,因此保证了各个服务之间互不影响,提高了性能、降低了潜在的问题。此外,本发明的方法和装置还考虑了数据获取次数和是否处理成功,因此能通过数据的状态了解数据推送状态,保证了推送成功率,降低了数据丢失率。
Description
技术领域
本发明涉及数据通信技术领域,尤其涉及一种数据推送装置及方法。
背景技术
机票业务出票、票面状态更改、航班变更等,对于机票代理平台或代理商只能被动的从黑屏或其他渠道查看,不能实时知晓并自动化处理。为了解决该问题,航信主机部和DIP等通过技术手段把实时数据统一放到MQ的方式,供后续的使用。由于网络和安全性的考虑,代理人或非航信的平台要获取该数据,需要通过航信提供的其他通道获取,现在一般有通过Socket协议或其他API从航信服务器拿数据,或提供一个工具供代理人或平台使用。然而,这种数据获取方式属于被动获取,不能做到对数据进行实时获取,从而容易造成信息延误以及信息不对称,给代理人及旅客带来损失。
发明内容
有鉴于此,本发明提供了一种数据推送装置及方法,通过从数据源主动拉取数据并推送至客户端,实现了数据的按类分发以及实时推送,满足了及时获取数据的需求。
本发明提供的一种数据推送装置,包括:数据拉取模块、数据分流模块以及数据推送模块,其中,
所述数据拉取模块用于从数据源拉取数据并存储;
所述数据分流模块用于对所述数据拉取模块拉取的数据进行分类并存储;
所述数据推送模块用于获取并存储已分类的数据,以及将已分类的数据推送至相应客户端。
所述数据推送模块包括多个推送子模块,每个推送子模块用于从数据分流模块处获取相应类型的数据。
所述推送子模块还用于解析所述相应类型的数据,得到待推送信息,并将解析得到的待推送信息推送至相应客户端。
所述数据推送模块还包括状态维护子模块,所述状态维护子模块用于维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。
所述推送子模块还用于根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
所述状态维护子模块通过接收各个客户端的反馈信息,对推送状态进行更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
本发明还提供了一种数据推送方法,包括:
步骤1:数据拉取模块从数据源拉取数据并存储;
步骤2:数据分流模块对所述数据拉取模块拉取的数据进行分类并存储;
步骤3:数据推送模块获取并存储已分类的数据,并将已分类的数据推送至相应客户端。
所述步骤3包括:
步骤3.1:所述数据推送模块中的多个推送子模块分别从数据分流模块处获取相应类型的数据;
步骤3.2:所述各个推送子模块分别解析相应类型的数据得到待推送信息,并分别将解析得到的待推送信息推送至相应客户端。
所述步骤3还包括:步骤3.3:所述数据推送模块中的状态维护子模块维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。
所述步骤3还包括:
步骤3.4:所述推送子模块根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
在所述步骤3.3中,所述状态维护子模块是通过接收各个客户端的反馈信息,实现对推送状态的更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
在所述步骤2中,所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
综上所述,本发明的数据推送装置的各个模块可以分开部署,职责分离,互不依赖,因此保证了各个服务之间互不影响,提高了性能、降低了潜在的问题。此外,本发明的方法和装置还考虑了数据获取次数和是否处理成功,因此能通过数据的状态了解数据推送状态,保证了推送成功率,降低了数据丢失率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据推送装置的结构示意图;
图2为本发明一实施例提供的数据推送方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的数据推送装置的结构示意图,如图1所示,本实施例的数据推送装置,包括:数据拉取模块、数据分流模块以及数据推送模块,分别提供数据拉取服务、数据分流服务以及数据推送服务。这3大服务可以各自分开部署,独立启动和停止,3大服务都只依赖数据库,因此只要数据拉取服务拿到数据,就能保证数据不丢失,如果推送过程失败,数据推送模块还有二次推送服务为失败数据处理。其中,
所述数据拉取模块用于从数据源拉取数据并存储;数据拉取模块通过数据源获取数据并汇总存储。
所述数据分流模块用于对所述数据拉取模块拉取的数据进行分类并存储;数据分流模块通过事先约定的规则对数据进行分流并存储,一般规则是按照用户和用户的具体报文而定,因为每种数据的处理方式和推送目的地都不一样,每个分流后的数据都有一个独立的数据推送子模块处理该类数据,但推送代码逻辑流程几乎一样,因此方便增加服务处理新增数据。使用独立的推送服务是能用多进程,或多服务器处理,提高每种数据的处理能力。
可选地,所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
所述数据推送模块用于获取并存储已分类的数据,以及将已分类的数据推送至相应客户端。
可选地,所述数据推送模块可以包括多个推送子模块,每个推送子模块用于从数据分流模块处获取相应类型的数据。
可选地,所述推送子模块还用于解析所述相应类型的数据,得到待推送信息,并将解析得到的待推送信息推送至相应客户端。
可选地,所述数据推送模块还包括状态维护子模块,所述状态维护子模块用于维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。
可选地,所述状态维护子模块通过接收各个客户端的反馈信息,对推送状态进行更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
可选地,所述推送子模块还用于根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
数据推送模块从后台系统获取到客户的数据报文后,会通过相关协议标准解析数据,然后根据事先约定,把其需要的PNR、票号、航段等数据信息主动推送给事先约定的域名地址,发送到如:
http://www.abc.com/service/receiveTicketsServlet
的地址,推送采用多线程方式,默认同时10个线程推送,推送方式为主动post一段xml数据到约定的域名地址,post的数据默认采用UTF-8编码。数据格式如下:
其中Time为主动推送服务推送时的时间,ValidNo为各个节点和验证码字符串连接后再做MD5,该值用于校验,为:PNR+BPNR+TN+Time+“abcd”后的MD5大写值。具体值或需要新增修改的参数会再与开发人员沟通。
客户收到主动推送项目post的数据后,一般的处理流程:
收到XML后,解析或直接持久化数据库,保存成功后直接输出“OK”字符串。我们判断收到“OK”反馈字符串后,则认为数据推送成功,数据推送模块将不会再发送该XML数据。否则没有收到“OK”字符串,推送接口项目大约每5分钟将再次发送该XML,如果没有收到“OK”,总共将发送5次。
本实施例的装置包括3大核心服务模块以及监控服务模块,具体实施过程如下:
在不同机器部署搭建数据推送3大服务模块:数据拉取模块、数据分流模块以及数据推送模块以及监控服务模块。
执行设计好的数据库SQL,搭建数据库环境。表存储包括3块:数据临时存储器;分类待推送数据;分类数据存储器。
先开启数据拉取模块拉取数据后,即可执行后续分发和推送服务流程。
分类待推送数据里的表结构设计需要特别考虑,是否推送成功和逻辑处理了多少次都需要有标识。
图2为本发明一实施例提供的数据推送方法的流程示意图,如图2所示,本实施例的数据推送方法,包括:
步骤1:数据拉取模块从数据源拉取数据并存储;
步骤2:数据分流模块对所述数据拉取模块拉取的数据进行分类并存储;
可选地,在所述步骤2中,所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
步骤3:数据推送模块获取并存储已分类的数据,并将已分类的数据推送至相应客户端。
可选地,所述步骤3可以包括:
步骤3.1:所述数据推送模块中的多个推送子模块分别从数据分流模块处获取相应类型的数据;
步骤3.2:所述各个推送子模块分别解析相应类型的数据得到待推送信息,并分别将解析得到的待推送信息推送至相应客户端。
可选地,所述步骤3还可以包括:步骤3.3:所述数据推送模块中的状态维护子模块维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。在所述步骤3.3中,所述状态维护子模块是通过接收各个客户端的反馈信息,实现对推送状态的更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
可选地,所述步骤3还可以包括:
步骤3.4:所述推送子模块根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
综上所述,本发明的数据推送装置的各个模块可以分开部署,职责分离,互不依赖,因此保证了各个服务之间互不影响,提高了性能、降低了潜在的问题。此外,本发明的方法和装置还考虑了数据获取次数和是否处理成功,因此能通过数据的状态了解数据推送状态,保证了推送成功率,降低了数据丢失率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种数据推送装置,包括数据拉取模块、数据分流模块以及数据推送模块,其特征在于,
所述数据拉取模块用于从数据源拉取数据并存储;
所述数据分流模块用于对所述数据拉取模块拉取的数据进行分类并存储;
所述数据推送模块用于获取并存储已分类的数据,以及将已分类的数据推送至相应客户端。
2.根据权利要求1所述的一种数据推送装置,其特征在于,所述数据推送模块包括多个推送子模块,每个推送子模块用于从数据分流模块处获取相应类型的数据。
3.根据权利要求2所述的一种数据推送装置,其特征在于,所述推送子模块还用于解析所述相应类型的数据,得到待推送信息,并将解析得到的待推送信息推送至相应客户端。
4.根据权利要求1所述的一种数据推送装置,其特征在于,所述数据推送模块还包括状态维护子模块,所述状态维护子模块用于维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。
5.根据权利要求4所述的一种数据推送装置,其特征在于,所述推送子模块还用于根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
6.根据权利要求5所述的一种数据推送装置,其特征在于,所述状态维护子模块通过接收各个客户端的反馈信息,对推送状态进行更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
7.根据权利要求1-6之一所述的一种数据推送装置,其特征在于,所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
8.一种数据推送方法,其特征在于,所述方法包括:
步骤1:数据拉取模块从数据源拉取数据并存储;
步骤2:数据分流模块对所述数据拉取模块拉取的数据进行分类并存储;
步骤3:数据推送模块获取并存储已分类的数据,并将已分类的数据推送至相应客户端。
9.根据权利要求8所述的一种数据推送方法,其特征在于,所述步骤3包括:
步骤3.1:所述数据推送模块中的多个推送子模块分别从数据分流模块处获取相应类型的数据;
步骤3.2:所述各个推送子模块分别解析相应类型的数据得到待推送信息,并分别将解析得到的待推送信息推送至相应客户端。
10.根据权利要求9所述的一种数据推送方法,其特征在于,所述步骤3还包括:步骤3.3:所述数据推送模块中的状态维护子模块维护状态表,其中,所述状态表用于记录各个已分类的数据的状态,包括推送状态、推送次数。
11.根据权利要求10所述的一种数据推送方法,其特征在于,所述步骤3还包括:
步骤3.4:所述推送子模块根据状态维护子模块中的推送状态确定是否对已推送信息进行再次推送。
12.根据权利要求11所述的一种数据推送方法,其特征在于,在所述步骤3.3中,所述状态维护子模块是通过接收各个客户端的反馈信息,实现对推送状态的更新,其中,所述反馈信息用于反馈客户端是否成功接收推送信息。
13.根据权利要求8-12之一所述的一种数据推送方法,其特征在于,在所述步骤2中,所述数据分流模块根据数据的类型、数据的客户端类型对所述拉取的数据进行分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410265903.2A CN104023072A (zh) | 2014-06-13 | 2014-06-13 | 数据推送装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410265903.2A CN104023072A (zh) | 2014-06-13 | 2014-06-13 | 数据推送装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104023072A true CN104023072A (zh) | 2014-09-03 |
Family
ID=51439641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410265903.2A Pending CN104023072A (zh) | 2014-06-13 | 2014-06-13 | 数据推送装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104023072A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539740A (zh) * | 2015-01-26 | 2015-04-22 | 北京奇艺世纪科技有限公司 | 一种信息推送方法及装置 |
CN104601668A (zh) * | 2014-12-24 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 基于状态管理的数据推送方法、装置和系统 |
CN105072181A (zh) * | 2015-08-07 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种基于通知调度中心的消息数据分发系统及其方法 |
CN107566450A (zh) * | 2017-08-02 | 2018-01-09 | 北京奇艺世纪科技有限公司 | 一种实时用户行为的数据处理方法、装置及电子设备 |
CN109147964A (zh) * | 2018-09-11 | 2019-01-04 | 成都九洲电子信息系统股份有限公司 | 基于有线电视网的医嘱多维推送方法 |
CN109873904A (zh) * | 2019-03-05 | 2019-06-11 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
CN109905477A (zh) * | 2019-02-28 | 2019-06-18 | 厦门中控智慧信息技术有限公司 | 一种数据推送的方法及设备 |
CN110324384A (zh) * | 2018-03-30 | 2019-10-11 | 北京京东尚科信息技术有限公司 | 数据推送的方法和装置 |
CN110782380A (zh) * | 2019-10-30 | 2020-02-11 | 北京创鑫旅程网络技术有限公司 | 航变信息管理方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616428A (zh) * | 2009-04-15 | 2009-12-30 | 北京协成致远网络科技有限公司 | 一种移动数据业务监控分析系统及其实现方法 |
CN101655868A (zh) * | 2009-09-03 | 2010-02-24 | 中国人民解放军信息工程大学 | 网络数据挖掘方法、网络数据推送方法及设备 |
CN103095819A (zh) * | 2013-01-04 | 2013-05-08 | 微梦创科网络科技(中国)有限公司 | 推送数据信息的方法及数据信息推送系统 |
US20130263018A1 (en) * | 2012-03-29 | 2013-10-03 | Sony Network Entertainment International Llc | Extracting media content from social networking services |
CN103368992A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种信息推送方法及装置 |
-
2014
- 2014-06-13 CN CN201410265903.2A patent/CN104023072A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616428A (zh) * | 2009-04-15 | 2009-12-30 | 北京协成致远网络科技有限公司 | 一种移动数据业务监控分析系统及其实现方法 |
CN101655868A (zh) * | 2009-09-03 | 2010-02-24 | 中国人民解放军信息工程大学 | 网络数据挖掘方法、网络数据推送方法及设备 |
CN103368992A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种信息推送方法及装置 |
US20130263018A1 (en) * | 2012-03-29 | 2013-10-03 | Sony Network Entertainment International Llc | Extracting media content from social networking services |
CN103095819A (zh) * | 2013-01-04 | 2013-05-08 | 微梦创科网络科技(中国)有限公司 | 推送数据信息的方法及数据信息推送系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601668A (zh) * | 2014-12-24 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 基于状态管理的数据推送方法、装置和系统 |
CN104601668B (zh) * | 2014-12-24 | 2019-01-18 | 北京京东尚科信息技术有限公司 | 基于状态管理的数据推送方法、装置和系统 |
CN104539740A (zh) * | 2015-01-26 | 2015-04-22 | 北京奇艺世纪科技有限公司 | 一种信息推送方法及装置 |
CN105072181A (zh) * | 2015-08-07 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种基于通知调度中心的消息数据分发系统及其方法 |
CN107566450A (zh) * | 2017-08-02 | 2018-01-09 | 北京奇艺世纪科技有限公司 | 一种实时用户行为的数据处理方法、装置及电子设备 |
CN107566450B (zh) * | 2017-08-02 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 一种实时用户行为的数据处理方法、装置及电子设备 |
CN110324384A (zh) * | 2018-03-30 | 2019-10-11 | 北京京东尚科信息技术有限公司 | 数据推送的方法和装置 |
CN109147964A (zh) * | 2018-09-11 | 2019-01-04 | 成都九洲电子信息系统股份有限公司 | 基于有线电视网的医嘱多维推送方法 |
CN109905477A (zh) * | 2019-02-28 | 2019-06-18 | 厦门中控智慧信息技术有限公司 | 一种数据推送的方法及设备 |
CN109873904A (zh) * | 2019-03-05 | 2019-06-11 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
CN110782380A (zh) * | 2019-10-30 | 2020-02-11 | 北京创鑫旅程网络技术有限公司 | 航变信息管理方法、装置和存储介质 |
CN110782380B (zh) * | 2019-10-30 | 2022-07-08 | 北京创鑫旅程网络技术有限公司 | 航变信息管理方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104023072A (zh) | 数据推送装置及方法 | |
US9418241B2 (en) | Unified platform for big data processing | |
US9906477B2 (en) | Distributing retained messages information in a clustered publish/subscribe system | |
US8914809B1 (en) | Message broker system and method | |
ES2812765T3 (es) | Aparato, sistema y método para procesar datos de registro de aplicaciones | |
US9699145B2 (en) | Masking data within JSON-type documents | |
CN102447701A (zh) | 一种网络信息交互方法及网络安全系统 | |
CN103927338A (zh) | 日志信息入库处理方法和装置 | |
CN108256870B (zh) | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 | |
WO2019223178A1 (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN104077420A (zh) | 一种数据导入HBase数据库的方法和装置 | |
CN103973782A (zh) | 一种基于黑名单命令设置的运维操作控制系统及其方法 | |
CN113938321B (zh) | 可扩展的运维管理系统、方法、电子设备和可读存储介质 | |
US10700934B2 (en) | Communication control device, communication control method, and computer program product | |
CN105657677A (zh) | 一种短信发送方法、短信网关及业务平台 | |
US20200293997A1 (en) | Maintenance staff scheduling method based on compound internet of things (iot) and iot system | |
US20150278272A1 (en) | System and method for supporting data type conversion in a heterogeneous computing environment | |
CN106302388B (zh) | 一种可配置的信息系统安全审计方法与装置 | |
CN103646015A (zh) | 发送、接收以及传输xml报文的方法和系统 | |
US10673624B2 (en) | Communication control device, communication control method, and computer program product | |
CN106330675A (zh) | 一种企业多会议资源整合即时通讯系统 | |
CN112053150A (zh) | 一种数据处理方法、装置及存储介质 | |
CN111221787A (zh) | 一种文件处理方法及装置 | |
CN106951427B (zh) | 一种业务对象的数据抽取方法及装置 | |
CN109583787A (zh) | 工单处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140903 |
|
RJ01 | Rejection of invention patent application after publication |