一种分层和众包的编程语言制造技术

技术编号:37129200 阅读:13 留言:0更新日期:2023-04-06 21:27
本发明专利技术公开了一种分层和众包的编程语言,包括抽象语言层、传统编程语言层以及虚拟命名空间;抽象语言层支持流式数据操作、多媒体数据类型、组合数据结构;传统编程语言层包括若干种编程语言的结合,用于为抽象语言层提供支撑;虚拟命名空间为树状结构,包括非叶节点与叶节点,非叶节点表示细分的功能模块,叶节点表示具体的服务或功能。该编程语言内置图像、文本、音频、视频等数据类型,方便人工智能应用开发。该编程语言统一了远程服务的调用过程,通过两层语言将实现细节隐藏在传统编程语言层,在高层语言提供一致的调用方式,通过虚拟命名空间统一相同功能的接口。较于传统程序设计,该语言能够降低软件的开发难度,在语言演化效率上较优。化效率上较优。化效率上较优。

【技术实现步骤摘要】
一种分层和众包的编程语言


[0001]本专利技术属于人工智能应用及云计算
,特别是涉及一种分层和众包的编程语言。

技术介绍

[0002]传统程序设计语言更加专注于运行效率,而忽略了人工智能背景下的人工智能服务调用的简易性。人工智能背景下,人工智能任务本质上是某种数据类型转到另一种数据类型,源数据类型和目标数据类型可能是不同的,也有可能是相同的。图像、文本、音频、视频这四种类型可以涵盖大多数人工智能的应用,例如文本转图像、语音识别等任务,均是在上述四种类型之间通过模型调用进行类型转换。现有的主流程序设计语言由于设计目标不同,且演化比较慢,无法直接支持现有的对多媒体数据进行处理的需求,只能用第三方库的方式对基本数据类型进行封装,实现对这些数据类型的间接支持,这给程序设计带来了额外的成本,也降低了程序的适用性。与此同时,现有主流语言不能够原生支持远程的服务调用,这更加导致了无法以一种统一的方式进行远程过程调用。

技术实现思路

[0003]本专利技术的目的是提供一种分层和众包的编程语言,以解决上述现有技术存在的问题。
[0004]为实现上述目的,本专利技术提供了一种分层和众包的编程语言,包括抽象语言层、传统编程语言层以及虚拟命名空间;所述抽象语言层支持流式数据操作、多媒体数据类型、组合数据结构;所述流式数据操作包括但不限于合并、过滤、拆分,所述多媒体数据类型包括但不限于图像、音频、视频、文本、表格,所述组合数据结构包括但不限于哈希和数组的组合嵌套;
[0005]所述传统编程语言层包括若干种编程语言的结合,用于为所述流式数据操作、所述多媒体数据类型以及所述组合数据结构提供支撑;
[0006]所述虚拟命名空间为树状结构包括非叶节点与叶节点,所述非叶节点表示细分的功能模块,所述叶节点表示具体的服务或功能。
[0007]可选地,所述抽象语言层支持流式调用,且支持并行调用。
[0008]可选地,所述分层和众包的编程语言对所述多媒体数据类型进行统一的数据表示,同时提供操作数据的内置方法,并且将所述多媒体数据类型作为单独的数据类型。
[0009]可选地,在所述虚拟命名空间中,同一个所述叶节点下的功能由相同的调用接口实现,且同一个所述叶节点下包括多个不同的调用接口。
[0010]可选地,在所述抽象语言层中的编程人员通过using声明引用所述虚拟命名空间中的任一模块或功能。
[0011]可选地,所述叶节点之下的功能由节点位置、功能名称、提供者进行定义;所述功能名称为该功能被调用的名称;所述提供者包括但不限于公司名称、个人用户名。
[0012]可选地,所述传统编程语言层的开发人员对所述虚拟命名空间中的服务或功能进行实现,并上传或部署实现的模块。
[0013]可选地,所述传统编程语言层的开发人员对所述虚拟命名空间进行扩展,在已有命名的基础上定义新的命名,并给出对应的实现。
[0014]可选地,所述虚拟命名空间采用集中式管理或基于区块链的分布式记账,所述抽象语言层的程序设计人员在所述虚拟命名空间中引用相关的实现并构建应用;
[0015]对于所述虚拟命名空间中同一个服务或者功能的多个实现,通过使用者打分评价进行排序,排序结果供其他程序设计人员参考。
[0016]可选地,所述分层和众包的编程语言支持模型和服务云端调用,使用所述分层和众包的编程语言所构造的程序支持本地执行与远端执行。
[0017]本专利技术的技术效果为:
[0018]本专利技术所提供的的编程语言内置图像、文本、音频、视频等数据类型,方便人工智能应用开发。该编程语言统一了远程服务的调用过程,通过两层语言将实现细节隐藏在传统编程语言层,在高层语言提供一致的调用方式,通过虚拟命名空间统一相同功能的接口。在程序设计的便利性上,较于传统程序设计语言,降低了软件开发的难度。该编程语言在语言演化效率上也优于传统程序设计语言。
附图说明
[0019]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020]图1为本专利技术实施例中的程序设计结构示意图;
[0021]图2为本专利技术实施例中虚拟命名空间和语言的快速演化示意图;
[0022]图3为本专利技术实施例中的多媒体类型与语义化嵌套集合类型示意图。
具体实施方式
[0023]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0024]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0025]实施例一
[0026]如图1

3所示,本实施例中提供一种分层和众包的编程语言:
[0027]所述的编程语言是一种层次化的程序设计语言。第一层是一个抽象的语言层,支持流式数据操作(例如合并、过滤、拆分等),多媒体数据类型(例如图像、音频、视频、文本和表格等),以及组合的数据结构(例如哈希和数组的组合嵌套)。第一层语言支持流式调用,即数据通过管道符的方式从上一个操作的输出“流入”下一个操作的输入,且这一操作可以是链式的,即并列多个管道操作。第一层语言支持粗粒度的人工智能背景下的数据类型。例如,图片、文本、音频、视频、表格数据等。常见的程序设计语言通常有着大量的图片处理库或者音频处理库等,而缺乏一个统一的表示,这就导致很难将基于这些类型的人工智能模
型应用到所有这些基本表示,需要将所有这些类型都转换为一个统一的表示。该语言提供统一的数据表示,以及操作这些数据的内置方法。此外,将嵌套的集合数据类型作为单独的数据类型,以支持更加语义化的数据处理。第二层基于现有的编程语言实现,是第一层的基础和实现支撑,其基本做法是通过传统语言的组合实现对第一层的流式操作、粗粒度数据类型和组合数据结构的支撑。第一层面向非专业用户,其主要目的是简化程序设计,提高软件的开发效率;第二层次面向已有的程序设计人员,主要是为了基于已有的语言体系实现对更为抽象的操作的封装。
[0028]所述的编程语言使用统一语言标准库的组织以及支持众包共建共享。现有语言的发展演化比较偏慢,语言的改进严重滞后于实际应用开发的需求,一般是从库开始支持某种功能或者特征,最后再上升到语言层面支持。考虑到各个程序设计人员重复开发相同的模块,更多的企业逐步通过云平台为大众提供人工智能和数据分析方面的服务等两个方面的因素,本专利技术针对人工智能和大数据领域的进行调研,抽取领域共性应用算子,总结各个算子之间的耦合关系和关联关系,将其按照实体关系的形式转化为树状的语言的虚拟命名空间。其中每个非叶节点表示细分的功能模块,叶节点表示具体服务或者功能。每个叶节点的服务或者功能可以有多个不同的实现,这些实现有可能是来自企业的云服务,也有可能是个人本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分层和众包的编程语言,其特征在于,包括抽象语言层、传统编程语言层以及虚拟命名空间;所述抽象语言层支持流式数据操作、多媒体数据类型、组合数据结构;所述流式数据操作包括但不限于合并、过滤、拆分,所述多媒体数据类型包括但不限于图像、音频、视频、文本、表格,所述组合数据结构包括但不限于哈希和数组的组合嵌套;所述传统编程语言层包括若干种编程语言的结合,用于为所述流式数据操作、所述多媒体数据类型以及所述组合数据结构提供支撑;所述虚拟命名空间为树状结构包括非叶节点与叶节点,所述非叶节点表示细分的功能模块,所述叶节点表示具体的服务或功能。2.根据权利要求1所述的分层和众包的编程语言,其特征在于,所述抽象语言层支持流式调用,且支持并行调用。3.根据权利要求1所述的分层和众包的编程语言,其特征在于,所述分层和众包的编程语言对所述多媒体数据类型进行统一的数据表示,同时提供操作数据的内置方法,并且将所述多媒体数据类型作为单独的数据类型。4.根据权利要求1所述的分层和众包的编程语言,其特征在于,在所述虚拟命名空间中,同一个所述叶节点下的功能由相同的调用接口实现,且同一个所述叶节点下包括多个不同的调用接口。5.根据权利要求1所述的分层和众包的编程语言,其特征在于,在所述抽象...

【专利技术属性】
技术研发人员:姚锡莱计卫星王一拙谢觉
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1