一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据采集系统及数据采集方法与流程

2022-05-18 02:52:22 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,尤其涉及一种数据采集系统及数据采集方法。


背景技术:

2.局域网(local area network,lan),又称内网,指在某一区域内(一般是方圆几千米以内)由多台计算机互联成的计算机组。广域网(wide area network,wan),又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
3.为了保护企业内部敏感数据,企业大多采用内外网隔离的方式部署企业系统。但由于企业经营的需要,还是存在需要与外网服务器进行信息交互的情况,例如将企业的某些数据同步至外网服务器。然而,当企业采用内外网隔离的方式部署企业系统时,外网服务器无法与企业的内网服务器直接通讯,导致无法进行数据采集,进而无法进行数据同步的问题。


技术实现要素:

4.本技术实施例的目的在于提供一种数据采集系统及数据采集方法,以解决当企业采用内外网隔离的方式部署企业系统时,外网服务器无法与企业的内网服务器直接通讯,导致无法进行数据采集的问题。具体技术方案如下:
5.第一方面,提供了一种数据采集系统,所述系统包括:内网服务器、采集客户端和外网服务器,所述采集客户端安装有采集程序,所述外网服务器安装有用于管理所述采集程序的服务程序,
6.所述服务程序,用于生成采集任务,所述采集任务包括目标数据源;
7.所述采集程序,用于获取并解析所述服务程序生成的所述采集任务,得到所述目标数据源,在所述内网服务器中采集所述目标数据源对应的数据,将采集的所述数据发送至所述外网服务器。
8.可选地,所述采集程序包括:全量任务执行器及任务清单管理器,
9.所述全量任务执行器,用于当所述采集任务为全量任务时,按照所述全量任务的指示,在所述内网服务器中采集所述目标数据源对应的全量数据,将所述全量数据发送至所述外网服务器;
10.所述任务清单管理器,用于基于所述全量任务生成任务清单,将所述任务清单发送至所述外网服务器,以及,基于所述全量数据的发送情况确定所述任务清单的状态,基于所述状态更新所述任务清单,将更新后的所述任务清单发送至所述外网服务器。
11.可选地,所述服务程序包括任务状态接收器、全量数据接收器和全量任务处理器,
12.所述任务状态接收器,用于基于所述任务清单生成对应的接收文件夹;
13.所述全量数据接收器,用于在接收到所述全量任务执行器上传的所述全量数据
时,将所述全量数据存储至所述接收文件夹中;
14.所述全量任务处理器,用于检测所述任务清单的状态,在所述状态为发送成功时,在所述接收文件夹中读取所述全量数据,将所述全量数据与所述外网服务器对应的数据库中的原数据进行比对,得到比对结果,基于所述全量数据和所述比对结果同步所述数据库。
15.可选地,所述全量任务执行器,具体用于:
16.将采集到的全量数据转化为预设数据格式后保存至文本文件中;
17.对所述文本文件进行压缩分卷处理,得到至少一个压缩文件;
18.将至少一个所述压缩文件发送至所述外网服务器。
19.可选地,所述任务清单管理器,具体用于:
20.将至少一个所述压缩文件记录到所述任务清单中;
21.在所述全量任务执行器将至少一个所述压缩文件发送至所述外网服务器时,确定至少一个所述压缩文件的发送情况;
22.当至少一个所述压缩文件的发送情况均为发送成功时,在所述任务清单中记录所述任务清单的状态为发送成功;
23.当存在发送情况为发送失败的压缩文件时,在所述任务清单中记录所述任务清单的状态为发送失败。
24.可选地,所述任务清单管理器,还用于:
25.每隔预设间隔时间确定所述任务清单的状态;
26.当所述任务清单的状态为发送成功或发送失败时,在将所述任务清单发送至所述外网服务器后删除所述任务清单。
27.可选地,所述采集程序还包括:增量任务执行器,
28.所述增量任务执行器,用于当所述采集任务为增量任务时,按照所述增量任务的指示,在所述内网服务器中监听所述目标数据源,当所述目标数据源中存在增量数据时,采集所述增量数据,将采集到的所述增量数据按照预设协议进行封装,得到增量数据封装包,将所述增量数据封装包发送至所述外网服务器。
29.可选地,所述服务程序还包括:增量数据接收器,
30.所述增量数据接收器,用于接收所述增量数据封装包;
31.按照所述预设协议解析所述增量数据封装包,得到所述增量数据;
32.将所述增量数据插入到所述外网服务器对应的数据库中。
33.可选地,
34.所述采集程序,还用于向所述服务程序发送认证请求;
35.所述服务程序,还用于接收所述采集程序发送的所述认证请求,在所述认证请求通过后,执行向所述采集程序发送采集任务的步骤。
36.可选的,本技术实施例还提供了一种数据采集方法的流程,如图4所示,具体步骤如下。
37.第二方面,提供了一种数据采集方法,应用于如第一方面描述的数据采集系统中的采集程序,所述方法包括:
38.获取外网服务器中生成的采集任务,所述采集任务包括目标数据源;
39.在内网服务器中采集所述目标数据源对应的数据;
40.将采集的所述数据发送至所述外网服务器,以使所述外网服务器基于所述数据同步外网数据库。
41.第三方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面任一所述的方法步骤。
42.第四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据采集方法。
43.本技术实施例有益效果:
44.本技术实施例提供了一种数据采集系统及数据采集方法,所述系统包括:内网服务器、采集客户端和外网服务器,所述采集客户端安装有采集程序,所述外网服务器安装有用于管理所述采集程序的服务程序,所述服务程序,用于生成采集任务,所述采集任务包括目标数据源;所述采集程序,用于获取并解析所述服务程序生成的所述采集任务,得到所述目标数据源,在所述内网服务器中采集所述目标数据源对应的数据,将采集的所述数据发送至所述外网服务器。
45.本技术中,在内网和外网之间设置采集客户端,采集客户端安装有采集程序,外网服务器安装有用于管理采集程序的服务程序,通过服务程序控制采集程序采集内网服务器中的数据,从而实现通过外网服务器对内网服务器中数据的跨域采集。
46.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
47.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
48.图1为本技术实施例提供的一种数据采集系统的结构示意图;
49.图2为本技术实施例提供的一种采集客户端工作的流程图;
50.图3为本技术实施例提供的一种外网服务器工作的流程图;
51.图4为本技术实施例提供的一种数据采集方法的流程图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.参见图1,为本发明实施例提供的一种数据采集系统的结构示意图。如图1所示例的数据采集系统包括:内网服务器100、采集客户端300和外网服务器200,所述采集客户端300安装有采集程序,所述外网服务器200安装有用于管理所述采集程序的服务程序,
54.所述服务程序,用于生成采集任务,所述采集任务包括目标数据源;
55.所述采集程序,用于获取并解析所述服务程序生成的所述采集任务,得到所述目
标数据源,基于所述任务类型和所述目标数据源在所述内网服务器100中采集对应的数据,将采集的所述数据发送至所述外网服务器200。
56.其中,内网服务器100为企业内部用于存储数据的服务器,外网服务器200为外部的用于同步内网服务器100中存储的数据的服务器,由于内网服务器与外网服务器无法直接通信,因此,该实施例中在内网服务器和外网服务器之间设置采集客户端300,采集客户端300可以通过内网与内网服务器通信连接,同时可以通过外网与外网服务器通信通信,从而建立起内网服务器100和外网服务器200的连接。
57.进一步地,采集客户端300安装有采集程序,外网服务器200安装有用于管理采集程序的服务程序,通过服务程序向采集程序发送采集任务之前,先在采集程序中的配置文件下进行配置,配置信息包括数据索引,例如,内网服务器中的采集表数据库,采集表名称,采集表字段,采集表字段别名,以及外网数据库中与采集表对应的关系表,采集表关系表字段,采集表关系表字段别名,还包括向外网服务器传输数据的传输协议,以及用于与外部服务器进行安全认证的安全码,并在服务程序中做相应的配置。
58.当用户通过服务程序选中要同步的关系表时,服务程序生成对应的采集任务,该采集任务中包括用户选中的关系表,即目标数据源,采集程序获取到该采集任务时,通过解析其中的目标数据源确定关系表,采集程序根据采集表与关系表的对应关系,即可确定对应的采集表,对采集表中的数据进行采集。
59.进一步地,采集程序获取采集任务可以通过设置查询定时器实现,例如采集任务包括增量任务和全量任务,可以分别设置全量任务查询定时器和增量任务查询定时器获取增量任务和全量任务。
60.本技术实施例中,在内网和外网之间设置采集客户端,采集客户端安装有采集程序,外网服务器安装有用于管理采集程序的服务程序,通过服务程序控制采集程序采集内网服务器中的数据,从而实现通过外网服务器对内网服务器中数据的跨域采集。
61.在本技术又一实施例中,所述采集程序包括:全量任务执行器及任务清单管理器,
62.所述全量任务执行器,用于当所述采集任务为全量任务时,按照所述全量任务的指示,在所述内网服务器中采集所述目标数据源对应的全量数据,将所述全量数据发送至所述外网服务器;
63.所述任务清单管理器,用于基于所述全量任务生成任务清单,将所述任务清单发送至所述外网服务器,以及,基于所述全量数据的发送情况确定所述任务清单的状态,基于所述状态更新所述任务清单,将更新后的所述任务清单发送至所述外网服务器。
64.本技术实施例中,可以通过全量任务执行器执行全量任务,采集内网服务器中目标数据源的全量数据(即,所有数据),并且,可以通过任务清单管理器记录采集的数据以及数据的发送情况,通过将任务清单发送至外部服务器,便于外部服务器及时了解数据的情况。
65.在本技术又一实施例中,所述服务程序包括任务状态接收器、全量数据接收器和全量任务处理器,
66.所述任务状态接收器,用于基于所述任务清单生成对应的接收文件夹;
67.所述全量数据接收器,用于在接收到所述全量任务执行器上传的所述全量数据时,将所述全量数据存储至所述接收文件夹中;
68.所述全量任务处理器,用于检测所述任务清单的状态,在所述状态为发送成功时,在所述接收文件夹中读取所述全量数据,将所述全量数据与所述外网服务器对应的数据库中的原数据进行比对,得到比对结果,基于所述全量数据和所述比对结果同步所述数据库。
69.在本技术实施例中,任务清单中记录了任务编号,任务状态接收器接收到任务清单后,可以根据任务清单记录的任务编号生成对应的接收文件夹。
70.全量任务处理器在检测到任务清单的状态为发送成功时,根据任务编号查找对应的接收文件夹,读取数据。然后,以读取的数据为基准,与数据库原有数据进行比较,标记出新增与修改的数据位置并记录到临时数据库中,然后再以数据库的数据为基准与读取的数据进行比较,比较出需要删除的数据,并在数据库中进行删除,最后根据临时数据库中相应的标记数据进行对数据库插入数据的操作。其中,全量任务处理器每次处理后更新任务清单状态,以记录外部服务器对该任务的处理情况。
71.在本技术又一实施例中,所述全量任务执行器,具体用于:
72.将采集到的全量数据转化为预设数据格式后保存至文本文件中;
73.对所述文本文件进行压缩分卷处理,得到至少一个压缩文件;
74.将至少一个所述压缩文件发送至所述外网服务器。
75.本技术实施例中,全量任务执行器可以将采集到的全量数据转化为预设数据格式后保存至文本文件中;对所述文本文件进行压缩分卷处理,得到至少一个压缩文件;将至少一个所述压缩文件发送至所述外网服务器。从而使数据的格式符合数据传输的标准,并且将数据存入文本文件中,对文本文件进行压缩分卷处理,以便于数据传输。
76.在本技术又一实施例中,所述任务清单管理器,具体用于:
77.将至少一个所述压缩文件记录到所述任务清单中;
78.在所述全量任务执行器将至少一个所述压缩文件发送至所述外网服务器时,确定至少一个所述压缩文件的发送情况;
79.当至少一个所述压缩文件的发送情况均为发送成功时,在所述任务清单中记录所述任务清单的状态为发送成功;
80.当存在发送情况为发送失败的压缩文件时,在所述任务清单中记录所述任务清单的状态为发送失败。
81.本技术实施例中,通过任务清单管理器将任务的执行情况记录在任务清单中,方便对任务执行情况的追踪。
82.在本技术又一实施例中,所述任务清单管理器,还用于:
83.每隔预设间隔时间确定所述任务清单的状态;
84.当所述任务清单的状态为发送成功或发送失败时,在将所述任务清单发送至所述外网服务器后删除所述任务清单。
85.本技术实施例中,通过任务清单管理器检测任务清单的状态,在任务清单的状态为发送成功或发送失败时,意味着该任务已经终止,因此,将任务清单发送至外网服务器后,可以删除该任务清单,以节省计算机资源。
86.在本技术又一实施例中,所述采集程序还包括:增量任务执行器,
87.所述增量任务执行器,用于当所述采集任务为增量任务时,按照所述增量任务的指示,在所述内网服务器中监听所述目标数据源,当所述目标数据源中存在增量数据时,采
集所述增量数据,将采集到的所述增量数据按照预设协议进行封装,得到增量数据封装包,将所述增量数据封装包发送至所述外网服务器。
88.在本技术实施例中,可以通过mysql二进制日志记录文件监听目标数据源并且预读取表结构数据,即,要采集数据的采集表及预读取采集表的表结构数据。当采集表发生有数据变化时,采集程序则会根据配置信息中预先配置的传输协议(即预设协议)及表结构信息对监听到的数据进行处理,处理完毕推送到增量数据存储队列,发送至外网服务器。从而实现对增量数据的采集。
89.在本技术又一实施例中,所述服务程序还包括:增量数据接收器,所述增量数据接收器,用于接收所述增量数据封装包;
90.按照所述预设协议解析所述增量数据封装包,得到所述增量数据;
91.将所述增量数据插入到所述外网服务器对应的数据库中。
92.在本技术又一实施例中,
93.所述采集程序,还用于向所述服务程序发送认证请求;
94.所述服务程序,还用于接收所述采集程序发送的所述认证请求,在所述认证请求通过后,执行向所述采集程序发送采集任务的步骤。
95.在本技术实施例中,采集程序采集数据前,向服务程序发送认证请求,认证请求中包括预先配置的安全码,以在服务端进行认证,认证成功以后才会执行数据采集的操作。
96.参见图2,为本发明实施例提供的采集客户端的工作流程,具体如下:
97.首先,利用向服务端(即外部服务器)请求认证,认证成功以后则启动全量任务查询定时器、增量任务查询定时器及任务状态推送定时器。通过全量任务查询定时器、增量任务查询定时器查询采集任务。
98.当检测到服务端有增量任务时,则解析增量任务对应的目标数据源,并启动增量任务执行器,增量任务执行器通过对mysql二进制日志记录文件的监听目标表(即目标数据源)以及预读取表结构数据,当目标表发生有数据变化时,采集程序则会根据配置信息以及表结构信息对监听到数据来进行处理,处理完毕后,将数据推送到增量数据存储队列,发送到服务端。
99.当检测到有全量数据采集任务时,则会解析采集任务的任务参数,启动全量任务执行器,全量任务执行器根据目标数据源读取目标表结构以及配置信息并设置任务超时,当任务开始执行,会先根据采集任务生成一个任务清单并保存到任务清单临时存储器中。根据目标表结构以及配置文件读取目标表数据进行数据类型转化以及数据组装并保存到文本文件中。
100.然后,对文本文件进行压缩分卷处理,并将压缩的文件记录到相应任务清单中。然后在对压缩文件进行上传操作,文件上传成功则会记录对应任务清单文件状态并计算成功上传文件个数,并检测成功文件个数与总文件个数是否一致,当一致则会记录任务清单状态为发送成功。当任务执行超过规定时间则会直接结束当前任务并标记任务清单状态为发送失败,并定时发送任务清单到服务端。
101.此外,还可以设置容错机制,即,当文件上传失败会再次上传,预先设置重新上传的次数阈值,如果重新上传失败的次数大于该次数阈值,则会确定该任务失败,并记录任务清单的状态为发送失败,结束当前任务并将任务清单发送到服务端。
102.任务状态定时发送器会一直向服务器发送任务临时存储器中的任务清单,每次推送后都会对任务临时存储器中的任务清单进行检查,当有成功和失败清单后每次发送完会将其任务清单删除。
103.参见图3,为本发明实施例提供的外网服务器的工作流程,具体如下:
104.接收采集客户端发送的认证请求,当认证请求中携带的认证码与服务端预先存储的认证码一致时,认证通过,否则驳回。认证成功后,任务调度中心下发任务存储在任务存储器中,等待客户端来请求任务。
105.当接收到增量数据上传时,增量数据接收器则会对接受到的数据进行解析,然后推送到增量数据临时存储器中,当增量数据处理器收到增量数据临时存储器中的数据,则会根据配置进行数据处理然后插入到hbase数据库中,并可以将数据发送到数据展示寄存器中以进行数据展示,从而方便用户查看。
106.当接受任务状态接收器接收到数据时,则会通过任务清单上的任务编号生成对应的文本文件夹。
107.当全量文件接收器接收到文件上传时,则会通过接收到的任务编号将文件保存的相应的文件夹下。
108.当成功任务确认接收器接收到消息时,意味着全量文件接收成功,则通过接收到的任务编号将全量文件提交到全量任务中心,全量任务中心则会通过任务编号读取对应的文件夹下的所有数据文件,将数据文件解压到对应的解压文件夹下,并将文件路径提交到数据校验处理器,并记录任务清单状态。
109.数据校验处理器通过提交的文件路径读取文件数据,根据配置以及文件数据为基准和数据库原有数据进行比较,标记出新增与修改的数据位置并记录到临时数据库中,然后再以数据库的其他数据(未标记的数据)为基准与文件数据中剩余数据(未标记的数据)进行比较,比较出需要删除的数据,并在数据库中进行删除,同时记录任务清单状态。
110.之后,将任务清单提交到数据存储处理器中,数据存储处理器会通过任务编号读取数据文件,根据临时数据库中相应的标记数据进行对数据库插入数据的操作,并设置任务清单状态,插入完成以后将任务清单提交到任务中心,任务中心则针对成功的任务进行对应任务清单状态的设置。
111.查询任务状态接收器,收到数据时会通过任务编号,发送相应的任务清单数据。
112.可选的,本技术实施例还提供了一种数据采集方法的流程,如图4所示,具体步骤如下。
113.s401,获取外网服务器中生成的采集任务,所述采集任务包括目标数据源。
114.s402,在内网服务器中采集所述目标数据源对应的数据。
115.s403,将采集的所述数据发送至所述外网服务器,以使所述外网服务器基于所述数据同步外网数据库。
116.本技术实施例提供的一种数据采集方法,可以应用于前述数据采集系统中的采集客户端。在本技术实施例中,采集客户端可以与外网服务器进行通信,获取外网服务器中生成的采集任务,该采集任务包括目标数据源。并且,采集客户端可以与内网服务器中进行通信,在内网服务器中采集与目标数据源对应的数据,最后,将采集的数据发送至外网服务器,以使外网服务器基于该数据同步外网数据库。
117.本技术实施例中,通过采集客户端建立内网和外网之间的联系,利用采集客户端,按照外网服务器生成的采集任务,采集内网服务器中的数据,并将采集的数据发送至外网服务器,从而实现外网服务器对内网服务器中数据的跨域采集。
118.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
119.通信接口用于上述电子设备与其他设备之间的通信。
120.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
121.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
122.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据采集方法的步骤。
123.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据采集方法。
124.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
125.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除
在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
126.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献