• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    大型服务器的软件嵌入式开发与改进设计

    来源:六七范文网 时间:2023-06-03 07:00:07 点击:


    打开文本图片集

    摘 要: 为了提高大型服务器的并行处理能力,进行软件嵌入式开发优化设计,提出一种基于分散控制和多线程并行调度的大型服务器软件开发技术。对服务器软件系统的网络管理模块、文件信息存储模块、总线控制模块和内核接口模块等子系统进行设计描述,在Linux/Windows CE开发平台下进行服务器的嵌入式设计,实现服务器信息处理的分散控制和多线程并行调度,提高服务器的运行效率。实验结果表明,该软件系统能提高服务器的并行处理效率,性能优于传统方法。

    关键词: 大型服务器; 软件开发; 嵌入式设计; 多线程并行调度

    中图分类号: TN911⁃34; TP311 文献标识码: A 文章编号: 1004⁃373X(2017)18⁃0062⁃04

    Embedded development and improved design of software for large⁃scale server

    WEN Jie1, ZHANG Zhengzhong2,3

    (1. WuHan Business University Department of Information Engineering, Wuhan 430000, China;

    2. Suzhou Institute of Industrial Technology, Suzhou 215104, China;

    3. Nano Science and Technology Institute, University of Science and Technology of China, Suzhou 215123, China)

    Abstract: In order to improve the parallel processing ability of large⁃scale servers, the embedded development optimization design of software is carried out, and a large⁃scale server software development technology based on distributed control and multithreading parallel scheduling is proposed. The network file management module, information storage module, bus control module and kernel interface module of the server software system is designed and described. The embedded design of the server was conducted on the Linux/WindowsCE platform to realize the decentralized control and multithreading parallel scheduling for the information processing of the server, improve the operating efficiency of the server. The experimental results show that the software system can improve the parallel processing efficiency of the server, and its performance is better than the traditional method.

    Keywords: large?scale server; software development; embedded design; multithreading parallel scheduling

    0 引 言

    服务器是提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等。随着计算机信息处理规模的扩大,对服务器计算和处理的效率和能力提出了更高的要求,大型服务器在满足大数据信息计算中发挥了重要的价值。大型服务器采用Unix和其他专用操作系统,进行文件管理、数据库服务和程序管理以及网络服务等[1]。当前的大型服务器主要有IBM公司的POWER和PowerPC处理器,该类服务器采用的是通用的计算机架构,在系统的处理器、硬盘、内存、系统总线等配置上不能有效满足高效率并行处理的计算要求,需要进行服务器开发改进设计。对此本文采用嵌入式设计技术,提出一种基于分散控制和多线程并行调度的大型服务器软件开发技术,实现服务器的嵌入式开发设计,取得较好的应用性能。

    1 系统开发总体构架

    为了实现对大型服务器的软件系统设计和嵌入式开发,首先分析大型服务器的软件系统的总体结构模型,采用CAN_IMASK并行总线处理技术进行服务器的并行调度处理,服务器开发主要有数据库开发、并行计算程序开发和Web接口开发等。大型服务器需要完成数据库存储、文件管理和网络管理等功能,在嵌入式系统中配置常用服务器,采用IEEE 488.2标准下的Bus采集机制进行PowerPC处理器的远程控制[2]。大型服务器的DNS解析模式采用的是集中式的域名解析方式。服务器的知识点本体匹配采用节点匹配、边匹配和结构匹配三种匹配方式进行学习资源本体的进程管理、内存管理和文件系统管理。根据3层循环嵌套的子图模式进行数据存储管理,大型服务器的嵌入式设计模块主要有程序加载模块、数据存储模块、交叉编译模块、网络通信模块。为了提高服务器的计算能力、用户的响应速度以及数据存储能力和信息交互能力,在客户/服务器计算(Client/Server Computing,C/S计算)或者浏览器/服务器计算(Brower/Server Computing,B/S计算)架构模式下进行云计算/云存储的服务器设计,在“瘦客户机、胖服务器”策略下进行服务器的嵌入式开发[3],得到本文设计的大型服务器软件开发的区域资源配置的关系模型如图1所示。

    图1 大型服务器的关系模型

    根据图1所示的大型服务器的模块化关系模型,可知大型服务器在进行资源配置和服务器域名解析中,通过多线程的任务调度和网络拓扑,在泛知识云模型下构建信息发布模块(Information Advertising Module),服务器的上层网络是高速以太网,设备驱动采用双网络的输入/输出系统,下层网络采用IEEE 488.2标准下的双网络结构。网关/服务器平台采用嵌入式 ARM⁃Linux 平台,微处理器 STC12C5A60S通过载波汇聚节点进行连接建立并实现数据传输,若采控节点响应,汇聚节点(主节点)通过引导程序(Bootloader)与嵌入式STM32宿机连接,采用串行接口方式配置4路组联合Cache,在X86⁃Win 平台上将服务器工作任务发送至ARM⁃Linux平台[4],进行服务器的并行处理调度,在PLC汇聚节点中采用特定的 UUID 进行数据服务配置,根据上述设计原理分析,得到本文构建的大型服务器的软件系统的总体构架如图2所示。

    图2 大型服务器的软件系统的总体构架

    2 网关/服务器设计

    在Linux/Windows CE开发平台下进行服务器的嵌入式设计,需要对服务器的网络进行嵌入式设计。网关采用的是SOS操作系统,包括一个通用内核和若干个可动态装载模块,SOS的消息队列使用优先级顺序进行多线程控制,内核通过一个加载模块进行子系统动态管理,消息处理函数由 init handler,final handler等组成。为了降低编程复杂性,网关/服务器用三星 S5PV210 处理器作为控制系统的集成处理器。从采控节点搜集数据后通过 Internet 或以太网进行优先级调度,依次获得消息队列的消息并进行管理用户任务,移植 Linux 3.0.8 操作系统提供一个简单、统一的系统调用接口。在网关的节点设计中,采用基于层次关系的节点定位分布模型进行路由节点设计,构建大型服务器的嵌入式网关模型,使得网络进程能够有效地通过网络节点连接到另一个网络的“关口”。主机和交换集线器采用X2.5,IEEE 802.11a,802.11b,802.11g的协议网关[5]。首先随机选择一个

    网络节点的本体,采用本体RDF图表示方法得到网络堆栈协议,基于锚点匹配进行子图抽取,基于金属同构子图本体匹配方法得到网络之间的协议转换模式。根据上述的嵌入式大型服务器的网关/服务器节点匹配设计步骤,进行服务器的网关硬件平台设计,如图3所示。在以太网设备驱动下,采用DM9000AEP 以太网控制提供10 Mb/s,100 Mb/s的网络连接,网关使用 S3C2440作为系统控制核心,硬件平台在BLE中嵌入OSAL采控节点,Abstraction Layer 操作系统抽象层通过外设驱动发送带符号数给网关/服务器,网关采用以ARM920T为核心的32位的RISC微处理器接收路由节点数据,并在JTAG接口调试程序下在线完成程序修改和多线程的并行数据调度和信息处理。通过JTAG接口访问服务器CPU的内部寄存器,在ADI的HPPCI仿真器中进行UART、定时器、GPIO等模块设计,通过 Internet 或以太网查询实时内核,使用Download & Run 功能将其转换成统一的格式,最后通过网络启动整个系统,进行大型服务器的软件系统嵌入式开发。

    图3 服务器的网关硬件平台

    3 大型服务器的软件嵌入式开发模块化设计

    根据对大型服务器的总体设计规划和网关设计描述,进行服务器的嵌入式开发。通过模块化开发设计,在Supervivi菜单模式下,构建32 位的SDRAM存储器系统。服务器软件系统主要包括网络管理模块、文件信息存储模块、总线控制模块和内核接口模块等子系统,对各个模块分别进行设计,描述如下。

    3.1 网络管理模块

    大型服务器的网络管理模块是整个嵌入式服务器和网关控制的核心。服务器的嵌入式软件设计实现串口数据和网络数据的转发,采用模块化的设计方案,构建TCP服务进程和数据分发缓存进程。在Linux内置的TCP/IP协议栈下对服务器的处理进程数据进行协议转换和数据收发[6],构建RS 485网络进行源节点的数据转发和进程调度。网络管理模块连接网络的API接口,在TCP服务进程指引下使用户人员通过Internet来对客户端进行连接,由此构建网络管理模块的软件开发流程如图4所示。

    图4 网络管理模块的程序开发流程

    3.2 文件信息存储模块

    文件信息存储模块采用的是erialcomm.cpp串口通信进行信息存储和内存空间配置,采用控制函数virgrg igrt readFgfr(ifrgt fd, chgtrr *bughger, gr cogrt, ingt *erg4r) 读取一定长度的数据,执行大型服务器的嵌入式读写和I/O端口的调度命令,向指定的设备写入串口相关的存储信息。在文件信息存储和读取中,用两个线程来进行读写:readerThread和writerThread,运行代码为:

    bool readPagrgket(SFvrhgrket &pfrgket);

    bool wfvrgackgrgr(SFPafrght &pPahgtket);

    大型服务器的软件系统的输入/输出系统由三个线程构成:serverThfred,reagrerThregrd和writgrThrehgr[7]。当缓存数据从串口到达数据包,文件信息存储模块进行时钟频率初始化、存储器初始化。通过DMA中断控制程序判断服务器的上电加载程序是否写入,对缓冲区的查詢中断标志位进行峰值判断,进行控制程序的收发转换和A/D加载。随着缓冲区写入数据的扩大,数据指针指向缓冲区0,如果不能满足缓冲区中数据存储池的规模要求,进行CAN初始化、PPI初始化,继续判断A/D采样是否完成。在执行了时钟初始化和存储器初始化程序的如下关键函数后:

    SFPacket deqhytue();

    bool enqjyejukrohyt(Sjkuket &pPajulket);

    bool enqujykick(SFPafrket &pPagret);

    从文件信息存储系统队列的首部取出数据包,确认是否从大型服务器的客户端传过来的命令,等服务器空闲时,进行TCP服务进程的调整,提高大型服务器的并行调度能力。根据上述设计,得到文件信息存储模块的程序处理流程如图5所示。

    图5 大型服务器文件信息存储模块的程序处理流程

    3.3 总线控制模块及接口模块设计

    大型服务器设计采用的是32通道的嵌入式现场总线控制技术。首先将大型服务器文件管理和数据库调度总线数据首址赋给地址指针,进入循环体,总循环32次,采集的MVB总线控制的寄存数据,引导加载程序Sfcontrol.cpp在线烧写客户端传过来命令或配置参数。基于分散控制和多线程并行调度方法与客户端进行连接[8],接收从客户端过来的控制命令或配置参数,使用多线程技术读写进程与客户端之间进行的数据流,并加载到数据包缓存中,建立MineComm.cp函数RS 485网络进行通信。在总线控制模块设计中,使用如下接口程序进行系统配置,并通过局部总线发送FLASH设备上的文件系统内核:

    interface Thgrer as Chhgthjck; //Samhthtle Tytj6er

    interface Rgf4ytad

    //Rhgrthyuk voltjjykige 上电加载

    interface ReahtjStrejuk

    //Read prhtyjre sensfrhg data,DIP封装

    interface Lehyt; //Indhytion

    在程序加载的基础上,设定嵌入式大型服务器的控制系统的VXI总线数据采样通道8通道,驱动程序的D/A转换速率设定为200 kHz,初始化静态变量(Static Variables)由HP E1562E提供一对SCSI总线,实现总线控制设计[9]。最后进行大型服务器的接口设计,接口设计在嵌入式ARM环境下配置qt⁃embedded⁃arm,并进行接口程序的编译和安装,得到服务器接口数据部分和数据结构的构成见表1。

    4 服务器调试测试分析

    通过上述分析,实现了在Linux/Windows CE开发平台下进行服务器的嵌入式设计,最后为了测试服务器的运行性能,对设计的大型服务器软件系统进行信息处理的分散控制和多线程并行调度性能分析。首先调用 addLinkEstHeade执行程序加载和数据写入,在总线控制模块中测试服务器的并行运行效率,分析服务器的处理时间与数据规模大小的关系,并与传统的服务器进行对比,得到测试结果如图6所示。分析图6结果得知,采用本文设计的大型服务器进行数据计算,运行时间开销较短,处理效率得到大幅提升。

    5 结 语

    本文进行了大型服务器的软件嵌入式开发优化设计,提出一种基于分散控制和多线程并行调度的大型服务器软件开发技术。进行系统总体构架分析,设计网关/服务器,采用S5PV210 处理器作为网关控制芯片,在网络管理设计中,构建TCP服务进程和数据分发缓存进程,在Linux/Windows CE开发平台下进行服务器的嵌入式总线控制设计,采用32通道的嵌入式现场总线控制技术,实现服务器信息处理的分散控制和多线程并行调度。本文设计的服务器软件系统的并行处理效率较高,计算开销较小。

    参考文献

    [1] 蒋欣,程博,张伟栋,等.基于FC总线协议和FTP协议的通用化FPGA配置方法[J].现代电子技术,2015,38(11):57⁃60.

    [2] 张璐,吕昂.一种双网络智能家居嵌入式网关/服务器[J].物联网技术,2015,5(7):72⁃75.

    [3] SUN L, GUO C H. Incremental affinity propagation clustering based on message passing [J]. IEEE transactions on knowledge and data engineering, 2014, 26(11): 2731⁃2744.

    [4] EI⁃SAYED A M A, ELSAID A, NOUR H M, et al. Dynamical behavior, chaos control and synchronization [J]. Communication in nonlinear science and numerical simulation, 2013, 18(1): 148⁃170.

    [5] 陆兴华,吴恩燊,黄冠华.基于Android的智能家居控制系统软件设计研究[J].物联网技术,2015,5(11):14?16.

    [6] 王灵芝,叶美霞,张建造.基于 ZigBee及BOA 服务器的嵌入式智能家居的设计[J].闽南师范大学学报(自然科学版),2014,12(3):69⁃73.

    [7] MAHBOUBI H, MOEZZI K, AGHDAM A G, et al. Distributed deployment algorithms for improved coverage in a network of wireless mobile sensors [J]. IEEE transactions on industrial informatics, 2014, 10(1): 163⁃174.

    [8] MAHBOUBI H. Distributed deployment algorithms for efficient coverage in a network of mobile sensors with nonidentical sensing capabilities [J]. IEEE transactions on vehicular technology, 2014, 63(8): 3998⁃4016.

    [9] 刘国柱.Virtools嵌入式服务器与虚拟现实协同设计平台[J].科技通报,2012,28(2):13⁃16.

    推荐访问:嵌入式 改进 服务器 开发 设计