八月瓜首页 > 专利查询 > G06计算;推算;计数 >正文

数据录入方法、装置、电子设备及可读存储介质

基本信息

  • 申请号 CN202010601978.9 
  • 公开号 CN111475423A 
  • 申请日 2020/06/29 
  • 公开日 2020/07/31 
  • 申请人 深圳市珍爱云信息技术有限公司  
  • 优先权日期  
  • 发明人 戴伟来  
  • 主分类号 G06F11/36 
  • 申请人地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司) 
  • 分类号 G06F11/36 
  • 专利代理机构 北京细软智谷知识产权代理有限责任公司 11471 
  • 当前专利状态 发明专利申请公布 
  • 代理人 尚文文 
  • 有效性 审查中-实审 
  • 法律状态 审查中-实审
  •  

摘要

本发明涉及一种数据录入方法、装置、电子设备及可读存储介质,该方法包括:接收宿主程序的操作数据,依据操作数据判断是否执行程序缺陷录入操作;若执行程序缺陷录入操作,获取宿主程序当前的交互界面图片、宿主程序的交互数据和宿主程序对应的终端设备的运行数据;依据交互界面图片、交互数据和运行数据生成程序缺陷信息,调用预设接口录入程序缺陷信息。
上述方法中在满足执行程序缺陷录入操作的条件下,自动获取程序缺陷信息调用预设接口上传,实现了缺陷自动上传功能,提高了程序缺陷录入效率。
展开

权利要求书


1.一种数据录入方法,其特征在于,包括:接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作;若执行所述程序缺陷录入操作,获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据;依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
2.根据权利要求1所述的方法,其特征在于,所述获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据,包括:针对所述宿主程序的当前界面执行截屏操作,得到当前界面截屏图片;对所述当前界面截屏图片执行标注操作得到所述交互界面图片;从预设数据库中获取所述交互数据和所述运行数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述当前界面截屏图片执行标注操作得到所述交互界面图片,包括:显示所述当前界面截屏图片和预设的标注提示框;接收用户在所述标注提示框中输入的针对所述当前界面截屏图片的标注数据,其中,所述标注数据包括:至少一组标注坐标和任意一组所述标注坐标对应的标注内容信息;基于所述标注数据对所述当前界面截屏图片执行标注操作,得到所述交互界面图片。
4.根据权利要求2所述的方法,其特征在于,所述从预设数据库中获取所述交互数据和运行数据,包括:获取当前时间和预设时长;基于所述当前时间和所述预设时长确定提取时间段;从所述预设数据库中提取所述提取时间段对应的交互数据和运行数据,其中,所述交互数据包括交互操作数据和网络交互数据,所述运行数据包括以下一个或一个以上:程序运行堆栈数据、中央处理器使用率、内存使用率。
5.根据权利要求1所述的方法,其特征在于,所述依据所述操作数据判断是否执行程序缺陷录入操作,包括:判断所述操作数据是否包含回调错误信息,所述回调错误信息由所述宿主程序对应的操作系统返回;若包含所述回调错误信息,确定所述宿主程序处于异常状态,执行所述程序缺陷录入操作。
6.根据权利要求1所述的方法,其特征在于,所述操作数据为用户操作数据;所述依据所述操作数据判断是否执行程序缺陷录入操作,包括:确定所述用户操作数据对应的用户请求;判断所述用户请求是否为预设的接口启动请求操作,若是,执行程序缺陷录入操作。
7.根据权利要求1所述的方法,其特征在于,所述调用预设接口录入所述程序缺陷信息之后,还包括:获取所述宿主程序的运行状态;当所述宿主程序为停止运行状态时,停止执行对所述宿主程序的监听操作。
8.一种数据录入装置,其特征在于,包括:缺陷录入确定模块,用于接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作;缺陷信息获取模块,用于若执行所述程序缺陷录入操作,获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据;缺陷信息录入模块,用于依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
9.一种电子设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
展开

说明书

技术领域
本发明涉及数据处理领域,具体涉及一种数据录入方法、装置、电子设备及可读存储介质。
背景技术
随着程序软件的广泛应用,针对程序缺陷的程序缺陷跟踪管理系统应运而生,该程序缺陷跟踪管理系统会对应用程序在运行过程中产生的程序缺陷进行跟踪。
程序缺陷跟踪管理系统的组成模块,主要包括有后台管理模块、后台数据库、前端录入模块等。
目前,当运行中的应用程序产生缺陷时,通常需要技术人员对程序缺陷信息进行收集,通过程序缺陷跟踪管理系统的前端录入模块手动录入程序缺陷信息,但是,程序缺陷信息的收集流程复杂,手动录入程序缺陷信息的操作繁琐且录入周期冗长,导致程序缺陷信息录入的效率低下,用户体验度低下。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种数据录入方法、装置、电子设备及可读存储介质。
本发明实施例的第一方面提供一种数据录入方法,包括:接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作;若执行所述程序缺陷录入操作,获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据;依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
本发明实施例的第二方面提供一种数据录入装置,包括:缺陷录入确定模块,用于接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作;缺陷信息获取模块,用于若执行所述程序缺陷录入操作,获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据;缺陷信息录入模块,用于依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
本发明实施例的第三方面提供一种服务器,所述服务器包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面所述的方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本发明实施例第一方面所描述的部分或全部步骤。
本发明实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本发明实施例第一方面所描述的部分或全部步骤,该计算机程序产品可以为一个软件安装包。
本发明提供的技术方案可以包括以下有益效果:本发明中公开一种数据录入方法,该方法包括:在接收到宿主程序的操作数据后,根据此数据判断是否执行程序缺陷录入操作,若是,获取宿主程序当前的交互界面图片、宿主程序的交互数据和宿主程序对应的终端设备的运行数据,根据交互界面图片、交互数据和运行数据生成程序缺陷信息,调用预设接口录入该程序缺陷信息。
上述方法中当满足执行程序缺陷录入操作的条件后,自动获取程序缺陷信息,然后调用预设接口录入该程序缺陷信息,此方法中无需依赖技术人员获取缺陷信息,且在自动收集完缺陷信息后会自动上传该信息,实现了程序缺陷的自动录入功能,提高了程序缺陷信息录入效率,提高用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种程序缺陷的录入方法流程图。
图2a是本发明一实施例提供的一种标注界面示意图。
图2b是本发明一实施例提供的一种标注框弹出界面示意图。
图3是本发明一实施例提供的一种交互操作事件的监听方法流程图。
图4是本发明一实施例提供的一种交互操作事件的监听方法流程图。
图5是本发明一实施例提供的一种网络交互事件的监听方法流程图。
图6是本发明一实施例提供的一种程序异常事件的监听方法流程图。
图7是本发明一实施例提供的一种程序缺陷的录入装置结构图。
图8是本发明一实施例提供的一种电子设备的结构示意图。
图9是本发明一实施例提供的一种程序缺陷跟踪管理系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。
显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
请参阅图1,图1是本发明一实施例提供的一种程序缺陷的录入方法流程图。
本发明中公开一种前端录入设备的软件开发工具包(Software DevelopmentKit, SDK)。
本SDK以嵌入应用程序成为子程序的方式工作,主应用程序成为本SDK的宿主程序。
本发明中方法应用于该SDK。
如图1所示,本实施例中的数据录入方法,该方法包括:步骤101:接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作。
可选的,当宿主程序启动后,本SDK则会开启对宿主程序的监听,SDK会实时与宿主程序之间进行信息交互。
步骤102:若执行程序缺陷录入操作,获取宿主程序当前的交互界面图片、宿主程序的交互数据和宿主程序对应的终端设备的运行数据。
其中,此处的交互数据包括用户在终端设备的宿主程序上的交互操作数据和所述宿主程序的网络交互数据。
其中交互操作数据为用户与宿主程序间的“交互数据”,如页面跳转、按钮点击、滑动列表等交互操作等等。
网络交互数据是指宿主程序和与之对应的服务器之间进行网络交互的数据,其实就是进行网络请求和响应时的数据,这部分数据是宿主程序与服务器之间的交互数据;如超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求的头部信息、响应信息等。
移动设备的运行数据例如程序运行堆栈信息、中央处理器(central processing unit,CPU)使用率、内存使用率等。
步骤103:依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
其中,上述方法中无需通过人工手动进行程序缺陷信息的录入上传,同时在录入上传的缺陷数据中还包括移动设备的运行数据。
不但提高了移动设备程序缺陷录入提交的效率,还丰富了录入提交的程序缺陷的数据内容。
在一个实施例中,依据操作数据判断是否执行程序缺陷录入操作,包括:判断操作数据是否包含回调错误信息,回调错误信息由宿主程序对应的操作系统返回;若包含回调错误信息,确定宿主程序处于异常状态,执行程序缺陷录入操作;若不包含回调错误信息,确定宿主程序处于非异常状态,对宿主程序继续执行监听操作。
此处的回调错误信息为终端设备发送至宿主程序。
当宿主程序出现程序崩溃、程序卡顿等情况时,终端设备的操作系统会发送回调错误信息给宿主程序,告知宿主程序错误的原因。
当本SDK接收到回调错误信息时,则表示此时的宿主程序出现异常,需要进行程序缺陷录入。
此方式通过判断是否包含回调错误信息进行缺陷录入,实现了程序缺陷录入的自动监测功能,实现了程序缺陷录入的自启动。
在一个实施例中,本发明中还公开了另外一种判断是否执行程序缺陷录入操作的方法,具体如下:操作数据为用户操作数据;依据操作数据判断是否执行程序缺陷录入操作包括:确定用户操作数据对应的用户请求;判断用户请求是否为预设的接口启动请求操作,若是,执行程序缺陷录入操作。
当宿主程序启动完成,本SDK生成一个缺陷录入入口的按键控件,并将该按键控件添加到宿主程序交互界面视图的顶层。
同时将该缺陷录入入口的状态设置为激活态,并开启一个定时器,如果用户在10秒内没有针对该按键执行预设操作,则调用按键的隐藏方法,使该按键隐藏,使其不再交互界面显示,同时将缺陷录入入口的状态设置为非激活态。
如果10秒内用户点击该按键,则直接执行程序缺陷录入流程需要注意的是,此处的10秒时间限制的设定并不唯一,可根据开发人员需求及应用场景设定,该预设操作可以包括:点击操作、长按操作、滑动操作等等,在此不作限定。
此方式中在用户的操作请求下启动程序缺陷录入功能,实现了程序缺陷主动录入功能,实现了程序缺陷启动的多途径,提高用户体验。
在一个实施例中,当缺陷录入入口的状态为非激活态时,本SDK开启对终端设备的摇晃事件进行监听,当用户摇晃移动设备时,本SDK接收到移动设备摇晃事件,则将缺陷录入入口状态设置为激活态,并调用缺陷录入入口的按键控件的取消隐藏方法,此时在宿主程序的交互界面展示该按键。
需要注意的是,此处的对终端设备的监听事件的具体形式并不唯一,并不仅仅局限于摇晃事件,可以为多次点击事件,也可以为多少上滑下滑事件,具体表现形式可根据终端设备的具体使用情况而定。
在一个实施例中,本发明中的获取宿主程序当前的交互界面图片、宿主程序的交互数据和宿主程序对应的终端设备的运行数据,包括: 针对宿主程序的当前界面执行截屏操作,得到当前界面截屏图片;对当前界面截屏图片执行标注操作得到交互界面图片;从预设数据库中获取交互数据和运行数据。
当执行程序缺陷录入操作时,本SDK会生成截屏指令至宿主程序,宿主程序在接收到此指令后,会与宿主程序所在的操作系统交互,请求操作系统执行截屏操作,生成宿主程序的当前界面截屏图片返回至本SDK。
本SDK接收到当前界面截屏图片后发送标注操作指令至宿主程序执行标注操作,生成交互界面图片。
同时,本SDK在宿主程序启动后,则会自主监听用户在终端设备的宿主程序上的交互数据和所述宿主程序的运行数据并将监听到的数据存储在预设数据库中,当启动程序缺陷录入操作时,本SDK会在预设数据库中获取所需的交互数据和运行数据。
此实施例中程序缺陷信息不仅包括宿主程序的交互数据,还包括发生缺陷时的交互界面图片及移动设备运行时信息,丰富了程序缺陷信息内容,为了解程序缺陷原因提供了详细的数据支持。
上述实施例中本SDK实现了两种程序缺陷录入判断方式。
一种为当宿主程序运行出现异常,则会执行程序缺陷录入操作,另一种为用户请求进行程序缺陷录入操作。
上述两种方法分别实现了程序缺陷录入的被动录入方式和主动录入方式。
以此不但可以自主监控宿主程序在运行过程中的异常并自主录入缺陷,还可以根据用户的需求进行程序缺陷的录入操作。
在一个实施例中,本发明中还公开了执行标注操作时的具体操作过程,详情如下。
图2a是本发明一实施例提供的一种标注界面示意图。
图2b是本发明一实施例提供的一种标注框弹出界面示意图。
参见图2a和2b,对当前界面截屏图片执行标注操作得到交互界面图片,包括:显示当前界面截屏图片和预设的标注提示框;接收用户在标注提示框中输入的针对当前界面截屏图片的标注数据,其中,标注数据包括:至少一组标注坐标和任意一组标注坐标对应的标注内容信息;基于标注数据对当前界面截屏图片执行标注操作,得到交互界面图片。
当进行图片标注操作时,本SDK会在当前界面截屏图上显示可编辑界面,如图2a所示,图为当前界面截屏图,图中有宿主程序的多个功能选择框,例如:“赞过我”、“评论我”、“关注我”等等,每个功能框均有下拉菜单供用户选择,当执行程序缺陷录入操作时,本SDK会在当前界面截屏图上出现“出错了”的标签,此时当前界面为标注界面,即用户可在此选择是否进行标注输入编辑操作,若选择进行标注,则需要点击图2a下方的“√”按键,然后本SDK会显示标注框弹出界面,供用户进行额外缺陷信息的输入操作,标注界面如图2b中所示的“标注”提示框,用户在此框内的编辑框内输入需要添加的缺陷标注,之后点击“确定”按钮,本SDK则会接收到用户输入的标注数据,然后结合当前界面截屏图片生成交互界面图片。
本实施例中的程序缺陷信息包括交互界面图片,该图片包括执行程序缺陷录入时的宿主程度的当前交互界面的截图,还包括用户对该缺陷信息的额外标注数据,以此丰富了程序缺陷信息的内容数据。
在一个实施例中,从预设数据库中获取交互数据和运行数据,包括:获取当前时间和预设时长;基于当前时间和预设时长确定提取时间段;从预设数据库中提取该提取时间段对应的交互数据和运行数据,其中,交互数据包括交互操作数据和网络交互数据,运行数据包括以下一个或一个以上:程序运行堆栈数据、中央处理器使用率、内存使用率。
本SDK自带内部预设数据库,SDK监听宿主程度获得的数据均存储在该内部预设数据库中,当执行程序缺陷录入操作时,本SDK会在预设数据库中读取交互数据和运行数据。
当执行程序缺陷录入操作时,SDK会生成数据库数据读取指令,此指令中包括指令生成的当前时间和预设时长,此处的当前时间即为执行程序缺陷录入操作的时间,预设时长可根据实际情况选定,例如当前时间为16:17分,预设时长为10秒,则会在数据库中读取存入时间为16:17分前的10秒内的数据。
以此完成交互数据和运行数据的获取操作。
上述实施例中的程序缺陷信息中包括交互数据和运行数据,而此运行数据为终端设备的运行时信息,同时交互数据包括交互操作数据和网络交互数据,以此更加丰富了程序缺陷信息的内容,可以获知宿主程序出现缺陷时的终端设备的运行情况,以此方便对宿主程序进行调试。
在一个实施例中,本发明中用户操作启动宿主程序,宿主程序启动本SDK,本SDK会同时启动3个监听器。
监听用户在宿主程序上的交互操作,监听宿主程序与服务器之间的网络通信交互,监听宿主程序是否异常。
前两个监听器得到的数据会存储到其对应的数据库中,第三个监听器接收到宿主程序异常发生的数据就会启动程序缺陷被动录入操作流程。
同时,本发明中终端设备可以为手机、平板等,具体情况不设限。
需要注意的是,此处监听器的数量限制的设定并不唯一,可根据开发人员需求及应用场景设定。
在一个实施例中,调用预设接口录入程序缺陷信息之后,还包括:获取宿主程序的运行状态;当宿主程序为停止运行状态时,停止执行对宿主程序的监听操作。
当宿主程序停止运行时,本SDK停止对宿主程序的监听。
实现了对宿主程序的自主监听功能。
在一个实施例中,详细介绍了录入方法,具体参阅图3,图3是本发明另一实施例提供的一种程序缺陷的录入方法时序图。
如图3所示,程序缺陷跟踪管理系统中的录入设备为本发明所保护设备,该录入设备用于执行本实施例录入方法。
程序缺陷的录入方法包括:步骤301:在接收到宿主程序发送的启动指令后,启动用户在宿主程序的交互操作的监听,并将交互操作数据存储在录入设备的内部预设数据库中。
步骤302:启动宿主程序的网络交互操作的监听,并将网络交互数据存储在内部预设数据库中。
步骤303:启动宿主程序异常发生监听,当监测到宿主程序发生异常时,触发被动录入方式。
同时,也可通过步骤304:主动录入程序缺陷,来接收用户发起的程序缺陷主动录入请求。
在触发被动录入或主动录入后,执行步骤305:发送截屏请求至宿主程序,进而发送至移动设备的操作系统,调用操作系统的截屏应用程序接口(Application ProgrammingInterface,API),通过操作系统的截屏功能进行截屏。
步骤306:获取当前界面截屏图片。
步骤307:显示当前界面截屏图片,使用户进行图片批注。
步骤308:获取批注后的交互界面图片。
步骤309:获取宿主程序的交互操作数据、宿主程序的网络交互数据。
步骤310:发送移动设备的运行数据请求指令。
步骤311:接收移动设备的运行数据。
步骤312:整合交互界面图片、交互操作数据、网络交互数据和移动设备的运行数据;步骤313:请求录入提交缺陷信息;向程序缺陷跟踪管理系统的后台管理器发送请求录入提交缺陷信息,并接收后台管理器返回的请求结果。
此实施例中对宿主程序的运行过程进行监听并记录用户在宿主程序的交互操作及宿主程序的网络交互事件,同时还可以对宿主程序的异常事件进行监听,当宿主程序发生异常(程序崩溃、程序卡顿等)时,则进行被动程序缺陷的录入。
同时还可以接收用户的录入指令,进行主动程序缺陷的录入。
在程序缺陷录入时,将截屏图片、交互操作数据、网络交互数据及移动设备的运行数据均上传录入到程序缺陷跟踪管理系统。
可对宿主程序的整个运行过程进行监听,能自动上传程序缺陷信息,且缺陷信息内容丰富。
一个实施例中,宿主程序启动完成,启动用户在宿主程序的交互操作监听器。
开始监听宿主程序的页面跳转,按钮点击,列表滑动等交互操作事件,用于记录用户的交互操作数据,并且启动后台静默录屏操作。
在记录用户交互操作数据的过程中,iOS系统与Android系统的实现略有差异:iOS系统通过运行时方法刷屏(Runtime Method Swizzling)技术,通过调用多个控制组件来实现页面监听功能、用户操作监听等。
例如:交换控制组件中的页面显示或隐藏方法组件,用于监听一个页面的展示与隐藏;交换UIControl框架的sendAction:to:forEvent:的方法组件,用于监听用户点击按钮的事件,交换UIScrollView框架的代理方法用于监听用户的滑动操作。
Android系统通过字节码插桩的面向切面编程(Aspect Oriented Programming,AOP)技术,在开发过程中,本SDK需要调用Fragment框架中的onResume()、onPause()、onHiddenChanged(boolean hidden)、setUserVisibleHint(boolean isVisibleToUser)方法组件,用于监听一个页面的展示与隐藏;调用View.OnClickListener的onClick(View v)方法组件,用于监听用户点击按钮的事件。
将记录的事件信息储存在内部的预设数据库中。
同时监听请求交互操作数据的事件,并把已经存储的用户交互操作数据作为响应数据进行返回。
当宿主程序停止,会停止用户在宿主程序的交互操作监听器,并结束所有监听行为。
后台静默录屏的操作实现过程为:iOS系统通过获取宿主程序的根视图,调用根视图的layer框架的renderInContext方法组件绘制当前屏幕的内容,使用CoreGraphics绘图工具组件生成每一帧的位图,并且根据这些位图生成视频。
而Android系统通过调用根视图ViewGroup框架的位置测量方法组件measure(widthSpec,heightSpec)及布局方法组件layout(left,top,right,bottom),并且通过绘图插件Canvas将屏幕内容绘制到一个位图中。
每一个位图即是生产视频的每一帧。
主动录入缺陷流程时,用户可以选择视频时间长度。
被动录入缺陷流程时,本录入设备会自动裁剪视频时长为小于10秒(如果总时长大于10秒的话,小于10秒则不进行裁剪)。
进行缺陷录入时,该视频内容作为交互操作数据的一部分一并进行提交。
需要注意的是,此处的10秒时间限制也并不固定,可根据实际需求设定时长。
具体情况请参阅图4,图4是本发明一实施例提供的一种交互操作事件的监听方法流程图,如图4所示,交互操作信息的监听方法包括:步骤401:监听用户的交互操作事件。
步骤402:判断交互操作事件是否为用户交互操作事件。
步骤403:若该交互操作事件是用户交互操作事件,则存储交互操作信息至内部数据库。
步骤404:若该交互操作事件不是用户交互操作事件,则判断该交互操作事件是否为请求交互操作事件。
步骤405:若该交互操作事件为请求交互操作事件,则从内部的数据库获取交互操作信息返回请求端。
步骤406:若该交互操作事件不是请求交互操作事件,则判断是否为停止监听事件;若是,则交互操作事件监听结束。
一个实施例中,宿主程序启动完成,本SDK会启动宿主程序的网络交互监听器。
开始监听宿主程序的网络交互数据。
iOS系统通过操作系统的NSURLProtocol协议,并使用NSURLProtocol框架的registerClass方法组件注册网络监听器,可在网络监听器中获取所有请求的交互信息。
Android系统使用字节码插桩的AOP技术,在网络请求的发起方法和响应方法中插入记录网络交互数据的逻辑。
将记录的事件信息储存在内部的存储器中。
同时监听请求网络交互数据的事件,并把已经存储的网络交互数据作为响应数据进行返回。
当宿主程序停止,会停止宿主程序的网络交互监听器,并结束所有监听行为。
具体情况请参阅图5,图5是本发明一实施例提供的一种网络交互事件的监听方法流程图。
如图5所示,网络交互事件的监听方法包括:步骤501:监听网络交互事件。
步骤502:判断网络交互事件是否为宿主程序进行网络交互事件。
步骤503:若该网络交互事件是宿主程序进行网络交互事件,则存储网络交互信息至内部数据库。
步骤504:若该网络交互事件不是宿主程序进行网络交互事件,则判断该网络交互事件是否为请求网络交互事件。
步骤505:若该网络交互事件为请求网络交互事件,则从内部的数据库获取网络交互信息返回请求端。
步骤506:若该网络交互事件不是请求网络交互事件,则判断是否为停止监听事件;若是,则网络交互事件监听结束。
此实施例中通过监听器实现对宿主程序网络交换事件的监听,实时记录宿主程序的网络交互数据,为程序缺陷分析提供数据支持。
一个实施例中,还对宿主程序的程序缺陷异常事件的监听过程进行介绍。
请参阅6,图6是本发明一实施例提供的一种程序异常事件的监听方法流程图。
如图6所示,程序异常事件的监听方法包括:步骤601:监听宿主程序异常发生事件。
步骤602:判断交互事件是否为宿主程序异常发生事件。
步骤603:若该交互事件是宿主程序异常发生事件,则执行程序缺陷被动录入操作。
步骤604:若该交互事件不是宿主程序异常发生事件,则判断是否为停止监听事件;若是,则宿主程序异常发生事件监听结束。
此实施例中对程序异常事件进行监听,能够及时获知宿主程序是否出现异常事件,若出现异常执行程序缺陷录入程序。
实现了对宿主程序异常事件的监听。
请参阅图7,图7是本发明一实施例提供的一种程序缺陷的录入装置结构图。
如图7所示,一种数据录入装置,包括:缺陷录入确定模块701,用于接收宿主程序的操作数据,依据所述操作数据判断是否执行程序缺陷录入操作;缺陷信息获取模块702,用于若执行所述程序缺陷录入操作,获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据;缺陷信息录入模块703,用于依据所述交互界面图片、所述交互数据和所述运行数据生成程序缺陷信息,调用预设接口录入所述程序缺陷信息。
在一可能的示例中,在依据所述操作数据判断是否执行程序缺陷录入操作方面,所述缺陷录入确定模块701,具体用于:判断所述操作数据是否包含回调错误信息,所述回调错误信息由所述宿主程序对应的操作系统返回;若包含所述回调错误信息,确定所述宿主程序处于异常状态,执行所述程序缺陷录入操作。
在一可能的示例中,所述操作数据为用户操作数据;在所述依据所述操作数据判断是否执行程序缺陷录入操作方面,所述缺陷录入确定模块701,具体用于:确定所述用户操作数据对应的用户请求;判断所述用户请求是否为预设的接口启动请求操作,若是,执行程序缺陷录入操作。
在一可能的示例中,在所述获取所述宿主程序当前的交互界面图片、所述宿主程序的交互数据和所述宿主程序对应的终端设备的运行数据方面,所述缺陷信息获取模块702,具体用于:针对所述宿主程序的当前界面执行截屏操作,得到当前界面截屏图片;对所述当前界面截屏图片执行标注操作得到所述交互界面图片;从预设数据库中获取所述交互数据和所述运行数据。
在一可能的示例中,在所述对所述当前界面截屏图片执行标注操作得到所述交互界面图片方面,所述缺陷信息获取模块702,具体用于:显示所述当前界面截屏图片和预设的标注提示框;接收用户在所述标注提示框中输入的针对所述当前界面截屏图片的标注数据,其中,所述标注数据包括:至少一组标注坐标和任意一组所述标注坐标对应的标注内容信息;基于所述标注数据对所述当前界面截屏图片执行标注操作,得到所述交互界面图片。
在一可能的示例中,在所述从预设数据库中获取所述交互数据和运行数据方面,所述缺陷信息获取模块702,具体用于:获取当前时间和预设时长;基于所述当前时间和所述预设时长确定提取时间段;从所述预设数据库中提取所述提取时间段对应的交互数据和运行数据,其中,所述交互数据包括交互操作数据和网络交互数据,所述运行数据包括以下一个或一个以上:程序运行堆栈数据、中央处理器使用率、内存使用率。
在一可能的示例中,在所述调用预设接口录入所述程序缺陷信息之后方面,缺陷信息录入模块703,还用于:获取所述宿主程序的运行状态;当所述宿主程序为停止运行状态时,停止执行对所述宿主程序的监听操作。
请参阅图8,图8是本发明实施例提供的一种电子设备的结构示意图,如图所示,电子设备800包括应用处理器810、存储器820、通信接口830以及一个或多个程序821,其中,一个或多个程序821被存储在上述存储器820中,并且被配置由上述应用处理器810执行,一个或多个程序821包括用于执行以下步骤的指令:接收宿主程序的操作数据,依据操作数据判断是否执行程序缺陷录入操作;若执行程序缺陷录入操作,获取宿主程序当前的交互界面图片、宿主程序的交互数据和宿主程序对应的终端设备的运行数据;依据交互界面图片、交互数据和运行数据生成程序缺陷信息,调用预设接口录入程序缺陷信息。
上述主要从方法侧执行过程的角度对本发明实施例的方案进行了介绍。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。
本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。
某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个控制单元中。
上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图9,图9是本发明一实施例提供的一种程序缺陷跟踪管理系统结构图。
如图9所示,一种程序缺陷跟踪管理系统,包括:后台管理器902、后台数据库903以及与后台管理器902相连接的如上述的录入设备901。
关于上述实施例中的设备及系统,其中具体的实施方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。
上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。
而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
展开

查看更多专利详情信息请先登录或注册会员

相关专利类别推荐

获取手机验证码,即可注册成为会员

专利详情咨询

咨询内容

姓名

手机

验证码

用户登录

手机号

手机验证码

提示

不能再减了!!!

提交成功

八月瓜客服中心已经收到您的信息,正在为您派遣知识产权顾问。知识产权顾问会携带贴心的服务以闪电搬的速度与您联系。

扫一扫关注八月瓜微信 创业一手掌握