CN113535446B - 用于线路接入时业务数据保护的进程双向守护方法及系统 - Google Patents

用于线路接入时业务数据保护的进程双向守护方法及系统 Download PDF

Info

Publication number
CN113535446B
CN113535446B CN202110728410.8A CN202110728410A CN113535446B CN 113535446 B CN113535446 B CN 113535446B CN 202110728410 A CN202110728410 A CN 202110728410A CN 113535446 B CN113535446 B CN 113535446B
Authority
CN
China
Prior art keywords
child
parent
daemon
father
business
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110728410.8A
Other languages
English (en)
Other versions
CN113535446A (zh
Inventor
葛东东
王凯
李海涛
李星
朱宇航
何赞园
江昊聪
巩小锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202110728410.8A priority Critical patent/CN113535446B/zh
Publication of CN113535446A publication Critical patent/CN113535446A/zh
Application granted granted Critical
Publication of CN113535446B publication Critical patent/CN113535446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于电信核心网业务数据保护技术领域,特别涉及一种用于线路接入时业务数据保护的进程双向守护方法及系统,利用父进程和子进程相互守护流程来保护业务数据,其中,相互守护流程包含:针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;父进程利用系统函数对子进程进行监控并对异常子进程进行回收重建;子进程利用心跳机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并利用系统调用函数创建其自身子进程,形成下一个父进程和子进程相互守护流程。本发明能够在线路接入保护单元业务进程异常退出时通过进程双向守护无限迭代方式实现业务数据保护。

Description

用于线路接入时业务数据保护的进程双向守护方法及系统
技术领域
本发明属于电信核心网业务数据保护技术领域,特别涉及一种用于线路接入时业务数据保护的进程双向守护方法及系统。
背景技术
电信网核心网串接专用设备的线路接入保护单元进程在运行时可能出现异常退出,因此,需要对接入数据进行保护,不影响现网业务。目前常用的方法包括以下三种:方法一、硬直通保护法,若进程异常退出则直通线路。该方法简单、安全、可靠性高,但硬直通保护需要专用直通保护设备,且在线路退出和接入的过程中,会引起链路中断,产生链路告警,同时线路退出后,串接设备同时处于业务旁路状态,无法正常处理业务。方法二、守护脚本法,系统启动运行守护脚本,守护脚本实时监测主进程的运行状态,当主进程异常退出时,立刻再次重启主进程。该方法简单,但需编写专门的守护脚本,且无法获取进程退出时的全局变量实时参数。同时,还需要计算好主进程启动时间和看门狗复位时间,避免由于主进程启动时间过长,导致看门狗复位板卡。方法三、父子进程守护法,父进程监控子进程状态,由子进程进行业务处理,当子进程异常时,回收子进程,然后fork()创建一个新子进程替换。该方法只能监控子进程异常,如果父进程异常退出,则无法实现正常守护,从而无法对现网数据进行保护。
综上所述,以上保护方法都存在一定的缺陷,无法解决线路接入保护单元进程异常退出时业务数据丢失的问题。
发明内容
为此,本发明提供一种用于线路接入时业务数据保护的进程双向守护方法及系统,能够在线路接入保护单元业务进程异常退出时通过进程双向守护无限迭代的方式实现业务数据保护。
按照本发明所提供的设计方案,提供一种用于线路接入时业务数据保护的进程双向守护方法,利用父进程和子进程相互守护流程来保护业务数据,其中,相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用系统函数对子进程进行监控并对异常子进程进行回收重建;子进程利用心跳机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,通过执行fork函数来创建用于监控父进程运行状态的子进程。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,父进程的子进程拥有独立地址空间和进程识别号,并继承父进程资源信息,其中,资源信息包含:用户号、用户组号、用户信息、目录信息、文件描述符、堆栈、共享内存、信号控制设定和进程组号。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,多线程的父进程创建的子进程仅拥有对应系统调用函数线程的副本线程。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,心跳机制中,父进程利用进程间消息队列并按照预设时间间隔发送心跳消息至子进程,以告知子进程自身运行状态,其中,心跳消息包含全局变量实时值。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,子进程每收父进程心跳消息时,提取消息中携带的全局变量信息并更新本地对应变量,同时产生告知父进程的应答消息,其中,该应答消息包含子进程保活状态和子进程号。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,心跳机制中,父、子进程利用看门狗原理创建各自独立喂狗线程触发周期喂狗来保护父、子进程同时异常时的业务数据。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,子进程利用预设时间间隔内是否接收到父进程心跳消息来判定父进程异常。
作为本发明用于线路接入时业务数据保护的进程双向守护方法,进一步地,针对异常父进程情形,通过获取父进程号来终止满足条件的父进程,并将对应子进程切换为主进程来处理业务,同时利用系统调用函数为其创建子进程。
进一步地,本发明还提供一种用于线路接入时业务数据保护的进程双向守护系统,包含:用于业务处理和进程监控的业务处理模块,及分别与业务处理模块连接用于进程监控中看门狗使能和喂狗的看门狗模块和用于接入现网线路的线路接口模块,其中,业务处理模块利用父进程和子进程相互守护流程来保护业务数据,所述的相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用系统函数对子进程进行监控并对异常子进程进行回收重建;子进程利用心跳机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程。
本发明的有益效果:
本发明采用父进程作为主进程处理业务并利用系统函数监控子进程状态,若子进程出现异常则对其进行回收,并重新创建子进程,子进程不处理业务的方式,可以极大降低进程出现异常的概率;当父进程异常时,子进程将切换自己为主进程,创建业务处理线程,同时创建一个子进程,再次形成相互守护,如此不断迭代下去,解决电信核心网线路接入保护单元进程异常退出时业务数据丢失的问题,确保进程运行可靠性,降低进程异常情况下造成的危害,具有较好的应用前景。
附图说明:
图1为实施例中用于线路接入时业务数据保护的进程双向守护原理示意;
图2为实施例中父子进程相互守护流程示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是一个动态的概念,是操作系统结构的基础。进程是线程的容器和程序的实体。电信网核心网串接专用设备的线路接入保护单元进程在运行时可能出现异常退出,因此,需要对接入数据进行保护,不影响现网业务。本发明实施例,提供一种用于线路接入时业务数据保护的进程双向守护方法,利用父进程和子进程相互守护流程来保护业务数据,其中,相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用系统函数对子进程进行监控并对异常子进程进行回收重建;子进程利用心跳机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程。
采用父进程作为主进程处理业务并利用系统函数监控子进程状态,若子进程出现异常则对其进行回收,并重新创建子进程,子进程不处理业务的方式,可以极大降低进程出现异常的概率;当父进程异常时,子进程将切换自己为主进程,创建业务处理线程,同时创建一个子进程,再次形成相互守护,如此不断迭代下去,解决电信核心网线路接入保护单元进程异常退出时业务数据丢失的问题,确保进程运行可靠性,降低进程异常情况下造成的危害。
作为本发明实施例中用于线路接入时业务数据保护的进程双向守护方法,进一步地,通过执行fork函数来创建用于监控父进程运行状态的子进程。利用fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程;将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。
作为本发明实施例中用于线路接入时业务数据保护的进程双向守护方法,进一步地,父进程的子进程拥有独立地址空间和进程识别号,并继承父进程资源信息,其中,资源信息包含:用户号、用户组号、用户信息、目录信息、文件描述符、堆栈、共享内存、信号控制设定和进程组号。进一步地,多线程的父进程创建的子进程仅拥有对应系统调用函数线程的副本线程。
子进程是对父进程的复制,父进程创建子进程后,子进程继承父进程的部分资源,主要包括用户号和用户组号、用户信息、目录信息、打开的文件描述符、堆栈、共享内存、信号控制设定和进程组号等。父子进程拥有相同内容的代码段、数据段和用户堆栈。子进程拥有独立的地址空间和PID号,不继承父进程的进程正文、数据和其他锁定内存,不继承异步输入和输出,不继承父进程创建的网络通信链路。多线程的父进程创建的子进程仅拥有一个线程,该线程是父进程中调用fork()的线程的一个副本,而不继承父进程之前创建的其他线程。
作为本发明实施例中用于线路接入时业务数据保护的进程双向守护方法,进一步地,心跳机制中,父进程利用进程间消息队列并按照预设时间间隔发送心跳消息至子进程,以告知子进程自身运行状态,其中,心跳消息包含全局变量实时值。父进程作为主进程处理业务并通过进程间消息队列的方式发送心跳给子进程,该心跳消息内包含重要的全局变量实时值,同时可以监控子进程状态。
作为本发明实施例中用于线路接入时业务数据保护的进程双向守护方法,进一步地,子进程每收父进程心跳消息时,提取消息中携带的全局变量信息并更新本地对应变量,同时产生告知父进程的应答消息,其中,该应答消息包含子进程保活状态和子进程号。进一步地,心跳机制中,父、子进程利用看门狗原理创建各自独立喂狗线程触发周期喂狗来保护父、子进程同时异常时的业务数据。进一步地,子进程利用预设时间间隔内是否接收到父进程心跳消息来判定父进程异常。进一步地,针对异常父进程情形,通过获取父进程号来终止满足条件的父进程,并将对应子进程切换为主进程来处理业务,同时利用系统调用函数为其创建子进程。
利用父子进程迭代继承、进程间通信、日志文件的迭代继承来实现电信核心网串接设备的线路接入时业务数据保护,不影响现网业务,避免数据业务丢失等情形,确保电信核心网业务处理性能。
进一步地,基于上述的方法,本发明实施例还提供一种用于线路接入时业务数据保护的进程双向守护系统,包含:用于业务处理和进程监控的业务处理模块,及分别与业务处理模块连接用于进程监控中看门狗使能和喂狗的看门狗模块和用于接入现网线路的线路接口模块,其中,业务处理模块利用父进程和子进程相互守护流程来保护业务数据,所述的相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用系统函数对子进程进行监控并对异常子进程进行回收重建;子进程利用心跳机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程。
参见图1所示,看门狗模块可以为独立硬看门狗,由业务处理模块通过IO口控制,实现看门狗的使能和喂狗。业务处理模块由父进程、消息队列和子进程组成,父进程完成所有业务处理,通过消息队列给子进程发送消息,子进程监控父进程运行状态并喂狗,同时应答父进程心跳消息,父子进程双向守护。线路接口模块由业务处理模块的父进程控制,完成现网数据的接入和退出。结合上述内容,参见图2所示,其进程间相互守护的具体实施步骤可设计如下:
实施步骤(一):进程启动,打开日志文件,初始化看门狗模块,初始化网络通信链路。
实施步骤(二):执行fork()函数,创建子进程,判断函数返回值是否为0,是则进入实施步骤(六),否则进入实施步骤(三)。需要说明的是实施步骤(三)-(五)工作于父进程,实施步骤(六)(七)工作于子进程。
实施步骤(三):父进程作为主进程,创建线路接入保护单元正常处理业务需要的所有线程,保证该单元正常工作,能够实时转发处理线路接口模块接入的所有现网数据。
实施步骤(四):初始化消息队列,创建心跳消息发送线程和消息队列接收线程。父进程按照预设时间间隔给子进程发送心跳消息,来通告子系统自己的状态。同时父进程通过心跳消息,把一些关键全局变量实时告知给子系统。
实施步骤(五):创建子进程监控线程,监控子进程状态。子进程状态正常时,监控线程处于阻塞状态,等待子进程异常退出;子进程异常退出后,监控线程结束阻塞完成异常子进程的回收,然后重新创建子进程,进入到步骤六,完成子进程初始化。
实施步骤(六):子进程初始化消息队列,创建消息队列接收线程。其中初始化消息队列是为了创建父子进程间消息通道,用于进程间通信;创建消息队列接收线程,用于接收父进程发送的心跳消息。每收到一个父进程的心跳消息,提取消息中携带的关键全局变量信息并更新本地对应变量,同时产生一个应答消息,用于子进程保活的同时,告知父进程,该子进程的PID。
实施步骤(七):创建喂狗线程,创建父进程心跳监测线程。喂狗线程完成周期喂狗工作,避免父进程异常退出引起看门狗复位。父进程心跳监测线程等待预设时间或者收到父进程心跳消息后进入心跳监测主循环。若超时没有收到父进程心跳消息时,跳出心跳监测主循环,获取父进程PPID,如果PPID>1,则终止该PPID的父进程,然后,进入步骤二执行。
利用父进程和子进程相互守护流程实现业务数据保护,当父进程异常时,子进程将切换自己为主进程,创建业务处理线程,同时创建一个子进程,再次形成相互守护,如此不断迭代下去;当子进程异常时,父进程对其进行回收,并重新创建子进程。子进程不处理业务的方式,可以极大降低进程出现异常的概率。通过父子进程相互守护流程来解决电信核心网线路接入时业务数据丢失问题,保证电信核心网业务处理性能。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述系统实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和系统,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述系统的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种用于线路接入时业务数据保护的进程双向守护方法,其特征在于,利用父进程和子进程相互守护流程来保护业务数据,其中,相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用心跳机制对子进程进行监控并对异常子进程进行回收重建;子进程利用看门狗机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程;
父进程的子进程拥有独立地址空间和进程识别号,并继承父进程资源信息,其中,资源信息包含:用户号、用户组号、用户信息、目录信息、文件描述符、堆栈、共享内存、信号控制设定和进程组号;
多线程的父进程创建的子进程仅拥有对应系统调用函数线程的副本线程;
心跳机制中,父进程利用进程间消息队列并按照预设时间间隔发送心跳消息至子进程,以告知子进程自身运行状态,其中,心跳消息包含全局变量实时值;
子进程每收父进程心跳消息时,提取消息中携带的全局变量信息并更新本地对应变量,同时产生告知父进程的应答消息,其中,该应答消息包含子进程保活状态和子进程号;
子进程利用看门狗机制通过创建喂狗线程触发周期喂狗来监测父进程异常。
2.根据权利要求1所述的用于线路接入时业务数据保护的进程双向守护方法,其特征在于,通过执行fork函数来创建用于监控父进程运行状态的子进程。
3.根据权利要求1所述的用于线路接入时业务数据保护的进程双向守护方法,其特征在于,子进程利用预设时间间隔内是否接收到父进程心跳消息来判定父进程异常。
4.根据权利要求1所述的用于线路接入时业务数据保护的进程双向守护方法,其特征在于,针对异常父进程情形,通过获取父进程号来终止满足条件的父进程,并将对应子进程切换为主进程来处理业务,同时利用系统调用函数为其创建子进程。
5.一种用于线路接入时业务数据保护的进程双向守护系统,其特征在于,基于权利要求1所述的方法实现,包含:用于业务处理和进程监控的业务处理模块,及分别与业务处理模块连接用于进程监控中看门狗使能和喂狗的看门狗模块和用于接入现网线路的线路接口模块,其中,业务处理模块利用父进程和子进程相互守护流程来保护业务数据,所述的相互守护流程包含如下内容:
针对业务服务程序,采用父进程作为主进程处理业务,并使用系统调用函数创建用于监控父进程运行状态的子进程;
父进程利用心跳机制对子进程进行监控并对异常子进程进行回收重建;子进程利用看门狗机制对父进程进行监控,并针对异常父进程,子进程将其自身切换为主进程来处理业务,并同时利用系统调用函数创建其自身的子进程,形成下一个父进程和子进程相互守护流程。
CN202110728410.8A 2021-06-29 2021-06-29 用于线路接入时业务数据保护的进程双向守护方法及系统 Active CN113535446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110728410.8A CN113535446B (zh) 2021-06-29 2021-06-29 用于线路接入时业务数据保护的进程双向守护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110728410.8A CN113535446B (zh) 2021-06-29 2021-06-29 用于线路接入时业务数据保护的进程双向守护方法及系统

Publications (2)

Publication Number Publication Date
CN113535446A CN113535446A (zh) 2021-10-22
CN113535446B true CN113535446B (zh) 2023-06-06

Family

ID=78126236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110728410.8A Active CN113535446B (zh) 2021-06-29 2021-06-29 用于线路接入时业务数据保护的进程双向守护方法及系统

Country Status (1)

Country Link
CN (1) CN113535446B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114282178A (zh) * 2021-12-13 2022-04-05 安天科技集团股份有限公司 一种软件自防护方法、装置、电子设备及存储介质
CN114237766A (zh) * 2021-12-28 2022-03-25 南京合智电力科技有限公司 一种进程动态重启的方法
CN115225633B (zh) * 2022-06-24 2024-04-12 浪潮软件集团有限公司 基于对端网络信号的状态机状态转换方法及系统
CN117112284B (zh) * 2023-10-25 2024-02-02 西安热工研究院有限公司 一种dcs控制器可信状态感知方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996257A (zh) * 2006-12-26 2007-07-11 华为技术有限公司 对进程进行监控的方法和系统
CN101071388A (zh) * 2006-05-12 2007-11-14 联想(北京)有限公司 一种进程隔离控制系统及方法
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法
CN105573890A (zh) * 2015-12-15 2016-05-11 浪潮软件股份有限公司 一种守护服务器的进程的方法及装置
CN107480005A (zh) * 2017-07-31 2017-12-15 惠州华阳通用电子有限公司 一种Linux系统进程守护方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6964047B2 (en) * 2001-12-20 2005-11-08 Lucent Technologies Inc. Method and apparatus for a fast process monitor suitable for a high availability system
CN107179982B (zh) * 2016-03-09 2021-05-04 创新先进技术有限公司 一种跨进程调试方法和装置
US10997303B2 (en) * 2017-09-12 2021-05-04 Sophos Limited Managing untyped network traffic flows
CN109947576B (zh) * 2017-12-21 2022-12-06 上海盛霄云计算技术有限公司 一种虚拟机内部代理程序管理的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071388A (zh) * 2006-05-12 2007-11-14 联想(北京)有限公司 一种进程隔离控制系统及方法
CN1996257A (zh) * 2006-12-26 2007-07-11 华为技术有限公司 对进程进行监控的方法和系统
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法
CN105573890A (zh) * 2015-12-15 2016-05-11 浪潮软件股份有限公司 一种守护服务器的进程的方法及装置
CN107480005A (zh) * 2017-07-31 2017-12-15 惠州华阳通用电子有限公司 一种Linux系统进程守护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Blockchain Based Big Data Security Protection Scheme;Conghui Zhang等;2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC);全文 *
Linux看门狗管理及在DM8168芯片上的应用;刘永红;单片机与嵌入式系统应用;第15卷(第12期);全文 *
基于Linux守护进程的分析与实现;农强;;电脑知识与技术(学术交流);第01卷(第04期);全文 *

Also Published As

Publication number Publication date
CN113535446A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN113535446B (zh) 用于线路接入时业务数据保护的进程双向守护方法及系统
CN102968352B (zh) 进程监控及多级恢复系统和方法
US5404532A (en) Persistent/impervious event forwarding discriminator
US4628508A (en) Computer of processor control systems
US6502206B1 (en) Multi-processor switch and main processor switching method
CN110581852A (zh) 一种高效型拟态防御系统及方法
CN102118275A (zh) 一种告警风暴的处理方法及处理装置
CN111756601A (zh) 微服务架构监控方法、装置、计算机设备及可读存储介质
US20190205545A1 (en) Device monitoring policy
CN113434327A (zh) 一种故障处理系统、方法、设备和存储介质
CN112702205A (zh) 拟态dhr架构下执行体状态监测方法及系统
CN110727508A (zh) 一种任务调度系统和调度方法
CN110865900A (zh) 增强嵌入式系统健壮性的一种方法
US20230409391A1 (en) Thread priority adjusting method, terminal, and computer-readable storage medium
Narasimhan et al. Strong replica consistency for fault-tolerant CORBA applications
US20190243953A1 (en) Enhanced security for multiple node computing platform
CN113672471A (zh) 一种软件监控方法、装置、设备及存储介质
CN111949912B (zh) 一种基于标签的消息推送方法、装置和系统
US20030009711A1 (en) Alarm management system
Park et al. An efficient algorithm for leader-election in synchronous distributed systems
CN113542001B (zh) Osd故障心跳检测方法、装置、设备及存储介质
CN109062718A (zh) 一种服务器及数据处理方法
CN113900855A (zh) 一种交换机异常状态的主动热启动方法、系统及装置
CN111857689A (zh) 一种框架、框架的功能配置方法、终端及存储介质
KR101864126B1 (ko) 지속적인 서비스 제공을 위한 정상상태 모델 기반의 침입감내 시스템 및 그 제어방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant