CN101140507A - 一种数据回放方法及装置 - Google Patents
一种数据回放方法及装置 Download PDFInfo
- Publication number
- CN101140507A CN101140507A CNA2007101223609A CN200710122360A CN101140507A CN 101140507 A CN101140507 A CN 101140507A CN A2007101223609 A CNA2007101223609 A CN A2007101223609A CN 200710122360 A CN200710122360 A CN 200710122360A CN 101140507 A CN101140507 A CN 101140507A
- Authority
- CN
- China
- Prior art keywords
- data
- ipds
- control unit
- print control
- main frame
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据回放方法及装置,用于实现实际应用环境的仿真,捕获数据处理时出现的错误,以便对错误进行修改和提高数据处理质量。所述方法为:通过仿真IPDS主机的接口,与打印控制装置建立连接;从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得IPDS主机发送的IPDS数据,并发送给打印控制装置。本发明还公开了一种基于数据回放的错误捕获方法和用于实现上述两种方法的装置。
Description
技术领域
本发明涉及计算机及电子技术领域,特别是涉及数据回放方法及装置。
背景技术
智能打印数据流(Intelligent Printer Data Stream,IPDS)数据是一种基于IBM主机的打印协议和描述语言,为一种流式的打印数据。与其它的打印描述语言不同,IPDS主机在打印操作开始时便需要与打印设备建立直接联系,并从打印设备获取对应的处理能力和对应的物理特征,依据获得的处理能力和物理特征向打印设备发送需要进行打印处理的IPDS数据。
IPDS RIP是一种用于光栅化处理IPDS数据的软件。它通过对主机发送过来的IPDS格式的打印数据处理,生成打印相关的光栅化点阵数据。
IPDS主机向运行IPDS RIP的装置发送IPDS内容数据和IPDS查询信息,此时IPDS数据的发送表现为网络数据流。在不同的网络环境下,IPDS数据在每个数据包中的大小、内容和时序也不尽相同。由于IPDS的数据是基于流方式的,一旦IPDS RIP在处理所接收的IPDS数据时出现错误,当前的作业的处理就会中断结束。下次重新处理作业时,由于运行环境的上下文发生了变化,所再次接收的数据会有所变化,上次处理的错误很可能无法重现和定位。这就导致了对错误调试和定位难度大大增加。
发明内容
本发明实施例提供一种数据回放方法及装置,用于实现实际应用环境的仿真,捕获数据处理时出现的错误,以便对错误进行修改和提高数据处理质量。
一种数据回放方法,包括以下步骤:
通过仿真IPDS主机的接口,与打印控制装置建立连接;
从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得IPDS主机发送的IPDS数据,并发送给打印控制装置。
一种错误捕获方法,包括以下步骤:
将打印控制装置处理智能打印数据流IPDS数据的流程放入调试环境;
依据保存的IPDS主机与打印控制装置交互的所有IPDS数据,从保存的所有IPDS数据中获得处理时需要的IPDS数据并输出到调试环境,以及在调试环境中对IPDS数据进行处理;
监控调试环境中处理IPDS数据的流程,并确定错误发生处。
一种用于数据回放的系统,包括:
打印控制装置,用于对接收到的IPDS数据进行光栅化处理;
仿真装置,用于通过仿真IPDS主机的接口,与打印控制装置建立连接;以及,从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得IPDS主机发送的IPDS数据,并发送给打印控制装置。
一种用于数据回放的装置,包括:
存储模块,用于保存IPDS主机与打印控制装置交互的所有IPDS数据;
仿真模块,用于仿真IPDS主机的接口,与打印控制装置建立连接;以及,从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得需要发送的IPDS数据,并发送给外部的打印控制装置。
一种打印控制装置,包括:
接口模块,用于与外部装置建立连接并交互;
处理模块,用于对接收到的IPDS数据进行光栅化处理或响应外部装置的请求;
缓存模块,用于按照时间顺序保存接收到的IPDS数据和返回给外部装置的IPDS数据。
本发明实施例在实际生产过程中记录IPDS主机与打印控制装置间交互的IPDS数据,为数据回放和错误捕获提供可能。并通过仿真装置代替IPDS主机与打印控制装置交互,重现实际生产过程,并且在脱离IPDS主机的情况下重现了实际生产过程,使数据回放和错误捕获的应用场景更灵活。以及,重现实际生产过程使得可以准确捕获错误发生的位置,以达到快速辅助调试的功能,便于对错误的修改,提高系统运行质量。
附图说明
图1为本发明实施例中系统的基本结构图;
图2为本发明实施例中系统的详细结构图;
图3为本发明实施例中数据回放的主要方法流程图;
图4为本发明实施例中数据回放的具体方法流程图;
图5为本发明实施例中错误捕获的主要方法流程图;
图6为本发明实施例中错误捕获的具体方法流程图;
图7为本发明实施例中打印控制装置的结构图;
图8为本发明实施例中仿真装置的结构图。
具体实施方式
本发明实施例对实际生产过程进行记录,以便对实际生产过程的重现,实现数据回放,并在数据回放过程中捕获实际生产过程中发生的错误,实现错误定位。
本发明实施例中将基于智能打印数据流(IPDS)协议的所有数据称为IPDS数据,其包括内容数据和命令数据。内容数据是指用于光栅化处理的数据。命令数据是指关于进行光栅化处理的打印控制装置的处理能力的数据,主要指打印控制装置接收的查询请求、返回的响应消息和主动上报的异常信息等。本实施例中的错误包括处理结果与预计的不一致、处理过程中发生的异常(如系统崩溃、发生死循环)等
本实施例中的系统包括IPDS主机201和打印控制装置202,参见图1所示。
在实际生产环境中,IPDS主机201用于向打印控制装置202发送IPDS数据,具体发送内容数据和查询请求消息,并根据收到的响应消息和打印控制装置202主动上报的消息确定是否继续发送内容数据及具体需要发送的内容数据。例如,在正常情况下IPDS主机201以数据流的形式发送IPDS数据,当获知发生异常时,可能需要重发某些IPDS数据,或者当获知发生错误时,终止发送IPDS数据。打印控制装置202用于运行IPDS RIP系统,接收IPDS数据并进行光栅化处理,以及在实际生产环境中保存内部处理过程中的IPDS数据,保存的数据包括接收到的数据和向IPDS主机201发送的IPDS数据等,记录了IPDS主机201发送的每个网络数据包的内容、大小、时序,在存储接收数据的同时,对IPDS主机查询信息的返回数据也进行保存,接收数据的存储和返回的查询数据的存储在时序上保持同IPDS主机201时序的一致。
在仿真环境(包括数据回放和错误捕获)中,所述系统还包括仿真装置203,参见图2所示。仿真装置203用于保存打印控制装置202在实际生产环境中保存的内部处理过程中的IPDS数据,一种具体实现的实例是打印控制装置202在确定需要进行数据回放或错误捕获时,将保存的IPDS数据导出到仿真装置203。仿真装置203还用于仿真IPDS主机201的接口,通过该接口与打印控制装置202进行交互,将保存的IPDS数据发送给打印控制装置202。打印控制装置202如同在实际生产环境中处理IPDS数据。
参见图3,本实施例中数据回放的主要方法流程如下:
步骤301:通过仿真IPDS主机201的接口,与打印控制装置202建立连接。
步骤302:获得打印控制装置202的处理能力。
步骤303:从保存的IPDS主机201与打印控制装置202交互的所有IPDS数据中获得IPDS主机201发送的IPDS数据,并发送给打印控制装置202。
参见图4,本实施例中数据回放的具体方法流程如下:
步骤401:打印控制装置202启动,运行IPDS RIP系统。
步骤402:打印控制装置202确定需要进行数据回放。一种具体实现方式是打印控制装置202通过配置接口获得需要进行数据回放的配置信息。
如果是确定不需要进行数据回放,打印控制装置202工作在实际生产环境中,与IPDS主机201进行交互。
步骤403:打印控制装置202加载仿真装置203。
步骤404:打印控制装置202与仿真装置203进行双向握手机制,以建立连接。
步骤405:仿真装置203通过发送查询请求消息和收到的响应消息获得打印控制装置202的处理能力等信息。
步骤406:仿真装置203向打印控制装置202发送本地保存的IPDS数据。
由于仿真装置203内部保存的IPDS数据是按照实际生产环境中IPDS主机201与打印控制装置202交互的时间顺序进行记录的,所以保存的IPDS数据彼此间存在严格的页序。仿真装置203内部保存的IPDS数据与打印控制装置202进行交互,仿真装置203代替IPDS主机201向打印控制装置202发送在实际生产环境中IPDS主机201发送的IPDS数据。仿真装置203接收打印控制装置202发送的IPDS数据,并与本地保存的在实际生产环境中打印控制装置202发送的IPDS数据进行比对,若比对结果一致,则依据收到的IPDS数据查询保存的IPDS数据中在收到的IPDS数据之后的IPDS数据并发送给打印控制装置202,若比对结果不一致,则仿真过程终止,表明在此之前打印控制装置202发生了异常或错误。
上述实施例对实际的生产环境进行仿真,通过数据回放的方式重现了实际生产环境,该数据回放过程可应用在多种场景,一种典型的应用场景便是用于错误捕获,下面对错误捕获方法进行描述,参见图5所示,主要方法流程如下:
步骤501:将打印控制装置处理IPDS数据的流程放入调试环境。其中,该调试环境位于打印控制装置202中,使打印控制装置202工作在调试环境中。
步骤502:依据保存的IPDS主机与打印控制装置交互的所有IPDS数据,从保存的所有IPDS数据中获得处理时需要的IPDS数据并输出到调试环境,支持调试环境中处理流程的进行,以及在调试环境中对IPDS数据进行处理。
步骤503:监控调试环境中处理IPDS数据的流程,并确定错误发生处。
如果在实际生产过程中发生异常,则在调试环境中可直接定位到错误发生源,具体实现方式在此不进行详细描述。如果在实际生产过程中IPDS主机发现打印控制装置返回的结果与预期的不一致,可能无返回结果或返回结果错误,则需要在打印控制装置处理IPDS数据的流程中增加测试点来定位错误发生源,下面对这种情况的实现方式进行详细描述。
参见图6,本实施例中错误捕获方法的具体流程如下:
步骤601:使打印控制装置202工作在调试环境中,根据实际生产过程中获知发生错误时的位置,在打印控制装置处理IPDS数据的流程中的错误结果的位置之前增加一个或多个测试点。增加测试点的方式有多种,如在处理IPDS数据的流程中增加断点,或者如在处理IPDS数据的流程中增加用于信息输出的输出点。
步骤602:打印控制装置202确定需要进行错误捕获并加载仿真装置203。打印控制装置202通过配置接口获得需要进行错误捕获的配置信息,该配置信息可以与进行数据回放的配置信息相同。
步骤603:打印控制装置202与仿真装置203进行双向握手机制,以建立连接。其中,仿真装置203依据本地保存的IPDS数据及顺序与打印控制装置202进行交互。
步骤604:仿真装置203通过发送查询请求消息和收到的响应消息获得打印控制装置202的处理能力等信息。
步骤605:仿真装置203向打印控制装置202发送本地保存的IPDS数据。
步骤606:打印控制装置202对收到的IPDS数据进行处理,并同时进行测试点的监控。其中,所述处理包括对内容数据进行光栅化处理、和根据收到的查询请求消息进行响应信息的收集及发送。
捕获错误的方式有多种,如以下描述的实例:
步骤607:当打印控制装置202执行到断点时依据外部控制缓慢执行下一操作步骤,判断是否出现错误,若是,则定位出现错误的位置为错误发生源,实现错误捕获,否则打印控制装置202按照实际生产过程继续后续操作。这种实现方式定位错误发生源较准确。
步骤608:当打印控制装置202执行到输出点时,判断在输出点输出的信息是否正确,若是,则打印控制装置202按照实际生产过程继续后续操作,否则定位该输出点所在的位置为错误发生源,实现错误捕获。这种实现方式定位错误发生源较快。
可进一步将步骤607和步骤608的实现方式结合,在处理流程中的部分位置设置断点,部分位置设置输出点。
在本实施例中,测试点的数量和位置可根据实际情况进行设置,具体实现方式有多种。如一种方式是设置较多较密的测试点,可一次定位到错误发生源。如另一种方式是一次设置较少较分散的测试点,可能一次便定位到错误发生源,也可能根据一次的错误捕获方法的执行可能无法准确的定位错误发生源,仅能确定发生错误的范围,那么可以在确定的发生错误的范围内再次设置测试点并重复错误捕获方法,以缩小发生错误的范围或定位错误发生源。发生错误的范围可以确定为两个端点之间,端点包括测试点、打印控制装置202执行的起始位置和终止位置。
通过以上实施例的描述了解了数据回放和错误捕获方法,以及了解了实现上述方法的系统,下面对系统中装置的内部结构进行描述,以便对各装置有进一步的了解。
参见图7,本实施例中打印控制装置202包括接口模块701、处理模块702。在实际生产环境中打印控制装置202还包括缓存模块703。
接口模块701用于在实际生产环境中与IPDS主机201建立连接并交互IPDS数据,在仿真环境中与仿真装置203建立连接并交互IPDS数据。并根据收到的配置信息确定是否加载仿真装置203。
处理模块702用于对IPDS数据中的内容数据进行光栅化操作。
缓存模块703用于在实际生产环境中保存接口模块701接收到的IPDS数据和向IPDS主机201发送的IPDS数据等,并对保存的数据的发生顺序和来源进行区分。
打印控制装置202还包括缓存管理模块,本图未示出,缓存管理模块用于在加载仿真装置203后,将缓存模块703保存的数据导出到仿真装置203,可以是在实际生产过程中实时导出IPDS数据,或者是在实际生产过程结束后导出IPDS数据。
参见图8,本实施例中仿真装置203包括仿真模块801和存储模块802。
存储模块802用于保存导入的IPDS数据。
仿真模块801用于仿真IPDS主机201的接口,并与打印控制装置202进行交互,查询存储模块802并将存储模块802中的IPDS数据发送给打印控制装置202。
本发明实施例在实际生产过程中记录IPDS主机201与打印控制装置202间交互的IPDS数据,为数据回放和错误捕获提供可能。并通过仿真装置203代替IPDS主机201与打印控制装置202交互,重现实际生产过程,并且在脱离IPDS主机201的情况下重现了实际生产过程,使数据回放和错误捕获的应用场景更灵活。以及,重现实际生产过程使得可以准确捕获错误发生的位置,以达到快速辅助调试的功能,便于对错误的修改,提高系统运行质量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种数据回放方法,其特征在于,包括以下步骤:
通过仿真IPDS主机的接口,与打印控制装置建立连接;
从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得IPDS主机发送的IPDS数据,并发送给打印控制装置。
2.如权利要求1所述的数据回放方法,其特征在于,所述仿真模块依据打印控制装置返回的IPDS数据,从所述保存的所有IPDS数据中查找相应的IPDS主机发送的IPDS数据。
3.如权利要求2所述的数据回放方法,其特征在于,在进行查找操作前,将打印控制装置返回的IPDS数据与所述保存的所有IPDS数据中打印控制装置返回的IPDS数据进行比对,当比对结果一致时进行查找操作。
4.如权利要求3所述的数据回放方法,其特征在于,当比对结果不一致时,终止本次数据回放操作。
5.如权利要求1所述的数据回放方法,其特征在于,当需要进行数据回放时,预先加载用于仿真IPDS主机的仿真模块,以及预先加载用于保存所述所有IPDS数据的存储模块。
6.如权利要求5所述的数据回放方法,其特征在于,根据获得的配置信息确定是否需要进行数据回放。
7.一种错误捕获方法,其特征在于,包括以下步骤:
将打印控制装置处理智能打印数据流IPDS数据的流程放入调试环境;
依据保存的IPDS主机与打印控制装置交互的所有IPDS数据,从保存的所有IPDS数据中获得处理时需要的IPDS数据并输出到调试环境,以及在调试环境中对IPDS数据进行处理;
监控调试环境中处理IPDS数据的流程,并确定错误发生处。
8.如权利要求7所述的错误捕获方法,其特征在于,在调试环境内的处理IPDS数据的流程中增加测试点,监控处理IPDS数据的流程中的测试点。
9.如权利要求8所述的错误捕获方法,其特征在于,所述测试点包括断点和/或输出点。
10.如权利要求7所述的错误捕获方法,其特征在于,将实际生产环境中缓存的所述所有IPDS数据存储到用于保存所述所有IPDS数据的存储模块。
11.如权利要求10所述的错误捕获方法,其特征在于,在实际生产环境中预先加载用于保存所述所有IPDS数据的存储模块。
12.一种用于数据回放的系统,其特征在于,包括:
打印控制装置,用于对接收到的IPDS数据进行光栅化处理;
仿真装置,用于通过仿真IPDS主机的接口,与打印控制装置建立连接;以及,从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得IPDS主机发送的IPDS数据,并发送给打印控制装置。
13.一种用于数据回放的装置,其特征在于,包括:
存储模块,用于保存IPDS主机与打印控制装置交互的所有IPDS数据;
仿真模块,用于仿真IPDS主机的接口,与打印控制装置建立连接;以及,从保存的IPDS主机与打印控制装置交互的所有IPDS数据中获得需要发送的IPDS数据,并发送给外部的打印控制装置。
14.一种打印控制装置,其特征在于,包括:
接口模块,用于与外部装置建立连接并交互;
处理模块,用于对接收到的IPDS数据进行光栅化处理或响应外部装置的请求;
缓存模块,用于按照时间顺序保存接收到的IPDS数据和返回给外部装置的IPDS数据。
15.如权利要求14所述的打印控制装置,其特征在于,还包括:
缓存管理模块,用于导出接收到的IPDS数据和返回给外部装置的IPDS数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101223609A CN100570547C (zh) | 2007-09-24 | 2007-09-24 | 一种数据回放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101223609A CN100570547C (zh) | 2007-09-24 | 2007-09-24 | 一种数据回放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101140507A true CN101140507A (zh) | 2008-03-12 |
CN100570547C CN100570547C (zh) | 2009-12-16 |
Family
ID=39192470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101223609A Expired - Fee Related CN100570547C (zh) | 2007-09-24 | 2007-09-24 | 一种数据回放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100570547C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624577A (zh) * | 2011-01-30 | 2012-08-01 | 深圳市恒扬科技有限公司 | 一种流量再现方法及系统 |
CN110688077A (zh) * | 2018-07-07 | 2020-01-14 | 森大(深圳)技术有限公司 | 打印异常检测方法、装置及系统 |
CN113219235A (zh) * | 2021-05-10 | 2021-08-06 | 南京海兴电网技术有限公司 | 一种应用于用电采集系统中的高实时性数据更新方法 |
-
2007
- 2007-09-24 CN CNB2007101223609A patent/CN100570547C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624577A (zh) * | 2011-01-30 | 2012-08-01 | 深圳市恒扬科技有限公司 | 一种流量再现方法及系统 |
CN102624577B (zh) * | 2011-01-30 | 2014-12-31 | 深圳市恒扬科技有限公司 | 一种流量再现方法及系统 |
CN110688077A (zh) * | 2018-07-07 | 2020-01-14 | 森大(深圳)技术有限公司 | 打印异常检测方法、装置及系统 |
CN110688077B (zh) * | 2018-07-07 | 2023-09-08 | 森大(深圳)技术有限公司 | 打印异常检测方法、装置及系统 |
CN113219235A (zh) * | 2021-05-10 | 2021-08-06 | 南京海兴电网技术有限公司 | 一种应用于用电采集系统中的高实时性数据更新方法 |
CN113219235B (zh) * | 2021-05-10 | 2024-01-19 | 南京海兴电网技术有限公司 | 一种应用于用电采集系统中的高实时性数据更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100570547C (zh) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806442B2 (en) | Remote debugging proxy | |
CN111277643B (zh) | 一种http链路跟踪记录方法及系统 | |
US8589881B2 (en) | Web-based software debugging apparatus and method for remote debugging | |
CN103248684B (zh) | 一种互联网中资源获取方法和装置 | |
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
CN103973424A (zh) | 缓存系统中的故障解决方法和设备 | |
CN106201896A (zh) | 一种嵌入式环境下基于检查点的调试方法、系统及装置 | |
WO2021093364A1 (zh) | 一种日志采集方法、装置、系统及计算机可读存储介质 | |
WO2019178957A1 (zh) | 分布式系统的测试方法、装置、计算机设备及存储介质 | |
CN111506335A (zh) | 一种基于dsp+fpga的程序在线升级方法及系统 | |
CN115827168B (zh) | 一种二进制仿真环境下虚拟机通信的优化方法 | |
CN100570547C (zh) | 一种数据回放方法及装置 | |
CN111526046A (zh) | 一种bmc时间的设置方法、装置、设备和存储介质 | |
CN109547430B (zh) | 一种开发服务网关系统及开发服务网关 | |
CN117130941B (zh) | 基于浏览器插件的接口自动化方法、系统、设备及介质 | |
CN113595817A (zh) | 一种lin通信故障注入方法、系统及存储介质 | |
CN110209565A (zh) | 一种元数据模型调试方法及其装置 | |
CN101494600B (zh) | Adsl终端镜像监控报文信息的网络配置方法及装置 | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN103890750B (zh) | 具有持久状态流控制的高性能虚拟融合增强型以太网 | |
CN101471955A (zh) | 一种双控制器网络储存环境下的设备数据写入方法 | |
WO2023045365A1 (zh) | 视频质量评估方法、装置、电子设备及存储介质 | |
CN104639585A (zh) | 一种实时数据传输系统及其数据同步方法 | |
CN113722228A (zh) | 软件系统测试方法及装置 | |
CN109040264B (zh) | 一种高性能的主备接口机数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091216 Termination date: 20190924 |