一种数据同步方法、装置、设备及存储介质与流程

文档序号:29091580发布日期:2022-03-02 02:58阅读:74来源:国知局
一种数据同步方法、装置、设备及存储介质与流程

1.本公开涉及计算机技术领域,具体而言,涉及一种数据同步方法、装置、设备及存储介质。


背景技术:

2.随着互联网的快速发展,网络已经逐渐成为人们必不可少的助手,通过网络为人们的工作和生活带来了极大的便利,各种以互联网为依托的应用被人们所使用,尤其是集成开发环境(integrated development environment,ide),能够在计算机上实现对程序的显示,集成了代码编写功能、分析功能、编译功能、调试功能,让程序开发变得更加方便、快捷、高效。
3.在集成开发环境中,用户在终端进行编码时,很可能面临断电、断网、意外退出、刷新、重新启动等情况,此时,在新启动的终端中,原来添加的内容不再显示,导致用户在集成开发环境中作业时,一旦出现上述问题,作业中的内容很可能会丢失,导致用户可能需要重新作业,难以开展工作协同和互动演示,降低集成开发环境的实用性和灵活性,不利于集成开发环境的动态管理。


技术实现要素:

4.本公开实施例至少提供一种数据同步方法、装置、设备及存储介质。
5.本公开实施例提供了一种数据同步方法,应用于集成开发环境ide,所述ide包括运行在服务器的容器和运行在终端上的用户开发界面,所述方法包括:
6.响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口;
7.在所述程序窗口中生成所述代码运行窗口;
8.基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上;
9.基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中。
10.一种可选的实施方式中,所述响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口,包括:
11.响应于在所述ide的用户开发界面上显示代码运行窗口,修改所述集成开发环境ide的启动参数;
12.基于修改后的启动参数,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
13.一种可选的实施方式中,所述基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中,包括:
14.获取在所述代码运行窗口中添加的运行内容,基于所述运行内容生成实例文件;
15.为所述程序窗口配置窗口环境参数;
16.基于所述窗口环境参数,在所述容器中生成用于存储所述实例文件的存储目录;
17.将所述实例文件写入所述容器中的存储目录中。
18.一种可选的实施方式中,所述方法包括:
19.为所述程序窗口配置窗口控制参数;
20.基于所述窗口控制参数,在所述程序窗口中生成内容滚动控件和窗口调节控件。
21.一种可选的实施方式中,所述方法包括:
22.为所述程序窗口配置窗口名称参数;
23.基于所述窗口名称参数,检测当前活跃于所述代码运行窗口中的活跃程序;
24.确定所述活跃程序的名称,将所述活跃程序的名称作为所述程序窗口的名称。
25.一种可选的实施方式中,在所述基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中之后,所述方法包括:
26.响应于生成新代码运行窗口,获取所述容器中存储的多个存储文件,所述多个存储文件包括所述实例文件;
27.从获取到的多个存储文件中选择至少一个目标存储文件;
28.在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容,其中,每个所述目标存储文件对应一个所述新代码运行窗口。
29.一种可选的实施方式中,在所述新代码运行窗口是对所述代码运行窗口进行刷新或重新加载后得到的情况下,所述从获取到的多个存储文件中选择至少一个目标存储文件,包括:
30.针对获取到的多个存储文件,从所述多个存储文件中确定所述实例文件,将所述实例文件作为所述至少一个目标存储文件。
31.一种可选的实施方式中,在所述基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中之后,所述方法包括:
32.在接收到针对所述实例文件的允许共享操作的情况下,控制所述实例文件的属性变为能够被其他终端获取的共享属性。
33.本公开实施例还提供一种数据同步装置,所述装置与集成开发环境ide通信连接,所述装置包括:
34.启动模块,用于响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口;
35.生成模块,用于在所述程序窗口中生成所述代码运行窗口;
36.显示模块,用于基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上;
37.存储模块,用于基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中。
38.一种可选的实施方式中,所述启动模块具体用于:
39.响应于在所述ide的用户开发界面上显示代码运行窗口,修改所述集成开发环境ide的启动参数;
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.本公开实施例提供的数据同步方法、装置、设备及存储介质,可以应用于集成开发环境ide,所述ide包括运行在服务器的容器和运行在终端上的用户开发界面,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成窗口管理程序的程序窗口,从而在程序窗口中生成代码运行窗口,以将程序窗口显示在ide的用户开发界面上,并且可以基于在代码运行窗口中添加和执行的运行内容,生成
实例文件,并将所述实例文件存储至所述容器中。
65.这样,通过预先修改代码运行窗口的启动进程,先运行窗口管理程序,并生成窗口管理程序的程序窗口,再在程序窗口中生成代码运行窗口,以实现运行代码运行窗口,实现对代码运行窗口与ide的参数隔离,从而可以对代码运行窗口中添加和执行的内容通过生成的实例文件进行备份和保存,以便通过实例文件恢复代码运行窗口以及与ide中其他代码运行窗口共享,可以提高ide的稳定性和安全性,增加ide的实用性和灵活性。
66.进一步的,对于连接于同一容器中的各终端,可以将各自的实例文件设置为共享属性,从而实现实例文件的共享,相应的,在打开代码运行窗口时,可以通过共享的实例文件,实现运行内容共享,便于多人开展工作协同和互动演示,有利于集成开发环境的动态管理。
67.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
68.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
69.图1示出了本公开实施例所提供的一种应用场景示意图;
70.图2示出了本公开实施例所提供的一种数据处理方法的流程图;
71.图3示出了本公开实施例所提供的另一种数据处理方法的流程图;
72.图4示出了本公开实施例所提供的数据同步方法中,内容恢复具体方法的流程图;
73.图5示出了本公开实施例所提供的数据同步方法中,窗口生成具体方法的流程图;
74.图6示出了本公开实施例所提供的数据同步方法中,内容共享具体方法的流程图;
75.图7示出了本公开实施例所提供的数据同步装置的示意图之一;
76.图8示出了本公开实施例所提供的一种数据同步装置的示意图之二;
77.图9示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
78.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
79.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
80.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
81.经研究发现,用户在开发软件时可以应用集成开发环境ide进行编码,所述ide包括运行在服务器的容器和运行在终端上的用户开发界面,用户可以通过网页端或者客户端的方式使用所述用户开发界面进行编码,所述用户开发界面一般包括文件列表、代码编辑窗口和代码运行窗口,针对代码运行窗口,在面临断电、断网、意外退出、刷新、重新启动等导致的中断情况时,在生成的代码运行窗口中,原来添加的内容不再显示,即新生成的代码运行窗口显示的内容是全新的,并不是中断前的,导致用户可能需要重新作业。
82.基于上述研究,本公开提供了一种数据同步方法、装置、设备及存储介质,通过预先修改代码运行窗口的启动进程,先运行窗口管理程序,并生成窗口管理程序的程序窗口,再在程序窗口中生成代码运行窗口,以实现运行代码运行窗口,实现对代码运行窗口与ide的参数隔离,从而可以对代码运行窗口中添加和执行的内容通过生成的实例文件进行备份和保存,以便通过实例文件恢复代码运行窗口以及与ide中其他代码运行窗口共享,可以提高ide的稳定性和安全性,增加ide的实用性和灵活性。
83.进一步的,对于连接于同一容器中的各终端,可以将各自的实例文件设置为共享属性,从而实现实例文件的共享,相应的,在打开代码运行窗口时,可以通过共享的实例文件,实现运行内容共享,便于多人开展工作协同和互动演示,有利于集成开发环境的动态管理。
84.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
85.为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
86.请参阅图1,图1为本公开实施例提供的一种应用场景示意图。如图1中所示,针对集成开发环境ide的应用场景,所述ide可以包括服务器和终端,可以理解,所述服务器和所述终端通信连接,需要说明的是,所述服务器中可以生成多个容器,用于管理所述ide内的资源、进程、文件等。进一步的,用户在终端进行代码编写时,可以应用所述集成开发环境ide的用户开发界面进行代码的编写和运行。可以理解,基于所述服务器和所述终端,构成所述集成开发环境ide,进一步的,所述用户开发界面可以是作为集成开发环境ide在前端进行呈现的一部分,即集成开发环境ide包括所述用户开发界面,所述容器可以是作为集成开发环境ide在后台进行存储的一部分。此外,由于所述终端可以和所述服务器通信连接,而所述服务器中建立有多个容器,因此,所述用户开发界面可以对应显示所述多个容器中的文件的内容,即所述用户开发界面可以显示所述ide内存储的文件的内容,以便可以供用户对所编写的代码和代码运行结果进行查看。
87.进一步的,针对所述集成开发环境ide在终端进行呈现的部分,存在网页端和客户端两种形式,针对网页端的形式,在终端侧可以通过网页的形式为用户呈现所述ide的用户开发界面,具体的,可以是从云端的数据库中的容器中获取文件,从而显示在网页形式的用户开发界面上;针对客户端的形式,在终端侧可以通过应用软件的形式为用户呈现所述ide的用户开发界面,具体的,可以是先确定与所述终端通信连接的服务器,然后从所述服务器的容器中获取文件,从而在用户终端安装的应用软件中显示所述用户开发界面。
88.请参阅图2,图2为本公开实施例提供的一种数据同步方法的流程图。如图2中所示,本公开实施例提供的数据同步方法包括:
89.s201:响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
90.该步骤中,在检测到针对所述ide的在用户开发界面上显示代码运行窗口的请求的情况下,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
91.可以理解,所述ide中保存有预先修改代码运行窗口的启动进程,这样,才可以在响应于显示所述代码运行窗口时,调用对应修改代码运行窗口的启动进程的程序,从而实现先运行所述窗口管理程序,再运行代码运行窗口。
92.其中,所述响应于在所述ide的用户开发界面上显示代码运行窗口,可以是检测到上述集成开发环境ide的线上网页或本地的应用软件被打开时,自动在所述ide的用户开发界面上显示代码运行窗口,也可以是在检测到用户的创建代码运行窗口的操作时,响应于用户的操作,进而在所述ide的用户开发界面上显示代码运行窗口,在此并不做任何限定。
93.其中,所述启动具有窗口复用能力的窗口管理程序,可以是通过修改所述ide所在的终端的启动参数来启动所述窗口管理程序,也可以是通过在所述ide所在的终端中执行命令行对应的命令来启动所述窗口管理程序。
94.其中,在实际编码场景下,所述具有窗口复用能力的窗口管理程序可以是例如screen程序、tmux程序等。
95.s202:在所述程序窗口中生成所述代码运行窗口。
96.该步骤中,响应于在所述ide的用户开发界面上显示代码运行窗口,原运行操作为直接生成代码运行窗口,并在所述ide的用户开发界面上显示所述代码运行窗口,由于此时已经生成所述窗口管理程序的程序窗口,所以可以在所述程序窗口中生成所述代码运行窗口。
97.这样,通过在所述程序窗口中生成所述代码运行窗口这种窗口嵌套的方式,后续可以基于所述窗口管理程序,对用户添加在所述代码运行窗口中的运行内容进行进一步的处理。
98.s203:基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上。
99.该步骤中,在生成所述程序运行窗口的情况下,可以基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上。
100.可以理解,所述代码运行窗口是在所述程序窗口中的,因此,基于所述程序窗口和所述代码运行窗口的嵌套关系,在所述ide的用户开发界面上显示所述程序窗口的同时,也
在显示所述程序窗口中的所述代码运行窗口。可以理解,在实际编码场景下,用户在所述代码运行窗口中添加的运行内容,实际上也显示在所述程序窗口中。
101.s204:基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中。
102.该步骤中,在检测到所述代码运行窗口中存在添加的运行内容的情况下,可以基于所述添加的运行内容,生成实例文件,并将所述实例文件存储至所述容器中。
103.这里,如图1中所示,由于终端和服务器的通信连接,所述实例文件可以保存在所述服务器中。可以理解,由于所述服务器包括有多个容器,因此,所述实例文件可以保存在所述容器中。
104.可以理解,所述实例文件即包括所述添加的运行内容的具体内容。
105.这里,所述运行内容,可以是具有实际业务逻辑的代码片段,例如可以是包括完整的、逻辑严密的代码片段,也可以是包括碎片化的、能够实现某一功能的代码片段等,还可以是体现编码逻辑的代码结构。
106.此外,为了便于统计和分类,所述实例文件可以基于其包括的代码片段能够实现的功能、写入的时间、版本,将所述实例文件分类保存,从而便于后续快速调用所述实例文件。
107.其中,为了将所述实例文件存储至所述容器中,可以在所述容器中预先设置用于存储所述实例文件的存储目录。
108.具体的,可以获取在所述代码运行窗口中添加的运行内容,基于所述运行内容生成实例文件,然后为所述程序窗口配置窗口环境参数,从而基于所述窗口环境参数,在所述容器中生成用于存储所述实例文件的存储目录,进而将所述实例文件写入所述容器中的存储目录中。
109.该步骤中,可以在检测到所述代码运行窗口中存在添加的运行内容的情况下,基于所述添加的运行内容生成实例文件,并将所述实例文件写入所述容器中的存储目录中,为此,可以预先为所述程序窗口配置窗口环境参数,从而可以设置用于存储实例文件的存储目录,以便将生成的实例文件写入所述容器中。
110.这里,所述为所述程序窗口配置窗口环境参数,可以是通过设置所述程序窗口的环境变量的方式,以达到为所述程序窗口配置窗口环境参数的目的。
111.这样,通过在所述程序窗口中生成所述代码运行窗口,利用窗口嵌套的方式,可以对所述代码运行窗口中添加的程序进行保存备份,并且可以防止进行内容备份的窗口和供用户进行编码的窗口发生冲突,以达到隔离的效果,进一步的,有效融合了进行内容备份的窗口和供用户进行编码的窗口的功能,不但可以供用户进行编码操作,并且后续在需要恢复时,可以快速获取实例文件,从而基于所述实例文件实现所述代码运行窗口中内容的恢复。
112.本公开实施例提供的数据同步方法,可以应用于集成开发环境ide,所述ide包括运行在服务器的容器和运行在终端上的用户开发界面,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成窗口管理程序的程序窗口,从而在程序窗口中生成代码运行窗口,基于所述窗口管理程序,将程序窗口显示在ide的用户开发界面上,并且可以基于在代码运行窗口中添加的运行内容,生成实例文
件,将实例文件存储至所述容器中。这样,通过预先修改代码运行窗口的启动进程,先运行窗口管理程序,并生成窗口管理程序的程序窗口,再在程序窗口中生成代码运行窗口,以实现运行代码运行窗口,实现对代码运行窗口与ide的参数隔离,从而可以对代码运行窗口中添加和执行的内容通过生成的实例文件进行备份和保存,以便通过实例文件恢复代码运行窗口以及与ide中其他代码运行窗口共享,可以提高ide的稳定性和安全性,增加ide的实用性和灵活性。
113.请参阅图3,图3为本公开实施例提供的另一种数据同步方法的流程图。如图3中所示,本公开实施例提供的数据同步方法包括:
114.s301:响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
115.s302:在所述程序窗口中生成所述代码运行窗口。
116.s303:基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上。
117.s304:基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中。
118.其中,步骤s301至步骤s304的描述可以参照步骤s201至步骤s204的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
119.s305:响应于生成新代码运行窗口,获取所述容器中存储的多个存储文件,所述多个存储文件包括所述实例文件。
120.这里,由于在之前的编码过程中,已经基于在所述代码运行窗口中添加的运行内容,生成实例文件并写入所述容器中的存储目录中,即对所述代码运行窗口中添加的运行内容进行了保存,可以理解,所述容器中存储有多个存储文件,所以,在响应于生成新代码运行窗口时,首先可以获取所述容器中存储的多个存储文件,可以理解,这里,所述多个存储文件包括所述实例文件,以对所述存储文件进行后续的处理。
121.需要说明的是,这里的所述需要生成新代码运行窗口的情况,可以指针对断电、断网、意外退出、刷新、重新启动等情况,需要重新启动终端侧的所述ide,进一步的,此时需要重新显示所述代码运行窗口中的内容,即生成新代码运行窗口。
122.可以理解,所述实例文件存储在如图1中所示的服务器的容器中,所以,所述获取所述容器中存储的多个存储文件,实际上是从服务器的容器中获取所述存储文件。
123.其中,所述容器中存储的多个存储文件可以包括与该容器相连接的所有终端存储在该容器中的存储文件。
124.s306:从获取到的多个存储文件中选择至少一个目标存储文件。
125.该步骤中,在获取所述容器中存储的多个存储文件的情况下,为了确定需要恢复显示的内容,可以从获取到的多个存储文件中选择至少一个目标存储文件。
126.可选地,针对选择所述目标存储文件,可以是将获取到的多个存储文件作为所述目标存储文件,还可以从获取到的多个存储文件中确定最新存储的存储文件作为所述目标存储文件,也可以是响应于用户的选择操作,将用户从获取到的多个存储文件中被选择的存储文件作为目标存储文件,在此并不做任何限定。
127.进一步的,在所述新代码运行窗口是对所述代码运行窗口进行刷新或重新加载后
得到的情况下,所述从获取到的多个存储文件中选择至少一个目标存储文件,包括:
128.针对获取到的多个存储文件,从所述多个存储文件中确定所述实例文件,将所述实例文件作为所述至少一个目标存储文件。
129.可以理解,刷新后的显示内容应该与刷新前的显示内容完全相同,因此所述目标存储文件为该终端存储在所述容器中的所述实例文件。
130.s307:在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容,其中,每个所述目标存储文件对应一个所述新代码运行窗口。
131.该步骤中,针对每个所述目标存储文件,可以生成一个新代码运行窗口,并且可以对所述目标存储文件进行解析,得到所述目标存储文件所记载的运行内容,从而在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容。
132.可以理解,这里,所述目标存储文件所记载的运行内容,即为该目标存储的文件对应的终端存储在所述容器中的运行内容。
133.其中,在实际编码场景下,每个所述存储文件对应一个文件标号,在获取所述存储文件之后,也可以获取所述存储文件的文件标号。
134.具体的,在确定所述目标存储文件之后,可以得到所述目标存储文件的目标文件标号,这里,所述多个存储文件包括所述实例文件,然后基于所述目标文件标号,修改所述ide的启动参数,从而可以基于修改后的启动参数,启动所述窗口管理程序,并生成所述窗口管理程序的程序窗口,进而可以在所述程序窗口中生成新代码运行窗口,并在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容。
135.其中,在得到所述目标文件标号的情况下,可以修改所述ide的启动参数,可选地,可以是通过修改所述ide的运行指令的方式,使所述目标文件标号添加至所述启动参数,还可以是通过增加新的运行指令的方式,以使所述目标文件标号添加至所述启动参数,从而实现修改所述ide的启动参数。
136.可以理解,在实际编码场景下,可能存在所述i容器中存储有大量存储文件的情况,通过获取所述存储文件的文件标号的方式,可以实现根据所述文件标号来核对所述存储文件,避免出现针对大量存储文件的遗漏情况。
137.示例性的,请参阅图4,图4为本公开实施例所提供的数据同步方法中,内容恢复具体方法的流程图。如图4中所示,以集成开发环境ide中的存储目录中保存有三个实例文件为例,在响应于生成新代码运行窗口时,可以从所述ide中的容器中获取所有的存储文件,进而选择需要显示的目标存储文件,针对每个目标存储文件,对应生成一个新代码运行窗口,进而可以启动所述窗口管理程序,并生成所述窗口管理程序的程序窗口,从而可以在所述程序窗口中显示所述新代码运行窗口,同时在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容。
138.可以理解,每个终端存储在所述容器中的所述实例文件的数量可以是一个、两个或者多个,对此并不做限定,可以保存所述代码运行窗口中添加的所有运行内容即可。
139.接下来,将结合一些具体实施方式进一步对本实施例进行说明。
140.一些可能的实施方式中,所述响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口,包括:
141.响应于在所述ide的用户开发界面上显示代码运行窗口,修改所述集成开发环境ide的启动参数;
142.基于修改后的启动参数,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
143.该步骤中,在检测到在所述ide的用户开发界面上显示代码运行窗口的请求的情况下,可以修改所述集成开发环境ide的启动参数,在修改所述运行指令的情况下,可以启动所述窗口管理程序,由于所述窗口管理程序在启动的同时会生成所述窗口管理程序的程序窗口,因此可以将所述程序窗口显示在所述ide的用户开发界面上。
144.其中,所述修改所述集成开发环境ide的启动参数,可以是通过修改所述ide的运行指令的方式,还可以是通过增加新的运行指令的方式,以实现修改所述ide的启动参数。
145.进一步的,通过修改所述集成开发环境ide的运行指令,实现了修改所述ide的shell,可以理解,修改后的shell和修改前的shell的区别为修改后的shell启动了具有窗口复用能力的窗口管理程序。
146.一些可能的实施方式中,所述方法包括:
147.为所述程序窗口配置窗口控制参数;
148.基于所述窗口控制参数,在所述程序窗口中生成内容滚动控件和窗口调节控件。
149.该步骤中,为了使所述程序窗口实现具有模拟真实窗口的能力,可以为所述程序窗口配置窗口控制参数,通过所述窗口控制参数的配置,在所述程序窗口中可以生成内容滚动控件和窗口调节控件,使得所述程序窗口具有滚动能力和自动适应窗口大小的能力。
150.进一步的,所述内容滚动控件和窗口调节控件可以供用户进行操作,以对所述程序窗口进行滚动调节和窗口大小调节。
151.一些可能的实施方式中,所述方法包括:
152.为所述程序窗口配置窗口名称参数;
153.基于所述窗口名称参数,检测当前活跃于所述代码运行窗口中的活跃程序;
154.确定所述活跃程序的名称,将所述活跃程序的名称作为所述程序窗口的名称。
155.该步骤中,为了便于用户快速得知当前活跃的程序,可以将所述活跃程序的名称作为所述程序窗口的名称,为此,可以为所述程序窗口配置窗口名称参数,通过所述窗口名称参数的配置,可以实时检测当前活跃于所述代码运行窗口中的活跃程序,并且获取所述活跃程序的名称,从而将所述活跃程序的名称作为所述程序窗口的名称,显示在所述ide的用户开发界面上。
156.示例性的,当用户在所述代码运行窗口中执行了vim编辑器,基于所述窗口名称参数,所述程序窗口的名称可以被更新为vim的字样。
157.其中,在实际编码场景下,可以应用pstree命令,以树状图的形式显示所述活跃程序,即获取所述活跃程序的进程树,从而可以取得所述进程树的末端节点,作为所述程序窗口的名称。
158.示例性的,请参阅图5,图5为本公开实施例所提供的数据同步方法中,窗口生成具体方法的流程图。如图5中所示,在检测到针对所述ide的在用户开发界面上显示代码运行窗口的请求的情况下,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口,从而在所述窗口
管理程序中生成代码运行窗口,进一步的,可以为所述程序窗口配置窗口环境参数、窗口控制参数以及窗口名称参数,实现可以生成存储实例文件的存储目录,也可以使得所述程序窗口具有模拟真实窗口的能力,还可以为所述程序窗口设定名称。
159.一些可能的实施方式中,在所述基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中之后,所述方法包括:
160.在接收到针对所述实例文件的允许共享操作的情况下,控制所述实例文件的属性变为能够被其他终端获取的共享属性。
161.该步骤中,各个用户在各自终端的用户开发界面进行代码的编写时,编写的内容可以转换为实例文件被保存在所述容器中,因此,每个用户可以设置自己保存的实例文件的属性,在接收到针对所述实例文件的共享操作的情况下,控制所述实例文件的属性变为能够被其他终端获取的共享属性,进一步的,在其他终端获取该具有共享属性的所述实例文件后,可以对所述实例文件进行解析,并将所述实例文件的内容显示在其他终端中的用户开发界面上,以供其他终端的使用者对所述实例文件的内容进行查看。
162.进一步的,每个终端也可以响应于用户的操作,获取被其他用户设置为具有共享属性的实例文件。
163.可以理解,若用户a将其编写的内容设置为允许共享的情况下,该内容会被存储至与用户a的终端连接的、服务器中的容器中,可以理解,只要用户b的终端也连接该容器,即可获取用户a分享的内容。
164.其中,针对所述集成开发环境ide在终端进行呈现的部分,存在网页端和客户端两种形式,针对网页端的形式,可以是通过用户a向用户b分享链接的方式实现内容的共享;针对客户端的形式,可以是用户a将其终端连接的容器的相关信息告知给用户b,用户b在确定所述相关信息后,可以通过执行命令操作的方式,使用户b使用的终端和用户a使用的终端连接至服务器中的同一容器中,从而实现内容的共享。
165.示例性的,请参阅图6,图6为本公开实施例所提供的数据同步方法中,内容共享具体方法的流程图。如图6中所示,以用户b和用户c共享用户a编写的程序为例,只要用户a、用户b和用户c各自的终端连接所述ide的服务器中的同一容器,就可实现内容共享。
166.本公开实施例提供的数据同步方法,可以应用于集成开发环境ide,所述ide包括运行在服务器的容器和运行在终端上的用户开发界面,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成窗口管理程序的程序窗口,从而在程序窗口中生成代码运行窗口,基于所述窗口管理程序,将程序窗口显示在ide的用户开发界面上,并且可以基于在代码运行窗口中添加的运行内容,生成实例文件,将实例文件存储至所述容器中。这样,通过预先修改代码运行窗口的启动进程,先运行窗口管理程序,并生成窗口管理程序的程序窗口,再在程序窗口中生成代码运行窗口,以实现运行代码运行窗口,实现对代码运行窗口与ide的参数隔离,从而可以对代码运行窗口中添加和执行的内容通过生成的实例文件进行备份和保存,以便通过实例文件恢复代码运行窗口以及与ide中其他代码运行窗口共享,可以提高ide的稳定性和安全性,增加ide的实用性和灵活性。进一步的,对于连接于同一容器中的各终端,可以将各自的实例文件设置为共享属性,从而实现实例文件的共享,相应的,在打开代码运行窗口时,可以通过共享的实例文件,实现运行内容共享,便于多人开展工作协同和互动演示,有利于集成开发环境的动态
管理。
167.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
168.基于同一发明构思,本公开实施例中还提供了与数据同步方法对应的数据同步装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据同步方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
169.请参阅图7和图8,图7为本公开实施例提供的一种数据同步装置的示意图之一,图8为本公开实施例提供的一种数据同步装置的示意图之二。
170.如图7中所示,本公开实施例提供的数据处理装置700包括:
171.启动模块710,用于响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口;
172.生成模块720,用于在所述程序窗口中生成所述代码运行窗口;
173.显示模块730,用于基于所述窗口管理程序,将所述程序窗口显示在所述ide的用户开发界面上;
174.存储模块740,用于基于在所述代码运行窗口中添加的运行内容,生成实例文件,将所述实例文件存储至所述容器中。
175.一种可选的实施方式中,所述启动模块710具体用于:
176.响应于在所述ide的用户开发界面上显示代码运行窗口,修改所述集成开发环境ide的启动参数;
177.基于修改后的启动参数,启动具有窗口复用能力的窗口管理程序,并生成所述窗口管理程序的程序窗口。
178.一种可选的实施方式中,所述存储模块740具体用于:
179.获取在所述代码运行窗口中添加的运行内容,基于所述运行内容生成实例文件;
180.为所述程序窗口配置窗口环境参数;
181.基于所述窗口环境参数,在所述容器中生成用于存储所述实例文件的存储目录;
182.将所述实例文件写入所述容器中的存储目录中。
183.一种可选的实施方式中,如图8中所示,所述装置还包括第一配置模块750、第二配置模块760、运行模块770以及共享模块780,所述第一配置模块750用于:
184.为所述程序窗口配置窗口控制参数;
185.基于所述窗口控制参数,在所述程序窗口中生成内容滚动控件和窗口调节控件。
186.所述第二配置模块760用于:
187.为所述程序窗口配置窗口名称参数;
188.基于所述窗口名称参数,检测当前活跃于所述代码运行窗口中的活跃程序;
189.确定所述活跃程序的名称,将所述活跃程序的名称作为所述程序窗口的名称。
190.所述运行模块770用于:
191.响应于生成新代码运行窗口,获取所述容器中存储的多个存储文件,所述多个存储文件包括所述实例文件;
192.从获取到的多个存储文件中选择至少一个目标存储文件;
193.在所述新代码运行窗口中显示所述目标存储文件所记载的运行内容,其中,每个所述目标存储文件对应一个所述新代码运行窗口。
194.一种可选的实施方式中,在所述新代码运行窗口是对所述代码运行窗口进行刷新或重新加载后得到的情况下,所述运行模块770在用于从获取到的多个存储文件中选择至少一个目标存储文件时,具体用于:
195.针对获取到的多个存储文件,从所述多个存储文件中确定所述实例文件,将所述实例文件作为所述至少一个目标存储文件。
196.所述共享模块780用于:
197.在接收到针对所述实例文件的允许共享操作的情况下,控制所述实例文件的属性变为能够被其他终端获取的共享属性。
198.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
199.本公开实施例提供的数据同步装置,可以与集成开发环境ide的服务器和终端通信连接,可以响应于在所述ide的用户开发界面上显示代码运行窗口,启动具有窗口复用能力的窗口管理程序,并生成窗口管理程序的程序窗口,从而在程序窗口中生成代码运行窗口,基于所述窗口管理程序,将程序窗口显示在ide的用户开发界面上,并且可以基于在代码运行窗口中添加的运行内容,生成实例文件,将实例文件存储至所述容器中。这样,通过预先修改代码运行窗口的启动进程,先运行窗口管理程序,并生成窗口管理程序的程序窗口,再在程序窗口中生成代码运行窗口,以实现运行代码运行窗口,实现对代码运行窗口与ide的参数隔离,从而可以对代码运行窗口中添加和执行的内容通过生成的实例文件进行备份和保存,以便通过实例文件恢复代码运行窗口以及与ide中其他代码运行窗口共享,可以提高ide的稳定性和安全性,增加ide的实用性和灵活性。进一步的,对于连接于同一容器中的各终端,可以将各自的实例文件设置为共享属性,从而实现实例文件的共享,相应的,在打开代码运行窗口时,可以通过共享的实例文件,实现运行内容共享,便于多人开展工作协同和互动演示,有利于集成开发环境的动态管理。
200.对应于图2和图3中的数据同步方法,本公开实施例还提供了一种电子设备900,如图9所示,为本公开实施例提供的电子设备900结构示意图,包括:
201.处理器910、存储器920、和总线930;存储器920用于存储执行指令,包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器910中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器910通过内存921与外部存储器922进行数据交换,当所述电子设备900运行时,所述处理器910与所述存储器920之间通过总线930通信,使得所述处理器910可以执行上述的数据同步方法的步骤。
202.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据同步方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
203.本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的数据同步方法的步骤,具体可参见上述方法实施例,在此不再赘述。
204.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个
可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
205.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、设备及存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的方法、装置、设备及存储介质,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
206.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
207.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
208.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
209.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1