CN106547746B - 数据发送的方法及装置 - Google Patents

数据发送的方法及装置 Download PDF

Info

Publication number
CN106547746B
CN106547746B CN201510590153.0A CN201510590153A CN106547746B CN 106547746 B CN106547746 B CN 106547746B CN 201510590153 A CN201510590153 A CN 201510590153A CN 106547746 B CN106547746 B CN 106547746B
Authority
CN
China
Prior art keywords
data
offline data
storage space
offline
local storage
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
Application number
CN201510590153.0A
Other languages
English (en)
Other versions
CN106547746A (zh
Inventor
包佳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510590153.0A priority Critical patent/CN106547746B/zh
Publication of CN106547746A publication Critical patent/CN106547746A/zh
Application granted granted Critical
Publication of CN106547746B publication Critical patent/CN106547746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据发送的方法及装置,涉及通信技术领域,实现了在APP与服务器之间无网络通信连接时将访问行为数据及系统信息数据发送至服务器。本发明的主要技术方案包括:将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储离线数据;确定APP与服务器是否建立网络通信连接;若确定APP与服务器建立网络通信连接,则从本地存储空间中获取离线数据,并将离线数据发送到服务器。本发明主要应用于Tracker追踪器向服务器发送数据的过程中。

Description

数据发送的方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种数据发送的方法及装置。
背景技术
在进行网站分析及采集系统信息数据时,服务器将Tracker追踪器部署于电脑中的浏览器中,实现采集访问者的访问行为数据及系统信息数据。随着移动终端应用程序(Application,APP)的流行,在移动终端环境下实现采集访问行为数据为及系统信息数据日渐重要;其中,基于Cordova开发平台开发的APP可以在离线状态,即APP与服务器之间无网络通信连接时访问网页。
目前,在服务器采集访问行为数据及系统信息数据时,APP中的Tracker追踪器将采集到的数据进行序列化,并将序列化后的数据发送给服务器,服务器接收并保存Tracker追踪器发送的数据。在将序列化后的数据发送给服务器的过程中,若数据发送失败,则等待预定时间后再进行第二次向服务器发送该序列化后的数据,若第二次发送数据也失败,则将该数据丢弃。
在实施采集访问行为数据及系统信息数据的过程中,发明人发现其存在如下问题:虽然部分APP可以在离线状态下访问网页,但将访问行为数据及系统信息数据发送给服务器时,需要确保APP与服务器之间能够进行网络通信连接,即APP为在线状态时才能实现数据的发送;在APP为离线状态时,Tracker追踪器两次发送数据失败之后,会将发送失败的数据丢弃,导致离线状态下无法将访问行为数据及系统信息数据发送到服务器。
发明内容
有鉴于此,本发明提供的一种数据发送的方法及装置,实现了在APP与服务器之间无网络通信连接时将访问行为数据及系统信息数据发送至服务器。
为了解决上述问题,本发明主要提供如下技术方案:
一方面,本发明提供了一种数据发送的方法,该方法包括:
将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储所述离线数据;
确定所述APP与所述服务器是否建立网络通信连接;
若确定所述APP与所述服务器建立所述网络通信连接,则从所述本地存储空间中获取所述离线数据,并将所述离线数据发送到所述服务器。
另一方面,本发明还提供一种数据发送的装置,该装置包括:
保存单元,用于将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储所述离线数据;
第一确定单元,用于在所述保存单元保存所述离线数据之后,确定所述APP与所述服务器是否建立网络通信连接;
获取单元,用于当所述第一确定单元确定所述APP与所述服务器建立所述网络通信连接时,从所述本地存储空间中获取所述离线数据;
发送单元,用于将所述获取单元获取的所述离线数据发送到所述服务器。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供的数据发送的方法及装置,将离线数据保存到应用程序APP的本地存储空间,其中,离线数据为未能成功发送至服务器的数据,确定APP与服务器是否建立网络通信连接,当确定APP与服务器建立网络通信连接时从本地存储空间中获取离线数据,将该离线数据发送至服务器;与现有技术相比,本发明能够将未能发送成功的数据进行存储,当确定APP与服务器之间有网络通信连接时,将离线数据发送给服务器,实现了离线数据的延迟发送。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据发送的方法的流程图;
图2示出了本发明实施例提供的一种数据发送的装置的组成框图;
图3示出了本发明实施例提供的另一种数据发送的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据发送的方法,如图1所示,该方法包括:
101、将离线数据保存到应用程序APP的本地存储空间。
本发明实施例所述的应用程序(Application,APP)为基于开发平台Cordova开发的移动终端APP,该APP能够在APP与服务器之间无网络通信连接的情况下,浏览、访问APP中的网页,即离线状态下访问网页;离线状态下访问的网页为APP中的本地网页。其中,Cordova为一个移动终端App开发平台,开发者可以借助该平台使用传统网页开发技术完成跨平台移动终端App的开发。
本发明实施例中,将Tracker追踪器部署于APP中,Tracker追踪器采集访问者的访问行为数据及系统信息数据等,采集数据之后,Tracker追踪器将数据发送给服务器,若数据发送失败,则等待预定时间2秒或者5秒后将该数据进行第二次发送,若第二次发送数据仍然失败,则将该数据保存到APP的本地存储空间内;本发明实施例中,本地存储空间用于存储未能成功发送至服务器的数据,即本地存储空间用于存储离线数据。需要说明的是,Tracker追踪器在采集数据时,与APP与服务器之间是否网络通信连接无关,即Tracker追踪器可以在APP与服务器之间有网络通信连接时采集数据,也可以在APP与服务器之间无网络通信连接时采集数据。
作为本发明实施例的一种实现方式,在将离线数据保存到本地存储空间时,调用预设函数将离线数据存储到本地存储空间内,所述预设函数包括但不局限于以下的内容,例如:调用LocalStorage类的appendFailed方法。本发明实施例对存储离线数据的方式、存储离线数据调用的预设函数不进行具体限定。
102、确定所述APP与所述服务器是否建立网络通信连接。
在本发明实施例中,APP与服务器之间的交互依赖于网络通信连接,因此,实现APP与服务器的交互首先需要确定APP与服务器是否建立网络通信连接。
103、若确定所述APP与所述服务器建立所述网络通信连接,则从所述本地存储空间中获取所述离线数据,并将所述离线数据发送到所述服务器。
当步骤102确定APP与服务器建立网络通信连接时,Tracker追踪器从本地存储空间中获取离线数据,并将该离线数据发送给服务器,以便服务器能够通过接收到的数据进行分析,接收到的数据包括但不局限于以下内容,例如:访问者的访问行为数据及系统信息数据。
作为本发明实施例的一种实现方式,Tracker追踪器从本地存储空间中获取离线数据时,调用预设函数获取离线数据,所述预设函数包括但不局限于以下内容,例如:调用LocalStorage类的popAllFailed方法,获取本地存储空间内的所有离线数据。本发明实施例对获取离线数据时采用的预设函数不进行具体限定。
本发明实施例提供的数据发送的方法,将离线数据保存到应用程序APP的本地存储空间,其中,离线数据为未能成功发送至服务器的数据,确定APP与服务器是否建立网络通信连接,当确定APP与服务器建立网络通信连接时从本地存储空间中获取离线数据,将该离线数据发送至服务器;与现有技术相比,本发明实施例能够将未能发送成功的数据进行存储,当APP与服务器之间有网络通信连接时,将离线数据发送给服务器,实现了离线数据的延迟发送。
进一步的,作为对上述实施例细化和扩展,上述步骤101在执行将离线数据保存到应用程序APP的本地存储空间时,首先将离线数据转换为字符串,将字符串保存到本地存储空间,其中,将离线数据转换为字符串的目的在于,将离线数据转换成APP本地存储空间能够存储和识别的数据格式。所述字符串中包含离线数据、编码标识以及发送离线数据对应的服务器地址,其中,所述编码标识用于标识离线数据是否编码,在从本地存储空间中获取离线数据时,根据该编码标识能够提高获取离线数据的效率。本发明实施例中,在将离线数据进行编码标识时,可以采用现有技术中任意一种数据标识的方法,本发明实施例在此不再进行赘述。
示例性的,离线数据中包含用户名{张三},用户名{张三}是离线数据的其中一个数据对象,由于本地存储空间中不能存储和识别汉字,因此需要将包含汉字的数据对象进行编码,转换为APP本地存储空间能够识别的形式;其中,编码是从一种形式或格式转换为另一种形式的过程。在本发明实施例在对离线数据进行编码时,可以通过调用预设编码函数进行编码,也可以通过编码应用程序对离线数据进行编码,本发明实施例对编码的具体实施方式不进行限定。
需要说明的是,在将离线数据转换为字符串时,基于预定转换规则将离线数据转换为字符串,预定转换规则中包含三个属性参数,分别为:发送失败的数据、是否不编码、目标统一资源定位符(Uniform Resource Locator,URL),其中,是否不编码用以说明将离线数据转换为本地存储空间能够存储的字符串时是否经过编码处理。
为了能够更详尽的说明如何将离线数据转换为字符串,以下将以示例的形式进行说明。示例性的,假设,离线数据未转换字符串之前为:发送失败的数据obj为{a:"b",c:"d"}、是否不编码noEncode为false、URL为{"http://www.test.com"},离线数据转换后的字符串为"{obj:{a:"b",c:"d"},noEncode:false,dest URL:"http://www.test.com"}"。以上仅为示例性的举例,本发明实施例对离线数据的内容、转换字符串使用的名称等内容不进行限定。
进一步的,当确定APP与服务器建立网络通信连接时,首先从本地存储空间中获取字符串,对该字符串进行解析,并获取字符串中的编码标识,根据编码标识判断离线数据是否编码,若离线数据未编码,则获取该离线数据;若离线数据编码,则将该离线数据进行解码,并获取解码后的离线数据,其中,解码是编码的逆过程。
作为本发明实施例的一种实现方式,若本地存储空间中存储的字符串为:"{obj:{a:"b",c:"d"},noEncode:false,dest URL:"http://www.test.com"}",获取的离线数据包含但不局限于以下方式,获取的离线数据格式为数组,例如:[{obj:{a:"b",c:"d"},noEncode:false,dest URL:"http://www.test.com"},{……},]。以上仅为示例性的具体,本发明实施例对从本地存储空间中获取的离线数据格式不进行具体限定。
进一步的,本发明实施例中,在将离线数据发送给服务器时,首先获取发送离线数据对应的服务器地址,根据该服务器地址将离线数据发送到服务器地址对应的服务器上;在将数据发送至服务器时仅将离线数据发送至服务器即可。例如,获取数据内容为[{obj:{a:"b",c:"d"},noEncode:false,dest URL:"http://www.test.com"}],则服务器地址为:http://www.test.com,根据该服务器地址将离线数据a:"b",c:"d"发送至服务器。
进一步的,为了确保本地存储空间有足够的内存空间存储离线数据,在将离线数据保存到本地存储空间之前,判断本地存储空间是否达到存储上限,若达到存储上限,则基于本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据,并将本发明实施例所述的离线数据保存到本地存储空间;若未达到存储上限,则根据本地存储空间的存储顺序将离线数据保存到本地存储空间。需要说明的是,在基于本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据时,需要确定首个存储位置对应的离线数据是否为启动数据,该启动数据为启动APP时所必须产生的数据,若确定首个存储位置对应的离线数据为启动数据,则获取本地存储空间中第二个存储位置对应的离线数据,并确定第二个存储位置对应的离线数据是否为启动数据,直到确认存储位置对应的离线数据不为启动数据为止,在确认所述本地存储空间中存储位置对应的离线数据不为所述启动数据之后,将确认后的所述存储位置对应的不为所述启动数据的离线数据进行删除;若确定首个存储位置对应的离线数据不为启动数据,则删除本地存储空间中首个存储位置对应的离线数据。
为了更清楚的说明本发明实施例所述的基于本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据,以下将以示例的形式进行详细说明。示例性的,如表1所示,表1示出了本地存储空间中离线数据存储的示意图,假设该本地存储空间的存储上限是6,在将本发明实施例所述的离线数据存储于本地存储空间之前,确定该本地存储空间是否达到存储上限,以存储本发明实施例所述的离线数据。如表1所示,Tracker追踪器获取本地存储空间的首个存储位置对应的离线数据为离线数据1,若该离线数据1为启动数据,则继续获取本地存储空间第二个存储位置对应的离线数据2,若该离线数据2不为启动数据,则将该离线数据2删除,并执行将离线数据3存储于第二存储位置上,将离线数据4存储于第三存储位置上……,将本发明实施例所述的离线数据,存储于第六存储位置上;若该离线数据2为启动数据,则继续获取本地存储空间第三个存储位置对应的离线数据3,并确定该离线数据3是否为启动数据,以此类推,直到确认本地存储空间中存储位置对应的离线数据不为启动数据为止,并将确认的本地存储空间中存储位置对应的不为启动数据的离线数据进行删除。若首个存储位置对应的离线数据1不为启动数据,则将该离线数据1删除,并执行将离线数据2存储于首个存储位置上,离线数据3存储于第二存储位置上,将离线数据4存储于第三存储位置上……,将本发明实施例所述的离线数据,存储于第六存储位置上。以上仅为示例性的举例,本发明实施例对本地存储空间的存储上限不进行限定。
表1
Figure GDA0001275667120000071
进一步的,在将离线数据发送到服务器之后,格式化本地存储空间。需要说明的是,将本地存储空间进行格式化,无需判断存储于本地存储空间的离线数据是否发送成功,若本地存储空间内的离线数据未能成功发送至服务器,则会将未发送成功的离线数据再次保存到本地存储空间中。若没有执行格式化本地存储空间,则可能会造成本地存储中有两个或者多个相同数据内容的数据。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供一种数据发送的装置,如图2所示,该装置包括:
保存单元21,用于将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储所述离线数据;
第一确定单元22,用于在所述保存单元21保存所述离线数据之后,确定所述APP与所述服务器是否建立网络通信连接;
获取单元23,用于当所述第一确定单元22确定所述APP与所述服务器建立所述网络通信连接时,从所述本地存储空间中获取所述离线数据;
发送单元24,用于将所述获取单元23获取的所述离线数据发送到所述服务器。
进一步的,如图3所示,所述保存单元21包括:
转换模块211,用于按照预定规则将所述离线数据转换为字符串,所述字符串中包含所述离线数据、编码标识及发送所述离线数据对应的服务器地址,其中,所述编码标识用于标识离线数据是否编码;
保存模块212,用于将所述转换模块211转化的所述字符串保存到所述本地存储空间。
进一步的,如图3所示,所述获取单元23包括;
第一处理模块231,用于获取并解析所述字符串;
获取模块232,用于获取所述编码标识;
判断模块233,用于根据所述获取模块232获取的所述编码标识判断所述离线数据是否编码;
第二处理模块234,用于当所述判断模块233判断所述离线数据编码时,对所述离线数据进行解码,并获取所述离线数据;
所述获取模块232,还用于当所述判断模块233判断所述离线数据未编码时,获取所述离线数据。
进一步的,如图3所示,所述发送单元24包括:
获取模块241,用于获取发送所述离线数据对应的服务器地址;
发送模块242,用于根据所述获取模块241获取的所述服务器地址将所述离线数据发送到所述服务器地址对应的服务器。
进一步的,如图3所示,所述装置还包括:
判断单元25,在所述保存单元21将所述离线数据保存到应用程序APP的本地存储空间之前,判断所述本地存储空间是否达到存储上限;
删除单元26,当所述判断单元25判断所述本地存储空间达到所述存储上限时,基于所述本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据;
所述保存单元21,还用于当所述删除单元26删除本地存储空间中首个存储位置对应的离线数据之后,将所述离线数据保存到所述本地存储空间;
所述保存单元21,还用于当所述判断单元25判断所述本地存储空间未达到所述存储上限时,将所述离线数据保存到所述本地存储空间。
进一步的,如图3所示,所述删除单元26包括:
确定模块261,用于确定所述首个存储位置对应的离线数据是否为启动数据,所述启动数据为启动APP所必须产生的数据;
处理模块262,用于当所述确定模块261确定所述首个存储位置对应的离线数据为所述启动数据时,获取所述本地存储空间中第二个存储位置对应的离线数据,确定所述第二个存储位置对应的离线数据是否为启动数据,直到确认所述本地存储空间中存储位置对应的离线数据不为所述启动数据为止,并执行删除确认后的所述存储位置对应的不为所述启动数据的离线数据;
删除模块263,用于当所述确定模块261确定所述首个存储位置对应的离线数据不为所述启动数据时,删除所述本地存储空间中首个存储位置对应的所述离线数据。
进一步的,如图3所示,所述装置还包括:
格式化单元27,用于在所述发送单元24将所述离线数据发送到服务器之后,格式化所述本地存储空间。
本发明实施例提供的数据发送的装置,将离线数据保存到应用程序APP的本地存储空间,其中,离线数据为未能成功发送至服务器的数据,确定APP与服务器是否建立网络通信连接,当确定APP与服务器建立网络通信连接时从本地存储空间中获取离线数据,将该离线数据发送至服务器;与现有技术相比,本发明实施例能够将未能发送成功的数据进行存储,当APP与服务器之间有网络通信连接时,将离线数据发送给服务器,实现了离线数据的延迟发送。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据发送的方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种数据发送的方法,其特征在于,包括:
将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储所述离线数据;所述离线数据为访问者的访问行为数据及系统信息数据,所述访问行为数据及所述系统信息数据是所述APP在离线状态下访问网页所形成的数据;
确定所述APP与所述服务器是否建立网络通信连接;
若确定所述APP与所述服务器建立所述网络通信连接,则从所述本地存储空间中获取所述离线数据,并将所述离线数据发送到所述服务器;
在将所述离线数据发送到服务器之后,所述方法还包括:
格式化所述本地存储空间;
若本地存储空间内的离线数据未能成功发送至服务器,则会将未发送成功的离线数据再次保存到本地存储空间中;
在应用程序APP将所述离线数据保存到应用程序APP的本地存储空间之前,所述方法还包括:
判断所述本地存储空间是否达到存储上限;
若达到所述存储上限,则基于所述本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据,并将未能成功发送至服务器的离线数据保存到所述本地存储空间;
基于所述本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据包括:
确定所述首个存储位置对应的离线数据是否为启动数据,所述启动数据为启动APP所必须产生的数据;
若确定所述首个存储位置对应的离线数据为所述启动数据,则获取所述本地存储空间中第二个存储位置对应的离线数据,确定所述第二个存储位置对应的离线数据是否为启动数据,直到确认所述本地存储空间中存储位置对应的离线数据不为所述启动数据为止,并执行删除确认后的所述存储位置对应的不为所述启动数据的离线数据,并将确认后的所述存储位置之后的所有离线数据的存储位置均向前移一个位置,将需要存储的离线数据存储在最后一个存储位置上;
若确定所述首个存储位置对应的离线数据不为所述启动数据,则删除所述本地存储空间中首个存储位置对应的所述离线数据。
2.根据权利要求1所述的方法,其特征在于,将所述离线数据保存到应用程序APP的本地存储空间包括:
将所述离线数据转换为字符串,所述字符串中包含所述离线数据、编码标识及发送所述离线数据对应的服务器地址,其中,所述编码标识用于标识离线数据是否编码;
将所述字符串保存到所述本地存储空间。
3.根据权利要求2所述的方法,其特征在于,从所述本地存储空间中获取所述离线数据包括;
获取并解析所述字符串;
获取所述编码标识,并根据所述编码标识判断所述离线数据是否编码;
若所述离线数据编码,则对所述离线数据进行解码,并获取所述离线数据;
若所述离线数据未编码,则获取所述离线数据。
4.根据权利要求3所述的方法,其特征在于,将所述离线数据发送到所述服务器包括:
获取发送所述离线数据对应的服务器地址;
根据所述服务器地址将所述离线数据发送到所述服务器地址对应的服务器。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在应用程序APP将所述离线数据保存到应用程序APP的本地存储空间之前,所述方法还包括:
若判断所述本地存储空间未达到所述存储上限,则根据所述本地存储空间的存储顺序将所述离线数据保存到所述本地存储空间。
6.一种数据发送的装置,其特征在于,包括:
保存单元,用于将离线数据保存到应用程序APP的本地存储空间;其中,所述离线数据为未能成功发送至服务器的数据,所述本地存储空间用于存储所述离线数据;所述离线数据为访问者的访问行为数据及系统信息数据,所述访问行为数据及所述系统信息数据是所述APP在离线状态下访问网页所形成的数据;
第一确定单元,用于在所述保存单元保存所述离线数据之后,确定所述APP与所述服务器是否建立网络通信连接;
获取单元,用于当所述第一确定单元确定所述APP与所述服务器建立所述网络通信连接时,从所述本地存储空间中获取所述离线数据;
发送单元,用于将所述获取单元获取的所述离线数据发送到所述服务器;
所述装置还包括:
格式化单元,用于在所述发送单元将所述离线数据发送到服务器之后,格式化所述本地存储空间;
所述保存单元,还用于若本地存储空间内的离线数据未能成功发送至服务器,则会将未发送成功的离线数据再次保存到本地存储空间中;
所述装置还包括:
判断单元,在所述保存单元将所述离线数据保存到应用程序APP的本地存储空间之前,判断所述本地存储空间是否达到存储上限;
删除单元,当所述判断单元判断所述本地存储空间达到所述存储上限时,基于所述本地存储空间的存储顺序删除本地存储空间中首个存储位置对应的离线数据;
所述保存单元,还用于当所述删除单元删除本地存储空间中首个存储位置对应的离线数据之后,将未能成功发送至服务器的保存到所述本地存储空间;
所述删除单元包括:
确定模块,用于确定所述首个存储位置对应的离线数据是否为启动数据,所述启动数据为启动APP所必须产生的数据;
处理模块,用于当所述确定模块确定所述首个存储位置对应的离线数据为所述启动数据时,获取所述本地存储空间中第二个存储位置对应的离线数据,确定所述第二个存储位置对应的离线数据是否为启动数据,直到确认所述本地存储空间中存储位置对应的离线数据不为所述启动数据为止,并执行删除确认后的所述存储位置对应的不为所述启动数据的离线数据,并将确认后的所述存储位置之后的所有离线数据的存储位置均向前移一个位置,将需要存储的离线数据存储在最后一个存储位置上;
删除模块,用于当所述确定模块确定所述首个存储位置对应的离线数据不为所述启动数据时,删除所述本地存储空间中首个存储位置对应的所述离线数据。
7.根据权利要求6所述的装置,其特征在于,所述保存单元包括:
转换模块,用于将所述离线数据转换为字符串,所述字符串中包含所述离线数据、编码标识及发送所述离线数据对应的服务器地址,其中,所述编码标识用于标识离线数据是否编码;
保存模块,用于将所述转换模块转化的所述字符串保存到所述本地存储空间。
8.根据权利要求7所述的装置,其特征在于,所述获取单元包括;
第一处理模块,用于获取并解析所述字符串;
获取模块,用于获取所述编码标识;
判断模块,用于根据所述获取模块获取的所述编码标识判断所述离线数据是否编码;
第二处理模块,用于当所述判断模块判断所述离线数据编码时,对所述离线数据进行解码,并获取所述离线数据;
所述获取模块,还用于当所述判断模块判断所述离线数据未编码时,获取所述离线数据。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求5中任意一项所述的数据发送的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求5中任意一项所述的数据发送的方法。
CN201510590153.0A 2015-09-16 2015-09-16 数据发送的方法及装置 Active CN106547746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510590153.0A CN106547746B (zh) 2015-09-16 2015-09-16 数据发送的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510590153.0A CN106547746B (zh) 2015-09-16 2015-09-16 数据发送的方法及装置

Publications (2)

Publication Number Publication Date
CN106547746A CN106547746A (zh) 2017-03-29
CN106547746B true CN106547746B (zh) 2021-03-30

Family

ID=58362644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510590153.0A Active CN106547746B (zh) 2015-09-16 2015-09-16 数据发送的方法及装置

Country Status (1)

Country Link
CN (1) CN106547746B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489484B (zh) * 2019-07-11 2022-07-05 视联动力信息技术股份有限公司 数据同步方法、装置、可读存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043519A (zh) * 2006-03-21 2007-09-26 汤淼 网络存储系统
CN101582841A (zh) * 2008-05-15 2009-11-18 北京师范大学 一种基于移动存储设备和业务包的Web数据耦合方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100514968C (zh) * 2005-10-11 2009-07-15 华为技术有限公司 离线消息的处理方法和即时消息服务器
CN102045373B (zh) * 2009-10-10 2012-09-26 中兴通讯股份有限公司 一种支持数据报文主动推送能力的实现方法及系统
CN102842095A (zh) * 2012-07-13 2012-12-26 Tcl集团股份有限公司 一种应用程序购买方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043519A (zh) * 2006-03-21 2007-09-26 汤淼 网络存储系统
CN101582841A (zh) * 2008-05-15 2009-11-18 北京师范大学 一种基于移动存储设备和业务包的Web数据耦合方法和系统

Also Published As

Publication number Publication date
CN106547746A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
US7536445B2 (en) Enabling a web-crawling robot to collect information from web sites that tailor information content to the capabilities of accessing devices
CN105282010B (zh) 信息分享的处理方法、装置和服务器
US9027837B2 (en) Method of recognizing QR code in image data and apparatus and method for converting QR code in content data into touchable object
CN102567485B (zh) 用于内容检索的提供商专用解析
CN110851680B (zh) 网络爬虫识别方法和装置
CN105611607B (zh) 实现合并多个WiFi的方法及实现WiFi连接的方法及系统
US20150215372A1 (en) Information Sharing Method and System
CN107040584B (zh) 客户端下载图片的方法及装置
CN105897888B (zh) 一种客户端连接方法及系统
CN106534268B (zh) 一种数据共享方法及装置
US9208392B2 (en) Methods and apparatus for progressive pattern matching in a mobile environment
CN107276842B (zh) 接口测试方法、装置及电子设备
CN111008405A (zh) 一种基于文件Hash的网站指纹识别方法
CN104021154B (zh) 一种在浏览器中进行搜索的方法和装置
CN102819698A (zh) 检测网页中恶意代码的方法及装置
CN105550179A (zh) 一种网页收藏方法和浏览器插件
CN105592169B (zh) 终端识别方法及装置
CN106844479B (zh) 文件的压缩、解压方法及装置
CN104023046A (zh) 移动终端识别方法和装置
CN110135163B (zh) 一种基于目标应用的安全检测方法、装置及系统
CN109788050B (zh) 一种获取源站ip地址方法、系统、电子设备和介质
CN106547746B (zh) 数据发送的方法及装置
CN105824523A (zh) 一种下载应用软件的方法及移动终端
CN103491393B (zh) 一种视频业务处理方法及设备
CN112269666A (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

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant