CN112202846A - 一种基于复杂网络架构的文件上传的方法及系统 - Google Patents
一种基于复杂网络架构的文件上传的方法及系统 Download PDFInfo
- Publication number
- CN112202846A CN112202846A CN202010955511.4A CN202010955511A CN112202846A CN 112202846 A CN112202846 A CN 112202846A CN 202010955511 A CN202010955511 A CN 202010955511A CN 112202846 A CN112202846 A CN 112202846A
- Authority
- CN
- China
- Prior art keywords
- uploading
- file
- file queue
- queue
- task
- 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.)
- Granted
Links
Images
Classifications
-
- 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]
-
- 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/133—Protocols for remote procedure calls [RPC]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及通信技术领域,具体涉及一种基于复杂网络架构的文件上传的方法及系统。包括:初始化文件队列;将上传任务加入文件队列;文件队列根据上传任务制作二级缓存;文件队列按顺序执行上传操作;上传结束后释放资源占用。该基于复杂网络架构的文件上传的方法及系统具有资源占用率低和易用性好的优点,通过文件队列将上传操作和存储操作拆分开来,使得上传操作变得轻量化,降低了对系统资源的占用,减少了卡顿;通过对任务制作二级缓存,提高了上传效率,减缓了设备外存储器的读写频率,节省了资源占用,易于在各种复杂的网络架构下进行使用,解决了现有的文件上传方案存有的资源占用率高和易用性较差的问题,满足了文件上传的需要。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于复杂网络架构的文件上传的方法及系统。
背景技术
上传也被称为上载,它是指将信息从本地设备传送至远程计算机系统的过程。随着信息技术的高速发展,现有的上传不仅仅局限于文本信息,用户对网页、图片、视频和压缩包等文件也存有上传的需求,在用户侧,只需要有直观的用户界面即可完成文件上传的操作,但在开发侧,则需要有对应的编程代码来提供逻辑支持,即,需要有易于使用的文件上传方法来实现上传功能,以满足用户的使用需要。
现有的文件上传方案虽然功能齐全,但是十分臃肿,在工作过程中十分消耗用户的硬件算力资源,使CPU、内存和存储器等硬件的占用率居高不下,挤占了其他应用软件的可用硬件算力资源,导致用户在进行上传操作时,应用软件十分卡顿,降低了用户的使用体验;另一方面,在软件开发领域,常用的功能会被封装为开发工具包(以下简述为SDK),而在具体的项目中,由于业务繁多,往往需要引入多个SDK,以便于开发人员使用,开发人员在开发上传功能的过程中,需要调用SDK提供的应用程序编程接口(以下简述为API),而项目中的网络架构复杂,有时需要在任务的各个环节调用不同的API,增加了开发难度,拖慢了项目进展,此外,有的API泛用性较差,与实际项目中的其他SDK不太匹配,容易出现无法使用的情况,易用性较差,因此需要一种新的文件上传的方法来解决上述的不足。
发明内容
为了克服上述现有的文件上传方案存有的资源占用率高和易用性较差的技术缺陷,本发明提供一种资源占用率低和易用性好的基于复杂网络架构的文件上传的方法及系统。
为了解决上述问题,本发明按以下技术方案予以实现的:
本发明所述的一种基于复杂网络架构的文件上传的方法,其特征在于,该方法包括:
初始化文件队列;
将上传任务加入文件队列;
文件队列根据上传任务制作二级缓存;
文件队列按顺序执行上传操作;
上传结束后释放资源占用。
所述的初始化文件队列,具体包括:
创建一个工作线程;
在工作线程内生成一个文件队列;
输出文件队列。
所述的文件队列为线性的数据容器,文件队列内的数据依次按顺序排列成一列。
所述的将上传任务加入文件队列,具体包括:
接收上传任务;
解析上传任务包含的上传信息;
根据上传信息生成一个任务对象;
将任务对象输送给文件队列。
所述的上传信息包括且不限于:文件名称、文件路径、文件大小、文件类型、文件日期。所述的文件队列根据上传任务制作二级缓存,具体包括:
输入任务对象;
将任务对象加入到文件队列的尾部;
在内存储器中开辟一个工作空间;
在工作空间中复制任务对象,生成二级缓存;
输出二级缓存。
所述的内存储器为半导体存储单元,用于读取文件数据和写入文件数据。
所述的文件队列按顺序执行上传操作,具体包括:
文件队列取出头部的任务对象;
文件队列将取出的任务对象对应的二级缓存进行上传;
上传失败时,文件队列将任务对象移到尾部;
上传成功时,文件队列将任务对象销毁;
当文件队列中还存有任务对象,文件队列继续处理下一个任务对象;
当文件队列中没有任务对象时,输出上传结束的信号。
所述的上传结束后释放资源占用,具体包括:
输入上传结束的信号;
将文件队列关闭;
将工作线程结束;
清空工作空间中的二级缓存数据。
本发明所述的一种基于复杂网络架构的文件上传的系统,其特征在于,该系统包括:
唤醒模块,用于初始化文件队列;
驱动模块,用于将上传任务加入文件队列;
缓存模块,用于通过文件队列和上传任务制作二级缓存;
上传模块,用于通过文件队列按顺序执行上传操作;
结束模块,用于在上传结束后释放资源占用。
与现有技术相比,本发明的有益效果是:
本发明所述的一种基于复杂网络架构的文件上传的方法及系统具有资源占用率低和易用性好的优点,通过文件队列将上传操作和存储操作拆分开来,使得上传操作变得轻量化,降低了对系统资源的占用,减少了卡顿;通过对任务制作二级缓存,提高了上传效率,减缓了设备外存储器的读写频率,提升了工作流畅度,节省了资源占用,二级缓存使新任务不易与上传操作产生冲突,在上传出错时仍可有效进行修补,减少了上传遗漏的情况;此外,该方法逻辑清楚,无需借助复杂的SDK提供的API接口,可直接调用系统平台的API,具有较好的兼容性,易于在各种复杂的网络架构下进行使用,解决了现有的文件上传方案存有的资源占用率高和易用性较差的问题,满足了文件上传的需要。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
图1是本发明的方法流程示意图;
图2是本发明的初始化文件队列的方法流程示意图;
图3是本发明的将上传任务加入文件队列的方法流程示意图;
图4是本发明的根据上传任务制作二级缓存的方法流程示意图;
图5是本发明的按顺序执行上传操作的方法流程示意图;
图6是本发明的上传结束后释放资源占用的方法流程示意图;
图7是本发明的系统结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1~图7所示,本发明所述的一种基于复杂网络架构的文件上传的方法,其特征在于,该方法包括:
101、初始化文件队列。
所述的初始化文件队列,具体包括:
201、创建一个工作线程。
具体的,所述的工作线程为单线程,用于调用设备的算力和网络资源。
202、在工作线程内生成一个文件队列;
203、输出文件队列。
具体的,所述的文件队列为线性的数据容器,文件队列内的数据依次按顺序排列成一列,即,先进入文件队列的数据被设置在文件队列的头部,后进入的文件队列的数据被设置在前一个数据的后方,最后进入文件队列的数据被设置在文件队列的尾部;作为本发明一种较佳的实施方式,所述的文件队列只允许在文件队列的头部进行删除操作,或文件队列的尾部进行加入操作,以使文件队列内的数据保持顺序。
102、将上传任务加入文件队列。
所述的将上传任务加入文件队列,具体包括:
302、接收上传任务。
303、解析上传任务包含的上传信息。
具体的,所述的上传信息包括且不限于:文件名称、文件路径、文件大小、文件类型、文件日期,以使上传任务易于区分,减少重复上传的情况出现。
304、根据上传信息生成一个任务对象。
具体的,所述的任务对象为包含有上传信息的数据实体,但自身不携带需要的上传的文件数据,以实现轻量化的功能,减小工作时的系统资源占用。
305、将任务对象输送给文件队列。
103、文件队列根据上传任务制作二级缓存。
所述的文件队列根据上传任务制作二级缓存,具体包括:
401、输入任务对象。
402、将任务对象加入到文件队列的尾部。
具体的,当文件队列内不含有任务对象时,则将新的任务对象直接加入到文件队列中,当文件队列已含有任务对象时,则将新的任务对象加入到文件队列的尾部。
403、在内存储器中开辟一个工作空间。
具体的,所述的内存储器为半导体存储单元,用于读取文件数据和写入文件数据。所述的工作空间为内存储器上的一段连续的数据存储空间,以便利用内存储器的高速的读取和写入速度,该工作空间仅用于满足上传的需要,无法被其他应用访问。
404、在工作空间中复制任务对象,生成二级缓存。
具体的,二级缓存根据任务对象所包含的文件名称、文件路径、文件大小、文件类型、文件日期等信息,将待上传的文件数据进行复制,在需要上传时,二级缓存用于替代原始文件进行上传,该设置的优点在于:原始文件存储在非易失性的外存储器上,而外存储器的读取和写入速度较慢,直接进行上传操作容易产生卡顿,而内存储器具有高速的读取和写入速度,上传二级缓存时更加流畅。
405、输出二级缓存。
具体的,各任务对象所对应的二级缓存都输出到内存储器上,并利用文件名称、文件路径、文件大小、文件类型、文件日期等信息来标记区分各二级缓存。进一步的,所述的二级缓存还可在源文件储存器中生成副本,所述副本为待上传的源文件的复制文件,此时在在工作空间中复制任务对象时,则读取复制文件,而无需对原始文件进行读写。
104、文件队列按顺序执行上传操作。
所述的文件队列按顺序执行上传操作,具体包括:
501、文件队列取出头部的任务对象。
具体的,按照文件队列的规则设定,文件队列头部的任务对象为最先启动的上传任务,因此优先进行处理。
502、文件队列将取出的任务对象对应的二级缓存进行上传。
具体的,通过任务对象所包含的上传信息,即可获取对应的二级缓存,以便将该二级缓存作为原始文件的替代进行上传。
503、上传失败时,文件队列将任务对象移到尾部。
504、上传成功时,文件队列将任务对象销毁。
505、当文件队列中还存有任务对象,文件队列继续处理下一个任务对象;
506、当文件队列中没有任务对象时,输出上传结束的信号。
105、上传结束后释放资源占用。
所述的上传结束后释放资源占用,具体包括:
601、输入上传结束的信号。
602、将文件队列关闭。
603、将工作线程结束。
604、清空工作空间中的二级缓存数据。
本发明所述的一种基于复杂网络架构的文件上传的系统,其特征在于,该系统包括:
唤醒模块1,用于初始化文件队列;
驱动模块2,用于将上传任务加入文件队列;
缓存模块3,用于通过文件队列和上传任务制作二级缓存;
上传模块4,用于通过文件队列按顺序执行上传操作;
结束模块5,用于在上传结束后释放资源占用。
本发明所述的一种基于复杂网络架构的文件上传的方法及系统具有资源占用率低和易用性好的优点,通过文件队列将上传操作和存储操作拆分开来,使得上传操作变得轻量化,降低了对系统资源的占用,减少了卡顿;通过对任务制作二级缓存,提高了上传效率,减缓了设备外存储器的读写频率,提升了工作流畅度,节省了资源占用,二级缓存使新任务不易与上传操作产生冲突,在上传出错时仍可有效进行修补,减少了上传遗漏的情况;此外,该方法逻辑清楚,无需借助复杂的SDK提供的API接口,可直接调用系统平台的API,具有较好的兼容性,易于在各种复杂的网络架构下进行使用,解决了现有的文件上传方案存有的资源占用率高和易用性较差的问题,满足了文件上传的需要。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,故凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种基于复杂网络架构的文件上传的方法,其特征在于,该方法包括:
初始化文件队列;
将上传任务加入文件队列;
文件队列根据上传任务制作二级缓存;
文件队列按顺序执行上传操作;
上传结束后释放资源占用。
2.根据权利要求1所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的初始化文件队列,具体包括:
创建一个工作线程;
在工作线程内生成一个文件队列;
输出文件队列。
3.根据权利要求2所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的文件队列为线性的数据容器,文件队列内的数据依次按顺序排列成一列。
4.根据权利要求1所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的将上传任务加入文件队列,具体包括:
接收上传任务;
解析上传任务包含的上传信息;
根据上传信息生成一个任务对象;
将任务对象输送给文件队列。
5.根据权利要求4所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的上传信息包括且不限于:文件名称、文件路径、文件大小、文件类型、文件日期。
6.根据权利要求1所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的文件队列根据上传任务制作二级缓存,具体包括:
输入任务对象;
将任务对象加入到文件队列的尾部;
在内存储器中开辟一个工作空间;
在工作空间中复制任务对象,生成二级缓存;
输出二级缓存。
7.根据权利要求6所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的内存储器为半导体存储单元,用于读取文件数据和写入文件数据。
8.根据权利要求1所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的文件队列按顺序执行上传操作,具体包括:
文件队列取出头部的任务对象;
文件队列将取出的任务对象对应的二级缓存进行上传;
上传失败时,文件队列将任务对象移到尾部;
上传成功时,文件队列将任务对象销毁;
当文件队列中还存有任务对象,文件队列继续处理下一个任务对象;
当文件队列中没有任务对象时,输出上传结束的信号。
9.根据权利要求1所述的一种基于复杂网络架构的文件上传的方法,其特征在于:所述的上传结束后释放资源占用,具体包括:
输入上传结束的信号;
将文件队列关闭;
将工作线程结束;
清空工作空间中的二级缓存数据。
10.一种基于复杂网络架构的文件上传的系统,其特征在于,该系统包括:
唤醒模块,用于初始化文件队列;
驱动模块,用于将上传任务加入文件队列;
缓存模块,用于通过文件队列和上传任务制作二级缓存;
上传模块,用于通过文件队列按顺序执行上传操作;
结束模块,用于在上传结束后释放资源占用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955511.4A CN112202846B (zh) | 2020-09-11 | 2020-09-11 | 一种基于复杂网络架构的文件上传的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955511.4A CN112202846B (zh) | 2020-09-11 | 2020-09-11 | 一种基于复杂网络架构的文件上传的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202846A true CN112202846A (zh) | 2021-01-08 |
CN112202846B CN112202846B (zh) | 2023-09-29 |
Family
ID=74016297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010955511.4A Active CN112202846B (zh) | 2020-09-11 | 2020-09-11 | 一种基于复杂网络架构的文件上传的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202846B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580469A (zh) * | 2015-01-12 | 2015-04-29 | 深圳楼兰辉煌科技有限公司 | 一种基于文件队列存储及传输的车联网系统 |
US20150264060A1 (en) * | 2012-09-03 | 2015-09-17 | Linfeng Li | Method and apparatus for uploading files |
CN108319543A (zh) * | 2018-01-24 | 2018-07-24 | 广州江南科友科技股份有限公司 | 一种计算机日志数据的异步处理方法及其介质、系统 |
CN108959292A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 一种数据上传方法、系统和计算机可读存储介质 |
CN109710194A (zh) * | 2018-12-29 | 2019-05-03 | 武汉思普崚技术有限公司 | 上传文件的存储方法及装置 |
CN109962760A (zh) * | 2019-04-09 | 2019-07-02 | 湖南智领通信科技有限公司 | 一种适于无线tdma自组网的业务调度方法 |
-
2020
- 2020-09-11 CN CN202010955511.4A patent/CN112202846B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150264060A1 (en) * | 2012-09-03 | 2015-09-17 | Linfeng Li | Method and apparatus for uploading files |
CN104580469A (zh) * | 2015-01-12 | 2015-04-29 | 深圳楼兰辉煌科技有限公司 | 一种基于文件队列存储及传输的车联网系统 |
CN108959292A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 一种数据上传方法、系统和计算机可读存储介质 |
CN108319543A (zh) * | 2018-01-24 | 2018-07-24 | 广州江南科友科技股份有限公司 | 一种计算机日志数据的异步处理方法及其介质、系统 |
CN109710194A (zh) * | 2018-12-29 | 2019-05-03 | 武汉思普崚技术有限公司 | 上传文件的存储方法及装置 |
CN109962760A (zh) * | 2019-04-09 | 2019-07-02 | 湖南智领通信科技有限公司 | 一种适于无线tdma自组网的业务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112202846B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4694268B2 (ja) | 画像処理装置、方法及びプログラム | |
CN103366338B (zh) | 图像处理装置和图像处理方法 | |
JP2006338500A (ja) | 画像処理装置、方法及びプログラム | |
JP2006338501A (ja) | 画像処理装置、方法及びプログラム | |
JP4694265B2 (ja) | 画像処理装置、方法及びプログラム | |
CN102770841A (zh) | 用于产生最小引导映像的方法和装置 | |
JP2008140046A (ja) | 画像処理装置、画像処理プログラム | |
JP4619868B2 (ja) | 画像処理装置、方法及びプログラム | |
CN103413569B (zh) | 一读且一写静态随机存储器 | |
CN114138200B (zh) | 一种基于RocksDB的预写日志方法及系统 | |
JP2006338504A (ja) | 画像処理装置、方法及びプログラム | |
US20150254116A1 (en) | Data processing apparatus for pipeline execution acceleration and method thereof | |
CN104461933A (zh) | 内存管理方法及其装置 | |
CN113395541A (zh) | 视频文件的生成方法、装置及系统 | |
JP2007287084A (ja) | 画像処理装置及びプログラム | |
US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
CN111414339B (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN112202846A (zh) | 一种基于复杂网络架构的文件上传的方法及系统 | |
CN113312182A (zh) | 一种云计算节点、文件处理方法及装置 | |
CN111198843B (zh) | 一种基于应用处理器片上总线控制的文件系统写加速方法 | |
US20040078513A1 (en) | Storage device | |
JP4818893B2 (ja) | 画像処理装置及びプログラム | |
JP4762865B2 (ja) | 画像処理装置、画像処理プログラム | |
KR100846203B1 (ko) | 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 | |
JP2008140007A (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 |