CN111311142A - 一种定制化实时数据高效推送方法及系统 - Google Patents
一种定制化实时数据高效推送方法及系统 Download PDFInfo
- Publication number
- CN111311142A CN111311142A CN201911400949.XA CN201911400949A CN111311142A CN 111311142 A CN111311142 A CN 111311142A CN 201911400949 A CN201911400949 A CN 201911400949A CN 111311142 A CN111311142 A CN 111311142A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- manufacturer
- service
- value domain
- 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
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种定制化实时数据高效推送方法及系统,集中接入业务系统传输数据;将接入的数据初始化到Redis缓存中,Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据推送任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;根据外部厂商或机构的对接方式,推送生成的报文。本发明减少了重复开发、测试、联合调试过程大量的人力资源和时间投入,提高了数据推送的时效性。
Description
技术领域
本发明涉及数据处理技术,具体涉及一种定制化实时数据高效推送方法。
背景技术
在物流订单生产调度过程中,各大快递查询平台、合作厂商及相关政府机构都需要在自己的终端快速的查询到快递派送状态及相关数据,且各平台对数据上报推送的时效性也有较高考核标准。现有技术多采用定时集中轮询的模式向各终端依次推送数据,数据时效性较差。每新增一家都需要重新对接开发,人力资源的消耗严重,同时业务系统给到统一推送平台的数据存在冗余,这样加重了服务器和网络传输的负担。
发明内容
本发明的目的在于提供一种定制化实时数据高效推送方法及系统。
实现本发明目的的技术解决方案为:一种定制化实时数据高效推送方法,具体包括如下步骤:
集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据推送任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
根据外部厂商或机构的对接方式,推送生成的报文。
作为一种优选实施方式,所述Redis缓存按业务类型分配数据管道是指,将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。
作为一种优选实施方式,所述线程组中的线程对缓存数据进行二次加工是指,按各厂家/机构定制化标准对数据进行二次加工,处理过程包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文。
作为一种更优选实施方式,所述线程组中的线程对缓存数据进行二次加工时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域;然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终推送的报文;
所述字段映射关系表、值域转换配置表、厂商推送配置信息表预先配置,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
作为一种优选实施方式,所述外部厂商或机构的对接方式与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式;
如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果,如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文;
如果是通过FTP对接方式推送,则需要进行二次中转处理,先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据,如果报送出现异常,补偿机制会再次重试上报。
一种定制化实时数据高效推送系统,包括业务系统数据接入模块、数据缓存模块、报文生成模块、报文推送模块,其中:
所述业务系统数据接入模块用于集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
所述数据缓存模块用于将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
所述报文生成模块针对每个数据管道配置一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据推送任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
所述报文推送模块用于根据外部厂商或机构的对接方式,推送生成的报文。
作为一种优选实施方式,所述报文生成模块中Redis缓存按业务类型分配数据管道是指,将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。
作为一种优选实施方式,所述报文生成模块中线程组的线程对缓存数据进行二次加工是指,按各厂家/机构定制化标准对数据进行二次加工,处理过程包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文。
作为一种更优选实施方式,所述报文生成模块中线程组的线程对缓存数据进行二次加工时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域;然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终推送的报文;
所述字段映射关系表、值域转换配置表、厂商推送配置信息表预先配置,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
作为一种优选实施方式,所述外部厂商或机构的对接方式与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式,所述报文推送模块的推送处理分以下两种情况:
如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果,如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文;
如果是通过FTP对接方式推送,则需要进行二次中转处理,先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据,如果报送出现异常,补偿机制会再次重试上报。
本发明与现有技术相比,其显著优点为:1)采用模板自动生成最终外推的标准报文,减少了重复开发、测试、联合调试过程大量的人力资源和时间投入;2)将不同业务分拆到不同的队列进行隔离处理,提高了系统的吞吐量,采用多线程技术加快了报文处理速度,提高了http直推方式的速度,能更快速的将最新产生的数据到达各外部厂商和机构,提高了数据的时效性,用户体验更好;3)对需要二次集中组装打包以文件形式做数据交互的情况,采用文件服务器集中存储,数据库只记录打包后的文件信息,通过统一调度平台定时推送,同时对于上报异常的数据,有完善的补偿机制,无需业务系统重新补推数据,降低了系统消耗,提高了数据上报效率。
附图说明
图1为本发明定制化实时数据高效推送方法的流程图。
图2为本发明任务线程组内部处理流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,本发明定制化实时数据高效推送方法,具体包括如下步骤:
步骤1,集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名等数据;
步骤2,将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道(自定义队列),业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
由于接收数据的机构中有些为地方机构,只需接收当地地域范围内产生的数据,有些厂家也存在只需要部分快递作业轨迹节点的情况。本发明将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。这样减少了业务系统和推送平台的请求交互次数,规避了作业高峰期,业务系统回传数据对推送平台造成冲击的风险,提高了系统的吞吐量。此外,业务通过管道得到了很好的隔离处理,互不干扰,即使某业务出现拥堵滞后处理,也不至于影响到其他业务的数据推送。
步骤3,每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
本发明采用生产者消费者模式,使用多个任务线程组充当MQ的消费者角色,按各厂家/机构定制化标准对数据进行二次加工,生成所需推送的报文,如图2所示,任务线程组中线程的职责包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文。
一些实施例中,预先配置了字段映射关系表、值域转换配置表、厂商推送配置信息表,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式(http/ftp)、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
在推送程序启动过程中,先加载维护好的模板,字段映射、任务线程组、值域转换关系、地域信息等配置数据,若有改动及时推送后重新加载数据。当线程组中的线程根据缓存数据生成用户所需的报文时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域。然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终用户需要的详细报文。
由于业务系统只需要按照推送平台制定的标准格式推送一份完整的数据到推送平台即可,无需按外部对接的终端系统不同格式的要求重复开发功能,本发明从根本上解决了相同业务需要以不同形式重复传输的问题,减少了重复开发、测试、联合调试工作中人力资源和时间投入。对新接入厂商推送只需要通过系统做好相关配置就可以支持链路的串联调试。
步骤4,根据与外部厂商或机构的对接方式,推送生成的报文。
处理后的报文跟外部厂商或机构的对接方式,与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式。
如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果。如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文。
一些实施例中,补偿机制会按5分钟、10分钟、30分钟的时间频率做推送重试。这个过程简化了再次从业务系统发起,推送系统多次重复工作的处理流程,可有效避免各系统资源消耗,提高时效性。
如果是通过对端非HTTP接口方式,即FTP对接方式,则需要进行二次中转处理。先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据。如果报送出现异常,补偿机制会再次重试上报。由于外部客户中采用ftp方式的不多,所以针对不同的客户,处理后的报文会写入各自的业务基础数据表。
一些实施例中,调度平台JOB按照预先设定的频率,每隔n分钟从业务基础数据表中抓取一次数据,按照对端要求单次打包文件内容不超过2万个报文进行报文打包,打包好后的文件上传至文件服务系统OSS,OSS返回文件下载的url地址,删除基础数据表中已经打包过的数据。同时将文件下载的url地址保存到业务调度表中,调度平台FTP上传JOB会一次对业务调度表中的文件上传至对端的FTP服务器,保存成功后标记表中该数据为上报成功,业务调度表和oss上文件会保留一个月时间,倘若上报失败,补偿JOB会按频率进行重试,如果多次未处理成功,会发出告警提醒到相关负责人关注。
本发明定制化实时数据高效推送系统,包括业务系统数据接入模块、数据缓存模块、报文生成模块、报文推送模块,其中:
所述业务系统数据接入模块用于集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名等数据。
所述数据缓存模块用于将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道(自定义队列),业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存。
本发明数据缓存模块将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。这样减少了业务系统和推送平台的请求交互次数,规避了作业高峰期,业务系统回传数据对推送平台造成冲击的风险,提高了系统的吞吐量。此外,业务通过管道得到了很好的隔离处理,互不干扰,即使某业务出现拥堵滞后处理,也不至于影响到其他业务的数据推送。
所述报文生成模块针对每个数据管道配置一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
本发明报文生成模块采用生产者消费者模式,使用多个任务线程组充当MQ的消费者角色,按各厂家/机构定制化标准对数据进行二次加工,生成所需推送的报文,如图2所示,任务线程组中线程的职责包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文;
一些实施例中,推送系统预先配置了字段映射关系表、值域转换配置表、厂商推送配置信息表,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式(http/ftp)、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
在推送系统启动过程中,先加载维护好的模板,字段映射、任务线程组、值域转换关系、地域信息等配置数据,若有改动及时推送后重新加载数据。当报文生成模块线程组中的线程根据缓存数据生成用户所需的报文时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域。然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终用户需要的详细报文。
由于业务系统只需要按照推送平台制定的标准格式推送一份完整的数据到推送平台即可,无需按外部对接的终端系统不同格式的要求重复开发功能,本发明从根本上解决了相同业务需要以不同形式重复传输的问题,减少了重复开发、测试、联合调试工作中人力资源和时间投入。对新接入厂商推送只需要通过系统做好相关配置就可以支持链路的串联调试。
所述报文推送模块用于根据外部厂商或机构的对接方式,推送生成的报文。
由于处理后的报文跟外部厂商或机构的对接方式,与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式。所述报文推送模块的推送方式分为以下两种情况,如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果。如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文。
一些实施例中,补偿机制会按5分钟、10分钟、30分钟的时间频率做推送重试。这个过程简化了再次从业务系统发起,推送系统多次重复工作的处理流程,可有效避免各系统资源消耗,提高时效性。
如果是通过对端非HTTP接口方式,即FTP对接方式,则需要进行二次中转处理。先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据。如果报送出现异常,补偿机制会再次重试上报。由于外部客户中采用ftp方式的不多,所以针对不同的客户,处理后的报文会写入各自的业务基础数据表。
一些实施例中,调度平台JOB按照预先设定的频率,每隔n分钟从业务基础数据表中抓取一次数据,按照对端要求单次打包文件内容不超过2万个报文进行报文打包,打包好后的文件上传至文件服务系统OSS,OSS返回文件下载的url地址,删除基础数据表中已经打包过的数据。同时将文件下载的url地址保存到业务调度表中,调度平台FTP上传JOB会一次对业务调度表中的文件上传至对端的FTP服务器,保存成功后标记表中该数据为上报成功,业务调度表和oss上文件会保留一个月时间,倘若上报失败,补偿JOB会按频率进行重试,如果多次未处理成功,会发出告警提醒到相关负责人关注。
本发明还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
根据外部厂商或机构的对接方式,推送生成的报文。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
根据外部厂商或机构的对接方式,推送生成的报文。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.定制化实时数据高效推送方法,其特征在于,具体包括如下步骤:
集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
每个数据管道对应一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据推送任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
根据外部厂商或机构的对接方式,推送生成的报文。
2.根据权利要求1所述的定制化实时数据高效推送方法,其特征在于,所述Redis缓存按业务类型分配数据管道是指,将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。
3.根据权利要求1所述的定制化实时数据高效推送方法,其特征在于,所述线程组中的线程对缓存数据进行二次加工是指,按各厂家/机构定制化标准对数据进行二次加工,处理过程包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文。
4.根据权利要求3所述的定制化实时数据高效推送方法,其特征在于,所述线程组中的线程对缓存数据进行二次加工时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域;然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终推送的报文;
所述字段映射关系表、值域转换配置表、厂商推送配置信息表预先配置,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
5.根据权利要求1所述的定制化实时数据高效推送方法,其特征在于,所述外部厂商或机构的对接方式与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式;
如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果,如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文;
如果是通过FTP对接方式推送,则需要进行二次中转处理,先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据,如果报送出现异常,补偿机制会再次重试上报。
6.定制化实时数据高效推送系统,其特征在于,包括业务系统数据接入模块、数据缓存模块、报文生成模块、报文推送模块,其中:
所述业务系统数据接入模块用于集中接入业务系统传输数据,包括物流订单、快递作业轨迹、作业人员、作业网点、实名制用户名;
所述数据缓存模块用于将接入的数据初始化到Redis缓存中,所述Redis缓存按业务类型分配数据管道,业务系统传输的数据被接入后,会按照数据所属的业务类型,分配到不同数据管道中缓存;
所述报文生成模块针对每个数据管道配置一个任务线程组,用于监听各业务类型队列,当任务线程组收到数据推送任务后,线程组中的线程对缓存数据进行二次加工,生成用户所需推送的报文;
所述报文推送模块用于根据外部厂商或机构的对接方式,推送生成的报文。
7.根据权利要求6所述的定制化实时数据高效推送系统,其特征在于,所述报文生成模块中Redis缓存按业务类型分配数据管道是指,将具有相同接入标准的同类客户作为一组,对同组客户分配一个自定义队列MQ,用于缓存每组客户的数据。
8.根据权利要求6所述的定制化实时数据高效推送系统,其特征在于,所述报文生成模块中线程组的线程对缓存数据进行二次加工是指,按各厂家/机构定制化标准对数据进行二次加工,处理过程包括解析报文、地域分流、字段转换、值域信息的转换、获取目标模板、按模板生成报文。
9.根据权利要求6所述的定制化实时数据高效推送系统,其特征在于,所述报文生成模块中线程组的线程对缓存数据进行二次加工时,首先利用字段映射关系表查询厂商所有需要转换的字段;利用厂商推送配置表查询客户使用的报文模板,以及是否需要进行值域转换;利用值域转换配置表查询所有需要转换的字段以及转换后对应的值域;然后根据获取的信息,对模板中的字段一一进行赋值以及值域转换,生成最终推送的报文;
所述字段映射关系表、值域转换配置表、厂商推送配置信息表预先配置,其中字段映射表中会配置厂商、业务类型、原始字段名、转换后字段名;值域转换配置表中会配置厂商、字段名、原值域、转换后值域;厂商推送信息配置表中会配置厂商名、接入身份、接入秘钥、对接方式、推送地址、字符编码、接口超时时间、ftp缺省目录、使用报文模板、是否需要做值域转换。
10.根据权利要求6所述的定制化实时数据高效推送系统,其特征在于,所述外部厂商或机构的对接方式与用于生成报文的数据所述的业务类型相关,包括http接口方式和FTP对接方式,所述报文推送模块的推送处理分以下两种情况:
如果是通过HTTP接口方式直连推送,则对报文进行加密签名,并携带客户身份调用对端接口,解析返回的响应结果,如果返回接收失败,后续补偿机制启动,对业务系统发起补发通知,推送系统记录转换后的报文;
如果是通过FTP对接方式推送,则需要进行二次中转处理,先将处理后的报文保存进数据库中对应的业务基础数据表中,采用JOB方式进行打包、加密、压缩存储到分布式文件系统OSS中,返回对应的文件下载地址,存入到该业务对应的业务调度表中,后续由JOB定时任务进行FTP上传报送数据,如果报送出现异常,补偿机制会再次重试上报。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400949.XA CN111311142B (zh) | 2019-12-31 | 2019-12-31 | 一种定制化实时数据高效推送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400949.XA CN111311142B (zh) | 2019-12-31 | 2019-12-31 | 一种定制化实时数据高效推送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311142A true CN111311142A (zh) | 2020-06-19 |
CN111311142B CN111311142B (zh) | 2022-09-16 |
Family
ID=71150841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911400949.XA Active CN111311142B (zh) | 2019-12-31 | 2019-12-31 | 一种定制化实时数据高效推送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311142B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416633A (zh) * | 2020-12-18 | 2021-02-26 | 世纪恒通科技股份有限公司 | 一种向外部系统推送数据并实现数据同步的方法和系统 |
CN112463828A (zh) * | 2020-11-02 | 2021-03-09 | 马上消费金融股份有限公司 | 一种数据处理方法、装置、设备、系统及可读存储介质 |
CN114979039A (zh) * | 2022-06-21 | 2022-08-30 | 国网电商科技有限公司 | 一种数据处理方法及装置 |
CN115208947A (zh) * | 2022-09-16 | 2022-10-18 | 北京中科江南信息技术股份有限公司 | 一种业务信息推送方法、系统及存储介质 |
CN118411101A (zh) * | 2024-07-03 | 2024-07-30 | 澳优乳业(中国)有限公司 | 交易单证的处理方法、装置、电子设备、介质和程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614412A (zh) * | 2018-12-11 | 2019-04-12 | 江苏瑞中数据股份有限公司 | 基于电力行业的云上数据发布服务两级共享缓存分析策略 |
CN109634996A (zh) * | 2018-10-25 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 客户信息表生成方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-12-31 CN CN201911400949.XA patent/CN111311142B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634996A (zh) * | 2018-10-25 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 客户信息表生成方法、装置、设备及计算机可读存储介质 |
CN109614412A (zh) * | 2018-12-11 | 2019-04-12 | 江苏瑞中数据股份有限公司 | 基于电力行业的云上数据发布服务两级共享缓存分析策略 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463828A (zh) * | 2020-11-02 | 2021-03-09 | 马上消费金融股份有限公司 | 一种数据处理方法、装置、设备、系统及可读存储介质 |
CN112416633A (zh) * | 2020-12-18 | 2021-02-26 | 世纪恒通科技股份有限公司 | 一种向外部系统推送数据并实现数据同步的方法和系统 |
CN114979039A (zh) * | 2022-06-21 | 2022-08-30 | 国网电商科技有限公司 | 一种数据处理方法及装置 |
CN115208947A (zh) * | 2022-09-16 | 2022-10-18 | 北京中科江南信息技术股份有限公司 | 一种业务信息推送方法、系统及存储介质 |
CN118411101A (zh) * | 2024-07-03 | 2024-07-30 | 澳优乳业(中国)有限公司 | 交易单证的处理方法、装置、电子设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111311142B (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111311142B (zh) | 一种定制化实时数据高效推送方法及系统 | |
RU2365049C2 (ru) | Система и способ использования упакованных сжатых буферов для улучшенной передачи данных между клиентом и сервером | |
JP2023520851A (ja) | ブロックチェーンメッセージ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム | |
CN101316226B (zh) | 一种获取资源的方法、装置及系统 | |
CN108933727B (zh) | 消息回执的处理方法和装置 | |
CN111475376B (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN112765103B (zh) | 一种文件解析方法、系统、装置及设备 | |
CN111885516A (zh) | 多渠道接入的短信配置方法、装置、计算机设备及存储介质 | |
CN105681113A (zh) | 一种基于SaltStack的自动化运维方法 | |
CN114172929B (zh) | 通信方法、装置以及网关 | |
CN110995566A (zh) | 一种消息数据推送方法、系统及装置 | |
CN114553953A (zh) | 一种区块链的java智能合约的事件推送方法 | |
CN110620819B (zh) | 区块链交互方法、装置、计算机设备及可读存储介质 | |
CN116628111A (zh) | 数据处理转换方法及装置 | |
CN113342764A (zh) | 不同云端服务器之间的数据同步方法及装置 | |
CN110190974A (zh) | 实时行情数据分发方法及装置 | |
CN118113781A (zh) | Redis同步方法、装置、存储介质与处理器 | |
CN112865927A (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN110113384A (zh) | 网络请求处理方法、装置、计算机设备和存储介质 | |
CN115967175A (zh) | 一种面向储能电站边缘端数据采集控制装置及方法 | |
CN111125207B (zh) | 一种数据获取方法、装置、连接器及presto引擎 | |
CN109688204B (zh) | 基于ndn网络的文件下载方法、节点、终端 | |
CN110113390A (zh) | 网络请求处理方法、装置、计算机设备和存储介质 | |
CN114844898B (zh) | 一种互联网接入方法、装置及系统 | |
CN113015203B (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 |