CN103077063B - 微码编译方法及装置 - Google Patents
微码编译方法及装置 Download PDFInfo
- Publication number
- CN103077063B CN103077063B CN201210551461.9A CN201210551461A CN103077063B CN 103077063 B CN103077063 B CN 103077063B CN 201210551461 A CN201210551461 A CN 201210551461A CN 103077063 B CN103077063 B CN 103077063B
- Authority
- CN
- China
- Prior art keywords
- microcode
- server
- compilation
- compiler
- requirement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种微码编译方法及装置,在上述方法中,服务器获取微码编译请求,其中,服务器中安装有微码编译工具;服务器采用微码编译工具执行微码编译。根据本发明提供的技术方案,节省了微码开发人员的开发时间,提高了开发效率和运行维护的便利性,极大地降低了软件成本和硬件成本。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种微码编译方法及装置。
背景技术
伴随着网络技术的飞速发展,网络流量的增长以及网络新业务的应运而生,需要网络设备具有线速和灵活的处理能力。网络处理器凭借其高速转发性能、可靠性以及灵活的可编程性,已经成为当今网络中数据处理的有效解决方案。
微码是存储于网络处理器中的指令集,是整个数据转发层面的核心。网络处理器厂商提供的微码工具链可以包括:厂商提供的编译器、仿真器以及寄存器检查工具,这些工具都需要在Linux系统下运行。微码开发人员必须安装Linux操作系统或者虚拟机(VMware)才能使用这些工具。图1是根据相关技术的微码开发环境示意图。如图1所示,在使用虚拟机进行微码开发的过程中,主要存在以下几个问题:
问题一、每个开发人员都必须安装虚拟机或者Linux系统,然后再安装相当数量的微码工具链;
问题二、在普通个人计算机(PC)上进行编译比较耗时,为提高编译效率必须升级多台PC机,由此提高了硬件成本;
问题三、微码工具的频繁升级带来了大量不必要的重复劳动。
因此,相关技术中的分布式编译系统对软件成本和硬件成本均要求较高,维护不方便。
发明内容
本发明提供了一种微码编译方法及装置,以至少解决相关技术中的分布式编译系统对软件成本和硬件成本均要求较高,维护不方便的问题。
根据本发明的一个方面,提供了一种微码编译方法。
根据本发明的微码编译方法包括:服务器获取微码编译请求,其中,服务器中安装有微码编译工具;服务器采用微码编译工具执行微码编译。
优选地,服务器获取微码编译请求包括:服务器通过安全外壳协议(SSH)获取微码编译请求。
优选地,服务器采用微码编译工具执行微码编译包括:服务器根据微码编译请求创建微码工程;服务器采用微码编译工具对微码工程进行微码编译。
优选地,服务器根据微码编译请求创建微码工程包括:服务器获取微码版本;服务器根据微码版本创建微码工程。
优选地,在服务器采用微码编译工具执行微码编译之后,还包括:服务器对微码编译工具进行升级。
根据本发明的另一方面,提供了一种微码编译装置。
根据本发明的微码编译装置包括:获取模块,用于获取微码编译请求,其中,该装置中安装有微码编译工具;编译模块,用于采用微码编译工具执行微码编译。
优选地,获取模块,用于通过SSH获取微码编译请求。
优选地,编译模块包括:创建单元,用于根据微码编译请求创建微码工程;编译单元,用于采用微码编译工具对微码工程进行微码编译。
优选地,创建单元包括:获取子单元,用于获取微码版本;创建子单元,用于根据微码版本创建微码工程。
优选地,上述装置还包括:升级模块,用于对微码编译工具进行升级。
通过本发明,采用一台服务器集中式处理各个客户端发送的微码编译请求,该服务器采用预先安装的微码编译工具执行微码编译,解决了相关技术中的分布式编译系统对软件成本和硬件成本均要求较高,维护不方便的问题,进而节省了微码开发人员的开发时间,提高了开发效率和运行维护的便利性,极大地降低了软件成本和硬件成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的微码开发环境示意图;
图2是根据本发明实施例的微码编译方法的流程图;
图3是根据本发明优选实施例的在服务器端运行Linux操作系统的方法流程图;
图4是根据本发明优选实施例的在客户端操作过程的流程图;
图5是根据本发明实施例的微码编译装置的结构框图;
图6是根据本发明优选实施例的微码编译装置的结构框图;以及
图7是根据本发明优选实施例的集中式微码编译的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2是根据本发明实施例的微码编译方法的流程图。如图2所示,该方法可以包括以下处理步骤:
步骤S202:服务器获取微码编译请求,其中,服务器中安装有微码编译工具;
步骤S204:服务器采用微码编译工具执行微码编译。
相关技术中,分布式编译系统对软件成本和硬件成本均要求较高,维护不方便。采用如图2所示的方法,采用一台服务器集中式处理各个客户端发送的微码编译请求,该服务器采用预先安装的微码编译工具执行微码编译,解决了相关技术中的分布式编译系统对软件成本和硬件成本均要求较高,维护不方便的问题,进而节省了微码开发人员的开发时间,提高了开发效率和运行维护的便利性,极大地降低了软件成本和硬件成本。
在优选实施过程中,服务器通过安全外壳协议(SSH)获取微码编译请求。
安全外壳协议(Secure SHell,简称为SSH)可以将所有传输的数据进行加密,以避免“中间人”攻击模式的发生,同时还能够防止域名系统(DNS)和网络协议(IP)欺骗。采用SSH更重要的优势在于其传输的数据均是经过压缩处理的,由此可以加快数据传输的速度。SSH具有多项功能,它既可以代替远程登录(telnet),又可以为文件传输协议(p)、邮局协议(pop)甚至点对点协议(ppp)提供一个安全的“通道”。
SSH服务由客户端和服务器端的软件组成,具有两个相互无法兼容的版本,分别为:1.x和2.x。使用SSH 2.x的客户端程序是无法与SSH 1.x的服务器端程序建立连接的。尽管如此,OpenSSH 2.x可以同时支持SSH 1.x和2.x。除此之外,SSH还可以提供基于口令和基于密钥两种级别的安全验证。
优选地,在步骤S204中,服务器采用微码编译工具执行微码编译可以包括以下操作:
步骤S1:服务器根据微码编译请求创建微码工程;
步骤S2:服务器采用微码编译工具对微码工程进行微码编译。
优选地,在步骤S1中,服务器根据微码编译请求创建微码工程可以包括以下操作:
步骤S11:服务器获取微码版本;
步骤S12:服务器根据微码版本创建微码工程。
在优选实施例中,由于日常使用的PC客户端通常使用的是Windows系统,而服务器通常安装的是Linux系统,且微码编译工具需要在Linux环境下运行。考虑到服务器与客户端的兼容性,Samba已经为Linux服务器和Windows客户端成功搭建了文件传输的桥梁。微码开发人员的微码版本通常存放在客户端本地,通过Samba实现共享,将本地的微码版本拷贝到Linux服务器中预先为每个开发人员分配的工作目录中。
Samba是一个工具套件,在Unix上实现任务消息块(Session Message Block,简称为SMB)或者称之为网络基本输入/输出系统(NETBIOS)/LAN管理者(LanManager)协议。利用Samba服务可以实现局域网内Windows系统与Unix系统之间的文件共享。为了实现文件共享,可以通过在服务器端安装并开启Samba共享服务,而在客户端采用映射网络驱动器的方法,快速便捷的进行文件访问。
优选地,在步骤S204,服务器采用微码编译工具执行微码编译之后,还可以包括以下处理:服务器对微码编译工具进行升级。
下面结合图3和图4所示的优选实施例对上述优选实施过程做进一步的描述。
图3是根据本发明优选实施例的在服务器端运行Linux操作系统的方法流程图。如图3所示,其运行过程如下:
步骤S302:服务器开始运行;
步骤S304:服务器添加账户,即为每一个微码开发人员创建账户及密码;
步骤S306:服务器配置SSH服务,可以分为(以ubuntu为例,其他Linux发行版命令稍有不同):
步骤S3062:安装SSH服务
root@ubuntu:/$sudo apt-get install openssh-server
步骤S3064:启动SSH服务
root@ubuntu:/$/etc/init.d/ssh start
步骤S3066:查看服务是否开启
root@ubuntu:/$ps-e|grep ssh
步骤S308:服务器配置Samba服务,具体可以分为以下步骤:
步骤S3082:安装Samba服务
root@ubuntu:/$sudo apt-get install samba
root@ubuntu:/$sudo apt-get install smbfs
root@ubuntu:/$/etc/init.d/ssh start
步骤S3084:创建Samba配置文件
修改/etc/samba/smb.conf文件,在最后添上
Path=/home/userA (此目录对应每个微码开发人员的工作目录)
Available=yes
Browseable=yes
Public=yes
Writable=yes
步骤S3086:创建Samba账户
root@ubuntu:/$sudo touch/etc/samba/smbpasswd
root@ubuntu:/$sudo smbpasswd-a userA
然后,需要用户输入Samba帐户的密码;
步骤S3088:重启Samba服务
root@ubuntu:/$sudo/etc/init.d/samba restart
步骤S310:服务器安装微码工具链,其中,可以包括:编译器、仿真器等。流程结束
需要说明的是,如果工具链需要升级,则只需要服务器端升级微码工具链即可。
图4是根据本发明优选实施例的在客户端操作过程的流程图。如图4所示,其运行过程如下:
在该优选实施例中,客户端即微码开发人员的PC机通常运行在Windows操作系统下,同时客户端需要安装SSH客户端软件。
步骤S402:客户端开始运行;
步骤S404:SSH登录微码编译服务器;
打开SSH客户端软件,输入管理员分配的账号和密码,即可登录微码编译服务器。
步骤S406:在服务器上创建微码工程;
步骤S408:运行微码工具链;在shell终端切换到微码工程目录,运行微码工具链,进行微码编译、仿真等操作;流程结束。
图5是根据本发明实施例的微码编译装置的结构框图。如图5所示,该微码编译装置可以包括:获取模块10,用于获取微码编译请求,其中,该装置中安装有微码编译工具;编译模块20,用于采用微码编译工具执行微码编译。
采用如图5所示的装置,解决了相关技术中的分布式编译系统对软件成本和硬件成本均要求较高,维护不方便的问题,进而节省了微码开发人员的开发时间,提高了开发效率和运行维护的便利性,极大地降低了软件成本和硬件成本。
优选地,获取模块10,用于通过SSH获取微码编译请求。
优选地,如图6所示,编译模块20可以包括:创建单元200,用于根据微码编译请求创建微码工程;编译单元202,用于采用微码编译工具对微码工程进行微码编译。
优选地,创建单元200可以包括:获取子单元(图中未示出),用于获取微码版本;创建子单元(图中未示出),用于根据微码版本创建微码工程。
优选地,如图6所示,上述装置还可以包括:升级模块30,用于对微码编译工具进行升级。
下面结合图7所示的优选实施方式对上述优选实施过程做进一步的描述。
图7是根据本发明优选实施例的集中式微码编译的示意图。如图7所示,可以利用一台性能强劲的服务器作为Server,其安装了Linux操作系统,并又安装了微码编译器及仿真器等工具,同时还开启了SSH、Samba等服务。微码开发人员的PC客户端通过SSH客户端远程登录到Linux服务器,从而使用服务器上安装的微码编译工具链进行开发,并且采用Samba服务和网络磁盘映射解决文件共享问题。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):本发明所提供的技术方案可以使每个微码开发人员摆脱安装Linux及微码工具链的烦恼,只需要通过局域网远程连接服务器进行微码编译仿真;同时,远程服务器选用一台性能强大的多核服务器,促使编译速度大大提高,从而节省了每个微码开发人员的开发时间,提高了开发效率。由此,仅需要一个管理员集中管理一台Linux主机,在编译器升级时,仅需将服务器的编译器升级,每个开发人员无需掌握安装、升级微码工具链的方法,极大地降低了软件成本和硬件成本,具有较高的推广价值。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种微码编译方法,其特征在于,包括:
服务器获取微码编译请求,其中,所述服务器中安装有微码编译工具;
所述服务器采用所述微码编译工具执行微码编译;
所述服务器采用所述微码编译工具执行微码编译包括:所述服务器根据所述微码编译请求创建微码工程;所述服务器采用所述微码编译工具对所述微码工程进行微码编译;
所述服务器获取所述微码编译请求包括:所述服务器通过安全外壳协议SSH获取所述微码编译请求。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述微码编译请求创建所述微码工程包括:
所述服务器获取微码版本;
所述服务器根据所述微码版本创建所述微码工程。
3.根据权利要求1所述的方法,其特征在于,在所述服务器采用所述微码编译工具执行微码编译之后,还包括:
所述服务器对所述微码编译工具进行升级。
4.一种微码编译装置,其特征在于,包括:
获取模块,用于获取微码编译请求,其中,所述装置中安装有微码编译工具;
编译模块,用于采用所述微码编译工具执行微码编译;
所述编译模块包括:创建单元,用于根据所述微码编译请求创建微码工程;编译单元,用于采用所述微码编译工具对所述微码工程进行微码编译;
所述获取模块,用于通过安全外壳协议SSH获取所述微码编译请求。
5.根据权利要求4所述的装置,其特征在于,所述创建单元包括:
获取子单元,用于获取微码版本;
创建子单元,用于根据所述微码版本创建所述微码工程。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
升级模块,用于对所述微码编译工具进行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210551461.9A CN103077063B (zh) | 2012-12-18 | 2012-12-18 | 微码编译方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210551461.9A CN103077063B (zh) | 2012-12-18 | 2012-12-18 | 微码编译方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077063A CN103077063A (zh) | 2013-05-01 |
CN103077063B true CN103077063B (zh) | 2019-02-19 |
Family
ID=48153600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210551461.9A Active CN103077063B (zh) | 2012-12-18 | 2012-12-18 | 微码编译方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077063B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020919B (zh) * | 2016-05-09 | 2019-06-21 | 烽火通信科技股份有限公司 | 一种多服务器一键编译的实现方法 |
CN108390927B (zh) * | 2018-02-09 | 2020-11-20 | 山东乾云启创信息科技股份有限公司 | 一种在客户机与虚拟机之间双向传输文件的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075966A (zh) * | 2007-07-05 | 2007-11-21 | 中兴通讯股份有限公司 | 一种路由器系统中网络处理器加载微码的方法 |
CN101335644A (zh) * | 2008-07-30 | 2008-12-31 | 中兴通讯股份有限公司 | 网络处理器动态加载微码的方法 |
CN102801768A (zh) * | 2012-01-20 | 2012-11-28 | 华为技术有限公司 | 数据处理方法及系统、网络设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257620B2 (en) * | 2001-09-24 | 2007-08-14 | Siemens Energy & Automation, Inc. | Method for providing engineering tool services |
CN100442234C (zh) * | 2005-06-21 | 2008-12-10 | 国际商业机器公司 | 用于嵌入式系统的软件包构建方法和系统 |
-
2012
- 2012-12-18 CN CN201210551461.9A patent/CN103077063B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075966A (zh) * | 2007-07-05 | 2007-11-21 | 中兴通讯股份有限公司 | 一种路由器系统中网络处理器加载微码的方法 |
CN101335644A (zh) * | 2008-07-30 | 2008-12-31 | 中兴通讯股份有限公司 | 网络处理器动态加载微码的方法 |
CN102801768A (zh) * | 2012-01-20 | 2012-11-28 | 华为技术有限公司 | 数据处理方法及系统、网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103077063A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572436B (zh) | 多地跨集群的服务器部署方法及系统 | |
US8346897B2 (en) | System and method for deploying and maintaining software applications | |
US7890689B2 (en) | Virtual appliance management | |
Masek et al. | Unleashing full potential of ansible framework: University labs administration | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
CN102707971A (zh) | 一种在虚拟机中自动获取和安装软件的方法 | |
CN106559223B (zh) | 应用程序签名方法及装置 | |
WO2017059724A1 (zh) | 一种操作系统的启动方法及装置 | |
CN105306225A (zh) | 一种基于Openstack的物理机远程关机方法 | |
CN115629843A (zh) | 一种云端异构虚拟化数字仿真平台 | |
CN103051711B (zh) | 基于spice协议的嵌入式云终端系统的构建方法 | |
CN104580217A (zh) | 一种Rack机柜ssh无密码批量访问各节点的方法 | |
CN110457073A (zh) | 一种申威服务器的预启动执行环境pxe可信启动方法 | |
US20060225058A1 (en) | Method and system for accessing and launching a java based applet as a locally installed application | |
CN103077063B (zh) | 微码编译方法及装置 | |
CN106547602A (zh) | 一种适用于iSCSI协议远程无线加载的操作系统镜像的制作方法 | |
CN112631897A (zh) | 一种快速调试linux内核的方法 | |
CN110489134A (zh) | 一种pxe服务器和高性能集群环境的部署方法及系统 | |
CN111708553A (zh) | 一种后台更新桌面镜像的终端及系统 | |
CN111142887A (zh) | 一种cdh自动化自动安装的方法 | |
Ranjitha et al. | Wireless clustering using Raspberry pi | |
Vetter et al. | IBM Power Systems HMC Implementation and Usage Guide | |
Kinny et al. | Survey Paper on Different MINIX Versions to Support Implementation of IPSec Protocol in MINIX OS | |
Choi | Cisco IOS-XE Upgrade Tools Development Part 1 | |
Ijaz | Analysis of Linux Distributions as a Portable Security Solutions Tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |