CN107562701A - 一种钢贸行业现货资源的数据解析方法及其*** - Google Patents
一种钢贸行业现货资源的数据解析方法及其*** Download PDFInfo
- Publication number
- CN107562701A CN107562701A CN201710722845.5A CN201710722845A CN107562701A CN 107562701 A CN107562701 A CN 107562701A CN 201710722845 A CN201710722845 A CN 201710722845A CN 107562701 A CN107562701 A CN 107562701A
- Authority
- CN
- China
- Prior art keywords
- server
- unit
- resolved
- data
- source material
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种钢贸行业现货资源的数据解析方法及其***,所述方法包括以下步骤:(1)调用方发送一资源单解析请求至第一服务器;(2)第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;(3)解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;(4)解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;(5)解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种钢贸行业现货资源的数据解析方法及其***。
背景技术
钢贸行业的“搜索”和其他行业一样,用户进入任何一个钢贸行业网站,通过输入关键词就可以进行搜索。在钢贸行业,用于查找目标信息的给定区域范围称之为“资源池”。钢贸行业的“资源池”一般包括如下信息:品类、材质、规格、钢厂、仓库、价格、数量、尺寸等等。另外,“资源池”中的数据一般为每天甚至每小时进行不断地更新数据。
现代化钢贸行业网站的“资源池”数据一般由不同的钢材供应商及平台运营商将包含现货货源信息的原始资源单上传至网站,然后再汇总至网站的数据库中得来的。这些原始资源单一般以常见的文档格式上传,如word、excel或txt文档。
由于每个供应商或平台运营商上传的资源单格式不尽相同,有的甚至是没有格式的纯自然语言,但是最终需要存储至数据库的数据必须严格按照网站要求的行列规整的数据表,因此,需要将各种杂乱无章的、格式多样、多种版本的资源单中数据提取出来,整理、筛选、组织成统一格式的有效数据。
现有的数据解析平台是通过使用donet技术所开发的代码提供多个业务并针对不同格式的资源单进行数据解析。由于每个供应商或平台运营商提供的非标准资源单存在地域差异性,而且每一种格式的资源单需要使用单独的规则配置,因此,这就会增加数据解析的复杂度。另外,现有的数据解析平台是在单个机器上同时运行多个业务,容易造成数据解析时资源紧缺及***性能下降。另外,现有的数据解析平台所使用的业务无法对占用空间较大的资源单和占用空间较小的资源单区分处理,这样会导致适宜处理占用空间较小的资源单的业务在处理占用空间较大的资源单时发生如卡死的异常情况,并且影响到其他业务执行数据解析的操作。另外,现有的数据解析平台在解析过程中,只支持固定一调度方,扩展性较差且难以维护。
有鉴于此,需提供一种新的数据解析方法及其***以解决上述问题。
发明内容
本发明的目的在于,提供一种钢贸行业现货资源的数据解析方法,所述方法是通过使用统一的接口来获取待解析的资源单,并利用一内置的解析规则模块将原始的资源单解析转变为具有标准格式的数据文档,以供多个调用方使用,从而实现解析分离,使得各个调用方的预设解析规则彼此不受影响,而且支持多种格式的资源单的解析以及超大文件的处理。且,所述方法具有实时维护、准确率高、效率佳及可扩展强等特点。
为了解决上述问题,本发明提供了一种钢贸行业现货资源的数据解析方法,其包括以下步骤:(1)调用方发送一资源单解析请求至第一服务器;(2)第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;(3)解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;(4)解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;(5)解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
在本发明的一实施例中,在步骤(2)中,所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。
在本发明的一实施例中,在步骤(2)中,所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。
在本发明的一实施例中,在步骤(4)中,进一步包括:(41)解析服务器对所述原始资源单进行预处理操作;(42)在预处理操作之后,解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体;(43)解析服务器对所述待处理数据结构体进行格式化操作;(44)解析服务器输出标准格式的数据文档。
在本发明的一实施例中,在步骤(41)中进一步包括:(411)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档,若是,则执行步骤(412),若不是,则执行步骤(42);(412)加载word解析程序,将所述word文档转化为文本文档,并返回至步骤(42)。
在本发明的一实施例中,在步骤(42)中进一步包括:(421)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;若是,则执行步骤(422),若不是,则直接执行步骤(423);(422)加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并返回至步骤(43);(423)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档,若是,则执行步骤(424),若不是,则解析服务器发送一解析异常消息至第二服务器;(424)加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并返回至步骤(43)。
在本发明的一实施例中,在步骤(43)中,进一步包括:(431)解析服务器对待处理数据结构体中的信息项进行补全操作;(432)解析服务器对待处理数据结构体中的重复信息项进行清洗操作;(433)解析服务器对待处理数据结构体中的信息项进行拆分操作。
另外,本发明还提供一种钢贸行业现货资源的数据解析***,包括:一资源单解析请求模块,所述资源单解析请求模块用于使用方发送一资源单解析请求至第一服务器;一待解析任务请求生成模块,所述待解析任务请求生成模块与所述资源单解析请求模块相连,所述待解析任务请求生成模块用于使第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;一原始资源单获取模块,所述原始资源单获取模块与所述待解析任务请求生成模块相连,所述原始资源单获取模块用于使解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;一标准数据文档生成模块,所述标准数据文档生成模块与所述原始资源单获取模块相连,所述标准数据文档生成模块用于使解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;一解析结果生成模块,所述解析结果生成模块与所述标准数据文档生成模块相连,所述解析结果生成模块用于使解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
在本发明的一实施例中,所述待解析任务请求生成模块还用于使所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。
在本发明的一实施例中,所述待解析任务请求生成模块还用于使所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。
在本发明的一实施例中,所述标准数据文档生成模块进一步包括:一原始资源单预处理单元,所述原始资源单预处理单元用于使解析服务器对所述原始资源单进行预处理操作;一待处理数据结构体获取单元,所述待处理数据结构体获取单元与所述原始资源单预处理单元相连,所述待处理数据结构体获取单元用于在预处理操作之后,使解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体;一数据结构体格式单元,所述数据结构体格式单元与所述待处理数据结构体获取单元相连,所述数据结构体格式单元用于使解析服务器对所述待处理数据结构体进行格式化操作;一数据文档输出单元,所述数据文档输出单元与所述数据结构体格式单元相连,所述数据文档输出单元用于使解析服务器输出标准格式的数据文档。
在本发明的一实施例中,所述原始资源单预处理单元进一步包括:一word文档判断子单元,所述word文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档;一word文档解析子单元,所述word文档解析子单元与所述word文档判断子单元相连,所述word文档解析子单元用于当判断出原始资源单为word文档时,加载word解析程序,将所述word文档转化为文本文档,并调用所述待处理数据结构体获取单元。
在本发明的一实施例中,所述待处理数据结构体获取单元进一步包括:一excel文档判断子单元,所述excel文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;一excel文档解析子单元,所述excel文档解析子单元与所述excel文档判断子单元相连,所述excel文档解析子单元用于当判断出原始资源单为excel文档时,加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并调用所述数据结构体格式单元;一文本文档判断子单元,所述文本文档判断子单元与所述excel文档判断子单元相连,所述文本文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档;一文本文档解析子单元,所述文本文档解析子单元与所述文本文档判断子单元相连,所述文本文档解析子单元用于当判断出原始资源单为文本文档时,加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并调用所述数据结构体格式单元;一解析异常消息发送子单元,所述解析异常消息发送子单元与所述文本文档判断子单元相连,所述解析异常消息发送子单元用于当判断出原始资源单不是文本文档时,使解析服务器发送一解析异常消息至第二服务器。
在本发明的一实施例中,所述标准数据文档生成模块进一步包括:一信息项补全单元,所述信息项补全单元用于使解析服务器对待处理数据结构体中的信息项进行补全操作;一信息项清洗单元,所述信息项清洗单元与所述信息项补全单元相连,所述信息项清洗单元用于使解析服务器对待处理数据结构体中的重复信息项进行清洗操作;一信息项拆分单元,所述信息项拆分单元与所述信息项清洗单元相连,所述信息项拆分单元用于使解析服务器对待处理数据结构体中的信息项进行拆分操作。
本发明的优点在于,本发明实施例的钢贸行业现货资源的数据解析方法通过使用统一的接口来获取待解析的资源单,并利用一内置的解析规则模块将原始的资源单解析转变为具有标准格式的数据文档,以供多个调用方使用,从而实现解析分离,使得各个调用方的预设解析规则彼此不受影响,而且支持多种格式的资源单的解析以及超大文件的处理。且,所述方法具有实时维护、准确率高、效率佳及可扩展强等特点。
附图说明
图1是本发明一实施例的钢贸行业现货资源的数据解析方法步骤流程图。
图2是本发明所述实施例的数据解析方法中的步骤S140的子步骤流程图。
图3是本发明所述实施例的数据解析方法中的子步骤S141和S142的步骤流程图。
图4是本发明所述实施例的数据解析方法中的子步骤S143的步骤流程图。
图5是本发明另一实施例的钢贸行业现货资源的数据解析***的框架图。
图6是本发明所述另一实施例的数据解析***中的标准数据文档生成模块的框架图。
图7是本发明所述另一实施例的数据解析***中的原始资源单预处理单元的框架图。
图8是本发明所述另一实施例的数据解析***中的待处理数据结构体获取单元的框架图。
图9是本发明所述另一实施例的数据解析***中的数据结构体格式单元。
具体实施方式
下面结合附图对本发明提供的钢贸行业现货资源的数据解析方法及其***的具体实施方式做详细说明。
参见图1所示,本发明的一实施例中提供了一种钢贸行业现货资源的数据解析方法,其包括以下步骤:
步骤S110:调用方发送一资源单解析请求至第一服务器。
在此步骤中,所述调用方可以指用户或者运营商平台相关人员,也可以指一设备或装置。用户或运营商平台相关人员通过钢材供应商合作的网站站点或运营商平台(如ERP后台)上传原始资源单至资源单解析平台。在本实施例中,所述调用方可以为多个,既包括钢材供应商合作的网站站点,也包括运营商平台。另外,每一个调用方可使用的预设解析规则可不同(参见下文描述)。在本发明的实施例中,所述资源单解析平台包括用于接收资源单解析请求的第一服务器、用于存储原始资源单的文件服务器(例如ftp文件服务器)、用于记录待解析任务请求的第二服务器以及多个解析服务器。
另外,调用方将原始资源单上传至资源单解析平台中的文件服务器。在本实施例中,可以预先设定与调用方对应的文件服务器,包括该文件服务器的地址及路径,其中,所述地址及路径配置在一路由表中。由于可以设定不同的调用方对应不同的文件服务器,因此,使得后继的数据解析操作彼此分离,各个调用方的预设解析规则不受影响。
步骤S120:第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器。
在此步骤中,采用异步方式生成待解析任务请求,这样就可以保证第一服务器不受影响继续执行其他操作,不需要像同步方式要等到接收相应的响应才可以进行其他工作。
另外,在此步骤中,所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。也就是说,由于第一服务器一次可以发送多个待解析任务请求,且第一服务器通过异步方式生成待解析任务请求,第一服务器在执行其他操作时,若接收到从解析服务器所发送的解析结果时,若没有任务标识号则无法确认是根据哪一个待解析任务请求而响应并生成的解析结果。因此,通过设置任务标识号,第一服务器可以根据任务标识号而匹配相应的解析结果。
另外,在此步骤中,所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。这样,在区分不同的调用方后,所述解析服务器可以根据不同的调用方而在解析规则模块中调用相对应的预设解析规则来进行解析,从而实现解析分离,使各个调用方的预设解析规则彼此不受影响。此外,由于能够区分不同的调用方,因此,可以定制各自的预设解析规则。
步骤S130:解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单。
在此步骤中,解析服务器会周期性地从所述第二服务器调取所述待解析任务请求,并且根据预先设定的ftp地址,从对应的文件服务器获取与所述待解析任务请求相对应的原始资源单。
步骤S140:解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器。
参见图2所示,在本实施例中,步骤S140进一步包括以下子步骤:
步骤S141:解析服务器对所述原始资源单进行预处理操作。
在本实施例中,在步骤S141中进一步包括:
参见图3所示,步骤S1411:解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档,若是,则执行步骤S1412,若不是,则执行步骤S142。
由于将解析规则模块中的预设解析规则加载于内存,包括word解析程序以及之后的excel解析程序、文本解析程序以及补全操作、清洗操作和拆分操作的解析规则,因此,能够达到读取速度更快、效率更高的效果。另外,通过刷新内存(或称缓存)就可以更新预设解析规则的配置。
步骤S1412:加载word解析程序,将所述word文档转化为文本文档,并返回至步骤S142。
在步骤S1412中,加载word解析程序,将word文档读取为字符串,之后的解析与txt文本文档相同。
另外,预处理除了上述将word文档转化为文本文档的操作之外,还可以进一步包括:对原始资源单的文件大小进行校验,如果该文件大小超过20M时,不进行解析操作;以及获取原始资源单的相关信息(例如文件大小、文件类型、文件md5等信息)并存储至解析服务器的数据库中。
步骤S142:在预处理操作之后,解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体。
在本实施例中,在步骤S142中进一步包括:
步骤S1421:解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;若是,则执行步骤S1422,若不是,则直接执行步骤S1423。
步骤S1422:加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并返回至步骤S143。
在此步骤中,使用POI方式(Poor Obfuscation Implementation,简陋的模糊实现,其可以通过JAVA操作Microsoft office套件工具的读写功能)读取所述excel文档。也就是,确认所有表格区域,以表格区域为单位读取所述excel文档,从而得到原始资源集合,即待处理数据结构体,其中原始资源集合(待处理数据结构体)包括多个信息项。
在本文中,信息项是指:品类、材质、规格、钢厂、仓库、价格、厚度、宽度、长度等,信息项配置在数据库中。
信息项别名是指信息项的其他可能出现的写法,要求2个字符串以上,尺寸除外。如“品名”即为“品类”,“销售价”即为“价格”,信息项别名配置在数据库中。
信息项枚举是指信息项对应的值,如仓库对应的“中储宝山库”、“象屿库”等,信息项枚举配置在数据库中。
上述的信息项、信息项别名及信息项枚举为解析服务器的数据库中设置的三个不同的配置表。当执行解析操作时,上述三个配置表会被加载至内存(或称缓存)中,以供预设解析规则调用。
另外,上述的表格区域是指:excel文档从解析服务器的数据库中设置的配置表来读取信息项别名,遍历excel。例如以规格为主要表头,若没有规格则以厚度为主要表头,从表头往下确定表格区域直到遇到下一个表头停止,以定义出一个表格区域的上边界和下边界;从主要表头左右发散直到第1列或下一个主要表头停止,以确定一个表格区域的左边界和右边界。这样,在确定了表格区域之后,表格区域的第一行是标题,第二行直到下边界的每一行为一条有效数据。
原始资源集合:存放了品类、材质、规格、钢厂、仓库、价格、厚度、宽度、长度等多个信息项。
另外,在本发明中,资源单解析平台除了接入平台运营商(调用方),也接入了钢材供应商(调用方),而钢材供应商(调用方)所提供的原始资源单均为excel文档。因此,解析服务器不仅支持现有技术中原始资源单为word文档及文本文档,而且支持原始资源单为excel文档,且支持超大文件解析。
步骤S1423:解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档,若是,则执行步骤S1424,若不是,则解析服务器发送一解析异常消息至第二服务器。
若解析服务器判断出原始资源单既不是word文档或文本文档,也不是excel文档,则解析服务器发送一解析异常消息至第二服务器,以表示解析服务器不支持这种类型的原始资源单,因此,解析服务器无法进行相关的数据提取操作。
步骤S1424:加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并返回至步骤S143。
在此步骤中,解析服务器对文本文档进行逐行解析,每一行根据空格拆分为文本块。每一个文本块根据正则表达式判断其属于哪一个信息项。若无法通过正则表达式来进行确定的,则通过信息项枚举在穷举词库进行匹配,以判定属于哪一个信息项,当所有文本块确定了信息项之后,以例如规格为主要信息项来组合,并形成原始资源集合。
由于在解析如word文档、txt文本文档时先使用正则表达式进行匹配,再使用穷举词库进行穷举,于是,能够达到解析准确率更高、效率更高的效果。
另外,在本实施例中,所述解析服务器对文本文档的解析是以文本块方式进行,与现有技术(根据行进行解析,每一行只能解析出一条有效数据,如果一行表达了多组有效数据时,则不能解析),其并不拘泥于每行一条数据,可以解析出一行中的多组有效数据。例如文本文档中某一行的内容为Q235B 2.5*1250 2.7*1250,现有技术只能解析出一组有效数据Q235B 2.7*1250,而本发明可以解析出两条Q235B 2.5*1250和Q235B 2.7*1250。
另外,在本实施例中,当所述解析服务器对原始资源单进行解析,其中该原始资源单为文本文档,该文本文档中的某一行内容为Q235B 2.5*1250=1500,现有技术只能解析出材质:Q235B,规格2.5*1250=1500,无法解析出1500代表价格,而本发明能够解析出材质:Q235B,规格:2.5*1250,价格:1500。因此,本发明的解析准确率更高。
另外,现有技术的解析规则只支持以规格为主要节点,而本发明的解析规则支持以规格为主要节点,厚度为次主要节点。也就是说,当规格为空时,本发明的解析规则是根据厚度*宽度*长度来组装规格。
另外,需注意的是,本发明在步骤S142中执行预解析操作,该操作只负责对原始资源单进行读取,并不包括执行补全、清洗(或称去重)、拆分。
步骤S143:解析服务器对所述待处理数据结构体进行格式化操作。
参见图4所示,在步骤S143中,进一步包括:
步骤S1431:解析服务器对待处理数据结构体中的信息项进行补全操作。
在此步骤中,通过解析规则对缺少的信息项进行补全,首先从同行补,同行若有字段,可以匹配到缺少字段的某一信息项枚举,则补全为该信息项枚举;其次,同行不能补全,则从excel文档的表格区域之上的注释行进行补全,其补全逻辑和同行补全逻辑相似;最后,若仍然无法补全,则从上一行继承。
对缺少的信息项进行补全的另一种解析规则为:如果规格为空且厚度、宽度、长度不为空,使用厚度、宽度、长度,以组装成规格。
另外,在本实施例中,补全操作是指补全品类、材质、规格、钢厂、仓库。
步骤S1432:解析服务器对待处理数据结构体中的重复信息项进行清洗操作。
有4种去重(或称为清洗)的解析规则。其中一种是根据品类、材质、规格、钢厂四个纬度去重,若原始资源集合中上述四个字段为相等,则视为是重复数据,只保留一条。
步骤S1433:解析服务器对待处理数据结构体中的信息项进行拆分操作。
通过解析服务器的数据库中的配置表的设定,除了实现规格拆分之外,还可以实现品类拆分、钢厂拆分、仓库拆分、材质拆分。另外,拆分的顺序及组合也可以通过解析服务器的数据库中的配置表的设定来实现。
步骤S144:解析服务器输出标准格式的数据文档。
步骤S150:解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
在此步骤中,当解析服务器完成解析操作,并且将解析结果发送至所述调用方后,同时,解析服务器会更新所述第二服务器中相应的待解析任务请求的标识,以标识该待解析任务请求已完成解析操作。另外,当解析服务器无法通知所述调用方时,所述解析服务器会记录一通知标识于第二服务器中,并且根据该通知标识的状态定时与第二服务器相连,以再次发送解析结果至所述调用方。
另外,在此步骤中解析服务器将数据文档传送至预先设定的文件服务器,该文件服务器可以与先前用于存储原始资源单的文件服务器为同一服务器,也可以为不同服务器。当调用方需要时,解析服务器可以将数据文档以excel格式的文档传送至文件服务器,以便于(外部)的调用方使用。
另外,本发明的另一实施例还提供一种钢贸行业现货资源的数据解析***,可参见图5所示。
所述***包括:一资源单解析请求模块510,所述资源单解析请求模块510用于使用方发送一资源单解析请求至第一服务器;一待解析任务请求生成模块520,所述待解析任务请求生成模块520与所述资源单解析请求模块510相连,所述待解析任务请求生成模块520用于使第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;一原始资源单获取模块530,所述原始资源单获取模块530与所述待解析任务请求生成模块520相连,所述原始资源单获取模块530用于使解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;一标准数据文档生成模块540,所述标准数据文档生成模块540与所述原始资源单获取模块530相连,所述标准数据文档生成模块540用于使解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;一解析结果生成模块550,所述解析结果生成模块550与所述标准数据文档生成模块540相连,所述解析结果生成模块550用于使解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
在所述另一实施例中,所述待解析任务请求生成模块520还用于使所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。
另外,所述待解析任务请求生成模块520还用于使所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。
参见图6,在所述另一实施例中,所述标准数据文档生成模块540进一步包括:一原始资源单预处理单元541,所述原始资源单预处理单元541用于使解析服务器对所述原始资源单进行预处理操作;一待处理数据结构体获取单元542,所述待处理数据结构体获取单元542与所述原始资源单预处理单元541相连,所述待处理数据结构体获取单元542用于在预处理操作之后,使解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体;一数据结构体格式单元543,所述数据结构体格式单元543与所述待处理数据结构体获取单元542相连,所述数据结构体格式单元543用于使解析服务器对所述待处理数据结构体进行格式化操作;一数据文档输出单元544,所述数据文档输出单元544与所述数据结构体格式单元543相连,所述数据文档输出单元544用于使解析服务器输出标准格式的数据文档。
其中,参见图7和图8所示,所述原始资源单预处理单元541进一步包括:一word文档判断子单元5411,所述word文档判断子单元5411用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档;一word文档解析子单元5412,所述word文档解析子单元5412与所述word文档判断子单元5411相连,所述word文档解析子单元5412用于当判断出原始资源单为word文档时,加载word解析程序,将所述word文档转化为文本文档,并调用所述待处理数据结构体获取单元542。
所述待处理数据结构体获取单元542进一步包括:一excel文档判断子单元5421,所述excel文档判断子单元5421用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;一excel文档解析子单元5422,所述excel文档解析子单元5422与所述excel文档判断子单元5421相连,所述excel文档解析子单元5422用于当判断出原始资源单为excel文档时,加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并调用所述数据结构体格式单元543;一文本文档判断子单元5423,所述文本文档判断子单元5423与所述excel文档判断子单元5421相连,所述文本文档判断子单元5423用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档;一文本文档解析子单元5424,所述文本文档解析子单元5424与所述文本文档判断子单元5423相连,所述文本文档解析子单元5424用于当判断出原始资源单为文本文档时,加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并调用所述数据结构体格式单元543;一解析异常消息发送子单元5425,所述解析异常消息发送子单元5425与所述文本文档判断子单元5423相连,所述解析异常消息发送子单元5425用于当判断出原始资源单不是文本文档时,使解析服务器发送一解析异常消息至第二服务器。
参见图9所示,所述标准数据文档生成模块540进一步包括:一信息项补全单元5431,所述信息项补全单元5431用于使解析服务器对待处理数据结构体中的信息项进行补全操作;一信息项清洗单元5432,所述信息项清洗单元5432与所述信息项补全单元5431相连,所述信息项清洗单元5432用于使解析服务器对待处理数据结构体中的重复信息项进行清洗操作;一信息项拆分单元5433,所述信息项拆分单元5433与所述信息项清洗单元5432相连,所述信息项拆分单元5433用于使解析服务器对待处理数据结构体中的信息项进行拆分操作。
本发明实施例的钢贸行业现货资源的数据解析方法通过使用统一的接口来获取待解析的资源单,并利用一内置的解析规则模块将原始的资源单解析转变为具有标准格式的数据文档,以供多个调用方使用,从而实现解析分离,使得各个调用方的解析规则彼此不受影响,而且支持多种格式的资源单的解析以及超大文件的处理。且,所述方法具有实时维护、准确率高、效率佳及可扩展强等特点。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种钢贸行业现货资源的数据解析方法,其特征在于,包括以下步骤:
(1)调用方发送一资源单解析请求至第一服务器;
(2)第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;
(3)解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;
(4)解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;
(5)解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
2.根据权利要求1所述的数据解析方法,其特征在于,在步骤(2)中,所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。
3.根据权利要求1所述的数据解析方法,其特征在于,在步骤(2)中,所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。
4.根据权利要求1所述的数据解析方法,其特征在于,在步骤(4)中,进一步包括:
(41)解析服务器对所述原始资源单进行预处理操作;
(42)在预处理操作之后,解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体;
(43)解析服务器对所述待处理数据结构体进行格式化操作;
(44)解析服务器输出标准格式的数据文档。
5.根据权利要求4所述的数据解析方法,其特征在于,在步骤(41)中进一步包括:
(411)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档,若是,则执行步骤(412),若不是,则执行步骤(42);
(412)加载word解析程序,将所述word文档转化为文本文档,并返回至步骤(42)。
6.根据权利要求4所述的数据解析方法,其特征在于,在步骤(42)中进一步包括:
(421)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;若是,则执行步骤(422),若不是,则直接执行步骤(423);
(422)加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并返回至步骤(43);
(423)解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档,若是,则执行步骤(424),若不是,则解析服务器发送一解析异常消息至第二服务器;
(424)加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并返回至步骤(43)。
7.根据权利要求4所述的数据解析方法,其特征在于,在步骤(43)中,进一步包括:
(431)解析服务器对待处理数据结构体中的信息项进行补全操作;
(432)解析服务器对待处理数据结构体中的重复信息项进行清洗操作;
(433)解析服务器对待处理数据结构体中的信息项进行拆分操作。
8.一种钢贸行业现货资源的数据解析***,其特征在于,包括:
一资源单解析请求模块,所述资源单解析请求模块用于使用方发送一资源单解析请求至第一服务器;
一待解析任务请求生成模块,所述待解析任务请求生成模块与所述资源单解析请求模块相连,所述待解析任务请求生成模块用于使第一服务器通过异步方式生成待解析任务请求,并将所述待解析任务请求存储至第二服务器;
一原始资源单获取模块,所述原始资源单获取模块与所述待解析任务请求生成模块相连,所述原始资源单获取模块用于使解析服务器定时从所述第二服务器调取所述待解析任务请求,并从文件服务器获得与所述待解析任务请求相对应的原始资源单;
一标准数据文档生成模块,所述标准数据文档生成模块与所述原始资源单获取模块相连,所述标准数据文档生成模块用于使解析服务器通过一内置的解析规则模块将所述原始资源单解析为标准格式的数据文档,并将所述数据文档存储至所述文件服务器;
一解析结果生成模块,所述解析结果生成模块与所述标准数据文档生成模块相连,所述解析结果生成模块用于使解析服务器发送一解析结果至所述调用方,并且更新所述第二服务器中相应的待解析任务请求的标识。
9.根据权利要求8所述的钢贸行业现货资源的数据解析***,其特征在于,所述待解析任务请求生成模块还用于使所生成的待解析任务请求中包括唯一的任务标识号,所述任务标识号用于区分不同的待解析任务请求,以便于在解析服务器发送解析结果至调用方之后,调用方识别出所述解析结果中的任务标识号,并根据所述解析结果中的地址信息从相应的文件服务器中调用与所述任务标识号相对应的数据文档。
10.根据权利要求8所述的钢贸行业现货资源的数据解析***,其特征在于,所述待解析任务请求生成模块还用于使所生成的待解析任务请求中还包括一来源信息标识,所述来源信息标识用于区分不同的调用方。
11.根据权利要求8所述的钢贸行业现货资源的数据解析***,其特征在于,所述标准数据文档生成模块进一步包括:
一原始资源单预处理单元,所述原始资源单预处理单元用于使解析服务器对所述原始资源单进行预处理操作;
一待处理数据结构体获取单元,所述待处理数据结构体获取单元与所述原始资源单预处理单元相连,所述待处理数据结构体获取单元用于在预处理操作之后,使解析服务器对所述原始资源单进行数据提取操作,以获得标准的待处理数据结构体;
一数据结构体格式单元,所述数据结构体格式单元与所述待处理数据结构体获取单元相连,所述数据结构体格式单元用于使解析服务器对所述待处理数据结构体进行格式化操作;
一数据文档输出单元,所述数据文档输出单元与所述数据结构体格式单元相连,所述数据文档输出单元用于使解析服务器输出标准格式的数据文档。
12.根据权利要求11所述的钢贸行业现货资源的数据解析***,其特征在于,所述原始资源单预处理单元进一步包括:
一word文档判断子单元,所述word文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为word文档;
一word文档解析子单元,所述word文档解析子单元与所述word文档判断子单元相连,所述word文档解析子单元用于当判断出原始资源单为word文档时,加载word解析程序,将所述word文档转化为文本文档,并调用所述待处理数据结构体获取单元。
13.根据权利要求11所述的钢贸行业现货资源的数据解析***,其特征在于,所述待处理数据结构体获取单元进一步包括:
一excel文档判断子单元,所述excel文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为excel文档;
一excel文档解析子单元,所述excel文档解析子单元与所述excel文档判断子单元相连,所述excel文档解析子单元用于当判断出原始资源单为excel文档时,加载excel解析程序,通过POI方式读取所述excel文档,并将其转化为待处理数据结构体,并调用所述数据结构体格式单元;
一文本文档判断子单元,所述文本文档判断子单元与所述excel文档判断子单元相连,所述文本文档判断子单元用于使解析服务器通过加载于内存的预设解析规则进行判断原始资源单是否为文本文档;
一文本文档解析子单元,所述文本文档解析子单元与所述文本文档判断子单元相连,所述文本文档解析子单元用于当判断出原始资源单为文本文档时,加载文本解析程序,逐行读取所述文本文档,并通过正则表达式及穷举词库转化为待处理数据结构体,并调用所述数据结构体格式单元;
一解析异常消息发送子单元,所述解析异常消息发送子单元与所述文本文档判断子单元相连,所述解析异常消息发送子单元用于当判断出原始资源单不是文本文档时,使解析服务器发送一解析异常消息至第二服务器。
14.根据权利要求11所述的钢贸行业现货资源的数据解析***,其特征在于,所述标准数据文档生成模块进一步包括:
一信息项补全单元,所述信息项补全单元用于使解析服务器对待处理数据结构体中的信息项进行补全操作;
一信息项清洗单元,所述信息项清洗单元与所述信息项补全单元相连,所述信息项清洗单元用于使解析服务器对待处理数据结构体中的重复信息项进行清洗操作;
一信息项拆分单元,所述信息项拆分单元与所述信息项清洗单元相连,所述信息项拆分单元用于使解析服务器对待处理数据结构体中的信息项进行拆分操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710722845.5A CN107562701A (zh) | 2017-08-22 | 2017-08-22 | 一种钢贸行业现货资源的数据解析方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710722845.5A CN107562701A (zh) | 2017-08-22 | 2017-08-22 | 一种钢贸行业现货资源的数据解析方法及其*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562701A true CN107562701A (zh) | 2018-01-09 |
Family
ID=60976626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710722845.5A Pending CN107562701A (zh) | 2017-08-22 | 2017-08-22 | 一种钢贸行业现货资源的数据解析方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562701A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119472A (zh) * | 2019-05-22 | 2019-08-13 | 欧冶云商股份有限公司 | 应用于网络平台的钢产品检索方法及*** |
CN112800049A (zh) * | 2021-04-06 | 2021-05-14 | 航天神舟智慧***技术有限公司 | 基于大数据的excel数据源清洗方法、***、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572898A (zh) * | 2014-12-22 | 2015-04-29 | 上海钢富电子商务有限公司 | 一种钢贸行业现货资源的数据解析方法及*** |
CN104679819A (zh) * | 2014-12-22 | 2015-06-03 | 上海钢富电子商务有限公司 | 钢贸行业现货资源的数据解析方法及*** |
-
2017
- 2017-08-22 CN CN201710722845.5A patent/CN107562701A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572898A (zh) * | 2014-12-22 | 2015-04-29 | 上海钢富电子商务有限公司 | 一种钢贸行业现货资源的数据解析方法及*** |
CN104679819A (zh) * | 2014-12-22 | 2015-06-03 | 上海钢富电子商务有限公司 | 钢贸行业现货资源的数据解析方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119472A (zh) * | 2019-05-22 | 2019-08-13 | 欧冶云商股份有限公司 | 应用于网络平台的钢产品检索方法及*** |
CN112800049A (zh) * | 2021-04-06 | 2021-05-14 | 航天神舟智慧***技术有限公司 | 基于大数据的excel数据源清洗方法、***、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169337B2 (en) | Converting data into natural language form | |
US8234248B2 (en) | Tracking changes to a business object | |
US8209318B2 (en) | Product searching system and method using search logic according to each category | |
US11010360B2 (en) | Extending tags for information resources | |
GB2513537A (en) | Natural language processing | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
CN113282854A (zh) | 数据请求响应方法、装置、电子设备及存储介质 | |
CN107562701A (zh) | 一种钢贸行业现货资源的数据解析方法及其*** | |
CN104298603B (zh) | 一种应用***版本构建的正确性的检查方法 | |
JP2012190063A (ja) | データ生成装置及びデータ生成プログラム | |
CN101377772B (zh) | 用于全球化支持操作的***和方法 | |
JP5576570B2 (ja) | 業務仕様からワークフローを生成する方法、プログラム及びシステム | |
US8538935B2 (en) | One-to-one and one-to-many relationships in databases | |
CN106681852A (zh) | 一种浏览器兼容性的调整方法及装置 | |
JP6634938B2 (ja) | 分析支援方法、分析支援プログラムおよび分析支援装置 | |
JP2011175486A (ja) | 名寄せチェック支援装置、名寄せチェック支援プログラム及び名寄せチェック支援方法 | |
CN113918460A (zh) | 页面测试方法、装置、设备和介质 | |
CN110929085B (zh) | 基于元语义分解的电力客服留言生成模型样本处理***及方法 | |
JP2010191851A (ja) | 記事特徴語抽出装置、記事特徴語抽出方法及びプログラム | |
JP6677158B2 (ja) | 文書データ処理装置、文書データ処理方法、及び文書データ処理プログラム | |
JP2007241916A (ja) | プログラム解析方法、プログラム及びプログラム解析装置 | |
US10268674B2 (en) | Linguistic intelligence using language validator | |
JP5449023B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Miled et al. | A wrapper induction application with knowledge base support: A use case for initiation and maintenance of wrappers | |
JP6733364B2 (ja) | 課題推定装置、課題推定方法および課題推定プログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180109 |
|
RJ01 | Rejection of invention patent application after publication |