CN112596925B - 交易数据的传输方法及装置 - Google Patents
交易数据的传输方法及装置 Download PDFInfo
- Publication number
- CN112596925B CN112596925B CN202011561730.0A CN202011561730A CN112596925B CN 112596925 B CN112596925 B CN 112596925B CN 202011561730 A CN202011561730 A CN 202011561730A CN 112596925 B CN112596925 B CN 112596925B
- Authority
- CN
- China
- Prior art keywords
- transaction
- started
- current
- data
- shared memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000005540 biological transmission Effects 0.000 title claims abstract description 60
- 230000000977 initiatory effect Effects 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 4
- 101001074449 Crotalus durissus terrificus Phospholipase A2 inhibitor CNF Proteins 0.000 description 26
- 230000006854 communication Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000004622 sleep time Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- 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/544—Buffers; Shared memory; Pipes
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- 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
Abstract
本发明提供了一种交易数据的传输方法及装置,该方法包括:响应于交易启动指令,确定当前待启动交易以及当前待启动交易的交易启动码;基于交易启动码确定当前是否已完成交易环境初始化;若已完成交易环境初始化,则与共享内存建立连接;响应于当前待启动交易未满足停止交易条件,确定当前待启动交易对应的消息发送队列;将消息发送队列中的每个待传输的交易数据依次存放至共享内存,并通过共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至交易启动指令对应的数据接收端。应用本发明提供的方法,能够降低系统的复杂度,从而能够减少系统维护难度,提高了数据传输的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种交易数据的传输方法及装置。
背景技术
随着科学技术的发展,云计算技术也在各个领域中得到广泛应用,例如,在银行系统中,通常需要对大量的交易数据进行监控,而现有银行IT架构中,往往包含主机和开放平台等多种类型的计算平台,各类型的计算平台的操作系统和其所处的网络往往不同,为了满足业务需求,需要实现的各个业务应用之间的跨操作系统以及跨网络的数据交互。
现有技术中,为了将运行于主机的交易数据发送至部署于开放平台的应用监控系统,往往需要通过硬编码的方式实现双方的通信,然而,采用硬编码的方式增加通信系统的复杂度,导致对系统的维护难度大。
发明内容
本发明所要解决的技术问题是提供一种交易数据的传输方法,能够降低系统的复杂度,从而能够减少系统维护难度,提高了数据传输的效率。
本发明还提供了一种交易数据的传输装置,用以保证上述方法在实际中的实现及应用。
一种交易数据的传输方法,包括:
响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;
在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;
基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;
若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;
响应于所述当前待启动交易未满足预先设置的停止交易条件,确定所述当前待启动交易对应的消息发送队列;
若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端。
上述的方法,可选的,所述确定所述当前待启动交易对应的消息发送队列,包括:
使所述当前待启动交易进入休眠状态;
当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数;
基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列。
上述的方法,可选的,所述将所述消息发送队列中的每个所述交易数据依次存放至所述共享内存之后,还包括:
判断所述当前待启动交易是否满足所述交易停止条件;
若所述当前待启动交易未满足所述交易停止条件,则返回执行使所述待启动交易进入休眠状态的步骤;
若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易。
上述的方法,可选的,确定所述当前待启动交易未满足预先设置的交易停止条件的过程,包括:
获取所述当前待启动交易的状态标识符;
判断所述当前待启动交易的状态标识符是否表征为交易结束;
若所述当前待启动交易的状态标识符不表征为交易结束,则确定所述当前待启动交易未满足预先设置的交易停止条件。
上述的方法,可选的,所述通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端,包括:
获取所述交易启动指令对应的数据接收端的消息传输地址;
在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件;
通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端。
一种交易数据的传输装置,包括:
第一确定单元,用于响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;
第二确定单元,用于在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;
第三确定单元,用于基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;
执行单元,用于若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;
第四确定单元,用于响应于所述当前待启动交易未满足预先设置的停止交易条件,确定所述当前待启动交易对应的消息发送队列;
传输单元,用于若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端。
上述的装置,可选的,所述第四确定单元,包括:
执行子单元,用于使所述当前待启动交易进入休眠状态;
第一获取子单元,用于当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数;
第一确定子单元,用于基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列。
上述的装置,可选的,还包括第一判断单元,所述第二判断单元,被配置为:
判断所述当前待启动交易是否满足所述交易停止条件;
若所述当前待启动交易未满足所述交易停止条件,则返回执行使所述待启动交易进入休眠状态的步骤;
若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易。
上述的装置,可选的,还包括第二判断单元,被配置为:
获取所述当前待启动交易的状态标识符;
判断所述当前待启动交易的状态标识符是否表征为交易结束;
若所述当前待启动交易的状态标识符表征为交易结束,则确定所述当前待启动交易满足预先设置的交易停止条件。
上述的装置,可选的,所述传输单元,包括:
第二获取子单元,用于获取所述交易启动指令对应的数据接收端的消息传输地址;
第二确定子单元,用于在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件;
发送子单元,用于通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端。
与现有技术相比,本发明包括以下优点:
本发明提供了一种交易数据的传输方法及装置,该方法包括:响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;响应于所述当前待启动交易未满足预先设置的停止交易条件,确定所述当前待启动交易对应的消息发送队列;若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端。应用本发明提供的方法,能够降低系统的复杂度,从而能够减少系统维护难度,提高了数据传输的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种交易数据的传输方法的方法流程图;
图2为本发明提供的一种确定当前待启动交易对应的消息发送队列的过程的流程图;
图3为本发明提供的一种通过消息中间件将待传输的交易数据传输至数据接收端的过程的流程图;
图4为本发明提供的一种实施场景示例图;
图5为本发明提供的一种消息中间件的数据传输过程的示意图;
图6为本发明提供的一种数据传输系统的结构示意图;
图7为本发明提供的一种交易数据的传输方法的又一方法流程图;
图8为本发明提供的一种交易数据的传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种交易数据的传输方法,该方法可以应用于数据发送端的处理器,该数据发送端可以为各种类型的电子设备,例如,可以主机或开放平台,所述方法的方法流程图如图1所示,具体包括:
S101:响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合。
本发明实施例提供的方法,该待启动交易集合中的待启动交易的数量,该待启动交易可以为常交易,该常交易可以为运行于主机的客户信息控制系统(CustomerInformation Control System,CICS)区域的交易。
S102:在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码。
本发明实施例提供的方法中,基于当前待启动交易的交易启动码可以确定出当前待启动交易的启动方式。
S103:基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化。
本发明实施例提供的方法中,基于该交易启动码表征的启动方式确定当前待启动交易是否为该待启动交易集合中首次启动的常交易,若是首次启动的常交易,则可以确定当前尚未完成对待启动交易集合的交易环境初始化,若不是首次启动的常交易,则确定当前已完成对待启动交易集合的交易环境初始化。
可选的,若未完成对所述待启动交易结合的交易环境初始化,则对待启动交易集合的交易环境进行初始化,并与预先设置的共享内存建立连接。
其中,交易环境初始化过程可以包括:删除当前内存中的所有的历史队列,例如删除历史TSQ SLKQUE、历史TSQ SLKSTOPQ、历史TSQ SLKINFOQ以及历史TSQ SLKPARAQ。
S104:若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接。
S105:响应于所述当前待启动交易未满足预先设置的停止交易条件,确定所述当前待启动交易对应的消息发送队列。
本发明实施例提供的方法中,可以通过该当前待启动交易的状态标识符来确定当前待启动交易是否满足预先设置的停止交易条件。
可选的,该消息发送队列可以为CICS TSQ(Temporary Storage Queue)队列或CICS TDQ(Transient Data Queue)队列,其中,CICS TSQ队列为先进先出队列,该CICS TDQ队列中的数据在被读取后,自动被CICS系统从队列中删除。
S106:若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端。
本发明实施例提供的方法中,该消息中间件可以为SYSLINK消息中间件;该消息中间件可以将待传输的交易数据传输至数据接收端的目标消息中间件,该数据接收端可以为主机或开放平台。
本发明实施例提供的方法中,若消息发送队列中未存在待传输的交易数据,则可以判断当前待启动交易是否满足预先设置的交易停止条件,若为满足该交易停止条件,则可以返回执行步骤S105以及后续步骤。
其中,在将消息发送队列中的待传输的交易数据依次存放至共享内存后,可以返回执行S105以及后续步骤。
可选的,将消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存的过程,可以为:对该消息发送队列进行数据读取,以获取消息发送队列中的每个待传输的交易数据,直至对该消息发送队列中的待传输的交易数据读取完毕。
应用本发明提供的方法,能够降低系统的复杂度,从而能够减少系统维护难度,提高了数据传输的效率。
本发明实施例提供的方法中,基于上述的实施过程,具体的,所述确定所述当前待启动交易对应的消息发送队列的过程,如图2所示,包括:
S201:使所述当前待启动交易进入休眠状态。
本发明实施例提供的方法中,可以将该当前待启动交易挂起预设的时间,该待启动交易可以为交易应用进程。
S202:当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数。
本发明实施例提供的方法中,该队列参数可以为队列标识,该队列参数可以为字符的形式,具体可以为两位的正整数。
其中,该唤醒条件可以为休眠时间大于预设休眠时间阈值,该休眠时间阈值可以为任意时长,例如,可以为1分钟。
其中,当处于休眠状态的当前待启动交易满足唤醒条件时,唤醒该当前待启动交易,并获取当前待启动交易的队列参数。
S203:基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列。
本发明实施例提供的方法中,该队列集合中包含多个消息队列,每个消息队列均具有其对应的队列参数,基于当前待启动交易的队列参数,可以在队列集合中确定当前待启动交易对应的消息发送队列。
本发明实施例提供的方法中,基于上述的实施过程,具体的,所述将所述消息发送队列中的每个所述交易数据依次存放至所述共享内存之后,还包括:
判断所述当前待启动交易是否满足所述交易停止条件;
若所述当前待启动交易未满足所述交易停止条件,则返回执行S201中的使所述待启动交易进入休眠状态。
若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易。
本发明实施例提供的方法中,在当前待启动交易满足交易停止条件的情况下,可以登出消息中间件后台,并与该共享内存断开连接,并向TSQ SLKINFOQ中写入常交易退出信息,从而结束当前的待启动交易。
可选的,将所述消息发送队列中的每个所述交易数据依次存放至所述共享内存之后,还包括:删除所述当前待启动交易的消息发送队列,并确定当前待启动交易对应的状态数据队列中是否存在表征运行结束的状态数据,若是,则更新状态标识符,使得更新后的状态标识符表征交易结束。
本发明实施例提供的方法中,基于上述的实施过程,具体的,确定所述当前待启动交易满足预先设置的交易停止条件,包括:
获取所述当前待启动交易的状态标识符;
判断所述当前待启动交易的状态标识符是否表征为交易结束;
若所述当前待启动交易的状态标识符表征为交易结束,则确定所述当前待启动交易满足预先设置的交易停止条件。
本发明实施例提供的方法中,该状态标识符可以依据当前待启动交易的消息发送队列的状态进行设置。
可选的,该状态标识符可以表征为交易结束或继续交易。
本发明实施例提供的方法中,基于上述的实施过程,具体的,所述通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端,如图3所示,具体包括:
S301:获取所述交易启动指令对应的数据接收端的消息传输地址。
本发明实施例提供的方法中,可以确定该交启动指令对应的数据接收端,在确定该交易指令对应的数据接收端之后,获取该数据接收端的预先存储的消息传输地址。
S302:在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件。
本发明实施例提供的方法中,该消息中间件可以处于消息中间件网络中,该消息中间件网络可以为由多个消息中间件组成的虚拟网,基于该消息传输地址,即可在消息中间件网络中确定出对应的目标消息中间件。
S303:通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端。
本发明实施例提供的方法中,可以将共享内存中的交易数据存放至先进先出的发送队列中,以将交易数据传输至消息中间件,消息中间件将发送队列传输的交易数据发送至目标消息中间件,目标消息中间件接收到交易数据后,可以将交易数据传输至接收队列,使得接收队列将接收到的交易数据传输至该目标消息中间件的目标共享内存中,该数据接收端上的应用可以通过访问该目标共享内存,以获取交易数据。
参见图4,为本发明提供的一实施场景示例图,本发明实施例提供的实施场景包括了数据发送端401以及数据接收端402。
实施时,图4所示的数据发送端401以及数据接收端402可以是诸如主机以及开放平台等电子设备。数据发送端401以及数据接收端402可以通过网络建立通信连接。其中,本发明实施例涉及的网络为提供通信链路的介质,该网络可以包括各种连接类型,例如有线、无线通信链路等等。
具体的,数据发送端401以及数据接收端402均设置有消息中间件,本实施例中的消息中间件可以适用于各个类型的操作系统,为IBM zOS、AIX、Linux以及Windows等系统。
其中,数据发送端401上的操作系统与该数据接收端402的操作系统可以相同或不同。
具体的,每一消息中间件均可以用于向其他消息中间件发送数据或接收其他消息中间件传输的数据。
可选的,该消息中间件可以为SYSLINK消息中间件,参见图5,为本发明提供的一种消息中间件的数据传输过程的示意图。
消息接收端上运行有消息中间件以及一个或多个消息发送对象,消息发送对象的应用进程可以使用与平台无关的标准API接口,将待传递数据发送至由共享内存实现的发送缓冲区,并填写内存中与本次消息发送相关的一个数据结构。
其中,该待传输数据可以是API中指定的一段内存数据,或者操作系统中指定目录下的文件。
SYSLINK的后台服务进程按照统一的格式要求,从发送缓冲区中取出数据,放入先进先出的发送队列,等待SYSLINK的发送端通信进程发往数据接收端的目标应用。
数据接收端的SYSLINK通信进程从网络中接收消息,并将消息放入接收方的消息接收队列。
接收端的SYSLINK后台服务程序从队列中取出消息,并将消息放入共享内存实现的接收缓冲区。
接收端的应用进程使用标准的API接口,把共享内存中属于自己的消息从共享内存中取出,放入在API中指定的内存块中,或者保存为操作系统下的文件。
参见图6,为本发明提供的一种数据传输系统的结构示意图,该数据传输系统包括数据发送端以及数据接收端,SYSLINK作为消息中间件为两个节点上运行的应用程序传输数据,应用程序分布在网络上的大量节点上,两个消息中间件的通信流程可以为:
当应用节点之间要传送消息时,数据发送端的应用只需将消息接收者的名字和消息的内容通过本地的SYSLINK接口传给部署在本机上的SYSLINK核心,SYSLINK核心便会利用网络节点上的各个SYSLINK运行系统组成的虚拟网,将数据传输送到数据接收端所在的SYSLINK核心,然后通过数据接收端本地的SYSLINK接口提交给接收方的应用。
对于数据发送端,可以获取数据接收端的逻辑地址、数据接收端接收进程的逻辑名称以及发送的消息数据,并通过与操作系统平台、编程语言基本无关的、标准的SYSLINK接口发送数据就能实现可靠的消息传输,底层的网络结构对应用完全透明,这样,使用消息服务的编程者可以专注于业务逻辑,把复杂的网络传输任务交付给SYSLINK实现。
对于设置在主机的消息中间件SYSLINK,可以利用主机提供的模拟UNIX环境;其中,主机的USS提供了运行环境和标准接口,主机的HFS/ZFS提供了对主机上的数据集进行UNIX/Windows风格的文件操作,而OMVS提供了UNIX shell的执行窗口,同时,使用本发明提供的编译器,可以实现经过编译的程序能够无障碍地运行在Z/OS和OMVS两类操作系统中。
其中,本发明实施例该提供了消息中间件的调用函数,如表1所示,具体如下:
表1
其中,该消息中间件的调用函数适应于各个类型的操作系统。
本发明实施例提供的交易数据的传输方法可以应用于各个领域,例如,可以应用于常交易模式中,其中,常交易模式,是指在CICS正常启动后、SYSLINK服务启用前,需要在使用SYSLINK服务的CICS区域(CICS REGION)中启动一组特殊交易,这组交易完成相应的初始化工作后,除非检测到特殊的退出信息,否则将一直运行在CICS区域中。
参见图7,为本发明实施例提供的一种交易数据处理方法的又一方法流程图,具体包括:
当应用AP需要向外传递消息时,应用首先将消息写入到专用于发送的CICS TSQ/TDQ队列中,然后由常交易负责从CICS TSQ/TDQ队列中取出消息,并通过SYSLINK的后台服务发往开放平台。
当开放平台的消息发往主机时,首先由SYSLINK的后台负责可靠地接收消息;其次由常交易从SYSLINK的接收队列中取出消息,并写入到专用于接收的CICS TSQ/TDQ中;最后,主机上的应用AP从专用于接收的CICS TSQ/TDQ取出消息。
在常交易模式下,常交易在初始化阶段建立与共享内存的联接,并且在退出前始终保持联接状态;完成初始化工作后,常交易进入规定时长的休眠状态,程序被挂起(Suspended),直至休眠时间结束或者被应用唤醒。在发送数据的过程中,常交易将检查预设的CICS TSQ/TDQ,逐条读出TSQ/TDQ记录并放入共享内存区,等待SYSLINK后台进行后续处理。读出所有记录后,常交易将检查退出条件是否满足:如果不满足,常交易将再次休眠,进入下一处理周期。如果满足,常交易正常退出。
具体的,可以采用CICS ADDRESS API从CommArea获取待启动常交易的个数N,并采用CICS API获得当前待启动的常交易的启动码STARTCODE,基于STARTCODE确定当前待启动的常交易是否通过DPL方式启动或者从终端输入启动。
若通过DPL方式启动或者从终端输入启动,则确定当前常交易为首次启动,可以对常交易环境初始化,通过CICS START API启动N个常交易;启动常交易时,FROM关键字的参数是该常交易所处理TSQ的队列参数为SLKQUE m,向TSQ SLKINFOQ中写入初次启动成功信息。
若未通过DPL的方式以及从终端输入的方式启动,则确定当前常交易为非首次启动,应用CICS API获取START方式启动常交易时,通过FROM关键字输入的队列参数为SLKQUEm,登陆至SYSLINK后台,建立到共享内存区的联接;把常交易运行停止标志置为SLQ_NO,判断常交易运行停止标志是否等于SLQ_NO。
若常交易运行停止标志等于SLQ_NO,可以应用CICS API使常交易进入休眠状态1分钟,常交易被挂起,当常交易满足唤醒条件时,应用CICS API锁住消息发送队列TSQSLKQUE m,应用CICS READQ TS API从消息发送队列TSQ SLKQUE m中读数据记录,判断是否能正确读出数据记录,若能在消息发送队列中正确读出数据记录,则使用SYSLINK服务将读出的数据发送到指定地址,并应用CICS READQ TS API从消息发送队列TSQ SLKQUE m读下一条数据记录,并重新判断能否读出数据记录;若不能在消息发送队列中正确读出数据记录,则通过CICS DELETEQ TS API删除消息发送队列TSQ SLKQUE m,并通过CICS API对TSQSLKQUE m解锁,通过CICS READQ TS API从TSQ SLKSTOPQ读数据,若能从TSQ SLKSTOPQ中读取出数据,则将常交易运行停止标识设置为常交易运行停止标志置为SLQ_YES,返回判断常交易运行停止标志是否等于SLQ_NO的步骤,若不能从TSQ SLKSTOPQ中读取出数据,则返回判断常交易运行停止标志是否等于SLQ_NO的步骤。
若常运行停止标志不等于SLQ_NO,则登出SYSLINK后台,断开到共享内存区的联接,向TSQ SLKINFOQ中写入常交易退出信息。
与图1所述的方法相对应,本发明实施例还提供了一种交易数据的传输装置,用于对图1中方法的具体实现,本发明实施例提供的交易数据的传输装置可以应用于消息发送端中,其结构示意图如图8所示,具体包括:
第一确定单元801,用于响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;
第二确定单元802,用于在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;
第三确定单元803,用于基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;
执行单元804,用于若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;
第四确定单元805,用于响应于所述当前待启动交易未满足预先设置的停止交易条件,确定所述当前待启动交易对应的消息发送队列;
传输单元806,用于若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端。
在本发明提供的一实施例中,基于上述的方案,具体的,所述第四确定单元805,包括:
执行子单元,用于使所述当前待启动交易进入休眠状态;
第一获取子单元,用于当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数;
第一确定子单元,用于基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列。
在本发明提供的一实施例中,基于上述的方案,具体的,还包括第一判断单元,所述判断单元被配置为:
判断所述当前待启动交易是否满足所述交易停止条件;
若所述当前待启动交易未满足所述交易停止条件,则返回执行使所述待启动交易进入休眠状态的步骤;
若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易。
在本发明提供的一实施例中,基于上述的方案,具体的,还包括第二判断单元,所述第二判断单元被配置为:
获取所述当前待启动交易的状态标识符;
判断所述当前待启动交易的状态标识符是否表征为交易结束;
若所述当前待启动交易的状态标识符表征为交易结束,则确定所述当前待启动交易满足预先设置的交易停止条件。
在本发明提供的一实施例中,基于上述的方案,具体的,所述传输单元806,包括:
第二获取子单元,用于获取所述交易启动指令对应的数据接收端的消息传输地址;
第二确定子单元,用于在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件;
发送子单元,用于通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端。
上述本发明实施例公开的交易数据的传输装置中的各个单元和模块具体的原理和执行过程,与上述本发明实施例公开的交易数据的传输方法相同,可参见上述本发明实施例提供的交易数据的传输方法中相应的部分,这里不再进行赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种交易数据的传输方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (2)
1.一种交易数据的传输方法,其特征在于,包括:
响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;
在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;
基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;
若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;
响应于所述当前待启动交易未满足预先设置的交易停止条件,使所述当前待启动交易进入休眠状态;当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数;基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列;
若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端;
所述将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存之后,还包括:判断所述当前待启动交易是否满足所述交易停止条件;若所述当前待启动交易未满足所述交易停止条件,则返回执行使所述待启动交易进入休眠状态的步骤;若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易;
其中,确定所述当前待启动交易未满足预先设置的交易停止条件的过程,包括:获取所述当前待启动交易的状态标识符;判断所述当前待启动交易的状态标识符是否表征为交易结束;若所述当前待启动交易的状态标识符不表征为交易结束,则确定所述当前待启动交易未满足预先设置的交易停止条件;
通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端,包括:获取所述交易启动指令对应的数据接收端的消息传输地址;在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件;通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端;
所述基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化,包括:基于所述交易启动码表征的启动方式确定所述当前待启动交易是否为所述待启动交易集合中首次启动的常交易,若是首次启动的常交易,则确定当前尚未完成对待启动交易集合的交易环境初始化;若不是首次启动的常交易,则确定当前已完成对待启动交易集合的交易环境初始化。
2.一种交易数据的传输装置,包括:
第一确定单元,用于响应于交易启动指令,确定所述交易启动指令对应的待启动交易集合;
第二确定单元,用于在所述待启动交易集合中确定当前待启动交易以及所述当前待启动交易的交易启动码;
第三确定单元,用于基于所述交易启动码确定当前是否已完成对所述待启动交易集合的交易环境初始化;
执行单元,用于若已完成对所述待启动交易集合的交易环境初始化,则与预先设置的共享内存建立连接;
第四确定单元,用于响应于所述当前待启动交易未满足预先设置的交易停止条件,确定所述当前待启动交易对应的消息发送队列;
传输单元,用于若所述消息发送队列中存在待传输的交易数据,则将所述消息发送队列中的每个所述待传输的交易数据依次存放至所述共享内存,并通过所述共享内存对应的消息中间件将该共享内存中的待传输的交易数据传输至所述交易启动指令对应的数据接收端;
其中,所述第四确定单元,包括:执行子单元,用于使所述当前待启动交易进入休眠状态;第一获取子单元,用于当检测到所述当前待启动交易满足预设的唤醒条件时,获取所述当前待启动交易的队列参数;第一确定子单元,用于基于所述队列参数在预先设置的队列集合中确定所述当前待启动交易对应的消息发送队列;
所述交易数据的传输装置还包括第一判断单元,所述第一判断单元,被配置为:判断所述当前待启动交易是否满足所述交易停止条件;若所述当前待启动交易未满足所述交易停止条件,则返回执行使所述待启动交易进入休眠状态的步骤;若所述当前待启动交易满足所述交易停止条件,则与所述共享内存断开连接,以结束所述当前待启动交易;
所述交易数据的传输装置还包括第二判断单元,所述第二判断单元被配置为:获取所述当前待启动交易的状态标识符;判断所述当前待启动交易的状态标识符是否表征为交易结束;若所述当前待启动交易的状态标识符表征为交易结束,则确定所述当前待启动交易满足预先设置的交易停止条件;
所述传输单元,包括:第二获取子单元,用于获取所述交易启动指令对应的数据接收端的消息传输地址;第二确定子单元,用于在所述共享内存对应的消息中间件所处的消息中间件网络中,确定出所述消息传输地址对应的目标消息中间件;发送子单元,用于通过所述消息中间件将该共享内存中的待传输的交易数据发送至所述消息传输地址对应的目标消息中间件,以完成将该待传输的交易数据传输至所述数据接收端;
所述第三确定单元,具体被配置为:基于所述交易启动码表征的启动方式确定所述当前待启动交易是否为所述待启动交易集合中首次启动的常交易,若是首次启动的常交易,则确定当前尚未完成对待启动交易集合的交易环境初始化;若不是首次启动的常交易,则确定当前已完成对待启动交易集合的交易环境初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561730.0A CN112596925B (zh) | 2020-12-25 | 2020-12-25 | 交易数据的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561730.0A CN112596925B (zh) | 2020-12-25 | 2020-12-25 | 交易数据的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596925A CN112596925A (zh) | 2021-04-02 |
CN112596925B true CN112596925B (zh) | 2024-02-23 |
Family
ID=75202022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011561730.0A Active CN112596925B (zh) | 2020-12-25 | 2020-12-25 | 交易数据的传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596925B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825830A (zh) * | 2014-02-24 | 2014-05-28 | 北京南天软件有限公司 | 基于tuxedo中间件的系统实现流量管控的方法和装置 |
CN109409633A (zh) * | 2018-08-23 | 2019-03-01 | 山东省城市商业银行合作联盟有限公司 | 业务监测与风险预警系统 |
WO2020015186A1 (zh) * | 2018-07-19 | 2020-01-23 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN111445331A (zh) * | 2020-03-24 | 2020-07-24 | 中国工商银行股份有限公司 | 交易撮合方法及装置 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
-
2020
- 2020-12-25 CN CN202011561730.0A patent/CN112596925B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825830A (zh) * | 2014-02-24 | 2014-05-28 | 北京南天软件有限公司 | 基于tuxedo中间件的系统实现流量管控的方法和装置 |
WO2020015186A1 (zh) * | 2018-07-19 | 2020-01-23 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN109409633A (zh) * | 2018-08-23 | 2019-03-01 | 山东省城市商业银行合作联盟有限公司 | 业务监测与风险预警系统 |
CN111445331A (zh) * | 2020-03-24 | 2020-07-24 | 中国工商银行股份有限公司 | 交易撮合方法及装置 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
Non-Patent Citations (1)
Title |
---|
"航空电子系统消息队列的设计与实现";王彦明等;《信息通信》(第07期);第92-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112596925A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205109B (zh) | 持续性和弹性的工作者进程 | |
US10019408B2 (en) | Remote direct memory access (RDMA) high performance producer-consumer message processing | |
WO2018028055A1 (zh) | 在Windows系统上运行Android应用程序的方法及装置 | |
JP2006229953A (ja) | 非同期ネットワーク要求の実行のために柔軟な属性を適用するためのシステムおよび方法 | |
US11099915B2 (en) | Optimizing startup time for event-driven functions | |
WO2013122967A1 (en) | Power efficient brokered communication supporting notification blocking | |
JP7161560B2 (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
CN112835616A (zh) | 一种版本升级方法、装置、电子设备及存储介质 | |
WO2023093016A1 (zh) | 云端代码开发系统、方法、装置、设备及存储介质 | |
CN112579307A (zh) | 一种物理锁资源的分配检测方法、装置及电子设备 | |
CN111666167A (zh) | 一种对输入事件读取处理优化方法、非易失性存储器及终端设备 | |
CN112596925B (zh) | 交易数据的传输方法及装置 | |
CN113051055A (zh) | 一种任务处理方法和装置 | |
CN113703793B (zh) | 用于云手机的应用安装方法、装置、设备和介质 | |
CN114697194A (zh) | 阻塞式事件通知方法及装置 | |
CN113781154A (zh) | 一种信息回滚方法、系统、电子设备及存储介质 | |
CN110691002B (zh) | 一种中断检测方法及装置 | |
CN111327511A (zh) | 即时通讯方法、系统、终端设备与存储介质 | |
CN112764828B (zh) | 业务逻辑管理方法及装置、计算机设备和介质 | |
WO2020166374A1 (ja) | 処理システム、処理方法、上位システム、下位システム、上位プログラムおよび下位プログラム | |
CN113296892B (zh) | 开发环境的休眠方法、装置、电子设备及存储介质 | |
CN113138881B (zh) | 分布式文件系统备份方法、装置和系统 | |
CN113641679A (zh) | 一种数据转移方法、数据转移系统、计算机设备和介质 | |
CN114443242A (zh) | 一种信号处理软件组件化架构和软件开发方法 | |
CN115373874A (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 |