CN115328674A - 一种数据写入的方法、装置和系统 - Google Patents
一种数据写入的方法、装置和系统 Download PDFInfo
- Publication number
- CN115328674A CN115328674A CN202210920801.4A CN202210920801A CN115328674A CN 115328674 A CN115328674 A CN 115328674A CN 202210920801 A CN202210920801 A CN 202210920801A CN 115328674 A CN115328674 A CN 115328674A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- message
- target
- authorization
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013475 authorization Methods 0.000 claims abstract description 109
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据写入的方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:接收一个或多个待处理数据;从一个或多个消息通道中确定出与一个或多个待处理数据对应的一个或多个目标消息通道;一个或多个消息通道是根据预配置的第一配置信息以及第一配置信息对应的第一授权信息预先创建的;将一个或多个待处理数据分别发送至对应的目标消息通道,以使目标消息通道对应的目标客户端将待处理数据写入文件服务器。该实施方式能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端后同步进行数据的写入,提高了数据写入效率。同时不会占用内存资源,在实现异步效果的同时,节省存储成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据写入的方法、装置和系统。
背景技术
现有的数据写入方法中,通常需要借助缓存中间件来实现异步的效果,例如需要将批量数据写入文件服务器时,通常将批量的数据存入缓存中间件,再由一台客户端从缓存中间件中逐个读取数据,并依次写入文件服务器。
现有的方式虽然可以解决将批量数据异步写入文件服务器,但利用缓存中间件对内存资源占用过大,耗时较长,对于缓存中间件中已写过的文件还需定期做清理操作以保证缓存中间件中的存储空间,同时由一台客户端将数据写入文件服务器写入速度较慢,整体效果欠佳。
发明内容
有鉴于此,本发明实施例提供一种数据写入的方法、装置和系统,能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
为实现上述目的,根据本发明实施例的第一方面,提供了一种数据写入的方法。
本发明实施例的一种数据写入的方法包括:接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
可选地,所述目标消息通道包括多个消息队列;所述将所述一个或多个待处理数据分别发送至对应目标消息通道,包括:将多个待处理数据发送至所述目标消息通道中的多个消息队列,以使所述多个消息队列分别对应的目标客户端将所述待处理数据写入文件服务器。
可选地,所述第一配置信息包括:一个或多个业务场景与所述一个或多个消息通道的对应关系;所述从一个或多个消息通道中确定出与所述待处理数据对应的目标消息通道,包括:根据所述待处理数据中的业务场景,从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道。
可选地,在所述从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道之后,还包括:对多个所述待处理数据分别进行哈希计算,根据计算结果确定各个所述待处理数据分别对应的目标消息队列。
可选地,所述第一授权信息是通过授权端对所述第一配置信息进行授权得到的,在所述接收一个或多个待处理数据之前,还包括:将第一配置信息发送至授权端;所述第一配置信息包括待创建的一个或多个消息通道数据;接收所述授权端返回的所述第一授权信息,并根据所述第一授权信息创建所述一个或多个消息通道。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种数据写入的方法。
本发明实施例的一种数据写入的方法包括:数据写入端将第一配置信息发送至授权端,所述第一配置信息包括待创建的一个或多个消息通道数据;所述授权端根据第一配置信息生成第一授权信息并返回给所述数据写入端;所述数据写入端根据所述第一授权信息创建所述一个或多个消息通道;利用数据写入端接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道,并将所述一个或多个待处理数据分别发送至对应的目标消息通道;利用与所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
可选地,在所述利用数据写入端接收一个或多个待处理数据之前,还包括:利用所述授权端接收多个客户端分别发送的第二配置信息;所述第二配置信息包括与各个所述客户端分别对应的消息通道;在所述消息通道空闲的情况下,所述授权端将所述消息通道授权给与所述消息通道对应的所述客户端,根据授权结果生成所述第二授权信息。
可选地,所述消息通道包括一个或多个消息队列;所述在所述消息通道空闲的情况下,所述授权端将所述消息通道授权给所述客户端,包括:在所述消息通道中存在至少一个空闲的消息队列的情况下,所述授权端将所述空闲的消息队列择一授权给所述客户端。
可选地,该方法还包括:利用所述授权端实时确定所述目标客户端的连接状态;针对所述连接状态为断开连接的情况下,从与所述消息通道对应的其他所述客户端中重新确定出连接状态正常的新的目标客户端,并将所述目标消息队列授权给所述新的目标客户端。
为实现上述目的,根据本发明实施例的又一方面,提供了一种数据写入的装置。
本发明实施例的一种数据写入的装置包括:接收模块,用于接收一个或多个待处理数据;确定模块,用于从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;发送模块,用于将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
为实现上述目的,根据本发明实施例的又一方面,提供了一种数据写入的系统。
本发明实施例的一种数据写入的系统包括:数据写入端、授权端、以及目标客户端;其中,
所述数据写入端用于将第一配置信息发送至授权端,所述第一配置信息包括待创建的一个或多个消息通道数据;所述授权端用于根据第一配置信息生成第一授权信息并返回给所述数据写入端;所述数据写入端还用于,根据所述第一授权信息创建所述一个或多个消息通道;所述数据写入端还用于,接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道,并将所述一个或多个待处理数据分别发送至对应的目标消息通道;所述目标客户端用于将所述待处理数据写入文件服务器。
为实现上述目的,根据本发明实施例的又一方面,提供了一种数据写入的电子设备。
本发明实施例的一种数据写入的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据写入的方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据写入的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种数据写入的方法的主要步骤的示意图;
图2是根据本发明实施例的创建消息通道的主要步骤的示意图;
图3是根据本发明实施例的数据写入的装置的主要模块的示意图;
图4是根据本发明实施例的另一种数据写入的方法的主要步骤的示意图;
图5是根据本发明实施例的授权端确定目标消息通道对应的目标客户端的主要步骤的示意图;
图6是根据本发明实施例的实时监听客户端的主要步骤的示意图;
图7是根据本发明实施例的目标客户端写入待处理数据的主要步骤的示意图;
图8是根据本发明实施例的数据写入整体流程的示意图;
图9是根据本发明实施例的数据写入的系统的示意图;
图10是本发明实施例可以应用于其中的示例性系统架构图;
图11是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例的数据写入的方法的主要步骤的示意图。
如图1所示,本发明实施例应用于数据写入端的数据写入的方法,主要包括以下步骤:
步骤S101:接收一个或多个待处理数据;
步骤S102:从一个或多个消息通道中确定出与一个或多个待处理数据对应的一个或多个目标消息通道;一个或多个消息通道是根据预配置的第一配置信息以及第一配置信息对应的第一授权信息预先创建的;
步骤S103:将一个或多个待处理数据分别发送至对应的目标消息通道,以使目标消息通道对应的目标客户端将待处理数据写入文件服务器。
其中,消息通道是用于将待处理数据由数据写入端传输至目标客户端的通道,对于数据写入端来说,只需要将待处理数据发送到消息通道的入口即可。在一种可选的实施例中,消息通道本身可以是消息队列,也可以在各个消息通道中,进一步包括一个或多个消息队列,本申请对于在消息通道中数据传输的传输媒介不做具体限定。
一种可选的实施例中,目标消息通道包括多个消息队列;步骤S103中将一个或多个待处理数据分别发送至对应目标消息通道,可以进一步包括:将多个待处理数据发送至目标消息通道中的多个消息队列,以使多个消息队列分别对应的目标客户端将待处理数据写入文件服务器。
其中,目标客户端将待处理数据写入文件服务器的过程通常是目标客户端先将待处理文件写入本地文件,再按照预设时间段将本地文件上传至文件服务器,例如每1分钟上传一次。也可以按照其他预设规则进行上传,例如本地文件在近N分钟(可根据用户需求进行配置)没有新的待处理数据插入,那么就会将本地文件上传到文件服务器一次。或者在服务主动关闭重启前,将本地文件上传至文件服务器。通过定期将本地文件上传至文件服务器可以保证待处理数据及时写入文件服务器,不会造成数据丢失,提高数据写入效率。
需要说明的是,本发明实施例通过一个或多个消息通道以及各个消息通道中的一个或多个消息队列,将待处理数据分别发送至不同的目标客户端进行处理,大大提高了处理效率。当存在多个待处理数据,且多个待处理数据对应有多个消息通道时,各个消息通道中可以仅设置有一个消息队列;当多个待处理数据仅对应一个消息通道时,则需要在消息通道中设置多个消息队列,以保证可以将多个待处理数据分配给多个目标客户端进行数据写入。
在一种可选的实施例中,第一配置信息包括:一个或多个业务场景与一个或多个消息通道的对应关系。步骤S102中从一个或多个消息通道中确定出与待处理数据对应的目标消息通道的步骤,可以进一步包括:根据待处理数据中的业务场景,从一个或多个消息通道中确定出与业务场景对应的目标消息通道。
由于一个或多个消息通道是根据预配置的第一配置信息以及第一配置信息对应的第一授权信息预先创建的,因此当第一配置信息中包括业务场景与消息通道的对应关系时,创建出的消息通道自然也与业务场景存在对应关系,因此可以根据待处理数据中的业务场景对待处理数据先进行分类,在后续目标客户端对待处理数据进行写入的过程中,也可以保证同一目标客户端始终写入同一业务场景的数据,提高写入效率,同时便于写入数据的分类和查询过程。在进一步可选的实施例中,同一业务场景中包括多个具体的业务类型,第一配置信息中还包括各个业务类型与消息队列的对应关系,即可根据待处理业务消息的业务场景确定出目标消息通道后,进一步根据业务类型确定目标消息队列。
当目标消息通道中存在多个消息队列时,对于多个相同业务场景的待处理数据,都会分配至同一目标消息通道,对于具体消息队列的分配方式,因此在从一个或多个消息通道中确定出与业务场景对应的目标消息通道之后,在一种可选的实施例中,可以采取随机分配的方式,也可以将待处理数据分配至负载率最低的消息队列,以保证多个消息队列同步工作,不会出现某一消息队列一直处理,而其他消息队列空闲的情况。例如,目标消息通道A中设置有3个消息队列,分别为消息队列1、消息队列2和消息队列3,此时消息队列1中正在传输10个待处理数据,消息队列2中正在传输8个待处理数据,消息队列3中正在传输3个待处理数据,那么在新的待处理数据分配至目标消息通道A时,就以消息队列3作为目标消息队列。但是,通过随机分配的方式无法保证同一业务类型的数据写入同一文件中,还需要后续针对不同的写入文件进行汇总处理,以将同一业务类型对应的多个文件合并为一个文件。
对于确定出目标消息队列的过程,在另一种可选的实施例中,还包括:对多个待处理数据分别进行哈希计算,根据计算结果确定各个待处理数据分别对应的目标消息队列。由于哈希计算后得到的计算结果是一串数字,因此可以对计算结果进行取模或者取余,来确定各个待处理数据分别对应的目标消息队列。通常待处理数据中包含有指示了业务场景的业务编码,对业务编码进行哈希计算,可以根据计算结果得到与业务场景对应的目标消息通道,在确定了目标消息通道后,再根据消息队列的数量对计算结果取模,即可确定目标消息队列。通过采用哈希计算的方式确定目标消息队列,可以避免随机分配所导致的问题,保证了同一业务类型的数据始终写入同一文件,减少了后续的处理工作,提高消息写入效率。
在一种可选的实施例中,第一配置信息是数据写入端来进行配置的,第一授权信息是通过授权端对所述第一配置信息进行授权得到的,具体的,在接收一个或多个待处理数据之前,如图2所示,还包括:
步骤S201:将第一配置信息发送至授权端;第一配置信息包括待创建的一个或多个消息通道数据;
步骤S202:接收授权端返回的第一授权信息,并根据第一授权信息创建一个或多个消息通道。
其中,第一授权信息为指示了第一配置信息中待创建的一个或多个消息通道数据是否可以进行创建的信息,根据第一授权信息创建一个或多个消息通道即是针对授权通过(可以进行创建)的待创建消息通道进行创建,授权未通过的则不予创建。在一种可选的实施例中,同一消息通道仅授权给单一的数据写入端的应用服务,通过授权端对第一配置信息进行授权,可以保证每个消息通道仅会授权给一个数据写入端,不会出现重复授权的情况。
根据本发明实施例的数据写入的方法,能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
图3是根据本发明实施例的数据写入的装置的主要模块的示意图。
如图3所示,本发明实施例的数据写入的装置300包括:
接收模块301,用于接收一个或多个待处理数据;
确定模块302,用于从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;
发送模块303,用于将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
在一种可选的实施例中,所述目标消息通道包括多个消息队列;所述发送模块303还用于将多个待处理数据发送至所述目标消息通道中的多个消息队列,以使所述多个消息队列分别对应的目标客户端将所述待处理数据写入文件服务器。
在一种可选的实施例中,所述第一配置信息包括:一个或多个业务场景与所述一个或多个消息通道的对应关系;所述确定模块302还用于根据所述待处理数据中的业务场景,从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道。
在一种可选的实施例中,所述确定模块302还用于,在所述从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道之后,对多个所述待处理数据分别进行哈希计算,根据计算结果确定各个所述待处理数据分别对应的目标消息队列。
在一种可选的实施例中,所述第一授权信息是通过授权端对所述第一配置信息进行授权得到的,所述装置还包括配置模块,用于将第一配置信息发送至授权端;所述第一配置信息包括待创建的一个或多个消息通道数据;接收所述授权端返回的所述第一授权信息,并根据所述第一授权信息创建所述一个或多个消息通道。
根据本发明实施例的数据写入的装置,能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
图4是根据本发明实施例的另一数据写入的方法的主要步骤的示意图。
如图4所示,本发明实施例提供的数据写入的方法,主要包括以下步骤:
步骤S401:数据写入端将第一配置信息发送至授权端,第一配置信息包括待创建的一个或多个消息通道数据;
步骤S402:授权端根据第一配置信息生成第一授权信息并返回给数据写入端;
步骤S403:数据写入端根据第一授权信息创建一个或多个消息通道;
步骤S404:利用数据写入端接收一个或多个待处理数据;从一个或多个消息通道中确定出与一个或多个待处理数据对应的一个或多个目标消息通道,并将一个或多个待处理数据分别发送至对应的目标消息通道;
步骤S405:利用与目标消息通道对应的目标客户端将待处理数据写入文件服务器。
其中,授权端会将第一授权信息进行存储,也就是存储创建的消息通道以及与待处理数据的对应关系。在一种可选的实施例中,在执行步骤S401之前,授权端会预先确定出目标消息通道对应的目标客户端,如图5所示,具体包括:
步骤S501:利用授权端接收多个客户端分别发送的第二配置信息;第二配置信息包括与各个客户端分别对应的消息通道;
步骤S502:在消息通道空闲的情况下,授权端将消息通道授权给与消息通道对应的客户端,根据授权结果生成第二授权信息。
其中,第二配置信息包括了客户端与消息通道的对应关系,为了保证同一消息通道仅对应有一个消费客户端,因此需要授权端进行授权,只有授权通过的客户端才可以接受到数据写入端发送的待处理数据。在一种可选的实施例中,当有多个客户端与同一消息通道对应时,则可以根据第二配置信息的接收时间,以对时间最近的客户端进行授权。
在消息通道包括一个或多个消息队列时,一种可选的实施例中,步骤S502可以进一步包括:在消息通道中存在至少一个空闲的消息队列的情况下,授权端将空闲的消息队列择一授权给客户端。例如,消息通道A中设置有3个消息队列,分别为消息队列1、消息队列2和消息队列3,其中,消息队列1已经授权给客户端a。此时客户端b的第二配置信息中也与消息通道A对应,那么则将消息队列2和消息队列3中的任意一个授权给客户端b。
在实际应用过程中,客户端可能会出现死机、掉线等临时故障,因此在一种可选的实施例中,如图6所示,还包括:
步骤S601:利用授权端实时确定目标客户端的连接状态;
步骤S602:针对连接状态为断开连接的情况下,从与消息通道对应的其他客户端中重新确定出连接状态正常的新的目标客户端,并将目标消息队列授权给新的目标客户端。
其中,连接状态可以通过监听目标客户端的心跳信息来获得,在预设时间内未接收到目标客户端的心跳信息,则认为目标客户端的链接状态为断开链接。通过上述方式可以在客户端工作出现异常情况时,及时采取有效的保护措施,避免由于客户端工作异常而导致数据写入效率降低。
在一种可选的实施例中,可以对已经授权的消息通道或消息队列标识已消费,对没有授权的消息通道或消息队列进行标识未消费,在步骤S501中接收到客户端发送的第二配置信息后,判断与第二配置信息对应的消息通道是否消费,若未消费,则将该消息通道授权给该客户端。
为了便于新的目标客户端可以在原目标客户端已写文件的基础上继续写入文件,在一种可选的实施例中,新的目标客户端在获得授权后,从文件服务器中同步原目标客户端的写入进度,在已写文件的基础上继续写入新的待处理数据。
通常情况下,目标客户端会将同种业务活动的待处理数据写入同一本地文件中,例如,在业务场景为满减活动的情况下,同时包括多种业务活动,分别为业务活动A:满100减50、业务活动B:满50减30、业务活动C:满30减10。因此在一种可选的实施例中,目标客户端在写入待处理数据时,如图7所示,可以具体包括:
步骤S701:判断本地数据库中是否存在与待处理数据对应的本地文件;
如果是,则执行步骤S702:将待处理数据写入本地文件;
如果否,则执行步骤S703:判断文件服务器中是否存在与待处理数据对应的目标文件;
在存在目标文件的情况下,继续执行步骤S704:将目标文件下载至本地,并将待处理数据写入目标文件;
在不存在目标文件的情况下,执行步骤S705:新建与待处理数据对应的本地文件,并将待处理数据写入新建的本地文件。
图8示出了本发明实施例一种数据写入的整体流程,如图8所示,在数据写入端的服务器中存在多条待处理的业务数据,通过消息发送组件发送至消息通道(管道),并通过对多个待处理数据分别进行哈希计算,根据计算结果确定各个待处理数据分别对应的目标消息队列。其中,待处理数据的业务场景与消息通道(管道)一一对应,消息通道通过授权端授权后创建。在各个消息通道中,设置有多个消息队列(消息队列0、消息队列1、消息队列2……),每个消息队列对应有唯一的目标客户端(客户端1、客户端2、客户端3),其中,同一目标客户端可以对应有多个消息队列,目标客户端与消息队列的对应关系也是通过授权端预先授权得到的。待处理数据通过消息通道中的消息队列,发送至与消息队列对应的目标客户端,最后,由各个目标客户端将待处理数据写入文件服务器中。
根据本发明实施例的数据写入的方法,利用授权端对数据写入端和目标客户端分别进行授权,进而将数据写入端和目标客户端通过消息通道连接,以便于将多个待处理数据分配给多个目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。通过授权端的管理,可以保证数据写入端和目标客户端的对应关系,以及在异常情况下,能够及时更换目标客户端,保证数据写入的准确性。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
图9是根据本发明实施例的数据写入的系统的示意图。
如图9所示,本发明实施例的数据写入的系统900包括:数据写入端901、授权端902、以及目标客户端903;其中,
所述数据写入端901用于将第一配置信息发送至授权端,所述第一配置信息包括待创建的一个或多个消息通道数据;
所述授权端902用于根据第一配置信息生成第一授权信息并返回给所述数据写入端;
所述数据写入端901还用于,根据所述第一授权信息创建所述一个或多个消息通道;
所述数据写入端901还用于,接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道,并将所述一个或多个待处理数据分别发送至对应的目标消息通道;
所述目标客户端903用于将所述待处理数据写入文件服务器。
在一种可选的实施例中,所述授权端902还用于,在所述利用数据写入端接收一个或多个待处理数据之前,接收多个客户端分别发送的第二配置信息;所述第二配置信息包括与各个所述客户端分别对应的消息通道;在所述消息通道空闲的情况下,将所述消息通道授权给与所述消息通道对应的所述客户端,根据授权结果生成所述第二授权信息。
在一种可选的实施例中,所述消息通道包括一个或多个消息队列;所述授权端902还用于,在所述消息通道中存在至少一个空闲的消息队列的情况下,所述授权端将所述空闲的消息队列择一授权给所述客户端。
在一种可选的实施例中,所述授权端902还用于,实时确定所述目标客户端的连接状态;针对所述连接状态为断开连接的情况下,从与所述消息通道对应的其他所述客户端中重新确定出连接状态正常的新的目标客户端,并将所述目标消息队列授权给所述新的目标客户端。
根据本发明实施例的数据写入的系统,利用授权端对数据写入端和目标客户端分别进行授权,进而将数据写入端和目标客户端通过消息通道连接,以便于将多个待处理数据分配给多个目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。通过授权端的管理,可以保证数据写入端和目标客户端的对应关系,以及在异常情况下,能够及时更换目标客户端,保证数据写入的准确性。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
图10示出了可以应用本发明实施例的数据写入的方法或数据写入的装置的示例性系统架构1000。
如图10所示,系统架构1000可以包括服务器1001、网络1002、服务器1003、终端设备1004、1005、1006以及文件服务器1007。网络1002用以在服务器1001、服务器1003、以及终端设备1004、1005、1006之间提供通信链路的介质。网络1002可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1004、1005、1006以通过网络1002与服务器1003交互,以接收或发送数据等。终端设备1004、1005、1006上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备1004、1005、1006可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1003可以是提供各种服务的服务器,例如对用户利用终端设备1004、1005、1006所发送的第二配置信息进行授权或对服务器1001发送的第一配置信息进行授权的后台管理服务器。后台管理服务器可以对接收到的第一配置信息和/或第二配置信息等数据进行分析等处理,并将处理结果(例如授权结果)反馈给终端设备。
需要说明的是,本发明实施例第一方面所提供的数据写入的方法一般由服务器1001执行,相应地,数据写入的装置一般设置于服务器1001中。
应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图11,其示出了适于用来实现本发明实施例的终端设备的计算机系统1100的结构示意图。图11示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分11011加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)第一接口1105也连接至总线1104。
以下部件连接至I/O第一接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络第一接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1111也根据需要连接至I/O第一接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1111上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、确定模块和发送模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“用于接收一个或多个待处理数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
根据本发明实施例的技术方案,能够将服务端处的一个或多个待处理数据,分别通过对应的消息通道分配至不同的目标客户端,再由多个目标客户端同步进行数据的写入,提高了数据写入效率。同时消息通道本身不存储待处理数据,不会占用内存资源,在实现异步效果的同时,节省存储成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种数据写入的方法,其特征在于,应用于数据写入端,包括:
接收一个或多个待处理数据;
从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;
将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
2.根据权利要求1所述的方法,其特征在于,所述目标消息通道包括多个消息队列;所述将所述一个或多个待处理数据分别发送至对应目标消息通道,包括:
将多个待处理数据发送至所述目标消息通道中的多个消息队列,以使所述多个消息队列分别对应的目标客户端将所述待处理数据写入文件服务器。
3.根据权利要求2所述的方法,其特征在于,所述第一配置信息包括:一个或多个业务场景与所述一个或多个消息通道的对应关系;
所述从一个或多个消息通道中确定出与所述待处理数据对应的目标消息通道,包括:根据所述待处理数据中的业务场景,从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道。
4.根据权利要求3所述的方法,其特征在于,在所述从一个或多个所述消息通道中确定出与所述业务场景对应的目标消息通道之后,还包括:对多个所述待处理数据分别进行哈希计算,根据计算结果确定各个所述待处理数据分别对应的目标消息队列。
5.根据权利要求1所述的方法,其特征在于,所述第一授权信息是通过授权端对所述第一配置信息进行授权得到的,在所述接收一个或多个待处理数据之前,还包括:
将第一配置信息发送至授权端;所述第一配置信息包括待创建的一个或多个消息通道数据;
接收所述授权端返回的所述第一授权信息,并根据所述第一授权信息创建所述一个或多个消息通道。
6.一种数据写入的方法,其特征在于,包括:
数据写入端将第一配置信息发送至授权端,所述第一配置信息包括待创建的一个或多个消息通道数据;
所述授权端根据第一配置信息生成第一授权信息并返回给所述数据写入端;
所述数据写入端根据所述第一授权信息创建所述一个或多个消息通道;
利用数据写入端接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道,并将所述一个或多个待处理数据分别发送至对应的目标消息通道;
利用与所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
7.根据权利要求6所述的方法,其特征在于,在所述利用数据写入端接收一个或多个待处理数据之前,还包括:
利用所述授权端接收多个客户端分别发送的第二配置信息;所述第二配置信息包括与各个所述客户端分别对应的消息通道;
在所述消息通道空闲的情况下,所述授权端将所述消息通道授权给与所述消息通道对应的所述客户端,根据授权结果生成所述第二授权信息。
8.根据权利要求7所述的方法,其特征在于,所述消息通道包括一个或多个消息队列;所述在所述消息通道空闲的情况下,所述授权端将所述消息通道授权给所述客户端,包括:
在所述消息通道中存在至少一个空闲的消息队列的情况下,所述授权端将所述空闲的消息队列择一授权给所述客户端。
9.根据权利要求7所述的方法,其特征在于,还包括:
利用所述授权端实时确定所述目标客户端的连接状态;
针对所述连接状态为断开连接的情况下,从与所述消息通道对应的其他所述客户端中重新确定出连接状态正常的新的目标客户端,并将所述目标消息队列授权给所述新的目标客户端。
10.一种数据写入的装置,应用于数据写入端,包括:
接收模块,用于接收一个或多个待处理数据;
确定模块,用于从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道;所述一个或多个消息通道是根据预配置的第一配置信息以及所述第一配置信息对应的第一授权信息预先创建的;
发送模块,用于将所述一个或多个待处理数据分别发送至对应的目标消息通道,以使所述目标消息通道对应的目标客户端将所述待处理数据写入文件服务器。
11.一种数据写入的系统,包括:数据写入端、授权端、以及目标客户端;其中,
所述数据写入端用于将第一配置信息发送至授权端,所述第一配置信息包括待创建的一个或多个消息通道数据;
所述授权端用于根据第一配置信息生成第一授权信息并返回给所述数据写入端;
所述数据写入端还用于,根据所述第一授权信息创建所述一个或多个消息通道;
所述数据写入端还用于,接收一个或多个待处理数据;从一个或多个消息通道中确定出与所述一个或多个待处理数据对应的一个或多个目标消息通道,并将所述一个或多个待处理数据分别发送至对应的目标消息通道;
所述目标客户端用于将所述待处理数据写入文件服务器。
12.一种用于数据写入的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210920801.4A CN115328674A (zh) | 2022-08-02 | 2022-08-02 | 一种数据写入的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210920801.4A CN115328674A (zh) | 2022-08-02 | 2022-08-02 | 一种数据写入的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328674A true CN115328674A (zh) | 2022-11-11 |
Family
ID=83920333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210920801.4A Pending CN115328674A (zh) | 2022-08-02 | 2022-08-02 | 一种数据写入的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328674A (zh) |
-
2022
- 2022-08-02 CN CN202210920801.4A patent/CN115328674A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019125B (zh) | 数据库管理的方法和装置 | |
US10250480B2 (en) | Polling parameter adjustment | |
CN110008050B (zh) | 用于处理信息的方法和装置 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN105450784A (zh) | 向mq中的消息分配消费节点的装置及方法 | |
EP4180985A1 (en) | File sharing method, apparatus, and system | |
CN111800223A (zh) | 生成发送报文、处理接收报文的方法、装置和系统 | |
CN113742389A (zh) | 一种业务处理方法和装置 | |
CN110798495A (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN109144991B (zh) | 动态分表的方法、装置、电子设备和计算机可存储介质 | |
CN115328674A (zh) | 一种数据写入的方法、装置和系统 | |
CN116016561A (zh) | 数据的同步方法和装置 | |
CN115454666A (zh) | 消息队列集群间的数据同步方法和装置 | |
CN111984613B (zh) | 一种共享文件的方法、装置和系统 | |
CN114756173A (zh) | 文件合并的方法、系统、设备和计算机可读介质 | |
CN112688982B (zh) | 一种用户请求处理方法和装置 | |
CN114049065A (zh) | 一种数据处理方法、装置及系统 | |
CN114612212A (zh) | 一种基于风险控制的业务处理方法、装置和系统 | |
CN112163176A (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
CN111984614A (zh) | 一种共享文件的方法、装置和系统 | |
CN112953810A (zh) | 一种网络请求的处理方法和装置 | |
CN112711572A (zh) | 适用于分库分表的在线扩容方法和装置 | |
CN113132480B (zh) | 一种数据传输方法、装置和系统 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
CN113778660A (zh) | 一种管理热点数据的系统和方法 |
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 |