CN106649447B - 一种文件获取方法及服务器 - Google Patents
一种文件获取方法及服务器 Download PDFInfo
- Publication number
- CN106649447B CN106649447B CN201610835003.6A CN201610835003A CN106649447B CN 106649447 B CN106649447 B CN 106649447B CN 201610835003 A CN201610835003 A CN 201610835003A CN 106649447 B CN106649447 B CN 106649447B
- Authority
- CN
- China
- Prior art keywords
- file
- column
- data item
- data
- attribute
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件获取方法及服务器,涉及计算机技术领域,在源系统更新文件配置时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。包括:目标系统的服务器确定需通过目标文件接口接收来自源系统的文件,并确定文件对应的数据项信息;根据文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定文件对应的文件协议;根据文件对应的文件协议,通过目标文件接口获取文件;查询目标文件接口当前配置的文件列与数据项属性的映射关系,识别文件的每一个文件列,分别判断文件的每一个文件列中的数据是否合法;若合法,则存储文件携带的数据。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件获取方法及服务器。
背景技术
在电信BSS(business support system,业务支撑系统)领域,各个系统之间需要通过文件接口进行大量的数据同步。具体地,目标系统预先根据源系统的配置参数在目标系统的服务器上定义一个文件接口,源系统的服务器将数据传输至该文件接口,目标系统的服务器通过该文件接口接收该文件。如:CRM(Customer Relationship Management,客户关系管理)系统的服务器可以通过该服务器本地定义的文件接口接收BDC(Base DataCenter,局数据中心)系统的服务器传输的客户信息等。
目前,当源系统配置了新的接口或增加了接口属性时,源系统对应的目标系统无法利用自身服务器当前已有的文件接口接收到源系统传输的数据。此时,目标系统就需要根据源系统新的配置参数开发新的代码,定义新的文件接口。之后,目标系统才能通过新的文件接口接收源系统传输的数据。如此,大大增加了开发成本,同时也导致不同系统间无法及时进行数据同步。
发明内容
本发明实施提供一种文件获取方法及服务器,在源系统更新文件配置时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种文件获取方法,包括:
源系统的配置参数发生变化,源系统会根据更新后的配置参数向目标系统传输文件。具体地,目标系统的服务器扫描定时任务表,确定需通过目标文件接口接收来自源系统的文件,并确定该文件对应的数据项信息,这里的数据项信息用于描述该文件携带的数据,如数据项信息可以是“产品信息”,代表该文件携带的数据是产品信息;接着,目标系统的服务器根据该文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定该文件对应的文件协议,进而可以根据该文件协议,通过目标文件接口获取该文件;最后,查询目标文件接口当前配置的文件列与数据项属性的映射关系,识别该文件的每一个文件列;随后,分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法,若合法,则存储该文件携带的数据。需要说明的是,这里的数据项与文件协议的映射关系是根据源系统更新后的配置参数生成的,文件列与数据项属性的映射关系也是根据源系统更新后的配置参数生成的。
通常,源系统向目标系统发送文件以同步数据,同步的数据如:客户信息、产品信息等。当源系统的配置参数发生变化时,源系统的服务器传输的文件是与更新后的配置参数相匹配的。本发明实施例提供的方法,目标系统的服务器可以根据更新后的配置参数动态配置源系统对应的已有文件接口(即所述目标文件接口),进而可以通过该文件接口接收并识别第二服务器传输的文件。目标系统的服务器无需像现有技术那样在源系统的配置参数发生变化后,重新开发与更新后的配置参数相匹配的文件接口,如此可以大大节省开发成本。同时,在源系统更新配置参数时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。
结合第一方面,在第一方面的第一种可能的实现方式中,本发明实施例中所述文件协议至少包括存放文件的主机的信息、文件存放目录、文件名。则,上述根据所述文件对应的文件协议,通过所述目标文件接口获取该文件具体包括:根据所述文件对应的文件协议中包括的存放文件的主机的信息,确定存放该文件的主机的信息;进而可以根据该文件协议中包括的文件名,查询所述存放所述文件的主机,获取到该文件。具体地,根据源系统更新后的配置参数预先设置数据项对应的文件协议类型,通过定义每个数据项的属性以及每个数据项对应的文件列,进而建立数据项属性与文件列的映射关系。
需要说明的是,当源系统的配置参数发生改变,如传输文件的文件协议发生改变,由于在目标系统的服务器预先生成了新的文件协议与数据项的映射关系,如此,仍可以在获取数据项信息后根据此处的映射关系获取到源系统根据新的文件协议传输的文件。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,查询所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列具体包括:确定所述文件的每一个文件列的当前属性,即每一个文件列的真实属性。另外,查询文件列与数据项属性的映射关系,确定每一个文件列对应的预设属性;进而分别判断每一个文件列的当前属性与该文件列对应的预设属性是否相同,若每一个文件列的当前属性与自身对应的预设属性均相同,则确定识别所述文件的每一个文件列。示例的,数据项为“产品信息”,数据项的属性可以是产品开发时间(规格为字符)、产品作者信息(规格为中文)、产品金额(规格为字符)等,其中文件的第一列对应的属性是产品开发时间、文件的第二列对应的属性是产品作者信息,文件的第三列对应的属性是产品金额。若获取到的文件的第一列为字符,且代表产品开发时间,则可以识别第一列。若第二列为中文且代表产品作者信息,则可以识别第二列。若第三列为字符且代表产品金额,则可以识别第三列。
如此,根据更新后的配置参数相匹配动态设置已有文件接口的属性,使得已有接口可以识别与更新后的配置参数相匹配的文件,无需根据新的配置参数开发新的文件接口。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若所述文件的文件列中存在当前属性与预设属性不相同的文件列,则丢弃所述文件。具体地,目标系统的服务器根据源系统更新后的配置参数定义了多个数据项,每个数据项的属性不同。示例的,预先配置数据项属性“产品作者信息(规则为中文)”对应的文件列是第2列,若文件的第2列不是中文,即第2列的真实属性不是“产品作者信息”,则不识别该文件列。具体实现中,对于不识别的文件,目标服务器还可以记录该文件为出错文件。
这样,目标服务器可以根据已有文件接口当前配置的文件列与数据项属性的映射关系识别出源系统传输的文件,不会因为源系统的配置更新而影响二者之间的文件传输。
结合第一方面,在第一方面的第四种可能实现方式中,所述分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法具体包括:针对所述文件的每一个文件列,确定所述文件列对应的约束条件,如:字符长度;判断所述文件列中的数据是否满足所述文件列对应的约束条件;若所述文件列中的数据满足所述文件列对应的约束条件,则确定所述文件列中的数据合法。示例的,第二列对应的数据项属性是金额,约束条件是字符长度是两位,若上述步骤识别第二列为字符,在此判断第二列的字符长度是否为两位,若是则确定第二列中的数据是合法的。
这样,可以对接收到的文件进行合法性验证,保证数据的准确性。
结合第一方面,在第一方面的第五种可能实现方式中,所述查询所述目标文件接口当前配置的文件列与数据项属性的映射关系,判断所述文件携带的数据是否合法之前,所述方法还包括:对所述文件进行合法性校验,确定所述文件合法。这里的合法性校验是文件级的交验,可以根据文件名的规范进行校验,当然校验规则是可配置的。也可以对文件里的记录进行校验,同样校验规则也是可配置的。
这样,可以在获取到的文件是合法时,再对文件中的数据进行处理,可以减轻服务器的处理负荷。
结合第一方面,在第一方面的第六种可能的实现方式中,目标系统的服务器还可以确定需通过改目标文件接口接收来自另一源系统的文件。进一步地,确定该文件对应的数据项信息;接着,根据该文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定该文件对应的文件协议,进而可以根据该文件协议,通过目标文件接口获取该文件;最后,查询目标文件接口当前配置的文件列与数据项属性的映射关系,识别该文件的每一个文件列;随后,分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法,若合法,则存储该文件携带的数据。需要说明的是,这里的数据项与文件协议的映射关系是根据该源系统更新后的配置参数生成的,文件列与数据项属性的映射关系也是根据该源系统更新后的配置参数生成的。
同样的,可以根据其他系统更新后的配置参数动态配置已有的文件接口,以便通过已有的文件接口接收并识别其他系统传输的与更新后的配置参数相匹配的文件。可见,本发明实施例中,服务器可以适应不同系统的配置参数的变化,适应性配置已有的文件接口,无需开发代码定义新的文件接口。
第二方面,公开了一种服务器,包括:
确定单元,用于确定需通过目标文件接口接收来自源系统的文件,并确定文件对应的数据项信息,确定文件是源系统的服务器根据更新后的配置参数传输的;查询单元,用于根据确定单元确定的文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定文件对应的文件协议;获取单元,用于根据查询单元确定的文件对应的文件协议,通过目标文件接口获取文件;识别单元,用于查询目标文件接口当前配置的文件列与数据项属性的映射关系,识别该文件的每一个文件列;判断单元,用于分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法;存储单元,用于若判断单元确定文件携带的数据合法,则存储文件携带的数据;其中,数据项与文件协议的映射关系是根据源系统更新后的配置参数生成的,文件列与数据项属性的映射关系是根据源系统更新后的配置参数生成的。
通常,源系统向目标系统发送文件以同步数据,同步的数据如:客户信息、产品信息等。当源系统的配置参数发生变化时,源系统的服务器传输的文件是与更新后的配置参数相匹配的。本发明实施例提供的服务器,可以根据更新后的配置参数动态配置源系统对应的已有文件接口(即所述目标文件接口),进而可以通过该文件接口接收并识别第二服务器传输的文件。目标系统的服务器无需像现有技术那样在源系统的配置参数发生变化后,重新开发与更新后的配置参数相匹配的文件接口,如此可以大大节省开发成本。同时,在源系统更新配置参数时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。
结合第二方面,在第二方面的第一种可能的实现方式中,文件协议至少包括存放文件的主机的信息、文件存放目录、文件名,则,获取单元具体用于,根据文件对应的文件协议中包括的存放文件的主机的信息,确定存放文件的主机的信息;根据文件对应的文件协议中包括的文件名,查询存放文件的主机,获取文件。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,识别单元具体用于,确定文件的每一个文件列的当前属性;查询文件列与数据项属性的映射关系,确定每一个文件列对应的预设属性;分别判断每一个文件列的当前属性与该文件列对应的预设属性是否相同;若每一个文件列的当前属性与该文件列对应的预设属性均相同,则确定识别文件的每一个文件列。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括文件处理单元,若所述识别单元确定文件的文件列中存在当前属性与预设属性不相同的文件列,则丢弃文件。
结合第二方面,在第二方面的第四种可能的实现方式中,所述判断单元具体用于,针对所述文件的每一个文件列,确定所述文件列对应的约束条件;判断所述文件列中的数据是否满足所述文件列对应的约束条件;若所述文件列中的数据满足所述文件列对应的约束条件,则确定所述文件列中的数据合法。
结合第二方面,在第二方面的第五种可能的实现方式中,判断单元还用于,在查询目标文件接口当前配置的文件列与数据项属性的映射关系,判断文件携带的数据是否合法之前,对文件进行合法性校验,确定文件合法。
第三方面,公开了一种服务器,包括:
处理器,用于确定需通过目标文件接口接收来自源系统的文件,并确定文件对应的数据项信息,该文件是源系统根据更新后的配置参数传输的,根据文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定文件对应的文件协议;通信接口,用于根据文件对应的文件协议,通过目标文件接口获取文件;处理器还用于,查询目标文件接口当前配置的文件列与数据项属性的映射关系,识别文件的每一个文件列,随后分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法;若确定文件携带的数据合法,则存储文件携带的数据。需要说明的是,数据项与文件协议的映射关系是根据源系统更新后的配置参数生成的,文件列与数据项属性的映射关系是根据源系统更新后的配置参数生成的。
结合第三方面,在第三方面的第一种可能的实现方式中,文件协议至少包括存放文件的主机的信息、文件存放目录、文件名,则,处理器具体用于,根据文件对应的文件协议中包括的存放文件的主机的信息,确定存放文件的主机的信息;根据文件对应的文件协议中包括的文件名,查询存放文件的主机,获取文件。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,处理器具体用于,确定文件的每一个文件列的当前属性;查询文件列与数据项属性的映射关系,确定每一个文件列对应的预设属性;分别判断每一个文件列的当前属性与该文件列对应的预设属性是否相同;若每一个文件列的当前属性与该文件列对应的预设属性均相同,则确定识别文件的每一个文件列。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,处理器还用于,若文件的文件列中存在当前属性与预设属性不相同的文件列,则丢弃文件。
结合第三方面,在第三方面的第四种可能的实现方式中,所述处理器具体用于,针对所述文件的每一个文件列,确定所述文件列对应的约束条件;判断所述文件列中的数据是否满足所述文件列对应的约束条件;若所述文件列中的数据满足所述文件列对应的约束条件,则确定所述文件列中的数据合法。
结合第三方面,在第三方面的第五种可能的实现方式中,处理器还用于,在查询目标文件接口当前配置的文件列与数据项属性的映射关系,判断文件携带的数据是否合法之前,对文件进行合法性校验,确定文件合法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的电信BSS系统的架构图;
图2为本发明实施例提供的文件、文件协议、数据项之间的关系示意图;
图3为本发明实施例提供的文件获取系统的架构图;
图4为本发明实施例提供的文件获取方法的流程示意图;
图5为本发明实施例提供的局数据类型属性管理表的示意图;
图6为本发明实施例提供的文件命名规格设置表的示意图;
图7为本发明实施例提供的文件命名规格设置表项的示意图;
图8为本发明实施例提供的服务器的结构框图;
图9为本发明实施例提供的服务器的另一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是电信BSS系统的架构图。其中,包括省BDC系统的服务器、ADC(application data center,应用数据)系统的服务器、彩铃平台的服务器、省CRM系统的服务器以及多个节点CRM。
通常,不同的系统之间存在大量的数据同步,可以通过各自服务器的文件接口传输文件,以实现数据同步。示例的,目标系统预先根据源系统的配置参数在目标系统的服务器上定义一个文件接口,源系统的服务器将数据传输至该文件接口,目标系统的服务器通过该文件接口接收该文件。经常会存在接口发生变化(即源系统的配置参发生变化)的场景,如:因为业务需要新增加文件接口来同步数据;或者,已有的文件接口,属性字段长度不够,需要扩展长度,又或者因为业务需要新增文件接口的属性。
现有技术中,需要根据新的配置参数重新开发代码,通过代码定义新的文件接口,通过新的文件接口才能加载、识别数据,每次接口发生变化,都需要重新开发代码以适配新的配置参数,如此,大大增加了开发成本,同时也由于已有接口无法加载新传输的数据导致不同系统间无法及时进行数据同步。
本发明实施例的原理在于:目标系统的服务器可以根据源系统更新后的配置参数配置已有的文件接口,进而可以通过该文件接口接收并识别源系统的服务器传输的文件。这样,无需像现有技术那样在配置参数发生变化时,重新开发与更新后的配置参数相匹配的文件接口,大大节省了开发成本。同时,在源系统更新文件配置时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。
首先,参考图2对本发明涉及的文件、文件协议、数据项等做以解释说明:
1)文件:各个系统的服务器之间通过相应文件接口,一次传输的数据就是一个文件。另外,通常一个文件可以包括多个文件列,如:第1列、第2列......第n列等。
2)文件协议:用于定义一类文件的协议,文件协议可以包括存放文件的主机的信息(如:主机的IP)、文件存放目录、文件名(文件的命名规则)、数据项属性和文件列的对应关系。
3)数据项:是数据结构中的最小单位,是数据记录中最基本的、不可分的数据单位。服务器可以通过数据项编码、数据项名称、数据来源等来定义数据项。还可以为每个数据项关联一个文件协议,这样可以自动识别一个数据项对应的文件。
4)数据项属性:定义N个数据项后,可以定义数据项1到N个数据项的属性,数据项属性可以是:属性编码、属性名称、数据类型、是否关键字、状态等。其中“状态”属性可以是有效或无效。数据项与数据项属性是一对多的关系,即一个数据项可以定义多个属性,且每一个属性对应一个文件列。示例的,数据项是“用户信息”,数据项的属性可以是用户账号信息、用户费用信息、用户设备信息、用户网络信息等。其中,用户账号信息、用户费用信息、用户设备信息、用户网络信息分别对应不同的文件列。
需要说明的是,可以认为一个文件就是一个数据项,进一步地,一组数据项属性可以对应一个文件。
5)约束条件:定义数据项属性后可以定义每个属性的约束条件。约束条件可以是:数据项长度、数据项大小写、数据项的枚举值等基本约束,也可以包括数据项与数据项的业务依赖关联性、互斥关联性约束。
本发明实施例提供一种文件获取系统,如图3所示,所述文件获取系统包括:源系统1的服务器、源系统2的服务器、源系统N的服务器以及目标系统的服务器。其中,目标系统的服务器包括处理器、存储器以及通信接口。源系统1的服务器、源系统2的服务器、源系统N的服务器均可以与目标系统的服务器进行数据同步。源系统1、源系统2、源系统N可以是图1中的省BDC系统、ADC系统、彩铃平台,目标系统可以是图1中的省CRM系统。
具体地,目标系统通过文件接口A可以接收源系统1的服务器、源系统2的服务器、源系统N的服务器传输的文件。并且,当某一源系统由于业务需求需要增加接口或当前接口的属性发生变化时,可以根据源系统新的配置参数动态设置文件接口A的属性,进而仍可以通过文件接口A接收识别源系统传输的文件。示例的,当源系统1的配置参数发生变化(即需要增加接口或接口属性),目标系统的服务器首先获取源系统的服务器更新后的配置参数,根据更新后的配置参数配置文件接口A的属性,包括数据项与文件协议的映射关系以及数据项属性与文件列的映射关系。这里的“获取”可以是服务器接收输入的所述更新配置参数,也可以是其他实现方式,在此不作限定。
进一步地,目标系统的服务器获取需要接收的文件对应的数据项信息,进而可以根据数据项信息查询数据项与文件协议的映射关系,确定该文件对应的文件协议。如此,可以根据该文件协议中包括的存放文件的主机的信息,访问存放该文件的主机获取到该文件。接着,可以进一步判断该文件的每一个文件列的当前属性(即真实属性)与该文件列的预设属性是否相同。这里,每一个文件列的预设属性是查询文件列与数据项属性的映射关系确定的。若该文件的每一个文件列的当前属性与预设属性均相同,则确定识别该文件的每一个文件列,进而可以根据各个数据项的约束条件来判断各个文件列的数据是否合法,若合法则存储该文件携带的数据。若不合法,即该文件的文件列中存在不符合该文件列对应的数据项属性的约束条件的文件列,则可以丢弃该文件,同时可以记录该文件为出错文件。
需要说明的是,上述处理器可以为中央处理器(英文:central processing unit,缩写:CPU)。
存储器,用于存储程序代码,并将该程序代码传输给该处理器根据程序代码执行下述指令。存储器可以包括易失性存储器(volatile memory),例如RAM(random-accessmemory,随机存取存储器);存储器也可以包括非易失性存储器(non-volatile memory),例如ROM(read-only memory,只读存储器),快闪存储器(flash memory),HDD(hard diskdrive,硬盘)或SSD(solid-state drive,固态硬盘)。存储器还可以包括上述种类的存储器的组合。
通信接口可以由光收发器,电收发器,无线收发器或其任意组合实现。例如,光收发器可以是SFP(small form-factor pluggable transceiver,小封装可插拔)收发器(transceiver),SFP+(enhanced small form-factor pluggable,增强小封装可插拔)收发器或XFP(10 Gigabit small form-factor pluggable,10吉比特小封装可插拔)收发器。电收发器可以是以太网(Ethernet)的NIC(network interface controller,网络接口控制器)。无线收发器可以是WNIC(wireless network interface controller,无线网络接口控制器)。
本发明实施例提供一种文件获取方法,如图4所示,所述方法包括以下步骤:
101、目标系统的服务器确定需通过目标文件接口接收来自源系统的文件,并确定所述文件对应的数据项信息。
其中,所述文件可以是所述源系统的服务器根据更新后的配置参数传输的,或不是所述源系统的服务器根据更新后的配置参数传输的。在此,目标系统的服务器并不确定传输该文件的配置参数,需要在获取到该文件后根据源系统更新后的配置参数对该文件进行合法性验证。
通常,源系统向目标系统发送文件以同步数据,同步的数据可以是客户信息、产品信息等。这里所谓的配置参数更新是指由于源系统接口变化(如:增加文件接口或接口属性)产生的新的配置参数,能够指示新的文件接口或新的接口属性。
具体实现中,目标系统的服务器扫描定时任务表,判断是否存在接口文件处理的定时任务,即判断是否需要在预设时间通过目标文件接口接收来自源系统的文件。一旦扫描到“通过目标文件接口接收来自源系统的文件”的定时任务后,还可以查询该定时任务表,确定该需要获取的文件对应的数据项信息。这里的数据项信息用于描述该文件携带的数据,如数据项信息可以是“产品信息”,代表该文件携带的数据是产品信息。
102、目标系统的服务器根据所述文件对应的数据项信息查询所述目标文件接口当前配置的数据项与文件协议的映射关系,确定所述文件对应的文件协议。
其中,所述文件协议至少包括存放文件的主机的信息、文件存放目录、文件名。需要说明的是,图2所述的文件获取系统还可以包括主机,用于存放文件。
具体实现中,根据源系统更新后的配置参数预先设置数据项对应的文件协议类型,通过定义每个数据项的属性以及每个数据项对应的文件列,进而建立数据项属性与文件列的映射关系。因此,这里可以根据文件对应的数据项信息,查询到该文件对应的文件协议。
示例的,数据项信息是“产品信息”,数据项的属性可以是产品开发时间、产品作者信息、产品金额,数据项对应的文件协议是“主机的信息:A、文件存放目录:B、文件名:C”。目标系统的服务器预先生成了“产品信息”与“主机的信息:A、文件存放目录:B、文件名:C”的映射关系,因此可以根据“产品信息”查询到对应的文件协议——“主机的信息:A、文件存放目录:B、文件名:C”。
103、目标系统的服务器根据所述文件对应的文件协议,通过所述目标文件接口获取所述文件,根据所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列。
具体实现中,目标系统的服务器根据所述文件对应的文件协议中包括的存放文件的主机的信息,确定存放该文件的主机的信息;进而可以根据该文件协议中包括的文件名,查询所述存放所述文件的主机,获取到该文件。当源系统的配置参数发生改变,如传输文件的文件协议发生改变,由于在目标系统的服务器预先生成了新的文件协议与数据项的映射关系,仍可以获取到源系统根据新的文件协议传输的文件。
另外,确定所述文件的每一个文件列的当前属性,即每一个文件列的真实属性。另外,查询文件列与数据项属性的映射关系,确定每一个文件列对应的预设属性;进而分别判断每一个文件列的当前属性与该文件列对应的预设属性是否相同,若每一个文件列的当前属性与自身对应的预设属性均相同,则确定识别该文件携带的每一个文件列。示例的,数据项为“产品信息”,数据项的属性可以是产品开发时间(规格为字符)、产品作者信息(规格为中文)、产品金额(规格为字符)等,其中产品开发时间对应第一列、产品作者信息对应第二列,产品金额对应第三列。若获取到的文件的第一列为字符,且代表产品开发时间,则可以识别第一列。若第二列为中文且代表产品作者信息,则可以识别第二列。若第三列为字符且代表产品金额,则可以识别第三列。
需要说明的是,在获取所述文件之后,判断是否识别所述文件的文件列之前,可以对该文件进行合法性验证。具体可以是根据接收到的文件的文件协议等判断该文件是否为源系统的服务器根据更新后的配置参数传输的,若是则证明该文件是合法的。
104、目标系统的服务器分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法。
也就是说,在识别了所述文件的每一个文件列之后,进一步确定该文件的每一个文件列中的数据是否合法,即判断所述文件携带的数据是否合法。
若合法,则执行步骤105;若不合法,则可以丢弃该文件,同时,还可以记录该文件为出错文件。
105、目标系统的服务器存储该文件携带的数据。
即可确定所述文件携带的数据即为产品信息。因此可以将所述文件携带的数据写入本地数据库。
需要说明的是,本发明实施例中数据项与文件协议的映射关系是根据源系统更新后的配置参数生成的,文件列与数据项属性的映射关系也是根据源系统更新后的配置参数生成的。具体实现中,可以是管理员手动登录目标系统的服务器手动配置上述映射关系,也可以通过其他方式实现,在此不作限定。
在本发明的优选实施例中,若所述文件的文件列中存在当前属性与预设属性不同的文件列,则确定所述文件携带的数据不合法,则丢弃该文件。
在本发明的另一优选实施例中,目标系统的服务器还可以确定需通过改目标文件接口接收来自另一源系统的文件。进一步地,确定该文件对应的数据项信息;接着,根据该文件对应的数据项信息查询目标文件接口当前配置的数据项与文件协议的映射关系,确定该文件对应的文件协议,进而可以根据该文件协议,通过目标文件接口获取该文件;最后,查询目标文件接口当前配置的文件列与数据项属性的映射关系,判断该文件携带的数据是否合法;若合法,则存储该文件携带的数据。需要说明的是,这里的数据项与文件协议的映射关系是根据该源系统更新后的配置参数生成的,文件列与数据项属性的映射关系也是根据该源系统更新后的配置参数生成的。
也就是说,目标系统的服务器可以根据其他系统更新后的配置参数动态配置已有的文件接口,以便通过已有的文件接口接收并识别其他系统传输的与更新后的配置参数相匹配的文件。可见,本发明实施例中,服务器可以适应不同系统的配置参数的变化,适应性配置已有的文件接口,无需开发代码定义新的文件接口。
进一步地,在源系统由于业务需求新增文件接口,更新配置参数时,可以根据更新配置参数动态设置目标文件接口的属性,即设置“数据项与文件协议的映射关系”以及“数据项属性与文件列的映射关系”。
其中,目标文件接口是目标系统的服务器的已有文件接口中与该源系统对应的文件接口。具体如下:
首先,根据源系统更新后的配置参数定义新增的数据项,以及每一个数据项的属性。并在服务器的后台创建图5所示的局数据类型属性管理表,存放新增的数据项及数据项属性。
其次,根据源系统的更新配置参数修改目标文件接口的文件协议。具体可以修改图6所示的文件命名规格设置表项,重新定义文件协议中的文件命名规则。另外,文件协议中的其他参数,如:主机配置(即存放文件的主机的逆袭),主机目录配置(即文件存放目录),数据路由配置等可以存放在其他不同的目录下。如此,就重新定义了文件接口的文件协议。
最后,定义数据项属性和文件列的对应关系,具体可以通过设置图7所示的文件接口协议配置表格建立数据项属性和文件列的对应关系。示例的,参考图7,第2列文件对应的数据项属性是“小区编号”,该属性的编号是“1001”。
如此,在接收到源系统的服务器传输的文件后,可以通过上述设置完成文件的自动识别和加载。
另外,当原接口增加属性:通过属性配置界面新增加属性,并在后台数据库表创建新属性的字段。随后,修改文件协议,重新建立属性和文件列的映射关系。
本发明实施例提供的文件获取方法,在源系统的配置参数发生变化时,目标系统的服务器可以根据源系统更新后的配置参数动态配置已有的文件接口(即所述目标文件接口),进而可以通过该文件接口接收并识别源系统的服务器传输的文件。目标系统的服务器无需像现有技术那样在源系统的配置参数发生变化后,重新开发与更新后的配置参数相匹配的文件接口,如此可以大大节省开发成本。同时,在源系统更新配置参数时,与其对应的目标系统仍可以通过自身服务器已有的文件接口接收到源系统传输的数据,使得不同系统间可以及时进行数据同步。
上述主要从服务器的工作过程的角度对本发明实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的服务器的一种可能的结构示意图,服务器包括:确定单元201,查询单元202,获取单元203,识别单元204、判断单元205以及存储单元206。确定单元201用于支持服务器执行图4中的过程101,查询单元202用于支持服务器执行图4中的过程102;获取单元203用于支持服务器执行图4中的过程103中“根据所述文件对应的文件协议,通过所述目标文件接口获取所述文件”;识别单元204用于支持服务器执行图4中的过程103中“根据所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列”;判断单元205用于支持服务器执行图4中的过程104;存储单元206用于支持服务器执行图4中的过程105。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器可以包括:处理模块301、通信模块302和存储模块303。处理模块301用于对服务器的动作进行控制管理,例如,处理模块301用于支持服务器执行图4中的过程101至105,和/或用于本文所描述的技术的其它过程。通信模块302用于支持服务器与其他网络实体的通信。存储模块303,用于存储服务器的程序代码和数据,以及合法文件携带的数据。
其中,处理模块301可以为服务器的实体结构中的处理器301,可以是处理器或控制器,例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块302可以是服务器的实体结构中的网络接口。通信模块302可以是通信端口,或者可以是收发器、收发电路或通信接口等。存储模块303可以是目标系统的服务器的实体结构中的存储器。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是一个物理模块或多个物理模块,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个存储设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种文件获取方法,其特征在于,包括:
目标系统的服务器确定需通过目标文件接口接收来自源系统的文件,并确定所述文件对应的数据项信息;
根据所述文件对应的数据项信息查询所述目标文件接口当前配置的数据项与文件协议的映射关系,确定所述文件对应的文件协议;根据所述文件对应的文件协议,通过所述目标文件接口获取所述文件;
根据所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列;
分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法;
若确定所述文件的每一个文件列中的数据均合法,则存储所述文件携带的数据;
其中,所述数据项与文件协议的映射关系是根据所述源系统更新后的配置参数生成的,所述文件列与数据项属性的映射关系是根据所述源系统更新后的配置参数生成的。
2.根据权利要求1所述的方法,其特征在于,所述文件协议至少包括存放文件的主机的信息、文件存放目录、文件名,
则,所述根据所述文件对应的文件协议,通过所述目标文件接口获取所述文件具体包括:
根据所述文件对应的文件协议中包括的存放文件的主机的信息,确定存放所述文件的主机的信息;
根据所述文件对应的文件协议中包括的文件名,查询所述存放所述文件的主机,获取所述文件。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列具体包括:
确定所述文件的每一个文件列的当前属性;
查询所述文件列与数据项属性的映射关系,确定所述每一个文件列对应的预设属性;
分别判断所述每一个文件列的当前属性与该文件列对应的预设属性是否相同;
若所述每一个文件列的当前属性与该文件列对应的预设属性均相同,则确定识别所述文件的每一个文件列。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述文件的文件列中存在当前属性与预设属性不相同的文件列,则丢弃所述文件。
5.根据权利要求1所述的方法,其特征在于,所述分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法具体包括:
针对所述文件的每一个文件列,确定所述文件列对应的约束条件;
判断所述文件列中的数据是否满足所述文件列对应的约束条件;
若所述文件列中的数据满足所述文件列对应的约束条件,则确定所述文件列中的数据合法。
6.根据权利要求1所述的方法,其特征在于,所述查询所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列之前,所述方法还包括:
对所述文件进行合法性校验,确定所述文件合法。
7.一种服务器,用于获取文件,其特征在于,包括:
确定单元,用于确定需通过目标文件接口接收来自源系统的文件,并确定所述文件对应的数据项信息;
查询单元,用于根据所述确定单元确定的所述文件对应的数据项信息查询所述目标文件接口当前配置的数据项与文件协议的映射关系,确定所述文件对应的文件协议;
获取单元,用于根据所述查询单元确定的所述文件对应的文件协议,通过所述目标文件接口获取所述文件;
识别单元,用于查询所述目标文件接口当前配置的文件列与数据项属性的映射关系,识别所述文件的每一个文件列;
判断单元,用于分别根据每一个数据项属性对应的约束条件判断所述文件的每一个文件列中的数据是否合法;
存储单元,用于若所述判断单元确定所述文件的每一个文件列中的数据均合法,则存储所述文件携带的数据;
其中,所述数据项与文件协议的映射关系是根据所述源系统更新后的配置参数生成的,所述文件列与数据项属性的映射关系是根据所述源系统更新后的配置参数生成的。
8.根据权利要求7所述的服务器,其特征在于,所述文件协议至少包括存放文件的主机的信息、文件存放目录、文件名,
则,所述获取单元具体用于,根据所述文件对应的文件协议中包括的存放文件的主机的信息,确定存放所述文件的主机的信息;
根据所述文件对应的文件协议中包括的文件名,查询所述存放所述文件的主机,获取所述文件。
9.根据权利要求7或8所述的服务器,其特征在于,所述识别单元具体用于,确定所述文件的每一个文件列的当前属性;
查询所述文件列与数据项属性的映射关系,确定所述每一个文件列对应的预设属性;
分别判断所述每一个文件列的当前属性与该文件列对应的预设属性是否相同;
若所述每一个文件列的当前属性与该文件列对应的预设属性均相同,则确定识别所述文件的每一个文件列。
10.根据权利要求9所述的服务器,其特征在于,还包括文件处理单元,
所述文件处理单元用于,若所述识别单元确定所述文件的文件列中存在当前属性与预设属性不相同的文件列,则丢弃所述文件。
11.根据权利要求7所述的服务器,其特征在于,所述判断单元具体用于,针对所述文件的每一个文件列,确定所述文件列对应的约束条件;
判断所述文件列中的数据是否满足所述文件列对应的约束条件;
若所述文件列中的数据满足所述文件列对应的约束条件,则确定所述文件列中的数据合法。
12.根据权利要求7所述的服务器,其特征在于,所述判断单元还用于,在查询所述目标文件接口当前配置的文件列与数据项属性的映射关系,判断所述文件携带的数据是否合法之前,对所述文件进行合法性校验,确定所述文件合法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610835003.6A CN106649447B (zh) | 2016-09-19 | 2016-09-19 | 一种文件获取方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610835003.6A CN106649447B (zh) | 2016-09-19 | 2016-09-19 | 一种文件获取方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649447A CN106649447A (zh) | 2017-05-10 |
CN106649447B true CN106649447B (zh) | 2019-10-25 |
Family
ID=58853055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610835003.6A Active CN106649447B (zh) | 2016-09-19 | 2016-09-19 | 一种文件获取方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649447B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990466B (zh) * | 2018-09-29 | 2023-04-07 | 北京国双科技有限公司 | 一种数据同步方法及装置 |
CN113992650B (zh) * | 2020-07-10 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 文件处理方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808994A (zh) * | 2005-01-18 | 2006-07-26 | 华为技术有限公司 | 通用移动通讯系统中接口同步的方法及系统 |
CN1866875A (zh) * | 2006-03-30 | 2006-11-22 | 华为技术有限公司 | 在网元与网管间实现数据配置的存储管理方法与系统 |
CN104317601A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种文件接口开发方法及系统 |
CN105681108A (zh) * | 2016-03-15 | 2016-06-15 | 迈普通信技术股份有限公司 | 一种实现配置同步的方法及设备 |
CN105740411A (zh) * | 2016-01-30 | 2016-07-06 | 武汉大学 | 一种基于SOA和WebService的数据迁移方法 |
-
2016
- 2016-09-19 CN CN201610835003.6A patent/CN106649447B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808994A (zh) * | 2005-01-18 | 2006-07-26 | 华为技术有限公司 | 通用移动通讯系统中接口同步的方法及系统 |
CN1866875A (zh) * | 2006-03-30 | 2006-11-22 | 华为技术有限公司 | 在网元与网管间实现数据配置的存储管理方法与系统 |
CN104317601A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种文件接口开发方法及系统 |
CN105740411A (zh) * | 2016-01-30 | 2016-07-06 | 武汉大学 | 一种基于SOA和WebService的数据迁移方法 |
CN105681108A (zh) * | 2016-03-15 | 2016-06-15 | 迈普通信技术股份有限公司 | 一种实现配置同步的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106649447A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210383013A1 (en) | Computer-implemented methods, systems comprising computer-readable media, and electronic devices for querying restricted-access datasources | |
US8943076B2 (en) | System to automate mapping of variables between business process applications and method therefor | |
CN102141990B (zh) | 一种搜索方法和装置 | |
CN101146106B (zh) | 级联发现web服务 | |
WO2019082066A1 (en) | EXECUTING A FLOW OF COGNITIVE LEARNING WORK | |
US20220129637A1 (en) | Computerized selection of semantic frame elements from textual task descriptions | |
CN111868727B (zh) | 用于数据匿名化的方法和系统 | |
US9420435B2 (en) | Method and apparatus for automatically generating and managing groups in address book | |
CN105431844A (zh) | 用于搜索系统的第三方搜索应用 | |
US9886711B2 (en) | Product recommendations over multiple stores | |
US10810176B2 (en) | Unsolicited bulk email detection using URL tree hashes | |
CN104462429B (zh) | 数据库查询语句的生成方法及装置 | |
RU2653246C1 (ru) | Усовершенствование запроса для поиска базы данных | |
US20110022688A1 (en) | Obtaining and displaying network topology information | |
CN112214980B (zh) | 树结构模板的定制和推荐 | |
CN110162464A (zh) | Mcok测试方法及系统、电子设备及可读存储介质 | |
CN109145034A (zh) | 资源呈现方法、装置及计算机终端 | |
EP2680174A1 (en) | A method, a server, a system and a computer program product for copying data from a source server to a target server | |
CN106649447B (zh) | 一种文件获取方法及服务器 | |
US12117999B2 (en) | Masking shard operations in distributed database systems | |
CN108369590A (zh) | 用来指导自助服务分析的推荐系统、装置及其方法 | |
US9965558B2 (en) | Cross-channel social search | |
CN108459842A (zh) | 一种模型配置方法、装置及电子设备 | |
US11775511B2 (en) | Feedback-updated data retrieval chatbot | |
US20220078228A1 (en) | Infrastructure imports for an information technology platform |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200217 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |