CN110941425A - 图形化协同编程方法、装置和系统、服务器及存储介质 - Google Patents
图形化协同编程方法、装置和系统、服务器及存储介质 Download PDFInfo
- Publication number
- CN110941425A CN110941425A CN201811113358.XA CN201811113358A CN110941425A CN 110941425 A CN110941425 A CN 110941425A CN 201811113358 A CN201811113358 A CN 201811113358A CN 110941425 A CN110941425 A CN 110941425A
- Authority
- CN
- China
- Prior art keywords
- account
- programming
- shared space
- synchronization information
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例涉及一种图形化协同编程方法、装置和系统、服务器及存储介质,该方法包括获取第一编程操作;基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。本公开实施例通过在不同账户之间共享编程操作,将获取的编程操作同步至自己的账户,能够实现多个账户在同一编程界面共同执行编程操作,增加了图形化编程操作的协同性,提高了用户的图形化编程体验。
Description
技术领域
本公开实施例涉及互联网技术领域,尤其涉及一种图形化协同编程方法、装置和系统、服务器及存储介质。
背景技术
随着计算机技术的发展,图形化编程技术日渐普及,图形化编程技术是一种模块化编程技术,其相对传统文本编程而言采用图形化语言描述程序实体以及它们之间的关系。在图形化编程中,通过对各种编程模块操作,实现程序的编写。
现有技术中,每个图形化编程系统都是独立的。一个账户只能在一个编程界面进行编程,并且只能通过各自的编程信息显示编程结果。例如在图形化编程教学场景时,学员只能在各自的终端中进行图形化编程,无法实现学员之间或者学员与教师之间的图形化编程操作的互动,导致互动体验不佳,且无法协同编程。即现有技术中,存在账户之间不能协同编程且互动性差的缺陷。
发明内容
有鉴于此,本公开实施例提出了一种图形化协同编程方法、装置和系统、服务器及存储介质。本公开实施例能够实现多个账户在同一编程界面共同执行编程操作,增加了图形化编程操作的协同性,提高了用户的图形化编程体验。
根据本公开实施例的第一方面,提供了一种图形化协同编程方法,其特征在于,包括:
基于第一账户,获取第一编程操作;
基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一种可能的实现方式中,所述获取第一编程操作包括:
接收在图形化编程界面的第一编程指令,所述第一编程指令包括添加图形指令、删除图形指令、编辑图形指令中的至少一种;
基于所述第一编程指令获取所述第一编程操作。
在一种可能的实现方式中,所述基于所述第一编程操作生成第一同步信息,包括:
在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者
根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
在一种可能的实现方式中,所述发送所述第一同步信息包括:
获取与所述第一账户位于相同共享空间的第二账户的地址信息;
根据所述地址信息向所述第二账户发送所述第一同步信息。
在一种可能的实现方式中,所述发送所述第一同步信息包括:
获取共享空间的标识信息;
向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
在一种可能的实现方式中,所述方法还包括:
基于接收的第一账户的账户信息向所述服务器发送第一登录请求;
若接收到表示第一登录请求验证通过的第一返回信息,则向所述服务器发送第一共享空间分配请求;
接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息,并基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识;
加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
在一种可能的实现方式中,所述方法还包括:
接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作对应的第二编程指令或者包括基于所述第二编程操作的编程结果;
基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
根据本公开实施例的第二方面,提供了一种图形化协同编程方法,其特征在于,包括:
接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与第二账户位于相同共享空间的第一账户获取的第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一种可能的实现方式中,所述共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户包括下列方式中的至少一种:
获取所述第一编程操作对应的第一编程指令,执行所述第一编程指令;
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
在一种可能的实现方式中,所述接收用于同步图形化编程操作的第一同步信息包括:
从所述第一账户的地址或者服务器接收所述第一同步信息。
在一种可能的实现方式中,所述方法还包括:
基于接收的第二账户的账户信息向所述服务器发送第二登录请求;
若接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求;
接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息,并基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识;
加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
在一种可能的实现方式中,所述方法还包括:
获取第二编程操作;
基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
根据本公开实施例的第三方面,提供了一种图形化协同编程方法,该方法用于服务器,其特征在于,包括:
获取至少一个第一账户的第一同步信息;
确定与所述至少一个第一账户处于相同共享空间的各第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
将所述第一账户的第一同步信息发送至第二账户。
在一种可能的实现方式中,所述方法还包括:
接收基于至少一个账户发送的登录请求,并基于所述登录请求中的账户信息对所述登录请求进行验证;
若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
在一种可能的实现方式中,所述方法还包括:
接收基于所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
在一种可能的实现方式中,所述根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间包括:
获取所述共享空间请求中的账户的标识信息;
基于所述共享空间请求中的账户的标识信息,确定与该标识信息对应的预约编程项目;
为具有相同预约编程项目的各账户分配相同的共享空间。
根据本公开实施例的第四方面,提供了一种图形化协同编程装置,其特征在于,包括:
获取模块,其配置为基于第一账户,获取第一编程操作;
生成模块,其配置为基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
通信模块,其配置为发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一种可能的实现方式中,所述获取模块还配置为通过接收在图形化编程界面的第一编程指令获取所述第一编程操作,所述第一编程指令包括添加图形指令、删除图形指令、编辑图形指令中的至少一种。
在一种可能的实现方式中,所述生成模块还配置为在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者
根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
在一种可能的实现方式中,所述获取模块还配置为获取与所述第一账户位于相同共享空间的第二账户的地址信息;
所述通信模块还配置为根据所述地址信息向所述第二账户发送所述第一同步信息。
在一种可能的实现方式中,所述获取模块还配置为获取共享空间的标识信息;
所述通信模块还配置为向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
在一种可能的实现方式中,所述装置还包括:
登录模块,其配置为基于接收的第一账户的账户信息生成第一登录请求,以及在接收到表示第一登录请求验证通过第一返回信息时,生成第一共享空间分配请求;
所述通信模块还配置为向服务器发送第一登录请求,以及向所述服务器发送第一共享空间分配请求,并接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息;
加入模块,其配置为基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识,并加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
在一种可能的实现方式中,所述通信模块还配置为接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作或者包括基于所述第二编程操作的编程结果;
所述装置还包括:
同步模块,其配置为基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
根据本公开实施例的第五方面,提供了一种图形化协同编程装置,其特征在于,包括:
通信模块,其配置为接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与所述第二客户位于相同共享空间的第一账户获取的第一编程操作或者包括基于所述第一编程操作生成的编程结果;
同步模块,其配置为基于所述第一同步信息,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一种可能的实现方式中,所述同步模块还配置为通过下列方式中的至少一种共享所述第一同步信息:
获取所述第一编程操作对应的第一编程指令,并执行所述第一编程指令;
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
在一种可能的实现方式中,所述通信模块还配置为从所述第一账户的地址或者服务器接收所述第一同步信息。
在一种可能的实现方式中,所述装置还包括:
登录模块,其用于获取第二账户信息,并基于所述第二账户信息生成第二登录请求,并基于所述服务器返回的表示所述第二登录请求验证通过的第二返回信息,则生成第二共享空间分配请求;
所述通信模块还配置为向所述服务器发送第二登录请求,以及若所述通信模块接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求,以及接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息;
加入模块,其配置为基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识,并加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
在一种可能的实现方式中,所述装置还包括:
获取模块,其配置为获取第二编程操作;
生成模块,其配置为基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
所述通信模块还配置为发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
根据本公开实施例的第六方面,提供了一种服务器,其特征在于,包括:
获取模块,其配置为获取至少一个第一账户的第一同步信息;
确定模块,其配置为确定与所述至少一个第一账户处于相同共享空间的第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
通信模块,其配置为将所述第一账户的第一编同步信息发送至第二账户。
在一种可能的实现方式中,所述通信模块还配置为接收至少一个账户发送的登录请求;
所述服务器还包括验证模块,其配置为基于所述登录请求中的账户信息对所述登录请求进行验证;
所述通信模块还配置为若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
在一种可能的实现方式中,所述服务器还包括:
接收模块,其配置为接收所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
分配模块,其配置为根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
所述通信模块还配置为向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
在一种可能的实现方式中,所述获取模块还配置为获取所述共享空间请求中的账户的标识信息;
所述分配模块还配置为基于服务器中存储的各账户的标识信息和预约课程的对应关系,为具有相同预约课程的各账户分配共享空间。
根据本公开实施例的第七方面,提供了一种图形化协同编程系统,其特征在于,所述系统包括:
至少一个客户端,其用于获取第一编程操作,并基于所述第一编程操作生成第一同步信息,并发送所述第一同步信息,其中所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
服务器,其用于获取所述第一同步信息,并根据发送所述第一同步信息的客户端所在的共享空间,将所述第一同步信息发送给该共享空间内的其余客户端,以使所述共享空间内的各客户端共享该第一同步信息。
根据本公开实施例的第八方面,一种图形化协同编程装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面的方法,或者执行上述第二方面的如方法,或者执行上述第三方面的方法。
根据本公开实施例的第九方面,一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行上述第一方面的方法,或者上述第二方面的方法,或者上述第三方面的方法。
本公开实施例终端能够基于第一账户,获取第一编程操作,基于所述第一编程操作生成第一同步信息,并发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息。其中,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。通过上述配置,本公开实施例可以通过发送同步信息的方式将该同步信息中的编程指令或基于该编程指令生成的操作结果在位于相同共享空间的账户之间共享,并将共享的编程结果加载到自己账户的图形化编程界面。能够实现多个账户在同一编程界面共同执行编程操作,增加了图形化编程操作的协同性,提高了用户的图形化编程体验。
根据下面参考附图对示例性实施例的详细说明,本公开实施例的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开实施例的示例性实施例、特征和方面,并且用于解释本公开实施例的原理。
图1示出根据本公开一实施例的图形协同编程方法的流程图。
图2示出根据本公开一实施例的发送所述第一同步信息的流程图。
图3示出根据本公开一实施例的发送所述第一同步信息的另一流程图。
图4示出根据本公开一实施例的图形协同编程方法的流程图。
图5示出根据本公开一实施例的图形协同编程方法的流程图。
图6示出根据本公开一实施例的图形协同编程方法的流程图。
图7示出根据本公开一实施例的图形协同编程方法的流程图。
图8示出根据本公开一实施例的图形协同编程方法的流程图。
图9示出根据本公开一实施例的图形协同编程方法的流程图。
图10示出根据本公开一实施例的图形协同编程方法的流程图。
图11示出根据本公开一实施例的图形协同编程方法的流程图。
图12示出根据本公开一实施例的根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间的流程图。
图13示出根据本公开一实施例的图形化协同编程装置的框图。
图14示出根据本公开一实施例的图形化协同编程装置的框图。
图15示出根据本公开一实施例的图形化协同编程装置的框图。
图16示出根据本公开一实施例的图形化协同编程装置的框图。
图17示出根据本公开一实施例的图形化协同编程装置的框图。
图18示出根据本公开一实施例的图形化协同编程装置的框图。
图19示出根据本公开一实施例的服务器的框图。
图20示出根据本公开一实施例的服务器的框图。
图21示出根据本公开一实施例的服务器的框图。
图22示出根据本公开一实施例的图形化协同编程系统的框图。
图23示出根据本公开一实施例的图形化协同编程装置的框图。
图24示出根据本公开一实施例的图形化协同编程装置的框图。
具体实施方式
以下将参考附图详细说明本公开实施例的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开实施例,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开实施例同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开实施例的主旨。
在一种可能的应用场景中,本公开实施例可以实现多个终端之间的图形化协同编程,该多个终端可以是至少两个终端。在一种可能的实现方式中,可以实现第一终端与各第二终端之间的图形化协同编程,其中第一终端和各第二终端可以使用账户登录到图形化协同编程平台,在图形化协同编程平台上进行图形化编程操作。其中图形化协同编程平台可以是指应用程序,其具有可以执行图形化编程操作的图形化编程界面。在第一终端或各第二终端中使用账户通过应用程序登录到图形化协同编程平台,在提供的图形化协同编程界面上编程。每个账户的图形化编程操作结果都将被同步至其他账户,基于其他账户的终端在本地的图形化编程界面上同步显示共享的图形化编程结果,实现共同编程的目的。
其中第一终端和各第二终端可以为任意的手持终端或者便携式终端,例如,计算机、手机或平板电脑等,本公开对此不进行限制,只要能够执行本公开实施例方法的设备都可以作为上述终端。
在一种可能的场景中,第一终端和第二终端可以直接通信或通过服务器通信,当第一终端和第二终端直接通信时,该通信方式可以采用有线或无线形式的点对点对等通信,例如蓝牙、ad hoc自组网、mesh等,当第一终端和第二终端通过服务器通信时,该通信方式可以采用任何有线或无线的能够支持服务器通信功能的组网形式,例如局域网或因特网等,本公开实施例不对作具体进行限制。
以上场景仅是为了说明本公开实施例应用的一个实例,本公开在此不进行限制。
图1是根据本公开一实施例的图形化协同编程方法的流程图,如图1所示,本公开实施例的图形化协同编程方法可以包括以下步骤。
步骤S1100,基于第一账户,获取第一编程操作;
步骤S1200,基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
步骤S1300,发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
本公开实施例提供的图形化协同编程方法可以应用在终端中,该终端可以包括手机、计算机等任意能够执行图形化编程操作的设备中,本公开实施例对此不进行限定。例如为了方便说明,本公开实施例以应用本公开实施例所提供的方法为第一终端为例进行说明。
下面分别对本公开实施例的各步骤过程进行详细说明。
步骤S1100,基于第一账户,获取第一编程操作。
其中,第一账户可以是在图形化协同编程平台上注册的任意一个账户,也可以是在图形化协同编程平台上具有登录权限的任意一个账户。其中第一账户可以是由数字和/或字符组成的标识符,本公开对此不作限定。
基于第一账户,用户可以登录第一终端上的图形化编程操作应用程序,在该应用程序提供的图形化编程操作界面上执行图形化编程操作。
在一种可能的实现方式中,通过第一账户登录图形化协同编程平台后,用户可以在图形化编程界面下执行第一编程操作,继而第一终端可以获取该第一编程操作。本公开实施例获取第一编程操作的方式可以包括接收第一账下的第一编程指令。该第一编程指令可以包括添加图形指令、删除图形指令、编辑图形指令(改变图形大小、改变图形的显示状态等),但本公开实施例不限于此,只要是执行的图形化编程操作都可以生成对应的编程指令。例如,可以通过点击第一终端的图形化编程界面上的图形元素,从而执行编辑操作,第一终端可以接收相应的删除图形指令或者编辑图形指令,或者也可以直接在图形化编程界面上执行添加图形操作,第一终端可以接收该添加图形指令。在接收到图形化编程指令后,第一终端可以执行上述指令并在图形化操作界面上产生相应的删除、编辑或者添加元素的编程结果。上述仅为编辑操作的示例性说明,本公开实施例不限于此。可选地,基于第一编程操作,可以在第一终端的图形化编程操作界面上执行与编程项目相应的图形化编程操作,实现图形化编程的目的。
步骤S1200,基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果。
第一终端可以基于步骤S1100中获取的第一编程操作生成第一同步信息,其中第一同步信息可以包括第一编程操作对应的第一编程指令或者包括基于该第一编程操作生成的编程结果。
当第一同步信息包括第一编程操作对应的第一编程指令时,第一终端可以直接获取第一编程操作对应的第一编程指令,用于生成第一同步信息。
当第一同步信息包括基于该第一编程操作生成的编程结果时,第一终端可以先获取第一编程操作对应的第一编程指令,执行该第一编程指令以获得与第一编程操作相应生成的编程结果,根据该编程结果用于生成第一同步信息。即第一终端也可以直接获取基于第一编程操作生成的编程结果,用于生成第一同步信息。
在一种可能的实现方式中,第一终端基于所述第一编程操作生成第一同步信息,可以包括:
在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
即本公开实施例中,第一终端可以获得单次的第一编程操作,基于该单次的第一编程操作生成的编程结果获取所述第一同步信息。也可以预先设定一定的预设时间范围,在该预设时间范围内,接收全部的第一编程操作生成的编程结果,用于获取第一同步信息,该第一同步信息包括了预设时间内所有的第一编程操作生成的编程结果的总和。。其中,预设时间可以为任意的时间间隔,本领域技术人员可以根据需求自行设定,例如可以是1分钟、10分钟,本公开对此不进行限制。
另外,本公开实施例中的第一同步信息中还可以包括第一账户的信息,或者也可以包括第一账户所在的共享空间的信息,其中共享空间是指通过图形化编程操作完成共同的编程项目的编程空间,该共享空间内可以包括多个账户,该多个账户可以执行共同的编程项目中的不同部分,以协同完成该共同的编程项目。
以上基于所述第一编程操作生成第一同步信息的具体方式本公开实施例不进行具体限定。
可选地,第一同步信息还可以包括第一账户的信息,该第一账户的信息可以用于唯一标识第一账户。第一账户的信息可以是第一账户的标识,例如ID,也可以是第一账户的通信地址,例如IP地址。根据第一同步信息中的第一账户的地址信息,可以准确识别哪个账户发送的第一同步信息。
步骤S1300,发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
本公开实施例中,第一账户和各第二账户在图形化协同编程平台上都预定有相同的编程项目,系统后台可以为预定相同的编程项目的第一账户和各第二账户分配相同的共享空间,该共享空间可以是预定相同的编程项目的各账户的集群用于共同编程的操作界面,第一账户和各第二账户在该共享空间内共同对相同编程项目进行图形化编程操作,第一账户和各第二账户执行的图形化编程结果可以通过协同共享的方式在同一界面显示。
第一终端基于第一编程操作生成第一同步信息后,可以发送第一同步信息,以使得登录第二终端的与第一账户处于相同共享的各第二账户共享该第一同步信息。其中,其中第一终端和第二终端可以是相同的终端,也可以是不同的终端。第一账户和第二账户是不同的账户,具有不同的标识符。同理,第二账户可以通过在第二终端上执行图形化编程操作,通过与第一账户共享编程结果或者编程指令,完成编程项目的协同操作。其中第二终端可以是与第一终端不同的终端,即可以通过两个账户分别在两个终端上完成各自的编程操作,并相互共享对方的编程结果或编程指令。另外,第一终端和第二终端也可以是相同的终端,即在同一个终端设备上登录两个账户,完成两部分编程操作,并可以相互共享编程结果或编程指令。另外,本公开实施例对第一账户和第二账户的数量不作限定,即共享空间内可以包括至少两个账户共同完成同一编程项目。
另外,根据本公开实施例,第一终端基于第一账户可以获取第一编程操作,并基于该第一编程操作生成第一同步信息,将第一同步信息中的第一编程指令或者基于第一编程操作生成的编程结果,发送给与第一账户位于相同共享空间的各第二账户,使得各第二账户可以共享第一同步信息,第二账户可以根据共享的第一同步信息获取第一编程指令,并通过执行该第一编程指令共享第一账户的编程结果,或者也可以获取第一同步信息中的第一账户的图形化编程结果,以共享第一账户的编程结果。其中,可以将编程结果同步显示在自己的图形化操作界面。通过上述配置可以实现多个账户对相同的编程项目共同执行编程操作,增加了图形化编程操作的协同性,提高了用户的图形化编程体验。
本公开实施例中的,第一账户和第二账户可以直接通信,也可以通过服务器进行通信。
在一种可能的实现方式中,第一账户和第二账户可以直接通信时,图2示出根据本公开一实施例的发送所述第一同步信息的流程图(步骤S1300)。如图2所示,发送所述第一同步信息可以包括以下步骤:
步骤S1310,获取与所述第一账户位于相同共享空间的第二账户的地址信息;
步骤S1320,根据所述地址信息向所述第二账户发送所述第一同步信息。
本公开实施例中,在通过第一终端发送第一同步信息时,可以先获取各第二账户的地址信息,该地址信息可以是第二账户的标识,例如由数字和或字符组成的标识符组合,也可以是第二账户的通信地址,例如IP地址。其中,位于相同共享空间的各账户可以关联的存储有其余账户的信息,例如账户的标识、地址等信息,以便于各账户之间的通信。
其中,第一终端可以在本地存储被分配的共享空间的标识信息与被分配至该共享空间的各账户的地址信息的对应关系,第一终端可以根据第一账户查询相应的处于相同共享空间的第二账户的地址信息,根据该地址信息指向该地址信息的各第二账户发送第一同步信息,使得登录各第二账户的第二终端可以接收和共享所述第一同步信息,并根据该第一同步信息同步第一账户的第一编程操作。
需要说明书的是,以上实施方式仅作为示例,并不限定第一终端和第二终端直接通信时才执行的实施方式,也可以是第一终端和第二终端通过服务器通信时可以执行的实施方式。通过上述配置第一终端可以准确直接的识别与第一账户处于相同共享空间的各第二账户,将第一同步信息直接发送至确定的各第二账户,使得第二账户根据接收到的第一同步信息在本地的图形化编程操作界面上同步第一账户的编程操作,实现多个账户在同一编程界面共同执行编程操作的效果。
在一种可能的实现方式中,例如当第一终端和第二终端通过服务器通信时,图3示出根据本公开一实施例的发送所述第一同步信息的另一流程图(步骤S1300)。如图3所示,发送所述第一同步信息可以包括以下步骤:
步骤S1311,获取共享空间的标识信息;
在本公开实施例中,共享空间可以由服务器根据各账户预约的编程项目分配,只有预约相同编程项目的账户可以被分配相同的共享空间。当共享空间被分配成功后,第一账户可以在被分配的共享空间内与各第二账户共享图形化编程操作。
在一种可能的实现方式中,共享空间被分配的同时也被服务器分配标识信息,该标识信息可以唯一标识该共享空间的共享空间标识,该标识信息可以是标识符ID,但本公开实施例不限于此。可选地,共享空间被分配的同时,服务器相应地可以在本地存储对应的共享空间的标识信息与被分配至与该共享空间的标识信息的各账户的信息,该各账户的信息可以是账户的标识信息,例如第一账户和各第二账户ID,也可以是该账户的通信地址,例如第一账户和各第二账户的IP地址。服务器可以将分配的共享空间的标识以及在本地存储的共享空间的标识信息与被分配至该共享空间的各账户的信息发送给被分配给相应共享空间的各个账户,从而在终端上登录账户时可以获取相同共享空间内的其余账户的信息以及共享空间的标识。
第一终端可以根据从服务器接收的共享空间的标识信息与被分配至该共享空间的各账户的信息,获取共享空间的标识信息。
步骤S1312,向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
在一种可能的实现方式中,第一终端可以向与第一账户通信连接的服务器发送所述第一同步信息和获取的共享空间的标识信息,使得服务器可以根据该共享空间的标识信息确定第一账户所处的唯一共享空间,并确定与第一账户处于相同共享空间的各第二账户的信息,以确定与第一账户处于相同共享空间的各第二账户的地址信息,从而将第一同步信息发送至各第二账户
可选地,本公开实施例也可以根据在本地存储的共享空间的标识与共享空间内的各账户信息,获取与第一账户处于相同共享空间的各第二账户的信息,确定与第一账户处于相同共享空间的各第二账户的地址信息,并将第一同步信息和该各第二账户的地址信息发送至服务器,服务器可以根据地址信息将第一同步信息共享发送至各第二账户。
通过上述配置可以通过服务器将第一账户的编程操作对应的第一同步信息发送至第二账户,使得第二账户根据接收到的第一同步信息在本地的图形化操作界面上同步第一账户的编程操作,实现多个账户协同编程的效果。
图4是根据本公开一实施例的图形化协同编程方法的流程图,本公开实施例的图形化编程方法可以在如图1所示的步骤S1100之前执行,如图4所示,该图形化协同编程方法还可以包括:
步骤1400,基于接收的第一账户的账户信息向所述服务器发送第一登录请求;
用户在使用第一终端过程中,或者在使用第一终端之前,如果想要进行图形化协同编程操作,可以在第一终端执行账户的登录操作。例如可以在第一终端上登录第一账户,以使第一终端接收第一账户的账户信息。在登录第一账户时,第一终端基于接收的第一账户的账户信息向服务器发送第一登录请求,例如用可以通过在第一终端的图形化协同编程应用程序上输入第一账户的账户信息,或者通过预先设置的特定操作等方式向第一终端发送输入第一账户的账户信息,第一终端可以接收该账户信息并生成包括该账户信息的第一登录请求,不变更向服务器发送该第一登录请求,使得服务器可以接收第一终端发起的第一登录请求。该第一登录请求可以包括第一账户的账户信息,例如第一账户的ID等标识、以及登录密码等信息等,但本公开实施例对此不进行限定。
步骤1500,若接收到表示第一登录请求验证通过的第一返回信息,则向所述服务器发送第一共享空间分配请求;
第一终端基于接收的第一账户的账户信息向所述服务器发送第一登录请求之后,等待服务器对该第一登录请求的响应结果。服务器对该第一登录请求的响应结果可以包括验证通过或验证失败的结果。其中当服务器对第一登录请求验证成功,第一终端会接收到服务器返回的第一返回信息,该第一返回信息可以包括提示验证通过的信息,例如相应标志位为1等,但本公开实施例对此不进行限定。
可选地,当服务器对第一登录请求验证失败时,第一终端会接收服务器返回的提示验证失败的第二返回信息,例如相应标志位为0等,但本公开实施例对此不进行限定。
当接收到服务器表示第一登录请求验证通过的第一返回信息后,表示被允许登录服务器进行进一步的操作,则可以向服务器发送第一共享空间分配请求,请求服务器为第一终端分配可以执行图形化协同编程操作的共享空间。
步骤1600,接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息,并基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识;
其中第一响应消息是响应于前述第一共享空间分配请求的消息,其可以包括服务器为第一账户分配的如上所述的共享空间的标识信息,该共享空间的标识信息可以包括唯一标识该共享空间的共享空间标识,例如ID。或者,第一响应消息可以包括服务器分配的共享空间的标识信息以及该共享空间内的各账户的信息,第一终端存储接收到的共享空间的标识信息以及该共享空间内的各账户的信息。其中账户的信息可以包括账户的标识信息或者地址信息。
第一终端可以根据该第一响应消息中包含的信息确定被分配的共享空间的标识信息,以及该共享空间内的各第二账户的账户标识,以确定将要执行图形化编程操作的是哪个共享空间以及将要与哪个账户在共享空间内执行共享图形化协同编程操作。
步骤1700,加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
在接收到第一响应消息后,第一账户可以加入确定的被分配的共享空间,以与确定的各第二账户在共享空间内同步的执行图形化编程操作。
图5是根据本公开一实施例的图形化协同编程方法的流程图,如图5所示,该图形化协同编程方法还可以包括:
步骤1800,接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作或者包括基于所述第二编程操作的编程结果;
步骤1900,基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
其中第二同步信息可以指与第一账户处于相同共享空间的第二账户生成的第二同步信息,其可以包括第二账户获取的第二编程操作对应的第二编程指令或者包括基于该第二编程操作生成的编程结果。类似地,该该第二同步信息的生成方式与第一同步信息的生成方法相同,在此不再赘述。
第一终端不仅可以发送第一同步信息,也可以接收其他各第二账户生成的第二同步信息,将第二账户的第二同步共享至第一账户,使得第一账户在第一终端本地的图形化协同编程操作界面上同步的显示第二账户的第二编程操作结果。
在第二同步信息为第二账户获取的第二编程操作对应的第二编程指令时,可以通过执行该第二编程指令,获得第二编程指令的编程结果,同步第二账户的编程操作。在第二同步信息为得让账户获取的第二编程操作生成的编程结果时,第二账户可以同步该编程结果。
通过本公开实施例的配置,不仅可以基于第一账户获取第一编程操作,生成第一同步信息,将第一账户在图形化协同平台操作界面上的操作指令或操作结果发送到基于第二账户的第二终端,使得第二账户可以共享第一账户的图形化编程操作,使得第二账户可以将第一账户的图形化操作结果在本地的图形化操作界面上同步显示。也可以接收来自第二账户的第二同步信息,在基于第一账户的第一终端的本地图形化编程操作界面上同步显示来自第二账户的图形化操作结果。由此可以实现多个账户在相同的图形化编程操作界面上进行编程,实现了图形化编程的协同编程的效果,提高了用户体验。
图6是根据本公开一实施例的图形化协同编程方法的流程图,如图6所示,该方法可以应用于本公开实施例所述的应用场景中的第二终端,该方法可以包括以下步骤。
步骤S2100,接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与第二账户位于相同共享空间的第一账户获取的第一编程操作对应的编程指令或者包括基于所述第一编程操作生成的编程结果;
步骤S2200,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
下面分别对本公开实施例的各步骤过程进行详细说明。
步骤S2100,接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与第二账户位于相同共享空间的第一账户获取的第一编程操作或者包括基于所述第一编程操作生成的编程结果;
其中第二账户与第一账户类似,同样可以是在图形化协同编程平台上注册的任意一个账户,也可以是在图形化协同编程平台上具有登录权限的任意一个账户。其中第二账户可以是由数字和/或字符组成的标识符,本公开对此不作限定。基于第二账户,用户可以登录第二终端上的图形化编程操作应用程序,在该应用程序提供的图形化编程操作界面上执行图形化编程操作。
第二账户和第一账户在图形化协同编程操作平台上都预定了相同的编程项目,系统后台可以给第二账户和第一账户分配相同的共享空间,该共享空间可以是预定相同的编程项目的各账户的集群用于共同编程的操作界面,第一账户和第二账户在该共享空间内共同对相同编程项目进行图形化编程操作,第一账户和各第二账户执行的图形化编程结果在同一界面显示。
其中第一同步信息包括与第二账户位于相同共享空间的第一账户的获取的第一编程操作对应的操作指令或者包括基于所述第一编程操作生成的编程结果。该第一同步信息的生成方式在第一终端执行的方法中已经详细介绍过,在此不再赘述。
可选地,第一同步信息还可以包括第一账户的信息,该第一账户的信息可以用于唯一标识第一账户。第一账户的信息可以包括第一账户的标识,例如ID,也可以是第一账户的通信地址,例如IP地址。根据第一同步信息中的第一账户的信息,可以准确识别哪个账户发送的第一同步信息。
基于第二账户的第二终端从基于第一账户的第一终端接收第一同步信息,用于同步图形化编程操作。
在一种可能的实现方式中,第二终端接收用于同步图形化编程操作的第一同步信息可以包括:从所述第一账户的地址或者服务器接收所述第一同步信息。
如前述所述,第一终端和第二终端可以直接通信或也可以通过服务器通信。当第一终端和第二终端直接通信时,第二终端可以根据第一同步信息中包括的第一账户的信息识别第一账户。当第一终端和第二终端通过服务器通信时,第二终端可以从服务器接收第一同步信息,同样可以根据该第一同步信息中的第一账户信息识别第一账户。
步骤S2200,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
第二账户通过第二终端接收到第一同步信息后,可以共享该第一同步信息,以将所述第一账户的图形化编程操作同步至第二账户。
在一种可能的实现方式中,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户可以包括:
获取所述第一编程操作对应的第一编程指令,执行所述第一编程指令;或者
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
例如,当第一同步信息中包括第一账户获取的第一编程操作对应的编程指令时,基于第二账户的第二终端获取该编程指令,并通过第二终端在本地的图形化编程操作界面上执行该编程指令,以获得与第一编程操作相应的编程结果,该编程结果是对应的第一账户的编程结果,第二终端在本地的图形化编程操作界面上同步显示该第一账户的编程结果。当第一同步信息中包括第一终端基于第一编程操作生成的编程结果时,基于第二账户的第二终端直接获取该编程结果将该编程结果加载到本地的图形化编程操作界面上同步显示该第一账户的编程操作结果。这样第二账户就可以获取到第一账户的图形化操作结果并在本地图形化编程界面同步显示,从而第二账户可以和第一账户共同实现在同一图形化编程界面上共同执行图形化编程项目。
图7根据本公开一实施例的图形化协同编程方法的另一种流程图,如图7所示,该图形化协同编程方法还可以包括:
步骤2300,基于接收的第二账户的账户信息向所述服务器发送第二登录请求;
与第一账户类似的,第二账户在使用第二终端的过程中,或者在使用第二终端之前,如果想要进行图形化协同编程操作,可以向第二终端发送登录第二账户的登录指令,以使第二终端接收第二账户的账户信息,第二终端基于接收的第二账户的账户信息向服务器发送第二登录请求,该第二登录请求可以包括第二账户的标识信息,例如第二账户的ID或者相应的密码信息等。
步骤2400,若接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求;
第二终端基于接收的第二账户的账户信息向所述服务器发送第二登录请求之后,等待服务器对该第二登录请求的响应结果。服务器对该第二登录请求的响应结果可以包括验证通过或验证失败的结果。其中当服务器对第二登录请求验证成功,第二终端会接收到服务器返回的第一返回信息,该第一返回信息可以包括提示验证通过的信息,例如相应标志位为1等,但本公开实施例对此不进行限定。
可选地,当服务器对第二登录请求验证失败时,第二终端会接收服务器返回的提示验证失败的第二返回信息,例如相应标志位为0等,但本公开实施例对此不进行限定。
当接收到服务器表示第二登录请求验证通过的第一返回信息后,表示被允许登录服务器,第二终端则可以向服务器发送第二共享空间分配请求,请求服务器为第二账户分配可以执行图形化协同编程操作的共享空间。
步骤S2500,接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息,并基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识;
其中第二响应消息是响应于前述第二共享空间分配请求的消息,其可以包括服务器为第二账户分配的如上所述的共享空间的标识信息,该共享空间的标识信息可以包括唯一标识该共享空间的共享空间标识,例如ID,或者,第二响应消息可以包括服务器分配的共享空间的标识信息以及与该共享空间内的各账户的信息,第二终端存储接收到的的共享空间的标识信息以及该共享空间内的各账户的信息,其中账户的信息可以包括账户的标识信息或者地址信息。
第二终端根据该第二响应消息中包含的信息确定被分配的共享空间,以及该共享空间内的各第一账户的账户标识,以确定将要执行图形化编程操作的是哪个共享空间以及将要与哪个账户在共享空间内执行共享图形化操作。
步骤S2600,加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
在接收到第二响应消息后,第二账户可以加入确定的被分配的共享空间,以与确定的各第一账户在共享空间内同步的执行图形化编程操作。
上述方法与第一终端侧的执行方法类似,本公开实施例在此不再赘述。
图8根据本公开一实施例的图形化协同编程方法的流程图,如图8所示,该图形化协同编程方法还可以包括:
步骤S2700,获取第二编程操作;
步骤S2800,基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
步骤S2900,发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
类似地,第二终端不仅可以接收其他基于各第一账户的第一终端生成的第一同步信息,也可以发送第二同步信息,该第二终端生成以及发送第二同步信息的过程与本公开实施例中第一终端类似,具体参见图1详细介绍,在此不再赘述。
通过本公开实施例的配置,第二终端不仅可以接收来自第一账户的第一同步信息,将第一账户在图形化协同平台操作界面上的操作指令或操作结果在基于第二账户的第二终端的本地图形化编程操作界面上同步显示。也可以基于第二账户获取第二编程操作,并生成第二同步信息,将第二账户在图形化协同平台操作界面上的操作指令或操作结果通过直接通信或服务器发送到基于第一账户的第一终端,使得第一账户可以接收到第二账户的图形化操作,并将第二账户的图形化操作结果在本地的图形化操作界面上同步显示。由此可以实现多个账户在相同的图形化编程操作界面上进行编程,实现了图形化编程的协同编程的效果,提高了用户体验。
图9是根据本公开一实施例的图形化协同编程方法的流程图,如图9所示,该方法应用于服务器中,本公开实施例的图形化协同编程方法可以包括以下步骤。
步骤S3100,获取至少一个第一账户的第一同步信息;
步骤S3200,确定与所述至少一个第一账户处于相同共享空间的各第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
步骤S3300,将所述第一账户的第一同步信息发送至第二账户。
下面分别对本公开实施例的各步骤过程进行详细说明。
步骤S3100,获取至少一个第一账户的第一同步信息;
位于相同共享空间的各账户可以通过服务器向通信,例如可以通过服务器发送相应的同步信息,其中,服务器从基于至少一个第一账户的终端接收至少一个第一账户的第一同步信息。
其中第一同步信息可以由基于至少一个第一账户的终端生成,其生成的过程在本公开实施例所示的图1的步骤S1200中详细介绍过,在此不再赘述。
如在步骤S1200描述的,第一同步信息可以包括第一编程操作对应的第一编程指令或者包括基于该第一编程操作生成的编程结果。
可选地,第一同步信息还可以包括至少一个第一账户的信息,该第一账户的信息可以用于唯一标识该第一账户。第一账户的信息可以是第一账户的标识,例如ID,也可以是第一账户的通信地址,例如IP地址。根据第一同步信息中的第一账户的信息,可以准确识别哪个账户发送的第一同步信息。
步骤S3200,确定与所述至少一个第一账户处于相同共享空间的各第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
本公开实施例中,第一账户和各第二账户在图形化协同编程操作平台上都预定了相同的编程项目,系统后台可以给第一账户和第二账户分配相同的共享空间,该共享空间可以是预定相同的编程项目的各账户的集群用于共同编程的操作界面,第一账户和各第二账户在该共享空间内共同对相同编程项目进行图形化编程操作,第一账户和各第二账户执行的图形化编程结果在本地以相同界面显示。
该共享空间可以由服务器根据各账户预约的编程项目分配,当共享空间被分配成功后,第一账户可以在被分配的共享空间内与各第二账户共享图形化编程操作。
服务器可以在本地的存储空间内存储为各账户分配的共享空间的标识信息以及该共享空间的标识信息与被分配至与该共享空间的标识信息的各账户的地址信息的对应关系,该共享空间的标识信息可以包括唯一标识该共享空间的共享空间标识,该标识可以是标识符ID,各账户的地址信息包括各账户的标识信息,例如第一账户和第二账户ID,也可以包括各账户的通信地址,例如第一账户和第二账户的IP地址。
服务器可以根据第一同步信息中的第一账户的信息确定该至少一个第一账户所在的共享空间,从而在存储空间内查找与第一账户处于相同共享空间的其他各第二账户的标识,确定与所述至少一个第一账户处于相同共享空间的各第二账户。
步骤S3300,将所述第一账户的第一同步信息发送至第二账户。
服务器在确定与第一账户标识处于相同共享空间的各第二账户标识后,可以将接收的第一同步信息发送至第二账户,以使各第二账户的第二终端接收用于同步图形化编程操作的第一同步信息,将第一账户的第一编程操作同步至第二账户,并将第一编程操作的操作结果加载到第二账户当前的编程结果。
基于上述配置,通过服务器传递不同账户之间的图形化编程操作,将该图形化编程操作在具有预约相同编程项目的并被分配相同共享空间的账户之间共享并同步,使得各账户之间能够同步显示其他账户的图形化编程操作结果,实现了多个账户协同编程的技术效果,提升了用户体验。
另外,服务器还可以对各账户进行管理。图10根据本公开一实施例的图形化协同编程方法的流程图,如图10所示,该图形化协同编程方法还可以包括:
步骤S3400,接收基于至少一个账户发送的登录请求,并基于所述登录请求中的账户信息对所述登录请求进行验证;
步骤S3500,若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
服务器可以接收基于各个账户的终端发送的登录请求,该登录请求可以包括至少一个账户的标识信息,服务器可以获取该至少一个账户的标识信息,根据该至少一个标识信息对该账户进行验证。
可选地,服务器对该至少一个账户的验证可以是指验证该账户是否曾经在本服务器中注册过,例如,每个账户在登录服务器之前都要先向服务器注册一个账户,以表示该账户有预约图形化编程项目的需求,服务器可以将注册成功的账户在本地保存。当服务器再次接收到该账户发送的登录请求后,可以在本地查找是否保存该账户标识,若查找成功,则表示验证通过,否则验证失败。
可选地,服务器对该至少一个账户的验证可以是对登录请求中的账户和密码进行验证,如果查找到相应的账户,并且账户和密码相匹配,则验证通过,否则验证失败。
可选地,服务器对该至少一个账户的验证可以是指验证该账户是否具有访问权限,例如,每个账户在服务器注册账户之后,服务器都会对其设置一定的权限,并且在本地保存每个账户标识对应所拥有的各种权限,这些权限可以是仅登录查看,或同时可以登录和图形化编程等,其中具有图形化编辑权限的用户才被允许后续的操作。若服务器根据登录请求中的账户标识查找到该账户同时具有登录和图形化编辑权限,则表示验证通过,否则对只有登录查看权限的账户表示验证失败。以上只是服务器验证的示例的实现方式,本公开实施例不做限制。
步骤S3500,若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
服务器若对发送登录请求的账户验证通过,可以表示该账户可以进一步的执行后续操作。服务器可以向至少一个账户返回表示验证通过的返回信息,该第一返回信息可以包括提示验证通过的文字提示内容,例如登录成功或验证通过等。
可选地,当服务器对第一登录请求验证失败时,终端会接收服务器返回的提示验证失败的文字提示内容,例如登录失败或验证失败等。
图11根据本公开一实施例的图形化协同编程方法的另一种流程图,如图11所示,该图形化协同编程方法还可以包括:
步骤S3600,接收基于所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
步骤S3700,根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
步骤S3800,向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
以下对各个步骤逐一详细描述。
步骤S3600,接收基于所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
服务器对至少一个账户验证通过后,可以接收基于所述至少一个账户发送的共享空间分配请求。其中共享空间请求中可以包括至少一个账户的标识信息,该至少一个账户的标识信息可以识别需要预约编程项目的某个账户。
步骤S3700,根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
服务器可以根据共享空间分配请求中的至少一个账户标识,分别为至少一个账户分配共享空间。
在一种可能的实现方式中,如图12所示,根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间可以包括:
步骤S3710,获取所述共享空间请求中的账户的标识信息;
步骤S3720,基于所述共享空间请求中的账户的标识信息,确定与该标识信息对应的预约编程项目;
步骤S3730,为具有相同预约编程项目的各账户分配相同的共享空间。
服务器可以获取共享空间分配请求中的账户的标识信息,服务器可以根据该账户的标识信息,确定于该标识信息对应的预约编程项目。例如,每个账户在服务器注册账户之后,会在服务器上选择感兴趣的编程项目,对感兴趣的编程项目进行预约,服务器相应地存储每个账户的标识信息与对应预约编程项目的对应关系,服务器获取到共享空间请求中的账户的标识信息后,可以确定该标识信息对应的预约编程项目,为具有相同预约编程项目的各账户分配相同的共享空间。
在一种可能的实现方式中,服务器可以根据预定的分配策略为具有相同预约编程项目的各账户分配相同的共享空间。其中,预定的分配策略可以是服务器预先固定设置的分配策略,也可以根据各账户对预约编程项目的预约情况设置的分配策略。
可选地,服务器可以为具有相同预约编程项目的各账户随机选择一定数量的账户,将该一定数量的账户分配至相同共享空间。该一定数量可以根据实际的需求而设置,例如账户之间的协同程度,该协同程度可以表示账户的协同沟通的容易度,当分配一个共享空间的账户数量越多,协同难度越大,此时应当为共享空间分配相对少的账户数量。
可选地,服务器也可以在相同预约项目的各账户中选择在一定预设时间内发送共享空间请求的账户分配至相同共享空间,例如,服务器在接收对某个预约编程的第一个共享空间请求后,设置在2小时内将接收到对该预约编程项目的其他共享空间请求的账户分配至相同共享空间,2小时之外如果再接收到对该预约编程项目的其他共享空间请求,将被分配至其他共享空间。
服务器为具有相同预约项目的账户分配共享空间被的同时,服务器相应地可以在本地存储共享空间的标识信息与被分配至与该共享空间的标识信息的各账户的地址信息的对应关系,该各账户的地址信息可以是该账户的标识信息,例如第一账户和各第二账户ID,也可以是该账户的通信地址,例如第一账户和各第二账户的IP地址。
步骤S3800,向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
服务器为至少一个账户分配共享空间后,会向该至少一个账户发送响应消息。
其中该响应消息是响应于前述共享空间分配请求的消息,其可以包括服务器为各账户分配的如上所述的共享空间的标识信息,该共享空间的标识信息可以包括唯一标识该共享空间的共享空间标识,例如ID,或者,第一响应消息可以包括服务器分配的共享空间的标识信息以及该共享空间内各账户的信息,与服务器通信的账户可以存储接收到的共享空间的标识信息以及该共享空间内各账户的信息,或者第一响应消息还可以包括与至少一个账户被分配相同共享空间的其他各账户的账户地址信息,例如当至少一个账号是第一账户时,其他账户可以是各第二账户的标识。
通过本公开实施例的配置,服务器可以接收基于至少一个账户的登录请求,验证成功后接收该至少一个账户的共享空间分配请求,根据该共享空间分配请求为具有相同预约编程项目的账户分配相同的共享空间,待各账户加入到该分配的共享空间后,服务器接收来自各个账户的第一同步信息,根据第一同步信息将第一账户在图形化协同平台操作界面上的操作指令或操作结果发送至确定的第二账户,使得第二账户可以将第一账户的图形化操作结果在第二账户的本地的图形化操作界面上同步显示。由此可以实现多个账户在相同的图形化编程操作界面上进行编程,实现了图形化编程的协同编程的效果,提高了用户体验。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了图形化协同编程装置、服务器、系统及计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种图形化协同编程方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图13示出根据本公开一实施例的图形化协同编程装置的框图,该装置可应用于第一终端,例如计算机、手机、或平板电脑等。如图13所示,该装置可以包括:
获取模块1100,其配置为基于第一账户,获取第一编程操作;
生成模块1200,其配置为基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
通信模块1300,其配置为发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一个可能的实现方式中,获取模块1100还配置为通过接收在图形化编程界面的第一编程指令获取所述第一编程操作,所述第一编程指令包括添加图形指令、删除图形指令、编辑图形指令中的至少一种。
在一个可能的实现方式中,生成模块1200还配置为在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者
根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
在一个可能的实现方式中,获取模块1100还配置为获取与所述第一账户位于相同共享空间的第二账户的地址信息;
通信模块1300还配置为根据所述地址信息向所述第二账户发送所述第一同步信息。
在一个可能的实现方式中,获取模块1100还配置为获取共享空间的标识信息;
通信模块1300还配置为向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
在一个可能的实现方式中,如图14所示,本公开一实施例的图形化协同编程装置还包括登录模块1400、加入模块1500。
登录模块1400,其配置为基于接收的第一账户的账户信息生成第一登录请求,以及在接收到表示第一登录请求验证通过第一返回信息时,生成第一共享空间分配请求;
通信模块1300还配置为向服务器发送第一登录请求,以及向所述服务器发送第一共享空间分配请求,并接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息;
加入模块1500,其配置为基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识,并加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
在一个可能的实现方式中,如图15所示,本公开一实施例的图形化协同编程装置还包括同步模块1600。
通信模块1300还配置为接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作或者包括基于所述第二编程操作的编程结果;
同步模块1600,其配置为基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
图16示出根据本公开一实施例的图形化协同编程装置的框图,该装置可应用于第二终端,例如计算机、手机、或平板电脑等。如图16所示,该装置可以包括:
通信模块2100,其配置为接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与所述第二客户位于相同共享空间的第一账户获取的第一编程操作或者包括基于所述第一编程操作生成的编程结果;
同步模块2200,其配置为基于所述第一同步信息,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
在一个可能的实现方式中,同步模块2200还配置为通过下列方式中的至少一种共享所述第一同步信息:
获取所述第一编程操作对应的第一编程指令,并执行所述第一编程指令;
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
在一个可能的实现方式中,通信模块2100还配置为从所述第一账户的地址或者服务器接收所述第一同步信息。
在一个可能的实现方式中,如图17所示,本公开一实施例的图形化协同编程装置还包括登录模块2300、加入模块2400。
登录模块2300,其用于获取第二账户信息,并基于所述第二账户信息生成第二登录请求,并基于所述服务器返回的表示所述第二登录请求验证通过的第二返回信息,则生成第二共享空间分配请求;
通信模块2100还配置为向所述服务器发送第二登录请求,以及若所述通信模块接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求,以及接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息;
加入模块2400,其配置为基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识,并加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
在一个可能的实现方式中,如图18所示,本公开一实施例的图形化协同编程装置还包括获取模块2500、生成模块2600。
获取模块2500,其配置为获取第二编程操作;
生成模块2600,其配置为基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
通信模块2100还配置为发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
图19示出根据本公开一实施例的服务器300的框图。如图19所示,该服务器可以包括:
获取模块3100,其配置为获取至少一个第一账户的第一同步信息;
确定模块3200,其配置为确定与所述至少一个第一账户处于相同共享空间的第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
通信模块3300,其配置为将所述第一账户的第一编同步信息发送至第二账户。
在一个可能的实现方式中,如图20所示,本公开一实施例的服务器还包括验证模块3400。
通信模块3300还配置为接收至少一个账户发送的登录请求;
验证模块3400,其配置为基于所述登录请求中的账户信息对所述登录请求进行验证;
通信模块3300还配置为若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
在一个可能的实现方式中,如图21所示,本公开一实施例的服务器还包括接收模块3500、分配模块3600。
接收模块3500,其配置为接收所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
分配模块3600,其配置为根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
通信模块3300还配置为向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
在一个可能的实现方式中,获取模块3100还配置为获取所述共享空间请求中的账户的标识信息;
分配模块3600还配置为基于服务器中存储的各账户的标识信息和预约课程的对应关系,为具有相同预约课程的各账户分配共享空间。
图22示出根据本公开一实施例的图形化协同编程系统的框图。如图22所示,该系统100可以包括至少一个客户端200:
至少一个客户端200,其用于获取第一编程操作,并基于所述第一编程操作生成第一同步信息,并发送所述第一同步信息,其中所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
服务器300,其用于获取所述第一同步信息,并根据发送所述第一同步信息的客户端所在的共享空间,将所述第一同步信息发送给该共享空间内的其余客户端,以使所述共享空间内的各客户端共享该第一同步信息。
图23是根据一示例性实施例示出的一种用于图形化协同编程的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图23,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由装置800的处理器820执行以完成上述方法。
图24是根据一示例性实施例示出的一种用于图形化协同编程的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图24,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开实施例的各个方面。
这里参照根据本公开实施例实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开实施例的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开实施例的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (35)
1.一种图形化协同编程方法,其特征在于,包括:
基于第一账户,获取第一编程操作;
基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
2.根据权利要求1所述的方法,其特征在于,所述获取第一编程操作包括:
接收在图形化编程界面的第一编程指令,所述第一编程指令包括添加图形指令、删除图形指令、编辑图形指令中的至少一种;
基于所述第一编程指令获取所述第一编程操作。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一编程操作生成第一同步信息,包括:
在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者
根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
4.根据权利要求1所述的方法,其特征在于,所述发送所述第一同步信息包括:
获取与所述第一账户位于相同共享空间的第二账户的地址信息;
根据所述地址信息向所述第二账户发送所述第一同步信息。
5.根据权利要求1所述的方法,其特征在于,所述发送所述第一同步信息包括:
获取共享空间的标识信息;
向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于接收的第一账户的账户信息向所述服务器发送第一登录请求;
若接收到表示第一登录请求验证通过的第一返回信息,则向所述服务器发送第一共享空间分配请求;
接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息,并基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识;
加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作对应的第二编程指令或者包括基于所述第二编程操作的编程结果;
基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
8.一种图形化协同编程方法,其特征在于,包括:
接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与第二账户位于相同共享空间的第一账户获取的第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
共享所述第一同步信息,以将所述第一账户的图形化编程操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
9.根据权利要求8所述的方法,其特征在于,所述共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户包括下列方式中的至少一种:
获取所述第一编程操作对应的第一编程指令,执行所述第一编程指令;
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
10.根据权利要求8所述的方法,其特征在于,所述接收用于同步图形化编程操作的第一同步信息包括:
从所述第一账户的地址或者服务器接收所述第一同步信息。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
基于接收的第二账户的账户信息向所述服务器发送第二登录请求;
若接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求;
接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息,并基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识;
加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取第二编程操作;
基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
13.一种图形化协同编程方法,该方法用于服务器,其特征在于,包括:
获取至少一个第一账户的第一同步信息;
确定与所述至少一个第一账户处于相同共享空间的各第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
将所述第一账户的第一同步信息发送至第二账户。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
接收基于至少一个账户发送的登录请求,并基于所述登录请求中的账户信息对所述登录请求进行验证;
若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
15.根据权利要求13所述的方法,其特征在于,所述方法还包括:
接收基于所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
16.根据权利要求15所述的方法,其特征在于,所述根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间包括:
获取所述共享空间请求中的账户的标识信息;
基于所述共享空间请求中的账户的标识信息,确定与该标识信息对应的预约编程项目;
为具有相同预约编程项目的各账户分配相同的共享空间。
17.一种图形化协同编程装置,其特征在于,包括:
获取模块,其配置为基于第一账户,获取第一编程操作;
生成模块,其配置为基于所述第一编程操作生成第一同步信息,所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
通信模块,其配置为发送所述第一同步信息,以使得与所述第一账户位于相同共享空间的各第二账户共享所述第一同步信息,
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
18.根据权利要求17所述的装置,其特征在于,所述获取模块还配置为通过接收在图形化编程界面的第一编程指令获取所述第一编程操作,所述第一编程指令包括添加图形指令、删除图形指令、编辑图形指令中的至少一种。
19.根据权利要求17所述的装置,其特征在于,所述生成模块还配置为在获取第一编程操作的情况下,基于所述第一编程操作生成的编程结果获取所述第一同步信息;或者
根据预设时间内接收的全部所述第一编程操作生成的编程结果,获取所述第一同步信息。
20.根据权利要求17所述的装置,其特征在于,所述获取模块还配置为获取与所述第一账户位于相同共享空间的第二账户的地址信息;
所述通信模块还配置为根据所述地址信息向所述第二账户发送所述第一同步信息。
21.根据权利要求17所述的装置,其特征在于,所述获取模块还配置为获取共享空间的标识信息;
所述通信模块还配置为向与所述第一账户通信连接的服务器发送所述第一同步信息和所述标识信息,以通过所述服务器将所述第一同步信息发送至基于所述标识信息确定的共享空间内的第二账户。
22.根据权利要求17所述的装置,其特征在于,所述装置还包括:
登录模块,其配置为基于接收的第一账户的账户信息生成第一登录请求,以及在接收到表示第一登录请求验证通过第一返回信息时,生成第一共享空间分配请求;
所述通信模块还配置为向服务器发送第一登录请求,以及向所述服务器发送第一共享空间分配请求,并接收从所述服务器返回的响应于所述第一共享空间分配请求的第一响应消息;
加入模块,其配置为基于所述第一响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第二账户的账户标识,并加入所述被分配的共享空间以与各第二账户同步的执行图形化编程操作。
23.根据权利要求17所述的装置,其特征在于,所述通信模块还配置为接收第二同步信息,所述第二同步信息包括所述共享空间内的第二账户获取的第二编程操作或者包括基于所述第二编程操作的编程结果;
所述装置还包括:同步模块,其配置为基于所述第二同步信息,将所述第二账户的第二同步信息共享至第一账户。
24.一种图形化协同编程装置,其特征在于,包括:
通信模块,其配置为接收用于同步图形化编程操作的第一同步信息,所述第一同步信息包括与所述第二客户位于相同共享空间的第一账户获取的第一编程操作或者包括基于所述第一编程操作生成的编程结果;
同步模块,其配置为基于所述第一同步信息,共享所述第一同步信息,以将所述第一账户的图形化编辑操作同步至第二账户;
其中,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作。
25.根据权利要求24所述的装置,其特征在于,所述同步模块还配置为通过下列方式中的至少一种共享所述第一同步信息:
获取所述第一编程操作对应的第一编程指令,并执行所述第一编程指令;
获取所述第一编程操作生成的编程结果,将该编程结果加载到所述第二账户当前的编程结果。
26.根据权利要求24所述的装置,其特征在于,所述通信模块还配置为从所述第一账户的地址或者服务器接收所述第一同步信息。
27.根据权利要求24所述的装置,其特征在于,所述装置还包括:
登录模块,其用于获取第二账户信息,并基于所述第二账户信息生成第二登录请求,并基于所述服务器返回的表示所述第二登录请求验证通过的第二返回信息,则生成第二共享空间分配请求;
所述通信模块还配置为向所述服务器发送第二登录请求,以及若所述通信模块接收到表示所述第二登录请求验证通过的第二返回信息,则向所述服务器发送第二共享空间分配请求,以及接收从所述服务器返回的响应于所述第二共享空间分配请求的第二响应消息;
加入模块,其配置为基于所述第二响应消息确定被分配的共享空间的标识信息、以及该共享空间内的各第一账户的账户标识,并加入所述被分配的共享空间以与各第一账户同步的执行图形化编程操作。
28.根据权利要求24所述的装置,其特征在于,所述装置还包括:
获取模块,其配置为获取第二编程操作;
生成模块,其配置为基于所述第二编程操作生成第二同步信息,所述第二同步信息包括所述第二编程操作对应的第二编程指令或者包括基于所述第二编程操作生成的编程结果;
所述通信模块还配置为发送所述第二同步信息,以使得与所述第二账户位于相同共享空间的各第一账户共享所述第二同步信息。
29.一种服务器,其特征在于,包括:
获取模块,其配置为获取至少一个第一账户的第一同步信息;
确定模块,其配置为确定与所述至少一个第一账户处于相同共享空间的第二账户,所述第一账户和各第二账户在所述共享空间内针对相同的编程项目共同执行图形化编程操作;
通信模块,其配置为将所述第一账户的第一编同步信息发送至第二账户。
30.根据权利要求29所述的服务器,其特征在于,
所述通信模块还配置为接收至少一个账户发送的登录请求;
所述服务器还包括验证模块,其配置为基于所述登录请求中的账户信息对所述登录请求进行验证;
所述通信模块还配置为若对所述登录请求验证通过,则向所述至少一个账户返回表示验证通过的返回信息。
31.根据权利要求29所述的服务器,其特征在于,所述服务器还包括:
接收模块,其配置为接收所述至少一个账户发送的共享空间分配请求,所述共享空间请求中包括所述至少一个账户的标识信息;
分配模块,其配置为根据所述共享空间分配请求,分别为所述至少一个账户分配共享空间;
所述通信模块还配置为向所述至少一个账户发送响应消息,所述响应信息包括分配的共享空间的标识信息以及该共享空间内的其余账户的标识信息。
32.根据权利要求31所述的服务器,其特征在于,所述获取模块还配置为获取所述共享空间请求中的账户的标识信息;
所述分配模块还配置为基于服务器中存储的各账户的标识信息和预约课程的对应关系,为具有相同预约课程的各账户分配共享空间。
33.一种图形化协同编程系统,其特征在于,所述系统包括:
至少一个客户端,其用于获取第一编程操作,并基于所述第一编程操作生成第一同步信息,并发送所述第一同步信息,其中所述第一同步信息包括所述第一编程操作对应的第一编程指令或者包括基于所述第一编程操作生成的编程结果;
服务器,其用于获取所述第一同步信息,并根据发送所述第一同步信息的客户端所在的共享空间,将所述第一同步信息发送给该共享空间内的其余客户端,以使所述共享空间内的各客户端共享该第一同步信息。
34.一种图形化协同编程装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-7中任意一项所述的方法,或者执行如权利要求8-12中任意一项所述的方法,或者执行如权利要求或者13-16中任意一项所述的方法。
35.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-7中任意一项所述的方法,或者所述计算机程序指令被处理器执行时实现权利要求8-12中任意一项所述的方法,或者所述计算机程序指令被处理器执行时实现权利要求13-16中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113358.XA CN110941425A (zh) | 2018-09-25 | 2018-09-25 | 图形化协同编程方法、装置和系统、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113358.XA CN110941425A (zh) | 2018-09-25 | 2018-09-25 | 图形化协同编程方法、装置和系统、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110941425A true CN110941425A (zh) | 2020-03-31 |
Family
ID=69904797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811113358.XA Pending CN110941425A (zh) | 2018-09-25 | 2018-09-25 | 图形化协同编程方法、装置和系统、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941425A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796744A (zh) * | 2020-06-28 | 2020-10-20 | 维沃移动通信有限公司 | 应用程序控制方法、装置及电子设备 |
CN111984250A (zh) * | 2020-06-30 | 2020-11-24 | 北京编程猫科技有限公司 | 一种基于图形化编程工具的作品合成方法及装置 |
CN112558960A (zh) * | 2020-12-24 | 2021-03-26 | 深圳市优必选科技股份有限公司 | 一种图形化编程的协作编程方法、装置、介质及电子设备 |
CN113934402A (zh) * | 2020-06-28 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 子应用内容的制作方法、装置、存储介质和电子设备 |
JP7399533B1 (ja) | 2023-01-06 | 2023-12-18 | 株式会社プログミー | プログラミング教育方法、プログラミング教育プログラム、プログラミング教育サーバ、及びプログラミング教育端末 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677979A (zh) * | 2004-04-01 | 2005-10-05 | 微软公司 | 通过网络在计算机之间共享对象的系统和方法 |
CN101834905A (zh) * | 2010-05-13 | 2010-09-15 | 中兴通讯股份有限公司 | 远程文档共享方法以及远程文档共享服务器 |
CN102800223A (zh) * | 2012-07-19 | 2012-11-28 | 中国科学院软件研究所 | 一种协同实物编程方法 |
CN103078894A (zh) * | 2011-09-09 | 2013-05-01 | 微软公司 | 共享项目帐户选择 |
CN103118077A (zh) * | 2013-01-15 | 2013-05-22 | 百度在线网络技术(北京)有限公司 | 跨设备的内容传输方法、系统和客户端 |
US20150073959A1 (en) * | 2013-09-09 | 2015-03-12 | Eric Connors | Collaborative Financial Management |
CN104717239A (zh) * | 2013-12-12 | 2015-06-17 | 鸿合科技有限公司 | 共享文件的协同编辑方法、服务器及用户端 |
-
2018
- 2018-09-25 CN CN201811113358.XA patent/CN110941425A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677979A (zh) * | 2004-04-01 | 2005-10-05 | 微软公司 | 通过网络在计算机之间共享对象的系统和方法 |
CN101834905A (zh) * | 2010-05-13 | 2010-09-15 | 中兴通讯股份有限公司 | 远程文档共享方法以及远程文档共享服务器 |
CN103078894A (zh) * | 2011-09-09 | 2013-05-01 | 微软公司 | 共享项目帐户选择 |
CN102800223A (zh) * | 2012-07-19 | 2012-11-28 | 中国科学院软件研究所 | 一种协同实物编程方法 |
CN103118077A (zh) * | 2013-01-15 | 2013-05-22 | 百度在线网络技术(北京)有限公司 | 跨设备的内容传输方法、系统和客户端 |
US20150073959A1 (en) * | 2013-09-09 | 2015-03-12 | Eric Connors | Collaborative Financial Management |
CN104717239A (zh) * | 2013-12-12 | 2015-06-17 | 鸿合科技有限公司 | 共享文件的协同编辑方法、服务器及用户端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796744A (zh) * | 2020-06-28 | 2020-10-20 | 维沃移动通信有限公司 | 应用程序控制方法、装置及电子设备 |
CN113934402A (zh) * | 2020-06-28 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 子应用内容的制作方法、装置、存储介质和电子设备 |
CN111796744B (zh) * | 2020-06-28 | 2022-02-11 | 维沃移动通信有限公司 | 应用程序控制方法、装置及电子设备 |
CN111984250A (zh) * | 2020-06-30 | 2020-11-24 | 北京编程猫科技有限公司 | 一种基于图形化编程工具的作品合成方法及装置 |
CN112558960A (zh) * | 2020-12-24 | 2021-03-26 | 深圳市优必选科技股份有限公司 | 一种图形化编程的协作编程方法、装置、介质及电子设备 |
JP7399533B1 (ja) | 2023-01-06 | 2023-12-18 | 株式会社プログミー | プログラミング教育方法、プログラミング教育プログラム、プログラミング教育サーバ、及びプログラミング教育端末 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018072741A1 (zh) | 基于即时通讯消息的任务管理 | |
EP3041280A1 (en) | Method and apparatus for binding intelligent device | |
US10608988B2 (en) | Method and apparatus for bluetooth-based identity recognition | |
US8838140B1 (en) | Sharing a live view on a mobile device | |
CN111328076B (zh) | 一种设备配网方法、装置及介质 | |
CN110941425A (zh) | 图形化协同编程方法、装置和系统、服务器及存储介质 | |
US10102505B2 (en) | Server-implemented method, terminal-implemented method and device for acquiring business card information | |
WO2016139289A1 (en) | Communication system and method of using the same | |
US20170171321A1 (en) | Methods and devices for managing accounts | |
US10237214B2 (en) | Methods and devices for sharing media data between terminals | |
CN109947981B (zh) | 视频分享方法及装置 | |
US20160191266A1 (en) | Method and apparatus for binding intelligent device | |
CN104468329A (zh) | 基于即时通信的成员添加方法和装置 | |
CN107959757B (zh) | 用户信息处理方法、装置、app服务器和终端设备 | |
US20170171794A1 (en) | Method and apparatus for acquiring routing information | |
CN108495168B (zh) | 弹幕信息的显示方法及装置 | |
EP3276974A1 (en) | Video sharing method and apparatus, computer program and recording medium | |
CN106790018B (zh) | 资源共享播放方法及装置 | |
CN111031332A (zh) | 数据交互方法、装置、服务器及存储介质 | |
CN108335135B (zh) | 多媒体内容的分享方法及装置 | |
CN105515948A (zh) | 即时通信方法和装置 | |
CN110913244A (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN104850643B (zh) | 图片对比方法和装置 | |
CN111030897A (zh) | 有线配网方法及装置、电子设备和存储介质 | |
CN110690979B (zh) | 群组消息的处理方法、装置、服务器、客户端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |