掌桥专利:专业的专利平台
掌桥专利
首页

中间件服务程序的配置更新方法、装置及电子设备

文献发布时间:2023-06-19 11:22:42


中间件服务程序的配置更新方法、装置及电子设备

技术领域

本发明涉及视频监控技术领域,尤其是涉及一种中间件服务程序的配置更新方法、装置及电子设备。

背景技术

中间件服务程序主要是实现了将各个不同厂家的设备接入,然后对这些不同厂家设备的视频流进行二次封装之后进行存储和转发。视频存储就是将视频数据以文件的形式或者直接以二进制数据的形式保存到中间件服务程序所在服务器的硬盘中。视频转发就是将视频数据通过中间件服务程序转发到相应请求观看视频的客户端,显示视频的客户端包括用户电脑或者电视墙显示屏等。

中间件服务程序可以通过配置文件信息来控制当前要对于哪些监控设备进行视频的存储和转发,在中间件服务程序对视频进行存储和转发过程中,如果希望添加或删除一些监控设备,或者对现有监控设备的视频参数进行修改,那么就需要对当前的配置信息进行更新。而目前的程序逻辑是更新完中间件服务程序的配置信息后,需要对中间件服务程序进行重启,这样才能完成对更新后配置信息的重新加载,进而完成视频存储和转发的策略的更新。这样一来就会造成重启中间件服务程序这段时间,与这台中间件服务器关联的所有监控设备的录像的丢失,同时也会造成这段时间内用户无法通过客户端查看与这台中间件服务器关联的监控设备的实时视频。因此现有配置更新方式存在视频丢失和一段时间内客户端无法观看实时视频的问题。

发明内容

本发明的目的在于提供一种中间件服务程序的配置更新方法、装置及电子设备,解决了现有配置更新方式存在视频丢失和一段时间内客户端无法观看实时视频的问题。

第一方面,本发明提供一种中间件服务程序的配置更新方法,包括:

接收待更新的配置信息;

将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备;

变更每个目标监控设备的TCP连接状态;

将内存中原有的配置信息替换为待更新的配置信息。

进一步的,接收待更新的配置信息的步骤,包括:

创建临时文件;

接收待更新的配置信息,将待更新的配置信息保存至所述临时文件;

待更新的配置信息接收完毕后,将所述临时文件覆盖写入配置文件。

进一步的,所述目标监控设备包括需要添加的监控设备或需要删除的监控设备。

进一步的,变更每个目标监控设备的TCP连接状态的步骤,包括:

与需要添加的每个监控设备建立TCP连接,并验证登录账户;

断开需要删除的每个监控设备的TCP连接。

进一步的,将待更新的配置信息与内存中原有的配置信息进行对比的步骤,包括:

利用读写锁将待更新的配置信息与内存中原有的配置信息进行对比。

第二方面,本发明还提供一种中间件服务程序的配置更新装置,包括:

接收模块,用于接收待更新的配置信息;

对比模块,用于将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备;

配置模块,用于变更每个目标监控设备的TCP连接状态;

更新模块,用于将内存中原有的配置信息替换为待更新的配置信息。

第三方面,本发明还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述方法。

本发明提供的中间件服务程序的配置更新方法,首先接收待更新的配置信息,再将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备,变更每个目标监控设备的TCP连接状态,最后将内存中原有的配置信息替换为待更新的配置信息。在配置更新过程中仅对需要变更配置的目标监控设备进行TCP连接状态的更改,所以不必重启中间件服务器,而且不需变更配置的监控设备能够保持视频信号的实时通畅,因此与这台中间件服务器关联的监控设备的录像不会丢失,这段时间内用户也能够正常通过客户端查看与这台中间件服务器关联的监控设备的实时视频,从而解决了现有配置更新方式存在视频丢失和一段时间内客户端无法观看实时视频的问题。

相应地,本发明实施例提供的一种中间件服务程序的配置更新装置、电子设备及计算机可读存储介质,也同样具有上述技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的中间件服务程序的配置更新方法的流程图;

图2为本发明实施例提供的中间件服务程序的配置更新装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供一种中间件服务程序的配置更新方法,应用于监控设备系统中,中间件服务程序用于管理多个监控设备,并且监控设备系统中还具有客户端程序,用于操控中间件服务程序。如图1所示,该方法包括以下步骤:

S1:接收待更新的配置信息。

用户可以利用客户端程序发起配置更新,通过客户端页面修改中间件服务程序的相关配置参数,通过可视化的界面根据当前的需求来添加、修改或删除相关监控设备的配置信息。

客户端程序向中间件服务程序发送指令,通知其开始更新配置信息,此时客户端程序会将配置文件名发送给中间件服务程序,接收到指令的中间件服务程序会根据文件名先创建一个临时文件,用于保存更新后的配置信息。

客户端程序向中间件服务程序发送更新后的配置信息,客户端程序会根据配置信息的多少来决定是一次性发送给中间件服务程序,还是分多次发送给中间件服务程序,中间件服务程序接收到待更新的配置信息后,会先将待更新的配置信息保存至临时文件。

客户端程序向中间件服务程序发送指令通知其配置信息发送完毕,中间件服务程序接收到指令后,即确认待更新的配置信息接收完毕,然后将临时文件中的内容覆盖写入客户端指定的配置文件中,准备之后更新内存中的配置信息。

S2:将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备。

具体的,可以利用读写锁将待更新的配置信息与内存中原有的配置信息进行对比。中间件服务程序原有逻辑使用的互斥锁,在多线程并行执行任务的情况下,如果其中一个线程占用的互斥锁,那么其他线程不管是对锁住的数据进行写操作还是读操作都会被阻塞住,只能等待占用锁的那个线程把锁释放之后才能对锁住的数据进行相应的读写操作。本实施例中把互斥锁改成了读写锁,这样的话当一个线程只是想要读取数据的时候,那它就可以使用读锁将数据锁住,这样的话其他线程也想读取这段数据的时候就不受锁的影响,不用等待,而如果是写数据的话需要使用写锁,这种情况下还是需要等待的,也就是说使用读写锁的话,在多线程的情况下对于只是读取数据的操作就比之前使用互斥锁节省了时间,提高了效率。

经过上述对比过程,中间件服务程序会统计出需要变更配置的目标监控设备,并形成需要添加的监控设备列表和需要删除的监控设备列表。有时候也可能只有需要添加的监控设备,或者只有需要删除的监控设备。

S3:变更每个目标监控设备的TCP(Transmission Control Protocol,传输控制协议)连接状态。

对于需要添加的监控设备,与需要添加的每个监控设备建立TCP连接,并通过用户名和密码验证后完成设备的登录,实现验证登录账户。

对于需要删除的监控设备,断开需要删除的每个监控设备的TCP连接,同时将对应的监控设备信息从内存中清除。

对于配置信息没有变化的监控设备,中间件服务程序不会对其进行任何操作,会保持当前的状态不变。

S4:将内存中原有的配置信息替换为待更新的配置信息。

本实施例采用延迟释放机制进行配置信息的更新,延迟释放指的是当需要释放数据资源的情况下,先将需要释放的数据缓存到链表中,然后启动一个线程去遍历缓存链表来释放相应的数据,这样做的好处就在于程序就不用等待把相应的数据都释放完才能进行其他的操作,而是在需要释放数据资源的时候,只需要将需要释放的数据添加到缓存链表中即可进行其他操作,释放数据的动作由新启动的那个线程去完成即可。

本发明实施例提供的中间件服务程序的配置更新方法,首先接收待更新的配置信息,再将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备,变更每个目标监控设备的TCP连接状态,最后将内存中原有的配置信息替换为待更新的配置信息。在配置更新过程中仅对需要变更配置的目标监控设备进行TCP连接状态的更改,所以不必重启中间件服务器,而且不需变更配置的监控设备能够保持视频信号的实时通畅,因此与这台中间件服务器关联的监控设备的录像不会丢失,这段时间内用户也能够正常通过客户端查看与这台中间件服务器关联的监控设备的实时视频,从而解决了现有配置更新方式存在视频丢失和一段时间内客户端无法观看实时视频的问题。

此外,本发明实施例未改变原有客户端更新配置信息的逻辑,在客户端程序无感知的情况下完成了配置更新的优化,做到了对新老客户端程序的兼容。

如图2所示,本发明实施例还提供一种中间件服务程序的配置更新装置,包括:

接收模块1,用于接收待更新的配置信息;

对比模块2,用于将待更新的配置信息与内存中原有的配置信息进行对比,确定需要变更配置的目标监控设备;

配置模块3,用于变更每个目标监控设备的TCP连接状态;

更新模块4,用于将内存中原有的配置信息替换为待更新的配置信息。

本发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的方法的步骤。

对应于上述方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述方法的步骤。

本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

又例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 中间件服务程序的配置更新方法、装置及电子设备
  • 配置更新方法、装置、系统及电子设备
技术分类

06120112901641