本发明涉及数据采集及解析技术领域,更具体地说,涉及一种数据采集解析方法及装置。
背景技术:
基于医疗云,从海量分散医疗机构数据中挖据有价值的数据,以用来协助社区及基层卫生机构的初级医生对患者作出准确的诊断和用药决策、进行流行病、慢性病的自动筛查、趋势分析和爆发预警等具有重要意义。
不同的医疗机构具有不同的业务数据库,目前由海量分散医疗机构对应的多个业务数据库中获取到业务数据均是通过同一线程实现采集解析的,但是随着业务数据的增多,利用同一线程实现数据采集采集存在数据采集解析速度慢的问题。
综上所述,现有技术中利用同一线程实现数据采集分析的技术方案存在数据采集解析速度慢的问题。
技术实现要素:
本发明的目的是提供一种数据采集解析方法及装置,以解决现有技术中利用同一线程实现数据采集分析的技术方案存在的数据采集解析速度慢的问题。
为了实现上述目的,本发明提供如下技术方案:
一种数据采集解析方法,包括:
每经过预设时间段,则利用多个数据采集线程以一一对应的方式由多个业务数据库中分别获取对应的业务数据,并对所述业务数据进行预设处理,得到待传输数据;
利用多个数据解析线程以一一对应的方式获取利用多个所述数据采集线程得到的对应待传输数据,并对所述待传输数据进行预设解析,得到所述业务数据。
优选的,利用多个数据采集线程得到待传输数据之后,还包括:
将所述待传输数据上报至消息队列中;
对应的,利用多个数据解析线程获取对应待传输数据,包括:
利用多个所述数据解析线程由所述消息队列中获取对应待传输数据。
优选的,还包括:
如果任一业务数据或者待传输数据被任一数据采集线程或者数据解析线程获取后,则确定该数据为无法被再次获取的失效数据。
优选的,利用所述数据采集线程对对应业务数据进行预设处理,得到待传输数据,包括:
利用所述数据采集线程将对应业务数据封装成XML格式的字符串,并将该字符串转化为json格式的待传输数据;
对应的,利用所述数据解析线程对对应待传输数据进行预设解析,得到所述业务数据,包括:
利用所述数据解析线程将对应待传输数据转化为XML格式的字符串,并将该字符串转化为所述业务数据。
优选的,利用所述数据采集线程获取对应业务数据之后,还包括:
利用所述数据采集线程将对应业务数据中符合预设清洗规则的数据进行删除,并将剩余的业务数据转化成具有与预设数据库对应的数据格式的数据。
一种数据采集解析装置,包括:
采集模块,用于每经过预设时间段,则利用多个数据采集线程以一一对应的方式由多个业务数据库中分别获取对应的业务数据,并对所述业务数据进行预设处理,得到待传输数据;
解析模块,用于利用多个数据解析线程以一一对应的方式获取利用多个所述数据采集线程得到的对应待传输数据,并对所述待传输数据进行预设解析,得到所述业务数据。
优选的,还包括:
上报模块,用于将所述待传输数据上报至消息队列中;
对应的,所述解析模块包括:
获取单元,用于利用多个所述数据解析线程由所述消息队列中获取对应待传输数据。
优选的,还包括:
失效模块,用于如果任一业务数据或者待传输数据被任一数据采集线程或者数据解析线程获取后,则确定该数据为无法被再次获取的失效数据。
优选的,所述采集模块包括:
处理单元,用于利用所述数据采集线程将对应业务数据封装成XML格式的字符串,并将该字符串转化为json格式的待传输数据;
对应的,所述解析模块包括:
解析单元,用于利用所述数据解析线程将对应待传输数据转化为XML格式的字符串,并将该字符串转化为所述业务数据。
优选的,还包括:
处理模块,用于获取对应业务数据之后,利用所述数据采集线程将对应业务数据中符合预设清洗规则的数据进行删除,并将剩余的业务数据转化成具有与预设数据库对应的数据格式的数据。
本发明提供了一种数据采集解析方法及装置,其中该方法包括:每经过预设时间段,则利用多个数据采集线程以一一对应的方式由多个业务数据库中分别获取对应的业务数据,并对所述业务数据进行预设处理,得到待传输数据;利用多个数据解析线程以一一对应的方式获取利用多个所述数据采集线程得到的对应待传输数据,并对所述待传输数据进行预设解析,得到所述业务数据。本发明实施例提供的技术方案中,利用多个数据采集线程以一一对应的方式由多个业务数据库中获取业务数据并进行预设处理得到对应待传输数据,进而利用多个数据解析线程以一一对应的方式对多个数据采集线程获取的待处理数据进行预设解析,得到业务数据。可见,本申请中通过利用多个数据采集线程同时实现对多个业务数据库的数据采集及处理,且利用多个数据解析线程同时实现对多个业务数据库对应待传输数据的解析,从而大大加快了数据采集及解析的速度,进而提高了数据采集解析的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据采集解析方法的流程图;
图2为本发明实施例提供的一种数据采集解析装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种数据采集解析方法的流程图,可以包括:
S11:每经过预设时间段,则利用多个数据采集线程以一一对应的方式由多个业务数据库中分别获取对应的业务数据,并对业务数据进行预设处理,得到待传输数据。
预设时间段可以根据实际需要进行设定,如当实时性要求较高时,则预设时间段可以设置的较短,否则,则预设时间段可以设置的较长,等;均在本发明的保护范围之内。业务数据库的数量为多个,每个数据采集线程负责对其中一个业务数据库的业务进行采集及预设处理,即业务数据库与数据采集线程一一对应,因此,业务数据库的数量与数据采集线程的数量相同。而预设处理可以根据实际需要进行确定,具体可以是将业务数据处理成利于传输的数据等,在此不做具体限定。
S12:利用多个数据解析线程以一一对应的方式获取利用多个数据采集线程得到的对应待传输数据,并对待传输数据进行预设解析,得到业务数据。
数据解析线程与数据采集线程一一对应,从而由多个数据解析线程分别对多个数据采集线程得到的待传输数据进行预设解析,具体来说,预设解析的过程与预设处理的过程互为逆过程,也即通过预设解析将待传输数据还原至业务数据,进而可以将业务数据存储至数据仓库中。
另外,本发明实施例提供的上述技术方案可以是基于java多线程实现的,当然也可以根据实际需要进行其他设定,均在本发明的保护范围之内。
本发明实施例提供的技术方案中,利用多个数据采集线程以一一对应的方式由多个业务数据库中获取业务数据并进行预设处理得到对应待传输数据,进而利用多个数据解析线程以一一对应的方式对多个数据采集线程获取的待处理数据进行预设解析,得到业务数据。可见,本申请中通过利用多个数据采集线程同时实现对多个业务数据库的数据采集及处理,且利用多个数据解析线程同时实现对多个业务数据库对应待传输数据的解析,从而大大加快了数据采集及解析的速度,进而提高了数据采集解析的实时性。
本发明实施例提供的一种数据采集解析方法,利用多个数据采集线程得到待传输数据之后,还可以包括:
将待传输数据上报至消息队列中;
对应的,利用多个数据解析线程获取对应待传输数据,包括:
利用多个数据解析线程由消息队列中获取对应待传输数据。
由此,以消息队列作为数据中转通道,即将待传输数据上报至消息队列中,对应的数据解析线程由消息队列中获取待传输数据,由于消息队列具有数据持久化的特点,从而避免了数据的丢失,保证了数据的可靠性。另外,还可以基于数据的优先级在消息队列中对其进行排序,从而对于优先级高的数据优先处理,保证了数据的高效率采集解析。
本发明实施例提供的一种数据采集解析方法,还可以包括:
如果任一业务数据或者待传输数据被任一数据采集线程或者数据解析线程获取后,则确定该数据为无法被再次获取的失效数据。
如果任一业务数据被任一数据采集线程获取或者任一待传输数据被任一数据解析线程获取后,则被获取的数据为失效数据,不能被任一线程再次获取,从而避免了数据的重复获取,进一步保证了数据处理效率。
本发明实施例提供的一种数据采集解析方法,利用数据采集线程对对应业务数据进行预设处理,得到待传输数据,可以包括:
利用数据采集线程将对应业务数据封装成XML格式的字符串,并将该字符串转化为json格式的待传输数据;
对应的,利用数据解析线程对对应待传输数据进行预设解析,得到业务数据,可以包括:
利用数据解析线程将对应待传输数据转化为XML格式的字符串,并将该字符串转化为业务数据。
上述两个步骤互为逆过程,通过将业务数据封装成上述格式的待传输数据,能够有效减少其占用空间,且利于数据的快速传输。
本发明实施例提供的一种数据采集解析方法,利用数据采集线程获取对应业务数据之后,还可以包括:
利用数据采集线程将对应业务数据中符合预设清洗规则的数据进行删除,并将剩余的业务数据转化成具有与预设数据库对应的数据格式的数据。
其中预设清洗规则可以根据实际需要进行确定,即根据实际需要对业务数据中并不需要的数据进行清洗过滤,而数据最后会被存储至数据仓库,即数据库,因此预设数据库即为数据最后被存储至的数据库,从而解决了异构数据库之间数据转化问题,保证数据以可读可写的方式被存储,利于后续对数据的读写。
本发明实施例还提供了一种数据采集解析装置,如图2所示,可以包括:
采集模块11,用于每经过预设时间段,则利用多个数据采集线程以一一对应的方式由多个业务数据库中分别获取对应的业务数据,并对业务数据进行预设处理,得到待传输数据;
解析模块12,用于利用多个数据解析线程以一一对应的方式获取利用多个数据采集线程得到的对应待传输数据,并对待传输数据进行预设解析,得到业务数据。
本发明实施例提供的一种数据采集解析装置,还可以包括:
上报模块,用于将待传输数据上报至消息队列中;
对应的,解析模块可以包括:
获取单元,用于利用多个数据解析线程由消息队列中获取对应待传输数据。
本发明实施例提供的一种数据采集解析装置,还可以包括:
失效模块,用于如果任一业务数据或者待传输数据被任一数据采集线程或者数据解析线程获取后,则确定该数据为无法被再次获取的失效数据。
本发明实施例提供的一种数据采集解析装置,采集模块可以包括:
处理单元,用于利用数据采集线程将对应业务数据封装成XML格式的字符串,并将该字符串转化为json格式的待传输数据;
对应的,解析模块包括:
解析单元,用于利用数据解析线程将对应待传输数据转化为XML格式的字符串,并将该字符串转化为业务数据。
本发明实施例提供的一种数据采集解析装置,还可以包括:
处理模块,用于获取对应业务数据之后,利用数据采集线程将对应业务数据中符合预设清洗规则的数据进行删除,并将剩余的业务数据转化成具有与预设数据库对应的数据格式的数据。
本发明实施例提供的一种数据采集解析装置中相关部分的说明请参见本发明实施例提供的一种数据采集解析方法中对应部分的详细说明,在此不再赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。