首页> 中国专利> 一种用于随机报送零散数据的自动收集与整合系统及其方法

一种用于随机报送零散数据的自动收集与整合系统及其方法

摘要

本发明是一种用于随机报送零散数据的自动收集与整合系统,其特点是:它包括微信群、微信自动处理模块、信息报送与格式规范、外部网络电脑上的文件设置与程序控制、传递文件生成模块、网络切换和融合与应用模块。其自动收集与整合方法是:建立微信群及报送数据、外部网络电脑程序、网络切换和内部网络电脑程序。适用于将原由人工随机零散电话报送数据改为自动收集与整合的场景,具有实用性、经济性和基层单位的便捷性,让一线人员更好用、更愿用,为基层班组减负的优点。

著录项

说明书

技术领域

本发明涉及计算机和微信,是一种用于随机报送零散数据的自动收集与整合系统及其方法。

背景技术

在传统电网调度系统中,上夜班的地区调度员接班以后,其所辖的各发电厂、变电站和大用户(以下简称“厂站户”)值班人员便随机陆续用电话把相关数据报送给调度,值班调度员通过电话接收数据后手工记录到表格上,这几十上百个随机零散电话需一直持续到0:30分左右才能结束。之后,调度员再将这些收集到的数据通过一系列的运算,最后逐一录入到上报系统的网页中。此项工作每日都要从前半夜持续到凌晨,正是常人深睡之时,人工操作非常辛苦且极易产生纰漏和错误。

随着电网调度自动化水平的不断提高,目前已经有相当一部分数据可以从能量管理系统、电量计费系统和用户用电信息采集系统等应用系统中查询获取了,但仍有一部分数据在各应用系统中均无采集,还需要各厂站户值班人员通过电话来报送。这种传统的用电话随机报送与接收零散数据的方法已经严重限制了电网调度自动化水平的提高了,本发明正是为解决这一瓶颈问题应运而生。

发明内容

本发明所要解决的技术问题是:改厂站户电话报送数据的方式为微信报送,调度端在外网电脑上登录微信,用RPA程序与各厂站户微信群自动交互、判断与反馈,收集、整合其所报数据,并通过可变密钥编码,密文存储、纯文本传递。

本发明解决技术问题的方案之一是:一种用于随机报送零散数据的自动收集与整合系统,其特征是:它包括微信群、微信自动处理模块、信息报送与格式规范、外部网络电脑上的文件设置与程序控制、传递文件生成模块、网络切换和融合与应用模块:

所述微信群是在调度微信应用中为每一个厂站户创建一个包含其报送数据值班员的微信群,用于将需要报送的数据按要求格式在微信群中报送。

所述微信自动处理模块是在调度端利用RPA程序监测与控制运行在外部网络电脑上的Windows版微信应用,用于与各厂站户微信群自动交互、判断与反馈,收集、整合其所报数据,包括程序准备与初始化、信息的监测与收集、未读信息群名数组生成、数据读取与存储和密文编码,是用于在外部网络电脑上实时监控各厂站户群中发来的新信息,并对新信息进行读取、判断、存储或回复的程序。

所述信息报送与格式规范包含报送数据的时间、信息格式和数据单位的要求,用于规范各厂站户报送数据的微信群、群员以及在群中报送数据的时间、信息格式和数据单位等要求。

所述外部网络电脑上的文件设置与程序控制是在外部网络电脑的硬盘上设置一个文件夹,其中包括设置文件、数据文件和传递文件,在RPA程序文件夹中设置一个流程文件和控制面板、监测收集、数据传递三个文件,用于设置与存放数据报送单位的编号、群名与运行状态,自动生成程序运行过程中存放的各数据报送单位所报数据的文件,在采取了物理隔离措施的网络电脑间传输纯文本的数据文件,并通过控制面板对文件设置与程序控制进行设置。

所述传递文件生成模块是用来将密文的xlsx格式的WPS文件转换为Dat格式的存文本文件的子程序。

所述网络切换包括KVM切换器和数据传递U盘,用于运行在两个或多个采取了物理隔离措施的网络电脑间数据的快速传递。

所述融合与应用模块由运行在内部网络电脑上的密文解码子程序和数据融合与应用子程序构成,用于将完整的数据文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的数据文件相融合,得到地区电网调度完整的运行数据,为地区电网调度分析和报表提供完整的数据源支撑。

进一步,所述信息报送与格式规范具体包括以下项目:

⑴在调度微信应用上分别建立以厂站户名为群名的微信群,微信群包含该厂站户报送数据的全部值班员,各数据报送人员不得修改群名,但是允许修改备注;微信群名和数量与设置文件的内容相统一,数据报送人员按照规定时间每天将需要报送的数据在微信群中报送,报送数据中必须含有“日期”关键字,这是微信自动处理模块收集数据时的唯一信息标识码;

⑵数据信息报送格式要求分行录入,名称与数据间用冒号分隔,冒号不分中英文、且不得省略;第一行为数据日期,日期为8位数字,前4位为公元年份,第5、6位为月份,第7、8位为日数,若月份和日数小于10,则在十位上补0;以下各行为报送数据,电量单位为千瓦时;

⑶在微信自动处理模块中,对信息标识码设置了若干种容错格式,将报送信息中可能出现的日期长短格式、横杠、斜杠连接符等进行逐一枚举,并进行容错修正,当确实无法识别时,微信自动处理模块便模拟微信发送过程向该群自动回复信息令其重发,以确保数据完整。

进一步,所述外部网络电脑上的文件设置与程序控制是在外部网络电脑的硬盘上设置一个文件夹,其包括设置文件、数据文件和传递文件,在RPA程序文件夹中设置一个流程文件和控制面板、监测收集、数据传递三个文件:

(1)设置文件

所述设置文件全名为数据报送单位群名设置文件,是一个xlsx格式的WPS文件,用于设置与存放数据报送单位的编号、群名与运行状态;编号用于决定该单位报送的数据在数据文件中的存放位置,运行状态有运行和暂停两种选择,当该户为暂停状态时,程序运行时自动跳过该单位;

(2)数据文件

所述数据文件是一个xlsx格式的WPS文件,是程序运行过程中自动生成的存放各数据报送单位所报数据的文件,为了数据安全起见,该文件设置开启权限保护,并且所存数据为编码后的密文;

(3)传递文件

所述传递文件是一个dat格式的Txt文件,通过程序由完整的数据文件自动生成的、用于在采取了物理隔离措施的网络电脑间传输数据的纯文本文件;该文本文件中存放的是一个二维数组转换而来的Json字符串,其中的数据为编码后的密文;

(4)控制面板

所述控制面板是一个用户交互设置界面程序模块,通过运行该程序模块,用户能够方便的设置WeChat.exe安装路径、工作目录、监测频度、U盘盘符、U盘密码、U盘数据存放区、日期变更时间、定时自动运行时间、用户在设置文件中的存放区域、数据是明文还是密文存储与传输等信息;这些信息通过控制面板录入或修改后,便会以字典Json字符串的形式保存在一个名为Config.Cfg的文本文件中,以备程序运行中随时调用,这是程序适应不同用户个性化设置参数的一个手段;同时,RPA程序文件夹中还设置一个名为ybhRet.Rec的文本文件,其中存放的是监控程序临时中断时的已报用户名称和中断时间的数据字典。

进一步,所述微信自动处理模块包括程序准备与初始化、信息的监测与收集、未读信息群名数组生成、数据读取与存储和密文编码,用于实时监控各厂站户群中发来的新信息,并对新信息进行读取、判断、存储或回复的程序,它包括以下子程序:

⑴程序准备与初始化:

①初始化变量:程序开始先定义了各相关变量和数组、读取Config.Cfg和ybhRet.Rec文件中的保存信息作为程序执行的初始状态,已使程序运行能与上次的中断完美衔接;

②启动微信应用:判断Windows版微信应用是否已运行,若未运行则在此开启,并且在手机上确认用电脑登录微信;

③调整设置程序窗口:调整微信窗口大小使其占居屏幕左侧1/3,调整RPA程序运行窗口大小使其占居屏幕右侧2/3,并使其输出信息占居右下侧一定面积的窗口,用于实时显示程序工作的输出消息;

④使微信窗口处于激活状态:在RPA窗口写屏提示“监控程序运行中”,使微信窗口处于激活状态;

⑵信息的监测与收集:定时循环检测未读信息,把试读成功的信息解读后经密文编码子程序进行编码后存储,同时向视图输出窗口输出本次循环读取成功的厂站户数据、截至此时已成功读取的厂站户群名集合以及还有哪些厂站户尚未报送数据,对试读失败的信息自动回复令其检查后重新报送;

⑶未读信息群名数组生成:自动搜索未读信息并将发送这些未读信息的厂站户群名收入定义好的数组中;

⑷数据读取与存储:对未读信息群名数组的群名逐一在对话框中对各条信息进行搜索,并对最后一条含有信息标识的文本进行获取和字符串切割,再将所得字符串经过密钥编码后存于数据文件,同时,将该厂站户群名记入已报户集合;

⑸密文编码:通过时间函数与控制面板中的设置经运算后得到一个编码密钥,将抓取到的数据转换为ASCII码,再将转换后的ASCII码与密钥叠加生成密文编码,将密文编码以背景色存于数据文件中并隐藏WPS编编辑栏;通过读取工作表区域命令将数据文件转换为二维数组,再将该二维数组转换为Json字符串,然后写入到传递文件,从而生成了纯文本密文传递文件.dat。

进一步,所述网络切换包括KVM切换器和数据传递U盘,用KVM切换器将两个网络电脑连在一起,通过内网U盘将传递文件以内部网络和外部网络隔离的方式拷入内部网络电脑,为了保证数据安全,传递文件采用了纯文本密文文件。

进一步,所述融合与应用模块由运行在内部网络电脑上的密文解码子程序和数据融合与应用子程序构成:

⑴所述密文解码子程序为:传递文件在内部网络电脑上进行解码,其解码过程是编码过程的逆过程,即首先读取传递文件到Json字符串变量,再将其转换为对象,形成二维数组;获取该数组最大下标,通过双重循环,将数组元素按编码逆运算算法逐一进行解码后再构造成一个新的数组;将构造的新数组通过写入区域命令写入WPS表格文件,从而得到了完整的解码数据文件;

⑵所述数据融合与应用子程序:传递文件经过解码后便在内部网络电脑上得到了完整的WPS格式的数据文件,将该文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合,便会得到地区电网调度完整的运行数据,这将为地区电网调度分析和报表提供完整的数据源支撑。

本发明解决技术问题的方案之二是:一种用于随机报送零散数据的自动收集与整合方法,其特征是:它包括建立微信群及报送数据、外部网络电脑程序运行、网络切换和内部网络电脑程序运行,具体步骤如下:

1)建立微信群及报送数据

在调度微信应用中为每一个厂站户创建一个包含其报送数据值班员的微信群,报送数据的值班员将需要报送的数据按要求格式在微信群中报送;

2)外部网络电脑程序运行

所述外部网络电脑程序运行包括:

⑴程序准备与初始化;

⑵定时循环检测未读信息;

⑶生成未读消息群名数组;

⑷信息试读;

⑸密文编码与存储;

⑹全部读完未读信息或人为终止;

⑺传递文件生成;

3)网络切换

用KVM切换器将两个网络电脑连在一起,通过内网U盘将传递文件以内部网络和外部网络隔离的方式拷入内部网络电脑;

4)内部网络电脑程序运行

所述内部网络电脑程序运行包括:

⑴传递文件解码;

⑵数据融合;

⑶数据应用。

进一步,所述步骤2)外部网络电脑程序运行具体包括:

⑴程序准备与初始化

⑵定时循环检测未读信息

设置一个大的循环定时循环检测未读信息,其循环间隔时间由控制面板中的检测频度设定,每间隔设定时间检测一次;

⑶生成未读消息群名数组

自动搜索未读信息并将发送这些未读信息的厂站户群名收入定义好的数组中;

⑷信息试读

对循环检测的未读信息试读,把试读成功的信息解读后传递到密文编码子程序,同时向视图输出窗口输出本次循环读取成功的厂站户数据、至此已成功读取的厂站户群名集合以及还有哪些厂站户尚未报送数据,对试读失败的信息自动回复令其检查后重新报送;

⑸密文编码与存储

把试读成功的信息解读后传递到密文编码子程序,由密文编码子程序进行编码后存储;

⑹全部读完未读信息或人为终止

把循环检测的未读信息全部读完,或者根据需要人为终止信息读取;

⑺传递文件生成

将密文编码以背景色存于数据文件中并隐藏WPS编编辑栏;通过读取工作表区域命令将数据文件转换为二维数组,再将该二维数组转换为Json字符串,然后写入到传递文件,从而生成了纯文本密文传递文件.dat。

进一步,所述步骤⑴程序准备与初始化具体如下:

①初始化变量:程序开始先定义了各相关变量和数组、读取Config.Cfg和ybhRet.Rec文件中的保存信息作为程序执行的初始状态,已使程序运行能与上次的中断完美衔接;

②启动微信应用:判断Windows版微信应用是否已运行,若未运行则在此开启,并且在手机上确认用电脑登录微信;

③调整设置程序窗口:调整微信窗口大小使其占居屏幕左侧1/3,调整RPA程序运行窗口大小使其占居屏幕右侧2/3,并使其输出信息占居右下侧一定面积的窗口,用于实时显示程序工作的输出消息;

④使微信窗口处于激活状态:在RPA窗口写屏提示“监控程序运行中”,使微信窗口处于激活状态。

进一步,所述步骤2)所述内部网络电脑程序运行包括:

⑴传递文件解码

传递文件在内部网络电脑上进行解码,首先读取传递文件到Json字符串变量,再将其转换为对象,形成二维数组;获取该数组最大下标,通过双重循环,将数组元素按编码逆运算算法逐一进行解码后再构造成一个新的数组;将构造的新数组通过写入区域命令写入WPS文件,从而得到了完整的解码数据文件;

⑵数据融合

传递文件经过解码后在内部网络电脑上得到了完整的WPS格式的数据文件,将该文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合;

⑶数据应用

将解码后得到的完整的WPS格式的数据文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合,便会得到地区电网调度完整的运行数据,这将为地区电网调度分析和报表提供完整的数据源支撑。

本发明的有益效果是:

(1)能使夜班调度员平均每天减少接听电话60余次;

(2)平均每天减少记录数据200余条;

(3)减轻了夜班调度员的心理压力;

(4)提高了数据的准确性;

(5)提高了调度办公自动化水平和工作效率。

本发明适用于将原由人工随机零散电话报送数据改为自动收集与整合的场景,具有实用性、经济性和基层单位的便捷性,让一线人员更好用、更愿用,为基层班组减负的优点。

附图说明

图1为本发明用于随机报送零散数据的自动收集与整合系统的结构框图;

图2为本发明用于随机报送零散数据的自动收集与整合系统的外部网络电脑结构框图;

图3为本发明用于随机报送零散数据的自动收集与整合系统的微信自动处理模块结构框图;

图4为本发明用于随机报送零散数据的自动收集与整合方法的流程框图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

参见图1~图4,实施例1,本实施例一种用于随机报送零散数据的自动收集与整合系统,它包括微信群、微信自动处理模块、信息报送与格式规范、外部网络电脑上的文件设置与程序控制、传递文件生成模块、网络切换和融合与应用模块:

所述微信群是在调度微信应用中为每一个厂站户创建一个包含其报送数据值班员的微信群,用于将需要报送的数据按要求格式在微信群中报送。

所述微信自动处理模块是在调度端利用RPA程序监测与控制运行在外部网络电脑上的Windows版微信应用,用于与各厂站户微信群自动交互、判断与反馈,收集、整合其所报数据。包括程序准备与初始化、信息的监测与收集、未读信息群名数组生成、数据读取与存储和密文编码,是用于在外部网络电脑上实时监控各厂站户群中发来的新信息,并对新信息进行读取、判断、存储或回复的程序。

所述信息报送与格式规范包含报送数据的时间、信息格式和数据单位的要求,用于规范各厂站户报送数据的微信群、群员以及在群中报送数据的时间、信息格式和数据单位等要求。

所述外部网络电脑上的文件设置与程序控制是在外部网络电脑的硬盘上设置一个文件夹,其包括设置文件、数据文件和传递文件,在RPA程序文件夹中设置一个流程文件和控制面板、监测收集、数据传递三个文件,用于设置与存放数据报送单位的编号、群名与运行状态,自动生成程序运行过程中存放的各数据报送单位所报数据的文件,在采取了物理隔离措施的网络电脑间传输纯文本的数据文件,并通过控制面板对文件设置与程序控制进行设置。

所述传递文件生成模块是用来将密文的xlsx格式的WPS文件转换为Dat格式的存文本文件的子程序。

所述网络切换包括KVM切换器和数据传递U盘,用于运行在两个或多个采取了物理隔离措施的网络电脑间数据的快速传递。

所述融合与应用模块由运行在内部网络电脑上的密文解码子程序和数据融合与应用子程序构成,用于将完整的数据文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的数据文件相融合,得到地区电网调度完整的运行数据,为地区电网调度分析和报表提供完整的数据源支撑。

所述信息报送与格式规范具体包括以下项目:

⑴在调度微信应用上分别建立以厂站户名为群名的微信群,微信群包含该厂站户报送数据的全部值班员,各数据报送人员不得修改群名,但是允许修改备注;微信群名和数量与设置文件的内容相统一,数据报送人员按照规定时间每天将需要报送的数据在微信群中报送,报送数据中必须含有“日期”关键字,这是微信自动处理模块收集数据时的唯一信息标识码;

⑵数据信息报送格式要求分行录入,名称与数据间用冒号分隔,冒号不分中英文、且不得省略;第一行为数据日期,日期为8位数字,前4位为公元年份,第5、6位为月份,第7、8位为日数,若月份和日数小于10,则在十位上补0;以下各行为报送数据,电量单位为千瓦时;

例如某用户2021年1月8日电量为1688888千瓦时,则发送信息应为:

日期:20210108

电量:1688888

若该用户仅报一个电量数据,也可简化为

20210108:1688888

某电厂2020年12月8日机端电量:22166千瓦时、上网电量:22156千瓦时、最大:988千瓦、最小:886千瓦、负荷率:93.4%,则发送信息应为:

日期:20201208

机端:22166

上网:22156

最大:988

最小:886

负荷率:93.4

⑶微信自动处理模块中,对信息标识码设置了多达20种容错格式,将报送信息中可能出现的日期长短格式、横杠、斜杠连接符等进行逐一枚举,并进行容错修正。如:对于“20201208”这个“日期”信息标识,无论报送者写成2020128、2020-12-08、2020-12-8、2020/12/08、2020/12/8等等那种形式,程序都能自动识别。当确实无法识别时,微信自动处理模块便模拟微信发送过程向该群自动回复信息令其重发,以确保数据完整。

所述外部网络电脑上的文件设置与程序控制是在外部网络电脑的硬盘上设置一个文件夹,其名称是由控制面板中的“工作目录”确定,其包括设置文件.xlsx、数据文件.xlsx和传递文件.dat,在RPA程序文件夹中设置一个flow流程文件和控制面板、监测收集、数据传递三个task文件。

(1)设置文件

所述设置文件全名为数据报送单位群名设置文件,是一个xlsx格式的WPS文件,用于设置与存放数据报送单位的编号、群名与运行状态;编号用于决定该单位报送的数据在数据文件中的存放位置,运行状态有运行和暂停两种选择,当该户为暂停状态时,程序运行时自动跳过该单位;

(2)数据文件

所述数据文件是一个xlsx格式的WPS文件,是程序运行过程中自动生成的存放各数据报送单位所报数据的文件,为了数据安全起见,该文件设置开启权限保护,并且所存数据为编码后的密文;

(3)传递文件

所述传递文件是一个dat格式的Txt文件,通过程序由完整的数据文件自动生成的、用于在采取了物理隔离措施的网络电脑间传输数据的纯文本文件;该文本文件中存放的是一个二维数组转换而来的Json字符串,其中的数据为编码后的密文;

(4)控制面板

所述控制面板是一个用户交互设置界面程序模块,通过运行该程序模块,用户能够方便的设置WeChat.exe安装路径、工作目录、监测频度、U盘盘符、U盘密码、U盘数据存放区、日期变更时间、定时自动运行时间、用户在设置文件中的存放区域、数据是明文还是密文存储与传输等信息;这些信息通过控制面板录入或修改后,便会以字典Json字符串的形式保存在一个名为Config.Cfg的文本文件中,以备程序运行中随时调用,这是程序适应不同用户个性化设置参数的一个手段;同时,RPA程序文件夹中还设置一个名为ybhRet.Rec的文本文件,其中存放的是监控程序临时中断时的已报用户名称和中断时间的数据字典。

所述微信自动处理模块包括程序准备与初始化、信息的监测与收集、未读信息群名数组生成、数据读取与存储和密文编码,用于实时监控各厂站户群中发来的新信息,并对新信息进行读取、判断、存储或回复的程序,它包括以下子程序:

⑴程序准备与初始化:

①初始化变量:程序开始先定义了各相关变量和数组、读取Config.Cfg和ybhRet.Rec文件中的保存信息作为程序执行的初始状态,已使程序运行能与上次的中断完美衔接;

②启动微信应用:判断Windows版微信应用是否已运行,若未运行则在此开启,并且在手机上确认用电脑登录微信;

③调整设置程序窗口:调整微信窗口大小使其占居屏幕左侧1/3,调整RPA程序运行窗口大小使其占居屏幕右侧2/3,并使其输出信息占居右下侧一定面积的窗口,用于实时显示程序工作的输出消息;

④使微信窗口处于激活状态:在RPA窗口写屏提示“监控程序运行中”,使微信窗口处于激活状态;

⑵信息的监测与收集:设置一个大的循环,定时循环检测未读信息,每隔1或2分钟(其间隔分钟数由控制面板中“检测频度”的设置数值决定)检测一次,将“未读信息群名数组生成子程序”和“数据读取与存储子程序”依次置于循环之中。前一个子程序通过循环检查微信聊天列表窗口中带“红圈数字”的群名构造成数组,后一个子程序在微信窗口的搜索栏中对未读信息群名进行依次搜索,并对其对话窗口中最新未读信息进行试读、解读或回复。循环结束前,把试读成功的信息解读后经密文编码子程序进行编码后存储,同时向视图输出窗口输出本次循环读取成功的厂站户数据、至此已成功读取的厂站户群名集合以及还有哪些厂站户尚未报送数据,对试读失败的信息自动回复令其检查后重新报送;

⑶未读信息群名数组生成:该子程序能在电脑微信窗口的聊天列表中自动搜索未读信息,并将发送这些未读信息的厂站户群名收入定义好的数组中;实现方法如下:用循环语句和“获取文本”命令按倒序依次读取屏幕上显示的聊天列表中的前15个记录(Idx属性=0~14)的元素文本。在元素文本中查找用正则表达式表示的“0:00”~“23:59”的子字符串出现的位置,如出现的位置不为1,则表示该群中有未读信息,若出现的位置为1,则在元素文本字符串变量前加上“0\t”子字符串(\t为制表符);替换元素文本字符串中的“\r\n”为“\t”;用“\t”去切割替换后的元素文本字符串则可得到15个聊天列表数组;再用正则表达式查找测试聊天列表数组中的第3个元素在厂站户群数组中是否存在;若不存在则用异常捕获命令将厂站户群判断变量标记为“假”;最后将聊天列表数组中第1个元素不等于0且厂站户群判断变量为“真”的聊天列表数组中的第3个元素构造成未读信息群名数组;

⑷数据读取与存储:该子程序能在电脑微信窗口的搜索栏中用循环命令逐一搜索其属性参数数组中的厂站户群名,从而在对话窗口中得到与该厂站户群的近期对话信息。该子程序的属性参数就是未读信息群名数组。程序根据控制面板中的“日期变更时间”得到欲抓取数据“日期”信息标识的20种兼容格式,用“在目标中判断文本是否存在”命令对未读信息群名数组的群名逐一在对话框中对各条信息进行搜索,如果20种“日期”信息标识格式均未搜到,程序便模拟微信发送过程向该群回复“信息无法自动识别,请核对后重发”的信息,令其重新发送,否则程序继续进行;

用“点击文本”命令去双击窗口中最后一条含有“日期”信息标识的文本,使目标文本处于全选状态;用“模拟按键Ctrl+C”命令将目标文本复制到剪贴板,再用“获取剪贴板文本”命令将目标文本赋值给目标字符串变量;接下来是对得到的目标字符串变量进行一系列处理,包括替换其中的中文冒号、分号、逗号、顿号等标点为英文冒号,替换空格、横杠、斜杠为空字符,替换字母o为数字0、替换字母l为数字1等容错操作;再接下来是用换行符“\n”对处理后的目标字符串进行切割,再用英文冒号“:”对用换行符切割后的字符串进行切割,然后将所得字符串经过密钥编码后构造出目标数组,最后将该数组用“写入行”命令写入打开的“数据文件”工作簿中的“零散数据”工作表,其写入位置行数与该厂站户群在“设置文件”中的单位编号数相同,从而完成数据的读取与存储,同时,将该厂站户群名记入“已报户集合”;

⑸密文编码:数据监测收集程序在对各厂站户报送数据抓取过程中,首先将抓取到的数据通过密钥进行编码,然后再将其编码存于数据文件中,最后将数据文件转换为传递文件。

具体过程如下:

首先通过时间函数获取数据抓取时刻的年、月、日数据,与控制面板中设置的“日期变更时间”通过加密多项式运算后得到一个确定的编码密钥;将抓取到的数据转换为ASCII码,再将转换后的ASCII码与密钥叠加生成密文编码;将密文编码以背景色存于数据文件中并隐藏WPS编编辑栏;通过“读取工作表区域”命令将数据文件转换为二维数组,再将该二维数组转换为Json字符串,然后写入到传递文件,这样就生成了纯文本密文“传递文件.dat”,该文件可通过内网U盘拷入内网电脑。

所述网络切换包括KVM切换器和数据传递U盘,按照国网公司数据安全策略的要求,内外网电脑是物理隔离的。为了实现用户使用一套键盘、鼠标、显示器去访问和操作内外网两台电脑主机,这里将内外网电脑用KVM切换器将两个网络电脑连在一起,使得内外网两个电脑共用一套键盘、鼠标、显示器和内网U盘。零散数据监控与收集程序运行在外网电脑上。为了保证数据安全,工作在外网电脑上的数据文件设置权限保护且用密文存储。又为了避免病毒的传播,用于向内网电脑传递数据的传递文件采用了纯文本密文文件。外网拷入U盘、U盘考入内网的操作均由程序调用“文件复制”子程序一键完成。

所述融合与应用模块由运行在内部网络电脑上的密文解码子程序和数据融合与应用子程序构成:

⑴所述密文解码子程序为:传递文件在内部网络电脑上进行解码,其过程解码是编码过程的逆过程,即首先读取传递文件到Json字符串变量,再将其转换为对象,形成二维数组;获取该数组最大下标,通过双重循环,将数组元素按编码逆运算算法逐一进行解码后再构造成一个新的数组;将构造的新数组通过写入区域命令写入WPS文件,从而得到了完整的解码数据文件;

⑵所述数据融合与应用子程序:传递文件经过解码后便在内部网络电脑上得到了完整的WPS格式的数据文件,将该文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合,便会得到地区电网调度完整的运行数据,这将为地区电网调度分析和报表提供完整的数据源支撑。

本实施例用于随机报送零散数据的自动收集与整合方法,它包括建立微信群及报送数据、外部网络电脑程序运行、网络切换和内部网络电脑程序运行,具体步骤如下:

1)建立微信群及报送数据

在调度微信应用中为每一个厂站户创建一个包含其报送数据值班员的微信群,报送数据的值班员将需要报送的数据按要求格式在微信群中报送;

2)外部网络电脑程序运行

所述外部网络电脑程序运行包括:

⑴程序准备与初始化;

⑵定时循环检测未读信息;

⑶生成未读消息群名数组;

⑷信息试读;

⑸密文编码与存储;

⑹全部读完未读信息或人为终止;

⑺传递文件生成;

3)网络切换

用KVM切换器将两个网络电脑连在一起,通过内网U盘将传递文件以内部网络和外部网络隔离的方式拷入内部网络电脑;

4)内部网络电脑程序运行

所述内部网络电脑程序运行包括:

⑴传递文件解码;

⑵数据融合;

⑶数据应用。

进一步,所述步骤2)外部网络电脑程序运行具体包括:

⑴程序准备与初始化

⑵定时循环检测未读信息

设置一个大的循环定时循环检测未读信息,其循环间隔时间由控制面板中的检测频度设定,每间隔设定时间检测一次;

⑶生成未读消息群名数组

自动搜索未读信息并将发送这些未读信息的厂站户群名收入定义好的数组中;

⑷信息试读

对循环检测的未读信息试读,把试读成功的信息解读后传递到密文编码子程序,同时向视图输出窗口输出本次循环读取成功的厂站户数据、至此已成功读取的厂站户群名集合以及还有哪些厂站户尚未报送数据,对试读失败的信息自动回复令其检查后重新报送;

⑸密文编码与存储

把试读成功的信息解读后传递到密文编码子程序,由密文编码子程序进行编码后存储;

(6)全部读完未读信息或人为终止

把循环检测的未读信息全部读完,或者根据需要人为终止信息读取;

⑺传递文件生成

将密文编码以背景色存于数据文件中并隐藏WPS编编辑栏;通过读取工作表区域命令将数据文件转换为二维数组,再将该二维数组转换为Json字符串,然后写入到传递文件,从而生成了纯文本密文传递文件.dat。

所述步骤⑴程序准备与初始化具体如下:

①初始化变量:程序开始先定义了各相关变量和数组、读取Config.Cfg和ybhRet.Rec文件中的保存信息作为程序执行的初始状态,已使程序运行能与上次的中断完美衔接;

②启动微信应用:判断Windows版微信应用是否已运行,若未运行则在此开启,并且在手机上确认用电脑登录微信;

③调整设置程序窗口:调整微信窗口大小使其占居屏幕左侧1/3,调整RPA程序运行窗口大小使其占居屏幕右侧2/3,并使其输出信息占居右下侧一定面积的窗口,用于实时显示程序工作的输出消息;

④使微信窗口处于激活状态:在RPA窗口写屏提示“监控程序运行中”,使微信窗口处于激活状态。

所述步骤2)所述内部网络电脑程序运行包括:

⑴传递文件解码

传递文件在内部网络电脑上进行解码,首先读取传递文件到Json字符串变量,再将其转换为对象,形成二维数组;获取该数组最大下标,通过双重循环,将数组元素按编码逆运算算法逐一进行解码后再构造成一个新的数组;将构造的新数组通过写入区域命令写入WPS文件,从而得到了完整的解码数据文件;

⑵数据融合

传递文件经过解码后在内部网络电脑上得到了完整的WPS格式的数据文件,将该文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合;

⑶数据应用

将解码后得到的完整的WPS格式的数据文件与从EMS系统、电能量采集系统和用户用电信息采集系统分别采集到的WPS格式的数据文件相融合,便会得到地区电网调度完整的运行数据,这将为地区电网调度分析和报表提供完整的数据源支撑。

本发明不局限于本具体实施方式,对于本领域技术人员来说,不经过创造性劳动的简单复制和改进均属于本发明权利要求所保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号