一种数据分享方法及装置与流程

文档序号:29418585发布日期:2022-03-26 13:46阅读:67来源:国知局
一种数据分享方法及装置与流程

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.图1为本技术实施例提供的一种数据分享方法的流程示意图;
59.图2为本技术实施例提供的另一种数据分享方法的流程示意图;
60.图3为本技术实施例提供的一种数据分享装置的结构示意图;
61.图4为本技术实施例提供的另一种数据分享装置的结构示意图;
62.图5为本技术实施例提供的一种用户进行数据分享的流程示意图;
63.图6为本技术实施例提供的一种分享文件编辑修改的流程示意图。
具体实施方式
64.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
65.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
66.请参看图1,图1为本技术实施例提供了一种数据分享方法的流程示意图。该方法的应用于编程学习场景中,具体应用于对编程数据的分享场景中。其中,该数据分享方法包括:
67.s101、在接收到用户输入的分享指令时,根据分享指令获取待分享的原始编程语言数据。
68.本技术实施例中,该待分享的原始编程语言数据具体可以为编程学习场景中,用户编写的编程语言数据、复制或者保存的编程语言数据等,对此本技术实施例不作限定。
69.本技术实施例中,该待分享的原始编程语言数据可以为完整的编程语言数据,也可以为编程语言片段等,对此本技术实施例不作限定。
70.在本技术实施例中,该方法的执行主体为编程学习客户端,具体地,该编程学习客户端具体可以运行于智能手机、平板电脑、计算机、服务器等电子设备上,对此本实施例中不作任何限定。
71.s102、在接收到用户输入的语言转换指令时,对原始编程语言数据进行语言转换,得到第一语言数据。
72.作为一种可选的实施方式,在根据分享指令获取待分享的原始编程语言数据之后,还可以包括以下步骤:
73.输出包括原始编程语言数据的和语言转换指令入口的预览界面;
74.判断是否接收到用户通过语言转换指令入口输入的语言转换指令;
75.如果是,则执行步骤s102对原始编程语言数据进行语言转换,得到第一语言数据。
76.作为进一步可选的实施方式,输出包括原始编程语言数据的和语言转换指令入口的预览界面,可以包括以下步骤:
77.确定原始编程语言数据的原始语言类型;
78.根据原始语言类型确定待选语言类型集合;
79.根据待选语言类型集合生成语言转换指令入口;
80.输出包括原始编程语言数据的和语言转换指令入口的预览界面。
81.在上述实施方式中,待选语言类型集合包括当前原始编程语言数据支持转换的语
言类型,如java可以转换为kotlin,但是没有办法转换为html,则当原始语言类型为java时,则匹配出的待选语言类型集合包括kotlin类型。
82.在上述实施方式中,用户还可以在预览界面对原始编程语言数据进行修改、删除、增加等操作,对此本技术实施例不作限定。
83.本技术实施例中,可以通过预设转换算法,对原始编程语言数据进行语言转换,在转换的时候,可以根据原始编程语言数据中执行方法进行一一对应转换,从头遍历,确定语义,然后匹配对应的函数,最后进行一一对应转换。
84.本技术实施例中,可以预先设置有语言库引导库,可以根据语言引导库来进行语言类型确定、语言转换等处理,对此本技术实施例不作限定。
85.s103、输出第一语言数据进行预览。
86.本技术实施例中,在进行语言转换之后,可以输出第一语言数据进行预览。
87.s104、在接收到用户针对第一语言数据输入的修改指令时,根据修改指令对第一语言数据进行修改处理,得到第二语言数据。
88.本技术实施例中,在预览时,用户还可以对第一语言数据进行修改、删除、增加等操作,对此本技术实施例不作限定。
89.s105、对第二语言数据进行完整性补全处理,得到第三语言数据。
90.本技术实施例中,在实际应用中,用户在进行编程语言学习时,可以只进行方法区语言的编写练习,存在入口函数等基本语言格式的缺失,因此,在分享之前,还可以对缺失的部分进行自动填补处理,只有方法区,缺了关键的东西,在转换的时候,检测到有方法区,进行自动填补。
91.本技术实施例中,举例来说,当识别出第一语言数据中缺少头文件数据时,可以根据第一语言数据的语言类型自动加入相匹配的头文件数据。
92.s106、根据第三语言数据生成分享文件,并对分享文件进行分享操作。
93.本技术实施例中,对第二语言数据进行完整性补全处理,并生成分享文件,该分享文件能够直接进行运行。举例来说,当用户在编程学习中,在移动客户端上编写了一段编程代码,然后可以通过本技术实施例提供的分享方法,生成相应的分享文件,该分享文件包括该段编程代码以及完整的语言头尾代码,该分享文件可以直接分享到电脑端,此后,用户还可以通过该电脑端直接对该分享文件进行引入运行。
94.本技术实施例中,用户在编程学习客户端学习的编程代码可以分享出去然后在电脑上运行。
95.可见,实施图1所描述的数据分享方法,在进行数据分享时,能够实现不同编程语言的转换,且在分享时能够自由修改调整,进而有利于提升用户体验,增加学习兴趣。
96.请参看图2,图2为本技术实施例提供的一种数据分享方法的流程示意图。如图2所示,其中,该数据分享方法包括:
97.s201、在接收到用户输入的分享指令时,根据分享指令获取待分享的原始编程语言数据。
98.s202、在接收到用户输入的语言转换指令时,确定原始编程语言数据的原始编程语言类型。
99.s203、根据原始编程语言类型确定可转换的备选编程语言类型。
100.s204、输出备选编程语言类型,并接收用户从备选编程语言类型中选择的目标语言类型。
101.s205、根据目标语言类型对原始编程语言数据进行语言转换,得到第一语言数据。
102.作为一种可选的实施方式,根据目标语言类型对原始编程语言数据进行语言转换,得到第一语言数据,可以包括以下步骤:
103.遍历原始编程语言数据,并识别原始编程语言数据中每段代码对应的语义信息;
104.获取与目标语言类型对应的语法库;
105.根据语法库和语义信息匹配原始编程语言数据中每段代码相对应的替代代码;
106.根据替代代码对原始编程语言数据进行语言转换处理,得到第一语言数据。
107.本技术实施例中,实施上述步骤s202~步骤s206,能够在接收到用户输入的语言转换指令时,对原始编程语言数据进行语言转换,得到第一语言数据。
108.在步骤s205之后,还包括以下步骤:
109.s206、输出第一语言数据进行预览。
110.s207、在接收到用户针对第一语言数据输入的修改指令时,根据修改指令对第一语言数据进行修改处理,得到第二语言数据。
111.在步骤s207之后,还包括以下步骤:
112.s208、判断第二语言数据是否完整,如果否,执行步骤s209;如果是,执行步骤s212。
113.s209、确定第二语言数据的编程语言类型。
114.s210、根据编程语言类型确定第二语言数据中的缺失部分。
115.s211、根据缺失部分对第二语言数据进行自动填补处理,得到第三语言数据。
116.本技术实施例中,实施上述步骤s208~步骤s211,能够对第二语言数据进行完整性补全处理,得到第三语言数据。
117.s212、确定第三语言数据的目标语言类型。
118.s213、匹配与目标语言类型相对应的文件格式。
119.本技术实施例中,举例来说,当目标语言类型为c语言时,其头文件对应文件格式的后缀名为“.h”,其源文件对应文件格式的后缀名为“.c”;当目标语言类型为c++语言时,其头文件对应文件格式的后缀名为“.h”、“.hpp”或者“.hxx”,其源文件对应文件格式的后缀名为“.cpp”、“.cc”、“.cxx”、“.c”或者“.c++”等;当目标语言类型为c#语言时,其对应文件格式的后缀名为“.cs”等。
120.本技术实施例中,java源文件名的后缀名师“.java”,“.java”结尾的是源文件,本质上就是个文本文件。“.class”结尾的是java编译器变异源文件所得的java字节码文件,是二进制的。真正能运行的是这个“.class”结尾的文件,java虚拟机(解释器)可以解释并运行编译出来的“.class”文件。
121.本技术实施例中,确定对应的文件格式,即为匹配导出的分享文件的后缀名。其中,对于分享文件的后缀名,取决于第三语言数据的目标语言类型。
122.本技术实施例中,在确定出与目标语言类型相对应的文件格式之后,输出该文件格式,用户可以自由选择需要的文件格式,并执行s214进行分享文件的生成。
123.在步骤s213之后,还包括以下步骤:
124.s214、根据文件格式和第三语言数据,生成分享文件。
125.本技术实施例中,实施上述步骤s208~步骤s211,能够根据第三语言数据生成分享文件。
126.s215、对分享文件进行分享操作。
127.作为一种可选的实施方式,在对分享文件进行分享操作时,还可以接收用户输入的分享方式选择指令,根据分享方式选择指令可以确定分享方式,具体的,该分享方式具体可以为社交客户端分享、局域网分享等,对此本技术实施例不作限定。
128.作为一种可选的实施方式,请参阅图5,在对分享文件进行分享操作时,还可以接收用户输入的分享方式选择指令,根据分享方式选择指令可以确定分享方式,具体的,该分享方式具体可以为社交客户端(如qq、微信等)分享、局域网分享等,对此本技术实施例不作限定。
129.请一并参阅图6,图6是本技术实施例提供的一种分享文件编辑修改的流程示意图。实施图5和图6所示的分享方法,能够在用于想要分享时,选择分享的文件格式和分享的方式等,对此本技术实施例不作限定。
130.可见,实施图2所描述的数据分享方法,在进行数据分享时,能够实现不同编程语言的转换,且在分享时能够自由修改调整,进而有利于提升用户体验,增加学习兴趣。
131.请参看图3,图3为本技术实施例提供的一种数据分享装置的结构示意图。如图3所示,该数据分享装置包括:
132.获取单元310,用于在接收到用户输入的分享指令时,根据分享指令获取待分享的原始编程语言数据;
133.语言转换单元320,用于在接收到用户输入的语言转换指令时,对原始编程语言数据进行语言转换,得到第一语言数据;
134.输出单元330,用于输出第一语言数据进行预览;
135.修改单元340,用于在接收到用户针对第一语言数据输入的修改指令时,根据修改指令对第一语言数据进行修改处理,得到第二语言数据;
136.补全单元350,用于对第二语言数据进行完整性补全处理,得到第三语言数据;
137.文件生成单元360,用于根据第三语言数据生成分享文件;
138.分享单元370,用于对分享文件进行分享操作。
139.可见,实施图3所描述的数据分享装置,在进行数据分享时,能够实现不同编程语言的转换,且在分享时能够自由修改调整,进而有利于提升用户体验,增加学习兴趣。
140.请一并参阅图4,图4是本技术实施例提供的一种数据分享装置的结构示意图。其中,图4所示的数据分享装置是由图3所示的数据分享装置进行优化得到的。如图4所示,语言转换单元320,包括:
141.第一确定子单元321,用于在接收到用户输入的语言转换指令时,确定原始编程语言数据的原始编程语言类型;以及根据原始编程语言类型确定可转换的备选编程语言类型;
142.输出子单元322,用于输出备选编程语言类型;
143.接收子单元323,用于接收用户从备选编程语言类型中选择的目标语言类型;
144.转换子单元324,用于根据目标语言类型对原始编程语言数据进行语言转换,得到
第一语言数据。
145.作为一种可选的实施方式,转换子单元324包括:
146.识别模块,用于遍历原始编程语言数据,并识别原始编程语言数据中每段代码对应的语义信息;
147.获取模块,用于获取与目标语言类型对应的语法库;
148.匹配模块,用于根据语法库和语义信息匹配原始编程语言数据中每段代码相对应的替代代码;
149.转换模块,用于根据替代代码对原始编程语言数据进行语言转换处理,得到第一语言数据。
150.作为一种可选的实施方式,补全单元350包括:
151.判断子单元351,用于判断第二语言数据是否完整;
152.第二确定子单元352,用于在判断出第二语言数据不完整,确定第二语言数据的编程语言类型;以及根据编程语言类型确定第二语言数据中的缺失部分;
153.填补子单元353,用于根据缺失部分对第二语言数据进行自动填补处理,得到第三语言数据。
154.作为一种可选的实施方式,文件生成单元360包括:
155.第三确定子单元361,用于确定第三语言数据的目标语言类型;
156.匹配子单元362,用于匹配与目标编程语言类型相对应的文件格式;
157.生成子单元363,用于根据文件格式和第三语言数据,生成分享文件。
158.可见,实施图4所描述的数据分享装置,在进行数据分享时,能够实现不同编程语言的转换,且在分享时能够自由修改调整,进而有利于提升用户体验,增加学习兴趣。
159.本技术实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本技术实施例1或实施例2中任一项数据分享方法。
160.本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本技术实施例1或实施例2中任一项数据分享方法。
161.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
162.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
163.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
164.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
165.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
166.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1