WO2017181872A1 - 数据处理系统以及方法 - Google Patents

数据处理系统以及方法 Download PDF

Info

Publication number
WO2017181872A1
WO2017181872A1 PCT/CN2017/080093 CN2017080093W WO2017181872A1 WO 2017181872 A1 WO2017181872 A1 WO 2017181872A1 CN 2017080093 W CN2017080093 W CN 2017080093W WO 2017181872 A1 WO2017181872 A1 WO 2017181872A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
module
processing module
source
access terminal
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.)
Ceased
Application number
PCT/CN2017/080093
Other languages
English (en)
French (fr)
Inventor
杨燕明
赵根苗
茅毓铭
徐湧
占卫平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Publication of WO2017181872A1 publication Critical patent/WO2017181872A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Definitions

  • the present application proposes a method for data distribution and extraction, which separates a source access end from a target access end.
  • the source access end and the target access end can access the data processing system by using the same communication protocol, and the source access end performs the data format (for example, the first format) and the publishing mode agreed upon with the data processing system. Data release.
  • the target access end performs data extraction according to a data format (for example, a second format) and a subscription mode agreed upon with the data processing system.
  • the source access point and the target access end are not directly coupled to each other and therefore do not affect each other.
  • the method of the present application also supports simultaneous access of multiple sources and multiple targets, supports one data multiple extraction, supports data format conversion, and can realize smooth release and extraction of data under high transaction volume.
  • the task scheduling module is configured to schedule the first data segment to the sending process based on subscription task information from the target access terminal Module.
  • the task scheduling module is configured to periodically poll each data segment stored in the data cache.
  • the task scheduling module is configured to schedule the first data segment to the transmission processing module in a case where it is determined that the first data segment is not full when the predetermined time is exceeded.
  • the first data stores a check value in the header for the receiving processing module to verify the integrity and correctness of the first data.
  • the second data also has a check value in the header, so that the target access end verifies the integrity and correctness of the second data.
  • a method for data distribution and extraction between a source access terminal and a target access terminal includes: receiving first data having a first format from the source access terminal (step A); performing checksum decompression and reduction on the first data to obtain source data (step B); And decompressing the restored source data according to its type and storing the data segment in the data cache (step C); scheduling the data to be sent according to the data segment (step D); and converting the data to be sent into having The second data of the second format is sent to the target access terminal (step E).
  • step D may include scheduling the first data segment based on subscription task information from the target access terminal when determining that the first data segment stored in the data cache is full.
  • step D may further include periodically polling the numbers stored in the data cache. According to paragraph.
  • the first data segment is scheduled in a case where it is determined that the first data segment is not full when the predetermined time is exceeded.
  • the first data stores a check value in the header for the receiving processing module to verify the integrity and correctness of the first data.
  • FIG. 1 is a flow chart showing a method of data distribution and extraction according to an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of a data processing system according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of data caching in accordance with an embodiment of the present application.
  • a data distribution and data extraction method is illustrated.
  • the source access terminal (referred to as the source end) performs data distribution, and sends a message to the data processing system according to the data format and the distribution mode agreed with the data processing system.
  • the data processing system feeds back the processing situation to the source end, and the source end determines the subsequent data location according to the feedback situation.
  • the data processing system sends the data subscribed by the target access terminal to the target access terminal according to the data format and the extraction mode agreed with the target access terminal.
  • the target access end (referred to as the target end) feeds back the processing to the data processing system, and the data processing system determines the subsequent data processing according to the feedback situation.
  • FIG. 2 further illustrates a block diagram of a data processing system in accordance with an embodiment of the present application.
  • the data processing system includes a communication interaction module, a data cache module, a reception processing module, a task scheduling module, and a transmission processing module.
  • each module will be introduced separately.
  • the communication interaction module is an intermediary between the data source and the target.
  • the source access terminal sends the data to be released to the communication interaction module, and the target access terminal also performs data extraction from the communication interaction module.
  • the communication interaction module is responsible for connecting the source end and the target end, and is responsible for invoking the subsequent module, and sends the processing status to the source end and the target end.
  • all data sources (systems) and data destinations (systems) need to adopt a uniform access standard when connecting to a data processing system.
  • the data processing system supports communication with the source data terminal or the target data terminal by means of TCP/IP, file, IPC, etc., but the content of the communication must follow the unified standard and format.
  • the content of the message/file may comprise two components, in order: a header, a data field. Its structure is shown in the following table:
  • the header is the first data element of the message/file, and records basic information such as data type, data length, number of data, data source identifier, data destination identifier, and check code.
  • One or more data records can be carried in the data field.
  • the target end (identified as SUB) and the data processing system agree that the source data type needs to be extracted as part of A1 (assuming the converted length is 30 bytes), then the data processing system will pass the TCP/IP method to the target end. Transfer the following message:
  • the data processing system After the source and the data processing system agree on the basic information such as the data type, the data processing system generates a series of data caches for the source data.
  • the main purpose of data caching is to coordinate the processing efficiency of upstream and downstream systems and improve the performance of data processing.
  • the cache uses a segmented scrolling approach.
  • the data sent by the upstream source is stored in the data cache in order after receiving, and the data received by the downstream target is sent out in order from the data cache.
  • the data buffer is in an equilibrium state and acts as a buffer.
  • the data processing capability of the downstream target end cannot keep up with the data transmission capability of the upstream source, the data cache may be blocked after a period of time. At this time, the data processing system may instruct the upstream source system to suspend transmission (for example, requesting a certain time to resend or Is to reduce the speed of sending commands and other instructions).
  • the data customized by the downstream target end the data of the first format agreed by the source end and the data processing system may not necessarily be the same in format and order. Therefore, it is necessary to perform certain processing and cutting on the data stored in the data cache to generate a conformity.
  • the data processing system implements the common location-based data processing and cutting rules, such as copying, adding, modifying, deleting, etc., and the data content customized by the downstream target end can be obtained by configuring the parameters.
  • the receiving processing module is configured to receive the packet sent by the communication interaction module. Since the communication interaction module is only responsible for data transmission, the receiving processing module needs to parse the externally sent data. In an embodiment, the receiving processing module needs to perform operations such as source data verification, source data decompression and restoration, and data cache processing on the data sent by the source end.
  • the source data check verifies the data content (data to be processed) sent by the source end to ensure the integrity and correctness of the data sent.
  • a KEY value is generated for each access end (including the source and the target), and the access end adopts an algorithm agreed with the data processing system according to the KEY value, for example, an algorithm such as MD5/DES may be used.
  • the data field in the sent message (after compression) is calculated, and the calculated result is filled in the check value field in the message header.
  • the data processing system rejects the source data of the failed verification (returns a response message, where the data field indicates the reason for the rejection).
  • the source data is decompressed and restored, and the source data packet sent by the source end is decompressed, and the decompression is adopted by the access end.
  • a good compression/decompression algorithm for example, an algorithm such as zlib/lzma. Compression can significantly reduce the amount of data transfer and greatly improve the overall performance of the data processing system.
  • the source data cache process stores the source data that has been verified and decompressed and restored in the data cache, and the data processing system sequentially writes the data write type according to the type of the data sent.
  • the subsequent task scheduling module When it is found that the segment is full, it will immediately call the subsequent task scheduling module to process the data in the segment; when it finds that there is no available segment, it will return the instruction to suspend the transmission to the source, and the source receives the response. , will pause the work to resend this data after the specified time.
  • the task scheduling module is responsible for processing the data after the receiving processing module writes the cache, and its main function is to route the subscription task information of the target end according to the agreement between the target end and the data processing system, and to process the data segment (not every data).
  • the scheduling is dispatched to subsequent transmission processing modules for data distribution.
  • the data buffer segment is scheduled to be dispatched in two cases. One is that the receiving processing module finds that the segment is full and notifies the task scheduling module to perform scheduling, and the other is that the task scheduling module polls for discovery. If there is data in the segment but it is not filled for more than the specified time, the design is to make the data dispatched and dispatched in time.
  • this task scheduling module is designed to handle such one-to-many, many-to-many data task routing and conversion. .
  • the task scheduling module determines, according to the subscription task information table, which target receiving end to send the data segment to be processed, and sends the target end data by calling the sending processing module.
  • the task scheduling module also monitors the processing of the specified data segment to all associated target terminals that have integrity requirements for the data, and re-calls when the data on a segment is found to have no feedback for a long time.
  • the sending processing module continues the data distribution of the segment cache to prevent the sending process from exiting abnormally.
  • the transmit processing module can have two functions, one is responsible for processing the task scheduling module.
  • the processing request indicates that the data in the specified data buffer segment is converted and processed according to the rule and sent to the target end; the second is responsible for processing the response returned by the target end, and if the data sent last time receives a failure response or no response timeout Will be sent again.
  • the sending processing module needs to perform operations such as target data verification, cache processing, and the like on the feedback response sent by the target end.
  • the target data check verifies the feedback response content sent by the target end, ensures that the response is consistent with the request, ensures the integrity and correctness of the data, and the verification method is consistent with the source data check. deal with.
  • the target data cache processing is processed for the feedback response content sent by the target end. If the feedback response sent by the target end is successfully processed, it indicates that the data processing system can continue to process the remaining data to be processed in the segment. The target can be placed in the "Completed” state until all data in the segment has been processed. When all target-side states that have subscribed to the data become "completed", the segment can be freed from the data cache. If the feedback response sent by the target end is an abnormal response, subsequent processing is performed according to the exception handling method agreed with the target end (such as skipping, resending several times, or isolating the specified target end).
  • the exception handling method agreed with the target end (such as skipping, resending several times, or isolating the specified target end).
  • the sending processing module processes only the specified cached data segment.
  • the sending processing module converts to the specified target data type one by one according to the conversion rule, and the data to be processed in the segment ends or reaches
  • the communication interaction module is called to send out.
  • the data transformation system supports simple location-based copying, replacement, adding, content filtering and other functions, and can flexibly extend the deformation transformation rules by developing dynamic libraries.
  • Rule number Rule step behavior specific contents Rule 1 1 filter 141–143 is equal to 'S20' Rule 2 1 copy 1–20 Rule 2 2 copy 40–50 Rule 2 3 replace 60–65 for *** Rule 3 1 copy 1–20 Rule 3 2 replace 40–50 for ABCD
  • a data processing system can include a communication interaction module configured to couple with the source access terminal and the target access terminal and receive the first format from the source access terminal a data processing unit, configured to receive the first data having the first format from the communication interaction module, perform verification and decompression on the first data to obtain source data, and verify And the source data after being restored by the decompression is stored in the data cache according to the type thereof; the sending processing module converts the data to be sent into the second data having the second format, and a communication interaction module is sent to the target access terminal; and a task scheduling module is disposed between the receiving processing module and the sending processing module, and configured to schedule data to be sent according to a data segment Send the processing module to the said.
  • a method of data distribution and extraction between a source access terminal and a target access terminal may include: receiving, by the source access terminal, first data having a first format; performing checksum decompression and reduction on the first data to obtain source data; and passing the verification and decompressing the restored data
  • the source data is stored in the data cache according to the type of the data segment; the data to be sent is scheduled according to the data segment; the data to be transmitted is converted into the second data having the second format, and sent to the target access end.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种数据处理系统及数据发布与抽取方法,其中,所述数据处理系统包括:通信交互模块,所述通信交互模块配置成与源接入端和目标接入端耦合,并从所述源接入端接收具有第一格式的第一数据;接收处理模块,所述接收处理模块配置成从所述通信交互模块接收具有所述第一格式的所述第一数据,对所述第一数据进行校验和解压还原从而得到源数据,并将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;发送处理模块,所述发送处理模块将待发送数据转换为具有第二格式的第二数据,并经由所述通信交互模块发送给所述目标接入端;以及任务调度模块,所述任务调度模块设置在所述接收处理模块与所述发送处理模块之间,其配置成把待发送的数据按数据段调度给所述发送处理模块。

Description

数据处理系统以及方法 技术领域
本申请涉及数据处理系统,以及在源接入端与目标接入端之间进行数据发布与抽取的方法。
背景技术
当前在源数据库与目标数据库之间进行数据抽取方法基本上是基于关系数据库的功能,大致有以下几种:(1)直接查询源库上的数据并将查询的结果插入或更新到目标数据库;(2)通过数据库日志、镜像、归档等方法将源数据库上的变化同步到目标数据库;(3)通过ETL等专用工具实现。
上述现有技术的方法不能满足当前的需要,特别是存在频繁数据抽取的情形下。现有技术的方法容易导致一份数据被多次从源数据库向目标数据库传输,需要多次访问源数据库。这尽管保证了数据的相对准确性,但需要以处理性能大打折扣为代价。另外,现有技术中还存在对数据库依赖大、抽取方法对源数据库影响大、部署分散和安全例外等问题。
因此,需要一种改进的数据发布与抽取的方法。
发明内容
为了解决上述问题,本申请提出了一种数据发布与抽取的方法,将源接入端与目标接入端分离。具体来说,可将源接入端与目标接入端采用相同的通信协议接入数据处理系统,源接入端按照与数据处理系统约定的数据格式(例如,第一格式)与发布方式进行数据发布。目标接入端按照与数据处理系统约定的数据格式(例如,第二格式)与订阅方式进行数据抽取。源接入端与目标接入端由于不是直接耦合在一起,因而不会相互影响。另外,本申请的方法还支持多个源、多个目标同时接入,支持一份数据多次抽取,支持数据格式转换,能够在高交易量的情况下,实现数据的平稳发布与抽取。
根据本申请的一个方面,提供了一种数据处理系统。该数据处理系统可包括:通信交互模块,配置成与源接入端和目标接入端耦合,并从所述源接入端接收具有第一格式的第一数据;接收处理模块,配置成从所述通信交互模块接收具 有所述第一格式的所述第一数据,对所述第一数据进行校验和解压还原从而得到源数据,并将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;发送处理模块,所述发送处理模块将待发送数据转换为具有第二格式的第二数据,并经由所述通信交互模块发送给所述目标接入端;以及任务调度模块,所述任务调度模块设置在所述接收处理模块与所述发送处理模块之间,其配置成把待发送的数据按数据段调度给所述发送处理模块。
在上述数据处理系统中,在所述接收处理模块发现存储在数据缓存中的第一数据段已经写满时,所述接收处理模块配置成通知所述任务调度模块。
在上述数据处理系统中,在接收到所述接收处理模块的通知后,所述任务调度模块配置成基于来自所述目标接入端的订阅任务信息将所述第一数据段调度给所述发送处理模块。
在上述数据处理系统中,所述任务调度模块配置成定期轮询存储在所述数据缓存中的各数据段。
在上述数据处理系统中,在确定第一数据段在超过规定时间仍未写满的情况下,所述任务调度模块配置成将该第一数据段调度给所述发送处理模块。
在上述数据处理系统中,所述第一数据在头部存有校验值,以供所述接收处理模块校验所述第一数据的完整性与正确性。
在上述数据处理系统中,所述第二数据在头部也存有校验值,以供所述目标接入端校验所述第二数据的完整性与正确性。
根据本申请的另一个方面,提供了一种在源接入端与目标接入端之间进行数据发布与抽取的方法。该方法包括:从所述源接入端接收具有第一格式的第一数据(步骤A);对所述第一数据进行校验和解压还原从而得到源数据(步骤B);将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中(步骤C);把待发送的数据按数据段进行调度(步骤D);以及将所述待发送数据转换为具有第二格式的第二数据,并发送给所述目标接入端(步骤E)。
在上述方法中,步骤D可包括:在确定存储在数据缓存中的第一数据段已经写满时,基于来自所述目标接入端的订阅任务信息对所述第一数据段进行调度。
在上述方法中,步骤D还可包括:定期轮询存储在所述数据缓存中的各数 据段。在确定第一数据段在超过规定时间仍未写满的情况下,对该第一数据段进行调度。
在上述方法中,所述第一数据在头部存有校验值,以供所述接收处理模块校验所述第一数据的完整性与正确性。
在上述方法中,所述第二数据在头部也存有校验值,以供所述目标接入端校验所述第二数据的完整性与正确性。
相对于现有技术,本申请实现了源接入端与目标接入端解耦,使得两个接入端之间没有直接依赖关系。同时,源接入端、目标接入端可以是异构系统,所处理数据也可以是非关系数据库产生的数据,数据的类型更为多样。通过配置一对多的数据发布与抽取方法,可以减轻对源接入端的压力,节省大量的数据传输。
附图说明
在参照附图阅读了本申请的具体实施方式以后,本领域技术人员将会更清楚地了解本申请的各个方面。本领域技术人员应当理解的是:这些附图仅仅用于配合具体实施方式说明本申请的技术方案,而并非意在对本申请的保护范围构成限制。
图1是根据本申请的实施例的数据发布与抽取的方法的流程示意图;
图2是根据本申请的实施例的数据处理系统的结构示意图;以及
图3是根据本申请的实施例的数据缓存示意图。
具体实施方式
下面介绍的是本申请的多个可能实施例中的一些,旨在提供对本申请的基本了解,并不旨在确认本申请的关键或决定性的要素或限定所要保护的范围。容易理解,根据本申请的技术方案,在不变更本申请的实质精神下,本领域的一般技术人员可以提出可相互替换的其它实现方式。因此,以下具体实施方式以及附图仅是对本申请的技术方案的示例性说明,而不应当视为本申请的全部或者视为对本申请技术方案的限定或限制。
根据本申请的一个实施例,如图1所示,示出了一种数据发布与数据抽取方法。如图1所示,在步骤①,源接入端(简称源端)进行数据发布,按照与数据处理系统约定的数据格式与发布方式发送报文给数据处理系统。在步骤②,数据处理系统将处理的情况反馈给源端,源端则根据反馈的情况决定后续的数据处 理。在步骤③,数据处理系统按照与目标接入端约定的数据格式与抽取方式,将目标接入端订阅的数据发送给目标接入端。在步骤④,目标接入端(简称目标端)将处理的情况反馈给数据处理系统,数据处理系统根据反馈的情况决定后续的数据处理。
图2进一步示出了根据本申请的一个实施例的数据处理系统的结构示意图。如图2所示,数据处理系统包括通信交互模块、数据缓存模块、接收处理模块、任务调度模块以及发送处理模块。在下文中,将就各个模块分别进行介绍。
1.通信交互模块
在图2中,通信交互模块是数据源端与目标端的中介。源接入端会将待发布数据发送给通信交互模块,而目标接入端也会从通信交互模块进行数据抽取。在一个实施例中,通信交互模块对外负责连接源端和目标端,对内负责调用后续模块,并将处理的情况发送给源端、目标端。
在一个实施例中,所有的数据源端(系统)、数据目标端(系统)在与数据处理系统连接时,需要采用统一的接入标准。例如,数据处理系统支持采用TCP/IP、文件、IPC等方式与源数据端或目标数据端进行通信,但通信的内容必须遵循统一标准与格式。
在一个实施例中,报文/文件的内容可包含两个组成部分,依次是:头部、数据域。其结构如下表所示:
表1:报文/文件的内容结构图
头部 数据域
头部是报文/文件的第一个数据元素,主要记录了数据类型、数据长度、数据条数、数据源端标识、数据目标端标识、校验码等基本信息。数据域里可以携带一条或多条数据记录。
例如,源端(标识为PUB)与数据处理系统约定将其内部每条100个字节的数据(类型定义为A001),通过压缩打包的方式发布到数据处理系统(标识为GDDS),则源端可以通过TCP/IP方式传输如下报文:
Figure PCTCN2017080093-appb-000001
而目标端(标识为SUB)与数据处理系统约定需要抽取源数据类型为A1中的部分内容(假定转换后的长度为30字节),则数据处理系统就会向目标端通过TCP/IP方式传输如下报文:
Figure PCTCN2017080093-appb-000002
2、数据缓存模块
当源端与数据处理系统约定好数据类型等基本信息后,数据处理系统会为源端数据生成一系列数据缓存。数据缓存的主要目的是为了协调上下游系统的处理效率,提高数据处理的性能。
在一个实施例中,缓存采用分段滚动的处理方式。如图3所示,上游源端发送的数据是接收以后按顺序存放在数据缓存中的,下游目标端接收的数据是从数据缓存中按顺序发送出去的。当上游源端和下游目标端的数据收/发处理能力差不多时,数据缓存处在一个平衡状态并起到缓冲的作用。当下游目标端的数据处理能力赶不上上游源端的数据发送能力时,数据缓存在一段时间后可能会被堵满,这时数据处理系统会指示上游源端系统暂缓发送(例如要求暂停一定时间再发送或者是降低速度发送等指令)。
下游目标端所定制的数据,来源于源端与数据处理系统约定的第一格式的数据有时在格式、顺序上可能未必相同,因此需要对数据缓存中存储的数据进行一定的加工裁剪,生成符合下游目标端要求的第二格式的数据。数据处理系统实现了常用的基于位置的数据加工裁剪规则,例如复制、新增、修改、删除等,通过配置参数就能得到下游目标端订制的数据内容。
按照对数据完整理性的要求,被区分成有一致性要求的和非一致性要求的两种:对于有一致性要求的数据,只有当目标端顺序处理完这些数据并返回了成功应答以后,数据缓存段中的这些数据才可以被释放;对于非一致性要求的数据,数据处理系统调用通信交互模块成功发出以后,数据缓存段中的这些数据就可以被释放,从而实现整个数据缓存区的分段滚动循环使用。
3、接收处理模块
接收处理模块用于接收通信交互模块上送的报文。由于通信交互模块仅负责数据的传递,故接收处理模块需要对外部上送的数据进行解析处理。在一个实施例中,接收处理模块对于源端上送的数据,需要进行源数据校验、源数据解压还原、数据缓存处理等操作。
源数据校验针对源端上送的数据内容(待处理的数据)进行校验,保证上送数据的完整性与正确性。在一个具体的实施例中,为每个接入端(包括源与目标)生成一个KEY值,接入端根据这个KEY值,采用与数据处理系统约定的算法,例如可以采用MD5/DES等算法,对上送报文中的数据域(压缩过后)进行计算,并将计算的结果填入报文头部中的校验值域中。数据处理系统对于校验失败的源端数据予以拒绝(回送一个应答报文,其中的数据域指示拒绝原因)。
源数据解压还原针对源端上送的源数据包进行解压,解压采用与接入端约 定好的压缩/解压算法,例如可以采用zlib/lzma等算法。压缩能显著降低数据传输体量,大幅提升数据处理系统的整体性能。
源数据缓存处理将校验通过并解压还原过后的源数据存放在数据缓存中,数据处理系统根据上送的数据类型在数据缓存当前写入位置顺序写入。当发现所在段已经写满了,会立即调用后续的任务调度模块处理该段中的这些数据;当发现没有可用段时,则会向源端返回暂缓发送的指令,源端收到此应答后,将暂停工作到指定时间之后重新发送这次的数据。
4、任务调度模块
任务调度模块负责处理接收处理模块写入缓存后的数据,其主要功能是根据目标端与数据处理系统的约定,将目标端的订阅任务信息进行路由,把待处理的数据段(不是每一条数据)调度给后续的发送处理模块进行数据的分发。
在一个实施例中,数据缓存段在两种情况下会被调度出去,一种是接收处理模块发现该段已经写满了会通知任务调度模块进行调度,另一种是任务调度模块轮询发现该段中存在数据但超过了规定时间仍未写满的情况,这样设计是为了使数据及时被调度分发出去。
由于存在一个源端的数据可能被抽取分发到多个目标端,为了更好地实现任务的并发,设计了此任务调度模块,用于处理这种一对多、多对多的数据任务路由和转换。任务调度模块根据订阅任务信息表决定待处理的数据段要发送给哪些目标接收端,通过调用发送处理模块进行目标端数据的发送。
序号 源数据类型 目标数据类型 数据订阅规则
1 A001 B001 规则1
2 A001 B002 规则2
3 A002 B003 规则3
此外,在一个实施例中,任务调度模块还会监控指定数据段发送给所有对该数据有完整性要求的关联目标端的处理情况,当发现某段上的数据长时间没有反馈应答时,重新调用发送处理模块继续该段缓存的数据分发,防止有发送处理进程异常退出的情况。
5、发送处理模块
在一个实施例中,发送处理模块可具有两个功能,一是负责处理任务调度模块指 示的处理请求,将指定数据缓存段中的数据根据规则进行转换处理并发送给目标端;二是负责处理目标端返回的应答,对于上次发送的数据若收到失败应答或者超时无应答时将再次发送。
在一个实施例中,发送处理模块对于目标端上送的反馈应答,需要进行目标数据校验、缓存处理等操作。
目标数据校验针对目标端上送的反馈应答内容进行校验,确保应答与请求一致,保证数据的完整性与正确性,校验方法与源数据校验一致,校验不通过的应答做丢弃处理。
在一个实施例中,目标数据缓存处理针对目标端上送的反馈应答内容进行处理,若目标端上送的反馈应答是成功处理,则表示数据处理系统可以继续处理该段中其余待处理数据,直至该段中所有数据都被处理完毕就可以将该目标端置为“已完成”状态。当所有订阅了该数据的目标端状态都变成了“已完成”状态时,就可以从数据缓存中释放掉该段。若目标端上送的反馈应答是异常应答,则根据与目标端约定的异常处理方法进行后续处理(比如跳过、重新发送若干次或者隔离指定目标端等策略)。
在一个实施例中,发送处理模块仅处理指定的缓存数据段,对于段中的数据,发送处理模块根据转换规则,逐一转换为指定的目标数据类型,等该段中待处理的数据结束或者达到与目标端约定的每个数据包的最大数据条数时,就调用通信交互模块发送出去。其中的形变转换规则,目前数据处理系统支持简单的基于位置的拷贝、替换、新增、内容过滤等功能,并且可以支持通过开发动态库灵活地扩展形变转换规则。
规则序号 规则步骤 行为 具体内容
规则1 1 过滤 141–143等于'S20'
规则2 1 拷贝 1–20
规则2 2 拷贝 40–50
规则2 3 替换 60–65换为***
规则3 1 拷贝 1–20
规则3 2 替换 40–50换为ABCD
综上,提供了一种数据处理系统。该数据处理系统可包括:通信交互模块,配置成与源接入端和目标接入端耦合,并从所述源接入端接收具有第一格式的第 一数据;接收处理模块,配置成从所述通信交互模块接收具有所述第一格式的所述第一数据,对所述第一数据进行校验和解压还原从而得到源数据,并将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;发送处理模块,所述发送处理模块将待发送数据转换为具有第二格式的第二数据,并经由所述通信交互模块发送给所述目标接入端;以及任务调度模块,所述任务调度模块设置在所述接收处理模块与所述发送处理模块之间,其配置成把待发送的数据按数据段调度给所述发送处理模块。
根据本申请的另一方面,还提供了一种在源接入端与目标接入端之间(具体来说,在数据处理系统中)进行数据发布与抽取的方法。该方法可包括:从所述源接入端接收具有第一格式的第一数据;对所述第一数据进行校验和解压还原从而得到源数据;将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;把待发送的数据按数据段进行调度;将所述待发送数据转换为具有第二格式的第二数据,并发送给所述目标接入端。
上文中,参照附图描述了本申请的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本申请的精神和范围的情况下,还可以对本申请的具体实施方式作各种变更和替换。这些变更和替换都落在本申请权利要求书所限定的范围内。

Claims (11)

  1. 一种数据处理系统,包括:
    通信交互模块,所述通信交互模块配置成与源接入端和目标接入端耦合,并从所述源接入端接收具有第一格式的第一数据;
    接收处理模块,所述接收处理模块配置成从所述通信交互模块接收具有所述第一格式的所述第一数据,对所述第一数据进行校验和解压还原从而得到源数据,并将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;
    发送处理模块,所述发送处理模块将待发送数据转换为具有第二格式的第二数据,并经由所述通信交互模块发送给所述目标接入端;以及
    任务调度模块,所述任务调度模块设置在所述接收处理模块与所述发送处理模块之间,其配置成把待发送的数据按数据段调度给所述发送处理模块。
  2. 如权利要求1所述的数据处理系统,其中,在所述接收处理模块发现存储在数据缓存中的第一数据段已经写满时,所述接收处理模块配置成通知所述任务调度模块。
  3. 如权利要求2所述的数据处理系统,其中,在接收到所述接收处理模块的通知后,所述任务调度模块配置成基于来自所述目标接入端的订阅任务信息将所述第一数据段调度给所述发送处理模块。
  4. 如权利要求1所述的数据处理系统,其中,所述任务调度模块配置成定期轮询存储在所述数据缓存中的各数据段。
  5. 如权利要求4所述的数据处理系统,其中,在确定第一数据段在超过规定时间仍未写满的情况下,所述任务调度模块配置成将该第一数据段调度给所述发送处理模块。
  6. 如权利要求1所述的数据处理系统,其中,所述第一数据在头部存有校验值,以供所述接收处理模块校验所述第一数据的完整性与正确性。
  7. 一种在源接入端与目标接入端之间进行数据发布与抽取的方法,所述方法包括:
    步骤A:从所述源接入端接收具有第一格式的第一数据;
    步骤B:对所述第一数据进行校验和解压还原从而得到源数据,
    步骤C:将校验通过并解压还原后的所述源数据根据其类型分数据段存储在数据缓存中;
    步骤D:把待发送的数据按数据段进行调度;以及
    步骤E:将所述待发送数据转换为具有第二格式的第二数据,并发送给所述目标接入端。
  8. 如权利要求7所述的方法,其中,步骤D包括:在确定存储在数据缓存中的第一数据段已经写满时,基于来自所述目标接入端的订阅任务信息对所述第一数据段进行调度。
  9. 如权利要求7所述的方法,其中,步骤D包括:定期轮询存储在所述数据缓存中的各数据段。
  10. 如权利要求9所述的方法,其中,步骤D还包括:在确定第一数据段在超过规定时间仍未写满的情况下,对该第一数据段进行调度。
  11. 如权利要求7所述的方法,其中,所述第一数据在头部存有校验值,以供所述接收处理模块校验所述第一数据的完整性与正确性。
PCT/CN2017/080093 2016-04-22 2017-04-11 数据处理系统以及方法 Ceased WO2017181872A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610252966.3A CN105843966A (zh) 2016-04-22 2016-04-22 数据处理系统以及方法
CN201610252966.3 2016-04-22

Publications (1)

Publication Number Publication Date
WO2017181872A1 true WO2017181872A1 (zh) 2017-10-26

Family

ID=56588673

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/080093 Ceased WO2017181872A1 (zh) 2016-04-22 2017-04-11 数据处理系统以及方法

Country Status (2)

Country Link
CN (1) CN105843966A (zh)
WO (1) WO2017181872A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843966A (zh) * 2016-04-22 2016-08-10 中国银联股份有限公司 数据处理系统以及方法
CN106775977B (zh) * 2016-12-09 2020-06-02 北京小米移动软件有限公司 任务调度方法、装置及系统
CN108243146B (zh) * 2016-12-23 2020-01-24 中科星图股份有限公司 一种信息提交方法
CN107368370A (zh) * 2017-07-04 2017-11-21 合肥市乐腾科技咨询有限公司 一种高效率数据处理系统
CN109558448B (zh) * 2018-10-10 2021-04-06 北京海数宝科技有限公司 数据处理方法、装置、计算机设备和存储介质
CN110572373A (zh) * 2019-08-20 2019-12-13 北京安盟信息技术股份有限公司 一种数据交换平台和文件数据流处理方法
CN111629026A (zh) * 2020-04-07 2020-09-04 青岛奥利普自动化控制系统有限公司 一种基于mes的数据交互方法和设备
CN112148782B (zh) * 2020-09-24 2023-01-20 建信金融科技有限责任公司 市场数据接入方法及装置
CN112925557B (zh) * 2021-01-28 2023-09-05 长沙市到家悠享网络科技有限公司 数据处理装置、方法及计算设备
CN114928576A (zh) * 2022-05-19 2022-08-19 广东电网有限责任公司 数据交换机、数据交换方法及计算机可读存储介质
CN115150466B (zh) * 2022-06-29 2023-08-15 北京百度网讯科技有限公司 一种数据分发的实现方法、装置、电子设备及存储介质
CN115374120A (zh) * 2022-08-26 2022-11-22 中国银行股份有限公司 一种数据交互方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215586A1 (en) * 2005-02-18 2008-09-04 International Business Machines Corporation Simulating Multi-User Activity While Maintaining Original Linear Request Order for Asynchronous Transactional Events
CN102541942A (zh) * 2010-12-31 2012-07-04 中国银联股份有限公司 一种数据批量转移系统及其方法
CN103944875A (zh) * 2014-02-21 2014-07-23 中国人民解放军装甲兵工程学院 数据交换方法及数据交换系统
CN104933173A (zh) * 2015-06-30 2015-09-23 北京京东尚科信息技术有限公司 一种用于异构多数据源的数据处理方法、装置和服务器
CN105843966A (zh) * 2016-04-22 2016-08-10 中国银联股份有限公司 数据处理系统以及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917020B (zh) * 2011-09-24 2016-02-17 国网电力科学研究院 一种基于数据包的移动终端与业务系统数据同步的方法
CN104809202B (zh) * 2015-04-24 2019-01-18 联动优势科技有限公司 一种数据库同步的方法和装置
CN104809200B (zh) * 2015-04-24 2018-11-16 联动优势科技有限公司 一种数据库同步的方法和装置
CN104809201B (zh) * 2015-04-24 2018-11-16 联动优势科技有限公司 一种数据库同步的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215586A1 (en) * 2005-02-18 2008-09-04 International Business Machines Corporation Simulating Multi-User Activity While Maintaining Original Linear Request Order for Asynchronous Transactional Events
CN102541942A (zh) * 2010-12-31 2012-07-04 中国银联股份有限公司 一种数据批量转移系统及其方法
CN103944875A (zh) * 2014-02-21 2014-07-23 中国人民解放军装甲兵工程学院 数据交换方法及数据交换系统
CN104933173A (zh) * 2015-06-30 2015-09-23 北京京东尚科信息技术有限公司 一种用于异构多数据源的数据处理方法、装置和服务器
CN105843966A (zh) * 2016-04-22 2016-08-10 中国银联股份有限公司 数据处理系统以及方法

Also Published As

Publication number Publication date
CN105843966A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
WO2017181872A1 (zh) 数据处理系统以及方法
CN114338651B (zh) 文件传输方法、装置、电子设备及可读存储介质
CN107729366B (zh) 一种普适多源异构大规模数据同步系统
US10999367B2 (en) Communication apparatus, control device, and communication method
US9009234B2 (en) Complex event processing system having multiple redundant event processing engines
CN108965457A (zh) 一种分布式集群系统的消息传递方法、装置、设备及介质
CN106302647B (zh) 消息分发方法及服务器
JP2007149081A (ja) メッセージ順序を保存するためのシステム
CN103971687A (zh) 一种语音识别系统中的负载均衡实现方法和装置
US10362131B1 (en) Fault tolerant message delivery
CN108614820B (zh) 实现流式源数据解析的方法和装置
US11831711B2 (en) System and method for sending and receiving remote procedure calls
US11218371B2 (en) Method and apparatus for performing communication in internet of things
US20250117377A1 (en) Metrics and events infrastructure
EP3031172B1 (en) Managing data feeds
US20160087759A1 (en) Tuple recovery
CN113014618A (zh) 消息处理方法、系统和电子设备
WO2020232892A1 (zh) 面向区块链的密钥管理方法、装置、设备及存储介质
WO2012130162A1 (zh) 基于并行处理的信息文件生成系统及方法
CN110389976B (zh) 一种多接口数据的调度方法和装置
CN110620722A (zh) 一种订单处理的方法和装置
CN113778786B (zh) 一种监控中间件
US10523588B2 (en) Technique for processing messages in a message-based communication scenario
CN116266844A (zh) 数据接入平台及数据接入方法
CN115098281B (zh) 区块链跨链任务处理方法、装置、服务器及介质

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17785357

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17785357

Country of ref document: EP

Kind code of ref document: A1