推送服务测试方法及装置的制造方法

文档序号:10660674阅读:312来源:国知局
推送服务测试方法及装置的制造方法
【专利摘要】本发明公开了一种推送服务测试方法及装置,应用于网络服务器侧,包括:与终端的应用程序建立连接;向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;接收所述终端的应用程序返回的针对所述测试消息的应答消息;根据所述应答消息的数量与所述测试消息的数量,得到测试结果。本发明提出的推送服务测试方法及装置,能够完成推送服务的线上主动测试。
【专利说明】
推送服务测试方法及装置
技术领域
[0001]本发明涉及数据处理技术领域,特别是指一种推送服务测试方法及装置。
【背景技术】
[0002]推送服务为服务器推送及时消息到客户端的一种服务;由于推送系统对于服务器的性能要求很高,其中包括消息到达的及时性和到达率;而由于线上产品和用户行为的复杂,所以如何测试在线推送服务的指标,帮助推送系统提高性能,具有一定的必要性。
[0003]现有技术中,测试推送服务系统性能的方法主要有2种:
[0004]I)由服务器侧制造假数据并模拟用户的连接行为,从而进行线下测试;
[0005]2)推送服务上线后,依赖长时间应用程序推送消息的使用情况,来统计使用数据,根据使用数据进行测试,这样一来,必须在收集一定数量的测试数据后,才能暴露问题,造成测试所需耗时较长。
[0006]上述方法I)因为是线下测试,因此无法发现线上的问题,无法模拟线上用户的使用情况,而方法2)需要依赖应用程序的使用,无主动性,只能被动解决问题。

【发明内容】

[0007]有鉴于此,本发明的目的在于提出一种推送服务测试方法及装置,能够完成推送服务的线上主动测试。
[0008]基于上述目的本发明提供的推送服务测试方法,应用于网络服务器侧,包括:
[0009]与终端的应用程序建立连接;
[0010]向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;
[0011 ]接收所述终端的应用程序返回的针对所述测试消息的应答消息;
[0012]根据所述应答消息的数量与所述测试消息的数量,得到测试结果。
[0013]在一些实施方式中,所述与终端建立连接的步骤具体包括:
[0014]与所述终端的应用程序的推送服务SDK建立长连接;
[0015]所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符。
[0016]在一些实施方式中,所述测试消息的内容为空。
[0017]在一些实施方式中,所述根据所述应答消息的数量与所述测试消息的数量,得到测试结果的步骤具体包括:
[0018]根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值;
[0019]判断所述比值是否低于预设比值阈值;
[0020]所述比值低于预设比值阈值,发出报警信息。
[0021 ]在一些实施方式中,所述与终端建立连接的步骤之前还包括:
[0022]向所述终端发送网络状态询问请求;
[0023]接收所述终端返回的网络状态信息;
[0024]根据所述网络状态信息,判断所述终端的网络连接状态;
[0025]若所述终端的网络连接状态良好,则与所述终端的应用程序建立连接;
[0026]若所述终端的网络连接状态差,则不与所述终端的应用程序建立连接。
[0027]本发明的另一方面还提供了一种推送服务测试装置,包括:
[0028]连接建立模块,用于与终端的应用程序建立连接;
[0029]测试消息发送模块,用于向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;
[0030]应答消息接收模块,用于接收所述终端的应用程序返回的针对所述测试消息的应答消息;
[0031]测试结果获得模块,用于根据所述应答消息的数量与所述测试消息的数量,得到测试结果。
[0032]在一些实施方式中,所述连接建立模块,具体用于:
[0033]与所述终端的应用程序的推送服务SDK建立长连接;
[0034]所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符。
[0035]在一些实施方式中,所述测试消息的内容为空。
[0036]在一些实施方式中,所述测试结果获得模块,具体用于:
[0037]根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值;
[0038]判断所述比值是否低于预设比值阈值;
[0039]所述比值低于预设比值阈值,发出报警信息。
[0040]在一些实施方式中,所述的装置还包括:
[0041 ]状态询问模块,用于向所述终端发送网络状态询问请求;
[0042]状态信息接收模块,用于接收所述终端返回的网络状态信息;
[0043]状态判断模块,用于根据所述网络状态信息,判断所述终端的网络连接状态;
[0044]若所述终端的网络连接状态良好,则所述连接建立模块与所述终端的应用程序建立连接;
[0045]若所述终端的网络连接状态差,则所述连接建立模块不与所述终端的应用程序建立连接。
[0046]从上面所述可以看出,本发明提供的推送服务测试方法及装置,不依赖也不影响应用程序的实际使用,服务器侧能主动在合适的时机通过发出测试消息并接收应答消息而统计线上推送服务的性能情况,从而不断优化,提高性能。
[0047]所述推送服务测试方法及装置,采用了真实的线上环境,并优化用户体验,对用户无繁殖,对于推送服务初期特别是稳定性还没有得到检验的时候,如果通过这种方式主动的自测性能,进行数据统计,分析出性能指标,在优化后又可以真实的再次进行线上测试,从而不断优化,但是测试过程对于用户或者应用程序而言,都是后台的应答行为,不会有所感知。
【附图说明】
[0048]图1为本发明提供的推送服务测试方法的一个实施例的流程示意图;
[0049]图2为本发明提供的推送服务测试方法的另一个实施例的流程示意图;
[0050]图3为本发明提供的推送服务测试装置实施例的模块结构示意图。
【具体实施方式】
[0051]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0052]需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一” “第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0053]本发明的第一个方面,提出了一种推送服务测试方法,能够完成推送服务的线上主动测试。如图1所示,为本发明提供的推送服务测试方法的一个实施例的流程示意图。
[0054]所述推送服务测试方法,应用于网络服务器侧,包括以下步骤:
[0055]步骤101:与终端的应用程序(app)建立连接;这里的终端可以是任意的装有所述应用程序的终端,所述应用程序可以是任意的待测试的应用程序;
[0056]步骤102:向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;所述携带有测试标识的测试消息发送到终端的应用程序后,通过解析所述测试消息,得到测试标识,终端的应用程序即可得知所接收的消息为用于测试的测试消息;所述测试消息,因带有测试标识且为内部消息类型,因此不会被应用程序使用;
[0057]步骤103:接收所述终端的应用程序返回的针对所述测试消息的应答消息;终端的应用程序在接收到测试消息后,正常情况下,会向服务器返回应答消息,表明测试消息已到达所述应用程序;
[0058]步骤104:根据所述应答消息的数量与所述测试消息的数量,得到测试结果;例如,终端的应用程序返回的应答消息的数量为80,而服务器发出的测试消息的数量为100时,则丢失率为20%,这种情况可以认为应用程序出现故障,因此需要通过调取日志等方式来查找错误原因。
[0059]从上述实施例可以看出,本发明提供的推送服务测试方法,不依赖也不影响应用程序的实际使用,服务器侧能主动在合适的时机通过发出测试消息并接收应答消息而统计线上推送服务的性能情况,从而不断优化,提高性能。
[0060]所述推送服务测试方法,采用了真实的线上环境,并优化用户体验,对用户无繁殖,对于推送服务初期特别是稳定性还没有得到检验的时候,如果通过这种方式主动的自测性能,进行数据统计,分析出性能指标,在优化后又可以真实的再次进行线上测试,从而不断优化,但是测试过程对于用户或者应用程序而言,都是后台的应答行为,不会有所感知。
[0061 ]较佳的,在一些可选实施方式中,所述与终端建立连接的步骤101具体包括:
[0062]与所述终端的应用程序的推送服务SDK建立长连接;这里,对于应用程序而言,每个使用推送服务的应用程序都会集成一个客户端的推送服务SDK(软件开发工具包,外语全称:Software Development Kit),由推送服务SDK来和服务器侧建立长连接,推送服务SDK接收消息后,再分发给对应的应用程序使用;在需要测试时,在服务器侧推送该应用程序的测试消息,推送服务SDK解析出类型为测试消息,则不会继续分发给应用程序使用,从而对于应用程序是无感知无影响的;正常情况下,推送服务SDK每次收到推送消息时,都会给服务器侧返回应答消息,服务器侧可以通过统计应答消息来分析性能;
[0063]所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符(ACK) ;ACK(Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
[0064]可选的,在一些实施方式中,由于服务器侧只需要发送测试消息,而并不关心测试消息的内容,因此,所述测试消息的内容为空,从而减少数据传输量,提高测试效率,减少错误几率。
[0065]较佳的,在一些可选实施方式中,所述根据所述应答消息的数量与所述测试消息的数量,得到测试结果的步骤104具体包括:
[0066]根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值;
[0067]判断所述比值是否低于预设比值阈值;所述预设比值阈值为预先设定的,当所述比值低于预设比值阈值时,则判定应用程序出现了错误,需要进行检查和修正;所述预设比值阈值根据不同类型的应用程序或不同的使用情况,可以设置为不同的取值;
[0068]所述比值低于预设比值阈值,发出报警信息。
[0069]通过上述实施例,在出现所述比值低于预设比值阈值时,主动进行报警,从而提醒技术人员及时采取措施并进行修正。
[0070]可选的,在一些实施方式中,所述与终端建立连接的步骤101之前还包括:
[0071]向所述终端发送网络状态询问请求;
[0072]接收所述终端返回的网络状态信息;
[0073]根据所述网络状态信息,判断所述终端的网络连接状态;
[0074]若所述终端的网络连接状态良好,则与所述终端的应用程序建立连接;
[0075]若所述终端的网络连接状态差,则不与所述终端的应用程序建立连接。
[0076]通过上述实施例,判断终端的网络状况,在网络状况较好时进行测试,从而减小因网络状况较差而出现的传输问题,避免因此影响测试结果的判断。
[0077]本发明还提供了所述推送服务测试方法的另一个实施例。如图2所示,为本发明提供的推送服务测试方法的另一个实施例的流程示意图。
[0078]所述推送服务测试方法,包括以下步骤:
[0079]步骤201:向所述终端发送网络状态询问请求;
[0080]步骤202:接收所述终端返回的网络状态信息;
[0081]步骤203:根据所述网络状态信息,判断所述终端的网络连接状态;
[0082]步骤204:若所述终端的网络连接状态差,则不与所述终端的应用程序建立连接;
[0083]步骤205:若所述终端的网络连接状态良好,则与所述终端的应用程序建立连接;
[0084]步骤206:向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;
[0085]步骤207:接收所述终端的应用程序返回的针对所述测试消息的应答消息;
[0086]步骤208:根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值;
[0087]步骤209:判断所述比值是否低于预设比值阈值;
[0088]步骤210:所述比值低于预设比值阈值,发出报警信息;
[0089]步骤211:所述比值未低于预设比值阈值,不报警。
[0090]从上述实施例可以看出,本发明提供的推送服务测试方法,不依赖也不影响应用程序的实际使用,服务器侧能主动在合适的时机通过发出测试消息并接收应答消息而统计线上推送服务的性能情况,从而不断优化,提高性能。
[0091]所述推送服务测试方法,采用了真实的线上环境,并优化用户体验,对用户无繁殖,对于推送服务初期特别是稳定性还没有得到检验的时候,如果通过这种方式主动的自测性能,进行数据统计,分析出性能指标,在优化后又可以真实的再次进行线上测试,从而不断优化,但是测试过程对于用户或者应用程序而言,都是后台的应答行为,不会有所感知。
[0092]本发明的第二个方面,提出了一种推送服务测试装置,能够完成推送服务的线上主动测试。如图3所示,为本发明提供的推送服务测试装置实施例的模块结构示意图。
[0093]所述推送服务测试装置,包括:
[0094]连接建立模块301,用于与终端的应用程序建立连接;这里的终端可以是任意的装有所述应用程序的终端,所述应用程序可以是任意的待测试的应用程序;
[0095]测试消息发送模块302,用于向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型;所述携带有测试标识的测试消息发送到终端的应用程序后,通过解析所述测试消息,得到测试标识,终端的应用程序即可得知所接收的消息为用于测试的测试消息;所述测试消息,因带有测试标识且为内部消息类型,因此不会被应用程序使用;
[0096]应答消息接收模块303,用于接收所述终端的应用程序返回的针对所述测试消息的应答消息;终端的应用程序在接收到测试消息后,正常情况下,会向服务器返回应答消息,表明测试消息已到达所述应用程序;
[0097]测试结果获得模块304,用于根据所述应答消息的数量与所述测试消息的数量,得到测试结果;例如,终端的应用程序返回的应答消息的数量为80,而服务器发出的测试消息的数量为100时,则丢失率为20%,这种情况可以认为应用程序出现故障,因此需要通过调取日志等方式来查找错误原因。
[0098]从上述实施例可以看出,本发明提供的推送服务测试装置,不依赖也不影响应用程序的实际使用,服务器侧能主动在合适的时机通过发出测试消息并接收应答消息而统计线上推送服务的性能情况,从而不断优化,提高性能。
[0099]所述推送服务测试装置,采用了真实的线上环境,并优化用户体验,对用户无繁殖,对于推送服务初期特别是稳定性还没有得到检验的时候,如果通过这种方式主动的自测性能,进行数据统计,分析出性能指标,在优化后又可以真实的再次进行线上测试,从而不断优化,但是测试过程对于用户或者应用程序而言,都是后台的应答行为,不会有所感知。
[0100]较佳的,在一些可选实施方式中,所述连接建立模块301,具体用于:
[0101]与所述终端的应用程序的推送服务SDK建立长连接;这里,对于应用程序而言,每个使用推送服务的应用程序都会集成一个客户端的推送服务SDK(软件开发工具包,外语全称:Software Development Kit),由推送服务SDK来和服务器侧建立长连接,推送服务SDK接收消息后,再分发给对应的应用程序使用;在需要测试时,在服务器侧推送该应用程序的测试消息,推送服务SDK解析出类型为测试消息,则不会继续分发给应用程序使用,从而对于应用程序是无感知无影响的;正常情况下,推送服务SDK每次收到推送消息时,都会给服务器侧返回应答消息,服务器侧可以通过统计应答消息来分析性能;
[0102]所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符(ACK) ;ACK(Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
[0103]可选的,在一些实施方式中,由于服务器侧只需要发送测试消息,而并不关心测试消息的内容,因此,所述测试消息的内容为空,从而减少数据传输量,提高测试效率,减少错误几率。
[0104]较佳的,在一些可选实施方式中,所述测试结果获得模块304,具体用于:
[0105]根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值;
[0106]判断所述比值是否低于预设比值阈值;所述预设比值阈值为预先设定的,当所述比值低于预设比值阈值时,则判定应用程序出现了错误,需要进行检查和修正;所述预设比值阈值根据不同类型的应用程序或不同的使用情况,可以设置为不同的取值;
[0107]所述比值低于预设比值阈值,发出报警信息。
[0108]通过上述实施例,在出现所述比值低于预设比值阈值时,主动进行报警,从而提醒技术人员及时采取措施并进行修正。
[0109]可选的,在一些实施方式中,所述推送服务测试装置,还包括:
[0110]状态询问模块305,用于向所述终端发送网络状态询问请求;
[0111]状态信息接收模块306,用于接收所述终端返回的网络状态信息;
[0112]状态判断模块307,用于根据所述网络状态信息,判断所述终端的网络连接状态;
[0113]若所述终端的网络连接状态良好,则所述连接建立模块301与所述终端的应用程序建立连接;
[0114]若所述终端的网络连接状态差,则所述连接建立模块302不与所述终端的应用程序建立连接。
[0115]通过上述实施例,判断终端的网络状况,在网络状况较好时进行测试,从而减小因网络状况较差而出现的传输问题,避免因此影响测试结果的判断。
[0116]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0117]另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
[0118]尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
[0119]本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种推送服务测试方法,其特征在于,应用于网络服务器侧,包括: 与终端的应用程序建立连接; 向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型; 接收所述终端的应用程序返回的针对所述测试消息的应答消息; 根据所述应答消息的数量与所述测试消息的数量,得到测试结果。2.根据权利要求1所述的方法,其特征在于,所述与终端建立连接的步骤具体包括: 与所述终端的应用程序的推送服务SDK建立长连接; 所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符。3.根据权利要求1所述的方法,其特征在于,所述测试消息的内容为空。4.根据权利要求1所述的方法,其特征在于,所述根据所述应答消息的数量与所述测试消息的数量,得到测试结果的步骤具体包括: 根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值; 判断所述比值是否低于预设比值阈值; 所述比值低于预设比值阈值,发出报警信息。5.根据权利要求1所述的方法,其特征在于,所述与终端建立连接的步骤之前还包括: 向所述终端发送网络状态询问请求; 接收所述终端返回的网络状态信息; 根据所述网络状态信息,判断所述终端的网络连接状态; 若所述终端的网络连接状态良好,则与所述终端的应用程序建立连接; 若所述终端的网络连接状态差,则不与所述终端的应用程序建立连接。6.一种推送服务测试装置,其特征在于,包括: 连接建立模块,用于与终端的应用程序建立连接; 测试消息发送模块,用于向所述终端的应用程序发送携带有测试标识的测试消息,所述测试消息为内部消息类型; 应答消息接收模块,用于接收所述终端的应用程序返回的针对所述测试消息的应答消息; 测试结果获得模块,用于根据所述应答消息的数量与所述测试消息的数量,得到测试结果。7.根据权利要求6所述的装置,其特征在于,所述连接建立模块,具体用于: 与所述终端的应用程序的推送服务SDK建立长连接; 所述应答消息,是所述推送服务SDK在接收到所述携带有测试标识的测试消息后,返回的确认字符。8.根据权利要求6所述的装置,其特征在于,所述测试消息的内容为空。9.根据权利要求6所述的装置,其特征在于,所述测试结果获得模块,具体用于: 根据所述应答消息的数量与所述测试消息的数量,计算得到所述应答消息的数量与所述测试消息的数量的比值; 判断所述比值是否低于预设比值阈值; 所述比值低于预设比值阈值,发出报警信息。10.根据权利要求6所述的装置,其特征在于,还包括: 状态询问模块,用于向所述终端发送网络状态询问请求; 状态信息接收模块,用于接收所述终端返回的网络状态信息; 状态判断模块,用于根据所述网络状态信息,判断所述终端的网络连接状态; 若所述终端的网络连接状态良好,则所述连接建立模块与所述终端的应用程序建立连接; 若所述终端的网络连接状态差,则所述连接建立模块不与所述终端的应用程序建立连接。
【文档编号】H04L12/26GK106027329SQ201610321702
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】李欣
【申请人】乐视控股(北京)有限公司, 乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1