CN109298871B - Software version monitoring and deploying method for intelligent scheduling system of power grid - Google Patents
Software version monitoring and deploying method for intelligent scheduling system of power grid Download PDFInfo
- Publication number
- CN109298871B CN109298871B CN201811112204.9A CN201811112204A CN109298871B CN 109298871 B CN109298871 B CN 109298871B CN 201811112204 A CN201811112204 A CN 201811112204A CN 109298871 B CN109298871 B CN 109298871B
- Authority
- CN
- China
- Prior art keywords
- file
- version
- identity
- node
- monitoring
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a software version monitoring and deploying method of a power grid intelligent scheduling system, which deploys a version monitoring tool on a monitoring release node and deploys a version monitoring agent module on a managed service node; the version supervision tool marks the file identity by using the MD5 code of the file and is used for realizing the functions of monitoring modeling, identity calculation, identity difference matching, packaging and releasing and remote deployment; the version monitoring agent module is used for realizing full collection and incremental collection of the identity of the file to be monitored. The invention designs a version monitoring agent module and a version monitoring tool based on DM5 identity checking and Inotify file operation and maintenance monitoring technology, checks whether application files such as configuration, a dynamic library, an executable file, a script and the like are tampered or replaced, realizes monitoring and semi-automatic deployment of software versions, reduces operation and maintenance pressure and improves the stability of system operation.
Description
Technical Field
The invention relates to a distributed system software version monitoring and deploying tool, in particular to a tool for releasing, monitoring and deploying a software version of a power grid intelligent scheduling system.
Background
The integrated research and development management platform introduces problems from software requirements, functions, Bug and the like, integrates related personnel of the software into a set of management flow, tracks the state of the problems, and realizes closed-loop management of the problems through software version number tracking. Software version control tools such as SVN (support vector network) and GIT (general information technology) are used for realizing version management of a source code level, version release personnel acquire version numbers from a research and development management platform, integration, compiling and packaging of software are completed, application files are extracted and packaged into a version upgrading installation package, a deployment worksheet and a test manual are formulated, and the version upgrading installation package is released to field operation and maintenance personnel for installation and deployment.
The intelligent power grid dispatching system is a large distributed software system, needs to be deployed across geographic regions and safety isolation regions, is complex in system structure, and has high operation and maintenance pressure on daily Bug correction and software version upgrading. The system adopts a mode of mixed management of a research and development management platform and the SVN, and after running for many years, the phenomenon that application programs deployed on individual nodes in a cluster are easily inconsistent with related nodes exists on the site of a user, so that the instability factor of the system is increased. The reasons for such problems are as follows:
1) development and version management personnel generally cannot verify whether application files such as configuration, dynamic libraries, executable files, scripts and the like are tampered or replaced; external file identity authentication and monitoring protection tool support is required.
2) The test of the distributed system has stronger one-sidedness, and the test of the standby node is easy to ignore; the actual operation environment of a user field is complex, operation and maintenance personnel are frequently replaced, and operation omission or record loss easily occurs in the Bug correction and work order deployment process.
3) The service application is complex, the version is generally upgraded according to the service node group, and all the nodes of the cluster are difficult to be covered by each upgrade.
4) The sporadic and error operations of the operation and maintenance personnel are not recorded, and the basis of rolling back versions is lacked.
In summary, how to monitor changes of application files such as configuration, dynamic libraries, executable files and scripts in the power grid intelligent scheduling system, monitor consistency of software version deployment on a user field server cluster, provide an effective version upgrading deployment tool, and reduce operation and maintenance risks is a problem which needs to be solved urgently in the field.
Disclosure of Invention
The invention provides a monitoring and deploying method for software versions of a power grid intelligent dispatching system, which aims to solve the technical problems that: and carrying out version monitoring and deployment on the application files in the intelligent power grid dispatching system.
The technical scheme of the invention is as follows:
a monitoring and deploying method for a software version of a power grid intelligent scheduling system is characterized by comprising the following steps: deploying a version supervision tool on a supervision releasing node, and deploying a version monitoring agent module on a managed service node;
the version supervision tool marks the file identity by using the MD5 code of the file and is used for realizing the functions of monitoring modeling, identity calculation, identity difference matching, packaging and releasing and remote deployment;
the version monitoring agent module is used for realizing full collection and incremental collection of the identity of the file to be monitored.
As a further improvement of the invention: the version supervision tool comprises a monitoring model management module for monitoring modeling, wherein the monitoring modeling comprises cluster node modeling, supervised application file modeling and file identity modeling, and the monitoring model management module also sets a node key value cache model and a relational library identity storage model.
As a further improvement of the invention:
the cluster node model includes the following information of the nodes: user description, domain, service label, node name, IP address, terminal user password, operating system and upgrading mark;
the model of the supervised application file includes the following information for the file: full path name, service label and file mark; the definition of the file flag is as follows: 0 represents unsupervised, 1 represents a file under supervision and local backup, 2 represents a configuration file and remote backup; the version supervision tool generates a configuration file and a service label grouping configuration file of the supervised file according to the file mark, and then releases the generated configuration file to the required supervised node;
the model of the identity of the document includes the following information of the document: full pathname, MD5 code, version number, file size, and last modified time;
in a storage structure of the node key value cache model, a key is a full path name of a file, and a value is a file identity;
the relational database identity acquisition and storage model comprises the following acquisition information: user description, node name, file identity, and acquisition time.
As a further improvement of the invention: the identity calculation of the version supervision tool comprises full identity calculation, incremental identity calculation and service group identity calculation;
the process of the full identity calculation comprises the following steps: analyzing a configuration file of a monitored file to obtain a monitored file set, calculating file identities one by one and writing the file identities into a version attribute file;
the process of the incremental identity calculation is as follows: monitoring the maintenance information of the monitored file, analyzing a file name set, calculating file identities one by one and writing a difference record file;
the process of the business group identity calculation is as follows: analyzing the service label grouping configuration file to obtain a file name set, calculating file identities one by one and writing the file identities into a service label grouping attribute file;
and when the version supervision tool executes the identity calculation, the calculation result is stored in the relational database.
As a further improvement of the invention: identity difference matching of the version supervision tool refers to matching of two version attribute files or matching of stored data in a relational database;
and matching the version attribute files: firstly, analyzing a standard version attribute file issued by a version supervision issuing node, storing a key value structure < file, SDI.md5> into a container, wherein the file is a file name, and the SDI.md5 is an MD5 code in a file identity; then, analyzing the version attribute files of the user, taking out records one by one, retrieving the MD5 codes of the files of the standard version according to the file name retrieval container, and comparing whether the MD5 codes are the same or not; writing different records into a difference record file corresponding to the version attribute file name of the user;
matching of relational database storage data: and under the constraint condition of node deployment, retrieving and matching the difference of different versions on the same node and the difference of different nodes of the same version, and writing the difference information into a difference record file.
As a further improvement of the invention: the packaging process of the version supervision tool comprises the following steps: establishing a packaging subdirectory, analyzing the version attribute file to obtain a file name set, writing the file names into an index file under the packaging subdirectory one by one, copying all files to the directory, and finally packaging into a compressed file by using a compression tool;
and during release, acquiring a target node name and a terminal user password from the cluster node model, and releasing the compressed file to the target node by using a file receiving and transmitting tool.
As a further improvement of the invention: the version monitoring agent module comprises a configuration change component, a file change monitoring component, a file maintenance record component, an increment identity calculation component, a local key value cache library, a difference matching component, a full identity calculation component, a remote retrieval interface component and a remote operation interface component;
the configuration change component downloads the configuration file of the latest supervised file from the version supervision releasing node at regular time;
the file change monitoring component monitors the change of the file specified by the configuration and generates a real-time change log;
the file maintenance recording component analyzes the real-time change log in the previous step at regular time and writes the change information into the maintenance recording log;
the increment identity calculation component reads the new record of the maintenance record log at regular time, calculates the file identity of the maintained file, and writes the file into a local key value cache library and a difference record file;
the storage structure of the local key value cache library is < file, SDI >, the file is a file name, and the SDI is a file identity;
the difference matching component is used for realizing difference matching of the two version attribute files;
the full identity calculation component loads a supervised file set from a configuration file, calculates the file identity of a local supervised file, and writes the file identity into a local version attribute file and a local key value cache library; then downloading a standard version attribute file from the version supervision release node, and matching the local version attribute file with the standard version attribute file to generate a difference record file;
the remote retrieval interface acquires records in a local key value cache library or a difference record file according to conditions and transmits the records to a retrieval collector;
the remote operation interface is used for receiving and transmitting files, starting and stopping the service of the version monitoring agent module and deploying an installation package.
As a further improvement of the invention: semi-automatic remote deployment of the version supervision tool comprises upgrading according to a research and development version, releasing an engineering version and deploying on-site versions;
the remote deployment process comprises the following steps: firstly decompressing the installation package on the deployment node, and stopping related services according to the service application condition; reading the index files in the installation package, and copying the files in the upgrade package one by one to cover the files of the production environment; generating a full version attribute file of the remote deployment node, and collecting the file to the supervision and release node for matching and checking; and if the check is passed, remotely starting the related service on the deployment node.
Compared with the prior art, the invention designs the version monitoring agent module and the version monitoring tool based on the technologies of file MD5 checking, Inotify file change monitoring and the like, realizes monitoring and semi-automatic deployment of configuration, dynamic libraries, executable files, scripts and other application files in the power grid intelligent scheduling system, ensures the consistency of software version deployment on a user field server cluster, provides an effective version upgrading and deploying tool, and reduces operation and maintenance risks.
Drawings
FIG. 1 is a schematic diagram of the deployment architecture of the present invention.
Fig. 2 is a flow diagram of a version monitoring agent process.
Detailed Description
The technical scheme of the invention is explained in detail according to the attached drawings:
as shown in fig. 1, a version monitoring agent module 1 is deployed on each service node in the cluster, and a version supervision tool is deployed on a supervision and release node for operation and maintenance. The version supervision tool comprises a monitoring model management module 2, a terminal application 3, a monitoring acquisition matching service module 4, a package extraction and remote deployment module 5 and a version database 6, and provides service support for the interface operation tool through a retrieval interface and an operation interface.
As shown in fig. 2, the version monitoring agent module 1 includes a configuration change component 11, an Inotify-based file change monitoring component 12, a file maintenance record component 13, an incremental identity calculation component 14, a local key-value cache repository 15, a difference matching component 16, a full identity calculation component 17, and a remote recall interface component 18 and a remote operations interface component 19. The version monitoring is completed in a component mode, and version csv records, namely version attribute files, and difference csv records, namely difference record files, are generated; providing SDI information recorded by a key value cache library and a difference csv through a remote retrieval interface; the remote operation interface supports operations such as file receiving and sending, start and stop service, installation package deployment and the like.
First, construct version monitoring agent
The version monitoring agent component is constructed in the order of numbers 11 to 19 in fig. 2, and the design and construction processes are as follows:
1) the configuration change component 11: and after starting, reading the configuration file appfile. cnf for analyzing the monitored file once every 10 minutes, and updating the cache file set.
2) Inotify-based file change monitoring component 12: a real-time change log is generated by monitoring file changes in directories such as bin, lib, cfg, and bat designated by the configuration.
3) File maintenance recording component 13: and analyzing the real-time change log generated in the step 2) every minute, and writing information such as operation time, file full path name and maintenance type into a maintenance record log if the file is a file with a non-0 mark in a model apple of a monitored application file.
4) The incremental identity computation component 14: reading a new record of the maintenance record log generated in the step 3), calculating the file identity SDI of the maintained file, writing the new record into a local key value cache bank and a difference csv record, wherein the difference csv record is a difference record file, and backing up the difference record file to a specified directory (adding a time suffix after the file name).
5) Local key value cache 15: the storage structure < file, SDI >.
6) The disparity matching component 16: and realizing the difference matching of the two csv files.
7) The full identity calculation component 17: loading a set of monitored files from appfile. cnf, calculating the file identity SDI, and writing a version attribute file and a local key value cache library. After the calculation is finished, downloading a standard version csv file, namely a standard version attribute file, from the version supervision and release node, finishing matching, and generating a difference csv record (the file name of the version attribute file is connected with a flag).
8) The remote recall interface component 18: based on a Gsoap + Json protocol, a local key value cache library and difference csv records are retrieved according to conditions such as full volume, increment or file name set.
9) Remote operation interface assembly (19): receiving and sending files, starting and stopping service, installing package deployment and the like.
The environment variable VersionPath specifies a version management directory, a log subdirectory stores a real-time change log and a maintenance record log, a csv subdirectory stores a version attribute file, a bag subdirectory stores an installation package of a version supervision release node, and an autobak stores a file backed up by an incremental identity computing component. And the operation and maintenance personnel check the accuracy of the recorded files by analyzing the files of the suffix of the diff in the csv folder on the node.
Second, construct version supervision tool
The version supervision tool is deployed on the supervision releasing node, acquires the identity information of the service nodes in the cluster range, stores the identity information in the relational database, retrieves the difference between the node identity and the matched node through the interfacing management tool, realizes incremental package extraction or full package, and provides a semi-automatic deployment detection tool. The version supervision tool provides functions of monitoring model management, terminal application, monitoring, acquisition and matching service, package extraction, remote deployment and the like, and provides a retrieval and operation interface for an operation interface.
1. Monitoring model management module
Establishing a monitoring Node model according to a model Node of the cluster Node defined by the structure: node = [ user, domain, label, Node, IP, password, os, upflag ], attribute is user description, domain (geographical location, safe area, etc. division), service label, Node name, IP address, terminal user password, operating system and upgrade flag in turn. Software deployment constraints: software cannot be deployed across operating systems os; the deployed application programs of the node sets corresponding to the same service label in one domain of the user are theoretically consistent.
Establishing a supervised file model according to a model AppFile of a supervised application file, and realizing the common operations of adding, deleting, checking, modifying and the like of the model: apple = [ file, label, flag ], attribute is full pathname, service label, file mark of intelligent scheduling system application file such as configuration, dynamic library, executable file and script etc. in turn (0-no supervision; 1-supervised, local backup; 2-configuration file, remote backup). After the mode is changed, the version supervision tool extracts a record with a file mark of non-0 from the newly added configuration file, and generates a configuration file appfile. cnf (the first row of the content is the version number, and the character string of the subsequent row is a file full name list) of the supervised file and a service tag grouping configuration file 'appfile _' & label '. cnf' ('& label' is replaced by the service tag string; and then the generated appfile. cnf file is issued to the required supervised node.
After the AppFile model is changed, a new configuration file AppFile.
The file identity model: SDI = [ file, MD5, version, size, mtime ], attributes are file full path name, file MD5 code, version number, file size, and file most recent modification time, in that order.
Node key value cache model: the structure < file, SDI > is stored, the key is the file full pathname, and the value is the file identity SDI.
Relational library identity storage model: an acquisition structure, which is collection = [ user, node, SDI, time ], and attributes are user description, node name (server hostname), file identity and acquisition time in sequence; and matching the user, the node and the SDI during storage, directly storing the disk if no record exists, and updating the time if the record exists. The matched difference record is stored in CollectDiff, and the structure is the same as Collect.
2. Terminal application
The terminal application is realized by adopting a mode of an e8k _ vermgr terminal command set, and the design is as follows:
Usage:e8k_vermgr <action> [option]
Action:
version: and checking the current version information.
newcfg: the version number (-v) is entered and AppFile is read to generate AppFile x cnf.
newcsv: and calculating the identity of the total amount of the monitored files.
impcsv: and importing the application file attribute csv file.
upgrade: and (4) specifying a version number (-v) and a cut-off SVN working log number (-SVN) for version upgrading.
appfile: importing an AppFile model file.
exec: and calling the proxy interface to execute the specified script (-s) at the specified node (-ip).
sendfile: sending a file (-f) [ -uf target storage path ] to a specified node (-ip).
mirror: the image natively designates the file (-f) onto a set of nodes labeled with the service.
download file: downloading a file (-f) from a designated node (-ip) to a native path [ -uf, unconfigured to home position ].
A downtfg: download [ -ip, take all homogeneous nodes by default ] managed configuration file [ -f, take apple. flag =2 by default into the subfolder of cfgbak per node name command of the version management directory.
cmpcsv: and comparing the difference of the two attribute files (-f-uf) to generate a difference file of (-uf) parameters.
cmpfile: specifying the filename (-f), the comparison with md5 of this file on all valid nodes is done, generating the result file: username _ version number _ filename diff.
geterrcsv: delta (exception) file attribute information is obtained from a specified node (-ip).
getallcsv: collecting attribute information of a supervised file of a specified node (-ip).
targz: and packaging according to the csv file (-f).
vertar: two version numbers ([ -n (default native) ] -v [ -vv (= v or "", full package v) ]) are input, and differential file packaging from-v to-vv is completed.
install: install the compressed package specified by-f at node [ -ip, default native ].
outdaefile: clearing up expired files under the (-ip) version management directory: the compressed package is stored for 1 year, and the csv file is stored for one month.
Option:
-h: and (4) helping.
-p port: a communication port.
-ip ip: the application node (hosts table host IP, native: 127.0.0.1).
-f file: a file or folder.
-uf userfile: a file or folder.
-v version: a version number.
-vv endver: the version number is cut off.
-svn svnno: SVN max number.
The identity calculation of the version supervision tool is divided into three types of full identity, incremental identity and service group identity calculation:
1) calculating the full identity: cpfile. cnf is parsed to obtain a file name set, and SDI write version attribute files (naming format: version number _ user description _ node name _ date. csv, row information of contents: SDI separated by commas) are calculated one by one.
2) And (3) incremental identity calculation: monitoring maintenance information of application files in a folder based on the Inotify technology, analyzing a file name set, and calculating SDI write difference record files item by item (named format: version number _ user description _ node name _ date. csv.
3) And (4) calculating the identity of the service group: the file name set is obtained by analyzing 'appfile _' & label '. cnf', and SDI write version attribute files are calculated item by item (naming format: version number _ user description _ node name- '& label' _ date.csv).
4) When the version supervision tool executes identity calculation, the calculation result is stored in the Collect model of the relational database; and the calculation result of the version monitoring agent module is stored in the local key value database.
The difference matching of the version supervision tool is realized by matching two csv files or matching stored data of a relational library Collect. When the csv files are matched, firstly analyzing the csv files of the standard version, and storing a key value structure < file, SDI.md5> into a HashMap container; then, analyzing the csv files of the user, taking out records one by one, retrieving the MD5 codes of the HashMap files of the standard version according to the file names, and comparing whether the codes are the same or not; a different record, written to the user csv file name in the ". diff" record. The matching of the data stored in the relational database Collect needs to meet the constraint condition of node deployment, the difference of different versions on the same node can be searched and matched, the difference of different nodes of the same version can be searched and matched, and the difference information can be exported to be csv files.
The packaging and releasing of the version supervision tool comprises two processes of packaging and releasing. When packaging, firstly creating a subdirectory of 'user description _ version number _ date' in a bag folder of a management directory (specified by an environment variable VersionPath, generally using a default directory); then analyzing the provided 'csv file' to obtain a file name set, writing the file name set into a 'user description version number date' directory file index file one by one, and copying the file to the directory (the directory structure is consistent with the directory structure of the original application program); and finally, compressing the first-level subdirectory into a file of 'user description version number date' tar. When releasing, the target Node name and the terminal user password are obtained from the Node model, and the compressed file is released to the target Node by using a file receiving and transmitting tool.
3. Monitoring acquisition matching services
Providing a timer for executing a terminal task, and taking a Node model to perform polling once per day, namely e8k _ vermgr getallcsv, and perform polling once per minute, namely e8k _ vermgr getterrcsv; and E8k _ vermgr outdatefile is executed by polling every day, and an expired file is processed once. And e8k _ vermgr downlnfg is executed after 10 minutes every time the service is restarted, and the field configuration file is backed up. and if the appfile cnf file changes, executing e8k _ vermgr mirror-f appfile cnf to distribute the file image to all related nodes.
4. Bag extraction and remote deployment
According to the application scene, a csv file is generated through calculation, and the package drawing is completed by executing the full path name of the e8k _ vermgr targz-f csv file. When remote deployment is carried out, the installation package is issued to all nodes needing to be upgraded through an e8k _ vermgr mirror command, and then node-by-node deployment is carried out: decompressing on a deployment node; then, according to the service application condition, stopping the related service; reading the index txt file, copying the files in the upgrade package one by one, and covering the files of the production environment; generating a full csv attribute file of the remote node, and collecting the file to the supervision and release node for matching and checking; and the checking is passed, and the related service on the node is started remotely.
Three, semi-automatic remote deployment and application scenario description
The design of the invention comprises three typical scenes of development version upgrading, engineering version release, field version deployment and the like, and a general operation flow of each scene is given by an interface during version monitoring and semi-automatic remote deployment operation. The process design is as follows:
1) developing version upgrades
a. And maintaining a development version supervised file AppFile model, executing e8k _ vermgr newcfg, and generating a new AppFile.
b. And performing full identity calculation, executing e8k _ vermgr getallcsv, storing the calculation file SDI into the relational library Collect, and generating a 'standard version attribute file'.
c. And executing the e8k _ vermgr vertar to generate the compressed installation package from the original version to the new version.
2) Project version release
The project version release is divided into two types of increment version release and field matching release.
The incremental version release has two functions of software incremental release and service group incremental release. When software increment is released, a compressed File package generated during the 'development version upgrade', a new version of appfile. The service group increment issuing is an engineering of packet extraction issuing according to a 'service label', is used for correcting the Bug of the characteristic service, and is realized by the following processes:
a. according to the service label, finding the configuration of 'appfile _' & label '. cnf', calculating the file identity SDI by taking the file names one by one, then matching the file identity SDI with the version record, and writing the difference record to the csv file (version number _ user description _ node name-service label _ date. csv.
b. And taking the generated difference record, executing e8k _ vermgr targz, and packaging to generate a compressed file package.
c. And issuing the generated compressed file package, the 'appfile _' & label '. cnf' file, an additional project deployment worksheet and the like to field operation and maintenance personnel.
And (3) field matching release, wherein the process is as follows:
a. on-site operation and maintenance personnel collect the attribute csv file of the supervised file of the problem node at the supervision and release node, and match the attribute csv file with the latest csv file generated by the supervision and release node; and submitting the csv file to a version manager when no difference exists.
b. The version management personnel compares the file with a 'standard version attribute file' to generate a difference record csv file, and executes e8k _ vermgr targz operation by using the file to generate a compressed file package.
c. And the version release personnel release the generated compression package, the 'standard version attribute file' and the field work order to the field operation and maintenance personnel.
d. Operation and maintenance personnel deploy at the supervision and release node, generate a new csv file to be matched with the standard version attribute file, have no difference item, and indicate that the deployment is correct; subsequent "field version deployment" work can be developed.
3) Live version deployment
The operation and maintenance personnel designate one maintenance workstation in each type of operating system cluster as a supervision and release node, receive the upgrade package of the full or incremental version released by the version management personnel, and carry out the initialization work of the on-site version monitoring and deployment tool of the user:
a. initializing a site Node model; and importing the latest 'File model of the supervised File' released by the version management personnel, and deploying the latest appfile.
b. The version monitoring agent module is started on all supervisory nodes.
c. And the issuing node starts a monitoring acquisition matching service, polls and acquires SDI information of the monitored files on all the monitoring nodes, and establishes an initial matching model.
The user needs to ensure the following points during on-site daily operation and maintenance:
a. the method comprises the following steps that three same nodes, namely domain, label and os, in a Node model Node are consistent in deployed configuration, a dynamic library, an executable file, a script and other application programs;
b. the application programs of the basic platform class are deployed in accordance with the nodes of the os.
c. Monitoring, collecting and matching service, polling and collecting identity information of a full file once every day, and polling increment variable information once every minute; and directly maintaining the Collect according to the collection result. When automatic matching is carried out, a Node set with the consistent user, domain, label and os attributes in the Node model Node is selected, one Node is defined as a standard version Node (generally a release Node), the acquired information of other nodes is compared with the acquired information of the version Node, and the difference is stored in CollectDiff.
The deployment test process of the full or incremental version upgrade package comprises the following steps:
a. analyzing the effectiveness of the cluster: analyzing difference records of the CollectDiff, logging in a corresponding node to view the information of the 'diff' file, correcting the difference and ensuring that the user program is reliable before version deployment.
b. And a, covering a corresponding file of a release node by using appfile. cnf provided by version management personnel, deploying an upgrade package to the node according to a work order to generate a version attribute file of the node, comparing the version attribute file with the released standard version attribute file, if no difference exists, indicating that the deployment is successful, and starting the test work of the single node.
c. And b, matching the identity information of the new version and the old version to generate a difference csv recording file after the test passes, and performing packet extraction according to the file to generate a new application compression packet.
d. And distributing the application compression packet to service nodes of the same type of operating systems in the domain.
e. And decompressing and deploying node by node.
The service Bug correction packet deploys part of the nodes according to the service label, and the process is as follows:
a. and determining the nodes needing to be corrected according to the service labels label.
b. And deploying the correction package to the publishing node, and testing normally.
c. And downloading the identity information of one node in the a to generate scv files, comparing the files with the csv after the b operation to generate a difference record, and extracting a new correction packet according to the difference record.
d. And deploying the new correction package to all the nodes taken by the step a.
And when the deployment operation is carried out, the operation method and the expected conclusion provided by the interface are pressed, the button is clicked to carry out step-by-step operation, and whether the conclusion is correct or not is verified.
Claims (7)
1. A monitoring and deploying method for a software version of a power grid intelligent scheduling system is characterized by comprising the following steps: deploying a version supervision tool on a supervision releasing node, and deploying a version monitoring agent module on a managed service node;
the version supervision tool marks the file identity by using the MD5 code of the file and is used for realizing the functions of monitoring modeling, identity calculation, identity difference matching, packaging and releasing and remote deployment;
the version monitoring agent module is used for realizing full collection and incremental collection of the identity of the monitored file;
the version monitoring agent module comprises a configuration change component, a file change monitoring component, a file maintenance record component, an increment identity calculation component, a local key value cache library, a difference matching component, a full identity calculation component, a remote retrieval interface component and a remote operation interface component;
the configuration change component downloads the configuration file of the latest supervised file from the version supervision releasing node at regular time;
the file change monitoring component monitors the change of the file specified by the configuration and generates a real-time change log;
the file maintenance recording component analyzes the real-time change log in the previous step at regular time and writes the change information into the maintenance recording log;
the increment identity calculation component reads the new record of the maintenance record log at regular time, calculates the file identity of the maintained file, and writes the file into a local key value cache library and a difference record file;
the storage structure of the local key value cache library is < file, SDI >, the file is a file name, and the SDI is a file identity;
the difference matching component is used for realizing difference matching of the two version attribute files;
the full identity calculation component loads a supervised file set from a configuration file, calculates the file identity of a local supervised file, and writes the file identity into a local version attribute file and a local key value cache library; then downloading a standard version attribute file from the version supervision release node, and matching the local version attribute file with the standard version attribute file to generate a difference record file;
the remote retrieval interface acquires records in a local key value cache library or a difference record file according to conditions and transmits the records to a retrieval collector;
the remote operation interface is used for receiving and transmitting files, starting and stopping the service of the version monitoring agent module and deploying an installation package.
2. The power grid intelligent scheduling system software version monitoring deployment method of claim 1, characterized in that: the version supervision tool comprises a monitoring model management module for monitoring modeling, wherein the monitoring modeling comprises cluster node modeling, supervised application file modeling and file identity modeling, and the monitoring model management module also sets a node key value cache model and a relational library identity storage model.
3. The power grid intelligent scheduling system software version monitoring deployment method of claim 2, characterized in that:
the cluster node model includes the following information of the nodes: user description, domain, service label, node name, IP address, terminal user password, operating system and upgrading mark;
the model of the supervised application file includes the following information for the file: full path name, service label and file mark; the definition of the file flag is as follows: 0 represents unsupervised, 1 represents a file under supervision and local backup, 2 represents a configuration file and remote backup; the version supervision tool generates a configuration file and a service label grouping configuration file of the supervised file according to the file mark, and then releases the generated configuration file to the required supervised node;
the model of the identity of the document includes the following information of the document: full pathname, MD5 code, version number, file size, and last modified time;
in a storage structure of the node key value cache model, a key is a full path name of a file, and a value is a file identity;
the relational database identity acquisition and storage model comprises the following acquisition information: user description, node name, file identity, and acquisition time.
4. The power grid intelligent scheduling system software version monitoring deployment method of claim 3, characterized in that: the identity calculation of the version supervision tool comprises full identity calculation, incremental identity calculation and service group identity calculation;
the process of the full identity calculation comprises the following steps: analyzing a configuration file of a monitored file to obtain a monitored file set, calculating file identities one by one and writing the file identities into a version attribute file;
the process of the incremental identity calculation is as follows: monitoring the maintenance information of the monitored file, analyzing a file name set, calculating file identities one by one and writing a difference record file;
the process of the business group identity calculation is as follows: analyzing the service label grouping configuration file to obtain a file name set, calculating file identities one by one and writing the file identities into a service label grouping attribute file;
and when the version supervision tool executes the identity calculation, the calculation result is stored in the relational database.
5. The power grid intelligent scheduling system software version monitoring deployment method of claim 4, characterized by: identity difference matching of the version supervision tool refers to matching of two version attribute files or matching of stored data in a relational database;
and matching the version attribute files: firstly, analyzing a standard version attribute file issued by a version supervision issuing node, storing a key value structure < file, SDI.md5> into a container, wherein the file is a file name, and the SDI.md5 is an MD5 code in a file identity; then, analyzing the version attribute files of the user, taking out records one by one, retrieving the MD5 codes of the files of the standard version according to the file name retrieval container, and comparing whether the MD5 codes are the same or not; writing different records into a difference record file corresponding to the version attribute file name of the user;
matching of relational database storage data: and under the constraint condition of node deployment, retrieving and matching the difference of different versions on the same node and the difference of different nodes of the same version, and writing the difference information into a difference record file.
6. The power grid intelligent scheduling system software version monitoring deployment method of claim 4, characterized in that the packaging process of the version supervision tool is as follows: establishing a packaging subdirectory, analyzing the version attribute file to obtain a file name set, writing the file names into an index file under the packaging subdirectory one by one, copying all files to the directory, and finally packaging into a compressed file by using a compression tool;
and during release, acquiring a target node name and a terminal user password from the cluster node model, and releasing the compressed file to the target node by using a file receiving and transmitting tool.
7. The power grid intelligent scheduling system software version monitoring deployment method of any one of claims 1 to 6, characterized by: semi-automatic remote deployment of the version supervision tool comprises upgrading according to a research and development version, releasing an engineering version and deploying on-site versions;
the remote deployment process comprises the following steps: firstly decompressing the installation package on the deployment node, and stopping related services according to the service application condition; reading the index files in the installation package, and copying the files in the upgrade package one by one to cover the files of the production environment; generating a full version attribute file of the remote deployment node, and collecting the file to the supervision and release node for matching and checking; and if the check is passed, remotely starting the related service on the deployment node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811112204.9A CN109298871B (en) | 2018-09-25 | 2018-09-25 | Software version monitoring and deploying method for intelligent scheduling system of power grid |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811112204.9A CN109298871B (en) | 2018-09-25 | 2018-09-25 | Software version monitoring and deploying method for intelligent scheduling system of power grid |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109298871A CN109298871A (en) | 2019-02-01 |
CN109298871B true CN109298871B (en) | 2021-09-28 |
Family
ID=65163899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811112204.9A Active CN109298871B (en) | 2018-09-25 | 2018-09-25 | Software version monitoring and deploying method for intelligent scheduling system of power grid |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298871B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515650B (en) * | 2019-05-17 | 2023-07-21 | 国网辽宁省电力有限公司 | Semantic version management method for handheld device detection file based on statistical analysis |
CN111143315A (en) * | 2019-12-27 | 2020-05-12 | 贵州电网有限责任公司 | Version management method of transformer substation secondary circuit information model based on Git |
CN111625252B (en) * | 2020-04-23 | 2024-05-28 | 平安科技(深圳)有限公司 | Cluster upgrading maintenance method and device, electronic equipment and storage medium |
CN112965738B (en) * | 2021-02-02 | 2022-07-08 | 烽火通信科技股份有限公司 | Information model version difference comparison method and device |
CN114500106A (en) * | 2022-04-02 | 2022-05-13 | 北京指掌易科技有限公司 | Security management method, device, equipment and storage medium for server |
CN115878718A (en) * | 2022-12-14 | 2023-03-31 | 国网湖北省电力有限公司宜昌供电公司 | Visualization method based on collected data processing |
CN115793563A (en) * | 2023-02-01 | 2023-03-14 | 北京六方云信息技术有限公司 | Device control method, device, terminal device and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677850A (en) * | 2013-12-26 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | Large-scale cluster node version detection method based on services |
CN106570066A (en) * | 2016-10-11 | 2017-04-19 | 北京网诺星云科技有限公司 | File monitoring method and system |
CN107844320A (en) * | 2017-09-27 | 2018-03-27 | 国网福建省电力有限公司 | State's net software version information management system and implementation method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5440009B2 (en) * | 2009-07-31 | 2014-03-12 | 富士通株式会社 | Program update method for multi-cluster system and multi-cluster system |
-
2018
- 2018-09-25 CN CN201811112204.9A patent/CN109298871B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677850A (en) * | 2013-12-26 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | Large-scale cluster node version detection method based on services |
CN106570066A (en) * | 2016-10-11 | 2017-04-19 | 北京网诺星云科技有限公司 | File monitoring method and system |
CN107844320A (en) * | 2017-09-27 | 2018-03-27 | 国网福建省电力有限公司 | State's net software version information management system and implementation method |
Non-Patent Citations (2)
Title |
---|
Research on software comparison of electric energy data acquire terminal based on MD5 algorithm;W. ZheLong, D. Yan, W. Qing, L. XiJian and G. Liang;《2017 Chinese Automation Congress》;20180101;845-849 * |
一种自动化远程统一部署软件平台;赵建平等;《兵工自动化》;20170215;66-69、79 * |
Also Published As
Publication number | Publication date |
---|---|
CN109298871A (en) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109298871B (en) | Software version monitoring and deploying method for intelligent scheduling system of power grid | |
US10430204B2 (en) | System and method for cloud provisioning and application deployment | |
US10922067B1 (en) | System and method for installing, updating and uninstalling applications | |
US7089552B2 (en) | System and method for verifying installed software | |
CN101789888B (en) | Software installation detection method and device | |
US7421490B2 (en) | Uniquely identifying a crashed application and its environment | |
CN105653329A (en) | Application management method, apparatus and system | |
CN103530150A (en) | Remote updating method for Linux operating system | |
US9548891B2 (en) | Configuration of network devices | |
CN112083948B (en) | Automatic construction and deployment method and tool based on data configuration | |
CN106681956A (en) | Method and device for operating large-scale computer cluster | |
CN102841824B (en) | Rollback method and rollback device | |
CN112860645A (en) | Processing method and device for offline compressed file, computer equipment and medium | |
CN114024951B (en) | Cloud edge collaboration-based power edge heterogeneous deployment method | |
US8560895B2 (en) | Distillation and reconstruction of provisioning components | |
CN109308184B (en) | Middleware installation and update method, device and computer readable storage medium | |
CN102393860A (en) | Database data migration system | |
EP2438709B1 (en) | Network element integration | |
CN109324821A (en) | A kind of self-service terminal system method for edition management | |
CN111048164A (en) | Medical big data long-term storage system | |
CN112286543B (en) | Application service deployment method and device | |
CN114816470A (en) | Metadata database management method and device, electronic equipment and medium | |
CN114816452A (en) | Hospital software automatic deployment method based on data elements | |
CN111897794A (en) | Database maintenance method and device, electronic equipment and storage medium | |
CN110795113A (en) | Redis cluster service installation method, server and medium |
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 |