发明内容
本申请实施例提供一种国标信令服务端的上下联处理系统、计算机设备及介质,旨在避免上下联逻辑之间的相互影响,提高国标信令服务端的业务稳定性。
一方面,本申请提供一种国标信令服务端的上下联处理系统,包括:
配置管理器,存储有用于下联下级平台/国标设备的第一配置信息,以及用于上联上级平台的第二配置信息;
进程管理器,用于根据所述第一配置信息创建下联进程管理器,以及根据所述第二配置信息创建上下联数据管道同步器,其中,所述下联进程管理器与所述上下联数据管道同步器属于所述进程管理器的不同子进程;
所述下联进程管理器,用于接收所述下级平台/国标设备发送的下联请求国标信令,根据所述下联请求国标信令建立与所述下级平台/国标设备的下联连接;
所述上下联数据管道同步器,用于检测所述下联进程管理器是否成功启动,并在所述下联进程管理器成功启动后,创建上联进程管理器,以及用于采用内存地址封送的方式,传递所述下联进程管理器下联连接的下级平台/国标设备,与所述上联进程管理器上联连接的所述上级平台之间的通信数据;
所述上联进程管理器,用于向所述第二配置信息中的待上联的所述上级平台发送上联请求国标信令,以通过所述上联请求国标信令建立与所述上级平台的上联连接。
在一些实施例中,所述配置管理器包括:
本地配置文件读取模块,用于获取预先存储的本地配置文件,校验所述本地配置文件的完整性,并在校验成功后,从所述本地配置文件中获取所述第一配置信息以及所述第二配置信息;
配置合法性验证模块,用于获取所述本地配置文件读取模块得到的所述第一配置信息以及所述第二配置信息,验证所述第一配置信息以及所述第二配置信息的合法性;
配置服务模块,用于在所述第一配置信息以及所述第二配置信息的合法性验证成功后,若接收到所述进程管理器发送的配置查询请求,则向所述进程管理器反馈验证成功的所述第一配置信息以及所述第二配置信息。
在一些实施例中,所述进程管理器包括:
子进程维护模块,用于创建所述下联进程管理器以及所述上下联数据管道同步器;
调度引擎模块,用于从所述配置管理器获取所述第一配置信息以及所述第二配置信息,并控制所述子进程维护模块根据所述第一配置信息创建所述下联进程管理器,以及控制所述子进程维护模块根据所述第二配置信息创建所述上下联数据管道同步器。
在一些实施例中,所述进程管理器还包括:
进程索引缓存模块,用于缓存所述子进程维护模块已创建的所述下联进程管理器以及所述上下联数据管道同步器的进程信息,并检测缓存的所述进程信息对应的进程状态;
所述子进程维护模块,还用于在所述进程索引缓存模块缓存的所述进程信息对应的进程状态为异常状态时,对异常状态的所述进程信息对应的进程进行重启处理;
调度引擎模块,还用于控制所述子进程维护模块根据所述第一配置信息重启所述下联进程管理器,和/或,控制所述子进程维护模块根据所述第二配置信息重启所述上下联数据管道同步器。
在一些实施例中,所述下联进程管理器包括:
第一信令代理模块,用于接收所述下级平台/国标设备发送的下联请求国标信令;
下联引擎模块,用于接收所述第一信令代理模块传递的所述下联请求国标信令,检测所述下联请求国标信令是否符合国标协议格式,并在所述下联请求国标信令符合国标协议格式时,将所述下联请求国标信令中的国标连接信息缓存至通道设备缓存模块,以建立与所述下级平台/国标设备的下联连接;
所述通道设备缓存模块,用于缓存和/或维护所述国标连接信息。
在一些实施例中,所述下联进程管理器还包括:
下联路由分析模块,用于接收所述上下联数据管道同步器转发的所述上级平台的上级业务请求,并确定所述上级业务请求对应的目标下级平台/国标设备;
所述下联引擎模块,还用于通过第一信令代理模块,将所述上级业务请求发送至所述上级业务请求对应的目标下级平台/国标设备。
在一些实施例中,所述上下联数据管道同步器包括:
上联同步模块,用于检测所述下联进程管理器是否成功启动,并在所述下联进程管理器成功启动后,创建上联进程管理器,以及用于将请求对象缓存模块中缓存的所述下级平台/国标设备的下级业务请求发送至所述上联进程管理器,以及用于将所述上联进程管理器发送的上级业务请求存储至所述请求对象缓存模块;
管道请求封送模块,用于采用内存地址封送的方式,将所述请求对象缓存模块中的所述上级业务请求传递至所述下联进程管理器,以及用于采用内存地址封送的方式,将所述下联进程管理器的所述下级业务请求缓存至所述请求对象缓存模块。
在一些实施例中,所述上联进程管理器包括:
中转管理模块,用于接收所述上下联数据管道同步器发送的国标信令;
上联请求管理模块,用于检测所述上下联数据管道同步器发送的国标信令是否为所述上联请求国标信令;
第二信令代理模块,用于在所述上下联数据管道同步器发送的国标信令为所述上联请求国标信令时,将所述上联请求国标信令进行信令封装,并将信令封装后的所述上联请求国标信令,发送至所述上级平台,以通过所述上联请求国标信令建立与所述上级平台的上联连接。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现任一项所述的国标信令服务端的上下联处理系统中的步骤。
另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行任一项所述的国标信令服务端的上下联处理系统中的步骤。
本申请实施例提供的国标信令服务端的上下联处理系统、计算机设备及介质,系统包括:配置管理器,存储有用于下联下级平台/国标设备的第一配置信息,以及用于上联上级平台的第二配置信息;进程管理器,用于根据第一配置信息创建下联进程管理器,以及根据第二配置信息创建上下联数据管道同步器,其中,下联进程管理器与上下联数据管道同步器属于进程管理器的不同子进程;下联进程管理器,用于接收下级平台/国标设备发送的下联请求国标信令,根据下联请求国标信令建立与下级平台/国标设备的下联连接;上下联数据管道同步器,用于检测下联进程管理器是否成功启动,并在下联进程管理器成功启动后,创建上联进程管理器,以及用于采用内存地址封送的方式,传递下联进程管理器下联连接的下级平台/国标设备,与上联进程管理器上联连接的上级平台之间的通信数据;上联进程管理器,用于向第二配置信息中的待上联的上级平台发送上联请求国标信令,以通过上联请求国标信令建立与上级平台的上联连接。本申请实施例通过拆分上、下联业务逻辑到不同进程器,通过上下联数据管道同步器解决进程间数据通信同步问题,使得上下联逻辑不会相互影响,同时又可相互进行业务通信,提高了国标信令服务端的业务稳定性。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例系统由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
本申请实施例提供一种国标信令服务端的上下联处理系统、计算机设备及介质,以下分别进行详细说明。
参照图1,在一实施例中,国标信令服务端的上下联处理系统10设置于国标信令服务端,包括:
配置管理器101,存储有用于下联下级平台/国标设备20的第一配置信息,以及用于上联上级平台30的第二配置信息;
在本实施例中,配置管理器101可提供待下联的下级平台/国标设备20的第一配置信息、待上联的上级平台30的第二配置信息,以确定应该启动多少个上联进程管理器105。
进程管理器102,用于根据第一配置信息创建下联进程管理器103,以及根据第二配置信息创建上下联数据管道同步器104,其中,下联进程管理器103与上下联数据管道同步器104属于进程管理器102的不同子进程;
在本实施例中,进程管理器102是一个父进程,下联进程管理器103与上下联数据管道同步器104属于子进程,这些子进程均位于该父进程之下。进程管理器102用于根据第一配置信息创建下联进程管理器103,根据第二配置信息创建上下联数据管道同步器104。
下联进程管理器103,用于接收下级平台/国标设备20发送的下联请求国标信令,根据下联请求国标信令建立与下级平台/国标设备20的下联连接;
在本实施例中,下联进程管理器103可用于接收外部的第三方的下级平台的注册,实现下联业务。当然,下联进程管理器103也可接收直接向国标信令服务端的上下联处理系统10注册的国标设备,例如,国标设备可包括与国标信令服务端的上下联处理系统10对接的NVR(Network Video Recorder,网络录像机)、IPC(IP CAMERA,网络摄像机)、解码器、报警机等国标设备。
上下联数据管道同步器104,用于检测下联进程管理器103是否成功启动,并在下联进程管理器103成功启动后,创建上联进程管理器105,以及用于采用内存地址封送的方式,传递下联进程管理器103下联连接的下级平台/国标设备20,与上联进程管理器105上联连接的上级平台30之间的通信数据;
在本实施例中,上下进程数据管道同步器可在下联进程管理器103成功启动后,启动上联进程管理器105。上下进程数据管道同步器还可用于接收下联进程管理器103以及上联进程管理器105的管道数据,实现下联进程管理器103与上联进程管理器105之间通信。这里需要先启动下联进程管理器103,才能启动上联进程管理器105,原因在于,为了系统稳定性,上联进程只做上、下联业务,不做国标各类具体业务,例如点播等,国标各类具体业务由下联进程直接中转到下级国标设备、下级平台进行处理。若先启动上联进程管理器105,在接收到上联进程管理器105上联的上级平台30发送的国标业务请求时,由于此时下联进程管理器103还未启动,国标业务请求无法到达下级平台/国标设备20,会导致国标业务出错,因此必须先启动下联进程管理器103,在下联进程管理器103后,再启动上联进程管理器105,通过彻底分离掉上下联逻辑和国标业务逻辑,避免大多数系统上、下联的国标信令和国标业务信令混在一起的问题,保证了系统稳定性。
上联进程管理器105,用于向第二配置信息中的待上联的上级平台30发送上联请求国标信令,以通过上联请求国标信令建立与上级平台30的上联连接。
在本实施例中,上联进程管理器105包含上联进程,可以同时存在独立的多个,上联进程管理器105的具体数量可根据第二配置信息确定。一个上联进程管理器105管理一个上联进程。针对单个上级平台30做上联连接时,多个上联进程管理器105之间依然采用进程来分割,避免了某一个上级平台30造成上联进程故障时,影响其他上级平台30的正常上联逻辑。且上联进程管理器105也属于进程管理器102的子进程,且与下联进程管理器103、上下联数据管道同步器104属于不同的子进程。在一些实施例中,与一个上联进程管理器105对应一个上级平台30类型,也可设置多个下联进程管理器103,一个下联进程管理器103对应一个下级平台/国标设备20。
在本实施例中,可采用C++语言实现配置管理器101、进程管理器102、下联进程管理器103、上下联数据管道同步器104、上联进程管理器105,以提供基于进程分离的国标上下联能力。在国标信令服务端的上下联处理系统10启动时,首先启动进程管理器102,进程管理器102将调用配置管理器101获取第一配置信息以及第二配置信息。进程管理器102根据这些配置,首先创建下联进程管理器103,和上下联数据管道同步器104。其中,数据管道同步器在被创建时,将进程管理器102传入的第二配置信息中的上联平台列表存入自身缓存,并待下联进程管理器103启动完成,一旦下联进程管理器103启动成功,上下联数据管道同步器104将按照上联平台列表逐一构造上联进程管理器105,每个上联进程管理器105启动自己的上联进程,向各自的上级平台30进行上联操作。通过分离上联、下联业务逻辑,并在不同进程中进行逻辑处理,通过进程级别隔离上下联业务,使得上下联逻辑不会相互影响,避免了上下联处于同一进程导致的系统不稳定。此外,通过进程分类,业务逻辑更加清晰,相比于混杂在同一进程内的上下联,上下联的扩展和开发调试更为方便。
在本实施例公开的技术方案中,通过拆分上、下联业务逻辑到不同进程器,通过上下联数据管道同步器104解决进程间数据通信同步问题,使得上下联逻辑不会相互影响,同时又可相互进行业务通信,提高了国标信令服务端的业务稳定性。
在另一实施例中,如图2所示,在上述图1所示的实施例基础上,配置管理器101包括:
本地配置文件读取模块1011,用于获取预先存储的本地配置文件,校验本地配置文件的完整性,并在校验成功后,从本地配置文件中获取第一配置信息以及第二配置信息;
在本实施例中,本地配置文件读取模块1011可从本地配置文件读取系统所需要的第一配置信息以及第二配置信息。本地配置文件读取模块1011可检查第一配置信息以及第二配置信息是否存在、是否可以读取,并校验其完整性,以确保内容能够正确被读取。
配置合法性验证模块1012,用于获取本地配置文件读取模块1011得到的第一配置信息以及第二配置信息,验证第一配置信息以及第二配置信息的合法性;
在本实施例中,配置合法性验证模块1012对传入的第一配置信息以及第二配置信息进行合法性验证:例如,可针对传入的第一配置信息以及第二配置信息的IP,验证该IP是否可达,又例如,可针对传入的第一配置信息以及第二配置信息的端口,验证端口是否被占用。
配置服务模块1013,用于在第一配置信息以及第二配置信息的合法性验证成功后,若接收到进程管理器102发送的配置查询请求,则向进程管理器102反馈验证成功的第一配置信息以及第二配置信息。
在本实施例中,配置服务模块1013可作为配置管理器101内外部的中介方和调度方,在其接收到配置管理器101等外部需求方发送的配置查询请求时,调用内部的本地配置文件读取模块1011获取第一配置信息以及第二配置信息,并调用配置合法性验证模块1012,验证通过后,把合规的第一配置信息以及第二配置信息返回给对应的外部需求方。
在本实施例公开的技术方案中,配置管理器101可读取本地的第一配置信息以及第二配置信息,以明确上联平台列表、下联平台列表、本平台启动相关的ip、端口等配置类信息。
在再一实施例中,如图3所示,在图1至图2任一实施例所示的基础上,进程管理器102包括:
子进程维护模块1021,用于创建下联进程管理器103以及上下联数据管道同步器104;
在本实施例中,子进程维护模块1021是一个带有定时器的工作线程,其主要用于创建下联进程管理器103以及上下联数据管道同步器104。
调度引擎模块1022,用于从配置管理器101获取第一配置信息以及第二配置信息,并控制子进程维护模块1021根据第一配置信息创建下联进程管理器103,以及控制子进程维护模块1021根据第二配置信息创建上下联数据管道同步器104。
在本实施例中,调度引擎模块1022为进程管理器102的内部的引擎,其从配置管理器101获取和同步第一配置信息以及第二配置信息,并根据第一配置信息以及第二配置信息引导子进程维护模块1021启动或重启下联进程管理器103以及上下联数据管道同步器104。
在一些实施例中,进程管理器102还包括进程索引缓存模块1023,用于缓存子进程维护模块1021已创建的下联进程管理器103以及所述上下联数据管道同步器104的进程信息,并检测缓存的进程信息对应的进程状态。进程索引缓存模块1023将所有创建的进程的进程信息存放在进程索引缓存模块1023的缓存队列中,进程索引缓存模块1023检测进程状态,如果发现进程状态异常,则发送事件消息回调给子进程维护模块1021,由子进程维护模块1021重新进行恢复。具体地,子进程维护模块1021在创建下联进程管理器103以及上下联数据管道同步器104后,会将创建成功的进程句柄信息放入进程索引缓存队列,并定时维护。子进程维护模块1021在检测到进程索引缓存模块1023缓存的进程信息对应的进程状态为异常状态时,对异常状态的进程信息对应的进程进行重启处理,例如,子进程维护模块1021发现进程出现崩溃退出,则立即回收该进行资源并重新启动该进程。调度引擎模块1022还用于控制子进程维护模块1021根据第一配置信息重启下联进程管理器103,和/或,控制子进程维护模块1021根据第二配置信息重启上下联数据管道同步器104。
在本实施例公开的技术方案中,进程管理器102可根据配置创建下联进程管理、上下联管道同步器,同时管理创建的进程句柄,并根据句柄定时检测进程运行情况,保障进程故障后可进行恢复。
在又一实施例中,如图4所示,在图1至图3任一实施例所示的基础上,下联进程管理器103包括:
第一信令代理模块1031,用于接收下级平台/国标设备20发送的下联请求国标信令;
在本实施例中,第一信令代理模块1031用于接收信令和发送信令,将收到的外部的下级平台/国标设备20的信令请求进行解析,或者,将本系统向外部发送的信令指令按地址进行包装后发送至外部的下级平台/国标设备20。
下联引擎模块1032,用于接收第一信令代理模块1031传递的下联请求国标信令,检测下联请求国标信令是否符合国标协议格式,并在下联请求国标信令符合国标协议格式时,将下联请求国标信令中的国标连接信息缓存至通道设备缓存模块1033,以建立与下级平台/国标设备20的下联连接;
在本实施例中,在进程管理器102启动时,下联引擎模块1032可从进程管理器102获取第一配置信息以及第二配置信息,并提供给进程管理器102控制接口,例如开启、重启、终止某些逻辑处理。下联引擎模块1032还可针对系统内部的不同国标业务逻辑创建独立的线程,并调度和协调这些线程间的数据和操作执行顺序,以持续提供下联服务能力。
在一些实施例中,下联进程管理器103还包括国标协议业务引擎托管模块1035以及通道设备缓存模块1033。下联引擎模块1032可在接收到第一信令代理模块1031传递的下联请求国标信令时,调用国标协议业务引擎托管模块1035分析信令内容,其中,国标协议业务引擎托管模块1035内置了国标143项标准协议的格式。国标协议业务引擎托管模块1035分析下联引擎模块1032给与的信令是否符合国标协议格式,如果符合,则解析得到下联请求国标信令中的国标连接信息,并反馈回去。下联引擎模块1032将下联请求国标信令中的国标连接信息缓存至通道设备缓存模块1033,以建立与下级平台/国标设备20的下联连接。
在一些实施例中,通道设备缓存模块1033用于缓存和/或维护国标连接信息。通道设备缓存模块1033缓存和维护下联的下级平台/国标设备20的国标连接信息,例如ip、端口、类型等信息,并定期检测下级平台/国标设备20的在线状态,这里的下级平台/国标设备20可以是NVR、IPC、其他平台、解码器等。通道设备缓存模块1033可对于心跳超时的下级平台/国标设备20进行状态变更,对于注销的下级平台/国标设备20进行删除等维护操作。
在一些实施例中,国标协议业务引擎托管模块1035用于提供国标协议所规定的业务指令进行装配或解析,例如,可将命令下级平台/国标设备20重启的指令,按国标协议格式添加头部、校验部等,形成完整合规的国标信令。
在一些实施例中,下联进程管理器103还包括下联路由分析模块1034。下联路由分析模块1034用于接收上下联数据管道同步器104转发的上级平台30的上级业务请求,并确定上级业务请求对应的目标下级平台/国标设备20。下联引擎模块1032,还用于通过第一信令代理模块1031,将上级业务请求发送至上级业务请求对应的目标下级平台/国标设备20。例如,外部的上联的上级平台30需要请求本系统下联的下级平台/国标设备20时,会经过该下联路由分析模块1034。下联路由分析模块1034主要分析需要请求哪个下级平台/国标设备20,下级是国标设备还是平台,并将分析结果和上级业务请求呈递给下联引擎模块1032,由下联引擎模块1032进行调度。
在本实施例中,国标信令服务端的上下联处理系统10下联至下级平台/国标设备20的步骤示例如下:
(1)下级平台/国标设备20向下联进程管理器103发送下联请求国标信令;
(2)下联请求国标信令首先由第一信令代理模块1031收到,第一信令代理模块1031对其进行解析和格式校验,不符合规则的,第一信令代理模块1031直接返回,合规的呈递给下联引擎模块1032;
(3)下联引擎模块1032收到下联请求国标信令后,调用国标协议业务引擎托管模块1035进一步分析信令内容;
(4)国标协议业务引擎托管模块1035分析下联引擎模块1032给与的信令是否符合国标请求,如果符合,则解析得到下联请求国标信令中的国标连接信息,并反馈回去;
(5)下联引擎模块1032接收到反馈的国标连接信息后,给与通道设备缓存模块1033;
(6)通道设备缓存模块1033检测国标连接信息是新连接还是已有连接,如果是新连接,根据国标连接信息建立新的连接缓存对象,如果是已有连接,则对已有连接缓存对象进行更新;
(7)下联引擎模块1032接收到缓存建立/更新成功的通知后,下联连接流程结束,此时,下级平台/国标设备20接入成功。
在一些实施例中,上级平台30通过下联进程管理器103访问本域下联的下级平台/国标设备20的步骤示例如下:
(1)上级平台30向上联进程管理器105发送上级业务请求;
(2)上联进程管理器105接收到上级业务请求后,通过上下联数据管道同步器104,发送上下联数据管道同步器104,表示需要请求某个接入到本级的目标下级平台/国标设备20;
(3)下联路由分析模块1034接收到上级业务请求,并分析上级业务请求的合法性。如果下联进程管理器103中的下联引擎模块1032的当前资源充沛,下联引擎模块1032将会创建一个单独的工作线程,这个工作线程将会把上级业务请求拿到通道设备缓存模块1033中进行校验,以确定是否存在该目标下级平台/国标设备20。如果校验结果为存在该目标下级平台/国标设备20,下联引擎模块1032会先调用国标协议业务引擎托管模块1035校验此上级业务请求是否符合国标请求,以及在符合时封装此上级业务请求;
(4)下联引擎模块1032创建的工作线程拿到封装好的上级业务请求后,再封送给第一信令代理模块1031。第一信令代理模块1031在封装好的上级业务请求中加上SIP协议头和标识,并由第一信令代理模块1031发送给对应的目标下级平台/国标设备20。
(5)自此,上级平台30通过下联进程管理器103访问本域下联的下级平台/国标设备20的逻辑结束,用于处理该工作的线程也被回收。
在本实施例公开的技术方案中,下联进程管理器103可接收下级平台、国标设备的下联请求国标信令,并缓存这些下联对象的SIP通信地址,归总到一起,形成集中化管理。同时,下联进程管理器103还可将本平台或上级平台30的上级业务请求,处理后进行路由转发和处理。
在又一实施例中,如图5所示,在图1至图4任一实施例所示的基础上,上下联数据管道同步器104包括:
上联同步模块1041,用于检测下联进程管理器103是否成功启动,并在下联进程管理器103成功启动后,创建上联进程管理器105,以及用于将请求对象缓存模块1043中缓存的下级平台/国标设备20的下级业务请求发送至上联进程管理器105,以及用于将上联进程管理器105发送的上级业务请求存储至请求对象缓存模块1043;
在本实施例中,上联同步模块1041主要有两个主要功能:一个是启动和管理上联进程管理器105,接收进程管理器102传递的上级平台30的第二配置信息,初次启动时,其需要先等待下联进程管理器103通过管道请求封送模块1042发送的下联进程启动完成消息,上联同步模块1041在获取到下联进程启动完成消息后,再将按上级平台30列表逐一创建上联进程管理器105,并维护其运行状态。另一个功能是接收上联进程管理器105、下联进程管理器103通过管道请求封送模块1042封送的消息,并传递给指定的上联进程管理器105或者下联进程管理器103。请求对象缓存模块1043用于缓存上联进程管理器105、下联进程管理器103的进程间的请求对象,这些对象起到“上传下达”下级业务请求或者上级业务请求的作用,并带有包含下级业务请求或者上级业务请求的请求详情信息。
管道请求封送模块1042,用于采用内存地址封送的方式,将请求对象缓存模块1043中的上级业务请求传递至下联进程管理器103,以及用于采用内存地址封送的方式,将下联进程管理器103的下级业务请求缓存至请求对象缓存模块1043。
在本实施例中,管道请求封送模块1042可根据下级业务请求或者上级业务请求,来确定往哪个管道进行封送。由于上联进程管理器105与下联进程管理器103属于不同的子进程,而进程间不能直接访问数据,因此这里采用内存地址封送的数据传递方式,即按照下级业务请求或者上级业务请求的进程句柄,向其指定地址空间写入希望传达的数据,待对应的上联进程管理器105或者下联进程管理器103进行读取,一旦读取完成,管道请求封送模块1042则清除请求对象缓存模块1043中的该下级业务请求或者上级业务请求。
在本实施例公开的技术方案中,由于进程间数据隔离不同于线程间数据隔离,进程间不允许直接进行数据传递,因此通过上下联数据管道同步器104管理上联进程管理器105,同步上联进程管理器105的各个进程的跨进程请求,即上级平台30需要访问本级的下级平台/国标设备20时的数据请求跨进程封送。
在又一实施例中,如图6所示,在图1至图5任一实施例所示的基础上,上联进程管理器105包括:
中转管理模块1051,用于接收上下联数据管道同步器104发送的国标信令;
在本实施例中,中转管理模块1051用于与上下联数据管道同步器104中的上联同步模块1041进行数据通信,可接收上联同步模块1041发送过来的上联请求国标信令,然后将上联请求国标信令给到对应的上级平台30,也可接收上级平台30的上级业务请求,将上级业务请求上报给上联同步模块1041,以将上级业务请求封送至下级进程管理器中进行处理。
上联请求管理模块1052,用于检测上下联数据管道同步器104发送的国标信令是否为上联请求国标信令;
在本实施例中,上联请求管理模块1052接收到中转管理模块1051或者第二信令代理模块1053发送的国标信令时,检测其是否为上联请求国标信令,从而确定是通过中转管理模块1051向下联进程管理器103发送此国标信令,还是直接在上联进程管理器105内处理(例如,第二信令代理模块1053发送的心跳、状态维持类的国标信令,上联进程管理器105直接处理,不再向下联进程管理器103发送此国标信令)。
第二信令代理模块1053,用于在上下联数据管道同步器104发送的国标信令为上联请求国标信令时,将上联请求国标信令进行信令封装,并将信令封装后的上联请求国标信令,发送至上级平台30,以通过上联请求国标信令建立与上级平台30的上联连接。
在本实施例中,第二信令代理模块1053与下联进程管理器103中的第一信令代理模块1031的功能相同,用于解析上联请求国标信令或者上级业务请求,再向下联进程管理器103或者上级平台30传递。第二信令代理模块1053还用于将上级业务请求对应的请求响应结果反馈至上级业务请求的发起方,例如,上级平台30通过上联进程管理器105向下联进程管理器103发起上级业务请求,上级业务请求对应的目标下级平台/国标设备20将上级业务请求对应的请求响应结果,通过下联进程管理器103反馈至第二信令代理模块1053,第二信令代理模块1053将请求响应结果反馈至上级平台30。
在本实施例公开的技术方案中,上联进程管理器105可向上级平台30进行上联操作,维护与上级平台30的通信连接状态,接收上级平台30的上级业务请求,并中转到下联进程管理器103中,由下联进程管理器103协调处理上级业务请求。
在上述各个实施例所述的国标信令服务端的上下联处理系统中,拆分上、下联业务逻辑到不同进程,通过上下联数据管道同步器解决进程间数据通信同步问题,使得上下联不再在一个进程中处理。此外,一个上联进程管理器对应一个上级平台,使得在对接的上级平台出现修正时,只会影响单个上联进程而不是整个系统。在采用多进程的模式处理国标上、下联业务后,国标信令服务端的上下联处理系统如果只有下联的第一配置信息,而没有上联的第二配置信息,将不会启动上联进程管理器,避免了传统的上下联处于同一进程中进行处理。无论是否有上联的上级平台,国标信令服务端的上下联处理系统启动时,下联进程管理器和上下联数据管道同步器均会运行,这样本域平台业务可按需启动上联进程管理器,业务效率大大提高。上、下联进程各自在自己的独立进程空间中运行,单一进程崩溃,不会影响整个系统,避免了传统模式下,上下联任意问题导致的崩溃即会影响整个系统,哪怕正常的业务也会因此收到干扰,因此提高了系统的稳定性和容错性。此外,业务逻辑代码,借由上、下联进程分割,使得业务逻辑代码的专注性强,业务逻辑扩展时只需要修改对应的上联进程管理器或者下联进程管理器,无需担心上、下联混合在一起干扰了修改。
为了更好实施本申请实施例中国标信令服务端的上下联处理系统,在国标信令服务端的上下联处理系统的基础之上,本申请实施例中还提供一种计算机设备,其集成了本申请实施例所提供的任一种国标信令服务端的上下联处理系统。如图7所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不以构建对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选地,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
计算机设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
获取用于下联下级平台/国标设备的第一配置信息,以及用于上联上级平台的第二配置信息;
根据第一配置信息创建下联进程管理器,以及根据第二配置信息创建上下联数据管道同步器,其中,下联进程管理器与上下联数据管道同步器属于不同子进程;
接收下级平台/国标设备发送的下联请求国标信令,根据下联请求国标信令建立与下级平台/国标设备的下联连接;
检测下联进程管理器是否成功启动,并在下联进程管理器成功启动后,创建上联进程管理器,以及用于采用内存地址封送的方式,传递下联进程管理器下联连接的下级平台/国标设备,与上联进程管理器上联连接的上级平台之间的通信数据;
向第二配置信息中的待上联的上级平台发送上联请求国标信令,以通过上联请求国标信令建立与上级平台的上联连接。
本领域普通技术人员可以理解,上述实施例的各种系统中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种国标信令服务端的上下联处理系统中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取用于下联下级平台/国标设备的第一配置信息,以及用于上联上级平台的第二配置信息;
根据第一配置信息创建下联进程管理器,以及根据第二配置信息创建上下联数据管道同步器,其中,下联进程管理器与上下联数据管道同步器属于不同子进程;
接收下级平台/国标设备发送的下联请求国标信令,根据下联请求国标信令建立与下级平台/国标设备的下联连接;
检测下联进程管理器是否成功启动,并在下联进程管理器成功启动后,创建上联进程管理器,以及用于采用内存地址封送的方式,传递下联进程管理器下联连接的下级平台/国标设备,与上联进程管理器上联连接的上级平台之间的通信数据;
向第二配置信息中的待上联的上级平台发送上联请求国标信令,以通过上联请求国标信令建立与上级平台的上联连接。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的系统实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种国标信令服务端的上下联处理系统、计算机设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的系统及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。