CN107835158B - Sna网络体系下交互数据的传输方法及装置 - Google Patents
Sna网络体系下交互数据的传输方法及装置 Download PDFInfo
- Publication number
- CN107835158B CN107835158B CN201710970100.0A CN201710970100A CN107835158B CN 107835158 B CN107835158 B CN 107835158B CN 201710970100 A CN201710970100 A CN 201710970100A CN 107835158 B CN107835158 B CN 107835158B
- Authority
- CN
- China
- Prior art keywords
- character
- interactive data
- characters
- repeated
- length
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种SNA网络体系下交互数据的传输方法及装置,其中,该传输方法包括:检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;传输压缩后的交互数据。上述技术方案提高了SNA网络体系下交互数据传输的效率。
Description
技术领域
本发明涉及数据压缩技术领域,特别涉及一种SNA网络体系下交互数据的传输方法及装置。
背景技术
在SNA网络体系下,两个系统间采用DPL方式进行实时数据交互时,即应用系统间通过CICS中间件跨平台进行数据交互时,因为传输数据长度较长,最大交互数据长度支持24K,但网络传输效率和交互数据的有效长度成反比,且当有效长度大于4K时,传输效率成比例下降,导致网络传输性能较差,影响业务办理。
因此,现有SNA网络体系下交互数据的传输效率低。
发明内容
本发明实施例提供了一种SNA网络体系下交互数据的传输方法,用以提高SNA网络体系下应用系统间交互数据传输的效率,该方法包括:
检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;
根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;
传输压缩后的交互数据。
本发明实施例还提供了一种SNA网络体系下交互数据的传输方法,用以提高SNA网络体系下应用系统间交互数据传输的效率,该方法包括:
接收压缩后的交互数据;
检测压缩后的交互数据的字符串中的压缩数据;
根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
本发明实施例还提供了一种SNA网络体系下交互数据的传输装置,用以提高SNA网络体系下应用系统间交互数据传输的效率,该装置包括:
检测模块,用于检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;
计算模块,用于根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
压缩模块,用于根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;
传输模块,用于传输压缩后的交互数据。
本发明实施例还提供了一种SNA网络体系下交互数据的传输装置,用以提高SNA网络体系下应用系统间交互数据传输的效率,该装置包括:
压缩数据接收模块,用于接收压缩后的交互数据;
压缩数据检测模块,用于检测压缩后的交互数据的字符串中的压缩数据;
解压缩模块,用于根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上所述的SNA网络体系下交互数据的传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行如上所述的SNA网络体系下交互数据的传输方法。
本发明实施例提供的技术方案:首先通过检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;其次,将经过字符串压缩后的交互数据在系统间传输,实现了在SNA网络体系下,传输交互数据之前,根据指定重复字符的开始位置、类型和字符长度,对交互数据的字符串中指定重复字符进行字符串压缩,由于经过字符串压缩后的交互数据小,将经过字符串压缩后的交互数据在系统间传输,提高了SNA网络体系下交互数据的传输效率。
本发明实施例提供的技术方案:首先接收压缩后的交互数据,其次通过检测压缩后的交互数据的字符串中的压缩数据,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,实现了在SNA网络体系下,传输交互数据之后,根据指定重复字符的开始位置、类型和字符长度,对交互数据的字符串中指定重复字符进行字符串解压缩,将数据无损地恢复,提高了SNA网络体系下交互数据的传输效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例中SNA网络体系下交互数据的传输方法的流程示意图;
图2是本发明实施例中SNA网络体系下交互数据的传输方法的流程示意图;
图3是本发明又一实施例中SNA网络体系下交互数据的传输方法的流程示意图;
图4是本发明实施例中SNA网络体系下交互数据的传输装置的结构示意图;
图5是本发明又一实施例中SNA网络体系下交互数据的传输装置的结构示意图;
图6是本发明实施例中压缩传输测试的效果图;
图7是本发明实施例中SNA通讯耗时数据测试效果对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在介绍本发明实施例提供的技术方案之前,首先介绍本发明实施例中涉及的专业名词:
一、大型机,或者称大型主机,英文名mainframe,属于大型计算机系统。大型机使用专用的处理器指令集、操作系统和应用软件。大型机一词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。大多数时候它却是指system/360开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl,Hitachi Data Systems(HDS)制造的兼容的系统。有些人用这个词来指IBM的AS/400或者iSeries系统,这种用法是不恰当的;因为即使IBM自己也只把这些系列的机器看作中等型号的服务器,而不是大型机。
二、SNA:IBM系统网络体系机构(IBM Systems Network Architecture)SNA是IBM公司开发的封闭性网络体系结构,在IBM公司的主机环境中得到广泛的应用。
三、CICS:是IBM公司的强大的主机交易服务器、集成平台;也叫交易处理中间件,提供客户实时的交易请求与响应、支持分布式交易服务器。
四、DPL:IBM各系统间,通过CICS中间件进行交易的方式。
目前,在IBM的大型机和小型机环境下,各个应用产品的实时数据交互中,都是在SNA网络体系下,使用CICS中间件进行DPL方式,进行数据传递。
发明人发现当交互数据有效长度大于4K时,其网络传输效率直线下降,通过发明人对实际运行数据传输性能监控,高达6毫秒以上,而长度为1.5K左右为0.2毫秒左右,传输效率相差30倍。因实际业务要求,无法要求系统间有效的交互数据必须小于4K,但通过对交互数据特点进行分析,发现交互数据本身有大量重复空格和连续重复字符的现象,IBM针对此类场景,只对交互数据最后的连续低值不进行传递,如果交互数据本身有效数据较长或者交互数据最后存在大量重复空格,按照为有效数字进行传递。本发明利用该数据特点,对连续重复字符在传递前进行有效压缩,较少数据交互的有效长度,增强网络的传输效率。具体地,本发明主要通过先压缩、再进行网络传输、最后解压的方式,解决SNA网络体系下,当系统间交互传递数据较大时传输性能较慢的问题。
目前传输压缩技术大部分都是建立在开放平台高级面向对象语言进行下进行的,例如调用C++的压缩类,在IBM大型机和小型机COBOL语言环境下,还没有此类传输压缩的方法和技术。如果采用调用高级面向对象语言的类进行压缩,在大量数据下压缩效率较差。由于发明人考虑到了上述技术问题,提出了一种为了实现IBM大型机和小型机语言环境下,CICS中间件进行实时DPL交互时,对交互的数据,高效、无损的进行压缩传输的技术方案。下面对本发明实施例提供的高效、无损地压缩传输的技术方案进行详细介绍。
由于考虑到了上述技术问题,发明人对一个大字符串的压缩方法解决长度较长(大于4K)的交互数据网络传输性能瓶颈处理步骤如下:
首先,对交互数据中重复字符进行压缩;
其次,对压缩后的交互数据进行网络传输;
再次,接收到压缩后的交互数据的系统对该压缩数据进行解压还原数据;
最后还可以对解压后数据长度与进行字符串压缩前的数据长度进行比对,保证数据有效长度还原后无变化。
下面举个例子,以说明SNA网络体系下高效、无损地压缩传输的技术方案如何实施。
目前在IBM z/OS操作系统上,较为常用的压缩软件有IBM TERSE工具软件,但它输入条件是文件,仅支持整个文件的压缩、解压,而不支持某一串字符串的部分记录的压缩与解压,因此不能满足我们应用要求。对有效的字符串中部分内容进行压缩、解压,并比对结果是技术着重要解决的问题,相关处理流程图如图1所示。
如图1所示,系统间需要对字符串A进行交互,调用压缩模块对字符串A进行部分压缩,压缩完成后生成有效长度变小的字符串B,对字符串B进行网络传输,另一端系统接收到字符串B后进行解压,再进行校验,则系统间交互过程结束。该方案通过对交互数据中指定重复字符从开始位置进行字符串的压缩,对进行了字符串压缩后的交互数据进行传输,实现了对交互数据,高效、无损地传输。
图2是本发明实施例中SNA网络体系下交互数据的传输方法的流程示意图,如图2所示,该传输方法包括如下步骤:
步骤101:检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;
步骤102:根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
步骤103:根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;
步骤104:传输压缩后的交互数据。
本发明实施例提供的技术方案:首先通过检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;其次,将经过字符串压缩后的交互数据在系统间传输,实现了在SNA网络体系下,传输交互数据之前,根据指定重复字符的开始位置、类型和字符长度,对交互数据的字符串中指定重复字符进行字符串压缩,由于经过字符串压缩后的交互数据小,将经过字符串压缩后的交互数据在系统间传输,提高了SNA网络体系下交互数据的传输效率。
通过图1和图2所示流程可知,字符串的压缩算法比较重要,目前常用的压缩算法多种多样,本发明实施例提供的技术方案要求压缩和解压后数据无损坏,且易于实现,所以为了提高压缩和解压效率,本发明实施例提供的技术方案要求对字符串中指定一个开始位置,对某一个或多个字符(例如:重复的0和空格)进行压缩,和RLE(RUN Length Encoding)算法比较类似,但RLE无法实现从指定位置压缩和指定某个字符进行压缩,它是根据输入字符的频率进行编码。
因此,通过对交互数据仔细分析,发明人发现交互数据中存在大量的连续空格和数字0,例如:我系统间交互数据中出现连续1万个空格的情况,此类交互数据给了我们较大的压缩空间。
下面介绍指定重复字符为连续空格和数字0的情况。
在一个实施例中,重复字符可以包括:重复的空格字符;
检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置,可以包括:
检测待传输交互数据的字符串中重复的空格字符的开始位置和结束位置;
根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度,可以包括:
根据重复的空格字符的开始位置和结束位置,确定重复的空格字符的长度;
根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩,可以包括:
根据重复的空格字符的开始位置、类型和长度,对待传输交互数据中重复的空格字符进行压缩。
在一个实施例中,重复字符可以包括:重复的数字字符0;
检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置,可以包括:
检测待传输交互数据的字符串中重复的数字字符0的开始位置和结束位置;
根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度,可以包括:
根据重复的数字字符0的开始位置和结束位置,确定重复的数字字符0的长度;
根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩,可以包括:
根据重复的数字字符0的开始位置、类型和长度,对待传输交互数据中重复的数字字符0进行压缩。
另外,除了上述对连续出现的空格字符和0字符进行压缩以为,还可以根据实际需要,考虑对重复的普通字符进行压缩。
在一个实例中,重复字符可以包括:重复的普通字符;
检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置,可以包括:
检测待传输交互数据的字符串中重复的普通字符的开始位置和结束位置;
根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度,可以包括:
根据重复的普通字符的开始位置和结束位置,确定重复的普通字符的长度;
根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩,可以包括:
根据重复的普通字符的开始位置、类型和长度,对待传输交互数据中重复的普通字符进行压缩。
在一个实例中,根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩,可以包括:
以字节为单位,根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩。
下面举个例子,以说明上述SNA网络体系下交互数据的传输方法如何实施。
具体实施时,数据格式的压缩前后示意如下表1和表2:
表1
表2
下面对上述表1和表2进行解释:
对于普通字符,它输出在控制字之后,比如上表中ABCDEFGH输出字符类型为X’03’,字符长度为二进制’0000 0100’B,ABCDEFGH,X’03’表示后续字符为普通字符;二进制’0000 0100’B表示后续字符串ABCDEFGH的长度;
为了清楚描述压缩方法的处理过程,用下表3和表4描述压缩方法处理的主要对象:
数据源A:
表3
压缩目标B:
表4
数据区A,压缩后为数据区B,为了使用进行算法的伪代码编写,定义相关变量如下:
·A为被压缩的源数据区;
·B为压缩目标数据区;
·I为指向数据区A的地址;
·I为当前压缩后数据区B的地址;
·K为数据区B中控制字符标识长度的临时变量地址;
·LC为数据区的总长度,为压缩前已知数据,例如数据区A的总长度23;
·SNUM数据区A中连续空格长度,二进制压缩表示;
·ZNUM数据区A中连续ZEROS长度,二进制压缩表示;
·CNUM数据区A中连续常用字符长度,二进制压缩表示;
·XFLAG为常用字符和压缩字符的转换标记,N为非常用字符,Y为常用字符;
·BTYPE上次处理字符类型;
·OTYPE当前处理字符类型;
·X’01’代表SPACE类型;
·X’02’代表为ZEROS类型;
·X’03’代表普通字符。
压缩方法的伪代码如下:
图3为本发明又实施例中SNA网络体系下交互数据的传输方法的流程示意图,如图3所示,该传输方法包括如下步骤:
步骤301:接收压缩后的交互数据;
步骤302:检测压缩后的交互数据的字符串中的压缩数据;
步骤303:根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
本发明实施例提供的技术方案:首先接收压缩后的交互数据,其次通过检测压缩后的交互数据的字符串中的压缩数据,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,实现了在SNA网络体系下,传输交互数据之后,根据指定重复字符的开始位置、类型和字符长度,对交互数据的字符串中指定重复字符进行字符串解压缩,将数据无损地恢复,提高了SNA网络体系下交互数据的传输效率。
在一个实施例中,重复字符包括:数字字符0;
根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,包括:
根据压缩数据中数字字符0的开始位置、类型和字符长度,对接收到的交互数据中的数字字符0进行解压缩。
在一个实施例中,重复字符包括:空格字符;
根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,包括:
根据压缩数据中空格字符的开始位置、类型和字符长度,对接收到的交互数据中的空格字符进行解压缩。
当然,与上述字符串压缩方法相应,在一个实施例中,SNA网络体系下交互数据的字符串解压缩方法可以对重复的普通字符进行压缩。
在一个实施例中,重复字符包括:重复的普通字符;
根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,包括:
根据压缩数据中重复的普通字符的开始位置、类型和字符长度,对接收到的交互数据中的重复的普通字符进行解压缩。
下面举个例子,以说明上述SNA网络体系下交互数据的传输方法如何实施。
与压缩算法相对应,用下表5和表6描述解压算法处理的主要对象:
数据源A:
表5
解压目标B:
表6
相较于压缩算法,解压的算法要简单一些,以下是算法中关键变量的描述:
·A为被解压的源数据区;
·B解压后目标数据区;
·I为指向数据区A的地址;
·J为当前压缩后数据区B的地址;
·K为数据区A中控制字符标识长度的临时变量地址;
·T为临时循环计数变量;
·LC为数据区的总长度,为压缩前已知数据,例如数据区A的总长度23;
·X’01’代表SPACE类型;
·X’02’代表为ZEROS类型;
·X’03’代表普通字符。
具体实施时,解压方法的伪代码如下:
具体实施时,字符串压缩和解压缩方法前面已经介绍,下面要选择合理的编程语言实现此算法,首先要求执行高效、其次要求语言编程简单。通过算法分析,编程实现的指令主要是字符串的比对和赋值,主要有两种语言选择COBOL语言和IBM 370汇编语言,从效率上因为汇编语言有寄存器操作,比COBOL要快很多,但易用上COBOL占优。最终,发明人认为效率比易用性更重要,决定采用IBM 370汇编语言来实现。
在一个实施例中,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,可以包括:
以字节为单位,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
在一个实施例中,上述SNA网络体系下交互数据的传输方法还包括:对字符串解压缩后的交互数据长度进行校验。
具体实施时,解压后字符串合法性校验,具体可以为:对解压后数据长度与进行字符串压缩前的数据长度进行比对,保证数据有效长度还原后无变化,在保证了对交互数据传输的基础上,实现无损地压缩传输。
基于同一发明构思,本发明实施例中还提供了一种SNA网络体系下交互数据的传输装置,如下面的实施例。由于SNA网络体系下交互数据的传输装置解决问题的原理与SNA网络体系下交互数据的传输方法相似,因此SNA网络体系下交互数据的传输装置的实施可以参考SNA网络体系下交互数据的传输方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例中SNA网络体系下交互数据的传输装置的结构示意图,如图4所示,该传输装置包括:
检测模块011,用于检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;
计算模块012,用于根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
压缩模块013,用于根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;
传输模块014,用于传输压缩后的交互数据。
在一个实施例中,重复字符可以包括:重复的空格字符;
检测模块具体可以用于检测待传输交互数据的字符串中重复的空格字符的开始位置和结束位置;
计算模块具体可以用于根据重复的空格字符的开始位置和结束位置,确定重复的空格字符的长度;
压缩模块具体可以用于根据重复的空格字符的开始位置、类型和长度,对待传输交互数据中重复的空格字符进行压缩。
在一个实施例中,重复字符可以包括:重复的数字字符0;
检测模块具体可以用于检测待传输交互数据的字符串中重复的数字字符0的开始位置和结束位置;
计算模块具体可以用于根据重复的数字字符0的开始位置和结束位置,确定重复的数字字符0的长度;
压缩模块具体可以用于根据重复的数字字符0的开始位置、类型和长度,对待传输交互数据中重复的数字字符0进行压缩。
在一个实施例中,重复字符可以包括:重复的普通字符;
检测模块具体可以用于检测待传输交互数据的字符串中重复的普通字符的开始位置和结束位置;
计算模块具体可以用于根据重复的普通字符的开始位置和结束位置,确定重复的普通字符的长度;
压缩模块具体可以用于根据重复的普通字符的开始位置、类型和长度,对待传输交互数据中重复的普通字符进行压缩。
在一个实施例中,压缩模块具体可以用于以字节为单位,根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩。
基于同一发明构思,本发明实施例中还提供了一种SNA网络体系下交互数据的传输装置,如下面的实施例。由于SNA网络体系下交互数据的传输装置解决问题的原理与SNA网络体系下交互数据的传输方法相似,因此SNA网络体系下交互数据的传输装置的实施可以参考SNA网络体系下交互数据的传输方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本发明实施例中SNA网络体系下交互数据的传输装置的结构示意图,如图5所示,该传输装置包括:
压缩数据接收模块031,用于接收压缩后的交互数据;
压缩数据检测模块032,用于检测压缩后的交互数据的字符串中的压缩数据
解压缩模块033,用于根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
在一个实施例中,重复字符可以包括:数字字符0;
解压缩模块具体可以用于根据压缩数据中数字字符0的开始位置、类型和字符长度,对接收到的交互数据中的数字字符0进行解压缩。
在一个实施例中,重复字符可以包括:空格字符;
解压缩模块具体可以用于根据压缩数据中空格字符的开始位置、类型和字符长度,对接收到的交互数据中的空格字符进行解压缩。
在一个实施例中,重复字符可以包括:重复的普通字符;
解压缩模块具体可以用于根据压缩数据中重复的普通字符的开始位置、类型和字符长度,对接收到的交互数据中的重复的普通字符进行解压缩。
在一个实施例中,解压缩模块具体可以用于以字节为单位,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩。
在一个实施例中,上述传输装置还包括:校验模块,用于对字符串解压缩后的交互数据长度进行校验。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上所述的SNA网络体系下交互数据的传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行如上所述的SNA网络体系下交互数据的传输方法。
本发明实施例提供的技术方案为针对一个字符串的压缩和解压技术,采用字符串的先压缩再解压的方法增强IBM产品平台SNA网络框架下的传输性能。
本发明实施例提供的技术方案主要是为了提高系统间交互时网络传输的性能,实现此方案,发明人进行了大量的实验进行实施和比对,联机交易在400TPS左右,交易网络传输性能提高3倍。下面举两个测试实验。
一、压缩传输测试:
如图6所示,优化前后交易的user cpu time相同,而LU62 Wait Time大幅降低。因为环境资源有限,无法测试联机交易大量并发的场景,但从发明人大量的实际生产业务比对,可以从0.006降低到0.0002,降低效果30倍。
二、SNA通讯耗时数据测试:
如图7所示,根据IBM实验室的测试数据,随着CICS交易信息大(即Data数据由1K变为24K),TPS性能显著下降。因此减小CICS交易信息中的空格信息,可以减少Data数据大小,从而提高TPS性能。
本发明实施提供的技术方案的有益技术效果为:
本发明实施例提供的技术方案:首先通过检测待传输交互数据的字符串中指定重复字符的开始位置和结束位置;根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;其次,将经过字符串压缩后的交互数据在系统间传输;最后,当接收到了压缩后的交互数据后,检测接收到的交互数据中字符串中的压缩数据,根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩,将数据无损地恢复,实现了IBM大型机和小型机语言环境下,CICS中间件进行实时DPL交互时,在SNA网络体系下,传输交互数据之前,根据指定重复字符的开始位置、类型和字符长度,对交互数据的字符串中指定重复字符进行压缩,将经过字符串压缩后的交互数据在系统间传输,由于经过字符串压缩后的交互数据小,提高了SNA网络体系下交互数据的传输效率。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种SNA网络体系下交互数据的传输方法,其特征在于,包括:
检测IBM大型机和小型机语言环境下,IBM各系统间,通过CICS中间件进行联机交易时的待传输交互数据的字符串中指定重复字符的开始位置和结束位置;所述重复字符为重复的空格字符和重复的数字字符0;
根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
以字节为单位,根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;压缩后的交互数据包括2个字节的控制字符,其中第一字节代表字符类型,第二字节代表相应的字符长度;压缩后输出的交互数据格式为普通字符、普通字符的长度、空格字符、空格字符的长度、数字字符0,以及数字字符0的长度;数据压缩的关键变量包括:被压缩的源数据区的地址和压缩后目标数据区的地址;
传输压缩后的交互数据。
2.一种SNA网络体系下交互数据的传输方法,其特征在于,
接收压缩后的IBM大型机和小型机语言环境下,IBM各系统间,通过CICS中间件进行联机交易交互时的交互数据;
检测以字节为单位进行压缩后的交互数据的字符串中的压缩数据;压缩后的交互数据包括2个字节的控制字符,其中第一字节代表字符类型,第二字节代表相应的字符长度;压缩后输出的交互数据格式为普通字符、普通字符的长度、空格字符、空格字符的长度、数字字符0,以及数字字符0的长度;
根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩;数据解压的关键变量包括:被解压的源数据区的地址和解压后目标数据区的地址;所述重复字符为重复的空格字符和重复的数字字符0。
3.如权利要求2所述的SNA网络体系下交互数据的传输方法,其特征在于,还包括:对字符串解压缩后的交互数据长度进行校验。
4.一种SNA网络体系下交互数据的传输装置,其特征在于,包括:
检测模块,用于检测IBM大型机和小型机语言环境下,IBM各系统间,通过CICS中间件进行联机交易时的待传输交互数据的字符串中指定重复字符的开始位置和结束位置;所述重复字符为重复的空格字符和重复的数字字符0;
计算模块,用于根据指定重复字符的开始位置和结束位置,确定指定重复字符的字符长度;
压缩模块,用于以字节为单位,根据指定重复字符的开始位置、类型和字符长度,对待传输交互数据进行压缩;压缩后的交互数据包括2个字节的控制字符,其中第一字节代表字符类型,第二字节代表相应的字符长度;压缩后输出的交互数据格式为普通字符、普通字符的长度、空格字符、空格字符的长度、数字字符0,以及数字字符0的长度;数据压缩的关键变量包括:被压缩的源数据区的地址和压缩后目标数据区的地址;
传输模块,用于传输压缩后的交互数据。
5.一种SNA网络体系下交互数据的传输装置,其特征在于,
压缩数据接收模块,用于接收压缩后的IBM大型机和小型机语言环境下,IBM各系统间,通过CICS中间件进行联机交易时的交互数据;
压缩数据检测模块,用于检测以字节为单位进行压缩后的交互数据的字符串中的压缩数据;压缩后的交互数据包括2个字节的控制字符,其中第一字节代表字符类型,第二字节代表相应的字符长度;压缩后输出的交互数据格式为普通字符、普通字符的长度、空格字符、空格字符的长度、数字字符0,以及数字字符0的长度;
解压缩模块,用于根据压缩数据中指定重复字符的开始位置、类型和字符长度,对接收到的交互数据进行解压缩;数据解压的关键变量包括:被解压的源数据区的地址和解压后目标数据区的地址;所述重复字符为重复的空格字符和重复的数字字符0。
6.如权利要求5所述的SNA网络体系下交互数据的传输装置,其特征在于,还包括:校验模块,用于对字符串解压缩后的交互数据长度进行校验。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一所述方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至3任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710970100.0A CN107835158B (zh) | 2017-10-18 | 2017-10-18 | Sna网络体系下交互数据的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710970100.0A CN107835158B (zh) | 2017-10-18 | 2017-10-18 | Sna网络体系下交互数据的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107835158A CN107835158A (zh) | 2018-03-23 |
CN107835158B true CN107835158B (zh) | 2021-06-18 |
Family
ID=61648231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710970100.0A Active CN107835158B (zh) | 2017-10-18 | 2017-10-18 | Sna网络体系下交互数据的传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107835158B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834504A (zh) * | 2022-11-04 | 2023-03-21 | 电子科技大学 | 一种基于axi总线的数据压缩/解压缩方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147818A (zh) * | 2011-05-17 | 2011-08-10 | 上海华岭集成电路技术股份有限公司 | 测试文件压缩方法 |
CN104468044A (zh) * | 2014-12-05 | 2015-03-25 | 北京国双科技有限公司 | 应用于网络传输中的数据压缩的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110085058A (ko) * | 2010-01-19 | 2011-07-27 | 삼성전자주식회사 | 데이터 라인 드라이버와 이를 포함하는 장치들 |
CN104378119B (zh) * | 2014-12-09 | 2017-06-13 | 西安电子科技大学 | 嵌入式设备文件系统数据的快速无损压缩方法 |
CN106656195A (zh) * | 2015-11-04 | 2017-05-10 | 北京信威通信技术股份有限公司 | 数据压缩、解压缩的方法及系统 |
CN106844479B (zh) * | 2016-12-23 | 2020-07-07 | 光锐恒宇(北京)科技有限公司 | 文件的压缩、解压方法及装置 |
-
2017
- 2017-10-18 CN CN201710970100.0A patent/CN107835158B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147818A (zh) * | 2011-05-17 | 2011-08-10 | 上海华岭集成电路技术股份有限公司 | 测试文件压缩方法 |
CN104468044A (zh) * | 2014-12-05 | 2015-03-25 | 北京国双科技有限公司 | 应用于网络传输中的数据压缩的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107835158A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789252B2 (en) | Efficient evaluation of aggregate functions | |
US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
US11755565B2 (en) | Hybrid column store providing both paged and memory-resident configurations | |
US8521788B2 (en) | Techniques for maintaining column vectors of relational data within volatile memory | |
CN109902274B (zh) | 一种将json字符串转化为thrift二进制流的方法及系统 | |
US10747737B2 (en) | Altering data type of a column in a database | |
US9529873B2 (en) | Enhancing performance of extract, transform, and load (ETL) jobs | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
US20190095486A1 (en) | Group determination based on multi-table dictionary codes | |
US9966971B2 (en) | Character conversion | |
US11675768B2 (en) | Compression/decompression using index correlating uncompressed/compressed content | |
WO2021175053A1 (zh) | 一种在虚拟机中执行功能模块的方法和装置 | |
US9137336B1 (en) | Data compression techniques | |
CN114780501A (zh) | 数据处理方法、电子设备和计算机程序产品 | |
CN107835158B (zh) | Sna网络体系下交互数据的传输方法及装置 | |
US20160275145A1 (en) | Efficient join on dynamically compressed inner for improved fit into cache hierarchy | |
US11429317B2 (en) | Method, apparatus and computer program product for storing data | |
US20210201134A1 (en) | Data output method, data acquisition method, device, and electronic apparatus | |
US20130173564A1 (en) | System and method for data compression using multiple encoding tables | |
CN115904240A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US12001237B2 (en) | Pattern-based cache block compression | |
US10681106B2 (en) | Entropy sharing across multiple compression streams | |
CN113778564A (zh) | 一种高效执行evm智能合约的方法、设备及储存介质 | |
CN103729315B (zh) | 一种地址压缩、解压缩的方法、压缩器和解压缩器 | |
CN112527885A (zh) | 一种etl中基于规则配置的数据处理的系统和方法 |
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 |