[发明专利]面向线程连接网络的层次化编程方法在审

专利信息
申请号: 201610042985.3 申请日: 2016-01-22
公开(公告)号: CN106997287A 公开(公告)日: 2017-08-01
发明(设计)人: 陈艳平 申请(专利权)人: 陈艳平
主分类号: G06F9/44 分类号: G06F9/44;G06F9/54
代理公司: 暂无信息 代理人: 暂无信息
地址: 550025 贵*** 国省代码: 贵州;52
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 面向 线程 连接 网络 层次 编程 方法
【说明书】:

技术领域

本发明属于计算机软件工程中的程序设计和软件开发领域。

背景技术

模块化编程根据问题域来分解系统,一个程序通常包含各种独立而又互相调用的模块(本专利中所说的模块指程序设计中的对象、函数、方面、子程序等)。模块化编程可以降低程序复杂度,使程序设计、调试和维护等操作简单化。各模块互相独立还可以支持各模块的独立开发和代码重用,从而提高软件开发的速度。为了支持模块化编程中各模块之间的通讯,通常使用函数调用、信号量、管道、全局变量等方法实现。传统模块化编程的不足之处在于,将系统分解成模块破坏了问题域中各部分功能之间的联系。现有的通讯方法虽然能支持分解后各模块之间的通讯,但效率低,实现起来复杂,增加了系统开发和维护的难度。在实际应用中,经常会出现有些功能很难模块化的问题。

本发明提出一种层次化编程模型,通过构建互相连接的线程,使系统中的模块能进行互相通讯。互连的模块按照预定义的协议,通过线程连接网络,进行层层通讯。层次化编程(也叫协议编程)定义一系列的协议,控制和协调各模块之间的通讯。提供服务(本发明中的所提到的服务,指模块提供的功能,如函数等)的模块按照预定义的协议发布和注册服务,需要服务的模块同样按照协议申请服务。模块之间的通讯利用线程之间互相发送消息来实现。

以本发明相近的方法,已经有很多研究。消息传递接口(Message Passing Interface,MPI)是一个面向高性能并行计算的编程接口。MPI的核心构造是消息传递:一个进程将信息打包成消息,并将该消息发送给其他进程。MPI包含一些例程,这些例程可以同步进程、求分布在进程集中的数值的总和、在同一个进程集中分配数据,以及实现更多的功能。MPI作为一种消息传递编程模型,其目的是为了服务于进程间的通信。MapReduce作为一种编程模型,主要用于大规模数据集的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。Erlang是一种通用的面向并发的编程语言,是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。

以上几种相关的方法均采用进程或线程之间的消息传递来支持分布式或并行的编程环境。本发明同样基于消息传递机制,重点在于构建一个线程连接网络,用于连接实例化的模块(如,对象等),从而支持层次化编程模型。

发明内容

本发明提出一种层次化编程方法。该方法通过构建线程连接网络的,为程序设计中每个实例化的模块提供一种消息传递机制。系统中的所有模块通过线程连接网络互相通讯。从而实现互相之间的消息传递,如:函数调用、结果返回等。从而支持各模块之间的并行,分布式和流水等并发计算。其模型框架如附图1所示。

面向线程连接网络的层次化编程下的系统实现可以包含三层:传输层、服务层和应用层。其中的传输层和服务层统称协议实现。每一层由一个类实现。相邻层的类通过继承,实现下层对上层的支持。实现传输层的类即为基类,其中声明了三个线程:配置线程、连接线程和行为线程。配置线程用于模块的配置和初始化。连接线程用于构件线程连接网络,提供消息传统功能。行为线程用于处理传输层中定义的其它功能。在服务层中声明了一个执行线程,用于执行模块中提供的服务。如果模块以线程方式提供服务,则在应用层应声明一个工作线程。

本发明的贡献在于:①提出了一种层次化编程模型。②提出了面向线程连接网络的消息传递机制。③提出了基于线程连接网络的的两种服务请求方式(同步请求和异步请求)和两种执行模式(函数服务和线程服务)。

附图说明

图1是本发明所述层次化编程模型的示意图。

具体实施方案

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈艳平,未经陈艳平许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610042985.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top