CN105915656B - 涉及批量远程调用的数据处理方法及装置 - Google Patents
涉及批量远程调用的数据处理方法及装置 Download PDFInfo
- Publication number
- CN105915656B CN105915656B CN201610509077.0A CN201610509077A CN105915656B CN 105915656 B CN105915656 B CN 105915656B CN 201610509077 A CN201610509077 A CN 201610509077A CN 105915656 B CN105915656 B CN 105915656B
- Authority
- CN
- China
- Prior art keywords
- data
- far call
- send
- processed result
- transmission
- 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
Classifications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种涉及批量远程调用的数据处理方法及装置,其中,该方法包括:对无需远程调用的数据进行处理;按如下方式对需要远程调用的数据进行处理:无需等待远程调用完成的数据处理结果接收完毕,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;无需等待需要远程调用的数据发送完毕,连续接收远程设备的数据处理结果,记录每次的接收状态和位置,以及每次的发送序号与数据处理结果之间的第二对应关系;根据该第一和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。上述技术方案提高了涉及批量远程调用数据处理的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种涉及批量远程调用的数据处理方法及装置。
背景技术
目前,涉及批量远程调用的数据处理存在效率低的问题,以数据迁移中遇到的加密机调用为例进行说明如下:
核心银行系统采用主机平台,在核心银行系统升级为新一代的核心银行系统时,需要将旧系统中数据进行转换并导入新系统,这个过程称为数据迁移。数据迁移面对的数据量以亿计,并且其中有些数据需要调用远程设备进行处理,以密文字段为例,需要使用加密设备进行密文转换,从而适用于新系统的加密设备。而且加密设备部署会不在一个机房,甚至不在一个城市。
数据迁移使用批量逐条数据处理的方式进行处理,处理过程中和远程设备使用TCP/IP连接,然后将返回字段填写到转换后的数据中。
如果加密设备本地部署时,从批量调用加密机到加密机返回转换后的数据,不会超过0.5毫秒,每秒钟可以处理2000-3000笔。但是如果加密设备部署在上海,而主机系统在北京时,从批量调用加密机到加密机返回要达到50毫秒,每秒钟仅有20多笔交易,每小时也只能处理不到10万笔交易。要在有限的时间(比如2个小时)处理5百万笔交易,采用并行处理的方式,需要30多个并行进程,这么多进程的配置对于主机来说是很不方便的,对于加密机来说,连接数过多也会导致整体性能下降。
解决上述远程调用问题,可以采用以下三种方法:
A.采用多个作业并行的方法,提高调用效率。
B.在开放平台使用一个发送线程、一个接收线程处理。
C.将被调用设备部署在本地。
然而,在实际工作中,上述三种方法均存在以下问题:
采用上述方法A多个作业并行的方法,势必增加大量的作业配置、调度工作,增加生产运行的难度。
采用上述方法B,在开放平台使用一个发送线程、一个接收线程处理。对于主机平台无法使用。
采用上述方法C,将被调用设备部署在本地。有时限于环境的安排,无法做到。如果必须做到,成本也很高。对于数据迁移来说,原来的数据基本都是一个分行一个环境,分散布局,将分散的设备集中起来,将增加很多成本。
综上,目前涉及批量远程调用的数据处理方案不仅效率低,而且难度大、无法实施和成本高。
发明内容
本发明实施例提供了一种涉及批量远程调用的数据处理方法,用以提高涉及批量远程调用的数据处理的效率,降低实施难度和成本,该方法包括:
对待处理数据中无需远程调用的数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中需要远程调用的数据进行处理:
根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收远程设备的数据处理结果,记录每次的接收状态和接收位置,以及每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
根据第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。
本发明实施例还提供了一种涉及批量远程调用的数据处理装置,用以提高涉及批量远程调用的数据处理的效率,降低实施难度和成本,该装置包括:
非远程调用数据处理模块,用于对待处理数据中无需远程调用的数据进行处理;
远程调用数据处理模块,用于在非阻塞模式下,对待处理数据中需要远程调用的数据进行处理;远程调用数据处理模块包括:
远程调用数据发送模块,用于根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
远程调用数据处理结果接收模块,用于根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收远程设备的数据处理结果,记录每次的接收状态和接收位置,以及每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
数据拼接模块,用于根据第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。
与现有技术相比较,本发明实施例提供的技术方案,首先,对待处理数据中无需远程调用的数据进行处理;其次,在非阻塞模式下,对待处理数据中需要远程调用的数据进行处理,最后,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。其中,对待处理数据中需要远程调用的数据进行处理的优点如下:
将需要远程调用的数据向远程设备发送和接收远程设备的数据处理结果的步骤独立,可以各自使用自己的数据处理区,保留各自上次数据的处理位置和处理状态,使得下次处理时仍然可以继续上次的处理,就如同从来没有中断过一样;
另外,将需要远程调用的数据向远程设备发送时,不需要等待远程调用完成的数据处理结果接收完毕;接收所述远程设备的数据处理结果时,也不需要等待需要远程调用的数据发送完毕,因此,批量循环执行发送和接收的过程,这样就实现了数据持续发送和接收处理,发送和接收处理不等待,并且互不影响。
综上,上述技术方案提高了涉及批量远程调用的数据处理的效率,降低实施难度和成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是在阻塞模式下的远程调用方案的示意图;
图2是在非阻塞模式下开放式平台虚拟双线程的远程调用方案的示意图;
图3是本发明实施例中涉及批量远程调用的数据处理方法的流程示意图;
图4是本发明另一实施例中涉及批量远程调用的数据处理方法的流程示意图;
图5是与现有技术方案相比较,应用本发明实施例提供的技术方案,网络上数据请求变化的对比示意图;
图6是本发明实施例中涉及批量远程调用的数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此先介绍发明人提出本申请时发现的技术问题以及如何克服这些技术问题的。
目前,TCPIP连接处理技术SOCKET有阻塞和非阻塞模式,可以利用阻塞和非阻塞模式完成远程调用:阻塞模式是等处理完成后,SOCKET才返回程序继续向下执行,而非阻塞模式则不需要等待处理完成SOCKET即返回程序。
首先,发明人考虑到在阻塞模式下,涉及批量远程调用的数据处理方法的问题,图1是在阻塞模式下的远程调用示意图,如图1所示,这种方法在背景技术部分已经做过介绍,存在批量远程调用的数据处理效率低的技术问题。
其次,发明人考虑到对于开放式平台,在SOCKET非阻塞模式下,可以采用启动发送线程和接收线程进行处理,具体方案流程图如图2所示,两个线程各自不需要等待处理的过程。但主机没有类似开放式平台线程的技术,因此,在主机平台下,采用启动发送线程和接收线程进行处理,无法实现。
因此,发明人提出了一种新的设计批量远程调用的数据处理方法,在首先开启非阻塞模式下,批量使用发送模块和接收模块分别处理发送逻辑和接收逻辑。批量循环执行这两个模块,两个模块各自使用自己的数据处理区,保留各自模块上次数据的处理位置和处理状态,使得下次处理时仍然可以继续上次的处理,就如同从来没有中断过一样。这样两个处理逻辑就可以在各自的数据区完成各自持续的数据发送和接收处理。
本文提到的发送、发送模块和发送逻辑即为下文提到的将需要远程调用的数据向远程设备发送的体现,接收、接收模块和接收逻辑即为下文提到的接收所述远程设备的数据处理结果的体现。下面对本发明实施提供的技术方案进行详细介绍。
图3是本发明实施例中涉及批量远程调用的数据处理方法的流程示意图,如图3所示,该方法包括如下步骤:
步骤101:对待处理数据中无需远程调用的数据进行处理;
步骤102:在非阻塞模式下,按如下方式对待处理数据中需要远程调用的数据进行处理:
根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收远程设备的数据处理结果,记录每次的接收状态和接收位置,以及每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
步骤103:根据第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。
与现有技术相比较,本发明实施例提供的技术方案,首先,对待处理数据中无需远程调用的数据进行处理;其次,在非阻塞模式下,对待处理数据中需要远程调用的数据进行处理,最后,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。其中,对待处理数据中需要远程调用的数据进行处理的优点如下:
将需要远程调用的数据向远程设备发送和接收远程设备的数据处理结果的步骤独立,可以各自使用自己的数据处理区,保留各自上次数据的处理位置和处理状态,使得下次处理时仍然可以继续上次的处理,就如同从来没有中断过一样;
另外,将需要远程调用的数据向远程设备发送时,不需要等待远程调用完成的数据处理结果接收完毕;接收所述远程设备的数据处理结果时,也不需要等待需要远程调用的数据发送完毕,因此,批量循环执行发送和接收的过程,这样就实现了数据持续发送和接收处理,发送和接收处理不等待,并且互不影响。
综上,上述技术方案提高了涉及批量远程调用的数据处理的效率,降低实施难度和成本。
上述步骤102中将需要远程调用的数据向远程设备发送只是发送,不等待远程调用完成的数据处理结果接收完成,接收远程设备的数据处理结果只是接收,和将需要远程调用的数据向远程设备发送不是紧密的逻辑关系,关键的是:对于数据处理,将发送和接收在一个批量处理循环里完成,但发送和接收又不存在直接的逻辑关系。
图4是本发明另一实施例中涉及批量远程调用的数据处理方法的流程示意图;本实施例以数据迁移中遇到的加密机调用为例,以便于理解本发明如何实施。下面结合附图4进行说明。
在一个实施例中,待处理数据包括:非密文数据和密文数据;
对待处理数据中无需远程调用的数据进行处理,包括:对待处理数据中非密文数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中需要远程调用的数据进行处理,包括:在非阻塞模式下,按如下方式对待处理数据中密文数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中密文数据进行处理,包括:
根据发送状态和发送位置,在无需等待远程加密设备转换完成后的密文数据接收完毕的模式下,连续将待转换密文数据向远程加密设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与非密文数据的位置之间的第三对应关系;
根据接收状态和接收位置,在无需等待待转换密文数据发送完毕的模式下,连续接收转换完成后的密文数据,记录每次的接收状态和接收位置,以及每次的发送序号与转换完成后的密文数据之间的第四对应关系;
根据第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接,包括:
根据第三对应关系和第四对应关系,将转换完成后的密文数据与已处理完成后的非密文数据进行拼接。
具体实施时,在处理待处理数据中需要远程调用处理的数据过程中的数据定义如下表1和表2所示:
1、发送数据区相关定义
表1
2、接收数据区相关定义
表2
在一个实施例中,根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,包括:
将待处理数据中需要远程调用的数据放入总的数据发送区,设置需要远程调用数据的发送状态和发送位置;
将总的数据发送区中预设长度和发送位置的需要远程调用的数据放入临时数据区进行发送;
查询需要远程调用数据的发送状态,如果当前需要远程调用数据发送完成,修改发送状态为完成,继续发送下一条待处理数据中需要远程调用的数据,如果未发送完成,修改发送状态和发送位置,根据发送状态和发送位置,继续发送本条待处理数据中需要远程调用的数据。
具体实施时,将待转换密文数据向远程加密设备发送,记录每次的发送状态和发送位置的步骤可以包括如下:
1)、读取一条数据,将密文部分(待转换密文数据)放入WK-SEND-BUF,设置WK-SEND-POS为1,设置WK-SEND-LEN为实际要发的数据;
2)、将数据从开始位置WK-SEND-POS取WK-SEND-LEN长度放入HSM-SEND-TXT进行发送,发送完毕后,查看实际发送的数据长度,修改WK-SEND-POS和WK-SEND-LEN;
3)、如果已经发送完成(实际发送的数据长度=WK-SEND-LEN),置发送完毕状态,下次发送循环到来时,从1)开始;
4)、如果没有发送完成,下个发送循环到来时,从2)开始。
在一个实施例中,根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收远程设备的数据处理结果,记录每次的接收状态和接收位置,包括:
如果接收远程设备处理完成后数据的长度等于包头长度,设置接收包头已完成;
如果包头接收已完成,开始接收并解析包体数据,设置解析包体已开始;如果包头接收未完成,将接收到的数据减去包头数据,减去包头后的数据作为包体数据;
将包体数据存入总的数据接收区中预设接收位置,修改接收状态和接收位置,如果当前远程设备处理完成后的数据接收完毕,设置接收状态为完成。
具体实施时,接收转换完成后的密文数据,记录每次的接收状态和接收位置的步骤可以包括如下:
1)、从SOCKET接收一条数据,如果接收数据长度达到包头长度(本发明中,包头仅是两个字节的数据长度,即便如此,也有无法一次接收两个字节的场景),则设置接收包长度WK-SEND-LEN。设置包头接收完毕标识,下个循环从2)开始,否则仍然从1)开始;
2)、将接收到的数据减去包头数据(如果包头已完成,则不需要),如果包体解析已开始,则从3)开始,设置包体已开始标志,然后将WK-RECV-POS设置为1.
3)、将包体数据存入WK-RECV-BUF从WK-RECV-POS开始的位置,将WK-RECV-POS增加接收到的数据长度(去掉包头);
4)、如果已经接收完毕(WK-RECV-POS=WK-RECV-LEN+1),则设置接收完毕标志,下次循环从1)。
在一个实施例中,存储每次的发送序号与无需远程调用的数据的位置之间的第一对应关系的文件格式为:
存储所述发送序号的序号区、无需远程调用数据的数据区和远程设备的数据处理结果放置区;
存储每次的发送序号与远程设备的数据处理结果之间的第二对应关系的文件格式为:
存储所述发送序号的序号区、远程设备的数据处理结果放置区。
具体实施时,为了实现数据拼接,需要注意以下三点:
A.数据发送时,包体中首先要包含序号区,在序号区中按照处理条数逐笔累加。同时,将被处理的数据按照下表3格式保存为文件A:
序号 | 账号等其它数据 | 转换后密文放置区 | 账户信息其他数据 |
表3
B.在接收时,将序号和转换后的数据一并保存为文件B,如下表4所示:
序号 | 转换后密文 |
表4
C.完成后,使用批量拼接为如下表5所示的最终输出文件C:
账号等其它数据 | 转换后密文放置区 | 账户信息等其他数据 |
表5
图5是与现有技术方案相比较,应用本发明实施例提供的技术方案,网络上数据请求对比示意图,如图5所示,发送逻辑负责将密文数据发送出去,并且记录发送序号和非密文数据的对照关系。接收逻辑负责将加密机处理完的密文数据和发送序号的对照关系。两个处理模块就像两个零件生产线。由图5可知,本发明实施例提供的技术方案大大提供高涉及远程调用数据处理的效率。
具体实施时,在上述步骤103中,在每条数据(密文部分)在传输过程中,可能会被网络拆包,接收时,根据包头,将整条数据接收完成后,写入密文转换后数据文件。在所有数据处理完成后,对非密文部分和密文转换后部分进行拼接,拼接后的数据才是完整数据,可以迁入新系统。
基于同一发明构思,本发明实施例中还提供了涉及批量远程调用的数据处理装置,如下面的实施例所述。由于涉及批量远程调用的数据处理装置解决问题的原理与涉及批量远程调用的数据处理方法相似,因此涉及批量远程调用的数据处理装置的实施可以参见涉及批量远程调用的数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例中涉及批量远程调用的数据处理装置的结构示意图,如图6所示,该装置包括:
非远程调用数据处理模块02,用于对待处理数据中无需远程调用的数据进行处理;
远程调用数据处理模块04,用于在非阻塞模式下,对待处理数据中需要远程调用的数据进行处理;远程调用数据处理模块04包括:
远程调用数据发送模块041,用于根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
远程调用数据处理结果接收模块042,用于根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收远程设备的数据处理结果,记录每次的接收状态和接收位置,以及每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
数据拼接模块06,用于根据第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。
图4中的接收模块即为远程调用数据处理结果接收模块042,另外本发明实施例中提到的发送模块、发送逻辑和发送均可以指远程调用数据发送模块041,接收模块、接收逻辑和接收均可以指远程调用数据处理结果接收模块042。
在一个实施例中,所述待处理数据包括:非密文数据和密文数据;
非远程调用数据处理模块具体用于:对待处理数据中非密文数据进行处理;
远程调用数据处理模块具体用于:在非阻塞模式下,对待处理数据中密文数据进行处理;
远程调用数据发送模块具体用于:根据发送状态和发送位置,在无需等待远程加密设备转换完成后的密文数据接收完毕的模式下,连续将待转换密文数据向远程加密设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与非密文数据的位置之间的第三对应关系;
远程调用数据处理结果接收模块具体用于:根据接收状态和接收位置,在无需等待待转换密文数据发送完毕的模式下,连续接收转换完成后的密文数据,记录每次的接收状态和接收位置,以及所述每次的发送序号与转换完成后的密文数据之间的第四对应关系;
数据拼接模块具体用于:根据所述第三对应关系和第四对应关系,将转换完成后的密文数据与已处理完成后的非密文数据进行拼接。
在一个实施例中,远程调用数据发送模块041具体用于:
将待处理数据中需要远程调用的数据放入总的数据发送区,设置需要远程调用数据的发送状态和发送位置;
将总的数据发送区中预设长度和发送位置的需要远程调用的数据放入临时数据区进行发送;
查询需要远程调用数据的发送状态,如果当前需要远程调用数据发送完成,修改发送状态为完成,继续发送下一条待处理数据中需要远程调用的数据,如果未发送完成,修改发送状态和发送位置,根据发送状态和发送位置,继续发送本条待处理数据中需要远程调用的数据。
在一个实施例中,远程调用数据处理结果接收模块042具体用于:
如果接收远程设备处理完成后数据的长度等于包头长度,设置接收包头已完成;
如果包头接收已完成,开始接收并解析包体数据,设置解析包体已开始;如果包头接收未完成,将接收到的数据减去包头数据,减去包头后的数据作为包体数据;
将包体数据存入总的数据接收区中预设接收位置,修改接收状态和接收位置,如果当前远程设备处理完成后的数据接收完毕,设置接收状态为完成。
在一个实施例中,存储每次的发送序号与无需远程调用的数据的位置之间的第一对应关系的文件格式为:
存储所述发送序号的序号区、无需远程调用数据的数据区和远程设备的数据处理结果放置区;
存储每次的发送序号与远程设备的数据处理结果之间的第二对应关系的文件格式为:
存储所述发送序号的序号区、远程设备的数据处理结果放置区。
另外,本发明实施例的架构需要做以下工作:
A.不用改变原有加密机的位置,只要网络联通即可;
B.可以开发批量模块,用于批量执行发送和接收;
C.可以适量配置作业数(加密机的吞吐量/每个作业的处理速度);
D.可以开发拼接作业,用于将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接。
本发明实施例在主机上一个处理程序中,实现发送和接收两个互不影响的处理虚拟。发送模块和接收模块尽量少地占用时间,处理不等待。两个模块使用数据工作区拼接上一次和本次循环处理的连续性,使得各个模块能够不受切换的影响。
本发明实施例实际是充分利用了网络传输时间和远程设备的处理能力进行处理,不再产生单纯的等待。所以效率上的提高取决于不使用本发明的网络传输时间。网络传输时间越长,提高的效果就越明显,或者说,网络的传输时间对本发明中的批量效率不产生影响。
经过测试环境模拟验证及投产实际运行验证,本发明提供了批量远程数据处理的高效合理解决方案,既对环境和配置没有额外的要求,又保证了处理数据的完整性;对于远程的设备的距离再无要求,批量处理较本地部署处理结束时间仅仅是延迟了最后一笔的信号在信道里传送的时间,对于从上海到北京的距离来说约为50毫秒。
根据模拟测试结果,对500万笔交易处理的时间如下表6所示:
表6
注1:由于处理效率能够被时间窗口接受,所以最终作数据迁移时也只是使用了一台加密机,最终迁移也只采用了5个并行作业。
关联指标说明:加密机处理极限为9000笔/秒。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种涉及批量远程调用的数据处理方法,其特征在于,包括:
对待处理数据中无需远程调用的数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中需要远程调用的数据进行处理:
根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收所述远程设备的数据处理结果,记录每次的接收状态和接收位置,以及所述每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
根据所述第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接;
所述待处理数据包括:非密文数据和密文数据;
对待处理数据中无需远程调用的数据进行处理,包括:对待处理数据中非密文数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中需要远程调用的数据进行处理,包括:在非阻塞模式下,按如下方式对待处理数据中密文数据进行处理;
在非阻塞模式下,按如下方式对待处理数据中密文数据进行处理,包括:
根据发送状态和发送位置,在无需等待远程加密设备转换完成后的密文数据接收完毕的模式下,连续将待转换密文数据向远程加密设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与非密文数据的位置之间的第三对应关系;
根据接收状态和接收位置,在无需等待待转换密文数据发送完毕的模式下,连续接收转换完成后的密文数据,记录每次的接收状态和接收位置,以及所述每次的发送序号与转换完成后的密文数据之间的第四对应关系;
根据所述第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接,包括:
根据所述第三对应关系和第四对应关系,将转换完成后的密文数据与已处理完成后的非密文数据进行拼接,拼接后的数据作为完整数据迁入新系统;
存储每次的发送序号与无需远程调用的数据的位置之间的第一对应关系的文件格式为:
存储所述发送序号的序号区、无需远程调用数据的数据区和远程设备的数据处理结果放置区;
存储每次的发送序号与远程设备的数据处理结果之间的第二对应关系的文件格式为:
存储所述发送序号的序号区、远程设备的数据处理结果放置区。
2.如权利要求1所述的涉及批量远程调用的数据处理方法,其特征在于,根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,包括:
将待处理数据中需要远程调用的数据放入总的数据发送区,设置需要远程调用数据的发送状态和发送位置;
将总的数据发送区中预设长度和发送位置的需要远程调用的数据放入临时数据区进行发送;
查询需要远程调用数据的发送状态,如果当前需要远程调用数据发送完成,修改发送状态为完成,继续发送下一条待处理数据中需要远程调用的数据,如果未发送完成,修改发送状态和发送位置,根据发送状态和发送位置,继续发送本条待处理数据中需要远程调用的数据。
3.如权利要求1所述的涉及批量远程调用的数据处理方法,其特征在于,根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收所述远程设备的数据处理结果,记录每次的接收状态和接收位置,包括:
如果接收远程设备处理完成后数据的长度等于包头长度,设置接收包头已完成;
如果包头接收已完成,开始接收并解析包体数据,设置解析包体已开始;如果包头接收未完成,将接收到的数据减去包头数据,减去包头后的数据作为包体数据;
将包体数据存入总的数据接收区中预设接收位置,修改接收状态和接收位置,如果当前远程设备处理完成后的数据接收完毕,设置接收状态为完成。
4.一种涉及批量远程调用的数据处理装置,其特征在于,包括:
非远程调用数据处理模块,用于对待处理数据中无需远程调用的数据进行处理;
远程调用数据处理模块,用于在非阻塞模式下,对待处理数据中需要远程调用的数据进行处理;所述远程调用数据处理模块包括:
远程调用数据发送模块,用于根据发送状态和发送位置,在无需等待远程调用完成的数据处理结果接收完毕的模式下,连续将需要远程调用的数据向远程设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与无需远程调用的数据的位置之间的第一对应关系;
远程调用数据处理结果接收模块,用于根据接收状态和接收位置,在无需等待需要远程调用的数据发送完毕的模式下,连续接收所述远程设备的数据处理结果,记录每次的接收状态和接收位置,以及所述每次的发送序号与远程设备的数据处理结果之间的第二对应关系;
数据拼接模块,用于根据所述第一对应关系和第二对应关系,将远程设备的数据处理结果与无需远程调用的数据处理结果进行拼接;
所述待处理数据包括:非密文数据和密文数据;
非远程调用数据处理模块具体用于:对待处理数据中非密文数据进行处理;
远程调用数据处理模块具体用于:在非阻塞模式下,对待处理数据中密文数据进行处理;
远程调用数据发送模块具体用于:根据发送状态和发送位置,在无需等待远程加密设备转换完成后的密文数据接收完毕的模式下,连续将待转换密文数据向远程加密设备发送,记录每次的发送状态和发送位置,以及每次的发送序号与非密文数据的位置之间的第三对应关系;
远程调用数据处理结果接收模块具体用于:根据接收状态和接收位置,在无需等待待转换密文数据发送完毕的模式下,连续接收转换完成后的密文数据,记录每次的接收状态和接收位置,以及所述每次的发送序号与转换完成后的密文数据之间的第四对应关系;
数据拼接模块具体用于:根据所述第三对应关系和第四对应关系,将转换完成后的密文数据与已处理完成后的非密文数据进行拼接,拼接后的数据作为完整数据迁入新系统;
存储每次的发送序号与无需远程调用的数据的位置之间的第一对应关系的文件格式为:
存储所述发送序号的序号区、无需远程调用数据的数据区和远程设备的数据处理结果放置区;
存储每次的发送序号与远程设备的数据处理结果之间的第二对应关系的文件格式为:
存储所述发送序号的序号区、远程设备的数据处理结果放置区。
5.如权利要求4所述的涉及批量远程调用的数据处理装置,其特征在于,远程调用数据发送模块具体用于:
将待处理数据中需要远程调用的数据放入总的数据发送区,设置需要远程调用数据的发送状态和发送位置;
将总的数据发送区中预设长度和发送位置的需要远程调用的数据放入临时数据区进行发送;
查询需要远程调用数据的发送状态,如果当前需要远程调用数据发送完成,修改发送状态为完成,继续发送下一条待处理数据中需要远程调用的数据,如果未发送完成,修改发送状态和发送位置,根据发送状态和发送位置,继续发送本条待处理数据中需要远程调用的数据。
6.如权利要求4所述的涉及批量远程调用的数据处理装置,其特征在于,远程调用数据处理结果接收模块具体用于:
如果接收远程设备处理完成后数据的长度等于包头长度,设置接收包头已完成;
如果包头接收已完成,开始接收并解析包体数据,设置解析包体已开始;如果包头接收未完成,将接收到的数据减去包头数据,减去包头后的数据作为包体数据;
将包体数据存入总的数据接收区中预设接收位置,修改接收状态和接收位置,如果当前远程设备处理完成后的数据接收完毕,设置接收状态为完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610509077.0A CN105915656B (zh) | 2016-06-30 | 2016-06-30 | 涉及批量远程调用的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610509077.0A CN105915656B (zh) | 2016-06-30 | 2016-06-30 | 涉及批量远程调用的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915656A CN105915656A (zh) | 2016-08-31 |
CN105915656B true CN105915656B (zh) | 2019-09-24 |
Family
ID=56753858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610509077.0A Active CN105915656B (zh) | 2016-06-30 | 2016-06-30 | 涉及批量远程调用的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915656B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946376A (zh) * | 2011-11-29 | 2013-02-27 | Ut斯达康通讯有限公司 | 一种异步通讯的实现方法 |
CN103442075A (zh) * | 2013-09-04 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种远程调用的方法 |
CN104135496A (zh) * | 2013-05-02 | 2014-11-05 | 华中科技大学 | 一种同构环境下的rpc数据传输方法及系统 |
-
2016
- 2016-06-30 CN CN201610509077.0A patent/CN105915656B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946376A (zh) * | 2011-11-29 | 2013-02-27 | Ut斯达康通讯有限公司 | 一种异步通讯的实现方法 |
CN104135496A (zh) * | 2013-05-02 | 2014-11-05 | 华中科技大学 | 一种同构环境下的rpc数据传输方法及系统 |
CN103442075A (zh) * | 2013-09-04 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种远程调用的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105915656A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11966355B2 (en) | Network adapter with a common queue for both networking and data manipulation work requests | |
CN106533872B (zh) | 用于提高fc-ae-1553总线传输效率的系统 | |
US9280297B1 (en) | Transactional memory that supports a put with low priority ring command | |
US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
US20130097608A1 (en) | Processor With Efficient Work Queuing | |
CN116635820B (zh) | 用于控制计算存储处理器的方法和装置 | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
CN110636139B (zh) | 一种云负载均衡的优化方法及系统 | |
US10031758B2 (en) | Chained-instruction dispatcher | |
US20230080588A1 (en) | Mqtt protocol simulation method and simulation device | |
US9684615B1 (en) | Apparatus and methods for multiple-channel direct memory access | |
CN105677605A (zh) | 一种高效的可配置片上互联系统及其实现方法、装置 | |
CN109426631A (zh) | 一种基于rdma的通信方法、装置及存储介质 | |
CN107643992A (zh) | PCIe控制器与使用PCIe控制器的环回数据通路 | |
CN105025063A (zh) | 面向大规模终端设备的在线数据传输方法 | |
CN108182119A (zh) | 读写分离控制方法和装置、存储介质及电子装置 | |
CN105915656B (zh) | 涉及批量远程调用的数据处理方法及装置 | |
CN103299298A (zh) | 处理业务的方法和系统 | |
CN107643938A (zh) | 数据传输方法、装置及存储介质 | |
CN108228517B (zh) | I3c电路设备、系统及通信方法 | |
CN106168932A (zh) | 一种Flash控制方法及装置 | |
CN102308538A (zh) | 报文处理方法及装置 | |
CN105117353A (zh) | 带有通用数据交互模块的fpga及采用该fpga的信息处理系统 | |
CN106372013A (zh) | 远程内存访问方法、装置和系统 | |
EP3631640B1 (en) | Communication between field programmable gate arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |