本发明涉及通信技术领域,具体涉及一种传输节点集群的检测方法以及一种传输节点集群的检测装置。
背景技术:
PHP(Hypertext Preprocessor,超文本预处理器)是一种通用开源脚本语言。该语言的语法吸收了C语言、Java和Perl的特点,利于学习和使用,主要适用于Web开发领域。
目前为实现针对多台服务器的工作情况的检测,可以利用PHP编辑多个Linux命令以及检测客户端执行的多个检测操作,多个检测操作使用同一函数编辑。具体执行时,检测客户端按顺序发送多个Linux命令,在发送一个Linux命令并且接收到服务器针对该Linux命令反馈的检测结果后,发送下一个Linux命令。
虽然上述方法实现了多个Linux命令的发送,但是由于多个Linux命令是串行发送的,只有在发送当前Linux命令并且接收到所有服务器针对当前Linux命令反馈的检测结果后,才可以发送下一个Linux命令,因此完成多个检测指令的发送以及多个检测结果的接收需要耗费较长时间,检测操作的执行效率较低。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的传输节点集群的检测方法和相应的传输节点集群的检测装置。
依据本发明的一个方面,提供了一种传输节点集群的检测方法,包括:
调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组;
调用第二函数检测预置数组的数据更新;
当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果;
根据所有传输节点的检测结果进行传输节点的调用。
可选地,所述调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令,所述传输节点通过第二接口向预置数组发送检测结果,所述第一接口与第二接口相同或不同。
可选地,在所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,所述方法还包括:
检测所述第二接口对检测结果的当前承载数目;
计算所述第二接口对检测结果的剩余承载数目;
所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
通过所述第一接口调用所述第一函数向传输节点集群的各个传输节点同时发送所述剩余承载数目对应的检测指令。
可选地,所述调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
可选地,所述调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令包括:
调用所述第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。
可选地,所述调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令包括:
调用所述第一函数执行一个检测任务,并在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。
可选地,在所述调用所述第一函数执行下一个检测任务之前,所述方法还包括:
针对待执行的下一个检测任务,查找记录的历史处理时间;
根据查找的所述下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔;
所述调用所述第一函数执行下一个检测任务包括:
开始执行所述一个检测任务后,按照设置的处理时间间隔,调用所述第一函数执行所述下一个检测任务。
可选地,所述方法还包括:
针对未查找到历史处理时间的所述下一检测任务,以其他各个检测任务的历史处理时间的均值为历史处理时间。
可选地,所述方法还包括:
在接收到一个检测任务对应的所有传输节点的检测结果后,记录所述检测任务的历史处理时间。
可选地,在所述根据所有传输节点的检测结果进行传输节点的调用之前,所述方法还包括:
接收第一客户端对传输节点的调用请求;
所述检测结果包括传输节点的至少一种运行状态参数,所述根据所有传输节点的检测结果进行传输节点的调用包括:
选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端。
可选地,所述根据所有传输节点的检测结果进行传输节点的调用包括:
根据所述检测结果识别传输节点是否正常运行;
若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。
根据本发明的另一方面,提供了一种传输节点集群的检测装置,包括:
检测指令发送模块,用于调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组;
数据更新检测模块,用于调用第二函数检测预置数组的数据更新;
检测结果提取模块,用于当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果;
传输节点调用模块,用于根据所有传输节点的检测结果进行传输节点的调用。
可选地,所述检测指令发送模块,具体用于通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令,所述传输节点通过第二接口向预置数组发送检测结果,所述第一接口与第二接口相同或不同。
可选地,所述装置还包括:
承载数目检测模块,用于在所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,检测所述第二接口对检测结果的当前承载数目;
剩余承载数目计算模块,用于计算所述第二接口对检测结果的剩余承载数目;
所述检测指令发送模块,具体用于通过所述第一接口调用所述第一函数向传输节点集群的各个传输节点同时发送所述剩余承载数目对应的检测指令。
可选地,所述检测指令发送模块,具体用于调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
可选地,所述检测指令发送模块包括:
第一检测指令发送子模块,用于调用所述第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令;
第二检测指令发送子模块,用于在发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。
可选地,所述检测指令发送模块包括:
第一检测任务执行子模块,用于调用所述第一函数执行一个检测任务;
第二检测任务执行子模块,用于在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。
可选地,所述装置还包括:
历史处理时间查找模块,用于在所述调用所述第一函数执行下一个检测任务之前,针对待执行的下一个检测任务,查找记录的历史处理时间;
处理时间间隔设置模块,用于根据查找的所述下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔;
所述第二检测任务执行子模块,具体用于开始执行所述一个检测任务后,按照设置的处理时间间隔,调用所述第一函数执行所述下一个检测任务。
可选地,所述装置还包括:
历史处理时间确定模块,用于针对未查找到历史处理时间的所述下一检测任务,以其他各个检测任务的历史处理时间的均值为历史处理时间。
可选地,所述装置还包括:
历史处理时间记录模块,用于在接收到一个检测任务对应的所有传输节点的检测结果后,记录所述检测任务的历史处理时间。
可选地,所述装置还包括:
调用请求接收模块,用于在所述根据所有传输节点的检测结果进行传输节点的调用之前,接收第一客户端对传输节点的调用请求;
所述传输节点调用模块,具体用于选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端,所述检测结果包括传输节点的至少一种运行状态参数。
可选地,所述传输节点调用模块包括:
运行状态识别子模块,用于根据所述检测结果识别传输节点是否正常运行;
节点重新分配子模块,用于若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。
依据本发明实施例,调用第一函数发送检测指令,调用第二函数检测数据更新,调用第三函数提取更新的检测结果,由于调用不同函数执行不同操作,多个操作之间无顺序关联,因此本发明实施例可以同时发送多个检测指令至各传输节点,多个检测指令可以在短时间内被不同传输节点执行,从而缩短了多个检测指令的发送时间以及多个检测结果的接收时间,提高了检测操作的执行效率。
本发明实施例在通过第一接口发送检测指令之前,还检测了第二接口对检测结果的承载数目,并且计算了第二接口对检测结果的剩余承载数目,由于按照剩余承载数目发送检测指令至各传输节点,因此避免了第二接口出现大量检测结果滞留的情况的发生,保证了检测结果的反馈时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种传输节点集群的检测方法的步骤流程示意图;
图2示出了根据本发明实施例二的一种传输节点集群的检测方法的步骤流程示意图;
图3示出了根据本发明实施例三的一种传输节点集群的检测装置的结构框图;
图4示出了根据本发明实施例四的一种传输节点集群的检测装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明实施例一的一种传输节点集群的检测方法的步骤流程示意图,具体可以包括如下步骤:
步骤101、调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组。
本发明实施例提供的传输节点集群的检测方法用于检测传输节点集群中各传输节点是否正常工作,该方法包括检测指令发送、数据更新检测、检测结果提取等多个操作,上述多个操作通过调用多个函数完成。其中,传输节点为具有数据传输、数据处理等功能的服务器,传输节点集群包括多个传输节点。
本发明实施例将向传输节点集群的各个传输节点发送检测指令的客户端称为检测客户端。由于检测方法对应的多个操作是通过调用多个函数完成的,检测指令发送操作和检测结果提取操作之间无顺序关联,因此检测客户端可以调用第一函数向传输节点集群的各个传输节点同时发送多个检测指令。调用的第一函数可以为多种,如proc_open()函数。发送的多个检测指令可以属于同一个检测任务,也可以属于多个检测任务。检测指令可以为多种形式,如数值计算指令、运行参数检测指令等。
预先在检测客户端内设置预设数组,预设数组用于存储各传输节点反馈的检测结果,不同传输节点的检测结果在预设数组中存储位置是预先设定的。为将不同传输节点反馈的检测结果添加至预置数组中指定存储位置,可以在向各传输节点发送检测指令时,让各检测指令携带指示检测结果在预置数组中存储位置的信息即文件指针,传输节点可以从接收的检测指令中提取文件指针,并按照文件指针将检测结果添加至预置数组的指定存储位置。
本发明实施例所述方法可以应用于不同场景,例如可以应用于普通数据传输的场景、流数据传输的场景。当应用于流数据传输的场景时,传输节点可以为内容分发网络(Content Delivery Network,CDN)中的节点,传输节点集群可以包括内容分发网络中的多个传输节点,如可以将位于某一地理区域内的多个传输节点称为传输节点集群。可以使用内容分发网络中的调度节点对传输节点集群中的多个传输节点进行管理,调度节点可以调用第一函数向传输节点集群的各个传输节点同时发送检测指令,以检测各传输节点的工作情况。
步骤102、调用第二函数检测预置数组的数据更新。
预置数组中针对不同传输节点的存储位置可能存在历史记录的检测结果,也可能是空缺的,当传输节点反馈新的检测结果后,预置数组中与传输节点对应的存储位置的数据会发生变化,更新为最新的检测结果。
本发明实施例调用第二函数对预置数组进行检测,具体地调用第二函数对预置数组中各存储位置的数据进行检测,检测预置数组中是否存在更新的检测结果。调用的第二函数可以为多种,如stream_select()函数。
步骤103、当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果。
当第二函数检测到预置数组中存在更新的检测结果后,本发明实施例调用第三函数从预置数组中提取更新的检测结果。由于检测指令可以为多种形式,相应地检测结果也可以为多种形式,例如数值计算结果、运行状态参数检测结果等。调用的第三函数可以为多种,如stream_get_contents()函数。
预置数组中设有多个存储位置,第二函数对多个存储位置处的数据进行检测,具体地第二函数可以按照多个存储位置在预设数组中的排序,依次对多个存储位置处的数据进行检测。当预设数组中各存储位置均存在更新的检测结果时,第二函数会检测到所有更新的检测结果,这时第二函数完成对该检测任务对应的所有检测结果的检测,可以进行下一检测任务对应的检测结果的检测。
步骤104、根据所有传输节点的检测结果进行传输节点的调用。
当检测客户端接收到节点调用请求后,可以根据传输节点集群中各传输节点的检测结果,选取合适的目标传输节点给请求端使用,检测结果为节点分配提供了依据。
目标传输节点的选取条件可以为多种,例如,当检测结果为数值计算结果时,可以通过识别数值判断传输节点是否正常工作,在判定传输节点工作正常后,可以选择工作正常且与请求端距离较近的传输节点作为目标传输节点;当检测结果为传输节点的运行状态参数时,如CPU利用率、内容占用率等,可以选择负载较轻且与请求端距离较近的传输节点作为目标传输节点,从而保证了集群中各传输节点的负载均衡。
当本发明实施例所述方法应用于流数据传输的场景时,内容分发网络中的调度节点可以通过执行本方法对传输节点集群内的多个传输节点进行监管和分配,当调度节点根据检测结果确定某一传输节点工作异常时,可以发送节点异常通知,以使传输节点尽快被修复。同时调度节点可以以检测结果为依据为节点请求端重新分配合适的目标传输节点。
由于本发明实施例调用不同函数执行不同操作,多个操作之间无顺序关联,因此可以同时发送多个检测指令,并且在短时间内接收多个传输节点反馈的检测结果,相比于背景技术中的发送一个检测指令、接收对应的检测结果、发送下一个检测指令、接收对应的检测结果的执行过程,本发明实施例所述方法可以大幅度缩短检测操作的时间,缩短检测结果的等待时间,提高检测执行效率。
本发明实施例中,优选地,在所述根据所有传输节点的检测结果进行传输节点的调用之前,所述方法还包括:接收第一客户端对传输节点的调用请求;
所述检测结果包括传输节点的至少一种运行状态参数,所述根据所有传输节点的检测结果进行传输节点的调用包括:选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端。
检测客户端负责对传输节点集群中多个传输节点的检测外,还可以负责多个传输节点的分配工作。检测客户端接收到第一客户端发送的节点调用请求后,可以根据各传输节点的检测结果确定各传输节点的运行情况,从而为第一客户端分配合适的目标传输节点,如分配距离较近且负载较轻的传输节点。
检测结果可以包括多种内容,当检测结果包括传输节点的至少一种运行状态参数时,如CPU利用率、内存占用率等,检测客户端可以选取运行状态参数满足设定条件的目标传输节点,并将选取的目标传输节点反馈至第一客户端。
针对不同的运行状态参数可以对应不同的设定条件,例如当运行状态参数为CPU利用率时,设定条件可以为CPU利用率小于a%,其中a为正数;当运行状态参数为内存占用率时,设定条件可以为内存占用率小于b%,其中b为正数。
在流数据传输的场景中,检测客户端可以为调度节点,第一客户端可以为流数据客户端,流数据客户端推送流数据至网络中或从网络中拉取流数据时,会向调度节点发送对传输节点的调用请求,相应地检调度节点会接收到流数据客户端对传输节点的调用请求。调度节点可以选取运行状态参数满足设定条件的传输节点作为目标传输节点,并将其反馈至流数据客户端供其使用。
本发明实施例根据传输节点的运行状态参数分配目标传输节点,可以保证为第一客户端分配的目标传输节点均是工作正常的,还可以保证传输节点集群中多个传输节点的负载均衡,避免了传输节点负载过重现象的发生。
依据本发明实施例,调用第一函数发送检测指令,调用第二函数检测数据更新,调用第三函数提取更新的检测结果,由于调用不同函数执行不同操作,多个操作之间无顺序关联,因此本发明实施例可以同时发送多个检测指令至各传输节点,多个检测指令可以在短时间内被不同传输节点执行,从而缩短了多个检测指令的发送时间以及多个检测结果的接收时间,提高了检测操作的执行效率。
参照图2,示出了根据本发明实施例二的一种传输节点集群的检测方法的步骤流程示意图,具体可以包括如下步骤:
步骤201、调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组。
本发明实施例所述的检测方法包括检测指令发送、数据更新检测、检测结果提取等多个操作,通过调用多个函数执行上述多个操作。本发明实施例将向传输节点集群的各个传输节点发送检测指令的客户端称为检测客户端。
为提高检测的准确性,可以使用多个检测任务对各传输节点进行检测。具体可以调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。由于各传输节点对检测结果的承载能力不同,因此可以按照不同方式向各传输节点发送多个检测任务对应的检测指令。当传输节点的承载能力较弱时,多个检测任务对应的检测指令的发送方式可以为:调用所述第一函数执行一个检测任务,并在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。例如,发送检测任务1对应的100条检测指令并且提取到100个传输节点反馈的100个检测结果后,再发送检测任务2对应的100条检测指令,按照上述方法完成对多个检测任务对应的检测指令的发送。
当传输节点的承载能力较强时,多个检测任务对应的检测指令的发送方式可以为:调用第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。例如,发送检测任务1对应的100条检测指令后,直接发送检测任务2对应的100条检测指令,按照上述方法对多个检测任务对应的检测指令进行发送。
对于传输节点的承载能力较弱时多个检测任务对应的检测指令的发送方式,只有在当前检测任务的执行结束后才可以执行下一检测任务的检测操作,相邻两个检测任务对应的检测指令的发送时间存在处理时间间隔。
执行上述发送方式时为控制多个检测任务对应的检测指令的发送时间,本发明实施例可以在调用所述第一函数执行下一个检测任务之前,针对待执行的下一个检测任务,查找记录的历史处理时间,根据查找的下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔。之后可以在开始执行所述一个检测任务后,按照设置的处理时间间隔,调用第一函数执行下一个检测任务。
例如,第一检测任务的历史处理时间为A秒,第二检测任务的处理时间为B秒,第一检测任务先执行,第二检测任务后执行,将时间A秒作为第一检测任务和第二检测任务之间的处理时间间隔,在开始执行第一检测任务,即调用第一函数向传输节点集群的各传输节点发送检测指令后,在A秒后,开始执行第二检测任务,调用第一函数向传输节点集群的各传输节点发送检测指令。
为执行上述步骤,依据检测任务的历史处理时间设置两个检测任务的处理时间间隔,本发明实施例可以在接收到一个检测任务对应的所有传输节点的检测结果后,记录该检测任务的历史处理时间,以便使用历史使用时间时从本地记录中提取。可以记录各检测指令的发送时间以及与检测指令对应的检测结果的接收时间,并且计算检测结果的接收时间与检测指令的发送时间差值,将最大时间差值作为检测任务的历史处理时间。
检测客户端发送多个检测任务对应的检测指令时,可以在向各传输节点发送当前检测任务对应的检测指令后,依据本地记录的检测任务与历史处理时间的对应关系,确定当前执行的当前检测任务的历史处理时间,在发送当前检测任务历史处理时间后,发送下一检测任务对应的检测指令。
若当前执行的检测任务是新任务,检测客户端本地未记录该任务的历史处理时间,则本发明实施例针对未查找到历史处理时间的检测任务,可以以其他各个检测任务的历史处理时间的均值为历史处理时间。例如,检测客户端本地记录检测任务1的历史处理时间为0.10s、检测任务2的历史处理时间为0.12s以及检测任务3的历史处理时间为0.4s,则新检测任务计算的历史处理时间为0.12s。
本发明实施例可以使用同一接口发送检测指令和接收检测结果,也可以使用不同接口发送检测指令和接收检测结果。本步骤可以通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送多个检测指令,传输节点可以通过第二接口向预置数组发送检测结果,其中第一接口与第二接口可以相同也可以不同。当第二接口不同于第一接口时,第二接口的数目可以为一个或多个,第二接口的数目可以根据实际进行设置。
当接口在某一时段内接收的检测结果过多时,接口处会出现检测结果滞留的现象,滞留现象会延长检测结果通过接口的时间,降低检测结果反馈至检测客户端的速度。为防止传送至第二接口的检测结果的数目超过接口的承载数目,保证各检测结果短时间内通过第二接口,本发明实施例可以在通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,检测第二接口对检测结果的当前承载数目,并且计算第二接口对检测结果的剩余承载数目,之后通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送剩余承载数目的检测指令。
步骤202、调用第二函数检测预置数组的数据更新。
步骤203、当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果。
步骤204、根据所述检测结果识别传输节点是否正常运行。
检测结果可以包括多种内容,可以指示传输节点的运行情况。检测客户端接收到检测结果后,可以根据所述检测结果识别传输节点是否正常运行。
由于检测结果可以包括多种内容,因此存在多种识别传输节点是否正常运行的方式。例如,当检测结果为数值计算结果即数值时,执行节点检测的客户端可以根据数值判断传输节点是否正常运行,如检测指令为“计算1+1”,如果接收的检测结果为“2”,则判定传输节点工作正常,否则,判断传输节点工作异常。当检测结果为传输节点的运行状态参数时,如CPU利用率、内存占用率等,检测客户端可以判断传输节点的运行状态参数是否满足设定条件,如果符合,则判定传输节点工作正常,否则,判定传输节点工作异常。
步骤205、若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。
如果根据检测结果识别到传输节点运行异常,则可以根据检测结果,在传输节点集群的多个传输节点中分配新的传输节点给第二客户端使用,从而保证第二客户端对传输节点的正常使用。
在流数据传输的场景中,检测客户端可以为调度节点,第二客户端可以为流数据客户端,流数据客户端使用传输节点推送流数据至网络中或从网络中拉取流数据,当调度节点检测到流数据客户端使用的传输节点发生异常时,可以根据其他传输节点的检测结果,为流数据客户端重新分配传输节点供其使用。
依据本发明实施例,调用第一函数发送检测指令,调用第二函数检测数据更新,调用第三函数提取更新的检测结果,由于调用不同函数执行不同操作,多个操作之间无顺序关联,因此本发明实施例可以同时发送多个检测指令至各传输节点,多个检测指令可以在短时间内被不同传输节点执行,从而缩短了多个检测指令的发送时间以及多个检测结果的接收时间,提高了检测操作的执行效率。
本发明实施例在通过第一接口发送检测指令之前,还检测了第二接口对检测结果的承载数目,并且计算了第二接口对检测结果的剩余承载数目,由于按照剩余承载数目发送检测指令至各传输节点,因此避免了第二接口出现大量检测结果滞留的情况的发生。
图3示出了根据本发明实施例三的一种传输节点集群的检测装置的结构框图。图3中的传输节点集群的检测装置包括:
检测指令发送模块301,用于调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组。
数据更新检测模块302,用于调用第二函数检测预置数组的数据更新。
检测结果提取模块303,用于当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果。
传输节点调用模块304,用于根据所有传输节点的检测结果进行传输节点的调用。
本发明实施例中,优选地,所述装置还包括:
调用请求接收模块,用于在所述根据所有传输节点的检测结果进行传输节点的调用之前,接收第一客户端对传输节点的调用请求;
所述传输节点调用模块304,具体用于选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端,所述检测结果包括传输节点的至少一种运行状态参数。
依据本发明实施例,调用第一函数发送检测指令,调用第二函数检测数据更新,调用第三函数提取更新的检测结果,由于调用不同函数执行不同操作,多个操作之间无顺序关联,因此本发明实施例可以同时发送多个检测指令至各传输节点,多个检测指令可以在短时间内被不同传输节点执行,从而缩短了多个检测指令的发送时间以及多个检测结果的接收时间,提高了检测操作的执行效率。
图4示出了根据本发明实施例四的一种传输节点集群的检测装置的结构框图。图4中的传输节点集群的检测装置包括:
检测指令发送模块401,用于调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
数据更新检测模块402,用于调用第二函数检测预置数组的数据更新。
检测结果提取模块403,用于当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果。
传输节点调用模块404,用于根据所有传输节点的检测结果进行传输节点的调用。
所述传输节点调用模块404包括:
运行状态识别子模块4041,用于根据所述检测结果识别传输节点是否正常运行;
节点重新分配子模块4042,用于若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。
本发明实施例中,优选地,所述检测指令发送模块401,具体用于通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令,所述传输节点通过第二接口向预置数组发送检测结果,所述第一接口与第二接口相同或不同。
本发明实施例中,优选地,所述装置还包括:
承载数目检测模块,用于在所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,检测所述第二接口对检测结果的当前承载数目;
剩余承载数目计算模块,用于计算所述第二接口对检测结果的剩余承载数目;
所述检测指令发送模块401,具体用于通过所述第一接口调用所述第一函数向传输节点集群的各个传输节点同时发送所述剩余承载数目对应的检测指令。
本发明实施例中,优选地,所述检测指令发送模块401,具体用于调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
本发明实施例中,优选地,所述检测指令发送模块401包括:
第一检测指令发送子模块,用于调用所述第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令;
第二检测指令发送子模块,用于在发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。
本发明实施例中,优选地,所述检测指令发送模块401包括:
第一检测任务执行子模块,用于调用所述第一函数执行一个检测任务;
第二检测任务执行子模块,用于在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。
本发明实施例中,优选地,所述装置还包括:
历史处理时间查找模块,用于在所述调用所述第一函数执行下一个检测任务之前,针对待执行的下一个检测任务,查找记录的历史处理时间;
处理时间间隔设置模块,用于根据查找的所述下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔;
所述第二检测任务执行子模块,具体用于开始执行所述一个检测任务后,按照设置的处理时间间隔,调用所述第一函数执行所述下一个检测任务。
本发明实施例中,优选地,所述装置还包括:
历史处理时间确定模块,用于针对未查找到历史处理时间的所述下一检测任务,以其他各个检测任务的历史处理时间的均值为历史处理时间。
本发明实施例中,优选地,所述装置还包括:
历史处理时间记录模块,用于在接收到一个检测任务对应的所有传输节点的检测结果后,记录所述检测任务的历史处理时间。
依据本发明实施例,调用第一函数发送检测指令,调用第二函数检测数据更新,调用第三函数提取更新的检测结果,由于调用不同函数执行不同操作,多个操作之间无顺序关联,因此本发明实施例可以同时发送多个检测指令至各传输节点,多个检测指令可以在短时间内被不同传输节点执行,从而缩短了多个检测指令的发送时间以及多个检测结果的接收时间,提高了检测操作的执行效率。
本发明实施例在通过第一接口发送检测指令之前,还检测了第二接口对检测结果的承载数目,并且计算了第二接口对检测结果的剩余承载数目,由于按照剩余承载数目发送检测指令至各传输节点,因此避免了第二接口出现大量检测结果滞留的情况的发生。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的传输节点集群的检测设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种传输节点集群的检测方法,包括:
调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组;
调用第二函数检测预置数组的数据更新;
当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果;
根据所有传输节点的检测结果进行传输节点的调用。
A2、根据A1所述的方法,其中,所述调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令,所述传输节点通过第二接口向预置数组发送检测结果,所述第一接口与第二接口相同或不同。
A3、根据A2所述的方法,其中,在所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,所述方法还包括:
检测所述第二接口对检测结果的当前承载数目;
计算所述第二接口对检测结果的剩余承载数目;
所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
通过所述第一接口调用所述第一函数向传输节点集群的各个传输节点同时发送所述剩余承载数目对应的检测指令。
A4、根据A1所述的方法,其中,所述调用第一函数向传输节点集群的各个传输节点同时发送检测指令包括:
调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
A5、根据A4所述的方法,其中,所述调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令包括:
调用所述第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。
A6、根据A4所述的方法,其中,所述调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令包括:
调用所述第一函数执行一个检测任务,并在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。
A7、根据A6所述的方法,其中,在所述调用所述第一函数执行下一个检测任务之前,所述方法还包括:
针对待执行的下一个检测任务,查找记录的历史处理时间;
根据查找的所述下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔;
所述调用所述第一函数执行下一个检测任务包括:
开始执行所述一个检测任务后,按照设置的处理时间间隔,调用所述第一函数执行所述下一个检测任务。
A8、根据A7所述的方法,其中,所述方法还包括:
针对未查找到历史处理时间的所述下一检测任务,以其他各个检测任务的历史处理时间的均值为历史处理时间。
A9、根据A7所述的方法,其中,所述方法还包括:
在接收到一个检测任务对应的所有传输节点的检测结果后,记录所述检测任务的历史处理时间。
A10、根据A1所述的方法,其中,在所述根据所有传输节点的检测结果进行传输节点的调用之前,所述方法还包括:
接收第一客户端对传输节点的调用请求;
所述检测结果包括传输节点的至少一种运行状态参数,所述根据所有传输节点的检测结果进行传输节点的调用包括:
选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端。
A11、根据A1所述的方法,其中,所述根据所有传输节点的检测结果进行传输节点的调用包括:
根据所述检测结果识别传输节点是否正常运行;
若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。
本发明还公开了B12、一种传输节点集群的检测装置,包括:
检测指令发送模块,用于调用第一函数向传输节点集群的各个传输节点同时发送检测指令,各检测指令携带指示检测结果在预置数组中存储位置的文件指针,以由传输节点按照文件指针将检测结果添加至预置数组;
数据更新检测模块,用于调用第二函数检测预置数组的数据更新;
检测结果提取模块,用于当检测到存在更新的检测结果时,调用第三函数从所述预置数组中提取更新的检测结果;
传输节点调用模块,用于根据所有传输节点的检测结果进行传输节点的调用。
B13、根据B12所述的装置,其中:
所述检测指令发送模块,具体用于通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令,所述传输节点通过第二接口向预置数组发送检测结果,所述第一接口与第二接口相同或不同。
B14、根据B13所述的装置,其中,所述装置还包括:
承载数目检测模块,用于在所述通过第一接口调用第一函数向传输节点集群的各个传输节点同时发送检测指令之前,检测所述第二接口对检测结果的当前承载数目;
剩余承载数目计算模块,用于计算所述第二接口对检测结果的剩余承载数目;
所述检测指令发送模块,具体用于通过所述第一接口调用所述第一函数向传输节点集群的各个传输节点同时发送所述剩余承载数目对应的检测指令。
B15、根据B12所述的装置,其中:
所述检测指令发送模块,具体用于调用第一函数向传输节点集群的各个传输节点顺序发送多个检测任务对应的检测指令。
B16、根据B15所述的装置,其中,所述检测指令发送模块包括:
第一检测指令发送子模块,用于调用所述第一函数向传输节点集群的各个传输节点发送一个检测任务对应的检测指令;
第二检测指令发送子模块,用于在发送一个检测任务对应的检测指令后,直接调用向所述第一函数发送下一个检测任务对应的多个检测指令。
B17、根据B15所述的装置,其中,所述检测指令发送模块包括:
第一检测任务执行子模块,用于调用所述第一函数执行一个检测任务;
第二检测任务执行子模块,用于在提取到所有传输节点对所述检测任务的检测结果后,调用所述第一函数执行下一个检测任务。
B18、根据B17所述的装置,其中,所述装置还包括:
历史处理时间查找模块,用于在所述调用所述第一函数执行下一个检测任务之前,针对待执行的下一个检测任务,查找记录的历史处理时间;
处理时间间隔设置模块,用于根据查找的所述下一个检测任务的历史处理时间,设置所述一个检测任务和所述下一个检测任务之间的处理时间间隔;
所述第二检测任务执行子模块,具体用于开始执行所述一个检测任务后,按照设置的处理时间间隔,调用所述第一函数执行所述下一个检测任务。
B19、根据B18所述的装置,其中,所述装置还包括:
历史处理时间确定模块,用于针对未查找到历史处理时间的所述下一检测任务,以其他各个检测任务的历史处理时间的均值为历史处理时间。
B20、根据B18所述的装置,其中,所述装置还包括:
历史处理时间记录模块,用于在接收到一个检测任务对应的所有传输节点的检测结果后,记录所述检测任务的历史处理时间。
B21、根据B12所述的装置,其中,所述装置还包括:
调用请求接收模块,用于在所述根据所有传输节点的检测结果进行传输节点的调用之前,接收第一客户端对传输节点的调用请求;
所述传输节点调用模块,具体用于选取运行状态参数满足设定条件的目标传输节点,并反馈至所述第一客户端,所述检测结果包括传输节点的至少一种运行状态参数。
B22、根据B12所述的装置,其中,所述传输节点调用模块包括:
运行状态识别子模块,用于根据所述检测结果识别传输节点是否正常运行;
节点重新分配子模块,用于若识别到某个传输节点未正常运行,则为使用该传输节点的第二客户端重新分配传输节点。