分布式开发的技术关键
- 格式:pdf
- 大小:482.25 KB
- 文档页数:4
分布式能源储能技术及关键技术研究摘要:进入工业化社会后,对能源的依赖更加严重。
另一方面,传统能源燃烧时产生的CO2、NOX、SO2和烟尘等污染物不仅造成全球温室效应加剧,同时引发了雾霾等环境问题。
传统发展模式造成资源日渐短缺、环境严重污染、生态明显恶化,人类亟待寻求新的清洁能源方式,分布式能源成为能源领域的一个突破。
关键词:分布式能源;储能技术;关键技术;引言分布式能源是指分布在用户端的能源综合利用系统,具有能效利用合理、损耗小、污染少、运行灵活、系统经济性好等特点。
目前,我国高度重视节能减排和能源结构优化工作,正在大力转变能源发展方式,积极调整和优化能源产业结构,实现能源利用的多元化发展。
1分布式能源的特点相比于传统能源方式,分布式能源系统具有了以下方面的优势:(1)能够提高能源利用效率。
能够高效地对冷、热、电能等多种形式的能源实现梯级利用。
(2)实现生态环境效益。
综合分布式能源系统能够对多种清洁能源形式进行有效利用,其中风能、太阳能等更有助于实现生态环保。
(3)创造良好经济效益。
由于分布式能源系统能够减少大型电网和大型热力管网的建设,节约了大量的集中供能成本,实现良好的经济效益。
(4)提高安全可靠性能。
分布式能源减少了远距离传输的环节,可靠性和安全性都得到了较好的保障。
2分布式储能系统分布式储能系统具有很大的灵活性,从几千瓦到数万瓦不等。
多点接入用户端及低功耗的中低压配电网。
分布式储能系统在接入配电网络时,可以与分布式电源并联,也可以与低压配电网络进行单独的连接。
分布式储能系统可以应用于配电网络的各个环节,可以有效地提高系统的安全、稳定,减少大规模风电并网对电网的影响,从而改善电网的供电品质,增强风力发电的容量,为智能电网的发展提供了强有力的保证。
与集中式储能系统相比,它不需要太高的接入环境,也不需要太多的自然条件,而在接入电网时,它具有更大的灵活性。
然而,它的建造和维修费用要比集中式储能系统高得多。
分布式能源储能技术及关键技术研究摘要:分布式能源(DG)是指电源靠近用户侧,发出的电能可以被附近用户就地利用,其接入电网的电压等级在10kV及以下,并且单台装机容量不超过6MW 的发电项目。
当前,能源短缺与环境污染是制约经济和社会可持续发展的主要瓶颈,开发先进供能系统已成为我国实施节能减排战略,构建清洁低碳、安全高效能源体系的重大需求。
分布式能源系统作为集中式能源供应的重要补充手段,将传统“源—网—荷”间的刚性链式转变为便于调控的“源—荷”柔性连接,是实现能源转型和能源利用技术变革的重要方向。
分布式能源系统在地理位置上位于或临近负荷中心,避免了能源大规模输送导致的能源损耗和基础设施投资,实现了能源的就地生产与消纳。
在燃料利用上具有多元灵活的特点,不仅可以采用天然气、氢气作为燃料,还可以利用太阳能、生物质等可再生能源,在“碳中和”目标下,以可在生能源为主体的多能源互补的分布式能源系统是实现我国能源转型可持续性发展的必由之路。
关键词:分布式能源;储能技术;关键技术引言近年来,我国光伏等分布式新能源电源不断接入配电网,其电能、电力输出易受环境影响,具有时变性、波动性和随机性,而且利用率低。
由此,分布式电源的大规模接入,不仅对配电网运行造成双向功率流、电压波动等诸多影响,而且也给电力系统运行调度的备用配置及调节灵活性带来困难。
因此,如何处理分布式电源出力不确定性,是主动配电网运行调度研究领域所要解决的关键问题。
1多能互补分布式能源系统的研究框架多能互补分布式能源系统是探究异质能源耦合机理、推广先进能源技术的前沿阵地。
受节能减排和碳中和政策的影响,能源供应逐渐由传统能源驱动向可再生能源驱动转变,能源技术进步促使能源传递和转化过程更加复杂,移动应用和用户侧需求响应等使得用能需求呈现出多元化发展。
这些因素导致多能互补分布式能源系统的研究内容愈发丰富,主要研究内容包括:(1)间歇性和波动性的可再生能源资源量化表征,以及中长期、短期、超短期多元负荷预测;(2)涵盖冷热电气在内的多元异质能源建模;(3)包括多能互补分布式能源系统结构创新、能源站优化配置、以及站网联合规划在内的系统集成优化;(4)考虑系统源荷时序匹配的运行优化与主动能量调控;(5)计及能效、经济、环保、安全及社会效益在内的多属性指标体系和综合评价。
分布式系统常用技术1.引言1.1 概述在分布式系统(Distributed System)领域中,随着互联网、云计算等技术的快速发展,分布式系统已经成为了重要的研究领域之一。
相较于传统的集中式系统,分布式系统通过将计算任务分散到多台计算机上进行并行处理,提高了系统的可靠性、可扩展性和性能。
概括来说,分布式系统是由多台互相连接的计算机组成的系统,这些计算机通过网络进行通信和协调,共同完成一个整体任务。
在分布式系统中,每台计算机都是一个节点(node),每个节点可以独立运行、存储数据,并通过消息传递或共享内存的方式与其他节点进行通信。
分布式系统的关键挑战之一是如何有效地实现节点之间的通信和协调。
由于节点之间的通信可能涉及网络延迟、不可靠的网络连接、部分节点失效等问题,因此在设计分布式系统时需要考虑如何处理这些不确定性因素。
常见的解决方案包括使用一致性算法来保证节点之间的数据一致性,通过故障恢复机制来应对节点失效,以及使用分布式存储系统来提高数据的可靠性和可扩展性。
除了通信和协调的挑战,分布式系统还面临着资源管理、容错性、可扩展性等多个方面的挑战。
如何高效地分配和管理系统的资源,以及如何应对节点故障和系统负载的变化,都是分布式系统设计和实现时需要考虑的重要问题。
在本文中,我们将介绍一些常用的分布式系统技术,包括分布式文件系统、分布式数据库、分布式缓存等。
通过了解这些技术,读者可以对分布式系统的基本原理和实践有一个更全面的了解,并可以在实际应用中选择适合的技术来解决自己的问题。
在接下来的章节中,我们将详细介绍每个技术的基本概念、工作原理和应用场景。
希望本文能够对读者有所启发,为大家在分布式系统领域的学习和实践提供一些参考和指导。
1.2 文章结构文章结构部分的内容可以概括为以下几点:在本文中,将对分布式系统常用技术进行全面的介绍和分析。
文章将按照以下结构来进行论述:第一部分是引言部分。
首先对分布式系统的概念进行简要的介绍,包括其定义和基本原理。
Java分布式技术方案引言随着互联网的快速发展,大规模分布式系统的需求越来越多。
分布式系统能够提供高可用性、横向扩展和容错性等优势,使得系统能够应对高并发、海量数据的处理需求。
Java作为一种高效、可靠的编程语言,在构建分布式系统方面具有广泛的应用。
本文将介绍一些常见的Java分布式技术方案,包括Dubbo、Spring Cloud和Apache Kafka等。
1. DubboDubbo是阿里巴巴开源的一款高性能、轻量级分布式服务框架。
它具有简单易用、可扩展性强的特点,可以帮助开发者快速构建分布式系统。
Dubbo提供了丰富的特性,包括服务治理、负载均衡、集群容错、动态配置等,可以满足不同规模的分布式系统需求。
Dubbo的架构包括服务提供者、服务消费者和注册中心三个角色。
服务提供者将服务注册到注册中心,服务消费者从注册中心获取服务地址,然后通过远程调用实现服务通信。
Dubbo支持多种通信协议,包括Dubbo协议、REST协议和Hessian协议等。
此外,在高并发场景下,Dubbo还支持多种负载均衡策略和集群容错机制,保证系统的稳定性和性能。
2. Spring CloudSpring Cloud是一套快速构建分布式系统的工具集合,基于Spring框架。
它提供了一系列的解决方案,帮助开发者实现服务注册与发现、负载均衡、断路器、网关等功能。
Spring Cloud利用Netflix开源的组件构建分布式系统。
其中,Eureka是用于服务注册与发现的组件,可以使服务提供者和消费者自动实现发现和通信。
Ribbon是一种客户端负载均衡的组件,可以根据配置和负载算法,将请求分发到不同的服务实例。
Hystrix是一种断路器模式的实现,可以保护整个系统免受故障服务的影响。
Zuul是一种服务网关,可以提供动态路由和过滤器等功能。
Spring Cloud通过使用这些组件,可以极大地简化分布式系统的开发和部署。
它提供了一致的开发模型和配置方式,使得开发者可以专注于业务逻辑的实现。
分布式云数据中心架构及管理关键技术黄峰【摘要】目前业界流行的云计算旨在解决单个云数据中心的问题,而无法解决多个云数据中心之间资源共享、统一管理、提升业务服务质量的问题。
为此,提出了分布式云数据中心( DC2)的概念及架构,并研究了分布式云数据中心的管理及服务的关键技术。
分布式云数据中心能将传统数据中心的分散、分层、异构架构,改为全扁平式、统一资源管理的分布式云数据中心架构,从而将多个不同地域、不同阶段、不同规模的单体云数据中心所有资源,通过逻辑集中进行统一管理、统一运营,最终使云数据中心更高效、更可靠、更绿色。
%At present, the popularized cloud calculation in professional field can solve the issue of individual cloud data center, but cannot solve the issue among multiple cloud data centers, such as resource sharing, unified management, and upgrading the quality of business services. Thus the concept and architecture of distributed cloud data center( DC2 ) is proposed, and the critical technologies for management and services of the distributed cloud data center are researched. The distributed cloud data center can change the traditional data centers with scattered, hierarchical and heterogeneous architectures into distributed cloud data center with a whole flat architecture and unified resource management. The solution proposed makes all the resources in multiple individual cloud data centers located in different regions, different stages, and different scales integrated logically for unified management and operation, to reach the status of higherefficient, more reliable and more environment protection for cloud data center.【期刊名称】《自动化仪表》【年(卷),期】2014(000)008【总页数】5页(P1-4,9)【关键词】分布式云数据中心(DC2);数据中心即服务(DCaaS);管理即服务(MaaS);网络即服务(NaaS);存储虚拟化;网络虚拟化【作者】黄峰【作者单位】上海仪电电子集团公司,上海 200233【正文语种】中文【中图分类】TP302+.1Network as a service(NaaS) Storage virtualization Network virtualization 当前,云计算对于IT行业来说是一个巨变,就像用电网代替本地发电机一样。
区块链开发的几个关键技术区块链是一种去中心化的分布式数据库技术,通过使用加密算法保证数据的安全性和不可篡改性。
它的应用范围十分广泛,包括加密货币、智能合约等。
在区块链的开发过程中,有几个关键技术需要掌握和应用,本文将对这些关键技术进行介绍。
一、分布式网络技术分布式网络是区块链的基础,它由多台计算机组成,这些计算机被称为节点。
在分布式网络中,每个节点都有自己的副本,并且可以通过网络与其他节点进行通信和交互。
分布式网络的特点是去中心化,不存在单点故障,并且具有高可扩展性和抗攻击性。
常见的分布式网络技术包括点对点网络、BFT算法和拜占庭容错算法等。
二、密码学技术密码学技术是保证区块链数据安全性和机密性的关键,它包括对称加密算法、非对称加密算法和哈希函数等。
对称加密算法使用相同的密钥对数据进行加密和解密,速度较快;非对称加密算法使用公钥和私钥对数据进行加密和解密,安全性更高;哈希函数可以将任意长度的数据映射为固定长度的哈希值,具有唯一性和不可逆性。
在区块链开发中,密码学技术被广泛应用于数据的加密和身份的验证等方面。
三、共识机制共识机制是保证区块链数据一致性和可信度的关键,它确定了不同节点对于区块链数据的认可方式。
共识机制通常需要通过投票、竞争或权益证明等方式来选择生成区块的节点,并确保生成的区块得到其他节点的认可和接受。
常见的共识机制包括工作量证明(POW)、权益证明(POS)和拜占庭容错(BFT)等。
不同的共识机制具有不同的特点和适用场景,开发者需要根据实际需求选择合适的共识机制。
四、智能合约智能合约是一种基于区块链的自动化合约,它通过预先设置的规则和条件来执行和管理交易。
智能合约可以实现去中心化的交易和自动化的执行,消除了中间人的干预和风险。
智能合约通常使用特定的编程语言编写,如Solidity,然后通过特定的开发工具进行部署和执行。
智能合约的开发需要掌握编程技巧和区块链平台的相关知识。
五、跨链技术跨链技术是解决不同区块链之间互操作性问题的关键,它可以实现不同区块链之间的数据传输和价值交换。
分布式应用架构通用技术能力要求第1部分以分布式应用架构通用技术能力要求随着互联网的快速发展和用户需求的不断增加,传统的单体应用架构已经无法满足大规模用户的需求。
分布式应用架构作为一种新兴的解决方案,可以将应用系统分割成多个独立的模块,并将这些模块部署在不同的服务器上,以提高系统的可伸缩性、容错性和性能。
在分布式应用架构中,通用技术能力是开发人员必备的基础能力之一。
下面将介绍分布式应用架构通用技术能力的要求。
分布式应用架构要求开发人员具备扎实的分布式系统理论知识。
他们应该了解分布式系统的基本概念,如一致性、可用性、分区容错等,并能够应用这些理论知识解决实际的分布式应用问题。
开发人员需要掌握分布式系统的架构设计和模式。
他们应该知道如何将一个大型应用系统拆分成多个可独立部署的模块,并设计出模块间的通信和协作方式。
常用的分布式系统架构模式包括微服务架构、服务总线架构和事件驱动架构等。
开发人员应具备良好的分布式数据管理能力。
他们需要熟悉分布式数据库的设计和使用,掌握数据分区、数据复制和数据一致性等技术。
此外,他们还需要了解分布式缓存、分布式文件系统和分布式存储系统等相关技术,以提高系统的性能和可靠性。
在分布式应用架构中,高并发和负载均衡是必不可少的考虑因素。
因此,开发人员需要具备高并发编程和负载均衡技术的能力。
他们应该了解多线程编程和并发控制技术,并能够设计和实现高效的负载均衡算法。
分布式应用架构还要求开发人员具备分布式系统的监控和调试能力。
他们需要掌握分布式日志管理和分布式跟踪技术,以便及时发现和解决系统中的问题。
同时,他们还需要了解分布式系统的性能调优和容量规划方法,以提高系统的稳定性和可靠性。
开发人员还应具备良好的沟通和协作能力。
分布式应用架构往往涉及多个开发团队和多个模块的协作,因此,开发人员需要能够与团队成员和其他相关人员进行有效的沟通和协作,以保证项目的顺利进行。
分布式应用架构通用技术能力要求开发人员具备扎实的分布式系统理论知识、架构设计和模式能力、分布式数据管理能力、高并发和负载均衡技术能力、分布式系统的监控和调试能力,以及良好的沟通和协作能力。
云计算的关键技术云计算(cloudcomputing,分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。
稍早之前的大规模分布式计算技术即为“云计算”的概念起源。
云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。
云计算的核心技术(1)编程模型MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。
严格的编程模型使云计算环境下的编程十分简单。
MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。
(2)海量数据分布存储技术云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。
云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。
GFS即Google文件系统(GoogleFileSystem),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。
GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。
它运行于廉价的普通硬件上,但可以提供容错功能。
它可以给大量的用户提供总体性能较高的服务。
一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。
主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。
分布式视频会议系统的关键技术及实现引言在目前已成为计算机领域热点的群组协作计算工具中,视频会议系统是其中的一个重要组成部分。
电路交换网络中的视频会议系统已有较成熟的模型,如ITU的H.320标准等,但分组交换网(包括Ethernet、Internet等)的使用正日益普及,新的解决方案必须着重考虑如何利用这种网络来实现视讯系统。
本文提出的方案并不针对某种具体网络,而是根据Internet上多点视频会议系统的需要设计的。
它充分利用了分组交换网多播功能和高带宽特点,是基于RTP协议的分布式多点会议系统,端主机是支持IP多播的Solaris 2.x系统,具有以下特点:每个节点的数据通过多播到达其他节点。
音频和视频的合成由端主机完成。
不使用参考时钟实现发送/接收编解码器的良好同步,对分组抖动和丢失有较好控制。
动态流控机制允许视频压缩器根据网络状态调整发送率。
采用一种适合IP网络并能穿越防火墙的目录服务体系。
分布式视频会议系统的关键技术会议系统的控制和数据传送这是集中式方案中MCU的主要功能,在分布式系统中,MCU的功能可由网络和/或端节点来实现。
在我们的方案中,数据传送主要利用了分布式网络的多播功能,不少控制功能都由端主机和网络共同实现。
带宽的有效使用和服务质量保证分组交换网的复用机制可有效利用带宽,但也可能导致报文抖动甚至丢失。
Internet大部分还未实现服务质量(QoS)保证,传统应用中通常由较高层TCP/IP协议来保证可靠传输。
TCP用重传机制实现可靠传输,其内部流控机制根据确认包动态调整发送率。
对于实时会议,重传导致的延迟是无法忍受的,因此传输层协议使用不具有可靠传输和内部流控制的UDP,而端到端同步和流控的任务则转嫁到视频会议系统上。
目录服务功能Internet不像电路交换网,它没有统一的寻址机制,另外还存在防火墙和地址不公开的问题,因此目录服务是分布式会议系统中要解决的重点问题。
分布式多点视频会议系统的具体实现方案整体结构该系统的主要硬件如下:音频/视频捕捉/回放卡。
第28卷第1期2007年3月上 海 海 事 大 学 学 报JOURNAL OF SHANGHA IMAR I TI M E UN I V ERSI TYVol .28 No .1Mar .2007文章编号:167229498(2007)0120028204A I S 信息分布式采集系统的开发及关键技术纪贤标1,邵哲平2,潘家财2,孙腾达2,3(1.集美大学工商管理学院,福建厦门 361021;2.集美大学航海学院,福建厦门 361021;3.中国科学院地理科学与资源研究所,北京 100101)摘 要:论述基于A I S 的船舶信息综合服务系统拓扑结构和其中的分布式数据采集系统的功能结构,实现信息帧的动态分解、数据来源归属地的动态转换、数据库接口等关键算法和技术,实践证明了该A I S 信息分布式采集系统的实用性.关键词:船舶;A I S;分布式采集系统;功能结构中图分类号:U675.7;TP391 文献标志码:ADevelop ment of distri buted dat a collecti on syste m ofA I S i n for mati on and key techn i quesJ I Xianbiao 1,SHAO Zhep ing 2,PAN J iacai 2,S UN Tengda2,3(1.Business Ad m inistrati on School,J i m ei Univ .,Xia men Fujian 361021,China;2.Navigati on College,J i m ei Univ .,Xia men Fujian 361021,China;3.I nstitute of Geographical Sciences &Natural Res ources Research,Chinese Acade my of Sciences,Beijing 100101,China )Abstract:The t opol ogy of the integrated navigati on service syste m based on A I S infor mati on and the functi on fra me work of the distributed data collecti on system are discussed .The key algorithm s and tech 2niques,including the dyna m ic divisi on of A I S inf or mati on fra me,the dyna m ic translati on of the original data s ource and the interface of database,etc .,are realized by the distributed data collecti on syste m.The syste m is p r oved t o be p ractical .Key words:vessel;A I S;distributed data collecti on syste m;functi on fra me work收稿日期:2007201205基金项目:福建省自然科学基金计划资助项目(A0640007)作者简介:纪贤标(19732),男,福建尤溪人,讲师、工程师,硕士,从事管理信息系统、数据库应用等研究,(E 2mail )jixianbiao@j m u .edu .cn;邵哲平(19642),男,福建福州人,教授,船长,博士,从事交通信息工程及控制、航海技术等研究,(E 2mail )z p shao@j m u .edu .cn0 引 言船舶自动识别系统(A I S )是船舶发射和接收船位、航速、航向等船舶动态和静态信息的一种信息机制,是实现避碰、港口VTS 系统、船舶跟踪、船舶搜救等应用的重要技术手段之一,对提高航运安全、改善航运管理、减少海洋污染具有重要意义.为此,国际海事组织对强制安装A I S 系统的船舶类型及时间限制都做出具体的规定.[123]相信随着时间的推移及全球航运业务的发展,装有A I S 船舶的数量必将迅速增长.同时,随着信息加工技术的飞速发展,“信息是一种财富”的观念也越来越深入人心.[4]现在,基于全球海量的A I S 信息的利用已经不再局限于传统的应用范围.人们针对A I S信息中有效成分进行再加工和提炼,挖掘和发现其中“看不见”的知识,用于经济预测、商业分析、市场预测、现代物流管理等新领域.目前,国外一些相关机构在A I S信息新应用领域的研究已经起步,并且达到较高的水平,而国内与A I S相关的研究还主要集中在A I S设备研制以及A I S的传统利用层面上.因此,积极开展A I S信息的深层次、多角度综合利用研究,对于提高我国的A I S 信息利用水平、开发和保护“A I S信息财富”、缩小与国外的差距具有重要意义.本文主要针对基于A I S的船舶信息综合服务系统的分布式数据采集系统的开发及关键技术进行研究.1 系统分析与需求描述由于船载A I S信息通过VHF频道发射,覆盖范围有限.为了获取全国乃至世界各地沿海、沿江及港口的过往船舶的A I S信息,必须布置数量相当的岸台A I S接收机.基于A I S的船舶信息综合服务系统拓扑结构如图1所示.整个系统的涵盖范围从A I S 接收机接收信息到为各个客户端提供电子海图显示与信息系统(ECD I S)、海事管理、联机分析处理(OLAP)、决策支持、数据转发等服务.其中,从A I S接收机到数据服务器之间经过数据协议转换处理、图1 基于A I S的船舶信息综合服务系统拓扑结构数据发送、I nternet传输环节,这些环节的组合构成A I S信息分布式采集系统.A I S接收机的输出采用标准的RS232接口,而数据协议转换器则将从RS232接口收到的数据经过协议转换处理后,传送到T CP/ I P网络上.目前,市场上已有成熟的数据协议转换器产品可供选用,经过配置即可投入工作,因此,A I S 信息分布式采集系统的开发工作主要集中在数据服务器端的软件系统设计和开发上面(以下如不作特别说明,A I S信息分布式采集系统则专指服务器端的软件系统). 经深入调研、综合分析及实践验证,A I S信息分布采集系统存在如下的需求:(1)实时、并发接收各地数据协议转换器通过I n2 ternet发来的A I S信息,为EC D I S、海事管理、数据仓库建设、OLAP、D M(数据挖掘)等应用提供数据支持;(2)按第三方专业机构的格式和内容需求提供实时的数据支持;(3)能适应网络连接不稳定的环境;(4)支持灵活的功能转换和扩展;(5)易管理和维护,有一定的权限控制和管理;(6)系统界面友好,操作简单方便,风格统一.2 系统的功能结构分布式采集系统的功能结构如图2所示,主要包括数据接收、数据转发、数据入库、系统管理、日志/监控等子系统.图2 分布式采集系统的功能结构 (1)数据接收子系统.有选择地接收来自全国乃至世界各地沿海、沿江的岸台A I S接收机实时上传特定类型的A I S信息;把连续数据流实时动态分解为离散的A I S信息帧;执行数据来源归属地的动态转换;保存接收的A I S信息到数据服务器的本地文件.(2)数据转发子系统.通过T CP/I P网络转发数据到第三方机构,为第三方机构的上层应用提供数据支持.数据转发和接收操作实现半同步协作.在接收和转发子系统都工作良好的情况下,接收和转发几乎同步.如果转发子系统被人为停止或出现故障,92第1期纪贤标,等:A I S信息分布式采集系统的开发及关键技术数据接收操作不受任何影响.数据转发内容可以是接收到的原始数据,也可以是经过外挂程序处理的数据.(3)数据入库子系统.调用A I S解码程序,对A I S信息帧进行解码,并依据A I S信息结构和数据库表的对应关系,把解码后的数据实时导入数据库表,为后续的应用提供支持.数据入库操作与数据接收操作也是半同步协作.(4)系统管理子系统.设置数据接收端口号、数据来源地列表、转发数据的目标I P及目标端口号列表;接收信息类型的选择、转发数据的处理程序选择;接收和转发操作的起、停控制;用户、权限管理.(5)日志/监控子系统.在G U I界面上实时显示接收和转发物理网络的状况、各个A I S接收站客户端的连线情况;数据入库、接收、转发的动态信息统计;把接收和转发通道的连接、断开、错误数据等信息存到文件,供后续网络状况分析、数据错误原因分析.3 系统实现的关键技术考虑到开发周期、技术可行性及未来的升级维护等因素,本系统开发采用C++语言,基于VC的I D E环境,后台数据库采用ORACLE.3.1 Socket通信技术、多线程技术在数据接收子系统中,为了接收来自多个客户端的连接请求,服务器端首先建立一个监听Socket (该Socket对象继承自CSocket类),设置其监听端口号,然后该Socket开始监听客户端的连接请求,一旦有客户端开始连接,则开始执行监听Socket的OnAccep t事件函数.[6]为了使数据接收子系统能够同时处理多个客户端的请求,与多个客户端实现并行通信.在On Accep t事件函数中,通过监听Socket 的Accep t函数为每一个客户端连接建立通信Sock2 et,并且把通信Socket句柄往新创建的通信线程中传递.通信线程把传入的Socket句柄通过A ttach函数赋给通信线程局部Socket,接下来由局部Socket 完成与客户端的所有通信工作.多线程的相关技术包括用户界面线程的创建、线程的休眠、线程的启动、线程的退出、线程的同步和互斥,其中线程的同步和互斥是保证多线程应用程序正确、健壮、可靠运行的基础.在数据接收子系统中存在多个数据接收线程共同往本地文件写数据的临界区,另外由于数据转发子系统和数据接收子系统之间的线程通过队列实现通信和缓冲,多个数据接收线程和数据转发线程读写转发队列也属于临界区.对两个临界区的访问分别采用CCriticalSec2 ti on同步对象进行控制.[5]在实际应用过程中,往往存在线路不稳定的问题,为此引入定时自动断开机制和断线重连机制.由于数据接收子系统对应的客户端是成熟的固化产品,没有提供心跳机制,数据接收子系统无法非常正确地判断与客户端Socket通信的状态,这会给清除已经失效的Socket对象和其所在的通信线程以及界面的监控带来困难.本系统采用计时器及CSocket 类的On MessagePending函数,在计时器中设置通信Socket无正常数据传输的时间上限,在On Mes2 sagePending函数中则执行清理失效的Socket对象和通信线程操作.在数据转发系统子系统中,如果数据Send操作失败,则认为该通信Socket已经失效,接下来则首先清理失效的Socket对象,然后以一定规律的时间间隔不断地重建到转发目标的连接.3.2 A I S信息帧的动态分解流程及算法从通信Socket接收到的数据流是连续不断的,在对A I S信息进行解码之前必须依据A I S信息报文的格式,分解成离散的A I S信息帧.典型的A I S信息报文的格式如下:!aaccc,x,y,z,u,c2c,v3hh其中:“!”表示暗码A I S信息帧的开始,aaccc为数据信息的标识符,包括GPGG A,A I V D M,A I V DO等,“3 hh”表示暗码A I S信息帧的结束(“hh”为校验码).[6]A I S信息帧的分解可以静态完成,即接收后先存成文件,然后按信息帧的格式对文件内容进行扫描.这种方案的实现流程及算法简单,存在的问题是无法满足电子海图等实时性要求较高的应用场合.本系统实现了动态分解,具体流程如图3所示.该流程基于一个读取通信Socket缓冲区的循环,为了处图3 A I S信息帧动态分解流程03上 海 海 事 大 学 学 报 第28卷 理方便,每次从通信Socket 缓冲区读取一个字符.分解流程主要包括寻找帧头、复制帧的主体内容、输出A I S 帧并重置标记变量.其中,寻找帧头采用先进先出的队列模型,且在该队列每做一次更新操作后把其中的新内容与已知的前导符号加数据信息标识符相比较.寻找帧头的处理流程必须考虑到开始处理时接收到的字符不是帧头字符以及可以过滤不需要的A I S 信息类型.A I S 信息帧动态分解流程的相关字符处理函数包括me mcpy,me mc mp,me m set 等.关于A I S 数据包的校验和解包流程及相关技术详见文献[6]和文献[7].3.3 数据来源归属地的动态转换算法数据来源归属地是指沿海、沿江岸台A I S 接收机所在的行政区域.在A I S 接收机上传的A I S 信息中并没有归属地信息,所以接收子系统只能根据A I S 信息来源的I P 地址来判断归属地.具体做法是查找I P 地址段与I P 归属地的对应关系表,在算法实现上采用平衡二叉树模板类.该模板类主要包括节点增加、节点删除、节点查找、判断树的高度、获取树根等函数.在使用时首先要求构造节点数据对象,并且要求节点数据对象包含用于“关键字”比较的成员函数.节点采用复杂数据对象及比较函数的优点是在节点增加和查找时,可以实现复杂“关键字”比较,即关键字比较不仅仅是单个简单变量的比较,而是通过比较函数实现多条件、多语句的判断.实际上,在增加节点的过程中,比较函数需要完成一个I P 地址段与另外一个I P 地址段上下界的比较.它们之间存在重叠(认为数据有误)和不重叠关系.不重叠又分为I P 地址段大与小的关系,而在平衡二叉树的查找过程中,则需要完成单个I P 地址与另外一个I P 地址段上下界的比较,存在包含与不包含关系.3.4 数据库接口技术在数据入库子系统中,为了把数据导入O racle 数据库,系统调用O racle 提供的OC I 接口.OC I 是O racle 为高级语言提供的接口函数库,主要包括OC I Sessi on Begin (),OC I Sessi onEnd (),OC I Sessi onGet (),OC I St m tPrepare (),OC I St m tExecute,OC I St m t 2Fetch,OC I TransStart,OC I Trans Comm it (),OC I Tran 2s Rollback ()等会话控制、语句分析、语句执行、记录检索、存储过程调用、事务控制底层函数.[8]在实际应用时,为了提高代码的简洁性、重用性,屏蔽底层调用的繁琐细节,则依据面向对象的编程思想,将OC I 底层函数封装在数据库接口类中,极大地方便了对数据库的操作.同时为了减少入库操作的系统异常,在接口类中还增加了待入库数据的类型、宽度等合法性检查.4 结束语经过大量测试和实践检验,该A I S 信息分布式采集系统运行良好,实现了预期的功能和性能需求,为构建完整的基于A I S 的船舶信息综合服务系统打下坚实的基础.今后将继续完善现有各个模块的功能,并提高功能的可配置性,以适应未来潜在及变化的需求.参考文献:[1]邓洪章.海上数字交通,论船用黑匣子、船舶自动识别系统[DB /OL ].htt p://www .sva 2radar .com /index11.ht m .2002209.1.[2]郑佳春.船舶交通管理系统(VTS )信息发布技术[J ].航海技术,2004(5):32234.[3]周尊山,鲍君忠,李磊.船舶自动识别系统在海事管理中的应用[J ].航海技术,2005(4):33234.[4]HAN Ji w ei,K AMBER M.数据挖掘概念与技术[M ].范明,译.北京:机械工业出版社,2006:126.[5]王华,叶爱亮,祁力学,等.V isual C ++6.0编程实例与技巧[M ].北京:机械工业出版社,1999:2862332.[6]周毅.A I S 信息解码和显示[J ].航海技术,2006(2):34234.[7]黄丽卿,胡稳才,邵哲平.A I S 输出数据包的解包技术研究[J ].集美大学学报(自然科学版),2005,10(1):37241.[8]O racle Cor porati on .O racle Call I nterface Pr ogra mmer ’s Guide [DB /OL ].htt p://downl oad 2west .oracle .com /docs/cd /B10501_01/appdev .920/a96584/oci15r13.ht m .2002211.1.(编辑 李佩芬)13第1期纪贤标,等:A I S 信息分布式采集系统的开发及关键技术。