CN106506709B - 一种远程日志获取方法及系统 - Google Patents
一种远程日志获取方法及系统 Download PDFInfo
- Publication number
- CN106506709B CN106506709B CN201710004147.1A CN201710004147A CN106506709B CN 106506709 B CN106506709 B CN 106506709B CN 201710004147 A CN201710004147 A CN 201710004147A CN 106506709 B CN106506709 B CN 106506709B
- Authority
- CN
- China
- Prior art keywords
- module
- read
- equipment
- log
- remote server
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种远程日志获取方法及系统,涉及通信领域。所述方法包括:第一设备启动之后,等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志发送给通过网络连接的远程服务器,继续等待并读取自身的第一预设端口中的数据;如为结束标识,则结束;第二设备启动之后,与第一设备建立非网络连接,将自身的第二预设端口重定向到第一设备的第一预设端口,并将打印的日志写至第二预设端口中。本发明中的技术方案,在远程日志获取过程中,不但部署方便,易于用户操作,而且可以提高日志获取效率,利于有效的跟踪解决问题。
Description
技术领域
本发明涉及通信领域,尤其涉及一种远程日志获取方法及系统。
背景技术
在生产工具生产产品的过程中,生产工具会产生很多日志文件,当需要远程下载并查看这些日志文件时,通常会接入一个日志获取系统来获取日志文件;这样的部署不易于用户操作,且一次性下载众多的日志文件需要耗用较长时间,效率降低,有时甚至下载失败,不利于有效跟踪解决问题。
发明内容
为了解决现有技术中的缺陷,本发明提供一种远程日志获取方法及系统。
一方面,本发明提供了一种远程日志获取方法,包括:
第一设备启动之后,执行以下操作:
步骤S1:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则执行步骤S2;如为结束标识,则结束;
步骤S2:所述第一设备将读取到的日志发送给通过网络连接的远程服务器,返回步骤S1;
第二设备启动之后,执行以下操作:
步骤S3:所述第二设备与所述第一设备建立非网络连接,并将自身的第二预设端口重定向到所述第一设备的第一预设端口;
步骤S4:所述第二设备将打印的日志写至所述第二预设端口中。
可选地,所述步骤S1之前,还包括:所述第一设备打开自身的第一预设端口。
所述步骤S4,具体为:所述第二设备依次将打印的日志写至所述第二预设端口中。
可选地,所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体包括:
步骤n1:所述第一设备将读取到的日志保存至缓存中,并判断所述缓存中日志的长度是否小于预设长度,是则返回步骤S1;否则执行步骤n2;
步骤n2:所述第一设备将所述缓存中的日志发送给所述远程服务器,并将所述缓存清空;
所述步骤S1中,当所述第一设备判断出读取到的数据的类型为结束标识时,还包括:
步骤m:所述第一设备判断所述缓存中是否有日志,是则将所述缓存中的日志发送给所述远程服务器,并将所述缓存清空,结束;否则,结束。
可选地,所述步骤S2之前,还包括:
所述第一设备与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:
所述第一设备将读取到的日志发送至所述远程服务器的第三预设端口中;
所述步骤S2中,返回步骤S1之前,还包括:
所述第一设备关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
可选地,所述步骤S1之前,还包括:
所述第一设备与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:
所述第一设备将读取到的日志发送至所述远程服务器的第三预设端口中;
所述步骤S1中,当所述第一设备判断出读取到的数据的类型为结束标识时,还包括:
所述第一设备关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
可选地,所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤a1;
步骤a1:所述第一设备将读取到的日志保存;
步骤a2:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将保存的日志发送给所述远程服务器,返回步骤S1;否则继续执行步骤a2。
可选地,所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤b1;
步骤b1:所述第一设备将读取到的日志保存至缓存中;
步骤b2:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至所述缓存中,执行步骤b3;如为结束标识,则执行步骤b4;
步骤b3:所述第一设备与所述远程服务器建立网络连接,判断是否连接成功,是则将所述缓存中的日志发送给所述远程服务器,返回步骤S1;否则返回步骤b2;
步骤b4:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将所述缓存中的日志发送给所述远程服务器,结束;否则继续执行步骤b4。
可选地,所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤c1;
步骤c1:所述第一设备新建临时文件,将读取到的日志保存至所述临时文件中;
步骤c2:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至所述临时文件中,执行步骤c3;如为结束标识,则执行步骤c4;
步骤c3:所述第一设备与所述远程服务器建立网络连接,判断是否连接成功,是则将所述临时文件发送给所述远程服务器,返回步骤S1;或者将所述临时文件中的日志发送给所述远程服务器,返回步骤S1;否则返回步骤c2;
步骤c4:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将所述临时文件发送给所述远程服务器,结束;或者将所述临时文件中的日志发送给所述远程服务器,结束;否则继续执行步骤c4。
可选地,所述步骤S3中,所述第二设备将自身的第二预设端口重定向到所述第一设备的第一预设端口,具体为:
所述第二设备执行第一指令将自身的第二预设端口重定向到所述第一设备的第一预设端口。
另一方面,本发明提供了一种远程日志获取系统,包括:第一设备、第二设备和远程服务器;
所述第一设备包括:第一读取模块、第一判断模块和第一发送模块;
所述第一读取模块,用于读取第一预设端口中的数据;
所述第一判断模块,用于判断所述第一读取模块读取到的数据的类型;
所述第一发送模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据为日志时,将所述第一读取模块读取到的日志发送给通过网络连接的所述远程服务器;
所述第二设备包括:第一连接模块、定向模块和写模块;
所述第一连接模块,用于与所述第一设备建立非网络连接;
所述定向模块,用于将第二预设端口重定向到所述第一设备的第一预设端口;
所述写模块,用于将打印的日志写至所述第二预设端口中。
可选地,所述第一设备还包括:打开模块;
所述打开模块,用于所述第一读取模块读取所述第一预设端口中的数据之前,打开所述第一预设端口。
所述写模块,具体用于:将打印的日志依次写至所述第二预设端口中。
可选地,所述第一设备,还包括:第一保存模块、第二判断模块、清空模块和第三判断模块;
所述第一保存模块,用于将所述第一读取模块读取到的日志保存至缓存中;
所述第二判断模块,用于判断所述缓存中日志的长度是否小于预设长度;
所述第一发送模块,具体用于:当所述第二判断模块判断出所述缓存中日志的长度不小于预设长度时,将所述缓存中的日志发送给所述远程服务器;
所述清空模块,用于所述第一发送模块将所述缓存中的日志发送给所述远程服务器之后,将所述缓存清空;
所述第一读取模块,还用于当所述第二判断模块判断出所述缓存中日志的长度小于预设长度时,等待并读取所述第一预设端口中的数据;
所述第三判断模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据的类型为结束标识时,判断所述缓存中是否有日志;
所述第一发送模块,还用于当所述第三判断模块判断出所述缓存中有日志时,将所述缓存中的日志发送给所述远程服务器。
可选地,所述第一设备,还包括:第二连接模块和第一断开模块;
所述第二连接模块,用于所述第一发送模块将所述第一读取模块读取到的日志发送给通过网络连接的所述远程服务器之前,与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述第一发送模块,具体用于:将所述第一读取模块读取到的日志发送至所述远程服务器的第三预设端口中;
所述第一断开模块,用于所述第一发送模块触发所述第一读取模块之前,关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
可选地,所述第一设备,还包括:第三连接模块和第二断开模块;
所述第三连接模块,用于所述第一读取模块等待并读取所述第一预设端口中的数据之前,与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述第一发送模块,具体用于:将所述第一读取模块读取到的日志发送至所述远程服务器的第三预设端口中;
所述第二断开模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据的类型为结束标识时,关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
可选地,所述第一设备,还包括:第四连接模块、第二保存模块、第四判断模块和第二发送模块;
所述第二保存模块,用于当所述第一发送模块将读取到的日志发送失败时,将读取到的日志保存;
所述第四连接模块,用于所述第二保存模块将读取到的日志保存之后,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第四判断模块,用于判断所述第四连接模块是否连接成功;
所述第二发送模块,用于当所述第四判断模块判断出所述第四连接模块连接成功时,将所述第二保存模块保存的日志发送给所述远程服务器;
所述第一读取模块,还用于所述第二发送模块将所述第二保存模块保存的日志发送给所述远程服务器之后,等待并读取所述第一预设端口中的数据;
所述第四连接模块,还用于当所述第四判断模块判断出所述第四连接模块连接不成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
可选地,所述第一设备,还包括:第三保存模块、第二读取模块、第五判断模块、第五连接模块、第六判断模块、第三发送模块和第七判断模块;
所述第三保存模块,用于当所述第一发送模块将读取到的日志发送失败时,将读取到的日志保存至缓存中;
所述第二读取模块,用于所述第三保存模块将读取到的日志保存至缓存中之后,读取所述第一预设端口中的数据;
所述第五判断模块,用于判断所述第二读取模块读取到的数据的类型;
所述第三保存模块,还用于当所述第五判断模块判断出所述第二读取模块读取到的数据的类型为日志时,将所述第二读取模块读取到的日志保存至缓存中;
所述第五连接模块,用于所述第三保存模块将所述第二读取模块读取到的日志保存至缓存中之后,与所述远程服务器建立网络连接;
所述第六判断模块,用于判断所述第五连接模块是否连接成功;
所述第三发送模块,用于当所述第六判断模块判断出所述第五连接模块连接成功时,将所述缓存中的日志发送给所述远程服务器;
所述第一读取模块,还用于所述第三发送模块将所述缓存中的日志发送给所述远程服务器之后,读取所述第一预设端口中的数据;
所述第二读取模块,还用于当所述第六判断模块判断出所述第五连接模块连接不成功时,读取所述第一预设端口中的数据;
所述第五连接模块,还用于当所述第五判断模块判断出所述第二读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第七判断模块,用于判断所述第五连接模块是否连接成功;
所述第三发送模块,还用于当所述第七判断模块判断出所述第五连接模块连接成功时,将所述缓存中的日志发送给所述远程服务器;
所述第五连接模块,还用于当所述第七判断模块判断出所述第五连接模块不连接成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
可选地,所述第一设备,还包括:建立模块、第四保存模块、第三读取模块、第八判断模块、第六连接模块、第九判断模块、第四发送模块、第十判断模块和第十一判断模块;
所述建立模块,用于当所述第一发送模块将读取到的日志发送失败时,新建临时文件;
所述第四保存模块,用于将所述第一读取模块读取到的日志保存至所述临时文件中;
所述第三读取模块,用于所述第四保存模块将所述第一读取模块读取到的日志保存至所述临时文件中之后,读取所述第一预设端口中的数据;
所述第八判断模块,用于判断所述第三读取模块读取到的数据的类型;
所述第四保存模块,还用于当所述第八判断模块判断出所述第三读取模块读取到的数据的类型为日志时,将所述第三读取模块读取到的日志保存至所述临时文件中;
所述第六连接模块,用于所述第四保存模块将所述第三读取模块读取到的日志保存至所述临时文件中之后,与所述远程服务器建立网络连接;
所述第九判断模块,用于判断所述第六连接模块是否连接成功;
所述第四发送模块,用于当所述第九判断模块判断出所述第六连接模块连接成功时,将所述临时文件发送给所述远程服务器;或者将所述临时文件中的日志发送给所述远程服务器;
所述第一读取模块,还用于当所述第四发送模块将所述临时文件发送给所述远程服务器之后,读取所述第一预设端口中的数据;或者当所述第四发送模块将所述临时文件中的日志发送给所述远程服务器之后,读取所述第一预设端口中的数据;
所述第三读取模块,还用于当所述第九判断模块判断出所述第六连接模块连接不成功时,读取所述第一预设端口中的数据;
所述第六连接模块,还用于当所述第八判断模块判断出所述第三读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第十判断模块,用于判断所述第六连接模块是否连接成功;
所述第四发送模块,还用于当所述第十判断模块判断出所述第六连接模块连接成功时,将所述临时文件发送给所述远程服务器;或者将所述临时文件中的日志发送给所述远程服务器;
所述第六连接模块,还用于当所述第十判断模块判断出所述第六连接模块连接不成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
可选地,所述定向模块,具体用于:执行第一指令将所述第二设备的第二预设端口重定向到所述第一设备的第一预设端口。
本发明与现有技术相比,具有以下优点:
本发明中的技术方案,在远程日志获取过程中,不但部署方便,易于用户操作,而且可以提高日志获取效率,利于有效的跟踪解决问题。
附图说明
图1为本发明实施例一提供的一种远程日志获取方法中第一设备的操作流程图;
图2为本发明实施例一提供的一种远程日志获取方法中第二设备的操作流程图;
图3为本发明实施例二提供的一种远程日志获取方法中第一设备的操作流程图;
图4为本发明实施例三提供的一种远程日志获取方法中第一设备的操作流程图;
图5为本发明实施例四提供的一种远程日志获取系统的模块组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述;显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的其他实施例,都属于本发明保护的范围。
本发明中的技术方案应用于包含第二设备、第一设备和远程服务器构成的系统中;其中,第二设备与第一设备之间为USB连接,第一设备与远程服务器之间为网络连接。在本发明中,第二设备,具体为不具备网络连接功能的设备,或者具备网络连接功能但是网络连接功能被禁用的设备,例如,第二设备为生产工具;第一设备,具体为拥有USB接口的移动设备,例如,第一设备为手机、平板电脑等,其接入简单,易于用户操作。
实施例一
本发明实施例一提供一种远程日志获取方法,如图1和图2所示:
第一设备启动之后,执行以下操作:
步骤101:第一设备等待并读取自身第一预设端口中的数据,判断读取到的数据的类型,如为日志,则执行步骤102;如为结束标识,则结束;
步骤102:第一设备将读取到的日志发送给通过网络连接的远程服务器,返回步骤101;
第二设备启动之后,执行以下操作:
步骤103:第二设备与第一设备建立非网络连接,并将自身的第二预设端口重定向到第一设备的第一预设端口;
步骤104:第二设备将打印的日志写至第二预设端口中。
在本实施例中,步骤101之前,还包括:第一设备打开自身的第一预设端口。
在本实施例中,步骤104,具体为:第二设备依次将打印的日志写至第二预设端口中;
相应地,步骤102中,第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:第一设备将读取到的一条日志或者一段日志发送给通过网络连接的远程服务器;
在本实施例中,步骤102中,第一设备将读取到的日志发送给通过网络连接的远程服务器,还可以具体为:
步骤n1:第一设备将读取到的日志保存至缓存中,并判断缓存中日志的长度是否小于预设长度,是则返回步骤101;否则执行步骤n2;
步骤n2:第一设备将缓存中的日志发送给远程服务器,并将缓存清空;
所述步骤101中,当第一设备判断出读取到的数据的类型为结束标识时,还包括:
步骤m:第一设备判断缓存中是否有日志,是则将缓存中的日志发送给远程服务器,并将缓存清空,结束;否则,结束。
可选地,在本实施例中,步骤102之前,还包括:
第一设备与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
相应地,步骤102中,第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:第一设备将读取到的日志发送至远程服务器的第三预设端口中;
步骤102中,返回步骤101之前,还包括:第一设备关闭远程服务器的第三预设端口,并断开与远程服务器的网络连接。
可选地,在本实施例中,步骤101之前,还包括:
第一设备与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
相应地,步骤102中,第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:第一设备将读取到的日志发送至远程服务器的第三预设端口中;
步骤102中,当第一设备判断出读取到的数据的类型为结束标识时,还包括:第一设备关闭远程服务器的第三预设端口,并断开与远程服务器的网络连接。
可选地,在本实施例中,步骤102中,当第一设备将读取到的日志发送失败时,执行步骤a1;
步骤a1:第一设备将读取到的日志保存;
步骤a2:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则将保存的日志发送给远程服务器,返回步骤101;否则继续执行步骤a2。
可选地,在本实施例中,步骤102中,当第一设备将读取到的日志发送失败时,执行步骤b1;
步骤b1:第一设备将读取到的日志保存至缓存中;
步骤b2:第一设备读取自身的第一预设端口中的数据,并判断读取到的数据的类型,如为日志,则将读取到的日志保存至缓存中,执行步骤b3;如为结束标识,则执行步骤b4;
步骤b3:第一设备与远程服务器建立网络连接,判断是否连接成功,是则将缓存中的日志发送给远程服务器,返回步骤101;否则返回步骤b2;
步骤b4:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则将缓存中的日志发送给远程服务器,结束;否则继续执行步骤b4。
可选地,在本实施例中,步骤102中,当第一设备将读取到的日志发送失败时,执行步骤c1;
步骤c1:第一设备新建临时文件,将读取到的日志保存至临时文件中;
步骤c2:第一设备读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至临时文件中,执行步骤c3;如为结束标识,则执行步骤c4;
步骤c3:第一设备与远程服务器建立网络连接,判断是否连接成功,是则将临时文件发送给远程服务器,返回步骤101;或者将临时文件中的日志发送给远程服务器,返回步骤101;否则返回步骤c2;
步骤c4:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则将临时文件发送给远程服务器,结束;或者将临时文件中的日志发送给远程服务器,结束;否则继续执行步骤c4。
进一步地,步骤103中,第二设备与第一设备建立非网络连接,具体为:第二设备调用第一函数接口打开自身的第二预设端口,并在第二预设端口与第一设备的第一预设端口之间建立非网络连接;
在本实施例中,第一函数接口具体为:open-tcp-client 8090;其中,8090为第一预设端口的端口号。
需要说明地,在本实施例中,第二设备和第一设备可以同时启动,也可以不同时启动;当第二设备与第一设备建立非网络连接时,如第一设备尚未启动,则第二设备调用第一函数接口后能够打开本地的第二预设端口,但与第一预设端口建立连接失败。
更进一步地,步骤103中,第二设备将自身的第二预设端口重定向到第一设备的第一预设端口,具体为:第二设备执行第一指令将自身的第二预设端口重定向到所述第一设备的第一预设端口;
在本实施例中,第一指令具体为:shell-command“./adb forward tcp:8070tcp:8090”;其中,tcp:8070表示第二预设端口的端口号为8070,tcp:8090表示第一预设端口的端口号为8090。
实施例二
本发明实施例二提供一种远程日志获取方法,其中,第二设备的操作方法与实施例一中所述的第二设备的操作方法相同,在本实施例中不在赘述;
如图3所示,第一设备启动之后,执行以下操作:
步骤301:第一设备打开自身的第一预设端口;
具体地,第一设备调用第二函数接口打开自身的第一预设端口;
在本实施例中,第二函数接口为:open-tcp-server 8090;其中,8090为第一预设端口的端口号。
步骤302:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,判断读取到的数据的类型,如为日志,则执行步骤307;如为结束标识,则执行步骤303;
具体地,第一设备每隔预设时间间隔检测第一预设端口中是否有数据,是则调用第三函数接口读取第一预设端口中的数据,并判断读取到的数据是否为预设字符,是则确认读取到的数据为结束标识,执行步骤303;否则,确认读取到的数据为日志,执行步骤307;
在本实施例中,第三函数接口具体为:(read-line p);其中,参数p具体为第一预设端口;
优选地,在本实施例中,预设时间间隔为10秒;预设字符为#!eof。
步骤303:第一设备判断当前缓存中是否有日志,是则执行步骤304;否则,结束;
步骤304:第一设备与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
具体地,第一设备调用第四函数接口与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
在本实施例中,第四函数接口为:open-tcp-server 192.168.24.1:8050,其中192.168.24.1为第三预设端口的IP地址,8050为第三预设端口的端口号。
步骤305:第一设备将缓存中的日志发送至打开的第三预设端口,当发送完成时,将第三预设端口关闭并断开与远程服务器的网络连接,执行步骤306;
具体地,第一设备调用第五函数接口将缓存中的日志发送至打开的第三预设端口,并调用第六函数接口将第三预设端口关闭,断开与远程服务器的网络连接;
在本实施例中,第五函数接口具体为:write-subu8vector data 0datalen p;其中参数subu8vector data为缓存中的日志,参数p为第三预设端口;
第六函数接口具体为:close-port p;其中,参数p为第一预设端口。
步骤306:第一设备将缓存清空,结束;
在本实施例中,如需继续获取日志,则将缓存清空后,返回步骤302。
步骤307:第一设备将读取到的日志作为当前日志保存至缓存中;
步骤308:第一设备计算当前缓存中日志的长度,并判断是否小于预设长度,是则返回步骤302;否则执行步骤309;
在本实施例中,第一设备计算当前缓存中日志的长度,具体为:第一设备调用第七函数接口计算缓存中日志的长度;
在本实施例中,第七函数接口具体为:u8vector-length u8vector;其中,参数u8vector具体为缓存中的日志。
优选地,在本实施例中,预设长度为800字节;
进一步地,在本实施例中,第一设备启动之后,还可以包括:第一设备初始化计数标识为初始值;优选地,初始值为0;
相应地,步骤308具体为:第一设备根据当前日志的长度更新计数标识,并判断计数标识当前的计数值是否小于预设值,是则返回步骤302,否则执行步骤309;
优选地,预设值为800。
步骤309:第一设备与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
具体地,第一设备调用上述第四函数接口与远程服务器建立网络连接,并打开远程服务器的第一预设端口。
步骤310:第一设备将当前缓存中的日志发送至打开的第三预设端口,当发送完成时,将第三预设端口关闭并断开与远程服务器的网络连接;
具体地,第一设备调用上述第五函数接口将缓存中的日志发送至打开的第三预设端口,并调用上述第六函数接口将第三预设端口关闭,断开与远程服务器的网络连接。
步骤311:第一设备将缓存清空,返回步骤302。
在本实施例中,当远程服务器接收到日志后,还包括:远程服务器将接收到的日志保存至数据库中;当用户需要通过远程服务器查阅第一设备的日志时,远程服务器将数据库中的日志打印至预设网页中。
进一步地,在本实施例中,第一设备还可以每读取到一条日志,便将读取到的日志发送至远程服务器的第三预设端口;
相应地,步骤302至步骤312,替换为:
步骤302`:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,判断读取到的数据的类型,如为日志,则执行步骤303`;如为结束标识,则结束;
在本实施例中,判断出读取到的数据的类型为结束标识时,如需继续获取日志,则继续执行步骤302。
步骤303`:第一设备与远程服务器建立网络连接,并打开远程服务器的第三预设端口;
步骤304`:第一设备将读取到的日志发送至打开的第三预设端口,当发送完成时,将第三预设端口关闭,并断开与远程服务器的网络连接,返回步骤302`。
更进一步地,在本实施例中,当上述获取远程日志的过程中,在步骤305和步骤310中,第一设备将日志发送失败时,第一设备可以执行以下操作:
具体地,当步骤305中,第一设备将日志发送失败时,执行步骤A;
步骤A:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则打开远程服务器的第三预设端口,并将缓存中的日志发送至打开的第三预设端口中,结束;否则,继续执行步骤A。
当步骤309中,第一设备将日志发送失败时,执行步骤B;
步骤B:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则打开远程服务器的第三预设端口,并将缓存中的日志发送给打开的第三预设端口中,当发送完成时,将第三预设端口关闭并断开与远程服务器的网络连接,执行步骤311;否则,继续执行步骤B。
当步骤309中,第一设备将日志发送失败时,还可以执行步骤D1;
步骤D1:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至缓存中,执行步骤D2;如为结束标识,则执行步骤D3;
步骤D2:第一设备与远程服务器建立网络连接,判断是否连接成功,是则打开远程服务器的第三预设端口,并将缓存中的日志发送至打开的第三预设端口中,返回步骤302;否则返回步骤D1;
步骤D3:第一设备每隔预设时间间隔与远程服务器建立网络连接,并判断是否连接成功,是则打开远程服务器的第三预设端口,并将缓存中的日志发送至打开的第三预设端口中,结束;否则继续执行步骤D3。
其中,将缓存中的日志发送至打开的第三预设端口中,可以为依次从缓存中读取预设长度的日志,并将读取到的日志发送至打开的第三预设端口中;还可以为将缓存中的全部日志发送至打开的第三预设端口中。
当步骤309中,第一设备将日志发送失败时,还可以执行步骤F1;
步骤F1:第一设备新建临时文件,并将缓存中的日志保存至临时文件中;
步骤F2:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,并判断读取到的数据的类型,如为日志,则将读取到的日志保存至临时文件中,执行步骤F3;如为结束标识,则执行步骤F4;
步骤F3:第一设备与远程服务器建立网络连接,判断是否连接成功,是则打开远程服务器的第三预设端口,并将临时文件发送至打开的第三预设端口,返回步骤302;或者将临时文件中的日志发送至打开的第三预设端口,返回步骤302;否则返回步骤F2;
步骤F4:第一设备每隔预设时间间隔与服务器建立网络连接,并判断是否连接成功,是则打开远程服务器的第三预设端口,并将临时文件发送至打开的第三预设端口,结束;或者将临时文件中的日志发送至打开的第三预设端口,结束;否则继续执行步骤F4。
在本实施例中,当第一设备每读取到一条日志便将读取到的日志发送至远程服务器的第三预设端口时,相应地,在步骤304`中,第一设备将日志发送失败时,则第一设备将读取到的日志保存,并执行步骤B,或者执行步骤D1,或者执行步骤F1。
本实施例中,还设置有异常处理函数,当上述获取远程日志的过程中出现异常时,异常处理函数能够抓取到异常事件并跳转,防止整个系统的崩溃。
实施例三
本发明实施例三提供一种远程日志获取方法;其中,第二设备的操作方法与实施例一中所述的第二设备的操作方法相同,在本实施例中不在赘述;
如图4所示,第一设备启动之后,执行以下操作:
步骤401:第一设备打开自身的第一预设端口;
具体地,第一设备调用第二函数接口打开自身的第一预设端口;
在本实施例中,第二函数接口为:open-tcp-server 8090;其中,8090为第一预设端口的端口号。
步骤402:第一设备与远程服务器建立网络连接,并打开远程服务器的第一预设端口;
具体地,第一设备调用第四函数接口在自身的第一预设端口与远程服务器的第三预设端口之间建立网络连接,并打开远程服务器的第三预设端口;
在本实施例中,第四函数接口具体为:open-tcp-server 192.168.24.1:8050,其中192.168.24.1为第一预设端口的IP地址,8050为第一预设端口的端口号。
步骤403:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,并判断读取到的数据的类型,如为日志,则执行步骤404;如为结束标识,则执行步骤408;
具体地,第一设备每隔预设时间间隔检测第一预设端口中是否有数据,是则调用第三函数接口读取第一预设端口中的数据,并判断读取到的数据是否为预设字符,是则确认读取到的数据为结束标识,执行步骤404;否则,确认读取到的数据为日志,执行步骤408;
在本实施例中,第三函数接口具体为:(read-line p);其中,参数p具体为第一预设端口;
优选地,在本实施例中,预设时间间隔为10秒;预设字符为#!eof。
步骤404:第一设备将读取到的日志作为当前日志保存至缓存中;
步骤405:第一设备计算当前缓存中日志的长度,并判断是否小于预设长度,是则返回步骤402;否则执行步骤406;
在本实施例中,第一设备计算当前缓存中日志的长度,具体为:第一设备调用第七函数接口计算当前缓存中日志的长度;
在本实施例中,第七函数接口具体为:u8vector-length u8vector;其中参数u8vector具体为缓存中的日志;
优选地,预设长度为800字节。
进一步地,在本实施例中,第一设备启动之后,还可以包括:第一设备初始化计数标识为初始值;优选地,初始值为0;
相应地,步骤405具体为:第一设备根据当前日志的长度更新计数标识,并判断计数标识当前的计数值是否小于预设值,是则返回步骤402,否则执行步骤406;
优选地,预设值为800。
步骤406:第一设备将当前缓存中的日志发送至打开的第三预设端口,当发送完成时,执行步骤407;
具体地,第一设备调用第五函数接口将当前缓存中的日志发送至打开的第三预设端口;
在本实施例中,第五函数接口具体为:write-subu8vector data 0datalen p;其中,参数subu8vector data为缓存中的日志,参数p为第一预设端口。
步骤407:第一设备将缓存清空,返回步骤402;
步骤408:第一设备判断当前缓存中是否有日志,是则将缓存中的日志发送至打开的第三预设端口,当发送完成时,执行步骤409;
具体地,第一设备调用上述第五函数接口将当前缓存中的日志发送至打开的第三预设端口。
步骤409:第一设备将第三预设端口关闭,并断开与远程服务器的网络连接,结束。
具体地,第一设备调用第六函数接口将第三预设端口关闭,并断开与远程服务器的网络连接;
在本实施例中,第六函数接口具体为:close-port p,其中参数p为第一预设端口。
在本实施例中,当远程服务器接收到日志后,还包括:远程服务器将接收到的日志保存至数据库中;当用户需要通过远程服务器查阅第一设备的日志时,远程服务器将数据库中的日志打印至预设网页中。
进一步地,在本实施例中,第一设备可以每读取到一条日志,便将读取到的日志发送至远程服务器的第三预设端口;
相应地,步骤403至步骤409,替换为:
步骤403`:当第一设备检测到第一预设端口中有数据时,读取第一预设端口中的数据,并判断读取到的数据的类型,如为日志,则执行步骤404`;如为结束标识,则执行步骤405`;
步骤404`:第一设备将读取到的日志发送至打开的第三预设端口,当发送完成时,返回步骤403`;
步骤405`:第一设备关闭第三预设端口,并断开与远程服务器的网络连接,结束。
更进一步地,在本实施例中,当步骤406中,第一设备将缓存中的日志发送失败时,则第一设备执行实施例二中所述的步骤B,或者步骤D1,或者步骤F1;
当步骤408中,第一设备将缓存中的日志发送失败时,则第一设备执行实施例二中所述的步骤A。
在本实施例中,还设置有异常处理函数,当上述获取远程日志的过程中出现异常时,异常处理函数能够抓取到异常事件并跳转,防止整个系统的崩溃。
实施例四
本发明实施例四提供一种远程日志获取系统,如图5所示,包括:第一设备50、第二设备60和远程服务器70;
其中,第一设备50包括:第一读取模块501、第一判断模块502和第一发送模块503;
第一读取模块501,用于读取第一预设端口中的数据;
第一判断模块502,用于判断第一读取模块501读取到的数据的类型;
第一发送模块503,用于当第一判断模块502判断出第一读取模块501读取到的数据为日志时,将第一读取模块501读取到的日志发送给通过网络连接的远程服务器70;
第二设备60包括:第一连接模块601、定向模块602和写模块603;
其中,第一连接模块601,用于与第一设备50建立非网络连接;
定向模块602,用于将第二预设端口重定向到第一设备50的第一预设端口;
写模块603,用于将打印的日志写至第二预设端口中。
在本实施例中,第一设备50还包括:打开模块;
其中,打开模块,用于第一读取模块501读取第一预设端口中的数据之前,打开第一预设端口。
在本实施例中,写模块603,具体用于:将打印的日志依次写至第二预设端口中。
在本实施例中,第一设备50,还包括:第一保存模块、第二判断模块、清空模块和第三判断模块;
其中,第一保存模块,用于将第一读取模块501读取到的日志保存至缓存中;
第二判断模块,用于判断缓存中日志的长度是否小于预设长度;
第一发送模块503,具体用于:当第二判断模块判断出缓存中日志的长度不小于预设长度时,将缓存中的日志发送给远程服务器70;
清空模块,用于第一发送模块503将缓存中的日志发送给远程服务器70之后,将缓存清空;
第一读取模块501,还用于当第二判断模块判断出缓存中日志的长度小于预设长度时,等待并读取第一预设端口中的数据;
第三判断模块,用于当第一判断模块502判断出第一读取模块501读取到的数据的类型为结束标识时,判断缓存中是否有日志;
第一发送模块503,还用于当第三判断模块判断出缓存中有日志时,将缓存中的日志发送给远程服务器70。
可选地,在本实施例中,第一设备50,还包括:第二连接模块和第一断开模块;
其中,第二连接模块,用于第一发送模块503将第一读取模块501读取到的日志发送给通过网络连接的远程服务器70之前,与远程服务器70建立网络连接,并打开远程服务器70的第三预设端口;
第一发送模块503,具体用于:将第一读取模块501读取到的日志发送至远程服务器70的第三预设端口中;
第一断开模块,用于第一发送模块503触发第一读取模块501之前,关闭第三预设端口,并断开与远程服务器70的网络连接。
可选地,在本实施例中,第一设备50,还包括:第三连接模块和第二断开模块;
其中,第三连接模块,用于第一读取模块501等待并读取第一预设端口中的数据之前,与远程服务器70建立网络连接,并打开远程服务器70的第三预设端口;
第一发送模块503,具体用于:将第一读取模块501读取到的日志发送至远程服务器70的第三预设端口中;
第二断开模块,用于当第一判断模块502判断出第一读取模块501读取到的数据的类型为结束标识时,关闭第三预设端口,并断开与远程服务器70的网络连接。
可选地,在本实施例中,第一设备50,还包括:第四连接模块、第二保存模块、第四判断模块和第二发送模块;
其中,第二保存模块,用于当第一发送模块503将读取到的日志发送失败时,将读取到的日志保存;
第四连接模块,用于第二保存模块将读取到的日志保存之后,每隔预设时间间隔与远程服务器70建立网络连接;
第四判断模块,用于判断第四连接模块是否连接成功;
第二发送模块,用于当第四判断模块判断出第四连接模块连接成功时,将第二保存模块保存的日志发送给远程服务器70;
第一读取模块501,还用于第二发送模块将第二保存模块保存的日志发送给远程服务器70之后,等待并读取第一预设端口中的数据;
第四连接模块,还用于当第四判断模块判断出第四连接模块连接不成功时,每隔预设时间间隔与远程服务器70建立网络连接。
可选地,在本实施例中,第一设备50,还包括:第三保存模块、第二读取模块、第五判断模块、第五连接模块、第六判断模块、第三发送模块和第七判断模块;
第三保存模块,用于当第一发送模块503将第一读取模块501读取到的日志发送失败时,将读取到的日志保存至缓存中;
第二读取模块,用于第三保存模块将第一读取模块501读取到的日志保存至缓存中之后,读取第一预设端口中的数据;
第五判断模块,用于判断第二读取模块读取到的数据的类型;
第三保存模块,还用于当第五判断模块判断出第二读取模块读取到的数据的类型为日志时,将第二读取模块读取到的日志保存至缓存中;
第五连接模块,用于第三保存模块将第二读取模块读取到的日志保存至缓存中之后,与远程服务器70建立网络连接;
第六判断模块,用于判断第五连接模块是否连接成功;
第三发送模块,用于当第六判断模块判断出第五连接模块连接成功时,将缓存中的日志发送给远程服务器70;
第一读取模块501,还用于第三发送模块将缓存中的日志发送给远程服务器70之后,读取第一预设端口中的数据;
第二读取模块,还用于当第六判断模块判断出第五连接模块连接不成功时,读取第一预设端口中的数据;
第五连接模块,还用于当第五判断模块判断出第二读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与远程服务器70建立网络连接;
第七判断模块,用于判断第五连接模块是否连接成功;
第三发送模块,还用于当第七判断模块判断出第五连接模块连接成功时,将缓存中的日志发送给远程服务器70;
第五连接模块,还用于当第七判断模块判断出第五连接模块不连接成功时,每隔预设时间间隔与远程服务器70建立网络连接。
可选地,在本实施例中,第一设备50,还包括:建立模块、第四保存模块、第三读取模块、第八判断模块、第六连接模块、第九判断模块、第四发送模块、第十判断模块和第十一判断模块;
其中,建立模块,用于当第一发送模块503将第一读取模块501读取到的日志发送失败时,新建临时文件;
第四保存模块,用于将第一读取模块501读取到的日志保存至临时文件中;
第三读取模块,用于第四保存模块将第一读取模块501读取到的日志保存至临时文件中之后,读取第一预设端口中的数据;
第八判断模块,用于判断第三读取模块读取到的数据的类型;
第四保存模块,还用于当第八判断模块判断出第三读取模块读取到的数据的类型为日志时,将三读取模块读取到的日志保存至临时文件中;
第六连接模块,用于第四保存模块将第三读取模块读取到的日志保存至临时文件中之后,与远程服务器70建立网络连接;
第九判断模块,用于判断述第六连接模块是否连接成功;
第四发送模块,用于当第九判断模块判断出第六连接模块连接成功时,将临时文件发送给远程服务器70;或者将临时文件中的日志发送给远程服务器70;
第一读取模块501,还用于当第四发送模块将临时文件发送给远程服务器70之后,读取第一预设端口中的数据;或者当第四发送模块将临时文件中的日志发送给远程服务器70之后,读取第一预设端口中的数据;
第三读取模块,还用于当第九判断模块判断出第六连接模块连接不成功时,读取第一预设端口中的数据;
第六连接模块,还用于当第八判断模块判断出第三读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与远程服务器70建立网络连接;
第十判断模块,用于判断第六连接模块是否连接成功;
第四发送模块,还用于当第十判断模块判断出第六连接模块连接成功时,将临时文件发送给远程服务器70;或者将临时文件中的日志发送给远程服务器70;
第六连接模块,还用于当第十判断模块判断出第六连接模块连接不成功时,每隔预设时间间隔与远程服务器70建立网络连接。
在本实施例中,定向模块602,具体用于:执行第一指令将第二设备60的第二预设端口重定向到第一设备50的第一预设端口。
本发明中,第二设备与第一设备既相互关联,又相互独立,当任意一方出现问题时,不会导致另一方的崩溃,具有较好的稳定性;并且当远程服务器需要获取第二设备的日志时,第二设备的使用者将身边的移动设备(例如:手机、平板电脑等)作为第一设备,并通过USB线与第二设备连接,简单易做,提高了远程日志获取效率,有利于及时有效的跟踪解决问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种远程日志获取方法,其特征在于,所述方法应用于包含第二设备、第一设备和远程服务器构成的系统中;其中,所述第二设备与第一设备之间为USB连接,第一设备与远程服务器之间为网络连接;所述第二设备,具体为不具备网络连接功能的设备,或者具备网络连接功能但是网络连接功能被禁用的设备,所述第一设备,具体为拥有USB接口的移动设备;所述方法包括:
所述第一设备启动之后,执行以下操作:
步骤S1:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则执行步骤S2;如为结束标识,则结束;
步骤S2:所述第一设备将读取到的日志发送给通过网络连接的远程服务器,返回步骤S1;
所述第二设备启动之后,执行以下操作:
步骤S3:所述第二设备与所述第一设备建立非网络连接,并将自身的第二预设端口重定向到所述第一设备的第一预设端口;
步骤S4:所述第二设备将打印的日志写至所述第二预设端口中。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:所述第一设备打开自身的第一预设端口。
3.根据权利要求1所述的方法,其特征在于,
所述步骤S4,具体为:所述第二设备依次将打印的日志写至所述第二预设端口中。
4.根据权利要求1所述的方法,其特征在于,所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体包括:
步骤n1:所述第一设备将读取到的日志保存至缓存中,并判断所述缓存中日志的长度是否小于预设长度,是则返回步骤S1;否则执行步骤n2;
步骤n2:所述第一设备将所述缓存中的日志发送给所述远程服务器,并将所述缓存清空;
所述步骤S1中,当所述第一设备判断出读取到的数据的类型为结束标识时,还包括:
步骤m:所述第一设备判断所述缓存中是否有日志,是则将所述缓存中的日志发送给所述远程服务器,并将所述缓存清空,结束;否则,结束。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S2之前,还包括:
所述第一设备与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:
所述第一设备将读取到的日志发送至所述远程服务器的第三预设端口中;
所述步骤S2中,返回步骤S1之前,还包括:
所述第一设备关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
6.根据权利要求1所述的方法,其特征在于,
所述步骤S1之前,还包括:
所述第一设备与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述步骤S2中,所述第一设备将读取到的日志发送给通过网络连接的远程服务器,具体为:
所述第一设备将读取到的日志发送至所述远程服务器的第三预设端口中;
所述步骤S1中,当所述第一设备判断出读取到的数据的类型为结束标识时,还包括:
所述第一设备关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤a1;
步骤a1:所述第一设备将读取到的日志保存;
步骤a2:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将保存的日志发送给所述远程服务器,返回步骤S1;否则继续执行步骤a2。
8.根据权利要求1所述的方法,其特征在于,还包括:
所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤b1;
步骤b1:所述第一设备将读取到的日志保存至缓存中;
步骤b2:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至所述缓存中,执行步骤b3;如为结束标识,则执行步骤b4;
步骤b3:所述第一设备与所述远程服务器建立网络连接,判断是否连接成功,是则将所述缓存中的日志发送给所述远程服务器,返回步骤S1;否则返回步骤b2;
步骤b4:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将所述缓存中的日志发送给所述远程服务器,结束;否则继续执行步骤b4。
9.根据权利要求1所述的方法,其特征在于,还包括:所述步骤S2中,当所述第一设备将读取到的日志发送失败时,执行步骤c1;
步骤c1:所述第一设备新建临时文件,将读取到的日志保存至所述临时文件中;
步骤c2:所述第一设备等待并读取自身的第一预设端口中的数据,判断读取到的数据的类型,如为日志,则将读取到的日志保存至所述临时文件中,执行步骤c3;如为结束标识,则执行步骤c4;
步骤c3:所述第一设备与所述远程服务器建立网络连接,判断是否连接成功,是则将所述临时文件发送给所述远程服务器,返回步骤S1;或者将所述临时文件中的日志发送给所述远程服务器,返回步骤S1;否则返回步骤c2;
步骤c4:所述第一设备每隔预设时间间隔与所述远程服务器建立网络连接,并判断是否连接成功,是则将所述临时文件发送给所述远程服务器,结束;或者将所述临时文件中的日志发送给所述远程服务器,结束;否则继续执行步骤c4。
10.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述第二设备将自身的第二预设端口重定向到所述第一设备的第一预设端口,具体为:
所述第二设备执行第一指令将自身的第二预设端口重定向到所述第一设备的第一预设端口。
11.一种远程日志获取系统,其特征在于:包括第一设备、第二设备和远程服务器;所述第二设备与第一设备之间为USB连接,第一设备与远程服务器之间为网络连接;所述第二设备,具体为不具备网络连接功能的设备,或者具备网络连接功能但是网络连接功能被禁用的设备,所述第一设备,具体为拥有USB接口的移动设备;
所述第一设备包括:第一读取模块、第一判断模块和第一发送模块;
所述第一读取模块,用于读取第一预设端口中的数据;
所述第一判断模块,用于判断所述第一读取模块读取到的数据的类型;
所述第一发送模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据为日志时,将所述第一读取模块读取到的日志发送给通过网络连接的所述远程服务器;
所述第二设备包括:第一连接模块、定向模块和写模块;
所述第一连接模块,用于与所述第一设备建立非网络连接;
所述定向模块,用于将第二预设端口重定向到所述第一设备的第一预设端口;
所述写模块,用于将打印的日志写至所述第二预设端口中。
12.根据权利要求11所述的系统,其特征在于,所述第一设备还包括:打开模块;
所述打开模块,用于所述第一读取模块读取所述第一预设端口中的数据之前,打开所述第一预设端口。
13.根据权利要求11所述的系统,其特征在于,
所述写模块,具体用于:将打印的日志依次写至所述第二预设端口中。
14.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:第一保存模块、第二判断模块、清空模块和第三判断模块;
所述第一保存模块,用于将所述第一读取模块读取到的日志保存至缓存中;
所述第二判断模块,用于判断所述缓存中日志的长度是否小于预设长度;
所述第一发送模块,具体用于:当所述第二判断模块判断出所述缓存中日志的长度不小于预设长度时,将所述缓存中的日志发送给所述远程服务器;
所述清空模块,用于所述第一发送模块将所述缓存中的日志发送给所述远程服务器之后,将所述缓存清空;
所述第一读取模块,还用于当所述第二判断模块判断出所述缓存中日志的长度小于预设长度时,等待并读取所述第一预设端口中的数据;
所述第三判断模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据的类型为结束标识时,判断所述缓存中是否有日志;
所述第一发送模块,还用于当所述第三判断模块判断出所述缓存中有日志时,将所述缓存中的日志发送给所述远程服务器。
15.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:第二连接模块和第一断开模块;
所述第二连接模块,用于所述第一发送模块将所述第一读取模块读取到的日志发送给通过网络连接的所述远程服务器之前,与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述第一发送模块,具体用于:将所述第一读取模块读取到的日志发送至所述远程服务器的第三预设端口中;
所述第一断开模块,用于所述第一发送模块触发所述第一读取模块之前,关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
16.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:第三连接模块和第二断开模块;
所述第三连接模块,用于所述第一读取模块等待并读取所述第一预设端口中的数据之前,与所述远程服务器建立网络连接,并打开所述远程服务器的第三预设端口;
所述第一发送模块,具体用于:将所述第一读取模块读取到的日志发送至所述远程服务器的第三预设端口中;
所述第二断开模块,用于当所述第一判断模块判断出所述第一读取模块读取到的数据的类型为结束标识时,关闭所述第三预设端口,并断开与所述远程服务器的网络连接。
17.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:第四连接模块、第二保存模块、第四判断模块和第二发送模块;
所述第二保存模块,用于当所述第一发送模块将读取到的日志发送失败时,将读取到的日志保存;
所述第四连接模块,用于所述第二保存模块将读取到的日志保存之后,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第四判断模块,用于判断所述第四连接模块是否连接成功;
所述第二发送模块,用于当所述第四判断模块判断出所述第四连接模块连接成功时,将所述第二保存模块保存的日志发送给所述远程服务器;
所述第一读取模块,还用于所述第二发送模块将所述第二保存模块保存的日志发送给所述远程服务器之后,等待并读取所述第一预设端口中的数据;
所述第四连接模块,还用于当所述第四判断模块判断出所述第四连接模块连接不成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
18.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:第三保存模块、第二读取模块、第五判断模块、第五连接模块、第六判断模块、第三发送模块和第七判断模块;
所述第三保存模块,用于当所述第一发送模块将读取到的日志发送失败时,将读取到的日志保存至缓存中;
所述第二读取模块,用于所述第三保存模块将读取到的日志保存至缓存中之后,读取所述第一预设端口中的数据;
所述第五判断模块,用于判断所述第二读取模块读取到的数据的类型;
所述第三保存模块,还用于当所述第五判断模块判断出所述第二读取模块读取到的数据的类型为日志时,将所述第二读取模块读取到的日志保存至缓存中;
所述第五连接模块,用于所述第三保存模块将所述第二读取模块读取到的日志保存至缓存中之后,与所述远程服务器建立网络连接;
所述第六判断模块,用于判断所述第五连接模块是否连接成功;
所述第三发送模块,用于当所述第六判断模块判断出所述第五连接模块连接成功时,将所述缓存中的日志发送给所述远程服务器;
所述第一读取模块,还用于所述第三发送模块将所述缓存中的日志发送给所述远程服务器之后,读取所述第一预设端口中的数据;
所述第二读取模块,还用于当所述第六判断模块判断出所述第五连接模块连接不成功时,读取所述第一预设端口中的数据;
所述第五连接模块,还用于当所述第五判断模块判断出所述第二读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第七判断模块,用于判断所述第五连接模块是否连接成功;
所述第三发送模块,还用于当所述第七判断模块判断出所述第五连接模块连接成功时,将所述缓存中的日志发送给所述远程服务器;
所述第五连接模块,还用于当所述第七判断模块判断出所述第五连接模块不连接成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
19.根据权利要求11所述的系统,其特征在于,所述第一设备,还包括:建立模块、第四保存模块、第三读取模块、第八判断模块、第六连接模块、第九判断模块、第四发送模块、第十判断模块和第十一判断模块;
所述建立模块,用于当所述第一发送模块将读取到的日志发送失败时,新建临时文件;
所述第四保存模块,用于将所述第一读取模块读取到的日志保存至所述临时文件中;
所述第三读取模块,用于所述第四保存模块将所述第一读取模块读取到的日志保存至所述临时文件中之后,读取所述第一预设端口中的数据;
所述第八判断模块,用于判断所述第三读取模块读取到的数据的类型;
所述第四保存模块,还用于当所述第八判断模块判断出所述第三读取模块读取到的数据的类型为日志时,将所述第三读取模块读取到的日志保存至所述临时文件中;
所述第六连接模块,用于所述第四保存模块将所述第三读取模块读取到的日志保存至所述临时文件中之后,与所述远程服务器建立网络连接;
所述第九判断模块,用于判断所述第六连接模块是否连接成功;
所述第四发送模块,用于当所述第九判断模块判断出所述第六连接模块连接成功时,将所述临时文件发送给所述远程服务器;或者将所述临时文件中的日志发送给所述远程服务器;
所述第一读取模块,还用于当所述第四发送模块将所述临时文件发送给所述远程服务器之后,读取所述第一预设端口中的数据;或者当所述第四发送模块将所述临时文件中的日志发送给所述远程服务器之后,读取所述第一预设端口中的数据;
所述第三读取模块,还用于当所述第九判断模块判断出所述第六连接模块连接不成功时,读取所述第一预设端口中的数据;
所述第六连接模块,还用于当所述第八判断模块判断出所述第三读取模块读取到的数据的类型为结束标识时,每隔预设时间间隔与所述远程服务器建立网络连接;
所述第十判断模块,用于判断所述第六连接模块是否连接成功;
所述第四发送模块,还用于当所述第十判断模块判断出所述第六连接模块连接成功时,将所述临时文件发送给所述远程服务器;或者将所述临时文件中的日志发送给所述远程服务器;
所述第六连接模块,还用于当所述第十判断模块判断出所述第六连接模块连接不成功时,每隔预设时间间隔与所述远程服务器建立网络连接。
20.根据权利要求11所述的系统,其特征在于,所述定向模块,具体用于:执行第一指令将所述第二设备的第二预设端口重定向到所述第一设备的第一预设端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710004147.1A CN106506709B (zh) | 2017-01-04 | 2017-01-04 | 一种远程日志获取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710004147.1A CN106506709B (zh) | 2017-01-04 | 2017-01-04 | 一种远程日志获取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106506709A CN106506709A (zh) | 2017-03-15 |
CN106506709B true CN106506709B (zh) | 2019-05-10 |
Family
ID=58345063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710004147.1A Active CN106506709B (zh) | 2017-01-04 | 2017-01-04 | 一种远程日志获取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106506709B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545296A (zh) * | 2018-05-28 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 一种日志数据获取方法、装置及其设备 |
CN113192232A (zh) * | 2021-03-15 | 2021-07-30 | 深圳市广通远驰科技有限公司 | 日志获取方法和日志获取系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197700A (zh) * | 2006-12-05 | 2008-06-11 | 阿里巴巴公司 | 提供日志服务的方法及系统 |
CN102064969A (zh) * | 2010-12-27 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种日志的处理方法和设备 |
CN104184846A (zh) * | 2014-09-10 | 2014-12-03 | 北京浩瀚深度信息技术股份有限公司 | 一种互联网端口的整理方法及装置 |
CN104298492A (zh) * | 2013-07-18 | 2015-01-21 | 工业和信息化部软件与集成电路促进中心 | 一种远程移动终端控制方法和系统 |
CN104331063A (zh) * | 2014-10-09 | 2015-02-04 | 南京科远自动化集团股份有限公司 | 一种工业现场设备远程诊断维护系统及方法 |
CN104572411A (zh) * | 2013-10-10 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种日志数据的处理方法及装置 |
-
2017
- 2017-01-04 CN CN201710004147.1A patent/CN106506709B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197700A (zh) * | 2006-12-05 | 2008-06-11 | 阿里巴巴公司 | 提供日志服务的方法及系统 |
CN102064969A (zh) * | 2010-12-27 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种日志的处理方法和设备 |
CN104298492A (zh) * | 2013-07-18 | 2015-01-21 | 工业和信息化部软件与集成电路促进中心 | 一种远程移动终端控制方法和系统 |
CN104572411A (zh) * | 2013-10-10 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种日志数据的处理方法及装置 |
CN104184846A (zh) * | 2014-09-10 | 2014-12-03 | 北京浩瀚深度信息技术股份有限公司 | 一种互联网端口的整理方法及装置 |
CN104331063A (zh) * | 2014-10-09 | 2015-02-04 | 南京科远自动化集团股份有限公司 | 一种工业现场设备远程诊断维护系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106506709A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106506709B (zh) | 一种远程日志获取方法及系统 | |
CN106603359B (zh) | Plc系统的通讯控制方法及装置 | |
CN104486128A (zh) | 一种实现双控制器节点间冗余心跳的系统及方法 | |
CN100442791C (zh) | 使用浮动ip地址提高数据通信可靠性的方法 | |
CN108647946A (zh) | 智能合约处理方法及系统、监听设备及存储介质 | |
CN108897577A (zh) | 一种服务器背板cpld状态自适应系统及方法 | |
CN106921515A (zh) | 业务操作数据处理方法、装置、电子设备、服务器及系统 | |
CN105389213A (zh) | 一种数据中心系统及其配置方法 | |
CN110868278A (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
CN102378136A (zh) | 短消息的处理方法及装置 | |
CN101540699A (zh) | 一种实现远程维修网络设备的方法和装置 | |
CN106375324B (zh) | 一种基于tcp/ip通信协议的网络通信系统及方法 | |
CN104660616A (zh) | 一种会话可保持的服务端及其会话处理方法 | |
CN101047700B (zh) | 一种提高lmp控制通道可靠性的方法与装置 | |
CN101958919A (zh) | 一种基于非ip数据隧道的多文件并行传输方法及系统 | |
CN106254445A (zh) | 消息发送方法及服务端 | |
CN103051484A (zh) | 会话业务处理方法、系统和会话边缘控制器 | |
CN100584051C (zh) | 一种检测单板故障的方法 | |
CN102905261B (zh) | 一种联系人信息验证请求和接收方法及客户端 | |
CN104519062A (zh) | 一种创建多对socket端口连接的方法及系统 | |
CN105007143A (zh) | 一种实现呼叫保存和恢复的方法及系统 | |
CN103188289A (zh) | 一种客户端与服务端的消息通信方法 | |
CN106485378A (zh) | 业务数据的传输方法、系统和服务器 | |
CN107426538A (zh) | 云对讲电话门口机系统及电话门口机对讲方法 | |
CN113596083A (zh) | 一种基于状态跟踪的高可用云通信通话恢复的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |