CN109471776B - 一种基于以太网的VxWorks操作系统日志收集方法 - Google Patents
一种基于以太网的VxWorks操作系统日志收集方法 Download PDFInfo
- Publication number
- CN109471776B CN109471776B CN201811343815.4A CN201811343815A CN109471776B CN 109471776 B CN109471776 B CN 109471776B CN 201811343815 A CN201811343815 A CN 201811343815A CN 109471776 B CN109471776 B CN 109471776B
- Authority
- CN
- China
- Prior art keywords
- operating system
- upper computer
- target machine
- function
- vxworks operating
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于以太网的VxWorks操作系统日志收集方法,属于嵌入式软件开发领域,以实现不修改目标机软件就能将日志信息重定向到上位机的功能,并完成日志信息的分次存储。该方法包括:上位机通过target server与目标机建立连接;将目标机的日志信息通过以太网重定向到上位机;上位机以行为粒度添加时间信息存储到上位机的本地存储中。以VxWorks操作系统的一次启动为一个日志文件将日志信息存储到上位机的本地存储中。这样的方法提高了在VxWorks操作系统下开发嵌入式程序的效率,节省了软件的调试时间与人力。
Description
技术领域
本发明属于嵌入式软件开发领域,涉及VxWorks操作系统软件开发方法。
背景技术
在基于VxWorks操作系统的嵌入式软件开发中,反复开关目标机来进行软件的调试是常用的开发方法。其中,软件运行过程所产生的字符串日志是调试的重要参考数据。把目标机启动到关闭作为一次运行,将每次运行所产生的日志按照时间顺序,分次的存储下来,可以极大的方便软件的调试,提高软件开发的效率。
由于嵌入式软件开发的硬件局限性,目标机不一定能够独立完成日志信息的分次存储。
因为目标机在实际工况运行中是独立于上位机的,如果在目标机软件中直接将日志信息通过以太网发送给上位机,必然会造成目标机软件的修改,不利于软件的调试状态与实际运行状态的一致。
发明内容
本发明解决的技术问题是提供一种基于以太网的VxWorks操作系统日志收集方法,以实现不修改目标机软件就能将日志信息重定向到上位机的功能,并完成日志信息的分次存储。
本发明的技术方案是:基于以太网的VxWorks操作系统日志收集方法,其特征在于,该方法包括下述内容:
步骤1:利用上位机开发环境workbench软件的target server功能侦测目标机VxWorks操作系统的启动;
步骤2:查询target server的状态,是连接完成状态时,将目标机上的日志信息重定向到上位机上;
步骤3:上位机动态地检测日志信息,基于上位机的时间为每一行日志信息添加时间信息;
步骤4:将添加过时间信息的日志信息,写入上位机的本地存储中;
步骤5:查询target server的状态,是连接断开状态时,判定目标机关闭,关闭当前的日志信息的存储文件,完成一次目标机的日志收集。
基于以太网的VxWorks操作系统日志收集方法,其特征在于,该方法包括下述内容:
步骤1:在上位机上建立target server运行环境
VxWorks操作系统开发环境Workbench包含了target server功能,用于与目标机进行网络连接;将目标机的IP地址、CPU类型信息配置到target server中,上位机实现自动与目标机的VxWorks操作系统建立网络数据连接;
步骤2:监测目标机VxWorks操作系统的启动来开始日志的收集
target server的运行环境的wtxEventpointListGet函数的返回值来作为监测目标机VxWorks操作系统启动的判据;若目标机的VxWorks操作系统启动,则在wtxEventpointListGet函数调用后返回一个非空的数据,若目标机的VxWorks操作系统没有正常启动,则该函数返回空的数据;
步骤3:将目标机的日志信息重定向到上位机中
上位机运行target server的运行环境的wtxConsole.exe的可执行程序建立与目标机的连接,将目标机上的日志信息输出到上位机的wtxConsole.exe的可执行程序运行时产生的命令行控制台中;
步骤4:向日志信息中添加时间信息并存储到上位机的本地存储中
通过配置Process类的ProcessStartInfo类成员信息,将RedirectStandardOutput布尔值类型参数设置为真,即启动命令行控制台的输出重定向功能;然后通过自定义Process类OutputDataReceived函数的实现,完成添加时间信息与存储到上位机本地存储;
OutputDataReceived函数是在命令行控制台每输出一行字符串的时候调用的,该函数的第二个参数包含每一行的字符串数据;通过将该字符串数据前面添加上位机当前时间信息的字符串,然后将拼接后的字符串输出到上位机的本地存储的文件中,完成日志信息的存储;
步骤5:监测目标机VxWorks操作系统的关闭来结束日志的收集
连续调用wtxEventpointListGet函数,若连续调用该函数返回空值,则判定目标机VxWorks操作系统已关闭;然后结束步骤4中的文件写入,完成一次目标机VxWorks操作系统由启动到关闭的日志信息收集。
进一步地,步骤2中,以200毫秒为一个周期反复调用wtxEventpointListGet函数,通过判断函数的返回值连续4次不为空时,判定目标机的VxWorks操作系统正常启动。
进一步地,在步骤5中,以200毫秒为一个周期反复调用wtxEventpointListGet函数,若连续6次调用该函数返回空值,则判定目标机VxWorks操作系统已关闭。
本发明上位机通过target server与目标机建立连接;将目标机的日志信息通过以太网重定向到上位机;上位机以行为粒度添加时间信息存储到上位机的本地存储中。本发明提供的运行在上位机上的基于以太网的VxWorks操作系统日志收集软件,通过targetserver侦测目标机VxWorks操作系统的启动并与之连接,利用以太网将目标机上主程序的日志信息重定向到上位机;然后将日志信息的每一行添加时间信息,以VxWorks操作系统的一次启动为一个日志文件将日志信息存储到上位机的本地存储中。这样的方法提高了在VxWorks操作系统下开发嵌入式程序的效率,节省了软件的调试时间与人力。
本发明的技术效果是:
由于嵌入式软件开发的硬件局限性,目标机不一定能够独立完成日志信息的分次存储,而上位机在开发中是一定存在的,且以太网是目标机很常见的硬件资源,因此基于以太网在上位机上实现日志信息分次存储的可行性很强。
利用VxWorks操作系统内建的target server功能,本发明能够实现不修改目标机软件就能将日志信息重定向到上位机的功能,并完成日志信息的分次存储。
附图说明
图1为本发明的方法运行外部环境的结构示意图;
图2为本发明的基于以太网的VxWorks操作系统日志收集方法的流程示意图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的基于以太网的VxWorks操作系统日志收集方法,包括下述内容:
(1)利用上位机开发环境workbench软件的target server功能侦测目标机VxWorks操作系统的启动;
(2)查询target server的状态,是连接完成状态时,将目标机上的日志信息重定向到上位机上;
(3)上位机动态地检测日志信息,基于上位机的时间为每一行日志信息添加时间信息;
(4)将添加过时间信息的日志信息,写入上位机的本地存储中;
(5)查询target server的状态,是连接断开状态时,判定目标机关闭,关闭当前的日志信息的存储文件,完成一次目标机的日志收集。
本发明的方法可以运行在上位机上的软件进行实施,监测并控制目标机。本发明的方法的实施软件运行外部环境。
如图1所示。在本发明的方法实施的软件,运行Windows操作系统的上位机与运行VxWorks操作系统的目标机,通过以太网相互连接。上位机安装有VxWorks操作系统的专用开发环境Workbench。
本发明的方法行共分为5个步骤,分别为在上位机上建立target server运行环境,监测目标机VxWorks操作系统的启动来开始日志的收集,将目标机的日志信息重定向到上位机中,向日志信息中添加时间信息并存储到上位机的本地存储中,监测目标机VxWorks操作系统的关闭来结束日志的收集。步骤的流程图如图2所示
步骤1:在上位机上建立target server运行环境
VxWorks操作系统专用开发环境Workbench包含了叫做target server功能,作用是与目标机进行网络连接,并完成各类调试功能的实现。通过将目标机的IP地址、CPU类型等信息配置到target server中,上位机可以实现自动与目标机的VxWorks操作系统建立网络数据连接,为本发明实施例的软件提供了运行环境。
步骤2:监测目标机VxWorks操作系统的启动来开始日志的收集
启动了target server的运行环境提供了一组库函数,使得外部软件可以通过调用这些函数,实现与目标机系统的交互。在这些函数中,本发明实施例选择了wtxEventpointListGet函数的返回值来作为监测目标机VxWorks操作系统启动的判据。
wtxEventpointListGet函数的功能是向目标机上VxWorks操作系统请求获得事件点列表的数据。在试验中可以发现,只有已经正常启动的VxWorks操作系统才能在wtxEventpointListGet函数调用后返回一个非空的数据。若目标机的VxWorks操作系统没有正常启动,则该函数会返回空的数据。因此该函数的返回值可以作为监测目标机VxWorks操作系统启动的判据。
本发明实施例在步骤2中以200毫秒为一个周期反复调用wtxEventpointListGet函数,通过判断函数的返回值连续4次不为空时,判定目标机的VxWorks操作系统正常启动。
步骤3:将目标机的日志信息重定向到上位机中
启动了target server的运行环境包含一个叫做wtxConsole.exe的可执行程序,通过正确的参数调用,上位机可以运行该可执行程序建立与目标机的连接,将目标机上的日志信息输出到上位机该可执行程序运行时产生的命令行控制台中。
在本发明实施例中,上位机配置的IP地址为192.168.202.10,目标机配置的IP地址为192.168.202.20。因此本发明实施例以“-io-s-n-w-vio 1 VxWorks6x_192.168.202.20@y2-zjw”(不包含引号)为参数,在步骤2中判定目标机的VxWorks操作系统正常启动后,调用可执行程序wtxConsole.exe,实现将目标机的日志信息重定向到上位机可执行程序wtxConsole.exe运行时产生的命令行控制台中。
步骤4:向日志信息中添加时间信息并存储到上位机的本地存储中
本发明实例的可执行程序wtxConsole.exe的调用,是采用由C#程序编写的软件的实现的。在C#程序中,通过配置Process类的ProcessStartInfo类成员信息,将RedirectStandardOutput布尔值类型参数设置为真,即启动命令行控制台的输出重定向功能。然后通过自定义Process类OutputDataReceived函数的实现,完成添加时间信息与存储到上位机本地存储的功能。
OutputDataReceived函数是在命令行控制台每输出一行字符串的时候调用的,该函数的第二个参数包含每一行的字符串数据。通过将该字符串数据前面添加上位机当前时间信息的字符串,然后将拼接后的字符串输出到上位机的本地存储的文件中,完成日志信息的存储。
步骤5:监测目标机VxWorks操作系统的关闭来结束日志的收集
与步骤2中的方法一样,本发明实施例在步骤5中以200毫秒为一个周期反复调用wtxEventpointListGet函数,若连续6次调用该函数返回空值,则判定目标机VxWorks操作系统已关闭。然后结束步骤4中的文件写入,完成一次目标机VxWorks操作系统由启动到关闭的日志信息收集。
Claims (8)
1.基于以太网的VxWorks操作系统日志收集方法,其特征在于,该方法包括下述内容:
步骤1:利用上位机开发环境workbench软件的target server功能侦测目标机VxWorks操作系统的启动;
步骤2:查询target server的状态,是连接完成状态时,将目标机上的日志信息重定向到上位机上;
步骤3:上位机动态地检测日志信息,基于上位机的时间为每一行日志信息添加时间信息;
步骤4:将添加过时间信息的日志信息,写入上位机的本地存储中;
步骤5:查询target server的状态,是连接断开状态时,判定目标机关闭,关闭当前的日志信息的存储文件,完成一次目标机的日志收集;
步骤1中,具体侦测内容更为:target server的运行环境的wtxEventpointListGet函数的返回值来作为监测目标机VxWorks操作系统启动的判据;若目标机的VxWorks操作系统启动,则在wtxEventpointListGet函数调用后返回一个非空的数据,若目标机的VxWorks操作系统没有正常启动,则该函数返回空的数据。
2.根据权利要求1所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,步骤2中,目标机上的日志信息重定向到上位机上具体内容为:上位机运行target server的运行环境的wtxConsole.exe的可执行程序建立与目标机的连接,将目标机上的日志信息输出到上位机的wtxConsole.exe的可执行程序运行时产生的命令行控制台中。
3.根据权利要求1所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,步骤4中,进一步限定为:通过配置Process类的ProcessStartInfo类成员信息,将RedirectStandardOutput布尔值类型参数设置为真,即启动命令行控制台的输出重定向功能;然后通过自定义Process类OutputDataReceived函数的实现,完成添加时间信息与存储到上位机本地存储。
4.根据权利要求3所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,OutputDataReceived函数是在命令行控制台每输出一行字符串的时候调用的,该OutputDataReceived 函数的第二个参数包含每一行的字符串数据;通过将该字符串数据前面添加上位机当前时间信息的字符串,然后将拼接后的字符串输出到上位机的本地存储的文件中,完成日志信息的存储。
5.根据权利要求1所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,步骤5中,具体限定为:连续调用wtxEventpointListGet函数,若连续调用该函数返回空值,则判定目标机VxWorks操作系统已关闭;然后结束存储文件写入,完成一次目标机VxWorks操作系统由启动到关闭的日志信息收集。
6.基于以太网的VxWorks操作系统日志收集方法,其特征在于,该方法包括下述内容:
步骤1:在上位机上建立target server运行环境
VxWorks操作系统开发环境Workbench包含了target server功能,用于与目标机进行网络连接;将目标机的IP地址、CPU类型信息配置到target server中,上位机实现自动与目标机的VxWorks操作系统建立网络数据连接;
步骤2:监测目标机VxWorks操作系统的启动来开始日志的收集
target server的运行环境的wtxEventpointListGet函数的返回值来作为监测目标机VxWorks操作系统启动的判据;若目标机的VxWorks操作系统启动,则在wtxEventpointListGet函数调用后返回一个非空的数据,若目标机的VxWorks操作系统没有正常启动,则该函数返回空的数据;
步骤3:将目标机的日志信息重定向到上位机中
上位机运行target server的运行环境的wtxConsole.exe的可执行程序建立与目标机的连接,将目标机上的日志信息输出到上位机的wtxConsole.exe的可执行程序运行时产生的命令行控制台中;
步骤4:向日志信息中添加时间信息并存储到上位机的本地存储中
通过配置Process类的ProcessStartInfo类成员信息,将RedirectStandardOutput布尔值类型参数设置为真,即启动命令行控制台的输出重定向功能;然后通过自定义Process类OutputDataReceived函数的实现,完成添加时间信息与存储到上位机本地存储;
OutputDataReceived函数是在命令行控制台每输出一行字符串的时候调用的,该OutputDataReceived 函数的第二个参数包含每一行的字符串数据;通过将该字符串数据前面添加上位机当前时间信息的字符串,然后将拼接后的字符串输出到上位机的本地存储的文件中,完成日志信息的存储;
步骤5:监测目标机VxWorks操作系统的关闭来结束日志的收集
连续调用wtxEventpointListGet函数,若连续调用该函数返回空值,则判定目标机VxWorks操作系统已关闭;然后结束步骤4中的文件写入,完成一次目标机VxWorks操作系统由启动到关闭的日志信息收集。
7.根据权利要求6所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,步骤2中,以200毫秒为一个周期反复调用wtxEventpointListGet函数,通过判断函数的返回值连续4次不为空时,判定目标机的VxWorks操作系统正常启动。
8.根据权利要求6所述的基于以太网的VxWorks操作系统日志收集方法,其特征在于,在步骤5中,以200毫秒为一个周期反复调用wtxEventpointListGet函数,若连续6次调用该函数返回空值,则判定目标机VxWorks操作系统已关闭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811343815.4A CN109471776B (zh) | 2018-11-13 | 2018-11-13 | 一种基于以太网的VxWorks操作系统日志收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811343815.4A CN109471776B (zh) | 2018-11-13 | 2018-11-13 | 一种基于以太网的VxWorks操作系统日志收集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471776A CN109471776A (zh) | 2019-03-15 |
CN109471776B true CN109471776B (zh) | 2022-04-19 |
Family
ID=65672044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811343815.4A Active CN109471776B (zh) | 2018-11-13 | 2018-11-13 | 一种基于以太网的VxWorks操作系统日志收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471776B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110891001B (zh) * | 2019-11-14 | 2022-10-25 | 天津津航计算技术研究所 | 一种用于VxWorks操作系统的以太网抓包方法 |
CN111611213A (zh) * | 2020-05-29 | 2020-09-01 | 广州酷狗计算机科技有限公司 | 日志获取方法及装置、计算机存储介质 |
CN112231176B (zh) * | 2020-10-14 | 2023-03-03 | 天津津航计算技术研究所 | 一种简便的VxWorks操作系统系统日志记录方法 |
CN112231211B (zh) * | 2020-10-14 | 2024-01-26 | 天津津航计算技术研究所 | 一种在嵌入式VxWorks操作系统下解决Qt应用调试的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681288A (zh) * | 2007-05-21 | 2010-03-24 | 高通股份有限公司 | 为移动操作环境提供由事件控制的连续日志记录 |
WO2013039772A1 (en) * | 2011-09-16 | 2013-03-21 | Waters Technologies Corporation | Techniques for automated performance maintenance testing and reporting for analytical instruments |
CN103425750A (zh) * | 2013-07-23 | 2013-12-04 | 国云科技股份有限公司 | 一种跨平台跨应用的日志收集系统及其收集管理方法 |
CN103778049A (zh) * | 2012-10-19 | 2014-05-07 | 北京市三希电子科技开发公司 | 一种嵌入式设备开发日志系统 |
-
2018
- 2018-11-13 CN CN201811343815.4A patent/CN109471776B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681288A (zh) * | 2007-05-21 | 2010-03-24 | 高通股份有限公司 | 为移动操作环境提供由事件控制的连续日志记录 |
WO2013039772A1 (en) * | 2011-09-16 | 2013-03-21 | Waters Technologies Corporation | Techniques for automated performance maintenance testing and reporting for analytical instruments |
CN103778049A (zh) * | 2012-10-19 | 2014-05-07 | 北京市三希电子科技开发公司 | 一种嵌入式设备开发日志系统 |
CN103425750A (zh) * | 2013-07-23 | 2013-12-04 | 国云科技股份有限公司 | 一种跨平台跨应用的日志收集系统及其收集管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109471776A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471776B (zh) | 一种基于以太网的VxWorks操作系统日志收集方法 | |
CN111610978B (zh) | 一种小程序转换方法、装置、设备及存储介质 | |
US11809882B2 (en) | Interface calling method and apparatus, and computer-readable storage medium | |
CN111695827B (zh) | 业务流程的管理方法、装置、电子设备及存储介质 | |
CN111865978B (zh) | 一种微服务的请求标识更新方法、装置、设备及介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN110750315B (zh) | Android系统中的类加载方法、装置、设备和存储介质 | |
CN113704046A (zh) | 一种故障告警处理方法及装置、设备、存储介质 | |
CN104809045A (zh) | 监控脚本的运行方法及装置 | |
CN110764894A (zh) | 一种定时任务管理方法、装置、设备及存储介质 | |
KR20220049498A (ko) | 상태 기계 처리, 상태 처리 방법, 장치, 전자 설비 및 저장 매체 | |
CN111984561A (zh) | 一种bmc的ipmi命令处理方法、系统、设备以及介质 | |
CN113467905A (zh) | 一种任务处理方法及系统 | |
CN110401729B (zh) | 一种云平台服务器网络迁移方法、系统、终端及存储介质 | |
CN113342447B (zh) | 基于Flutter的页面生成方法、装置、设备及存储介质 | |
CN113127329B (zh) | 脚本调试方法、装置及计算机存储介质 | |
CN114489854A (zh) | 模块化的软件开发方法、系统、设备及存储介质 | |
CN113708971A (zh) | 一种Openstack云平台的部署方法及相关装置 | |
CN111090854A (zh) | 目标程序的执行与转换方法、装置、终端和存储介质 | |
CN111104320A (zh) | 一种测试方法、装置、设备及介质 | |
CN114301660B (zh) | 多服务器认证方法、装置、设备及存储介质 | |
CN111124923B (zh) | 运行状态查询方法、装置、服务器设备及存储介质 | |
CN112615745B (zh) | 一种通过参数配置为物联网卡平台接入上游的方法及系统 | |
CN114225384B (zh) | 基于可组合gm指令的通讯方法、系统、设备及存储介质 | |
CN114253650B (zh) | 一种展示组件过渡方法、装置、设备及存储介质 |
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 |