CN112770408B - 一种日志的传输方法、装置、计算机设备和存储介质 - Google Patents
一种日志的传输方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112770408B CN112770408B CN202110053555.2A CN202110053555A CN112770408B CN 112770408 B CN112770408 B CN 112770408B CN 202110053555 A CN202110053555 A CN 202110053555A CN 112770408 B CN112770408 B CN 112770408B
- Authority
- CN
- China
- Prior art keywords
- log
- service
- network information
- mobile terminal
- acquisition
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种日志的传输方法、装置、计算机设备和存储介质,该方法包括:基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,采集设备配置有第一网络信息,基于Bonjour协议在无线局域网注册移动终端提供日志生成服务,移动终端配置有第二网络信息,采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接,通过数据传输连接将应用的日志文件传输至采集设备,移动终端与采集设备之间的数据传输连接属于无线连接,并不依赖数据线,可避免硬件匹配、接触不良等问题,保证数据传输连接的稳定性,从而保证日志文件在传输时的稳定性,提高日志文件的传输效率。
Description
技术领域
本发明实施例涉及通信的技术领域,尤其涉及一种日志的传输方法、装置、计算机设备和存储介质。
背景技术
随着移动科技的快速发展,诸如手机、智能手表、智能手环等移动终端快速普及,各个厂商为了给用户提供各种服务,配套移动终端开发不同的应用,例如,直播应用、短视频应用、即时通讯客户端,等等。
技术人员在开发应用的过程中,往往需要导出应用在运行时生成的日志文件,从而发现应用中的错误、对应用是否符合设计要求,进行有关验证以及评估应用的质量。
目前,为导出应用生成的日志文件,通常是使用数据线将移动终端接入到个人电脑上,数据线与个人电脑、移动终端均存在硬件匹配、接触不良等问题,个人电脑与移动终端之间的连接不稳定,日志文件的传输可能时常中断,导致日志文件的传输效率较低。
发明内容
本发明实施例提出了一种日志的传输方法、装置、计算机设备和存储介质,以解决移动终端将日志文件传输至个人电脑的效率较低的问题。
第一方面,本发明实施例提供了一种日志的传输方法,应用于移动终端,所述方法包括:
基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,所述采集设备配置有第一网络信息;
基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,所述移动终端配置有第二网络信息;
采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
通过所述数据传输连接将应用的日志文件传输至所述采集设备。
第二方面,本发明实施例还提供了一种日志的传输方法,应用于采集设备,所述方法包括:
基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,所述采集设备配置有第一网络信息;
基于所述Bonjour协议在所述无线局域网中发现提供日志生成服务的移动终端,所述移动终端配置有第二网络信息;
采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
通过所述数据传输连接接收所述移动终端发送的、应用的日志文件。
第三方面,本发明实施例还提供了一种日志的传输装置,位于移动终端,所述装置包括:
采集设备发现模块,用于基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,所述采集设备配置有第一网络信息;
移动终端注册模块,用于基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,所述移动终端配置有第二网络信息;
数据传输连接建立模块,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件传输模块,用于通过所述数据传输连接将应用的日志文件传输至所述采集设备。
第四方面,本发明实施例还提供了一种日志的传输装置,位于采集设备,所述装置包括:
采集设备注册模块,用于基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,所述采集设备配置有第一网络信息;
移动终端发现模块,用于基于所述Bonjour协议在所述无线局域网中发现提供日志生成服务的移动终端,所述移动终端配置有第二网络信息;
数据传输连接建立模块,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件接收模块,用于通过所述数据传输连接接收所述移动终端发送的、应用的日志文件。
第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第二方面所述的日志的传输方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方或第二方面所述的日志的传输方法。
在本实施例中,移动终端基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,采集设备配置有第一网络信息,基于Bonjour协议在无线局域网注册移动终端提供日志生成服务,移动终端配置有第二网络信息,采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接,通过数据传输连接将应用的日志文件传输至采集设备,Bonjour协议对配置的要求低,保证了移动终端与采集设备之间建立数据传输连接之间的简便性,移动终端与采集设备之间的数据传输连接属于无线连接,并不依赖数据线,可避免硬件匹配、接触不良等问题,保证数据传输连接的稳定性,从而保证日志文件在传输时的稳定性,提高日志文件的传输效率。
附图说明
图1为本发明实施例一提供的一种日志的传输方法的流程图;
图2为本发明实施例二提供的一种日志的传输方法的流程图;
图3是本发明实施例三提供的一种日志的传输方法的流程图;
图4为本发明实施例四提供的一种日志的传输装置的结构示意图;
图5为本发明实施例五提供的一种日志的传输装置的结构示意图;
图6为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在本实施例中,基于Bonjour(零配置联网)在移动终端与采集设备之间传输日志文件,Bonjour为基于组播域名服务(multicast DNS)的开放性零设置网络标准,在缺少中心服务器的情况下,能自动发现IP(Internet Protocol,网际互连协议)网络上的电脑、设备和服务。
目前,IP协议已经成为计算机等硬件设备之间通信的基本协议,大部分计算机和其它网络设备都是基于TCP(Transmission Control Protocol,传输控制协议)/IP进行通信的。
在这种网络中,每个设备通过手动设定或者DHCP(Dynamic Host ConfigurationProtocol,动态主机设置协议)服务器动态分配的方式配置一个唯一的IP地址,动态分配的地址是可以改变的,但是,像打印机等设备是手动设定一个静态地址的,以便于其他计算机可连接到打印机等设备。如果网络管理员配置一个DNS(Domain Name System,域名系统)服务器,其他计算机可以不通过IP地址来连接打印机等设备了。
DNS服务器是比较复杂的配置,依赖局域网实现,技术门槛较高,而一般用户对此并不掌握,难以在家庭中搭建局域网。即使对于专业的网络管理员,也要手动配置DNS服务器的信息,但很多时候,络管理员并不希望去做这些配置,就可以直接连入局域网内去接入打印机、文件服务器、游戏服务器进行操作。
用户希望找到可用的设备并从一个列表中选择它们,而不是配置每个设备的IP地址,这便是Bonjour所解决的问题。
在局域网内的任意一个设备都有一个唯一的网络地址,两个设备想要建立连接,得提前获知对方是谁,也就是网络地址是多少。IP地址不包含任何语义信息,如果使用IP地址进行通信得事先协商好一个固定IP的服务端,但这样对使用者不太友好,因为使用者不太关心底层的网络细节,用户优选一个无感知的环境,连入同一个局域网,即可搜索同一个局域网的设备。
因此,对传统的基于IP地址的通讯服务加以改造,让各个设备可以自动传播它们自己的服务,并探寻其他设备提供的服务。这就是Bonjour协议,即设备发现可用的服务即建立连接,使用服务。
Bonjour实现了零配置网络联网功能,零配置意味着用户在使用过程中可以不关心网络配置的具体信息是什么,为了实现零配置网络,Bonjour可解决三个需求:
1、寻址(分配IP地址给主机)
局域网中的设备均配置有一个唯一的通信地址,在传统网络环境下,设备的IP地址通过两种方式获取,一种是静态配置,通过手工方式为设备指定一个IP地址,一种是动态配置,设备通过路由器的DHCP服务获得动态的IP地址。在无中心服务器的网络环境下,没有中心服务器提供DHCP服务,用户手工配置IP地址也很不方便,为此,希望设备可以主动为自己指定一个可用的IP地址。
在IPv6环境下,IPv6协议本身就提供了设备自指定IP地址的能力,所以实现很简单,直接使用IPv6的协议支持就可以了。在IPv4环境下,Bonjour使用了随机指定IP地址的方法,首先为设备随机指定一个属于本地网段的IP地址,然后检查该地址在本地是否有冲突,如果有冲突就随机生成另一个新的IP地址,直到找到可用IP地址为止。
2、命名(使用名字而不是IP地址来代表主机)
在传统网络环境下,名称和IP地址的对应关系是通过DNS服务解析的。当一个设备需要访问一个域名,如“www.abc.com”,设备将“www.abc.com”发给DNS服务器,服务器返回该域名对应的IP地址,设备再使用返回的IP地址对日志采集服务器进行访问。
在没有中心服务器的网络环境中,没有DNS服务器提供域名解析服务,针对名称解析,解决方案是mDNS(组播DNS),在标准文档RFC6762中定义。
具体而言,当一个设备需要解析一个名称时,如“abc.local.”,这个设备通过UDP(User Datagram Protocol,用户数据报协议)协议向本地网络中的所有设备广播一个消息,问谁是“abc.local”,本地网络中如果有一个设备认为自己是“abc.local”,它就给出响应,说出自己的IP地址。因为“组播DNS”基于UDP协议,采用广播消息的方式,所以不依赖中心服务器提供DNS解析服务就可以完成本地的名称解析。
Bonjour实现了命名和解析的功能,保证了服务的名字在本地网络是唯一的,并且把别人对该名字的查询指向正确的IP地址和端口。
具体而言,Bonjour也是基于mDNS协议的,不过Bonjour在mDNS协议上作了扩展,加强了设备响应“组播DNS”请求的能力。在Bonjour协议下,应用对某个名称进行注册,就可以将响应“组播DNS”请求的工作交由底层处理。也就是说在Bonjour协议下,应用不侦听本地网络的“组播DNS”请求并进行响应,这些工作由底层系统完成。
为了区分全球域名和本地域名,mDNS协议使用“.local.”作为本地域名的根域名。
3、服务搜索(自动在网络搜索服务)
当一个提供服务的设备获取IP地址,并自我指定一个域名后,其实还是不能满足用户的需求。因为用户需要的是某种服务,如打印服务,web服务,用户并不关心这些服务对应的服务器名称和它的IP地址。
为了让用户更容易发现本地网络中的各种服务,Bonjour为设备提供了服务发现的能力,其允许应用查找所有可用的特定类型的服务并维护一个命名服务及端口的列表。应用可以将服务主机名解析为IPv4和IPv6地址列表。在Bonjour中服务搜索是通过“browsing”来实现的。一个多播DNS查询发送一个指定的服务类型和域,任何匹配的服务都会回复他们的名字。
Bonjour从面向服务的角度来看问题,它通过所需要的服务类型来查找,而不是主机名。应用存储的是服务实例名,而不是地址,所以如果IP地址、端口号,甚至主机名改变了,应用仍然可以连接。通过专注于服务而不是设备,用户可以不去关心到底这个服务到底在那台设备上,该设备的IP地址是什么,用户的浏览体验将更有用且无故障。
实施例一
图1为本发明实施例一提供的一种日志的传输方法的流程图,本实施例可适用于基于Bonjour协议建立无线连接、从而传输日志文件的情况,该方法可以由日志的传输装置来执行,该日志的传输装置可以由软件和/或硬件实现,可配置在计算机设备中,可实现为移动终端,例如,手机、平板电脑、智能手表、智能手环,等等,具体包括如下步骤:
步骤101、基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备。
在本实施例中,移动终端、采集设备接入同一个无线局域网,如WiFi(无线保真)网络。
采集设备在该无线局域网中,基于Bonjour协议注册提供日志采集服务,即,该无线设备为接收日志文件的设备,该采集设备配置有第一网络信息,例如,第一名称、第一IP地址、第一端口,等等,这些第一网络信息在注册日志采集服务时广播在无线局域网中。
移动终端在该无线局域网中,基于Bonjour发现提供日志采集服务的设备,作为采集设备,从而获知该采集设备的第一网络信息。
在具体实现中,移动终端作为Bonjour协议中的客户端,建立搜索服务。
示例性地,搜索服务为NSNetService框架中的NSNetServiceBrowser类,从而发现本地的日志采集服务,其过程如下:
创建NSNetServiceBrowser实例:
serviceBrowser=[[NSNetServiceBrowser alloc]init]
以及,指定NSNetServiceBrowser实例的代理,该NSNetServiceBrowser实例的代理支持NSNetServiceBrowserDelegate协议。由实现NSNetServiceBrowserDelegate协议的代理对日志采集服务查找相关的事件进行响应。
在本示例中,指定本实例为NSNetServiceBrowser代理,由本实例对服务查找的事件进行响应:
serviceBrowser.delegate=self
调用搜索服务在无线局域网中搜索基于Bonjour协议注册日志采集服务的设备,作为候选设备。
示例性地,若搜索服务为NSNetService框架中NSNetServiceBrowser类,则可以使用NSNetServiceBrowser实例的searchForServicesOfType方法查找注册可传输日志的设备。
进一步而言,为传输日志文件,可预先约定指定的域用于传输日志文件、约定指定的服务类型用于采集日志文件。
因此,在搜索采集设备时,可调用搜索服务在无线局域网中搜索基于Bonjour协议注册目标域、日志采集服务的设备,作为候选设备。
其中,目标域为用于传输日志文件的域、日志采集服务为用于采集日志文件的服务类型。
示例性地,NSNetServiceBrowser实例的searchForServicesOfType方法中可以指定需要查找的服务类型和查找的域。
以下样例查找“local.”域(目标域)中的“_CollectLog._socket.”服务(日记采集服务):
[serviceBrowser searchForServicesOfType:@"_CollectLog._socket."inDomain:@"local."]
若查找到候选设备,则调用查找服务事件,读取采集设备的第一名称(如Collector)。
示例性地,在NSNetServiceBrowserDelegate协议的以下方法中响应didFindService事件(查找服务事件):
-(void)netServiceBrowser:(NSNetServiceBrowser*)netServiceBrowserdidFindService:(NSNetService*)netService
moreComing:(BOOL)moreServicesComing
其中,netService参数就是找到的服务,在netService参数中可以得到采集设备的第一名称等信息。
若第一名称为预先约定的、表示提供日志采集服务的采集设备,则确定候选设备为采集设备。
进一步而言,第一名称用于映射至第一IP地址、第一端口等信息,移动终端可以基于Bonjour协议的mDNS服务在无线局域网中依据第一名称查询到采集设备的第一IP地址、第一端口等信息。
步骤102、基于Bonjour协议在无线局域网注册移动终端提供日志生成服务。
移动终端在该无线局域网中,基于Bonjour协议注册提供日志生成服务,即,该移动终端为生成日志文件的设备,该移动终端配置有第二网络信息,例如,第二名称、第二IP地址、第二端口,等等,这些第二网络信息在注册日志采集服务时广播在无线局域网中。
采集设备在该无线局域网中,基于Bonjour发现提供日志生成服务的设备,作为移动终端,从而获知该移动终端的第二网络信息。
在具体实现中,基于Bonjour协议,移动终端为自身分配第二IP地址、第二名称,第二名称用于表示提供日志生成服务的移动终端,以及选定第二端口,第二名称用于映射至第二端口、第二IP地址。
移动终端作为Bonjour协议中的服务端,建立网络服务,从而调用网络服务设置移动终端的第二网络信息,其中,第二网络信息包括第二名称。
进一步而言,为传输日志文件,可预先约定指定的域用于传输日志文件、约定指定的服务类型用于生成日志文件。
因此,在注册移动终端时,可调用网络服务设置目标域、日志生成服务,以及,在目标域与日志生成服务下设置移动终端的第二网络信息。
其中,目标域为用于传输日志文件的域、日志生成服务为用于生成日志文件的服务类型。
示例性地,网络服务为NSNetService实例,通过NSNetService实例并通过initwithDomain:type:name:port:方法进行初始化,指定域、日志生成服务(_GenerateLog._socket)、名称(Generator)和端口(1234),样例如下:
service=[[NSNetService alloc]initWithDomain:@"local."type:@"_GenerateLog._socket."name:@"Generator"port:1234]
若完成设置第二网络信息,则可以在无线局域网中发布第二网络信息。
示例性地,NSNetService创建成功后,可以通过setDelegate指定代理,同时通过publish方法发布注册日志生成服务:
[service setDelegate:self]
[service publish]
需要说明的是,其中指定的代理支持NSNetServiceDelegate协议,可以对日志生成服务生成发布成功,发布失败等事件。
一般情况下,如果移动终端发布日志生成服务,应该在发布日志生成服务之前准备好服务并启动日志生成服务。但是,NSNetService的publish方法并不依赖它所发布的日志生成服务,不管日志生成服务是否准备好,是否启动,NSNetService的publish都可以成功将日志生成服务发布出去。
步骤103、采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接。
一方面,移动终端基于Bonjour协议在无线局域网中发现采集设备,移动终端可以获知采集设备的第二网络信息、以及获知本身的第一网络信息。
另一方面,采集设备基于Bonjour协议在无线局域网中发现移动终端,采集设备可以获知移动终端的第一网络信息、以及获知本身的第二网络信息。
因此,移动终端与采集设备可以相互获知网络信息,此时,移动终端与采集设备均可以采用第一网络信息与第二网络信息在移动终端与采集设备之间建立用于传输日志文件的数据传输连接。
进一步而言,基于Bonjour协议,可在日志生成服务与日志采集服务中预先约定用于传输日志文件的传输协议。
示例性地,移动终端基于Bonjour协议发现提供日志采集服务端的采集设备,[serviceBrowser searchForServicesOfType:@"_CollectLog._socket."inDomain:@"local."]约定传输协议为socket(套接字)协议。
移动终端基于Bonjour协议注册日志生成服务,service=[[NSNetServicealloc]initWithDomain:@"local."type:@"_GenerateLog._socket."name:@"Generator"port:1234]约定传输协议为socket协议。
因此,可确定在日志生成服务与日志采集服务中设置的、用于传输日志文件的传输协议,对于传输协议而言,移动终端作为传输协议的客户端、采集设备作为传输协议的服务端。
在无线局域网的范围中,采用第一网络信息与第二网络信息在客户端与服务端之间建立符合传输协议的数据传输连接,为保证日志文件传输的稳定性,数据传输连接一般为长连接。
以基于TCP的socket协议为例,socket协议用于描述IP地址和端口,是一个通信链的句柄,客户端通过socket连接向服务端发出请求或者应答请求。
对于服务端(采集设备)而言,在建立数据传输连接时执行如下操作:
1、通过socket()系统调用新建一个socket。
sockfd=socket(AF_INET,SOCK_STREAM,0)
2、给新建的socket绑定第一IP地址和第一端口
bind(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr))
其中,serv_addr结构体内包含了服务端(采集设备)的第一IP地址和第一端口。
3、通过listen()系统调用监听连接
listen(sockfd,5);
4、通过accept()系统调用接收连接
newsockfd=accept(sockfd,(struct sockaddr*)&cli_addr,&clilen)
其中,newsockfd是通过accept()系统调用新建的socket文件描述符,当server监听到连接请求,便用这个新生产的socket与远程客户端(移动终端)的socket通讯,cli_addr结构体内包含了客户端(移动终端)的第二IP地址和第二端口。
对于客户端(移动终端)而言,在建立数据传输连接时执行如下操作:
1、创建Socket对象
sockfd=socket(AF_INET,SOCK_STREAM,0);
2、通过调用connect方法,与远程server(采集设备)监听socket发起连接请求
connect(sockfd,&serv_addr,sizeof(serv_addr))
步骤104、通过数据传输连接将应用的日志文件传输至采集设备。
若移动终端与采集设备之间在无线局域网中建立了数据传输连接,则移动终端可以通过数据传输连接实时地将日志文件传输至采集设备,则采集设备可以通过数据传输实时接收到移动终端发送的日志文件。
在开发应用的场景下,可在日志文件中对应用记录用户的操作、应用运行的信息(如时间、日志级别、调用链标识、线程名称、日志记录器名称、日志内容、异常栈等堆)等数据,日志文件的数据量较大,并且,在本实施例中,支持应用实时运行、实时传输日志文件,即日志文件以数据流的形式进行传输,以便于实时分析日志文件。
对于客户端(移动终端)而言,可查找处于运行状态的应用所生成的日志文件,按照预设的长度将日志文件切分为多个片段,作为日志片段,形成数据流,按照日志库数据XLog的规范(如,二进制转换之后加密)将日志片段转换为日志库数据XLog,日志库数据XLog的日志信息包含线程信息,调用栈信息(堆栈信息、方法名、文件名、行号等等),提高了日志文件的扩展性高,保证日志文件的轻量级,通过数据传输连接将日志库数据XLog传输至采集设备。对于服务端(采集设备)而言,可通过数据传输连接接收移动终端发送的日志库数据XLog,按照日志库数据XLog的规范(如,解密之后执行二进制转换)将日志库数据转换XLog为日志片段,按照顺序将日志片段拼接为应用在运行时生成的日志文件。
以基于TCP的socket协议为例,对于客户端(移动终端)而言,客户端(移动终端)可将日志文件切分为多个日志片段,在日志库数据XLog的框架下将日志片段转换为日志库数据XLog,调用write方法将日志库数据XLog写入socket中,调用send方法按照顺序将日志库数据XLog传输至服务端(采集设备),在某个日志库数据XLog传输失败时,客户端(移动终端)可以重新传输该日志库数据XLog。
对于服务端(采集设备)而言,可以获取客户端(移动终端)传输的日志库数据XLog,在日志库数据XLog的框架下将日志库数据XLog转换为日志片段,按照顺序将日志片段拼接为原始的日志文件,如果没有传输日志库数据XLog,或者传输的数据为结束标识(如“bye”),则可以调用close方法断开数据传输连接。
在本实施例中,移动终端基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,采集设备配置有第一网络信息,基于Bonjour协议在无线局域网注册移动终端提供日志生成服务,移动终端配置有第二网络信息,采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接,通过数据传输连接将应用的日志文件传输至采集设备,Bonjour协议对配置的要求低,保证了移动终端与采集设备之间建立数据传输连接之间的简便性,移动终端与采集设备之间的数据传输连接属于无线连接,并不依赖数据线,可避免硬件匹配、接触不良等问题,保证数据传输连接的稳定性,从而保证日志文件在传输时的稳定性,提高日志文件的传输效率。
实施例二
图2为本发明实施例二提供的一种日志的传输方法的流程图,本实施例可适用于基于Bonjour协议建立无线连接、从而传输日志文件的情况,该方法可以由日志的传输装置来执行,该日志的传输装置可以由软件和/或硬件实现,可配置在计算机设备中,可实现为采集设备,例如,个人电脑、服务器、工作站,等等,具体包括如下步骤:
步骤201、基于Bonjour协议在无线局域网注册采集设备提供日志采集服务。
在本实施例中,移动终端、采集设备接入同一个无线局域网,如WiFi网络。
采集设备在该无线局域网中,基于Bonjour协议注册提供日志采集服务,即,该无线设备为接收日志文件的设备,该采集设备配置有第一网络信息,例如,第一名称、第一IP地址、第一端口,等等,这些第一网络信息在注册日志采集服务时广播在无线局域网中。
移动终端在该无线局域网中,基于Bonjour发现提供日志采集服务的设备,作为采集设备,从而获知该采集设备的第一网络信息。
在具体实现中,基于Bonjour协议,采集设备为自身分配第一IP地址、第一名称,第一名称用于表示提供日志采集服务的采集设备,以及选定第一端口,第一名称用于映射至第一端口、第一IP地址。
采集设备作为Bonjour协议中的服务端,建立网络服务,从而调用网络服务设置采集设备的第一网络信息,其中,第一网络信息包括第一名称。
进一步而言,为传输日志文件,可预先约定指定的域用于传输日志文件、约定指定的服务类型用于采集日志文件。
因此,在注册采集设备时,可调用网络服务设置目标域、日志采集服务,以及,在目标域与日志采集服务下设置采集设备的第一网络信息。
其中,目标域为用于传输日志文件的域、日志采集服务为用于采集日志文件的服务类型。
示例性地,网络服务为NSNetService实例,通过NSNetService实例并通过initwithDomain:type:name:port:方法进行初始化,指定域、日志生成服务(_CollectLog._socket)、名称(Collector)和端口(4321),样例如下:
service=[[NSNetService alloc]initWithDomain:@"local."type:@"_CollectLog._socket."name:@"Collector"port:4321]
若完成设置第一网络信息,则可以在无线局域网中发布第一网络信息。
示例性地,NSNetService创建成功后,可以通过setDelegate指定代理,同时通过publish方法发布注册日志采集服务:
[service setDelegate:self]
[service publish]
需要说明的是,其中指定的代理支持NSNetServiceDelegate协议,可以对日志采集服务生成发布成功,发布失败等事件。
一般情况下,如果采集器发布日志采集服务,应该在发布日志采集服务之前准备好服务并启动日志采集服务。但是,NSNetService的publish方法并不依赖它所发布的日志采集服务,不管日志采集服务是否准备好,是否启动,NSNetService的publish都可以成功将日志采集服务发布出去。
步骤202、基于Bonjour协议在无线局域网中发现提供日志生成服务的移动终端。
移动终端在该无线局域网中,基于Bonjour协议注册提供日志生成服务,即,该移动终端为生成日志文件的设备,该移动终端配置有第二网络信息,例如,第二名称、第二IP地址、第二端口,等等,这些第二网络信息在注册日志采集服务时广播在无线局域网中。
采集设备在该无线局域网中,基于Bonjour发现提供日志生成服务的设备,作为移动终端,从而获知该移动终端的第二网络信息。
在具体实现中,采集设备作为Bonjour协议中的客户端,建立搜索服务。
示例性地,搜索服务为NSNetService框架中的NSNetServiceBrowser类,从而发现本地的日志采集服务,其过程如下:
创建NSNetServiceBrowser实例:
serviceBrowser=[[NSNetServiceBrowser alloc]init]
以及,指定NSNetServiceBrowser实例的代理,该NSNetServiceBrowser实例的代理支持NSNetServiceBrowserDelegate协议。由实现NSNetServiceBrowserDelegate协议的代理对日志采集服务查找相关的事件进行响应。
在本示例中,指定本实例为NSNetServiceBrowser代理,由本实例对服务查找的事件进行响应:
serviceBrowser.delegate=self
调用搜索服务在无线局域网中搜索基于Bonjour协议注册日志生成服务的设备,作为候选设备。
示例性地,若搜索服务为NSNetService框架中NSNetServiceBrowser类,则可以使用NSNetServiceBrowser实例的searchForServicesOfType方法查找注册可传输日志的设备。
进一步而言,为传输日志文件,可预先约定指定的域用于传输日志文件、约定指定的服务类型用于采集日志文件。
因此,在搜索移动终端时,可调用搜索服务在无线局域网中搜索基于Bonjour协议注册目标域、日志生成服务的设备,作为候选设备。
其中,目标域为用于传输日志文件的域、日志生成服务为用于生成日志文件的服务类型。
示例性地,NSNetServiceBrowser实例的searchForServicesOfType方法中可以指定需要查找的服务类型和查找的域。
以下样例查找“local.”域(目标域)中的“_CollectLog._socket.”服务(日记生成服务):
[serviceBrowser searchForServicesOfType:@"_CollectLog._socket."inDomain:@"local."]
若查找到候选设备,则调用查找服务事件,读取移动终端的第二名称(如Generator)。
示例性地,在NSNetServiceBrowserDelegate协议的以下方法中响应didFindService事件(查找服务事件):
-(void)netServiceBrowser:(NSNetServiceBrowser*)netServiceBrowserdidFindService:(NSNetService*)netService
moreComing:(BOOL)moreServicesComing
其中,netService参数就是找到的服务,在netService参数中可以得到移动终端的第二名称等信息。
若第二名称为预先约定的、表示提供日志生成服务的移动终端,则确定候选设备为移动终端。
进一步而言,第二名称用于映射至第二IP地址、第二端口等信息,采集设备可以基于Bonjour协议的mDNS服务在无线局域网中依据第二名称查询到移动终端的第二IP地址、第二端口等信息。
步骤203、采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接。
一方面,移动终端基于Bonjour协议在无线局域网中发现采集设备,移动终端可以获知采集设备的第二网络信息、以及获知本身的第一网络信息。
另一方面,采集设备基于Bonjour协议在无线局域网中发现移动终端,采集设备可以获知移动终端的第一网络信息、以及获知本身的第二网络信息。
因此,移动终端与采集设备可以相互获知网络信息,此时,移动终端与采集设备均可以采用第一网络信息与第二网络信息在移动终端与采集设备之间建立用于传输日志文件的数据传输连接。
进一步而言,基于Bonjour协议,可在日志生成服务与日志采集服务中预先约定用于传输日志文件的传输协议。
示例性地,移动终端基于Bonjour协议发现提供日志采集服务端的采集设备,[serviceBrowser searchForServicesOfType:@"_CollectLog._socket."inDomain:@"local."]约定传输协议为socket(套接字)协议。
移动终端基于Bonjour协议注册日志生成服务,service=[[NSNetServicealloc]initWithDomain:@"local."type:@"_GenerateLog._socket."name:@"Generator"port:1234]约定传输协议为socket协议。
因此,可确定在日志生成服务与日志采集服务中设置的、用于传输日志文件的传输协议,对于传输协议而言,移动终端作为传输协议的客户端、采集设备作为传输协议的服务端。
在无线局域网的范围中,采用第一网络信息与第二网络信息在客户端与服务端之间建立符合传输协议的数据传输连接,为保证日志文件传输的稳定性,数据传输连接一般为长连接。
以基于TCP的socket协议为例,socket协议用于描述IP地址和端口,是一个通信链的句柄,客户端通过socket连接向服务端发出请求或者应答请求。
对于服务端(采集设备)而言,在建立数据传输连接时执行如下操作:
1、通过socket()系统调用新建一个socket。
sockfd=socket(AF_INET,SOCK_STREAM,0)
2、给新建的socket绑定第一IP地址和第一端口
bind(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr))
其中,serv_addr结构体内包含了服务端(采集设备)的第一IP地址和第一端口。
3、通过listen()系统调用监听连接
listen(sockfd,5);
4、通过accept()系统调用接收连接
newsockfd=accept(sockfd,(struct sockaddr*)&cli_addr,&clilen)
其中,newsockfd是通过accept()系统调用新建的socket文件描述符,当server监听到连接请求,便用这个新生产的socket与远程客户端(移动终端)的socket通讯,cli_addr结构体内包含了客户端(移动终端)的第二IP地址和第二端口。
对于客户端(移动终端)而言,在建立数据传输连接时执行如下操作:
1、创建Socket对象
sockfd=socket(AF_INET,SOCK_STREAM,0);
2、通过调用connect方法,与远程server(采集设备)监听socket发起连接请求
connect(sockfd,&serv_addr,sizeof(serv_addr))
步骤204、通过数据传输连接接收移动终端发送的、应用的日志文件。
若移动终端与采集设备之间在无线局域网中建立了数据传输连接,则移动终端可以通过数据传输连接实时地将日志文件传输至采集设备,则采集设备可以通过数据传输实时接收到移动终端发送的日志文件。
在开发应用的场景下,可在日志文件中对应用记录用户的操作、应用运行的信息(如时间、日志级别、调用链标识、线程名称、日志记录器名称、日志内容、异常栈等堆)等数据,日志文件的数据量较大,并且,在本实施例中,支持应用实时运行、实时传输日志文件,即日志文件以数据流的形式进行传输,以便于实时分析日志文件。
对于客户端(移动终端)而言,可查找处于运行状态的应用所生成的日志文件,按照预设的长度将日志文件切分为多个片段,作为日志片段,形成数据流,按照日志库数据XLog的规范(如,二进制转换之后加密)将日志片段转换为日志库数据XLog,日志库数据XLog的日志信息包含线程信息,调用栈信息(堆栈信息、方法名、文件名、行号等等),提高了日志文件的扩展性高,保证日志文件的轻量级,通过数据传输连接将日志库数据XLog传输至采集设备。
对于服务端(采集设备)而言,可通过数据传输连接接收移动终端发送的日志库数据XLog,按照日志库数据XLog的规范(如,解密之后执行二进制转换)将日志库数据转换XLog为日志片段,按照顺序将日志片段拼接为应用在运行时生成的日志文件。
以基于TCP的socket协议为例,对于客户端(移动终端)而言,客户端(移动终端)可将日志文件切分为多个日志片段,在日志库数据XLog的框架下将日志片段转换为日志库数据XLog,调用write方法将日志库数据XLog写入socket中,调用send方法按照顺序将日志库数据XLog传输至服务端(采集设备),在某个日志库数据XLog传输失败时,客户端(移动终端)可以重新传输该日志库数据XLog。
对于服务端(采集设备)而言,可以获取客户端(移动终端)传输的日志库数据XLog,在日志库数据XLog的框架下将日志库数据XLog转换为日志片段,按照顺序将日志片段拼接为原始的日志文件,如果没有传输日志库数据XLog,或者传输的数据为结束标识(如“bye”),则可以调用close方法断开数据传输连接。
在本实施例中,采集设备基于Bonjour协议在无线局域网注册采集设备提供日志采集服务,采集设备配置有第一网络信息,基于Bonjour协议在无线局域网中发现提供日志生成服务的移动终端,移动终端配置有第二网络信息,采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接,通过数据传输连接接收移动终端发送的、应用的日志文件,Bonjour协议对配置的要求低,保证了移动终端与采集设备之间建立数据传输连接之间的简便性,移动终端与采集设备之间的数据传输连接属于无线连接,并不依赖数据线,可避免硬件匹配、接触不良等问题,保证数据传输连接的稳定性,从而保证日志文件在传输时的稳定性,提高日志文件的传输效率。
实施例三
图3为本发明实施例三提供的一种日志的传输方法的流程图,本实施例以前述实施例为基础,进一步增加实时分析日志文件的操作,该方法具体包括如下步骤:
步骤301、基于Bonjour协议在无线局域网注册采集设备提供日志采集服务。
其中,采集设备配置有第一网络信息。
步骤302、基于Bonjour协议在无线局域网中发现提供日志生成服务的移动终端。
其中,移动终端配置有第二网络信息。
步骤303、采用第一网络信息与第二网络信息在移动终端与采集设备之间建立数据传输连接
步骤304、通过数据传输连接接收移动终端发送的、应用的日志文件。
步骤305、接收针对日志文件的查询请求。
步骤306、响应于查询请求,在日志文件中查询日志信息。
对于应用开发的场景,日志文件的分析一般是离线执行的,即移动终端上的应用在执行完测试之后,再导出到其他计算设备进行分析,日志分析的时效性较差,用户较难分析出应用的测试表现(如闪退、卡顿等漏洞bug)与日志文件中内容的关联关系,对于应用的开发较为不便。
在本实施例中,采集设备可实时接收移动终端中应用记录的日志文件,在此条件下,用户可以在采集设备中按照应用的测试表现进行操作,对应用的日志文件触发相应的查询请求。
由于日志文件具有标准的格式,采集设备可响应用户的查询请求,在日志文件相应的字段中查询用户所需的日志信息,显示在采集设备的用户界面,供用户浏览、分析,提高了日志分析的时效性,方便用户分析出应用的测试表现(如闪退、卡顿等漏洞bug)与日志文件中内容的关联关系,便于开发应用。
在一个示例中,若查询请求为第一请求,则可以从第一请求中读取关键词,从而在日志文件的内容中查询包含该关键词的日志信息。
在另一个示例中,若查询请求为第二请求,则可以从第二请求中读取业务标签,如主播、虚拟物品等,从而在日志文件中查询已标记该业务标签的日志信息。
在又一个示例中,若查询请求为第三请求,则可以从第三请求中读取级别(又称等级),从而在日志文件中查询级别下的日志信息。
当然,上述查询日志信息的操作只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它查询日志信息的操作,本发明实施例对此不加以限制。另外,除了上述查询日志信息的操作外,本领域技术人员还可以根据实际需要采用其它查询日志信息的操作,本发明实施例对此也不加以限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
图4为本发明实施例四提供的一种日志的传输装置的结构框图,该装置位于移动终端,具体可以包括如下模块:
采集设备发现模块401,用于基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,所述采集设备配置有第一网络信息;
移动终端注册模块402,用于基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,所述移动终端配置有第二网络信息;
数据传输连接建立模块403,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件传输模块404,用于通过所述数据传输连接将应用的日志文件传输至所述采集设备。
在本发明的一个实施例中,所述采集设备发现模块401包括:
搜索服务建立模块,用于作为Bonjour协议中的客户端,建立搜索服务;
候选设备搜索模块,用于调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册日志采集服务的设备,作为候选设备;
名称读取模块,用于若查找到,则调用查找服务事件,读取所述采集设备的第一名称,所述第一名称用于映射至第一IP地址、第一端口;
采集设备确定模块,用于若所述第一名称表示提供日志采集服务的采集设备,则确定所述候选设备为采集设备。
在本发明的一个实施例中,所述候选设备搜索模块包括:
域服务搜索模块,用于调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册目标域、日志采集服务的设备,作为候选设备;
其中,所述目标域为用于传输日志文件的域、所述日志采集服务为用于采集日志文件的服务类型。
在本发明的一个实施例中,所述移动终端注册模块402包括:
网络服务建立模块,用于作为Bonjour协议中的服务端,建立网络服务;
网络信息设置模块,用于调用所述网络服务设置所述移动终端的第二网络信息,所述第二网络信息包括第二名称,所述第二名称用于表示提供日志生成服务的所述移动终端,所述第二名称用于映射至第二端口、第二IP地址;
网络信息发布模块,用于在所述无线局域网中发布所述第二网络信息。
在本发明的一个实施例中,所述网络信息设置模块包括:
域服务设置模块,用于调用所述网络服务设置目标域、日志生成服务,以及,在所述目标域与所述日志生成服务下设置所述移动终端的第二网络信息;
其中,所述目标域为用于传输日志文件的域、所述日志生成服务为用于生成日志文件的服务类型。
在本发明的一个实施例中,所述数据传输连接建立模块403包括:
传输协议确定模块,用于确定在所述日志生成服务与所述日志采集服务中设置的传输协议,所述移动终端作为所述传输协议的客户端、所述采集设备作为所述传输协议的服务端;
传输协议建立模块,用于采用所述第一网络信息与所述第二网络信息在所述客户端与所述服务端之间建立符合所述传输协议的数据传输连接。
在本发明的一个实施例中,所述通过所述数据传输连接将应用的日志文件传输至所述采集设备,包括:
日志文件查找模块,用于查找处于运行状态的应用所生成的日志文件;
日志文件切分模块,用于将所述日志文件切分为多个片段,作为日志片段;
日志片段转换模块,用于将所述日志片段转换为日志库数据;
日志库数据传输模块,用于通过所述数据传输连接将所述日志库数据传输至所述采集设备。
本发明实施例所提供的日志的传输装置可执行本发明任意实施例所提供的日志的传输方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种日志的传输装置的结构框图,该装置位于采集设备,具体可以包括如下模块:
采集设备注册模块501,用于基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,所述采集设备配置有第一网络信息;
移动终端发现模块502,用于基于所述Bonjour协议在所述无线局域网中发现提供日志生成服务的移动终端,所述移动终端配置有第二网络信息;
数据传输连接建立模块503,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件接收模块504,用于通过所述数据传输连接接收所述移动终端发送的、应用的日志文件。
在本发明的一个实施例中,所述采集设备注册模块501包括:
网络服务建立模块,用于作为Bonjour协议中的服务端,建立网络服务;
网络信息设置模块,用于调用所述网络服务设置所述采集设备的第一网络信息,所述第一网络信息包括第一名称,所述第一名称用于表示提供日志采集服务的所述采集设备,所述第一名称用于映射至第一端口、第一IP地址;
网络信息发布模块,用于在所述无线局域网中发布所述第一网络信息。
在本发明的一个实施例中,所述网络信息设置模块包括:
域服务设置模块,用于调用所述网络服务设置目标域、日志采集服务,以及,在所述目标域与所述日志采集服务下设置所述采集设备的第一网络信息;
其中,所述目标域为用于传输日志文件的域、所述日志采集服务为用于采集日志文件的服务类型。
在本发明的一个实施例中,所述移动终端发现模块502包括:
搜索服务建立模块,用于作为Bonjour协议中的客户端,建立搜索服务;
候选设备搜索模块,用于调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册日志生成服务的设备,作为候选设备;
名称读取模块,用于若查找到,则调用查找服务事件,读取所述采集设备的第二名称,所述第二名称用于映射至第二IP地址、第二端口;
移动终端确定模块,用于若所述第二名称表示提供日志生成服务的移动终端,则确定所述候选设备为采集设备。
在本发明的一个实施例中,所述候选设备搜索模块包括:
域服务搜索模块,用于调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册目标域、日志生成服务的设备,作为候选设备;
其中,所述目标域为用于传输日志文件的域、所述日志生成服务为用于生成日志文件的服务类型。
在本发明的一个实施例中,所述数据传输连接建立模块503包括:
传输协议确定模块,用于确定在所述日志生成服务与所述日志采集服务中设置的传输协议,所述移动终端作为所述传输协议的客户端、所述采集设备作为所述传输协议的服务端;
传输协议建立模块,用于采用所述第一网络信息与所述第二网络信息在所述客户端与所述服务端之间建立符合所述传输协议的数据传输连接。
在本发明的一个实施例中,所述日志文件接收模块504包括:
日志库数据接收模块,用于通过所述数据传输连接接收所述移动终端发送的日志库数据;
日志库数据转换模块,用于将所述日志库数据转换为日志片段;
日志片段拼接模块,用于将所述日志片段拼接为应用在运行时生成的日志文件。
在本发明的一个实施例中,还包括:
查询请求接收模块,用于接收针对所述日志文件的查询请求;
日志信息查询模块,用于响应于所述查询请求,在所述日志文件中查询日志信息。
在本发明的一个实施例中,所述日志信息查询模块包括:
关键词读取模块,用于若所述查询请求为第一请求,则从所述第一请求中读取关键词;
关键词搜索模块,用于在所述日志文件中查询包含所述关键词的日志信息;
或者,
业务标签读取模块,用于若所述查询请求为第二请求,则从所述第二请求中读取业务标签;
业务标签搜索模块,用于在所述日志文件中查询已标记所述业务标签的日志信息;
或者,
级别读取模块,用于若所述查询请求为第三请求,则从所述第三请求中读取级别;
级别搜索模块,用于在所述日志文件中查询所述级别下的日志信息。
本发明实施例所提供的日志的传输装置可执行本发明任意实施例所提供的日志的传输方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种计算机设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的日志的传输方法。
实施例七
本发明实施例七还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述日志的传输方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (14)
1.一种日志的传输方法,其特征在于,应用于移动终端,所述方法包括:
基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,所述采集设备配置有第一网络信息;
基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,所述移动终端配置有第二网络信息;
采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
通过所述数据传输连接将应用的日志文件传输至所述采集设备;
所述第一网络信息包括:第一名称、第一IP地址、第一端口,且所述第一网络信息在注册日志采集服务时广播在无线局域网中;
所述第二网络信息包括:第二名称、第二IP地址、第二端口,且所述第二网络信息在注册日志采集服务时广播在无线局域网中;
所述基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,包括:
作为Bonjour协议中的客户端,建立搜索服务;
调用所述搜索服务在无线局域网中搜索提供日志采集服务的采集设备。
2.根据权利要求1所述的方法,其特征在于,所述基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,包括:
调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册日志采集服务的设备,作为候选设备;
若查找到,则调用查找服务事件,读取所述采集设备的第一名称,所述第一名称用于映射至第一IP地址、第一端口;
若所述第一名称表示提供日志采集服务的采集设备,则确定所述候选设备为采集设备。
3.根据权利要求2所述的方法,其特征在于,所述调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册日志传输服务的设备,作为候选设备,包括:
调用所述搜索服务在无线局域网中搜索基于Bonjour协议注册目标域、日志采集服务的设备,作为候选设备;
其中,所述目标域为用于传输日志文件的域、所述日志采集服务为用于采集日志文件的服务类型。
4.根据权利要求1所述的方法,其特征在于,所述基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,包括:
作为Bonjour协议中的服务端,建立网络服务;
调用所述网络服务设置所述移动终端的第二网络信息,所述第二网络信息包括第二名称,所述第二名称用于表示提供日志生成服务的所述移动终端,所述第二名称用于映射至第二端口、第二IP地址;
在所述无线局域网中发布所述第二网络信息。
5.根据权利要求4所述的方法,其特征在于,所述调用所述网络服务设置所述移动终端的第二网络信息,包括:
调用所述网络服务设置目标域、日志生成服务,以及,在所述目标域与所述日志生成服务下设置所述移动终端的第二网络信息;
其中,所述目标域为用于传输日志文件的域、所述日志生成服务为用于生成日志文件的服务类型。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接,包括:
确定在所述日志生成服务与所述日志采集服务中设置的传输协议,所述移动终端作为所述传输协议的客户端、所述采集设备作为所述传输协议的服务端;
采用所述第一网络信息与所述第二网络信息在所述客户端与所述服务端之间建立符合所述传输协议的数据传输连接。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述通过所述数据传输连接将应用的日志文件传输至所述采集设备,包括:
查找处于运行状态的应用所生成的日志文件;
将所述日志文件切分为多个片段,作为日志片段;
将所述日志片段转换为日志库数据;
通过所述数据传输连接将所述日志库数据传输至所述采集设备。
8.一种日志的传输方法,其特征在于,应用于采集设备,所述方法包括:
基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,所述采集设备配置有第一网络信息;
基于所述Bonjour协议在所述无线局域网中发现提供日志生成服务的移动终端,所述移动终端配置有第二网络信息;
采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
通过所述数据传输连接接收所述移动终端发送的、应用的日志文件;
所述第一网络信息包括:第一名称、第一IP地址、第一端口,且所述第一网络信息在注册日志采集服务时广播在无线局域网中;
所述第二网络信息包括:第二名称、第二IP地址、第二端口,且所述第二网络信息在注册日志采集服务时广播在无线局域网中;
所述基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,包括:
作为Bonjour协议中的服务端,建立网络服务;
调用所述网络服务设置采集设备的所述第一网络信息;
若完成设置所述第一网络信息,则在所述无线局域网中发布所述第一网络信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收针对所述日志文件的查询请求;
响应于所述查询请求,在所述日志文件中查询日志信息。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述查询请求,在所述日志文件中查询日志信息,包括:
若所述查询请求为第一请求,则从所述第一请求中读取关键词;
在所述日志文件中查询包含所述关键词的日志信息;
或者,
若所述查询请求为第二请求,则从所述第二请求中读取业务标签;
在所述日志文件中查询已标记所述业务标签的日志信息;
或者,
若所述查询请求为第三请求,则从所述第三请求中读取级别;
在所述日志文件中查询所述级别下的日志信息。
11.一种日志的传输装置,其特征在于,位于移动终端,所述装置包括:
采集设备发现模块,用于基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,所述采集设备配置有第一网络信息;
移动终端注册模块,用于基于所述Bonjour协议在所述无线局域网注册所述移动终端提供日志生成服务,所述移动终端配置有第二网络信息;
数据传输连接建立模块,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件传输模块,用于通过所述数据传输连接将应用的日志文件传输至所述采集设备;
所述第一网络信息包括:第一名称、第一IP地址、第一端口,且所述第一网络信息在注册日志采集服务时广播在无线局域网中;
所述第二网络信息包括:第二名称、第二IP地址、第二端口,且所述第二网络信息在注册日志采集服务时广播在无线局域网中;
所述基于Bonjour协议在无线局域网中发现提供日志采集服务的采集设备,包括:
作为Bonjour协议中的客户端,建立搜索服务;
调用所述搜索服务在无线局域网中搜索提供日志采集服务的采集设备。
12.一种日志的传输装置,其特征在于,位于采集设备,所述装置包括:
采集设备注册模块,用于基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,所述采集设备配置有第一网络信息;
移动终端发现模块,用于基于所述Bonjour协议在所述无线局域网中发现提供日志生成服务的移动终端,所述移动终端配置有第二网络信息;
数据传输连接建立模块,用于采用所述第一网络信息与所述第二网络信息在所述移动终端与所述采集设备之间建立数据传输连接;
日志文件接收模块,用于通过所述数据传输连接接收所述移动终端发送的、应用的日志文件;
所述第一网络信息包括:第一名称、第一IP地址、第一端口,且所述第一网络信息在注册日志采集服务时广播在无线局域网中;
所述第二网络信息包括:第二名称、第二IP地址、第二端口,且所述第二网络信息在注册日志采集服务时广播在无线局域网中;
所述基于Bonjour协议在无线局域网注册所述采集设备提供日志采集服务,包括:
作为Bonjour协议中的服务端,建立网络服务;
调用所述网络服务设置采集设备的所述第一网络信息;
若完成设置所述第一网络信息,则在所述无线局域网中发布所述第一网络信息。
13.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一项所述的日志的传输方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-10中任一项所述的日志的传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053555.2A CN112770408B (zh) | 2021-01-15 | 2021-01-15 | 一种日志的传输方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053555.2A CN112770408B (zh) | 2021-01-15 | 2021-01-15 | 一种日志的传输方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112770408A CN112770408A (zh) | 2021-05-07 |
CN112770408B true CN112770408B (zh) | 2023-01-06 |
Family
ID=75701710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110053555.2A Active CN112770408B (zh) | 2021-01-15 | 2021-01-15 | 一种日志的传输方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112770408B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244889A (zh) * | 2021-12-17 | 2022-03-25 | 深圳Tcl新技术有限公司 | 一种日志获取方法、装置、终端、智能设备及存储介质 |
CN114793354B (zh) * | 2022-04-13 | 2024-02-23 | 展讯通信(深圳)有限公司 | 一种信息传输方法、通信装置、芯片及模组设备 |
CN115051933A (zh) * | 2022-05-30 | 2022-09-13 | 中国银行股份有限公司 | 一种数据库接口调用次数的统计方法、装置、系统和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243190B (zh) * | 2013-06-09 | 2018-06-15 | 新华三技术有限公司 | 一种实现零配置联网协议服务的方法和网络设备 |
CN104488199B (zh) * | 2014-03-17 | 2016-11-02 | 华为终端有限公司 | 一种终端间同步内容的方法和终端 |
US9832168B2 (en) * | 2014-07-01 | 2017-11-28 | Cable Television Laboratories, Inc. | Service discovery within multi-link networks |
KR20160100153A (ko) * | 2015-02-13 | 2016-08-23 | 삼성전자주식회사 | 장치 검색 방법 및 이를 지원하는 전자 장치 |
GB2568873B (en) * | 2017-11-23 | 2021-09-22 | Advanced Risc Mach Ltd | Distributed management system for internet of things devices and methods thereof |
EP3477919B1 (en) * | 2018-01-25 | 2020-03-25 | Apple Inc. | Protocol for establishing a secure communications session with an anonymous host over a wireless network |
CN109218407B (zh) * | 2018-08-14 | 2022-10-25 | 平安普惠企业管理有限公司 | 基于日志监控技术的代码管控方法及终端设备 |
-
2021
- 2021-01-15 CN CN202110053555.2A patent/CN112770408B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112770408A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112770408B (zh) | 一种日志的传输方法、装置、计算机设备和存储介质 | |
US11146666B2 (en) | IPv4/IPv6 bridge | |
US6182075B1 (en) | Method and apparatus for discovery of databases in a client server network | |
US8386614B2 (en) | Network connection manager | |
US20100174811A1 (en) | Network isolation and identity management of cloned virtual machines | |
CN107613037B (zh) | 一种域名重定向方法和系统 | |
US20120084753A1 (en) | Debugger launch and attach on compute clusters | |
CN109729187B (zh) | 一种代理通信方法、系统、装置及存储介质 | |
US10498694B2 (en) | Mapping IPv4 knowledge to IPv6 | |
WO2021088254A1 (zh) | 一种用户态网络文件系统双栈访问方法、装置及设备 | |
WO2014067080A1 (zh) | 发送云服务器地址的方法、设备 | |
CN109327559B (zh) | 一种基于混合云平台的域名解析方法和装置 | |
US10142282B2 (en) | Methods and gateways for processing DNS request | |
CN111277676A (zh) | 一种基于http协议的双栈统一接入方法与系统 | |
US20100131582A1 (en) | Unified Proxy Location Selection Mechanism | |
CN114189492A (zh) | 一种基于网络地址转换技术的网卡压力测试方法和系统 | |
CN104079682A (zh) | 一种基于域名系统dns的地址转换方法及装置 | |
US9086939B2 (en) | Reactivation of a software image from a source machine onto a target machine | |
US20050154794A1 (en) | Systems and methods for providing a discovery protocol | |
CN114422469B (zh) | IPv4/IPv6流量智能调度方法、装置和调度系统 | |
CN115225606A (zh) | 一种容器云平台的跨网络协议的域名访问方法和系统 | |
CN115242882A (zh) | 一种基于传输层路由访问k8s容器环境的方法及装置 | |
CN114301872A (zh) | 基于域名的访问方法及装置、电子设备、存储介质 | |
KR102131083B1 (ko) | 클라우드 기반 호스팅 시스템 및 방법 | |
US10664288B2 (en) | Obtaining environment information in a computing environment |
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 |