书签 分享 收藏 举报 版权申诉 / 12

一种网络容器及基于网络容器的程序调试方法.pdf

  • 上传人:00****42
  • 文档编号:5804070
  • 上传时间:2019-03-20
  • 格式:PDF
  • 页数:12
  • 大小:576.74KB
  • 摘要
    申请专利号:

    CN200910261777.2

    申请日:

    2009.12.29

    公开号:

    CN101763307A

    公开日:

    2010.06.30

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20091229|||公开

    IPC分类号:

    G06F11/36

    主分类号:

    G06F11/36

    申请人:

    山东中创软件商用中间件股份有限公司

    发明人:

    戴海燕; 王进; 石磊; 李铭; 黄三伟; 刘春

    地址:

    250014 山东省济南市千佛山东路41-1号

    优先权:

    专利代理机构:

    北京集佳知识产权代理有限公司 11227

    代理人:

    逯长明

    PDF完整版下载: PDF下载
    内容摘要

    本发明实施例公开了一种网络容器及基于网络容器的程序调试方法,网络容器,包括:第一接收单元、初始化单元、第二接收单元、第一判断单元、显示单元、数据存储单元、第二判断单元、发送单元、控制单元,利用网络容器来存储程序运行时各种类型的业务数据,在程序运行的过程中,可以显示程序实际运行中业务数据的变化过程,同时也可以控制对数据的存取操作,调整测试数据的内容,解决了多线程并发模式下对数据变化的跟踪、对数据操作的控制以及测试数据再现的问题。

    权利要求书

    权利要求书
    1.  一种网络容器,其特征在于,包括:第一接收单元、初始化单元、第二接收单元、第一判断单元、显示单元、数据存储单元、第二判断单元、发送单元、控制单元;
    所述第一接收单元用于,接收程序发送的初始化数据存储单元的申请消息;
    所述初始化单元用于,在所述第一接收单元接收到初始化数据存储单元的申请消息后,初始化一个数据存储单元;
    所述第二接收单元用于,接收程序发送的数据或数据请求;
    所述第一判断单元用于,判断第二接收单元的是数据还是数据请求;
    所述显示单元用于,当所述第一判断单元判断出所述第二接收单元接收的是数据时,将所述数据实时的显示;
    所述数据存储单元块用于,将所述显示单元显示的数据进行存储;
    所述第二判断单元用于,当所述第一判断单元判断出所述第二接收单元接收的是数据请求时,判断是否接收到用户针对该数据请求发送的控制指令;
    所述发送单元用于,当所述第二判断单元判断出没有接收到控制指令时,将所述数据请求要访问的数据发送给程序;
    所述控制单元用于,当所述第二判断单元判断出接收到控制指令时,按照所述控制指令对相应的数据进行控制。

    2.  根据权利要求1所述的网络容器,其特征在于,所述控制单元包括:频率设置单元、修改单元和空字符返回单元;
    所述频率设置单元用于,对程序访问数据的频率进行设置;
    所述修改单元用于,对存储的数据进行修改,通过所述发送单元发送给所述程序、通过显示单元进行显示并将修改后的数据传递给所述存储单元进行存储;
    所述空字符返回单元用于,向程序返回一个不带数据的字符串。

    3.  根据权利要求2所述的网络容器,其特征在于,还包括制表单元,所述制表单元用于,将数据存储单元内的数据按照一定的规则制成报表。

    4.  根据权利要求3所述的网络容器,其特征在于,所述数据存储单元还用于存储程序调试过程中程序运行异常的数据。

    5.  一种基于网络容器的程序调试方法,其特征在于,包括:
    依据被测程序的请求初始化数据存储单元;
    当接收到所述被调试程序发送的数据时,将数据显示在界面上,并存储在所述数据存储单元;
    当接收到所述被调试程序发送的数据请求时,判断是否接收到用户针对该数据请求发送的控制指令,若是,则按照所述控制指令对被请求数据进行相应的控制;否则,向所述被测程序返回所述被请求数据。

    6.  根据权利要求5所述的方法,其特征在于,所述按照所述控制指令对被请求数据进行相应的控制包括:
    对访问频率进行设置、对存储的数据进行修改,返回修改的数据给所述程序并将修改的数据显示在界面上保存到所述数据存储单元或向所述程序返回一个不带数据的字符串。

    7.  根据权利要求6所述的方法,其特征在于,所述修改为:制造异常数据、非法数据和或错误数据。

    8.  根据权利要求7所述的方法,其特征在于,所述方法还包括:将存储的数据根据一定的规则制成报表,进行保存。

    9.  根据权利要求8所述的方法,其特征在于,所述方法还包括:将程序运行异常的数据保存至数据存储单元。

    10.  根据权利要求9所述的方法,其特征在于,所述初始化数据存储单元步骤后还包括:为所述数据存储单元设置唯一的标识。

    11.  根据权利要求10所述的方法,其特征在于,所述程序将数据通过套接字SOCKET通讯,以字符串的形式发送。

    12.  根据权利要求11所述的方法,其特征在于,所述将数据显示在界面上的过程具体为:将保存的字符串直接展示或将各个字段分开展示。

    说明书

    说明书一种网络容器及基于网络容器的程序调试方法
    技术领域
    本发明涉及调试技术,尤其涉及一种网络容器及基于网络容器的程序调试方法。
    背景技术
    程序调试方法是用来检验程序运行是否正常、程序逻辑是否合理、运行结果是否正确的基本方法,也是用来排查和定位错误、异常的基本方法,是保障程序质量的关键。
    目前,程序员在对程序进行调试时,主要应用单步调试的方法和记录日志的方法。
    单步调试的方法是通过在程序中设置断点,当程序运行到断点时,程序中断执行,然后通过单步运行的方式,来跟踪数据在运行过程中的变化。记录日志的方法是通过在程序中的某些地方将运行信息记录到文件中,然后根据记录的信息来跟踪数据在运行过程中的变化。
    这两种方法都只是记录数据的变化过程,不能对调试过程中数据的变化进行控制处理,并直观动态的展示出来。
    发明内容
    有鉴于此,本发明提供一种网络容器及基于网络容器的程序调试方法,以实现对调试过程中的数据进行控制处理并直观动态的展示的目的。其具体方案为:
    一种网络容器,包括:第一接收单元、初始化单元、第二接收单元、第一判断单元、显示单元、数据存储单元、第二判断单元、发送单元、控制单元;
    所述第一接收单元用于,接收程序发送的初始化数据存储单元的申请消息;
    所述初始化单元用于,在所述第一接收单元接收到初始化数据存储单元的申请消息后,初始化一个数据存储单元;
    所述第二接收单元用于,接收程序发送的数据或数据请求;
    所述第一判断单元用于,判断第二接收单元的是数据还是数据请求;
    所述显示单元用于,当所述第一判断单元判断出所述第二接收单元接收的是数据时,将所述数据实时的显示;
    所述数据存储单元块用于,将所述显示单元显示的数据进行存储;
    所述第二判断单元用于,当所述第一判断单元判断出所述第二接收单元接收的是数据请求时,判断是否接收到用户针对该数据请求发送的控制指令;
    所述发送单元用于,当所述第二判断单元判断出没有接收到控制指令时,将所述数据请求要访问的数据发送给程序;
    所述控制单元用于,当所述第二判断单元判断出接收到控制指令时,按照所述控制指令对相应的数据进行控制。
    优选的,所述控制单元包括:频率设置单元、修改单元和空字符返回单元;
    所述频率设置单元用于,对程序访问数据的频率进行设置;
    所述修改单元用于,对存储的数据进行修改,通过所述发送单元发送给所述程序、通过显示单元进行显示并将修改后的数据传递给所述存储单元进行存储;
    所述空字符返回单元用于,向程序返回一个不带数据的字符串。
    优选的,还包括制表单元,所述制表单元用于,将数据存储单元内的数据按照一定的规则制成报表。
    优选的,所述数据存储单元还用于存储程序调试过程中程序运行异常的数据。
    一种基于网络容器的程序调试方法,包括:
    依据被测程序的请求初始化数据存储单元;
    当接收到所述被调试程序发送的数据时,将数据显示在界面上,并存储在所述数据存储单元;
    当接收到所述被调试程序发送的数据请求时,判断是否接收到用户针对该数据请求发送的控制指令,若是,则按照所述控制指令对被请求数据进行相应的控制;否则,向所述被测程序返回所述被请求数据。
    优选的,所述按照所述控制指令对被请求数据进行相应的控制包括:
    对访问频率进行设置、对存储的数据进行修改,返回修改的数据给所述程序并将修改的数据显示在界面上保存到所述数据存储单元或向所述程序返回一个不带数据的字符串。
    优选的,所述修改为:制造异常数据、非法数据和或错误数据。
    优选的,所述方法还包括:将存储的数据根据一定的规则制成报表,进行保存。
    优选的,所述方法还包括:将程序运行异常的数据保存至数据存储单元。
    优选的,所述初始化数据存储单元步骤后还包括:为所述数据存储单元设置唯一的标识。
    优选的,所述程序将数据通过套接字SOCKET通讯,以字符串的形式发送。
    优选的,所述将数据显示在界面上的过程具体为:将保存的字符串直接展示或将各个字段分开展示。
    从上述的技术方案可以看出,本发明实施例公开的基于网络容器的调试方法,利用网络容器来存储程序运行时各种类型的业务数据,在程序运行的过程中,可以显示程序实际运行中业务数据的变化过程,同时也可以控制对数据的存取操作,调整测试数据的内容,解决了多线程并发模式下对数据变化的跟踪、对数据操作的控制以及测试数据再现的问题。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    图1为本发明公开的网络容器的结构示意图;
    图2为本发明公开的调试方法的流程图;
    图3为本发明实施例1公开的调试方法中响应控制请求消息的流程图;
    图4为本发明实施例2公开的调试方法中响应控制请求消息的流程图;
    图5为本发明实施例3公开的调试方法中响应控制请求消息的流程图。
    具体实施方式
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    本发明实施例公开了一种网络容器及基于网络容器的程序调试方法,以实现现对调试过程中的数据进行控制处理并直观动态的展示的目的。
    本发明公开的网络容器的结构如图1所示,包括,第一接收单元11、初始化单元12、第二接收单元14、第一判断单元15、显示单元16、数据存储单元13、第二判断单元17、发送单元18、控制单元19。
    此外,本网络容器还包括制表单元110,本网络容器中的控制单元包括:频率设置单元191、修改单元192和空字符返回单元193。
    第一接收单元用于11,接收程序发送的初始化数据存储单元的申请消息;所述初始化单元12用于,在所述第一接收单元11接收到初始化数据存储单元的申请消息后,初始化一个数据存储单元13;所述第二接收单元14用于,接收被测程序发送的数据或数据请求消息;所述第一判断单元15用于,判断第二接收单元14的是数据还是数据请求;所述显示单元16用于,当所述第一判断单元15判断出所述第二接收单元14接收的是数据时,将所述数据实时的显示;所述数据存储单元13用于,将所述显示单元16显示的数据进行存储;所述第二判断单元17用于,当所述第一判断单元15判断出所述第二接收单元14接收的是数据请求时,判断是否需要对数据进行控制;所述发送单元18用于,当所述第二判断单元17判断出不需对数据进行控制时,将所述请求消息要访问的数据通过发送单元18发送给程序;所述控制单元19用于,当所述第二判断单元17判断需要对数据进行控制时,对数据进行控制;所述制表单元110用于,将数据存储单元13内的数据按照一定的规则制成报表。
    所述控制单元19中的频率设置单元191用于,对程序访问数据的频率进行设置;修改单元192用于,对存储的数据进行修改,通过所述发送单元18发送给所述程序、通过显示单元16进行显示并将修改后的数据传递给所述数据存储单元13进行存储,所述空字符返回单元193用于,向程序返回一个不带数据的字符串。
    本发明公开的基于网络容器的程序调试方法的流程如图2所示,包括:
    步骤S21、接收程序调试时发送的初始化数据存储单元的申请消息,初始化数据存储单元;
    步骤S22、接收程序发送的数据或数据请求;
    步骤S23、判断接收的是数据还是数据请求,若为数据,则执行S24,若为数据请求,则执行S25;
    步骤S24、将数据显示在界面上,并存储在所述数据存储单元;
    步骤S25、判断是否接收到用户针对该数据请求发送的控制指令,若没有接收到,则执行步骤S26,若对数据进行控制,则执行步骤S27;
    步骤S26、将数据请求所访问的数据返回给程序;
    步骤S27、则按照所述控制指令对被请求数据进行相应的控制。
    在所述过程开始前,还包括启动网络容器,网络容器建立一个线程不断监听请求,根据所述请求可以判断此时是否接收到被测试程序发送的请求,然后接收请求,执行相应的操作的过程。
    本发明公开的调试方法利用网络容器来存储程序运行时各种类型的业务数据,显示程序实际运行中业务数据的变化过程,同时也可以控制对数据的存取操作。网络容器在接收到新的数据时,可以实时更新界面上显示的数据,同时将数据按时序和容器类型将数据制成报表并保存,并将调试过程中程序运行异常的数据保存起来,可随时自动再现该组测试数据,重现问题,以便于分析处理系统问题。
    程序在运行过程中,数据通过套接字socket通讯,以字符串的形式传送给网络容器,网络容器将数据保存到对应的具有唯一的标识号的数据存储单元中,字符串中以“|”将各个属性字段分隔开,也可以使用“/”。网络容器实时的在界面上展示字符串的内容,界面展示的形式可选择,可直接展示保存的原始字符串,也可以将各个字段分开展示。
    其控制过程步骤S27根据控制请求消息的类型而不同,分为对频率的控制请求消息和对数据的控制请求消息,而针对于对数据的控制请求消息还包括修改数据和返回空数据两种情况。下面将以实施例的形式,具体的进行分析每种情况的过程。
    实施例一
    本发明实施例1公开了当所述对数据的控制为设置访问频率时的程序调试方法,其前述流程如图2所示,其控制过程的流程如图3所示,包括:
    步骤S31、确定对访问频率进行设置;
    步骤S32、根据需要设定的访问频率值,计算出访问的间隔时间;
    步骤S33、通过界面将网络容器的访问间隔时间设定为上述计算值;
    步骤S34、频率设置过程结束。
    在程序调试运行过程中,通过上述方法,通过界面对网络容器的频率数据进行控制,可方便的控制数据的变化过程,控制数据的访问频率满足调试过程中各种情形的需求,使调试过程更直观、方便。
    实施例二
    本发明实施例公开了当所述对数据的控制为修改数据时的调试方法,其前述流程如图2所示,其响应过程的流程如图4所示,包括:
    步骤S41、根据实际需要,通过界面对存储单元中相应的数据进行修改;
    步骤S42、将修改后的数据发送给所述程序;
    步骤S43、将修改后的数据显示在界面上,同时保存回数据存储单元;
    步骤S44、修改数据过程结束。
    程序将调试过程中的数据存放在了网络容器中,网络容器可以很方便的修改容器中的数据,所述的修改数据包括:捏造同样类型的数据、制造一些异常数据、非法数据和错误数据。通过制造非法数据和错误数据来验证程序处理流程的正确性,逻辑的合理性,对数据验证的严密性等,也可以制造异常数据来验证程序异常处理的流程。
    实施例三
    本发明实施例公开了当所述对数据的控制为返回空字符时的调试方法,其前述流程如图2所示,其响应过程的流程如图5所示,包括:
    步骤S51、对所述程序发送一个不带数据的字符串;
    步骤S52、返回空字符过程结束。
    当需要制造容器中没有数据的假象时,可以采用本方法,通过对程序返回不带数据的字符串来制作容器中没有数据的假象,从而实现了制造了其他调试方法不能制造的场景的目的。
    本发明实施例公开的基于网络容器的调试方法至少具有以下优点:
    (1)对测试数据的动态化展示。可以实时查看程序调试运行中,业务数据的增减变化过程,从而对被测软件系统的运行流畅性、稳定性、业务处理效率瓶颈有一个直观的展示。
    (2)对测试数据产生的灵活控制。可以通过界面直观的控制网络容器对程序数据请求的返回值,制造容器中没有数据的假象,这是现有调试方法中无法制造的调试场景。通过在网络容器中设置每次访问的间隔时间来控制对数据的访问频率。在程序调试运行过程中,可方便的控制数据的变化过程,可以制造异常数据、非法数据以及错误数据,控制数据的访问频率,满足调试过程中各种情形的需求,使调试过程更直观、调试场景更全面,制造了其他调试方法不能制造的场景,使调试的过程非常接近于程序的运行过程,使调试的结果更准确,并且大大缩短了调试的周期。
    (3)测试数据再现,网络容器按时序和容器类型保存了调试过程中的所有数据,同时也保存了异常情况下的所有数据,可随时自动再现该组测试数据,重现问题,以便于分析处理系统问题。
    本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
    本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
    专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
    结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
    对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

    关 键  词:
    一种 网络 容器 基于 程序 调试 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种网络容器及基于网络容器的程序调试方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5804070.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1