CN109428915B - 数据获取方法及装置 - Google Patents
数据获取方法及装置 Download PDFInfo
- Publication number
- CN109428915B CN109428915B CN201710742285.XA CN201710742285A CN109428915B CN 109428915 B CN109428915 B CN 109428915B CN 201710742285 A CN201710742285 A CN 201710742285A CN 109428915 B CN109428915 B CN 109428915B
- Authority
- CN
- China
- Prior art keywords
- message
- transmission link
- trigger
- disconnected
- message transmission
- 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
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种数据获取方法及装置,可以按照预设的时间周期向消息队列中写入触发消息,在消息传输链接断开后,提取出消息队列中的触发消息,根据提取出的触发消息建立消息传输链接,并从本次断开的消息断点处获取数据。由于预设的时间周期小于消息传输链接的断开周期,因此在消息传输链接断开前,消息队列中始终有触发消息,可以在消息传输链接断开后及时建立消息传输链接及从本次断开的消息断点处获取数据。可见,本发明解决了由于消息传输链接多次断开导致的数据无法持续获取的问题,保证了所获取的数据的完整性和及时性。
Description
技术领域
本发明涉及数据获取技术领域,尤其涉及数据获取方法及装置。
背景技术
随着互联网的发展,互联网中的各种信息也越来越多。
出于某种目的,常需要通过消息传输链接长时间的从互联网中获取数据。例如:通过订阅某社交软件中的公众号,来长时间的获得该公众号发布的文章。本申请发明人研究发现:由于系统负担问题或其他问题,社交软件仅会让消息传输链接存在一定时长,该时长达到后,社交软件就会断开该消息传输链接。这就导致无法继续通过该消息传输链接从该社交软件中的公众号获取文章。
如何解决该问题仍旧是本领域一个亟待解决的技术难题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据获取方法及装置,方案如下:
一种数据获取方法,应用于第一设备中,所述第一设备可通过与第二设备间的消息传输链接从所述第二设备中获取数据,所述方法包括:
按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
可选的,所述方法还包括:
在根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息。
可选的,所述在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据,包括:
在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述第二计算机函数串行执行。
一种数据获取装置,应用于第一设备中,所述第一设备可通过与第二设备间的消息传输链接从所述第二设备中获取数据,所述装置包括:消息写入单元和数据重传单元,
所述消息写入单元,用于按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
所述数据重传单元,用于在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述消息写入单元具体设置为:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
可选的,所述装置还包括:消息删除单元,用于在所述数据重传单元根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
可选的,所述消息写入单元,具体设置为:使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息;
和/或,
所述数据重传单元,具体设置为:在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述数据获取方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述数据获取方法。
借由上述技术方案,本发明提供的一种数据获取方法及装置,可以按照预设的时间周期向消息队列中写入触发消息,在消息传输链接断开后,提取出消息队列中的触发消息,根据提取出的触发消息建立消息传输链接,并从本次断开的消息断点处获取数据。由于预设的时间周期小于消息传输链接的断开周期,因此在消息传输链接断开前,消息队列中始终有触发消息,可以在消息传输链接断开后及时建立消息传输链接及从本次断开的消息断点处获取数据。可见,本发明解决了由于消息传输链接多次断开导致的数据无法持续获取的问题,保证了所获取的数据的完整性和及时性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据获取方法的实施架构示意图;
图2示出了本发明实施例提供的一种数据获取方法的流程图;
图3示出了本发明实施例提供的另一种数据获取方法的流程图;
图4示出了本发明实施例提供的函数执行示意图;
图5示出了本发明实施例提供的一种数据获取装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种数据获取方法,可以应用于图1所示的第一设备中001,所述第一设备001可通过与第二设备002间的消息传输链接003从所述第二设备002中获取数据,如图2所示,该方法可以包括:
S100、按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
其中,第一设备001可以为终端设备,如手机、电脑等,第一设备001也可以为服务器、中继器等网络侧设备。第二设备002可以为终端设备或服务器等网络侧设备。可选的,消息传输链接003可以为长连接。
从第二设备002中获取的数据的种类可以有多种,如:文字、图片、音频、视频等。
其中,触发消息中可以包括与第二设备002建立消息传输链接所需的信息,如:第二设备002的IP地址等。
S200、在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,在第一设备001从所述第二设备002中依次获取具有时间标识的多条数据时,在消息传输链接断开后,本发明可以从第二设备002中获取所述第一设备001中已获取的时间标识最大的数据后的数据。其中,时间标识可以位于各条数据中,时间标识可以与其所在的数据的产生时间相对应,产生时间越晚,则时间标识越大。其中,上述时间标识可以为since id字段。
其中,步骤S100中按照预设的时间周期向消息队列中写入触发消息,可以具体包括:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。如果存在,则不向消息队列中写入触发消息。
本发明只需保证在消息传输链接断开前消息队列中存在一个触发消息即可。当消息队列中有至少两个触发消息时,消息队列中的每个触发消息都会触发步骤S200,造成数据的重复获取。
可选的,图2所示方法还可以包括:
在根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
由于消息传输链接已建立,因此无需再保留提取出的触发消息,将其删除可以节省存储空间。
可以理解的是,步骤S100可以按照预设的时间周期多次向消息队列中写入触发消息,在步骤S100周期性进行触发消息写入的过程中,步骤S200也可以多次执行,因此步骤S100和步骤S200的执行顺序有多种,并不仅限于图2所示的一种。
本发明实施例提供的一种数据获取方法,可以按照预设的时间周期向消息队列中写入触发消息,在消息传输链接断开后,提取出消息队列中的触发消息,根据提取出的触发消息建立消息传输链接,并从本次断开的消息断点处获取数据。由于预设的时间周期小于消息传输链接的断开周期,因此在消息传输链接断开前,消息队列中始终有触发消息,可以在消息传输链接断开后及时建立消息传输链接及从本次断开的消息断点处获取数据。可见,本发明解决了由于消息传输链接多次断开导致的数据无法持续获取的问题,保证了所获取的数据的完整性和及时性。
如图3所示,本发明实施例提供的另一种数据获取方法,可以包括:
S110、使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息;
其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
其中,第一计算机函数(以下称其为Func1)可以为在AzureWebjob程序中创建的由时间触发器TimerTrigger触发的函数。其中,AzureWebJob是微软提供的一项云服务,AzureWebJob可以运行使用者编写的程序,本实施例对第一计算机函数的类型不做具体限定。
具体的,可以将TimerTrigger设置为按照所述预设的时间周期被触发,TimerTrigger被触发后,触发Func1向消息队列中写入触发消息。
具体的,TimerTrigger触发Func1后,Func1可以首先查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。如果存在,则不向消息队列中写入触发消息。
S210、在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
其中,第二计算机函数(以下称其为Func2)可以为在Azure Webjob程序中创建的由队列触发器QueueTrigger触发的函数。该QueueTrigger绑定的消息队列为步骤S100中的消息队列,本实施例对第二计算机函数的类型不做具体限定。
这样,当消息传输链接断开后,QueueTrigger绑定的消息队列中存在触发消息时,消息队列中的触发消息将触发该QueueTrigger,该QueueTrigger将触发Func2,该Func2将从消息队列中提取触发消息并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
需要说明的是,由于消息队列中可以存在多个触发消息,而每个触发消息都会触发一个Func2,这就导致多个Func2的同时执行,造成数据的重复获取。为了避免此问题,本发明将Func2设置为串行执行,这样,同一时间仅允许一个Func2执行,只有当前一个Func2结束执行时,下一个Func2才可以开始执行。当某Func2建立的消息传输链接断开时,该Func2则结束执行。
具体的,本发明可以使用SingletonAttribute对Func2进行标记,以使Func2串行执行。
其中,步骤S110是图2所示方法中步骤S100的一种具体执行方式,步骤S210是图2所示方法中步骤S200的一种具体执行方式。
为方便理解,下面结合图4对图3所示实施例进行举例说明:
设第一设备与第二设备间的消息传输链接的断开周期为10分钟,则本发明的预设的时间周期可以为9分钟。
如图4所示:
在第0分钟,第一设备与第二设备建立消息传输链接并开始接收数据;
在第9分钟,Func1查询到消息队列中无触发消息,因此写入触发消息,此时消息队列中仅有一个触发消息;
在第10分钟,上次建立的消息传输链接断开,此时无Func2执行,因此Func2从消息队列中提取出第9分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据;
在第18分钟,Func1查询到消息队列中无触发消息,因此写入触发消息,此时消息队列中仅有一个触发消息;
在第20分钟,上次建立的消息传输链接断开,第10分钟开始执行的Func2结束执行。然后下一Func2从消息队列中提取出第18分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据;
以此类推……
在第80分钟,上次建立的消息传输链接断开,第70分钟开始执行的Func2结束执行。然后下一Func2从消息队列中提取出第72分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据;
在第81分钟,Func1查询到消息队列中无触发消息,因此写入触发消息,此时消息队列中仅有一个触发消息;
在第90分钟,Func1查询到消息队列中有触发消息,因此不再写入触发消息,此时消息队列中仅有一个触发消息;
在第90分钟,上次建立的消息传输链接断开,第80分钟开始执行的Func2结束执行。然后下一Func2从消息队列中提取出第81分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据;
在第99分钟,Func1查询到消息队列中无触发消息,因此写入触发消息,此时消息队列中仅有一个触发消息;
在第100分钟,上次建立的消息传输链接断开,第90分钟开始执行的Func2结束执行。然后下一Func2从消息队列中提取出第99分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据。
以此类推。
可以理解的是,上方举例中,在第90分钟时,Func1先于Func2执行。可选的,也可以Func2先于Func1执行。例如:
在第81分钟……
在第90分钟,上次建立的消息传输链接断开,第80分钟开始执行的Func2结束执行。然后下一Func2从消息队列中提取出第81分钟Func1写入的触发消息并建立消息传输链接,从本次断开的消息断点处获取数据;
在第90分钟,Func1查询到消息队列中无触发消息,因此写入触发消息,此时消息队列中仅有一个触发消息。
在第99分钟……
方便起见,该举例中仅对第90分钟进行了说明,其他时间则省略。
与上述方法实施例相对应,本发明实施例还提供了一种数据获取装置。
本发明实施例提供的一种数据获取装置,可以应用于图1所示的第一设备001中,所述第一设备001可通过与第二设备002间的消息传输链接003从所述第二设备002中获取数据,如图5所示,本发明实施例提供的数据获取装置可以包括:消息写入单元100和数据重传单元200,
所述消息写入单元100,用于按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
其中,第一设备001可以为终端设备,如手机、电脑等,第一设备001也可以为服务器、中继器等网络侧设备。第二设备002可以为终端设备或服务器等网络侧设备。可选的,消息传输链接003可以为长连接。
从第二设备002中获取的数据的种类可以有多种,如:文字、图片、音频、视频等。
其中,触发消息中可以包括与第二设备002建立消息传输链接所需的信息,如:第二设备002的IP地址等。
其中,所述消息写入单元100,可以具体设置为:使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息。
其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
其中,第一计算机函数(以下称其为Func1)可以为在AzureWebjob程序中创建的由时间触发器TimerTrigger触发的函数。其中,AzureWebJob是微软提供的一项云服务,AzureWebJob可以运行使用者编写的程序。
具体的,可以将TimerTrigger设置为按照所述预设的时间周期被触发,TimerTrigger被触发后,触发Func1向消息队列中写入触发消息。
具体的,TimerTrigger触发Func1后,Func1可以首先查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。如果存在,则不向消息队列中写入触发消息。
所述数据重传单元200,用于在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,在第一设备001从所述第二设备002中依次获取具有时间标识的多条数据时,在消息传输链接断开后,本发明可以从第二设备002中获取所述第一设备001中已获取的时间标识最大的数据后的数据。其中,时间标识可以位于各条数据中,时间标识可以与其所在的数据的产生时间相对应,产生时间越晚,则时间标识越大。其中,上述时间标识可以为since id字段。
其中,所述消息写入单元100可以具体设置为:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。如果存在,则不向消息队列中写入触发消息。
本发明只需保证在消息传输链接断开前消息队列中存在一个触发消息即可。当消息队列中有至少两个触发消息时,消息队列中的每个触发消息都会触发数据重传单元200,造成数据的重复获取。
可选的,图5所示数据获取装置还可以包括:消息删除单元,用于在所述数据重传单元200根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
由于消息传输链接已建立,因此无需再保留提取出的触发消息,将其删除可以节省存储空间。
其中,所述数据重传单元200,可以具体设置为:在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。其中,所述第二计算机函数可以串行执行。
其中,第二计算机函数(以下称其为Func2)可以为在Azure Webjob程序中创建的由队列触发器QueueTrigger触发的函数。该QueueTrigger绑定的消息队列为步骤S100中的消息队列。
这样,当消息传输链接断开后,QueueTrigger绑定的消息队列中存在触发消息时,消息队列中的触发消息将触发该QueueTrigger,该QueueTrigger将触发Func2,该Func2将从消息队列中提取触发消息并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
需要说明的是,由于消息队列中可以存在多个触发消息,而每个触发消息都会触发一个Func2,这就导致多个Func2的同时执行,造成数据的重复获取。为了避免此问题,本发明将Func2设置为串行执行,这样,同一时间仅允许一个Func2执行,只有当前一个Func2结束执行时,下一个Func2才可以开始执行。当某Func2建立的消息传输链接断开时,该Func2则结束执行。
具体的,本发明可以使用SingletonAttribute对Func2进行标记,以使Func2串行执行。
本发明实施例提供的一种数据获取装置,可以按照预设的时间周期向消息队列中写入触发消息,在消息传输链接断开后,提取出消息队列中的触发消息,根据提取出的触发消息建立消息传输链接,并从本次断开的消息断点处获取数据。由于预设的时间周期小于消息传输链接的断开周期,因此在消息传输链接断开前,消息队列中始终有触发消息,可以在消息传输链接断开后及时建立消息传输链接及从本次断开的消息断点处获取数据。可见,本发明解决了由于消息传输链接多次断开导致的数据无法持续获取的问题,保证了所获取的数据的完整性和及时性。
所述数据获取装置包括处理器和存储器,上述消息写入单元、数据重传单元和消息删除单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现数据传输。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据获取方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据获取方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
可选的,所述方法还包括:
在根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息。
可选的,所述在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据,包括:
在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述第二计算机函数串行执行。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
可选的,所述方法还包括:
在根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
可选的,所述按照预设的时间周期向消息队列中写入触发消息,包括:
使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息。
可选的,所述在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据,包括:
在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
可选的,所述第二计算机函数串行执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种数据获取方法,其特征在于,应用于第一设备中,所述第一设备可通过与第二设备间的消息传输链接从所述第二设备中获取数据,所述方法包括:
按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的时间周期向消息队列中写入触发消息,包括:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在根据提取出的触发消息与所述第二设备建立消息传输链接后,删除本次提取出的触发消息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,
所述按照预设的时间周期向消息队列中写入触发消息,包括:
使用第一计算机函数按照预设的时间周期向消息队列中写入触发消息。
5.根据权利要求1-3任一项所述的方法,其特征在于,
所述在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据,包括:
在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
6.根据权利要求4所述的方法,其特征在于,
所述在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据,包括:
在所述第一设备与所述第二设备间的消息传输链接断开后,使用第二计算机函数提取出所述消息队列中的触发消息,并根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
7.根据权利要求5所述的方法,其特征在于,所述第二计算机函数串行执行。
8.根据权利要求6所述的方法,其特征在于,所述第二计算机函数串行执行。
9.一种数据获取装置,其特征在于,应用于第一设备中,所述第一设备可通过与第二设备间的消息传输链接从所述第二设备中获取数据,所述装置包括:消息写入单元和数据重传单元,
所述消息写入单元,用于按照预设的时间周期向消息队列中写入触发消息;其中,所述预设的时间周期小于所述第一设备与所述第二设备间的消息传输链接的断开周期;
所述数据重传单元,用于在所述第一设备与所述第二设备间的消息传输链接断开后,提取出所述消息队列中的触发消息,根据提取出的触发消息与所述第二设备建立消息传输链接,在消息传输链接建立后从本次断开的消息断点处获取所述第二设备中的数据。
10.根据权利要求9所述的装置,其特征在于,所述消息写入单元具体设置为:
按照预设的时间周期查询消息队列中是否存在触发消息,如果不存在,则向消息队列中写入一个触发消息。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的数据获取方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的数据获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710742285.XA CN109428915B (zh) | 2017-08-25 | 2017-08-25 | 数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710742285.XA CN109428915B (zh) | 2017-08-25 | 2017-08-25 | 数据获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109428915A CN109428915A (zh) | 2019-03-05 |
CN109428915B true CN109428915B (zh) | 2021-06-29 |
Family
ID=65499484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710742285.XA Active CN109428915B (zh) | 2017-08-25 | 2017-08-25 | 数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109428915B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615383B1 (en) * | 1998-05-29 | 2003-09-02 | Sun Microsystems, Inc. | System and method for message transmission between network nodes connected by parallel links |
CN106959899A (zh) * | 2017-02-27 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种消息阻塞检测方法、装置及计算机存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US8880663B2 (en) * | 2010-09-27 | 2014-11-04 | Nokia Corporation | Method and apparatus for sharing user information |
CN103369005B (zh) * | 2012-03-30 | 2016-12-14 | 北京百度网讯科技有限公司 | 数据推送方法、系统及移动终端 |
CN102739777B (zh) * | 2012-06-01 | 2015-04-01 | 苏州阔地网络科技有限公司 | 一种数据流断开恢复方法及系统 |
CN104461806A (zh) * | 2013-09-16 | 2015-03-25 | 中兴通讯股份有限公司 | 一种数据断点监控方法、装置及调试器 |
US9680761B2 (en) * | 2014-08-14 | 2017-06-13 | Dropbox, Inc. | Consolidating messages in a message queue |
CN106227656B (zh) * | 2016-07-18 | 2018-07-17 | 中国科学院软件研究所 | 一种基于硬件和线程本地时序的数据竞争采样检测方法 |
WO2018119677A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 传输链路的续传方法、装置和系统 |
CN107018554B (zh) * | 2017-03-07 | 2020-11-06 | Oppo广东移动通信有限公司 | 一种数据传输方法、装置及智能终端 |
-
2017
- 2017-08-25 CN CN201710742285.XA patent/CN109428915B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615383B1 (en) * | 1998-05-29 | 2003-09-02 | Sun Microsystems, Inc. | System and method for message transmission between network nodes connected by parallel links |
CN106959899A (zh) * | 2017-02-27 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种消息阻塞检测方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109428915A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202235B (zh) | 一种数据处理方法及装置 | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
CN107066519B (zh) | 一种任务检测方法及装置 | |
CN106656920B (zh) | Http服务的处理方法、装置、存储介质及处理器 | |
JP2020107347A (ja) | ファイルパスを記憶し、ローカルファイルにアクセスする方法及び装置 | |
CN109561128B (zh) | 数据传输方法和装置 | |
CN107040576B (zh) | 信息推送方法及装置、通讯系统 | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
CN110764930B (zh) | 基于消息模式的请求或应答处理方法及装置 | |
CN108366098B (zh) | 一种网络节点的数据交互方法及装置 | |
CN106599045B (zh) | 一种请求发送方法及装置 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN110019260B (zh) | 一种用户数据的更新方法及相关设备 | |
CN110968406B (zh) | 处理任务的方法、装置、存储介质和处理器 | |
CN109587198B (zh) | 图文信息推送方法及装置 | |
CN109428915B (zh) | 数据获取方法及装置 | |
CN109542401B (zh) | 一种Web开发方法、装置、存储介质及处理器 | |
CN112579877A (zh) | 信源系统的控制方法、装置、存储介质和设备 | |
CN108228145A (zh) | 混合型应用程序的数据处理方法、系统及移动设备 | |
CN110955847B (zh) | 一种信息处理方法、装置、存储介质及处理器 | |
US20150379548A1 (en) | Method and System for Data Processing | |
CN108089927B (zh) | 基于Web Worker实现消息通信的方法以及装置 | |
CN110753070A (zh) | 数据通信方法、客户端、服务端以及数据通信系统 | |
CN110956672A (zh) | 一种营销策略的构建方法及装置 | |
CN110633181B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |