CN112083927B - 现场获取电力采集终端内软件svn版本信息的方法 - Google Patents
现场获取电力采集终端内软件svn版本信息的方法 Download PDFInfo
- Publication number
- CN112083927B CN112083927B CN202010639964.6A CN202010639964A CN112083927B CN 112083927 B CN112083927 B CN 112083927B CN 202010639964 A CN202010639964 A CN 202010639964A CN 112083927 B CN112083927 B CN 112083927B
- Authority
- CN
- China
- Prior art keywords
- software
- version
- svn
- acquisition terminal
- information
- 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/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种现场获取电力采集终端内软件SVN版本信息的方法,通过编写管理源代码编译操作的Makefile文件及判断电力采集终端是否需要输出升级,分别利用不同的方式编译从软件版本控制系统SVN下载的源代码,将源代码根目录的数据库文件wc.db内提取的预设信息集写入对应的预设文件夹集合,电力采集终端需要升级软件时自动执行升级文件,将所有升级文件拷贝到电力采集终端的应用程序分区,电力采集终端在成功升级软件后,将info文件覆盖到目录结构中,通过电力采集终端的源代码所增加的shell命令读取info文件中信息,执行shell命令现场查看获取该电力采集终端内当前软件的SVN版本信息,从而方便快速知道当前编译软件的版本信息。
Description
技术领域
本发明涉及电力领域,尤其涉及一种现场获取电力采集终端内软件SVN版本信息的方法。
背景技术
我国智能电表行业发展较为成熟,据统计,国网已累计需用智能电表2.047亿只,每年平均需求4094万只,目前的运行的电力采集终端达到了100万台以上。未来智能电表市场增速将维持在15%左右。电力采集终端多安装在小区内,安装位置较为集中。当电力采集终端出现大面积故障时,会对居民的生活产生较大影响。因此,提高电力采集终端的运维效率,及时解决电力采集终端出现的问题,降低维护成本,具有重要意义。
当电力采集终端出现故障时,技术服务人员会前往现场排查电力采集终端的问题。通常情况下,技术服务人员只知道待排查电力采集终端的软、硬件版本号和日期信息,但是却无法让技术服务人员追溯到当前版本软件的源代码,或者是难以找到源代码与电力采集终端现场软件在程序上存在的偏差,致使难以提高针对电力采集终端故障问题的排查效率,更无法现在完成对电力采集终端内软件的调试工作。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种现场获取电力采集终端内软件SVN版本信息的方法。
本发明解决上述技术问题所采用的技术方案为:现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,包括如下步骤:
步骤1,在针对电力采集终端的软件版本控制系统SVN下载源代码,且在源代码根目录中创建.svn隐藏目录;其中,所述.svn隐藏目录里包含有SQLite3格式的数据库文件wc.db,该数据库文件wc.db至少包含有电力采集终端内所有软件的版本信息和版本修改日期信息;
步骤2,根据现场的电力采集终端需求,修改在软件版本控制系统SVN下载的源代码;
步骤3,编写管理源代码编译操作的Makefile文件;
步骤4,对电力采集终端是否需要输出升级做出判断处理:
当需要输出升级时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译;
步骤5,将经步骤2修改完毕的源代码做编译处理,且将编译成功的代码提交给软件版本控制系统SVN;其中,针对每次编译成功的代码,记录该代码所对应软件的版本编译日期、编译该代码的主机名称以及编译该代码的人员信息;
步骤6,获取数据库文件wc.db内的预设信息集;其中,所述预设信息集包括SVN仓库路径、SVN目录地址和源代码提交信息,所述源代码提交信息包括源代码最近一次的提交时间、提交人员信息和提交版本信息;
步骤7,对数据库文件wc.db是否存在做出判断处理:
当存在数据库文件wc.db时,转入步骤8;否则,转入步骤4;
步骤8,将获取的所述预设信息集写入对应的预设文件夹集合;其中,所述预设文件夹集合包括在rootfs根文件系统的根目录生成的ver.txt文件、在升级包中生成的info文件以及在出厂程序区中生成的info文件;
步骤9,电力采集终端在需要软件升级时自动执行升级文件,并将所有的升级文件拷贝到该电力采集终端的应用程序分区;
步骤10,电力采集终端在成功升级软件后,将info文件覆盖到该电力采集终端的目录结构中;
步骤11,在电力采集终端的源代码中增加shell命令,读取info文件中的信息,通过执行shell命令现场查看获取该电力采集终端内当前软件的SVN版本信息。
可选择地,在所述现场获取电力采集终端内软件SVN版本信息的方法中,所述电力采集终端为集中器或者专变器。
改进地,在所述现场获取电力采集终端内软件SVN版本信息的方法中,在步骤9中,所述电力采集终端通过读取外部U盘中的文件得到升级用的文件。
进一步地,在所述现场获取电力采集终端内软件SVN版本信息的方法中,步骤1中所述软件的版本信息包括市场地区、网口类型、低功耗性、内核版本、计量版本和电力采集终端的终端地址。
再进一步地,步骤1中的所述版本修改日期信息包括编译时间、厂商代码、软件版本日期、硬件版本日期和设备编号。
改进地,所述现场获取电力采集终端内软件SVN版本信息的方法还包括对电力采集终端是否需要刷机做出判断处理的过程。
进一步地,在所述现场获取电力采集终端内软件SVN版本信息的方法中,当需要电力采集终端刷机时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译。
再改进地,在所述现场获取电力采集终端内软件SVN版本信息的方法中,步骤1之前包括建立现场外设设备与电力采集终端之间的通信连接,以实现现场外设设备于电力采集终端之间的数据交互。
与现有技术相比,本发明的优点在于:该发明通过编写管理源代码编译操作的Makefile文件以及判断电力采集终端是否需要输出升级,以分别利用不同的方式编译从软件版本控制系统SVN下载的源代码,将源代码根目录的数据库文件wc.db内提取的预设信息集写入对应的预设文件夹集合,在电力采集终端需要升级软件时自动执行升级文件,并将所有的升级文件拷贝到该电力采集终端的应用程序分区,电力采集终端在成功升级软件后,将info文件覆盖到该电力采集终端的目录结构中,然后通过在电力采集终端的源代码所增加的shell命令,读取info文件中的信息,通过执行shell命令现场查看获取该电力采集终端内当前软件的SVN版本信息,从而方便快速知道当前编译软件版本的编译日期、编译主机名称、编译人员、SVN地址、SVN版本和最后提交人等信息。当然,电力采集终端的技术服务人员也可以通过利用电力采集终端执行shell命令,以追溯到软件的源代码,对该电力采集终端进行调试。
附图说明
图1为本发明实施例中现场获取集中器内软件SVN版本信息的方法流程示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本实施例提供一种现场获取电力采集终端内软件SVN版本信息的方法,电力采集终端是集中器,该集中器内的电池采用正常的充电电池。如图1所示,该实施例中现场获取集中器内软件SVN版本信息的方法包括如下步骤:
步骤1,在针对电力采集终端的软件版本控制系统SVN下载源代码,且在源代码根目录中创建.svn隐藏目录;其中,所述.svn隐藏目录里包含有SQLite3格式的数据库文件wc.db,该数据库文件wc.db至少包含有电力采集终端内所有软件的版本信息和版本修改日期信息;其中,此处的版本信息包括市场地区、网口类型、低功耗性、内核版本、计量版本和电力采集终端的终端地址;版本修改日期信息包括编译时间、厂商代码、软件版本日期、硬件版本日期和设备编号;在该实施例中,需要提前建立现场外设设备与该集中器之间的通信连接,以实现两者之间的数据交互,方便现场外设设备可以读取、修改集中器中的数据以及将该现场外设设备处理的数据发送到集中器内;
步骤2,根据现场的电力采集终端需求,修改在软件版本控制系统SVN下载的源代码;
步骤3,编写管理源代码编译操作的Makefile文件;
步骤4,对电力采集终端是否需要输出升级做出判断处理:
当需要输出升级时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译;
步骤5,将经步骤2修改完毕的源代码做编译处理,且将编译成功的代码提交给软件版本控制系统SVN;其中,针对每次编译成功的代码,记录该代码所对应软件的版本编译日期、编译该代码的主机名称以及编译该代码的人员信息;
步骤6,获取数据库文件wc.db内的预设信息集;其中,此处的预设信息集包括SVN仓库路径、SVN目录地址和源代码提交信息,此处的源代码提交信息包括源代码最近一次的提交时间、提交人员信息和提交版本信息;
步骤7,对数据库文件wc.db是否存在做出判断处理:
当存在数据库文件wc.db时,转入步骤8;否则,转入步骤4;
步骤8,将获取的预设信息集写入对应的预设文件夹集合;其中,预设文件夹集合包括在rootfs根文件系统的根目录生成的ver.txt文件、在升级包中生成的info文件以及在出厂程序区中生成的info文件;
步骤9,电力采集终端在需要软件升级时自动执行升级文件,并将所有的升级文件拷贝到该电力采集终端的应用程序分区;其中,在该实施例中,电力采集终端通过读取外部U盘中的文件得到升级用的文件;
步骤10,电力采集终端在成功升级软件后,将info文件覆盖到该电力采集终端的目录结构中;
步骤11,在电力采集终端的源代码中增加shell命令,读取info文件中的信息,通过执行shell命令现场查看获取该电力采集终端内当前软件的SVN版本信息。
另外,该实施例中的现场获取电力采集终端内软件SVN版本信息的方法还包括对集中器是否需要刷机做出判断处理的过程。具体地,当需要集中器刷机时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译。
当然,该实施例中的现场获取电力采集终端内软件SVN版本信息的方法也可以适用到专变器中,以实现现场获取专变器内软件的SVN版本信息。
尽管以上详细地描述了本发明的优选实施例,但是应该清楚地理解,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,包括如下步骤:
步骤1,在针对电力采集终端的软件版本控制系统SVN下载源代码,且在源代码根目录中创建.svn隐藏目录;其中,所述.svn隐藏目录里包含有SQLite3格式的数据库文件wc.db,该数据库文件wc.db至少包含有电力采集终端内所有软件的版本信息和版本修改日期信息;
步骤2,根据现场的电力采集终端需求,修改在软件版本控制系统SVN下载的源代码;
步骤3,编写管理源代码编译操作的Makefile文件;
步骤4,对电力采集终端是否需要输出升级做出判断处理:
当需要输出升级时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译;
步骤5,将经步骤2修改完毕的源代码做编译处理,且将编译成功的代码提交给软件版本控制系统SVN;其中,针对每次编译成功的代码,记录该代码所对应软件的版本编译日期、编译该代码的主机名称以及编译该代码的人员信息;
步骤6,获取数据库文件wc.db内的预设信息集;其中,所述预设信息集包括SVN仓库路径、SVN目录地址和源代码提交信息,所述源代码提交信息包括源代码最近一次的提交时间、提交人员信息和提交版本信息;
步骤7,对数据库文件wc.db是否存在做出判断处理:
当存在数据库文件wc.db时,转入步骤8;否则,转入步骤4;
步骤8,将获取的所述预设信息集写入对应的预设文件夹集合;其中,所述预设文件夹集合包括在rootfs根文件系统的根目录生成的ver.txt文件、在升级包中生成的info文件以及在出厂程序区中生成的info文件;
步骤9,电力采集终端在需要软件升级时自动执行升级文件,并将所有的升级文件拷贝到该电力采集终端的应用程序分区;
步骤10,电力采集终端在成功升级软件后,将info文件覆盖到该电力采集终端的目录结构中;
步骤11,在电力采集终端的源代码中增加shell命令,读取info文件中的信息,通过执行shell命令现场查看获取该电力采集终端内当前软件的SVN版本信息。
2.根据权利要求1所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,所述电力采集终端为集中器或者专变器。
3.根据权利要求2所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,所述电力采集终端内的电池采用正常的充电电池。
4.根据权利要求1所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,在步骤9中,所述电力采集终端通过读取外部U盘中的文件得到升级用的文件。
5.根据权利要求1所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,在步骤9中,所述电力采集终端通过从远端的主站处得到升级用的文件。
6.根据权利要求1所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,步骤1中所述软件的版本信息包括市场地区、网口类型、低功耗性、内核版本、计量版本和电力采集终端的终端地址。
7.根据权利要求6所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,步骤1中的所述版本修改日期信息包括编译时间、厂商代码、软件版本日期、硬件版本日期和设备编号。
8.根据权利要求1~7任一项所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,还包括对电力采集终端是否需要刷机做出判断处理的过程。
9.根据权利要求8所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,当需要电力采集终端刷机时,利用Makefile和python管理源代码编译,且执行集成编译;否则,利用编写的所述Makefile文件管理源代码编译。
10.根据权利要求1~7任一项所述的现场获取电力采集终端内软件SVN版本信息的方法,其特征在于,步骤1之前包括建立现场外设设备与电力采集终端之间的通信连接,以实现现场外设设备于电力采集终端之间的数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639964.6A CN112083927B (zh) | 2020-07-06 | 2020-07-06 | 现场获取电力采集终端内软件svn版本信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639964.6A CN112083927B (zh) | 2020-07-06 | 2020-07-06 | 现场获取电力采集终端内软件svn版本信息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112083927A CN112083927A (zh) | 2020-12-15 |
CN112083927B true CN112083927B (zh) | 2023-06-30 |
Family
ID=73735058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010639964.6A Active CN112083927B (zh) | 2020-07-06 | 2020-07-06 | 现场获取电力采集终端内软件svn版本信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112083927B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448617B (zh) * | 2021-08-31 | 2022-01-25 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据对象管理方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294514A (zh) * | 2013-06-26 | 2013-09-11 | 深圳Tcl新技术有限公司 | 系统软件版本集成方法、编译服务器及系统 |
CN104077217A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 代码文件的编译发布方法及系统 |
WO2017000601A1 (zh) * | 2015-06-29 | 2017-01-05 | 中兴通讯股份有限公司 | 软件编译方法及装置 |
WO2017036335A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN107193619A (zh) * | 2017-07-28 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种编译版本自动更新的方法与装置 |
CN109922062A (zh) * | 2019-03-04 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 源代码泄露监控方法及相关设备 |
CN110780916A (zh) * | 2019-09-09 | 2020-02-11 | 国电南瑞科技股份有限公司 | 一种电网调度控制系统的软件运维方法、装置和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214810B2 (en) * | 2006-08-29 | 2012-07-03 | International Business Machines Corporation | Method of compiling source code, compiler, computer system, and computer program product |
US10678513B2 (en) * | 2017-09-12 | 2020-06-09 | Devfactory Fz-Llc | Library upgrade method, apparatus, and system |
-
2020
- 2020-07-06 CN CN202010639964.6A patent/CN112083927B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077217A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 代码文件的编译发布方法及系统 |
CN103294514A (zh) * | 2013-06-26 | 2013-09-11 | 深圳Tcl新技术有限公司 | 系统软件版本集成方法、编译服务器及系统 |
WO2017000601A1 (zh) * | 2015-06-29 | 2017-01-05 | 中兴通讯股份有限公司 | 软件编译方法及装置 |
WO2017036335A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN107193619A (zh) * | 2017-07-28 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种编译版本自动更新的方法与装置 |
CN109922062A (zh) * | 2019-03-04 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 源代码泄露监控方法及相关设备 |
CN110780916A (zh) * | 2019-09-09 | 2020-02-11 | 国电南瑞科技股份有限公司 | 一种电网调度控制系统的软件运维方法、装置和系统 |
Non-Patent Citations (3)
Title |
---|
" 基于SVN的自动回归测试工具的设计与实现";石锐;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;第2017年卷;I138-2705 * |
"Using Org-mode and Subversion for Managing and Publishing Content in Computer Science Courses";Sankalp Khare 等;《2012 IEEE Fourth International Conference on Technology for Education》;220-223 * |
"电力设备检测数据管理系统的设计与实现";刘连钢;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-267 * |
Also Published As
Publication number | Publication date |
---|---|
CN112083927A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102403034B (zh) | Dsp控制单板设备及其远程升级方法和服务器 | |
US9372784B2 (en) | Test system configuration method and system | |
CN102929600A (zh) | 基于elf的监控系统版本识别方法 | |
CN104239082A (zh) | 嵌入式系统的热补丁实现方法 | |
CN103955363A (zh) | 一种程序升级安装包的制作方法 | |
CN106775730A (zh) | 程序发布方法及系统 | |
CN109298871B (zh) | 一种电网智能调度系统软件版本监测部署方法 | |
CN103559126B (zh) | 一种测验软件版本的方法、装置及电脑终端 | |
CN101557583A (zh) | 直放站设备嵌入式软件的远程升级与版本切换方法 | |
CN105491038A (zh) | 一种智能设备协议解析方法 | |
CN103019722B (zh) | 一种抽取Java网络应用升级包的方法及装置 | |
CN111857777B (zh) | 基于双芯智能电表的系统更新方法、装置和计算机设备 | |
CN108037941B (zh) | 基于公共插件的应用程序更新方法、电子设备、存储介质 | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN112083927B (zh) | 现场获取电力采集终端内软件svn版本信息的方法 | |
CN104598279A (zh) | 基于飞行控制器的固件升级方法和装置 | |
CN103092642A (zh) | 用于更新电能计量装置的固件的设备、系统和方法 | |
CN101650653A (zh) | 每日构建方法和装置 | |
CN103136002A (zh) | 一种基于UBoot的自动升级的控制方法及系统 | |
CN102262549A (zh) | 补丁安装方法与系统 | |
CN106603289B (zh) | 一种lmt配置文件平滑升级方法 | |
CN102609285A (zh) | 一种驱动智能匹配加载的方法 | |
CN104598382A (zh) | 一种测试控制方法和装置 | |
CN104133743A (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
CN101267645B (zh) | 用于w基站业务流程软件开发的自动化测试方法和系统 |
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 |