一种应用程序实例监听端口的方法及装置制造方法

文档序号:6630898阅读:139来源:国知局
一种应用程序实例监听端口的方法及装置制造方法
【专利摘要】本发明提供一种应用程序实例监听端口的方法及装置,以便提供能够快速配置应用程序实例,占用较少服务器资源。该方法中主应用程序根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例,并采用启动的每个子应用程序实例监听对应的端口。本发明实施例还提供了对应的装置。由于在本发明实施例中无需拷贝子应用程序实例的物理文件,减少了对物理文件的操作,操作简单、避免了产生错误的可能,而且在本发明实施例中子应用程序的安装文件只需存一份,节省了存储空间。
【专利说明】一种应用程序实例监听端口的方法及装置

【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种应用程序实例监听端口的方法及装置。

【背景技术】
[0002]在对数据进行实时处理时,一般采用应用程序实例监听端口,一个应用程序实例监听一个端口,接收并处理发送到该端口的数据。应用程序实例接收和处理数据的能力是有限的,但每启动一个应用程序实例将会占用一定的服务器资源,而应用程序实例的数量是根据实际的业务数量来进行配置的,因此如何创建尽量少的应用程序实例来满足实际的数据量需求成为用户关注的热点。
[0003]现有技术中当数据量增加超过预期的负载,需要新增应用程序实例来监听端口时,将会拷贝一份应用程序,并修改配置端口和程序名称(用于和其他应用程序实例区分),之后启动该应用程序实例。当该端口的数据量变小时,可以关闭该应用程序实例。
[0004]对于上述方案,当需要增加应用程序实例时,需要对应用程序实例的物理文件进行拷贝,并需要上述修改配置端口和程序名称的操作,需要的操作步骤较多、较繁琐,而且步骤越多越容易出错。另外随着数据量的增加,应用程序实例的数量也会越来越多,其占用的存储空间也将越来越大。当数据量变小时,对于之前拷贝的应用程序实例还需要进行删除操作,操作较繁琐,无法快速的满足用户的需求。


【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供能够快速配置应用程序实例,占用较少服务器资源的一种应用程序实例监听端口的方法及装置。
[0006]本发明实施例提供了一种应用程序实例监听端口的方法,该方法包括:
[0007]主应用程序读取配置文件;
[0008]根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例;
[0009]采用启动的每个子应用程序实例监听对应的端口。
[0010]进一步地,所述方法还包括:
[0011]主应用程序根据监听每个端口的子应用程序实例,在子应用程序实例列表中记录每个端口与其子应用程序实例的对应关系。
[0012]进一步地,所述方法还包括:
[0013]所述主应用程序监听配置文件,判断配置文件是否发生变化;
[0014]当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
[0015]进一步地,所述当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作包括:
[0016]当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系;
[0017]当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
[0018]进一步地,所述方法还包括:
[0019]所述主应用程序按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障;
[0020]当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
[0021]本发明实施例提供了一种应用程序实例监听端口的装置,所述装置包括:
[0022]读取模块,用于读取配置文件;
[0023]启动模块,用于根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例;
[0024]监听模块,用于采用启动的每个子应用程序实例监听对应的端口。
[0025]进一步地,所述装置还包括:
[0026]存储模块,用于根据监听每个端口的子应用程序实例,在子应用程序实例列表中记录每个端口与其子应用程序实例的对应关系。
[0027]进一步地,所述装置还包括:
[0028]检测模块,用于监听配置文件,判断配置文件是否发生变化;当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
[0029]进一步地,所述检测模块,具体用于当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系;当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
[0030]进一步地,所述装置还包括:
[0031]重启模块,用于按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障;当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
[0032]本发明实施例提供了一种应用程序实例监听端口的方法及装置,该方法中主应用程序根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例,并采用启动的每个子应用程序实例监听对应的端口。由于在本发明实施例中无需拷贝子应用程序实例的物理文件,减少了对物理文件的操作,操作简单、避免了产生错误的可能,而且在本发明实施例中子应用程序的安装文件只需存一份,节省了存储空间。
[0033]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0035]图1为本发明实施例提供的一种应用程序实例监听端口的过程;
[0036]图2为本发明实施例一提供的一种应用程序实例监听端口的过程;
[0037]图3为本发明实施例二提供的一种应用程序实例监听端口的过程;
[0038]图4为本发明实施例提供的一种应用程序实例监听端口的装置结构示意图。

【具体实施方式】
[0039]为了简化应用程序实例的启动过程,节省存储空间,本发明实施例提供了一种应用程序实例监听端口的方法及装置。
[0040]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0041 ] 下面结合说明附图,对本发明实施例进行说明。
[0042]图1为本发明实施例提供的一种应用程序实例监听端口的过程,该过程包括以下步骤:
[0043]SlOl:主应用程序读取配置文件。
[0044]在本发明实施例中为了能够启动子应用程序实例监听每个端口,在配置文件中配置有需要监听的每个端口的信息,具体的例如可以是端口的端口号,或者端口的标识信息,该配置文件中可以包括多个端口,将需要监听的端口的信息添加到配置文件中即可。另外,配置文件中还记录有子应用程序启动文件的路径,以便主应用程序获知从哪个路径可以启动子应用程序。
[0045]S102:根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例。
[0046]具体的,主应用程序根据配置文件中记录的端口的信息以及子应用程序启动文件的启动路径,为每个端口启用一个子应用程序实例,启动完成后,子应用程序实例和配置文件中的端口是一一对应的,即每个端口由一个子应用程序实例来监听。
[0047]S103:采用启动的每个子应用程序实例监听对应的端口。
[0048]由于在本发明实施例中无需拷贝子应用程序实例的物理文件,减少了对物理文件的操作,操作简单、避免了产生错误的可能,而且在本发明实施例中子应用程序的安装文件只需存一份,节省了存储空间。
[0049]在本发明实施例中为了准确的监控子应用程序实例的运行情况,从而提高系统的稳定性,主应用程序根据每个子应用程序实例监听的每个端口,在子应用程序实例列表中记录每个子应用程序实例及其监听的每个端口的对应关系。具体的主应用程序在内存中生成该子应用程序实例列表,该子应用程序实例列表中记录有端口和对其进行监听的子应用程序实例的对应关系。为了便于区别每个子应用程序实例,在启动每个子应用程序实例时,确定每个子应用程序实例的标识,其中每个子应用程序实例的标识唯一,用于唯一标识该子应用程序实例。
[0050]在本发明实施例中还可以修改配置文件的内容,例如在配置文件中新增需要监听的端口的信息,或者不需要监听某些端口,即将之前配置文件中存在的某一或某几个端口的信息删除。为了简化操作,实现端口添加和关闭的动态处理,在本发明实施例中所述主应用程序监听配置文件,判断配置文件是否发生变化;当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
[0051]具体的,当主应用程序监听到配置文件发生变化时,根据配置文件变化后的内容进行相应的操作包括:
[0052]当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系;
[0053]当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
[0054]图2为本发明实施例一提供的一种应用程序实例监听端口的过程,该过程包括以下步骤:
[0055]S201:主应用程序读取配置文件。
[0056]S202:根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例。
[0057]S203:采用启动的每个子应用程序实例监听对应的端口。
[0058]S204:主应用程序根据每个子应用程序实例监听的每个端口,在子应用程序实例列表中记录每个子应用程序实例及其监听的每个端口的对应关系。
[0059]S205:主应用程序监听配置文件,判断配置文件是否发生变化,当判断结果为是时,进行步骤S206,否则,进行步骤S205。
[0060]S206:主应用程序监听到配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
[0061]在本发明实施例中主应用程序自身保存有子应用程序实例列表,在该子应用程序列表中保存有每个端口及监听该端口的子应用程序实例的对应关系,当主应用程序判断配置文件是否发生变化时,根据配置文件中记录的每个端口,判断该端口是否记录在子应用程序实例列表中,当某一端口记录在配置文件中,但未记录在子应用程序实例列表中时,确定该端口为新增端口,当某一端口记录在子应用程序实例列表,但在配置文件中未找到该端口时,确定该端口在配置文件中被删除。
[0062]主应用程序判断配置文件发生变化,并确定配置文件中存在新增端口时,为了实现对该端口的监听,在本发明实施例中主应用程序根据存储子应用程序启动文件的路径,为该新增端口启动对应的子应用程序实例,并确定该子应用程序实例的标识,将该子应用程序的标识及该新增端口的对应关系保存到子应用程序实例列表中。或者,当主应用程序确定配置文件中存在新增端口时,主应用程序根据存储子应用程序启动文件的路径,确定待启动的子应用程序的标识,为该新增端口启动对应的子应用程序实例,并将该子应用程序的标识及新增端口的对应关系保存到子应用程序实例列表中。
[0063]主应用程序判断配置文件发生变化,并确定配置文件中的端口被删除时,因为与其对应的子应用程序还在进行监听的动作,为了节省资源,在本发明实施例中主应用程序根据配置文件中记录的各端口的信息,确定被删除的端口,并根据子应用程序实例列表中保存的各对应关系,确定该被删除的端口对应的子应用程序,将该子应用程序关闭,并在子应用程序实例列表中删除该被删除的端口所在的对应关系。
[0064]因为在本发明实施例中主应用程序根据配置文件中的端口的信息,为该端口启动了相应的子应用程序实例,并将该端口与子应用程序实例的对应关系保存到了子应用程序实例列表中。因此只要存在该子应用程序实例列表中的端口,即为被监听的端口,此时,主应用程序根据子应用程序实例列表中记录的每个对应关系中的端口,判断该端口是否存于当前的配置文件中,当该端口在当前的配置文件中不存在时,确定该端口被删除,根据该子应用程序实例列表中该端口所在的对应关系,将该端口对应的子应用程序实例删除,并删除该端口所在的对应关系。
[0065]为了保证每个端口都能被监听,不会因为子应用程序实例出现的故障,影响端口的正常数据接收和处理,在本发明实施例中所述方法还包括:
[0066]所述主应用程序按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障;
[0067]当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
[0068]图3为本发明实施例二提供的一种应用程序实例监听端口的过程,该过程包括以下步骤:
[0069]S301:主应用程序读取配置文件。
[0070]S302:根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例。
[0071]S303:采用启动的每个子应用程序实例监听对应的端口。
[0072]S304:主应用程序按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障,当判断结果为是时,进行步骤S305,否则,继续进行步骤S304。
[0073]S305:为该对应的端口重新启动子应用程序实例。
[0074]由于本发明实施例中主应用程序按照设定的时间间隔,检测用于监听的每个子应用程序实例是否故障,因此可以有效的保证进行端口监听的子应用程序实例正常运行,该过程中无需人工重启启动子应用程序实例,并且可以避免重启不及时导致的端口数据接收和处理带来的后果。
[0075]图4为本发明实施例提供了一种应用程序实例监听端口的装置结构示意图,所述装置包括:
[0076]读取模块41,用于读取配置文件;
[0077]启动模块42,用于根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例;
[0078]监听模块43,用于采用启动的每个子应用程序实例监听对应的端口。
[0079]进一步地,所述装置还包括:
[0080]存储模块44,用于根据监听每个端口的子应用程序实例,在子应用程序实例列表中记录每个端口与其子应用程序实例的对应关系。
[0081]进一步地,所述装置还包括:
[0082]检测模块45,用于监听配置文件,判断配置文件是否发生变化;当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
[0083]进一步地,所述检测模块45,具体用于当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系;当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
[0084]进一步地,所述装置还包括:
[0085]重启模块46,用于按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障;当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
[0086]本发明实施例提供了一种应用程序实例监听端口的方法及装置,该方法中主应用程序根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例,并采用启动的每个子应用程序实例监听对应的端口。由于在本发明实施例中无需拷贝子应用程序实例的物理文件,减少了对物理文件的操作,操作简单、避免了产生错误的可能,而且在本发明实施例中子应用程序的安装文件只需存一份,节省了存储空间。
[0087]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0088]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0089]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0090]本领域的技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0091]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0092]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序实例监听端口的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0093]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0094]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种应用程序实例监听端口的方法,其特征在于,该方法包括: 主应用程序读取配置文件; 根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例; 采用启动的每个子应用程序实例监听对应的端口。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 主应用程序根据监听每个端口的子应用程序实例,在子应用程序实例列表中记录每个端口与其子应用程序实例的对应关系。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括: 所述主应用程序监听配置文件,判断配置文件是否发生变化; 当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
4.如权利要求3所述的方法,其特征在于,所述当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作包括: 当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系; 当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
5.如权利要求2所述的方法,其特征在于,所述方法还包括: 所述主应用程序按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障; 当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
6.一种应用程序实例监听端口的装置,其特征在于,所述装置包括: 读取模块,用于读取配置文件; 启动模块,用于根据配置文件中每个端口的信息及存储子应用程序启动文件的路径,为每个端口启动对应的子应用程序实例; 监听模块,用于采用启动的每个子应用程序实例监听对应的端口。
7.如权利要求6所述的装置,其特征在于,所述装置还包括: 存储模块,用于根据监听每个端口的子应用程序实例,在子应用程序实例列表中记录每个端口与其子应用程序实例的对应关系。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括: 检测模块,用于监听配置文件,判断配置文件是否发生变化;当配置文件发生变化时,根据配置文件变化后的内容进行相应的操作。
9.如权利要求8所述的装置,其特征在于,所述检测模块,具体用于当配置文件中存在新增端口时,主应用程序启动新的子应用程序实例监听所述新增端口,并在子应用程序实例列表中记录该新增端口与新启动的所述应用程序实例的对应关系;当配置文件中的端口被删除时,主应用程序根据子应用程序实例列表中记录的对应关系,将所述被删除的端口对应的子应用程序实例关闭,并在子应用程序实例列表中删除该端口所在的对应关系。
10.如权利要求7所述的装置,其特征在于,所述装置还包括: 重启模块,用于按照设定的时间间隔,根据所述子应用程序实例列表中的每个对应关系,检测每个对应关系中的子应用程序实例是否出现故障;当存在出现故障的应用程序实例时,为该对应的端口重新启动子应用程序实例。
【文档编号】G06F9/46GK104317645SQ201410558501
【公开日】2015年1月28日 申请日期:2014年10月20日 优先权日:2014年10月20日
【发明者】杨基彬, 王鹏, 郭涛 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1