一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

设备连接状态恢复方法、装置、设备及存储介质与流程

2022-02-21 11:54:42 来源:中国专利 TAG:


1.本发明涉及设备维护技术领域,尤其涉及一种设备连接状态恢复方法、装置、设备及存储介质。


背景技术:

2.设备之间要进行通信或数据传输都需要先建立连接,此外,再对设备进行调试或充电等也依赖于特定的连接状态。目前,设备之间的连接状态需要人工进行维护,当维护人员发现设备之间的连接断开后,需要对其进行手动恢复。在多数情况下,无法设置过多人力对设备进行实时监控,因此在设备连接断开或连接模式发生改变后,无法及时发现并恢复,导致设备在较长时间内无法运行,造成诸多不利影响。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种设备连接状态恢复方法、装置、设备及存储介质,旨在解决现有技术中无法在设备连接状态发生改变时,及时对设备连接状态进行恢复的技术问题。
5.为实现上述目的,本发明提供一种设备连接状态恢复方法,所述设备连接状态恢复方法包括以下步骤:
6.在检测到连接状态发生改变时,创建用户界面自动化操作对象;
7.通过所述用户界面自动化操作对象获取当前页面窗体信息;
8.获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;
9.基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
10.可选的,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤,具体包括:
11.在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化;
12.通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
13.可选的,所述通过所述用户界面自动化操作对象获取当前页面窗体信息的步骤,具体包括:
14.通过所述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接;
15.通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
16.可选的,所述基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序
列,以使所述连接状态恢复至目标连接状态的步骤之后,还包括:
17.在检测到所述连接状态恢复至目标连接状态时,通过所述预设反射路径调用用户界面自动化操作对象的切断函数与所述预设应用程序接口断开连接;
18.调用所述线程操作对象的资源释放函数释放所述用户界面自动化操作对象。
19.可选的,所述基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态的步骤,具体包括:
20.根据所述界面操作序列确定待操作控件;
21.根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件;
22.根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
23.可选的,所述根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态的步骤,具体包括:
24.根据所述界面操作序列调用辅助功能对象操作所述目标控件,以操作用户界面修改所述连接状态;
25.判断所述界面操作序列是否执行完成;
26.在所述界面操作序列未执行完成时,获取未完成序列对应的未执行控件;
27.通过所述预设应用程序接口调用所述辅助窗体对象获取中间页面窗体信息;
28.根据所述未执行控件确定所述中间页面窗体信息中对应的目标控件,并返回所述根据所述界面操作序列调用辅助功能对象操作所述目标控件的步骤,直至所述界面操作序列执行完成,以使所述连接状态恢复至目标连接状态。
29.可选的,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤之前,还包括:
30.在检测到与外部设备建立连接时,获取连接端口信息;
31.根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间;
32.判断所述第一维持时间是否大于第一预设阈值;
33.在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
34.可选的,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤,具体包括:
35.在检测到连接状态发生改变时,获取改变前连接状态;
36.判断所述改变前连接状态是否与所述目标连接状态相同;
37.在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象。
38.可选的,所述在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象的步骤,具体包括:
39.获取改变后连接状态,并记录所述改变后连接状态的第二维持时间;
40.在所述改变前连接状态与所述目标连接状态相同时,判断所述第二维持时间是否大于第二预设阈值;
41.在所述第二维持时间大于所述第二预设阈值时,创建用户界面自动化操作对象。
42.可选的,所述获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列的步骤,具体包括:
43.获取目标连接状态信息;
44.根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系;
45.对所述预设恢复脚本进行解析,获得界面操作序列。
46.可选的,所述根据所述目标连接状态在预设映射关系中查找对应的预设恢复脚本的步骤之后,还包括:
47.在未查找到对应的预设恢复脚本时,获取历史连接状态记录信息;
48.根据预设参考条件从所述历史连接状态记录信息中获取参考连接状态信息,并将所述参考连接状态信息作为目标连接状态信息;
49.返回所述根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本的步骤。
50.可选的,所述根据所述目标连接状态在预设映射关系中查找对应的预设恢复脚本的步骤之后,还包括:
51.在未查找到对应的预设恢复脚本时,通过预设窗口将所述目标连接状态信息进行展示;
52.在接收到基于所述预设窗口输入的文件时,获取所述文件的文件信息;
53.判断所述文件信息是否满足预设条件;
54.在所述文件信息满足所述预设条件时,将所述文件作为预设恢复脚本。
55.此外,为实现上述目的,本发明还提出一种设备连接状态恢复装置,所述设备连接状态恢复装置包括:
56.对象创建模型,用于在检测到连接状态发生改变时,创建用户界面自动化操作对象;
57.窗体信息获取模型,用于通过所述用户界面自动化操作对象获取当前页面窗体信息;
58.序列生成模块,用于获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;
59.执行模型,用于基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
60.可选的,所述对象创建模型,还用于在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化;
61.所述对象创建模型,还用于通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
62.可选的,所述窗体信息获取模型,还用于通过所述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接;
63.所述窗体信息获取模型,还用于通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
64.可选的,所述执行模型,还用于根据所述界面操作序列确定待操作控件;
65.所述执行模型,还用于根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件;
66.所述执行模型,还用于根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
67.可选的,所述设备连接状态恢复装置还包括连接状态判断模块;
68.所述连接状态判断模块,用于在检测到与外部设备建立连接时,获取连接端口信息;
69.所述连接状态判断模块,还用于根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间;
70.所述连接状态判断模块,还用于判断所述第一维持时间是否大于第一预设阈值;
71.所述连接状态判断模块,还用于在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
72.可选的,所述序列生成模块,还用于获取目标连接状态信息;
73.所述序列生成模块,还用根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系;
74.所述序列生成模块,还用对所述预设恢复脚本进行解析,获得界面操作序列。
75.此外,为实现上述目的,本发明还提出一种设备连接状态恢复设备,所述设备连接状态恢复设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备连接状态恢复程序,所述设备连接状态恢复程序被所述处理器执行时实现如上文所述的设备连接状态恢复方法的步骤。
76.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有设备连接状态恢复程序,所述设备连接状态恢复程序被处理器执行时实现如上文所述的设备连接状态恢复方法的步骤。
77.本发明中,通过在检测到连接状态发生改变时,创建用户界面自动化操作对象;通过所述用户界面自动化操作对象获取当前页面窗体信息;获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。本发明能够对设备连接状态改变及时响应,并通过创建的用户界面自动化操作对象获取当前页面窗体信息;同时获取预先设置的恢复脚本,并执行脚本内预设的操作序列,实现对页面的自动化操作,进而及时对设备连接状态进行恢复。
附图说明
78.图1是本发明实施例方案涉及的硬件运行环境的设备连接状态恢复设备的结构示意图;
79.图2为本发明设备连接状态恢复方法第一实施例的流程示意图;
80.图3为本发明设备连接状态恢复方法第二实施例的流程示意图;
81.图4为本发明设备连接状态恢复方法第三实施例的流程示意图;
82.图5为本发明设备连接状态恢复方法第四实施例的流程示意图;
83.图6为本发明设备连接状态恢复方法第五实施例的流程示意图;
84.图7为本发明设备连接状态恢复装置第一实施例的结构框图。
85.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
86.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
87.参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备连接状态恢复设备结构示意图。
88.如图1所示,该设备连接状态恢复设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为usb接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
89.本领域技术人员可以理解,图1中示出的结构并不构成对设备连接状态恢复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
90.如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备连接状态恢复程序。
91.在图1所示的设备连接状态恢复设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述设备连接状态恢复设备通过处理器1001调用存储器1005中存储的设备连接状态恢复程序,并执行本发明实施例提供的设备连接状态恢复方法。
92.基于上述硬件结构,提出本发明设备连接状态恢复方法的实施例。
93.参照图2,图2为本发明设备连接状态恢复方法第一实施例的流程示意图,提出本发明设备连接状态恢复方法第一实施例。
94.在第一实施例中,所述设备连接状态恢复方法包括以下步骤:
95.步骤s10:在检测到连接状态发生改变时,创建用户界面自动化操作对象。
96.应理解的是,本实施例的执行主体是为设备连接状态恢复设备,该设备连接状态恢复设备具有数据通信及程序运行等功能,该设备连接状态恢复设备可以为手机、平板、电脑或服务器等计算机设备,当然,还可为其他具有相似功能的设备,本实施方式对此不加以限制。
97.需要说明的是,连接状态是指设备之间的连接模式,以手机与电脑之间的连接为例。手机通过usb线与电脑进行连接,此时,可以选择的连接状态包含充电模式、数据传输模式或调试模式等。用户在手机与电脑进行连接之后需要执行相应功能时,需要设置相应的模式。例如,当用户需要通过电脑对手机进行调试时,需要设置连接状态为调试模式;此时,若手机与电脑之间的连接模式变成了充电模式,则判定为连接状态发生改变。当然,连接状
态还可以有其他模式,甚至是其他类型的设备相连接,本实施例对此不加以限制。
98.以手机为例,本实施例可以以java进程的方式在手机后台进行运行,当检测到手机与电脑建立连接后,自动唤起该进程,实时对连接状态进行轮询。当检测检测到连接状态发生改变时,创建用户界面自动化操作对象。其中,用户界面自动化操作对象是指uiautomation对象,以下以uiautomation对象进行说明。
99.步骤s20:通过所述用户界面自动化操作对象获取当前页面窗体信息。
100.需要说明的是,该当前页面窗体信息是指当前设备ui界面的显示信息,其中包括有页面宽度、页面内包含的控件以及控件在页面中的位置信息等。
101.需要说明的是,uiautomation对象能够注册辅助功能以实现设备的自动化操作,辅助功能能够提供设备显示页面的获取、操作、变化感知等操作。在本实例中,通过反射机制调用uiautomation对象中的方法以实现对页面窗体信息获取功能的调用,获得当前设备显示页面的窗体信息。
102.步骤s30:获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列。
103.需要说明的是,界面操作序列是指在用户页面中的操作流程,例如,点击应用图标、滑动页面,点击选项等。其中,界面操作序列包含有应用图标的位置信息、选项控件的位置信息、页面滑动距离等。上述信息通过代码的形式写入至脚本中,形成了预设恢复脚本。
104.需要说明的是,本实施例预先设置有一脚本库,维护人员可以将制作好的脚本存储至脚本库中,以使设备连接状态恢复设备能够从该脚本库中获取对应的恢复脚本。
105.步骤s40:基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
106.需要说明的是,界面操作序列中对应的操作流程可以通过辅助功能实现,故,通过uiautomation对象调用辅助功能按照界面操作序列中的操作流程,依次实现相应的页面操作,从而实现连接状态的恢复。
107.例如,手机与电脑之间连接在调试模式之下,但由于手机与电脑之间的usb线可能存在接触不良的问题,导致连接中断。尽管又恢复了连接,但连接状态为充电模式,为了相应功能的正常使用,需要将连接状态恢复至调试模式。此时,获取调试模式恢复脚本,其中预设的操作流程为回到主页面,点击设置图标、滑动页面、点击连接选项、点击调试选项。通过uiautomation对象调用辅助功能依次实现点击功能和滑动功能,同时,在点击和滑动时,根据当前页面窗体信息确定设置图标、连接选项、调试选项的位置信息和滑动的距离。
108.在第一实施例中,通过在检测到连接状态发生改变时,创建用户界面自动化操作对象;通过所述用户界面自动化操作对象获取当前页面窗体信息;获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。本实施例能够对设备连接状态改变及时响应,并通过创建的用户界面自动化操作对象获取当前页面窗体信息;同时获取预先设置的恢复脚本,并执行脚本内预设的操作序列,实现对页面的自动化操作,进而及时对设备连接状态进行恢复。
109.参照图3,图3为本发明设备连接状态恢复方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明设备连接状态恢复方法的第二实施例。
110.在第二实施例中,所述步骤s10,具体包括:
111.步骤s101:在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化。
112.需要说明的是,线程操作对象为handlerthread对象。本实施例以java进程的方式在手机后台进行运行,当检测到手机与电脑建立连接后,通过对handlerthread对象进行初始化唤起该进程。同时,对uiautomation对象进行初始化,具体地是对uiautomationconnection对象进行初始化。具体初始化流程为本领域常识,在此不再赘述。
113.步骤s102:通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
114.由于java进程已在运行,无法直接调用uiautomation对象,故需要建立反射机制,根据反射路径调用uiautomation构造方法创建uiautomation对象。以实现跨进程执行。
115.在第二实施例中,所述步骤s20,具体包括:
116.步骤s201:通过所述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接。
117.需要说明的是,预设应用程序接口是指uiautomation api库的程序接口,同样,通过反射调用uiautomation#connect方法连接uiautomation api库。从而为后续调用uiautomation api建立基础。
118.步骤s202:通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
119.需要说明的是,通过uiautomation api库可以调用各种辅助功能对象,实现相应的自动化操作。例如,界面点击操作、页面滑动操作或窗体信息获取操作等。本实施例通过uiautomation api中的辅助窗体对象获取当前用户页面的窗体信息。
120.在第二实施例中,所述步骤s40之后,还包括:
121.s50:在检测到所述连接状态恢复至目标连接状态时,通过所述预设反射路径调用用户界面自动化操作对象的切断函数与所述预设应用程序接口断开连接。
122.需要说明的是,java进程在运行自动化操作服务时,不允许再运行其他注册服务,因此,需要及时对自动化操作服务进行释放,以使系统允许执行自动化测试用例。
123.在具体实现时,当连接状态以及恢复时,通过反射调用uiautomation对象的disconnect函数断开连接,以注销自动化操作服务。
124.s60:调用所述线程操作对象的资源释放函数释放所述用户界面自动化操作对象。
125.需要说明的是,自动化操作服务注销后,java进程已完成相应功能,可以同时释放,节约资源,并在下次检测到连接状态发生改变时,重新唤醒。具体地,调用handlerthread对象的quite方法(即资源释放函数)释放java进程资源。
126.在第二实施例中,通过uiautomation对象进行跨进程执行辅助功能,通过uiautomation与uiautomation api库连接,并注册辅助功能,以此获取页面窗体信息。此外,在java进程内部通过反射系统接口实现自动化操作功能的注册和注销功能,释放资源来允许系统执行自动化测试用例,避免资源占用。
127.参照图4,图4为本发明设备连接状态恢复方法第三实施例的流程示意图,基于上述第一实施例和第二实施例,提出本发明设备连接状态恢复方法的第三实施例。本实施例
以第一实施例为基础进行说明。
128.在第三实施例中,所述步骤s40,具体包括:
129.步骤s401:根据所述界面操作序列确定待操作控件。
130.需要说明的是,界面操作序列是指在用户页面中的操作流程,例如,点击应用图标、滑动页面,点击选项等。其中,界面操作序列包含有应用图标的位置信息、选项控件的位置信息、页面滑动距离等。
131.以恢复调试模式为例,界面操作序列包括回到主页面,点击设置图标、滑动页面、点击连接选项、点击调试选项。为保证后续操作的准确性,先确定待操作控件,具体地,待操作控件包括主界面按键、设置图标按键、连接选项及调试选项。
132.步骤s402:根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件。
133.需要说明的是,为保证相应的待操作控件能够被准确操作,需要根据当前页面窗体信息定位待操作控件,具体地,可根据当前页面窗体信息中的控件信息与待操作控件进行匹配,确定当前页面窗体信息中可操作的目标控件。
134.步骤s403:根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
135.由于不同控件所处的页面不同,因此在该当前页面窗体信息中可能不存在相应控件。例如在主页面中存在设置图标,但没有连接选项及调试选项。因此,步骤s403可具体包括:根据所述界面操作序列调用辅助功能对象操作所述目标控件,以操作用户界面修改所述连接状态;判断所述界面操作序列是否执行完成;在所述界面操作序列未执行完成时,获取未完成序列对应的未执行控件;通过所述预设应用程序接口调用所述辅助窗体对象获取中间页面窗体信息;根据所述未执行控件确定所述中间页面窗体信息中对应的目标控件,并返回所述根据所述界面操作序列调用辅助功能对象操作所述目标控件的步骤,直至所述界面操作序列执行完成,以使所述连接状态恢复至目标连接状态。
136.在具体实现时,首先根据该当前页面窗体信息存在的控件进行操作,如在主界面中点击设置图像。此时,由于主页面中不存在连接选项,操作序列中止。但由于发生了页面变化,通过重新获取页面窗体信息,能够重新定位连接选项,进而实现对连接选项的点击。以此来完成界面操作序列的执行,操作用户界面以将连接状态恢复至目标连接状态。
137.在第三实施例中,通过对页面窗体信息中对界面操作序列中的待操作控件进行定位,保证操作的准确性。同时,在用户页面发生改变时,重新获取页面窗体信息,以对界面操作序列中未执行的控件进行定位,从而完整执行界面操作序列,将连接状态恢复至目标连接状态。
138.参照图5,图5为本发明设备连接状态恢复方法第四实施例的流程示意图,基于上述第一实施例和第二实施例,提出本发明设备连接状态恢复方法的第四实施例。本实施例以第一实施例为基础进行说明。
139.在第四实施例中,所述步骤s10之前,还包括:
140.步骤s001:在检测到与外部设备建立连接时,获取连接端口信息。
141.需要说明的是,为实时对设备连接状态进行监听,本实施例在在检测到与外部设备建立连接时,启动监听进行。外部设备可以包括手机、电脑或平板等。
142.需要说明的是,建立连接的方式包括usb连接或者无线网络连接,在检测到usb端
口有插入时,则判定与外部设备建立连接;或者在检测到wifi端口存在连接时,判定与外部设备建立连接。同时获取相应的连接端口信息,进行实时监控,连接端口信息包括端口状态。
143.步骤s002:根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间。
144.需要说明的是,通过对状况状态进行监听即可确定当前端口的连接状态。通常情况下,在设备建立初步连接时,会被设置为默认连接模式,如充电模式。操作人员需要会对状态进行切换,某些情况下,由于误操作需要进行多次切换。因此,在设备建立连接初期,为了保证java的误启动,需要设置相应的限制条件。本实施例以状态维持时间作为限制条件。
145.步骤s003:判断所述第一维持时间是否大于第一预设阈值。
146.需要说明的是,通常操作人员对于不需要的连接状态会马上切换,而对需要的连接状态进行保持。因此,可以通过维持来确定操作人员所需要的连接状。例如第一预设阈值为1分钟或2分钟,当然还可以为其他值,本实施例方式对此不加以限制。
147.步骤s004:在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
148.可以理解的是,在连接状态的维持时间超过了预设阈值时,则说明相应的连接状态为操作人员需要的连接状态,将该连接状态设置为目标连接状态,并在该目标连接状态发生改变时,注册自动化操作服务,以实现连接状态恢复。若连接状态的维持时间未超过了预设阈值,则说明相应的连接状态不是操作人员需要的连接状态,返回步骤s002,继续检测。
149.在第四实施例中,所述步骤s10具体包括:在检测到连接状态发生改变时,获取改变前连接状态;判断所述改变前连接状态是否与所述目标连接状态相同;在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象。
150.需要说明的是,在操作人员发生误操作时,为了进一步防止进程误启动,需要判断改变前状态是否目标连接状态,若不是,则不启动。例如,操作人员将设备进行连接,默认连接状态为充电模式,操作人员需要将其切换至调试模式,但由于误操作,先切换至传输模式,在切换至调试模式。此时,连接状态发生了改变,但由于充电模式和传输模式均不是目标连接状态,因此,不进行启动。
151.此外,在实际操作中,由于误操作导致连接状态发生改变时,操作人员发现了该情况,并手动恢复了连接状态。因此,为了避免进程操作与人工操作冲突,所述在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象的步骤,具体包括:获取改变后连接状态,并记录所述改变后连接状态的第二维持时间;在所述改变前连接状态与所述目标连接状态相同时,判断所述第二维持时间是否大于第二预设阈值;在所述第二维持时间大于所述第二预设阈值时,创建用户界面自动化操作对象。
152.需要说明的是,通过操作人员能够发现情况的时间往往较短,因此,同样可通过设置时间条件来避免冲突。例如设置第二维持时间为30秒,若30秒后连接状态没有恢复,则说明操作人员没有发现该情况,此时需要进行自动化操作,以恢复连接状态。
153.在第四实施例中,通过对连接状态的维持时间进行监控,能够确定目标连接状态;进而在连接状态发生改变时,能够判断是否需要创建用户界面自动化操作对象执行自动化
操作恢复连接状态,避免了误启动。
154.参照图6,图6为本发明设备连接状态恢复方法第五实施例的流程示意图,基于上述第一实施例和第二实施例,提出本发明设备连接状态恢复方法的第五实施例。本实施例以第一实施例为基础进行说明。
155.在第五实施例中,所述步骤s30,具体包括:
156.步骤s301:获取目标连接状态信息。
157.可以理解的,在对连接状态进行恢复时,需要确定对应的目标连接状态信息。通常,以改变前的连接状态信息作为目标连接状态信息。该目标连接状态信息可具体为状态类别,如调试模式或传输模式等。
158.步骤s302:根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系。
159.需要说明的是,本实施例预先设置有一脚本库,维护人员可以将制作好的脚本存储至脚本库中,以使设备连接状态恢复设备能够从该脚本库中获取对应的恢复脚本。同时,建立恢复脚本与连接状态之间的对应关系,例如调试模式对应脚本a,传输模式对应脚本b。当目标连接状态为调试模式时,获取脚本a。
160.步骤s303:对所述预设恢复脚本进行解析,获得界面操作序列。
161.需要说明的是,界面操作序列是指在用户页面中的操作流程,例如,点击应用图标、滑动页面,点击选项等。其中,界面操作序列包含有应用图标的位置信息、选项控件的位置信息、页面滑动距离等。上述信息通过代码的形式写入至脚本中,通过对恢复脚本进行解析,可以获得界面操作序列。
162.需要说明的是,为了进一步保证能够查找到与目标连接状态对应的恢复脚本,在根据所述目标连接状态在预设映射关系中查找对应的预设恢复脚本的步骤之后,还包括:在未查找到对应的预设恢复脚本时,获取历史连接状态记录信息;根据预设参考条件从所述历史连接状态记录信息中获取参考连接状态信息,并将所述参考连接状态信息作为目标连接状态信息;返回所述根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本的步骤。
163.需要说明的是,历史连接状态记录信息是指已记录过的目标连接状态,由于操作人员会依次在多种连接状态下对设备进行操作,因此本实施方式将被判定为目标连接状态的连接模式进行记录,获得历史连接状态记录信息。该预设参考条件可以为历史连接状态记录信息对应的连接模式与当前标连接状态信息之间的关联性阈值,该关联性可根据连接模式所能实现的功能确定,所能实现的相同功能越多,则关联性越高,在关联性大于预设阈值时,则认定满足参考条件。
164.需要说明的是,由于操作人员可能没有存储相应连接模式的对应脚本,因此,无法根据映射关系查找到对应的恢复脚本。此时,可根据历史历史连接状态记录信息查找具有相关功能的连接状态对应的恢复脚本。例如,目标连接状态为数据传输模式,但根据映射关系无法查找到对应的脚本。但在历史连接状态记录信息包含有调试模式,由于调试模式具体一定的数据传输功能,因此可将调试模式作为目标连接状态。
165.在本实施例中,为保证连接状态恢复的准确性,还可以在未查找到对应的预设恢复脚本时,通过预设窗口将所述目标连接状态信息进行展示;在接收到基于所述预设窗口
输入的文件时,获取所述文件的文件信息;判断所述文件信息是否满足预设条件;在所述文件信息满足所述预设条件时,将所述文件作为预设恢复脚本。
166.需要说明的是,所述窗口用于向用户进行提示,例如可以在窗口显示“xx模式恢复脚本缺失”。同时该窗口还包括输入窗口,用于用户输入文件,用户可以在该输入窗口中输入文件路径,窗口根据该文件路径获取对应的文件。所述文件信息包括文件格式、大小等信息。其中,可通过对文件后缀名进行识别判断文件格式。在本实施例中,脚本类似为shell脚本,故,预设条件可以为文件格式为shell文件。
167.在第五实施例中,通过映射关系查找对应的预设恢复脚本,能够快速获取对应的脚本,提高连接状态恢复效率。同时,在未查找到对应的预设恢复脚本时,通过选取参考连接状态对应的恢复脚本进行恢复,保证恢复后的连接模式具有相同功能。或者,通过向用户提供窗口进行提示,并等待用户输入恢复脚本,保证了连接状态恢复进程的稳定运行。
168.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有设备连接状态恢复程序,所述设备连接状态恢复程序被处理器执行时实现如上文所述的设备连接状态恢复方法的步骤。
169.由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
170.此外,参照图7,本发明实施例还提出一种设备连接状态恢复装置,所述设备连接状态恢复装置包括:
171.对象创建模型10,用于在检测到连接状态发生改变时,创建用户界面自动化操作对象。
172.需要说明的是,连接状态是指设备之间的连接模式,以手机与电脑之间的连接为例。手机通过usb线与电脑进行连接,此时,可以选择的连接状态包含充电模式、数据传输模式或调试模式等。用户在手机与电脑进行连接之后需要执行相应功能时,需要设置相应的模式。例如,当用户需要通过电脑对手机进行调试时,需要设置连接状态为调试模式;此时,若手机与电脑之间的连接模式变成了充电模式,则判定为连接状态发生改变。当然,连接状态还可以有其他模式,甚至是其他类型的设备相连接,本实施例对此不加以限制。
173.窗体信息获取模型20,用于通过所述用户界面自动化操作对象获取当前页面窗体信息。
174.需要说明的是,该当前页面窗体信息是指当前设备ui界面的显示信息,其中包括有页面宽度、页面内包含的控件以及控件在页面中的位置信息等。
175.需要说明的是,uiautomation对象能够注册辅助功能以实现设备的自动化操作,辅助功能能够提供设备显示页面的获取、操作、变化感知等操作。在本实例中,通过反射机制调用uiautomation对象中的方法以实现对页面窗体信息获取功能的调用,获得当前设备显示页面的窗体信息。
176.序列生成模块30,用于获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列。
177.需要说明的是,界面操作序列是指在用户页面中的操作流程,例如,点击应用图标、滑动页面,点击选项等。其中,界面操作序列包含有应用图标的位置信息、选项控件的位置信息、页面滑动距离等。上述信息通过代码的形式写入至脚本中,形成了预设恢复脚本。
178.需要说明的是,本实施例预先设置有一脚本库,维护人员可以将制作好的脚本存储至脚本库中,以使执行模型30能够从该脚本库中获取对应的恢复脚本。
179.执行模型40,用于基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
180.需要说明的是,界面操作序列中对应的操作流程可以通过辅助功能实现,故,通过uiautomation对象调用辅助功能按照界面操作序列中的操作流程,依次实现相应的页面操作,从而实现连接状态的恢复。
181.例如,手机与电脑之间连接在调试模式之下,但由于手机与电脑之间的usb线可能存在接触不良的问题,导致连接中断。尽管又恢复了连接,但连接状态为充电模式,为了相应功能的正常使用,需要将连接状态恢复至调试模式。此时,获取调试模式恢复脚本,其中预设的操作流程为回到主页面,点击设置图标、滑动页面、点击连接选项、点击调试选项。通过uiautomation对象调用辅助功能依次实现点击功能和滑动功能,同时,在点击和滑动时,根据当前页面窗体信息确定设置图标、连接选项、调试选项的位置信息和滑动的距离。
182.在本实施例中,通过在检测到连接状态发生改变时,创建用户界面自动化操作对象;通过所述用户界面自动化操作对象获取当前页面窗体信息;获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。本实施例能够对设备连接状态改变及时响应,并通过创建的用户界面自动化操作对象获取当前页面窗体信息;同时获取预先设置的恢复脚本,并执行脚本内预设的操作序列,实现对页面的自动化操作,进而及时对设备连接状态进行恢复。
183.在一实施例中,所述对象创建模型10还用于在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化;所述对象创建模型,还用于通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
184.在一实施例中,所述窗体信息获取模型20还用于通过所述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接;所述窗体信息获取模型,还用于通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
185.在一实施例中,所述执行模型40,还用于根据所述界面操作序列确定待操作控件;所述执行模型,还用于根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件;所述执行模型,还用于根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
186.在一实施例中,所述设备连接状态恢复装置还包括连接状态判断模块;所述连接状态判断模块,用于在检测到与外部设备建立连接时,获取连接端口信息;所述连接状态判断模块,还用于根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间;所述连接状态判断模块,还用于判断所述第一维持时间是否大于第一预设阈值;所述连接状态判断模块,还用于在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
187.在一实施例中,所述序列生成模块30,还用于获取目标连接状态信息;所述序列生成模块,还用根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系;所述序列生成模块,还用对所述预
设恢复脚本进行解析,获得界面操作序列。
188.本发明所述设备连接状态恢复装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
189.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
190.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
191.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(read only memory image,rom)/随机存取存储器(random access memory,ram)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
192.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
193.本发明公开了a1、一种设备连接状态恢复方法,所述设备连接状态恢复方法包括以下步骤:
194.在检测到连接状态发生改变时,创建用户界面自动化操作对象;
195.通过所述用户界面自动化操作对象获取当前页面窗体信息;
196.获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;
197.基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
198.a2、如a1所述的设备连接状态恢复方法,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤,具体包括:
199.在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化;
200.通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
201.a3、如a2所述的设备连接状态恢复方法,所述通过所述用户界面自动化操作对象获取当前页面窗体信息的步骤,具体包括:
202.通过所述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接;
203.通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
204.a4、如a3所述的设备连接状态恢复方法,所述基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态的步骤之后,还包括:
205.在检测到所述连接状态恢复至目标连接状态时,通过所述预设反射路径调用用户界面自动化操作对象的切断函数与所述预设应用程序接口断开连接;
206.调用所述线程操作对象的资源释放函数释放所述用户界面自动化操作对象。
207.a5、如a1-a4中任一项所述的设备连接状态恢复方法,所述基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态的步骤,具体包括:
208.根据所述界面操作序列确定待操作控件;
209.根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件;
210.根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
211.a6、如a5所述的设备连接状态恢复方法,所述根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态的步骤,具体包括:
212.根据所述界面操作序列调用辅助功能对象操作所述目标控件,以操作用户界面修改所述连接状态;
213.判断所述界面操作序列是否执行完成;
214.在所述界面操作序列未执行完成时,获取未完成序列对应的未执行控件;
215.通过所述预设应用程序接口调用所述辅助窗体对象获取中间页面窗体信息;
216.根据所述未执行控件确定所述中间页面窗体信息中对应的目标控件,并返回所述根据所述界面操作序列调用辅助功能对象操作所述目标控件的步骤,直至所述界面操作序列执行完成,以使所述连接状态恢复至目标连接状态。
217.a7、如a1-a4中任一项所述的设备连接状态恢复方法,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤之前,还包括:
218.在检测到与外部设备建立连接时,获取连接端口信息;
219.根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间;
220.判断所述第一维持时间是否大于第一预设阈值;
221.在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
222.a8、如a7所述的设备连接状态恢复方法,所述在检测到连接状态发生改变时,创建用户界面自动化操作对象的步骤,具体包括:
223.在检测到连接状态发生改变时,获取改变前连接状态;
224.判断所述改变前连接状态是否与所述目标连接状态相同;
225.在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象。
226.a9、如a8所述的设备连接状态恢复方法,所述在所述改变前连接状态与所述目标连接状态相同时,创建用户界面自动化操作对象的步骤,具体包括:
227.获取改变后连接状态,并记录所述改变后连接状态的第二维持时间;
228.在所述改变前连接状态与所述目标连接状态相同时,判断所述第二维持时间是否大于第二预设阈值;
229.在所述第二维持时间大于所述第二预设阈值时,创建用户界面自动化操作对象。
230.a10、如a1-a4中任一项所述的设备连接状态恢复方法,所述获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列的步骤,具体包括:
231.获取目标连接状态信息;
232.根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系;
233.对所述预设恢复脚本进行解析,获得界面操作序列。
234.a11、如a10所述的设备连接状态恢复方法,所述根据所述目标连接状态在预设映射关系中查找对应的预设恢复脚本的步骤之后,还包括:
235.在未查找到对应的预设恢复脚本时,获取历史连接状态记录信息;
236.根据预设参考条件从所述历史连接状态记录信息中获取参考连接状态信息,并将所述参考连接状态信息作为目标连接状态信息;
237.返回所述根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本的步骤。
238.a12、如a10所述的设备连接状态恢复方法,所述根据所述目标连接状态在预设映射关系中查找对应的预设恢复脚本的步骤之后,还包括:
239.在未查找到对应的预设恢复脚本时,通过预设窗口将所述目标连接状态信息进行展示;
240.在接收到基于所述预设窗口输入的文件时,获取所述文件的文件信息;
241.判断所述文件信息是否满足预设条件;
242.在所述文件信息满足所述预设条件时,将所述文件作为预设恢复脚本。
243.本发明还公开了b13、一种设备连接状态恢复装置,所述设备连接状态恢复装置包括:
244.对象创建模型,用于在检测到连接状态发生改变时,创建用户界面自动化操作对象;
245.窗体信息获取模型,用于通过所述用户界面自动化操作对象获取当前页面窗体信息;
246.序列生成模块,用于获取预设恢复脚本,并根据所述预设恢复脚本确定对应的界面操作序列;
247.执行模型,用于基于所述当前页面窗体信息调用辅助功能对象执行所述界面操作序列,以使所述连接状态恢复至目标连接状态。
248.b14、如b13所述的设备连接状态恢复装置,所述对象创建模型,还用于在检测到连接状态发生改变时,对线程操作对象和用户界面自动化操作对象进行初始化;
249.所述对象创建模型,还用于通过预设反射路径调用用户界面自动化操作对象构造函数创建用户界面自动化操作对象。
250.b15、如b14所述的设备连接状态恢复装置,所述窗体信息获取模型,还用于通过所
述预设反射路径调用用户界面自动化操作对象的连接函数与预设应用程序接口进行连接;
251.所述窗体信息获取模型,还用于通过所述预设应用程序接口调用辅助窗体对象获取当前页面窗体信息。
252.b16、如b13-b15中任一项所述的设备连接状态恢复装置,所述执行模型,还用于根据所述界面操作序列确定待操作控件;
253.所述执行模型,还用于根据所述待操作控件确定所述当前页面窗体信息中对应的目标控件;
254.所述执行模型,还用于根据所述界面操作序列调用辅助功能对象操作所述目标控件,以使所述连接状态恢复至目标连接状态。
255.b17、如b13-b15中任一项所述的设备连接状态恢复装置,所述设备连接状态恢复装置还包括连接状态判断模块;
256.所述连接状态判断模块,用于在检测到与外部设备建立连接时,获取连接端口信息;
257.所述连接状态判断模块,还用于根据所述连接端口信息确定当前连接状态,并记录所述当前连接状态的第一维持时间;
258.所述连接状态判断模块,还用于判断所述第一维持时间是否大于第一预设阈值;
259.所述连接状态判断模块,还用于在所述第一维持时间大于所述第一预设阈值时,将所述当前连接状态判定为目标连接状态。
260.b18、如b13-b15中任一项所述的设备连接状态恢复方法,所述序列生成模块,还用于获取目标连接状态信息;
261.所述序列生成模块,还用根据所述目标连接状态信息在预设映射关系中查找对应的预设恢复脚本,所述映射关系包含连接状态与恢复脚本之间的对应关系;
262.所述序列生成模块,还用对所述预设恢复脚本进行解析,获得界面操作序列。
263.本发明还公开了c19、一种设备连接状态恢复设备,所述设备连接状态恢复设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备连接状态恢复程序,所述设备连接状态恢复程序被所述处理器执行时实现如上文所述的设备连接状态恢复方法的步骤。
264.本发明还公开了d20、一种存储介质,所述存储介质上存储有设备连接状态恢复程序,所述设备连接状态恢复程序被处理器执行时实现如上文所述的设备连接状态恢复方法的步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献