CN113535235B - 一种基于Telnet进行BOSA校准的优化方法 - Google Patents
一种基于Telnet进行BOSA校准的优化方法 Download PDFInfo
- Publication number
- CN113535235B CN113535235B CN202110832824.5A CN202110832824A CN113535235B CN 113535235 B CN113535235 B CN 113535235B CN 202110832824 A CN202110832824 A CN 202110832824A CN 113535235 B CN113535235 B CN 113535235B
- Authority
- CN
- China
- Prior art keywords
- length
- command
- read
- cmdlen
- telnet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005457 optimization Methods 0.000 title claims abstract description 10
- 230000004622 sleep time Effects 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 11
- 230000008901 benefit Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Telnet进行BOSA校准的优化方法,在网络端通过socket接收到的命令记录其长度cmdlen,在将该命令写入伪终端pty后,伪终端驱动首先会将该命令的回显字符串通过PtyMaster输出给telnetd;当单次读取读不全整条命令的回显字符串,判断读取的长度如果小于网络端接收到的命令长度cmdlen,则循环去读取伪终端pty,直到读取到的回显字符串累计长度大于等于cmdlen后,将读取到的回显字符串通过网络socket发送给telnet客户端。本发明缩短了单片板子在产线的bosa校准时间,大幅提高了产线产能,降低工厂产线成本。
Description
技术领域
本发明涉及BOSA校准技术领域,具体是一种基于Telnet进行BOSA校准的优化方法。
背景技术
BOSA校准是每一台网络ONU设备在产线生产过程中必要的步骤,如果能有效缩短BOSA的校准时间,则能大幅提升产线的产能,能为厂家带来更大的经济效益。
使用telnet协议进行BOSA校准,如果CPU性能受限(核少、主频低),伪终端驱动产生的回显字符串可能会无法一次性完整的输出给telnetd服务端,这就导致了telnetd会多次调用socket发送函数将零碎的回显字符串发送给远端的telnet客户端,从而大大增加单条校准命令的时长,校准过程中大量的校准命令使用更是延长了校准时间,影响产能。
针对这个问题而提出的一种基于telnet进行BOSA校准的优化方法,可以大幅缩减因CPU性能受限所影响的单条校准指令执行时长,缩短单板整体校准时长,提高产线产能。
发明内容
本发明的目的在于提供一种基于Telnet进行BOSA校准的优化方法,以解决上述背景技术中提出的生产线进行BOSA校准耗时长的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于Telnet进行BOSA校准的优化方法,根据Telnetd设计流程,在网络端通过socket接收到的命令记录其长度cmdlen,在将该命令写入伪终端pty后,伪终端驱动首先会将该命令的回显字符串通过Pty Master输出给telnetd,所以telnetd从伪终端能立马读取到该命令的回显字符串;如果CPU性能较弱(主频低,核少),单次读取将很可能读不全整条命令的回显字符串,可能只能读到一个字符,判断读取的长度如果小于网络端接收到的命令长度cmdlen,则循环去读取伪终端pty,每次循环间隔睡眠1毫秒,循环读取过程中如果有读取失败,直到读取到的回显字符串累计长度大于等于cmdlen后,进入下一步骤将读取到的回显字符串通过网络socket发送给telnet客户端,同时将cmdlen置为0,已便后续命令执行结果的输出跳过cmdlen的长度判断。
注意在循环读取的过程中需要设置一定的循环次数,目前设置为n次,循环间隔睡眠时间1ms,合理的睡眠时间和循环次数可以缓减特殊指令回显带来的滞后感,由于某些特殊指令的回显字符数比该指令本身字符数少,所以会达到循环上限,滞后时间约为n*1ms。
telnet服务端整个流程如下:
1.Telnet服务端进程通过网络套接字读取从Telnet客户端发送过来的命令到缓存1,记录读取的命令长度rdidx1(cmdlen=rdidx1),同时将缓存1中的数据长度记录为size1。
2.当缓存1中有内容后就将缓存中的数据全部写入伪终端,记录成功写入伪终端的数据长度wridx1,同时将缓存1中的长度size1减去wridx1,如果size1为0了则同时将rdidx1和wridx1置0,方便后续继续从网络套接字接收命令。
3.写完伪终端后等待伪终端的回显输出,此时我们循环读取伪终端,直到读取到的字符串长度大于等于通过网络套接字读取到的命令长度cmdlen,将cmdlen置0,同时记录读取到的总长度rdidx2,以及读取到缓存2后的数据长度size2。
4.将缓存2中的数据通过网络套接字发送给telnet客户端,发送成功的数据长度等于size2,将rdidx2和wridx2同时置0。继续等待步骤三伪终端的命令结果输出。
与现有技术相比,本发明的优点是:可以缓存不完整的回显字符串,达到完整长度后一次性发送给telnet客户端,缩短在客户端单条校准指令完整执行时间;设置超时保护机制,不会对特殊命令的回显产生滞后影响;缩短了单片板子在产线的bosa校准时间,大幅提高了产线产能,降低工厂产线成本。
附图说明
图1为本发明的总体框架结构示意图。
图2为本发明的模块框架结构示意图。
图3为本发明方法的实时流程图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
请参阅图1-3,一种基于Telnet进行BOSA校准的优化方法,在网络端通过socket接收到的命令记录其长度cmdlen,在将该命令写入伪终端pty后,伪终端驱动首先会将该命令的回显字符串通过Pty Master输出给telnetd,所以telnetd从伪终端能立马读取到该命令的回显字符串。
如果CPU性能较弱(主频低,核少),单次读取将很可能读不全整条命令的回显字符串,可能只能读到一个字符,判断读取的长度如果小于网络端接收到的命令长度cmdlen,则循环去读取伪终端pty,每次循环间隔睡眠1毫秒,循环读取过程中如果有读取失败,直到读取到的回显字符串累计长度大于等于cmdlen后,进入下一步骤将读取到的回显字符串通过网络socket发送给telnet客户端,同时将cmdlen置为0,已便后续命令执行结果的输出(也是通过读取伪终端pty,因为图一中我们将执行进程shell的输出重定向到了伪终端驱动从设备pty slave)跳过cmdlen的长度判断。
注意在循环读取的过程中需要设置一定的循环次数,本实施例中设置为10次,合理的睡眠时间和循环次数可以缓减特殊指令回显带来的滞后感,由于某些特殊指令的回显字符数比该指令本身字符数少,所以会达到循环上限,滞后时间约为10ms(1ms*10)。该方案避免了因回显字符读不全而多次调用socket网络发送数据包(回显字符)到telnet client端,从而大幅降低linux内核的发送开销,节省时间。
特殊指令指登陆及位移指令,这些指令的回显字符数比指令本身字符数少。
参考图2-3,telnet服务端整个流程的四个步骤如下:
1.Telnet服务端进程通过网络套接字读取从Telnet客户端发送过来的命令到缓存1,记录读取的命令长度rdidx1(cmdlen=rdidx1),同时将缓存1中的数据长度记录为size1。
2.当缓存1中有内容后就将缓存中的数据全部写入伪终端,记录成功写入伪终端的数据长度wridx1,同时将缓存1中的长度size1减去wridx1,如果size1为0了则同时将rdidx1和wridx1置0,方便后续继续从网络套接字接收命令。
3.写完伪终端后等待伪终端的回显输出,此时我们循环读取伪终端,直到读取到的字符串长度大于等于通过网络套接字读取到的命令长度cmdlen,将cmdlen置0,同时记录读取到的总长度rdidx2,以及读取到缓存2后的数据长度size2。
4.将缓存2中的数据通过网络套接字发送给telnet客户端,发送成功的数据长度等于size2,将rdidx2和wridx2同时置0;继续等待步骤三伪终端的命令结果输出。
本发明是在CPU主频较弱,无法一次性完整输出命令回显的情况下优化telnetd,使之通过一个socket网络包传输完整的命令回显给telnet client端。
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
Claims (3)
1.一种基于Telnet进行BOSA校准的优化方法,其特征在于,根据Telnetd设计流程,其特征在于,在网络端通过socket接收到的命令记录其长度cmdlen,在将该命令写入伪终端pty后,伪终端驱动将该命令的回显字符串通过Pty Master 输出给 telnetd,telnetd 从伪终端读取到该命令的回显字符串;判断读取的长度如果小于网络端接收到的命令长度cmdlen,则循环去读取伪终端pty,每次循环间隔睡眠1毫秒,循环读取过程中如果有读取失败,直到读取到的回显字符串累计长度大于等于cmdlen后,将读取到的回显字符串通过网络socket发送给telnet客户端,同时将cmdlen置为0,已便后续命令执行结果的输出跳过cmdlen的长度判断;
telnet服务端整个流程如下:
(1)Telnet服务端进程通过网络套接字读取从Telnet客户端发送过来的命令到缓存1,记录读取的命令长度rdidx1,cmdlen=rdidx1,同时将缓存1中的数据长度记录为size1;
(2)当缓存1中有内容后就将缓存中的数据全部写入伪终端,记录成功写入伪终端的数据长度wridx1,同时将缓存1中的长度size1减去wridx1,如果size1为0了则同时将rdidx1和wridx1置0,方便后续继续从网络套接字接收命令;
(3)写完伪终端后等待伪终端的回显输出,此时循环读取伪终端,直到读取到的字符串长度大于等于通过网络套接字读取到的命令长度cmdlen,将cmdlen置0,同时记录读取到的总长度rdidx2,以及读取到缓存2后的数据长度size2;
(4)将缓存2中的数据通过网络套接字发送给telnet客户端,发送成功的数据长度等于size2,将rdidx2和wridx2同时置0;继续等待步骤(3)伪终端的回显输出。
2.根据权利要求1所述的一种基于Telnet进行BOSA校准的优化方法,其特征在于,在循环读取的过程中设置循环次数n,循环间隔睡眠时间1ms,特殊指令回显的滞后时间为n*1ms。
3.根据权利要求2所述的一种基于Telnet进行BOSA校准的优化方法,其特征在于,所述特殊指令为登陆指令或位移指令,上述指令的回显字符数比指令本身字符数少。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832824.5A CN113535235B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Telnet进行BOSA校准的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832824.5A CN113535235B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Telnet进行BOSA校准的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535235A CN113535235A (zh) | 2021-10-22 |
CN113535235B true CN113535235B (zh) | 2024-02-13 |
Family
ID=78120536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110832824.5A Active CN113535235B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Telnet进行BOSA校准的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535235B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527626A (zh) * | 2008-03-07 | 2009-09-09 | 北京启明星辰信息技术股份有限公司 | Telnet用户操作过程静态数据的保存回放方法 |
CN103647826A (zh) * | 2013-12-10 | 2014-03-19 | 国家电网公司 | 一种Telnet模式下指令级用户权限控制方法 |
CN104252514A (zh) * | 2013-12-04 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种页面回显方法和系统 |
CN105354021A (zh) * | 2015-10-08 | 2016-02-24 | 盛科网络(苏州)有限公司 | 在Linux内核中集成命令行的实现方法 |
-
2021
- 2021-07-23 CN CN202110832824.5A patent/CN113535235B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527626A (zh) * | 2008-03-07 | 2009-09-09 | 北京启明星辰信息技术股份有限公司 | Telnet用户操作过程静态数据的保存回放方法 |
CN104252514A (zh) * | 2013-12-04 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种页面回显方法和系统 |
CN103647826A (zh) * | 2013-12-10 | 2014-03-19 | 国家电网公司 | 一种Telnet模式下指令级用户权限控制方法 |
CN105354021A (zh) * | 2015-10-08 | 2016-02-24 | 盛科网络(苏州)有限公司 | 在Linux内核中集成命令行的实现方法 |
Non-Patent Citations (1)
Title |
---|
浅析Telnet协议及其运用;李华生;李亚鹃;王;;江西电力;第35卷(第02期);第53-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113535235A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11080840B2 (en) | Automatic optical inspection device based on CPU+GPU+FPGA architecture | |
CN1296344A (zh) | 具有协调的主和副发射机的无线通信装置和方法 | |
CN101267497B (zh) | 一种电视机搜台功能自动测试的方法及系统 | |
WO2005060334A3 (en) | System and method for multipart response optimization | |
CN113535235B (zh) | 一种基于Telnet进行BOSA校准的优化方法 | |
CN114760253B (zh) | 快速物联网数据传输方法和系统 | |
TW508497B (en) | Data transmission controller, information memory medium and electronic machine | |
CN112579506A (zh) | Bios与bmc通信的方法、bios、bmc和服务器 | |
CN116301627A (zh) | 一种NVMe控制器及其初始化、数据读写方法 | |
CN116431539A (zh) | 一种基于fdma ddr存储器读写设计 | |
CN110164343A (zh) | 一种倒计时显示器检测方法、装置、系统及控制系统 | |
CN112948268A (zh) | 一种基于inca的ecu软件测试及标定系统 | |
EP0548977A2 (en) | Multiplex transmission apparatus and multiplex transmission method | |
CN109873831B (zh) | 一种数据传输的方法和系统 | |
CN117573588B (zh) | 并行apb协议转串行scom协议的装置、方法及芯片 | |
CN221148821U (zh) | 一种用于测试edp接口质量的驱动装置和电子设备 | |
CN210837142U (zh) | 一种智能钢琴 | |
CN112565737B (zh) | 一种三维立体显示器联网控制方法 | |
CN216772197U (zh) | 基于fpga的直写光刻数据采集装置及直写光刻设备 | |
CN115037809B (zh) | 一种支持多协议的工业无线网关系统 | |
JP3856991B2 (ja) | ネットワーク装置の検査システム | |
JPH0695718A (ja) | プログラマブル・コントローラのリモートi/oシステム | |
JPH0981334A (ja) | 情報処理装置並びに情報処理装置のデータ転送方法 | |
CN112286530A (zh) | 基于JavaScript的物联网设备数据格式转换系统及方法 | |
CN114064369A (zh) | 一种测试显示模组的驱动设备、系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |