CN107862049B - 一种数据补录方法及装置 - Google Patents
一种数据补录方法及装置 Download PDFInfo
- Publication number
- CN107862049B CN107862049B CN201711089720.XA CN201711089720A CN107862049B CN 107862049 B CN107862049 B CN 107862049B CN 201711089720 A CN201711089720 A CN 201711089720A CN 107862049 B CN107862049 B CN 107862049B
- Authority
- CN
- China
- Prior art keywords
- data
- data file
- file
- check
- uploading
- 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
Images
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/172—Caching, prefetching or hoarding of files
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据补录方法及装置,所述方法确定所需上传的目标数据文件;利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传。由于在上传数据文件前将数据文件中符合处理以及数据检查,保证数据文件在被审核前是符合上传标准的数据,不会出现在上传数据时才出现错误的问题,且由于审核通过后就会自动上传到数据补录数据库,因此,降低了数据补录的周期,提高了工作效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据补录方法及装置。
背景技术
在银行行业中,由于某些业务没有建立相应的软件系统,使用的是人工记录的方式,因此,在建立了相应的软件系统后,需要对这些数据进行数据迁移、数据补录等必要工作。
现有数据补录的过程中,采用人工方式对数据文件进行创建、审核等过程,以便于提供给各个软件系统使用。
但是,使用人工方式进行数据补录工作,效率很低,整个补录周期过长。
发明内容
有鉴于此,本发明提供一种数据补录方法及装置,用于解决现有技术中补录数据效率低、整个补录周期长的技术问题。
本发明提供了一种数据补录方法,应用于数据补录平台的客户端,所述方法包括:
接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
确定所需上传的目标数据文件;
利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;
根据预设的规则对所述第一数据文件进行数据检查;
获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;
当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。
优选的,所述利用OLEDB数据访问模型获取所述目标数据文件并处理所述目标数据文件中的脏数据得到第一数据文件包括:
将所述目标数据文件中的第一行作为标题行;
设置所述数据访问模型的连接参数;
根据所述连接参数建立与所述目标数据文件的Oledb连接;
设置数据的筛选条件;
依据所述筛选条件对所述目标数据文件进行数据筛选,得到预处理数据文件;
将所述预处理数据文件中不符合预设脏数据处理字符规则的数据清除并依据预设脏数据处理格式规则对所述预处理数据文件进行数据转换得到第一数据文件。
优选的,所述根据预设的规则对所述第一数据文件进行数据检查包括:
判断所述第一数据文件中任意一列的格式是否符合预设条件,得到第一判断结果;
判断所述第一数据文件中同行多列数据之间的一致性是否符合第一一致性检查规则,得到第二判断结果;
判断所述第一数据文件中多行数据之间的一致性是否符合第二一致性检查规则,得到第三判断结果;当所述第一判断结果、所述第二判断结果、所述第三判断结果均为通过时,则确定所述第一数据文件通过所述数据检查。
优选的,还包括:
当所述第一数据文件中任意一列的格式不符合预设条件时,生成包括所述不符合预设条件在所述第一数据文件中的位置的错误记录,将所述错误记录保存为第一错误文件;其中所述预设条件用于表征数据文件中每一列的格式标准;
当所述第一数据文件中同行多列数据不符合所述第一一致性检查规则时,生成包括所述不符合所述第一一致性检查规则的数据在所述第一数据文件中的位置的错误记录,生成第二错误文件;
当所述第一数据文件中多行数据不符合所述第二一致性检查规则时,生成包括所述不符合所述第二一致性检查规则在所述第一数据文件中的位置的错误记录,生成第三错误文件。
优选的,所述将所述第一数据文件上传到数据补录数据库包括:
查找补录数据库中与所述第一数据文件对应的旧数据文件;
发送删除所述旧数据文件的指令到所述数据补录数据库;
当接收到所述数据补录数据库发送的删除成功的指令后,将所述第一数据文件上传到所述补录数据库中,使所述补录数据库保存该所述第一数据文件。
优选的,若所述当前用户为数据审核的最高级用户,则所述数据补录方法还包括:
接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容。
优选的,还包括:
接收所述当前用户发送的审核通过的第三指令,根据所述第三指令确定所述第一数据文件的上传标识为允许上传的标识。
优选的,所述将所述第一数据文件上传到所述数据补录服务器的数据补录数据库为使用批量上传的方式将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。
本发明另一方面提供了一种数据补录装置,应用于数据补录平台的客户端,所述装置包括:
登录模块,用于接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
数据文件选择模块,用于确定所需上传的目标数据文件;
数据文件读取模块,用于利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;
数据文件检查模块,用于根据预设的规则对所述第一数据文件进行数据检查;
数据文件上传模块,用于获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。
优选的,还包括:
工作流调度模块,用于接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
还用于接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容。
根据上述方案可以看出,本发明公开了一种数据补录方法及装置,所述方法确定所需上传的目标数据文件;利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。由于在上传数据文件前将数据文件中符合处理以及数据检查,保证数据文件在被审核前是符合上传标准的数据,不会出现在上传数据时才出现错误的问题,且由于审核通过后就会自动上传到数据补录数据库,因此,降低了数据补录的周期,提高了工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种数据补录方法的流程示意图;
图2是本发明实施例提供的一种数据补录方法中获取目标数据文件的流程示意图;
图3是本发明实施例提供的一种数据补录方法中进行数据检查的流程示意图;
图4是本发明实施例提供的一种数据补录方法中用户和数据任务的关系示意图;
图5为本发明实施例中一种数据补录装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心思想在于通过给用户提供客户端,让用户通过客户端读取数据文件、检查数据文件、上传数据文件,以及审核数据文件,来完成整个数据补录的流程。本发明提供补录企业按照树状结构维护企业组织层级信息。需要说明的是,本发明优选的应用在银行领域,但是,不局限于银行领域,其它领域也可以应用本发明的技术方案。
下面详细对本发明的技术方案进行介绍。
图1为本发明实施例中一种数据补录方法的流程示意图。
参见图1,本发明提供的一种数据补录方法,应用于客户端。
现有技术中,采用人工的方式执行数据补录,例如使用Excel结合Notes邮箱的方式来对数据文件进行传递、审核,完成数据补录的流程,但是此种方式无法满足现有阶段对数据补录工作的效率以及智能化需求。
本发明实施例中,提供了客户端和数据补录服务器构成数据补录平台,采用C/S架构体系,优选的采用.NET语言编程,数据补录服务器中的数据库采用Oracle数据库。
所述方法包括:
S100、接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
本发明实施例中,用户需要使用自己的用户名和密码登录到服务器。每一个用户对应有不同的权限和数据任务,例如,最下级用户不具有审核数据文件的审核权限,需要说明的是,最下级用户可以具有数据任务;最高级用户可以建立和管理低级用户的数据任务以及层级关系,可以理解的是,除了最高级用户,其它层级的用户也可以执行该操作。本发明实施例中,依据用户输入的用户名和密码,登录到数据补录服务器。
本发明实施例中,可以分为多个类型的用户,例如提交用户、审核用户、开发者、运营者和外部系统用户。
其中,提交用户:业务部门需要提交补录数据的人员。
审核用户:业务部门负责汇总审核补录数据的人员和业务管理部门负责审核补录数据的人员。
开发者:负责补录规则的人员。
运营者:负责数据补录平台的人员。
外部系统用户:有权限获取补录数据的人员或其他系统。
提交者、审核用户、开发者和运营者沟通好数据补录的事宜(如补录的用户、补录的数据任务、补录数据的模板等),开发者或运营者在后台创建相应的数据表。审核用户根据实际需要提出补录规则需求,开发者开发库文件,上传数据补录平台,运营者配置数据补录平台XML文件,之后提交用户提交数据文件到数据补录平台上,审核用户对数据文件进行审核;在补录数据全部提交完成之后,外部系统用户从数据补录平台获取补录数据进行后续处理。
S200、确定所需上传的目标数据文件;
本发明实施例中,在进行数据补录流程前,需要确定所需要上传的目标数据文件,具体方式可以是接收用户发送的选定目标数据文件的指令,依据该指令从所述目标数据文件的存储位置选定该目标数据文件。其中目标数据文件优选为Excel文件,当然也可以是其它类型的数据文件,例如txt、csv、Wps数据文件等。
S300、利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;
选定目标数据文件后,利用Oledb数据访问模型获取该目标数据文件。其中,Oledb数据访问模型是现有技术中成熟的技术。Oledb是微软的战略性的通向不同的数据源的低级应用程序接口,能提供对所有类型的数据的操作,包括读取操作。
本发明实施例中,此步骤中还包括对不符合数据处理规则的数据也就是脏数据的处理过程。其中,脏数据是指不符合预设脏数据处理字符规则以及不符合预设脏数据处理格式规则的数据。经过这两个处理过程得到经过处理的目标数据文件,即第一数据文件,该第一数据文件不存在脏数据,使得在后续上传到数据库时不会发生错误,也不会发生数据由于含有不符合规则的字符或不符合格式的字符导致的读取失败或读取出的数据为错误数据的问题。
具体对读取数据文件的过程在后面进行详细介绍。
S400、根据预设的规则对所述第一数据文件进行数据检查;
本发明实施例中,处理了脏数据的第一数据文件需要进行数据检查,数据检查是对第一数据文件中存在问题进行排查的过程,其可以快速定位出现错误的具体位置,减少重码率。进行数据检查的具体过程在后面进行详细介绍。
S500、获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。
本发明实施例中,通过数据检查后,说明可以对第一数据文件进行上传,但是,在上传之前,还需要经过相关用户进行审核通过后才能够执行上传到数据补录数据库的过程。当相关用户审核完成后,会生成一个允许上传的标识,若通过数据检查,获取第一数据文件对应的上传标识,若所述上传标识为允许上传的标识,则意味着第一数据文件被审核通过,则上传到数据补录数据库中。使得外部系统用户从数据补录数据中获取该第一数据文件作为补录数据进行后续处理。
可以理解的是,通过所述数据检查后,还包括将第一数据文件上传后保存在服务器的缓存中,并根据审核任务分配给对应的审核用户,当审核用户登录到服务器后,从缓存中获取该第一数据文件进行审核,审核通过后发送到下一级的审核用户,直到最高权限的用户进行审核完成后,生成允许上传的标识。
也就是说,本发明中的数据审核流程是按照层级关系进行审核的,上传之后,由该用户的直接上级用户(直接上级用户可能有多个)审核,所有的直接上级用户审核通过的话,则会到更高一级的用户那里,直到最后到达最高级别的用户,如果最高级用户审核通过,则认为数据完全上传成功。在这个过程中,如果数据文件被其中的一个上级用户退回,则会直接退回到最下级的用户那里。最下级用户需要对数据做相应修改,修改之后,再重新读取、检查和上传,再一级一级审核。
根据上述方案可以看出,本发明公开了一种数据补录方法及装置,所述方法确定所需上传的目标数据文件;利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。由于在上传数据文件前将数据文件中符合处理以及数据检查,保证数据文件在被审核前是符合上传标准的数据,不会出现在上传数据时才出现错误的问题,且由于审核通过后就会自动上传到数据补录数据库,因此,降低了数据补录的周期,提高了工作效率。另外,还避免了后期处理时,发现数据文件中的数据不符合规范,导致数据文件被层层退回最初的数据源,重新补录的麻烦。
上面的步骤S300中,提到了OLEDB把数据源当做数据库来读取,但是,现有的读取方法存在以下问题。
1、兼容性不强。
一旦数据文件的版本发生改变,与Oledb的读取引擎不一致的话,便会发生读取错误或读取不到数据。
2、对数据的格式要求严格。
只允许同一列只能有一种格式,存在多个格式的话,会导致读取不到全部的文件内容。
对于数据文件的每一列,Oledb会取该列的前8个数的值来决定该列的数据类型,如果该列的数据格式不一致的话,如该列前一部分是一种数据格式,后一部分是另一种数据格式的话,后一部分的数据会由于数据格式不正确,会被当做空来读取,导致这一部分的数据被漏读,无法获得到全部的文件内容。
有鉴于此,本发明对该过程进行了改进。参见图2。
图2是本发明实施例提供的一种数据补录方法中获取目标数据文件的流程示意图。
具体的,所述利用OLEDB数据访问模型获取所述目标数据文件并将所述目标数据文件中的脏数据清除得到第一数据文件包括:
S310、将所述目标数据文件中的第一行作为标题行;
为了提高兼容性,本发明中,对目标数据文件进行预处理,将所述目标数据文件中的第一行作为标题行。
S320、设置所述数据访问模型的连接参数;
S330、根据所述连接参数建立与所述目标数据文件的Oledb连接;
将Oledb中的连接参数HDR设置为NO,IMEX设置为1。
HDR的值设为NO,表示把第一行也当做数据来读取,而不是当做标题栏来读取。IMEX的值设置为1,表示处于读取模式。
Oledb是根据某列的前8个数的值来决定该列的数据类型,这样每一个列的第一个值都是标题名称,而标题名称都是字符串类型,Oledb会认为每一列都是字符串类型,把每一列的数据的每个数据项都当做字符串来读,这样就算某一列的前后数据格式不一致也不会造成一部分数据漏读。
由于标题栏也是当做数据来读的,被认为是数据,这样就相当于没有了标题栏,对于没有标题栏的数据文件,Oledb会默认使用F1、F2、F3、...、Fn来作为每一列的标识的。这样就能使用Fn来指代第n列的值了,方便了数据筛选条件的设置。
获得数据文件的文件信息,该文件信息包括文件的属性信息,如文件名、后缀、完整路径、上次访问时间、写入时间、大小等,然后根据后缀名针对不同类型的数据源选择对应的读取引擎,建立与目标数据文件的Oledb连接OledbApapter。其中,如读取引擎可以具体包括Ace引擎和Jet引擎。Excel2007使用的是Microsoft.Jet.OLEDB.4.0引擎,Excel2010以上使用的是Microsoft.ACE.OLEDB.12.0引擎,针对不同的后缀名,选择不同的读取引擎建立连接。
需要说明的是,本步骤中的设置可以是由用户手动进行设置还可以是直接根据预先存储好的参数直接调用进行设置,在此不进行限定。
S340、设置数据的筛选条件;
S350、依据所述筛选条件对所述目标数据文件进行数据筛选,得到预处理数据文件;
S340步骤中,设置数据的筛选条件具体可以是设置OledbApapter读取的Sql语句,根据步骤S330中所产生的结果中Fn,能够对读取的数据设置筛选条件,如跳过空行等。
其中,设置OledbApapter读取的Sql语句指定要读取的数据文件的名称(如一个excel文件中有多个sheet,需要指定本次要读的是哪个sheet),指定哪一列的数据是不能允许出现为空(可能该列是关键字段(如客户号)所在的列,如果某行的该列为空,则该行的数据是没有意义的,是不应该读进去的)。实际使用中,Sql语句可以如:SELECT*FROM["&SheetName&"$]whereF1is not null,表示仅获取F1不为空值的数据。
得到预处理数据文件。
S360、将所述预处理数据文件中不符合预设脏数据处理字符规则的数据清除并依据预设脏数据处理格式规则对所述预处理数据文件进行数据转换得到第一数据文件。
本步骤中,对脏数据进行处理。包括两个部分,第一部分是将不符合预设脏数据处理格式规则的数据清除,即将数据中的脏数据清除掉,第二部分是进行格式转换。
在数据文件被读取之前,会有两个阶段会混入一些奇怪的字符。最开始的阶段是填写阶段,数据的数量一大,填写的人员一多,难免会有某些数据文件的一些数据项会带进去一些奇怪的字符,如不可见的空白字符(空格、换行符、回车符、Tab键等)。另一个阶段是汇总阶段,在复制粘贴汇总多个数据文件时,也会不可避免的掺杂进奇怪的字符。需要删除掉这些奇怪的字符。可以预先设置预设脏数据处理格式规则,然后在此步骤中将不符合预设脏数据处理格式规则的数据清除,即将数据中的脏数据清除掉。
另外,有一些数据项的填写格式并不符合最终的数据项的格式,如填写格式为带有千位分隔符的金额,并不适合存入数据库中相应的项中,加上数据项的填写格式并不受控制,因此需要对这些数据进行数据转换。依据预设脏数据处理格式规则对不符合的数据进行格式转换。
本发明中改进的流程简单易用,兼容性强,避免了数据文件内容的漏读,同时又减少了部分脏数据出现的可能性。
下面对步骤S400进行详细介绍。
参见图3,图3是本发明实施例提供的一种数据补录方法中进行数据检查的流程示意图。
具体的,所述根据预设的规则对所述第一数据文件进行数据检查包括:
S410、判断所述第一数据文件中任意一列的格式是否符合预设条件,得到第一判断结果;
S420、判断所述第一数据文件中同行多列数据之间的一致性是否符合第一一致性检查规则,得到第二判断结果;
S430、判断所述第一数据文件中多行数据之间的一致性是否符合第二一致性检查规则,得到第三判断结果;
S440、当所述第一判断结果、所述第二判断结果、所述第三判断结果均为通过时,则确定所述第一数据文件通过所述数据检查。
本发明的数据检查,分为单数据文件的单数据项列检查、单数据文件的本身关联检查和多数据文件的交叉关联检查。
其中,单数据文件的单数据项列检查,是单文件中单列的自身属性的检查,实际使用中可根据具体实际情况中所出现的属性自行定义检查。举例而言,如某一列必须是纯数字(长度必须为固定位数,或是不能超过某个位数)或是字符串(长度必须为固定位数,或是不能超过某个位数)或是字符(只能为某几个字符)。也可是除了举例所说的另一维度的属性检查,只需在后面提到的属性集合数组元素自行定义即可。
单数据文件的本身关联检查,包括单数据文件的同行多列的数据一致性检查和单数据文件的多行数据的一致性检查。实际使用中,第一一致性检查规则例如同一行中生效日期要小于到期日期,同一行中某个字段为Y,则另一个字段不能为0,而应该为1、2、3等。第二一致性检查规则例如对于同一数据文件,如果文件里的记录是有层级(父子)关系的,则一致性指的是有子记录的话,则必定要有父记录,否则,就是错的;相反,有父记录的话,可以没有子记录。
多数据文件的交叉关联检查,检查多个数据文件的多行数据的数据一致性。
具体的,单数据文件的单数据项列检查是预先为每一个数据文件建立对应的属性集合数组,通过一个通用的check函数将数据项的值和该数据项所在的列对应的属性集合元素传给具体的检查函数,由具体的检查函数来检查。该检查方法能够减少重复编码率和应对频繁变化的需求。
为每一个数据文件建立一个属性集合的数组。将每一个数据文件的每一列当做类似“对象”的实体来处理,为每一列建立一个属性集合,则每一个数据文件则对应一个属性集合的数组,数据文件的每一列的检查属性对应一个属性集合元素。
举例如下,每一列的具体属性可以根据需要自行设定:
数组中的每一个set对应每一列所需要做的检查属性。
建立一个通用的check函数,该check函数接收数据项的值和以及该数据项所在的列对应的属性集合元素作为参数。
编写具体的检查函数,对所有数据文件的所有数据项列的所需要做的检查进行归纳总结合并,抽象出对应的检查属性,根据归纳出来的检查属性编写具体的检查函数。
通过check函数调用具体的检查函数,遍历读取阶段读取到的DataTable,对于每一行每一列,把值和该值所在的列对应的属性集合元素的检查属性传给check函数,check函数根据具体的检查属性再调用具体的检查函数做检查。
因此,同一个数据文件的不同列的检查属性可能相似或相同,甚至不同数据文件的列的检查属性也可能相似或相同,采用通过一个通用的check函数调用具体的检查函数来做检查这种方式,对于相似或相同的检查属性,只需要编写一个检查函数即可,避免了重复编码。
另外,在需求不确定的情况下,数据文件的个数和数据文件的结构(数据项列的个数、检查属性、位置)可能会变化频繁。
并且,当某些数据文件已被确认为不需要或是增加新的数据文件时,只需要删除或增加相应的属性集合数组即可;当数据文件里的数据项列增加或是删除,或是发生位置调整,或是检查属性发生变化时,只需要相应增加或是删除相应的数据项元素、或是调整相应属性集合元素在数组中的位置、或是修改数组中相应的属性集合元素的检查属性即可。唯一需要做的就是,当出现新的检查属性时,添加相应的检查函数。
以上数据检查流程的可以避免对相同或相似的检查属性重复编码,以及减少由于数据文件个数和数据文件结构的变化所带来的代码的修改。
本发明中还包括单数据文件的本身关联检查和多数据文件的交叉关联检查,包括单数据文件的同行多列的数据一致性检查、单数据文件的多行数据的一致性检查,以及多个数据文件的多行数据的数据一致性检查。
其中,单数据文件的同行多列的数据一致性检查,遍历数据文件的DataTable,对同一行不同列的值进行数据一致性检查。举例而言,如某列的值为A,则同行另一列的值必须为B。根据实际情况所出现的检查需求,编写函数进行检查。
单数据文件的多行数据的一致性检查和多个数据文件的多行数据的数据一致性,多行数据的一致性检查采用把补录数据库中的数据表DataTable的数据加载进哈希表和字典的方式。
首先,根据需要关联检查的种类建立相应的哈希表和字典,哈希表和字典的key值是每行数据的关键字段的组合值,而value值则是每行数据跟关联检查种类相关的字段或是字段和其他信息。
哈希表的value值为一个字段(或是多个字段的组合值),即value只能容纳一种数据类型,而字典的value,则能通过定义value的类型为一个结构体,从而可以容纳多种数据类型,字典的value值可以是多个字段。
其次,遍历需要做关联检查的DataTable,将数据加载到对应的哈希表和字典中。然后根据需要做的关联检查,编写检查函数进行检查。如检查多个数据文件的相关数据是否构成一棵合法的树,或是否构成多层次的结构;又如同一个数据文件中属于同一棵树的数据的某些字段是否是一致。
关联检查方法通过遍历一次DataTable,将数据加载到哈希表和字典,这样使得以后每次获取数据文件每行数据的时间复杂度为常数O(1),两个数据文件的关联查找的时间复杂度由O(n2)降低到O(n)(其中n表示数据文件的行数),大大加快了检查的处理速度。字典数据结构的引入,使得记录数据项所在的行和列成为可能,使得错误的定位更加容易。
可以看出,单数据项列的检查和多行数据的一致性检查的结合,使得检查的覆盖面很广;减少重复编码率,减少由于数据文件个数和数据文件结构的频繁变化所带来的代码的修改;检查的处理速度大大加快,错误的定位更加容易。
其中,当在上述数据检查过程中出现错误时,会生成错误文件。
因此,在上述实施例的基础上,本发明提供的一种数据补录的方法还包括:
当所述第一数据文件中任意一列的格式不符合预设条件时,生成包括所述不符合预设条件在所述第一数据文件中的位置的错误记录,将所述错误记录保存为第一错误文件;其中所述预设条件用于表征数据文件中每一列的格式标准;
当所述第一数据文件中同行多列数据不符合所述第一一致性检查规则时,生成不符合所述第一一致性检查规则的数据在所述第一数据文件中的位置的错误记录,生成第二错误文件;
当所述第一数据文件中多行数据不符合所述第二一致性检查规则时,生成包括所述所述第二一致性检查规则时在所述第一数据文件中的位置的错误记录,生成第三错误文件。
本发明实施例中,当执行数据检查的流程过程中发现了错误,会产生一个错误文本。实际使用中会在本地生成一个错误文本,使得用户可以快速定位数据文件中所存在的错误。
前述介绍了在第一数据文件经过数据检查的过程检查无误后,上传第一数据文件的过程,下面对此过程进行详细介绍。
所述将所述第一数据文件上传到数据补录数据库包括:
查找补录数据库中与所述第一数据文件对应的旧数据文件;
发送删除所述旧数据文件的指令到所述数据补录数据库;
当接收到所述数据补录数据库发送的删除成功的指令后,将所述第一数据文件上传到所述补录数据库中,使所述补录数据库保存该所述第一数据文件。
本发明实施例中,上传流程主要通过本地重复性检查、联机重复性检查、旧数据的删除、新数据的上传这四个步骤来完成,当然,仅仅执行后两个步骤也可以完成。
其中,本地重复性检查是根据读取到的DataTable中的数据,检查是否有重复数据存在,如果存在重复性数据,则需要修改数据文件中的数据,修改之后,再重新读取、检查。
具体方法如下:建立一个哈希表HashTable,然后遍历DataTable的数据,从首行开始,判断该行是否在HashTable中。如果该行不在HashTable中,则添加到HashTable里;如果该行已经在HashTable中,则该行与前面的行重复,需要报错。
联机重复性检查是由于数据是由多人上传,不同人上传的数据互相之间难免会有重复,因此需要检查数据库中是否已有其他人上传过与DataTable中的数据重复的数据。如果不存在重复性数据,则继续下一步骤;如果存在重复数据,则需要修改数据文件中的数据,修改之后,再重新读取和检查。
具体方法如下:遍历DataTable中的数据,从首行开始,判断该行是否在数据库中已被其他人上传过,可以理解的是,如果是自己之前已上传过,则不算错误,如果该行数据已被其他人上传过,认为与数据库中的数据重复,需要报错。
然后执行旧数据的删除。由于同一份数据文件,存在多次上传的可能性,这是由于之前成功上传过,后面又进行了修改,需要重新再上传这份数据文件。因此需要先删除掉之前已上传过的这份数据文件,再上传新的数据文件。
最后执行新数据的上传使用Oracle的批量上传功能bulkCopy将DataTable中的数据上传到数据补录服务器的数据补录数据库。
本发明实施例中,还提供了建立用户层级关系的流程。
下面对此过程进行详细介绍。
若所述当前用户为数据审核的最高级用户,则所述数据补录方法还包括:
接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容。
优选的,还包括:
接收所述当前用户发送的审核通过的第三指令,根据所述第三指令确定所述所述第一数据文件的上传标识为允许上传的标识。
如果当前用户是最高权限的用户可以建立下级用户,可以允许有多个下级用户,下级用户可以继续建下级用户,也可以允许有多个,以此类推,直到最下级的用户。上级用户可以解除直接下级用户与更下级用户的管辖关系,然后重新分配新的管辖关系。上级用户可以删除掉直接下级用户,当该直接下级用户下面没有更下级用户的时候。每一级用户都可以为自身和直接下级用户分配数据任务。
将用户的建立和数据任务的分配分开来,这样一方面可以建立任意层级的用户,另一方面数据任务可以全部集中在最下级的用户,也可以分布在各个层级的用户中。
建立层级关系的好处是在数据检查通过之后,用户上传数据之前,会进行以下的两个判断:判断用户是不是没有数据,如果是,则不允许上传,如果否,则接着下一个判断。判断用户的数据是否被审核过,如果已经上传被审核过,则不允许上传,除非被当前审核的用户退回;如果未被审核过,则允许上传。
上传之后,由该用户的直接上级用户审核,可以理解的是,直接上级用户可能有多个,所有的直接上级用户审核通过的话,则会到更高一级的用户那里,直到最后到达最高级别的用户,如果最高级用户审核通过,则认为数据完全上传成功。在这个过程中,如果数据文件被其中的一个上级用户退回,则会直接退回到最下级的用户那里。最下级用户需要对数据做相应修改,修改之后,再重新读取、检查和上传,再一级一级审核。
本工作流程是基于以下这样的假设:最高级用户只知道它的所有最下层用户的情况,但是不知道它的直接下级用户到最下层用户的路径情况。
这样的工作流程使得,就算用户与数据任务具有下面这样棘手的特点,也依然能够处理得很好:
用户和数据任务的关系图如图4所示。User1表示最高权限的用户,User2表示专业的用户,用户与数据任务具有以下的特点:
(a)每一层的用户数量不定,每个用户的直接下级用户数量不定;
(b)从最高级的用户到任务的路径的长度是不定的,即最高级用户和任务之间相隔的用户层级数量是不定的;
(c)专业的用户可以审核同一类数据文件;
(d)同一份数据文件可以被同级的多个用户审核;
(e)部分最下级的用户没有任务,不用提交数据文件。
可以看出,这样的工作流程使得用户的管理和任务的分配可定制化,数据文件的审核更加有灵活性,通过提供多维度的审核,以及快速地回退机制,使得数据的质量更加地有可靠性。
图5为本发明实施例中一种数据补录装置的结构示意图。
本发明另一方面提供了一种数据补录装置,应用于数据补录平台的客户端,参见图5,所述装置包括:
登录模块1,用于接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
数据文件选择模块2,用于确定所需上传的目标数据文件;
数据文件读取模块3,用于利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;;
数据文件检查模块4,用于根据预设的规则对所述第一数据文件进行数据检查;
数据文件上传模块5,用于获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,将所述第一数据文件上传到所述数据补录服务器的数据补录数据库;
可选的还包括:
工作流调度模块,用于接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
还用于接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容。
需要说明的是,本实施例的一种数据补录装置可以使用上述方法实施例中的一种数据补录方法,用于实现上述方法实施例中的全部技术方案,其各个模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明公开了一种数据补录装置,所述装置确定所需上传的目标数据文件;利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件;根据预设的规则对所述第一数据文件进行数据检查;若通过所述数据检查,获取所述第一数据文件的上传标识;若所述上传标识为允许上传的标识,则将所述第一数据文件上传到所述数据补录服务器的数据补录数据库。由于在上传数据文件前将数据文件进行脏数据处理以及数据检查,保证数据文件在被审核前是符合上传标准的数据,不会出现在上传数据时才出现错误的问题,且由于审核通过后就会自动上传到数据补录数据库,因此,降低了数据补录的周期,提高了工作效率。另外,还避免了后期处理时,发现数据文件中的数据不符合规范,导致数据文件被层层退回最初的数据源,重新补录的麻烦。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种数据补录方法,其特征在于,应用于数据补录平台的客户端,所述数据补录平台采用C/S架构体系,并包括客户端和数据补录服务器,所述数据补录服务器中的数据库采用Oracle数据库;所述方法包括:
接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
确定所需上传的目标数据文件;
利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件,包括:将所述目标数据文件中的第一行作为标题行;设置所述数据访问模型的连接参数,具体包括:将HDR设置为NO,以表示将所述第一行作为数据来读取,将IMEX设置为1,以表示处于读取模式;根据所述连接参数建立与所述目标数据文件的Oledb连接,具体包括:获取所述目标数据文件的后缀名,根据所述后缀名针对不同类型的数据源选择对应的读取引擎,以建立与所述目标文件的Oledb连接;设置数据的筛选条件具体包括:设置OledbApapter读取的Sql语句,根据所述建立与所述目标数据文件的Oledb连接所产生的结果中Fn,所述Fn用于指代第n列的值,对读取的数据设置筛选条件,所述筛选条件包括跳过空行;依据所述筛选条件对所述目标数据文件进行数据筛选,得到预处理数据文件;将所述预处理数据文件中不符合预设脏数据处理字符规则的数据清除并依据预设脏数据处理格式规则对所述预处理数据文件进行数据转换得到第一数据文件;所述不符合预设脏数据处理字符规则的数据包括空白字符与奇怪字符;所述数据转换包括对不符合最终数据项格式的带有千位分隔符的金额数据的数据转换;
根据预设的规则对所述第一数据文件进行数据检查;所述数据检查包括:单数据文件的单数据项列检查、单数据文件的本身关联检查和多数据文件的交叉关联检查;
获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;
当所述上传标识为允许上传的标识时,使用批量上传的方式将所述第一数据文件上传到所述数据补录服务器的数据补录数据库;
所述第一数据文件上传的流程,包括:本地重复性检查、联机重复性检查、旧数据的删除以及新数据的上传;
所述单数据文件的单数据项列检查包括:预先为每一个数据文件建立对应的属性集合数组;通过check函数将数据项的值和该数据项所在的列对应的属性集合元素传给检查函数,以由所述检查函数来检查;其中,为每一个数据文件建立一个属性集合的数组,将每一个数据文件的每一列当做对象实体来处理;为每一列建立一个属性集合,则数据文件的每一列的检查属性对应一个属性集合元素;通过check函数调用检查函数,遍历在读取阶段读取到的数据表DataTable,对于每一行每一列,把值和该值所在的列对应的属性集合元素的检查属性传给check函数,再由check函数根据具体的检查属性再调用具体的检查函数做检查;
所述多数据文件的交叉关联检查包括:检查多个数据文件的多行数据的数据一致性;
所述单数据文件的本身关联检查包括:单数据文件的同行多列的数据一致性检查和单数据文件的多行数据的一致性检查;
所述单数据文件的同行多列的数据一致性检查,用于遍历数据文件的DataTable,对同一行不同列的值进行数据一致性检查;
所述单数据文件的多行数据的一致性检查和所述多个数据文件的多行数据的数据一致性检查,具体包括:首先,根据需要关联检查的种类建立相应的哈希表和字典,哈希表和字典的key值是每行数据的关键字段的组合值,而value值则是每行数据跟关联检查种类相关的字段,或是字段与其他信息;哈希表的value值为一个字段或是多个字段组合值,哈希表的value只能容纳一种数据类型;字典的value,通过定义value的类型为一个结构体,可容纳多种数据类型;字典的value值可以是多个字段;其次,遍历需要做关联检查的DataTable,将数据加载到对应的哈希表和字典中,然后根据需要做的关联检查,编写检查函数进行检查;
所述本地重复性检查包括:建立一个哈希表HashTable,然后遍历DataTable的数据,从首行开始,判断该行是否在HashTable中;如果该行不在HashTable中,则添加到HashTable里;如果该行已经在HashTable中,则确定该行与前面的行重复,进行报错;
所述联机重复性检查包括:遍历DataTable中的数据,从首行开始,判断该行是否在数据库中已被其他人上传过;如果是自己之前已上传过,则不为错误;如果该行数据已被其他人上传过,则确定该行与数据库中的数据重复,进行报错;
所述旧数据的删除包括:对于同一份数据文件,先删除掉之前已上传过的数据文件,再上传新的数据文件;
所述新数据的上传包括:使用Oracle的批量上传功能bulkCopy,将DataTable中的数据上传到数据补录服务器的数据补录数据库;
若所述当前用户为数据审核的最高级用户,则所述数据补录方法还包括:
接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容;
接收所述当前用户发送的审核通过的第三指令,根据所述第三指令确定所述第一数据文件的上传标识为允许上传的标识;
将用户的建立和数据任务的分配分开来,用于实现建立任意层级的用户,还用于将数据任务全部集中在最下级的用户,或者将数据任务分布在各个层级的用户中;
创建所述层级关系用于:在数据检查通过之后,且当前用户上传数据之前,进行以下的两个判断:
第一个判断:判断当前用户是不是没有数据,如果是,则不允许上传,如果否,则接着第二个判断;
第二个判断:判断当前用户的数据是否被审核过,如果已经上传被审核过,则不允许上传,除非被当前审核的用户退回;如果未被审核过,则允许上传;
上传之后,由当前用户的直接上级用户审核,当所述直接上级用户有多个时,若所有的直接上级用户审核通过的话,则会到更高一级的用户进行审核,直到最后到达最高级别的用户进行审核;如果最高级用户审核通过,则认为数据完全上传成功;在这个过程中,如果数据文件被其中的一个上级用户退回,则会直接退回到最下级用户,所述最下级用户需要对数据做相应修改,修改之后再重新读取、检查和上传,再进行逐级审核。
2.根据权利要求1所述的数据补录方法,其特征在于,所述根据预设的规则对所述第一数据文件进行数据检查包括:
判断所述第一数据文件中任意一列的格式是否符合预设条件,得到第一判断结果;
判断所述第一数据文件中同行多列数据之间的一致性是否符合第一一致性检查规则,得到第二判断结果;
判断所述第一数据文件中多行数据之间的一致性是否符合第二一致性检查规则,得到第三判断结果;
当所述第一判断结果、所述第二判断结果、所述第三判断结果均为通过时,则确定所述第一数据文件通过所述数据检查。
3.根据权利要求2所述的数据补录方法,其特征在于,还包括:
当所述第一数据文件中任意一列的格式不符合预设条件时,生成包括所述不符合预设条件在所述第一数据文件中的位置的错误记录,将所述错误记录保存为第一错误文件;其中所述预设条件用于表征数据文件中每一列的格式标准;
当所述第一数据文件中同行多列数据不符合所述第一一致性检查规则时,生成包括所述不符合所述第一一致性检查规则的数据在所述第一数据文件中的位置的错误记录,生成第二错误文件;
当所述第一数据文件中多行数据不符合所述第二一致性检查规则时,生成包括所述不符合所述第二一致性检查规则在所述第一数据文件中的位置的错误记录,生成第三错误文件。
4.根据权利要求2所述的数据补录方法,其特征在于,所述将所述第一数据文件上传到数据补录数据库包括:
查找补录数据库中与所述第一数据文件对应的旧数据文件;
发送删除所述旧数据文件的指令到所述数据补录数据库;
当接收到所述数据补录数据库发送的删除成功的指令后,将所述第一数据文件上传到所述补录数据库中,使所述补录数据库保存该所述第一数据文件。
5.一种数据补录装置,其特征在于,应用于数据补录平台的客户端,所述数据补录平台采用C/S架构体系,并包括客户端和数据补录服务器,所述数据补录服务器中的数据库采用Oracle数据库;所述装置包括:
登录模块,用于接收当前用户输入的用户名和密码,依据所述用户名和密码登录到与所述客户端相连接的数据补录服务器;
数据文件选择模块,用于确定所需上传的目标数据文件;
数据文件读取模块,用于利用Oledb数据访问模型获取所述目标数据文件并处理所述目标数据文件中不符合数据处理规则的数据得到第一数据文件,包括:将所述目标数据文件中的第一行作为标题行;设置所述数据访问模型的连接参数,具体包括:将HDR设置为NO,以表示将所述第一行作为数据来读取,将IMEX设置为1,以表示处于读取模式;根据所述连接参数建立与所述目标数据文件的Oledb连接,具体包括:获取所述目标数据文件的后缀名,根据所述后缀名针对不同类型的数据源选择对应的读取引擎,以建立与所述目标文件的Oledb连接;设置数据的筛选条件具体包括:设置OledbApapter读取的Sql语句,根据所述建立与所述目标数据文件的Oledb连接所产生的结果中Fn,所述Fn用于指代第n列的值,对读取的数据设置筛选条件,所述筛选条件包括跳过空行;依据所述筛选条件对所述目标数据文件进行数据筛选,得到预处理数据文件;将所述预处理数据文件中不符合预设脏数据处理字符规则的数据清除并依据预设脏数据处理格式规则对所述预处理数据文件进行数据转换得到第一数据文件;所述不符合预设脏数据处理字符规则的数据包括空白字符与奇怪字符;所述数据转换包括对不符合最终数据项格式的带有千位分隔符的金额数据的数据转换;
数据文件检查模块,用于根据预设的规则对所述第一数据文件进行数据检查;所述数据检查包括:单数据文件的单数据项列检查、单数据文件的本身关联检查和多数据文件的交叉关联检查;
数据文件上传模块,用于获取所述数据检测的检测结果,当所述检测结果表征所述第一数据文件通过所述数据检查时,获取所述第一数据文件的上传标识;当所述上传标识为允许上传的标识时,使用批量上传的方式将所述第一数据文件上传到所述数据补录服务器的数据补录数据库;
所述第一数据文件上传的流程,包括:本地重复性检查、联机重复性检查、旧数据的删除以及新数据的上传;
所述单数据文件的单数据项列检查包括:预先为每一个数据文件建立对应的属性集合数组;通过check函数将数据项的值和该数据项所在的列对应的属性集合元素传给检查函数,以由所述检查函数来检查;其中,为每一个数据文件建立一个属性集合的数组,将每一个数据文件的每一列当做对象实体来处理;为每一列建立一个属性集合,则数据文件的每一列的检查属性对应一个属性集合元素;通过check函数调用检查函数,遍历在读取阶段读取到的数据表DataTable,对于每一行每一列,把值和该值所在的列对应的属性集合元素的检查属性传给check函数,再由check函数根据具体的检查属性再调用具体的检查函数做检查;
所述多数据文件的交叉关联检查包括:检查多个数据文件的多行数据的数据一致性;
所述单数据文件的本身关联检查包括:单数据文件的同行多列的数据一致性检查和单数据文件的多行数据的一致性检查;
所述单数据文件的同行多列的数据一致性检查,用于遍历数据文件的DataTable,对同一行不同列的值进行数据一致性检查;
所述单数据文件的多行数据的一致性检查和所述多个数据文件的多行数据的数据一致性检查,具体包括:首先,根据需要关联检查的种类建立相应的哈希表和字典,哈希表和字典的key值是每行数据的关键字段的组合值,而value值则是每行数据跟关联检查种类相关的字段,或是字段与其他信息;哈希表的value值为一个字段或是多个字段组合值,哈希表的value只能容纳一种数据类型;字典的value,通过定义value的类型为一个结构体,可容纳多种数据类型;字典的value值可以是多个字段;其次,遍历需要做关联检查的DataTable,将数据加载到对应的哈希表和字典中,然后根据需要做的关联检查,编写检查函数进行检查;
所述本地重复性检查包括:建立一个哈希表HashTable,然后遍历DataTable的数据,从首行开始,判断该行是否在HashTable中;如果该行不在HashTable中,则添加到HashTable里;如果该行已经在HashTable中,则确定该行与前面的行重复,进行报错;
所述联机重复性检查包括:遍历DataTable中的数据,从首行开始,判断该行是否在数据库中已被其他人上传过;如果是自己之前已上传过,则不为错误;如果该行数据已被其他人上传过,则确定该行与数据库中的数据重复,进行报错;
所述旧数据的删除包括:对于同一份数据文件,先删除掉之前已上传过的数据文件,再上传新的数据文件;
所述新数据的上传包括:使用Oracle的批量上传功能bulkCopy,将DataTable中的数据上传到数据补录服务器的数据补录数据库;
若所述当前用户为数据审核的最高级用户,则所述数据补录装置还包括工作流调度模块,所述工作流调度模块用于:
接收所述当前用户发送的建立下级用户的第一指令,根据所述第一指令创建当前用户与下级用户的层级关系,所述层级关系用于表征数据文件的审核流程;
接收对所述下级用户分配任务的第二指令,根据所述第二指令为所述下级用户分配审核任务,所述审核任务用于表征下级用户对所述第一数据文件审核的具体内容;
接收所述当前用户发送的审核通过的第三指令,根据所述第三指令确定所述第一数据文件的上传标识为允许上传的标识;
将用户的建立和数据任务的分配分开来,用于实现建立任意层级的用户,还用于将数据任务全部集中在最下级的用户,或者将数据任务分布在各个层级的用户中;
创建所述层级关系用于:在数据检查通过之后,且当前用户上传数据之前,进行以下的两个判断:
第一个判断:判断当前用户是不是没有数据,如果是,则不允许上传,如果否,则接着第二个判断;
第二个判断:判断当前用户的数据是否被审核过,如果已经上传被审核过,则不允许上传,除非被当前审核的用户退回;如果未被审核过,则允许上传;
上传之后,由当前用户的直接上级用户审核,当所述直接上级用户有多个时,若所有的直接上级用户审核通过的话,则会到更高一级的用户进行审核,直到最后到达最高级别的用户进行审核;如果最高级用户审核通过,则认为数据完全上传成功;在这个过程中,如果数据文件被其中的一个上级用户退回,则会直接退回到最下级用户,所述最下级用户需要对数据做相应修改,修改之后再重新读取、检查和上传,再进行逐级审核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711089720.XA CN107862049B (zh) | 2017-11-08 | 2017-11-08 | 一种数据补录方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711089720.XA CN107862049B (zh) | 2017-11-08 | 2017-11-08 | 一种数据补录方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107862049A CN107862049A (zh) | 2018-03-30 |
CN107862049B true CN107862049B (zh) | 2022-03-25 |
Family
ID=61699942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711089720.XA Active CN107862049B (zh) | 2017-11-08 | 2017-11-08 | 一种数据补录方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107862049B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106920527B (zh) * | 2017-05-05 | 2018-02-02 | 惠科股份有限公司 | 一种显示面板的驱动方法、驱动装置及显示装置 |
CN108921698B (zh) * | 2018-07-03 | 2022-02-25 | 中国银行股份有限公司 | 基于全球一体化核心银行系统的分行补录方法及系统 |
CN109376152A (zh) * | 2018-09-13 | 2019-02-22 | 广州帷策智能科技有限公司 | 大数据系统文件数据准备方法和系统 |
CN110968548A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 一种数据修正方法、装置、存储介质及处理器 |
CN109493230B (zh) * | 2018-12-28 | 2020-09-15 | 中国银行股份有限公司 | 一种单边交易的补录方法及装置 |
CN111507066B (zh) * | 2020-04-21 | 2024-01-12 | 北京思特奇信息技术股份有限公司 | 一种上传加载文件并解析入库方法及系统 |
CN112015747B (zh) * | 2020-09-14 | 2024-04-16 | 支付宝(杭州)信息技术有限公司 | 数据上传方法及装置 |
CN112527785B (zh) * | 2020-12-16 | 2023-07-21 | 平安银行股份有限公司 | 数据补录方法、装置、电子设备及存储介质 |
CN113778961B (zh) * | 2021-08-17 | 2022-04-15 | 广东国地规划科技股份有限公司 | 一种cim模型数据的生产管理方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268335A (zh) * | 2013-05-13 | 2013-08-28 | 中国农业银行股份有限公司 | 报表数据填报方法及系统 |
CN104299105A (zh) * | 2014-11-02 | 2015-01-21 | 中国科学院软件研究所 | 一种支持复杂企业环境的信用数据管理系统及方法 |
CN107168995A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198312A1 (en) * | 2006-02-21 | 2007-08-23 | Sugato Bagchi | Data quality management using business process modeling |
-
2017
- 2017-11-08 CN CN201711089720.XA patent/CN107862049B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268335A (zh) * | 2013-05-13 | 2013-08-28 | 中国农业银行股份有限公司 | 报表数据填报方法及系统 |
CN104299105A (zh) * | 2014-11-02 | 2015-01-21 | 中国科学院软件研究所 | 一种支持复杂企业环境的信用数据管理系统及方法 |
CN107168995A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法及服务器 |
Non-Patent Citations (1)
Title |
---|
"OLEDB连接Excel中的HDR与IMEX解释";vkvi;《http://www.cftea.com/c/2011/02/0LI6HQQS116ROTWM.asp》;20110215;第1页第1-21行 * |
Also Published As
Publication number | Publication date |
---|---|
CN107862049A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862049B (zh) | 一种数据补录方法及装置 | |
JP7460689B2 (ja) | スプレッドシートに基づくソフトウェアアプリケーション開発 | |
US7590939B2 (en) | Storage and utilization of slide presentation slides | |
US8228542B2 (en) | Systems and methods for storing multiple records using identifiers, storage locations, and attributes associated with electronic documents | |
US20180075138A1 (en) | Electronic document management using classification taxonomy | |
US7493561B2 (en) | Storage and utilization of slide presentation slides | |
US7546533B2 (en) | Storage and utilization of slide presentation slides | |
US7065515B2 (en) | System and method for electronically managing composite documents | |
JP2022177302A (ja) | スプレッドシートに基づくソフトウェアアプリケーションの開発 | |
US20160094681A1 (en) | Versatile Information Management System | |
AU2015331025A1 (en) | Emulating manual system of filing using electronic document and electronic file | |
JPH0664547B2 (ja) | 対話型情報取扱いシステムにおける電子文書管理方法 | |
AU2015331028A1 (en) | Electronic processing system for electronic document and electronic file | |
CN111292012A (zh) | 一种支持固定资产的共享管理方法、系统及系统构建方法 | |
CN114297312A (zh) | 多人协同操作数据库进行专利数据标引的方法及装置 | |
US8145647B2 (en) | System, method and computer program product for electronically responding to requests for product related data | |
US20230195792A1 (en) | Database management methods and associated apparatus | |
EP2325764B1 (en) | Archiving system | |
US20050004955A1 (en) | System and method for synchronous maintenance of remote template files | |
Wolf | Automating authority control processes | |
KR20210080977A (ko) | 블록체인을 이용한 비지니스 문서 편집 방법 | |
US20240338182A1 (en) | Automated creation of software program structure having runnable software code | |
CN109739847A (zh) | 一种基于内外线资源的审批录入方法及系统 | |
Huo et al. | Design and Analysis of Online Editorial System for Magazines | |
JP2011043930A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |